@emailmaker/emailmaker 1.3.2 → 1.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/emailmaker-core.87ebe001.js +859 -0
  2. package/emailmaker-esm.js +11 -11
  3. package/{emailmaker-po.b63d7b8b.js → emailmaker-po.87ebe001.js} +1 -1
  4. package/emailmaker.d.ts +4 -1
  5. package/emailmaker.js +12 -12
  6. package/iframe/.vite/manifest.json +4 -4
  7. package/iframe/{iframe-eblock.b63d7b8b.html → iframe-eblock.87ebe001.html} +2 -2
  8. package/iframe/{iframe.b63d7b8b.html → iframe.87ebe001.html} +2 -2
  9. package/iframe/js/{elMarkupHelper.C4wWAApZ.js → elMarkupHelper.CO37NCd9.js} +74 -74
  10. package/iframe/js/{iframe-eblock.body.b63d7b8b.js → iframe-eblock.body.87ebe001.js} +1 -1
  11. package/iframe/js/iframe-eblock.js +2 -2
  12. package/iframe/js/{iframe.body.b63d7b8b.js → iframe.body.87ebe001.js} +10 -10
  13. package/iframe/js/iframe.js +2 -2
  14. package/package.json +1 -1
  15. package/runtime/react/index.js +1 -1
  16. package/static/core/{89fb48c9.js → 122c5ed9.js} +1 -1
  17. package/static/core/{86e5503b.js → 2269bf04.js} +1 -1
  18. package/static/core/{66a5de32.js → 27599903.js} +1 -1
  19. package/static/core/{fa6f5198.js → 27986c36.js} +1 -1
  20. package/static/core/{69842511.js → 312fb954.js} +1 -1
  21. package/static/core/32e15918.js +1 -0
  22. package/static/core/{9f6b8cdd.js → 489390a3.js} +1 -1
  23. package/static/core/{d402573d.js → 4cdd6e6c.js} +1 -1
  24. package/static/core/{5e13bbc1.js → 5afad425.js} +1 -1
  25. package/static/core/{4f63baad.js → 5ebf9f1e.js} +1 -1
  26. package/static/core/{f85176c7.js → 67cc6cb2.js} +1 -1
  27. package/static/core/{8fdd9471.js → 75a2537a.js} +1 -1
  28. package/static/core/{6319e32c.js → 7601732d.js} +1 -1
  29. package/static/core/76163cc7.js +2 -0
  30. package/static/core/{cd715a88.js → 78916fed.js} +1 -1
  31. package/static/core/{4fef179c.js → 79e13595.js} +1 -1
  32. package/static/core/{7a9faff8.js → 81a16991.js} +1 -1
  33. package/static/core/{d0d2525d.js → 81c0d133.js} +1 -1
  34. package/static/core/{40574d12.js → 81cc5690.js} +1 -1
  35. package/static/core/{e2694475.js → 87c47034.js} +2 -2
  36. package/static/core/{85accd9c.js → 8cebeef2.js} +1 -1
  37. package/static/core/{a6518f19.js → 9a7e933e.js} +1 -1
  38. package/static/core/{aea50cd5.js → a15ab3fe.js} +1 -1
  39. package/static/core/{253d6f68.js → afb0d556.js} +2 -2
  40. package/static/core/{bb58b8a1.js → b8941eda.js} +14 -14
  41. package/static/core/{32a14159.js → c8c233fb.js} +1 -1
  42. package/static/core/{3a876cdd.js → d8175c7f.js} +1 -1
  43. package/static/core/{a9d62c49.js → d833a29f.js} +1 -1
  44. package/static/esm/9610f2de.js +1 -0
  45. package/static/esm/f76c9d9d.js +1 -1
  46. package/static/umd-runtime/{runtime.9w1dxMVc.js → runtime.BHEKxbjr.js} +1 -1
  47. package/vendor/@emailmaker/ui-kit/package.json +1 -1
  48. package/vite/pluginDev/index.cjs +10 -2
  49. package/vite/pluginDev/index.js +10 -2
  50. package/webpack/pluginDev/index.cjs +10 -1
  51. package/webpack/pluginDev/index.js +10 -1
  52. package/emailmaker-core.b63d7b8b.js +0 -859
  53. package/static/core/c266ad76.js +0 -1
  54. package/static/core/e8edbf21.js +0 -2
  55. package/static/esm/74f083c2.js +0 -1
@@ -0,0 +1,859 @@
1
+ __emailmaker__.define("static/core/5dc34752.js",["require","exports","module"],function(M,o,w){var p=Object.create,_=Object.defineProperty,b=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,O=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,v=(e,t,r)=>()=>{if(r)throw r[0];try{return e&&(t=e(e=0)),t}catch(n){throw r=[n],n}},P=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),g=(e,t)=>{let r={};for(var n in e)_(r,n,{get:e[n],enumerable:!0});return t||_(r,Symbol.toStringTag,{value:"Module"}),r},c=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(var i=f(t),l=0,m=i.length,u;l<m;l++)u=i[l],!a.call(e,u)&&u!==r&&_(e,u,{get:(y=>t[y]).bind(null,u),enumerable:!(n=b(t,u))||n.enumerable});return e},j=(e,t,r)=>(r=e!=null?p(O(e)):{},c(t||!e||!e.__esModule||!a.call(e,"default")?_(r,"default",{value:e,enumerable:!0}):r,e)),s=e=>a.call(e,"module.exports")?e["module.exports"]:c(_({},"__esModule",{value:!0}),e);Object.defineProperty(o,"__commonJSMin",{enumerable:!0,get:function(){return P}}),Object.defineProperty(o,"__esmMin",{enumerable:!0,get:function(){return v}}),Object.defineProperty(o,"__exportAll",{enumerable:!0,get:function(){return g}}),Object.defineProperty(o,"__toCommonJS",{enumerable:!0,get:function(){return s}}),Object.defineProperty(o,"__toESM",{enumerable:!0,get:function(){return j}})});
2
+
3
+ __emailmaker__.define("static/core/ee980948.js",["require","exports","module"],function(ho,u,fo){function Ie(e){return function(t){return{setOptions:()=>{},instance:{},dispose:()=>{},...e(t)||{}}}}function Mt(e){return t=>{const r={},n=[];for(const i of e)n.push(i(t));for(const i of n)Object.assign(r,i.instance);return{instance:r,setOptions:async i=>{for(const c of n)await c.setOptions(i)},dispose:()=>{for(const i of n)i.dispose()}}}}var v=class $t{_inner;_isDisposed=!1;constructor(t=[]){this._inner=t}addDisposable(t){return this._inner.push(t),t instanceof $t&&t.addDispose(()=>{this.removeDisposable(t)}),t}addDispose(t){this.addDisposable({dispose:t})}removeDisposable(t){const r=this._inner.indexOf(t);r>=0&&this._inner.splice(r,1)}isDisposed(){return this._isDisposed}dispose(){if(!this._isDisposed){this._isDisposed=!0;for(const t of[...this._inner])t.dispose()}}};function B(e){return`service_container_${e}`}var N=new Set,z;function Ft(){if(!z)return;const e=new Error("getInstanceAsync"),t=Error;return typeof t.captureStackTrace=="function"&&t.captureStackTrace(e,ee.prototype.getInstanceAsync),e.stack}function Z(e){N.delete(e)&&z?.end(e)}var ee=class Te extends v{_parent;_injectCallbacks=[];_injections=Object.create(null);_runCallbacks(t){[...this._injectCallbacks].forEach(r=>r(t))}constructor(t=null){super(),this._parent=t,t&&this.addDisposable(t.onInject(r=>this._runCallbacks(r)))}onInject=t=>(this._injectCallbacks.push(t),{dispose:()=>{const r=this._injectCallbacks.indexOf(t);r>=0&&this._injectCallbacks.splice(r,1)}});inject(t,r){this._injections[t]=()=>r,this._runCallbacks(t)}injectFactory(t,r,n){const s=this._injections[t];let o=typeof s=="function"?s():s;const i=this._injections[t]=()=>(o=r(this,o),o);n&&i(),this._runCallbacks(t)}_find(t,r=!0){return this._injections[t]||r&&this._parent?._find(t)}_onInject(t,r,n=new v){return n.addDisposable(this.onInject(s=>{t===s&&!n.isDisposed()&&(n.dispose(),r(this.getInstance(s)))})),this._parent&&n.addDisposable(this._parent._onInject(t,r,n)),this.addDisposable(n),n}getInstance(t,r=!0){const n=this._find(t,r);if(typeof n=="function")return n()}getOrCreateInstance(t,r){const n=this._find(t);if(typeof n=="function")return n();const s=r(this);return this.inject(t,s),s}getInstanceAsync(t){const r=this._find(t);if(typeof r=="function")return Promise.resolve(r());const n=Ft();return new Promise((s,o)=>{const i={id:String(t),startedAt:Date.now(),origin:n,container:this,reject:o};N.add(i),z?.start(i),this._onInject(t,()=>{Z(i),s(this.getInstance(t))})})}failPendingWaits(t){for(const r of Array.from(N))r.container===this&&(Z(r),r.reject(t))}pendingWaits(){return[...N].filter(t=>t.container===this)}addService(t,r){const n=B(t);this.injectFactory(n,(o,i=[])=>i.indexOf(r)<0?[...i,r]:i);const s=new v;return s.addDispose(()=>{this.injectFactory(n,(o,i=[])=>i.filter(c=>c!==r))}),s}addServiceFactory(t,r,n){const s=B(t);let o;this.injectFactory(s,(c,a=[])=>(o=r(c,o),o===void 0?a:a.indexOf(o)<0?[...a,o]:a),n);const i=new v;return i.addDispose(()=>{this.injectFactory(s,(c,a=[])=>o===void 0?a:a.filter(l=>l!==o))}),i}getServices(t){const r=B(t);return[...this.getInstance(r,!1)||[],...this._parent?.getServices(t)||[]]}createChild(){return new Te(this)}getOrCreateIsolatedContainer(t){return this.getOrCreateInstance(t,()=>{const r=this._parent?.getOrCreateIsolatedContainer(t);return new Te(r)})}remove(t){const r=this._injections;delete r[String(t)]}injectListenerCount(){return this._injectCallbacks.length}dispose(){for(const t of Array.from(N))t.container===this&&Z(t);this._injections=Object.create(null),this._injectCallbacks=[],super.dispose()}};function te(e){return e.startsWith("__")?e:`__${e}__`}function Bt(e){if(typeof globalThis>"u")throw new Error("[di] globalThis is required for namespace container access.");const t=te(e),r=globalThis;return r[t]??={}}function Gt(e){return e!=null&&typeof e=="object"&&typeof e.inject=="function"&&typeof e.getInstance=="function"}function Ht(e){if(e)return te(e);const t="emailmaker".trim();if(!t)throw new Error("[di] REACT_APP_NAME is required for resolveContainer().");return te(t)}function Ae(e){const t=Ht(e),r=Bt(t);if(Gt(r.container))return r.container;const n=new ee(null);return r.container=n,n}function Wt(e){return Ae(e)}function Vt(){let e=new Date().getTime(),t=typeof performance<"u"&&performance.now&&performance.now()*1e3||0;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(r){let n=Math.random()*16;return e>0?(n=(e+n)%16|0,e=Math.floor(e/16)):(n=(t+n)%16|0,t=Math.floor(t/16)),(r==="x"?n:n&3|8).toString(16)})}function Pe(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Vt()}function p(e=Pe()){return e}function Se(){return"core".trim()||"unknown"}function Kt(e){if(typeof globalThis>"u")return;const t=Se(),r=globalThis[e]??{};globalThis[e]=r;const n=r.__diagnostics??={},s=n.diModuleEval??={evalCount:0,records:[]};s.records.push({buildSource:t,timestamp:Date.now(),stack:new Error().stack}),s.evalCount+=1}function Yt(){const e="emailmaker".trim();if(!e)throw new Error("[di] REACT_APP_NAME is required for DependencyResolver diagnostics.");return`__${e}__`}function Jt(e,t){if(Kt(t),typeof globalThis>"u")return e;const r=Se(),n=globalThis,s=n[t]=n[t]||{},o=s.__diagnostics=s.__diagnostics||{},i=o.dependencyResolver=o.dependencyResolver||{entries:[]},c={container:e,source:"packages/runtime-core/di/index.ts",buildSource:r,timestamp:Date.now(),stack:new Error().stack};return i.entries.push(c),e}var G;function Xt(){if(G)return G;const e=Yt();return G=Jt(Ae(e),e),G}var re=new Proxy({},{get(e,t,r){const n=Xt(),s=Reflect.get(n,t,r);return typeof s=="function"?s.bind(n):s}}),De=class extends v{_options;_listeners=[];constructor(e={}){super(),this._options=e}getListeners(e){return this._listeners.flatMap(([t])=>typeof t=="function"?t:t.getListeners(e))}hasListeners(){for(const[e]of this._listeners){if(typeof e=="function")return!0;const t=e;if(typeof t.hasListeners=="function"){if(t.hasListeners())return!0;continue}return!0}return!1}_addListener(e,t=0,r){if(this.isDisposed())return{dispose:()=>{}};const n=this._listeners,s=this._options;r&&typeof e=="function"&&(e=e.bind(r));const o=n.findIndex(([,c])=>c<t),i=[e,t];return n.splice(o>=0?o:n.length,0,i),n.length===1&&s.onFirstListenerAdd&&s.onFirstListenerAdd(),{dispose:()=>{const c=n.indexOf(i);c>=0&&(n.splice(c,1),!n.length&&s.onLastListenerRemove&&s.onLastListenerRemove())}}}on=this._addListener.bind(this);event=this._addListener.bind(this);once=(e,t=0,r)=>{const n=this._addListener((...s)=>(n?.dispose(),r?e.call(r,...s):e(...s)),t);return n};un=e=>{const t=this._listeners.findIndex(([r])=>r===e);t>=0&&(this._listeners.splice(t,1),this._listeners.length===0&&this._options.onLastListenerRemove&&this._options.onLastListenerRemove())};dispose(){this._listeners.splice(0,this._listeners.length),this._options.onLastListenerRemove&&this._options.onLastListenerRemove(),super.dispose()}},R=class extends De{execute(e,t){for(const r of t)try{r(...e)}catch{}}fire(...e){if(!this.isDisposed()){const t=this.execute(e,this.getListeners(e));return t===void 0?void 0:t}}},Qt=class extends R{execute([e],t){for(const r of t)try{r(e)}catch{}}},zt=class extends R{_suspendCounter=0;_wasFired=!1;execute([e],t){if(this._suspendCounter)this._wasFired=!0;else for(const r of t)try{r(e)}catch{}}suspend(){this._suspendCounter++}resume(){--this._suspendCounter===0&&this._wasFired&&(this.fire(),this._wasFired=!1)}},ne=class extends R{async execute([e],t){const r=[];for(const n of t)try{r.push(await n(e))}catch{}return r}async fireSettled(e){const t={results:[],errors:[]};if(this.isDisposed())return t;for(const r of this.getListeners([e]))try{t.results.push(await r(e))}catch(n){t.errors.push(n)}return t}};function Zt(e,t=0){const r=new De,n=e(r,t);return n&&r.addDisposable(n),r.event}function er(e,t,r=0){const n=new R,s=e((...o)=>{if(t(...o))return n.fire(...o)},r);return s&&n.addDisposable(s),n.event}function f(e){return p(e)}var se;(function(e){e.BEFORE_SAVE_EMAIL=f("events.BEFORE_SAVE_EMAIL"),e.ON_SAVEBUTTON_CLICK_ID=f("events.ON_SAVEBUTTON_CLICK_ID"),e.ON_NEXTBUTTON_CLICK_ID=f("events.ON_NEXTBUTTON_CLICK_ID"),e.ON_PREVIOUSBUTTON_CLICK_ID=f("events.ON_PREVIOUSBUTTON_CLICK_ID"),e.ON_DOCUMENT_SESSION_CHANGE=f("events.ON_DOCUMENT_SESSION_CHANGE"),e.WILL_EMAIL_INIT_ID=f("events.WILL_EMAIL_INIT_ID"),e.ON_EMAIL_INIT_ID=f("events.ON_EMAIL_INIT_ID"),e.ON_BLOCK_INIT_ID=f("events.ON_BLOCK_INIT_ID"),e.ON_CONTENT_CHANGED_ID=f("events.ON_CONTENT_CHANGED_ID"),e.ON_PREHEADER_CHANGED_ID=f("events.ON_PREHEADER_CHANGED_ID"),e.ON_SUBJECT_CHANGED_ID=f("events.ON_SUBJECT_CHANGED_ID"),e.ON_EMAIL_CHANGED_ID=f("events.ON_EMAIL_CHANGED_ID"),e.ON_BLOCK_CHANGED_ID=f("events.ON_BLOCK_CHANGED_ID"),e.ON_BLOCK_OPEN_ID=f("events.ON_BLOCK_OPEN_ID"),e.ON_BLOCK_CLOSE_ID=f("events.ON_BLOCK_CLOSE_ID"),e.OPEN_BLOCK_REQUEST_ID=f("events.OPEN_BLOCK_REQUEST_ID"),e.ON_BLOCK_SAVEBUTTON_CLICK_ID=f("events.ON_BLOCK_SAVEBUTTON_CLICK_ID"),e.ON_BLOCK_CLONE_ID=f("events.ON_BLOCK_CLONE_ID"),e.ON_CHUNKS_LOADED=f("events.ON_CHUNKS_LOADED"),e.ON_SEND_TESTEMAIL_ID=f("events.ON_SEND_TESTEMAIL_ID"),e.ON_SEND_LIVEPREVIEW_ID=f("events.ON_SEND_LIVEPREVIEW_ID"),e.ON_SHARE_ID=f("events.ON_SHARE_ID"),e.ON_SHOW_PREVIEW_ID=f("events.ON_SHOW_PREVIEW_ID"),e.ON_EMAIL_CLONE_ID=f("events.ON_EMAIL_CLONE_ID"),e.ON_SEND_EMAIL_MODAL_ID=f("events.ON_SEND_EMAIL_MODAL_ID"),e.ON_ANALYTICS_EVENT=f("events.ON_ANALYTICS_EVENT"),e.ON_NOTIFICATION=f("events.ON_NOTIFICATION"),e.READ_LOCALE=f("events.READ_LOCALE"),e.ON_TRANSLATE_ID=f("events.ON_TRANSLATE_ID"),e.ON_CODE_VALIDATE_ID=f("events.ON_CODE_VALIDATE_ID"),e.ON_IMPORT_VALIDATE_ID=f("events.ON_IMPORT_VALIDATE_ID"),e.UPLOAD_EVENT_ID=f("events.UPLOAD_EVENT_ID"),e.PROXY_URL_EVENT_ID=f("events.PROXY_URL_EVENT_ID"),e.FILE_PROXY_EVENT_ID=f("events.FILE_PROXY_EVENT_ID"),e.ON_LIMIT_ID=f("events.ON_LIMIT_ID"),e.ON_BROWSER_EXTENSION_DETECTED_ID=f("events.ON_BROWSER_EXTENSION_DETECTED_ID"),e.ON_LAYOUT_CONVERT_REQUEST_ID=f("events.ON_LAYOUT_CONVERT_REQUEST_ID"),e.ON_BROWSER_TRANSLATE_DETECTED_ID=f("events.ON_BROWSER_TRANSLATE_DETECTED_ID"),e.AI_TEXT_REQUEST_ID=f("events.AI_TEXT_REQUEST_ID"),e.AI_IMAGE_REQUEST_ID=f("events.AI_IMAGE_REQUEST_ID"),e.AI_TEXT_PROGRESS_ID=f("events.AI_TEXT_PROGRESS_ID"),e.AI_IMAGE_PROGRESS_ID=f("events.AI_IMAGE_PROGRESS_ID"),e.AI_TEXT_STREAM_ID=f("events.AI_TEXT_STREAM_ID")})(se||(se={}));function tr(e,t){return e.getOrCreateInstance(t,()=>new ne).event}function rr(e,t){return e.getOrCreateInstance(t,()=>new ne)}var nr="Not implemented in plugin",sr=p("plugin.app"),or=p("plugin.disposable"),ir=p("InitPipelineContext"),ar=p("plugin.instance"),po=p("plugin.lateSurfaceListeners"),we=p("plugin.optionsSource"),cr=p("plugin.store"),Ce=p("ConfigSource"),ur=p("plugin.standalone.project"),je=p("plugin.standalone.bootstrapToken"),_o=p("plugin.element"),Ne=p("plugin.securityModule"),dr=p("plugin.standalone.activated"),lr=p("plugin.standalone.fileProxyRegistered"),hr=p("plugin.jwt.token"),fr=p("plugin.jwt.error"),pr=p("PluginCollection"),mo=f("APP_LOAD_EVENT"),_r=f("CONFIG_CHANGED_EVENT");function w(e){if(e instanceof DOMException&&e.name==="AbortError")return e;const 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 mr(e){return e instanceof DOMException&&e.name==="AbortError"}function oe(e){if(e?.aborted)throw w(e.reason)}function yr(e,t){return t?(t.aborted&&e.catch(()=>{}),oe(t),new Promise((r,n)=>{const s=()=>{o(),n(w(t.reason))},o=()=>{t.removeEventListener("abort",s)};t.addEventListener("abort",s),e.then(i=>{o(),r(i)},i=>{o(),n(i)})})):e}function Er(e){return typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(e):e.replace(/([^a-zA-Z0-9_-])/g,"\\$1")}function ie(e,t=document){try{const n=t.querySelector(e);if(n)return n}catch{return null}const r=t.querySelectorAll("*");for(let n=0;n<r.length;n++){const s=r[n]?.shadowRoot;if(!s)continue;const o=ie(e,s);if(o)return o}return null}function Re(e,t=[]){const r=e.querySelectorAll("*");for(let n=0;n<r.length;n++){const s=r[n]?.shadowRoot;s&&(t.push(s),Re(s,t))}return t}function gr(e,t,r){if(e.isConnected)return e;const n=e.id?.trim();return n?Le(`#${Er(n)}`,t,r):Promise.reject(w("Editor mount element was disconnected and has no id — pass a CSS selector or call init() again after the host remounts the container."))}function Le(e,t,r){if(oe(r),typeof e<"u"){if(typeof e=="string"){const n=e,s=ie(n);if(s)return s;const o=t.addDisposable(new v);return new Promise((i,c)=>{const a=E=>{o.dispose(),E()},l=()=>{a(()=>c(w(r?.reason)))};if(r?.aborted){l();return}r?.addEventListener("abort",l),o.addDispose(()=>r?.removeEventListener("abort",l));const h=document.body??document.documentElement;if(!h){a(()=>c(w("Document is not ready to observe mount element")));return}const _=new Set,y=new MutationObserver(()=>{const E=ie(n);if(E){a(()=>i(E));return}b()}),m=E=>{_.has(E)||(_.add(E),y.observe(E,{attributes:!0,childList:!0,subtree:!0}))},b=()=>{const E=document.documentElement;if(E)for(const P of Re(E))m(P)};m(h),b(),o.addDispose(()=>y.disconnect())})}return e instanceof Element?gr(e,t,r):e}return e}var br=new Map;function vr(e,t=window){return{peer:e,send(r){e.postMessage(r,"*")},subscribe(r){const n=s=>{r({data:s.data,source:s.source,ports:s.ports})};return t.addEventListener("message",n),{dispose:()=>t.removeEventListener("message",n)}},close(){}}}function Or(e){let t=!1;return{peer:e,send(r){e.postMessage(r)},subscribe(r){const n=s=>{r({data:s.data,source:e})};return e.addEventListener("message",n),t||(t=!0,e.start()),{dispose:()=>e.removeEventListener("message",n)}},close(){e.close()}}}function Tr(e){return e}function Ir(e){return e&&typeof e=="object"}function Ue(e,t){return e&&typeof e=="object"&&e.operationId===t}var T="INIT_MESSAGE",Ar="em:port-ready",Pr="em:window-drained",ae="";function qe(){return Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15)}var Sr=class extends v{_listeners=Object.create(null);addListenerAsync=(e,t,r=0,n)=>{const s=this._listeners[e]||(this._listeners[e]=[]);n&&typeof t=="function"&&(t=t.bind(n));const o=s.findIndex(([c,a])=>r<=a),i=[t,r];return this.isDisposed()||s.splice(o>=0?o:s.length,0,i),{dispose(){const c=s.indexOf(i);c>=0&&s.splice(c,1)}}};fireAsync=(e,t)=>{if(!this.isDisposed()){const r=this._listeners[e]||(this._listeners[e]=[]);let n;for(let s=0;s<r.length;s++){const o=r[s][0],i=n;n=c=>o(c,i)}if(n)return n(t)}};addListener=(e,t,r=0)=>this.addListenerAsync(e,(n,s)=>{try{t(n)}catch{}return s&&s(n)},r)},Dr=class extends v{_singleton;_target;_transport;_transportSubscription;_ports=new Map;_drained=new WeakSet;_portSendHeld=new WeakSet;_inited=!1;_emitter=this.addDisposable(new Sr);_handshaken=new WeakSet;_greeted=new WeakSet;_outgoingFilter;_outgoingObservers=new Set;_offTargetListeners=new Map;constructor(e,t){super(),this._singleton=t,this._transport=vr({postMessage:()=>{}},window),this._transportSubscription=this.addDisposable(this._transport.subscribe(this._onTransportMessage)),this.addListener(T,()=>{this._inited||(this._inited=!0,this._target&&this._handshaken.add(this._target),this.send(T))}),e&&this.setTarget(e)}_onTransportMessage=e=>{const t=e,r=t.data,n=t.source,s=r?.port===!0?t.ports?.[0]:void 0,o=!this._isPortSource(t.source);if(o&&n&&r?.operationId==="em:window-drained"){this._ports.has(n)&&this._drained.add(n);return}if(o&&n&&this._drained.has(n))return;if(n&&n!==this._target&&this._greeted.has(n)&&Ue(r,T)){this._greeted.delete(n),this._handshaken.add(n),this._postMessage(n,{operationId:T,data:{}}),s&&this.usePort(s,!0,n);return}const i=t.source===this.target||this._isCurrentPort(t.source);if(i||this._notifyOffTarget(r?.operationId,t.source),Ir(r)&&i||this._singleton&&Ue(r,T)){if(s&&i){const h=this._target;Promise.resolve().then(()=>this.usePort(s,!0,h))}const c=this._emitter.fireAsync(r.operationId||ae,r.operationId===void 0?t:r.data),a=r.result,l=r.error;a&&l&&Promise.resolve(c).then(h=>this._sendMessage(a,h),h=>this._sendMessage(l,h))}};setTarget(e){if(this._target!==e){if(this._target=e,!e){this._inited=!1;return}if(this._handshaken.has(e)){this._inited=!0,this._emitter.fireAsync(T,void 0);return}this._inited=!1,this._postMessage(e,{operationId:T,data:{}})}}sendPort(e,t){this._postMessage(e,{operationId:T,data:{},port:!0},[t])}observeOutgoing(e){return this._outgoingObservers.add(e),{dispose:()=>{this._outgoingObservers.delete(e)}}}_notifyOutgoing(e,t){for(const r of Array.from(this._outgoingObservers))try{r(e,t)}catch{}}addOffTargetListener(e,t){let r=this._offTargetListeners.get(e);return r||(r=new Set,this._offTargetListeners.set(e,r)),r.add(t),{dispose:()=>{r.delete(t)}}}_notifyOffTarget(e,t){const r=typeof e=="string"?this._offTargetListeners.get(e):void 0,n=r?.size?this._knownPeer(t):void 0;if(!(!r||!n))for(const s of Array.from(r))try{s(n)}catch{}}_knownPeer(e){for(const[r,n]of this._ports)if(n.transport.peer===e)return r;const t=e;return typeof e=="object"&&e!==null&&(this._handshaken.has(t)||this._greeted.has(t))?t:void 0}setOutgoingFilter(e){return this._outgoingFilter=e,()=>{this._outgoingFilter===e&&(this._outgoingFilter=void 0)}}sendNow(e){const t=this._target;return!this._inited||!t?!1:(this._postMessage(t,e),!0)}greet(e){this._handshaken.has(e)||this._greeted.has(e)||this._target===e||(this._greeted.add(e),this._postMessage(e,{operationId:T,data:{}}))}forget(e){this._handshaken.delete(e),this._greeted.delete(e),this._closePort(e),this._drained.delete(e),this._target===e&&(this._inited=!1)}usePort(e,t=!1,r=this._target){if(!r||this._ports.has(r))return;const n=Or(e),s=n.subscribe(this._onTransportMessage);this._ports.set(r,{transport:n,subscription:s}),t&&(n.send({operationId:Ar,data:{}}),this.drainWindow(r))}holdPort(e=this._target){!e||!this._ports.has(e)||(this._portSendHeld.add(e),this._drained.delete(e))}resumePort(e=this._target){e&&this._portSendHeld.delete(e)}useWindow(e=this._target){e&&(this._closePort(e),this._drained.delete(e))}get usesPort(){return this._target!==void 0&&this._ports.has(this._target)&&!this._portSendHeld.has(this._target)}hasPort(e,t){const r=this._ports.get(e);return r!==void 0&&(t===void 0||r.transport.peer===t)}_closePort(e){const t=this._ports.get(e);t&&(t.subscription.dispose(),t.transport.close(),this._ports.delete(e),this._portSendHeld.delete(e))}drainWindow(e){this._ports.has(e)&&e.postMessage({operationId:Pr,data:{}},"*")}isWindowDrained(e){return this._drained.has(e)}_isPortSource(e){for(const t of this._ports.values())if(t.transport.peer===e)return!0;return!1}_isCurrentPort(e){return this._target!==void 0&&this._ports.get(this._target)?.transport.peer===e}getTarget(){return this._target}get target(){return this._target}_postMessage(e,t,r){let n=t;this._outgoingFilter&&!r?.length&&(n="data"in t?{...t,data:this._outgoingFilter(t.data)}:this._outgoingFilter(t));try{const s=this._ports.get(e);if(s&&!this._portSendHeld.has(e)){s.transport.send(n);return}if(r?.length){e.postMessage(n,"*",r);return}e.postMessage(n,"*")}catch(s){if(s?.name==="DataCloneError"){const o=typeof n?.data=="object"&&n?.data!==null?n.data:void 0}throw s}}_sendMessage(e,t,r=!0){if(!r&&!this.isInited())return;e&&this._notifyOutgoing(e,t);const n=this.addDisposable(this.onInit(s=>{const o=e?{operationId:e,data:t}:t;try{this._postMessage(s,{...o})}finally{n.dispose()}}))}send(e,t,r){return typeof e=="string"?this._sendMessage(e,t,r):this._sendMessage(ae,e,t)}sendAsync(e,t,r=!0){if(!r&&!this.isInited())return Promise.resolve();this._notifyOutgoing(e,t);const n=qe(),s=qe();return new Promise((o,i)=>{const c=this.addDisposable(new v);c.addDisposable(this.onInit(a=>{try{this._postMessage(a,{operationId:e,data:t,result:n,error:s})}catch(l){c.dispose(),i(l);return}c.addDisposable(this._onMessage(n,l=>{o(l),c.dispose()})),c.addDisposable(this._onMessage(s,l=>{i(l),c.dispose()}))}))})}_onMessage(e,t,r=0){return this._emitter.addListener(e,t,r)}addListener(e,t,r){return t?this._onMessage(e,t,r):this._onMessage(ae,e)}addListenerAsyncPipe(e,t,r=0){return this._emitter.addListenerAsync(e,t,r)}addListenerAsync(e,t,r=0){return this._emitter.addListenerAsync(e,async(n,s)=>{const o=await t(n);return s?s(n):o},r)}isInited(){return this._inited}get inited(){return this._inited}onInit(e,t=!0,r=0){const n=this.addDisposable(new v);return this._inited&&this._target?t&&Promise.resolve().then(()=>{!this._inited||!this._target?n.addDisposable(this.onInit(e,t,r)):e(this._target)}):n.addDisposable(this._onMessage(T,()=>{e(this._target)},r)),n}dispose(){for(const e of Array.from(this._ports.keys()))this._closePort(e);this._transport.close(),super.dispose()}},xe="INJECTION";function ce(e){return e.getState}function ke(e){if(ce(e)){const t=e.getState()[xe];return t&&re.getOrCreateInstance(t,()=>re.createChild())}else return e}function wr(e,t){for(const r of e)if(r&&t in r)return r[t]}var $e=["generic","stockImages","emFiles","cdn"];function Me(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Fe(e){return!Me(e)||"match"in e||"rewrite"in e||"proxyBase"in e?!1:Object.keys(e).some(t=>$e.includes(t))}function Be(e){return e.length===0?[]:e.length===1?e[0]:e}function Cr(e){let t=!1,r=[];for(const n of e)if(n!==void 0){if(t=!0,Array.isArray(n)){r=[...n,...r];continue}r=[n,...r]}if(t)return Be(r)}function jr(e){return Me(e)&&("value"in e||"replace"in e)}function Ge(e,t){return t===void 0?e:Array.isArray(t)?[...t,...e]:[t,...e]}function Nr(e){let t=!1,r=[],n=!1;for(const o of e)if(o!==void 0){if(jr(o)){t=!0,o.replace&&(r=[],n=!0),o.value!==void 0&&(r=Ge(r,o.value),n=!0);continue}r=Ge(r,o),n=!0}const s=n?Be(r):void 0;if(!t)return s;if(s!==void 0)return{value:s}}function Rr(e){const t=e.filter(n=>n!==void 0);if(t.length===0)return;if(!t.some(n=>Fe(n)))return Cr(t);const r={};for(const n of $e){const s=Nr(e.map(o=>{if(o!==void 0)return Fe(o)?o[n]:n==="generic"?o:void 0}));s!==void 0&&(r[n]=s)}return Object.keys(r).length>0?r:void 0}function L(e){return p(e)}var Lr=p("extensions.atomsHandlers"),Ur=L("HANDLE_ATOM_INSERT"),yo=p("HeadlessMode"),Eo=p("extensions.sandboxExtensions"),go="SANDBOX_EXTENSION_SCRIPT_STATUS",qr=p("MESSAGE_SERVICE"),xr=L("SETTINGS_PANEL_EVENT"),kr="advanced",$r=L("MODAL_SHOW_EVENT"),Mr=L("MODAL_CLOSE_EVENT"),Fr=L("MODAL_UPDATE_EVENT"),ue=p("client"),Br=p("v2_client"),Gr=p("ai_client"),Hr=p("app.cookieManager"),Wr=p("app.storageProvider"),Vr=p("image-blob-resolver"),Kr=p("template-directives");function H(e,t){if(e!==t){if(!e||!t||typeof e!="object"||typeof t!="object")return!1;const r=Array.isArray(e),n=Array.isArray(t);if(r){if(!n)return!1;const c=e.length;if(t.length!==c)return!1;for(let a=0;a<c;a++)if(!H(e[a],t[a]))return!1}else if(n)return!1;const s=Object.keys(e),o=Object.keys(t),i=s.length;if(i!==o.length)return!1;for(let c=0;c<i;c++){const a=s[c];if(!t.hasOwnProperty(a)||!H(e[a],t[a]))return!1}}return!0}function Yr(e){const t=e.replace(/-/g,"+").replace(/_/g,"/").padEnd(e.length+(4-e.length%4)%4,"="),r=atob(t),n=new Uint8Array(r.length);for(let s=0;s<r.length;s++)n[s]=r.charCodeAt(s);return new TextDecoder().decode(n)}function He(e){const[t,r,n]=e.split("."),s=JSON.parse(Yr(r));return{exp:s.exp,createdAt:s.iat,data:s}}var d=(function(e){return e.Json="application/json",e.FormData="multipart/form-data",e.UrlEncoded="application/x-www-form-urlencoded",e.Text="text/plain",e})({}),Jr=class{baseUrl="https://api.emailmaker.ru/wp-json";securityData=null;securityWorker;abortControllers=new Map;customFetch=(...e)=>fetch(...e);baseApiParams={credentials:"same-origin",headers:{},redirect:"follow",referrerPolicy:"no-referrer"};constructor(e={}){Object.assign(this,e)}setSecurityData=e=>{this.securityData=e};encodeQueryParam(e,t){return`${encodeURIComponent(e)}=${encodeURIComponent(typeof t=="number"?t:`${t}`)}`}addQueryParam(e,t){return this.encodeQueryParam(t,e[t])}addArrayQueryParam(e,t){return e[t].map(r=>this.encodeQueryParam(t,r)).join("&")}toQueryString(e){const t=e||{};return Object.keys(t).filter(r=>typeof t[r]<"u").map(r=>Array.isArray(t[r])?this.addArrayQueryParam(t,r):this.addQueryParam(t,r)).join("&")}addQueryParams(e){const t=this.toQueryString(e);return t?`?${t}`:""}contentFormatters={"application/json":e=>e!==null&&(typeof e=="object"||typeof e=="string")?JSON.stringify(e):e,"text/plain":e=>e!==null&&typeof e!="string"?JSON.stringify(e):e,"multipart/form-data":e=>Object.keys(e||{}).reduce((t,r)=>{const n=e[r];return t.append(r,n instanceof Blob?n:typeof n=="object"&&n!==null?JSON.stringify(n):`${n}`),t},new FormData),"application/x-www-form-urlencoded":e=>this.toQueryString(e)};mergeRequestParams(e,t){return{...this.baseApiParams,...e,...t||{},headers:{...this.baseApiParams.headers||{},...e.headers||{},...t&&t.headers||{}}}}createAbortSignal=e=>{if(this.abortControllers.has(e)){const r=this.abortControllers.get(e);return r?r.signal:void 0}const t=new AbortController;return this.abortControllers.set(e,t),t.signal};abortRequest=e=>{const t=this.abortControllers.get(e);t&&(t.abort(),this.abortControllers.delete(e))};async request({body:e,secure:t,path:r,type:n,query:s,format:o,baseUrl:i,cancelToken:c,extraQuery:a,proxyHandler:l,...h}){const _=(typeof t=="boolean"?t:this.baseApiParams.secure)&&this.securityWorker&&await this.securityWorker(this.securityData)||{},y=this.mergeRequestParams(h,_);a&&(s=s?{...s,...a}:a);const m=s&&this.toQueryString(s),b=this.contentFormatters[n||"application/json"],E=o||y.format,P=`${i||this.baseUrl||""}${r}${m?`?${m}`:""}`,j=l?l(P,{body:e,secure:t,path:r,type:n,query:s,format:o,baseUrl:i,cancelToken:c,extraQuery:a,proxyHandler:l,...h}):P,xt=new Request(j,{...y,headers:{...y.headers||{},...n&&n!=="multipart/form-data"?{"Content-Type":n}:{}},signal:(c?this.createAbortSignal(c):y.signal)||null,body:typeof e>"u"||e===null?null:b(e)});return this.customFetch(xt).then(async kt=>{const O=kt;O.data=null,O.error=null,O.meta={request:xt,response:O};const lo=E?await kt[E]().then(Q=>(O.ok?O.data=Q:O.error={data:Q},O)).catch(Q=>(O.error=Q,O)):O;return c&&this.abortControllers.delete(c),lo})}},Xr=class{http;constructor(e){this.http=e}ai_create=(e,t={})=>this.http.request({path:"/ai-generator/v1/ai",method:"POST",body:e,type:d.UrlEncoded,...t})},Qr=class{http;constructor(e){this.http=e}ai_status_list=(e,t={})=>this.http.request({path:"/ai-generator/v1/ai-status",method:"GET",query:e,...t})},zr=class{http;constructor(e){this.http=e}clear_history_list=(e,t={})=>this.http.request({path:"/ai-generator/v1/clear-history",method:"GET",query:e,...t})},Zr=class{http;constructor(e){this.http=e}app_init_create=(e,t={})=>this.http.request({path:"/app/v1/app_init",method:"POST",body:e,type:d.UrlEncoded,...t})},en=class{http;constructor(e){this.http=e}get_list=(e,t={})=>this.http.request({path:"/cors-proxy/V1/get",method:"GET",query:e,...t})},tn=class{http;constructor(e){this.http=e}token_create=(e={})=>this.http.request({path:"/jwt-auth/v1/token",method:"POST",...e});token_validate_create=(e={})=>this.http.request({path:"/jwt-auth/v1/token/validate",method:"POST",...e})},rn=class{http;constructor(e){this.http=e}top_used_list=(e,t={})=>this.http.request({path:"/projects/v1/top-used",method:"GET",query:e,...t})},nn=class{http;constructor(e){this.http=e}get_code_info_list=(e,t={})=>this.http.request({path:"/promo/v1/get_code_info",method:"GET",query:e,...t})},sn=class{http;constructor(e){this.http=e}set_code_create=(e,t={})=>this.http.request({path:"/promo/v1/set_code",method:"POST",body:e,type:d.UrlEncoded,...t})},on=class{http;constructor(e){this.http=e}ai_create=(e,t={})=>this.http.request({path:"/save-file/v1/ai",method:"POST",body:e,type:d.UrlEncoded,...t})},an=class{http;constructor(e){this.http=e}ai_status_list=(e,t={})=>this.http.request({path:"/save-file/v1/ai-status",method:"GET",query:e,...t})},cn=class{http;constructor(e){this.http=e}get_link_create=(e,t={})=>this.http.request({path:"/save-file/v1/get-link",method:"POST",body:e,type:d.UrlEncoded,...t})},un=class{http;constructor(e){this.http=e}send_email_create=(e,t={})=>this.http.request({path:"/save-file/v1/send-email",method:"POST",body:e,type:d.UrlEncoded,...t})},dn=class{http;constructor(e){this.http=e}shortener_create=(e,t={})=>this.http.request({path:"/save-file/v1/shortener",method:"POST",body:e,type:d.UrlEncoded,format:"json",...t})},ln=class{http;constructor(e){this.http=e}upload_create=(e,t={})=>this.http.request({path:"/save-file/v1/upload",method:"POST",body:e,type:d.UrlEncoded,format:"json",...t})},hn=class{http;constructor(e){this.http=e}get_translations2=({file:e,...t},r={})=>this.http.request({path:`/translations/v1/${e}`,method:"GET",...r});get_translations3=({id:e,file:t,...r},n={})=>this.http.request({path:`/translations/v1/${t}/${e}`,method:"GET",...n})},fn=class{http;constructor(e){this.http=e}add_user_create=(e,t={})=>this.http.request({path:"/user_to_project/v1/add_user",method:"POST",body:e,type:d.UrlEncoded,...t})},pn=class{http;constructor(e){this.http=e}blocktags_list=(e,t={})=>this.http.request({path:"/wp/v2/blocktags",method:"GET",query:e,format:"json",...t});blocktags_create=(e,t={})=>this.http.request({path:"/wp/v2/blocktags",method:"POST",body:e,type:d.UrlEncoded,format:"json",...t});blocktags_detail=({id:e,...t},r={})=>this.http.request({path:`/wp/v2/blocktags/${e}`,method:"GET",query:t,format:"json",...r});blocktags_create2=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/blocktags/${e}`,method:"POST",body:r,type:d.UrlEncoded,format:"json",...n});blocktags_update=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/blocktags/${e}`,method:"PUT",body:r,type:d.UrlEncoded,format:"json",...n});blocktags_partial_update=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/blocktags/${e}`,method:"PATCH",body:r,type:d.UrlEncoded,format:"json",...n});blocktags_delete=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/blocktags/${e}`,method:"DELETE",body:r,type:d.UrlEncoded,format:"json",...n})},_n=class{http;constructor(e){this.http=e}comments_list=(e,t={})=>this.http.request({path:"/wp/v2/comments",method:"GET",query:e,format:"json",...t});comments_create=(e,t={})=>this.http.request({path:"/wp/v2/comments",method:"POST",body:e,type:d.UrlEncoded,format:"json",...t});comments_detail=({id:e,...t},r={})=>this.http.request({path:`/wp/v2/comments/${e}`,method:"GET",query:t,format:"json",...r});comments_create2=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/comments/${e}`,method:"POST",body:r,type:d.UrlEncoded,format:"json",...n});comments_update=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/comments/${e}`,method:"PUT",body:r,type:d.UrlEncoded,format:"json",...n});comments_partial_update=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/comments/${e}`,method:"PATCH",body:r,type:d.UrlEncoded,format:"json",...n});comments_delete=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/comments/${e}`,method:"DELETE",body:r,type:d.UrlEncoded,format:"json",...n})},mn=class{http;constructor(e){this.http=e}confirmation_list=(e,t={})=>this.http.request({path:"/wp/v2/confirmation",method:"GET",query:e,...t})},We=class{http;constructor(e){this.http=e}eblock_list=(e,t={})=>this.http.request({path:"/wp/v2/eblock",method:"GET",query:e,format:"json",...t});eblock_create=(e,t={})=>this.http.request({path:"/wp/v2/eblock",method:"POST",body:e,type:d.UrlEncoded,format:"json",...t});eblock_detail=({id:e,...t},r={})=>this.http.request({path:`/wp/v2/eblock/${e}`,method:"GET",query:t,format:"json",...r});eblock_create2=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/eblock/${e}`,method:"POST",body:r,type:d.UrlEncoded,format:"json",...n});eblock_update=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/eblock/${e}`,method:"PUT",body:r,type:d.UrlEncoded,format:"json",...n});eblock_partial_update=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/eblock/${e}`,method:"PATCH",body:r,type:d.UrlEncoded,format:"json",...n});eblock_delete=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/eblock/${e}`,method:"DELETE",body:r,type:d.UrlEncoded,format:"json",...n});eblock_revisions_list=({parent:e,...t},r={})=>this.http.request({path:`/wp/v2/eblock/${e}/revisions`,method:"GET",query:t,format:"json",...r});eblock_revisions_detail=({parent:e,id:t,...r},n={})=>this.http.request({path:`/wp/v2/eblock/${e}/revisions/${t}`,method:"GET",query:r,format:"json",...n});eblock_revisions_delete=({parent:e,id:t,...r},n,s={})=>this.http.request({path:`/wp/v2/eblock/${e}/revisions/${t}`,method:"DELETE",body:n,type:d.UrlEncoded,format:"json",...s});eblock_autosaves_list=({id:e,...t},r={})=>this.http.request({path:`/wp/v2/eblock/${e}/autosaves`,method:"GET",query:t,format:"json",...r});eblock_autosaves_create=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/eblock/${e}/autosaves`,method:"POST",body:r,type:d.UrlEncoded,format:"json",...n});eblock_autosaves_detail=({parent:e,id:t,...r},n={})=>this.http.request({path:`/wp/v2/eblock/${e}/autosaves/${t}`,method:"GET",query:r,format:"json",...n})},Ve=class{http;constructor(e){this.http=e}email_list=(e,t={})=>this.http.request({path:"/wp/v2/email",method:"GET",query:e,format:"json",...t});email_create=(e,t={})=>this.http.request({path:"/wp/v2/email",method:"POST",body:e,type:d.UrlEncoded,format:"json",...t});email_detail=({id:e,...t},r={})=>this.http.request({path:`/wp/v2/email/${e}`,method:"GET",query:t,format:"json",...r});email_create2=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/email/${e}`,method:"POST",body:r,type:d.UrlEncoded,format:"json",...n});email_update=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/email/${e}`,method:"PUT",body:r,type:d.UrlEncoded,format:"json",...n});email_partial_update=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/email/${e}`,method:"PATCH",body:r,type:d.UrlEncoded,format:"json",...n});email_delete=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/email/${e}`,method:"DELETE",body:r,type:d.UrlEncoded,format:"json",...n});email_revisions_list=({parent:e,...t},r={})=>this.http.request({path:`/wp/v2/email/${e}/revisions`,method:"GET",query:t,format:"json",...r});email_revisions_detail=({parent:e,id:t,...r},n={})=>this.http.request({path:`/wp/v2/email/${e}/revisions/${t}`,method:"GET",query:r,format:"json",...n});email_revisions_delete=({parent:e,id:t,...r},n,s={})=>this.http.request({path:`/wp/v2/email/${e}/revisions/${t}`,method:"DELETE",body:n,type:d.UrlEncoded,format:"json",...s});email_autosaves_list=({id:e,...t},r={})=>this.http.request({path:`/wp/v2/email/${e}/autosaves`,method:"GET",query:t,format:"json",...r});email_autosaves_create=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/email/${e}/autosaves`,method:"POST",body:r,type:d.UrlEncoded,format:"json",...n});email_autosaves_detail=({parent:e,id:t,...r},n={})=>this.http.request({path:`/wp/v2/email/${e}/autosaves/${t}`,method:"GET",query:r,format:"json",...n})},yn=class{http;constructor(e){this.http=e}emailtags_list=(e,t={})=>this.http.request({path:"/wp/v2/emailtags",method:"GET",query:e,format:"json",...t});emailtags_create=(e,t={})=>this.http.request({path:"/wp/v2/emailtags",method:"POST",body:e,type:d.UrlEncoded,format:"json",...t});emailtags_detail=({id:e,...t},r={})=>this.http.request({path:`/wp/v2/emailtags/${e}`,method:"GET",query:t,format:"json",...r});emailtags_create2=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/emailtags/${e}`,method:"POST",body:r,type:d.UrlEncoded,format:"json",...n});emailtags_update=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/emailtags/${e}`,method:"PUT",body:r,type:d.UrlEncoded,format:"json",...n});emailtags_partial_update=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/emailtags/${e}`,method:"PATCH",body:r,type:d.UrlEncoded,format:"json",...n});emailtags_delete=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/emailtags/${e}`,method:"DELETE",body:r,type:d.UrlEncoded,format:"json",...n})},En=class{http;constructor(e){this.http=e}group_list=(e,t={})=>this.http.request({path:"/wp/v2/group",method:"GET",query:e,format:"json",...t});group_create=(e,t={})=>this.http.request({path:"/wp/v2/group",method:"POST",body:e,type:d.UrlEncoded,format:"json",...t});group_detail=({id:e,...t},r={})=>this.http.request({path:`/wp/v2/group/${e}`,method:"GET",query:t,format:"json",...r});group_create2=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/group/${e}`,method:"POST",body:r,type:d.UrlEncoded,format:"json",...n});group_update=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/group/${e}`,method:"PUT",body:r,type:d.UrlEncoded,format:"json",...n});group_partial_update=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/group/${e}`,method:"PATCH",body:r,type:d.UrlEncoded,format:"json",...n});group_delete=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/group/${e}`,method:"DELETE",body:r,type:d.UrlEncoded,format:"json",...n})},gn=class{http;constructor(e){this.http=e}notification_list=(e,t={})=>this.http.request({path:"/wp/v2/notification",method:"GET",query:e,format:"json",...t});notification_create=(e,t={})=>this.http.request({path:"/wp/v2/notification",method:"POST",body:e,type:d.UrlEncoded,format:"json",...t});notification_detail=({id:e,...t},r={})=>this.http.request({path:`/wp/v2/notification/${e}`,method:"GET",query:t,format:"json",...r});notification_create2=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/notification/${e}`,method:"POST",body:r,type:d.UrlEncoded,format:"json",...n});notification_update=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/notification/${e}`,method:"PUT",body:r,type:d.UrlEncoded,format:"json",...n});notification_partial_update=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/notification/${e}`,method:"PATCH",body:r,type:d.UrlEncoded,format:"json",...n});notification_delete=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/notification/${e}`,method:"DELETE",body:r,type:d.UrlEncoded,format:"json",...n});notification_autosaves_list=({id:e,...t},r={})=>this.http.request({path:`/wp/v2/notification/${e}/autosaves`,method:"GET",query:t,format:"json",...r});notification_autosaves_create=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/notification/${e}/autosaves`,method:"POST",body:r,type:d.UrlEncoded,format:"json",...n});notification_autosaves_detail=({parent:e,id:t,...r},n={})=>this.http.request({path:`/wp/v2/notification/${e}/autosaves/${t}`,method:"GET",query:r,format:"json",...n})},bn=class{http;constructor(e){this.http=e}project_list=(e,t={})=>this.http.request({path:"/wp/v2/project",method:"GET",query:e,format:"json",...t});project_create=(e,t={})=>this.http.request({path:"/wp/v2/project",method:"POST",body:e,type:d.UrlEncoded,format:"json",...t});project_detail=({id:e,...t},r={})=>this.http.request({path:`/wp/v2/project/${e}`,method:"GET",query:t,format:"json",...r});project_create2=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/project/${e}`,method:"POST",body:r,type:d.UrlEncoded,format:"json",...n});project_update=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/project/${e}`,method:"PUT",body:r,type:d.UrlEncoded,format:"json",...n});project_partial_update=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/project/${e}`,method:"PATCH",body:r,type:d.UrlEncoded,format:"json",...n});project_delete=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/project/${e}`,method:"DELETE",body:r,type:d.UrlEncoded,format:"json",...n});project_revisions_list=({parent:e,...t},r={})=>this.http.request({path:`/wp/v2/project/${e}/revisions`,method:"GET",query:t,format:"json",...r});project_revisions_detail=({parent:e,id:t,...r},n={})=>this.http.request({path:`/wp/v2/project/${e}/revisions/${t}`,method:"GET",query:r,format:"json",...n});project_revisions_delete=({parent:e,id:t,...r},n,s={})=>this.http.request({path:`/wp/v2/project/${e}/revisions/${t}`,method:"DELETE",body:n,type:d.UrlEncoded,format:"json",...s})},vn=class{http;constructor(e){this.http=e}subscription_list=(e,t={})=>this.http.request({path:"/wp/v2/subscription",method:"GET",query:e,format:"json",...t});subscription_create=(e,t={})=>this.http.request({path:"/wp/v2/subscription",method:"POST",body:e,type:d.UrlEncoded,format:"json",...t});subscription_detail=({id:e,...t},r={})=>this.http.request({path:`/wp/v2/subscription/${e}`,method:"GET",query:t,format:"json",...r});subscription_create2=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/subscription/${e}`,method:"POST",body:r,type:d.UrlEncoded,format:"json",...n});subscription_update=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/subscription/${e}`,method:"PUT",body:r,type:d.UrlEncoded,format:"json",...n});subscription_partial_update=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/subscription/${e}`,method:"PATCH",body:r,type:d.UrlEncoded,format:"json",...n});subscription_delete=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/subscription/${e}`,method:"DELETE",body:r,type:d.UrlEncoded,format:"json",...n})},On=class{http;constructor(e){this.http=e}users_register_create=(e={})=>this.http.request({path:"/wp/v2/users/register",method:"POST",...e});users_lostpassword_create=(e={})=>this.http.request({path:"/wp/v2/users/lostpassword",method:"POST",...e});users_lost_password_create=(e={})=>this.http.request({path:"/wp/v2/users/lost-password",method:"POST",...e});users_list=(e,t={})=>this.http.request({path:"/wp/v2/users",method:"GET",query:e,format:"json",...t});users_create=(e,t={})=>this.http.request({path:"/wp/v2/users",method:"POST",body:e,type:d.UrlEncoded,format:"json",...t});users_detail=({id:e,...t},r={})=>this.http.request({path:`/wp/v2/users/${e}`,method:"GET",query:t,format:"json",...r});users_create2=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/users/${e}`,method:"POST",body:r,type:d.UrlEncoded,format:"json",...n});users_update=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/users/${e}`,method:"PUT",body:r,type:d.UrlEncoded,format:"json",...n});users_partial_update=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/users/${e}`,method:"PATCH",body:r,type:d.UrlEncoded,format:"json",...n});users_delete=({id:e,...t},r,n={})=>this.http.request({path:`/wp/v2/users/${e}`,method:"DELETE",body:r,type:d.UrlEncoded,format:"json",...n});users_me_list=(e,t={})=>this.http.request({path:"/wp/v2/users/me",method:"GET",query:e,format:"json",...t});users_me_create=(e,t={})=>this.http.request({path:"/wp/v2/users/me",method:"POST",body:e,type:d.UrlEncoded,format:"json",...t});users_me_update=(e,t={})=>this.http.request({path:"/wp/v2/users/me",method:"PUT",body:e,type:d.UrlEncoded,format:"json",...t});users_me_partial_update=(e,t={})=>this.http.request({path:"/wp/v2/users/me",method:"PATCH",body:e,type:d.UrlEncoded,format:"json",...t});users_me_delete=(e,t={})=>this.http.request({path:"/wp/v2/users/me",method:"DELETE",body:e,type:d.UrlEncoded,format:"json",...t});users_application_passwords_list=({userId:e,...t},r={})=>this.http.request({path:`/wp/v2/users/${e}/application-passwords`,method:"GET",query:t,format:"json",...r});users_application_passwords_create=({userId:e,...t},r,n={})=>this.http.request({path:`/wp/v2/users/${e}/application-passwords`,method:"POST",body:r,type:d.UrlEncoded,format:"json",...n});users_application_passwords_delete=({userId:e,...t},r={})=>this.http.request({path:`/wp/v2/users/${e}/application-passwords`,method:"DELETE",format:"json",...r});users_application_passwords_introspect_list=({userId:e,...t},r={})=>this.http.request({path:`/wp/v2/users/${e}/application-passwords/introspect`,method:"GET",query:t,format:"json",...r});users_application_passwords_detail=({userId:e,uuid:t,...r},n={})=>this.http.request({path:`/wp/v2/users/${e}/application-passwords/${t}`,method:"GET",query:r,format:"json",...n});users_application_passwords_create2=({userId:e,uuid:t,...r},n,s={})=>this.http.request({path:`/wp/v2/users/${e}/application-passwords/${t}`,method:"POST",body:n,type:d.UrlEncoded,format:"json",...s});users_application_passwords_update=({userId:e,uuid:t,...r},n,s={})=>this.http.request({path:`/wp/v2/users/${e}/application-passwords/${t}`,method:"PUT",body:n,type:d.UrlEncoded,format:"json",...s});users_application_passwords_partial_update=({userId:e,uuid:t,...r},n,s={})=>this.http.request({path:`/wp/v2/users/${e}/application-passwords/${t}`,method:"PATCH",body:n,type:d.UrlEncoded,format:"json",...s});users_application_passwords_delete2=({userId:e,uuid:t,...r},n={})=>this.http.request({path:`/wp/v2/users/${e}/application-passwords/${t}`,method:"DELETE",format:"json",...n})},Tn={aiGenerator:[Xr,Qr,zr],app:[Zr],corsProxy:[en],jwtAuth:[tn],projects:[rn],promo:[nn,sn],saveFile:[on,an,cn,un,dn,ln],translations:[hn],userToProject:[fn],wp:[pn,_n,mn,We,Ve,yn,En,gn,bn,vn,On]},In=p("prewarm.networkActivity");function An(){let e=0;const t=new Set,r=()=>{t.forEach(n=>n())};return{begin(){e+=1,r();let n=!1;return()=>{n||(n=!0,e-=1,r())}},inFlight:()=>e,watch(n){return t.add(n),()=>t.delete(n)}}}function Ke(e){return e.getOrCreateInstance(In,()=>An())}var Ye=Symbol("rest.publicRequest"),Je=p("rest.requestHandler"),Pn=p("rest.responseHandler"),de=p("rest.customFetch"),Xe=(e,t)=>fetch(e,t),le=p("rest_transport"),Sn=e=>{e.inject(de,{execute:async(t,r={})=>{const n=e.getServices(Je),s={public:r[Ye]===!0},o=Ke(e).begin();try{let i=t instanceof Request?t:new Request(t,r);for(const l of n){const h=await l.execute(i,s);h instanceof Request&&(i=h)}let c=await fetch(i);const a=e.getServices(Pn);for(const l of a)c=await l.execute(c,i);return c}finally{o()}}})};function Dn(e,t){const r=e.getInstance(le);if(!r)throw new Error("[restApi] транспорт не зарегистрирован в контейнере");return Object.assign({},...t.map(n=>new n(r)))}var wn=3e5,S=new Map,U=new Map,Qe=new Set(["generic","stockImages","emFiles","cdn"]),Cn=/^https:\/\/(?:media\d*|i)\.giphy\.com\/media/i,jn=/^https:\/\/api\.giphy\.com\/v1\/gifs/i,Nn=/^https:\/\/images\.unsplash\.com/i,Rn=/^https:\/\/api\.unsplash\.com/i,Ln=/^https:\/\/assets\.streamlinehq\.com/i,Un=/^https:\/\/public-api\.streamlinehq\.com/i;function W(e){return typeof e=="string"&&e.trim().length>0}function qn(){const e="https://px0.racs.rest/";if(W(e))return e;const t={}.REACT_APP_UNSPLASH_PROXY;return W(t)?t:void 0}function ze(){return{stockImagesProxyUrl:"https://api.emailmaker.ru/services/stock_images",stockImagesProxyUrlApi:"https://api.emailmaker.ru/services/stock_images_api",genericProxyUrl:qn()}}function xn(e){const t=[],{stockImagesProxyUrl:r,stockImagesProxyUrlApi:n,genericProxyUrl:s}=ze();return n&&t.push({id:"mode-default-stock-images-api",match:"https://api.unsplash.com/{path}",proxyBase:n,rewrite:"{path}?proxy_url={origin}{search}{hash}"}),r&&t.push({id:"mode-default-stock-images-cdn",match:"https://images.unsplash.com/{path}",proxyBase:r,rewrite:"{path}?proxy_url={origin}{search}{hash}"}),s&&t.push({id:"mode-default-generic",proxyBase:s,rewrite:"{path}?proxy_url={origin}{search}{hash}"}),t.length>0?t:void 0}function Ze(e){return!!e}var kn=()=>{if(!(typeof window>"u"))return window.location.origin};function $n(e){const t=kn();if(!t)return!1;try{return new URL(e).origin===t}catch{return!1}}function Mn(e,t){try{const r=new URL(e).hostname.toLowerCase();return t.find(n=>n.toLowerCase()===r)??null}catch{return null}}function Fn(e,t){return t?!1:e==="downloadBlob"||e==="display"}function Bn(e){const t=e.trim();return t?t.replace(/:\d+$/,""):""}function Gn(e,t){if(!t.proxySameOrigin&&$n(e))try{return{skipReason:"same-origin",matchedHost:new URL(e).hostname}}catch{return null}const r=Mn(e,t.directHosts);return r?{skipReason:"direct-host",matchedHost:r}:null}function Hn(e){const t=[];for(const r of e){if(Array.isArray(r)){for(const n of r)t.push(n);continue}t.push(r)}return t}function Wn(e){const t=new Set,r=[];for(const n of e){const s=I(typeof n=="string"?n:n.proxyBase||"");s&&t.has(s)||(s&&t.add(s),r.push(n))}return r}function he(e){return e?.backendProxy}function I(e){return e.replace(/\/$/,"")}function fe(e){return/^https?:\/\//i.test(e)}function Vn(e){return e==="/"?"":e.replace(/\/$/,"")}function q(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function pe(e){const t=new Set;return e.filter(r=>!r.url||t.has(r.url)?!1:(t.add(r.url),!0))}function _e(){return"https://emcdn.ru"}function et(e){return!q(e)||"match"in e||"rewrite"in e||"proxyBase"in e?!1:Object.keys(e).some(t=>Qe.has(t))}function tt(e){if(e!=null)return q(e)&&("value"in e||"replace"in e)?e.value:e}function rt(e,t="generic",r=!1){const n=it(e,r);if(n)return et(n)?tt(n[t]??n.generic):n}function nt(e,t=!1){const r=it(e,t);return r?et(r)?Object.keys(r).filter(n=>Qe.has(n)).map(n=>tt(r[n])).filter(Boolean):[r]:[]}function Kn(e){const t=he(e);return t?[t]:[]}function Yn(e,t=!1){if(Ze(t))return{proxyBlobFetch:!0,proxyImgSrc:!0,proxyCdn:!0,proxyEmFiles:!0,proxyStockImages:!0};const{stockImagesProxyUrl:r,stockImagesProxyUrlApi:n}=ze();return{proxyBlobFetch:!0,proxyImgSrc:!1,proxyCdn:!1,proxyEmFiles:!1,proxyStockImages:W(r)||W(n)}}function st(e){const t=[],r=new Set;for(const n of e){const s=Bn(n);if(!s)continue;const o=s.toLowerCase();r.has(o)||(r.add(o),t.push(s))}return t}function ot(e){return e?Array.isArray(e)?st(e):st(e.value??[]):[]}function Jn(e,t){return[...new Set([...e,...t])]}function Xn(e){const t=e?.canvasImageCache;if(t===!1)return[];const r=t===!0||t===void 0?{}:t;return r.enabled===!1?[]:r.sourceHosts===void 0?[]:ot(r.sourceHosts)}function Qn(e,t){return{inheritDefaults:!e,proxySameOrigin:!1,directHosts:[],...Yn(t,e)}}function x(e,t=!1){const r=Qn(t,e),n=e?.resourceProxyPolicy??{};return{inheritDefaults:n.inheritDefaults??r.inheritDefaults,proxySameOrigin:n.proxySameOrigin??r.proxySameOrigin,directHosts:Jn(Xn(e),n.directHosts!==void 0?ot(n.directHosts):r.directHosts),proxyBlobFetch:n.proxyBlobFetch??r.proxyBlobFetch,proxyImgSrc:n.proxyImgSrc??r.proxyImgSrc,proxyCdn:n.proxyCdn??r.proxyCdn,proxyEmFiles:n.proxyEmFiles??r.proxyEmFiles,proxyStockImages:n.proxyStockImages??r.proxyStockImages,recoveryTtlMs:n.recoveryTtlMs??r.recoveryTtlMs}}function zn(e,t=!1){return x(e,t).inheritDefaults}function Zn(e,t=!1){const r=x(e,t).recoveryTtlMs;return typeof r=="number"&&r>0?r:wn}function it(e,t=!1){const r=e?.resourceProxy;if(!zn(e,t))return r;const n=xn(e);if(r===void 0)return n;const s=Rr([n,r]);return Array.isArray(s)?Wn(Hn(s)):s}function es(e){return{proxyEmFiles:!0,proxyAi:!1}}function me(e,t,r,n=!1){const s=x(r,n);if(t==="display")return e==="stockImages"?s.proxyStockImages:s.proxyImgSrc;switch(e){case"cdn":return s.proxyCdn;case"emFiles":return s.proxyEmFiles;case"stockImages":return s.proxyStockImages;default:return s.proxyBlobFetch}}function ts(e,t,r,n=!1){return e==="stockImages"&&me("stockImages",t,r,n)}function rs(e,t){const r=es(t),n=t?.backendProxyPolicy;switch(e){case"emFiles":return n?.proxyEmFiles??r.proxyEmFiles;case"ai":return n?.proxyAi??r.proxyAi;default:return!0}}var ns={url:".+",url_encoded:".+",origin:"https?:\\/\\/[^\\/?#]+",origin_encoded:".+",proxy_url:"https?:\\/\\/[^\\/?#]+",proxy_url_encoded:".+",path:"[^?#]*",pathname:"[^?#]*",path_with_slash:"\\/[^?#]*",pathname_with_slash:"\\/[^?#]*",query:"[^#]*",search:"\\?[^#]*",hash:"#.*",fragment:".*",pathname_after_wp_json:"[^?#]*",pathname_after_wp_json_with_slash:"\\/[^?#]*",rest_namespace:"[^/?#]*",rest_version:"[^/?#]*",rest_route:"[^?#]*",rest_route_with_slash:"\\/[^?#]*"};function ss(e){const t=[],r=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\{([a-z_]+)\\\}/gi,(n,s)=>(t.push(s),`(${ns[s]||".+"})`));return{regex:new RegExp(`^${r}$`,"i"),tokens:t}}function os(e){return/[?#]/.test(e)||/\{(?:url|url_encoded|query|search|hash|fragment)\}/i.test(e)}function is(e,t){if(os(t))return e;try{const r=new URL(e);return`${r.origin}${r.pathname}`}catch{return e.split(/[?#]/)[0]||e}}function as(e,t,r){if(r.endsWith("_encoded"))return!0;const n=e.slice(0,t),s=n.lastIndexOf("#"),o=n.lastIndexOf("?"),i=n.lastIndexOf("&"),c=n.lastIndexOf("=");return c>Math.max(o,i)&&c>s}function cs(e){try{const t=new URL(e),r=t.pathname.replace(/^\/+/,""),n=t.search.replace(/^\?/,""),s=t.hash.replace(/^#/,""),o=r.replace(/^wp-json\/?/i,""),i=o?`/${o}`:"/",c=o.match(/^([^/]+)(?:\/([^/]+))?(?:\/(.*))?$/),a=c?.[1]||"",l=c?.[2]||"",h=c?.[3]||"";return{url:e,url_encoded:encodeURIComponent(e),origin:t.origin,origin_encoded:encodeURIComponent(t.origin),proxy_url:t.origin,proxy_url_encoded:encodeURIComponent(t.origin),path:r,pathname:r,path_with_slash:t.pathname||"/",pathname_with_slash:t.pathname||"/",query:n,search:t.search,hash:t.hash,fragment:s,pathname_after_wp_json:o,pathname_after_wp_json_with_slash:i,rest_namespace:a,rest_version:l,rest_route:h,rest_route_with_slash:h?`/${h}`:"/"}}catch{return}}function k(e,t){if(!e)return{};if(Array.isArray(e)){for(const c of e){const a=k(c,t);if(a!==void 0)return a}return}if(e==="*")return{};const r=is(t,e),{regex:n,tokens:s}=ss(e),o=n.exec(r);if(!o)return;const i={};return s.forEach((c,a)=>{i[`matched_${c}`]=o[a+1]||""}),i}function A(e,t,r={}){const n=cs(t);if(!n)return t;const s={...n,...r};let o="",i=0;const c=/\{([a-z_]+)\}/gi;let a;for(;a=c.exec(e);){o+=e.slice(i,a.index);const l=s[a[1]]??"",h=as(e,a.index,a[1])?encodeURIComponent(l):l;o+=h,i=a.index+a[0].length}o+=e.slice(i);try{const l=new URL(o),h=new URL(t);return!o.includes("{search}")&&!o.includes("{query}")&&h.search&&h.searchParams.forEach((_,y)=>{l.searchParams.has(y)||l.searchParams.append(y,_)}),!o.includes("{hash}")&&!o.includes("{fragment}")&&h.hash&&!l.hash&&(l.hash=h.hash),l.toString()}catch{return o}}function V(e,t){try{const r=new URL(t);return`${I(e)}/${r.pathname.replace(/^\//,"")}${r.search}${r.hash}`}catch{return t}}function K(e,t){const r=I(e);return t?fe(t)?t:t.startsWith("?")||t.startsWith("#")?`${r}${t}`:`${r}${t.startsWith("/")?"":"/"}${t}`:r}function at(e,t,r,n){const s=e.match;return s?Array.isArray(s)?s.some(o=>at({...e,match:o},t,r,n)):typeof s=="function"?!!s({url:t,resourceType:r,intent:n}):s==="*"?!0:k(s,t)!==void 0:!0}function us(e,t,r,n,s,o){if(e==null)return[];const i=Array.isArray(e)?e:[e],c=[];return i.forEach((a,l)=>{if(!a)return;if(typeof a=="string"){const m=a.includes("{")&&a.includes("}")?A(a,t):V(a,t);c.push({key:`${r}:${l}`,url:m,source:n});return}if(!q(a)||!("rewrite"in a))return;const h=a;if(!at(h,t,s,o))return;const _=typeof h.match=="string"||Array.isArray(h.match)?k(h.match,t)||{}:{},y=typeof h.proxyBase=="string"&&h.proxyBase.trim()?h.proxyBase.trim():void 0;(Array.isArray(h.rewrite)?h.rewrite:[h.rewrite]).filter(Boolean).forEach((m,b)=>{const E=typeof m=="function"?(()=>{const P=m({url:t,proxyBase:y,resourceType:s,intent:o,..._}),j=y&&!fe(P)?K(y,P):P;return j.includes("{")&&j.includes("}")?A(j,t,_):j})():y?A(K(y,m),t,_):m.includes("{")&&m.includes("}")?A(m,t,_):V(m,t);c.push({key:`${r}:${h.id||"rule"}:${l}:${b}`,url:E,source:n})})}),pe(c)}function ct(e,t,r,n){const s=e.match;return s?Array.isArray(s)?s.some(o=>ct({...e,match:o},t,r,n)):typeof s=="function"?!!s({url:t,method:n,requestType:r}):s==="*"?!0:k(s,t)!==void 0:!0}function ds(e,t,r,n="generic"){if(e==null)return[];const s=Array.isArray(e)?e:[e],o=[];return s.forEach((i,c)=>{if(!i)return;if(typeof i=="string"){const _=i.includes("{")&&i.includes("}")?A(i,t):V(i,t);o.push({key:`backend:${c}`,url:_,source:"resource"});return}if(!q(i)||!("rewrite"in i))return;const a=i;if(!ct(a,t,n,r))return;const l=typeof a.match=="string"||Array.isArray(a.match)?k(a.match,t)||{}:{},h=typeof a.proxyBase=="string"&&a.proxyBase.trim()?a.proxyBase.trim():void 0;(Array.isArray(a.rewrite)?a.rewrite:[a.rewrite]).filter(Boolean).forEach((_,y)=>{const m=typeof _=="function"?(()=>{const b=_({url:t,proxyBase:h,method:r,requestType:n,...l}),E=h&&!fe(b)?K(h,b):b;return E.includes("{")&&E.includes("}")?A(E,t,l):E})():h?A(K(h,_),t,l):_.includes("{")&&_.includes("}")?A(_,t,l):V(_,t);o.push({key:`backend:${a.id||"rule"}:${c}:${y}`,url:m,source:"resource"})})}),pe(o)}function ls(e,t,r){return[e,...r.map(n=>n.url)].join("|")}function hs(e,t){if(!e||t.length<2)return t;const r=S.get(e);if(!r?.activeUrl)return t;const n=t.find(s=>s.url===r.activeUrl);return n?[n,...t.filter(s=>s.url!==r.activeUrl)]:t}function ut(e){e&&U.get(e)?.forEach(t=>{try{t()}catch{}})}function fs(e,t){if(!e)return()=>{};const r=U.get(e)||new Set;return r.add(t),U.set(e,r),()=>{const n=U.get(e);n&&(n.delete(t),n.size===0&&U.delete(e))}}function dt(e,t){if(!e)return!1;const r=S.get(e);return!!r?.failedUntil&&r.activeUrl===t.url&&r.failedUntil>Date.now()}function ps(e,t){const r=hs(e,t);if(!e||r.length<2)return r;const n=[],s=[];return r.forEach(o=>{dt(e,o)?s.push(o):n.push(o)}),[...n,...s]}function lt(e,t){if(!e)return;const r=S.get(e);S.set(e,{activeUrl:t.url}),(r?.activeUrl!==t.url||r?.failedUntil)&&ut(e)}function ht(e,t,r,n=!1){if(!e)return;const s=Zn(r,n),o={activeUrl:t.url,failedUntil:Date.now()+s},i=S.get(e);S.set(e,o),(i?.activeUrl!==o.activeUrl||i?.failedUntil!==o.failedUntil)&&ut(e)}function _s(e){return Ln.test(e)||Un.test(e)}function ms(e){return Cn.test(e)||jn.test(e)}function ye(e){return _s(e)||ms(e)}function Ee(e,t){const r=_e();return r&&e.startsWith(I(r))?"cdn":Nn.test(e)||Rn.test(e)?"stockImages":"generic"}function ys(e){try{const t=new URL(e);return/(?:^|\/)wp-json\/em-files\/v\d+(?:\/|$)/i.test(t.pathname)?"emFiles":/(?:^|\/)wp-json\/ai-generator\/v\d+(?:\/|$)/i.test(t.pathname)?"ai":"generic"}catch{return"generic"}}function Es(e,t){try{const r=new URL(e),n=new URL(t),s=Vn(n.pathname),o=s===""?!0:r.pathname===s||r.pathname.startsWith(`${s}/`);if(r.origin!==n.origin||!o)return null;const i=r.searchParams.get("url");if(i)return i;const c=r.searchParams.get("proxy_url");if(!c)return null;const a=new URL(c),l=s===""?r.pathname.replace(/^\/+/,""):r.pathname.slice(s.length).replace(/^\/+/,"");return a.pathname=l?`/${l}`:"/",r.searchParams.forEach((h,_)=>{_==="proxy_url"||_==="url"||a.searchParams.has(_)||a.searchParams.append(_,h)}),r.hash&&!a.hash&&(a.hash=r.hash),a.toString()}catch{return null}}function ge(e,t=[]){return e==null||(Array.isArray(e)?e:[e]).forEach(r=>{if(r){if(typeof r=="string"){const n=r.split("{")[0]?.trim();n&&t.push(I(n));return}!q(r)||!("rewrite"in r)||(typeof r.proxyBase=="string"&&r.proxyBase.trim()&&t.push(I(r.proxyBase.trim())),(Array.isArray(r.rewrite)?r.rewrite:[r.rewrite]).forEach(n=>{if(typeof n!="string")return;const s=n.split("{")[0]?.trim();s&&t.push(I(s))}))}}),t}function gs(e,t,r=!1){return nt(t,r).flatMap(n=>ge(n)).filter(Boolean).some(n=>n&&e.startsWith(n))}function bs(e,t){return Kn(t).flatMap(r=>ge(r)).filter(Boolean).some(r=>r&&e.startsWith(r))}function vs(e,t,r=!1){const n=nt(t,r).flatMap(s=>ge(s)).filter(Boolean);for(const s of n){const o=Es(e,s);if(o)return o}return null}function ft(e,t,r=!1){return gs(e,t,r)}function $(e,t,r=!1){return vs(e,t,r)||e}function Os(e,t,r,n=!1){return!!rt(r,e,n)&&me(e,t,r,n)}function Ts(e,t){return!!he(t)&&rs(e,t)}function Is(e,t,r,n=!1){return Ze(n)||t==="downloadBlob"?!1:e==="stockImages"?me(e,t,r,n):!1}function As(e,t={}){const r=t.config,n=$(e,r,t.standalone),s=t.resourceType||Ee(n,r),o=t.intent||"display";if(ye(n))return{resourceType:"generic",intent:o,candidates:[]};const i=Os(s,o,r,t.standalone)?us(rt(r,s,t.standalone),n,s,"resource",s,o):[];return{resourceType:s,intent:o,candidates:i,stabilityKey:i.length?ls(s,o,i):void 0}}function Ps(e,t={}){const r=t.requestType||ys(e);return Ts(r,t.config)?ds(he(t.config),e,t.method,r):[]}function M(e,t={},r){const n=t.intent||r;if(ft(e,t.config,t.standalone)){const a=$(e,t.config,t.standalone),l=t.resourceType||Ee(a,t.config),h={key:"already-proxied",url:e,source:"direct"};return{chain:{resourceType:l,intent:n,candidates:[h]},candidates:[h]}}const s=$(e,t.config,t.standalone),o=t.resourceType||Ee(s,t.config),i=Is(o,n,t.config,t.standalone);if(Fn(n,i)&&!ye(s)&&!ts(o,n,t.config,t.standalone)){const a=Gn(s,x(t.config,t.standalone));if(a){const l={key:`direct-${a.skipReason}`,url:s,source:"direct"};return{chain:{resourceType:o,intent:n,candidates:[l],directShortCircuit:a},candidates:[l]}}}const c=As(s,{...t,intent:n,resourceType:o});return{chain:c,candidates:pe([...ps(c.stabilityKey,c.candidates),...i?[]:[{key:"direct",url:s,source:"direct"}]])}}function pt(e,t,r={},n){const{chain:s,candidates:o}=M(e,r,n),i=o.find(c=>c.url===t);return!i||i.source!=="resource"?null:{chain:s,candidate:i}}function Ss(e,t,r={}){const n=pt(e,t,r,"display");n&&lt(n.chain.stabilityKey,n.candidate)}function Ds(e,t,r={}){const n=pt(e,t,r,"display");n&&ht(n.chain.stabilityKey,n.candidate,r.config,r.standalone)}function Y(e,t,r,n=!1){return{src:e,changed:r,exhausted:n,reason:t}}var ws=class extends Error{final=!0;skipReason;hostname;constructor(e,t){super(`Direct resource fetch failed (${e}: ${t}). ${e==="same-origin"?"The same-origin asset is unreachable; check that the resource exists and is served by the editor origin.":"Add CORS headers for the editor origin or remove the host from directHosts."}`),this.name="DirectResourceFetchError",this.skipReason=e,this.hostname=t}};function Cs(e,t){return new ws(e,t)}function js(e){if(e instanceof Error&&e.name==="AbortError")return!1;if(e instanceof TypeError)return!0;if(e instanceof Error){if(e.message==="Proxy validation failed")return!1;if(e.message.startsWith("Proxy fetch failed with status"))return!0}return!0}function Ns(e,t=!1){const r=x(e,t);return{inheritDefaults:r.inheritDefaults,proxySameOrigin:r.proxySameOrigin,directHosts:[...r.directHosts]}}function Rs(e){return e.length>0&&e.every(t=>t.source==="direct")}function Ls(e,t,r){return e.directShortCircuit?e.directShortCircuit.skipReason:t.length===1&&t[0]?.source==="direct"&&ye(r)?"direct-only-vendor":null}function Us(e,t,r){return e.directShortCircuit||r==="direct-only-vendor"||Rs(t)?"direct":"proxy"}function qs(e,t={}){const{chain:r,candidates:n}=M(e,t,t.intent||"display"),s=r.stabilityKey?S.get(r.stabilityKey):void 0,o=n[0]?.url||e,i=Ls(r,n,$(e,t.config,t.standalone)),c=Ns(t.config,t.standalone);return{originalUrl:e,resourceType:r.resourceType,intent:r.intent,stabilityKey:r.stabilityKey,currentSrc:o,runtimeState:s?{...s}:void 0,decision:Us(r,n,i),skipReason:i,matchedHost:r.directShortCircuit?.matchedHost,policy:c,candidates:n.map(a=>({...a,isCurrent:a.url===o,isFailed:dt(r.stabilityKey,a),failedUntil:s?.activeUrl===a.url?s?.failedUntil:void 0}))}}function xs(e,t={}){let r=M(e,t,"display"),n=r.candidates,s=n[0]?.url||e,o=Math.max(0,n.findIndex(c=>c.url===s));const i=()=>{const c=M(e,t,"display"),a=c.candidates,l=a[0]?.url||e;return!l||l===s?(r=c,n=a,o=Math.max(0,a.findIndex(h=>h.url===s)),Y(s,"unchanged",!1)):(r=c,n=a,s=l,o=Math.max(0,a.findIndex(h=>h.url===s)),Y(s,"runtime-update",!0))};return{get src(){return s},get stabilityKey(){return r.chain.stabilityKey},handleChangeSrc:()=>i(),handleSuccess:()=>{Ss(e,s,t)},handleError:()=>{Ds(e,s,t);const c=i();if(c.changed&&c.src)return c;const a=n[o+1];return!a||a.url===s?Y(null,"exhausted",!1,!0):(s=a.url,o+=1,Y(s,"candidate-fallback",!0))},subscribeToSrcChange:c=>{const a=()=>{const l=i();l.changed&&c(l)};return fs(r.chain.stabilityKey,a)},getDebugSnapshot:()=>qs(e,t)}}async function ks(e,t={}){if(ft(e,t.config,t.standalone))return fetch(e,t.init);const r=t.config,{chain:n,candidates:s}=M(e,t,t.intent||"downloadBlob");let o;for(const i of s)try{const c=await fetch(i.url,t.init);if(!c.ok)throw new Error(`Proxy fetch failed with status ${c.status}`);if(t.validateBlob){const a=await c.clone().blob();if(!await t.validateBlob(a))throw new Error("Proxy validation failed")}return i.source==="resource"&&lt(n.stabilityKey,i),c}catch(c){o=c,i.source==="resource"&&ht(n.stabilityKey,i,r,t.standalone)}throw n.directShortCircuit&&s.length===1&&s[0]?.source==="direct"&&js(o)?Cs(n.directShortCircuit.skipReason,n.directShortCircuit.matchedHost):o instanceof Error?o:new Error("Failed to fetch resource through proxy chain")}function _t(e,t={}){return bs(e,t.config)?[e]:Ps(e,t).map(r=>r.url)}function $s(e,t){const r=_e(),n=t.filter(Boolean).map(s=>String(s).replace(/^\/+|\/+$/g,""));return r?`${I(r)}/${n.join("/")}`:n.join("/")}function Ms(e,t){const r=_e();return!!r&&e.startsWith(I(r))}function D(e){for(;e.endsWith("/");)e=e.slice(0,e.length-1);return/\/wp-json$/i.test(e)?e:`${e}/wp-json`}function Fs(...e){const t=e.filter(o=>o!=null);if(t.length===0)return;if(t.length===1)return t[0];const r=t.find(o=>o.aborted);if(r)return r;if(typeof AbortSignal<"u"&&typeof AbortSignal.any=="function")return AbortSignal.any(t);const n=new AbortController,s=o=>{n.signal.aborted||n.abort(o.reason)};for(const o of t)o.addEventListener("abort",()=>s(o),{once:!0});return n.signal}var mt=3e5,yt=15e3,g=null,Et=!1;function Bs(){return!0}function Gs(){const e=String({}.REACT_APP_OPENAPI_FAILOVER_TTL_MS||"").trim();if(!e)return mt;const t=Number(e);return Number.isFinite(t)&&t>0?t:mt}function gt(){const e=String({}.REACT_APP_OPENAPI_FAILOVER_ATTEMPT_TIMEOUT_MS||"").trim();if(!e)return yt;const t=Number(e);return Number.isFinite(t)&&t>0?t:yt}function Hs(){const e="https://app.emailmaker.ru/api/".trim();return e?D(e):void 0}function Ws(e){const t=e.trim();if(!t)return[];if(t.startsWith("["))try{const r=JSON.parse(t);if(!Array.isArray(r))throw new Error("expected JSON array");return r.map(n=>String(n).trim()).filter(Boolean)}catch{return Et||(Et=!0),[]}return t.split(",").map(r=>r.trim()).filter(Boolean)}function Vs(e){const t=new Set,r=[];for(const n of e){const s=D(n);t.has(s)||(t.add(s),r.push(s))}return r}function bt(e){const t=String(e||"").trim();return t?D(t):Hs()}function vt(e,t=[]){return e?Vs([e,...t]).slice(0,3):[]}function Ot(){return Ws(String({}.REACT_APP_OPENAPI_FAILOVER_BASE_URLS||"").trim())}function Ks(e=Date.now()){return g?e-g.switchedAt>=Gs():!0}function Tt(e=Date.now()){g&&Ks(e)&&(g=null)}function J(e){if(!Bs())return!1;const t=bt(e);if(!t)return!1;const r=Ot();return r.length===0?!1:vt(t,r).length>1}function F(e){const t=bt(e);if(!t)return[];const r=Ot();return r.length===0?[t]:vt(t,r)}function be(e){const t=F(e);if(t.length===0)return"";if(Tt(),g){const r=t.indexOf(g.activeUrl);if(r>=0)return t[r]}return t[0]}function It(e){const t=F(e);if(t.length<=1||(Tt(),!g||!t.includes(g.activeUrl)))return t;const r=g.activeUrl;return[r,...t.filter(n=>n!==r)]}function Ys(){return gt()}function Js(e){return be(e)||void 0}function At(e){const t=e||void 0;if(typeof AbortController>"u")return{signal:t,timeoutError:()=>{},done:()=>{}};const r=gt(),n=new AbortController;let s;const o=setTimeout(()=>{s=Xs(r),n.abort(s)},r);return{signal:Fs(t,n.signal),timeoutError:()=>s,done:()=>clearTimeout(o)}}function Xs(e){const t=`[apiOriginFailover] origin attempt timed out after ${e}ms`;if(typeof DOMException=="function")return new DOMException(t,"TimeoutError");const r=new Error(t);return r.name="TimeoutError",r}function Pt(e){return e===502||e===503||e===504}function St(e){return!(e instanceof Error)&&!(e instanceof DOMException)?!1:e.name==="TimeoutError"?!0:e instanceof TypeError}var Qs;function ve(e,t){if(!J(t))return;const r=F(t);if(r.length<=1)return;const n=r.indexOf(D(e));if(n<0)return;const s=n+1;if(s>=r.length)return;const o=r[s],i=g?.activeUrl;g={activeUrl:o,switchedAt:Date.now()},i!==o&&Qs?.()}function Dt(e,t){if(!J(t))return;const r=D(e),n=F(t);if(n.includes(r)){if(r===n[0]){g=null;return}g?.activeUrl!==r&&(g={activeUrl:r,switchedAt:Date.now()})}}function wt(){g=null}var zs=e=>{const t=new FormData,r=(n,s,o)=>{if(s!=null){if(s instanceof Blob){n.append(o,s);return}if(Array.isArray(s)){s.forEach((i,c)=>{const a=o?`${o}[${c}]`:`${c}`;r(n,i,a)});return}if(typeof s=="object"){Object.keys(s).forEach(i=>{const c=s[i],a=o?`${o}[${i}]`:i;r(n,c,a)});return}n.append(o,String(s))}};return r(t,e),t},Zs={baseUrl:D("https://app.emailmaker.ru/api/"),baseApiParams:{secure:!0,credentials:"same-origin",format:"json"},securityWorker:()=>({credentials:"same-origin"})},C=new Map;function eo(e){const t=e?.getInstance(Ce);return t?t.get()??t.bootstrap():void 0}var to=class extends Jr{container;constructor(e={},t){super(e),this.container=t}buildRequestUrl(e){const{path:t,baseUrl:r,extraQuery:n}=e;let{query:s}=e;n&&(s=s?{...s,...n}:n);const o=s&&this.toQueryString(s);return`${r||this.baseUrl||""}${t}${o?`?${o}`:""}`}buildRequestKey(e,t){return`${t.toUpperCase()} ${e}`}getBackendProxyCandidates(e,t){const r=eo(this.container),n=this.container?.getInstance(Ne)!==void 0,s=_t(e,{config:r,method:t,standalone:n}),o=s.length>0?s:[e],i=this.buildRequestKey(e,t),c=C.get(i);return!c||!o.includes(c)?o:[c,...o.filter(a=>a!==c)]}shouldRetryResponse(e){return e.status===502||e.status===503||e.status===504}resolveFailoverBaseUrl(){return String(this.baseUrl||"").trim()||void 0}async requestOnOrigin(e,t,r=!1){const n={...e,baseUrl:t},s=this.buildRequestUrl(n),o=n.method||"GET",i=this.buildRequestKey(s,o),c=this.getBackendProxyCandidates(s,o);let a,l;for(const h of c){const _=m=>m===s?h:m,y=r?At(e.signal):void 0;try{const m=await super.request({...n,proxyHandler:_,...y?{signal:y.signal}:{}});if(!m.ok&&this.shouldRetryResponse(m)&&h!==c[c.length-1]){l=m,C.get(i)===h&&C.delete(i);continue}return C.set(i,h),m}catch(m){C.get(i)===h&&C.delete(i);const b=y?.timeoutError();if(b)throw b;if(a=m,(m instanceof DOMException||m instanceof Error)&&m.name==="AbortError")throw m}finally{y?.done()}}if(l)return l;throw a instanceof Error?a:new Error("Backend proxy chain failed")}async request(e){const t=String(e.baseUrl||"").trim();if(t)return this.requestOnOrigin(e,t);const r=this.resolveFailoverBaseUrl(),n=J(r),s=e.failoverAttemptTimeout??n,o=n?It(r):r?[be(r)]:[this.baseUrl].filter(Boolean);if(o.length===0)return this.requestOnOrigin(e,this.baseUrl);let i,c;for(let a=0;a<o.length;a++){const l=o[a],h=a===o.length-1;try{const _=await this.requestOnOrigin(e,l,s);if(!_.ok&&Pt(_.status)){if(c=_,!h){ve(l,r);continue}break}return _.ok&&Dt(l,r),_}catch(_){if(!St(_))throw _;i=_,h||ve(l,r)}}if(n&&wt(),c)return c;throw i instanceof Error?i:new Error("API origin failover chain failed")}};function Ct(e){for(const[t,r]of Object.entries(Tn)){const n=r.map(o=>new o(e)),s=Object.assign({},...n);Object.assign(e,{[t]:s})}}function ro(e=Zs){const t=new Map;return{create(r,n){const s=new to({...e,...r},n);return s.contentFormatters["multipart/form-data"]=zs,Ct(s),t.set(s,{options:r,container:n}),s},getOptions(){return e},setOptions(r){e=r;for(const[n,s]of t)Object.assign(n,{...e,...s.options})}}}var jt=p("rest.clientFactory");function no(e){return e.getOrCreateInstance(jt,()=>ro())}function so(e,t={}){const r=ce(e)?ke(e):e;return no(r).create(t,r)}var oo=e=>{const t=e.getInstance(le);if(!t){io(e);return}Ct(t),e.inject(ue,t)},io=e=>{Sn(e);const t=so(e,{customFetch:e.getInstance(de)?.execute??Xe});e.inject(ue,t),e.inject(le,t)},Oe;(function(e){const t="https://racs.emcdn.ru/v3";function r(s,o){const i={method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(o)};return fetch(`${t}?resource=${s}&dataset=${document.location.hostname}`,i)}e.post=r;async function n(s,o=0){const i={method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:`{"filter":{},"limit":${o}}`};return await(await fetch(`${t}/get?resource=${s}&dataset=${document.location.hostname}`,i)).json()}e.getAll=n})(Oe||(Oe={}));var X=p("plugin.auth.token"),Nt=new WeakMap,ao=3e4;function co(e){let t;try{t=He(e).exp}catch{return!0}return typeof t!="number"||!Number.isFinite(t)?!0:t*1e3<=Date.now()+ao}function Rt(e,t,r,n){const s=Nt.get(e);s&&(s.stale=!0);const o={stale:!1};Nt.set(e,o),e.injectFactory(X,async(i,c)=>{if(o.stale)return"";try{let a=await c||void 0;if(!a){const l=e.getInstance(je);l&&(a=await l)}return t?!a||co(a)?await t(r,n,a):a:""}catch{return""}},!0)}var Lt=p("auth.oauthProvided"),Ut=new WeakMap;function qt(e,t){const r=Ut.get(e)??{applied:!1};(!r.applied||r.getAuthToken!==t.getAuthToken||!H(r.user,t.user)||r.project!==t.project)&&(Ut.set(e,{applied:!0,getAuthToken:t.getAuthToken,user:t.user,project:t.project}),Rt(e,t.getAuthToken,t.user,t.project))}function uo(e){if(e.getInstance(Lt))return;e.inject(Lt,!0);let t;e.getInstance(we)?.watch(r=>{t=r}),e.addService(Je,{execute:async(r,n)=>{if(n?.public||!t?.getAuthToken)return;e.getInstance(X)===void 0&&qt(e,t);const s=await e.getInstanceAsync(X);s&&r.headers.set("authorization",`Bearer ${s}`)}})}var bo=Ie(e=>(uo(e),{setOptions(t){qt(e,t)}}));Object.defineProperty(u,"ADVANCED_SETTINGS_PANEL",{enumerable:!0,get:function(){return kr}}),Object.defineProperty(u,"AIREST_CLIENT_ID",{enumerable:!0,get:function(){return Gr}}),Object.defineProperty(u,"APP_ID",{enumerable:!0,get:function(){return sr}}),Object.defineProperty(u,"ATOMS_HANDLERS_ID",{enumerable:!0,get:function(){return Lr}}),Object.defineProperty(u,"AsyncEmitter",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(u,"BaseEmitter",{enumerable:!0,get:function(){return R}}),Object.defineProperty(u,"CONFIG_CHANGED_EVENT_ID",{enumerable:!0,get:function(){return _r}}),Object.defineProperty(u,"CONFIG_SOURCE_ID",{enumerable:!0,get:function(){return Ce}}),Object.defineProperty(u,"COOKIE_MANAGER_ID",{enumerable:!0,get:function(){return Hr}}),Object.defineProperty(u,"CUSTOM_FETCH_ID",{enumerable:!0,get:function(){return de}}),Object.defineProperty(u,"Container",{enumerable:!0,get:function(){return ee}}),Object.defineProperty(u,"ContentType",{enumerable:!0,get:function(){return d}}),Object.defineProperty(u,"DISPOSABLE_ID",{enumerable:!0,get:function(){return or}}),Object.defineProperty(u,"DependencyResolver",{enumerable:!0,get:function(){return re}}),Object.defineProperty(u,"Disposable",{enumerable:!0,get:function(){return v}}),Object.defineProperty(u,"ELEMENT_MAP",{enumerable:!0,get:function(){return br}}),Object.defineProperty(u,"Emitter",{enumerable:!0,get:function(){return Qt}}),Object.defineProperty(u,"HANDLE_ATOM_INSERT_ID",{enumerable:!0,get:function(){return Ur}}),Object.defineProperty(u,"IMAGE_BLOB_RESOLVER_ID",{enumerable:!0,get:function(){return Vr}}),Object.defineProperty(u,"INIT_PIPELINE_ID",{enumerable:!0,get:function(){return ir}}),Object.defineProperty(u,"INJECTION",{enumerable:!0,get:function(){return xe}}),Object.defineProperty(u,"INSTANCE_ID",{enumerable:!0,get:function(){return ar}}),Object.defineProperty(u,"JWT_ERROR_ID",{enumerable:!0,get:function(){return fr}}),Object.defineProperty(u,"JWT_TOKEN_ID",{enumerable:!0,get:function(){return hr}}),Object.defineProperty(u,"MESSAGE_SERVICE_ID",{enumerable:!0,get:function(){return qr}}),Object.defineProperty(u,"MODAL_CLOSE_EVENT",{enumerable:!0,get:function(){return Mr}}),Object.defineProperty(u,"MODAL_SHOW_EVENT",{enumerable:!0,get:function(){return $r}}),Object.defineProperty(u,"MODAL_UPDATE_EVENT",{enumerable:!0,get:function(){return Fr}}),Object.defineProperty(u,"MessageService",{enumerable:!0,get:function(){return Dr}}),Object.defineProperty(u,"NOT_IMPLEMENTED_IN_PLUGIN",{enumerable:!0,get:function(){return nr}}),Object.defineProperty(u,"OPTIONS_SOURCE_ID",{enumerable:!0,get:function(){return we}}),Object.defineProperty(u,"PLUGIN_COLLECTION_ID",{enumerable:!0,get:function(){return pr}}),Object.defineProperty(u,"PUBLIC_REQUEST",{enumerable:!0,get:function(){return Ye}}),Object.defineProperty(u,"RACS",{enumerable:!0,get:function(){return Oe}}),Object.defineProperty(u,"REST_CLIENT_FACTORY_ID",{enumerable:!0,get:function(){return jt}}),Object.defineProperty(u,"REST_CLIENT_ID",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(u,"SECURITY_MODULE_ID",{enumerable:!0,get:function(){return Ne}}),Object.defineProperty(u,"SETTINGS_PANEL_EVENT",{enumerable:!0,get:function(){return xr}}),Object.defineProperty(u,"STANDALONE_ACTIVATED_ID",{enumerable:!0,get:function(){return dr}}),Object.defineProperty(u,"STANDALONE_BOOTSTRAP_TOKEN_ID",{enumerable:!0,get:function(){return je}}),Object.defineProperty(u,"STANDALONE_FILE_PROXY_REGISTERED_ID",{enumerable:!0,get:function(){return lr}}),Object.defineProperty(u,"STANDALONE_PROJECT_ID",{enumerable:!0,get:function(){return ur}}),Object.defineProperty(u,"STORAGE_PROVIDER_ID",{enumerable:!0,get:function(){return Wr}}),Object.defineProperty(u,"STORE_ID",{enumerable:!0,get:function(){return cr}}),Object.defineProperty(u,"Signal",{enumerable:!0,get:function(){return zt}}),Object.defineProperty(u,"TEMPLATE_DIRECTIVES_ID",{enumerable:!0,get:function(){return Kr}}),Object.defineProperty(u,"TOKEN_ID",{enumerable:!0,get:function(){return X}}),Object.defineProperty(u,"V2REST_CLIENT_ID",{enumerable:!0,get:function(){return Br}}),Object.defineProperty(u,"WpEblockApi",{enumerable:!0,get:function(){return We}}),Object.defineProperty(u,"WpEmailApi",{enumerable:!0,get:function(){return Ve}}),Object.defineProperty(u,"abandonStickyOrigin",{enumerable:!0,get:function(){return wt}}),Object.defineProperty(u,"beginFailoverAttempt",{enumerable:!0,get:function(){return At}}),Object.defineProperty(u,"buildCdnFileUrl",{enumerable:!0,get:function(){return $s}}),Object.defineProperty(u,"combineMixins",{enumerable:!0,get:function(){return Mt}}),Object.defineProperty(u,"createAbortError",{enumerable:!0,get:function(){return w}}),Object.defineProperty(u,"createIdentifier",{enumerable:!0,get:function(){return Tr}}),Object.defineProperty(u,"createIdentifier$1",{enumerable:!0,get:function(){return p}}),Object.defineProperty(u,"decodeJwt",{enumerable:!0,get:function(){return He}}),Object.defineProperty(u,"deepEqual",{enumerable:!0,get:function(){return H}}),Object.defineProperty(u,"defineMixin",{enumerable:!0,get:function(){return Ie}}),Object.defineProperty(u,"events",{enumerable:!0,get:function(){return se}}),Object.defineProperty(u,"fetchWithResourceProxy",{enumerable:!0,get:function(){return ks}}),Object.defineProperty(u,"filter",{enumerable:!0,get:function(){return er}}),Object.defineProperty(u,"generateUUID",{enumerable:!0,get:function(){return Pe}}),Object.defineProperty(u,"getActiveBaseUrl",{enumerable:!0,get:function(){return be}}),Object.defineProperty(u,"getApi",{enumerable:!0,get:function(){return Dn}}),Object.defineProperty(u,"getContainer",{enumerable:!0,get:function(){return ke}}),Object.defineProperty(u,"getEmitter",{enumerable:!0,get:function(){return rr}}),Object.defineProperty(u,"getEvent",{enumerable:!0,get:function(){return tr}}),Object.defineProperty(u,"getFailoverAttemptTimeoutMs",{enumerable:!0,get:function(){return Ys}}),Object.defineProperty(u,"getNetworkActivity",{enumerable:!0,get:function(){return Ke}}),Object.defineProperty(u,"getOrderedOriginCandidates",{enumerable:!0,get:function(){return It}}),Object.defineProperty(u,"getOriginChain",{enumerable:!0,get:function(){return F}}),Object.defineProperty(u,"getProxiedUrl",{enumerable:!0,get:function(){return xs}}),Object.defineProperty(u,"getServiceContainerId",{enumerable:!0,get:function(){return B}}),Object.defineProperty(u,"globalFetch",{enumerable:!0,get:function(){return Xe}}),Object.defineProperty(u,"isAbortError",{enumerable:!0,get:function(){return mr}}),Object.defineProperty(u,"isCdnUrl",{enumerable:!0,get:function(){return Ms}}),Object.defineProperty(u,"isFailoverEnabled",{enumerable:!0,get:function(){return J}}),Object.defineProperty(u,"isStateContainer",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(u,"normalizeBaseUrl",{enumerable:!0,get:function(){return D}}),Object.defineProperty(u,"pickKey",{enumerable:!0,get:function(){return wr}}),Object.defineProperty(u,"provideLegacyRestSections",{enumerable:!0,get:function(){return oo}}),Object.defineProperty(u,"raceWithAbortSignal",{enumerable:!0,get:function(){return yr}}),Object.defineProperty(u,"recreateTokenProvider",{enumerable:!0,get:function(){return Rt}}),Object.defineProperty(u,"reportOriginFailure",{enumerable:!0,get:function(){return ve}}),Object.defineProperty(u,"reportOriginSuccess",{enumerable:!0,get:function(){return Dt}}),Object.defineProperty(u,"resolveBackendProxyRequestCandidates",{enumerable:!0,get:function(){return _t}}),Object.defineProperty(u,"resolveContainer",{enumerable:!0,get:function(){return Wt}}),Object.defineProperty(u,"resolveExplicitApiBaseUrl",{enumerable:!0,get:function(){return Js}}),Object.defineProperty(u,"shouldFailoverError",{enumerable:!0,get:function(){return St}}),Object.defineProperty(u,"shouldFailoverResponse",{enumerable:!0,get:function(){return Pt}}),Object.defineProperty(u,"snapshot",{enumerable:!0,get:function(){return Zt}}),Object.defineProperty(u,"throwIfAborted",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(u,"unwrapResourceProxyUrl",{enumerable:!0,get:function(){return $}}),Object.defineProperty(u,"waitForElement",{enumerable:!0,get:function(){return Le}})});
4
+
5
+ (function(){try{if(typeof document<"u"){var p='.blocks-app .plugin-location__bar{align-items:center;gap:4px;display:flex}.blocks-app .plugin-location__svg{align-items:center;line-height:1;display:inline-flex}.blocks-app .plugin-location__svg svg{width:1em;height:1em}.blocks-app .plugin-location__view{height:100%;overflow:auto}.blocks-app .selected-element-panel__columns-settings__controls__field{background:var(--em-colorBgElevated);border:calc(var(--em-borderWidth) * 1px) solid var(--em-colorFillSecondaryDarken);transition:all .2s linear .2s}.blocks-app .selected-element-panel__columns-settings__controls__field:hover{border-color:var(--em-borderColorHover)}.blocks-app .selected-element-panel__columns-settings__controls__field:focus,.blocks-app .selected-element-panel__columns-settings__controls__field:focus-within{border-color:var(--em-colorPrimaryBorder);box-shadow:0 0 0 2px #0591ff1a}.blocks-app .selected-element-panel__columns-settings__controls__column.current .selected-element-panel__columns-settings__controls__field{background:var(--em-colorPrimaryBg);border-color:var(--em-colorPrimaryBorder)}.blocks-app .structures{margin-left:-3px;margin-right:-3px;overflow:visible}.blocks-app .structures__list{margin-bottom:-10px}.blocks-app .structures__item{box-sizing:border-box;cursor:grab;flex-direction:row;justify-content:center;align-items:center;width:100%;min-width:100%;height:50px;margin-bottom:20px;padding:0;display:flex}.blocks-app .structures__item:hover .structures__item-row{background:var(--em-colorFillTertiary);border:#0000;box-shadow:0 1px 2px -2px #00000029,0 3px 6px #0000001f,0 5px 12px 4px #00000017}.dark .blocks-app .structures__item:hover .structures__item-row{background:var(--em-colorBgSpotlight)}.blocks-app .structures__item-row{background:var(--em-colorFillSecondary);border-radius:calc(var(--em-borderRadius) * 1.2px);width:97%;height:100%;padding:6px 3px;transition:box-shadow .3s,border-color .3s,background-color .3s}.blocks-app .structures__item-col{border-radius:calc(var(--em-borderRadius) * 1px);border:1px solid var(--em-controlItemBgActiveHover);background:var(--em-controlItemBgActive);width:100%;height:100%}.dark .blocks-app .structures__item-col{border-color:var(--em-colorBgElevated);background:var(--em-colorFillTertiary)}.blocks-app .em-dragging-element .structures__item .structures__item-row{background-color:var(--em-controlTmpOutline);box-shadow:none}.dark .blocks-app .em-dragging-element .structures__item .structures__item-row{background:var(--em-controlTmpOutline)}.blocks-app .em-dragging-element .structures__item .structures__item-row .structures__item-col{opacity:0;border-radius:calc(var(--em-borderRadius) * 1px)}.blocks-app .em-ghost-element{background-color:var(--em-colorBgContainer);border-radius:calc(var(--em-borderRadiusXL) * 1px)}.blocks-app .em-ghost-element .structures__item-col{opacity:1!important}.dark .blocks-app .em-ghost-element{background:var(--em-colorBgSpotlight)}@media (width<=1550px){.blocks-app .structures__item{margin-bottom:16px}.blocks-app .structures__item:last-child{margin-bottom:20px}}.blocks-app .ant-modal.premium-features-modal .ant-modal-container{border-radius:calc(var(--em-borderRadiusXL) * 2px);padding:20px 19px}.blocks-app .premium-features-modal .modal-title{text-align:center;margin-bottom:0;font-size:32px}.blocks-app .premium-features-modal .ant-carousel .slick-dots li button{opacity:.5;background:#fff}.blocks-app .premium-features-modal .ant-carousel .slick-dots li.slick-active button{opacity:1}.blocks-app .premium-features-modal .modal-subtitle{text-align:center;margin-bottom:20px;font-size:18px}.blocks-app .premium-features-modal .carousel-slider{margin-bottom:20px}.blocks-app .premium-features-modal .slick-list{border-radius:calc(var(--em-borderRadiusXL) * 1.5px)}.blocks-app .premium-features-modal .slick-slide{padding:0 5px}.blocks-app .premium-features-modal .carousel-slide{border-radius:calc(var(--em-borderRadiusXL) * 1.5px);justify-content:flex-end;align-items:center;height:480px;display:flex}.blocks-app .premium-features-modal .slide-item-image{width:50%;padding:24px 0 24px 32px}.blocks-app .premium-features-modal .slide-item-image img{border-radius:calc(var(--em-borderRadiusXL) * 1.3px);width:100%}.blocks-app .premium-features-modal .slide-item-content{width:50%;padding:48px}.blocks-app .premium-features-modal .slide-title{margin-bottom:48px;font-size:50px;font-weight:700;line-height:1}.blocks-app .premium-features-modal .slide-description{font-size:22px}.blocks-app .premium-features-modal .modal-buttons{justify-content:center;gap:10px;display:flex}.blocks-app .premium-features-modal .modal-buttons button{padding:0 30px}.blocks-app .trial-suggest-modal{max-width:calc(100vw - 24px)}.blocks-app .trial-suggest-modal .ant-modal-container{border-radius:16px;padding:0;overflow:hidden}.blocks-app .trial-suggest-modal__layout{align-items:stretch;display:flex}.blocks-app .trial-suggest-modal__gallery{background:var(--em-colorFillQuaternary);flex:0 0 300px;width:300px;max-width:300px;position:relative;overflow:hidden}.blocks-app .trial-suggest-modal__slide-image{border-right:1px solid var(--em-colorFillSecondary);background-repeat:no-repeat;background-size:cover;transition:opacity .4s;position:absolute;inset:0}.blocks-app .trial-suggest-modal__content{flex:auto;min-width:0;max-width:100%;padding:32px}.blocks-app .trial-suggest-modal__badge{background:var(--em-colorPrimaryBg);color:var(--em-colorPrimary);border-radius:12px;margin-bottom:12px;padding:2px 10px;font-size:12px;font-weight:600;line-height:20px;display:inline-block}.blocks-app .trial-suggest-modal__title{color:var(--em-colorText);margin:0 0 8px;font-size:22px;font-weight:600;line-height:1.25}.blocks-app .trial-suggest-modal__intro{color:var(--em-colorTextSecondary);margin:0 0 16px}.blocks-app .trial-suggest-modal__features{margin:0 0 20px;padding:0;list-style:none}.blocks-app .trial-suggest-modal__features li{color:var(--em-colorText);align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.blocks-app .trial-suggest-modal__feature-icon,.blocks-app .trial-suggest-modal__promise-icon{flex:none;width:20px;height:20px;margin-top:2px;font-size:20px;line-height:20px}.blocks-app .trial-suggest-modal__feature-icon svg,.blocks-app .trial-suggest-modal__promise-icon svg{width:100%;height:100%}.blocks-app .trial-suggest-modal__feature-icon{color:var(--em-colorPrimary)}.blocks-app .trial-suggest-modal__promise{background:var(--em-colorFillQuaternary);color:var(--em-colorText);border-radius:8px;align-items:flex-start;gap:10px;margin:0 0 8px;padding:12px;display:flex}.blocks-app .trial-suggest-modal__promise-icon{color:var(--em-colorSuccess)}.blocks-app .trial-suggest-modal__note{color:var(--em-colorTextTertiary);margin:0 0 24px;font-size:12px;line-height:140%}.blocks-app .trial-suggest-modal__buttons{justify-content:space-between;align-items:center;gap:8px;display:flex}.blocks-app .trial-suggest-modal__decline.ant-btn{box-shadow:none;color:var(--em-colorTextSecondary);border:1px solid #0000}.blocks-app .trial-suggest-modal__decline.ant-btn:hover,.blocks-app .trial-suggest-modal__decline.ant-btn:focus,.blocks-app .trial-suggest-modal__decline.ant-btn:focus-visible,.blocks-app .trial-suggest-modal__decline.ant-btn:active{box-shadow:none;border:1px solid #0000;transform:none}.blocks-app .trial-suggest-modal__decline.ant-btn:hover:not(:disabled){background:var(--em-colorFillTertiary);color:var(--em-colorText)}@media (width<=720px){.blocks-app .trial-suggest-modal__layout{flex-direction:column}.blocks-app .trial-suggest-modal__gallery{flex:none;width:auto;max-width:none;height:180px}.blocks-app .trial-suggest-modal__content{padding:24px}}.blocks-app .atoms{overflow:visible}.blocks-app .atoms__list{margin-bottom:20px;transition:opacity .2s}.blocks-app .atoms__item{font:inherit;text-align:center;appearance:none;box-sizing:border-box;border-radius:calc(var(--em-borderRadius) * 1px);width:109px;height:70px;color:var(--em-colorTextSecondary);background:var(--em-colorFillSecondary);border:0;flex-direction:column;justify-content:center;align-items:center;margin:0;padding:5px;display:flex;position:relative}.blocks-app .atoms__item.ant-card-hoverable{cursor:grab!important}.blocks-app .atoms__item:hover{border-color:var(--em-colorBgElevated)}.dark .blocks-app .atoms__item:hover{border-color:var(--em-colorTextDisabled);background:var(--em-colorBorder)}.blocks-app .atoms__item_inactive{opacity:.5;cursor:default}.blocks-app .atoms__item_inactive:hover{border-color:var(--em-colorBorder)}.blocks-app .atoms__item_locked .atom-image{opacity:.55;margin-bottom:6px;display:inline-flex;position:relative}.blocks-app .atoms__item_locked .atom-image__lock{opacity:1;background-color:var(--em-colorBgContainer);border-radius:100%;position:absolute;bottom:-2px;right:-6px}.blocks-app .atoms__item_locked .atom-title{opacity:.55}.blocks-app .atoms__item.ai:before{content:"AI";color:#fff;background-color:var(--em-colorInfo);text-align:center;border-radius:0 calc(var(--em-borderRadius) * 1px) 0 calc(var(--em-borderRadiusSM) * 1px);width:36px;padding:1px 5px;font-size:12px;line-height:1.2;display:inline-block;position:absolute;top:0;right:0}.blocks-app .atoms__item.amp:before{content:"AMP";color:#fff;background-color:var(--em-colorPrimary);text-align:center;border-radius:0 8px 0 5px;width:36px;padding:1px 5px;font-size:12px;line-height:1.2;display:inline-block;position:absolute;top:0;right:0}.blocks-app .atoms .anticon{color:var(--em-colorTextSecondary);font-size:28px}.blocks-app .atoms .em-dragging-element .atoms__item{background-color:var(--em-controlTmpOutline)}.blocks-app .atoms .em-ghost-element{background-color:var(--em-colorBgContainer)!important;border:1px solid var(--em-colorBorder)!important}.blocks-app .atoms .atom-title{color:var(--em-colorTextTertiary);text-align:center;font-size:13px;line-height:1}.blocks-app #email_iframe{vertical-align:top;background-color:#f8f8f8;border:0;width:1px;min-width:100%}.blocks-app .iframe-provider+#email_iframe_slot{pointer-events:none}.blocks-app .iframe-provider{width:100%;height:100%;position:absolute;top:0;left:0}.blocks-app .browser-extension-warning-modal__footer,.blocks-app .browser-translate-warning-modal__footer{justify-content:center;margin-top:24px;display:flex}.blocks-app .user-list{z-index:10;background:#fff0;padding:1px;display:flex;position:absolute;bottom:10px;left:10px}.blocks-app .user{text-align:center;align-items:center;width:0;height:35px;margin-left:20px;transition:all .4s cubic-bezier(.645,.045,.355,1);display:flex;position:relative}.blocks-app .user:first-child{margin-left:0}.blocks-app .user-list.open .user:not(:first-child){margin-left:38px}.blocks-app .user:before{content:"";background:var(--em-user-color,white);border:1.5px solid var(--em-border-color,white);border-radius:50%;width:34px;height:34px;transition:all .2s cubic-bezier(.645,.045,.355,1);display:block;position:absolute}.blocks-app .user div{width:34px;color:var(--em-text-color,white);cursor:default;border-radius:50%;font-weight:600;line-height:40px;text-decoration:none;position:absolute}.blocks-app .email-pane{position:relative}.blocks-app .email-pane__loader{z-index:10;background-color:#fff6;width:100%;height:100%;position:fixed;top:0;left:0}.dark .blocks-app .email-pane__loader{background-color:#0006}.blocks-app .email-pane__paths{border-top:1px solid var(--em-colorBorder);z-index:10;background-color:var(--em-colorBgContainer);justify-content:space-between;align-items:center;width:100%;transition:all .5s;display:flex;position:sticky;bottom:0;left:0}.blocks-app .email-pane__paths>div{color:var(--em-colorTextTertiary);padding:3px 15px}.blocks-app .email-pane__paths .ant-breadcrumb{white-space:nowrap;overflow:auto hidden}.blocks-app .email-pane__paths .ant-breadcrumb ol{flex-wrap:nowrap;padding-right:10px}.blocks-app .email-pane__paths .ant-breadcrumb li{position:relative}.blocks-app .email-pane__paths .ant-breadcrumb li:hover>span{color:var(--em-colorPrimary)}.blocks-app .email-pane__paths .ant-breadcrumb li>span{color:var(--em-colorTextSecondary);cursor:pointer;padding:3px 15px;display:block}.blocks-app .email-pane__paths .ant-breadcrumb li>span span{align-items:center;gap:4px;display:flex}.blocks-app .email-pane__paths .ant-breadcrumb li:after{content:"";border-style:solid;border-width:15px 0 15px 10px;border-color:transparent transparent transparent var(--em-colorBgContainer);width:0;height:0;transition:all .5s;position:absolute;top:50%;right:-5px;transform:translateY(-50%)}.blocks-app .email-pane__paths .ant-breadcrumb li:before{content:"";border-style:solid;border-width:15px 0 15px 10px;border-color:transparent transparent transparent var(--em-colorBorder);width:0;height:0;transition:all .5s;position:absolute;top:50%;right:-6px;transform:translateY(-50%)}.blocks-app .email-pane__code-size{white-space:nowrap;margin-left:auto;padding:3px 15px;font-size:14px}.blocks-app .email-pane__code-size_exceeded{color:var(--em-colorError)}.blocks-app .email-pane .ant-btn-primary.mobile_view{background-color:var(--em-colorInfo)}.blocks-app .email-pane .ant-btn-primary.mobile_view:hover{background-color:var(--em-colorInfoHover)}.blocks-app .email-pane .ant-tabs .ant-tabs-tab-btn{transition:none}.blocks-app .email-pane .ant-tabs-extra-content{justify-content:center;align-items:center;display:flex}.blocks-app .email-pane .ant-tabs-extra-content .ant-segmented_editor-mode{margin-top:22px;transform:rotate(90deg)}.blocks-app .email-pane .ant-tabs-extra-content .ant-segmented_editor-mode .ant-segmented-item-label{min-height:40px;padding:0;line-height:40px}.blocks-app .email-pane .ant-tabs-extra-content .ant-segmented_editor-mode .ant-segmented-item-icon{width:28px;height:40px;display:inline-block;transform:rotate(-90deg)}.blocks-app .email-pane .ant-tabs-extra-content .ant-segmented_editor-mode .ant-segmented-item-icon .anticon{position:relative}.blocks-app .email-pane .email-pane_code-mode .email-pane__col-wrapper{transition:all .5s;padding-top:0!important}.blocks-app .blocks-plugin .email-pane .email-pane_code-mode .email-pane__resizable{padding-top:60px;transition:all .5s}.blocks-app .email-pane .email-pane_code-mode:not(.email-pane_is-mobile,.email-pane_code-mode-bottom) .email-pane__col-wrapper{padding-top:0!important}.blocks-app .email-pane .email-pane_code-mode:not(.email-pane_is-mobile,.email-pane_code-mode-bottom) .email-pane__left .email-pane__content-col_main{border-width:0;border-radius:0;margin-left:0;margin-right:0;border-top-width:0!important;border-bottom-width:0!important;border-right-width:0!important}.blocks-app .email-pane .email-pane_code-mode:not(.email-pane_is-mobile,.email-pane_code-mode-bottom) .email-pane__right .email-pane__content-col_main{border-width:0;border-radius:0;margin-left:0;margin-right:0;border-top-width:0!important;border-bottom-width:0!important;border-left-width:0!important}.blocks-app .blocks-plugin .email-pane .email-pane_code-mode:not(.email-pane_is-mobile,.email-pane_code-mode-bottom) .email-pane__resizable{max-width:calc(100% - 2px);margin-bottom:0;padding-top:0}.blocks-app .email-pane .selected-td-form__padding-input .ant-input-number-focused input{text-align:left}.blocks-app .email-pane .selected-td-form__padding-input input{text-align:center}.blocks-app .email-pane .email-pane__comment-counter{background-color:var(--em-colorInfo);color:var(--em-colorWhite);border:none}.blocks-app .email-pane .element-controls{width:100%;height:100%}.blocks-app .email-pane #selected_element_form_desktop_props{height:100%}.blocks-app .email-pane .ant-tabs .ant-divider-horizontal.selected-td-form__divider{border-top:1px solid var(--em-colorBorderSecondary);background:linear-gradient(180deg, var(--em-colorBgContainerDisabled), transparent 40%);width:calc(100% + 50px);margin:26px -23px}.dark .blocks-app .email-pane .ant-tabs .ant-divider-horizontal.selected-td-form__divider{background:linear-gradient(180deg, var(--em-colorBgBase), transparent 40%)}.blocks-app .email-pane .ant-tabs .element-controls .selected-td-form__divider{margin-top:0;margin-bottom:0}.blocks-app .email-pane .ant-tabs .blocks-search__divider{pointer-events:none;width:auto;height:20px;margin:24px 0 0;position:absolute;bottom:-20px;left:-24px;right:-13px}.blocks-app .email-pane .ant-tabs ::-webkit-scrollbar-thumb{box-shadow:inset 0 0 0 10px var(--em-colorFillSecondary)}.blocks-app .email-pane .ant-tabs ::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 10px var(--em-colorFill)}.blocks-app .email-pane .ant-tabs .blocks-search__empty-shadow{height:100%;position:relative}.blocks-app .email-pane .ant-tabs .blocks-search__empty-shadow:after{content:"";background:linear-gradient(180deg, var(--em-colorBgContainerDisabled), transparent 40%);z-index:1;width:calc(100% + 48px);height:20px;margin-left:-24px;position:absolute;top:0;left:0}.blocks-app .email-pane .ant-tabs .blocks-search__empty-wrapper{height:calc(100% + 10px);margin:0 -24px;padding:24px 14px 0 24px;position:relative;overflow:scroll}.blocks-app .email-pane__container{scroll-behavior:smooth;min-height:100%;padding-top:0}.blocks-app .email-pane_code-mode .email-pane__container{overflow:unset;height:unset;padding-bottom:0;position:relative}.blocks-app .email-pane_code-mode:not(.email-pane_code-mode-bottom) .email-pane__container>.selected-element-panel{z-index:101;pointer-events:none;height:0;position:absolute;inset:0 0 auto}.blocks-app .email-pane_code-mode:not(.email-pane_code-mode-bottom) .email-pane__container>.selected-element-panel>div{pointer-events:auto}.blocks-app .email-pane_code-mode:not(.email-pane_code-mode-bottom) .email-pane__container>.selected-element-panel .selected-element-panel-content.selected-element-panel__content_abs{width:fit-content;max-width:calc(100% - 24px);min-height:auto;display:block}.blocks-app .email-pane_code-mode:not(.email-pane_code-mode-bottom) .email-pane__container>.selected-element-panel .selected-element-panel-content.selected-element-panel__content_abs form.element-controls{height:auto;min-height:auto}.blocks-app .email-pane__col-wrapper{flex-wrap:nowrap;gap:30px;display:flex;position:relative}.blocks-app .email-pane__col-wrapper .email-pane__col_settings{margin-top:30px}.blocks-app .email-pane__col-wrapper .email-pane__col_settings-inner{border-radius:8px;position:sticky;top:30px;left:0}.blocks-app .ant-app .email-pane__col-wrapper_reverse{flex-direction:row-reverse}.blocks-app .email-pane .email-pane__sizeSwitcher:not(.email-pane__pinch,.email-pane__right) .email-pane__col-wrapper{top:-114px}.blocks-app .email-pane_code-mode .email-pane__code-divider{z-index:10;opacity:0;cursor:ew-resize;background-color:var(--em-colorPrimary);width:5px;height:100%;transition:opacity .4s;position:absolute}.blocks-app .email-pane_code-mode .email-pane__code-divider:hover,.blocks-app .email-pane_code-mode .email-pane__code-divider:active{opacity:1;background-color:var(--em-colorPrimary)}.blocks-app .email-pane_code-mode.email-pane .email-pane__row:not(.email-pane__bottom,.email-pane__sizeSwitcher) .email-pane__content-col_main{border-radius:0;border:0 solid var(--em-colorBorder)!important;margin:0!important}.blocks-app .email-pane_code-mode.email-pane .email-pane__row:not(.email-pane__bottom,.email-pane__sizeSwitcher) [class^=device-width__] button{display:none}.blocks-app .email-pane_code-mode .email-pane__left{flex-direction:row}.blocks-app .email-pane_code-mode .email-pane__left>div:first-child{border-right:1px solid var(--em-colorBorder);overflow-y:auto!important}.blocks-app .email-pane_code-mode .email-pane__left .email-pane__handle.left{display:none}.blocks-app .email-pane_code-mode .email-pane__left .email-pane__code-divider{left:-2px}.blocks-app .email-pane_code-mode .email-pane__right{flex-direction:row-reverse}.blocks-app .email-pane_code-mode .email-pane__right>div:first-child{border-left:1px solid var(--em-colorBorder);overflow-y:auto!important}.blocks-app .email-pane_code-mode .email-pane__right .email-pane__handle.right{display:none}.blocks-app .email-pane_code-mode .email-pane__right .email-pane__code-divider{right:-2px}.blocks-app .email-pane_code-mode .email-pane__bottom{max-width:unset;flex-direction:column;margin:0}.blocks-app .email-pane_code-mode .email-pane__bottom .email-pane__col-wrapper{width:100%;margin:0 auto}.blocks-app .email-pane_code-mode .email-pane__bottom .email-pane__code-divider{opacity:0;cursor:ns-resize;z-index:10;width:100%;height:2px;top:-2px}.blocks-app .email-pane_code-mode .email-pane__bottom .email-pane__code-divider:hover,.blocks-app .email-pane_code-mode .email-pane__bottom .email-pane__code-divider:active{opacity:1;background-color:var(--em-colorPrimary)}.blocks-app .email-pane .email-pane__col-wrapper_pinch.email-pane__col-wrapper{gap:0;height:100%;padding-left:3px}.blocks-app .email-pane .email-pane__col-wrapper_pinch.email-pane__col-wrapper .email-pane__col.email-pane__col_preview{overflow-y:scroll;height:100%!important}@media (width<=1590px){.blocks-app .email-pane .email-pane__col-wrapper_pinch.email-pane__col-wrapper .email-pane__col.email-pane__col_preview{overflow-x:hidden}}.blocks-app .email-pane .email-pane__col-wrapper_pinch.email-pane__col-wrapper .ant-tabs-content-holder{border-radius:0}.blocks-app .email-pane .email-pane__col-wrapper_pinch.email-pane__col-wrapper.email-pane__col-wrapper_reverse .email-pane__col.email-pane__col_preview{padding-left:10px;padding-right:0}.blocks-app .email-pane__left .email-pane .email-pane__col-wrapper_pinch.email-pane__col-wrapper.email-pane__col-wrapper_reverse .email-pane__col.email-pane__col_preview{padding-left:65px;padding-right:0}.blocks-app .email-pane .email-pane__col-wrapper_pinch.email-pane__col-wrapper .ant-tabs-right>.ant-tabs-nav .ant-tabs-tab{height:53px;padding-top:6px;padding-left:6px;padding-right:6px}.blocks-app .email-pane .email-pane.email-pane_code-mode .email-pane__col-wrapper_reverse .email-pane__col.email-pane__col_preview{padding-right:0}.blocks-app .email-pane .email-pane.email-pane_code-mode .email-pane__col-wrapper_pinch.email-pane__col-wrapper{padding-left:0}.blocks-app .email-pane .email-pane__right.email-pane__sizeSwitcher .email-pane__col.email-pane__col_preview{padding-left:0;padding-right:35px;overflow:visible}.blocks-app .email-pane .email-pane__right.email-pane__sizeSwitcher .email-pane__col.email-pane__col_preview .email-pane__content-col.email-pane__content-col_main{border-width:1px}.blocks-app .email-pane .email-pane__left.email-pane__sizeSwitcher .email-pane__col.email-pane__col_preview{padding-left:65px!important;padding-right:0!important}.blocks-app .email-pane .email-pane__right .email-pane__col-wrapper_reverse .email-pane__col.email-pane__col_preview,.blocks-app .email-pane .email-pane__left.email-pane__sizeSwitcher .email-pane__col-wrapper_reverse .email-pane__col.email-pane__col_preview{padding-left:0!important;padding-right:0!important}.blocks-app .email-pane .email-pane__right:not(.email-pane__pinch) .email-pane__col-wrapper_pinch.email-pane__col-wrapper{padding-left:0;padding-right:65px}.blocks-app .email-pane .email-pane__right.email-pane__pinch.email-pane__sizeSwitcher .email-pane__col-wrapper_pinch.email-pane__col-wrapper{padding-left:0}.blocks-app .email-pane .email-pane__right.email-pane__pinch.email-pane__sizeSwitcher .email-pane__col-wrapper_pinch.email-pane__col-wrapper .email-pane__col_preview{padding-left:0;padding-right:65px}.blocks-app .email-pane .email-pane__reverse .email-pane__col-wrapper_pinch.email-pane__col-wrapper{padding-left:0}.blocks-app .email-pane .email-pane__sizeSwitcher .email-pane__col.email-pane__col_preview{padding-top:30px}.blocks-app .email-pane .email-pane__sizeSwitcher .email-pane__col-wrapper_pinch .email-pane__col.email-pane__col_preview{padding:60px 2px 0}.blocks-app .email-pane .email-pane__reverse.email-pane__sizeSwitcher .email-pane__col.email-pane__col_preview{padding-right:65px}.blocks-app .email-pane .email-pane.email-pane_code-mode .email-pane__right .email-pane__col.email-pane__col_preview,.blocks-app .email-pane .email-pane.email-pane_code-mode .email-pane__left .email-pane__col.email-pane__col_preview{padding-top:0}.blocks-app .email-pane .email-pane__right .email-pane__col_preview,.blocks-app .email-pane .email-pane__left .email-pane__col_preview{padding-left:0;padding-right:0}.blocks-app .email-pane .email-pane.email-pane_code-mode .email-pane__col-wrapper_pinch.email-pane__col-wrapper .email-pane__col.email-pane__col_preview{height:100%!important}.blocks-app .email-pane .email-pane__sizes-panel-wrapper{z-index:5;position:sticky;top:30px;left:15px}.blocks-app .email-pane .email-pane__right .email-pane__sizes-panel-wrapper{left:auto;right:15px}.blocks-app .email-pane .email-pane__right.email-pane__sizeSwitcher .email-pane__sizes-panel-wrapper{display:none}.blocks-app .email-pane .email-pane__pinch .email-pane__sizes-panel-wrapper{position:absolute;top:12px;left:calc(50% - 266px)}.blocks-app .email-pane .email-pane__reverse .email-pane__sizes-panel-wrapper{left:auto;right:calc(50% - 266px)}.blocks-app .email-pane .email-pane__reverse.email-pane__left.email-pane__pinch .email-pane__sizes-panel-wrapper{display:none;left:15px;right:auto}.blocks-app .email-pane .email-pane__sizes-panel{background-color:var(--em-colorBgElevated);border:1px solid var(--em-colorBorder);border-radius:34px}.blocks-app .email-pane__header{padding-right:10px}.blocks-app .email-pane__header .header__left{margin-left:0}.blocks-app .email-pane__header .header__logo{float:left;height:auto;margin-top:5px;margin-right:26px;padding-right:0;font-size:22px!important}.blocks-app .email-pane__header__title{align-items:center;width:100%;display:flex}.blocks-app .email-pane__header__title__project a{white-space:nowrap;text-overflow:ellipsis;flex:1;max-width:190px;display:flex;overflow:hidden}.blocks-app .email-pane__header__title__project{float:left;margin-top:10px}.blocks-app .email-pane__header__title__project a:hover{color:var(--em-colorPrimary)}.blocks-app .email-pane__header__title .ant-typography{white-space:nowrap;text-overflow:ellipsis;flex:1;margin:10px 0 10px 20px;padding:0;display:flex;overflow:hidden}.blocks-app .email-pane__row{flex-wrap:nowrap;justify-content:space-between;gap:30px;height:100%;position:relative}.blocks-app .email-pane_path-enabled .email-pane__row{height:calc(100% - 29px)}.blocks-app .email-pane_code-mode .email-pane__row{gap:0;height:calc(100% - 29px);padding:0}.blocks-app .email-pane__col_settings{border-color:var(--em-colorBorder);height:100%;margin-right:50px;position:sticky;top:0;bottom:60px;overflow:visible}.blocks-app .email-pane__col_disabled.email-pane__content-col_tabs.email-pane__content-col{width:68px;min-width:68px;margin-right:0}.blocks-app .email-pane__col_settings-inner{height:100%;max-height:100%;margin-right:0}.blocks-app .email-pane__col_settings-inner_reverse{flex-direction:row-reverse}.blocks-app .email-pane__col_settings-inner_reverse .email-pane__tab-bar.ant-tabs-nav{margin-left:0;margin-right:8px}.blocks-app .email-pane__col_settings-inner_reverse .email-pane__tab-bar.ant-tabs-nav .ant-tabs-tab-btn>span{line-height:1}.blocks-app .email-pane__col .email-pane__tab-bar.ant-tabs-nav .ant-tabs-tab-btn>span{height:24px;margin-right:0;font-size:20px}.blocks-app .email-pane__col-wrapper_pinch .email-pane__col .email-pane__tab-bar.ant-tabs-nav{border-left:1px solid var(--em-colorBorderSecondary);background:var(--em-colorBgContainer)}.blocks-app .email-pane__reverse .email-pane__col-wrapper_pinch .email-pane__col .email-pane__tab-bar.ant-tabs-nav{border-left:none}.blocks-app .email-pane__col .email-pane__col_settings-inner_reverse{border-right:1px solid var(--em-colorBorder)}.blocks-app .email-pane_view .email-pane__col{height:calc(100vh - 48px);top:0;bottom:0;overflow:auto}.blocks-app .email-pane__col_settings{height:calc(100vh - 76px);position:sticky;top:10px;bottom:60px;overflow:auto}.blocks-app .email-pane_view .email-pane__col_settings{height:calc(100vh - 48px)}.blocks-app .email-pane__col_settings-collapsed{flex:0 0;max-width:0}.blocks-app .email-pane__col_preview{scroll-behavior:smooth}.blocks-app .email-pane_code-mode .email-pane__row:not(.email-pane__bottom) .email-pane__col_preview{overflow:auto;width:100%!important}.blocks-app .email-pane__col_preview-collapsed{flex:0 0 100%;width:100%;max-width:100%}.blocks-app .email-pane__col_settings{z-index:11;height:100%;position:sticky;top:20px;bottom:60px;overflow:visible}.blocks-app .email-pane__col_settings-inner{height:100%;max-height:100%}.blocks-app .email-pane__col_menu{margin-left:20px}.blocks-app .email-pane__col .ant-modal-close{top:14px;width:34px;height:34px;font-size:16px;position:absolute;inset-inline-end:12px;padding:0!important}.blocks-app .email-pane__col_code-mode .ant-menu-vertical.element-preview-menu__list_discuss li.ant-menu-item{text-align:center}.blocks-app .email-pane__col__alert{z-index:100;width:40%;max-width:400px;bottom:40px;left:10px;position:absolute!important}.blocks-app .email-pane__collapse-wrapper{background-color:var(--em-colorBgContainer);border:1px solid var(--em-colorBgContainer);border-radius:calc(var(--em-borderRadiusXL) * 1px);flex-direction:column;align-self:flex-start;height:auto;min-height:0;max-height:100%;display:flex;overflow:hidden}.dark .blocks-app .email-pane__collapse-wrapper{border:1px solid var(--em-colorBorderSecondary)}.blocks-app .email-pane__collapse-wrapper_disabled{display:none}.blocks-app .email-pane__collapse-wrapper>*{min-height:0;max-height:100%}.blocks-app .email-pane__collapse-wrapper .ant-tabs-content-holder{border-radius:0 0 calc(var(--em-borderRadiusXL) * 1px) calc(var(--em-borderRadiusXL) * 1px);border:none;margin:0 -1px -1px;transition:all .3s;overflow:hidden}.blocks-app .email-pane__collapse-wrapper .selected_form-mobile-props-title,.blocks-app .email-pane__collapse-wrapper .selected_form-desktop-props-title{opacity:0;will-change:transform, height;padding-top:0;transition:height .45s cubic-bezier(.16,1,.3,1),margin-top .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1),opacity .3s ease-out;transform:translateY(-100%)}@keyframes em-mobile-props-title-slide-in{0%{opacity:0;height:0;transform:translateY(-100%)}to{opacity:1;height:32px;transform:translateY(0)}}.blocks-app .email-pane__collapse-wrapper #selected_element_form_desktop_props{transition:all .1s}.blocks-app .email-pane__collapse-wrapper .selected_form-props-wrapper_optimize{padding-top:0}.blocks-app .ant-app .email-pane__collapse-wrapper .selected_form-mobile-props-title,.blocks-app .ant-app .email-pane__collapse-wrapper .selected_form-desktop-props-title{background-color:var(--em-colorInfoBg);border:none;border-radius:0;height:0;padding:0 24px;top:0;overflow:hidden}.blocks-app .email-pane__collapse-wrapper.mobile-properties .panel-form__body{border:1px solid var(--em-colorInfo);border-radius:0 0 calc(var(--em-borderRadius) * 2px) calc(var(--em-borderRadius) * 2px);scrollbar-gutter:auto;flex-direction:column;display:flex;overflow:hidden}.blocks-app .email-pane__collapse-wrapper.mobile-properties .panel-form__body-content{flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.blocks-app .email-pane__collapse-wrapper.mobile-properties .panel-form__body-content>div{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.blocks-app .email-pane__collapse-wrapper.mobile-properties .ant-tabs .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--em-colorInfo)}.blocks-app .email-pane__collapse-wrapper.mobile-properties .ant-tabs .ant-tabs-ink-bar{background:var(--em-colorInfo)}.blocks-app .email-pane__collapse-wrapper.mobile-properties .email-properties__collapse:after{display:none}.blocks-app .email-pane__collapse-wrapper.mobile-properties .selected-element-panel-content{flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.blocks-app .email-pane__collapse-wrapper.mobile-properties .selected-element-panel{flex-direction:column;flex:1;min-height:0;padding-left:0;padding-right:0;display:flex;overflow:hidden}.blocks-app .email-pane__collapse-wrapper.mobile-properties .selected-element-panel>div{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.blocks-app .email-pane__collapse-wrapper.mobile-properties form.element-controls{flex-direction:column;height:100%;min-height:0;display:flex}.blocks-app .email-pane__collapse-wrapper.mobile-properties #selected_element_form_desktop_props{min-height:0;padding:24px var(--em-panel-form-padding-x,24px) 0;flex:1;overflow:hidden auto}.blocks-app .email-pane__collapse-wrapper.mobile-properties .selected_form-mobile-props-wrapper{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.blocks-app .email-pane__collapse-wrapper.mobile-properties .selected_form-mobile-props-header{flex-shrink:0}.blocks-app .email-pane__collapse-wrapper.mobile-properties .selected_form-mobile-props{scrollbar-gutter:stable;flex:1;min-height:0;overflow:hidden auto}.blocks-app .email-pane__collapse-wrapper.mobile-properties .selected-element-panel__float-blocks-settings{display:none}.blocks-app .email-pane__collapse-wrapper.mobile-properties .selected_form-desktop-props-title{opacity:1;height:32px;animation:.45s cubic-bezier(.16,1,.3,1) both em-mobile-props-title-slide-in;transform:translateY(0)}.blocks-app .email-pane__collapse-wrapper.mobile-properties .selected_form-mobile-props-title{z-index:1;border:none;border-bottom:1px solid var(--em-colorBorderSecondary);background-color:var(--em-colorInfoBg);padding:5px 24px;transform:translateY(0)}.blocks-app .email-pane__collapse-wrapper.mobile-view .ant-tabs-tab:first-child:hover{color:var(--em-colorInfo)}.blocks-app .email-pane__collapse-wrapper.mobile-view .selected_form-mobile-props-title{opacity:1;height:32px;animation:.45s cubic-bezier(.16,1,.3,1) both em-mobile-props-title-slide-in;transform:translateY(0)}.blocks-app .email-pane__collapse-wrapper.mobile-view .selected_form-mobile-props-title .ant-alert-title{color:var(--em-colorInfoText)}.blocks-app .email-pane__collapse-wrapper_build{flex:1;align-self:stretch;height:100%}.blocks-app .email-pane__collapse-wrapper_build>.email-pane__collapse{flex:1;min-height:0}.blocks-app .email-pane__collapse-wrapper_build>.email-pane__collapse>.ant-tabs-content-holder{flex:1;min-height:0;display:flex}.blocks-app .email-pane__collapse-wrapper_build>.email-pane__collapse>.ant-tabs-content-holder>.ant-tabs-content{height:100%;min-height:0}.blocks-app .email-pane__collapse-wrapper_build>.email-pane__collapse>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane-active{flex-direction:column;flex:1;min-height:0;display:flex}.blocks-app .email-pane__col-wrapper_pinch .email-pane__collapse-wrapper{border:none;border-left:1px solid var(--em-colorBorder);border-radius:0;height:100%}.blocks-app .email-pane__collapse{flex-direction:column;flex:1;width:100%;height:100%;min-height:0;max-height:100%;display:flex;overflow:hidden}.blocks-app .email-pane__collapse.ant-collapse{border:0}.blocks-app .email-pane__collapse-panel.ant-collapse-item{min-height:50px;overflow:hidden}.blocks-app .email-pane__comment-counter{border-radius:10px;width:27px;height:16px;margin:5px;padding:0 6px;font-size:12px}.blocks-app .email-pane__add-new-element-btn{width:100%;margin-bottom:60px}.blocks-app .email-pane__tab-bar.ant-tabs-nav{z-index:1;width:60px;margin-bottom:0;margin-left:8px;margin-right:0;top:0}.blocks-app .email-pane__tab-bar.ant-tabs-nav .ant-tabs-tab-active{border-radius:8px;border-right:none!important}.blocks-app .email-pane__tab-bar.ant-tabs-nav .ant-tabs-tabpane,.blocks-app .ant-tabs-left>.email-pane__tab-bar.ant-tabs-nav .ant-tabs-tab{padding-left:0}.blocks-app .ant-tabs-left>.email-pane__tab-bar.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.blocks-app .ant-tabs-right>.email-pane__tab-bar.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-top:0}.blocks-app .email-pane__tab-bar.ant-tabs-nav .ant-tabs-nav-list{background:var(--em-colorBgContainer);border-radius:8px;flex:none;padding:0 0 4px;box-shadow:0 2px 10px #0500380a}.blocks-app .email-pane__col-wrapper_pinch .email-pane__tab-bar.ant-tabs-nav .ant-tabs-nav-list{box-shadow:none;border-radius:0;height:100%}.blocks-app .email-pane__tab-bar.ant-tabs-nav .ant-tabs-nav-wrap{overflow:unset;flex:none}.blocks-app .email-pane__tab-bar.ant-tabs-nav+.ant-tabs-content-holder{border-left:none;margin-left:0}.blocks-app .email-pane__tab-bar.ant-tabs-nav+.ant-tabs-content-holder .ant-tabs-content>.ant-tabs-tabpane{padding-left:0}.blocks-app .email-pane__tab-bar.ant-tabs-nav .ant-tabs-tab:first-child,.blocks-app .email-pane__tab-bar.ant-tabs-nav .ant-tabs-tab:nth-child(2),.blocks-app .email-pane__tab-bar.ant-tabs-nav .ant-tabs-tab:nth-child(3){display:none}.blocks-app .email-pane__col-wrapper_pinch .email-pane__tab-bar.ant-tabs-nav{margin-left:0;margin-right:0}.blocks-app .email-pane .ant-tabs-right>.ant-tabs-content-holder,.blocks-app .email-pane .ant-tabs-right>div>.ant-tabs-content-holder{border-right:none;margin-right:0}.blocks-app .email-pane .ant-tabs-left>.ant-tabs-nav .ant-tabs-tab{border:1px solid #0000;height:60px;padding:14px 24px}@media (width<=1550px){.blocks-app .email-pane .ant-tabs-left>.ant-tabs-nav .ant-tabs-tab{height:50px}}.blocks-app .email-pane .ant-collapse-panel{box-sizing:content-box;height:calc(100% - 50px);margin-top:-1px;overflow:auto}.blocks-app .email-pane .ant-tabs-content{height:100%;max-height:100%}.blocks-app .email-pane .ant-collapse-body,.blocks-app .email-pane .secondary-tabs .ant-tabs-content{height:100%;padding-bottom:0;position:relative;overflow:hidden scroll}.blocks-app .email-pane__comment-counter{position:absolute;top:-4px;right:0}@media (width<=1550px){.blocks-app .email-pane__comment-counter{right:-5px}}.blocks-app .email-pane__content-col_disable{pointer-events:none}.blocks-app .email-pane .header__project{vertical-align:middle;align-items:center;height:28px;padding-top:0;display:inline-flex}.blocks-app .email-pane .header__project .ant-avatar.ant-avatar-circle{min-width:28px}.blocks-app .email-pane_view .header__project{pointer-events:none}.blocks-app .email-pane__pane{height:100%;transition:height .2s cubic-bezier(0,0,.2,1);position:relative}.blocks-app .email-pane__panes{height:calc(100vh - 48px);display:flex;overflow:auto}.blocks-app .email-pane__panes-resizer{z-index:2;position:relative}.blocks-app .email-pane__panes-resizer:before{content:"";background-color:#0000;border-left:2px solid #0000;width:10px;height:100%;transition:border-color .2s;position:absolute;inset:0}.blocks-app .email-pane__panes-resizer:hover{cursor:col-resize}.blocks-app .email-pane__panes-resizer:hover:before{border-color:var(--em-colorPrimary)}.blocks-app .email-pane__footer{z-index:2;border-top:1px solid #d9d9d9;height:28px;display:none;position:relative}.blocks-app .email-pane:not(.email-pane_view) .email-pane__pane-content{height:100%;position:absolute;inset:0;overflow:hidden}.blocks-app .email-pane__pane_main .email-pane:not(.email-pane_view) .email-pane__pane-content{overflow:auto}.blocks-app .email-pane:not(.email-pane_view) .email-pane__pane-content .email-pane__pane_editor{height:100%;overflow:visible}.blocks-app .email-pane:not(.email-pane_view) .email-pane__pane-content .email-pane__pane_editor .email-pane__pane-content{height:100%}.blocks-app .email-pane__buttons{text-align:right}.blocks-app .email-pane__buttons .ant-space.ant-space-horizontal.ant-space-align-center{display:flex}.blocks-app .email-pane__buttons button{width:46px;height:24px;margin-left:8px;padding:0}.blocks-app .email-pane__iframe-scroll-bottom,.blocks-app .email-pane__iframe-scroll-top{z-index:10;width:100%;height:50px;display:none;position:sticky;left:0;right:0}.blocks-app .email-pane__iframe-scroll-top{margin-bottom:-50px;top:0}.blocks-app .email-pane__iframe-scroll-bottom{margin-top:-50px;bottom:0}.blocks-app .email-pane__list{border:none;line-height:20px}.blocks-app .email-pane__list.ant-menu-horizontal>.ant-menu-item{padding:0 14px}.blocks-app .email-pane__list.ant-menu-horizontal>.ant-menu-item:after{content:none}.blocks-app .email-pane__list-item_active{color:var(--em-colorPrimaryTextHover)}.blocks-app .ant-menu-item .email-pane__list-item-icon.anticon{font-size:20px}.blocks-app .email-pane__list-item:hover .email-pane__list-item-icon.anticon,.blocks-app .email-pane__list-item_active.ant-menu-item .email-pane__list-item-icon.anticon{color:var(--em-colorPrimaryTextHover)}.blocks-app .email-pane__list-item.ant-menu-item.ant-menu-item-selected,.blocks-app .email-pane__list-item.ant-menu-item-disabled:hover .email-pane__list-item-icon.anticon{color:inherit}.blocks-app .email-pane__content-col.email-pane__content-col_menu{min-width:462px;margin-left:0}.blocks-app .email-pane__content-col_menu-left{margin-right:10px}.blocks-app .email-pane__code-mode{margin-top:10px;display:flex}.blocks-app .email-pane__code-mode .email-pane__panes{width:100%}.blocks-app .email-pane__code-mode .email-pane__panes+.email-pane__content-col.email-pane__content-col_menu,.blocks-app .email-pane__code-mode .email-pane__content-col.email-pane__content-col_menu:not(.email-pane__content-col_menu-right){width:60px;min-width:60px;margin-top:5px;margin-left:10px;margin-right:10px}.blocks-app .email-pane__code-mode .email-pane__content-col.email-pane__content-col_menu.email-pane__content-col_menu-right{width:50px;min-width:50px;margin-top:5px;margin-left:10px;margin-right:10px}.blocks-app .email-pane__col_code-mode{top:0}.blocks-app .email-pane__comments-icon-wrapper{text-align:center;cursor:pointer;width:50px;height:60px;margin-right:5px;padding:13px 21px;position:relative}.blocks-app .email-pane__comments-icon-wrapper:hover{color:#999da0}.blocks-app .email-pane__comment-counter{color:#000000d9;width:auto;min-width:28px;height:18px;text-shadow:none;border:1px solid #fff;border-radius:10px;margin:5px;padding:0 6px;font-size:12px;position:absolute;top:-8px;right:-10px}.blocks-app body.dark .email-pane__comment-counter{color:#f0f0f0;border-color:#1f1f1f}.blocks-app .email-pane__col-wrapper_pinch .email-pane__comment-counter{right:0}.blocks-app .email-pane__tab-bar.ant-tabs-nav .ant-tabs-tabpane,.blocks-app .ant-tabs-left>.email-pane__tab-bar.ant-tabs-nav .ant-tabs-tab{padding-left:0}.blocks-app .ant-tabs-right>.email-pane__tab-bar.ant-tabs-nav .ant-tabs-tab{padding-right:0}.blocks-app .ant-tabs-left>.email-pane__tab-bar.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-top:0}.blocks-app .ant-tabs-right>.email-pane__tab-bar.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{z-index:1;margin-top:0}.blocks-app .ant-tabs-right>.email-pane__tab-bar.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab .ant-tabs-tab-btn{background:0 0;border-radius:6px;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.blocks-app .ant-tabs-right>.email-pane__tab-bar.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{background:var(--em-controlItemBgActive)}.blocks-app .email-pane__tab-bar.ant-tabs-nav .ant-tabs-nav-list .ant-tabs-ink-bar{box-sizing:border-box;background:#fff;border:none;border-radius:6px;width:60px;margin:0 2px;display:none;box-shadow:0 2px 8px -2px #0000000d,0 1px 4px -1px #00000012,0 0 1px #00000014}.blocks-app .email-pane__tab-bar.ant-tabs-nav+.ant-tabs-content-holder{border-left:none;width:397px;margin-left:0}.blocks-app .email-pane__tab-bar.ant-tabs-nav+.ant-tabs-content-holder .ant-tabs-content>.ant-tabs-tabpane{padding-left:0;padding-right:0}.blocks-app .email-pane__tab-bar.ant-tabs-nav .ant-tabs-tab:first-child{display:none}.blocks-app .email-pane .ant-tabs-left>.ant-tabs-nav .ant-tabs-tab,.blocks-app .email-pane .ant-tabs-right>.ant-tabs-nav .ant-tabs-tab{border:none;height:56px;padding:4px 4px 0}.blocks-app .email-pane .ant-tabs-tab .anticon{margin-right:0;font-size:20px}.blocks-app .email-pane__code-mode:not(.email-pane__col_preview-collapsed){padding-left:60px}.blocks-app .email-pane__content-col_tabs.email-pane__content-col{margin-left:0;margin-right:0;transition:all .3s cubic-bezier(.075,.82,.165,1);top:30px}@media (width<=1350px){.blocks-app .email-pane__content-col_tabs.email-pane__content-col{transform-origin:0 0;transform:scale(.83)}}.blocks-app .email-pane__col-wrapper_pinch .email-pane__content-col_tabs.email-pane__content-col{margin-top:0;top:0;height:100%!important}.blocks-app .email-pane .email-pane__col-wrapper_pinch .blocks-search__empty-wrapper{height:calc(100% - 30px)}.blocks-app .email-pane__col_preview-collapsed{margin-left:70px}.blocks-app .email-pane .email-pane__content-col_main{border:1px solid var(--em-colorBorder);border-radius:calc(var(--em-borderRadiusXL) * 1px);margin-left:-2px;margin-right:-2px;transition:border-color .4s;overflow:hidden auto}.blocks-app .email-pane .secondary-tabs.secondary-tabs_unset_scroll .ant-tabs-nav:after{display:none}.blocks-app .email-pane .secondary-tabs.secondary-tabs_unset_scroll .ant-tabs-content{overflow-y:hidden;padding-top:0!important;padding-right:24px!important}.blocks-app .email-pane__col.email-pane__col_preview{flex-direction:column;justify-content:flex-start;align-items:center;max-width:1600px;margin:0;padding:0 2px;display:flex}.blocks-app .email-pane__sizes{border:1px solid var(--em-colorBorder);z-index:10;opacity:.9;border-top:none;border-radius:0 0 8px 8px;justify-content:center;width:100%;height:15px;min-height:15px;margin-bottom:15px;transition:all .5s;display:flex;position:sticky;top:0;left:0}.blocks-app .email-pane__sizes:hover{opacity:1}.blocks-app .email-pane_code-mode .email-pane__row:not(.email-pane__bottom) .email-pane__sizes{border-width:0;height:0;min-height:0;margin-bottom:0}.blocks-app .email-pane__sizes .email-pane__width-selectors-wrapper{justify-content:center;width:100%;display:flex}.blocks-app .email-pane__sizes .device-width__theme{border-right:1px solid var(--em-colorBorder);background-color:var(--em-colorBgElevated);flex-shrink:0;width:36px;transition:all .3s;position:relative}.blocks-app .email-pane__sizes .device-width__theme .email-pane__theme-toggle{margin:0}.blocks-app .email-pane__sizes .device-width__theme-placeholder{flex-shrink:0;width:36px;cursor:default!important}.blocks-app .email-pane__sizes [class^=device-width__]{border-right:1px solid var(--em-colorBorder);background-color:var(--em-colorBgElevated);cursor:pointer;transition:all .3s;position:relative}.blocks-app .email-pane__sizes [class^=device-width__]:first-child{border-bottom-left-radius:calc(var(--em-borderRadius) * 1px)}.blocks-app .email-pane__sizes [class^=device-width__]:last-child{border-bottom-right-radius:calc(var(--em-borderRadius) * 1px);border:none}.blocks-app .ant-app .email-pane__sizes [class^=device-width__] button{color:var(--em-colorTextDescription);width:24px;min-width:24px;height:24px;line-height:1}.blocks-app .ant-app .email-pane__sizes [class^=device-width__] button:hover{background:var(--em-colorPrimaryBg)}.blocks-app .email-pane__sizes .device-width__320{text-align:center;color:var(--em-colorText);font-size:12px;line-height:15px}.blocks-app .email-pane__sizes.device-width__full-hovered [class^=device-width__],.blocks-app .email-pane__sizes.device-width__768-hovered [class*=__768],.blocks-app .email-pane__sizes.device-width__768-hovered [class*=__425],.blocks-app .email-pane__sizes.device-width__768-hovered [class*=__375],.blocks-app .email-pane__sizes.device-width__768-hovered [class*=__320],.blocks-app .email-pane__sizes.device-width__425-hovered [class*=__425],.blocks-app .email-pane__sizes.device-width__425-hovered [class*=__375],.blocks-app .email-pane__sizes.device-width__425-hovered [class*=__320],.blocks-app .email-pane__sizes.device-width__375-hovered [class*=__375],.blocks-app .email-pane__sizes.device-width__375-hovered [class*=__320],.blocks-app .email-pane__sizes.device-width__320-hovered [class*=__320]{background:var(--em-colorPrimaryBg)}.blocks-app .email-pane__resizable{width:100%;margin-bottom:29px;transition:max-width .5s;position:relative}.blocks-app .blocks-plugin .email-pane__resizable{padding:0 2px}.blocks-app .email-pane__resizable_drag{transition:none}.blocks-app .email-pane__resizable .email-pane__handle{z-index:1;box-sizing:border-box;opacity:0;cursor:ew-resize;width:5px;height:100%;transition:opacity .4s;position:absolute}.blocks-app .email-pane_code-mode .email-pane__row:not(.email-pane__bottom) .email-pane__resizable .email-pane__handle{pointer-events:none}.blocks-app .email-pane__resizable .email-pane__handle:hover,.blocks-app .email-pane__resizable .email-pane__handle:active{opacity:1}.blocks-app .email-pane__resizable .email-pane__handle.left{left:0}.blocks-app .email-pane__resizable .email-pane__handle.right{right:0}.blocks-app .email-pane__left .email-pane__resizable,.blocks-app .email-pane__right .email-pane__resizable{margin-bottom:0}.blocks-app .email-pane__tooltip{margin-right:20px}.blocks-app .email-pane .ant-layout-content.container.email-pane__container{padding-bottom:0}.blocks-app .email-pane .ant-tabs-tabpane.ant-tabs-tabpane-active.em-analytics__email-tab-build{border-top-left-radius:0}.blocks-app .email-pane .ant-tabs-large.secondary-tabs .ant-tabs-nav-list{padding-left:24px}.blocks-app .email-pane .ant-tabs-large.secondary-tabs .ant-tabs-nav{margin-bottom:0}.blocks-app .email-pane .ant-tabs-large.secondary-tabs .ant-tabs-tab .ant-tabs-tab-btn{font-size:14px;font-weight:400}.blocks-app .email-pane .ant-tabs-large.secondary-tabs .ant-tabs-tab+.ant-tabs-tab{margin:0 0 0 20px}.blocks-app .email-pane .ant-tabs-large.secondary-tabs .ant-tabs-content{padding:24px 13px 4px 24px}.blocks-app .email-pane .ant-tabs-large.secondary-tabs.secondary-tabs_optimise .ant-tabs-content{padding:0 25px}.blocks-app .email-pane .ant-tabs-large.secondary-tabs.email-properties__collapse .ant-tabs-content{padding-bottom:0}.blocks-app .email-pane.email-pane_no-element-navigation .ant-tabs-large.secondary-tabs.email-properties__collapse .ant-tabs-content{padding-top:0}.blocks-app .email-pane .email-properties__collapse{position:relative}.blocks-app .email-pane .email-properties__collapse:after{content:"";background:linear-gradient(180deg, var(--em-colorBgContainerDisabled), transparent 40%);border-top:1px solid var(--em-colorBorderSecondary);z-index:1;width:100%;height:20px;position:absolute;top:58px;left:0}.dark .blocks-app .email-pane .email-properties__collapse:after{background:linear-gradient(180deg, var(--em-colorBgBase) -100%, transparent 50%)}.blocks-app .email-pane .ant-tooltip{pointer-events:none}.blocks-app .email-pane__blocks-search{overflow-clip-margin:40px;flex-direction:column;height:calc(100% - 44px);min-height:0;display:flex;overflow:clip}.blocks-app .email-pane__blocks-search label.ant-segmented-item{margin-top:0}.blocks-app .email-pane__blocks-panel,.blocks-app .email-pane__blocks-panel-body{height:100%}.blocks-app .email-pane__blocks-panel-header{flex-shrink:0}.blocks-app .email-pane__blocks-panel-results{display:none}.blocks-app .email-pane__blocks-panel-results_visible{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.blocks-app .email-pane__blocks-panel_scrollable,.blocks-app .email-pane__blocks-panel_scrollable{overflow-clip-margin:40px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:clip}.blocks-app .email-pane__blocks-panel_scrollable .email-pane__blocks-panel-body{flex-direction:column;flex:1;min-height:0;margin-left:-24px;margin-right:-24px;display:flex;overflow:hidden}.blocks-app .email-pane__blocks-panel_scrollable .blocks-search__empty-shadow{padding-left:24px;padding-right:24px}.blocks-app .email-pane .email-pane__blocks-search .ant-segmented{position:relative;top:-7px}@media screen and (width<=700px){.blocks-app .email-pane_view .email-pane__buttons{display:none}.blocks-app .email-pane__content{margin:0;padding-right:0}.blocks-app .email-pane__content .email-pane__content-col_main{min-width:100%}.blocks-app .email-pane__content .email-pane__content-col_menu{display:none}.blocks-app .email-pane__content .email-pane__content-col_menu+.email-pane__resizer{border-left:none;border-right:2px solid #0000}.blocks-app .email-pane__content .email-pane__content-col_menu+.email-pane__resizer:hover{border-color:var(--em-colorPrimary)}}.blocks-app .ant-menu-vertical.element-preview-menu__list_discuss li.ant-menu-item{text-align:right;padding:0 10px}.blocks-app .ant-tooltip{pointer-events:none}@media (width<=1550px){.blocks-app .email-pane .ant-tabs .secondary-tabs.email-pane__collapse:not(.secondary-tabs_unset_scroll):after{margin-top:44px}}.dark .blocks-app .email-pane .ant-tabs .blocks-search__empty-shadow:after{background:linear-gradient(180deg, var(--em-colorBgBase) -100%, transparent 50%)}.dark .blocks-app .ant-app .email-pane .ant-tabs-extra-content .ant-segmented_editor-mode{background-color:#121212}.blocks-app .collaborator-list{position:absolute;bottom:30px}.blocks-app .ant-app .email-pane__col-wrapper_pinch .ant-switch.ant-switch_editor-mode{width:48px}.blocks-app .ant-app .email-pane__col-wrapper_pinch .ant-switch.ant-switch_editor-mode.ant-switch-checked{background:var(--em-controlItemBgActive)}.blocks-app .ant-app .email-pane__col-wrapper_pinch .ant-switch.ant-switch_editor-mode.ant-switch-checked .ant-switch-inner-checked{color:var(--em-colorPrimary)}.em-scaled-layout .email-pane__collapse-wrapper>.email-pane__collapse>.ant-tabs-content-holder{scrollbar-width:none;overflow-y:auto}.em-scaled-layout .email-pane__collapse-wrapper>.email-pane__collapse>.ant-tabs-content-holder::-webkit-scrollbar{display:none}.blocks-app .email-preview-menu__versions .ant-btn,.blocks-app .email-preview-menu__code .ant-btn,.blocks-app .email-preview-menu__preview .ant-btn,.blocks-app .email-preview-menu__test{justify-content:center;align-items:center;display:inline-flex}.blocks-app .email-preview-menu__list-item-icon{align-items:center;display:inline-flex}.blocks-app .email-preview-menu_right{margin-left:auto}.blocks-app .email-preview-menu_new{align-items:center;padding-right:22px;display:flex}.blocks-app .email-preview-menu .email-preview-menu__history *{pointer-events:none}.blocks-app .ant-menu.email-preview-menu__list{border:0}.blocks-app .ant-menu-vertical .ant-menu-item.email-preview-menu__list-item{margin-top:0;padding:0 10px}.blocks-app .ant-menu-vertical .ant-menu-item.email-preview-menu__list-item_disabled{cursor:not-allowed}.blocks-app .ant-menu-vertical .ant-menu-item.email-preview-menu__list-item:hover .ant-menu-item.email-preview-menu__list-item_disabled .anticon.email-preview-menu__list-item-icon{color:inherit}.blocks-app .ant-menu-vertical .ant-menu-item.email-preview-menu__list-item a{width:40px;height:40px;margin-left:-10px;display:block}.blocks-app .ant-menu-vertical .ant-menu-item.email-preview-menu__list-item a .email-preview-menu__list-item-icon{margin-left:10px}.blocks-app .ant-menu-item .anticon.email-preview-menu__list-item-icon{font-size:20px}.blocks-app .ant-menu-item .anticon.email-preview-menu__list-item-icon_revert{transform:scaleX(-1)}.blocks-app .email-preview-menu__list-item:hover .anticon.email-preview-menu__list-item-icon,.blocks-app .ant-menu-item.email-preview-menu__list-item_active .anticon.email-preview-menu__list-item-icon{color:var(--em-colorPrimaryHover)}.blocks-app .ant-menu-item.ant-menu-item-selected.email-preview-menu__list-item,.blocks-app .ant-menu-item-disabled.email-preview-menu__list-item:hover .anticon.email-preview-menu__list-item-icon{color:inherit}.blocks-app .ant-menu-vertical>.email-preview-menu__list__scroll-buttons{cursor:default;text-align:center;height:auto;margin:0;padding:0}.blocks-app .ant-menu-vertical>.email-preview-menu__list__scroll-buttons .ant-space{display:block}.blocks-app .ant-menu-vertical>.email-preview-menu__list__scroll-buttons button{width:40px;height:40px;box-shadow:none;text-shadow:none;background:0 0;border:none;margin-bottom:8px;padding:0;display:block}.blocks-app .ant-menu-vertical>.email-preview-menu__list__scroll-buttons button .anticon{font-size:20px;transition:color .3s}.blocks-app .ant-menu-vertical>.email-preview-menu__list__scroll-buttons button .anticon :hover{color:var(--em-colorPrimaryHover)}.blocks-app .ant-menu-vertical .email-preview-menu__list__divider{border-top:2px solid var(--em-colorBorder);width:20px;min-width:auto;margin:20px 0}.blocks-app .ant-menu-vertical .email-preview-menu__list__divider.second-devider{margin-left:10px}.blocks-app .main__ribbon{background:var(--em-colorInfo);min-height:43px;color:var(--em-colorTextLightSolid);flex-direction:row;justify-content:center;align-items:center;font-size:16px;display:flex}.blocks-app .main__ribbon button{background:var(--em-colorInfoTextHover)}.blocks-app .main__ribbon button:hover{background:var(--em-colorInfoHover)!important}.blocks-app .main__ribbon .main__ribbon-resend.ant-btn.ant-btn-sm{padding-block:5px;padding-inline:14px}.blocks-app .header{box-sizing:content-box;border-bottom:1px solid;height:70px;min-height:70px}.blocks-app .header_blocks{padding-right:10px}.blocks-app .header_main{z-index:1}.blocks-app .header__container{justify-content:space-between;align-items:center;gap:30px;min-height:70px;transition:opacity .3s;display:flex}.blocks-app .header__logo,.blocks-app .header__project{white-space:nowrap;text-overflow:ellipsis;max-width:220px;display:block;overflow:hidden}.blocks-app .header__logo{padding-top:10px}.blocks-app .header h2,.blocks-app .header h3{margin:0}.blocks-app .header__right{max-height:40px}.blocks-app .header__right .header__action-btn.ant-btn{align-items:center;height:34px;min-height:34px;padding-block:0;display:inline-flex}.blocks-app .header__right .ant-space.ant-space-horizontal.ant-space-align-center{align-items:center;display:flex}.blocks-app .header__right,.blocks-app .header__left{display:flex}.blocks-app .header__left .ant-space,.blocks-app .header__left .ant-space .ant-space-item:last-child{flex-grow:1}.blocks-app .header .project-menu__list-item{cursor:pointer;transition:color .3s}.blocks-app .header .project-menu__list-item:hover{color:#40a9ff}.blocks-app .header .project-menu__list-item svg{width:1.2em;height:1.2em;vertical-align:inherit}.blocks-app .header .project-menu__list-item .anticon-bell svg{width:1.4em;height:1.4em}.blocks-app .header .ant-typography{margin-bottom:0}.blocks-app .foo-title{color:#fff;letter-spacing:1px;background:#9254de;border-radius:3px;margin-top:-10px;margin-left:-4px;padding:0 7px;font-size:13px;font-weight:500;position:absolute}',e=window.__emailmaker_styles__||(window.__emailmaker_styles__={sheets:{},order:[]}),t=p;if(!e.sheets[t]){var o=null;try{typeof CSSStyleSheet=="function"&&"replaceSync"in CSSStyleSheet.prototype&&(o=new CSSStyleSheet,o.replaceSync(p))}catch{o=null}if(o){if(!e.host||!e.host.isConnected||!e.host.sheet){var a=document.createElement("style");a.setAttribute("data-emailmaker","true"),document.head.appendChild(a),e.host=a}for(var n=e.host.sheet,l=0;l<o.cssRules.length;l++)try{n.insertRule(o.cssRules[l].cssText,n.cssRules.length)}catch{}(e.texts||(e.texts=[])).push(p),(e.listeners||[]).forEach(function(i){try{i(p)}catch{}})}else{var a=document.createElement("style");a.setAttribute("data-emailmaker","true"),a.appendChild(document.createTextNode(p)),document.head.appendChild(a)}e.sheets[t]=!0,e.order.push(t)}}}catch(i){console.error("vite-plugin-css-injected-by-js",i)}})();
6
+ __emailmaker__.define("static/core/281afc68.js",["require","exports","module","static/core/5dc34752.js","static/core/ee980948.js","react","react/jsx-runtime","__delivery__/libs","react-dom","vite/preload-helper","classnames"],function(Ee,f,xK){const Y=Ee("./5dc34752.js"),P=Ee("./ee980948.js");let _=Ee("react"),J=Y.__toESM(_,1);_=Y.__toESM(_);let M=Ee("react/jsx-runtime"),B=Ee("__delivery__/libs"),Zt=Ee("react-dom");Zt=Y.__toESM(Zt);let wt=Ee("vite/preload-helper"),Nt=Ee("classnames");Nt=Y.__toESM(Nt);var Ju=class{capacity;items=[];constructor(e){this.capacity=e}push(e){this.items.length>=this.capacity&&this.items.shift(),this.items.push(e)}snapshot(){return this.items.slice()}size(){return this.items.length}clear(){this.items=[]}};function Zu(e,t){return t+e}function R0(){return typeof performance>"u"?Date.now():Zu(performance.now(),performance.timeOrigin)}var N0="emailmaker:diagnostics",D0="diagnostics",ls;function L0(){try{const e=new URLSearchParams(window.location.search).get(D0);return e===null?void 0:e!=="0"}catch{return}}function F0(){const e=window.__DIAGNOSTICS__;return typeof e=="boolean"?e:void 0}function x0(){try{const e=window.localStorage.getItem(N0);return e===null?void 0:e==="1"}catch{return}}function ed(){return ls===void 0&&(ls=typeof window>"u"?!1:L0()??F0()??x0()??!1),ls}function td(e){return`__${(e||"emailmaker").toLowerCase().replaceAll("-","")}__`}var St={initStart:"loader:init:start",coreReady:"loader:core:ready",initEnd:"loader:init:end",chunksLoaded:"app:chunks:loaded",showStart:"show:start",showEnd:"show:end",canvasCreated:"canvas:created",canvasLoaded:"canvas:loaded",canvasPainted:"canvas:painted",appVisible:"app:visible",editorVisible:"editor:visible",canvasSettled:"canvas:settled"},B0="app:mount:headless";function rd(e){return e.some(t=>t.phase==="app:mount:headless")?"headless":"element"}var nd=Object.values(St),U0=[St.canvasPainted,St.canvasSettled,St.appVisible,St.editorVisible];function id(e){return e==="headless"?nd.filter(t=>!U0.includes(t)):nd}function $0(e){const t=new Set(e.map(r=>r.phase));return id(rd(e)).filter(r=>!t.has(r))}var q0=5e3,G0=3e3,od="diagnosticsStore",Wi,_n;function ad(){return{marks:new Ju(q0),resources:new Ju(G0)}}function Fr(){if(_n)return _n;const e=cs();return e?(_n=e[od]??Wi??ad(),e[od]=_n,Wi=void 0,_n):(Wi??=ad(),Wi)}function Ge(e,t){ed()&&Fr().marks.push({phase:e,at:R0(),...t})}function z0(){return sd(),Fr().marks.snapshot()}function V0(){return Fr().resources.snapshot()}function H0(){const e=Fr();e.marks.clear(),e.resources.clear()}function cs(){if(typeof window.__emailmaker__<"u"&&window.__emailmaker__)return window.__emailmaker__;if(typeof window>"u")return;const e=window[td()];return e!==null&&typeof e=="object"?e:void 0}function W0(e){const t=e.length,r=Fr();return e.forEach(n=>r.marks.push(n)),e.length=0,t}function sd(){const e=cs();return!e||!Array.isArray(e.diagnosticsBuffer)?0:W0(e.diagnosticsBuffer)}var BK="[show-pipeline]";function K0(e){return e instanceof Error?`${e.name}: ${e.message}`:typeof e=="string"?e:JSON.stringify(e)??"undefined"}function Q0(e,t){}var ld=class{_voidElements;constructor(e){this._voidElements=new Set(e)}isVoidElement(e){return this._voidElements.has(e.toLowerCase())}},De=(function(e){return e[e.StartCommentTag=0]="StartCommentTag",e[e.Comment=1]="Comment",e[e.EndCommentTag=2]="EndCommentTag",e[e.StartTagOpen=3]="StartTagOpen",e[e.StartTagClose=4]="StartTagClose",e[e.StartTagSelfClose=5]="StartTagSelfClose",e[e.StartTag=6]="StartTag",e[e.EndTagOpen=7]="EndTagOpen",e[e.EndTagClose=8]="EndTagClose",e[e.EndTag=9]="EndTag",e[e.DelimiterAssign=10]="DelimiterAssign",e[e.AttributeName=11]="AttributeName",e[e.AttributeValue=12]="AttributeValue",e[e.StartDoctypeTag=13]="StartDoctypeTag",e[e.Doctype=14]="Doctype",e[e.EndDoctypeTag=15]="EndDoctypeTag",e[e.Content=16]="Content",e[e.Whitespace=17]="Whitespace",e[e.Unknown=18]="Unknown",e[e.Script=19]="Script",e[e.Styles=20]="Styles",e[e.EOS=21]="EOS",e[e.BogusComment=22]="BogusComment",e[e.AdvancedStart=100]="AdvancedStart",e[e.AdvancedEnd=101]="AdvancedEnd",e})({}),Y0=class{source;len;position;constructor(e,t){this.source=e,this.len=e.length,this.position=t}eos(){return this.len<=this.position}getSource(){return this.source}pos(){return this.position}goBackTo(e){this.position=e}goBack(e){this.position-=e}advance(e){this.position+=e}goToEnd(){this.position=this.source.length}nextChar(){return this.source.charCodeAt(this.position++)||0}peekChar(e=0){return this.source.charCodeAt(this.position+e)||0}advanceIfChar(e){return e===this.source.charCodeAt(this.position)?(this.position++,!0):!1}advanceIfChars(e){let t;if(this.position+e.length>this.source.length)return!1;for(t=0;t<e.length;t++)if(this.source.charCodeAt(this.position+t)!==e[t])return!1;return this.advance(t),!0}advanceIfRegExp(e){const t=this.source.substr(this.position).match(e);return t?(this.position=this.position+t.index+t[0].length,t[0]):""}advanceUntilRegExp(e){const t=this.source.substr(this.position).match(e);return t?(this.position=this.position+t.index,t[0]):(this.goToEnd(),"")}advanceUntilChar(e){for(;this.position<this.source.length;){if(this.source.charCodeAt(this.position)===e)return!0;this.advance(1)}return!1}advanceUntilChars(e){for(;this.position+e.length<=this.source.length;){let t=0;for(;t<e.length&&this.source.charCodeAt(this.position+t)===e[t];t++);if(t===e.length)return!0;this.advance(1)}return this.goToEnd(),!1}skipWhitespace(){return this.advanceWhileChar(e=>e===tS||e===rS||e===J0||e===eS||e===Z0)>0}advanceWhileChar(e){const t=this.position;for(;this.position<this.len&&e(this.source.charCodeAt(this.position));)this.position++;return this.position-t}},us=33,xr=45,vn=60,ct=62,bn=47,X0=61,cd=34,ud=39,J0=10,Z0=13,eS=12,tS=32,rS=9,dd=63,nS=65,iS=90,oS=97,aS=122;function fd(e){return e>=oS&&e<=aS||e>=nS&&e<=iS}function md(e){return fd(e)||e===bn||e===us||e===dd}var pd="(?=[\\s/>])",sS=new RegExp(`<!--|-->|<\\/?script${pd}\\s*\\/?>?`,"i"),lS=new RegExp(`<\\/style${pd}`,"i"),cS={"text/x-handlebars-template":!0,"text/html":!0};function uS(e,t=0,r=0,n=!1){const i=new Y0(e,t);let o=r,a=0,s=18,c,l,u=!1,d,m,p;function g(){return i.advanceIfRegExp(/^[_:a-zA-Z][_:\w-.\d]*/).toLowerCase()}function h(){const y=i.pos();for(;!i.eos();){const T=i.nextChar();if(T===ct)return!0;if(T===vn)break;if(T===cd||T===ud){if(!i.advanceUntilChar(T))break;i.advance(1)}}return i.goBackTo(y),!1}function v(){for(;i.advanceUntilChar(vn)&&!md(i.peekChar(1));)i.advance(1)}function E(y){return i.advanceUntilChar(ct)&&i.advance(1),b(y,22)}function C(){return i.advanceIfRegExp(/^[^\s"'></=\x00-\x0F\x7F\x80-\x9F]*/).toLowerCase()}function b(y,T,S){return s=T,a=y,c=S,T}function w(){const y=i.pos(),T=o,S=I();return S!==21&&y===i.pos()&&!(n&&(S===4||S===8))?(i.advance(1),b(y,18)):S}function I(){const y=i.pos();if(i.eos())return b(y,21);let T;switch(o){case 6:return i.advanceIfChars([xr,xr,ct])?(o=0,b(y,2)):(i.advanceUntilChars([xr,xr,ct]),b(y,1));case 3:return i.advanceIfChar(ct)?(o=0,b(y,15)):(i.advanceUntilChar(ct),b(y,14));case 0:return i.peekChar()===vn&&md(i.peekChar(1))?(i.advance(1),i.peekChar()===us?i.advanceIfChars([us,xr,xr])?(o=6,b(y,0)):i.advanceIfRegExp(/^!doctype/i)?(o=3,b(y,13)):E(y):i.peekChar()===dd?E(y):i.advanceIfChar(bn)?fd(i.peekChar())?(o=2,b(y,7)):E(y):(o=1,b(y,3))):(v(),b(y,16));case 2:return g().length>0?(o=5,u=!1,b(y,9)):i.skipWhitespace()?b(y,17,"Tag name must directly follow the open bracket."):(o=5,i.advanceUntilChar(ct),y<i.pos()?b(y,18,"End tag name expected."):I());case 5:if(i.skipWhitespace())return u=!0,b(y,17);if(i.advanceIfChar(ct))return o=0,b(y,8);if(n&&i.peekChar()===vn)return o=0,b(y,8,"Closing bracket missing.");if((u||i.peekChar()===bn)&&h())return o=0,b(y,8);T="Closing bracket expected.";break;case 1:return d=g(),p=void 0,m=void 0,d.length>0?(l=!1,o=4,b(y,6)):i.skipWhitespace()?b(y,17,"Tag name must directly follow the open bracket."):(o=4,i.advanceUntilChar(ct),y<i.pos()?b(y,18,"Start tag name expected."):I());case 4:return i.skipWhitespace()?(l=!0,b(y,17)):l&&(m=C(),m.length>0)?(o=9,l=!1,b(y,11)):i.advanceIfChars([bn,ct])?(o=0,b(y,5)):i.advanceIfChar(ct)?(d==="script"?p&&cS[p]?o=0:o=7:d==="style"?o=8:o=0,b(y,4)):n&&i.peekChar()===vn?(o=0,b(y,4,"Closing bracket missing.")):(i.advance(1),b(y,18,"Unexpected character in tag."));case 9:return i.skipWhitespace()?(l=!0,b(y,17)):i.advanceIfChar(X0)?(o=10,b(y,10)):(o=4,I());case 10:if(i.skipWhitespace())return b(y,17);let S=i.advanceIfRegExp(/^[^\s"'`=<>]+/);if(S.length>0)return i.peekChar()===ct&&i.peekChar(-1)===bn&&(i.goBack(1),S=S.substr(0,S.length-1)),m==="type"&&(p=S),o=4,l=!1,b(y,12);const A=i.peekChar();return A===ud||A===cd?(i.advance(1),i.advanceUntilChar(A)&&i.advance(1),m==="type"&&(p=i.getSource().substring(y+1,i.pos()-1)),o=4,l=!1,b(y,12)):(o=4,l=!1,I());case 7:let j=1;for(;!i.eos();){const O=i.advanceIfRegExp(sS);if(O.length===0)return i.goToEnd(),b(y,19);if(O==="<!--")j===1&&(j=2);else if(O==="-->")j=1;else if(O[1]!=="/")j===2&&(j=3);else if(j===3)j=2;else{i.goBack(O.length);break}}return o=0,y<i.pos()?b(y,19):I();case 8:return i.advanceUntilRegExp(lS),o=0,y<i.pos()?b(y,20):I()}return i.advance(1),o=0,b(y,18,T)}return{scan:w,getTokenType:()=>s,getTokenOffset:()=>a,getTokenLength:()=>i.pos()-a,getTokenEnd:()=>i.pos(),getTokenText:()=>i.getSource().substring(a,i.pos()),getScannerState:()=>o,getTokenError:()=>c}}var dS=new Set(["area","br","col","embed","hr","img","input","link","meta","param","vk-snippet-end"]);function fS(e){return e.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g,(t,r)=>r.toUpperCase())}var hd=Object.create(null);function mS(e,t){const r=hd[e]||(hd[e]=Object.create(null));let n=r[t];if(typeof n!="boolean"){const i=document.createElement(e)[fS(t)];n=r[t]=typeof i<"u"&&typeof i!="boolean"}return n}function pS(e){const t=e.tag?.toLowerCase();let r="";if(t){const n=e.attributes;if(n){const i=Object.keys(n);for(const o of i){const a=n[o]===null?"":n[o];typeof a=="string"&&(r+=a===""&&o!=="em"&&!mS(t,o)?` ${o}`:` ${o}="${a.replaceAll('"',"'")}"`)}}}return r}function hS(e,t){if(e.start!==e.startTagEnd||t){const r=e.tag?.toLowerCase()||"div",n=pS(e);return r==="vk-snippet-end"?`<${r}${n}/>`:`<${r}${n}>`}return""}function gd(e,t){let r=0,n=e.length;if(n===0)return 0;for(;r<n;){const i=Math.floor((r+n)/2);t(e[i])?n=i:r=i+1}return r}var we=(function(e){return e[e.HTML=0]="HTML",e[e.ELEMENT=1]="ELEMENT",e[e.ROOT=2]="ROOT",e[e.COMMENT=3]="COMMENT",e[e.DOCTYPE=4]="DOCTYPE",e[e.ADVANCED=5]="ADVANCED",e})({}),Ki=e=>e.type===0?e.start-1:e.start,gS=e=>e.type===0?e.end+1:e.end,Dt=class I0{start;end;children;parent;content;type=1;tag;closed=!1;startTagEnd;endTagStart;attributes;get attributeNames(){return this.attributes?Object.keys(this.attributes):[]}createdBy;isDirty;get root(){return this.parent?this.parent.root:this}constructor(t,r,n,i){this.start=t,this.end=r,this.children=n,this.parent=i}isSameTag(t){return this.tag===void 0?t===void 0:t!==void 0&&this.tag.length===t.length&&this.tag.toLowerCase()===t}get firstChild(){return this.children[0]}get lastChild(){return this.children.length?this.children[this.children.length-1]:void 0}findNodeBefore(t){const r=gd(this.children,n=>t<=Ki(n))-1;if(r>=0){const n=this.children[r];if(t>Ki(n)){if(t<n.end)return n.findNodeBefore(t);const i=n.lastChild;return i&&i.end===n.end?n.findNodeBefore(t):n}}return this}findNodeAt(t){const r=gd(this.children,n=>t<=Ki(n))-1;if(r>=0){const n=this.children[r];if(t>=Ki(n)&&t<=gS(n))return n.findNodeAt(t)}return this}find(t){if(t(this))return this;for(const r of this.children){const n=r.find(t);if(n)return n}}closest(t){let r=this;do if(t(r))return r;while(r=r.parent)}parents(){return this.parent?[this.parent,...this.parent.parents()]:[]}closestFromRoot(t,r=!0){const n=r?[this,...this.parents()]:this.parents();for(let i=n.length-1;i>=0;i--){const o=n[i];if(t(o))return o}}contains(t){return!!t.closest(r=>r===this)}clone(t=this.parent,r=this.start,n=!0){const i=this.start-r,o=new I0(r,this.end-i,[],t);return o.children=n?this.children.map(a=>a.clone(o,a.start-i)):[],o.attributes={...this.attributes},o.closed=this.closed,o.content=this.content,o.startTagEnd=this.startTagEnd,o.endTagStart=this.endTagStart,o.tag=this.tag,o.type=this.type,o}};function yS(e){if(typeof e=="string"){const t=e.startsWith("'")||e.startsWith('"')?1:0,r=e.endsWith("'")||e.endsWith('"')?e.length-1:e.length;return e.substring(t,r)}return e}var yd=class{text;type;node=void 0;replaces=void 0;constructor(e,t){this.text=e,this.type=t}get hasNode(){return!!this.node}addReplace(e){this.replaces?.push(e)}start(e,t,r){if(!this.node){const n=this.node=new Dt(e,this.text.length,[],r);n.type=this.type,n.startTagEnd=t,this.replaces=[]}}finish(e,t){const r=this.replaces,n=this.node,i=e+(t||0);if(r){for(const o of r){const a=o.parent;if(!a)throw new Error("parent not defined");const s=a.children.indexOf(o);a.children.splice(s,1)}this.replaces=void 0}if(n){const o=n.parent;if(!o)throw new Error("parent not defined");o.children.push(n),n.closed=t!==void 0,n.endTagStart=e,n.end=i,n.content=this.text.substring(n.startTagEnd,e),this.node=void 0}}},_d=class{dataManager;constructor(e){this.dataManager=e}parse(e,t=[]){const r=uS(e,void 0,void 0,!0),n=new Dt(0,e.length,[],void 0);n.type=we.ROOT;let i=n,o=-1,a,s=null,c=r.scan();const l=()=>{if(!i.tag){const h=i.parent.children,v=h[h.length-2],E=e.substring(i.start,i.end);v?.type===we.HTML?(v.content=(v.content||"")+E,v.end=i.end,h.splice(h.length-1,1)):(i.type=we.HTML,i.content=E,i.children=[]),i.type=we.HTML}i=i.parent},u=new yd(e,we.COMMENT),d=new yd(e,we.DOCTYPE),m=h=>{i.children.push(h)},p=(h,v)=>{const E=new Dt(h,v,[],i);E.type=we.HTML,E.content=e.substring(h,v),m(E)};for(;c!==De.EOS;){switch(c){case De.StartDoctypeTag:d.start(r.getTokenOffset(),r.getTokenEnd(),i);break;case De.EndDoctypeTag:{const b=i.lastChild,w=d.node;if(!w)throw new Error("");const I=b?b.end:i.startTagEnd!==void 0?i.startTagEnd:i.start;if(I!==w.start){const y=e.substring(I,w.start);if(y){const T=new Dt(I,w.start,[],i);T.type=we.HTML,T.content=y,m(T)}}d.finish(r.getTokenOffset(),r.getTokenLength());break}case De.StartCommentTag:u.start(r.getTokenOffset(),r.getTokenEnd(),i);break;case De.EndCommentTag:{const b=i.lastChild,w=u.node;if(!w)throw new Error("");const I=b?b.end:i.startTagEnd!==void 0?i.startTagEnd:i.start;if(I!==w.start){const y=e.substring(I,w.start);if(y){const T=new Dt(I,w.start,[],i);T.type=we.HTML,T.content=y,m(T)}}u.finish(r.getTokenOffset(),r.getTokenLength());break}case De.StartTagOpen:const h=i.lastChild,v=new Dt(r.getTokenOffset(),e.length,[],i),E=h?h.end:i.startTagEnd!==void 0?i.startTagEnd:i.start;if(E!==v.start){const b=e.substring(E,v.start);if(b){const w=new Dt(E,v.start,[],i);w.type=we.HTML,w.content=b,m(w)}}m(v),i=v;break;case De.BogusComment:{const b=i.lastChild?.end??i.startTagEnd??i.start;b<r.getTokenOffset()&&p(b,r.getTokenOffset()),p(r.getTokenOffset(),r.getTokenEnd());break}case De.StartTag:i.tag=r.getTokenText();break;case De.StartTagClose:i.parent&&(i.end=r.getTokenEnd(),r.getTokenLength()?(i.startTagEnd=r.getTokenEnd(),i.tag&&this.dataManager.isVoidElement(i.tag)&&(i.closed=!0,l())):l());break;case De.StartTagSelfClose:i.parent&&(i.closed=!0,i.end=r.getTokenEnd(),i.startTagEnd=r.getTokenEnd(),l());break;case De.EndTagOpen:o=r.getTokenOffset(),a=void 0;break;case De.EndTag:a=r.getTokenText().toLowerCase();break;case De.EndTagClose:let C=i;for(;!C.isSameTag(a)&&C.parent;)C=C.parent;if(C.parent){const b=i.lastChild,w=b?b.end:i.startTagEnd===void 0?i.start:i.startTagEnd;if(w!==o){const I=e.substring(w,o);if(I){const y=new Dt(w,o,[],i);y.type=we.HTML,y.content=I,m(y)}}for(;i!==C;)i.end=o,i.closed=!1,l();i.closed=!0,i.endTagStart=o,i.end=r.getTokenEnd(),l()}break;case De.AttributeName:{s=r.getTokenText();let b=i.attributes;b||(i.attributes=b={}),b[s]=null;break}case De.AttributeValue:{const b=r.getTokenText(),w=i.attributes;w&&s&&(w[s]=yS(b),s=null);break}}c=r.scan()}for(;i.parent;)i.end=e.length,i.closed=!1,l();u.hasNode,u.finish(e.length);const g=n.lastChild?.end||0;if(g<e.length){const h=e.substring(g);if(h){const v=new Dt(g,e.length,[],n);v.type=we.HTML,v.content=h,m(v)}}return{roots:n.children,findNodeBefore:n.findNodeBefore.bind(n),findNodeAt:n.findNodeAt.bind(n)}}},UK=new _d(new ld(["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr","vk-snippet-end"])),_S=new ld(["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr","vk-snippet-end"]),vS=new _d(_S);function bS(e){return vS.parse(e)}var vd=Symbol("bogusCommentSource");function bd(e){if(e){const t=document.createElement("div");t.insertAdjacentHTML("afterbegin",e);const r=t.firstChild??document.createTextNode("");return r.nodeType===Node.COMMENT_NODE&&ES(r,e),r}else return document.createTextNode("")}function ES(e,t){const r={source:t,data:e.data};Object.defineProperty(e,vd,{value:r,configurable:!0})}function wS(e){const t=e[vd];return t&&t.data===e.data?t:void 0}function SS(e){return wS(e)?.source}var PS=new Set(["text/x-handlebars-template","text/html"]);function IS(e,t){if(e.type!==we.HTML||!t)return!1;const r=t.tag?.toLowerCase(),n=t.attributes?.type;return r==="style"||r==="script"&&!PS.has(typeof n=="string"?n:"")}var TS={amp:"&",lt:"<",gt:">",nbsp:String.fromCodePoint(160),quot:'"'};function Ed(e){return e.replaceAll(/&(amp|lt|gt|nbsp|quot);/g,(t,r)=>TS[r])}var wd=Symbol("rawTextSource");function OS(e){const t=document.createTextNode(Ed(e));return CS(t,e),t}function CS(e,t){Object.defineProperty(e,wd,{value:t,configurable:!0})}function AS(e){const t=e[wd];return t!==void 0&&Ed(t)===e.textContent?t:void 0}var Sd;function kS(e,t,r){return Sd?Sd(e,t,r):r}var ds;function jS(){return ds||(ds=document.implementation.createHTMLDocument("")),ds}function MS(e,t){let r;switch(t?.toLowerCase()){case"tr":r=e.createElement("table");break;case"td":r=e.createElement("tr");break;case"head":case"body":r=e.createElement("html");break;case"documenttype":case"html":{const n=e.implementation.createHTMLDocument();for(const i of[...n.childNodes])i.remove();return n}default:r=e.createElement("div")}return r}var RS=new Set(["onclick","onload","onchange","onsubmit","onmouseover","onkeydown","onerror"]),NS=new Set(["script","style","xmp"]);function DS(e,t){return!(t&&NS.has(t.toLowerCase())||RS.has(e.toLowerCase()))}var LS=e=>{let t=e.indexOf("&");for(;t!==-1;){if(e.indexOf(";",t)!==-1)return!0;t=e.indexOf("&",t+1)}return!1},FS=new Set(["head","body"]);function Pd(e,t,r){let n=e.tagName.toLowerCase();n==="html"&&(n="div");const i=`<${n} ${t}="${r}"/>`,o=jS(),a=FS.has(n)?MS(o,n):o.createElement("template");if(a instanceof Document)return;a.innerHTML=i;const s=(a.tagName==="TEMPLATE"?a.content:a).querySelector(n);if(!s)throw new Error("targetElement is not defined");const c=s.getAttributeNode(t);c&&e.setAttributeNode(c.cloneNode())}function Id(e,t,r){try{DS(t,e.tagName)&&!LS(r)?e.setAttribute(t,r):Pd(e,t,r)}catch{Pd(e,t,r)}}function xS(){return bd("<script><\/script>")}var BS="text/x-em-dormant",US=Symbol("dormantScriptType");function $S(e){e[US]=e.getAttribute("type"),e.setAttribute("type",BS)}function fs(e,t=!0,r=!1){const n=e.content;switch(e.type){case we.ROOT:{const i=document.implementation.createHTMLDocument();for(const o of[...i.childNodes])i.removeChild(o);if(t)for(const o of e.children)i.appendChild(fs(o,!0,r));return i}case we.DOCTYPE:return new DOMParser().parseFromString(`<!DOCTYPE${e.content}>`,"text/html").doctype;case we.COMMENT:return document.createComment(n||"");case we.ELEMENT:if(e.tag){const i=e.tag.toLowerCase()==="script",o=r===!0&&i?xS():document.createElement(e.tag);if(Object.defineProperty(o,"$$tagName",{enumerable:!1,configurable:!1,value:e.tag}),e.attributes)for(const a of e.attributeNames){const s=e.attributes[a];try{const c=kS(o,a,typeof s=="string"?s:"");c!==null&&Id(o,a,c)}catch{}}if(r==="dormant"&&i&&$S(o),t){const a=e.tag.toLowerCase()==="template"?!0:r;for(const s of e.children)o.appendChild(IS(s,e)?OS(s.content||""):fs(s,!0,a))}return o}return document.createTextNode("<");case we.HTML:return bd(n||"");default:throw new Error("unsupported node")}}function Td(e,t=!1){return bS(e).roots.map(r=>fs(r,!0,t))}function qS(e){return e.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g,(t,r)=>r.toUpperCase())}function Od(e){return"<!DOCTYPE "+e.name+(e.publicId?' PUBLIC "'+e.publicId+'"':"")+(!e.publicId&&e.systemId?" SYSTEM":"")+(e.systemId?' "'+e.systemId+'"':"")+">"}var Cd=Object.create(null);function GS(e,t){const r=Cd[e]||(Cd[e]=Object.create(null));let n=r[t];if(typeof n!="boolean"){const i=document.createElement(e)[qS(t)];n=r[t]=typeof i<"u"&&typeof i!="boolean"}return n}function Qi(e){return e.nodeType===Node.ELEMENT_NODE}function zS(e){return Qi(e)&&!e.ownerSVGElement}function VS(e){return e.tagName==="IMG"}function HS(e){return e.tagName==="AMP-IMG"}function WS(e){return e.tagName==="BODY"}function KS(e){return e.tagName==="FORM"}function QS(e){return e.tagName==="HTML"}function YS(e){return e.tagName==="SCRIPT"}function Ad(e){return e.tagName==="STYLE"}function kd(e){return e.nodeType===Node.DOCUMENT_NODE}function XS(e){return e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function JS(e){return e.nodeType===Node.DOCUMENT_TYPE_NODE}var ms;(function(e){function t(m){return m.constructor.name==="CSSStyleRule"}e.isStyleRule=t;function r(m){return m.constructor.name==="CSSImportRule"}e.isImportRule=r;function n(m){return m.constructor.name==="CSSMediaRule"}e.isMediaRule=n;function i(m){return m.constructor.name==="CSSFontFaceRule"}e.isFontFaceRule=i;function o(m){return m.constructor.name==="CSSPageRule"}e.isPageRule=o;function a(m){return m.constructor.name==="CSSKeyframesRule"}e.isKeyframesRule=a;function s(m){return m.constructor.name==="CSSKeyframeRule"}e.isKeyframeRuleRule=s;function c(m){return m.constructor.name==="CSSNamespaceRule"}e.isNamespaceRule=c;function l(m){return m.constructor.name==="CSSCounterStyleRule"}e.isCounterStyleRule=l;function u(m){return m.constructor.name==="CSSSupportsRule"}e.isSupportsRule=u;function d(m){return m.constructor.name==="CSSFontFeatureValuesRule"}e.isFontFeatureValuesRuleRule=d})(ms||(ms={}));function ps(e){return e.nodeType===Node.COMMENT_NODE}function ZS(e){return e&&!!e.host&&!!e.mode}function hs(e){const t=e.getRootNode()||window.document;return ZS(t)?t:null}var eP=/(<!(--)?\[if\s[()\w\s|&!]+\]>(?:<!--+>)?)((?:.|\r|\n)*?)((?:<!--)?<!\[endif\]\2>)/gi;function tP(e){const t=En(e).matchAll(eP);if(t)for(const r of t){const[,n,,i,o]=r;return{open:n,close:o,content:i}}}function gs(e){return e.nodeType===Node.TEXT_NODE}function rP(e){return e.tagName==="TABLE"}async function nP(e,t=5e3){return typeof e.complete<"u"&&!e.complete?new Promise((r,n)=>{setTimeout(r,t),e.onload=()=>r(getComputedStyle(e)),e.onerror=i=>{}}):getComputedStyle(e)}function En(e){if(Qi(e))return oP(e);if(kd(e))return[...e.childNodes].map(n=>En(n)).join("");if(JS(e))return Od(e);const t=SS(e);if(t!==void 0)return t;const r=document.createElement("div");return r.appendChild(e.cloneNode(!0)),r.innerHTML}function iP(e){const t=e.tagName.toLowerCase();let r="";for(const n of e.attributes){const i=n.name,o=n.value;r+=o===""&&i!=="em"&&!GS(t,i)?` ${i}`:` ${i}="${o.replaceAll('"',"'")}"`}return r}function jd(e){let t="";for(const r of e.childNodes)t+=AS(r)??En(r);return t}function oP(e){const t=Object.getOwnPropertyDescriptor(e,"$$tagName")?.value||e.tagName.toLowerCase(),r=iP(e);return dS.has(t.toLowerCase())?t==="vk-snippet-end"?`<${t}${r}/>`:`<${t}${r}>`:Ad(e)?`<${t}${r}>${e.innerHTML}</${t}>`:`<${t}${r}>${jd(e)}</${t}>`}function Md(e,t){for(const o of[...e.childNodes])o.remove();let r=t.find(o=>QS(o)),n=t.find(o=>WS(o)),i=e;r||(r=document.createElement("html"),e.appendChild(r),i=r,n||(n=document.createElement("body"),r.appendChild(n),i=n));for(const o of t){if(i===e){if(gs(o)){i.appendChild(document.createComment(`%%%{{{${o.data}}}}%%%`));continue}if(Qi(o)&&o!==r){(r.querySelector("body")??r).appendChild(o);continue}}i.appendChild(o)}}function ys(e,t){if(e===t)return!0;if(!e||!t||typeof e!="object"||typeof t!="object")return!1;const r=Array.isArray(e);if(r!==Array.isArray(t))return!1;if(r){const o=e,a=t;return o.length===a.length&&o.every((s,c)=>ys(s,a[c]))}const n=Object.keys(e),i=Object.keys(t);return n.length!==i.length?!1:n.every(o=>Object.prototype.hasOwnProperty.call(t,o)&&ys(e[o],t[o]))}function Rd(e,t){const r={watch(n){let i,o=!1;return e.watch(a=>{const s=t(a);o&&ys(i,s)||(i=s,o=!0,n(s))})},select(n){return Rd(r,n)}};return r}function Re(...e){let t=e[0],r=e.length>0;const n=new Set,i={get(){return r?t:void 0},set(o){t=o,r=!0;for(const a of Array.from(n))a(o)},watch(o){return n.add(o),r&&o(t),{dispose:()=>n.delete(o)}},select(o){return Rd(i,o)}};return i}var Nd=P.createIdentifier$1("HeadlessMode");function Yi(e){return e.getOrCreateInstance(Nd,()=>Re(!1))}function Dd(e){return e?.getInstance(Nd)?.get()??!1}function aP(e,t){Yi(e).set(t)}var sP=P.createIdentifier$1("HiddenMount");function lP(e){return e.getOrCreateInstance(sP,()=>Re(!1))}function cP(e,t){lP(e).set(t)}var uP=Y.__commonJSMin(((e,t)=>{var r="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";t.exports=r})),dP=Y.__commonJSMin(((e,t)=>{var r=uP();function n(){}function i(){}i.resetWarningCache=n,t.exports=function(){function o(c,l,u,d,m,p){if(p!==r){var g=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw g.name="Invariant Violation",g}}o.isRequired=o;function a(){return o}var s={array:o,bigint:o,bool:o,func:o,number:o,object:o,string:o,symbol:o,any:o,arrayOf:a,element:o,elementType:o,instanceOf:a,node:o,objectOf:a,oneOf:a,oneOfType:a,shape:a,exact:a,checkPropTypes:i,resetWarningCache:n};return s.PropTypes=s,s}})),Ld=Y.__commonJSMin(((e,t)=>{t.exports=dP()()})),er=_.default.createContext(null);function fP(e){e()}var Fd=fP,mP=function(t){return Fd=t},pP=function(){return Fd},xd={notify:function(){}};function hP(){var e=pP(),t=null,r=null;return{clear:function(){t=null,r=null},notify:function(){e(function(){for(var i=t;i;)i.callback(),i=i.next})},get:function(){for(var i=[],o=t;o;)i.push(o),o=o.next;return i},subscribe:function(i){var o=!0,a=r={callback:i,next:null,prev:r};return a.prev?a.prev.next=a:t=a,function(){!o||t===null||(o=!1,a.next?a.next.prev=a.prev:r=a.prev,a.prev?a.prev.next=a.next:t=a.next)}}}}var Bd=(function(){function e(r,n){this.store=r,this.parentSub=n,this.unsubscribe=null,this.listeners=xd,this.handleChangeWrapper=this.handleChangeWrapper.bind(this)}var t=e.prototype;return t.addNestedSub=function(n){return this.trySubscribe(),this.listeners.subscribe(n)},t.notifyNestedSubs=function(){this.listeners.notify()},t.handleChangeWrapper=function(){this.onStateChange&&this.onStateChange()},t.isSubscribed=function(){return!!this.unsubscribe},t.trySubscribe=function(){this.unsubscribe||(this.unsubscribe=this.parentSub?this.parentSub.addNestedSub(this.handleChangeWrapper):this.store.subscribe(this.handleChangeWrapper),this.listeners=hP())},t.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null,this.listeners.clear(),this.listeners=xd)},e})(),_s=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u"?_.useLayoutEffect:_.useEffect;function gP(e){var t=e.store,r=e.context,n=e.children,i=(0,_.useMemo)(function(){var s=new Bd(t);return s.onStateChange=s.notifyNestedSubs,{store:t,subscription:s}},[t]),o=(0,_.useMemo)(function(){return t.getState()},[t]);_s(function(){var s=i.subscription;return s.trySubscribe(),o!==t.getState()&&s.notifyNestedSubs(),function(){s.tryUnsubscribe(),s.onStateChange=null}},[i,o]);var a=r||er;return _.default.createElement(a.Provider,{value:i},n)}function Xi(){return Xi=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Xi.apply(null,arguments)}function vs(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}var yP=Y.__commonJSMin((e=>{var t=typeof Symbol=="function"&&Symbol.for,r=t?Symbol.for("react.element"):60103,n=t?Symbol.for("react.portal"):60106,i=t?Symbol.for("react.fragment"):60107,o=t?Symbol.for("react.strict_mode"):60108,a=t?Symbol.for("react.profiler"):60114,s=t?Symbol.for("react.provider"):60109,c=t?Symbol.for("react.context"):60110,l=t?Symbol.for("react.async_mode"):60111,u=t?Symbol.for("react.concurrent_mode"):60111,d=t?Symbol.for("react.forward_ref"):60112,m=t?Symbol.for("react.suspense"):60113,p=t?Symbol.for("react.suspense_list"):60120,g=t?Symbol.for("react.memo"):60115,h=t?Symbol.for("react.lazy"):60116,v=t?Symbol.for("react.block"):60121,E=t?Symbol.for("react.fundamental"):60117,C=t?Symbol.for("react.responder"):60118,b=t?Symbol.for("react.scope"):60119;function w(y){if(typeof y=="object"&&y!==null){var T=y.$$typeof;switch(T){case r:switch(y=y.type,y){case l:case u:case i:case a:case o:case m:return y;default:switch(y=y&&y.$$typeof,y){case c:case d:case h:case g:case s:return y;default:return T}}case n:return T}}}function I(y){return w(y)===u}e.AsyncMode=l,e.ConcurrentMode=u,e.ContextConsumer=c,e.ContextProvider=s,e.Element=r,e.ForwardRef=d,e.Fragment=i,e.Lazy=h,e.Memo=g,e.Portal=n,e.Profiler=a,e.StrictMode=o,e.Suspense=m,e.isAsyncMode=function(y){return I(y)||w(y)===l},e.isConcurrentMode=I,e.isContextConsumer=function(y){return w(y)===c},e.isContextProvider=function(y){return w(y)===s},e.isElement=function(y){return typeof y=="object"&&y!==null&&y.$$typeof===r},e.isForwardRef=function(y){return w(y)===d},e.isFragment=function(y){return w(y)===i},e.isLazy=function(y){return w(y)===h},e.isMemo=function(y){return w(y)===g},e.isPortal=function(y){return w(y)===n},e.isProfiler=function(y){return w(y)===a},e.isStrictMode=function(y){return w(y)===o},e.isSuspense=function(y){return w(y)===m},e.isValidElementType=function(y){return typeof y=="string"||typeof y=="function"||y===i||y===u||y===a||y===o||y===m||y===p||typeof y=="object"&&y!==null&&(y.$$typeof===h||y.$$typeof===g||y.$$typeof===s||y.$$typeof===c||y.$$typeof===d||y.$$typeof===E||y.$$typeof===C||y.$$typeof===b||y.$$typeof===v)},e.typeOf=w})),_P=Y.__commonJSMin(((e,t)=>{t.exports=yP()})),vP=Y.__commonJSMin(((e,t)=>{var r=_P(),n={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},i={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},o={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};s[r.ForwardRef]=o,s[r.Memo]=a;function c(v){return r.isMemo(v)?a:s[v.$$typeof]||n}var l=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,m=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,g=Object.prototype;function h(v,E,C){if(typeof E!="string"){if(g){var b=p(E);b&&b!==g&&h(v,b,C)}var w=u(E);d&&(w=w.concat(d(E)));for(var I=c(v),y=c(E),T=0;T<w.length;++T){var S=w[T];if(!i[S]&&!(C&&C[S])&&!(y&&y[S])&&!(I&&I[S])){var A=m(E,S);try{l(v,S,A)}catch{}}}}return v}t.exports=h})),bP=Y.__commonJSMin((e=>{var t=typeof Symbol=="function"&&Symbol.for})),EP=Y.__commonJSMin(((e,t)=>{t.exports=bP()})),$K=Y.__toESM(vP()),qK=EP();function Ud(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function wn(e,t){if(Ud(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(var i=0;i<r.length;i++)if(!Object.prototype.hasOwnProperty.call(t,r[i])||!Ud(e[r[i]],t[r[i]]))return!1;return!0}function Pe(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var $d=typeof Symbol=="function"&&Symbol.observable||"@@observable",bs=()=>Math.random().toString(36).substring(7).split("").join("."),Ji={INIT:`@@redux/INIT${bs()}`,REPLACE:`@@redux/REPLACE${bs()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${bs()}`};function tr(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function qd(e,t,r){if(typeof e!="function")throw new Error(Pe(2));if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(Pe(0));if(typeof t=="function"&&typeof r>"u"&&(r=t,t=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(Pe(1));return r(qd)(e,t)}let n=e,i=t,o=new Map,a=o,s=0,c=!1;function l(){a===o&&(a=new Map,o.forEach((h,v)=>{a.set(v,h)}))}function u(){if(c)throw new Error(Pe(3));return i}function d(h){if(typeof h!="function")throw new Error(Pe(4));if(c)throw new Error(Pe(5));let v=!0;l();const E=s++;return a.set(E,h),function(){if(v){if(c)throw new Error(Pe(6));v=!1,l(),a.delete(E),o=null}}}function m(h){if(!tr(h))throw new Error(Pe(7));if(typeof h.type>"u")throw new Error(Pe(8));if(typeof h.type!="string")throw new Error(Pe(17));if(c)throw new Error(Pe(9));try{c=!0,i=n(i,h)}finally{c=!1}return(o=a).forEach(v=>{v()}),h}function p(h){if(typeof h!="function")throw new Error(Pe(10));n=h,m({type:Ji.REPLACE})}function g(){const h=d;return{subscribe(v){if(typeof v!="object"||v===null)throw new Error(Pe(11));function E(){const C=v;C.next&&C.next(u())}return E(),{unsubscribe:h(E)}},[$d](){return this}}}return m({type:Ji.INIT}),{dispatch:m,subscribe:d,getState:u,replaceReducer:p,[$d]:g}}function wP(e){Object.keys(e).forEach(t=>{const r=e[t];if(typeof r(void 0,{type:Ji.INIT})>"u")throw new Error(Pe(12));if(typeof r(void 0,{type:Ji.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Pe(13))})}function Es(e){const t=Object.keys(e),r={};for(let o=0;o<t.length;o++){const a=t[o];typeof e[a]=="function"&&(r[a]=e[a])}const n=Object.keys(r);let i;try{wP(r)}catch(o){i=o}return function(a={},s){if(i)throw i;let c=!1;const l={};for(let u=0;u<n.length;u++){const d=n[u],m=r[d],p=a[d],g=m(p,s);if(typeof g>"u")throw s&&s.type,new Error(Pe(14));l[d]=g,c=c||g!==p}return c=c||n.length!==Object.keys(a).length,c?l:a}}function Zi(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,r)=>(...n)=>t(r(...n)))}function SP(...e){return t=>(r,n)=>{const i=t(r,n);let o=()=>{throw new Error(Pe(15))};const a={getState:i.getState,dispatch:(s,...c)=>o(s,...c)};return o=Zi(...e.map(s=>s(a)))(i.dispatch),{...i,dispatch:o}}}function Gd(e){return tr(e)&&"type"in e&&typeof e.type=="string"}function zd(){return(0,_.useContext)(er)}function Vd(e){e===void 0&&(e=er);var t=e===er?zd:function(){return(0,_.useContext)(e)};return function(){return t().store}}var me=Vd();function PP(e){e===void 0&&(e=er);var t=e===er?me:Vd(e);return function(){return t().dispatch}}var ut=PP(),IP=function(t,r){return t===r};function TP(e,t,r,n){var i=(0,_.useReducer)(function(p){return p+1},0)[1],o=(0,_.useMemo)(function(){return new Bd(r,n)},[r,n]),a=(0,_.useRef)(),s=(0,_.useRef)(),c=(0,_.useRef)(),l=(0,_.useRef)(),u=r.getState(),d;try{if(e!==s.current||u!==c.current||a.current){var m=e(u);l.current===void 0||!t(m,l.current)?d=m:d=l.current}else d=l.current}catch(p){throw a.current&&(p.message+=`
7
+ The error may be correlated with this previous error:
8
+ `+a.current.stack+`
9
+
10
+ `),p}return _s(function(){s.current=e,c.current=u,l.current=d,a.current=void 0}),_s(function(){function p(){try{var g=s.current(r.getState());if(t(g,l.current))return;l.current=g}catch(h){a.current=h}i()}return o.onStateChange=p,o.trySubscribe(),p(),function(){return o.tryUnsubscribe()}},[r,o]),d}function OP(e){e===void 0&&(e=er);var t=e===er?zd:function(){return(0,_.useContext)(e)};return function(n,i){i===void 0&&(i=IP);var o=t(),a=o.store,s=o.subscription,c=TP(n,i,a,s);return(0,_.useDebugValue)(c),c}}var vt=OP();mP(Zt.unstable_batchedUpdates);var dr,ws=Y.__esmMin((()=>{ws(),dr=typeof dr<"u"?dr:typeof self<"u"?self:typeof window<"u"?window:{}}));function Hd(){throw new Error("setTimeout has not been defined")}function Wd(){throw new Error("clearTimeout has not been defined")}function Kd(e){if(Lt===setTimeout)return setTimeout(e,0);if((Lt===Hd||!Lt)&&setTimeout)return Lt=setTimeout,setTimeout(e,0);try{return Lt(e,0)}catch{try{return Lt.call(null,e,0)}catch{return Lt.call(this,e,0)}}}function CP(e){if(Ft===clearTimeout)return clearTimeout(e);if((Ft===Wd||!Ft)&&clearTimeout)return Ft=clearTimeout,clearTimeout(e);try{return Ft(e)}catch{try{return Ft.call(null,e)}catch{return Ft.call(this,e)}}}function AP(){!mr||!pr||(mr=!1,pr.length?Pt=pr.concat(Pt):Sn=-1,Pt.length&&Qd())}function Qd(){if(!mr){var e=Kd(AP);mr=!0;for(var t=Pt.length;t;){for(pr=Pt,Pt=[];++Sn<t;)pr&&pr[Sn].run();Sn=-1,t=Pt.length}pr=null,mr=!1,CP(e)}}function kP(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];Pt.push(new Yd(e,t)),Pt.length===1&&!mr&&Kd(Qd)}function Yd(e,t){this.fun=e,this.array=t}function fr(){}function jP(e){throw new Error("process.binding is not supported")}function MP(){return"/"}function RP(e){throw new Error("process.chdir is not supported")}function NP(){return 0}function DP(e){var t=ff.call(hr)*.001,r=Math.floor(t),n=Math.floor(t%1*1e9);return e&&(r=r-e[0],n=n-e[1],n<0&&(r--,n+=1e9)),[r,n]}function LP(){return(new Date-mf)/1e3}var Lt,Ft,Pt,mr,pr,Sn,Xd,Jd,FP,Zd,ef,xP,tf,rf,nf,of,af,sf,lf,cf,uf,df,hr,ff,mf,pf,BP=Y.__esmMin((()=>{ws(),Lt=Hd,Ft=Wd,typeof dr.setTimeout=="function"&&(Lt=setTimeout),typeof dr.clearTimeout=="function"&&(Ft=clearTimeout),Pt=[],mr=!1,Sn=-1,Yd.prototype.run=function(){this.fun.apply(null,this.array)},Xd="browser",Jd="browser",FP=!0,Zd={},ef=[],xP="",tf={},rf={},nf={},of=fr,af=fr,sf=fr,lf=fr,cf=fr,uf=fr,df=fr,hr=dr.performance||{},ff=hr.now||hr.mozNow||hr.msNow||hr.oNow||hr.webkitNow||function(){return new Date().getTime()},mf=new Date,pf={nextTick:kP,title:Xd,browser:!0,env:Zd,argv:ef,version:"",versions:tf,on:of,addListener:af,once:sf,off:lf,removeListener:cf,removeAllListeners:uf,emit:df,binding:jP,cwd:MP,chdir:RP,umask:NP,hrtime:DP,platform:Jd,release:rf,config:nf,uptime:LP}})),Ss=Symbol.for("immer-nothing"),Pn=Symbol.for("immer-draftable"),ve=Symbol.for("immer-state");function Ie(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Je=Object,gr=Je.getPrototypeOf,In="constructor",Tn="prototype",Ps="configurable",eo="enumerable",to="writable",On="value",Ze=e=>!!e&&!!e[ve];function ze(e){return e?gf(e)||An(e)||!!e[Pn]||!!e[In]?.[Pn]||kn(e)||jn(e):!1}var UP=Je[Tn][In].toString(),hf=new WeakMap;function gf(e){if(!e||!Ur(e))return!1;const t=gr(e);if(t===null||t===Je[Tn])return!0;const r=Je.hasOwnProperty.call(t,In)&&t[In];if(r===Object)return!0;if(!_r(r))return!1;let n=hf.get(r);return n===void 0&&(n=Function.toString.call(r),hf.set(r,n)),n===UP}function $P(e){return Ze(e)||Ie(15,e),e[ve].base_}function Cn(e,t,r=!0){yr(e)===0?(r?Reflect.ownKeys(e):Je.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,i)=>t(i,n,e))}function yr(e){const t=e[ve];return t?t.type_:An(e)?1:kn(e)?2:jn(e)?3:0}var Br=(e,t,r=yr(e))=>r===2?e.has(t):Je[Tn].hasOwnProperty.call(e,t),xt=(e,t,r=yr(e))=>r===2?e.get(t):e[t],ro=(e,t,r,n=yr(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function qP(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var An=Array.isArray,kn=e=>e instanceof Map,jn=e=>e instanceof Set,Ur=e=>typeof e=="object",_r=e=>typeof e=="function",Is=e=>typeof e=="boolean";function GP(e){const t=+e;return Number.isInteger(t)&&String(t)===e}var zP=e=>Ur(e)?e?.[ve]:null,Bt=e=>e.copy_||e.base_,Ts=e=>e.modified_?e.copy_:e.base_;function Os(e,t){if(kn(e))return new Map(e);if(jn(e))return new Set(e);if(An(e))return Array[Tn].slice.call(e);const r=gf(e);if(t===!0||t==="class_only"&&!r){const n=Je.getOwnPropertyDescriptors(e);delete n[ve];let i=Reflect.ownKeys(n);for(let o=0;o<i.length;o++){const a=i[o],s=n[a];s[to]===!1&&(s[to]=!0,s[Ps]=!0),(s.get||s.set)&&(n[a]={[Ps]:!0,[to]:!0,[eo]:s[eo],[On]:e[a]})}return Je.create(gr(e),n)}else{const n=gr(e);if(n!==null&&r)return{...e};const i=Je.create(n);return Je.assign(i,e)}}function Cs(e,t=!1){return io(e)||Ze(e)||!ze(e)||(yr(e)>1&&Je.defineProperties(e,{set:no,add:no,clear:no,delete:no}),Je.freeze(e),t&&Cn(e,(r,n)=>{Cs(n,!0)},!1)),e}function VP(){Ie(2)}var no={[On]:VP};function io(e){return e===null||!Ur(e)?!0:Je.isFrozen(e)}var oo="MapSet",ao="Patches",yf="ArrayMethods",so={};function vr(e){const t=so[e];return t||Ie(0,e),t}var _f=e=>!!so[e];function HP(e,t){so[e]||(so[e]=t)}var Mn,vf=()=>Mn,WP=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:_f(oo)?vr(oo):void 0,arrayMethodsPlugin_:_f(yf)?vr(yf):void 0});function bf(e,t){t&&(e.patchPlugin_=vr(ao),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function As(e){ks(e),e.drafts_.forEach(KP),e.drafts_=null}function ks(e){e===Mn&&(Mn=e.parent_)}var Ef=e=>Mn=WP(Mn,e);function KP(e){const t=e[ve];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function wf(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];if(e!==void 0&&e!==r){r[ve].modified_&&(As(t),Ie(4)),ze(e)&&(e=Sf(t,e));const{patchPlugin_:n}=t;n&&n.generateReplacementPatches_(r[ve].base_,e,t)}else e=Sf(t,r);return QP(t,e,!0),As(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==Ss?e:void 0}function Sf(e,t){if(io(t))return t;const r=t[ve];if(!r)return co(t,e.handledSet_,e);if(!lo(r,e))return t;if(!r.modified_)return r.base_;if(!r.finalized_){const{callbacks_:n}=r;if(n)for(;n.length>0;)n.pop()(e);Tf(r,e)}return r.copy_}function QP(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Cs(t,r)}function Pf(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var lo=(e,t)=>e.scope_===t,YP=[];function If(e,t,r,n){const i=Bt(e),o=e.type_;if(n!==void 0&&xt(i,n,o)===t){ro(i,n,r,o);return}if(!e.draftLocations_){const s=e.draftLocations_=new Map;Cn(i,(c,l)=>{if(Ze(l)){const u=s.get(l)||[];u.push(c),s.set(l,u)}})}const a=e.draftLocations_.get(t)??YP;for(const s of a)ro(i,s,r,o)}function XP(e,t,r){e.callbacks_.push(function(i){const o=t;if(!o||!lo(o,i))return;i.mapSetPlugin_?.fixSetContents(o);const a=Ts(o);If(e,o.draft_??o,a,r),Tf(o,i)})}function Tf(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){const{patchPlugin_:r}=t;if(r){const n=r.getPath(e);n&&r.generatePatches_(e,n,t)}Pf(e)}}function JP(e,t,r){const{scope_:n}=e;if(Ze(r)){const i=r[ve];lo(i,n)&&i.callbacks_.push(function(){fo(e),If(e,r,Ts(i),t)})}else ze(r)&&e.callbacks_.push(function(){const o=Bt(e);e.type_===3?o.has(r)&&co(r,n.handledSet_,n):xt(o,t,e.type_)===r&&n.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&co(xt(e.copy_,t,e.type_),n.handledSet_,n)})}function co(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||Ze(e)||t.has(e)||!ze(e)||io(e)||(t.add(e),Cn(e,(n,i)=>{if(Ze(i)){const o=i[ve];lo(o,r)&&(ro(e,n,Ts(o),e.type_),Pf(o))}else ze(i)&&co(i,t,r)})),e}function ZP(e,t){const r=An(e),n={type_:r?1:0,scope_:t?t.scope_:vf(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let i=n,o=uo;r&&(i=[n],o=Rn);const{revoke:a,proxy:s}=Proxy.revocable(i,o);return n.draft_=s,n.revoke_=a,[s,n]}var uo={get(e,t){if(t===ve)return e;let r=e.scope_.arrayMethodsPlugin_;const n=e.type_===1&&typeof t=="string";if(n&&r?.isArrayOperationMethod(t))return r.createMethodInterceptor(e,t);const i=Bt(e);if(!Br(i,t,e.type_))return tI(e,i,t);const o=i[t];if(e.finalized_||!ze(o)||n&&e.operationMethod&&r?.isMutatingArrayMethod(e.operationMethod)&&GP(t))return o;if(o===js(e.base_,t)||eI(e,t,o)){fo(e);const a=e.type_===1?+t:t,s=Rs(e.scope_,o,e,a);return e.copy_[a]=s}return o},has(e,t){return t in Bt(e)},ownKeys(e){return Reflect.ownKeys(Bt(e))},set(e,t,r){const n=Of(Bt(e),t);if(n?.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const i=js(Bt(e),t),o=i?.[ve];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_.set(t,!1),!0;if(qP(r,i)&&(r!==void 0||Br(e.base_,t,e.type_)))return!0;fo(e),Ms(e)}return e.copy_[t]===r&&(r!==void 0||Br(e.copy_,t,e.type_))||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_.set(t,!0),JP(e,t,r)),!0},deleteProperty(e,t){return fo(e),js(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),Ms(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const r=Bt(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{[to]:!0,[Ps]:e.type_!==1||t!=="length",[eo]:n[eo],[On]:r[t]}},defineProperty(){Ie(11)},getPrototypeOf(e){return gr(e.base_)},setPrototypeOf(){Ie(12)}},Rn={};for(let e in uo){let t=uo[e];Rn[e]=function(){const r=arguments;return r[0]=r[0][0],t.apply(this,r)}}Rn.deleteProperty=function(e,t){return Rn.set.call(this,e,t,void 0)},Rn.set=function(e,t,r){return uo.set.call(this,e[0],t,r,e[0])};function js(e,t){const r=e[ve];return(r?Bt(r):e)[t]}function eI(e,t,r){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!ze(r)||r[ve]?!1:e.baseRefs_.has(r)}function tI(e,t,r){const n=Of(t,r);return n?On in n?n[On]:n.get?.call(e.draft_):void 0}function Of(e,t){if(!(t in e))return;let r=gr(e);for(;r;){const n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=gr(r)}}function Ms(e){e.modified_||(e.modified_=!0,e.parent_&&Ms(e.parent_))}function fo(e){e.copy_||(e.assigned_=new Map,e.copy_=Os(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var rI=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(t,r,n)=>{if(_r(t)&&!_r(r)){const o=r;r=t;const a=this;return function(c=o,...l){return a.produce(c,u=>r.call(this,u,...l))}}_r(r)||Ie(6),n!==void 0&&!_r(n)&&Ie(7);let i;if(ze(t)){const o=Ef(this),a=Rs(o,t,void 0);let s=!0;try{i=r(a),s=!1}finally{s?As(o):ks(o)}return bf(o,n),wf(i,o)}else if(!t||!Ur(t)){if(i=r(t),i===void 0&&(i=t),i===Ss&&(i=void 0),this.autoFreeze_&&Cs(i,!0),n){const o=[],a=[];vr(ao).generateReplacementPatches_(t,i,{patches_:o,inversePatches_:a}),n(o,a)}return i}else Ie(1,t)},this.produceWithPatches=(t,r)=>{if(_r(t))return(o,...a)=>this.produceWithPatches(o,s=>t(s,...a));let n,i;return[this.produce(t,r,(o,a)=>{n=o,i=a}),n,i]},Is(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Is(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Is(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){ze(e)||Ie(8),Ze(e)&&(e=Cf(e));const t=Ef(this),r=Rs(t,e,void 0);return r[ve].isManual_=!0,ks(t),r}finishDraft(e,t){const r=e&&e[ve];(!r||!r.isManual_)&&Ie(9);const{scope_:n}=r;return bf(n,t),wf(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){const i=t[r];if(i.path.length===0&&i.op==="replace"){e=i.value;break}}r>-1&&(t=t.slice(r+1));const n=vr(ao).applyPatches_;return Ze(e)?n(e,t):this.produce(e,i=>n(i,t))}};function Rs(e,t,r,n){const[i,o]=kn(t)?vr(oo).proxyMap_(t,r):jn(t)?vr(oo).proxySet_(t,r):ZP(t,r);return(r?.scope_??vf()).drafts_.push(i),o.callbacks_=r?.callbacks_??[],o.key_=n,r&&n!==void 0?XP(r,o,n):o.callbacks_.push(function(s){s.mapSetPlugin_?.fixSetContents(o);const{patchPlugin_:c}=s;o.modified_&&c&&c.generatePatches_(o,[],s)}),i}function Cf(e){return Ze(e)||Ie(10,e),Af(e)}function Af(e){if(!ze(e)||io(e))return e;const t=e[ve];let r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=Os(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=Os(e,!0);return Cn(r,(i,o)=>{ro(r,i,Af(o))},n),t&&(t.finalized_=!1),r}function nI(){function t(g,h=[]){if(g.key_!==void 0){const v=g.parent_.copy_??g.parent_.base_,E=zP(xt(v,g.key_)),C=xt(v,g.key_);if(C===void 0||C!==g.draft_&&C!==g.base_&&C!==g.copy_||E!=null&&E.base_!==g.base_)return null;const b=g.parent_.type_===3;let w;if(b){const I=g.parent_;w=Array.from(I.drafts_.keys()).indexOf(g.key_)}else w=g.key_;if(!(b&&v.size>w||Br(v,w)))return null;h.push(w)}if(g.parent_)return t(g.parent_,h);h.reverse();try{r(g.copy_,h)}catch{return null}return h}function r(g,h){let v=g;for(let E=0;E<h.length-1;E++){const C=h[E];if(v=xt(v,C),!Ur(v)||v===null)throw new Error(`Cannot resolve path at '${h.join("/")}'`)}return v}const n="replace",i="add",o="remove";function a(g,h,v){if(g.scope_.processedForPatches_.has(g))return;g.scope_.processedForPatches_.add(g);const{patches_:E,inversePatches_:C}=v;switch(g.type_){case 0:case 2:return c(g,h,E,C);case 1:return s(g,h,E,C);case 3:return l(g,h,E,C)}}function s(g,h,v,E){let{base_:C,assigned_:b}=g,w=g.copy_;w.length<C.length&&([C,w]=[w,C],[v,E]=[E,v]);const I=g.allIndicesReassigned_===!0;for(let y=0;y<C.length;y++){const T=w[y],S=C[y];if((I||b?.get(y.toString()))&&T!==S){const A=T?.[ve];if(A&&A.modified_)continue;const j=h.concat([y]);v.push({op:n,path:j,value:p(T)}),E.push({op:n,path:j,value:p(S)})}}for(let y=C.length;y<w.length;y++){const T=h.concat([y]);v.push({op:i,path:T,value:p(w[y])})}for(let y=w.length-1;C.length<=y;--y){const T=h.concat([y]);E.push({op:o,path:T})}}function c(g,h,v,E){const{base_:C,copy_:b,type_:w}=g;Cn(g.assigned_,(I,y)=>{const T=xt(C,I,w),S=xt(b,I,w),A=y?Br(C,I)?n:i:o;if(T===S&&A===n)return;const j=h.concat(I);v.push(A===o?{op:A,path:j}:{op:A,path:j,value:p(S)}),E.push(A===i?{op:o,path:j}:A===o?{op:i,path:j,value:p(T)}:{op:n,path:j,value:p(T)})})}function l(g,h,v,E){let{base_:C,copy_:b}=g,w=0;C.forEach(I=>{if(!b.has(I)){const y=h.concat([w]);v.push({op:o,path:y,value:I}),E.unshift({op:i,path:y,value:I})}w++}),w=0,b.forEach(I=>{if(!C.has(I)){const y=h.concat([w]);v.push({op:i,path:y,value:I}),E.unshift({op:o,path:y,value:I})}w++})}function u(g,h,v){const{patches_:E,inversePatches_:C}=v;E.push({op:n,path:[],value:h===Ss?void 0:h}),C.push({op:n,path:[],value:g})}function d(g,h){return h.forEach(v=>{const{path:E,op:C}=v;let b=g;for(let T=0;T<E.length-1;T++){const S=yr(b);let A=E[T];typeof A!="string"&&typeof A!="number"&&(A=""+A),(S===0||S===1)&&(A==="__proto__"||A===In)&&Ie(19),_r(b)&&A===Tn&&Ie(19),b=xt(b,A),(b===null||!Ur(b))&&Ie(18,E.join("/"))}const w=yr(b),I=m(v.value),y=E[E.length-1];switch(C){case n:switch(w){case 2:return b.set(y,I);case 3:Ie(16);default:return b[y]=I}case i:switch(w){case 1:return y==="-"?b.push(I):b.splice(y,0,I);case 2:return b.set(y,I);case 3:return b.add(I);default:return b[y]=I}case o:switch(w){case 1:return b.splice(y,1);case 2:return b.delete(y);case 3:return b.delete(v.value);default:return delete b[y]}default:Ie(17,C)}}),g}function m(g){if(!ze(g))return g;if(An(g))return g.map(m);if(kn(g))return new Map(Array.from(g.entries()).map(([v,E])=>[v,m(E)]));if(jn(g))return new Set(Array.from(g).map(m));const h=Object.create(gr(g));for(const v in g)h[v]=m(g[v]);return Br(g,Pn)&&(h[Pn]=g[Pn]),h}function p(g){return Ze(g)?m(g):g}HP(ao,{applyPatches_:d,generatePatches_:a,generateReplacementPatches_:u,getPath:t})}var Nn=new rI,Dn=Nn.produce,kf=Nn.produceWithPatches.bind(Nn),jf=Nn.applyPatches.bind(Nn);function iI(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function oI(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(r=>typeof r=="function")){const r=e.map(n=>typeof n=="function"?`function ${n.name||"unnamed"}()`:typeof n).join(", ");throw new TypeError(`${t}[${r}]`)}}var Mf=e=>Array.isArray(e)?e:[e];function aI(e){const t=Array.isArray(e[0])?e[0]:e;return oI(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function sI(e,t){const r=[],{length:n}=e;for(let i=0;i<n;i++)r.push(e[i].apply(null,t));return r}var lI=class{constructor(e){this.value=e}deref(){return this.value}},cI=()=>typeof WeakRef>"u"?lI:WeakRef,Rf=cI(),uI=0,Nf=1;function mo(){return{s:uI,v:void 0,o:null,p:null}}function dI(e){return e instanceof Rf?e.deref():e}function po(e,t={}){let r=mo();const{resultEqualityCheck:n}=t;let i,o=0;function a(){let s=r;const{length:c}=arguments;for(let d=0,m=c;d<m;d++){const p=arguments[d];if(typeof p=="function"||typeof p=="object"&&p!==null){let g=s.o;g===null&&(s.o=g=new WeakMap);const h=g.get(p);h===void 0?(s=mo(),g.set(p,s)):s=h}else{let g=s.p;g===null&&(s.p=g=new Map);const h=g.get(p);h===void 0?(s=mo(),g.set(p,s)):s=h}}const l=s;let u;if(s.s===Nf)u=s.v;else if(u=e.apply(null,arguments),o++,n){const d=dI(i);d!=null&&n(d,u)&&(u=d,o!==0&&o--),i=typeof u=="object"&&u!==null||typeof u=="function"?new Rf(u):u}return l.s=Nf,l.v=u,u}return a.clearCache=()=>{r=mo(),a.resetResultsCount()},a.resultsCount=()=>o,a.resetResultsCount=()=>{o=0},a}function fI(e,...t){const r=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,n=(...i)=>{let o=0,a=0,s,c={},l=i.pop();typeof l=="object"&&(c=l,l=i.pop()),iI(l,`createSelector expects an output function after the inputs, but received: [${typeof l}]`);const{memoize:u,memoizeOptions:d=[],argsMemoize:m=po,argsMemoizeOptions:p=[]}={...r,...c},g=Mf(d),h=Mf(p),v=aI(i),E=u(function(){return o++,l.apply(null,arguments)},...g),C=m(function(){a++;const w=sI(v,arguments);return s=E.apply(null,w),s},...h);return Object.assign(C,{resultFunc:l,memoizedResultFunc:E,dependencies:v,dependencyRecomputations:()=>a,resetDependencyRecomputations:()=>{a=0},lastResult:()=>s,recomputations:()=>o,resetRecomputations:()=>{o=0},memoize:u,argsMemoize:m})};return Object.assign(n,{withTypes:()=>n}),n}var Df=fI(po);function Lf(e){return({dispatch:r,getState:n})=>i=>o=>typeof o=="function"?o(r,n,e):i(o)}var mI=Lf(),pI=Lf,hI=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?Zi:Zi.apply(null,arguments)};typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__;var gI=e=>e&&typeof e.match=="function";function Ve(e,t){function r(...n){if(t){let i=t(...n);if(!i)throw new Error(dt(0));return{type:e,payload:i.payload,..."meta"in i&&{meta:i.meta},..."error"in i&&{error:i.error}}}return{type:e,payload:n[0]}}return r.toString=()=>`${e}`,r.type=e,r.match=n=>Gd(n)&&n.type===e,r}var Ff=class Hi extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,Hi.prototype)}static get[Symbol.species](){return Hi}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new Hi(...t[0].concat(this)):new Hi(...t.concat(this))}};function xf(e){return ze(e)?Dn(e,()=>{}):e}function ho(e,t,r){return e.has(t)?e.get(t):e.set(t,r(t)).get(t)}function yI(e){return typeof e=="boolean"}var _I=()=>function(t){const{thunk:r=!0,immutableCheck:n=!0,serializableCheck:i=!0,actionCreatorCheck:o=!0}=t??{};let a=new Ff;return r&&(yI(r)?a.push(mI):a.push(pI(r.extraArgument))),a},go="RTK_autoBatch",Ln=()=>e=>({payload:e,meta:{[go]:!0}}),Bf=e=>t=>{setTimeout(t,e)},vI=(e,t)=>r=>{let n=!1;const i=()=>{n||(n=!0,cancelAnimationFrame(o),clearTimeout(a),r())},o=e(i),a=setTimeout(i,t)},bI=(e={type:"raf"})=>t=>(...r)=>{const n=t(...r);let i=!0,o=!1,a=!1;const s=new Set,c=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?vI(window.requestAnimationFrame,100):Bf(10):e.type==="callback"?e.queueNotification:Bf(e.timeout),l=()=>{a=!1,o&&(o=!1,s.forEach(u=>u()))};return Object.assign({},n,{subscribe(u){const d=()=>i&&u(),m=n.subscribe(d);return s.add(u),()=>{m(),s.delete(u)}},dispatch(u){try{return i=!u?.meta?.[go],o=!i,o&&(a||(a=!0,c(l))),n.dispatch(u)}finally{i=!0}}})},EI=e=>function(r){const{autoBatch:n=!0}=r??{};let i=new Ff(e);return n&&i.push(bI(typeof n=="object"?n:void 0)),i};function wI(e){const t=_I(),{reducer:r=void 0,middleware:n,devTools:i=!0,duplicateMiddlewareCheck:o=!0,preloadedState:a=void 0,enhancers:s=void 0}=e||{};let c;if(typeof r=="function")c=r;else if(tr(r))c=Es(r);else throw new Error(dt(1));let l;typeof n=="function"?l=n(t):l=t();let u=Zi;i&&(u=hI({trace:!1,...typeof i=="object"&&i}));const d=EI(SP(...l));let m=typeof s=="function"?s(d):d();const p=u(...m);return qd(c,a,p)}function Uf(e){const t={},r=[];let n;const i={addCase(o,a){const s=typeof o=="string"?o:o.type;if(!s)throw new Error(dt(28));if(s in t)throw new Error(dt(29));return t[s]=a,i},addAsyncThunk(o,a){return a.pending&&(t[o.pending.type]=a.pending),a.rejected&&(t[o.rejected.type]=a.rejected),a.fulfilled&&(t[o.fulfilled.type]=a.fulfilled),a.settled&&r.push({matcher:o.settled,reducer:a.settled}),i},addMatcher(o,a){return r.push({matcher:o,reducer:a}),i},addDefaultCase(o){return n=o,i}};return e(i),[t,r,n]}function SI(e){return typeof e=="function"}function PI(e,t){let[r,n,i]=Uf(t),o;if(SI(e))o=()=>xf(e());else{const s=xf(e);o=()=>s}function a(s=o(),c){let l=[r[c.type],...n.filter(({matcher:u})=>u(c)).map(({reducer:u})=>u)];return l.filter(u=>!!u).length===0&&(l=[i]),l.reduce((u,d)=>{if(d)if(Ze(u)){const m=d(u,c);return m===void 0?u:m}else{if(ze(u))return Dn(u,m=>d(m,c));{const m=d(u,c);if(m===void 0){if(u===null)return u;throw Error("A case reducer on a non-draftable value must not return undefined")}return m}}return u},s)}return a.getInitialState=o,a}var $f=(e,t)=>gI(e)?e.match(t):e(t);function Ut(...e){return t=>e.some(r=>$f(r,t))}function Fn(...e){return t=>e.every(r=>$f(r,t))}function yo(e,t){if(!e||!e.meta)return!1;const r=typeof e.meta.requestId=="string",n=t.indexOf(e.meta.requestStatus)>-1;return r&&n}function xn(e){return typeof e[0]=="function"&&"pending"in e[0]&&"fulfilled"in e[0]&&"rejected"in e[0]}function Ns(...e){return e.length===0?t=>yo(t,["pending"]):xn(e)?Ut(...e.map(t=>t.pending)):Ns()(e[0])}function $r(...e){return e.length===0?t=>yo(t,["rejected"]):xn(e)?Ut(...e.map(t=>t.rejected)):$r()(e[0])}function _o(...e){const t=r=>r&&r.meta&&r.meta.rejectedWithValue;return e.length===0?Fn($r(...e),t):xn(e)?Fn($r(...e),t):_o()(e[0])}function rr(...e){return e.length===0?t=>yo(t,["fulfilled"]):xn(e)?Ut(...e.map(t=>t.fulfilled)):rr()(e[0])}function Ds(...e){return e.length===0?t=>yo(t,["pending","fulfilled","rejected"]):xn(e)?Ut(...e.flatMap(t=>[t.pending,t.rejected,t.fulfilled])):Ds()(e[0])}var II="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",Ls=(e=21)=>{let t="",r=e;for(;r--;)t+=II[Math.random()*64|0];return t},TI=["name","message","stack","code"],Fs=class{constructor(e,t){this.payload=e,this.meta=t}payload;meta;_type},qf=class{constructor(e,t){this.payload=e,this.meta=t}payload;meta;_type},OI=e=>{if(typeof e=="object"&&e!==null){const t={};for(const r of TI)typeof e[r]=="string"&&(t[r]=e[r]);return t}return{message:String(e)}},Gf="External signal was aborted",xs=(()=>{function e(t,r,n){const i=Ve(t+"/fulfilled",(c,l,u,d)=>({payload:c,meta:{...d||{},arg:u,requestId:l,requestStatus:"fulfilled"}})),o=Ve(t+"/pending",(c,l,u)=>({payload:void 0,meta:{...u||{},arg:l,requestId:c,requestStatus:"pending"}})),a=Ve(t+"/rejected",(c,l,u,d,m)=>({payload:d,error:(n&&n.serializeError||OI)(c||"Rejected"),meta:{...m||{},arg:u,requestId:l,rejectedWithValue:!!d,requestStatus:"rejected",aborted:c?.name==="AbortError",condition:c?.name==="ConditionError"}}));function s(c,{signal:l}={}){return(u,d,m)=>{const p=n?.idGenerator?n.idGenerator(c):Ls(),g=new AbortController;let h,v;function E(b){v=b,g.abort()}l&&(l.aborted?E(Gf):l.addEventListener("abort",()=>E(Gf),{once:!0}));const C=(async function(){let b;try{let w=n?.condition?.(c,{getState:d,extra:m});if(AI(w)&&(w=await w),w===!1||g.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};const I=new Promise((y,T)=>{h=()=>{T({name:"AbortError",message:v||"Aborted"})},g.signal.addEventListener("abort",h,{once:!0})});u(o(p,c,n?.getPendingMeta?.({requestId:p,arg:c},{getState:d,extra:m}))),b=await Promise.race([I,Promise.resolve(r(c,{dispatch:u,getState:d,extra:m,requestId:p,signal:g.signal,abort:E,rejectWithValue:((y,T)=>new Fs(y,T)),fulfillWithValue:((y,T)=>new qf(y,T))})).then(y=>{if(y instanceof Fs)throw y;return y instanceof qf?i(y.payload,p,c,y.meta):i(y,p,c)})])}catch(w){b=w instanceof Fs?a(null,p,c,w.payload,w.meta):a(w,p,c)}finally{h&&g.signal.removeEventListener("abort",h)}return n&&!n.dispatchConditionRejection&&a.match(b)&&b.meta.condition||u(b),b})();return Object.assign(C,{abort:E,requestId:p,arg:c,unwrap(){return C.then(CI)}})}}return Object.assign(s,{pending:o,rejected:a,fulfilled:i,settled:Ut(a,i),typePrefix:t})}return e.withTypes=()=>e,e})();function CI(e){if(e.meta&&e.meta.rejectedWithValue)throw e.payload;if(e.error)throw e.error;return e.payload}function AI(e){return e!==null&&typeof e=="object"&&typeof e.then=="function"}var kI=Symbol.for("rtk-slice-createasyncthunk");function jI(e,t){return`${e}/${t}`}function MI({creators:e}={}){const t=e?.asyncThunk?.[kI];return function(n){const{name:i,reducerPath:o=i}=n;if(!i)throw new Error(dt(11));const a=(typeof n.reducers=="function"?n.reducers(NI()):n.reducers)||{},s=Object.keys(a),c={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},l={addCase(b,w){const I=typeof b=="string"?b:b.type;if(!I)throw new Error(dt(12));if(I in c.sliceCaseReducersByType)throw new Error(dt(13));return c.sliceCaseReducersByType[I]=w,l},addMatcher(b,w){return c.sliceMatchers.push({matcher:b,reducer:w}),l},exposeAction(b,w){return c.actionCreators[b]=w,l},exposeCaseReducer(b,w){return c.sliceCaseReducersByName[b]=w,l}};s.forEach(b=>{const w=a[b],I={reducerName:b,type:jI(i,b),createNotation:typeof n.reducers=="function"};LI(w)?xI(I,w,l,t):DI(I,w,l)});function u(){const[b={},w=[],I=void 0]=typeof n.extraReducers=="function"?Uf(n.extraReducers):[n.extraReducers],y={...b,...c.sliceCaseReducersByType};return PI(n.initialState,T=>{for(let S in y)T.addCase(S,y[S]);for(let S of c.sliceMatchers)T.addMatcher(S.matcher,S.reducer);for(let S of w)T.addMatcher(S.matcher,S.reducer);I&&T.addDefaultCase(I)})}const d=b=>b,m=new Map,p=new WeakMap;let g;function h(b,w){return g||(g=u()),g(b,w)}function v(){return g||(g=u()),g.getInitialState()}function E(b,w=!1){function I(T){let S=T[b];return typeof S>"u"&&w&&(S=ho(p,I,v)),S}function y(T=d){return ho(ho(m,w,()=>new WeakMap),T,()=>{const S={};for(const[A,j]of Object.entries(n.selectors??{}))S[A]=RI(j,T,()=>ho(p,T,v),w);return S})}return{reducerPath:b,getSelectors:y,get selectors(){return y(I)},selectSlice:I}}const C={name:i,reducer:h,actions:c.actionCreators,caseReducers:c.sliceCaseReducersByName,getInitialState:v,...E(o),injectInto(b,{reducerPath:w,...I}={}){const y=w??o;return b.inject({reducerPath:y,reducer:h},I),{...C,...E(y,!0)}}};return C}}function RI(e,t,r,n){function i(o,...a){let s=t(o);return typeof s>"u"&&n&&(s=r()),e(s,...a)}return i.unwrapped=e,i}var Le=MI();function NI(){function e(t,r){return{_reducerDefinitionType:"asyncThunk",payloadCreator:t,...r}}return e.withTypes=()=>e,{reducer(t){return Object.assign({[t.name](...r){return t(...r)}}[t.name],{_reducerDefinitionType:"reducer"})},preparedReducer(t,r){return{_reducerDefinitionType:"reducerWithPrepare",prepare:t,reducer:r}},asyncThunk:e}}function DI({type:e,reducerName:t,createNotation:r},n,i){let o,a;if("reducer"in n){if(r&&!FI(n))throw new Error(dt(17));o=n.reducer,a=n.prepare}else o=n;i.addCase(e,o).exposeCaseReducer(t,o).exposeAction(t,a?Ve(e,a):Ve(e))}function LI(e){return e._reducerDefinitionType==="asyncThunk"}function FI(e){return e._reducerDefinitionType==="reducerWithPrepare"}function xI({type:e,reducerName:t},r,n,i){if(!i)throw new Error(dt(18));const{payloadCreator:o,fulfilled:a,pending:s,rejected:c,settled:l,options:u}=r,d=i(e,o,u);n.exposeAction(t,d),a&&n.addCase(d.fulfilled,a),s&&n.addCase(d.pending,s),c&&n.addCase(d.rejected,c),l&&n.addMatcher(d.settled,l),n.exposeCaseReducer(t,{fulfilled:a||vo,pending:s||vo,rejected:c||vo,settled:l||vo})}function vo(){}var zf="listener",Vf="completed",Hf="cancelled",GK=`task-${Hf}`,zK=`task-${Vf}`,VK=`${zf}-${Hf}`,HK=`${zf}-${Vf}`,{assign:Wf}=Object,Bs="listenerMiddleware",BI=Wf(Ve(`${Bs}/add`),{withTypes:()=>BI}),WK=Ve(`${Bs}/removeAll`),UI=Wf(Ve(`${Bs}/remove`),{withTypes:()=>UI});function dt(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}function $I(e){return e}function Kf({data:e,...t},r){return t.error?t:{data:r(e,t.meta),...t}}function qI({data:e,...t},r){return t.error?t:{data:e.map(n=>r(n,t.meta)),...t}}function Te(e){return t=>Kf(t,e)}var GI=e=>!e||typeof e!="object"?e:"data"in e&&e.data!==void 0?e.data:e;function zI(e,t){if(e.error)return{error:{status:e.status||400,data:GI(e.error)}};try{return{data:t(e.data)}}catch(r){return{error:{status:e.status||500,data:{message:r instanceof Error?r.message:"Invalid response"}}}}}function VI(e){return!e.hasOwnProperty("previous")}function bo(e){return t=>Kf(t,(r,n)=>VI(r)?e(r,n):e(r.previous,n))}function et(e){return t=>qI(t,e)}var Qf={editorThemeColor:"light",isSettingsDisabled:!1,emailAutosaveTimestamps:{},settings:{backgroundColor:"",backgroundImage:[{type:"url",value:""}],backgroundPositionX:"",backgroundPositionY:"",backgroundRepeat:"",textStrong:!1,textItalic:!1,textUnderline:!1},elementSettings:{},searchFilters:{},emailCommonStyles:"",saveTime:null,mobileViewActive:{shutdown:!0,styles:!0},isCodeMode:!1,codeModeDirection:void 0,emailViewType:void 0,changeKey:null,problemsList:[],codeErrors:[],activeProblemRange:null,emailGroups:{},projectGroups:[],isNeedUpdateAppearance:!1,isNeedUpdateContentAppearance:!1},It="emailSlice",Yf=Le({name:It,initialState:Qf,reducers:{setEditorThemeColor:(e,t)=>{e.editorThemeColor=t.payload},setEmailSettings:(e,{payload:t})=>{Object.assign(e,{...e,settings:{...t},isSettingsDisabled:!1})},setEmailSettingsDisable:(e,t)=>{e.isSettingsDisabled=t.payload},setElementSettings:(e,{payload:t})=>{e.elementSettings=t},setSearchFilters:(e,t)=>{e.searchFilters=t.payload},updateSearchFilters:(e,t)=>{e.searchFilters={...e.searchFilters,...t.payload}},resetEmailSlice:e=>{const t=e.emailAutosaveTimestamps;return{...Qf,emailAutosaveTimestamps:t}},rememberAutosaveTime:(e,{payload:t})=>{e.emailAutosaveTimestamps[t.emailId]=t.modified},applyProjectGroups:(e,{payload:t})=>{const r=t.projectGroups;e.projectGroups=r;const n=t.emailGroup;if(!n)return;const i={};n.length&&r.length&&n.forEach(o=>{r.forEach(a=>{const s=(a.children||[]).find(c=>c.id===o);s&&(i.hasOwnProperty(a.id)||(i[a.id]=[]),i[a.id].push({label:s.name,value:s.id}))})}),e.emailGroups=i},setCodeErrors:(e,t)=>{e.codeErrors=t.payload},setProblemsList:(e,t)=>{e.problemsList=t.payload},setActiveProblemRange:(e,t)=>{e.activeProblemRange=t.payload},markAppearanceNeedsUpdate:e=>{e.isNeedUpdateAppearance=!0,e.isNeedUpdateContentAppearance=!0},setIsNeedUpdateContentAppearance:(e,t)=>{e.isNeedUpdateContentAppearance=t.payload},setIsNeedUpdateAppearance:(e,t)=>{e.isNeedUpdateAppearance=t.payload},setEmailGroups:(e,{payload:t})=>{const r=Object.keys(t)[0],n=e.emailGroups,i=e.projectGroups,o={};i.length&&(t[r]?.forEach(a=>{const s=i.find(l=>l.id===+r),c=(s?.children||[]).find(l=>l.id===+a);c?(o.hasOwnProperty(s.id)||(o[s.id]=[]),o[s.id].push({label:c.name,value:c.id})):(o.hasOwnProperty(r)||(o[r]=[]),o[r].push({label:a,value:null}))}),t[r].length===0&&(o[r]=[])),e.emailGroups={...n,...o}}}}),{setEditorThemeColor:HI,setEmailSettings:WI,setElementSettings:KI,setEmailSettingsDisable:QI,setSearchFilters:KK,updateSearchFilters:QK,resetEmailSlice:YI,rememberAutosaveTime:XI,applyProjectGroups:JI,setProblemsList:ZI,setCodeErrors:YK,setActiveProblemRange:eT,setEmailGroups:tT,markAppearanceNeedsUpdate:rT,setIsNeedUpdateAppearance:nT,setIsNeedUpdateContentAppearance:iT}=Yf.actions;function oT(e,t){return JI({projectGroups:e??[],emailGroup:Array.isArray(t)?t:void 0})}var aT=e=>e[It].isNeedUpdateContentAppearance,sT=e=>e[It].settings,lT=e=>e[It].problemsList,cT=e=>e[It].projectGroups,Xf=e=>e[It].elementSettings,Jf=e=>e[It].editorThemeColor,uT=e=>e[It].isSettingsDisabled,dT=e=>e[It].activeProblemRange,fT=e=>e[It].isNeedUpdateAppearance,mT=/<\/?[a-zA-Z][a-zA-Z0-9:_.-]*(?:\s[^<>]*)?\/?>/g;function pT(e){return e.replace(mT,t=>/^<br\b/i.test(t)?" ":"")}var XK={theme:P.createIdentifier("canvas_fact_theme"),flags:P.createIdentifier("canvas_fact_flags"),commonStyles:P.createIdentifier("canvas_fact_common_styles"),lockEditor:P.createIdentifier("canvas_fact_lock_editor"),codeMode:P.createIdentifier("canvas_fact_code_mode"),appName:P.createIdentifier("canvas_fact_app_name"),previewPage:P.createIdentifier("canvas_fact_preview_page"),viewport:P.createIdentifier("canvas_fact_viewport")},hT={text:{fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif"],fontSize:16,fontSizeDim:"px",lineHeight:21,lineHeightDim:"px",color:"#5a5a5a",contrastColor:"#FFFFFF",textAlign:"left",paddingBottom:10,paddingBottomDim:"px"},headings:{fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif"],fontSize:24,fontSizeDim:"px",lineHeight:32,lineHeightDim:"px",color:"#333333",contrastColor:"#FFFFFF",textAlign:"left",paddingTop:20,paddingTopDim:"px",paddingBottom:20,paddingBottomDim:"px",letterSpacing:0,letterSpacingDim:"px",bold:!0,italic:!1},links:{color:"#1C52DC",contrastColor:"#FFFFFF",underline:!0},buttons:{fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif"],fontSize:16,fontSizeDim:"px",letterSpacing:0,letterSpacingDim:"px",color:"#FFFFFF",contrastColor:"#1C52DC",bold:!1,italic:!1,backgroundColor:"#1C52DC",contrastBackgroundColor:"#FFFFFF",marginTop:10,marginTopDim:"px",marginBottom:10,marginBottomDim:"px",border:{all:null,top:null,right:null,bottom:null,left:null},borderRadius:{all:5,topLeft:null,topRight:null,bottomRight:null,bottomLeft:null},textAlign:"center",padding:{all:null,top:null,right:null,bottom:null,left:null}},block:{backgroundColor:"#FFFFFF",contrastBackgroundColor:"#1C52DC",padding:{all:null,top:null,right:null,bottom:null,left:null}},cards:{contrastBackgroundColor:"#1C52DC",contrastTextColor:"#FFFFFF",baseBackgroundColor:"#F8F8F8",baseTextColor:"#333333",border:{all:null,top:null,right:null,bottom:null,left:null},borderRadius:{all:10,topLeft:null,topRight:null,bottomRight:null,bottomLeft:null}}},gT="ERROR",yT="useblocks",Eo={em_token:"em_access_token",em_refresh_token:"em_refresh_token",em_admin_token:"em_admin_access_token",em_admin_refresh_token:"em_admin_refresh_token",em_impersonation:"em_impersonation",em_elements_view:"em_elements_view",em_new_block:"em_new_block",em_new_email:"em_new_email",em_id:"em_id",em_name:"em_name",em_email:"em_email",em_locale:"em_locale",em_carrotquest_hash:"em_carrotquest_hash",em_ducalis_hash:"em_ducalis_hash",em_email_subscription_consent:"em_email_subscription_consent",em_folder:"em_folder",promocode:"promocode",em_active_tab:"em_active_tab"},ft={em_color_scheme:"em_color_scheme",em_code_mode_pane_sizes:"em_code_mode_pane_sizes",em_preview_pane_sizes:"em_preview_pane_sizes",em_default_sizes:"em_default_sizes",em_pane_sizes:"em_pane_sizes",em_test_emails:"em_test_emails",em_menu_is_locked:"em_menu_is_locked",em_code_mode_settings:"em_code_mode_settings",em_folder_is_open:"em_folder_is_open",em_active_tab:"em_active_tab",em_ai_settings:"em_ai_settings",em_last_active_page:"em_last_active_page",em_layout_convert_never_suggest:"em_layout_convert_never_suggest",em_filemanager_v2:"em_filemanager_v2",em_projects_v2:"em_projects_v2",em_translations_v2:"em_translations_v2",em_emails_v2:"em_emails_v2",em_blocks_v2:"em_blocks_v2",em_revisions_v2:"em_revisions_v2",em_defer_chrome:"em_defer_chrome",em_stripo_import:"em_stripo_import",em_guest_locale:"em_guest_locale"},_T="not all",Zf="light",em="dark",vT="system",bT="(prefers-color-scheme: light)",ET="(prefers-color-scheme: dark)",wT={auth:"/auth",projects_index:"/",projects:"/projects",project:"/projects/:projectId/emails",email:"/projects/:projectId/emails/:emailId",create_email:"/projects/:projectId/emails/new",create_page:"/projects/:projectId/emails/create",new_from:"/projects/:projectId/emails/new_from",blocks:"/projects/:projectId/blocks",block:"/projects/:projectId/blocks/:blockId",create_block:"/projects/:projectId/blocks/new",billing:"/billing",admin:"/admin",admin_users:"/admin/users",admin_user:"/admin/users/:id"},_e={ADD_NEW_PROJECT_MODAL:"ADD_NEW_PROJECT_MODAL",BLOCKS_MODAL:"BLOCKS_MODAL",EDIT_PROFILE_MODAL:"EDIT_PROFILE_MODAL",SEND_TEST_EMAIL:"SEND_TEST_EMAIL",ADD_NEW_EBLOCK_MODAL:"ADD_NEW_EBLOCK_MODAL",UPDATE_GLOBAL_BLOCKS_MODAL:"UPDATE_GLOBAL_BLOCKS_MODAL",SAVE_GLOBAL_BLOCK_CHOICE_MODAL:"SAVE_GLOBAL_BLOCK_CHOICE_MODAL",ADD_NEW_EMAIL_MODAL:"ADD_NEW_EMAIL_MODAL",ADD_NEW_AI_EMAIL:"ADD_NEW_AI_EMAIL",STRIPO_IMPORT:"STRIPO_IMPORT",STRIPO_IMPORT_RESULT:"STRIPO_IMPORT_RESULT",SWITCH_TO_PLAN_MODAL:"SWITCH_TO_PLAN_MODAL",IMAGE_EDITOR_MODAL:"IMAGE_EDITOR_MODAL",ADD_NEW_FOLDER_MODAL:"ADD_NEW_FOLDER_MODAL",EDIT_FOLDER_NAME_MODAL:"EDIT_FOLDER_NAME_MODAL",ADD_NEW_GROUP_MODAL:"ADD_NEW_GROUP_MODAL",EDIT_GROUP_NAME_MODAL:"EDIT_GROUP_NAME_MODAL",RENAME_EMAIL_MODAL:"RENAME_EMAIL_MODAL",RENAME_BLOCK_MODAL:"RENAME_BLOCK_MODAL",UPLOAD_IMAGE_MODAL:"UPLOAD_IMAGE_MODAL",UPLOAD_BACKGROUND_MODAL:"UPLOAD_BACKGROUND_MODAL",UPLOAD_IMAGE_MODAL_AI:"UPLOAD_IMAGE_MODAL_AI",UPLOAD_BACKGROUND_MODAL_AI:"UPLOAD_BACKGROUND_MODAL_AI",UPLOAD_IMAGE_MODAL_STOCK:"UPLOAD_IMAGE_MODAL_STOCK",UPLOAD_BACKGROUND_MODAL_STOCK:"UPLOAD_BACKGROUND_MODAL_STOCK",UPLOAD_IMAGE_MODAL_GIF:"UPLOAD_IMAGE_MODAL_GIF",UPLOAD_BACKGROUND_MODAL_GIF:"UPLOAD_BACKGROUND_MODAL_GIF",UPLOAD_IMAGE_MODAL_EDIT:"UPLOAD_IMAGE_MODAL_EDIT",UPLOAD_BACKGROUND_MODAL_EDIT:"UPLOAD_BACKGROUND_MODAL_EDIT",UPLOAD_IMAGE_MODAL_UPLOAD:"UPLOAD_IMAGE_MODAL_UPLOAD",UPLOAD_BACKGROUND_MODAL_UPLOAD:"UPLOAD_BACKGROUND_MODAL_UPLOAD"},ST="application/x-emailmaker-social-reorder",PT=15e3,IT=3e3,tm="fonts.googleapis.com",rm=e=>{try{const t=new URL(String(e??"").trim());return t.protocol==="https:"?t:null}catch{return null}},Bn=e=>{const t=rm(String(e??""));return t?t.hostname===tm&&t.pathname.startsWith("/css")&&!!t.searchParams.get("family"):!1},TT=e=>{const t=rm(String(e??""));if(!t||t.hostname!==tm)return"";const r=t.searchParams.get("family");return r?r.split(":")[0].trim():""},Us=e=>{const t=Number(e);return Number.isInteger(t)&&t>=100&&t<=900&&t%100===0?String(t):null},OT=e=>{const[t,r]=e.split("..");if(r===void 0){const i=Us(t);return i?[i]:[]}const n=[];for(let i=Math.ceil(Number(t)/100)*100;i<=Number(r);i+=100){const o=Us(String(i));o&&n.push(o)}return n},CT=e=>{const[t,r=""]=e.split("@"),n=t.split(","),i=n.indexOf("ital"),o=n.indexOf("wght");return r.split(";").flatMap(a=>{const s=a.split(","),c=i<0?["0"]:(s[i]??"").split(".."),l=o<0?["400"]:OT(s[o]??"");return c.flatMap(u=>l.map(d=>({weight:d,style:u==="1"?"italic":"normal"})))})},AT={regular:"400",bold:"700"},kT=e=>e.split(",").flatMap(t=>{const r=/^(\d+|regular|bold)?(italic|i)?$/i.exec(t.trim());if(!r||!r[1]&&!r[2])return[];const n=Us(AT[r[1]?.toLowerCase()??""]??r[1]??"400");return n?[{weight:n,style:r[2]?"italic":"normal"}]:[]}),jT=(e,t)=>{if(!Bn(e))return[];const r=new URL(String(e).trim()),n=r.pathname.startsWith("/css2"),i=r.searchParams.getAll("family").flatMap(l=>n?[l]:l.split("|")).map(l=>{const u=l.indexOf(":");return u<0?{name:l.trim(),spec:""}:{name:l.slice(0,u).trim(),spec:l.slice(u+1)}}),o=t?.trim().toLowerCase(),a=o?i.find(l=>l.name.toLowerCase()===o):i[0];if(!a?.spec)return[];const s=n?CT(a.spec):kT(a.spec),c=new Set;return s.filter(l=>{const u=`${l.weight}/${l.style}`;return c.has(u)?!1:(c.add(u),!0)})},oe={MESSAGE:"message",INIT_PREVIEW:"init_preview",UPDATE_EDITOR:"update_editor",UPDATE_EDITOR_POSITION:"update_editor_position",UPDATE_SIDE_MENU_EDITOR:"update_side_menu_editor",SAVE_EMAIL:"saveEmail",SANDBOX_ELEMENT_SETTINGS_SET:"sandbox_element_settings_set",SANDBOX_IMAGE_RESET:P.createIdentifier("sandbox_image_reset"),SANDBOX_NATIVE_IMAGE_DROP_CLEAR:"sandbox_native-image-drop-clear",SANDBOX_EMAIL_SETTINGS_SET:"sandbox_email_settings_set",SANDBOX_BLOCK_SETTINGS_SET:"sandbox_block_settings_set",SANDBOX_ELEMENT_PARENT_GET:"sandbox_element_parent_get",SANDBOX_ELEMENT_PARENT_TABLE_GET:"sandbox_element_parent_table_get",SANDBOX_ELEMENT_PREV_GET:"sandbox_element_prev_get",SANDBOX_ELEMENT_NEXT_GET:"sandbox_element_next_get",SANDBOX_ELEMENT_REMOVE:"sandbox_element_remove",SANDBOX_ELEMENT_ACTIVE_RESET:"sandbox_element_active_reset",SANDBOX_ELEMENT_ACTIVE_SET:"sandbox_element_active_set",SANDBOX_ELEMENT_HOVER_SET:"sandbox_element_hover_set",SANDBOX_ELEMENT_IMG_LINK:"sandbox_element_img_link",SANDBOX_ELEMENT_TEXT:"sandbox_element_text",SANDBOX_EMAIL_CONTENT_GET:"sandbox_email_content_get",SANDBOX_SET_POSITION_TO_IMG:"sandbox_set_position_to_img",SANDBOX_SET_POSITION_TO_LINK:"sandbox_set_position_to_link",SANDBOX_ACCORDION_ADD_SECTION:"sandbox_accordion_add_section",SANDBOX_ACCORDION_REMOVE_SECTION:"sandbox_accordion_remove_section",APPLICATION_FOCUS_IN_IFRAME:"application_focus_in_iframe",APPLICATION_EMAIL_SETTINGS_SET:"application_email_settings_set",APPLICATION_BLOCK_SETTINGS_SET:"application_block_settings_set",APPLICATION_ELEMENT_SETTINGS_SET:"application_element_settings_set",_APPLICATION_ELEMENT_SETTINGS_SET:P.createIdentifier("application_element_settings_set"),APPLICATION_ELEMENT_SETTINGS_CLOSE:"application_element_settings_close",APPLICATION_ACTION:"application_action",APPLICATION_EBLOCK_ADD:"application_eblock_add",SANDBOX_EBLOCK_SET_EM_BLOCK_ID:"sandbox_eblock_set_em_block_id",SANDBOX_EBLOCK_CLEAR_EM_BLOCK_ID:"sandbox_eblock_clear_em_block_id",SANDBOX_GLOBAL_BLOCK_REPLACE:P.createIdentifier("sandbox_global_block_replace"),APPLICATION_SCROLL_TO:"application_scroll-to",APPLICATION_SCROLL_BLOCK_SHOW:"application_scroll-block-show",APPLICATION_SCROLL_BLOCK_HIDE:"application_scroll-block-hide",APPLICATION_DISCUSS_SET_ID:"application_discuss_set_id",APPLICATION_DISCUSS_GET_COMMENT:"application_discuss_get_comment",APPLICATION_DISCUSS_NO_COMMENT:"application_discuss_no_comment",APPLICATION_DISCUSS_SAVE_TARGET:"application_discuss_save_target",APPLICATION_IFRAME_SET_HEIGHT:"application_iframe_set_height",APPLICATION_COMMON_STYLES_UPDATE:"application_commonStyles_update",APPLICATION_EMAIL_CONTENT_GET:"application_email_content_get",APPLICATION_OPEN_IMAGE_AI_POPUP:"application_open-image-ai-popup",APPLICATION_OPEN_IMAGE_UPLOAD_POPUP:"application_open-image-upload-popup",APPLICATION_OPEN_IMAGE_EDIT_POPUP:"application_open-image-edit-popup",APPLICATION_OPEN_IMAGE_GIF_POPUP:"application_open-image-gif-popup",APPLICATION_OPEN_IMAGE_STOCK_POPUP:"application_open-image-stock-popup",APPLICATION_CLOSE_IMAGE_EDIT_POPUP:"application_close-image-edit-popup",APPLICATION_NATIVE_IMAGE_DROP:"application_native-image-drop",APPLICATION_SUBJECT_UPDATE:P.createIdentifier("application_subject_update"),APPLICATION_PREHEADER_UPDATE:P.createIdentifier("application_preheader_update"),APPLICATION_DOMPARSER_ERROR:P.createIdentifier("application_domparser_error"),APPLICATION_SYNC_DRIFT:P.createIdentifier("application_sync_drift"),APPLICATION_UPDATE_ENTITY:P.createIdentifier("application_update_entity"),APPLICATION_IFRAME_DRAG_EVENT:P.createIdentifier("application_iframe_drag_event"),APPLICATION_HAS_AMP:P.createIdentifier("application_has_amp"),APPLICATION_CANVAS_IMAGE_GET:P.createIdentifier("application_canvas_image_get"),APPLICATION_PREVIEW_ALERT_SHOW:"application_preview_alert_show",APPLICATION_ATOM_INSERTED:P.createIdentifier("application_atom_inserted"),APPLICATION_TEMPLATE_NOT_EM_ALERT_SHOW:"application_template_not_em_alert_show",SANDBOX_IFRAME_SETSIZE:"sandbox_iframe-setsize",SANDBOX_BLOCK_INSERT:"sandbox_block-insert",SANDBOX_ATOM_INSERT:"sandbox_atom-insert",SANDBOX_DRAG_CANCEL:"sandbox_drag-cancel",UPDATE_EDITOR_POSITION_FROM_EDITOR:"update_position_from_editor",UPDATE_EDITOR_POSITION_FROM_IFRAME:"update_position_from_iframe",SANDBOX_CHANGE_PREVIEW:"sandbox_change_preview",APPLICATION_CHANGE_PREVIEW:"application_change_preview",SANDBOX_LOCK_EDIT:"sandbox_lock_edit",SANDBOX_FLOATBLOCK_ADD:"sandbox_floatBlock_add",SANDBOX_FLOATBLOCK_REMOVE:"sandbox_floatBlock_remove",SANDBOX_FLOATBLOCK_COPY:"sandbox_floatBlock_copy",SANDBOX_FLOATBLOCK_SWAP:"sandbox_floatBlock_swap",EDITOR_CHANGE_FOCUS:"editor_change_focus",SANDBOX_RESIZED:"sandbox_resized",SANDBOX_LOCK_DISCUSS:"sandbox_lock_discuss",SANDBOX_DISCUSS_SET_TARGET:"sandbox_discuss_set_target",SANDBOX_DISCUSS_REMOVE_TARGET:"sandbox_discuss_remove_target",SANDBOX_DISCUSS_RESET:"sandbox_discuss_reset",SANDBOX_DISCUSS_GET_TARGET:"sandbox_discuss_get_target",SANDBOX_READY:P.createIdentifier("SANDBOX_READY"),SANDBOX_FLOATBLOCK_WRAP:"sandbox_floatblock_wrap",SANDBOX_FLOATBLOCK_DIR:"sandbox_floatblock_dir",SANDBOX_SUBJECT_UPDATE:P.createIdentifier("sandbox_subject_update"),SANDBOX_PREHEADER_UPDATE:P.createIdentifier("sandbox_preheader_update"),SANDBOX_DRAG_EVENT:P.createIdentifier("sandbox_drag_event"),SANDBOX_WHEEL:P.createIdentifier("sandbox_wheel"),SANDBOX_TRANSLATIONS:P.createIdentifier("sandbox_send_translations"),SANDBOX_SET_THEME_VARIABLES:P.createIdentifier("sandbox_send_theme_variables"),SANDBOX_SET_PROJECT_FONTS:P.createIdentifier("sandbox_set_project_fonts"),SANDBOX_CANVAS_IMAGE_CACHE_SETUP:P.createIdentifier("sandbox_canvas_image_cache_setup"),SANDBOX_SET_ENTITY:P.createIdentifier("sandbox_set_entity"),SANDBOX_INIT_START:P.createIdentifier("sandbox_init_start"),SANDBOX_INITED:P.createIdentifier("sandbox_inited"),SANDBOX_UPDATE_ENTITY:P.createIdentifier("sandbox_update_entity"),RELOAD:P.createIdentifier("reload"),SANDBOX_ADD_EXTENSIONS:P.createIdentifier("sandbox_add_extensions"),SANDBOX_REMOVE_EXTENSIONS:P.createIdentifier("sandbox_remove_extensions"),SANDBOX_ADD_SCRIPT:P.createIdentifier("sandbox_add_script"),SANDBOX_IS_EMAIL_EMPTY:P.createIdentifier("sandbox_is_email_empty"),SANDBOX_SWITCH_THEME:"sandbox_switch_theme",SANDBOX_CANVAS_HEALTH:P.createIdentifier("sandbox_canvas_health"),SANDBOX_CANVAS_SYNCED:P.createIdentifier("sandbox_canvas_synced")},MT={language:"html",detectIndentation:!1,wordWrap:"on",wrappingIndent:"same",smoothScrolling:!0,automaticLayout:!0,tabSize:2,indentSize:2},qr=(function(e){return e.IMG="img",e.TEXT="text",e.LINK="a",e.TABLE="table",e.VINDENT="vindent",e.TD="td",e.STRUCTURE="structure",e.GROUP="group",e.BUTTON="button",e.DIV="div",e.FLOAT_BLOCK="floatBlock",e.VAR="var",e.EMPTY_TABLE="emptyTable",e.EMPTY_TD="emptyTd",e.COUNTDOWN="countdown",e.VIDEO="video",e.COLUMN="column",e.CAROUSEL="carousel",e.ACCORDION="accordion",e.CUSTOM_TABLE="customTable",e.SOCIAL="social",e})({}),wo={ALL:"All",STANDARD:"Standard",PROJECT:"Project"},RT="Appearance",NT="Structure",DT="Settings",nm="Properties",LT="History",FT="Disabled_tab",xT="plugin-view:",im="Edit selected element",BT="UTM parameters",UT="Annotations parameters",$T="Table properties",qT="Edit selected table cells",GT="#b9b1b1",zT="Edit",VT="AiChat",Un="Build",om="Styles",HT="Discuss",WT="Blocks",KT="Atoms",QT="Optimise",YT={top:{width:null,style:null,color:null},right:{width:null,style:null,color:null},bottom:{width:null,style:null,color:null},left:{width:null,style:null,color:null},all:{width:null,style:null,color:null}},XT="block",am="email",sm="cards",JT="pending",ZT="d41d8",eO="valid",tO="warnings",rO="errors",nO={LINKS:"Links",IMAGES:"Images",SPAM_ASSASSIN:"Spam assassin",PROBLEMS:"Problems"},iO="1865",lm=127017,cm="desktop",um="mobile",oO="emailtags",aO="blocktags",sO=e=>({REORDER_ATOM:e("Reorder element"),CLONE_ATOM:e("Clone element"),REMOVE_ATOM:e("Remove element"),EDIT_ATOM:e("Edit element"),CHANGE_IMAGE:e("Change image"),CHANGE_IMAGE_EDIT:e("Edit"),CHANGE_IMAGE_STOCK:e("Stock"),CHANGE_IMAGE_CHANGETO:e("Upload"),CHANGE_IMAGE_GIF:e("GIF"),CHANGE_IMAGE_AI:e("Generate"),REORDER_BLOCK:e("Reorder block"),REORDER_BLOCK_UP:e("Move up"),REORDER_BLOCK_DOWN:e("Move down"),EDIT_BLOCK:e("Edit block"),CLONE_BLOCK:e("Clone block"),MERGE_BLOCK:e("Merge with the chosen block"),UNMERGE_BLOCK:e("Split blocks"),COPY_BLOCK_TO_CLIPBOARD:e("Copy block to clipboard"),PASTE_BLOCK_FROM_CLIPBOARD:e("Paste block from clipboard"),REMOVE_BLOCK:e("Remove block"),SAVE_TO_BLOCKS:e("Save to Blocks"),UPDATE_GLOBAL_BLOCK_IN_TEMPLATES:e("Push block update to all templates"),ADD_BLOCK:e("Add block"),ADD_EMPTY_BLOCK:e("Add an empty block"),ADD_SAVED_BLOCK:e("Add a saved block"),ADD_COMMON_BLOCK:e("Add a common block"),ADD_TEMPLATE_BLOCK:e("Add a template block"),ADD_SEARCH_BLOCK:e("Search a block"),REORDER_GROUP:e("Reorder group"),EDIT_GROUP:e("Edit group"),CLONE_GROUP:e("Clone group"),REMOVE_GROUP:e("Remove group"),ADD_GROUP:e("Add group"),LINK:e("link"),TABLE_COLUMN:e("cell"),TABLE:e("table"),FLOAT_BLOCK:e("column"),CONTAINER:e("container"),PICTURE:e("picture"),CAROUSEL:e("carousel"),ACCORDION:e("accordion"),SOCIAL:e("Social media"),VERTICAL_INDENT:e("indent"),TEXT:e("text"),BUTTON:e("button"),VAR:e("variable"),STRUCTURE:e("block"),EMAIL:e("email"),GROUP:e("group"),TYPOGRAF:e("Typograf"),COUNTDOWN:e("countdown"),ELEMENT:e("element"),VIDEO:e("video"),ELEMENT_PATH_LINK:e("Link"),ELEMENT_PATH_BLOCK:e("Block"),ELEMENT_PATH_ATOM:e("Element"),ELEMENT_PATH_TD:e("Cell"),ELEMENT_PATH_TABLE:e("Table"),ELEMENT_PATH_FLOATBLOCK:e("Column"),ELEMENT_PATH_TEXT:e("Text"),ELEMENT_PATH_DIV:e("Container"),ELEMENT_PATH_GROUP:e("Group"),ELEMENT_PATH_EMAIL:e("Email"),ELEMENT_PATH_IMG:e("Picture"),ELEMENT_PATH_VINDENT:e("Indent"),ELEMENT_PATH_BUTTON:e("Button"),ELEMENT_PATH_CAROUSEL:e("Carousel"),ELEMENT_PATH_ACCORDION:e("Accordion"),ELEMENT_PATH_SOCIAL:e("Social media"),ELEMENT_PATH_SECTION:e("Section"),TINYMCE_CHANGECASE:e("Case Change"),TINYMCE_UPPERCASE:e("Uppercase"),TINYMCE_LOWERCASE:e("Lowercase"),PASTE_HERE:e("Drop here"),INSERT_COLUMN_BEFORE_TABLE:e("Insert column before"),INSERT_COLUMN_AFTER_TABLE:e("Insert column after"),INSERT_ROW_BEFORE_TABLE:e("Insert row before"),INSERT_ROW_AFTER_TABLE:e("Insert row after"),MERGE_RIGHT_CELL_TABLE:e("Merge right cell"),MERGE_LEFT_CELL_TABLE:e("Merge left cell"),MERGE_TOP_CELL_TABLE:e("Merge top cell"),MERGE_BOTTOM_CELL_TABLE:e("Merge bottom cell"),SPLIT_CELL_TABLE:e("Split cell"),REMOVE_COLUMN_TABLE:e("Remove column"),REMOVE_ROW_TABLE:e("Remove row"),TABLE_MENU_COLUMNS:e("Columns"),TABLE_MENU_ROWS:e("Rows"),DROP_BLOCK_HINT:e("Click or drag a block")}),lO={Applications:"Apps",Articles:"Article",Banners:"Banners",Buttons:"Buttons","Call to Action":"Call to Action",Contacts:"Contacts",Content:"Content","E-Commerce":"E-Commerce",Feature:"Features",Footer:"Footers",Header:"Headers",Lists:"Lists",Menu:"Menus",Other:"Others",Polls:"Polls",Promocodes:"Promocodes",Separators:"Separators",Transactional:"Transactional"},dm={maker:"https://ai-mail.emcdn.ru",blocks:"https://ai-mail.useblocks.io"},cO=/^(?:ant|vscode|monaco|docs)-/;function uO(e){return cO.test(e)}function dO(){const e="em".trim();if(!/^[a-z][a-z0-9]*$/i.test(e))throw new Error(`[cssVars] REACT_APP_CSS_VAR_PREFIX="${e}" is not a valid CSS identifier fragment.`);return e}var fO=new Set(["animation-opacity","inline-edit-border-radius","separator-border","text-link-decoration"]);function mO(){return fO}var pO=new Set;function hO(e,t,r=pO){return e.startsWith(`${t}-`)?!1:!uO(e)&&!r.has(e)}function gO(e,t){return`--${t}-${e}`}function Gr(e){const t=dO();return hO(e,t,mO())?gO(e,t):`--${e}`}function yO(e,t){const r=Gr(e);return t!==void 0?`var(${r}, ${t})`:`var(${r})`}function _O(e,t){return yO(e,t)}function vO(e){return Gr(e)}var fm=P.INJECTION,bO=e=>e??P.createIdentifier$1();function Oe(){const e=me();return(0,_.useMemo)(()=>P.getContainer(e),[e])}function EO(e,t){const r=me(),n=(0,_.useMemo)(()=>t||P.getContainer(r),[r,t]),[i,o]=(0,_.useState)(()=>n?.getInstance(e));return(0,_.useEffect)(()=>{const a=n?.onInject(s=>{s===e&&o(n.getInstance(e))});return()=>a?.dispose()},[e,n]),i}function wO(e,t){const r=me(),n=(0,_.useMemo)(()=>t||P.getContainer(r),[r,t]),[i,o]=(0,_.useState)(()=>n?.getServices(e)||[]);return(0,_.useEffect)(()=>{if(!n)return;const a=n.onInject(s=>{s===P.getServiceContainerId(e)&&o(n.getServices(e))});return()=>{a?.dispose()}},[e,n]),i}function mm(e,t){return e.user.mode||e.serverSide.mode||t||"pro"}function SO(e,t){const r=mm(e,t);return e.serverSide.advancedConfigs?.[r]||{}}function PO(e,t){const r=mm(e,t),n=e.user?.advancedConfigs?.[r],i=n!==void 0?n:e.user?.advancedConfigs?.pro;return{...e.advancedConfigs?.[r],...i}}function pm(e,t,r){const n=SO(e,r),i=PO(e,r);return P.pickKey([i,e.user,n,e.serverSide],t)}var IO=P.createIdentifier$1("planFeatures.source");function TO(e){return e.getOrCreateInstance(IO,()=>Re(void 0))}function OO(e,t){if(e&&Object.prototype.hasOwnProperty.call(e,t))return!!e[t]}function nr(e){return e?.getInstance(P.CONFIG_SOURCE_ID)?.get()??{}}function $s(){const e=Oe().getInstance(P.CONFIG_SOURCE_ID);if(!e)throw new Error("[config] источник конфигурации не зарегистрирован: нет provideConfig");return e}function mt(){const e=$s();if(e.get()===void 0)throw e.ready();const t=(0,_.useCallback)(i=>{const o=e.watch(i);return()=>o.dispose()},[e]),r=(0,_.useSyncExternalStore)(t,()=>e.get()),n=CO();return(0,_.useMemo)(()=>r,[r,n])}function CO(){const e=Oe(),t=TO(e),r=(0,_.useCallback)(n=>{const i=t.watch(n);return()=>i.dispose()},[t]);return(0,_.useSyncExternalStore)(r,()=>t.get())}function hm(e){const t=$s();return mt(),pm(t.layers(),e)}function qs(){const e=Oe(),t=(0,_.useCallback)(n=>{if(!e)return()=>{};const i=Yi(e).watch(n);return()=>i.dispose()},[e]),r=(0,_.useCallback)(()=>Dd(e),[e]);return(0,_.useSyncExternalStore)(t,r,r)}function AO(e){return e.hasOwnProperty("children")}function gm(e){return e?.length?e.map(t=>AO(t)?{key:P.generateUUID(),value:t.value,label:t.label,children:gm(t.children),type:"group"}:{key:P.generateUUID(),label:t.label,value:t.value}):void 0}var ym=(0,_.createContext)({element:void 0}),Gs=()=>(0,_.useContext)(ym)?.element,_m=(0,_.createContext)(void 0),kO=()=>(0,_.useContext)(_m),vm=(0,_.createContext)(!1),jO=()=>(0,_.useContext)(vm);function So(e){return P.createIdentifier$1(e)}function $n(e,t){return e.getOrCreateInstance(t,()=>new P.AsyncEmitter)}function MO(e,t){return e.getOrCreateInstance(t,()=>new P.AsyncEmitter).event}function bm(e){return $t(e).event}function $t(e){const t=me();return(0,_.useMemo)(()=>$n(P.getContainer(t),e),[t,e])}var Em=class{_listeners=[];add(e,t=0,r){const n={fn:r?e.bind(r):e,priority:t};return this._listeners.push(n),{dispose:()=>{const i=this._listeners.indexOf(n);i>=0&&this._listeners.splice(i,1)}}}async run(e){const t=[...this._listeners].sort((r,n)=>n.priority-r.priority);for(const{fn:r}of t){const n=await r(e);n!==null&&typeof n=="object"&&!Array.isArray(n)&&!(n instanceof Date)&&!(n instanceof RegExp)&&Object.assign(e,n)}return e}},RO=P.createIdentifier$1("ELEMENT_INSERT_HTML_PIPELINE"),NO=P.createIdentifier$1("BLOCK_INSERT_HTML_PIPELINE");function DO(e){return e.getOrCreateInstance(RO,()=>new Em)}function LO(e){return e.getOrCreateInstance(NO,()=>new Em)}async function wm(e,t){return e?DO(e).run({...t}):t}async function Sm(e,t){return e?LO(e).run({...t}):t}var Pm=P.createIdentifier$1("ComponentRegistry"),FO=P.createIdentifier$1("ComponentRegistryGate");function Im(){return P.DependencyResolver.getOrCreateInstance(FO,()=>({pending:[]}))}function xO(e){const t=Im();t.factory=e;const r=t.pending.splice(0,t.pending.length);for(const n of r)try{n()}catch{}}function BO(e,t=Pm){const r=P.DependencyResolver.getInstance(t);if(r)return r;const n=Im().factory;if(!n)throw new Error("[extensions] component registry is not loaded yet — UI work starts at init()");return P.DependencyResolver.getOrCreateInstance(t,n)}var Tm=Symbol.for("emailmaker.result");function Om(e){return Object.defineProperty(e,Tm,{value:!0})}var Po=(e=>Om({ok:!0,value:e})),zr=((e,t="")=>Om({ok:!1,error:{code:e,message:t}}));function UO(e){return typeof e=="object"&&e!==null&&e[Tm]===!0}var br=e=>({optional:!1,...e}),Io={string:()=>br({kind:"string"}),number:()=>br({kind:"number"}),boolean:()=>br({kind:"boolean"}),enum:(...e)=>br({kind:"enum",values:e}),element:(...e)=>br({kind:"element",kinds:e}),array:e=>br({kind:"array",item:e}),object:e=>br({kind:"object",shape:e}),optional:e=>({...e,optional:!0})};function Cm(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function To(e,t,r){if(t===void 0)return e.optional?void 0:`"${r}" is required`;switch(e.kind){case"string":case"number":case"boolean":return typeof t===e.kind?void 0:`"${r}" must be a ${e.kind}`;case"enum":return e.values?.includes(t)?void 0:`"${r}" must be one of: ${e.values?.join(", ")}`;case"element":return t!==null&&(typeof t=="object"||typeof t=="string")?void 0:`"${r}" must be an element reference`;case"array":if(!Array.isArray(t))return`"${r}" must be an array`;for(let n=0;n<t.length;n+=1){const i=To(e.item,t[n],`${r}[${n}]`);if(i)return i}return;case"object":return Cm(t)?Am(e.shape,t,r):`"${r}" must be an object`}}function Am(e,t,r){for(const[n,i]of Object.entries(e??{})){const o=To(i,t[n],r?`${r}.${n}`:n);if(o)return o}}function km(e,t,r){return e?To(e,t,r):void 0}function $O(e,t){if(!e)return;const r=e;return r.kind!=="object"?To(r,t,"arguments"):t!==void 0&&!Cm(t)?"arguments must be an object":Am(r.shape,t??{},"")}var jm=Symbol.for("emailmaker.domView");function qO(e){return typeof e=="function"||typeof e=="object"&&e!==null&&typeof e.$$typeof=="symbol"}function Mm(e){return typeof e=="object"&&e!==null&&typeof e[jm]=="function"}function qn(e){const t={watch:e,select:r=>qn(n=>{let i=!1,o;return t.watch(a=>{const s=r(a);i&&Object.is(o,s)||(i=!0,o=s,n(s))})})};return t}function GO(e){return qn(t=>(t(e),{dispose:()=>{}}))}function zO(e,t){return qn(r=>{let n=!1,i=!1,o;const a=()=>{if(!n)return;const c=t();i&&Object.is(o,c)||(i=!0,o=c,r(c))},s=e.map(c=>c.watch(a));return n=!0,a(),{dispose:()=>s.forEach(c=>c.dispose())}})}function pt(e){let t;return e.watch(r=>{t=r}).dispose(),t}function JK(e){}function qt(e,t){try{t()}catch{}}var Rm=Symbol.for("emailmaker.platform.hostError");function Er(e,t){return Object.defineProperty(zr(e,t),Rm,{value:!0})}function VO(e){return typeof e=="object"&&e!==null&&Rm in e}var HO={documentOpen:!1,selection:"none",codeMode:!1,readOnly:!1,headless:!1};function Oo(e,t){if(!e)return!0;if("any"in e)return e.any.some(n=>Oo(n,t));if("not"in e)return!Oo(e.not,t);const r={...HO,...t};return Object.entries(e).every(([n,i])=>r[n]===i)}var WO=class{_facts;_owners;_entries=new Map;_list=Re([]);_disposed=!1;constructor(e,t){this._facts=e,this._owners=t}get commands(){return this._list}has(e){return this._entries.has(e)}register(e,t,r,n={}){if(this._disposed)return`${e.name}`,{dispose:()=>{}};const i=Object.keys(t);for(const s of i){const c=this._entries.get(s);if(c)throw new Error(`Command "${s}" is already registered by "${c.owner.name}"; "${e.name}" cannot register it again. Choose a unique id with your plugin namespace, and make sure the plugin is not loaded twice.`);if(typeof r[s]!="function")throw new Error(`Command "${s}" of "${e.name}" has no handler.`)}const o=i.map(s=>({id:s,owner:e,declaration:t[s],handler:r[s],enabled:n[s]??GO(!0),pending:new Set}));o.forEach(s=>this._entries.set(s.id,s)),this._publish();let a=!1;return{dispose:()=>{a||(a=!0,this._remove(o))}}}disposeOwner(e){this._remove(Array.from(this._entries.values()).filter(t=>t.owner===e))}disposeAll(){this._disposed=!0,this._remove(Array.from(this._entries.values()))}get disposed(){return this._disposed}async run(e,t,r){if(this._disposed)return Er("unavailable",`Command "${e}" is not available: the editor was destroyed.`);const n=this._entries.get(e);if(!n)return Er("notInstalled",`Command "${e}" is not installed in this host.`);if(!Oo(n.declaration.when,pt(this._facts)??{})||pt(n.enabled)===!1)return Er("unavailable",`Command "${e}" is not available right now.`);const i=$O(n.declaration.args,t);if(i)return Er("invalidArgs",`Command "${e}": ${i}.`);const o=new AbortController,a=new Promise(c=>{o.signal.addEventListener("abort",()=>c(zr("aborted",`Command "${e}" was cancelled.`)),{once:!0})});n.pending.add(o);const s={signal:o.signal,caller:r.caller,run:(c,l)=>this.run(c,l,{caller:"plugin"})};try{return await Promise.race([this._execute(n,t??{},s),a])}finally{n.pending.delete(o)}}visible(e){return zO([this._list,this._facts],()=>{const t=this._entries.get(e);return t!==void 0&&Oo(t.declaration.when,pt(this._facts)??{})})}enabled(e){return qn(t=>{let r,n;const i=a=>{a!==n&&(n=a,t(a))},o=this._list.watch(()=>{r?.dispose();const a=this._entries.get(e);r=a?a.enabled.watch(i):void 0,a||i(!1)});return{dispose:()=>{o.dispose(),r?.dispose()}}})}info(e){const t=this._entries.get(e);return t&&Nm(t)}async _execute(e,t,r){try{const n=e.handler,i=()=>n(t,r),o=await(this._owners?this._owners.execute(e.owner,i):i());return UO(o)?o:Po(o)}catch(n){return zr("internal",n instanceof Error?n.message:String(n))}}_remove(e){let t=!1;for(const r of e)this._entries.get(r.id)===r&&(this._entries.delete(r.id),t=!0),r.pending.forEach(n=>n.abort());t&&this._publish()}_publish(){this._list.set(Array.from(this._entries.values()).map(Nm))}};function Nm(e){const{title:t,description:r,icon:n}=e.declaration;return{id:e.id,owner:e.owner,title:t,description:r,icon:n}}function Dm(e){const t=globalThis,r=Symbol.for(`emailmaker.platform.owner.${e}`);return t[r]??=Object.freeze({name:e})}var Vr=Dm("core"),Lm=Dm("unknown"),KO=Symbol.for("emailmaker.platform.builtInPlugin");function QO(e){return typeof e=="function"&&Object.prototype.hasOwnProperty.call(e,KO)}function Fm(e){return QO(e.constructor)}var YO=class{_owners=new WeakMap;_stack=[];_listeners=new Set;current(){return this._stack[this._stack.length-1]??Lm}execute(e,t){const r=e===Vr?Lm:e;this._stack.push(r);try{return t()}finally{this._leave(r)}}onUnload(e){return this._listeners.add(e),{dispose:()=>this._listeners.delete(e)}}handle(e){const{plugin:t}=e;if(t)switch(e.type){case"init:enter":case"afterInit:enter":Fm(t)||this._stack.push(this._ownerOf(t,e.name));break;case"init:leave":case"afterInit:leave":Fm(t)||this._leave(this._ownerOf(t,e.name));break;case"dispose:start":{const r=this._owners.get(t);r&&(this._leave(r),this._owners.delete(t),Array.from(this._listeners).forEach(n=>n(r)));break}}}_ownerOf(e,t){let r=this._owners.get(e);return r||(r={name:t},this._owners.set(e,r)),r}_leave(e){const t=this._stack.lastIndexOf(e);t>=0&&this._stack.splice(t,1)}},Co=["plugins"],Ao={toolbar:{kind:"item",groups:["view","collaboration","document","plugins","primary"]},"menu:document":{kind:"item",groups:["document","plugins","access","danger"]},"menu:export":{kind:"item",groups:["formats","plugins","platforms"]},"menu:view":{kind:"item",groups:["preview","plugins","share"]},"menu:save":{kind:"item",groups:Co},statusBar:{kind:"item",groups:["selection","document","plugins","collaboration"]},notices:{kind:"item",groups:Co},sidebar:{kind:"view",groups:["content","collaboration","analysis","plugins","settings"]},dialog:{kind:"view",groups:Co},documentSettings:{kind:"view",groups:Co}},zs="plugins";function XO(e,t){const r=e.groups.indexOf(t);return r<0?e.groups.length:r}var ZK="1.0",xm=Symbol.for("emailmaker.viewHost"),Vs={dispose:()=>{}},JO=class{_deps;apiVersion="1.0";_locations=new Map(Object.entries(Ao));_items=Re([]);_views=Re([]);_opened=Re([]);_viewById=new Map;_seq=0;_openedKey=0;_disposed=!1;constructor(e){this._deps=e,this._registerCoreCommands()}get opened(){return this._opened}registerLocation(e,t){if(this._locations.has(e))throw new Error(`Location "${e}" is already registered.`);return this._locations.set(e,t),{dispose:()=>{this._locations.get(e)===t&&this._locations.delete(e)}}}addItem(e,t){if(this._skipAfterDispose(e))return Vs;const r=this._itemLocation(t.location,"item",e);if(!r)return Vs;const n={seq:this._nextSeq(),owner:e,location:t.location,group:this._groupOf(r,t.group,t.location),order:t.order??0,item:t};return this._items.set([...this._items.get()??[],n]),{dispose:()=>this._removeItems(i=>i===n)}}addViews(e,t,r,n){if(this._skipAfterDispose(e))return Vs;const i=Object.keys(t);for(const a of i){const s=this._viewById.get(a);if(s)throw new Error(`View "${a}" is already registered by "${s.owner.name}"; "${e.name}" cannot register it again. Choose a unique id with your plugin namespace, and make sure the plugin is not loaded twice.`);if(!qO(r[a])&&!Mm(r[a]))throw new Error(`View "${a}" of "${e.name}" has no component; pass a React component or domView(renderer).`)}const o=[];for(const a of i){const s=t[a],c=this._itemLocation(s.location,"view",e);if(c){const l=this._groupOf(c,s.group,s.location);o.push({seq:this._nextSeq(),id:a,owner:e,location:s.location,group:l,order:s.order??0,declaration:s,renderer:r[a],editor:n})}}return o.forEach(a=>this._viewById.set(a.id,a)),this._views.set([...this._views.get()??[],...o]),{dispose:()=>this._removeViews(a=>o.includes(a))}}open(e,t){if(this._disposed)return Promise.resolve(zr("cancelled",`View "${e}" cannot open: the editor was destroyed.`));if(pt(this._deps.facts)?.headless)return Promise.resolve(Er("unavailable",`View "${e}" cannot open: the editor has no interface.`));const r=this._viewById.get(e);if(!r)return Promise.resolve(Er("notInstalled",`View "${e}" is not installed in this host.`));const n=km(r.declaration.input,t,"input");return n?Promise.resolve(Er("invalidArgs",`View "${e}": ${n}.`)):(this.close(e),new Promise(i=>{const o=new AbortController;let a=!1;const s=d=>{if(!a){a=!0;try{this._opened.set((this._opened.get()??[]).filter(m=>m!==u))}finally{o.abort(),i(d)}}},c=d=>s(Po(d)),l={input:t,signal:o.signal,close:c};Object.defineProperty(l,xm,{value:this._viewHost(r)});const u={key:this._openedKey+=1,view:e,owner:r.owner,location:r.location,input:t,record:r,renderer:r.renderer,signal:o.signal,context:l,close:c,cancel:()=>s(zr("cancelled",`View "${e}" was closed without a result.`))};this._opened.set([...this._opened.get()??[],u])}))}viewLocation(e){return this._viewById.get(e)?.location}close(e){(this._opened.get()??[]).filter(t=>t.view===e).forEach(t=>t.cancel())}items(e){return this._items.select(t=>this._sorted(t,e))}get allViews(){return this._views}views(e){return this._views.select(t=>this._sorted(t,e))}disposeOwner(e){qt("items",()=>this._removeItems(t=>t.owner===e)),qt("views",()=>this._removeViews(t=>t.owner===e))}disposeAll(){this._disposed=!0,qt("items",()=>this._removeItems(()=>!0)),qt("views",()=>this._removeViews(()=>!0))}supports(e,t){switch(e){case"service":return t==="Commands"||t==="Ui";case"location":return this._locations.has(t);case"command":return this._deps.commands.has(t);case"view":return this._viewById.has(t)}}_sorted(e,t){const r=this._locations.get(t),n=i=>r?XO(r,i.group):0;return e.filter(i=>i.location===t).sort((i,o)=>n(i)-n(o)||i.order-o.order||i.seq-o.seq)}_itemLocation(e,t,r){const n=this._locations.get(e);if(!n)`${r.name}${e}`;else if(n.kind!==t){`${r.name}`,`${e}${n.kind}`;return}return n}_groupOf(e,t,r){return t===void 0?zs:e.groups.includes(t)?t:(`${r}${t}${zs}`,zs)}_nextSeq(){return this._seq+=1,this._seq}_removeItems(e){const t=this._items.get()??[];t.some(e)&&this._items.set(t.filter(r=>!e(r)))}_removeViews(e){const t=this._views.get()??[],r=t.filter(e);if(r.length!==0){r.forEach(n=>this._viewById.delete(n.id));try{this._views.set(t.filter(n=>!e(n)))}finally{(this._opened.get()??[]).filter(n=>r.includes(n.record)).forEach(n=>qt(`close ${n.view}`,()=>n.cancel()))}}}_skipAfterDispose(e){return this._disposed&&(`${e.name}`,void 0),this._disposed}_viewHost(e){return{run:(t,r)=>this._deps.commands.run(t,r,{caller:"ui"}),editor:e.editor}}_registerCoreCommands(){this._deps.commands.register(Vr,{"ui.openView":{title:"Open view",args:Io.object({view:Io.string()}),agent:!0},"ui.closeView":{title:"Close view",args:Io.object({view:Io.string()}),agent:!0}},{"ui.openView":e=>this.open(e.view,e.input),"ui.closeView":e=>(this.close(e.view),Po())})}};function ZO(){return Re({})}var eC=P.createIdentifier$1("platform.ownerTracker"),tC=P.createIdentifier$1("platform.whenFacts"),rC=P.createIdentifier$1("platform.commandRegistry"),nC=P.createIdentifier$1("platform.uiService");function Bm(e){return e.getOrCreateInstance(eC,()=>{const t=new YO;return t.onUnload(r=>{qt("commands",()=>Ws(e).disposeOwner(r)),qt("ui",()=>qm(e).disposeOwner(r))}),t})}function Hs(e){return e.getOrCreateInstance(tC,ZO)}function iC(e){const{isDisposed:t}=e;return typeof t=="function"&&t.call(e)}function Um(e){return e.getOrCreateInstance(rC,()=>new WO(Hs(e),Bm(e)))}function oC(e){return e.getOrCreateInstance(nC,()=>(Bm(e),new JO({commands:Um(e),facts:Hs(e)})))}function $m(e){const t=Um(e),r=oC(e);return!t.disposed&&iC(e)&&(qt("ui",()=>r.disposeAll()),qt("commands",()=>t.disposeAll())),{registry:t,ui:r}}function Ws(e){return $m(e).registry}function qm(e){return $m(e).ui}var aC=class{_factories=new Map;add(e,t){const r=e;return this._factories.set(r,t),{dispose:()=>{this._factories.get(r)===t&&this._factories.delete(r)}}}get(e){return this._factories.get(e)}},Gm=P.createIdentifier$1("DomComponentRegistry");function sC(e,t=Gm){return P.DependencyResolver.getOrCreateInstance(t,()=>new aC)}function lC(e){return typeof e=="function"}function Hr(e){return(0,_.isValidElement)(e)}function cC(e){return typeof e=="function"||Hr(e)}function uC(e){return typeof e=="object"&&e!==null&&"type"in e&&"props"in e&&!Hr(e)}function Ks(e,t){return(0,_.createElement)(e,t)}function dC(e){return class extends _.Component{_ref=(0,_.createRef)();_instance;componentDidMount(){this._ref.current&&(this._instance=e(this.props),this._ref.current.appendChild(this._instance.node))}componentDidUpdate(r){this._instance?.update&&this._instance.update(this.props)}componentWillUnmount(){this._instance?.dispose&&this._instance.dispose()}render(){return(0,_.createElement)("div",{ref:this._ref})}}}var fC=class{_domComponentRegistry;_components=new Map;_domAdapters=new Map;constructor(e){this._domComponentRegistry=e}add(e,t){return this.override(e,()=>t)}addDom(e,t){const r=e;this._domAdapters.delete(r);const n=this._domComponentRegistry.add(e,t);return{dispose:()=>{this._domAdapters.delete(r),n.dispose()}}}override(e,t){const r=e;let n=this._components.get(r);n||(n={replacers:[]},this._components.set(r,n));const i=()=>{const o=n.replacers.findIndex(a=>a.replacer===t);o>=0&&(n.replacers.splice(o,1),this._recomputeComponent(r,n))};return n.replacers.push({replacer:t,dispose:i}),this._recomputeComponent(r,n),{dispose:i}}_recomputeComponent(e,t){t.component=t.replacers.reduce((r,{replacer:n})=>n(r),void 0)}get(e){if(cC(e))return e;const t=e,r=this._components.get(t);if(r?.component)return r.component;const n=this._domComponentRegistry.get(e);if(n){let i=this._domAdapters.get(t);return i||(i=dC(n),this._domAdapters.set(t,i)),i}}_resolveComponentInput(e){if(e==null)return null;if(typeof e=="number"||typeof e=="boolean"||Hr(e))return e;if(typeof e=="string"){const t=this.get(e);return Hr(t)?t:t?Ks(t):e}if(lC(e))return Ks(e);if(uC(e)){const t=this.get(e.type);return Hr(t)?t:t?Ks(t,e.props):null}return null}getReactNode(e){return this._resolveComponentInput(e)}getReactElement(e){const t=this._resolveComponentInput(e);return Hr(t)?t:typeof t=="string"||t==null||typeof t=="boolean"||typeof t=="number"?(0,_.createElement)(_.Fragment,null,t):(0,_.createElement)(_.Fragment,null)}},zm=()=>new fC(sC(P.DependencyResolver,Gm));xO(zm),P.DependencyResolver.getOrCreateInstance(Pm,zm);function Qs(e){"@babel/helpers - typeof";return Qs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Qs(e)}function Vm(e,t){if(t.length<e)throw new TypeError(e+" argument"+(e>1?"s":"")+" required, but only "+t.length+" present")}var mC=365.2425,pC=Math.pow(10,8)*24*60*60*1e3,Hm=6e4,Wm=36e5,e3=-pC,hC=3600,Km=hC*24,t3=Km*7,gC=Km*mC,yC=gC/12,r3=yC*3;function _C(e){if(e===null||e===!0||e===!1)return NaN;var t=Number(e);return isNaN(t)?t:t<0?Math.ceil(t):Math.floor(t)}function Qm(e,t){var r;Vm(1,arguments);var n=_C((r=t?.additionalDigits)!==null&&r!==void 0?r:2);if(n!==2&&n!==1&&n!==0)throw new RangeError("additionalDigits must be 0, 1 or 2");if(!(typeof e=="string"||Object.prototype.toString.call(e)==="[object String]"))return new Date(NaN);var i=wC(e),o;if(i.date){var a=SC(i.date,n);o=PC(a.restDateString,a.year)}if(!o||isNaN(o.getTime()))return new Date(NaN);var s=o.getTime(),c=0,l;if(i.time&&(c=IC(i.time),isNaN(c)))return new Date(NaN);if(i.timezone){if(l=TC(i.timezone),isNaN(l))return new Date(NaN)}else{var u=new Date(s+c),d=new Date(0);return d.setFullYear(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate()),d.setHours(u.getUTCHours(),u.getUTCMinutes(),u.getUTCSeconds(),u.getUTCMilliseconds()),d}return new Date(s+c+l)}var ko={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},vC=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,bC=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,EC=/^([+-])(\d{2})(?::?(\d{2}))?$/;function wC(e){var t={},r=e.split(ko.dateTimeDelimiter),n;if(r.length>2)return t;if(/:/.test(r[0])?n=r[0]:(t.date=r[0],n=r[1],ko.timeZoneDelimiter.test(t.date)&&(t.date=e.split(ko.timeZoneDelimiter)[0],n=e.substr(t.date.length,e.length))),n){var i=ko.timezone.exec(n);i?(t.time=n.replace(i[1],""),t.timezone=i[1]):t.time=n}return t}function SC(e,t){var r=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),n=e.match(r);if(!n)return{year:NaN,restDateString:""};var i=n[1]?parseInt(n[1]):null,o=n[2]?parseInt(n[2]):null;return{year:o===null?i:o*100,restDateString:e.slice((n[1]||n[2]).length)}}function PC(e,t){if(t===null)return new Date(NaN);var r=e.match(vC);if(!r)return new Date(NaN);var n=!!r[4],i=Gn(r[1]),o=Gn(r[2])-1,a=Gn(r[3]),s=Gn(r[4]),c=Gn(r[5])-1;if(n)return jC(t,s,c)?OC(t,s,c):new Date(NaN);var l=new Date(0);return!AC(t,o,a)||!kC(t,i)?new Date(NaN):(l.setUTCFullYear(t,o,Math.max(i,a)),l)}function Gn(e){return e?parseInt(e):1}function IC(e){var t=e.match(bC);if(!t)return NaN;var r=Ys(t[1]),n=Ys(t[2]),i=Ys(t[3]);return MC(r,n,i)?r*Wm+n*Hm+i*1e3:NaN}function Ys(e){return e&&parseFloat(e.replace(",","."))||0}function TC(e){if(e==="Z")return 0;var t=e.match(EC);if(!t)return 0;var r=t[1]==="+"?-1:1,n=parseInt(t[2]),i=t[3]&&parseInt(t[3])||0;return RC(n,i)?r*(n*Wm+i*Hm):NaN}function OC(e,t,r){var n=new Date(0);n.setUTCFullYear(e,0,4);var i=n.getUTCDay()||7,o=(t-1)*7+r+1-i;return n.setUTCDate(n.getUTCDate()+o),n}var CC=[31,null,31,30,31,30,31,31,30,31,30,31];function Ym(e){return e%400===0||e%4===0&&e%100!==0}function AC(e,t,r){return t>=0&&t<=11&&r>=1&&r<=(CC[t]||(Ym(e)?29:28))}function kC(e,t){return t>=1&&t<=(Ym(e)?366:365)}function jC(e,t,r){return t>=1&&t<=53&&r>=0&&r<=6}function MC(e,t,r){return e===24?t===0&&r===0:r>=0&&r<60&&t>=0&&t<60&&e>=0&&e<25}function RC(e,t){return t>=0&&t<=59}var NC=Object.freeze({});function DC(){return null}function wr(){return NC}function LC(){return""}function Xs(){return FC}function FC(){}function xC(){return(0,_.useMemo)(()=>({get:()=>null,set:()=>{}}),[])}function Js(e){return e.getOrCreateInstance(P.MESSAGE_SERVICE_ID,()=>new P.MessageService)}var BC=new WeakMap,Xm=new WeakMap;function Jm(e){return BC.get(e)??0}function UC(e,t){let r=Xm.get(e);return r||(r=new Set,Xm.set(e,r)),r.add(t),()=>{r?.delete(t)}}var Zm=new Set(["email","block"]),$C=new Set(["block","structure","atom"]),qC=new Set(["simple","editor","pro"]),GC=new Set(["code","visual"]),zC=new Set(["left","right","bottom","none","toggle"]),ep=new Set(["element","icon","text"]),VC=new Set(["html","text","markdown","clipboard","image","outlook","zip"]),HC=new Set(["width","height","padding","margin","font_size","line_height","letter_spacing","border_radius","opacity","text_align","color","background_color","border_color","text_color"]),WC=/^[A-Za-z][\w-]{0,63}$/;function Zs(e){return typeof e=="string"?e:""}function zn(e){return typeof e=="string"&&WC.test(e)?e:void 0}function Gt(e,t){return typeof t=="string"&&e.has(t)?t:void 0}function Ce(e){return()=>({name:e,properties:{}})}function ir(e){return t=>({name:e,properties:{entity_type:Gt(Zm,t.entity_type)}})}function Wr(e,t){return r=>({name:e,properties:Object.fromEntries(Object.entries(t).map(([n,i])=>{const o=r[i];return[n,typeof o=="string"?zn(o):o]}))})}function KC(e,t){if(typeof t=="number"||typeof t=="boolean")return t;const r=e.replace(/^mobile_/,"");return HC.has(r)||r.endsWith("_unit")?t:void 0}var QC={"save/save_email":Ce("editor_email_saved"),"click/save_block":Ce("editor_block_saved"),"click/click_back_button":ir("editor_back_clicked"),"delete/delete_email":Ce("editor_email_deleted"),"click/click_delete_email_menu_item":Ce("editor_email_delete_clicked"),"open/open_delete_email_modal":Ce("editor_email_delete_modal_opened"),"click/duplicate_email":Ce("editor_email_duplicate_clicked"),"duplicate/duplicate_email_success":Ce("editor_email_duplicated"),"click/import_email":Ce("editor_email_import_clicked"),"upload_file/import_email":Ce("editor_email_imported"),"click/export_email":e=>{const t=Gt(VC,typeof e.export_type=="string"?e.export_type.toLowerCase():void 0);return t?{name:"editor_email_exported",properties:{format:t}}:null},"lock/lock_email":Ce("editor_email_locked"),"unlock/unlock_email":Ce("editor_email_unlocked"),"lock/lock_block":Ce("editor_block_locked"),"unlock/unlock_block":Ce("editor_block_unlocked"),"add/add_element_to_email":e=>{const t=Gt($C,e.element_type);return t?{name:"editor_element_added",properties:{element_type:t}}:null},"change/element_setting":e=>{const t=zn(e.element_type),r=zn(e.property);return!t||!r?null:{name:"editor_element_setting_changed",properties:{element_type:t,property:r,value:KC(r,e.property_value)},coalesceKey:`${t}:${r}`}},"change/change_email_size":e=>({name:"editor_canvas_resized",properties:{width:e.width,view_type:e.view_type},coalesceKey:Zs(e.view_type)}),"navigate/navigate_email_pane_tab":e=>({name:"editor_pane_tab_opened",properties:{tab:e.tab_name==="DISABLED_TAB"?"disabled_tab":zn(e.tab_name)}}),"change/change_config_mode":e=>({name:"editor_config_mode_changed",properties:{mode:Gt(qC,e.config_mode)}}),"change/change_editor_mode":e=>({name:"editor_mode_changed",properties:{mode:Gt(GC,e.editor_mode)}}),"activate/activate_code_mode":e=>({name:"editor_code_mode_activated",properties:{entity_type:Gt(Zm,e.entity_type),direction:Gt(zC,e.code_mode_direction??"toggle")}}),"click/click_breadcrumb_email":e=>({name:"editor_breadcrumb_clicked",properties:{target:Gt(ep,e.click_target)}}),"click/click_breadcrumb_element":e=>({name:"editor_breadcrumb_clicked",properties:{target:Gt(ep,e.click_target),element_type:zn(e.element_type),element_index:e.element_index}}),"check/check_email_code":Wr("editor_code_checked",{problems_count:"problems_count"}),"check/check_email_links":Wr("editor_links_checked",{links_count:"links_count"}),"check/check_email_images":Wr("editor_images_checked",{images_count:"images_count"}),"check/check_email_spam":Wr("editor_spam_checked",{spam_score:"spam_score"}),"click/open_email_preview":ir("editor_preview_opened"),"open/open_test_email_modal":ir("editor_test_email_modal_opened"),"submit/send_test_email":Wr("editor_test_email_sent",{recipients_count:"recipients_count"}),"click/share_email":ir("editor_email_shared"),"click/open_email_inbox_tests":ir("editor_inbox_tests_opened"),"open/open_version_control":ir("editor_version_history_opened"),"click/open_web_version":ir("editor_web_version_opened"),"submit_form/chat_whit_ai_assistant":Ce("editor_ai_message_sent"),"select/select_ai_assistant_role":Wr("editor_ai_role_selected",{role:"context"}),"submit/insert_generated_subject":Ce("editor_ai_subject_inserted"),"submit/insert_generated_preheader":Ce("editor_ai_preheader_inserted"),"submit/send_discussion_chat_message":ir("editor_ai_reply_received"),"submit_form/ai_image_generation":Ce("editor_ai_image_generation_started")};function YC(e,t){const r=QC[`${Zs(e.event)}/${Zs(e.action)}`],n=r?.(e)??null;if(!n)return null;const i=Object.fromEntries(Object.entries(n.properties).filter(([,o])=>o!==void 0));return{...n,...t?{name:t}:{},properties:i}}var XC=/((^|[_ ])e-?mail$|hash$|token|passw|secret|^key$|^code$)/i,JC=/^(utm_[a-z_]+|gclid|signup|template|templateId)$/,ZC=/^(https?:\/\/|\/)/;function eA(e){if(!ZC.test(e))return e;const t=e.indexOf("#"),r=t===-1?"":e.slice(t),n=t===-1?e:e.slice(0,t),i=n.indexOf("?");if(i===-1)return e;const o=n.slice(i+1).split("&").filter(s=>JC.test(tA(s.split("=")[0]??""))),a=o.length===0?"":`?${o.join("&")}`;return`${n.slice(0,i)}${a}${r}`}function tA(e){try{return decodeURIComponent(e)}catch{return e}}function tp(e){return typeof e=="string"?eA(e):Array.isArray(e)?e.map(tp):e!==null&&typeof e=="object"?rp(e):e}function rp(e){const t={};for(const[r,n]of Object.entries(e))XC.test(r)||(t[r]=tp(n));return t}var rA={editor_layout_convert_offered:["source","trigger"],editor_layout_convert_declined:["source","trigger","never_suggest"],editor_layout_convert_started:["source","method","trigger"],editor_layout_convert_succeeded:["source","method","trigger","duration_ms","fallback_to_ai"],editor_layout_convert_failed:["source","method","trigger","duration_ms","error_code"],editor_email_saved:[],editor_block_saved:[],editor_back_clicked:["entity_type"],editor_email_deleted:[],editor_email_delete_clicked:[],editor_email_delete_modal_opened:[],editor_email_duplicate_clicked:[],editor_email_duplicated:[],editor_email_import_clicked:[],editor_email_imported:[],editor_email_exported:["format"],editor_email_locked:[],editor_email_unlocked:[],editor_block_locked:[],editor_block_unlocked:[],editor_element_added:["element_type"],editor_element_setting_changed:["element_type","property","value"],editor_canvas_resized:["width","view_type"],editor_pane_tab_opened:["tab"],editor_config_mode_changed:["mode"],editor_mode_changed:["mode"],editor_code_mode_activated:["entity_type","direction"],editor_breadcrumb_clicked:["target","element_type","element_index"],editor_code_checked:["problems_count"],editor_links_checked:["links_count"],editor_images_checked:["images_count"],editor_spam_checked:["spam_score"],editor_preview_opened:["entity_type"],editor_test_email_modal_opened:["entity_type"],editor_test_email_sent:["recipients_count"],editor_email_shared:["entity_type"],editor_inbox_tests_opened:["entity_type"],editor_version_history_opened:["entity_type"],editor_web_version_opened:["entity_type"],editor_ai_message_sent:[],editor_ai_reply_received:[],editor_ai_role_selected:["role"],editor_ai_subject_inserted:[],editor_ai_preheader_inserted:[],editor_comment_sent:["entity_type"],editor_ai_image_generation_started:[]},n3=600,np=new WeakMap;function nA(e,t,r,n={}){ip(e,{name:t,properties:r,coalesceKey:n.coalesceKey})}function ip(e,t){try{iA(e,t.name,t.properties,t)}catch{}}function iA(e,t,r,n){const i={name:t,properties:oA(t,r)};if(n.coalesceKey===void 0){op(e,i);return}const o=np.get(e)??new Map;np.set(e,o);const a=`${t}:${n.coalesceKey}`;clearTimeout(o.get(a)),o.set(a,setTimeout(()=>{o.delete(a),op(e,i)},600))}function oA(e,t){const r=t,n={};for(const i of rA[e]){const o=r[i];(typeof o=="string"||typeof o=="number"||typeof o=="boolean")&&(n[i]=o)}return rp(n)}function op(e,t){$n(e,P.events.ON_ANALYTICS_EVENT).fire(t).catch(()=>{})}function aA(){const e=Oe();return(0,_.useCallback)((t,r,n)=>{e&&nA(e,t,r,n)},[e])}function ap(){const e=Oe();return(0,_.useCallback)((t,r)=>{const n=e&&YC(t,r);n&&ip(e,n)},[e])}var sA=(e,t)=>{const r=()=>{try{const n={...e,appLabel:"blocks_app"};window.dataLayer&&typeof window.dataLayer.push=="function"&&window.dataLayer.push(n);const i=typeof n.event=="string"&&n.event.trim()?n.event.trim():null,o=(typeof n.action=="string"&&n.action.trim()?n.action.trim():null)||(typeof n.event_action=="string"&&n.event_action.trim()?n.event_action.trim():null);let a;i&&o?a=`${i}_${o}`:i?a=i:o?a=o:a="event";const{event:s,action:c,...l}=n;"event_action"in l&&delete l.event_action;const u={...l,...i?{event:i}:{},...o?{action:o}:{}};typeof window<"u"&&window.amplitude&&typeof window.amplitude.track=="function"&&window.amplitude.track(a,u)}catch{}};t?setTimeout(r,t):r()},Tt=()=>{const e=mt(),t=ap();return(0,_.useCallback)((r,n,i)=>{e.pushToGTM!==!1&&sA(r,n),t(r,i?.analyticsName)},[e.pushToGTM,t])},lA="change",cA="element_setting",uA={textStrong:"bold",textItalic:"italic",textUnderline:"underline",textStrikethrough:"strikethrough",textSuperscript:"superscript",textSubscript:"subscript",widthDim:"width_unit",heightDim:"height_unit",fontSizeDim:"font_size_unit",lineHeightDim:"line_height_unit",letterSpacingDim:"letter_spacing_unit"},dA=new Set(["width","height","padding","margin","font_size","line_height","letter_spacing","border_radius","border","box_shadow","opacity","color","background_color","border_color","text_color"]),fA=new Set(["activateSection","changeKey","classNamePrefix","parent","path","type","caption","deletable","nextElem","prevElem","floatBlocks","usedColors"]),mA=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1_$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").toLowerCase(),pA=e=>uA[e]??mA(e),el=e=>e.length>100?e.slice(0,100):e,hA=e=>{if(e==null)return null;const t=typeof e;if(t==="boolean"||t==="number")return e;if(t==="string")return el(e);if(t==="object"){const r=e;if("value"in r){const n=typeof r.dim=="string"?r.dim:"",i=r.value===null||r.value===void 0?"":String(r.value);return el(`${i}${n}`)}try{return el(JSON.stringify(r))}catch{return null}}return null},gA=(e,t)=>{if(!e||!t||typeof t!="object")return[];const r=[];for(const[n,i]of Object.entries(t))fA.has(n)||i===void 0||r.push({event:lA,action:cA,element_type:e,property:pA(n),property_value:hA(i)});return r},yA=e=>dA.has(e),_A=(e,t=600)=>{const r=new Map,n=new Map,i=s=>{const c=r.get(s);c&&(clearTimeout(c),r.delete(s));const l=n.get(s);l&&(n.delete(s),e(l))};return{track:(s,c)=>{const l=gA(s,c);for(const u of l){if(!yA(u.property)){e(u);continue}const d=`${u.element_type}:${u.property}`,m=r.get(d);m&&clearTimeout(m),n.set(d,u),r.set(d,setTimeout(()=>i(d),t))}},flush:()=>{Array.from(r.keys()).forEach(s=>i(s))}}},tl=new Set;function vA(){tl.forEach(e=>e())}function bA(e){return tl.add(e),()=>{tl.delete(e)}}function tt(){const e=me();return(0,_.useMemo)(()=>Js(P.getContainer(e)),[e])}function Kr(){const e=tt(),t=Tt(),r=(0,_.useRef)(t);r.current=t;const n=(0,_.useRef)(void 0);return n.current||(n.current=_A(i=>r.current(i))),(0,_.useCallback)(function(i){e.send(i),i?.operation===oe.SANDBOX_ELEMENT_SETTINGS_SET&&vA(),i?.operation===oe.SANDBOX_ELEMENT_SETTINGS_SET&&i.type&&i.settings&&typeof i.settings=="object"&&n.current?.track(i.type,i.settings)},[e])}function EA(){const e=tt();return(0,_.useCallback)(function(t,r){e.send(t,r)},[e])}var sp=["title","slug","type","tags","blocktags","modified","author","lock","subject","description","excerpt","status","is_template","link","renderGuid","date","date_gmt","modified_gmt","comment_status","ping_status","template","related_email","project_title","project_author","isAmp","meta"],wA=[...sp,"html","id","project","password"],rl=new Set(["html",...sp,"global_block","project"]),SA=new Set(["title","slug","type","modified","author","subject","description","excerpt","status","link","renderGuid","date","date_gmt","modified_gmt","comment_status","ping_status","template","related_email","project_title","project_author"]),PA=new Set(["tags","blocktags","lock","is_template","isAmp","global_block"]);function lp(e,t){return rl.has(e)?e==="html"?typeof t=="string":e==="meta"?t!=null&&typeof t=="object":e==="project"?t!=null:SA.has(e)?t!=null&&t!=="":PA.has(e)?t!=null:t!==void 0:!1}function IA(e){if(!e||typeof e!="object")return{};const t={};e.id!=null&&e.id!==""&&(t.id=String(e.id)),e.title!=null&&e.title!==""&&(t.title=e.title),e.slug!=null&&e.slug!==""&&(t.slug=e.slug),e.type!=null&&e.type!==""&&(t.type=e.type),e.tags!=null&&(t.tags=e.tags),e.blocktags!=null&&(t.blocktags=e.blocktags),e.modified!=null&&e.modified!==""&&(t.modified=e.modified),e.author!=null&&e.author!==""&&(t.author=String(e.author)),e.lock!=null&&(t.lock=e.lock),e.subject!=null&&e.subject!==""&&(t.subject=e.subject),e.description!=null&&e.description!==""&&(t.description=e.description),e.excerpt!=null&&e.excerpt!==""&&(t.excerpt=e.excerpt),e.status!=null&&e.status!==""&&(t.status=e.status),e.is_template!=null&&(t.is_template=e.is_template),e.link!=null&&e.link!==""&&(t.link=e.link),e.renderGuid!=null&&e.renderGuid!==""&&(t.renderGuid=e.renderGuid),e.date!=null&&e.date!==""&&(t.date=e.date),e.date_gmt!=null&&e.date_gmt!==""&&(t.date_gmt=e.date_gmt),e.modified_gmt!=null&&e.modified_gmt!==""&&(t.modified_gmt=e.modified_gmt),e.comment_status!=null&&e.comment_status!==""&&(t.comment_status=e.comment_status),e.ping_status!=null&&e.ping_status!==""&&(t.ping_status=e.ping_status),e.template!=null&&e.template!==""&&(t.template=e.template),e.related_email!=null&&e.related_email!==""&&(t.related_email=e.related_email),e.project_title!=null&&e.project_title!==""&&(t.project_title=e.project_title),e.project_author!=null&&e.project_author!==""&&(t.project_author=e.project_author),e.isAmp!=null&&(t.isAmp=e.isAmp),e.meta!==void 0&&e.meta!==null&&typeof e.meta=="object"&&(t.meta=e.meta);const r=new Set(wA),n={};for(const i of Object.keys(e))r.has(i)||(n[i]=e[i]);return Object.keys(n).length>0&&(t.catalogExtra=n),t}function cp(e,t){return{...IA(e),html:t.html||"",insertFrom:t.insertFrom,fragmentRole:t.fragmentRole,name:t.name,project:t.project}}var TA=class extends P.BaseEmitter{async execute([e],t){for(const r of t){const n=await r(e);n&&(n.id===void 0&&(n.id=e.value.id),e.value=n)}return e.value}},OA=class extends P.AsyncEmitter{};function i3(e){return e}var up=class extends P.Disposable{_items=new Map;_onChangeEmitter=new P.Signal;async _getOrCreate(e,t){const r=this._items;let n;if(r.has(e))try{n=await r.get(e)}catch{t&&(n=await t())}else t&&(n=await t(),n&&this._onChangeEmitter.fire());return n}async _addOrUpdate(e,t){let r;const n=this._items;if(n.has(e))try{r=await n.get(e)}catch{}const i=await t(r);return P.deepEqual(r,i)||this._onChangeEmitter.fire(),i}entries(){return Promise.all([...this._items.entries()].map(([e,t])=>t.then(r=>[e,r]))).then(e=>e.filter(([t,r])=>!!r))}values(){return Promise.all([...this._items.values()].map(e=>e).filter(e=>!!e))}getOrCreate(e,t){const r=this._getOrCreate(e,()=>t(e));return this._items.set(e,r),r}addOrUpdate(e,t){const r=this._addOrUpdate(e,t);return this._items.set(e,r),r}async getIfPresent(e){if(this._items.has(e))try{return await this._items.get(e)}catch{return}}add(e,t){const r=Promise.resolve(t);return this._items.set(e,r),r}remove(e){if(this._items.has(e)){const t=this._items.get(e);return this._items.delete(e),this._onChangeEmitter.fire(),t}return Promise.resolve(void 0)}async setAll(e){try{this.suspendChange();const t=[],r=new Set(Array.from(e).map(([i,o])=>i)),n=(await this.entries()).filter(([i,o])=>!r.has(i));for(const[i,o]of e)t.push(this.addOrUpdate(i,()=>o)),r.add(i);for(const[i]of n)t.push(this.remove(i));return await Promise.all(t),n}finally{this.resumeChange()}}clear(){this._items.clear(),this._onChangeEmitter.fire()}suspendChange(){this._onChangeEmitter.suspend()}resumeChange(){this._onChangeEmitter.resume()}onChange=this._onChangeEmitter.event};function CA(e,{filter:t,order:r="asc",orderBy:n,page:i,pageSize:o=20}={}){const a=e.length;let s=e.length;if(t!==void 0){const c=Object.keys(t);e=e.filter(l=>{for(const u of c){const d=l[u],m=t[u];return u==="id"||typeof d!="string"?d===m:typeof m=="string"&&d.startsWith(m)}return!0}),s=e.length}return n&&(e=e.sort((c,l)=>(c[n]>l[n]?1:l[n]>c[n]?-1:0)*(r==="asc"?1:-1))),i!==void 0&&(e=e.slice(o*(i-1),o*i)),{data:e,filteredTotal:s,total:a,totalPages:Math.ceil(s/o)}}var AA=1e3;function dp(e,t,r=AA,n=0){if(n>r||e===t)return!0;if(typeof e!=typeof t||e===null||t===null)return!1;if(typeof e=="object"&&typeof t=="object"){if(Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;const i=Object.keys(e),o=Object.keys(t);if(i.length!==o.length)return!1;for(const a of i)if(!dp(e[a],t[a],r,n+1))return!1;return!0}return!1}function fp(e,t){if(!e||typeof e!="object")return t;if(!t||typeof t!="object")return{};const r={};for(const n of Object.keys(t)){const i=t[n],o=e[n];dp(i,o)||(r[n]=i)}return r}function kA(e=[]){if(e=e.filter(r=>r),e.length<=1)return e[0];const t=new Map;for(const r of e)for(const n of r)if(n.id!==void 0){const i=t.get(n.id)||{};t.set(n.id,{...i,...n})}return[...t].map(([r,n])=>n)}function jA(e,t){return mp(e)&&mp(t)?String(e)===String(t):e===t}function mp(e){return typeof e=="string"||typeof e=="number"}var MA=class extends P.Disposable{_cache=new up;_readEmitter=new P.AsyncEmitter;_saveEmitter=this.addDisposable(new TA);_removeEmitter=this.addDisposable(new OA);_foreignCache=Object.create(null);async get(e){return this._cache.getOrCreate(e,async t=>Object.assign({id:e},...(await this._readEmitter.fire(e)).filter(r=>!!r)))}hasReadHandler(){return this._readEmitter.hasListeners()}async confirmedMissing(e){if(!this.hasReadHandler())return!1;const{results:t,errors:r}=await this._readEmitter.fireSettled(e);return!r.length&&!t.some(Boolean)}get cache(){return this._cache}byForeignKey(e){let t=this._foreignCache[e];if(!t){const r=this.addDisposable(new P.Disposable);r.addDispose(()=>delete this._foreignCache[e]);const n=r.addDisposable(new up),i=r.addDisposable(new P.AsyncEmitter);t=this._foreignCache[e]={get:async(o,a={})=>{await n.getOrCreate(o,async()=>{try{const c=kA(await i.fire(o))||[];for(const l of c)l[e]=o,await this._cache.add(l.id,l);return c}catch{return[]}});const s=(await this._cache.values()||[]).filter(c=>{const l=c[e];return l==null||jA(l,o)});return CA(s,a)},first(o,a={}){return t.get(o,{...a,page:1,pageSize:1}).then(({data:s})=>s[0])},handleRead:i.event,clear(){n.clear()},dispose(){r.dispose()}}}return t}async create(e,{source:t="",silent:r}={}){let n=e;return r||(n=await this._saveEmitter.fire({prev:void 0,patch:e,value:n,source:t})),n.id===void 0&&(n.id=P.generateUUID()),await this._cache.addOrUpdate(n.id,()=>n)}notifySave(e){return this._saveEmitter.fire(e)}async update(e,t,{source:r="",silent:n}={}){return this._cache.addOrUpdate(e,async i=>{const o=i?{...i,...t}:t;if(!n)return t=i?fp(i,t):t,await this._saveEmitter.fire({prev:i,patch:t,value:o,source:r})})}async remove(e,{source:t="",silent:r}={}){const n=await this._cache.remove(e);return r||await this._removeEmitter.fire({value:n,source:t}),n}refresh(){this._cache.clear();for(const e of Object.values(this._foreignCache))e.clear()}suspendChange(){this._cache.suspendChange()}resumeChange(){this._cache.resumeChange()}handlerRead=this._readEmitter.event;onSave=this._saveEmitter.event;onRemove=this._removeEmitter.event;onChange=this._cache.onChange};function Vn(e){const t=P.createIdentifier$1(e);return r=>r.getOrCreateInstance(t,()=>new MA)}function RA(e){const t=e.getInstance(P.STORE_ID);if(!t)throw new Error("Failed");return t}function pp(e){const t=e.getInstance(P.DISPOSABLE_ID);if(!t)throw new Error("Failed");return t}var nl=Vn("plugin.dataSource.blocks"),hp=Vn("plugin.dataSource.blockRevisions"),gp=Vn("plugin.dataSource.comments"),NA=So(),DA=So(),yp=P.createIdentifier$1("EmailPort");function LA(e){return e.getInstance(yp)}function FA(e,t){e.inject(yp,t)}var il={INIT_START:5e3,SET_ENTITY:12e3,PREHEADER:5e3,SUBJECT:5e3,INITED:5e3,UPDATE_ENTITY:5e3},_p=["INIT_START","SET_ENTITY","PREHEADER","SUBJECT","INITED"],jo=2e4,xA=_p.reduce((e,t)=>e+il[t],0),vp=jo+xA+3e3;function BA(e){return _p.reduce((t,r)=>t+bp(r,e),0)}function bp(e,t){const r=t?.[e];return typeof r=="number"&&r>0?r:il[e]}function UA(e){const t=e?.contentReady;return typeof t=="number"&&t>0?t:vp}function $A(e){const t=e?.sandboxReady;return typeof t=="number"&&t>0?t:jo}function Hn(e=vp){return e+3e3}var Ep=P.createIdentifier$1("EmailHistoryPort"),wp=P.createIdentifier$1("BlockHistoryPort");function Sp(e){return e.getInstance(wp)}function qA(e,t){e.inject(wp,t)}function Pp(e){return e.getInstance(Ep)}function GA(e,t){e.inject(Ep,t)}var Ip=Symbol.for("emailmaker.saveRefusedError"),Tp=Symbol.for("emailmaker.integratorSaveTimeoutError");function Op(e,t,r,n){return e!==t?Function.prototype[Symbol.hasInstance].call(e,n):typeof n=="object"&&n!==null&&r in n}var or=class T0 extends Error{reason;static[Symbol.hasInstance](t){return Op(this,T0,Ip,t)}constructor(t){super(`[emailmaker] save refused: ${t}`),this.name="SaveRefusedError",this.reason=t,Object.defineProperty(this,Ip,{value:!0})}},Cp=class extends Error{timeoutMs;constructor(e,t="handleEmailAutosave"){super(`[emailmaker] ${t} did not respond within ${e}ms — the autosave was not written`),this.timeoutMs=e,this.name="IntegratorAutosaveTimeoutError"}},ol=class O0 extends Error{timeoutMs;static[Symbol.hasInstance](t){return Op(this,O0,Tp,t)}constructor(t,r="handleSaveEmail",n="email"){super(`[emailmaker] ${r} did not respond within ${t}ms — the ${n} was not saved`),this.timeoutMs=t,this.name="IntegratorSaveTimeoutError",Object.defineProperty(this,Tp,{value:!0})}},zA=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu;function Ot(e){return typeof e=="string"&&zA.test(e)}function VA(e,t){return e!=null&&t!=null&&String(e)===String(t)}function HA(e){if(e)return e.every(Ot)?[...e]:void 0}function Ap(e){return e.map(Number).filter(t=>Number.isFinite(t))}var kp=class extends Error{kind;failed;constructor(e,t){super(`не удалось завести термы (${e}): ${t.map(({name:r})=>r).join(", ")}`),this.name="TermsFailedError",this.kind=e,this.failed=t}};function WA(e){return e instanceof kp?e:void 0}function jp(e){return e?.data?.term_id}function KA(e){const t=e;return jp(t?.data)??jp(t)}function Mp(){return typeof navigator<"u"&&navigator.onLine===!1}function Rp(e){if(e==null)return[];const t=[e];if(typeof e!="object")return t;const r=e;if(r.error!=null&&(t.push(r.error),typeof r.error=="object")){const n=r.error;if(n.data!=null){t.push(n.data);const i=n.data;typeof n.data=="object"&&i.error!=null&&t.push(i.error)}n.error!=null&&t.push(n.error)}if(r.data!=null&&(t.push(r.data),typeof r.data=="object")){const n=r.data;n.error!=null&&t.push(n.error)}return r.innerException!=null&&t.push(r.innerException),t}function Np(e){if(!e)return!1;if(typeof e=="string"){const r=e.toLowerCase();return r.includes("fetch")||r.includes("network")||r.includes("timeout")||r.includes("failed to fetch")||r.includes("load failed")||r.includes("networkerror")}if(e instanceof Error)return Np(e.message);if(typeof e!="object")return!1;const t=e;return t.status==="FETCH_ERROR"||t.status==="TIMEOUT_ERROR"||t.status==="PARSING_ERROR"?!0:typeof t.status=="number"?t.status===0||t.status===408||t.status>=500:!1}function Dp(e){return Mp()?!0:Rp(e).some(Np)}var Lp=new WeakSet,Fp=new WeakMap;function xp(e){typeof e=="object"&&e!==null&&Lp.add(e)}function QA(e,t){typeof e=="object"&&e!==null&&Fp.set(e,t)}function YA(e){return typeof e=="object"&&e!==null?Fp.get(e):void 0}function Bp(e){return e instanceof ol||e instanceof Cp||typeof e=="object"&&e!==null&&Lp.has(e)}function Up(e){return e instanceof or||al(e)||e instanceof kp||Bp(e)}function al(e){return sl(e)?.v2Error?.data?.code==="blocks.block_locked"}function $p(e){return sl(e)?.v2Error?.data?.code==="emails.mirror_unavailable"}function sl(e){return e instanceof Error&&e.name==="EmailWriteFailedError"?e:void 0}function XA(e){if(e instanceof or)return e.reason==="canvas-not-synced";if(Up(e))return!1;const t=sl(e);if(t){const r=t.v2Error?.status??0;return r>=500?!0:r>0?$p(e):!0}return Dp(e)||$p(e)}var JA=({source:e,emailtags:t,group:r,tags:n,...i})=>i;async function ZA(e,t){try{return{id:(await t(await e)).id}}catch{return}}async function ek({emails:e,saveTimeoutMs:t},r,n){const i=t?.()??Hn();let o;try{const a=e.notifySave(r);return await Promise.race([a,new Promise((s,c)=>{o=setTimeout(()=>{const l=new ol(i);r.value.id,QA(l,ZA(a,n)),c(l)},i)})])}catch(a){throw xp(a),a}finally{o!==void 0&&clearTimeout(o)}}function tk(e){const{emails:t}=e,r=async(n,i)=>{const o=JA(i),a=n===void 0?void 0:await t.cache.getIfPresent(n),s=a?{...a,...o}:o,c=a?fp(a,o):o,l=u=>{const d=String(u.id??n??P.generateUUID()),m=u.id===void 0?{...u,id:d}:u;return t.cache.addOrUpdate(d,()=>m)};return await l(await ek(e,{prev:a,patch:c,value:s,source:i.source??""},l))};return{async readEmail(n){return await t.get(n)??null},async createEmail(n){const i=await r(void 0,n);return i?.renderGuid?i:{...i,renderGuid:P.generateUUID()}},async updateEmail(n,i){return await r(n,i)}}}var o3=5e3,rk=/^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d+)?)?$/;function nk(e){const t=e?.trim()??"";if(!rk.test(t))return Date.parse(t);const r=t.replace(" ","T");return Math.max(Date.parse(r),Date.parse(`${r}Z`))}function Wn(e){return e?.length?[...e].sort((t,r)=>Date.parse(r.modified)-Date.parse(t.modified))[0]:null}function ll(e,{freshSince:t}={}){return!(e?.isAutosave!==!0||!e?.html?.trim()||t!==void 0&&Date.parse(e.modified)<t-5e3)}function ik(e,t={}){const r=Wn((e??[]).filter(n=>n?.html?.trim()));return ll(r,t)?r:null}function qp(e,t){const r=Date.parse(Wn(e)?.modified??""),n=ik(e),i=Date.parse(n?.modified??""),o=t===void 0||Number.isFinite(i)&&i>t,a=[r,t??NaN].filter(s=>Number.isFinite(s));return{autosave:o?n:null,...a.length?{latestAt:Math.max(...a)}:{}}}function cl(e,t,r){const n=Wn((e??[]).filter(c=>c?.html?.trim())),i=Date.parse(n?.modified??""),o=Date.parse(Wn((r??[]).filter(c=>c?.html?.trim()))?.modified??""),a=n&&Number.isFinite(i)&&(t===void 0||i>t)&&!(o>i),s=[Date.parse(Wn(e??[])?.modified??""),t??NaN].filter(c=>Number.isFinite(c));return{autosave:a&&ll(n)?n:null,...s.length?{latestAt:Math.max(...s)}:{}}}function ok({hasUnsavedUserEdit:e}){return e?"skip":"apply"}var ul=e=>typeof e=="string"?e.trim():"";function ak(e,t,r,n){const{version:i,attributes:o}=e.get(),a=o,s=n==="snapshot"||n==="anchor",c=s?a.author:void 0,l=s?a.date_gmt:void 0,u=ul(a.title)||ul(a.subject)||ul(t.fallbackTitle);return{version:i,payload:{html:e.getContent(),title:u,subject:a.subject,preheader:a.preheader,description:a.description,common_styles:a.common_styles||"",meta:a.meta,utm_parameters:a.utm_parameters,parent_email:a.parent_email,is_template:a.is_template||!1,is_inited:a.is_inited,tags:a.tags,emailtags:a.emailtags,group:a.group,projectCategories:a.projectCategories,renderGuid:e.get().docId,project:t.project??a.project,folder:t.folder,...r?.emailtags?{emailtags:r.emailtags}:{},...r?.group?{group:r.group}:{},source:t.source,...c!=null&&c!==""?{author:c}:{},...l?{excerpt:l}:{}}}}var sk=["meta","title","author","project","html","excerpt","subject","preheader","common_styles","parent_email"];function Gp(e){const t={};for(const r of sk)e[r]!==void 0&&(t[r]=e[r]);return t.excerpt||(t.excerpt=new Date().toISOString()),t}async function lk(e,t,r,n,i,o){if(r==="materialize"&&n!=null)throw new Error("Письмо уже создано на сервере");if(r==="materialize"||r==="publish"&&n==null)return e.createEmail(i);if(n==null)throw new Error("Письмо ещё не создано на сервере");return r==="publish"?e.updateEmail(n,i):t.saveAutosave(n,i,o==null?void 0:{wpId:o})}var dl=20;function ck(e){const t=uk(e);return e.saveTimeoutMs?zp(t,e.saveTimeoutMs):t}function uk({revisions:e,revisionsByEmail:t,readAutosave:r,savedAt:n,emailAuthor:i,integratorProject:o}){const a=async(s,c)=>(t.clear(),await t.get(s,{page:c}),(await e.cache.values()??[]).filter(l=>String(l?.parent)===String(s)));return{async readRevisions(s,c=1){const l=await a(s,c);return{revisions:l.slice(dl*(c-1),dl*c),page:c,hasMore:l.length>dl*c}},async readAutosave(s){const c=await n?.(s)??NaN,l=Number.isFinite(c)?c:void 0,u=await r?.(s);if(!u?.asked)return qp(await a(s,1),l);if(!u.revision)return cl([],l);const d={...u.revision,parent:s,isAutosave:!0};return cl([d],l,await a(s,1))},async saveAutosave(s,c){const l=await i?.(s),u=o?.();return await e.create({...Gp(c),...l!==void 0?{author:l}:{},...u!==void 0?{project:u}:{},parent:s,isAutosave:!0,modified:new Date().toString()})}}}function zp(e,t,r){return{...e,async saveAutosave(n,i){const o=t();if(o===void 0)return e.saveAutosave(n,i);let a;try{return await Promise.race([e.saveAutosave(n,i),new Promise((s,c)=>{a=setTimeout(()=>c(new Cp(o,r)),o)})])}catch(s){throw xp(s),s}finally{a!==void 0&&clearTimeout(a)}}}}function fl(e){return Object.prototype.hasOwnProperty.call(e,"meta")}function Vp(e,t){const r={...e};return t===void 0?(delete r.meta,r):(r.meta={...e.meta??{},...t},r)}function Hp(e,t,r){return e&&!fl(t)&&fl(e)?{...r,meta:e.meta}:r}var Kn=P.createIdentifier$1("CurrentProject"),Mo={};function Sr(e){return e.getOrCreateInstance(Kn,()=>Re(Mo))}function dk(e,t){const r=Sr(e),n=r.get()??Mo;!!n.refreshing!==t&&r.set({...n,refreshing:t})}function fk(e,t){const r=Sr(e),n=r.get()??Mo;n.card!==t&&r.set({...n,...t?{card:t}:{}})}async function mk(e,t){const r=e?.getInstance(Kn),n=r?.get()?.pending;if(!(!r||n?.id!==t))return r.set({...r.get(),pending:void 0}),n.promise}async function pk(e,t){const r=e?.getInstance(Kn),n=r?.get()?.planPending;if(!(!r||n?.id!==t))return r.set({...r.get(),planPending:void 0}),n.promise}function Pr(e){return e?.getInstance(Kn)?.get()??Mo}function hk(e){const t=Pr(e).card?.id,r=Number(t);return t!=null&&t!==""&&Number.isFinite(r)?r:void 0}var Wp=Vn("plugin.dataSource.emails"),Kp=Vn("plugin.dataSource.emailRevisions"),gk=So("plugin.readEmailAutosave"),Qp=P.createIdentifier$1("emailDocuments.provided");function yk(e){const t=Wp(e),r=Kp(e),n=r.byForeignKey("parent");if(e.getInstance(Qp))return{emails:t,emailRevisions:r};e.inject(Qp,!0);const i=()=>Hn(e.getInstance(P.INIT_PIPELINE_ID)?.contentReadyTimeoutMs),o=tk({emails:t,saveTimeoutMs:i}),a=new Map,s=(c,l)=>u=>{const d=u?.id??l;return(typeof d=="string"||typeof d=="number")&&a.set(String(d),c),u};return FA(e,{...o,createEmail:c=>o.createEmail(c).then(s(Date.now())),updateEmail:(c,l)=>o.updateEmail(c,l).then(s(Date.now(),c))}),GA(e,ck({revisions:r,revisionsByEmail:n,readAutosave:async c=>{const l=await $n(e,gk).fire(c);return l.length===0?{asked:!1}:{asked:!0,revision:l[0]??null}},savedAt:async c=>{const l=nk((await t.cache.getIfPresent(c))?.modified),u=a.get(String(c))??NaN;return Number.isFinite(u)&&!(l>=u)?u:l},emailAuthor:async c=>(await t.cache.getIfPresent(c))?.author,saveTimeoutMs:i,integratorProject:()=>Pr(e).requested})),pp(e).addDisposable(t.onSave(({prev:c,patch:l,value:u})=>Hp(c,l,u),Number.MIN_VALUE)),{emails:t,emailRevisions:r}}var _k=`<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
11
+ <html>
12
+ <head>
13
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
14
+ <meta name="viewport" content="width=device-width, initial-scale=1">
15
+ <title></title>
16
+ <style type="text/css">
17
+ html {
18
+ -webkit-text-size-adjust: none;
19
+ -ms-text-size-adjust: none;
20
+ }
21
+ </style>
22
+ <style em="styles">
23
+ @media only screen and (max-device-width:660px),only screen and (max-width:660px) {
24
+ .em-narrow-table {
25
+ width: 100%!important;
26
+ max-width: 660px!important;
27
+ min-width: 320px!important;
28
+ }
29
+ }
30
+ </style>
31
+ </head>
32
+ <body style="margin: 0; padding: 0;">
33
+ <span class="preheader" style="display: none !important; visibility: hidden; opacity: 0; color: #F8F8F8; height: 0; width: 0; font-size: 1px;">&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;‌&nbsp;</span>
34
+ <!--[if !mso]><!-->
35
+ <div style="font-size:0px;color:transparent;opacity:0;">⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀</div>
36
+ <!--<![endif]-->
37
+ <table cellpadding="0" cellspacing="0" border="0" width="100%" style="font-size: 1px; line-height: normal;">
38
+ <tr em="group">
39
+ <td align="center" bgcolor="#F8F8F8">
40
+ <!--[if (gte mso 9)|(IE)]>
41
+ <table cellpadding="0" cellspacing="0" border="0" width="660"><tr><td>
42
+ <![endif]-->
43
+ <table cellpadding="0" cellspacing="0" width="100%" border="0" style="max-width: 660px; min-width: 660px; width: 660px;" class="em-narrow-table"></table>
44
+ <!--[if (gte mso 9)|(IE)]>
45
+ </td></tr></table>
46
+ <![endif]-->
47
+ </td>
48
+ </tr>
49
+ </table>
50
+ </body>
51
+ </html>`;function Yp(e){return{isNew:!0,is_inited:!1,subject:void 0,preheader:void 0,description:"",html:_k,project:e?.id,project_title:e?.title??"",utm_parameters:{utm_source:"",utm_medium:"",utm_campaign:"",utm_term:"",utm_content:""},parent_email:null,common_styles:"{}",title:"",emailtags:[],isAmp:!1}}function vk(e,t){const r={...t,html:e.html??t.html,subject:e.subject,preheader:e.preheader,description:e.description??t.description,title:e.title??t.title,common_styles:e.common_styles||t.common_styles,utm_parameters:{...t.utm_parameters,...e.utm_parameters},isAmp:e.isAmp??t.isAmp,is_template:!1,parent_email:e.id??e.parent_email??null};return e.meta&&(r.meta=e.meta),r}var Ro=P.createIdentifier$1("documentSession.emailDocuments");function Xp(e){return e?.getInstance(Ro)}var bk=P.createIdentifier$1("RevisionServiceFlag");function Jp(e){return e.getOrCreateInstance(bk,()=>{let t=!1;return{isEnabled:()=>t,set:r=>{t=r}}})}function No(e){return Jp(e).isEnabled()}var Zp=P.createIdentifier$1("EmailRightsResolver");function Ek(e,t){e.inject(Zp,t)}function wk(e,t){const r=e.getInstance(Zp);return r?r(t):!0}var Sk=()=>Hn();function Pk(e,t){let r;return Promise.race([e,new Promise(n=>{r=setTimeout(()=>{n()},t)})]).finally(()=>{r!==void 0&&clearTimeout(r)})}function Ik(e){return t=>Pk(e.getOrCreateInstance(P.events.BEFORE_SAVE_EMAIL,()=>new P.AsyncEmitter).fire(t),Sk())}function Tk(e,t){return e.originId!==null||t.originId!==null?e.originId===t.originId:e.generation===t.generation}var Ok=P.createIdentifier$1("documentSession.canvasReceipts");function Ck(){let e,t={scope:{generation:-1,originId:null},changeId:0};return{open(r,n){const i={guid:r,version:n};return e=i,()=>{e===i&&(e=void 0)}},note(r,n){const i=Tk(t.scope,n)?t.changeId:0;t={scope:n,changeId:Math.max(i,r)}},read(r){if(!e)return;const{scope:n}=t,i={guid:e.guid,rev:e.version()};return n.originId!==null?{...i,changeId:t.changeId,originId:n.originId}:{...i,changeId:n.generation===r?t.changeId:0}}}}function Ak(e){return e.getOrCreateInstance(Ok,Ck)}var kk=2e3,jk=PT+IT+kk;function Mk(e,t=jk){return async()=>{const r=Js(e);let n;const i=new Promise(o=>{n=setTimeout(()=>o("silent"),t)});try{const o=Ak(e).read(Jm(r)),a=await Promise.race([r.sendAsync(oe.SANDBOX_CANVAS_SYNCED,o?{applied:o}:void 0,!1),i]);if(a==="silent"||a&&!a.synced)throw a==="silent"||a?.unsent,new or("canvas-not-synced")}finally{clearTimeout(n)}}}var Rk="em_autosave_pending",a3=6e4;function Do(e){return`${Rk}_${e}`}function Qn(e,t){try{return sessionStorage.setItem(Do(e),JSON.stringify(t)),!0}catch{return!1}}function Lo(e){try{const t=sessionStorage.getItem(Do(e));if(!t)return null;const r=JSON.parse(t);return!(r.baseRevisionId!==void 0||r.baseOpen===!0)&&Date.now()-r.sentAt>6e4?(sessionStorage.removeItem(Do(e)),null):r}catch{return null}}function Ir(e){try{sessionStorage.removeItem(Do(e))}catch{}}function ml(e){return`block:${e}`}function eh(e,t){return t?ml(e):e}function pl(e,t){(Lo(e)?.sentAt??Number.POSITIVE_INFINITY)<=t&&Ir(e)}function Nk(e){return e!=null&&e!==""}function Qr(e){try{const t=localStorage.getItem(e);if(t==="true")return!0;if(t==="false")return!1}catch{}}var th;function Dk(){return Qr(ft.em_revisions_v2)??!0}function rh(){return th??=Dk(),th}function Yr(e){return No(e)&&rh()}var nh;function Lk(){return Qr(ft.em_emails_v2)??!1}function ih(){return nh??=Lk(),nh}function Fe(){return!1}var oh;function Fk(){return ih()?Qr(ft.em_blocks_v2)??!1:!1}function ah(){return oh??=Fk(),oh}function xe(){return!1}var hl;function gl(e,t){return hl?.capture(e,t)}function yl(e,t){return hl?.captureMessage(e,t)}function xk(e){hl?.identify(e)}var Bk=[["brace-percent",/<!--\{%/],["brace-hash",/<!--\{#/],["proscript",/<!--\[%/],["getresponse",/<!--\[\[(?:if|else\]\]|endif\]\])/i],["mailchimp",/<!--\*\|/],["expert-sender",/<!--<\/?(?:if|else|var)/i]],Uk=200;function sh(e=new Set){const t=new Set;return(r,n)=>{if(!Bk.some(([o,a])=>!e.has(o)&&a.test(r)))return;const i=n??`new:${r.length}:${r.slice(0,200)}`;t.has(i)||(t.size>=Uk&&t.clear(),t.add(i))}}function lh(){return{isConfigured:()=>!1,toEditorForm:e=>e,toOutputForm:e=>e,keepWrappedOnOutput:new Set,editorPolicy:{},warnAboutUnconfiguredInput:sh()}}var $k=lh();function ch(e){return e?.getInstance(P.TEMPLATE_DIRECTIVES_ID)??$k}function qk(e=""){let t=e;return{read:()=>t,write:r=>{t=r},dispose:()=>{t=""}}}function Fo(e){return e.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}var rt=class{oldPosition;oldText;newPosition;newText;get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(e,t,r,n){this.oldPosition=e,this.oldText=t,this.newPosition=r,this.newText=n}toString(){return this.oldText.length===0?`(insert@${this.oldPosition} "${Fo(this.newText)}")`:this.newText.length===0?`(delete@${this.oldPosition} "${Fo(this.oldText)}")`:`(replace@${this.oldPosition} "${Fo(this.oldText)}" with "${Fo(this.newText)}")`}};function uh(e,t){return e===null||e.length===0?t:new Gk(e,t).compress()}var Gk=class Jt{_prevEdits;_currEdits;_result;_resultLen;_prevLen;_prevDeltaOffset;_currLen;_currDeltaOffset;constructor(t,r){this._prevEdits=t,this._currEdits=r,this._result=[],this._resultLen=0,this._prevLen=this._prevEdits.length,this._prevDeltaOffset=0,this._currLen=this._currEdits.length,this._currDeltaOffset=0}compress(){let t=0,r=0,n=this._getPrev(t),i=this._getCurr(r);for(;t<this._prevLen||r<this._currLen;){if(n===null){if(i===null)break;this._acceptCurr(i),i=this._getCurr(++r);continue}if(i===null){this._acceptPrev(n),n=this._getPrev(++t);continue}if(i.oldEnd<=n.newPosition){this._acceptCurr(i),i=this._getCurr(++r);continue}if(n.newEnd<=i.oldPosition){this._acceptPrev(n),n=this._getPrev(++t);continue}if(i.oldPosition<n.newPosition){const[c,l]=Jt._splitCurr(i,n.newPosition-i.oldPosition);this._acceptCurr(c),i=l;continue}if(n.newPosition<i.oldPosition){const[c,l]=Jt._splitPrev(n,i.oldPosition-n.newPosition);this._acceptPrev(c),n=l;continue}let a,s;if(i.oldEnd===n.newEnd)a=n,s=i,n=this._getPrev(++t),i=this._getCurr(++r);else if(i.oldEnd<n.newEnd){const[c,l]=Jt._splitPrev(n,i.oldLength);a=c,s=i,n=l,i=this._getCurr(++r)}else{const[c,l]=Jt._splitCurr(i,n.newLength);a=n,s=c,n=this._getPrev(++t),i=l}this._result[this._resultLen++]=new rt(a.oldPosition,a.oldText,s.newPosition,s.newText),this._prevDeltaOffset+=a.newLength-a.oldLength,this._currDeltaOffset+=s.newLength-s.oldLength}const o=Jt._merge(this._result);return Jt._removeNoOps(o)}_acceptCurr(t){this._result[this._resultLen++]=Jt._rebaseCurr(this._prevDeltaOffset,t),this._currDeltaOffset+=t.newLength-t.oldLength}_getCurr(t){return t<this._currLen?this._currEdits[t]:null}_acceptPrev(t){this._result[this._resultLen++]=Jt._rebasePrev(this._currDeltaOffset,t),this._prevDeltaOffset+=t.newLength-t.oldLength}_getPrev(t){return t<this._prevLen?this._prevEdits[t]:null}static _rebaseCurr(t,r){return new rt(r.oldPosition-t,r.oldText,r.newPosition,r.newText)}static _rebasePrev(t,r){return new rt(r.oldPosition,r.oldText,r.newPosition+t,r.newText)}static _splitPrev(t,r){const n=t.newText.substr(0,r),i=t.newText.substr(r);return[new rt(t.oldPosition,t.oldText,t.newPosition,n),new rt(t.oldEnd,"",t.newPosition+r,i)]}static _splitCurr(t,r){const n=t.oldText.substr(0,r),i=t.oldText.substr(r);return[new rt(t.oldPosition,n,t.newPosition,t.newText),new rt(t.oldPosition+r,i,t.newEnd,"")]}static _merge(t){if(t.length===0)return t;const r=[];let n=0,i=t[0];for(let o=1;o<t.length;o++){const a=t[o];i.oldEnd===a.oldPosition?i=new rt(i.oldPosition,i.oldText+a.oldText,i.newPosition,i.newText+a.newText):(r[n++]=i,i=a)}return r[n++]=i,r}static _removeNoOps(t){if(t.length===0)return t;const r=[];let n=0;for(let i=0;i<t.length;i++){const o=t[i];o.oldText!==o.newText&&(r[n++]=o)}return r}};function zk(e){return new rt(e.newPosition,e.newText,e.oldPosition,e.oldText)}function Vk(e){return e.map(zk)}function dh(e,t){return t.every(r=>e.slice(r.oldPosition,r.oldEnd)===r.oldText)}function Hk(e,t){let r=e;for(let n=t.length-1;n>=0;n-=1){const i=t[n];r=r.slice(0,i.oldPosition)+i.newText+r.slice(i.oldEnd)}return r}var xo=class extends Error{reason;constructor(e){super("Открытие документа не удалось"),this.reason=e,this.name="DocumentOpenFailedError"}},fh=0,Wk=Math.random().toString(36).slice(2,8);function Kk(){return fh+=1,`doc-${Wk}-${fh}`}function Qk(e){const t=e.createBuffer(),r=e.docId??Kk();let n=e.serverId??null,i=0,o=null,a=e.attributes??{};const s=new Set;let c=!1,l=!1,u;const d=new Set;let m=null;const p=()=>(m?.version!==i&&(m={version:i,value:t.read()}),m.value),g=h=>Object.entries(h).some(([v,E])=>a[v]!==E);return{get:()=>({docId:r,serverId:n,version:i,savedVersion:o,attributes:a}),getContent:p,mutate(h,{source:v}){if(c)return i;const E=h.changes?.length?h.changes:void 0,C=E?Hk(p(),E):h.content!==void 0?h.content:void 0,b=C!==void 0&&C!==p(),w=h.attributes!==void 0&&g(h.attributes);if(!b&&!w)return i;const I=!(i>(o??-1)),y=w?Object.keys(h.attributes).filter(S=>a[S]!==h.attributes[S]):[];b&&t.write(C),w&&(a={...a,...h.attributes}),i+=1,v!=="user"&&I&&(o=i);const T={source:v,version:i,changes:E,...b?{content:!0}:{},...y.length>0?{attributes:y}:{}};return s.forEach(S=>S(T)),i},markSaved(h,v){const E={serverId:n,savedVersion:o};v!==void 0&&(n=v),(o===null||h>o)&&(o=h),(E.serverId!==n||E.savedVersion!==o)&&s.forEach(C=>C({source:"system",version:i}))},markUnsaved(){c||o===null||o<i||(o=i-1,s.forEach(h=>h({source:"system",version:i})))},markReady(){l||u!==void 0||(l=!0,d.forEach(h=>h.resolve()),d.clear(),s.forEach(h=>h({source:"system",version:i})))},isReady:()=>l,markFailed(h){l||u!==void 0||c||(u=h,d.forEach(v=>v.reject(new xo(h))),d.clear(),s.forEach(v=>v({source:"system",version:i})))},failure:()=>u,whenReady(){return l?Promise.resolve():u!==void 0?Promise.reject(new xo(u)):c?Promise.reject(new Error("Документ закрыт до того, как наполнение закончилось")):new Promise((h,v)=>{d.add({resolve:h,reject:v})})},subscribe(h){return s.add(h),()=>s.delete(h)},isNew:()=>n===null,isDirty:()=>i>(o??-1),isDisposed:()=>c,dispose(){c=!0,d.forEach(h=>h.reject(new Error("Документ закрыт до того, как наполнение закончилось"))),d.clear(),s.clear(),t.dispose()}}}var Yk=500,Xk=100,_l=0;function mh(e,t){let r=0;for(const n of t){if(n.oldPosition>e||n.oldPosition===e&&n.oldLength>0)break;if(n.oldEnd>e)return n.newEnd;r=n.newEnd-n.oldEnd}return e+r}function Jk(e,t){const r={before:e?.before,after:t?.after};return r.before||r.after?r:void 0}function Zk(e,t){const r=e?.after;return r?{...e,after:{start:mh(r.start,t),end:mh(r.end,t)}}:e}function ej(e,t={}){const r=t.groupIntervalMs??Yk,n=t.maxSteps??Xk,i=t.now??(()=>0);let o=[],a=0,s=_l+=1,c=null,l,u,d,m=!1,p=!1,g=!1,h=!1;const v=new Set,E=()=>v.forEach(O=>O()),C=(O,R)=>{if(O.length){g=!0;try{e.mutate({changes:O},{source:R})}finally{g=!1}}},b=O=>C(O,"user"),w=O=>{const R=l?.from??i();if(p&&c!==null&&m===(l!==void 0)&&R>=c&&R-c<r){const D=o[a-1];o[a-1]={changes:uh(D.changes,O),selection:Jk(D.selection,u)}}else o=o.slice(0,a),o.push({changes:O,selection:u}),a=o.length,p=!0,o.length>n&&(o=o.slice(o.length-n),a=o.length,s=_l+=1);c=l?.to??R,m=l!==void 0,E()},I=()=>{p=!1,c=null},y=O=>{if(!O.length)return;const R=o.length>a;if(R&&(o=o.slice(0,a)),a>0){const D=o[a-1];o[a-1]={changes:uh(D.changes,O),selection:Zk(D.selection,O)}}I(),R&&E()},T=e.subscribe(({source:O,changes:R})=>{if(!(h||g||!R?.length)){if(O==="remote"){S();return}if(O!=="user"){y(R);return}w(R)}}),S=()=>{o=[],a=0,I(),s=_l+=1,E()},A=(O,R)=>{d=R;try{b(O)}finally{d=void 0}},j=(O=!1)=>{if(a===0)return!1;const R=o[a-1],D=Vk(R.changes);return dh(e.getContent(),D)?(A(D,O?{kind:"undo",selection:R.selection?.before}:void 0),a-=1,I(),!0):(o=o.slice(0,a-1),a=o.length,I(),E(),!1)};return{recordAt(O,R,D){const N=l,x=u;l=O,u=D;try{return R()}finally{l=N,u=x}},activeMove:()=>d,canUndo:()=>a>0,canRedo:()=>a<o.length,undo(){j(!0)&&E(),I()},redo(){if(a>=o.length){I();return}const O=o[a];if(!dh(e.getContent(),O.changes)){o=o.slice(0,a),I(),E();return}A(O.changes,{kind:"redo",selection:O.selection?.after}),a+=1,I(),E()},clear:S,closeGroup:I,applyWithoutHistory(O){const R=e.get().version;if(C(O,"system"),e.get().version===R){I();return}y(O)},getPast:O=>o.slice(0,a).reverse().slice(0,O).map(R=>R.changes),getFuture:O=>o.slice(a).reverse().slice(0,O).map(R=>R.changes),createSnapshot:()=>({stackId:s,index:a}),restoreSnapshot(O){if(O.stackId!==s||O.index>a)return!1;for(;a>O.index;)if(!j())return E(),!1;return E(),!0},subscribe(O){return v.add(O),()=>v.delete(O)},dispose(){h=!0,T(),v.clear(),o=[],a=0}}}function tj(e){const t=new Map,r=new Set;let n=null,i=null;const o=(s,c)=>{const l={participantId:s.participant.id,acknowledgedVersion:s.acknowledged,documentVersion:e.get().version,error:c};r.forEach(u=>u(l))},a=s=>{if(s.detached)return;const c=e.get().version;if(s.acknowledged===c||s.skipVersion===c)return;if(s.pushing){s.stale=!0;return}s.pushing=!0;const{attributes:l}=e.get(),u=s.participant.applyChanges&&i?.version===c&&s.acknowledged===c-1?i:null;(u?s.participant.applyChanges(u.changes,c,l):s.participant.apply(e.getContent(),c,l)).then(()=>{s.acknowledged=c}).catch(d=>{o(s,d)}).finally(()=>{s.pushing=!1,s.stale&&(s.stale=!1,a(s))})};return e.subscribe(({version:s,changes:c})=>{i=c?.length?{version:s,changes:c}:null,t.forEach(a)}),{attach(s){const c={participant:s,acknowledged:null,pushing:!1,stale:!1,detached:!1,skipVersion:null};return t.set(s.id,c),a(c),{acknowledgedVersion:()=>c.acknowledged,reset(){c.acknowledged=null,c.skipVersion=null,a(c)},detach(){c.detached=!0,t.delete(s.id)}}},setPrimacy(s){n=s},getPrimacy:()=>n,mutateFrom(s,c,l){const u=t.get(s);if(l.echo!==!0&&n!==null&&n!==s)return u?.participant.dropUnsent?.(),null;const d=e.get().version;u&&(u.skipVersion=d+1);const m=e.mutate(c,{source:l.source});return u&&m===d?u.skipVersion=null:u&&(u.acknowledged=m),m},onOutOfSync(s){return r.add(s),()=>r.delete(s)}}}function rj(e){return e instanceof or?e.reason:void 0}var ph=Symbol.for("emailmaker.blockSaveFlight"),hh=Symbol.for("emailmaker.blockSaveSessionQueue"),vl=new WeakMap;function gh(e,t){return Object.isExtensible(e)||t in e?e[t]:vl.get(e)?.get(t)}function yh(e,t,r){if(t in e||Object.isExtensible(e)){Object.defineProperty(e,t,{value:r,writable:!0,configurable:!0});return}const n=vl.get(e)??new Map;n.set(t,r),vl.set(e,n)}function nj(e,t){yh(e,hh,t)}function ij(e,t){const r=(gh(e,ph)??Promise.resolve()).then(t,t);return yh(e,ph,r.catch(()=>{})),r}function oj(e,t){return gh(e,hh)?.(t)??ij(e,t)}var Tr=new Map,Bo=new Map,aj;function sj(e){aj=e}function lj(e){return Tr.set(e,(Tr.get(e)??0)+1),()=>{const t=(Tr.get(e)??1)-1;if(t>0){Tr.set(e,t);return}Tr.delete(e);const r=Bo.get(e);Bo.delete(e),r?.forEach(n=>n())}}function cj(e){return Tr.has(e)}function uj(e,t){if(!Tr.has(e))return t(),()=>{};const r=Bo.get(e)??new Set;return r.add(t),Bo.set(e,r),()=>{r.delete(t)}}function dj(e,t,r){let n=!1,i;const o=s=>{n||(n=!0,clearTimeout(a),i?.(),r(s))},a=setTimeout(()=>o(!1),t);return i=uj(e,()=>o(!0)),()=>{n=!0,clearTimeout(a),i?.()}}var Uo=e=>e.replace(/\r\n?/g,`
52
+ `),_h="draft";function Yn(e){return e==null||e===""?_h:String(e)}function vh(e){return e==null||e===""?`${bl}${_h}`:`${bl}${String(e)}`}var bl="block:";function Ae(e){return e?.startsWith(bl)===!0}function fj(e,t){}function mj(e,t,r){const n=typeof performance<"u"?performance.now():Date.now();return Ge(`show:gate:${e}`,{kind:"wait"}),t.then(i=>(Ge(`show:gate:${e}:end`,{kind:"wait"}),i),i=>{const o=Math.round((typeof performance<"u"?performance.now():Date.now())-n);throw P.isAbortError(i)?(`${e}`,{...r}):(`${e}`,{error:K0(i),...r},void 0),i})}var bh=["recovery","plugin","rest"],pj=["subject","preheader"];function hj(e){let t={},r;for(let i=bh.length-1;i>=0;i--){const o=e.get(bh[i]);o&&(o.attributes&&(t={...t,...o.attributes}),o.content!==void 0&&(r=o.content))}const n=e.get("plugin")?.attributes;for(const i of pj){const o=n?.[i];typeof o=="string"&&o!==""&&(t={...t,[i]:o})}return r!==void 0?{content:r,attributes:t}:{attributes:t}}function Xn(e,t){if(!e||!t)return;const r=e.getContent(),n=t.content!==void 0?Uo(t.content):void 0,i=n!==void 0&&n!==r;e.get().docId,Object.keys(t.attributes??{}),e.mutate({attributes:t.attributes??{},...i?{changes:[new rt(0,r,0,n)]}:{}},{source:"remote"})}function Se(e,t=!1){const r={};for(const n of Object.keys(e)){let i=e[n];i!==void 0&&!(typeof i=="number"&&Number.isNaN(i))&&(t&&typeof i=="object"&&i!==null&&(i=Se(i)),r[n]=i)}return r}function ke(e){return typeof e=="object"&&e}function He(e){const t=Number(e);return isNaN(t)?e:t}function be(e){return typeof e=="number"?String(e):e}function bt(e){return typeof e=="object"?e.rendered:e}function Eh(e){return typeof e=="string"&&e.includes("autosave")}var gj=new Set(["html","id","renderGuid","showToken","showId","isNew"]);function wh(e){return e?Object.fromEntries(Object.entries(e).filter(([t])=>!gj.has(t))):{}}function El(e,t,r={}){e&&e.mutate({attributes:yj(e.get().attributes,t)},{source:r.source??"user"})}function yj(e,t){return t.subject===void 0||t.title!==void 0?t:(e.title??"")===(e.subject??"")?{...t,title:t.subject}:t}function wl(e,t){return e===void 0&&Object.keys(t).length===0?null:{...e!==void 0?{content:e}:{},attributes:t}}function _j(e){return typeof e=="string"&&e.startsWith("{")?e:"{}"}function Sh(e){if(!e)return null;const t=wh(e);return e.common_styles!==void 0&&(t.common_styles=_j(e.common_styles)),wl(e.html,t)}function Ph(e){return e?wl(e.html,Se(wh(e))):null}var vj=["common_styles","subject","preheader","meta"];function Sl(e){if(!e?.html?.trim())return null;const t={};for(const r of vj)bj(r,e[r])&&(t[r]=e[r]);return wl(e.html,t)}function bj(e,t){return e==="common_styles"?typeof t=="string"&&t.startsWith("{"):e==="meta"?typeof t=="object"&&t!==null&&!Array.isArray(t):typeof t=="string"}var Ej=["modified","lock","wpId","secretHash"];function Pl(e){if(!e)return null;const t={};for(const r of Ej)e[r]!==void 0&&(t[r]=e[r]);return Object.keys(t).length===0?null:{attributes:t}}var wj=10,Sj=(e,t)=>e.key===t.key&&Pj(e.serverId,t.serverId),Pj=(e,t)=>e==null||e===t;function Ij(e){return typeof e?.then=="function"}var Ih=e=>{e.timer!==void 0&&(clearTimeout(e.timer),e.timer=void 0)},Th=e=>{e.request.serverId!=null&&!$o(e)&&(e.document.markSaved(e.document.get().version),e.savedContent=e.document.getContent())},Tj=e=>e.document.get().serverId!=null&&!e.document.getContent().trim()&&!!(e.savedContent??e.lastMerged?.content??"").trim(),$o=e=>e.document.get().savedVersion!==null&&e.document.isDirty(),Oh=(e,t)=>t?.content!==void 0&&ok({hasUnsavedUserEdit:$o(e)})==="skip",Ch=(e,t)=>{for(const r of["subject","preheader"]){const n=t.attributes?.[r];typeof n=="string"&&(e.shownHeaders[r]=n)}},Oj=e=>e.document.subscribe(t=>{t.source==="user"&&(t.content&&e.userTouched.add("content"),t.attributes?.forEach(r=>e.userTouched.add(r))),e.document.isDirty()||e.userTouched.clear()}),Cj=(e,t)=>{!e.ready||t.content===void 0||e.document.get().serverId==null||(e.contentShown=!0,!(![...e.userTouched].every(r=>r==="content"||r in(t.attributes??{}))||!e.document.isDirty())&&(e.document.markSaved(e.document.get().version),e.savedContent=e.document.getContent(),e.userTouched.clear(),e.document.get().docId))},Aj=(e,t)=>{if(!e)return t;const r=Object.fromEntries(Object.entries(t.attributes).filter(([i,o])=>e.attributes[i]!==o)),n=t.content!==void 0&&t.content!==e.content?t.content:void 0;return n===void 0&&Object.keys(r).length===0?null:n===void 0?{attributes:r}:{content:n,attributes:r}},kj=e=>{const t=hj(e.reports),r=Aj(e.lastMerged,t);e.lastMerged=t,e.broughtContent=qo(t.content)??e.broughtContent,r&&(Xn(e.document,r),Th(e))},Il=(e,t)=>{if(!e.ready&&!$o(e)){kj(e);return}e.broughtContent=qo(t?.content)??e.broughtContent,Xn(e.document,t)},qo=e=>e===void 0?void 0:Uo(e),jj=(e,t)=>t.content===void 0||qo(t.content)!==e.broughtContent||!$o(e)?t:{...t,content:void 0},Mj=e=>{const{attributes:t,serverId:r,docId:n}=e.document.get();return{...t,html:e.document.getContent(),id:r??void 0,isNew:r==null,renderGuid:n}};function Rj(e){const{resolveAdapters:t,timeoutMs:r,resolveWritePort:n,resolveHistoryPort:i,resolveTerms:o,canEdit:a,notifyBeforeSave:s,awaitCanvasSynced:c,savedEchoForm:l=k=>k,queuesOutsideWrites:u,onAdapterError:d,onTimeout:m}=e;let p,g;const h=new Set,v=new Set,E=()=>h.forEach(k=>k()),C=(k,F)=>{if(!(k.closed||k.ready)){if(k.error!==void 0){k.document.markFailed(k.error),k.document.get().docId;return}Th(k),k.ready=!0,k.document.markReady(),k.document.get().docId,[...k.reports.keys()]}},b=(k,F,$)=>{d?.(F.id,$),!(!F.required||k.closed)&&(k.error=$,k.document.get().docId,F.id,E())},w=(k,F)=>{const $=new Set(F.map(H=>H.id));F.forEach(H=>{H.watch&&k.watchers.push(H.watch(te=>k.closed?!1:k.ready&&(Oh(k,te)||k.contentShown===!0&&te?.content!==void 0)?(k.document.get().docId,H.id,!1):(te&&k.reports.set(H.id,te),Il(k,te),te?.content!==void 0&&(k.showFill=void 0),!0)))});const G=(H,te)=>{if(!k.closed){if(!H.required&&Oh(k,te)){k.document.get().docId,H.id,H.loaded?.(!1);return}te&&(k.reports.set(H.id,te),H.id==="plugin"&&Ch(k,te)),Il(k,te),H.loaded?.(te!==null)}},Q=()=>{$.size>0||k.closed||(Ih(k),C(k,[]))},X=[];if(F.forEach(H=>{let te;try{te=H.load()}catch(ce){b(k,H,ce),$.delete(H.id);return}if(Ij(te)){X.push({id:H.id,required:H.required,load:()=>te,...H.loaded?{loaded:ce=>H.loaded?.(ce)}:{}});return}G(H,te),$.delete(H.id)}),X.length===0){Q();return}k.timer=setTimeout(()=>{k.timer=void 0,m?.([...$]),k.document.get().docId,[...$],C(k,[...$])},r),k.timer.unref?.(),X.forEach(H=>{H.load().then(te=>G(H,te)).catch(te=>{b(k,H,te)}).finally(()=>{$.delete(H.id),Q()})})},I=async(k,F,$)=>{if($==="snapshot"||$==="anchor")return;const G=o?.();if(G)return G.resolve({project:F.project??k.project,tags:(k.tags??[]).map(Q=>({name:Q}))})},y=k=>{if(k.lock===!0&&a?.(k)===!1)return new or("locked");const F=k.tags?.length??0,$=k.emailtags?.length??0;if(Math.max(F,$)>wj)return new or("too-many-tags")},T=(k,F)=>{const $=k.document.get().serverId;$!=null&&(k.createKey=void 0),!(F||$==null)&&(k.recoveryFacts={emailId:$,historyLoaded:!0,isRecovering:!1},Ae(k.request.key)||(k.request={...k.request,key:Yn($),serverId:$}))},S=(k,F,$)=>{if(k.closed||$?.id==null)return;const G=k.document.get().serverId,Q=G!=null;Q&&G!==String($.id)||(k.document.markSaved(F,String($.id)),T(k,Q),k.document.get().serverId,E())},A=(k,F,$)=>{if(!(F==="materialize"||F==="publish"&&k.document.get().serverId==null))return $;const G=k.createKey,Q=G&&G.project===$.project?G:{key:P.generateUUID(),project:$.project};return k.createKey=Q,{...$,idempotencyKey:Q.key}},j=async(k,F,$)=>{try{await k.document.whenReady()}catch(ce){return k.saveError=ce,k.saveFailures+=1,k.failedIntent=F,k.saveFailures,!1}if(k.closed)return!1;const G=y(k.document.get().attributes);if(G)return k.saveError=G,k.saveFailures+=1,k.failedIntent=F,G.reason,E(),!1;if(s&&(await s(Mj(k)).catch(()=>{}),k.closed))return!1;if(c){try{await c()}catch(ce){return k.saveError=ce,k.saveFailures+=1,k.failedIntent=F,k.saveFailures,E(),!1}if(k.closed)return!1}if(Tj(k))return F==="snapshot"||(k.saveError=new or("empty-content"),k.saveFailures+=1,k.failedIntent=F,E()),!1;let Q;try{Q=await I(k.document.get().attributes,$,F)}catch(ce){return k.saveError=ce,k.saveFailures+=1,k.failedIntent=F,k.saveFailures,E(),!1}if(k.closed)return!1;const{payload:X,version:H}=ak(k.document,$,Q,F),te=A(k,F,X);k.document.get().docId;try{const ce=k.document.get().serverId!=null,qe=await lk(n(),i(k.request.key),F,k.document.get().serverId,te,k.document.get().attributes.wpId);if(k.closed)return!0;let Xe;if(F==="snapshot"||F==="anchor"){const Me=qe?.modified!=null?Date.parse(qe.modified):NaN;Xe=Number.isFinite(Me)?Me:Date.now(),k.snapshotVersion=H,k.lastRevisionAt=Xe}else{k.document.markSaved(H,qe?.id!=null?String(qe.id):void 0),k.savedContent=te.html;const Me=qe;Xn(k.document,Pl(Me&&{wpId:Me.wpId,secretHash:Me.secretHash})),k.broughtContent=qo(l(te.html))}T(k,ce),k.saveError=void 0,k.saveFailures=0,k.failedIntent=void 0,k.document.get().serverId,E();const Xt={intent:F,serverId:k.document.get().serverId,created:!ce,...Xe!==void 0?{revisionAt:Xe}:{}};return v.forEach(Me=>Me(Xt)),!0}catch(ce){return(F==="publish"||F==="materialize")&&YA(ce)?.then(qe=>S(k,H,qe)),k.saveError=ce,k.saveFailures+=1,k.failedIntent=F,k.saveFailures,E(),!1}},O=k=>{k.closed=!0,k.watchers.forEach(F=>F()),k.watchers=[],Ih(k),k.history.dispose(),k.document.dispose()},R=()=>{p&&(O(p),p=void 0)},D=()=>{g&&(O(g),g=void 0)},N=(k,F,$)=>{let G=!1;F.show&&(k.show?.id!==F.show.id||k.show.token!==F.show.token)&&(k.show=F.show,G=!0,{docId:k.document.get().docId,...F.show});const Q=$==="show"?Ph(F.patch):null;if(Q){k.reports.set("plugin",Q),Ch(k,Q);const X=jj(k,Q);Il(k,X),Cj(k,X)}G&&E()},x=(k,F={})=>U(p,k,F),L=()=>p&&Ae(p.request.key??"")?g:p,q=k=>({error:k?.saveError,failures:k?.saveFailures??0,saving:k?.saving===!0,failedIntent:k?.failedIntent}),U=(k,F,$)=>!k||k.closed||F==="materialize"&&k.document.get().serverId!=null?Promise.resolve(!1):k.saving?F==="snapshot"||F==="materialize"?Promise.resolve(!1):(k.inFlight??Promise.resolve(!1)).then(()=>U(k,F,$)):(k.saving=!0,E(),k.inFlight=j(k,F,$).finally(()=>z(k)),k.inFlight),z=k=>{k.saving=!1,k.inFlight=void 0,p===k&&!k.closed&&E()},Z=(k,F)=>{if(k.closed)return F();if(k.saving)return(k.inFlight??Promise.resolve(!1)).then(()=>Z(k,F));k.saving=!0,E();const $=Promise.resolve().then(F);return k.inFlight=$.then(()=>!0,()=>!1).finally(()=>z(k)),$},re=(k,F)=>{const $=k.document.get().serverId,G=$==null?void 0:lj($);return Z(k,F).finally(G)},se=(k,F="open",$=!1)=>{if(p&&!p.closed&&F!=="new"&&Sj(p.request,k))return N(p,k,F),p.document;R(),$||D();const G=Qk({createBuffer:()=>qk(""),serverId:k.serverId??null}),Q={request:k,show:k.show,document:G,history:ej(G,{now:Date.now}),watchers:[],userTouched:new Set,shownHeaders:{},saveFailures:0,saving:!1,reports:new Map,ready:!1,closed:!1};return p=Q,nj(G,X=>u?.(Q.request.key)===!0?re(Q,X):void 0),Q.watchers.push(Oj(Q)),G.get().docId,k.serverId,w(Q,t(k,{publishRecoveryFacts(X){Q.closed||(Q.recoveryFacts=X,E())},readShownContent:()=>Q.closed?null:Q.document.getContent(),readWpId:()=>Q.closed?void 0:Q.document.get().attributes.wpId})),E(),G},ue=(k,F,$)=>({key:Ae(k)?k:vh(k),serverId:F?.id!=null?String(F.id):null,email:F,show:$});return{openWith:se,open:(k,F={})=>se({key:Yn(k),serverId:k,email:F.email,patch:F.patch,show:F.show},"open"),openDraft:(k,F={})=>se({key:Yn(void 0),serverId:null,email:k,patch:F.patch,show:F.show},"open"),startNewDraft:(k,F={})=>se({key:Yn(void 0),serverId:null,email:k,patch:F.patch,show:F.show},"new"),reload:(k,F={})=>se({key:Yn(k),serverId:k,email:F.email,patch:F.patch,show:F.show},"new"),openBlock:(k,F,$)=>se(ue(k,F,$),"open"),reloadBlock:(k,F,$)=>se(ue(k,F,$),"new"),openBlockOver:(k,F)=>{const $=ue(k,F);return p&&!p.closed&&p.request.key===$.key?p.document:(p&&!p.closed&&!Ae(p.request.key)&&(D(),g=p,p=void 0),se($,"open",!0))},resumeSuspended:()=>{if(g)return R(),p=g,g=void 0,E(),p.document},hasSuspended:()=>!!g,suspendedDocument:()=>g?.document,show:(k,F)=>{const $=p;if(!(!$||$.closed))return se({...$.request,patch:k,show:F},"show")},current:()=>p?.document,noteServerFacts:({serverId:k,block:F},$)=>{const G=p;!G||G.closed||G.request.serverId!==k||Ae(G.request.key??"")===F&&Xn(G.document,Pl($))},save:x,saveEmail:(k,F={})=>U(L(),k,F),saveState:()=>q(p),emailSaveState:()=>q(L()),revisionFacts(){if(!p)return;const k=p.revisionFactsSnapshot;return k&&k.snapshotVersion===p.snapshotVersion&&k.lastRevisionAt===p.lastRevisionAt?k:(p.revisionFactsSnapshot={snapshotVersion:p.snapshotVersion,lastRevisionAt:p.lastRevisionAt},p.revisionFactsSnapshot)},recoveryFacts:()=>p?.recoveryFacts,history:()=>p?.history,forcedHeaders:()=>p?.forcedHeaders,beginForcedHeaders(k){p&&!p.closed&&(p.forcedHeaders=k)},endForcedHeaders(){for(const k of[p,g])k&&(k.forcedHeaders=void 0)},onSaved(k){return v.add(k),()=>v.delete(k)},showFacts:()=>p?.show,shownHeaders:()=>({...p?.shownHeaders}),showFill:()=>p?.showFill,beginShowFill(k){p&&!p.closed&&(p.showFill={showId:k,codeEdits:0})},noteCodeEdit(){p?.showFill&&(p.showFill.codeEdits+=1)},endShowFill(k){for(const F of[p,g])F?.showFill?.showId===k&&(F.showFill=void 0)},sessionKey:()=>p?.request.key,openError:()=>p?.error,subscribe(k){return h.add(k),()=>h.delete(k)},close(){!p&&!g||(R(),D(),E())}}}var Jn=class extends Error{reason;constructor(e,t){super(`письмо не открылось: ${e}`),this.name="EmailOpenFailedError",this.reason=e,this.cause=t}};function Nj(e){return e===404||e===410?"not-found":e===401||e===403?"forbidden":"unavailable"}function Tl(e){if(e instanceof Jn)return e.reason;if(e instanceof xo)return Tl(e.reason)}function Dj(e){return new Jn(Nj(e.status),e.error??e)}function Lj(e){const t=e instanceof xo?e.reason:e;return t instanceof Jn&&t.reason==="unavailable"&&t.cause instanceof TypeError}function Fj(e){const t=Tl(e);return t!==void 0&&t!=="unavailable"}function xj(e,t){return{id:"rest",required:!0,load:async()=>{const r=await e.readEmail(t);if(!r)throw new Jn("not-found");return Sh(r)}}}var Go=P.createIdentifier$1("documentSession.restEmailPortFactories");function Bj(e,t){e.inject(Go,t)}function Ah(e){return e.getInstance(Go)!==void 0}function Or(e){const t=e.getInstance(Go);if(!t)throw new Error("[documentSession] порты поверх REST ещё не загружены — работа с сервером начинается с init()");return t}var kh=P.createIdentifier$1("EmailTermsResolver");function Uj(e){return e.getInstance(kh)}function $j(e,t){e.inject(kh,t)}var qj=2e3,Gj=5e3,zj=5,Vj=5e3,Hj=4;function Wj(){return typeof performance<"u"&&typeof performance.timeOrigin=="number"?performance.timeOrigin:Date.now()}function zo(e,t){return e==null||t==null?!1:e.replaceAll(`\r
53
+ `,`
54
+ `)===t.replaceAll(`\r
55
+ `,`
56
+ `)}function Vo(e){return{html:e.html,common_styles:e.common_styles,subject:e.subject,preheader:e.preheader}}function Zn(e,t){return ll(e.autosave,t===void 0?{}:{freshSince:t})?e.autosave:null}function Kj(e,t,r){const{latest:n}=e,i=zo(t.html,r);return!n||t.baseOpen||n.id===t.baseRevisionId||t.baseHtmls?.some(o=>zo(o,n.html))?i?{revision:null,phase:"normal"}:{revision:Vo(t),phase:"timeout"}:i?{revision:Zn(e),phase:"normal"}:zo(t.html,n.html)?{revision:Vo(t),phase:"found"}:{revision:Zn(e),phase:"normal"}}function Qj({emailId:e,readAutosave:t,revisionServiceEnabled:r,pendingKey:n,historyIsSynchronous:i=!1,readShownContent:o,onFacts:a,onLate:s,onError:c,pageLoadTs:l=Wj()}){const u=n??e;let d=null,m=!1,p=!1,g=0,h={emailId:e,historyLoaded:!1,isRecovering:!1},v=null;const E=new Promise(x=>{v=x}),C=x=>{h={...h,...x},a(h)};let b;const w=x=>{g+=1,C({applied:{phase:x,seq:g}})},I=()=>{d?.timer&&clearTimeout(d.timer),d=null},y=x=>{if(!p){if(v){const L=v;v=null,L(x),b=x.revision?x.phase:void 0;return}s(x)&&x.revision&&w(x.phase)}},T=()=>{if(!d||p)return;const x=d.phase==="fast",L=x?qj:Vj,q=x?zj:Hj;d.timer=setTimeout(()=>{const U=d;if(!(!U||p)){if(U.attempts+=1,O(),x&&U.attempts>=q){const{pending:z}=U;Ir(u),C({isRecovering:!1}),y({revision:Vo(z),phase:"timeout"}),m=!0,U.phase="bg",U.attempts=0,T();return}if(!x&&U.attempts>=q){Ir(u),I(),C({isRecovering:!1}),m=!0;return}T()}},L),d.timer.unref?.()},S=x=>{d={phase:"fast",attempts:0,pending:x,timer:null},C({isRecovering:!0}),T()},A=x=>{if(p)return;if(C({historyLoaded:!0,latestRevisionAt:x.latestAt!==void 0&&Number.isFinite(x.latestAt)?x.latestAt:void 0}),r&&d){const U=Zn(x,d.pending.sentAt);if(!U)return;const z=d.phase==="fast"?"found":"bg";Ir(u),I(),C({isRecovering:!1}),m=!0,y({revision:U,phase:z});return}if(m)return;const L=r?Lo(u):null,q=L&&(L.sentAt<l||!zo(L.html,o()))?L:null;if(q){if(i&&(q.baseRevisionId!==void 0||q.baseOpen)){Ir(u),m=!0,y(Kj(x,q,o()));return}const U=Zn(x,q.sentAt);if(U){Ir(u),m=!0,y({revision:U,phase:"found"});return}if(i){if(Ir(u),m=!0,x.latestAt!==void 0&&x.latestAt>q.sentAt+5e3){y({revision:null,phase:"normal"});return}y({revision:Vo(q),phase:"timeout"});return}S(q);return}m=!0,y({revision:Zn(x),phase:"normal"})},j=x=>{p||(c?.(x),h.historyLoaded||(C({historyLoaded:!1,latestRevisionAt:void 0}),N()),!d&&y({revision:null,phase:"normal"}))},O=()=>t(e).then(A).catch(j);let R,D=!1;const N=()=>{D||d||p||(D=!0,R=setTimeout(()=>{R=void 0,!p&&!h.historyLoaded&&O()},Gj))};return O(),{verdict:()=>E,confirmVerdict(x){const L=b;b=void 0,x&&L!==void 0&&!p&&w(L)},dispose(){p=!0,R!==void 0&&(clearTimeout(R),R=void 0),I()}}}function Yj({port:e,revisionServiceEnabled:t,pendingKey:r,historyIsSynchronous:n,emailId:i,wpId:o,readShownContent:a,onFacts:s}){let c=null;const l=Qj({emailId:i,readAutosave:u=>o?e.readAutosave(u,{wpId:o()}):e.readAutosave(u),revisionServiceEnabled:t,...r?{pendingKey:r}:{},...n?{historyIsSynchronous:n}:{},readShownContent:a,onFacts:s,onLate:({revision:u,phase:d})=>{const m=Sl(u);return c?.(m)??!1},onError:u=>{u instanceof Error&&u.message}});return{id:"recovery",load:()=>l.verdict().then(({revision:u})=>Sl(u)),loaded(u){l.confirmVerdict(u)},watch(u){return c=u,()=>{c=null,l.dispose()}}}}var Xj=5e3,Jj=P.createIdentifier$1("plugin.knownRevisions");function Ho(e){return e.getOrCreateInstance(Jj,()=>new Map)}function Ol(e,t,r,n){const i=r?.get(t)??[],o=i.filter(a=>a!==n);return{...e.has(t)?{baseRevisionId:e.get(t)??null}:{},...i.length>jh?{baseOpen:!0}:o.length?{baseHtmls:o}:{}}}var Zj=P.createIdentifier$1("plugin.uncertainWrites"),jh=3;function Wo(e){return e.getOrCreateInstance(Zj,()=>new Map)}function eM(e,t,r){const n=e.get(t)??[];n.includes(r)||n.length>jh||e.set(t,[...n,r])}function Mh(e,t){Qn(e,t)||!t.baseHtmls||Qn(e,{...t,baseHtmls:void 0,baseOpen:!0})}function Ko(e,t,r,n=!1){const i=Lo(e);!r||i?.sentAt!==t||!(n||i.baseOpen||i.baseHtmls)||Qn(e,{...i,baseRevisionId:r,baseHtmls:void 0,baseOpen:void 0})}function Rh(e,t,r,n){(Lo(e)?.sentAt??Number.NEGATIVE_INFINITY)>r||Mh(e,{sentAt:r,html:t.html??"",common_styles:t.common_styles??"",subject:t.subject,preheader:t.preheader,...n})}var tM=/(?:Z|[+-]\d{2}:?\d{2})$/i;function rM(e,t){const r=e;if(r?.isAutosave!==!0)return!1;const n=r.modified??"",i=tM.test(n)?Date.parse(n):NaN;return!Number.isFinite(i)||i>=t-Xj}function Nh(e,t,{pendingKey:r=a=>a,knownRevisions:n=new Map,uncertainWrites:i,synchronousHistory:o=!1}={}){return{readRevisions:(a,s,c)=>t.readRevisions(a,s,c),readRevision:(a,s,c)=>t.readRevision?t.readRevision(a,s,c):Promise.resolve(null),readAutosave:(a,s)=>t.readAutosave(a,s),async saveAutosave(a,s,c){const l=r(a),u=Date.now();Mh(l,{sentAt:u,html:s.html??"",common_styles:s.common_styles??"",subject:s.subject,preheader:s.preheader,...Ol(n,l,i,s.html??"")});const d=await t.saveAutosave(a,s,c),m=d?.id;return rM(d,u)?Ko(l,u,m):m&&o&&(d.isAutosave===!0?pl(l,u):Ko(l,u,m,!0)),await e.saveAutosave(a,s),d}}}function nM(e,t,r){return{readEmail:n=>e.readEmail(n),createEmail:n=>e.createEmail(n),async updateEmail(n,i){const o=Date.now();r&&Rh(n,i,o,Ol(r.knownRevisions,n,r.uncertainWrites,i.html??""));const a=await t.updateEmail(n,i);return r&&Ko(n,o,r.knownRevisions.get(n)??void 0),await e.updateEmail(n,i),pl(n,o),a&&{...a,id:n}}}}var Cl=P.createIdentifier$1("CurrentUser"),Dh={};function Al(e){return e.getOrCreateInstance(Cl,()=>Re(Dh))}function Qo(e){return e?.getInstance(Cl)?.get()??Dh}async function iM(e){const t=e?.getInstance(Cl),r=t?.get().promise;if(!(!t||r===void 0))return t.set({...t.get(),promise:void 0}),r}function oM(e){if(!e)return!1;try{return!!P.decodeJwt(e).data?.act_as}catch{return!1}}function kl(e){return oM(e?.getInstance(P.COOKIE_MANAGER_ID)?.get(Eo.em_token))}var aM="SAVE_BUTTON",sM="AUTOSAVE",Lh=Symbol.for("emailmaker.saveNotified");function lM(e){return typeof e=="object"&&e!==null&&Lh in e}function cM(e){return typeof e=="object"&&e!==null&&typeof e.settle=="function"}var Fh=P.createIdentifier$1("helpers.saveListeners");function uM(e,t="email"){const r=e.getOrCreateInstance(Fh,()=>({email:0,block:0}));return r[t]+=1,()=>{r[t]=Math.max(0,r[t]-1)}}function dM(e,t="email"){return(e.getInstance(Fh)?.[t]??0)>0}var fM=1.5;function mM(e){return e.isHeadless||!e.isEnabled||e.isUserBusy||!e.isReady||!e.isInited?"none":e.isNew?"create":!e.isDirty||e.isSnapshotSent||!e.isHistoryLoaded||e.latestRevisionAgeMs!==void 0&&e.latestRevisionAgeMs<=fM*e.autosaveTimeoutMs?"none":"revision"}var s3=5,l3=3,pM=1e4;function hM(e){const{readDocument:t,readEnvironment:r,onCreate:n,onRevision:i}=e,o=e.readFailures??(()=>0),a=e.readFailureRetryable??(()=>!0);let s;const c=A=>s!==void 0&&s.version===A.get().version?o()-s.failuresAtStart:0,l=A=>{const j=c(A);if(j<=0)return!1;const O=r().retryMaxAttempts??5;return!a()||j>O},u=()=>{const{autosaveTimeoutMs:A,retryIntervalMs:j}=r(),O=t();return O!==void 0&&c(O)>0&&j!==void 0&&j>0?j:O?.isNew()?pM:A},d=A=>A.isNew()&&o()>=3,m=()=>{const A=t();if(!A||A.isDisposed()||l(A))return"none";const{latestRevisionAt:j,snapshotVersion:O,...R}=r(),D=Date.now(),N=mM({...R,isDirty:A.isDirty(),isNew:A.isNew(),isReady:A.isReady(),latestRevisionAgeMs:j!=null&&j<=D?D-j:void 0,isSnapshotSent:O!=null&&O===A.get().version});return N==="create"&&d(A)?"none":N},p=()=>{const A=t();if(!A||A.isDisposed()||d(A)||l(A)||r().isHeadless)return!1;if(!A.isDirty())return A.isNew();const{snapshotVersion:j}=r();return!(j!=null&&j===A.get().version)};let g,h=0,v=0,E,C,b,w=!1;const I=()=>{E=void 0;const A=t();if(!A||A.isDisposed())return;if(A.get().docId!==g){y();return}const j=m();j!=="none"&&s?.version!==A.get().version&&(s={version:A.get().version,failuresAtStart:o()}),j==="create"?n():j==="revision"?i():p()&&(g=A.get().docId,h=u(),v=o(),E=setTimeout(I,h))},y=()=>{const A=t();if(w||!A)return;const j=s?.version===A.get().version&&v!==o();E!==void 0&&(h!==u()||j)&&(clearTimeout(E),E=void 0),!(E!==void 0||m()==="none"&&!p())&&(g=A.get().docId,h=u(),v=o(),E=setTimeout(I,h))},T=A=>{const j=t();A.source==="user"?s=void 0:s&&j&&(s.version=j.get().version),A.source==="user"&&E!==void 0&&(clearTimeout(E),E=void 0),y()},S=()=>{const A=t();A!==C&&(b?.(),C=A,s=void 0,b=A?.subscribe(T),E!==void 0&&(clearTimeout(E),E=void 0))};return S(),y(),{refresh:()=>{w||(S(),y())},stop:()=>{w=!0,b?.(),b=void 0,C=void 0,E!==void 0&&(clearTimeout(E),E=void 0)}}}var xh=P.createIdentifier$1("documentSession.autosaveUiFacts"),Bh={isUserBusy:!1,saveContext:{}};function Uh(e){return e.getOrCreateInstance(xh,()=>Re(Bh))}function jl(e){return e?.getInstance(xh)?.get()??Bh}function gM(e){return jl(e).saveContext.fallbackTitle||"Untitled email."}var yM=1e4,_M=3e4;function vM(e,t){const r=m=>{const p=e.getInstance(P.CONFIG_SOURCE_ID)?.layers?.(),g=p?pm(p,m):void 0;return typeof g=="number"&&g>=0?g:void 0};let n;const i=m=>{const{error:p,failures:g}=t.saveState();return al(p)?(n?.failures!==g&&(n={failures:g,saved:m??null}),n.saved===(m??null)):(n=void 0,!1)},o=()=>{const m=t.current(),p=m?.get().serverId??void 0,g=Ae(t.sessionKey()),h=t.recoveryFacts(),v=h?.emailId===p?h:void 0,E=t.revisionFacts(),C=v?.latestRevisionAt,b=E?.lastRevisionAt,w=Qo(e).profile;return{isInited:g||m?.get().attributes.is_inited===!0,isEnabled:!!w?.autosaves&&!kl(e)&&!i(m?.get().savedVersion),isHistoryLoaded:v?.historyLoaded===!0,isUserBusy:jl(e).isUserBusy,isHeadless:Dd(e),autosaveTimeoutMs:nr(e).autosaveTimeout||yM,latestRevisionAt:C!==void 0||b!==void 0?Math.max(C??0,b??0):void 0,snapshotVersion:E?.snapshotVersion,retryIntervalMs:r("autosaveRetryIntervalMs")??_M,retryMaxAttempts:r("autosaveRetryMaxAttempts")}},a=()=>{const m=jl(e).saveContext;return{...m,project:m.project??t.current()?.get().attributes.project,fallbackTitle:gM(e)}},s=hM({readDocument:()=>t.current(),readEnvironment:o,readFailures:()=>t.saveState().failures,readFailureRetryable:()=>XA(t.saveState().error),onCreate:()=>{Ae(t.sessionKey())||t.save("materialize",{...a(),source:sM})},onRevision:()=>{t.save("snapshot",{project:a().project})}}),c=t.subscribe(()=>{i(t.current()?.get().savedVersion),s.refresh()}),l=Al(e).watch(()=>s.refresh()),u=Uh(e).watch(()=>s.refresh()),d=Yi(e).watch(()=>s.refresh());return()=>{c(),l.dispose(),u.dispose(),d.dispose(),s.stop()}}var $h=12e3;function ar(e){return e.getOrCreateInstance(Ro,()=>{const t=Rj({resolveAdapters:(n,i)=>EM(n,e,i),resolveWritePort:()=>Rl(e),resolveHistoryPort:n=>Ae(n)?Xo(e):Yo(e),resolveTerms:()=>Uj(e),canEdit:n=>wk(e,n),notifyBeforeSave:Ik(e),awaitCanvasSynced:Mk(e),savedEchoForm:n=>{const i=ch(e);return i.toEditorForm(i.toOutputForm(n))},queuesOutsideWrites:n=>Ae(n)&&(xe()||Yr(e)),timeoutMs:$h,onAdapterError:(n,i)=>{i instanceof Error&&i.message;const o=Fj(i),a=Lj(i);gl(i,{origin:"email-source-adapter",tags:{source:n,expected_refusal:String(o),network_failure:String(a)},level:o||a?"warning":"error"})},onTimeout:n=>{}}),r=vM(e,t);return e.getInstance(P.DISPOSABLE_ID)?.addDispose(r),t})}function Ml(e){return e?.getInstance(Ro)}function Rl(e){const t=LA(e);return t?Jo(e)?nM(t,Or(e).email(e),Yr(e)?{knownRevisions:Ho(e),uncertainWrites:Wo(e)}:void 0):t:Or(e).email(e)}function bM(e){return Pp(e)!==void 0||Ah(e)}function Yo(e){const t=Pp(e);return t?Jo(e)?(Ge("port:history:server-backed"),Nh(t,Or(e).history(e),{knownRevisions:Ho(e),uncertainWrites:Wo(e),synchronousHistory:Yr(e)})):(Ge("port:history:integrator"),t):(Ge("port:history:rest (порт не зарегистрирован)"),Or(e).history(e))}function Xo(e){const t=Sp(e);return t?Jo(e)?(Ge("port:block-history:server-backed"),Nh(t,Or(e).blockHistory(e),{pendingKey:ml,knownRevisions:Ho(e),uncertainWrites:Wo(e),synchronousHistory:Yr(e)})):(Ge("port:block-history:integrator"),t):(Ge("port:block-history:rest (порт не зарегистрирован)"),Or(e).blockHistory(e))}function qh(e){return Sp(e)!==void 0||Ah(e)}function Jo(e){return No(e)}function EM({email:e,patch:t,serverId:r,key:n},i,o){const a=[];e?a.push({id:"rest",load:()=>Sh(e),required:!0}):r&&a.push(xj(Rl(i),r)),t&&a.push({id:"plugin",load:()=>Ph(t)});const s=Ae(n);return Nk(r)&&(s?qh(i):bM(i))&&a.push(Yj({port:s?Xo(i):Yo(i),revisionServiceEnabled:Jo(i),pendingKey:eh(r,s),historyIsSynchronous:Yr(i),emailId:r,wpId:()=>o.readWpId(),readShownContent:()=>o.readShownContent(),onFacts:c=>o.publishRecoveryFacts(c)})),a}function Gh(e){return{emails:Wp(e),blocks:nl(e),emailRevisions:Kp(e),blocksRevision:hp(e),comments:gp(e)}}function Nl(e){const t=Ml(e);return t&&Ae(t.sessionKey())?t.suspendedDocument():t?.current()}function wM(e){return Nl(e)?.getContent()}function SM(e,t){const r=t??Yp(),n=Nl(e)?.get();return n?{...r,...n.attributes,id:n.serverId??void 0,isNew:n.serverId===null,html:wM(e)??r.html}:r}async function zh(e){return(await e.getInstanceAsync(P.APP_ID))?.project}async function Vh(e){return hk(e)??await zh(e)}async function PM(e,t){const r=nl(e);if(r.hasReadHandler()){const n=await r.get(t);if(n&&Object.keys(n).some(i=>i!=="id"))return n;await r.remove(t,{silent:!0});return}return r.byForeignKey("project").first(await Vh(e),{filter:{id:t}})}var Hh=new WeakMap,IM=32;function TM(e){return{...e}}function OM(e){let t=Hh.get(e);return t||(t={byId:new Map,fallback:[]},Hh.set(e,t)),t}function Wh(e,t){const{byId:r,fallback:n}=OM(t),i=TM(e);i.id!=null&&i.id!==""&&r.set(String(i.id),i),n.push(i),n.length>IM&&n.shift()}function CM(e){if(!e)return{};const t={};for(const r of Object.keys(e))rl.has(r)&&lp(r,e[r])&&(t[r]=e[r]);return t}function Kh(e){const t={},r=e;for(const n of rl){if(!(n in r))continue;const i=r[n];if(lp(n,i)){if(n==="project"){const o=Number(i);t.project=Number.isNaN(o)?i:o;continue}if(n==="author"){t.author=String(i);continue}if(n==="status"||n==="comment_status"||n==="ping_status"){t[n]=i;continue}t[n]=i}}return Object.assign(t,CM(e.catalogExtra)),t}function AM(e,t){const{meta:r,...n}=t;let i={...e,...n};return r!==void 0&&(i=Vp(i,r)),i}async function Qh(e,t,r){if(!e)return;const n=r.id!=null&&r.id!==""?String(r.id):void 0;if(!n)return;const i=Kh(t),o=Kh(r);if(P.deepEqual(i,o))return;const{blocks:a}=Gh(e);await a.cache.addOrUpdate(n,s=>s&&AM(s,o))}var kM=()=>{};function nt(){const e=Oe(),t=(0,_.useCallback)(n=>{if(!e)return kM;const i=Sr(e).watch(n);return()=>i.dispose()},[e]),r=(0,_.useCallback)(()=>Pr(e).card,[e]);return(0,_.useSyncExternalStore)(t,r,r)}function Yh(e,t,r=!0){const n=e,i=t;for(const o of Object.keys(i)){const a=i[o];a!=null&&(r&&typeof a=="object"?n[o]=Yh(n[o]||{},a,!0):n[o]=a)}return e}async function jM(e){const t=(await(0,wt.__vitePreload)(()=>Promise.resolve().then(()=>Promise.resolve(Ee("./15ea858c.js")).then(r=>Y.__toESM(r.default))),void 0,{}.url)).default;return new Promise((r,n)=>{t.load({google:{families:[e]},classes:!1,active:()=>r(),inactive:()=>n(new Error(`Шрифт не загрузился: ${e}`))})})}function MM(e){const t=Qm(e);return isNaN(t)?new Date(e):t}var Xh=new Map;function RM(e){let t=Xh.get(e);return t||(t={shortDate:new Intl.DateTimeFormat(e,{dateStyle:"short"}),shortTime:new Intl.DateTimeFormat(e,{timeStyle:"short"})},Xh.set(e,t)),t}var NM=(e,t,r=!1)=>{e instanceof Date;const n=new Date,i=e.getDate()===n.getDate()&&e.getMonth()===n.getMonth()&&e.getFullYear()===n.getFullYear();if(r&&i){const o=Math.floor((n-e)/1e3),a=Math.floor(o/60),s=Math.floor(a/60);if(o<60)return t("Just now");if(s>0){const c=a%60;return`${s} ${t("hour","hours",s)} ${c} ${t("minute","minutes",c)}`}else return`${a} ${t("minute","minutes",a)}`}else{const{shortDate:o,shortTime:a}=RM(navigator.language);return o.format(e)+" "+a.format(e)}},Jh=e=>{const t=e.match(/(\(copy\))( \d+)?$/),r=t?.[1],n=t?.[2];return r?n?`${e.slice(0,-n.length)} ${+n.slice(1)+1}`:`${e} 2`:`${e} (copy)`};function DM(e,t,r){const n=new Map,i=new RegExp(`(${t})(.*?)(${r})`,"gis");return e=e.replaceAll(i,(o,a,s,c)=>{const l=P.generateUUID();return n.set(l,s),a+l+c}),{escapes:n,html:e}}function Zh(e,t){let r=[];for(const[n,i]of t){const{escapes:o,html:a}=DM(e,n,i);e=a,r.push([n,i,o])}return{escapes:r,html:e}}function LM(e,t,r,n){const i=new RegExp(`(${t})(.*?)(${r})`,"gis");return e.replaceAll(i,(o,a,s,c)=>{const l=n.get(s);return typeof l=="string"?a+l+c:o})}function FM(e,t){for(const[r,n,i]of t)e=LM(e,r,n,i);return e}var eg=/<title>([\s\S]*?)<\/title>/gim;function Dl(e){return e==null?"":String(e).replace(/\s+/g," ").trim()}var xM=(e,t)=>{const{escapes:r,html:n}=Zh(e,[["<style.*?>","<\\/style>"],["<script.*?>","<\\/script>"],["<\\!--","-->"]]);let i=n;return i=i.replaceAll(eg,(o,a)=>{if(t==null)return o;const s=Dl(a);return s===Dl(t)?`<title>${Jh(s)}</title>`:o}),FM(i,r.reverse())};function BM(e){let{html:t}=Zh(e,[["<style.*?>","<\\/style>"],["<script.*?>","<\\/script>"],["<\\!--","-->"]]);return[...t.matchAll(eg)].map(r=>Dl(r[1])).find(r=>!!r)}var UM=/[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/,Ll=()=>{const e=Kr(),t=Gs(),r=me(),{projectId:n}=wr(),i=nt();return(0,_.useCallback)(async(o,a,s,c,l)=>{t.querySelectorAll(".block-search__preview").forEach(y=>y.remove());const u=t.querySelector("#iframe-scroll-top"),d=t.querySelector("#iframe-scroll-bottom"),m=t.querySelector("#email_iframe_slot"),p=document.body.getBoundingClientRect().height,g=m.getClientRects()[0];g.top<0&&(u.style.display="block"),g.top+g.height>p&&(d.style.display="block");const h=s==="project"||s==="template"||s==="common"?"block":"structure",v=P.getContainer(r),E=i?.id??n,C=cp(l,{html:a||"",insertFrom:s,fragmentRole:h,name:c,project:E}),b=await Sm(v,{...C});await Qh(v,C,b),Wh(b,v);const w=b.project!==void 0&&b.project!==null?String(b.project):String(E??""),I={operation:oe.SANDBOX_BLOCK_INSERT,settings:{blockHTML:b.html||null,targetBlock:null,project:w,type:s,name:b.name??c,blockId:b.id!=null?String(b.id):void 0}};o.dataTransfer.setData("Text",JSON.stringify(I)),e(I)},[e,t,r,n,i])},$M=()=>{const e=Kr(),t=Gs(),r=me();return(0,_.useCallback)(async(n,i,o)=>{if(!o(i))return;const a=t.querySelector("#iframe-scroll-top"),s=t.querySelector("#iframe-scroll-bottom"),c=t.querySelector("#email_iframe_slot"),l=document.body.getBoundingClientRect().height,u=c.getClientRects()[0];u.top<0&&(a.style.display="block"),u.top+u.height>l&&(s.style.display="block");const d=P.getContainer(r),m=await wm(d,{name:i?.name??"",className:i?.className??"",html:i?.html??""}),p={operation:oe.SANDBOX_ATOM_INSERT,settings:{atomHTML:m.html||null,targetBlock:null,name:m.name??i.name}};n.dataTransfer.setData("Text",JSON.stringify(p)),e(p)},[e,t,r])},Fl=()=>{const e=Kr(),t=Tt(),{emailId:r,blockId:n,projectId:i}=wr(),o=nt(),a=me();return(0,_.useCallback)(async(s,c,l,u,d)=>{const m=l==="project"||l==="template"||l==="common"?"block":"structure",p=m==="block"?u||l||"block":u||l||"structure",g=m==="block"?"block":"structure",h=P.getContainer(a),v=o?.id??i,E=cp(d,{html:c||"",insertFrom:l,fragmentRole:g,name:p,project:v}),C=await Sm(h,{...E});await Qh(h,E,C),Wh(C,h);const b=C.project!==void 0&&C.project!==null?String(C.project):String(v??"");e({operation:oe.SANDBOX_BLOCK_INSERT,action:"insert",settings:{blockHTML:C.html,type:l,name:C.name??p,project:b,blockId:C.id!=null?String(C.id):void 0}}),t({event:"add",action:"add_element_to_email",element_type:m,element_name:p,entity_id:r||n,project_id:o?.id||i})},[e,t,r,n,i,o,a])},qM=()=>{const e=Kr(),t=Tt(),{emailId:r,blockId:n,projectId:i}=wr(),o=nt(),a=me();return(0,_.useCallback)(async(s,c)=>{const l=P.getContainer(a),u=await wm(l,{name:c?.name??"",className:c?.className??"",html:c?.html??""});e({operation:oe.SANDBOX_ATOM_INSERT,action:"insert",settings:{atomHTML:u.html||null,targetBlock:null,name:u.name??c?.name}}),t({event:"add",action:"add_element_to_email",element_type:"atom",element_name:c.name||"atom",entity_id:r||n,project_id:o?.id||i})},[e,t,r,n,i,o,a])},GM=(e,t)=>{t.success({mask:{closable:!0},centered:!0,title:e("Coming soon"),content:e("The feature is under development."),okText:e("Ok. I'll be waiting"),onOk:()=>{}})},zM=()=>{const e=Kr();return(t,r)=>{e({operation:oe.SANDBOX_ELEMENT_SETTINGS_SET,settings:t,type:r})}},VM=(e,t="")=>{const r=[];return e&&e._embedded?.["wp:term"]?.filter(n=>!!n.length&&(t?n[0]?.taxonomy===t:!0)).forEach(n=>{const i=n[0].taxonomy;r[i]||(r[i]=[]),r[i]=n.map(o=>({id:o.id,name:o.name,children:o.children})),r[r.length]=r[i]}),t!==""&&r.length?r[t]:r},tg=class extends _.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(e){}render(){return this.state.failed?this.props.fallback??null:this.props.children}},HM=new Set([Symbol.for("react.forward_ref"),Symbol.for("react.memo"),Symbol.for("react.lazy")]);function rg(e){if(typeof e=="function")return!0;const t=typeof e=="object"&&e!==null?e.$$typeof:void 0;return HM.has(t)}function WM(e){const{svg:t}=e;return typeof t=="string"?t:void 0}function xl({icon:e,className:t}){const r=(0,_.useMemo)(()=>{const n=e&&!rg(e)?WM(e):void 0;return n===void 0?void 0:{__html:n}},[e]);return e?rg(e)?(0,M.jsx)(tg,{what:"icon",children:(0,M.jsx)(e,{className:t})}):r?(0,M.jsx)("span",{className:["plugin-location__svg",t].filter(Boolean).join(" "),dangerouslySetInnerHTML:r}):null:null}function KM(e,t){var r=0,n,i;t=t||{};function o(){var a=n,s=arguments.length,c,l;e:for(;a;){if(a.args.length!==arguments.length){a=a.next;continue}for(l=0;l<s;l++)if(a.args[l]!==arguments[l]){a=a.next;continue e}return a!==n&&(a===i&&(i=a.prev),a.prev.next=a.next,a.next&&(a.next.prev=a.prev),a.next=n,a.prev=null,n.prev=a,n=a),a.val}for(c=new Array(s),l=0;l<s;l++)c[l]=arguments[l];return a={args:c,val:e.apply(null,c)},n?(n.prev=a,a.next=n):i=a,r===t.maxSize?(i=i.prev,i.next=null):r++,n=a,a.val}return o.clear=function(){n=null,i=null,r=0},o}var QM=Y.__commonJSMin((e=>{(function(){"use strict";var t={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function r(s){return i(a(s),arguments)}function n(s,c){return r.apply(null,[s].concat(c||[]))}function i(s,c){for(var l=1,u=s.length,d,m="",p=0,g,h,v,E,C,b,w;p<u;p++)if(typeof s[p]=="string")m+=s[p];else if(typeof s[p]=="object"){if(h=s[p],h.keys)for(d=c[l],g=0;g<h.keys.length;g++){if(d==null)throw new Error(r('[sprintf] Cannot access property "%s" of undefined value "%s"',h.keys[g],h.keys[g-1]));d=d[h.keys[g]]}else h.param_no?d=c[h.param_no]:d=c[l++];if(t.not_type.test(h.type)&&t.not_primitive.test(h.type)&&d instanceof Function&&(d=d()),t.numeric_arg.test(h.type)&&typeof d!="number"&&isNaN(d))throw new TypeError(r("[sprintf] expecting number but found %T",d));switch(t.number.test(h.type)&&(b=d>=0),h.type){case"b":d=parseInt(d,10).toString(2);break;case"c":d=String.fromCharCode(parseInt(d,10));break;case"d":case"i":d=parseInt(d,10);break;case"j":d=JSON.stringify(d,null,h.width?parseInt(h.width):0);break;case"e":d=h.precision?parseFloat(d).toExponential(h.precision):parseFloat(d).toExponential();break;case"f":d=h.precision?parseFloat(d).toFixed(h.precision):parseFloat(d);break;case"g":d=h.precision?String(Number(d.toPrecision(h.precision))):parseFloat(d);break;case"o":d=(parseInt(d,10)>>>0).toString(8);break;case"s":d=String(d),d=h.precision?d.substring(0,h.precision):d;break;case"t":d=String(!!d),d=h.precision?d.substring(0,h.precision):d;break;case"T":d=Object.prototype.toString.call(d).slice(8,-1).toLowerCase(),d=h.precision?d.substring(0,h.precision):d;break;case"u":d=parseInt(d,10)>>>0;break;case"v":d=d.valueOf(),d=h.precision?d.substring(0,h.precision):d;break;case"x":d=(parseInt(d,10)>>>0).toString(16);break;case"X":d=(parseInt(d,10)>>>0).toString(16).toUpperCase()}t.json.test(h.type)?m+=d:(t.number.test(h.type)&&(!b||h.sign)?(w=b?"+":"-",d=d.toString().replace(t.sign,"")):w="",E=h.pad_char?h.pad_char==="0"?"0":h.pad_char.charAt(1):" ",C=h.width-(w+d).length,v=h.width&&C>0?E.repeat(C):"",m+=h.align?w+d+v:E==="0"?w+v+d:v+w+d)}return m}var o=Object.create(null);function a(s){if(o[s])return o[s];for(var c=s,l,u=[],d=0;c;){if((l=t.text.exec(c))!==null)u.push(l[0]);else if((l=t.modulo.exec(c))!==null)u.push("%");else if((l=t.placeholder.exec(c))!==null){if(l[2]){d|=1;var m=[],p=l[2],g=[];if((g=t.key.exec(p))!==null)for(m.push(g[1]);(p=p.substring(g[0].length))!=="";)if((g=t.key_access.exec(p))!==null)m.push(g[1]);else if((g=t.index_access.exec(p))!==null)m.push(g[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");l[2]=m}else d|=2;if(d===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");u.push({placeholder:l[0],param_no:l[1],keys:l[2],sign:l[3],pad_char:l[4],align:l[5],width:l[6],precision:l[7],type:l[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");c=c.substring(l[0].length)}return o[s]=u}typeof e<"u"&&(e.sprintf=r,e.vsprintf=n),typeof window<"u"&&(window.sprintf=r,window.vsprintf=n,typeof define=="function"&&define.amd&&define(function(){return{sprintf:r,vsprintf:n}}))})()})),YM=Y.__toESM(QM()),XM=KM(console.error);function JM(e,...t){try{return YM.sprintf(e,...t)}catch(r){return r instanceof Error&&XM(`sprintf error:
57
+
58
+ `+r.toString()),e}}var ng={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},ZM=["(","?"],Zo={")":["("],":":["?","?:"]},eR=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;function tR(e){for(var t=[],r=[],n,i,o,a;n=e.match(eR);){for(i=n[0],o=e.substr(0,n.index).trim(),o&&t.push(o);a=r.pop();){if(Zo[i]){if(Zo[i][0]===a){i=Zo[i][1]||i;break}}else if(ZM.indexOf(a)>=0||ng[a]<ng[i]){r.push(a);break}t.push(a)}Zo[i]||r.push(i),e=e.substr(n.index+i.length)}return e=e.trim(),e&&t.push(e),t.concat(r.reverse())}var rR={"!":function(e){return!e},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<":function(e,t){return e<t},"<=":function(e,t){return e<=t},">":function(e,t){return e>t},">=":function(e,t){return e>=t},"==":function(e,t){return e===t},"!=":function(e,t){return e!==t},"&&":function(e,t){return e&&t},"||":function(e,t){return e||t},"?:":function(e,t,r){if(e)throw t;return r}};function nR(e,t){for(var r=[],n=0,i,o,a,s,c;n<e.length;n++){if(s=e[n],a=rR[s],a){for(i=a.length,o=Array(i);i--;)o[i]=r.pop();try{c=a.apply(null,o)}catch(l){return l}}else t.hasOwnProperty(s)?c=t[s]:c=+s;r.push(c)}return r[0]}function iR(e){var t=tR(e);return function(r){return nR(t,r)}}function oR(e){var t=iR(e);return function(r){return+t({n:r})}}var ig={contextDelimiter:"",onMissingKey:null};function aR(e){for(var t=e.split(";"),r=0,n;r<t.length;r++)if(n=t[r].trim(),n.indexOf("plural=")===0)return n.substr(7)}function Bl(e,t){var r;this.data=e,this.pluralForms={},this.options={};for(r in ig)this.options[r]=t!==void 0&&r in t?t[r]:ig[r]}Bl.prototype.getPluralForm=function(e,t){var r=this.pluralForms[e],n,i,o;return r||(n=this.data[e][""],o=n["Plural-Forms"]||n["plural-forms"]||n.plural_forms,typeof o!="function"&&(i=aR(n["Plural-Forms"]||n["plural-forms"]||n.plural_forms),o=oR(i)),r=this.pluralForms[e]=o),r(t)},Bl.prototype.dcnpgettext=function(e,t,r,n,i){var o,a,s;return i===void 0?o=0:o=this.getPluralForm(e,i),a=r,t&&(a=t+this.options.contextDelimiter+r),s=this.data[e][a],s&&s[o]?s[o]:(this.options.onMissingKey&&this.options.onMissingKey(r,e),o===0?r:n)};var og={"":{plural_forms(e){return e===1?0:1}}},sR=/^i18n\.(n?gettext|has_translation)(_|$)/,Ul=(e,t,r)=>{const n=new Bl({}),i=new Set,o=()=>{i.forEach(w=>w())},a=w=>(i.add(w),()=>i.delete(w)),s=(w="default")=>n.data[w],c=(w,I="default")=>{n.data[I]={...n.data[I],...w},n.data[I][""]={...og[""],...n.data[I]?.[""]},delete n.pluralForms[I]},l=(w,I)=>{c(w,I),o()},u=(w,I="default")=>{n.data[I]={...n.data[I],...w,"":{...og[""],...n.data[I]?.[""],...w?.[""]}},delete n.pluralForms[I],o()},d=(w,I)=>{n.data={},n.pluralForms={},l(w,I)},m=(w="default",I,y,T,S)=>(n.data[w]||c(void 0,w),n.dcnpgettext(w,I,y,T,S)),p=(w="default")=>w,g=(w,I)=>{let y=m(I,void 0,w);return r?(y=r.applyFilters("i18n.gettext",y,w,I),r.applyFilters("i18n.gettext_"+p(I),y,w,I)):y},h=(w,I,y)=>{let T=m(y,I,w);return r?(T=r.applyFilters("i18n.gettext_with_context",T,w,I,y),r.applyFilters("i18n.gettext_with_context_"+p(y),T,w,I,y)):T},v=(w,I,y,T)=>{let S=m(T,void 0,w,I,y);return r?(S=r.applyFilters("i18n.ngettext",S,w,I,y,T),r.applyFilters("i18n.ngettext_"+p(T),S,w,I,y,T)):S},E=(w,I,y,T,S)=>{let A=m(S,T,w,I,y);return r?(A=r.applyFilters("i18n.ngettext_with_context",A,w,I,y,T,S),r.applyFilters("i18n.ngettext_with_context_"+p(S),A,w,I,y,T,S)):A},C=()=>h("ltr","text direction")==="rtl",b=(w,I,y)=>{const T=I?I+""+w:w;let S=!!n.data?.[y??"default"]?.[T];return r&&(S=r.applyFilters("i18n.has_translation",S,w,I,y),S=r.applyFilters("i18n.has_translation_"+p(y),S,w,I,y)),S};if(e&&l(e,t),r){const w=I=>{sR.test(I)&&o()};r.addAction("hookAdded","core/i18n",w),r.addAction("hookRemoved","core/i18n",w)}return{getLocaleData:s,setLocaleData:l,addLocaleData:u,resetLocaleData:d,subscribe:a,__:g,_x:h,_n:v,_nx:E,isRTL:C,hasTranslation:b}},$l=Ul();function ag(e){return{__:e.__.bind(e),_x:e._x.bind(e),_n:e._n.bind(e),_nx:e._nx.bind(e),sprintf:JM,isRTL:e.isRTL.bind(e),hasTranslation:e.hasTranslation.bind(e)}}var sg=(0,_.createContext)(ag($l));function lR(e){const{children:t,i18n:r=$l}=e,[,n]=(0,_.useReducer)(()=>[],[]);(0,_.useEffect)(()=>r.subscribe(n),[r]);const i=(0,_.useMemo)(()=>ag(r),[r]);return(0,_.createElement)(sg.Provider,{value:i},t)}var de=()=>(0,_.useContext)(sg),ei=$l,lg=ut,cR=typeof lg?.withTypes=="function"?lg.withTypes():ut,cg=vt,c3=typeof cg?.withTypes=="function"?cg.withTypes():vt,ug=me,dg=typeof ug?.withTypes=="function"?ug.withTypes():me,ql=class extends P.Disposable{_options;_listeners=[];constructor(e){super(),this._options=e}fire=e=>{if(!this.isDisposed()){let t;const r=[...this._listeners];for(const n of r){if(t===!1)return!1;t instanceof Promise?t=t.then(i=>i===!1||this.isDisposed()?!1:n(i)).catch(i=>{}):t=n(e)}return t}};addEventListener=e=>{const t=this._listeners,r=this._options;return t.push(e),t.length===1&&this._options?.onFirstListenerAdd&&this._options.onFirstListenerAdd(),{dispose:()=>{const n=t.indexOf(e);n>=0&&(t.splice(n,1),t.length||r?.onFirstListenerAdd&&r.onLastListenerRemove())}}};event=this.addEventListener},fg;(function(e){function t(i){let o;const a=new ql({onFirstListenerAdd(){o=i(a.fire)},onLastListenerRemove(){o.dispose()}});return a.event}e.snapshot=t;function r(i,o){return t(a=>i(s=>o(s)&&a(s)))}e.filter=r;function n(i,o){return t(a=>i(s=>a(o(s))))}e.map=n})(fg||(fg={}));var mg=P.createIdentifier$1("helpers.commandEmitter");function uR(e,t,r){e instanceof P.Container||(e=P.getContainer(e)),e.getOrCreateInstance(mg,()=>new ql).fire({id:t,payload:r})}function dR(e,t){return P.getContainer(e).getOrCreateInstance(mg,()=>new ql).addEventListener}var pg=(e,t)=>{const r=dR(dg(),e);(0,_.useEffect)(()=>{const n=r(({id:i,payload:o})=>{i===e&&t(o)});return()=>n.dispose()},[r,e,t])};function u3(e){return e}var fR="SAVE",mR="SAVE_BLOCK",d3="SET_THEME",hg="NOTIFY",f3="SET_CONFIG",m3="UPDATE_CONFIG",ea=e=>ei.__(e);function pR(e){return Mp()?{title:ea("No internet connection"),description:ea("Check your network connection and try again.")}:Dp(e)?{title:ea("Server is unavailable"),description:ea("Could not reach the server. Please try again later.")}:null}var Gl=()=>ei.__("Unknown error");function hR(e){return/^[a-z][a-z0-9]*(?:[._][a-z0-9]+)+$/i.test(e.trim())}function gg(e,t){return typeof e=="string"&&e.trim()?e:typeof e=="number"||typeof e=="boolean"?String(e):t}var gR=new Set(["uninitialized","pending","fulfilled","rejected"]);function yg(e){return typeof e=="string"&&!gR.has(e)?e:void 0}function ta(...e){for(const t of e){if(typeof t=="string"&&t.trim())return t;if(typeof t=="number"||typeof t=="boolean")return String(t)}}function _g(e){const t=pR(e);if(t)return t;const r=Rp(e),n=e&&typeof e=="object"?e:{},i=ta(n.title,n.message),o=ta(n.description),a=i??ta(...r.flatMap(u=>{if(!u||typeof u!="object")return[u];const d=u,m=d.data;return[d.message,d.code,m?.code,m?.message,yg(d.status)]}))??Gl(),s=o??ta(...r.flatMap(u=>{if(!u||typeof u!="object")return typeof u=="string"?[u]:[];const d=u,m=d.data;return[d.description,typeof d.error=="string"?d.error:void 0,m?.message,m?.code,yg(d.status)]}))??a,c=gg(a,"")||Gl(),l=gg(s,"")||Gl();return hR(c)?{title:ei.__("Error"),description:l}:{title:c,description:l}}var vg="bottomRight";function yR(e){if(e.title!=null||e.message==null)return e;const{message:t,...r}=e;return{...r,title:t}}function _R({node:e}){const t=(0,_.useCallback)(r=>r?.replaceWith(e),[e]);return(0,M.jsx)("div",{ref:t})}var vR=["title","message","description","actions","icon","closeIcon"];function bR(e){let t=e;for(const r of vR){const n=t[r];n instanceof HTMLElement&&(t===e&&(t={...e}),t[r]=(0,M.jsx)(_R,{node:n}))}return t}function ER(e){return{id:e.id,code:e.html,title:e.title,subject:e.subject,preheader:e.preheader}}function bg(e){return{id:e.id,code:e.html,title:e.title}}function zt(){const e=$t(P.events.ON_NOTIFICATION),{notification:t}=B.ui_kit$App.useApp(),r=(0,_.useCallback)((l,u)=>{l.type||(l={...l,type:"info"});const d=Se({...l});return e.fire(d).then(m=>m.every(p=>p!==!1)?(l={...l,...d},l.placement===void 0&&(l.placement=vg),l=Object.assign(l,...m.filter(p=>typeof p=="object")),u||(t[l.type]?t[l.type](bR(yR(l))):l.title),l):!1)},[t,e]),n=(0,_.useCallback)((l,u)=>{const{title:d,description:m}=_g(l);return r({...l&&typeof l=="object"?l:{},title:(0,M.jsx)("div",{dangerouslySetInnerHTML:{__html:d}}),description:(0,M.jsx)("div",{dangerouslySetInnerHTML:{__html:m}}),...m===d?{description:void 0}:{},type:"error"},u)},[r]),i=(0,_.useCallback)((l="Success",u)=>r({...typeof l=="string"?{title:l}:l,type:"success"},u),[r]),o=(0,_.useCallback)((l,u)=>r({...l,type:"warning"},u),[r]),a=(0,_.useCallback)((l,u)=>r({...l,type:"info"},u),[r]),s=(0,_.useCallback)(l=>{t.destroy(l)},[t]),c=(0,_.useCallback)((l,u,d,m,p=vg)=>{if(d){const{title:g,description:h}=_g(d);n({id:l,data:u,title:g,description:h,placement:p,innerException:d?.data instanceof Error?d.data:d,error:d},m)}},[n]);return(0,_.useMemo)(()=>({notify:r,success:i,error:n,warning:o,fromError:c,info:a,destroy:s}),[r,i,n,o,c,a,s])}function wR(){const{notify:e}=zt();pg(hg,e)}function ti(){const e=Oe();return(0,_.useMemo)(()=>typeof e?.getOrCreateInstance=="function"?{commands:Ws(e),ui:qm(e)}:void 0,[e])}var SR=new Set(["aborted","cancelled"]),PR=new Set;function IR(e,t){switch(e){case"readOnly":return t("The editor is read-only.");case"unavailable":case"notInstalled":return t("This action is not available right now.");default:return t("Something went wrong, please try again")}}function TR(e,t){const r=t.args?.view;if(t.command!=="ui.openView"||typeof r!="string")return!1;const n=e.viewLocation(r);return n!==void 0&&n!=="dialog"}function zl(){const e=ti(),{__:t}=de(),r=zt(),n=(0,_.useRef)(new Set),[i,o]=(0,_.useState)(PR),a=(0,_.useCallback)(async c=>{if(!e||!c.command||n.current.has(c.key))return;const l=e.commands.info(c.command)?.owner===Vr,u=!TR(e.ui,c);u&&(n.current.add(c.key),o(new Set(n.current)));try{const d=await e.commands.run(c.command,c.args,{caller:"ui"});if("error"in d&&!SR.has(d.error.code)&&!lM(d)){const{code:m,message:p}=d.error,g=l||VO(d)?IR(m,t):p||t("Something went wrong, please try again");r.notify({type:"error",title:g})}}finally{u&&(n.current.delete(c.key),o(new Set(n.current)))}},[e,r,t]),s=(0,_.useCallback)(c=>i.has(c),[i]);return(0,_.useMemo)(()=>({run:a,isRunning:s}),[a,s])}var OR=["document.save"];function Eg(e){return OR.includes(e)}var CR=Ao.toolbar.groups.filter(e=>e!=="view"&&e!=="collaboration"),Vl=[];function wg(e,t){return Eg(e)?t("Save"):void 0}function AR(e,t){if(e)return e.owner===Vr?wg(e.id,t):e.title}function kR(e){return typeof e=="object"&&e!==null&&typeof e.watch=="function"}function jR(e,t){return t===void 0||(typeof t=="string"?t===e:t.includes(e))}function Sg(e,t){return t===void 0?e:e.filter(r=>jR(r.group,t))}function MR(e,t){return e.length===t.length&&e.every((r,n)=>{const i=t[n];return r.key===i.key&&r.group===i.group&&r.title===i.title&&r.coreTitleId===i.coreTitleId&&r.enabled===i.enabled&&r.icon===i.icon&&r.item===i.item})}function RR(e,t){return qn(r=>{const{ui:n,commands:i}=e;let o=[];const a=n.items(t).watch(s=>{o.forEach(d=>d.dispose());const c=s.map(d=>({visible:!d.item.command,enabled:!0,title:void 0}));let l=!1;const u=()=>{l&&r(s.flatMap((d,m)=>{if(!c[m].visible)return[];const{item:p}=d,g=p.command?i.info(p.command):void 0,h=g?.owner===Vr,v=c[m].title,E=h&&g&&v===void 0?g.id:void 0;return E!==void 0&&!Eg(E)?[]:[{key:`plugin:${d.seq}`,group:d.group,title:v??(h?"":g?.title)??"",coreTitleId:E,icon:p.icon??g?.icon,command:p.command,args:p.args,enabled:c[m].enabled,item:p}]}))};o=s.flatMap((d,m)=>{const p=[],{command:g,title:h}=d.item;return g&&p.push(i.visible(g).watch(v=>{c[m].visible=v,u()}),i.enabled(g).watch(v=>{c[m].enabled=v,u()})),kR(h)?p.push(h.watch(v=>{c[m].title=v,u()})):typeof h=="string"&&(c[m].title=h),p}),l=!0,u()});return{dispose:()=>{a.dispose(),o.forEach(s=>s.dispose())}}})}function ra(e,t){const r=ti(),{__:n}=de(),i=(0,_.useMemo)(()=>r&&e!==void 0?RR(r,e):void 0,[r,e]),[o,a]=(0,_.useState)(()=>i?pt(i)??Vl:Vl);(0,_.useEffect)(()=>{if(!i)return;const c=i.watch(l=>a(u=>MR(u,l)?u:l));return()=>{c.dispose(),a(Vl)}},[i]);const s=(0,_.useMemo)(()=>o.some(c=>c.coreTitleId!==void 0)?o.map(c=>c.coreTitleId===void 0?c:{...c,title:wg(c.coreTitleId,n)??""}):o,[o,n]);return(0,_.useMemo)(()=>Sg(s,t),[s,t])}function NR({item:e,runner:t,buttonType:r,size:n}){const i=(0,_.useCallback)(()=>{t.run(e)},[t,e]);return(0,M.jsx)(B.ui_kit$Button,{type:r,size:n,className:"plugin-location__button","data-plugin-command":e.command,icon:e.icon?(0,M.jsx)(xl,{icon:e.icon}):void 0,loading:t.isRunning(e.key),disabled:!e.enabled,onClick:i,children:e.title})}function DR({location:e,group:t,items:r,buttonType:n="default",size:i,wrapperClassName:o}){const a=ra(r?void 0:e,t),s=r??a,c=zl();if(s.length===0)return null;const l=s.map(u=>(0,M.jsx)(NR,{item:u,runner:c,buttonType:n,size:i},u.key));return o?(0,M.jsx)("div",{className:o,children:l}):(0,M.jsx)(M.Fragment,{children:l})}function Pg(e){return e=e.replace(/<script[^>]*>([\S\s]*?)<\/script>/gim,""),e=e.replace(/<\/?(?:script|embed|object|frameset|frame|iframe|applet|meta)[^>]*>/gi,""),e=e.replace(/ on\w+="[^"]*"/g,""),e=e.replace(/ on\w+='[^']*'/g,""),e}var ee=_.default.forwardRef(({icon:e,...t},r)=>{const n=mt(),i=(0,_.useMemo)(()=>{if(!n?.icons)return;const o={};for(const[a,s]of Object.entries(n.icons))typeof s=="string"&&(o[a]=Pg(s));return Object.keys(o).length>0?o:void 0},[n?.icons]);return(0,M.jsx)(B.ui_kit$EmIcons,{ref:r,icon:e,configIcons:i,strokeWidth:n?.iconStrokeWidth,...t})});ee.displayName="EmIcons";var LR=[];function Hl(e,t){return e.filter(r=>r.group===t).map(({group:r,...n})=>n)}function Ig(e,t){return t.flatMap(r=>Hl(e,r))}function Wl(e,t){const r=ra(e,t),n=zl();return(0,_.useMemo)(()=>r.length===0?LR:r.map(i=>({key:i.key,group:i.group,label:i.title,icon:n.isRunning(i.key)?(0,M.jsx)(B.ui_kit$Spin,{size:"small"}):(0,M.jsx)(xl,{icon:i.icon}),disabled:!i.enabled,onClick:()=>{n.run(i)}})),[r,n])}var FR={pointAtCenter:!0};function xR({location:e,items:t,className:r}){const{__:n}=de(),i=mt(),o=Wl(t?void 0:e),a=t??o,s=(0,_.useMemo)(()=>({items:Ig(a,Ao[e].groups)}),[a,e]);return s.items.length===0?null:(0,M.jsx)(B.ui_kit$Dropdown,{arrow:FR,placement:"bottom",menu:s,children:e==="menu:export"?(0,M.jsx)(B.ui_kit$Button,{className:"plugin-location__export",type:"default",icon:(0,M.jsx)(ee,{icon:"CloudDownloadOutlined",component:B.icons$CloudDownloadOutlined,size:16,strokeWidth:i.iconStrokeWidth}),children:n("Export")}):(0,M.jsx)(B.ui_kit$Button,{type:"default",block:!1,"aria-label":n("Actions"),className:r??"email-page-header__btn email-page-header__btn_extra",children:(0,M.jsx)(ee,{icon:"DotsHoriz",component:B.icons$DotsHoriz,size:18,strokeWidth:i.iconStrokeWidth})})})}function BR({item:e,runner:t,commandTitle:r}){const n=(0,_.useCallback)(()=>{t.run(e)},[t,e]),i=e.command&&r?(0,M.jsx)(B.ui_kit$Button,{size:"small",type:"link",loading:t.isRunning(e.key),disabled:!e.enabled,onClick:n,children:r}):void 0;return(0,M.jsx)(B.ui_kit$Alert,{type:e.item.severity??"info",title:e.title,className:"email-pane__col__alert plugin-location__notice",action:i})}var Kl=[];function UR(e){const[t,r]=(0,_.useState)(()=>e?pt(e.ui.allViews)??Kl:Kl);return(0,_.useEffect)(()=>{if(!e)return;const n=e.ui.allViews.watch(i=>r(i));return()=>{n.dispose(),r(Kl)}},[e]),t}function $R(e,t,r,n,i){if(!(!e||!r.command)){if(r.command==="ui.openView"){const o=r.args?.view;return t.find(a=>a.id===o)?.declaration.title||i("Open","action")}return r.command==="ui.closeView"?n("Close"):AR(e.commands.info(r.command),n)}}function qR(){const e=ti(),{__:t,_x:r}=de(),n=ra("notices"),i=zl(),o=UR(e);return(0,M.jsx)(M.Fragment,{children:n.map(a=>(0,M.jsx)(BR,{item:a,runner:i,commandTitle:$R(e,o,a,t,r)},a.key))})}function GR({items:e}){const{__:t}=de(),r=Wl(e?void 0:"menu:save"),n=e??r,i=(0,_.useMemo)(()=>({items:Hl(n,"plugins")}),[n]);return n.length===0?null:(0,M.jsx)(B.ui_kit$Dropdown,{arrow:!0,placement:"bottomRight",menu:i,children:(0,M.jsx)(B.ui_kit$Button,{className:"plugin-location__save-more","aria-label":t("More save options"),icon:(0,M.jsx)(ee,{icon:"DownOutlined",component:B.icons$DownOutlined,size:14})})})}var Tg=Symbol.for("emailmaker.viewHostContext");function zR(){const e=globalThis;return e[Tg]??=(0,_.createContext)(void 0),e[Tg]}function Og(e,t){try{return t()}catch{return}}function VR(){const{__:e}=de();return(0,M.jsx)("div",{className:"plugin-location__view-failed",children:e("Oops! Something went wrong")})}function HR({opened:e,view:t}){const r=(0,_.useRef)(null);return(0,_.useEffect)(()=>{const n=r.current;if(!n)return;const i=document.createElement("div");i.style.height="100%",n.appendChild(i);const o=Og(`"${e.view}" render`,()=>t[jm](i,e.context));return()=>{typeof o=="function"&&Og(`"${e.view}" dispose`,o),i.remove()}},[e,t]),(0,M.jsx)("div",{ref:r,className:"plugin-location__view","data-plugin-view":e.view})}var Cg=(0,_.memo)(function({opened:t}){const r=t.renderer;if(Mm(r))return(0,M.jsx)(HR,{opened:t,view:r});const n=r,i=zR(),o=t.context[xm];return(0,M.jsx)("div",{className:"plugin-location__view","data-plugin-view":t.view,children:(0,M.jsx)(tg,{what:`view "${t.view}"`,fallback:(0,M.jsx)(VR,{}),children:(0,M.jsx)(i.Provider,{value:o,children:(0,M.jsx)(n,{context:t.context})})},t.key)})}),Ag=xT,Ql=[],Yl=[],kg=new WeakMap,jg=new WeakMap,Xr=e=>`${Ag}${e}`;function Mg(e,t){return e.length===t.length&&e.every((r,n)=>r===t[n])?e:t}function Rg(e,t){const r=e.filter(n=>n.location===t);return r.length===0?Yl:r}function WR(e,{appearance:t}){const r=ti(),[n,i]=(0,_.useState)(()=>r?pt(r.ui.views(e))??Ql:Ql),[o,a]=(0,_.useState)(()=>{const v=r?pt(r.ui.opened):void 0;return v?Rg(v,e):Yl}),[s,c]=(0,_.useState)(()=>r?pt(r.ui.opened)!==void 0:!1),[l,u]=(0,_.useState)(void 0),d=l&&l.owner===r&&l.location===e?l:void 0;(0,_.useEffect)(()=>{if(!r)return;const v=kg.get(r.ui)??new Map;kg.set(r.ui,v);let E=v.get(e)??0;const C=r.ui.views(e).watch(w=>i(I=>Mg(I,w))),b=r.ui.opened.watch(w=>{const I=Rg(w,e);a(T=>Mg(T,I)),c(!0);const y=I.reduce((T,S)=>!T||S.key>T.key?S:T,void 0);y&&y.key>E&&(E=y.key,v.set(e,Math.max(v.get(e)??0,y.key)),u({key:Xr(y.view),stamp:y.key,owner:r,location:e}))});return()=>{C.dispose(),b.dispose(),i(Ql),a(Yl),c(!1)}},[r,e]);const m=(0,_.useMemo)(()=>n.filter(v=>o.some(E=>E.view===v.id)||km(v.declaration.input,void 0,"input")===void 0),[n,o]),p=(0,_.useCallback)(v=>m.filter(E=>v===void 0||(typeof v=="string"?v===E.group:v.includes(E.group))).map(E=>{const{title:C}=E.declaration,b=o.find(I=>I.view===E.id),w=b?(0,M.jsx)(Cg,{opened:b}):null;return{key:Xr(E.id),label:t==="icon"?(0,M.jsx)(B.ui_kit$Tooltip,{placement:"left",title:C,children:(0,M.jsx)(xl,{icon:E.declaration.icon})}):(0,M.jsx)(M.Fragment,{children:C}),children:t==="icon"?(0,M.jsx)("div",{className:"email-pane__collapse-wrapper",children:w}):w,className:"plugin-location__tab",style:t==="icon"?{height:"var(--em-pane-block-height)",overflow:"hidden"}:void 0}}),[m,o,t]),g=(0,_.useCallback)(v=>{const E=m.find(C=>Xr(C.id)===v);r&&E&&!(pt(r.ui.opened)??[]).some(C=>C.view===E.id)&&r.ui.open(E.id,void 0)},[r,m]),h=(0,_.useCallback)(()=>{if(!r)return;const v=(pt(r.ui.opened)??[]).filter(C=>C.location===e).reduce((C,b)=>!C||b.key>C.key?b:C,void 0),E=jg.get(r.ui)??new Map;if(jg.set(r.ui,E),!(!v||v.key<=(E.get(e)??0)))return E.set(e,v.key),Xr(v.view)},[r,e]);return(0,_.useMemo)(()=>({claimNewest:h,tabs:p,keys:m.map(v=>Xr(v.id)),openedKeys:o.map(v=>Xr(v.view)),openedKnown:s,lastOpenedKey:d?.key,lastOpenedStamp:d?.stamp,isPluginKey:v=>v.startsWith(Ag),activate:g}),[h,p,m,o,s,d,g])}var KR=class extends Error{issues;constructor(e){super(e[0].message),this.name="SchemaError",this.issues=e}},Ng=(e=>(e.uninitialized="uninitialized",e.pending="pending",e.fulfilled="fulfilled",e.rejected="rejected",e))(Ng||{}),Vt="uninitialized",Xl="pending",ri="fulfilled",ni="rejected";function Dg(e){return{status:e,isUninitialized:e===Vt,isLoading:e===Xl,isSuccess:e===ri,isError:e===ni}}var Lg=tr;function Jl(e,t){if(e===t||!(Lg(e)&&Lg(t)||Array.isArray(e)&&Array.isArray(t)))return t;const r=Object.keys(t),n=Object.keys(e);let i=r.length===n.length;const o=Array.isArray(t)?[]:{};for(const a of r)o[a]=Jl(e[a],t[a]),i&&(i=e[a]===o[a]);return i?e:o}function Zl(e,t,r){return e.reduce((n,i,o)=>(t(i,o)&&n.push(r(i,o)),n),[]).flat()}function QR(e){return new RegExp("(^|:)//").test(e)}function YR(){return typeof document>"u"?!0:document.visibilityState!=="hidden"}function ec(e){return e!=null}function Fg(e){return[...e?.values()??[]].filter(ec)}function XR(){return typeof navigator>"u"||navigator.onLine===void 0?!0:navigator.onLine}var JR=e=>e.replace(/\/$/,""),ZR=e=>e.replace(/^\//,"");function eN(e,t){if(!e)return t;if(!t)return e;if(QR(t))return t;const r=e.endsWith("/")||!t.startsWith("?")?"/":"";return e=JR(e),t=ZR(t),`${e}${r}${t}`}function na(e,t,r){return e.has(t)?e.get(t):e.set(t,r(t)).get(t)}var tc=()=>new Map,tN=e=>{const t=new AbortController;return setTimeout(()=>{const r="signal timed out",n="TimeoutError";t.abort(typeof DOMException<"u"?new DOMException(r,n):Object.assign(new Error(r),{name:n}))},e),t.signal},rN=(...e)=>{for(const r of e)if(r.aborted)return AbortSignal.abort(r.reason);const t=new AbortController;for(const r of e)r.addEventListener("abort",()=>t.abort(r.reason),{signal:t.signal,once:!0});return t.signal},xg=(...e)=>fetch(...e),nN=e=>e.status>=200&&e.status<=299,iN=e=>/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"");function Bg(e){if(!tr(e))return e;const t={...e};for(const[r,n]of Object.entries(t))n===void 0&&delete t[r];return t}var oN=e=>typeof e=="object"&&(tr(e)||Array.isArray(e)||typeof e.toJSON=="function");function rc({baseUrl:e,prepareHeaders:t=d=>d,fetchFn:r=xg,paramsSerializer:n,isJsonContentType:i=iN,jsonContentType:o="application/json",jsonReplacer:a,timeout:s,responseHandler:c,validateStatus:l,...u}={}){return async(m,p,g)=>{const{getState:h,extra:v,endpoint:E,forced:C,type:b}=p;let w,{url:I,headers:y=new Headers(u.headers),params:T=void 0,responseHandler:S=c??"json",validateStatus:A=l??nN,timeout:j=s,...O}=typeof m=="string"?{url:m}:m,R={...u,signal:j?rN(p.signal,tN(j)):p.signal,...O};y=new Headers(Bg(y)),R.headers=await t(y,{getState:h,arg:m,extra:v,endpoint:E,forced:C,type:b,extraOptions:g})||y;const D=oN(R.body);if(R.body!=null&&!D&&typeof R.body!="string"&&R.headers.delete("content-type"),!R.headers.has("content-type")&&D&&R.headers.set("content-type",o),D&&i(R.headers)&&(R.body=JSON.stringify(R.body,a)),R.headers.has("accept")||(S==="json"?R.headers.set("accept","application/json"):S==="text"&&R.headers.set("accept","text/plain, text/html, */*")),T){const z=~I.indexOf("?")?"&":"?",Z=n?n(T):new URLSearchParams(Bg(T));I+=z+Z}I=eN(e,I);const N=new Request(I,R);w={request:new Request(I,R)};let x;try{x=await r(N)}catch(z){return{error:{status:(z instanceof Error||typeof DOMException<"u"&&z instanceof DOMException)&&z.name==="TimeoutError"?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(z)},meta:w}}const L=x.clone();w.response=L;let q,U="";try{let z;if(await Promise.all([d(x,S).then(Z=>q=Z,Z=>z=Z),L.text().then(Z=>U=Z,()=>{})]),z)throw z}catch(z){return{error:{status:"PARSING_ERROR",originalStatus:x.status,data:U,error:String(z)},meta:w}}return A(x,q)?{data:q,meta:w}:{error:{status:x.status,data:q},meta:w}};async function d(m,p){if(typeof p=="function")return p(m);if(p==="content-type"&&(p=i(m.headers)?"json":"text"),p==="json"){const g=await m.text();return g.length?JSON.parse(g):null}return m.text()}}var Ug=class{constructor(e,t=void 0){this.value=e,this.meta=t}value;meta},ia="__rtkq/",$g="online",qg="offline",aN="focus",Gg="focused",sN="visibilitychange",ii=Ve(`${ia}${Gg}`),oa=Ve(`${ia}un${Gg}`),oi=Ve(`${ia}${$g}`),aa=Ve(`${ia}${qg}`),lN={onFocus:ii,onFocusLost:oa,onOnline:oi,onOffline:aa},sa=!1;function cN(e,t){function r(){const[n,i,o,a]=[ii,oa,oi,aa].map(l=>()=>e(l())),s=()=>{window.document.visibilityState==="visible"?n():i()};let c=()=>{sa=!1};if(!sa&&typeof window<"u"&&window.addEventListener){let l=function(d){Object.entries(u).forEach(([m,p])=>{d?window.addEventListener(m,p,!1):window.removeEventListener(m,p)})};const u={[aN]:n,[sN]:s,[$g]:o,[qg]:a};l(!0),sa=!0,c=()=>{l(!1),sa=!1}}return c}return t?t(e,lN):r()}var ai="query",zg="mutation",Vg="infinitequery";function la(e){return e.type===ai}function uN(e){return e.type===zg}function ca(e){return e.type===Vg}function ua(e){return la(e)||ca(e)}function nc(e,t,r,n,i,o){const a=dN(e)?e(t,r,n,i):e;return a?Zl(a,ec,s=>o(Hg(s))):[]}function dN(e){return typeof e=="function"}function Hg(e){return typeof e=="string"?{type:e}:e}function fN(e,t){return e.catch(t)}var Jr=(e,t)=>e.endpointDefinitions[t],si=Symbol("forceQueryFn"),ic=e=>typeof e[si]=="function";function mN({serializeQueryArgs:e,queryThunk:t,infiniteQueryThunk:r,mutationThunk:n,api:i,context:o,getInternalState:a}){const s=w=>a(w)?.runningQueries,c=w=>a(w)?.runningMutations,{unsubscribeQueryResult:l,removeMutationResult:u,updateSubscriptionOptions:d}=i.internalActions;return{buildInitiateQuery:E,buildInitiateInfiniteQuery:C,buildInitiateMutation:b,getRunningQueryThunk:m,getRunningMutationThunk:p,getRunningQueriesThunk:g,getRunningMutationsThunk:h};function m(w,I){return y=>{const T=e({queryArgs:I,endpointDefinition:Jr(o,w),endpointName:w});return s(y)?.get(T)}}function p(w,I){return y=>c(y)?.get(I)}function g(){return w=>Fg(s(w))}function h(){return w=>Fg(c(w))}function v(w,I){const y=(T,{subscribe:S=!0,forceRefetch:A,subscriptionOptions:j,[si]:O,...R}={})=>(D,N)=>{const x=e({queryArgs:T,endpointDefinition:I,endpointName:w});let L;const q={...R,type:ai,subscribe:S,forceRefetch:A,subscriptionOptions:j,endpointName:w,originalArgs:T,queryCacheKey:x,[si]:O};if(la(I))L=t(q);else{const{direction:G,initialPageParam:Q,refetchCachedPages:X}=R;L=r({...q,direction:G,initialPageParam:Q,refetchCachedPages:X})}const U=i.endpoints[w].select(T),z=D(L),Z=U(N()),{requestId:re,abort:se}=z,ue=Z.requestId!==re,k=s(D)?.get(x),F=()=>U(N()),$=Object.assign(O?z.then(F):ue&&!k?Promise.resolve(Z):Promise.all([k,z]).then(F),{arg:T,requestId:re,subscriptionOptions:j,queryCacheKey:x,abort:se,async unwrap(){const G=await $;if(G.isError)throw G.error;return G.data},refetch:G=>D(y(T,{subscribe:!1,forceRefetch:!0,...G})),unsubscribe(){S&&D(l({queryCacheKey:x,requestId:re}))},updateSubscriptionOptions(G){$.subscriptionOptions=G,D(d({endpointName:w,requestId:re,queryCacheKey:x,options:G}))}});if(!k&&!ue&&!O){const G=s(D);G.set(x,$),$.then(()=>{G.delete(x)})}return $};return y}function E(w,I){return v(w,I)}function C(w,I){return v(w,I)}function b(w){return(I,{track:y=!0,fixedCacheKey:T}={})=>(S,A)=>{const j=S(n({type:"mutation",endpointName:w,originalArgs:I,track:y,fixedCacheKey:T})),{requestId:O,abort:R,unwrap:D}=j,N=fN(j.unwrap().then(U=>({data:U})),U=>({error:U})),x=()=>{S(u({requestId:O,fixedCacheKey:T}))},L=Object.assign(N,{arg:j.arg,requestId:O,abort:R,unwrap:D,reset:x}),q=c(S);return q.set(O,L),L.then(()=>{q.delete(O)}),T&&(q.set(T,L),L.then(()=>{q.get(T)===L&&q.delete(T)})),L}}}var Wg=class extends KR{constructor(e,t,r,n){super(e),this.value=t,this.schemaName=r,this._bqMeta=n}value;schemaName;_bqMeta},Cr=(e,t)=>Array.isArray(e)?e.includes(t):!!e;async function Ar(e,t,r,n){const i=await e["~standard"].validate(t);if(i.issues)throw new Wg(i.issues,t,r,n);return i.value}function Kg(e){return e}var li=(e={})=>({...e,[go]:!0});function pN({reducerPath:e,baseQuery:t,context:{endpointDefinitions:r},serializeQueryArgs:n,api:i,assertTagType:o,selectors:a,onSchemaFailure:s,catchSchemaFailure:c,skipSchemaValidation:l}){const u=(O,R,D,N)=>(x,L)=>{const q=r[O],U=n({queryArgs:R,endpointDefinition:q,endpointName:O});if(x(i.internalActions.queryResultPatched({queryCacheKey:U,patches:D})),!N)return;const z=i.endpoints[O].select(R)(L()),Z=nc(q.providesTags,z.data,void 0,R,{},o);x(i.internalActions.updateProvidedBy([{queryCacheKey:U,providedTags:Z}]))};function d(O,R,D=0){const N=[R,...O];return D&&N.length>D?N.slice(0,-1):N}function m(O,R,D=0){const N=[...O,R];return D&&N.length>D?N.slice(1):N}const p=(O,R,D,N=!0)=>(x,L)=>{const q=i.endpoints[O].select(R)(L()),U={patches:[],inversePatches:[],undo:()=>x(i.util.patchQueryData(O,R,U.inversePatches,N))};if(q.status===Vt)return U;let z;if("data"in q)if(ze(q.data)){const[Z,re,se]=kf(q.data,D);U.patches.push(...re),U.inversePatches.push(...se),z=Z}else z=D(q.data),U.patches.push({op:"replace",path:[],value:z}),U.inversePatches.push({op:"replace",path:[],value:q.data});return U.patches.length===0||x(i.util.patchQueryData(O,R,U.patches,N)),U},g=(O,R,D)=>N=>N(i.endpoints[O].initiate(R,{subscribe:!1,forceRefetch:!0,[si]:()=>({data:D})})),h=(O,R)=>O.query&&O[R]?O[R]:Kg,v=async(O,{signal:R,abort:D,rejectWithValue:N,fulfillWithValue:x,dispatch:L,getState:q,extra:U})=>{const z=r[O.endpointName],{metaSchema:Z,skipSchemaValidation:re=l}=z,se=O.type===ai;try{let ue=Kg;const k={signal:R,abort:D,dispatch:L,getState:q,extra:U,endpoint:O.endpointName,type:O.type,forced:se?E(O,q()):void 0,queryCacheKey:se?O.queryCacheKey:void 0},F=se?O[si]:void 0;let $;const G=async(X,H,te,ce)=>{if(H==null&&X.pages.length)return Promise.resolve({data:X});const qe=await Q({queryArg:O.originalArgs,pageParam:H}),Xe=ce?d:m;return{data:{pages:Xe(X.pages,qe.data,te),pageParams:Xe(X.pageParams,H,te)},meta:qe.meta}};async function Q(X){let H;const{extraOptions:te,argSchema:ce,rawResponseSchema:qe,responseSchema:Xe}=z;if(ce&&!Cr(re,"arg")&&(X=await Ar(ce,X,"argSchema",{})),F?H=F():z.query?(ue=h(z,"transformResponse"),H=await t(z.query(X),k,te)):H=await z.queryFn(X,k,te,ss=>t(ss,k,te)),H.error)throw new Ug(H.error,H.meta);let{data:Xt}=H;qe&&!Cr(re,"rawResponse")&&(Xt=await Ar(qe,H.data,"rawResponseSchema",H.meta));let Me=await ue(Xt,H.meta,X);return Xe&&!Cr(re,"response")&&(Me=await Ar(Xe,Me,"responseSchema",H.meta)),{...H,data:Me}}if(se&&"infiniteQueryOptions"in z){const{infiniteQueryOptions:X}=z,{maxPages:H=1/0}=X,te=O.refetchCachedPages??X.refetchCachedPages??!0;let ce;const qe={pages:[],pageParams:[]},Xe=a.selectQueryEntry(q(),O.queryCacheKey)?.data,Xt=E(O,q())&&!O.direction||!Xe?qe:Xe;if("direction"in O&&O.direction&&Xt.pages.length){const Me=O.direction==="backward";ce=await G(Xt,(Me?Qg:oc)(X,Xt,O.originalArgs),H,Me)}else{const{initialPageParam:Me=X.initialPageParam}=O,ss=Xe?.pageParams??[],DK=ss[0]??Me,LK=ss.length;if(ce=await G(Xt,DK,H),F&&(ce={data:ce.data.pages[0]}),te)for(let P0=1;P0<LK;P0++){const FK=oc(X,ce.data,O.originalArgs);ce=await G(ce.data,FK,H)}}$=ce}else $=await Q(O.originalArgs);return Z&&!Cr(re,"meta")&&$.meta&&($.meta=await Ar(Z,$.meta,"metaSchema",$.meta)),x($.data,li({fulfilledTimeStamp:Date.now(),baseQueryMeta:$.meta}))}catch(ue){let k=ue;if(k instanceof Ug){let F=h(z,"transformErrorResponse");const{rawErrorResponseSchema:$,errorResponseSchema:G}=z;let{value:Q,meta:X}=k;try{$&&!Cr(re,"rawErrorResponse")&&(Q=await Ar($,Q,"rawErrorResponseSchema",X)),Z&&!Cr(re,"meta")&&(X=await Ar(Z,X,"metaSchema",X));let H=await F(Q,X,O.originalArgs);return G&&!Cr(re,"errorResponse")&&(H=await Ar(G,H,"errorResponseSchema",X)),N(H,li({baseQueryMeta:X}))}catch(H){k=H}}try{if(k instanceof Wg){const F={endpoint:O.endpointName,arg:O.originalArgs,type:O.type,queryCacheKey:se?O.queryCacheKey:void 0};z.onSchemaFailure?.(k,F),s?.(k,F);const{catchSchemaFailure:$=c}=z;if($)return N($(k,F),li({baseQueryMeta:k._bqMeta}))}}catch(F){k=F}throw k}};function E(O,R){const D=a.selectQueryEntry(R,O.queryCacheKey),N=a.selectConfig(R).refetchOnMountOrArgChange,x=D?.fulfilledTimeStamp,L=O.forceRefetch??(O.subscribe&&N);return L?L===!0||(Number(new Date)-Number(x))/1e3>=L:!1}const C=()=>xs(`${e}/executeQuery`,v,{getPendingMeta({arg:O}){const R=r[O.endpointName];return li({startedTimeStamp:Date.now(),...ca(R)?{direction:O.direction}:{}})},condition(O,{getState:R}){const D=R(),N=a.selectQueryEntry(D,O.queryCacheKey),x=N?.fulfilledTimeStamp,L=O.originalArgs,q=N?.originalArgs,U=r[O.endpointName],z=O.direction;return ic(O)?!0:N?.status==="pending"?!1:E(O,D)||la(U)&&U?.forceRefetch?.({currentArg:L,previousArg:q,endpointState:N,state:D})?!0:!(x&&!z)},dispatchConditionRejection:!0}),b=C(),w=C(),I=xs(`${e}/executeMutation`,v,{getPendingMeta(){return li({startedTimeStamp:Date.now()})}}),y=O=>"force"in O,T=O=>"ifOlderThan"in O,S=(O,R,D={})=>(N,x)=>{const L=y(D)&&D.force,q=T(D)&&D.ifOlderThan,U=(Z=!0)=>{const re={forceRefetch:Z,subscribe:!1};return i.endpoints[O].initiate(R,re)},z=i.endpoints[O].select(R)(x());if(L)N(U());else if(q){const Z=z?.fulfilledTimeStamp;if(!Z){N(U());return}(Number(new Date)-Number(new Date(Z)))/1e3>=q&&N(U())}else N(U(!1))};function A(O){return R=>R?.meta?.arg?.endpointName===O}function j(O,R){return{matchPending:Fn(Ns(O),A(R)),matchFulfilled:Fn(rr(O),A(R)),matchRejected:Fn($r(O),A(R))}}return{queryThunk:b,mutationThunk:I,infiniteQueryThunk:w,prefetch:S,updateQueryData:p,upsertQueryData:g,patchQueryData:u,buildMatchThunkActions:j}}function oc(e,{pages:t,pageParams:r},n){const i=t.length-1;return e.getNextPageParam(t[i],t,r[i],r,n)}function Qg(e,{pages:t,pageParams:r},n){return e.getPreviousPageParam?.(t[0],t,r[0],r,n)}function Yg(e,t,r,n){return nc(r[e.meta.arg.endpointName][t],rr(e)?e.payload:void 0,_o(e)?e.payload:void 0,e.meta.arg.originalArgs,"baseQueryMeta"in e.meta?e.meta.baseQueryMeta:void 0,n)}function Xg(e){return Ze(e)?Cf(e):e}function da(e,t,r){const n=e[t];n&&r(n)}function ci(e){return("arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)??e.requestId}function Jg(e,t,r){const n=e[ci(t)];n&&r(n)}var fa={};function hN({reducerPath:e,queryThunk:t,mutationThunk:r,serializeQueryArgs:n,context:{endpointDefinitions:i,apiUid:o,extractRehydrationInfo:a,hasRehydrationInfo:s},assertTagType:c,config:l}){const u=Ve(`${e}/resetApiState`);function d(T,S,A,j){T[S.queryCacheKey]??={status:Vt,endpointName:S.endpointName},da(T,S.queryCacheKey,O=>{O.status=Xl,O.requestId=A&&O.requestId?O.requestId:j.requestId,S.originalArgs!==void 0&&(O.originalArgs=S.originalArgs),O.startedTimeStamp=j.startedTimeStamp;const R=i[j.arg.endpointName];ca(R)&&"direction"in S&&(O.direction=S.direction)})}function m(T,S,A,j){da(T,S.arg.queryCacheKey,O=>{if(O.requestId!==S.requestId&&!j)return;const{merge:R}=i[S.arg.endpointName];if(O.status=ri,R)if(O.data!==void 0){const{fulfilledTimeStamp:D,arg:N,baseQueryMeta:x,requestId:L}=S;O.data=Dn(O.data,q=>R(q,A,{arg:N.originalArgs,baseQueryMeta:x,fulfilledTimeStamp:D,requestId:L}))}else O.data=A;else O.data=i[S.arg.endpointName].structuralSharing??!0?Jl(Ze(O.data)?$P(O.data):O.data,A):A;delete O.error,O.fulfilledTimeStamp=S.fulfilledTimeStamp})}const p=Le({name:`${e}/queries`,initialState:fa,reducers:{removeQueryResult:{reducer(T,{payload:{queryCacheKey:S}}){delete T[S]},prepare:Ln()},cacheEntriesUpserted:{reducer(T,S){for(const A of S.payload){const{queryDescription:j,value:O}=A;d(T,j,!0,{arg:j,requestId:S.meta.requestId,startedTimeStamp:S.meta.timestamp}),m(T,{arg:j,requestId:S.meta.requestId,fulfilledTimeStamp:S.meta.timestamp,baseQueryMeta:{}},O,!0)}},prepare:T=>({payload:T.map(S=>{const{endpointName:A,arg:j,value:O}=S,R=i[A];return{queryDescription:{type:ai,endpointName:A,originalArgs:S.arg,queryCacheKey:n({queryArgs:j,endpointDefinition:R,endpointName:A})},value:O}}),meta:{[go]:!0,requestId:Ls(),timestamp:Date.now()}})},queryResultPatched:{reducer(T,{payload:{queryCacheKey:S,patches:A}}){da(T,S,j=>{j.data=jf(j.data,A.concat())})},prepare:Ln()}},extraReducers(T){T.addCase(t.pending,(S,{meta:A,meta:{arg:j}})=>{d(S,j,ic(j),A)}).addCase(t.fulfilled,(S,{meta:A,payload:j})=>{m(S,A,j,ic(A.arg))}).addCase(t.rejected,(S,{meta:{condition:A,arg:j,requestId:O},error:R,payload:D})=>{da(S,j.queryCacheKey,N=>{if(!A){if(N.requestId!==O)return;N.status=ni,N.error=D??R}})}).addMatcher(s,(S,A)=>{const{queries:j}=a(A);for(const[O,R]of Object.entries(j))(R?.status===ri||R?.status===ni)&&(S[O]=R)})}}),g=Le({name:`${e}/mutations`,initialState:fa,reducers:{removeMutationResult:{reducer(T,{payload:S}){const A=ci(S);A in T&&delete T[A]},prepare:Ln()}},extraReducers(T){T.addCase(r.pending,(S,{meta:A,meta:{requestId:j,arg:O,startedTimeStamp:R}})=>{O.track&&(S[ci(A)]={requestId:j,status:Xl,endpointName:O.endpointName,startedTimeStamp:R})}).addCase(r.fulfilled,(S,{payload:A,meta:j})=>{j.arg.track&&Jg(S,j,O=>{O.requestId===j.requestId&&(O.status=ri,O.data=A,O.fulfilledTimeStamp=j.fulfilledTimeStamp)})}).addCase(r.rejected,(S,{payload:A,error:j,meta:O})=>{O.arg.track&&Jg(S,O,R=>{R.requestId===O.requestId&&(R.status=ni,R.error=A??j)})}).addMatcher(s,(S,A)=>{const{mutations:j}=a(A);for(const[O,R]of Object.entries(j))(R?.status===ri||R?.status===ni)&&O!==R?.requestId&&(S[O]=R)})}}),h=Le({name:`${e}/invalidation`,initialState:{tags:{},keys:{}},reducers:{updateProvidedBy:{reducer(T,S){for(const{queryCacheKey:A,providedTags:j}of S.payload){v(T,A);for(const{type:O,id:R}of j){const D=(T.tags[O]??={})[R||"__internal_without_id"]??=[];D.includes(A)||D.push(A)}T.keys[A]=j}},prepare:Ln()}},extraReducers(T){T.addCase(p.actions.removeQueryResult,(S,{payload:{queryCacheKey:A}})=>{v(S,A)}).addMatcher(s,(S,A)=>{const{provided:j}=a(A);for(const[O,R]of Object.entries(j.tags??{}))for(const[D,N]of Object.entries(R)){const x=(S.tags[O]??={})[D||"__internal_without_id"]??=[];for(const L of N)x.includes(L)||x.push(L),S.keys[L]=j.keys[L]}}).addMatcher(Ut(rr(t),_o(t)),(S,A)=>{E(S,[A])}).addMatcher(p.actions.cacheEntriesUpserted.match,(S,A)=>{E(S,A.payload.map(({queryDescription:j,value:O})=>({type:"UNKNOWN",payload:O,meta:{requestStatus:"fulfilled",requestId:"UNKNOWN",arg:j}})))})}});function v(T,S){const A=Xg(T.keys[S]??[]);for(const j of A){const O=j.type,R=j.id??"__internal_without_id",D=T.tags[O]?.[R];D&&(T.tags[O][R]=Xg(D).filter(N=>N!==S))}delete T.keys[S]}function E(T,S){const A=S.map(j=>{const O=Yg(j,"providesTags",i,c),{queryCacheKey:R}=j.meta.arg;return{queryCacheKey:R,providedTags:O}});h.caseReducers.updateProvidedBy(T,h.actions.updateProvidedBy(A))}const C=Le({name:`${e}/subscriptions`,initialState:fa,reducers:{updateSubscriptionOptions(T,S){},unsubscribeQueryResult(T,S){},internal_getRTKQSubscriptions(){}}}),b=Le({name:`${e}/internalSubscriptions`,initialState:fa,reducers:{subscriptionsUpdated:{reducer(T,S){return jf(T,S.payload)},prepare:Ln()}}}),w=Le({name:`${e}/config`,initialState:{online:XR(),focused:YR(),middlewareRegistered:!1,...l},reducers:{middlewareRegistered(T,{payload:S}){T.middlewareRegistered=T.middlewareRegistered==="conflict"||o!==S?"conflict":!0}},extraReducers:T=>{T.addCase(oi,S=>{S.online=!0}).addCase(aa,S=>{S.online=!1}).addCase(ii,S=>{S.focused=!0}).addCase(oa,S=>{S.focused=!1}).addMatcher(s,S=>({...S}))}}),I=Es({queries:p.reducer,mutations:g.reducer,provided:h.reducer,subscriptions:b.reducer,config:w.reducer});return{reducer:(T,S)=>I(u.match(S)?void 0:T,S),actions:{...w.actions,...p.actions,...C.actions,...b.actions,...g.actions,...h.actions,resetApiState:u}}}var Et=Symbol.for("RTKQ/skipToken"),Zg={status:Vt},ey=Dn(Zg,()=>{}),ty=Dn(Zg,()=>{});function gN({serializeQueryArgs:e,reducerPath:t,createSelector:r}){const n=b=>ey,i=b=>ty;return{buildQuerySelector:m,buildInfiniteQuerySelector:p,buildMutationSelector:g,selectInvalidatedBy:h,selectCachedArgsForQuery:v,selectApiState:a,selectQueries:s,selectMutations:l,selectQueryEntry:c,selectConfig:u};function o(b){return{...b,...Dg(b.status)}}function a(b){return b[t]}function s(b){return a(b)?.queries}function c(b,w){return s(b)?.[w]}function l(b){return a(b)?.mutations}function u(b){return a(b)?.config}function d(b,w,I){return y=>{if(y===Et)return r(n,I);const T=e({queryArgs:y,endpointDefinition:w,endpointName:b});return r(A=>c(A,T)??ey,I)}}function m(b,w){return d(b,w,o)}function p(b,w){const{infiniteQueryOptions:I}=w;function y(T){const S={...T,...Dg(T.status)},{isLoading:A,isError:j,direction:O}=S,R=O==="forward",D=O==="backward";return{...S,hasNextPage:E(I,S.data,S.originalArgs),hasPreviousPage:C(I,S.data,S.originalArgs),isFetchingNextPage:A&&R,isFetchingPreviousPage:A&&D,isFetchNextPageError:j&&R,isFetchPreviousPageError:j&&D}}return d(b,w,y)}function g(){return(b=>{let w;return typeof b=="object"?w=ci(b)??Et:w=b,r(w===Et?i:y=>a(y)?.mutations?.[w]??ty,o)})}function h(b,w){const I=b[t],y=new Set,T=Zl(w,ec,Hg);for(const S of T){const A=I.provided.tags[S.type];if(!A)continue;let j=(S.id!==void 0?A[S.id]:Object.values(A).flat())??[];for(const O of j)y.add(O)}return Array.from(y.values()).flatMap(S=>{const A=I.queries[S];return A?{queryCacheKey:S,endpointName:A.endpointName,originalArgs:A.originalArgs}:[]})}function v(b,w){return Zl(Object.values(s(b)),I=>I?.endpointName===w&&I.status!==Vt,I=>I.originalArgs)}function E(b,w,I){return w?oc(b,w,I)!=null:!1}function C(b,w,I){return!w||!b.getPreviousPageParam?!1:Qg(b,w,I)!=null}}var ry=WeakMap?new WeakMap:void 0,ny=({endpointName:e,queryArgs:t})=>{let r="";const n=ry?.get(t);if(typeof n=="string")r=n;else{const i=JSON.stringify(t,(o,a)=>(a=typeof a=="bigint"?{$bigint:a.toString()}:a,a=tr(a)?Object.keys(a).sort().reduce((s,c)=>(s[c]=a[c],s),{}):a,a));tr(t)&&ry?.set(t,i),r=i}return`${e}(${r})`};function iy(...e){return function(r){const n=po(l=>r.extractRehydrationInfo?.(l,{reducerPath:r.reducerPath??"api"})),i={reducerPath:"api",keepUnusedDataFor:60,refetchOnMountOrArgChange:!1,refetchOnFocus:!1,refetchOnReconnect:!1,invalidationBehavior:"delayed",...r,extractRehydrationInfo:n,serializeQueryArgs(l){let u=ny;if("serializeQueryArgs"in l.endpointDefinition){const d=l.endpointDefinition.serializeQueryArgs;u=m=>{const p=d(m);return typeof p=="string"?p:ny({...m,queryArgs:p})}}else r.serializeQueryArgs&&(u=r.serializeQueryArgs);return u(l)},tagTypes:[...r.tagTypes||[]]},o={endpointDefinitions:{},batch(l){l()},apiUid:Ls(),extractRehydrationInfo:n,hasRehydrationInfo:po(l=>n(l)!=null)},a={injectEndpoints:c,enhanceEndpoints({addTagTypes:l,endpoints:u}){if(l)for(const d of l)i.tagTypes.includes(d)||i.tagTypes.push(d);if(u)for(const[d,m]of Object.entries(u))typeof m=="function"?m(Jr(o,d)):Object.assign(Jr(o,d)||{},m);return a}},s=e.map(l=>l.init(a,i,o));function c(l){const u=l.endpoints({query:d=>({...d,type:ai}),mutation:d=>({...d,type:zg}),infiniteQuery:d=>({...d,type:Vg})});for(const[d,m]of Object.entries(u)){if(l.overrideExisting!==!0&&d in o.endpointDefinitions){if(l.overrideExisting==="throw")throw new Error(dt(39));continue}o.endpointDefinitions[d]=m;for(const p of s)p.injectEndpoint(d,m)}return a}return a.injectEndpoints({endpoints:r.endpoints})}}function Ht(e,...t){return Object.assign(e,...t)}var yN=({api:e,queryThunk:t,internalState:r,mwApi:n})=>{const i=`${e.reducerPath}/subscriptions`;let o=null,a=null;const{updateSubscriptionOptions:s,unsubscribeQueryResult:c}=e.internalActions,l=(h,v)=>{if(s.match(v)){const{queryCacheKey:C,requestId:b,options:w}=v.payload,I=h.get(C);return I?.has(b)&&I.set(b,w),!0}if(c.match(v)){const{queryCacheKey:C,requestId:b}=v.payload,w=h.get(C);return w&&w.delete(b),!0}if(e.internalActions.removeQueryResult.match(v))return h.delete(v.payload.queryCacheKey),!0;if(t.pending.match(v)){const{meta:{arg:C,requestId:b}}=v,w=na(h,C.queryCacheKey,tc);return C.subscribe&&w.set(b,C.subscriptionOptions??w.get(b)??{}),!0}let E=!1;if(t.rejected.match(v)){const{meta:{condition:C,arg:b,requestId:w}}=v;if(C&&b.subscribe){const I=na(h,b.queryCacheKey,tc);I.set(w,b.subscriptionOptions??I.get(w)??{}),E=!0}}return E},u=()=>r.currentSubscriptions,p={getSubscriptions:u,getSubscriptionCount:h=>u().get(h)?.size??0,isRequestSubscribed:(h,v)=>!!u()?.get(h)?.get(v)};function g(h){return JSON.parse(JSON.stringify(Object.fromEntries([...h].map(([v,E])=>[v,Object.fromEntries(E)]))))}return(h,v)=>{if(o||(o=g(r.currentSubscriptions)),e.util.resetApiState.match(h))return o={},r.currentSubscriptions.clear(),a=null,[!0,!1];if(e.internalActions.internal_getRTKQSubscriptions.match(h))return[!1,p];const E=l(r.currentSubscriptions,h);let C=!0;if(E){a||(a=setTimeout(()=>{const I=g(r.currentSubscriptions),[,y]=kf(o,()=>I);v.next(e.internalActions.subscriptionsUpdated(y)),o=I,a=null},500));const b=typeof h.type=="string"&&!!h.type.startsWith(i),w=t.rejected.match(h)&&h.meta.condition&&!!h.meta.arg.subscribe;C=!b&&!w}return[C,!1]}},_N=2147483647/1e3-1,vN=({reducerPath:e,api:t,queryThunk:r,context:n,internalState:i,selectors:{selectQueryEntry:o,selectConfig:a},getRunningQueryThunk:s,mwApi:c})=>{const{removeQueryResult:l,unsubscribeQueryResult:u,cacheEntriesUpserted:d}=t.internalActions,m=Ut(u.match,r.fulfilled,r.rejected,d.match);function p(b){const w=i.currentSubscriptions.get(b);return w?w.size>0:!1}const g={};function h(b){for(const w of b.values())w?.abort?.()}const v=(b,w)=>{const I=a(w.getState());if(m(b)){let y;if(d.match(b))y=b.payload.map(T=>T.queryDescription.queryCacheKey);else{const{queryCacheKey:T}=u.match(b)?b.payload:b.meta.arg;y=[T]}E(y,w,I)}if(t.util.resetApiState.match(b)){for(const[y,T]of Object.entries(g))T&&clearTimeout(T),delete g[y];h(i.runningQueries),h(i.runningMutations)}if(n.hasRehydrationInfo(b)){const{queries:y}=n.extractRehydrationInfo(b);E(Object.keys(y),w,I)}};function E(b,w,I){const y=w.getState();for(const T of b){const S=o(y,T);S?.endpointName&&C(T,S.endpointName,w,I)}}function C(b,w,I,y){const T=Jr(n,w)?.keepUnusedDataFor??y.keepUnusedDataFor;if(T===1/0)return;const S=Math.max(0,Math.min(T,_N));if(!p(b)){const A=g[b];A&&clearTimeout(A),g[b]=setTimeout(()=>{if(!p(b)){const j=o(I.getState(),b);j?.endpointName&&I.dispatch(s(j.endpointName,j.originalArgs))?.abort(),I.dispatch(l({queryCacheKey:b}))}delete g[b]},S*1e3)}}return v},oy=new Error("Promise never resolved before cacheEntryRemoved."),bN=({api:e,reducerPath:t,context:r,queryThunk:n,mutationThunk:i,internalState:o,selectors:{selectQueryEntry:a,selectApiState:s}})=>{const c=Ds(n),l=Ds(i),u=rr(n,i),d={},{removeQueryResult:m,removeMutationResult:p,cacheEntriesUpserted:g}=e.internalActions;function h(I,y,T){const S=d[I];S?.valueResolved&&(S.valueResolved({data:y,meta:T}),delete S.valueResolved)}function v(I){const y=d[I];y&&(delete d[I],y.cacheEntryRemoved())}function E(I){const{arg:y,requestId:T}=I.meta,{endpointName:S,originalArgs:A}=y;return[S,A,T]}const C=(I,y,T)=>{const S=b(I);function A(j,O,R,D){const N=a(T,O),x=a(y.getState(),O);!N&&x&&w(j,D,O,y,R)}if(n.pending.match(I)){const[j,O,R]=E(I);A(j,S,R,O)}else if(g.match(I))for(const{queryDescription:j,value:O}of I.payload){const{endpointName:R,originalArgs:D,queryCacheKey:N}=j;A(R,N,I.meta.requestId,D),h(N,O,{})}else if(i.pending.match(I)){if(y.getState()[t].mutations[S]){const[j,O,R]=E(I);w(j,O,S,y,R)}}else if(u(I))h(S,I.payload,I.meta.baseQueryMeta);else if(m.match(I)||p.match(I))v(S);else if(e.util.resetApiState.match(I))for(const j of Object.keys(d))v(j)};function b(I){return c(I)?I.meta.arg.queryCacheKey:l(I)?I.meta.arg.fixedCacheKey??I.meta.requestId:m.match(I)?I.payload.queryCacheKey:p.match(I)?ci(I.payload):""}function w(I,y,T,S,A){const j=Jr(r,I),O=j?.onCacheEntryAdded;if(!O)return;const R={},D=new Promise(U=>{R.cacheEntryRemoved=U}),N=Promise.race([new Promise(U=>{R.valueResolved=U}),D.then(()=>{throw oy})]);N.catch(()=>{}),d[T]=R;const x=e.endpoints[I].select(ua(j)?y:T),L=S.dispatch((U,z,Z)=>Z),q=O(y,{...S,getCacheEntry:()=>x(S.getState()),requestId:A,extra:L,updateCachedData:ua(j)?U=>S.dispatch(e.util.updateQueryData(I,y,U)):void 0,cacheDataLoaded:N,cacheEntryRemoved:D});Promise.resolve(q).catch(U=>{if(U!==oy)throw U})}return C},EN=({api:e,context:{apiUid:t},reducerPath:r})=>(n,i)=>{e.util.resetApiState.match(n)&&i.dispatch(e.internalActions.middlewareRegistered(t))},wN=({reducerPath:e,context:t,context:{endpointDefinitions:r},mutationThunk:n,queryThunk:i,api:o,assertTagType:a,refetchQuery:s,internalState:c})=>{const{removeQueryResult:l}=o.internalActions,u=Ut(rr(n),_o(n)),d=Ut(rr(i,n),$r(i,n));let m=[],p=0;const g=(E,C)=>{(i.pending.match(E)||n.pending.match(E))&&p++,d(E)&&(p=Math.max(0,p-1)),u(E)?v(Yg(E,"invalidatesTags",r,a),C):d(E)?v([],C):o.util.invalidateTags.match(E)&&v(nc(E.payload,void 0,void 0,void 0,void 0,a),C)};function h(){return p>0}function v(E,C){const b=C.getState(),w=b[e];if(m.push(...E),w.config.invalidationBehavior==="delayed"&&h())return;const I=m;if(m=[],I.length===0)return;const y=o.util.selectInvalidatedBy(b,I);t.batch(()=>{const T=Array.from(y.values());for(const{queryCacheKey:S}of T){const A=w.queries[S],j=na(c.currentSubscriptions,S,tc);A&&(j.size===0?C.dispatch(l({queryCacheKey:S})):A.status!==Vt&&C.dispatch(s(A)))}})}return g},SN=({reducerPath:e,queryThunk:t,api:r,refetchQuery:n,internalState:i})=>{const{currentPolls:o,currentSubscriptions:a}=i,s=new Set;let c=null;const l=(v,E)=>{(r.internalActions.updateSubscriptionOptions.match(v)||r.internalActions.unsubscribeQueryResult.match(v))&&u(v.payload.queryCacheKey,E),(t.pending.match(v)||t.rejected.match(v)&&v.meta.condition)&&u(v.meta.arg.queryCacheKey,E),(t.fulfilled.match(v)||t.rejected.match(v)&&!v.meta.condition)&&d(v.meta.arg,E),r.util.resetApiState.match(v)&&(g(),c&&(clearTimeout(c),c=null),s.clear())};function u(v,E){s.add(v),c||(c=setTimeout(()=>{for(const C of s)m({queryCacheKey:C},E);s.clear(),c=null},0))}function d({queryCacheKey:v},E){const C=E.getState()[e],b=C.queries[v],w=a.get(v);if(!b||b.status===Vt)return;const{lowestPollingInterval:I,skipPollingIfUnfocused:y}=h(w);if(!Number.isFinite(I))return;const T=o.get(v);T?.timeout&&(clearTimeout(T.timeout),T.timeout=void 0);const S=Date.now()+I;o.set(v,{nextPollTimestamp:S,pollingInterval:I,timeout:setTimeout(()=>{(C.config.focused||!y)&&E.dispatch(n(b)),d({queryCacheKey:v},E)},I)})}function m({queryCacheKey:v},E){const C=E.getState()[e].queries[v],b=a.get(v);if(!C||C.status===Vt)return;const{lowestPollingInterval:w}=h(b);if(!Number.isFinite(w)){p(v);return}const I=o.get(v),y=Date.now()+w;(!I||y<I.nextPollTimestamp)&&d({queryCacheKey:v},E)}function p(v){const E=o.get(v);E?.timeout&&clearTimeout(E.timeout),o.delete(v)}function g(){for(const v of o.keys())p(v)}function h(v=new Map){let E=!1,C=Number.POSITIVE_INFINITY;for(const b of v.values())b.pollingInterval&&(C=Math.min(b.pollingInterval,C),E=b.skipPollingIfUnfocused||E);return{lowestPollingInterval:C,skipPollingIfUnfocused:E}}return l},PN=({api:e,context:t,queryThunk:r,mutationThunk:n})=>{const i=Ns(r,n),o=$r(r,n),a=rr(r,n),s={};return(l,u)=>{if(i(l)){const{requestId:d,arg:{endpointName:m,originalArgs:p}}=l.meta,g=Jr(t,m),h=g?.onQueryStarted;if(h){const v={},E=new Promise((w,I)=>{v.resolve=w,v.reject=I});E.catch(()=>{}),s[d]=v;const C=e.endpoints[m].select(ua(g)?p:d),b=u.dispatch((w,I,y)=>y);h(p,{...u,getCacheEntry:()=>C(u.getState()),requestId:d,extra:b,updateCachedData:ua(g)?w=>u.dispatch(e.util.updateQueryData(m,p,w)):void 0,queryFulfilled:E})}}else if(a(l)){const{requestId:d,baseQueryMeta:m}=l.meta;s[d]?.resolve({data:l.payload,meta:m}),delete s[d]}else if(o(l)){const{requestId:d,rejectedWithValue:m,baseQueryMeta:p}=l.meta;s[d]?.reject({error:l.payload??l.error,isUnhandledError:!m,meta:p}),delete s[d]}}},IN=({reducerPath:e,context:t,api:r,refetchQuery:n,internalState:i})=>{const{removeQueryResult:o}=r.internalActions,a=(c,l)=>{ii.match(c)&&s(l,"refetchOnFocus"),oi.match(c)&&s(l,"refetchOnReconnect")};function s(c,l){const u=c.getState()[e],d=u.queries,m=i.currentSubscriptions;t.batch(()=>{for(const p of m.keys()){const g=d[p],h=m.get(p);if(!h||!g)continue;const v=[...h.values()];(v.some(E=>E[l]===!0)||v.every(E=>E[l]===void 0)&&u.config[l])&&(h.size===0?c.dispatch(o({queryCacheKey:p})):g.status!==Vt&&c.dispatch(n(g)))}})}return a};function TN(e){const{reducerPath:t,queryThunk:r,api:n,context:i,getInternalState:o}=e,{apiUid:a}=i,s={invalidateTags:Ve(`${t}/invalidateTags`)},c=m=>m.type.startsWith(`${t}/`),l=[EN,vN,wN,SN,bN,PN];return{middleware:m=>{let p=!1;const g=o(m.dispatch),h={...e,internalState:g,refetchQuery:d,isThisApiSliceAction:c,mwApi:m},v=l.map(b=>b(h)),E=yN(h),C=IN(h);return b=>w=>{if(!Gd(w))return b(w);p||(p=!0,m.dispatch(n.internalActions.middlewareRegistered(a)));const I={...m,next:b},y=m.getState(),[T,S]=E(w,I,y);let A;if(T?A=b(w):A=S,m.getState()[t]&&(C(w,I,y),c(w)||i.hasRehydrationInfo(w)))for(const j of v)j(w,I,y);return A}},actions:s};function d(m){return e.api.endpoints[m.endpointName].initiate(m.originalArgs,{subscribe:!1,forceRefetch:!0})}}var ay=Symbol(),sy=({createSelector:e=Df}={})=>({name:ay,init(t,{baseQuery:r,tagTypes:n,reducerPath:i,serializeQueryArgs:o,keepUnusedDataFor:a,refetchOnMountOrArgChange:s,refetchOnFocus:c,refetchOnReconnect:l,invalidationBehavior:u,onSchemaFailure:d,catchSchemaFailure:m,skipSchemaValidation:p},g){nI();const h=G=>G;Object.assign(t,{reducerPath:i,endpoints:{},internalActions:{onOnline:oi,onOffline:aa,onFocus:ii,onFocusLost:oa},util:{}});const v=gN({serializeQueryArgs:o,reducerPath:i,createSelector:e}),{selectInvalidatedBy:E,selectCachedArgsForQuery:C,buildQuerySelector:b,buildInfiniteQuerySelector:w,buildMutationSelector:I}=v;Ht(t.util,{selectInvalidatedBy:E,selectCachedArgsForQuery:C});const{queryThunk:y,infiniteQueryThunk:T,mutationThunk:S,patchQueryData:A,updateQueryData:j,upsertQueryData:O,prefetch:R,buildMatchThunkActions:D}=pN({baseQuery:r,reducerPath:i,context:g,api:t,serializeQueryArgs:o,assertTagType:h,selectors:v,onSchemaFailure:d,catchSchemaFailure:m,skipSchemaValidation:p}),{reducer:N,actions:x}=hN({context:g,queryThunk:y,infiniteQueryThunk:T,mutationThunk:S,serializeQueryArgs:o,reducerPath:i,assertTagType:h,config:{refetchOnFocus:c,refetchOnReconnect:l,refetchOnMountOrArgChange:s,keepUnusedDataFor:a,reducerPath:i,invalidationBehavior:u}});Ht(t.util,{patchQueryData:A,updateQueryData:j,upsertQueryData:O,prefetch:R,resetApiState:x.resetApiState,upsertQueryEntries:x.cacheEntriesUpserted}),Ht(t.internalActions,x);const L=new WeakMap,q=G=>na(L,G,()=>({currentSubscriptions:new Map,currentPolls:new Map,runningQueries:new Map,runningMutations:new Map})),{buildInitiateQuery:U,buildInitiateInfiniteQuery:z,buildInitiateMutation:Z,getRunningMutationThunk:re,getRunningMutationsThunk:se,getRunningQueriesThunk:ue,getRunningQueryThunk:k}=mN({queryThunk:y,mutationThunk:S,infiniteQueryThunk:T,api:t,serializeQueryArgs:o,context:g,getInternalState:q});Ht(t.util,{getRunningMutationThunk:re,getRunningMutationsThunk:se,getRunningQueryThunk:k,getRunningQueriesThunk:ue});const{middleware:F,actions:$}=TN({reducerPath:i,context:g,queryThunk:y,mutationThunk:S,infiniteQueryThunk:T,api:t,assertTagType:h,selectors:v,getRunningQueryThunk:k,getInternalState:q});return Ht(t.util,$),Ht(t,{reducer:N,middleware:F}),{name:ay,injectEndpoint(G,Q){const X=t,H=X.endpoints[G]??={};la(Q)&&Ht(H,{name:G,select:b(G,Q),initiate:U(G,Q)},D(y,G)),uN(Q)&&Ht(H,{name:G,select:I(),initiate:Z(G)},D(S,G)),ca(Q)&&Ht(H,{name:G,select:w(G,Q),initiate:z(G,Q)},D(y,G))}}}}),p3=iy(sy()),ON=class{baseUrl="";securityData=null;securityWorker;abortControllers=new Map;customFetch=(...e)=>fetch(...e);baseApiParams={credentials:"same-origin",headers:{},redirect:"follow",referrerPolicy:"no-referrer"};constructor(e={}){Object.assign(this,e)}setSecurityData=e=>{this.securityData=e};encodeQueryParam(e,t){return`${encodeURIComponent(e)}=${encodeURIComponent(typeof t=="number"?t:`${t}`)}`}addQueryParam(e,t){return this.encodeQueryParam(t,e[t])}addArrayQueryParam(e,t){return e[t].map(r=>this.encodeQueryParam(t,r)).join("&")}toQueryString(e){const t=e||{};return Object.keys(t).filter(r=>typeof t[r]<"u").map(r=>Array.isArray(t[r])?this.addArrayQueryParam(t,r):this.addQueryParam(t,r)).join("&")}addQueryParams(e){const t=this.toQueryString(e);return t?`?${t}`:""}contentFormatters={"application/json":e=>e!==null&&(typeof e=="object"||typeof e=="string")?JSON.stringify(e):e,"text/plain":e=>e!==null&&typeof e!="string"?JSON.stringify(e):e,"multipart/form-data":e=>Object.keys(e||{}).reduce((t,r)=>{const n=e[r];return t.append(r,n instanceof Blob?n:typeof n=="object"&&n!==null?JSON.stringify(n):`${n}`),t},new FormData),"application/x-www-form-urlencoded":e=>this.toQueryString(e)};mergeRequestParams(e,t){return{...this.baseApiParams,...e,...t||{},headers:{...this.baseApiParams.headers||{},...e.headers||{},...t&&t.headers||{}}}}createAbortSignal=e=>{if(this.abortControllers.has(e)){const r=this.abortControllers.get(e);return r?r.signal:void 0}const t=new AbortController;return this.abortControllers.set(e,t),t.signal};abortRequest=e=>{const t=this.abortControllers.get(e);t&&(t.abort(),this.abortControllers.delete(e))};async request({body:e,secure:t,path:r,type:n,query:i,format:o,baseUrl:a,cancelToken:s,extraQuery:c,proxyHandler:l,...u}){const d=(typeof t=="boolean"?t:this.baseApiParams.secure)&&this.securityWorker&&await this.securityWorker(this.securityData)||{},m=this.mergeRequestParams(u,d);c&&(i=i?{...i,...c}:c);const p=i&&this.toQueryString(i),g=this.contentFormatters[n||"application/json"],h=o||m.format,v=`${a||this.baseUrl||""}${r}${p?`?${p}`:""}`,E=l?l(v,{body:e,secure:t,path:r,type:n,query:i,format:o,baseUrl:a,cancelToken:s,extraQuery:c,proxyHandler:l,...u}):v,C=new Request(E,{...m,headers:{...m.headers||{},...n&&n!=="multipart/form-data"?{"Content-Type":n}:{}},signal:(s?this.createAbortSignal(s):m.signal)||null,body:typeof e>"u"||e===null?null:g(e)});return this.customFetch(C).then(async b=>{const w=b;w.data=null,w.error=null,w.meta={request:C,response:w};const I=h?await b[h]().then(y=>(w.ok?w.data=y:w.error={data:y},w)).catch(y=>(w.error=y,w)):w;return s&&this.abortControllers.delete(s),I})}},CN=class extends ON{unsplashTest={appControllerGetUnsplashTest:(e={})=>this.request({path:"/unsplash_test",method:"GET",...e})};tasks={tasksControllerCreateTask:(e,t={})=>this.request({path:"/tasks",method:"POST",body:e,type:"application/json",...t}),tasksControllerGetTask:({id:e,...t},r={})=>this.request({path:`/tasks/${e}`,method:"GET",...r}),tasksControllerGetEmail:({id:e,...t},r={})=>this.request({path:`/tasks/${e}/email`,method:"GET",...r}),tasksControllerGetEmailHtml:({id:e,...t},r={})=>this.request({path:`/tasks/${e}/html`,method:"GET",...r})};parsing={manParseControllerLogoGen:(e,t={})=>this.request({path:"/parsing/logo-gen",method:"GET",query:e,...t}),manParseControllerSite:(e,t={})=>this.request({path:"/parsing/site",method:"GET",query:e,...t}),manParseControllerColor:(e,t={})=>this.request({path:"/parsing/color",method:"GET",query:e,...t}),manParseControllerStyle:(e,t={})=>this.request({path:"/parsing/style",method:"GET",query:e,...t}),manParseControllerColorScheme:(e,t={})=>this.request({path:"/parsing/color-scheme",method:"GET",query:e,...t}),manParseControllerImage:(e,t={})=>this.request({path:"/parsing/image",method:"GET",query:e,...t})};maintenance={maintenanceControllerReloadBlocks:(e={})=>this.request({path:"/maintenance/reload-blocks",method:"GET",...e}),maintenanceControllerReloadUnsplashTopics:(e={})=>this.request({path:"/maintenance/reload-unsplash-topics",method:"GET",...e})};unsplash={unsplashControllerUnsplashTest:(e={})=>this.request({path:"/unsplash/test",method:"GET",...e}),unsplashControllerSearchPhotos:(e,t={})=>this.request({path:"/unsplash/search",method:"GET",query:e,...t}),unsplashControllerGetTopics:(e={})=>this.request({path:"/unsplash/topics",method:"GET",...e}),unsplashControllerGetPhoto:(e,t={})=>this.request({path:"/unsplash/photo",method:"GET",query:e,...t})}},V=(function(e){return e.Json="application/json",e.JsonApi="application/vnd.api+json",e.FormData="multipart/form-data",e.UrlEncoded="application/x-www-form-urlencoded",e.Text="text/plain",e})({}),ac=class{baseUrl="/api/v2";securityData=null;securityWorker;abortControllers=new Map;customFetch=(...e)=>fetch(...e);baseApiParams={credentials:"same-origin",headers:{},redirect:"follow",referrerPolicy:"no-referrer"};constructor(e={}){Object.assign(this,e)}setSecurityData=e=>{this.securityData=e};encodeQueryParam(e,t){return`${encodeURIComponent(e)}=${encodeURIComponent(typeof t=="number"?t:`${t}`)}`}addQueryParam(e,t){return this.encodeQueryParam(t,e[t])}addArrayQueryParam(e,t){return e[t].map(r=>this.encodeQueryParam(t,r)).join("&")}toQueryString(e){const t=e||{};return Object.keys(t).filter(r=>typeof t[r]<"u").map(r=>Array.isArray(t[r])?this.addArrayQueryParam(t,r):this.addQueryParam(t,r)).join("&")}addQueryParams(e){const t=this.toQueryString(e);return t?`?${t}`:""}contentFormatters={"application/json":e=>e!==null&&(typeof e=="object"||typeof e=="string")?JSON.stringify(e):e,"application/vnd.api+json":e=>e!==null&&(typeof e=="object"||typeof e=="string")?JSON.stringify(e):e,"text/plain":e=>e!==null&&typeof e!="string"?JSON.stringify(e):e,"multipart/form-data":e=>e instanceof FormData?e:Object.keys(e||{}).reduce((t,r)=>{const n=e[r];return t.append(r,n instanceof Blob?n:typeof n=="object"&&n!==null?JSON.stringify(n):`${n}`),t},new FormData),"application/x-www-form-urlencoded":e=>this.toQueryString(e)};mergeRequestParams(e,t){return{...this.baseApiParams,...e,...t||{},headers:{...this.baseApiParams.headers||{},...e.headers||{},...t&&t.headers||{}}}}createAbortSignal=e=>{if(this.abortControllers.has(e)){const r=this.abortControllers.get(e);return r?r.signal:void 0}const t=new AbortController;return this.abortControllers.set(e,t),t.signal};abortRequest=e=>{const t=this.abortControllers.get(e);t&&(t.abort(),this.abortControllers.delete(e))};request=async({body:e,secure:t,path:r,type:n,query:i,format:o,baseUrl:a,cancelToken:s,...c})=>{const l=(typeof t=="boolean"?t:this.baseApiParams.secure)&&this.securityWorker&&await this.securityWorker(this.securityData)||{},u=this.mergeRequestParams(c,l),d=i&&this.toQueryString(i),m=this.contentFormatters[n||"application/json"],p=o||u.format;return this.customFetch(`${a||this.baseUrl||""}${r}${d?`?${d}`:""}`,{...u,headers:{...u.headers||{},...n&&n!=="multipart/form-data"?{"Content-Type":n}:{}},signal:(s?this.createAbortSignal(s):u.signal)||null,body:typeof e>"u"||e===null?null:m(e)}).then(async g=>{const h=g;h.data=null,h.error=null;const v=p?g.clone():g,E=p?await v[p]().then(C=>(h.ok?h.data=C:h.error=C,h)).catch(C=>(h.error=C,h)):h;return s&&this.abortControllers.delete(s),E})}},AN=class{http;constructor(e){this.http=e}appTokenCreate=(e,t={})=>this.http.request({path:"/auth/app/token",method:"POST",body:e,type:V.Json,format:"json",...t});captchaConfigList=(e={})=>this.http.request({path:"/auth/captcha-config",method:"GET",format:"json",...e});elamaCreate=(e,t={})=>this.http.request({path:"/auth/elama",method:"POST",body:e,type:V.Json,format:"json",...t});googleCreate=(e,t={})=>this.http.request({path:"/auth/google",method:"POST",body:e,type:V.Json,format:"json",...t});passwordChangeCreate=(e,t={})=>this.http.request({path:"/auth/password/change",method:"POST",body:e,secure:!0,type:V.Json,...t});passwordResetCreate=(e,t={})=>this.http.request({path:"/auth/password/reset",method:"POST",body:e,type:V.Json,...t});passwordResetConfirmCreate=(e,t={})=>this.http.request({path:"/auth/password/reset/confirm",method:"POST",body:e,type:V.Json,...t});registerCreate=(e,t={})=>this.http.request({path:"/auth/register",method:"POST",body:e,type:V.Json,format:"json",...t});tokenDelete=(e={})=>this.http.request({path:"/auth/token",method:"DELETE",secure:!0,...e});tokenCreate=(e,t={})=>this.http.request({path:"/auth/token",method:"POST",body:e,type:V.Json,format:"json",...t});tokenRefreshCreate=(e,t={})=>this.http.request({path:"/auth/token/refresh",method:"POST",body:e,type:V.Json,format:"json",...t});userList=(e={})=>this.http.request({path:"/auth/user",method:"GET",secure:!0,format:"json",...e});userPartialUpdate=(e,t={})=>this.http.request({path:"/auth/user",method:"PATCH",body:e,secure:!0,type:V.Json,format:"json",...t});yandexCreate=(e,t={})=>this.http.request({path:"/auth/yandex",method:"POST",body:e,type:V.Json,format:"json",...t})},kN=class{http;constructor(e){this.http=e}planInvalidateCreate=(e={})=>this.http.request({path:"/billing/plan/invalidate",method:"POST",secure:!0,format:"json",...e})},ui=class{http;constructor(e){this.http=e}projectsList=(e={},t={})=>this.http.request({path:"/projects",method:"GET",query:e,secure:!0,format:"json",...t});projectsCreate=(e,t={})=>this.http.request({path:"/projects",method:"POST",body:e,secure:!0,type:V.Json,format:"json",...t});projectsDelete=({id:e,...t},r={})=>this.http.request({path:`/projects/${e}`,method:"DELETE",query:t,secure:!0,...r});projectsDetail=({id:e},t={})=>this.http.request({path:`/projects/${e}`,method:"GET",secure:!0,format:"json",...t});projectsPartialUpdate=({id:e},t,r={})=>this.http.request({path:`/projects/${e}`,method:"PATCH",body:t,secure:!0,type:V.Json,format:"json",...r});blockFoldersList=({id:e,...t},r={})=>this.http.request({path:`/projects/${e}/block-folders`,method:"GET",query:t,secure:!0,format:"json",...r});blockFoldersCreate=({id:e},t,r={})=>this.http.request({path:`/projects/${e}/block-folders`,method:"POST",body:t,secure:!0,type:V.Json,format:"json",...r});blockFoldersDelete=({id:e,termId:t},r={})=>this.http.request({path:`/projects/${e}/block-folders/${t}`,method:"DELETE",secure:!0,...r});blockFoldersPartialUpdate=({id:e,termId:t},r,n={})=>this.http.request({path:`/projects/${e}/block-folders/${t}`,method:"PATCH",body:r,secure:!0,type:V.Json,format:"json",...n});blockTagsList=({id:e,...t},r={})=>this.http.request({path:`/projects/${e}/block-tags`,method:"GET",query:t,secure:!0,format:"json",...r});blockTagsCreate=({id:e},t,r={})=>this.http.request({path:`/projects/${e}/block-tags`,method:"POST",body:t,secure:!0,type:V.Json,format:"json",...r});blockTagsDelete=({id:e,termId:t},r={})=>this.http.request({path:`/projects/${e}/block-tags/${t}`,method:"DELETE",secure:!0,...r});blockTagsPartialUpdate=({id:e,termId:t},r,n={})=>this.http.request({path:`/projects/${e}/block-tags/${t}`,method:"PATCH",body:r,secure:!0,type:V.Json,format:"json",...n});emailFoldersList=({id:e},t={})=>this.http.request({path:`/projects/${e}/email-folders`,method:"GET",secure:!0,format:"json",...t});emailFoldersCreate=({id:e},t,r={})=>this.http.request({path:`/projects/${e}/email-folders`,method:"POST",body:t,secure:!0,type:V.Json,format:"json",...r});emailFoldersDelete=({id:e,folderId:t},r={})=>this.http.request({path:`/projects/${e}/email-folders/${t}`,method:"DELETE",secure:!0,...r});emailFoldersPartialUpdate=({id:e,folderId:t},r,n={})=>this.http.request({path:`/projects/${e}/email-folders/${t}`,method:"PATCH",body:r,secure:!0,type:V.Json,format:"json",...n});emailLabelsList=({id:e},t={})=>this.http.request({path:`/projects/${e}/email-labels`,method:"GET",secure:!0,format:"json",...t});emailLabelsCreate=({id:e},t,r={})=>this.http.request({path:`/projects/${e}/email-labels`,method:"POST",body:t,secure:!0,type:V.Json,format:"json",...r});emailLabelsDelete=({id:e,labelId:t},r={})=>this.http.request({path:`/projects/${e}/email-labels/${t}`,method:"DELETE",secure:!0,...r});emailLabelsPartialUpdate=({id:e,labelId:t},r,n={})=>this.http.request({path:`/projects/${e}/email-labels/${t}`,method:"PATCH",body:r,secure:!0,type:V.Json,format:"json",...n});emailTagsList=({id:e,...t},r={})=>this.http.request({path:`/projects/${e}/email-tags`,method:"GET",query:t,secure:!0,format:"json",...r});emailTagsCreate=({id:e},t,r={})=>this.http.request({path:`/projects/${e}/email-tags`,method:"POST",body:t,secure:!0,type:V.Json,format:"json",...r});emailTagsDelete=({id:e,termId:t},r={})=>this.http.request({path:`/projects/${e}/email-tags/${t}`,method:"DELETE",secure:!0,...r});emailTagsPartialUpdate=({id:e,termId:t},r,n={})=>this.http.request({path:`/projects/${e}/email-tags/${t}`,method:"PATCH",body:r,secure:!0,type:V.Json,format:"json",...n});foldersList=({id:e,...t},r={})=>this.http.request({path:`/projects/${e}/folders`,method:"GET",query:t,secure:!0,format:"json",...r});foldersCreate=({id:e},t,r={})=>this.http.request({path:`/projects/${e}/folders`,method:"POST",body:t,secure:!0,type:V.Json,format:"json",...r});foldersDelete=({id:e,termId:t},r={})=>this.http.request({path:`/projects/${e}/folders/${t}`,method:"DELETE",secure:!0,...r});foldersPartialUpdate=({id:e,termId:t},r,n={})=>this.http.request({path:`/projects/${e}/folders/${t}`,method:"PATCH",body:r,secure:!0,type:V.Json,format:"json",...n});groupsList=({id:e,...t},r={})=>this.http.request({path:`/projects/${e}/groups`,method:"GET",query:t,secure:!0,format:"json",...r});groupsCreate=({id:e},t,r={})=>this.http.request({path:`/projects/${e}/groups`,method:"POST",body:t,secure:!0,type:V.Json,format:"json",...r});groupsDelete=({id:e,termId:t},r={})=>this.http.request({path:`/projects/${e}/groups/${t}`,method:"DELETE",secure:!0,...r});groupsPartialUpdate=({id:e,termId:t},r,n={})=>this.http.request({path:`/projects/${e}/groups/${t}`,method:"PATCH",body:r,secure:!0,type:V.Json,format:"json",...n});integrationsList=({id:e},t={})=>this.http.request({path:`/projects/${e}/integrations`,method:"GET",secure:!0,format:"json",...t});integrationsDelete=({id:e,provider:t},r={})=>this.http.request({path:`/projects/${e}/integrations/${t}`,method:"DELETE",secure:!0,...r});integrationsDetail=({id:e,provider:t,...r},n={})=>this.http.request({path:`/projects/${e}/integrations/${t}`,method:"GET",query:r,secure:!0,format:"json",...n});integrationsUpdate=({id:e,provider:t},r,n={})=>this.http.request({path:`/projects/${e}/integrations/${t}`,method:"PUT",body:r,secure:!0,type:V.Json,format:"json",...n});integrationsCheckCreate=({id:e,provider:t},r={})=>this.http.request({path:`/projects/${e}/integrations/${t}/check`,method:"POST",secure:!0,format:"json",...r});invitesDelete=({id:e,email:t},r={})=>this.http.request({path:`/projects/${e}/invites/${t}`,method:"DELETE",secure:!0,...r});membersList=({id:e},t={})=>this.http.request({path:`/projects/${e}/members`,method:"GET",secure:!0,format:"json",...t});membersCreate=({id:e},t,r={})=>this.http.request({path:`/projects/${e}/members`,method:"POST",body:t,secure:!0,type:V.Json,format:"json",...r});membersDelete=({id:e,userId:t},r={})=>this.http.request({path:`/projects/${e}/members/${t}`,method:"DELETE",secure:!0,...r});membersPartialUpdate=({id:e,userId:t},r,n={})=>this.http.request({path:`/projects/${e}/members/${t}`,method:"PATCH",body:r,secure:!0,type:V.Json,format:"json",...n});membersMeDelete=({id:e},t={})=>this.http.request({path:`/projects/${e}/members/me`,method:"DELETE",secure:!0,...t});planList=({id:e},t={})=>this.http.request({path:`/projects/${e}/plan`,method:"GET",secure:!0,format:"json",...t});pluginInstancesList=({id:e},t={})=>this.http.request({path:`/projects/${e}/plugin/instances`,method:"GET",secure:!0,format:"json",...t});pluginInstancesCreate=({id:e},t,r={})=>this.http.request({path:`/projects/${e}/plugin/instances`,method:"POST",body:t,secure:!0,type:V.Json,format:"json",...r});pluginInstancesDelete=({id:e,instanceId:t},r={})=>this.http.request({path:`/projects/${e}/plugin/instances/${t}`,method:"DELETE",secure:!0,...r});pluginInstancesPartialUpdate=({id:e,instanceId:t},r,n={})=>this.http.request({path:`/projects/${e}/plugin/instances/${t}`,method:"PATCH",body:r,secure:!0,type:V.Json,format:"json",...n});pluginInstancesRotateSecretCreate=({id:e,instanceId:t},r={})=>this.http.request({path:`/projects/${e}/plugin/instances/${t}/rotate-secret`,method:"POST",secure:!0,format:"json",...r});profileList=({id:e},t={})=>this.http.request({path:`/projects/${e}/profile`,method:"GET",secure:!0,format:"json",...t});profilePartialUpdate=({id:e},t,r={})=>this.http.request({path:`/projects/${e}/profile`,method:"PATCH",body:t,secure:!0,type:V.Json,format:"json",...r});restoreCreate=({id:e},t={})=>this.http.request({path:`/projects/${e}/restore`,method:"POST",secure:!0,...t});settingsUpdate=({id:e},t,r={})=>this.http.request({path:`/projects/${e}/settings`,method:"PUT",body:t,secure:!0,type:V.Json,format:"json",...r});storageDelete=({id:e},t={})=>this.http.request({path:`/projects/${e}/storage`,method:"DELETE",secure:!0,format:"json",...t});storageList=({id:e},t={})=>this.http.request({path:`/projects/${e}/storage`,method:"GET",secure:!0,format:"json",...t});storageUpdate=({id:e},t,r={})=>this.http.request({path:`/projects/${e}/storage`,method:"PUT",body:t,secure:!0,type:V.Json,format:"json",...r});storageTestCreate=({id:e},t,r={})=>this.http.request({path:`/projects/${e}/storage/test`,method:"POST",body:t,secure:!0,type:V.Json,format:"json",...r});stripoFoldersList=({id:e,...t},r={})=>this.http.request({path:`/projects/${e}/stripo/folders`,method:"GET",query:t,secure:!0,format:"json",...r});stripoImportsCreate=({id:e},t,r={})=>this.http.request({path:`/projects/${e}/stripo/imports`,method:"POST",body:t,secure:!0,type:V.Json,format:"json",...r});stripoImportsDetail=({id:e,jobId:t},r={})=>this.http.request({path:`/projects/${e}/stripo/imports/${t}`,method:"GET",secure:!0,format:"json",...r});stripoImportsCurrentList=({id:e},t={})=>this.http.request({path:`/projects/${e}/stripo/imports/current`,method:"GET",secure:!0,format:"json",...t});stripoItemsList=({id:e,...t},r={})=>this.http.request({path:`/projects/${e}/stripo/items`,method:"GET",query:t,secure:!0,format:"json",...r});stripoKeyUpdate=({id:e},t,r={})=>this.http.request({path:`/projects/${e}/stripo/key`,method:"PUT",body:t,secure:!0,type:V.Json,...r});stylesList=({id:e},t={})=>this.http.request({path:`/projects/${e}/styles`,method:"GET",secure:!0,format:"json",...t});stylesPartialUpdate=({id:e},t,r={})=>this.http.request({path:`/projects/${e}/styles`,method:"PATCH",body:t,secure:!0,type:V.Json,format:"json",...r});stylesFontsCreate=({id:e},t={})=>this.http.request({path:`/projects/${e}/styles/fonts`,method:"POST",secure:!0,format:"json",...t});templateCategoriesCreate=({id:e},t,r={})=>this.http.request({path:`/projects/${e}/template-categories`,method:"POST",body:t,secure:!0,type:V.Json,format:"json",...r});templateCategoriesDelete=({id:e,categoryId:t},r={})=>this.http.request({path:`/projects/${e}/template-categories/${t}`,method:"DELETE",secure:!0,...r});templateCategoriesPartialUpdate=({id:e,categoryId:t},r,n={})=>this.http.request({path:`/projects/${e}/template-categories/${t}`,method:"PATCH",body:r,secure:!0,type:V.Json,format:"json",...n});templateSectionsList=({id:e},t={})=>this.http.request({path:`/projects/${e}/template-sections`,method:"GET",secure:!0,format:"json",...t});templateSectionsCreate=({id:e},t,r={})=>this.http.request({path:`/projects/${e}/template-sections`,method:"POST",body:t,secure:!0,type:V.Json,format:"json",...r});templateSectionsDelete=({id:e,sectionId:t},r={})=>this.http.request({path:`/projects/${e}/template-sections/${t}`,method:"DELETE",secure:!0,...r});templateSectionsPartialUpdate=({id:e,sectionId:t},r,n={})=>this.http.request({path:`/projects/${e}/template-sections/${t}`,method:"PATCH",body:r,secure:!0,type:V.Json,format:"json",...n});testRecipientsList=({id:e},t={})=>this.http.request({path:`/projects/${e}/test-recipients`,method:"GET",secure:!0,format:"json",...t});testRecipientsUpdate=({id:e},t,r={})=>this.http.request({path:`/projects/${e}/test-recipients`,method:"PUT",body:t,secure:!0,type:V.Json,format:"json",...r});webhookDelete=({id:e},t={})=>this.http.request({path:`/projects/${e}/webhook`,method:"DELETE",secure:!0,...t});webhookList=({id:e},t={})=>this.http.request({path:`/projects/${e}/webhook`,method:"GET",secure:!0,format:"json",...t});webhookUpdate=({id:e},t,r={})=>this.http.request({path:`/projects/${e}/webhook`,method:"PUT",body:t,secure:!0,type:V.Json,format:"json",...r});profileOptionsList=(e={})=>this.http.request({path:"/projects/profile/options",method:"GET",secure:!0,format:"json",...e});topUsedList=(e={},t={})=>this.http.request({path:"/projects/top-used",method:"GET",query:e,secure:!0,format:"json",...t})},jN=P.createIdentifier$1("rest.v2.transport"),ly=Symbol("rest.v2.secureRequest");function MN(e){return e.getOrCreateInstance(jN,()=>{const t=e.getInstance(P.CUSTOM_FETCH_ID)?.execute||fetch;return new ac({baseUrl:"https://app.emailmaker.ru/api/v2",securityWorker:()=>({[ly]:!0}),customFetch:(r,n={})=>{const{[ly]:i,...o}=n;return t(r,{...o,[P.PUBLIC_REQUEST]:i!==!0})}})})}function le(e,t){const r=MN(e);return Object.assign({},...t.map(n=>new n(r)))}function cy(e,t){if(e!=null&&typeof e=="object"){const r=e[t];if(typeof r=="string"&&r!=="")return r}}function ae(e){const t=e.error,r=t?.error;return r&&typeof r=="object"?{status:e.status,data:{code:cy(r.details,"wp_code")??r.code,message:cy(r.details,"wp_message")??r.message,details:r.details}}:t&&typeof t=="object"?{status:e.status,data:t}:{status:e.status,data:{message:e.statusText||"request failed"}}}async function Zr(e){const t=e;if(e.error==null&&!t.bodyUsed&&typeof t.json=="function")try{return ae({...e,ok:e.ok,status:e.status,statusText:e.statusText,error:await t.json()})}catch{}return ae(e)}function ne(e){return!e.ok||!!e.error}function RN(e){return ne(e)?{error:ae(e)}:{data:e.data}}var NN=class extends ac{auth=new AN(this);billing=new kN(this);projects=new ui(this)},DN=e=>e.getOrCreateInstance(P.V2REST_CLIENT_ID,()=>{const t=e.getInstance(P.CUSTOM_FETCH_ID);return new NN({baseUrl:"https://app.emailmaker.ru/api/v2",customFetch:t?.execute??P.globalFetch})}),Be=e=>DN(e),LN=e=>ae(e),it=e=>RN(e),di=e=>e.getInstance(P.REST_CLIENT_ID),FN=e=>e.getOrCreateInstance(P.AIREST_CLIENT_ID,()=>new CN({baseUrl:"https://ai-mail.emcdn.ru"}));function We(e){return(t,r,n)=>{const i=P.getContainer(r)?.getInstance(P.CUSTOM_FETCH_ID);return rc({...e,fetchFn:i?.execute||fetch})(t,r,n)}}var ie=e=>P.getContainer(e),K=e=>di(P.getContainer(e)),ht=e=>Be(P.getContainer(e)),xN=e=>FN(P.getContainer(e));function ma(e){return e.replace(e[0],e[0].toUpperCase())}var BN="query",UN="mutation",$N="infinitequery";function qN(e){return e.type===BN}function GN(e){return e.type===UN}function uy(e){return e.type===$N}function fi(e,...t){return Object.assign(e,...t)}var sc=Symbol();function lc(e){const t=(0,J.useRef)(e),r=(0,J.useMemo)(()=>Jl(t.current,e),[e]);return(0,J.useEffect)(()=>{t.current!==r&&(t.current=r)},[r]),r}function en(e){const t=(0,J.useRef)(e);return(0,J.useEffect)(()=>{wn(t.current,e)||(t.current=e)},[e]),wn(t.current,e)?t.current:e}var zN=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",VN=zN(),HN=()=>typeof navigator<"u"&&navigator.product==="ReactNative",WN=HN(),KN=()=>VN||WN?J.useLayoutEffect:J.useEffect,QN=KN(),dy=e=>e.isUninitialized?{...e,isUninitialized:!1,isFetching:!0,isLoading:e.data===void 0,status:Ng.pending}:e;function cc(e,...t){const r={};return t.forEach(n=>{r[n]=e[n]}),r}var uc=["data","status","isLoading","isSuccess","isError","error"];function YN({api:e,moduleOptions:{batch:t,hooks:{useDispatch:r,useSelector:n,useStore:i},unstable__sideEffectsInRender:o,createSelector:a},serializeQueryArgs:s,context:c}){const l=o?y=>y():J.useEffect,u=y=>y.current?.unsubscribe?.(),d=c.endpointDefinitions;return{buildQueryHooks:b,buildInfiniteQueryHooks:w,buildMutationHook:I,usePrefetch:g};function m(y,T,S){if(T?.endpointName&&y.isUninitialized){const{endpointName:N}=T,x=d[N];S!==Et&&s({queryArgs:T.originalArgs,endpointDefinition:x,endpointName:N})===s({queryArgs:S,endpointDefinition:x,endpointName:N})&&(T=void 0)}let A=y.isSuccess?y.data:T?.data;A===void 0&&(A=y.data);const j=A!==void 0,O=y.isLoading,R=(!T||T.isLoading||T.isUninitialized)&&!j&&O,D=y.isSuccess||j&&(O&&!T?.isError||y.isUninitialized);return{...y,data:A,currentData:y.data,isFetching:O,isLoading:R,isSuccess:D}}function p(y,T,S){if(T?.endpointName&&y.isUninitialized){const{endpointName:N}=T,x=d[N];S!==Et&&s({queryArgs:T.originalArgs,endpointDefinition:x,endpointName:N})===s({queryArgs:S,endpointDefinition:x,endpointName:N})&&(T=void 0)}let A=y.isSuccess?y.data:T?.data;A===void 0&&(A=y.data);const j=A!==void 0,O=y.isLoading,R=(!T||T.isLoading||T.isUninitialized)&&!j&&O,D=y.isSuccess||j&&(O&&!T?.isError||y.isUninitialized);return{...y,data:A,currentData:y.data,isFetching:O,isLoading:R,isSuccess:D}}function g(y,T){const S=r(),A=en(T);return(0,J.useCallback)((j,O)=>S(e.util.prefetch(y,j,{...A,...O})),[y,S,A])}function h(y,T,{refetchOnReconnect:S,refetchOnFocus:A,refetchOnMountOrArgChange:j,skip:O=!1,pollingInterval:R=0,skipPollingIfUnfocused:D=!1,...N}={}){const{initiate:x}=e.endpoints[y],L=r(),q=(0,J.useRef)(void 0);q.current||(q.current=L(e.internalActions.internal_getRTKQSubscriptions()));const U=lc(O?Et:T),z=en({refetchOnReconnect:S,refetchOnFocus:A,pollingInterval:R,skipPollingIfUnfocused:D}),Z=N.initialPageParam,re=en(Z),se=N.refetchCachedPages,ue=en(se),k=(0,J.useRef)(void 0);let{queryCacheKey:F,requestId:$}=k.current||{},G=!1;F&&$&&(G=q.current.isRequestSubscribed(F,$));const Q=!G&&k.current!==void 0;return l(()=>{Q&&(k.current=void 0)},[Q]),l(()=>{const X=k.current;if(U===Et){X?.unsubscribe(),k.current=void 0;return}const H=k.current?.subscriptionOptions;if(!X||X.arg!==U){X?.unsubscribe();const te=L(x(U,{subscriptionOptions:z,forceRefetch:j,...uy(d[y])?{initialPageParam:re,refetchCachedPages:ue}:{}}));k.current=te}else z!==H&&X.updateSubscriptionOptions(z)},[L,x,j,U,z,Q,re,ue,y]),[k,L,x,z]}function v(y,T){return(A,{skip:j=!1,selectFromResult:O}={})=>{const{select:R}=e.endpoints[y],D=lc(j?Et:A),N=(0,J.useRef)(void 0),x=(0,J.useMemo)(()=>a([R(D),(z,Z)=>Z,z=>D],T,{memoizeOptions:{resultEqualityCheck:wn}}),[R,D]),L=(0,J.useMemo)(()=>O?a([x],O,{devModeChecks:{identityFunctionCheck:"never"}}):x,[x,O]),q=n(z=>L(z,N.current),wn),U=x(i().getState(),N.current);return QN(()=>{N.current=U},[U]),q}}function E(y){(0,J.useEffect)(()=>()=>{u(y),y.current=void 0},[y])}function C(y){if(!y.current)throw new Error(dt(38));return y.current.refetch()}function b(y){const T=(j,O={})=>{const[R]=h(y,j,O);return E(R),(0,J.useMemo)(()=>({refetch:()=>C(R)}),[R])},S=({refetchOnReconnect:j,refetchOnFocus:O,pollingInterval:R=0,skipPollingIfUnfocused:D=!1}={})=>{const{initiate:N}=e.endpoints[y],x=r(),[L,q]=(0,J.useState)(sc),U=(0,J.useRef)(void 0),z=en({refetchOnReconnect:j,refetchOnFocus:O,pollingInterval:R,skipPollingIfUnfocused:D});l(()=>{const ue=U.current?.subscriptionOptions;z!==ue&&U.current?.updateSubscriptionOptions(z)},[z]);const Z=(0,J.useRef)(z);l(()=>{Z.current=z},[z]);const re=(0,J.useCallback)(function(ue,k=!1){let F;return t(()=>{u(U),U.current=F=x(N(ue,{subscriptionOptions:Z.current,forceRefetch:!k})),q(ue)}),F},[x,N]),se=(0,J.useCallback)(()=>{U.current?.queryCacheKey&&x(e.internalActions.removeQueryResult({queryCacheKey:U.current?.queryCacheKey}))},[x]);return(0,J.useEffect)(()=>()=>{u(U)},[]),(0,J.useEffect)(()=>{L!==sc&&!U.current&&re(L,!0)},[L,re]),(0,J.useMemo)(()=>[re,L,{reset:se}],[re,L,se])},A=v(y,m);return{useQueryState:A,useQuerySubscription:T,useLazyQuerySubscription:S,useLazyQuery(j){const[O,R,{reset:D}]=S(j),N=A(R,{...j,skip:R===sc}),x=(0,J.useMemo)(()=>({lastArg:R}),[R]);return(0,J.useMemo)(()=>[O,{...N,reset:D},x],[O,N,D,x])},useQuery(j,O){const R=T(j,O),D=A(j,{selectFromResult:j===Et||O?.skip?void 0:dy,...O}),N=cc(D,...uc);return(0,J.useDebugValue)(N),(0,J.useMemo)(()=>({...D,...R}),[D,R])}}}function w(y){const T=(A,j={})=>{const[O,R,D,N]=h(y,A,j),x=(0,J.useRef)(N);l(()=>{x.current=N},[N]);const L=j.refetchCachedPages,q=en(L),U=(0,J.useCallback)(function(re,se){let ue;return t(()=>{u(O),O.current=ue=R(D(re,{subscriptionOptions:x.current,direction:se}))}),ue},[O,R,D]);E(O);const z=lc(j.skip?Et:A),Z=(0,J.useCallback)(re=>{if(!O.current)throw new Error(dt(38));const se={refetchCachedPages:re?.refetchCachedPages??q};return O.current.refetch(se)},[O,q]);return(0,J.useMemo)(()=>({trigger:U,refetch:Z,fetchNextPage:()=>U(z,"forward"),fetchPreviousPage:()=>U(z,"backward")}),[Z,U,z])},S=v(y,p);return{useInfiniteQueryState:S,useInfiniteQuerySubscription:T,useInfiniteQuery(A,j){const{refetch:O,fetchNextPage:R,fetchPreviousPage:D}=T(A,j),N=S(A,{selectFromResult:A===Et||j?.skip?void 0:dy,...j}),x=cc(N,...uc,"hasNextPage","hasPreviousPage");return(0,J.useDebugValue)(x),(0,J.useMemo)(()=>({...N,fetchNextPage:R,fetchPreviousPage:D,refetch:O}),[N,R,D,O])}}}function I(y){return({selectFromResult:T,fixedCacheKey:S}={})=>{const{select:A,initiate:j}=e.endpoints[y],O=r(),[R,D]=(0,J.useState)();(0,J.useEffect)(()=>()=>{R?.arg.fixedCacheKey||R?.reset()},[R]);const N=(0,J.useCallback)(function(se){const ue=O(j(se,{fixedCacheKey:S}));return D(ue),ue},[O,j,S]),{requestId:x}=R||{},L=(0,J.useMemo)(()=>A({fixedCacheKey:S,requestId:R?.requestId}),[S,R,A]),q=n((0,J.useMemo)(()=>T?a([L],T):L,[T,L]),wn),U=S==null?R?.arg.originalArgs:void 0,z=(0,J.useCallback)(()=>{t(()=>{R&&D(void 0),S&&O(e.internalActions.removeMutationResult({requestId:x,fixedCacheKey:S}))})},[O,S,R,x]),Z=cc(q,...uc,"endpointName");(0,J.useDebugValue)(Z);const re=(0,J.useMemo)(()=>({...q,originalArgs:U,reset:z}),[q,U,z]);return(0,J.useMemo)(()=>[N,re],[N,re])}}}var XN=Symbol(),JN=({batch:e=Zt.unstable_batchedUpdates,hooks:t={useDispatch:ut,useSelector:vt,useStore:me},createSelector:r=Df,unstable__sideEffectsInRender:n=!1,...i}={})=>({name:XN,init(o,{serializeQueryArgs:a},s){const c=o,{buildQueryHooks:l,buildInfiniteQueryHooks:u,buildMutationHook:d,usePrefetch:m}=YN({api:o,moduleOptions:{batch:e,hooks:t,unstable__sideEffectsInRender:n,createSelector:r},serializeQueryArgs:a,context:s});return fi(c,{usePrefetch:m}),fi(s,{batch:e}),{injectEndpoint(p,g){if(qN(g)){const{useQuery:h,useLazyQuery:v,useLazyQuerySubscription:E,useQueryState:C,useQuerySubscription:b}=l(p);fi(c.endpoints[p],{useQuery:h,useLazyQuery:v,useLazyQuerySubscription:E,useQueryState:C,useQuerySubscription:b}),o[`use${ma(p)}Query`]=h,o[`useLazy${ma(p)}Query`]=v}if(GN(g)){const h=d(p);fi(c.endpoints[p],{useMutation:h}),o[`use${ma(p)}Mutation`]=h}else if(uy(g)){const{useInfiniteQuery:h,useInfiniteQuerySubscription:v,useInfiniteQueryState:E}=u(p);fi(c.endpoints[p],{useInfiniteQuery:h,useInfiniteQuerySubscription:v,useInfiniteQueryState:E}),o[`use${ma(p)}InfiniteQuery`]=h}}}}}),Ne=iy(sy(),JN());function dc({title:e,members:t,projects_test_emails:r,inbox_email:n,ftp_settings:i,webhook:o,integrations:a,emails:s,blocks:c,...l}){const u=h=>Array.isArray(h)?h:h?[h]:[],d=h=>({ID:He(h.ID||h)}),m=h=>u(h).map(d),p=t,g=p&&{admins:m(p.admins),users:m(p.users),viewers:m(p.viewers),invited_users:u(p.invited_users),owner:p.owner&&d(p.owner)};return{...l,title:e,acf:{members:g,webhook:o,projects_test_emails:r,inbox_email:n,ftp_settings:i,integrations:a,emails:s,blocks:c}}}function ZN(e){if(!e)return;const t=/src=['"]([^'"]+)['"]/.exec(e);return t?t[1]:void 0}function fy(e,t){return typeof e=="number"||typeof e=="string"?{userId:be(e),role:t}:!ke(e)||e.ID==null?null:{userId:be(e.ID),role:t,email:e.user_email||void 0,firstName:e.user_firstname||void 0,lastName:e.user_lastname||void 0,displayName:e.display_name||void 0,avatarUrl:ZN(e.user_avatar)}}function eD(e){return Array.isArray(e)?e:[]}function my(e){return Array.isArray(e)?e.length:0}function mi(e){return Array.isArray(e)?e:void 0}function tn(e,t={}){const r=e.acf??{},n=ke(r.members)?r.members:{},i=[],o=n.owner;if(o&&(typeof o!="object"||ke(o))){const d=fy(o,"owner");d&&i.push(d)}const a=[[n.admins,"admin"],[n.users,"user"],[n.viewers,"viewer"]];for(const[d,m]of a)for(const p of eD(d)){const g=fy(p,m);g&&i.push(g)}const s=(Array.isArray(n.invited_users)?n.invited_users:[]).filter(d=>ke(d)&&d.invited_user_email).map(d=>({email:d.invited_user_email})),c=t.currentUserId!=null?be(t.currentUserId):void 0,l=c?i.find(d=>d.userId===c)?.role??"":"",u=e;return{id:be(e.id),name:bt(e.title)||"",myRole:l,members:i,invites:s,emailsCount:my(r.emails),blocksCount:my(r.blocks),createdAt:u.date_gmt||void 0,updatedAt:u.modified_gmt||void 0,inboxEmail:r.inbox_email||void 0,title:bt(e.title)||"",ftp_settings:ke(r.ftp_settings)?r.ftp_settings:void 0,projects_test_emails:Array.isArray(r.projects_test_emails)?r.projects_test_emails:void 0,folder:mi(u.folder),group:mi(u.group),blockfolder:mi(u.blockfolder),emailtags:mi(u.emailtags),blocktags:mi(u.blocktags),limits:ke(u.limits)?u.limits:void 0}}var tD=["owner","admin","user","viewer"],rD=["admin","user","viewer"];function py(e){return tD.includes(e)?e:""}function nD(e){return rD.includes(e)?e:void 0}function iD(e){return{userId:e.user_id||"",role:py(e.role),email:e.email||void 0,firstName:e.first_name||void 0,lastName:e.last_name||void 0,displayName:e.display_name||void 0,avatarUrl:e.avatar_url||void 0,lastLogin:e.last_login||void 0,joinedAt:e.joined_at||void 0}}function oD(e){return{email:e.email,role:nD(e.role),invitedAt:e.invited_at||void 0}}function aD(e){if(e)return{slug:e.slug||"",name:e.name||"",isPaid:e.is_paid===!0}}function pi(e){return{id:e.wp_id?String(e.wp_id):e.id??"",nativeId:e.id||void 0,name:e.name||"",myRole:py(e.my_role),members:(e.members??[]).map(iD),invites:(e.invites??[]).filter(t=>!!t.email).map(oD),emailsCount:e.emails_count??0,blocksCount:e.blocks_count??0,createdAt:e.created_at||void 0,updatedAt:e.updated_at||void 0,inboxEmail:e.inbox_email||void 0,ownerPlan:aD(e.owner_plan),title:e.name||""}}function sD(e,t){const r=e.members??[],n=e.invites??[],i=(a,s)=>String(a.userId)===String(s),o=(a,s)=>String(a.email).trim().toLowerCase()===String(s).trim().toLowerCase();switch(t.kind){case"changeRole":return{members:r.map(a=>i(a,t.userId)?{...a,role:t.role}:a),invites:n};case"removeMember":return{members:r.filter(a=>!i(a,t.userId)),invites:n};case"revokeInvite":return{members:r,invites:n.filter(a=>!o(a,t.email))};case"restoreMember":return{members:r.some(a=>i(a,t.userId))?r:[...r,{userId:String(t.userId),role:t.role}],invites:n};case"restoreInvite":return{members:r,invites:n.some(a=>o(a,t.email))?n:[...n,{email:t.email}]};default:return{members:r,invites:n}}}function lD(e,t){const r=i=>e.filter(o=>o.role===i).map(o=>o.userId),n=e.find(i=>i.role==="owner");return{...n?{owner:{ID:n.userId}}:{},admins:r("admin"),users:r("user"),viewers:r("viewer"),invited_users:t.map(i=>({invited_user_email:i.email}))}}function ot(){return Qr(ft.em_projects_v2)??!0}var Ke="Projects",hi="LIST",fc=12;function rn(e){return{error:LN(e)}}function gi(e){const t=Qo(ie(e)).profile?.id;return t!=null&&t!==""?String(t):void 0}function cD(e){switch(e){case"modified":return"updated_at";case"title":return"name";case"author":return"owner";case"emails":return"emails";case"blocks":return"blocks";case"members_count":return"members";case"date":case void 0:return"created_at";default:return"created_at"}}function uD(e){const t=Math.max(1,e.per_page??fc),r={limit:t,offset:(Math.max(1,e.page??1)-1)*t};return e.search&&(r.search=e.search),e.orderby&&(r.order_by=cD(e.orderby)),(e.order==="asc"||e.order==="desc")&&(r.order=e.order),r}function dD(e){if(Array.isArray(e))return e;if(e!=null&&typeof e=="object"){const t=e.projects;if(Array.isArray(t))return t}return[]}function fD(e){if(typeof e=="number"&&Number.isFinite(e)&&e>=0)return Math.trunc(e);if(typeof e=="string"&&e.trim()!==""){const t=parseInt(e,10);if(Number.isFinite(t)&&t>=0)return t}}function hy(e){const t={id:"",name:"",title:"",myRole:"",members:[],invites:[],emailsCount:0,blocksCount:0};if(e==null||typeof e!="object"||Array.isArray(e))return t;const r=e,n=fD(r.emails_count);return{...t,id:r.id!=null?String(r.id):"",name:typeof r.title=="string"?r.title:"",title:typeof r.title=="string"?r.title:"",emailsCount:n??0}}function mD(e,t,r){const n=e.headers?.get?.("X-WP-Total"),i=e.headers?.get?.("X-WP-TotalPages"),o=n!=null&&n!==""?parseInt(String(n),10):NaN,a=i!=null&&i!==""?parseInt(String(i),10):NaN,s=Math.max(1,t.per_page??fc),c=Number.isFinite(a)?a:Number.isFinite(o)?Math.max(1,Math.ceil(o/s)):NaN,l=Math.max(1,t.page??1),u=s;let d=o,m=c;return Number.isFinite(d)?Number.isFinite(m)||(m=Math.max(1,Math.ceil(d/u))):l===1?r===0?(d=0,m=1):r<u?(d=r,m=1):(d=r+1,m=2):r===0?(d=Math.max(0,(l-1)*u),m=Math.max(1,l-1)):r<u?(d=(l-1)*u+r,m=l):(d=l*u+1,m=l+1),{total:d,totalPages:m}}var nn=Ne({reducerPath:"projectsApi",tagTypes:[Ke,"project"],baseQuery:We({baseUrl:"https://app.emailmaker.ru/api/wp-json/wp/v2/"}),endpoints:e=>({getProjects:e.query({async queryFn(t={page:1},r){if(ot()){const a=await ht(r).projects.projectsList(uD(t));if(!a.ok||a.error)return rn(a);const s=(a.data?.data??[]).map(pi),c=Math.max(1,t.per_page??fc),l=a.data?.page?.total??s.length;return{data:s,meta:{projectsListPagination:{total:l,totalPages:Math.max(1,Math.ceil(l/c))}}}}const n=K(r),i=gi(r),o={status:["private"]};return t.page&&(o.page=t.page),t.order&&(o.order=t.order),t.orderby&&(o.orderby=t.orderby),t.search&&(o.search=t.search),t.after&&(o.after=t.after),t.before&&(o.before=t.before),t.per_page!=null&&(o.per_page=t.per_page),n.wp.project_list(o).then(a=>{const s=et(c=>tn(c,{currentUserId:i}))(a);return s.error?{error:s.error}:{data:s.data,meta:{projectsListPagination:mD(a,t,s.data.length)}}})},providesTags:t=>t?[...t.map(({id:r})=>({type:Ke,id:r})),{type:Ke,id:hi}]:[{type:Ke,id:hi}]}),getProject:e.query({async queryFn(t,r){if(ot()){const o=await mk(ie(r),String(t));if(o)return{data:o};const a=await ht(r).projects.projectsDetail({id:String(t)});return!a.ok||a.error?rn(a):{data:pi(a.data)}}const n=K(r),i=gi(r);return n.wp.project_detail({id:Number(t)},{extraQuery:{_embed:"wp:term"}}).then(Te(o=>tn(o,{currentUserId:i})))},providesTags:(t,r,n)=>[{type:"project",id:n}]}),addProject:e.mutation({async queryFn(t,r){if(ot()){const o=await ht(r).projects.projectsCreate({name:t.title});return!o.ok||o.error?rn(o):{data:pi(o.data)}}const n=K(r),i=gi(r);return n.wp.project_create({status:"private",...dc(t)},{type:P.ContentType.Json}).then(Te(o=>tn(o,{currentUserId:i})))},invalidatesTags:[{type:Ke,id:hi}]}),editProject:e.mutation({async queryFn({projectId:t,...r},n){const i=Object.keys(r).filter(c=>c!=="title");if(ot()&&i.length===0&&r.title!=null){const c=await ht(n).projects.projectsPartialUpdate({id:String(t)},{name:r.title});return!c.ok||c.error?rn(c):{data:pi(c.data)}}const o=K(n),a=gi(n),s=Se(dc(r),!0);return o.wp.project_partial_update({id:Number(t)},s,{type:P.ContentType.Json}).then(Te(c=>tn(c,{currentUserId:a})))},invalidatesTags:(t,r,{projectId:n})=>[{type:Ke,id:n},{type:"project",id:n}]}),deleteProject:e.mutation({async queryFn(t,r){if(ot()){const n=await ht(r).projects.projectsDelete({id:String(t)});return!n.ok||n.error?rn(n):{data:{...hy(null),id:String(t)}}}return K(r).wp.project_delete({id:Number(t)},{}).then(bo(n=>tn(n)))},invalidatesTags:(t,r,n)=>[{type:Ke,id:n},{type:"project",id:n},{type:Ke,id:hi}]}),mutateProjectMembers:e.mutation({async queryFn({project:t,action:r},n){const i=t.id;if(ot()){const l=ht(n),u=String(i);switch(r.kind){case"changeRole":{const d=await l.projects.membersPartialUpdate({id:u,userId:String(r.userId)},{role:r.role});return it(d)}case"removeMember":{const d=r.isSelf&&t.myRole!=="owner"?await l.projects.membersMeDelete({id:u}):await l.projects.membersDelete({id:u,userId:String(r.userId)});return it(d)}case"revokeInvite":{const d=await l.projects.invitesDelete({id:u,email:r.email});return it(d)}case"restoreMember":{const d=r.email??t.members.find(p=>String(p.userId)===String(r.userId))?.email;if(!d)return{error:{status:400,data:{message:"member email is unknown"}}};const m=await l.projects.membersCreate({id:u},{email:d,role:r.role==="admin"?"admin":"user"});return it(m)}case"restoreInvite":{const d=await l.projects.membersCreate({id:u},{email:r.email,role:"user"});return it(d)}default:return{data:void 0}}}const o=sD(t,r),a=K(n),s=Se(dc({members:lD(o.members,o.invites)}),!0),c=await a.wp.project_partial_update({id:Number(t.id)},s,{type:P.ContentType.Json});return{error:c.error,data:c.data}},invalidatesTags:(t,r,{project:n})=>[{type:Ke,id:n.id},{type:"project",id:n.id}]}),addProjectMember:e.mutation({async queryFn({project:t,email:r,role:n},i){if(ot()){const a=await ht(i).projects.membersCreate({id:String(t.id)},{email:r,role:n??"user"});return it(a)}const o=await K(i).userToProject.add_user_create({email:r,project_id:String(t.id),...n?{role:n}:{}},{type:P.ContentType.FormData});return{error:o.error,data:o.data}},invalidatesTags:(t,r,{project:n})=>[{type:Ke,id:n.id},{type:Ke,id:hi},{type:"project",id:n.id}]}),getFrequentProjects:e.query({async queryFn(t,r){const n=typeof t=="number"&&t>0?t:5;if(ot()){const a=await ht(r).projects.topUsedList({limit:n});return!a.ok||a.error?rn(a):{data:(a.data??[]).map(pi)}}const i=K(r),o=gi(r);try{const a=await i.projects.top_used_list({limit:n});if(!a.ok||a.error)throw a.error??new Error("top-used request failed");const s=dD(a.data);return et(hy)({data:s,error:a.error,meta:a.meta})}catch{const a=await i.wp.project_list({per_page:n,order:"desc",orderby:"modified",status:["private"]});return et(s=>tn(s,{currentUserId:o}))({data:a.data,error:a.error,meta:a.meta})}},providesTags:t=>t&&t.length>0?[...t.map(({id:r})=>({type:Ke,id:r})),{type:Ke,id:"FREQUENT"}]:[{type:Ke,id:"FREQUENT"}]})})});function pD(){const e=ut();return(0,_.useCallback)(t=>{t==null||t===""||e(nn.util.invalidateTags([{type:"project",id:t}]))},[e])}var{useGetProjectsQuery:h3,useGetProjectQuery:gy,useAddProjectMutation:g3,useEditProjectMutation:hD,useGetFrequentProjectsQuery:y3,useMutateProjectMembersMutation:_3,useAddProjectMemberMutation:v3}=nn,gD=class{http;constructor(e){this.http=e}formsCreate=(e,t={})=>this.http.request({path:"/public/forms",method:"POST",body:e,type:V.Json,format:"json",...t});templateCategoriesList=(e={})=>this.http.request({path:"/public/template-categories",method:"GET",format:"json",...e});templateCategoriesDetail=({slug:e},t={})=>this.http.request({path:`/public/template-categories/${e}`,method:"GET",format:"json",...t});templatesList=(e={},t={})=>this.http.request({path:"/public/templates",method:"GET",query:e,format:"json",...t});templatesDetail=({slug:e},t={})=>this.http.request({path:`/public/templates/${e}`,method:"GET",format:"json",...t})};function yy(e){return{id:e.id??"",name:e.name??"",children:(e.categories??[]).map(t=>({id:t.id??"",name:t.name??"",count:t.template_count??0,count_template:t.template_count??0}))}}async function yD(e){const t=await le(e,[gD]).templateCategoriesList();return ne(t)?{error:ae(t)}:{data:(t.data??[]).map(yy)}}async function _D(e,t){const r=await le(e,[ui]).templateSectionsList({id:t});return ne(r)?{error:ae(r)}:{data:(r.data?.sections??[]).map(yy)}}async function vD(e,t){return t.scope==="gallery"?yD(e):t.projectId==null||t.projectId===""?{data:[]}:_D(e,String(t.projectId))}var bD=P.createIdentifier$1("EmailTerms");function ED(e,t,r){const n=e?.getInstance(bD),i=n?.get(),o=i?.[r];if(!(!n||!i||o===void 0||i.projectId!==String(t)))return n.set({...i,[r]:void 0}),o}var wD=class{http;constructor(e){this.http=e}sharedList=(e={})=>this.http.request({path:"/email-labels/shared",method:"GET",secure:!0,format:"json",...e})},on=[ui,wD];function _y(e){const t=(e.children??[]).map(_y),r=e.email_count??0;return{id:e.id??"",name:e.name??"",parent:e.parent_id??0,count:r,totalCount:e.total_email_count??t.reduce((n,i)=>n+(i.totalCount??0),r),count_template:0,children:t}}function SD(e){return{id:e.id??"",name:e.name??"",parent:0,count:e.email_count??0,count_template:0,children:[]}}function vy(e,t){for(const r of e){if(r.id===t)return r;const n=vy(r.children,t);if(n)return n}}async function PD(e,t){const r=await le(e,on).emailFoldersList({id:String(t)});return ne(r)?{error:ae(r)}:{data:(r.data?.folders??[]).map(_y)}}async function ID(e,t){const r=await le(e,on).emailLabelsList({id:String(t)});return ne(r)?{error:ae(r)}:{data:(r.data?.labels??[]).map(SD)}}async function TD(e){const t=await le(e,on).sharedList();return ne(t)?{error:ae(t)}:{data:(t.data?.labels??[]).map(r=>({id:r.id??"",name:r.name??""}))}}function OD(e,t,r){return r==="folder"?PD(e,t):ID(e,t)}async function CD(e,t,r,n,i){const o=le(e,on),a=String(t),s=r==="folder"?await o.emailFoldersCreate({id:a},{name:n,...i?{parent_id:i}:{}}):await o.emailLabelsCreate({id:a},{name:n});if(ne(s))return{error:ae(s)};const c=s.data??{};return{data:{id:c.id??"",name:c.name??n,parent:c.parent_id??0,count:0,count_template:0,children:[]}}}async function AD(e,t,r,n,i){const o=le(e,on),a=String(t),s=r==="folder"?await o.emailFoldersPartialUpdate({id:a,folderId:n},{name:i}):await o.emailLabelsPartialUpdate({id:a,labelId:n},{name:i});return ne(s)?{error:ae(s)}:{data:{id:n,name:s.data?.name??i}}}async function kD(e,t,r,n){const i=le(e,on),o=String(t),a=r==="folder"?await i.emailFoldersDelete({id:o,folderId:n}):await i.emailLabelsDelete({id:o,labelId:n});return ne(a)?{error:await Zr(a)}:{data:{deleted:!0}}}var jD="Taxonomies",MD={folder:"folders",group:"groups",blockfolder:"blockFolders",emailtags:"emailTags",blocktags:"blockTags"};function pa(e){return Fe()&&(e==="folder"||e==="emailtags")?e:void 0}function yi(e){return{error:e}}function _i(e){return{data:e}}function mc(e,t){return t??e.getState?.()?.projectSlice?.project}function ha(e,t){return{error:t??{status:400,data:{message:e}}}}function by(e,t){return e?.[t]?.[0]}function RD(e){return e?.data?.term_id}async function ND(e,t,r){const n=by(t,r);if(n)return{rootId:n};const i=await K(e).wp[`${r}_create`]({name:`project_${t.id}`}),o=i?.data?.id??RD(i?.error);return o==null?{error:i?.error}:(await e.dispatch(nn.endpoints.editProject.initiate({projectId:t.id,[r]:[o]})),{rootId:o})}function ga(e){return{id:e.id,name:e.name,parent:e.parent_id??0,count:e.count??0,count_template:e.template_count??0,children:(e.children??[]).map(ga)}}async function DD(e,t){const r=await vD(ie(e),t);return r.error===void 0?{data:r.data??[]}:{error:r.error}}function ya(e,t){return{client:ht(e),resource:MD[t]}}var vi=Ne({reducerPath:"taxonomiesApi",tagTypes:[jD,"folder","block_folder","Group"],baseQuery:We({baseUrl:"https://app.emailmaker.ru/api/wp-json/wp/v2/"}),endpoints:e=>({getTerms:e.query({async queryFn({project:t,kind:r,parent:n},i){const o=pa(r);if(o){const c=ie(i),l=n?void 0:await ED(c,t.id,o),u=l&&!l.error?l:await OD(c,t.id,o);return u.error?yi(u.error):_i(n?vy(u.data??[],String(n))?.children??[]:u.data??[])}if(ot()){const{client:c,resource:l}=ya(i,r),u=await c.projects[`${l}List`]({id:String(t.id),...n?{parent_id:n}:{}});return!u.ok||u.error?{error:u.error}:{data:(u.data??[]).map(ga)}}const a=K(i),s=n??by(t,r);return s==null?{data:[]}:a.wp[`${r}_list`]({per_page:100,parent:s})},serializeQueryArgs:({endpointName:t,queryArgs:r})=>`${t}(${r?.project?.id}:${r?.kind}:${r?.parent??"root"})`,providesTags:(t,r,{kind:n,parent:i})=>[{type:"folder",id:n},{type:"folder",id:`${n}:${i??"root"}`}]}),addTerm:e.mutation({async queryFn({project:t,kind:r,name:n,parent:i},o){const a=mc(o,t);if(!a?.id)return ha("project is unknown");const s=pa(r);if(s){const u=await CD(ie(o),a.id,s,n??"",i?String(i):void 0);return u.error?yi(u.error):_i(u.data)}if(ot()){const{client:u,resource:d}=ya(o,r),m=await u.projects[`${d}Create`]({id:String(a.id)},{name:n,...i?{parent_id:i}:{}});return!m.ok||m.error?{error:m.error}:{data:ga(m.data)}}const c=K(o);let l=i;if(l==null){const u=await ND(o,a,r);if(u.rootId==null)return ha("root term was not created",u.error);l=u.rootId}return c.wp[`${r}_create`]({name:n,parent:l})},invalidatesTags:(t,r,{kind:n})=>[{type:"folder",id:n}]}),editTerm:e.mutation({async queryFn({project:t,kind:r,id:n,name:i},o){const a=mc(o,t);if(!a?.id)return ha("project is unknown");const s=pa(r);if(s){const c=await AD(ie(o),a.id,s,String(n),i??"");return c.error?yi(c.error):_i(c.data)}if(ot()){const{client:c,resource:l}=ya(o,r),u=await c.projects[`${l}PartialUpdate`]({id:String(a.id),termId:Number(n)},{name:i});return!u.ok||u.error?{error:u.error}:{data:ga(u.data)}}return K(o).wp[`${r}_partial_update`]({id:n},{name:i})},invalidatesTags:(t,r,{kind:n})=>[{type:"folder",id:n}]}),getSharedEmailLabels:e.query({async queryFn(t,r){const n=await TD(ie(r));return n.error?yi(n.error):_i(n.data??[])}}),getTemplateSections:e.query({queryFn:(t,r)=>DD(r,t),providesTags:()=>[{type:"folder",id:"group"}]}),getStandardGroups:e.query({queryFn(t,r){return K(r).wp.group_list({per_page:100})}}),deleteTerm:e.mutation({async queryFn({project:t,kind:r,id:n},i){const o=mc(i,t);if(!o?.id)return ha("project is unknown");const a=pa(r);if(a){const c=await kD(ie(i),o.id,a,String(n));return c.error?yi(c.error):_i(c.data)}if(ot()){const{client:c,resource:l}=ya(i,r),u=await c.projects[`${l}Delete`]({id:String(o.id),termId:Number(n)});return ne(u)?{error:await Zr(u)}:{data:{deleted:!0}}}const s=await K(i).wp[`${r}_delete`]({id:n},{force:!0});return s.error?{error:s.error}:{data:{deleted:!0}}},invalidatesTags:(t,r,{kind:n})=>[{type:"folder",id:n}]})})});function LD(){const e=ut();return(0,_.useCallback)(t=>{e(vi.util.invalidateTags([{type:"folder",id:t}]))},[e])}var{useGetTermsQuery:FD,useGetStandardGroupsQuery:b3,useGetTemplateSectionsQuery:xD,useGetSharedEmailLabelsQuery:E3,useLazyGetTermsQuery:w3,useAddTermMutation:BD,useEditTermMutation:UD,useDeleteTermMutation:$D}=vi,Ey=new URLSearchParams(window.location.search),wy=Ey.get("tag"),qD=Ey.get("folder"),GD={activeModal:"",switchToPlanRequestTitle:"",secondModal:"",projectsTotal:"",projectsTotalPages:"",folders:[],activeTagId:wy||null,activeFolderId:qD||(wy?null:"all"),activeIntegration:null,addNewProjectInitialTitle:null},pc="projectsPageSlice",Sy=Le({name:pc,initialState:GD,reducers:{openModal(e,t){e.activeModal=t.payload},openAddNewProjectModal(e,t){e.activeModal=_e.ADD_NEW_PROJECT_MODAL,e.addNewProjectInitialTitle=t.payload??null},setSwitchToPlanRequestTitle(e,t){e.switchToPlanRequestTitle=typeof t.payload=="string"?t.payload:""},closeModal(e){e.activeModal="",e.activeIntegration=null,e.addNewProjectInitialTitle=null,e.switchToPlanRequestTitle=""},openSecondModal(e,t){e.secondModal=t.payload},closeSecondModal(e){e.secondModal=""},setFolders(e,{payload:t}){e.folders=t},setActiveTagId(e,{payload:t}){e.activeTagId=t},setActiveIntegration(e,t){e.activeIntegration=t.payload}},extraReducers:e=>{e.addMatcher(nn.endpoints.getProjects.matchFulfilled,(t,r)=>{const n=r.meta,i=n.baseQueryMeta,o=n.projectsListPagination??i?.projectsListPagination;if(o!=null&&typeof o.total=="number"&&Number.isFinite(o.total)&&o.total>=0){t.projectsTotal=String(o.total),t.projectsTotalPages=String(typeof o.totalPages=="number"&&Number.isFinite(o.totalPages)?o.totalPages:"");return}const a=i?.response?.headers?.get?.("X-WP-Total"),s=i?.response?.headers?.get?.("X-WP-TotalPages");t.projectsTotal=a??"",t.projectsTotalPages=s??""}),e.addMatcher(vi.endpoints.getTerms.matchFulfilled,(t,{meta:r,payload:n})=>{const i=r.arg.originalArgs?.kind;(i==="folder"||i==="blockfolder")&&(t.folders=n)})}}),{openModal:Py,openAddNewProjectModal:S3,setSwitchToPlanRequestTitle:P3,closeModal:Iy,openSecondModal:zD,closeSecondModal:VD,setFolders:I3,setActiveTagId:T3,setActiveIntegration:O3}=Sy.actions,hc=e=>e[pc].activeModal,HD=e=>e[pc].secondModal,WD=new Set([_e.UPLOAD_IMAGE_MODAL,_e.UPLOAD_BACKGROUND_MODAL,_e.UPLOAD_IMAGE_MODAL_AI,_e.UPLOAD_BACKGROUND_MODAL_AI,_e.UPLOAD_IMAGE_MODAL_STOCK,_e.UPLOAD_BACKGROUND_MODAL_STOCK,_e.UPLOAD_IMAGE_MODAL_GIF,_e.UPLOAD_BACKGROUND_MODAL_GIF,_e.UPLOAD_IMAGE_MODAL_EDIT,_e.UPLOAD_BACKGROUND_MODAL_EDIT,_e.UPLOAD_IMAGE_MODAL_UPLOAD,_e.UPLOAD_BACKGROUND_MODAL_UPLOAD]),KD=new Set([_e.UPLOAD_IMAGE_MODAL_EDIT,_e.UPLOAD_BACKGROUND_MODAL_EDIT]);function QD(e){return!!e&&KD.has(e)}function Ty(e){return!!e&&WD.has(e)}var YD={[_e.UPLOAD_IMAGE_MODAL_EDIT]:_e.UPLOAD_IMAGE_MODAL_UPLOAD,[_e.UPLOAD_BACKGROUND_MODAL_EDIT]:_e.UPLOAD_BACKGROUND_MODAL_UPLOAD};function XD(e,t){return t?e:YD[e]??e}var Oy=(0,_.createContext)(null),JD=e=>e.includes("UPLOAD_IMAGE_")||e.includes("UPLOAD_BACKGROUND_"),ZD=({children:e})=>{const t=ut(),r=vt(hc),[n,i]=(0,_.useState)(null),o=(0,_.useRef)(null),a=(0,_.useCallback)(l=>{o.current?.(l),o.current=null},[]),s=(0,_.useCallback)(l=>{a(null);const u=XD(l.entryModal,!!(l.currentUrl||l.imageDataUrl));return i({...l,entryModal:u}),t(Py(u)),new Promise(d=>{o.current=d})},[t,a]);(0,_.useEffect)(()=>{JD(r)||(i(null),o.current&&a(null))},[r,a]);const c=(0,_.useMemo)(()=>({request:n,openImagePicker:s,resolveImagePicker:a}),[n,s,a]);return(0,M.jsx)(Oy.Provider,{value:c,children:e})},eL=()=>{const e=(0,_.useContext)(Oy);if(!e)throw new Error("useImagePicker must be used within ImagePickerProvider");return e};function _a(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)n!=="__proto__"&&(e[n]=r[n])}return e}var tL={read:function(e){return e[0]==='"'&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function gc(e,t){function r(i,o,a){if(!(typeof document>"u")){a=_a({},t,a),typeof a.expires=="number"&&(a.expires=new Date(Date.now()+a.expires*864e5)),a.expires&&(a.expires=a.expires.toUTCString()),i=encodeURIComponent(i).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var s="";for(var c in a)a[c]&&(s+="; "+c,a[c]!==!0&&(s+="="+a[c].split(";")[0]));return document.cookie=i+"="+e.write(o,i)+s}}function n(i){if(!(typeof document>"u"||arguments.length&&!i)){for(var o=document.cookie?document.cookie.split("; "):[],a={},s=0;s<o.length;s++){var c=o[s].split("="),l=c.slice(1).join("=");try{var u=decodeURIComponent(c[0]);if(u in a||(a[u]=e.read(l,u)),i===u)break}catch{}}return i?a[i]:a}}return Object.create({set:r,get:n,remove:function(i,o){r(i,"",_a({},o,{expires:-1}))},withAttributes:function(i){return gc(this.converter,_a({},this.attributes,i))},withConverter:function(i){return gc(_a({},this.converter,i),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}var Cy=gc(tL,{path:"/"}),rL={ru:"ru_RU",en:"en_US",de:"de_DE",fr:"fr_FR",es:"es_ES",it:"it_IT",pl:"pl_PL",pt:"pt_BR"};function nL(e){const t=String(e??"").trim().replace("-","_");if(t)return rL[t]??t}var iL=["is_paying","is_paying_user","paying","paying_user"];function yc(e){if(!e||typeof e!="object")return!1;const t=e;for(const r of iL){const n=t[r];if(n===!0||n===1||n==="1"||typeof n=="string"&&n.trim().toLowerCase()==="true")return!0}return!1}function va(e){if(e===void 0)return;if(e===null||e==="")return null;const t=Number(e);return Number.isFinite(t)?t:null}function oL(e){if(!e)return!1;const t=e;return Ay(t.trial_enabled??t.trial??t.is_get_trial)}function Ay(e){return e===!0||e===1||e==="1"?!0:typeof e=="string"&&e.toLowerCase()==="true"}function Wt(e){return e||void 0}function aL(e){if(!e)return;const t={font_size:Wt(e.font_size),font_family:Wt(e.font_family),tab_size:Wt(e.tab_size),word_wrap:e.word_wrap,minimap:e.minimap,insert_spaces:e.insert_spaces};return Object.values(t).some(r=>r!==void 0)?t:void 0}function sL(e){const t=e?.match(/^(\d{4})-(\d{2})-(\d{2})$/);return t?`${t[3]}.${t[2]}.${t[1]}`:void 0}function lL(e){return e?Se({subscription:{post_name:e.slug,post_title:e.name},subscription_end:sL(e.ends_at),trial_enabled:e.is_trial,is_paying:e.is_paying,recurring_payments:e.auto_renewal,subscription_id:e.subscription_id}):{}}function ky(e){const t=e.profile??{},r=e.preferences??{},n=e.id??"";return{id:e.wp_user_id!=null?String(e.wp_user_id):n,nativeId:n,username:t.username||"",email:e.email||"",password:"",name:Wt(t.display_name),first_name:Wt(t.first_name),last_name:Wt(t.last_name),avatar_url:Wt(t.avatar_url),roles:e.role?[e.role]:void 0,email_confirmation:e.email_confirmed,privacy_policy_agreement:e.privacy_policy_agreed,locale:nL(r.locale),theme:Wt(r.theme),autosaves:r.autosaves,newsletter_consent:r.newsletter_consent,email_subscription_consent:r.newsletter_consent,email_builder_config:r.editor_mode,code_editor:aL(r.editor),last_used_project:Wt(e.last_used_project),...lL(e.plan)}}function cL(e){if(!e||typeof e!="object")return!1;const t=e;return t.profile!==void 0||t.preferences!==void 0}var jy=!1;function uL(e){jy||!e||typeof e!="object"||e.acf===void 0&&(jy=!0,yl("GET /auth/user: неизвестная форма ответа",{origin:"auth-user-shape",level:"warning",contexts:{auth_user_shape:{keys:Object.keys(e)}}}))}function dL(e,{reportShape:t=!0}={}){const r=Array.isArray(e)?e[0]:e;return cL(r)?ky(r):(t&&uL(r),ba(r??{}))}var fL=["pro","simple","editor"];function mL(e){return e!==void 0&&fL.includes(e)?e:void 0}function pL(e){return e==null?e:Se({font_size:e.font_size,font_family:e.font_family,tab_size:e.tab_size,word_wrap:e.word_wrap,minimap:e.minimap,insert_spaces:e.insert_spaces})}function _c(e){if(e!==void 0)return typeof e=="string"?e==="true"||e==="1":!!e}function hL(e){const t=Se({display_name:e.name,first_name:e.first_name,last_name:e.last_name,username:e.username,avatar_url:e.avatar_url}),r=Se({locale:e.locale,theme:e.theme,autosaves:_c(e.autosaves),newsletter_consent:_c(e.newsletter_consent),editor_mode:mL(e.email_builder_config),editor:pL(e.code_editor)});return Se({profile:Object.keys(t).length>0?t:void 0,preferences:Object.keys(r).length>0?r:void 0})}function ba(e){const t=e.acf??{},{autosaves:r,hide_mergetags:n,theme:i,newsletter_consent:o,code_editor:a,counters:s,subscription:c,subscription_end:l,recurring_payments:u,subscription_id:d,promocode:m,subscription_amount:p,enterprise_users_limit:g,enterprise_price:h,enterprise_12_price:v,privacy_policy_agreement:E,last_used_project:C,email_confirmation:b,email_builder_config:w}=t,{id:I,acf:y,...T}=e,S=oL(t),A=s??{},j=yc(t)||yc(T)||yc(e.meta);return{...T,id:be(I),avatar_url:T.avatar_urls?.["96"]??T.avatar_urls?.["48"]??T.avatar_urls?.["24"],username:T.username||"",email:T.email||"",password:T.password||"",trial_enabled:S,is_paying:j,autosaves:r,hide_mergetags:n,theme:i,newsletter_consent:o,code_editor:a?{...a,font_size:Number(a.font_size)}:void 0,counters:Object.keys(A).reduce((O,R)=>(O[R]=Number(A[R]),O),{}),subscription:c,subscription_end:l,recurring_payments:u,subscription_id:d,promocode:m,subscription_amount:va(p),enterprise_users_limit:va(g),enterprise_price:va(h),enterprise_12_price:va(v),privacy_policy_agreement:E,last_used_project:C,email_confirmation:b,email_builder_config:w}}function gL({autosaves:e,theme:t,newsletter_consent:r,code_editor:n,counters:i,subscription:o,subscription_end:a,recurring_payments:s,subscription_id:c,promocode:l,subscription_amount:u,enterprise_users_limit:d,enterprise_price:m,enterprise_12_price:p,privacy_policy_agreement:g,locale:h,last_used_project:v,email_confirmation:E,email_builder_config:C,trial_enabled:b,is_paying:w,id:I,nativeId:y,...T}){return{...T,id:He(I),locale:h,acf:{autosaves:_c(e),theme:t,newsletter_consent:r,code_editor:n?{...n,font_size:String(n.font_size)}:void 0,privacy_policy_agreement:g,last_used_project:v,email_confirmation:E,email_builder_config:C}}}function yL({title:e,acf:t,...r}){const{limits:n,price:i}=t??{limits:{}},o=t?.features;return{...r,title:bt(e)||"",limits:n,price:i,features:o}}function _L(){const e="https://app.emailmaker.ru/api/v2".replace(/\/+$/u,""),t=typeof window<"u"?window.location.origin:"";return{url:`${e.startsWith("http")?e:`${t}${e}`}/auth/user`,method:"GET"}}function vc(e){return sr.endpoints.getMe.select("")(e).data}var My=new WeakMap;function Ea(e){const t=ie(e)??e.getState;let r=My.get(t);return r||(r={seq:0,fields:new Map,projectWrites:Promise.resolve(),goWritesFailed:new WeakSet},My.set(t,r)),r}function Ry(e,t){e.seq+=1;for(const r of t)e.fields.set(r,e.seq)}function Ny(e,t,r,n){const i=vc(n),o=i&&(i.nativeId||i.id)===(e.nativeId||e.id);if(t===r.seq||!o)return e;const a={...e};for(const[s,c]of r.fields)if(c>t){const l=i[s];Object.assign(a,{[s]:l})}return a}function Dy(e){return!!vc(e)?.nativeId}async function vL(e){const t=vc(e.getState());if(t)return t;const r=e.dispatch(sr.endpoints.getMe.initiate(""));try{return(await r).data}finally{r.unsubscribe()}}var bL=1e4;function EL(e,t){return new Promise(r=>{const n=setTimeout(r,t),i=()=>{clearTimeout(n),r()};e.then(i,i)})}async function wL(e,t){const r={last_used_project:t};try{const n=await ht(e).auth.userPartialUpdate(r);return!!n?.ok&&!n.error}catch{return!1}}var sr=Ne({reducerPath:"authorizationApi",baseQuery:We({baseUrl:"https://app.emailmaker.ru/api/wp-json/wp/v2/",prepareHeaders:e=>{const t=Cy.get(Eo.em_token);return t&&!e.has("authorization")&&e.set("authorization",`Bearer ${t}`),e}}),endpoints:e=>({getMailConfirmation:e.query({queryFn(t,r){return K(r).wp.confirmation_list({...t})}}),getSchema:e.query({queryFn(t,r){return K(r).wp.users_me_list(void 0,{method:"OPTIONS",extraQuery:{_fields:"schema"}})}}),getMe:e.query({async queryFn(t,r,n,i){const o=Ea(r),a=o.seq,s=await iM(ie(r));if(s)return{data:Ny(s,a,o,r.getState())};const c=await i(_L());return c.error?{error:c.error}:{data:Ny(dL(c.data),a,o,r.getState())}}}),getUser:e.query({queryFn(t,r){return K(r).wp.users_detail({id:t}).then(Te(ba))}}),editMe:e.mutation({async queryFn(t,r){const n=await vL(r);if(!n?.nativeId){const a=await K(r).wp.users_me_create(Se(gL(t),!0),{type:P.ContentType.Json});return zI(a,ba)}const i=hL(t);if(Object.keys(i).length===0)return{data:n};const o=it(await ht(r).auth.userPartialUpdate(i));return"error"in o?{error:o.error}:{data:ky(o.data??{})}},async onQueryStarted(t,r){const{dispatch:n,queryFulfilled:i}=r;try{const{data:o}=await i,a=Object.keys(t);(a.includes("first_name")||a.includes("last_name"))&&o.name&&a.push("name"),a.includes("newsletter_consent")&&a.push("email_subscription_consent"),Ry(Ea(r),a),n(sr.util.updateQueryData("getMe","",s=>{for(const c of a){const l=c==="email_subscription_consent"?o.email_subscription_consent??o.newsletter_consent:o[c];Object.assign(s,{[c]:l})}}))}catch{}}}),setLastUsedProject:e.mutation({async queryFn(t,r){const{id:n,nativeId:i}=t;if(kl(ie(r)))return{data:void 0};const o=Ea(r),a=async()=>{const c=i&&Dy(r.getState())?wL(r,i):void 0,l={acf:{last_used_project:n}},[u,d]=await Promise.allSettled([K(r).wp.users_me_create(l,{type:P.ContentType.Json}).then(Te(ba)),c]);if(u.status==="rejected")throw u.reason;return d.status==="fulfilled"&&d.value===!1&&o.goWritesFailed.add(t),u.value},s=EL(o.projectWrites,bL).then(a);return o.projectWrites=s.catch(()=>{}),s},async onQueryStarted(t,r){const{id:n,nativeId:i}=t,{dispatch:o,queryFulfilled:a}=r,s=Dy(r.getState())?i??n:n;try{await a;const c=Ea(r);if(c.goWritesFailed.delete(t))return;Ry(c,["last_used_project"]),o(sr.util.updateQueryData("getMe","",l=>{l.last_used_project=s}))}catch{}}}),getSubscriptions:e.query({queryFn(t,r){return K(r).wp.subscription_list(void 0).then(et(yL))}}),activateTrial:e.mutation({query:t=>({url:`${"https://app.emailmaker.ru/api/".replaceAll(/[\\/]$/g,"")}/wp-json/subscription/v2/activate_trial`,method:"GET",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"}})})})}),{useGetMeQuery:C3,useLazyGetMeQuery:Ly,useEditMeMutation:SL,useSetLastUsedProjectMutation:A3,useLazyGetSchemaQuery:k3,useGetSubscriptionsQuery:Fy,useLazyGetMailConfirmationQuery:j3,useActivateTrialMutation:PL}=sr,IL={ru_RU:{"Unlimited possibilities with the PRO plan":["Безграничные возможности с тарифом PRO"],"All plan features":["Все преимущества тарифов"],Free:["Free"],Personal:["Персональный"],Advanced:["Продвинутый"],"Advanced+":["Продвинутый+"],Pro:["Профессиональный"],"Pro+":["Профессиональный+"],Enterprise:["Корпоративный"],"Projects and emails":["Проекты и письма"],"Email editor":["Редактор писем"],"Additional features":["Дополнительные функции"],"Team collaboration":["Командная работа"],Support:["Поддержка"],Projects:["Проекты"],"Saved email templates":["Сохранённые шаблоны писем"],"Saved blocks":["Сохранённые блоки"],"Exports per month":["Экспорты в месяц"],"Export to HTML, ZIP and clipboard":["Экспорт в HTML, ZIP и буфер обмена"],"Export to PDF":["Экспорт в PDF"],"Export to PNG":["Экспорт в PNG"],"Export to webhook":["Экспорт в вебхук"],"Template import":["Импорт шаблона"],"Test emails":["Отправка тестовых писем"],"Preview mode":["Предпросмотр письма"],"Undo and redo":["Отмена и повтор действий"],"Export to Outlook":["Экспорт в Outlook"],"Email client tests":["Тесты в почтовиках"],"Block visibility control":["Управление видимостью блоков"],"Border control":["Управление рамками"],"Corner radius control":["Управление скруглением"],"Shadow control":["Управление тенью"],"Convert block to image":["Преобразование блока в изображение"],Typographer:["Типограф"],"Variables support":["Работа с переменными"],"Timer element":["Элемент «Таймер»"],"Video element":["Элемент «Видео»"],"AMP elements":["AMP элементы"],"AI image element":["Элемент «AI картинка»"],"AI image generation":["AI генерация изображений"],"Stock images and GIFs":["Стоковые изображения и GIF"],"Image editor":["Редактор изображений"],"AMP support":["Поддержка AMP"],"HTML code editing":["Правка HTML кода"],"Mobile adaptation":["Адаптация под мобильные устройства"],"Mobile element properties editor":["Редактор свойств элементов для мобильных"],"AI Assistant":["AI Ассистент"],"Link and image checks":["Проверка ссылок и изображений"],"Saved version history":["История сохранённых версий"],Users:["Пользователи"],"Template discussion":["Обсуждение шаблонов"],"User roles and access levels":["Роли пользователей и уровни доступа"],Chat:["Чат"],"Email support":["Электронная почта"],"Phone support":["Телефон"],"Video call":["Видеосозвон"],"Invoice payment and document flow":["Оплата по счёту, документооборот"],"Failed to load plan data":["Не удалось загрузить данные тарифа"],"Editor features depend on your plan. Check your connection and try again.":["Возможности редактора зависят от тарифа. Проверьте соединение и повторите попытку."],"Try again":["Повторить"]}};function TL(e,t){const r=t?IL[t]:void 0;return r&&e.setLocaleData(r),e}var OL={items_per_page:"/ стр.",jump_to:"Перейти",jump_to_confirm:"подтвердить",page:"Страница",prev_page:"Назад",next_page:"Вперед",prev_5:"Предыдущие 5",next_5:"Следующие 5",prev_3:"Предыдущие 3",next_3:"Следующие 3",page_size:"размер страницы"},xy={yearFormat:"YYYY",dayFormat:"D",cellMeridiemFormat:"A",monthBeforeYear:!0};function bi(e){"@babel/helpers - typeof";return bi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},bi(e)}function By(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Uy(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?By(Object(r),!0).forEach(function(n){CL(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):By(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function CL(e,t,r){return t=AL(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function AL(e){var t=kL(e,"string");return bi(t)=="symbol"?t:String(t)}function kL(e,t){if(bi(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(bi(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var jL=Uy(Uy({},xy),{},{locale:"ru_RU",today:"Сегодня",now:"Сейчас",backToToday:"Текущая дата",ok:"ОК",clear:"Очистить",week:"Неделя",month:"Месяц",year:"Год",timeSelect:"Выбрать время",dateSelect:"Выбрать дату",monthSelect:"Выбрать месяц",yearSelect:"Выбрать год",decadeSelect:"Выбрать десятилетие",previousMonth:"Предыдущий месяц (PageUp)",nextMonth:"Следующий месяц (PageDown)",previousYear:"Предыдущий год (Control + left)",nextYear:"Следующий год (Control + right)",previousDecade:"Предыдущее десятилетие",nextDecade:"Следущее десятилетие",previousCentury:"Предыдущий век",nextCentury:"Следующий век"}),$y={placeholder:"Выберите время",rangePlaceholder:["Время начала","Время окончания"]},qy={lang:{placeholder:"Выберите дату",yearPlaceholder:"Выберите год",quarterPlaceholder:"Выберите квартал",monthPlaceholder:"Выберите месяц",weekPlaceholder:"Выберите неделю",rangePlaceholder:["Начальная дата","Конечная дата"],rangeYearPlaceholder:["Начальный год","Год окончания"],rangeMonthPlaceholder:["Начальный месяц","Конечный месяц"],rangeWeekPlaceholder:["Начальная неделя","Конечная неделя"],shortWeekDays:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],shortMonths:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],...jL},timePickerLocale:{...$y}},ML=qy,RL=Y.__exportAll({default:()=>Gy}),at="${label} не является типом ${type}",Gy={locale:"ru",Pagination:OL,DatePicker:qy,TimePicker:$y,Calendar:ML,global:{placeholder:"Пожалуйста выберите",close:"Закрыть",show:"Показать",hide:"Скрыть"},Table:{filterTitle:"Фильтр",filterConfirm:"OK",filterReset:"Сбросить",filterEmptyText:"Без фильтров",filterCheckAll:"Выбрать все элементы",filterSearchPlaceholder:"Поиск в фильтрах",emptyText:"Нет данных",selectAll:"Выбрать всё",selectInvert:"Инвертировать выбор",selectNone:"Очистить все данные",selectionAll:"Выбрать все данные",sortTitle:"Сортировка",expand:"Развернуть строку",collapse:"Свернуть строку",triggerDesc:"Нажмите для сортировки по убыванию",triggerAsc:"Нажмите для сортировки по возрастанию",cancelSort:"Нажмите, чтобы отменить сортировку"},Tour:{Next:"Далее",Previous:"Назад",Finish:"Завершить"},Modal:{okText:"OK",cancelText:"Отмена",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Отмена"},Transfer:{titles:["",""],searchPlaceholder:"Поиск",itemUnit:"элем.",itemsUnit:"элем.",remove:"Удалить",selectAll:"Выбрать все данные",deselectAll:"Очистить все данные",selectCurrent:"Выбрать текущую страницу",selectInvert:"Инвертировать выбор",removeAll:"Удалить все данные",removeCurrent:"Удалить текущую страницу"},Upload:{uploading:"Загрузка...",removeFile:"Удалить файл",uploadError:"При загрузке произошла ошибка",previewFile:"Предпросмотр файла",downloadFile:"Загрузить файл"},Empty:{description:"Нет данных"},Icon:{icon:"иконка"},Text:{edit:"Редактировать",copy:"Копировать",copied:"Скопировано",expand:"Раскрыть",collapse:"Свернуть"},Form:{optional:"(необязательно)",defaultValidateMessages:{default:"Ошибка проверки поля ${label}",required:"Пожалуйста, введите ${label}",enum:"${label} должен быть одним из [${enum}]",whitespace:"${label} не может быть пустым",date:{format:"${label} не правильный формат даты",parse:"${label} не может быть преобразовано в дату",invalid:"${label} не является корректной датой"},types:{string:at,method:at,array:at,object:at,number:at,date:at,boolean:at,integer:at,float:at,regexp:at,email:at,url:at,hex:at},string:{len:"${label} должна быть ${len} символов",min:"${label} должна быть больше или равна ${min} символов",max:"${label} должна быть меньше или равна ${max} символов",range:"Длина ${label} должна быть между ${min}-${max} символами"},number:{len:"${label} должна быть равна ${len}",min:"${label} должна быть больше или равна ${min}",max:"${label} должна быть меньше или равна ${max}",range:"${label} должна быть между ${min}-${max}"},array:{len:"Количество элементов ${label} должно быть равно ${len}",min:"Количество элементов ${label} должно быть больше или равно ${min}",max:"Количество элементов ${label} должно быть меньше или равно ${max}",range:"Количество элементов ${label} должно быть между ${min} и ${max}"},pattern:{mismatch:"${label} не соответствует шаблону ${pattern}"}}},QRCode:{expired:"QR-код устарел",refresh:"Обновить"},ColorPicker:{presetEmpty:"Пустой",transparent:"Прозрачный",singleColor:"Один цвет",gradientColor:"Градиент"}},zy=Gy;function NL(e){const t=e?.[""];return typeof t?.lang=="string"?t.lang:void 0}function Vy(e){return e.id??NL(e.catalog)}var Hy=(e,t)=>{const r=(0,_.useRef)(void 0);r.current=e;const n=(0,_.useRef)(void 0);(0,_.useEffect)(()=>{n.current!==null&&r.current(n.current||[]),n.current=t},t)};function DL(e){if(e==="uk"||e.startsWith("uk_"))return"uk";const t=e.search(/[_-]/);return t>0?e.slice(0,t):e}var M3="en_US",Wy=P.createIdentifier$1("locale.service"),LL={ready:!1};function Ky(){const e=Oe().getInstance(Wy),t=(0,_.useCallback)(r=>{if(!e)return()=>{};const n=e.state.watch(r);return()=>n.dispose()},[e]);return(0,_.useSyncExternalStore)(t,()=>e?.snapshot()??LL)}function Qy(){return Vy(Ky())}var FL=({children:e})=>{const t=Ky(),r=zt(),n=Vy(t),i=(0,_.useMemo)(()=>TL(Ul(t.catalog),t.catalog?n:void 0),[t.catalog,n]),o=t.antd,a=o&&o.locale!==zy.locale?o:zy;return(0,_.useEffect)(()=>{},[t.id]),Hy(([s])=>{!s&&t.failure&&r.fromError(t.failure.kind,void 0,t.failure.error??{status:"FETCH_ERROR"})},[t.failure,r]),(0,M.jsx)(lR,{i18n:i,children:(0,M.jsx)(xL,{children:(0,M.jsx)(vm.Provider,{value:t.ready,children:(0,M.jsx)(B.ui_kit$ThemeProvider,{locale:a,children:e})})})})};function xL({children:e}){const t=de();return(0,M.jsx)(B.ui_kit$UiKitI18nProvider,{value:t,children:e})}function lr({id:e,type:t,title:r,excerpt:n,author:i,acf:{subject:o,description:a,html:s,project:c,related_email:l,tags:u,type:d,is_template:m,global_block:p,lock:g},...h}){return{...h,id:String(e),author:String(i),renderGuid:P.generateUUID(),description:a,html:s,excerpt:bt(r),project:ke(c)?c.ID:c,project_author:ke(c)?c.post_author:void 0,project_title:ke(c)?c.post_title:void 0,tags:u,is_template:m,global_block:p,type:d,related_email:be(ke(l)?l.ID:l),title:bt(r)||"",lock:g}}function Yy({title:e,subject:t,description:r,renderGuid:n,html:i,project:o,tags:a,type:s,related_email:c,is_template:l,global_block:u,lock:d,author:m,wpId:p,status:g,...h}){return{...h,...g&&g!=="trash"?{status:g}:{},author:He(m),title:e,acf:{description:r,related_email:He(c),html:i,project:typeof o=="string"&&/^\d+$/.test(o)?Number(o):o,tags:a,type:s,is_template:l,...typeof u=="boolean"?{global_block:u}:{},lock:d}}}function Xy({id:e,title:t,acf:{html:r},excerpt:n,parent:i,author:o,...a}){return{...a,isAutosave:Eh(a.slug),id:be(e),author:be(o),parent:be(i),title:bt(t)||"",html:r,excerpt:ke(n)?n.rendered:n}}function Jy({parent:e,title:t,html:r,project:n,author:i,...o}){return{...o,author:He(i),parent:He(e),title:bt(t),"acf[html]":r,"acf[project]":ke(n)?n.id||n.ID:n}}function bc(e){return(t,r,n,i)=>e(P.getContainer(r))(t,r,n,i)}var BL=new Set(["rest_already_trashed","rest_post_invalid_id"]);function UL(e){return e.error?.data?.code}async function wa(e,t){const r={deleted:[],failed:[]};for(const n of e)try{const i=await t(n);if(i.ok||BL.has(UL(i)))r.deleted.push(n);else{const o=i.error?.data??i.error;r.failed.push({id:n,error:{status:i.status,data:o}})}}catch(i){r.failed.push({id:n,error:{status:"FETCH_ERROR",error:String(i)}})}return r}var $L=class{http;constructor(e){this.http=e}statsList=(e={})=>this.http.request({path:"/limits/stats",method:"GET",secure:!0,format:"json",...e});statsDetail=({type:e},t={})=>this.http.request({path:`/limits/stats/${e}`,method:"GET",secure:!0,format:"json",...t});warningsList=(e={})=>this.http.request({path:"/limits/warnings",method:"GET",secure:!0,format:"json",...e})};function Zy(e){return{used:e?.used??0,base_limit:e?.base_limit??0,extra:e?.extra??0,total_limit:e?.total_limit??0,remaining:e?.remaining??0,percent:e?.percent??0,is_unlimited:e?.is_unlimited??!1}}function qL(e){return{limit_warning:e?.limit_warning??!1,limit_exceeded:e?.limit_exceeded??!1,limit_percent:e?.limit_percent??0,limit_remaining:e?.limit_remaining??0,limit_unlimited:e?.limit_unlimited??!1}}function Ec(e){const t=Number(e);return Number.isFinite(t)?t:0}function GL(e){const t={};for(const[r,n]of Object.entries(e?.limits??{}))t[r]=Zy(n);return{user_id:Ec(e?.user_id),limits:t,extra_limits:e?.extra_limits??{}}}function zL(e,t){return{user_id:Ec(e?.user_id),type:e?.type||t,stats:Zy(e?.stats)}}function VL(e){const t={};for(const[r,n]of Object.entries(e?.flags??{}))t[r]=qL(n);return{user_id:Ec(e?.user_id),flags:t,summary:{has_warnings:e?.summary?.has_warnings??!1,has_exceeded:e?.summary?.has_exceeded??!1,warning_types:e?.summary?.warning_types??[],exceeded_types:e?.summary?.exceeded_types??[]}}}var wc=e=>le(ie(e),[$L]),HL="https://app.emailmaker.ru/api/".replaceAll(/[\\/]$/g,""),Sc="wp-json/limits/v1",WL="wp-json/subscription/v2",Sa=Ne({reducerPath:"limitsApi",baseQuery:We({baseUrl:HL}),tagTypes:["LimitsStats","LimitsWarnings","SubscriptionMe"],endpoints:e=>({getLimitsStats:e.query({async queryFn(t,r,n,i){if(Fe()){const o=await wc(r).statsList();return ne(o)?{error:ae(o)}:{data:GL(o.data)}}return await i({url:`${Sc}/stats`,method:"GET"})},providesTags:["LimitsStats"]}),getLimitsStatsByType:e.query({async queryFn(t,r,n,i){if(Fe()){const o=await wc(r).statsDetail({type:t});return ne(o)?{error:ae(o)}:{data:zL(o.data,t)}}return await i({url:`${Sc}/stats/${t}`,method:"GET"})},providesTags:(t,r,n)=>[{type:"LimitsStats",id:n}]}),getLimitsWarnings:e.query({async queryFn(t,r,n,i){if(Fe()){const o=await wc(r).warningsList();return ne(o)?{error:ae(o)}:{data:VL(o.data)}}return await i({url:`${Sc}/warnings`,method:"GET"})},providesTags:["LimitsWarnings"]}),getSubscriptionMeV2:e.query({query:()=>({url:`${WL}/me`,method:"GET"}),providesTags:["SubscriptionMe"]}),invalidatePlanCache:e.mutation({queryFn:async(t,r)=>it(await ht(r).billing.planInvalidateCreate())})})}),{useGetLimitsStatsQuery:R3,useLazyGetLimitsStatsQuery:N3,useGetLimitsStatsByTypeQuery:D3,useLazyGetLimitsStatsByTypeQuery:KL,useGetLimitsWarningsQuery:L3,useLazyGetLimitsWarningsQuery:F3,useGetSubscriptionMeV2Query:QL,useLazyGetSubscriptionMeV2Query:x3,useInvalidatePlanCacheMutation:YL}=Sa,Ei=class extends Error{v2Error;constructor(e,t){super(`project ${e}: ${t.data.code??t.data.message??t.status}`),this.name="ProjectV2IdError",this.v2Error=t}};function Pa(e,t){return e instanceof Ei?e.v2Error:{status:0,data:{code:t}}}var XL=P.createIdentifier$1("projects.v2IdByWpId");function wi(e){return typeof e=="number"?Number.isFinite(e):typeof e=="string"&&/^\d+$/.test(e)}function Ia(e,t){const r=String(t),n=e.getOrCreateInstance(XL,()=>new Map),i=n.get(r);if(i!==void 0)return i;const o=eF(e,r).catch(a=>{throw n.delete(r),a});return n.set(r,o),o}function e_(e){return e.getOrCreateInstance(JL,()=>new Map)}var JL=P.createIdentifier$1("projects.wpIdByV2Id");function t_(e,t){const r=e_(e),n=r.get(t);if(n!==void 0)return n;const i=(async()=>{try{return await ZL(e,t)}catch{r.delete(t);return}})();return r.set(t,i),i}async function ZL(e,t){const r=await le(e,[ui]).projectsDetail({id:t});if(ne(r))throw new Ei(t,ae(r));return r.data?.wp_id||void 0}async function eF(e,t){const r=await le(e,[ui]).projectsDetail({id:t});if(ne(r))throw new Ei(t,ae(r));const n=r.data?.id;if(!n)throw new Ei(t,{status:r.status??200,data:{code:"project_v2_id_missing"}});return e_(e).set(n,Promise.resolve(r.data?.wp_id||void 0)),n}async function r_(e,t){return!e||!Ot(t)?t:await t_(e,String(t))??t}function tF(e){return Ot(e)?e:Number(e)}var rF="project_v2_id_unresolved";async function Ta(e,t){if(!wi(t))return{projectId:t};try{return{projectId:await Ia(e,t)}}catch(r){return{error:Pa(r,rF)}}}function n_(e){return e?.schema?.properties?.acf?.properties?.type?.items?.enum??[]}function an(e){return{id:e.id,wpId:e.wp_id||void 0,renderGuid:P.generateUUID(),title:e.name??"",excerpt:e.name??"",description:e.description,html:"html"in e?e.html:void 0,project:e.project_id,author:e.author_id,related_email:e.email_id,blocktags:e.tag_ids??[],blockfolder:e.folder_id!=null?[e.folder_id]:[],type:e.type,is_template:e.is_template,global_block:e.is_global,lock:e.locked,status:e.status==="trashed"?"trash":"publish",modified:e.updated_at,modified_gmt:e.updated_at,date:e.created_at,date_gmt:e.created_at}}function nF(e){return e?.data??[]}function i_(e){if(e.blockfolder===void 0)return;const t=e.blockfolder?.[0];return t!=null?Number(t):null}function o_(e){return e.related_email===null?null:e.related_email&&Ot(e.related_email)?e.related_email:void 0}function iF(e){if(e!=null)return(Array.isArray(e)?e:typeof e=="string"?e.split(","):[e]).filter(t=>!(typeof t=="string"&&t.trim()==="")).map(Number).filter(t=>Number.isFinite(t))}function a_(e){return{name:e.title,description:e.description,html:e.html,type:e.type||void 0,tag_ids:iF(e.blocktags),is_global:e.global_block,is_template:e.is_template}}function oF(e,t){return Se({...a_(e),project_id:t,folder_id:i_(e)??void 0,email_id:o_(e)??void 0})}function aF(e){return Se({...a_(e),folder_id:i_(e),email_id:o_(e),locked:e.lock})}var sF=class{http;constructor(e){this.http=e}blocksList=(e={},t={})=>this.http.request({path:"/blocks",method:"GET",query:e,secure:!0,format:"json",...t});blocksCreate=(e,t={},r={})=>this.http.request({path:"/blocks",method:"POST",query:t,body:e,secure:!0,type:V.Json,format:"json",...r});blocksDelete=({id:e,...t},r={})=>this.http.request({path:`/blocks/${e}`,method:"DELETE",query:t,secure:!0,...r});blocksDetail=({id:e},t={})=>this.http.request({path:`/blocks/${e}`,method:"GET",secure:!0,format:"json",...t});blocksPartialUpdate=({id:e,...t},r,n={})=>this.http.request({path:`/blocks/${e}`,method:"PATCH",query:t,body:r,secure:!0,type:V.Json,format:"json",...n});restoreCreate=({id:e},t={})=>this.http.request({path:`/blocks/${e}/restore`,method:"POST",secure:!0,...t});revisionsList=({id:e},t={})=>this.http.request({path:`/blocks/${e}/revisions`,method:"GET",secure:!0,format:"json",...t});revisionsDetail=({id:e,revisionId:t},r={})=>this.http.request({path:`/blocks/${e}/revisions/${t}`,method:"GET",secure:!0,format:"json",...r});templatesList=(e={},t={})=>this.http.request({path:"/blocks/templates",method:"GET",query:e,secure:!0,format:"json",...t});trashEmptyCreate=(e,t={})=>this.http.request({path:"/blocks/trash/empty",method:"POST",body:e,secure:!0,type:V.Json,format:"json",...t});typesList=(e={})=>this.http.request({path:"/blocks/types",method:"GET",secure:!0,format:"json",...e})},Ct=class{http;constructor(e){this.http=e}emailsList=(e,t={})=>this.http.request({path:"/emails",method:"GET",query:e,secure:!0,format:"json",...t});emailsCreate=(e,t={},r={})=>this.http.request({path:"/emails",method:"POST",query:t,body:e,secure:!0,type:V.Json,format:"json",...r});emailsDelete=({id:e,...t},r={})=>this.http.request({path:`/emails/${e}`,method:"DELETE",query:t,secure:!0,...r});emailsDetail=({id:e},t={})=>this.http.request({path:`/emails/${e}`,method:"GET",secure:!0,format:"json",...t});emailsPartialUpdate=({id:e,...t},r,n={})=>this.http.request({path:`/emails/${e}`,method:"PATCH",query:t,body:r,secure:!0,type:V.Json,format:"json",...n});getEmails=({id:e,...t},r={})=>this.http.request({path:`/emails/${e}/raw`,method:"GET",query:t,format:"json",...r});restoreCreate=({id:e},t={})=>this.http.request({path:`/emails/${e}/restore`,method:"POST",secure:!0,...t});revisionsList=({id:e},t={})=>this.http.request({path:`/emails/${e}/revisions`,method:"GET",secure:!0,format:"json",...t});revisionsDetail=({id:e,revisionId:t},r={})=>this.http.request({path:`/emails/${e}/revisions/${t}`,method:"GET",secure:!0,format:"json",...r});postEmails=(e,t={})=>this.http.request({path:"/emails/pdf",method:"POST",body:e,secure:!0,type:V.Text,format:"json",...t});templatesList=(e={},t={})=>this.http.request({path:"/emails/templates",method:"GET",query:e,secure:!0,format:"json",...t});trashEmptyCreate=(e,t={})=>this.http.request({path:"/emails/trash/empty",method:"POST",body:e,secure:!0,type:V.Json,format:"json",...t})};function lF(){return{ok:!1,status:0,statusText:"timeout",error:{error:{code:"timeout",message:"request timed out"}}}}var s_=18e4,cF=s_;function uF(e,t){return t==="write"?s_:t==="document"?cF:Hn(e.getInstance(P.INIT_PIPELINE_ID)?.contentReadyTimeoutMs)}async function Pc(e,t,r){const n=new AbortController,i=uF(e,t);let o;const a=new Promise(c=>{o=setTimeout(()=>{n.abort(),c(lF())},i)}),s=r({signal:n.signal});s.catch(()=>{});try{return await Promise.race([s,a])}finally{clearTimeout(o)}}var dF=P.createIdentifier$1("emails.v2SavedAtOnOpen"),fF=P.createIdentifier$1("emails.v2OpeningReads");function l_(e){return e?.current_revision?.created_at??e?.updated_at}function c_(e,t,r){const n=Date.parse(r??"");Number.isFinite(n)&&e.getOrCreateInstance(dF,()=>new Map).set(t,{at:n,seenAt:Date.now()})}function mF(e,t,r){const n=e.getOrCreateInstance(fF,()=>new Map),i=r.then(o=>o?.ok===!0,()=>!1);n.set(t,i),i.then(()=>{n.get(t)===i&&n.delete(t)})}var At=[sF],Ic={include:"html"},pF="blocks.email_not_found",hF={modified:"updated_at",date:"created_at",title:"name"},u_=1e3;function Oa(e,t){const r=Math.max(1,t??24);return{size:r,offset:(Math.max(1,Number(e)||1)-1)*r}}function gF(e,t){const{size:r,offset:n}=Oa(e,t);return{limit:Math.min(u_,r),offset:n}}function Tc(e){const t=(Array.isArray(e.tags)?e.tags:[]).map(Number).filter(r=>Number.isFinite(r)&&r>0);return{...t.length?{tags:t}:{},...e.type?{types:[e.type]}:{},...e.name?{search:e.name}:{}}}function yF(e,t){const r=e.status==="trash",n=e.folderTag&&e.folderTag!=="all"?Number(e.folderTag):void 0,i=n===void 0&&Object.prototype.hasOwnProperty.call(e,"folderTag")&&(e.folderTag!=="all"||e.folderTag===null)&&!e.tags?.length&&!!e.status&&!r;return{project_id:t,...r?{status:"trashed"}:{},...n!==void 0&&Number.isFinite(n)?{folder_id:n}:{},...i?{without_folder:!0}:{},...Tc(r?{type:e.type,name:e.name}:e),...e.orderby?{order_by:hF[String(e.orderby)]??"updated_at"}:{},...e.order?{order:e.order}:{},...gF(e.page,e.pageSize)}}function _F(e,t){if(ne(e))return{error:ae(e)};const r=(e.data?.data??[]).map(i=>an(i)),n=e.data?.page?.total??r.length;return{data:r,meta:{blocksListPagination:{total:n,totalPages:Math.max(1,Math.ceil(n/t))}}}}async function Oc(e,t){const r=[];let n;for(;r.length<t.size;){const o=Math.min(u_,t.size-r.length),a=await e({limit:o,offset:t.offset+r.length});if(ne(a))return{error:ae(a)};const s=a.data?.data??[];if(r.push(...s.map(c=>an(c))),n=a.data?.page?.total??n,s.length<o||n!==void 0&&t.offset+r.length>=n)break}const i=n??r.length;return{data:r,meta:{blocksListPagination:{total:i,totalPages:Math.max(1,Math.ceil(i/t.size))}}}}async function vF(e,t){const r=t.pageProjectId,n=Sr(e).get()?.card;if(!r&&n?.nativeId)return{projectId:n.nativeId};const i=r||n?.id;if(!i)return{};const o=await Ta(e,i);return"error"in o?o:{projectId:String(o.projectId)}}async function bF(e,t){const r=await Ta(e,t.projectId);if("error"in r)return r;const n=yF(t,String(r.projectId)),i=le(e,At);return Oc(o=>i.blocksList({...n,...Ic,...o}),Oa(t.page,t.pageSize))}async function d_(e,t,r){const n=r==="all"?await vF(e,t):{};if("error"in n)return n;const{projectId:i}=n,o={scope:i?r:"shared",...i?{project_id:i}:{},...Tc(t),...Ic},a=le(e,At);return Oc(s=>a.templatesList({...o,...s}),Oa(t.page,t.pageSize))}function EF(e,t){return d_(e,t,"all")}function wF(e,t){return d_(e,t,"shared")}var SF=P.createIdentifier$1("blocks.parentEmailUuidByWpId");async function PF(e,t){const r=await le(e,[Ct]).emailsDetail({id:t});return ne(r)?r?.status===404?{}:{error:ae(r)}:{emailId:r.data?.id}}function IF(e,t){if(Ot(t))return Promise.resolve({emailId:t});const r=e.getOrCreateInstance(SF,()=>new Map),n=r.get(t);if(n!==void 0)return n;const i=PF(e,t).then(o=>((!("emailId"in o)||!o.emailId)&&r.delete(t),o),o=>{throw r.delete(t),o});return r.set(t,i),i}async function TF(e,t){const r=t.emailId==null?"":String(t.emailId);if(!r)return{data:[]};const n=await IF(e,r);if("error"in n)return n;const{emailId:i}=n;if(!i)return{data:[]};const o=le(e,At),a=await Oc(s=>o.blocksList({email_id:i,...Tc(t),...Ic,...s}),Oa(t.page,t.pageSize));return a.error?.data?.code===pF?{data:[]}:a}async function Cc(e,t){const r=await Pc(e,"document",n=>le(e,At).blocksDetail({id:t},n));return ne(r)?{error:ae(r)}:(c_(e,t,l_(r.data)),{data:an(r.data??{})})}async function OF(e){const t=await le(e,At).typesList();return ne(t)?{error:ae(t)}:{data:nF(t.data)}}async function CF(e,t,r){const n=await Ta(e,t);return"error"in n?n:_F(await le(e,At).blocksList({project_id:String(n.projectId),tags:[Number(r)],limit:1}),1)}async function AF(e,t){const n=await le(e,At).blocksCreate(oF(t,void 0));return ne(n)?{error:ae(n)}:{data:an(n.data??{})}}async function kF(e,t,r){const n=le(e,At),{status:i,...o}=r,a=aF(o);let s;if(Object.keys(a).length){const c=await Pc(e,"write",l=>n.blocksPartialUpdate({id:t},a,l));if(ne(c))return{error:ae(c)};s=an(c.data??{})}if(i==="publish"){const c=await n.restoreCreate({id:t});return ne(c)?{error:await Zr(c)}:Cc(e,t)}return s?{data:s}:Cc(e,t)}async function f_(e,t,r){const n=await le(e,At).blocksDelete({id:t,...r?{force:!0}:{}});return ne(n)?{error:await Zr(n)}:{data:{id:t}}}async function jF(e,t){const r=await Ta(e,t);if("error"in r)return r;const n=await le(e,At).trashEmptyCreate({project_id:String(r.projectId)});return ne(n)?{error:ae(n)}:{data:{deleted:n.data?.deleted??0}}}async function MF(e,t,r){const n=await f_(e,t,r);if(!n.error)return{ok:!0,status:204,data:void 0,error:null};const{status:i,data:o}=n.error,a=i===404;return{ok:a,status:i,data:void 0,error:a?null:{data:o}}}var Si=[{type:"Blocks",id:"LIST"},{type:"ParentsBlocks",id:"LIST"},{type:"TemplatesBlocks",id:"LIST"}];function B3(e){return e}var kt=Ne({reducerPath:"blocksApi",tagTypes:["Blocks","TemplatesBlocks","ParentsBlocks","Block"],baseQuery:We({baseUrl:"https://app.emailmaker.ru/api/wp-json/wp/v2/"}),endpoints:e=>({getBlocks:e.query({queryFn(t,r){if(xe())return bF(ie(r),t);const n=K(r),i={order:"desc",orderby:"modified"},o={};if(t.notEmbed||(o._embed=""),t.projectId&&(o._embed="author",o._fields="id,title,blocktags,blockfolder,group,modified,date,type,acf.lock,acf.project.ID,acf.type,author,acf.is_template,acf.global_block,acf.html,_embedded",i["filter[meta_key]"]="project",i["filter[meta_value]"]=t.projectId),t.fields&&(o._fields=t.fields),t.page&&(i.page=t.page),t.order&&(i.order=t.order),t.orderby&&(i.orderby=t.orderby),t.folderTag&&t.folderTag!=="all"?(i["filter[tax_query][relation]"]="AND",i["filter[tax_query][0][taxonomy]"]="blockfolder",i["filter[tax_query][0][field]"]="id",i["filter[tax_query][0][terms]"]=t.folderTag,i["filter[tax_query][0][include_children]"]="0"):t.hasOwnProperty("folderTag")&&(t.folderTag!=="all"||typeof t.folderTag=="object"&&t.folderTag===null)&&!t.tags?.length&&t.status&&t.status!=="trash"&&(i["filter[tax_query][0][taxonomy]"]="blockfolder",i["filter[tax_query][0][operator]"]="NOT EXISTS"),t.tags?.length>0&&t.status!=="trash"){i["filter[tax_query][relation]"]="AND";for(let a=0,s=t.tags.length;a<s;a++){const c=t.tags[a];i[`filter[tax_query][${a+1}][taxonomy]`]="blocktags",i[`filter[tax_query][${a+1}][field]`]="id",i[`filter[tax_query][${a+1}][terms]`]=c}}return t.type&&(i["filter[meta_query][2][key]"]="type",i["filter[meta_query][2][value]"]=t.type),t.name&&(i.search=t.name),t.pageSize&&(i.per_page=t.pageSize),t.status==="trash"&&(o.status="trash"),n.wp.eblock_list(i,{extraQuery:o}).then(et(lr))},providesTags:t=>t?[...t.map(({id:r})=>({type:"Blocks",id:r})),{type:"Blocks",id:"LIST"}]:[{type:"Blocks",id:"LIST"}]}),getBlocksSchema:e.query({queryFn(t,r){return K(r).wp.eblock_list(void 0,{method:"OPTIONS",extraQuery:{_fields:"schema.properties.acf"}})}}),getBlockTypes:e.query({queryFn(t,r){return xe()?OF(ie(r)):K(r).wp.eblock_list(void 0,{method:"OPTIONS",extraQuery:{_fields:"schema.properties.acf"}}).then(Te(n_))}}),getParentEmailBlocks:e.query({queryFn(t,r){if(xe())return TF(ie(r),t);const n=K(r),i={"filter[meta_query][0][compare]":"LIKE"},o={};if(t.notEmbed||(o._embed=""),t.emailId&&(i["filter[meta_query][0][key]"]="related_email",i["filter[meta_query][0][value]"]=t.emailId),t.fields&&(o._fields=t.fields),t.page&&(i.page=t.page),t.tags?.length>0){i["filter[tax_query][relation]"]="AND";for(let a=0,s=t.tags.length;a<s;a++){const c=t.tags[a];i[`filter[tax_query][${a}][taxonomy]`]="blocktags",i[`filter[tax_query][${a}][field]`]="id",i[`filter[tax_query][${a}][terms]`]=c}}return t.type&&(i["filter[meta_query][2][key]"]="type",i["filter[meta_query][2][value]"]=t.type),t.name&&(i.search=t.name),t.pageSize&&(i.per_page=t.pageSize),n.wp.eblock_list(i,{extraQuery:o}).then(et(lr))},providesTags:t=>t?[...t.map(({id:r})=>({type:"ParentsBlocks",id:r})),{type:"ParentsBlocks",id:"LIST"}]:[{type:"ParentsBlocks",id:"LIST"}]}),getTemplateBlocks:e.query({queryFn:(t,r)=>{if(xe())return EF(ie(r),t);if(ah())return wF(ie(r),t);const n=K(r),i={"filter[meta_query][1][key]":"is_template","filter[meta_query][1][value]":"1",orderby:"modified",order:"desc"},o={};if(t.notEmbed||(o._embed=""),t.fields&&(o._fields=t.fields),t.page&&(i.page=t.page),t.tags?.length>0){i["filter[tax_query][relation]"]="AND";for(let a=0,s=t.tags.length;a<s;a++){const c=t.tags[a];i[`filter[tax_query][${a}][taxonomy]`]="blocktags",i[`filter[tax_query][${a}][field]`]="id",i[`filter[tax_query][${a}][terms]`]=c}}return t.type&&(i["filter[meta_query][2][key]"]="type",i["filter[meta_query][2][value]"]=t.type),t.name&&(i.search=t.name),t.pageSize&&(i.per_page=t.pageSize),n.wp.eblock_list(i,{extraQuery:o}).then(et(lr))},providesTags:t=>t?[...t.map(({id:r})=>({type:"TemplatesBlocks",id:r})),{type:"TemplatesBlocks",id:"LIST"}]:[{type:"TemplatesBlocks",id:"LIST"}]}),getBlock:e.query({queryFn(t,r){return xe()?Cc(ie(r),String(t)):K(r).wp.eblock_detail({id:He(t)},{extraQuery:{_embed:""}}).then(Te(lr))},providesTags:(t,r,n)=>[{type:"Block",id:n}]}),addBlock:e.mutation({queryFn(t,r){return ah()?AF(ie(r),t):K(r).wp.eblock_create({...Yy(t),status:"publish"},{type:P.ContentType.Json}).then(Te(lr))},invalidatesTags:[...Si],async onQueryStarted(t,{dispatch:r,queryFulfilled:n}){await n.then(()=>!0,()=>!1)&&r(Sa.util.invalidateTags(["LimitsStats","LimitsWarnings"]))}}),editBlock:e.mutation({queryFn:bc(t=>({blockId:r,source:n,...i},o)=>{if(xe()){const c=l=>m_(o.dispatch,String(r),l);return kF(t,String(r),i).then(l=>(c(l.data),l),l=>{throw c(),l})}const a=di(t),s=Se(Yy(i));return a.wp.eblock_partial_update({id:r},s,{type:P.ContentType.Json,extraQuery:{_embed:"wp:term"}}).then(Te(lr))}),invalidatesTags:(t,r,n)=>[...Si,{type:"Blocks",id:n.blockId}]}),deleteBlock:e.mutation({queryFn(t,r){const n=K(r);let i,o;return typeof t=="object"?(i=t.id,o=t.force):(i=t,o=!1),xe()?f_(ie(r),String(i),!!o):n.wp.eblock_delete({id:i},{force:o}).then(bo(lr))},invalidatesTags:(t,r,n)=>[...Si,{type:"Blocks",id:typeof n=="object"?n.id:n}]}),deleteBlocks:e.mutation({async queryFn({ids:t,force:r},n){if(xe()){const o=ie(n);return{data:await wa(t,a=>MF(o,String(a),r))}}const i=K(n);return{data:await wa(t,o=>i.wp.eblock_delete({id:Number(o)},{force:r}))}},invalidatesTags:(t,r,{ids:n})=>[...Si,...n.map(i=>({type:"Blocks",id:i}))]}),emptyBlocksTrash:e.mutation({queryFn:(t,r)=>jF(ie(r),t),invalidatesTags:[...Si]}),addTag:e.mutation({queryFn(t,r){return K(r).wp.blocktags_create({...t},{type:P.ContentType.Json})}}),getDeletableTag:e.query({queryFn([t,r],n){return xe()?CF(ie(n),t,r):K(n).wp.eblock_list({status:["private"],"filter[meta_key]":"project","filter[meta_value]":t,blocktags:[r]},{extraQuery:{"_fields[]":"blocktags"}}).then(et(lr))}}),autoSaveBlock:e.mutation({async queryFn({blockId:t,body:r},n){const i=K(n),o=await r_(ie(n),r.project),a=Jy({...r,project:o});return i.wp.eblock_autosaves_create({id:t},a,{type:P.ContentType.FormData}).then(Te(Xy))}})})});function m_(e,t,r){e(r?kt.util.upsertQueryEntries([{endpointName:"getBlock",arg:t,value:r}]):kt.util.invalidateTags([{type:"Block",id:t}]))}sj((e,t,r)=>m_(e,t,r?an(r):void 0));var{useGetBlocksQuery:RF,useGetBlockQuery:NF,useLazyGetBlockQuery:U3,useGetBlocksSchemaQuery:$3,useGetBlockTypesQuery:DF,useGetParentEmailBlocksQuery:LF,useEmptyBlocksTrashMutation:q3,useAddBlockMutation:FF,useEditBlockMutation:p_,useDeleteBlocksMutation:G3,useAddTagMutation:z3,useAutoSaveBlockMutation:xF,useGetTemplateBlocksQuery:BF}=kt,Ac={invalidateBlockId:null,isCodeMode:!1,codeModeDirection:"right",editorThemeColor:"light",isSettingsDisabled:!1,settings:{width:""},elementSettings:{},searchFilters:{},monacoDidMount:!1},sn="blockSlice",h_=Le({name:sn,initialState:Ac,reducers:{switchCodeMode:e=>{e.isCodeMode=!e.isCodeMode},setEditorThemeColor:(e,t)=>{e.editorThemeColor=t.payload},setBlockSettings:(e,t)=>{Object.assign(e,{...e,settings:t.payload,isSettingsDisabled:!1})},setBlockSettingsDisable:(e,t)=>{e.isSettingsDisabled=t.payload},setElementSettings:(e,t)=>{e.elementSettings=t.payload},setSearchFilters:(e,t)=>{e.searchFilters=t.payload},resetBlockSlice:()=>Ac},extraReducers:e=>{e.addMatcher(t=>t.type==="blocksApi/queries/queryResultPatched",(t,r)=>{const n=r.payload.queryCacheKey.match(/\(([0-9]+)\)/);n?.[1]&&(t.invalidateBlockId=n[1])}),e.addMatcher(t=>t.type==="blocksApi/invalidateTags",(t,r)=>{if(r.payload[0].id===+t.invalidateBlockId)return{...Ac,isCodeMode:t?.isCodeMode,codeModeDirection:t.codeModeDirection}}),e.addMatcher(kt.endpoints.editBlock.matchFulfilled,t=>{t.invalidateBlockId=null})}}),{switchCodeMode:V3,setEditorThemeColor:UF,setBlockSettings:$F,setElementSettings:qF,setBlockSettingsDisable:GF,setSearchFilters:H3,resetBlockSlice:zF}=h_.actions,VF=e=>e[sn].isCodeMode,HF=e=>e[sn].settings,g_=e=>e[sn].elementSettings,WF=e=>e[sn].editorThemeColor,KF=e=>e[sn].isSettingsDisabled,y_=P.createIdentifier$1("CodeMode");function kc(){let e;try{const t=window.localStorage?.getItem(ft.em_code_mode_settings);e=t?JSON.parse(t):void 0}catch{e=void 0}return{isCodeMode:!!(e?.isCodeMode||e?.isCodeMode===void 0),direction:e?.codeModeDirection||"left"}}function QF(e){try{window.localStorage?.setItem(ft.em_code_mode_settings,JSON.stringify({isCodeMode:e.isCodeMode,codeModeDirection:e.direction}))}catch{}}function Ca(e){return e.getOrCreateInstance(y_,()=>{const t=Re(kc());return t.watch(QF),t})}function __(e){return e?.getInstance(y_)?.get()??kc()}function jc(e,t){const r=Ca(e);r.get().isCodeMode!==t&&r.set({...r.get(),isCodeMode:t})}function YF(e){const t=Ca(e);t.set({...t.get(),isCodeMode:!t.get().isCodeMode})}function v_(e,t){const r=Ca(e);r.set({...r.get(),direction:t})}var XF="100%",b_=kc(),JF={activeModal:"",lastActiveSettingsTab:Un,activeSettingsTab:Un,isPanelHistoryCollapsed:!0,monacoHeight:0,isCodeMode:b_.isCodeMode,codeModeDirection:b_.direction,isHeaderCodeMenuOpen:{current:!1,switched:!1},emailWidth:XF,emailViewType:cm,mobileViewActive:{shutdown:!0,styles:!0},emailMaxWidthSize:425,propertiesPanelKey:im,parentBlocks:[],isGlobalLoading:!1},st="emailPageSlice",E_=Le({name:st,initialState:JF,reducers:{openModal:(e,t)=>{e.activeModal=t.payload},closeModal:e=>{e.activeModal=""},setActiveSettingsTab:(e,t)=>{e.lastActiveSettingsTab=e.activeSettingsTab,e.activeSettingsTab=t.payload,t.payload!=="History"&&(e.isPanelHistoryCollapsed=!0)},resetToLastActiveSettingsTab:e=>{e.lastActiveSettingsTab==="Properties"?e.activeSettingsTab="Build":e.activeSettingsTab=e.lastActiveSettingsTab,e.lastActiveSettingsTab!=="History"&&(e.isPanelHistoryCollapsed=!0)},resetSettingsTab:e=>{e.lastActiveSettingsTab=Un,e.activeSettingsTab.startsWith("plugin-view:")||(e.activeSettingsTab=Un),e.isPanelHistoryCollapsed=!0},switchIsPanelHistoryCollapsed:(e,t)=>{e.isPanelHistoryCollapsed=t.payload||!e.isPanelHistoryCollapsed},setEmailWidth:(e,{payload:t})=>{e.emailWidth=t,e.emailViewType=typeof t=="number"&&t<=e.emailMaxWidthSize?um:cm,window.localStorage.setItem(ft.em_default_sizes,JSON.stringify(t))},setEmailMaxWidthSize:(e,{payload:t})=>{e.emailMaxWidthSize=t},setEmailViewType:(e,t)=>{e.emailViewType=t.payload},setCodeMode:(e,{payload:t})=>{e.isCodeMode=t},switchCodeModeDirection:(e,{payload:t})=>{e.codeModeDirection=t},setMobileViewActive:(e,t)=>{e.mobileViewActive=t.payload},setPropertiesPanelKey:(e,t)=>{e.propertiesPanelKey=t.payload},resetParentBlocks:e=>{e.parentBlocks=[]},setParentBlocks:(e,t)=>{e.parentBlocks=t.payload},setIsGlobalLoading:(e,t)=>{e.isGlobalLoading=t.payload},setHeaderCodeMenuOpen:(e,t)=>{e.isHeaderCodeMenuOpen.current&&!t.payload?e.isHeaderCodeMenuOpen.switched=!0:e.isHeaderCodeMenuOpen.switched=!1,e.isHeaderCodeMenuOpen.current=t.payload}},extraReducers:e=>{e.addMatcher(kt.endpoints.getParentEmailBlocks.matchFulfilled,(t,r)=>{t.parentBlocks=r.payload})}}),{openModal:ZF,closeModal:w_,setActiveSettingsTab:Mc,resetToLastActiveSettingsTab:S_,resetSettingsTab:e1,switchIsPanelHistoryCollapsed:t1,setEmailWidth:r1,switchCodeModeDirection:n1,setMobileViewActive:i1,setEmailViewType:W3,setCodeMode:o1,setEmailMaxWidthSize:K3,setPropertiesPanelKey:a1,resetParentBlocks:s1,setIsGlobalLoading:l1,setHeaderCodeMenuOpen:c1}=E_.actions,u1=e=>e[st].isCodeMode,P_=e=>e[st].emailWidth,d1=e=>e[st].activeModal,f1=e=>e[st].parentBlocks,m1=e=>e[st].emailViewType,p1=e=>e[st].isGlobalLoading,h1=e=>e[st].mobileViewActive,g1=e=>e[st].codeModeDirection,I_=e=>e[st].activeSettingsTab,y1=e=>e[st].propertiesPanelKey,_1=e=>e[st].isHeaderCodeMenuOpen,v1=e=>e[st].isPanelHistoryCollapsed,T_=()=>EO(P.COOKIE_MANAGER_ID);function O_(e){const t=e.getBoundingClientRect(),r=e.offsetWidth>0&&t.width>0?t.width/e.offsetWidth:1;return{x:r,y:e.offsetHeight>0&&t.height>0?t.height/e.offsetHeight:r}}var Rc=1340,b1="em-scaled-layout",E1="pluginZoom";function C_(e){const t=Math.min(e.screenWidth,e.screenHeight),r=Math.max(e.screenWidth,e.screenHeight),n=e.landscape?r:t;return e.windowWidth&&e.windowWidth>0?Math.min(n,e.windowWidth):n}function w1(e){return e.coarsePointer&&C_(e)<1340}function S1(e){const t=(C_(e)/Rc).toFixed(4);return`width=${Rc}, initial-scale=${t}, user-scalable=1`}var A_="(pointer: coarse)",k_="(orientation: landscape)";function P1(e=window){const t=e.screen.orientation?.type;return{coarsePointer:e.matchMedia(A_).matches,screenWidth:e.screen.width,screenHeight:e.screen.height,landscape:t?t.startsWith("landscape"):e.matchMedia(k_).matches,windowWidth:e.outerWidth}}function Nc(e){const t=O_(e).y;return Math.abs(t-1)<.01?1:t}function I1(e,t){const r=e?.getBoundingClientRect().top??NaN,n=t?.getBoundingClientRect(),i=t?Nc(t):1;return{scrollTop:((n?.top??NaN)-r)/i,previewHeight:(n?.height??NaN)/i,scale:i}}function T1(e,t){return t.closest(".em-scaled-layout")?Math.round(e/O_(t).y):e}var O1=()=>{},C1={};function A1(){const e=Oe(),t=(0,_.useCallback)(r=>{if(!e)return O1;const n=Al(e).watch(r);return()=>n.dispose()},[e]);return{read:(0,_.useCallback)(()=>Qo(e).profile??C1,[e]),subscribe:t}}function kr(){const{read:e,subscribe:t}=A1();return(0,_.useSyncExternalStore)(t,e,e)}function k1(){return kr().locale}var j1={toggle:()=>{},set:()=>{},setDirection:()=>{}};function M1(){const e=Oe();return(0,_.useMemo)(()=>e?{toggle:()=>YF(e),set:t=>jc(e,t),setDirection:t=>v_(e,t)}:j1,[e])}var j_=(0,_.createContext)({document:void 0,history:void 0});function gt(){return(0,_.useContext)(j_)}function R1({document:e,history:t,children:r}){const n=(0,_.useMemo)(()=>({document:e,history:t}),[e,t]);return(0,M.jsx)(j_.Provider,{value:n,children:r})}function M_(){const{document:e}=gt(),t=(0,_.useCallback)(n=>e?e.subscribe(n):()=>{},[e]),r=(0,_.useCallback)(()=>e?.get().serverId??void 0,[e]);return(0,_.useSyncExternalStore)(t,r)}var Q3="new";function R_(){const{emailId:e}=wr(),t=Oe(),r=M_();if(e!==void 0)return e==="new"?void 0:e;const n=t?Ml(t)?.sessionKey():void 0;return Ae(n)?void 0:r}function N1(e,t){return e==null||t==null?!1:String(e)===String(t)}function N_(e,t){if(e?.myRole==="owner"||e?.myRole==="admin")return e.myRole;if(e?.myRole==="user"||e?.myRole==="viewer")return"user";const r=Array.isArray(e?.members)?e.members:[],n=Array.isArray(e?.invites)?e.invites:[];if(t?.id==null||t.id==="")return null;const i=r.find(a=>N1(a?.userId,t.id));if(i){if(i.role==="owner"||i.role==="admin")return i.role;if(i.role==="user"||i.role==="viewer")return"user"}const o=t.email?.trim().toLowerCase();return o&&n.some(a=>a?.email?.trim().toLowerCase()===o)?"invited":null}function Dc(e,t){return t.isPlugin?!1:e?.ownerPlan?.isPaid!==!0}function D1(e,t){const r=N_(e,t);return r===null||r==="owner"}var L1=3,F1=6,Aa=new WeakMap,D_=new Map;function Lc(e){let t=e.parentElement;for(;t;){const r=getComputedStyle(t).overflowY;if(r==="auto"||r==="scroll")return t;t=t.parentElement}return null}function L_(e,t){const r=e?e.clientHeight:typeof window>"u"?0:window.innerHeight;return`${Math.round(r*t)}px 0px`}function x1(e){if(typeof IntersectionObserver>"u")return;const t=D_.get(e);if(t)return t;const r={fill:new IntersectionObserver(n=>{for(const i of n)i.isIntersecting&&Aa.get(i.target)?.fill()},{root:e,rootMargin:L_(e,L1)}),drop:new IntersectionObserver(n=>{for(const i of n)i.isIntersecting||Aa.get(i.target)?.drop()},{root:e,rootMargin:L_(e,F1)})};return D_.set(e,r),r}function B1(e,t){const r=x1(Lc(e));return r?(Aa.set(e,t),r.fill.observe(e),r.drop.observe(e),()=>{r.fill.unobserve(e),r.drop.unobserve(e),Aa.delete(e)}):!1}var Fc=".blocks-search__result-body",F_=`${Fc}[data-block-preview="filled"]`,xc=new Map;function U1(e){const t=e.shadowRoot?.firstElementChild,r=t instanceof HTMLStyleElement?t.nextElementSibling:t;return r instanceof HTMLElement?r.offsetHeight:0}function Bc(e){if(!e.length)return;const t=Lc(e[0].body),r=t?t.getBoundingClientRect().top:0,n=e.map(({body:o})=>o.getBoundingClientRect());let i=0;e.forEach(({body:o,height:a,placeholder:s},c)=>{const l=n[c];if(t&&l.top<r&&(i+=a-l.height),o.style.height=`${a}px`,s){o.dataset.previewPlaceholder="true";return}o.dataset.previewMeasured="true",xc.set(o,a)}),t&&i!==0&&(t.scrollTop+=i)}function $1(){let e=0,t=0;return xc.forEach((r,n)=>{if(!n.isConnected){xc.delete(n);return}e+=r,t+=1}),t?e/t:0}function x_(e){const t=$1();if(!t||!e)return;const r=[...e.querySelectorAll(`${Fc}:not([data-preview-measured])`)],n=new Map,i=a=>{const s=a.parentElement;if(!n.has(s)){const c=Lc(a);n.set(s,c?c.getBoundingClientRect().bottom:null)}return n.get(s)??null},o=[];r.forEach(a=>{if(!a.dataset.previewPlaceholder){o.push({body:a,height:t,placeholder:!0});return}if(Math.abs((parseFloat(a.style.height)||0)-t)<1)return;const s=i(a);s!==null&&a.getBoundingClientRect().top>=s&&o.push({body:a,height:t,placeholder:!0})}),Bc(o)}function q1(e,t){e&&(Bc(B_([...e.querySelectorAll(`${F_} .blocks-search__result-html`)].map(r=>[r,t]))),x_(e))}function B_(e){const t=e.map(([n,i])=>U1(n)*i),r=[];return e.forEach(([n],i)=>{const o=n.closest(Fc);o&&t[i]>0&&r.push({body:o,height:t[i]})}),r}var Uc=new Map,$c=0;function G1(){$c=0;const e=[...Uc].filter(([t])=>t.closest(F_)!==null);Uc.clear(),Bc(B_(e)),x_(e[0]?.[0].ownerDocument??null)}function z1(e,t){Uc.set(e,t),$c||($c=requestAnimationFrame(G1))}function V1(e){return(0,_.useCallback)(t=>z1(t,e),[e])}var H1=`
59
+ <style>
60
+ @media only screen and (max-device-width: 660px), only screen and (max-width: 660px) {
61
+ .em-mob-width-100perc {
62
+ width: 100% !important;
63
+ max-width: 100% !important;
64
+ }
65
+
66
+ .em-mob-width-91perc {
67
+ width: 91% !important;
68
+ max-width: 91% !important;
69
+ }
70
+ }
71
+ </style>
72
+ <tr em="block" class="em-structure">
73
+ <td align="center">
74
+ <!--[if (gte mso 9)|(IE)]>
75
+ <table cellpadding="0" cellspacing="0" border="0" width="660"><tr><td>
76
+ <![endif]-->
77
+ <table align="center" width="100%" border="0" cellspacing="0" cellpadding="0" style="max-width: 660px;">
78
+ <tr>
79
+ <td align="center" valign="top">
80
+ <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="30"></td></tr></table>
81
+ <!--[if (gte mso 9)|(IE)]>
82
+ <table border="0" cellspacing="0" cellpadding="0">
83
+ <tr><td width="660" valign="top" align="center"><![endif]-->
84
+ <div style="display: inline-block; width: 100%; max-width: 660px; vertical-align: top;" class="em-mob-width-100perc">
85
+ <table width="602" border="0" cellspacing="0" cellpadding="0" style="width: 91%; max-width: 602px;" class="em-mob-width-91perc">
86
+ <tr>
87
+ <td align="left"></td>
88
+ </tr>
89
+ </table>
90
+ <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="20"></td></tr></table>
91
+ </div>
92
+ <!--[if (gte mso 9)|(IE)]>
93
+ </td></tr>
94
+ </table><![endif]-->
95
+ <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="10"></td></tr></table>
96
+ </td>
97
+ </tr>
98
+ </table>
99
+ <!--[if (gte mso 9)|(IE)]>
100
+ </td></tr></table>
101
+ <![endif]-->
102
+ </td>
103
+ </tr>
104
+
105
+ `,W1=`
106
+ <style>
107
+ @media only screen and (max-device-width: 660px), only screen and (max-width: 660px) {
108
+ .em-mob-width-100perc {
109
+ width: 100% !important;
110
+ max-width: 100% !important;
111
+ }
112
+
113
+ .em-mob-width-91perc {
114
+ width: 91% !important;
115
+ max-width: 91% !important;
116
+ }
117
+ }
118
+ </style>
119
+ <tr em="block" class="em-structure">
120
+ <td align="center">
121
+ <!--[if (gte mso 9)|(IE)]>
122
+ <table cellpadding="0" cellspacing="0" border="0" width="660"><tr><td>
123
+ <![endif]-->
124
+ <table align="center" width="100%" border="0" cellspacing="0" cellpadding="0" style="max-width: 660px;">
125
+ <tr>
126
+ <td align="center" valign="top">
127
+ <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="30"></td></tr></table>
128
+ <!--[if (gte mso 9)|(IE)]>
129
+ <table border="0" cellspacing="0" cellpadding="0">
130
+ <tr><td width="207" valign="top" align="center"><![endif]-->
131
+ <div style="display: inline-block; width: 207px; vertical-align: top;" class="em-mob-width-100perc">
132
+ <table width="187" border="0" cellspacing="0" cellpadding="0" class="em-mob-width-91perc">
133
+ <tr>
134
+ <td align="left"></td>
135
+ </tr>
136
+ </table>
137
+ <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="20"></td></tr></table>
138
+ </div>
139
+ <!--[if (gte mso 9)|(IE)]></td><td width="413" valign="top" align="center"><![endif]-->
140
+ <div style="display: inline-block; width: 413px; vertical-align: top;" class="em-mob-width-100perc">
141
+ <table width="393" border="0" cellspacing="0" cellpadding="0" class="em-mob-width-91perc">
142
+ <tr>
143
+ <td align="left"></td>
144
+ </tr>
145
+ </table>
146
+ <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="20"></td></tr></table>
147
+ </div>
148
+ <!--[if (gte mso 9)|(IE)]>
149
+ </td></tr>
150
+ </table><![endif]-->
151
+ <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="10"></td></tr></table>
152
+ </td>
153
+ </tr>
154
+ </table>
155
+ <!--[if (gte mso 9)|(IE)]>
156
+ </td></tr></table>
157
+ <![endif]-->
158
+ </td>
159
+ </tr>
160
+
161
+ `,K1=`
162
+ <style>
163
+ @media only screen and (max-device-width: 660px), only screen and (max-width: 660px) {
164
+ .em-mob-width-100perc {
165
+ width: 100% !important;
166
+ max-width: 100% !important;
167
+ }
168
+
169
+ .em-mob-width-91perc {
170
+ width: 91% !important;
171
+ max-width: 91% !important;
172
+ }
173
+ }
174
+ </style>
175
+ <tr em="block" class="em-structure">
176
+ <td align="center">
177
+ <!--[if (gte mso 9)|(IE)]>
178
+ <table cellpadding="0" cellspacing="0" border="0" width="660"><tr><td>
179
+ <![endif]-->
180
+ <table align="center" width="100%" border="0" cellspacing="0" cellpadding="0" style="max-width: 660px;">
181
+ <tr>
182
+ <td align="center" valign="top">
183
+ <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="30"></td></tr></table>
184
+ <!--[if (gte mso 9)|(IE)]>
185
+ <table border="0" cellspacing="0" cellpadding="0">
186
+ <tr><td width="413" valign="top" align="center"><![endif]-->
187
+ <div style="display: inline-block; width: 413px; vertical-align: top;" class="em-mob-width-100perc">
188
+ <table width="393" border="0" cellspacing="0" cellpadding="0" class="em-mob-width-91perc">
189
+ <tr>
190
+ <td align="left"></td>
191
+ </tr>
192
+ </table>
193
+ <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="20"></td></tr></table>
194
+ </div>
195
+ <!--[if (gte mso 9)|(IE)]></td><td width="207" valign="top" align="center"><![endif]-->
196
+ <div style="display: inline-block; width: 207px; vertical-align: top;" class="em-mob-width-100perc">
197
+ <table width="187" border="0" cellspacing="0" cellpadding="0" class="em-mob-width-91perc">
198
+ <tr>
199
+ <td align="left"></td>
200
+ </tr>
201
+ </table>
202
+ <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="20"></td></tr></table>
203
+ </div>
204
+ <!--[if (gte mso 9)|(IE)]>
205
+ </td></tr>
206
+ </table><![endif]-->
207
+ <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="10"></td></tr></table>
208
+ </td>
209
+ </tr>
210
+ </table>
211
+ <!--[if (gte mso 9)|(IE)]>
212
+ </td></tr></table>
213
+ <![endif]-->
214
+ </td>
215
+ </tr>
216
+
217
+ `,Q1=`
218
+ <style>
219
+ @media only screen and (max-device-width: 660px), only screen and (max-width: 660px) {
220
+ .em-mob-width-100perc {
221
+ width: 100% !important;
222
+ max-width: 100% !important;
223
+ }
224
+
225
+ .em-mob-width-91perc {
226
+ width: 91% !important;
227
+ max-width: 91% !important;
228
+ }
229
+ }
230
+ </style>
231
+ <tr em="block" class="em-structure">
232
+ <td align="center">
233
+ <!--[if (gte mso 9)|(IE)]>
234
+ <table cellpadding="0" cellspacing="0" border="0" width="660"><tr><td>
235
+ <![endif]-->
236
+ <table align="center" width="100%" border="0" cellspacing="0" cellpadding="0" style="max-width: 660px;">
237
+ <tr>
238
+ <td align="center" valign="top">
239
+ <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="30"></td></tr></table>
240
+ <!--[if (gte mso 9)|(IE)]>
241
+ <table border="0" cellspacing="0" cellpadding="0">
242
+ <tr><td width="311" valign="top" align="center"><![endif]-->
243
+ <div style="display: inline-block; width: 311px; vertical-align: top;" class="em-mob-width-100perc">
244
+ <table width="291" border="0" cellspacing="0" cellpadding="0" class="em-mob-width-91perc">
245
+ <tr>
246
+ <td align="left"></td>
247
+ </tr>
248
+ </table>
249
+ <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="20"></td></tr></table>
250
+ </div>
251
+ <!--[if (gte mso 9)|(IE)]></td><td width="311" valign="top" align="center"><![endif]-->
252
+ <div style="display: inline-block; width: 311px; vertical-align: top;" class="em-mob-width-100perc">
253
+ <table width="291" border="0" cellspacing="0" cellpadding="0" class="em-mob-width-91perc">
254
+ <tr>
255
+ <td align="left"></td>
256
+ </tr>
257
+ </table>
258
+ <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="20"></td></tr></table>
259
+ </div>
260
+ <!--[if (gte mso 9)|(IE)]>
261
+ </td></tr>
262
+ </table><![endif]-->
263
+ <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="10"></td></tr></table>
264
+ </td>
265
+ </tr>
266
+ </table>
267
+ <!--[if (gte mso 9)|(IE)]>
268
+ </td></tr></table>
269
+ <![endif]-->
270
+ </td>
271
+ </tr>
272
+
273
+ `,Y1=`
274
+ <style>
275
+ @media only screen and (max-device-width: 660px), only screen and (max-width: 660px) {
276
+ .em-mob-width-100perc {
277
+ width: 100% !important;
278
+ max-width: 100% !important;
279
+ }
280
+
281
+ .em-mob-width-91perc {
282
+ width: 91% !important;
283
+ max-width: 91% !important;
284
+ }
285
+ }
286
+ </style>
287
+ <tr em="block" class="em-structure">
288
+ <td align="center">
289
+ <!--[if (gte mso 9)|(IE)]>
290
+ <table cellpadding="0" cellspacing="0" border="0" width="660"><tr><td>
291
+ <![endif]-->
292
+ <table align="center" width="100%" border="0" cellspacing="0" cellpadding="0" style="max-width: 660px;">
293
+ <tr>
294
+ <td align="center" valign="top">
295
+ <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="30"></td></tr></table>
296
+ <!--[if (gte mso 9)|(IE)]>
297
+ <table border="0" cellspacing="0" cellpadding="0">
298
+ <tr><td width="207" valign="top" align="center"><![endif]-->
299
+ <div style="display: inline-block; width: 207px; vertical-align: top;" class="em-mob-width-100perc">
300
+ <table width="187" border="0" cellspacing="0" cellpadding="0" class="em-mob-width-91perc">
301
+ <tr>
302
+ <td align="left"></td>
303
+ </tr>
304
+ </table>
305
+ <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="20"></td></tr></table>
306
+ </div>
307
+ <!--[if (gte mso 9)|(IE)]></td><td width="207" valign="top" align="center"><![endif]-->
308
+ <div style="display: inline-block; width: 207px; vertical-align: top;" class="em-mob-width-100perc">
309
+ <table width="187" border="0" cellspacing="0" cellpadding="0" class="em-mob-width-91perc">
310
+ <tr>
311
+ <td align="left"></td>
312
+ </tr>
313
+ </table>
314
+ <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="20"></td></tr></table>
315
+ </div>
316
+ <!--[if (gte mso 9)|(IE)]></td><td width="207" valign="top" align="center"><![endif]-->
317
+ <div style="display: inline-block; width: 207px; vertical-align: top;" class="em-mob-width-100perc">
318
+ <table width="187" border="0" cellspacing="0" cellpadding="0" class="em-mob-width-91perc">
319
+ <tr>
320
+ <td align="left"></td>
321
+ </tr>
322
+ </table>
323
+ <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="20"></td></tr></table>
324
+ </div>
325
+ <!--[if (gte mso 9)|(IE)]>
326
+ </td></tr>
327
+ </table><![endif]-->
328
+ <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="10"></td></tr></table>
329
+ </td>
330
+ </tr>
331
+ </table>
332
+ <!--[if (gte mso 9)|(IE)]>
333
+ </td></tr></table>
334
+ <![endif]-->
335
+ </td>
336
+ </tr>
337
+
338
+ `,X1=`
339
+ <style>
340
+ @media only screen and (max-device-width: 660px), only screen and (max-width: 660px) {
341
+ .em-mob-width-100perc {
342
+ width: 100% !important;
343
+ max-width: 100% !important;
344
+ }
345
+
346
+ .em-mob-width-91perc {
347
+ width: 91% !important;
348
+ max-width: 91% !important;
349
+ }
350
+ }
351
+ </style>
352
+ <tr em="block" class="em-structure">
353
+ <td align="center">
354
+ <!--[if (gte mso 9)|(IE)]>
355
+ <table cellpadding="0" cellspacing="0" border="0" width="660"><tr><td>
356
+ <![endif]-->
357
+ <table align="center" width="100%" border="0" cellspacing="0" cellpadding="0" style="max-width: 660px;">
358
+ <tr>
359
+ <td align="center" valign="top">
360
+ <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="30"></td></tr></table>
361
+ <!--[if (gte mso 9)|(IE)]>
362
+ <table border="0" cellspacing="0" cellpadding="0">
363
+ <tr><td width="310" valign="top" align="center"><![endif]-->
364
+ <div style="display: inline-block; width: 310px; vertical-align: top;" class="em-mob-width-100perc">
365
+ <table width="290" border="0" cellspacing="0" cellpadding="0" class="em-mob-width-91perc">
366
+ <tr>
367
+ <td align="left"></td>
368
+ <td width="20">&nbsp;</td>
369
+ <td align="left"></td>
370
+ </tr>
371
+ </table>
372
+ <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="20"></td></tr></table>
373
+ </div>
374
+ <!--[if (gte mso 9)|(IE)]></td><td width="310" valign="top" align="center"><![endif]-->
375
+ <div style="display: inline-block; width: 310px; vertical-align: top;" class="em-mob-width-100perc">
376
+ <table width="290" border="0" cellspacing="0" cellpadding="0" class="em-mob-width-91perc">
377
+ <tr>
378
+ <td align="left"></td>
379
+ <td width="20">&nbsp;</td>
380
+ <td align="left"></td>
381
+ </tr>
382
+ </table>
383
+ <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="20"></td></tr></table>
384
+ </div>
385
+ <!--[if (gte mso 9)|(IE)]>
386
+ </td></tr>
387
+ </table><![endif]-->
388
+ <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="10"></td></tr></table>
389
+ </td>
390
+ </tr>
391
+ </table>
392
+ <!--[if (gte mso 9)|(IE)]>
393
+ </td></tr></table>
394
+ <![endif]-->
395
+ </td>
396
+ </tr>
397
+
398
+ `,U_=[{sizeArray:[24],name:"column-one",html:H1},{sizeArray:[12,12],name:"column-two-50",html:Q1},{sizeArray:[8,8,8],name:"column-three",html:Y1},{sizeArray:[6,6,6,6],name:"column-four",html:X1},{sizeArray:[8,16],name:"column-two-33",html:W1},{sizeArray:[16,8],name:"column-two-66",html:K1}],$_=()=>{const e=Fl(),t=Ll();return(0,M.jsx)("div",{className:"structures blocks-search__empty-wrapper",children:(0,M.jsx)("div",{className:"structures__list",children:(0,M.jsx)("div",{children:U_&&U_.map(r=>(0,M.jsx)("div",{children:(0,M.jsx)("div",{className:"structures__item",draggable:!0,onClick:n=>e(n,r.html,void 0,r.name,{id:r.name,title:r.name,type:"structure"}),onDragStart:n=>t(n,r.html,void 0,r.name,{id:r.name,title:r.name,type:"structure"}),children:(0,M.jsx)(B.ui_kit$Row,{gutter:[6,6],className:"structures__item-row",children:r.sizeArray.map((n,i)=>(0,M.jsx)(B.ui_kit$Col,{span:n,children:(0,M.jsx)("div",{className:"structures__item-col"})},r.name+i))})})},r.name))})})})};$_.propTypes={};var J1=`<style em="styles">
399
+ @media only screen and (max-device-width:660px),only screen and (max-width:660px) {
400
+ .em-mob-width-100perc {
401
+ width: 100%!important;
402
+ max-width: 100%!important;
403
+ }
404
+
405
+ .em-mob-wrap {
406
+ display: block!important;
407
+ }
408
+
409
+ .em-mob-padding_right-20 {
410
+ padding-right: 20px!important;
411
+ }
412
+
413
+ .em-mob-padding_left-20 {
414
+ padding-left: 20px!important;
415
+ }
416
+ }
417
+ </style>
418
+ <tr em="block" class="em-structure">
419
+ <td align="center" style="padding: 30px 40px;" class="em-mob-padding_left-20 em-mob-padding_right-20">
420
+ <table border="0" cellspacing="0" cellpadding="0" class="em-mob-width-100perc">
421
+ <tr>
422
+ <td width="580" valign="top" class="em-mob-wrap em-mob-width-100perc"></td>
423
+ </tr>
424
+ </table>
425
+ </td>
426
+ </tr>`,Z1=`<style em="styles">
427
+ @media only screen and (max-device-width:660px),only screen and (max-width:660px) {
428
+ .em-mob-width-100perc {
429
+ width: 100%!important;
430
+ max-width: 100%!important;
431
+ }
432
+
433
+ .em-mob-wrap {
434
+ display: block!important;
435
+ }
436
+
437
+ .em-mob-padding_right-20 {
438
+ padding-right: 20px!important;
439
+ }
440
+
441
+ .em-mob-padding_left-20 {
442
+ padding-left: 20px!important;
443
+ }
444
+
445
+ .em-mob-height-20px {
446
+ height: 20px!important;
447
+ }
448
+ }
449
+ </style>
450
+ <tr em="block" class="em-structure">
451
+ <td align="center" style="padding: 30px 40px;" class="em-mob-padding_left-20 em-mob-padding_right-20">
452
+ <table border="0" cellspacing="0" cellpadding="0" class="em-mob-width-100perc">
453
+ <tr>
454
+ <td width="180" valign="top" class="em-mob-wrap em-mob-width-100perc"></td>
455
+ <td width="20" class="em-mob-wrap em-mob-height-20px"></td>
456
+ <td width="380" valign="top" class="em-mob-wrap em-mob-width-100perc"></td>
457
+ </tr>
458
+ </table>
459
+ </td>
460
+ </tr>`,ex=`<style em="styles">
461
+ @media only screen and (max-device-width:660px),only screen and (max-width:660px) {
462
+ .em-mob-width-100perc {
463
+ width: 100%!important;
464
+ max-width: 100%!important;
465
+ }
466
+
467
+ .em-mob-wrap {
468
+ display: block!important;
469
+ }
470
+
471
+ .em-mob-padding_right-20 {
472
+ padding-right: 20px!important;
473
+ }
474
+
475
+ .em-mob-padding_left-20 {
476
+ padding-left: 20px!important;
477
+ }
478
+
479
+ .em-mob-height-20px {
480
+ height: 20px!important;
481
+ }
482
+ }
483
+ </style>
484
+ <tr em="block" class="em-structure">
485
+ <td align="center" style="padding: 30px 40px;" class="em-mob-padding_left-20 em-mob-padding_right-20">
486
+ <table border="0" cellspacing="0" cellpadding="0" class="em-mob-width-100perc">
487
+ <tr>
488
+ <td width="380" valign="top" class="em-mob-wrap em-mob-width-100perc"></td>
489
+ <td width="20" class="em-mob-wrap em-mob-height-20px"></td>
490
+ <td width="180" valign="top" class="em-mob-wrap em-mob-width-100perc"></td>
491
+ </tr>
492
+ </table>
493
+ </td>
494
+ </tr>`,tx=`<style em="styles">
495
+ @media only screen and (max-device-width:660px),only screen and (max-width:660px) {
496
+ .em-mob-width-100perc {
497
+ width: 100%!important;
498
+ max-width: 100%!important;
499
+ }
500
+
501
+ .em-mob-wrap {
502
+ display: block!important;
503
+ }
504
+
505
+ .em-mob-padding_right-20 {
506
+ padding-right: 20px!important;
507
+ }
508
+
509
+ .em-mob-padding_left-20 {
510
+ padding-left: 20px!important;
511
+ }
512
+
513
+ .em-mob-height-20px {
514
+ height: 20px!important;
515
+ }
516
+ }
517
+ </style>
518
+ <tr em="block" class="em-structure">
519
+ <td align="center" style="padding: 30px 40px;" class="em-mob-padding_left-20 em-mob-padding_right-20">
520
+ <table border="0" cellspacing="0" cellpadding="0" class="em-mob-width-100perc">
521
+ <tr>
522
+ <td width="280" valign="top" class="em-mob-wrap em-mob-width-100perc"></td>
523
+ <td width="20" class="em-mob-wrap em-mob-height-20px"></td>
524
+ <td width="280" valign="top" class="em-mob-wrap em-mob-width-100perc"></td>
525
+ </tr>
526
+ </table>
527
+ </td>
528
+ </tr>`,rx=`<style em="styles">
529
+ @media only screen and (max-device-width:660px),only screen and (max-width:660px) {
530
+ .em-mob-width-100perc {
531
+ width: 100%!important;
532
+ max-width: 100%!important;
533
+ }
534
+
535
+ .em-mob-wrap {
536
+ display: block!important;
537
+ }
538
+
539
+ .em-mob-padding_right-20 {
540
+ padding-right: 20px!important;
541
+ }
542
+
543
+ .em-mob-padding_left-20 {
544
+ padding-left: 20px!important;
545
+ }
546
+
547
+ .em-mob-height-20px {
548
+ height: 20px!important;
549
+ }
550
+ }
551
+ </style>
552
+ <tr em="block" class="em-structure">
553
+ <td align="center" style="padding: 30px 40px;" class="em-mob-padding_left-20 em-mob-padding_right-20">
554
+ <table border="0" cellspacing="0" cellpadding="0" class="em-mob-width-100perc">
555
+ <tr>
556
+ <td width="180" valign="top" class="em-mob-wrap em-mob-width-100perc"></td>
557
+ <td width="20" class="em-mob-wrap em-mob-height-20px"></td>
558
+ <td width="180" valign="top" class="em-mob-wrap em-mob-width-100perc"></td>
559
+ <td width="20" class="em-mob-wrap em-mob-height-20px"></td>
560
+ <td width="180" valign="top" class="em-mob-wrap em-mob-width-100perc"></td>
561
+ </tr>
562
+ </table>
563
+ </td>
564
+ </tr>`,nx=`<style em="styles">
565
+ @media only screen and (max-device-width:660px),only screen and (max-width:660px) {
566
+ .em-mob-width-100perc {
567
+ width: 100%!important;
568
+ max-width: 100%!important;
569
+ }
570
+
571
+ .em-mob-wrap {
572
+ display: block!important;
573
+ }
574
+
575
+ .em-mob-padding_right-20 {
576
+ padding-right: 20px!important;
577
+ }
578
+
579
+ .em-mob-padding_left-20 {
580
+ padding-left: 20px!important;
581
+ }
582
+
583
+ .em-mob-height-20px {
584
+ height: 20px!important;
585
+ }
586
+ }
587
+ </style>
588
+ <tr em="block" class="em-structure">
589
+ <td align="center" style="padding: 30px 40px;" class="em-mob-padding_left-20 em-mob-padding_right-20">
590
+ <table border="0" cellspacing="0" cellpadding="0" class="em-mob-width-100perc">
591
+ <tr>
592
+ <td width="130" valign="top" class="em-mob-wrap em-mob-width-100perc"></td>
593
+ <td width="20" class="em-mob-wrap em-mob-height-20px"></td>
594
+ <td width="130" valign="top" class="em-mob-wrap em-mob-width-100perc"></td>
595
+ <td width="20" class="em-mob-wrap em-mob-height-20px"></td>
596
+ <td width="130" valign="top" class="em-mob-wrap em-mob-width-100perc"></td>
597
+ <td width="20" class="em-mob-wrap em-mob-height-20px"></td>
598
+ <td width="130" valign="top" class="em-mob-wrap em-mob-width-100perc"></td>
599
+ </tr>
600
+ </table>
601
+ </td>
602
+ </tr>`,q_=[{sizeArray:[24],name:"column-one",html:J1},{sizeArray:[12,12],name:"column-two-50",html:tx},{sizeArray:[8,8,8],name:"column-three",html:rx},{sizeArray:[6,6,6,6],name:"column-four",html:nx},{sizeArray:[8,16],name:"column-two-33",html:Z1},{sizeArray:[16,8],name:"column-two-66",html:ex}],G_=()=>{const e=Fl(),t=Ll();return(0,M.jsx)("div",{className:"structures blocks-search__empty-wrapper",children:(0,M.jsx)("div",{className:"structures__list",children:(0,M.jsx)("div",{children:q_&&q_.map(r=>(0,M.jsx)("div",{children:(0,M.jsx)("div",{className:"structures__item",draggable:!0,onClick:n=>e(n,r.html,void 0,r.name,{id:r.name,title:r.name,type:"structure"}),onDragStart:n=>t(n,r.html,void 0,r.name,{id:r.name,title:r.name,type:"structure"}),children:(0,M.jsx)(B.ui_kit$Row,{gutter:[6,6],className:"structures__item-row",children:r.sizeArray.map((n,i)=>(0,M.jsx)(B.ui_kit$Col,{span:n,children:(0,M.jsx)("div",{className:"structures__item-col"})},r.name+i))})})},r.name))})})})};G_.propTypes={};var ix=`<style em="styles">
603
+ @media only screen and (max-device-width:660px),only screen and (max-width:660px) {
604
+ .em-mob-width-100perc {
605
+ width: 100%!important;
606
+ max-width: 100%!important;
607
+ }
608
+ }
609
+ </style>
610
+ <table cellpadding="0" cellspacing="0" border="0" width="100%" class="em-mob-width-100perc" em="atom"><tr><td>
611
+ <img src=${__emailmaker__.assetUrl("empty-image.png")} width="150" border="0" alt="" style="display: block; width: 100%; max-width: 150px;" />
612
+ </td></tr></table>`,ox=`<style em="styles">
613
+ @media only screen and (max-device-width:660px),only screen and (max-width:660px) {
614
+ .em-mob-width-100perc {
615
+ width: 100%!important;
616
+ max-width: 100%!important;
617
+ }
618
+ }
619
+ </style>
620
+ <table cellpadding="0" cellspacing="0" border="0" width="100%" class="em-mob-width-100perc" em="atom"><tr><td>
621
+ <img class="em-ai-img em-just-inserted" src="${__emailmaker__.assetUrl("ai-image.png")}" width="150" border="0" alt="" style="display: block; width: 100%; max-width: 150px;" />
622
+ </td></tr></table>`,ax=({__:e})=>`<style em="styles">
623
+ @media only screen and (max-device-width:660px),only screen and (max-width:660px) {
624
+ .em-mob-width-100perc {
625
+ width: 100%!important;
626
+ max-width: 100%!important;
627
+ }
628
+ }
629
+ </style>
630
+ <table cellpadding="0" cellspacing="0" border="0" width="100%" class="em-mob-width-100perc" em="atom"><tr><td style="padding-bottom: 10px;">
631
+ <div style="font-family: -apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 21px; color: #5A5A5A;">${e("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.")}</div>
632
+ </td></tr></table>`,sx=({__:e})=>`<style em="styles">
633
+ @media only screen and (max-device-width:660px),only screen and (max-width:660px) {
634
+ .em-mob-width-100perc {
635
+ width: 100%!important;
636
+ max-width: 100%!important;
637
+ }
638
+ }
639
+ </style>
640
+ <table cellpadding="0" cellspacing="0" border="0" width="100%" class="em-mob-width-100perc" em="atom"><tr><td style="padding: 20px 0 10px;">
641
+ <div style="font-family: -apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 24px; line-height: 32px; color: #333333;"><strong>${e("Header text")}</strong></div>
642
+ </td></tr></table>`,lx=({__:e})=>`<style em="styles">
643
+ @media only screen and (max-device-width:660px),only screen and (max-width:660px) {
644
+ .em-mob-width-100perc {
645
+ width: 100%!important;
646
+ max-width: 100%!important;
647
+ }
648
+ }
649
+ </style>
650
+ <table cellpadding="0" cellspacing="0" border="0" width="100%" class="em-mob-width-100perc" em="atom"><tr><td style="padding: 10px 0;">
651
+ <table cellpadding="0" cellspacing="0" border="0" width="200" class="em-mob-width-100perc">
652
+ <tr>
653
+ <td align="center" valign="middle" height="41" bgcolor="#1C52DC" style="height: 41px; background-color: #1C52DC; border-radius: 5px;">
654
+ <a href="" target="_blank" style="display: block; font-family: -apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif; color: #FFFFFF; font-size: 16px; line-height: 41px; text-decoration: none; white-space: nowrap;">
655
+ ${e("Button")}
656
+ </a>
657
+ </td>
658
+ </tr>
659
+ </table>
660
+ </td></tr></table>`,cx=({__:e})=>`<style em="styles">
661
+ @media only screen and (max-device-width:660px),only screen and (max-width:660px) {
662
+ .em-mob-width-100perc {
663
+ width: 100%!important;
664
+ max-width: 100%!important;
665
+ }
666
+ }
667
+ </style>
668
+ <table cellpadding="0" cellspacing="0" border="0" width="100%" class="em-mob-width-100perc" em="atom"><tr><td>
669
+ <table class="em-element-list-ul" cellpadding="0" cellspacing="0" border="0" width="100%">
670
+ <tr>
671
+ <td align="left" valign="top" width="20">
672
+ <div style="font-family: -apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 21px; color: #5A5A5A;">&bull;</div>
673
+ </td>
674
+ <td align="left" valign="top" style="padding-bottom: 5px; padding-left: 1px;">
675
+ <div style="font-family: -apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 21px; color: #5A5A5A;">${e("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.")}</div>
676
+ </td>
677
+ </tr>
678
+ </table>
679
+ </td></tr></table>`,ux=({__:e})=>`<style em="styles">
680
+ @media only screen and (max-device-width:660px),only screen and (max-width:660px) {
681
+ .em-mob-width-100perc {
682
+ width: 100%!important;
683
+ max-width: 100%!important;
684
+ }
685
+ }
686
+ </style>
687
+ <table cellpadding="0" cellspacing="0" border="0" width="100%" class="em-mob-width-100perc" em="atom"><tr><td>
688
+ <table class="em-element-list-ol" cellpadding="0" cellspacing="0" border="0" width="100%">
689
+ <tr>
690
+ <td align="left" valign="top" width="20">
691
+ <div style="font-family: -apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 21px; color: #5A5A5A;">1.&nbsp;</div>
692
+ </td>
693
+ <td align="left" valign="top" style="padding-bottom: 5px; padding-left: 1px;">
694
+ <div style="font-family: -apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 21px; color: #5A5A5A;">${e("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.")}</div>
695
+ </td>
696
+ </tr>
697
+ </table>
698
+ </td></tr></table>`,dx=`<style em="styles">
699
+ @media only screen and (max-device-width:660px),only screen and (max-width:660px) {
700
+ .em-mob-width-100perc {
701
+ width: 100%!important;
702
+ max-width: 100%!important;
703
+ }
704
+ }
705
+ </style>
706
+ <table cellpadding="0" cellspacing="0" border="0" width="100%" class="em-mob-width-100perc" em="atom"><tr><td height="0" style="padding: 20px 0 0; border-top: 1px solid #BFBFBF;">&nbsp;</td></tr></table>`,fx=`<style em="styles">
707
+ @media only screen and (max-device-width:660px),only screen and (max-width:660px) {
708
+ .em-mob-width-100perc {
709
+ width: 100%!important;
710
+ max-width: 100%!important;
711
+ }
712
+ }
713
+ </style>
714
+ <table cellpadding="0" cellspacing="0" border="0" width="100%" class="em-mob-width-100perc" em="atom"><tr><td height="20"></td></tr></table>`,mx="https://emcdn.ru/socnets";function px(e){let t=String(e??"");for(;t.endsWith("/");)t=t.slice(0,-1);return t}function hx(e){let t=String(e??"");for(;t.startsWith("/");)t=t.slice(1);return t}function qc(e){return`${px(mx)}/${hx(e)}`}var z_={telegram:"tg",youtube:"yt",vk:"vk",yandex_zen:"yd",x:"xa",pinterest:"pi",tiktok:"tt",ok:"ok",max:"max",rutube:"rutube",linkedin:"linkedin",viber:"viber",drbl:"drbl",fig:"fig",gh:"gh",ggl:"ggl",rdt:"rdt",sptf:"sptf",twitch:"twitch",vkv:"vkv"};function V_(e,t){return qc(`${e}${t?"-negative":""}.png`)}function gx(e){const t=String(e.buttonBgColor??"").trim();return t||(e.blockBgEnabled&&String(e.blockBgColor??"").trim()?String(e.blockBgColor).trim():"")}function yx(e){const t=gx(e);return t||String(e.hostCellBgForIconLuminance??"").trim()}function H_(e){const t=String(e??"").trim();if(t.endsWith("%")){const n=parseFloat(t);return Number.isNaN(n)?null:Math.min(1,Math.max(0,n/100))}const r=parseFloat(t);return Number.isNaN(r)?null:Math.min(1,Math.max(0,r))}function Gc(e){const t=String(e??"").trim();if(t.endsWith("%")){const n=parseFloat(t);return Number.isNaN(n)?null:Math.min(255,Math.max(0,Math.round(n/100*255)))}const r=parseFloat(t);return Number.isNaN(r)?null:Math.min(255,Math.max(0,Math.round(r)))}function _x(e){const t=String(e??"").trim().toLowerCase();if(!t||t==="transparent")return null;if(t.startsWith("#")){let l=t.slice(1);return/^[0-9a-f]{3}$/i.test(l)&&(l=l.split("").map(u=>u+u).join("")),/^[0-9a-f]{6}$/i.test(l)?{r:parseInt(l.slice(0,2),16),g:parseInt(l.slice(2,4),16),b:parseInt(l.slice(4,6),16),a:1}:/^[0-9a-f]{8}$/i.test(l)?{r:parseInt(l.slice(0,2),16),g:parseInt(l.slice(2,4),16),b:parseInt(l.slice(4,6),16),a:parseInt(l.slice(6,8),16)/255}:null}const r=/^rgba?\(\s*([^)]+)\)$/i.exec(t);if(!r)return null;let n=1,i=r[1];if(i.includes("/")){const l=i.split(/\s*\/\s*/);if(i=l[0].trim(),!l[1])return null;const u=H_(l[1]);if(u===null)return null;n=u}const o=i.split(/[\s,]+/).map(l=>l.trim()).filter(Boolean);if(o.length<3)return null;const a=Gc(o[0]),s=Gc(o[1]),c=Gc(o[2]);if(a===null||s===null||c===null)return null;if(o.length>=4&&!r[1].includes("/")){const l=H_(o[3]);if(l===null)return null;n=l}return{r:a,g:s,b:c,a:n}}function zc(e){const t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4}function vx(e){const t=_x(e);if(!t)return null;const r=t.a,n=u=>Math.round(u*r+255*(1-r)),i=n(t.r),o=n(t.g),a=n(t.b),s=zc(i),c=zc(o),l=zc(a);return .2126*s+.7152*c+.0722*l}function bx(e){const t=vx(e);return t==null?!1:t>=.6}function W_(e){return Object.fromEntries(Object.entries(z_).map(([t,r])=>[t,V_(r,e)]))}var Pi=W_(!1),K_=W_(!0);function Ex({blockBgEnabled:e,blockBgColor:t,buttonBgColor:r}){const n=!!(e&&String(t??"").trim()),i=!!String(r??"").trim();return n||i}function wx(e,t={}){const r=z_[e],n=Ex(t);if(r&&n){const i=yx(t);return qc(`${r}${i&&bx(i)?"-negative-black":"-negative"}.png`)}return r&&!n?qc(`${r}.png`):(n?K_:Pi)[e]??Pi[e]}function Sx(e,t){const r=Pi[e];return t==="dark"?K_[e]??r:r}var Px=Pi;function Ix(){return[{platform:"vk",label:"VK",href:""},{platform:"telegram",label:"Telegram",href:""},{platform:"max",label:"Max",href:""},{platform:"vkv",label:"VK Видео",href:""},{platform:"yandex_zen",label:"Яндекс Дзен",href:""}]}var Y3=["tg","yt","vk","yd","xa","ig","fb"].map(e=>V_(e,!1)),Tx="https://cdn.useblocks.io/socnets";function Ox(e){let t=String(e??"");for(;t.endsWith("/");)t=t.slice(0,-1);return t}function Cx(e){let t=String(e??"");for(;t.startsWith("/");)t=t.slice(1);return t}function Ax(e){return`${Ox(Tx)}/${Cx(e)}`}var kx={telegram:"tg",youtube:"yt",vk:"vk",yandex_zen:"yd",x:"xa",twitter:"tw",instagram:"ig",facebook:"fb",pinterest:"pi",tiktok:"tt",ok:"ok",max:"max",rutube:"rutube",whatsapp:"whatsapp",linkedin:"linkedin",viber:"viber",apple:"apple",dis:"dis",drbl:"drbl",fig:"fig",gh:"gh",ggl:"ggl",mdm:"mdm",rdt:"rdt",sgnl:"sgnl",sc:"sc",sptf:"sptf",tmblr:"tmblr",twitch:"twitch",thrds:"thrds",msngr:"msngr",bs:"bs"};function Q_(e,t){return Ax(`${e}${t?"-negative":""}.png`)}function Y_(e){return Object.fromEntries(Object.entries(kx).map(([t,r])=>[t,Q_(r,e)]))}var X3=Y_(!1),J3=Y_(!0),Z3=["tg","yt","vk","yd","xa","ig","fb"].map(e=>Q_(e,!1)),jx=Px;function X_(e){return String(e??"").replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;")}function J_(e){const t=String(e??"").trim();if(!t)return"";if(/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i.test(t))return t;const r=typeof window<"u"&&window.location?.origin?window.location.origin:"";if(!r)return t;try{return new URL(t,r).href}catch{return t}}function Mx(e){return e>0?`<td width="${e}">&nbsp;</td>`:""}var Rx={align:"center",iconSize:40,borderRadius:0,gap:8,bgEnabled:!1,bgColor:"",borderWidth:0,borderColor:"",buttonBorderColor:"",buttonBorderWidth:0,showLabel:!1};function Z_(e){const{iconSize:t,gap:r,align:n}=Rx,i=Math.max(0,Math.round(Number(r)||0)),o=e.length>1;return`<style em="styles">
715
+ @media only screen and (max-device-width:660px),only screen and (max-width:660px) {
716
+ .em-mob-width-100perc {
717
+ width: 100%!important;
718
+ max-width: 100%!important;
719
+ }
720
+ }
721
+ </style>
722
+ <table cellpadding="0" cellspacing="0" border="0" width="100%" class="em-mob-width-100perc" em="atom" em-type="social"><tr><td align="${n}">
723
+ <table border="0" cellspacing="0" cellpadding="0">
724
+ <tr>${e.map(a=>{const s=J_(a.iconSrc),c=s||J_(jx[a.platform]);if(!c)return"";const l=X_(a.label),u=X_(a.href||""),d=o?' draggable="true"':"",m=s?" em-custom-icon":"";return`<td em-platform="${a.platform}"${m}${d}><a href="${u}" target="_blank" draggable="false"><img src="${c}" width="${t}" height="${t}" border="0" alt="${l}" draggable="false" style="display:block;" /></a></td>`}).filter(Boolean).reduce((a,s,c)=>(c>0&&a.push(Mx(i)),a.push(s),a),[]).join("")}
725
+ </tr>
726
+ </table>
727
+ </td></tr></table>`}var Nx=Z_(Ix()),Dx=({__:e})=>`<style em="styles">
728
+ @media only screen and (max-device-width:660px),only screen and (max-width:660px) {
729
+ .em-mob-width-100perc {
730
+ width: 100%!important;
731
+ max-width: 100%!important;
732
+ }
733
+ }
734
+ </style>
735
+ <table cellpadding="0" cellspacing="0" width="100%" class="em-mob-width-100perc em-element-custom-table" em="atom" style="border: 1px solid #b9b1b1;" align="center">
736
+ <tr>
737
+ <td align="center" valign="top" style="border: 1px solid #b9b1b1;">
738
+ <div style="font-family: -apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 21px; color: #5A5A5A;">${e("Column")} 1</div>
739
+ </td>
740
+ <td align="center" valign="top" style="border: 1px solid #b9b1b1;">
741
+ <div style="font-family: -apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 21px; color: #5A5A5A;">${e("Column")} 2</div>
742
+ </td>
743
+ <td align="center" valign="top" style="border: 1px solid #b9b1b1;">
744
+ <div style="font-family: -apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 21px; color: #5A5A5A;">${e("Column")} 3</div>
745
+ </td>
746
+ </tr>
747
+ </table>`,Lx="https://cdt3.emcdn.ru/rndt",ev=new Date(+new Date+432e6).toISOString(),tv=-new Date().getTimezoneOffset()/60,Fx=e=>`${Lx}?locale=${e.replace("_","-")}&bg=FFFFFF&tp=false&color1=000000&color2=959595&size1=72&size2=28&font1=roboto&font2=roboto&border=10&delimiter=:&spacing=10&time=${ev}&timezone=${tv}&frames=20`,xx=e=>`<style em="styles">
748
+ @media only screen and (max-device-width:660px),only screen and (max-width:660px) {
749
+ .em-mob-width-100perc {
750
+ width: 100%!important;
751
+ max-width: 100%!important;
752
+ }
753
+ }
754
+ </style>
755
+ <table cellpadding="0" cellspacing="0" border="0" width="100%" class="em-mob-width-100perc" em="atom"><tr><td align="center"><img class="em-countdown" em-cd-settings="locale=${e.replace("_","-")}&bg=FFFFFF&tp=false&color1=000000&color2=959595&size1=72&size2=28&font1=roboto&font2=roboto&border=10&delimiter=:&spacing=10&time=${ev}&timezone=${tv}&frames=20" src="${Fx(e)}" border="0" alt="" style="display: block;" /></td></tr></table>`,Bx=`<style em="styles">
756
+ @media only screen and (max-device-width:660px),only screen and (max-width:660px) {
757
+ .em-mob-width-100perc {
758
+ width: 100%!important;
759
+ max-width: 100%!important;
760
+ }
761
+ }
762
+ </style>
763
+ <table cellpadding="0" cellspacing="0" border="0" width="100%" class="em-mob-width-100perc" em="atom"><tr><td>
764
+ <img class="em-video" src="${__emailmaker__.assetUrl("video.png")}" width="150" border="0" alt="" style="display: inline-block; width: 100%; max-width: 150px;" />
765
+ </td></tr></table>`,Ux=({__:e})=>`<style em="styles">
766
+ @media only screen and (max-device-width:660px),only screen and (max-width:660px) {
767
+ .em-mob-width-100perc {
768
+ width: 100%!important;
769
+ max-width: 100%!important;
770
+ }
771
+ }
772
+ </style>
773
+ <table cellpadding="0" cellspacing="0" border="0" width="100%" class="em-mob-width-100perc" em="atom"><tr><td>
774
+ <amp-carousel width="800" height="600" layout="responsive" type="slides" controls>
775
+ <amp-img src="${e("https://cdn.useblocks.io/1351/241031_18_JoH0f3E.png")}" width="800" height="600" layout="responsive" alt=""></amp-img>
776
+ <amp-img src="${e("https://cdn.useblocks.io/1351/241031_18_aJAY1Xz.png")}" width="800" height="600" layout="responsive" alt=""></amp-img>
777
+ <amp-img src="${e("https://cdn.useblocks.io/1351/241031_18_OQEyMEF.png")}" width="800" height="600" layout="responsive" alt=""></amp-img>
778
+ </amp-carousel>
779
+ </td></tr></table>`,$x=({__:e})=>`<style em="styles">
780
+ amp-accordion > section > * {
781
+ background: none !important;
782
+ padding: 0 !important;
783
+ border: none !important;
784
+ overflow: visible !important;
785
+ }
786
+ @media only screen and (max-device-width:660px),only screen and (max-width:660px) {
787
+ .em-mob-width-100perc {
788
+ width: 100%!important;
789
+ max-width: 100%!important;
790
+ }
791
+ }
792
+ </style>
793
+ <table cellpadding="0" cellspacing="0" border="0" width="100%" class="em-mob-width-100perc" em="atom"><tr><td>
794
+ <amp-accordion animate expand-single-section>
795
+ <section>
796
+ <header>
797
+ <table cellpadding="0" cellspacing="0" border="0" width="100%">
798
+ <tr>
799
+ <td style="padding: 10px 0; border-bottom: 1px solid #CCCCCC;">
800
+ <div style="font-family: -apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 21px; color: #5A5A5A;"><strong>${e("Section title")}</strong></div>
801
+ </td>
802
+ </tr>
803
+ </table>
804
+ </header>
805
+ <div>
806
+ <table cellpadding="0" cellspacing="0" border="0" width="100%" em="atom">
807
+ <tr>
808
+ <td style="padding: 10px 0;">
809
+ <div style="font-family: -apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 21px; color: #5A5A5A;">${e("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.")}</div>
810
+ </td>
811
+ </tr>
812
+ </table>
813
+ </div>
814
+ </section>
815
+ </amp-accordion>
816
+ </td></tr></table>`;function qx(e){const{isPlanLocked:t,trialEnabled:r,canStartTrial:n}=e;return!t||r||!n?"upsell":"trial"}var Vc=xs("config/changeConfigModeWithCodeCheck",async(e,{dispatch:t,getState:r})=>{const n=P.getContainer({getState:r}),i=n?.getInstance(P.CONFIG_SOURCE_ID);i?.setMode(e),kl(n)||t(sr.endpoints.editMe.initiate({email_builder_config:e}));const o=i?.get()?.codeEnabled;return n&&o===!1&&__(n).isCodeMode&&jc(n,!1),e});function Gx(e,t,r){const n=e.data?.status,i=typeof e.status=="number"?e.status:void 0;return n===403||i===403?{kind:"failure",userMessage:e.message&&String(e.message).trim()||t}:{kind:"success",title:e.code&&String(e.code).trim()||r,description:e.message&&String(e.message).trim()||void 0}}async function zx(e,t,r,n,i,o,a){const s=await t(e),c=r("Could not activate the trial. Please try again later or contact support.");if("error"in s&&s.error){const l=s.error,u="data"in l?l.data:void 0;return a((u&&typeof u=="object"&&u!==null&&"message"in u?String(u.message):void 0)||c),!1}if("data"in s&&s.data&&typeof s.data=="object"){const l=Gx(s.data,c,r("Trial period activated."));return l.kind==="failure"?(a(l.userMessage),!1):(n(Vc("pro")),await i(""),l.description?o({title:l.title,description:l.description}):o(l.title),!0)}return n(Vc("pro")),await i(""),o(r("Trial period activated.")),!0}var Ii="Integrations",ka="Webhook",ja="TestRecipients",Hc="Storage",rv="Plan",jt=(e,t)=>{const r=it(e);return"error"in r?{error:r.error}:{data:t(r.data)}},Wc=Ne({reducerPath:"projectSettingsV2Api",tagTypes:[Ii,ka,ja,Hc,rv],baseQuery:We({baseUrl:"https://app.emailmaker.ru/api/v2"}),endpoints:e=>({getProjectPlan:e.query({async queryFn(t,r,n,i){const o=await pk(P.getContainer(r),String(t));if(o)return{data:o};const a=await i(`/projects/${t}/plan`);return a.error?{error:a.error}:{data:a.data}},providesTags:(t,r,n)=>[{type:rv,id:String(n)}]}),getProjectIntegrations:e.query({async queryFn(t,r){return jt(await Be(P.getContainer(r)).projects.integrationsList({id:String(t)}),n=>Object.fromEntries((n?.items||[]).map(i=>[i.provider,i])))},providesTags:(t,r,n)=>[{type:Ii,id:String(n)}]}),getIntegrationCredentials:e.query({async queryFn({projectId:t,provider:r},n){return jt(await Be(P.getContainer(n)).projects.integrationsDetail({id:String(t),provider:r,reveal:!0}),i=>i?.settings||{})},keepUnusedDataFor:0}),putProjectIntegration:e.mutation({async queryFn({projectId:t,provider:r,settings:n},i){return jt(await Be(P.getContainer(i)).projects.integrationsUpdate({id:String(t),provider:r},{settings:n}),o=>o)},invalidatesTags:(t,r,{projectId:n})=>[{type:Ii,id:String(n)}]}),deleteProjectIntegration:e.mutation({async queryFn({projectId:t,provider:r},n){return jt(await Be(P.getContainer(n)).projects.integrationsDelete({id:String(t),provider:r}),()=>{})},invalidatesTags:(t,r,{projectId:n})=>[{type:Ii,id:String(n)}]}),getProjectWebhook:e.query({async queryFn(t,r){return jt(await Be(P.getContainer(r)).projects.webhookList({id:String(t)}),n=>n?.url||"")},providesTags:(t,r,n)=>[{type:ka,id:String(n)}]}),putProjectWebhook:e.mutation({async queryFn({projectId:t,url:r},n){return jt(await Be(P.getContainer(n)).projects.webhookUpdate({id:String(t)},{url:r}),i=>({url:i?.url||""}))},invalidatesTags:(t,r,{projectId:n})=>[{type:ka,id:String(n)}]}),getProjectStorage:e.query({async queryFn(t,r){return jt(await Be(P.getContainer(r)).projects.storageList({id:String(t)}),n=>n)},providesTags:(t,r,n)=>[{type:Hc,id:String(n)}]}),putProjectSettings:e.mutation({async queryFn({projectId:t,body:r},n){return jt(await Be(P.getContainer(n)).projects.settingsUpdate({id:String(t)},r),i=>i)},invalidatesTags:(t,r,{projectId:n})=>[{type:Ii,id:String(n)},{type:ka,id:String(n)},{type:ja,id:String(n)},{type:Hc,id:String(n)}]}),getProjectTestRecipients:e.query({async queryFn(t,r){return jt(await Be(P.getContainer(r)).projects.testRecipientsList({id:String(t)}),n=>n?.emails||[])},providesTags:(t,r,n)=>[{type:ja,id:String(n)}]}),putProjectTestRecipients:e.mutation({async queryFn({projectId:t,emails:r},n){return jt(await Be(P.getContainer(n)).projects.testRecipientsUpdate({id:String(t)},{emails:r}),i=>({emails:i?.emails||[]}))},invalidatesTags:(t,r,{projectId:n})=>[{type:ja,id:String(n)}]})})}),{useGetProjectPlanQuery:Kc,useLazyGetProjectPlanQuery:Vx,useGetProjectStorageQuery:e6,usePutProjectSettingsMutation:t6,useGetProjectIntegrationsQuery:Hx,useLazyGetIntegrationCredentialsQuery:Wx,usePutProjectIntegrationMutation:r6,useDeleteProjectIntegrationMutation:n6,useGetProjectWebhookQuery:Kx,usePutProjectWebhookMutation:i6,useGetProjectTestRecipientsQuery:Qx,usePutProjectTestRecipientsMutation:Yx}=Wc;function Xx(){const{__:e}=de(),t=ut(),r=T_(),{success:n,notify:i}=zt(),o=Tt(),[a]=Ly(),[s,{isLoading:c}]=PL(),[l]=YL(),u=(0,_.useCallback)(g=>{i({title:g,type:"error"})},[i]),d=(0,_.useCallback)(async()=>{const g=r.get(Eo.em_token);if(!g)return u(e("Sign in to your account to activate the trial period.")),!1;try{const h=await zx(g,s,e,t,a,n,u);if(h){await l();const v=Date.now();a("").then(E=>{(E?.startedTimeStamp??0)<v&&a("")}),t(nn.util.invalidateTags(["project"])),t(Wc.util.invalidateTags(["Plan"])),t(Sa.util.invalidateTags(["SubscriptionMe"])),o({event:"change",action:"activate_trial"})}return h}catch(h){return u(h?.data?.message||e("Could not activate the trial. Please try again later or contact support.")),!1}},[e,s,r,t,a,l,u,n,o]),[m,p]=(0,_.useState)(!1);return{activate:(0,_.useCallback)(async()=>{p(!0);try{return await d()}finally{p(!1)}},[d]),isActivating:c||m}}function Jx(e){const t=!!e?.nativeId,{data:r,isSuccess:n,isError:i,isFetching:o,refetch:a}=QL(void 0,{skip:!t||!0}),s=(0,_.useCallback)(()=>{i&&a()},[i,a]);let c;return!t||e?.trial_enabled?c=e?.trial_enabled?"taken":"not-taken":o||!n&&!i?c="pending":n?c=Ay(r?.is_get_trial)?"taken":"not-taken":c="unknown",{status:c,retry:s}}var Zx=({open:e,sideOnOk:t,onCancel:r,initialSlide:n=0})=>{const{__:i}=de(),o=Xs(),[a,s]=(0,_.useState)(n),c=(0,_.useRef)(null),l=Tt(),u=()=>{t&&t(),o("/billing"),r(!1)};(0,_.useEffect)(()=>{e&&c.current&&(c.current.goTo(n,!0),s(n))},[e,n]);const d=(0,_.useMemo)(()=>[{image:i("https://cdn.useblocks.io/1351/241017_18_1sGjUaZ.png"),backgroundColor:"var(--em-blue-2)",title:i("More editing features"),description:i("Use our visual editor to customize every element to your needs: change borders and their radius, box shadows, paddings, background, and much more.")},{image:i("https://cdn.useblocks.io/1351/241017_18_J7QtvZ3.png"),backgroundColor:"var(--em-purple-2)",title:i("Work with the HTML code"),description:i("Edit the HTML version of your email template in the Code mode and see the changes in real time. Builder has no code restrictions — you can create templates of any complexity!")},{image:i("https://cdn.useblocks.io/1351/241017_18_2fjDRfL.png"),backgroundColor:"var(--em-cyan-2)",title:i("AI image generation"),description:i("Generate stunning visuals for your emails with ease. We have trained our AI model to ensure the highest quality images.")},{image:i("https://cdn.useblocks.io/1351/241017_18_D5C25Zp.png"),backgroundColor:"var(--em-green-2)",title:i("Stock photos and GIFs"),description:i("Search the vast gallery of stock photos and GIFs to find visuals for any occasion. You can filter the results by image orientation, color scheme, and more.")},{image:i("https://cdn.useblocks.io/1351/241017_18_NDYloAO.png"),backgroundColor:"var(--em-magenta-2)",title:i("Version history"),description:i("Check who and when made changes to the email template and, if necessary, restore one of the previous versions.")},{image:i("https://cdn.useblocks.io/1351/241017_18_g5mVlmh.png"),backgroundColor:"var(--em-red-2)",title:i("Image editor"),description:i("Want to resize an image, add some text, or apply a filter? No need to leave builder! You can make all the basic changes in our image editor.")},{image:i("https://cdn.useblocks.io/1351/241017_18_ur8Lh3W.png"),backgroundColor:"var(--em-orange-2)",title:i("Email optimization"),description:i("Check your email against broken links, missing alt texts, large images, and other issues that might prevent your emails from hitting inboxes.")},{image:i("https://cdn.useblocks.io/1351/241017_18_S5Pld9p.png"),backgroundColor:"var(--em-volcano-2)",title:i("Team collaboration"),description:i("Share the project with your team and collaborate in real time. Add comments to individual email blocks and discuss necessary edits right in the builder.")},{image:i("https://cdn.useblocks.io/1351/241017_18_tGbb2j9.png"),backgroundColor:"var(--em-geekblue-2)",title:i("Email testing"),description:i("Check how your email appears across various devices and email clients.")},{image:i("https://cdn.useblocks.io/1351/241017_18_gDXi4uM.png"),backgroundColor:"var(--em-geekblue-2)",title:i("AI assistant"),description:i("Let our AI assistant enhance your email template! From creating subject lines and preheaders based on the email copy to generating the whole email with your website in mind!")}],[i]);return(0,_.useEffect)(()=>{if(e&&c.current){c.current.goTo(n,!0),s(n);const m=d[n];l({event:"open_modal",action:"open_premium-features_modal",modal_id:"premium-features",offer_id:m.title})}},[e,d,n,l]),(0,M.jsxs)(B.ui_kit$Modal,{open:e,footer:null,onCancel:r,closable:!1,className:"premium-features-modal",classNames:{mask:"premium-features-modal-mask"},styles:{mask:{background:"rgba(0, 0, 0, 0.65)"}},width:1100,style:{maxWidth:"80%"},children:[(0,M.jsx)(B.ui_kit$Carousel,{dots:!0,slidesToShow:1,slidesToScroll:1,autoplay:!0,className:"carousel-slider",draggable:!0,autoplaySpeed:5e3,initialSlide:a,ref:c,children:d.map((m,p)=>(0,M.jsx)("div",{children:(0,M.jsxs)("div",{className:"carousel-slide",style:{background:`${m.backgroundColor}`},children:[(0,M.jsx)("div",{className:"slide-item-image",children:(0,M.jsx)("img",{src:m.image,alt:`slide-${p}`})}),(0,M.jsxs)("div",{className:"slide-item-content",children:[(0,M.jsx)("h3",{className:"slide-title",children:m.title}),(0,M.jsx)("p",{className:"slide-description",children:m.description})]})]})},p))}),(0,M.jsx)("div",{className:"modal-subtitle",children:i("This and other features are available for you on a higher plan.")}),(0,M.jsxs)("div",{className:"modal-buttons",children:[(0,M.jsx)(B.ui_kit$Button,{size:"large",onClick:()=>r(!1),children:i("Cancel")}),(0,M.jsx)(B.ui_kit$Button,{type:"primary",size:"large",onClick:u,style:{padding:"0 30px"},children:i("Select plan")})]})]})},eB=(0,M.jsx)(ee,{icon:"CheckCircleVerified",component:B.icons$CheckCircleVerified,className:"trial-suggest-modal__feature-icon"}),tB=["Export to HTML, AMP, PDF and PNG","Code editing and version history","AI assistant and AI image generation","Stock photos, GIFs and icons, plus the image editor","Email checks and teamwork"],nv=["https://cdn.useblocks.io/1351/241017_18_1sGjUaZ.png","https://cdn.useblocks.io/1351/241017_18_J7QtvZ3.png","https://cdn.useblocks.io/1351/241017_18_2fjDRfL.png","https://cdn.useblocks.io/1351/241017_18_D5C25Zp.png","https://cdn.useblocks.io/1351/241017_18_NDYloAO.png","https://cdn.useblocks.io/1351/241017_18_g5mVlmh.png","https://cdn.useblocks.io/1351/241017_18_ur8Lh3W.png","https://cdn.useblocks.io/1351/241017_18_S5Pld9p.png","https://cdn.useblocks.io/1351/241017_18_tGbb2j9.png","https://cdn.useblocks.io/1351/241017_18_gDXi4uM.png"],rB=5e3,nB=({open:e,onCancel:t,onConfirm:r,loading:n=!1})=>{const{__:i}=de(),[o,a]=(0,_.useState)(0),s=(0,_.useMemo)(()=>nv.map(c=>({backgroundImage:`url(${i(c)})`})),[i]);return(0,_.useEffect)(()=>{if(!e){a(0);return}const c=setInterval(()=>a(l=>(l+1)%nv.length),rB);return()=>clearInterval(c)},[e]),(0,M.jsx)(B.ui_kit$Modal,{open:e,onCancel:t,footer:null,closable:!1,centered:!0,width:760,className:"trial-suggest-modal",children:(0,M.jsxs)("div",{className:"trial-suggest-modal__layout",children:[(0,M.jsx)("div",{className:"trial-suggest-modal__gallery",children:(0,M.jsx)("div",{className:"trial-suggest-modal__slide-image",style:s[o]})}),(0,M.jsxs)("div",{className:"trial-suggest-modal__content",children:[(0,M.jsxs)("span",{className:"trial-suggest-modal__badge",children:[i("14 days free")," "]}),(0,M.jsxs)("h2",{className:"trial-suggest-modal__title",children:[i("Try every editor feature — free")," "]}),(0,M.jsx)("p",{className:"trial-suggest-modal__intro",children:i("Turn on a 14-day trial and the whole editor opens up:")}),(0,M.jsx)("ul",{className:"trial-suggest-modal__features",children:tB.map(c=>(0,M.jsxs)("li",{children:[eB,(0,M.jsx)("span",{children:i(c)})]},c))}),(0,M.jsxs)("p",{className:"trial-suggest-modal__promise",children:[(0,M.jsx)(ee,{icon:"ShieldTickIcon",component:B.icons$ShieldTickIcon,className:"trial-suggest-modal__promise-icon"}),(0,M.jsx)("span",{children:i("No card required: we ask for no payment or personal details.")})]}),(0,M.jsx)("p",{className:"trial-suggest-modal__note",children:i("When the trial ends, the service switches to the free plan.")}),(0,M.jsxs)("div",{className:"trial-suggest-modal__buttons",children:[(0,M.jsxs)(B.ui_kit$Button,{type:"text",size:"large",onClick:t,className:"trial-suggest-modal__decline",children:[i("Not now")," "]}),(0,M.jsxs)(B.ui_kit$Button,{type:"primary",size:"large",loading:n,onClick:r,children:[i("Start the trial")," "]})]})]})]})})},iv=({open:e,onCancel:t,initialSlide:r=0,onTrialActivated:n,sideOnOk:i})=>{const o=kr(),a=nt(),s=Tt(),{activate:c,isActivating:l}=Xx(),{status:u,retry:d}=Jx(o),m=Dc(a,{isPlugin:!0}),p=D1(a,o),g=qx({isPlanLocked:m,trialEnabled:u!=="not-taken",canStartTrial:p}),[h,v]=(0,_.useState)(g),[E,C]=(0,_.useState)(e);e!==E&&(C(e),e&&v(g));const b=(0,_.useRef)(d);(0,_.useEffect)(()=>{b.current=d}),(0,_.useEffect)(()=>{e&&b.current()},[e]);const w=h==="trial";(0,_.useEffect)(()=>{!e||!w||s({event:"open_modal",action:"open_trial-suggest_modal",modal_id:"trial-suggest"})},[e,w,s]);const I=(0,_.useCallback)(()=>{(async()=>{if(await c()){(n??t)();return}t()})()},[c,t,n]);return w?(0,M.jsx)(nB,{open:e,onCancel:t,onConfirm:I,loading:l}):(0,M.jsx)(Zx,{open:e,onCancel:t,initialSlide:r,sideOnOk:i})},iB=["export_platforms","export_html","export_amp","export_webhook","export_pdf","export_png","element_image","element_ai_image","element_text","element_heading","element_button","element_spacer","element_lists","element_divider","element_social","element_table","element_timer","element_video","element_amp_carousel","element_amp_accordion","element_amp_form","block_save","block_visibility","block_border","block_radius","block_shadow","block_to_image","theme_editing","preheader_editing","desktop_mobile_toggle","undo_redo","typograph","variables","google_fonts","code_editor","version_history","preview_service","template_import","code_minify","mobile_props","discussion","utm_editor","stock_photo","stock_gif","stock_icons","image_editor"],ov={export_platforms:1,export_html:1,export_amp:1,export_webhook:1,export_pdf:1,export_png:1,element_image:1,element_ai_image:2,element_text:1,element_heading:1,element_button:1,element_spacer:1,element_lists:1,element_divider:1,element_social:1,element_table:1,element_timer:1,element_video:1,element_amp_carousel:1,element_amp_accordion:1,element_amp_form:1,block_save:1,block_visibility:1,block_border:1,block_radius:1,block_shadow:1,block_to_image:1,theme_editing:1,preheader_editing:1,desktop_mobile_toggle:1,undo_redo:1,typograph:1,variables:1,google_fonts:1,code_editor:1,version_history:4,preview_service:1,template_import:1,code_minify:1,mobile_props:1,discussion:7,utm_editor:1,stock_photo:3,stock_gif:3,stock_icons:3,image_editor:5};function oB(e){return iB.includes(e)}function av(e){const{featureKey:t,features:r,isPlugin:n}=e,i=r!==void 0;return n?{isLocked:!1,isPlanDataReady:i}:t==null||!oB(t)?{isLocked:!1,isPlanDataReady:i}:{isLocked:OO(r,t)!==!0,isPlanDataReady:i}}function sv(){const e=nt(),t=e?.id,{data:r}=Kc(t,{skip:!0});return Dc(e,{isPlugin:!0}),r?.features}function aB(){const e=sv();return(0,_.useCallback)(t=>av({featureKey:t,features:e,isPlugin:!0}).isLocked,[e])}function sB(e){const t=sv();return(0,_.useMemo)(()=>{const r=av({featureKey:e,features:t,isPlugin:!0});return{isLocked:r.isLocked,state:r.isLocked?{state:"locked_by_plan"}:{state:"allowed"},isPlanDataReady:r.isPlanDataReady}},[e,t])}var lB={image:"element_image","ai-image":"element_ai_image",text:"element_text",header:"element_heading",button:"element_button",spacer:"element_spacer","list-ul":"element_lists","list-ol":"element_lists",divider:"element_divider",social:"element_social",table:"element_table",countdown:"element_timer",video:"element_video","amp-carousel":"element_amp_carousel","amp-accordion":"element_amp_accordion","amp-form":"element_amp_form"};function lv(e){return lB[e]??null}var cv=e=>Number(e)||void 0,cB={colors:[],fonts:[],socials:[]},Qc=(e="entity")=>{const t=typeof globalThis<"u"?globalThis.crypto:void 0;if(t?.randomUUID)return t.randomUUID();const r=typeof performance<"u"?performance.now().toString(36).replace(".",""):String(Date.now());return`${e}-${Date.now().toString(36)}-${r}`},uB=()=>Qc("soc"),dB=/^[a-z][a-z0-9+.-]*:/i,uv=e=>{const t=String(e??"").trim();return t?dB.test(t)?t:`https://${t}`:""},fB=e=>{const t=uv(e);if(!t)return!1;try{const r=new URL(t);return r.protocol==="https:"&&!!r.hostname}catch{return!1}},mB=e=>[...e].filter(t=>t.url.trim()!=="").sort((t,r)=>t.order-r.order),pB=e=>mB(e).map(t=>({platform:t.icon_key,href:t.url,label:t.name,...t.icon_url?{iconSrc:t.icon_url}:{}})),hB=/^#?([0-9a-f])([0-9a-f])([0-9a-f])$/i,gB=/^#?([0-9a-f]{6})$/i,Yc=e=>{if(!e)return null;const t=String(e).trim().toLowerCase(),r=gB.exec(t);if(r)return`#${r[1]}`;const n=hB.exec(t);if(n){const[,i,o,a]=n;return`#${i}${i}${o}${o}${a}${a}`}return null},dv=()=>Qc("bc"),yB=/\.(woff2|woff|ttf|otf)$/i,_B=e=>{const t=yB.exec(e.trim().toLowerCase());return t?`.${t[1]}`:null},vB={".woff":"application/x-font-woff",".woff2":"application/font-woff2",".ttf":"font/sfnt",".otf":"font/sfnt"},bB={".woff":["application/x-font-woff","font/woff","application/font-woff"],".woff2":["application/font-woff2","font/woff2"],".ttf":["font/sfnt","application/font-sfnt","application/x-font-ttf","font/ttf","application/x-font-truetype"],".otf":["font/sfnt","application/font-sfnt","application/vnd.ms-opentype","application/x-font-opentype","font/otf","font/opentype"]},EB=new Set(["","application/octet-stream","binary/octet-stream"]),wB=e=>{const t=_B(e.name);if(!t)return e;const r=e.type.trim().toLowerCase();return bB[t].includes(r)||!EB.has(r)?e:new File([e],e.name,{type:vB[t],lastModified:e.lastModified})},SB=()=>Qc("fnt"),PB=e=>e.family?.trim()||e.name.trim(),IB=e=>{const t=new Set;return e.filter(r=>r.source_url?.trim()).map(r=>({family:r.family?.trim()||r.name.trim(),source_url:r.source_url?.trim()??"",weight:r.weight?.trim()||"400",style:r.style??"normal",stylesheet:Xc(r),category:r.category})).filter(r=>{const n=`${r.family.toLowerCase()}/${r.weight}/${r.style}`;return t.has(n)?!1:(t.add(n),!0)})},TB=(e,t={})=>{const r=t.srcOverride?.trim()||e.source_url?.trim();if(!r||!t.srcOverride&&Xc(e)||t.srcOverride&&Bn(r))return null;const n=t.familyOverride?.trim()||PB(e),i=e.weight?.trim()||"400",o=e.style??"normal";return`@font-face{font-family:${JSON.stringify(n)};src:url(${JSON.stringify(r)});font-weight:${i};font-style:${o};font-display:swap;}`},OB=e=>e.source_kind?e.source_kind:Bn(e.source_url)?"google_stylesheet":e.file_name?.trim()?"uploaded":"remote_file",Xc=e=>e.source_kind?e.source_kind==="google_stylesheet"||e.source_kind==="remote_stylesheet":Bn(e.source_url),fv="data-em-project-fonts-face",mv="data-em-project-font-link",CB=e=>{const t=e.filter(r=>Xc(r)).map(r=>r.source_url?.trim()??"").filter(Boolean);return[...new Set(t)]},AB=e=>e.map(t=>TB(t)).filter(t=>!!t).join(""),kB=(e,t=document)=>{const r=AB(e),{head:n}=t;let i=n.querySelector(`style[${fv}]`);if(!r){i?.remove();return}i||(i=t.createElement("style"),i.setAttribute(fv,""),n.appendChild(i)),i.textContent=r},jB=(e,t=document)=>{const r=new Set(CB(e)),{head:n}=t;n.querySelectorAll(`link[${mv}]`).forEach(i=>{const o=i.getAttribute("href")??"";r.has(o)?r.delete(o):i.remove()}),r.forEach(i=>{const o=t.createElement("link");o.setAttribute("rel","stylesheet"),o.setAttribute("href",i),o.setAttribute(mv,""),n.appendChild(o)})},MB=(e,t=document)=>{kB(e,t),jB(e,t)},RB=new Set(["normal","italic","oblique"]),NB=new Set(["sans-serif","serif"]),o6="[emailmaker] projectStyles:",Mt=e=>{},lt=e=>typeof e=="string"?e.trim():"",pv=e=>!e||e.startsWith("//")?!1:e.startsWith("/")||e.startsWith("./")||e.startsWith("../")?!0:e.toLowerCase().startsWith("https://"),DB=e=>{const t=typeof window<"u"?window.location?.href:void 0;if(!t||/^https:/i.test(e))return e;try{return new URL(e,t).href}catch{return e}},LB=e=>Bn(e)?"google_stylesheet":(e.split(/[?#]/)[0]??"").toLowerCase().endsWith(".css")?"remote_stylesheet":"remote_file",hv=(e,t,r)=>e.length<=t?e:(Mt(`${r} list is capped at ${t} entries, ${e.length-t} dropped`),e.slice(0,t)),FB=(e,t)=>{const r=Yc(e?.hex);if(!r){Mt(`colors[${t}] skipped: "${String(e?.hex)}" is not a hex color`);return}return{id:lt(e.id)||dv(),name:lt(e.name),hex:r,order:0}},xB=(e,t)=>{const r=lt(e).toLowerCase();if(!r||NB.has(r))return r||void 0;Mt(`fonts[${t}]: category must be sans-serif or serif, got "${r}" — sans-serif used`)},BB=(e,t)=>{const r=lt(e?.family),n=lt(e?.source_url);if(!r){Mt(`fonts[${t}] skipped: family is required`);return}if(!n){Mt(`fonts[${t}] skipped: source_url is required`);return}if(!pv(n)){Mt(`fonts[${t}] skipped: source_url must be https or relative, got "${n}"`);return}const i=lt(e.style),o=DB(n);return{id:lt(e.id)||SB(),name:lt(e.name)||r,family:r,source_url:o,source_kind:LB(o),weight:lt(e.weight)||"400",style:RB.has(i)?i:"normal",category:xB(e.category,t),order:0}},UB=(e,t)=>{const r=uv(e?.url);if(!r||!fB(r)){Mt(`socials[${t}] skipped: url must be https, got "${String(e?.url)}"`);return}const n=lt(e.icon_key),i=lt(e.icon_url);let o;if(i&&pv(i)?o=i:i&&Mt(`socials[${t}]: icon_url must be https or relative, got "${i}" — icon dropped`),!n&&!o){Mt(`socials[${t}] skipped: icon_key or icon_url is required`);return}return{id:lt(e.id)||uB(),name:lt(e.name),url:r,icon_key:n,...o?{icon_url:o}:{},enabled:!0,order:0}},$B=e=>{const t=new Set;return e.filter((r,n)=>{if(!r)return!1;const i=`${r.family?.toLowerCase()}/${r.weight}/${r.style}`;return t.has(i)?(Mt(`fonts[${n}] skipped: duplicate face ${r.family} ${r.weight} ${r.style}`),!1):(t.add(i),!0)})},Jc=e=>e.map((t,r)=>({...t,order:r})),gv=e=>({colors:Jc(hv(e?.colors??[],32,"colors").map(FB).filter(t=>t!==void 0)),fonts:Jc($B((e?.fonts??[]).map(BB))),socials:Jc(hv(e?.socials??[],20,"socials").map(UB).filter(t=>t!==void 0))}),yv=["vk","telegram","youtube","tiktok","ok","pinterest","max","rutube","yandex_zen","vkv","drbl","fig","gh","ggl","rdt","sptf","twitch"],qB=["telegram","whatsapp","instagram","facebook","youtube","tiktok","x","linkedin","pinterest","viber","apple","dis","drbl","fig","ggl","mdm","rdt","sgnl","sc","sptf","tmblr","twitch","thrds","msngr","bs"],GB=[{id:"vk",labelMsgid:"VK",brands:["em"]},{id:"telegram",labelMsgid:"Telegram",brands:["em","blocks"]},{id:"youtube",labelMsgid:"YouTube",brands:["em","blocks"]},{id:"tiktok",labelMsgid:"TikTok",brands:["em","blocks"]},{id:"ok",labelMsgid:"Одноклассники",brands:["em"]},{id:"pinterest",labelMsgid:"Pinterest",brands:["em","blocks"]},{id:"max",labelMsgid:"Макс",brands:["em"]},{id:"rutube",labelMsgid:"RuTube",brands:["em"]},{id:"yandex_zen",labelMsgid:"Яндекс Дзен",brands:["em"]},{id:"whatsapp",labelMsgid:"WhatsApp",brands:["blocks"]},{id:"instagram",labelMsgid:"Instagram",brands:["blocks"]},{id:"facebook",labelMsgid:"Facebook",brands:["blocks"]},{id:"x",labelMsgid:"X (Twitter)",brands:["blocks"]},{id:"linkedin",labelMsgid:"LinkedIn",brands:["blocks"]},{id:"viber",labelMsgid:"Viber",brands:["blocks"]},{id:"apple",labelMsgid:"Apple",brands:["blocks"]},{id:"dis",labelMsgid:"Discord",brands:["blocks"]},{id:"drbl",labelMsgid:"Dribbble",brands:["blocks","em"]},{id:"fig",labelMsgid:"Figma",brands:["blocks","em"]},{id:"gh",labelMsgid:"GitHub",brands:["blocks","em"]},{id:"ggl",labelMsgid:"Google",brands:["blocks","em"]},{id:"mdm",labelMsgid:"Medium",brands:["blocks"]},{id:"rdt",labelMsgid:"Reddit",brands:["blocks","em"]},{id:"sgnl",labelMsgid:"Signal",brands:["blocks"]},{id:"sc",labelMsgid:"Snapchat",brands:["blocks"]},{id:"sptf",labelMsgid:"Spotify",brands:["blocks","em"]},{id:"tmblr",labelMsgid:"Tumblr",brands:["blocks"]},{id:"twitch",labelMsgid:"Twitch",brands:["blocks","em"]},{id:"thrds",labelMsgid:"Threads",brands:["blocks"]},{id:"msngr",labelMsgid:"Messenger",brands:["blocks"]},{id:"bs",labelMsgid:"Bluesky",brands:["blocks"]},{id:"vkv",labelMsgid:"VK Видео",brands:["em"]}];function zB(e){const t=e==="em"?yv:qB,r=new Set(t),n=Object.fromEntries(GB.filter(i=>i.brands.includes(e)&&r.has(i.id)).map(i=>[i.id,i]));return t.map(i=>n[i]).filter(i=>!!i)}var VB={tg:"telegram",yt:"youtube",yd:"yandex_zen",tt:"tiktok",pi:"pinterest",ig:"instagram",fb:"facebook",xa:"x",tw:"twitter"},_v="vk",HB=new Set(yv),WB=e=>HB.has(e),vv=e=>{const t=String(e??"").trim().toLowerCase();return t?WB(t)?t:VB[t]??_v:_v},KB=e=>vv(e),QB=new Set(["normal","italic","oblique"]),YB=new Set(["sans-serif","serif"]),XB=new Set(["uploaded","remote_file","google_stylesheet"]),Rt=e=>(e??"").trim(),Ti=e=>Rt(e)||void 0,bv=e=>typeof e=="number"&&e>0?e:void 0,JB=e=>QB.has(e)?e:void 0,ZB=e=>YB.has(e)?e:void 0,eU=e=>XB.has(e)?e:void 0,tU=(e,t)=>{const r=Yc(Rt(e.hex));return r?{id:Rt(e.id)||dv(),name:Rt(e.name),hex:r,order:e.order??t}:null},Ev=(e,t=0)=>({id:Rt(e.id),name:Rt(e.name),source_url:Ti(e.source_url),source_kind:eU(e.source_kind),file_name:Ti(e.file_name),family:Ti(e.family),weight:Ti(e.weight),style:JB(e.style),category:ZB(e.category),preview_url:Ti(e.preview_url),storage_fallback:e.storage_fallback||void 0,font_size_px:bv(e.font_size_px),line_height_px:bv(e.line_height_px),order:e.order??t}),rU=(e,t)=>{const r=Rt(e.url);return r?{id:Rt(e.id),name:Rt(e.name),url:r,icon_key:vv(Rt(e.icon_key)),enabled:e.enabled??!0,order:e.order??t}:null},ln=e=>[...e].sort((t,r)=>t.order-r.order),wv=e=>e?{colors:ln((e.colors??[]).map(tU).filter(t=>t!==null)),fonts:ln((e.fonts??[]).map(Ev)),socials:ln((e.socials??[]).map(rU).filter(t=>t!==null))}:cB,nU=e=>e==="remote_stylesheet"?"remote_file":e,iU=e=>{const t={};return e.colors&&(t.colors=ln(e.colors).map(r=>({id:r.id,name:r.name.trim(),hex:Yc(r.hex)||r.hex}))),e.fonts&&(t.fonts=ln(e.fonts).map(r=>({id:r.id,name:r.name.trim(),source_url:r.source_url??"",source_kind:nU(OB(r)),file_name:r.file_name??"",family:r.family??"",weight:r.weight??"",style:r.style??"",category:r.category??"",preview_url:r.preview_url??"",storage_fallback:r.storage_fallback??!1,font_size_px:r.font_size_px??0,line_height_px:r.line_height_px??0}))),e.socials&&(t.socials=ln(e.socials).map(r=>({id:r.id,name:r.name.trim(),url:r.url,icon_key:KB(r.icon_key),enabled:r.enabled}))),t},Sv="ProjectBrandStyles",Oi=Ne({reducerPath:"projectSettingsStylesApi",baseQuery:We({baseUrl:"https://app.emailmaker.ru/api/v2"}),tagTypes:[Sv],endpoints:e=>({getProjectStyles:e.query({async queryFn({projectId:t},r){const n=it(await Be(P.getContainer(r)).projects.stylesList({id:String(t)}));return"error"in n?{error:n.error}:{data:wv(n.data)}},providesTags:(t,r,{projectId:n})=>[{type:Sv,id:String(n)}]}),updateProjectStyles:e.mutation({async queryFn({projectId:t,patch:r},n){const i=it(await Be(P.getContainer(n)).projects.stylesPartialUpdate({id:String(t)},iU(r)));return"error"in i?{error:i.error}:{data:wv(i.data)}},async onQueryStarted({projectId:t,patch:r},{dispatch:n,queryFulfilled:i}){const o=n(Oi.util.updateQueryData("getProjectStyles",{projectId:t},a=>Object.assign(a,r)));try{const{data:a}=await i;n(Oi.util.upsertQueryData("getProjectStyles",{projectId:t},a))}catch{o.undo()}}}),uploadProjectFont:e.mutation({async queryFn({projectId:t,file:r},n){const i=new FormData;i.append("file",wB(r));const o=it(await Be(P.getContainer(n)).request({path:`/projects/${String(t)}/styles/fonts`,method:"POST",body:i,secure:!0,type:V.FormData,format:"json"}));return"error"in o?{error:o.error}:{data:Ev(o.data)}},async onQueryStarted({projectId:t},{dispatch:r,queryFulfilled:n}){try{const{data:i}=await n;r(Oi.util.updateQueryData("getProjectStyles",{projectId:t},o=>{o.fonts=o.fonts.some(a=>a.id===i.id)?o.fonts.map(a=>a.id===i.id?i:a):[...o.fonts,i],o.fonts.sort((a,s)=>a.order-s.order)}))}catch{}}})})}),{useGetProjectStylesQuery:oU,useUpdateProjectStylesMutation:a6,useUploadProjectFontMutation:s6}=Oi,Pv=new WeakMap,aU=e=>{if(!e)return gv(e);let t=Pv.get(e);return t||(t=gv(e),Pv.set(e,t)),t},Iv=e=>{const t=hm("projectStyles"),{data:r}=oU({projectId:e},{skip:!0});return(0,_.useMemo)(()=>aU(t),[t])};function Tv(){const e=Qy(),t=k1();return e??t}function sU(){return vt(Jf)==="vs-dark"?em:Zf}var lU=2.5,cU=({atom:e,onSelect:t,onDragStart:r,isDroppedAtom:n})=>{const i=(0,_.useCallback)(s=>t(s,e),[t,e]),o=(0,_.useCallback)(s=>r(s,e,n),[r,e,n]),a=(0,_.useCallback)(s=>{(s.key==="Enter"||s.key===" ")&&(s.preventDefault(),t(s,e))},[t,e]);return(0,M.jsxs)("button",{type:"button",className:"ant-card-hoverable atoms__item "+e.className+(e.isLockedByPlan?" atoms__item_locked":""),draggable:!0,onClick:i,onKeyDown:a,onDragStart:o,"data-test-name":e.name,children:[(0,M.jsxs)("span",{className:"atom-image",children:[e.icon,e.isLockedByPlan&&(0,M.jsx)(ee,{icon:"Lock",component:B.icons$Lock,size:12,strokeWidth:lU,className:"atom-image__lock"})]}),(0,M.jsx)("span",{className:"atom-title",children:e.title})]})},Ov=()=>{const e=de(),{__:t}=e,r=mt(),n=nt(),i=Tv()||"ru_RU",o=qM(),a=$M(),[s,c]=(0,_.useState)(!1),[l,u]=(0,_.useState)(0),d=tt(),m=wO(P.ATOMS_HANDLERS_ID),p=$t(P.HANDLE_ATOM_INSERT_ID),g=aB(),h=cv(n?.id),v=Iv(h),E=v?pB(v.socials):[],C=E.length>0?Z_(E):Nx;let b=[];if(r.elementImageEnabled&&b.push({title:t("Image"),icon:(0,M.jsx)(ee,{icon:"ElementImage",component:B.icons$ElementImage,size:24,strokeWidth:r.iconStrokeWidth}),html:ix,className:"",name:"image"}),r.elementAIimageEnabled&&b.push({title:t("AI image"),icon:(0,M.jsx)(ee,{icon:"ElementImageAI",component:B.icons$ElementImageAI,size:24,strokeWidth:r.iconStrokeWidth}),html:ox,className:"ai",name:"ai-image"}),r.elementTextEnabled&&b.push({title:t("Text"),icon:(0,M.jsx)(ee,{icon:"ElementText",component:B.icons$ElementText,size:24,strokeWidth:r.iconStrokeWidth}),html:ax(e),className:"",name:"text"}),r.elementHeaderEnabled&&b.push({title:t("Header"),icon:(0,M.jsx)(ee,{icon:"ElementTitle",component:B.icons$ElementTitle,size:24,strokeWidth:r.iconStrokeWidth}),html:sx(e),className:"",name:"header"}),r.elementButtonEnabled&&b.push({title:t("Button"),icon:(0,M.jsx)(ee,{icon:"ElementButton",component:B.icons$ElementButton,size:24,strokeWidth:r.iconStrokeWidth}),html:lx(e),className:"",name:"button"}),r.elementSpacerEnabled&&b.push({title:t("Spacer"),icon:(0,M.jsx)(ee,{icon:"ElementSpacer",component:B.icons$ElementSpacer,size:24,strokeWidth:r.iconStrokeWidth}),html:fx,className:"",name:"spacer"}),r.elementListULEnabled&&b.push({title:t("List UL"),icon:(0,M.jsx)(ee,{icon:"ElementListUL",component:B.icons$ElementListUL,size:24,strokeWidth:r.iconStrokeWidth}),html:cx(e),className:"",name:"list-ul"}),r.elementListOLEnabled&&b.push({title:t("List OL"),icon:(0,M.jsx)(ee,{icon:"ElementListOL",component:B.icons$ElementListOL,size:24,strokeWidth:r.iconStrokeWidth}),html:ux(e),className:"",name:"list-ol"}),r.elementDividerEnabled&&b.push({title:t("Divider"),icon:(0,M.jsx)(ee,{icon:"ElementDivider",component:B.icons$ElementDivider,size:24,strokeWidth:r.iconStrokeWidth}),html:dx,className:"",name:"divider"}),r.elementSocialEnabled&&b.push({title:t("Social media"),icon:(0,M.jsx)(ee,{icon:"ElementSocial",component:B.icons$ElementSocial,size:24,strokeWidth:r.iconStrokeWidth}),html:C,className:"",name:"social"}),r.elementTableEnabled&&b.push({title:t("Table"),icon:(0,M.jsx)(ee,{icon:"ElementTable",component:B.icons$ElementTable,size:24,strokeWidth:r.iconStrokeWidth}),html:Dx(e),className:"",name:"table"}),r.elementCountdownEnabled&&b.push({title:t("Countdown"),icon:(0,M.jsx)(ee,{icon:"ElementCountdown",component:B.icons$ElementCountdown,size:24,strokeWidth:r.iconStrokeWidth}),html:xx(i),className:"",name:"countdown"}),r.elementVideoEnabled&&b.push({title:t("Video"),icon:(0,M.jsx)(ee,{icon:"ElementVideo",component:B.icons$ElementVideo,size:24,strokeWidth:r.iconStrokeWidth}),html:Bx,className:"",name:"video"}),r.elementCarouselEnabled&&b.push({title:t("Carousel"),icon:(0,M.jsx)(ee,{icon:"ElementCarousel",component:B.icons$ElementCarousel,size:24,strokeWidth:r.iconStrokeWidth}),html:Ux(e),className:"amp",name:"amp-carousel"}),r.elementAccordionEnabled&&b.push({title:t("Accordion"),icon:(0,M.jsx)(ee,{icon:"ElementAccordion",component:B.icons$ElementAccordion,size:24,strokeWidth:r.iconStrokeWidth}),html:$x(e),className:"amp",name:"amp-accordion"}),r.elementFormEnabled&&b.push({title:t("Form"),icon:(0,M.jsx)(ee,{icon:"ElementForm",component:B.icons$ElementForm,size:24,strokeWidth:r.iconStrokeWidth}),html:null,className:"amp",name:"amp-form"}),b=b.map(S=>({...S,fallbackTooltip:t("Coming soon"),planFeature:lv(S.name),isLockedByPlan:g(lv(S.name))})),m){const S={value:b};for(const A of m)A.execute(S);b=S.value}(0,_.useEffect)(()=>{const{dispose:S}=d.addListener(oe.APPLICATION_ATOM_INSERTED,A=>{const j=b.find(O=>O.name===A);j&&p.fire(j)});return()=>S()},[d,b,p]);const w=(0,_.useCallback)(S=>{c(!0),u(S.planFeature?ov[S.planFeature]:1)},[]),I=(0,_.useCallback)(S=>S.isLockedByPlan?(setTimeout(()=>w(S),1e3),!1):!0,[w]),y=(0,_.useCallback)((S,A)=>{if(A.isLockedByPlan){w(A);return}o(S,A)},[w,o]),T=(0,_.useCallback)((S,A,j)=>{a(S,A,j)},[a]);return(0,M.jsxs)("div",{className:"atoms",children:[(0,M.jsx)("div",{className:"atoms__list",children:(0,M.jsx)(B.ui_kit$Space,{wrap:!0,style:{justifyContent:"space-between",rowGap:10},children:b&&b.map((S,A)=>S.html?(0,M.jsx)(cU,{atom:S,onSelect:y,onDragStart:T,isDroppedAtom:I},S.title+A.toString()):(0,M.jsx)(B.ui_kit$Tooltip,{title:S.fallbackTooltip||t("Coming soon"),placement:"top",children:(0,M.jsxs)("div",{className:"atoms__item atoms__item_inactive "+S.className,"data-test-name":S.name,children:[(0,M.jsx)("span",{className:"atom-image",children:S.icon}),(0,M.jsx)("span",{className:"atom-title",children:S.title})]},S.title+A.toString())},S.title+A.toString()))})}),(0,M.jsx)(iv,{open:s,onCancel:()=>c(!1),initialSlide:l})]})};Ov.propTypes={};var uU={full:{flexGrow:1},768:{width:171},425:{width:25},375:{width:28},320:{width:320}},Cv={right:-12,top:4,zIndex:999,padding:0,position:"absolute"},dU=[{kind:"full",width:1200},{kind:"768",width:768},{kind:"425",width:425},{kind:"375",width:375},{kind:"320",width:320,showLabel:!0},{kind:"375",width:375},{kind:"425",width:425,control:"mobile"},{kind:"768",width:768,control:"desktop"},{kind:"full",width:1200}];function fU({kind:e,width:t,label:r,onSelect:n,onHover:i,children:o}){const a=(0,_.useCallback)(()=>i(e,r),[i,e,r]),s=(0,_.useCallback)(()=>i(null,""),[i]),c=(0,_.useCallback)(()=>n(t),[n,t]),l=(0,_.useCallback)(u=>{(u.key==="Enter"||u.key===" ")&&(u.preventDefault(),n(t))},[n,t]);return(0,M.jsx)("div",{className:`device-width__${e}`,style:uU[e],role:"button",tabIndex:0,"aria-label":r,onMouseEnter:a,onMouseLeave:s,onClick:c,onKeyDown:l,children:o})}function mU({onSelectWidth:e,themeToggle:t}){const{__:r}=de(),[n,i]=(0,_.useState)(""),[o,a]=(0,_.useState)(""),s={full:r("Desktop"),768:r("Small desktop – 768px"),425:r("Mobile L – 425px"),375:r("Mobile M – 375px"),320:r("Mobile S – 320px")},c=(0,_.useCallback)((l,u)=>{i(l?`device-width__${l}-hovered`:""),a(u)},[]);return(0,M.jsx)("div",{className:`email-pane__sizes ${n}`,children:(0,M.jsxs)("div",{className:"email-pane__width-selectors-wrapper",children:[(0,M.jsx)("div",{className:"device-width__theme",children:t}),dU.map((l,u)=>(0,M.jsxs)(fU,{kind:l.kind,width:l.width,label:s[l.kind],onSelect:e,onHover:c,children:[l.showLabel?o:null,l.control==="mobile"&&(0,M.jsx)(B.ui_kit$Tooltip,{title:r("Mobile view"),placement:"bottom",children:(0,M.jsx)(B.ui_kit$Button,{type:"default",icon:(0,M.jsx)(ee,{icon:"MobileOutlined",component:B.icons$MobileOutlined,size:16,strokeWidth:2}),size:"small",shape:"circle",style:Cv})}),l.control==="desktop"&&(0,M.jsx)(B.ui_kit$Tooltip,{title:r("Desktop view"),placement:"bottom",children:(0,M.jsx)(B.ui_kit$Button,{type:"default",icon:(0,M.jsx)(ee,{icon:"DesktopOutlined",component:B.icons$DesktopOutlined,size:16,strokeWidth:2}),size:"small",shape:"circle",style:Cv})})]},`${l.kind}-${u}`)),(0,M.jsx)("div",{className:"device-width__theme-placeholder"})]})})}var pU=P.createIdentifier$1("canvas.resizerBinder"),hU=P.createIdentifier$1("canvas.service"),l6={created:St.canvasCreated,loaded:St.canvasLoaded};function Av(e){return e.getInstance(hU)}var gU=new Set([oe.APPLICATION_ELEMENT_SETTINGS_SET,oe.APPLICATION_BLOCK_SETTINGS_SET,oe.APPLICATION_EMAIL_SETTINGS_SET]);function Ci(e,t){const r=tt(),n=t??e,i=(0,_.useRef)(n);i.current=n,(0,_.useEffect)(()=>{if(t){const u=r.addListener(e,d=>i.current(d));return()=>{u.dispose()}}let o=null;const a=new Map,s=()=>{o=null,a.forEach(u=>i.current(u)),a.clear()},c=u=>{const d=u.data?.operation;if(d&&gU.has(d)){a.set(d,u),o===null&&(o=requestAnimationFrame(s));return}i.current(u)},l=r.addListener(c);return()=>{l.dispose(),o!==null&&(cancelAnimationFrame(o),o=null),a.clear()}},[r,e,t])}function yU(e){return{undo:()=>e.undo(),redo:()=>e.redo(),clear:()=>e.clear(),canUndo:()=>e.canUndo(),canRedo:()=>e.canRedo(),createSnapshot:()=>e.createSnapshot(),restoreSnapshot:t=>{e.restoreSnapshot(t)},getPast:t=>e.getPast(t).map(r=>({changes:r})),getFuture:t=>e.getFuture(t).map(r=>({changes:r}))}}var _U={canUndo:!1,canRedo:!1},vU={undo:()=>{},redo:()=>{},clear:()=>{},canUndo:()=>!1,canRedo:()=>!1,createSnapshot:()=>{},restoreSnapshot:()=>{},getPast:()=>[],getFuture:()=>[]};function kv(e){const t=gt(),{history:r}=e??t;return(0,_.useMemo)(()=>r?yU(r):vU,[r])}function bU(){const{history:e}=gt(),t=(0,_.useCallback)(i=>e?e.subscribe(i):()=>{},[e]),r=(0,_.useRef)(null),n=(0,_.useCallback)(()=>{if(!e)return _U;const i={canUndo:e.canUndo(),canRedo:e.canRedo()},o=r.current;return o&&o.canUndo===i.canUndo&&o.canRedo===i.canRedo?o:(r.current=i,i)},[e]);return(0,_.useSyncExternalStore)(t,n)}var EU=2e3,jv=10,wU="iframe_errors",SU=5,PU=jo,IU=6e4,TU=50;function OU(e){if(!e)return{};const{tag:t,class:r}=e.node;return{drift_node_tag:t,...r?{drift_node_class:r.replace(/\s+/g," ").trim().slice(0,200)}:{}}}function CU(e){if(!e)return{};const{path:t,tag:r,class:n}=e.node;return{unaccountedCount:e.count,unaccountedPath:t,unaccountedTag:r,unaccountedClass:n}}function AU(e,t){let r,n;const i=e.addListener(oe.RELOAD,()=>{i.dispose(),n=setTimeout(()=>{r=e.onInit(t)})});return{dispose:()=>{i.dispose(),clearTimeout(n),r?.dispose()}}}function Mv(){return document.location.pathname.indexOf("emails")>0?"email":"block"}function Rv(e,t){e.total++,e.last=t,e.errors.length<TU&&e.errors.push(t)}function kU({mutation:e,source:t,batch:r}){if(!t&&!r&&!e)return{origin:"iframe"};const n={},i=[["domparserSource",t],["domparserMutation",e?.type],["domparserStage",e?.stage],["domparserCause",e?.cause]];for(const[o,a]of i)a&&(n[o]=a);return{origin:"iframe",tags:n,contexts:{domparser:{source:t,batch:r,...e}}}}function jU(e){const{__:t}=de(),r=tt(),n=kv(),{error:i}=zt(),{document:o}=gt(),a=(0,_.useCallback)(()=>o?.getContent()??"",[o]),s=(0,_.useRef)(0),c=(0,_.useRef)(void 0),l=(0,_.useRef)(null),u=(0,_.useRef)(void 0),d=(0,_.useRef)(void 0),m=kr(),p=(0,_.useRef)(new Set),g=(0,_.useRef)(!1),h=(0,_.useRef)(void 0),v=(0,_.useRef)(!0);(0,_.useEffect)(()=>(v.current=!0,()=>{v.current=!1}),[]);const E=(0,_.useCallback)(j=>{const O={...j,errorResolved:!0,userId:m?.id};return P.RACS.post(wU,O).catch(()=>{}),O},[m?.id]),C=(0,_.useCallback)(()=>{const j=l.current;if(!j)return;l.current=null,c.current=null,s.current=0,clearTimeout(u.current),d.current?.dispose(),d.current=void 0;const O=j.last,R=new Error(O.message);O.stack&&(R.stack=O.stack);const D=gl(R,kU(O)),N=E({past:j.past,future:j.future,text:j.text,errors:j.errors,errorsTotal:j.total,message:O.message,stack:O.stack,entityId:j.entityId,entityType:j.entityType,sentryEventId:D});i({id:"IFRAME_ERROR",data:N,title:t("Something went wrong")})},[i,E,t]),b=(0,_.useCallback)(()=>{l.current&&(p.current=l.current.instances),g.current=!1,clearTimeout(h.current),C()},[C]),w=(0,_.useRef)(b);w.current=b,(0,_.useEffect)(()=>()=>w.current(),[o]);const I=(0,_.useRef)(e?.id);(0,_.useEffect)(()=>{const j=I.current;I.current=e?.id,j!==void 0&&j!==e?.id&&w.current()},[e?.id]);const y=(0,_.useCallback)(j=>{clearTimeout(u.current),u.current=setTimeout(C,j)},[C]),T=(0,_.useCallback)(j=>{new Promise(O=>setTimeout(O)).then(()=>{Promise.resolve().then(()=>{if(!v.current)return;const O=l.current;O&&(O.sessionDocument!==o||O.entityId!==void 0&&O.entityId!==e?.id)&&b();const R=j.instance??j.batch?.split(":")[0];if(g.current||R&&p.current.has(R))return;const D={message:j.message,stack:j.stack,...j.mutation?{mutation:j.mutation}:{},...j.source?{source:j.source}:{},...j.batch?{batch:j.batch}:{},...j.instance?{instance:j.instance}:{}};if(R&&l.current?.instances.has(R)){Rv(l.current,D);return}if(s.current++,l.current||(l.current={past:n.getPast(jv),future:n.getFuture(),text:a(),errors:[],total:0,last:D,instances:new Set,entityId:e?.id,entityType:Mv(),sessionDocument:o}),R&&l.current.instances.add(R),Rv(l.current,D),s.current>=SU){p.current=l.current.instances,g.current=!0,clearTimeout(h.current),h.current=setTimeout(()=>{g.current=!1},IU),C();return}if(c.current){n.restoreSnapshot(c.current);for(let N=0;N<s.current;N++)n.undo()}else c.current=n.createSnapshot();r.send(oe.RELOAD),d.current?.dispose(),d.current=AU(r,()=>{d.current?.dispose(),d.current=void 0,y(EU)}),y(PU)})})},[n,a,e?.id,o,r,C,b,y]);Ci(oe.APPLICATION_DOMPARSER_ERROR,T);const S=(0,_.useRef)({entityId:"",reasons:new Set}),A=(0,_.useCallback)(j=>{const O=String(e?.id??"");if(S.current.entityId!==O&&(S.current={entityId:O,reasons:new Set}),S.current.reasons.has(j.reason))return;S.current.reasons.add(j.reason);const R=`sync drift: ${j.reason}`,D={...j,canvasText:void 0},N=yl(R,{origin:"sync-drift",level:"warning",tags:{reason:j.reason,...OU(j.unaccounted)},contexts:{syncDrift:{...D,...CU(j.unaccounted)}}});j.reason!=="implicit-tbody-in-canvas"&&E({kind:"sync-drift",past:n.getPast(jv),future:n.getFuture(),text:a(),message:R,stack:"",drift:D,mutation:j.mutation,entityId:e?.id,entityType:Mv(),sentryEventId:N})},[n,a,E,e?.id]);Ci(oe.APPLICATION_SYNC_DRIFT,A)}function Nv(e){return e?.getContent()??""}function Dv(e,t){return e?{dispose:e.subscribe(t)}:{dispose:()=>{}}}function MU(e,t){const r=JSON.stringify(t??{});RU(e?.get().attributes.common_styles,r)||El(e,{common_styles:r})}function RU(e,t){if(e===t)return!0;try{return P.deepEqual(JSON.parse(e||"{}"),JSON.parse(t||"{}"))}catch{return!1}}var Ma=Symbol("isIframeEvent");function NU(e,t,r,n){return{x:(e.x-t.x-r.x)/n,y:(e.y-t.y-r.y)/n}}function DU(e,t,r,n){return{x:e.x*n+t.x+r.x,y:e.y*n+t.y+r.y}}var Lv=["dragenter","dragover","dragleave","drop","dragend"];function LU(e){const t=Array.from(document.querySelectorAll("[data-canvas-host]")).map(r=>{const n=document.createElement("div");return n.className="iframe-provider-shield",Object.assign(n.style,{position:"absolute",top:"0",right:"0",bottom:"0",left:"0",zIndex:"1",pointerEvents:"auto"}),Lv.forEach(i=>n.addEventListener(i,e)),r.appendChild(n),n});return()=>{t.forEach(r=>{Lv.forEach(n=>r.removeEventListener(n,e)),r.remove()})}}function FU({children:e}){const[t,r]=(0,_.useState)(),[n,i]=(0,_.useState)(),[o,a]=(0,_.useState)(!1),s=tt();return(0,_.useEffect)(()=>{if(t){const c=s.addListener(oe.APPLICATION_IFRAME_DRAG_EVENT,l=>{if(l.type!=="drageleave"&&l.type!=="dragenter"){const u=t.getBoundingClientRect(),{x:d,y:m}=DU({x:l.clientX,y:l.clientY},u,{x:window.scrollX,y:window.scrollY},Nc(t)),p=document.elementFromPoint(d,m);if(p){const g=new DataTransfer,h=new DragEvent(l.type,{clientX:d,clientY:m,cancelable:!0,bubbles:!0,dataTransfer:g});h[Ma]=!0,p.dispatchEvent(h)}}});return()=>c.dispose()}},[s,t]),(0,_.useEffect)(()=>{const c=u=>{u[Ma]||a(!0)},l=u=>{u[Ma]||a(!1)};return window.addEventListener("dragstart",c),window.addEventListener("dragend",l),()=>{window.removeEventListener("dragstart",c),window.removeEventListener("dragend",l)}},[n]),(0,_.useEffect)(()=>{const c=l=>{if(!l[Ma]){const u=n.getBoundingClientRect(),d=NU({x:l.pageX,y:l.pageY},u,{x:window.scrollX,y:window.scrollY},Nc(n));s.send(oe.SANDBOX_DRAG_EVENT,{value:l.dataTransfer?.getData("Text")||"",type:l.type,clientX:d.x,clientY:d.y})}};if(n){n.addEventListener("dragenter",c),n.addEventListener("dragover",c),n.addEventListener("dragleave",c),n.addEventListener("drop",c),n.addEventListener("dragend",c);const l=LU(c);return()=>{n.removeEventListener("dragenter",c),n.removeEventListener("dragover",c),n.removeEventListener("dragleave",c),n.removeEventListener("drop",c),n.removeEventListener("dragend",c),l()}}},[n,s]),(0,M.jsxs)("div",{ref:r,children:[o&&(0,M.jsx)("div",{ref:i,className:"iframe-provider"}),e]})}var xU=["colorBgBase","colorBgElevated","colorError","colorInfo","colorInfoBg","colorInfoBgHover","colorInfoBorder","colorInfoBorderHover","colorLink","colorPrimary","colorPrimaryBg","colorPrimaryBgHover","colorPrimaryBorder","colorPrimaryBorderHover"];function BU(e){const t={};for(const r of xU){const n=e[r];typeof n=="string"&&(t[r]=n)}return t}function Zc(e,t){const r=tt(),n=t?.async??!1;(0,_.useEffect)(()=>{const i=n?r.addListenerAsync(oe.RELOAD,e):r.addListener(oe.RELOAD,e);return()=>i.dispose()},[r,e,n]),(0,_.useEffect)(()=>{},[e])}function UU(){const e=tt(),{token:t}=(0,B.ui_kit$useToken)(),[r,n]=(0,_.useState)();(0,_.useEffect)(()=>{if(!P.deepEqual(r,t)){const o=e.onInit(()=>{e.send(oe.SANDBOX_SET_THEME_VARIABLES,BU(t)),n(t)});return()=>o.dispose()}},[t,r,n,e]);const i=(0,_.useCallback)(()=>{n(void 0)},[]);Zc(i)}var Kt=Y.__toESM(Ld()),$U={minHeight:600},qU="#pane-content-wrapper, .email-pane__col_preview, .preview-mode__pane-content";function Fv(e){e?.current?.resize?.()}var xv=(0,_.forwardRef)(({className:e=null,email:t=null,handlerSendPosition:r=()=>{},surface:n,clip:i=null},o)=>{const a=mt(),s=Oe(),c=n??(t?.hasOwnProperty("type")?"block":"email"),l=(0,_.useMemo)(()=>Av(s),[s]),u=(0,_.useMemo)(()=>l?.current(c),[l,c]),d=(0,_.useRef)(null),{document:m}=gt(),p=c==="email"?m?.get().docId:void 0,g=(0,_.useCallback)(()=>{Ge(St.canvasLoaded),Fv(o),r()},[r,o]);(0,_.useImperativeHandle)(o,()=>({getIframeElement:()=>l?.current(c)?.element,resize:()=>l?.current(c)?.resize()}),[l,c]),(0,_.useEffect)(()=>{if(!(!l||c!=="email"))return l.want(p),()=>l.want(void 0)},[l,c,p]),(0,_.useEffect)(()=>{if(!l)return;const E=d.current,C=i??E?.closest(qU)??null;return l.alignSurface(c,E,C),()=>l.alignSurface(c,null)},[l,c,i,a.sidePanelFloating]);const h=(0,_.useRef)(g);h.current=g,(0,_.useEffect)(()=>{if(!u)return;let E=!1;const C=()=>{E||h.current({target:u.element})};return u.ready().then(C).catch(()=>{window.requestAnimationFrame(()=>{E||u.ready().then(C).catch(()=>{})})}),()=>{E=!0}},[u]),UU(),jU(t),(0,_.useEffect)(()=>{const E=Dv(m,()=>{Fv(o)});return()=>E.dispose()},[m,o]);const v=(0,_.useCallback)(E=>{const{operation:C,settings:b}=E.data;C===oe.APPLICATION_COMMON_STYLES_UPDATE&&MU(m,b?.commonStyles)},[m]);return Ci(v),(0,M.jsx)(FU,{children:(0,M.jsx)("div",{ref:d,className:(0,Nt.default)("email-preview",e),id:"email_iframe_slot",style:$U})})});xv.propTypes={className:Kt.default.string,surface:Kt.default.oneOf(["email","block","preview"]),email:Kt.default.shape({html:Kt.default.string}),handlerSendPosition:Kt.default.func,clip:Kt.default.object};var GU=/unable to preload css for/i,zU=[/chunkloaderror/i,/loading chunk [\d\w-]+ failed/i,/failed to fetch dynamically imported module/i,/importing a module script failed/i,/error loading dynamically imported module/i,GU];function eu(e){if(!e)return!1;const t=VU(e);return zU.some(r=>r.test(t))||e instanceof Error&&e.name==="ChunkLoadError"?!0:WU(e)}function VU(e){return typeof e=="string"?e:e instanceof Error?`${e.name} ${e.message}`:typeof e=="object"&&e!==null&&"message"in e?String(e.message??e):String(e)}var HU=/(^|\/)(static\/js\/[\w.-]+|main\.[\w-]+)\.js$/i;function WU(e){if(typeof e!="object"||e===null||e.type!=="error")return!1;const t=e.target;if(!t||typeof t.src!="string"||t.tagName?.toLowerCase()!=="script")return!1;try{const r=new URL(t.src,window.location.href);return r.origin===window.location.origin&&HU.test(r.pathname)}catch{return!1}}var KU="/version.json",Bv="_rb",tu="stale-build-reload-at",ru="stale-build-reload-count",QU=5e3,YU=3,XU=3e4,JU=5e3,ZU=1e4,Uv="stale-build-retry-reload-at",e$=6e4,jr=!1,$v=0,Ai=null,Ra=!1,nu=!1,Na=[];function Da(){return!1}function t$(){return"87ebe001"}function r$(){return jr}function n$(){return nu}function i$(e){return Na.push(e),()=>{const t=Na.indexOf(e);t>=0&&Na.splice(t,1)}}function qv(){return typeof sessionStorage>"u"?0:Number(sessionStorage.getItem(ru)??0)}function o$(){typeof sessionStorage>"u"||sessionStorage.setItem(ru,String(qv()+1))}function a$(){typeof sessionStorage>"u"||(sessionStorage.removeItem(ru),sessionStorage.removeItem(tu),jr=!1,Ra=!1)}function s$(e){return typeof e.version!="string"||typeof e.entry!="string"||typeof e.buildId!="string"?!1:e.entry===`main.${e.buildId}.js`}async function l$(e){const t=await fetch(KU,{cache:"no-store",credentials:"same-origin",signal:e});if(!t.ok)return null;const r=await t.json();return s$(r)?r:null}async function c$(){const e=new AbortController;let t;const r=new Promise(n=>{t=setTimeout(()=>{e.abort(),n(null)},JU)});try{return await Promise.race([l$(e.signal),r])}catch{return null}finally{clearTimeout(t)}}function u$(e){const t=t$();return!!t&&e.buildId!==t}function d$(e){if(!Da()||Ra)return!1;if(jr)return!0;if(typeof window>"u"||typeof sessionStorage>"u"||qv()>=YU)return!1;const t=Number(sessionStorage.getItem(tu)??0);if(t&&Date.now()-t<QU)return!1;Gv(),o$(),sessionStorage.setItem(tu,String(Date.now()));const r=new URL(window.location.href);return r.searchParams.has(Bv)?(window.location.reload(),!0):(r.searchParams.set(Bv,String(Date.now())),window.location.replace(r.toString()),!0)}function Gv(){jr=!0,setTimeout(()=>{jr&&(jr=!1,Na.splice(0).forEach(e=>e()))},ZU)}function f$(){if(!Da()||typeof window>"u"||typeof sessionStorage>"u")return!1;if(jr)return!0;const e=Number(sessionStorage.getItem(Uv)??0);return e&&Date.now()-e<e$?!1:(sessionStorage.setItem(Uv,String(Date.now())),Gv(),window.location.reload(),!0)}async function m$(e){nu=!1;const t=await c$();return t?u$(t)?(Ra=!1,d$(e)):(a$(),Ra=!0,nu=!0,!1):!1}function p$(e,t={}){if(!Da())return Promise.resolve(!1);if(Ai!==null)return Ai;const r=Date.now();return!t.force&&r-$v<XU?Promise.resolve(!1):($v=r,Ai=m$(e).finally(()=>{Ai=null}),Ai)}var h$=[1e3,2e3,4e3],g$=15e3,y$=2e4,_$=/https?:\/\/[^\s'"()]+\.m?js\b(?:\?[^\s'"()#]*)?/i,zv,Vv;function v$(e){return zv?zv(e):(Vv??=new Function("url","return import(url)"),Vv(e))}function b$(e){return new Promise(t=>{const r=()=>{clearTimeout(n),window.removeEventListener("online",r),t()},n=setTimeout(r,e);window.addEventListener("online",r)})}var Hv={fetch:(e,t)=>fetch(e,t),importModule:v$,sleep:e=>new Promise(t=>setTimeout(t,e)),isOnline:()=>typeof window>"u"||window.navigator.onLine!==!1,waitForOnline:b$,isCancelled:r$};function E$(e){const t=e instanceof Error?e.message:typeof e=="string"?e:"";return _$.exec(t)?.[0]??null}async function Wv(e={}){const t={...Hv,...e};t.isOnline()||await t.waitForOnline(g$)}async function w$(e,t,r={}){const n={...Hv,...r},i=E$(e);for(const[o,a]of h$.entries()){if(await n.sleep(a),await Wv(n),n.isCancelled())return null;if(!i){const c=await Kv(t);if(c!=="retry")return{module:c.module,attempt:o+1};continue}if(!await S$(i,n))continue;const s=await P$(i,o+1,t,n);if(s==="stop")return null;if(s!=="retry")return{module:s.module,attempt:o+1}}return null}async function S$(e,t){const r=new AbortController,n=setTimeout(()=>r.abort(),y$);try{const i=await t.fetch(e,{cache:"reload",signal:r.signal});return i.ok?(await i.arrayBuffer(),!0):!1}catch{return!1}finally{clearTimeout(n)}}async function Kv(e){try{return{module:await e()}}catch(t){if(!eu(t))throw t;return"retry"}}async function P$(e,t,r,n){const i=await Kv(r);if(i!=="retry")return i;let o;try{o=await n.importModule(`${e}${e.includes("?")?"&":"?"}retry=${t}`)}catch(a){return eu(a)?"retry":"stop"}return I$(o)?{module:o}:"stop"}function I$(e){if(typeof e!="object"||e===null)return!1;const t=Object.keys(e);if(t.length!==1||t[0]!=="default")return!1;const r=e.default;return typeof r=="function"||typeof r=="object"&&r!==null&&"$$typeof"in r}function La(e,t){return(0,_.lazy)(()=>(t&&Ge(`route:${t}:start`,{kind:"network"}),e().then(r=>(t&&Ge(`route:${t}:end`,{kind:"network"}),r)).catch(async r=>{if(!eu(r))throw r;if(!Da())return new Promise(()=>{});if(await Wv(),await p$("lazy_import",{force:!0}))return Qv(r);if(!n$())throw r;const n=await w$(r,e);if(n)return Ge(`route:${t??"chunk"}:retry:${n.attempt}`,{kind:"network"}),n.module;if(f$())return Qv(r);throw r})))}function Qv(e){return new Promise((t,r)=>{i$(()=>r(e))})}var iu=new Map,T$=new Map;function O$(e,t){e.set(t,(e.get(t)??0)+1)}function C$(e,t){const r=e.get(t)??0;r<=1?e.delete(t):e.set(t,r-1)}function Yv(e,t){return(e.get(t)??0)>0}function A$(e){return Yv(iu,e)||Yv(T$,e)}function k$(e){O$(iu,e);let t=!1;return{dispose(){t||(t=!0,j$(e))}}}function j$(e){C$(iu,e)}function M$(e,t){return N$([...e.changes].sort((r,n)=>r.rangeOffset-n.rangeOffset).map(r=>({start:r.rangeOffset,end:r.rangeOffset+r.rangeLength,text:r.text})),t)}function R$(e,t){return e.map(r=>{const n=t.getPositionAt(r.oldPosition),i=t.getPositionAt(r.oldEnd);return{text:r.newText,range:{startLineNumber:n.lineNumber,startColumn:n.column,endLineNumber:i.lineNumber,endColumn:i.column}}})}function N$(e,t){let r=0;return e.map(({start:n,end:i,text:o})=>{const a=new rt(n,t.slice(n,i),n+r,o);return r+=o.length-(i-n),a})}var Xv=new WeakMap;function D$(e){const t=Xv.get(e);if(t)return t;const r=tj(e);return Xv.set(e,r),r}var Jv="monaco";function L$(e,t,r){const n=(0,_.useRef)(r);n.current=r,(0,_.useEffect)(()=>{if(!e||!t)return;const i=D$(e);let o=!1;const a=l=>{o=!0;const u=k$(t);try{l()}finally{u.dispose(),o=!1}},s=i.attach({id:Jv,apply(l){return t.getValue()!==l&&a(()=>t.setValue(l)),Promise.resolve()},applyChanges(l){return a(()=>t.applyEdits(R$(l,t))),Promise.resolve()}}),c=t.onDidChangeContent(l=>{if(o)return;const u=A$(t)?"remote":"user";u==="user"&&n.current?.(),i.mutateFrom(Jv,{changes:M$(l,e.getContent())},{source:u})});return()=>{s.detach(),c.dispose()}},[e,t])}var F$=null,Zv=(0,_.createContext)(F$);function x$(){return(0,_.useContext)(Zv)}function B$(e,t){const[r,n]=(0,_.useState)(void 0),i=(0,_.useRef)(!1),{error:o}=zt(),{__:a}=de(),s=(0,_.useRef)(t);s.current=t;const c=(0,_.useRef)({error:o,__:a});c.current={error:o,__:a},(0,_.useEffect)(()=>{if(!e||r||i.current)return;i.current=!0;let u=!1;return s.current().then(d=>{if(u){d.dispose();return}n(d)}).catch(()=>{const{error:d,__:m}=c.current;d({id:"CODE_EDITOR_LOAD_FAILED",title:m("Failed to load the code editor")})}).finally(()=>{i.current=!1}),()=>{u=!0}},[e,r]);const l=(0,_.useRef)(void 0);return l.current=r,(0,_.useEffect)(()=>()=>{l.current?.dispose()},[]),r}var Fa;function ou(){return Fa===void 0&&(Fa=(0,wt.__vitePreload)(()=>Promise.resolve().then(()=>Ee("./5ebf9f1e.js")),void 0,{}.url).catch(e=>{throw Fa=void 0,e})),Fa}function U$(){return ou().then(e=>e.ensureMonaco())}var $$=La(()=>ou().then(e=>({default:e.MonacoEditor}))),q$=()=>ou().then(e=>e.loadEditorModel()),G$={height:"100%"};function z$(e){const t=B$(!0,q$),{document:r}=gt(),n=Oe();return(0,_.useEffect)(()=>{},[]),(0,_.useEffect)(()=>{},[t]),L$(r,t,()=>Xp(n)?.noteCodeEdit()),(0,M.jsx)(Zv.Provider,{value:t,children:(0,M.jsx)(_.Suspense,{fallback:(0,M.jsx)(B.ui_kit$Flex,{justify:"center",align:"center",style:G$,children:(0,M.jsx)(B.ui_kit$Spin,{size:"large"})}),children:(0,M.jsx)($$,{...e})})})}var eb=(0,_.createContext)(am);function V$({kind:e,children:t}){return(0,M.jsx)(eb.Provider,{value:e,children:t})}function xa(){return(0,_.useContext)(eb)}var tb=()=>{};function H$(){const e=Oe(),t=(0,_.useCallback)(n=>{if(!e)return tb;const i=Sr(e).watch(n);return()=>i.dispose()},[e]),r=(0,_.useCallback)(()=>Pr(e).requested,[e]);return(0,_.useSyncExternalStore)(t,r,r)}function rb(){const{projectId:e}=wr(),t=Oe(),r=(0,_.useCallback)(o=>{if(!t)return tb;const a=Sr(t).watch(o);return()=>a.dispose()},[t]),n=(0,_.useCallback)(()=>Pr(t).card?.id,[t]),i=(0,_.useSyncExternalStore)(r,n,n);return e??(i!=null&&i!==""?String(i):void 0)}var W$=({elementPath:e})=>{const{__:t,_x:r}=de(),n=xa()==="block",i=n&&e?.[0]?.className?.includes("em-element-path-item-block"),o=ut(),a=tt(),s=mt(),{blockId:c}=wr(),l=rb(),u=R_(),d=nt(),m=Tt(),p=(0,_.useCallback)(S=>{a.send({operation:oe.SANDBOX_ELEMENT_ACTIVE_SET,index:S})},[a]),g=(0,_.useCallback)(S=>{if(i){p(0);return}let A="element";S?.target?.closest("svg")||S?.target?.closest(".anticon")||S?.target?.closest('[class*="icon"]')?A="icon":S?.target?.textContent&&!S?.target?.closest("svg")&&!S?.target?.closest(".anticon")&&(A="text"),o(Mc(om)),a.send({operation:oe.SANDBOX_LOCK_EDIT,data:!1}),a.send({operation:oe.SANDBOX_ELEMENT_ACTIVE_RESET}),m({event:"click",action:"click_breadcrumb_email",email_id:u||c,project_id:d?.id||l,click_target:A})},[a,o,m,u,c,l,d,i,p]),h=(0,_.useCallback)(S=>{a.send({operation:oe.SANDBOX_ELEMENT_HOVER_SET,index:S})},[a]),v=(0,_.useRef)(null),E=(0,_.useCallback)(()=>{i&&h(0)},[i,h]),C=(0,_.useCallback)(S=>{v.current?.removeEventListener("mouseover",E),v.current?.removeEventListener("click",g),v.current=S,S?.addEventListener("mouseover",E),S?.addEventListener("click",g)},[E,g]),b=(0,_.useMemo)(()=>(0,M.jsxs)("span",{ref:C,children:[n?(0,M.jsx)(ee,{icon:"Block",component:B.icons$Block,size:16,strokeWidth:s.iconStrokeWidth}):(0,M.jsx)(ee,{icon:"Email",component:B.icons$Email,size:16,strokeWidth:s.iconStrokeWidth})," ",n?t("Block"):r("Email","letter")]}),[C,n,s.iconStrokeWidth,t,r]),[w,I]=(0,_.useState)([{title:b}]),y=S=>{if(S.includes("em-element-path-item-text"))return(0,M.jsx)(ee,{icon:"ElementText",component:B.icons$ElementText,size:16,strokeWidth:s.iconStrokeWidth});if(S.includes("em-element-path-item-image"))return(0,M.jsx)(ee,{icon:"ElementImage",component:B.icons$ElementImage,size:16,strokeWidth:s.iconStrokeWidth});if(S.includes("em-element-path-item-link"))return(0,M.jsx)(ee,{icon:"LinkOutlined",component:B.icons$LinkOutlined,size:16,strokeWidth:s.iconStrokeWidth});if(S.includes("em-element-path-item-atom"))return(0,M.jsx)(ee,{icon:"Atom",component:B.icons$Atom,size:16,strokeWidth:s.iconStrokeWidth});if(S.includes("em-element-path-item-column"))return(0,M.jsx)(ee,{icon:"Column",component:B.icons$Column,size:16,strokeWidth:s.iconStrokeWidth});if(S.includes("em-element-path-item-block"))return(0,M.jsx)(ee,{icon:"Block",component:B.icons$Block,size:16,strokeWidth:s.iconStrokeWidth});if(S.includes("em-element-path-item-group"))return(0,M.jsx)(ee,{icon:"Group",component:B.icons$Group,size:16,strokeWidth:s.iconStrokeWidth});if(S.includes("em-element-path-item-button"))return(0,M.jsx)(ee,{icon:"ElementButton",component:B.icons$ElementButton,size:16,strokeWidth:s.iconStrokeWidth});if(S.includes("em-element-path-item-table"))return(0,M.jsx)(ee,{icon:"ElementTable",component:B.icons$ElementTable,size:16,strokeWidth:s.iconStrokeWidth});if(S.includes("em-element-path-item-amp"))return(0,M.jsx)(ee,{icon:"AMP",component:B.icons$AMP,size:16,strokeWidth:s.iconStrokeWidth})},T=(0,_.useCallback)((S,A)=>{const j=O=>{let R="element";O.target.closest("svg")||O.target.closest(".anticon")||O.target.closest('[class*="icon"]')?R="icon":O.target.textContent&&!O.target.closest("svg")&&!O.target.closest(".anticon")&&(R="text");const D=e?.[A],N=D?.className?.replace("em-element-path-item-","")||"unknown";m({event:"click",action:"click_breadcrumb_element",email_id:u||c,project_id:d?.id||l,element_type:N,element_index:A,element_title:D?.title||"",click_target:R}),p(A)};return(0,M.jsxs)("span",{className:S.className,onClick:j,onMouseOver:()=>{h(A)},children:[y(S.className)," ",S.title]})},[p,h,e,m,u,c,l,d]);return(0,_.useEffect)(()=>{if(e){const S=e.map((A,j)=>({title:T(A,j)})).slice(i?1:0);I([{title:b},...S])}},[e,T,b,i]),(0,M.jsx)(M.Fragment,{children:(0,M.jsx)(B.ui_kit$Breadcrumb,{items:w,type:"separator",separator:""})})},nb=e=>{if(e===0)return"0 B";const t=1024,r=["B","KB","MB","GB","TB"],n=Math.min(Math.floor(Math.log(e)/Math.log(t)),r.length-1),i=r.at(n)??"B";return parseFloat((e/Math.pow(t,n)).toFixed(1))+" "+i},ib=e=>e?new TextEncoder().encode(e).length:0,ob=(e,t=90)=>e>t*1024,K$=e=>{const t=[];let r=e;r=r.replace(/<!--\[if[^\]]*\]>[\s\S]*?<!\[endif\]-->/gi,i=>{const o=t.length,a=i.replace(/\s+/g," ").replace(/> </g,"><").replace(/\s+>/g,">").replace(/<!--\[if([^\]]*)\]>\s+/g,"<!--[if$1]>").replace(/\s+<!\[endif\]-->/g,"<![endif]-->");return t.push(a),`___CONDITIONAL_COMMENT_${o}___`});let n=r.replace(/<!--(?!\[if)[\s\S]*?-->/g,"").replace(/\s+/g," ").replace(/> </g,"><").replace(/\s+>/g,">").trim();return t.forEach((i,o)=>{n=n.replace(`___CONDITIONAL_COMMENT_${o}___`,i)}),n},Q$=300,Y$=({fallbackHtml:e})=>{const{__:t}=de(),{document:r}=gt(),[n,i]=(0,_.useState)(()=>r?.getContent()??"");(0,_.useEffect)(()=>{if(!r)return;i(r.getContent());let c;const l=r.subscribe(()=>{clearTimeout(c),c=setTimeout(()=>i(r.getContent()),Q$)});return()=>{clearTimeout(c),l()}},[r]);const o=(0,_.useMemo)(()=>ib(n||e||""),[e,n]),a=nb(o),s=ob(o);return(0,M.jsx)(B.ui_kit$Tooltip,{placement:"left",title:t(s?"The code size exceeds the recommended value 90kB":"Code size"),children:(0,M.jsx)("span",{className:(0,Nt.default)("email-pane__code-size",{"email-pane__code-size_exceeded":s}),children:a})})},X$={email_10_30:{id:"email_10_30",titleKey:"You have used up the number of emails you can create on your current plan",subtitleKey:"You can increase the number of emails right now.",usageResource:"email_generate",previous:10,next:30,showSecondaryBuy:!1,debugLabelKey:"Limit modal: emails 10→30"},email_30_300:{id:"email_30_300",titleKey:"You have used up the number of emails you can create on your current plan",subtitleKey:"You can increase the number of emails right now.",usageResource:"email_generate",previous:30,next:300,showSecondaryBuy:!1,debugLabelKey:"Limit modal: emails 30→300"},email_300_inf:{id:"email_300_inf",titleKey:"You have used up the number of emails you can create on your current plan",subtitleKey:"You can increase the number of emails right now.",usageResource:"email_generate",previous:300,next:"infinity",showSecondaryBuy:!1,debugLabelKey:"Limit modal: emails 300→∞"},ai_10_50:{id:"ai_10_50",titleKey:"You have used up your AI generations",subtitleKey:"You can add more generations right now; they are billed separately from the generations included in your plan.",usageResource:"ai",previous:10,next:50,showSecondaryBuy:!1,debugLabelKey:"Limit modal: AI 10→50"},ai_30_150:{id:"ai_30_150",titleKey:"You have used up your AI generations",subtitleKey:"You can add more generations right now; they are billed separately from the generations included in your plan.",usageResource:"ai",previous:30,next:150,showSecondaryBuy:!1,debugLabelKey:"Limit modal: AI 30→150"},ai_150_inf:{id:"ai_150_inf",titleKey:"You have used up your AI generations",subtitleKey:"You can add more generations right now; they are billed separately from the generations included in your plan.",usageResource:"ai",previous:150,next:"infinity",showSecondaryBuy:!1,debugLabelKey:"Limit modal: AI 150→∞"},optimization_exceeded:{id:"optimization_exceeded",titleKey:"You have used up your optimisation limit",subtitleKey:"You can increase the limit by changing your plan or buying an extra package.",usageResource:"optimization",previous:0,next:"infinity",showSecondaryBuy:!1,debugLabelKey:"Limit modal: optimization exhausted"},image_generate_exceeded:{id:"image_generate_exceeded",titleKey:"You have used up your image generation limit",subtitleKey:"You can increase the limit by changing your plan or buying an extra package.",usageResource:"image_generate",previous:0,next:"infinity",showSecondaryBuy:!1,debugLabelKey:"Limit modal: image_generate exhausted"},preview_exceeded:{id:"preview_exceeded",titleKey:"You have used up your preview (test send) limit",subtitleKey:"You can increase the limit by changing your plan or buying an extra package.",usageResource:"preview",previous:0,next:"infinity",showSecondaryBuy:!1,debugLabelKey:"Limit modal: preview exhausted"},test_sends_exceeded:{id:"test_sends_exceeded",titleKey:"You have used up your test send limit",subtitleKey:"You can increase the limit by changing your plan or buying an extra package.",usageResource:"test_sends",previous:0,next:"infinity",showSecondaryBuy:!1,debugLabelKey:"Limit modal: test sends exhausted"},link_check_exceeded:{id:"link_check_exceeded",titleKey:"You have used up your link check limit",subtitleKey:"You can increase the limit by changing your plan or buying an extra package.",usageResource:"link_check",previous:0,next:"infinity",showSecondaryBuy:!1,debugLabelKey:"Limit modal: link_check exhausted"},image_check_exceeded:{id:"image_check_exceeded",titleKey:"You have used up your image check limit",subtitleKey:"You can increase the limit by changing your plan or buying an extra package.",usageResource:"image_check",previous:0,next:"infinity",showSecondaryBuy:!1,debugLabelKey:"Limit modal: image_check exhausted"},spam_check_exceeded:{id:"spam_check_exceeded",titleKey:"You have used up your spam check limit",subtitleKey:"You can increase the limit by changing your plan or buying an extra package.",usageResource:"spam_check",previous:0,next:"infinity",showSecondaryBuy:!1,debugLabelKey:"Limit modal: spam_check exhausted"}};function J$(e){return X$[e]}function Z$(e){return e==="infinity"?"∞":e}var eq=[10,50,150];function tq(e,t){for(const r of t)if(r>e)return r;return"infinity"}function rq(e){return e<=10?"ai_10_50":e<=50?"ai_30_150":"ai_150_inf"}function nq(e){return{presetId:rq(e),previousLimit:e,nextLimit:tq(e,eq)}}var iq=/\s+\d+$/;function oq(e){return e.trim().replace(iq,"").toLowerCase().replaceAll("+","-plus").split(/\s+/).filter(Boolean).join("-")}function ab(e,t,r){if(!e||!t||!r)return;const n=e.filter(o=>oq(o.title??"")===t).map(o=>o.limits?.[r]);if(n.length===0)return;const i=n.findIndex(o=>String(o??"").trim()!=="0");return i===-1?"0":n[i]}function sb(e,t){if(!e||!e.is_unlimited||t==null)return e;const r=String(t).trim();return r===""||Number(r)!==0?e:{...e,is_unlimited:!1}}var lb={ai:"ai_limit",email_generate:"email_generate_limit",image_generate:"image_generate_limit",preview:"preview_limit",test_sends:"test_sends_limit",link_check:"link_check_limit",image_check:"image_check_limit",spam_check:"spam_check_limit"};function au(){return!0}function cb(e){const{data:t}=Fy(void 0,{skip:au()||e});return t}function ub(e){if(e)return{used:e.used??0,base_limit:e.base_limit??0,extra:e.extra??0,total_limit:e.total_limit??0,remaining:e.remaining??0,percent:e.percent??0,is_unlimited:e.is_unlimited??!1}}function aq(){const e=nt()?.id,{data:t,isSuccess:r}=Kc(e,{skip:au()||!e}),n=cb(!t?.slug);return(0,_.useMemo)(()=>{const i=t?.limits??{},o={};return Object.entries(i).forEach(([a,s])=>{const c=a,l=sb(ub(s),ab(n,t?.slug,lb[c]));l&&(o[c]=l)}),{limits:o,isLoaded:!!r}},[n,t,r])}function sq(){const e=nt()?.id,[t]=Vx(),r=cb(!1);return(0,_.useCallback)(async n=>{if(au()||!e)return;const i=await t(e,!1);return sb(ub(i.data?.limits?.[n]),ab(r,i.data?.slug,lb[n]))},[r,t,e])}function lq(e){const{limits:t,isLoaded:r}=aq();return nt(),(0,_.useMemo)(()=>({isLocked:!1,state:{state:"allowed"},isPlanDataReady:r,exceeded:null}),[!1,e,t,r])}var cq=({open:e,onClose:t})=>{const{__:r}=de();return(0,M.jsxs)(B.ui_kit$Modal,{open:e,centered:!0,closable:!1,mask:{closable:!1},footer:null,width:520,className:"browser-extension-warning-modal",title:r("Browser extension detected"),onCancel:t,children:[(0,M.jsx)("p",{children:r("A browser extension (for example, Urban VPN Proxy or similar ad blockers/VPN tools) is injecting code into the email preview. This can corrupt your template when saving.")}),(0,M.jsx)("p",{children:r("We removed the injected code automatically. To avoid this issue, disable the extension for this site or use the editor in an incognito window without extensions.")}),(0,M.jsx)("div",{className:"browser-extension-warning-modal__footer",children:(0,M.jsxs)(B.ui_kit$Button,{type:"primary",onClick:t,children:[r("Got it")," "]})})]})},uq={closable:!1},dq=({open:e,onClose:t})=>{const{__:r}=de();return(0,M.jsxs)(B.ui_kit$Modal,{open:e,centered:!0,closable:!1,mask:uq,footer:null,width:520,className:"browser-translate-warning-modal",title:r("Browser translation detected"),children:[(0,M.jsx)("p",{children:r("Browser page translation (for example, Google Translate) is active. It can break the editor and cause errors when saving.")}),(0,M.jsx)("p",{children:r("To avoid this issue, disable translation for this site in your browser settings or turn off auto-translate.")}),(0,M.jsx)("div",{className:"browser-translate-warning-modal__footer",children:(0,M.jsx)(B.ui_kit$Button,{type:"primary",onClick:t,children:r("Got it")})})]})},fq=P.createIdentifier$1("prewarm.editorVisible");function mq(e){if(typeof requestAnimationFrame!="function"){setTimeout(e,0);return}requestAnimationFrame(()=>requestAnimationFrame(e))}function pq(e={}){const t=e.paint??mq;let r=!1,n=!1,i=!1,o=!1,a=!1;const s=[],c=()=>{a||o||!r||!n||!i||(o=!0,t(()=>{a=!0,Ge(St.editorVisible);for(const l of s.splice(0))l()}))};return{noteShellVisible(){r=!0,c()},notePagePainted(){n=!0,c()},noteContentShown(){i=!0,c()},whenVisible(l){if(a){l();return}s.push(l)},contentShown:()=>i}}function su(e){return e.getOrCreateInstance(fq,()=>pq())}function db(e){const t=(0,_.useRef)(!1);return e&&(t.current=!0),t.current}var fb=4e3;function mb(e){const t=window.requestIdleCallback;if(typeof t=="function"){t(e,{timeout:fb});return}window.setTimeout(e,fb)}var Ba,lu;function cu(){return Ba===void 0&&(Ba=(0,wt.__vitePreload)(()=>Promise.resolve().then(()=>Ee("./b8941eda.js")).then(e=>e.panels_exports).then(e=>(lu=e,e),e=>{throw Ba=void 0,e}),void 0,{}.url)),Ba}function hq(e){(0,_.useEffect)(()=>{su(e).whenVisible(()=>{mb(()=>{cu().catch(()=>{})})})},[e])}function Ue(e){const t=La(()=>cu().then(n=>({default:n[e]})),"panels");function r(n){const[i]=(0,_.useState)(()=>lu?lu[e]:t);return(0,_.createElement)(i,n)}return r.displayName=`PanelDoor(${String(e)})`,r}var pb=Ue("EmailProperties"),gq=Ue("SelectedElementPanel"),yq=Ue("EmailSettings"),_q=Ue("EmailStyles"),vq=Ue("DiscussAi"),bq=Ue("Optimise"),Eq=Ue("FileManagerDataLayer"),wq=Ue("BlocksSearch"),Sq=Ue("Discuss"),Pq=Ue("HistoryPanel"),Iq=Ue("AddNewBlockModal"),Tq=Ue("AddAllBlocksModal"),Oq=Ue("SendTestEmailModal"),Cq=Ue("SaveBlockBtn"),Aq=Ue("LimitUpgradeModal"),kq={height:"100%"},jq=()=>{const e=Oe(),t=Ty(vt(hc)),[r,n]=(0,_.useState)(!1);return(0,_.useEffect)(()=>{e&&su(e).whenVisible(()=>n(!0))},[e]),db(r||t)?(0,M.jsx)(_.Suspense,{fallback:t?(0,M.jsx)(B.ui_kit$PageLoader,{style:kq}):null,children:(0,M.jsx)(Eq,{})}):null},Ua;function Mq(){return Ua===void 0&&(Ua=(0,wt.__vitePreload)(()=>Promise.resolve().then(()=>Ee("./d158e284.js")),void 0,{}.url).catch(e=>{throw Ua=void 0,e})),Ua}function ki(e){return La(()=>Mq().then(t=>({default:t[e]})),"form-panels")}var c6=ki("FormEditorCalendarPanel"),u6=ki("FormEditorCheckboxPanel"),d6=ki("FormEditorDropdownListPanel"),f6=ki("FormEditorInputPanel"),m6=ki("FormEditorRadioPanel");function Rq(e,t){const r=Qr(ft.em_defer_chrome);if(r!==void 0)return r;const n=t?.deferEditorChrome;return typeof n=="boolean"?n:n&&typeof n=="object"?n[e]??!0:{}.REACT_APP_DEFER_EDITOR_CHROME_DEFAULT!=="false"}function Nq(e){const t=mt(),[r,n]=(0,_.useState)(()=>!Rq(e,t));return(0,_.useEffect)(()=>{if(r)return;let i=0;const o=window.requestAnimationFrame(()=>{i=window.requestAnimationFrame(()=>(0,_.startTransition)(()=>n(!0)))});return()=>{window.cancelAnimationFrame(o),window.cancelAnimationFrame(i)}},[r]),r}function Dq(e){if(!(e==null||e===""))return e}async function Lq(e,t){if(e){if(e.url)return e.url;if(typeof t.getFileById=="function"&&e.id){const r=await t.getFileById(e.id);if(r?.url)return r.url;if(r?.thumbnailUrl)return r.thumbnailUrl;if(r?.thumbnail)return r.thumbnail}if(typeof t.getFileUrl=="function"&&e.folderId!==void 0&&e.name){const r=await t.getFileUrl(e.folderId||"",e.name);if(r)return r}if(typeof t.getUrl=="function"&&e.name){const r=await t.getUrl(e);if(r)return r}return e.thumbnail||e.thumbnailUrl}}function Fq(e){if(!(!e?.success||!Array.isArray(e.detailed)))return e.detailed.find(t=>t?.success&&t.data)?.data}function xq(e,t,r){if(e)return{id:e.id,name:e.name||t.name,size:e.size??t.size,type:e.type||t.type,folderId:e.folderId??r??"",url:e.url,thumbnail:e.thumbnail,thumbnailUrl:e.thumbnailUrl,date:e.date,dimensions:e.dimensions,aspectRatio:e.aspectRatio,extension:e.extension,selected:e.selected,isFolder:e.isFolder,lastEdited:e.lastEdited,childrenCount:e.childrenCount}}async function hb(e,t,r){if(!t)return;const n=Dq(r??t.rootId);let i;typeof t.uploadFiles=="function"?i=Fq(await t.uploadFiles({folderId:n,items:[{name:e.name,size:e.size,type:e.type,folderId:n,data:e}]})):typeof t.uploadFile=="function"&&(i=xq(await t.uploadFile({name:e.name,size:e.size,type:e.type,folderId:n,data:e}),e,n));const o=await Lq(i,t);return o?{item:i,url:o}:void 0}function Bq(e){for(let t=e.length-1;t>=0;t--){const r=e[t];if(typeof r=="string"&&r)return r}}function Uq(e){for(let t=0;t<e.length;t++){const r=e[t];if(r instanceof Blob)return r}}function $q(e,t){for(let r=e.length-1;r>=0;r--){const n=e[r];if(typeof n=="string"&&n&&n!==t)return n}}var qq="Image upload rejected by handleLoadImage";async function gb(e,t){const r=e.hasListeners(),n=await e.fireSettled(t);return{url:Bq(n.results),hasHostListener:r,hostFailed:n.errors.length>0,error:n.errors[0]}}function yb(e,t={}){return e.url||e.hostFailed?!1:t.isStandalone?!(e.hasHostListener||t.targetIsOurBackend):!0}function Gq(e){return e?.imageCenterInsertUrlAsIs===!0}function zq(e,t,r){return e?t==="enter"||r?"insertAsIs":"wait":t==="timer"?"upload":"wait"}function _b(e){return e.error instanceof Error&&e.error.message?e.error:typeof e.error=="string"&&e.error?new Error(e.error):new Error(qq)}function vb(e){if(!e)return!1;try{return e.getInstance(P.SECURITY_MODULE_ID)!==void 0}catch{return!1}}function bb(){const e=me();return(0,_.useMemo)(()=>vb(P.getContainer(e)),[e])}var Vq=class{http;constructor(e){this.http=e}cache_clear_create=(e,t={})=>this.http.request({path:"/em-files/v1/cache/clear",method:"POST",body:e,type:P.ContentType.UrlEncoded,...t})},Hq=class{http;constructor(e){this.http=e}empty_trash_create=(e,t={})=>this.http.request({path:"/em-files/v1/empty-trash",method:"POST",body:e,type:P.ContentType.UrlEncoded,...t})},Wq=class{http;constructor(e){this.http=e}files_list=(e,t={})=>this.http.request({path:"/em-files/v1/files",method:"GET",query:e,format:"json",...t});files_create=(e,t={})=>this.http.request({path:"/em-files/v1/files",method:"POST",body:e,type:P.ContentType.UrlEncoded,format:"json",...t});files_delete=(e,t={})=>this.http.request({path:"/em-files/v1/files",method:"DELETE",body:e,type:P.ContentType.UrlEncoded,format:"json",...t});files_partial_update=(e,t={})=>this.http.request({path:"/em-files/v1/files",method:"PATCH",body:e,type:P.ContentType.UrlEncoded,format:"json",...t});files_upload_by_url_create=(e,t={})=>this.http.request({path:"/em-files/v1/files/upload-by-url",method:"POST",body:e,type:P.ContentType.UrlEncoded,format:"json",...t});files_rename_partial_update=(e,t={})=>this.http.request({path:"/em-files/v1/files/rename",method:"PATCH",body:e,type:P.ContentType.UrlEncoded,format:"json",...t})},Kq=class{http;constructor(e){this.http=e}folders_list=(e,t={})=>this.http.request({path:"/em-files/v1/folders",method:"GET",query:e,format:"json",...t});folders_create=(e,t={})=>this.http.request({path:"/em-files/v1/folders",method:"POST",body:e,type:P.ContentType.UrlEncoded,format:"json",...t});folders_delete=(e,t={})=>this.http.request({path:"/em-files/v1/folders",method:"DELETE",body:e,type:P.ContentType.UrlEncoded,format:"json",...t})},Qq=class{http;constructor(e){this.http=e}items_move_partial_update=(e,t={})=>this.http.request({path:"/em-files/v1/items/move",method:"PATCH",body:e,type:P.ContentType.UrlEncoded,format:"json",...t})},Eb=[Vq,Hq,Wq,Kq,Qq];function wb(e){const t=Qr(ft.em_filemanager_v2);return t!==void 0?t:e?.fileManagerV2Enabled!==void 0?!!e.fileManagerV2Enabled:!0}var Sb=(e,t)=>t.some(r=>r instanceof RegExp?r.test(e):r===e),Yq=new Set(["https:","http:","file:"]),Xq=e=>{const t=e.indexOf(":");if(t<=0)return!1;const r=e.substring(0,t+1);return/^[a-zA-Z][a-zA-Z0-9+\-.]*:$/.test(r)?r.endsWith(":")&&!r.includes(".")&&!Yq.has(r):!1};function $a(e,t){if(t={defaultProtocol:"http",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,removeExplicitPort:!1,sortQueryParameters:!0,...t},!e)return"";if(Pb(e)&&(e=uu(e)),typeof t.defaultProtocol=="string"&&!t.defaultProtocol.endsWith(":")&&(t.defaultProtocol=`${t.defaultProtocol}:`),e=e.trim(),/^data:/i.test(e)||Xq(e))return e;const r=e.startsWith("//"),n=!r&&/^\.*\//.test(e);let i;try{i=n?new URL(e,typeof document<"u"?document.baseURI:"http://localhost/").toString():e}catch{i=e}let o;try{o=new URL(i)}catch{const s=document.createElement("a");s.href=e,o=new URL(s.href)}if(t.forceHttp&&t.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(t.forceHttp&&o.protocol==="https:"&&(o.protocol="http:"),t.forceHttps&&o.protocol==="http:"&&(o.protocol="https:"),t.stripAuthentication&&(o.username="",o.password=""),t.stripHash?o.hash="":t.stripTextFragment&&(o.hash=o.hash.replace(/#?:~:text.*?$/i,"")),o.pathname){const s=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g;let c=0,l="";for(;;){const d=s.exec(o.pathname);if(!d)break;const m=d.index,p=o.pathname.slice(c,m);l+=p.replace(/\/{2,}/g,"/"),l+=d[0],c=m+d[0].length}const u=o.pathname.slice(c);l+=u.replace(/\/{2,}/g,"/"),o.pathname=l;try{o.pathname=decodeURI(o.pathname)}catch{}}if(t.removeDirectoryIndex){let s=o.pathname.split("/");const c=s[s.length-1];Array.isArray(t.removeDirectoryIndex)&&Sb(c,t.removeDirectoryIndex)&&(s=s.slice(0,-1),o.pathname=s.join("/")+"/")}if(t.stripWWW&&/^www\.(?!www\.)[a-z\d\-]+(\.[a-z.\-]{2,63})+$/.test(o.hostname||"")&&(o.hostname=o.hostname.replace(/^www\./,"")),Array.isArray(t.removeQueryParameters))for(const s of[...o.searchParams.keys()])Sb(s,t.removeQueryParameters)&&o.searchParams.delete(s);if(t.sortQueryParameters){o.searchParams.sort();try{o.search=decodeURIComponent(o.search)}catch{}}t.removeTrailingSlash&&(o.pathname=o.pathname.replace(/\/$/,"")),t.removeExplicitPort&&o.port&&(o.port="");let a=o.toString();return!t.removeSingleSlash&&o.pathname==="/"&&!e.endsWith("/")&&o.hash===""&&(a=a.replace(/\/$/,"")),(t.removeTrailingSlash||o.pathname==="/")&&o.hash===""&&t.removeSingleSlash&&(a=a.replace(/\/$/,"")),r&&!t.normalizeProtocol&&(a=a.replace(/^https?:\/\//,"//")),a}function Pb(e){if(!e)return!1;const t=e[0];return e.startsWith("/")||e.startsWith("./")||e.startsWith("../")||Jq(t)}function Jq(e){const t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122}function Zq(e){return/^(mailto:|tel:|fax:|sms:|geo:|blob:|data:|javascript:)/i.test(e)}function uu(e){if(e.startsWith("http://")||e.startsWith("https://")||e.startsWith("//")||!Pb(e)||Zq(e))return e;if(e.startsWith("/"))return window.location.origin+e;const t=window.location.href,r=t.lastIndexOf("/");return(r!==-1?t.slice(0,r+1):t+"/")+e}var du=null;function Ib(){return du===null&&(du=(0,wt.__vitePreload)(()=>Promise.resolve().then(()=>Ee("./8a5b1c18.js")).then(e=>e.default),void 0,{}.url)),du}async function Tb(e){return(await Ib()).getType(e)}async function e2(e){return(await Ib()).getExtension(e)}var he=class C0 extends Error{code;status;details;get httpStatus(){return this.status}constructor(t,r,n,i){super(t),this.name="FileManagerApiError",this.code=r,this.status=n,this.details=i,Error.captureStackTrace&&Error.captureStackTrace(this,C0)}},t2="Edited",r2=1e4;function qa(e,t="BackendError"){switch(e){case 400:return"ValidationError";case 401:return"AuthenticationFailed";case 403:return"AuthorizationFailed";case 404:return"FileNotFound";case 409:return"FolderAlreadyExists";case 413:return"PayloadTooLarge";case 415:return"UnsupportedMediaType";case 429:return"RateLimitExceeded";case 500:return"BackendError";case 503:return"ServiceUnavailable";case 504:return"Timeout";default:return t}}var Ob={file_too_large:"FileTooLarge",file_size_exceeded:"FileTooLarge",file_size_limit:"FileTooLarge",invalid_file_name:"FileInvalidName",file_name_invalid:"FileInvalidName",invalid_name:"FileInvalidName",invalid_folder_name:"FolderInvalidName",folder_name_invalid:"FolderInvalidName",folder_invalid_name:"FolderInvalidName",file_type_not_allowed:"FileTypeNotAllowed",unsupported_type:"FileTypeNotAllowed",invalid_format:"FileTypeNotAllowed",batch_limit_exceeded:"BatchItemLimitExceeded",exceeded_max_files:"BatchItemLimitExceeded",file_count_exceeded:"BatchItemLimitExceeded",upload_limit_exceeded:"BatchItemLimitExceeded",too_many_files:"BatchItemLimitExceeded"};function n2(e){if(typeof e=="string")return e;if(e!==null&&typeof e=="object"&&!Array.isArray(e)&&"400x400"in e){const t=e["400x400"];return typeof t=="string"?t:void 0}}function i2(e){const t=e.is_folder;if(t===!0||t===1)return!0;if(t===!1||t===0)return!1;if(typeof t=="string"){const n=t.trim().toLowerCase();if(n==="true"||n==="1"||n==="yes")return!0;if(n==="false"||n==="0"||n==="no"||n==="")return!1}if(String(e.item_type??"").toLowerCase()==="folder")return!0;const r=String(e.type??"").toLowerCase();return!!(r==="folder"||r==="directory"||r==="dir"||r==="inode/directory"||r==="application/x-directory"||r==="httpd/unix-directory"||r.endsWith("/directory"))}function ji(e){if(!e)return["",""];const t=e.replaceAll("\\","/").split("/").filter(Boolean),r=t.pop()||"";return[t.join("/"),r]}function o2(e,t){if(!e)return"";const r=new RegExp(`^/?${t}/?`);return e.replace(r,"")}function a2(e){return new Promise((t,r)=>{const n=new FileReader;n.onload=()=>{const i=n.result.toString().split(",")[1];t(i)},n.onerror=r,n.readAsDataURL(e)})}var s2=class{_api;_projectId;i18n;pathPostfix;appConfig;isStandalone;pathMode=!0;rootId="";trashPath="trash";tempPath=t2;constructor(e){this._api=e.restApi,this._projectId=e.projectId,this.i18n=e.i18n||ei,this.pathPostfix=e.pathPostfix,this.appConfig=e.appConfig,this.isStandalone=!!e.isStandalone}removePrefix(e){let t=o2(e,this._projectId);if(this.pathPostfix){const r=new RegExp(`^/?${this.pathPostfix}/?`);t=t.replace(r,"")}return t}handleError(e,t){const{__:r}=this.i18n;if(e instanceof Error)throw e instanceof he?e:new he(e.message,t||"BackendError");const n=e.data,i=n?.message||r("Unknown error"),o=n?.data?.status??n?.status,a=n?.code,s=t||(a?Ob[a]:void 0)||(typeof o=="number"?qa(o):void 0)||"BackendError";throw new he(i,s,o)}convertRestError(e,t){const{__:r}=this.i18n;if(e instanceof he||e instanceof Error)return e;if(e&&typeof e=="object"&&"data"in e&&!(e instanceof Error)){const n=e.data,i=n?.message||r("Unknown error"),o=n?.data?.status??n?.status,a=n?.code;return{message:i,code:t||(a?Ob[a]:void 0)||(o?qa(o):void 0)||"BackendError",status:o,raw:e}}return e??{message:r("Unknown error")}}async getFolders({parentId:e}){const t=await this._api.folders_list({project_id:this._projectId,path_folder:e,per_page:r2},{type:P.ContentType.Json});if(t.error){if(this.isPathFolderNotFound(t.error))return[];this.handleError(t.error)}return await t.data.folders.map(r=>({id:this.removePrefix(r.full_path),name:r.name,folderId:this.removePrefix(r.parent_folder),childrenCount:r.files_count+r.folders_count,isFolder:!0}))}async getItems(e){if(e.limit===void 0&&(e.limit=Number.MAX_SAFE_INTEGER),e.itemType==="folder")return{items:await this.getFolders({parentId:e.folderId})};let t;try{t=await this._api.files_list({project_id:this._projectId,path_folder:e.folderId,filter_name:e.search,sort_by:e.sortBy,sort_order:e.sortOrder,per_page:e.limit,page:e.page})}catch(a){if(this.isPathFolderNotFound(a)||a?.status===404)return{items:[],pagination:{limit:e.limit,page:1,total:0,totalPages:0}};throw a}const r=t,n=!r.ok&&r.status===404||this.isPathFolderNotFound(t.error);if(t.error||!r.ok){if(n)return{items:[],pagination:{limit:e.limit,page:1,total:0,totalPages:0}};t.error&&this.handleError(t.error)}const i=t.data;let o=(i?.files||[]).map(a=>{const s=a.thumbnail,c=i2(a);return{...a,id:`${this.removePrefix(a.folder)}/${a.name}`,size:Number(a.size),date:a.date||new Date().toISOString(),folderId:this.removePrefix(a.folder),selected:!1,isFolder:c,thumbnail:n2(s)}});return i.total===Number.MAX_SAFE_INTEGER&&(i.total=o.length),e.itemType==="file"&&(o=o.filter(a=>!a.isFolder)),{items:o,pagination:{limit:i.per_page,page:i.page,total:i.total,totalPages:i.total_pages}}}async getFile(e){const t=await P.fetchWithResourceProxy(P.buildCdnFileUrl(this.appConfig,[this._projectId,e]),{config:this.appConfig,standalone:this.isStandalone,resourceType:"cdn",intent:"downloadBlob"});if(t.ok)return t.blob();{const r=await t.text(),n=qa(t.status,"FileReadError"),{__:i}=this.i18n,o=r||i("Failed to get file: %s").replace("%s",t.statusText);throw new he(o,n,t.status)}}getFileData=async(e,t)=>{const r=e.url||(typeof this.getUrl=="function"?this.getUrl(e):""),n=await P.fetchWithResourceProxy(r,{config:this.appConfig,standalone:this.isStandalone,resourceType:P.isCdnUrl(r,this.appConfig)?"cdn":"generic",intent:"downloadBlob",init:t?.forceReload?{cache:"no-store"}:void 0});if(n.ok)return n.blob();const i=await n.text(),o=qa(n.status,"FileReadError"),{__:a}=this.i18n,s=i||a("Failed to get file: %s").replace("%s",n.statusText);throw new he(s,o,n.status)};isPathFolderNotFound(e){if(!e||typeof e!="object"||e instanceof Error)return!1;const t=e;return t.code==="path_folder_not_found"||t.data?.code==="path_folder_not_found"||t.data?.data?.status===404}async deleteItem(e,t){if(e.isFolder){const r=await this._api.folders_delete({path_folder:e.id,project_id:this._projectId,force:t.permanent},{type:P.ContentType.Json});if(r.error){if(this.isPathFolderNotFound(r.error)){await this.clearCache(e.folderId??void 0);return}this.handleError(r.error,"FolderNotFound")}await this.clearCache(e.folderId??void 0)}else{const r=await this._api.files_delete({project_id:this._projectId,path_folder:e.folderId??"",file_name:[e.name],force:t.permanent},{type:P.ContentType.Json});r.error&&this.handleError(r.error,"FileNotFound")}}async deleteItems(e,t){try{if(e.length===0)return{success:!0};const r=e.filter(i=>i.isFolder),n=e.filter(i=>!i.isFolder);if(r.length>0){const i=new Set(r.map(s=>s.id)),o=r.filter(s=>{const c=s.folderId??"";return!i.has(c)}).map(s=>s.id),a=await this._api.folders_delete({project_id:this._projectId,path_folder:o.length===1?o[0]:o,force:t.permanent},{type:P.ContentType.Json});if(a.error&&!this.isPathFolderNotFound(a.error))return{success:!1,error:this.convertRestError(a.error)};for(const s of r)try{await this.clearCache(s.folderId??void 0)}catch{}}if(n.length>0){const i=new Map;for(const o of n){const a=o.folderId??"";i.has(a)||i.set(a,[]),i.get(a).push(o)}for(const[o,a]of i){const s=await this._api.files_delete({project_id:this._projectId,path_folder:o,file_name:a.map(c=>c.name),force:t.permanent},{type:P.ContentType.Json});if(s.error)return{success:!1,error:this.convertRestError(s.error)}}}return{success:!0}}catch(r){return{success:!1,error:r}}}async createFolder(e,t,r){const{__:n}=this.i18n;if(!e)throw new he(n("Folder name is required"),"FolderInvalidName");const i=await this._api.folders_create({name:e,project_id:this._projectId,path_folder:t,is_force_create:r},{type:P.ContentType.Json});return i.error&&this.handleError(i.error),{id:this.removePrefix(i.data.full_path),name:i.data.name,folderId:this.removePrefix(i.data.parent_folder),childrenCount:i.data.files_count|i.data.folders_count,isFolder:!0}}async _uploadFile(e){const{__:t}=this.i18n;if(!e.name||!e.data)throw new he(t("Invalid file data"),"ValidationError");const r=await this._api.files_create({file:e.data instanceof File?e.data:new File([e.data],e.name,{type:e.type}),path_folder:e.folderId,project_id:this._projectId},{type:P.ContentType.FormData});r.error&&this.handleError(r.error);const n=r.data instanceof Array?r.data[0]:r.data;if(!n)throw new he(t("File upload failed"),"ValidationError");return{...n,id:this.removePrefix(n.folder)+"/"+n.name,size:Number(n.size),folderId:this.removePrefix(n.folder),date:n.date||new Date().toISOString(),selected:!1,isFolder:!1,thumbnail:n.thumbnail?.["400x400"]}}async uploadFiles(e){try{const t=e.items.map(n=>{if(n.data instanceof File)return n.data;const i=n.name||"file",o=n.data.type||n.type||"application/octet-stream";return new File([n.data],i,{type:o})}),r=await this._api.files_create({project_id:this._projectId,path_folder:e.folderId,file:t},{type:P.ContentType.FormData});return r.error?{success:!1,error:this.convertRestError(r.error)}:{success:!0,detailed:(Array.isArray(r.data)?r.data:[r.data]).map(n=>({success:!0,data:{id:[this.removePrefix(n.folder),n.name].filter(Boolean).join("/"),name:n.name,size:Number(n.size),folderId:this.removePrefix(n.folder),type:n.type,date:n.date||new Date().toISOString(),selected:!1,isFolder:!1,thumbnail:n.thumbnail?.["400x400"]}}))}}catch(t){return{success:!1,error:t}}}async renameItem(e,t){const{__:r}=this.i18n;if(!t){const s=e.isFolder?"FolderInvalidName":"FileInvalidName",c=e.isFolder?r("New folder name is required"):r("New file name is required");throw new he(c,s)}const[n,i]=ji(e.id),o=await this._api.files_rename_partial_update({file_name:i,new_name:t,path_folder:n,project_id:this._projectId,is_folder:e.isFolder},{type:P.ContentType.Json});o.error&&this.handleError(o.error);const a=o.data;return{id:this.removePrefix(a.folder)+"/"+a.name,name:a.name,folderId:this.removePrefix(a.folder)}}async moveItems(e,t){try{const r=e.map(i=>ji(i.id)),n=await this._api.items_move_partial_update({file_name:r.map(i=>i[1]),target_folder:t,path_folder:r[0][0],project_id:this._projectId},{type:P.ContentType.Json});return n.error?{success:!1,error:this.convertRestError(n.error)}:{success:!0,detailed:n.data.results.map(i=>({success:i.success,error:this.convertRestError(i.error),data:{id:[this.removePrefix(i.new_path||""),i.item_name].filter(o=>o).join("/")}}))}}catch(r){return this.convertRestError(r),{success:!1,error:r}}}async copyItem(e,t){const[r,n]=ji(e.id),i=await this._api.items_move_partial_update({file_name:n,target_folder:t,path_folder:r,project_id:this._projectId,is_copy:!0},{type:P.ContentType.Json});return i.error&&this.handleError(i.error),{id:[t,n].filter(o=>o).join("/")}}async copyItems(e,t){try{const r=e.map(i=>ji(i.id)),n=await this._api.items_move_partial_update({file_name:r.map(i=>i[1]),target_folder:t,path_folder:r[0][0],project_id:this._projectId,is_copy:!0},{type:P.ContentType.Json});return n.error?{success:!1,error:this.convertRestError(n.error)}:{success:!0,detailed:n.data.results.map((i,o)=>({success:i.success,error:this.convertRestError(i.error),requestId:e[o].id,data:{id:[this.removePrefix(i.new_path||""),i.item_name].filter(a=>a).join("/")}}))}}catch(r){return{success:!1,error:this.convertRestError(r)}}}async uploadFileByUrl(e,t,r){const n=uu(e);try{if(n.startsWith("http://localhost")||n.startsWith("https://localhost")||this.appConfig?.resourceProxy||this.isStandalone){const a=await(await P.fetchWithResourceProxy(n,{config:this.appConfig,standalone:this.isStandalone,resourceType:r?.eventSource==="imageStock"?"stockImages":"generic",intent:"downloadBlob"})).blob();return this._uploadFile({name:n.split("/").pop()||"file",size:a.size,folderId:t,data:a,type:await Tb(n)||"application/octet-stream"})}const i=await this._api.files_upload_by_url_create({url:n,path_folder:t,project_id:this._projectId},{type:P.ContentType.Json});i.error&&this.handleError(i.error);const o=i.data instanceof Array?i.data[0]:i.data;return{id:`${this.removePrefix(o.folder)}/${o.name}`,name:o.name,size:Number(o.size),type:o.type,folderId:this.removePrefix(o.folder)||null,date:o.date||new Date().toISOString(),url:o.url}}catch(i){throw i}}async updateFile(e,t){const[r,n]=ji(e.id),i=await this._api.files_partial_update({file_name:n,project_id:this._projectId,path_folder:r,updates:{data:typeof t.data=="string"?t.data:await a2(t.data),name:t.name}},{type:P.ContentType.Json});if(i.error)this.handleError(i.error);else{const o=i.data;return{...o,id:`${this.removePrefix(o.folder)}/${o.name}`,size:Number(o.size),folderId:this.removePrefix(o.folder),date:o.date||new Date().toISOString(),thumbnail:o.thumbnail?.["400x400"],selected:!1}}}findFileByUrl(e,t){const r=P.unwrapResourceProxyUrl(e,this.appConfig),n=P.buildCdnFileUrl(this.appConfig,[]);if(n&&$a(r).startsWith($a(n))){const i=r.replace($a(n)+"/","").split("/").filter(Boolean);if(i[0]===this._projectId){const o=this.removePrefix(i.slice(1,-1).join("/")),a=i[i.length-1];if(!t||o===this.removePrefix(t))return{id:[o,a].filter(Boolean).join("/"),name:a,folderId:o,isFolder:!1,url:r}}}}async clearCache(e){const t={project_id:this._projectId,path_folder:e||void 0},r=await this._api.cache_clear_create(t);r.error&&this.handleError(r.error)}getUrl=e=>P.buildCdnFileUrl(this.appConfig,[this._projectId,this.pathPostfix,e.folderId,e.name]);getThumbnailUrl=e=>{const t=e.name.lastIndexOf("."),r=t>0?e.name.slice(0,t):e.name,n=t>0?e.name.slice(t+1):"";return P.buildCdnFileUrl(this.appConfig,[this._projectId,this.pathPostfix,".thumbs",e.folderId,r,r+"-400x400."+n])};async cleanTrash(){try{const e=await this._api.empty_trash_create({project_id:this._projectId},{type:P.ContentType.UrlEncoded});e.error&&this.handleError(e.error,"BackendError");const t=e.data;return{success:t?.success??!0,deletedCount:t?.deleted_count??0}}catch(e){if(e instanceof he)throw e;const{__:t}=this.i18n;throw new he(t("Failed to clean trash"),"BackendError")}}},W=class A0 extends Error{constructor(t,r,n,i){super(t),this.code=r,this.status=n,this.details=i,this.name="FileManagerApiError",Error.captureStackTrace&&Error.captureStackTrace(this,A0)}},Mi="",cn=class{constructor(){this.map=new Map}static childrenViewKey(e,t){return`v${Mi}${e}${Mi}${t}`}static childrenCountKey(e){return`c${Mi}${e}`}getFreshError(e,t){let r=this.map.get(e);return r?t!==1/0&&Date.now()-r.updatedAt>t?(this.map.delete(e),null):r.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${Mi}${e}${Mi}`;for(let r of[...this.map.keys()])r.startsWith(t)&&this.map.delete(r)}clearAll(){this.map.clear()}},l2=class{constructor(){this.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)}};function Cb(e){return{sortBy:e?.sortBy??"name",sortOrder:e?.sortOrder==null?e?.sortBy!=null&&e.sortBy!==""?"desc":"asc":e.sortOrder==="desc"?"desc":"asc"}}function Ab(e,t,r){let{sortBy:n,sortOrder:i}=Cb(r),o=0;switch(n){case"name":o=(e.name||"").localeCompare(t.name||"");break;case"date":o=new Date(e.date||0).getTime()-new Date(t.date||0).getTime();break;case"size":o=(Number(e.size)||0)-(Number(t.size)||0);break;case"type":o=(e.extension||e.type||"").toLowerCase().localeCompare((t.extension||t.type||"").toLowerCase());break;default:o=(e.name||"").localeCompare(t.name||"")}return i==="desc"?-o:o}function Ga(e){return e!=null&&String(e).trim()!==""}function c2(e,t){let{sortBy:r}=Cb(t);switch(r){case"date":return Ga(e.date)?!Number.isNaN(new Date(e.date).getTime()):!1;case"size":return e.size!=null&&Number.isFinite(Number(e.size));case"type":return Ga(e.extension)||Ga(e.type);default:return Ga(e.name)}}function u2(e,t){let r=typeof t?.search=="string"?t.search.trim():"";if(!r)return!0;let n=r.toLowerCase();return(e.name?.toLowerCase().includes(n)??!1)||(e.type?.toLowerCase().includes(n)??!1)||(e.extension?.toLowerCase().includes(n)??!1)}var d2=Ab,f2=u2,m2=c2;function kb(e={}){return{...e,comparator:e.comparator??d2,filterMatch:e.filterMatch??f2,hasSortValue:e.hasSortValue??m2}}var yt="Trash";function Qe(e){return e.replace(/\\/g,"/").replace(/^\/+|\/+$/g,"")}function jb(e,t,r=yt){let n=Qe(e);if(!n)return[];let i=[e,n];if(n===Qe(t)){i.push(t);let o=Qe(t);o==="Trash"||o.toLowerCase()==="trash"?i.push(r,yt,yt.toLowerCase()):r!=="Trash"&&Qe(r)!==o&&i.push(r)}return Array.from(new Set(i.map(Qe).filter(Boolean)))}function p2(e){let t=new Map;for(let[r,n]of Object.entries(e))n.id&&t.set(Qe(r),n);return r=>{let n=t.get(Qe(r));if(n)return{id:n.id,name:n.name??n.id,folderId:n.folderId??null,isFolder:!0}}}function $e(){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 r="";for(let n=0;n<t.length;n++)r+=t[n].toString(16).padStart(2,"0");return`id_${r}`}}catch{}return`id_fallback_${Date.now().toString(36)}_${Math.floor(Math.random()*(2**53-1)).toString(36).slice(0,8)}`}var h2=/^(utm_[a-z0-9_]+|fbclid|gclid|igshid|mc_cid|mc_eid)$/i;function Mb(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch{return e}}function g2(e){let t=new URL(e.trim());t.hash="",t.hostname=t.hostname.toLowerCase(),(t.protocol==="https:"&&t.port==="443"||t.protocol==="http:"&&t.port==="80")&&(t.port="");let r=(t.search.startsWith("?")?t.search.slice(1):t.search).split("&").filter(Boolean).map(n=>{let i=n.indexOf("="),o=i===-1?n:n.slice(0,i),a=i===-1?"":n.slice(i+1);return{pair:n,key:Mb(o),value:Mb(a)}}).filter(({key:n})=>!h2.test(n)).sort((n,i)=>{let o=n.key.localeCompare(i.key);return o===0?n.value.localeCompare(i.value):o});return t.search=r.length?`?${r.map(({pair:n})=>n).join("&")}`:"",t.toString()}function Rb(e){try{return g2(e)}catch{return e.trim()}}var Nb="",fu=18e5;function je(e){return e==null||e===""?Nb:e}function mu(e){if(e==null)return 1/0;let t=Number(e);return Number.isFinite(t)&&t>=0?t:1/0}function y2(e){return!e||typeof e.search!="string"?!1:e.search.trim().length>0}function Ye(e){if(!e)return null;let t=e.folderId;return t==null?null:String(t)}function fe(e){return!!e&&!!e.isFolder}function Db(e){if(!e||typeof e!="object")return!1;let t=e;return t.code==="path_folder_not_found"||t.code==="folder_not_found"||t.code==="FolderNotFound"||t.data?.code==="path_folder_not_found"||t.data?.code==="folder_not_found"||t.status===404||t.data?.data?.status===404}function _2(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=t+((t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24))>>>0;return t.toString(36)}function _t(e){if(!e||typeof e!="object")return String(e??"");let t=e,r=[],n={},i=["page","pageSize","sortBy","sortOrder","search","itemType","limit"];for(let c of Object.keys(t).sort()){let l=t[c];i.includes(c)?r.push(`${c}=${String(l??"")}`):n[c]=l}let o=Object.keys(n).length?JSON.stringify(n):"",a=r.join("|"),s=o?_2(o):"";return`${a}${s?`|${s}`:""}`}var Lb=class k0{constructor(){this.entities=new Map,this.childrenByParent=new Map,this.maxCacheSize=1e4}now(){return Date.now()}checkCacheSize(){if(this.entities.size>this.maxCacheSize){let t=Array.from(this.entities.entries()).sort((n,i)=>n[1].updatedAt-i[1].updatedAt),r=Math.floor(this.maxCacheSize*.1);for(let n=0;n<r&&n<t.length;n++){let[i,o]=t[n];this.deleteEntityById(i)}}}getEntity(t){return this.entities.get(t)?.value}getRecord(t){return this.entities.get(t)}getFileSystemItem(t){let r=this.getEntity(t);return r&&!fe(r)?r:void 0}getFolder(t){let r=this.getEntity(t);return r&&fe(r)?r:void 0}getChildrenIds(t,r={}){let n=je(t),i=this.childrenByParent.get(n);return i?r.onlyFileSystemItems?Array.from(i.files):r.onlyFolders?Array.from(i.folders):[...Array.from(i.folders),...Array.from(i.files)]:[]}searchByUrl(t){let r=Rb(t);for(let n of this.entities.values()){let i=n.value.url;if(i&&(i===t||Rb(i)===r))return n.value}return null}upsertEntity(t){let r=this.entities.get(t.id)??null,n=r?r.value:null,i=n?Ye(n):null,o=Ye(t),a=n?fe(n):!1,s=fe(t),c;if(n&&fe(n)&&s){let m=n.childrenCount,p=t.childrenCount;m!==void 0&&p===void 0&&(c=m)}if(n&&(i!==o||a!==s)){let m=je(i),p=this.childrenByParent.get(m);p&&(a?p.folders.delete(t.id):p.files.delete(t.id),p.files.size===0&&p.folders.size===0&&this.childrenByParent.delete(m))}let l=t;c!==void 0&&(l={...t,childrenCount:c}),this.entities.set(t.id,{value:{...l},updatedAt:this.now()}),this.checkCacheSize();let u=je(o),d=this.childrenByParent.get(u);d||(d={files:new Set,folders:new Set},this.childrenByParent.set(u,d)),s?d.folders.add(t.id):d.files.add(t.id)}updateServerChildrenCount(t,r){if(t==null||r==null||Number.isNaN(r))return;let n=this.entities.get(t);if(!n||!fe(n.value))return;let i={...n.value,childrenCount:r};this.entities.set(t,{value:i,updatedAt:this.now()})}deleteEntityById(t){let r=this.entities.get(t)??null;if(!r)return{entity:null,parentId:null};let n=r.value,i=Ye(n),o=je(i),a=this.childrenByParent.get(o);return a&&(fe(n)?a.folders.delete(t):a.files.delete(t),a.files.size===0&&a.folders.size===0&&this.childrenByParent.delete(o)),this.entities.delete(t),{entity:{...n},parentId:i}}deleteFolderRecursive(t){let r=this.entities.get(t);if(!r||!fe(r.value))return{deletedFolderRecords:[],deletedFileSystemItemRecords:[]};let n=[{id:t,parentId:Ye(r.value)}],i=[],o=[];for(;n.length;){let c=n.shift();i.push(c);let l=this.childrenByParent.get(je(c.id));if(l){for(let u of Array.from(l.folders)){let d=this.entities.get(u);d&&n.push({id:u,parentId:Ye(d.value)})}for(let u of Array.from(l.files))o.push(u)}}let a=[];for(let c of o){let l=this.entities.get(c);if(!l)continue;let u=l.value,d=je(Ye(u)),m=this.childrenByParent.get(d);m&&(m.files.delete(c),m.files.size===0&&m.folders.size===0&&this.childrenByParent.delete(d)),this.entities.delete(c),a.push({...u})}let s=[];for(let c=i.length-1;c>=0;c--){let{id:l,parentId:u}=i[c],d=this.entities.get(l);if(!d)continue;let m=d.value,p=je(m.id);this.childrenByParent.delete(p);let g=je(u),h=this.childrenByParent.get(g);h&&(h.folders.delete(l),h.files.size===0&&h.folders.size===0&&this.childrenByParent.delete(g)),this.entities.delete(l),s.push({...m})}return{deletedFolderRecords:s,deletedFileSystemItemRecords:a}}moveEntityById(t,r){let n=this.entities.get(t)??null;if(!n)return null;let i=n.value,o=je(Ye(i)),a=this.childrenByParent.get(o);a&&(fe(i)?a.folders.delete(t):a.files.delete(t),a.files.size===0&&a.folders.size===0&&this.childrenByParent.delete(o));let s={...i,folderId:r};if(fe(i)&&fe(s)){let u=i.childrenCount;u!==void 0&&(s.childrenCount=u)}this.entities.set(t,{value:s,updatedAt:this.now()});let c=je(r),l=this.childrenByParent.get(c);return l||(l={files:new Set,folders:new Set},this.childrenByParent.set(c,l)),fe(s)?l.folders.add(t):l.files.add(t),{...s}}copyFileSystemItem(t,r,n){let i=this.entities.get(t)??null;if(!i||fe(i.value))return null;let o={...i.value,id:r,folderId:n};return this.upsertEntity(o),{...o}}copyFolderShallow(t,r,n){let i=this.entities.get(t)??null;if(!i||!fe(i.value))return null;let o={...i.value,id:r,folderId:n};return this.upsertEntity(o),{...o}}isEntityStale(t,r){let n=this.entities.get(t)??null;return!n||r!==1/0&&this.now()-n.updatedAt>r}touch(t,r){let n=this.entities.get(t);n&&(n.updatedAt=r??this.now())}getEntitiesByIds(t){return t.map(r=>this.entities.get(r)?.value??null)}searchByName(t,r){if(!t||t.trim()==="")return[];let n=r?.parentId,i=r?.recursive??!1,o=r?.itemType??"all",a=r?.caseSensitive??!1,s=r?.limit??1/0,c=a?t.trim():t.trim().toLowerCase(),l=[],u=null;if(n!==void 0){u=new Set;let d=je(n);if(u.add(d),i){let m=[d],p=new Set;for(;m.length>0;){let g=m.shift();if(p.has(g))continue;p.add(g);let h=this.childrenByParent.get(g);if(h)for(let v of h.folders)u.add(v),m.push(v)}}}for(let[,d]of this.entities){if(l.length>=s)break;let m=d.value;if(u!==null){let g=je(Ye(m));if(!u.has(g))continue}if(o==="file"&&fe(m)||o==="folder"&&!fe(m))continue;let p=m.name??"";(a?p:p.toLowerCase()).includes(c)&&l.push({...m})}return l}toJSON(){return{entities:Array.from(this.entities.entries()),childrenByParent:Array.from(this.childrenByParent.entries()).map(([t,r])=>[t,{files:Array.from(r.files),folders:Array.from(r.folders)}])}}static fromJSON(t){let r=new k0;for(let[n,i]of t.entities??[])r.entities.set(n,{value:i.value,updatedAt:i.updatedAt});for(let[n,i]of t.childrenByParent??[])r.childrenByParent.set(n,{files:new Set(i.files),folders:new Set(i.folders)});return r}},Fb=class j0{constructor(t={},r=fu,n,i,o=new cn,a=Db){this.views=new Map,this.maxViewsPerParent=50;let s=kb(t);this.strategy={allowSortedInsert:s.allowSortedInsert??!0,allowSearchInsert:s.allowSearchInsert??!0,invalidateOnPaginationFull:s.invalidateOnPaginationFull??!0,preloadPagesBefore:s.preloadPagesBefore??0,preloadPagesAfter:s.preloadPagesAfter??1,comparator:s.comparator,filterMatch:s.filterMatch,hasSortValue:s.hasSortValue},this.ttl=r,this.errorTtl=n??r,this.entityTtl=i??r,this.failedRequests=o,this.isFolderNotFoundError=a}setServerChildrenCountHandler(t){this.serverChildrenCountHandler=t}setChildrenCountInvalidator(t){this.childrenCountInvalidator=t}now(){return Date.now()}parentKey(t){return je(t??null)}isExpired(t){return t==null||this.ttl!==1/0&&this.now()-t>this.ttl}areEntitiesStale(t,r){return!t||t.some(n=>!r.getEntity(n)||r.isEntityStale(n,this.entityTtl))}isEntityTypeCompatible(t,r){return!!(!r||r==="all"||r==="file"&&!fe(t)||r==="folder"&&fe(t))}markViewStaleForReload(t){t.view.meta={...t.view.meta??{},stale:!0},t.view.updatedAt=this.now(),t.view.loadId=$e(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0)}cleanupOldViews(t){if(t.size<=this.maxViewsPerParent)return;let r=Array.from(t.entries()).sort((n,i)=>(i[1].view.updatedAt||0)-(n[1].view.updatedAt||0));for(;t.size>this.maxViewsPerParent&&r.length>0;){let[n]=r.pop();t.delete(n)}}async getOrCreateChildren(t,r,n,i){let o=this.parentKey(t),a=_t(r??{}),s=this.views.get(o);s||(s=new Map,this.views.set(o,s));let c=cn.childrenViewKey(o,a),l=s.get(a);l||(l={params:r,view:{promise:null,value:void 0,meta:void 0,updatedAt:0,loadId:null}},s.set(a,l),this.cleanupOldViews(s));let u=this.failedRequests.getFreshError(c,this.errorTtl);if(u!=null)throw u;if(l.view.value&&!this.isExpired(l.view.updatedAt)&&!this.areEntitiesStale(l.view.value,i)&&!l.view.meta?.stale){let p=l.view.value.map(h=>i.getEntity(h)).filter(Boolean),g=l.params?.itemType||"all";return{items:p.filter(h=>this.isEntityTypeCompatible(h,g)),...l.view.meta??{}}}if(l.view.promise)return l.view.promise;let d=$e();l.view.loadId=d;let m=(async()=>{try{let p=await n(t,r),g=y2(r),h=g?{...p,total:void 0}:p,v=this.views.get(o)?.get(_t(r));if(!v||v.view.loadId!==d){let T=Error("StaleLoad");throw T.name="StaleLoad",T}for(let T of h.items)i.upsertEntity(T);l.view.value=h.items.map(T=>T.id);let{items:E,...C}=h,b={...C};l.view.meta=b,l.view.meta&&(l.view.meta.stale=!1),this.failedRequests.delete(c),l.view.updatedAt=this.now(),!g&&typeof b.total=="number"&&(this.serverChildrenCountHandler?this.serverChildrenCountHandler(t??null,b.total,i):i.updateServerChildrenCount(t,b.total));let w=this.strategy.preloadPagesAfter??0,I=this.strategy.preloadPagesBefore??0,y=mu(r?.pageSize);if((w>0||I>0)&&Number.isFinite(y)){let T=t,S={...r},A=typeof b.totalPages=="number"?b.totalPages:1,j=r?.page??1,O=y,R=n,D=d;setTimeout(()=>{this.preloadPagesAsync(T,S,j,A,O,w,I,i,b,R,D)},0)}return h}catch(p){if(p?.name==="StaleLoad")throw this.failedRequests.delete(c),l.view.value=void 0,l.view.updatedAt=this.now(),p;if(this.isFolderNotFoundError(p))return this.failedRequests.delete(c),l.view.value=[],l.view.meta={total:0,totalPages:0},l.view.updatedAt=this.now(),{items:[],total:0,totalPages:0};throw this.failedRequests.setError(c,p),l.view.value=void 0,l.view.updatedAt=this.now(),p}finally{l.view.promise=null}})();return l.view.promise=m,m}async preloadPagesAsync(t,r,n,i,o,a,s,c,l,u,d){try{let m=this.parentKey(t),p=this.views.get(m);if(!p)return;let g=p.get(_t(r));if(!g||d!=null&&g.view.loadId!==d)return;let h=p.get(_t(r));if(!h?.view.meta)return;let v=typeof h.view.meta.totalPages=="number"?h.view.meta.totalPages:1;if(v!==i)return;let E=async C=>{let b={...r,page:C};try{let w=await u(t,b),I=this.views.get(m);if(!I)return;let y=I.get(_t(r));if(!y||d!=null&&y.view.loadId!==d||y.view.loadId!==d)return;for(let A of w.items)c.upsertEntity(A);let T=_t(b),S=I.get(T);if(S||(S={params:b,view:{promise:null,value:void 0,meta:void 0,updatedAt:0,loadId:y.view.loadId}},I.set(T,S),this.cleanupOldViews(I)),!S.view.value||this.isExpired(S.view.updatedAt)){S.view.value=w.items.map(O=>O.id);let{items:A,...j}=w;S.view.meta={...j,page:C,totalPages:v},S.view.updatedAt=this.now()}}catch{}};if(a>0&&n<v)for(let C=1;C<=Math.min(a,v-n);C++){let b=n+C,w=_t({...r,page:b}),I=p.get(w);(!I?.view.value||this.isExpired(I.view.updatedAt))&&E(b)}if(s>0&&n>1)for(let C=1;C<=Math.min(s,n-1);C++){let b=n-C,w=_t({...r,page:b}),I=p.get(w);(!I?.view.value||this.isExpired(I.view.updatedAt))&&E(b)}}catch{}}removeEmptyPageIfNeeded(t,r,n,i,o){if(r.view.value&&r.view.value.length===0&&n<i){let a=_t({...o,page:n});t.delete(a)}}updateTotalPagesForAllViews(t,r){for(let[,n]of t)n.view.meta&&(n.view.meta.totalPages=r)}isParamsSame(t,r){let n=Object.keys(t??{}).filter(o=>o!=="page").sort(),i=Object.keys(r??{}).filter(o=>o!=="page").sort();if(n.length!==i.length)return!1;for(let o=0;o<n.length;o++){let a=n[o];if(a!==i[o]||t[a]!==r[a])return!1}return!0}syncTotalsInSameViews(t,r){let n=r.view.meta;if(!n||typeof n.total!="number")return;let i=Number(n.total),o=mu(r.params?.pageSize),a=Number.isFinite(o)&&o>0?Math.max(1,Math.ceil(i/o)):void 0;for(let[,s]of t)this.isParamsSame(s.params??{},r.params??{})&&(s.view.meta||(s.view.meta={}),s.view.meta.total=i,a!==void 0&&(s.view.meta.totalPages=a))}cascadeShiftPages(t,r,n,i,o,a,s){let c=r,l=n,u=!1,d=0;for(;c.view.value&&c.view.value.length<i&&l<o&&d<100;){d++;let m=_t({...s,page:l+1}),p=t.get(m);if(!p?.view.value||this.isExpired(p.view.updatedAt)){c.view.meta={...c.view.meta??{},stale:!0};break}let g=i-c.view.value.length,h=p.view.value.slice(0,g).filter(v=>a.getEntity(v));if(h.length===0){c.view.meta={...c.view.meta??{},stale:!0};break}if(c.view.value=[...c.view.value,...h],c.view.updatedAt=Date.now(),p.view.value=p.view.value.slice(h.length),p.view.updatedAt=Date.now(),p.view.value.length===0){let v=l+1,E=p.view.meta;if(v<(E&&typeof E.totalPages=="number"?E.totalPages:1)){let C=_t({...s,page:v});t.delete(C),u=!0}break}c=p,l++}return(!c.view.value||c.view.value.length<i)&&l>=o&&(c.view.meta={...c.view.meta??{},stale:!0}),u}cascadeShiftToNextPage(t,r,n,i,o,a,s){if(!r.view.value||r.view.value.length<=i)return!1;if(n-(s.page||1)>=10)return r.view.meta={...r.view.meta??{},stale:!0},!1;let c={...s,page:n+1},l=_t(c),u=t.get(l),d=!1;if(!u?.view.value||this.isExpired(u.view.updatedAt))if(n>=o){u={params:c,view:{promise:null,value:void 0,meta:void 0,updatedAt:0,loadId:null}},t.set(l,u),this.cleanupOldViews(t);let g=r.view.meta;g&&(u.view.meta={...g,page:n+1}),d=!0}else return r.view.meta={...r.view.meta??{},stale:!0},!1;let m=r.view.value.slice(i).filter(g=>a.getEntity(g));if(m.length===0)return d&&t.delete(l),!1;r.view.value=r.view.value.slice(0,i),r.view.updatedAt=Date.now(),u.view.value=[...m,...u.view.value??[]],u.view.updatedAt=Date.now();let p=u.view.meta&&typeof u.view.meta.totalPages=="number"?u.view.meta.totalPages:o;if(!d&&this.cascadeShiftToNextPage(t,u,n+1,i,p,a,s))return!0;if(!u.view.value||u.view.value.length===0){let g=n+1,h=u.view.meta,v=h&&typeof h.totalPages=="number"?h.totalPages:1;this.removeEmptyPageIfNeeded(t,u,g,v,s)}return d}canCompareInSortedView(t,r){let n=t.params??{};return!n.sortBy&&!n.sortOrder||!this.strategy.hasSortValue||this.strategy.hasSortValue(r,t.params)}tryInsertSorted(t,r,n){let i=this.strategy.comparator;if(!i||!t.view.value)return!1;let o=t.params?.itemType||"all";if(!this.isEntityTypeCompatible(r,o)||!this.canCompareInSortedView(t,r))return!1;let a=t.view.value.map(l=>n.getEntity(l));if(a.some(l=>!l))return!1;if(a.length===0){let l=t.params??{};if(l.sortBy||l.sortOrder){let u=i(r,r,t.params);if(typeof u!="number"||Number.isNaN(u))return!1}return t.view.value.includes(r.id)?(t.view.updatedAt=this.now(),!0):(t.view.value=[r.id],t.view.updatedAt=this.now(),!0)}let s=0,c=a.length;for(;s<c;){let l=Math.floor((s+c)/2),u=i(r,a[l],t.params);if(typeof u!="number"||Number.isNaN(u))return!1;u>=0?s=l+1:c=l}return t.view.value.includes(r.id)?(t.view.updatedAt=this.now(),!0):(t.view.value=[...t.view.value.slice(0,s),r.id,...t.view.value.slice(s)],t.view.updatedAt=this.now(),!0)}updateChildrenCountForOperation(t,r,n,i){let o=Ye(r);switch(t){case"delete":this.adjustChildrenCount(i,o,-1),this.childrenCountInvalidator?.(o);break;case"insert":case"copy":this.adjustChildrenCount(i,o,1),this.childrenCountInvalidator?.(o);break;case"move":this.adjustChildrenCount(i,n??null,-1),this.adjustChildrenCount(i,o,1),this.childrenCountInvalidator?.(n??null),this.childrenCountInvalidator?.(o)}}adjustChildrenCount(t,r,n){if(!r)return;let i=t.getFolder(r);if(i&&typeof i.childrenCount=="number"){let o=Math.max(0,i.childrenCount+n);t.updateServerChildrenCount(r,o)}}smartInvalidateChildrenViews(t,r,n,i,o,a){if(!r)return;this.updateChildrenCountForOperation(n,r,o,i);let s=this.parentKey(t),c=this.views.get(s);if(c)for(let[,l]of c){let u=l.params??{},d=u?.page??1,m=mu(u?.pageSize),p=Number.isFinite(m),g=!!(u?.sortBy||u?.sortOrder),h=!!u?.search,v=u?.itemType||"all";if(this.isEntityTypeCompatible(r,v)){if(h&&this.strategy.filterMatch&&!this.strategy.filterMatch(r,l.params)){l.view.value?.includes(r.id)&&(l.view.value=l.view.value.filter(E=>E!==r.id),l.view.meta&&typeof l.view.meta.total=="number"&&(l.view.meta.total=Math.max(0,l.view.meta.total-1)),this.markViewStaleForReload(l));continue}if(!l.view.value){l.view.meta&&(l.view.meta.stale=!0),l.view.loadId=$e(),l.view.abortController&&(l.view.abortController.abort(),l.view.abortController=void 0);continue}if(l.view.value.includes(r.id),this.shouldInvalidateCompletely(l,n,r,g,p,d)){this.markViewStaleForReload(l);continue}switch(n){case"delete":this.handleDelete(c,l,d,m,p,r,i);break;case"insert":case"copy":this.handleInsert(c,l,d,m,p,g,r,i);break;case"update":this.handleUpdate(c,l,d,m,p,g,h,r,i);break;case"move":this.handleMove(c,l,d,m,p,g,r,o,i)}}}}shouldInvalidateCompletely(t,r,n,i,o,a){return!!(o&&a>1&&(r==="insert"||r==="delete"||r==="move")||this.isExpired(t.view.updatedAt))}tryReinsertEntity(t,r,n,i,o){let a=t.params?.itemType||"all";if(!this.isEntityTypeCompatible(r,a))return!1;let s=t.params??{};return this.strategy.filterMatch(r,s)?this.tryInsertSorted(t,r,n)?!0:s.sortBy||s.sortOrder?!1:!i||t.view.value.length<o?(t.view.value.push(r.id),!0):!1:!1}handleDelete(t,r,n,i,o,a,s){let c=r.view.value.includes(a.id);if(c&&(r.view.value=r.view.value.filter(l=>l!==a.id)),r.view.meta&&typeof r.view.meta.total=="number"){if(r.view.meta.total=Math.max(0,r.view.meta.total-1),o&&Number.isFinite(i)&&typeof r.view.meta.total=="number"){let l=i;l>0&&(r.view.meta.totalPages=Math.max(1,Math.ceil(r.view.meta.total/l)))}this.syncTotalsInSameViews(t,r)}if(r.view.updatedAt=Date.now(),c&&o&&r.view.value.length<i&&s){let l=r.view.meta,u=l&&typeof l.totalPages=="number"?l.totalPages:1;if(this.cascadeShiftPages(t,r,n,i,u,s,r.params??{})&&r.view.meta&&typeof r.view.meta.totalPages=="number"){let d=Math.max(1,r.view.meta.totalPages-1);r.view.meta.totalPages=d,this.updateTotalPagesForAllViews(t,d)}}r.view.loadId=$e(),r.view.abortController&&(r.view.abortController.abort(),r.view.abortController=void 0)}handleInsert(t,r,n,i,o,a,s,c){if(!r.view.value.includes(s.id)){if(a&&this.strategy.allowSortedInsert&&this.strategy.comparator&&c)if(this.tryInsertSorted(r,s,c)){if(r.view.meta&&typeof r.view.meta.total=="number"){if(r.view.meta.total+=1,o&&Number.isFinite(i)){let l=i;l>0&&(r.view.meta.totalPages=Math.max(1,Math.ceil(r.view.meta.total/l)))}this.syncTotalsInSameViews(t,r)}if(r.view.updatedAt=Date.now(),o&&(r.view.value?.length??0)>i&&c){let l=r.view.meta,u=l&&typeof l.totalPages=="number"?l.totalPages:1;if(this.cascadeShiftToNextPage(t,r,n,i,u,c,r.params??{})&&r.view.meta&&typeof r.view.meta.totalPages=="number"){let d=r.view.meta.totalPages+1;r.view.meta.totalPages=d,this.updateTotalPagesForAllViews(t,d)}}}else this.markViewStaleForReload(r);else if(!o||r.view.value.length<i){if(r.view.value.push(s.id),r.view.meta&&typeof r.view.meta.total=="number"){if(r.view.meta.total+=1,o&&Number.isFinite(i)){let l=i;l>0&&(r.view.meta.totalPages=Math.max(1,Math.ceil(r.view.meta.total/l)))}this.syncTotalsInSameViews(t,r)}r.view.updatedAt=Date.now()}else this.markViewStaleForReload(r);r.view.loadId=$e(),r.view.abortController&&(r.view.abortController.abort(),r.view.abortController=void 0)}}handleUpdate(t,r,n,i,o,a,s,c,l){let u=r.view.value.includes(c.id),d=this.isEntityTypeCompatible(c,r.params?.itemType||"all");if(u&&!d){if(r.view.value=r.view.value.filter(m=>m!==c.id),r.view.meta&&typeof r.view.meta.total=="number"&&(r.view.meta.total=Math.max(0,r.view.meta.total-1),o&&Number.isFinite(i)&&typeof r.view.meta.total=="number")){let m=i;m>0&&(r.view.meta.totalPages=Math.max(1,Math.ceil(r.view.meta.total/m)))}if(r.view.updatedAt=Date.now(),o&&r.view.value.length<i&&l){let m=r.view.meta,p=m&&typeof m.totalPages=="number"?m.totalPages:1;if(this.cascadeShiftPages(t,r,n,i,p,l,r.params??{})&&r.view.meta&&typeof r.view.meta.totalPages=="number"){let g=Math.max(1,r.view.meta.totalPages-1);r.view.meta.totalPages=g,this.updateTotalPagesForAllViews(t,g)}}r.view.loadId=$e(),r.view.abortController&&(r.view.abortController.abort(),r.view.abortController=void 0);return}if(u&&(a||s)){r.view.value=r.view.value.filter(m=>m!==c.id),this.tryReinsertEntity(r,c,l,o,i)?(r.view.updatedAt=Date.now(),r.view.loadId=$e(),r.view.abortController&&(r.view.abortController.abort(),r.view.abortController=void 0)):this.markViewStaleForReload(r);return}if(u){r.view.updatedAt=Date.now(),r.view.loadId=$e(),r.view.abortController&&(r.view.abortController.abort(),r.view.abortController=void 0);return}if(d&&!s){if(a&&this.strategy.allowSortedInsert&&this.strategy.comparator&&l)if(this.tryInsertSorted(r,c,l)){if(r.view.meta&&typeof r.view.meta.total=="number"){if(r.view.meta.total+=1,o&&Number.isFinite(i)){let m=i;m>0&&(r.view.meta.totalPages=Math.max(1,Math.ceil(r.view.meta.total/m)))}this.syncTotalsInSameViews(t,r)}r.view.updatedAt=Date.now()}else this.markViewStaleForReload(r);else if(!o||r.view.value.length<i){if(r.view.value.push(c.id),r.view.meta&&typeof r.view.meta.total=="number"){if(r.view.meta.total+=1,o&&Number.isFinite(i)){let m=i;m>0&&(r.view.meta.totalPages=Math.max(1,Math.ceil(r.view.meta.total/m)))}this.syncTotalsInSameViews(t,r)}r.view.updatedAt=Date.now()}else this.markViewStaleForReload(r);r.view.loadId=$e(),r.view.abortController&&(r.view.abortController.abort(),r.view.abortController=void 0)}}handleMove(t,r,n,i,o,a,s,c,l){if(r.view.value.includes(s.id)){if(r.view.value=r.view.value.filter(u=>u!==s.id),r.view.meta&&typeof r.view.meta.total=="number"&&(r.view.meta.total=Math.max(0,r.view.meta.total-1),o&&Number.isFinite(i)&&typeof r.view.meta.total=="number")){let u=i;u>0&&(r.view.meta.totalPages=Math.max(1,Math.ceil(r.view.meta.total/u)))}if(r.view.updatedAt=Date.now(),o&&r.view.value.length<i&&l){let u=r.view.meta,d=u&&typeof u.totalPages=="number"?u.totalPages:1;if(this.cascadeShiftPages(t,r,n,i,d,l,r.params??{})&&r.view.meta&&typeof r.view.meta.totalPages=="number"){let m=Math.max(1,r.view.meta.totalPages-1);r.view.meta.totalPages=m,this.updateTotalPagesForAllViews(t,m)}}this.syncTotalsInSameViews(t,r)}r.view.loadId=$e(),r.view.abortController&&(r.view.abortController.abort(),r.view.abortController=void 0)}forceInvalidateChildrenViews(t){let r=this.parentKey(t??null);this.failedRequests.clearChildrenViewErrorsForParent(r);let n=this.views.get(r);if(n)for(let[,i]of n)i.view.value=void 0,i.view.meta=void 0,i.view.promise=null,i.view.updatedAt=0,i.view.loadId=$e(),i.view.abortController&&(i.view.abortController.abort(),i.view.abortController=void 0)}getKnownTotal(t){let r=this.parentKey(t??null),n=this.views.get(r);if(!n)return;let i=null;for(let[,o]of n){let a=o.view.meta;a&&typeof a.total=="number"&&(!i||(o.view.updatedAt??0)>i.updatedAt)&&(i={total:Number(a.total),updatedAt:o.view.updatedAt??0})}return i?i.total:void 0}toJSON(){return{views:Array.from(this.views.entries()).map(([t,r])=>[t,Array.from(r.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,r){let n=r?.ttl??t?.ttl??18e5,i=r?.errorTtl??t?.errorTtl??n,o=r?.failedRequests??new cn,a=new j0({},n,i,void 0,o,r?.isFolderNotFoundError);for(let[s,c]of t.views??[]){let l=new Map;for(let[u,d]of c){let m=d;m?.view&&"error"in m.view&&delete m.view.error,l.set(u,m)}a.views.set(s,l)}return a}},v2=class M0{invalidateChildrenCountCache(t){let r=je(t??"");this.childrenCountPromises.delete(r),this.failedRequests.delete(cn.childrenCountKey(r))}constructor(t={},r=fu,n,i){this.childrenCountPromises=new Map,this.isFolderNotFoundError=i?.isFolderNotFoundError??Db,this.failedRequests=new cn,this.ttl=i?.ttl??r,this.errorTtl=i?.errorTtl??n??this.ttl,this.entities=new Lb,this.views=new Fb(t,this.ttl,this.errorTtl,void 0,this.failedRequests,this.isFolderNotFoundError),this.views.setServerChildrenCountHandler((o,a,s)=>{this.handleServerReportedChildrenCount(o,a,s??this.entities)}),this.views.setChildrenCountInvalidator(o=>{this.invalidateChildrenCountCache(o)})}getEntity(t){return this.entities.getEntity(t)??null}getFileSystemItem(t){return this.entities.getFileSystemItem(t)??null}getFolder(t){return this.entities.getFolder(t)??null}async getOrCreateChildren(t,r,n){return this.views.getOrCreateChildren(t,r,n,this.entities)}upsertEntity(t){let r=this.entities.getEntity(t.id),n=r?Ye(r):null,i=Ye(t),o=r?fe(r):!1,a=fe(t);if(this.entities.upsertEntity(t),r){if(n!==i||o!==a){this.views.smartInvalidateChildrenViews(n,r,"delete",this.entities),this.views.smartInvalidateChildrenViews(i,t,"insert",this.entities);return}this.views.smartInvalidateChildrenViews(i,t,"update",this.entities,void 0,r)}else this.views.smartInvalidateChildrenViews(i,t,"insert",this.entities)}isAncestor(t,r){let n=r,i=new Set;for(;n&&!i.has(n);){if(i.add(n),je(n)===je(t))return!0;let o=this.entities.getEntity(n);if(!o)break;n=Ye(o),n===null&&(n=Nb)}return!1}moveEntity(t,r){let n=this.entities.getEntity(t);if(!n||fe(n)&&r!==null&&this.isAncestor(t,r))return null;let i=Ye(n),o=this.entities.moveEntityById(t,r);return o?(this.views.smartInvalidateChildrenViews(i,n,"delete",this.entities),this.views.smartInvalidateChildrenViews(r,o,"insert",this.entities),o):null}copyEntity(t,r,n,i){let o=this.entities.getEntity(t);if(!o)return null;let a=null;if(fe(o)){let s=[t],c=[];for(;s.length;){let u=s.shift();c.push(u);let d=this.entities.getChildrenIds(u,{onlyFolders:!0});for(let m of d)s.push(m)}let l=new Map;for(let u of c)l.set(u,$e());for(let u of c){let d=this.entities.getFolder(u),m=l.get(u),p=Ye(d),g=p===null?r:l.get(p)??null,h={...d,...u===t?i:void 0,id:m,folderId:(u===t?i?.folderId:void 0)??g};this.entities.upsertEntity(h)}for(let u of c){let d=l.get(u),m=this.entities.getChildrenIds(u,{onlyFileSystemItems:!0});for(let p of m){let g=this.entities.getFileSystemItem(p);if(!g)continue;let h=$e(),v={...g,id:h,folderId:d};this.entities.upsertEntity(v)}}a=this.entities.getEntity(l.get(t))??null}else{let s=n??$e();if(a=this.entities.copyFileSystemItem(t,s,r??null),a&&i){let c={...a,...i,id:s,folderId:i.folderId??r??null};this.entities.upsertEntity(c),a=c}}return a&&this.views.smartInvalidateChildrenViews(r,a,"copy",this.entities),a}searchByUrl(t){return this.entities.searchByUrl(t)??null}deleteEntity(t){let r=this.entities.getEntity(t);if(!r)return null;if(fe(r)){let{deletedFolderRecords:n,deletedFileSystemItemRecords:i}=this.entities.deleteFolderRecursive(t);for(let o of i)this.views.smartInvalidateChildrenViews(o.folderId,o,"delete",this.entities);for(let o of n)this.views.smartInvalidateChildrenViews(o.folderId,o,"delete",this.entities);for(let o of n)this.views.forceInvalidateChildrenViews(o.id);return r}{let{entity:n,parentId:i}=this.entities.deleteEntityById(t);return n&&this.views.smartInvalidateChildrenViews(i,n,"delete",this.entities),n}}deleteFolderRecursive(t){let{deletedFolderRecords:r,deletedFileSystemItemRecords:n}=this.entities.deleteFolderRecursive(t);for(let i of n)this.views.smartInvalidateChildrenViews(i.folderId,i,"delete",this.entities);for(let i of r)this.views.smartInvalidateChildrenViews(i.folderId,i,"delete",this.entities);for(let i of r)this.views.forceInvalidateChildrenViews(i.id);return{deletedFileSystemItemIds:n.map(i=>i.id),deletedFolderIds:r.map(i=>i.id)}}forceInvalidate(t){let r=this.entities.getEntity(t);if(!r){this.views.forceInvalidateChildrenViews(t??null),this.invalidateChildrenCountCache(t);return}let n=new Set;if(fe(r)){let i=[t];for(;i.length;){let o=i.pop();if(n.has(o))continue;n.add(o),this.views.forceInvalidateChildrenViews(o),this.invalidateChildrenCountCache(o);let a=this.entities.getChildrenIds(o,{onlyFolders:!0});for(let s of a)i.push(s)}}else{let i=r.folderId??null;this.views.forceInvalidateChildrenViews(i),this.invalidateChildrenCountCache(i)}}invalidateListingViews(t){this.views.forceInvalidateChildrenViews(t??null)}getChildrenIds(t){return this.entities.getChildrenIds(t)}searchByName(t,r){return this.entities.searchByName(t,r)}async getChildrenCount(t="",r){let n=je(t),i=cn.childrenCountKey(n),o=this.failedRequests.getFreshError(i,this.errorTtl);if(o!=null)return Promise.reject(o);let a=this.childrenCountPromises.get(n);if(a)return a;let s=(async()=>{try{let c=this.entities.getFolder(t);if(c&&typeof c.childrenCount=="number")return this.failedRequests.delete(i),c.childrenCount;let l=this.views.getKnownTotal(t);if(typeof l=="number")return c&&this.handleServerReportedChildrenCount(t,l,this.entities),this.failedRequests.delete(i),l;if(r){let u=await r(t);return this.entities.getFolder(t)&&this.handleServerReportedChildrenCount(t,u,this.entities),this.failedRequests.delete(i),u}return this.failedRequests.delete(i),this.entities.getChildrenIds(t).length}catch(c){if(this.childrenCountPromises.delete(n),this.isFolderNotFoundError(c))return this.failedRequests.delete(i),0;throw this.failedRequests.setError(i,c),c}finally{this.childrenCountPromises.delete(n)}})();return this.childrenCountPromises.set(n,s),s}toJSON(){return{entities:this.entities.toJSON(),views:this.views.toJSON(),ttl:this.ttl,errorTtl:this.errorTtl}}static fromJSON(t,r,n){let i=n?.ttl??t?.ttl??18e5,o=n?.errorTtl??t?.errorTtl??i,a=new M0(r??{},i,o,n),s=Lb.fromJSON(t?.entities??{}),c=Fb.fromJSON(t?.views??{},{failedRequests:a.failedRequests,ttl:i,errorTtl:o,isFolderNotFoundError:n?.isFolderNotFoundError});if(r){let l=kb(r);c.strategy={allowSortedInsert:l.allowSortedInsert??!0,allowSearchInsert:l.allowSearchInsert??!0,invalidateOnPaginationFull:l.invalidateOnPaginationFull??!0,preloadPagesBefore:l.preloadPagesBefore??0,preloadPagesAfter:l.preloadPagesAfter??1,comparator:l.comparator,filterMatch:l.filterMatch}}return a.entities=s,a.views=c,c.setServerChildrenCountHandler((l,u,d)=>{a.handleServerReportedChildrenCount(l,u,d??s)}),c.setChildrenCountInvalidator(l=>{a.invalidateChildrenCountCache(l)}),a}handleServerReportedChildrenCount(t,r,n){this.checkAndResolveChildrenCountConflict(t,r,n),this.invalidateChildrenCountCache(t)}checkAndResolveChildrenCountConflict(t,r,n){if(!n||r===void 0)return;let i=t??null;if(!i){n.updateServerChildrenCount(i,r);return}let o=n.getFolder(i)?.childrenCount;o!==void 0&&o!==r&&this.views.forceInvalidateChildrenViews(i),n.updateServerChildrenCount(i,r)}},b2="",E2="Trash",w2="Edited",xb=1e4,Bb=1e4,Ub=25,$b=10,Ri=100,S2=1e3;function za(e,t){let r=e??{},n=Array.isArray(r.detailed)?r.detailed.map(i=>({requestId:i.requestId??i.id,success:!!i.success,data:t(i.data),error:i.error})):void 0;return{success:!!r.success,error:r.error,detailed:n}}function pu(e){return e==null?"":String(e)}function ge(e){return{...e,name:pu(e.name)}}function P2(e){return(e??[]).map(ge)}function Qt(e){return!e||typeof e!="object"||!("name"in e)?e:{...e,name:pu(e.name)}}function I2(e,t){let r=e.lastIndexOf("."),n=r>0?e.slice(0,r):e,i=r>0?e.slice(r):"";for(let o=1;;o++){let a=`${n} (${o})${i}`;if(!t(a))return a}}function T2(e){return e?e.replaceAll("\\","/").split("/").filter(Boolean):[]}var qb=class{_getTrashPath(){return this._pathOptions.trashPath||E2}_getPathLookupCandidates(e){return jb(e,this._getTrashPath(),yt)}_folderFromResolvedPath(e,t){if(e.isFolder!==!0)throw new W(e.isFolder===!1?"Path '%s' resolves to a file, not a folder".replace("%s",t):"Path '%s' resolved to an item that is not marked as a folder".replace("%s",t),"ValidationError");if(!e.id)throw new W("Path '%s' resolved to a folder without id".replace("%s",t),"ValidationError");let r={id:e.id,name:e.name||e.id,parentId:e.folderId};return this._cache.upsertEntity(ge({id:r.id,name:r.name,folderId:r.parentId??null,isFolder:!0})),r}async _resolveFolderByPath(e){if(typeof this._dataProvider.findItemByPath=="function")for(let t of this._getPathLookupCandidates(e)){let r=await this._dataProvider.findItemByPath(t);if(r)return this._folderFromResolvedPath(r,t)}}async _findOrCreateFolderByPath(e){let t=T2(e);if(t.length>$b)throw new W("Path depth exceeds maximum limit of %s".replace("%s",String($b)),"ValidationError");let r=await this._resolveFolderByPath(e);if(r)return r;let n;for(let i of t){let{files:o}=await this.getFiles({folderId:n?.id||"",itemType:"folder"}),a=o.find(s=>s.name===i);if(a){if(!a.isFolder)throw new W("Path component '%s' in '%s' is not a folder".replace("%s",i).replace("%s",e),"ValidationError");n={id:a.id,name:a.name,parentId:a.folderId}}else{if(typeof this._dataProvider.createFolder!="function")throw new W("Create folder operation is not supported by data provider","UnsupportedOperation");n=await this.createFolder({name:i,parentId:n?.id})}}return n}async getTrashFolder(){let e=await this._findOrCreateFolderByPath(this._getTrashPath());if(!e)throw new W("Trash folder path '%s' could not be resolved".replace("%s",this._getTrashPath()),"FolderNotFound");return e}async getTempFolder(){let e=this._pathOptions.tempPath??w2;if(e)try{return await this._findOrCreateFolderByPath(e)}catch(t){if(t instanceof W&&t.code==="ValidationError")throw t;return}}constructor(e,t={},r,n={}){this._dataProvider=e,this._options=t,this._pathOptions=r,this._blobFetchForceReloadOnceIds=new Set,this._mutationRegistry=new l2,this._mapItem=async({childrenCount:o,...a})=>{let s=ge(a);if(s.isFolder)return{...s,childCount:o,url:"",thumbnailUrl:""};let[c,l]=await Promise.all([this._getUrl(s),this._getThumbnailUrl(s)]);return{...s,childCount:0,url:c,thumbnailUrl:l}},this._config=n,this._useSoftDelete=this._pathOptions.useSoftDelete,this._trashSupportsFolders=this._pathOptions.trashSupportsFolders!==!1,this._rootId=this._pathOptions.rootId||b2,this._enableTrash=this._options.enableTrash===void 0||this._options.enableTrash,this._validateDuplicates=this._dataProvider.validateDuplicates,this._cache=new v2(t.cacheStrategy||{},t.cacheStrategy?.ttl,t.cacheStrategy?.errorTtl),this.setController({invalidateItemCache:o=>{this._cache.forceInvalidate(o)},getCachedItem:o=>this._cache.getEntity(o)});let i=Object.getPrototypeOf(this);for(let o of Object.getOwnPropertyNames(i)){let a=Object.getOwnPropertyDescriptor(i,o);o!=="constructor"&&typeof a?.value=="function"&&(this[o]=a.value.bind(this))}}setController(e){typeof this._dataProvider.setController=="function"&&this._dataProvider.setController(e)}async clearCache(e){let t=e??this._rootId;this._cache.forceInvalidate(t),this._cache.invalidateListingViews(t),typeof this._dataProvider.clearCache=="function"&&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),r=new Set([t]);if(!this._cache.getEntity(t)?.isFolder)return Array.from(r);let n=[t];for(;n.length>0;){let i=n.pop(),o=this._cache.getChildrenIds(i);for(let a of o)r.has(a)||(r.add(a),this._cache.getEntity(a)?.isFolder&&n.push(a))}return Array.from(r)}_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)throw new W(t?"Folder name cannot be empty":"File name cannot be empty",t?"FolderInvalidName":"FileInvalidName");if(/[/\\:*?"<>|]/.test(e)){let r=t?"FolderInvalidName":"FileInvalidName";throw new W(t?"Folder name contains invalid characters: %s".replace("%s",e):"File name contains invalid characters: %s".replace("%s",e),r)}}_validateTargetFolderType(e){let t=this.normalizeId(e);if(t===this._rootId)return;let r=this._cache.getEntity(t);if(r&&!r.isFolder)throw new W("Target item with id '%s' is not a folder".replace("%s",e),"ValidationError")}_checkNameExistsInCache(e,t,r,n){let i=this.normalizeId(e),o=this._cache.getChildrenIds(i);for(let a of o){let s=this._cache.getEntity(a);if(s&&s.name===t&&!!s.isFolder===r&&(!n||s.id!==n))return!0}return!1}async _getUrl(e){if(e){if(e.url)return e.url;try{return typeof this._dataProvider?.getUrl=="function"&&this._dataProvider.getUrl(e)||void 0}catch{}}}async _getThumbnailUrl(e){if(e){if(e.thumbnailUrl)return e.thumbnailUrl;try{return typeof this._dataProvider?.getThumbnailUrl=="function"&&this._dataProvider.getThumbnailUrl(e)||void 0}catch{}}}_isAncestor(e,t){if(!t)return!1;let r=this.normalizeId(t),n=this.normalizeId(e);if(r===n)return!0;let i=this._cache.getEntity(r),o=new Set;for(;i&&i.folderId&&!o.has(i.id);){o.add(i.id);let a=this.normalizeId(i.folderId);if(a===n)return!0;if(i=this._cache.getEntity(a),!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 r=this._cache.getFileSystemItem(t);if(r&&!r.isFolder)return await this._mapItem(r);if(!this._dataProvider.pathMode)return null;let n=await this._getFileByPathStyleId(t);if(n&&!n.isFolder){let i=ge(n);return this._cache.upsertEntity(i),await this._mapItem(i)}return null}async _getFileByPathStyleId(e){let t=e.replace(/\\/g,"/").replace(/^\/+/,""),r=t.lastIndexOf("/"),n=r<0?"":t.slice(0,r),i=r<0?t:t.slice(r+1);return i?this.getFile(n,i):null}async getFileUrl(e,t){let r=await this.getFile(e??"",t);if(r)return await this._getUrl(r)||await this._getThumbnailUrl(r)||r.thumbnail}async getFiles({folderId:e,search:t,sortBy:r,sortOrder:n,page:i,limit:o,itemType:a="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?xb:o,m=this._options.clientSideFilter,p=this._options.clientSideSorting,g=this._options.clientSidePaging,h=g?Math.max(1,i??1):void 0,v=g?typeof o=="number"&&Number.isFinite(o)&&o>0?o:Ub:void 0,E=this._emptyFilesResult(g?h:u,g?v:d);if(this._isDeletingId(c))return E;let C=this._options.unifiedCatalogFetch!==!1&&l&&(a==="folder"||a==="file"),b=C?"all":a,w={folderId:c,itemType:b};m||(w.search=t),p||(w.sortBy=r??(b==="folder"?void 0:"date"),w.sortOrder=n??(b==="folder"?void 0:"desc")),g||(w.page=u,w.limit=C?Bb:d);let I=C?Bb:g?void 0:d,y={folderId:c,itemType:b,search:m?void 0:t,sortBy:p?void 0:w.sortBy,sortOrder:p?void 0:w.sortOrder,page:g?void 0:u,pageSize:I},T;try{T=await this._cache.getOrCreateChildren(c,y,async(R,D)=>{let N=D.pageSize,x=N!=null&&Number.isFinite(Number(N))?Number(N):xb,L=await this._dataProvider.getItems({...D,folderId:R,limit:x}),q=P2(L.items);return g?{items:q,total:typeof L.pagination?.total=="number"?L.pagination.total:q.length}:{items:q,...L.pagination}})}catch(R){if(this._isDeletingId(c))return E;throw R}let S=T.items;if(C&&(a==="folder"?S=S.filter(R=>R.isFolder):a==="file"&&(S=S.filter(R=>!R.isFolder))),m){if(typeof this._options.clientSideFilter=="function")S=this._options.clientSideFilter(S,t);else if(t){let R=t.toLowerCase();S=S.filter(D=>D.name?.toLowerCase().includes(R))}}p&&(S=typeof this._options.clientSideSorting=="function"?this._options.clientSideSorting(S,r,n):this._defaultClientSideSort(S,r,n));let A;A=g||m||C?S.length:T.total??S.length;let j=S;if(g)if(typeof this._options.clientSidePaging=="function")j=this._options.clientSidePaging(S,h,v);else{let R=(h-1)*v,D=R+v;j=S.slice(R,D)}if(typeof this._dataProvider.getUrl=="function"||typeof this._dataProvider.getThumbnailUrl=="function"){let R=j.map(async D=>{if(D.isFolder)return D;let[N,x]=await Promise.all([D.url?Promise.resolve(D.url):typeof this._dataProvider.getUrl=="function"?this._dataProvider.getUrl(D):Promise.resolve(void 0),D.thumbnailUrl?Promise.resolve(D.thumbnailUrl):typeof this._dataProvider.getThumbnailUrl=="function"?this._dataProvider.getThumbnailUrl(D):Promise.resolve(void 0)]);return{...D,url:N,thumbnailUrl:x}});j=await Promise.all(R)}let O=g?{page:h,limit:v,total:A,totalPages:Math.max(1,Math.ceil(A/v)),hasNext:h*v<A,hasPrev:h>1}:{page:u,limit:d,total:A,...!g&&T.totalPages&&{totalPages:T.totalPages},...!g&&T.hasNextPage&&{hasNextPage:T.hasNextPage}};return{files:await Promise.all(j.map(this._mapItem)),pagination:O}}_defaultClientSideSort(e,t,r){return e.sort((n,i)=>Ab(n,i,{sortBy:t,sortOrder:r}))}async getFileData(e,t){let r=this.normalizeId(typeof e=="string"?e:e.id),n=t;this._blobFetchForceReloadOnceIds.delete(r)&&(n={...t,forceReload:!0});let i=this._cache.getEntity(r)||(typeof e=="string"?{id:r,name:"",folderId:this._rootId,isFolder:!1}:{...e,childrenCount:e.childCount});if(typeof this._dataProvider.getFileData=="function")return await this._dataProvider.getFileData(i,n);if(!i.url&&typeof this._dataProvider.getUrl!="function")throw new W("Cannot read file","FileReadError");let o=i.url||(typeof this._dataProvider.getUrl=="function"?await this._dataProvider.getUrl(i):"");if(o)return(await(this._config.fetchWithProxy??fetch)(o,n?.forceReload?{cache:"no-store"}:void 0)).blob();throw new W("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 r=await this._dataProvider.findFileByUrl(e);if(r){let n=ge(r);return this._cache.upsertEntity(n),n}}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 n=await this.getFiles({folderId:t,itemType:"all",page:1,limit:Ub});return n.pagination.total??n.files.length}let r=await this._dataProvider.getItems({folderId:t,limit:0,itemType:"all"});return r.pagination===void 0?this._options.enablePagination===!1?r.items.length:0:r.pagination.total||0}catch(r){if(this._isDeletingId(t)||this._isPathFolderNotFoundError(r))return 0;throw r}})}_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);if(typeof this._dataProvider.uploadFile!="function")throw new W("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 W("File '%s' already exists in target folder".replace("%s",e.name),"FileAlreadyExists");let r=await this._dataProvider.uploadFile({...e,folderId:t}),n=ge({name:e.name,size:e.size,...r,folderId:r.folderId??t});return this._cache.upsertEntity(n),n}async uploadFiles(e){let t=e.items.some(a=>a.noFolder)?await this.getTempFolder():null;e={...e,items:e.items?.map(a=>({...a,folderId:a.noFolder?t?.id:a.folderId}))};for(let a of e.items)a.folderId&&(e.folderId=a.folderId);let r=e.items||[],n=e.folderId??this._rootId,i=this.normalizeId(n);if(this._validateDuplicates){for(let a of r)if(a.name){this._validateName(a.name,!1);let s=this.normalizeId(a.folderId??i);if(this._checkNameExistsInCache(s,a.name,!1))throw new W("File '%s' already exists in target folder".replace("%s",a.name),"FileAlreadyExists")}}let o={detailed:Array(r.length),success:!0};if(typeof this._dataProvider.uploadFiles=="function"){let a=r.map(l=>({...l,folderId:this.normalizeId(l.folderId??i)})),s=await this._dataProvider.uploadFiles({folderId:i,items:a});o=za(s,l=>{if(l)return{id:l.id,name:pu(l.name),folderId:l.folderId,url:l.url,thumbnailUrl:l.thumbnailUrl,thumbnail:l.thumbnail}});let c=s?.detailed;if(o.detailed&&o.detailed.length){for(let l=0;l<o.detailed.length;l++){let u=o.detailed[l];if(u&&u.success){let d=u.data,m=d?.id??u.requestId,p=c?.[l]?.data,g=ge({...p,...d,id:m,folderId:d?.folderId??p?.folderId??i,isFolder:!1});this._cache.upsertEntity(g),u.requestId=m}}o.success===void 0&&(o.success=!o.detailed.some(l=>!l.success))}else o.success=!o.error&&!!o.success}else if(typeof this._dataProvider.uploadFile=="function")o.detailed=await Promise.all(r.map(async a=>{let s=this.normalizeId(a.folderId??i);try{let c=await this._uploadFile({...a,folderId:s});return{requestId:c.id,data:c,success:!0}}catch(c){return{requestId:a?.id,success:!1,error:c}}})),o.success=!o.detailed.some(a=>!a.success);else throw new W("Upload files is not supported by data provider","UnsupportedOperation");if(o.success&&this._enableTrash)try{this._cache.forceInvalidate(i)}catch{}return o}async deleteFile(e){let t=this.normalizeId(e),r=[t];this._mutationRegistry.beginDeleting(r);try{if(this._useSoftDelete&&this._enableTrash){let n=await this.getTrashFolder();return await this.moveItem({itemId:t,targetFolderId:n.id,isFolder:!1})}return await this.hardDeleteItem(t)}finally{this._mutationRegistry.endDeleting(r)}}async deleteItems(e,t){let r=this._useSoftDelete&&this._enableTrash&&t.permanent!==!0,n=r&&!this._trashSupportsFolders?e.filter(a=>this._cache.getEntity(this.normalizeId(a))?.isFolder):[],i=await this._listFolderTreeFiles(n),o=Array.from(new Set(e.flatMap(a=>this._collectDeletingIds(this.normalizeId(a)))));this._mutationRegistry.beginDeleting(o);try{if(r){let a=await this.getTrashFolder(),s=e.filter(l=>!n.includes(l)),c=s.length>0?await this.moveItems(a.id,s):{success:!0,detailed:[]};for(let l of n){let u=await this._moveFolderFilesToTrash(l,i.get(l),a);c.detailed=[...c.detailed??[],u?{requestId:l,success:!0}:{requestId:l,success:!1,error:new W("Folder files could not be moved to trash","MoveNotAllowed")}],c.success=c.success&&u}return c}return await this.hardDeleteItems(e,t)}finally{this._mutationRegistry.endDeleting(o)}}async hardDeleteItems(e,t){let r={success:!0,detailed:[]},n=t.permanent?null:await this.getTrashFolder();if(typeof this._dataProvider.deleteItems=="function"){if(r=za(await this._dataProvider.deleteItems(e.map(i=>this._cache.getEntity(i)),t),i=>i),r.success){let i=r.detailed||e.map(o=>({requestId:o,success:!0,error:void 0}));for(let o of i)o.success&&(n?this._cache.moveEntity(o.requestId,n.id):this._cache.deleteEntity(o.requestId))}}else typeof this._dataProvider.deleteItem=="function"&&(r.detailed=await Promise.all(e.map(async i=>{let o=this._cache.getEntity(i);if(!o)return{requestId:i,success:!1,error:new W("Item with id '%s' not found".replace("%s",i),"FileNotFound")};try{return await this._dataProvider.deleteItem(o,t),n?this._cache.moveEntity(i,n.id):this._cache.deleteEntity(i),{requestId:i,success:!0}}catch(a){return{requestId:i,error:a,success:!1}}})),r.success=!r.detailed.some(i=>!i.success));if(r.success&&n)try{this._cache.forceInvalidate(n.id)}catch{}return r}async hardDeleteItem(e){let t=this._cache.getEntity(e);if(!t)throw new W("Item with id '%s' not found in cache".replace("%s",e),"FileNotFound");if(typeof this._dataProvider.deleteItem!="function")throw new W("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 r=await this.getTrashFolder();r&&this._cache.forceInvalidate(r.id)}catch{}return!0}async cleanTrash(){if(!this._enableTrash)throw new W("Trash is not enabled","UnsupportedOperation");if(typeof this._dataProvider.cleanTrash=="function"){let e=await this._dataProvider.cleanTrash();try{let t=await this.getTrashFolder();t&&this._cache.forceInvalidate(t.id)}catch{}return e}if(typeof this._dataProvider.deleteItems=="function"||typeof this._dataProvider.deleteItem=="function")return this._cleanTrashByDeletingItems();throw new W("Clean trash is not supported by data provider","UnsupportedOperation")}async _listAllItems(e){let t=new Map;for(let r=1;r<=S2;r++){let{files:n,pagination:i}=await this.getFiles({folderId:e,itemType:"all",page:r,limit:Ri}),o=t.size;if(n.forEach(a=>t.set(a.id,a)),t.size===o||i.hasNext===!1||typeof i.totalPages=="number"&&r>=i.totalPages||typeof i.total=="number"&&t.size>=i.total)return{items:Array.from(t.values()),complete:!0}}return{items:Array.from(t.values()),complete:!1}}async _listFolderTreeFiles(e){let t=new Map;for(let r of e){let n={files:[],folders:[r]},i=!0;for(let o=0;o<n.folders.length&&i;o++){let a=await this._listAllItems(n.folders[o]);i=a.complete;for(let s of a.items)s.isFolder?n.folders.push(s.id):n.files.push(s)}t.set(r,i?n:void 0)}return t}async _moveFolderFilesToTrash(e,t,r){if(!t)return!1;try{return await this._moveFolderFilesToTrashUnsafe(e,t,r)}catch{return!1}}async _moveFolderFilesToTrashUnsafe(e,{files:t,folders:r},n){let i=await this._listAllItems(n.id);if(!i.complete)return!1;let o=new Set(i.items.filter(s=>!s.isFolder).map(s=>s.name));for(let s of t){let c=s.name;o.has(c)&&typeof this._dataProvider.renameItem=="function"&&(c=I2(s.name,l=>o.has(l)||this._checkNameExistsInCache(s.folderId,l,!1,s.id)),await this.renameFile(s.id,c)),o.add(c)}let a=t.map(s=>s.id);for(let s=0;s<a.length;s+=Ri){let c=await this.moveItems(n.id,a.slice(s,s+Ri));if(!c.success||c.detailed?.some(l=>!l.success))return!1}try{this._cache.forceInvalidate(n.id)}catch{}for(let s of[...r].reverse())if(!(await this.hardDeleteItems([s],{permanent:!0})).success)return!1;return this._cache.deleteFolderRecursive(e),!0}async _cleanTrashByDeletingItems(){let e=await this.getTrashFolder(),t=await this._listAllItems(e.id),r=new Set(t.items.map(a=>a.id)),n=0,i=t.complete,o=Array.from(r);for(let a=0;a<o.length;a+=Ri){let s=o.slice(a,a+Ri),c=await this.deleteItems(s,{permanent:!0}),l=c.detailed?c.detailed.filter(u=>u.success).length:c.success?s.length:0;n+=l,i=i&&c.success&&l===s.length}try{this._cache.forceInvalidate(e.id)}catch{}return{success:i,deletedCount:n}}async createFolder({name:e,parentId:t,is_force_create:r}){let n=this.normalizeId(t??this._rootId);if(this._validateName(e,!0),this._validateDuplicates&&this._checkNameExistsInCache(n,e,!0))throw new W("Folder '%s' already exists in parent folder".replace("%s",e),"FolderAlreadyExists");let i=await this._dataProvider.createFolder(e,n,r),o=ge({id:i.id,folderId:n,name:i.name,isFolder:!0,childrenCount:i.childrenCount});return this._cache.upsertEntity(o),{...i,name:o.name}}async deleteFolder(e){let t=this.normalizeId(e),r=this._useSoftDelete&&this._enableTrash&&!this._trashSupportsFolders,n=r?await this._listFolderTreeFiles([t]):void 0,i=this._collectDeletingIds(t);this._mutationRegistry.beginDeleting(i);try{if(r){let o=await this.getTrashFolder();return await this._moveFolderFilesToTrash(t,n?.get(t),o)}if(this._useSoftDelete&&this._enableTrash)try{let o=await this.getTrashFolder();return await this.moveItem({itemId:t,targetFolderId:o.id,isFolder:!0})?(this._cache.deleteFolderRecursive(t),!0):!1}catch{return await this.hardDeleteItem(t)}return await this.hardDeleteItem(t)}finally{this._mutationRegistry.endDeleting(i)}}async renameFolder(e,t){if(typeof this._dataProvider.renameItem!="function")throw new W("Rename folder is not supported","RenameNotAllowed");let r=this.normalizeId(e),n=this._cache.getEntity(r);if(!n)throw new W("Folder with id '%s' not found in cache".replace("%s",e),"FolderNotFound");if(this._validateName(t,!0),this._validateDuplicates){let o=this.normalizeId(n.folderId);if(this._checkNameExistsInCache(o,t,!0,r))throw new W("Folder '%s' already exists in parent folder".replace("%s",t),"FolderAlreadyExists")}let i=Qt(await this._dataProvider.renameItem(n,t));return this._cache.upsertEntity(ge({...this._cache.getEntity(i.id),...i})),this._cache.getEntity(i.id)}async renameFile(e,t){if(typeof this._dataProvider.renameItem!="function")throw new W("Rename file is not supported","RenameNotAllowed");let r=this._cache.getEntity(e);if(!r)throw new W("File with id '%s' not found in cache".replace("%s",e),"FileNotFound");let n=this.normalizeId(e);if(this._validateName(t,!1),this._validateDuplicates){let o=this.normalizeId(r.folderId);if(this._checkNameExistsInCache(o,t,!1,n))throw new W("File '%s' already exists in parent folder".replace("%s",t),"FileAlreadyExists")}let i=Qt(await this._dataProvider.renameItem(r,t));return i&&this._cache.upsertEntity(ge({...this._cache.getEntity(n),...i})),this._cache.getEntity(n)}async moveItem({itemId:e,targetFolderId:t,isFolder:r}){if(typeof this._dataProvider.moveItem!="function")throw new W("Move item operation is not supported by data provider","MoveNotAllowed");let n=this.normalizeId(t);this._validateTargetFolderType(t);let i=this._cache.getEntity(e);if(!i){let a=Qt(await this._dataProvider.moveItem({id:e,folderId:n,isFolder:r},n));if(a.id===e)this._cache.upsertEntity(ge({...a,folderId:n}));else{try{this._cache.deleteEntity(e)}catch{}this._cache.upsertEntity(ge({...a,folderId:n}))}return!0}if(i.isFolder){if(e===n)throw new W("Cannot move folder into itself","MoveIntoSelf");if(this._isAncestor(e,n))throw new W("Cannot move folder into its descendant","MoveIntoDescendant")}if(this._validateDuplicates&&n!==this.normalizeId(i.folderId)&&i.name&&this._checkNameExistsInCache(n,i.name,!!i.isFolder,e)){let a=i.isFolder?"FolderAlreadyExists":"FileAlreadyExists";throw new W(`${i.isFolder?"Folder":"File"} '${i.name}' already exists in target folder`,a)}let o=Qt(await this._dataProvider.moveItem(i,n));if(o.id===e){let a=this._cache.moveEntity(e,n);return this._cache.upsertEntity(ge({...a,...o})),!0}{let a=this._cache.deleteEntity(e);return this._cache.upsertEntity(ge({...a,...o,folderId:n})),!0}}async moveItems(e,t){let r=this.normalizeId(e);this._validateTargetFolderType(e);let n=t.map(o=>this._cache.getEntity(o));for(let o of n)if(o){if(o.isFolder){if(o.id===r)throw new W("Cannot move folder '%s' into itself".replace("%s",o.name),"MoveIntoSelf");if(this._isAncestor(o.id,r))throw new W("Cannot move folder '%s' into its descendant".replace("%s",o.name),"MoveIntoDescendant")}if(this._validateDuplicates&&r!==this.normalizeId(o.folderId)&&o.name&&this._checkNameExistsInCache(r,o.name,!!o.isFolder,o.id)){let a=o.isFolder?"FolderAlreadyExists":"FileAlreadyExists";throw new W(`${o.isFolder?"Folder":"File"} '${o.name}' already exists in target folder`,a)}}let i={detailed:Array(n.length),success:!0};if(typeof this._dataProvider.moveItems=="function")i=za(await this._dataProvider.moveItems(n,r),o=>o);else if(typeof this._dataProvider.moveItem=="function")i.detailed=await Promise.all(t.map(async(o,a)=>{let s=n[a]||{id:o,folderId:null,isFolder:!1,name:o};try{return{requestId:o,data:Qt(await this._dataProvider.moveItem(s,r)),success:!0}}catch(c){return{requestId:o,success:!1,error:c}}}));else throw new W("Move items is not supported","MoveNotAllowed");if(i.success){let o=i.detailed||t.map(a=>({requestId:a,success:!0,data:void 0}));for(let a of o)if(a.success)if(!a.data||a.data.id===a.requestId)this._cache.moveEntity(a.requestId,r),a.data&&this._cache.upsertEntity(ge({...this._cache.getEntity(a.requestId),...a.data,folderId:r}));else{let s=this._cache.deleteEntity(a.requestId);this._cache.upsertEntity(ge({...s,...a.data,folderId:r}))}return i}return{success:!1,error:i.error||new W("Move items failed","MoveNotAllowed")}}async copyItem({itemId:e,targetFolderId:t}){if(typeof this._dataProvider.copyItem!="function")throw new W("Copy item is not supported","CopyNotAllowed");let r=this.normalizeId(t);this._validateTargetFolderType(t);let n=this._cache.getEntity(e);if(!n){let o=Qt(await this._dataProvider.copyItem({id:e,folderId:r},r));return this._cache.copyEntity(e,r,o.id),this._cache.upsertEntity(ge({...o,folderId:r})),!0}if(this._validateDuplicates&&n.name){let o=r===this.normalizeId(n.folderId)?e:void 0;if(this._checkNameExistsInCache(r,n.name,!!n.isFolder,o)){let a=n.isFolder?"FolderAlreadyExists":"FileAlreadyExists";throw new W(`${n.isFolder?"Folder":"File"} '${n.name}' already exists in target folder`,a)}}let i=Qt(await this._dataProvider.copyItem(n,r));return this._cache.copyEntity(e,r,i.id,{...i,folderId:r})||this._cache.upsertEntity(ge({...i,folderId:r})),!0}async copyItems(e,t){let r=this.normalizeId(e);this._validateTargetFolderType(e);let n=t.map(s=>typeof s=="string"?{id:s}:s),i=n.map(s=>s.id),o=i.map((s,c)=>{let l=this._cache.getEntity(s),u=n[c]?.newName;return l?u?{...l,name:u}:l:void 0});if(this._validateDuplicates)for(let s=0;s<o.length;s++){let c=o[s];if(c&&c.name){let l=r===this.normalizeId(c.folderId)?i[s]:void 0;if(this._checkNameExistsInCache(r,c.name,!!c.isFolder,l)){let u=c.isFolder?"FolderAlreadyExists":"FileAlreadyExists";throw new W(`${c.isFolder?"Folder":"File"} '${c.name}' already exists in target folder`,u)}}}let a={detailed:Array(o.length),success:!0};if(typeof this._dataProvider.copyItems=="function")a=za(await this._dataProvider.copyItems(o,r),s=>s);else if(typeof this._dataProvider.copyItem=="function")a.detailed=await Promise.all(i.map(async(s,c)=>{let l=o[c]||{id:s,folderId:null,isFolder:!1};try{return{requestId:s,data:Qt(await this._dataProvider.copyItem(l,r)),success:!0}}catch(u){return{requestId:s,success:!1,error:u}}}));else throw new W("Copy items is not supported","CopyNotAllowed");if(a.success&&a.detailed)for(let s=0,c=a.detailed.length;s<c;s++){let l=a.detailed[s];if(l.success&&l.data?.id){let u=l.data.folderId||r;!this._cache.copyEntity(l.requestId,u,l.data.id,{...l.data,folderId:u})&&l.data&&this._cache.upsertEntity(ge({...l.data,folderId:u}))}}else if(!a.detailed)throw new W("batchResult in copy method must have detailed results","ValidationError");return a}async uploadFileByUrl(e){if(e.noFolder){let r=await this.getTempFolder();e={...e,folderId:r?.id}}let t=this.normalizeId(e.folderId??this._rootId);try{let r=ge({...await this._dataProvider.uploadFileByUrl(e.url,t,{eventSource:e.eventSource}),folderId:t});return this._cache.upsertEntity(r),r}catch(r){throw r}}async updateFile(e,t){if(typeof this._dataProvider.updateFile!="function")throw new W("Update file is not supported","UnsupportedOperation");let r=this.normalizeId(e),n=this._cache.getEntity(r);if(!n)throw new W("File with id '%s' not found in cache".replace("%s",e),"FileNotFound");if(t.name&&t.name!==n.name&&this._validateName(t.name,!1),this._validateDuplicates&&t.name&&t.name!==n.name){let o=this.normalizeId(n.folderId);if(this._checkNameExistsInCache(o,t.name,!1,r))throw new W("File '%s' already exists in parent folder".replace("%s",t.name),"FileAlreadyExists")}let i=Qt(await this._dataProvider.updateFile(n,{...t}));return this._cache.upsertEntity(ge({...this._cache.getEntity(r),...i,...t})),this._cache.getEntity(r)}},O2="",C2="Trash",Gb=class{constructor(e,t=O2,r=yt,n=C2,i=!0){this._inner=e,this.rootPath=t,this.trashId=r,this.trashPath=n,this.ensureFolderTrailingSlash=i,this._pathToId=new Map,this._idToPath=new Map,this.validateDuplicates=this._inner.validateDuplicates??!1,typeof e.getUrl=="function"&&(this.getUrl=a=>e.getUrl({...a,id:this.pathForId(a.id,!1),folderId:a.folderId?this.pathForId(a.folderId,!0):this.rootPath})),typeof e.getThumbnailUrl=="function"&&(this.getThumbnailUrl=a=>e.getThumbnailUrl({...a,id:this.pathForId(a.id,!1),folderId:a.folderId?this.pathForId(a.folderId,!0):this.rootPath}));let o=this;typeof this._inner.deleteItems!="function"&&(o.deleteItems=void 0),typeof this._inner.deleteItem!="function"&&(o.deleteItem=void 0),typeof this._inner.moveItems=="function"?o.moveItem=void 0:o.moveItems=void 0,typeof this._inner.copyItems=="function"?o.copyItem=void 0:o.copyItems=void 0,typeof this._inner.uploadFiles=="function"?o.uploadFile=void 0:o.uploadFiles=void 0,typeof this._inner.clearCache!="function"&&(o.clearCache=void 0),typeof this._inner.cleanTrash!="function"&&(o.cleanTrash=void 0),this._getOrGenerateId(this.rootPath)}setController(e){typeof this._inner.setController=="function"&&this._inner.setController({invalidateItemCache:t=>{let r=t.replace(/^\/+|\/+$/g,""),n=this._pathToId.get(r);n&&e.invalidateItemCache(n)},getCachedItem:t=>{let r=t.replace(/^\/+|\/+$/g,""),n=this._pathToId.get(r);if(n){let i=e.getCachedItem(n);if(i)return{...i,id:this.pathForId(i.id,i.isFolder??!1),folderId:this.pathForId(i.folderId??"",i.isFolder??!1)}}}})}clearCache(e){if(typeof this._inner.clearCache=="function")return this._inner.clearCache(e)}findItemByPath(e){if(typeof this._inner.findItemByPath!="function")return;let t=(n,i,o)=>{if(!n)return;if(n.isFolder!==!0)return n;let a=Qe(Qe(o)===Qe(this.trashPath)?this.trashPath:i),s=n.folderId!=null&&n.folderId!==""?Qe(n.folderId):this.rootPath;return{...n,id:this._getOrGenerateId(a),name:n.name,folderId:s===Qe(this.rootPath)?this.rootPath||"":this._getOrGenerateId(s),isFolder:!0}},r=jb(e,this.trashPath,this.trashId);return(async()=>{for(let n of r){let i=await Promise.resolve(this._inner.findItemByPath(n)),o=t(i,n,e);if(o)return o}})()}_getOrGenerateId(e){if(e===this.rootPath)return"";let t=Qe(e);if(t===Qe(this.trashPath))return this.trashId;if(this._pathToId.has(t))return this._pathToId.get(t);let r=$e();return this._pathToId.set(t,r),this._idToPath.set(r,t),r}pathForId(e,t,r){if(e===""||e===void 0)return this.rootPath;if(e===this.trashId)return this.trashPath;let n=this._idToPath.get(e);if(!n){if(r)return`unknown folder ${e}`;throw new W(`Path for id '${e}' not found in mapping`,"FileNotFound")}let i=0;for(;i<this.rootPath.length&&this.rootPath[i]==="/";)i++;if(i){let o=0;for(;o<n.length&&n[o]==="/";)o++;let a=n.slice(o);n="/".repeat(i)+a}return t&&this.ensureFolderTrailingSlash&&!n.endsWith("/")&&(n+="/"),n}_updateIdMapping(e,t){let r=t.replace(/^\/+|\/+$/g,""),n=this._idToPath.get(e);n&&this._pathToId.delete(n),this._idToPath.set(e,r),this._pathToId.set(r,e)}async getItems(e){let t=e.folderId?this.pathForId(e.folderId,!0):this.rootPath,r=await this._inner.getItems({...e,folderId:t}),n=r.items.map(i=>{let o=this._getOrGenerateId(i.id),a=i.folderId?this._getOrGenerateId(i.folderId):this._getOrGenerateId(this.rootPath);return{...i,id:o,folderId:a}});return{...r,items:n}}async createFolder(e,t,r){let n=t?this.pathForId(t,!0):this.rootPath,i=await this._inner.createFolder(e,n,r),o=this._getOrGenerateId(i.id),a=i.folderId?this._getOrGenerateId(i.folderId):this._getOrGenerateId(this.rootPath);return{...i,id:o,folderId:a}}async renameItem(e,t){if(typeof this._inner.renameItem!="function")throw new W("Rename item is not supported by inner storage","RenameNotAllowed");let r=this.pathForId(e.id,e.isFolder??!1),n=r,{...i}=await this._inner.renameItem({...e,id:r,folderId:this.pathForId(e.folderId??"",!0)},t);return this._updateIdMapping(e.id,i.id),e.isFolder&&this.remapCachedFolderContents(e.id,n,i.id),i.folderId&&(i={...i,folderId:this._getOrGenerateId(i.folderId)}),{...i,id:this._getOrGenerateId(i.id)}}async deleteItem(e,t){if(typeof this._inner.deleteItem!="function")throw new W("Delete item is not supported by inner storage","DeleteNotAllowed");let r=this.pathForId(e.id,e.isFolder??!1);await this._inner.deleteItem({...e,id:r,folderId:this.pathForId(e.folderId??"",!0)},t),this.recursivelyRemoveMappings(e.id,r)}async uploadFile(e){if(typeof this._inner.uploadFile!="function")throw new W("Upload file is not supported by inner storage","UnsupportedOperation");let t=e.folderId?this.pathForId(e.folderId,!0):this.rootPath,r=await this._inner.uploadFile({...e,folderId:t}),n=this._getOrGenerateId(r.id),i=r.folderId?this._getOrGenerateId(r.folderId):this._getOrGenerateId(this.rootPath);return{...r,id:n,folderId:i}}async uploadFiles(e){let t=e.folderId,r=e.items?.map(a=>a.folderId)??[],n=e.folderId?this.pathForId(e.folderId,!0):this.rootPath,i={...e,folderId:n,items:e.items?.map(a=>({...a,folderId:a.folderId?this.pathForId(a.folderId??"",!0):n}))??[]},o=await this._inner.uploadFiles(i);return{...o,detailed:o.detailed?.map((a,s)=>{if(!a?.data)return a;let c=a.data.id?this._getOrGenerateId(a.data.id):"",l=a.data.folderId?this._getOrGenerateId(a.data.folderId):r[s]??t??this._getOrGenerateId(this.rootPath);return{...a,data:{...a.data,id:c,folderId:l}}})}}async findFileByUrl(e,t){let r=t?this.pathForId(t,!0):this.rootPath;if(typeof this._inner.findFileByUrl=="function"){let n=await this._inner.findFileByUrl(e,r);if(!n)return;let i=this._getOrGenerateId(n.id),o=n.folderId?this._getOrGenerateId(n.folderId):this._getOrGenerateId(this.rootPath);return{...n,id:i,folderId:o}}}async uploadFileByUrl(e,t,r){let n=t?this.pathForId(t,!0):this.rootPath,i=await this._inner.uploadFileByUrl(e,n,r),o=this._getOrGenerateId(i.id),a=i.folderId?this._getOrGenerateId(i.folderId):this._getOrGenerateId(this.rootPath);return{...i,id:o,folderId:a}}async moveItem(e,t){if(typeof this._inner.moveItem!="function")throw new W("Move item is not supported by inner storage","MoveNotAllowed");let r=this.pathForId(e.id,e.isFolder??!1),n=t?this.pathForId(t,!0):this.rootPath,i=await this._inner.moveItem({...e,id:r,folderId:this.pathForId(e.folderId??"",!0)},n);this._updateIdMapping(e.id,i.id),e.isFolder&&this.remapCachedFolderContents(e.id,r,i.id);let o=this._getOrGenerateId(i.id),a=i.folderId?this._getOrGenerateId(i.folderId):t;return{...i,id:o,folderId:a}}async moveItems(e,t){if(typeof this._inner.moveItems!="function")throw new W("Move items is not supported by inner storage","MoveNotAllowed");let r=t?this.pathForId(t,!0):this.rootPath,n=e.map(a=>({...a,id:this.pathForId(a.id,a.isFolder??!1),folderId:a.folderId?this.pathForId(a.folderId??"",!0):this.rootPath})),i=await this._inner.moveItems(n,r),o=[];if(i.detailed&&i.detailed.length>0){let a=new Map;for(let s=0;s<i.detailed.length;s++){let c=i.detailed[s],l=c.requestId||(s<e.length?e[s].id:void 0);l&&a.set(l,c)}for(let s of e){let c=a.get(s.id)||(i.detailed.length===e.length?i.detailed[e.indexOf(s)]:void 0);if(c?.success&&c.data){if(this._updateIdMapping(s.id,c.data.id),s.isFolder){let l=this.pathForId(s.id,s.isFolder??!1);this.remapCachedFolderContents(s.id,l,c.data.id)}o.push({requestId:s.id,success:!0,data:{...c.data,id:this._getOrGenerateId(c.data.id),folderId:c.data.folderId?this._getOrGenerateId(c.data.folderId):t||this._getOrGenerateId(this.rootPath)}})}else o.push({requestId:s.id,success:!1,error:c?.error||{message:"Move operation failed - no detailed result",code:"MoveNotAllowed"}})}}else for(let a of e)o.push({requestId:a.id,success:!1,error:{message:"Move operation failed - no detailed results",code:"MoveNotAllowed"}});return{success:i.success,detailed:o,error:i.error}}async copyItems(e,t){if(typeof this._inner.copyItems!="function")throw new W("Copy items is not supported by inner storage","CopyNotAllowed");let r=t?this.pathForId(t,!0):this.rootPath,n=e.map(s=>({...s,id:this.pathForId(s.id,s.isFolder??!1),folderId:s.folderId?this.pathForId(s.folderId??"",!0):this.rootPath})),i=await this._inner.copyItems(n,r),o=[];if(i.detailed&&i.detailed.length>0){let s=new Map;for(let c=0;c<i.detailed.length;c++){let l=i.detailed[c],u=l.requestId||(c<e.length?e[c].id:void 0);u&&s.set(u,l)}for(let c of e){let l=s.get(c.id)||(i.detailed.length===e.length?i.detailed[e.indexOf(c)]:void 0);if(l?.success&&l.data?.id){let u=this._getOrGenerateId(l.data.id);o.push({requestId:c.id,success:!0,data:{...l.data,id:u,folderId:l.data.folderId?this._getOrGenerateId(l.data.folderId):t||this._getOrGenerateId(this.rootPath)}})}else{let u=l?l.success?l.data?l.data.id?{message:"Unknown copy error",code:"CopyNotAllowed"}:{message:"No ID in copied item data",code:"CopyNotAllowed"}:{message:"No data returned from copy operation",code:"CopyNotAllowed"}:l.error||{message:"Copy operation failed",code:"CopyNotAllowed"}:{message:"No detailed result from copy operation",code:"CopyNotAllowed"};o.push({requestId:c.id,success:!1,error:u})}}}else for(let s of e)o.push({requestId:s.id,success:!1,error:{message:"No detailed results from copy operation",code:"CopyNotAllowed"}});let a=o.every(s=>s.success);return{success:a,detailed:o,error:a?void 0:i.error||{message:"Copy operation completed with errors",code:"CopyNotAllowed"}}}async deleteItems(e,t){if(typeof this._inner.deleteItems!="function")throw new W("Delete items is not supported by inner storage","DeleteNotAllowed");let r=e.map(a=>({...a,id:this.pathForId(a.id,a.isFolder??!1),folderId:a.folderId?this.pathForId(a.folderId??"",!0):this.rootPath})),n=await this._inner.deleteItems(r,t),i=[];if(n.detailed&&n.detailed.length>0){let a=new Map;for(let s=0;s<n.detailed.length;s++){let c=n.detailed[s],l=c.requestId||(s<e.length?e[s].id:void 0);l&&a.set(l,c)}for(let s of e){let c=a.get(s.id)||(n.detailed.length===e.length?n.detailed[e.indexOf(s)]:void 0);if(c?.success){let l=this.pathForId(s.id,s.isFolder??!1);if(t.permanent)this.recursivelyRemoveMappings(s.id,l);else if(this._updateIdMapping(s.id,this.trashPath+"/"+l+(s.isFolder?"/":"")),s.isFolder){let u=this.pathForId(s.id,s.isFolder??!1);this.remapCachedFolderContents(s.id,u,this.trashPath+"/"+l+(s.isFolder?"/":""))}i.push({requestId:s.id,success:!0})}else i.push({requestId:s.id,success:!1,error:c?.error||{message:"Delete operation failed",code:"DeleteNotAllowed"}})}}else for(let a of e)if(n.success){let s=this.pathForId(a.id,a.isFolder??!1);if(t.permanent)this.recursivelyRemoveMappings(a.id,s);else if(this._updateIdMapping(a.id,this.trashPath+"/"+s+(a.isFolder?"/":"")),a.isFolder){let c=this.pathForId(a.id,a.isFolder??!1);this.remapCachedFolderContents(a.id,c,this.trashPath+"/"+s+(a.isFolder?"/":""))}i.push({requestId:a.id,success:!0})}else i.push({requestId:a.id,success:!1,error:n.error||{message:"Delete operation failed",code:"DeleteNotAllowed"}});let o=i.every(a=>a.success);return{success:o,detailed:i,error:o?void 0:n.error||{message:"Some items failed to delete",code:"DeleteNotAllowed"}}}remapCachedFolderContents(e,t,r){let n=t.replace(/\/+$/,""),i=r.replace(/\/+$/,""),o=[];for(let[a,s]of this._idToPath.entries()){let c=s.replace(/\/+$/,"");c!==n&&c.startsWith(n+"/")&&o.push({id:a,oldPath:c})}for(let{id:a,oldPath:s}of o){let c=i+s.substring(n.length);this._updateIdMapping(a,c)}}recursivelyRemoveMappings(e,t){let r=t.replace(/\/+$/,""),n=[],i=[];for(let[o,a]of this._idToPath.entries()){let s=a.replace(/\/+$/,"");(s===r||s.startsWith(r+"/"))&&(n.push(o),i.push(s))}for(let o=0;o<n.length;o++)this._idToPath.delete(n[o]),this._pathToId.delete(i[o])}async copyItem(e,t){if(typeof this._inner.copyItem!="function")throw new W("Copy item is not supported by inner storage","CopyNotAllowed");let r=this.pathForId(e.id,e.isFolder??!1),n=t?this.pathForId(t,!0):this.rootPath,i=await this._inner.copyItem({...e,id:r,folderId:this.pathForId(e.folderId??"",!0)},n),o=this._getOrGenerateId(i.id),a=i.folderId?this._getOrGenerateId(i.folderId):t??"";return{...i,id:o,folderId:a}}async updateFile(e,t){if(typeof this._inner.updateFile!="function")throw new W("Update file is not supported by inner storage","UnsupportedOperation");let r=this.pathForId(e.id,!1),{...n}=await this._inner.updateFile({...e,id:r,folderId:this.pathForId(e.folderId??"",!0)},t);return this._updateIdMapping(e.id,n.id),n.folderId&&(n={...n,folderId:this._getOrGenerateId(n.folderId)}),{...n,id:this._getOrGenerateId(n.id)}}async getFileData(e,t){let r=this.pathForId(e.id,!1);if(typeof this._inner.getFileData=="function")return this._inner.getFileData({...e,id:r,folderId:this.pathForId(e.folderId??"",!0)},t);let n=e.url||(typeof this.getUrl=="function"?await this.getUrl(e):void 0);if(!n)throw new W("Cannot get file data: no url and no inner.getFileData","FileReadError");return fetch(n,t?.forceReload?{cache:"no-store"}:void 0).then(i=>i.blob())}async cleanTrash(){if(typeof this._inner.cleanTrash!="function")throw new W("Clean trash is not supported by inner storage","UnsupportedOperation");return await this._inner.cleanTrash()}};function A2(e){return typeof e!="object"||!e?!1:"name"in e&&e.name==="DirectResourceFetchError"?!("final"in e)||e.final!==!1:"final"in e&&e.final===!0}function Va(e){if(A2(e)||e instanceof W)throw e}async function k2(e,t,r,n,i){let{fetchWithProxy:o,handleFileProxy:a,handleProxyUrl:s}=t,c={mode:"cors",...i?.fetchInit},l;if(a)try{let u=await Promise.resolve(a(e));if(u)return n(u)}catch(u){Va(u),l=u}if(s)try{let u=await Promise.resolve(s(e));if(u&&u!==e)return n(await r(u))}catch(u){Va(u),l=u}if(o)try{let u=await Promise.resolve(o(e,c,{intent:"downloadBlob"}));if(!u.ok)throw Error(`HTTP ${u.status}`);return n(await u.blob())}catch(u){Va(u),l=u}if(!o)try{return n(await r(e))}catch(u){Va(u),l=u}throw l instanceof Error?l:Error("Failed to download file from the URL")}var j2=1024,M2=j2/4096,hu=[137,80,78,71,13,10,26,10],R2=65536,N2=(e,t)=>String.fromCharCode(e[t],e[t+1],e[t+2],e[t+3]);function D2(e){if(e.length<hu.length||hu.some((r,n)=>e[n]!==r))return!1;let t=hu.length;for(;t+8<=e.length;){let r=(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0,n=N2(e,t+4);if(n==="acTL")return!0;if(n==="IDAT"||n==="IEND")return!1;t+=12+r}return!1}async function L2(e){return D2(new Uint8Array(await e.slice(0,R2).arrayBuffer()))}function F2(e,t){return t.size<e.size?t:e}function zb(e){return e.replace(/\/+$/,"")}function x2(e,t){const r=zb(P.buildCdnFileUrl(t??{},[])),n=zb(e);if(!(!r||!n.startsWith(`${r}/`)))return n.slice(r.length+1).split("/").filter(Boolean)[0]}function B2(e,t={}){const r=t.projectId?.trim();if(!r)return!1;const n=P.unwrapResourceProxyUrl(e,t.appConfig,t.isStandalone);return P.isCdnUrl(n,t.appConfig)?x2(n,t.appConfig)===r:!1}function U2(e,t={}){return P.unwrapResourceProxyUrl(e,t.appConfig,t.isStandalone)}var $2=3,q2=/^(.+\.[a-zA-Z0-9]{1,8})\?[^?#]*$/;function G2(e){let t=e;for(let r=0;r<$2;r++)try{const n=decodeURIComponent(t);if(n===t)break;t=n}catch{break}return t.normalize("NFC")}function z2(e){const t=e.match(q2);return t?t[1]:e}function V2(e){if(/^https?:\/\//i.test(e))return new URL(e).pathname.split("/").filter(Boolean).pop();if(e.startsWith("//"))return new URL(e,"https://placeholder.invalid").pathname.split("/").filter(Boolean).pop()}function Vb(e){const t=e.replaceAll("\\","/").trim();if(!t)return t;let r;try{r=V2(t)}catch{}if(!r){r=z2(t.split("/").pop()??"");const n=r.indexOf("#");n>=0&&(r=r.slice(0,n))}return G2(r)}function Hb(e){const t=e.trim();if(t){if(!(/^https?:\/\//i.test(t)||t.startsWith("//")))try{new URL(t)}catch{return}return Vb(t)||void 0}}var Wb={"platform.validation":"ValidationError","platform.malformed_body":"ValidationError","platform.invalid_uuid":"ValidationError","platform.invalid_field_value":"ValidationError","platform.unauthorized":"AuthenticationFailed","platform.forbidden":"AuthorizationFailed","platform.not_found":"FileNotFound","platform.conflict":"FolderAlreadyExists","platform.payload_too_large":"PayloadTooLarge","platform.unsupported_media_type":"FileTypeNotAllowed","platform.too_many_requests":"RateLimitExceeded","platform.unavailable":"ServiceUnavailable","platform.internal":"BackendError","filemanager.file_not_found":"FileNotFound","filemanager.folder_not_found":"FolderNotFound","filemanager.file_exists":"FileAlreadyExists","filemanager.folder_exists":"FolderAlreadyExists","filemanager.invalid_file_name":"FileInvalidName","filemanager.invalid_folder_name":"FolderInvalidName","filemanager.item_not_found":"FileNotFound","filemanager.no_project_access":"AuthorizationFailed","filemanager.project_required":"ValidationError","filemanager.invalid_project_id":"ValidationError","filemanager.file_too_large":"FileTooLarge","filemanager.upload_too_large":"PayloadTooLarge","filemanager.no_files":"ValidationError","filemanager.batch_limit_exceeded":"BatchItemLimitExceeded","filemanager.too_many_items":"BatchItemLimitExceeded","filemanager.items_required":"ValidationError","filemanager.unsupported_file_type":"FileTypeNotAllowed","filemanager.upload_url_rejected":"UploadUrlInvalid","filemanager.transfer_into_descendant":"MoveIntoDescendant","filemanager.legacy_file_unsupported":"UnsupportedOperation","filemanager.backfill_unsupported":"UnsupportedOperation","filemanager.backfill_already_done":"UnsupportedOperation","filemanager.storage_unavailable":"ServiceUnavailable"};function Kb(e){switch(e){case 400:return"ValidationError";case 401:return"AuthenticationFailed";case 403:return"AuthorizationFailed";case 404:return"FileNotFound";case 409:return"FolderAlreadyExists";case 413:return"PayloadTooLarge";case 415:return"FileTypeNotAllowed";case 429:return"RateLimitExceeded";case 503:return"ServiceUnavailable";case 504:return"Timeout";default:return"BackendError"}}function H2(e,t){return(e?Wb[e]:void 0)??Kb(t)}function W2(e){return(e?Wb[e]:void 0)??"FileWriteError"}var Qb=2e3,Yb=30,K2=Qb*Yb;function Q2(e){return typeof e?.watchThumbnail=="function"}var Xb=200,Y2=class Lr{pathMode=!1;rootId="";trashPath=yt;useSoftDelete=!1;api;projectId;i18n;appConfig;isStandalone;onIndexingStateChange;pendingThumbnails=new Map;thumbWatchers=new Map;resolveSystemFolderByPath;constructor(t){this.api=t.restApi,this.projectId=t.projectId,this.i18n=t.i18n??ei,this.appConfig=t.appConfig,this.isStandalone=t.isStandalone,this.onIndexingStateChange=t.onIndexingStateChange,this.resolveSystemFolderByPath=p2({Trash:{id:yt,folderId:this.rootId}})}async getItems(t){const r=t.folderId===yt;if(t.itemType==="folder")return{items:await this.listFolders(t.folderId,r)};const n=t.itemType==="all"&&(t.page??1)<=1,[i,o]=await Promise.all([n?this.listFolders(t.folderId,r,t.search):[],this.listFiles(t,r)]);return{items:[...i,...o.items],pagination:o.pagination}}async listFolders(t,r,n){const i=await this.api.folders.foldersList({project_id:this.projectId,parent_id:r?void 0:this.normalizeFolderId(t),trashed:r||void 0});try{this.assertOk(i)}catch(a){if(Lr.isNotFound(a))return[];throw a}let o=(i.data.items??[]).map(a=>this.mapFolder(a,t));if(n){const a=n.toLowerCase();o=o.filter(s=>s.name.toLowerCase().includes(a))}return o}async listFiles(t,r){const n=Math.min(t.limit??Xb,Xb),i=Math.max(t.page??1,1),o=await this.api.files.filesList({project_id:this.projectId,folder_id:r?void 0:this.normalizeFolderId(t.folderId),search:t.search||void 0,sort_by:t.sortBy,sort_order:t.sortOrder,limit:n,offset:(i-1)*n,trashed:r||void 0});try{this.assertOk(o)}catch(s){if(Lr.isNotFound(s))return{items:[],pagination:{page:1,limit:n,total:0,totalPages:0,hasNext:!1,hasPrev:!1}};throw s}this.onIndexingStateChange?.(!!o.data.indexing);const a=r?yt:this.normalizeFolderId(t.folderId)??this.rootId;return{items:(o.data.data??[]).map(s=>this.mapFile(s,a)),pagination:this.mapPagination(o.data.page,n)}}async createFolder(t,r){const n=await this.api.folders.foldersCreate({project_id:this.projectId,name:t,parent_id:this.normalizeFolderId(r)});return this.assertOk(n),this.mapFolder(n.data.folder??{},r)}async uploadFileByUrl(t,r){const n=await this.api.files.uploadByUrlCreate({project_id:this.projectId,url:t,folder_id:this.normalizeFolderId(r)});return this.assertOk(n),this.mapFile(n.data.file??{},this.normalizeFolderId(r)??this.rootId)}async uploadFiles(t){if(t.items.length===0)return{success:!0,detailed:[]};const r=new Map;t.items.forEach((o,a)=>{const s=this.normalizeFolderId(o.folderId??t.folderId??void 0)??this.rootId,c=o.requestId??`item-${a}`,l=r.get(s)??[];l.push({item:o,requestId:c}),r.set(s,l)});const n=[];for(const[o,a]of r){const s=new FormData;s.append("project_id",this.projectId),o!==this.rootId&&s.append("folder_id",o);for(const{item:u,requestId:d}of a)s.append("request_id",d),s.append("file",u.data,u.name);let c;try{c=await this.api.request({path:"/files",method:"POST",body:s,type:V.FormData,format:"json",secure:!0}),this.assertOk(c)}catch(u){for(const{requestId:d}of a)n.push({requestId:d,success:!1,error:Lr.toErrorInfo(u)});continue}const l=new Map((c.data.items??[]).map(u=>[u.request_id,u]));a.forEach(({requestId:u},d)=>{const m=l.get(u)??c.data.items?.[d];m?.file?n.push({requestId:u,success:!0,data:this.mapFile(m.file,o)}):n.push({requestId:u,success:!1,error:this.mapItemFail(m?.error)})})}const i=n.filter(o=>!o.success);return{success:i.length===0,error:i[0]?.error,detailed:n}}async uploadFile(t){const r=(await this.uploadFiles({items:[{name:t.name,size:t.size,type:t.type,folderId:t.folderId,data:t.data}]})).detailed?.[0];if(!r?.success||!r.data){const n=r?.error;throw n instanceof he?n:new he(String(n?.message??this.i18n.__("Unknown error")),n?.code||"FileWriteError",typeof n?.status=="number"?n.status:void 0)}return r.data}async updateFile(t,r){let n={id:t.id};if(r.data!==void 0){const i=typeof r.data=="string"?Lr.base64ToBlob(r.data,t.type):r.data,o=new FormData;o.append("project_id",this.projectId),o.append("file",i,t.name);const a=await this.api.request({path:`/files/${t.id}/content`,method:"PUT",body:o,type:V.FormData,format:"json",secure:!0});this.assertOk(a);const s=a.data.file??{};n={...n,size:s.size,type:s.mime,url:s.url,thumbnail:s.thumbnail_url,thumbnailUrl:s.thumbnail_url,lastEdited:s.updated_at}}if(r.name&&r.name!==t.name){const i=await this.renameItem(t,r.name);n={...n,...i}}return n}getFileData=async(t,r)=>{const{__:n}=this.i18n;if(!t.url)throw new he(n("Failed to get file: %s").replace("%s",t.name),"FileReadError");const i=await P.fetchWithResourceProxy(t.url,{config:this.appConfig,standalone:this.isStandalone,resourceType:P.isCdnUrl(t.url,this.appConfig)?"cdn":"generic",intent:"downloadBlob",init:r?.forceReload?{cache:"no-store"}:void 0});if(i.ok)return i.blob();const o=await i.text();throw new he(o||n("Failed to get file: %s").replace("%s",i.statusText),Kb(i.status),i.status)};static base64ToBlob(t,r){const n=t.includes(",")?t.slice(t.indexOf(",")+1):t,i=atob(n),o=new Uint8Array(i.length);for(let a=0;a<i.length;a+=1)o[a]=i.charCodeAt(a);return new Blob([o],r?{type:r}:void 0)}mapItemFail(t){const{__:r}=this.i18n;return{message:t?.message||r("Unknown error"),code:W2(t?.code)}}async renameItem(t,r){if(t.isFolder){const o=await this.api.folders.foldersPartialUpdate({id:t.id},{project_id:this.projectId,name:r});this.assertOk(o);const a=o.data.folder??{};return{id:t.id,name:a.name??r,folderId:a.parent_id??t.folderId,isFolder:!0,lastEdited:a.updated_at}}const n=await this.api.files.filesPartialUpdate({id:t.id},{project_id:this.projectId,name:r,mode:"replace"});this.assertOk(n);const i=n.data.file??{};return{id:t.id,name:i.name??r,folderId:i.folder_id??t.folderId,isFolder:!1,url:i.url,thumbnail:i.thumbnail_url,thumbnailUrl:i.thumbnail_url,extension:i.ext,type:i.mime,lastEdited:i.updated_at}}async deleteItem(t,r){try{if(t.isFolder){const n=await this.api.folders.foldersDelete({id:t.id,project_id:this.projectId,permanent:r.permanent||void 0});this.assertOk(n)}else{const n=await this.api.files.filesDelete({id:t.id,project_id:this.projectId,permanent:r.permanent||void 0});this.assertOk(n)}}catch(n){if(!Lr.isNotFound(n))throw n}}async deleteItems(t,r){if(t.length===0)return{success:!0};const n=new Set(t.filter(s=>s.isFolder).map(s=>s.id)),i=new Set(t.filter(s=>n.has(s.folderId))),o=[];for(const s of t){if(i.has(s)){o.push({requestId:s.id,success:!0});continue}try{await this.deleteItem(s,r),o.push({requestId:s.id,success:!0})}catch(c){o.push({requestId:s.id,success:!1,error:Lr.toErrorInfo(c)})}}const a=o.filter(s=>!s.success);return{success:a.length===0,error:a[0]?.error,detailed:o}}async moveItems(t,r){if(t.length===0)return{success:!0,detailed:[]};const n=t.filter(s=>s.folderId===yt),i=t.filter(s=>s.folderId!==yt),o=[];if(n.length>0){const s=await this.api.trash.restoreCreate({project_id:this.projectId,ids:n.map(c=>c.id),target_folder_id:this.normalizeFolderId(r),on_conflict:"keep_both"});this.assertOk(s),o.push(...this.mapTransferResults(s.data.items,n))}if(i.length>0){const s=await this.api.items.moveCreate({project_id:this.projectId,ids:i.map(c=>c.id),target_folder_id:this.normalizeFolderId(r)});this.assertOk(s),o.push(...this.mapTransferResults(s.data.items,i))}const a=o.filter(s=>!s.success);return{success:a.length===0,error:a[0]?.error,detailed:o}}async moveItem(t,r){return this.unwrapSingleTransfer(await this.moveItems([t],r),t)}async copyItems(t,r){if(t.length===0)return{success:!0,detailed:[]};const n=await this.api.items.copyCreate({project_id:this.projectId,ids:t.map(a=>a.id),target_folder_id:this.normalizeFolderId(r)});this.assertOk(n);const i=this.mapTransferResults(n.data.items,t),o=i.filter(a=>!a.success);return{success:o.length===0,error:o[0]?.error,detailed:i}}async copyItem(t,r){return this.unwrapSingleTransfer(await this.copyItems([t],r),t)}async cleanTrash(){const t=await this.api.trash.emptyCreate({project_id:this.projectId});return this.assertOk(t),{success:!0,deletedCount:(t.data.deleted_files??0)+(t.data.deleted_folders??0)}}async clearCache(t){}findItemByPath(t){return this.resolveSystemFolderByPath(t)}async findFileByUrl(t,r){const n={appConfig:this.appConfig,isStandalone:this.isStandalone,projectId:this.projectId};if(!B2(t,n))return;const i=U2(t,n),o=Hb(i);if(!o)return;const{items:a}=await this.listFiles({folderId:r,search:o},!1);return a.find(s=>s.url===t||s.url===i)}mapTransferResults(t,r){const n=new Map(r.map(i=>[i.id,i]));return(t??[]).map((i,o)=>{const a=i.id??r[o]?.id,s=a?n.get(a):r[o];return i.error?{requestId:a,success:!1,error:this.mapItemFail(i.error)}:{requestId:a,success:!0,data:i.file?this.mapFile(i.file,i.file.folder_id??this.rootId):i.folder?this.mapFolder(i.folder):s?{id:s.id}:{id:a??""}}})}unwrapSingleTransfer(t,r){const n=t.detailed?.[0];if(!n?.success){const i=n?.error??t.error;throw i instanceof he?i:new he(String(i?.message??this.i18n.__("Unknown error")),i?.code||"BackendError",typeof i?.status=="number"?i.status:void 0)}return n.data??{id:r.id}}mapFile(t,r){return this.trackThumbnailReadiness(t),{id:t.id??"",name:t.name??"",folderId:t.folder_id??r,isFolder:!1,size:t.size,date:t.created_at,lastEdited:t.updated_at,type:t.mime,extension:t.ext,url:t.url,thumbnail:t.thumbnail_url,thumbnailUrl:t.thumbnail_url,dimensions:t.width&&t.height?`${t.width}x${t.height}`:void 0,aspectRatio:t.width&&t.height?String(t.width/t.height):void 0,selected:!1}}trackThumbnailReadiness(t){if(!t.id||!t.url||!t.mime?.startsWith("image/"))return;if(t.thumbnail_url){this.pendingThumbnails.delete(t.url);return}const r=t.created_at?new Date(t.created_at).getTime():NaN;Number.isFinite(r)&&Date.now()-r<K2?this.pendingThumbnails.set(t.url,t.id):this.pendingThumbnails.delete(t.url)}watchThumbnail(t,r){const n=this.pendingThumbnails.get(t);if(!n)return()=>{};const i=this.thumbWatchers.get(n);if(i)return i.listeners.add(r),()=>i.listeners.delete(r);const o={listeners:new Set([r]),cancelled:!1};return this.thumbWatchers.set(n,o),this.pollThumbnail(n,t,o),()=>{o.listeners.delete(r),o.listeners.size===0&&(o.cancelled=!0,this.thumbWatchers.delete(n))}}async pollThumbnail(t,r,n){for(let i=0;i<Yb;i+=1){if(await new Promise(a=>setTimeout(a,Qb)),n.cancelled)return;let o;try{const a=await this.api.files.filesDetail({id:t,project_id:this.projectId});a.ok&&!a.error&&(o=a.data.file?.thumbnail_url)}catch{}if(n.cancelled)return;if(o){this.pendingThumbnails.delete(r),this.thumbWatchers.delete(t),n.listeners.forEach(a=>a(o));return}}this.thumbWatchers.delete(t),this.pendingThumbnails.delete(r)}mapFolder(t,r){return{id:t.id??"",name:t.name??"",folderId:t.parent_id??this.normalizeFolderId(r)??this.rootId,isFolder:!0,date:t.created_at,lastEdited:t.updated_at,selected:!1}}mapPagination(t,r){const n=t?.limit??r,i=t?.offset??0,o=t?.total??0,a=n>0?Math.floor(i/n)+1:1,s=n>0?Math.ceil(o/n):0;return{page:a,limit:n,total:o,totalPages:s,hasNext:a<s,hasPrev:a>1}}normalizeFolderId(t){if(!(!t||t===this.rootId))return t}assertOk(t){if(t.ok&&!t.error)return;const{__:r}=this.i18n,n=t.error?.error,i=H2(n?.code,t.status);throw new he(n?.message||r("Unknown error"),i,t.status)}static isNotFound(t){return t instanceof he&&(t.code==="FileNotFound"||t.code==="FolderNotFound")}static toErrorInfo(t){return t instanceof he||t instanceof Error?t:{message:String(t),raw:t}}};function Jb({storageProvider:e,projectId:t,restApi:r,restApiV2:n,i18n:i,pathPostfix:o,appConfig:a,isStandalone:s,onIndexingStateChange:c}){const l=a?.fileManager,u=l?{...l,enablePagination:l.enablePagination===!1?!!l.clientSidePaging:l.enablePagination}:void 0,d=!!n&&wb(a),m=e||(d&&n?new Y2({projectId:t,restApi:n,i18n:i,appConfig:a,isStandalone:s,onIndexingStateChange:c}):new s2({projectId:t,restApi:r,i18n:i,pathPostfix:o,appConfig:a,isStandalone:s})),p=m.pathMode?new Gb(m,m.rootId??"",yt,m.trashPath,!0):null;return{storageProvider:m,pathProxy:p,dataProvider:new qb(p??m,u,{...m,trashPath:m.pathMode?"trash":m.trashPath,rootId:m.pathMode?"":m.rootId??""},{fetchWithProxy:(g,h)=>P.fetchWithResourceProxy(g,{config:a,standalone:s,intent:"downloadBlob",init:h})}),usesBuiltInStorage:!e}}var X2=class{http;constructor(e){this.http=e}filesList=(e,t={})=>this.http.request({path:"/files",method:"GET",query:e,secure:!0,format:"json",...t});filesCreate=(e={})=>this.http.request({path:"/files",method:"POST",secure:!0,format:"json",...e});filesDelete=({id:e,...t},r={})=>this.http.request({path:`/files/${e}`,method:"DELETE",query:t,secure:!0,...r});filesDetail=({id:e,...t},r={})=>this.http.request({path:`/files/${e}`,method:"GET",query:t,secure:!0,format:"json",...r});filesPartialUpdate=({id:e},t,r={})=>this.http.request({path:`/files/${e}`,method:"PATCH",body:t,secure:!0,type:V.Json,format:"json",...r});contentList=({id:e,...t},r={})=>this.http.request({path:`/files/${e}/content`,method:"GET",query:t,secure:!0,...r});contentUpdate=({id:e},t={})=>this.http.request({path:`/files/${e}/content`,method:"PUT",secure:!0,format:"json",...t});backfillList=(e,t={})=>this.http.request({path:"/files/backfill",method:"GET",query:e,secure:!0,format:"json",...t});backfillCreate=(e,t={})=>this.http.request({path:"/files/backfill",method:"POST",body:e,secure:!0,type:V.Json,format:"json",...t});backfillCancelCreate=(e,t={})=>this.http.request({path:"/files/backfill/cancel",method:"POST",body:e,secure:!0,type:V.Json,format:"json",...t});uploadByUrlCreate=(e,t={})=>this.http.request({path:"/files/upload-by-url",method:"POST",body:e,secure:!0,type:V.Json,format:"json",...t})},J2=class{http;constructor(e){this.http=e}foldersList=(e,t={})=>this.http.request({path:"/folders",method:"GET",query:e,secure:!0,format:"json",...t});foldersCreate=(e,t={})=>this.http.request({path:"/folders",method:"POST",body:e,secure:!0,type:V.Json,format:"json",...t});foldersDelete=({id:e,...t},r={})=>this.http.request({path:`/folders/${e}`,method:"DELETE",query:t,secure:!0,...r});foldersPartialUpdate=({id:e},t,r={})=>this.http.request({path:`/folders/${e}`,method:"PATCH",body:t,secure:!0,type:V.Json,format:"json",...r})},Z2=class{http;constructor(e){this.http=e}copyCreate=(e,t={})=>this.http.request({path:"/items/copy",method:"POST",body:e,secure:!0,type:V.Json,format:"json",...t});moveCreate=(e,t={})=>this.http.request({path:"/items/move",method:"POST",body:e,secure:!0,type:V.Json,format:"json",...t})},eG=class{http;constructor(e){this.http=e}emptyCreate=(e,t={})=>this.http.request({path:"/trash/empty",method:"POST",body:e,secure:!0,type:V.Json,format:"json",...t});restoreCreate=(e,t={})=>this.http.request({path:"/trash/restore",method:"POST",body:e,secure:!0,type:V.Json,format:"json",...t})},tG=class extends ac{files=new X2(this);folders=new J2(this);items=new Z2(this);trash=new eG(this)};function Zb(e){const t=(P.isStateContainer(e)?P.getContainer(e):e)?.getInstance(P.CUSTOM_FETCH_ID);return new tG({baseUrl:"https://app.emailmaker.ru/api/v2",customFetch:t?.execute??P.globalFetch})}function rG(){const e=mt(),t=bb(),r=nt(),n=me(),i=de(),o=kr(),a=$t(P.events.UPLOAD_EVENT_ID),s=r?.id?String(r.id):"",c=o?.id!=="0"?String(o?.id??""):"";return(0,_.useCallback)(async l=>{const u=await gb(a,{file:l,project:s});if(u.url)return u.url;const d=P.getContainer(n),{dataProvider:m,usesBuiltInStorage:p}=Jb({storageProvider:d.getInstance(P.STORAGE_PROVIDER_ID),projectId:s,restApi:P.getApi(d,Eb),restApiV2:Zb(n),i18n:i,pathPostfix:c,appConfig:e,isStandalone:t,onIndexingStateChange:()=>{}});if(!yb(u,{isStandalone:t,targetIsOurBackend:!!p}))throw _b(u);const g=await hb(l,m);if(!g?.url)throw new Error(i.__("The image could not be uploaded."));return g.url},[e,i,t,s,n,a,c])}var nG=({users:e,isEditor:t,isPlugin:r,token:n})=>{const[i,o]=(0,_.useState)(!1),a=window.localStorage.getItem(ft.em_color_scheme),s=u=>{const{first_name:d,last_name:m,email:p}=u.user.name;return d?`${d.split("")[0]}${m?`${m.split("")[0]}`:""}`:p?.split("")[0].toUpperCase()||" "},c=u=>{const{first_name:d,last_name:m,email:p}=u.user.name;return d&&m?`${d} ${m}`:d||p},l=u=>{const d=c(u);return(0,M.jsx)("span",{children:d})};return(0,M.jsx)(M.Fragment,{children:e.length>0&&t&&(0,M.jsx)("div",{className:`user-list ${i?"open":""}`,style:r?{left:"60px",bottom:"10px"}:{},onMouseOver:()=>o(!0),onMouseOut:()=>o(!1),children:e.map(u=>(0,M.jsx)("div",{className:"user",style:{[Gr("user-color")]:u.user.color,[Gr("border-color")]:n?.colorBgContainer,[Gr("text-color")]:a==="dark"?n?.colorIconHover:n?.colorWhite},children:(0,M.jsx)(B.ui_kit$Tooltip,{title:l(u),placement:"topLeft",trigger:"hover",color:n?.colorBgSpotlight,children:(0,M.jsx)("div",{children:s(u)})})},u.user.color))})})},Ha="Ai",eE=Ne({reducerPath:"AiApi",tagTypes:[Ha],baseQuery:We({baseUrl:"https://app.emailmaker.ru/api/wp-json/save-file/v1/"}),endpoints:e=>({sendMessage:e.mutation({queryFn({body:t},r){return K(r).aiGenerator.ai_create(t)}}),getDialog:e.query({queryFn({entity_id:t,connection:r="chat"},n){return nr(P.getContainer(n)).aiAssistentEnabled===!1?Promise.resolve({data:{documents:[],totalCount:0}}):K(n).aiGenerator.ai_status_list({connection:r,entity_id:t})},providesTags:t=>t?.documents?[...t.documents.map(({id:r})=>({type:Ha,id:r})),{type:Ha,id:"LIST"}]:[{type:Ha,id:"LIST"}]})})}),{useSendMessageMutation:iG,useGetDialogQuery:oG,useLazyGetDialogQuery:aG}=eE,sG=async(e,t,r)=>{const n=K(t).baseUrl.replaceAll(/[\\/]$/g,""),i=await We({baseUrl:n})(e,t,r);if(i.error){let o=i.error;if(typeof o.json=="function")try{o=await o.json()}catch{o=await o}return{error:o}}return i};async function tE(){const{EventSourcePolyfill:e}=await(0,wt.__vitePreload)(async()=>{const{EventSourcePolyfill:t}=await Promise.resolve().then(()=>Promise.resolve(Ee("./6933d533.js")).then(r=>Y.__toESM(r.default)));return{EventSourcePolyfill:t}},void 0,{}.url);if(typeof e!="function")throw new Error("event-source-polyfill: EventSourcePolyfill is not a constructor");return e}var rE=Ne({reducerPath:"AiApiGenerator",baseQuery:sG,endpoints:e=>({generateIdForTask:e.mutation({queryFn(t,r){return xN(r).tasks.tasksControllerCreateTask(t).then(n=>n)}}),clearAiChat:e.query({queryFn(t,r){return K(r).aiGenerator.clear_history_list(t).then(n=>n)}}),getGeneratedContent:e.query({queryFn:t=>({data:[]}),async onCacheEntryAdded({id:t,setError:r},n){const{updateCachedData:i,cacheEntryRemoved:o}=n,a=K(n).baseUrl.indexOf("emailmaker")>=0?dm.maker:dm.blocks;let s;try{const c=await P.getContainer(n).getInstance(P.TOKEN_ID),l=c?{Authorization:`Bearer ${c}`}:{};s=new(await tE())(`${a}/tasks/${t}`,{headers:l})}catch{r("Error connecting to EventSource");return}s.onmessage=c=>{const l=JSON.parse(c.data);i(u=>{u.push(l)})},s.onerror=c=>{r("Error connecting to EventSource"),s.close()},await o,s.close()}}),getAiGenerateStatus:e.mutation({query:t=>({url:"/constructor/v1/ai-save-task",method:"POST",body:t})})})}),{useGenerateIdForTaskMutation:p6,useGetGeneratedContentQuery:h6,useLazyClearAiChatQuery:lG,useLazyGetGeneratedContentQuery:cG,useGetAiGenerateStatusMutation:uG}=rE;function Ni({id:e,post:t,parent:r,author:n,content:i,acf:{status:o,target_id:a},...s}){return{...s,id:be(e),post:be(t),parent:be(r),author:be(n),content:bt(i),target_id:a,comment_status:o}}function un(e){return typeof e=="number"?Number.isFinite(e)?e:void 0:e!=null&&/^\d+$/.test(e)?Number(e):void 0}function dn(e){const t=un(e);return t!==void 0&&t>0?t:void 0}function nE(e,t){return dn(e)===void 0?t:e}function dG(e,t){const r=dn(e?.wpId)??dn(e?.id),n=nE(e?.project,t);if(!(r===void 0||n==null||n===""||un(n)===0))return{emailId:r,projectId:n}}var cr="Comments";function iE(e){return Promise.resolve({error:{status:"CUSTOM_ERROR",error:`comments need a WordPress record number, got ${e??"nothing"}`}})}var oE=Ne({reducerPath:"commentsApi",tagTypes:[cr],baseQuery:We({baseUrl:"https://app.emailmaker.ru/api/wp-json/wp/v2/"}),endpoints:e=>({getComments:e.query({queryFn:function(t,r){const n=dn(t);return n===void 0?iE(t):K(r).wp.comments_list({post:[n],per_page:50,order:"asc"}).then(et(Ni))},providesTags:t=>t?[...t.map(({id:r})=>({type:cr,id:r})),{type:cr,id:"LIST"}]:[{type:cr,id:"LIST"}]}),addComment:e.mutation({queryFn({subjectId:t,author:r,parent:n,content:i,author_name:o,author_email:a,targetId:s},c){const l=dn(t);if(l===void 0)return iE(t);const u=K(c),d={post:l,author:He(r),author_name:o,author_email:a},m={};return i&&(d.content=i),n&&(d.parent=He(n)),s&&(m["acf[target_id]"]=s),u.wp.comments_create(d,{type:P.ContentType.UrlEncoded,extraQuery:m}).then(Te(Ni))},invalidatesTags:[{type:cr,id:"LIST"}]}),deleteComment:e.mutation({queryFn(t,r){return K(r).wp.comments_delete({id:t},{}).then(bo(Ni))},invalidatesTags:[{type:cr,id:"LIST"}]}),editComment:e.mutation({queryFn({commentId:t,content:r,status:n,targetId:i},o){const a=K(o),s={},c={};return r&&(s.content=r),n&&(c["acf[status]"]=n),i&&(c["acf[target_id]"]=i),a.wp.comments_update({id:t},s,{type:P.ContentType.UrlEncoded,extraQuery:c}).then(Te(Ni))},invalidatesTags:[{type:cr,id:"LIST"}]}),deleteTarget:e.mutation({queryFn(t,r){return K(r).wp.comments_update({id:t},{},{type:P.ContentType.UrlEncoded,extraQuery:{"acf[target_id]":""}}).then(Te(Ni))},invalidatesTags:[{type:cr,id:"LIST"}]})})}),{useGetCommentsQuery:fG,useAddCommentMutation:mG,useDeleteCommentMutation:pG,useEditCommentMutation:hG,useDeleteTargetMutation:gG}=oE,aE={isCollapsed:!0,isMonacoFocusing:!1},sE="defaultModePanesSlice",lE=Le({name:sE,initialState:aE,reducers:{setMonacoFocusing:(e,t)=>{e.isMonacoFocusing=t.payload},resetPanes:()=>aE}}),{resetPanes:cE,setMonacoFocusing:yG}=lE.actions,_G=e=>e[sE].isMonacoFocusing,uE={blocksTotal:null,blocksTotalPages:null,parentEmailBlocksTotal:null,parentEmailBlocksTotalPages:null,templateBlocks:[],templateBlocksTotal:null,templateBlocksTotalPages:null,elementsView:sm,elementsList:[],customFolders:{},blocksTrashTotal:0,elementsTrashList:[]},Wa="blocksPageSlice";function gu(e,t){const r=e,n=r?.baseQueryMeta?.blocksListPagination?.total;return typeof n=="number"&&Number.isFinite(n)&&n>=0?n:Number(r?.baseQueryMeta?.response?.headers?.get("X-WP-Total"))||t||null}function dE(e){const t=e,r=t?.baseQueryMeta?.blocksListPagination?.totalPages;return typeof r=="number"&&Number.isFinite(r)?r:Number(t?.baseQueryMeta?.response?.headers?.get("X-WP-TotalPages"))||null}var fE=Le({name:Wa,initialState:uE,reducers:{resetPagesAndTotal:()=>uE,resetElementsList:e=>{e.elementsList=[]},toggleElementsView:(e,t)=>{e.elementsView=t.payload},removeBlockFromList:(e,{payload:t})=>{const r=e.customFolders;t.folder!=="all"&&r[t.folder]?.list&&(r[t.folder]={...r[t.folder],list:r[t.folder].list.filter(n=>n.id!==t.emailId),total:r[t.folder].total-1},e.customFolders=r)}},extraReducers:e=>{e.addMatcher(kt.endpoints.getBlocks.matchFulfilled,(t,{meta:r,payload:n})=>{const i=gu(r,n?.length)??0,o=r.arg.originalArgs?.status==="trash",a=!!r.arg.originalArgs?.name?.length,s=r.arg.originalArgs?.page,c=r.arg.originalArgs?.folderTag||r.arg.originalArgs?.tags?.[0];o?(a||(t.blocksTrashTotal=i),t.elementsTrashList=n):c?t.customFolders={...t.customFolders,[c]:{list:n,page:s,total:i}}:(t.blocksTotal=i,t.elementsList=n)}),e.addMatcher(kt.endpoints.getParentEmailBlocks.matchFulfilled,(t,{meta:r,payload:n})=>{const i=gu(r,n?.length),o=dE(r);t.parentEmailBlocksTotal=i,t.parentEmailBlocksTotalPages=o}),e.addMatcher(kt.endpoints.getTemplateBlocks.matchFulfilled,(t,{meta:r,payload:n})=>{const i=gu(r,Array.isArray(n)?n.length:void 0),o=dE(r);t.templateBlocks=n,t.templateBlocksTotal=i,t.templateBlocksTotalPages=o}),e.addMatcher(kt.endpoints.editBlock.matchFulfilled,(t,{payload:r})=>{t.elementsList.map(n=>n.id?.toString()===r.id?.toString()?Object.assign(n,{lock:r.lock,title:r.title,blocktags:r.blocktags}):n)})}}),{resetPagesAndTotal:g6,resetElementsList:y6,toggleElementsView:_6,removeBlockFromList:v6}=fE.actions,vG=e=>e[Wa].blocksTotal,bG=e=>e[Wa].templateBlocksTotal,EG=e=>e[Wa].parentEmailBlocksTotal,wG=P.createIdentifier$1("CanvasViewport"),b6=P.createIdentifier$1("CanvasPreviewPage"),SG=()=>{try{return localStorage.getItem("em-debug-project-fonts")==="1"}catch{return!1}},Di=(e,t)=>{SG()},Li=null,yu=[],Fi=null,mE="custom",PG=e=>{yu=e,Li=null,Fi=null},pE=e=>{const t=e.weight?.trim()||"400",r=e.style??"normal";return r==="italic"||r==="oblique"?`${t}i`:t},IG=e=>{if(!yu.length)return e;const t=Array.isArray(e.familyMetadataList)?[...e.familyMetadataList]:[],r=new Map;for(const i of yu){const o=i.family?.trim()||TT(i.source_url)||i.name.trim();if(!o)continue;const a=jT(i.source_url,o),s=a.length?a.map(l=>pE({...i,...l})):[pE(i)];let c=r.get(o);c||(c={family:o,category:mE,subsets:["cyrillic","latin"],popularity:0,fonts:{}},r.set(o,c));for(const l of s)c.fonts[l]={}}if(!r.size)return e;const n=t.filter(i=>i?.category!==mE||!(typeof i.family=="string"&&r.has(i.family)));return{...e,familyMetadataList:[...r.values(),...n]}},TG=()=>Li?Promise.resolve(Li):(Fi!==null||(Fi=(0,wt.__vitePreload)(async()=>{const{default:e}=await Promise.resolve().then(()=>Ee("./8bf56b5b.js"));return{default:e}},void 0,{}.url).then(({default:e})=>(Li=IG(e),Li)).catch(e=>{throw e})),Fi),OG=e=>[...e].sort((t,r)=>t.order-r.order).map(t=>t.hex.toUpperCase()),CG=(e,t)=>{const r=Array.isArray(e?.usedColors)?e.usedColors:[],n=new Set,i=[];for(const o of[...r,...OG(t)]){const a=String(o??"").trim().toUpperCase();!a||n.has(a)||(n.add(a),i.push(o))}return{...e,usedColors:i}},hE,AG=e=>{hE=e},kG=e=>CG(e,hE?.colors??[]),jG=e=>{const t=tt(),r=Iv(e),[n,i]=(0,_.useState)("");(0,_.useEffect)(()=>{AG(r);const a=r?.fonts??[];PG(a),MB(a),Di("parent: cache + host @font-face synced",{projectId:e,fontsCount:a.length,families:a.map(s=>s.family?.trim()||s.name)})},[r,e]),(0,_.useEffect)(()=>{const a=r?.fonts??[],s=IB(a),c=JSON.stringify(s);if(c===n){Di("parent: iframe send skipped (unchanged)",{entriesCount:s.length});return}Di("parent: scheduling SANDBOX_SET_PROJECT_FONTS",{entriesCount:s.length,entries:s});const l=()=>{t.send(oe.SANDBOX_SET_PROJECT_FONTS,s),i(c),Di("parent: SANDBOX_SET_PROJECT_FONTS sent",{entriesCount:s.length})};if(t.inited){l();return}const u=t.onInit(()=>{l()});return()=>u.dispose()},[t,r,n]);const o=(0,_.useCallback)(()=>{Di("parent: iframe reload — will resend project fonts map"),i("")},[]);Zc(o)};function MG(){const{document:e}=gt();return(0,_.useCallback)(t=>El(e,t),[e])}function gE(e){const{document:t}=gt(),r=(0,_.useCallback)(i=>t?t.subscribe(i):()=>{},[t]),n=(0,_.useCallback)(()=>t?.get().attributes?.[e],[t,e]);return(0,_.useSyncExternalStore)(r,n)}var RG=e=>e||void 0;function NG(){const e=M_(),t=gE("wpId"),r=RG(t);return r!==void 0?String(r):un(e)!==void 0?e:Fe()?void 0:e}var _u="em_version";function yE(e){if(!e||!e.includes("em_version"))return e;try{const t=typeof document<"u"?document.baseURI:"http://localhost/",r=new URL(e,t);return r.searchParams.has("em_version")?(r.searchParams.delete(_u),/^https?:\/\//i.test(e)||e.startsWith("//")?r.href:r.pathname+r.search+r.hash):e}catch{return e}}function DG(e){try{const t=typeof document<"u"?document.baseURI:"http://localhost/",r=new URL(e,t);return r.searchParams.set(_u,String(Date.now())),/^https?:\/\//i.test(e)||e.startsWith("//")?r.href:r.pathname+r.search+r.hash}catch{return`${e}${e.includes("?")?"&":"?"}${_u}=${Date.now()}`}}var LG=[oe.APPLICATION_OPEN_IMAGE_AI_POPUP,oe.APPLICATION_OPEN_IMAGE_UPLOAD_POPUP,oe.APPLICATION_OPEN_IMAGE_EDIT_POPUP,oe.APPLICATION_OPEN_IMAGE_GIF_POPUP,oe.APPLICATION_OPEN_IMAGE_STOCK_POPUP],FG=3e3,_E=new WeakMap;function vE(e){let t=_E.get(e);return t||(t={request:null,listeners:new Set},_E.set(e,t)),t}function bE(e){return yE(typeof e=="string"?e:"")}function xG(){const e=tt();Ci(t=>{const r=t.data;if(!r?.operation||!LG.includes(r.operation))return;const n=vE(e);n.request={operation:r.operation,src:bE(r.src),at:Date.now()},n.listeners.forEach(i=>i())})}function BG(e,t){const r=tt(),n=(0,_.useRef)(t);n.current=t,(0,_.useEffect)(()=>{const i=vE(r),o=bE(e),a=()=>{const s=i.request;!s||s.src!==o||Date.now()-s.at>FG||(i.request=null,n.current(s.operation))};return i.listeners.add(a),a(),()=>{i.listeners.delete(a)}},[r,e])}function UG(e){Promise.resolve(e).catch(t=>{})}var EE=new Set;function $G(e,t){EE.has(e)||(EE.add(e),t())}function qG(e){return!e||typeof e.totalCount!="number"&&!e.documents?.length}function GG({currentId:e,status:t,dialogEmpty:r,refetchedFor:n}){return!!e&&t==="fulfilled"&&r&&n!==e}function zG(e){return e?.lockEditor===!0}function wE(){return zG(mt())}function vu(){const e=(0,_.useRef)(!1);return e.current=wE(),(0,_.useCallback)(()=>e.current,[])}function VG(e,t,r,n){const i=hs(e),o=Symbol(`once-handler-${t}`),a=i?s=>{s[o]||(s[o]=!0,r(s))}:r;return i?.addEventListener(t,a,n),window.addEventListener(t,a,n),{dispose:()=>{i?.removeEventListener(t,a,n),window.removeEventListener(t,a,n)}}}function HG(e,t,r,n){const i=hs(e),o=Symbol(`once-handler-${t}`),a=i?s=>{s[o]||(s[o]=!0,r(s))}:r;return i?.addEventListener(t,a,n),document.addEventListener(t,a,n),{dispose:()=>{i?.removeEventListener(t,a,n),document.removeEventListener(t,a,n)}}}var WG=/^[a-zA-Z][a-zA-Z\d+\-.]*:/;function bu(e){return WG.test(e)||e.indexOf("//")===0}function xi(e){return e&&(e.endsWith("/")?e:`${e}/`)}function SE(){return typeof document<"u"&&document.baseURI?document.baseURI:typeof window<"u"&&window.location?window.location.href:""}function PE(e,t){const r=e==null||e===""?"./":String(e);if(bu(r))return xi(r);const n=t??SE();if(!n)return xi(r);try{return xi(new URL(r,n).href)}catch{return xi(r)}}function KG(e,t){const r=t??SE();if(!r)return e;try{return new URL(e,r).href}catch{return e}}function QG(e,t){const r=String(e??"");if(!r)return"";if(bu(r))return r;if(r.charAt(0)==="/")return KG(r);const n=r.replace(/^\.\/+/,"").replace(/^\/+/,"");try{return new URL(n,t).href}catch{return xi(t)+n}}function IE(){return typeof window.__emailmaker__<"u"&&window.__emailmaker__?.publicPath?PE(window.__emailmaker__.publicPath):PE("/")}function YG(e){return QG(e,IE())}function TE(e){const t=YG(e);return bu(t)?t:typeof window<"u"&&window.location?.origin?new URL(t.startsWith("/")?t:`/${t}`,window.location.origin).href:t}var Eu=e=>{if(!e)return"image/png";const t=e.toLowerCase();return t.includes("jpeg")||t.includes("jpg")||t.includes("pjpeg")?"image/jpeg":t.includes("png")?"image/png":t.includes("gif")?"image/gif":t.includes("webp")?"image/webp":t.includes("svg")?"image/svg+xml":"image/png"},OE=e=>{const t=Eu(e).split("/")[1];return t==="svg+xml"?"svg":t||"png"};function Bi(e){switch(e.trim().split(".").pop()?.toLowerCase()){case"svg":return"image/svg+xml";case"png":return"image/png";case"jpg":case"jpeg":return"image/jpeg";case"gif":return"image/gif";case"webp":return"image/webp";default:return}}function wu(e){if(e.type?.startsWith?.("image/"))return!0;const t=(e.name??"").trim();if(Bi(t))return!0;const r=(e.type??"").toLowerCase();return r.includes("svg")?!0:r==="text/xml"||r==="application/xml"||r==="text/plain"?t.toLowerCase().endsWith(".svg"):!1}var ur={MAX_SIZE_MB:.48,MAX_WIDTH_OR_HEIGHT:2e3,QUALITY:.8,KEEP_AS_IS_MAX_BITS_PER_PIXEL:1,MIN_SAVING:.1,KEEP_RESOLUTION_MAX_STEPS:5},XG=["gif","svg"];function JG(e){return!XG.includes(e)}function Su(e,t){if(e?.compressMaxSize===0||e?.compressMaxWidthOrHeight===0)return!1;const r=t?.trim()??"";return r.startsWith("image/")&&r!=="image/gif"}function Pu(e){return{maxSizeMB:e?.compressMaxSize??ur.MAX_SIZE_MB,maxWidthOrHeight:e?.compressMaxWidthOrHeight??ur.MAX_WIDTH_OR_HEIGHT}}function CE(e){if(!e)return null;const t=e.trim();if(t.endsWith("%"))return null;const r=parseFloat(t.replace(/px$/i,""));return Number.isFinite(r)&&r>0?r:null}function ZG(e){const t=e.match(/<\s*svg\b[\s\S]*?>/i)?.[0]??"",r=t.match(/\bwidth\s*=\s*["']([^"']*)["']/i)?.[1],n=t.match(/\bheight\s*=\s*["']([^"']*)["']/i)?.[1],i=CE(r),o=CE(n);if(i!=null&&o!=null)return{width:i,height:o};const a=e.match(/viewBox\s*=\s*["']([^"']+)["']/i)?.[1];if(a){const s=a.trim().split(/[\s,]+/);if(s.length===4){const c=parseFloat(s[2]),l=parseFloat(s[3]);if(Number.isFinite(c)&&Number.isFinite(l)&&c>0&&l>0)return{width:c,height:l}}}return i!=null?{width:i,height:i}:o!=null?{width:o,height:o}:{width:300,height:300}}function ez(e,t=2,r=4096){const{width:n,height:i}=ZG(e);let o=Math.max(1,Math.round(n*t)),a=Math.max(1,Math.round(i*t));const s=Math.max(64,r),c=Math.max(o,a);if(c>s){const l=s/c;o=Math.max(1,Math.round(o*l)),a=Math.max(1,Math.round(a*l))}return{width:o,height:a}}function tz(e){return new Promise((t,r)=>{e.toBlob(n=>{n?t(n):r(new Error("canvas.toBlob returned null"))},"image/png")})}async function rz(e,t,r){const n=new Blob([e],{type:"image/svg+xml;charset=utf-8"}),i=URL.createObjectURL(n);try{const o=new Image;await new Promise((u,d)=>{o.onload=()=>u(),o.onerror=()=>d(new Error("Failed to load SVG image")),o.src=i});const a=document.createElement("canvas"),s=Math.max(1,Math.round(t)),c=Math.max(1,Math.round(r));a.width=s,a.height=c;const l=a.getContext("2d");if(!l)throw new Error("Canvas 2D context is not available");return l.clearRect(0,0,s,c),l.drawImage(o,0,0,s,c),tz(a)}finally{URL.revokeObjectURL(i)}}var nz=24e3;async function iz(e,t=nz){const r=Math.min(t,Math.max(0,e.size));return e.slice(0,r).text()}function oz(e){const t=e.trimStart().replace(/^\uFEFF/,"");return t.startsWith("<")?/<\s*svg[\s>/]/i.test(t):!1}async function az(e,t={}){const r=t.pixelScale??2,n=t.maxLongEdge??4096,i=await e.text(),{width:o,height:a}=ez(i,r,n),s=await rz(i,o,a),c=t.outputFileName??e.name,l=/\.svg$/i.test(c)?c.replace(/\.svg$/i,".png"):`${c}.png`;return new File([s],l,{type:"image/png",lastModified:e.lastModified})}function Ka(e,t,r,n){return new File([e],t,{type:r,lastModified:n})}function Mr(e,t){return!t||t===e.name?e:Ka(e,t,e.type,e.lastModified)}function sz(e,t,r,n){const i=n??t.name;return e instanceof File?e.type!==r||e.lastModified!==t.lastModified||e.name!==i?Ka(e,i,r,t.lastModified):e:Ka(e,i,r,t.lastModified)}function lz(e,t){const r=t.startsWith(".")?t.slice(1):t,n=e.lastIndexOf(".");return n>0?`${e.substring(0,n)}.${r}`:`${e}.${r}`}function cz(e){return e==="image/webp"?"image/jpeg":e}async function AE(e){if(typeof createImageBitmap!="function")return null;try{const t=await createImageBitmap(e),r={width:t.width,height:t.height};return t.close(),r}catch{return null}}async function uz(e){const t=await AE(e);return t&&Math.max(t.width,t.height)}async function dz(e,t,r){if(e.size>t*1024*1024)return null;const n=await AE(e);return n&&Math.max(n.width,n.height)<=r?n:null}function fz(e,{width:t,height:r}){return e.size*8/(t*r)<=ur.KEEP_AS_IS_MAX_BITS_PER_PIXEL}async function Iu(e,t={}){const{maxSizeMB:r=ur.MAX_SIZE_MB,maxWidthOrHeight:n=ur.MAX_WIDTH_OR_HEIGHT,mimeType:i,fileName:o,libURL:a,enableCompression:s=!0,convertSvgToPng:c=!1}=t;if(!e||!(e instanceof File))return e;let l=e,u=!1;if(c){const T=(l.type||"").toLowerCase(),S=/\.svg$/i.test(l.name.trim()),A=T.includes("svg");let j=!1;if(!A&&!S)try{const O=await iz(l);j=oz(O)}catch{j=!1}if(A||S||j)try{l=await az(l,{maxLongEdge:n,outputFileName:o??l.name}),u=!0}catch{l=e}}const d=(l.type&&l.type.trim()!==""?l.type:Bi(l.name))||(u?"image/png":i)||"image/jpeg",m=Eu(d),p=u?l.name:o??l.name;if(!m.startsWith("image/"))return Mr(l,p);const g=cz(m),h=OE(m),v=OE(g),E=g!==m?lz(p,v):p,C=s&&JG(h),b=g!==m;if(!C&&!b)return Mr(l,E);const w=g==="image/png",I=C&&!b&&!w?await dz(l,r,n):null;if(I&&fz(l,I))return Mr(l,E);const y=l.type===m?l:Ka(l,l.name,m,l.lastModified);try{const T={libURL:a,useWebWorker:!0,fileType:g},{default:S}=await(0,wt.__vitePreload)(async()=>{const{default:R}=await Promise.resolve().then(()=>Ee("./a8cb6e27.js")).then(D=>D.browser_image_compression_exports);return{default:R}},void 0,{}.url);if(w&&await L2(y).catch(()=>!1))return Mr(l,E);C?(T.maxSizeMB=r,T.maxWidthOrHeight=n,w?T.initialQuality=M2:(T.initialQuality=ur.QUALITY,T.alwaysKeepResolution=!0,T.maxIteration=ur.KEEP_RESOLUTION_MAX_STEPS)):(T.maxSizeMB=Math.max(y.size/1048576+1,1),T.initialQuality=1,T.alwaysKeepResolution=!0);let A=await S(y,T);T.alwaysKeepResolution&&C&&A.size>r*1024*1024&&(A=await S(y,{...T,alwaysKeepResolution:!1,maxIteration:void 0}));const j=Eu(A.type||g),O=sz(A,y,j,E);return I&&O.size>l.size*(1-ur.MIN_SAVING)?Mr(l,E):w?F2(Mr(y,E),O):O}catch{try{return Mr(l,E)}catch{return l}}}var mz="js/browser-image-compression.js";function Tu(){return TE(mz)}var kE=["image/jpeg"];async function pz(e,t,r=Tu(),n={}){if(n.compressBySize)return jE(e,t,r);if(!wu(e))return e;const{maxWidthOrHeight:i}=Pu(t),o=e.type?.trim()||Bi(e.name)||e.type||"",a=Su(t,o),s=o.toLowerCase();if(!a&&(s==="image/png"||kE.includes(s)))return e;if(kE.includes(s)){const c=await uz(e);if(c!==null&&c<=i)return e}return Iu(e,{maxSizeMB:Number.POSITIVE_INFINITY,maxWidthOrHeight:i,mimeType:o||void 0,fileName:e.name,libURL:r,enableCompression:a,convertSvgToPng:!0})}async function jE(e,t,r=Tu()){if(!wu(e))return e;const{maxSizeMB:n,maxWidthOrHeight:i}=Pu(t),o=e.type?.trim()||Bi(e.name)||e.type||"";return Iu(e,{maxSizeMB:n,maxWidthOrHeight:i,mimeType:o||void 0,fileName:e.name,libURL:r,enableCompression:Su(t,o),convertSvgToPng:!0})}function hz(e,t){const r=e,n=r?.data?.operation!==void 0?r.data:r;if(n?.operation===t)return n.file instanceof File?n.file:void 0}async function gz(e,t){try{const r=await t.prepare(e),n=await t.upload(r);return n?{status:"uploaded",url:n}:{status:"failed",error:void 0}}catch(r){return{status:"failed",error:r}}}function yz(){const[e,t]=(0,_.useState)(!1),r=qs(),n=$t(P.events.ON_BROWSER_EXTENSION_DETECTED_ID),i=(0,_.useCallback)(()=>{t(!1)},[]);return(0,_.useEffect)(()=>{const o=n.event(()=>{r||t(!0)});return()=>o.dispose()},[n,r]),{open:e,close:i}}function _z(){const[e,t]=(0,_.useState)(!1),r=qs(),n=$t(P.events.ON_BROWSER_TRANSLATE_DETECTED_ID),i=(0,_.useCallback)(()=>{t(!1)},[]);return(0,_.useEffect)(()=>{const o=n.event(()=>{r||t(!0)});return()=>o.dispose()},[n,r]),{open:e,close:i}}var vz=["translated-ltr","translated-rtl"],bz=".goog-te-banner-frame",Ou=!1;function Ez(e){if(e)return e;if(!(typeof document>"u"))return document}function wz(e){const t=Ez(e);if(!t?.documentElement)return!1;const r=t.documentElement.classList;return vz.some(n=>r.contains(n))?!0:t.querySelector(bz)!=null}function Sz(){Ou=!1}function Pz(e){const t=wz();return t&&!Ou&&e(),Ou=t,t}var Iz=500;function Tz(){const e=$t(P.events.ON_BROWSER_TRANSLATE_DETECTED_ID),t=(0,_.useRef)(null);(0,_.useEffect)(()=>{if(typeof window>"u")return;const r=()=>{Pz(()=>{e.fire()})},n=()=>{t.current!=null&&clearTimeout(t.current),t.current=setTimeout(()=>{t.current=null,r()},Iz)};r();const i=()=>{n()},o=()=>{document.visibilityState==="visible"&&n()},a=new MutationObserver(()=>{n()});return a.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),window.addEventListener("focus",i),document.addEventListener("visibilitychange",o),()=>{t.current!=null&&clearTimeout(t.current),Sz(),a.disconnect(),window.removeEventListener("focus",i),document.removeEventListener("visibilitychange",o)}},[e])}function Oz(){const e=Xs();return(0,_.useCallback)(()=>{document.body.classList.remove("editor"),e("/billing")},[e])}var Cu={},ME=(0,_.createContext)(Cu),RE=(0,_.createContext)({current:Cu}),NE=(0,_.createContext)(()=>{});function Cz({children:e}){const t=ut(),r=vt(I_),n=bm(P.SETTINGS_PANEL_EVENT),[i,o]=(0,_.useState)(Cu),a=(0,_.useRef)(i);return a.current=i,(0,_.useEffect)(()=>{const s=n(c=>{const l=c?.type===P.ADVANCED_SETTINGS_PANEL;if((!c||!c.type&&!c.content&&!c.advancedTabs?.length)&&r==="Properties")o({}),t(S_());else if(r!=="Properties"&&t(Mc(nm)),c.advancedTabs?.length&&!l&&!c.content){const u=c.advancedTabs.map(d=>({content:d.content,label:d.label,key:d.key,className:d.className}));o(d=>({settings:{},extraTabs:u}))}else if(l&&c.content){const u=c.advancedTabs?.map(d=>({content:d.content,label:d.label,key:d.key,className:d.className}));o(d=>({settings:{},type:c.type,content:c.content,instanceKey:c.instanceKey,parent:c.parent,caption:c.caption,extraTabs:u,deletable:c.deletable}))}});return()=>s.dispose()},[n,o,t,r]),(0,M.jsx)(NE.Provider,{value:o,children:(0,M.jsx)(RE.Provider,{value:a,children:(0,M.jsx)(ME.Provider,{value:i,children:e})})})}function Au(){return(0,_.useContext)(ME)}function Az(){return(0,_.useContext)(RE)}function kz(){return(0,_.useContext)(NE)}var DE={widthCodeSplit:50,isResizing:!1,currentSide:null},LE=(0,_.createContext)({current:DE}),FE=(0,_.createContext)(DE.widthCodeSplit),xE=(0,_.createContext)({isResizing:!1,currentSide:null}),BE=(0,_.createContext)({setWidthCodeSplit:()=>{},setIsResizing:()=>{},setCurrentSide:()=>{},setBlockMaxHeight:()=>{}}),UE=(0,_.createContext)("unset");function jz({children:e}){const[t,r]=(0,_.useState)(()=>+window.localStorage.getItem(ft.em_code_mode_pane_sizes)||50),[n,i]=(0,_.useState)(!1),[o,a]=(0,_.useState)(null),[s,c]=(0,_.useState)("unset"),l=(0,_.useMemo)(()=>({widthCodeSplit:t,isResizing:n,currentSide:o}),[t,n,o]),u=(0,_.useMemo)(()=>({isResizing:n,currentSide:o}),[n,o]),d=(0,_.useRef)(l);d.current=l;const m=(0,_.useMemo)(()=>({setWidthCodeSplit:r,setIsResizing:i,setCurrentSide:a,setBlockMaxHeight:c}),[]);return(0,M.jsx)(BE.Provider,{value:m,children:(0,M.jsx)(LE.Provider,{value:d,children:(0,M.jsx)(xE.Provider,{value:u,children:(0,M.jsx)(FE.Provider,{value:t,children:(0,M.jsx)(UE.Provider,{value:s,children:e})})})})})}function $E(){return(0,_.useContext)(xE)}function qE(){return(0,_.useContext)(FE)}function Mz(){return(0,_.useContext)(LE)}function Rz(){return(0,_.useContext)(UE)}function Nz(){return(0,_.useContext)(BE)}var GE=(0,_.createContext)({previewAlertShow:!1,templateNotEmAlertShow:!1}),zE=(0,_.createContext)({setPreviewAlertShow:()=>{},setTemplateNotEmAlertShow:()=>{}});function Dz({children:e}){const[t,r]=(0,_.useState)(!1),[n,i]=(0,_.useState)(!1),o=(0,_.useMemo)(()=>({previewAlertShow:t,templateNotEmAlertShow:n}),[t,n]),a=(0,_.useMemo)(()=>({setPreviewAlertShow:r,setTemplateNotEmAlertShow:i}),[]);return(0,M.jsx)(zE.Provider,{value:a,children:(0,M.jsx)(GE.Provider,{value:o,children:e})})}function Lz(){return(0,_.useContext)(GE)}function Fz(){return(0,_.useContext)(zE)}function xz({className:e,sidePanelFloating:t,isCodeMode:r,codeModeDirection:n,children:i}){const o=Rz(),a=(0,_.useMemo)(()=>{const s=Number.isFinite(o)?`${o}px`:"unset";return{"--em-pane-block-height":t?r&&n==="bottom"?s:"calc(100% - 30px)":"100%"}},[t,r,n,o]);return(0,M.jsx)(B.ui_kit$Layout,{className:e,style:a,children:i})}function Bz(){const[e,t]=(0,_.useState)(!1);return(0,_.useEffect)(()=>{let r=0;const n=window.requestAnimationFrame(()=>{r=window.requestAnimationFrame(()=>t(!0))});return()=>{window.cancelAnimationFrame(n),window.cancelAnimationFrame(r)}},[]),e}function Uz({maxPaneWidth:e,isCodeMode:t,codeModeDirection:r,isShowMobileSettings:n,desktopMobileSwitchPanel:i,children:o}){const a=vt(P_),{isResizing:s,currentSide:c}=$E(),l=t&&r!=="bottom"&&!n&&i?"100%":a,u=Bz(),d=(0,_.useMemo)(()=>({maxWidth:typeof l=="number"?Math.min(l,e):e,...u?{}:{transition:"none"}}),[l,e,u]);return(0,M.jsx)("div",{className:(0,Nt.default)("email-pane__resizable",{"email-pane__resizable_drag":c||s}),style:d,children:o})}function $z({isCodeMode:e,codeModeDirection:t,sidePanelFloating:r,contentWrapperRef:n,children:i}){const o=qE(),a=(0,_.useMemo)(()=>({flexGrow:1,overflowY:r?"scroll":"hidden",overflowX:"hidden",height:e&&t==="bottom"?`calc(${o}%)`:"100%",width:`${t==="left"?100-o:t==="bottom"?100:o}%`}),[e,t,r,o]);return(0,M.jsx)(B.ui_kit$Col,{style:a,id:"pane-content-wrapper",ref:n,children:i})}function qz({isCodeMode:e,codeModeDirection:t,children:r}){const n=qE(),i=(0,_.useMemo)(()=>({width:`${t==="right"?100-n:t==="bottom"?100:n}%`,position:"relative",height:t==="bottom"?`calc(${100-n}%)`:"unset",display:e?"initial":"none"}),[e,t,n]);return(0,M.jsx)(B.ui_kit$Col,{style:i,children:r})}function Gz({wrapperRef:e,children:t}){const{isResizing:r,currentSide:n}=$E();return(0,M.jsx)("div",{className:(0,Nt.default)("email-pane__content-col email-pane__content-col_main",{"email-pane__content-col_disable":n||r}),ref:e,children:t})}function zz({isShowMobileSettings:e,headless:t,templateNotEmAlertEnabled:r}){const{__:n}=de(),{previewAlertShow:i,templateNotEmAlertShow:o}=Lz();return(0,M.jsxs)(M.Fragment,{children:[i&&e&&(0,M.jsx)(B.ui_kit$Alert,{title:n("Template is not mobile-friendly"),description:n("While editing, some elements of the email no longer fit the screen of the mobile device. Check that these elements are set to a smaller width for mobile devices."),type:"warning",className:"email-pane__col__alert",closable:!0}),o&&!t&&r&&(0,M.jsx)(B.ui_kit$Alert,{title:n("Template from another editor"),description:n("This template was created in another editor. Rebuild it from our components to get stable rendering, error-free editing, and full design control."),type:"warning",className:"email-pane__col__alert",closable:!0}),(0,M.jsx)(qR,{})]})}function VE(){const e=xa(),t=vt(Xf),r=vt(g_);return e==="email"?t:r}function Vz({isShowMobileSettings:e,propertiesPanelKey:t,onMouseLeave:r,email:n,onClosePanel:i}){const o=VE(),a=Au();return o?.type||a?.type||a?.content||a?.extraTabs?.length?(0,M.jsx)("div",{className:(0,Nt.default)("email-pane__collapse-wrapper",{"mobile-view":e,"mobile-properties":e&&t!=="Structure"}),onMouseLeave:r,children:(0,M.jsx)(_.Suspense,{fallback:(0,M.jsx)(B.ui_kit$PageLoader,{}),children:(0,M.jsx)(pb,{email:n,formSettings:a,onClosePanel:i})})}):null}function Hz({className:e,emailElementType:t}){return(0,M.jsx)(_.Suspense,{fallback:(0,M.jsx)(B.ui_kit$PageLoader,{}),children:(0,M.jsx)(gq,{className:e,emailElementType:t,formSettings:Au()})})}function Wz({isCodeMode:e,codeModeDirection:t}){const r=xa(),n=VE()?.type;return!(n===qr.TEXT||n===qr.LINK||n===qr.IMG||n===qr.BUTTON)||!e||t==="bottom"?null:(0,M.jsx)(Hz,{className:(0,Nt.default)("selected-element-panel__content selected-element-panel__content_abs",{"selected-element-panel__hidden":n===qr.IMG}),emailElementType:r})}function Kz({isCodeMode:e,codeModeDirection:t,email:r,onClosePanel:n}){const i=Au();return i?.type!=="img"||!e||t==="bottom"?null:(0,M.jsx)("div",{className:"email-pane__collapse-wrapper email-pane__collapse-wrapper_disabled",children:(0,M.jsx)(_.Suspense,{fallback:(0,M.jsx)(B.ui_kit$PageLoader,{}),children:(0,M.jsx)(pb,{email:r,formSettings:i,onClosePanel:n})})})}function Qz(e){return DL(e||"en_US")}var Yz=Y.__commonJSMin(((e,t)=>{(function(){var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n={rotl:function(i,o){return i<<o|i>>>32-o},rotr:function(i,o){return i<<32-o|i>>>o},endian:function(i){if(i.constructor==Number)return n.rotl(i,8)&16711935|n.rotl(i,24)&4278255360;for(var o=0;o<i.length;o++)i[o]=n.endian(i[o]);return i},randomBytes:function(i){for(var o=[];i>0;i--)o.push(Math.floor(Math.random()*256));return o},bytesToWords:function(i){for(var o=[],a=0,s=0;a<i.length;a++,s+=8)o[s>>>5]|=i[a]<<24-s%32;return o},wordsToBytes:function(i){for(var o=[],a=0;a<i.length*32;a+=8)o.push(i[a>>>5]>>>24-a%32&255);return o},bytesToHex:function(i){for(var o=[],a=0;a<i.length;a++)o.push((i[a]>>>4).toString(16)),o.push((i[a]&15).toString(16));return o.join("")},hexToBytes:function(i){for(var o=[],a=0;a<i.length;a+=2)o.push(parseInt(i.substr(a,2),16));return o},bytesToBase64:function(i){for(var o=[],a=0;a<i.length;a+=3)for(var s=i[a]<<16|i[a+1]<<8|i[a+2],c=0;c<4;c++)a*8+c*6<=i.length*8?o.push(r.charAt(s>>>6*(3-c)&63)):o.push("=");return o.join("")},base64ToBytes:function(i){i=i.replace(/[^A-Z0-9+\/]/gi,"");for(var o=[],a=0,s=0;a<i.length;s=++a%4)s!=0&&o.push((r.indexOf(i.charAt(a-1))&Math.pow(2,-2*s+8)-1)<<s*2|r.indexOf(i.charAt(a))>>>6-s*2);return o}};t.exports=n})()})),HE=Y.__commonJSMin(((e,t)=>{var r={utf8:{stringToBytes:function(n){return r.bin.stringToBytes(unescape(encodeURIComponent(n)))},bytesToString:function(n){return decodeURIComponent(escape(r.bin.bytesToString(n)))}},bin:{stringToBytes:function(n){for(var i=[],o=0;o<n.length;o++)i.push(n.charCodeAt(o)&255);return i},bytesToString:function(n){for(var i=[],o=0;o<n.length;o++)i.push(String.fromCharCode(n[o]));return i.join("")}}};t.exports=r})),Xz=Y.__commonJSMin(((e,t)=>{t.exports=function(i){return i!=null&&(r(i)||n(i)||!!i._isBuffer)};function r(i){return!!i.constructor&&typeof i.constructor.isBuffer=="function"&&i.constructor.isBuffer(i)}function n(i){return typeof i.readFloatLE=="function"&&typeof i.slice=="function"&&r(i.slice(0,0))}})),Jz=Y.__commonJSMin(((e,t)=>{(function(){var r=Yz(),n=HE().utf8,i=Xz(),o=HE().bin,a=function(s,c){s.constructor==String?c&&c.encoding==="binary"?s=o.stringToBytes(s):s=n.stringToBytes(s):i(s)?s=Array.prototype.slice.call(s,0):!Array.isArray(s)&&s.constructor!==Uint8Array&&(s=s.toString());for(var l=r.bytesToWords(s),u=s.length*8,d=1732584193,m=-271733879,p=-1732584194,g=271733878,h=0;h<l.length;h++)l[h]=(l[h]<<8|l[h]>>>24)&16711935|(l[h]<<24|l[h]>>>8)&4278255360;l[u>>>5]|=128<<u%32,l[(u+64>>>9<<4)+14]=u;for(var v=a._ff,E=a._gg,C=a._hh,b=a._ii,h=0;h<l.length;h+=16){var w=d,I=m,y=p,T=g;d=v(d,m,p,g,l[h+0],7,-680876936),g=v(g,d,m,p,l[h+1],12,-389564586),p=v(p,g,d,m,l[h+2],17,606105819),m=v(m,p,g,d,l[h+3],22,-1044525330),d=v(d,m,p,g,l[h+4],7,-176418897),g=v(g,d,m,p,l[h+5],12,1200080426),p=v(p,g,d,m,l[h+6],17,-1473231341),m=v(m,p,g,d,l[h+7],22,-45705983),d=v(d,m,p,g,l[h+8],7,1770035416),g=v(g,d,m,p,l[h+9],12,-1958414417),p=v(p,g,d,m,l[h+10],17,-42063),m=v(m,p,g,d,l[h+11],22,-1990404162),d=v(d,m,p,g,l[h+12],7,1804603682),g=v(g,d,m,p,l[h+13],12,-40341101),p=v(p,g,d,m,l[h+14],17,-1502002290),m=v(m,p,g,d,l[h+15],22,1236535329),d=E(d,m,p,g,l[h+1],5,-165796510),g=E(g,d,m,p,l[h+6],9,-1069501632),p=E(p,g,d,m,l[h+11],14,643717713),m=E(m,p,g,d,l[h+0],20,-373897302),d=E(d,m,p,g,l[h+5],5,-701558691),g=E(g,d,m,p,l[h+10],9,38016083),p=E(p,g,d,m,l[h+15],14,-660478335),m=E(m,p,g,d,l[h+4],20,-405537848),d=E(d,m,p,g,l[h+9],5,568446438),g=E(g,d,m,p,l[h+14],9,-1019803690),p=E(p,g,d,m,l[h+3],14,-187363961),m=E(m,p,g,d,l[h+8],20,1163531501),d=E(d,m,p,g,l[h+13],5,-1444681467),g=E(g,d,m,p,l[h+2],9,-51403784),p=E(p,g,d,m,l[h+7],14,1735328473),m=E(m,p,g,d,l[h+12],20,-1926607734),d=C(d,m,p,g,l[h+5],4,-378558),g=C(g,d,m,p,l[h+8],11,-2022574463),p=C(p,g,d,m,l[h+11],16,1839030562),m=C(m,p,g,d,l[h+14],23,-35309556),d=C(d,m,p,g,l[h+1],4,-1530992060),g=C(g,d,m,p,l[h+4],11,1272893353),p=C(p,g,d,m,l[h+7],16,-155497632),m=C(m,p,g,d,l[h+10],23,-1094730640),d=C(d,m,p,g,l[h+13],4,681279174),g=C(g,d,m,p,l[h+0],11,-358537222),p=C(p,g,d,m,l[h+3],16,-722521979),m=C(m,p,g,d,l[h+6],23,76029189),d=C(d,m,p,g,l[h+9],4,-640364487),g=C(g,d,m,p,l[h+12],11,-421815835),p=C(p,g,d,m,l[h+15],16,530742520),m=C(m,p,g,d,l[h+2],23,-995338651),d=b(d,m,p,g,l[h+0],6,-198630844),g=b(g,d,m,p,l[h+7],10,1126891415),p=b(p,g,d,m,l[h+14],15,-1416354905),m=b(m,p,g,d,l[h+5],21,-57434055),d=b(d,m,p,g,l[h+12],6,1700485571),g=b(g,d,m,p,l[h+3],10,-1894986606),p=b(p,g,d,m,l[h+10],15,-1051523),m=b(m,p,g,d,l[h+1],21,-2054922799),d=b(d,m,p,g,l[h+8],6,1873313359),g=b(g,d,m,p,l[h+15],10,-30611744),p=b(p,g,d,m,l[h+6],15,-1560198380),m=b(m,p,g,d,l[h+13],21,1309151649),d=b(d,m,p,g,l[h+4],6,-145523070),g=b(g,d,m,p,l[h+11],10,-1120210379),p=b(p,g,d,m,l[h+2],15,718787259),m=b(m,p,g,d,l[h+9],21,-343485551),d=d+w>>>0,m=m+I>>>0,p=p+y>>>0,g=g+T>>>0}return r.endian([d,m,p,g])};a._ff=function(s,c,l,u,d,m,p){var g=s+(c&l|~c&u)+(d>>>0)+p;return(g<<m|g>>>32-m)+c},a._gg=function(s,c,l,u,d,m,p){var g=s+(c&u|l&~u)+(d>>>0)+p;return(g<<m|g>>>32-m)+c},a._hh=function(s,c,l,u,d,m,p){var g=s+(c^l^u)+(d>>>0)+p;return(g<<m|g>>>32-m)+c},a._ii=function(s,c,l,u,d,m,p){var g=s+(l^(c|~u))+(d>>>0)+p;return(g<<m|g>>>32-m)+c},a._blocksize=16,a._digestsize=16,t.exports=function(s,c){if(s==null)throw new Error("Illegal argument "+s);var l=r.wordsToBytes(a(s,c));return c&&c.asBytes?l:c&&c.asString?o.bytesToString(l):r.bytesToHex(l)}})()})),WE=Y.__toESM(Jz());function Zz(e){return e.replace(/\/+$/,"")}function KE(e,t){const r=Zz(String(t||"").trim());if(!r)throw new Error(`[previewUrls] Missing ${e}`);return r}function QE(){return typeof window<"u"&&!window.location.host.includes("localhost")?window.location.origin:new URL(KE("REACT_APP_OPENAPI_BASE_URL","https://app.emailmaker.ru/api/")).origin}function eV(){return new URL(QE()).hostname}function YE(){return QE()}function tV(){return new URL(KE("REACT_APP_IMAGE_INFO_TOOL","https://scr.emcdn.ru/imageinfo")).origin}function rV(){return typeof window<"u"&&window.location.host.includes("localhost"),tV()}function Qa(e,t){return(0,WE.default)(`${e}${t}${ZT}`)}function nV(e,t,r,n){const i=n??Qa(r,t);return`https://${eV()}/get${e}/${t}?secret_hash=${i}&raw=true`}function iV(e,t,r){return`/get${e}/${t}?secret_hash=${Qa(r,t)}&raw=true`}function oV(e,t){return`${YE()}/email/${e}/raw?key=${Qa(t,e)}`}function aV(e,t){return`/email/${e}/raw?key=${Qa(t,e)}`}function XE(e,t){return`/email/${e}/raw?key=${encodeURIComponent(t)}`}function sV(e,t){return`${YE()}${XE(e,t)}`}function lV(e){return e==null||e===""?"":`&cacheControl=true&cache-hash=${(0,WE.default)(String(e))}`}var E6=800;function JE({type:e,projectId:t,elementId:r,cacheKey:n,clearCache:i=!0,pixelRatio:o=.8,selector:a,force:s,minHeight:c,targetUrl:l,width:u=800}){const d=rV(),m=lV(n),p=c?`minHeight=${c}&`:"",g=s===void 0?"":`&force=${s}`,h=l??nV(e,r,t);return`${d}/screenshot?${p}delay=1000&width=${u}${a?"":"&fullPage=true"}&deviceScaleFactor=${o}&format=jpg&clearCache=${i}${m}${g}&url=${encodeURIComponent(h)}${a?`&selector=${a}`:""}`}function cV(e,t,r=!0,n=.8,i,o,a){const s=`https://racs.emcdn.ru/v3/file/${e}?resource=exportPngApi`;return JE({type:"email",projectId:0,elementId:e,cacheKey:t??o??e,clearCache:r,pixelRatio:n,selector:i,targetUrl:s,width:a})}function uV(e,t,r,n){return JE({type:e,projectId:t,elementId:r,cacheKey:n??null,pixelRatio:.8,clearCache:!0})}function dV(){return"support@emailmaker.ru"}function fV(){return yT==="emailmaker"}var mV=({open:e,onClose:t})=>{const{__:r}=de(),n=dV(),[i,o=""]=r("To send a test email, you need to confirm your email address. If you haven’t received the confirmation link, contact support in the chat or email {supportEmail}.").split("{supportEmail}");return(0,M.jsx)(B.ui_kit$Modal,{width:440,open:e,onCancel:t,title:(0,M.jsxs)("div",{style:{paddingBottom:8},children:[(0,M.jsx)(ee,{icon:"EmailConfirmation",component:B.icons$EmailConfirmation,size:20,strokeWidth:2})," ",r("Email confirmation required")]}),footer:[(0,M.jsx)(B.ui_kit$Button,{size:"large",type:"primary",onClick:t,children:r("Got it")},"ok")],children:(0,M.jsxs)("p",{children:[i,(0,M.jsx)("a",{href:`mailto:${n}`,children:n}),o]})})},ZE={historyData:[],elementHistoryHasMore:!1},ku="revisionHistorySlice",ju=Le({name:ku,initialState:ZE,reducers:{resetElementHistorySlice:()=>({...ZE}),setElementHistory:(e,t)=>{t.payload.length!==0&&(e.historyData=t.payload)},setElementHistoryPage:(e,{payload:t})=>{e.historyData=t.revisions,e.elementHistoryHasMore=t.hasMore}}}),{resetElementHistorySlice:ew,setElementHistoryPage:pV}=ju.actions,{setElementHistory:w6}=ju.actions,hV=e=>e[ku].elementHistoryHasMore,gV=e=>e[ku].historyData,yV=P.createIdentifier$1("EmailHistoryAvailabilityResolver");async function _V(e){const t=e.getInstance(yV);if(!t)return!0;try{return await t()}catch{return!1}}function Mu(e,t){const r=ar(e).current()?.get();if(!(r?.serverId==null||String(r.serverId)!==String(t)))return r.attributes.wpId}var tw={isStale:!0};function vV(){const e=me(),t=ut();return(0,_.useCallback)(async(r,n=1)=>{const i=P.getContainer(e),o=ar(i),a=Ae(o.sessionKey()),s=o.current()?.get().docId,c=()=>o.current()?.get().docId!==s,l=(u,d)=>c()?tw:(n===1&&t(pV({revisions:u,hasMore:d})),{isSuccess:!0,data:{data:u,hasMore:d}});try{if(a){if(!qh(i))return l([],!1);const{revisions:m,hasMore:p}=await Xo(i).readRevisions(String(r),n,{wpId:Mu(i,r)});return l(m,p)}if(!await _V(i))return l([],!1);const{revisions:u,hasMore:d}=await Yo(i).readRevisions(String(r),n,{wpId:Mu(i,r)});return l(u,d)}catch(u){return c()?tw:{isError:!0,error:u}}},[e,t])}function bV(){const e=me();return(0,_.useCallback)(async(t,r)=>{if(!r.id)return r;const n=P.getContainer(e),i=await(Ae(ar(n).sessionKey())?Xo(n):Yo(n)).readRevision?.(String(t),r.id,{wpId:Mu(n,t)});return i?{...r,...i}:r},[e])}function EV(e,t){const r=e?.secretHash;if(!(!t||!r||e?.id==null||un(e.id)!==void 0))return{emailId:String(e.id),key:r}}var rw=Ne({reducerPath:"saveFileApi",tagTypes:["Images"],baseQuery:We({baseUrl:"https://app.emailmaker.ru/api/wp-json/save-file/v1/"}),endpoints:e=>({uploadImage:e.mutation({queryFn(t,r){return K(r).saveFile.upload_create(t,{type:P.ContentType.FormData})}}),sendTestEmail:e.mutation({queryFn(t,r){return K(r).saveFile.send_email_create(t,{type:P.ContentType.FormData})}}),sendLivePreview:e.mutation({queryFn(t,r){return K(r).saveFile.get_link_create(t,{type:P.ContentType.FormData})}}),sendShortLink:e.mutation({queryFn(t,r){return K(r).saveFile.shortener_create(t,{type:P.ContentType.FormData})}})})}),{useUploadImageMutation:wV,useSendTestEmailMutation:SV,useSendLivePreviewMutation:PV,useSendShortLinkMutation:IV}=rw,TV="Not available for collaborative editing",OV="Problem with internet connection",CV=e=>{const t=kr(),[r,n]=(0,_.useState)({owner:!1,admin:!1,user:!1}),i=nt(),{data:o}=gy(e,{skip:!e||!t.id||!!i}),a=i||o;return(0,_.useEffect)(()=>{if(a){const s=N_(a,t);n({owner:s==="owner",admin:s==="admin",user:s==="user"})}},[a,t]),r};function AV(){const{document:e}=gt();return(0,_.useCallback)(()=>Nv(e),[e])}var kV=new Set(["emails.history_locked_by_plan","blocks.history_locked_by_plan","apps.history_locked_by_plan"]),nw=class extends Error{code;constructor(e){super(e),this.code=e,this.name="HistoryLockedByPlanError"}},iw=class extends Error{status;data;error;constructor(e){const t=typeof e.data.message=="string"?e.data.message.trim():"";super(t||`history: ${e.status} ${e.data.code??""}`.trim()),this.name="HistoryReadFailedError",this.error=e,this.status=e.status,this.data=e.data}};function jV(e){if(!e)throw new iw({status:0,data:{code:"no_response"}});if(!e.ok){const t=ae(e),r=String(t.data.code??"");throw kV.has(r)?new nw(r):new iw(t)}}function MV(e){const t=kv(e),r=vu();return(0,_.useMemo)(()=>({...t,undo:()=>r()?void 0:t.undo(),redo:()=>r()?void 0:t.redo()}),[t,r])}function ow(e,t){if(e==null||e==="")return;const r=String(e);return t?.find(n=>String(n.userId)===r)}function RV(e,t,r){if(e==null||e===""||!t)return!1;const n=String(e);if(t.id!=null&&t.id!==""&&String(t.id)===n)return!0;const i=ow(e,r),o=t.email?.trim().toLowerCase(),a=i?.email?.trim().toLowerCase();return!!(o&&a&&o===a)}function NV(e){const t={order:"desc",orderby:"modified"},r={};if(e.notEmbed||(r._embed=""),e.projectId&&(r._embed="author",r._fields="id,title,meta,emailtags,folder,group,modified,date,type,acf.lock,acf.project.ID,author,acf.is_template,_embedded",t["filter[meta_key]"]="project",t["filter[meta_value]"]=e.projectId),e.fields&&(r._fields=e.fields),e.page&&(t.page=e.page),(e.order==="asc"||e.order==="desc")&&(t.order=e.order),e.orderby&&(t.orderby=e.orderby),e.folderTag&&e.folderTag!=="all"?(t["filter[tax_query][relation]"]="AND",t["filter[tax_query][0][taxonomy]"]="folder",t["filter[tax_query][0][field]"]="id",t["filter[tax_query][0][terms]"]=e.folderTag,t["filter[tax_query][0][include_children]"]="0"):(e.folderTag!=="all"||typeof e.folderTag=="object"&&e.folderTag===null)&&!e.tags?.length&&e.status&&e.status!=="trash"&&(t["filter[tax_query][0][taxonomy]"]="folder",t["filter[tax_query][0][operator]"]="NOT EXISTS"),e.tags?.length>0&&e.status!=="trash"){t["filter[tax_query][relation]"]="AND";for(let n=0,i=e.tags.length;n<i;n++){const o=e.tags[n];t[`filter[tax_query][${n+1}][taxonomy]`]="emailtags",t[`filter[tax_query][${n+1}][field]`]="id",t[`filter[tax_query][${n+1}][terms]`]=o}}return e.name&&(t.search=e.name),e.pageSize&&(t.per_page=e.pageSize),e.status==="trash"&&(r.status="trash"),{request:t,extraQuery:r}}var Ru=class extends Error{v2Error;constructor(e,t){super(`[emailmaker] письмо ${e} не удалено: ${t.status} ${t.data.code??""}`.trim()),this.name="EmailDeleteFailedError",this.v2Error=t}};async function aw(e,t,r){const n=await le(e,[Ct]).emailsDelete({id:t,...r?{force:!0}:{}});if(ne(n))throw new Ru(t,await Zr(n))}async function DV(e,t,r){try{return await aw(e,t,r),{ok:!0,status:204,data:void 0,error:null}}catch(n){if(!(n instanceof Ru))throw n;const{status:i,data:o}=n.v2Error,a=i===404;return{ok:a,status:i,data:void 0,error:a?null:{data:o}}}}var LV="parent_email_without_wp_id";function FV(e){return typeof e!="string"||e===""?!1:!/^\d+$/.test(e)}async function xV(e,t){const r=await le(e,[Ct]).emailsDetail({id:t});return ne(r)?{error:ae(r)}:r.data?.wp_id?{data:r.data.wp_id}:{error:{status:r.status,data:{code:LV}}}}var BV={modified:"updated_at",date:"created_at",title:"name",name:"name"},UV="trashed";function $V(e){const t=Math.max(1,e.pageSize??24),r=Math.max(1,e.page??1),n={project_id:e.projectId,limit:t,offset:(r-1)*t},i=e.status==="trash";if(i&&(n.status=UV),!i){const o=(e.tags??[]).filter(Ot),a=o.length>0;a&&(n.tags=o),Ot(e.folderTag)&&(n.folder_id=e.folderTag),e.folderTag===null&&!a&&(n.without_folder=!0)}return e.name&&(n.search=e.name),(e.order==="asc"||e.order==="desc")&&(n.order=e.order),e.orderby&&(n.order_by=BV[e.orderby]??e.orderby),n}function qV(e){if(!(e==null||e===""))return un(e)===void 0?String(e):void 0}function sw(e){return Ot(e)?e:void 0}function GV(e){if(e!=null)return e.length===0?null:sw(e[0])}function zV(e){return e==null?[]:[e]}function lw(e){return{id:e.id,wpId:e.wp_id||void 0,title:e.name,description:e.description,author:e.author_id,project:e.project_id,parent_email:e.parent_email_id,folder:zV(e.folder_id),emailtags:e.tag_ids,previewUrl:e.preview_url||void 0,projectCategories:e.project_category_ids,lock:e.locked,is_template:e.is_template,isAmp:e.is_amp,modified:e.updated_at,date_gmt:e.created_at}}function Ya(e){return{...lw(e),html:e.html,common_styles:e.common_styles,utm_parameters:e.utm_parameters,secretHash:e.secret_hash||void 0}}function cw(e){return lw(e)}function VV(e){return{id:e.id,title:e.name,html:e.html,common_styles:e.common_styles,isAmp:e.is_amp,utm_parameters:e.utm_parameters,wpId:e.wp_id||void 0,project_title:e.project_name||void 0}}function HV(e){return e.tags?.length?{tag_ids:[],tag_names:e.tags}:{tag_ids:HA(e.emailtags)}}function uw(e){return{name:e.title,description:e.description,html:e.html,common_styles:e.common_styles,folder_id:sw(e.folder?.[0]),...HV(e),project_category_ids:e.is_template===!1?void 0:e.projectCategories,is_template:e.is_template,parent_email_id:qV(e.parent_email),utm_parameters:e.utm_parameters}}function dw(e){return Se({...uw(e),folder_id:GV(e.folder),locked:e.lock})}function fw(e){return Se({...uw(e),project_id:e.project==null?void 0:String(e.project)})}async function mw(e,t){const r=await le(e,[Ct]).emailsList($V(t));if(ne(r))return{error:ae(r)};const n=(r.data?.data??[]).map(a=>cw(a)),i=Math.max(1,t.pageSize??24),o=r.data?.page?.total??n.length;return{data:n,meta:{emailsListPagination:{total:o,totalPages:Math.max(1,Math.ceil(o/i))}}}}var pw={[wo.ALL]:"all",[wo.PROJECT]:"project",[wo.STANDARD]:"shared"},WV={modified:"updated_at",date:"created_at",title:"name",name:"name"};function hw(e){const t=(e??[]).map(({key:r})=>r).filter(r=>typeof r=="string"&&!!r);return t.length>0?t:void 0}function KV(e,t){const r=Math.max(1,e.pageSize??24),n=Math.max(1,e.page??1),i=pw[e.groupType??""]??"all",o={scope:i,limit:r,offset:(n-1)*r};i!=="shared"&&t&&(o.project_id=t);const a=(e.tags??[]).filter(Ot);a.length&&(o.tags=a);const s=hw(e.projectGroup);s&&(o.project_categories=s);const c=hw(e.group);return c&&(o.categories=c),e.name&&(o.search=e.name),o.order_by=WV.modified,o.order="desc",o}async function QV(e,t,r){const n=wi(r)?Number(r):void 0,i=n==null?[...new Set(t.map(a=>a.project).filter(a=>typeof a=="string"))]:[],o=new Map(await Promise.all(i.map(async a=>[a,await t_(e,a)])));return t.map(a=>{const s=typeof a.project=="string"?n??o.get(a.project):void 0;return s==null?a:{...a,projectWpId:s}})}async function YV(e,t){const r=(pw[t.groupType??""]??"all")==="shared"||t.projectId==null?void 0:String(t.projectId),n=await le(e,[Ct]).templatesList(KV(t,r));if(ne(n))return{error:ae(n)};const i=await QV(e,(n.data?.data??[]).map(s=>cw(s)),r),o=Math.max(1,t.pageSize??24),a=n.data?.page?.total??i.length;return{data:i,meta:{emailsListPagination:{total:a,totalPages:Math.max(1,Math.ceil(a/o))}}}}var XV=e=>e.status==="publish";async function gw(e,t){const r=await le(e,[Ct]).emailsDetail({id:t});return ne(r)?{error:ae(r)}:{data:Ya(r.data??{})}}async function JV(e,t,r){const n=le(e,[Ct]),i=dw(r);let o;if(Object.keys(i).length>0){const a=await n.emailsPartialUpdate({id:t},i);if(ne(a))return{error:ae(a)};o={data:Ya(a.data??{})}}if(XV(r)){const a=await n.restoreCreate({id:t});return ne(a)?{error:await Zr(a)}:gw(e,t)}return o??gw(e,t)}async function ZV(e,t){let r=t.project;if(wi(r))try{r=await Ia(e,r)}catch(i){return{error:Pa(i,"project_v2_id_unresolved")}}const n=await le(e,[Ct]).emailsCreate(fw({...t,project:r}),{},{headers:{"Idempotency-Key":P.generateUUID()}});return ne(n)?{error:ae(n)}:{data:Ya(n.data??{})}}async function eH(e,t){let r=t;if(wi(r))try{r=await Ia(e,r)}catch(i){return{error:Pa(i,"project_v2_id_unresolved")}}const n=await le(e,[Ct]).trashEmptyCreate({project_id:r});return ne(n)?{error:ae(n)}:{data:{deleted:n.data?.deleted??0}}}var tH=P.createIdentifier$1("EmailsList"),rH={};function nH(e,t){return!!e&&JSON.stringify(e)===JSON.stringify(t)}async function yw(e,t){const r=e?.getInstance(tH),n=r?.get(),i=n?.promise;if(!(!r||i===void 0||!nH(n?.args,t)))return r.set(rH),i}function iH(e){return typeof e=="object"&&e!==null?e:void 0}function Rr({id:e,title:t,meta:r,type:n,guid:i,acf:{lock:o,subject:a,description:s,html:c,project:l,tags:u,utm_parameters:d,parent_email:m,common_styles:p,is_template:g},author:h,...v}){const E=iH(r);return{...v,...E!==void 0?{meta:E}:{},id:be(e),author:be(h),title:bt(t)||"",lock:o,description:s,html:c,project:ke(l)?l.ID:l,project_author:ke(l)?l.post_author:void 0,project_title:ke(l)?l.post_title:void 0,tags:u,utm_parameters:d,parent_email:be(m instanceof Array&&m[0]?m[0].ID:m),common_styles:p,is_template:g}}function Nu({title:e,lock:t,subject:r,description:n,html:i,project:o,tags:a,renderGuid:s,utm_parameters:c,parent_email:l,common_styles:u,is_template:d,author:m,meta:p,emailtags:g,folder:h,...v}){return{...v,...Array.isArray(g)?{emailtags:Ap(g)}:g!==void 0?{emailtags:g}:{},...Array.isArray(h)?{folder:Ap(h)}:h!==void 0?{folder:h}:{},author:He(m),title:e,acf:{lock:t,description:n,html:i,project:typeof o=="string"&&/^\d+$/.test(o)?Number(o):o,tags:a,utm_parameters:c,parent_email:He(l),common_styles:u,is_template:d}}}function oH(e){return typeof e=="object"&&e!==null?e:void 0}function _w({id:e,title:t,meta:r,acf:{html:n,common_styles:i},parent:o,excerpt:a,author:s,...c}){const l=oH(r);return{...c,isAutosave:Eh(c.slug),...l!==void 0?{meta:l}:{},author:be(s),id:be(e),parent:be(o),title:bt(t)||"",html:n,common_styles:i,excerpt:ke(a)?a.rendered:a}}function aH(e){const t=He(e);return typeof t=="number"&&Number.isFinite(t)&&t>0?t:void 0}function vw({parent:e,title:t,html:r,project:n,subject:i,preheader:o,common_styles:a,author:s,parent_email:c,meta:l,...u}){const d=c;return{...u,author:aH(s),title:t,parent:He(e),"acf[html]":r,"acf[project]":ke(n)?n.id||n.ID:n,"acf[parent_email]":typeof d=="string"&&d!==""&&!/^\d+$/.test(d)?void 0:d,"acf[common_styles]":a}}var bw=Ne({reducerPath:"emailsApi",tagTypes:["Emails","Email"],baseQuery:We({baseUrl:"https://app.emailmaker.ru/api/wp-json/wp/v2/"}),endpoints:e=>({getEmails:e.query({async queryFn(t,r){if(Fe()){const s=await yw(ie(r),t);return s||await mw(ie(r),t)}const n=await yw(ie(r),t);if(n)return n;const i=K(r),{request:o,extraQuery:a}=NV(t);return i.wp.email_list(o,{extraQuery:a}).then(s=>et(Rr)(s))},providesTags:(t,r,n)=>{const i={type:"Emails",id:n?.status==="trash"?"TRASH":"LIST"};return t?[...t.map(({id:o})=>({type:"Emails",id:o})),i]:[i]}}),getTemplateEmails:e.query({queryFn(t,r){if(Fe())return YV(ie(r),t);const n=K(r),i={"filter[meta_query][1][key]":"is_template","filter[meta_query][1][value]":"1","filter[meta_query][0][compare]":"LIKE",orderby:"modified",order:"desc"},o={_embed:"author,wp:term",_fields:"_embedded,id,title,meta,emailtags,folder,group,modified,date,type,acf.lock,acf.project.ID,acf.is_template"};if(t.emailId&&(i["filter[meta_query][0][key]"]="parent_email",i["filter[meta_query][0][value]"]=t.emailId),t.fields&&(o._fields=t.fields),t.group?.length>0||t.projectGroup?.length>0){const a=[...t.group||[],...t.projectGroup||[]].reduce((c,{key:l,parentId:u})=>(c[u]||(c[u]=[]),c[u].push(String(l)),c),{}),s=Object.values(a).map(c=>c.sort());i["filter[tax_query][relation]"]="AND",s.forEach((c,l)=>{i[`filter[tax_query][${l}][relation]`]="OR",c.forEach((u,d)=>{i[`filter[tax_query][${l}][${d}][taxonomy]`]="group",i[`filter[tax_query][${l}][${d}][field]`]="id",i[`filter[tax_query][${l}][${d}][terms]`]=u})})}if(t.tags?.length>0){i["filter[tax_query][relation]"]="AND";for(let a=0,s=t.tags.length;a<s;a++){const c=t.tags[a];i[`filter[tax_query][${a}][taxonomy]`]="emailtags",i[`filter[tax_query][${a}][field]`]="id",i[`filter[tax_query][${a}][terms]`]=c}}if(t.type&&(i["filter[meta_query][2][key]"]="type",i["filter[meta_query][2][value]"]=t.type),t.name&&(i.search=t.name),t.pageSize&&(i.per_page=t.pageSize),t.page){i.page=t.page;const{groupsTemplateProjectTotal:a,groupsTemplateProjectTotalPages:s}=r.getState()?.projectSlice;if(!t.projectGroup?.length&&!t.group?.length&&s<t.page&&t.groupType===wo.ALL&&a&&s&&!t.projectId){const c=24-a%24+(t.page-(s+1))*24;c&&(i.page=1,i.offset=c)}}return t.projectId&&(i["filter[meta_key]"]="project",i["filter[meta_value]"]=t.projectId),n.wp.email_list(i,{extraQuery:o}).then(et(Rr))},keepUnusedDataFor:0}),getParentEmailWpId:e.query({queryFn:(t,r)=>xV(ie(r),t)}),addEmail:e.mutation({queryFn:bc(t=>({source:r,...n})=>Fe()?ZV(t,n):di(t).wp.email_create({status:"publish",...Nu(n)},{type:P.ContentType.Json}).then(Te(Rr))),invalidatesTags:[{type:"Emails",id:"LIST"}]}),editEmail:e.mutation({queryFn:bc(t=>({emailId:r,source:n,...i})=>{if(Fe())return JV(t,String(r),i);const o=di(t),a=Se(Nu(i));return o.wp.email_partial_update({id:r},a,{type:P.ContentType.Json,extraQuery:{_embed:"wp:term",_fields:"_embedded,id,author,title,meta,emailtags,folder,group,modified,date,type,acf.description,acf.html,acf.common_styles,acf.is_template,acf.lock,acf.parent_email,acf.project,acf.secret_hash,acf.subject,acf.utm_parameters"}}).then(Te(Rr))}),invalidatesTags:(t,r,n)=>[{type:"Emails",id:"LIST"},{type:"Emails",id:n.emailId}]}),deleteEmail:e.mutation({async queryFn(t,r){const n=typeof t=="object"?t.id:t,i=typeof t=="object"?t.force:!1;if(Fe())try{return await aw(ie(r),n,i),{data:{id:n}}}catch(o){return{error:o instanceof Ru?o.v2Error:{status:0,data:o instanceof Error?{message:o.message}:{}}}}return K(r).wp.email_delete({id:n},{force:i}).then(bo(Rr))},invalidatesTags:(t,r,n)=>[{type:"Emails",id:"LIST"},{type:"Emails",id:"TRASH"},{type:"Emails",id:typeof n=="object"?n.id:n}]}),emptyEmailsTrash:e.mutation({queryFn:(t,r)=>eH(ie(r),t),invalidatesTags:()=>[{type:"Emails",id:"TRASH"}]}),deleteEmails:e.mutation({async queryFn({ids:t,force:r},n){if(Fe()){const o=ie(n);return{data:await wa(t,a=>DV(o,String(a),r))}}const i=K(n);return{data:await wa(t,o=>i.wp.email_delete({id:Number(o)},{force:r}))}},invalidatesTags:(t,r,{ids:n})=>[{type:"Emails",id:"LIST"},{type:"Emails",id:"TRASH"},...n.map(i=>({type:"Emails",id:i}))]}),addTag:e.mutation({queryFn(t,r){if(Fe()){const n=Pr(ie(r)).card;return r.dispatch(vi.endpoints.addTerm.initiate({kind:"emailtags",name:t.name,project:n})).then(i=>"error"in i?{error:i.error}:{data:i.data})}return K(r).wp.emailtags_create({...t},{type:P.ContentType.Json})}}),getDeletableTag:e.query({queryFn([t,r],n){return Fe()?mw(ie(n),{projectId:String(t),tags:[String(r)],pageSize:1}).then(i=>i.error?{error:i.error}:{data:i.data??[]}):K(n).wp.email_list({status:["private"],"filter[meta_key]":"project","filter[meta_value]":t,emailtags:[r]},{extraQuery:{"_fields[]":"emailtags"}}).then(et(Rr))}}),autoSaveEmail:e.mutation({queryFn({emailId:t,body:r},n){const i=K(n),o=vw(r);return i.wp.email_autosaves_create({id:t},o,{type:P.ContentType.FormData}).then(Te(_w))},onQueryStarted({emailId:t,body:r},n){No(P.getContainer(n))&&Qn(t,{sentAt:Date.now(),html:r.html??"",common_styles:r.common_styles??"",subject:r.subject,preheader:r.preheader})}})})}),{useGetEmailsQuery:S6,useGetTemplateEmailsQuery:P6,useGetParentEmailWpIdQuery:sH,useAddEmailMutation:lH,useEditEmailMutation:cH,useDeleteEmailMutation:I6,useDeleteEmailsMutation:T6,useEmptyEmailsTrashMutation:O6,useGetDeletableTagQuery:C6,useAddTagMutation:A6,useAutoSaveEmailMutation:k6}=bw,Ew=({element:e,context:t="list"})=>{const{__:r,_x:n}=de(),[i]=cH(),[o]=p_(),a=zt(),s=Tt(),c=me();e.hasOwnProperty("type");const l=(m,p)=>{m.error||e.id==null||ar(P.getContainer(c)).noteServerFacts({serverId:String(e.id),block:p},m.data)},u=(m,p)=>{if(m.error)return a.error(m),!1;a.success(r("The ")+(p.hasOwnProperty("type")?r("block"):n("email","letter"))+" "+r("“")+m.data.title+r("”")+" "+r("was successfully")+" "+(p.lock?p.hasOwnProperty("type")?n("unlocked.","block"):n("unlocked.","email"):p.hasOwnProperty("type")?n("locked.","block"):n("locked.","email")))},d=()=>{const m=!e.lock,p=m?"lock_email":"unlock_email";e.hasOwnProperty("type")?o({blockId:e.id,lock:m}).then(g=>{u(g,e),l(g,!0),g.error||s({event:m?"lock":"unlock",action:m?"lock_block":"unlock_block",entity_type:"block",entity_id:e.id,project_id:e.project,context:t})}):i({emailId:e.id,lock:m}).then(g=>{u(g,e),l(g,!1),g.error||s({event:m?"lock":"unlock",action:p,entity_type:"email",entity_id:e.id,project_id:e.project,context:t})})};return(0,M.jsx)("div",{className:e.hasOwnProperty("type")?"em-analytics__block-lock":"em-analytics__email-lock",onClick:d,children:e.lock?r("Unlock"):r("Lock")})};Ew.propTypes={element:Kt.default.shape({lock:Kt.default.bool,id:Kt.default.string})};var ww=()=>(0,wt.__vitePreload)(()=>Promise.resolve().then(()=>Ee("./1922419a.js")),void 0,{}.url),uH=new TextDecoder("utf-8",{fatal:!0}),dH=new TextDecoder;async function Sw(e){return e instanceof Uint8Array?e:typeof e=="string"?new TextEncoder().encode(e):new Uint8Array(await e.arrayBuffer())}function fH(e){let t=!1;for(let n=0;n<e.length;n++){const i=e.charCodeAt(n);if(i>255)return e;i>=128&&(t=!0)}if(!t)return e;const r=Uint8Array.from(e,n=>n.charCodeAt(0));try{return uH.decode(r)}catch{return new TextDecoder("cp866").decode(r)}}function Pw(e){const t={};for(const r of Object.keys(e))r.endsWith("/")||(t[fH(r)]=e[r]);return t}async function mH(e){const{zip:t,zipSync:r}=await ww(),n={};for(const i of Object.keys(e))n[i]=await Sw(e[i]);try{const i=await new Promise((o,a)=>{t(n,{level:6},(s,c)=>s?a(s):o(c))});return new Blob([i],{type:"application/zip"})}catch{return new Blob([r(n,{level:6})],{type:"application/zip"})}}async function Iw(e){const{unzip:t,unzipSync:r}=await ww(),n=await Sw(e);try{return Pw(await new Promise((i,o)=>{t(n,(a,s)=>a?o(a):i(s))}))}catch{return Pw(r(n))}}function pH(e){const t=atob(e);return Iw(Uint8Array.from(t,r=>r.charCodeAt(0)))}function hH(e){return dH.decode(e)}function gH(e){return new Blob([e])}function Tw(e){return/#set\s*\(\s*.*=.*\)/.test(e)}function Xa(e){const t=e.indexOf("(");if(t<0)return!0;let r=0,n="",i=!1;for(let o=t;o<e.length;o++){const a=e[o];if(i){i=!1;continue}if(a==="\\"){i=!0;continue}if(n){a===n&&(n="");continue}if(a==='"'||a==="'"){n=a;continue}if(a==="("){r++;continue}if(a===")"&&(r--,r<0))return!1}return r===0}function yH(e){return(t,r,n)=>Xa(t)?e(t,r,n):!1}function _H(e){return t=>Xa(t.startsWith("<!--")&&t.endsWith("-->")?t.slice(4,-3):t)?e(t):!1}function vH(e){return(t,r,n)=>Xa(t)?Tw(t)?e(t,r,n):t:!1}function bH(e){return t=>{const r=t.startsWith("<!--")&&t.endsWith("-->")?t.slice(4,-3):t;return Xa(r)?Tw(r)?e(t):t:!1}}function EH(e){const t=/[<>&]/g;for(;t.exec(e)!==null;)return!0;return!1}function Du(e,t){const r=e.length;for(let n=0;n<r;n++){const i=e.charCodeAt(n);if(i===0||t==='"'&&i===34||t==="'"&&i===39||t===""&&(i===32||i===9||i===10||i===13||i===12||i===34||i===39||i===60||i===62||i===61||i===96))return!1}return!0}function wH(e){const t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",n=new Uint8Array(e);crypto.getRandomValues(n);let i="";for(let o=0;o<e;o++){const a=n[o]%62;i+=t.charAt(a)}return i}var SH=8,PH=class{_byKey=Object.create(null);_byValue=Object.create(null);getOrCreateByKey(e){let t=this._byKey[e];return t===void 0&&(t=wH(SH),this._byKey[e]=t,this._byValue[t]=e),t}getByValue(e){return this._byValue[e]}},Ja=new PH;function Ow(e,t){return t!==void 0&&!Du(e,t)?`%|{${Ja.getOrCreateByKey(e)}}|%`:e}function IH(e){const t=Ja.getByValue(e.slice(3,e.length-3));return t===void 0?e:t}function ye(e,t,r){return t!==void 0?Du(e,t)?e:`%|{${Ja.getOrCreateByKey(e)}}|%`:`<!--${e}-->`}function TH(e){return e.replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&amp;/g,"&")}function pe(e){return e.startsWith("<!--")&&e.endsWith("-->")?TH(e.slice(4,-3)):e}function OH(e){const t=/^(IF|ELSE|ELSIF|ELSEIF|END|FOREACH|WHILE|NEXT|LAST|BREAK|DO|UNLESS|CONTINUE|SET|UNSET|DEFINE|INCLUDE)\b/i,r=/\w+\s*\(/;let n=e;const i=e.match(/\[%\s*([^%]*?)\s*%\]/);i&&(n=i[1]);const o=n.trim();return t.test(o)||r.test(o)}function CH(e,t,r){return t!==void 0?Du(e,t)?e:`%|{${Ja.getOrCreateByKey(e)}}|%`:r||EH(e)||OH(e)?`<!--${e}-->`:e}var Nr=yH(ye),Dr=_H(pe),AH=vH(ye),kH=bH(pe),Cw=e=>{e.escape("<!--","-->",t=>t,!1),e.escape("<style","</style>",t=>t,!1),e.escape("<script","<\/script>",t=>t,!1),e.unescape("%|{","}|%",IH),e.escape("@{","}",ye,!0).unescape("<!--@{","}-->",pe,!0),e.unescape("<!--%%%{{{","}}}%%%-->",t=>t.substring(10,t.length-9),!1),e.escape("${","}",Ow,!0),e.escape("{{","}}",Ow,!0),e.createSyntax("brace-percent").escape("{%","%}",ye).unescape("<!--{%","%}-->",pe),e.createSyntax("brace-hash").escape("{#","#}",ye).unescape("<!--{#","#}-->",pe),e.createSyntax("proscript").escape("[%","%]",CH,!0).unescape("<!--[%","%]-->",pe,!0),e.createSyntax("getresponse").escape("[[IF","]]",ye).escape("[[if","]]",ye).escape("[[ELSE]]","",ye).escape("[[else]]","",ye).escape("[[ENDIF]]","",ye).escape("[[endif]]","",ye).unescape("<!--[[IF","]]-->",pe).unescape("<!--[[if","]]-->",pe).unescape("<!--[[ELSE]]","-->",pe).unescape("<!--[[else]]","-->",pe).unescape("<!--[[ENDIF]]","-->",pe).unescape("<!--[[endif]]","-->",pe),e.createSyntax("expert-sender").escape("<if",">",ye).escape("</if",">",ye).escape("<else",">",ye).escape("</else",">",ye).escape("<var ",">",ye,!0).unescape("<!--<if ",">-->",pe).unescape("<!--</if",">-->",pe).unescape("<!--<else ",">-->",pe).unescape("<!--</else",">-->",pe).unescape("<!--<var",">-->",pe,!0),e.createSyntax("velocity").escape("#if",")",Nr).escape("#elseif",")",Nr).escape("#else","",ye).escape("#foreach",")",Nr).escape("#macro",")",Nr).escape("#set",")",AH,!0).escape("#parse",")",Nr).escape("#include",")",Nr).escape("#evaluate",")",Nr).escape("#end","",ye).escape("#break","",ye).escape("#stop","",ye).unescape("<!--#macro","-->",Dr).unescape("<!--#if","-->",Dr).unescape("<!--#elseif","-->",Dr).unescape("<!--#else","-->",pe).unescape("<!--#foreach","-->",Dr).unescape("<!--#parse","-->",Dr).unescape("<!--#include","-->",Dr).unescape("<!--#evaluate","-->",Dr).unescape("<!--#end","-->",pe).unescape("<!--#break","-->",pe).unescape("<!--#stop","-->",pe).unescape("<!--#set","-->",kH,!0),e.createSyntax("mailchimp").escape("*|","|*",ye).unescape("<!--*|","|*-->",pe)},Lu="bare",jH=new Map;function MH(e){return e?jH.get(e)??Lu:Lu}var Aw=["brace-percent","brace-hash","proscript","getresponse","expert-sender","mailchimp","velocity"];function kw(e){return Aw.includes(e)}function Ui(e){return e==="bare"||e==="html-comment"}function Fu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function RH(e,t=r=>{}){const r={output:{},editor:{}};if(e==null)return r;let n;if(typeof e=="string"){if(!Ui(e))return t(`templateDirectives: unknown form "${String(e)}", falling back to the default ("bare").`),r;n={output:e}}else if(typeof e=="object"&&!Array.isArray(e))n=e;else return t(`templateDirectives: expected a string or an object, got ${typeof e}. Ignored.`),r;for(const[l,u]of[["output",n.output],["editor",n.editor]])if(u!==void 0&&!Ui(u))return t(`templateDirectives.${l}: unknown form "${String(u)}", configuration ignored.`),r;if(n.syntaxes!==void 0&&!Fu(n.syntaxes))return t("templateDirectives.syntaxes: expected an object, configuration ignored."),r;if(n.syntaxes){for(const[l,u]of Object.entries(n.syntaxes))if(!(!kw(l)||u===void 0||Ui(u))){if(!Fu(u))return t(`templateDirectives.syntaxes.${l}: expected a form or an object, configuration ignored.`),r;for(const d of["output","editor"]){const m=u[d];if(m!==void 0&&!Ui(m))return t(`templateDirectives.syntaxes.${l}.${d}: unknown form "${String(m)}", configuration ignored.`),r}}}if(n.output===void 0&&n.editor===void 0&&n.syntaxes===void 0)return r;const i=n.output??Lu;let o=n.editor;i==="bare"&&n.editor==="html-comment"&&(t('templateDirectives: editor="html-comment" requires output="html-comment"; editor was reset to match output.'),o=void 0);const a=[];if(n.syntaxes)for(const l of Object.keys(n.syntaxes)){if(!kw(l)){t(`templateDirectives.syntaxes: unknown syntax id "${l}", entry ignored.`);continue}a.push(l)}else a.push(...Aw);const s={},c={};for(const l of a){const u=n.syntaxes?.[l],d=Fu(u)?u:void 0,m=(Ui(u)?u:d?.output)??i;let p=d?.editor??o??m;m==="bare"&&p==="html-comment"&&(t(`templateDirectives.syntaxes.${l}: editor="html-comment" requires output="html-comment" for this id; editor was reset to "bare" for it.`),p="bare"),s[l]=m,c[l]=p}return{output:s,editor:c}}function jw(e,t,r,n){for(let i=t;i<r;i++){const o=e[i];n.insideAttributeValue?n.attributeQuoteChar==='"'||n.attributeQuoteChar==="'"?o===n.attributeQuoteChar&&(n.insideAttributeValue=!1,n.attributeQuoteChar=void 0):n.unquotedAttr&&/[\s>]/.test(o)&&(n.insideAttributeValue=!1,n.attributeQuoteChar=void 0,n.unquotedAttr=!1):o==="<"?n.insideTag=!0:o===">"?n.insideTag=!1:n.insideTag&&(o==='"'||o==="'")?(n.insideAttributeValue=!0,n.attributeQuoteChar=o,n.unquotedAttr=!1):n.insideTag&&/\S/.test(o)&&n.attributeQuoteChar===void 0&&e[i-1]==="="&&!['"',"'","`"].includes(o)&&(n.insideAttributeValue=!0,n.attributeQuoteChar="",n.unquotedAttr=!0)}}function $i(e,t){return e.start<t.end&&t.start<e.end}function Mw(e,t,r,n,i=[]){if(r&&(t=t.filter(u=>u.isVariable)),!t.length)return[];const o=t.flatMap(u=>u.match(e).flatMap(d=>!Number.isInteger(d.start)||!Number.isInteger(d.end)||d.start<0||d.end>e.length||d.start>=d.end?[]:[{range:d,mapFn:u.mapFn,overrideBuiltins:u.overrideBuiltins,syntax:u.syntax,isVariable:u.isVariable}])).sort((u,d)=>u.range.start-d.range.start||u.range.end-d.range.end),a=[],s=i.slice().sort((u,d)=>u.start-d.start),c={insideTag:!1,insideAttributeValue:!1,attributeQuoteChar:void 0,unquotedAttr:!1};let l=0;for(const{range:u,mapFn:d,overrideBuiltins:m,syntax:p,isVariable:g}of o){if(n?(c.insideAttributeValue=!0,c.attributeQuoteChar='"'):jw(e,l,u.start,c),l=u.end,s.some(C=>$i(C,u)))continue;const h=c.insideAttributeValue?c.attributeQuoteChar??"":void 0,v=e.substring(u.start,u.end),E=d(v,h,c.insideTag);E!==!1&&E!==v&&(a.push({range:u,text:E,overrideBuiltins:m,syntax:p,isVariable:g}),s.push(u))}return a.sort((u,d)=>u.range.start-d.range.start||u.range.end-d.range.end)}function NH(e,t){const r=t.reduce((s,{mapFn:c,start:l,end:u,syntax:d,isVariable:m})=>(s[l]||(s[l]=[]),s[l].push({value:u,mapFn:c,syntax:d,isVariable:m}),s),Object.create(null)),n=Object.keys(r).map(s=>s.replace(/[-[\]{}()*+?.,\\^$|]/g,"\\$&")).join("|"),i=new RegExp(n,"g"),o=[];let a;for(;(a=i.exec(e))!==null;){const s=a[0];o.push({start:a.index,startToken:s,endTokens:r[s]})}return o}function xu(e,t,r,n,i=!1){const o=[];if(r&&(t=t.filter(l=>l.isVariable)),!t.length)return o;const a=NH(e,t),s={insideTag:!1,insideAttributeValue:!1,attributeQuoteChar:void 0,unquotedAttr:!1};let c=0;for(let l=0;l<a.length;l++){const{start:u,startToken:d,endTokens:m}=a[l];n?(s.insideAttributeValue=!0,s.attributeQuoteChar='"'):jw(e,c,u,s),c=u;const p=s.insideAttributeValue?s.attributeQuoteChar??"":void 0;let g=!1;for(const{mapFn:h,value:v,syntax:E,isVariable:C}of m){let b=u+d.length,w=e.indexOf(v,b);for(;w!==-1;){let I=w,y=u+d.length,T=0;for(;I!==-1;){const R=e.indexOf(d,y);if(R!==-1&&R<I)T++,y=R+d.length,I=e.indexOf(v,y);else if(T>0)T--,y=I+v.length,I=e.indexOf(v,y);else break}if(I<0)break;const S=I+v.length,A=e.substring(u,S),j=h(A,p,s.insideTag);if(j===!1){b=w+Math.max(v.length,1),w=e.indexOf(v,b);continue}(i||j!==A)&&o.push({range:{start:u,end:S},text:i?A:j,syntax:E,isVariable:C});const O=a.findIndex(({start:R})=>R>=S);O>l?l=O-1:l=a.length,g=!0;break}if(g)break}}return o}function Za(e,t){if(!t.length)return e;const r=t.slice().sort((i,o)=>o.range.start-i.range.start);let n=e;for(const{text:i,range:o}of r)n=n.slice(0,o.start)+i+n.slice(o.end);return n}var DH=class{_disposables=[];_escapes=[];_unescapes=[];_escapeMatchers=[];_unescapeMatchers=[];constructor(e=Cw){const{_escapes:t,_unescapes:r}=this;e({createSyntax(n){return{...this,syntax:n}},escape(n,i,o,a){return t.push({start:n,end:i,mapFn:o,isVariable:a,syntax:this.syntax||n}),this},unescape(n,i,o,a){return r.push({start:n,end:i,mapFn:o,isVariable:a,syntax:this.syntax||n}),this}})}registerMatcherPair(e){const t=e.syntax||"matcher",r={syntax:t,match:e.escape.match,mapFn:e.escape.mapFn,isVariable:e.escape.isVariable,overrideBuiltins:e.escape.overrideBuiltins},n={syntax:t,match:e.unescape.match,mapFn:e.unescape.mapFn,isVariable:e.unescape.isVariable,overrideBuiltins:e.unescape.overrideBuiltins};this._escapeMatchers.push(r),this._unescapeMatchers.push(n);let i=!1;const o={dispose:()=>{i||(i=!0,this._escapeMatchers=this._escapeMatchers.filter(a=>a!==r),this._unescapeMatchers=this._unescapeMatchers.filter(a=>a!==n))}};return this.addDisposable(o),o}_collectMappings(e,t,r){const n=xu(e,this._escapes,t,r),i=Mw(e,this._escapeMatchers,t,r),o=i.filter(c=>c.overrideBuiltins).map(c=>c.range),a=n.filter(c=>!o.some(l=>$i(l,c.range))),s=i.filter(c=>c.overrideBuiltins||!a.some(l=>$i(c.range,l.range)));return[...a,...s].sort((c,l)=>c.range.start-l.range.start||c.range.end-l.range.end)}getMappings(e,t,r){return this._collectMappings(e,t,r)}_collectRevertMappings(e,t){const r=xu(e,this._unescapes,t),n=Mw(e,this._unescapeMatchers,t,!1),i=n.filter(s=>s.overrideBuiltins).map(s=>s.range),o=r.filter(s=>!i.some(c=>$i(c,s.range))),a=n.filter(s=>s.overrideBuiltins||!o.some(c=>$i(s.range,c.range)));return[...o,...a].sort((s,c)=>s.range.start-c.range.start||s.range.end-c.range.end)}getRevertMappings(e,t,r){const n=r?i=>i!==void 0&&r.has(i):i=>MH(i)==="html-comment";return this._collectRevertMappings(e,t).filter(i=>i.isVariable||!n(i.syntax))}getDetectedMappings(e,t,r){return xu(e,this._escapes,t,r,!0)}getEscapedText(e,t){return Za(e,this.getMappings(e,t))}getUnescapedText(e,t,r){return Za(e,this.getRevertMappings(e,t,r))}normalizeToPolicy(e,t){const r=o=>o===void 0?void 0:t[o],n=Object.values(t);let i=e;return n.includes("bare")&&(i=Za(i,this._collectRevertMappings(i).filter(o=>r(o.syntax)==="bare"))),n.includes("html-comment")&&(i=Za(i,this._collectMappings(i).filter(o=>!o.isVariable&&r(o.syntax)==="html-comment"&&o.text.startsWith("<!--")&&o.text.endsWith("-->")))),i}hasDetectedMappings(e,t,r){return this.getDetectedMappings(e,t,r).length>0}addDisposable(e){this._disposables.push(e)}dispose(){for(const e of this._disposables)e.dispose()}},qi="em___script",Gi=`<${qi}`,Bu=`</${qi}>`;function Rw(e){return e.replace("<script",Gi).replace("<\/script>",Bu)}var LH=new DH(e=>{e.escape("<script","<\/script>",t=>Rw(t)).unescape(Gi,Bu,t=>t.replace(Gi,"<script").replace(Bu,"<\/script>")),e.escape("<script","/>",t=>Rw(t)).unescape(Gi,"/>",t=>t.replace(Gi,"<script")),Cw(e)}),Nw=Symbol("Error");function FH(e){return Promise.all(e.map(t=>t instanceof Promise?t.catch(r=>Nw):t)).then(t=>t.filter(r=>r!==Nw))}var fn=/<script\b(?=[^>]*(?:\bbis_use(?:=|\s)|\bdata-bis-config(?:=|\s)|\bdata-dynamic-id(?:=|\s)|local\.adguard\.org|(?:chrome-extension|moz-extension|safari-extension):\/\/))[^>]*>[\s\S]*?<\/script>/gi,xH=/\s(?:bis_[a-z0-9_-]+|data-bis-config|data-dynamic-id)=(["'])(?:(?!\1).)*\1/gi,mn=/<style\b[^>]*>[\s\S]*?<\/style>/gi,Dw=/display:\s*none\s*!important/gi,BH=/((?:html\s*,\s*body|body\s*,\s*html)\s*\{)([^}]*)(\})/gi,UH=/\s*height\s*:\s*100%\s*!important\s*;?/gi,$H=/height\s*:\s*100%\s*!important/i,qH=[".socialshare,",".advertisment,",".adHolder,",".adsbygoogle-noablate","#ab_adblock","#popmechanic-snippet","filter_ads_by_classname","clever-core-ads","--gn-ov-ad-height","pub_728x90.text-ad.textAd","html-load.com/player","content-loader.com/player",".adblock","#advblock","body { overflow: visible!important; }"];function GH(e){return Dw.lastIndex=0,(e.match(Dw)||[]).length}function Lw(e){const t=e.trim(),r=GH(t);if(r===0)return!1;if(t.includes(".advertisment,")&&t.includes(".adHolder,")&&(t.includes(".socialshare,")||r>=3||t.length>2e3))return!0;const n=qH.filter(i=>t.includes(i)).length;return n>=1&&(r>=3||t.length>2e3)||r>=5&&n>=1?!0:r>=20&&/\b(?:\.ad(?:s|vert|vertisment|Holder|banner|box|Container|Wrapper)?[,{]|#ad[-_]|ins\.adsbygoogle)/i.test(t)}function zH(e){mn.lastIndex=0;for(const t of e.matchAll(mn))if(Lw(t[0].replace(/^<style\b[^>]*>/i,"").replace(/<\/style>$/i,"")))return!0;return!1}function VH(e){let t=!1;return mn.lastIndex=0,{html:e.replace(mn,r=>Lw(r.replace(/^<style\b[^>]*>/i,"").replace(/<\/style>$/i,""))?(t=!0,""):r),found:t}}function HH(e){return fn.lastIndex=0,fn.test(e)||/\sbis_[a-z0-9_-]+\s*=/.test(e)||/\sdata-bis-config\s*=/.test(e)||zH(e)}function Fw(e){if(!HH(e))return{html:e,found:!1};let t=!1,r=e;fn.lastIndex=0,fn.test(r)&&(fn.lastIndex=0,r=r.replace(fn,""),t=!0),(/\sbis_[a-z0-9_-]+\s*=/.test(r)||/\sdata-bis-config\s*=/.test(r))&&(r=r.replace(xH,""),t=!0);const n=VH(r);return r=n.html,t=t||n.found,{html:r,found:t}}function WH(e){return!e||!$H.test(e)?e:(mn.lastIndex=0,e.replace(mn,t=>t.replace(BH,(r,n,i,o)=>`${n}${i.replace(UH,"")}${o}`)))}function KH(e){const t=Fw(e.replaceAll(`\r
817
+ `,`
818
+ `));return{html:WH(t.html),hasBrowserExtensionArtifacts:t.found}}var zi=Y.__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.NodeMap=void 0;var t=(function(){function r(){this._nodes=[],this._values=[]}return r._isIndex=function(n){return+n===n>>>0},r._nodeId=function(n){var i=n[r._ID_PROP];return i||(i=n[r._ID_PROP]=r._NEXT_ID++),i},r.prototype.set=function(n,i){var o=r._nodeId(n);this._nodes[o]=n,this._values[o]=i},r.prototype.get=function(n){var i=r._nodeId(n);return i!==void 0?this._values[i]:void 0},r.prototype.has=function(n){return r._nodeId(n)in this._nodes},r.prototype.delete=function(n){var i=r._nodeId(n);delete this._nodes[i],this._values[i]=void 0},r.prototype.keys=function(){var n=[];for(var i in this._nodes)r._isIndex(i)&&n.push(this._nodes[i]);return n},r._ID_PROP="__mutation_summary_node_map_id__",r._NEXT_ID=1,r})();e.NodeMap=t})),xw=Y.__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ChildListChange=void 0;var t=zi(),r=(function(){function n(){this.added=new t.NodeMap,this.removed=new t.NodeMap,this.maybeMoved=new t.NodeMap,this.oldPrevious=new t.NodeMap,this.moved=void 0}return n})();e.ChildListChange=r})),QH=Y.__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0})})),YH=Y.__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0})})),XH=Y.__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0})})),JH=Y.__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0})})),ZH=Y.__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0})})),es=Y.__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Movement=void 0,(function(t){t[t.STAYED_OUT=0]="STAYED_OUT",t[t.ENTERED=1]="ENTERED",t[t.STAYED_IN=2]="STAYED_IN",t[t.REPARENTED=3]="REPARENTED",t[t.REORDERED=4]="REORDERED",t[t.EXITED=5]="EXITED"})(e.Movement||(e.Movement={}))})),Bw=Y.__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.NodeChange=void 0;var t=(function(){function r(n,i,o,a,s,c,l,u){i===void 0&&(i=!1),o===void 0&&(o=!1),a===void 0&&(a=!1),s===void 0&&(s=null),c===void 0&&(c=!1),l===void 0&&(l=null),u===void 0&&(u=null),this.node=n,this.childList=i,this.attributes=o,this.characterData=a,this.oldParentNode=s,this.added=c,this.attributeOldValues=l,this.characterDataOldValue=u,this.isCaseInsensitive=this.node.nodeType===Node.ELEMENT_NODE&&this.node instanceof HTMLElement&&this.node.ownerDocument instanceof HTMLDocument}return r.prototype.getAttributeOldValue=function(n){if(this.attributeOldValues)return this.isCaseInsensitive&&(n=n.toLowerCase()),this.attributeOldValues[n]},r.prototype.getAttributeNamesMutated=function(){var n=[];if(!this.attributeOldValues)return n;for(var i in this.attributeOldValues)this.attributeOldValues.hasOwnProperty(i)&&n.push(i);return n},r.prototype.attributeMutated=function(n,i){this.attributes=!0,this.attributeOldValues=this.attributeOldValues||{},!(n in this.attributeOldValues)&&(this.attributeOldValues[n]=i)},r.prototype.characterDataMutated=function(n){this.characterData||(this.characterData=!0,this.characterDataOldValue=n)},r.prototype.removedFromParent=function(n){this.childList=!0,this.added||this.oldParentNode?this.added=!1:this.oldParentNode=n},r.prototype.insertedIntoParent=function(){this.childList=!0,this.added=!0},r.prototype.getOldParent=function(){if(this.childList){if(this.oldParentNode)return this.oldParentNode;if(this.added)return null}return this.node.parentNode},r})();e.NodeChange=t})),Uw=Y.__commonJSMin((e=>{var t=e&&e.__extends||(function(){var a=function(s,c){return a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(l,u){l.__proto__=u}||function(l,u){for(var d in u)Object.prototype.hasOwnProperty.call(u,d)&&(l[d]=u[d])},a(s,c)};return function(s,c){if(typeof c!="function"&&c!==null)throw new TypeError("Class extends value "+String(c)+" is not a constructor or null");a(s,c);function l(){this.constructor=s}s.prototype=c===null?Object.create(c):(l.prototype=c.prototype,new l)}})();Object.defineProperty(e,"__esModule",{value:!0}),e.TreeChanges=void 0;var r=zi(),n=Bw(),i=es(),o=(function(a){t(s,a);function s(c,l){var u=a.call(this)||this;u.rootNode=c,u.reachableCache=void 0,u.wasReachableCache=void 0,u.anyParentsChanged=!1,u.anyAttributesChanged=!1,u.anyCharacterDataChanged=!1;for(var d=0;d<l.length;d++){var m=l[d];switch(m.type){case"childList":u.anyParentsChanged=!0;for(var p=0;p<m.removedNodes.length;p++){var g=m.removedNodes[p];u.getChange(g).removedFromParent(m.target)}for(var p=0;p<m.addedNodes.length;p++){var g=m.addedNodes[p];u.getChange(g).insertedIntoParent()}break;case"attributes":u.anyAttributesChanged=!0;var h=u.getChange(m.target);h.attributeMutated(m.attributeName,m.oldValue);break;case"characterData":u.anyCharacterDataChanged=!0;var h=u.getChange(m.target);h.characterDataMutated(m.oldValue)}}return u}return s.prototype.getChange=function(c){var l=this.get(c);return l||(l=new n.NodeChange(c),this.set(c,l)),l},s.prototype.getOldParent=function(c){var l=this.get(c);return l?l.getOldParent():c.parentNode},s.prototype.getIsReachable=function(c){if(c===this.rootNode)return!0;if(!c)return!1;this.reachableCache=this.reachableCache||new r.NodeMap;var l=this.reachableCache.get(c);return l===void 0&&(l=this.getIsReachable(c.parentNode),this.reachableCache.set(c,l)),l},s.prototype.getWasReachable=function(c){if(c===this.rootNode)return!0;if(!c)return!1;this.wasReachableCache=this.wasReachableCache||new r.NodeMap;var l=this.wasReachableCache.get(c);return l===void 0&&(l=this.getWasReachable(this.getOldParent(c)),this.wasReachableCache.set(c,l)),l},s.prototype.reachabilityChange=function(c){return this.getIsReachable(c)?this.getWasReachable(c)?i.Movement.STAYED_IN:i.Movement.ENTERED:this.getWasReachable(c)?i.Movement.EXITED:i.Movement.STAYED_OUT},s})(r.NodeMap);e.TreeChanges=o})),$w=Y.__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MutationProjection=void 0;var t=Uw(),r=zi(),n=es(),i=xw(),o=(function(){function a(s,c,l,u,d){this.rootNode=s,this.mutations=c,this.selectors=l,this.calcReordered=u,this.calcOldPreviousSibling=d,this.treeChanges=new t.TreeChanges(s,c),this.entered=[],this.exited=[],this.stayedIn=new r.NodeMap,this.visited=new r.NodeMap,this.childListChangeMap=void 0,this.characterDataOnly=void 0,this.matchCache=void 0,this.processMutations()}return a.prototype.processMutations=function(){if(!(!this.treeChanges.anyParentsChanged&&!this.treeChanges.anyAttributesChanged))for(var s=this.treeChanges.keys(),c=0;c<s.length;c++)this.visitNode(s[c],void 0)},a.prototype.visitNode=function(s,c){if(!this.visited.has(s)){this.visited.set(s,!0);var l=this.treeChanges.get(s),u=c;if((l&&l.childList||u==null)&&(u=this.treeChanges.reachabilityChange(s)),u!==n.Movement.STAYED_OUT){if(this.matchabilityChange(s),u===n.Movement.ENTERED)this.entered.push(s);else if(u===n.Movement.EXITED)this.exited.push(s),this.ensureHasOldPreviousSiblingIfNeeded(s);else if(u===n.Movement.STAYED_IN){var d=n.Movement.STAYED_IN;l&&l.childList&&(l.oldParentNode!==s.parentNode?(d=n.Movement.REPARENTED,this.ensureHasOldPreviousSiblingIfNeeded(s)):this.calcReordered&&this.wasReordered(s)&&(d=n.Movement.REORDERED)),this.stayedIn.set(s,d)}if(u!==n.Movement.STAYED_IN)for(var m=s.firstChild;m;m=m.nextSibling)this.visitNode(m,u)}}},a.prototype.ensureHasOldPreviousSiblingIfNeeded=function(s){if(this.calcOldPreviousSibling){this.processChildlistChanges();var c=s.parentNode,l=this.treeChanges.get(s);l&&l.oldParentNode&&(c=l.oldParentNode);var u=this.childListChangeMap.get(c);u||(u=new i.ChildListChange,this.childListChangeMap.set(c,u)),u.oldPrevious.has(s)||u.oldPrevious.set(s,s.previousSibling)}},a.prototype.getChanged=function(s,c,l){this.selectors=c,this.characterDataOnly=l;for(var u=0;u<this.entered.length;u++){var d=this.entered[u],m=this.matchabilityChange(d);(m===n.Movement.ENTERED||m===n.Movement.STAYED_IN)&&s.added.push(d)}for(var p=this.stayedIn.keys(),u=0;u<p.length;u++){var d=p[u],m=this.matchabilityChange(d);if(m===n.Movement.ENTERED)s.added.push(d);else if(m===n.Movement.EXITED)s.removed.push(d);else if(m===n.Movement.STAYED_IN&&(s.reparented||s.reordered)){var g=this.stayedIn.get(d);s.reparented&&g===n.Movement.REPARENTED?s.reparented.push(d):s.reordered&&g===n.Movement.REORDERED&&s.reordered.push(d)}}for(var u=0;u<this.exited.length;u++){var d=this.exited[u],m=this.matchabilityChange(d);(m===n.Movement.EXITED||m===n.Movement.STAYED_IN)&&s.removed.push(d)}},a.prototype.getOldParentNode=function(s){var c=this.treeChanges.get(s);if(c&&c.childList)return c.oldParentNode?c.oldParentNode:null;var l=this.treeChanges.reachabilityChange(s);if(l===n.Movement.STAYED_OUT||l===n.Movement.ENTERED)throw Error("getOldParentNode requested on invalid node.");return s.parentNode},a.prototype.getOldPreviousSibling=function(s){var c=s.parentNode,l=this.treeChanges.get(s);l&&l.oldParentNode&&(c=l.oldParentNode);var u=this.childListChangeMap.get(c);if(!u)throw Error("getOldPreviousSibling requested on invalid node.");return u.oldPrevious.get(s)},a.prototype.getOldAttribute=function(s,c){var l=this.treeChanges.get(s);if(!l||!l.attributes)throw Error("getOldAttribute requested on invalid node.");var u=l.getAttributeOldValue(c);if(u===void 0)throw Error("getOldAttribute requested for unchanged attribute name.");return u},a.prototype.attributeChangedNodes=function(s){if(!this.treeChanges.anyAttributesChanged)return{};var c,l;if(s){c={},l={};for(var u=0;u<s.length;u++){var d=s[u];c[d]=!0,l[d.toLowerCase()]=d}}for(var m={},p=this.treeChanges.keys(),u=0;u<p.length;u++){var g=p[u],h=this.treeChanges.get(g);if(h.attributes&&!(n.Movement.STAYED_IN!==this.treeChanges.reachabilityChange(g)||n.Movement.STAYED_IN!==this.matchabilityChange(g)))for(var v=g,E=h.getAttributeNamesMutated(),C=0;C<E.length;C++){var d=E[C];c&&!c[d]&&!(h.isCaseInsensitive&&l[d])||h.getAttributeOldValue(d)!==v.getAttribute(d)&&(l&&h.isCaseInsensitive&&(d=l[d]),m[d]=m[d]||[],m[d].push(v))}}return m},a.prototype.getOldCharacterData=function(s){var c=this.treeChanges.get(s);if(!c||!c.characterData)throw Error("getOldCharacterData requested on invalid node.");return c.characterDataOldValue},a.prototype.getCharacterDataChanged=function(){if(!this.treeChanges.anyCharacterDataChanged)return[];for(var s=this.treeChanges.keys(),c=[],l=0;l<s.length;l++){var u=s[l];if(n.Movement.STAYED_IN===this.treeChanges.reachabilityChange(u)){var d=this.treeChanges.get(u);!d.characterData||u.textContent==d.characterDataOldValue||c.push(u)}}return c},a.prototype.computeMatchabilityChange=function(s,c){this.matchCache||(this.matchCache=[]),this.matchCache[s.uid]||(this.matchCache[s.uid]=new r.NodeMap);var l=this.matchCache[s.uid],u=l.get(c);return u===void 0&&(u=s.matchabilityChange(c,this.treeChanges.get(c)),l.set(c,u)),u},a.prototype.matchabilityChange=function(s){var c=this;if(this.characterDataOnly)switch(s.nodeType){case Node.COMMENT_NODE:case Node.TEXT_NODE:return n.Movement.STAYED_IN;default:return n.Movement.STAYED_OUT}if(!this.selectors)return n.Movement.STAYED_IN;if(s.nodeType!==Node.ELEMENT_NODE)return n.Movement.STAYED_OUT;for(var l=s,u=this.selectors.map(function(p){return c.computeMatchabilityChange(p,l)}),d=n.Movement.STAYED_OUT,m=0;d!==n.Movement.STAYED_IN&&m<u.length;){switch(u[m]){case n.Movement.STAYED_IN:d=n.Movement.STAYED_IN;break;case n.Movement.ENTERED:d===n.Movement.EXITED?d=n.Movement.STAYED_IN:d=n.Movement.ENTERED;break;case n.Movement.EXITED:d===n.Movement.ENTERED?d=n.Movement.STAYED_IN:d=n.Movement.EXITED}m++}return d},a.prototype.getChildlistChange=function(s){var c=this.childListChangeMap.get(s);return c||(c=new i.ChildListChange,this.childListChangeMap.set(s,c)),c},a.prototype.processChildlistChanges=function(){if(!this.childListChangeMap){this.childListChangeMap=new r.NodeMap;for(var s=function(u){var d=c.mutations[u];if(d.type!="childList"||c.treeChanges.reachabilityChange(d.target)!==n.Movement.STAYED_IN&&!c.calcOldPreviousSibling)return"continue";for(var m=c.getChildlistChange(d.target),p=d.previousSibling,g=function(E,C){!E||m.oldPrevious.has(E)||m.added.has(E)||m.maybeMoved.has(E)||C&&(m.added.has(C)||m.maybeMoved.has(C))||m.oldPrevious.set(E,C)},h=0;h<d.removedNodes.length;h++){var v=d.removedNodes[h];g(v,p),m.added.has(v)?m.added.delete(v):(m.removed.set(v,!0),m.maybeMoved.delete(v)),p=v}g(d.nextSibling,p);for(var h=0;h<d.addedNodes.length;h++){var v=d.addedNodes[h];m.removed.has(v)?(m.removed.delete(v),m.maybeMoved.set(v,!0)):m.added.set(v,!0)}},c=this,l=0;l<this.mutations.length;l++)s(l)}},a.prototype.wasReordered=function(s){if(!this.treeChanges.anyParentsChanged)return!1;this.processChildlistChanges();var c=s.parentNode,l=this.treeChanges.get(s);l&&l.oldParentNode&&(c=l.oldParentNode);var u=this.childListChangeMap.get(c);if(!u)return!1;if(u.moved)return u.moved.get(s);u.moved=new r.NodeMap;var d=new r.NodeMap;function m(E){if(!E||!u.maybeMoved.has(E))return!1;var C=u.moved.get(E);return C!==void 0||(d.has(E)?C=!0:(d.set(E,!0),C=v(E)!==g(E)),d.has(E)?(d.delete(E),u.moved.set(E,C)):C=u.moved.get(E)),C}var p=new r.NodeMap;function g(E){var C=p.get(E);if(C!==void 0)return C;for(C=u.oldPrevious.get(E);C&&(u.removed.has(C)||m(C));)C=g(C);return C===void 0&&(C=E.previousSibling),p.set(E,C),C}var h=new r.NodeMap;function v(E){if(h.has(E))return h.get(E);for(var C=E.previousSibling;C&&(u.added.has(C)||m(C));)C=C.previousSibling;return h.set(E,C),C}return u.maybeMoved.keys().forEach(m),u.moved.get(s)},a})();e.MutationProjection=o})),qw=Y.__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Summary=void 0;var t=(function(){function r(n,i){var o=this;if(this.projection=n,this.added=[],this.removed=[],this.reparented=i.all||i.element||i.characterData?[]:void 0,this.reordered=i.all?[]:void 0,n.getChanged(this,i.elementFilter,i.characterData),i.all||i.attribute||i.attributeList){var a=i.attribute?[i.attribute]:i.attributeList,s=n.attributeChangedNodes(a);i.attribute?this.valueChanged=s[i.attribute]||[]:(this.attributeChanged=s,i.attributeList&&i.attributeList.forEach(function(l){o.attributeChanged.hasOwnProperty(l)||(o.attributeChanged[l]=[])}))}if(i.all||i.characterData){var c=n.getCharacterDataChanged();i.characterData?this.valueChanged=c:this.characterDataChanged=c}this.reordered&&(this.getOldPreviousSibling=n.getOldPreviousSibling.bind(n))}return r.prototype.getOldParentNode=function(n){return this.projection.getOldParentNode(n)},r.prototype.getOldAttribute=function(n,i){return this.projection.getOldAttribute(n,i)},r.prototype.getOldCharacterData=function(n){return this.projection.getOldCharacterData(n)},r.prototype.getOldPreviousSibling=function(n){return this.projection.getOldPreviousSibling(n)},r})();e.Summary=t})),Gw=Y.__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Qualifier=void 0;var t=(function(){function n(){}return n.prototype.matches=function(i){if(i===null)return!1;if(this.attrValue===void 0)return!0;if(!this.contains)return this.attrValue==i;for(var o=i.split(" "),a=0;a<o.length;a++)if(this.attrValue===o[a])return!0;return!1},n.prototype.toString=function(){return this.attrName==="class"&&this.contains?"."+this.attrValue:this.attrName==="id"&&!this.contains?"#"+this.attrValue:this.contains?"["+this.attrName+"~="+r(this.attrValue)+"]":"attrValue"in this?"["+this.attrName+"="+r(this.attrValue)+"]":"["+this.attrName+"]"},n})();e.Qualifier=t;function r(n){return'"'+n.replace(/"/,'\\"')+'"'}})),zw=Y.__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Selector=void 0;var t=Gw(),r=es(),n=/[a-zA-Z_]+/,i=/[a-zA-Z0-9_\-]+/,o=(function(){function a(){this.uid=a.nextUid++,this.qualifiers=[]}return Object.defineProperty(a.prototype,"caseInsensitiveTagName",{get:function(){return this.tagName.toUpperCase()},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"selectorString",{get:function(){return this.tagName+this.qualifiers.join("")},enumerable:!1,configurable:!0}),a.prototype.isMatching=function(s){return s[a.matchesSelector](this.selectorString)},a.prototype.wasMatching=function(s,c,l){if(!c||!c.attributes)return l;var u=c.isCaseInsensitive?this.caseInsensitiveTagName:this.tagName;if(u!=="*"&&u!==s.tagName)return!1;for(var d=[],m=!1,p=0;p<this.qualifiers.length;p++){var g=this.qualifiers[p],h=c.getAttributeOldValue(g.attrName);d.push(h),m=m||h!==void 0}if(!m)return l;for(var p=0;p<this.qualifiers.length;p++){var g=this.qualifiers[p],h=d[p];if(h===void 0&&(h=s.getAttribute(g.attrName)),!g.matches(h))return!1}return!0},a.prototype.matchabilityChange=function(s,c){var l=this.isMatching(s);return l?this.wasMatching(s,c,l)?r.Movement.STAYED_IN:r.Movement.ENTERED:this.wasMatching(s,c,l)?r.Movement.EXITED:r.Movement.STAYED_OUT},a.parseSelectors=function(s){var c=[],l,u;function d(){l&&(u&&(l.qualifiers.push(u),u=void 0),c.push(l)),l=new a}function m(){u&&l.qualifiers.push(u),u=new t.Qualifier}for(var p=/\s/,g=void 0,h="Invalid or unsupported selector syntax.",v=1,E=2,C=3,b=4,w=5,I=6,y=7,T=8,S=9,A=10,j=11,O=12,R=13,D=14,N=v,x=0;x<s.length;){var L=s[x++];switch(N){case v:if(L.match(n)){d(),l.tagName=L,N=E;break}if(L=="*"){d(),l.tagName="*",N=C;break}if(L=="."){d(),m(),l.tagName="*",u.attrName="class",u.contains=!0,N=b;break}if(L=="#"){d(),m(),l.tagName="*",u.attrName="id",N=b;break}if(L=="["){d(),m(),l.tagName="*",u.attrName="",N=I;break}if(L.match(p))break;throw Error(h);case E:if(L.match(i)){l.tagName+=L;break}if(L=="."){m(),u.attrName="class",u.contains=!0,N=b;break}if(L=="#"){m(),u.attrName="id",N=b;break}if(L=="["){m(),u.attrName="",N=I;break}if(L.match(p)){N=D;break}if(L==","){N=v;break}throw Error(h);case C:if(L=="."){m(),u.attrName="class",u.contains=!0,N=b;break}if(L=="#"){m(),u.attrName="id",N=b;break}if(L=="["){m(),u.attrName="",N=I;break}if(L.match(p)){N=D;break}if(L==","){N=v;break}throw Error(h);case b:if(L.match(n)){u.attrValue=L,N=w;break}throw Error(h);case w:if(L.match(i)){u.attrValue+=L;break}if(L=="."){m(),u.attrName="class",u.contains=!0,N=b;break}if(L=="#"){m(),u.attrName="id",N=b;break}if(L=="["){m(),N=I;break}if(L.match(p)){N=D;break}if(L==","){N=v;break}throw Error(h);case I:if(L.match(n)){u.attrName=L,N=y;break}if(L.match(p))break;throw Error(h);case y:if(L.match(i)){u.attrName+=L;break}if(L.match(p)){N=T;break}if(L=="~"){u.contains=!0,N=S;break}if(L=="="){u.attrValue="",N=j;break}if(L=="]"){N=C;break}throw Error(h);case T:if(L=="~"){u.contains=!0,N=S;break}if(L=="="){u.attrValue="",N=j;break}if(L=="]"){N=C;break}if(L.match(p))break;throw Error(h);case S:if(L=="="){u.attrValue="",N=j;break}throw Error(h);case A:if(L=="]"){N=C;break}if(L.match(p))break;throw Error(h);case j:if(L.match(p))break;if(L=='"'||L=="'"){g=L,N=R;break}u.attrValue+=L,N=O;break;case O:if(L.match(p)){N=A;break}if(L=="]"){N=C;break}if(L=="'"||L=='"')throw Error(h);u.attrValue+=L;break;case R:if(L==g){N=A;break}u.attrValue+=L;break;case D:if(L.match(p))break;if(L==","){N=v;break}throw Error(h)}}switch(N){case v:case E:case C:case w:case D:d();break;default:throw Error(h)}if(!c.length)throw Error(h);return c},a.nextUid=1,a.matchesSelector="matches",a})();e.Selector=o})),eW=Y.__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MutationSummaryOptionProcessor=void 0;var t=zw(),r=(function(){function n(){}return n.createObserverOptions=function(i){var o={childList:!0,subtree:!0},a;function s(c){if(!(o.attributes&&!a)){if(o.attributes=!0,o.attributeOldValue=!0,!c){a=void 0;return}a=a||{},c.forEach(function(l){a[l]=!0,a[l.toLowerCase()]=!0})}}return i.forEach(function(c){if(c.characterData){o.characterData=!0,o.characterDataOldValue=!0;return}if(c.all){s(),o.characterData=!0,o.characterDataOldValue=!0;return}if(c.attribute){s([c.attribute.trim()]);return}var l=n._elementFilterAttributes(c.elementFilter).concat(c.attributeList||[]);l.length&&s(l)}),a&&(o.attributeFilter=Object.keys(a)),o},n.validateOptions=function(i){for(var o in i)if(!(o in n._optionKeys))throw Error("Invalid option: "+o);if(typeof i.callback!="function")throw Error("Invalid options: callback is required and must be a function");if(!i.queries||!i.queries.length)throw Error("Invalid options: queries must contain at least one query request object.");for(var a={callback:i.callback,rootNode:i.rootNode||document,observeOwnChanges:!!i.observeOwnChanges,oldPreviousSibling:!!i.oldPreviousSibling,queries:[]},s=0;s<i.queries.length;s++){var c=i.queries[s];if(c.all){if(Object.keys(c).length>1)throw Error("Invalid request option. all has no options.");a.queries.push({all:!0});continue}if("attribute"in c){var l={attribute:n._validateAttribute(c.attribute)};if(l.elementFilter=t.Selector.parseSelectors("*["+l.attribute+"]"),Object.keys(c).length>1)throw Error("Invalid request option. attribute has no options.");a.queries.push(l);continue}if("element"in c){var u=Object.keys(c).length,l={element:c.element,elementFilter:t.Selector.parseSelectors(c.element)};if(c.hasOwnProperty("elementAttributes")&&(l.attributeList=n._validateElementAttributes(c.elementAttributes),u--),u>1)throw Error("Invalid request option. element only allows elementAttributes option.");a.queries.push(l);continue}if(c.characterData){if(Object.keys(c).length>1)throw Error("Invalid request option. characterData has no options.");a.queries.push({characterData:!0});continue}throw Error("Invalid request option. Unknown query request.")}return a},n._validateElementAttributes=function(i){if(!i.trim().length)throw Error("Invalid request option: elementAttributes must contain at least one attribute.");for(var o={},a={},s=i.split(/\s+/),c=0;c<s.length;c++){var l=s[c];if(l){l=n._validateAttribute(l);var u=l.toLowerCase();if(o[u])throw Error("Invalid request option: observing multiple case variations of the same attribute is not supported.");a[l]=!0,o[u]=!0}}return Object.keys(a)},n._elementFilterAttributes=function(i){var o={};return i.forEach(function(a){a.qualifiers.forEach(function(s){o[s.attrName]=!0})}),Object.keys(o)},n._validateAttribute=function(i){if(typeof i!="string"||(i=i.trim(),!i))throw Error("Invalid request option. attribute must be a non-zero length string.");if(!i.match(n._attributeFilterPattern))throw Error("Invalid request option. invalid attribute name: "+i);return i},n._attributeFilterPattern=/^([a-zA-Z:_]+[a-zA-Z0-9_\-:.]*)$/,n._optionKeys={callback:!0,queries:!0,rootNode:!0,oldPreviousSibling:!0,observeOwnChanges:!0},n})();e.MutationSummaryOptionProcessor=r})),Vw=Y.__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MutationSummary=void 0;var t=qw(),r=$w(),n=eW(),i=(function(){function o(a){var s=this;this._connected=!1,this._options=n.MutationSummaryOptionProcessor.validateOptions(a),this._observerOptions=n.MutationSummaryOptionProcessor.createObserverOptions(this._options.queries),this._root=this._options.rootNode,this._callback=this._options.callback,this._elementFilter=Array.prototype.concat.apply([],this._options.queries.map(function(c){return c.elementFilter?c.elementFilter:[]})),this._elementFilter.length||(this._elementFilter=void 0),this._calcReordered=this._options.queries.some(function(c){return c.all}),this._queryValidators=[],o.createQueryValidator&&(this._queryValidators=this._options.queries.map(function(c){return o.createQueryValidator(s._root,c)})),this._observer=new MutationObserver(function(c){s._observerCallback(c)}),this.reconnect()}return o.prototype.reconnect=function(){if(this._connected)throw Error("Already connected");this._observer.observe(this._root,this._observerOptions),this._connected=!0,this._checkpointQueryValidators()},o.prototype.takeSummaries=function(){if(!this._connected)throw Error("Not connected");var a=this._createSummaries(this._observer.takeRecords());return this._changesToReport(a)?a:void 0},o.prototype.disconnect=function(){var a=this.takeSummaries();return this._observer.disconnect(),this._connected=!1,a},o.prototype._observerCallback=function(a){this._options.observeOwnChanges||this._observer.disconnect();var s=this._createSummaries(a);this._runQueryValidators(s),this._options.observeOwnChanges&&this._checkpointQueryValidators(),this._changesToReport(s)&&this._callback(s),!this._options.observeOwnChanges&&this._connected&&(this._checkpointQueryValidators(),this._observer.observe(this._root,this._observerOptions))},o.prototype._createSummaries=function(a){if(!a||!a.length)return[];for(var s=new r.MutationProjection(this._root,a,this._elementFilter,this._calcReordered,this._options.oldPreviousSibling),c=[],l=0;l<this._options.queries.length;l++)c.push(new t.Summary(s,this._options.queries[l]));return c},o.prototype._checkpointQueryValidators=function(){this._queryValidators.forEach(function(a){a&&a.recordPreviousState()})},o.prototype._runQueryValidators=function(a){this._queryValidators.forEach(function(s,c){s&&s.validate(a[c])})},o.prototype._changesToReport=function(a){return a.some(function(s){return!!(["added","removed","reordered","reparented","valueChanged","characterDataChanged"].some(function(c){return s[c]&&s[c].length})||s.attributeChanged&&Object.keys(s.attributeChanged).some(function(c){return!!s.attributeChanged[c].length}))})},o})();e.MutationSummary=i})),tW=Y.__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0})})),rW=Y.__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0})})),nW=Y.__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0})})),iW=Y.__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0})})),oW=Y.__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TreeMirror=void 0;var t=(function(){function r(n,i){this.root=n,this.delegate=i,this.idMap={}}return r.prototype.initialize=function(n,i){this.idMap[n]=this.root;for(var o=0;o<i.length;o++)this.deserializeNode(i[o],this.root)},r.prototype.applyChanged=function(n,i,o,a){var s=this;i.forEach(function(c){var l=s.deserializeNode(c);s.deserializeNode(c.parentNode),s.deserializeNode(c.previousSibling),l.parentNode&&l.parentNode.removeChild(l)}),n.forEach(function(c){var l=s.deserializeNode(c);l.parentNode&&l.parentNode.removeChild(l)}),i.forEach(function(c){var l=s.deserializeNode(c),u=s.deserializeNode(c.parentNode),d=s.deserializeNode(c.previousSibling);u.insertBefore(l,d?d.nextSibling:u.firstChild)}),o.forEach(function(c){var l=s.deserializeNode(c);Object.keys(c.attributes).forEach(function(u){var d=c.attributes[u];d===null?l.removeAttribute(u):(!s.delegate||!s.delegate.setAttribute||!s.delegate.setAttribute(l,u,d))&&l.setAttribute(u,d)})}),a.forEach(function(c){var l=s.deserializeNode(c);l.textContent=c.textContent}),n.forEach(function(c){delete s.idMap[c.id]})},r.prototype.deserializeNode=function(n,i){var o=this;if(n===null)return null;var a=this.idMap[n.id];if(a)return a;var s=this.root.ownerDocument;switch(s===null&&(s=this.root),n.nodeType){case Node.COMMENT_NODE:a=s.createComment(n.textContent);break;case Node.TEXT_NODE:a=s.createTextNode(n.textContent);break;case Node.DOCUMENT_TYPE_NODE:a=s.implementation.createDocumentType(n.name,n.publicId,n.systemId);break;case Node.ELEMENT_NODE:this.delegate&&this.delegate.createElement&&(a=this.delegate.createElement(n.tagName)),a||(a=s.createElement(n.tagName)),Object.keys(n.attributes).forEach(function(l){(!o.delegate||!o.delegate.setAttribute||!o.delegate.setAttribute(a,l,n.attributes[l]))&&a.setAttribute(l,n.attributes[l])});break;default:throw"Unsupported node type: "+n.nodeType}if(this.idMap[n.id]=a,i&&i.appendChild(a),n.childNodes)for(var c=0;c<n.childNodes.length;c++)this.deserializeNode(n.childNodes[c],a);return a},r})();e.TreeMirror=t})),aW=Y.__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TreeMirrorClient=void 0;var t=Vw(),r=zi(),n=(function(){function i(o,a,s){var c=this;this.target=o,this.mirror=a,this.nextId=1,this.knownNodes=new r.NodeMap;for(var l=this.serializeNode(o).id,u=[],d=o.firstChild;d;d=d.nextSibling)u.push(this.serializeNode(d,!0));this.mirror.initialize(l,u);var m=[{all:!0}];s&&(m=m.concat(s)),this.mutationSummary=new t.MutationSummary({rootNode:o,callback:function(p){c.applyChanged(p)},queries:m})}return i.prototype.disconnect=function(){this.mutationSummary&&(this.mutationSummary.disconnect(),this.mutationSummary=void 0)},i.prototype.rememberNode=function(o){var a=this.nextId++;return this.knownNodes.set(o,a),a},i.prototype.forgetNode=function(o){this.knownNodes.delete(o)},i.prototype.serializeNode=function(o,a){if(o===null)return null;var s=this.knownNodes.get(o);if(s!==void 0)return{id:s};var c={nodeType:o.nodeType,id:this.rememberNode(o)};switch(c.nodeType){case Node.DOCUMENT_TYPE_NODE:var l=o;c.name=l.name,c.publicId=l.publicId,c.systemId=l.systemId;break;case Node.COMMENT_NODE:case Node.TEXT_NODE:c.textContent=o.textContent;break;case Node.ELEMENT_NODE:var u=o;c.tagName=u.tagName,c.attributes={};for(var d=0;d<u.attributes.length;d++){var m=u.attributes[d];c.attributes[m.name]=m.value}if(a&&u.childNodes.length){c.childNodes=[];for(var p=u.firstChild;p;p=p.nextSibling)c.childNodes.push(this.serializeNode(p,!0))}}return c},i.prototype.serializeAddedAndMoved=function(o,a,s){var c=this,l=o.concat(a).concat(s),u=new r.NodeMap;l.forEach(function(m){var p=m.parentNode,g=u.get(p);g||(g=new r.NodeMap,u.set(p,g)),g.set(m,!0)});var d=[];return u.keys().forEach(function(m){for(var p=u.get(m),g=p.keys();g.length;){for(var h=g[0];h.previousSibling&&p.has(h.previousSibling);)h=h.previousSibling;for(;h&&p.has(h);){var v=c.serializeNode(h);v.previousSibling=c.serializeNode(h.previousSibling),v.parentNode=c.serializeNode(h.parentNode),d.push(v),p.delete(h),h=h.nextSibling}g=p.keys()}}),d},i.prototype.serializeAttributeChanges=function(o){var a=this,s=new r.NodeMap;return Object.keys(o).forEach(function(c){o[c].forEach(function(l){var u=s.get(l);u||(u=a.serializeNode(l),u.attributes={},s.set(l,u)),u.attributes[c]=l.getAttribute(c)})}),s.keys().map(function(c){return s.get(c)})},i.prototype.applyChanged=function(o){var a=this,s=o[0],c=s.removed.map(function(m){return a.serializeNode(m)}),l=this.serializeAddedAndMoved(s.added,s.reparented,s.reordered),u=this.serializeAttributeChanges(s.attributeChanged),d=s.characterDataChanged.map(function(m){var p=a.serializeNode(m);return p.textContent=m.textContent,p});this.mirror.applyChanged(c,l,u,d),s.removed.forEach(function(m){a.forgetNode(m)})},i})();e.TreeMirrorClient=n})),sW=Y.__commonJSMin((e=>{var t=e&&e.__createBinding||(Object.create?(function(n,i,o,a){a===void 0&&(a=o),Object.defineProperty(n,a,{enumerable:!0,get:function(){return i[o]}})}):(function(n,i,o,a){a===void 0&&(a=o),n[a]=i[o]})),r=e&&e.__exportStar||function(n,i){for(var o in n)o!=="default"&&!Object.prototype.hasOwnProperty.call(i,o)&&t(i,n,o)};Object.defineProperty(e,"__esModule",{value:!0}),r(tW(),e),r(rW(),e),r(nW(),e),r(iW(),e),r(oW(),e),r(aW(),e)})),lW=Y.__commonJSMin((e=>{var t=e&&e.__createBinding||(Object.create?(function(n,i,o,a){a===void 0&&(a=o),Object.defineProperty(n,a,{enumerable:!0,get:function(){return i[o]}})}):(function(n,i,o,a){a===void 0&&(a=o),n[a]=i[o]})),r=e&&e.__exportStar||function(n,i){for(var o in n)o!=="default"&&!Object.prototype.hasOwnProperty.call(i,o)&&t(i,n,o)};if(Object.defineProperty(e,"__esModule",{value:!0}),MutationObserver===void 0)throw Error("DOM Mutation Observers are required");r(xw(),e),r(QH(),e),r(YH(),e),r(XH(),e),r(JH(),e),r(ZH(),e),r(es(),e),r($w(),e),r(Vw(),e),r(Bw(),e),r(zi(),e),r(Gw(),e),r(zw(),e),r(qw(),e),r(Uw(),e),r(sW(),e)})),cW=lW(),pn=0,hn=new Array(1e3);function uW(){for(let e=0;e<pn;e+=2){const t=hn[e],r=hn[e+1];t(...r),hn[e]=void 0,hn[e+1]=void 0}pn=0}function dW(e,...t){hn[pn]=e,hn[pn+1]=t,pn+=2,pn===2&&mW()}function fW(){let e=0;const t=new MutationObserver(uW),r=document.createTextNode("");return t.observe(r,{characterData:!0}),()=>{r.data=String(e=++e%2)}}var mW=fW();function Hw(){dW(()=>{Uu.hasListeners()&&(Uu.fire(),Hw())})}var Uu=new P.Emitter({onFirstListenerAdd:Hw}),$u=Uu.once,pW=class extends P.Emitter{_mutationSummary;constructor(e={}){super(),this._mutationSummary=new cW.MutationSummary({...e,observeOwnChanges:!0,callback:t=>this.fire(t),queries:[{all:!0}]})}dispose(){this._mutationSummary.disconnect(),super.dispose()}trigger(e){if(this.isDisposed())return;const t=this._mutationSummary.takeSummaries();return(e||t?.length)&&this.fire(t||[]),t}},hW=class extends P.Disposable{_mutationEmitter;_innerEmitter=this.addDisposable(new P.Emitter({onFirstListenerAdd:()=>{this._nextTickHandler()}}));_lostEmitter=this.addDisposable(new P.Emitter);_paused=0;_stopped=0;_foreignCode=0;_summaries=[];_nextTickHandler(){$u(()=>{this.trigger(),this._summaries.length&&(this._innerEmitter.hasListeners()?this._innerEmitter.fire(this._summaries):this._lostEmitter.fire(this._summaries),this._summaries=[])},Number.MAX_VALUE)}constructor(e={}){super(),this._mutationEmitter=this.addDisposable(new pW(e)),this.onNativeMutate=this._mutationEmitter.event,this.addDisposable(this._mutationEmitter.event(t=>{(!this._stopped||this._foreignCode)&&(this._paused?this._lostEmitter.fire(t):(this._summaries.push(...t),$u(()=>{this._summaries.length&&!this._innerEmitter.hasListeners()&&(this._lostEmitter.fire(this._summaries),this._summaries=[])},Number.MAX_VALUE)))}))}get isStoped(){return this._paused>0||this._stopped>0}stop(){this._mutationEmitter.trigger(),this._stopped++}start(){this._mutationEmitter.trigger(),this._stopped--}pause(){this._mutationEmitter.trigger(),this._paused++}resume(){this._mutationEmitter.trigger(),this._paused--}pauseForForeignCode(){this.pause(),this._foreignCode++}resumeAfterForeignCode(){this.resume(),this._foreignCode--}unpaused(e){if(!this._paused||this._stopped)return e();this._mutationEmitter.trigger();const t=this._paused;this._paused=0;try{return e()}finally{try{this._mutationEmitter.trigger()}finally{this._paused+=t}}}trigger(){this._mutationEmitter.trigger(!0)}takeRecords(){this._mutationEmitter.trigger()}flush(){if(this._mutationEmitter.trigger(),this._summaries.length&&this._innerEmitter.hasListeners()){const e=this._summaries;this._summaries=[],this._innerEmitter.fire(e)}}onMutate=this._innerEmitter.event;onLost=this._lostEmitter.event;onNativeMutate};function gW(e){for(const t of e){if(t.removed)for(const r of t.removed){const n=t.getOldParentNode(r),i=t.getOldPreviousSibling(r);if(n){const o=i?.nextSibling??null;n.insertBefore(r,o)}}if(t.added)for(const r of t.added)r.parentNode&&r.parentNode.removeChild(r);if(t.reordered)for(const r of t.reordered){const n=t.getOldParentNode(r),i=t.getOldPreviousSibling(r);if(n){const o=i?.nextSibling??null;n.insertBefore(r,o)}}if(t.attributeChanged)for(const r of Object.keys(t.attributeChanged))for(const n of t.attributeChanged[r]){const i=t.getOldAttribute(n,r);i==null?n.removeAttribute(r):n.setAttribute(r,i)}if(t.characterDataChanged)for(const r of t.characterDataChanged)(gs(r)||ps(r)||ps(r))&&(r.data=t.getOldCharacterData(r))}}var yW=class extends P.Disposable{_commitPromise;_mutationCollector;_onLostSummaries=e=>{try{this._mutationCollector.stop(),gW(e)}finally{this._mutationCollector.start()}};constructor(e){super(),this._mutationCollector=this.addDisposable(new hW({rootNode:e,oldPreviousSibling:!0})),this._mutationCollector.onLost(this._onLostSummaries)}commit(){if(this._commitPromise)return this._commitPromise;{const e=()=>new Promise(t=>{const r=this._mutationCollector.onMutate(n=>{this._commitPromise=void 0,t(),r.dispose()});$u(()=>{this._commitPromise=void 0,t(),r.dispose()})});return this._commitPromise=e().catch(t=>{})}}};function _W(e,t){const r=o=>{const a={contentDocument:o,html:En(o)};return a.html=Fw(a.html).html,a},n=new P.AsyncEmitter,i=new P.AsyncEmitter;try{const o=Td(e),a=document.implementation.createHTMLDocument();return Md(a,o),{document:a,handleRender:i.event,handleReadHtml:n.event,async run(){if(i.hasListeners()){const s=document.createElement("iframe");s.style.position="absolute",s.style.left="-10000px",document.body.appendChild(s);const c=s.contentWindow.document,l=new yW(s.contentDocument);let u;try{if(t){const[d,m]=t;d!==void 0&&s.setAttribute("width",String(d)),m!==void 0&&s.setAttribute("height",String(m))}Md(c,[...a.childNodes]),l.commit()}catch(d){throw d}finally{try{try{await i.fire({managedNodeController:l,contentDocument:c})}catch{}const d=r(c);await n.fire(d),u=d.html}finally{s.parentNode===document.body&&document.body.removeChild(s)}}return u}else{const s=r(a);return await n.fire(s),s.html}}}}catch(o){throw o}}function vW(e,t){const r=document.createElement("input");r.type="file",r.accept=e,r.multiple=!1,r.setAttribute("data-testid","uploadFile"),r.style.position="absolute",r.style.opacity="0",r.style.pointerEvents="none",document.body.appendChild(r),r.onchange=()=>{r.files?.length&&t(r.files),document.body.removeChild(r)},r.click()}var Ww=()=>(0,wt.__vitePreload)(()=>Promise.resolve().then(()=>Ee("./5afad425.js")),void 0,{}.url);async function bW(e,t){if(t==="amp")e.handleRender(async({contentDocument:r,managedNodeController:n})=>{for(const o of r.querySelectorAll(".em-amp-show-disabled"))o.remove();const{html2amp:i}=await Ww();await i(r,{mappedTags:{script:qi},commit:()=>n.commit()})});else if(t==="html"){const r=e.document;for(const i of r.querySelectorAll(".em-amp-show-only"))i.remove();const{amp2html:n}=await Ww();n(r,{mappedTags:{script:qi}})}}var EW={"doctype-html5":!1,"html-lang-require":!1,"head-script-disabled":!1,"style-disabled":!1,"script-disabled":!1,"attr-lowercase":!1,"attr-value-single-quotes":!1,"attr-value-not-empty":!1,"attr-sorted":!1,"attr-whitespace":!1,"input-requires-label":!1,"tag-self-close":!1,"tagname-lowercase":!1,"href-abs-or-rel":!1,"inline-style-disabled":!1,"space-tab-mixed-disabled":!1,"attr-no-unnecessary-whitespace":!0,"tags-check":{img:{selfclosing:!1,attrsRequired:["src","alt"]},a:{selfclosing:!1,attrsRequired:[]}},"empty-tag-not-self-closed":!1,"attr-value-double-quotes":!0,"doctype-first":!0,"tag-pair":!0,"spec-char-escape":!0,"id-unique":!0,"src-not-empty":!0,"attr-no-duplication":!0,"title-require":!1,"alt-require":!0,"inline-script-disabled":!0,"id-class-value":!1,"id-class-ad-disabled":!0,"attr-unsafe-chars":!0};function wW(e,t){e?.mutate({content:Uo(t)},{source:"remote"})}function SW(e,t,r,{undoable:n}){if(!e)return;const i=e.getContent(),o=Uo(r);i!==o&&(e.mutate({changes:[new rt(0,i,0,o)]},{source:"user"}),n||t?.clear())}function Kw(){const{document:e,history:t}=gt();return(0,_.useCallback)((r,n)=>SW(e,t,r,n),[e,t])}function ts(e,t){return ts=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},ts(e,t)}function Qw(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,ts(e,t)}function PW(e,t){return e.classList?!!t&&e.classList.contains(t):(" "+(e.className.baseVal||e.className)+" ").indexOf(" "+t+" ")!==-1}function IW(e,t){e.classList?e.classList.add(t):PW(e,t)||(typeof e.className=="string"?e.className=e.className+" "+t:e.setAttribute("class",(e.className&&e.className.baseVal||"")+" "+t))}function Yw(e,t){return e.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}function TW(e,t){e.classList?e.classList.remove(t):typeof e.className=="string"?e.className=Yw(e.className,t):e.setAttribute("class",Yw(e.className&&e.className.baseVal||"",t))}var Xw={disabled:!1},Jw=_.default.createContext(null),Zw=function(t){return t.scrollTop},qu="unmounted",gn="exited",rs="entering",ns="entered",Gu="exiting",Yt=(function(e){Qw(t,e);function t(n,i){var o=e.call(this,n,i)||this,a=i,s=a&&!a.isMounting?n.enter:n.appear,c;return o.appearStatus=null,n.in?s?(c=gn,o.appearStatus=rs):c=ns:n.unmountOnExit||n.mountOnEnter?c=qu:c=gn,o.state={status:c},o.nextCallback=null,o}t.getDerivedStateFromProps=function(i,o){return i.in&&o.status==="unmounted"?{status:gn}:null};var r=t.prototype;return r.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},r.componentDidUpdate=function(i){var o=null;if(i!==this.props){var a=this.state.status;this.props.in?a!=="entering"&&a!=="entered"&&(o=rs):(a==="entering"||a==="entered")&&(o=Gu)}this.updateStatus(!1,o)},r.componentWillUnmount=function(){this.cancelNextCallback()},r.getTimeouts=function(){var i=this.props.timeout,o=a=s=i,a,s;return i!=null&&typeof i!="number"&&(o=i.exit,a=i.enter,s=i.appear!==void 0?i.appear:a),{exit:o,enter:a,appear:s}},r.updateStatus=function(i,o){if(i===void 0&&(i=!1),o!==null)if(this.cancelNextCallback(),o==="entering"){if(this.props.unmountOnExit||this.props.mountOnEnter){var a=this.props.nodeRef?this.props.nodeRef.current:Zt.default.findDOMNode(this);a&&Zw(a)}this.performEnter(i)}else this.performExit();else this.props.unmountOnExit&&this.state.status==="exited"&&this.setState({status:qu})},r.performEnter=function(i){var o=this,a=this.props.enter,s=this.context?this.context.isMounting:i,c=this.props.nodeRef?[s]:[Zt.default.findDOMNode(this),s],l=c[0],u=c[1],d=this.getTimeouts(),m=s?d.appear:d.enter;if(!i&&!a||Xw.disabled){this.safeSetState({status:ns},function(){o.props.onEntered(l)});return}this.props.onEnter(l,u),this.safeSetState({status:rs},function(){o.props.onEntering(l,u),o.onTransitionEnd(m,function(){o.safeSetState({status:ns},function(){o.props.onEntered(l,u)})})})},r.performExit=function(){var i=this,o=this.props.exit,a=this.getTimeouts(),s=this.props.nodeRef?void 0:Zt.default.findDOMNode(this);if(!o||Xw.disabled){this.safeSetState({status:gn},function(){i.props.onExited(s)});return}this.props.onExit(s),this.safeSetState({status:Gu},function(){i.props.onExiting(s),i.onTransitionEnd(a.exit,function(){i.safeSetState({status:gn},function(){i.props.onExited(s)})})})},r.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},r.safeSetState=function(i,o){o=this.setNextCallback(o),this.setState(i,o)},r.setNextCallback=function(i){var o=this,a=!0;return this.nextCallback=function(s){a&&(a=!1,o.nextCallback=null,i(s))},this.nextCallback.cancel=function(){a=!1},this.nextCallback},r.onTransitionEnd=function(i,o){this.setNextCallback(o);var a=this.props.nodeRef?this.props.nodeRef.current:Zt.default.findDOMNode(this),s=i==null&&!this.props.addEndListener;if(!a||s){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var c=this.props.nodeRef?[this.nextCallback]:[a,this.nextCallback],l=c[0],u=c[1];this.props.addEndListener(l,u)}i!=null&&setTimeout(this.nextCallback,i)},r.render=function(){var i=this.state.status;if(i==="unmounted")return null;var o=this.props,a=o.children;o.in,o.mountOnEnter,o.unmountOnExit,o.appear,o.enter,o.exit,o.timeout,o.addEndListener,o.onEnter,o.onEntering,o.onEntered,o.onExit,o.onExiting,o.onExited,o.nodeRef;var s=vs(o,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return _.default.createElement(Jw.Provider,{value:null},typeof a=="function"?a(i,s):_.default.cloneElement(_.default.Children.only(a),s))},t})(_.default.Component);Yt.contextType=Jw,Yt.propTypes={};function yn(){}Yt.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:yn,onEntering:yn,onEntered:yn,onExit:yn,onExiting:yn,onExited:yn},Yt.UNMOUNTED=qu,Yt.EXITED=gn,Yt.ENTERING=rs,Yt.ENTERED=ns,Yt.EXITING=Gu;var OW=function(t,r){return t&&r&&r.split(" ").forEach(function(n){return IW(t,n)})},zu=function(t,r){return t&&r&&r.split(" ").forEach(function(n){return TW(t,n)})},is=(function(e){Qw(t,e);function t(){for(var n,i=arguments.length,o=new Array(i),a=0;a<i;a++)o[a]=arguments[a];return n=e.call.apply(e,[this].concat(o))||this,n.appliedClasses={appear:{},enter:{},exit:{}},n.onEnter=function(s,c){var l=n.resolveArguments(s,c),u=l[0],d=l[1];n.removeClasses(u,"exit"),n.addClass(u,d?"appear":"enter","base"),n.props.onEnter&&n.props.onEnter(s,c)},n.onEntering=function(s,c){var l=n.resolveArguments(s,c),u=l[0],d=l[1]?"appear":"enter";n.addClass(u,d,"active"),n.props.onEntering&&n.props.onEntering(s,c)},n.onEntered=function(s,c){var l=n.resolveArguments(s,c),u=l[0],d=l[1]?"appear":"enter";n.removeClasses(u,d),n.addClass(u,d,"done"),n.props.onEntered&&n.props.onEntered(s,c)},n.onExit=function(s){var c=n.resolveArguments(s)[0];n.removeClasses(c,"appear"),n.removeClasses(c,"enter"),n.addClass(c,"exit","base"),n.props.onExit&&n.props.onExit(s)},n.onExiting=function(s){var c=n.resolveArguments(s)[0];n.addClass(c,"exit","active"),n.props.onExiting&&n.props.onExiting(s)},n.onExited=function(s){var c=n.resolveArguments(s)[0];n.removeClasses(c,"exit"),n.addClass(c,"exit","done"),n.props.onExited&&n.props.onExited(s)},n.resolveArguments=function(s,c){return n.props.nodeRef?[n.props.nodeRef.current,s]:[s,c]},n.getClassNames=function(s){var c=n.props.classNames,l=typeof c=="string",u=l&&c?c+"-":"",d=l?""+u+s:c[s];return{baseClassName:d,activeClassName:l?d+"-active":c[s+"Active"],doneClassName:l?d+"-done":c[s+"Done"]}},n}var r=t.prototype;return r.addClass=function(i,o,a){var s=this.getClassNames(o)[a+"ClassName"],c=this.getClassNames("enter").doneClassName;o==="appear"&&a==="done"&&c&&(s+=" "+c),a==="active"&&i&&Zw(i),s&&(this.appliedClasses[o][a]=s,OW(i,s))},r.removeClasses=function(i,o){var a=this.appliedClasses[o],s=a.base,c=a.active,l=a.done;this.appliedClasses[o]={},s&&zu(i,s),c&&zu(i,c),l&&zu(i,l)},r.render=function(){var i=this.props;i.classNames;var o=vs(i,["classNames"]);return _.default.createElement(Yt,Xi({},o,{onEnter:this.onEnter,onEntered:this.onEntered,onEntering:this.onEntering,onExit:this.onExit,onExiting:this.onExiting,onExited:this.onExited}))},t})(_.default.Component);is.defaultProps={classNames:""},is.propTypes={};var e0=Ne({reducerPath:"confirmationMailApi",baseQuery:rc({baseUrl:"https://px0.emailmaker.ru/",responseHandler:e=>e.text()}),endpoints:e=>({getConfirmationMail:e.query({query:({userId:t,email:r})=>({url:`?proxy_url=${encodeURIComponent(`https://webhook.latenode.com/5868/prod/f0da9c0f-ed12-4d23-8a86-b86f7bf1a276?user_id=${t}&user_email=${r}`)}`})})})}),{useLazyGetConfirmationMailQuery:CW}=e0,AW=()=>{const{__:e}=de(),t=zt(),r=kr(),[n]=CW(),[i,o]=(0,_.useState)(!1),a=Tt();(0,_.useEffect)(()=>{r.hasOwnProperty("email_confirmation")&&o(r.email_confirmation)},[r,i]);const s=()=>{a({event:"click",action:"click_resend_confirmation_email",user_email:r.email,user_id:r.id}),n({userId:r.id,email:r.email}).then(({data:c,error:l})=>{c?t.success(e("Confirmation email has been sent to {confirmedEmail}.").replace("{confirmedEmail}",r.email)):l&&t.error(l)})};return r?.email_confirmation||!r?.privacy_policy_agreement?null:(0,M.jsx)("div",{className:"main__ribbon",children:(0,M.jsxs)("span",{children:[(0,M.jsx)(ee,{icon:"EmailConfirmation",component:B.icons$EmailConfirmation,size:16,style:{marginRight:10,verticalAlign:"-0.15em"}}),e("Confirmation email was sent to")," ",(0,M.jsx)("em",{children:r.email}),". ",e("Didn't receive an email?")," ",(0,M.jsxs)(B.ui_kit$Button,{type:"primary",size:"small",className:"main__ribbon-resend",style:{fontSize:16,lineHeight:1,display:"inline-flex",alignItems:"center",gap:8},onClick:s,children:[e("Resend"),(0,M.jsx)(ee,{icon:"SendOutlined",component:B.icons$SendOutlined,size:16,style:{flexShrink:0}})]})]})})},kW=({className:e,leftBlock:t,rightBlock:r,isHeaderCodeMenuOpen:n=!1})=>{const{token:i}=(0,B.ui_kit$useToken)(),o=(0,_.useRef)(),a=mt();return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(AW,{}),a.headerShow&&(0,M.jsx)("header",{className:(0,Nt.default)("header",{[e]:e}),style:{borderColor:i.colorBorder},children:!n&&(0,M.jsx)(is,{nodeRef:o,in:!n,timeout:300,classNames:"transition",children:(0,M.jsxs)("div",{className:"header__container container",children:[(0,M.jsx)("div",{className:"header__left",style:{flexGrow:1},children:t}),(0,M.jsx)("div",{className:"header__right",children:(0,M.jsx)(B.ui_kit$Space,{size:10,children:r})})]})})})]})},jW=e=>{};function MW(e){return String(e).replace(/"/g,"&quot;")}function Vu(e=new Date){const t=r=>String(r).padStart(2,"0");return String(e.getFullYear())+t(e.getMonth()+1)+t(e.getDate())+t(e.getHours())+t(e.getMinutes())+t(e.getSeconds())}function RW(e){if(!e||!/^\d{12}(\d{2})?$/.test(e))return null;const t=Number(e.slice(0,4)),r=Number(e.slice(4,6))-1,n=Number(e.slice(6,8)),i=Number(e.slice(8,10)),o=Number(e.slice(10,12)),a=e.length>=14?Number(e.slice(12,14)):0,s=new Date(t,r,n,i,o,a);return Number.isNaN(s.getTime())?null:s}function Hu(e){const t=/<(table|tr|div)(\s[^>]*)>/gi;let r;for(;(r=t.exec(e))!==null;){const n=r[2]??"";if(/\bem\s*=\s*["']block["']/i.test(n))return{full:r[0],index:r.index}}return null}function t0(e,t,r){const n=new RegExp(`\\b${t}\\s*=\\s*["'][^"']*["']`,"i"),i=MW(r);return n.test(e)?e.replace(n,`${t}="${i}"`):e.replace(/>$/,` ${t}="${i}">`)}function r0(e,t){return e.replace(new RegExp(`\\s+${t}\\s*=\\s*["'][^"']*["']`,"gi"),"")}function n0(e,t){const r=new RegExp(`\\b${t}\\s*=\\s*["']([^"']*)["']`,"i").exec(e);return r?r[1]:void 0}function NW(e){if(!e?.trim())return{};const t=Hu(e);return t?{emBlockId:n0(t.full,"em-block-id"),emBlockVersion:n0(t.full,"em-block-version")}:{}}function i0(e){return e?.wpId?String(e.wpId):!xe()&&e?.id?String(e.id):void 0}function o0(e,t,r){if(!e?.trim()||!t)return e;const n=Hu(e);if(!n)return e;const i=String(t),o=Vu(r??new Date);let{full:a,index:s}=n;const c=a.length;return/\bem-block-id\s*=/.test(a)||(a=t0(a,"em-block-id",i)),a=t0(a,"em-block-version",o),e.slice(0,s)+a+e.slice(s+c)}function Wu(e){const t=e?.trim()?Hu(e):null;if(!t)return e;const{full:r,index:n}=t,i=r0(r0(r,"em-block-id"),"em-block-version");return e.slice(0,n)+i+e.slice(n+r.length)}function DW(e){return{projectId:e,pageSize:1e3,page:1,tags:null,name:null,type:null,notEmbed:!0,order:"asc",orderby:"title"}}function a0(e){return LW(e)}function LW(e){return e===void 0?lm:e||null}function Ku(e){return xe()&&e!=null?{pageProjectId:String(e)}:{}}function FW(e,t){return{...Ku(t),emailId:e,pageSize:1e3,page:1,projectId:iO,notEmbed:!0,name:null,type:null}}function xW(e){return{...Ku(e),pageSize:1e3,page:1,notEmbed:!0,name:null,type:null}}function os(e){if(e!==null&&typeof e=="object"&&"data"in e){const t=e.data;return{code:t?.code,message:t?.message}}return{}}async function s0(e){const{created:t,blockData:r,editBlock:n,notification:i,onGlobalBlockTemplateSynced:o}=e,a=i0(t);if(!t.id||!a)return;const s=new Date,c=Vu(s);if(n){const l=t.html??r.html??"",u=o0(l,a,s);if(u!==l){const d=await n({blockId:String(t.id),html:u});if(d.error){const m=os(d.error);i.error({id:"BLOCK_EDITING_ERROR",data:{title:r.title,code:u},innerException:d.error,message:m.code,description:m.message})}}}o?.(a,c)}function l0(e){const{block:t,projectId:r,htmlContent:n,values:i}=e;return t?{title:t.blockTitle,project:t.projectId,html:Wu(t.htmlContent),type:t.blockType||"Other",global_block:!1}:{title:i?.title??"",project:r,html:n?Wu(n):"",type:i?.type||"Other",...i?.global_block===!0?{global_block:!0}:{}}}async function BW(e){const{title:t,html:r,projectId:n,addBlock:i,editBlock:o,notification:a,onGlobalBlockTemplateSynced:s}=e,c=l0({projectId:n,htmlContent:r,values:{title:t,global_block:!0}}),{data:l,error:u}=await i({...c,blocktags:""});if(u){const m=os(u);return a.error({id:"BLOCK_CREATING_ERROR",data:{title:t,code:c.html},innerException:u,message:m.code,description:m.message}),!1}const d=l;return d?.id?(await s0({created:d,blockData:c,editBlock:o,notification:a,onGlobalBlockTemplateSynced:s}),!0):!1}var UW=async({block:e,form:t,projectId:r,htmlContent:n,values:i,tagIds:o,addBlock:a,editBlock:s,editProject:c,notification:l,refetchBlocks:u,reloadBlockScreens:d,projectTagsArray:m,__:p,handleCloseModal:g,onGlobalBlockTemplateSynced:h,onPlainBlockCreated:v})=>{const E=l0({block:e,projectId:r,htmlContent:n,values:i}),C=await a({...E,blocktags:o.join(",")});if(C.error){const T=os(C.error);throw l.error({id:"BLOCK_CREATING_ERROR",data:{title:E.title,code:E.html},innerException:C.error,message:T.code,description:T.message}),t.resetFields(),g(),new Error("Ошибка создания блока")}const b=C.data;!e&&i?.global_block===!0?b?.id&&await s0({created:b,blockData:E,editBlock:s,notification:l,onGlobalBlockTemplateSynced:h}):e||v?.(),e||(t.resetFields(),g());const w=m.map(T=>T.id),I=new Set([...w,...o]),y=xe()?{}:await c({projectId:r,blocktags:[...I].join(",")});if(y.error){const T=os(y.error);l.error({message:T.message,code:T.code})}else!e&&u&&(l.success({id:"BLOCK_CREATING_SUCCESS",data:bg(C.data),message:p("The block “")+String(C.data?.title??"")+p("” was successfully created.")}),u());return!e&&d&&d(),C.data},$W=`
819
+ :host > table { margin: 0 auto; }
820
+ table { border-collapse: initial; }
821
+ `;function c0(e){return e.shadowRoot??e.attachShadow({mode:"open"})}function qW(e,t){e.innerHTML=`<style>${$W}</style>${t}`}function GW(e){e.shadowRoot&&(e.shadowRoot.innerHTML="")}function u0(e,t){const r=e.closest(".blocks-search__result-body");if(t){e.dataset.blockPreview="filled",r?.setAttribute("data-block-preview","filled");return}delete e.dataset.blockPreview,r?.removeAttribute("data-block-preview")}function zW(e,t){const r=Array.from(e.querySelectorAll("img")).filter(n=>!n.complete);return r.forEach(n=>{n.addEventListener("load",t),n.addEventListener("error",t)}),()=>{r.forEach(n=>{n.removeEventListener("load",t),n.removeEventListener("error",t)})}}function VW({html:e,className:t,style:r,onContentLoad:n}){const i=(0,_.useRef)(null);return(0,_.useEffect)(()=>{const o=i.current;if(!o)return;let a,s=!1;const c=()=>{if(s)return;const d=c0(o);qW(d,e),s=!0,u0(o,!0),n?.(o),a=n?zW(d,()=>n(o)):void 0},u=B1(o,{fill:c,drop:()=>{s&&(a?.(),a=void 0,GW(o),s=!1,u0(o,!1))}});return u===!1?(c(),()=>a?.()):()=>{u(),a?.()}},[e,n]),(0,M.jsx)("div",{ref:i,className:t,style:r})}function HW(e){const t=e.cloneNode(!1),r=e.shadowRoot;return r?c0(t).innerHTML=r.innerHTML:t.innerHTML=e.innerHTML,t}function WW(){const e=Kw(),t=vu();return(0,_.useCallback)((r,n)=>{t()||e(r,n)},[e,t])}function d0(e){return Fe()&&!xe()&&FV(e)}function KW(e){const t=a0(e),r=d0(t)?t:void 0,{data:n,isError:i}=sH(r??"",{skip:r===void 0});return(0,_.useMemo)(()=>r===void 0?{parentId:t,unresolved:!1}:{parentId:n||void 0,unresolved:i||n===0},[r,n,i,t])}function QW(e,t){const r=$t(P.events.ON_DOCUMENT_SESSION_CHANGE);(0,_.useEffect)(()=>{r.fire({document:e,history:t})},[e,t,r])}function YW(e,t){const r=ut(),n=(0,_.useRef)(void 0);(0,_.useLayoutEffect)(()=>{if(!e)return;const i=n.current;n.current=e,!(!i||i===e)&&(r(e1()),r(cE()),r(w_()),r(Iy()),r(ew()),t?.())},[e,r,t])}function XW(){const e=me(),t=ar(P.getContainer(e)),r=(0,_.useCallback)(n=>t.subscribe(n),[t]);return{document:(0,_.useSyncExternalStore)(r,()=>t.current()),show:(0,_.useSyncExternalStore)(r,()=>t.showFacts()),error:(0,_.useSyncExternalStore)(r,()=>t.openError())}}var JW={};function f0(e){const t=(0,_.useCallback)(i=>e?e.subscribe(i):()=>{},[e]),r=(0,_.useRef)(null),n=(0,_.useCallback)(()=>{if(!e)return JW;const{docId:i,attributes:o}=e.get();return(r.current?.docId!==i||r.current.attributes!==o)&&(r.current={docId:i,attributes:o}),r.current.attributes},[e]);return(0,_.useSyncExternalStore)(t,n)}function Qu({attributes:e,readContent:t,docId:r,hasSession:n,serverId:i,show:o}){if(!n)return;const a={id:i??void 0,renderGuid:r,showId:o?.id,isNew:i==null,showToken:o?.token},s={...e,...a};return Object.defineProperty(s,"html",{get:()=>t()??"",enumerable:!0,configurable:!0}),s}function ZW(){const{document:e,show:t,error:r}=XW();return{document:e,email:m0(e,t),error:r}}function m0(e,t){const r=f0(e),n=(0,_.useCallback)(o=>e?e.subscribe(o):()=>{},[e]),i=(0,_.useSyncExternalStore)(n,()=>e?.get().serverId??void 0);return(0,_.useMemo)(()=>Qu({attributes:r,readContent:()=>e?.getContent(),docId:e?.get().docId,hasSession:!!e,serverId:i,show:t}),[r,e,t,i])}function eK(e){if(!e)return{status:"unknown"};if("status"in e){const t=e.data,r=t&&typeof t=="object"?t.message:void 0,n=typeof r=="string"?r:typeof t=="string"?t:void 0;return{status:String(e.status),message:n}}return{status:e.name??"unknown",message:e.message}}var tK=new Set(["403","404","410"]);function rK(e,t,r){const{status:n,message:i}=eK(r),o=tK.has(n);yl(`Failed to load ${e} ${t??"?"}: ${n}`,{origin:"entity-load-error",tags:{mechanism:"entity-load-error",entity_type:e,http_status:n,expected_refusal:String(o)},level:o?"warning":"error",contexts:{entity_load_error:{entityType:e,entityId:t,status:n,message:i,url:window.location.href}}})}function nK(e){const t=me();return(0,_.useMemo)(()=>e?P.getApi(P.getContainer(t),e):P.getContainer(t)?.getInstance(P.REST_CLIENT_ID),[t,e])}var iK=()=>{const e=me();return(0,_.useMemo)(()=>P.getContainer(e)?.getInstance(P.STORAGE_PROVIDER_ID),[e])},p0=P.createIdentifier$1("EditorOptions"),Yu=MT;function oK(e){const t=typeof e.font_family=="string"?`${e.font_family}, sans-serif`:void 0,r=e.word_wrap===void 0?void 0:e.word_wrap?"on":"off";return{tabSize:e.tab_size,fontFamily:t,fontSize:e.font_size,wordWrap:r,insertSpaces:e.insert_spaces,minimap:{enabled:e.minimap}}}function h0(e){return e.getOrCreateInstance(p0,()=>{const t=Re(Yu);let r=Yu.fontFamily;return t.watch(n=>{!n.fontFamily||n.fontFamily===r||(r=n.fontFamily,Promise.resolve(jM(n.fontFamily.split(",")[0])).catch(()=>{}))}),t})}function aK(e){return e?.getInstance(p0)?.get()??Yu}function sK(e,t={}){const r=h0(e);r.set(Yh({...r.get()},oK(t)))}function g0(e){return{...Qu({attributes:e.get().attributes,readContent:()=>e.getContent(),docId:e.get().docId,hasSession:!0,serverId:e.get().serverId,show:void 0}),html:e.getContent()}}function lK(e){const t=ar(e),r=t.current();if(!r||!Ae(t.sessionKey()))return;const n=g0(r),i=r.isDirty();$n(e,P.events.ON_BLOCK_CLOSE_ID).fire({block:n,hasUnsavedChanges:i})}function cK(e){const t=ar(e);return!t.current()||!Ae(t.sessionKey())?!1:(lK(e),t.hasSuspended()?t.resumeSuspended()!==void 0:!1)}function uK({candidates:e,headers:t,createEventSource:r,onMessage:n,onError:i}){const o=e.filter(Boolean);let a=!1,s=null;const c=()=>{s?.close(),s=null},l=u=>{if(a)return;const d=o[u];if(!d){i?.(new Error("Failed to connect to EventSource through proxy chain"));return}c();const m=r(d,{headers:t});s=m,m.onmessage=p=>{a||s!==m||n(p)},m.onerror=p=>{if(!(a||s!==m)){if(c(),u+1<o.length){l(u+1);return}i?.(p)}}};return l(0),{close(){a=!0,c()}}}var dK="https://api.unsplash.com",fK="https://api.giphy.com/v1/gifs";function Vi(e){return{error:e instanceof Error?e:new Error(String(e))}}async function as(e){if(!e.ok)throw new Error(`Request failed with status ${e.status}`);const t=await e.text();try{return t?JSON.parse(t):null}catch(r){throw r}}function mK(e){return e&&Array.isArray(e.results)?e:e?.data&&Array.isArray(e.data.results)?e.data:e?.response&&Array.isArray(e.response.results)?e.response:{...e||{},results:[]}}var y0=Ne({reducerPath:"imageApi",baseQuery:void 0,endpoints:e=>({getImageInfo:e.query({queryFn:async function(t,r){try{const n=nr(P.getContainer(r)).imageInfoToolUrl||"https://scr.emcdn.ru/imageinfo";return{data:await as(await fetch(`${n}?url=${encodeURIComponent(t)}`))}}catch(n){return Vi(n)}}}),getSearchImage:e.query({queryFn:async function({query:t,page:r},n){const i=t.keywords.replace(/[^\w\d\sа-яёА-ЯЁ]|_/g,"").replace(/[\s_-]+/g," ");try{const o=nr(P.getContainer(n)),a=P.getContainer(n).getInstance(P.SECURITY_MODULE_ID)!==void 0,s=new URL(`${dK}/search/photos`);return s.searchParams.set("client_id","S5iNcLqYgRBIOLQdluHdTsCJnjCvahzhG7JfYQOrV7o"),s.searchParams.set("lang","ru"),s.searchParams.set("per_page","18"),s.searchParams.set("query",i),s.searchParams.set("page",String(r)),t.color!==""&&s.searchParams.set("color",t.color),t.orientation!==""&&s.searchParams.set("orientation",t.orientation),{data:mK(await as(await P.fetchWithResourceProxy(s.toString(),{config:o,standalone:a,resourceType:"stockImages",intent:"metadata"})))}}catch(o){return Vi(o)}}}),getUnsplashImage:e.query({queryFn:async function(t,r){try{const n=nr(P.getContainer(r)),i=P.getContainer(r).getInstance(P.SECURITY_MODULE_ID)!==void 0,o=new URL(t);return o.searchParams.set("client_id","S5iNcLqYgRBIOLQdluHdTsCJnjCvahzhG7JfYQOrV7o"),{data:await as(await P.fetchWithResourceProxy(o.toString(),{config:n,standalone:i,resourceType:"stockImages",intent:"metadata"}))}}catch(n){return Vi(n)}}}),sendAiImageRequest:e.query({queryFn:async function({body:t},r){try{return await K(r).aiGenerator.ai_create(t)}catch(n){throw new Error(n)}}}),getAiImage:e.query({queryFn:async function(t,r){try{return await K(r).aiGenerator.ai_status_list(t)}catch(n){return Vi(n)}}}),getAiImageSSE:e.query({queryFn:t=>({data:[]}),async onCacheEntryAdded({task_id:t,entity_id:r,setError:n},i){const{updateCachedData:o,cacheEntryRemoved:a}=i,s=K(i).baseUrl||P.normalizeBaseUrl("https://app.emailmaker.ru/api/"),c=nr(P.getContainer(i)),l=P.getContainer(i).getInstance(P.SECURITY_MODULE_ID)!==void 0,u=await P.getContainer(i).getInstance(P.TOKEN_ID),d=u?{Authorization:`Bearer ${u}`}:{},m=`${s}/ai-generator/v1/ai-status?entity_id=${r}&stream=1&task_id=${t}`,p=await tE(),g=P.resolveBackendProxyRequestCandidates(m,{config:c,method:"GET",requestType:"ai",standalone:l}),h=uK({candidates:g.length>0?g:[m],headers:d,createEventSource:(v,E)=>new p(v,E),onMessage:v=>{const E=JSON.parse(v.data);o(C=>{C.push(E)}),E.progress===100&&h.close()},onError:()=>{h.close()}});await a,h.close()}}),getSearchGif:e.query({queryFn:async function({query:t,page:r},n){const i=t.keywords.replace(/[^\w\d\sа-яёА-ЯЁ]|_/g,"").replace(/[\s_-]+/g," ");try{const o=nr(P.getContainer(n)),a=P.getContainer(n).getInstance(P.SECURITY_MODULE_ID)!==void 0;return{data:await as(await P.fetchWithResourceProxy(`${fK}/search?api_key=Nh77eBlPeMn1ed9MBAvL542NUGeNO26F&q=${encodeURIComponent(i)}&limit=25&offset=${r}&lang=en`,{config:o,standalone:a,resourceType:"generic",intent:"metadata"}))}}catch(o){return Vi(o)}}})})}),{useLazyGetImageInfoQuery:pK,useGetImageInfoQuery:j6,useGetSearchImageQuery:M6,useLazyGetSearchImageQuery:hK,useSendAiImageRequestQuery:R6,useLazySendAiImageRequestQuery:gK,useGetAiImageQuery:N6,useLazyGetAiImageQuery:D6,useGetUnsplashImageQuery:L6,useLazyGetUnsplashImageQuery:yK,useGetSearchGifQuery:F6,useLazyGetSearchGifQuery:_K,useGetAiImageSSEQuery:x6,useLazyGetAiImageSSEQuery:vK}=y0,_0="Optimise",bK="usage_limit_exceeded",EK=async(e,t,r)=>{const n=K(t).baseUrl.replaceAll(/[\\/]$/g,""),i=await We({baseUrl:`${n}/optimization/v1/validate`})(e,t,r);if(i.error){let o=i.error;if(typeof o.json=="function")try{o=await o.json()}catch{o=await o}return{error:o}}return i},v0=Ne({reducerPath:"optimiseApi",tagTypes:[_0],baseQuery:EK,endpoints:e=>({editLinks:e.mutation({query:t=>({headers:{"Content-Type":"application/json",Accept:"application/json"},method:"POST",type:"application/json",url:"/links",body:t}),invalidatesTags:[_0]}),editImages:e.mutation({query:t=>({headers:{"Content-Type":"application/json",Accept:"application/json"},method:"POST",type:"application/json",url:"/images",body:t})}),editSpam:e.mutation({query:t=>({headers:{"Content-Type":"application/json",Accept:"application/json"},method:"POST",type:"application/json",url:"/spamassasin",body:t})})})}),{useEditLinksMutation:wK,useEditImagesMutation:SK,useEditSpamMutation:PK}=v0,IK={currentSchema:{},monacoDidMount:!1},TK="userSlice",b0=Le({name:TK,initialState:IK,reducers:{setMonacoDidMount:(e,{payload:t})=>{e.monacoDidMount=t}},extraReducers:e=>{e.addMatcher(sr.endpoints.getSchema.matchFulfilled,(t,r)=>{t.currentSchema=r.payload.schema})}}),{setMonacoDidMount:OK}=b0.actions,CK={getContainer:P.getContainer,createIdentifier:P.createIdentifier$1,reducer:bO,reducerPath:fm},E0=P.createIdentifier$1("DefaultCommonStyles");function w0(e){return e.getOrCreateInstance(E0,()=>Re(void 0))}function AK(e){return e?.getInstance(E0)?.get()}function kK(e,t){w0(e).set(t)}var Xu=P.createIdentifier$1("CodeErrors"),S0=[];function jK(e){return e.getOrCreateInstance(Xu,()=>Re(S0))}function MK(e){return e?.getInstance(Xu)?.get()??S0}function RK(e){return e?.getInstance(Xu)!==void 0}function NK(e,t){jK(e).set(t)}Object.defineProperty(f,"AICHAT",{enumerable:!0,get:function(){return VT}}),Object.defineProperty(f,"ANNOTATIONS_PARAMETERS",{enumerable:!0,get:function(){return UT}}),Object.defineProperty(f,"APPEARANCE",{enumerable:!0,get:function(){return RT}}),Object.defineProperty(f,"APP_COOKIES",{enumerable:!0,get:function(){return Eo}}),Object.defineProperty(f,"APP_ROUTES",{enumerable:!0,get:function(){return wT}}),Object.defineProperty(f,"ATOMS",{enumerable:!0,get:function(){return KT}}),Object.defineProperty(f,"AddAllBlocksModalLazy",{enumerable:!0,get:function(){return Tq}}),Object.defineProperty(f,"AddNewBlockModalLazy",{enumerable:!0,get:function(){return Iq}}),Object.defineProperty(f,"AiApi",{enumerable:!0,get:function(){return eE}}),Object.defineProperty(f,"AiApiGenerator",{enumerable:!0,get:function(){return rE}}),Object.defineProperty(f,"Atoms",{enumerable:!0,get:function(){return Ov}}),Object.defineProperty(f,"BASIC_BORDER_COLOR",{enumerable:!0,get:function(){return GT}}),Object.defineProperty(f,"BLOCK",{enumerable:!0,get:function(){return XT}}),Object.defineProperty(f,"BLOCKS",{enumerable:!0,get:function(){return WT}}),Object.defineProperty(f,"BLOCK_TAGS",{enumerable:!0,get:function(){return aO}}),Object.defineProperty(f,"BUILD",{enumerable:!0,get:function(){return Un}}),Object.defineProperty(f,"BlockAutoSaveToWpBlockAutoSave",{enumerable:!0,get:function(){return Jy}}),Object.defineProperty(f,"BlockPreviewShadow",{enumerable:!0,get:function(){return VW}}),Object.defineProperty(f,"BlocksSearchLazy",{enumerable:!0,get:function(){return wq}}),Object.defineProperty(f,"BrowserExtensionWarningModal",{enumerable:!0,get:function(){return cq}}),Object.defineProperty(f,"BrowserTranslateWarningModal",{enumerable:!0,get:function(){return dq}}),Object.defineProperty(f,"CANVAS_RESIZER_BINDER_ID",{enumerable:!0,get:function(){return pU}}),Object.defineProperty(f,"CANVAS_VIEWPORT_ID",{enumerable:!0,get:function(){return wG}}),Object.defineProperty(f,"CARDS",{enumerable:!0,get:function(){return sm}}),Object.defineProperty(f,"COARSE_POINTER_QUERY",{enumerable:!0,get:function(){return A_}}),Object.defineProperty(f,"COLLABORATION_EDITOR_WARNING_TEXT",{enumerable:!0,get:function(){return TV}}),Object.defineProperty(f,"COMMON_STYLES",{enumerable:!0,get:function(){return hT}}),Object.defineProperty(f,"CORE_LOCATIONS",{enumerable:!0,get:function(){return Ao}}),Object.defineProperty(f,"CORE_OWNER",{enumerable:!0,get:function(){return Vr}}),Object.defineProperty(f,"CSSTransition",{enumerable:!0,get:function(){return is}}),Object.defineProperty(f,"CURRENT_PROJECT_ID",{enumerable:!0,get:function(){return Kn}}),Object.defineProperty(f,"CanvasAlerts",{enumerable:!0,get:function(){return zz}}),Object.defineProperty(f,"CanvasAlertsProvider",{enumerable:!0,get:function(){return Dz}}),Object.defineProperty(f,"CanvasColumn",{enumerable:!0,get:function(){return $z}}),Object.defineProperty(f,"CanvasWrapper",{enumerable:!0,get:function(){return Gz}}),Object.defineProperty(f,"CodeColumn",{enumerable:!0,get:function(){return qz}}),Object.defineProperty(f,"CollaboratorList",{enumerable:!0,get:function(){return nG}}),Object.defineProperty(f,"ContentType",{enumerable:!0,get:function(){return V}}),Object.defineProperty(f,"D",{enumerable:!0,get:function(){return fu}}),Object.defineProperty(f,"DARK",{enumerable:!0,get:function(){return em}}),Object.defineProperty(f,"DEFAULT_SANDBOX_OP_TIMEOUT_MS",{enumerable:!0,get:function(){return il}}),Object.defineProperty(f,"DEFAULT_SANDBOX_READY_TIMEOUT_MS",{enumerable:!0,get:function(){return jo}}),Object.defineProperty(f,"DISABLED_TAB",{enumerable:!0,get:function(){return FT}}),Object.defineProperty(f,"DISCONNECT_WARNING_TEXT",{enumerable:!0,get:function(){return OV}}),Object.defineProperty(f,"DISCUSS",{enumerable:!0,get:function(){return HT}}),Object.defineProperty(f,"DND_SOCIAL_LIST_REORDER_MIME",{enumerable:!0,get:function(){return ST}}),Object.defineProperty(f,"DiscussAiLazy",{enumerable:!0,get:function(){return vq}}),Object.defineProperty(f,"DiscussLazy",{enumerable:!0,get:function(){return Sq}}),Object.defineProperty(f,"DocumentSessionProvider",{enumerable:!0,get:function(){return R1}}),Object.defineProperty(f,"EDIT",{enumerable:!0,get:function(){return zT}}),Object.defineProperty(f,"EDIT_SELECTED_ELEMENT",{enumerable:!0,get:function(){return im}}),Object.defineProperty(f,"EDIT_SELECTED_TABLE_CELLS",{enumerable:!0,get:function(){return qT}}),Object.defineProperty(f,"ELEMENT_TYPES",{enumerable:!0,get:function(){return qr}}),Object.defineProperty(f,"EMAIL",{enumerable:!0,get:function(){return am}}),Object.defineProperty(f,"EMAIL_CODE_RULESET",{enumerable:!0,get:function(){return EW}}),Object.defineProperty(f,"EMAIL_DOCUMENTS_ID",{enumerable:!0,get:function(){return Ro}}),Object.defineProperty(f,"EMAIL_TAGS",{enumerable:!0,get:function(){return oO}}),Object.defineProperty(f,"EM_FILES_MODULES",{enumerable:!0,get:function(){return Eb}}),Object.defineProperty(f,"ERROR",{enumerable:!0,get:function(){return gT}}),Object.defineProperty(f,"ERRORS",{enumerable:!0,get:function(){return rO}}),Object.defineProperty(f,"EVENT_TYPES",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(f,"ElementEntityKindProvider",{enumerable:!0,get:function(){return V$}}),Object.defineProperty(f,"ElementPath",{enumerable:!0,get:function(){return W$}}),Object.defineProperty(f,"EmIcons",{enumerable:!0,get:function(){return ee}}),Object.defineProperty(f,"EmailAutoSaveToWpEmailAutoSave",{enumerable:!0,get:function(){return vw}}),Object.defineProperty(f,"EmailCodeSizeBadge",{enumerable:!0,get:function(){return Y$}}),Object.defineProperty(f,"EmailConfirmationRequiredModal",{enumerable:!0,get:function(){return mV}}),Object.defineProperty(f,"EmailIframe",{enumerable:!0,get:function(){return xv}}),Object.defineProperty(f,"EmailOpenFailedError",{enumerable:!0,get:function(){return Jn}}),Object.defineProperty(f,"EmailSettingsLazy",{enumerable:!0,get:function(){return yq}}),Object.defineProperty(f,"EmailStylesLazy",{enumerable:!0,get:function(){return _q}}),Object.defineProperty(f,"EmailToV2CreateRequest",{enumerable:!0,get:function(){return fw}}),Object.defineProperty(f,"EmailToV2PatchRequest",{enumerable:!0,get:function(){return dw}}),Object.defineProperty(f,"EmailToWpEmail",{enumerable:!0,get:function(){return Nu}}),Object.defineProperty(f,"Emails",{enumerable:!0,get:function(){return Ct}}),Object.defineProperty(f,"FEATURE_UPSELL_SLIDE",{enumerable:!0,get:function(){return ov}}),Object.defineProperty(f,"FileManagerLazy",{enumerable:!0,get:function(){return jq}}),Object.defineProperty(f,"GeometryProvider",{enumerable:!0,get:function(){return jz}}),Object.defineProperty(f,"HISTORY",{enumerable:!0,get:function(){return LT}}),Object.defineProperty(f,"Header",{enumerable:!0,get:function(){return kW}}),Object.defineProperty(f,"HiddenImageProperties",{enumerable:!0,get:function(){return Kz}}),Object.defineProperty(f,"HistoryLockedByPlanError",{enumerable:!0,get:function(){return nw}}),Object.defineProperty(f,"HistoryPanelLazy",{enumerable:!0,get:function(){return Pq}}),Object.defineProperty(f,"ImagePickerProvider",{enumerable:!0,get:function(){return ZD}}),Object.defineProperty(f,"IntegratorSaveTimeoutError",{enumerable:!0,get:function(){return ol}}),Object.defineProperty(f,"LANDSCAPE_QUERY",{enumerable:!0,get:function(){return k_}}),Object.defineProperty(f,"LIGHT",{enumerable:!0,get:function(){return Zf}}),Object.defineProperty(f,"LOCALE_SERVICE_ID",{enumerable:!0,get:function(){return Wy}}),Object.defineProperty(f,"LOCAL_STORAGE_ITEMS",{enumerable:!0,get:function(){return ft}}),Object.defineProperty(f,"LimitUpgradeModalLazy",{enumerable:!0,get:function(){return Aq}}),Object.defineProperty(f,"LocaleProvider",{enumerable:!0,get:function(){return FL}}),Object.defineProperty(f,"MOBILE",{enumerable:!0,get:function(){return um}}),Object.defineProperty(f,"MODALS",{enumerable:!0,get:function(){return _e}}),Object.defineProperty(f,"MOUNT_HEADLESS_MARK",{enumerable:!0,get:function(){return B0}}),Object.defineProperty(f,"ModalRootContext",{enumerable:!0,get:function(){return _m}}),Object.defineProperty(f,"MonacoEditorLazy",{enumerable:!0,get:function(){return z$}}),Object.defineProperty(f,"NOTIFIED",{enumerable:!0,get:function(){return Lh}}),Object.defineProperty(f,"NOTIFY_COMMAND_ID",{enumerable:!0,get:function(){return hg}}),Object.defineProperty(f,"NOT_ALL",{enumerable:!0,get:function(){return _T}}),Object.defineProperty(f,"OPTIMISE",{enumerable:!0,get:function(){return QT}}),Object.defineProperty(f,"OPTIMISE_TABS",{enumerable:!0,get:function(){return nO}}),Object.defineProperty(f,"OptimiseLazy",{enumerable:!0,get:function(){return bq}}),Object.defineProperty(f,"PENDING",{enumerable:!0,get:function(){return JT}}),Object.defineProperty(f,"PHASES",{enumerable:!0,get:function(){return St}}),Object.defineProperty(f,"PLUGIN_ZOOM_VAR",{enumerable:!0,get:function(){return E1}}),Object.defineProperty(f,"PREFERS_COLOR_SCHEME_DARK",{enumerable:!0,get:function(){return ET}}),Object.defineProperty(f,"PREFERS_COLOR_SCHEME_LIGHT",{enumerable:!0,get:function(){return bT}}),Object.defineProperty(f,"PROPERTIES",{enumerable:!0,get:function(){return nm}}),Object.defineProperty(f,"PaneShell",{enumerable:!0,get:function(){return xz}}),Object.defineProperty(f,"PlanUpgradePrompt",{enumerable:!0,get:function(){return iv}}),Object.defineProperty(f,"PluginButtons",{enumerable:!0,get:function(){return DR}}),Object.defineProperty(f,"PluginMenuButton",{enumerable:!0,get:function(){return xR}}),Object.defineProperty(f,"PluginSaveMore",{enumerable:!0,get:function(){return GR}}),Object.defineProperty(f,"PluginViewMount",{enumerable:!0,get:function(){return Cg}}),Object.defineProperty(f,"ProjectV2IdError",{enumerable:!0,get:function(){return Ei}}),Object.defineProperty(f,"PromiseAllCatched",{enumerable:!0,get:function(){return FH}}),Object.defineProperty(f,"PropertiesTabContent",{enumerable:!0,get:function(){return Vz}}),Object.defineProperty(f,"Provider",{enumerable:!0,get:function(){return gP}}),Object.defineProperty(f,"READ_COMMON_BLOCKS_EVENT_ID",{enumerable:!0,get:function(){return DA}}),Object.defineProperty(f,"READ_TEMPLATE_BLOCKS_EVENT_ID",{enumerable:!0,get:function(){return NA}}),Object.defineProperty(f,"RESET_BORDER_PARAMS",{enumerable:!0,get:function(){return YT}}),Object.defineProperty(f,"REST_EMAIL_PORTS_ID",{enumerable:!0,get:function(){return Go}}),Object.defineProperty(f,"ResizableArea",{enumerable:!0,get:function(){return Uz}}),Object.defineProperty(f,"RootContext",{enumerable:!0,get:function(){return ym}}),Object.defineProperty(f,"RouteOutlet",{enumerable:!0,get:function(){return DC}}),Object.defineProperty(f,"SANDBOX_TRANSLATIONS_MAP",{enumerable:!0,get:function(){return sO}}),Object.defineProperty(f,"SAVE_BLOCK_COMMAND_ID",{enumerable:!0,get:function(){return mR}}),Object.defineProperty(f,"SAVE_BUTTON_SOURCE",{enumerable:!0,get:function(){return aM}}),Object.defineProperty(f,"SAVE_COMMAND_ID",{enumerable:!0,get:function(){return fR}}),Object.defineProperty(f,"SCALED_LAYOUT_CLASS",{enumerable:!0,get:function(){return b1}}),Object.defineProperty(f,"SCALED_LAYOUT_WIDTH",{enumerable:!0,get:function(){return Rc}}),Object.defineProperty(f,"SCRIPT_STAND_IN",{enumerable:!0,get:function(){return qi}}),Object.defineProperty(f,"SETTINGS",{enumerable:!0,get:function(){return DT}}),Object.defineProperty(f,"SOCIAL_ICON_ORIGINAL_BY_PLATFORM",{enumerable:!0,get:function(){return Pi}}),Object.defineProperty(f,"STRUCTURE",{enumerable:!0,get:function(){return NT}}),Object.defineProperty(f,"STYLES",{enumerable:!0,get:function(){return om}}),Object.defineProperty(f,"SYSTEM",{enumerable:!0,get:function(){return vT}}),Object.defineProperty(f,"SaveBlockBtnLazy",{enumerable:!0,get:function(){return Cq}}),Object.defineProperty(f,"SaveRefusedError",{enumerable:!0,get:function(){return or}}),Object.defineProperty(f,"SelectedElementPanelInCodeMode",{enumerable:!0,get:function(){return Wz}}),Object.defineProperty(f,"SelectionProvider",{enumerable:!0,get:function(){return Cz}}),Object.defineProperty(f,"SendTestEmailModalLazy",{enumerable:!0,get:function(){return Oq}}),Object.defineProperty(f,"Structures",{enumerable:!0,get:function(){return $_}}),Object.defineProperty(f,"StructuresMedia",{enumerable:!0,get:function(){return G_}}),Object.defineProperty(f,"SwitchLockBtn",{enumerable:!0,get:function(){return Ew}}),Object.defineProperty(f,"TABLE_PROPERTIES",{enumerable:!0,get:function(){return $T}}),Object.defineProperty(f,"TEMPLATE_EMAIL_ID",{enumerable:!0,get:function(){return lm}}),Object.defineProperty(f,"TOOLBAR_GROUPS_BEFORE_SAVE",{enumerable:!0,get:function(){return CR}}),Object.defineProperty(f,"TYPES_TRANSLATE",{enumerable:!0,get:function(){return lO}}),Object.defineProperty(f,"TextChange",{enumerable:!0,get:function(){return rt}}),Object.defineProperty(f,"USAGE_LIMIT_EXCEEDED_CODE",{enumerable:!0,get:function(){return bK}}),Object.defineProperty(f,"UTM_PARAMETERS",{enumerable:!0,get:function(){return BT}}),Object.defineProperty(f,"V2EmailCardToEmail",{enumerable:!0,get:function(){return Ya}}),Object.defineProperty(f,"V2RawEmailToEmail",{enumerable:!0,get:function(){return VV}}),Object.defineProperty(f,"VALID",{enumerable:!0,get:function(){return eO}}),Object.defineProperty(f,"WARNINGS",{enumerable:!0,get:function(){return tO}}),Object.defineProperty(f,"WidthRuler",{enumerable:!0,get:function(){return mU}}),Object.defineProperty(f,"WpBlockRevisionToBlockRevision",{enumerable:!0,get:function(){return Xy}}),Object.defineProperty(f,"WpBlockSchemaToTypes",{enumerable:!0,get:function(){return n_}}),Object.defineProperty(f,"WpEmailRevisionToEmailRevision",{enumerable:!0,get:function(){return _w}}),Object.defineProperty(f,"WpEmailToEmail",{enumerable:!0,get:function(){return Rr}}),Object.defineProperty(f,"_extends",{enumerable:!0,get:function(){return Xi}}),Object.defineProperty(f,"_objectWithoutPropertiesLoose",{enumerable:!0,get:function(){return vs}}),Object.defineProperty(f,"_polyfill_node_global_default",{enumerable:!0,get:function(){return dr}}),Object.defineProperty(f,"_setPrototypeOf",{enumerable:!0,get:function(){return ts}}),Object.defineProperty(f,"_typeof",{enumerable:!0,get:function(){return Qs}}),Object.defineProperty(f,"addDocumentListenerFromShadow",{enumerable:!0,get:function(){return HG}}),Object.defineProperty(f,"addWindowListenerFromShadow",{enumerable:!0,get:function(){return VG}}),Object.defineProperty(f,"ae",{enumerable:!0,get:function(){return qb}}),Object.defineProperty(f,"api",{enumerable:!0,get:function(){return Cy}}),Object.defineProperty(f,"appendEmVersionForPreviewReload",{enumerable:!0,get:function(){return DG}}),Object.defineProperty(f,"applyEditorOptions",{enumerable:!0,get:function(){return sK}}),Object.defineProperty(f,"applyMetaPatch",{enumerable:!0,get:function(){return Vp}}),Object.defineProperty(f,"asWpNumber",{enumerable:!0,get:function(){return un}}),Object.defineProperty(f,"authorFromMembers",{enumerable:!0,get:function(){return ow}}),Object.defineProperty(f,"authorizationApi",{enumerable:!0,get:function(){return sr}}),Object.defineProperty(f,"autosaveBody",{enumerable:!0,get:function(){return Gp}}),Object.defineProperty(f,"autosaveStateFromRevisions",{enumerable:!0,get:function(){return qp}}),Object.defineProperty(f,"autosaveStateFromSlots",{enumerable:!0,get:function(){return cl}}),Object.defineProperty(f,"baseOf",{enumerable:!0,get:function(){return Ol}}),Object.defineProperty(f,"blockPendingKey",{enumerable:!0,get:function(){return ml}}),Object.defineProperty(f,"blockPreviewHref",{enumerable:!0,get:function(){return uV}}),Object.defineProperty(f,"blockRevisionsDataSourceProvider",{enumerable:!0,get:function(){return hp}}),Object.defineProperty(f,"blockSessionKey",{enumerable:!0,get:function(){return vh}}),Object.defineProperty(f,"blockSlice",{enumerable:!0,get:function(){return h_}}),Object.defineProperty(f,"blocksApi",{enumerable:!0,get:function(){return kt}}),Object.defineProperty(f,"blocksDataSourceProvider",{enumerable:!0,get:function(){return nl}}),Object.defineProperty(f,"blocksPageSlice",{enumerable:!0,get:function(){return fE}}),Object.defineProperty(f,"browser$1",{enumerable:!0,get:function(){return pf}}),Object.defineProperty(f,"buildEmailRawKeyPath",{enumerable:!0,get:function(){return XE}}),Object.defineProperty(f,"buildEmailRawKeyUrl",{enumerable:!0,get:function(){return sV}}),Object.defineProperty(f,"buildEmailRawSharePath",{enumerable:!0,get:function(){return aV}}),Object.defineProperty(f,"buildEmailRawShareUrl",{enumerable:!0,get:function(){return oV}}),Object.defineProperty(f,"buildGetElementPreviewPath",{enumerable:!0,get:function(){return iV}}),Object.defineProperty(f,"buildResolvedFileManagerProviders",{enumerable:!0,get:function(){return Jb}}),Object.defineProperty(f,"canvasPreviewMetrics",{enumerable:!0,get:function(){return I1}}),Object.defineProperty(f,"ce",{enumerable:!0,get:function(){return Gb}}),Object.defineProperty(f,"changeConfig",{enumerable:!0,get:function(){return Vc}}),Object.defineProperty(f,"clearDiagnostics",{enumerable:!0,get:function(){return H0}}),Object.defineProperty(f,"clearStalePendingData",{enumerable:!0,get:function(){return pl}}),Object.defineProperty(f,"clientFromApi",{enumerable:!0,get:function(){return K}}),Object.defineProperty(f,"cloneBlockPreviewForDrag",{enumerable:!0,get:function(){return HW}}),Object.defineProperty(f,"closeModal",{enumerable:!0,get:function(){return w_}}),Object.defineProperty(f,"closeModal$1",{enumerable:!0,get:function(){return Iy}}),Object.defineProperty(f,"closeSecondModal",{enumerable:!0,get:function(){return VD}}),Object.defineProperty(f,"combineReducers",{enumerable:!0,get:function(){return Es}}),Object.defineProperty(f,"comingSoonHandler",{enumerable:!0,get:function(){return GM}}),Object.defineProperty(f,"commentsApi",{enumerable:!0,get:function(){return oE}}),Object.defineProperty(f,"commentsDataSourceProvider",{enumerable:!0,get:function(){return gp}}),Object.defineProperty(f,"commonLocale",{enumerable:!0,get:function(){return xy}}),Object.defineProperty(f,"configureStore",{enumerable:!0,get:function(){return wI}}),Object.defineProperty(f,"confirmationMailApi",{enumerable:!0,get:function(){return e0}}),Object.defineProperty(f,"createApi",{enumerable:!0,get:function(){return Ne}}),Object.defineProperty(f,"createBaselinePolicy",{enumerable:!0,get:function(){return lh}}),Object.defineProperty(f,"createBlock",{enumerable:!0,get:function(){return UW}}),Object.defineProperty(f,"createDraftFromTemplate",{enumerable:!0,get:function(){return vk}}),Object.defineProperty(f,"createEventIdentifier",{enumerable:!0,get:function(){return So}}),Object.defineProperty(f,"createI18n",{enumerable:!0,get:function(){return Ul}}),Object.defineProperty(f,"createIFrame",{enumerable:!0,get:function(){return _W}}),Object.defineProperty(f,"createNewEmailDraft",{enumerable:!0,get:function(){return Yp}}),Object.defineProperty(f,"createRestClientV2",{enumerable:!0,get:function(){return Zb}}),Object.defineProperty(f,"createSlice",{enumerable:!0,get:function(){return Le}}),Object.defineProperty(f,"createSource",{enumerable:!0,get:function(){return Re}}),Object.defineProperty(f,"createState",{enumerable:!0,get:function(){return $I}}),Object.defineProperty(f,"createUnconfiguredInputWarner",{enumerable:!0,get:function(){return sh}}),Object.defineProperty(f,"createZip",{enumerable:!0,get:function(){return mH}}),Object.defineProperty(f,"css",{enumerable:!0,get:function(){return ms}}),Object.defineProperty(f,"cssVarName",{enumerable:!0,get:function(){return Gr}}),Object.defineProperty(f,"decodeFileNameFromPath",{enumerable:!0,get:function(){return Vb}}),Object.defineProperty(f,"decodeFileNameFromUrl",{enumerable:!0,get:function(){return Hb}}),Object.defineProperty(f,"defaultModePanesSlice",{enumerable:!0,get:function(){return lE}}),Object.defineProperty(f,"detectMount",{enumerable:!0,get:function(){return rd}}),Object.defineProperty(f,"di",{enumerable:!0,get:function(){return CK}}),Object.defineProperty(f,"documentPendingKey",{enumerable:!0,get:function(){return eh}}),Object.defineProperty(f,"drainLoaderMarks",{enumerable:!0,get:function(){return sd}}),Object.defineProperty(f,"e",{enumerable:!0,get:function(){return W}}),Object.defineProperty(f,"emCssVar",{enumerable:!0,get:function(){return _O}}),Object.defineProperty(f,"emailOpenFailureReason",{enumerable:!0,get:function(){return Tl}}),Object.defineProperty(f,"emailPageSlice",{enumerable:!0,get:function(){return E_}}),Object.defineProperty(f,"emailProjectField",{enumerable:!0,get:function(){return tF}}),Object.defineProperty(f,"emailSlice",{enumerable:!0,get:function(){return Yf}}),Object.defineProperty(f,"emailValidation",{enumerable:!0,get:function(){return UM}}),Object.defineProperty(f,"emailsApi",{enumerable:!0,get:function(){return bw}}),Object.defineProperty(f,"enrichEditorSettings",{enumerable:!0,get:function(){return kG}}),Object.defineProperty(f,"err",{enumerable:!0,get:function(){return zr}}),Object.defineProperty(f,"executeCommand",{enumerable:!0,get:function(){return uR}}),Object.defineProperty(f,"existingTermIdFromError",{enumerable:!0,get:function(){return KA}}),Object.defineProperty(f,"existingWpNumber",{enumerable:!0,get:function(){return dn}}),Object.defineProperty(f,"failedTerms",{enumerable:!0,get:function(){return WA}}),Object.defineProperty(f,"fetchBaseQuery",{enumerable:!0,get:function(){return rc}}),Object.defineProperty(f,"fetchBaseQueryApp",{enumerable:!0,get:function(){return We}}),Object.defineProperty(f,"filterPluginItems",{enumerable:!0,get:function(){return Sg}}),Object.defineProperty(f,"filterUndefined",{enumerable:!0,get:function(){return Se}}),Object.defineProperty(f,"findShadowRoot",{enumerable:!0,get:function(){return hs}}),Object.defineProperty(f,"fireUploadImageEvent",{enumerable:!0,get:function(){return gb}}),Object.defineProperty(f,"formatCodeSize",{enumerable:!0,get:function(){return nb}}),Object.defineProperty(f,"formatDate",{enumerable:!0,get:function(){return NM}}),Object.defineProperty(f,"formatEmBlockVersion",{enumerable:!0,get:function(){return Vu}}),Object.defineProperty(f,"fromRevision",{enumerable:!0,get:function(){return Sl}}),Object.defineProperty(f,"fromServerFacts",{enumerable:!0,get:function(){return Pl}}),Object.defineProperty(f,"generateCopyHtml",{enumerable:!0,get:function(){return xM}}),Object.defineProperty(f,"generateCopyTitle",{enumerable:!0,get:function(){return Jh}}),Object.defineProperty(f,"getAiTariffUpgradeStep",{enumerable:!0,get:function(){return nq}}),Object.defineProperty(f,"getApiV2",{enumerable:!0,get:function(){return le}}),Object.defineProperty(f,"getAppConfig",{enumerable:!0,get:function(){return nr}}),Object.defineProperty(f,"getAppNamespaceRoot",{enumerable:!0,get:function(){return td}}),Object.defineProperty(f,"getAppProject",{enumerable:!0,get:function(){return zh}}),Object.defineProperty(f,"getBlockDesc",{enumerable:!0,get:function(){return bg}}),Object.defineProperty(f,"getBlocksProject",{enumerable:!0,get:function(){return Vh}}),Object.defineProperty(f,"getBrandNamespace",{enumerable:!0,get:function(){return cs}}),Object.defineProperty(f,"getBrowserImageCompressionLibUrl",{enumerable:!0,get:function(){return Tu}}),Object.defineProperty(f,"getBundledHostAssetUrl",{enumerable:!0,get:function(){return TE}}),Object.defineProperty(f,"getCanvasService",{enumerable:!0,get:function(){return Av}}),Object.defineProperty(f,"getClient",{enumerable:!0,get:function(){return di}}),Object.defineProperty(f,"getClientV2",{enumerable:!0,get:function(){return Be}}),Object.defineProperty(f,"getCodeErrors",{enumerable:!0,get:function(){return MK}}),Object.defineProperty(f,"getCodeMode",{enumerable:!0,get:function(){return __}}),Object.defineProperty(f,"getCodeSize",{enumerable:!0,get:function(){return ib}}),Object.defineProperty(f,"getCommandRegistry",{enumerable:!0,get:function(){return Ws}}),Object.defineProperty(f,"getComponentRegistry",{enumerable:!0,get:function(){return BO}}),Object.defineProperty(f,"getComputedStyleAsync",{enumerable:!0,get:function(){return nP}}),Object.defineProperty(f,"getConditionalComment",{enumerable:!0,get:function(){return tP}}),Object.defineProperty(f,"getCurrentProject",{enumerable:!0,get:function(){return Pr}}),Object.defineProperty(f,"getCurrentUser",{enumerable:!0,get:function(){return Qo}}),Object.defineProperty(f,"getDataSources",{enumerable:!0,get:function(){return Gh}}),Object.defineProperty(f,"getDefaultCommonStyles",{enumerable:!0,get:function(){return AK}}),Object.defineProperty(f,"getDiagnosticsSnapshot",{enumerable:!0,get:function(){return z0}}),Object.defineProperty(f,"getDiagnosticsStore",{enumerable:!0,get:function(){return Fr}}),Object.defineProperty(f,"getDisposable",{enumerable:!0,get:function(){return pp}}),Object.defineProperty(f,"getDocType",{enumerable:!0,get:function(){return Od}}),Object.defineProperty(f,"getEditorOptions",{enumerable:!0,get:function(){return aK}}),Object.defineProperty(f,"getEditorVisible",{enumerable:!0,get:function(){return su}}),Object.defineProperty(f,"getElementInnerHTML",{enumerable:!0,get:function(){return jd}}),Object.defineProperty(f,"getElementStartHtml_VDOM",{enumerable:!0,get:function(){return hS}}),Object.defineProperty(f,"getEmailDesc",{enumerable:!0,get:function(){return ER}}),Object.defineProperty(f,"getEmailDocuments",{enumerable:!0,get:function(){return ar}}),Object.defineProperty(f,"getEmitter",{enumerable:!0,get:function(){return $n}}),Object.defineProperty(f,"getEvent",{enumerable:!0,get:function(){return MO}}),Object.defineProperty(f,"getKnownRevisions",{enumerable:!0,get:function(){return Ho}}),Object.defineProperty(f,"getLimitUpgradePresetDefinition",{enumerable:!0,get:function(){return J$}}),Object.defineProperty(f,"getMessageService",{enumerable:!0,get:function(){return Js}}),Object.defineProperty(f,"getMimeExtension",{enumerable:!0,get:function(){return e2}}),Object.defineProperty(f,"getMimeType",{enumerable:!0,get:function(){return Tb}}),Object.defineProperty(f,"getOpenDocument",{enumerable:!0,get:function(){return Nl}}),Object.defineProperty(f,"getOpenEmail",{enumerable:!0,get:function(){return SM}}),Object.defineProperty(f,"getOpenEmailDocuments",{enumerable:!0,get:function(){return Xp}}),Object.defineProperty(f,"getOuterHtml",{enumerable:!0,get:function(){return En}}),Object.defineProperty(f,"getPublicPath",{enumerable:!0,get:function(){return IE}}),Object.defineProperty(f,"getRendererString",{enumerable:!0,get:function(){return bt}}),Object.defineProperty(f,"getResourcesSnapshot",{enumerable:!0,get:function(){return V0}}),Object.defineProperty(f,"getRestEmailPortFactories",{enumerable:!0,get:function(){return Or}}),Object.defineProperty(f,"getRevisionServiceFlag",{enumerable:!0,get:function(){return Jp}}),Object.defineProperty(f,"getSandboxGeneration",{enumerable:!0,get:function(){return Jm}}),Object.defineProperty(f,"getSaveTimeoutMs",{enumerable:!0,get:function(){return Hn}}),Object.defineProperty(f,"getSocialIcon",{enumerable:!0,get:function(){return Sx}}),Object.defineProperty(f,"getSocialIconForBlockCell",{enumerable:!0,get:function(){return wx}}),Object.defineProperty(f,"getSocialPresetsForBrand",{enumerable:!0,get:function(){return zB}}),Object.defineProperty(f,"getStore",{enumerable:!0,get:function(){return RA}}),Object.defineProperty(f,"getTaxonomy",{enumerable:!0,get:function(){return VM}}),Object.defineProperty(f,"getTemplateDirectivesPolicy",{enumerable:!0,get:function(){return ch}}),Object.defineProperty(f,"getTitleFromHtml",{enumerable:!0,get:function(){return BM}}),Object.defineProperty(f,"getUncertainWrites",{enumerable:!0,get:function(){return Wo}}),Object.defineProperty(f,"getWhenFacts",{enumerable:!0,get:function(){return Hs}}),Object.defineProperty(f,"globalBlockMark",{enumerable:!0,get:function(){return i0}}),Object.defineProperty(f,"hasCheckedCode",{enumerable:!0,get:function(){return RK}}),Object.defineProperty(f,"hasOwnMeta",{enumerable:!0,get:function(){return fl}}),Object.defineProperty(f,"hasSaveListener",{enumerable:!0,get:function(){return dM}}),Object.defineProperty(f,"hasThumbnailWatcher",{enumerable:!0,get:function(){return Q2}}),Object.defineProperty(f,"identifyUser",{enumerable:!0,get:function(){return xk}}),Object.defineProperty(f,"imageApi",{enumerable:!0,get:function(){return y0}}),Object.defineProperty(f,"inferImageMimeFromFileName",{enumerable:!0,get:function(){return Bi}}),Object.defineProperty(f,"init__polyfill_node_global",{enumerable:!0,get:function(){return ws}}),Object.defineProperty(f,"init__polyfill_node_process",{enumerable:!0,get:function(){return BP}}),Object.defineProperty(f,"injectBlockHistoryPort",{enumerable:!0,get:function(){return qA}}),Object.defineProperty(f,"injectEmBlockIdIntoBlockHtml",{enumerable:!0,get:function(){return o0}}),Object.defineProperty(f,"injectEmailRightsResolver",{enumerable:!0,get:function(){return Ek}}),Object.defineProperty(f,"injectEmailTermsResolver",{enumerable:!0,get:function(){return $j}}),Object.defineProperty(f,"injectRestEmailPortFactories",{enumerable:!0,get:function(){return Bj}}),Object.defineProperty(f,"isAMPImageElement",{enumerable:!0,get:function(){return HS}}),Object.defineProperty(f,"isAllowedImageUploadFile",{enumerable:!0,get:function(){return wu}}),Object.defineProperty(f,"isAuthoredByMe",{enumerable:!0,get:function(){return RV}}),Object.defineProperty(f,"isBlockAutosaveInFlight",{enumerable:!0,get:function(){return cj}}),Object.defineProperty(f,"isBlockSessionKey",{enumerable:!0,get:function(){return Ae}}),Object.defineProperty(f,"isBlocksV2Enabled",{enumerable:!0,get:function(){return xe}}),Object.defineProperty(f,"isCodeSizeExceeded",{enumerable:!0,get:function(){return ob}}),Object.defineProperty(f,"isComment",{enumerable:!0,get:function(){return ps}}),Object.defineProperty(f,"isDiagnosticsEnabled",{enumerable:!0,get:function(){return ed}}),Object.defineProperty(f,"isDialogEmpty",{enumerable:!0,get:function(){return qG}}),Object.defineProperty(f,"isDocument",{enumerable:!0,get:function(){return kd}}),Object.defineProperty(f,"isDocumentFragment",{enumerable:!0,get:function(){return XS}}),Object.defineProperty(f,"isEditorLockedByPlan",{enumerable:!0,get:function(){return Dc}}),Object.defineProperty(f,"isElement",{enumerable:!0,get:function(){return Qi}}),Object.defineProperty(f,"isEmailStoreV2Enabled",{enumerable:!0,get:function(){return ih}}),Object.defineProperty(f,"isEmailsV2Enabled",{enumerable:!0,get:function(){return Fe}}),Object.defineProperty(f,"isFileManagerV2Enabled",{enumerable:!0,get:function(){return wb}}),Object.defineProperty(f,"isForm",{enumerable:!0,get:function(){return KS}}),Object.defineProperty(f,"isHtmlElement",{enumerable:!0,get:function(){return zS}}),Object.defineProperty(f,"isImageCenterModal",{enumerable:!0,get:function(){return Ty}}),Object.defineProperty(f,"isImageEditModal",{enumerable:!0,get:function(){return QD}}),Object.defineProperty(f,"isImageElement",{enumerable:!0,get:function(){return VS}}),Object.defineProperty(f,"isIntegratorRejection",{enumerable:!0,get:function(){return Bp}}),Object.defineProperty(f,"isLockedBlockRefusal",{enumerable:!0,get:function(){return al}}),Object.defineProperty(f,"isPluginGoHistory",{enumerable:!0,get:function(){return Yr}}),Object.defineProperty(f,"isPluginRevisionsV2Enabled",{enumerable:!0,get:function(){return rh}}),Object.defineProperty(f,"isProjectsV2Enabled",{enumerable:!0,get:function(){return ot}}),Object.defineProperty(f,"isRejectedSave",{enumerable:!0,get:function(){return Up}}),Object.defineProperty(f,"isRevisionServiceEnabled",{enumerable:!0,get:function(){return No}}),Object.defineProperty(f,"isSaveRequest",{enumerable:!0,get:function(){return cM}}),Object.defineProperty(f,"isScriptElement",{enumerable:!0,get:function(){return YS}}),Object.defineProperty(f,"isStandaloneRuntime",{enumerable:!0,get:function(){return vb}}),Object.defineProperty(f,"isStyleElement",{enumerable:!0,get:function(){return Ad}}),Object.defineProperty(f,"isTableElement",{enumerable:!0,get:function(){return rP}}),Object.defineProperty(f,"isTermUuid",{enumerable:!0,get:function(){return Ot}}),Object.defineProperty(f,"isTextNode",{enumerable:!0,get:function(){return gs}}),Object.defineProperty(f,"isUseBlocksBuild",{enumerable:!0,get:function(){return fV}}),Object.defineProperty(f,"keepManualDraft",{enumerable:!0,get:function(){return Rh}}),Object.defineProperty(f,"lazyRoute",{enumerable:!0,get:function(){return La}}),Object.defineProperty(f,"leaveBlock",{enumerable:!0,get:function(){return cK}}),Object.defineProperty(f,"limitsApi",{enumerable:!0,get:function(){return Sa}}),Object.defineProperty(f,"loadDocumentContent",{enumerable:!0,get:function(){return wW}}),Object.defineProperty(f,"loadGFonts",{enumerable:!0,get:function(){return TG}}),Object.defineProperty(f,"loadPanels",{enumerable:!0,get:function(){return cu}}),Object.defineProperty(f,"logShowPipeline",{enumerable:!0,get:function(){return fj}}),Object.defineProperty(f,"logShowPipelineError",{enumerable:!0,get:function(){return Q0}}),Object.defineProperty(f,"logShowPipelineWait",{enumerable:!0,get:function(){return mj}}),Object.defineProperty(f,"mapMargeTags",{enumerable:!0,get:function(){return gm}}),Object.defineProperty(f,"mapper",{enumerable:!0,get:function(){return LH}}),Object.defineProperty(f,"mark",{enumerable:!0,get:function(){return Ge}}),Object.defineProperty(f,"markAppearanceNeedsUpdate",{enumerable:!0,get:function(){return rT}}),Object.defineProperty(f,"measureBlockPreviews",{enumerable:!0,get:function(){return q1}}),Object.defineProperty(f,"menuGroup",{enumerable:!0,get:function(){return Hl}}),Object.defineProperty(f,"menuGroups",{enumerable:!0,get:function(){return Ig}}),Object.defineProperty(f,"mergeEntityPreservingMeta",{enumerable:!0,get:function(){return Hp}}),Object.defineProperty(f,"minifyHtml",{enumerable:!0,get:function(){return K$}}),Object.defineProperty(f,"missingRequiredPhases",{enumerable:!0,get:function(){return $0}}),Object.defineProperty(f,"needsProjectV2IdLookup",{enumerable:!0,get:function(){return wi}}),Object.defineProperty(f,"normalizeUrl",{enumerable:!0,get:function(){return $a}}),Object.defineProperty(f,"noteOpeningRead",{enumerable:!0,get:function(){return mF}}),Object.defineProperty(f,"ok",{enumerable:!0,get:function(){return Po}}),Object.defineProperty(f,"onPanelSettingsSent",{enumerable:!0,get:function(){return bA}}),Object.defineProperty(f,"onSandboxGenerationChange",{enumerable:!0,get:function(){return UC}}),Object.defineProperty(f,"openFailureFromResponse",{enumerable:!0,get:function(){return Dj}}),Object.defineProperty(f,"openModal",{enumerable:!0,get:function(){return ZF}}),Object.defineProperty(f,"openModal$1",{enumerable:!0,get:function(){return Py}}),Object.defineProperty(f,"openSecondModal",{enumerable:!0,get:function(){return zD}}),Object.defineProperty(f,"optimiseApi",{enumerable:!0,get:function(){return v0}}),Object.defineProperty(f,"pageProjectKey",{enumerable:!0,get:function(){return Ku}}),Object.defineProperty(f,"parentEmailBlocksArgs",{enumerable:!0,get:function(){return FW}}),Object.defineProperty(f,"parentEmailSource",{enumerable:!0,get:function(){return a0}}),Object.defineProperty(f,"parentNeedsWpId",{enumerable:!0,get:function(){return d0}}),Object.defineProperty(f,"parseEmBlockVersion",{enumerable:!0,get:function(){return RW}}),Object.defineProperty(f,"parseFromString",{enumerable:!0,get:function(){return Td}}),Object.defineProperty(f,"parseISO",{enumerable:!0,get:function(){return Qm}}),Object.defineProperty(f,"peek",{enumerable:!0,get:function(){return pt}}),Object.defineProperty(f,"peekEmailDocuments",{enumerable:!0,get:function(){return Ml}}),Object.defineProperty(f,"pickFileProxyBlobFromFireResults",{enumerable:!0,get:function(){return Uq}}),Object.defineProperty(f,"pickProxyUrlOverrideFromFireResults",{enumerable:!0,get:function(){return $q}}),Object.defineProperty(f,"prepareEmailHtmlForEditor",{enumerable:!0,get:function(){return KH}}),Object.defineProperty(f,"prepareImageForEditorResult",{enumerable:!0,get:function(){return pz}}),Object.defineProperty(f,"prepareImageForEditorUpload",{enumerable:!0,get:function(){return jE}}),Object.defineProperty(f,"prepareImageForUpload",{enumerable:!0,get:function(){return Iu}}),Object.defineProperty(f,"presetLimitDisplay",{enumerable:!0,get:function(){return Z$}}),Object.defineProperty(f,"previewHrefForRacs",{enumerable:!0,get:function(){return cV}}),Object.defineProperty(f,"processAmp",{enumerable:!0,get:function(){return bW}}),Object.defineProperty(f,"projectBlocksArgs",{enumerable:!0,get:function(){return DW}}),Object.defineProperty(f,"projectGroupsLoaded",{enumerable:!0,get:function(){return oT}}),Object.defineProperty(f,"projectSettingsStylesApi",{enumerable:!0,get:function(){return Oi}}),Object.defineProperty(f,"projectSettingsV2Api",{enumerable:!0,get:function(){return Wc}}),Object.defineProperty(f,"projectV2IdFailure",{enumerable:!0,get:function(){return Pa}}),Object.defineProperty(f,"projectsApi",{enumerable:!0,get:function(){return nn}}),Object.defineProperty(f,"projectsPageSlice",{enumerable:!0,get:function(){return Sy}}),Object.defineProperty(f,"provideAutosaveUiFacts",{enumerable:!0,get:function(){return Uh}}),Object.defineProperty(f,"provideCodeMode",{enumerable:!0,get:function(){return Ca}}),Object.defineProperty(f,"provideCurrentProject",{enumerable:!0,get:function(){return Sr}}),Object.defineProperty(f,"provideCurrentUser",{enumerable:!0,get:function(){return Al}}),Object.defineProperty(f,"provideDefaultCommonStyles",{enumerable:!0,get:function(){return w0}}),Object.defineProperty(f,"provideEditorOptions",{enumerable:!0,get:function(){return h0}}),Object.defineProperty(f,"provideEmailDocuments",{enumerable:!0,get:function(){return yk}}),Object.defineProperty(f,"provideHeadlessMode",{enumerable:!0,get:function(){return Yi}}),Object.defineProperty(f,"readBlockById",{enumerable:!0,get:function(){return PM}}),Object.defineProperty(f,"readDocumentContent",{enumerable:!0,get:function(){return Nv}}),Object.defineProperty(f,"readDroppedImage",{enumerable:!0,get:function(){return hz}}),Object.defineProperty(f,"readRootEmBlockAttrs",{enumerable:!0,get:function(){return NW}}),Object.defineProperty(f,"readScreenFacts",{enumerable:!0,get:function(){return P1}}),Object.defineProperty(f,"readZip",{enumerable:!0,get:function(){return Iw}}),Object.defineProperty(f,"readZipFromBase64",{enumerable:!0,get:function(){return pH}}),Object.defineProperty(f,"rebaseDraft",{enumerable:!0,get:function(){return Ko}}),Object.defineProperty(f,"recreateGlobalBlock",{enumerable:!0,get:function(){return BW}}),Object.defineProperty(f,"reducerPath",{enumerable:!0,get:function(){return fm}}),Object.defineProperty(f,"registerSaveListener",{enumerable:!0,get:function(){return uM}}),Object.defineProperty(f,"rememberAutosaveTime",{enumerable:!0,get:function(){return XI}}),Object.defineProperty(f,"rememberOpenedSavedAt",{enumerable:!0,get:function(){return c_}}),Object.defineProperty(f,"rememberUncertainWrite",{enumerable:!0,get:function(){return eM}}),Object.defineProperty(f,"reportEntityLoadError",{enumerable:!0,get:function(){return rK}}),Object.defineProperty(f,"reportError",{enumerable:!0,get:function(){return gl}}),Object.defineProperty(f,"require_prop_types",{enumerable:!0,get:function(){return Ld}}),Object.defineProperty(f,"requiredArgs",{enumerable:!0,get:function(){return Vm}}),Object.defineProperty(f,"requiredPhases",{enumerable:!0,get:function(){return id}}),Object.defineProperty(f,"resetBlockSlice",{enumerable:!0,get:function(){return zF}}),Object.defineProperty(f,"resetElementHistorySlice",{enumerable:!0,get:function(){return ew}}),Object.defineProperty(f,"resetEmailSlice",{enumerable:!0,get:function(){return YI}}),Object.defineProperty(f,"resetPanes",{enumerable:!0,get:function(){return cE}}),Object.defineProperty(f,"resetParentBlocks",{enumerable:!0,get:function(){return s1}}),Object.defineProperty(f,"resetToLastActiveSettingsTab",{enumerable:!0,get:function(){return S_}}),Object.defineProperty(f,"resolveContentReadyTimeoutMs",{enumerable:!0,get:function(){return UA}}),Object.defineProperty(f,"resolveEmailPort",{enumerable:!0,get:function(){return Rl}}),Object.defineProperty(f,"resolveImageCompressionLimits",{enumerable:!0,get:function(){return Pu}}),Object.defineProperty(f,"resolveOpenEmail",{enumerable:!0,get:function(){return Qu}}),Object.defineProperty(f,"resolveProjectV2Id",{enumerable:!0,get:function(){return Ia}}),Object.defineProperty(f,"resolveSandboxOpTimeoutMs",{enumerable:!0,get:function(){return bp}}),Object.defineProperty(f,"resolveSandboxReadyTimeoutMs",{enumerable:!0,get:function(){return $A}}),Object.defineProperty(f,"resolveSequentialSandboxOpBudgetMs",{enumerable:!0,get:function(){return BA}}),Object.defineProperty(f,"resolveTemplateDirectivesConfig",{enumerable:!0,get:function(){return RH}}),Object.defineProperty(f,"resolveUploadLinkAction",{enumerable:!0,get:function(){return zq}}),Object.defineProperty(f,"revisionHistorySlice",{enumerable:!0,get:function(){return ju}}),Object.defineProperty(f,"ru_RU_exports",{enumerable:!0,get:function(){return RL}}),Object.defineProperty(f,"runBlockSave",{enumerable:!0,get:function(){return oj}}),Object.defineProperty(f,"runOncePerSession",{enumerable:!0,get:function(){return $G}}),Object.defineProperty(f,"sameTermId",{enumerable:!0,get:function(){return VA}}),Object.defineProperty(f,"sanitizeHtml",{enumerable:!0,get:function(){return Pg}}),Object.defineProperty(f,"saveFileApi",{enumerable:!0,get:function(){return rw}}),Object.defineProperty(f,"saveRefusalReason",{enumerable:!0,get:function(){return rj}}),Object.defineProperty(f,"savedAtOf",{enumerable:!0,get:function(){return l_}}),Object.defineProperty(f,"scaledViewportContent",{enumerable:!0,get:function(){return S1}}),Object.defineProperty(f,"selectActiveModal",{enumerable:!0,get:function(){return d1}}),Object.defineProperty(f,"selectActiveModal$1",{enumerable:!0,get:function(){return hc}}),Object.defineProperty(f,"selectActiveProblemRange",{enumerable:!0,get:function(){return dT}}),Object.defineProperty(f,"selectActiveSettingsTab",{enumerable:!0,get:function(){return I_}}),Object.defineProperty(f,"selectBlockSettings",{enumerable:!0,get:function(){return HF}}),Object.defineProperty(f,"selectBlocksTotal",{enumerable:!0,get:function(){return vG}}),Object.defineProperty(f,"selectCodeModeDirection",{enumerable:!0,get:function(){return g1}}),Object.defineProperty(f,"selectEditorThemeColor",{enumerable:!0,get:function(){return WF}}),Object.defineProperty(f,"selectEditorThemeColor$1",{enumerable:!0,get:function(){return Jf}}),Object.defineProperty(f,"selectElementHistoryHasMore",{enumerable:!0,get:function(){return hV}}),Object.defineProperty(f,"selectElementSettings",{enumerable:!0,get:function(){return g_}}),Object.defineProperty(f,"selectElementSettings$1",{enumerable:!0,get:function(){return Xf}}),Object.defineProperty(f,"selectEmailSettings",{enumerable:!0,get:function(){return sT}}),Object.defineProperty(f,"selectEmailViewType",{enumerable:!0,get:function(){return m1}}),Object.defineProperty(f,"selectEmailWidth",{enumerable:!0,get:function(){return P_}}),Object.defineProperty(f,"selectHistoryData",{enumerable:!0,get:function(){return gV}}),Object.defineProperty(f,"selectIsCodeMode",{enumerable:!0,get:function(){return u1}}),Object.defineProperty(f,"selectIsCodeMode$1",{enumerable:!0,get:function(){return VF}}),Object.defineProperty(f,"selectIsGlobalLoading",{enumerable:!0,get:function(){return p1}}),Object.defineProperty(f,"selectIsHeaderCodeMenuOpen",{enumerable:!0,get:function(){return _1}}),Object.defineProperty(f,"selectIsNeedUpdateAppearance",{enumerable:!0,get:function(){return fT}}),Object.defineProperty(f,"selectIsNeedUpdateContentAppearance",{enumerable:!0,get:function(){return aT}}),Object.defineProperty(f,"selectIsPanelHistoryCollapsed",{enumerable:!0,get:function(){return v1}}),Object.defineProperty(f,"selectIsSettingsDisabled",{enumerable:!0,get:function(){return KF}}),Object.defineProperty(f,"selectIsSettingsDisabled$1",{enumerable:!0,get:function(){return uT}}),Object.defineProperty(f,"selectMobileViewActive",{enumerable:!0,get:function(){return h1}}),Object.defineProperty(f,"selectMonacoFocusing",{enumerable:!0,get:function(){return _G}}),Object.defineProperty(f,"selectParentBlocks",{enumerable:!0,get:function(){return f1}}),Object.defineProperty(f,"selectParentEmailBlocksTotal",{enumerable:!0,get:function(){return EG}}),Object.defineProperty(f,"selectProblemsList",{enumerable:!0,get:function(){return lT}}),Object.defineProperty(f,"selectProjectGroups",{enumerable:!0,get:function(){return cT}}),Object.defineProperty(f,"selectPropertiesPanelKey",{enumerable:!0,get:function(){return y1}}),Object.defineProperty(f,"selectSecondModal",{enumerable:!0,get:function(){return HD}}),Object.defineProperty(f,"selectTemplateBlocksTotal",{enumerable:!0,get:function(){return bG}}),Object.defineProperty(f,"setActiveProblemRange",{enumerable:!0,get:function(){return eT}}),Object.defineProperty(f,"setActiveSettingsTab",{enumerable:!0,get:function(){return Mc}}),Object.defineProperty(f,"setAttributeSafe",{enumerable:!0,get:function(){return Id}}),Object.defineProperty(f,"setBlockSettings",{enumerable:!0,get:function(){return $F}}),Object.defineProperty(f,"setBlockSettingsDisable",{enumerable:!0,get:function(){return GF}}),Object.defineProperty(f,"setCodeErrors",{enumerable:!0,get:function(){return NK}}),Object.defineProperty(f,"setCodeMode",{enumerable:!0,get:function(){return o1}}),Object.defineProperty(f,"setCodeMode$1",{enumerable:!0,get:function(){return jc}}),Object.defineProperty(f,"setCodeModeDirection",{enumerable:!0,get:function(){return v_}}),Object.defineProperty(f,"setCurrentProjectCard",{enumerable:!0,get:function(){return fk}}),Object.defineProperty(f,"setCurrentProjectRefreshing",{enumerable:!0,get:function(){return dk}}),Object.defineProperty(f,"setDefaultCommonStyles",{enumerable:!0,get:function(){return kK}}),Object.defineProperty(f,"setEditorThemeColor",{enumerable:!0,get:function(){return UF}}),Object.defineProperty(f,"setEditorThemeColor$1",{enumerable:!0,get:function(){return HI}}),Object.defineProperty(f,"setElementSettings",{enumerable:!0,get:function(){return qF}}),Object.defineProperty(f,"setElementSettings$1",{enumerable:!0,get:function(){return KI}}),Object.defineProperty(f,"setEmailGroups",{enumerable:!0,get:function(){return tT}}),Object.defineProperty(f,"setEmailSettings",{enumerable:!0,get:function(){return WI}}),Object.defineProperty(f,"setEmailSettingsDisable",{enumerable:!0,get:function(){return QI}}),Object.defineProperty(f,"setEmailWidth",{enumerable:!0,get:function(){return r1}}),Object.defineProperty(f,"setHeaderCodeMenuOpen",{enumerable:!0,get:function(){return c1}}),Object.defineProperty(f,"setHeadlessMode",{enumerable:!0,get:function(){return aP}}),Object.defineProperty(f,"setHiddenMount",{enumerable:!0,get:function(){return cP}}),Object.defineProperty(f,"setIsGlobalLoading",{enumerable:!0,get:function(){return l1}}),Object.defineProperty(f,"setIsNeedUpdateAppearance",{enumerable:!0,get:function(){return nT}}),Object.defineProperty(f,"setIsNeedUpdateContentAppearance",{enumerable:!0,get:function(){return iT}}),Object.defineProperty(f,"setMobileViewActive",{enumerable:!0,get:function(){return i1}}),Object.defineProperty(f,"setMonacoDidMount",{enumerable:!0,get:function(){return OK}}),Object.defineProperty(f,"setMonacoFocusing",{enumerable:!0,get:function(){return yG}}),Object.defineProperty(f,"setProblemsList",{enumerable:!0,get:function(){return ZI}}),Object.defineProperty(f,"setPropertiesPanelKey",{enumerable:!0,get:function(){return a1}}),Object.defineProperty(f,"setupListeners",{enumerable:!0,get:function(){return cN}}),Object.defineProperty(f,"shouldEnableImageCompression",{enumerable:!0,get:function(){return Su}}),Object.defineProperty(f,"shouldFallbackToBuiltInUpload",{enumerable:!0,get:function(){return yb}}),Object.defineProperty(f,"shouldInsertUploadLinkAsIs",{enumerable:!0,get:function(){return Gq}}),Object.defineProperty(f,"shouldRefetchEmptyDialog",{enumerable:!0,get:function(){return GG}}),Object.defineProperty(f,"shouldScaleLayout",{enumerable:!0,get:function(){return w1}}),Object.defineProperty(f,"snapshotBlock",{enumerable:!0,get:function(){return g0}}),Object.defineProperty(f,"stripEmBlockMark",{enumerable:!0,get:function(){return Wu}}),Object.defineProperty(f,"stripEmVersionFromUrlString",{enumerable:!0,get:function(){return yE}}),Object.defineProperty(f,"stripSubjectTags",{enumerable:!0,get:function(){return pT}}),Object.defineProperty(f,"subscribeToContent",{enumerable:!0,get:function(){return Dv}}),Object.defineProperty(f,"swallowPromiseRejection",{enumerable:!0,get:function(){return UG}}),Object.defineProperty(f,"switchCodeModeDirection",{enumerable:!0,get:function(){return n1}}),Object.defineProperty(f,"switchIsPanelHistoryCollapsed",{enumerable:!0,get:function(){return t1}}),Object.defineProperty(f,"taxonomiesApi",{enumerable:!0,get:function(){return vi}}),Object.defineProperty(f,"templateBlocksArgs",{enumerable:!0,get:function(){return xW}}),Object.defineProperty(f,"themeTokenCssVarName",{enumerable:!0,get:function(){return vO}}),Object.defineProperty(f,"throwIfHistoryReadFailed",{enumerable:!0,get:function(){return jV}}),Object.defineProperty(f,"toAbsolute",{enumerable:!0,get:function(){return Zu}}),Object.defineProperty(f,"toAbsoluteUrl",{enumerable:!0,get:function(){return uu}}),Object.defineProperty(f,"toLanguageCode",{enumerable:!0,get:function(){return Qz}}),Object.defineProperty(f,"toNumberSafe",{enumerable:!0,get:function(){return He}}),Object.defineProperty(f,"toProjectStylesProjectId",{enumerable:!0,get:function(){return cv}}),Object.defineProperty(f,"toUploadImageError",{enumerable:!0,get:function(){return _b}}),Object.defineProperty(f,"transformListResponseFn",{enumerable:!0,get:function(){return et}}),Object.defineProperty(f,"transformResponseFn",{enumerable:!0,get:function(){return Te}}),Object.defineProperty(f,"tryParseISO",{enumerable:!0,get:function(){return MM}}),Object.defineProperty(f,"ue",{enumerable:!0,get:function(){return k2}}),Object.defineProperty(f,"unscaledHeight",{enumerable:!0,get:function(){return T1}}),Object.defineProperty(f,"uploadDroppedImage",{enumerable:!0,get:function(){return gz}}),Object.defineProperty(f,"uploadFile",{enumerable:!0,get:function(){return vW}}),Object.defineProperty(f,"uploadFileViaDataProvider",{enumerable:!0,get:function(){return hb}}),Object.defineProperty(f,"useAddBlockMutation",{enumerable:!0,get:function(){return FF}}),Object.defineProperty(f,"useAddCommentMutation",{enumerable:!0,get:function(){return mG}}),Object.defineProperty(f,"useAddEmailMutation",{enumerable:!0,get:function(){return lH}}),Object.defineProperty(f,"useAddTermMutation",{enumerable:!0,get:function(){return BD}}),Object.defineProperty(f,"useAnalyticsEvent",{enumerable:!0,get:function(){return aA}}),Object.defineProperty(f,"useAppConfig",{enumerable:!0,get:function(){return mt}}),Object.defineProperty(f,"useAppDispatch",{enumerable:!0,get:function(){return cR}}),Object.defineProperty(f,"useAppNavigate",{enumerable:!0,get:function(){return Xs}}),Object.defineProperty(f,"useAppSearchParams",{enumerable:!0,get:function(){return xC}}),Object.defineProperty(f,"useAppStore",{enumerable:!0,get:function(){return dg}}),Object.defineProperty(f,"useAutoSaveBlockMutation",{enumerable:!0,get:function(){return xF}}),Object.defineProperty(f,"useBlocksParentId",{enumerable:!0,get:function(){return KW}}),Object.defineProperty(f,"useBrowserExtensionWarning",{enumerable:!0,get:function(){return yz}}),Object.defineProperty(f,"useBrowserTranslateDetection",{enumerable:!0,get:function(){return Tz}}),Object.defineProperty(f,"useBrowserTranslateWarning",{enumerable:!0,get:function(){return _z}}),Object.defineProperty(f,"useChromeReady",{enumerable:!0,get:function(){return Nq}}),Object.defineProperty(f,"useCodeModeActions",{enumerable:!0,get:function(){return M1}}),Object.defineProperty(f,"useCommand",{enumerable:!0,get:function(){return pg}}),Object.defineProperty(f,"useConfigSource",{enumerable:!0,get:function(){return $s}}),Object.defineProperty(f,"useContainer",{enumerable:!0,get:function(){return Oe}}),Object.defineProperty(f,"useContentReader",{enumerable:!0,get:function(){return AV}}),Object.defineProperty(f,"useContentReplacer",{enumerable:!0,get:function(){return Kw}}),Object.defineProperty(f,"useCookieManager",{enumerable:!0,get:function(){return T_}}),Object.defineProperty(f,"useCurrentProjectRequested",{enumerable:!0,get:function(){return H$}}),Object.defineProperty(f,"useCurrentUser",{enumerable:!0,get:function(){return kr}}),Object.defineProperty(f,"useDeleteCommentMutation",{enumerable:!0,get:function(){return pG}}),Object.defineProperty(f,"useDeleteTargetMutation",{enumerable:!0,get:function(){return gG}}),Object.defineProperty(f,"useDeleteTermMutation",{enumerable:!0,get:function(){return $D}}),Object.defineProperty(f,"useDispatch",{enumerable:!0,get:function(){return ut}}),Object.defineProperty(f,"useDocumentAttributes",{enumerable:!0,get:function(){return f0}}),Object.defineProperty(f,"useDocumentHistoryReader",{enumerable:!0,get:function(){return vV}}),Object.defineProperty(f,"useDocumentSessionContext",{enumerable:!0,get:function(){return gt}}),Object.defineProperty(f,"useDocumentUndoState",{enumerable:!0,get:function(){return bU}}),Object.defineProperty(f,"useDragStartBlockToIframeHandler",{enumerable:!0,get:function(){return Ll}}),Object.defineProperty(f,"useEditBlockMutation",{enumerable:!0,get:function(){return p_}}),Object.defineProperty(f,"useEditCommentMutation",{enumerable:!0,get:function(){return hG}}),Object.defineProperty(f,"useEditImagesMutation",{enumerable:!0,get:function(){return SK}}),Object.defineProperty(f,"useEditLinksMutation",{enumerable:!0,get:function(){return wK}}),Object.defineProperty(f,"useEditMeMutation",{enumerable:!0,get:function(){return SL}}),Object.defineProperty(f,"useEditProjectMutation",{enumerable:!0,get:function(){return hD}}),Object.defineProperty(f,"useEditSpamMutation",{enumerable:!0,get:function(){return PK}}),Object.defineProperty(f,"useEditTermMutation",{enumerable:!0,get:function(){return UD}}),Object.defineProperty(f,"useEditorImageUpload",{enumerable:!0,get:function(){return rG}}),Object.defineProperty(f,"useEditorLocale",{enumerable:!0,get:function(){return Tv}}),Object.defineProperty(f,"useEditorLockCheck",{enumerable:!0,get:function(){return vu}}),Object.defineProperty(f,"useEditorLocked",{enumerable:!0,get:function(){return wE}}),Object.defineProperty(f,"useEditorProjectId",{enumerable:!0,get:function(){return rb}}),Object.defineProperty(f,"useEditorUiReset",{enumerable:!0,get:function(){return YW}}),Object.defineProperty(f,"useElementEntityKind",{enumerable:!0,get:function(){return xa}}),Object.defineProperty(f,"useEmailAttribute",{enumerable:!0,get:function(){return gE}}),Object.defineProperty(f,"useEmailAttributesWriter",{enumerable:!0,get:function(){return MG}}),Object.defineProperty(f,"useEmailOfDocument",{enumerable:!0,get:function(){return m0}}),Object.defineProperty(f,"useEvent",{enumerable:!0,get:function(){return bm}}),Object.defineProperty(f,"useEventEmitter",{enumerable:!0,get:function(){return $t}}),Object.defineProperty(f,"useFitBlockPreviewHeight",{enumerable:!0,get:function(){return V1}}),Object.defineProperty(f,"useGeometryRef",{enumerable:!0,get:function(){return Mz}}),Object.defineProperty(f,"useGetAiGenerateStatusMutation",{enumerable:!0,get:function(){return uG}}),Object.defineProperty(f,"useGetBlockQuery",{enumerable:!0,get:function(){return NF}}),Object.defineProperty(f,"useGetBlockTypesQuery",{enumerable:!0,get:function(){return DF}}),Object.defineProperty(f,"useGetBlocksQuery",{enumerable:!0,get:function(){return RF}}),Object.defineProperty(f,"useGetCommentsQuery",{enumerable:!0,get:function(){return fG}}),Object.defineProperty(f,"useGetDialogQuery",{enumerable:!0,get:function(){return oG}}),Object.defineProperty(f,"useGetParentEmailBlocksQuery",{enumerable:!0,get:function(){return LF}}),Object.defineProperty(f,"useGetProjectIntegrationsQuery",{enumerable:!0,get:function(){return Hx}}),Object.defineProperty(f,"useGetProjectPlanQuery",{enumerable:!0,get:function(){return Kc}}),Object.defineProperty(f,"useGetProjectQuery",{enumerable:!0,get:function(){return gy}}),Object.defineProperty(f,"useGetProjectTestRecipientsQuery",{enumerable:!0,get:function(){return Qx}}),Object.defineProperty(f,"useGetProjectWebhookQuery",{enumerable:!0,get:function(){return Kx}}),Object.defineProperty(f,"useGetSubscriptionsQuery",{enumerable:!0,get:function(){return Fy}}),Object.defineProperty(f,"useGetTemplateBlocksQuery",{enumerable:!0,get:function(){return BF}}),Object.defineProperty(f,"useGetTemplateSectionsQuery",{enumerable:!0,get:function(){return xD}}),Object.defineProperty(f,"useGetTermsQuery",{enumerable:!0,get:function(){return FD}}),Object.defineProperty(f,"useHeadless",{enumerable:!0,get:function(){return qs}}),Object.defineProperty(f,"useI18n",{enumerable:!0,get:function(){return de}}),Object.defineProperty(f,"useIframeReload",{enumerable:!0,get:function(){return Zc}}),Object.defineProperty(f,"useImageControlRequest",{enumerable:!0,get:function(){return BG}}),Object.defineProperty(f,"useImageControlRequestCollector",{enumerable:!0,get:function(){return xG}}),Object.defineProperty(f,"useImagePicker",{enumerable:!0,get:function(){return eL}}),Object.defineProperty(f,"useIntegratorConfigValue",{enumerable:!0,get:function(){return hm}}),Object.defineProperty(f,"useInterfaceLocale",{enumerable:!0,get:function(){return Qy}}),Object.defineProperty(f,"useInterfaceTheme",{enumerable:!0,get:function(){return sU}}),Object.defineProperty(f,"useInvalidateProject",{enumerable:!0,get:function(){return pD}}),Object.defineProperty(f,"useInvalidateTerms",{enumerable:!0,get:function(){return LD}}),Object.defineProperty(f,"useIsLocaleInited",{enumerable:!0,get:function(){return jO}}),Object.defineProperty(f,"useIsStandalone",{enumerable:!0,get:function(){return bb}}),Object.defineProperty(f,"useLazyClearAiChatQuery",{enumerable:!0,get:function(){return lG}}),Object.defineProperty(f,"useLazyGetAiImageSSEQuery",{enumerable:!0,get:function(){return vK}}),Object.defineProperty(f,"useLazyGetDialogQuery",{enumerable:!0,get:function(){return aG}}),Object.defineProperty(f,"useLazyGetGeneratedContentQuery",{enumerable:!0,get:function(){return cG}}),Object.defineProperty(f,"useLazyGetImageInfoQuery",{enumerable:!0,get:function(){return pK}}),Object.defineProperty(f,"useLazyGetIntegrationCredentialsQuery",{enumerable:!0,get:function(){return Wx}}),Object.defineProperty(f,"useLazyGetLimitsStatsByTypeQuery",{enumerable:!0,get:function(){return KL}}),Object.defineProperty(f,"useLazyGetMeQuery",{enumerable:!0,get:function(){return Ly}}),Object.defineProperty(f,"useLazyGetSearchGifQuery",{enumerable:!0,get:function(){return _K}}),Object.defineProperty(f,"useLazyGetSearchImageQuery",{enumerable:!0,get:function(){return hK}}),Object.defineProperty(f,"useLazyGetUnsplashImageQuery",{enumerable:!0,get:function(){return yK}}),Object.defineProperty(f,"useLazySendAiImageRequestQuery",{enumerable:!0,get:function(){return gK}}),Object.defineProperty(f,"useLegacyAnalyticsEvent",{enumerable:!0,get:function(){return ap}}),Object.defineProperty(f,"useListenPostMessage",{enumerable:!0,get:function(){return Ci}}),Object.defineProperty(f,"useMessageService",{enumerable:!0,get:function(){return tt}}),Object.defineProperty(f,"useModalRootElement",{enumerable:!0,get:function(){return kO}}),Object.defineProperty(f,"useModel",{enumerable:!0,get:function(){return x$}}),Object.defineProperty(f,"useMountOnFirstOpen",{enumerable:!0,get:function(){return db}}),Object.defineProperty(f,"useMyRoles",{enumerable:!0,get:function(){return CV}}),Object.defineProperty(f,"useNotification",{enumerable:!0,get:function(){return zt}}),Object.defineProperty(f,"useNotifyCommand",{enumerable:!0,get:function(){return wR}}),Object.defineProperty(f,"useOpenEmail",{enumerable:!0,get:function(){return ZW}}),Object.defineProperty(f,"useOpenPlanCatalog",{enumerable:!0,get:function(){return Oz}}),Object.defineProperty(f,"usePanelsPrewarm",{enumerable:!0,get:function(){return hq}}),Object.defineProperty(f,"usePlanFeatureGate",{enumerable:!0,get:function(){return sB}}),Object.defineProperty(f,"usePlanLimitGate",{enumerable:!0,get:function(){return lq}}),Object.defineProperty(f,"usePluginItems",{enumerable:!0,get:function(){return ra}}),Object.defineProperty(f,"usePluginMenuItems",{enumerable:!0,get:function(){return Wl}}),Object.defineProperty(f,"usePluginPlatform",{enumerable:!0,get:function(){return ti}}),Object.defineProperty(f,"usePluginViewTabs",{enumerable:!0,get:function(){return WR}}),Object.defineProperty(f,"usePrevious",{enumerable:!0,get:function(){return Hy}}),Object.defineProperty(f,"useProjectData",{enumerable:!0,get:function(){return nt}}),Object.defineProperty(f,"useProjectPlanLimitPreflight",{enumerable:!0,get:function(){return sq}}),Object.defineProperty(f,"usePublishDocumentSession",{enumerable:!0,get:function(){return QW}}),Object.defineProperty(f,"usePushToDataLayer",{enumerable:!0,get:function(){return Tt}}),Object.defineProperty(f,"usePutProjectTestRecipientsMutation",{enumerable:!0,get:function(){return Yx}}),Object.defineProperty(f,"useRestClient",{enumerable:!0,get:function(){return nK}}),Object.defineProperty(f,"useRevisionContent",{enumerable:!0,get:function(){return bV}}),Object.defineProperty(f,"useRootElement",{enumerable:!0,get:function(){return Gs}}),Object.defineProperty(f,"useRouteEmailId",{enumerable:!0,get:function(){return R_}}),Object.defineProperty(f,"useRouteParams",{enumerable:!0,get:function(){return wr}}),Object.defineProperty(f,"useRoutePathname",{enumerable:!0,get:function(){return LC}}),Object.defineProperty(f,"useSelectionRef",{enumerable:!0,get:function(){return Az}}),Object.defineProperty(f,"useSelector",{enumerable:!0,get:function(){return vt}}),Object.defineProperty(f,"useSendLivePreviewMutation",{enumerable:!0,get:function(){return PV}}),Object.defineProperty(f,"useSendMessageMutation",{enumerable:!0,get:function(){return iG}}),Object.defineProperty(f,"useSendPostMessage",{enumerable:!0,get:function(){return Kr}}),Object.defineProperty(f,"useSendPostMessageEx",{enumerable:!0,get:function(){return EA}}),Object.defineProperty(f,"useSendShortLinkMutation",{enumerable:!0,get:function(){return IV}}),Object.defineProperty(f,"useSendStyleToggleToIframe",{enumerable:!0,get:function(){return zM}}),Object.defineProperty(f,"useSendTestEmailMutation",{enumerable:!0,get:function(){return SV}}),Object.defineProperty(f,"useSetCanvasAlerts",{enumerable:!0,get:function(){return Fz}}),Object.defineProperty(f,"useSetGeometry",{enumerable:!0,get:function(){return Nz}}),Object.defineProperty(f,"useSetHtmlElementInIframeHandler",{enumerable:!0,get:function(){return Fl}}),Object.defineProperty(f,"useSetSelection",{enumerable:!0,get:function(){return kz}}),Object.defineProperty(f,"useSetTitle",{enumerable:!0,get:function(){return jW}}),Object.defineProperty(f,"useStorageProvider",{enumerable:!0,get:function(){return iK}}),Object.defineProperty(f,"useStore",{enumerable:!0,get:function(){return me}}),Object.defineProperty(f,"useSyncProjectBrandStylesToEditor",{enumerable:!0,get:function(){return jG}}),Object.defineProperty(f,"useUploadImageMutation",{enumerable:!0,get:function(){return wV}}),Object.defineProperty(f,"useUserContentReplacer",{enumerable:!0,get:function(){return WW}}),Object.defineProperty(f,"useUserUndo",{enumerable:!0,get:function(){return MV}}),Object.defineProperty(f,"useWpEntityId",{enumerable:!0,get:function(){return NG}}),Object.defineProperty(f,"userSlice",{enumerable:!0,get:function(){return b0}}),Object.defineProperty(f,"v2ErrorOf",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(f,"v2Failed",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(f,"v2PublicLinkTarget",{enumerable:!0,get:function(){return EV}}),Object.defineProperty(f,"v2ResultOf",{enumerable:!0,get:function(){return it}}),Object.defineProperty(f,"warmCodeEditor",{enumerable:!0,get:function(){return U$}}),Object.defineProperty(f,"whenBlockAutosaveSettledWithin",{enumerable:!0,get:function(){return dj}}),Object.defineProperty(f,"whenIdle",{enumerable:!0,get:function(){return mb}}),Object.defineProperty(f,"withAutosaveTimeout",{enumerable:!0,get:function(){return zp}}),Object.defineProperty(f,"withV2Deadline",{enumerable:!0,get:function(){return Pc}}),Object.defineProperty(f,"wpEmailTarget",{enumerable:!0,get:function(){return dG}}),Object.defineProperty(f,"wpProjectId",{enumerable:!0,get:function(){return nE}}),Object.defineProperty(f,"wpProjectNumber",{enumerable:!0,get:function(){return r_}}),Object.defineProperty(f,"writeEmailAttributes",{enumerable:!0,get:function(){return El}}),Object.defineProperty(f,"writePendingData",{enumerable:!0,get:function(){return Qn}}),Object.defineProperty(f,"writeSourceReport",{enumerable:!0,get:function(){return Xn}}),Object.defineProperty(f,"zipEntryToBlob",{enumerable:!0,get:function(){return gH}}),Object.defineProperty(f,"zipEntryToText",{enumerable:!0,get:function(){return hH}})});
822
+
823
+ __emailmaker__.define("static/core/324c471b.js",["require","exports","module","static/core/5dc34752.js","static/core/ee980948.js","static/core/281afc68.js","react","react/jsx-runtime","__delivery__/libs","classnames"],function(de,qt,Ni){const Qt=de("./5dc34752.js"),Ae=de("./ee980948.js"),e=de("./281afc68.js");let i=de("react");i=Qt.__toESM(i);let t=de("react/jsx-runtime"),o=de("__delivery__/libs"),R=de("classnames");R=Qt.__toESM(R);var xs="code",js=(c,V)=>(0,t.jsx)(V,{className:"email-pane__tab-bar",...c}),{Content:As}=o.ui_kit$Layout,Ms=()=>{e.loadPanels().catch(()=>{})},pe=c=>(0,i.memo)(V=>(0,t.jsx)(i.Suspense,{fallback:(0,t.jsx)(o.ui_kit$PageLoader,{}),children:(0,t.jsx)(c,{...V})})),Os=pe(e.DiscussAiLazy),Ns=Object.freeze({}),Rs=Object.freeze([]),Ds=pe(e.EmailStylesLazy),Bs=pe(e.OptimiseLazy),Ws=pe(e.BlocksSearchLazy),$s=(0,i.memo)(c=>(0,t.jsx)(e.MonacoEditorLazy,{...c})),zs=(0,i.memo)((0,i.forwardRef)((c,V)=>(0,t.jsx)(e.EmailIframe,{...c,ref:V}))),Us=(0,i.memo)(c=>(0,t.jsx)(e.Atoms,{...c})),Hs=pe(e.EmailSettingsLazy),Vs=pe(e.HistoryPanelLazy),Gs=pe(e.DiscussLazy),Ks={appearance:"icon"},Fs={appearance:"title"},Ys=e.CORE_LOCATIONS.statusBar.groups.filter(c=>c!=="selection"),Zt=({emailElement:c,kind:V,isSuccess:_,setIsCollaborationEditor:D,isShowAddAllBlocksModal:Me,triggerOpenSavedBlocksTab:Oe,setIsShowAddAllBlocksModal:Fe})=>{const{__:d,_x:J}=e.useI18n(),b=e.useMessageService(),{blockId:k}=e.useRouteParams(),T=e.useEditorProjectId(),v=e.useRouteEmailId(),r=e.useDispatch(),M=e.useCodeModeActions(),Ye=e.useOpenPlanCatalog(),{modal:Et}=o.ui_kit$App.useApp(),a=e.useAppConfig(),Xe=e.useEditorLocked(),St=e.useConfigSource(),ie=e.useHeadless(),C=e.useContainer(),fe=e.useChromeReady("panel");e.usePanelsPrewarm(C),(0,i.useEffect)(()=>{e.getEditorVisible(C).notePagePainted()},[C]);const{token:ue}=(0,o.ui_kit$useToken)(),x=e.useNotification(),p=e.usePushToDataLayer(),y=e.useProjectData(),qe=e.toProjectStylesProjectId(y?.id||T);e.useSyncProjectBrandStylesToEditor(qe);const bt=e.useCookieManager(),h=e.useSelector(e.selectActiveSettingsTab),O=e.usePluginItems("statusBar"),P=(0,i.useMemo)(()=>e.filterPluginItems(O,"selection"),[O]),yt=(0,i.useMemo)(()=>e.filterPluginItems(O,Ys),[O]),Ne=a.pathEnabled||O.length>0,Ee=e.usePluginViewTabs("documentSettings",Fs),B=Ee.keys.length>0,{lastOpenedKey:Qe,lastOpenedStamp:oe}=Ee;(0,i.useEffect)(()=>{Qe&&r(e.setActiveSettingsTab(e.EDIT))},[r,Qe,oe]);const ee=e.usePluginViewTabs("sidebar",Ks),{lastOpenedKey:ne,lastOpenedStamp:kt,openedKeys:Se,openedKnown:Ze}=ee,Je=(0,i.useRef)(h);Je.current=h,(0,i.useEffect)(()=>{ne&&Je.current!==ne&&r(e.setActiveSettingsTab(ne))},[r,ne,kt]),(0,i.useEffect)(()=>{Ze&&ee.isPluginKey(h)&&!Se.includes(h)&&r(e.setActiveSettingsTab(e.BUILD))},[r,ee,Ze,h,Se]),(0,i.useEffect)(()=>{Ee.openedKnown&&h==="Edit"&&!a.settingsEnabled&&!B&&r(e.setActiveSettingsTab(e.BUILD))},[r,Ee.openedKnown,h,a.settingsEnabled,B]);const ae=e.useCurrentUser(),et=e.toLanguageCode(e.useInterfaceLocale()),me=e.useStore(),K=e.useGeometryRef(),{setWidthCodeSplit:le,setIsResizing:ce,setCurrentSide:be,setBlockMaxHeight:Re}=e.useSetGeometry(),W=e.useSelector(e.selectActiveModal$1),u=e.useSelector(e.selectIsCodeMode),m=e.useSelector(e.selectCodeModeDirection),[j,F]=(0,i.useState)(u);(0,i.useEffect)(()=>{u&&F(!0)},[u]);const N=e.useSelector(e.selectBlocksTotal),Y=e.useSelector(e.selectTemplateBlocksTotal),re=e.useSelector(e.selectParentEmailBlocksTotal),ye=e.useSelector(e.selectPropertiesPanelKey),[ke]=e.useLazyClearAiChatQuery(),tt=e.useEditorImageUpload(),X=e.useSelector(e.selectEmailViewType)===e.MOBILE,[De,Tt]=(0,i.useState)(e.LIGHT),[Te,vt]=(0,i.useState)(void 0),[ve,st]=(0,i.useState)(a.defaultBuildPanel||"empty"),[it,we]=(0,i.useState)("empty"),[$,Be]=(0,i.useState)(!1),[wt,Pe]=(0,i.useState)([]),[z,ot]=(0,i.useState)([]),{setPreviewAlertShow:nt,setTemplateNotEmAlertShow:at}=e.useSetCanvasAlerts(),{open:E,close:L}=e.useBrowserExtensionWarning(),{open:Pt,close:Qs}=e.useBrowserTranslateWarning();e.useBrowserTranslateDetection();const S=e.useRootElement(),I=e.isEditorLockedByPlan(y,{isPlugin:!0}),ts=e.usePlanFeatureGate("discussion"),Lt=e.usePlanFeatureGate("code_editor"),te=e.usePlanLimitGate("ai"),lt=te.exceeded?e.getLimitUpgradePresetDefinition(te.exceeded.presetId):null,Zs=a?.configSwither||!1;(0,i.useEffect)(()=>{r(e.resetParentBlocks())},[r]),(0,i.useEffect)(()=>{const s=window.localStorage.getItem(e.LOCAL_STORAGE_ITEMS.em_active_tab);s&&r(e.setActiveSettingsTab(s))},[bt,r]);const It=v||k,Js=e.useWpEntityId(),w=v||e.isBlocksV2Enabled()?Js:k,U=V??(c.hasOwnProperty("type")?"block":"email"),ct=e.useSetSelection(),Ct=e.useSelectionRef(),We=(0,i.useRef)(null);(0,i.useEffect)(()=>e.onPanelSettingsSent(()=>{We.current=null}),[]);const xt=(0,i.useRef)(null),jt=(0,i.useRef)(),Le=(0,i.useRef)(null),Ie=(0,i.useRef)(null),ss=(0,i.useRef)(),$e=(0,i.useRef)(),is=(0,i.useRef)(null),os=(0,i.useRef)(!1),At=(0,i.useRef)(!1),rt=(0,i.useCallback)(()=>{At.current=!1},[]),ze=(0,i.useCallback)(()=>{At.current=!0},[]),ns=(0,i.useCallback)(s=>{s?.type===e.ELEMENT_TYPES.SOCIAL&&ze()},[ze]),[ei,ti]=(0,i.useState)(!1),[si,ii]=(0,i.useState)(!1),[Ri]=e.useEditMeMutation(),[q,_e]=(0,i.useState)(!1),[oi,dt]=(0,i.useState)(0),[ni,Mt]=(0,i.useState)(!1),ai=(0,i.useCallback)(()=>Mt(!1),[]),li=(0,i.useCallback)(()=>{Mt(!1),Ye()},[Ye]),[ci,as]=(0,i.useState)(!1),ri=a.configSwither?localStorage.getItem("configSwither")==="pro"?!0:localStorage.getItem("configSwither")==="editor"?!1:a.mode==="pro":!1,Ot=(0,i.useCallback)(()=>{clearTimeout(is.current);const s=".blocks-search__result-holder";S.querySelector(s)&&(N||Y||re)&&(S.querySelector(s).style.removeProperty("transition"),S.querySelector(s).style.opacity=0,is.current=setTimeout(()=>{e.measureBlockPreviews(S,207/660),S.querySelector(s)&&(S.querySelector(s).style.transition="opacity 0.2s",S.querySelectorAll(s).forEach(n=>n.style.opacity=1))},200))},[Y,N,re]),Nt=(0,i.useRef)(void 0),ls=(0,i.useCallback)(s=>{const n=s.target;n&&(window.clearTimeout(Nt.current),Nt.current=window.setTimeout(()=>{ti(!!n.closest(".desktop_view")),ii(!!n.closest(".mobile_view"))},100))},[]);(0,i.useEffect)(()=>()=>{window.clearTimeout(Nt.current)},[]),(0,i.useEffect)(()=>{const s=e.addDocumentListenerFromShadow(S,"mouseover",ls);return()=>{s.dispose()}},[S,ls]),(0,i.useEffect)(()=>{typeof D=="function"&&(z.length>0?D(!0):D(!1))},[z]);const[cs]=e.useSendMessageMutation(),{currentData:H=Ns,refetch:he,status:Ue}=e.useGetDialogQuery({entity_id:w},{skip:!w||a.aiAssistentEnabled===!1||I}),di=e.useEventEmitter(Ae.events.AI_TEXT_REQUEST_ID).hasListeners(),pi=e.useIsStandalone(),Ce=!di&&!pi,ui=(0,i.useMemo)(()=>Ce?[{data:{role:"assistant",message:d("Typing..."),isLoading:!0}}]:[],[Ce,d]),[rs,Rt]=(0,i.useState)([]),[Dt,pt]=(0,i.useState)(a.defaultBuildPanel!==""?e.BLOCKS:e.ATOMS),Bt=(0,i.useRef)(null),ds=(0,i.useMemo)(()=>C?.getInstance(e.CANVAS_VIEWPORT_ID),[C]),ut=(0,i.useCallback)(()=>{const s=e.canvasPreviewMetrics(Le.current,Te);ds?.set({iframeOffsetTop:u&&m!=="bottom"?0:30,scrollTop:s.scrollTop+30,innerHeight:window.innerHeight/s.scale,previewHeight:s.previewHeight,mode:u&&m!=="bottom"?xs:"default"})},[m,u,Te,ds]),Wt=_&&c,$t=(0,i.useCallback)(s=>{const n=window.navigator.platform.match("Mac");a.codeEnabled&&a.codeSideEnabled&&s.altKey&&s.keyCode===88&&(M.toggle(),Lt.isLocked&&(_e(!0),dt(e.FEATURE_UPSELL_SLIDE.code_editor))),((n?s.metaKey:s.ctrlKey)&&s.shiftKey&&s.keyCode===76||(n?s.metaKey:s.ctrlKey)&&s.shiftKey&&s.keyCode===69||(n?s.metaKey:s.ctrlKey)&&s.shiftKey&&s.keyCode===82)&&s.preventDefault()},[a.codeEnabled,Lt.isLocked,a.codeSideEnabled,M]),ps=W.includes("UPLOAD_IMAGE_")||W.includes("UPLOAD_BACKGROUND_"),zt=(0,i.useRef)(!1),us=(0,i.useCallback)(s=>{const n=s.target,l=n.closest(".email-pane__content-col")||n.closest(".email-pane__collapse-wrapper")||n.closest(".selected-element-panel-content")||n.closest(".selected-element-panel")||n.closest(".em-analytics__email-tab-properties")||n.closest(".em-analytics__email-tab-styles")||n.closest(".em-analytics__email-tab-history")||n.closest(".blocks-modal-container")||n.closest(".email-pane__sizes")||n.closest(".email-preview-menu")||n.closest(".monaco-editor")||n.closest(".ant-modal-wrap");zt.current=!!l},[]),ms=(0,i.useCallback)(s=>{const n=zt.current,l=window.getSelection().toString().length>0||document.activeElement&&document.activeElement.tagName==="INPUT"&&document.activeElement.selectionStart!==document.activeElement.selectionEnd;zt.current=!1,!(n||l)&&(!document.querySelector(".easylogic-colorpicker")&&!S.querySelector(".easylogic-colorpicker")&&!s.target.closest(".email-pane__content-col")&&!s.target.closest(".blocks-modal-container")&&!s.target.closest(".email-pane__collapse-wrapper")&&!s.target.closest(".selected-element-panel__columns-settings__controls__column__remove")&&!s.target.closest(".email-preview__content-col_main")&&!s.target.closest(".email-preview-menu")&&!s.target.closest(".monaco-editor")&&!s.target.closest(".main__pane-close-btn")&&!s.target.closest(".main__pane-trigger")&&!s.target.closest(".ant-modal-wrap")&&!s.target.closest(".email-pane__sizes")&&!s.target.closest(".ant-input-clear-icon")&&!s.target.closest(".ant-color-picker")&&!s.target.closest(".control-font-family-dropdown")&&!Bt.current&&!s.target.closest(".email-preview-menu__history")&&!s.target.closest(".selected-element-panel-content")&&!s.target.closest(".ant-select-dropdown")&&!s.target.closest(".ant-picker-dropdown")&&!s.target.closest(".toggle_view")&&!s.target.closest(".upload-bg-image__menu")&&!s.target.closest(".email-pane__paths")&&!s.target.closest(".ant-tabs-extra-content")&&!s.target.closest(".anticon-delete")&&!ps&&W!==e.MODALS.IMAGE_EDITOR_MODAL&&(h==="Properties"&&(ze(),r(e.resetToLastActiveSettingsTab()),b.send({operation:e.EVENT_TYPES.SANDBOX_ELEMENT_ACTIVE_RESET}),Pe([])),h==="History"&&r(e.setActiveSettingsTab(e.BUILD)),r(e.switchIsPanelHistoryCollapsed(!0)),b.send({operation:e.EVENT_TYPES.SANDBOX_LOCK_EDIT,data:!1}),setTimeout(()=>{c.type?r(e.setElementSettings({type:null})):r(e.setElementSettings$1({type:null}))},300)),Bt.current=null)},[r,c.type,W,h,b,ps]),[mi,_s]=(0,i.useState)(!0),{currentData:Ut=Rs,refetch:mt}=e.useGetCommentsQuery(w,{skip:!w||I});(0,i.useEffect)(()=>{w&&!I&&mt()},[h,w,I,mt]);const hs=(0,i.useRef)(null),gs=e.isDialogEmpty(H);(0,i.useEffect)(()=>{e.shouldRefetchEmptyDialog({currentId:w,status:Ue,dialogEmpty:gs,refetchedFor:hs.current})&&(hs.current=w,he())},[h,w,he,gs,Ue]),(0,i.useEffect)(()=>{const s=new Ae.Disposable,n=window.localStorage.getItem(e.LOCAL_STORAGE_ITEMS.em_active_tab);if(H?.totalCount===0&&Ue!=="pending"){const f={project_id:T,connection:"chat",entity_id:w,context:"default",locale:et};!n&&Ce&&e.runOncePerSession(`${v?"email":"block"}-default-context:${w}`,()=>{e.swallowPromiseRejection(cs({body:f}).then(()=>{s.isDisposed()||Ue==="fulfilled"&&he()}))})}const l={data:{role:"assistant",message:d("Typing..."),isLoading:!0}};return H?.documents?.length>0?(window.localStorage.removeItem(e.LOCAL_STORAGE_ITEMS.em_active_tab),Rt(H?.documents),Ce&&H?.documents[H?.documents?.length-1].data?.userInfo&&Rt([...H?.documents,l])):n||Rt(Ce?[l]:[]),()=>s.dispose()},[d,w,v,et,H?.totalCount,H?.documents,Ce,T,he,cs,Ue]);const fs=c?.renderGuid;(0,i.useEffect)(()=>{ct({}),Pe([]),We.current=null,r(U==="email"?e.setElementSettings$1({}):e.setElementSettings({}))},[r,U,fs]);const Es=(0,i.useCallback)(s=>{r(e.setEmailSettings(e.enrichEditorSettings(s)))},[r]),Ss=(0,i.useCallback)(s=>{r(e.setBlockSettings(e.enrichEditorSettings(s)))},[r]),He=(0,i.useCallback)(s=>{r(U==="email"?e.setElementSettings$1(e.enrichEditorSettings(s)):e.setElementSettings(e.enrichEditorSettings(s)))},[r,U]);(0,i.useEffect)(()=>{const s=ss.current,n=Ie.current;vt(u?n??s:s)},[u,m]);const[_i,hi]=(0,i.useState)(null),gi=(0,i.useCallback)(s=>{a.sidePanelFloating&&(Ie.current=s),hi(s)},[a.sidePanelFloating]),Ve=(0,i.useCallback)(s=>{st(s),s==="search"?Be(!0):(Be(!1),we(s)),setTimeout(Ot,50)},[Ot]),fi=(0,i.useCallback)(s=>{const n=s.data.operation,l=s.data,f=s.data.action;if(n==="application_block_inserted"||s.data.operationId==="application_block_inserted"){const g=s.data.operationId?s.data.data:l||{},Z=g.type==="project"||g.type==="template"||g.type==="common"?"block":"structure",je=g.name||g.type||(Z==="block"?"block":"structure");p({event:"add",action:"add_element_to_email",element_type:Z,element_name:je,entity_id:c?.id||v||k,project_id:y?.id||T})}if(n===e.EVENT_TYPES.APPLICATION_SCROLL_TO&&setTimeout(()=>{Ie.current?.scrollTo({top:s.data.settings.value,behavior:"smooth"})},100),n===e.EVENT_TYPES.APPLICATION_PREVIEW_ALERT_SHOW&&nt(l.settings.show),n===e.EVENT_TYPES.APPLICATION_TEMPLATE_NOT_EM_ALERT_SHOW&&at(!0),n===e.EVENT_TYPES.APPLICATION_ACTION&&f==="toggle_editor"&&M.toggle(),n===e.EVENT_TYPES.APPLICATION_EMAIL_SETTINGS_SET){let g=Object.assign({},l.settings);delete g.preheader,Object.values(g).every(Z=>!Z)?(r(e.setEmailSettingsDisable(!0)),r(e.resetToLastActiveSettingsTab())):Es(l.settings),l.settings.noBlocks,r(e.setMobileViewActive(l.settings.responsive)),_s(g.structuresMedia)}if(n===e.EVENT_TYPES.APPLICATION_BLOCK_SETTINGS_SET&&(Object.values(l.settings).every(g=>!g)?(r(e.setBlockSettingsDisable(!0)),r(e.resetToLastActiveSettingsTab())):(Ss(l.settings),_s(l.settings.structuresMedia))),n===e.EVENT_TYPES.APPLICATION_ELEMENT_SETTINGS_SET){const g=Object.values(e.ELEMENT_TYPES).includes(l.type),Z=Ct.current,je=Z?.type==="advanced"&&!!Z.content,A=l.tab?!0:!g&&!je,{type:ji,caption:Ai,settings:Mi}=l,Is=JSON.stringify([ji,Ai,Mi]),Oi=Is!==We.current;We.current=Is,A&&h==="Properties"&&r(e.resetToLastActiveSettingsTab());const Cs=h===e.HISTORY,{type:Xt}=l;if(!Cs&&(Xt===e.ELEMENT_TYPES.EMPTY_TABLE||Xt===e.ELEMENT_TYPES.EMPTY_TD)?(r(e.setActiveSettingsTab(e.BUILD)),l.type===e.ELEMENT_TYPES.EMPTY_TABLE?(pt(e.BLOCKS),l.tab?Ve(l.tab):Ve("common")):l.type===e.ELEMENT_TYPES.EMPTY_TD&&pt(e.ATOMS)):!Cs&&Xt&&h!=="Properties"?l.type===e.ELEMENT_TYPES.SOCIAL&&At.current?rt():(rt(),r(e.setActiveSettingsTab(e.PROPERTIES))):l.type!==e.ELEMENT_TYPES.SOCIAL&&rt(),!Oi)return;l.type===e.ELEMENT_TYPES.CAROUSEL||l.type===e.ELEMENT_TYPES.ACCORDION||l.type===e.ELEMENT_TYPES.SOCIAL?(ct(ge=>({settings:{...l.settings,type:A?null:l.type,caption:l.caption,parent:A?null:l.settings.parent},type:A?null:l.type,parent:A?null:l.settings.parent,caption:l.caption,extraTabs:ge.extraTabs})),He({})):(He({...l.settings,type:A?null:l.type,parent:A?null:l.settings.parent,caption:l.caption}),ct(ge=>!g&&ge.type==="advanced"&&ge.content?{...ge,settings:{...l.settings,type:l.type,parent:l.settings?.parent,caption:l.caption}}:ge.extraTabs?.length?{extraTabs:ge.extraTabs}:{})),l.settings?.path?.length>0&&Pe(l.settings?.path)}n===e.EVENT_TYPES.APPLICATION_ELEMENT_SETTINGS_CLOSE&&(We.current=null,Ct.current?.type===e.ELEMENT_TYPES.SOCIAL&&ze(),r(e.resetToLastActiveSettingsTab()))},[r,Es,Ss,He,h,Ve,S,p,c,v,k,y,rt,ze,M,T,Ct,ct,nt,at]);(0,i.useEffect)(()=>{e.identifyUser({id:ae?.id,email:ae?.email,username:ae?.name})},[ae]),(0,i.useEffect)(()=>{},[I,ae.email_builder_config,ae.id,r,me,St]),(0,i.useEffect)(()=>{u&&Lt.isLocked&&M.toggle()},[]);const bs=s=>{setTimeout(()=>{if(I)r(e.changeConfig("pro")),as(!0),_e(!0),p({event:"change",action:"change_config_mode",config_mode:"pro",entity_id:c?.id||v||k,project_id:y?.id||T});else{let n=s?"pro":"editor";localStorage.setItem("configSwither",n),r(e.changeConfig(n)),p({event:"change",action:"change_config_mode",config_mode:n,entity_id:c?.id||v||k,project_id:y?.id||T})}},200)},Ei=()=>{u&&M.toggle(),r(e.resetToLastActiveSettingsTab()),r(e.changeConfig("simple")),as(!1),_e(!1),p({event:"change",action:"change_config_mode",config_mode:"simple",entity_id:c?.id||v||k,project_id:y?.id||T})},Si=(0,i.useCallback)(()=>{_e(!1)},[]);e.useListenPostMessage(fi),e.useImageControlRequestCollector(),(0,i.useEffect)(()=>{const s=b.addListener(n=>{const l=e.readDroppedImage(n,e.EVENT_TYPES.APPLICATION_NATIVE_IMAGE_DROP);if(!l)return;const f=()=>b.send({operation:e.EVENT_TYPES.SANDBOX_NATIVE_IMAGE_DROP_CLEAR});(async()=>{const g=await e.uploadDroppedImage(l,{prepare:A=>e.prepareImageForEditorUpload(A,a),upload:tt});if(g.status!=="uploaded"){const{error:A}=g;x.error({id:"IMAGE_UPLOAD_ERROR",data:l,title:d("Upload failed"),description:A instanceof Error&&A.message?A.message:d("The image could not be uploaded.")}),f();return}b.send({operation:e.EVENT_TYPES.SANDBOX_ELEMENT_SETTINGS_SET,type:e.ELEMENT_TYPES.IMG,settings:{src:g.url}});const Z=me.getState(),je=U==="email"?e.selectElementSettings$1(Z):e.selectElementSettings(Z);je?.type===e.ELEMENT_TYPES.IMG&&He({...je,src:g.url,changeKey:"src"})})()});return()=>s.dispose()},[d,b,tt,a,x,He,me,U]),(0,i.useEffect)(()=>{const s=b.addListener("application_atom_inserted",l=>{p({event:"add",action:"add_element_to_email",element_type:"atom",element_name:l||"atom",entity_id:c?.id||v||k,project_id:y?.id||T})}),n=b.addListener("application_block_inserted",l=>{const f=l?.type==="project"||l?.type==="template"||l?.type==="common"?"block":"structure",g=l?.name||l?.type||(f==="block"?"block":"structure");p({event:"add",action:"add_element_to_email",element_type:f,element_name:g,entity_id:c?.id||v||k,project_id:y?.id||T})});return()=>{s?.dispose(),n?.dispose()}},[b,p,c?.id,v,k,T,y?.id]);const bi=s=>{ee.activate(s);let n=S.querySelector(".atoms__list");a.toggleSidePanel&&s===h?r(e.setActiveSettingsTab(e.DISABLED_TAB)):s==="Optimize"?e.comingSoonHandler(d,Et):s!=="Properties"&&s!=="History"?(r(e.setActiveSettingsTab(s)),p({event:"navigate",action:"navigate_email_pane_tab",tab_name:s==="Disabled_tab"?"DISABLED_TAB":ee.isPluginKey(String(s))?"plugin-view":String(s),entity_id:c?.id||v||k,project_id:y?.id||T}),b.send({operation:e.EVENT_TYPES.SANDBOX_LOCK_EDIT,data:!1}),b.send({operation:e.EVENT_TYPES.SANDBOX_ELEMENT_ACTIVE_RESET}),Pe([])):(s==="Properties"||s==="History")&&p({event:"navigate",action:"navigate_email_pane_tab",tab_name:s,entity_id:c?.id||v||k,project_id:y?.id||T}),ts.isLocked&&s==="Discuss"&&(_e(!0),dt(e.FEATURE_UPSELL_SLIDE.discussion)),I&&s==="Optimise"&&(_e(!0),dt(6)),te.isLocked&&s==="AiChat"&&(te.state.state==="locked_by_limit"&&te.exceeded?Mt(!0):(_e(!0),dt(9)))},_t=(0,i.useRef)(null),Ge=(0,i.useRef)(void 0),Q=(0,i.useCallback)(()=>{const s=Ie.current?.getBoundingClientRect();if(_t?.current?.getBoundingClientRect().top>=0&&s){const n=e.unscaledHeight(Math.round(s.height-30),_t.current);_t.current.style.height=`${n}px`,Re(n-30)}Ge.current===void 0&&(Ge.current=window.requestAnimationFrame(()=>{Ge.current=void 0,ut()}))},[ut,Re]);(0,i.useEffect)(()=>()=>{Ge.current!==void 0&&window.cancelAnimationFrame(Ge.current)},[]),(0,i.useEffect)(()=>(h==="AiChat"&&!I?xt.current=setInterval(()=>{he({entity_id:w})},5e3):clearInterval(xt.current),clearInterval(xt.current)),[w,I,he,h]);const yi=s=>pt(s||""),ki=()=>{Be(!1),st(it)},Ht=()=>{let s=S.querySelector(".block-search__preview");s&&(s.style.opacity="0",s.style.transform="translateX(-99%)",setTimeout(function(){s.remove()},300))};let xe=[];const Ke={display:"flex",alignItems:"center",justifyContent:"center"};a.blocksEmptyEnabled&&xe.push({label:(0,t.jsx)(o.ui_kit$Tooltip,{placement:"top",title:d("Empty blocks"),children:(0,t.jsx)("div",{style:Ke,children:(0,t.jsx)(e.EmIcons,{icon:"BorderOuterOutlined",component:o.icons$BorderOuterOutlined,style:{fontSize:18}})})}),value:"empty"}),a.blocksSavedEnabled&&xe.push({label:(0,t.jsx)(o.ui_kit$Tooltip,{placement:"top",title:d("Saved blocks"),children:(0,t.jsx)("div",{style:Ke,children:(0,t.jsx)(e.EmIcons,{icon:"AppstoreAddOutlined",component:o.icons$AppstoreAddOutlined,style:{fontSize:18}})})}),value:"project"}),a.blocksCommonEnabled&&xe.push({label:(0,t.jsx)(o.ui_kit$Tooltip,{placement:"top",title:d("Common blocks"),children:(0,t.jsx)("div",{style:Ke,children:(0,t.jsx)(e.EmIcons,{icon:"AppstoreOutlined",component:o.icons$AppstoreOutlined,style:{fontSize:18}})})}),value:"common"}),a.blocksTemplateEnabled&&xe.push({label:(0,t.jsx)(o.ui_kit$Tooltip,{placement:"top",title:d("Template blocks"),children:(0,t.jsx)("div",{style:Ke,children:(0,t.jsx)(e.EmIcons,{icon:"BuildOutlined",component:o.icons$BuildOutlined,style:{fontSize:18}})})}),value:"template"}),a.blocksSearchEnabled&&xe.push({label:(0,t.jsx)(o.ui_kit$Tooltip,{placement:"top",title:d("Blocks search"),children:(0,t.jsx)("div",{style:Ke,children:(0,t.jsx)(e.EmIcons,{icon:"SearchOutlined",component:o.icons$SearchOutlined,style:{fontSize:18}})})}),value:"search"});const ht=ve!=="empty"||$,Ti=!a.blocksSectionsShow||ht?"100%":"calc(100% - 44px)";let vi=[{label:(0,t.jsx)("div",{className:"email-pane__tab",children:d("Elements")}),key:e.ATOMS,className:"email-pane__collapse-panel email-pane__atoms",children:(0,t.jsx)(Us,{})},{label:(0,t.jsx)("div",{className:"email-pane__tab",children:d("Blocks")}),key:e.BLOCKS,className:"email-pane__collapse-panel email-pane__blocks-search",style:{height:Ti},children:(0,t.jsxs)("div",{className:(0,R.default)("email-pane__blocks-panel",{"email-pane__blocks-panel_scrollable":ht}),children:[a.blocksSectionsShow&&(0,t.jsxs)("div",{className:"email-pane__blocks-panel-header",children:[(0,t.jsxs)(o.ui_kit$Space.Compact,{block:!0,children:[!$&&(0,t.jsx)(o.ui_kit$Segmented,{block:!0,style:{width:"100%",marginTop:24},onChange:Ve,value:ve,options:xe}),$&&(0,t.jsx)("div",{style:{width:"100%",height:36}}),$&&(0,t.jsx)("div",{style:{width:36,textAlign:"right",marginTop:22},children:(0,t.jsx)(e.EmIcons,{icon:"CloseOutlined",component:o.icons$CloseOutlined,style:{padding:"0 2px 0",cursor:"pointer"},onClick:ki})})]}),(0,t.jsx)("div",{className:"blocks-search__divider-wrapper",style:{marginTop:$?28:12},children:(0,t.jsx)(o.ui_kit$Divider,{className:"blocks-search__divider"})})]}),(0,t.jsxs)("div",{className:"email-pane__blocks-panel-body",children:[(0,t.jsx)("div",{className:"blocks-search__empty-shadow",style:{display:ve==="empty"&&!$?"block":"none"},children:mi?(0,t.jsx)(e.StructuresMedia,{}):(0,t.jsx)(e.Structures,{})}),(0,t.jsx)("div",{className:(0,R.default)("email-pane__blocks-panel-results",{"email-pane__blocks-panel-results_visible":ht}),children:(0,t.jsx)(Ws,{parentEmailId:c?.parent_email,blocksTab:ve,search:$,reloadBlockScreens:Ot,setIsShowAddAllBlocksModal:Fe})})]})]})}];const gt=s=>ee.tabs(s).map(n=>({...n,disabled:q})),se=[{disabled:q,key:e.PROPERTIES,style:{height:"var(--em-pane-block-height)"},className:"em-analytics__email-tab-properties",children:(0,t.jsx)(e.PropertiesTabContent,{isShowMobileSettings:X,propertiesPanelKey:ye,onMouseLeave:Ht,email:c,onClosePanel:ns})},{disabled:q,key:e.HISTORY,style:{height:"var(--em-pane-block-height)"},className:"em-analytics__email-tab-history",children:Wt&&(0,t.jsx)("div",{className:"email-pane__collapse-wrapper",onMouseLeave:Ht,children:(0,t.jsx)(Vs,{setCollapsedHistory:()=>r(e.switchIsPanelHistoryCollapsed(!0)),emailElement:Wt},Wt.renderGuid)})},{key:e.DISABLED_TAB,className:"em-analytics__email-tab-properties"},{disabled:q,label:(0,t.jsx)(o.ui_kit$Tooltip,{placement:"left",title:J("Build","tab"),children:(0,t.jsx)(e.EmIcons,{"data-testid":"contentIcon",icon:"PlusCircleOutlined",component:o.icons$PlusCircleOutlined,size:24,strokeWidth:a.iconStrokeWidth})}),key:e.BUILD,className:"em-analytics__email-tab-build",style:{height:"var(--em-pane-block-height)",overflow:"hidden"},children:(0,t.jsx)("div",{className:(0,R.default)("email-pane__collapse-wrapper",{"email-pane__collapse-wrapper_no-topleft-radius":h==="Build"||!h,"email-pane__collapse-wrapper_build":Dt==="Blocks"&&ht}),onMouseLeave:Ht,children:(0,t.jsx)(o.ui_kit$Tabs,{className:(0,R.default)("secondary-tabs email-pane__collapse",{"secondary-tabs_unset_scroll":Dt===e.BLOCKS}),size:"large",activeKey:Dt,onChange:yi,items:vi})})},{disabled:q,label:(0,t.jsx)(o.ui_kit$Tooltip,{placement:"left",title:J("Styles","tab"),children:(0,t.jsx)(e.EmIcons,{"data-testid":"stylesIcon",icon:"Styles",component:o.icons$Styles,size:24,strokeWidth:a.iconStrokeWidth})}),key:e.STYLES,className:"em-analytics__email-tab-styles",style:{height:"var(--em-pane-block-height)",overflow:"hidden"},children:(0,t.jsx)("div",{className:"email-pane__collapse-wrapper",children:(0,t.jsx)(Ds,{email:c})})}];se.push(...gt("content")),a.commentsEnabled&&se.push({disabled:q,label:(0,t.jsxs)(o.ui_kit$Tooltip,{placement:"left",title:J("Discuss","tab"),children:[(0,t.jsx)(e.EmIcons,{"data-testid":"commentsIcon",icon:"CommentOutlined",component:o.icons$CommentOutlined,size:24,strokeWidth:a.iconStrokeWidth}),ts.isLocked&&(0,t.jsx)(e.EmIcons,{icon:"Lock",component:o.icons$Lock,size:14,strokeWidth:a.iconStrokeWidth,className:"free-mode-firewall-icon free-mode-firewall-icon_emailpane"}),!!Ut.length&&(0,t.jsx)("span",{className:"email-pane__comment-counter",children:Ut.filter(s=>s.comment_status!=="deleted").length})]}),key:"Discuss",className:"email-pane__tab-discuss em-analytics__email-tab-discuss",style:{height:"var(--em-pane-block-height)",overflow:"hidden"},children:(0,t.jsx)("div",{className:"email-pane__collapse-wrapper",children:(0,t.jsx)(o.ui_kit$Tabs,{className:"secondary-tabs email-settings__collapse discuss-wrapper",size:"large",activeKey:"Discuss",items:[{label:(0,t.jsx)(t.Fragment,{children:d("Discuss")}),key:"Discuss",forceRender:!0,className:"email-settings__collapse-panel",children:It?(0,t.jsx)(Gs,{email:c,comments:Ut,subjectId:w,isLoggedIn:!0,emailElementType:U}):(0,t.jsx)("div",{className:"aside-content-wrapper",children:c.hasOwnProperty("type")?(0,t.jsx)(o.ui_kit$Alert,{description:d("Save the block before commenting."),type:"info",showIcon:!0,style:{marginBottom:20}}):(0,t.jsx)(o.ui_kit$Alert,{description:d("Save the email before commenting."),type:"info",showIcon:!0,style:{marginBottom:20}})})}]})})});const wi=()=>{ke({entity_id:w}).then(s=>{s.error?x.error({title:s.error.data.code,description:s.error.data.message}):s.data.success&&x.success({title:d("Success"),description:s.data.success}),I||he()})};a.aiAssistentEnabled&&se.push({disabled:q,label:(0,t.jsxs)(o.ui_kit$Tooltip,{placement:"left",title:J("AI assistant","tab"),children:[(0,t.jsx)(e.EmIcons,{"data-testid":"aiAssistentIcon",icon:"AI",component:o.icons$AI,size:24,strokeWidth:a.iconStrokeWidth}),te.isLocked&&(0,t.jsx)(e.EmIcons,{icon:"Lock",component:o.icons$Lock,size:14,strokeWidth:a.iconStrokeWidth,className:"free-mode-firewall-icon free-mode-firewall-icon_emailpane"}),H?.totalCount>0&&It&&(0,t.jsx)("span",{className:"email-pane__comment-counter",children:H?.totalCount})]}),key:"AiChat",className:"email-pane__tab-discuss em-analytics__email-tab-discuss",style:{height:"var(--em-pane-block-height)",overflow:"hidden"},children:(0,t.jsx)(t.Fragment,{children:(0,t.jsx)("div",{className:"email-pane__collapse-wrapper",children:(0,t.jsx)(o.ui_kit$Tabs,{className:"secondary-tabs email-settings__collapse discuss-ai-wrapper",size:"large",activeKey:"AiChat",tabBarExtraContent:(0,t.jsx)(o.ui_kit$Tooltip,{placement:"top",title:d("Clear chat"),children:(0,t.jsx)(o.ui_kit$Popconfirm,{description:d("Clear chat history?"),onConfirm:wi,okText:d("Yes"),cancelText:d("No"),icon:"",placement:"leftTop",title:!1,children:(0,t.jsx)(o.ui_kit$Button,{type:"text",icon:(0,t.jsx)(e.EmIcons,{icon:"ClearChat",component:o.icons$ClearChat,style:{fontSize:16}}),style:{marginRight:16}})})}),items:[{label:(0,t.jsx)(t.Fragment,{children:d("AI assistant")}),key:"AiChat",forceRender:!0,className:"email-settings__collapse-panel",children:It||window.localStorage.getItem(e.LOCAL_STORAGE_ITEMS.em_active_tab)?(0,t.jsx)(Os,{messages:rs.length>0?rs:ui,newEmailAiGeneratorRef:os},fs):(0,t.jsx)("div",{className:"aside-content-wrapper",children:c.hasOwnProperty("type")?(0,t.jsx)(o.ui_kit$Alert,{description:d("Save the block before commenting."),type:"info",showIcon:!0,style:{marginBottom:20}}):(0,t.jsx)(o.ui_kit$Alert,{description:d("Save the email before commenting."),type:"info",showIcon:!0,style:{marginBottom:20}})})}]})})})}),se.push(...gt("collaboration")),a.optimizeEnabled&&se.push({disabled:q,label:(0,t.jsxs)(o.ui_kit$Tooltip,{placement:"left",title:J("Optimize","tab"),children:[(0,t.jsx)(e.EmIcons,{"data-testid":"optimizeIcon",icon:"Speed",component:o.icons$Speed,size:24,strokeWidth:a.iconStrokeWidth}),I&&(0,t.jsx)(e.EmIcons,{icon:"Lock",component:o.icons$Lock,size:14,strokeWidth:a.iconStrokeWidth,className:"free-mode-firewall-icon free-mode-firewall-icon_emailpane"})]}),key:"Optimise",className:"em-analytics__email-tab-optimise",style:{height:"var(--em-pane-block-height)",overflow:"hidden"},children:(0,t.jsx)("div",{className:"email-pane__collapse-wrapper",children:(0,t.jsx)(o.ui_kit$Tabs,{className:"secondary-tabs secondary-tabs_optimise email-settings__collapse optimise-wrapper",size:"large",activeKey:"Optimise",items:[{label:(0,t.jsx)(t.Fragment,{children:d("Optimize")}),key:"Optimise",forceRender:!0,className:"email-settings__collapse-panel",children:(0,t.jsx)(Bs,{})}]})})}),se.push(...gt(["analysis","plugins"])),(a.settingsEnabled||B)&&se.push({disabled:q,label:(0,t.jsx)(o.ui_kit$Tooltip,{placement:"left",title:J("Settings","tab"),children:(0,t.jsx)(e.EmIcons,{"data-testid":"settingsIcon",icon:"SettingOutlined",component:o.icons$SettingOutlined,size:24,strokeWidth:a.iconStrokeWidth})}),key:"Edit",className:"em-analytics__email-tab-edit",style:{height:"var(--em-pane-block-height)",overflow:"hidden"},children:(0,t.jsx)("div",{className:"email-pane__collapse-wrapper",children:(0,t.jsx)(Hs,{email:c,pluginOnly:!a.settingsEnabled})})}),se.push(...gt("settings"));const ys=h===e.DISCUSS,ks=(0,i.useRef)(0),Ts=(0,i.useRef)(0),vs=(0,i.useRef)(0),Pi=(0,i.useCallback)(()=>(S.querySelector(".email-pane__col_preview")?.getBoundingClientRect().width??0)-(a.sidePanelFloating?0:38),[S,a.sidePanelFloating]);(0,i.useEffect)(()=>{w&&!I&&mt()},[w,I,mt]),(0,i.useEffect)(()=>{const s=b.onInit(()=>{b.send({operation:e.EVENT_TYPES.SANDBOX_LOCK_EDIT,data:!1}),b.send({operation:e.EVENT_TYPES.SANDBOX_LOCK_DISCUSS,value:ys})});return()=>s.dispose()},[ys,b]),(0,i.useEffect)(()=>{Te&&ut()},[Te,ut]);const Vt=(0,i.useCallback)(s=>{const n=s??e.selectEmailWidth(me.getState());b.send({operation:e.EVENT_TYPES.SANDBOX_IFRAME_SETSIZE,settings:{iframeWidth:typeof n=="number"?n+2:n}}),jt.current?.resize()},[me,b]);(0,i.useEffect)(()=>{if(!X&&h!=="Disabled_tab"){const s=S.querySelector(".email-pane__row")?.getBoundingClientRect().width;Le?.current?.getBoundingClientRect().width+540>s&&r(e.setEmailWidth("100%"))}},[r,h,S,X]);const Gt=(0,i.useCallback)(()=>{const s=Le.current;s&&(s.style.borderWidth="1px",a.sidePanelFloating||(s.style.marginLeft="-1px",s.style.marginRight="-1px"),s.style.borderLeftColor=null,s.style.borderRightColor=null)},[a.sidePanelFloating]),ws=(0,i.useCallback)(s=>{const n=K.current.widthCodeSplit;ce(!1),K.current.currentSide&&(setTimeout(()=>Vt(),50),be(null)),s.target.classList.contains("email-pane__handle")||Gt(),window.localStorage.setItem(e.LOCAL_STORAGE_ITEMS.em_code_mode_pane_sizes,JSON.stringify(n))},[Vt,K,ce,be,Gt]),Ps=s=>n=>{n.target.classList.contains("email-pane__handle")&&(n.preventDefault(),ks.current=n.target.parentNode.offsetWidth,Ts.current=n.pageX,vs.current=Pi(),be(s),Bt.current=s)},ft=s=>{const n=Le.current,{currentSide:l}=K.current;typeof s=="string"&&(!l||l===s)?(S.querySelector(".email-pane__iframe").style.width="calc(100% + 1px)",s==="right"?(n.style.borderRightColor=ue.colorPrimary,n.style.borderRightWidth="2px"):(n.style.borderLeftColor=ue.colorPrimary,n.style.borderLeftWidth="2px",S.querySelector(".email-pane__iframe").style.marginLeft="-1px")):l||(Gt(),S.querySelector(".email-pane__iframe")?.style.removeProperty("width"),S.querySelector(".email-pane__iframe").style.removeProperty("margin-left"))},Li=(0,i.useCallback)(()=>{ce(!0)},[ce]),Kt=(0,i.useCallback)(s=>{const{currentSide:n}=K.current;if(!n)return;const l=(s.pageX-Ts.current)*2,f=ks.current+(n==="left"?-l:l),g=Math.min(vs.current,1200);f>318&&f<g&&(r(e.setEmailWidth(Math.min(f,1200))),jt.current?.resize())},[r,K]),Ft=(0,i.useCallback)(s=>{if(K.current.isResizing)if(m==="bottom"){const n=$e.current.getBoundingClientRect().height,l=$e.current.getBoundingClientRect().top,f=(s.clientY-l)/n*100;if(f<20||f>80)return;le(f),Q()}else{const n=$e.current.getBoundingClientRect().width,l=$e.current.getBoundingClientRect().left,f=(s.clientX-l)/n*100,g=Le.current.getBoundingClientRect().width;if(a.desktopMobileSwitchPanel&&typeof g=="number"&&g<=425&&r(e.setEmailWidth(425)),f<20||f>80)return;le(f)}},[K,le,m,Q,r,a.desktopMobileSwitchPanel]);(0,i.useEffect)(()=>{Q()},[u,Q]);const Ii=s=>{s?.stopPropagation?.();const n=De==="light"?e.DARK:e.LIGHT;b.send({operation:e.EVENT_TYPES.SANDBOX_SWITCH_THEME,data:{theme:n}}),Tt(n)},Ls=(s="panel")=>{const n=s==="panel",l=De===e.DARK,f={size:n?18:16,strokeWidth:n?a.iconStrokeWidth:2};return(0,t.jsx)(o.ui_kit$Tooltip,{title:d(l?"Light theme":"Dark theme"),placement:n?"top":"bottom",children:(0,t.jsx)(o.ui_kit$Button,{type:n?l?"primary":"text":"default",icon:l?(0,t.jsx)(e.EmIcons,{icon:"LightMode",component:o.icons$LightMode,...f}):(0,t.jsx)(e.EmIcons,{icon:"DarkMode",component:o.icons$DarkMode,...f}),shape:"circle",size:n?void 0:"small",onClick:Ii,className:"toggle_view theme_view email-pane__theme-toggle",style:n?void 0:{left:4,top:4,zIndex:999,padding:0,position:"absolute"}})})},Yt=s=>{const n=typeof s=="number"?Math.min(s,1200):s;r(e.setEmailWidth(n)),setTimeout(()=>Vt(n),700);const l=typeof n=="number"?n:n==="100%"?"full":n,f=typeof n=="number"&&n<=425?"mobile":"desktop";p({event:"change",action:"change_email_size",email_id:c?.id||v||k,project_id:y?.id||T,width:l,view_type:f})};(0,i.useEffect)(()=>{const s=new Ae.Disposable;return s.addDisposable(e.addWindowListenerFromShadow(S,"mousedown",us,!0)),s.addDisposable(e.addWindowListenerFromShadow(S,"click",ms)),s.addDisposable(e.addWindowListenerFromShadow(S,"mouseup",n=>ws(n),!0)),()=>{s.dispose()}},[S,ms,us,ws]),(0,i.useEffect)(()=>{const s=Ie.current;if(!s||typeof ResizeObserver!="function")return;const n=new ResizeObserver(Q);return n.observe(s),()=>n.disconnect()},[Q,a.sidePanelFloating]),(0,i.useEffect)(()=>(window.addEventListener("scroll",Q,!0),window.addEventListener("mousemove",Kt,!0),window.addEventListener("mousemove",Ft),window.addEventListener("keydown",$t),()=>{window.removeEventListener("mousemove",Kt,!0),window.removeEventListener("mousemove",Ft),window.removeEventListener("scroll",Q,!0),window.removeEventListener("keydown",$t)}),[Q,Kt,Ft,$t]);const Ci=s=>{const n=u?"visual":"code",l=!u;if(u?M.toggle():typeof s=="string"?(M.setDirection(s),!u&&M.toggle()):M.toggle(),l){const f=U==="block"?"block":"email",g=typeof s=="string"?s:m||"toggle";p({event:"activate",action:"activate_code_mode",entity_type:f,entity_id:c?.id||v||k,project_id:y?.id||T,code_mode_direction:g})}p({event:"change",action:"change_editor_mode",editor_mode:n,entity_id:c?.id||v||k,project_id:y?.id||T}),r(e.resetToLastActiveSettingsTab()),setTimeout(()=>{r(U==="block"?e.setElementSettings({type:null}):e.setElementSettings$1({type:null}))},300),b.send({operation:e.EVENT_TYPES.SANDBOX_ELEMENT_ACTIVE_RESET}),r(e.resetPanes())};(0,i.useEffect)(()=>{a.emailPaneDesktopSize&&r(e.setEmailWidth(a.emailPaneDesktopSize))},[r,a.emailPaneDesktopSize]);const xi=()=>{pt(e.BLOCKS),Ve("project")};return(0,i.useEffect)(()=>{Oe&&xi()},[Oe]),(0,t.jsx)(e.ElementEntityKindProvider,{kind:U,children:(0,t.jsxs)(e.PaneShell,{className:(0,R.default)("email-pane",{"email-pane_code-mode":u,"email-pane_only_code_mode_mobile":a.onlyCodeModeInMobile,"email-pane_code-mode-bottom":u&&m==="bottom","email-pane_no-element-navigation":!a.switchDesktopMobilePropsEnabled&&!a.stepToOtherElementEnabled&&!a.deleteButtonEnabled,"email-pane_is-mobile":X,"email-pane_path-enabled":Ne}),sidePanelFloating:!!a.sidePanelFloating,isCodeMode:!!u,codeModeDirection:String(m),children:[(0,t.jsxs)(As,{className:"email-pane__container",ref:ss,children:[(0,t.jsx)(e.SelectedElementPanelInCodeMode,{isCodeMode:u,codeModeDirection:m}),(0,t.jsx)(e.CanvasAlerts,{isShowMobileSettings:X,headless:!!ie,templateNotEmAlertEnabled:!!a.templateNotEmAlertShow}),(0,t.jsxs)(o.ui_kit$Row,{ref:$e,className:(0,R.default)("email-pane__row",{"email-pane__left":u&&m==="right","email-pane__right":u&&m==="left","email-pane__bottom":u&&m==="bottom","email-pane__sizeSwitcher":a.desktopMobileSwitchPanel,"email-pane__reverse":a.menuDirection==="left","email-pane__pinch":!a.sidePanelFloating}),children:[(0,t.jsxs)(e.CanvasColumn,{isCodeMode:u,codeModeDirection:m,sidePanelFloating:a.sidePanelFloating,contentWrapperRef:gi,children:[(0,t.jsx)("div",{className:"email-pane__iframe-scroll-top",id:"iframe-scroll-top"}),a.desktopMobileSwitchPanel&&(0,t.jsxs)(o.ui_kit$Space,{className:"email-pane__sizes-panel-wrapper",orientation:"vertical",size:10,children:[(0,t.jsxs)(o.ui_kit$Space,{className:"email-pane__sizes-panel",size:0,children:[Ls("panel"),(0,t.jsx)(o.ui_kit$Tooltip,{title:d("Desktop view"),placement:"top",open:ei,children:(0,t.jsx)(o.ui_kit$Button,{type:X?"text":"primary",icon:(0,t.jsx)(e.EmIcons,{icon:"DesktopOutlined",component:o.icons$DesktopOutlined,size:18,strokeWidth:a.iconStrokeWidth}),shape:"circle",onClick:()=>Yt(a.emailPaneDesktopSize||1e3),className:"toggle_view desktop_view"})}),(0,t.jsx)(o.ui_kit$Tooltip,{title:d("Mobile view"),placement:"top",open:si,children:(0,t.jsx)(o.ui_kit$Button,{type:X?"primary":"text",icon:(0,t.jsx)(e.EmIcons,{icon:"MobileOutlined",component:o.icons$MobileOutlined,size:18,strokeWidth:a.iconStrokeWidth}),shape:"circle",onClick:()=>Yt(425),className:"toggle_view mobile_view"})})]}),a.codeSideEnabled&&(0,t.jsx)(o.ui_kit$Tooltip,{title:d("Code mode"),placement:"right",children:(0,t.jsx)(o.ui_kit$Button,{type:u?"primary":"default",icon:(0,t.jsx)(e.EmIcons,{icon:"Code",component:o.icons$Code}),shape:"circle",onClick:()=>Ci("right")})})]}),(0,t.jsxs)(o.ui_kit$Row,{className:(0,R.default)("email-pane__col-wrapper",{container:u&&m==="bottom"||!u,"email-pane__col-wrapper_reverse":a.menuDirection==="left","email-pane__col-wrapper_pinch":!a.sidePanelFloating}),style:{flexGrow:1,maxWidth:"unset",paddingTop:a.desktopMobileSwitchPanel&&u&&m!=="bottom"?"60px":""},children:[(0,t.jsxs)(o.ui_kit$Col,{className:"email-pane__col email-pane__col_preview",style:{flexGrow:1,maxWidth:"unset"},ref:a.sidePanelFloating?null:Ie,children:[a.desktopMobileSwitchRule&&(0,t.jsx)(e.WidthRuler,{onSelectWidth:Yt,themeToggle:Ls("rule")}),(0,t.jsxs)(e.ResizableArea,{maxPaneWidth:1200,isCodeMode:u,codeModeDirection:m,isShowMobileSettings:X,desktopMobileSwitchPanel:a.desktopMobileSwitchPanel,children:[(0,t.jsx)("div",{className:"email-pane__handle left",onMouseDown:Ps("left"),onMouseEnter:()=>ft("left"),onMouseLeave:ft}),(0,t.jsx)("div",{className:"email-pane__handle right",onMouseDown:Ps("right"),onMouseEnter:()=>ft("right"),onMouseLeave:ft}),(0,t.jsx)(e.CanvasWrapper,{wrapperRef:Le,children:(0,t.jsx)(zs,{ref:jt,className:"email-pane__iframe",email:c,surface:U,handlerSendPosition:Q,clip:_i})})]})]}),(0,t.jsx)(o.ui_kit$Col,{style:{display:u&&m!=="bottom"||a.disableSideMenu?"none":"initial"},ref:_t,onPointerEnter:Ms,className:(0,R.default)("email-pane__content-col email-pane__content-col_menu email-pane__content-col_tabs email-pane__col email-pane__col_settings",{"email-pane__col_disabled":h===e.DISABLED_TAB}),children:(!u||m==="bottom")&&fe&&(0,t.jsx)(o.ui_kit$Tabs,{className:(0,R.default)("email-pane__col_settings-inner",{"email-pane__col_settings-inner_reverse":a.menuDirection==="left"}),size:"medium",activeKey:h,onTabClick:bi,renderTabBar:js,tabPlacement:"right",items:se,tabBarExtraContent:Zs&&(0,t.jsx)("div",{style:{paddingTop:15,textAlign:"center"},children:I?(0,t.jsx)(o.ui_kit$Switch,{variant:"editorMode",checkedChildren:"Pro",unCheckedChildren:"Pro",onChange:bs,checked:ci}):(0,t.jsx)(o.ui_kit$Switch,{variant:"editorMode",checkedChildren:"Pro",unCheckedChildren:"Pro",onChange:bs,defaultChecked:ri})})})})]}),(0,t.jsx)("div",{className:"email-pane__iframe-scroll-bottom",id:"iframe-scroll-bottom"})]}),(0,t.jsxs)(e.CodeColumn,{isCodeMode:u,codeModeDirection:m,children:[(0,t.jsx)("div",{className:"email-pane__code-divider",onMouseDown:Li}),(0,t.jsx)("div",{className:"code-mode__pane code-mode__pane_editor email-pane__pane email-pane__pane_editor",children:(0,t.jsx)("div",{className:"code-mode__pane-content email-pane__pane-content",children:j&&fe&&(0,t.jsx)($s,{email:c,setOtherUsers:ot,readOnly:Xe,newEmailAiGeneratorRef:os})})})]})]}),Ne&&(0,t.jsxs)("div",{className:"email-pane__paths",children:[a.pathEnabled&&(0,t.jsx)(e.ElementPath,{elementPath:wt}),(0,t.jsx)(e.PluginButtons,{items:P,buttonType:"text",size:"small",wrapperClassName:"plugin-location__bar"}),a.pathEnabled&&(0,t.jsx)(e.EmailCodeSizeBadge,{fallbackHtml:c?.html}),(0,t.jsx)(e.PluginButtons,{items:yt,buttonType:"text",size:"small",wrapperClassName:"plugin-location__bar"})]}),(0,t.jsx)("div",{className:"collaborator-list",children:(0,t.jsx)(e.CollaboratorList,{users:z,isEditor:!1,isPlugin:!0,token:ue})})]}),(0,t.jsx)(e.HiddenImageProperties,{isCodeMode:u,codeModeDirection:m,email:c,onClosePanel:ns}),(0,t.jsx)(e.FileManagerLazy,{}),(0,t.jsx)(e.PlanUpgradePrompt,{open:q,onCancel:Ei,onTrialActivated:Si,initialSlide:oi}),lt&&te.exceeded?(0,t.jsx)(i.Suspense,{fallback:null,children:(0,t.jsx)(e.LimitUpgradeModalLazy,{open:ni,onClose:ai,title:d(lt.titleKey),subtitle:d(lt.subtitleKey),usageResource:lt.usageResource,previousDisplay:e.presetLimitDisplay(te.exceeded.previousLimit),nextDisplay:e.presetLimitDisplay(te.exceeded.nextLimit),onChangePlan:li})}):null,(0,t.jsx)(e.BrowserExtensionWarningModal,{open:E,onClose:L}),(0,t.jsx)(e.BrowserTranslateWarningModal,{open:Pt,onClose:Qs})]})})};Zt.propTypes={};var Xs=c=>(0,t.jsx)(e.SelectionProvider,{children:(0,t.jsx)(e.GeometryProvider,{children:(0,t.jsx)(e.CanvasAlertsProvider,{children:(0,t.jsx)(Zt,{...c})})})}),qs=(0,i.memo)(Xs),Jt=e.getLimitUpgradePresetDefinition("preview_exceeded"),es=({emailElement:c,isCollaborationEditor:V})=>{const{__:_}=e.useI18n(),D=e.useDispatch(),Me=e.useCodeModeActions(),Oe=e.useOpenPlanCatalog(),Fe=e.useSendPostMessage(),{blockId:G}=e.useRouteParams(),d=e.useRouteEmailId(),J=e.useSelector(e.selectActiveModal$1)===e.MODALS.SEND_TEST_EMAIL,b=e.useMountOnFirstOpen(J),[k,T]=(0,i.useState)(!1),[v,r]=e.useSendLivePreviewMutation();e.useCurrentUser();const M=e.useDocumentHistoryReader(),Ye=e.useProjectPlanLimitPreflight(),{owner:Et}=e.useMyRoles(),a=e.useUserUndo(),Xe=e.useDocumentUndoState(),St=e.useContentReader(),ie=e.useSelector(e.selectIsPanelHistoryCollapsed),C=e.useSelector(e.selectIsCodeMode),fe=e.useSelector(e.selectCodeModeDirection),{token:ue}=(0,o.ui_kit$useToken)(),x=e.useNotification(),p=e.useAppConfig(),y=e.usePluginMenuItems("menu:view"),qe=e.usePluginItems("toolbar","view"),bt=qe.length>0,h=(0,i.useMemo)(()=>({items:e.menuGroups(y,e.CORE_LOCATIONS["menu:view"].groups)}),[y]),O=e.useEditorLocked(),P=c.hasOwnProperty("type")?e.BLOCK:e.EMAIL,yt=e.useEventEmitter(Ae.events.ON_SHARE_ID),Ne=e.useEventEmitter(Ae.events.ON_SHOW_PREVIEW_ID),[Ee,B]=(0,i.useState)(!1),[Qe,oe]=(0,i.useState)(0),[ee,ne]=(0,i.useState)(!1),kt=e.useMountOnFirstOpen(ee),[Se,Ze]=(0,i.useState)(Jt),[Je,ae]=(0,i.useState)(_("—")),et=(0,i.useCallback)(()=>{ne(!1),Oe()},[Oe]),[me,K]=(0,i.useState)(!1),le=e.useProjectData(),ce=e.usePlanFeatureGate("version_history"),be=e.usePlanFeatureGate("code_editor"),Re=e.usePlanFeatureGate("preview_service"),W=e.usePlanFeatureGate("undo_redo"),u=e.isEditorLockedByPlan(le,{isPlugin:!0}),m=e.usePushToDataLayer(),j=c?.project,F=(0,i.useMemo)(()=>e.wpEmailTarget(c,le?.id),[c,le?.id]),N=(0,i.useMemo)(()=>P==="email"?e.v2PublicLinkTarget(c,e.isEmailsV2Enabled()):void 0,[c,P]),Y=e.isEmailsV2Enabled()&&P==="email"?void 0:F,re=(0,i.useCallback)(()=>{x.warning({title:_(P==="block"?"This block has no public link yet.":"This email has no public link yet.")})},[x,_,P]),ye=E=>{const L=P==="block"?"block":"email";typeof E=="string"?(Me.setDirection(E),!C&&Me.toggle()):Me.toggle(),m({event:"activate",action:"activate_code_mode",entity_type:L,entity_id:c?.id||d||G,project_id:c?.project||j}),setTimeout(()=>{D(P==="block"?e.setElementSettings({type:null}):e.setElementSettings$1({type:null}))},300),Fe({operation:e.EVENT_TYPES.SANDBOX_ELEMENT_ACTIVE_RESET}),be.isLocked&&(B(!0),oe(e.FEATURE_UPSELL_SLIDE.code_editor))},ke=(0,i.useCallback)(async E=>!0,[Ye]),tt=(0,i.useCallback)(()=>ne(!1),[]),X=async()=>{if(u){B(!0),oe(8);return}await ke("test_sends")&&(D(e.openModal$1(e.MODALS.SEND_TEST_EMAIL)),m({event:"open",action:"open_test_email_modal",entity_type:P==="block"?"block":"email",entity_id:c?.id||d||G,project_id:c?.project||j}))},De=()=>{B(!0),oe(e.FEATURE_UPSELL_SLIDE.undo_redo)},Tt=()=>{a.undo()},Te=()=>{a.redo()},vt=async()=>{const E=(await yt.fire({project:j,id:d})).find(L=>L===!1||typeof L=="string");if(E!==!1){if(!E&&!N&&!Y){re();return}navigator.clipboard.writeText(E||(N?e.buildEmailRawKeyUrl(N.emailId,N.key):e.buildEmailRawShareUrl(Y.emailId,Y.projectId))).then(()=>{x.success(_("A shareable link to this page has been copied to the clipboard.")),m({event:"click",action:"share_email",entity_type:P==="block"?"block":"email",entity_id:c?.id||d||G,project_id:c?.project||j})})}},ve=async()=>{if(!k){if(!await ke("preview"))return;const E=F?.projectId??le?.id??c.project,L={email:e.isEmailsV2Enabled()&&F?String(F.emailId):d,subject:encodeURIComponent("#"+E+" "+c.title).replaceAll(/%20/gi,"+").replaceAll(/%0A/gi,"%0D%0A"),content:encodeURIComponent(St()).replaceAll(/%20/gi,"+").replaceAll(/%0A/gi,"%0D%0A")};v(L),T(!0),m({event:"click",action:"open_email_inbox_tests",entity_type:P==="block"?"block":"email",entity_id:c?.id||d||G,project_id:c?.project||j})}},st=(0,i.useCallback)(async()=>{await ke("preview")&&(Ze(Jt),ae(_("—")),ne(!0))},[_,ke]);(0,i.useEffect)(()=>{r.isError&&(x.error(r),T(!1))},[r]),(0,i.useEffect)(()=>{if(r.isSuccess&&k){if(r.data?.status===401)x.error({title:r.data.code,description:r.data.message});else if(r.data){let E=document.createElement("A");E.setAttribute("target","_blank"),E.setAttribute("href",r.data.message),E.click()}T(!1)}},[r,k,x]);const[it,we]=(0,i.useState)(!1),$=()=>{Fe({operation:e.EVENT_TYPES.SANDBOX_LOCK_EDIT,data:ie}),D(e.switchIsPanelHistoryCollapsed(!ie))},Be=()=>M(c?.id),wt=()=>{ie?(we(!0),Be().then(E=>{if(E.isStale){we(!1);return}if(E.isSuccess)E.data.data.length;else if(E.isError){if(E.error instanceof e.HistoryLockedByPlanError){x.error({title:_("No history records available.")}),we(!1),ce.isLocked&&(B(!0),oe(e.FEATURE_UPSELL_SLIDE.version_history));return}x.error(E)}$(),D(e.setActiveSettingsTab(e.HISTORY)),we(!1),m({event:"open",action:"open_version_control",entity_type:P==="block"?"block":"email",entity_id:c?.id||d||G,project_id:c?.project||j}),ce.isLocked&&(B(!0),oe(e.FEATURE_UPSELL_SLIDE.version_history))})):(D(e.resetToLastActiveSettingsTab()),$())},Pe=()=>{ie||($(),D(e.resetToLastActiveSettingsTab())),C&&Me.toggle(),B(!1)};let z=[];const ot=(0,i.useCallback)(async()=>{const E=await Ne.fire({project:j,id:d});if(E.find(L=>L===!1||typeof L=="string")!==!1){const L=E.find(Pt=>Pt);if(!L&&!N&&!Y){re();return}window.open(L||(N?e.buildEmailRawKeyPath(N.emailId,N.key):e.buildEmailRawSharePath(Y.emailId,Y.projectId))),m({event:"click",action:"open_email_preview",entity_type:P==="block"?"block":"email",entity_id:c?.id||d||G,project_id:c?.project||j})}},[Ne,j,d,N,Y,re,m,P,c,G]),nt=(0,i.useCallback)(async()=>{if(!F){re();return}window.open(e.buildGetElementPreviewPath(e.EMAIL,F.emailId,F.projectId)),m({event:"click",action:"open_web_version",entity_type:P==="block"?"block":"email",entity_id:c?.id||d||G,project_id:c?.project||j})},[j,d,F,re,m,P,c,G]);p.previewModeEnabled&&z.push({key:"Preview_mode",icon:(0,t.jsx)(e.EmIcons,{icon:"EyeOutlined",component:o.icons$EyeOutlined,size:18,strokeWidth:p.iconStrokeWidth}),label:_("Preview mode"),onClick:ot}),p.livePreviewEnabled&&z.push({key:"Live_preview",icon:k?(0,t.jsx)(e.EmIcons,{icon:"LoadingOutlined",component:o.icons$LoadingOutlined,style:{fontSize:16}}):(0,t.jsx)(e.EmIcons,{icon:"CheckCircleVerified",component:o.icons$CheckCircleVerified,size:18,strokeWidth:p.iconStrokeWidth}),label:_("Live preview"),onClick:u&&Et?st:ve}),p.webversionEnabled&&z.push({key:"Web version",icon:(0,t.jsx)(e.EmIcons,{icon:"Web",component:o.icons$Web,size:18,strokeWidth:p.iconStrokeWidth}),label:_("Web version"),onClick:nt}),z.push(...e.menuGroup(y,"preview"),...e.menuGroup(y,"plugins")),p.sharePreviewEnabled&&z.push({key:"Share",icon:(0,t.jsx)(e.EmIcons,{icon:"ShareAltOutlined",component:o.icons$ShareAltOutlined,size:18,strokeWidth:p.iconStrokeWidth}),label:_("Share"),onClick:vt,className:"em-analytics__email-share"}),z.push(...e.menuGroup(y,"share"));const at=[{key:"Left_mode",icon:(0,t.jsx)(e.EmIcons,{icon:"PanelLeft",component:o.icons$PanelLeft,size:18,strokeWidth:p.iconStrokeWidth,style:{color:fe==="left"&&C?ue.colorPrimary:"inherit"}}),label:_("Left Code panel"),onClick:()=>ye("left")},{key:"Right_mode",icon:(0,t.jsx)(e.EmIcons,{icon:"PanelLeft",component:o.icons$PanelLeft,size:18,strokeWidth:p.iconStrokeWidth,style:{transform:"rotate(180deg)",color:fe==="right"&&C?ue.colorPrimary:"inherit"}}),label:_("Right Code panel"),onClick:()=>ye("right")},{key:"Bottom_mode",icon:(0,t.jsx)(e.EmIcons,{icon:"PanelLeft",component:o.icons$PanelLeft,size:18,strokeWidth:p.iconStrokeWidth,style:{transform:"rotate(-90deg)",color:fe==="bottom"&&C?ue.colorPrimary:"inherit"}}),label:_("Bottom Code panel"),onClick:()=>ye("bottom")}];return(0,t.jsxs)("div",{className:"email-preview-menu email-preview-menu_new",children:[(0,t.jsxs)(o.ui_kit$Space,{size:32,children:[(0,t.jsxs)(o.ui_kit$Space,{className:"email-preview-menu__versions",size:8,style:{borderRadius:`calc(${e.emCssVar("borderRadius")} * 1px)`},children:[(0,t.jsx)(o.ui_kit$Tooltip,{title:_(V?e.COLLABORATION_EDITOR_WARNING_TEXT:O?"Read only":"Undo (Ctrl+Z)"),placement:"bottom",children:(0,t.jsx)(o.ui_kit$Button,{type:"text",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.EmIcons,{icon:"UndoOutlined",component:o.icons$UndoOutlined,size:22,strokeWidth:p.iconStrokeWidth}),W.isLocked&&(0,t.jsx)(e.EmIcons,{icon:"Lock",component:o.icons$Lock,size:14,strokeWidth:p.iconStrokeWidth,className:"free-mode-firewall-icon"})]}),onClick:W.isLocked?De:Tt,disabled:O||!W.isLocked&&!Xe.canUndo})}),(0,t.jsx)(o.ui_kit$Tooltip,{title:_(V?e.COLLABORATION_EDITOR_WARNING_TEXT:O?"Read only":"Redo (Ctrl+Shift+Z)"),placement:"bottom",children:(0,t.jsx)(o.ui_kit$Button,{type:"text",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.EmIcons,{icon:"RedoOutlined",component:o.icons$RedoOutlined,size:22,strokeWidth:p.iconStrokeWidth}),W.isLocked&&(0,t.jsx)(e.EmIcons,{icon:"Lock",component:o.icons$Lock,size:14,strokeWidth:p.iconStrokeWidth,className:"free-mode-firewall-icon"})]}),onClick:W.isLocked?De:Te,disabled:O||!W.isLocked&&!Xe.canRedo})}),p.historyEnabled&&(0,t.jsx)(o.ui_kit$Tooltip,{title:_(O?"Read only":"Version history"),placement:"bottom",children:(0,t.jsx)(o.ui_kit$Button,{type:ie?"text":"primary",ghost:!ie,onClick:wt,disabled:O||!!c.isNew||it,className:"email-preview-menu__history",icon:it?(0,t.jsx)(o.ui_kit$Spin,{size:"small"}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.EmIcons,{icon:"HistoryOutlined",component:o.icons$HistoryOutlined,size:22,strokeWidth:p.iconStrokeWidth,className:"email-preview-menu__list-item-icon email-preview-menu__list-item-icon_revert"}),ce.isLocked&&(0,t.jsx)(e.EmIcons,{icon:"Lock",component:o.icons$Lock,size:14,strokeWidth:p.iconStrokeWidth,className:"free-mode-firewall-icon"})]})})})]}),(0,t.jsxs)(o.ui_kit$Space,{size:8,style:{borderRadius:`calc(${e.emCssVar("borderRadius")} * 1px)`},children:[p.codeEnabled&&(0,t.jsx)(o.ui_kit$Dropdown,{arrow:!0,placement:"bottom",menu:{items:at},trigger:"hover",mouseEnterDelay:0,className:"email-preview-menu__code",children:(0,t.jsx)(o.ui_kit$Button,{type:C?"primary":"text",ghost:C,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.EmIcons,{icon:"Code",component:o.icons$Code,size:22,strokeWidth:p.iconStrokeWidth}),be.isLocked&&(0,t.jsx)(e.EmIcons,{icon:"Lock",component:o.icons$Lock,size:14,strokeWidth:p.iconStrokeWidth,className:"free-mode-firewall-icon"})]}),onClick:ye})},"Code mode"),p.previewIconEnabled&&(Re.isLocked?(0,t.jsx)(o.ui_kit$Tooltip,{title:_("Preview mode"),placement:"bottom",children:(0,t.jsx)(o.ui_kit$Button,{type:"text",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.EmIcons,{icon:"EyeOutlined",component:o.icons$EyeOutlined,size:22,strokeWidth:p.iconStrokeWidth,className:"email-preview-menu__list-item-icon"}),(0,t.jsx)(e.EmIcons,{icon:"Lock",component:o.icons$Lock,size:14,strokeWidth:p.iconStrokeWidth,className:"free-mode-firewall-icon"})]}),onClick:()=>{B(!0),oe(e.FEATURE_UPSELL_SLIDE.preview_service)}})}):(0,t.jsx)(o.ui_kit$Dropdown,{arrow:!0,placement:"bottom",menu:{items:z},className:"email-preview-menu__preview",children:(0,t.jsx)(o.ui_kit$Button,{type:"text",target:"_blank",rel:"noreferrer",icon:(0,t.jsx)(e.EmIcons,{icon:"EyeOutlined",component:o.icons$EyeOutlined,size:22,strokeWidth:p.iconStrokeWidth,className:"email-preview-menu__list-item-icon"}),onClick:p.previewModeEnabled?ot:void 0})},"Preview")),(!p.previewIconEnabled||Re.isLocked)&&h.items.length>0&&(0,t.jsx)(o.ui_kit$Dropdown,{arrow:!0,placement:"bottom",menu:h,children:(0,t.jsx)(o.ui_kit$Button,{type:"text","aria-label":_("Preview"),icon:(0,t.jsx)(e.EmIcons,{icon:"DotsHoriz",component:o.icons$DotsHoriz,size:22,strokeWidth:p.iconStrokeWidth})})},"PluginPreview"),p.sendTestEnabled&&(0,t.jsx)(o.ui_kit$Tooltip,{title:_("Send a test email"),placement:"bottom",children:(0,t.jsx)(o.ui_kit$Button,{className:"em-analytics__email-open-test email-preview-menu__test",type:"text",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.EmIcons,{icon:"SendOutlined",component:o.icons$SendOutlined,size:22,strokeWidth:p.iconStrokeWidth,className:"email-preview-menu__list-item-icon"}),u&&(0,t.jsx)(e.EmIcons,{icon:"Lock",component:o.icons$Lock,size:14,strokeWidth:p.iconStrokeWidth,className:"free-mode-firewall-icon"})]}),onClick:X})}),bt&&(0,t.jsx)(e.PluginButtons,{items:qe,buttonType:"text"})]})]}),b&&(0,t.jsx)(i.Suspense,{fallback:null,children:(0,t.jsx)(e.SendTestEmailModalLazy,{isModalVisible:J,email:c})}),(0,t.jsx)(e.EmailConfirmationRequiredModal,{open:me,onClose:()=>K(!1)}),(0,t.jsx)(e.PlanUpgradePrompt,{open:Ee,onCancel:Pe,initialSlide:Qe}),kt&&(0,t.jsx)(i.Suspense,{fallback:null,children:(0,t.jsx)(e.LimitUpgradeModalLazy,{open:ee,onClose:tt,title:_(Se.titleKey),subtitle:_(Se.subtitleKey),usageResource:Se.usageResource,previousDisplay:Je,nextDisplay:e.presetLimitDisplay("infinity"),onChangePlan:et})})]})};es.propTypes={},Object.defineProperty(qt,"EmailPane_default",{enumerable:!0,get:function(){return qs}}),Object.defineProperty(qt,"EmailPreviewMenu",{enumerable:!0,get:function(){return es}})});
824
+
825
+ __emailmaker__.define("static/core/f7a36b67.js",["require","exports","module","static/core/ee980948.js","static/core/281afc68.js"],function(P,b,rt){const $=P("./ee980948.js"),l=P("./281afc68.js");var H=/url(?:\((['|"]?))(.*?\.(png|jpg|gif|jpeg|tiff){1})(?:['|"]?\))/gi;function v(t){return t.arrayBuffer().then(e=>{const i=new Uint8Array(e);let n="";for(let r=0;r<i.length;r++)n+=String.fromCharCode(i[r]);return btoa(n)})}function I(t,e=76){if(t=t.replace(/[\r\n\s]/g,""),!t)return t;const i=[];for(let n=0;n<t.length;n+=e)i.push(t.slice(n,n+e));return i.join(`
826
+ `)}function T(t){return t.replaceAll(/[\\\/:*?"<>|]/g,"_")}async function C(t,e,i,n,r,s,c){const a=[];s&&(s.attachments=a);let u="";typeof r=="function"?u=await U(e,i,n,r,s,c):u=(await l.PromiseAllCatched(Object.keys(r).map(async m=>`\r
827
+ --boundary-string\r
828
+ Content-Type: ${m}\r
829
+ \r
830
+ ${await U(e,i,n,r[m],s,c)}\r
831
+ \r
832
+ `))).join("")+"----boundary_string--";const g=[`Subject: ${t}`,"X-Unsent: 1","MIME-Version: 1.0"];if(a.length>0){let m=`\r
833
+ --boundary-related\r
834
+ Content-Type: ${typeof r=="function"?"text/html; charset=utf-8":'multipart/alternative; boundary="boundary-string"'}\r
835
+ \r
836
+ ${u}\r
837
+ `;for(const o of a)m+=`\r
838
+ --boundary-related\r
839
+ Content-Type: ${o.mimeType}\r
840
+ Content-Transfer-Encoding: base64\r
841
+ Content-ID: <${o.cid}>\r
842
+ \r
843
+ ${o.base64}\r
844
+ `;m+=`\r
845
+ --boundary-related--\r
846
+ `,u=m,g.push('Content-Type: multipart/related; boundary="boundary-related"')}else g.push(`Content-Type: ${typeof r=="function"?"text/html; charset=utf-8":'multipart/alternative; boundary="boundary-string"'}`);return`${g.join(`\r
847
+ `)}\r
848
+ \r
849
+ ${u}`}function R(t,e=!0){const i=l.decodeFileNameFromPath(t);return e?T(i):i}function W(t){return!(t.length>8||t.length<1||/[^\x00-\x7F]/.test(t)||/[\\\/:*?"<>|&=%]/.test(t)||!/[a-zA-Z]/.test(t)||/^\d+$/.test(t))}function j(t){const e=l.decodeFileNameFromPath(t),i=e.lastIndexOf("."),n=e.slice(i+1);return i===-1||!W(n)?[T(e),""]:[T(e.slice(0,i)),n]}function q(t){return O(t).then(e=>_(e))}async function D(t,e,i,n){t=l.mapper.getEscapedText(t);const r=l.createIFrame(t,i);try{const s=r.document,c=s.querySelectorAll("tbody");for(const a of c)a.replaceWith(...a.childNodes);s.querySelectorAll("em-replace").forEach(a=>{if(a.hasAttribute("text")&&(a.insertAdjacentHTML("beforebegin",a.getAttribute("text")),a.parentNode.removeChild(a)),a.hasAttribute("src")){const u=a.querySelector("img, amp-img");u?(u.setAttribute("src",a.getAttribute("src")),a.replaceWith(u)):a.replaceWith(...a.childNodes)}});try{await e(r,t)}catch{}t=await r.run()}catch(s){throw s}return l.mapper.getUnescapedText(t,!1,n)}function M(t,e,i){try{if(typeof i=="function"){const n=[];return String.prototype.replace.call(t,e,function(){return n.push(i.apply(void 0,arguments)),""}),l.PromiseAllCatched(n).then(function(r){return String.prototype.replace.call(t,e,function(){return r.shift()})})}else return Promise.resolve(String.prototype.replace.call(t,e,i))}catch(n){return Promise.reject(n)}}async function G(t,e,i=new Map,n){const r=o=>{let p=i.get(o);return p||(p=e(o),i.set(o,p)),p instanceof Promise?p:Promise.resolve(p)};function s(o){return M(o,H,async(p,f="",d)=>`url(${f}${await r(d)}${f})`)}async function c(o){const p=o.getAttribute("style");if(p){const f=await s(p);p!==f&&(o.setAttribute("style",f),n&&n())}}const a=t instanceof Document?t:t.ownerDocument;if(!a)return l.PromiseAllCatched([]);const u=t instanceof Document?t.body??t.documentElement??t:t;if(!u)return l.PromiseAllCatched([]);const g=a.createNodeIterator(u,NodeFilter.SHOW_ALL),m=[];for(;;){const o=g.nextNode();if(o===null)break;if(l.isElement(o)){m.push(c(o));const p=o.getAttribute("background");if(p&&m.push(r(p).then(f=>{o.setAttribute("background",f||p),n&&n()})),l.isImageElement(o)||l.isAMPImageElement(o)){const f=o.getAttribute("src"),d=f&&l.mapper.hasDetectedMappings(f,!0,!0)?f:("src"in o?o.src:"")||f;d&&m.push(r(d).then(y=>{y||(y=d),o.setAttribute("src",y),n&&n()}))}if(l.isStyleElement(o)){const f=o.innerHTML;f&&m.push(s(f).then(d=>{d!==f&&(o.innerHTML=d,n&&n())}))}}else if(l.isComment(o)){const p=l.getConditionalComment(o),f=p?.content;f&&m.push(M(f,/<v:fill.*>/gi,async d=>M(await M(d,/src="([^"]*)"/gi,async(y,h)=>`src="${await r(h)||h}"`),/src='([^']*)'/gi,async(y,h)=>`src='${await r(h)||h}'`)).then(d=>{f!==d&&(o.replaceWith(l.parseFromString(`${p.open}${d}${p.close}`)[0]),n&&n())}))}}return l.PromiseAllCatched(m)}async function N(t,e,i=new Map,n){await G(t,e,i,n)}var it=800;function Z(t){const e=new Map;let i=0;for(;i>=0;)if(i=t.indexOf("<!--",i),i>=0){const n=t.indexOf("-->",i);e.set(t.substring(i,n+3),$.generateUUID()),i=n}return e}function X(t){return!!t&&l.mapper.hasDetectedMappings(t,!0,!0)}function F(t,e){const i=t.indexOf("#"),n=i>=0?t.substring(i+1):"";let r=i>=0?t.substring(0,i):t;const s=r.indexOf("?"),c=s>=0?r.substring(s+1):"";r=s>=0?r.substring(0,s):r;const a=new Map(c.split("&").filter(g=>g.indexOf("=")>=0).map(g=>g.split("=")));let u=c;if(e)for(const g of Object.keys(e))e[g]&&!a.has(g)&&(u=u+(u?"&":"")+`${g}=${e[g]}`);return u===c?t:r+(u?`?${u}`:"")+(n?`#${n}`:"")}function z(t){const e=l.mapper.getDetectedMappings(t,!0,!0).slice().sort((s,c)=>c.range.start-s.range.start),i=[],n=[];let r=t;for(const{range:s}of e){const c=t.substring(s.start,s.end),a=`EMMVAR${$.generateUUID().replace(/-/g,"")}EMMVAR`;i.push(a),n.push({token:a,original:c}),r=r.slice(0,s.start)+a+r.slice(s.end)}return{masked:r,tokens:i,restore:s=>n.reduce((c,{token:a,original:u})=>c.split(a).join(u),s)}}function V(t,e,i,n){if(!/^https?:\/\//i.test(e.trimStart()))return;const{masked:r,tokens:s,restore:c}=z(e),a=r.replace(/^https?:\/\//i,""),u=a.search(/[/?#]/),g=u===-1?a:a.slice(0,u);if(!s.some(p=>g.includes(p))&&t.host===document.location.host)return;const m=F(r,i);if(m===r)return;const o=c(m);o!==e&&(t.setAttribute("href",o),n&&n())}function S(t,e,i){const n=t.getAttribute("href");if(X(n)){V(t,n,e,i);return}let r=t.href;if(r=l.toAbsoluteUrl(r),r&&t.protocol.startsWith("http")){const s=Z(r);if(s.forEach((c,a)=>{r=r.replaceAll(a,c)}),t.host!==document.location.host){const c=F(r,e);c!==r&&(r=c,s.forEach((a,u)=>{r=r.replaceAll(a,u)}),t.setAttribute("href",r),i&&i())}}}async function Q(t,e,i,n,r){let[s,c]=e||[800];return typeof s=="number"&&(s=s+"px"),typeof c=="number"&&(c=c+"px"),t=await D(t,async a=>{const u=a.document;await N(u,m=>l.mapper.getEscapedText(m)!==m?m:l.toAbsoluteUrl(m));const g=u.querySelectorAll("a");for(const m of g)S(m,i);if(n)return n(a)},[s,c],r),t}async function U(t,e,i,n,r,s){let[c,a]=e||[800];return typeof c=="number"&&(c=c+"px"),typeof a=="number"&&(a=a+"px"),t=await D(t,async u=>{const g=u.document;if(await N(g,m=>l.mapper.getEscapedText(m)!==m?m:l.toAbsoluteUrl(m)),u.handleRender(async({contentDocument:m,managedNodeController:o})=>{const p=m.querySelectorAll("*");for(const f of p)if(l.isImageElement(f)){const d=await l.getComputedStyleAsync(f);if(d){const y=parseInt(d.height),h=parseInt(d.width);isNaN(y)||f.setAttribute("height",String(y)),!isNaN(h)&&!f.getAttribute("width")&&f.setAttribute("width",String(h))}o.commit()}else if(l.isTableElement(f)){const d=parseInt(getComputedStyle(f).width);!isNaN(d)&&f.parentElement.tagName!=="BODY"&&f.setAttribute("width",String(d)),o.commit()}else f.tagName==="TD"||f.tagName==="A"&&S(f,i,()=>o.commit())}),r?.embedImagesAsBase64&&r.getImageBlob){const m=r.getImageBlob,o=r.attachments||[];u.handleReadHtml(async p=>{const f=new DOMParser().parseFromString(p.html,"text/html"),d=f.body??f.documentElement;if(!d)return;await N(d,async h=>{if(l.mapper.getEscapedText(h)!==h)return h;const w=h.trim();if(!w||/^cid:/i.test(w))return h;if(w.startsWith("data:")){const A=/^data:([^;]+);base64,(.+)$/i.exec(w);if(A){const E=`img-${$.generateUUID()}@emailmaker`;return o.push({cid:E,mimeType:A[1]||"application/octet-stream",base64:I(A[2])}),`cid:${E}`}return h}const x=l.toAbsoluteUrl(h);if(x.startsWith("data:")){const A=/^data:([^;]+);base64,(.+)$/i.exec(x);if(A){const E=`img-${$.generateUUID()}@emailmaker`;return o.push({cid:E,mimeType:A[1]||"application/octet-stream",base64:I(A[2])}),`cid:${E}`}return x}try{const A=await m(x),E=`img-${$.generateUUID()}@emailmaker`,L=await v(A);return o.push({cid:E,mimeType:A.type||"application/octet-stream",base64:I(L)}),`cid:${E}`}catch{return x}});const y=f.documentElement;p.html=y?l.getOuterHtml(y):p.html})}if(n)return n(u)},[c,a],s),t=t.replaceAll(/<tbody>/gi,"").replaceAll(/<\/tbody>/gi,""),t}var Y="images",J=40;function K(){const t=new Date;return`${t.toISOString().slice(2,10).replace(/-/g,"").concat("_",t.toTimeString().slice(0,5).replace(/:/g,""))}_${Array.from({length:8},()=>"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(Math.random()*62))).join("")}`}async function k(t,e,i,n=q,r,s){const c=Object.create(null);let[a,u]=e||[800];typeof a=="number"&&(a=a+"px"),typeof u=="number"&&(u=u+"px");const g=new Set,m=await D(t,async o=>{const p=o.document;await N(p,async d=>{l.mapper.getEscapedText(d)===d&&(d=l.toAbsoluteUrl(d));const y=await n(d);let[h,w]=j(d);if(h.length>J&&(h=K()),!w||!await l.getMimeType(w))try{w=await l.getMimeExtension(y.type)??w}catch{}let x=`${h}.${w}`,A=1;for(;g.has(x);)x=`${h}(${++A}).${w}`;g.add(x);const E=`${Y}/${x}`;return c[E]=y,E});const f=p.querySelectorAll("a");for(const d of f)S(d,i);if(r)return r(o)},[a,u],s);return c["index.html"]=new Blob([m],{type:"text/html;charset=utf-8"}),c}function tt(t){return l.createZip(t)}function O(t){const e=new Image;return e.crossOrigin="anonymous",new Promise((i,n)=>{e.onload=()=>i(e),e.onerror=n,e.src=t})}function _(t,e="image/png",i){const n=document.createElement("canvas");return n.width=t.width,n.height=t.height,n.getContext("2d").drawImage(t,0,0),new Promise((r,s)=>n.toBlob(c=>c?r(c):s("blob is null"),e,Number(i)||0))}function et(t,e){do{if(t===e)return!0;t=t.parentNode}while(t);return!1}function B(t){const e=t.ownerDocument?.body;if(e&&et(t,e)){if(l.isElement(t)&&(t.tagName==="IMG"||t.tagName==="SPAN"&&t.classList.contains("preheader")))return"";if(t.nodeName==="#text")return t.textContent}return t.childNodes?[...t.childNodes].map(B).join(""):""}function nt(t){const{document:e}=l.createIFrame(t);try{return B(e).replace(/\u2800/g,"").replace(/(\r\n|\r|\n){2,}/g,`
850
+ `).trim()}catch{return""}}Object.defineProperty(b,"changeHtml",{enumerable:!0,get:function(){return D}}),Object.defineProperty(b,"extractDocumentTextContent",{enumerable:!0,get:function(){return nt}}),Object.defineProperty(b,"getEML",{enumerable:!0,get:function(){return C}}),Object.defineProperty(b,"getFileNameAndExt",{enumerable:!0,get:function(){return j}}),Object.defineProperty(b,"getFileNameWithExt",{enumerable:!0,get:function(){return R}}),Object.defineProperty(b,"getImageByUrl",{enumerable:!0,get:function(){return O}}),Object.defineProperty(b,"htmlFilesToZip",{enumerable:!0,get:function(){return tt}}),Object.defineProperty(b,"htmlToFilesData",{enumerable:!0,get:function(){return k}}),Object.defineProperty(b,"imageToBlob",{enumerable:!0,get:function(){return _}}),Object.defineProperty(b,"prepareHTML",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(b,"replaceImagesInDocument",{enumerable:!0,get:function(){return N}}),Object.defineProperty(b,"sanitizeFileName",{enumerable:!0,get:function(){return T}})});
851
+
852
+ (function(){try{if(typeof document<"u"){var t='html,body{width:100%;height:100%}.blocks-app input::-ms-clear{display:none}.blocks-app input::-ms-reveal{display:none}.blocks-app *,.blocks-app :before,.blocks-app :after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:#0000;font-family:sans-serif;line-height:1.15}.blocks-app [tabindex="-1"]:focus{outline:none}.blocks-app hr{box-sizing:content-box;height:0;overflow:visible}.blocks-app h1,.blocks-app h2,.blocks-app h3,.blocks-app h4,.blocks-app h5,.blocks-app h6{margin-top:0;margin-bottom:.5em;font-weight:500}.blocks-app p{margin-top:0;margin-bottom:1em}.blocks-app abbr[title],.blocks-app abbr[data-original-title]{cursor:help;border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.blocks-app address{font-style:normal;line-height:inherit;margin-bottom:1em}.blocks-app input[type=text],.blocks-app input[type=password],.blocks-app input[type=number],.blocks-app textarea{-webkit-appearance:none}.blocks-app ol,.blocks-app ul,.blocks-app dl{margin-top:0;margin-bottom:1em}.blocks-app ol ol,.blocks-app ul ul,.blocks-app ol ul,.blocks-app ul ol{margin-bottom:0}.blocks-app dt{font-weight:500}.blocks-app dd{margin-bottom:.5em;margin-left:0}.blocks-app blockquote{margin:0 0 1em}.blocks-app dfn{font-style:italic}.blocks-app b,.blocks-app strong{font-weight:bolder}.blocks-app small{font-size:80%}.blocks-app sub,.blocks-app sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}.blocks-app sub{bottom:-.25em}.blocks-app sup{top:-.5em}.blocks-app pre,.blocks-app code,.blocks-app kbd,.blocks-app samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}.blocks-app pre{margin-top:0;margin-bottom:1em;overflow:auto}.blocks-app figure{margin:0 0 1em}.blocks-app img{vertical-align:middle;border-style:none}.blocks-app a,.blocks-app area,.blocks-app button,.blocks-app [role=button],.blocks-app input:not([type=range]),.blocks-app label,.blocks-app select,.blocks-app summary,.blocks-app textarea{touch-action:manipulation}.blocks-app table{border-collapse:collapse}.blocks-app caption{text-align:left;caption-side:bottom;padding-top:.75em;padding-bottom:.3em}.blocks-app input,.blocks-app button,.blocks-app select,.blocks-app optgroup,.blocks-app textarea{color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;margin:0}.blocks-app button,.blocks-app input{overflow:visible}.blocks-app button,.blocks-app select{text-transform:none}.blocks-app button,html [type=button],.blocks-app [type=reset],.blocks-app [type=submit]{-webkit-appearance:button}.blocks-app button::-moz-focus-inner{border-style:none;padding:0}.blocks-app [type=button]::-moz-focus-inner{border-style:none;padding:0}.blocks-app [type=reset]::-moz-focus-inner{border-style:none;padding:0}.blocks-app [type=submit]::-moz-focus-inner{border-style:none;padding:0}.blocks-app input[type=radio],.blocks-app input[type=checkbox]{box-sizing:border-box;padding:0}.blocks-app input[type=date],.blocks-app input[type=time],.blocks-app input[type=datetime-local],.blocks-app input[type=month]{-webkit-appearance:listbox}.blocks-app textarea{resize:vertical;overflow:auto}.blocks-app fieldset{border:0;min-width:0;margin:0;padding:0}.blocks-app legend{width:100%;max-width:100%;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal;margin-bottom:.5em;padding:0;display:block}.blocks-app progress{vertical-align:baseline}.blocks-app [type=number]::-webkit-inner-spin-button{height:auto}.blocks-app [type=number]::-webkit-outer-spin-button{height:auto}.blocks-app [type=search]{outline-offset:-2px;-webkit-appearance:none}.blocks-app [type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.blocks-app [type=search]::-webkit-search-decoration{-webkit-appearance:none}.blocks-app ::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}.blocks-app output{display:inline-block}.blocks-app summary{display:list-item}.blocks-app template{display:none}.blocks-app [hidden]{display:none!important}.blocks-app .blocks-plugin{zoom:var(--em-appZoom)}.blocks-app .blocks-plugin .ant-layout-sider-children{display:none}.blocks-app *,.blocks-app ul.ai-roles-list *,.blocks-app .ai-response-variant[class*=ai-response] *,.blocks-app ul.buttons-variants [class*=ai-response]{-webkit-user-select:none;user-select:none}.codicon[class*=codicon-]{font:16px/1 codicon!important}.blocks-app .element-card__title,.blocks-app [class*=ai-response],.blocks-app [class*=ai-response] *,.blocks-app .ant-comment-content-detail{-webkit-user-select:text;user-select:text}.blocks-app .code-mode__pane *{-webkit-user-select:auto;user-select:auto}.blocks-app,.blocks-app .ant-app,.blocks-app .ant-app .main,.blocks-app .ant-app .main__pane-content{height:100%}@media (width<=1300px){.blocks-app .ant-app .main{min-width:1270px}}.blocks-app .ant-app [role=button],.blocks-app .ant-app a,.blocks-app .ant-app area,.blocks-app .ant-app button,.blocks-app .ant-app input:not([type=range]),.blocks-app .ant-app label,.blocks-app .ant-app select,.blocks-app .ant-app summary,.blocks-app .ant-app textarea{touch-action:manipulation}.blocks-app .ant-app ::-webkit-scrollbar{width:10px;height:10px}.blocks-app .ant-app ::-webkit-scrollbar-corner{background:0 0}.blocks-app .ant-app ::-webkit-scrollbar-track{background:0 0}.blocks-app .ant-app ::-webkit-scrollbar-thumb{min-height:20px;box-shadow:inset 0 0 0 10px var(--em-colorFillSecondaryDarken);background-clip:content-box;border:3px solid #0000;border-radius:8px;transition:all .2s}.blocks-app .ant-app ::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 10px var(--em-colorTextDisabled)}.blocks-app .ant-app textarea::-webkit-scrollbar-track{margin:10px}.blocks-app .ant-app .ant-btn.ant-btn-icon-only .free-mode-firewall-icon,.blocks-app .ant-app .email-pane .ant-tabs-tab .free-mode-firewall-icon,.blocks-app .ant-app .free-mode-firewall-icon{background-color:var(--em-colorBgLayout);border-radius:100%;justify-content:center;display:flex;position:absolute;bottom:0;right:0}.blocks-app .ant-app .email-pane .ant-tabs-tab .free-mode-firewall-icon_emailpane{background-color:var(--em-colorBgContainer);bottom:13px;right:13px}.blocks-app .ant-app .ant-table-wrapper .ant-table{border-radius:calc(var(--em-borderRadiusXL) * 1px);overflow:hidden;background:0 0!important}.blocks-app .ant-app .ant-table-wrapper .ant-table .ant-table-thead>tr,.blocks-app .ant-app .ant-table-wrapper .ant-table .ant-table-thead>tr>th,.blocks-app .ant-app .ant-table-wrapper .ant-table .ant-table-thead>tr>td{background:0 0!important}.blocks-app .ant-app .email-pane__content-col .ant-radio-button-wrapper,.blocks-app .ant-app .email-pane__content-col .selected-td-form__button:not(.ant-btn-text),.blocks-app .ant-app .email-pane__content-col .ant-btn-default{background:var(--em-colorFillSecondary);border:1px solid #0000!important}.blocks-app .ant-app .email-pane__content-col .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){color:var(--em-colorPrimary);background:var(--em-colorFillSecondary);border-color:#0000}.blocks-app .ant-app .email-pane__content-col .selected-td-form__button{min-height:calc(var(--em-formControlHeight) * 1px);min-width:calc(var(--em-formControlHeight) * 1px);padding:0 8px;line-height:1;position:relative}.blocks-app .ant-app .email-pane__content-col .selected-td-form__button.ant-btn-icon-only .ant-btn-icon{justify-content:center;align-items:center;width:100%;height:100%;display:inline-flex}.blocks-app .ant-app .email-pane__content-col .selected-td-form__button.ant-btn-icon-only .anticon{vertical-align:0;justify-content:center;align-items:center;line-height:1;display:inline-flex}.blocks-app .ant-app .email-pane__content-col .selected-td-form__button.ghost-button:before{content:"";z-index:1;cursor:pointer;background-color:#0000;width:385px;height:50px;position:absolute;top:-9px;left:-338px}.blocks-app .ant-app .email-pane__content-col .ant-btn-default:not(:disabled,.ant-btn-disabled,.email-pane__content-col .selected-td-form__button--active):hover{background:var(--em-colorFillSecondaryDarken);color:inherit;border-color:#0000}.blocks-app .ant-app .email-pane__content-col .selected-td-form__button--active,.blocks-app .ant-app .email-pane__content-col .ant-btn-default.selected-td-form__button--active{background:var(--em-colorPrimaryBg);color:var(--em-colorPrimary);border-color:#0000}.blocks-app .ant-app .email-pane__content-col .selected-td-form__button--active:hover{background:var(--em-colorPrimaryBgHover);color:var(--em-colorPrimaryTextHover)}.blocks-app .ant-app .email-pane__content-col .ant-radio-button-wrapper,.blocks-app .ant-app .email-page .ant-btn{min-width:calc(var(--em-formControlHeight) * 1px);height:calc(var(--em-formControlHeight) * 1px);line-height:calc((var(--em-formControlHeight) - 2) * 1px);text-align:center;padding:0 9px}.blocks-app .ant-app .email-pane__content-col .ant-radio-button-wrapper{justify-content:center;align-items:center;padding:0 7px;display:flex}.blocks-app .ant-app .email-pane__content-col .ant-radio-button-wrapper>span{display:inline-flex}.blocks-app .ant-app .ant-btn.ant-btn-icon-only.project-page__add-folder{margin-top:26px}.blocks-app .ant-app .email-pane__content-col .ant-radio-button-wrapper:not(.ant-radio-button-wrapper-checked):hover{color:inherit;background:var(--em-colorFillSecondaryDarken)}.blocks-app .ant-app .email-pane__content-col .ant-radio-button-wrapper.ant-radio-button-wrapper-checked{background:var(--em-colorPrimaryBg)}.blocks-app .ant-app .email-pane__content-col .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:hover{background:var(--em-colorPrimaryBgHover);color:var(--em-colorPrimaryTextHover)}.blocks-app .ant-app .email-pane__content-col .ant-form-item{margin-bottom:calc(var(--em-formItemMarginBottomMD) * 1px)}.blocks-app .ant-app .email-pane__content-col .ant-form-item.form-item-margin-xs{margin-bottom:calc(var(--em-formItemMarginBottomXS) * 1px)}.blocks-app .ant-app .selected-td-form__br-input{margin-bottom:8px!important}.blocks-app .ant-app .addon-text-content{font-size:11px;font-weight:600}.blocks-app .ant-app .addon-text-content--icon{align-items:center;font-size:0;line-height:0;display:inline-flex}.blocks-app .ant-app .ant-btn.ant-btn-lg.project-page__folder_menu{text-align:center;width:32px;height:32px;padding:0;line-height:32px}.blocks-app .ant-app .editor .main__pane{overflow:hidden}.blocks-app .ant-app .element-card_block.ant-card-bordered .ant-card-cover .element-card__img-wrapper{background-color:#0000;background-image:linear-gradient(45deg,#0000001a 25%,#0000 0 75%,#0000001a 0),linear-gradient(45deg,#0000001a 25%,#0000 0 75%,#0000001a 0);background-position:0 0,4px 4px;background-repeat:repeat,repeat;background-size:8px 8px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}.blocks-app .ant-app .ant-tabs-tabpane{width:100%}.blocks-app .ant-app .ant-tabs-large>.ant-tabs-nav .ant-tabs-tab{padding:18px 0}.blocks-app .ant-app .ant-tabs-content-holder{position:relative}.blocks-app .ant-app #filerobot-editor ::-webkit-scrollbar-thumb{border:none}.blocks-app .ant-app .email-pane__bottom .code-mode__pane{border-top:1px solid var(--em-colorBorder)}.blocks-app .ant-app .container{width:100%;margin:0 auto;padding:0 65px}@media (width<=1550px){.blocks-app .ant-app .container{gap:10px;padding:0 10px}}.blocks-app .ant-app .projects-page__container .container{padding-top:30px}.blocks-app .ant-app .container.email-pane__col-wrapper_pinch{padding-right:0}.blocks-app .ant-app body,.blocks-app .ant-app .ant-layout{transition:background-color .2s ease-in-out}.blocks-app .ant-app p{margin-top:0}.blocks-app .ant-app .ant-layout-content.container{padding-bottom:40px}.blocks-app .ant-app .ant-table-wrapper{width:100%}.blocks-app .ant-app .ant-table{border-radius:16px;overflow:hidden}.blocks-app .ant-app .verticalColorpicker.ant-color-picker .ant-color-picker-inner-content{width:340px}.blocks-app .ant-app .ant-color-picker .ant-color-picker-inner-content .ant-color-picker-panel .ant-color-picker-select .ant-color-picker-palette{min-height:160px}.blocks-app .ant-app .easylogic-colorpicker{border-radius:8px}.blocks-app .ant-app .easylogic-colorpicker .colorpicker-body .color{border-radius:8px 8px 0 0}.blocks-app .ant-app .ant-page-header-heading-title{max-width:700px;white-space:unset;box-shadow:none;align-items:baseline;padding:0;font-size:18px;line-height:24px}.blocks-app .ant-app .ant-page-header-heading-title.ant-typography-edit-content{overflow:unset;margin-top:0}.blocks-app .ant-app .ant-page-header-heading-title textarea{background:0 0;font-size:16px;font-weight:500;line-height:20px}.blocks-app .ant-app .ant-page-header-heading-preheader:disabled,.blocks-app .ant-app .ant-page-header-heading-title:disabled{cursor:not-allowed;-webkit-user-select:none;user-select:none;pointer-events:none}.blocks-app .ant-app .ant-menu{background:inherit}.blocks-app .ant-app .ant-page-header{background:inherit;margin-bottom:20px;padding:20px 0}@media (width<=1450px){.blocks-app .ant-app .ant-page-header{padding:10px 0}}.blocks-app .ant-app .ant-page-header-heading-left{margin:0;overflow:visible}.blocks-app .ant-app .ant-page-header-heading-extra{margin:0}.blocks-app .ant-app .ant-page-header-heading-sub-title{display:block;overflow:visible}.blocks-app .ant-app .ant-progress-inner{background-color:#fff}.blocks-app .ant-app .dark .ant-progress-inner{background-color:#ffffff14}.blocks-app .ant-app .ant-collapse>.ant-collapse-item>.ant-collapse-header{flex-direction:row-reverse}.blocks-app .ant-app .ant-tabs-tab{justify-content:center}.blocks-app .ant-app .nobr{white-space:nowrap}.blocks-app .ant-app .checkbox-horizontal .ant-row{flex-direction:row-reverse;justify-content:flex-end;align-items:center}.blocks-app .ant-app .checkbox-horizontal .ant-form-item-control{margin-right:10px;flex-grow:0!important;width:auto!important}.blocks-app .ant-app .checkbox-horizontal .ant-form-item-label{padding:0!important}.blocks-app .ant-app .ant-comment .ant-comment-nested{margin-left:24px}.blocks-app .ant-app .ant-comment .ant-comment-avatar{margin-top:-2px;margin-right:8px;position:relative}.blocks-app .ant-app .ant-comment .ant-comment-avatar img{width:24px;height:24px}.blocks-app .ant-app .ant-comment .ant-comment-inner{background:var(--em-colorBgLayout);border-radius:8px;margin-bottom:12px;padding:12px;display:flex}.blocks-app .ant-app img:not([srcset*=\\.],[src*=\\.],[src*=data\\:image]){display:none}.blocks-app .ant-app .dark .targetted-comment-item>.ant-comment-inner{background:#7030d43b}.blocks-app .ant-app .ant-tabs-top:not(.secondary-tabs_unset_scroll)>.ant-tabs-nav:before,.blocks-app .blocks-modal .ant-tabs-top:not(.secondary-tabs_unset_scroll)>.ant-tabs-nav:before{background:linear-gradient(180deg, var(--em-colorBgContainerDisabled), transparent 40%);border-top:1px solid var(--em-colorBorderSecondary);z-index:1;background-position:0 -2px;background-repeat:no-repeat;border-bottom:none;height:20px;bottom:-20px}.blocks-app .ant-app .ant-tabs-top[style*=vh]>.ant-tabs-nav:before,.blocks-app .blocks-modal .ant-tabs-top[style*=vh]>.ant-tabs-nav:before{background:0 0}.dark .blocks-app .ant-app .ant-tabs-top:not(.secondary-tabs_unset_scroll)>.ant-tabs-nav:before,.dark .blocks-app .blocks-modal .ant-tabs-top:not(.secondary-tabs_unset_scroll)>.ant-tabs-nav:before{background:linear-gradient(180deg, var(--em-colorBgBase) -100%, transparent 50%)}.blocks-app .ant-app .ant-tabs-top>.ant-tabs-nav,.blocks-app .blocks-modal .ant-tabs-top>.ant-tabs-nav{margin-bottom:20px}.blocks-app .ant-app .ant-tabs.email-pane__col_settings-inner>.ant-tabs-nav .ant-tabs-nav-operations,.blocks-app .ant-app .ant-tabs.email-pane__col_settings-inner>div>.ant-tabs-nav .ant-tabs-nav-operations,.blocks-app .blocks-modal .ant-tabs.email-pane__col_settings-inner>.ant-tabs-nav .ant-tabs-nav-operations,.blocks-app .blocks-modal .ant-tabs.email-pane__col_settings-inner>div>.ant-tabs-nav .ant-tabs-nav-operations{visibility:hidden;pointer-events:none;position:absolute}.blocks-app .transition-enter{opacity:0}.blocks-app .transition-enter-active{opacity:1;transition:opacity .3s ease-in}.blocks-app .transition-exit{opacity:1}.blocks-app .transition-exit-active{opacity:0;transition:opacity .3s ease-in}.blocks-app #carrotquest-messenger-collapsed-container{z-index:10!important}.blocks-app .carrot-messenger-frame-container{z-index:11!important}.blocks-app .default-mode__pane_editor,.blocks-app .code-mode{z-index:20}@media (height<=700px){.blocks-app .ant-color-picker-presets .ant-collapse-item:last-child{display:none}}@media only screen and (device-width<=480px),only screen and (width<=480px){.blocks-app .email-pane_only_code_mode_mobile .email-pane__row .ant-col:first-child{display:none}.blocks-app .email-pane_only_code_mode_mobile .email-pane__row .ant-col:last-child{width:100%!important}}.blocks-app .em-filemanager .uploadProgress{right:105px!important}.blocks-app.blocks-plugin{zoom:var(--em-pluginZoom,1)}body{margin:0}.blocks-app .ant-menu-submenu-placement-rightTop:before,.blocks-app .ant-menu-submenu-placement-rightTop:after{display:none!important}.blocks-app .main{overflow:hidden}.blocks-app .main__pane-layout{height:100%;min-height:100%}.blocks-app .main__pane{height:100%;transition:height .2s cubic-bezier(0,0,.2,1);position:relative}.blocks-app .main__pane_editor{z-index:2;box-shadow:0 10px 60px #2223}.blocks-app .main__pane .ant-layout-sider-trigger{flex-direction:column;justify-content:center;display:flex;overflow:hidden}.blocks-app .main__pane-trigger{box-sizing:border-box;justify-content:space-between;align-items:center;gap:8px;width:100%;min-width:0;max-width:100%;display:flex}.blocks-app .main__pane-trigger .anticon{flex-shrink:0}.blocks-app .main__pane-trigger .theme-switcher{flex:auto;min-width:0}.blocks-app .main__pane-trigger_compact{justify-content:center;gap:0}.blocks-app .main__pane-trigger .anticon-menu-unfold,.blocks-app .main__pane-trigger:hover .anticon-menu{display:none}.blocks-app .main__pane-trigger:hover .anticon-menu-unfold,.blocks-app .main__pane-trigger .anticon-menu{display:inline-flex}.blocks-app .main__panes-resizer{position:relative}.blocks-app .main__panes-resizer:before{content:"";background-color:#0000;border-bottom:2px solid #0000;width:100%;height:10px;transition:border-color .2s;position:absolute;bottom:0;left:0;right:0}.blocks-app .main__panes-resizer:hover{cursor:row-resize}.blocks-app .main__panes-resizer:hover:before{border-color:var(--em-colorPrimary)}.blocks-app .main__pane-close-btn{z-index:21;bottom:0;left:50%;transform:translate(-50%)}.blocks-app .main__pane-close-btn.ant-btn{border:0;border-radius:25px 25px 0 0;width:50px;height:25px;padding:0;position:absolute}.blocks-app .main__pane-close-btn .anticon{border-radius:50px 50px 0 0;outline:0 solid #188fff40;align-items:flex-end;height:100%;transition:all .1s cubic-bezier(0,0,.2,1)}.blocks-app .main__pane-close-btn .anticon.show-halo{outline-width:12px}.blocks-app .main__pane-close-btn .anticon.opened{align-items:flex-start;transform:rotate(180deg)}.blocks-app .main__pane-trigger .anticon.anticon-menu-fold{display:inline-flex}.blocks-app .main__pane-trigger.ant-btn{z-index:1;width:100%;height:70px;box-shadow:none;background:0 0;border:0;display:block;position:absolute;top:0;left:0;right:0}.blocks-app .main__pane-trigger.ant-btn:hover,.blocks-app .main__pane-trigger.ant-btn:focus{background:0 0}.blocks-app .main__pane-trigger.ant-btn:empty{visibility:visible;width:100%;display:block}.blocks-app .main__menu{z-index:11;height:100%;position:sticky;top:0}.blocks-app .main__menu .ant-layout-sider-children{box-sizing:border-box;max-height:100vh;overflow:hidden auto}.blocks-app .main__menu>div{border-right:1px solid;border-color:inherit}.blocks-app .main__menu:not(.ant-layout-sider-collapsed){margin-right:-180px;top:0;left:0;box-shadow:0 3px 6px -4px #0000001f,0 6px 16px #00000014,0 9px 28px 8px #0000000d}.blocks-app body.dark .main__menu:not(.ant-layout-sider-collapsed){box-shadow:0 3px 6px -4px #0000007a,0 6px 16px #00000052,0 9px 28px 8px #0003}.blocks-app .main__menu.main__menu_lock{box-shadow:none;margin-right:0}.blocks-app body.dark .main__menu.main__menu_lock{box-shadow:none}.blocks-app .main__menu *{text-overflow:unset!important}@media (width<=1400px){.blocks-app .main__menu .ant-layout-sider-zero-width-trigger{z-index:100000;top:50%;text-align:center;visibility:visible;width:20px;height:60px;font-size:16px;inset-inline-start:0;transform:translateY(-30px);box-shadow:0 1px 2px -2px #00000029,0 3px 6px #0000001f,0 5px 12px 4px #0000000f}.blocks-app .main__menu .ant-layout-sider-zero-width-trigger-right{visibility:hidden}}.blocks-app .main__content-wrapper{position:relative}@media (width<=1550px){.blocks-app .main__header{padding:0 20px 0 40px!important}}.blocks-app .ant-layout .ant-layout-sider-trigger{text-align:left;border-bottom:none;padding:0 30px}.blocks-app .ant-app .main__menu:not(.ant-layout-sider-collapsed) .ant-layout-sider-trigger{padding:0 30px}.blocks-app .ant-app .main__menu.ant-layout-sider-collapsed .ant-layout-sider-trigger{padding:0 10px}.blocks-app .ant-layout-sider-light .ant-layout-sider-trigger{background:0 0}@media (pointer:coarse) and (orientation:portrait){.blocks-app .ant-app .main__menu .ant-layout-sider-children{height:auto}.blocks-app .ant-app .main__menu .ant-layout-sider-trigger{position:static}.blocks-app .ant-app .main__menu .project-menu__bottom-stack{margin-top:32px}}.blocks-app .ant-btn.project-menu__block-button{padding:0!important}.blocks-app .code-size-warning-modal .ant-modal-container{padding:32px}.blocks-app .code-size-warning-modal__content{flex-direction:column;display:flex}.blocks-app .code-size-warning-modal__icon{color:var(--em-colorWarning);margin-bottom:16px;font-size:64px}.blocks-app .code-size-warning-modal__icon .anticon{display:block}.blocks-app .code-size-warning-modal__title{color:var(--em-colorText);margin:0 0 12px;font-size:18px;font-weight:600}.blocks-app .code-size-warning-modal__message{color:var(--em-colorTextSecondary);margin-bottom:24px;font-size:14px;line-height:1.6}.blocks-app .code-size-warning-modal__message p{margin:0 0 12px}.blocks-app .code-size-warning-modal__message p:last-child{margin-bottom:0}.blocks-app .code-size-warning-modal__message strong{color:var(--em-colorError);font-weight:600}.blocks-app .code-size-warning-modal__image{width:100%;margin-bottom:24px}.blocks-app .code-size-warning-modal__image-placeholder{border-radius:8px;width:100%;height:200px;display:flex}.blocks-app .code-size-warning-modal__image-placeholder img{object-fit:contain;max-width:100%;max-height:100%}.blocks-app .code-size-warning-modal__actions{width:100%;display:flex}.blocks-app .code-size-warning-modal__actions .ant-btn{min-width:140px}.blocks-app .integration-tile{border:1px solid var(--em-colorBorderSecondary);background:var(--em-colorBgContainer);border-radius:8px;flex-direction:column;min-height:254px;padding:16px;transition:border-color .2s;display:flex}.blocks-app .integration-tile--error{border-color:var(--em-colorError)}.blocks-app .integration-tile__body{flex:1;min-height:0}.blocks-app .integration-tile__icon{object-fit:contain;width:48px;height:48px;margin-bottom:12px}.blocks-app .integration-tile__icon-svg{margin-bottom:12px;font-size:48px;line-height:1}.blocks-app .integration-tile__title{color:var(--em-colorText);margin:0 0 4px;font-size:14px;font-weight:500;line-height:1.3;display:block}.blocks-app .integration-tile__description{color:var(--em-colorTextSecondary);margin:0;font-size:12px;font-weight:300;line-height:1.4;display:block}.blocks-app .integration-tile__footer{justify-content:space-between;align-items:flex-end;gap:8px;min-height:40px;margin-top:16px;display:flex}.blocks-app .integration-tile__badge{white-space:nowrap;border-radius:11px;align-items:center;height:22px;padding:0 8px;font-size:12px;font-weight:400;line-height:1;display:inline-flex}.blocks-app .integration-tile__badge--connected{color:var(--em-colorSuccess);background:var(--em-colorSuccessBg)}.blocks-app .integration-tile__badge--not_connected{color:var(--em-colorTextSecondary);background:var(--em-colorFillTertiary)}.blocks-app .integration-tile__badge--error{color:var(--em-colorError);background:var(--em-colorErrorBg)}.blocks-app .integration-tile__badge--coming_soon{color:var(--em-colorPrimary);background:var(--em-colorPrimaryBg)}.blocks-app .integration-tile__configure.ant-btn{box-sizing:border-box;width:40px;min-width:40px;height:40px;box-shadow:none;background:var(--em-colorFillQuaternary);color:var(--em-colorTextSecondary);border:none;border-radius:6px;flex-direction:row;flex:none;justify-content:center;align-items:center;gap:0;padding:0;display:inline-flex}.blocks-app .integration-tile__configure.ant-btn.ant-btn-icon-only{width:40px;min-width:40px;height:40px;padding:0}.blocks-app .integration-tile__configure.ant-btn .ant-btn-icon{justify-content:center;align-items:center;width:16px;height:16px;margin:0;line-height:0;display:inline-flex}.blocks-app .integration-tile__configure.ant-btn:not(:disabled):hover,.blocks-app .integration-tile__configure.ant-btn:not(:disabled):focus-visible{box-shadow:none;background:var(--em-colorFillTertiary);color:var(--em-colorTextSecondary);border:none}.blocks-app .integration-tile__configure.ant-btn:disabled,.blocks-app .integration-tile__configure.ant-btn.ant-btn-disabled{cursor:not-allowed;box-shadow:none;opacity:1;background:var(--em-colorFillQuaternary);color:var(--em-colorTextQuaternary);border:none}.blocks-app .integration-tile__configure.ant-btn:disabled .ant-btn-icon,.blocks-app .integration-tile__configure.ant-btn.ant-btn-disabled .ant-btn-icon{color:var(--em-colorTextQuaternary)}.blocks-app .integration-tile__configure.ant-btn:disabled:hover,.blocks-app .integration-tile__configure.ant-btn:disabled:focus-visible,.blocks-app .integration-tile__configure.ant-btn.ant-btn-disabled:hover,.blocks-app .integration-tile__configure.ant-btn.ant-btn-disabled:focus-visible{box-shadow:none;background:var(--em-colorFillQuaternary);color:var(--em-colorTextQuaternary);border:none}.blocks-app .ant-app .integration-tile__configure.ant-btn.ant-btn-icon-only{width:40px;min-width:40px;height:40px;padding:0}.blocks-app .ant-app .integration-tile__configure.ant-btn.ant-btn-icon-only:disabled,.blocks-app .ant-app .integration-tile__configure.ant-btn.ant-btn-icon-only.ant-btn-disabled{opacity:1;background:var(--em-colorFillQuaternary);color:var(--em-colorTextQuaternary)}.blocks-app .em-export-platforms-submenu .ant-dropdown-menu{max-height:420px;overflow-y:auto}.blocks-app .app-logo{color:#000;line-height:1.35;display:inline-block}.blocks-app .app-logo:hover{color:#000}.blocks-app .em-analytics__email-save .ant-btn-loading-icon .anticon,.blocks-app .em-analytics__block-save .ant-btn-loading-icon .anticon{font-size:16px}.blocks-app .email-page-header__dropdown-menu{top:10px}.blocks-app .email-page-header__email-id{color:var(--em-colorTextTertiary)}.blocks-app .email-page-header .button{cursor:pointer}.blocks-app .anticon.anticon-edit.email-page-header__icon-edit{color:#8c8c8c;margin-left:6px;font-size:16px}.blocks-app .ant-typography-edit:hover .anticon.anticon-edit.email-page-header__icon-edit{color:var(--em-colorPrimaryHover)}.blocks-app .ant-page-header-heading{max-width:700px;transition:all .2s;position:relative}.blocks-app .ant-page-header-heading svg{cursor:pointer;opacity:0;justify-content:center;width:0;height:0;transition:all .2s .2s;position:absolute;top:0;right:3px}.blocks-app .ant-page-header-heading svg:hover{color:var(--em-colorPrimaryHover)}.blocks-app .ant-page-header-heading.focus{background-color:var(--em-colorFillSecondary);border-radius:calc(var(--em-borderRadiusSM) * 1px);padding:0 8px}.blocks-app .ant-page-header-heading.focus svg{opacity:1;width:20px;height:20px;top:3px}.blocks-app .ant-page-header-heading.ant-page-header-heading_preheader.focus svg{top:3px}.blocks-app .ant-page-header-heading_preheader .anticon{top:-2px}.blocks-app .email-page-header .ant-page-header-heading-left{flex-grow:1;overflow:visible}.blocks-app .email-page-header .ant-page-header-back{align-self:flex-start;margin-right:0;padding-top:8px}.blocks-app div.ant-typography-edit-content.ant-page-header-heading-preheader,.blocks-app div.ant-typography-edit-content.ant-page-header-heading-title{margin-top:0;margin-bottom:0;inset-inline-start:0}.blocks-app .header__left .ant-form-item-control-input,.blocks-app .header__left .ant-form-item-control-input-content{line-height:normal;min-height:auto!important}.blocks-app .header__left .ant-page-header-heading-title{white-space:pre-wrap;text-overflow:ellipsis;border-radius:0;flex-grow:1;min-height:auto;font-weight:500;line-height:1;overflow:visible;height:auto!important;padding:3px 20px 3px 0!important}.blocks-app .header__left .ant-page-header-heading-preheader{max-width:700px;min-height:auto;box-shadow:none;text-overflow:ellipsis;white-space:nowrap;border-radius:0;display:block;overflow:hidden;height:auto!important;padding:3px 20px 3px 0!important;line-height:20px!important}.blocks-app .header__left .ant-skeleton.ant-skeleton-element{width:100%;display:block}.blocks-app .ant-page-header-heading-title,.blocks-app .ant-page-header-heading-preheader{background:0 0;padding:0;box-shadow:none!important;border:none!important;transition:none!important}.blocks-app .ant-page-header-heading-preheader{color:var(--em-colorTextSecondary);min-height:auto}.blocks-app .subject_preheader_form__title{width:80px;color:var(--em-colorTextTertiary);white-space:nowrap}.blocks-app .ant-page-header-heading-title{line-height:22px!important}.blocks-app .email-page-header .ant-typography{align-items:center;margin-bottom:0;padding:0 12px;display:flex}.blocks-app .email-page-header .ant-typography-edit-content{margin-top:-10px;padding:0;top:5px;left:auto}.blocks-app .email-page-header .ant-input{font-size:inherit;font-weight:inherit}.blocks-app .email-page-header .ant-page-header-heading-extra>*{margin-left:8px}.blocks-app header .ant-btn.email-page-header__btn_extra{width:32px;padding:0}.blocks-app .update-global-blocks-modal__hint{color:#000000a6;margin-bottom:16px}.blocks-app .update-global-blocks-modal__list{flex-direction:column;gap:12px;max-height:320px;display:flex;overflow-y:auto}.blocks-app .update-global-blocks-modal__row{align-items:center;gap:12px;display:flex}.blocks-app .update-global-blocks-modal__title{flex-direction:column;flex:auto;display:flex;overflow:hidden}.blocks-app .update-global-blocks-modal__version{color:#00000073;font-size:12px}.blocks-app .update-global-blocks-modal__count{color:#00000073;flex:none;font-size:12px}.blocks-app .update-global-blocks-modal__footer{justify-content:flex-end;gap:8px;display:flex}.blocks-app .convert-layout-modal .ant-modal-header{text-align:center;margin-top:16px;margin-bottom:8px}.blocks-app .convert-layout-modal .ant-modal-footer{margin-top:16px;padding:0 8px}.blocks-app .convert-layout-modal__title{color:var(--em-colorText);font-size:20px;font-weight:600}.blocks-app .convert-layout-modal__content{flex-direction:column;align-items:center;gap:24px;display:flex;overflow:hidden}.blocks-app .convert-layout-modal__text{font-size:14px;line-height:1.5}.blocks-app .convert-layout-modal__intro-text{text-align:center;color:var(--em-colorTextSecondary);padding:0 16px}.blocks-app .convert-layout-modal__image{border-radius:8px;width:100%;max-width:100%;height:auto;display:block}.blocks-app .convert-layout-modal__footer{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.blocks-app .convert-layout-modal__footer--between{justify-content:space-between}.blocks-app .convert-layout-modal__error-details{background-color:var(--em-colorErrorBg,#ff00000f);color:var(--em-colorTextSecondary);word-break:break-word;border-radius:8px;margin-top:12px;padding:8px 12px;font-size:12px}.blocks-app .conversion-overlay{z-index:2000;background-color:var(--em-colorBgMask,#00000073);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.blocks-app .conversion-overlay__content{background-color:var(--em-colorBgElevated);width:360px;max-width:80vw;box-shadow:var(--em-boxShadowSecondary);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:16px;padding:32px;display:flex}.blocks-app .conversion-overlay__title{color:var(--em-colorText);font-size:16px;font-weight:600}.blocks-app .conversion-overlay__hint{color:var(--em-colorTextSecondary);font-size:13px}.blocks-app .conversion-overlay__progress{width:100%}@media (width<=1550px){.blocks-app .email-pane__col_settings{margin-left:48px;margin-right:32px}}.blocks-app .em-dragging-element{border-radius:8px}.blocks-app .em-dragging-element>div{box-shadow:none!important}.blocks-app .em-dragging-element .blocks-search__result-html,.blocks-app .em-dragging-element span,.blocks-app .em-dragging-element .atoms__item:before{visibility:hidden}.blocks-app .em-ghost-element.blocks-search__result-html,.blocks-app .em-ghost-element span,.blocks-app .em-ghost-element.atoms__item:before{visibility:visible!important}.blocks-app .em-ghost-element table{border-collapse:initial}',a=window.__emailmaker_styles__||(window.__emailmaker_styles__={sheets:{},order:[]}),p=t;if(!a.sheets[p]){var o=null;try{typeof CSSStyleSheet=="function"&&"replaceSync"in CSSStyleSheet.prototype&&(o=new CSSStyleSheet,o.replaceSync(t))}catch{o=null}if(o){if(!a.host||!a.host.isConnected||!a.host.sheet){var e=document.createElement("style");e.setAttribute("data-emailmaker","true"),document.head.appendChild(e),a.host=e}for(var r=a.host.sheet,i=0;i<o.cssRules.length;i++)try{r.insertRule(o.cssRules[i].cssText,r.cssRules.length)}catch{}(a.texts||(a.texts=[])).push(t),(a.listeners||[]).forEach(function(n){try{n(t)}catch{}})}else{var e=document.createElement("style");e.setAttribute("data-emailmaker","true"),e.appendChild(document.createTextNode(t)),document.head.appendChild(e)}a.sheets[p]=!0,a.order.push(p)}}}catch(n){console.error("vite-plugin-css-injected-by-js",n)}})();
853
+ __emailmaker__.define("core",["require","exports","module","static/core/5dc34752.js","static/core/ee980948.js","static/core/281afc68.js","static/core/324c471b.js","static/core/f7a36b67.js","react","react/jsx-runtime","__delivery__/libs","vite/preload-helper","react-dom/client","classnames","dayjs"],function(fe,Ot,lh){Object.defineProperties(Ot,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const gt=fe("./static/core/5dc34752.js"),d=fe("./static/core/ee980948.js"),n=fe("./static/core/281afc68.js"),Bn=fe("./static/core/324c471b.js"),tt=fe("./static/core/f7a36b67.js");let m=fe("react");m=gt.__toESM(m);let f=fe("react/jsx-runtime"),T=fe("__delivery__/libs"),$e=fe("vite/preload-helper"),di=fe("react-dom/client"),qr=fe("classnames");qr=gt.__toESM(qr);let Gt=fe("dayjs");Gt=gt.__toESM(Gt);var mi="Editor mount element was removed from the document. Call instance.destroy() on host unmount.";function pi(){return d.createAbortError(mi)}function fi(e,t,r){if(typeof document>"u")return;let o=!1,a;const i=()=>{o=!0,a?.disconnect(),a=void 0},s=()=>{o||(i(),t())};if(r.addDispose(i),!e.isConnected){queueMicrotask(s);return}a=new MutationObserver(()=>{e.isConnected||s()});let l=e.parentNode;for(;l;)a.observe(l,{childList:!0}),l=l.parentNode}var hi="-host-mount";function gi(){return`data-emailmaker${hi}`}function yi(e,t){Array.from(e.children).forEach(r=>{r.nodeType===Node.ELEMENT_NODE&&r.hasAttribute(t)&&r.remove()})}function vi(e){const t=gi();yi(e,t);const r=document.createElement("div");r.setAttribute(t,"true"),r.setAttribute("translate","no"),r.classList.add("notranslate"),r.style.display="block",r.style.width="100%",r.style.height="100%",r.style.minHeight="100%";const o=e.querySelector(":scope > [data-canvas-host]");return o?e.insertBefore(r,o):e.appendChild(r),r}function _i(e,t,r){r.addDispose(()=>{t.parentNode===e&&t.remove()})}function Xt(e){return t=>{let r=null,o=!1;return{async setOptions(a){if(!r&&!o){r=await e(t);const i=await t.getInstanceAsync(d.INSTANCE_ID);Object.assign(i,r.instance||{})}r.setOptions&&await r.setOptions(a)},instance:{},dispose(){r?.dispose&&r?.dispose(),o=!0}}}}function bi(e){return`__${e.replace(/[^a-zA-Z0-9_]/gu,"_")}_styles__`}var Ei=class{shadowRoot;markerAttr;observer;addedKeys=new Set;stopSharedStyles;constructor({shadowRoot:e,markerAttr:t="data-emailmaker"}){this.shadowRoot=e,this.markerAttr=t,this.observer=new MutationObserver(this.handleMutations),this.observer.observe(document.head,{childList:!0,subtree:!1}),this.syncExistingStyles(),this.syncSharedStyles()}syncSharedStyles(){const e=window,t=bi("emailmaker"),r=e[t]??={},o=document.createElement("style");o.setAttribute(this.markerAttr,"shared"),o.textContent=(r.texts??[]).join(`
854
+ `),this.shadowRoot.insertBefore(o,this.shadowRoot.firstChild);const a=s=>{o.appendChild(document.createTextNode(`
855
+ ${s}`))},i=r.listeners??=[];i.push(a),this.stopSharedStyles=()=>{const s=i.indexOf(a);s>=0&&i.splice(s,1)}}syncExistingStyles(){const e=document.querySelectorAll(`style[${this.markerAttr}], link[${this.markerAttr}]`);for(let t=e.length-1;t>=0;t--)this.cloneAndInjectNode(e[t])}getNodeKey(e){return e.tagName==="STYLE"?(e.textContent||"").trim():e.tagName==="LINK"?e.href:null}cloneAndInjectNode(e){const t=this.getNodeKey(e);if(!t||this.addedKeys.has(t))return;const r=e.cloneNode(!0);this.shadowRoot.insertBefore(r,this.shadowRoot.firstChild),this.addedKeys.add(t)}handleMutations=e=>{for(const t of e)for(const r of t.addedNodes)r.nodeType===1&&(r instanceof HTMLStyleElement||r instanceof HTMLLinkElement)&&r.hasAttribute(this.markerAttr)&&this.cloneAndInjectNode(r)};dispose(){this.observer.disconnect(),this.stopSharedStyles?.(),this.addedKeys.clear()}};function Si(){let e,t,r=!1;const o=()=>{const a=e;if(!r||!a||a===t)return;t=a;const i=s=>{};try{const s=a.handleChunkLoaded?.();s instanceof Promise&&s.catch(i)}catch(s){i(s)}};return{use:a=>{e=a,o()},loaded:()=>{r=!0,o()}}}function wi({children:e}){return(0,f.jsx)(m.Suspense,{fallback:(0,f.jsx)("div",{className:"config-gate-fallback"}),children:e})}var ki=n.createSource(void 0);function Ai(e){ki.set(e)}var Ci=document.querySelectorAll("link[rel=stylesheet][media*=prefers-color-scheme][media*=dark]"),Ii=document.querySelectorAll("link[rel=stylesheet][media*=prefers-color-scheme][media*=light]"),Ti=e=>{if(typeof e!="string")return!1;const t=e.trim();return t.length>0&&!/\s/.test(t)},Pi=e=>{let t,r;e==="system"?(t=n.PREFERS_COLOR_SCHEME_LIGHT,r=n.PREFERS_COLOR_SCHEME_DARK):(t=e==="light"?"all":n.NOT_ALL,r=e==="dark"?"all":n.NOT_ALL),[...Ii].forEach(o=>{o.media=t}),[...Ci].forEach(o=>{o.media=r})},Ri=(e={})=>{const t=document.querySelector("head"),r=document.createElement("style");if(r.type="text/css",r.dataset.themeVaribalse=!0,r.setAttribute("data-emailmaker","true"),Object.entries(e).length){let o="";Object.entries(e).forEach(([i,s])=>{typeof s!="object"&&(o+=` ${n.themeTokenCssVarName(i)}: ${s};
856
+ `)}),o=`.blocks-body, .blocks-app, .ant-modal-root, .ant-tooltip, .ant-notification {
857
+ ${o}}`,r.appendChild(document.createTextNode(o));const a=t.querySelector('[data-theme-varibalse="true"]');a?t.replaceChild(r,a):t.insertBefore(r,t.firstChild)}},xi=e=>{if(!Ti(e))return;const t=e.trim(),r=document.body,o=()=>Ai(r.classList.contains("dark")?n.DARK:r.classList.contains("light")?n.LIGHT:n.SYSTEM);r.classList.contains(t)?setTimeout(o,200):setTimeout(()=>{r.classList.remove(t==="dark"?n.LIGHT:n.DARK),r.classList.add(t),o()},200)},yt={defaultMerge:Symbol("deepmerge-ts: default merge"),skip:Symbol("deepmerge-ts: skip")},ch={defaultMerge:yt.defaultMerge};function Oi(e,t){return t}function Un(e){return typeof e!="object"||e===null?0:Array.isArray(e)?2:Li(e)?1:e instanceof Set?3:e instanceof Map?4:5}function Mi(e){const t=new Set;for(const r of e)for(const o of[...Object.keys(r),...Object.getOwnPropertySymbols(r)])t.add(o);return t}function ji(e,t){return typeof e=="object"&&Object.prototype.propertyIsEnumerable.call(e,t)}function Gn(e){return{*[Symbol.iterator](){for(const t of e)for(const r of t)yield r}}}var $n=new Set(["[object Object]","[object Module]"]);function Li(e){if(!$n.has(Object.prototype.toString.call(e)))return!1;const{constructor:t}=e;if(t===void 0)return!0;const r=t.prototype;return!(r===null||typeof r!="object"||!$n.has(Object.prototype.toString.call(r))||!r.hasOwnProperty("isPrototypeOf"))}function Di(e,t,r){const o={};for(const a of Mi(e)){const i=[];for(const l of e)ji(l,a)&&i.push(l[a]);if(i.length===0)continue;const s=Hn(i,t,t.metaDataUpdater(r,{key:a,parents:e}));s!==yt.skip&&(a==="__proto__"?Object.defineProperty(o,a,{value:s,configurable:!0,enumerable:!0,writable:!0}):o[a]=s)}return o}function Ni(e){return e.flat()}function Fi(e){return new Set(Gn(e))}function Bi(e){return new Map(Gn(e))}function qn(e){return e.at(-1)}var Hr=Object.freeze({__proto__:null,mergeArrays:Ni,mergeMaps:Bi,mergeOthers:qn,mergeRecords:Di,mergeSets:Fi});function zr(...e){return Ui({})(...e)}function Ui(e,t){const r=Gi(e,o);function o(...a){return Hn(a,r,t)}return o}function Gi(e,t){return{defaultMergeFunctions:Hr,mergeFunctions:{...Hr,...Object.fromEntries(Object.entries(e).filter(([r,o])=>Object.hasOwn(Hr,r)).map(([r,o])=>o===!1?[r,qn]:[r,o]))},metaDataUpdater:e.metaDataUpdater??Oi,deepmerge:t,useImplicitDefaultMerging:e.enableImplicitDefaultMerging??!1,actions:yt}}function Hn(e,t,r){if(e.length===0)return;if(e.length===1)return Vr(e,t,r);const o=Un(e[0]);if(o!==0&&o!==5){for(let a=1;a<e.length;a++)if(Un(e[a])!==o)return Vr(e,t,r)}switch(o){case 1:return $i(e,t,r);case 2:return qi(e,t,r);case 3:return Hi(e,t,r);case 4:return zi(e,t,r);default:return Vr(e,t,r)}}function $i(e,t,r){const o=t.mergeFunctions.mergeRecords(e,t,r);return o===yt.defaultMerge||t.useImplicitDefaultMerging&&o===void 0&&t.mergeFunctions.mergeRecords!==t.defaultMergeFunctions.mergeRecords?t.defaultMergeFunctions.mergeRecords(e,t,r):o}function qi(e,t,r){const o=t.mergeFunctions.mergeArrays(e,t,r);return o===yt.defaultMerge||t.useImplicitDefaultMerging&&o===void 0&&t.mergeFunctions.mergeArrays!==t.defaultMergeFunctions.mergeArrays?t.defaultMergeFunctions.mergeArrays(e):o}function Hi(e,t,r){const o=t.mergeFunctions.mergeSets(e,t,r);return o===yt.defaultMerge||t.useImplicitDefaultMerging&&o===void 0&&t.mergeFunctions.mergeSets!==t.defaultMergeFunctions.mergeSets?t.defaultMergeFunctions.mergeSets(e):o}function zi(e,t,r){const o=t.mergeFunctions.mergeMaps(e,t,r);return o===yt.defaultMerge||t.useImplicitDefaultMerging&&o===void 0&&t.mergeFunctions.mergeMaps!==t.defaultMergeFunctions.mergeMaps?t.defaultMergeFunctions.mergeMaps(e):o}function Vr(e,t,r){const o=t.mergeFunctions.mergeOthers(e,t,r);return o===yt.defaultMerge||t.useImplicitDefaultMerging&&o===void 0&&t.mergeFunctions.mergeOthers!==t.defaultMergeFunctions.mergeOthers?t.defaultMergeFunctions.mergeOthers(e):o}function Vi(e){n.requiredArgs(1,arguments);var t=Object.prototype.toString.call(e);return e instanceof Date||n._typeof(e)==="object"&&t==="[object Date]"?new Date(e.getTime()):typeof e=="number"||t==="[object Number]"?new Date(e):new Date(NaN)}var zn=[];function Vn(e,t){const{modalProps:r,...o}=t;return{...e,...n.filterUndefined(o),modalProps:{...e.modalProps,...n.filterUndefined(r??{})}}}function Wn(e){try{e?.()}catch{}}var Wi=({modal:e,getContainer:t,onClosing:r,onRemove:o})=>{const{id:a,content:i,props:s,visible:l,shows:u,onOk:p,onClose:h,modalProps:g,...v}=e,c=g?.afterClose,y=l&&(g?.open??!0),_=(0,m.useRef)(!1),E=(0,m.useRef)(0),A=(0,m.useRef)(!1),C=(0,m.useCallback)(()=>r(a),[r,a]),x=(0,m.useCallback)(()=>{const P=G=>{};let W;try{W=p?.()}catch(G){P(G);return}Promise.resolve(W).then(()=>r(a),P)},[p,r,a]),N=(0,m.useCallback)(()=>{A.current||(A.current=!0,Wn(h),Wn(c),o(a))},[h,c,o,a]),B=(0,m.useRef)(N);(0,m.useEffect)(()=>{B.current=N},[N]),(0,m.useEffect)(()=>{E.current!==u&&(E.current=u,A.current=!1);const P=_.current;_.current=y,!l&&!P&&B.current()},[u,l,y]);const k=(0,m.useCallback)(()=>{l||N()},[l,N]);return(0,f.jsx)(T.ui_kit$Modal,{onCancel:C,onOk:x,getContainer:t,...g,...v,open:y,afterClose:k,children:typeof i!="function"?i:m.default.createElement(i,s)})},Ki=({opened:e,getContainer:t})=>{const r=(0,m.useCallback)(()=>e.cancel(),[e]);return(0,f.jsx)(T.ui_kit$Modal,{open:!0,title:e.record.declaration.title,footer:null,onCancel:r,getContainer:t,children:(0,f.jsx)(n.PluginViewMount,{opened:e})})},Yi=({children:e})=>{const[t,r]=(0,m.useState)([]),[o,a]=(0,m.useState)(zn),i=n.useEvent(d.MODAL_SHOW_EVENT),s=n.useEvent(d.MODAL_CLOSE_EVENT),l=n.useEvent(d.MODAL_UPDATE_EVENT),u=n.useModalRootElement(),p=n.usePluginPlatform(),h=(0,m.useCallback)(_=>{r(E=>E.map(A=>_===void 0||A.id===_?{...A,visible:!1}:A))},[r]),g=(0,m.useCallback)(_=>{r(E=>E.filter(A=>A.id!==_||A.visible))},[r]),v=(0,m.useCallback)(_=>{r(E=>{const A=E.find(C=>C.id===_.id);return A?E.map(C=>C===A?{...Vn(A,_),visible:!0,shows:A.shows+1}:C):[...E,{..._,visible:!0,shows:1}]})},[r]),c=(0,m.useCallback)(_=>{r(E=>{const A=E.find(C=>C.id===_.id);return A?.visible?E.map(C=>C===A?Vn(A,_):C):E})},[r]),y=(0,m.useCallback)(()=>u,[u]);return(0,m.useEffect)(()=>{const _=new d.Disposable;return _.addDisposable(i(v)),_.addDisposable(l(c)),_.addDisposable(s(h)),()=>_.dispose()},[i,s,l,v,h,c]),(0,m.useEffect)(()=>{if(!p)return;const _=p.ui.opened.watch(E=>a(E.filter(A=>A.location==="dialog")));return()=>{_.dispose(),a(zn)}},[p]),(0,f.jsxs)(f.Fragment,{children:[t.map(_=>(0,f.jsx)(Wi,{modal:_,getContainer:y,onClosing:h,onRemove:g},_.id)),o.map(_=>(0,f.jsx)(Ki,{opened:_,getContainer:y},_.key)),e]})},Qi=new Set;function Kn(e){const t=typeof e=="string"&&e?e:void 0;t?window.localStorage.setItem(n.LOCAL_STORAGE_ITEMS.em_color_scheme,t):window.localStorage.removeItem(n.LOCAL_STORAGE_ITEMS.em_color_scheme);for(const r of Qi)r(t)}function Wr(e,t){return e==="system"?t:e||"light"}var Ji=[(0,T.ui_kit$createTransformer)()],Xi={colorDarken1:"rgba(0, 0, 0, 0.08)",colorFillSecondaryDarken:"rgba(0, 0, 0, 0.1)",formControlHeight:34,borderWidth:1,borderColorHover:"#C5C5C5",formItemMarginBottomMD:20,formItemMarginBottomXS:8,colorSecondaryH:265.03,colorSecondaryS:"63.92%",colorSecondaryL:"50%",colorSecondaryBgH:273,colorSecondaryBgS:"100%",colorSecondaryBgL:"93%",appZoom:1},Zi={colorDarken1:"rgba(0, 0, 0, 0.9)",colorFillSecondaryDarken:"rgba(255, 255, 255, 0.16)",formControlHeight:34,borderWidth:1,borderColorHover:"rgba(255, 255, 255, 0.3)",formItemMarginBottomMD:20,formItemMarginBottomXS:8,appZoom:1},es=zr(T.ui_kit$lightThemePreset,{token:Xi}),ts=zr(T.ui_kit$darkThemePreset,{token:Zi});function rs(e){const t=matchMedia(n.PREFERS_COLOR_SCHEME_DARK);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)}var ns=()=>matchMedia("(prefers-color-scheme: dark)").matches?n.DARK:n.LIGHT;function os({children:e}){const t=n.useSelector(n.selectEditorThemeColor$1),r=(0,m.useSyncExternalStore)(rs,ns),o=n.useAppConfig(),[a,i]=(0,m.useState)(Wr(o.theme,r)),s=n.useDispatch();(0,m.useEffect)(()=>{const y=Wr(o.theme,r);i(y),xi(y),s(n.setEditorThemeColor$1(y==="dark"?`vs-${y}`:n.LIGHT))},[t,r,o.theme,o.pathEnabled,s]);const l=(0,m.useCallback)(y=>{y&&y!=="system"?(Pi(y),Kn(y)):Kn(void 0)},[]);(0,m.useEffect)(()=>{const y=Wr(o.theme,r),_=localStorage.getItem(n.LOCAL_STORAGE_ITEMS.em_color_scheme);y&&y!==_&&l(y)},[o.theme,r,l]);const u=(0,m.useCallback)(()=>{const y=localStorage.getItem(n.LOCAL_STORAGE_ITEMS.em_color_scheme);l(y)},[l]);(0,m.useEffect)(()=>{u()},[u]);const p=o.themes,[h]=(0,m.useState)(1),g=(0,m.useMemo)(()=>{const y=a==="light"?es:ts,_=p[a],E=_?zr(y,_):y;return{...E,token:{...E.token,appZoom:h}}},[a,p,h]),v=n.useModalRootElement(),c=(0,m.useCallback)(()=>v,[v]);return(0,f.jsx)(T.ui_kit$ThemeProvider,{theme:g,getPopupContainer:c,children:(0,f.jsx)(T.ui_kit$StyleProvider,{transformers:Ji,children:(0,f.jsx)(Yi,{children:(0,f.jsx)(T.ui_kit$App,{children:(0,f.jsx)(n.ImagePickerProvider,{children:e})})})})})}var as=({onLoad:e,children:t})=>{(0,m.useEffect)(()=>{e&&e()},[e]);const r=n.useAppDispatch();return(0,m.useEffect)(()=>{r(n.authorizationApi.endpoints.getMe.initiate(""))},[r]),t};function Yn({title:e,content:t,acf:{seen:r,type:o,event:a,data:i},...s}){return{...s,seen:r,type:o,event:a,data:i,title:n.getRendererString(e),content:t}}var $t="Notifications",Zt=n.createApi({reducerPath:"notificationsApi",tagTypes:[$t],baseQuery:n.fetchBaseQueryApp({baseUrl:"https://app.emailmaker.ru/api/wp-json/wp/v2/"}),endpoints:e=>({getNotifications:e.query({queryFn(t,r){return n.clientFromApi(r).wp.notification_list({author:[Number(t)]}).then(n.transformListResponseFn(Yn))},providesTags:t=>t?[...t.map(({id:r})=>({type:$t,id:r})),{type:$t,id:"LIST"}]:[{type:$t,id:"LIST"}]}),notificationShown:e.mutation({queryFn({id:t,datetime:r},o){return n.clientFromApi(o).wp.notification_create2({id:t},{},{type:d.ContentType.Json,extraQuery:{"acf[seen]":r}}).then(n.transformResponseFn(Yn))},invalidatesTags:[{type:$t,id:"LIST"}]})})}),{useGetNotificationsQuery:is,useNotificationShownMutation:ss}=Zt,ls=()=>{const e=n.useCookieManager(),t=n.useContainer(),r=n.useRoutePathname();(0,m.useEffect)(()=>{r.endsWith("/new")||e.remove(n.APP_COOKIES.em_new_email)},[r,e,t])},cs=()=>{const e=n.useCookieManager(),t=n.useRoutePathname();(0,m.useEffect)(()=>{t.endsWith("/new")||e.remove(n.APP_COOKIES.em_new_block)},[t,e])};function Qn(e,t){e.getAttribute("content")!==t&&e.setAttribute("content",t)}function us(e){(0,m.useEffect)(()=>{const t=document.head.querySelector('meta[name="viewport"]');if(!e||!t)return;const r=t.getAttribute("content")??"",o=document.documentElement,a=()=>{const s=n.readScreenFacts(window),l=n.shouldScaleLayout(s);Qn(t,l?n.scaledViewportContent(s):r),o.classList.toggle(n.SCALED_LAYOUT_CLASS,l)};a();const i=[n.COARSE_POINTER_QUERY,n.LANDSCAPE_QUERY].map(s=>window.matchMedia(s));return i.forEach(s=>s.addEventListener("change",a)),window.screen.orientation?.addEventListener?.("change",a),()=>{i.forEach(s=>s.removeEventListener("change",a)),window.screen.orientation?.removeEventListener?.("change",a),Qn(t,r),o.classList.remove(n.SCALED_LAYOUT_CLASS)}},[e])}var Jn="em_notification_mark_seen_skipped_ids";function Xn(){try{const e=sessionStorage.getItem(Jn),t=e?JSON.parse(e):[];return Array.isArray(t)?t.map(String):[]}catch{return[]}}function ds(e){try{const t=String(e),r=new Set(Xn());r.has(t)||(r.add(t),sessionStorage.setItem(Jn,JSON.stringify([...r])))}catch{}}var ms=({children:e=void 0,sider:t=null,modals:r=null,hasEmail:o=!1,hasBlock:a=!1})=>{const{token:i}=(0,T.ui_kit$useToken)(),s=n.useDispatch(),l=n.useSelector(n.selectActiveModal$1),u=n.useCurrentUser();n.useSelector(n.selectIsCodeMode);const p=n.usePushToDataLayer(),[h]=ss(),g=n.useNotification();(0,m.useEffect)(()=>{Ri(i)},[i]);const{data:v=[],isSuccess:c}=is(u?.id??"",{pollingInterval:3e5,skip:!!l||!u?.id});return(0,m.useEffect)(()=>{const y=v.filter(_=>_.seen===""||_.seen===null);setTimeout(()=>{if(y.length&&c){const _=new Set(Xn());y.forEach(E=>{if(_.has(String(E.id)))return;E.event==="subscription_payment"&&p({event:"payment",data:E.data}),g[E.type]({title:E.title?.rendered||E.title||"",description:E.content?.rendered||""});const A=new Date().toLocaleString();h({id:E.id,datetime:A}).unwrap().catch(C=>{const x=C&&typeof C=="object"?C:{};(x.data&&typeof x.data=="object"&&x.data!==null&&"code"in x.data?String(x.data.code):void 0)==="em_rest_notification_403"&&ds(E.id)})})}},5e3)},[c,h,v,g]),ls(),cs(),us(!1),(0,m.useEffect)(()=>{a||s(n.resetBlockSlice()),o||s(n.resetEmailSlice())},[a,o,s]),(0,f.jsx)("div",{className:"main",children:(0,f.jsx)("div",{className:"main__pane main__pane_main",children:(0,f.jsx)("div",{className:"main__pane-content",id:"pane-content-iframe","data-scroll-area":"page",children:(0,f.jsxs)(T.ui_kit$Layout,{className:"main__pane-layout",hasSider:!!t,children:[t,r,e??(0,f.jsx)(n.RouteOutlet,{})]})})})})};function ps({html:e,renderGuid:t,showToken:r,showId:o,...a},i){const{requested:s}=n.getCurrentProject(i),l=n.getAppConfig(i);return n.filterUndefined({...a,code:n.getTemplateDirectivesPolicy(i).toOutputForm(e),project:s===void 0?a.project:s,utm_parameters:l.UTMEnabled?a.utm_parameters:void 0,tags:void 0,template:void 0,guid:void 0,emailtags:void 0,project_title:void 0,project_author:void 0,is_template:void 0,is_inited:void 0,secretHash:void 0})}var fs=gt.__commonJSMin(((e,t)=>{n.init__polyfill_node_global(),(function(r,o){typeof define=="function"&&define.amd?define([],o):typeof e<"u"?o():(o(),r.FileSaver={})})(e,function(){"use strict";function r(p,h){return typeof h>"u"?h={autoBom:!1}:typeof h!="object"&&(h={autoBom:!h}),h.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(p.type)?new Blob(["\uFEFF",p],{type:p.type}):p}function o(p,h,g){var v=new XMLHttpRequest;v.open("GET",p),v.responseType="blob",v.onload=function(){u(v.response,h,g)},v.onerror=function(){},v.send()}function a(p){var h=new XMLHttpRequest;h.open("HEAD",p,!1);try{h.send()}catch{}return 200<=h.status&&299>=h.status}function i(p){try{p.dispatchEvent(new MouseEvent("click"))}catch{var h=document.createEvent("MouseEvents");h.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),p.dispatchEvent(h)}}var s=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof n._polyfill_node_global_default=="object"&&n._polyfill_node_global_default.global===n._polyfill_node_global_default?n._polyfill_node_global_default:void 0,l=s.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),u=s.saveAs||(typeof window!="object"||window!==s?function(){}:"download"in HTMLAnchorElement.prototype&&!l?function(p,h,g){var v=s.URL||s.webkitURL,c=document.createElement("a");h=h||p.name||"download",c.download=h,c.rel="noopener",typeof p=="string"?(c.href=p,c.origin===location.origin?i(c):a(c.href)?o(p,h,g):i(c,c.target="_blank")):(c.href=v.createObjectURL(p),setTimeout(function(){v.revokeObjectURL(c.href)},4e4),setTimeout(function(){i(c)},0))}:"msSaveOrOpenBlob"in navigator?function(p,h,g){if(h=h||p.name||"download",typeof p!="string")navigator.msSaveOrOpenBlob(r(p,g),h);else if(a(p))o(p,h,g);else{var v=document.createElement("a");v.href=p,v.target="_blank",setTimeout(function(){i(v)})}}:function(p,h,g,v){if(v=v||open("","_blank"),v&&(v.document.title=v.document.body.innerText="downloading..."),typeof p=="string")return o(p,h,g);var c=p.type==="application/octet-stream",y=/constructor/i.test(s.HTMLElement)||s.safari,_=/CriOS\/[\d]+/.test(navigator.userAgent);if((_||c&&y||l)&&typeof FileReader<"u"){var E=new FileReader;E.onloadend=function(){var x=E.result;x=_?x:x.replace(/^data:[^;]*;/,"data:attachment/file;"),v?v.location.href=x:location=x,v=null},E.readAsDataURL(p)}else{var A=s.URL||s.webkitURL,C=A.createObjectURL(p);v?v.location=C:location.href=C,v=null,setTimeout(function(){A.revokeObjectURL(C)},4e4)}});s.saveAs=u.saveAs=u,typeof t<"u"&&(t.exports=u)})})),Ye=gt.__toESM(n.require_prop_types()),Mt=fs(),qt="NEXT_BUTTON",Kr="KEYBOARD",hs="EXTERNAL",gs=new Set([n.SAVE_BUTTON_SOURCE,qt,Kr]);function ys(e){return e!=null&&e!==""&&gs.has(e)}function Zn(e){if(!e||e==="all")return;if(n.isTermUuid(e))return[e];const t=Number(e);return Number.isFinite(t)?[t]:void 0}var eo=(0,m.createContext)(null);function vs(){const e=(0,m.useContext)(eo);if(!e)throw new Error("useEmailSaveController must be used within EmailSaveContext.Provider");return e}var _s=2;function to(e,t){if(!e||e.isNew)return t;if(!(e.project==null||e.project===""))return n.existingWpNumber(e.project)??t}function ro(e){return{id:e?.id,title:e?.title,code:e?.html,preheader:e?.preheader,subject:e?.subject,common_styles:e?.common_styles,autosave:!0}}function bs({email:e,documentSession:t,save:r,saveState:o}){const a=n.useDispatch(),{__:i}=n.useI18n(),s=n.useEditorProjectId(),l=+s,u=Number.isFinite(l)&&l>0?l:n.isTermUuid(s)?s:e?.project,p=n.useCookieManager(),h=n.useContainer(),g=n.useNotification(),v=n.useAppConfig(),c=n.useConfigSource(),[y,_]=(0,m.useState)(0),E=(0,m.useRef)(""),[A,C]=(0,m.useState)(!1),x=n.useEventEmitter(d.events.ON_NEXTBUTTON_CLICK_ID),N=n.useEventEmitter(d.events.ON_SAVEBUTTON_CLICK_ID);n.useEvent(d.events.ON_EMAIL_INIT_ID);const B=v.activeNextButton===!1,k=v.disableDoubleClickNextButton!==!1,P=(0,m.useRef)(!1),W=(0,m.useRef)(void 0),G=(0,m.useRef)(null),me=(0,m.useRef)(null),ce=(0,m.useRef)(e);ce.current=e;const oe=(0,m.useRef)(t);oe.current=t;const pe=(0,m.useCallback)(()=>{W.current=void 0},[]),te=(0,m.useCallback)(M=>{c.merge({activeNextButton:!M},"user")},[c]),Q=(0,m.useCallback)((M,z)=>{const re=n.saveRefusalReason(z);if(re==="locked"){g.error({id:"EMAIL_ACCESS_TO_LOCKED_ERROR",data:n.getEmailDesc(M),message:i("No access to edit the letter.")});return}if(re==="empty-content"){g.error({id:"EMAIL_EMPTY_SAVE_BLOCKED",data:n.getEmailDesc(M),message:i("The email content is empty — saving was cancelled to prevent data loss.")});return}if(re==="too-many-tags"){g.error({id:"EMAIL_TOO_MANY_TAGS_ERROR",data:n.getEmailDesc(M),message:i("Maximum 10 tags available.")});return}if(re==="canvas-not-synced"){g.error({id:"EMAIL_CANVAS_NOT_SYNCED_ERROR",data:n.getEmailDesc(M),message:i("Not all changes were saved. Please try again.")});return}const ne=n.failedTerms(z);if(ne){ne.failed.forEach(be=>{if(ne.kind==="group"){g.fromError("GROUP_CREATING_ERROR",{id:Number(be.id??0),name:be.name,parent:Number(be.parent??0)},z);return}g.fromError("TAG_CREATING_ERROR",be.name,z)});return}g.fromError(M.isNew?"EMAIL_CREATING_ERROR":"EMAIL_EDITING_ERROR",n.getEmailDesc(M),z)},[g,i]),ue=(0,m.useRef)(0),Ce=(0,m.useRef)(void 0),Pe=(0,m.useCallback)((M,z)=>{const re=ys(M),ne={no:ue.current+1,waiters:[]},be=Le=>{ne.outcome=Le;const U=ne.waiters;ne.waiters=[],U.forEach(L=>L(Le)),z?.(Le)},Te=(Le,U=!1)=>({ok:!1,reason:n.saveRefusalReason(Le)==="locked"?"locked":"failed",message:Le instanceof Error?Le.message:"The email was not saved.",...U?{notified:!0}:{}}),Xe=()=>{C(!1),M===qt&&(P.current=!1,te(!1))};if(!e){Xe(),z?.({ok:!1,reason:"failed",message:"The email left the editor page before the save started."});return}const rt=async()=>{(U=>{let L;try{L=r("publish",{project:n.isEmailsV2Enabled()?to(U,u):U.isNew?u:U.project,folder:Zn(p.get(n.APP_COOKIES.em_folder)),source:M,fallbackTitle:i("Untitled email.")})}catch(F){L=Promise.reject(F)}L.then(F=>{if(C(!1),P.current=!1,!F){M===qt&&te(!1),re&&(Q(U,o().error),pe()),be?.(Te(o().error,re));return}re&&(g.success({id:"EMAIL_SAVING_SUCCESS",message:i("The email was successfully saved."),data:n.getEmailDesc(U)}),pe()),be?.({ok:!0})}).catch(F=>{Xe();const ee=!!z||ne.waiters.length>0;if(be(Te(F)),!ee)throw F})})(e)};ue.current=ne.no,Ce.current=ne,C(!0),rt()},[e,a,s,i,t,p,u,g,Q,r,o,te,pe]),_e=(0,m.useCallback)(async M=>{try{return(await N.fire(M)).some(z=>z===!1)?{status:"aborted"}:{status:"go"}}catch(z){return g.fromError("SAVE_BUTTON_CLICK_EVENT_ERROR",n.getEmailDesc(M),z,!0),{status:"failed",error:z}}},[N,g]),Ne=(0,m.useRef)(Pe);Ne.current=Pe;const ae=(0,m.useRef)(void 0),Ae=(0,m.useCallback)(async({source:M,settle:z})=>{if(!e){z({ok:!1,reason:"unready",message:"The email has not reached the page yet."});return}const re=ue.current,ne=oe.current,be=await _e({...e,html:n.readDocumentContent(oe.current)});if(be.status==="aborted")z({ok:!1,reason:"aborted",message:"The save was cancelled by the host."});else if(be.status==="failed"){const{error:Te}=be;z({ok:!1,reason:"failed",message:Te instanceof Error?Te.message:"The save button handler failed.",notified:!0})}else if(!ze.current||oe.current!==ne||!ce.current)z({ok:!1,reason:"failed",message:"The editor page was closed before the save started."});else if(ae.current)ae.current.settles.push(z);else if(Ce.current&&Ce.current.no>re){const Te=Ce.current;Te.outcome?z(Te.outcome):Te.waiters.push(z)}else Ne.current(M,z)},[e,_e]);n.useCommand(n.SAVE_COMMAND_ID,(0,m.useCallback)(M=>{n.isSaveRequest(M)?Ae(M):Pe(M||hs)},[Pe,Ae])),(0,m.useEffect)(()=>h?n.registerSaveListener(h):void 0,[h]);const ge=(0,m.useRef)(void 0),Me=(0,m.useCallback)(M=>{E.current=M,ae.current??={settles:[]},_(z=>z+1)},[]),ze=(0,m.useRef)(!0);(0,m.useEffect)(()=>(ze.current=!0,()=>{ze.current=!1,ge.current!==void 0&&clearTimeout(ge.current);const M=ae.current?.settles??[];ae.current=void 0,M.forEach(z=>z({ok:!1,reason:"failed",message:"The editor page was closed before the save started."}))}),[]),(0,m.useEffect)(()=>{if(y===0)return;const M=E.current;ce.current?.isNew&&(W.current=M),ge.current!==void 0&&clearTimeout(ge.current),ge.current=setTimeout(()=>{ge.current=void 0;const z=ae.current?.settles??[];ae.current=void 0,Ne.current(M,z.length>0?re=>z.forEach(ne=>ne(re)):void 0)})},[y]);const Ge=v.saveHotkeyEnabled!==!1,ie=(0,m.useCallback)(M=>{(M.ctrlKey||M.metaKey)&&M.keyCode===83&&(M.preventDefault(),Ge&&Me(Kr))},[Me,Ge]);(0,m.useEffect)(()=>(document.addEventListener("keydown",ie),()=>{document.removeEventListener("keydown",ie)}),[ie]);const X=(0,m.useCallback)(M=>{const z=M.data.operation,re=M.data.action;z===n.EVENT_TYPES.APPLICATION_ACTION&&re==="save_email"&&Ge&&Me(Kr)},[Me,Ge]);n.useListenPostMessage(X),(0,m.useEffect)(()=>{e?.isNew&&(me.current=null,G.current=null)},[e?.isNew,e?.renderGuid]),(0,m.useEffect)(()=>{P.current=!1},[e?.id]);const se=p.get(n.APP_COOKIES.em_folder),le=h?n.provideAutosaveUiFacts(h):void 0;(0,m.useEffect)(()=>{le?.set({...le?.get()??{isUserBusy:!1,saveContext:{}},saveContext:{project:n.isEmailsV2Enabled()?to(e,u):u,folder:Zn(se),fallbackTitle:i("Untitled email.")}})},[le,e,u,se,i]);const je=(0,m.useRef)(!1),Ie=o().failures,Fe=o().failedIntent,Be=n.useIntegratorConfigValue("autosaveRetryMaxAttempts"),w=typeof Be=="number"&&Be>=0?Be+1:_s;(0,m.useEffect)(()=>{const M=o().error;(Fe==="snapshot"||Fe==="materialize")&&!je.current&&(Ie>=w||Ie>0&&n.isIntegratorRejection(M))&&(je.current=!0,g.error({id:"EMAIL_AUTOSAVE_ERROR",data:ro(e),message:i("Saving failed"),description:n.isRejectedSave(M)?i("Changes are not being saved: the save was rejected."):i("Changes are not being saved. Check your connection."),innerException:M,duration:0})),Ie===0&&(je.current=!1)},[Ie,Fe,w,o,e,g,i]);const b=n.getOpenEmailDocuments(h??void 0);(0,m.useEffect)(()=>b?.onSaved(M=>{M.intent==="snapshot"&&g.success({id:"EMAIL_AUTOSAVE_SUCCESS",data:{...ro(ce.current),code:oe.current?.getContent()},message:""},!0)}),[b,g]);const I=A,R=o().saving,j=(0,m.useCallback)(M=>{Me(M||"SAVE_BUTTON")},[Me]),S=(0,m.useCallback)(async(M,z)=>{if(M===qt){if(P.current)return;P.current=!0;try{k&&te(!0),(await x.fire(z)).every(re=>re!==!1)?Me(qt):(te(!1),P.current=!1)}catch(re){g.fromError("NEXT_BUTTON_CLICK_EVENT_ERROR",n.getEmailDesc(z),re,!0),te(!1),P.current=!1}return}(await _e(z)).status==="go"&&Me(M||"SAVE_BUTTON")},[k,x,_e,g,te,Me]);return(0,m.useMemo)(()=>({requestSave:j,requestSaveWithEvents:S,isLoading:I,isAutosaveLoading:R,nextButtonDisabled:B}),[j,S,I,R,B])}var Es="NEXT_BUTTON",Ss="SAVE_BUTTON",no=({email:e=null,disabled:t})=>{const{__:r}=n.useI18n(),o=n.useAppConfig(),a=n.useContentReader(),i=n.useNotification(),{requestSaveWithEvents:s,isLoading:l,nextButtonDisabled:u}=vs(),[p,h]=(0,m.useState)(null);(0,m.useEffect)(()=>{window?.navigator?.userAgent.includes("Macintosh")&&h(!0)},[]);const g=o.saveButtonEnabled&&(0,f.jsx)(T.ui_kit$Tooltip,{title:r(p?"Save by ⌘S":"Save by Ctrl+S"),placement:"bottom",children:(0,f.jsx)("span",{className:"em-analytics__email-save-tooltip-target",children:(0,f.jsx)(T.ui_kit$Button,{disabled:t,type:o.nextButtonEnabled?"default":"primary",block:"false",className:"em-analytics__email-save",loading:l,icon:(0,f.jsx)(n.EmIcons,{icon:"SaveOutlined",component:T.icons$SaveOutlined,size:16,strokeWidth:o.iconStrokeWidth}),onClick:async c=>{const y=c.currentTarget,_={...e,html:a()};try{await s(Ss,_)}catch(E){i.fromError("SAVE_BUTTON_CLICK_EVENT_ERROR",n.getEmailDesc(_),E,!0)}finally{try{y?.blur?.()}catch{}}},children:o.saveButtonText||r("Save")})})},"save-button"),v=o.nextButtonEnabled&&(0,f.jsx)(T.ui_kit$Button,{disabled:t||u,type:"primary",block:"false",className:"em-analytics__email-save",icon:o.primaryCommandButtonIcon,loading:l,onClick:async()=>{const c={...e,html:a()};await s(Es,c)},children:o.nextButtonText||r("Continue")},"next-button");return(0,f.jsx)(f.Fragment,{children:o.saveButtonEnabled&&o.nextButtonEnabled?(0,f.jsx)(T.ui_kit$Space,{children:[g,v]}):[g,v]})};no.propTypes={email:Ye.default.shape({id:Ye.default.string,isNew:Ye.default.bool,title:Ye.default.string,lock:Ye.default.bool,subject:Ye.default.string,html:Ye.default.string,description:Ye.default.string,utm_parameters:Ye.default.shape({utm_source:Ye.default.string,utm_medium:Ye.default.string,utm_campaign:Ye.default.string,utm_term:Ye.default.string,utm_content:Ye.default.string}),project:Ye.default.number,is_template:Ye.default.bool}),disabled:Ye.default.bool};var ws=({open:e,codeSize:t,onMinimize:r,onDownloadAsIs:o,onCancel:a})=>{const{__:i}=n.useI18n(),s=n.formatCodeSize(t);return(0,f.jsx)(T.ui_kit$Modal,{open:e,onCancel:a,footer:null,className:"code-size-warning-modal",width:480,children:(0,f.jsxs)("div",{className:"code-size-warning-modal__content",children:[(0,f.jsx)("h3",{className:"code-size-warning-modal__title",children:i("Code Size Warning")}),(0,f.jsxs)("div",{className:"code-size-warning-modal__message",children:[(0,f.jsxs)("p",{children:[i("The current code size is")," ",(0,f.jsx)("strong",{children:s}),","," ",i("which exceeds the recommended 90 KB limit.")]}),(0,f.jsx)("p",{children:i("Large emails may have delivery issues and load slowly. We recommend minimizing code before exporting.")})]}),(0,f.jsxs)(T.ui_kit$Space,{className:"code-size-warning-modal__actions",size:"medium",children:[(0,f.jsx)(T.ui_kit$Button,{type:"primary",onClick:r,size:"large",children:i("Minimize code")}),(0,f.jsx)(T.ui_kit$Button,{onClick:o,size:"large",children:i("Download as is")})]})]})})};function ks(e){return e.includes("em-narrow-table")}function As(e){if(!e||ks(e))return!1;const t=e.includes("nl-container"),r=/row-content\s+stack/.test(e)||/stack\s+row-content/.test(e),o=/\brow-\d/.test(e),a=/_block\s+block-\d/.test(e),i=e.includes('role="presentation"');return t&&r&&(o||a)&&i}function Cs(e){return e?e.includes("em-narrow-table"):!1}function Is(e){return e.includes("em-narrow-table")}function Ts(e){return e.includes("i-amphtml")||e.includes("amp-runtime")||e.includes("amp-version")}function Ps(e){if(!e||Is(e)||Ts(e))return!1;const t=e.includes("es-wrapper"),r=/es-(?:header|content|footer)-body/.test(e);return t||r}function oo(){n.useAppConfig();const e=n.useIntegratorConfigValue("beeFreeConverterEnabled"),t=n.useIntegratorConfigValue("stripoConverterEnabled"),r=n.useIntegratorConfigValue("aiLayoutConverterEnabled"),o=e===!0,a=t===!0,i=r===!0;return{beeFreeConverterEnabled:o,stripoConverterEnabled:a,aiLayoutConverterEnabled:i,anyConverterEnabled:o||a||i}}function ao(e,t){return!e||Cs(e)?null:As(e)?t.beeFreeConverterEnabled?"beefree":null:Ps(e)?t.stripoConverterEnabled?"stripo":null:t.aiLayoutConverterEnabled?"ai":null}var Rs=()=>"emailmaker",xs={unisender:{id:"unisender",name:"Unisender",icon:"/images/integrations/unisender.svg",description:"Export emails to Unisender",cardDescription:"Mass mailing automation, audience segmentation, and campaign performance analytics.",apps:["emailmaker"],settingsFields:[{name:"api_key",type:"password",label:"API Key",required:!0,placeholder:"Enter Unisender API key",helpUrl:"https://app.unisender.com/ru/v5/cp/user/info/api"},{name:"sender_email",type:"email",label:"Sender Email",required:!0,placeholder:"sender@example.com",extra:"This email must be verified in Unisender"},{name:"sender_name",type:"text",label:"Sender Name",required:!0,placeholder:"e.g., Your Company"}],exportFields:[{name:"list_id",type:"number",label:"Contact List ID",required:!0,placeholder:"e.g., 123456"}]},mailganer:{id:"mailganer",name:"Mailganer",icon:"/images/integrations/mailganer.svg",description:"Export emails to Mailganer",cardDescription:"Contact sync, content personalization, and real-time campaign results tracking.",apps:["emailmaker"],settingsFields:[{name:"api_key",type:"password",label:"API Key",required:!0,placeholder:"Enter Mailganer API key",helpUrl:"https://mailganer.com/app/profile/"},{name:"from_email",type:"email",label:"Sender Email",required:!1,placeholder:"sender@example.com",extra:"This email must be verified in Mailganer"},{name:"from_name",type:"text",label:"Sender Name",required:!1,placeholder:"e.g., Your Company"}],exportFields:[{name:"name",type:"text",label:"Mailing Name",required:!0,placeholder:"e.g., Newsletter June 2026"},{name:"theme",type:"text",label:"Email Subject",required:!1,placeholder:"e.g., Special offer for you!"}]},sendsay:{id:"sendsay",name:"Sendsay",icon:"/images/integrations/sendsay.svg",description:"Export emails to Sendsay",cardDescription:"Mailing automation, audience segmentation, and email personalization.",apps:["emailmaker"],settingsFields:[{name:"login",type:"text",label:"Account Login",required:!0,placeholder:"e.g., myaccount or myaccount/sublogin",extra:"Your Sendsay account login (not email). For sublogin use format: account/sublogin",fullWidth:!0},{name:"api_key",type:"password",label:"API Key",required:!0,placeholder:"Enter Sendsay API key",helpUrl:"https://docs.sendsay.ru/sendsay-api/how-to-get-apikey"},{name:"from_email",type:"email",label:"Sender Email",required:!1,placeholder:"sender@example.com",extra:"This email must be verified in Sendsay"},{name:"from_name",type:"text",label:"Sender Name",required:!1,placeholder:"e.g., Your Company"}],exportFields:[{name:"name",type:"text",label:"Draft Name",required:!0,placeholder:"e.g., Newsletter June 2026"},{name:"subject",type:"text",label:"Email Subject",required:!0,placeholder:"e.g., Special offer for you!"}]},klaviyo:{id:"klaviyo",name:"Klaviyo",icon:"/images/integrations/klaviyo.svg",description:"Export emails to Klaviyo",apps:["useblocks"],settingsFields:[{name:"api_key",type:"password",label:"API Key",required:!0,placeholder:"e.g., pk_xxxxxxxx",helpUrl:"https://help.klaviyo.com/hc/en-us/articles/7423954176283-How-to-create-a-private-API-key",extra:"Use a custom key with templates:write and campaigns:write (or Full access). Campaigns-only is not enough — export creates a template first."},{name:"from_email",type:"email",label:"From Email",required:!0,placeholder:"sender@example.com",extra:"This email must be verified in Klaviyo"},{name:"from_name",type:"text",label:"From Name",required:!0,placeholder:"e.g., Your Company"}],exportFields:[{name:"list_id",type:"text",label:"List ID",required:!0,placeholder:"e.g., ABC123",helpText:"Find your List ID in Klaviyo: Lists & Segments → List → Settings"},{name:"subject",type:"text",label:"Email Subject",required:!1,placeholder:"e.g., Special offer for you!"}]},campaign_monitor:{id:"campaign_monitor",name:"Campaign Monitor",icon:"/images/integrations/campaign_monitor.svg",description:"Export emails to Campaign Monitor",apps:["useblocks"],settingsFields:[{name:"api_key",type:"password",label:"API Key",required:!0,placeholder:"Enter API Key",fullWidth:!0,helpUrl:"https://help.campaignmonitor.com/s/article/api-keys"},{name:"client_id",type:"text",label:"Client ID",required:!0,placeholder:"e.g., 4a397ccaaa55eb4e6aa1221e1e2d7122",helpText:"Find in Account Settings → API Keys"},{name:"from_email",type:"email",label:"From Email",required:!0,placeholder:"sender@example.com",extra:"Must be verified in Campaign Monitor"},{name:"from_name",type:"text",label:"From Name",required:!0,placeholder:"e.g., Your Company"}],exportFields:[{name:"name",type:"text",label:"Campaign Name",required:!0,placeholder:"e.g., Newsletter June 2026"},{name:"list_id",type:"text",label:"List ID",required:!0,placeholder:"e.g., a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1",helpText:"Find in Lists → List ID"},{name:"subject",type:"text",label:"Email Subject",required:!1,placeholder:"e.g., Special offer for you!"}]},constant_contact:{id:"constant_contact",name:"Constant Contact",icon:"/images/integrations/constant_contact.svg",description:"Export emails to Constant Contact",apps:["useblocks"],settingsFields:[{name:"access_token",type:"password",label:"Access Token",required:!0,placeholder:"OAuth2 Bearer token",fullWidth:!0,helpText:"Get from Constant Contact Developer Portal. Token expires in 24 hours.",helpUrl:"https://developer.constantcontact.com/api_guide/getting_started.html"},{name:"from_email",type:"email",label:"From Email",required:!0,placeholder:"sender@example.com",extra:"Must be confirmed in Constant Contact"},{name:"from_name",type:"text",label:"From Name",required:!0,placeholder:"e.g., Your Company"}],exportFields:[{name:"name",type:"text",label:"Campaign Name",required:!0,placeholder:"e.g., Newsletter June 2026"},{name:"list_id",type:"text",label:"Contact List ID",required:!0,placeholder:"e.g., fa32f620-6d82-11e8-8b59-fa163e56c9b0",helpText:"Find via GET /contact_lists API"},{name:"subject",type:"text",label:"Email Subject",required:!1,placeholder:"e.g., Special offer for you!"}]},bento:{id:"bento",name:"Bento",icon:"/images/integrations/bento.svg",description:"Export emails to Bento",apps:["useblocks"],settingsFields:[{name:"publishable_key",type:"password",label:"Publishable Key",required:!0,placeholder:"Enter Publishable Key",fullWidth:!0,helpUrl:"https://app.bentonow.com/account/teams"},{name:"secret_key",type:"password",label:"Secret Key",required:!0,placeholder:"Enter Secret Key",fullWidth:!0},{name:"site_uuid",type:"text",label:"Site UUID",required:!0,placeholder:"Your site UUID",helpText:"Find in Bento dashboard"},{name:"from_email",type:"email",label:"From Email",required:!0,placeholder:"sender@example.com",extra:"Must be an author in your Bento account"},{name:"from_name",type:"text",label:"From Name",required:!0,placeholder:"e.g., Your Company"}],exportFields:[{name:"name",type:"text",label:"Broadcast Name",required:!0,placeholder:"e.g., Newsletter June 2026"},{name:"subject",type:"text",label:"Email Subject",required:!1,placeholder:"e.g., Special offer for you!"},{name:"inclusive_tags",type:"text",label:"Tags (inclusive)",required:!1,placeholder:"e.g., subscribers,newsletter",helpText:"Comma-separated tags to send to. Default: subscribers"}]},dotdigital:{id:"dotdigital",name:"Dotdigital",icon:"/images/integrations/dotdigital.svg",description:"Export emails to Dotdigital",apps:["useblocks"],settingsFields:[{name:"username",type:"text",label:"API Username",required:!0,placeholder:"API user email",helpText:"API user email from Settings → Access → API users",helpUrl:"https://developer.dotdigital.com/docs/setting-up-an-api-user"},{name:"password",type:"password",label:"API Password",required:!0,placeholder:"API user password",fullWidth:!0},{name:"region",type:"text",label:"Region",required:!0,placeholder:"r1, r2, or r3",helpText:"r1=Europe, r2=North America, r3=Asia Pacific"},{name:"from_email",type:"email",label:"From Email",required:!0,placeholder:"sender@example.com",fullWidth:!0,extra:"Use an email registered as a Custom from address in Dotdigital (see support.dotdigital.com — “Create a custom from address”). If it does not match, export uses your account default sender."},{name:"from_name",type:"text",label:"From Name",required:!0,placeholder:"e.g., Your Company"}],exportFields:[{name:"name",type:"text",label:"Campaign Name",required:!0,placeholder:"e.g., Newsletter June 2026"},{name:"subject",type:"text",label:"Email Subject",required:!1,placeholder:"e.g., Special offer for you!"}]},getresponse:{id:"getresponse",name:"GetResponse",icon:"/images/integrations/getresponse.svg",description:"Export emails to GetResponse",apps:["useblocks"],settingsFields:[{name:"api_key",type:"password",label:"API Key",required:!0,placeholder:"Enter API Key",fullWidth:!0,helpUrl:"https://app.getresponse.com/api"},{name:"from_field_id",type:"text",label:"From Field ID",required:!0,placeholder:"e.g., V",helpText:"Find via GET /from-fields API"}],exportFields:[{name:"name",type:"text",label:"Newsletter Name",required:!0,placeholder:"e.g., Newsletter June 2026"},{name:"campaign_id",type:"text",label:"Campaign ID",required:!0,placeholder:"e.g., C",helpText:"List/campaign ID from GET /campaigns"},{name:"subject",type:"text",label:"Email Subject",required:!1,placeholder:"e.g., Special offer for you!"}]},brevo:{id:"brevo",name:"Brevo",icon:"/images/integrations/brevo.svg",description:"Export emails to Brevo",apps:["useblocks"],settingsFields:[{name:"api_key",type:"password",label:"API Key",required:!0,placeholder:"Enter API Key",fullWidth:!0,helpUrl:"https://help.brevo.com/hc/en-us/articles/209467485-Create-and-manage-your-API-keys"},{name:"from_email",type:"email",label:"From Email",required:!0,placeholder:"sender@example.com",extra:"Must be verified in Brevo"},{name:"from_name",type:"text",label:"From Name",required:!0,placeholder:"e.g., Your Company"}],exportFields:[{name:"name",type:"text",label:"Campaign Name",required:!0,placeholder:"e.g., Newsletter June 2026"},{name:"list_id",type:"number",label:"List ID",required:!0,placeholder:"e.g., 2",helpText:"Find in Contacts → Lists"},{name:"subject",type:"text",label:"Email Subject",required:!1,placeholder:"e.g., Special offer for you!"}]},activecampaign:{id:"activecampaign",name:"ActiveCampaign",icon:"/images/integrations/activecampaign.svg",description:"Export emails as draft campaigns to ActiveCampaign",apps:["useblocks"],settingsFields:[{name:"api_url",type:"text",label:"API URL",required:!0,placeholder:"e.g., https://youraccount.api-us1.com",helpText:"Find in Settings → Developer → API Access",helpUrl:"https://help.activecampaign.com/hc/en-us/articles/207317590-Getting-started-with-the-API"},{name:"api_key",type:"password",label:"API Key",required:!0,placeholder:"Enter API Key",fullWidth:!0},{name:"list_id",type:"text",label:"List ID",required:!0,placeholder:"e.g., 1",extra:"Find in Lists → Click your list → The ID is in the URL (e.g., /app/contacts?listid=1)"},{name:"from_email",type:"email",label:"From Email",required:!0,placeholder:"sender@example.com",extra:"Must be verified in ActiveCampaign"},{name:"from_name",type:"text",label:"From Name",required:!0,placeholder:"e.g., Your Company"}],exportFields:[{name:"name",type:"text",label:"Campaign Name",required:!0,placeholder:"e.g., Newsletter June 2026"},{name:"subject",type:"text",label:"Email Subject",required:!1,placeholder:"e.g., Special offer for you!"}]},salesforce_mc:{id:"salesforce_mc",name:"Salesforce",icon:"/images/integrations/salesforce.svg",description:"Export emails to Salesforce",apps:["useblocks"],settingsFields:[{name:"subdomain",type:"text",label:"Tenant Subdomain",required:!0,placeholder:"e.g., mc563885gzs27c5t9-63k636ttgm",helpText:"Find in Installed Packages → API Integration → REST Base URI",helpUrl:"https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/your-subdomain-tenant-specific-endpoints.html"},{name:"client_id",type:"text",label:"Client ID",required:!0,placeholder:"From Installed Package"},{name:"client_secret",type:"password",label:"Client Secret",required:!0,placeholder:"From Installed Package"},{name:"from_email",type:"email",label:"From Email",required:!0,placeholder:"sender@example.com",extra:"Must be verified in Marketing Cloud"},{name:"from_name",type:"text",label:"From Name",required:!0,placeholder:"e.g., Your Company"}],exportFields:[{name:"name",type:"text",label:"Email Name",required:!0,placeholder:"e.g., Newsletter June 2026"},{name:"subject",type:"text",label:"Email Subject",required:!1,placeholder:"e.g., Special offer for you!"}]},hubspot:{id:"hubspot",name:"HubSpot Email",icon:"/images/integrations/hubspot.svg",description:"Export emails to HubSpot",apps:["useblocks"],settingsFields:[{name:"api_key",type:"password",label:"Private App Access Token",required:!0,placeholder:"e.g., pat-na1-xxxx",helpUrl:"https://developers.hubspot.com/docs/api/private-apps"},{name:"from_email",type:"email",label:"From Email",required:!0,placeholder:"sender@example.com",extra:"This email must be verified in HubSpot"},{name:"from_name",type:"text",label:"From Name",required:!0,placeholder:"e.g., Your Company"}],exportFields:[{name:"name",type:"text",label:"Email Name",required:!0,placeholder:"e.g., Newsletter June 2026"},{name:"subject",type:"text",label:"Email Subject",required:!1,placeholder:"e.g., Special offer for you!"}]},mailchimp:{id:"mailchimp",name:"Mailchimp",icon:"/images/integrations/mailchimp.svg",description:"Export emails to Mailchimp",apps:["useblocks"],settingsFields:[{name:"api_key",type:"password",label:"API Key",required:!0,placeholder:"e.g., xxxxxxxx-us1",helpUrl:"https://mailchimp.com/help/about-api-keys/"},{name:"from_email",type:"email",label:"From Email",required:!0,placeholder:"sender@example.com",extra:"This email must be verified in Mailchimp"},{name:"from_name",type:"text",label:"From Name",required:!0,placeholder:"e.g., Your Company"}],exportFields:[{name:"list_id",type:"text",label:"Audience ID",required:!0,placeholder:"e.g., a1b2c3d4e5",helpText:"Find your Audience ID in Audience settings → Audience name and defaults"},{name:"subject",type:"text",label:"Email Subject",required:!1,placeholder:"e.g., Special offer for you!"}]},enkod:{id:"enkod",name:"enKod",icon:"/images/integrations/enkod.svg",description:"Export emails to enKod",cardDescription:"Multi-channel campaigns automation (email, SMS, push, WhatsApp, and more).",apps:["emailmaker"],settingsFields:[{name:"api_key",type:"password",label:"API Key",required:!0,placeholder:"Enter enKod API key",helpUrl:"https://help.enkod.io/doku.php/api:start"},{name:"sender_email",type:"email",label:"Sender Email",required:!0,placeholder:"sender@example.com"},{name:"sender_name",type:"text",label:"Sender Name",required:!0,placeholder:"e.g., Your Company"}],exportFields:[{name:"subject",type:"text",label:"Email Subject",required:!0,placeholder:"e.g., Special offer for you!"}]}},Os=(e,t)=>!e.apps||e.apps.length===0?!0:e.apps.includes(t),Yr=e=>{const t=xs[e];if(t&&Os(t,Rs()))return t},Ms=(e,t)=>{const r={placeholder:e.placeholder?t(e.placeholder):void 0,style:{width:"100%"}};switch(e.type){case"number":return(0,f.jsx)(T.ui_kit$InputNumber,{...r,min:1});case"email":return(0,f.jsx)(T.ui_kit$Input,{...r,type:"email"});default:return(0,f.jsx)(T.ui_kit$Input,{...r})}},js=({integration:e,visible:t,loading:r=!1,onConfirm:o,onCancel:a,__:i})=>{const[s]=T.ui_kit$Form.useForm(),l=e.exportFields||[];(0,m.useEffect)(()=>{t||s.resetFields()},[t,s]);const u=()=>{r||s.validateFields().then(g=>{o(g)})},p=()=>{s.resetFields(),a()};if(l.length===0)return null;const h=l.find(g=>g.helpText);return(0,f.jsxs)(T.ui_kit$Modal,{title:i(`Export to ${e.name}`),open:t,onOk:u,onCancel:p,okText:i("Export"),cancelText:i("Cancel"),confirmLoading:r,cancelButtonProps:{disabled:r},children:[h&&(0,f.jsx)(T.ui_kit$Alert,{title:i(h.label),description:i(h.helpText),type:"info",showIcon:!0,style:{marginBottom:16}}),(0,f.jsx)(T.ui_kit$Form,{form:s,layout:"vertical",children:l.map(g=>(0,f.jsx)(T.ui_kit$Form.Item,{label:i(g.label),name:g.name,rules:[...g.required?[{required:!0,message:i(`Please enter ${g.label.toLowerCase()}`)}]:[],...g.type==="number"?[{type:"number",message:i(`${g.label} must be a number`)}]:[]],children:Ms(g,i)},g.name))})]})},er=n.createApi({reducerPath:"unisenderApi",baseQuery:n.fetchBaseQuery({baseUrl:"https://px0.emailmaker.ru/"}),endpoints:e=>({createEmailMessage:e.mutation({query:t=>{const r="https://api.unisender.com/ru/api/createEmailMessage",o=new URLSearchParams;return o.append("format","json"),Object.entries(t).forEach(([a,i])=>{o.append(a,String(i))}),{url:`?proxy_url=${encodeURIComponent(r)}`,method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:o.toString()}}})})}),{useCreateEmailMessageMutation:Ls}=er,tr=n.createApi({reducerPath:"mailganerApi",baseQuery:n.fetchBaseQuery({baseUrl:"https://mailganer.com"}),endpoints:e=>({createMailing:e.mutation({query:t=>{const r=new URLSearchParams;return r.append("api_key",t.api_key),r.append("name",t.name),r.append("html-content",t.html_content),t.theme&&r.append("theme",t.theme),t.from_name&&r.append("from_name",t.from_name),t.from_email&&r.append("from_email",t.from_email),t.segment_id&&r.append("segment_id",String(t.segment_id)),t.utm_campaign&&r.append("utm_campaign",t.utm_campaign),t.utm_source&&r.append("utm_source",t.utm_source),t.utm_medium&&r.append("utm_medium",t.utm_medium),{url:"/api/v1/mailing/create/",method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:r.toString()}}})})}),{useCreateMailingMutation:Ds}=tr,rr=n.createApi({reducerPath:"sendsayApi",baseQuery:n.fetchBaseQuery({baseUrl:"https://api.sendsay.ru"}),endpoints:e=>({createDraft:e.mutation({query:t=>{const r={action:"issue.draft.set",apikey:t.api_key,return_fresh_obj:1,obj:{name:t.name,letter:{subject:t.subject,"from.name":t.from_name||void 0,"from.email":t.from_email||void 0,message:{html:t.html_content}}}};return{url:`/general/api/v100/json/${t.login.split("/").map(o=>encodeURIComponent(o)).join("/")}`,method:"POST",headers:{"Content-Type":"application/json"},body:r}}})})}),{useCreateDraftMutation:Ns}=rr,nr=n.createApi({reducerPath:"altcraftApi",baseQuery:n.fetchBaseQuery({baseUrl:"https://px0.emailmaker.ru/"}),endpoints:e=>({addTemplate:e.mutation({query:t=>{const r=`${t.api_url}/api/v1.1/templates/add`,o={token:t.api_key,name:t.name,channels:[{sid:"email",fields:{html:t.html_content,text:"",subject:t.subject||t.name,from_email:t.from_email||"",from_name:t.from_name||"",replyto_email:"",replyto_name:"",is_not_inline:!0}}],is_draft:t.is_draft??!1};return{url:`?proxy_url=${encodeURIComponent(r)}`,method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)}}})})}),{useAddTemplateMutation:Fs}=nr,Bs=e=>e.replace(/<style[^>]*>[\s\S]*?<\/style>/gi,"").replace(/<script[^>]*>[\s\S]*?<\/script>/gi,"").replace(/<[^>]+>/g," ").replace(/&nbsp;/g," ").replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/\s+/g," ").trim(),or=n.createApi({reducerPath:"enkodApi",baseQuery:n.fetchBaseQuery({baseUrl:"https://api.enkod.ru"}),endpoints:e=>({createMessage:e.mutation({query:t=>{const r=Bs(t.html_content)||t.subject,o={message:{subject:t.subject,fromEmail:t.sender_email||"",fromName:t.sender_name||"",html:t.html_content,plainText:r},isDraft:!0};return{url:"/v1/message/onetime/",method:"POST",headers:{"Content-Type":"application/json",Apikey:t.api_key},body:o}}})})}),{useCreateMessageMutation:Us}=or,Gs=e=>{const t=e.split("-");return t.length>1?t[1]:"us1"},$s=e=>`https://${Gs(e)}.api.mailchimp.com/3.0`,ar=n.createApi({reducerPath:"mailchimpApi",baseQuery:n.fetchBaseQuery({baseUrl:"https://px0.emailmaker.ru/"}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(t,r,o,a)=>{const i=$s(t.api_key),s=btoa(`anystring:${t.api_key}`),l={type:"regular",recipients:{list_id:t.list_id},settings:{subject_line:t.subject,from_name:t.from_name,reply_to:t.from_email}},u=await a({url:`?proxy_url=${encodeURIComponent(`${i}/campaigns`)}`,method:"POST",headers:{"Content-Type":"application/json",Authorization:`Basic ${s}`},body:JSON.stringify(l)});if(u.error){const v=u.error,c=v?.data?.detail||v?.error||String(u.error),y=v?.data?.errors;return{error:{status:"CUSTOM_ERROR",error:y?.length?y.map(_=>_.detail||_.title).join("; "):c}}}const p=u.data;if(!p?.id)return{error:{status:"CUSTOM_ERROR",error:u.data?.errors?.map(v=>v.detail||v.title).join("; ")||"Failed to create campaign"}};const h={html:t.html},g=await a({url:`?proxy_url=${encodeURIComponent(`${i}/campaigns/${p.id}/content`)}`,method:"PUT",headers:{"Content-Type":"application/json",Authorization:`Basic ${s}`},body:JSON.stringify(h)});if(g.error){const v=g.error;return{error:{status:"CUSTOM_ERROR",error:v?.data?.detail||v?.error||String(g.error)}}}return{data:{id:p.id,status:p.status,web_id:p.web_id}}}})})}),{useCreateCampaignMutation:qs}=ar,Qr="https://a.klaviyo.com/api",Hs="2025-04-15",zs=e=>({"Content-Type":"application/json",Accept:"application/json",Authorization:`Klaviyo-API-Key ${e}`,revision:Hs}),ir=n.createApi({reducerPath:"klaviyoApi",baseQuery:n.fetchBaseQuery({baseUrl:"https://px0.emailmaker.ru/"}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(t,r,o,a)=>{const i=zs(t.api_key),s={data:{type:"template",attributes:{name:`Email ${Date.now()}`,editor_type:"CODE",html:t.html}}},l=await a({url:`?proxy_url=${encodeURIComponent(`${Qr}/templates`)}`,method:"POST",headers:i,body:JSON.stringify(s)});if(l.error){const E=l.error,A=E?.data?.errors,C=E?.data?.detail;return{error:{status:"CUSTOM_ERROR",error:A?.length?A.map(x=>x.detail||x.status).join("; "):C||E?.error||String(l.error)}}}const u=l.data?.data?.id;if(!u)return{error:{status:"CUSTOM_ERROR",error:"Failed to create template"}};const p={data:{type:"campaign",attributes:{name:`Campaign ${Date.now()}`,audiences:{included:[t.list_id],excluded:[]},send_strategy:{method:"immediate"},"campaign-messages":{data:[{type:"campaign-message",attributes:{definition:{channel:"email",label:t.subject,content:{subject:t.subject,from_email:t.from_email,from_label:t.from_name,reply_to_email:t.from_email}}}}]}}}},h=await a({url:`?proxy_url=${encodeURIComponent(`${Qr}/campaigns`)}`,method:"POST",headers:i,body:JSON.stringify(p)});if(h.error){const E=h.error,A=E?.data?.errors,C=E?.data?.detail;return{error:{status:"CUSTOM_ERROR",error:A?.length?A.map(x=>x.detail||x.status).join("; "):C||E?.error||String(h.error)}}}const g=h.data,v=g?.data?.relationships?.["campaign-messages"]?.data?.[0]?.id,c=g?.data?.id;if(!v)return{error:{status:"CUSTOM_ERROR",error:"Failed to get campaign message from campaign"}};const y={data:{type:"campaign-message",id:v,relationships:{template:{data:{type:"template",id:u}}}}},_=await a({url:`?proxy_url=${encodeURIComponent(`${Qr}/campaign-message-assign-template`)}`,method:"POST",headers:i,body:JSON.stringify(y)});if(_.error){const E=_.error,A=E?.data?.errors,C=E?.data?.detail;return{error:{status:"CUSTOM_ERROR",error:A?.length?A.map(x=>x.detail||x.status).join("; "):C||E?.error||String(_.error)}}}return{data:{id:c,campaign_message_id:v}}}})})}),{useCreateCampaignMutation:Vs}=ir,Ws="https://api.hubapi.com",Ks=e=>({"Content-Type":"application/json",Authorization:`Bearer ${e}`}),sr=n.createApi({reducerPath:"hubspotApi",baseQuery:n.fetchBaseQuery({baseUrl:"https://px0.emailmaker.ru/"}),endpoints:e=>({createEmail:e.mutation({queryFn:async(t,r,o,a)=>{const i=Ks(t.api_key),s={name:t.name,subject:t.subject,from:{fromName:t.from_name,replyTo:t.from_email},content:{templatePath:"@hubspot/email/dnd/plain_text.html",widgets:{"module-0-1-1":{body:{html:t.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"}}}},l=await a({url:`?proxy_url=${encodeURIComponent(`${Ws}/marketing/v3/emails/`)}`,method:"POST",headers:i,body:JSON.stringify(s)});if(l.error){const p=l.error,h=p?.data?.errors,g=p?.data?.message;return{error:{status:"CUSTOM_ERROR",error:h?.length?h.map(v=>v.message||v.errorType).join("; "):g||p?.error||String(l.error)}}}const u=l.data;return u?.id?{data:{id:u.id}}:{error:{status:"CUSTOM_ERROR",error:l.data?.errors?.map(p=>p.message||p.errorType).join("; ")||"Failed to create email"}}}})})}),{useCreateEmailMutation:Ys}=sr,lr=n.createApi({reducerPath:"salesforceMcApi",baseQuery:n.fetchBaseQuery({baseUrl:"https://px0.emailmaker.ru/"}),endpoints:e=>({createEmail:e.mutation({queryFn:async(t,r,o,a)=>{const i=`https://${t.subdomain}.auth.marketingcloudapis.com/v2/token`,s=await a({url:`?proxy_url=${encodeURIComponent(i)}`,method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({grant_type:"client_credentials",client_id:t.client_id,client_secret:t.client_secret})});if(s.error){const c=s.error;return{error:{status:"CUSTOM_ERROR",error:c?.data?.error_description||c?.data?.error||c?.error||String(s.error)}}}const l=s.data,u=l?.access_token,p=l?.rest_instance_url;if(!u||!p)return{error:{status:"CUSTOM_ERROR",error:l?.error_description||l?.error||"Failed to get access token"}};const h={name:t.name,assetType:{id:208,name:"htmlemail"},views:{html:{content:t.html},text:{},subjectline:{content:t.subject},preheader:{}},data:{email:{options:{characterEncoding:"utf-8"}}}},g=await a({url:`?proxy_url=${encodeURIComponent(`${p.replace(/\/$/,"")}/asset/v1/content/assets`)}`,method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${u}`},body:JSON.stringify(h)});if(g.error){const c=g.error,y=c?.data?.errors,_=c?.data?.message;return{error:{status:"CUSTOM_ERROR",error:y?.length?y.map(E=>E.message||E.documentation).join("; "):_||c?.error||String(g.error)}}}const v=g.data;return v?.id?{data:{id:v.id}}:{error:{status:"CUSTOM_ERROR",error:g.data?.errors?.map(c=>c.message).join("; ")||"Failed to create email"}}}})})}),{useCreateEmailMutation:Qs}=lr,Js=e=>e.replace(/\/$/,""),Xs=e=>e.replace(/<[^>]*>/g," ").replace(/\s+/g," ").trim()||" ",cr=n.createApi({reducerPath:"activecampaignApi",baseQuery:n.fetchBaseQuery({baseUrl:"https://px0.emailmaker.ru/"}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(t,r,o,a)=>{const i=Js(t.api_url),s=t.api_key,l={"Content-Type":"application/json","Api-Token":s},u=await a({url:`?proxy_url=${encodeURIComponent(`${i}/api/3/addresses`)}`,method:"GET",headers:{"Api-Token":s}});if(u.error)return{error:{status:"CUSTOM_ERROR",error:"Failed to load mailing addresses. Check your API URL and Key."}};const p=u.data?.addresses??[],h=p.find(x=>x.isDefault==="1")??p[0];if(!h?.id)return{error:{status:"CUSTOM_ERROR",error:"NO_MAILING_ADDRESS"}};const g={message:{name:t.name,fromname:t.from_name,fromemail:t.from_email,email:t.from_email,reply2:t.from_email,subject:t.subject,html:t.html,text:Xs(t.html),preheader_text:"",format:"mime"}},v=await a({url:`?proxy_url=${encodeURIComponent(`${i}/api/3/messages`)}`,method:"POST",headers:l,body:JSON.stringify(g)});if(v.error){const x=v.error;return{error:{status:"CUSTOM_ERROR",error:x?.data?.message||x?.error||"Failed to create message."}}}const c=v.data?.message?.id;if(!c)return{error:{status:"CUSTOM_ERROR",error:"Message created but no ID returned."}};const y=`${i}/admin/api.php?api_action=campaign_create&api_output=json`,_=new URLSearchParams;_.append("type","single"),_.append("name",t.name),_.append("sdate","2099-12-31 12:00:00"),_.append("status","0"),_.append("public","1"),_.append("trackreads","1"),_.append("tracklinks","all"),_.append("htmlunsub","1"),_.append("textunsub","1"),_.append("addressid",String(h.id)),_.append(`p[${t.list_id}]`,t.list_id),_.append(`m[${c}]`,"100");const E=await a({url:`?proxy_url=${encodeURIComponent(y)}`,method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","Api-Token":s},body:_.toString()});if(E.error){const x=E.error;return{error:{status:"CUSTOM_ERROR",error:x?.data?.result_message||x?.error||"Message created, but campaign creation failed."}}}const A=E.data;if(Number(A?.result_code)===0)return{error:{status:"CUSTOM_ERROR",error:A?.result_message||"Campaign creation failed (v1 API)."}};const C=A?.id;return C?{data:{campaignId:String(C)}}:{error:{status:"CUSTOM_ERROR",error:A?.result_message||"Campaign created but no ID returned."}}}})})}),{useCreateCampaignMutation:Zs}=cr,el="https://api.brevo.com/v3",ur=n.createApi({reducerPath:"brevoApi",baseQuery:n.fetchBaseQuery({baseUrl:"https://px0.emailmaker.ru/"}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(t,r,o,a)=>{const i={name:t.name,subject:t.subject,sender:{name:t.from_name,email:t.from_email},htmlContent:t.html,recipients:{listIds:[t.list_id]}},s=await a({url:`?proxy_url=${encodeURIComponent(`${el}/emailCampaigns`)}`,method:"POST",headers:{"Content-Type":"application/json","api-key":t.api_key},body:JSON.stringify(i)});if(s.error){const u=s.error;return{error:{status:"CUSTOM_ERROR",error:u?.data?.message||u?.data?.code||u?.error||String(s.error)}}}const l=s.data;return l?.id?{data:{id:l.id}}:{error:{status:"CUSTOM_ERROR",error:s.data?.message||"Failed to create campaign"}}}})})}),{useCreateCampaignMutation:tl}=ur,rl="https://api.createsend.com/api/v3.3",nl=e=>`Basic ${btoa(`${e}:x`)}`,dr=n.createApi({reducerPath:"campaignMonitorApi",baseQuery:n.fetchBaseQuery({baseUrl:"https://px0.emailmaker.ru/"}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(t,r,o,a)=>{const i={Name:t.name,Subject:t.subject,FromName:t.from_name,FromEmail:t.from_email,ReplyTo:t.from_email,HtmlUrl:t.html_url,ListIDs:[t.list_id],InlineCss:!0},s=await a({url:`?proxy_url=${encodeURIComponent(`${rl}/campaigns/${t.client_id}.json`)}`,method:"POST",headers:{"Content-Type":"application/json",Authorization:nl(t.api_key)},body:JSON.stringify(i)});if(s.error){const p=s.error;return{error:{status:"CUSTOM_ERROR",error:p?.data?.Message||p?.error||String(s.error)}}}const l=s.data,u=typeof l=="string"?l:l?.id;return!u||typeof u!="string"?{error:{status:"CUSTOM_ERROR",error:l?.Message||"Failed to create campaign"}}:{data:{id:u}}}})})}),{useCreateCampaignMutation:ol}=dr,io="https://api.cc.email/v3",al=e=>e.includes("[[trackingImage]]")?e:e.replace(/<body([^>]*)>/i,"<body$1>[[trackingImage]]"),mr=n.createApi({reducerPath:"constantContactApi",baseQuery:n.fetchBaseQuery({baseUrl:"https://px0.emailmaker.ru/"}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(t,r,o,a)=>{const i=al(t.html),s={name:t.name,email_campaign_activities:[{format_type:5,from_email:t.from_email,reply_to_email:t.from_email,from_name:t.from_name,subject:t.subject,html_content:i}]},l=await a({url:`?proxy_url=${encodeURIComponent(`${io}/emails`)}`,method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.access_token}`},body:JSON.stringify(s)});if(l.error){const c=l.error;return{error:{status:"CUSTOM_ERROR",error:c?.data?.error_message||c?.data?.error_key||c?.error||String(l.error)}}}const u=l.data,p=u?.campaign_activities?.find(c=>c.role==="primary_email")?.campaign_activity_id,h=u?.campaign_id;if(!p||!h)return{error:{status:"CUSTOM_ERROR",error:"Failed to create campaign"}};const g={campaign_activity_id:p,campaign_id:h,role:"primary_email",contact_list_ids:[t.list_id],segment_ids:[],current_status:"DRAFT",format_type:5,from_email:t.from_email,from_name:t.from_name,reply_to_email:t.from_email,subject:t.subject,html_content:i},v=await a({url:`?proxy_url=${encodeURIComponent(`${io}/emails/activities/${p}`)}`,method:"PUT",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.access_token}`},body:JSON.stringify(g)});if(v.error){const c=v.error;return{error:{status:"CUSTOM_ERROR",error:c?.data?.error_message||c?.data?.error_key||c?.error||String(v.error)}}}return{data:{campaign_id:h}}}})})}),{useCreateCampaignMutation:il}=mr,sl="https://api.getresponse.com/v3",ll=e=>`api-key ${e}`,pr=n.createApi({reducerPath:"getresponseApi",baseQuery:n.fetchBaseQuery({baseUrl:"https://px0.emailmaker.ru/"}),endpoints:e=>({createNewsletter:e.mutation({queryFn:async(t,r,o,a)=>{const i=t.html.replace(/<[^>]*>/g," ").replace(/\s+/g," ").trim(),s={name:t.name,type:"draft",subject:t.subject,fromField:{fromFieldId:t.from_field_id},replyTo:{fromFieldId:t.from_field_id},campaign:{campaignId:t.campaign_id},content:{html:t.html,plain:i||"Newsletter"},flags:["openrate","clicktrack"],sendSettings:{selectedCampaigns:[t.campaign_id]}},l=await a({url:`?proxy_url=${encodeURIComponent(`${sl}/newsletters`)}`,method:"POST",headers:{"Content-Type":"application/json","X-Auth-Token":ll(t.api_key)},body:JSON.stringify(s)});if(l.error){const p=l.error;return{error:{status:"CUSTOM_ERROR",error:p?.data?.message||p?.data?.code||p?.error||String(l.error)}}}const u=l.data;return u?.newsletterId?{data:{newsletterId:u.newsletterId}}:{error:{status:"CUSTOM_ERROR",error:l.data?.message||"Failed to create newsletter"}}}})})}),{useCreateNewsletterMutation:cl}=pr,ul=e=>`https://${e||"r1"}-api.dotdigital.com/v2`,so=(e,t)=>`Basic ${btoa(`${e}:${t}`)}`,lo=e=>e&&typeof e=="object"&&"data"in e&&e.data!==void 0?e.data:e,co=e=>e.trim().toLowerCase(),fr=n.createApi({reducerPath:"dotdigitalApi",baseQuery:n.fetchBaseQuery({baseUrl:"https://px0.emailmaker.ru/"}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(t,r,o,a)=>{const i=t.html.replace(/<[^>]*>/g," ").replace(/\s+/g," ").trim(),s=ul(t.region),l={"Content-Type":"application/json",Authorization:so(t.username,t.password)},u=await a({url:`?proxy_url=${encodeURIComponent(`${s}/custom-from-addresses`)}`,method:"GET",headers:{Authorization:so(t.username,t.password)}});let p=[];if(!u.error){const E=lo(u.data);Array.isArray(E)?p=E:E&&typeof E=="object"&&Array.isArray(E.items)&&(p=E.items)}const h=co(t.from_email),g=p.find(E=>E.email&&co(E.email)===h),v={name:t.name,subject:t.subject,fromName:t.from_name,htmlContent:t.html,plainTextContent:i||"Newsletter"},c=!g?.id;g?.id!=null&&(v.fromAddress={id:g.id});const y=await a({url:`?proxy_url=${encodeURIComponent(`${s}/campaigns`)}`,method:"POST",headers:l,body:JSON.stringify(v)});if(y.error){const E=y.error;return{error:{status:"CUSTOM_ERROR",error:E?.data?.message||E?.error||String(y.error)}}}const _=lo(y.data);return _?.id?{data:{id:_.id,usedAccountDefaultFromAddress:c}}:{error:{status:"CUSTOM_ERROR",error:y.data?.message||_?.message||"Failed to create campaign"}}}})})}),{useCreateCampaignMutation:dl}=fr,ml="https://app.bentonow.com/api/v1",pl=(e,t)=>`Basic ${btoa(`${e}:${t}`)}`,hr=n.createApi({reducerPath:"bentoApi",baseQuery:n.fetchBaseQuery({baseUrl:"https://px0.emailmaker.ru/"}),endpoints:e=>({createBroadcast:e.mutation({queryFn:async(t,r,o,a)=>{const i={broadcasts:[{name:t.name,subject:t.subject,content:t.html,type:"raw",from:{email:t.from_email,name:t.from_name},inclusive_tags:t.inclusive_tags||"subscribers",exclusive_tags:"",segment_id:t.segment_id||"",batch_size_per_hour:500,approved:!1}]},s=`${ml}/batch/broadcasts?site_uuid=${encodeURIComponent(t.site_uuid)}`,l=await a({url:`?proxy_url=${encodeURIComponent(s)}`,method:"POST",headers:{"Content-Type":"application/json",Authorization:pl(t.publishable_key,t.secret_key),"User-Agent":"EmailMaker/1.0"},body:JSON.stringify(i)});if(l.error){const u=l.error;return{error:{status:"CUSTOM_ERROR",error:u?.data?.message||u?.error||String(l.error)}}}return{data:{count:l.data?.count??1}}}})})}),{useCreateBroadcastMutation:fl}=hr,hl=()=>{const{__:e}=n.useI18n(),[t,{isLoading:r}]=Ls(),[o,{isLoading:a}]=Ds(),[i,{isLoading:s}]=Ns(),[l,{isLoading:u}]=Fs(),[p,{isLoading:h}]=Us(),[g,{isLoading:v}]=qs(),[c,{isLoading:y}]=Vs(),[_,{isLoading:E}]=Ys(),[A,{isLoading:C}]=Qs(),[x,{isLoading:N}]=Zs(),[B,{isLoading:k}]=tl(),[P,{isLoading:W}]=ol(),[G,{isLoading:me}]=il(),[ce,{isLoading:oe}]=cl(),[pe,{isLoading:te}]=dl(),[Q,{isLoading:ue}]=fl(),Ce=r||a||s||u||h||v||y||E||C||N||k||W||me||oe||te||ue,Be={unisender:async(b,I,R,j)=>{try{const S=await t({api_key:b.api_key,sender_name:b.sender_name,sender_email:b.sender_email,subject:j,body:R,list_id:I.list_id,generate_text:1,lang:"ru"}).unwrap();return S.result?.message_id?{success:!0,message:e("Email successfully created!"),link:{url:`https://app.unisender.com/ru/v5/spa/email-campaign/editor/${S.result.message_id}?step=send`,text:e("Open in Unisender")}}:S.error?{success:!1,error:S.error+(S.code?` (${S.code})`:"")}:{success:!1,error:e("Unknown error")}}catch(S){return{success:!1,error:S.message||e("Failed to create email")}}},mailganer:async(b,I,R,j)=>{try{const S=await o({api_key:b.api_key,name:I.name,html_content:R,theme:I.theme||j,from_name:b.from_name,from_email:b.from_email}).unwrap();return S.status===1&&S.public_id?{success:!0,message:e("Mailing successfully created!"),link:S.step1_url?{url:S.step1_url,text:e("Open in Mailganer")}:void 0}:S.error?{success:!1,error:S.error}:{success:!1,error:e("Unknown error")}}catch(S){return{success:!1,error:S.message||e("Failed to create mailing")}}},sendsay:async(b,I,R,j)=>{try{const S=await i({login:b.login,api_key:b.api_key,name:I.name,subject:I.subject,html_content:R,from_name:b.from_name,from_email:b.from_email}).unwrap();return S.obj?.id?{success:!0,message:e("Draft successfully created!"),link:{url:`https://app.sendsay.ru/content/drafts/email/${S.obj.id}/settings`,text:e("Open in Sendsay")}}:S.errors&&S.errors.length>0?{success:!1,error:S.errors.map(M=>M.explain).join(", ")}:S.error?{success:!1,error:S.explain||S.error}:{success:!1,error:e("Unknown error")}}catch(S){return{success:!1,error:S.message||e("Failed to create draft")}}},altcraft:async(b,I,R,j)=>{try{const S=await l({api_url:b.api_url,api_key:b.api_key,name:I.name,html_content:R,subject:I.subject||j,from_name:b.from_name,from_email:b.from_email}).unwrap();return S.error===0?{success:!0,message:e("Template successfully created!")}:{success:!1,error:S.error_text||e("Unknown error")}}catch(S){return{success:!1,error:S.message||e("Failed to create template")}}},enkod:async(b,I,R,j)=>{try{const S=await p({api_key:b.api_key,subject:I.subject,html_content:R,sender_name:b.sender_name,sender_email:b.sender_email}).unwrap();if(S.success||S.messageId||S.id){const M=S.messageId||S.id;return{success:!0,message:e("Draft successfully created!"),link:M?{url:`https://app.enkod.ru/ensend/messages/detail/${M}/preview`,text:e("Open in enKod")}:void 0}}else if(S.error||S.message)return{success:!1,error:S.error||S.message||e("Unknown error")};return{success:!1,error:e("Unknown error")}}catch(S){return{success:!1,error:S.message||e("Failed to create draft")}}},mailchimp:async(b,I,R,j)=>{try{const S=await g({api_key:b.api_key,list_id:I.list_id,subject:I.subject||j,from_name:b.from_name,from_email:b.from_email,html:R}).unwrap();if(S.id){const M=b.api_key?.split("-")[1]||"us1";return{success:!0,message:e("Campaign successfully created!"),link:{url:`https://${M}.admin.mailchimp.com/campaigns/#r:campaignId=${S.id}`,text:e("Open in Mailchimp")}}}return{success:!1,error:e("Unknown error")}}catch(S){return{success:!1,error:S.message||e("Failed to create campaign")}}},klaviyo:async(b,I,R,j)=>{try{const S=await c({api_key:b.api_key,list_id:I.list_id,subject:I.subject||j,from_name:b.from_name,from_email:b.from_email,html:R}).unwrap();return S.id?{success:!0,message:e("Campaign successfully created!"),link:{url:`https://www.klaviyo.com/campaign/${S.id}/wizard/1`,text:e("Open in Klaviyo")}}:{success:!1,error:e("Unknown error")}}catch(S){return{success:!1,error:S.message||e("Failed to create campaign")}}},hubspot:async(b,I,R,j)=>{try{const S=await _({api_key:b.api_key,name:I.name,subject:I.subject||j,from_name:b.from_name,from_email:b.from_email,html:R}).unwrap();return S.id?{success:!0,message:e("Email successfully created!"),link:{url:`https://app.hubspot.com/email/0/edit/${S.id}`,text:e("Open in HubSpot")}}:{success:!1,error:e("Unknown error")}}catch(S){return{success:!1,error:S.message||e("Failed to create email")}}},salesforce_mc:async(b,I,R,j)=>{try{const S=await A({subdomain:b.subdomain,client_id:b.client_id,client_secret:b.client_secret,name:I.name,subject:I.subject||j,from_name:b.from_name,from_email:b.from_email,html:R}).unwrap();return S.id?{success:!0,message:e("Email successfully created!"),link:{url:`https://app.s7.exacttarget.com/ContentBuilder?app=contentbuilder&id=${S.id}`,text:e("Open in Marketing Cloud")}}:{success:!1,error:e("Unknown error")}}catch(S){return{success:!1,error:S.message||e("Failed to create email")}}},activecampaign:async(b,I,R,j)=>{try{const S=await x({api_url:b.api_url,api_key:b.api_key,list_id:b.list_id,name:I.name,subject:I.subject||j,from_name:b.from_name,from_email:b.from_email,html:R}).unwrap();if(S.campaignId){const M=(b.api_url||"").replace(/\/$/,"").match(/https?:\/\/([^.]+)\.api-/),z=M?M[1]:"",re=z?`https://${z}.activehosted.com/app/campaigns/${S.campaignId}`:"https://www.activecampaign.com/app/campaigns";return{success:!0,message:e("Draft campaign created! Open it to review and schedule."),link:{url:re,text:e("Open draft campaign")}}}return{success:!1,error:e("Unknown error")}}catch(S){const M=S.message||S.error||"";if(M==="NO_MAILING_ADDRESS"){const z=(b.api_url||"").replace(/\/$/,"").match(/https?:\/\/([^.]+)\.api-/),re=z?z[1]:"",ne=re?`https://${re}.activehosted.com/app/settings/addresses`:"https://www.activecampaign.com/app/settings/addresses";return{success:!1,error:e("No mailing address found. Add one in ActiveCampaign: ")+ne}}return{success:!1,error:M||e("Failed to create campaign")}}},brevo:async(b,I,R,j)=>{try{const S=await B({api_key:b.api_key,list_id:Number(I.list_id),name:I.name,subject:I.subject||j,from_name:b.from_name,from_email:b.from_email,html:R}).unwrap();return S.id?{success:!0,message:e("Campaign successfully created!"),link:{url:`https://app.brevo.com/marketing-campaign/edit/${S.id}`,text:e("Open in Brevo")}}:{success:!1,error:e("Unknown error")}}catch(S){return{success:!1,error:S.message||e("Failed to create campaign")}}},campaign_monitor:async(b,I,R,j)=>{try{const S=I.html_url?.trim();if(!S)return{success:!1,error:e("HTML URL is required. Save the email first, or paste a custom URL to your hosted HTML.")};const M=await P({api_key:b.api_key,client_id:b.client_id,list_id:I.list_id,name:I.name,subject:I.subject||j,from_name:b.from_name,from_email:b.from_email,html_url:S.trim()}).unwrap();return M.id?{success:!0,message:e("Campaign successfully created!"),link:{url:`https://app.createsend.com/campaigns/#/${M.id}`,text:e("Open in Campaign Monitor")}}:{success:!1,error:e("Unknown error")}}catch(S){return{success:!1,error:S.message||e("Failed to create campaign")}}},constant_contact:async(b,I,R,j)=>{try{return(await G({access_token:b.access_token,list_id:I.list_id,name:I.name,subject:I.subject||j,from_name:b.from_name,from_email:b.from_email,html:R}).unwrap()).campaign_id?{success:!0,message:e("Campaign successfully created!"),link:{url:"https://app.constantcontact.com/pages/email/campaigns",text:e("Open in Constant Contact")}}:{success:!1,error:e("Unknown error")}}catch(S){return{success:!1,error:S.message||e("Failed to create campaign")}}},getresponse:async(b,I,R,j)=>{try{const S=await ce({api_key:b.api_key,from_field_id:b.from_field_id,campaign_id:I.campaign_id,name:I.name,subject:I.subject||j,html:R}).unwrap();return S.newsletterId?{success:!0,message:e("Newsletter successfully created!"),link:{url:`https://app.getresponse.com/letter/${S.newsletterId}`,text:e("Open in GetResponse")}}:{success:!1,error:e("Unknown error")}}catch(S){return{success:!1,error:S.message||e("Failed to create newsletter")}}},dotdigital:async(b,I,R,j)=>{try{const S=await pe({username:b.username,password:b.password,region:b.region||"r1",name:I.name,subject:I.subject||j,from_name:b.from_name,from_email:b.from_email,html:R}).unwrap();return S.id?{success:!0,message:S.usedAccountDefaultFromAddress?e("Campaign created. Dotdigital used your account default sender because this From email is not registered as a custom from address. Add the address in Dotdigital and export again to use it."):e("Campaign successfully created!"),link:{url:"https://login.dotdigital.com/",text:e("Open in Dotdigital")}}:{success:!1,error:e("Unknown error")}}catch(S){return{success:!1,error:S.message||e("Failed to create campaign")}}},bento:async(b,I,R,j)=>{try{return await Q({publishable_key:b.publishable_key,secret_key:b.secret_key,site_uuid:b.site_uuid,name:I.name,subject:I.subject||j,from_name:b.from_name,from_email:b.from_email,html:R,inclusive_tags:I.inclusive_tags}).unwrap(),{success:!0,message:e("Broadcast successfully created!"),link:{url:"https://app.bentonow.com/",text:e("Open in Bento")}}}catch(S){return{success:!1,error:S.message||e("Failed to create broadcast")}}}};return{exportToIntegration:async(b,I,R,j,S)=>{const M=Be[b];return M?M(I,R,j,S):{success:!1,error:e("Unknown integration")}},isLoading:Ce}},lt={INFO:"info",STORAGE:"storage",STYLES:"styles",MEMBERS:"members",INTEGRATIONS:"integrations",PLUGIN:"plugin"},uh=lt.INFO,dh=[lt.INFO,lt.STORAGE,lt.STYLES,lt.MEMBERS,lt.INTEGRATIONS,lt.PLUGIN],mh={mainsettings:lt.INFO,ftpsettings:lt.STORAGE,webhooksettings:lt.INTEGRATIONS},gl=async(e,t,r)=>{try{const{notification:o,...a}=e,i=await n.fetchBaseQuery({baseUrl:"https://racs.emcdn.ru/v3"})(a,t,r);if(i.error)throw new Error;return i}catch(o){return(e?.notification).error(o),{error:o}}},gr=n.createApi({reducerPath:"exportPngApi",baseQuery:gl,endpoints:e=>({makeTemporaryMailForPng:e.mutation({query:({file:t,title:r,notification:o})=>{const a=new Blob([t],{type:"text/html"}),i=new FormData;return i.append("file",a,"base.html"),i.append("contentType","text/html"),{url:"?resource=exportPngApi",method:"POST",body:i,notification:o}}}),deleteTemporaryMail:e.mutation({query:({id:t,notification:r})=>({url:`/${t}?resource=exportPngApi`,method:"DELETE",notification:r})})})}),{useMakeTemporaryMailForPngMutation:yl,useDeleteTemporaryMailMutation:vl}=gr,yr=n.createApi({reducerPath:"webHookApi",baseQuery:n.fetchBaseQuery({baseUrl:"https://px0.emailmaker.ru/"}),endpoints:e=>({postDataByWebHook:e.mutation({query:({url:t,body:r})=>({url:`?proxy_url=${encodeURIComponent(t)}`,method:"POST",body:r})})})}),{usePostDataByWebHookMutation:_l}=yr,bl=async(e,t,r)=>{try{const{notification:o,...a}=e,i=await n.fetchBaseQueryApp({baseUrl:"https://app.emailmaker.ru/api/v2"})(a,t,r);if(i.error)throw new Error;return i}catch(o){return(e?.notification).error(o),{error:o}}},vr=n.createApi({reducerPath:"htmlToPdfPlusApi",baseQuery:bl,endpoints:e=>({generateHtmlToPdf:e.mutation({query:({htmlContent:t,notification:r})=>({url:"emails/pdf",method:"POST",body:t,notification:r,responseHandler:o=>o.blob()})})})}),{useGenerateHtmlToPdfMutation:El}=vr,_r=n.createApi({reducerPath:"proxyApi",tagTypes:["Proxy"],baseQuery:n.fetchBaseQueryApp({baseUrl:"https://app.emailmaker.ru/api/wp-json/cors-proxy/v1/get"}),endpoints:e=>({getFile:e.query({queryFn({url:t,tryFetch:r=!0,type:o},a){const i=n.clientFromApi(a),s=r?fetch(t):Promise.reject(),l=p=>{switch(o){case"json":return p.json();case"text":return p.text();default:return p.blob()}},u=p=>l(p).then(h=>({data:h}));return s.then(p=>u(p)).catch(()=>i.corsProxy.get_list({format:"blob",extraQuery:{url:encodeURIComponent(t)}}))}})})}),{useGetFileQuery:ph,useLazyGetFileQuery:Sl}=_r,fh="email",hh=100;function wl(e){return tt.sanitizeFileName(String(e??"").trim()).slice(0,100).trimEnd()||"email"}function uo(e){const t=wl(e);return{archive:`${t}.zip`,desktop:`${t}-desktop.png`,mobile:`${t}-mobile.png`}}function kl(e,t){const r=uo(e);return{[r.desktop]:t.desktop,[r.mobile]:t.mobile}}var mo;function Al(){return mo??=(0,$e.__vitePreload)(()=>Promise.resolve().then(()=>fe("./static/core/370f04c3.js")).then(e=>gt.__toESM(e.require_core())),void 0,{}.url),mo}function Cl(e){const t=[0],r=[];let o=0;for(;o<e.length;){const a=e.charCodeAt(o);a===10||a===13?(r.push(o-t[t.length-1]),o+=a===13&&e.charCodeAt(o+1)===10?2:1,t.push(o)):o+=1}return r.push(e.length-t[t.length-1]),{starts:t,lengths:r}}function po({starts:e,lengths:t},r,o){const a=Math.min(Math.max(r,1),e.length)-1;return e[a]+Math.min(Math.max(o,1),t[a]+1)-1}var Il={error:8,warning:4,info:2};function Tl(e,t){const r=e.evidence!==""?e.col+e.evidence.length:t.lengths[e.line-1]??e.col+1,o=Math.max(r,e.col);return{severity:Il[e.type]??8,message:e.message,startLineNumber:e.line,startColumn:e.col,endLineNumber:e.line,endColumn:o,startOffset:po(t,e.line,e.col),endOffset:po(t,e.line,o)}}async function fo(e){const{HTMLHint:t}=await Al(),r=Cl(e);return t.verify(e,n.EMAIL_CODE_RULESET).map(o=>Tl(o,r))}async function Pl(e,t,r){if(!e.hasListeners())return;const o=await fo(t);await e.fire({errors:o,fileName:r})}var Jr=()=>(0,$e.__vitePreload)(()=>Promise.resolve().then(()=>fe("./static/core/98d702c3.js")).then(e=>e.import_exports),void 0,{}.url),Rl=1,xl=2,Ol=375,vt={fontSize:"16px"},Ml={position:"absolute",bottom:-4,right:-4,borderRadius:"100%",backgroundColor:n.emCssVar("colorBgContainer")},jl={position:"relative",display:"inline-flex"},_t=({icon:e,locked:t,strokeWidth:r,className:o})=>(0,f.jsxs)("span",{className:o,style:jl,children:[e,t&&(0,f.jsx)(n.EmIcons,{icon:"Lock",component:T.icons$Lock,size:12,strokeWidth:r,style:Ml})]}),Ll=({email:e,autoSaveBlockResult:t})=>{const{__:r,_x:o}=n.useI18n(),a=n.useDispatch(),i=n.useEmailAttributesWriter(),[s]=Sl(),[l]=n.useUploadImageMutation(),u=n.useAppNavigate(),{owner:p,admin:h}=n.useMyRoles(),g=n.useCurrentUser(),v=n.useProjectData(),{modal:c}=T.ui_kit$App.useApp(),y=n.useNotification(),{confirm:_}=c,E=n.useAppStore(),A=()=>n.getTemplateDirectivesPolicy(d.getContainer(E)).keepWrappedOnOutput,C=(O,q,V,H)=>tt.prepareHTML(O,q,V,H,A()),x=(O,q,V,H,Z,$)=>tt.getEML(O,q,V,H,Z,$,A()),N=(O,q,V,H,Z)=>tt.htmlToFilesData(O,q,V,H,Z,A()),B=n.useCookieManager(),k=n.useAppConfig(),P=n.usePluginMenuItems("menu:document"),W=n.usePluginMenuItems("menu:export"),G=n.usePluginItems("toolbar",n.TOOLBAR_GROUPS_BEFORE_SAVE),me=n.usePluginMenuItems("menu:save"),ce=G.length>0,oe=me.length>0,pe=n.useEditorLocked(),te=n.useEditorLockCheck(),Q=oo(),ue=n.useEditorProjectId(),Ce=n.useEventEmitter(d.events.ON_EMAIL_CLONE_ID),Pe=n.useEventEmitter(d.events.ON_BROWSER_EXTENSION_DETECTED_ID),_e=n.useEventEmitter(d.events.ON_IMPORT_VALIDATE_ID),[Ne]=_l(),ae=!0,{data:Ae}=n.useGetProjectIntegrationsQuery(v?.id??0,{skip:ae}),{data:ge}=n.useGetProjectWebhookQuery(v?.id??0,{skip:ae}),[Me]=n.useLazyGetIntegrationCredentialsQuery(),{exportToIntegration:ze,isLoading:Ge}=hl(),ie=n.usePushToDataLayer(),[X,se]=(0,m.useState)(()=>!n.getEditorVisible(d.getContainer(E)).contentShown()),[le,je]=(0,m.useState)(!1),[Ie,Fe]=(0,m.useState)(null),[Be,w]=(0,m.useState)(""),[b,I]=(0,m.useState)(!1),[R,j]=(0,m.useState)(0),[S,M]=(0,m.useState)(null),[z,re]=(0,m.useState)(""),[ne,be]=(0,m.useState)(!1),Te=n.usePlanFeatureGate("export_html"),Xe=n.usePlanFeatureGate("export_pdf"),rt=n.usePlanFeatureGate("export_png");n.usePlanFeatureGate("export_webhook");const Le=n.usePlanFeatureGate("export_platforms"),U=n.usePlanFeatureGate("export_amp"),L=n.usePlanFeatureGate("template_import"),F=n.usePlanFeatureGate("code_minify"),ee=O=>{I(!0),j(n.FEATURE_UPSELL_SLIDE[O])},[Ve]=n.emailsApi.useDeleteEmailMutation(),Je=async(O,q)=>{try{await Ve(O.id).unwrap(),n.existingWpNumber(O.project),y.success(r('The email "')+(O.title??"")+o('" was successfully removed.',"email")),ie({event:"delete",action:"delete_email",entity_type:"email",entity_id:O.id,project_id:O.project,context:"editor"})}catch(V){y.error(V)}},[it,St]=n.useAddEmailMutation(),[Ze]=yl(),[ut]=vl(),[wt]=El(),We=n.useProjectData(),de=n.useInvalidateTerms(),Y=n.useSelector(n.selectIsHeaderCodeMenuOpen);(0,m.useEffect)(()=>{Y.switched&&se(!1)},[Y]);const D=()=>{const{title:O}=e;return O===null?r("New email title"):O},K=(O,q,V=!1)=>{const H=n.getCodeSize(O);V&&n.isCodeSizeExceeded(H)?(w(O),Fe(()=>q),je(!0)):q(O)},Ee=()=>{if(je(!1),F.isLocked){ee("code_minify");return}if(Ie&&Be){n.getCodeSize(Be);const O=n.minifyHtml(Be);n.getCodeSize(O),Ie(O),Fe(null),w("")}},Se=()=>{je(!1),Ie&&Be&&(Ie(Be),Fe(null),w(""))},He=()=>{je(!1),Fe(null),w("")},we=n.useContentReader(),et=n.useContentReplacer(),Pt=n.useEvent(d.events.ON_EMAIL_INIT_ID),Ur=n.useEventEmitter(d.events.ON_LAYOUT_CONVERT_REQUEST_ID);(0,m.useEffect)(()=>{const O=Pt(()=>{se(!1)});return()=>O.dispose()},[Pt]);const Gr=async(O,q=we())=>{const V=document.querySelector(".email-preview"),H=getComputedStyle(V);return q=await C(q,[H.width],e.utm_parameters,async Z=>{Re(Z)}),Ze({file:q,title:D(),notification:y}).unwrap().then(Z=>{const $={id:Z._id,...Z};return O($,()=>ut({id:$.id,notification:y}))}).catch(Z=>{y.error({title:Z.data?.code,description:Z.data?.message})})},$r=(O,q=1)=>Gr((V,H)=>({hrefs:O.map(Z=>n.previewHrefForRacs(V.id,void 0,!1,q,void 0,void 0,Z)),dispose:H})),J=(O,q,V=2)=>Gr((H,Z)=>({data:O.map($=>({selector:$,href:n.previewHrefForRacs(H.id,void 0,!1,V,$)})),dispose:Z}),q),ke=async(O,q)=>{const V=typeof O=="string"?(await s({url:O}))?.data:O;if(!V)return typeof O=="string"?O:"";let H=n.decodeFileNameFromPath(q);if(typeof O=="string"&&/^https?:\/\//i.test(O)){const ve=n.decodeFileNameFromUrl(O);ve&&(H=ve)}const Z=V,{ensureFileExtension:$,extractUploadResult:he}=await Jr();H=await $(H,Z.type||"");const Ue=new File([Z],H.toLowerCase(),{type:Z.type||""});try{const ve=he(await l({user_id:g.id,folder:String(We.id),file:Ue}).unwrap());if(ve.error)return typeof O=="string"?O:"";if(ve.file_url)return ve.file_url}catch{}return typeof O=="string"?O:""},ye=async O=>{const q=O.document.querySelectorAll("[em-operation=exportAsPicture]"),V=new Map;for(let H=0,Z=q.length;H<Z;H++){const $=q[H];$.setAttribute("em-export-id",String(H)),V.set(`[em-export-id='${H}']`,$)}V.size&&O.handleRender(async({contentDocument:H,managedNodeController:Z})=>{try{const{data:$,dispose:he}=await J([...V.keys()],n.getOuterHtml(H),xl);try{const Ue=$.map(async({href:ve,selector:xt},li)=>{const mt=V.get(xt);if(mt.tagName==="TD"){mt.removeAttribute("style");for(const st of[...mt.classList])st.startsWith("em-mob-")&&mt.classList.remove(st)}Z.commit();const sh=await ke(ve,`${li}-${mt.tagName.toLowerCase()}.png`),ci=parseInt(getComputedStyle(mt).width);let ht=new Image(ci);ht.setAttribute("border","0"),ht.setAttribute("style",`display: block; width: 100%; max-width: ${ci}px;`),ht.alt="",ht.src=sh;const ui=mt.querySelector("a");if(ui){const st=document.createElement("a");st.setAttribute("target","_blank"),st.setAttribute("href",ui.getAttribute("href")),st.appendChild(ht),ht=st}if(mt.tagName==="TD"){const st=mt.cloneNode();st.removeAttribute("em-operation"),st.appendChild(ht),ht=st}mt.replaceWith(ht),Z.commit()});await Promise.all(Ue)}catch{}finally{he()}}catch{}})},Re=O=>{const q=O.document;if(We?.limits?.preview_limit==="0"&&ue&&(g?.counters?.emails_counter??1/0)>2&&!q.querySelector(".em-powered-logo")){const V=`<a href="${`https://https://racs.emcdn.ru/v3/v3/link?app=emailmaker&project=${ue}&email=${e.id}&link=https%3A%2F%2Femailmaker.ru`}" target="_blank"><img src="https://https://racs.emcdn.ru/v3/v3/pixel/123.png?image=https://emcdn.ru/emailmaker/powered.png&project=${ue}&email=${e.id}" width="150" height="50" border="0" alt="" style="display: inline-block; width: 100%; max-width: 150px;"></a>`;q.querySelector("body > table:last-child > tbody:last-child > tr:last-child, body > div > table:last-child > tbody:last-child > tr:last-child")&&q.querySelector("body > table:last-child > tbody:last-child > tr:last-child, body > div > table:last-child > tbody:last-child > tr:last-child").insertAdjacentHTML("afterend",`<tr em="block" class="em-powered-logo">
858
+ <td align="center" bgcolor="#FFFFFF">${V}</td>
859
+ </tr>`)}},xe=async()=>{const O=we();K(O,async q=>{try{const V=document.querySelector(".email-preview"),H=getComputedStyle(V),Z=await C(q,[H.width],e.utm_parameters,async ve=>{Re(ve)}),$=await wt({htmlContent:Z,notification:y}).unwrap(),he=window.URL.createObjectURL(new Blob([$],{type:"application/pdf"})),Ue=document.createElement("a");Ue.href=he,Ue.setAttribute("download",`${D()}.pdf`),document.body.appendChild(Ue),Ue.click(),document.body.removeChild(Ue),window.URL.revokeObjectURL(he)}catch{}})},kt=O=>{const q=we();K(q,V=>{ie({event:"click",action:"export_email",export_type:"HTML"});const H=document.querySelector(".email-preview"),Z=getComputedStyle(H);C(V,[Z.width],e.utm_parameters,async $=>{await ye($),Re($),await n.processAmp($,O)}).then($=>{const he=new Blob([$],{type:"text/html;charset=utf-8"});(0,Mt.saveAs)(he,`${D()}.html`)}).catch($=>{})},!0)},nt=O=>{const q=we();K(q,V=>{ie({event:"click",action:"export_email",export_type:"TEXT"});const H=document.querySelector(".email-preview"),Z=getComputedStyle(H);C(V,[Z.width],e.utm_parameters,async $=>{await ye($),Re($),await n.processAmp($,O);const[{htmlToText:he},{EmailTextPlainConvertOptions:Ue}]=await Promise.all([(0,$e.__vitePreload)(()=>Promise.resolve().then(()=>fe("./static/core/8cebeef2.js")),void 0,{}.url),(0,$e.__vitePreload)(()=>Promise.resolve().then(()=>fe("./static/core/79e13595.js")),void 0,{}.url)]);$.handleReadHtml(ve=>{ve.html=he(ve.contentDocument,Ue)})}).then($=>{const he=new Blob([$],{type:"text/plain;charset=utf-8"});(0,Mt.saveAs)(he,`${D()}.txt`)}).catch($=>{})})},At=()=>{const O=we();K(O,q=>{ie({event:"click",action:"export_email",export_type:"MARKDOWN"});const V=document.querySelector(".email-preview"),H=getComputedStyle(V),{utm_parameters:Z}=e;C(q,[H.width],Z,async $=>{Re($),await n.processAmp($,"html");const{htmlToMarkdown:he}=await(0,$e.__vitePreload)(async()=>{const{htmlToMarkdown:Ue}=await Promise.resolve().then(()=>fe("./static/core/75a2537a.js"));return{htmlToMarkdown:Ue}},void 0,{}.url);$.handleReadHtml(Ue=>{Ue.html=he(Ue.contentDocument)})}).then($=>{const he=new Blob([$],{type:"text/markdown;charset=utf-8"});(0,Mt.saveAs)(he,`${D()}.md`)}).catch($=>n.reportError($,{origin:"markdown-export"}))})},Qt=O=>{const q=we();K(q,V=>{ie({event:"click",action:"export_email",export_type:"Clipboard"});const H=document.querySelector(".email-preview"),Z=getComputedStyle(H);C(V,[Z.width],e.utm_parameters,async $=>{await ye($),Re($),await n.processAmp($,O)}).then($=>navigator.clipboard.writeText($).then(function(){y.success(r("The email has been copied to the clipboard."))})).catch($=>{})},!0)},Jt=async O=>{S&&Yr(S)},Wf=()=>{M(null),re("")},Kf=async()=>{if(!ne){be(!0);try{const O=await $r([800,Ol],Rl);if(!O)return;const{hrefs:q,dispose:V}=O;try{const[H,Z]=await Promise.all(q.map(Ue=>tt.getImageByUrl(Ue).then(ve=>tt.imageToBlob(ve)))),$=D(),he=await tt.htmlFilesToZip(kl($,{desktop:H,mobile:Z}));(0,Mt.saveAs)(he,uo($).archive),ie({event:"click",action:"export_email",export_type:"Image"})}finally{V()}}catch{y.error({title:r("Error"),description:r("Failed to export the email as images. Please try again.")})}finally{be(!1)}}},Yf=O=>{const q=B.get(n.APP_COOKIES.em_token);return fetch(`https://app.emailmaker.ru/api/wp-json/cors-proxy/v1/get?url=${encodeURIComponent(O)}`,{headers:{authorization:`Bearer ${q}`}}).then(V=>V.blob())},ai=O=>new Promise((q,V)=>{const H=()=>Yf(O).then(q,V);fetch(O).then(Z=>q(Z.blob()),H).catch(()=>{})}),ii=(O,q)=>{const V=we();K(V,H=>{ie({event:"click",action:"export_email",export_type:"Outlook"});const Z=document.querySelector(".email-preview"),$=getComputedStyle(Z),he=async(ve,xt)=>{ve.document,await n.processAmp(ve,xt),await ye(ve),Re(ve)},{subject:Ue}=e;x(Ue||D(),H,[$.width,$.height],e.utm_parameters,O?ve=>he(ve,"html"):ve=>he(ve),q?{embedImagesAsBase64:!0,getImageBlob:ai}:void 0).then(ve=>{const xt=new Blob([ve],{type:"text/html;charset=utf-8"});(0,Mt.saveAs)(xt,`${D()}.eml`)}).catch(ve=>{})})},Qf=O=>{_({centered:!0,mask:{closable:!0},title:r("Embed images in the file?"),content:r('If "Yes", images will be included in the file itself. This is useful for offline viewing or if external images are blocked, but increases file size. If "No", images will be loaded from external links.'),okText:r("Yes"),cancelText:r("No"),onOk:()=>ii(O,!0),onCancel:()=>ii(O,!1)})},Jf=async()=>{const O=we();K(O,async q=>{ie({event:"click",action:"export_email",export_type:"ZIP"});const V=document.querySelector(".email-preview"),H=getComputedStyle(V),Z=await N(q,[H.width,void 0],e.utm_parameters,ai,async he=>{await ye(he),Re(he),Rt&&await n.processAmp(he,"html")});Rt&&(Z["amp.html"]=await C(q,[H.width],e.utm_parameters,async he=>{await ye(he),Re(he),await n.processAmp(he,"amp")}));const $=await tt.htmlFilesToZip(Z);(0,Mt.saveAs)($,`${D()}.zip`)},!0)},Xf=async()=>{if(ie({event:"click",action:"duplicate_email",entity_type:"email",entity_id:e.id,project_id:e.project,context:"editor"}),e.isNew)y.warning({title:r("To create a copy, you need to save the email.")});else{if((await Ce.fire(e)).some(H=>H===!1))return;const{title:O,subject:q}=e,V=O||q||r("Untitled email.").replace(/\.$/,"");it({title:n.generateCopyTitle(V),...e.meta!==void 0?{meta:e.meta}:{},project:n.emailProjectField(We?.id),description:e.description,html:n.generateCopyHtml(we()||"",String(e.title)),parent_email:e.parent_email||127017,common_styles:e.common_styles||"",utm_parameters:{utm_source:e.utm_parameters?.utm_source,utm_medium:e.utm_parameters?.utm_medium,utm_campaign:e.utm_parameters?.utm_campaign,utm_term:e.utm_parameters?.utm_term,utm_content:e.utm_parameters?.utm_content},emailtags:e.emailtags,folder:e.folder}).unwrap().then(H=>{u(`/projects/${We.id}/emails/${H.id}`),y.success({title:r('The copy of email "')+V+r('" was successfully created.')}),ie({event:"duplicate",action:"duplicate_email_success",entity_type:"email",entity_id:e.id,cloned_entity_id:H.id,project_id:e.project,context:"editor"}),de("folder"),a(n.limitsApi.util.invalidateTags(["LimitsStats","LimitsWarnings"]))}).catch(H=>{y.error({title:H.data.code,description:H.data.message})})}},Zf=()=>{ie({event:"click",action:"click_delete_email_menu_item",entity_type:"email",entity_id:e.id,project_id:e.project,context:"editor"}),e.isNew?y.success(r("The draft of the email has been deleted.")):eh(e,u)},eh=(O,q)=>{ie({event:"open",action:"open_delete_email_modal",entity_type:"email",entity_id:O.id,project_id:O.project,context:"editor"}),_({mask:{closable:!0},centered:!0,title:o('Are you sure to delete "',"email")+O.title+r('" email?'),icon:(0,f.jsx)(n.EmIcons,{icon:"DeleteOutlined",component:T.icons$DeleteOutlined,size:22,style:{color:T.ui_kit$iconColors.danger,marginInlineEnd:12,flexShrink:0}}),okText:r("Yes"),cancelText:r("No"),onOk:()=>Je(O,q)})},Fn=()=>{te()||(Jr().catch(()=>{}),n.uploadFile("application/zip, message/rfc822, text/html",th))},th=async O=>{if(te())return;const q=O[0];try{a(n.setIsGlobalLoading(!0));const{createDocumentProcessor:V,createFileProcessor:H,importEmail:Z}=await Jr(),$=await Z(q,H(s,l,g,We,k),V(q)),{html:he,hasBrowserExtensionArtifacts:Ue}=$??{html:"",hasBrowserExtensionArtifacts:!1};if($&&Pl(_e,$.sourceHtml,q.name).catch(li=>{}),Ue&&Pe.fire(),te()){a(n.setIsGlobalLoading(!1));return}const[ve]=tt.getFileNameAndExt(q.name.replaceAll("&nbsp;"," ")),xt=ve||n.getTitleFromHtml(he)||"";et(he,{undoable:!0}),i({title:xt}),a(n.setIsGlobalLoading(!1)),Ur.fire({html:he})}catch(V){a(n.setIsGlobalLoading(!1));const H=V instanceof Error?V.message:V;y.error({title:H})}ie({event:"upload_file",action:"import_email"})},rh=()=>{const O=we();O&&(ie({event:"click",action:"convert_layout"}),Ur.fire({html:O,explicit:!0}))},ft=[];k.emailDropdownMenuClone&&ft.push({label:r("Clone"),icon:(0,f.jsx)(n.EmIcons,{icon:"CopyOutlined",component:T.icons$CopyOutlined,size:16,strokeWidth:k.iconStrokeWidth}),key:"Clone",className:"em-analytics__email-clone",disabled:St.isLoading,onClick:Xf}),k.emailDropdownMenuImport&&ft.push({label:o("Import","verb"),icon:(0,f.jsx)(_t,{icon:(0,f.jsx)(n.EmIcons,{icon:"CloudUploadOutlined",component:T.icons$CloudUploadOutlined,size:16,strokeWidth:k.iconStrokeWidth}),locked:L.isLocked,strokeWidth:k.iconStrokeWidth}),key:"Import",disabled:pe,className:"em-analytics__editor-page__import",onClick:()=>{if(L.isLocked){ee("template_import");return}ie({event:"click",action:"import_email"}),Fn()}});const nh=we(),oh=!e.hasOwnProperty("type")&&ao(nh,Q)!==null;k.emailDropdownMenuConvert&&oh&&ft.push({label:r("Convert"),icon:(0,f.jsx)(n.EmIcons,{icon:"SwapOutlined",component:T.icons$SwapOutlined,size:16,strokeWidth:k.iconStrokeWidth}),key:"ConvertLayout",disabled:pe,className:"em-analytics__email-convert",onClick:rh}),ft.push(...n.menuGroup(P,"document"),...n.menuGroup(P,"plugins"));const si=p||h||n.isAuthoredByMe(e.author,g,v?.members);si&&k.emailDropdownMenuLock&&ft.push({label:(0,f.jsx)(n.SwitchLockBtn,{element:e,context:"editor"},"Lock"),icon:e.lock?(0,f.jsx)(n.EmIcons,{icon:"UnLock",component:T.icons$UnLock,size:16,strokeWidth:k.iconStrokeWidth}):(0,f.jsx)(n.EmIcons,{icon:"Lock",component:T.icons$Lock,size:16,strokeWidth:k.iconStrokeWidth}),disabled:e.isNew}),ft.push(...n.menuGroup(P,"access")),si&&k.emailDropdownMenuRemove&&ft.push({label:r("Remove"),icon:(0,f.jsx)(n.EmIcons,{icon:"DeleteOutlined",component:T.icons$DeleteOutlined,size:16,strokeWidth:k.iconStrokeWidth}),key:"Remove",className:"em-analytics__email-remove",style:{color:"#ff4d4f"},onClick:Zf}),ft.push(...n.menuGroup(P,"danger"));const Rt=e.isAmp,dt=[],ah=()=>[...Rt?[{key:"html_txt",label:`${r("Plain text")} (HTML)`,onClick:()=>nt("html")},{key:"сode_txt",label:`${r("Plain text")} (AMP)`,onClick:()=>nt("amp")}]:[{key:"plain_txt",label:r("Plain text"),onClick:()=>nt()}],{key:"markdown",label:r("Markdown"),onClick:()=>At()}];k.exportHtmlEnabled&&dt.push({key:"html",label:r("Code"),icon:(0,f.jsx)(_t,{icon:(0,f.jsx)(n.EmIcons,{icon:"FileTextOutlined",component:T.icons$FileTextOutlined,style:vt}),locked:Te.isLocked,strokeWidth:k.iconStrokeWidth}),...Te.isLocked?{onClick:()=>ee("export_html")}:Rt?{children:[{key:"сode_html",label:r("AMP"),onClick:()=>U.isLocked?ee("export_amp"):kt("amp")},{key:"html_amp",label:r("HTML"),onClick:()=>kt("html")}]}:{onClick:()=>kt()}}),k.exportZipEnabled&&dt.push({key:"zip",label:r("ZIP"),icon:(0,f.jsx)(_t,{icon:(0,f.jsx)(n.EmIcons,{icon:"FileZipOutlined",component:T.icons$FileZipOutlined,style:vt}),locked:Te.isLocked,strokeWidth:k.iconStrokeWidth}),...Te.isLocked?{onClick:()=>ee("export_html")}:{onClick:()=>Jf().catch(O=>{})}}),k.exportClipboardEnabled&&dt.push({key:"clipboard",label:r("Clipboard"),icon:(0,f.jsx)(_t,{icon:(0,f.jsx)(n.EmIcons,{icon:"SnippetsOutlined",component:T.icons$SnippetsOutlined,style:vt}),locked:Te.isLocked,strokeWidth:k.iconStrokeWidth}),...Te.isLocked?{onClick:()=>ee("export_html")}:Rt?{children:[{key:"clipboard_html",label:r("AMP"),onClick:()=>U.isLocked?ee("export_amp"):Qt("amp")},{key:"clipboard_amp",label:r("HTML"),onClick:()=>Qt("html")}]}:{onClick:()=>Qt()}}),k.exportTextEnabled&&dt.push({key:"text",label:r("Text"),icon:(0,f.jsx)(_t,{icon:(0,f.jsx)(n.EmIcons,{icon:"FileOutlined",component:T.icons$FileOutlined,style:vt}),locked:Te.isLocked,strokeWidth:k.iconStrokeWidth}),...Te.isLocked?{onClick:()=>ee("export_html")}:k.exportMarkdownEnabled?{children:ah()}:Rt?{children:[{key:"сode_txt",label:r("AMP"),onClick:()=>U.isLocked?ee("export_amp"):nt("amp")},{key:"html_txt",label:r("HTML"),onClick:()=>nt("html")}]}:{onClick:()=>nt()}}),k.exportOutlookEnabled&&dt.push({key:"outlook",icon:(0,f.jsx)(_t,{icon:(0,f.jsx)(n.EmIcons,{icon:"FileWordOutlined",component:T.icons$FileWordOutlined,style:vt}),locked:Le.isLocked,strokeWidth:k.iconStrokeWidth}),label:r("Outlook"),onClick:()=>Le.isLocked?ee("export_platforms"):Qf(!!Rt)}),k.exportPdfEnabled&&dt.push({key:"pdf",icon:(0,f.jsx)(_t,{icon:(0,f.jsx)(n.EmIcons,{icon:"FilePdfOutlined",component:T.icons$FilePdfOutlined,style:vt}),locked:Xe.isLocked,strokeWidth:k.iconStrokeWidth}),label:r("PDF"),onClick:()=>Xe.isLocked?ee("export_pdf"):xe()}),k.exportPngEnabled&&dt.push({key:"img",icon:(0,f.jsx)(_t,{icon:ne?(0,f.jsx)(n.EmIcons,{icon:"LoadingOutlined",component:T.icons$LoadingOutlined,spin:!0,style:vt}):(0,f.jsx)(n.EmIcons,{icon:"FileImageOutlined",component:T.icons$FileImageOutlined,style:vt}),locked:rt.isLocked,strokeWidth:k.iconStrokeWidth}),label:r("PNG"),disabled:!rt.isLocked&&ne,onClick:()=>rt.isLocked?ee("export_png"):Kf()}),dt.push(...n.menuGroup(W,"formats"),...n.menuGroup(W,"plugins")),dt.push(...n.menuGroup(W,"platforms"));const ih=e.author;return(0,f.jsxs)(T.ui_kit$Space,{children:[k.emailDropdownMenuEnabled?(0,f.jsx)(T.ui_kit$Dropdown,{arrow:{pointAtCenter:!0},placement:"bottom",menu:{items:ft},children:(0,f.jsx)(T.ui_kit$Button,{type:"default",block:!1,className:"email-page-header__btn email-page-header__btn_extra",onClick:()=>{},children:(0,f.jsx)(n.EmIcons,{icon:"DotsHoriz",component:T.icons$DotsHoriz,size:18,strokeWidth:k.iconStrokeWidth})})},"Actions"):k.emailDropdownMenuImport&&(0,f.jsx)(T.ui_kit$Tooltip,{title:pe?r("Read only"):o("Import","verb"),placement:"bottom",children:k.emailDropdownMenuImportButton?(0,f.jsx)(T.ui_kit$Button,{className:"em-analytics__editor-page__import",disabled:pe,icon:(0,f.jsx)(n.EmIcons,{icon:"CloudUploadOutlined",component:T.icons$CloudUploadOutlined,size:16,strokeWidth:k.iconStrokeWidth}),onClick:()=>{ie({event:"click",action:"import_email"}),Fn()},children:r("Import")}):(0,f.jsx)(T.ui_kit$Button,{className:"em-analytics__editor-page__import",type:"text",disabled:pe,icon:(0,f.jsx)(n.EmIcons,{icon:"CloudUploadOutlined",component:T.icons$CloudUploadOutlined,size:22,strokeWidth:k.iconStrokeWidth}),onClick:()=>{ie({event:"click",action:"import_email"}),Fn()}})}),!k.emailDropdownMenuEnabled&&P.length>0&&(0,f.jsx)(n.PluginMenuButton,{location:"menu:document",items:P}),k.emailExportEnabled&&(0,f.jsx)(T.ui_kit$Dropdown,{arrow:{pointAtCenter:!0},placement:"bottom",menu:{items:dt},children:(0,f.jsx)(T.ui_kit$Button,{className:"em-analytics__email-page__export",type:"default",icon:(0,f.jsx)(n.EmIcons,{icon:"CloudDownloadOutlined",component:T.icons$CloudDownloadOutlined,size:16,strokeWidth:k.iconStrokeWidth}),children:r("Export")},"Export")},"Export"),!k.emailExportEnabled&&W.length>0&&(0,f.jsx)(n.PluginMenuButton,{location:"menu:export",items:W}),ce&&(0,f.jsx)(n.PluginButtons,{items:G}),!e.hasOwnProperty("type")&&(0,f.jsx)(no,{disabled:X,email:e},"Save"),!!e.hasOwnProperty("type")&&(0,f.jsx)(m.Suspense,{fallback:null,children:(0,f.jsx)(n.SaveBlockBtnLazy,{disabled:X,rightCol:void 0,block:e,isEditableRights:p||h||n.isAuthoredByMe(ih,g,v?.members),autoSaveBlockResult:t})},"Save"),oe&&(0,f.jsx)(n.PluginSaveMore,{items:me}),(0,f.jsx)(ws,{open:le,codeSize:n.getCodeSize(Be),onMinimize:Ee,onDownloadAsIs:Se,onCancel:He}),S&&Yr(S)&&(0,f.jsx)(js,{integration:Yr(S),visible:!!S,loading:Ge,onConfirm:Jt,onCancel:Wf,__:r}),(0,f.jsx)(n.PlanUpgradePrompt,{open:b,sideOnOk:void 0,onCancel:()=>I(!1),initialSlide:R})]})},Dl=d.createIdentifier$1("canvas.headerFlow");function Nl(e){const t=(0,m.useCallback)(r=>e?e.subscribe(r):()=>{},[e]);return(0,m.useSyncExternalStore)(t,()=>e?.isReady()===!0)}function ho(e,t,r){const o=n.useEmailAttribute(t);(0,m.useEffect)(()=>{r&&typeof o=="string"&&e.getFieldValue(t)!==o&&e.setFieldValue(t,o)},[e,t,r,o])}function Fl(e,t){ho(e,"subject",t),ho(e,"preheader",t)}var go=({email:e,isCollaborationEditor:t})=>{const[r]=T.ui_kit$Form.useForm(),{__:o}=n.useI18n();let a=n.useDispatch();const i=n.useEmailAttributesWriter(),s=n.useAppNavigate(),l=n.useOpenPlanCatalog(),u=n.useChromeReady("header"),p=n.useCurrentUser(),h=n.useContainer().getInstance(Dl),g=n.useProjectData(),{owner:v,admin:c}=n.useMyRoles(),{token:y}=(0,T.ui_kit$useToken)(),_=n.useAppConfig(),E=n.usePluginItems("toolbar"),A=(0,m.useMemo)(()=>n.filterPluginItems(E,"collaboration"),[E]),C=(0,m.useMemo)(()=>n.filterPluginItems(E,n.TOOLBAR_GROUPS_BEFORE_SAVE),[E]),x=n.usePluginMenuItems("menu:save"),N=n.usePluginMenuItems("menu:document"),B=n.usePluginMenuItems("menu:export"),k=A.length>0,P=C.length>0,W=x.length>0,G=n.useEditorLocked(),me=n.usePushToDataLayer(),ce=(0,m.useRef)(),oe=(0,m.useRef)(),pe=(0,m.useRef)(),te=n.useEventEmitter(d.events.ON_PREVIOUSBUTTON_CLICK_ID),Q=n.useEventEmitter(d.events.ON_PREHEADER_CHANGED_ID),ue=n.useEventEmitter(d.events.ON_SUBJECT_CHANGED_ID),Ce=n.useSelector(n.selectCodeModeDirection),Pe=e.hasOwnProperty("type")?n.BLOCK:n.EMAIL,_e=n.useSelector(n.selectElementSettings$1),Ne=n.useSelector(n.selectElementSettings),ae=Pe==="email"?_e:Ne,Ae=n.useSelector(n.selectIsCodeMode),[ge,Me]=(0,m.useState)(!1),[ze,Ge]=(0,m.useState)(!1),ie=(0,m.useCallback)(()=>Ge(!1),[]),[X,se]=(0,m.useState)(!1),le=(0,m.useCallback)(()=>se(!1),[]),je=(0,m.useCallback)(()=>{se(!1),l()},[l]),Ie=n.usePlanLimitGate("email_generate"),Fe=Ie.exceeded?n.getLimitUpgradePresetDefinition(Ie.exceeded.presetId):null;(0,m.useEffect)(()=>{const U=!!ae?.type&&(ae?.type===n.ELEMENT_TYPES.TEXT||ae?.type===n.ELEMENT_TYPES.LINK||ae.type===n.ELEMENT_TYPES.BUTTON)&&Ae&&Ce!=="bottom";Me(U),a(n.setHeaderCodeMenuOpen(U))},[ae,Ce,Ae]);const Be=(0,m.useCallback)(()=>{me({event:"click",action:"click_back_button",entity_type:Pe==="block"?"block":"email",entity_id:e?.id,project_id:e?.project||g?.id,context:"editor"}),te.fire(e)},[s,te,e,g?.id,me,Pe]),{document:w}=n.useDocumentSessionContext(),b=Nl(w);n.usePrevious(([U])=>{b&&U!==e.subject&&ue.fire(e.subject)},[e.subject,b]);const I=(0,m.useCallback)(U=>{const L=U.target.value;ue.fire(L)},[ue]),R=(0,m.useCallback)(U=>{const L=U.target.value;Q.fire(L)},[Q]);n.usePrevious(([U])=>{b&&U!==e.preheader&&Q.fire(e.preheader)},[e.preheader,b]);const j=(0,m.useCallback)((U,L="?")=>{U.subject?.length,U.preheader?.length,r.setFieldValue("subject",U.subject??""),r.setFieldValue("preheader",U.preheader??"")},[r]),S=(0,m.useRef)(void 0);(0,m.useEffect)(()=>{const U=e?.renderGuid??(e?.id!=null?String(e.id):void 0);!b||!U||S.current===U||(S.current=U,j(e,"identity"))},[b,e,j]);const M=(0,m.useCallback)(U=>{const L=n.stripSubjectTags(U.value).trim();return L!==U.value&&r.setFieldValue("subject",L),L},[r]),z=(0,m.useCallback)(U=>{const L=M(U.target);i({subject:L})},[i,M]),re=n.useEvent(d.events.BEFORE_SAVE_EMAIL),ne=(0,m.useCallback)(async U=>{const L=oe.current?.input;if(document.activeElement===L){const ee=M(L);ee!==U.subject&&(U.subject=ee,i({subject:ee}))}const F=pe.current?.input;if(document.activeElement===F){const ee=F.value.trim();ee!==U.preheader&&(U.preheader=ee,i({preheader:ee}))}await h?.whenDelivered()},[h,i,M]);(0,m.useEffect)(()=>{const U=re(ne);return()=>U.dispose()},[re,ne]);const be=(0,m.useCallback)(U=>{const L=U.target.value.trim();i({preheader:L})},[i]);Fl(r,b),n.useSetTitle(e.title===null?o("New email title"):e.title);const Te=(0,m.useCallback)(()=>{a(n.setActiveSettingsTab(n.AICHAT)),setTimeout(()=>{const U=document.querySelector('li.ai-response-change-context[role="theme-and-preheader-generator"]');U&&U.click()},100)},[a]),Xe=(0,m.useCallback)(()=>{Ie.isLocked?Ie.state.state==="locked_by_limit"&&Ie.exceeded?se(!0):Ge(!0):Te()},[Ie,Te]),rt=(0,f.jsx)(f.Fragment,{children:(0,f.jsxs)(T.ui_kit$Space,{ref:ce,size:10,children:[_.headerArrowBackVisible&&(0,f.jsx)(T.ui_kit$Tooltip,{title:o("Back"),placement:"left",children:(0,f.jsx)(T.ui_kit$Button,{type:"text",icon:(0,f.jsx)(n.EmIcons,{icon:"ArrowLeftOutlined",component:T.icons$ArrowLeftOutlined,size:22,strokeWidth:_.iconStrokeWidth}),onClick:Be,shape:"circle"})}),(0,f.jsx)("div",{children:(_.headerTitleVisible||_.headerPreheaderVisible)&&(0,f.jsxs)(T.ui_kit$Form,{form:r,layout:"vertical",name:"subject_preheader_form",autoComplete:"off",initialValues:{subject:"",preheader:""},children:[_.headerTitleVisible&&(0,f.jsx)("div",{style:{marginTop:b?-3:0},children:(0,f.jsxs)(T.ui_kit$Space,{style:{width:"100%"},align:"baseline",size:12,children:[(0,f.jsx)("div",{className:"subject_preheader_form__title",children:o("Subject")}),b?(0,f.jsxs)("div",{className:"ant-page-header-heading",children:[(0,f.jsx)(T.ui_kit$Form.Item,{name:"subject",noStyle:!0,children:(0,f.jsx)(T.ui_kit$Input,{className:"ant-page-header-heading-title",ref:oe,placeholder:o("Enter subject line here"),variant:"borderless",autoComplete:"off","data-lpignore":"true","data-1p-ignore":"","data-bwignore":"true","data-form-type":"other",onChange:I,onPressEnter:z,onBlur:U=>{z(U),document.querySelector(".ant-page-header-heading-title").closest(".ant-page-header-heading").classList.remove("focus")},onFocus:()=>{document.querySelector(".ant-page-header-heading-title").closest(".ant-page-header-heading").classList.add("focus")},disabled:_.lockPreheaderAndTitle||G})}),_.aiAssistentEnabled&&!G&&(0,f.jsx)(T.ui_kit$Tooltip,{title:o("Generate with AI"),children:(0,f.jsx)(n.EmIcons,{icon:"AI",component:T.icons$AI,size:12,strokeWidth:_.iconStrokeWidth,onClick:Xe})})]}):(0,f.jsx)(T.ui_kit$Skeleton.Input,{active:!0,size:16,style:{width:"40%",marginTop:3}})]})}),_.headerPreheaderVisible&&(0,f.jsx)("div",{children:(0,f.jsxs)(T.ui_kit$Space,{style:{width:"100%"},align:"baseline",size:12,children:[(0,f.jsx)("div",{className:"subject_preheader_form__title",children:o("Preheader")}),b?(0,f.jsxs)("div",{className:"ant-page-header-heading ant-page-header-heading_preheader",children:[(0,f.jsx)(T.ui_kit$Form.Item,{name:"preheader",noStyle:!0,children:(0,f.jsx)(T.ui_kit$Input,{className:"ant-page-header-heading-preheader",ref:pe,placeholder:o("Enter preheader here"),variant:"borderless",autoComplete:"off","data-lpignore":"true","data-1p-ignore":"","data-bwignore":"true","data-form-type":"other",onChange:R,onPressEnter:be,onBlur:U=>{be(U),document.querySelector(".ant-page-header-heading-preheader").closest(".ant-page-header-heading").classList.remove("focus")},onFocus:()=>{document.querySelector(".ant-page-header-heading-preheader").closest(".ant-page-header-heading").classList.add("focus")},disabled:_.lockPreheaderAndTitle||G})}),_.aiAssistentEnabled&&!G&&(0,f.jsx)(T.ui_kit$Tooltip,{title:o("Generate with AI"),children:(0,f.jsx)(n.EmIcons,{icon:"AI",component:T.icons$AI,size:12,strokeWidth:_.iconStrokeWidth,onClick:Xe})})]}):(0,f.jsx)(T.ui_kit$Skeleton.Input,{active:!0,size:16,style:{width:"80%",marginTop:2}})]})})]})})]})}),Le=(0,f.jsxs)(f.Fragment,{children:[_.emailIdShow&&!!e.id&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("div",{className:"email-page-header__email-id",children:"ID"+e.id}),(0,f.jsx)(T.ui_kit$Divider,{orientation:"vertical"})]}),(0,f.jsx)(Bn.EmailPreviewMenu,{emailElement:e,isCollaborationEditor:t}),!_.commandButtonsEnabled&&(0,f.jsxs)(f.Fragment,{children:[k&&(0,f.jsx)(n.PluginButtons,{items:A}),N.length>0&&(0,f.jsx)(n.PluginMenuButton,{location:"menu:document",items:N}),B.length>0&&(0,f.jsx)(n.PluginMenuButton,{location:"menu:export",items:B}),P&&(0,f.jsx)(n.PluginButtons,{items:C}),W&&(0,f.jsx)(n.PluginSaveMore,{items:x})]}),_.commandButtonsEnabled&&(0,f.jsxs)(f.Fragment,{children:[e.lock?(0,f.jsx)(n.EmIcons,{icon:"Lock",component:T.icons$Lock,size:18,strokeWidth:_.iconStrokeWidth,className:(0,qr.default)("lock-icon",{"lock-icon__disabled":!(v||c||n.isAuthoredByMe(e.author,p,g?.members))}),style:{color:y.colorPrimary,verticalAlign:"sub"}},"Lock"):null,k&&(0,f.jsx)(n.PluginButtons,{items:A}),(0,f.jsx)(Ll,{email:e,isHeaderCodeMenuOpen:ge},"Buttons")]})]});return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(n.Header,{className:"email-pane__header",leftBlock:u?rt:null,rightBlock:u?Le:null,isHeaderCodeMenuOpen:ge}),ze&&(0,f.jsx)(n.PlanUpgradePrompt,{open:!0,onCancel:ie,initialSlide:9}),Fe&&Ie.exceeded?(0,f.jsx)(m.Suspense,{fallback:null,children:(0,f.jsx)(n.LimitUpgradeModalLazy,{open:X,onClose:le,title:o(Fe.titleKey),subtitle:o(Fe.subtitleKey),usageResource:Fe.usageResource,previousDisplay:n.presetLimitDisplay(Ie.exceeded.previousLimit),nextDisplay:n.presetLimitDisplay(Ie.exceeded.nextLimit),onChangePlan:je})}):null]})};go.propTypes={};var Bl=class extends Error{label;timeoutMs;constructor(e,t){super(`[${e}] timed out after ${t}ms`),this.name="OperationTimeoutError",this.label=e,this.timeoutMs=t}};function yo(e,t,r){return t<=0?e:new Promise((o,a)=>{let i=!1,s;const l=u=>{i||(i=!0,s!==void 0&&(clearTimeout(s),s=void 0),u())};s=setTimeout(()=>{l(()=>a(new Bl(r,t)))},t),e.then(u=>{l(()=>o(u))},u=>{l(()=>a(u))})})}var Ul=5e3;function Gl(e){const t=n.parseEmBlockVersion(e);if(!t)return e;const r=o=>String(o).padStart(2,"0");return`${r(t.getDate())}.${r(t.getMonth()+1)}.${t.getFullYear()} ${r(t.getHours())}:${r(t.getMinutes())}:${r(t.getSeconds())}`}var $l=({open:e,blocks:t,projectId:r,onClose:o})=>{const{__:a,_n:i}=n.useI18n(),s=n.useMessageService(),l=n.useNotification(),[u,p]=(0,m.useState)({});(0,m.useEffect)(()=>{e&&p(Object.fromEntries(t.map(c=>[c.emBlockId,!0])))},[e,t]);const h=(0,m.useMemo)(()=>Object.values(u).filter(Boolean).length,[u]),g=(c,y)=>{p(_=>({..._,[c]:y}))},v=(0,m.useCallback)(async()=>{const c=t.filter(_=>u[_.emBlockId]);if(!c.length)return;o();const y=(await Promise.all(c.map(_=>yo(s.sendAsync(n.EVENT_TYPES.SANDBOX_GLOBAL_BLOCK_REPLACE,{emBlockId:_.emBlockId,blockHTML:_.savedHtml,type:"project",...r?{project:String(r)}:{}}),Ul,"sandbox:GLOBAL_BLOCK_REPLACE").then(E=>typeof E=="number"&&E>0,()=>!1)))).filter(Boolean).length;y&&l.success({message:a("Updated")+" "+y+" "+i("block","blocks",y),placement:"bottomRight"}),y<c.length&&l.warning({message:a("Some global blocks were not updated in the email."),placement:"bottomRight"})},[t,u,o,s,r,l,a,i]);return(0,f.jsxs)(T.ui_kit$Modal,{title:(0,f.jsx)("div",{className:"ant-modal-title",children:a("Update global blocks")}),open:e,onOk:v,onCancel:o,footer:(0,f.jsxs)("div",{className:"update-global-blocks-modal__footer",children:[(0,f.jsx)(T.ui_kit$Button,{size:"large",onClick:o,children:a("Cancel")}),(0,f.jsx)(T.ui_kit$Button,{size:"large",type:"primary",disabled:h===0,onClick:v,children:a("Update")})]}),children:[(0,f.jsx)("div",{className:"update-global-blocks-modal__hint",children:a("These global blocks have a newer saved version. Select the ones to update in the template.")}),(0,f.jsx)("div",{className:"update-global-blocks-modal__list",children:t.map(c=>(0,f.jsxs)("div",{className:"update-global-blocks-modal__row",children:[(0,f.jsx)(T.ui_kit$Switch,{checked:!!u[c.emBlockId],onChange:y=>g(c.emBlockId,y)}),(0,f.jsxs)("span",{className:"update-global-blocks-modal__title",title:c.title,children:[c.title,(0,f.jsxs)("span",{className:"update-global-blocks-modal__version",children:[a("Version of")," ",Gl(c.savedVersion)]})]}),c.instances>1&&(0,f.jsxs)("span",{className:"update-global-blocks-modal__count",children:[c.instances," ",i("instance","instances",c.instances)]})]},c.emBlockId))})]})};function vo(e){const t=new Map;return e?.trim()&&new DOMParser().parseFromString(e,"text/html").querySelectorAll('[em="block"][em-block-id]').forEach(r=>{const o=r.getAttribute("em-block-id");if(!o)return;const a=r.getAttribute("em-block-version")??void 0,i=t.get(o);i?(i.versions.add(a),i.count+=1):t.set(o,{versions:new Set([a]),count:1})}),t}function ql(e,t){const r=vo(e);if(!r.size||!t?.length)return[];const o=[];for(const a of t){if(!a.global_block||!a.id||!a.html)continue;const i=n.globalBlockMark(a),s=i&&r.has(i)?i:String(a.id),l=r.get(s);if(!l)continue;const u=n.readRootEmBlockAttrs(a.html).emBlockVersion;u&&[...l.versions].some(p=>p!==u)&&o.push({emBlockId:s,title:a.title?.trim()||s,savedHtml:a.html,savedVersion:u,templateVersion:[...l.versions][0],instances:l.count})}return o}var Xr="em-block-id";function _o(e){return[...vo(e)].map(([t,{versions:r}])=>`${t}@${[...r].sort().join("|")}`).sort().join(",")}function Hl({projectId:e,document:t}){const r=n.useEvent(d.events.ON_EMAIL_INIT_ID),o=n.useHeadless(),[a,i]=(0,m.useState)([]),[s,l]=(0,m.useState)(!1),[u,p]=(0,m.useState)(null),h=(0,m.useCallback)(E=>t?.subscribe(E)??(()=>{}),[t]),g=(0,m.useSyncExternalStore)(h,()=>!!t?.getContent().includes(Xr)),{data:v}=n.blocksApi.endpoints.getBlocks.useQuery(n.projectBlocksArgs(e),{skip:!e||!g}),c=(0,m.useRef)(!1);(0,m.useEffect)(()=>{g&&c.current&&t&&(c.current=!1,p(t.getContent()))},[g,t]);const y=(0,m.useRef)(!1),_=(0,m.useRef)(void 0);return(0,m.useEffect)(()=>{if(y.current||!t)return;y.current=!0;const E=t.getContent();E.includes(Xr)&&(_.current=_o(E),p(E))},[t]),(0,m.useEffect)(()=>{const E=new d.Disposable;return E.addDisposable(r(A=>{if(A?.reset)return;const C=A?.html??"",x=C.includes(Xr),N=_.current;if(_.current=void 0,x&&N!==void 0&&_o(C)===N){c.current=!1;return}c.current=!x,p(x?C:null)})),()=>E.dispose()},[r]),(0,m.useEffect)(()=>{if(u==null||!v)return;if(o){p(null);return}const E=ql(u,v);E.length&&(i(E),l(!0)),p(null)},[u,v,o]),{outdatedBlocks:a,isOpen:s,close:(0,m.useCallback)(()=>l(!1),[])}}var bo="block_deleted";function Eo(e){return Object.assign(new Error(e),{data:{code:bo}})}function zl(e){return e?.data?.code===bo}var Vl=({open:e,html:t,emBlockId:r,onSaveAsNew:o,projectId:a,onClose:i})=>{const{__:s}=n.useI18n(),l=n.useSendPostMessage(),u=n.useNotification(),[p]=n.useEditBlockMutation(),[h]=n.useAddBlockMutation(),[g,v]=(0,m.useState)(!1),c=async()=>{if(!r||!t){i();return}v(!0);const y=new Date,_=n.formatEmBlockVersion(y),E=n.injectEmBlockIdIntoBlockHtml(t,String(r),y),A=await p({blockId:String(r),html:E});if("error"in A&&zl(A.error)){const C=await n.recreateGlobalBlock({title:`${s("Global block")} ${y.toLocaleDateString()}`,html:t,projectId:a,addBlock:h,editBlock:p,notification:u,onGlobalBlockTemplateSynced:(x,N)=>l({operation:n.EVENT_TYPES.SANDBOX_EBLOCK_SET_EM_BLOCK_ID,settings:{emBlockId:x,emBlockVersion:N}})});v(!1),C&&(u.success({message:s("The global block was deleted from the library, so it was created again."),placement:"bottomRight"}),i());return}if(v(!1),"error"in A&&A.error){const C=s("Failed to update the global block.");u.error({id:"BLOCK_EDITING_ERROR",data:{id:String(r),code:E},title:C,description:C,innerException:A.error,error:A.error,placement:"bottomRight"});return}l({operation:n.EVENT_TYPES.SANDBOX_EBLOCK_SET_EM_BLOCK_ID,settings:{emBlockId:String(r),emBlockVersion:_}}),u.success({message:s("The global block was updated."),placement:"bottomRight"}),i()};return(0,f.jsx)(T.ui_kit$Modal,{title:(0,f.jsx)("div",{className:"ant-modal-title",children:s("Saving changes in the block")}),open:e,onCancel:i,footer:(0,f.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8},children:[(0,f.jsx)(T.ui_kit$Button,{size:"large",disabled:g,onClick:o,children:s("Create new block")}),(0,f.jsx)(T.ui_kit$Button,{size:"large",type:"primary",loading:g,onClick:c,children:s("Update current block")})]}),children:(0,f.jsx)("div",{children:s("This is a global block. You can create a new one to apply changes only in this email, or update the current one — then the changes will be applied everywhere this block is used.")})})},Wl=(function(){var e=window.__emailmaker__;if(e&&e.assetUrl)return e.assetUrl("converter-intro.bf4ee74d750b35ae2c10.png");if(e&&e.publicPath)try{return new URL("static/media/converter-intro.bf4ee74d750b35ae2c10.png",e.publicPath).href}catch{}try{return new URL("/static/media/converter-intro.bf4ee74d750b35ae2c10.png",typeof document<"u"&&document.baseURI?document.baseURI:typeof window<"u"&&window.location?window.location.href:"").href}catch{return"/static/media/converter-intro.bf4ee74d750b35ae2c10.png"}})(),Kl={closable:!1},Yl=Wl,Ql=({open:e,onConfirm:t,onCancel:r,neverSuggestAgain:o,onNeverSuggestAgainChange:a})=>{const{__:i}=n.useI18n();return(0,f.jsx)(T.ui_kit$Modal,{className:"convert-layout-modal",title:(0,f.jsx)("div",{className:"convert-layout-modal__title",children:i("Template conversion")}),open:e,onOk:t,onCancel:r,mask:Kl,width:480,footer:(0,f.jsxs)("div",{className:"convert-layout-modal__footer",style:{display:"flex",flexDirection:"column",gap:16},children:[(0,f.jsx)(T.ui_kit$Switch,{size:"small",checked:o,onChange:a,label:i("Don't suggest again"),labelSize:"small"}),(0,f.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8},children:[(0,f.jsx)(T.ui_kit$Button,{size:"large",onClick:r,children:i("Cancel")}),(0,f.jsx)(T.ui_kit$Button,{size:"large",type:"primary",onClick:t,children:i("Convert")})]})]}),children:(0,f.jsxs)("div",{className:"convert-layout-modal__content",style:{display:"flex",flexDirection:"column",alignItems:"center",gap:24,padding:"0 8px",overflow:"hidden"},children:[(0,f.jsx)("div",{className:"convert-layout-modal__text convert-layout-modal__intro-text",style:{textAlign:"center"},children:i("This layout was not created in our editor. Convert it to unlock full editing capabilities: easily change texts, replace images, and manage blocks.")}),(0,f.jsx)("img",{src:Yl,alt:"Converter Intro",className:"convert-layout-modal__image",style:{display:"block",width:"100%",maxWidth:"100%",height:"auto",borderRadius:8}})]})})},Jl={closable:!1},Xl=({open:e,message:t,onRetry:r,onCancel:o})=>{const{__:a}=n.useI18n();return(0,f.jsx)(T.ui_kit$Modal,{title:(0,f.jsx)("div",{className:"ant-modal-title",children:a("Conversion failed")}),open:e,onOk:r,onCancel:o,mask:Jl,footer:(0,f.jsxs)("div",{className:"convert-layout-modal__footer",children:[(0,f.jsx)(T.ui_kit$Button,{size:"large",onClick:o,children:a("Cancel")}),(0,f.jsx)(T.ui_kit$Button,{size:"large",type:"primary",onClick:r,children:a("Try again")})]}),children:(0,f.jsxs)("div",{className:"convert-layout-modal__text",children:[a("Something went wrong during layout conversion. You can try running the conversion again."),t?(0,f.jsx)("div",{className:"convert-layout-modal__error-details",children:t}):null]})})},Zl=({open:e,progress:t})=>{const{__:r}=n.useI18n();return e?(0,f.jsx)("div",{className:"conversion-overlay",children:(0,f.jsxs)("div",{className:"conversion-overlay__content",children:[(0,f.jsx)(T.ui_kit$Spin,{size:"large"}),(0,f.jsx)("div",{className:"conversion-overlay__title",children:r("Converting layout…")}),(0,f.jsx)("div",{className:"conversion-overlay__hint",children:r("This may take several minutes. Please keep this tab open.")}),(0,f.jsx)(T.ui_kit$Progress,{className:"conversion-overlay__progress",percent:Math.round(t),status:"active",strokeColor:n.emCssVar("colorPrimary")})]})}):null},br=n.createApi({reducerPath:"layoutConverterApi",baseQuery:n.fetchBaseQueryApp({baseUrl:"https://app.emailmaker.ru/api/v2"}),endpoints:e=>({createConvertJob:e.mutation({query:({html:t})=>({url:"/ai/converter/jobs",method:"POST",body:{html:t}})}),getConvertJobStatus:e.query({query:t=>({url:`/ai/converter/jobs/${t}`,method:"GET"})})})}),{useCreateConvertJobMutation:ec,useLazyGetConvertJobStatusQuery:tc}=br;function rc(){try{return window.localStorage.getItem(n.LOCAL_STORAGE_ITEMS.em_layout_convert_never_suggest)==="true"}catch{return!1}}function nc(e){try{e?window.localStorage.setItem(n.LOCAL_STORAGE_ITEMS.em_layout_convert_never_suggest,"true"):window.localStorage.removeItem(n.LOCAL_STORAGE_ITEMS.em_layout_convert_never_suggest)}catch{}}function So(e){return e==="beefree"?(0,$e.__vitePreload)(()=>Promise.resolve().then(()=>fe("./static/core/4797d4f7.js")).then(t=>t.convertBeeFreeToEmailMaker),void 0,{}.url):(0,$e.__vitePreload)(()=>Promise.resolve().then(()=>fe("./static/core/7452d34b.js")).then(t=>t.convertStripoToEmailMaker),void 0,{}.url)}var oc=5,wo=95,ac=35e3,ic=1e3,sc=e=>new Promise(t=>setTimeout(t,e)),Zr={beefree:"beefree",stripo:"stripo",ai:"unknown"},lc={init:"prompt",import:"import",explicit:"menu"},cc=new Set(["ai_disabled","html_too_large","too_many_active","hourly_limit_reached"]);function uc(e){const t=e??{},r=t.data?.error?.code??t.code;return typeof r=="string"&&cc.has(r)?r:t.status==="FETCH_ERROR"?"network":t.status==="TIMEOUT_ERROR"?"timeout":"unknown"}function dc(e,t){if(e&&typeof e=="object"){const r=e,o=r.data;if(o&&typeof o=="object"){const a=o.error;if(typeof a=="object"&&a?.message)return a.message;if(typeof a=="string"&&a)return a;if(o.message)return o.message}if(typeof o=="string"&&o)return o;if(r.error)return r.error;if(r.message)return r.message}return t}function mc(){const{__:e}=n.useI18n(),t=n.useUserContentReplacer(),r=n.useNotification(),o=oo(),{aiLayoutConverterEnabled:a,anyConverterEnabled:i}=o,s=n.useHeadless(),l=n.useEditorLocked(),u=n.useEditorLockCheck(),p=n.useAnalyticsEvent(),h=n.useEvent(d.events.ON_EMAIL_INIT_ID),g=n.useEvent(d.events.ON_LAYOUT_CONVERT_REQUEST_ID),[v]=ec(),[c]=tc(),[y,_]=(0,m.useState)(rc),E=(0,m.useRef)(y),A=(0,m.useCallback)(X=>{E.current=X,_(X),nc(X)},[]),[C,x]=(0,m.useState)(!1),[N,B]=(0,m.useState)(!1),[k,P]=(0,m.useState)(0),[W,G]=(0,m.useState)(!1),[me,ce]=(0,m.useState)(""),oe=(0,m.useRef)(""),pe=(0,m.useRef)(null),te=(0,m.useRef)("prompt"),Q=(0,m.useRef)(null),ue=(0,m.useRef)(!1),Ce=(0,m.useRef)({cancelled:!0}),Pe=(0,m.useRef)(null);(0,m.useEffect)(()=>{ue.current=N},[N]);const _e=(0,m.useCallback)(()=>{Pe.current!==null&&(clearInterval(Pe.current),Pe.current=null)},[]),Ne=(0,m.useCallback)(()=>{_e();const X=Date.now();Pe.current=setInterval(()=>{const se=Date.now()-X,le=wo*(1-Math.exp(-se/ac));P(je=>Math.max(je,Math.min(wo,le)))},ic)},[_e]),ae=(0,m.useCallback)(X=>u()?!1:(X&&(t(X,{undoable:!0}),Q.current=X),!0),[t,u]),Ae=(0,m.useCallback)(async(X,se)=>{const le={cancelled:!1};Ce.current=le,G(!1);const je=pe.current,Ie=Zr[je??"ai"],Fe=Date.now();let Be=je==="beefree"||je==="stripo"?"algorithm":"ai",w=!1;p("editor_layout_convert_started",{source:Ie,method:Be,trigger:se});const b=()=>p("editor_layout_convert_succeeded",{source:Ie,method:Be,trigger:se,duration_ms:Date.now()-Fe,fallback_to_ai:w}),I=R=>p("editor_layout_convert_failed",{source:Ie,method:Be,trigger:se,duration_ms:Date.now()-Fe,error_code:R});if(je==="beefree"||je==="stripo"){try{const R=await So(je),j=le.cancelled?"":R(X);if(j&&!le.cancelled){if(!ae(j))return;b(),r.success({message:n.isUseBlocksBuild()?e("Layout converted to Blocks format"):e("Layout converted to EmailMaker format"),placement:"bottomRight"});return}}catch{}if(!a){le.cancelled||(I("algorithm_failed"),ce(e("Layout conversion failed")),G(!0));return}Be="ai",w=!0}if(a){B(!0),P(0),Ne();try{const R=await v({html:X}).unwrap();if(le.cancelled)return;let j=R.retry_after>0?R.retry_after:oc;for(;!le.cancelled;){if(await sc(j*1e3),le.cancelled)return;const S=await c(R.job_id).unwrap();if(le.cancelled)return;if(S.retry_after&&S.retry_after>0&&(j=S.retry_after),S.status==="completed"){if(_e(),!ae(S.html??"")){B(!1),P(0);return}P(100),b(),r.success({message:n.isUseBlocksBuild()?e("Layout converted to Blocks format"):e("Layout converted to EmailMaker format"),placement:"bottomRight"}),setTimeout(()=>{le.cancelled||(B(!1),P(0))},400);return}if(S.status==="failed")throw Object.assign(new Error(S.error?.message||e("Layout conversion failed")),{code:S.error?.code})}}catch(R){if(le.cancelled)return;I(uc(R)),_e(),B(!1),P(0),ce(dc(R,e("Layout conversion failed"))),G(!0)}}},[e,a,ae,v,r,c,p,Ne,_e]),ge=(0,m.useCallback)(()=>{x(!1);const X=oe.current;X&&!u()&&Ae(X,te.current)},[Ae,u]);(0,m.useEffect)(()=>{l&&x(!1)},[l]);const Me=(0,m.useCallback)(()=>{x(!1),Q.current=oe.current,p("editor_layout_convert_declined",{source:Zr[pe.current??"ai"],trigger:te.current,never_suggest:E.current})},[p]),ze=(0,m.useCallback)(()=>{G(!1);const X=oe.current;X&&Ae(X,"retry")},[Ae]),Ge=(0,m.useCallback)(()=>{G(!1),Q.current=oe.current},[]),ie=(0,m.useCallback)((X,se="init")=>{const le=ao(X,o);if(i&&!(s||u())&&le&&!ue.current){if(se==="explicit")Q.current=null;else{if(E.current)return;if(se==="import")Q.current=null;else if(Q.current===X)return}oe.current=X,pe.current=le,le!=="ai"&&So(le).catch(()=>{}),x(!0),te.current=lc[se],p("editor_layout_convert_offered",{source:Zr[le],trigger:te.current})}},[i,o,s,p,u]);return(0,m.useEffect)(()=>{if(!i)return;const X=new d.Disposable;return X.addDisposable(h(se=>{if(se?.reset)return;const le=se?.html??"";ue.current&&le!==oe.current&&(Ce.current.cancelled=!0,ue.current=!1,_e(),B(!1),P(0)),x(!1),G(!1),ie(le)})),()=>X.dispose()},[i,h,ie,_e]),(0,m.useEffect)(()=>{if(!i)return;const X=new d.Disposable;return X.addDisposable(g(se=>{ie(se?.html??"",se?.explicit?"explicit":"import")})),()=>X.dispose()},[i,g,ie]),(0,m.useEffect)(()=>()=>{Ce.current.cancelled=!0,_e()},[_e]),{isPromptOpen:C,isConverting:N,progress:k,isErrorOpen:W,errorMessage:me,confirmConversion:ge,cancelPrompt:Me,retryConversion:ze,closeError:Ge,neverSuggestAgain:y,setNeverSuggestAgain:A}}function pc(){const{isPromptOpen:e,isConverting:t,progress:r,isErrorOpen:o,errorMessage:a,confirmConversion:i,cancelPrompt:s,retryConversion:l,closeError:u,neverSuggestAgain:p,setNeverSuggestAgain:h}=mc();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(Ql,{open:e,onConfirm:i,onCancel:s,neverSuggestAgain:p,onNeverSuggestAgainChange:h}),(0,f.jsx)(Zl,{open:t,progress:r}),(0,f.jsx)(Xl,{open:o,message:a,onRetry:l,onCancel:u})]})}var fc=6e4,ko=new Map;function hc(e){const t=e?String(e):"",r=ko.get(t);if(r&&(ko.delete(t),!(Date.now()-r.at>fc)))return r.promise}var en={data:void 0,isSuccess:!1,isError:!1,error:void 0,isLoading:!1};function gc(e){const t=n.useStore(),r=(0,m.useRef)(t);r.current=t;const[o,a]=(0,m.useState)(en),i=e?String(e):void 0;return(0,m.useEffect)(()=>{if(!i){a(en);return}let s=!1;return a({...en,isLoading:!0}),(hc(i)??n.resolveEmailPort(d.getContainer(r.current)).readEmail(i)).then(l=>{s||a({data:l??void 0,isSuccess:!0,isError:!1,error:void 0,isLoading:!1})}).catch(l=>{s||a({data:void 0,isSuccess:!1,isError:!0,error:l,isLoading:!1})}),()=>{s=!0}},[i]),o}var gh=2;function yc(){const e=n.useProjectData()?.id,t=!0,{data:r,isError:o,isFetching:a,refetch:i}=n.useGetProjectPlanQuery(e,{skip:t}),[s,l]=(0,m.useState)(0),u=(0,m.useRef)(!1),p=!!o,h=s>=2,g=(0,m.useCallback)(()=>{u.current=!1,l(0),i()},[i]);(0,m.useEffect)(()=>{},[p,a,i,s,t]),(0,m.useEffect)(()=>{},[p,e,h,t]);const v="ready";return(0,m.useMemo)(()=>({status:v,retry:g}),[v,g])}var yh=300,vc=d.createIdentifier$1("prewarm.queue");function _c(e){const t=[];let r=!1,o=!1,a;const i=()=>{a&&(a.unwatch(),e.clearTimer(a.timer),a=void 0)},s=()=>{const p=t.shift();if(!p)return;o=!0;const h=()=>{o=!1,u()};p.start().then(h,h)},l=()=>{i(),e.idle(()=>{if(!(o||t.length===0)){if(e.activity.inFlight()>0){u();return}s()}})};function u(){if(!r||o||a||t.length===0)return;const p=()=>e.setTimer(l,300),h={timer:e.activity.inFlight()===0?p():void 0,unwatch:e.activity.watch(()=>{e.clearTimer(h.timer),h.timer=e.activity.inFlight()===0?p():void 0})};a=h}return e.whenVisible(()=>{r=!0,u()}),{add(p){t.some(h=>h.name===p.name)||(t.push(p),u())},remove(p){const h=t.findIndex(g=>g.name===p);h>=0&&t.splice(h,1),t.length===0&&i()}}}function bc(e){return e.getOrCreateInstance(vc,()=>_c({activity:d.getNetworkActivity(e),whenVisible:t=>n.getEditorVisible(e).whenVisible(t),idle:n.whenIdle,setTimer:(t,r)=>window.setTimeout(t,r),clearTimer:t=>window.clearTimeout(t)}))}function Ec(e){return Object.assign(Promise.all(e),{unsubscribe:()=>e.forEach(t=>t.unsubscribe())})}function Sc({projectId:e,project:t,emailProjectId:r,parentEmailId:o}){const a=n.useContainer(),i=n.useAppDispatch(),l=!!n.useCookieManager().get(n.APP_COOKIES.em_token);(0,m.useEffect)(()=>{const u=bc(a),p=[],h=[];let g=!1;const v=(C,x)=>{h.push(C),u.add({name:C,start:x})},c=(C,x)=>v(C,()=>{const N=x();return p.push(N),Promise.resolve(N)}),y=n.parentEmailSource(o),_=C=>i(n.blocksApi.endpoints.getParentEmailBlocks.initiate(n.parentEmailBlocksArgs(C,e))),E=()=>i(n.blocksApi.endpoints.getTemplateBlocks.initiate(n.templateBlocksArgs(e))),A=n.parentNeedsWpId(y)?y:void 0;return A===void 0?c("blocks.panel",()=>Ec([...y?[_(y)]:[],E()])):v("blocks.panel",async()=>{const C=E();p.push(C);const x=i(n.emailsApi.endpoints.getParentEmailWpId.initiate(A));p.push(x);const{data:N}=await x;if(N==null){await C;return}const B=_(N);if(g){B.unsubscribe(),await C;return}p.push(B),await Promise.all([C,B])}),e&&c("blocks.list",()=>i(n.blocksApi.endpoints.getBlocks.initiate(n.projectBlocksArgs(e)))),c("blocks.types",()=>i(n.blocksApi.endpoints.getBlockTypes.initiate())),t?.id&&c("blocks.tags",()=>i(n.taxonomiesApi.endpoints.getTerms.initiate({project:t,kind:n.BLOCK_TAGS}))),()=>{g=!0,h.forEach(C=>u.remove(C)),p.forEach(C=>C.unsubscribe())}},[a,i,e,t,r,o,l])}var tn="AUTOSAVE_RECOVERY";function wc(e,t,r=!1,o){const a=t?.get().serverId??void 0,{__:i}=n.useI18n(),s=n.useNotification(),l=n.useAppConfig(),u=n.useSelector(n.selectMonacoFocusing),p=n.useContainer(),h=n.useSelector(n.selectIsPanelHistoryCollapsed),g=n.useSelector(n.selectActiveSettingsTab),v=n.useDispatch(),c=(0,m.useSyncExternalStore)((0,m.useCallback)(B=>o?.subscribe(B)??(()=>{}),[o]),()=>o?.recoveryFacts()),y=l?.revisionService===!0,_=c?.isRecovering===!0,E=c?.applied,A=(0,m.useCallback)(()=>{v(n.markAppearanceNeedsUpdate())},[v]);(0,m.useEffect)(()=>{y&&_&&s.info({key:tn,title:i("Loading latest changes..."),duration:0})},[y,_,s,i]);const C=(0,m.useRef)({emailId:void 0,seq:0});(0,m.useEffect)(()=>{if(!E||c?.emailId!==a||(C.current.emailId!==a&&(C.current={emailId:a,seq:0}),E.seq<=C.current.seq))return;C.current={emailId:a,seq:E.seq},A();const{phase:B}=E;!y||B==="normal"||(B==="found"?s.success({key:tn,title:i("Changes loaded"),duration:3}):B==="timeout"?s.warning({key:tn,title:i("Locally saved version applied"),description:i("Syncing with the server in the background..."),duration:5}):B==="bg"&&s.info({key:"AUTOSAVE_BG_SYNCED",title:i("Email synced with the server"),duration:3}))},[y,E,c?.emailId,a,A,s,i]),(0,m.useEffect)(()=>{if(!r)return;const B=k=>{k.preventDefault()};return window.addEventListener("beforeunload",B),()=>window.removeEventListener("beforeunload",B)},[r]);const x=!h||u||g==="Discuss",N=p?n.provideAutosaveUiFacts(p):void 0;(0,m.useEffect)(()=>{N?.set({...N.get()??{isUserBusy:!1,saveContext:{}},isUserBusy:x})},[N,x])}var kc=class extends Error{label;timeoutMs;constructor(e){super(`[sandbox:ready] iframe handshake timed out after ${e}ms`),this.name="SandboxReadyTimeoutError",this.label="sandbox:ready",this.timeoutMs=e}};function Ac(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.isInited=="function"&&typeof t.getTarget=="function"&&typeof t.onInit=="function"}function Cc(e,t,r){return e.isInited()&&e.getTarget()?Promise.resolve():(d.throwIfAborted(r),new Promise((o,a)=>{let i=!1,s,l;const u=h=>{i||(i=!0,s!==void 0&&(clearTimeout(s),s=void 0),l?.dispose(),r?.removeEventListener("abort",p),h())},p=()=>{u(()=>a(d.createAbortError(r?.reason)))};if(l=e.onInit(()=>{e.isInited()&&e.getTarget()&&u(()=>o())}),e.isInited()&&e.getTarget()){u(()=>o());return}t>0&&(s=setTimeout(()=>{u(()=>a(new kc(t)))},t)),r?.addEventListener("abort",p)}))}var Ic=2,Ht=Symbol("sandbox:frame-replaced");function Ao(e){return e===Ht}function jt(e,t,r,o,a,i,s){const l=`sandbox:${t}`,u=i?.getSandboxTimeoutMs(t)??n.DEFAULT_SANDBOX_OP_TIMEOUT_MS[t],p=()=>{let y=yo(e.sendAsync(r,o),u,l);return y=d.raceWithAbortSignal(y,i?.signal),n.logShowPipelineWait(l,y,a)};if(t==="INIT_START"&&Ac(e)){const y=i?.getSandboxReadyTimeoutMs()??2e4,_=e,E=A=>{const C=Cc(_,y,i?.signal);return n.logShowPipelineWait("sandbox:INIT_START:ready-wait",C,a).then(()=>{if(!s||A<=0)return p();const x=s.getGeneration();let N;const B=new Promise((P,W)=>{N=s.onChange(()=>{s.getGeneration()!==x&&W(Ht)})}),k=p();return k.catch(()=>{}),Promise.race([k,B]).finally(()=>N?.()).catch(P=>{if(P!==Ht)throw P;return{...a},E(A-1)})})};return E(Ic)}if(!s)return p();const h=s.getGeneration();let g;const v=new Promise((y,_)=>{g=s.onChange(()=>{s.getGeneration()!==h&&_(Ht)})}),c=p();return c.catch(()=>{}),Promise.race([c,v]).finally(()=>g?.()).catch(y=>{throw y===Ht&&{...a},y})}function Co(e,t,r,o){return{html:e,guid:t,...Object.keys(r).length>0?{templateDirectivesPolicy:r}:{},...o!==void 0?{rev:o}:{}}}var Io="self-init:";function Tc(e){return e.startsWith(Io)}function To(e,t){const r=e.getActiveShowRequest();return Tc(t)?r===null:r?.showId===t&&e.hasPendingShow(t)}function Pc(e){const t=()=>e.initPipeline(),r=e.messageService,o=()=>e.waitScope?.()??t(),a=()=>e.frameWatch?.();let i="",s;const l=y=>{s={target:e.readTarget?.(),docId:y}},u=()=>e.readDocument()?n.readDocumentContent(e.readDocument()):i,p=()=>n.getTemplateDirectivesPolicy(e.container).editorPolicy,h=()=>e.readEmail(),g=()=>{const y=h();return{...y,id:e.isTemplate()||y.isNew?void 0:y.id,html:u()}};let v=!1;const c={readContent:u,publicEmail:g,sendInitStart:()=>jt(r,"INIT_START",n.EVENT_TYPES.SANDBOX_INIT_START,{guid:h().renderGuid},void 0,o()),sendInited:()=>jt(r,"INITED",n.EVENT_TYPES.SANDBOX_INITED,{guid:h().renderGuid},void 0,o(),a()),async sendContent(){const y=h(),{html:_,hasBrowserExtensionArtifacts:E}=n.prepareEmailHtmlForEditor(y?.html||"");E&&e.events.browserExtensionDetected(),n.loadDocumentContent(e.readDocument(),_),i=_,l(y.renderGuid),await jt(r,"SET_ENTITY",n.EVENT_TYPES.SANDBOX_SET_ENTITY,Co(u(),y.renderGuid,p(),e.readDocument()?.get().version),{guid:y.renderGuid,emailId:y.id??null},o(),a())},refreshContent:()=>(l(h().renderGuid),jt(r,"SET_ENTITY",n.EVENT_TYPES.SANDBOX_SET_ENTITY,Co(u(),h().renderGuid,p(),e.readDocument()?.get().version),void 0,o(),a())),sendPreheader:async()=>{const y=h();if(y.preheader!==void 0)return jt(r,"PREHEADER",n.EVENT_TYPES.SANDBOX_PREHEADER_UPDATE,{value:y.preheader,guid:y.renderGuid,force:!0},void 0,o(),a())},sendSubject:async()=>{const y=h();if(y.subject!==void 0)return jt(r,"SUBJECT",n.EVENT_TYPES.SANDBOX_SUBJECT_UPDATE,{value:y.subject,guid:y.renderGuid,force:!0},void 0,o(),a())},revealFilled:()=>e.revealFilled?.()??Promise.resolve(),showFilled:y=>e.showFilled?.(y),noteFilled:(y,_)=>e.noteFilled?.(y,_),contentSent:()=>s,readTarget:()=>e.readTarget?.(),fireWillInit:()=>e.events.willInit(g()),fireInit(y,_){if(!To(t(),y)){t().getActiveShowRequest()?.showId;return}const E=h();E.id,E.renderGuid,t().completeShow(y);const A=e.readDocument();n.writeEmailAttributes(A,{is_inited:!0},{source:"system"});const C=()=>{const N=g();_&&(N.reset=!0);const B=e.events.inited(N);return _||(v&&c.fireEmailChanged(),v=!0),B};if(!A||A.isReady())return C();const{docId:x}=A.get();return A.whenReady().then(()=>e.readDocument()?.get().docId===x?C():void 0,()=>{})},fireEmailChanged(){e.events.emailChanged(g())},fireContentChanged(){e.events.contentChanged(u())}};return c}var Rc=2;function Po(){return new Error("[sandbox] document reloaded during fill")}function xc(e,t,r){return{showId:e,reset:t,emailId:r?.id,renderGuid:r?.renderGuid}}function rn(e){try{e()}catch{}}function Oc(e){let t;return rn(()=>{t=e()}),{stage:r=>rn(()=>t?.stage(r)),end:(r,o)=>rn(()=>t?.end(r,o))}}function Mc(e){const t=()=>e.initPipeline();let r=!1,o,a,i,s=0,l,u;const p=()=>{const k=e.readTarget?.(),P=e.readSandboxGeneration?.();return k===void 0||P===void 0?void 0:{target:k,generation:P}},h=()=>{const k=p();return k&&{...k,canvasReplaced:e.trackDocument?.(k.target)}},g=k=>{if(k?.canvasReplaced?.())return!0;const P=p();return k!==void 0&&P?.target===k.target&&P.generation!==k.generation},c=Pc({...e,waitScope:()=>({getSandboxTimeoutMs:k=>t().getSandboxTimeoutMs(k),getSandboxReadyTimeoutMs:()=>t().getSandboxReadyTimeoutMs(),signal:l?.signal??t().signal}),frameWatch:()=>{const k=u;if(!(!k||!e.onSandboxGenerationChange))return{getGeneration:()=>p()?.generation??k.generation,onChange:P=>e.onSandboxGenerationChange?.(()=>{(e.readTarget?.()===k.target||k.canvasReplaced?.())&&P()})??(()=>{})}}});let y;const _=(k,P)=>{if(y===k)return;y=k;const W=s;setTimeout(()=>{s!==W||t().signal.aborted||x(k,P).catch(()=>{})},0)},E=()=>{l?.abort(),l=void 0};let A;const C=()=>{const k=t().signal;k!==A&&(A?.removeEventListener("abort",E),A=k,k.addEventListener("abort",E))};async function x(k,P,W=0){const G=++s;E(),l=new AbortController,u=void 0,C();const me=()=>s!==G,ce=c.readTarget(),oe=t().generation,pe=()=>oe===t().generation&&!t().signal.aborted,te=P?"init:reset-":"init:",Q=Oc(()=>e.observeShow?.(xc(k,P,e.readEmail())));if(!P){const Ae=c.publicEmail();Ae?.id,Ae?.renderGuid,Ae?.preheader}let ue=!1,Ce=!1,Pe,_e=!1;const Ne=()=>{if(g(Pe))throw Po()},ae=()=>{if(me())throw d.createAbortError("Fill superseded")};try{r=!0,await c.sendInitStart(),ae(),Pe=h(),u=Pe,W===0&&c.fireWillInit(),await(P||W>0?c.refreshContent():c.sendContent()),ue=!0,ae(),Ne();const Ae=c.contentSent();c.noteFilled(Ae?.target,Ae?.docId),Q.stage("content"),P||c.publicEmail()?.id;try{await c.sendPreheader()}catch(ge){if(Ao(ge)||me())throw ge;n.logShowPipelineError(`${te}preheader-failed`,{showId:k,error:String(ge)})}ae();try{await c.sendSubject()}catch(ge){if(Ao(ge)||me())throw ge;n.logShowPipelineError(`${te}subject-failed`,{showId:k,error:String(ge)})}if(ae(),Ne(),c.showFilled(ce),await c.sendInited(),ae(),Ne(),Ce=!0,a===k){const ge=e.readSandboxGeneration?.()??i;ge!==void 0&&(o=ge)}Q.stage("reveal"),await c.revealFilled(),Ne(),Q.end("revealed")}catch(Ae){const ge=!me()&&pe()&&g(Pe),Me=ge?Po():void 0,ze=Me??Ae,Ge=ge&&W<Rc?B(k,P,W+1):void 0;_e=ge&&Ge===void 0;const ie=me()?void 0:{showId:k,contentApplied:ue,sandboxInitedAcked:Ce,superseded:!1,...e.describeSurface?.(),error:String(Me??Ae)};ie&&n.logShowPipelineError(`${te}failed`,ie);const X=!me()&&e.recoverFailedFill?.(ce)===!0;if(Q.end(me()?"superseded":X?"recovered":d.isAbortError(ze)||!pe()?"aborted":"failed",ie),!X&&!me()&&To(t(),k)&&t().failShow(k,ze),Ge!==void 0)return Ge;throw ze}finally{N(k,P,te,{superseded:me(),sessionGeneration:oe,contentApplied:ue,sandboxInitedAcked:Ce&&!_e,retry:!_e,commit:pe()})}}function N(k,P,W,G){const{superseded:me,contentApplied:ce,sandboxInitedAcked:oe}=G;if(me){`${W}`;return}oe&&G.commit?c.fireInit(k,P||void 0):oe?n.logShowPipelineError(`${W}aborted (stale session or signal)`,{showId:k,sessionGeneration:G.sessionGeneration,currentGeneration:t().generation,aborted:t().signal.aborted}):ce?n.logShowPipelineError(`${W}aborted (sandbox INITED ack missing)`,{showId:k}):n.logShowPipelineError(`${W}aborted (content not applied)`,{showId:k}),r=!1,l=void 0,!oe&&a===k&&(a=void 0,o===i&&(o=void 0)),!oe&&ce&&G.retry&&_(k,P)}function B(k,P,W){return x(k,P,W)}return{channel:c,isEventsLocked:()=>r,filledGeneration:()=>o,markFilled:k=>{o=k},lastCorrelation:()=>a,markCorrelation:k=>{a=k},bumpRunSeq:()=>{s+=1},noteSandboxGeneration:k=>{i=k},fill:k=>x(k,!1),refill:k=>x(k,!0),stop:()=>{s+=1,E(),r=!1,A?.removeEventListener("abort",E),A=void 0}}}function jc(e,t,r){if(!e?.renderGuid||!e.showId||e.showId!==t.showId)return!1;if(t.isNew)return e.id==null;const o=t.emailId??t.navId;return o!=null&&String(e.id??"")!==String(o)?!1:Ro(e,r)}function Ro(e,t){return t?e?.id==null?!1:String(e.id)===String(t):!0}function Lc(e){const{pipeline:t,readEmail:r,readDocument:o,readRouteEmailId:a,readSandboxGeneration:i}=e,s=h=>{const g=r(),v=a();if(!jc(g,h,v)){h.showId,h.navId,h.emailId,g?.id,g?.showId,g?.renderGuid;return}h.showId,g?.id,g?.renderGuid,t.markFilled(i()),t.markCorrelation(h.showId),t.fill(h.showId).catch(()=>{})};return{showRequested:h=>{s(h)},showRequestIdentityChanged:()=>{const h=e.initPipeline().getActiveShowRequest();h&&s(h)},selfInitChanged:()=>{if(e.initPipeline().getActiveShowRequest())return;const h=i();if(t.filledGeneration()===h)return;const g=r(),v=a();if(!g?.renderGuid||!Ro(g,v))return;const c=`${Io}${g.renderGuid}`;t.markFilled(h),t.markCorrelation(c);const y=o()?.isReady()===!0;g.id,g.renderGuid,(y?_=>t.refill(_):_=>t.fill(_))(c).catch(()=>{t.lastCorrelation()===c&&t.markFilled(void 0)})},saasChanged:()=>{const h=r();h?.renderGuid,h?.showToken,h?.id,o()}}}var xo=d.createIdentifier$1("canvas.sandboxFill"),Dc=class extends Error{showId;constructor(e,t){super(`[emailmaker] show() timed out after ${t}ms waiting for editor init (showId=${e}). Check earlier console errors: wrong host-plugin publicPath (chunks return HTML), mount element removed without destroy(), or sandbox init never completed. Search for [show-pipeline] and [AMD] messages.`),this.name="ShowPipelineTimeoutError",this.showId=e}},Nc=class{_activeRequest=null;_pending=new Map;_listeners=new Set;getActiveShowRequest(){return this._activeRequest}onShowRequested(e){return this._listeners.add(e),()=>{this._listeners.delete(e)}}requestShow(e,t,r){return this._rejectPending(d.createAbortError("Superseded by newer show()")),r.aborted?Promise.reject(d.createAbortError(r.reason)):(this._activeRequest=e,new Promise((o,a)=>{const i=setTimeout(()=>{this._settle(e.showId,()=>{a(new Dc(e.showId,t))})},t);i.unref?.();const s=()=>{this._settle(e.showId,()=>{a(d.createAbortError(r.reason))})};r.addEventListener("abort",s,{once:!0});const l=()=>{clearTimeout(i),r.removeEventListener("abort",s)};this._pending.set(e.showId,{request:e,resolve:o,reject:a,timeoutId:i,dispose:l});for(const u of this._listeners)u(e)}))}completeShow(e){this._settle(e,t=>{t.resolve()})}hasPendingShow(e){return this._pending.has(e)}failShow(e,t){this._settle(e,r=>{r.reject(t)})}rejectAll(e){this._rejectPending(e),this._activeRequest=null}_settle(e,t){const r=this._pending.get(e);r&&(r.dispose(),this._pending.delete(e),this._activeRequest?.showId===e&&(this._activeRequest=null),t(r))}_rejectPending(e){for(const[,t]of this._pending)t.dispose(),t.reject(e);this._pending.clear()}};function Fc(e,t){return{contentReady:t.contentReady??e?.contentReady,sandboxReady:t.sandboxReady??e?.sandboxReady,sandbox:t.sandbox?{...e?.sandbox,...t.sandbox}:e?.sandbox}}function Bc(e){if(!e||!(e.contentReady!==void 0||e.sandboxReady!==void 0||e.sandbox!==void 0))return;const t=n.resolveContentReadyTimeoutMs(e),r=n.resolveSandboxReadyTimeoutMs(e),o=n.resolveSequentialSandboxOpBudgetMs(e.sandbox);t<r+o}var Uc=class{_controller=new AbortController;_externalSignalDisposable=new d.Disposable;_sessionChangeListeners=new Set;_showRegistry=new Nc;_timeouts;_generation=0;_sessionStarted=!1;_externalSignal;get signal(){return this._controller.signal}get externalSignal(){return this._externalSignal}get generation(){return this._generation}get contentReadyTimeoutMs(){return n.resolveContentReadyTimeoutMs(this._timeouts)}getSandboxTimeoutMs(e){return n.resolveSandboxOpTimeoutMs(e,this._timeouts?.sandbox)}getSandboxReadyTimeoutMs(){return n.resolveSandboxReadyTimeoutMs(this._timeouts)}bumpGeneration(){this._generation+=1}getActiveShowRequest(){return this._showRegistry.getActiveShowRequest()}onShowRequested(e){return this._showRegistry.onShowRequested(e)}requestShow(e){return this._showRegistry.requestShow(e,this.contentReadyTimeoutMs,this._controller.signal)}completeShow(e){this._showRegistry.completeShow(e)}hasPendingShow(e){return this._showRegistry.hasPendingShow(e)}failShow(e,t){this._showRegistry.failShow(e,t)}rejectAllPendingShows(e){this._showRegistry.rejectAll(e)}onSessionReplaced(e){return this._sessionChangeListeners.add(e),()=>{this._sessionChangeListeners.delete(e)}}configure(e){e.timeouts!==void 0&&(this._timeouts=Fc(this._timeouts,e.timeouts),Bc(this._timeouts));const t=e.replaceSession===!0||!this._sessionStarted||e.timeouts!==void 0||e.signal!==void 0;this._sessionStarted=!0,e.signal!==void 0&&(this._externalSignal=e.signal),t&&(this._replaceSessionController(),this.bumpGeneration()),(e.signal!==void 0||t)&&this._linkExternalSignal(e.signal)}relinkExternalSignal(e){this._externalSignal=e,this._externalSignalDisposable.dispose(),this._externalSignalDisposable=new d.Disposable,this._linkExternalSignal(e)}abort(e){const t=e??d.createAbortError("Editor instance destroyed");this._showRegistry.rejectAll(t),this._controller.signal.aborted||(this._controller.abort(t),this.bumpGeneration()),this._externalSignalDisposable.dispose(),this._externalSignalDisposable=new d.Disposable}_replaceSessionController(){this._externalSignalDisposable.dispose(),this._externalSignalDisposable=new d.Disposable,this._showRegistry.rejectAll(d.createAbortError("Init session replaced")),this._controller.signal.aborted||this._controller.abort(d.createAbortError("Init session replaced")),this._controller=new AbortController,this._emitSessionReplaced()}_emitSessionReplaced(){for(const e of this._sessionChangeListeners)e()}_linkExternalSignal(e){if(!e)return;if(e.aborted){this._controller.signal.aborted||(this._controller.abort(e.reason??d.createAbortError()),this.bumpGeneration());return}const t=()=>{this._controller.signal.aborted||(this._controller.abort(e.reason??d.createAbortError()),this.bumpGeneration())};e.addEventListener("abort",t),this._externalSignalDisposable.addDispose(()=>{e.removeEventListener("abort",t)})}},Gc=(()=>{const e=new Uc;return e.configure({}),e})();function nn(){const e=n.useStore();return(0,m.useMemo)(()=>d.getContainer(e)?.getInstance(d.INIT_PIPELINE_ID)??Gc,[e])}function $c(e){const t=nn(),r=(0,m.useRef)(e);r.current=e,(0,m.useEffect)(()=>{let o;const a=()=>{o?.();const s=t.signal;if(s.aborted){r.current();return}const l=()=>r.current();s.addEventListener("abort",l),o=()=>s.removeEventListener("abort",l)};a();const i=t.onSessionReplaced(a);return()=>{i(),o?.()}},[t])}function qc(e){const t=nn(),r=(0,m.useRef)(e);r.current=e,(0,m.useEffect)(()=>t.onShowRequested(o=>r.current(o)),[t])}var Hc=(e,t,r,o,a)=>{const i=n.useStore(),s=n.useMessageService(),l=nn(),u=(0,m.useRef)(l);u.current=l;const p=n.useEventEmitter(d.events.WILL_EMAIL_INIT_ID),h=n.useEventEmitter(d.events.ON_EMAIL_INIT_ID),g=n.useEventEmitter(d.events.ON_CONTENT_CHANGED_ID),v=n.useEventEmitter(d.events.ON_EMAIL_CHANGED_ID),c=n.useEventEmitter(d.events.ON_BROWSER_EXTENSION_DETECTED_ID),y=e?.id!==void 0,_=e?.showToken??0,E=_,A=(0,m.useRef)(E);A.current=E;const C=(0,m.useRef)(void 0);C.current=e;const[x,N]=(0,m.useState)(()=>n.getSandboxGeneration(s)),B=(0,m.useRef)(x);B.current=x,(0,m.useEffect)(()=>(N(n.getSandboxGeneration(s)),n.onSandboxGenerationChange(s,()=>{N(n.getSandboxGeneration(s))})),[s]);const k=(0,m.useRef)(o);k.current=o;const P=(0,m.useRef)(t);P.current=t;const W=a?.standalone?void 0:d.getContainer(i)?.getInstance(xo),G=!W,me=(0,m.useRef)(W?.pipeline);me.current||(me.current=Mc({container:d.getContainer(i),messageService:s,initPipeline:()=>u.current,readDocument:()=>k.current,readEmail:()=>C.current,isTemplate:()=>!!P.current,readSandboxGeneration:()=>B.current,events:{willInit:Q=>p.fire(Q),inited:Q=>h.fire(Q),contentChanged:Q=>g.fire(Q),emailChanged:Q=>v.fire(Q),browserExtensionDetected:()=>c.fire()}}));const ce=me.current,oe=(0,m.useRef)(r);oe.current=r;const pe=(0,m.useRef)(void 0);G&&!pe.current&&(pe.current=Lc({pipeline:ce,initPipeline:()=>u.current,readEmail:()=>C.current,readDocument:()=>k.current,readRouteEmailId:()=>oe.current,readSandboxGeneration:()=>B.current}));const te=pe.current;ce.noteSandboxGeneration(B.current),(0,m.useEffect)(()=>{if(G)return()=>me.current?.stop()},[G]),(0,m.useEffect)(()=>{W?.setRoute({emailId:r,isTemplate:t})},[W,r,t]),(0,m.useEffect)(()=>{const Q=C.current;if(G&&!ce.isEventsLocked()&&e?.renderGuid===Q?.renderGuid&&Q?.is_inited&&Q){const ue=ce.channel.readContent();v.fire({...Q,id:t||Q.isNew?void 0:Q.id,html:ue})}},[ce,e?.renderGuid,e?.preheader,e?.common_styles,e?.meta,e?.subject,e?.utm_parameters?.utm_campaign||"",e?.utm_parameters?.utm_content||"",e?.utm_parameters?.utm_medium||"",e?.utm_parameters?.utm_source||"",e?.utm_parameters?.utm_term||"",v,t,G]),(0,m.useEffect)(()=>{if(G){const Q=n.subscribeToContent(o,()=>{const ue=C.current;if(!ce.isEventsLocked()&&e?.renderGuid===ue?.renderGuid&&ue){const Ce=ce.channel.readContent();g.fire(Ce),v.fire({...ue,id:t||ue.isNew?void 0:ue.id,html:Ce})}});return()=>Q.dispose()}},[o,ce,g,v,e,t,G]),$c(()=>{G&&ce.stop()}),qc(Q=>{te?.showRequested(Q)}),(0,m.useEffect)(()=>{te?.showRequestIdentityChanged()},[te,l,e?.renderGuid,e?.showId,e?.id,r]),(0,m.useEffect)(()=>{te?.selfInitChanged()},[te,l,e?.renderGuid,e?.showId,e?.id,r,o,x]),n.usePrevious(()=>{te?.saasChanged()},[e?.renderGuid,_,y,te]),n.useIframeReload(async()=>{if(!G)return;const Q=l.getActiveShowRequest()?.showId;Q&&(ce.markFilled(B.current),await ce.refill(Q))},{async:!0})};function zc(e){const t=n.useEvent(d.events.ON_EMAIL_INIT_ID);(0,m.useEffect)(()=>{if(!e)return;const r=t(()=>e.clear());return()=>r.dispose()},[e,t])}function Vc(e){return{saving:(0,m.useSyncExternalStore)(e.subscribe,()=>e.saveState().saving),failures:(0,m.useSyncExternalStore)(e.subscribe,()=>e.saveState().failures)}}function Wc({templateEmailId:e,templateEmail:t,templateRead:r,newEmail:o}){return e?t?n.createDraftFromTemplate(t,o):r?o:void 0:o}function Kc(e,t){const[r,o]=(0,m.useState)(()=>({routeEmailId:e,templateId:e?void 0:t()||void 0}));if(r.routeEmailId!==e){const a={routeEmailId:e,templateId:e?void 0:t()||void 0};return o(a),a.templateId}return r.templateId}function Yc({templateEmailId:e,templateEmail:t,templateRead:r,newEmail:o}){return(0,m.useMemo)(()=>Wc({templateEmailId:e,templateEmail:t,templateRead:r,newEmail:o}),[e,t,r,o])}var Qc={"not-found":404,forbidden:403,unavailable:500};function Oo(e){const t=n.emailOpenFailureReason(e);return t?Qc[t]:e?.status}function Jc(e){const t=e,r=t?.data?.message??t?.error;return typeof r=="string"&&r!==""?r:void 0}function Xc(e,t){return Zc(e,t)??Jc(e)??t("Unknown error")}function Zc(e,t){switch(n.emailOpenFailureReason(e)){case"not-found":return t("This email no longer exists. It may have been deleted.");case"forbidden":return t("You do not have access to this email.");case"unavailable":return t("The email could not be loaded. Please try again.");default:return}}function eu({routeEmailId:e,draft:t}){const r=n.useStore();(0,m.useRef)(0);const o=(0,m.useRef)(void 0),[,a]=(0,m.useReducer)(i=>i+1,0);return(0,m.useEffect)(()=>{},[r,e,e?void 0:t]),o}function tu({routeEmailId:e,draft:t}){const r=n.useStore(),o=n.getEmailDocuments(d.getContainer(r)),a=eu({routeEmailId:e,draft:t}),i=n.useOpenEmail(),s=(0,m.useCallback)(u=>o.subscribe(u),[o]);(0,m.useSyncExternalStore)(s,()=>o.showFacts()),(0,m.useSyncExternalStore)(s,()=>o.sessionKey());const l=(0,m.useCallback)(()=>!0,[o,a,e]);return{...i,history:o.history(),ownsSession:l}}function ru(e,t){return t}function nu(e){return!1}function ou({documents:e,push:t,projectId:r,subscription:o}){(0,m.useEffect)(()=>e.onSaved(a=>{a.intent==="publish"&&t({event:"save",action:"save_email",email_id:a.serverId??void 0,project_id:r,subscription:o})}),[e,t,r,o])}function au(e){const t=n.useStore();(0,m.useEffect)(()=>{},[t,e])}function iu(e,t,r,o=()=>!0){const a=n.useAppNavigate(),i=n.useContainer();(0,m.useEffect)(()=>{},[a,e,t,r,i,o])}var{Content:Mo}=T.ui_kit$Layout,su={paddingTop:"40px"},lu=()=>{const{__:e}=n.useI18n(),{owner:t,admin:r}=n.useMyRoles(),o=n.useDispatch(),a=n.useCodeModeActions(),i=n.useAppNavigate(),{modal:s}=T.ui_kit$App.useApp(),l=n.useAppConfig(),u=n.useRootElement(),p=n.useCookieManager(),h=n.useMessageService(),{emailId:g,preview:v}=n.useRouteParams(),c=n.useEditorProjectId(),y=n.useAppSearchParams(),_=n.useSelector(n.selectIsCodeMode),E=n.useSelector(n.selectActiveModal),A=n.useCurrentUser(),C=n.useProjectData(),x=(0,m.useMemo)(()=>n.createNewEmailDraft(C?{id:n.emailProjectField(C.id),title:C.name}:void 0),[C]),N=n.useSelector(n.selectIsGlobalLoading),[B]=n.useLazyGetMeQuery(),{isSuccess:k,data:P}=n.useGetSubscriptionsQuery(),W=yc(),[G,me]=(0,m.useState)(!1),[ce,oe]=(0,m.useState)(),[pe,te]=(0,m.useState)(null),[Q,ue]=(0,m.useState)(!1),[Ce,Pe]=(0,m.useState)(!1),[_e,Ne]=(0,m.useState)(!1),[ae,Ae]=(0,m.useState)(!1),[ge,Me]=(0,m.useState)(!1),{confirm:ze}=s,{counters:Ge,subscription:ie}=A,X=Ge?.emails_counter;p.get(n.APP_COOKIES.em_template_email);const se=Kc(g,()=>y.get("template")||p.get(n.APP_COOKIES.em_new_email)),{isSuccess:le,isLoading:je,isError:Ie,error:Fe,data:Be}=gc(g?void 0:se),w=Yc({templateEmailId:se,templateEmail:Be,templateRead:le,newEmail:x}),{document:b,email:I,error:R,history:j,ownsSession:S}=tu({routeEmailId:g,draft:w}),M=I?.id!=null?String(I.id):void 0,z=ru(g,M);(0,m.useEffect)(()=>{},[g,M,b,se]),iu(g,I?.id,c,S);const re=n.useStore(),ne=n.getEmailDocuments(d.getContainer(re)),be=(0,m.useCallback)((J,ke)=>ne.save(J,ke),[ne]),{saving:Te}=Vc(ne),Xe=(0,m.useCallback)(()=>ne.saveState(),[ne]),rt=n.usePushToDataLayer();ou({documents:ne,push:rt,projectId:c,subscription:ie?.post_title}),n.usePublishDocumentSession(b,j),zc(j),Hc(I,nu(g),z,b);const Le=n.useUserUndo({document:b,history:j}),U=(0,m.useCallback)(()=>{te(null),oe(void 0),Ne(!1),Me(!1),Ae(!1),Le.clear()},[Le]);n.useEditorUiReset(b?.get().docId,U),wc(I,b,Te,ne),au(c),(0,m.useEffect)(()=>{n.injectEmailRightsResolver(d.getContainer(re),J=>!!(t||r||n.isAuthoredByMe(J?.author,A,C?.members)))},[re,t,r,A,C?.members]);const L=bs({email:I,save:be,saveState:Xe,documentSession:b}),{outdatedBlocks:F,isOpen:ee,close:Ve}=Hl({projectId:c,document:b});Sc({projectId:c,project:C,emailProjectId:n.wpProjectId(I?.project,c),parentEmailId:I?.parent_email});const Je=E===n.MODALS.ADD_NEW_EBLOCK_MODAL,it=n.useMountOnFirstOpen(Je),St=n.useMountOnFirstOpen(_e),Ze=R??(se?Fe:void 0),ut=!!Ze,wt=ut&&!1,We=!I&&!ut,de=!!I;(0,m.useEffect)(()=>{ut&&Ze&&n.emailOpenFailureReason(Ze)===void 0&&n.reportEntityLoadError("email",g||se,Ze)},[ut,Ze,g,se]),(0,m.useEffect)(()=>{se&&le&&y.get("template")&&y.set({},{replace:!0})},[se,le,y]),(0,m.useEffect)(()=>(o(n.switchIsPanelHistoryCollapsed(!0)),()=>o(n.switchIsPanelHistoryCollapsed(!0))),[o]);const Y=(0,m.useCallback)(()=>{a.toggle(),o(n.resetPanes())},[o,a]);(0,m.useEffect)(()=>{v&&!_&&Y()},[_,v,Y]),(0,m.useEffect)(()=>{document.body.classList.add("editor"),o(n.setActiveSettingsTab(n.BUILD))},[o]),(0,m.useEffect)(()=>{},[B,X,G]);const D=(0,m.useCallback)(()=>{Le.undo()},[Le]),K=(0,m.useCallback)(()=>{Le.redo()},[Le]),Ee=(0,m.useCallback)(J=>{(window.navigator.appVersion.indexOf("Mac")&&J.metaKey||J.ctrlKey)&&(J.code==="KeyZ"?(J.preventDefault(),J.shiftKey?K():D()):J.code==="KeyY"&&!J.shiftKey&&(J.preventDefault(),K()))},[D,K]),Se=()=>{i(`/projects/${c}/emails`)};(0,m.useEffect)(()=>()=>{o(n.resetPanes()),o(n.closeModal()),o(n.closeModal$1()),o(n.resetElementHistorySlice())},[o]);const He=(0,m.useCallback)(J=>{const ke=()=>{o(n.openModal(n.MODALS.ADD_NEW_EBLOCK_MODAL))},ye=J.data.operation,Re=J.data,xe=J.data.action,kt=u.querySelector("#iframe-scroll-top"),nt=u.querySelector("#iframe-scroll-bottom");if(ye===n.EVENT_TYPES.APPLICATION_EBLOCK_ADD){const At=Re.settings?.emBlockId;At?te({html:Re.data,emBlockId:String(At)}):(oe(Re.data),ke())}if(ye===n.EVENT_TYPES.APPLICATION_ACTION&&(xe==="undo"?D():xe==="redo"&&K()),ye===n.EVENT_TYPES.APPLICATION_SCROLL_BLOCK_SHOW){const At=u.querySelector("#email_iframe_slot"),Qt=document.body.getBoundingClientRect().height,Jt=At.getClientRects()[0];Jt.top<0&&(kt.style.display="block"),Jt.top+Jt.height>Qt&&(nt.style.display="block")}ye===n.EVENT_TYPES.APPLICATION_SCROLL_BLOCK_HIDE&&(kt.style.display="none",nt.style.display="none")},[o,D,K,u]);n.useListenPostMessage(He);const we=J=>{if(J.target?.closest?.(".file-manager, .ant-modal.file-manager"))return;const ke=J.dataTransfer,ye=(ke?Array.from(ke.types||[]):[]).includes(n.DND_SOCIAL_LIST_REORDER_MIME),Re=typeof J.composedPath=="function"?J.composedPath():[];J.target?.closest?.(".selected-social-form")||Re.some(xe=>xe&&xe.nodeType===1&&typeof xe.classList?.contains=="function"&&xe.classList.contains("selected-social-form"))||ye||(J.preventDefault(),J.target&&h.send({operation:n.EVENT_TYPES.SANDBOX_DRAG_CANCEL}),u.querySelectorAll(".em-dragging-element").forEach(xe=>{xe.classList.remove("em-dragging-element")}))},et=(0,m.useRef)({});(0,m.useEffect)(()=>{const J=new d.Disposable,ke=ye=>Re=>et.current[ye]?.(Re);return J.addDisposable(n.addWindowListenerFromShadow(u,"drop",ke("drop"))),J.addDisposable(n.addWindowListenerFromShadow(u,"dragover",ke("dragover"))),J.addDisposable(n.addWindowListenerFromShadow(u,"dragstart",ke("dragstart"))),J.addDisposable(n.addWindowListenerFromShadow(u,"dragend",ke("dragend"))),()=>{J.dispose()}},[u]),(0,m.useEffect)(()=>(window.addEventListener("keydown",Ee),()=>{window.removeEventListener("keydown",Ee)}),[Ee]);const Pt=J=>{if(J.preventDefault(),J.target?.closest?.(".file-manager, .ant-modal.file-manager"))return;const ke=u.querySelector("#iframe-scroll-top"),ye=u.querySelector("#iframe-scroll-bottom"),Re=l.sidePanelFloating?u.querySelector("#pane-content-wrapper"):u.querySelector(".email-pane__col_preview"),xe=u.querySelector(".blocks-app").getBoundingClientRect().top,{height:kt,top:nt}=u.querySelector("#email_iframe_slot").getBoundingClientRect(),At=Re.getBoundingClientRect().height;nt>96?ke.style.display==="block"&&(ke.style.display="none"):(ke.style.display==="none"||ke.style.display==="")&&(ke.style.display="block"),kt-At+nt-xe<44?ye.style.display==="block"&&(ye.style.display="none"):ye.style.display==="none"&&(ye.style.display="block"),J.target===ke&&Re.scrollBy(0,-15),J.target===ye&&Re.scrollBy(0,15)},Ur=()=>{const J=u.querySelector("#iframe-scroll-top"),ke=u.querySelector("#iframe-scroll-bottom");J&&ke&&(J.style.display="none",ke.style.display="none"),u.querySelectorAll(".em-dragging-element").forEach(ye=>{ye.classList.remove("em-dragging-element")})},Gr=J=>{const ke=J.target,ye=ke instanceof Element?ke:ke.parentElement;if(!(ye instanceof Element)||ye.closest(".selected-social-form"))return;ye.parentElement?.classList.add("em-dragging-element");const Re=!!ye.closest(".blocks-search__result-wrapper");var xe=Re?n.cloneBlockPreviewForDrag(ye.querySelector(".blocks-search__result-html")):ye.cloneNode(!0);xe.classList.add("em-ghost-element"),xe.style.height=Re?"auto":"70px",xe.style.width=Re?"600px":"109px",xe.style.position="absolute",xe.style.top="0",xe.style.left="0",xe.style.zIndex="-1",ye.appendChild(xe),J.dataTransfer.setDragImage(xe,0,0),window.setTimeout(function(){xe.parentNode.removeChild(xe)},1e3)};et.current={drop:we,dragover:Pt,dragstart:Gr,dragend:Ur};const $r=(0,m.useCallback)(()=>{ze({title:e("You reached the plan limit"),icon:(0,f.jsx)(n.EmIcons,{icon:"ExclamationCircleOutlined",component:T.icons$ExclamationCircleOutlined}),content:(0,f.jsx)("div",{style:{maxWidth:"330px"},children:e("Switch to a different plan to save more emails.")}),centered:!0,okText:e("Choose a plan"),cancelText:e("Continue without saving"),width:"unset",onOk(){i("/billing")},onCancel(){}})},[i,e,ze]);return(0,m.useEffect)(()=>{if(k&&P){const J=P?.find(ke=>ke.id?.toString()===ie?.ID?.toString())?.limits?.emails_limit;J&&X>=J&&!Q&&!g&&t&&($r(),ue(!0))}},[P,k,ie,X,Q,$r,g,t]),(0,m.useEffect)(()=>{const J=h.onInit(()=>{h.send({operation:n.EVENT_TYPES.SANDBOX_LOCK_EDIT,data:!1})});return()=>J.dispose()},[h]),(0,f.jsx)(n.DocumentSessionProvider,{document:b,history:j,children:(0,f.jsx)(eo.Provider,{value:L,children:(0,f.jsxs)(T.ui_kit$Layout,{className:"email-page",children:[We&&(0,f.jsx)(T.ui_kit$PageLoader,{}),!We&&W.status==="pending"&&(0,f.jsx)(T.ui_kit$PageLoader,{}),W.status==="error"&&(0,f.jsx)(Mo,{style:su,children:(0,f.jsx)("div",{className:"container",children:(0,f.jsx)(T.ui_kit$Result,{status:"warning",title:e("Failed to load plan data"),subTitle:e("Editor features depend on your plan. Check your connection and try again."),extra:(0,f.jsx)(T.ui_kit$Button,{type:"primary",onClick:W.retry,children:e("Try again")})})})}),wt&&(0,f.jsx)(Mo,{style:{paddingTop:"40px"},children:(0,f.jsx)("div",{className:"container",children:(0,f.jsx)(T.ui_kit$Result,{status:Oo(Ze),title:Oo(Ze),subTitle:Xc(Ze,e),extra:(0,f.jsx)(T.ui_kit$Button,{type:"primary",onClick:Se,children:e("Back To Project")})})})}),I&&!We&&!wt&&W.status==="ready"&&(0,f.jsxs)(T.ui_kit$Layout,{className:"email-pane",children:[N&&(0,f.jsx)("div",{className:"email-pane__loader",children:(0,f.jsx)(T.ui_kit$PageLoader,{small:!0})}),(0,f.jsx)(go,{email:I,isCollaborationEditor:Ce}),(0,f.jsx)(Bn.EmailPane_default,{emailElement:I,isSuccess:de,setIsCollaborationEditor:Pe,setIsShowAddAllBlocksModal:Ne,triggerOpenSavedBlocksTab:ae})]}),it&&(0,f.jsx)(m.Suspense,{fallback:null,children:(0,f.jsx)(n.AddNewBlockModalLazy,{isModalVisible:Je,htmlContent:ce,projectId:c,setIsShowAddAllBlocksModal:Ne,setIsShowAddAllBlocksModalForNewEmail:Me,currentEmail:I})}),(0,f.jsx)($l,{open:ee,blocks:F,projectId:c,onClose:Ve}),(0,f.jsx)(Vl,{open:!!pe,html:pe?.html,emBlockId:pe?.emBlockId,projectId:c,onSaveAsNew:()=>{oe(pe?.html),te(null),o(n.openModal(n.MODALS.ADD_NEW_EBLOCK_MODAL))},onClose:()=>te(null)}),St&&(0,f.jsx)(m.Suspense,{fallback:null,children:(0,f.jsx)(n.AddAllBlocksModalLazy,{isModalVisible:_e,currentEmail:I,setIsShowAddAllBlocksModal:Ne,setTriggerOpenSavedBlocksTab:Ae,autoStart:!ge,projectId:c})}),(0,f.jsx)(pc,{})]})})})};function cu(){const e=n.useStore(),t=n.getEmailDocuments(d.getContainer(e)),r=(0,m.useCallback)(o=>t.subscribe(o),[t]);return{kind:(0,m.useSyncExternalStore)(r,()=>{if(t.current())return n.isBlockSessionKey(t.sessionKey())?"block":"email"}),hasSuspended:(0,m.useSyncExternalStore)(r,()=>t.hasSuspended())}}var uu=/^\d+$/u,du=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu;function mu(e){return typeof e=="number"?e:e!=null&&uu.test(e)?Number(e):e!=null&&du.test(e)?e.toLowerCase():String(e??"")}function pu(e,t){const r=n.useStore(),o=n.useAppConfig(),a=n.useStorageProvider();(0,m.useRef)(new Set),(0,m.useEffect)(()=>{},[e,t,o,r,a])}var fu=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu;function hu(e){return typeof e=="string"&&fu.test(e)}function jo(e,t){return!e||t===void 0?!1:String(e.id)===String(t)||e.nativeId!==void 0&&e.nativeId.toLowerCase()===String(t).toLowerCase()}var gu=30;function yu(e){const t=n.useContainer(),r=hu(e),o=n.useGetProjectQuery(mu(e),{skip:!e,refetchOnMountOrArgChange:gu}),{isSuccess:a,isError:i,error:s,data:l,isFetching:u}=o;pu(r?void 0:e,a),(0,m.useEffect)(()=>{t&&n.setCurrentProjectRefreshing(t,u)},[t,u]),(0,m.useEffect)(()=>{t&&a&&l&&jo(l,e)&&n.setCurrentProjectCard(t,l)},[a,l,t,e]),(0,m.useEffect)(()=>{i&&s&&n.reportEntityLoadError("project",e,s)},[i,s,e]);const p=n.useProjectData(),h=jo(p,e);return{...o,projectReady:h}}var zt=n.createApi({reducerPath:"promoApi",baseQuery:n.fetchBaseQueryApp({baseUrl:"https://app.emailmaker.ru/api/wp-json/promo/v1/"}),endpoints:e=>({checkPromo:e.mutation({queryFn:({code:t,type:r},o)=>n.clientFromApi(o).promo.set_code_create({code:t,type:r})}),getPromoInfo:e.query({queryFn({code:t},r){return n.clientFromApi(r).promo.get_code_info_list({code:t})}})})}),{useCheckPromoMutation:vh,useGetPromoInfoQuery:_h}=zt,vu=n.lazyRoute(()=>(0,$e.__vitePreload)(()=>Promise.resolve().then(()=>fe("./static/core/76163cc7.js")),void 0,{}.url),"plugin-block-page");function _u(){const e=n.useContainer(),[t,r]=(0,m.useState)();return(0,m.useEffect)(()=>{if(!e)return;let o=!0;return n.getAppProject(e).then(a=>{o&&a!=null&&r(String(a))},()=>{}),()=>{o=!1}},[e]),t}var bu=()=>{const e=n.useDispatch(),t=n.useCookieManager(),r=n.useCurrentUser(),o=n.useContainer();(0,m.useEffect)(()=>{const s=r?.code_editor;s&&o&&n.applyEditorOptions(o,s)},[r,o]),(0,m.useEffect)(()=>{const s=t.get(n.APP_COOKIES.em_token),l=t.get(n.APP_COOKIES.promocode);s&&l&&(e(zt.endpoints.checkPromo.initiate({code:l,type:"by_link"})),t.remove(n.APP_COOKIES.promocode))},[e,t]),n.useNotifyCommand();const{kind:a,hasSuspended:i}=cu();return yu(_u()),a?(0,f.jsx)(ms,{hasEmail:a==="email"||i,hasBlock:a==="block",children:(0,f.jsx)(m.Suspense,{fallback:(0,f.jsx)(T.ui_kit$PageLoader,{}),children:a==="block"?(0,f.jsx)(vu,{}):(0,f.jsx)(lu,{})})}):null};function Eu(e,t){const r=(0,m.useRef)(!1);(0,m.useEffect)(()=>{!e||r.current||(r.current=!0,n.mark(n.PHASES.appVisible),t&&n.getEditorVisible(t).noteShellVisible())},[e,t])}var Vt=new WeakMap,Su="data-emailmaker-config-styles";function wu(e){return typeof e=="string"?e.trim():""}function Lo(e,t){if(e.firstChild){e.insertBefore(t,e.firstChild);return}e.appendChild(t)}function ku(e,t,r){if(!e||typeof document>"u")return null;const o=wu(t),a=Vt.get(e),i=r||e;if(!o)return a&&(a.remove(),Vt.delete(e)),null;if(a)return a.textContent!==o&&(a.textContent=o),(a.parentNode!==i||a!==i.firstChild)&&Lo(i,a),a;const s=document.createElement("style");return s.setAttribute(Su,"true"),s.textContent=o,Lo(i,s),Vt.set(e,s),s}function on(e){if(!e)return;const t=Vt.get(e);t&&(t.remove(),Vt.delete(e))}function Au(e,t){return!t||e<=0||e>=1340?1:Math.round(e/n.SCALED_LAYOUT_WIDTH*1e4)/1e4}function Cu(e){if(e)return e.nodeType===Node.DOCUMENT_FRAGMENT_NODE?e.host??void 0:e.nodeType===Node.ELEMENT_NODE?e:void 0}function Iu(e,t,r=window){const o=n.cssVarName(n.PLUGIN_ZOOM_VAR),a=r.matchMedia(n.COARSE_POINTER_QUERY),i=()=>{const l=Au(e.getBoundingClientRect().width,a.matches);l<1?e.style.setProperty(o,String(l)):e.style.removeProperty(o),t.classList.toggle(n.SCALED_LAYOUT_CLASS,l<1)};i();const s=new r.ResizeObserver(i);return s.observe(e),a.addEventListener("change",i),()=>{s.disconnect(),a.removeEventListener("change",i),e.style.removeProperty(o),t.classList.remove(n.SCALED_LAYOUT_CLASS)}}var Tu={height:"100%",display:"flex",justifyContent:"center",alignItems:"center"},Pu=({children:e,handleBeforeRender:t})=>{const[r,o]=(0,m.useState)(),a=n.useIsLocaleInited();Eu(a,n.useContainer());const i=n.useAppConfig().styles,s=(0,m.useRef)(null),l=(0,m.useRef)(!1),u=(0,m.useRef)(void 0),p=n.useRootElement();return(0,m.useLayoutEffect)(()=>{l.current||(l.current=!0,t&&t())},[]),(0,m.useLayoutEffect)(()=>{if(!p){u.current&&(on(u.current),u.current=void 0);return}u.current&&u.current!==p&&on(u.current),ku(p,i,s.current||void 0),u.current=p},[p,i]),(0,m.useLayoutEffect)(()=>{const h=Cu(p),g=s.current;if(!(!h||!g))return Iu(h,g)},[p]),(0,m.useLayoutEffect)(()=>()=>{u.current&&(on(u.current),u.current=void 0)},[]),(0,f.jsxs)(T.ui_kit$StyleProvider,{container:n.findShadowRoot(p)||document.head,children:[(0,f.jsxs)("div",{ref:s,className:"App blocks-app blocks-plugin",style:a?{}:{visibility:"hidden"},children:[(0,f.jsx)(n.ModalRootContext.Provider,{value:r,children:e}),(0,f.jsx)("div",{ref:o,className:"blocks-modal-container"})]}),!a&&(0,f.jsx)(T.ui_kit$Space,{size:"large",style:Tu,children:(0,f.jsx)(T.ui_kit$Spin,{size:"large"})})]})};async function Ru({container:e,renderTarget:t,mapKey:r,disposable:o,chunkLoadedFire:a}){const i=await e.getInstanceAsync(d.STORE_ID);return new Promise(s=>{if(o.isDisposed()){s();return}const l=(0,di.createRoot)(t),u=(0,f.jsx)(n.Provider,{store:i,children:(0,f.jsx)(as,{onLoad:s,children:(0,f.jsx)(n.RootContext.Provider,{value:{element:r},children:(0,f.jsx)(T.ui_kit$StyleProvider,{container:n.isDocumentFragment(r)?document.head:r,children:(0,f.jsx)(n.LocaleProvider,{children:(0,f.jsx)(Pu,{handleBeforeRender:a,children:(0,f.jsx)(wi,{children:(0,f.jsx)(os,{children:(0,f.jsx)(bu,{})})})})})})})})});l.render(u),o.addDispose(s),o.addDispose(()=>{try{l.unmount()}catch(p){if(p instanceof DOMException&&p.name==="NotFoundError"||p instanceof Error&&p.name==="NotFoundError"&&/removeChild/i.test(p.message)){n.logShowPipelineError("mount:unmount-dom-mismatch (host container was already removed)",{hint:"Usually harmless during host React StrictMode teardown. Ensure instance.destroy() runs before the host removes the mount container."});return}throw p}}),o.addDispose(()=>{d.ELEMENT_MAP.delete(r)})})}var xu=d.createIdentifier$1("plugin.mountElement");function Ou(e){const t=e.getInstance(d.OPTIONS_SOURCE_ID)?.get()?.element;if(typeof Element<"u"&&t instanceof Element||typeof DocumentFragment<"u"&&t instanceof DocumentFragment)return t}function Mu(e){return e.getOrCreateInstance(xu,()=>{let t=!1,r;return{get:()=>t?r:Ou(e),set(o){t=!0,r=o}}})}var bh="multiple init call on single HTMLELEMENT",ju=Xt(async e=>{let t=null;const r=Mu(e),o=v=>{t=v,r.set(v)};let a=!1;const i=d.getEmitter(e,d.events.ON_CHUNKS_LOADED),s=e.getInstance(d.DISPOSABLE_ID);let l,u=!1;const p=()=>{u||(u=!0,n.mark(n.PHASES.chunksLoaded),i.fire())},h=Si();s.addDisposable(i.event(()=>h.loaded()));const g=(v,c)=>Ru({container:e,renderTarget:v,mapKey:c,disposable:l,chunkLoadedFire:p});return{instance:{},async setOptions(v){h.use(v);const c=e.getInstance(d.INIT_PIPELINE_ID),y=await d.waitForElement(v.element,s,c.signal),_=e.getInstance(d.INSTANCE_ID),E=!!v.hidden&&!!y;if(t===y&&a===E)return;const A=t===y&&a&&!E;a=E,t&&d.ELEMENT_MAP.delete(t),y&&d.ELEMENT_MAP.has(y),l&&l.dispose(),l=s.addDisposable(new d.Disposable);const C=v.element!==void 0;if(n.setHeadlessMode(e,!y||E),n.setHiddenMount(e,E),!y){n.mark(n.MOUNT_HEADLESS_MARK);const N=document.createElement("div");N.style.position="absolute",N.style.left="-10000px",N.style.top="-10000px",N.style.width="1600px",N.style.height="1000px",document.body.appendChild(N),o(N),p(),l.addDispose(()=>{N.parentNode===document.body&&N.remove()});return}const x=n.findShadowRoot(y);if(x&&l.addDisposable(new Ei({shadowRoot:x})),C&&y instanceof Element){const N=y;fi(N,()=>{s.isDisposed()||l?.isDisposed()||(n.logShowPipelineError("mount:detached (host removed element without destroy)",{elementId:N.id||null}),c.abort(pi()))},l)}if(E){n.mark(n.MOUNT_HEADLESS_MARK),o(y),p();return}if(C&&y instanceof Element){const N=y,B=vi(N);o(N);const k=g(B,N);return _i(N,B,l),k}return o(y),g(y,y)},dispose(){l&&!l.isDisposed()&&l.dispose()}}});function an(e){return Xt(async t=>(await t.getInstanceAsync(d.STORE_ID),await e(t)))}async function sn(e,t,r){const o=n.getSaveTimeoutMs(e.getInstance(d.INIT_PIPELINE_ID)?.contentReadyTimeoutMs);let a;try{return await Promise.race([t,new Promise((i,s)=>{a=setTimeout(()=>{t.then(r,()=>{}),s(new n.IntegratorSaveTimeoutError(o,"handleSaveBlock","block"))},o)})])}finally{clearTimeout(a)}}function Do({html:e,renderGuid:t,...r},o){const{requested:a}=n.getCurrentProject(o);return n.filterUndefined({...r,code:n.getTemplateDirectivesPolicy(o).toOutputForm(e),project:a===void 0?r.project:a,guid:void 0,link:void 0,status:void 0,slug:void 0,password:void 0,comment_status:void 0,template:void 0,blocktags:void 0,project_title:void 0,ping_status:void 0,lock:void 0,tag:void 0,is_template:void 0})}function Lu(e,t){return n.filterUndefined({...e,link:void 0,comment_status:void 0})}function Du({html:e,isAutosave:t,...r},o){return n.filterUndefined({...r,autosave:t?!0:void 0,code:e,guid:void 0,compiled:n.filterUndefined({html:e,ampHtml:e&&""})})}var No=e=>{const t={current:Promise.resolve(),state:e,decorate:(r,o)=>(o&&(r=r.bind(o)),function(...a){const i=t.current.then(()=>r(...a));return t.current=i.then(s=>{t.state=s},s=>{}),i})};return t},ln=d.createIdentifier$1("NotificationService"),Nu=d.createIdentifier$1("emailTemplate.reads");async function Fu(e,t){try{const r=n.getRestEmailPortFactories(e);return await(r.template?r.template(e):r.email(e)).readEmail(t)??void 0}catch(r){n.logShowPipelineError("show:template-read-failed",{templateId:t,error:r instanceof Error?r.message:"неизвестная ошибка"}),Uu(e,t,r);return}}var Bu=d.createIdentifier$1("emailTemplate.notifiedFailures");function Uu(e,t,r){if(r instanceof DOMException&&r.name==="AbortError")return;const o=e.getOrCreateInstance(Bu,()=>new Set);o.has(t)||(o.add(t),e.getInstanceAsync(ln).then(()=>{d.getEmitter(e,d.events.ON_NOTIFICATION).fire({type:"warning",id:"TEMPLATE_READ_ERROR",data:{templateId:t},innerException:r})},()=>{}))}function Gu(e,t){const r=e.getOrCreateInstance(Nu,()=>new Map),o=r.get(t);if(o!==void 0)return o;const a=Fu(e,t).then(i=>(i===void 0&&r.delete(t),i));return r.set(t,a),a}var Fo=class{http;constructor(e){this.http=e}blocksRevisionsList=({entityId:e},t={})=>this.http.request({path:`/app/blocks/${e}/revisions`,method:"GET",secure:!0,format:"json",...t});blocksRevisionsCreate=({entityId:e,...t},r,o={})=>this.http.request({path:`/app/blocks/${e}/revisions`,method:"POST",query:t,body:r,secure:!0,type:n.ContentType.Json,format:"json",...o});blocksRevisionsDetail=({entityId:e,revisionId:t},r={})=>this.http.request({path:`/app/blocks/${e}/revisions/${t}`,method:"GET",secure:!0,format:"json",...r});blocksRevisionsLatestList=({entityId:e},t={})=>this.http.request({path:`/app/blocks/${e}/revisions/latest`,method:"GET",secure:!0,format:"json",...t});emailsRevisionsList=({entityId:e},t={})=>this.http.request({path:`/app/emails/${e}/revisions`,method:"GET",secure:!0,format:"json",...t});emailsRevisionsCreate=({entityId:e,...t},r,o={})=>this.http.request({path:`/app/emails/${e}/revisions`,method:"POST",query:t,body:r,secure:!0,type:n.ContentType.Json,format:"json",...o});emailsRevisionsDetail=({entityId:e,revisionId:t},r={})=>this.http.request({path:`/app/emails/${e}/revisions/${t}`,method:"GET",secure:!0,format:"json",...r});emailsRevisionsLatestList=({entityId:e},t={})=>this.http.request({path:`/app/emails/${e}/revisions/latest`,method:"GET",secure:!0,format:"json",...t});initCreate=(e={})=>this.http.request({path:"/app/init",method:"POST",secure:!0,format:"json",...e})},cn=[n.Emails],Bo=e=>e,Er=class extends Error{v2Error;operation;status;data;creation;constructor(e,t){const r=typeof t.data.message=="string"?t.data.message.trim():"";super(r||`${e==="создание"?"create":"update"}: ${t.status} ${t.data.code??""}`.trim()),this.name="EmailWriteFailedError",this.operation=e,this.creation=e==="создание",this.v2Error=t,this.status=t.status,this.data=t.data}};function Uo(e,t){if(!t)throw new Er(e,{status:0,data:{code:"no_response"}});if(!t.ok)throw new Er(e,n.v2ErrorOf(t))}function Go(e,t){return Uo(e,t),n.V2EmailCardToEmail(t.data??{})}function $u(e){return{async readEmail(t){const r=n.withV2Deadline(e,"document",a=>n.getApiV2(e,cn).emailsDetail({id:t},a));n.noteOpeningRead(e,t,r);const o=await r;if(!o)throw new n.EmailOpenFailedError("unavailable");if(o.ok===!1)throw o.status===400&&n.v2ErrorOf(o).data.code==="emails.invalid_email_id"?new n.EmailOpenFailedError("not-found",o.error??o):n.openFailureFromResponse(o);if(!o.data&&o.error)throw new n.EmailOpenFailedError("unavailable",o.error);return n.rememberOpenedSavedAt(e,t,n.savedAtOf(o.data)),o.data?n.V2EmailCardToEmail(o.data):null},async createEmail(t){const r=Bo(t);let o=r.project;n.needsProjectV2IdLookup(o)&&(o=await n.resolveProjectV2Id(e,o).catch(u=>{throw u instanceof n.ProjectV2IdError&&u.v2Error.status>=400?new Er("создание",n.projectV2IdFailure(u,"project_v2_id_unresolved")):u}));const a=n.getApiV2(e,cn),i=t.idempotencyKey?{headers:{"Idempotency-Key":t.idempotencyKey}}:{},s=u=>n.withV2Deadline(e,"write",p=>a.emailsCreate(u,{},{...i,...p}));let l=await s(n.EmailToV2CreateRequest({...r,project:o}));return r.folder?.length&&l&&!l.ok&&n.v2ErrorOf(l).data.code==="emails.term_not_in_project"&&(l=await s(n.EmailToV2CreateRequest({...r,project:o,folder:void 0}))),Go("создание",l)},async updateEmail(t,r){return Go("обновление",await n.withV2Deadline(e,"write",o=>n.getApiV2(e,cn).emailsPartialUpdate({id:t},n.EmailToV2PatchRequest({...Bo(r),folder:void 0,parent_email:void 0,...r.tags===void 0?{emailtags:void 0}:{}}),o)))}}}function Sr(e){const t=e;return{...e.id!==void 0?{id:e.id}:{},...e.author_id?{author:e.author_id}:{},...t.author_name?{authorName:t.author_name}:{},...e.created_at!==void 0?{date:e.created_at,modified:e.created_at}:{},isAutosave:e.autosave===!0,...t.html!==void 0?{html:t.html}:{},...t.common_styles!==void 0?{common_styles:t.common_styles}:{}}}var qu=/^[A-Za-z0-9_-]{1,128}$/,$o=new Set(["apps.invalid_entity_id","apps.history_locked_by_plan"]),qo=new Set;function wr(e){return qu.test(e)?!0:(qo.has(e)||qo.add(e),!1)}function un(e){return e&&!e.ok?String(n.v2ErrorOf(e).data.code??""):""}var Ho=()=>({isAutosave:!1});function zo(e,t){return e==="email"?{html:t.html??"",common_styles:t.common_styles??""}:{html:t.html??""}}async function Hu(e,t){const r=new AbortController,o=n.getSaveTimeoutMs(e.getInstance(d.INIT_PIPELINE_ID)?.contentReadyTimeoutMs);let a;const i=new Promise((s,l)=>{a=setTimeout(()=>{r.abort(),l(new Er("обновление",{status:0,data:{code:"timeout"}}))},o)});try{return await Promise.race([t(r.signal),i])}finally{clearTimeout(a)}}function Wt(e,t){return n.documentPendingKey(t,e==="block")}function zu(e){return e.id?{latest:{id:e.id,isAutosave:e.isAutosave===!0,...e.html!==void 0?{html:e.html}:{},...e.common_styles!==void 0?{common_styles:e.common_styles}:{},...e.modified!==void 0?{modified:e.modified}:{}}}:{}}async function Vo(e,t,r,o,a){if(!wr(r))return Ho();const i=n.getKnownRevisions(e),s=n.getUncertainWrites(e),l=Wt(t,r);try{const u=await Vu(e,t,r,o,a);return u.id&&(i.set(l,u.id),s.delete(l)),u}catch(u){throw n.rememberUncertainWrite(s,l,o.html??""),u}}async function Vu(e,t,r,o,a){const i=n.getApiV2(e,[Fo]),s={entityId:r,...a?{autosave:!0}:{}},l=await Hu(e,u=>t==="email"?i.emailsRevisionsCreate(s,zo(t,o),{signal:u}):i.blocksRevisionsCreate(s,zo(t,o),{signal:u}));return $o.has(un(l))?Ho():(Uo("обновление",l),Sr(l.data??{}))}function Wo(e,t){const r=()=>n.getApiV2(e,[Fo]);return{async readRevisions(o,a=1){if(a>1||!wr(o))return{revisions:[],page:a,hasMore:!1};const i=t==="email"?await r().emailsRevisionsList({entityId:o}):await r().blocksRevisionsList({entityId:o});return un(i)==="apps.invalid_entity_id"?{revisions:[],page:a,hasMore:!1}:(n.throwIfHistoryReadFailed(i),{revisions:(i.data?.data??[]).map(s=>Sr(s)),page:a,hasMore:!1})},async readRevision(o,a){if(!wr(o))return null;const i=t==="email"?await r().emailsRevisionsDetail({entityId:o,revisionId:a}):await r().blocksRevisionsDetail({entityId:o,revisionId:a});return n.throwIfHistoryReadFailed(i),i.data?Sr(i.data):null},async readAutosave(o){if(!wr(o))return{autosave:null};const a=t==="email"?await r().emailsRevisionsLatestList({entityId:o}):await r().blocksRevisionsLatestList({entityId:o}),i=un(a),s=n.getKnownRevisions(e),l=n.getUncertainWrites(e);if(i==="apps.revision_not_found"||$o.has(i))return s.set(Wt(t,o),null),l.delete(Wt(t,o)),{autosave:null};n.throwIfHistoryReadFailed(a);const u=Sr(a.data??{});u.id&&(s.set(Wt(t,o),u.id),l.delete(Wt(t,o)));const p=Date.parse(u.modified??"");return{...u.isAutosave?n.autosaveStateFromSlots([u],void 0):{autosave:null,...Number.isFinite(p)?{latestAt:p}:{}},...zu(u)}},saveAutosave:(o,a)=>Vo(e,t,o,a,!0)}}function Ko(e,t,r,o){return Vo(e,t,r,o,!1)}function Wu(e){return{readEmail:async()=>null,createEmail:async()=>({}),async updateEmail(t,r){return await Ko(e,"email",t,r),{id:t}}}}async function Ku(e,t,r){if(t==null||t===""||r===void 0||!n.isPluginGoHistory(e))return Yo;const o=Date.now(),a=n.blockPendingKey(String(t));return n.keepManualDraft(a,{html:r},o,n.baseOf(n.getKnownRevisions(e),a,n.getUncertainWrites(e),r)),await Ko(e,"block",String(t),{html:r}),n.rebaseDraft(a,o,n.getKnownRevisions(e).get(a)??void 0),()=>n.clearStalePendingData(a,o)}function Yo(){}var ot=class extends d.Disposable{_event;_listener;_disposeEvent;constructor(e){super(),this._event=e}setListener(e){this._listener!==e&&(this._listener=e,this._disposeEvent&&this._disposeEvent(),e?this._disposeEvent=this._event(e):this._disposeEvent=void 0)}dispose(){this._disposeEvent&&this._disposeEvent(),super.dispose()}};function at(e,t,r){const o=d.snapshot(e);return(a,i,s)=>{const l=o(async u=>{const p=t?t(u):u;s&&a.bind(s);const h=await a(p);return r?r(h):h},i,s);return()=>l.dispose()}}var Eh=d.createIdentifier("application_block_inserted"),dn=20,Yu=({source:e,emailtags:t,group:r,tags:o,...a})=>a;function Qu(e){const t=Ju(e);return e.saveTimeoutMs?n.withAutosaveTimeout(t,e.saveTimeoutMs,"handleBlockAutosave"):t}function Ju({revisions:e,revisionsByBlock:t,readAutosave:r,savedAt:o}){const a=async(i,s)=>(t.clear(),await t.get(i,{page:s}),(await e.cache.values()??[]).filter(l=>String(l?.parent)===String(i)));return{async readRevisions(i,s=1){const l=await a(i,s);return{revisions:l.slice(dn*(s-1),dn*s),page:s,hasMore:l.length>dn*s}},async readAutosave(i){const s=await o?.(i)??NaN,l=Number.isFinite(s)?s:void 0,u=await r?.(i);if(u?.asked){const p=u.revision?[{...u.revision,parent:i,isAutosave:!0}]:[];return n.autosaveStateFromSlots(p,l)}return n.autosaveStateFromRevisions(await a(i,1),l)},async saveAutosave(i,s){const l=Yu(s);return await e.create({...l,parent:i,isAutosave:!0,modified:new Date().toString()})}}}var Xu=n.createEventIdentifier("plugin.readBlockAutosave"),Qo=d.createIdentifier$1("blockDocuments.provided");function Zu(e){if(e.getInstance(Qo))return;e.inject(Qo,!0);const t=n.blockRevisionsDataSourceProvider(e),r=n.blocksDataSourceProvider(e);n.injectBlockHistoryPort(e,Qu({revisions:t,revisionsByBlock:t.byForeignKey("parent"),readAutosave:async o=>{const a=await n.getEmitter(e,Xu).fire(o);return a.length===0?{asked:!1}:{asked:!0,revision:a[0]??null}},savedAt:async o=>Date.parse((await r.cache.getIfPresent(o))?.modified??""),saveTimeoutMs:()=>n.isPluginGoHistory(e)?n.getSaveTimeoutMs(e.getInstance(d.INIT_PIPELINE_ID)?.contentReadyTimeoutMs):void 0}))}var Sh=d.createIdentifier$1("plugin.earlyWindow"),wh=d.createIdentifier$1("DataController"),kh=d.createIdentifier$1("DataEvents"),ed=d.createIdentifier$1("plugin.pluginStart");function td(e){return e.getOrCreateInstance(ed,()=>{let t;const r=new Promise(o=>{t=o});return e.getInstance(d.DISPOSABLE_ID)?.addDispose(()=>t()),{done:r,finish:t}})}function rd(e){const t=td(e);return t.run===void 0&&(t.run=(e.getInstance(d.PLUGIN_COLLECTION_ID)?.activate()??Promise.resolve()).finally(t.finish)),t.run}var nd=d.createIdentifier$1("plugin.startupShow");function od(e){return e.getInstance(nd)?.current??Promise.resolve()}var Jo=an(async()=>({instance:{}})),Xo=an(async e=>({instance:{},async setOptions(){await rd(e),await od(e)}})),Ah=d.combineMixins([Jo,Xo]),Zo=()=>({title:"",description:"",website:"",company_size:"",industry:"",email:"",phone:"",logo_url:""}),ad={title:"title",description:"description",website:"website",company_size:"company_size",industry:"industry",email:"email",phone:"phone",logo_url:"logo"},ea=e=>({...Zo(),title:e?.title??"",description:e?.description??"",website:e?.website??"",company_size:e?.company_size??"",industry:e?.industry??"",email:e?.email??"",phone:e?.phone??"",logo_url:e?.logo??""}),ta=e=>(e??[]).filter(t=>!!t?.code).map(({code:t,label:r})=>({value:t,label:r??t})),id=e=>({company_sizes:ta(e?.company_sizes),industries:ta(e?.industries)}),Ch=Object.keys(Zo()),ra="ProjectProfile",Kt=n.createApi({reducerPath:"projectSettingsProfileApi",baseQuery:n.fetchBaseQueryApp({baseUrl:"https://app.emailmaker.ru/api/v2"}),tagTypes:[ra],endpoints:e=>({getProjectProfile:e.query({async queryFn(t,r){const o=n.v2ResultOf(await n.getClientV2(d.getContainer(r)).projects.profileList({id:String(t)}));return"error"in o?{error:o.error}:{data:ea(o.data)}},providesTags:(t,r,o)=>[{type:ra,id:String(o)}]}),getProjectProfileOptions:e.query({async queryFn(t,r){const o=n.v2ResultOf(await n.getClientV2(d.getContainer(r)).projects.profileOptionsList());return"error"in o?{error:o.error}:{data:id(o.data)}}}),updateProjectProfileField:e.mutation({async queryFn({projectId:t,field:r,value:o},a){const i={[ad[r]]:o},s=n.v2ResultOf(await n.getClientV2(d.getContainer(a)).projects.profilePartialUpdate({id:String(t)},i));return"error"in s?{error:s.error}:{data:ea(s.data)}},async onQueryStarted({projectId:t},{dispatch:r,queryFulfilled:o}){try{const{data:a}=await o;r(Kt.util.updateQueryData("getProjectProfile",t,()=>a))}catch{}}})})}),{useGetProjectProfileQuery:Ih,useGetProjectProfileOptionsQuery:Th,useUpdateProjectProfileFieldMutation:Ph}=Kt,na="ProjectStorage",Yt=n.createApi({reducerPath:"projectSettingsStorageApi",baseQuery:n.fetchBaseQueryApp({baseUrl:"https://app.emailmaker.ru/api/v2"}),tagTypes:[na],endpoints:e=>({getProjectStorage:e.query({async queryFn(t,r){const o=n.v2ResultOf(await n.getClientV2(d.getContainer(r)).projects.storageList({id:String(t)}));return"error"in o?{error:o.error}:{data:o.data}},providesTags:(t,r,o)=>[{type:na,id:String(o)}]}),updateProjectStorage:e.mutation({async queryFn({projectId:t,body:r},o){const a=n.v2ResultOf(await n.getClientV2(d.getContainer(o)).projects.storageUpdate({id:String(t)},r));return"error"in a?{error:a.error}:{data:a.data}},async onQueryStarted({projectId:t},{dispatch:r,queryFulfilled:o}){const{data:a}=await o;r(Yt.util.upsertQueryData("getProjectStorage",t,a))}}),testProjectStorageConnection:e.mutation({async queryFn({projectId:t,body:r},o){const a=n.v2ResultOf(await n.getClientV2(d.getContainer(o)).projects.storageTestCreate({id:String(t)},r));return"error"in a?{error:a.error}:{data:a.data}}})})}),{useGetProjectStorageQuery:Rh,useUpdateProjectStorageMutation:xh,useTestProjectStorageConnectionMutation:Oh}=Yt,sd=class{http;constructor(e){this.http=e}settings_summary_detail=({projectId:e,...t},r={})=>this.http.request({path:`/projects/v1/settings-summary/${e}`,method:"GET",...r})},oa=class{http;constructor(e){this.http=e}developer_credentials_detail=({projectId:e,...t},r={})=>this.http.request({path:`/projects/v1/developer-credentials/${e}`,method:"GET",...r});developer_credentials_partial_update=({projectId:e,...t},r={})=>this.http.request({path:`/projects/v1/developer-credentials/${e}`,method:"PATCH",...r});developer_credentials_rotate_secret_create=({projectId:e,...t},r={})=>this.http.request({path:`/projects/v1/developer-credentials/${e}/rotate-secret`,method:"POST",...r});developer_credentials_verify_secret_create=({projectId:e,...t},r={})=>this.http.request({path:`/projects/v1/developer-credentials/${e}/verify-secret`,method:"POST",...r})},ld=class{http;constructor(e){this.http=e}developer_kit_postman_collection_list=(e={})=>this.http.request({path:"/projects/v1/developer-kit/postman-collection",method:"GET",...e})},cd=class{http;constructor(e){this.http=e}billing_context_detail=({projectId:e,...t},r={})=>this.http.request({path:`/projects/v1/billing-context/${e}`,method:"GET",...r});billing_context_payments_list=({projectId:e,...t},r={})=>this.http.request({path:`/projects/v1/billing-context/${e}/payments`,method:"GET",query:t,...r})},ud=class{http;constructor(e){this.http=e}usage_detail=({projectId:e,...t},r={})=>this.http.request({path:`/projects/v1/usage/${e}`,method:"GET",...r});usage_timeseries_list=({projectId:e,...t},r={})=>this.http.request({path:`/projects/v1/usage/${e}/timeseries`,method:"GET",query:t,...r})},Oe={PLUGIN_INIT:"plugin_init",LINK_CHECK:"link_check",IMAGE_CHECK:"image_check",SPAM_ASSASSIN:"spam_assassin",AI_IMAGE:"ai_image",AI_WRITE:"ai_write",AI_REPHRASE:"ai_rephrase"},Ct={TODAY:"today",WEEK:"week",MONTH:"month",CUSTOM:"custom"},Mh=[Oe.PLUGIN_INIT,Oe.LINK_CHECK,Oe.IMAGE_CHECK,Oe.SPAM_ASSASSIN,Oe.AI_IMAGE,Oe.AI_WRITE],Lt={current:0,limit:null},dd=()=>({pluginInit:{...Lt},aiAssistant:{...Lt},aiImage:{...Lt},linkCheck:{...Lt},imageCheck:{...Lt},spamAssassin:{...Lt}}),qe=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),De=(e,t,r="")=>{for(const o of t){const a=e[o];if(typeof a=="string")return a;if(typeof a=="number"&&Number.isFinite(a))return String(a)}return r},pt=(e,t,r=0)=>{for(const o of t){const a=e[o];if(typeof a=="number"&&Number.isFinite(a))return a;if(typeof a=="string"&&a.trim()&&Number.isFinite(Number(a)))return Number(a)}return r},mn=(e,t,r=!1)=>{for(const o of t){const a=e[o];if(typeof a=="boolean")return a}return r},kr=(e,t)=>{for(const r of t){const o=e[r];if(o===null)return null;if(typeof o=="number"&&Number.isFinite(o))return o;if(typeof o=="string"&&o.trim()&&Number.isFinite(Number(o)))return Number(o)}return null},md=new Set(Object.values(Oe)),pd=e=>md.has(e)?e:null,It=e=>qe(e)&&"data"in e&&(e.ok===!0||typeof e.success=="boolean"||e.success===void 0)?e.data:e,Dt=(e,t)=>{for(const r of t){const o=e[r];if(qe(o))return o}return null},fd=(e,t)=>{for(const r of t){const o=e[r];if(!Array.isArray(o))continue;const a=o.filter(i=>typeof i=="string");if(a.length>0)return a}},hd=e=>qe(e)?{clientId:De(e,["clientId","client_id"]),clientSecretConfigured:mn(e,["clientSecretConfigured","client_secret_configured"]),rotatedAt:De(e,["rotatedAt","rotated_at"])||void 0,scopesSuggested:fd(e,["scopesSuggested","scopes_suggested"])}:{clientId:"",clientSecretConfigured:!1},aa=(e,t)=>{for(const r of t){const o=e[r];if(typeof o=="boolean")return o}},gd=e=>{const t=aa(e,["pluginConnected","plugin_connected","connected","is_connected"]);if(t!==void 0)return t;for(const r of["plugin","developer_credentials","developerCredentials"]){const o=Dt(e,[r]);if(!o)continue;const a=aa(o,["connected","plugin_connected","is_connected"]);if(a!==void 0)return a;const i=De(o,["clientId","client_id"]),s=mn(o,["clientSecretConfigured","client_secret_configured"]);if(i)return s}},yd=e=>{const t=It(e);if(!qe(t))return{};const r=Dt(t,["members"]);return{myRole:De(t,["myRole","my_role","role"])||(r?De(r,["myRole","my_role","role"]):"")||void 0,pluginConnected:gd(t)}},vd=e=>qe(e)?{clientId:De(e,["clientId","client_id"]),secret:De(e,["secret","clientSecret","client_secret"])}:{clientId:"",secret:""},_d=e=>{if(!qe(e))return null;const t=De(e,["event","type","key"]),r=pd(t);if(!r)return null;const o=e.delta??e.change??e.trend,a=o==null?null:typeof o=="number"&&Number.isFinite(o)?o:Number.isFinite(Number(o))?Number(o):null;return{event:r,total:pt(e,["total","count","value"],0),delta:a}},ia=e=>{if(!qe(e))return null;const t=De(e,["date","day","x"]);if(!t)return null;const r={date:t},o=e.event_counts??e.eventCounts;if(qe(o)){for(const[a,i]of Object.entries(o))typeof i=="number"&&Number.isFinite(i)&&(r[a]=i);return r}for(const[a,i]of Object.entries(e))a==="date"||a==="day"||a==="x"||a==="event_counts"||a==="eventCounts"||typeof i=="number"&&Number.isFinite(i)&&(r[a]=i);return r},bd=e=>{const t=It(e);return qe(t)?(Array.isArray(t.chart)?t.chart:Array.isArray(t.series)?t.series:Array.isArray(t.time_series)?t.time_series:Array.isArray(t.history)?t.history:[]).map(ia).filter(r=>r!==null):[]},Ed=e=>{if(!qe(e))return{current:0,limit:null};const t=pt(e,["current","count","used","value","total"],0),r=kr(e,["limit","max","quota","cap"]);return{current:t,limit:r===null?null:r}},Nt=(e,t)=>{for(const r of t)if(r in e)return Ed(e[r]);return{current:0,limit:null}},Ft={pluginInit:[Oe.PLUGIN_INIT,"plugin_init","pluginInit"],aiAssistant:["ai_assistant","aiAssistant","ai"],aiImage:[Oe.AI_IMAGE,"ai_image","ai_img","aiImg"],linkCheck:[Oe.LINK_CHECK,"link_check","linkCheck"],imageCheck:[Oe.IMAGE_CHECK,"image_check","imageCheck"],spamAssassin:[Oe.SPAM_ASSASSIN,"spam_assassin","spamAssassin","spam_check","spamCheck"]},pn=e=>{const t=dd(),r=It(e),o=qe(r)&&qe(r.usage)?r.usage:r;if(!qe(o))return t;const a=pt(o,["operationsTotal","operations_total"],0),i=pt(o,["operationsLast30d","operations_last_30d"],0),s=Dt(o,["metrics","counters","limits","events","usage_by_event","usageByEvent"])??o;return{pluginInit:Nt(s,Ft.pluginInit),aiAssistant:Nt(s,Ft.aiAssistant),aiImage:Nt(s,Ft.aiImage),linkCheck:Nt(s,Ft.linkCheck),imageCheck:Nt(s,Ft.imageCheck),spamAssassin:Nt(s,Ft.spamAssassin),lastActivityAt:De(o,["lastActivityAt","last_activity_at"])||void 0,operationsTotal:a>0?a:void 0,operationsLast30d:i>0?i:void 0}},sa=(e,t)=>{const r=[{event:Oe.LINK_CHECK,total:e.linkCheck.current,delta:null},{event:Oe.IMAGE_CHECK,total:e.imageCheck.current,delta:null},{event:Oe.SPAM_ASSASSIN,total:e.spamAssassin.current,delta:null},{event:Oe.AI_IMAGE,total:e.aiImage.current,delta:null}],o=t?bd(t):[];return o.length>0?{cards:r,chart:o}:{cards:r,chart:[]}},Sd=e=>{const t=It(e);if(!qe(t))return sa(pn(e),e);const r=Array.isArray(t.cards)?t.cards:Array.isArray(t.summary)?t.summary:[],o=Array.isArray(t.chart)?t.chart:Array.isArray(t.series)?t.series:[];return r.length>0||o.length>0?{cards:r.map(_d).filter(a=>a!==null),chart:o.map(ia).filter(a=>a!==null)}:sa(pn(t),t)},wd=e=>{if(!qe(e))return null;const t=De(e,["id","payment_id"]);return t?{id:t,date:De(e,["date","created_at","paid_at"]),amount:pt(e,["amount","sum"],0),currency:De(e,["currency"],"RUB"),status:De(e,["status"],"unknown"),receiptUrl:De(e,["receiptUrl","receipt_url","pdf_url"])||void 0}:null},kd=e=>{const t=It(e),r=qe(t)&&Array.isArray(t.payments)?t.payments:[];return{payments:r.map(wd).filter(o=>o!==null),page:qe(t)?pt(t,["page"],1):1,perPage:qe(t)?pt(t,["perPage","per_page"],20):20,total:qe(t)?pt(t,["total"],r.length):r.length,totalPages:qe(t)?pt(t,["totalPages","total_pages"],1):1}},Ad=e=>{const t=It(e);if(!qe(t))return{viewerSeesBilling:!1};const r=Dt(t,["endpoints"])??{},o=Dt(t,["documentLinks","document_links"]),a=o?Object.fromEntries(Object.entries(o).filter(h=>typeof h[1]=="string")):void 0,i=kr(t,["ownerUserId","owner_user_id"]),s=Dt(t,["tariff","plan","subscription"]),l=De(t,["planDescription","plan_description"])||(s?De(s,["description","about","plan_description"]):"")||void 0,u=kr(t,["planPrice","plan_price","price","amount"])??(s?kr(s,["price","amount"]):null),p=De(t,["planCurrency","plan_currency","currency"])||(s?De(s,["currency"]):"")||void 0;return{viewerSeesBilling:mn(t,["viewerSeesBilling","viewer_sees_billing"]),ownerUserId:i??void 0,planName:De(t,["planName","plan_name"])||void 0,planDescription:l,planPrice:u??void 0,planCurrency:p||void 0,endpoints:{limitsStats:De(r,["limitsStats","limits_stats"])||void 0,subscriptionMe:De(r,["subscriptionMe","subscription_me"])||void 0,payments:De(r,["payments"])||void 0},documentLinks:a&&Object.keys(a).length>0?a:void 0}},Cd={myRole:"owner"},Id=()=>({...Cd}),Td={clientId:"rust-awkward-bear",clientSecretConfigured:{}.REACT_APP_PLUGIN_SETTINGS_MOCK_CONNECTED!=="false"},la=()=>({...Td,clientSecretConfigured:{}.REACT_APP_PLUGIN_SETTINGS_MOCK_CONNECTED!=="false"}),ca=Object.values(Oe),Pd={[Oe.PLUGIN_INIT]:42,[Oe.LINK_CHECK]:-15,[Oe.IMAGE_CHECK]:28,[Oe.SPAM_ASSASSIN]:9,[Oe.AI_IMAGE]:6,[Oe.AI_WRITE]:-11,[Oe.AI_REPHRASE]:4},Rd=(e,t)=>{const r={date:e};return ca.forEach((o,a)=>{const i=Math.sin(t*.65+a*.9),s=t*(a%2===0?.35:.2),l=2+a;r[o]=Math.max(0,Math.round(l+i*4+s))}),r},xd=e=>ca.map(t=>({event:t,total:e.reduce((r,o)=>r+(typeof o[t]=="number"?o[t]:0),0),delta:Pd[t]})),Od=({period:e,dateFrom:t,dateTo:r})=>{const o=(0,Gt.default)().startOf("day");if(e===Ct.WEEK)return{startDate:o.subtract(6,"day"),days:7};if(e===Ct.MONTH)return{startDate:o.subtract(29,"day"),days:30};if(e===Ct.CUSTOM&&t&&r){const a=(0,Gt.default)(t),i=(0,Gt.default)(r);return{startDate:a,days:Math.max(1,i.diff(a,"day")+1)}}return{startDate:o,days:1}},fn=(e={period:Ct.TODAY})=>{const{startDate:t,days:r}=Od(e),o=Array.from({length:r},(a,i)=>Rd(t.add(i,"day").format("YYYY-MM-DD"),i));return{cards:xd(o),chart:o}},jh=fn({period:Ct.WEEK}),Md={pluginInit:{current:0,limit:null},aiAssistant:{current:0,limit:null},aiImage:{current:42,limit:100},linkCheck:{current:128,limit:500},imageCheck:{current:64,limit:200},spamAssassin:{current:31,limit:150},lastActivityAt:"2026-05-02T12:00:00Z"},ua={payments:[{id:"98765",date:"2026-05-12T10:15:00+00:00",amount:990,currency:"RUB",status:"success",receiptUrl:"https://receipts.example/98765.pdf"},{id:"98764",date:"2026-04-12T10:15:00+00:00",amount:990,currency:"RUB",status:"success"},{id:"98763",date:"2026-03-12T10:15:00+00:00",amount:990,currency:"RUB",status:"failed"}],page:1,perPage:20,total:3,totalPages:1},jd={viewerSeesBilling:!0,ownerUserId:1,planName:"Corporate",planDescription:"For fully addressing all necessary tasks in any field.",planPrice:3200,planCurrency:"RUB",endpoints:{limitsStats:"/wp-json/limits/v1/stats",subscriptionMe:"/wp-json/subscription/v2/me",payments:"/wp-json/projects/v1/billing-context/2581/payments"}},Ld={info:{name:"EmailMaker Plugin Requests",schema:"https://schema.getpostman.com/json/collection/v2.1.0/collection.json"},item:[]},Dd=e=>e,Nd=()=>!1,Fd=()=>!1,Bd=e=>e,Bt="ProjectPlugin",Ud=()=>({}).REACT_APP_PLUGIN_SETTINGS_USE_MOCK==="true",bt=(e,t,r)=>e.error&&Ud()?{data:r(t)}:n.transformResponseFn(r)(e),Gd=e=>Dd(hd(e)),$d=e=>Bd(Ad(e)),qd=({period:e,dateFrom:t,dateTo:r})=>{if(e===Ct.CUSTOM){const o={};return t&&(o.date_from=t),r&&(o.date_to=r),o}return{period:e??Ct.TODAY}},Ar=n.createApi({reducerPath:"projectSettingsPluginApi",baseQuery:n.fetchBaseQueryApp({baseUrl:"https://app.emailmaker.ru/api/".replaceAll(/[\\/]$/g,"")}),tagTypes:[Bt],endpoints:e=>({getPluginSummary:e.query({queryFn({projectId:t},r){return d.getApi(d.getContainer(r),[sd]).settings_summary_detail({projectId:t}).then(o=>bt(o,Id(),yd))},providesTags:(t,r,{projectId:o})=>[{type:Bt,id:o}]}),getPluginCredentials:e.query({queryFn({projectId:t},r){return d.getApi(d.getContainer(r),[oa]).developer_credentials_detail({projectId:t}).then(o=>bt(o,la(),Gd))},providesTags:(t,r,{projectId:o})=>[{type:Bt,id:`credentials-${o}`}]}),rotatePluginSecret:e.mutation({queryFn({projectId:t},r){return d.getApi(d.getContainer(r),[oa]).developer_credentials_rotate_secret_create({projectId:t}).then(o=>bt(o,{clientId:la().clientId,secret:"mock-rotated-secret"},vd))},invalidatesTags:(t,r,{projectId:o})=>[{type:Bt,id:`credentials-${o}`}]}),getPostmanCollection:e.query({queryFn({projectId:t},r){return d.getApi(d.getContainer(r),[ld]).developer_kit_postman_collection_list({extraQuery:{project_id:String(t)}}).then(o=>bt(o,Ld,a=>It(a)??a))}}),getPluginAnalytics:e.query({queryFn({projectId:t,period:r,dateFrom:o,dateTo:a},i){const s={period:r,dateFrom:o,dateTo:a};return Nd()?Promise.resolve({data:fn(s)}):n.getClient(d.getContainer(i)).request({path:`/projects/v1/usage/${t}/timeseries`,method:"GET",query:qd(s)}).then(l=>bt(l,fn(s),Sd))}}),getPluginBillingContext:e.query({queryFn({projectId:t},r){return d.getApi(d.getContainer(r),[cd]).billing_context_detail({projectId:t}).then(o=>bt(o,jd,$d))},providesTags:(t,r,{projectId:o})=>[{type:Bt,id:`billing-${o}`}]}),getPluginUsage:e.query({queryFn({projectId:t},r){return d.getApi(d.getContainer(r),[ud]).usage_detail({projectId:t}).then(o=>bt(o,Md,pn))}}),getPluginPayments:e.query({queryFn({projectId:t,page:r=1,perPage:o=20},a){return Fd()?Promise.resolve({data:ua}):n.getClient(d.getContainer(a)).request({path:`/projects/v1/billing-context/${t}/payments`,method:"GET",query:{page:String(r),per_page:String(o)}}).then(i=>bt(i,ua,kd))},providesTags:(t,r,{projectId:o})=>[{type:Bt,id:`payments-${o}`}]})})}),{useGetPluginSummaryQuery:Lh,useGetPluginCredentialsQuery:Dh,useRotatePluginSecretMutation:Nh,useLazyGetPostmanCollectionQuery:Fh,useGetPluginAnalyticsQuery:Bh,useGetPluginBillingContextQuery:Uh,useGetPluginPaymentsQuery:Gh,useGetPluginUsageQuery:$h}=Ar,da="EmailRaw";async function Hd(e,t){const r=await n.getApiV2(e,[n.Emails]).getEmails({id:String(t.emailId),secret_hash:t.secret_hash});return n.v2Failed(r)?{error:n.v2ErrorOf(r)}:r.data==null?{error:{status:r.status,data:{code:"raw_email_empty_payload"}}}:{data:n.V2RawEmailToEmail(r.data)}}var Cr=n.createApi({reducerPath:"emailRawApi",tagTypes:[da],baseQuery:n.fetchBaseQuery({baseUrl:"https://app.emailmaker.ru/api/wp-json/wp/v2/"}),endpoints:e=>({getEmailRaw:e.query({queryFn:function(t,r){return n.asWpNumber(t.emailId)===void 0?Hd(d.getContainer(r),t):d.getApi(d.getContainer(r),[d.WpEmailApi]).email_detail({id:t.emailId},{extraQuery:{secret_hash:t.secret_hash}}).then(n.transformResponseFn(n.WpEmailToEmail))},providesTags:(t,r,o)=>[{type:da,id:o}]})})}),{useGetEmailRawQuery:qh}=Cr,Ir=n.createApi({reducerPath:"yandexAuthApi",baseQuery:n.fetchBaseQueryApp({baseUrl:"https://app.emailmaker.ru/api/v2"}),endpoints:e=>({validateYandexToken:e.mutation({query:t=>({url:"/auth/yandex",method:"POST",body:t})})})}),{useValidateYandexTokenMutation:Hh}=Ir,Tr=n.createApi({reducerPath:"elamaAuthApi",baseQuery:n.fetchBaseQueryApp({baseUrl:"https://app.emailmaker.ru/api/v2"}),endpoints:e=>({validateElamaCode:e.mutation({query:t=>({url:"/auth/elama",method:"POST",body:t})})})}),{useValidateElamaCodeMutation:zh}=Tr,Pr=n.createApi({reducerPath:"googleAuthApi",baseQuery:n.fetchBaseQueryApp({baseUrl:"https://app.emailmaker.ru/api/v2"}),endpoints:e=>({validateGoogleToken:e.mutation({query:t=>({url:"/auth/google",method:"POST",body:t})})})}),{useValidateGoogleTokenMutation:Vh}=Pr,ma=async e=>{const t=await e.text();let r=t;try{r=JSON.parse(t)}catch{r=t}return r},zd=(e,t,r)=>{if(!e)throw new Error(`Set ${r}`);return{url:`?proxy_url=${encodeURIComponent(e)}`,method:"POST",headers:{"Content-Type":"application/json"},body:t,responseHandler:ma}},Vd=(e,t,r)=>{if(!e)throw new Error(`Set ${r}`);return{url:`?proxy_url=${encodeURIComponent(e)}`,method:"POST",body:t,responseHandler:ma}},Rr=n.createApi({reducerPath:"requestPlaneApi",baseQuery:n.fetchBaseQuery({baseUrl:"https://px0.emailmaker.ru/"}),endpoints:e=>({getRequest:e.mutation({query:t=>Vd("https://webhook.latenode.com/5868/prod/9e7a6445-2244-4dd5-bda4-5bca82997bf8",t,"REACT_APP_PIPEDREAM_REQUEST_PLANE_SRC")}),getInvoiceRequest:e.mutation({query:t=>zd("https://webhook.latenode.com/5868/prod/6e2d04a8-6cd9-4ec3-b884-ee2fd67267a3",t,"REACT_APP_REQUEST_PLANE_WEBHOOK_URL")})})}),{useGetRequestMutation:Wh,useGetInvoiceRequestMutation:Kh}=Rr,xr=n.createApi({reducerPath:"getCheckoutUrlApi",baseQuery:n.fetchBaseQuery({baseUrl:"https://px0.emailmaker.ru/"}),endpoints:e=>({GetCheckoutUrl:e.mutation({query:t=>({url:`?proxy_url=${encodeURIComponent({}.REACT_APP_PIPEDREAM_GET_CHECKOUT_URL)}`,method:"POST",body:t})})})}),{useGetCheckoutUrlMutation:Yh}=xr,hn=n.createApi({reducerPath:"recoverPasswordApi",baseQuery:n.fetchBaseQuery({baseUrl:"https://app.emailmaker.ru/api/wp-json/bdpwr/v1/"}),endpoints:()=>({})}),Or=n.createApi({reducerPath:"addUserToProjectApi",baseQuery:n.fetchBaseQueryApp({baseUrl:"https://app.emailmaker.ru/api/wp-json/user_to_project/v1/add_user"}),endpoints:e=>({addUserToProject:e.mutation({queryFn(t,r){return n.clientFromApi(r).userToProject.add_user_create(t,{type:d.ContentType.FormData})}})})}),{useAddUserToProjectMutation:Qh}=Or,Mr=n.createApi({reducerPath:"recurrenceSubscriptionsOffApi",baseQuery:n.fetchBaseQuery({baseUrl:"https://px0.emailmaker.ru/"}),endpoints:e=>({getCanselRecurrence:e.query({query:t=>({url:`?proxy_url=${encodeURIComponent(`https://webhook.latenode.com/5868/prod/07ae4159-132b-4a00-998b-bc47c20365ba?subscription_id=${t.sid}&user_id=${t.uid}`)}`})})})}),{useLazyGetCanselRecurrenceQuery:Jh,useGetCanselRecurrenceQuery:Xh}=Mr,jr=n.createApi({reducerPath:"recurrenceSubscriptionsOnApi",baseQuery:n.fetchBaseQuery({baseUrl:"https://px0.emailmaker.ru/"}),endpoints:e=>({getRecurrence:e.query({query:t=>({url:`?proxy_url=${encodeURIComponent(`https://webhook.latenode.com/5868/prod/e1dd37b1-c3d4-4441-b329-d6b3aa51bfe7?subscription_id=${t.sid}&user_id=${t.uid}`)}`})})})}),{useLazyGetRecurrenceQuery:Zh,useGetRecurrenceQuery:eg}=jr,Wd="https://app.emailmaker.ru/api/v2",Lr=n.createApi({reducerPath:"authApi",baseQuery:n.fetchBaseQueryApp({baseUrl:Wd,prepareHeaders:e=>{const t=n.api.get(n.APP_COOKIES.em_token);return t&&!e.has("authorization")&&e.set("authorization",`Bearer ${t}`),e}}),endpoints:e=>({login:e.mutation({query:t=>({url:"/auth/token",method:"POST",body:t})}),register:e.mutation({query:t=>({url:"/auth/register",method:"POST",body:t})}),refreshToken:e.mutation({query:t=>({url:"/auth/token/refresh",method:"POST",body:t})}),logout:e.mutation({query:()=>({url:"/auth/token",method:"DELETE"})}),getUser:e.query({query:()=>"/auth/user"}),changePassword:e.mutation({query:t=>({url:"/auth/password/change",method:"POST",body:t})}),resetPassword:e.mutation({query:t=>({url:"/auth/password/reset",method:"POST",body:t})}),resetPasswordConfirm:e.mutation({query:t=>({url:"/auth/password/reset/confirm",method:"POST",body:t})})})}),{useLoginMutation:tg,useRegisterMutation:rg,useRefreshTokenMutation:ng,useLogoutMutation:og,useGetUserQuery:ag,useLazyGetUserQuery:ig,useChangePasswordMutation:sg,useResetPasswordMutation:lg,useResetPasswordConfirmMutation:cg}=Lr;function pa(e){return{id:e.id??0,name:e.name??"",children:(e.children??[]).map(pa)}}function Kd(e){return(e?.folders??[]).map(pa)}function Yd(e){return{items:(e?.items??[]).flatMap(t=>t.id?[{kind:t.kind??"email",id:t.id,name:t.name??"",title:t.title??"",preheader:t.preheader??"",folderId:t.folder_id??0,hasAmp:t.has_amp??!1,previewImage:t.preview_image??"",updatedAt:t.updated_at??"",imported:t.imported??!1}]:[]),total:e?.total??0}}function gn(e){const t=e.status??"pending";return{id:e.id??"",status:t,outcome:e.outcome,total:e.total??0,imported:e.imported??0,warnings:e.warnings??0,failed:e.failed??0,finished:t==="done"||t==="failed",items:(e.items??[]).map(r=>({kind:r.kind??"email",stripoId:r.stripo_id??0,name:r.name??"",status:r.status??"failed",reason:r.reason,emailId:r.email_id})),createdAt:e.created_at??"",finishedAt:e.finished_at}}function Qd(e){return{selectors:e.map(t=>({kind:t.kind,...t.ids?.length?{ids:t.ids}:{},...t.all?{all:!0}:{},...t.folderId?{folder_id:t.folderId}:{},...t.rootOnly?{root_only:!0}:{},...t.search?{search:t.search}:{}}))}}var yn="StripoItems",vn="StripoFolders",Dr="StripoImportJob",Ut=(e,t)=>{const r=n.v2ResultOf(e);return"error"in r?{error:r.error}:{data:t(r.data)}},Nr=n.createApi({reducerPath:"stripoImportApi",tagTypes:[yn,vn,Dr],baseQuery:n.fetchBaseQueryApp({baseUrl:"https://app.emailmaker.ru/api/v2"}),endpoints:e=>({saveStripoKey:e.mutation({async queryFn({projectId:t,apiKey:r},o){return Ut(await n.getClientV2(d.getContainer(o)).projects.stripoKeyUpdate({id:String(t)},{api_key:r}),()=>{})},invalidatesTags:[yn,vn]}),getStripoFolders:e.query({async queryFn({projectId:t,kind:r},o){return Ut(await n.getClientV2(d.getContainer(o)).projects.stripoFoldersList({id:String(t),kind:r}),Kd)},providesTags:[vn]}),getStripoItems:e.query({async queryFn({projectId:t,kind:r,folderId:o,rootOnly:a,search:i,page:s,limit:l},u){return Ut(await n.getClientV2(d.getContainer(u)).projects.stripoItemsList({id:String(t),kind:r,...o?{folder_id:o}:{},...a?{root_only:!0}:{},...i?{search:i}:{},page:s,limit:l}),Yd)},providesTags:[yn]}),startStripoImport:e.mutation({async queryFn({projectId:t,selectors:r},o){return Ut(await n.getClientV2(d.getContainer(o)).projects.stripoImportsCreate({id:String(t)},Qd(r)),gn)},invalidatesTags:[Dr]}),getCurrentStripoImport:e.query({async queryFn(t,r){const o=await n.getClientV2(d.getContainer(r)).projects.stripoImportsCurrentList({id:String(t)});return o.status===204?{data:null}:Ut(o,gn)},providesTags:[Dr]}),getStripoImport:e.query({async queryFn({projectId:t,jobId:r},o){return Ut(await n.getClientV2(d.getContainer(o)).projects.stripoImportsDetail({id:String(t),jobId:r}),gn)},providesTags:[Dr]})})}),{useSaveStripoKeyMutation:ug,useGetStripoFoldersQuery:dg,useGetStripoItemsQuery:mg,useLazyGetStripoItemsQuery:pg,useStartStripoImportMutation:fg,useGetCurrentStripoImportQuery:hg,useGetStripoImportQuery:gg}=Nr;function Jd(e){const t=e,r=t?.emailsListPagination?.total??t?.baseQueryMeta?.emailsListPagination?.total;return typeof r=="number"&&Number.isFinite(r)&&r>=0?r:void 0}var Xd=n.createState({activeGroupsTags:[],activeProjectGroupsTags:[],groupsTemplateTotal:null,groupsTemplateProjectTotalPages:null,groupsTemplateProjectTotal:null}),Zd="projectSlice",_n=n.createSlice({name:Zd,initialState:Xd,reducers:{setActiveGroupsTags:(e,{payload:t})=>{e.activeGroupsTags=t,t.length&&(e.activeProjectGroupsTags=[])},setActiveProjectGroupsTags:(e,{payload:t})=>{e.activeProjectGroupsTags=t,t.length&&(e.activeGroupsTags=[])},resetAllTags:e=>{e.activeProjectGroupsTags=[],e.activeGroupsTags=[]}},extraReducers:e=>{e.addMatcher(n.emailsApi.endpoints.getTemplateEmails.matchFulfilled,(t,{payload:r,meta:o})=>{const{projectId:a}=o.arg.originalArgs,i=Jd(o);if(i!==void 0){t.groupsTemplateTotal=i,t.groupsTemplateProjectTotal=0,t.groupsTemplateProjectTotalPages=0;return}a?(t.groupsTemplateProjectTotal=+o.baseQueryMeta?.response.headers.get("X-WP-Total"),t.groupsTemplateProjectTotalPages=+o.baseQueryMeta?.response.headers.get("X-WP-TotalPages")):t.groupsTemplateTotal=+o.baseQueryMeta?.response.headers.get("X-WP-Total")})}}),{setActiveGroupsTags:yg,setActiveProjectGroupsTags:vg,resetAllTags:_g}=_n.actions,em=n.createState({emailsTotal:0,elementsList:[],emailsTrashTotal:0,elementsTrashList:[],customFolders:{},elementsView:n.CARDS}),tm="emailsPageSlice";function fa(e){const t=e,r=t?.emailsListPagination?.total??t?.baseQueryMeta?.emailsListPagination?.total;return typeof r=="number"&&Number.isFinite(r)&&r>=0?r:Number(t?.baseQueryMeta?.response?.headers?.get("X-WP-Total"))||0}function ha(e,t){const{emails:r,total:o,isSearch:a,page:i,tagOrFolderId:s}=t;if(t.status==="trash")!a&&o!==void 0&&(e.emailsTrashTotal=o),e.elementsTrashList=r;else if(s){const l=e.customFolders[s];e.customFolders={...e.customFolders,[s]:{list:r,page:i,total:o??l?.total??0}}}else o!==void 0&&(e.emailsTotal=o),e.elementsList=r}var bn=n.createSlice({name:tm,initialState:em,reducers:{resetElementsList:e=>{e.elementsList=[]},syncElementsList:(e,{payload:t})=>{ha(e,t)},toggleElementsView:(e,t)=>{e.elementsView=t.payload},removeEmailFromList:(e,{payload:t})=>{const r=e.customFolders;t.folder!=="all"&&r[t.folder]?.list&&(r[t.folder]={...r[t.folder],list:r[t.folder].list.filter(o=>o.id!==t.emailId),total:r[t.folder].total-1},e.customFolders=r)}},extraReducers:e=>{e.addMatcher(n.emailsApi.endpoints.getEmails.matchFulfilled,(t,{meta:r,payload:o})=>{const a=r.arg.originalArgs;ha(t,{emails:o,total:fa(r),status:a?.status,page:a?.page,isSearch:!!a?.name?.length,tagOrFolderId:a?.folderTag||a?.tags?.[0]})}),e.addMatcher(n.emailsApi.endpoints.getTemplateEmails.matchFulfilled,(t,{meta:r,payload:o})=>{const a=fa(r);t.elementsList=o,t.emailsTotal=a;const{projectGroup:i,projectId:s,tags:l}=r.arg.originalArgs;(i?.length&&s||l?.length||!l?.length&&!i?.length)&&(t.emailsTotal=a)}),e.addMatcher(n.emailsApi.endpoints.editEmail.matchFulfilled,(t,{payload:r})=>{t.elementsList.map(o=>o.id?.toString()===r.id?.toString()?Object.assign(o,{lock:r.lock,title:r.title,emailtags:r.emailtags}):o)})}}),{toggleElementsView:bg,resetElementsList:Eg,syncElementsList:Sg,removeEmailFromList:wg}=bn.actions,ga=n.combineReducers({[n.di.reducerPath]:n.di.reducer,[n.AiApi.reducerPath]:n.AiApi.reducer,[n.userSlice.name]:n.userSlice.reducer,[n.emailSlice.name]:n.emailSlice.reducer,[n.blockSlice.name]:n.blockSlice.reducer,[n.imageApi.reducerPath]:n.imageApi.reducer,[zt.reducerPath]:zt.reducer,[_r.reducerPath]:_r.reducer,[_n.name]:_n.reducer,[n.blocksApi.reducerPath]:n.blocksApi.reducer,[n.emailsApi.reducerPath]:n.emailsApi.reducer,[yr.reducerPath]:yr.reducer,[er.reducerPath]:er.reducer,[tr.reducerPath]:tr.reducer,[rr.reducerPath]:rr.reducer,[nr.reducerPath]:nr.reducer,[or.reducerPath]:or.reducer,[ar.reducerPath]:ar.reducer,[ir.reducerPath]:ir.reducer,[sr.reducerPath]:sr.reducer,[lr.reducerPath]:lr.reducer,[cr.reducerPath]:cr.reducer,[ur.reducerPath]:ur.reducer,[dr.reducerPath]:dr.reducer,[mr.reducerPath]:mr.reducer,[pr.reducerPath]:pr.reducer,[fr.reducerPath]:fr.reducer,[hr.reducerPath]:hr.reducer,[n.emailPageSlice.name]:n.emailPageSlice.reducer,[n.projectsApi.reducerPath]:n.projectsApi.reducer,[Kt.reducerPath]:Kt.reducer,[n.projectSettingsStylesApi.reducerPath]:n.projectSettingsStylesApi.reducer,[Yt.reducerPath]:Yt.reducer,[Ar.reducerPath]:Ar.reducer,[n.saveFileApi.reducerPath]:n.saveFileApi.reducer,[Cr.reducerPath]:Cr.reducer,[n.commentsApi.reducerPath]:n.commentsApi.reducer,[n.optimiseApi.reducerPath]:n.optimiseApi.reducer,[n.blocksPageSlice.name]:n.blocksPageSlice.reducer,[bn.name]:bn.reducer,[gr.reducerPath]:gr.reducer,[Pr.reducerPath]:Pr.reducer,[Ir.reducerPath]:Ir.reducer,[Tr.reducerPath]:Tr.reducer,[n.taxonomiesApi.reducerPath]:n.taxonomiesApi.reducer,[n.projectsPageSlice.name]:n.projectsPageSlice.reducer,[n.AiApiGenerator.reducerPath]:n.AiApiGenerator.reducer,[Rr.reducerPath]:Rr.reducer,[vr.reducerPath]:vr.reducer,[br.reducerPath]:br.reducer,[Zt.reducerPath]:Zt.reducer,[n.authorizationApi.reducerPath]:n.authorizationApi.reducer,[n.limitsApi.reducerPath]:n.limitsApi.reducer,[n.revisionHistorySlice.name]:n.revisionHistorySlice.reducer,[xr.reducerPath]:xr.reducer,[n.defaultModePanesSlice.name]:n.defaultModePanesSlice.reducer,[hn.reducerPath]:hn.reducer,[Or.reducerPath]:Or.reducer,[n.confirmationMailApi.reducerPath]:n.confirmationMailApi.reducer,[jr.reducerPath]:jr.reducer,[Mr.reducerPath]:Mr.reducer,[Lr.reducerPath]:Lr.reducer,[n.projectSettingsV2Api.reducerPath]:n.projectSettingsV2Api.reducer,[Nr.reducerPath]:Nr.reducer}),rm=(e,t)=>t.type==="authorizationApi/resetApiState"?ga({[n.reducerPath]:e[n.reducerPath]},t):ga(e,t),ya=[n.AiApi,n.imageApi,_r,n.emailsApi,zt,n.blocksApi,yr,er,tr,rr,nr,or,ar,ir,sr,lr,cr,ur,dr,mr,pr,fr,hr,Cr,n.projectsApi,Kt,n.projectSettingsStylesApi,Yt,Ar,n.commentsApi,n.optimiseApi,n.saveFileApi,gr,Pr,n.taxonomiesApi,Ir,Tr,n.AiApiGenerator,Rr,n.authorizationApi,n.limitsApi,vr,br,Zt,xr,hn,Lr,n.projectSettingsV2Api,Nr,Or,n.confirmationMailApi,jr,Mr];function nm(e){let t={};if(e){const o=d.createIdentifier$1();d.DependencyResolver.inject(o,e),t={INJECTION:o}}const r=n.configureStore({reducer:rm,middleware:o=>o({serializableCheck:!1}).concat(ya.map(a=>a.middleware)),preloadedState:t});return n.setupListeners(r.dispatch),r}var va=d.createIdentifier$1("RtkApiRegistry");function om(e,t){e.inject(va,new Map(t.map(r=>[r.reducerPath,r])))}function Qe(e,t){const r=e?.getInstance(va)?.get(t);if(!r)throw new Error(`RTK api "${t}" is not in the container registry (provideRtkApiRegistry did not run)`);return r}function am(e,t){let r={isCodeMode:void 0,direction:void 0};return n.provideCodeMode(e).watch(o=>{r.isCodeMode!==o.isCodeMode&&t.dispatch(n.setCodeMode(o.isCodeMode)),r.direction!==o.direction&&t.dispatch(n.switchCodeModeDirection(o.direction)),r={isCodeMode:o.isCodeMode,direction:o.direction}})}function im(e,t){const r=n.provideCurrentUser(e),o=n.authorizationApi.endpoints.getMe.select("");let a=r.get()?.profile;const i=()=>{const s=o(t.getState()).data;!s||s===a||(a=s,r.set({profile:s}))};return i(),{dispose:t.subscribe(i)}}var sm=d.createIdentifier$1("EmailSettingsPort");function lm(e,t){e.inject(sm,{read:()=>n.selectEmailSettings(t.getState())??{},write:r=>{t.dispatch(n.setEmailSettings(r))},markAppearanceChanged:()=>{t.dispatch(n.markAppearanceNeedsUpdate())}})}var cm="Invalid standaloneKey.",um="not implemented",kg=1,dm=d.createIdentifier$1("StandaloneMockGuard");function En(){const e=new Error(cm);return e.name="InvalidStandaloneKeyError",e}function Sn(e){return n.isStandaloneRuntime(d.getContainer(e))}function mm(e){return e instanceof Error?e.name==="InvalidStandaloneKeyError"||e.message==="Invalid standaloneKey."||e.message==="not implemented":e===um}function _a(e){if(Sn(e))throw En()}function pm(e,t,r){return r instanceof Error&&r.name==="InvalidStandaloneKeyError"?r:En()}var fm=()=>()=>{throw En()};function hm(e){if(!e)throw new Error("DI container not found for standalone mock guard");e.inject(dm,1)}function gm(e){return typeof e!="function"}var Ag="[plugin-api-mock]";function ba(){return!0}function ym(e){try{if(e===null||typeof e!="object")return e;const t={};for(const r of Object.keys(e).slice(0,12)){const o=e[r];t[r]=typeof o=="string"&&o.length>120?`${o.slice(0,120)}…(${o.length})`:o}return t}catch{return"(unserializable arg)"}}function vm(e,t){return r=>{const o=r.query,a=r.queryFn||((i,s,l,u)=>{if(!o)throw new Error("query not found EndpointDefinition");return u(o(i))});a&&(r.query=void 0,r.queryFn=async(i,s,l,u)=>{try{let p;const h=d.getContainer(s).getServices(e);for(let g=h.length-1;g>=0;g--){const v=h[g];if(p=p?await p(async c=>await v.execute(c),s):await v.execute(i),gm(p))return{data:p,error:null}}if(p)p=await p(async(g,v=s,c=l,y=u)=>{_a(s);const _=await a(g,v,c,y);if(_.error)throw _.error;return _.data},s);else{_a(s),ba();const g=await a(i,s,l,u);if(g.error)throw g.error;p=g.data}return{data:p,error:null}}catch(p){return Sn(s)&&mm(p)?{error:pm(t,ym(i),p)}:(ba(),{error:p})}})}}var Ea=new Set;function Ke(e){return(t,r)=>{const o=Object.create(null),a=Object.keys(r),i=new d.Disposable;for(const s of a){const l=`api_listeners_flag_${t.reducerPath}/${s.toString()}`,u=d.createIdentifier$1(`api_listeners_${t.reducerPath}/${s.toString()}`);Ea.has(l)||(o[s]=vm(u,`${t.reducerPath}/${s.toString()}`),Ea.add(l)),i.addDisposable(e.addService(u,{execute:r[s]}))}return Object.keys(o).length&&t.enhanceEndpoints({endpoints:o}),n.getDisposable(e).addDisposable(i),i}}function Sa(e,t){for(const r of Object.keys(t))try{t[r](e)}catch{}}function Cg(e){return e}function wa(e,t){return e({body:t}).catch(()=>new Promise(r=>setTimeout(r,1e3)))}function _m(e){Ke(e)(Qe(e,"AiApi"),{sendMessage:({body:t})=>async(r,o)=>{const a=n.getEmitter(e,d.events.AI_TEXT_REQUEST_ID);if(!a.hasListeners())return wa(r,t);const i=t,s=n.getOpenEmailDocuments(e)?.current()?.get().docId,l=()=>o.signal.aborted,u={message:i.message??i.context,locale:i.locale,entityId:i.entity_id,projectId:i.project_id!=null?String(i.project_id):void 0,subject:i.subject,preheader:i.preheader,textContent:i.textContent,context:i.context??i.connection,connection:i.connection,onProgress:(p,h)=>{l()||n.getEmitter(e,d.events.AI_TEXT_PROGRESS_ID).fire({progress:Number.isFinite(p)?p:0,status:typeof h=="string"?h:void 0,docId:s})},onStreamChunk:p=>{typeof p!="string"||!p||l()||n.getEmitter(e,d.events.AI_TEXT_STREAM_ID).fire({partialHtml:p,docId:s})},signal:o.signal};for(const p of a.getListeners([u])){const h=await p(u);if(h)return{status:200,_eventResult:!0,aiMessage:typeof h.message=="string"?h.message:"",aiHtml:typeof h.html=="string"?h.html:void 0}}return wa(r,t)},getDialog:t=>(r,o)=>Sn(o)?Promise.resolve({documents:[],totalCount:0}):r(t)})}function bm(e){const t=Ke(e),r=n.getEmitter(e,d.events.FILE_PROXY_EVENT_ID);t(Qe(e,"proxyApi"),{async getFile({url:o,tryFetch:a=!0,type:i}){return async s=>{const{requested:l}=n.getCurrentProject(e),u=(await r.fire({url:o,project:l})).filter(p=>p instanceof Blob)[0];if(u)switch(i){case"json":return JSON.parse(await u.text());case"text":return u.text();default:return u}else return s({url:o,tryFetch:a,type:i})}}})}function Em(e){Ke(e)(Qe(e,"tokenApi"),{tokenCreate(t){return r=>r(t)},tokenValidate(){return t=>t({})}})}function Ig(e){return e}function Sm(e){Ke(e)(Qe(e,"imageApi"),{sendAiImageRequest:function({body:t}){return async(r,o)=>{const a=n.getEmitter(e,d.events.AI_IMAGE_REQUEST_ID);if(!a.hasListeners()||t.request!=="create-image")return r({body:t});const i={prompt:t.message??"",size:t.size,entityId:t.entity_id,projectId:t.project_id!=null?String(t.project_id):void 0,onProgress:(s,l)=>{n.getEmitter(e,d.events.AI_IMAGE_PROGRESS_ID).fire({progress:Number.isFinite(s)?s:0,status:typeof l=="string"?l:void 0})},signal:o.signal};for(const s of a.getListeners([i])){const l=await s(i);if(l&&l.images?.length)return{data:{status:200,_eventResult:!0,task:{images:l.images}}}}return r({body:t})}},getAiImage(t){return r=>r(t)}})}async function ka(e,t,r,o,a){try{const i=(await e.fire({project:String(t),emailId:r})).filter(s=>s!=null);if(i.length)return i.flat()}catch{}return o(a)}function wm(e){if(e==null||e==="")return;const t=Number(e);return Number.isFinite(t)?t:void 0}function Aa(e){return!!(e&&Object.keys(e).some(t=>t!=="id"))}function km(e){const t=Ke(e),r=Qe(e,"blocksApi"),o=n.blocksDataSourceProvider(e),a=o.byForeignKey("project"),i=n.blockRevisionsDataSourceProvider(e);i.byForeignKey("parent");const{dispatch:s}=n.getStore(e),l=n.getDisposable(e);l.addDisposable(o.onChange(()=>s(r.util.invalidateTags(["Blocks"])))),l.addDisposable(o.onSave(({prev:c,patch:y,value:_})=>{const E=c?{...c,...y}:y;let A=n.mergeEntityPreservingMeta(c,y,_);return E&&A.html===E.html&&A.title===E.title&&(A={...A,renderGuid:E.renderGuid}),A},Number.MIN_VALUE));const u=async c=>{const y=Number(c),_=String(y)===c?[c,y]:[c];for(const E of _)if(Aa(await o.cache.getIfPresent(E)))return E},p=async(c,y)=>{const _=await u(c);if(_!==void 0)return _;const E=n.readBlockById(e,c),A=Aa(await(y?sn(e,E,()=>{}):E).catch(C=>{throw o.remove(c,{silent:!0}).catch(()=>{}),C}))?c:await u(c);if(A===void 0){const C=`[emailmaker] editBlock(): block ${c} is unknown to the integrator`;throw await h(c,y)?Eo(C):new Error(C)}return A},h=(c,y)=>{const _=o.confirmedMissing(c);return y?sn(e,_,()=>{}).catch(()=>!1):_},g=n.getEmitter(e,n.READ_COMMON_BLOCKS_EVENT_ID),v=n.getEmitter(e,n.READ_TEMPLATE_BLOCKS_EVENT_ID);t(r,{async getBlocks(c){const y={};c.name&&(y.title=c.name),c.type&&(y.type=c.type);const _=wm(c.projectId)??await n.getBlocksProject(e);return await a.get(_,{filter:y,page:c.page,pageSize:c.pageSize,order:c.order,orderBy:c.orderby}).then(({data:E})=>E)},getBlocksSchema(){return c=>c(void 0)},async getBlockTypes(){const c=await s(r.endpoints.getBlocksSchema.initiate(void 0,{subscribe:!1}));if(c.error)throw c.error;return n.WpBlockSchemaToTypes(c.data)},getParentEmailBlocks(c){return async y=>{if(!v.hasListeners())return[];const _=n.getCurrentProject(e).requested||"";return ka(v,_,c.emailId||"",y,c)}},getTemplateBlocks(c){return async y=>{const _=n.getCurrentProject(e).requested||"";return ka(g,_,c.emailId||"",y,c)}},getBlock(c){return n.readBlockById(e,c)},addBlock(c){return async y=>{const _=await o.create(c);return n.getAppConfig(e).preventSendDataToEM||y(_).catch(E=>{}),_}},async editBlock({blockId:c,...y}){const _=n.isPluginGoHistory(e),E=await p(c,_),A=await Ku(e,c,y.html),C=o.update(E,y);try{const x=await(_?sn(e,C,()=>{}):C);return A(),x}catch(x){throw x instanceof n.IntegratorSaveTimeoutError||!await h(c,_)?x:(o.remove(E,{silent:!0}).catch(()=>{}),Eo(x instanceof Error?x.message:String(x)))}},deleteBlock(c){return o.remove(typeof c=="object"?c.id:c)},addTag(c){return c},getDeletableTag([c,y]){return[]},autoSaveBlock({blockId:c,body:y}){return i.create({...y,parent:c,isAutosave:!0})}})}function Am(e){const{emails:t,emailRevisions:r}=n.provideEmailDocuments(e),{dispatch:o}=n.getStore(e),a=n.getDisposable(e),i=Ke(e),s=Qe(e,"emailsApi");a.addDisposable(t.onChange(async()=>{o(s.util.invalidateTags(["Email"]))})),i(s,{getEmails:l=>[],getTemplateEmails:l=>[],async addEmail({source:l,...u}){const p=await t.create(u,{source:l});return p.renderGuid||(p.renderGuid=d.generateUUID()),p},editEmail(l){return async u=>{const{emailId:p,source:h,...g}=l;return n.isRevisionServiceEnabled(e)&&!n.isPluginGoHistory(e)&&await u(l),t.update(p,g,{source:h})}},deleteEmail(l){return t.remove(typeof l=="object"?l.id:l)},addTag(){throw new Error(d.NOT_IMPLEMENTED_IN_PLUGIN)},getDeletableTag([l,u]){return[]},autoSaveEmail({emailId:l,body:u}){return async p=>{n.isRevisionServiceEnabled(e)&&await p({emailId:l,body:u});const h=await r.create({...u,parent:l,modified:new Date().toString()});return h&&!h.html&&u.html?{...h,html:u.html}:h}}})}var Cm="tmp",Tg=d.createIdentifier$1();function Im(e){const t=Ke(e);if(!e.getInstance(d.DISPOSABLE_ID))throw new Error("Something was wrong");const r=n.getEmitter(e,d.events.UPLOAD_EVENT_ID),o=n.getEmitter(e,d.events.ON_SEND_TESTEMAIL_ID),a=n.getEmitter(e,d.events.ON_SEND_LIVEPREVIEW_ID);t(Qe(e,"saveFileApi"),{uploadImage(i){return async s=>{const{requested:l}=n.getCurrentProject(e),u=async()=>s({...i,user_id:String((await e.getInstanceAsync(d.APP_ID)).app_id)});if(i.folder===Cm)return u();const p=await n.fireUploadImageEvent(r,{file:i.file,project:l});if(p.url)return[{file_url:p.url,project:l}];if(!n.shouldFallbackToBuiltInUpload(p,{isStandalone:n.isStandaloneRuntime(e)}))throw n.toUploadImageError(p);return u()}},sendTestEmail(i){return async s=>{const{requested:l}=n.getCurrentProject(e);(await o.fire({project:l,email_id:i.email_id,subject:i.subject,email:i.email,html:i.html,from_name:i.from_name})).some(u=>u===!1)&&await s({...i,user_id:String((await e.getInstanceAsync(d.APP_ID)).app_id)})}},async sendLivePreview(i){const{requested:s}=n.getCurrentProject(e);(await a.fire({project:s,id:i.email,subject:i.subject,html:i.content})).some(l=>l===!1)},sendShortLink(i){return s=>s(i)}})}function Tm(e){Ke(e)(Qe(e,"emailRawApi"),{getEmailRaw({emailId:t,secret_hash:r}){throw new Error(d.NOT_IMPLEMENTED_IN_PLUGIN)}})}function Et(e,t){for(var r=e<0?"-":"",o=Math.abs(e).toString();o.length<t;)o="0"+o;return r+o}function Pm(e,t){var r,o;n.requiredArgs(1,arguments);var a=Vi(e);if(isNaN(a.getTime()))throw new RangeError("Invalid time value");var i=String((r=t?.format)!==null&&r!==void 0?r:"extended"),s=String((o=t?.representation)!==null&&o!==void 0?o:"complete");if(i!=="extended"&&i!=="basic")throw new RangeError("format must be 'extended' or 'basic'");if(s!=="date"&&s!=="time"&&s!=="complete")throw new RangeError("representation must be 'date', 'time', or 'complete'");var l="",u="",p=i==="extended"?"-":"",h=i==="extended"?":":"";if(s!=="time"){var g=Et(a.getDate(),2),v=Et(a.getMonth()+1,2),c=Et(a.getFullYear(),4);l="".concat(c).concat(p).concat(v).concat(p).concat(g)}if(s!=="date"){var y=a.getTimezoneOffset();if(y!==0){var _=Math.abs(y),E=Et(Math.floor(_/60),2),A=Et(_%60,2),C=y<0?"+":"-";u="".concat(C).concat(E,":").concat(A)}else u="Z";var x=Et(a.getHours(),2),N=Et(a.getMinutes(),2),B=Et(a.getSeconds(),2),k=l===""?"":"T",P=[x,N,B].join(h);l="".concat(l).concat(k).concat(P).concat(u)}return l}function Rm(e){const t=Ke(e),r=Qe(e,"commentsApi"),o=n.commentsDataSourceProvider(e),a=o.byForeignKey("post"),{dispatch:i}=n.getStore(e);n.getDisposable(e).addDisposable(o.onChange(()=>i(r.util.invalidateTags(["Comments"])))),t(r,{getComments(s){return a.get(s).then(({data:l})=>l)},addComment({subjectId:s,author:l,parent:u,content:p,author_name:h,author_email:g,targetId:v}){const c={post:s,author:l,author_name:h,author_email:g,content:p,parent:u,target_id:v,date:Pm(new Date),author_avatar_urls:{}};return o.create(c)},deleteComment(s){return o.remove(s)},editComment({commentId:s,...l}){return o.update(s,l)},deleteTarget(s){return o.update(s,{target_id:""})}})}function wn(e){return{id:String(e),name:"",myRole:"",members:[],invites:[],emailsCount:0,blocksCount:0,title:"",group:[],folder:[],blockfolder:[]}}function Ca(e,t){return{project:Number(e),app_id:t?.app_id||0,app_config:t?.app_config||{},user:t?.user}}function xm(e,t){const r=wn(String(t)),o=n.getCurrentProject(e).card;return o&&String(o.id)===String(t)?Promise.resolve({...r,...o,id:String(t)}):Promise.resolve({...r,id:String(t)})}function Om(e){let t,r;const o=a=>((t!==a||!r)&&(t=a,r=xm(e,a)),r);Ke(e)(Qe(e,"projectsApi"),{getProjects(a={page:1}){return[]},getProject(a){return async i=>n.isStandaloneRuntime(e)?i(a):{...await o(a),id:String(a)}},addProject(a){throw new Error},async editProject({projectId:a,...i}){const s={...await o(a),...i,id:String(a)};return t=a,r=Promise.resolve(s),s},deleteProject(a){throw new Error},mutateProjectMembers(){throw new Error(d.NOT_IMPLEMENTED_IN_PLUGIN)},addProjectMember(){throw new Error(d.NOT_IMPLEMENTED_IN_PLUGIN)},getFrequentProjects(){return[]}})}function Mm(e){let t={id:"0",username:"",email:"",password:"",code_editor:{},theme:"light",locale:n.getCurrentUser(e).profile?.locale,counters:{},avatar_urls:{},autosaves:!0};Ke(e)(Qe(e,"authorizationApi"),{getSchema:()=>r=>r({}),getMe:()=>t,editMe:r=>t={...t,...r},getSubscriptions:()=>[]})}function jm(e){Ke(e)(Qe(e,"notificationsApi"),{getNotifications(t){return[]},notificationShown({id:t,datetime:r}){throw new Error(d.NOT_IMPLEMENTED_IN_PLUGIN)}})}function Lm(e){Ke(e)(Qe(e,"addUserToProjectApi"),{addUserToProject:()=>{}})}function Dm(e){n.injectEmailTermsResolver(e,{resolve:async()=>{}}),Ke(e)(Qe(e,"taxonomiesApi"),{getTerms:()=>[],getStandardGroups:()=>[],addTerm:()=>{throw new Error(d.NOT_IMPLEMENTED_IN_PLUGIN)},editTerm:t=>({id:t.id,name:t.name,parent:0,count:0}),deleteTerm:()=>{throw new Error(d.NOT_IMPLEMENTED_IN_PLUGIN)}})}function Nm(e){Ke(e)(Qe(e,"projectSettingsV2Api"),{getProjectIntegrations:()=>({}),getProjectWebhook:()=>"",getProjectStorage:()=>({}),getProjectTestRecipients:()=>[],getIntegrationCredentials:()=>({}),putProjectIntegration:()=>{throw new Error(d.NOT_IMPLEMENTED_IN_PLUGIN)},deleteProjectIntegration:()=>{throw new Error(d.NOT_IMPLEMENTED_IN_PLUGIN)},putProjectWebhook:()=>{throw new Error(d.NOT_IMPLEMENTED_IN_PLUGIN)},putProjectSettings:()=>{throw new Error(d.NOT_IMPLEMENTED_IN_PLUGIN)},putProjectTestRecipients:()=>{throw new Error(d.NOT_IMPLEMENTED_IN_PLUGIN)}})}function Fm(e){Ke(e)(Qe(e,"stripoImportApi"),{getStripoFolders:()=>[],getStripoItems:()=>({items:[],total:0}),getCurrentStripoImport:()=>null,getStripoImport:()=>{throw new Error(d.NOT_IMPLEMENTED_IN_PLUGIN)},saveStripoKey:()=>{throw new Error(d.NOT_IMPLEMENTED_IN_PLUGIN)},startStripoImport:()=>{throw new Error(d.NOT_IMPLEMENTED_IN_PLUGIN)}})}var Ia={addUserToProjectApiMock:Lm,AiApiMock:_m,authorizationApiMock:Mm,blocksApiMock:km,commentsApiMock:Rm,emailsApiMock:Am,emailRawApiMock:Tm,imageApiMock:Sm,notificationsApiMock:jm,projectsApiMock:Om,projectSettingsV2ApiMock:Nm,proxyApiMock:bm,saveFileApiMock:Im,stripoImportApiMock:Fm,taxonomiesApiMock:Dm,tokenApiMock:Em},kn=n.createApi({reducerPath:"tokenApi",baseQuery:n.fetchBaseQueryApp({baseUrl:"https://app.emailmaker.ru/api/wp-json/jwt-auth/v1/"}),endpoints:e=>({tokenCreate:e.mutation({queryFn(t,r){return n.clientFromApi(r).jwtAuth.token_create({body:t,type:d.ContentType.Json})}}),tokenValidate:e.mutation({queryFn(t,r){return n.clientFromApi(r).jwtAuth.token_validate_create({type:d.ContentType.Json})}})})}),{useTokenCreateMutation:Pg,useTokenValidateMutation:Rg}=kn;function An(){const e=new Map;for(const t of ya)e.set(t.reducerPath,t);return e.set(kn.reducerPath,kn),[...e.values()]}function Bm(e,t){const r=Object.keys(t.endpoints);r.length&&e(t,Object.fromEntries(r.map(o=>[o,fm])))}function Um(e){hm(e);const t=Ke(e);for(const r of An())Bm(t,r)}function Gm(e){if(!e)return;const t=d.decodeJwt(e)?.data,r=t?.data?.scope??t?.scope;return(Array.isArray(r)?r.flatMap(o=>typeof o=="string"?o.split(/\s+/):[]):typeof r=="string"?r.split(/\s+/):[]).find(o=>/^project_\d+$/.test(o))?.replace(/^project_/,"")||void 0}var $m={AiApi:new Set(["sendMessage","getDialog"]),imageApi:new Set(["sendAiImageRequest","getAiImage","getAiImageSSE"])};function qm(e){return n.getAppConfig(d.getContainer(e))}function Hm(e){return e?.backendProxy!==void 0&&e?.backendProxyPolicy?.proxyAi===!0}function zm(e){return Hm(qm(e))}function Vm(e,t,r,o){return $m[t]?.has(r)?a=>zm(e)?i=>i(a):o(a):o}function Wm(e){const t=Ke(e);return((r,o)=>{if(!r||typeof r.reducerPath!="string")return new d.Disposable;const a=Object.fromEntries(Object.entries(o??{}).map(([i,s])=>[i,typeof s=="function"?Vm(e,r.reducerPath,i,s):s]));return t(r,a)})}function Km(e){const t=`blocks_${d.generateUUID().replaceAll("-","")}`,r=document.createElement("script");return r.type="text/javascript",r.text=`window.${t}(function(module, exports, require) { ${e}; })`,new Promise((o,a)=>{window[t]=function(i){const s={exports:{}},l=()=>{};i(s,s.exports,l),o(s.exports)},document.head.appendChild(r)}).finally(()=>{r.remove(),delete window[t]})}async function Ta(e){const t=d.getContainer(e),r=t?.getInstance(d.STANDALONE_PROJECT_ID),o=r?void 0:await t?.getInstanceAsync(d.APP_ID).catch(()=>{}),a=r||(o?.project!==void 0?String(o.project):void 0);a&&t&&n.setCurrentProjectCard(t,wn(a))}async function Ym(e,t){try{const r=function(l){const u=e.getInstance(d.STANDALONE_PROJECT_ID),p=u?Ca(u,l):l;e.injectFactory(d.APP_ID,async()=>p)},o=Wm(e),a=await n.readZipFromBase64(t),i=a.key&&n.zipEntryToText(a.key);if(typeof i!="string")return;const s=await Km(i);if(typeof s!="object"||s===null||typeof s.execute!="function")return;s.execute(r,o,An())}catch{}}async function Pa(e,t){Um(d.getContainer(e)),await Ym(d.getContainer(e),t),Sa(d.getContainer(e),Ia)}var Qm=Xt(async e=>{const t=nm(e);e.inject(d.STORE_ID,t),om(e,An()),lm(e,t),n.getDisposable(e).addDisposable(im(e,t)),n.getDisposable(e).addDisposable(am(e,t));const r=d.getContainer(t);r&&(e.inject(d.MESSAGE_SERVICE_ID,n.getMessageService(r)),e.inject(n.CURRENT_PROJECT_ID,n.provideCurrentProject(r)));const o=e.getInstance(d.SECURITY_MODULE_ID);return o?(await Pa(t,o),await Ta(t)):Sa(d.getContainer(t),Ia),{instance:{}}}),Ra=["historyEnabled","commentsEnabled","aiAssistentEnabled","livePreviewEnabled","sendTestEnabled","sharePreviewEnabled","webversionEnabled","optimizeSpamAssassinEnabled","exportWebHookEnabled","aiLayoutConverterEnabled","elementAIimageEnabled","elementAItextEnabled","revisionService"];function Jm(e){const t={...e};for(const r of Ra)t[r]=!1;return t}function Xm(e){const t={...e};for(const r of Ra)r in t&&typeof t[r]=="boolean"&&(t[r]=!1);return t}function Zm(e){if(!e||typeof e!="object"||Array.isArray(e))return;const t={};for(const[r,o]of Object.entries(e))!o||typeof o!="object"||Array.isArray(o)||(t[r]=Xm(o));return Object.keys(t).length>0?t:void 0}function Cn(e){const t=Jm(e),r=Zm(e.advancedConfigs),o={...t};return r?o.advancedConfigs=r:delete o.advancedConfigs,o}var xg=1,ep=2592e6;function xa(){return"emailmaker".trim()||void 0}function tp(e){return{schemaVersion:1,savedAt:Date.now(),project:e.project,app_id:e.app_id,app_config:Cn(Ma(e.app_config))}}function Oa(e){return{...e,app_config:Ma(e.app_config)}}function Ma(e){if(!e||typeof e!="object"||Array.isArray(e))return{};try{if(typeof structuredClone=="function")return structuredClone(e)}catch{}try{return JSON.parse(JSON.stringify(e))}catch{return{}}}async function rp(e){const t=xa();t&&await cp(t,tp(e))}async function np(e=Date.now()){const t=xa();if(t)return up(t,e)}function op(e,t=Date.now()){return e.savedAt>t?!1:t-e.savedAt<=ep}function ja(e){if(!e||typeof e!="object")return!1;const t=e,r=typeof t.project=="number"&&Number.isFinite(t.project)||typeof t.project=="string"&&t.project.trim()!=="";return t.schemaVersion===1&&typeof t.savedAt=="number"&&Number.isFinite(t.savedAt)&&r&&typeof t.app_id=="number"&&Number.isFinite(t.app_id)&&t.app_config!=null&&typeof t.app_config=="object"&&!Array.isArray(t.app_config)}var ct="snapshots",ap=1;function ip(){return`${"emailmaker".trim()||"plugin"}-plugin-deferred-config`}function Fr(){return new Promise((e,t)=>{if(typeof indexedDB>"u"){t(new Error("indexedDB is not available"));return}const r=indexedDB.open(ip(),ap);r.onerror=()=>t(r.error||new Error("indexedDB open failed")),r.onupgradeneeded=()=>{const o=r.result;o.objectStoreNames.contains(ct)||o.createObjectStore(ct)},r.onsuccess=()=>e(r.result)})}function sp(e){return new Promise((t,r)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>r(e.error||new Error("indexedDB request failed"))})}function lp(){return{async get(e){const t=await Fr();try{const r=await sp(t.transaction(ct,"readonly").objectStore(ct).get(e));return r===void 0?void 0:r}finally{t.close()}},async put(e,t){const r=await Fr();try{const o=r.transaction(ct,"readwrite");o.objectStore(ct).put(t,e),await new Promise((a,i)=>{o.oncomplete=()=>a(),o.onerror=()=>i(o.error||new Error("indexedDB write failed")),o.onabort=()=>i(o.error||new Error("indexedDB write aborted"))})}finally{r.close()}},async delete(e){const t=await Fr();try{const r=t.transaction(ct,"readwrite");r.objectStore(ct).delete(e),await new Promise((o,a)=>{r.oncomplete=()=>o(),r.onerror=()=>a(r.error||new Error("indexedDB delete failed")),r.onabort=()=>a(r.error||new Error("indexedDB delete aborted"))})}finally{t.close()}},async clear(){const e=await Fr();try{const t=e.transaction(ct,"readwrite");t.objectStore(ct).clear(),await new Promise((r,o)=>{t.oncomplete=()=>r(),t.onerror=()=>o(t.error||new Error("indexedDB clear failed")),t.onabort=()=>o(t.error||new Error("indexedDB clear aborted"))})}finally{e.close()}}}}var La,In;function Tn(){return La||(In||(In=lp()),In)}function Da(e){Tn().delete(e).catch(()=>{})}async function cp(e,t){if(ja(t))try{await Tn().put(e,Oa(t))}catch{}}async function up(e,t=Date.now()){try{const r=await Tn().get(e);if(r===void 0)return;if(!ja(r)){Da(e);return}if(!op(r,t)){Da(e);return}return Oa(r)}catch{return}}function dp(e,t){if(e.getInstance(d.STANDALONE_FILE_PROXY_REGISTERED_ID))return;e.inject(d.STANDALONE_FILE_PROXY_REGISTERED_ID,!0);const r=d.getEvent(e,d.events.FILE_PROXY_EVENT_ID);t.addDisposable(r(async({url:o})=>(await fetch(o)).blob(),Number.MIN_VALUE))}function Na(e){try{return Gm(e)||void 0}catch{return}}async function mp(e,t,r){if(!e)return;let o;try{const a=await e(t,r,void 0);o=String(a||"").trim()}catch{return}if(o)return{token:o,serverProjectId:Na(o)}}function pp(e){if(e==null)return;const t=String(e).trim();return/^\d+$/.test(t)?t:void 0}function fp(e){const t=String(e.getInstance(d.JWT_TOKEN_ID)||"").trim();if(t)return Na(t)}function Fa(e,t,r){e.inject(d.APP_ID,void 0),e.inject(d.APP_ID,Promise.resolve(Ca(t,r)))}function hp(e){return{app_id:e.app_id,app_config:Cn(e.app_config)}}async function Ba(){const e=await np();return e?hp(e):{app_config:Cn({})}}function gp(e,t){e.getInstance(d.STANDALONE_ACTIVATED_ID)||(e.inject(d.SECURITY_MODULE_ID,void 0),e.inject(d.STANDALONE_BOOTSTRAP_TOKEN_ID,void 0),e.inject(d.STANDALONE_PROJECT_ID,void 0),t&&e.inject(d.APP_ID,void 0),e.inject(d.STANDALONE_FILE_PROXY_REGISTERED_ID,void 0))}async function Ua(e){const{container:t,store:r,standaloneKey:o,project:a,reason:i,getAuthToken:s,user:l}=e,u=e.disposable||t.getInstance(d.DISPOSABLE_ID);if(t.getInstance(d.STANDALONE_ACTIVATED_ID))return;const p=await mp(s,l,a),h=pp(a),g=p?.serverProjectId??fp(t)??(p?void 0:h);t.inject(d.SECURITY_MODULE_ID,o);let v=!1;try{if(p&&(t.inject(d.STANDALONE_BOOTSTRAP_TOKEN_ID,Promise.resolve(p.token)),s&&d.recreateTokenProvider(t,s,l,a)),g){const c=await Ba();t.inject(d.STANDALONE_PROJECT_ID,g),Fa(t,g,c),v=!0,n.setCurrentProjectCard(t,wn(g))}if(await Pa(r,o),v=!0,!g){await Ta(r);const c=t.getInstance(d.STANDALONE_PROJECT_ID);if(c)Fa(t,c,await Ba()),v=!0;else if(t.getInstance(d.APP_ID)!==void 0)try{(await t.getInstanceAsync(d.APP_ID))?.project==null}catch{}}u&&dp(t,u),t.inject(d.STANDALONE_ACTIVATED_ID,!0)}catch(c){throw gp(t,v),c}}async function yp(e,t,r,o){const a=o?.attemptTimeout??d.isFailoverEnabled(r),i=d.isFailoverEnabled(r)?d.getOrderedOriginCandidates(r):d.getOriginChain(r).length>0?[d.getActiveBaseUrl(r)]:[];if(i.length===0)throw new Error("[apiOriginFailover] no API base URL configured");const s=e.startsWith("/")?e:`/${e}`;let l,u;for(let p=0;p<i.length;p++){const h=i[p],g=p===i.length-1,v=a?d.beginFailoverAttempt(t.signal):void 0;try{const c=await fetch(`${h}${s}`,{...t,...v?{signal:v.signal}:{}});if(!c.ok&&d.shouldFailoverResponse(c.status)){if(l=c,!g){d.reportOriginFailure(h,r);continue}break}return c.ok&&d.reportOriginSuccess(h,r),c}catch(c){const y=v?.timeoutError();if(!y&&!d.shouldFailoverError(c))throw c;u=y||c,g||d.reportOriginFailure(h,r)}finally{v?.done()}}if(d.isFailoverEnabled(r)&&d.abandonStickyOrigin(),l)return l;throw u instanceof Error?u:new Error("[apiOriginFailover] fetch chain failed")}function vp(e,t){const r=String(t.baseUrl||"").trim();if(r)return d.resolveExplicitApiBaseUrl(r);const o=e.getInstance(d.REST_CLIENT_FACTORY_ID),a=String(o?.getOptions()?.baseUrl||"").trim();return d.resolveExplicitApiBaseUrl(a||void 0)}async function _p(e,t){if(t.getAuthToken)try{const r=await t.getAuthToken(t.user,t.project,void 0);if(String(r||"").trim())return!0}catch{if(!t.jwtAuth)return!1}if(t.jwtAuth)try{if(String(e.getInstance(d.JWT_TOKEN_ID)||"").trim())return!0;const r=vp(e,t);if(!r)return!1;const o=await yp("/jwt-auth/token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t.jwtAuth)},r,{attemptTimeout:!0});if(!o.ok)return!1;const a=await o.json();return a.token?(e.inject(d.JWT_ERROR_ID,void 0),e.inject(d.JWT_TOKEN_ID,a.token),!0):!1}catch{return!1}return!1}async function bp(e){try{if(e.getInstance(d.APP_ID)===void 0)return!1;const t=await Sp(e.getInstanceAsync(d.APP_ID));return t!=null&&t.project!=null?t:!1}catch{return!1}}function Ep(){return d.getFailoverAttemptTimeoutMs()*Math.max(1,d.getOriginChain().length)}function Sp(e){const t=Ep();return new Promise((r,o)=>{const a=setTimeout(()=>{r(void 0)},t);e.then(i=>{clearTimeout(a),r(i)},i=>{clearTimeout(a),o(i)})})}function Ga(e){return String(e.standaloneKey||"").trim()||void 0}function wp(e){return e.standaloneOnAuthFailure===!0?!0:e.config?.standaloneOnAuthFailure===!0}function kp(e){return wp(e)?!!Ga(e):!1}var Ap=Xt(async e=>{const t=e.getInstance(d.DISPOSABLE_ID),r=()=>e.getInstanceAsync(d.STORE_ID);return{async setOptions(o){if(!kp(o)){e.getInstance(d.STANDALONE_ACTIVATED_ID);return}const a=Ga(o);if(!a||e.getInstance(d.STANDALONE_ACTIVATED_ID))return;const i=await r(),s=!!(o.getAuthToken||o.jwtAuth),l=s?await _p(e,o):!0;if(s&&!l){await Ua({container:e,store:i,standaloneKey:a,project:o.project,getAuthToken:o.getAuthToken,user:o.user,disposable:t,reason:"auth pipeline failed"});return}const u=await bp(e);if(u){await rp(u).catch(()=>{});return}await Ua({container:e,store:i,standaloneKey:a,project:o.project,getAuthToken:o.getAuthToken,user:o.user,disposable:t,reason:"app_init failed"})}}});function Cp(e){return{font_size:e.fontSize,font_family:e.fontFamily,tab_size:e.tabSize,word_wrap:e.wordWrap,minimap:e.minimap,insert_spaces:e.insertSpaces}}function Ip(e){return{fontSize:e.fontSize,fontFamily:e.fontFamily,tabSize:e.tabSize,wordWrap:e.wordWrap!=="off",minimap:e.minimap?.enabled,insertSpaces:e.insertSpaces}}var Tp=d.createIdentifier$1("plugin.publicConfig");function Pn(e){return e.getInstance(d.CONFIG_SOURCE_ID)?.get()??{}}function $a(e){return e.getInstance(d.CONFIG_SOURCE_ID)?.layers()??{base:{},profile:{},serverSide:{},user:{},local:{},advancedConfigs:{}}}function qa(e){const t=n.getCodeMode(e),r=Pn(e);return{...r,locale:r.locale||"ru_RU",theme:r.theme||"light",editor:Ip(n.getEditorOptions(e)),codeModeDirection:t.isCodeMode?t.direction:"none"}}function Ha(e){return e.getInstance(d.CONFIG_SOURCE_ID)?.get()!==void 0}function Pp(e){const t=No(),r=n.getEmitter(e,d.CONFIG_CHANGED_EVENT_ID);let o,a,i=!1;const s=async()=>{try{return e.getInstance(d.APP_ID)===void 0?{}:(await e.getInstanceAsync(d.APP_ID))?.app_config||{}}catch{return{}}},l=async({onlyChangedCodeMode:g=!1}={})=>{await e.getInstance(d.CONFIG_SOURCE_ID)?.ready(),n.getRevisionServiceFlag(e).set(Pn(e).revisionService===!0);const{codeModeDirection:v,editor:c}=Pn(e);c&&n.applyEditorOptions(e,Cp(c)),v!==void 0&&!(g&&v===a)&&(a=v,v==="none"?n.setCodeMode$1(e,!1):(n.setCodeMode$1(e,!0),n.setCodeModeDirection(e,v)))},u=async()=>{if(!Ha(e))return;const g=qa(e),v=JSON.stringify(g);v!==o&&(o=v,await r.fire(g))},p=async g=>{const v=e.getInstance(d.CONFIG_SOURCE_ID),c={advancedConfigs:$a(e).advancedConfigs,serverSide:await s(),user:g};v?.setAdvancedConfigs({...c.advancedConfigs,...c.user?.advancedConfigs});const y=v?.layers().user.mode;v?.replace(c.user?.mode===void 0&&y!==void 0?{...c.user,mode:y}:c.user,"user"),v?.replace(c.serverSide,"server"),await l(),await u()},h=g=>{const{commonStyles:v,...c}=g;return"commonStyles"in g&&n.setDefaultCommonStyles(e,v===void 0?void 0:v),c};return{queue:t,reactToConfig:l,emitConfigChanged:u,resolveServerSideConfig:s,getConfig:()=>Ha(e)?qa(e):{},setConfig:t.decorate(async g=>{await p(h(g))}),updateConfig:t.decorate(async g=>{const v=h(g);await p({...$a(e).user,...v})}),announceAssembled(){i||(i=!0,e.getInstance(d.CONFIG_SOURCE_ID)?.ready().then(t.decorate(async()=>{await l({onlyChangedCodeMode:!0}),await u()})))}}}function Rp(e){return e.getOrCreateInstance(Tp,()=>Pp(e))}async function za(e){const t=n.getCurrentUser(e).profile;if(t)return t;const r=e.getInstance(d.STORE_ID);if(r)return(await r.dispatch(n.authorizationApi.endpoints.getMe.initiate("",{forceRefetch:!0}))).data}function xp(e){const t=n.resolveTemplateDirectivesConfig(e);if(!(Object.keys(t.output).length>0||Object.keys(t.editor).length>0))return n.createBaselinePolicy();const r=new Set(Object.keys(t.output).filter(a=>t.output[a]==="html-comment")),o=new Set(Object.keys(t.output));return{isConfigured:()=>!0,toEditorForm:a=>n.mapper.normalizeToPolicy(a,t.editor),toOutputForm:a=>n.mapper.normalizeToPolicy(a,t.output),keepWrappedOnOutput:r,editorPolicy:t.editor,warnAboutUnconfiguredInput:n.createUnconfiguredInputWarner(o)}}var Op=an(e=>{const t=n.getDisposable(e),r=at(n.getEvent(e,d.events.ON_LIMIT_ID)),o=t.addDisposable(new ot(r)),a=at(n.getEvent(e,d.events.READ_LOCALE)),i=t.addDisposable(new ot(a)),s=at(n.getEvent(e,d.events.ON_TRANSLATE_ID)),l=t.addDisposable(new ot(s)),u=Rp(e),p=e.getInstance(d.CONFIG_SOURCE_ID)?.select(A=>A.revisionService===!0).watch(A=>n.getRevisionServiceFlag(e).set(A));p&&t.addDisposable(p);const h=No();let g;const v=A=>{if(typeof A=="number")return String(A);if(typeof A=="string")return A},c=A=>{if(A!==void 0){const C=n.provideCurrentProject(e);C.set({...C.get(),requested:String(A)})}},y=async(A,C)=>{if(!A){const G=await za(e);return g=v(G?.id),{didReset:!1}}const x=await za(e),N=A.id!==void 0?v(A.id):v(x?.id),B=g!==void 0?String(g):void 0,k=N!==void 0?String(N):void 0,P=B!==void 0&&k!==void 0&&B!==k,W={...x,...n.filterUndefined(A),id:N};if(A.id===void 0&&!x?.id&&delete W.id,n.provideCurrentUser(e).set({profile:W}),P&&C){const G=e.getInstance(d.INSTANCE_ID);if(G?.reset)return await G.reset(C),{didReset:!0}}return g=k,{didReset:!1}};let _;const E=h.decorate(async({config:A={},project:C,user:x,advancedConfigs:N},B)=>{e.getInstance(d.CONFIG_SOURCE_ID)?.replace(await u.resolveServerSideConfig(),"server"),await u.reactToConfig({onlyChangedCodeMode:!0}),e.inject(d.TEMPLATE_DIRECTIVES_ID,xp(e.getInstance(d.CONFIG_SOURCE_ID)?.get()?.templateDirectives)),c(C),B&&"commonStyles"in B&&n.setDefaultCommonStyles(e,B.commonStyles===void 0?void 0:B.commonStyles);const{didReset:k}=await y(x,B)});return{setOptions:u.queue.decorate(async A=>{const{config:C={},project:x,user:N,advancedConfigs:B,handleReadLocale:k,handleLimitUsage:P,handleTranslate:W,storageProvider:G}=A;e.inject(d.STORAGE_PROVIDER_ID,G),i.setListener(k),o.setListener(P),l.setListener(W),await E({config:C,project:x,user:N,advancedConfigs:B},A).catch(me=>{}),await u.emitConfigChanged(),_&&_.dispose(),_=new d.Disposable}),instance:{}}}),Br;function Rn(){return Br===void 0&&(Br=(0,$e.__vitePreload)(()=>Promise.resolve().then(()=>fe("./static/core/4cdd6e6c.js")),void 0,{}.url).catch(e=>{throw Br=void 0,e})),Br}var xn="document.getSnapshot",Mp="document.save",Va=Symbol.for("emailmaker.legacyEmailSnapshot"),On=Symbol.for("emailmaker.legacyEmailSnapshotError");function jp(e,t){return Object.defineProperty(e,Va,{value:t})}function Lp(e){return jp({kind:"email",id:e.id==null?null:String(e.id),content:e.code??"",subject:e.subject??"",preheader:e.preheader??""},e)}function Dp(e){return{kind:"block",id:e.id==null?null:String(e.id),content:e.code??"",subject:"",preheader:""}}function Np(e,t){const r=n.getCommandRegistry(e),o={[xn]:{declaration:{title:"Get document snapshot",description:"Returns the open document: kind, id and content."},handler:async()=>{try{const s=n.peekEmailDocuments(e),l=n.isBlockSessionKey(s?.sessionKey())?await t.getBlockSnapshot():null;return n.ok(l?Dp(l):Lp(await t.readEmailSnapshot()))}catch(s){return Object.defineProperty(n.err("internal",s instanceof Error?s.message:String(s)),On,{value:s})}}},[Mp]:{declaration:{title:"Save document",description:"Saves the open document and finishes when the save is done."},handler:()=>Gp(e)}},a=new Map,i=r.commands.watch(()=>{r.disposed||Object.entries(o).forEach(([s,{declaration:l,handler:u}])=>{r.has(s)||a.set(s,r.register(n.CORE_OWNER,{[s]:l},{[s]:u}))})});return{dispose:()=>{i.dispose(),a.forEach(s=>s.dispose())}}}async function Fp(e,t){const r=await n.getCommandRegistry(e).run(xn,void 0,{caller:"plugin"});if(r.ok===!1){if(On in r)throw r[On];return t()}return r.value[Va]}function Bp(e){return n.getCommandRegistry(e).info(xn)?.owner===n.CORE_OWNER}async function Up(e,t){const r=await new Promise(i=>{n.executeCommand(e,t,{source:n.SAVE_BUTTON_SOURCE,settle:i})});if(r.ok!==!1)return n.ok();if(r.reason==="unready")return;const o=r.reason==="locked"?"readOnly":r.reason==="aborted"?"aborted":"internal",a=n.err(o,r.message);return r.notified?Object.defineProperty(a,n.NOTIFIED,{value:!0}):a}async function Gp(e){if(n.peek(n.getWhenFacts(e))?.readOnly)return n.err("readOnly","The editor is read-only.");const t=n.peekEmailDocuments(e)?.sessionKey();if(t!==void 0){const o=n.isBlockSessionKey(t);if(n.hasSaveListener(e,o?"block":"email")){const a=await Up(e,o?n.SAVE_BLOCK_COMMAND_ID:n.SAVE_COMMAND_ID);if(a)return a}}const r=e.getInstance(d.INSTANCE_ID);if(t===void 0||!r)return n.err("unavailable","There is no open document to save.");try{return await(n.isBlockSessionKey(t)?r.saveBlock():r.save()),n.ok()}catch(o){return o instanceof n.SaveRefusedError&&o.reason==="locked"?n.err("readOnly",o.message):n.err("internal",o instanceof Error?o.message:String(o))}}var $p=class extends d.Disposable{_container;_dataSources;_currentEmail;_blockMetaWrites=Promise.resolve();constructor(e){super(),this._container=e,this._dataSources=n.getDataSources(e),this.addDisposable(d.getEvent(e,d.events.ON_EMAIL_CHANGED_ID)(t=>{this._currentEmail=t})),this.addDisposable(Np(e,this))}openEmail(){const e=n.peekEmailDocuments(this._container);if(e&&n.isBlockSessionKey(e.sessionKey())&&!e.hasSuspended())throw new Error("[emailmaker] no open email: only a block is shown");return n.getOpenEmail(this._container,this._currentEmail)}async getBlocks(){const e=await this._readProjectBlocks();return await this._blockMetaWrites,(await this._dataSources.blocks.cache.values()).filter(t=>String(t.project)===String(e)).map(t=>Do(t,this._container))}async _readProjectBlocks(){const e=await n.getBlocksProject(this._container);return await this._dataSources.blocks.byForeignKey("project").get(e),e}async getComments(){const{cache:e}=this._dataSources.comments,t=await this.readEmailSnapshot();return(await e.values()).filter(r=>r.post===t.id).map(r=>Lu(r,this._container))}async getEmailRevisions(){const{cache:e}=this._dataSources.emailRevisions,t=await this.readEmailSnapshot();return(await e.values()).filter(r=>r.parent===t.id).map(r=>Du(r,this._container))}async getEmailSnapshot(){return n.isBlockSessionKey(n.peekEmailDocuments(this._container)?.sessionKey())||!Bp(this._container)?this.readEmailSnapshot():Fp(this._container,()=>this.readEmailSnapshot())}async readEmailSnapshot(){return ps(this.openEmail(),this._container)}async getBlockSnapshot(){const e=n.peekEmailDocuments(this._container),t=e?.current();return!e||!t||!n.isBlockSessionKey(e.sessionKey())?null:(await t.whenReady(),Do(n.snapshotBlock(t),this._container))}setEmailMeta(e){const t=n.getOpenDocument(this._container);if(!t)return;const r=t.get().attributes.meta;n.writeEmailAttributes(t,{meta:n.applyMetaPatch({meta:r},e).meta});const o=t.get().serverId;o!=null&&this._dataSources.emails.cache.addOrUpdate(o,a=>a&&n.applyMetaPatch(a,e))}setBlockMeta(e,t){const r=n.peekEmailDocuments(this._container);if(r?.sessionKey()===n.blockSessionKey(e)){const a=r.current();a&&n.writeEmailAttributes(a,{meta:n.applyMetaPatch({meta:a.get().attributes.meta},t).meta})}const o=async()=>{await this._readProjectBlocks();const{cache:a}=this._dataSources.blocks;await a.getIfPresent(e)&&await a.addOrUpdate(e,i=>i&&n.applyMetaPatch(i,t))};this._blockMetaWrites=this._blockMetaWrites.then(o).catch(()=>{})}getCodeErrors(){return n.hasCheckedCode(this._container)?n.getCodeErrors(this._container):void 0}},qp=d.createIdentifier$1("EmailDataController");function Hp(e){return e.getOrCreateInstance(qp,()=>{const t=new $p(e);return e.getInstance(d.DISPOSABLE_ID)?.addDisposable(t),t})}var zp=class{_container;_data;constructor(e){this._container=e,this._data=Hp(e)}async getEmail(e=!0){return this.compile(e)}async compileEmail(e=!0){return this.compile(e)}async compile(e){const{compileEmail:t}=await Rn();return t(await this._data.getEmailSnapshot(),e,n.getTemplateDirectivesPolicy(this._container).keepWrappedOnOutput)}async validateCode(){return fo(this._data.openEmail().html??"")}};function Wa(){Rn().catch(()=>{})}function Vp(e){const t=n.provideHeadlessMode(e).watch(r=>{r&&Wa()});e.getInstance(d.DISPOSABLE_ID)?.addDisposable(t),n.getEditorVisible(e).whenVisible(()=>{n.whenIdle(Wa)})}var Wp=d.createIdentifier$1("EmailOperationsController");function Ka(e){return e.getOrCreateInstance(Wp,()=>new zp(e))}function Kp(e){Ka(e),Vp(e)}function Yp(e){const t=Ka(e);return{getEmail:()=>t.getEmail(),async compileEmail(r,o=!0){if(!r)return t.compileEmail(o);const{compileEmail:a}=await Rn();return a(r,o,n.getTemplateDirectivesPolicy(e).keepWrappedOnOutput)},validateCode:()=>t.validateCode()}}var Qp=d.defineMixin(e=>{const t=e.getInstance(d.DISPOSABLE_ID),r=d.getEvent(e,d.events.UPLOAD_EVENT_ID),o=d.getEvent(e,d.events.FILE_PROXY_EVENT_ID),a=d.getEmitter(e,d.events.PROXY_URL_EVENT_ID).event,i=at(r),s=at(a),l=at(o),u=t.addDisposable(new ot(i)),p=t.addDisposable(new ot(l)),h=t.addDisposable(new ot(s));return{setOptions(g){u.setListener(g.handleLoadImage),p.setListener(g.handleFileProxy),h.setListener(g.handleUrlProxy)},instance:{}}}),Jp=d.defineMixin(e=>{const t=e.getInstance(d.DISPOSABLE_ID),r=d.getEvent(e,d.events.AI_TEXT_REQUEST_ID),o=d.getEvent(e,d.events.AI_IMAGE_REQUEST_ID),a=at(r),i=at(o),s=t.addDisposable(new ot(a)),l=t.addDisposable(new ot(i));return{setOptions(u){s.setListener(u.handleAITextRequest),l.setListener(u.handleAIImageRequest)},instance:{}}});function Og(e){return e}var Xp=class extends Error{cycle;constructor(e){super(`[units] цикл в зависимостях: ${e.join(" → ")}`),this.cycle=e}};function Zp(e){const t=new Map;for(const r of e)for(const o of r.provides??[]){const a=t.get(o)??[];a.push(r),t.set(o,a)}return t}function ef(e,t){const r=[];for(const o of e.awaits?.services??[])for(const a of t.get(o)??[])a!==e&&r.push(a);return r}function tf(e){const t=Zp(e),r=[],o=new Set,a=[],i=new Set,s=l=>{if(!o.has(l)){if(i.has(l)){const u=a.indexOf(l);throw new Xp([...a.slice(u),l].map(p=>p.name))}i.add(l),a.push(l);for(const u of ef(l,t))s(u);a.pop(),i.delete(l),o.add(l),r.push(l)}};for(const l of e)s(l);return r}var rf="author,slug,date,modified,title,meta,acf.html,acf.common_styles,id,parent,date_gmt",nf="author,slug,date,modified,modified_gmt,title,meta,acf.html,acf.common_styles,id,parent";function Ya(e){return typeof e=="string"&&e?`${e.replace(/Z$/,"")}Z`:void 0}function of(e){return!!e?.acf?.html}var af=20,Mn=[d.WpEmailApi];function Tt(e,t){return t?.wpId==null?e:String(t.wpId)}function sf(e,t={}){return{async readRevisions(r,o=1,a){const i=await d.getApi(e,Mn).email_revisions_list({parent:Tt(r,a),per_page:af,page:o},{extraQuery:{_fields:rf}}),s=(i?.data??[]).filter(of).map(u=>n.WpEmailRevisionToEmailRevision(u)),l=Number(i?.headers?.get("X-WP-TotalPages"));return{revisions:s,page:o,hasMore:Number.isFinite(l)&&o<l}},async readAutosave(r,o){const a=d.getApi(e,Mn),i=Tt(r,o),[s,l,u]=await Promise.all([a.email_autosaves_list({id:i},{extraQuery:{_fields:nf}}),t.readSavedAt?.(r),t.readSavedAt?void 0:a.email_detail({id:i},{extraQuery:{_fields:"modified_gmt"}})]),p=(s?.data??[]).map(v=>{const c=v,y=n.WpEmailRevisionToEmailRevision(c),_=Ya(c.modified_gmt);return _?{...y,modified:_}:y}),h=Date.parse(Ya(u?.data?.modified_gmt)??""),g=t.readSavedAt?l:h;return n.autosaveStateFromSlots(p,Number.isFinite(g)?g:void 0)},async saveAutosave(r,o,a){const i=n.autosaveBody(o),s=await n.wpProjectNumber(e,i.project),l=await d.getApi(e,Mn).email_autosaves_create({id:Tt(r,a)},n.EmailAutoSaveToWpEmailAutoSave({...i,project:s}),{type:d.ContentType.FormData});return n.WpEmailRevisionToEmailRevision(l?.data)}}}var lf="author,slug,date,modified,title,acf.html,id,parent,date_gmt",cf="author,slug,date,modified,modified_gmt,title,acf.html,id,parent",uf=20,jn=[d.WpEblockApi];function Qa(e){return typeof e=="string"&&e?`${e.replace(/Z$/,"")}Z`:void 0}function df(e,t={}){return{async readRevisions(r,o=1,a){const i=await d.getApi(e,jn).eblock_revisions_list({parent:Tt(r,a),per_page:uf,page:o},{extraQuery:{_fields:lf}}),s=(i?.data??[]).map(u=>n.WpBlockRevisionToBlockRevision(u)),l=Number(i?.headers?.get("X-WP-TotalPages"));return{revisions:s,page:o,hasMore:Number.isFinite(l)&&o<l}},async readAutosave(r,o){const a=d.getApi(e,jn),i=Tt(r,o),[s,l,u]=await Promise.all([a.eblock_autosaves_list({id:i},{extraQuery:{_fields:cf}}),t.readSavedAt?.(r),t.readSavedAt?void 0:a.eblock_detail({id:i},{extraQuery:{_fields:"modified_gmt"}})]),p=(s?.data??[]).map(v=>{const c=v,y=n.WpBlockRevisionToBlockRevision(c),_=Qa(c.modified_gmt);return _?{...y,modified:_}:y}),h=Date.parse(Qa(u?.data?.modified_gmt)??""),g=t.readSavedAt?l:h;return n.autosaveStateFromSlots(p,Number.isFinite(g)?g:void 0)},async saveAutosave(r,o,a){const i=o,s=i.global_block&&i.html?n.injectEmBlockIdIntoBlockHtml(i.html,Tt(r,a)):i.html??"";n.writePendingData(n.blockPendingKey(r),{sentAt:Date.now(),html:s,common_styles:""});const l=await d.getApi(e,jn).eblock_autosaves_create({id:Tt(r,a)},n.BlockAutoSaveToWpBlockAutoSave({title:i.title,html:s,project:await n.wpProjectNumber(e,i.project),excerpt:new Date().toISOString()}),{type:d.ContentType.FormData});return n.WpBlockRevisionToBlockRevision(l?.data)}}}function mf(e){return e&&typeof e=="object"&&"data"in e?e.data:e}function pf(e){const t=e?.message;return typeof t=="string"&&t.trim()?t:void 0}var Ja=class extends Error{status;data;constructor(e,t,r=pf(t)??""){super(r),this.name="EmailSaveFailedError",this.status=e,this.data=t}};function Xa(e){return e?new Ja(e.status,mf(e.error)):new Ja(void 0,void 0,"network: no response")}var Za=["_embedded","id","author","title","meta","emailtags","folder","group","modified","date","type","parent","date_gmt","acf.description","acf.html","acf.common_styles","acf.is_template","acf.lock","acf.parent_email","acf.project","acf.secret_hash","acf.subject","acf.utm_parameters"].join(","),Ln=[d.WpEmailApi],ei=e=>n.EmailToWpEmail(e);function ff(e){return{async readEmail(t){const r=await d.getApi(e,Ln).email_detail({id:n.toNumberSafe(t)},{extraQuery:{_embed:"wp:term",_fields:Za}}).catch(o=>{throw o instanceof TypeError?new n.EmailOpenFailedError("unavailable",o):o});if(!r)throw new n.EmailOpenFailedError("unavailable");if(r.ok===!1)throw n.openFailureFromResponse(r);if(!r.data&&r.error)throw new n.EmailOpenFailedError("unavailable",r.error);return r.data?n.WpEmailToEmail(r.data):null},async createEmail(t){const r={status:"publish",...ei(t)},o=await d.getApi(e,Ln).email_create(r,{type:d.ContentType.Json});if(!o?.data||o.ok===!1)throw Xa(o);return n.WpEmailToEmail(o.data)},async updateEmail(t,r){const o=await d.getApi(e,Ln).email_partial_update({id:t},ei(r),{type:d.ContentType.Json,extraQuery:{_embed:"wp:term",_fields:Za}});if(!o?.data||o.ok===!1)throw Xa(o);return n.WpEmailToEmail(o.data)}}}var ti={email:ff,history:sf,blockHistory:df},hf={email:Wu,history:e=>Wo(e,"email"),blockHistory:e=>Wo(e,"block")};function gf(e){n.injectRestEmailPortFactories(e,{...ti,...n.isPluginRevisionsV2Enabled()?hf:{},template:n.isEmailStoreV2Enabled()?$u:t=>ti.email(t)})}var yf=gt.__commonJSMin(((e,t)=>{(function(r){if(typeof window>"u")return;var o=0,a,i=!1,s=!1,l=7,u="[iFrameSizer]",p=u.length,h=null,g=window.requestAnimationFrame,v=Object.freeze({max:1,scroll:1,bodyScroll:1,documentElementScroll:1}),c={},y=null,_=Object.freeze({autoResize:!0,bodyBackground:null,bodyMargin:null,bodyMarginV1:8,bodyPadding:null,checkOrigin:!0,inPageLinks:!1,enablePublicMethods:!0,heightCalculationMethod:"bodyOffset",id:"iFrameResizer",interval:32,license:"1jqr0si6pnt",log:!1,maxHeight:1/0,maxWidth:1/0,minHeight:0,minWidth:0,mouseEvents:!0,resizeFrom:"parent",scrolling:!1,sizeHeight:!0,sizeWidth:!1,warningTimeout:5e3,tolerance:0,widthCalculationMethod:"scroll",onClose:function(){return!0},onClosed:function(){},onInit:function(){},onMessage:function(){G("onMessage function not defined")},onMouseEnter:function(){},onMouseLeave:function(){},onResized:function(){},onScroll:function(){return!0}});function E(){return window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver}function A(w,b,I){w.addEventListener(b,I,!1)}function C(w,b,I){w.removeEventListener(b,I,!1)}function x(){for(var w=["moz","webkit","o","ms"],b=0;b<w.length&&!g;b+=1)g=window[w[b]+"RequestAnimationFrame"];g?g=g.bind(window):P("setup","RequestAnimationFrame not supported")}function N(w){var b="Host page: "+w;return window.top!==window.self&&(b=window.parentIFrame&&window.parentIFrame.getId?window.parentIFrame.getId()+": "+w:"Nested host page: "+w),b}function B(w){return u+"["+N(w)+"]"}function k(w){return c[w]?c[w].log:i}function P(w,b){me("log",w,b,k(w))}function W(w,b){me("info",w,b,k(w))}function G(w,b){me("warn",w,b,!0)}function me(w,b,I,R){R===!0&&window.console}function ce(w){function b(){function D(){_e(de),ue(Y),it("onResized",de)}S("Height"),S("Width"),Ne(D,de,"init")}function I(){var D=We.slice(p).split(":"),K=D[1]?parseInt(D[1],10):0,Ee=c[D[0]]&&c[D[0]].iframe,Se=getComputedStyle(Ee);return{iframe:Ee,id:D[0],height:K+R(Se)+j(Se),width:D[2],type:D[3]}}function R(D){return D.boxSizing!=="border-box"?0:(D.paddingTop?parseInt(D.paddingTop,10):0)+(D.paddingBottom?parseInt(D.paddingBottom,10):0)}function j(D){return D.boxSizing!=="border-box"?0:(D.borderTopWidth?parseInt(D.borderTopWidth,10):0)+(D.borderBottomWidth?parseInt(D.borderBottomWidth,10):0)}function S(D){var K=Number(c[Y]["max"+D]),Ee=Number(c[Y]["min"+D]),Se=D.toLowerCase(),He=Number(de[Se]);P(Y,"Checking "+Se+" is in range "+Ee+"-"+K),He<Ee&&(He=Ee,P(Y,"Set "+Se+" to min value")),He>K&&(He=K,P(Y,"Set "+Se+" to max value")),de[Se]=""+He}function M(){function D(){function Se(){var we=0,et=!1;for(P(Y,"Checking connection is from allowed list of origins: "+Ee);we<Ee.length;we++)if(Ee[we]===K){et=!0;break}return et}function He(){var we=c[Y]&&c[Y].remoteHost;return P(Y,"Checking connection is from: "+we),K===we}return Ee.constructor===Array?Se():He()}var K=w.origin,Ee=c[Y]&&c[Y].checkOrigin;if(Ee&&""+K!="null"&&!D())throw new Error("Unexpected message received from: "+K+" for "+de.iframe.id+". Message was: "+w.data+". This error can be disabled by setting the checkOrigin: false option or by providing of array of trusted domains.");return!0}function z(){return u===(""+We).slice(0,p)&&We.slice(p).split(":")[0]in c}function re(){var D=de.type in{true:1,false:1,undefined:1};return D&&P(Y,"Ignoring init message from meta parent page"),D}function ne(D){return We.slice(We.indexOf(":")+l+D)}function be(D){P(Y,"onMessage passed: {iframe: "+de.iframe.id+", message: "+D+"}"),it("onMessage",{iframe:de.iframe,message:JSON.parse(D)}),P(Y,"--")}function Te(){var D=document.body.getBoundingClientRect(),K=de.iframe.getBoundingClientRect();return JSON.stringify({iframeHeight:K.height,iframeWidth:K.width,clientHeight:Math.max(document.documentElement.clientHeight,window.innerHeight||0),clientWidth:Math.max(document.documentElement.clientWidth,window.innerWidth||0),offsetTop:parseInt(K.top-D.top,10),offsetLeft:parseInt(K.left-D.left,10),scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,documentHeight:document.documentElement.clientHeight,documentWidth:document.documentElement.clientWidth,windowHeight:window.innerHeight,windowWidth:window.innerWidth})}function Xe(D,K){function Ee(){ae("Send Page Info","pageInfo:"+Te(),D,K)}ie(Ee,32,K)}function rt(){function D(He,we){function et(){c[Se]?Xe(c[Se].iframe,Se):K()}["scroll","resize"].forEach(function(Pt){P(Se,He+Pt+" listener for sendPageInfo"),we(window,Pt,et)})}function K(){D("Remove ",C)}function Ee(){D("Add ",A)}var Se=Y;Ee(),c[Se]&&(c[Se].stopPageInfo=K)}function Le(){c[Y]&&c[Y].stopPageInfo&&(c[Y].stopPageInfo(),delete c[Y].stopPageInfo)}function U(){var D=!0;return de.iframe===null&&(G(Y,"IFrame ("+de.id+") not found"),D=!1),D}function L(D){var K=D.getBoundingClientRect();return Q(Y),{x:Math.floor(Number(K.left)+Number(h.x)),y:Math.floor(Number(K.top)+Number(h.y))}}function F(D){function K(){h=we,ee(),P(Y,"--")}function Ee(){return{x:Number(de.width)+He.x,y:Number(de.height)+He.y}}function Se(){window.parentIFrame?window.parentIFrame["scrollTo"+(D?"Offset":"")](we.x,we.y):G(Y,"Unable to scroll to requested position, window.parentIFrame not found")}var He=D?L(de.iframe):{x:0,y:0},we=Ee();P(Y,"Reposition requested from iFrame (offset x:"+He.x+" y:"+He.y+")"),window.top===window.self?K():Se()}function ee(){it("onScroll",h)===!1?Ce():ue(Y)}function Ve(D){function K(){var et=L(we);P(Y,"Moving to in page link (#"+Se+") at x: "+et.x+" y: "+et.y),h={x:et.x,y:et.y},ee(),P(Y,"--")}function Ee(){window.parentIFrame?window.parentIFrame.moveToAnchor(Se):P(Y,"In page link #"+Se+" not found and window.parentIFrame not found")}var Se=D.split("#")[1]||"",He=decodeURIComponent(Se),we=document.getElementById(He)||document.getElementsByName(He)[0];we?K():window.top===window.self?P(Y,"In page link #"+Se+" not found"):Ee()}function Je(D){var K={};if(Number(de.width)===0&&Number(de.height)===0){var Ee=ne(9).split(":");K={x:Ee[1],y:Ee[0]}}else K={x:de.width,y:de.height};it(D,{iframe:de.iframe,screenX:Number(K.x),screenY:Number(K.y),type:de.type})}function it(D,K){return oe(Y,D,K)}function St(){switch(c[Y]&&c[Y].firstRun&&wt(),de.type){case"close":te(de.iframe);break;case"message":be(ne(6));break;case"mouseenter":Je("onMouseEnter");break;case"mouseleave":Je("onMouseLeave");break;case"autoResize":c[Y].autoResize=JSON.parse(ne(9));break;case"scrollTo":F(!1);break;case"scrollToOffset":F(!0);break;case"pageInfo":Xe(c[Y]&&c[Y].iframe,Y),rt();break;case"pageInfoStop":Le();break;case"inPageLink":Ve(ne(9));break;case"reset":Pe(de);break;case"init":b(),it("onInit",de.iframe);break;default:Number(de.width)===0&&Number(de.height)===0?G("Unsupported message received ("+de.type+"), this is likely due to the iframe containing a later version of iframe-resizer than the parent page"):b()}}function Ze(D){var K=!0;return c[D]||(K=!1,G(de.type+" No settings for "+D+". Message was: "+We)),K}function ut(){for(var D in c)ae("iFrame requested init",Ae(D),c[D].iframe,D)}function wt(){c[Y]&&(c[Y].firstRun=!1)}var We=w.data,de={},Y=null;We==="[iFrameResizerChild]Ready"?ut():z()?(de=I(),Y=de.id,c[Y]&&(c[Y].loaded=!0),!re()&&Ze(Y)&&(P(Y,"Received: "+We),U()&&M()&&St())):W(Y,"Ignored: "+We)}function oe(w,b,I){var R=null,j=null;if(c[w])if(R=c[w][b],typeof R=="function")j=R(I);else throw new TypeError(b+" on iFrame["+w+"] is not a function");return j}function pe(w){var b=w.id;delete c[b]}function te(w){var b=w.id;if(oe(b,"onClose",b)===!1){P(b,"Close iframe cancelled by onClose event");return}P(b,"Removing iFrame: "+b);try{w.parentNode&&w.parentNode.removeChild(w)}catch(I){G(I)}oe(b,"onClosed",b),P(b,"--"),pe(w),a&&(a.disconnect(),a=null)}function Q(w){h===null&&(h={x:window.pageXOffset===r?document.documentElement.scrollLeft:window.pageXOffset,y:window.pageYOffset===r?document.documentElement.scrollTop:window.pageYOffset},P(w,"Get page position: "+h.x+","+h.y))}function ue(w){h!==null&&(window.scrollTo(h.x,h.y),P(w,"Set page position: "+h.x+","+h.y),Ce())}function Ce(){h=null}function Pe(w){function b(){_e(w),ae("reset","reset",w.iframe,w.id)}P(w.id,"Size reset requested by "+(w.type==="init"?"host page":"iFrame")),Q(w.id),Ne(b,w,"reset")}function _e(w){function b(S){if(!w.id){P("undefined","messageData id not set");return}w.iframe.style[S]=w[S]+"px",P(w.id,"IFrame ("+j+") "+S+" set to "+w[S]+"px")}function I(S){!s&&w[S]==="0"&&(s=!0,P(j,"Hidden iFrame detected, creating visibility listener"),X())}function R(S){b(S),I(S)}var j=w.iframe.id;c[j]&&(c[j].sizeHeight&&R("height"),c[j].sizeWidth&&R("width"))}function Ne(w,b,I){I!==b.type&&g&&!window.jasmine?(P(b.id,"Requesting animation frame"),g(w)):w()}function ae(w,b,I,R,j){function S(){var be=c[R]&&c[R].targetOrigin;P(R,"["+w+"] Sending msg to iframe["+R+"] ("+b+") targetOrigin: "+be),I.contentWindow.postMessage(u+b,be)}function M(){G(R,"["+w+"] IFrame("+R+") not found")}function z(){I&&"contentWindow"in I&&I.contentWindow!==null?S():M()}function re(){function be(){c[R]&&!c[R].loaded&&!ne&&(ne=!0,G(R,"IFrame has not responded within "+c[R].warningTimeout/1e3+" seconds. Check iFrameResizer.contentWindow.js has been loaded in iFrame. This message can be ignored if everything is working, or you can set the warningTimeout option to a higher value or zero to suppress this warning."))}j&&c[R]&&c[R].warningTimeout&&(c[R].msgTimeout=setTimeout(be,c[R].warningTimeout))}var ne=!1;R=R||I.id,c[R]&&(z(),re())}function Ae(w){return w+":"+c[w].bodyMarginV1+":"+c[w].sizeWidth+":"+c[w].log+":"+c[w].interval+":"+c[w].enablePublicMethods+":"+c[w].autoResize+":"+c[w].bodyMargin+":"+c[w].heightCalculationMethod+":"+c[w].bodyBackground+":"+c[w].bodyPadding+":"+c[w].tolerance+":"+c[w].inPageLinks+":"+c[w].resizeFrom+":"+c[w].widthCalculationMethod+":"+c[w].mouseEvents}function ge(w){return typeof w=="number"}function Me(w,b){function I(){function F(Ve){var Je=c[L][Ve];Je!==1/0&&Je!==0&&(w.style[Ve]=ge(Je)?Je+"px":Je,P(L,"Set "+Ve+" = "+w.style[Ve]))}function ee(Ve){if(c[L]["min"+Ve]>c[L]["max"+Ve])throw new Error("Value for min"+Ve+" can not be greater than max"+Ve)}ee("Height"),ee("Width"),F("maxHeight"),F("minHeight"),F("maxWidth"),F("minWidth")}function R(){var F=b&&b.id||_.id+o++;return document.getElementById(F)!==null&&(F+=o++),F}function j(F){if(typeof F!="string")throw new TypeError("Invaild id for iFrame. Expected String");return F===""&&(w.id=F=R(),i=(b||{}).log,P(F,"Added missing iframe ID: "+F+" ("+w.src+")")),F}function S(){switch(P(L,"IFrame scrolling "+(c[L]&&c[L].scrolling?"enabled":"disabled")+" for "+L),w.style.overflow=(c[L]&&c[L].scrolling)===!1?"hidden":"auto",c[L]&&c[L].scrolling){case"omit":break;case!0:w.scrolling="yes";break;case!1:w.scrolling="no";break;default:w.scrolling=c[L]?c[L].scrolling:"no"}}function M(){(typeof(c[L]&&c[L].bodyMargin)=="number"||(c[L]&&c[L].bodyMargin)==="0")&&(c[L].bodyMarginV1=c[L].bodyMargin,c[L].bodyMargin=""+c[L].bodyMargin+"px")}function z(){var F=c[L]&&c[L].firstRun,ee=c[L]&&c[L].heightCalculationMethod in v;!F&&ee&&Pe({iframe:w,height:0,width:0,type:"init"})}function re(){c[L]&&(c[L].iframe.iFrameResizer={close:te.bind(null,c[L].iframe),removeListeners:pe.bind(null,c[L].iframe),resize:ae.bind(null,"Window resize","resize",c[L].iframe),moveToAnchor:function(F){ae("Move to anchor","moveToAnchor:"+F,c[L].iframe,L)},sendMessage:function(F){F=JSON.stringify(F),ae("Send Message","message:"+F,c[L].iframe,L)}})}function ne(F){function ee(){ae("iFrame.onload",F,w,r,!0),z()}function Ve(it){if(!w.parentNode)return null;var St=new it(function(Ze){Ze.forEach(function(ut){Array.prototype.slice.call(ut.removedNodes).forEach(function(wt){wt===w&&te(w)})})});return St.observe(w.parentNode,{childList:!0}),St}var Je=E();Je&&(a=Ve(Je)),A(w,"load",ee),ae("init",F,w,r,!0)}function be(F){if(typeof F!="object")throw new TypeError("Options is not an object")}function Te(F){for(var ee in _)Object.prototype.hasOwnProperty.call(_,ee)&&(c[L][ee]=Object.prototype.hasOwnProperty.call(F,ee)?F[ee]:_[ee])}function Xe(F){return F===""||F.match(/^(about:blank|javascript:|file:\/\/)/)!==null?"*":F}function rt(F){var ee=F.split("Callback");if(ee.length===2){var Ve="on"+ee[0].charAt(0).toUpperCase()+ee[0].slice(1);this[Ve]=this[F],delete this[F],G(L,"Deprecated: '"+F+"' has been renamed '"+Ve+"'. The old method will be removed in the next major version.")}}function Le(F){F=F||{},c[L]=Object.create(null),c[L].iframe=w,c[L].firstRun=!0,c[L].remoteHost=w.src&&w.src.split("/").slice(0,3).join("/"),be(F),Object.keys(F).forEach(rt,F),Te(F),c[L]&&(c[L].targetOrigin=c[L].checkOrigin===!0?Xe(c[L].remoteHost):"*")}function U(){return L in c&&"iFrameResizer"in w}var L=j(w.id);U()?G(L,"Ignored iFrame, already setup."):(Le(b),S(),I(),M(),ne(Ae(L)),re())}function ze(w,b){y===null&&(y=setTimeout(function(){y=null,w()},b))}var Ge={};function ie(w,b,I){Ge[I]||(Ge[I]=setTimeout(function(){Ge[I]=null,w()},b))}function X(){function w(){function j(S){function M(re){return(c[S]&&c[S].iframe.style[re])==="0px"}function z(re){return re.offsetParent!==null}c[S]&&z(c[S].iframe)&&(M("height")||M("width"))&&ae("Visibility change","resize",c[S].iframe,S)}Object.keys(c).forEach(function(S){j(S)})}function b(j){P("window","Mutation observed: "+j[0].target+" "+j[0].type),ze(w,16)}function I(){var j=document.querySelector("body");new R(b).observe(j,{attributes:!0,attributeOldValue:!1,characterData:!0,characterDataOldValue:!1,childList:!0,subtree:!0})}var R=E();R&&I()}function se(w){function b(){je("Window "+w,"resize")}P("window","Trigger event: "+w),ze(b,16)}function le(){function w(){je("Tab Visible","resize")}document.visibilityState!=="hidden"&&(P("document","Trigger event: Visibility change"),ze(w,16))}function je(w,b){function I(R){return c[R]&&c[R].resizeFrom==="parent"&&c[R].autoResize&&!c[R].firstRun}Object.keys(c).forEach(function(R){I(R)&&ae(w,b,c[R].iframe,R)})}function Ie(){A(window,"message",ce),A(window,"resize",function(){se("resize")}),A(document,"visibilitychange",le),A(document,"-webkit-visibilitychange",le)}function Fe(){function w(R,j){function S(){if(j.tagName){if(j.tagName.toUpperCase()!=="IFRAME")throw new TypeError("Expected <IFRAME> tag, found <"+j.tagName+">")}else throw new TypeError("Object is not a valid DOM element")}j&&(S(),Me(j,R),I.push(j))}function b(R){R&&R.enablePublicMethods&&G("enablePublicMethods option has been removed, public methods are now always available in the iFrame")}var I;return x(),Ie(),function(j,S){switch(I=[],b(j),typeof S){case"undefined":case"string":Array.prototype.forEach.call(document.querySelectorAll(S||"iframe"),w.bind(r,j));break;case"object":w(j,S);break;default:throw new TypeError("Unexpected data type ("+typeof S+")")}return I}}function Be(w){w.fn?w.fn.iFrameResize||(w.fn.iFrameResize=function(I){function R(j,S){Me(S,I)}return this.filter("iframe").each(R).end()}):W("","Unable to bind to jQuery, it is not fully loaded.")}window.jQuery!==r&&Be(window.jQuery),typeof define=="function"&&define.amd?define([],Fe):typeof t=="object"&&typeof t.exports=="object"&&(t.exports=Fe()),window.iFrameResize=window.iFrameResize||Fe()})()})),vf=gt.__toESM(yf()),_f={checkOrigin:!1,minHeight:600,scrolling:!1,resizeFrom:"child"};function bf(e,t){const r=e.getRootNode(),o=typeof r.getElementById=="function"?r.getElementById(t):null;if(o&&o!==e)return;const a=e.getAttribute("id");e.id=t;try{e.iFrameResizer?.removeListeners?.()}finally{a===null?e.removeAttribute("id"):e.id=a}}function Ef(e){const t=()=>e.iFrameResizer;(0,vf.default)(_f,e);const r=e.id;return{resize:()=>t()?.resize?.(),dispose:()=>{bf(e,r),delete e.iFrameResizer}}}function Sf(e){e.inject(n.CANVAS_RESIZER_BINDER_ID,Ef)}function wf(e){const t=n.getMessageService(e),r=e.getInstance(n.LOCALE_SERVICE_ID);if(!r)return;let o="",a;const i=()=>{const u=r.snapshot(),p=u.id??"";if(!t.isInited()||p===o&&u.catalog===a)return;const h=n.createI18n(u.catalog),g=c=>h.__(c),v=n.SANDBOX_TRANSLATIONS_MAP(g);o=p,a=u.catalog,t.send(n.EVENT_TYPES.SANDBOX_TRANSLATIONS,{name:p,data:v})},s=t.onInit(()=>{o="",a=void 0,i()}),l=r.state.watch(i);e.getInstance(d.DISPOSABLE_ID)?.addDispose(()=>{s.dispose(),l.dispose()})}function kf(e){const t=e?.content?.templateId;return t==null||t===""?void 0:String(t)}function Af(e){e.getInstance(d.OPTIONS_SOURCE_ID)?.watch(t=>{const r=kf(t);r!==void 0&&Gu(e,r)})}var Dn={en_US:()=>(0,$e.__vitePreload)(()=>Promise.resolve().then(()=>fe("./static/core/d833a29f.js")),void 0,{}.url),ru_RU:()=>(0,$e.__vitePreload)(()=>Promise.resolve().then(()=>fe("./static/core/281afc68.js")).then(e=>e.ru_RU_exports),void 0,{}.url),uk_UA:()=>(0,$e.__vitePreload)(()=>Promise.resolve().then(()=>fe("./static/core/27986c36.js")),void 0,{}.url),es_ES:()=>(0,$e.__vitePreload)(()=>Promise.resolve().then(()=>fe("./static/core/27599903.js")),void 0,{}.url),pt_BR:()=>(0,$e.__vitePreload)(()=>Promise.resolve().then(()=>fe("./static/core/81cc5690.js")),void 0,{}.url),de_DE:()=>(0,$e.__vitePreload)(()=>Promise.resolve().then(()=>fe("./static/core/489390a3.js")),void 0,{}.url),fr_FR:()=>(0,$e.__vitePreload)(()=>Promise.resolve().then(()=>fe("./static/core/67cc6cb2.js")),void 0,{}.url),it_IT:()=>(0,$e.__vitePreload)(()=>Promise.resolve().then(()=>fe("./static/core/7601732d.js")),void 0,{}.url),pl_PL:()=>(0,$e.__vitePreload)(()=>Promise.resolve().then(()=>fe("./static/core/9a7e933e.js")),void 0,{}.url)};async function Cf(e){const t=Dn[e];if(!t){const r=Dn.en_US;return r?(await r()).default:void 0}return(await t()).default}var Mg=Object.keys(Dn),If=e=>e==="uk"?"uk_UA":e;function Tf(e){e.getInstance(n.LOCALE_SERVICE_ID)?.useAntdLoader(t=>Cf(If(t)))}var ri={id:"ru_RU",time:1793358954,hash:"156a02d1779b4cf87b502dfcb079d1d2659509c8636b089fa9048a57c0cc232f",catalog:JSON.parse(`{"":{"domain":"default","lang":"ru_RU","plural_forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10 >= 2 && n%10<=4 &&(n%100<10||n%100 >= 20)? 1 : 2);"}," Add section":["Добавить раздел"]," email was":["письмо","письма","писем"]," from the project successfully.":["из проекта."]," successfully imported.":["импортировано."],"\\" email?":["»?"],"\\" was successfully created.":["\\" создано."],"\\" was successfully removed.":["» удалён."],"%d block removed.":["Удалён %d блок.","Удалено %d блока.","Удалено %d блоков."],"%d day":["%d день","%d дня","%d дней"],"%d day left":["%d день остался","%d дня осталось","%d дней осталось"],"%d email removed.":["Удалено %d письмо.","Удалено %d письма.","Удалено %d писем."],"%s plan":["Тариф %s"],"+0:00 London, Lisbon, Dublin":["+0:00 Лондон, Лиссабон, Дублин"],"+10:00 Sydney, Melbourne, Port Moresby":["+10:00 Сидней, Мельбурн, Порт-Морсби"],"+11:00 Honiara, Nuku'alofa, Apia":["+11:00 Хониара, Нукуалофа, Апиа"],"+1:00 Paris, Berlin, Rome":["+1:00 Париж, Берлин, Рим"],"+2:00 Athens, Kiev, Istanbul":["+2:00 Афины, Киев, Стамбул"],"+3:00 Istanbul, Doha, Baghdad":["+3:00 Москва, Санкт-Петербург, Киев"],"+4:00 Baku, Dubai, Tbilisi":["+4:00 Баку, Дубай, Тбилиси"],"+5:00 Karachi, Tashkent, Islamabad":["+5:00 Екатеринбург, Ташкент, Исламабад"],"+6:00 Almaty, Dhaka, Bishkek":["+6:00 Алматы, Дакка, Омск"],"+7:00 Bangkok, Ho Chi Minh City, Jakarta":["+7:00 Бангкок, Хошимин, Джакарта"],"+8:00 Beijing, Hong Kong, Singapore":["+8:00 Пекин, Гонконг, Сингапур"],"+9:00 Tokyo, Seoul, Jayapura":["+9:00 Токио, Сеул, Якутск"],"-10:00 Honolulu, Anchorage":["-10:00 Гонолулу, Анкоридж"],"-11:00 Pago Pago, Midway Atoll":["- 11:00 Паго-Паго, атолл Мидуэй"],"-12:00 Apia":["-12:00 Апиа"],"-1:00 Azores, Cape Verde":["-1:00 Азорские острова, Кабо-Верде"],"-2:00 South Georgia, Saint Helena":["-2:00 Южная Джорджия, остров Святой Елены"],"-3:00 Buenos Aires, Santiago, Montevideo":["-3:00 Буэнос-Айрес, Сантьяго, Монтевидео"],"-4:00 Caracas, Santo Domingo":["-4:00 Каракас, Санто-Доминго"],"-5:00 New York, Toronto, Havana":["-5:00 Нью-Йорк, Торонто, Гавана"],"-6:00 Mexico City, Guadalajara":["-6:00 Мехико, Гвадалахара"],"-7:00 Denver, Phoenix":["-7:00 Денвер, Феникс"],"-8:00 Los Angeles, Vancouver":["-8:00 Лос-Анджелес, Ванкувер"],"-9:00 Anchorage, Yukon":["-9:00 Анкоридж, Юкон"],"/ month":["/ месяц"],"1000+":["1000+"],"11–50":["11–50"],"12 hours":["12 часов"],"123456, City, 1 Example St.":["123456, Город, ул. Пример, 1"],"14 days free":["14 дней бесплатно"],"1–10":["1–10"],"20 s":["20 с"],"201–500":["201–500"],"24 hours":["24 часа"],"40 s":["40 с"],"501–1000":["501–1000"],"51–200":["51–200"],"60 s":["60 с"],"<1>Upload your own templates</1> or use <2>ready-made ones</2> to create emails from blocks.":["<1>Загружайте свои шаблоны</1> или используйте <2>готовые</2> для создания писем из блоков."],"A browser extension (for example, Urban VPN Proxy or similar ad blockers/VPN tools) is injecting code into the email preview. This can corrupt your template when saving.":["Расширение браузера (например, Urban VPN Proxy или аналогичные блокировщики рекламы/VPN-сервисы) вставляет код в окно предварительного просмотра письма. Это может привести к повреждению шаблона при сохранении."],"A flexible plan tailored to your needs":["Гибкий план, разработанный с учетом ваших потребностей"],"A shareable link to this page has been copied to the clipboard.":["Ссылка на страницу предпросмотра скопирована в буфер обмена."],"A test email can be sent to a maximum of 10 addresses.":["Тестовое письмо можно отправить максимум на 10 адресов."],"A-Z":["А-Я"],"AI":["AI"],"AI Assistant":["AI Ассистент"],"AI assistant":["AI Ассистент"],"AI email generation":["AI генерация письма"],"AI image":["AI картинка"],"AI image generation":["AI генерация изображений"],"AI requests":["Запросы к ИИ"],"AMP":["AMP"],"AMP visibility":["Видимость в AMP"],"API Key":["Ключ API"],"API Token":["Токен API"],"API URL":["URL API"],"Above":["Сверху"],"Accepted formats: PNG, JPG, WEBP, SVG or GIF.":["Доступные форматы: PNG, JPG, SVG или GIF."],"Access Key ID":["Идентификатор ключа доступа"],"Access ends in %s":["Доступ закончится через %s"],"Access keys and integration":["Ключи доступа и интеграция"],"Access to the user account ends soon":["Доступ к аккаунту пользователя скоро закончится"],"Access to the user account has ended":["Доступ к аккаунту пользователя закончился"],"Accessibility":["Доступность"],"Accessibility text":["Текст для людей с ограниченными возможностями"],"Accordion":["Аккордеон"],"Account Login":["Логин"],"Account settings":["Настройки аккаунта"],"Actions with the chosen text":["Действия с выбранным текстом"],"Active":["Активен"],"Active date background color":["Цвет фона активной даты"],"Active date font":["Шрифт активной даты"],"Active sessions":["Активные сессии"],"Add a common block":["Добавить общий блок"],"Add a font file or a link to the font.":["Добавьте файл шрифта или ссылку на него."],"Add a new folder":["Добавить новую папку"],"Add a new group":["Добавить группу"],"Add a new project":["Создать проект"],"Add a note":["Добавить метку"],"Add a saved block":["Добавить сохранённый блок"],"Add a template block":["Добавить шаблонный блок"],"Add an empty block":["Добавить пустой блок"],"Add block":["Добавить блок"],"Add button":["Добавить кнопку"],"Add card":["Добавить карточку"],"Add color":["Добавить цвет"],"Add column":["Добавить колонку"],"Add first color":["Добавить первый цвет"],"Add first link":["Добавить первую ссылку"],"Add group":["Добавить группу"],"Add image":["Изображение"],"Add inline image":["Вставить картинку"],"Add paragraph":["Добавить абзац"],"Add slide":["Добавить слайд"],"Add social network":["Добавить соцсеть"],"Add social network links to use in your email templates.":["Добавьте ссылки на соцсети, чтобы использовать их в шаблонах писем."],"Add some tags":["Укажите несколько тегов"],"Add up to 10 recipients":["Добавьте до 10 получателей"],"Add value":["Добавить значение"],"Add your brand palette and reuse it in the email editor.":["Добавьте палитру бренда и используйте её в редакторе писем."],"Add your first block to the folder...":["Добавьте свой первый блок в папку..."],"Address of any S3-compatible storage, for example https://storage.example.com":["Адрес любого S3-совместимого хранилища, например https://storage.example.com"],"Adds VML markup so the background image is visible in Outlook.":["Добавляет разметку VML, чтобы фоновое изображение отображалось в Outlook."],"Adds bulletproof VML markup so the button keeps rounded corners in Outlook.":["Добавляет разметку VML, благодаря чему кнопка сохраняет закругленные углы в Outlook."],"Admin":["Админка"],"Admin sections":["Разделы админки"],"Administrator":["Администратор"],"Align bottom":["По нижнему краю"],"Align center":["По центру"],"Align left":["Влево"],"Align middle":["Посередине"],"Align right":["Вправо"],"Align top":["По верхнему краю"],"Alignments":["Выравнивание"],"All":["Все"],"All EmailMaker features are available for 14 days":["Все функции EmailMaker доступны в течение 14 дней."],"All blocks saved at this point can be found in the “Saved Blocks” section in the sidebar.":["Все сохраненные на данный момент блоки можно найти в разделе «Сохраненные блоки» на боковой панели."],"All blocks saved successfully.":["Все блоки сохранены."],"All emails sent to this address will be added to your project as a template.":["Все письма, которые придут на этот адрес, будут добавлены в ваш проект в виде шаблона"],"All folders":["Все папки"],"All roles":["Все роли"],"All sessions of the user are ended":["Все сессии пользователя завершены"],"All statuses":["Все статусы"],"Allow multiple selection":["Разрешить множественный выбор"],"Allowed protocols":["Допустимые протоколы"],"Already imported":["Уже импортировано"],"Altcraft":["Altcraft"],"Alternative text":["Альтернативный текст"],"Always":["Всегда"],"Amount":["Сумма"],"An unexpected error has occurred. Our team has already been notified. Please try reloading the page.":["Произошла непредвиденная ошибка. Наша команда уже получила уведомление. Попробуйте перезагрузить страницу."],"Anchor":["Якорь"],"Anchor links do not work in Outlook, Gmail, and several other email clients.":["Якорные ссылки не работают в Outlook, Gmail и ряде других почтовых клиентов."],"Anchor name":["Имя якоря"],"Animate":["Анимация"],"Annotation type":["Тип аннотации"],"Annotations":["Аннотации"],"Any additional details":["Любые дополнительные сведения"],"Appearance":["Внешний вид"],"Appearance on mobile devices":["Внешний вид на мобильных устройствах"],"Apply":["Применить"],"Apply horizontal padding to height":["Применить горизонтальный отступ к высоте"],"Approaching usage limit. Remaining":["Приближается предел использования. Остаток"],"Apps":["Приложения"],"Are you sure you want to delete project ":["Вы уверены, что хотите удалить проект "],"Are you sure you want to disable this integration?":["Вы уверены, что хотите отключить эту интеграцию?"],"Are you sure you want to leave the project ":["Вы уверены, что хотите покинуть проект "],"Are you sure?":["Вы уверены"],"Around":["Вокруг"],"Arrow":["Стрелка"],"Arrow color":["Цвет стрелки"],"Article":["Статьи"],"At least 8 characters in both cases, including letters, numbers, and special characters.":["Минимум 8 символов в обоих регистрах, включая буквы, цифры и специальные символы."],"At least 8 characters, including a combination of uppercase and lowercase letters, numbers, and special characters.":["Не менее 8 символов в обоих регистрах, включая буквы, цифры и специальные символы."],"At least one card needs an image and a link starting with https://":["Нужна хотя бы одна карточка с изображением и ссылкой, начинающейся с https://"],"Author":["Автор"],"Authorization error via Yandex":["Ошибка авторизации через Яндекс"],"Authorization keys":["Ключи авторизации"],"Auto":["Авто"],"Auto-payment enabled":["Автоплатёж включён"],"Auto-payment will be available once the subscription is linked in the payment system.":["Автоматическая оплата станет доступна после привязки подписки в платежной системе."],"Auto-prepend protocol on blur":["Автоматически добавлять протокол при потере фокуса"],"Autoplay":["Автозапуск"],"Autosave in editor":["Автосохранение в редакторе"],"Available formats: HTML, EML, ZIP":["Доступные форматы: HTML, EML, ZIP"],"Available until:":["Оплачен до:"],"BIK (bank ID)":["БИК"],"BIK must be 9 digits":["БИК должен состоять из 9 цифр"],"Back":["Назад"],"Back Home":["Вернуться"],"Back To Project":["Вернуться в проект"],"Back To Projects":["Вернуться к проектам"],"Back to Log In":["Вернуться к авторизации"],"Back to admin":["Вернуться в админку"],"Back to integrations":["К интеграциям"],"Back to users":["К списку пользователей"],"Background":["Фон"],"Background color":["Цвет фона"],"Background color of the contrast blocks":["Цвет фона контрастных блоков"],"Background image":["Фоновое изображение"],"Background image in Outlook (VML)":["Фоновое изображение в Outlook (VML)"],"Background image link/route":["Ссылка на фоновое изображение"],"Background image repeat":["Повтор фона"],"Background image size":["Размер фона"],"Bank account (RUB)":["Банковский счет (рубли)"],"Bank name":["Название банка"],"Banners":["Баннеры"],"Base URL for public access to files":["Базовый адрес для публичного доступа к файлам"],"Base background color":["Базовый цвет фона"],"Base colors":["Базовые цвета"],"Base path for uploading files":["Базовый путь для загрузки файлов"],"Base text color":["Базовый цвет текста"],"Before exporting the project, make sure to provide the URL where the webhook request will be sent":["Перед экспортом проекта необходимо заполнить url, на который будет отправляться запрос webHook"],"Below":["Снизу"],"Between bullets and text":["Между буллетами и текстом"],"Between list items":["Между пунктами списка"],"Billing":["Тарифы и оплата"],"Billing period":["Расчетный период"],"Black":["Чёрный"],"Black and White":["Чёрно-белые"],"Black circle":["Чёрный круг"],"Black circle outlined":["Чёрный круг обводка"],"Blank template":["Пустой шаблон"],"Block":["Блок"],"Block name":["Название блока"],"Block not yet loaded or global container not found.":["Код блока не загружен или глобальный контейнер не найден."],"Block styles":["Стили блока"],"Block user":["Заблокировать пользователя"],"Blocked":["Заблокирован"],"Blocks":["Блоки"],"Blocks background color":["Цвет фона блоков"],"Blocks not found":["Блоки не найдены."],"Blocks of this folder and its subfolders will be moved to the trash.":["Блоки папки и её подпапок уйдут в корзину."],"Blocks search":["Поиск блоков"],"Blocks storage":["Хранилище Blocks"],"Blue":["Синий"],"Blur radius":["Размытие"],"Body":["Сообщение"],"Border":["Рамка"],"Border color":["Цвет рамки"],"Border radius":["Скругление"],"Borders":["Рамка"],"Both":["Всегда"],"Bottom":["Снизу"],"Bottom Code panel":["Панель кода снизу"],"Bottom left corner":["Нижний левый угол"],"Bottom margin":["Отступ снизу"],"Bottom padding":["Отступ снизу"],"Bottom padding of the general text":["Нижний отступ у текста"],"Bottom right corner":["Нижний правый угол"],"Box shadow":["Тень"],"Broadcast successfully created!":["Выпуск успешно создан!"],"Browser":["Браузер"],"Browser extension detected":["Обнаружено расширение для браузера"],"Browser page translation (for example, Google Translate) is active. It can break the editor and cause errors when saving.":["Включена функция перевода страницы в браузере (например, Google Translate). Это может привести к сбоям в работе редактора и вызывать ошибки при сохранении."],"Browser translation detected":["Обнаружен перевод с помощью браузера"],"Bucket name":["Имя бакета"],"Build newsletters from scratch with <1>structures and elements</1>.":["Собирайте рассылки с нуля с помощью <1>структур и элементов</1>."],"Bulk saving of blocks":["Массовое сохранение блоков"],"Bullet":["Буллет"],"Bullets color":["Цвет буллетов"],"Bullets font":["Шрифт буллетов"],"Bullets size":["Размер буллетов"],"Bullets type":["Тип буллетов"],"Button":["Кнопка"],"Button background color in contrasting blocks":["Цвет фона кнопок в контрастных блоках"],"Button size":["Размер кнопки"],"Button text color in contrasting blocks":["Цвет текста кнопок в контрастных блоках"],"Buttons":["Кнопки"],"Buttons background color":["Цвет фона кнопки"],"Buttons font":["Шрифт кнопки"],"Buttons font size":["Размер текста кнопки"],"Buttons letter spacing":["Межбуквенный интервал кнопки"],"Buttons text color":["Цвет текста кнопки"],"Buy":["Купить"],"Buy generations":["Купить генерации"],"Buy image check package":["Купить пакет проверки изображений"],"Buy link check package":["Купить пакет проверки ссылок"],"Buy optimization package":["Купить пакет оптимизации"],"Buy package":["Купить пакет"],"Buy spam check package":["Купить пакет проверки на спам"],"Buy test sends package":["Купить пакет тестов"],"By card":["Картой"],"Calendar":["Календарь"],"Call to Action":["Призыв к действию"],"Campaign created. Dotdigital used your account default sender because this From email is not registered as a custom from address. Add the address in Dotdigital and export again to use it.":["Кампания создана. Dotdigital использовал отправителя по умолчанию вашей учетной записи, поскольку этот адрес электронной почты в поле «От» не зарегистрирован в качестве настраиваемого адреса отправителя. Добавьте адрес в Dotdigital и повторно экспортируйте данные, чтобы использовать его."],"Campaign successfully created!":["Кампания успешно создана!"],"Cancel":["Отмена"],"Cannot disable recurring payments":["Не удается отключить автоплатёж"],"Cannot enable recurring payments":["Не удается включить автоплатёж"],"Captcha required":["Требуется ввести капчу"],"Captcha verification failed":["Ошибка при проверке капчи"],"Caption next to checkbox":["Подпись рядом с чекбоксом"],"Caption next to options":["Подпись рядом с пунктами"],"Card":["Карточка"],"Card payment is not available for this change.":["Для данной операции оплата картой недоступна."],"Card payment is not available for this change. Use an invoice for a legal entity.":["Для данного изменения оплата картой недоступна. Для юридического лица воспользуйтесь счётом-фактурой."],"Card payment is not available for this plan change. Please contact support.":["Оплата картой недоступна при изменении тарифного плана. Пожалуйста, обратитесь в службу поддержки."],"Card payment is not available for this plan change. Use an invoice for a legal entity or contact support.":["Для данного изменения тарифного плана оплата картой недоступна. Для юридических лиц воспользуйтесь счетом-фактурой или обратитесь в службу поддержки."],"Cards":["Карточки"],"Cards view":["Карточки"],"Carousel":["Карусель"],"Case Change":["Изменение ситуации"],"Cell":["Ячейка"],"Center horizontally":["По центру"],"Center vertically":["По центру"],"Change":["Изменить"],"Change Stripo key":["Сменить ключ Stripo"],"Change folder name":["Переименовать папку"],"Change group name":["Переименовать группу"],"Change image":["Сменить изображение"],"Change name":["Переименовать"],"Change password":["Сменить пароль"],"Change plan":["Изменить тариф"],"Change role":["Изменить роль"],"Change role to Administrator":["Изменить роль на Администратор"],"Change tariff":["Сменить тариф"],"Changes are not being saved. Check your connection.":["Изменения не сохраняются. Проверьте соединение."],"Changes are not being saved: the save was rejected.":["Изменения не сохраняются: сохранение отклонено."],"Changes loaded":["Изменения загружены"],"Character limit":["Ограничение по количеству символов"],"Characters":["Символы"],"Chat support":["Чат поддержки"],"Check how your email appears across various devices and email clients.":["Проверьте, как будет выглядеть ваше письмо на разных устройствах и в разных почтовых клиентах."],"Check who and when made changes to the email template and, if necessary, restore one of the previous versions.":["Проверьте, кто и когда вносил изменения в шаблон, и при необходимости восстановите одну из предыдущих версий."],"Check your email against broken links, missing alt texts, large images, and other issues that might prevent your emails from hitting inboxes.":["Проверьте письмо на наличие неработающих ссылок, отсутствующих alt-текстов, тяжелых изображений и других препятствий, которые могут помешать вашим письмам попасть в почтовые ящики."],"Check your network connection and try again.":["Проверьте подключение к сети и попробуйте ещё раз."],"Checkbox":["Чекбокс"],"Checked":["Отмечено"],"Checked fill color":["Цвет заливки отмеченного"],"Checked icon URL":["URL иконки отмеченного"],"Choose":["Выбрать"],"Choose a payment method":["Выберите способ оплаты"],"Choose a plan":["Выбрать тариф"],"Choose allowed protocols":["Выберите разрешенные протоколы"],"Choose block type":["Выберите тип блока"],"Choose complexity rules":["Выберите правила сложности"],"Choose input type":["Выберите тип ввода"],"Choose plan":["Выберите тариф"],"Clear":["Очистить"],"Clear all":["Очистить"],"Clear border":["Очистить рамку"],"Clear chat":["Очистить чат"],"Clear chat history?":["Очистить чат?"],"Clear selection":["Очистить выбор"],"Click or drag a block":["Нажмите или перетащите блок"],"Click the Add a new project button to add your first project.":["Нажмите кнопку «Добавить проект», чтобы создать свой первый проект."],"Click to select, paste from the clipboard, or drag and drop":["Перетащите изображения сюда или вставьте из буфера"],"Client ID":["Client ID"],"Client ID copied to clipboard.":["Client ID скопирован."],"Client Secret":["Client Secret"],"Client secret copied to clipboard.":["Client Secret скопирован."],"Client secret rotated successfully.":["Client Secret перевыпущен."],"Clipboard":["Буфер обмена"],"Clone":["Дублировать"],"Clone block":["Клонировать блок"],"Clone element":["Клонировать элемент"],"Clone group":["Клонировать группу"],"Close":["Закрыть"],"Closed field background":["Фон закрытого поля"],"Code":["Код"],"Code Size Warning":["Предупреждение о размере кода"],"Code editor":["Редактор кода"],"Code mode":["Режим кода"],"Code size":["Размер кода"],"Code that will replace the image \`src\`":["Код, который заменит путь к изображению"],"Collapse section":["Свернуть раздел"],"Collection of all HTTP requests used by the plugin (Postman Collection v2.1 format).":["Коллекция всех HTTP-запросов, которые использует плагин (формат Postman Collection v2.1)."],"Color":["Цвет"],"Color of the general text":["Цвет текста"],"Color settings":["Настройки цвета"],"Colors":["Цвета"],"Column":["Колонка"],"Column gap":["Отступ между колонками"],"Columns":["Колонки"],"Come up with a hint":["Придумайте подсказку"],"Coming soon":["В разработке"],"Comment":["Комментарий"],"Comment was removed.":["Комментарий удалён."],"Common blocks":["Общие блоки"],"Company size":["Размер компании"],"Complexity rules":["Правила сложности"],"Configure":["Настроить"],"Configure %s":["Настройка %s"],"Configure integration":["Настроить интеграцию"],"Configure social network link":["Настройка ссылки на соцсеть"],"Confirm email":["Подтвердить email"],"Confirmation":["Подтверждение"],"Confirmation email has been sent to {confirmedEmail}.":["На адрес {confirmedEmail} отправлено письмо с подтверждением."],"Confirmation email was sent to":["Подтверждение было отправлено на"],"Connect":["Подключить"],"Connect plugin":["Подключить плагин"],"Connected":["Подключено"],"Connection established":["Соединение установлено"],"Connection test failed.":["Не удалось проверить соединение."],"Contact":["Связаться"],"Contact List ID":["ID списка контактов"],"Contact Us":["Связаться с нами"],"Contact person (full name)":["Контактное лицо (полное имя)"],"Contact sync, content personalization, and real-time campaign results tracking.":["Синхронизация контактов, персонализация содержимого и отслеживание результатов кампаний в реальном времени."],"Contacts":["Контакты"],"Contain":["Contain"],"Container":["Контейнер"],"Container width":["Ширина блока"],"Content":["Контент"],"Content styles":["Стили контента"],"Continue":["Продолжить"],"Continue (%d)":["Продолжить (%d)"],"Continue as user":["Продолжить под пользователем"],"Continue without saving":["Продолжить без сохранения"],"Contract":["Договор"],"Contract / public offer":["Договор / публичная оферта"],"Contract date":["Дата заключения договора"],"Contract number":["Номер договора"],"Contrast block":["Контрастный блок"],"Contrast block header color":["Цвет заголовка контрастного блока"],"Contrast block text color":["Цвет текста контрастного блока"],"Contrasting background color":["Контрастный цвет фона"],"Contrasting colors":["Контрастные цвета"],"Contrasting text color":["Контрастный цвет текста"],"Conversion failed":["Конвертация не удалась"],"Convert":["Конвертировать"],"Convert into an image":["Преобразовать в изображение"],"Converting layout…":["Конвертация шаблона..."],"Copy":["Копировать"],"Copy block to clipboard":["Скопировать блок в буфер обмена"],"Copy client ID":["Скопировать Client ID"],"Copy client secret":["Скопировать Client Secret"],"Copy code":["Скопировать код"],"Copy column":["Скопировать колонку"],"Copy hex":["Копировать HEX"],"Copy to clipboard":["Скопировать в буфер обмена"],"Copywriter":["Писатель"],"Corner radius":["Скругление"],"Correspondent account":["Корреспондентский счёт"],"Could not activate the trial. Please try again later or contact support.":["Не удалось активировать пробную версию. Попробуйте позже или обратитесь в службу поддержки."],"Could not extend access. Try again.":["Не удалось продлить доступ. Попробуйте ещё раз."],"Could not move files from old storage":["Не удалось переместить файлы со старого хранилища"],"Could not reach the server. Please try again later.":["Не удалось установить соединение с сервером. Пожалуйста, попробуйте позже."],"Could not save the email":["Не удалось сохранить письмо"],"Couldn\`t determine the email width":["Не удалось определить ширину письма."],"Countdown":["Таймер"],"Countdown font settings":["Шрифт таймера"],"Country selector (flag+code)":["Выбор страны (флаг + код)"],"Cover":["Cover"],"Create a new email":["Создать письмо"],"Create a password":["Создайте пароль"],"Create email":["Создать письмо"],"Create folder":["Создать папку"],"Create group":["Создать группу"],"Create new block":["Создать новый блок"],"Create new email":["Создать письмо"],"Create project":["Создать проект"],"Creating an email on request":["Создание письма по запросу"],"Creation date":["Дата создания"],"Cross":["Крест"],"Current password":["Текущий пароль"],"Custom":["Пользовательский"],"Custom fonts":["Шрифты проекта"],"Custom icon":["Пользовательская иконка"],"Customized solutions for large-scale operations with high productivity":["Индивидуальные решения для крупных компаний с высокой производительностью"],"Dark":["Тёмная"],"Dark theme":["Тёмная тема"],"Dash":["Тире"],"Dashed":["Пунктир"],"Date":["Дата"],"Date format":["Формат даты"],"Days":["Дни"],"Deal Annotation":["Аннотация акции"],"Deal Card":["Карточка акции"],"Default or bound value for the field":["Значение по умолчанию или заданное значение для поля"],"Default value":["Значение по умолчанию"],"Delete":["Удалить"],"Delete column":["Удалить колонку"],"Delete from palette":["Удалить из палитры"],"Delete from styles":["Удалить из стилей"],"Delete permanently":["Удалить навсегда"],"Delete this color from the palette?":["Удалить этот цвет из палитры?"],"Delete this font from styles?":["Удалить этот шрифт из стилей?"],"Delete this social network?":["Удалить эту соцсеть?"],"Deleted":["Удалённые"],"Describe your project":["Опишите свой проект"],"Description":["Описание"],"Description is used in other sections of the service.":["Описание используется в других разделах сервиса."],"Description must be at most 500 characters.":["Описание не длиннее 500 символов."],"Desktop":["Десктоп"],"Desktop view":["Десктопный вид"],"Details":["Подробнее"],"Developer files":["Файлы для разработчика"],"Diamond":["Ромб"],"Didn't receive an email?":["Не получили письмо?"],"Digits (0-9)":["Цифры (0–9)"],"Disable":["Отключить"],"Disable integration":["Отключить интеграцию"],"Disabled":["Отключенный"],"Disconnect Stripo":["Отключить Stripo"],"Discount code":["Промокод"],"Discount description":["Описание скидки"],"Discount description is required":["Нужно описание скидки"],"Discount must be a percentage greater than 0 and up to 100":["Скидка указывается в процентах: больше 0 и не больше 100"],"Discount with promo code: ":["Скидка по промокоду: "],"Discount, %":["Скидка, %"],"Discuss":["Обсуждение"],"Display control":["Видимость"],"Display control & Direction":["Видимость и направление"],"Display the minimap.":["Показывать миникарту кода."],"Divider":["Разделитель"],"Do not repeat background (no-repeat)":["Не повторять фон (no-repeat)"],"Domain that serves this folder: it goes into image links in emails":["Домен, который отдаёт эту папку: он попадает в ссылки на изображения в письмах"],"Don't suggest again":["Больше не предлагать"],"Done":["Готово"],"Dot color":["Цвет точки"],"Dotted":["Точки"],"Double arrow":["Двойная стрелка"],"Double quotation":["Двойная кавычка"],"Download":["Скачать"],"Download as is":["Скачать как есть"],"Draft Name":["Имя черновика"],"Draft campaign created! Open it to review and schedule.":["Проект кампании создан! Откройте его для проверки и планирования."],"Draft successfully created!":["Черновик создан!"],"Drag file here or upload from device":["Перетащите файл сюда или загрузите с устройства"],"Drag to reorder":["Можно перемещать"],"Drop here":["Вставить сюда"],"Dropdown list":["Выпадающий список"],"Duration":["Длительность"],"During export, the element is converted into an image.":["При экспорте элемент преобразуется в изображение."],"E-Commerce":["Электронная коммерция"],"E-mail":["E-mail"],"Edit":["Редактировать"],"Edit block":["Свойства блока"],"Edit element":["Редактировать элемент"],"Edit group":["Свойства группы"],"Edit icon":["Редактировать иконку"],"Edit the HTML version of your email template in the Code mode and see the changes in real time. Builder has no code restrictions — you can create templates of any complexity!":["Редактируйте HTML-версию шаблона письма в режиме кода и наблюдайте за изменениями в реальном времени. В EmailMaker нет ограничений на код: вы можете создавать шаблоны любой сложности!"],"Editing comments":["Редактирование комментариев"],"Education":["Образование"],"Element":["Элемент"],"Elements":["Элементы"],"Email":["Email"],"Email Subject":["Тема письма"],"Email background color":["Цвет фона письма"],"Email builder for your teamwork":["Редактор писем для совместной работы"],"Email confirmation required":["Требуется подтверждение email"],"Email confirmed":["Email подтверждён"],"Email generation":["Генерация писем"],"Email generator":["Генератор Email"],"Email layout width":["Ширина письма"],"Email name":["Название письма"],"Email not yet loaded or global container not found.":["Код письма не загружен или глобальный контейнер не найден."],"Email optimization":["Оптимизация шаблона"],"Email platforms":["Платформы"],"Email successfully copied to clipboard.":["Адрес скопирован в буфер обмена."],"Email successfully created!":["Письмо создано!"],"Email synced with the server":["Email синхронизирован с сервером"],"Email testing":["Тестирование шаблона"],"EmailMaker storage":["Хранилище EmailMaker"],"Emails":["Письма"],"Emails not found":["По данному запросу ничего не найдено."],"Embed images in the file?":["Включить изображения в файл?"],"Empty blocks":["Пустые блоки"],"Empty trash":["Очистить корзину"],"Enable auto-payment":["Включить автоплатёж"],"Enabled":["Включено"],"End all sessions":["Завершить все сессии"],"End date":["Дата окончания"],"End time":["Время окончания"],"Endpoint":["Адрес хранилища"],"Ends":["Окончание"],"Ends in":["Заканчивается через"],"Enter Altcraft API token":["Введите токен API Altcraft"],"Enter Mailganer API key":["Введите ключ API Mailganer"],"Enter Sendsay API key":["Введите ключ API Sendsay"],"Enter URL":["Введите адрес"],"Enter Unisender API key":["Введите ключ API Unisender"],"Enter a URL starting with http:// or https://":["Адрес должен начинаться с http:// или https://"],"Enter a direct link to a font file (.woff2, .woff, .ttf, .otf) or a Google Fonts stylesheet.":["Укажите прямую ссылку на файл шрифта (.woff2, .woff, .ttf, .otf) или на стили Google Fonts."],"Enter a font name.":["Введите название шрифта."],"Enter a port between 1 and 65535":["Укажите порт от 1 до 65535"],"Enter a valid HEX color (e.g. #1F1F1F).":["Введите корректный HEX-цвет (например, #1F1F1F)."],"Enter a valid HEX color.":["Введите корректный HEX-цвет."],"Enter a valid URL (https://example.com or example.com).":["Введите корректный адрес (https://example.com или example.com)."],"Enter block name":["Укажите название блока"],"Enter color name":["Введите название цвета"],"Enter enKod API key":["Введите ключ API enKod"],"Enter font name":["Введите название шрифта"],"Enter heading":["Введите заголовок"],"Enter link":["Введите ссылку"],"Enter name":["Введите название"],"Enter path":["Введите путь"],"Enter preheader here":["Введите прехедер"],"Enter promo code":["Введите промокод"],"Enter subject line here":["Введите тему письма"],"Enter the access key":["Введите ключ доступа"],"Enter the block name":["Введите название блока"],"Enter the bucket name":["Введите имя бакета"],"Enter the confirmation code from the email and set a new password.":["Введите код подтверждения из письма и установите новый пароль."],"Enter the connection login":["Введите логин для подключения"],"Enter the connection password":["Введите пароль для подключения"],"Enter the email name":["Введите название письма"],"Enter the folder name":["Введите имя папки"],"Enter the group name":["Введите имя группы"],"Enter the price as a number to calculate the discount":["Укажите цену числом, чтобы рассчитать скидку"],"Enter the project name":["Введите название проекта"],"Enter the secret key":["Введите секретный ключ"],"Enter the server host":["Введите имя хоста"],"Enter the storage endpoint":["Введите адрес хранилища"],"Enter the title of the image":["Введите название изображения"],"Enter value":["Введите значение"],"Enter your contact details":["Укажите свои контакты"],"Enter your current password":["Введите текущий пароль"],"Enter your email":["Укажите ваш email"],"Enter your email address and we will send you password reset instructions.":["Введите свой адрес электронной почты, и мы вышлем вам инструкции по сбросу пароля."],"Enter your first name":["Укажите ваше имя"],"Enter your last name":["Укажите вашу фамилию"],"Enter your new password":["Введите новый пароль"],"Enter your password":["Введите ваш пароль"],"Enter your phone or email":["Введите телефон или email"],"Equalize":["Сравнять"],"Error":["Ошибка"],"Error when initializing file manager":["Ошибка инициализации файлового менеджера"],"Error when receiving data. Try again (reload page) or contact support.":["Ошибка при получении данных. Попробуйте еще раз (перезагрузите страницу) или обратитесь в службу поддержки."],"Errors":["Ошибки"],"Evaluating the task":["Обдумываю задачу"],"Example:":["Например:"],"Expand only one section":["Раскрывать только один раздел"],"Expand section":["Развернуть раздел"],"Expires":["Действует до"],"Export":["Экспорт"],"Export emails as draft campaigns to ActiveCampaign":["Экспорт писем в ActiveCampaign в виде черновиков кампаний"],"Export emails to Altcraft":["Экспорт писем в Altcraft"],"Export emails to Bento":["Экспорт писем в Bento"],"Export emails to Brevo":["Экспорт писем в Brevo"],"Export emails to Campaign Monitor":["Экспорт писем в Campaign Monitor"],"Export emails to Constant Contact":["Экспорт писем в Constant Contact"],"Export emails to Dotdigital":["Экспорт писем в Dotdigital"],"Export emails to GetResponse":["Экспорт писем в GetResponse"],"Export emails to HubSpot":["Экспорт писем в HubSpot"],"Export emails to Klaviyo":["Экспорт писем в Klaviyo"],"Export emails to Mailchimp":["Экспорт писем в Mailchimp"],"Export emails to Mailganer":["Экспорт писем в Mailganer"],"Export emails to Salesforce":["Экспорт писем в Salesforce"],"Export emails to Sendsay":["Экспорт писем в Sendsay"],"Export emails to Unisender":["Экспорт писем в Unisender"],"Export emails to enKod":["Экспорт писем в enKod"],"Export settings":["Настройки экспорта"],"Extend plan":["Продлить тариф"],"Extra limit package":["Расширенный пакет"],"Extra package is not configured for this limit.":["Для этого ограничения дополнительный пакет не настроен."],"Extra packages are only available with CloudPayments at the moment.":["На данный момент дополнительные пакеты доступны только в CloudPayments."],"Eyedropper":["Пипетка"],"Failed to clean trash":["Не удалось очистить корзину"],"Failed to complete Yandex authorization":["Не удалось пройти авторизацию в «Яндексе»"],"Failed to copy.":["Не удалось скопировать."],"Failed to create broadcast":["Не удалось создать выпуск"],"Failed to create campaign":["Не удалось создать кампанию"],"Failed to create draft":["Не удалось создать черновик"],"Failed to create email":["Не удалось создать письмо"],"Failed to create mailing":["Не удалось создать рассылку"],"Failed to create newsletter":["Не удалось создать рассылку"],"Failed to create template":["Не удалось создать шаблон"],"Failed to download file.":["Не удалось скачать файл."],"Failed to download image from URL.":["Не удалось загрузить изображение по URL-адресу."],"Failed to export the email as images. Please try again.":["Не удалось экспортировать письмо в виде изображений. Попробуйте ещё раз."],"Failed to get file: %s":["Не удалось получить файл: %s"],"Failed to load":["Не удалось загрузить"],"Failed to load GIFs":["Не удалось загрузить GIF-файлы"],"Failed to load GIFs through the configured proxy chain.":["Не удалось загрузить GIF-файлы через настроенную цепочку прокси-серверов."],"Failed to load YaSendSuggestToken script":["Не удалось загрузить скрипт YaSendSuggestToken"],"Failed to load Yandex authorization script":["Не удалось загрузить скрипт авторизации Яндекс"],"Failed to load integrations.":["Не удалось загрузить интеграции."],"Failed to load payments.":["Не удалось загрузить платежи."],"Failed to load plugin analytics.":["Не удалось загрузить аналитику плагина."],"Failed to load plugin settings.":["Не удалось загрузить настройки плагина."],"Failed to load plugin usage.":["Не удалось загрузить статистику использования плагина."],"Failed to load project styles.":["Не удалось загрузить стили проекта."],"Failed to load stock images":["Не удалось загрузить стоковые изображения"],"Failed to load stock images through the configured proxy chain.":["Не удалось загрузить стоковые изображения через настроенную цепочку прокси-серверов."],"Failed to load storage settings.":["Не удалось загрузить настройки хранилища."],"Failed to process image URL.":["Не удалось обработать URL-адрес изображения."],"Failed to rotate client secret.":["Не удалось перевыпустить Client Secret."],"Failed to save blocks.":["Не удалось сохранить блоки."],"Failed to save integration settings.":["Не удалось сохранить настройки интеграции."],"Failed to save project settings.":["Не удалось сохранить настройки проекта."],"Failed to save project styles.":["Не удалось сохранить стили проекта."],"Failed to save storage settings.":["Не удалось сохранить настройки хранилища."],"Failed to save the image. Check the file storage settings.":["Не удалось сохранить изображение. Проверьте настройки хранилища файлов."],"Failed to update the global block.":["Не удалось обновить глобальный блок."],"Failed to update the inbox.":["Не удалось обновить папку «Входящие»."],"Features":["Возможности"],"Fewer settings":["Меньше настроек"],"Field heading":["Заголовок поля"],"Field required":["Обязательное поле"],"Field state appearance":["Внешний вид поля"],"File":["Файл"],"File upload failed":["Не удалось загрузить файл"],"Files ready: %s":["Файлы готовы: %s"],"Fill in at least one offer field":["Заполните хотя бы одно поле акции"],"Filter by type":["Фильтр по типу"],"Finance & Banking":["Финансы и банки"],"First name":["Имя"],"Float block width":["Ширина плавающего блока"],"Folder (Prefix)":["Папка (префикс)"],"Folder name is required":["Имя папки обязательно"],"Folder path":["Путь к папке"],"Folders":["Папки"],"Font":["Шрифт"],"Font family":["Шрифт"],"Font file":["Файл шрифта"],"Font of the general text":["Шрифта текста"],"Font settings":["Настройки шрифта"],"Font size":["Размер текста"],"Font size of the general text":["Размер текста"],"Font type":["Тип шрифта"],"Font weight":["Толщина шрифта"],"Fonts":["Шрифты"],"Footers":["Подвалы"],"For basic tasks in business or personal projects":["Для выполнения основных задач в рамках деловых или личных проектов"],"Forgot the password?":["Забыли пароль?"],"Forgot your password?":["Забыли пароль?"],"Form":["Форма"],"Found so far: %s":["Найдено на данный момент: %s"],"Free trial":["Пробная версия"],"From 8 characters to 72 bytes":["От 8 символов до 72 байт"],"From scratch":["С чистого листа"],"Full legal company name":["Полное юридическое название компании"],"GIF":["GIF"],"General settings":["Общие настройки"],"General text":["Текст"],"Generate":["Сгенерировать"],"Generate Email":["Создать письмо"],"Generate image":["Сгенерировать изображение"],"Generate stunning visuals for your emails with ease. We have trained our AI model to ensure the highest quality images.":["С легкостью создавайте потрясающие визуальные эффекты. Мы обучили нашу модель искусственного интеллекта, чтобы обеспечить высочайшее качество изображений."],"Generate with AI":["Генерация с помощью ИИ"],"Generated images":["Генерация картинок"],"Get a discount":["получить со скидкой"],"Get started":["Начать работу"],"Give your users the ability to build beautiful emails without development costs":["Дайте пользователям возможность собирать красивые письма без затрат на разработку"],"Global block":["Глобальный блок"],"Global styles":["Стили письма"],"Gmail annotation was successfully applied to the template code.":["Аннотация Gmail добавлена в код письма."],"Gmail annotations":["аннотаций в Gmail"],"Gmail annotations were removed from the template code.":["Аннотации Gmail удалены из кода письма."],"Go to project settings?":["Перейти в настройки проекта?"],"Go to projects":["Перейти к проектам"],"Google Fonts":["Шрифты Google"],"Got it":["Понятно"],"Green":["Зелёный"],"Grid":["Сетка"],"Group":["Группа"],"HTML":["HTML"],"HTML URL is required. Save the email first, or paste a custom URL to your hosted HTML.":["Требуется URL-адрес HTML-страницы. Сначала сохраните письмо или вставьте собственный URL-адрес размещенной у вас HTML-страницы."],"Half year":["Полгода"],"Header":["Заголовок"],"Header text":["Текст заголовка"],"Headers":["Шапки"],"Heading":["Заголовок"],"Heading color":["Цвет заголовка"],"Heading font":["Шрифт заголовка"],"Heading font size":["Размер заголовка"],"Heading letter spacing":["Межбуквенный интервал заголовка"],"Heading line height":["Высота строки заголовка"],"Headings":["Заголовки"],"Headline":["Заголовок"],"Healthcare":["Здравоохранение"],"Height":["Высота"],"Hello":["Привет"],"Help":["Справка"],"Help menu":["Помощь"],"Helper text":["Подсказка"],"Helper text / tooltip":["Подсказка / всплывающая подсказка"],"Hide payment history":["Скрыть историю платежей"],"High contrast mode":["Режим высокой контрастности"],"Hint text":["Подсказка"],"Horizontal":["Горизонтальный"],"Horizontal alignment":["Горизонтальное выравнивание"],"Horizontal offset":["Гориз. смещение"],"Horizontal padding":["Горизонтальный отступ"],"Horizontal position":["Гориз. смещение"],"Hospitality & Travel":["Гостиничный бизнес и туризм"],"Host":["Имя хоста"],"Hostname or server IP address":["Имя хоста или IP-адрес сервера"],"How to get an API key?":["Как получить ключ API?"],"Hyperlink URL":["Адрес ссылки"],"I agree to the":["Я согласен с"],"I would like to receive updates from Blocks.":["Я хочу получать новости от Blocks"],"I would like to receive updates from EmailMaker.":["Я хочу получать новости от EmailMaker."],"I'd be happy to create an email for you! ":["Я с удовольствием создам для вас электронное письмо! "],"IP address":["IP-адрес"],"Icon":["Иконка"],"Icon URL":["URL иконки"],"Icon description":["Описание иконки"],"Identifies search terms. For example: utm_term=running+shoes":["Определяет условия поиска. Например: utm_term=running+shoes"],"Identifies what type of link was used, such as cost per click or email. For example: utm_medium=cpc":["Определяет, какой тип ссылки использовался, например, цена за клик или электронная почта. Например: utm_medium=cpc"],"If \\"Yes\\", images will be included in the file itself. This is useful for offline viewing or if external images are blocked, but increases file size. If \\"No\\", images will be loaded from external links.":["Если «Да», изображения будут включены в сам файл. Это полезно для просмотра без интернета или если внешние изображения заблокированы, но увеличивает размер файла. Если «Нет», изображения будут загружаться по внешним ссылкам."],"If different from the legal address":["Если отличается от юридического адреса"],"If you do not pay, you will be switched to the free plan automatically.":["Если вы не оплатите, вы будете автоматически переведены на бесплатный тарифный план."],"If you have problems connecting the plugin — contact us, our specialists will definitely help you.":["Если возникли сложности с подключением плагина — напишите нам, наши специалисты обязательно помогут."],"If you turn the switch off, lines of code will not wrap. If you turn the switch on, lines of code will wrap at the viewport.":["Если параметр отключен, строки никогда не будут переноситься. Если параметр включен, строки будут переноситься по ширине области просмотра."],"Image":["Картинка"],"Image Center":["Центр изображений"],"Image checks":["Проверка картинок"],"Image editor":["Редактор изображений"],"Image path":["Путь к изображению"],"Image replacer":["Замена картинки"],"Image src":["Картинка"],"Images validation":["Проверка изображений"],"Images validation was successfully completed":["Проверка изображений завершена"],"Import":["Импорт"],"Import email":["Импортировать письмо"],"Import finished":["Импорт завершён"],"Import first %d":["Импортировать первые %d"],"Import from Stripo":["Импорт из Stripo"],"Import problems":["Проблемы импорта"],"Import templates and emails from your Stripo project.":["Импорт шаблонов и писем из вашего проекта Stripo."],"Imported":["Импортировано"],"Imported %1$d of %2$d":["Импортировано %1$d из %2$d"],"Imported: %1$d, failed: %2$d.":["Импортировано: %1$d, не удалось: %2$d."],"Importing from Stripo":["Импорт из Stripo"],"Improves visibility by automatically tuning the form for accessibility. Turn off to restore the previous look.":["Улучшает читаемость за счет автоматической настройки формы с учетом требований доступности. Отключите эту функцию, чтобы вернуть прежний вид."],"Inactive date background color":["Цвет фона неактивной даты"],"Inactive date font":["Шрифт неактивной даты"],"Indent":["Отступ"],"Indent between columns":["Горизонтальный отступ"],"Indent height":["Высота"],"Indent in mobile":["Вертикальный отступ"],"Indexing files…":["Индексация файлов…"],"Indicates a specific product promotion or a marketing campaign. Example: utm_campaign=spring_sale":["Определяет продвижение конкретного продукта или стратегическую кампанию. Например: utm_campaign=spring_sale"],"Indicates what user clicked to get to the site: a banner or a text link. It is often used for A/B testing and ad campaigns. Example: utm_content=logolink or utm_content=textlink":["Определяет, что именно было нажато, чтобы привести пользователя на сайт, например, рекламный баннер или текстовая ссылка. Он часто используется для A/B-тестирования и рекламы, ориентированной на контент. Например: utm_content=logolink или utm_content=textlink."],"Individual corner radii":["Радиусы отдельных углов"],"Individual padding":["Отдельные отступы"],"Industry":["Отрасль"],"Input":["Поле ввода"],"Input field text":["Текст поля ввода"],"Insert column after":["Вставить столбец справа"],"Insert column before":["Вставить столбец слева"],"Insert row after":["Вставить строку после"],"Insert row before":["Вставить строку перед"],"Insert spaces":["Отступы пробелами"],"Inside":["Внутри"],"Integration settings saved.":["Настройки интеграции сохранены."],"Integrations":["Интеграции"],"Integrations are set up in the project settings. Unsaved changes in the email may be lost.":["Интеграции настраиваются в настройках проекта. Несохранённые изменения в письме могут потеряться."],"Internal padding":["Внутренний отступ"],"Invalid file data":["Неверные данные файла"],"Invite members":["Пригласить участников"],"Invited %s":["Приглашён %s"],"Invoice for legal entity":["Счёт для юр. лица"],"Invoice request for a legal entity":["Запрос на выставление счета для юридического лица"],"Is a template":["Шаблон"],"It looks like the email was not created in our service, so the content styles won\`t work. Read more about content styles in the help.":["Похоже, письмо создано не в нашем сервисе, поэтому стили контента работать не будут. Подробнее о стилях содержимого читайте в справке."],"It\`s done!":["Готово!"],"Italic":["Курсив"],"Italic ( Ctrl+I )":["Курсив ( Ctrl+I )"],"Italic ( ⌘I )":["Курсив ( ⌘I )"],"Items to import: %d.":["Элементов к импорту: %d."],"Ivan Ivanov":["Иван Иванов"],"Joined the project":["Присоединился к проекту"],"Just now":["Только что"],"KB":["KB"],"KPP":["КПП"],"KPP must be 9 digits":["КПП должен состоять из 9 цифр"],"LLC \\"Example\\"":["ООО «Пример»"],"Label next to checkbox":["Надпись рядом с чекбоксом"],"Label text style":["Стиль текста подписи"],"Landscape":["Горизонтальная"],"Language":["Язык"],"Large emails may have delivery issues and load slowly. We recommend minimizing code before exporting.":["Большие электронные письма могут иметь проблемы с доставкой и медленно загружаться. Мы рекомендуем минимизировать код перед экспортом."],"Last login":["Последний вход"],"Last name":["Фамилия"],"Last update: ":["Обновлено:"],"Layout conversion failed":["Ошибка при преобразовании шаблона"],"Layout converted to Blocks format":["Шаблон преобразован в формат Blocks"],"Layout converted to EmailMaker format":["Шаблон преобразован в формат EmailMaker"],"Learn more about %s":["Подробнее о работе %s"],"Leave":["Уйти"],"Leave your comment":["Оставьте ваш комментарий"],"Left":["Слева"],"Left Code panel":["Панель кода слева"],"Left padding":["Отступ слева"],"Left to right":["Слева направо"],"Legal address":["Юридический адрес"],"Let our AI assistant enhance your email template! From creating subject lines and preheaders based on the email copy to generating the whole email with your website in mind!":["Позвольте нашему помощнику с ИИ улучшить ваше письмо! От создания темы и прехедеров на основе письма до генерации всего письма с учетом особенностей вашего сайта!"],"Letter spacing":["Межбуквенный интервал"],"Light":["Светлая"],"Light theme":["Светлая тема"],"Line break on mobile devices":["Переносить колонки друг под друга"],"Line height":["Высота строки"],"Line height of the general text":["Высота строки текста"],"Line wrap":["Перенос строк"],"Link":["Ссылка"],"Link checks":["Проверка ссылок"],"Link color":["Цвет ссылки"],"Link color in contrasting blocks":["Цвет ссылок в контрастных блоках"],"Link for all slides":["Общая ссылка"],"Link to web version of the font":["Ссылка на веб-версию шрифта"],"Links":["Ссылки"],"Links validation":["Проверка ссылок"],"Links validation was successfully completed":["Проверка ссылок завершена"],"List OL":["Список OL"],"List UL":["Список UL"],"List item appearance":["Внешний вид элемента списка"],"List of projects":["Список проектов"],"List panel background":["Фон панели списка"],"List settings":["Настройки списка"],"List text style":["Стиль текста списка"],"Lists":["Списки"],"Live preview":["Тест в почтовиках"],"Loading latest changes...":["Загрузка последних изменений..."],"Locally saved version applied":["Применена локально сохраненная версия"],"Lock":["Заблокировать"],"Log in as user":["Войти под пользователем"],"Logged in as user":["Вы вошли под пользователем"],"Login for connection":["Логин для подключения"],"Logo must be 2 MB or smaller.":["Логотип должен быть не больше 2 МБ."],"Loop":["Зациклить"],"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.":["С другой стороны, разбавленное изрядной долей эмпатии, рациональное мышление выявляет срочную потребность как самодостаточных, так и внешне зависимых концептуальных решений."],"Lower scores are better. Aim for a score less than ":["Чем ниже балл, тем лучше. Старайтесь набрать как можно меньше."],"Lowercase":["Строчные"],"Lowercase letters (a-z)":["Строчные буквы (a–z)"],"MB":["MB"],"Magenta":["Пурпурный"],"Mailganer":["Mailganer"],"Mailing Name":["Имя рассылки"],"Mailing address":["Почтовый адрес"],"Mailing automation, audience segmentation, and email personalization.":["Автоматизация рассылок, сегментация аудитории и персонализация писем."],"Mailing successfully created!":["Письмо создано!"],"Make columns the same width.":["Сделать колонки одинаковой ширины."],"Managed in billing settings":["Управляется в настройках оплаты"],"Mandatory. Indicates the traffic source. Example: utm_source=google":["Указывает, какой сайт отправил трафик, и является обязательным параметром. Например: utm_source=google"],"Manufacturing":["Производство"],"Margins":["Отступы"],"Markdown":["Markdown"],"Marker shape":["Форма маркера"],"Marketer":["Маркетолог"],"Mass mailing automation, audience segmentation, and campaign performance analytics.":["Автоматизация массовых рассылок, сегментация аудитории и аналитика по кампаниям."],"Max width":["Ширина изображения"],"Maximum 10 tags available.":["Максимум доступно 10 тегов."],"Maximum 64 characters.":["Не длиннее 64 символов."],"Maximum length":["Максимальная длина"],"Maximum width":["Макс. ширина"],"Maximum {0} colors in the palette.":["В палитре не больше {0} цветов."],"Maximum {0} fonts in the project.":["В проекте не больше {0} шрифтов."],"Maximum {0} social networks.":["Не больше {0} соцсетей."],"Media & Marketing":["Медиа и маркетинг"],"Members":["Участники"],"Menus":["Меню"],"Merchant homepage URL":["Ссылка на сайт магазина"],"Merge bottom cell":["Объединить нижнюю ячейку"],"Merge left cell":["Объединить левую ячейку"],"Merge right cell":["Объединить правую ячейку"],"Merge tags":["Переменные"],"Merge top cell":["Объединить верхнюю ячейку"],"Merge with the chosen block":["Объединить с выделенным блоком"],"Message when validation fails":["Сообщение в случае сбоя проверки"],"Minimap":["Миникарта"],"Minimize code":["Минимизировать код"],"Minimum length 8 characters":["Минимальная длина — 8 символов"],"Minimum width":["Мин. ширина"],"Minus":["Минус"],"Mobile":["На мобильном"],"Mobile L – 425px":["Смартфон L – 425px"],"Mobile M – 375px":["Смартфон M – 375px"],"Mobile S – 320px":["Смартфон S – 320px"],"Mobile view":["Мобильный вид"],"Month":["Месяц"],"More editing features":["Больше возможностей редактирования"],"More options":["Больше настроек"],"More settings":["Больше настроек"],"Move %1$d block to folder “%2$s”?":["Переместить %1$d блок в папку «%2$s»?","Переместить %1$d блока в папку «%2$s»?","Переместить %1$d блоков в папку «%2$s»?"],"Move %1$d template to folder “%2$s”?":["Переместить %1$d шаблон в папку «%2$s»?","Переместить %1$d шаблона в папку «%2$s»?","Переместить %1$d шаблонов в папку «%2$s»?"],"Move block “%1$s” to folder “%2$s”?":["Переместить блок «%1$s» в папку «%2$s»?"],"Move down":["Переместить вниз"],"Move stopped":["Перемещение остановлено"],"Move template “%1$s” to folder “%2$s”?":["Переместить шаблон «%1$s» в папку «%2$s»?"],"Move up":["Переместить вверх"],"Moving files from old storage…":["Перенос файлов со старого хранилища…"],"Multi-channel campaigns automation (email, SMS, push, WhatsApp, and more).":["Автоматизация мультиканальных кампаний (email, SMS, push, WhatsApp и другие)."],"Name":["Имя"],"Name must be at most 64 characters.":["Название не длиннее 64 символов."],"Need more?":["Нужно больше?"],"New block title":["Название нового блока"],"New blocks":["Новые блоки"],"New email title":["Новое письмо"],"New emails":["Новые письма"],"New file name is required":["Требуется новое имя файла"],"New folder":["Новая папка"],"New folder name is required":["Требуется название новой папки"],"New password":["Новый пароль"],"New project":["Новый проект"],"Newest first":["Сначала новые"],"Newsletter Subscription":["Подписка на новости"],"Newsletter successfully created!":["Рассылка успешно создана!"],"No":["Нет"],"No access to edit the block.":["Нет доступа к редактированию блока."],"No access to edit the letter.":["Нет доступа к редактированию письма."],"No active sessions":["Нет активных сессий"],"No analytics data for the selected period.":["За выбранный период данных нет."],"No brand colors yet":["Пока нет цветов бренда"],"No card required: we ask for no payment or personal details.":["Карту привязывать не нужно: ни платёжных, ни персональных данных мы не спросим."],"No emails match the search.":["По запросу не найдено ни одного письма."],"No history records available.":["Записи истории отсутствуют."],"No images found.":["Нет изображений."],"No internet connection":["Нет подключения к Интернету"],"No links found.":["Нет ссылок."],"No logo":["Без логотипа"],"No mailing address found. Add one in ActiveCampaign: ":["Почтовый адрес не найден. Добавьте его в ActiveCampaign: "],"No name":["Без названия"],"No one found":["Никого не нашлось"],"No payments yet.":["Платежей пока нет."],"No problems found.":["Проблем не найдено."],"No project fonts yet":["Пока нет шрифтов проекта"],"No projects match the search.":["По запросу не найдено ни одного проекта."],"No properties to edit.":["Нет свойств для редактирования."],"No related blocks found.":["У этого письма нет привязанных шаблонов."],"No social networks yet":["Пока нет соцсетей"],"No users found":["Пользователи не найдены"],"Non-profit":["Некоммерческая организация"],"None":["Нет"],"Not all changes were saved. Please try again.":["Не все изменения успели сохраниться. Попробуйте ещё раз."],"Not available for the current payment settings":["Недоступно при текущих настройках оплаты"],"Not available in this context":["Недоступно в данном контексте"],"Not connected":["Не подключено"],"Not defined":["Не определено"],"Not found in Stripo":["Не найдено в Stripo"],"Not imported":["Не импортировано"],"Not now":["Не сейчас"],"Not set":["Не указано"],"Nothing found in Stripo":["В Stripo ничего не найдено"],"Now":["Сейчас"],"Now create an email":["Теперь создайте письмо"],"OGRN / PSRN":["ОГРН / ПСРН"],"OGRN/PSRN must be 13 or 15 digits":["ОГРН / ПСРН должно состоять из 13 или 15 цифр"],"Offer page URL":["Ссылка на страницу акции"],"Offer page or merchant homepage link starting with https:// is required":["Нужна ссылка на страницу акции или на сайт магазина, начинающаяся с https://"],"Ok. I'll be waiting":["Хорошо. Я подожду"],"Okay. I'll log in.":["Хорошо, я авторизуюсь."],"Oldest first":["Сначала старые"],"On request":["По запросу"],"On the left":["Слева"],"On the right":["Справа"],"Onboarding":["Тур по редактору"],"Only a-z, 0-9, hyphen, dot":["Только a-z, 0-9, дефис, точка"],"Oops! Something went wrong":["Ой! Что-то пошло не так"],"Open draft campaign":["Открыть черновик кампании "],"Open in Bento":["Открыть в Bento"],"Open in Brevo":["Открыть в Brevo"],"Open in Campaign Monitor":["Открыть в Campaign Monitor"],"Open in Constant Contact":["Открыть в Constant Contact"],"Open in Dotdigital":["Открыть в Dotdigital"],"Open in GetResponse":["Открыть в GetResponse"],"Open in HubSpot":["Открыть в HubSpot"],"Open in Klaviyo":["Открыть в Klaviyo"],"Open in Mailchimp":["Открыть в Mailchimp"],"Open in Mailganer":["Открыть в Mailganer"],"Open in Marketing Cloud":["Открыть в Marketing Cloud"],"Open in Sendsay":["Открыть в Sendsay"],"Open in Unisender":["Открыть в Unisender"],"Open in enKod":["Открыть в enKod"],"Opening this block by its old numeric link is not supported yet.":["Этот блок пока нельзя открыть по старой ссылке с номером."],"Optimize":["Оптимизация"],"Optional fields":["Необязательные поля"],"Orange":["Оранжевый"],"Ordered list":["Нумерованный список"],"Organization logo":["Логотип компании"],"Other":["Другое"],"Others":["Другие"],"Outlook":["Outlook"],"Outside":["Снаружи"],"PDF":["PDF"],"PJSC Sberbank":["ПАО «Сбербанк»"],"PNG":["PNG"],"Padding":["Внутренний отступ"],"Paid until: ":["Оплачен до: "],"Palette":["Палитра"],"Password":["Пароль"],"Password for connection":["Пароль для подключения"],"Password set":["Пароль задан"],"Paste block from clipboard":["Вставить блок из буфера обмена"],"Paste image URL here":["Вставьте URL изображения"],"Pay":["Оплата"],"Payment":["Оплата"],"Payment basis":["Условия оплаты"],"Payment history":["История платежей"],"Payment was successful":["Оплата прошла успешно"],"Payment was successful. Limits will update in a few seconds.":["Оплата прошла успешно. Лимиты обновятся через несколько секунд."],"Payment was successful. New AI generations are now available.":["Оплата прошла успешно. Теперь доступны новые генерации с помощью ИИ."],"Phone":["Телефон"],"Phone must be 3 to 40 characters and contain digits and separators only.":["Телефон — от 3 до 40 символов, только цифры и разделители."],"Phone number":["Телефон"],"Phone or email":["Телефон или email"],"Pick a color.":["Выберите цвет."],"Picture":["Изображение"],"Placeholder":["Плейсхолдер"],"Placeholder text":["Текст плейсхолдера"],"Plain text":["Простой текст"],"Plan":["Тариф"],"Plan usage statistics":["Статистика использования тарифа"],"Play button":["Кнопка воспроизведения"],"Please accept the agreement":["Пожалуйста, примите соглашение"],"Please add a comment to your request":["Введите комментарий к запросу"],"Please choose":["Пожалуйста, выберите"],"Please choose block type":["Пожалуйста, выберите тип блока"],"Please choose the block type":["Пожалуйста, укажите тип блока"],"Please complete payment on the Billing page.":["Пожалуйста, произведите оплату на странице «Тарифы и оплата»."],"Please complete the captcha":["Пожалуйста, пройдите капчу"],"Please complete the captcha to continue.":["Пожалуйста, пройдите капчу, чтобы продолжить."],"Please enter a URL.":["Пожалуйста, введите адрес."],"Please enter a color name.":["Пожалуйста, введите название цвета."],"Please enter a name.":["Пожалуйста, введите название."],"Please enter a valid email address.":["Введите действительный адрес электронной почты."],"Please enter a valid email.":["Пожалуйста, введите корректный email."],"Please enter the URL.":["Пожалуйста, введите адрес"],"Please enter the block name":["Введите название блока"],"Please enter the correct URL.":["Пожалуйста, введите правильный адрес."],"Please enter the correct email address.":["Пожалуйста, введите корректный адрес почты."],"Please enter the correct email.":["Пожалуйста, введите корректную эл. почту"],"Please enter the description":["Введите описание"],"Please enter the email name":["Введите имя письма"],"Please enter the folder name":["Введите имя папки "],"Please enter the group name":["Введите название группы"],"Please enter the project name":["Пожалуйста, введите название проекта"],"Please enter valid email":["Введите действительный адрес электронной почты"],"Please enter your email address":["Пожалуйста, укажите свой адрес эл. почты"],"Please enter your password":["Пожалуйста, введите свой пароль"],"Please input block name":["Пожалуйста укажите название блока"],"Please input container width":["Пожалуйста, укажите ширину блока"],"Please input tags!":["Пожалуйста, введите теги!"],"Please input type!":["Пожалуйста, введите тип!"],"Please log in":["Необходим вход в систему"],"Please select":["Пожалуйста, выберите"],"Please set the 'Type' field in the Settings section.":["Пожалуйста, заполните поле «Тип» в настройках блока."],"Please set the background color":["Пожалуйста, установите цвет фона"],"Please set the font color":["Установите цвет текста"],"Please type correct emails":["Пожалуйста, введите верные адреса получателей"],"Please type emails":["Пожалуйста, введите адреса получателей"],"Please type subject":["Укажите тему письма"],"Please type the project name.":["Пожалуйста, укажите название проекта."],"Please type the webhook URL.":["Пожалуйста, введите адрес вебхука."],"Please type your email address.":["Пожалуйста, укажите свой адрес электронной почты."],"Please type your password confirmation code.":["Пожалуйста, укажите код подтверждения."],"Please type your password.":["Пожалуйста, введите свой пароль."],"Please upgrade your plan.":["Пожалуйста, обновите тарифный план.\\n"],"Please upload a JPG, PNG, or WebP image.":["Загрузите изображение в формате JPG, PNG или WebP."],"Plugin":["Плагин"],"Plugin connected":["Плагин подключён"],"Plugin connection request":["Заявка на подключение плагина"],"Plugin is not connected":["Плагин не подключён"],"Plus":["Плюс"],"Pointer":["Треугольник"],"Polls":["Опросы"],"Port":["Порт"],"Portrait":["Вертикальная"],"Position in cell":["Положение в ячейке"],"Prefer spaces over tabs.":["Делать табуляцию пробелами."],"Prefix path inside the bucket for project files":["Префикс — путь внутри бакета для файлов проекта"],"Preheader":["Прехедер"],"Preheader copied to email settings":["Прехедер скопирован в настройки письма"],"Preparing countdown preview…":["Готовим превью таймера..."],"Preparing video preview…":["Готовим превью видео..."],"Preview":["Предпросмотр"],"Preview mode":["Предпросмотр"],"Price":["Цена"],"Price currency":["Валюта"],"Price currency must be a three-letter ISO 4217 code, for example USD":["Валюта указывается трёхбуквенным кодом ISO 4217, например USD"],"Privacy Policy.":["Политикой конфиденциальности."],"Product carousel":["Карусель товаров"],"Profile":["Профиль"],"Project":["Проект"],"Project files are stored on the built-in Blocks CDN. No additional connection settings are required.":["Файлы проекта хранятся во встроенной CDN Blocks. Дополнительно настраивать подключение не нужно."],"Project files are stored on the built-in EmailMaker CDN. No additional connection settings are required.":["Файлы проекта хранятся во встроенной CDN EmailMaker. Дополнительно настраивать подключение не нужно."],"Project information":["Информация о проекте"],"Project name":["Название проекта"],"Project name must be at most 100 characters.":["Название проекта не длиннее 100 символов."],"Project not found.":["Проект не найден."],"Project settings":["Настройки проекта"],"Project styles":["Стили проекта"],"Project styles saved.":["Стили проекта сохранены."],"Project switched to the built-in storage.":["Проект переключён на встроенное хранилище."],"Projects":["Проекты"],"Promo code applied.":["Промокод применен."],"Promocodes":["Промокоды"],"Promotion cards":["Промокарточки"],"Proofreader":["Корректор "],"Psychologist":["Психолог"],"Public URL":["Публичный адрес"],"Public access key":["Публичный ключ доступа"],"Public offer":["Публичная оферта"],"Purple":["Фиолетовый"],"Push block update to all templates":["Применить обновление блока ко всем шаблонам"],"Quarter":["Квартал"],"Radio button":["Радиокнопка"],"Read only":["Только для чтения"],"Ready-made HTML template for testing the plugin locally.":["Готовый HTML-шаблон, чтобы проверить плагин локально."],"Real Estate":["Недвижимость"],"Real-time notifications about email-related events.":["Уведомления о событиях с письмами в реальном времени."],"Receipt":["Чек"],"Recipients":["Получатели"],"Recommended":["Рекомендуемые"],"Recover":["Восстановить"],"Recover password":["Восстановить пароль"],"Recurring payments disabled":["Автоплатёж отключён"],"Recurring payments enabled":["Автоплатёж включён"],"Red":["Красный"],"Redo (Ctrl+Shift+Z)":["Повторить (Ctrl+Shift+Z)"],"Refresh":["Обновить"],"Refresh inbox":["Обновить почтовый ящик"],"Registered":["Регистрация"],"Reload page":["Перезагрузить страницу"],"Remaining:":["Осталось:"],"Remember me":["Запомнить меня"],"Remove":["Удалить"],"Remove annotations":["Удалить аннотации"],"Remove block":["Удалить блок"],"Remove column":["Удалить столбец"],"Remove element":["Удалить элемент"],"Remove element by Delete Key":["Удалить элемент (Delete)"],"Remove file":["Удалить файл"],"Remove group":["Удалить группу"],"Remove logo":["Удалить логотип"],"Remove member":["Удалить участника"],"Remove row":["Удалить строку"],"Remove slide":["Удалить слайд"],"Removed %1$d of %2$d.":["Удалено %1$d из %2$d."],"Rename":["Переименовать"],"Rename block":["Переименовать блок"],"Rename email":["Переименовать письмо"],"Reorder block":["Переместить блок"],"Reorder element":["Переместить элемент"],"Reorder group":["Переместить группу"],"Repeat background (repeat)":["Повторять фон (repeat)"],"Repeat background horizontally (repeat-x)":["Горизонтальное повторение фона (repeat-x)"],"Repeat background vertically (repeat-y)":["Вертикальное повторение фона (repeat-y)"],"Repeat the new password":["Повторите новый пароль"],"Replace the preheader":["Вставить в прехедер письма"],"Replace the title":["Вставить в заголовок письма"],"Reply":["Ответить"],"Reply to the comment":["Ответить на комментарий"],"Request for changing the pricing plan":["Запрос на смену тарифа"],"Request sent successfully.":["Запрос отправлен."],"Requests JSON":["JSON с запросами"],"Required field":["Обязательное поле"],"Resend":["Отправить повторно"],"Responsive email":["Адаптировать письмо в моб. устройствах"],"Restore %1$d block to folder “%2$s”?":["Восстановить %1$d блок в папку «%2$s»?","Восстановить %1$d блока в папку «%2$s»?","Восстановить %1$d блоков в папку «%2$s»?"],"Restore %1$d template to folder “%2$s”?":["Восстановить %1$d шаблон в папку «%2$s»?","Восстановить %1$d шаблона в папку «%2$s»?","Восстановить %1$d шаблонов в папку «%2$s»?"],"Restore block “%1$s” to folder “%2$s”?":["Восстановить блок «%1$s» в папку «%2$s»?"],"Restore template “%1$s” to folder “%2$s”?":["Восстановить шаблон «%1$s» в папку «%2$s»?"],"Resume":["Резюме"],"Retail & E-commerce":["Розница и e-commerce"],"Retry":["Повторить"],"Retry failed":["Повторить неудавшиеся"],"Reverse order on desktop":["Изменить порядок в десктопе"],"Revoke the invite":["Отозвать приглашение"],"Right":["Справа"],"Right Code panel":["Панель кода справа"],"Right padding":["Отступ справа"],"Right to left":["Справа налево"],"Role":["Роль"],"Rotate":["Перевыпустить"],"Rotate client secret?":["Перевыпустить Client Secret?"],"Rotate secret":["Перевыпустить секрет"],"Round":["Круглый"],"Rounded corners in Outlook (VML)":["Закругленные углы в Outlook (VML)"],"SMS":["СМС"],"Safe Fonts":["Безопасные шрифты"],"Sandbox HTML file":["HTML-файл песочницы"],"Sans Serif":["Sans Serif"],"Save":["Сохранить"],"Save %d block":["Сохранить %d блок","Сохранить %d блока","Сохранить %d блоков"],"Save all blocks":["Сохранить все блоки"],"Save and continue":["Сохранить и продолжить"],"Save block":["Сохранить блок"],"Save by Ctrl+S":["Ctrl+S"],"Save by ⌘S":["Сохранить ( ⌘S )"],"Save email first.":["Сначала сохраните письмо."],"Save the block before commenting.":["Сохраните блок перед комментированием."],"Save the email before commenting.":["Сохраните письмо перед комментированием."],"Save to Blocks":["Сохранить в Блоки"],"Save to Blocks button.":["Сохранить в Блоки"],"Saved blocks":["Сохранённые блоки"],"Saving changes in the block":["Сохранение изменений в блоке"],"Saving failed":["Сохранение не удалось"],"Search":["Поиск"],"Search GIFs":["Поиск GIF"],"Search a block":["Найти блок"],"Search by email":["Поиск по email"],"Search by name":["Поиск по названию"],"Search by title":["Поиск по названию"],"Search image":["Поиск изображения"],"Search the vast gallery of stock photos and GIFs to find visuals for any occasion. You can filter the results by image orientation, color scheme, and more.":["В обширной галерее стоковых фотографий и GIF-файлов вы найдете изображения для любого случая. Вы можете отфильтровать результаты по ориентации изображения, цветовой гамме и т. д."],"Secret Access Key":["Секретный ключ доступа"],"Secret access key":["Секретный ключ доступа"],"Secret is masked. Use Rotate to get a new secret once.":["Секрет скрыт. Нажмите «Перевыпустить», чтобы один раз увидеть новый."],"Section":["Раздел"],"Section ":["Раздел"],"Section title":["Заголовок раздела"],"Security":["Безопасность"],"Select a category":["Выберите категорию"],"Select a font family":["Выберите шрифт"],"Select a theme":["Выберите тему"],"Select all %d":["Выбрать все: %d"],"Select company size":["Выберите размер компании"],"Select email template":["Выберите шаблон письма"],"Select industry":["Выберите отрасль"],"Select period":["Выберите период"],"Select plan":["Выбрать тариф"],"Select the block type to find any block on the list faster.":["Выберите тип блока, чтобы быстрее найти любой блок в списке."],"Select the time zone":["Выберите часовой пояс"],"Selected %1$d, your plan allows %2$d more emails.":["Выбрано: %1$d, по тарифу можно создать ещё писем: %2$d."],"Send":["Отправить"],"Send a test email":["Отправить тест"],"Send again":["Повторить"],"Send password reset email":["Отправить письмо для сброса пароля"],"Sender Email":["Email отправителя"],"Sender Name":["Имя отправителя"],"Sendsay":["Sendsay"],"Separators":["Разделители"],"Serif":["Serif"],"Server is unavailable":["Сервер недоступен"],"Sessions":["Сессии"],"Set":["Установить"],"Set new password":["Установить новый пароль"],"Set the type":["Укажите тип"],"Settings":["Настройки"],"Shadow inside or outside of the element":["Если включено, то тень будет внутри элемента."],"Share":["Поделиться"],"Share the project with your team and collaborate in real time. Add comments to individual email blocks and discuss necessary edits right in the builder.":["Поделитесь проектом со своей командой и сотрудничайте в режиме реального времени. Добавляйте комментарии к отдельным блокам писем и обсуждайте необходимые правки прямо в конструкторе."],"Short company name":["Краткое название компании"],"Show eye icon":["Показать иконку глаза"],"Show more":["Показать ещё"],"Shuffle options":["Параметры перемешивания"],"Sign In":["Войти"],"Sign Up":["Зарегистрироваться"],"Sign in":["Войти"],"Sign in again to log in as a user":["Войдите заново, чтобы войти под пользователем"],"Sign in to your account to activate the trial period.":["Войдите в свою учетную запись, чтобы активировать пробный период."],"Sign in with eLama":["Войти через eLama"],"Sign out":["Выйти"],"Sign-in methods":["Способы входа"],"Single image preview":["Одно изображение"],"Single quotation":["Кавычка"],"Site":["Сайт"],"Size":["Размер"],"Small desktop – 768px":["Небольшой десктоп – 768px"],"Social buttons":["Кнопки соцсетей"],"Social media":["Соцсети"],"Social network name":["Название соцсети"],"Social network settings":["Настройки соцсети"],"Social networks":["Соцсети"],"Solid":["Сплошная"],"Some blocks were not saved successfully.":["Некоторые блоки не были сохранены."],"Some images were left as links to Stripo":["Часть картинок осталась ссылками на Stripo"],"Something went wrong":["Ошибка редактирования. Обратитесь в техподдержку."],"Something went wrong during layout conversion. You can try running the conversion again.":["При конвертации шаблона произошла ошибка. Вы можете повторить конвертацию."],"Something went wrong, please try again":["Что-то пошло не так. Попробуйте ещё раз."],"Something went wrong.":["Что-то пошло не так."],"Something went wrong. Try again later.":["Что-то пошло не так. Попробуйте позже."],"Soon":["Скоро"],"Sorry, the page you visited does not exist.":["Извините, страница, которую вы посетили, не существует."],"Source code validation":["Проверка кода"],"Spacer":["Отступ"],"Spacing":["Интервал"],"Spam checks":["Проверка на спам"],"Spam validation was successfully completed":["Проверка на спам завершена"],"SpamAssassin":["SpamAssassin"],"Special characters":["Специальные символы"],"Specifies the block width.":["Задаёт ширину блока."],"Split blocks":["Разделить блоки"],"Split cell":["Разделить ячейку"],"Spread radius":["Распространение"],"Square":["Квадрат"],"Squarish":["Квадратная"],"Star":["Звезда"],"Start Trial":["Начать Триал"],"Start date":["Дата начала"],"Start from scratch":["Начать с чистого листа"],"Start the trial":["Включить пробный период"],"Start typing the title":["Начните писать название"],"Start with a detailed description of your email.":["Начните с подробного описания вашего письма."],"Started":["Начало"],"Starts":["Начало"],"Status":["Статус"],"Stay":["Остаться"],"Stock":["Фотосток"],"Stock photos and GIFs":["Стоковые изображения"],"Stopping…":["Остановка…"],"Storage settings":["Настройки хранилища"],"Storage type":["Тип хранилища"],"Stored or bound value for this field":["Сохраненное или заданное значение для этого поля"],"Stored or bound value for this option":["Сохраненное или заданное значение для этого параметра"],"Strikethrough ( Alt+Shift+5 )":["Зачёркнутый ( Alt+Shift+5 )"],"Strikethrough ( ⌘+Shift+X )":["Зачёркнутый ( ⌘+Shift+X )"],"Stripo API key":["API-ключ Stripo"],"Stripo did not accept this key. Check that it is the REST API key of your Stripo project.":["Stripo не принял этот ключ. Проверьте, что это ключ REST API вашего проекта Stripo."],"Stripo did not respond":["Stripo не ответил"],"Stripo is not responding. Try again later.":["Stripo не отвечает. Попробуйте позже."],"Stripo stopped accepting the API key. Update the key and repeat the import.":["Stripo перестал принимать API-ключ. Обновите ключ и повторите импорт."],"Stripo templates become project templates, emails become emails. Folders are recreated, images are copied to the project storage. Items already imported are skipped when you select all.":["Шаблоны Stripo станут шаблонами проекта, письма — письмами. Папки будут воссозданы, картинки скопированы в хранилище проекта. При выборе всех уже импортированные элементы пропускаются."],"Stroke color":["Цвет контура"],"Strong":["Полужирный"],"Strong ( Ctrl+B )":["Полужирный ( Ctrl+B )"],"Strong ( ⌘B )":["Полужирный ( ⌘B )"],"Subfolders will be deleted too. Emails to be moved to the trash: %s.":["Вместе с папкой удалятся подпапки. Писем уйдёт в корзину: %s."],"Subject":["Тема"],"Subject line & preheader generator":["Генератор темы и прехедера"],"Subscription ID is missing":["Отсутствует идентификатор подписки"],"Subscription summary":["Сведения о подписке"],"Success":["Готово"],"Success!":["Готово!"],"Supported formats: .woff, .woff2, .ttf, .otf. Maximum file size is 5 MB.":["Поддерживаемые форматы: .woff, .woff2, .ttf, .otf. Файл не больше 5 МБ."],"Supported: .woff, .woff2, .ttf, .otf — up to {0} MB.":["Поддерживаются .woff, .woff2, .ttf, .otf — до {0} МБ."],"Swap columns":["Поменять местами"],"Switch to a different plan to save more emails.":["Перейдите на другой тариф, чтобы иметь возможность сохранять новые шаблоны."],"Syncing with the server in the background...":["Происходит синхронизация с сервером в фоновом режиме..."],"System":["Системная"],"System theme":["Системная тема"],"TIN (INN)":["ИНН"],"TIN (INN) must be 10 or 12 digits":["ИНН должен состоять из 10 или 12 цифр"],"Tab size":["Величина отступа"],"Table":["Таблица"],"Table view":["Таблица"],"Table width":["Ширина таблицы"],"Tags":["Теги"],"Tags help you find the block in the list.":["Теги помогают найти блок в списке."],"Tariff and payment":["Тариф и оплата"],"Teal":["Бирюзовый"],"Team collaboration":["Командная работа"],"Technical support":["Техническая поддержка"],"Technology & Software":["Технологии и ПО"],"Template":[" Шаблон"],"Template Name":["Название шаблона"],"Template blocks":["Блоки шаблона"],"Template conversion":["Конвертация шаблона"],"Template from another editor":["Шаблон из другого редактора"],"Template is not mobile-friendly":["Шаблон может некорректно отображаться в телефоне"],"Template successfully created!":["Шаблон создан!"],"Templates":["Шаблоны"],"Terms":["Условиями использования"],"Test sends":["Тесты отображения"],"Text":["Текст"],"Text & background":["Текст и фон"],"Text align center":["Текст по центру"],"Text align center ( Ctrl+Shift+E )":["По центру ( Ctrl+Shift+E )"],"Text align center ( ⌘+Shift+E )":["По центру ( ⌘+Shift+E )"],"Text align justify":["Текст по ширине"],"Text align justify ( Ctrl+Shift+J )":["По ширине ( Ctrl+Shift+J )"],"Text align justify ( ⌘+Shift+J )":["По ширине ( ⌘+Shift+J )"],"Text align left":["Текст слева"],"Text align left ( Ctrl+Shift+L )":["По левому краю ( Ctrl+Shift+L )"],"Text align left ( ⌘+Shift+L )":["По левому краю ( ⌘+Shift+L )"],"Text align right":["Текст справа"],"Text align right ( Ctrl+Shift+R )":["По правому краю ( Ctrl+Shift+R )"],"Text align right ( ⌘+Shift+R )":["По правому краю ( ⌘+Shift+R )"],"Text background":["Фон текста"],"Text beside the box":["Текст рядом с полем"],"Text color":["Цвет текста"],"Text copied to clipboard":["Скопировано в буфер обмена"],"Text font":["Шрифт текста"],"Text replacer":["Замена текста"],"Text size":["Размер текста"],"Text subscript":["Подстрочный текст"],"Text superscript":["Надстрочный текст"],"Text visible at the start":["Текст, отображаемый в начале"],"That\`s all we could find.":["Это все, что мы смогли найти."],"The ":[" "],"The Pro plan is not available.":["Тариф «Pro» недоступен."],"The URL that the hyperlink directs to.":["URL, на который указывает ссылка."],"The account number must be 20 digits":["Номер счета должен состоять из 20 цифр"],"The align attribute sets the horizontal alignment of the table.":["Атрибут align устанавливает горизонтальное выравнивание таблицы."],"The block \\"":["Блок «"],"The block was created, but it is not ready yet. It will appear in the block list in a minute.":["Блок создан, но ещё не готов. Через минуту он появится в списке блоков."],"The block was successfully renamed.":["Блок переименован."],"The block was successfully saved.":["Блок сохранен."],"The block will change its colors to contrasting colors. You can change them in the Content Styles section.":["Блок изменит свои цвета на контрастные. Вы можете изменить их в разделе «Стили контента»."],"The block “":["Блок «"],"The captcha is invalid or expired. Please try again.":["Капча неверна или срок её действия истек. Пожалуйста, попробуйте ещё раз."],"The code size exceeds the recommended value 90kB":["Размер кода превышает рекомендуемое значение 90 кБ."],"The code that will replace this text":["Код, который заменит этот текст"],"The copies were successfully created.":["Копии созданы."],"The copy of block “":["Копия блока «"],"The copy of email \\"":["Копия письма \\""],"The current code size is":["Текущий размер кода составляет"],"The current template will be changed to the generated one, are you sure about this?":["Текущий шаблон будет заменен на сгенерированный, вы уверены в этом?"],"The draft of the block has been deleted.":["Черновик блока удалён."],"The draft of the email has been deleted.":["Черновик письма удалён."],"The email \\"":["Письмо \\""],"The email content is empty — saving was cancelled to prevent data loss.":["Содержимое письма пусто — сохранение отменено, чтобы не потерять данные."],"The email could not be loaded. Please try again.":["Не удалось загрузить письмо. Попробуйте ещё раз."],"The email has been copied to the clipboard.":["Код письма скопирован в буфер обмена."],"The email is confirmed":["Email подтверждён"],"The email limit of your plan has been reached.":["Лимит писем вашего тарифа исчерпан."],"The email was successfully renamed.":["Письмо переименованно."],"The email was successfully saved.":["Письмо сохранено."],"The email “":["Письмо «"],"The feature is under development.":["Функционал находится в разработке."],"The folder \\"":["Папка «"],"The folder “":["Папка «"],"The font-size CSS property sets the size of the font.":["Свойство font-size устанавливает размер шрифта."],"The global block was updated.":["Глобальный блок был обновлён."],"The group “":["Группа «"],"The image could not be uploaded.":["Не удалось загрузить изображение."],"The image was successfully uploaded.":["Изображение загружено."],"The import failed. Try again later.":["Импорт не удался. Попробуйте позже."],"The inbox has been updated.":["Почтовый ящик обновлён."],"The invitation has been sent":["Приглашение отправлено"],"The maximum number of requests for the current subscription period has been reached.\\nSelect the appropriate plan to fulfil more requests":["Максимальное количество запросов для текущего периода подписки достигнуто.\\nВыберите соответствующий тариф для выполнения большего количества запросов."],"The password does not meet the requirements:":["Пароль не соответствует требованиям безопасности:"],"The password has been changed and all sessions of the user are ended":["Пароль изменён, все сессии пользователя завершены"],"The password is too simple.":["Слишком простой пароль."],"The password reset email has been sent":["Письмо для сброса пароля отправлено"],"The payment widget failed to load. Refresh the page and try again.":["Не удалось загрузить виджет оплаты. Обновите страницу и попробуйте ещё раз."],"The previous secret will stop working immediately.":["Прежний секрет перестанет работать сразу."],"The project \\"":["Проект «"],"The saved key no longer works. Enter a new one.":["Сохранённый ключ больше не работает. Введите новый."],"The selected element is in the block that supports a multicolumn structure. To add a new column, click the \\"Add a column\\" button.":["Выделенный элемент находится в блоке, в котором можно организовать многоколоночную структуру. Для добавления новой колонки нажмите кнопку «Добавить колонку»."],"The server returned an unexpected response. Please try again or contact support.":["Сервер вернул неожиданный ответ. Попробуйте ещё раз или обратитесь в службу поддержки."],"The specified parameters will be added to all links when exporting the email.":["Специальные параметры будут добавлены во все ссылки при экспорте."],"The test email will be sent to the specified addresses.":["Тестовое письмо будет отправлено на указанные адреса."],"The title of the email is displayed in the list of the templates and usually matches the subject line, but you can change it.":["Название отображается в списке шаблонов и зачастую совпадает с темой письма, но вы можете его изменить."],"The trash is empty.":["Корзина пуста."],"The trial has ended. You are on the Free plan.":["Пробный период закончился. Вы пользуетесь тарифом «Free»."],"The two passwords that you entered do not match!":["Два введенных вами пароля не совпадают!"],"The usage limit has been exceeded":["Превышен лимит использования"],"The user is blocked":["Пользователь заблокирован"],"The user is unblocked":["Пользователь разблокирован"],"The whole email":["Всё письмо"],"Theme":["Тема"],"There are no blocks for this request.":["По данному запросу ничего не найдено."],"There are no members yet":["Участников пока нет"],"There's no such comment.":["Нет такого комментария."],"There's no such element in the email.":["В письме нет такой метки."],"These global blocks have a newer saved version. Select the ones to update in the template.":["Для этих глобальных блоков имеется более новая сохраненная версия. Выберите в шаблоне те из них, которые необходимо обновить."],"This Figmail link has expired or is unavailable. Open the email from the plugin again.":["Ссылка Figmail устарела или недоступна. Откройте письмо из плагина ещё раз."],"This action cannot be undone.":["Это действие нельзя отменить."],"This and other features are available for you on a higher plan.":["Эти и другие функции доступны для вас на более старшем тарифном плане."],"This block has no public link yet.":["У этого блока пока нет публичной ссылки."],"This block no longer exists. It may have been deleted.":["Блока больше нет. Возможно, его удалили."],"This can be the name of your company, department, website, project, marketing campaign, or other activity.":["Это может быть название вашей компании, отдела, веб-сайта, проекта или сферы деятельности, для которой вы планируете создать рассылку."],"This element":["Этот элемент"],"This email has no public link yet.":["У этого письма пока нет публичной ссылки."],"This email must be verified in Mailganer":["Адрес необходимо подтвердить в Mailganer"],"This email must be verified in Sendsay":["Адрес необходимо подтвердить в Sendsay"],"This email must be verified in Unisender":["Адрес необходимо подтвердить в Unisender"],"This email no longer exists. It may have been deleted.":["Письма больше нет. Возможно, его удалили."],"This field is required":["Это обязательное поле"],"This field sets the width of the email.":["Это поле выставляет ширину письма."],"This is a global block. You can create a new one to apply changes only in this email, or update the current one — then the changes will be applied everywhere this block is used.":["Это глобальный блок. Вы можете создать новый блок, чтобы изменения вступили в силу только в этом письме, или обновить текущий — в этом случае изменения будут применены везде, где используется этот блок."],"This layout was not created in our editor. Convert it to unlock full editing capabilities: easily change texts, replace images, and manage blocks.":["Этот шаблон не был создан в нашем редакторе. Преобразуйте его, чтобы получить доступ ко всем возможностям редактирования: легко изменяйте тексты, заменяйте изображения и управляйте блоками."],"This link cannot be used as a font source.":["Эту ссылку нельзя использовать как источник шрифта."],"This may take several minutes. Please keep this tab open.":["Это может занять несколько минут. Пожалуйста, не закрывайте эту вкладку."],"This project has no template sections yet.":["В проекте пока нет разделов шаблонов."],"This promo code is already applied.":["Промокод уже применен."],"This section will be implemented in a separate task.":["Раздел пока в разработке."],"This template was created in another editor. Rebuild it from our components to get stable rendering, error-free editing, and full design control.":["Этот шаблон создан в другом редакторе. Пересоберите его из наших компонентов и получите стабильное отображение, редактирование без ошибок и полный контроль над дизайном."],"Time":["Время"],"Time units font settings":["Шрифт единиц времени"],"Time zone":["Часовой пояс"],"Title":["Название"],"Title copied to email settings":["Заголовок скопирован в настройки письма"],"Title should not be empty":["Заголовок не должен быть пустым"],"Title shown above the control":["Название, отображаемое над элементом управления"],"To add a block from the dashboard click the":["Чтобы добавить блок, нажмите в визуальном редакторе письма кнопку"],"To avoid this issue, disable translation for this site in your browser settings or turn off auto-translate.":["Чтобы избежать этой проблемы, отключите перевод данного сайта в настройках браузера или отключите функцию автоматического перевода."],"To change the appearance of the element on the mobile device, edit the fields below. If the fields remain empty, the desktop styles will be applied to the mobile version.":["Для изменения внешнего вида элемента в мобильном устройстве, внесите правки в поля ниже. Если поле пустое, то в мобильной версии применятся стили для десктопа."],"To create a copy, you need to save the block.":["Чтобы создать копию, вы должны сохранить блок."],"To create a copy, you need to save the email.":["Чтобы создать копию, вы должны сохранить письмо."],"To emails":["В письма"],"To fully address all necessary tasks in any field":["Чтобы в полной мере решить все необходимые задачи в любой области"],"To get started quickly":["Чтобы быстро приступить к работе"],"To import from Stripo, add the REST API key of your Stripo project: <1>open the project settings in Stripo</1>, find “Access the REST API” and generate a key.":["Чтобы импортировать из Stripo, добавьте ключ REST API вашего проекта Stripo: <1>откройте настройки проекта в Stripo</1>, найдите «Access the REST API» и сгенерируйте ключ."],"To leave comments you must be logged into Blocks and added to the project ":["Чтобы оставлять комментарии, вы должны быть авторизованы и добавлены в проект "],"To leave comments you must be logged into EmailMaker and added to the project ":["Чтобы оставлять комментарии, вы должны быть авторизованы и добавлены в проект "],"To preview and edit the uploaded image":["Предварительный просмотр и редактирование загруженного изображения"],"To send a test email, you need to confirm your email address. If you haven’t received the confirmation link, contact support in the chat or email {supportEmail}.":["Чтобы отправить тестовое письмо, вам необходимо подтвердить свой адрес электронной почты. Если вы не получили ссылку для подтверждения, обратитесь в службу поддержки через чат или по электронной почте {supportEmail}."],"Today":["Сегодня"],"Too many items selected. One import takes up to 1000 items.":["Выбрано слишком много. Один импорт берёт до 1000 элементов."],"Tooltip or hint text":["Всплывающая подсказка или текст подсказки"],"Tooltip text":["Текст всплывающей подсказки"],"Top":["Сверху"],"Top left corner":["Верхний левый угол"],"Top margin":["Отступ сверху"],"Top padding":["Отступ сверху"],"Top right corner":["Верхний правый угол"],"Top up balance":["Пополнить баланс"],"Transactional":["Транзакционные"],"Transfer to folder":["Переместить"],"Translator":["Переводчик"],"Transparency":["Прозрачность"],"Trial":["Триал"],"Trial activated":["Пробная версия активирована"],"Trial active":["Пробная версия активна"],"Trial period activated.":["Пробный период активирован."],"Try again":["Попробовать ещё раз"],"Try every editor feature — free":["Попробуйте все возможности редактора — бесплатно"],"Try for free":["Попробуйте бесплатно"],"Try reloading the page.":["Попробуйте перезагрузить страницу."],"Try sign in with your new password.":["Попробуйте войти с новым паролем."],"Turn on a 14-day trial and the whole editor opens up:":["Включим пробный период на 14 дней — и редактор откроется целиком:"],"Type":["Тип"],"Type category here":["Укажите категорию"],"Type in the project's webhook":["Введите проект webHook"],"Type subject":["Укажите тему письма"],"Type the output parameters of your platform. E.g., ":["Указывайте символы вывода параметра вашей платформы. Например, "],"Type title here":["Введите название"],"Type your description here":["Введите описание"],"Type your request":["Введите ваш запрос"],"Type your tags here":["Укажите теги"],"Typing...":["Ввод текста..."],"Typograf":["Типограф"],"Typography":["Типограф"],"URL":["URL"],"URL must start with https://":["Адрес должен начинаться с https://"],"URL of the video clip.":["URL-адрес видеоклипа."],"UTM parameters":["UTM-метки"],"Unavailable":["Недоступно"],"Unblock user":["Разблокировать пользователя"],"Underline":["Подчёркнутый"],"Underline ( Ctrl+U )":["Подчёркнутый ( Ctrl+U )"],"Underline ( ⌘U )":["Подчёркнутый ( ⌘U )"],"Undo (Ctrl+Z)":["Отменить (Ctrl+Z)"],"Unisender":["Unisender"],"Unknown error":["Неизвестная ошибка"],"Unknown integration":["Неизвестная интеграция"],"Unlimited possibilities with the PRO plan":["Безграничные возможности с тарифом PRO"],"Unlock":["Разблокировать"],"Unordered list":["Ненумерованный список"],"Unsaved changes":["Несохранённые изменения"],"Untitled email.":["Письмо без названия."],"Up to parent element":["Перейти к контейнеру"],"Update":["Обновить"],"Update current block":["Обновить текущий блок"],"Update date":["Дата обновления"],"Update global blocks":["Обновить глобальные блоки"],"Updated":["Обновлено"],"Upload":["Загрузить"],"Upload .woff, .woff2, .ttf or .otf files for use in the email editor.":["Загрузите файлы .woff, .woff2, .ttf или .otf, чтобы использовать их в редакторе писем."],"Upload Image":["Загрузить изображение"],"Upload failed":["Загрузка не удалась"],"Upload first font":["Загрузить первый шрифт"],"Upload font":["Загрузить шрифт"],"Upload logo":["Загрузить логотип"],"Upload your email":["Загрузить своё письмо"],"Uppercase":["Заглавные"],"Uppercase letters (A-Z)":["Заглавные буквы (A–Z)"],"Usage analytics":["Аналитика использования"],"Use custom icon for checked state":["Использовать пользовательскую иконку для отмеченного состояния"],"Use our visual editor to customize every element to your needs: change borders and their radius, box shadows, paddings, background, and much more.":["Используйте наш визуальный редактор, чтобы настроить каждый элемент под свои нужды: изменить рамки и их радиус, тени, отступы, фон и многое другое."],"Use this email as a template for creating future emails.":["Используйте это письмо в качестве шаблона для создания будущих писем."],"Use this one":["Использовать эту"],"Use your own styles instead of defaults for states such as error, focus, and success.":["Используйте собственные стили вместо стандартных для таких состояний, как «ошибка», «фокус» и «успех»."],"Used":["Используемые"],"User":["Пользователь"],"User not found":["Пользователь не найден"],"Username":["Логин"],"Users":["Пользователи"],"VAT":["НДС"],"Valid":["Верно"],"Valid until":["Оплачен до"],"Validation error message":["Сообщение об ошибке проверки"],"Value":["Значение"],"Variable value":["Значение переменной"],"Version history":["Контроль версий"],"Version of":["Версия от"],"Vertical":["Вертикальный"],"Vertical alignment":["Верт. выравнивание"],"Vertical offset":["Верт. смещение"],"Vertical padding":["Вертикальный отступ"],"Vertical position":["Верт. смещение"],"Video":["Видео"],"Video URL":["URL-адрес видео"],"View only — you cannot edit settings in this section.":["Только просмотр — настройки в этом разделе менять нельзя."],"Vimeo":["Vimeo"],"Visibility":["Видимость"],"Visibility in AMP":["Видимость в AMP"],"Visit site":["Перейти на сайт"],"Want to resize an image, add some text, or apply a filter? No need to leave builder! You can make all the basic changes in our image editor.":["Хотите изменить размер изображения, добавить текст или применить фильтр? Не нужно покидать EmailMaker! Все основные изменения вы можете сделать в нашем редакторе изображений."],"Warning":["Предупреждение"],"Warnings":["Предупреждения"],"We are always in touch":["Мы всегда на связи"],"We removed the injected code automatically. To avoid this issue, disable the extension for this site or use the editor in an incognito window without extensions.":["Мы автоматически удалили внедренный код. Чтобы избежать этой проблемы, отключите расширение для этого сайта или воспользуйтесь редактором в окне инкогнито без расширений."],"Web version":["Веб-версия"],"Webhook":["WebHook"],"Webhook URL":["Вебхук"],"Webhook settings":["Настройки вебхука"],"Webhook successfully sent!":["WebHook отправлен!"],"Website link":["Ссылка на сайт"],"Week":["Неделя"],"What's new":["Что нового"],"When the trial ends, the service switches to the free plan.":["Когда триал закончится, сервис перейдёт в бесплатный режим."],"When the trial ends, you will return to the Free plan.":["По окончании пробного периода вы вернётесь к тарифу «Free»."],"When you need more letters, additional projects and participants":["Если вам понадобится больше писем, дополнительных проектов и участников"],"While editing, some elements of the email no longer fit the screen of the mobile device. Check that these elements are set to a smaller width for mobile devices.":["Похоже, при редактировании шаблона, некоторые элементы перестали помещаться в экран мобильного устройства. Попробуйте уменьшить их ширину."],"White":["Белый"],"White circle":["Белый круг"],"White circle outlined":["Белый круг обводка"],"Width":["Ширина"],"With VAT":["С НДС"],"With VAT / without VAT":["С НДС / без НДС"],"With warnings":["С предупреждениями"],"Without VAT":["Без НДС"],"Without background color":["Без цвета фона"],"Without button":["Без кнопки"],"Without folder":["Без папки"],"Without image":["Без картинки"],"Without shadow":["Без тени"],"WordPress user ID":["ID пользователя в WordPress"],"Work with the HTML code":["Работа с HTML-кодом"],"Work with your markup":["Работайте со своей вёрсткой"],"Year":["Год"],"Yes":["Да"],"You are buying a set of AI generation requests:":["Вы приобретаете набор запросов на генерацию с помощью ИИ:"],"You are buying an extra email generation package:":["Вы приобретаете дополнительный пакет для создания писем:"],"You are buying an extra image check package:":["Вы приобретаете дополнительный пакет проверки изображений:"],"You are buying an extra image generation package:":["Вы приобретаете дополнительный пакет для генерации изображений:"],"You are buying an extra link check package:":["Вы приобретаете дополнительный пакет проверки ссылок:"],"You are buying an extra optimization package:":["Вы приобретаете дополнительный пакет оптимизации:"],"You are buying an extra preview/test sends package:":["Вы приобретаете дополнительный пакет тестов:"],"You are buying an extra spam check package:":["Вы приобретаете дополнительный пакет проверки на спам:"],"You are paying for the plan:":["Вы оплачиваете тарифный план:"],"You are running out of AI tool usage.":["Ваш лимит использования инструментов ИИ подходит к концу."],"You can activate a 2-week trial version that includes access to all features.":["Вы можете активировать 2-недельную пробную версию, которая включает доступ ко всем функциям."],"You can add more generations right now; they are billed separately from the generations included in your plan.":["Вы можете добавить дополнительные генерации прямо сейчас; их стоимость оплачивается отдельно от генераций, включенных в ваш тарифный план."],"You can also save all blocks at once. The AI assistant will automatically determine the type and create a name for each block when saving.":["Вы также можете сохранить все блоки сразу. ИИ ассистент автоматически определит тип и создаст имя для каждого блока при сохранении."],"You can close this window: the import continues in the background.":["Окно можно закрыть: импорт продолжится в фоне."],"You can get more emails and access to all features.":["Вы сможете создавать больше писем и получить доступ ко всем функциям."],"You can increase the limit by changing your plan or buying an extra package.":["Вы можете увеличить лимит, сменив тарифный план."],"You can increase the number of emails right now.":["Вы можете увеличить количество писем прямо сейчас."],"You can save blocks from the email template.":["Вы можете сохранить блоки из шаблона письма."],"You cannot switch plans because a limit has been exceeded.":["Вы не можете сменить тарифный план, так как превышен лимит."],"You changed the role of ":["Вы поменяли роль "],"You deleted ":["Вы исключили пользователя "],"You deleted yourself from the project successfully.":["Вы исключили себя из проекта."],"You do not have access to this email.":["У вас нет доступа к этому письму."],"You do not have permission to edit project styles.":["У вас нет прав на редактирование стилей проекта."],"You do not have permission to view this section.":["У вас нет прав на просмотр этого раздела."],"You don't have any blocks in this folder.":["У вас нет блоков в этой папке."],"You don't have any blocks yet.":["У вас еще нет сохранённых блоков."],"You don't have any emails in this folder.":["В папке пока нет писем."],"You don't have any emails yet.":["У вас еще нет сохранённых писем."],"You don't have any projects yet.":["У вас пока нет проектов."],"You don\`t have any saved blocks yet.":["У вас ещё нет сохранённых блоков."],"You have reached the limit of AI chat usage.":["Вы достигли предела использования чата ИИ.\\n"],"You have reached the limit of AI generator usage.":["Вы достигли предела использования генератора ИИ.\\n"],"You have unsaved changes. Leave this page without saving?":["У вас есть несохранённые изменения. Покинуть страницу без сохранения?"],"You have used up the number of emails you can create on your current plan":["Вы исчерпали лимит на количество писем, которое можно создать в рамках вашего текущего тарифа"],"You have used up your AI generations":["Вы исчерпали лимит генераций ИИ"],"You have used up your image check limit":["Вы исчерпали лимит проверки изображений"],"You have used up your image generation limit":["Вы исчерпали лимит на генерацию изображений"],"You have used up your link check limit":["Вы исчерпали лимит проверок ссылок"],"You have used up your optimisation limit":["Вы исчерпали лимит оптимизаций"],"You have used up your preview (test send) limit":["Вы исчерпали лимит на просмотр в почтовиках"],"You have used up your spam check limit":["Вы исчерпали лимит проверок на спам"],"You have used up your test send limit":["Вы исчерпали лимит тестовых отправок"],"You reached the plan limit":["Достигнут лимит тарифа"],"You revoke invite for ":["Вы отзываете приглашение для "],"Your Altcraft Platform URL (Cloud: ru.altkraft.com or your On-Premises URL)":["URL вашей платформы Altcraft (облачная версия: ru.altkraft.com или URL вашей локальной версии)"],"Your Sendsay account login (not email). For sublogin use format: account/sublogin":["Ваш логин в Sendsay (не email). Для ввода дополнительного логина используйте формат: account/sublogin"],"Your admin session has ended. Sign in again.":["Сессия администратора закончилась. Войдите заново."],"Your company":["Ваша компания"],"Your current plan":["Ваш текущий тариф"],"Your email doesn't look like spam.":["Ваше письмо не похоже на спам."],"Your generations are running out soon":["Генерации с помощью ИИ скоро закончатся"],"Your letter contains %d block that can be saved for future use.":["Ваше письмо содержит %d блок, который можно сохранить для использования в будущем.","Ваше письмо содержит %d блока, которые можно сохранить для использования в будущем.","Ваше письмо содержит %d блоков, которые можно сохранить для использования в будущем."],"Your package is activated":["Пакет активирован"],"Your password successfully reset.":["Ваш пароль успешно сброшен."],"Your password was successfully changed.":["Ваш пароль успешно изменен."],"Your plan will be activated within 10 minutes.":["Тариф активируется в течение 10 минут."],"Your plan will expire soon":["Ваш тариф скоро закончится"],"Your profile was successfully updated.":["Настройки сохранены."],"Your project has incoming email":["У вашего проекта есть входящая почта"],"Your templates and emails":["Ваши шаблоны и письма"],"Youtube Black":["Youtube Чёрный"],"Youtube Red":["Youtube Красный"],"Youtube White":["Youtube Белый"],"Z-A":["Я-А"],"ZIP":["ZIP-архив"],"accordion":["аккордеон"],"and":["и"],"before %s":["до %s"],"block":["Блок","",""],"block\\u0004\\" was successfully removed.":["» удалён."],"block\\u0004Are you sure to delete selected blocks?":["Вы уверены, что хотите удалить выбранные блоки?"],"block\\u0004Are you sure to irrevocably delete all blocks from the trash?":["Вы уверены, что хотите безвозвратно удалить все блоки из корзины?"],"block\\u0004Are you sure to irrevocably delete selected blocks?":["Вы уверены, что хотите безвозвратно удалить выбранные блоки?"],"block\\u0004Are you sure to irrevocably delete the “":["Вы уверены, что хотите удалить «"],"block\\u0004Are you sure you want to delete the “":["Вы уверены, что хотите удалить блок «"],"block\\u0004The trash was emptied.":["Корзина очищена."],"block\\u0004locked.":["заблокирован."],"block\\u0004unlocked.":["разблокирован."],"block\\u0004” was successfully created.":["» создана."],"block\\u0004” was successfully removed.":["» удалён."],"border\\u0004Width":["Толщина"],"button":["кнопка"],"carousel":["карусель"],"cell":["ячейка"],"column":["колонка"],"confirmation code":["код подтверждения"],"container":["контейнер"],"copy\\u0004\\" was successfully created.":["» создана."],"countdown":["таймер"],"cpc":["cpc"],"day":["день","дня","дней"],"e.g., 123456":["Например, 123456"],"e.g., Newsletter June 2026":["Например, дайджест за июнь"],"e.g., Special offer for you!":["Например: Специальное предложение!"],"e.g., Your Company":["Например, Ваша компания"],"e.g., https://ru.altkraft.com":["Например, https://ru.altkraft.com"],"e.g., myaccount or myaccount/sublogin":["Например, myaccount или myaccount/sublogin"],"element":["элемент"],"email":["эл. почта"],"email\\u0004\\" was successfully removed.":["\\" удалено."],"email\\u0004Are you sure to delete \\"":["Вы уверены, что хотите удалить письмо «"],"email\\u0004Are you sure to delete selected emails?":["Вы уверены, что хотите удалить выбранные письма?"],"email\\u0004Are you sure to irrevocably delete \\"":["Вы уверены, что хотите удалить письмо «"],"email\\u0004Are you sure to irrevocably delete all emails from the trash?":["Вы уверены, что хотите безвозвратно удалить все письма из корзины?"],"email\\u0004Are you sure to irrevocably delete selected emails?":["Вы уверены, что хотите безвозвратно удалить выбранные письма?"],"email\\u0004The trash was emptied.":["Корзина очищена."],"email\\u0004locked.":["заблокировано."],"email\\u0004unlocked.":["разблокировано."],"empty link":["пустая ссылка"],"empty src":["нет картинки"],"enKod":["enKod"],"expanded":["Раскрыт"],"folder\\u0004\\" was successfully created.":["» создана."],"folder\\u0004Are you sure to delete “":["Вы уверены, что хотите удалить папку «"],"folder\\u0004” was successfully changed to “":["» переименована в «"],"google":["google"],"group":["группа"],"group\\u0004All":["Все"],"group\\u0004Are you sure to delete “":["Вы уверенны, что хотите удалить группу «"],"group\\u0004Project":["Проектные"],"group\\u0004Standard":["Стандартные"],"group\\u0004” was successfully changed to “":["» переименована в «"],"hour":["час","часа","часов"],"https://cdn.useblocks.io/1351/241017_18_1sGjUaZ.png":["https://emcdn.ru/384263/241017_18_K3O0sad.png"],"https://cdn.useblocks.io/1351/241017_18_2fjDRfL.png":["https://emcdn.ru/644755/241021_5149_MtX8mBz.png"],"https://cdn.useblocks.io/1351/241017_18_D5C25Zp.png":["https://emcdn.ru/384263/241017_18_fsshqsL.png"],"https://cdn.useblocks.io/1351/241017_18_J7QtvZ3.png":["https://emcdn.ru/384263/241017_18_I98a6kp.png"],"https://cdn.useblocks.io/1351/241017_18_NDYloAO.png":["https://emcdn.ru/384263/241017_18_QFBYtv0.png"],"https://cdn.useblocks.io/1351/241017_18_S5Pld9p.png":["https://emcdn.ru/384263/241017_18_HFSbGb5.png"],"https://cdn.useblocks.io/1351/241017_18_g5mVlmh.png":["https://emcdn.ru/384263/241017_18_Uu6iuFF.png"],"https://cdn.useblocks.io/1351/241017_18_gDXi4uM.png":["https://emcdn.ru/384263/241017_18_lkaw2P4.png"],"https://cdn.useblocks.io/1351/241017_18_tGbb2j9.png":["https://emcdn.ru/384263/241017_18_ykdbX19.png"],"https://cdn.useblocks.io/1351/241017_18_ur8Lh3W.png":["https://emcdn.ru/384263/241017_18_HMNSbZd.png"],"https://cdn.useblocks.io/1351/241031_18_JoH0f3E.png":["https://emcdn.ru/719787/241031_976_jyIsWjj.png"],"https://cdn.useblocks.io/1351/241031_18_OQEyMEF.png":["https://emcdn.ru/719787/241031_976_lgYswn9.png"],"https://cdn.useblocks.io/1351/241031_18_aJAY1Xz.png":["https://emcdn.ru/719787/241031_976_XfDnnmK.png"],"images":["Изображения"],"indent":["отступ"],"kB":["kB"],"letter\\u0004Email":["Письмо"],"letter\\u0004email":["Письмо"],"link":["ссылка"],"loading more":["загрузить ещё"],"mail generator":["генератор писем"],"main heading":["основной заголовок"],"max 10":["максимум 10"],"member\\u0004 to ":[" на "],"member\\u0004Administrator":["Администратор"],"member\\u0004Invited":["Приглашённый"],"member\\u0004Owner":["Владелец"],"messeges":["сообщения"],"minute":["минута","минуты","минут"],"ms":["мс"],"new password":["новый пароль"],"not valid":["не верно"],"of":["из"],"or":["или"],"password":["пароль"],"picture":["изображение"],"project\\u0004 across all your projects?":[" во всех ваших проектах?"],"project\\u0004 from project ":[" из проекта "],"project\\u0004 in project ":["в проекте"],"project\\u0004Actions":["Действия"],"project\\u0004Add members":["Добавить участников"],"project\\u0004Are you sure you want to change permissions for user ":["Вы уверены, что хотите изменить права доступа для пользователя "],"project\\u0004Are you sure you want to invite user ":["Вы уверены, что хотите пригласить этого пользователя "],"project\\u0004Are you sure you want to remove user ":["Вы уверены, что хотите удалить пользователя "],"project\\u0004Are you sure you want to revoke the invitation for ":["Вы уверены, что хотите отозвать приглашение для "],"project\\u0004Change in all projects":["Изменить во всех проектах"],"project\\u0004Confirm":["Подтвердить"],"project\\u0004Could not load the project list":["Не удалось загрузить список проектов"],"project\\u0004Could not undo exclusion":["Не удалось отменить исключение"],"project\\u0004Delete":["Удалить"],"project\\u0004Delete project":["Удалить проект"],"project\\u0004Edit member list":["Изменить список участников"],"project\\u0004Email address":["Email"],"project\\u0004Exclude":["Удалить"],"project\\u0004Failed to send invitation":["Не удалось отправить приглашение"],"project\\u0004Failed to send invitations":["Не удалось отправить приглашения"],"project\\u0004Failed to update permissions":["Не удалось обновить права доступа"],"project\\u0004In all projects":["Во всех проектах"],"project\\u0004Invite":["Пригласить"],"project\\u0004Invite participants":["Пригласить участников"],"project\\u0004Invite to all projects":["Пригласить во все проекты"],"project\\u0004Name":["Имя"],"project\\u0004No matching memberships to update in your other projects":["В других ваших проектах нет подходящих участников для обновления"],"project\\u0004Permissions updated":["Права доступа обновлены"],"project\\u0004Project participants":["Участники проекта"],"project\\u0004Project settings":["Настройки проекта"],"project\\u0004Remove from project":["Удалить из проекта"],"project\\u0004Revoke":["Отозвать"],"project\\u0004Revoke invite":["Отозвать приглашение"],"project\\u0004Role in project":["Роль в проекте"],"project\\u0004The invitation was restored":["Приглашение было восстановлено"],"project\\u0004The invitation was sent to all your projects":["Приглашение было отправлено во все ваши проекты"],"project\\u0004The invitation was sent to some of your projects":["Приглашение было отправлено некоторым из ваших проектов"],"project\\u0004The participant was restored to the project":["Участник был восстановлен в проекте"],"project\\u0004Undo":["Отменить"],"project\\u0004You":["Вы"],"project\\u0004You are not the owner of any project":["Вы не являетесь владельцем какого-либо проекта"],"project\\u0004You excluded user ":["Вы заблокировали пользователя "],"recovery\\u0004\\" was successfully recovered.":["» восстановлен."],"recovery\\u0004” was successfully deleted.":["» удалено."],"recovery\\u0004” was successfully recovered.":["» завершено."],"running+shoes":["running+shoes"],"s":["с"],"secure":["безопасно"],"selected":["выбрано"],"selling blue":["продающий синий"],"sender@example.com":["sender@example.com"],"spring_sale":["spring_sale"],"tab\\u0004AI assistant":["AI Ассистент"],"tab\\u0004Build":["Контент"],"tab\\u0004Calendar":["Календарь"],"tab\\u0004Checkbox":["Чекбокс"],"tab\\u0004Discuss":["Обсуждение"],"tab\\u0004Dropdown list":["Выпадающий список"],"tab\\u0004Input":["Поле ввода"],"tab\\u0004Optimize":["Оптимизация"],"tab\\u0004Radio button":["Радиокнопка"],"tab\\u0004Settings":["Настройки"],"tab\\u0004Styles":["Стили"],"table":["таблица"],"test":["тест","теста","тестов"],"text":["текст"],"textlink":["textlink"],"time to load":["время загрузки"],"total size":["общий размер"],"user":["Пользователь"],"user role\\u0004Admin":["Администратор"],"utm_campaign":["utm_campaign"],"utm_content":["utm_content"],"utm_medium":["utm_medium"],"utm_source":["utm_source"],"utm_term":["utm_term"],"variable":["переменная"],"verb\\u0004Import":["Импортировать"],"video":["видео"],"was successfully":["успешно"],"was used":["был использован","было использовано","было использовано"],"which exceeds the recommended 90 KB limit.":["что превышает рекомендуемый предел в 90 КБ."],"–":["–"],"—":["—"],"“":["«"],"”":["»"],"” block?":["»?"],"” folder?":["»?"],"” group and all nested groups?":["» вместе со всеми вложениями?"],"” was successfully created.":["» создан."],"” was successfully imported.":["» импортировано."],"” was successfully sent.":["» отправлено."],"”.":["»."],"🎉 Welcome! Pro plan is activated":["🎉 Привет! Тариф Pro активирован"]}`)};function Pf(e){if(!ri)return;const{id:t,catalog:r,time:o,hash:a}=ri;e.getInstance(n.LOCALE_SERVICE_ID)?.prime(t,r,{time:o,hash:a})}function ni(e,t,r){let o=!1;const a=e.watch(i=>{o||!t(i)||(o=!0,r())});o&&a.dispose()}function Rf(e,t){const r=e.getInstance(d.CONFIG_SOURCE_ID);r&&ni(r,o=>!!o?.codeEnabled||!!o?.codeSideEnabled,()=>{Mf(e,()=>{jf(e,()=>{Of(e,()=>{n.getEditorVisible(e).whenVisible(()=>{n.whenIdle(()=>{xf(t).catch(()=>{})})})})})})})}async function xf(e){await e()}function Of(e,t){const r=e.getInstance(xo);if(!r){n.whenIdle(t);return}const o=()=>{if(r.pipeline.filledGeneration()!==void 0){t();return}n.whenIdle(o)};n.whenIdle(o)}function Mf(e,t){const r=e.getInstance(n.EMAIL_DOCUMENTS_ID);if(!r)return;if(r.current()){t();return}let o=!1;const a=r.subscribe(()=>{o||!r.current()||(o=!0,t())});o&&a()}function jf(e,t){const r=e.getInstance(d.OPTIONS_SOURCE_ID);r&&ni(r,o=>!!o?.element,t)}function Lf(e){Rf(e,n.warmCodeEditor)}function oi(e,t="success"){return typeof e=="string"&&(e={message:e}),n.filterUndefined({type:e.type||t,data:e.data,innerException:e.innerException,title:e.message,description:e.description,actions:e.btn,onClose:e.onClose,duration:e.duration,icon:e.icon,placement:e.placement,style:e.style,closeIcon:e.closeIcon,props:e.props,role:e.role})}var Df="bottomRight";function Nn(e,t){return typeof e=="string"||typeof e=="object"?oi(e,t):e}var Nf=class extends d.Disposable{send;onNotify;onError;onSuccess;constructor(e,t,r){super(),this.send=r,this.onNotify=at(t,s=>s,s=>Nn(s)),this.onError=at(d.filter(t,s=>s.type==="error"),s=>s,s=>Nn(s,"error")),this.onSuccess=at(d.filter(t,s=>s.type==="success"),s=>s,s=>Nn(s));const o=this.addDisposable(new ot(this.onNotify)),a=this.addDisposable(new ot(this.onError)),i=this.addDisposable(new ot(this.onSuccess));this.addDisposable(e.watch(({handleNotify:s,handleError:l,handleSuccess:u})=>{o.setListener(s),a.setListener(l),i.setListener(u)}))}notify(e){this.send({placement:Df,...oi(e)})}};function Ff(e){e.injectFactory(ln,(t,r)=>{if(r)return r;const o=new Nf(e.getInstance(d.OPTIONS_SOURCE_ID),d.getEvent(e,d.events.ON_NOTIFICATION),a=>{n.executeCommand(e,n.NOTIFY_COMMAND_ID,a)});return e.getInstance(d.DISPOSABLE_ID)?.addDisposable(o),o},!0)}function Bf(e){const t=n.getEmailDocuments(e),r=a=>{e.getInstance(d.STORE_ID)?.dispatch(n.taxonomiesApi.util.invalidateTags([{type:"folder",id:a}]))},o=t.onSaved(a=>{a.created&&r("folder")});e.getInstance(d.DISPOSABLE_ID)?.addDispose(o)}var Uf=[{name:"rest.legacySections",provides:[d.REST_CLIENT_ID],setup:d.provideLegacyRestSections},{name:"canvas.resizer",provides:[n.CANVAS_RESIZER_BINDER_ID],setup:Sf},{name:"canvas.sandboxLocale",awaits:{services:[n.LOCALE_SERVICE_ID]},setup:wf},{name:"locale.brandCatalog",awaits:{services:[n.LOCALE_SERVICE_ID]},setup:Pf},{name:"email.restPorts",provides:[n.REST_EMAIL_PORTS_ID],setup:gf},{name:"block.historyPort",setup:Zu},{name:"email.templatePrefetch",setup:Af},{name:"locale.antd",awaits:{services:[n.LOCALE_SERVICE_ID]},setup:Tf},{name:"save.listsFollow",setup:Bf},{name:"monaco.prewarm",awaits:{services:[d.CONFIG_SOURCE_ID]},setup:Lf},{name:"notifications",provides:[ln],setup:Ff},{name:"email.operations",setup:Kp}],Gf=d.defineMixin(e=>{for(const t of tf(Uf))t.setup(e);return{instance:Yp(e)}}),$f=d.combineMixins([Gf,Qm,Ap,Op,Qp,Jp,ju,Jo,Xo]);async function qf(e){const t=new Map;typeof e=="object"&&(e=e.code);const{amp2html:r,html2amp:o}=await(0,$e.__vitePreload)(async()=>{const{amp2html:s,html2amp:l}=await Promise.resolve().then(()=>fe("./static/core/5afad425.js"));return{amp2html:s,html2amp:l}},void 0,{}.url),a=await tt.changeHtml(e,async s=>{await tt.replaceImagesInDocument(s.document,l=>n.mapper.getEscapedText(l)!==l?l:n.toAbsoluteUrl(l),t);for(const l of s.document.querySelectorAll(".em-amp-show-disabled"))l.remove();s.handleRender(async({contentDocument:l,managedNodeController:u})=>{await o(l,{mappedTags:{script:n.SCRIPT_STAND_IN},commit:()=>u.commit()})})},[800]),i=await tt.changeHtml(e,async s=>{await tt.replaceImagesInDocument(s.document,l=>n.mapper.getEscapedText(l)!==l?l:n.toAbsoluteUrl(l),t);for(const l of s.document.querySelectorAll(".em-amp-show-only"))l.remove();r(s.document,{mappedTags:{script:n.SCRIPT_STAND_IN}})},[800]);return{code:e,html:i,ampHtml:a}}async function Hf(){const{installDiagnostics:e}=await(0,$e.__vitePreload)(async()=>{const{installDiagnostics:t}=await Promise.resolve().then(()=>fe("./static/core/122c5ed9.js"));return{installDiagnostics:t}},void 0,{}.url);return e()}async function zf(e,t){const{initDevTools:r}=await(0,$e.__vitePreload)(async()=>{const{initDevTools:o}=await Promise.resolve().then(()=>fe("./static/core/c8c233fb.js"));return{initDevTools:o}},void 0,{}.url);r(e,t)}var Vf="1.3.4";Ot.asyncMixins=$f,Ot.initDevTools=zf,Ot.installDiagnostics=Hf,Ot.parseAMP=qf,Ot.version=Vf});