@uploadcare/file-uploader 1.24.3 → 1.24.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.
- package/dist/env.js +1 -1
- package/dist/index.js +1 -1
- package/dist/index.ssr.js +1 -1
- package/package.json +5 -5
- package/web/file-uploader.iife.min.js +1 -1
- package/web/file-uploader.min.js +1 -1
- package/web/uc-cloud-image-editor.min.js +1 -1
- package/web/uc-file-uploader-inline.min.js +1 -1
- package/web/uc-file-uploader-minimal.min.js +1 -1
- package/web/uc-file-uploader-regular.min.js +1 -1
- package/web/uc-img.min.js +1 -1
|
@@ -26,4 +26,4 @@
|
|
|
26
26
|
"use strict";var UC=(()=>{var ii=Object.defineProperty;var xn=Object.getOwnPropertyDescriptor;var An=Object.getOwnPropertyNames;var Sn=Object.prototype.hasOwnProperty;var s=(i,e)=>ii(i,"name",{value:e,configurable:!0});var In=(i,e)=>{for(var t in e)ii(i,t,{get:e[t],enumerable:!0})},kn=(i,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of An(e))!Sn.call(i,o)&&o!==t&&ii(i,o,{get:()=>e[o],enumerable:!(r=xn(e,o))||r.enumerable});return i};var On=i=>kn(ii({},"__esModule",{value:!0}),i);var jc={};In(jc,{ActivityBlock:()=>g,ActivityHeader:()=>Ri,BaseComponent:()=>ve,Block:()=>b,BtnUi:()=>at,CameraSource:()=>Lt,CloudImageEditor:()=>tr,CloudImageEditorActivity:()=>Di,CloudImageEditorBlock:()=>he,Config:()=>dt,Copyright:()=>Ni,CropFrame:()=>Rt,Data:()=>E,DropArea:()=>ut,EditorAspectRatioButtonControl:()=>tt,EditorCropButtonControl:()=>it,EditorFilterControl:()=>je,EditorFreeformButtonControl:()=>ze,EditorImageCropper:()=>$t,EditorImageFader:()=>$i,EditorOperationControl:()=>nt,EditorScroller:()=>Dt,EditorSlider:()=>Ut,EditorToolbar:()=>Ft,ExternalSource:()=>Ht,ExternalUploadSource:()=>ae,FileItem:()=>Ki,FileUploaderInline:()=>ei,FileUploaderMinimal:()=>ti,FileUploaderRegular:()=>yt,FormInput:()=>Gi,Icon:()=>ht,Img:()=>Yi,LineLoaderUi:()=>Vt,Modal:()=>Gt,ModalEvents:()=>$,PACKAGE_NAME:()=>Te,PACKAGE_VERSION:()=>xe,PresenceToggle:()=>Nt,ProgressBar:()=>Wt,ProgressBarCommon:()=>qt,Select:()=>Xt,SimpleBtn:()=>ft,SliderUi:()=>Bt,SolutionBlock:()=>ce,SourceBtn:()=>gt,SourceList:()=>Qi,Spinner:()=>Zt,StartFrom:()=>Yt,Thumb:()=>vt,UID:()=>oe,UploadCtxProvider:()=>er,UploadList:()=>Qt,UploadSource:()=>U,UploaderBlock:()=>M,UrlSource:()=>Jt,defineComponents:()=>Ei,defineLocale:()=>Sr,loadFileUploaderFrom:()=>ts,toKebabCase:()=>ct});var Mn=Object.defineProperty,Ln=s((i,e,t)=>e in i?Mn(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,"__defNormalProp"),sr=s((i,e,t)=>(Ln(i,typeof e!="symbol"?e+"":e,t),t),"__publicField");function Rn(i){let e=s(t=>{var r;for(let o in t)((r=t[o])==null?void 0:r.constructor)===Object&&(t[o]=e(t[o]));return{...t}},"clone");return e(i)}s(Rn,"cloneObj");var E=class{static{s(this,"Data")}constructor(i){i.constructor===Object?this.store=Rn(i):(this._storeIsProxy=!0,this.store=i),this.callbackMap=Object.create(null)}static warn(i,e){console.warn(`Symbiote Data: cannot ${i}. Prop name: `+e)}read(i){return!this._storeIsProxy&&!this.store.hasOwnProperty(i)?(E.warn("read",i),null):this.store[i]}has(i){return this._storeIsProxy?this.store[i]!==void 0:this.store.hasOwnProperty(i)}add(i,e,t=!1){!t&&Object.keys(this.store).includes(i)||(this.store[i]=e,this.notify(i))}pub(i,e){if(!this._storeIsProxy&&!this.store.hasOwnProperty(i)){E.warn("publish",i);return}this.store[i]=e,this.notify(i)}multiPub(i){for(let e in i)this.pub(e,i[e])}notify(i){this.callbackMap[i]&&this.callbackMap[i].forEach(e=>{e(this.store[i])})}sub(i,e,t=!0){return!this._storeIsProxy&&!this.store.hasOwnProperty(i)?(E.warn("subscribe",i),null):(this.callbackMap[i]||(this.callbackMap[i]=new Set),this.callbackMap[i].add(e),t&&e(this.store[i]),{remove:s(()=>{this.callbackMap[i].delete(e),this.callbackMap[i].size||delete this.callbackMap[i]},"remove"),callback:e})}static registerCtx(i,e=Symbol()){let t=E.globalStore.get(e);return t?console.warn('State: context UID "'+e+'" already in use'):(t=new E(i),E.globalStore.set(e,t)),t}static deleteCtx(i){E.globalStore.delete(i)}static getCtx(i,e=!0){return E.globalStore.get(i)||(e&&console.warn('State: wrong context UID - "'+i+'"'),null)}};E.globalStore=new Map;var C=Object.freeze({BIND_ATTR:"set",ATTR_BIND_PRFX:"@",EXT_DATA_CTX_PRFX:"*",NAMED_DATA_CTX_SPLTR:"/",CTX_NAME_ATTR:"ctx-name",CTX_OWNER_ATTR:"ctx-owner",CSS_CTX_PROP:"--ctx-name",EL_REF_ATTR:"ref",AUTO_TAG_PRFX:"sym",REPEAT_ATTR:"repeat",REPEAT_ITEM_TAG_ATTR:"repeat-item-tag",SET_LATER_KEY:"__toSetLater__",USE_TPL:"use-template",ROOT_STYLE_ATTR_NAME:"sym-component"}),uo="1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm",Pn=uo.length-1,oe=class{static{s(this,"UID")}static generate(i="XXXXXXXXX-XXX"){let e="";for(let t=0;t<i.length;t++)e+=i[t]==="-"?i[t]:uo.charAt(Math.random()*Pn);return e}};function po(i,e,t){let r=!0,o,n=e.split(".");return n.forEach((a,l)=>{l<n.length-1?i=i[a]:o=a}),i?i[o]=t:r=!1,r}s(po,"setNestedProp");function Un(i){return i.split("-").map((e,t)=>e&&t?e[0].toUpperCase()+e.slice(1):e).join("").split("_").map((e,t)=>e&&t?e.toUpperCase():e).join("")}s(Un,"kebabToCamel");function $n(i,e){[...i.querySelectorAll(`[${C.REPEAT_ATTR}]`)].forEach(t=>{let r=t.getAttribute(C.REPEAT_ITEM_TAG_ATTR),o;if(r&&(o=window.customElements.get(r)),!o){o=class extends e.BaseComponent{static{s(this,"itemClass")}constructor(){super(),r||(this.style.display="contents")}};let a=t.innerHTML;o.template=a,o.reg(r)}for(;t.firstChild;)t.firstChild.remove();let n=t.getAttribute(C.REPEAT_ATTR);e.sub(n,a=>{if(!a){for(;t.firstChild;)t.firstChild.remove();return}let l=[...t.children],c,d=s(u=>{u.forEach((h,f)=>{if(l[f])if(l[f].set$)setTimeout(()=>{l[f].set$(h)});else for(let m in h)l[f][m]=h[m];else{c||(c=new DocumentFragment);let m=new o;Object.assign(m.init$,h),c.appendChild(m)}}),c&&t.appendChild(c);let p=l.slice(u.length,l.length);for(let h of p)h.remove()},"fillItems");if(a.constructor===Array)d(a);else if(a.constructor===Object){let u=[];for(let p in a){let h=a[p];Object.defineProperty(h,"_KEY_",{value:p,enumerable:!0}),u.push(h)}d(u)}else console.warn("Symbiote repeat data type error:"),console.log(a)}),t.removeAttribute(C.REPEAT_ATTR),t.removeAttribute(C.REPEAT_ITEM_TAG_ATTR)})}s($n,"repeatProcessor");var lo="__default__";function Dn(i,e){if(e.shadowRoot)return;let t=[...i.querySelectorAll("slot")];if(!t.length)return;let r={};t.forEach(o=>{let n=o.getAttribute("name")||lo;r[n]={slot:o,fr:document.createDocumentFragment()}}),e.initChildren.forEach(o=>{var n;let a=lo;o instanceof Element&&o.hasAttribute("slot")&&(a=o.getAttribute("slot"),o.removeAttribute("slot")),(n=r[a])==null||n.fr.appendChild(o)}),Object.values(r).forEach(o=>{if(o.fr.childNodes.length)o.slot.parentNode.replaceChild(o.fr,o.slot);else if(o.slot.childNodes.length){let n=document.createDocumentFragment();n.append(...o.slot.childNodes),o.slot.parentNode.replaceChild(n,o.slot)}else o.slot.remove()})}s(Dn,"slotProcessor");function Fn(i,e){[...i.querySelectorAll(`[${C.EL_REF_ATTR}]`)].forEach(t=>{let r=t.getAttribute(C.EL_REF_ATTR);e.ref[r]=t,t.removeAttribute(C.EL_REF_ATTR)})}s(Fn,"refProcessor");function Vn(i,e){[...i.querySelectorAll(`[${C.BIND_ATTR}]`)].forEach(t=>{let o=t.getAttribute(C.BIND_ATTR).split(";");[...t.attributes].forEach(n=>{if(n.name.startsWith("-")&&n.value){let a=Un(n.name.replace("-",""));o.push(a+":"+n.value),t.removeAttribute(n.name)}}),o.forEach(n=>{if(!n)return;let a=n.split(":").map(u=>u.trim()),l=a[0],c;l.indexOf(C.ATTR_BIND_PRFX)===0&&(c=!0,l=l.replace(C.ATTR_BIND_PRFX,""));let d=a[1].split(",").map(u=>u.trim());for(let u of d){let p;u.startsWith("!!")?(p="double",u=u.replace("!!","")):u.startsWith("!")&&(p="single",u=u.replace("!","")),e.sub(u,h=>{p==="double"?h=!!h:p==="single"&&(h=!h),c?h?.constructor===Boolean?h?t.setAttribute(l,""):t.removeAttribute(l):t.setAttribute(l,h):po(t,l,h)||(t[C.SET_LATER_KEY]||(t[C.SET_LATER_KEY]=Object.create(null)),t[C.SET_LATER_KEY][l]=h)})}}),t.removeAttribute(C.BIND_ATTR)})}s(Vn,"domSetProcessor");var ri="{{",bt="}}",Nn="skip-text";function Bn(i){let e,t=[],r=document.createTreeWalker(i,NodeFilter.SHOW_TEXT,{acceptNode:s(o=>{var n;return!((n=o.parentElement)!=null&&n.hasAttribute(Nn))&&o.textContent.includes(ri)&&o.textContent.includes(bt)&&1},"acceptNode")});for(;e=r.nextNode();)t.push(e);return t}s(Bn,"getTextNodesWithTokens");var zn=s(function(i,e){Bn(i).forEach(r=>{let o=[],n;for(;r.textContent.includes(bt);)r.textContent.startsWith(ri)?(n=r.textContent.indexOf(bt)+bt.length,r.splitText(n),o.push(r)):(n=r.textContent.indexOf(ri),r.splitText(n)),r=r.nextSibling;o.forEach(a=>{let l=a.textContent.replace(ri,"").replace(bt,"");a.textContent="",e.sub(l,c=>{a.textContent=c})})})},"txtNodesProcessor"),Hn=[$n,Dn,Fn,Vn,zn],oi="'",Ge='"',jn=/\\([0-9a-fA-F]{1,6} ?)/g;function Kn(i){return(i[0]===Ge||i[0]===oi)&&(i[i.length-1]===Ge||i[i.length-1]===oi)}s(Kn,"hasLeadingTrailingQuotes");function Gn(i){return(i[0]===Ge||i[0]===oi)&&(i=i.slice(1)),(i[i.length-1]===Ge||i[i.length-1]===oi)&&(i=i.slice(0,-1)),i}s(Gn,"trimQuotes");function Wn(i){let e="",t="";for(var r=0;r<i.length;r++){let o=i[r+1];i[r]==="\\"&&o==='"'?(e+='\\"',r++):i[r]==='"'&&t!=="\\"?e+='\\"':e+=i[r],t=i[r]}return e}s(Wn,"escapeQuotes");function qn(i){let e=i;Kn(i)&&(e=Gn(e),e=e.replace(jn,(t,r)=>String.fromCodePoint(parseInt(r.trim(),16))),e=e.replaceAll(`\\
|
|
27
27
|
`,"\\n"),e=Wn(e),e=Ge+e+Ge);try{return JSON.parse(e)}catch{throw new Error(`Failed to parse CSS property value: ${e}. Original input: ${i}`)}}s(qn,"parseCssPropertyValue");var co=0,Ke=null,ge=null,Ae=class extends HTMLElement{static{s(this,"_BaseComponent")}constructor(){super(),sr(this,"updateCssData",()=>{var i;this.dropCssDataCache(),(i=this.__boundCssProps)==null||i.forEach(e=>{let t=this.getCssData(this.__extractCssName(e),!0);t!==null&&this.$[e]!==t&&(this.$[e]=t)})}),this.init$=Object.create(null),this.cssInit$=Object.create(null),this.tplProcessors=new Set,this.ref=Object.create(null),this.allSubs=new Set,this.pauseRender=!1,this.renderShadow=!1,this.readyToDestroy=!0,this.processInnerHtml=!1,this.allowCustomTemplate=!1,this.ctxOwner=!1}get BaseComponent(){return Ae}initCallback(){}__initCallback(){var i;this.__initialized||(this.__initialized=!0,(i=this.initCallback)==null||i.call(this))}render(i,e=this.renderShadow){let t;if((e||this.constructor.__shadowStylesUrl)&&!this.shadowRoot&&this.attachShadow({mode:"open"}),this.allowCustomTemplate){let o=this.getAttribute(C.USE_TPL);if(o){let n=this.getRootNode(),a=n?.querySelector(o)||document.querySelector(o);a?i=a.content.cloneNode(!0):console.warn(`Symbiote template "${o}" is not found...`)}}if(this.processInnerHtml)for(let o of this.tplProcessors)o(this,this);if(i||this.constructor.template){if(this.constructor.template&&!this.constructor.__tpl&&(this.constructor.__tpl=document.createElement("template"),this.constructor.__tpl.innerHTML=this.constructor.template),i?.constructor===DocumentFragment)t=i;else if(i?.constructor===String){let o=document.createElement("template");o.innerHTML=i,t=o.content.cloneNode(!0)}else this.constructor.__tpl&&(t=this.constructor.__tpl.content.cloneNode(!0));for(let o of this.tplProcessors)o(t,this)}let r=s(()=>{t&&(e&&this.shadowRoot.appendChild(t)||this.appendChild(t)),this.__initCallback()},"addFr");if(this.constructor.__shadowStylesUrl){e=!0;let o=document.createElement("link");o.rel="stylesheet",o.href=this.constructor.__shadowStylesUrl,o.onload=r,this.shadowRoot.prepend(o)}else r()}addTemplateProcessor(i){this.tplProcessors.add(i)}get autoCtxName(){return this.__autoCtxName||(this.__autoCtxName=oe.generate(),this.style.setProperty(C.CSS_CTX_PROP,`'${this.__autoCtxName}'`)),this.__autoCtxName}get cssCtxName(){return this.getCssData(C.CSS_CTX_PROP,!0)}get ctxName(){var i;let e=((i=this.getAttribute(C.CTX_NAME_ATTR))==null?void 0:i.trim())||this.cssCtxName||this.__cachedCtxName||this.autoCtxName;return this.__cachedCtxName=e,e}get localCtx(){return this.__localCtx||(this.__localCtx=E.registerCtx({},this)),this.__localCtx}get nodeCtx(){return E.getCtx(this.ctxName,!1)||E.registerCtx({},this.ctxName)}static __parseProp(i,e){let t,r;if(i.startsWith(C.EXT_DATA_CTX_PRFX))t=e.nodeCtx,r=i.replace(C.EXT_DATA_CTX_PRFX,"");else if(i.includes(C.NAMED_DATA_CTX_SPLTR)){let o=i.split(C.NAMED_DATA_CTX_SPLTR);t=E.getCtx(o[0]),r=o[1]}else t=e.localCtx,r=i;return{ctx:t,name:r}}sub(i,e,t=!0){let r=s(n=>{this.isConnected&&e(n)},"subCb"),o=Ae.__parseProp(i,this);o.ctx.has(o.name)?this.allSubs.add(o.ctx.sub(o.name,r,t)):window.setTimeout(()=>{this.allSubs.add(o.ctx.sub(o.name,r,t))})}notify(i){let e=Ae.__parseProp(i,this);e.ctx.notify(e.name)}has(i){let e=Ae.__parseProp(i,this);return e.ctx.has(e.name)}add(i,e,t=!1){let r=Ae.__parseProp(i,this);r.ctx.add(r.name,e,t)}add$(i,e=!1){for(let t in i)this.add(t,i[t],e)}get $(){if(!this.__stateProxy){let i=Object.create(null);this.__stateProxy=new Proxy(i,{set:s((e,t,r)=>{let o=Ae.__parseProp(t,this);return o.ctx.pub(o.name,r),!0},"set"),get:s((e,t)=>{let r=Ae.__parseProp(t,this);return r.ctx.read(r.name)},"get")})}return this.__stateProxy}set$(i,e=!1){for(let t in i){let r=i[t];e||![String,Number,Boolean].includes(r?.constructor)?this.$[t]=r:this.$[t]!==r&&(this.$[t]=r)}}get __ctxOwner(){return this.ctxOwner||this.hasAttribute(C.CTX_OWNER_ATTR)&&this.getAttribute(C.CTX_OWNER_ATTR)!=="false"}__initDataCtx(){let i=this.constructor.__attrDesc;if(i)for(let e of Object.values(i))Object.keys(this.init$).includes(e)||(this.init$[e]="");for(let e in this.init$)if(e.startsWith(C.EXT_DATA_CTX_PRFX))this.nodeCtx.add(e.replace(C.EXT_DATA_CTX_PRFX,""),this.init$[e],this.__ctxOwner);else if(e.includes(C.NAMED_DATA_CTX_SPLTR)){let t=e.split(C.NAMED_DATA_CTX_SPLTR),r=t[0].trim(),o=t[1].trim();if(r&&o){let n=E.getCtx(r,!1);n||(n=E.registerCtx({},r)),n.add(o,this.init$[e])}}else this.localCtx.add(e,this.init$[e]);for(let e in this.cssInit$)this.bindCssData(e,this.cssInit$[e]);this.__dataCtxInitialized=!0}connectedCallback(){var i;if(this.isConnected){if(this.__disconnectTimeout&&window.clearTimeout(this.__disconnectTimeout),!this.connectedOnce){let e=(i=this.getAttribute(C.CTX_NAME_ATTR))==null?void 0:i.trim();if(e&&this.style.setProperty(C.CSS_CTX_PROP,`'${e}'`),this.__initDataCtx(),this[C.SET_LATER_KEY]){for(let t in this[C.SET_LATER_KEY])po(this,t,this[C.SET_LATER_KEY][t]);delete this[C.SET_LATER_KEY]}this.initChildren=[...this.childNodes];for(let t of Hn)this.addTemplateProcessor(t);if(this.pauseRender)this.__initCallback();else if(this.constructor.__rootStylesLink){let t=this.getRootNode();if(!t)return;if(t?.querySelector(`link[${C.ROOT_STYLE_ATTR_NAME}="${this.constructor.is}"]`)){this.render();return}let o=this.constructor.__rootStylesLink.cloneNode(!0);o.setAttribute(C.ROOT_STYLE_ATTR_NAME,this.constructor.is),o.onload=()=>{this.render()},t.nodeType===Node.DOCUMENT_NODE?t.head.appendChild(o):t.prepend(o)}else this.render()}this.connectedOnce=!0}}destroyCallback(){}disconnectedCallback(){this.connectedOnce&&(this.dropCssDataCache(),this.readyToDestroy&&(this.__disconnectTimeout&&window.clearTimeout(this.__disconnectTimeout),this.__disconnectTimeout=window.setTimeout(()=>{this.destroyCallback();for(let i of this.allSubs)i.remove(),this.allSubs.delete(i);for(let i of this.tplProcessors)this.tplProcessors.delete(i);ge?.delete(this.updateCssData),ge?.size||(Ke?.disconnect(),Ke=null,ge=null)},100)))}static reg(i,e=!1){i||(co++,i=`${C.AUTO_TAG_PRFX}-${co}`),this.__tag=i;let t=window.customElements.get(i);if(t){!e&&t!==this&&console.warn([`Element with tag name "${i}" already registered.`,`You're trying to override it with another class "${this.name}".`,"This is most likely a mistake.","New element will not be registered."].join(`
|
|
28
28
|
`));return}window.customElements.define(i,e?class extends this{}:this)}static get is(){return this.__tag||this.reg(),this.__tag}static bindAttributes(i){this.observedAttributes=Object.keys(i),this.__attrDesc=i}attributeChangedCallback(i,e,t){var r;if(e===t)return;let o=(r=this.constructor.__attrDesc)==null?void 0:r[i];o?this.__dataCtxInitialized?this.$[o]=t:this.init$[o]=t:this[i]=t}getCssData(i,e=!1){if(this.__cssDataCache||(this.__cssDataCache=Object.create(null)),!Object.keys(this.__cssDataCache).includes(i)){this.__computedStyle||(this.__computedStyle=window.getComputedStyle(this));let t=this.__computedStyle.getPropertyValue(i).trim();try{this.__cssDataCache[i]=qn(t)}catch{!e&&console.warn(`CSS Data error: ${i}`),this.__cssDataCache[i]=null}}return this.__cssDataCache[i]}__extractCssName(i){return i.split("--").map((e,t)=>t===0?"":e).join("--")}__initStyleAttrObserver(){ge||(ge=new Set),ge.add(this.updateCssData),Ke||(Ke=new MutationObserver(i=>{i[0].type==="attributes"&&ge.forEach(e=>{e()})}),Ke.observe(document,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style"]}))}bindCssData(i,e=""){this.__boundCssProps||(this.__boundCssProps=new Set),this.__boundCssProps.add(i);let t=this.getCssData(this.__extractCssName(i),!0);t===null&&(t=e),this.add(i,t),this.__initStyleAttrObserver()}dropCssDataCache(){this.__cssDataCache=null,this.__computedStyle=null}defineAccessor(i,e,t){let r="__"+i;this[r]=this[i],Object.defineProperty(this,i,{set:s(o=>{this[r]=o,t?window.setTimeout(()=>{e?.(o)}):e?.(o)},"set"),get:s(()=>this[r],"get")}),this[i]=this[r]}static set shadowStyles(i){let e=new Blob([i],{type:"text/css"});this.__shadowStylesUrl=URL.createObjectURL(e)}static set rootStyles(i){if(!this.__rootStylesLink){let e=new Blob([i],{type:"text/css"}),t=URL.createObjectURL(e),r=document.createElement("link");r.href=t,r.rel="stylesheet",this.__rootStylesLink=r}}},ve=Ae;sr(ve,"template");var or=class{static{s(this,"AppRouter")}static _print(i){console.warn(i)}static setDefaultTitle(i){this.defaultTitle=i}static setRoutingMap(i){Object.assign(this.appMap,i);for(let e in this.appMap)!this.defaultRoute&&this.appMap[e].default===!0?this.defaultRoute=e:!this.errorRoute&&this.appMap[e].error===!0&&(this.errorRoute=e)}static set routingEventName(i){this.__routingEventName=i}static get routingEventName(){return this.__routingEventName||"sym-on-route"}static readAddressBar(){let i={route:null,options:{}};return window.location.search.split(this.separator).forEach(t=>{if(t.includes("?"))i.route=t.replace("?","");else if(t.includes("=")){let r=t.split("=");i.options[r[0]]=decodeURI(r[1])}else i.options[t]=!0}),i}static notify(){let i=this.readAddressBar(),e=this.appMap[i.route];if(e&&e.title&&(document.title=e.title),i.route===null&&this.defaultRoute){this.applyRoute(this.defaultRoute);return}else if(!e&&this.errorRoute){this.applyRoute(this.errorRoute);return}else if(!e&&this.defaultRoute){this.applyRoute(this.defaultRoute);return}else if(!e){this._print(`Route "${i.route}" not found...`);return}let t=new CustomEvent(or.routingEventName,{detail:{route:i.route,options:Object.assign(e||{},i.options)}});window.dispatchEvent(t)}static reflect(i,e={}){let t=this.appMap[i];if(!t){this._print("Wrong route: "+i);return}let r="?"+i;for(let n in e)e[n]===!0?r+=this.separator+n:r+=this.separator+n+`=${e[n]}`;let o=t.title||this.defaultTitle||"";window.history.pushState(null,o,r),document.title=o}static applyRoute(i,e={}){this.reflect(i,e),this.notify()}static setSeparator(i){this._separator=i}static get separator(){return this._separator||"&"}static createRouterData(i,e){this.setRoutingMap(e);let t=E.registerCtx({route:null,options:null,title:null},i);return window.addEventListener(this.routingEventName,r=>{var o;t.multiPub({route:r.detail.route,options:r.detail.options,title:((o=r.detail.options)==null?void 0:o.title)||this.defaultTitle||""})}),or.notify(),this.initPopstateListener(),t}static initPopstateListener(){this.__onPopstate||(this.__onPopstate=()=>{this.notify()},window.addEventListener("popstate",this.__onPopstate))}static removePopstateListener(){window.removeEventListener("popstate",this.__onPopstate),this.__onPopstate=null}};or.appMap=Object.create(null);function _t(i,e){for(let t in e)t.includes("-")?i.style.setProperty(t,e[t]):i.style[t]=e[t]}s(_t,"applyStyles");function Xn(i,e){for(let t in e)e[t].constructor===Boolean?e[t]?i.setAttribute(t,""):i.removeAttribute(t):i.setAttribute(t,e[t])}s(Xn,"applyAttributes");function nr(i={tag:"div"}){let e=document.createElement(i.tag);if(i.attributes&&Xn(e,i.attributes),i.styles&&_t(e,i.styles),i.properties)for(let t in i.properties)e[t]=i.properties[t];return i.processors&&i.processors.forEach(t=>{t(e)}),i.children&&i.children.forEach(t=>{let r=nr(t);e.appendChild(r)}),e}s(nr,"create");var ho="idb-store-ready",Zn="symbiote-db",Yn="symbiote-idb-update_",Qn=class{static{s(this,"DbInstance")}_notifyWhenReady(i=null){window.dispatchEvent(new CustomEvent(ho,{detail:{dbName:this.name,storeName:this.storeName,event:i}}))}get _updEventName(){return Yn+this.name}_getUpdateEvent(i){return new CustomEvent(this._updEventName,{detail:{key:this.name,newValue:i}})}_notifySubscribers(i){window.localStorage.removeItem(this.name),window.localStorage.setItem(this.name,i),window.dispatchEvent(this._getUpdateEvent(i))}constructor(i,e){this.name=i,this.storeName=e,this.version=1,this.request=window.indexedDB.open(this.name,this.version),this.request.onupgradeneeded=t=>{this.db=t.target.result,this.objStore=this.db.createObjectStore(e,{keyPath:"_key"}),this.objStore.transaction.oncomplete=r=>{this._notifyWhenReady(r)}},this.request.onsuccess=t=>{this.db=t.target.result,this._notifyWhenReady(t)},this.request.onerror=t=>{console.error(t)},this._subscriptionsMap={},this._updateHandler=t=>{t.key===this.name&&this._subscriptionsMap[t.newValue]&&this._subscriptionsMap[t.newValue].forEach(async o=>{o(await this.read(t.newValue))})},this._localUpdateHandler=t=>{this._updateHandler(t.detail)},window.addEventListener("storage",this._updateHandler),window.addEventListener(this._updEventName,this._localUpdateHandler)}read(i){let t=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName).get(i);return new Promise((r,o)=>{t.onsuccess=n=>{var a;(a=n.target.result)!=null&&a._value?r(n.target.result._value):(r(null),console.warn(`IDB: cannot read "${i}"`))},t.onerror=n=>{o(n)}})}write(i,e,t=!1){let r={_key:i,_value:e},n=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName).put(r);return new Promise((a,l)=>{n.onsuccess=c=>{t||this._notifySubscribers(i),a(c.target.result)},n.onerror=c=>{l(c)}})}delete(i,e=!1){let r=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName).delete(i);return new Promise((o,n)=>{r.onsuccess=a=>{e||this._notifySubscribers(i),o(a)},r.onerror=a=>{n(a)}})}getAll(){let e=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName).getAll();return new Promise((t,r)=>{e.onsuccess=o=>{let n=o.target.result;t(n.map(a=>a._value))},e.onerror=o=>{r(o)}})}subscribe(i,e){this._subscriptionsMap[i]||(this._subscriptionsMap[i]=new Set);let t=this._subscriptionsMap[i];return t.add(e),{remove:s(()=>{t.delete(e),t.size||delete this._subscriptionsMap[i]},"remove")}}stop(){window.removeEventListener("storage",this._updateHandler),this._subscriptionsMap=null,mo.clear(this.name)}},mo=class{static{s(this,"IDB")}static get readyEventName(){return ho}static open(i=Zn,e="store"){let t=i+"/"+e;return this._reg[t]||(this._reg[t]=new Qn(i,e)),this._reg[t]}static clear(i){window.indexedDB.deleteDatabase(i);for(let e in this._reg)e.split("/")[0]===i&&delete this._reg[e]}};sr(mo,"_reg",Object.create(null));var O=Object.freeze({INIT_SOLUTION:"init-solution",CHANGE_CONFIG:"change-config",ACTION_EVENT:"action-event",ERROR_EVENT:"error-event"}),x=Object.freeze({FILE_ADDED:"file-added",FILE_REMOVED:"file-removed",FILE_UPLOAD_START:"file-upload-start",FILE_UPLOAD_PROGRESS:"file-upload-progress",FILE_UPLOAD_SUCCESS:"file-upload-success",FILE_UPLOAD_FAILED:"file-upload-failed",FILE_URL_CHANGED:"file-url-changed",MODAL_OPEN:"modal-open",MODAL_CLOSE:"modal-close",DONE_CLICK:"done-click",UPLOAD_CLICK:"upload-click",ACTIVITY_CHANGE:"activity-change",COMMON_UPLOAD_START:"common-upload-start",COMMON_UPLOAD_PROGRESS:"common-upload-progress",COMMON_UPLOAD_SUCCESS:"common-upload-success",COMMON_UPLOAD_FAILED:"common-upload-failed",CHANGE:"change",GROUP_CREATED:"group-created"}),si=class{static{s(this,"EventEmitter")}_timeoutStore=new Map;_targets=new Set;_debugPrint=null;constructor(e){this._debugPrint=e}bindTarget(e){this._targets.add(e)}unbindTarget(e){this._targets.delete(e)}_dispatch(e,t){for(let r of this._targets)r.dispatchEvent(new CustomEvent(e,{detail:t}));this._debugPrint?.(()=>{let r=t&&typeof t=="object"?{...t}:t;return[`event "${e}"`,r]})}emit(e,t,r={}){let{debounce:o}=r;if(typeof o!="number"&&!o){this._dispatch(e,typeof t=="function"?t():t);return}this._timeoutStore.has(e)&&window.clearTimeout(this._timeoutStore.get(e));let n=typeof o=="number"?o:20,a=window.setTimeout(()=>{this._dispatch(e,typeof t=="function"?t():t),this._timeoutStore.delete(e)},n);this._timeoutStore.set(e,a)}};function L(i,e){let t,r=s(((...o)=>{t&&clearTimeout(t),t=setTimeout(()=>i(...o),e)}),"debounced");return r.cancel=()=>{t&&clearTimeout(t)},r}s(L,"debounce");var X=s(i=>i?i.split(",").map(e=>e.trim()).filter(Boolean):[],"deserializeCsv"),ye=s(i=>i.join(","),"serializeCsv");var fo=s(i=>{if(typeof i!="string"||!i)return"";let e=i.trim();return e.startsWith("-/")?e=e.slice(2):e.startsWith("/")&&(e=e.slice(1)),e.endsWith("/")&&(e=e.slice(0,e.length-1)),e},"normalizeCdnOperation"),ni=s((...i)=>i.filter(e=>typeof e=="string"&&!!e).map(e=>fo(e)).join("/-/"),"joinCdnOperations"),j=s((...i)=>{let e=ni(...i);return e?`-/${e}/`:""},"createCdnUrlModifiers");function ai(i){let e=new URL(i),t=e.pathname+e.search+e.hash,r=t.lastIndexOf("http"),o=t.lastIndexOf("/"),n="";return r>=0?n=t.slice(r):o>=0&&(n=t.slice(o+1)),n}s(ai,"extractFilename");function li(i){let e=new URL(i),{pathname:t}=e,r=t.indexOf("/"),o=t.indexOf("/",r+1);return t.substring(r+1,o)}s(li,"extractUuid");function ar(i){let e=go(i),t=new URL(e),r=t.pathname.indexOf("/-/");return r===-1?"":t.pathname.substring(r).slice(1)}s(ar,"extractCdnUrlModifiers");function lr(i){return ar(i).split("/-/").filter(Boolean).map(t=>fo(t))}s(lr,"extractOperations");function go(i){let e=new URL(i),t=ai(i),r=vo(t)?yo(t).pathname:t;return e.pathname=e.pathname.replace(r,""),e.search="",e.hash="",e.toString()}s(go,"trimFilename");function vo(i){return i.startsWith("http")}s(vo,"isFileUrl");function yo(i){let e=new URL(i);return{pathname:`${e.origin}${e.pathname??""}`,search:e.search??"",hash:e.hash??""}}s(yo,"splitFileUrl");var D=s((i,e,t)=>{let r=new URL(go(i)),o=t??ai(i),n=e??"";if(r.pathname.startsWith("//")&&(r.pathname=r.pathname.replace("//","/")),o&&vo(o)){let a=yo(o);r.pathname=`${r.pathname}${n}${a.pathname||""}`,r.search=a.search,r.hash=a.hash}else r.pathname=`${r.pathname}${n}${o||""}`;return r.toString()},"createCdnUrl"),Se=s((i,e)=>{let t=new URL(i);return t.pathname=`${e}/`,t.toString()},"createOriginalUrl");var F=s((i,e=",")=>i.trim().split(e).map(t=>t.trim()).filter(t=>t.length>0),"stringToArray");var wt=Object.freeze({brightness:0,exposure:0,gamma:100,contrast:0,saturation:0,vibrance:0,warmth:0,enhance:0,filter:0,rotate:0,mirror:!1,flip:!1,crop:void 0}),_o=["enhance","brightness","exposure","gamma","contrast","saturation","vibrance","warmth","filter","mirror","flip","rotate","crop"];function Jn(i,e){if(typeof e=="number"){let t=e;return wt[i]!==t?`${i}/${t}`:""}if(typeof e=="boolean"){let t=e;return wt[i]!==t?`${i}`:""}if(i==="filter"&&e){let{name:t,amount:r}=e;return wt.filter===r?"":`${i}/${t}/${r}`}if(i==="crop"&&e){let{dimensions:t,coords:r}=e;return`${i}/${t.join("x")}/${r.join(",")}`}return""}s(Jn,"transformationToStr");function Ie(i){return ni(..._o.filter(e=>typeof i[e]<"u"&&i[e]!==null).map(e=>{let t=i[e];return Jn(e,t)}).filter(e=>!!e))}s(Ie,"transformationsToOperations");var ci=ni("format/auto","progressive/yes"),be=s(([i])=>typeof i<"u"?Number(i):void 0,"asNumber"),bo=s(()=>!0,"asBoolean"),ea=s(([i,e])=>({name:i,amount:typeof e<"u"?Number(e):100}),"asFilter"),ta=s(([i,e])=>{if(!/\d+x\d+/.test(i)||!/\d+,\d+/.test(e))throw new Error("Crop by aspect ratio, percentage or alignment shortcuts is not supported.");return{dimensions:F(i,"x").map(Number),coords:F(e).map(Number)}},"asCrop"),ia=Object.freeze({enhance:be,brightness:be,exposure:be,gamma:be,contrast:be,saturation:be,vibrance:be,warmth:be,filter:ea,mirror:bo,flip:bo,rotate:be,crop:s(i=>{let[e,t]=i,{dimensions:r,coords:o}=ta([e,t]);return{dimensions:r,coords:o}},"crop")});function cr(i){let e={};for(let t of i){let[r,...o]=t.split("/");if(!r||!_o.includes(r))continue;let n=r,a=ia[n];try{let l=a(o);e[n]=l}catch(l){console.warn([`Failed to parse URL operation "${t}". It will be ignored.`,l instanceof Error?`Error message: "${l.message}"`:l,"If you need this functionality, please feel free to open an issue at https://github.com/uploadcare/blocks/issues/new"].join(`
|
|
29
|
-
`))}}return e}s(cr,"operationsToTransformations");var R=Object.freeze({CROP:"crop",TUNING:"tuning",FILTERS:"filters"}),Z=Object.freeze([R.CROP,R.TUNING,R.FILTERS]),wo=Object.freeze(["brightness","exposure","gamma","contrast","saturation","vibrance","warmth","enhance"]),Co=Object.freeze(["adaris","briaril","calarel","carris","cynarel","cyren","elmet","elonni","enzana","erydark","fenralan","ferand","galen","gavin","gethriel","iorill","iothari","iselva","jadis","lavra","misiara","namala","nerion","nethari","pamaya","sarnar","sedis","sewen","sorahel","sorlen","tarian","thellassan","varriel","varven","vevera","virkas","yedis","yllara","zatvel","zevcen"]),Eo=Object.freeze(["rotate","mirror","flip"]),_e=wt,se=Object.freeze({brightness:{zero:_e.brightness,range:[-100,100],keypointsNumber:2},exposure:{zero:_e.exposure,range:[-500,500],keypointsNumber:2},gamma:{zero:_e.gamma,range:[0,1e3],keypointsNumber:2},contrast:{zero:_e.contrast,range:[-100,500],keypointsNumber:2},saturation:{zero:_e.saturation,range:[-100,500],keypointsNumber:1},vibrance:{zero:_e.vibrance,range:[-100,500],keypointsNumber:1},warmth:{zero:_e.warmth,range:[-100,100],keypointsNumber:1},enhance:{zero:_e.enhance,range:[0,100],keypointsNumber:1},filter:{zero:_e.filter,range:[0,100],keypointsNumber:1}});var Ct="https://ucarecdn.com",ra="https://upload.uploadcare.com",oa="https://social.uploadcare.com",sa="https://ucarecd.net",na={pubkey:"",multiple:!0,multipleMin:0,multipleMax:Number.MAX_SAFE_INTEGER,confirmUpload:!1,imgOnly:!1,accept:"",externalSourcesPreferredTypes:"",externalSourcesEmbedCss:"",store:"auto",cameraMirror:!1,cameraCapture:"",sourceList:"local, url, camera, dropbox, gdrive",topLevelOrigin:"",cloudImageEditorTabs:ye(Z),maxLocalFileSizeBytes:0,thumbSize:76,showEmptyList:!1,useLocalImageEditor:!1,useCloudImageEditor:!0,removeCopyright:!1,cropPreset:"",imageShrink:"",modalScrollLock:!0,modalBackdropStrokes:!1,sourceListWrap:!0,remoteTabSessionKey:"",cdnCname:Ct,cdnCnamePrefixed:sa,baseUrl:ra,socialBaseUrl:oa,secureSignature:"",secureExpire:"",secureDeliveryProxy:"",retryThrottledRequestMaxTimes:10,retryNetworkErrorMaxTimes:3,multipartMinFileSize:26214400,multipartChunkSize:5242880,maxConcurrentRequests:10,multipartMaxConcurrentRequests:4,multipartMaxAttempts:3,checkForUrlDuplicates:!1,saveUrlForRecurrentUploads:!1,groupOutput:!1,userAgentIntegration:"",debug:!1,metadata:null,localeName:"en",localeDefinitionOverride:null,secureUploadsExpireThreshold:600*1e3,secureUploadsSignatureResolver:null,secureDeliveryProxyUrlResolver:null,iconHrefResolver:null,fileValidators:[],collectionValidators:[],validationTimeout:15*1e3,validationConcurrency:100,cameraModes:"photo, video",defaultCameraMode:null,enableAudioRecording:!0,enableVideoRecording:null,maxVideoRecordingDuration:null,mediaRecorderOptions:null,filesViewMode:"list",gridShowFileNames:!1,cloudImageEditorAutoOpen:!1,cloudImageEditorMaskHref:null,testMode:!1,qualityInsights:!0},Q=Object.freeze(na);var To=s(i=>{let e=new Intl.Locale(i),t="ltr",r=e.getTextInfo?.().direction;return r?t=r:e.textInfo?.direction&&(t=e.textInfo.direction),t},"getLocaleDirection");var di=s((i,e)=>new Intl.PluralRules(i).select(e),"getPluralForm");var aa=s(i=>i,"DEFAULT_TRANSFORMER"),dr="{{",Ao="}}",xo="plural:";function Et(i,e={},t={}){let{openToken:r=dr,closeToken:o=Ao,transform:n=aa}=t;for(let a in e){let l=e[a],c=l?.toString(),d=typeof c=="string"?n(c):String(c);i=i.replaceAll(r+a+o,d)}return i}s(Et,"applyTemplateData");function So(i){let e=[],t=i.indexOf(dr);for(;t!==-1;){let r=i.indexOf(Ao,t);if(r===-1)break;let o=i.substring(t+2,r);if(o.startsWith(xo)){let n=i.substring(t+2,r).replace(xo,""),a=n.substring(0,n.indexOf("(")),l=n.substring(n.indexOf("(")+1,n.indexOf(")"));e.push({variable:o,pluralKey:a,countVariable:l})}t=i.indexOf(dr,r)}return e}s(So,"getPluralObjects");var Io="--uploadcare-blocks-window-height",Tt=class i{static{s(this,"WindowHeightTracker")}static clientsRegistry=new Set;static flush=L(()=>{document.documentElement.style.setProperty(Io,`${window.innerHeight}px`)},100);static registerClient(e){i.clientsRegistry.size===0&&i.attachTracker(),i.clientsRegistry.add(e)}static unregisterClient(e){i.clientsRegistry.delete(e),i.clientsRegistry.size===0&&i.detachTracker()}static attachTracker(){window.addEventListener("resize",i.flush,{passive:!0,capture:!0}),i.flush()}static detachTracker(){window.removeEventListener("resize",i.flush,{capture:!0}),document.documentElement.style.removeProperty(Io)}};var ko=s(({element:i,attribute:e,onSuccess:t,onTimeout:r,timeout:o=300})=>{let n=i.getAttribute(e);if(n!==null){t(n);return}let a=new MutationObserver(d=>{let u=d[d.length-1];u&&c(u)});a.observe(i,{attributes:!0,attributeFilter:[e]});let l=window.setTimeout(()=>{a.disconnect(),r()},o),c=s(d=>{let u=i.getAttribute(e);d.type==="attributes"&&d.attributeName===e&&u!==null&&(window.clearTimeout(l),a.disconnect(),t(u))},"handleMutation")},"waitForAttribute");function Oo(i){return Object.prototype.toString.call(i)==="[object Object]"}s(Oo,"isObject");var la=/\W|_/g;function ca(i){return i.split(la).map((e,t)=>e.charAt(0)[t>0?"toUpperCase":"toLowerCase"]()+e.slice(1)).join("")}s(ca,"camelizeString");function Mo(i,{ignoreKeys:e}={ignoreKeys:[]}){return Array.isArray(i)?i.map(t=>Ee(t,{ignoreKeys:e})):i}s(Mo,"camelizeArrayItems");function Ee(i,{ignoreKeys:e}={ignoreKeys:[]}){if(Array.isArray(i))return Mo(i,{ignoreKeys:e});if(!Oo(i))return i;let t={};for(let r of Object.keys(i)){let o=i[r];if(e.includes(r)){t[r]=o;continue}Oo(o)?o=Ee(o,{ignoreKeys:e}):Array.isArray(o)&&(o=Mo(o,{ignoreKeys:e})),t[ca(r)]=o}return t}s(Ee,"camelizeKeys");var da=s(i=>new Promise(e=>setTimeout(e,i)),"delay");function vr({libraryName:i,libraryVersion:e,userAgent:t,publicKey:r="",integration:o=""}){let n="JavaScript";if(typeof t=="string")return t;if(typeof t=="function")return t({publicKey:r,libraryName:i,libraryVersion:e,languageName:n,integration:o});let a=[i,e,r].filter(Boolean).join("/"),l=[n,o].filter(Boolean).join("; ");return`${a} (${l})`}s(vr,"getUserAgent$1");var ua={factor:2,time:100};function pa(i,e=ua){let t=0;function r(o){let n=Math.round(e.time*e.factor**t);return o({attempt:t,retry:s(l=>da(l??n).then(()=>(t+=1,r(o))),"retry")})}return s(r,"runAttempt"),r(i)}s(pa,"retrier");var De=class extends Error{static{s(this,"UploadcareError")}},We=class i extends De{static{s(this,"NetworkError")}originalProgressEvent;constructor(e){super(),this.name="NetworkError",this.message="Network error",Object.setPrototypeOf(this,i.prototype),this.originalProgressEvent=e}},ui=s((i,e)=>{i&&(i.aborted?Promise.resolve().then(e):i.addEventListener("abort",()=>e(),{once:!0}))},"onCancel"),ke=class i extends De{static{s(this,"CancelError")}isCancel=!0;constructor(e="Request canceled"){super(e),this.name="CancelError",Object.setPrototypeOf(this,i.prototype)}},ha=500,Ro=s(({check:i,interval:e=ha,timeout:t,signal:r})=>new Promise((o,n)=>{let a,l;ui(r,()=>{a&&clearTimeout(a),n(new ke("Poll cancelled"))}),t&&(l=setTimeout(()=>{a&&clearTimeout(a),n(new ke("Timed out"))},t));let c=s(()=>{try{Promise.resolve(i(r)).then(d=>{d?(l&&clearTimeout(l),o(d)):a=setTimeout(c,e)}).catch(d=>{l&&clearTimeout(l),n(d)})}catch(d){l&&clearTimeout(l),n(d)}},"tick");a=setTimeout(c,0)}),"poll"),I={baseCDN:"https://ucarecdn.com",baseURL:"https://upload.uploadcare.com",maxContentLength:50*1024*1024,retryThrottledRequestMaxTimes:1,retryNetworkErrorMaxTimes:3,multipartMinFileSize:25*1024*1024,multipartChunkSize:5*1024*1024,multipartMinLastPartSize:1024*1024,maxConcurrentRequests:4,pollingTimeoutMilliseconds:1e4,pusherKey:"79ae88bd931ea68464d9"},pi="application/octet-stream",Po="original",Me=s(({method:i,url:e,data:t,headers:r={},signal:o,onProgress:n})=>new Promise((a,l)=>{let c=new XMLHttpRequest,d=i?.toUpperCase()||"GET",u=!1;c.open(d,e,!0),r&&Object.entries(r).forEach(p=>{let[h,f]=p;typeof f<"u"&&!Array.isArray(f)&&c.setRequestHeader(h,f)}),c.responseType="text",ui(o,()=>{u=!0,c.abort(),l(new ke)}),c.onload=()=>{if(c.status!=200)l(new Error(`Error ${c.status}: ${c.statusText}`));else{let p={method:d,url:e,data:t,headers:r||void 0,signal:o,onProgress:n},h=c.getAllResponseHeaders().trim().split(/[\r\n]+/),f={};h.forEach(function(y){let S=y.split(": "),T=S.shift(),A=S.join(": ");T&&typeof T<"u"&&(f[T]=A)});let m=c.response,v=c.status;a({request:p,data:m,headers:f,status:v})}},c.onerror=p=>{u||l(new We(p))},n&&typeof n=="function"&&(c.upload.onprogress=p=>{p.lengthComputable?n({isComputable:!0,value:p.loaded/p.total}):n({isComputable:!1})}),t?c.send(t):c.send()}),"request");function ma(i,...e){return i}s(ma,"identity");var fa=s(({name:i})=>i?[i]:[],"getFileOptions"),ga=ma,va=s(()=>new FormData,"getFormData"),Uo=s(i=>!1,"isBuffer"),hi=s(i=>typeof Blob<"u"&&i instanceof Blob,"isBlob"),mi=s(i=>typeof File<"u"&&i instanceof File,"isFile"),fi=s(i=>!!i&&typeof i=="object"&&!Array.isArray(i)&&"uri"in i&&typeof i.uri=="string","isReactNativeAsset"),qe=s(i=>hi(i)||mi(i)||Uo()||fi(i),"isFileData"),ya=s(i=>typeof i=="string"||typeof i=="number"||typeof i>"u","isSimpleValue"),ba=s(i=>!!i&&typeof i=="object"&&!Array.isArray(i),"isObjectValue"),_a=s(i=>!!i&&typeof i=="object"&&"data"in i&&qe(i.data),"isFileValue");function $o(i,e,t){if(Array.isArray(t))for(let r of t)$o(i,`${e}[]`,r);else if(_a(t)){let{name:r,contentType:o}=t,n=ga(t.data,r,o??pi),a=fa({name:r,contentType:o});i.push([e,n,...a])}else if(ba(t))for(let[r,o]of Object.entries(t))typeof o<"u"&&i.push([`${e}[${r}]`,String(o)]);else ya(t)&&t&&i.push([e,t.toString()])}s($o,"collectParams");function wa(i){let e=[];for(let[t,r]of Object.entries(i))$o(e,t,r);return e}s(wa,"getFormDataParams");function gi(i){let e=va(),t=wa(i);for(let r of t){let[o,n,...a]=r;e.append(o,n,...a)}return e}s(gi,"buildFormData");var K=class i extends De{static{s(this,"UploadError")}code;request;response;headers;constructor(e,t,r,o,n){super(),this.name="UploadError",this.message=e,this.code=t,this.request=r,this.response=o,this.headers=n,Object.setPrototypeOf(this,i.prototype)}},Ca=s(i=>{let e=new URLSearchParams;for(let[t,r]of Object.entries(i))r&&typeof r=="object"&&!Array.isArray(r)?Object.entries(r).filter(o=>o[1]??!1).forEach(o=>e.set(`${t}[${o[0]}]`,String(o[1]))):Array.isArray(r)?r.forEach(o=>{e.append(`${t}[]`,o)}):typeof r=="string"&&r?e.set(t,r):typeof r=="number"&&e.set(t,r.toString());return e.toString()},"buildSearchParams"),we=s((i,e,t)=>{let r=new URL(i);return r.pathname=(r.pathname+e).replace("//","/"),t&&(r.search=Ca(t)),r.toString()},"getUrl"),Ea="6.18.0",Ta="UploadcareUploadClient",xa=Ea;function Fe(i){return vr({libraryName:Ta,libraryVersion:xa,...i})}s(Fe,"getUserAgent");var Aa="RequestThrottledError",Lo=15e3,Sa=1e3;function Ia(i){let{headers:e}=i||{};if(!e||typeof e["retry-after"]!="string")return Lo;let t=parseInt(e["retry-after"],10);return Number.isFinite(t)?t*1e3:Lo}s(Ia,"getTimeoutFromThrottledRequest");function Le(i,e){let{retryThrottledRequestMaxTimes:t,retryNetworkErrorMaxTimes:r}=e;return pa(({attempt:o,retry:n})=>i().catch(a=>{if("response"in a&&a?.code===Aa&&o<t)return n(Ia(a));if(a instanceof We&&o<r)return n((o+1)*Sa);throw a}))}s(Le,"retryIfFailed");var Do=s(i=>{let e="";return(hi(i)||mi(i)||fi(i))&&(e=i.type),e||pi},"getContentType"),Fo=s(i=>{let e="";return mi(i)&&i.name?e=i.name:hi(i)||Uo()?e="":fi(i)&&i.name&&(e=i.name),e||Po},"getFileName");function yr(i){return typeof i>"u"||i==="auto"?"auto":i?"1":"0"}s(yr,"getStoreValue");function ka(i,{publicKey:e,fileName:t,contentType:r,baseURL:o=I.baseURL,secureSignature:n,secureExpire:a,store:l,signal:c,onProgress:d,source:u="local",integration:p,userAgent:h,retryThrottledRequestMaxTimes:f=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:m=I.retryNetworkErrorMaxTimes,metadata:v}){return Le(()=>Me({method:"POST",url:we(o,"/base/",{jsonerrors:1}),headers:{"X-UC-User-Agent":Fe({publicKey:e,integration:p,userAgent:h})},data:gi({file:{data:i,name:t||Fo(i),contentType:r||Do(i)},UPLOADCARE_PUB_KEY:e,UPLOADCARE_STORE:yr(l),signature:n,expire:a,source:u,metadata:v}),signal:c,onProgress:d}).then(({data:y,headers:S,request:T})=>{let A=Ee(JSON.parse(y));if("error"in A)throw new K(A.error.content,A.error.errorCode,T,A,S);return A}),{retryNetworkErrorMaxTimes:m,retryThrottledRequestMaxTimes:f})}s(ka,"base");var hr;(function(i){i.Token="token",i.FileInfo="file_info"})(hr||(hr={}));function Oa(i,{publicKey:e,baseURL:t=I.baseURL,store:r,fileName:o,checkForUrlDuplicates:n,saveUrlForRecurrentUploads:a,secureSignature:l,secureExpire:c,source:d="url",signal:u,integration:p,userAgent:h,retryThrottledRequestMaxTimes:f=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:m=I.retryNetworkErrorMaxTimes,metadata:v}){return Le(()=>Me({method:"POST",headers:{"X-UC-User-Agent":Fe({publicKey:e,integration:p,userAgent:h})},url:we(t,"/from_url/",{jsonerrors:1,pub_key:e,source_url:i,store:yr(r),filename:o,check_URL_duplicates:n?1:void 0,save_URL_duplicates:a?1:void 0,signature:l,expire:c,source:d,metadata:v}),signal:u}).then(({data:y,headers:S,request:T})=>{let A=Ee(JSON.parse(y));if("error"in A)throw new K(A.error.content,A.error.errorCode,T,A,S);return A}),{retryNetworkErrorMaxTimes:m,retryThrottledRequestMaxTimes:f})}s(Oa,"fromUrl");var Y;(function(i){i.Unknown="unknown",i.Waiting="waiting",i.Progress="progress",i.Error="error",i.Success="success"})(Y||(Y={}));var Ma=s(i=>"status"in i&&i.status===Y.Error,"isErrorResponse");function La(i,{publicKey:e,baseURL:t=I.baseURL,signal:r,integration:o,userAgent:n,retryThrottledRequestMaxTimes:a=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:l=I.retryNetworkErrorMaxTimes}={}){return Le(()=>Me({method:"GET",headers:e?{"X-UC-User-Agent":Fe({publicKey:e,integration:o,userAgent:n})}:void 0,url:we(t,"/from_url/status/",{jsonerrors:1,token:i}),signal:r}).then(({data:c,headers:d,request:u})=>{let p=Ee(JSON.parse(c));if("error"in p&&!Ma(p))throw new K(p.error.content,p.error.errorCode,u,p,d);return p}),{retryNetworkErrorMaxTimes:l,retryThrottledRequestMaxTimes:a})}s(La,"fromUrlStatus");function Ra(i,{publicKey:e,baseURL:t=I.baseURL,jsonpCallback:r,secureSignature:o,secureExpire:n,signal:a,source:l,integration:c,userAgent:d,retryThrottledRequestMaxTimes:u=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:p=I.retryNetworkErrorMaxTimes}){return Le(()=>Me({method:"POST",headers:{"X-UC-User-Agent":Fe({publicKey:e,integration:c,userAgent:d})},url:we(t,"/group/",{jsonerrors:1}),data:gi({files:i,callback:r,pub_key:e,signature:o,expire:n,source:l}),signal:a}).then(({data:h,headers:f,request:m})=>{let v=Ee(JSON.parse(h));if("error"in v)throw new K(v.error.content,v.error.errorCode,m,v,f);return v}),{retryNetworkErrorMaxTimes:p,retryThrottledRequestMaxTimes:u})}s(Ra,"group");function Vo(i,{publicKey:e,baseURL:t=I.baseURL,signal:r,source:o,integration:n,userAgent:a,retryThrottledRequestMaxTimes:l=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:c=I.retryNetworkErrorMaxTimes}){return Le(()=>Me({method:"GET",headers:{"X-UC-User-Agent":Fe({publicKey:e,integration:n,userAgent:a})},url:we(t,"/info/",{jsonerrors:1,pub_key:e,file_id:i,source:o}),signal:r}).then(({data:d,headers:u,request:p})=>{let h=Ee(JSON.parse(d));if("error"in h)throw new K(h.error.content,h.error.errorCode,p,h,u);return h}),{retryThrottledRequestMaxTimes:l,retryNetworkErrorMaxTimes:c})}s(Vo,"info");function Pa(i,{publicKey:e,contentType:t,fileName:r,multipartChunkSize:o=I.multipartChunkSize,baseURL:n="",secureSignature:a,secureExpire:l,store:c,signal:d,source:u="local",integration:p,userAgent:h,retryThrottledRequestMaxTimes:f=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:m=I.retryNetworkErrorMaxTimes,metadata:v}){return Le(()=>Me({method:"POST",url:we(n,"/multipart/start/",{jsonerrors:1}),headers:{"X-UC-User-Agent":Fe({publicKey:e,integration:p,userAgent:h})},data:gi({filename:r||Po,size:i,content_type:t||pi,part_size:o,UPLOADCARE_STORE:yr(c),UPLOADCARE_PUB_KEY:e,signature:a,expire:l,source:u,metadata:v}),signal:d}).then(({data:y,headers:S,request:T})=>{let A=Ee(JSON.parse(y));if("error"in A)throw new K(A.error.content,A.error.errorCode,T,A,S);return A.parts=Object.keys(A.parts).map(J=>A.parts[Number(J)]),A}),{retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m})}s(Pa,"multipartStart");function Ua(i,e,{contentType:t,signal:r,onProgress:o,retryThrottledRequestMaxTimes:n=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:a=I.retryNetworkErrorMaxTimes}){return Le(()=>Me({method:"PUT",url:e,data:i,onProgress:o,signal:r,headers:{"Content-Type":t||pi}}).then(l=>(o&&o({isComputable:!0,value:1}),l)).then(({status:l})=>({code:l})),{retryThrottledRequestMaxTimes:n,retryNetworkErrorMaxTimes:a})}s(Ua,"multipartUpload");function $a(i,{publicKey:e,baseURL:t=I.baseURL,source:r="local",signal:o,integration:n,userAgent:a,retryThrottledRequestMaxTimes:l=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:c=I.retryNetworkErrorMaxTimes}){return Le(()=>Me({method:"POST",url:we(t,"/multipart/complete/",{jsonerrors:1}),headers:{"X-UC-User-Agent":Fe({publicKey:e,integration:n,userAgent:a})},data:gi({uuid:i,UPLOADCARE_PUB_KEY:e,source:r}),signal:o}).then(({data:d,headers:u,request:p})=>{let h=Ee(JSON.parse(d));if("error"in h)throw new K(h.error.content,h.error.errorCode,p,h,u);return h}),{retryThrottledRequestMaxTimes:l,retryNetworkErrorMaxTimes:c})}s($a,"multipartComplete");function br(i,{publicKey:e,baseURL:t,source:r,integration:o,userAgent:n,retryThrottledRequestMaxTimes:a,retryNetworkErrorMaxTimes:l,signal:c,onProgress:d}){return Ro({check:s(u=>Vo(i,{publicKey:e,baseURL:t,signal:u,source:r,integration:o,userAgent:n,retryThrottledRequestMaxTimes:a,retryNetworkErrorMaxTimes:l}).then(p=>p.isReady?p:(d&&d({isComputable:!0,value:1}),!1)),"check"),signal:c})}s(br,"isReadyPoll");function Da(i){return"defaultEffects"in i}s(Da,"isGroupFileInfo");var Ce=class{static{s(this,"UploadcareFile")}uuid;name;size;isStored;isImage;mimeType;cdnUrl;s3Url;originalFilename;imageInfo;videoInfo;contentInfo;metadata;s3Bucket;defaultEffects=null;constructor(e,{baseCDN:t=I.baseCDN,fileName:r}={}){let{uuid:o,s3Bucket:n}=e,a=we(t,`${o}/`),l=n?we(`https://${n}.s3.amazonaws.com/`,`${o}/${e.filename}`):null;this.uuid=o,this.name=r||e.filename,this.size=e.size,this.isStored=e.isStored,this.isImage=e.isImage,this.mimeType=e.mimeType,this.cdnUrl=a,this.originalFilename=e.originalFilename,this.imageInfo=e.imageInfo,this.videoInfo=e.videoInfo,this.contentInfo=e.contentInfo,this.metadata=e.metadata||null,this.s3Bucket=n||null,this.s3Url=l,Da(e)&&(this.defaultEffects=e.defaultEffects)}},Fa=s((i,{publicKey:e,fileName:t,baseURL:r,secureSignature:o,secureExpire:n,store:a,contentType:l,signal:c,onProgress:d,source:u,integration:p,userAgent:h,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m,baseCDN:v,metadata:y})=>ka(i,{publicKey:e,fileName:t,contentType:l,baseURL:r,secureSignature:o,secureExpire:n,store:a,signal:c,onProgress:d,source:u,integration:p,userAgent:h,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m,metadata:y}).then(({file:S})=>br(S,{publicKey:e,baseURL:r,source:u,integration:p,userAgent:h,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m,onProgress:d,signal:c})).then(S=>new Ce(S,{baseCDN:v})),"uploadDirect"),Va=s((i,{publicKey:e,fileName:t,baseURL:r,signal:o,onProgress:n,source:a,integration:l,userAgent:c,retryThrottledRequestMaxTimes:d,retryNetworkErrorMaxTimes:u,baseCDN:p})=>Vo(i,{publicKey:e,baseURL:r,signal:o,source:a,integration:l,userAgent:c,retryThrottledRequestMaxTimes:d,retryNetworkErrorMaxTimes:u}).then(h=>new Ce(h,{baseCDN:p,fileName:t})).then(h=>(n&&n({isComputable:!0,value:1}),h)),"uploadFromUploaded"),Na=s((i,{signal:e}={})=>{let t=null,r=null,o=i.map(()=>new AbortController),n=s(a=>()=>{r=a,o.forEach((l,c)=>c!==a&&l.abort())},"createStopRaceCallback");return ui(e,()=>{o.forEach(a=>a.abort())}),Promise.all(i.map((a,l)=>{let c=n(l);return Promise.resolve().then(()=>a({stopRace:c,signal:o[l].signal})).then(d=>(c(),d)).catch(d=>(t=d,null))})).then(a=>{if(r===null)throw t;return a[r]})},"race"),Ba=window.WebSocket,mr=class{static{s(this,"Events")}events=Object.create({});emit(e,t){this.events[e]?.forEach(r=>r(t))}on(e,t){this.events[e]=this.events[e]||[],this.events[e].push(t)}off(e,t){t?this.events[e]=this.events[e].filter(r=>r!==t):this.events[e]=[]}},za=s((i,e)=>i==="success"?{status:Y.Success,...e}:i==="progress"?{status:Y.Progress,...e}:{status:Y.Error,...e},"response"),fr=class{static{s(this,"Pusher")}key;disconnectTime;ws=void 0;queue=[];isConnected=!1;subscribers=0;emmitter=new mr;disconnectTimeoutId=null;constructor(e,t=3e4){this.key=e,this.disconnectTime=t}connect(){if(this.disconnectTimeoutId&&clearTimeout(this.disconnectTimeoutId),!this.isConnected&&!this.ws){let e=`wss://ws.pusherapp.com/app/${this.key}?protocol=5&client=js&version=1.12.2`;this.ws=new Ba(e),this.ws.addEventListener("error",t=>{this.emmitter.emit("error",new Error(t.message))}),this.emmitter.on("connected",()=>{this.isConnected=!0,this.queue.forEach(t=>this.send(t.event,t.data)),this.queue=[]}),this.ws.addEventListener("message",t=>{let r=JSON.parse(t.data.toString());switch(r.event){case"pusher:connection_established":{this.emmitter.emit("connected",void 0);break}case"pusher:ping":{this.send("pusher:pong",{});break}case"progress":case"success":case"fail":this.emmitter.emit(r.channel,za(r.event,JSON.parse(r.data)))}})}}disconnect(){let e=s(()=>{this.ws?.close(),this.ws=void 0,this.isConnected=!1},"actualDisconect");this.disconnectTime?this.disconnectTimeoutId=setTimeout(()=>{e()},this.disconnectTime):e()}send(e,t){let r=JSON.stringify({event:e,data:t});this.ws?.send(r)}subscribe(e,t){this.subscribers+=1,this.connect();let r=`task-status-${e}`,o={event:"pusher:subscribe",data:{channel:r}};this.emmitter.on(r,t),this.isConnected?this.send(o.event,o.data):this.queue.push(o)}unsubscribe(e){this.subscribers-=1;let t=`task-status-${e}`,r={event:"pusher:unsubscribe",data:{channel:t}};this.emmitter.off(t),this.isConnected?this.send(r.event,r.data):this.queue=this.queue.filter(o=>o.data.channel!==t),this.subscribers===0&&this.disconnect()}onError(e){return this.emmitter.on("error",e),()=>this.emmitter.off("error",e)}},ur=null,_r=s(i=>{if(!ur){let e=typeof window>"u"?0:3e4;ur=new fr(i,e)}return ur},"getPusher"),Ha=s(i=>{_r(i).connect()},"preconnect");function ja({token:i,publicKey:e,baseURL:t,integration:r,userAgent:o,retryThrottledRequestMaxTimes:n,retryNetworkErrorMaxTimes:a,onProgress:l,signal:c}){return Ro({check:s(d=>La(i,{publicKey:e,baseURL:t,integration:r,userAgent:o,retryThrottledRequestMaxTimes:n,retryNetworkErrorMaxTimes:a,signal:d}).then(u=>{switch(u.status){case Y.Error:return new K(u.error,u.errorCode);case Y.Waiting:return!1;case Y.Unknown:return new K(`Token "${i}" was not found.`);case Y.Progress:return l&&(u.total==="unknown"?l({isComputable:!1}):l({isComputable:!0,value:u.done/u.total})),!1;case Y.Success:return l&&l({isComputable:!0,value:u.done/u.total}),u;default:throw new Error("Unknown status")}}),"check"),signal:c})}s(ja,"pollStrategy");var Ka=s(({token:i,pusherKey:e,signal:t,onProgress:r})=>new Promise((o,n)=>{let a=_r(e),l=a.onError(n),c=s(()=>{l(),a.unsubscribe(i)},"destroy");ui(t,()=>{c(),n(new ke("pusher cancelled"))}),a.subscribe(i,d=>{switch(d.status){case Y.Progress:{r&&(d.total==="unknown"?r({isComputable:!1}):r({isComputable:!0,value:d.done/d.total}));break}case Y.Success:{c(),r&&r({isComputable:!0,value:d.done/d.total}),o(d);break}case Y.Error:c(),n(new K(d.msg,d.error_code))}})}),"pushStrategy"),Ga=s((i,{publicKey:e,fileName:t,baseURL:r,baseCDN:o,checkForUrlDuplicates:n,saveUrlForRecurrentUploads:a,secureSignature:l,secureExpire:c,store:d,signal:u,onProgress:p,source:h,integration:f,userAgent:m,retryThrottledRequestMaxTimes:v,pusherKey:y=I.pusherKey,metadata:S})=>Promise.resolve(Ha(y)).then(()=>Oa(i,{publicKey:e,fileName:t,baseURL:r,checkForUrlDuplicates:n,saveUrlForRecurrentUploads:a,secureSignature:l,secureExpire:c,store:d,signal:u,source:h,integration:f,userAgent:m,retryThrottledRequestMaxTimes:v,metadata:S})).catch(T=>(_r(y)?.disconnect(),Promise.reject(T))).then(T=>T.type===hr.FileInfo?T:Na([({signal:A})=>ja({token:T.token,publicKey:e,baseURL:r,integration:f,userAgent:m,retryThrottledRequestMaxTimes:v,onProgress:p,signal:A}),({signal:A})=>Ka({token:T.token,pusherKey:y,signal:A,onProgress:p})],{signal:u})).then(T=>{if(T instanceof K)throw T;return T}).then(T=>br(T.uuid,{publicKey:e,baseURL:r,integration:f,userAgent:m,retryThrottledRequestMaxTimes:v,onProgress:p,signal:u})).then(T=>new Ce(T,{baseCDN:o})),"uploadFromUrl"),pr=new WeakMap,Wa=s(async i=>{if(pr.has(i))return pr.get(i);let e=await fetch(i.uri).then(t=>t.blob());return pr.set(i,e),e},"getBlobFromReactNativeAsset"),No=s(async i=>{if(mi(i)||hi(i))return i.size;if(fi(i))return(await Wa(i)).size;throw new Error("Unknown file type. Cannot determine file size.")},"getFileSize"),qa=s((i,e=I.multipartMinFileSize)=>i>=e,"isMultipart"),Bo=s(i=>{let e="[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}",t=new RegExp(e);return!qe(i)&&t.test(i)},"isUuid"),wr=s(i=>{let e="^(?:\\w+:)?\\/\\/([^\\s\\.]+\\.\\S{2}|localhost[\\:?\\d]*)\\S*$",t=new RegExp(e);return!qe(i)&&t.test(i)},"isUrl"),Xa=s((i,e)=>new Promise((t,r)=>{let o=[],n=!1,a=e.length,l=[...e],c=s(()=>{let d=e.length-l.length,u=l.shift();u&&u().then(p=>{n||(o[d]=p,a-=1,a?c():t(o))}).catch(p=>{n=!0,r(p)})},"run");for(let d=0;d<i;d++)c()}),"runWithConcurrency"),Za=s((i,e,t,r)=>{let o=r*e,n=Math.min(o+r,t);return i.slice(o,n)},"sliceChunk"),Ya=s(async(i,e,t)=>r=>Za(i,r,e,t),"prepareChunks"),Qa=s((i,e,{publicKey:t,contentType:r,onProgress:o,signal:n,integration:a,retryThrottledRequestMaxTimes:l,retryNetworkErrorMaxTimes:c})=>Ua(i,e,{publicKey:t,contentType:r,onProgress:o,signal:n,integration:a,retryThrottledRequestMaxTimes:l,retryNetworkErrorMaxTimes:c}),"uploadPart"),Ja=s(async(i,{publicKey:e,fileName:t,fileSize:r,baseURL:o,secureSignature:n,secureExpire:a,store:l,signal:c,onProgress:d,source:u,integration:p,userAgent:h,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m,contentType:v,multipartChunkSize:y=I.multipartChunkSize,maxConcurrentRequests:S=I.maxConcurrentRequests,baseCDN:T,metadata:A})=>{let J=r??await No(i),ee,$e=s((N,q)=>{if(!d)return;ee||(ee=Array(N).fill(0));let re=s(le=>le.reduce((fe,rr)=>fe+rr,0),"sum");return le=>{le.isComputable&&(ee[q]=le.value,d({isComputable:!0,value:re(ee)/N}))}},"createProgressHandler");return v||=Do(i),Pa(J,{publicKey:e,contentType:v,fileName:t||Fo(i),baseURL:o,secureSignature:n,secureExpire:a,store:l,signal:c,source:u,integration:p,userAgent:h,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m,metadata:A,multipartChunkSize:y}).then(async({uuid:N,parts:q})=>{let re=await Ya(i,J,y);return Promise.all([N,Xa(S,q.map((le,fe)=>()=>Qa(re(fe),le,{publicKey:e,contentType:v,onProgress:$e(q.length,fe),signal:c,integration:p,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m})))])}).then(([N])=>$a(N,{publicKey:e,baseURL:o,source:u,integration:p,userAgent:h,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m})).then(N=>N.isReady?N:br(N.uuid,{publicKey:e,baseURL:o,source:u,integration:p,userAgent:h,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m,onProgress:d,signal:c})).then(N=>new Ce(N,{baseCDN:T}))},"uploadMultipart");async function Cr(i,{publicKey:e,fileName:t,baseURL:r=I.baseURL,secureSignature:o,secureExpire:n,store:a,signal:l,onProgress:c,source:d,integration:u,userAgent:p,retryThrottledRequestMaxTimes:h,retryNetworkErrorMaxTimes:f,contentType:m,multipartMinFileSize:v,multipartChunkSize:y,maxConcurrentRequests:S,baseCDN:T=I.baseCDN,checkForUrlDuplicates:A,saveUrlForRecurrentUploads:J,pusherKey:ee,metadata:$e}){if(qe(i)){let N=await No(i);return qa(N,v)?Ja(i,{publicKey:e,contentType:m,multipartChunkSize:y,fileSize:N,fileName:t,baseURL:r,secureSignature:o,secureExpire:n,store:a,signal:l,onProgress:c,source:d,integration:u,userAgent:p,maxConcurrentRequests:S,retryThrottledRequestMaxTimes:h,retryNetworkErrorMaxTimes:f,baseCDN:T,metadata:$e}):Fa(i,{publicKey:e,fileName:t,contentType:m,baseURL:r,secureSignature:o,secureExpire:n,store:a,signal:l,onProgress:c,source:d,integration:u,userAgent:p,retryThrottledRequestMaxTimes:h,retryNetworkErrorMaxTimes:f,baseCDN:T,metadata:$e})}if(wr(i))return Ga(i,{publicKey:e,fileName:t,baseURL:r,baseCDN:T,checkForUrlDuplicates:A,saveUrlForRecurrentUploads:J,secureSignature:o,secureExpire:n,store:a,signal:l,onProgress:c,source:d,integration:u,userAgent:p,retryThrottledRequestMaxTimes:h,retryNetworkErrorMaxTimes:f,pusherKey:ee,metadata:$e});if(Bo(i))return Va(i,{publicKey:e,fileName:t,baseURL:r,signal:l,onProgress:c,source:d,integration:u,userAgent:p,retryThrottledRequestMaxTimes:h,retryNetworkErrorMaxTimes:f,baseCDN:T});throw new TypeError(`File uploading from "${i}" is not supported`)}s(Cr,"uploadFile");var gr=class{static{s(this,"UploadcareGroup")}uuid;filesCount;totalSize;isStored;isImage;cdnUrl;files;createdAt;storedAt=null;constructor(e,{baseCDN:t=I.baseCDN}={}){this.uuid=e.id,this.filesCount=e.filesCount;let r=e.files.filter(Boolean);this.totalSize=Object.values(r).reduce((o,n)=>o+n.size,0),this.isStored=!!e.datetimeStored,this.isImage=!!Object.values(r).filter(o=>o.isImage).length,this.cdnUrl=e.cdnUrl,this.files=r.map(o=>new Ce(o,{baseCDN:t})),this.createdAt=e.datetimeCreated,this.storedAt=e.datetimeStored}},el=s(i=>{for(let e of i)if(!qe(e))return!1;return!0},"isFileDataArray"),tl=s(i=>{for(let e of i)if(!Bo(e))return!1;return!0},"isUuidArray"),il=s(i=>{for(let e of i)if(!wr(e))return!1;return!0},"isUrlArray");function zo(i,{publicKey:e,fileName:t,baseURL:r=I.baseURL,secureSignature:o,secureExpire:n,store:a,signal:l,onProgress:c,source:d,integration:u,userAgent:p,retryThrottledRequestMaxTimes:h,retryNetworkErrorMaxTimes:f,contentType:m,multipartChunkSize:v=I.multipartChunkSize,baseCDN:y=I.baseCDN,checkForUrlDuplicates:S,saveUrlForRecurrentUploads:T,jsonpCallback:A}){if(!el(i)&&!il(i)&&!tl(i))throw new TypeError(`Group uploading from "${i}" is not supported`);let J,ee=!0,$e=i.length,N=s((q,re)=>{if(!c)return;J||(J=Array(q).fill(0));let le=s(fe=>fe.reduce((rr,Tn)=>rr+Tn)/q,"normalize");return fe=>{if(!fe.isComputable||!ee){ee=!1,c({isComputable:!1});return}J[re]=fe.value,c({isComputable:!0,value:le(J)})}},"createProgressHandler");return Promise.all(i.map((q,re)=>qe(q)||wr(q)?Cr(q,{publicKey:e,fileName:t,baseURL:r,secureSignature:o,secureExpire:n,store:a,signal:l,onProgress:N($e,re),source:d,integration:u,userAgent:p,retryThrottledRequestMaxTimes:h,retryNetworkErrorMaxTimes:f,contentType:m,multipartChunkSize:v,baseCDN:y,checkForUrlDuplicates:S,saveUrlForRecurrentUploads:T}).then(le=>le.uuid):q)).then(q=>Ra(q,{publicKey:e,baseURL:r,jsonpCallback:A,secureSignature:o,secureExpire:n,signal:l,source:d,integration:u,userAgent:p,retryThrottledRequestMaxTimes:h,retryNetworkErrorMaxTimes:f}).then(re=>new gr(re,{baseCDN:y})).then(re=>(c&&c({isComputable:!0,value:1}),re)))}s(zo,"uploadFileGroup");var Oe=class{static{s(this,"Queue")}_concurrency=1;_pending=[];_running=0;_resolvers=new Map;_rejectors=new Map;constructor(e){this._concurrency=e}run(){let e=this._concurrency-this._running;for(let t=0;t<e;t++){let r=this._pending.shift();if(!r)return;let o=this._resolvers.get(r),n=this._rejectors.get(r);if(!o||!n)throw new Error("Unexpected behavior: resolver or rejector is undefined");this._running+=1,r().finally(()=>{this._resolvers.delete(r),this._rejectors.delete(r),this._running-=1,this.run()}).then(a=>o(a)).catch(a=>n(a))}}add(e,{autoRun:t}={autoRun:!0}){return new Promise((r,o)=>{this._resolvers.set(e,r),this._rejectors.set(e,o),this._pending.push(e),t&&this.run()})}get pending(){return this._pending.length}get running(){return this._running}set concurrency(e){this._concurrency=e,this.run()}get concurrency(){return this._concurrency}};var Er=s(()=>({}),"blockCtx"),Tr=s(i=>({...Er(),"*currentActivity":null,"*currentActivityParams":{},"*history":[],"*historyBack":null,"*closeModal":s(()=>{i.modalManager?.close(i.$["*currentActivity"]),i.set$({"*currentActivity":null})},"*closeModal")}),"activityBlockCtx"),xr=s(i=>({...Tr(i),"*commonProgress":0,"*uploadList":[],"*uploadQueue":new Oe(1),"*collectionErrors":[],"*collectionState":null,"*groupInfo":null,"*uploadTrigger":new Set,"*secureUploadsManager":null}),"uploaderBlockCtx"),Ho=s(i=>({...xr(i),"*solution":null}),"solutionBlockCtx");var xt={"locale-id":"en","social-source-lang":"en","upload-file":"Upload file","upload-files":"Upload files","choose-file":"Choose file","choose-files":"Choose files","drop-files-here":"Drop files here","select-file-source":"Select file source",selected:"Selected",upload:"Upload","add-more":"Add more",cancel:"Cancel","start-from-cancel":"Cancel",clear:"Clear","camera-shot":"Shot","upload-url":"Import","upload-url-placeholder":"Paste link here","edit-image":"Edit image","edit-detail":"Details",back:"Back",done:"Done",ok:"Ok","remove-from-list":"Remove",no:"No",yes:"Yes","confirm-your-action":"Confirm your action","are-you-sure":"Are you sure?","selected-count":"{{count}} of {{total}} selected","select-all":"Select all","deselect-all":"Deselect all","upload-error":"Upload error","validation-error":"Validation error","no-files":"No files selected",browse:"Browse","not-uploaded-yet":"Not uploaded yet...",file__one:"file",file__other:"files",error__one:"error",error__other:"errors","header-uploading":"Uploading {{count}} {{plural:file(count)}}","header-failed":"{{count}} {{plural:error(count)}}","header-succeed":"{{count}} {{plural:file(count)}} uploaded","header-total":"{{count}} {{plural:file(count)}} selected","src-type-local":"From device","src-type-from-url":"From link","src-type-camera":"Camera","src-type-mobile-video-camera":"Video","src-type-mobile-photo-camera":"Photo","src-type-draw":"Draw","src-type-facebook":"Facebook","src-type-dropbox":"Dropbox","src-type-gdrive":"Google Drive","src-type-ngdrive":"Google Drive","src-type-gphotos":"Google Photos","src-type-flickr":"Flickr","src-type-vk":"VK","src-type-evernote":"Evernote","src-type-box":"Box","src-type-onedrive":"OneDrive","src-type-huddle":"Huddle","src-type-other":"Other","caption-from-url":"Import from link","caption-camera":"Camera","caption-draw":"Draw","caption-edit-file":"Edit file","file-no-name":"No name...","toggle-fullscreen":"Toggle fullscreen","toggle-guides":"Toggle guides",rotate:"Rotate","flip-vertical":"Flip vertical","flip-horizontal":"Flip horizontal",apply:"Apply",brightness:"Brightness",contrast:"Contrast",saturation:"Saturation",exposure:"Exposure",gamma:"Gamma",vibrance:"Vibrance",warmth:"Warmth",enhance:"Enhance",original:"Original",resize:"Resize image",crop:"Crop","select-color":"Select color",text:"Text",draw:"Draw","cancel-edit":"Cancel edit","tab-view":"Preview","tab-details":"Details","file-name":"Name","file-size":"Size","cdn-url":"CDN URL","file-size-unknown":"Unknown","camera-permissions-denied":"Camera access denied","camera-permissions-prompt":"Please allow access to the camera","camera-permissions-request":"Request access","files-count-limit-error-title":"Files count limit overflow","files-count-limit-error-too-few":"You\u2019ve chosen {{total}} {{plural:file(total)}}. At least {{min}} {{plural:file(min)}} required.","files-count-limit-error-too-many":"You\u2019ve chosen too many files. {{max}} {{plural:file(max)}} is maximum.","files-max-size-limit-error":"File is too big. Max file size is {{maxFileSize}}.","has-validation-errors":"File validation error occurred. Please, check your files before upload.","images-only-accepted":"Only image files are accepted.","file-type-not-allowed":"Uploading of these file types is not allowed.","some-files-were-not-uploaded":"Some files were not uploaded.","file-item-edit-button":"Edit","file-item-remove-button":"Remove","a11y-editor-tab-filters":"Filters","a11y-editor-tab-tuning":"Tuning","a11y-editor-tab-crop":"Crop","a11y-activity-header-button-close":"Close",flip:"Flip",mirror:"Mirror","a11y-cloud-editor-apply-filter":"Apply {{name}} filter","a11y-cloud-editor-apply-crop":"Apply {{name}} operation","a11y-cloud-editor-apply-tuning":"Apply {{name}} tuning","a11y-cloud-editor-apply-aspect-ratio":"Apply operation {{name}} {{value}}",finished:"Finished",failed:"Failed",uploading:"Uploading",idle:"Idle","a11y-file-item-status":"File {{fileName}} in status {{status}}","waiting-for":"Waiting for {{source}}","queued-uploading":"Queued for upload","queued-validation":"Queued for validation",validation:"Validating","crop-to-shape":"Crop to {{value}}",custom:"Freeform","freeform-crop":"Freeform crop"};var vi=new Map,Ar=new Map,jo=s((i,e)=>{vi.has(i)&&console.log(`Locale ${i} is already defined. Overwriting...`),vi.set(i,{...xt,...e})},"defineLocaleSync"),rl=s((i,e)=>{Ar.set(i,e)},"defineLocaleAsync"),Sr=s((i,e)=>{typeof e=="function"?rl(i,e):jo(i,e)},"defineLocale"),Ko=s(async i=>{if(!vi.has(i)){if(!Ar.has(i))throw new Error(`Locale ${i} is not defined`);let t=await Ar.get(i)();jo(i,t)}return vi.get(i)},"resolveLocaleDefinition");Sr("en",xt);var ne=s(i=>`*l10n/${i}`,"localeStateKey"),ol="en",yi=class{static{s(this,"LocaleManager")}_blockInstance=null;_localeName="";_callbacks=new Set;_boundBlocks=new Map;constructor(e){this._blockInstance=e;for(let[t,r]of Object.entries(xt)){let o=this._blockInstance.has(ne(t))?!this._blockInstance.$[ne(t)]:!0;this._blockInstance.add(ne(t),r,o)}setTimeout(()=>{e.subConfigValue("localeName",async t=>{if(!this._blockInstance||!t)return;this._localeName=t;let r=await Ko(t);if(t!==ol&&this._localeName!==t)return;let o=this._blockInstance.cfg.localeDefinitionOverride?.[t];for(let[n,a]of Object.entries(r)){let l=o?.[n];this._blockInstance.add(ne(n),l??a,!0);for(let c of this._callbacks)c()}}),e.subConfigValue("localeDefinitionOverride",t=>{if(!t)return;let r=t[this._localeName];if(r)for(let[o,n]of Object.entries(r)){this._blockInstance?.add(ne(o),n,!0);for(let a of this._callbacks)a()}})})}onLocaleChange(e){let t=L(e,0);return this._callbacks.add(t),()=>{this._callbacks.delete(t)}}bindL10n(e,t,r){e.$[t]=r(),this._boundBlocks.has(e)||this._boundBlocks.set(e,new Map),this._boundBlocks.get(e)?.get(t)?.();let o=this.onLocaleChange(()=>{e.$[t]=r()});this._boundBlocks.get(e)?.set(t,o)}destroyL10nBindings(e){let t=this._boundBlocks.get(e);if(t){for(let r of t.values())r();this._boundBlocks.delete(e)}}destroy(){this._callbacks.clear()}};function Go(i,e){[...i.querySelectorAll("[l10n]")].forEach(t=>{let r=t.getAttribute("l10n");if(!r)return;let o=r.split(";");for(let n of o)n&&sl(t,n,e)})}s(Go,"l10nProcessor");var sl=s((i,e,t)=>{let r="textContent",o=!1;if(e.includes(":")){let l=e.split(":");if(l.length!==2){console.warn(`l10n attribute value should be in format "property:key" or "key". Found: ${e}`);return}let c=l;r=c[0],e=c[1],r.startsWith("@")&&(r=r.slice(1),o=!0)}let n=e;t.has(n)&&t.sub(n,l=>{if(!l)return;t.l10nProcessorSubs.has(n)||t.l10nProcessorSubs.set(n,new Set);let c=t.l10nProcessorSubs.get(n);c?.forEach(p=>{p.remove(),c.delete(p),t.allSubs.delete(p)});let d=ne(l).replace("*","");t.nodeCtx.has(d)||t.nodeCtx.add(d,l);let u=t.nodeCtx.sub(d,()=>{i[r]=t.l10n(l)});c?.add(u),t.allSubs.add(u),i.removeAttribute("l10n")});let a=ne(e);t.has(a)||t.add(a,""),t.sub(a,()=>{o?i.setAttribute(r,t.l10n(e)):i[r]=t.l10n(e)}),i.removeAttribute("l10n")},"locale");var nl={button:["toolbar"],checkbox:["toolbar"],menuitem:["menu","menubar"],option:["listbox"],tab:["tablist"]};function At(i,e){e.tabIndex=0,e.focus(),i.tabIndex=-1}s(At,"focus");function Ir(i){let e=i.role||i.type||i.tagName;if(!e)return null;let t=nl[e.toLowerCase()];if(!t)return null;for(let r of t){let o=i.closest(`[role=${r}]`);if(o)return o}}s(Ir,"findGroupNodeByEventTarget");function kr(i,e){return e.role==="toolbar"?al(e):e.querySelectorAll(`[role=${i.role}]`)}s(kr,"getItems");function al(i){return[...i.querySelectorAll("*")].filter(t=>t.role==="button"||t.type==="button"||t.role==="checkbox"||t.type==="checkbox")}s(al,"getToolbarItems");function ll(i){let e=i.getAttribute("aria-orientation");if(e==="vertical")return!1;if(e==="horizontal")return!0;let t=i.role;return t==="menubar"||t==="tablist"||t==="toolbar"}s(ll,"isHorizontalOrientation");function Wo(i){return e=>{let t=!1,r=i?.searchDelayMs||300,o=0,n="";function a(p){let h=Ir(p.target);if(!h){l();return}let f=kr(p.target,h),m=Array.from(f).indexOf(p.target),v="ArrowDown",y="ArrowUp";if(ll(h)&&(e.document.dir==="rtl"?(v="ArrowLeft",y="ArrowRight"):(v="ArrowRight",y="ArrowLeft")),p.key===v)p.preventDefault(),At(p.target,f[m+1]||f[0]);else if(p.key===y)p.preventDefault(),At(p.target,f[m-1]||f[f.length-1]);else if(p.key==="Home")p.preventDefault(),At(p.target,f[0]);else if(p.key==="End")p.preventDefault(),At(p.target,f[f.length-1]);else if(p.key.length===1&&h.role!=="tablist"){let S=Date.now();S-o<=r?n+=p.key.toLowerCase():n=p.key.toLowerCase(),o=S;let T=Array.from(f).find(A=>A.textContent?.trim()?.toLowerCase()?.startsWith(n));T&&(p.preventDefault(),At(p.target,T))}}s(a,"keyDown");function l(){t=!1,e.removeEventListener("keydown",a)}s(l,"stop");function c(p){let h=Ir(p.target);if(h){t||(t=!0,e.addEventListener("keydown",a));let f=kr(p.target,h);for(let m of f)m!==p.target&&m.setAttribute("tabindex",-1)}else t&&l()}s(c,"focusIn");function d(p){(!p.relatedTarget||p.relatedTarget===e.document)&&l()}s(d,"focusOut");function u(p){let h=Ir(p.target);if(h){let f=kr(p.target,h);for(let m of f)m!==p.target&&m.setAttribute("tabindex",-1);p.target.setAttribute("tabindex",0)}}return s(u,"click"),e.addEventListener("click",u),e.addEventListener("focusin",c),e.addEventListener("focusout",d),()=>{l(),e.removeEventListener("click",u),e.removeEventListener("focusin",c),e.removeEventListener("focusout",d)}}}s(Wo,"focusGroupKeyUX");function qo(){return i=>{let e,t;function r(n){if(n.target.getAttribute("aria-hidden")==="true"){e=n.target,e.setAttribute("aria-hidden","false"),t=e.hidden,t&&(e.hidden=!1);let a=n.target.querySelector('a, button, select, textarea, input:not([type=radio]), [type=radio]:checked, [tabindex]:not([tabindex="-1"])');a&&(a.tabIndex=0)}}s(r,"jump");function o(n){e&&e.contains(n.target)&&(!n.relatedTarget||!e.contains(n.relatedTarget))&&(n.target.tabIndex=-1,e.setAttribute("aria-hidden","true"),t&&(e.hidden=!0),e=null)}return s(o,"focusOut"),i.addEventListener("keyuxJump",r),i.addEventListener("focusout",o),()=>{i.removeEventListener("keyuxJump",r),i.removeEventListener("focusout",o)}}}s(qo,"hiddenKeyUX");function Xo(){return i=>{let e=[];function t(c){let d=i.document.activeElement;d&&d!==i.document.body&&e.push(new WeakRef(d)),c.focus({focusVisible:!0})}s(t,"focus");function r(){let c=e.pop();if(!c){i.document.activeElement.blur();return}let d=c.deref();d&&d.isConnected?d.focus():r()}s(r,"back");let o=0,n;function a(c){clearInterval(n);let d=c.getAttribute("aria-controls");n=setInterval(()=>{if(o++>50){clearInterval(n);return}let u=i.document.getElementById(d);if(u){let p=u.querySelector('a, button, select, textarea, input:not([type=radio]), [type=radio]:checked, [tabindex]:not([tabindex="-1"])');p&&(clearInterval(n),u.dispatchEvent(new i.CustomEvent("keyuxJump",{bubbles:!0})),t(p))}},50)}s(a,"jump");function l(c){c.target.getAttribute("aria-controls")&&c.key==="Enter"&&a(c.target),c.key==="Escape"&&r()}return s(l,"keyDown"),i.addEventListener("keydown",l),()=>{i.removeEventListener("keydown",l)}}}s(Xo,"jumpKeyUX");function Zo(i){let e,t=i.split(" "),r;function o(l){l.key==="Enter"&&(l.target.tagName==="BUTTON"||l.target.tagName==="A")&&(n(),l.target.classList.add(...t),e=l.target,r=l.target)}s(o,"keyDown");function n(){e&&e.classList.remove(...t),r=null}s(n,"keyUp");function a(l){l.clientX===0&&l.clientY===0&&r!==l.target&&(n(),l.target.classList.add(...t),e=l.target)}return s(a,"click"),l=>(l.addEventListener("click",a),l.addEventListener("keydown",o),l.addEventListener("keyup",n),()=>{l.removeEventListener("click",a),l.removeEventListener("keydown",o),l.removeEventListener("keyup",n)})}s(Zo,"pressKeyUX");function Yo(i,e){let t=e.map(r=>r(i));return()=>{t.forEach(r=>r())}}s(Yo,"startKeyUX");var Or=class{static{s(this,"ScopedMinimalWindow")}_listeners=new Map;_scope=[];addEventListener(e,t){let r=s(o=>{let n=o.target;n instanceof Node&&this._scope.some(a=>a===n||a.contains(n))&&t(o)},"wrappedListener");this._listeners.set(t,r),window.addEventListener(e,r)}removeEventListener(e,t){let r=this._listeners.get(t);r&&window.removeEventListener(e,r),this._listeners.delete(t)}get CustomEvent(){return window.CustomEvent}get document(){return window.document}get navigator(){return window.navigator}registerScope(e){this._scope.push(e)}destroy(){this._scope=[];for(let e of this._listeners.values())window.removeEventListener("keydown",e),window.removeEventListener("keyup",e);this._listeners.clear()}},bi=class{static{s(this,"A11y")}_destroyKeyUX;_scopedWindow;constructor(){this._scopedWindow=new Or,this._destroyKeyUX=Yo(this._scopedWindow,[Wo(),Zo("is-pressed"),Xo(),qo()])}registerBlock(e){this._scopedWindow.registerScope(e)}destroy(){this._destroyKeyUX?.(),this._scopedWindow.destroy()}};var $=Object.freeze({ADD:"modal:add",DELETE:"modal:delete",OPEN:"modal:open",CLOSE:"modal:close",CLOSE_ALL:"modal:closeAll",DESTROY:"modal:destroy"}),_i=class{static{s(this,"ModalManager")}_modals=new Map;_activeModals=new Set;_subscribers=new Map;_block;constructor(e){this._block=e}_debugPrint(...e){this._block.debugPrint("[modal-manager]",...e)}registerModal(e,t){this._modals.set(e,t),this._notify($.ADD,{id:e,modal:t})}deleteModal(e){if(!this._modals.has(e))return!1;let t=this._modals.get(e);return this._modals.delete(e),this._activeModals.delete(e),this._notify($.DELETE,{id:e,modal:t}),!0}open(e){if(!this._modals.has(e))return this._debugPrint(`Modal with ID "${e}" not found`),!1;let t=this._modals.get(e);return this._activeModals.add(e),this._notify($.OPEN,{modal:t,id:e}),!0}close(e){if(!this._modals.has(e)||!this._activeModals.has(e))return this._debugPrint(`Modal with ID "${e}" not found or not active`),!1;let t=this._modals.get(e);return this._activeModals.delete(e),this._notify($.CLOSE,{id:e,modal:t}),!0}toggle(e){return this._modals.has(e)?this._activeModals.has(e)?this.close(e):this.open(e):(this._debugPrint(`Modal with ID "${e}" not found`),!1)}get hasActiveModals(){return this._activeModals.size>0}back(){if(this._activeModals.size===0)return this._debugPrint("No active modals to go back from"),!1;let e=Array.from(this._activeModals).pop();return e?this.close(e):!1}closeAll(){let e=this._activeModals.size;return this._activeModals.clear(),this._notify($.CLOSE_ALL,{}),e}subscribe(e,t){return this._subscribers.has(e)||this._subscribers.set(e,new Set),this._subscribers.get(e)?.add(t),()=>this.unsubscribe(e,t)}unsubscribe(e,t){this._subscribers.has(e)&&this._subscribers.get(e)?.delete(t)}_notify(e,t){if(this._subscribers.has(e))for(let r of this._subscribers.get(e)??new Set)try{r(t)}catch(o){this._block.telemetryManager.sendEventError(o,"modal subscriber"),this._debugPrint("Error in modal subscriber:",o)}}destroy(){this.closeAll(),this._modals.clear(),this._subscribers.clear(),this._notify($.DESTROY,{})}};function cl(i){return i.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`).replace(/__/g,"_")}s(cl,"i");function Lr(i){return Array.isArray(i)?i.map(e=>typeof e=="object"&&e!==null?Lr(e):e):typeof i!="object"||i===null?i:Object.fromEntries(Object.entries(i).map(([e,t])=>{let r=cl(e);return typeof t=="object"&&t!==null?[r,Lr(t)]:[r,t]}))}s(Lr,"c");function dl(i){return{ok:!0,value:i}}s(dl,"u");function Mr(i){return{ok:!1,error:i}}s(Mr,"a");var ul="https://tlm.uploadcare.com/api/",Rr=class{static{s(this,"y")}constructor(e=ul){this.baseUrl=e}async base(e,t={}){let r=`${this.baseUrl}${e}`;try{let o=await fetch(r,t);if(!o.ok)return Mr(new Error(`Got non-200 response from "${r}". Status: ${o.status.toString()}`));try{let n=await o.json();return dl(n)}catch(n){return Mr(new Error(`Error parsing JSON from "${r}". Error: ${n}`))}}catch(o){return Mr(new Error(`Error fetching data from "${r}". Error: ${o}`))}}async post(e,t,r={}){return await this.base(e,{...r,method:"POST",body:JSON.stringify(Lr(t)),headers:{"Content-Type":"application/json",...r.headers||{}}})}async get(e,t={}){return await this.base(e,{method:"GET",...t})}},pl=s(async(i,e)=>({success:!0,data:e}),"f"),wi=class extends Rr{static{s(this,"p")}constructor(){super()}async sendEvent(e,t){let r=await pl(void 0,e);if(!r.success)throw console.error("TelemetryAPIService: events: body is invalid",r.error),new Error("TelemetryAPIService: events: body is invalid");return this.post("v1/events",e,t)}};var Qo="1.24.3";var Te="blocks",xe=Qo;var Ci=class{static{s(this,"TelemetryManager")}_sessionId=crypto.randomUUID();_telemetryInstance;_block;_config=structuredClone(Q);_initialized=!1;_lastPayload=null;_queue;constructor(e){this._block=e,this._telemetryInstance=new wi,this._queue=new Oe(10);for(let t of Object.keys(this._config))this._block.subConfigValue(t,r=>{this._initialized&&this._config[t]!==r&&this.sendEvent({eventType:O.CHANGE_CONFIG}),this._setConfig(t,r)})}_init(e){e===O.INIT_SOLUTION&&!this._initialized&&(this._initialized=!0)}_setConfig(e,t){this._config[e]!==t&&(this._config[e]=t)}_formattingPayload(e){let t=e.payload?{...e.payload}:{};t.activity&&(t.activity=void 0);let r={...e};return(e.eventType===O.INIT_SOLUTION||e.eventType===O.CHANGE_CONFIG)&&(r.config=this._config),{...r,appVersion:xe,appName:Te,sessionId:this._sessionId,component:this._solution,activity:this._activity,projectPubkey:this._config.pubkey,userAgent:navigator.userAgent,eventType:r.eventType??"",eventTimestamp:this._timestamp,payload:{...t}}}_excludedEvents(e){return!!(e&&[x.CHANGE,x.COMMON_UPLOAD_PROGRESS,x.FILE_ADDED,x.FILE_REMOVED,x.FILE_UPLOAD_START,x.FILE_UPLOAD_PROGRESS,x.FILE_UPLOAD_SUCCESS,x.FILE_UPLOAD_FAILED].includes(e))}sendEvent(e){let t=this._formattingPayload({eventType:e.eventType,payload:e.payload,config:e.config});this._init(e.eventType),!(this._excludedEvents(e.eventType)||this._lastPayload&&this._checkObj(this._lastPayload,t))&&this._queue.add(async()=>{this._lastPayload=t,await this._telemetryInstance.sendEvent(t)})}sendEventError(e,t="unknown"){this.sendEvent({eventType:O.ERROR_EVENT,payload:{metadata:{event:"error",text:`Error in ${t}`,error:e.message}}})}sendEventCloudImageEditor(e,t,r={}){this.sendEvent({eventType:O.ACTION_EVENT,payload:{metadata:{tabId:t,node:e.currentTarget?.tagName,event:e.type,...r}}})}_checkObj(e,t){if(JSON.stringify(e)===JSON.stringify(t))return!0;if(typeof e!="object"||typeof t!="object"||e==null||t==null)return!1;let r=Object.keys(e),o=Object.keys(t);if(r.length!==o.length)return!1;for(let n of r)if(!Object.hasOwn(t,n)||!this._checkObj(e[n],t[n]))return!1;return!0}get _timestamp(){return Date.now()}get _solution(){if(!this._block.has("*solution"))return null;let e=this._block.$["*solution"];return e?e.toLowerCase():null}get _activity(){return this._block.has("*currentActivity")?this._block.$["*currentActivity"]??null:null}};var z=s(i=>`*cfg/${i}`,"sharedConfigKey");function Jo(i,e){let t=i.querySelectorAll("[data-testid]");if(t.length===0)return;let r=new WeakMap;for(let o of t){let n=o.getAttribute("data-testid");n&&r.set(o,n)}e.subConfigValue("testMode",o=>{if(!o){for(let a of t)a.removeAttribute("data-testid");return}let n=e.testId;for(let a of t){let l=r.get(a);l&&a.setAttribute("data-testid",`${n}--${l}`)}})}s(Jo,"testModeProcessor");var ml="uc-",b=class extends ve{static{s(this,"Block")}__cfgProxy;l10nProcessorSubs=new Map;static StateConsumerScope=null;static styleAttrs=[];requireCtxName=!1;activityType=null;init$=Er();l10n(e,t={}){if(!e)return"";let r=this.$[ne(e)]||e,o=So(r);for(let a of o)t[a.variable]=this.pluralize(a.pluralKey,Number(t[a.countVariable]));return Et(r,t)}pluralize(e,t){let r=this.l10n("locale-id")||"en",o=di(r,t);return this.l10n(`${e}__${o}`)}bindL10n(e,t){this.localeManager?.bindL10n(this,e,t)}constructor(){super(),this.addTemplateProcessor(Go),this.addTemplateProcessor(Jo)}emit(e,t,r){let o=this.has("*eventEmitter")?this.$["*eventEmitter"]:void 0;o&&(o.emit(e,t,r),this.telemetryManager.sendEvent({eventType:e,payload:typeof t=="function"?t():t}))}hasBlockInCtx(e){for(let t of this.blocksRegistry)if(e(t))return!0;return!1}setOrAddState(e,t){this.add$({[e]:t},!0)}connectedCallback(){this.constructor.styleAttrs.forEach(t=>{this.setAttribute(t,"")}),this.hasAttribute("retpl")&&(this.constructor.template=null,this.processInnerHtml=!0),this.requireCtxName?ko({element:this,attribute:"ctx-name",onSuccess:s(()=>{super.connectedCallback()},"onSuccess"),onTimeout:s(()=>{console.error("Attribute `ctx-name` is required and it is not set.")},"onTimeout")}):super.connectedCallback(),Tt.registerClient(this)}disconnectedCallback(){super.disconnectedCallback(),Tt.unregisterClient(this)}initCallback(){this.has("*blocksRegistry")||this.add("*blocksRegistry",new Set),this.$["*blocksRegistry"].add(this),this.has("*eventEmitter")||this.add("*eventEmitter",new si(this.debugPrint.bind(this))),this.has("*localeManager")||this.add("*localeManager",new yi(this)),this.cfg.qualityInsights&&!this.has("*telemetryManager")&&this.add("*telemetryManager",new Ci(this)),this.has("*a11y")||this.add("*a11y",new bi),this.has("*modalManager")||this.add("*modalManager",new _i(this)),this.sub(ne("locale-id"),t=>{let r=To(t);this.style.direction=r==="ltr"?"":r}),this.subConfigValue("testMode",t=>{if(!t||!this.testId){this.removeAttribute("data-testid");return}this.setAttribute("data-testid",this.testId)})}get testId(){return window.customElements.getName(this.constructor)}get modalManager(){return this.has("*modalManager")?this.$["*modalManager"]:void 0}get telemetryManager(){return this.cfg.qualityInsights?this.has("*telemetryManager")&&this.$["*telemetryManager"]:{sendEvent:s(()=>{},"sendEvent"),sendEventCloudImageEditor:s(()=>{},"sendEventCloudImageEditor"),sendEventError:s(()=>{},"sendEventError")}}get localeManager(){return this.has("*localeManager")?this.$["*localeManager"]:null}get a11y(){return this.has("*a11y")?this.$["*a11y"]:null}get blocksRegistry(){return this.$["*blocksRegistry"]}destroyCallback(){super.destroyCallback();let e=this.blocksRegistry;e?.delete(this),this.localeManager?.destroyL10nBindings(this),this.l10nProcessorSubs=new Map,E.deleteCtx(this),e?.size===0&&setTimeout(()=>{this.destroyCtxCallback()},0)}destroyCtxCallback(){E.deleteCtx(this.ctxName),this.localeManager?.destroy(),this.modalManager?.destroy()}async proxyUrl(e){if(this.cfg.secureDeliveryProxy&&this.cfg.secureDeliveryProxyUrlResolver&&console.warn("Both secureDeliveryProxy and secureDeliveryProxyUrlResolver are set. The secureDeliveryProxyUrlResolver will be used."),this.cfg.secureDeliveryProxyUrlResolver)try{return await this.cfg.secureDeliveryProxyUrlResolver(e,{uuid:li(e),cdnUrlModifiers:ar(e),fileName:ai(e)})}catch(t){return console.error("Failed to resolve secure delivery proxy URL. Falling back to the default URL.",t),this.telemetryManager.sendEventError(t,"secureDeliveryProxyUrlResolver. Failed to resolve secure delivery proxy URL. Falling back to the default URL."),e}return this.cfg.secureDeliveryProxy?Et(this.cfg.secureDeliveryProxy,{previewUrl:e},{transform:s(t=>window.encodeURIComponent(t),"transform")}):e}get cfg(){if(!this.__cfgProxy){let e=Object.create(null);this.__cfgProxy=new Proxy(e,{set:s((t,r,o)=>{if(typeof r!="string")return!1;let n=z(r);return this.has(n)||this.add(n,Q[r]),this.$[n]=o,!0},"set"),get:s((t,r)=>{let o=z(r);return this.has(o)||this.add(o,Q[r]),this.$[z(r)]},"get")})}return this.__cfgProxy}subConfigValue(e,t){let r=z(e);this.has(r)||this.add(r,Q[e]),this.sub(r,t)}debugPrint(...e){if(!this.cfg.debug)return;let t=e;if(typeof e?.[0]=="function"){let r=e[0];t=r()}console.log(`[${this.ctxName}]`,...t)}static reg(e){if(!e){super.reg();return}e.startsWith(ml)&&super.reg(e)}};var es="active",Xe="___ACTIVITY_IS_ACTIVE___",g=class i extends b{static{s(this,"ActivityBlock")}historyTracked=!1;[Xe];init$=Tr(this);_debouncedHistoryFlush=L(this._historyFlush.bind(this),10);_deactivate(){let e=i._activityCallbacks.get(this);this[Xe]=!1,this.removeAttribute(es),e?.deactivateCallback?.()}_activate(){let e=i._activityCallbacks.get(this);this.$["*historyBack"]=this.historyBack.bind(this),this[Xe]=!0,this.setAttribute(es,""),e?.activateCallback?.(),this._debouncedHistoryFlush(),this.emit(x.ACTIVITY_CHANGE,{activity:this.activityType})}initCallback(){super.initCallback(),this.activityType&&(this.hasAttribute("activity")||this.setAttribute("activity",this.activityType),this.sub("*currentActivity",e=>{try{this.activityType!==e&&this[Xe]?this._deactivate():this.activityType===e&&!this[Xe]&&this._activate()}catch(t){this.telemetryManager.sendEventError(t,`activity "${this.activityType}"`),console.error(`Error in activity "${this.activityType}". `,t),this.$["*currentActivity"]=this.$["*history"][this.$["*history"].length-1]??null}e||(this.$["*history"]=[])}))}_historyFlush(){let e=this.$["*history"];e&&(e.length>10&&(e=e.slice(e.length-11,e.length-1)),this.historyTracked&&e[e.length-1]!==this.activityType&&e.push(this.activityType),this.$["*history"]=e)}_isActivityRegistered(){return!!this.activityType&&i._activityCallbacks.has(this)}static _activityCallbacks=new Map;static activities;get isActivityActive(){return!!this[Xe]}get couldOpenActivity(){return!0}registerActivity(e,t={}){let{onActivate:r,onDeactivate:o}=t;i._activityCallbacks.set(this,{activateCallback:r,deactivateCallback:o})}unregisterActivity(){this.isActivityActive&&this._deactivate(),i._activityCallbacks.delete(this)}destroyCallback(){super.destroyCallback(),this._isActivityRegistered()&&this.unregisterActivity();let e=this.$["*currentActivity"];!![...this.blocksRegistry].find(r=>r instanceof i&&r.activityType===e)||(this.$["*currentActivity"]=null,this.modalManager?.closeAll())}get activityKey(){return this.ctxName+this.activityType}get activityParams(){return this.$["*currentActivityParams"]}get initActivity(){return this.getCssData("--cfg-init-activity")}get doneActivity(){return this.getCssData("--cfg-done-activity")}historyBack(){let e=this.$["*history"];if(e){let t=e.pop();for(;t===this.activityType;)t=e.pop();let r=!!t;t&&(r=[...this.blocksRegistry].find(n=>n.activityType===t)?.couldOpenActivity??!1),t=r?t:void 0,t&&this.modalManager?.open(t),this.$["*currentActivity"]=t,this.$["*history"]=e,t||this.modalManager?.closeAll()}}};g.activities=Object.freeze({START_FROM:"start-from",CAMERA:"camera",DRAW:"draw",UPLOAD_LIST:"upload-list",URL:"url",CLOUD_IMG_EDIT:"cloud-image-edit",EXTERNAL:"external"});function Ei(i){for(let e in i){let t=[...e].reduce((r,o)=>(o.toUpperCase()===o&&(o=`-${o.toLowerCase()}`),r+=o,r),"");t.startsWith("-")&&(t=t.replace("-","")),t.startsWith("uc-")||(t=`uc-${t}`),i[e].reg&&i[e].reg(t)}}s(Ei,"defineComponents");var Pr="UC";function ts(i,e=!1){return new Promise((t,r)=>{if(typeof document!="object"){t(null);return}if(typeof window=="object"&&window[Pr]){t(window[Pr]);return}let o=document.createElement("script");o.async=!0,o.src=i,o.onerror=()=>{r()},o.onload=()=>{let n=window[Pr];e&&Ei(n),t(n)},document.head.appendChild(o)})}s(ts,"loadFileUploaderFrom");var is="<svg width='0' height='0' style='position:absolute'><symbol viewBox='0 0 24 24' id='uc-icon-about' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.152 14.12v.1h1.523v-.1c.007-.409.053-.752.138-1.028.086-.277.22-.517.405-.72.188-.202.434-.397.735-.586.32-.191.593-.412.82-.66.232-.249.41-.531.533-.847.125-.32.187-.678.187-1.076 0-.579-.137-1.085-.41-1.518a2.717 2.717 0 0 0-1.14-1.018c-.49-.245-1.062-.367-1.715-.367-.597 0-1.142.114-1.636.34-.49.228-.884.564-1.182 1.008-.299.44-.46.98-.485 1.619h1.62c.024-.377.118-.684.282-.922a1.48 1.48 0 0 1 .617-.532c.25-.114.51-.17.784-.17.301 0 .575.063.82.191.248.124.447.302.597.533.149.23.223.504.223.82 0 .263-.05.502-.149.72a1.91 1.91 0 0 1-.405.574 3.48 3.48 0 0 1-.575.453 4.22 4.22 0 0 0-.847.66c-.234.242-.415.558-.543.949-.125.39-.19.916-.197 1.577Zm.053 3.03c.21.206.46.31.75.31.196 0 .374-.049.534-.144a1.1 1.1 0 0 0 .383-.384c.1-.163.15-.343.15-.538a1 1 0 0 0-.32-.746 1.019 1.019 0 0 0-.746-.314c-.291 0-.542.105-.751.314-.21.206-.314.455-.314.746 0 .295.104.547.314.756ZM24 12c0 6.627-5.373 12-12 12S0 18.627 0 12 5.373 0 12 0s12 5.373 12 12Zm-1.5 0c0 5.799-4.701 10.5-10.5 10.5S1.5 17.799 1.5 12 6.201 1.5 12 1.5 22.5 6.201 22.5 12Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-add' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M12.75 21a.75.75 0 0 1-1.5 0v-8.25H3a.75.75 0 0 1 0-1.5h8.25V3a.75.75 0 0 1 1.5 0v8.25H21a.75.75 0 0 1 0 1.5h-8.25V21Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-arrow-down' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.5 23.03a.75.75 0 0 0 .999 0l9.29-8.276a.75.75 0 0 0-.998-1.12l-8.042 7.164V1.53a.75.75 0 0 0-1.5 0v19.267l-8.04-7.163a.75.75 0 0 0-.998 1.12z'/></symbol><symbol fill='none' viewBox='0 0 9 6' id='uc-icon-arrow-dropdown' xmlns='http://www.w3.org/2000/svg'><path stroke='currentColor' d='m1.5 1.667 3 2.666 3-2.666' opacity='.5'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-aspect-ratio' xmlns='http://www.w3.org/2000/svg'><path stroke='currentColor' d='M7.395 22.5H2.454v-5.25m14.824 5.25h4.94v-5.25m0-10.5V1.5h-4.94m-9.883 0H2.454v5.25'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-back' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M20.251 12a.75.75 0 0 1-.75.75H6.067l5.72 5.85a.75.75 0 1 1-1.072 1.05L4.136 12.92a1.292 1.292 0 0 1 0-1.842l6.579-6.728a.75.75 0 1 1 1.072 1.048l-5.72 5.851H19.5a.75.75 0 0 1 .75.75Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-badge-error' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M13.6 18.4a1.6 1.6 0 1 1-3.2 0 1.6 1.6 0 0 1 3.2 0zM12 4.5A1.5 1.5 0 0 1 13.5 6v7a1.5 1.5 0 0 1-3 0V6A1.5 1.5 0 0 1 12 4.5z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-badge-success' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='m10.5 18.204 7.6-8.183a1.5 1.5 0 0 0-2.2-2.042l-5.4 5.817-2.4-2.586a1.5 1.5 0 1 0-2.2 2.041l4.6 4.953Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-box' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M1.01 4.148a.75.75 0 0 1 .75.75v4.348a4.437 4.437 0 0 1 2.988-1.153c1.734 0 3.23.992 3.978 2.438a4.478 4.478 0 0 1 3.978-2.438c2.49 0 4.488 2.044 4.488 4.543 0 2.5-1.999 4.544-4.488 4.544a4.478 4.478 0 0 1-3.978-2.438 4.478 4.478 0 0 1-3.978 2.438C2.26 17.18.26 15.135.26 12.636V4.898a.75.75 0 0 1 .75-.75Zm.75 8.488c0 1.692 1.348 3.044 2.988 3.044s2.989-1.352 2.989-3.044c0-1.691-1.349-3.043-2.989-3.043S1.76 10.945 1.76 12.636Zm10.944-3.043c-1.64 0-2.988 1.352-2.988 3.043 0 1.692 1.348 3.044 2.988 3.044s2.988-1.352 2.988-3.044c0-1.69-1.348-3.043-2.988-3.043Zm4.328-1.23a.75.75 0 0 1 1.052.128l2.333 2.983 2.333-2.983a.75.75 0 0 1 1.181.924l-2.562 3.277 2.562 3.276a.75.75 0 1 1-1.181.924l-2.333-2.983-2.333 2.983a.75.75 0 1 1-1.181-.924l2.562-3.276-2.562-3.277a.75.75 0 0 1 .129-1.052Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-camera' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M7.65 2.55a.75.75 0 0 1 .6-.3h7.5a.75.75 0 0 1 .6.3l2.025 2.7H21a3 3 0 0 1 3 3v10.5a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V8.25a3 3 0 0 1 3-3h2.625zm.975 1.2L6.6 6.45a.75.75 0 0 1-.6.3H3a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h18a1.5 1.5 0 0 0 1.5-1.5V8.25a1.5 1.5 0 0 0-1.5-1.5h-3a.75.75 0 0 1-.6-.3l-2.025-2.7zm3.375 6a3.375 3.375 0 1 0 0 6.75 3.375 3.375 0 0 0 0-6.75zm-4.875 3.375a4.875 4.875 0 1 1 9.75 0 4.875 4.875 0 0 1-9.75 0z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-camera-full' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' clip-rule='evenodd' d='M2 4.667a2 2 0 0 0-2 2V16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6.667a2 2 0 0 0-2-2h-2.667l-2-2.667H6.667l-2 2.667H2Zm8 10a3.667 3.667 0 1 0 0-7.334 3.667 3.667 0 0 0 0 7.334Z' fill='currentColor'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-close' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M4.604 4.604a.75.75 0 0 1 1.06 0L12 10.939l6.335-6.335a.75.75 0 1 1 1.061 1.06L13.061 12l6.335 6.335a.75.75 0 1 1-1.06 1.061L12 13.061l-6.335 6.335a.75.75 0 0 1-1.061-1.06L10.939 12 4.604 5.665a.75.75 0 0 1 0-1.061z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-collapse' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M3.116 12a.75.75 0 0 1 .75-.75h16.268a.75.75 0 0 1 0 1.5H3.866a.75.75 0 0 1-.75-.75Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-default' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.501.392a.75.75 0 0 1 .998 0l6.704 5.972a.75.75 0 0 1-.998 1.12l-5.455-4.86v13.439a.75.75 0 0 1-1.5 0V2.625l-5.454 4.86a.75.75 0 1 1-.998-1.12zM.857 16.73a.75.75 0 0 1 .75.75v4.914h20.786v-4.914a.75.75 0 0 1 1.5 0v5.664a.75.75 0 0 1-.75.75H.857a.75.75 0 0 1-.75-.75v-5.664a.75.75 0 0 1 .75-.75z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-dropbox' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M6.019 1.92a.75.75 0 0 1 .806 0L12 5.219l5.176-3.297a.75.75 0 0 1 .806 0l5.577 3.553a.75.75 0 0 1 0 1.265l-4.574 2.914 4.574 2.914a.75.75 0 0 1 0 1.265l-5.577 3.554a.75.75 0 0 1-.806 0L12 14.089l-5.175 3.297a.75.75 0 0 1-.806 0L.44 13.833a.75.75 0 0 1 0-1.266l4.575-2.914L.44 6.74a.75.75 0 0 1 0-1.265zm.403 8.616L2.24 13.2l4.182 2.664 4.181-2.664zm6.975 2.664 4.182 2.664L21.76 13.2l-4.181-2.664zm2.776-3.547L12 12.311 7.828 9.653 12 6.995zm1.406-.882 4.181-2.664-4.181-2.664-4.182 2.664zm-6.976-2.664L6.422 3.443 2.24 6.107 6.422 8.77zM5.791 18.544a.75.75 0 0 1 1.035-.23l5.175 3.297 5.175-3.297a.75.75 0 1 1 .806 1.265l-5.578 3.554a.75.75 0 0 1-.806 0L6.02 19.579a.75.75 0 0 1-.23-1.035z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-edit-file' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M18.558 2.804a.78.78 0 0 0-.557.235l-.008.007-2.472 2.46 3.847 3.848 2.46-2.473.004-.003a.78.78 0 0 0 0-1.108l-.004-.003-2.712-2.728a.78.78 0 0 0-.558-.235Zm-.248 7.613-3.852-3.852-8.93 8.887-1.516 5.41 5.41-1.515 8.888-8.93Zm-.636-8.934a2.28 2.28 0 0 1 2.512.505l2.702 2.717.002.002a2.278 2.278 0 0 1 0 3.234l-.002.002-12.541 12.602a.75.75 0 0 1-.33.193l-6.884 1.928a.75.75 0 0 1-.925-.924l1.928-6.885a.75.75 0 0 1 .193-.33l12.603-12.54a2.28 2.28 0 0 1 .742-.504Z' clip-rule='evenodd'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-error' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M13 13h-2V7h2m0 10h-2v-2h2M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-evernote' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M9.804 2.27v-.048c.055-.263.313-.562.85-.562h.44c.142 0 .325.014.526.033.066.009.124.023.267.06l.13.032h.002c.319.079.515.275.644.482a1.461 1.461 0 0 1 .16.356l.004.012a.75.75 0 0 0 .603.577l1.191.207a1988.512 1988.512 0 0 0 2.332.402c.512.083 1.1.178 1.665.442.64.3 1.19.795 1.376 1.77.548 2.931.657 5.829.621 8a39.233 39.233 0 0 1-.125 2.602 17.518 17.518 0 0 1-.092.849.735.735 0 0 0-.024.112c-.378 2.705-1.269 3.796-2.04 4.27-.746.457-1.53.451-2.217.447h-.192c-.46 0-1.073-.23-1.581-.635-.518-.412-.763-.87-.763-1.217 0-.45.188-.688.355-.786.161-.095.436-.137.796.087a.75.75 0 1 0 .792-1.274c-.766-.476-1.64-.52-2.345-.108-.7.409-1.098 1.188-1.098 2.08 0 .996.634 1.84 1.329 2.392.704.56 1.638.96 2.515.96l.185.002c.667.009 1.874.025 3.007-.67 1.283-.786 2.314-2.358 2.733-5.276a4.213 4.213 0 0 0 .056-.335c.023-.184.051-.445.079-.772.055-.655.111-1.585.13-2.704.037-2.234-.074-5.239-.647-8.301v-.002c-.294-1.544-1.233-2.391-2.215-2.85-.777-.363-1.623-.496-2.129-.576a8.872 8.872 0 0 1-.25-.041l-.006-.001-1.99-.345-.761-.132a2.93 2.93 0 0 0-.182-.338A2.532 2.532 0 0 0 12.379.329l-.091-.023a3.967 3.967 0 0 0-.493-.103L11.769.2a7.846 7.846 0 0 0-.675-.04h-.44c-.733 0-1.368.284-1.795.742L2.416 7.431c-.468.428-.751 1.071-.751 1.81 0 .02 0 .041.003.062l.003.034c.017.21.038.468.096.796.107.715.275 1.47.391 1.994.029.13.055.245.075.342l.002.008c.258 1.141.641 1.94.978 2.466.168.263.323.456.444.589a2.808 2.808 0 0 0 .192.194c1.536 1.562 3.713 2.196 5.731 2.08.13-.005.35-.032.537-.073a2.627 2.627 0 0 0 .652-.24c.425-.26.75-.661.992-1.046.184-.294.342-.61.473-.915a3.8 3.8 0 0 0 .627.493 5.022 5.022 0 0 0 1.97.709l.023.002.018.003.11.016c.088.014.205.035.325.058l.056.014c.088.022.164.04.235.061a1.736 1.736 0 0 1 .145.048l.03.014c.765.34 1.302 1.09 1.302 1.871a.75.75 0 0 0 1.5 0c0-1.456-.964-2.69-2.18-3.235a3.595 3.595 0 0 0-.679-.217l-.063-.015a10.616 10.616 0 0 0-.606-.105l-.02-.003-.03-.003h-.002a3.542 3.542 0 0 1-1.331-.485c-.471-.298-.788-.692-.828-1.234a.75.75 0 0 0-1.48-.106l-.001.003-.004.017a8.23 8.23 0 0 1-.092.352 9.963 9.963 0 0 1-.298.892c-.132.34-.29.68-.47.966-.174.276-.339.454-.478.549a1.178 1.178 0 0 1-.221.072 1.949 1.949 0 0 1-.241.036h-.013l-.032.002c-1.684.1-3.423-.437-4.604-1.65a.746.746 0 0 0-.053-.05L4.84 14.6a1.348 1.348 0 0 1-.07-.073 2.99 2.99 0 0 1-.293-.392c-.242-.379-.558-1.014-.778-1.985a54.1 54.1 0 0 0-.083-.376 27.494 27.494 0 0 1-.367-1.872l-.003-.02a6.791 6.791 0 0 1-.08-.67c.004-.277.086-.475.2-.609l.067-.067a.63.63 0 0 1 .292-.145h.05c.18 0 1.095.055 2.013.115l1.207.08.534.037a.747.747 0 0 0 .052.002c.782 0 1.349-.206 1.759-.585l.005-.005c.553-.52.622-1.225.622-1.76V6.24l-.026-.565A774.97 774.97 0 0 1 9.885 4.4c-.042-.961-.081-1.939-.081-2.13ZM4.995 6.953a251.126 251.126 0 0 1 2.102.137l.508.035c.48-.004.646-.122.715-.185.07-.068.146-.209.147-.649l-.024-.548a791.69 791.69 0 0 1-.095-2.187L4.995 6.953Zm16.122 9.996Zm-5.479-5.323a.75.75 0 0 0 1.014.31 2.04 2.04 0 0 1 .304-.089 1.84 1.84 0 0 1 .544-.039c.215.023.321.06.37.085.033.016.039.026.047.04a.75.75 0 0 0 1.289-.767c-.337-.567-.906-.783-1.552-.85a3.334 3.334 0 0 0-1.002.062c-.27.056-.531.14-.705.234a.75.75 0 0 0-.31 1.014Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-expand' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='m12 8.337-8.47 8.47a.75.75 0 0 1-1.06-1.06l8.605-8.606a1.29 1.29 0 0 1 1.85 0l8.605 8.605a.75.75 0 1 1-1.06 1.06L12 8.338Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-external-source-placeholder' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M6.341 3.27a10.5 10.5 0 0 1 5.834-1.77.75.75 0 0 0 0-1.5 12 12 0 1 0 12 12 .75.75 0 0 0-1.5 0A10.5 10.5 0 1 1 6.34 3.27Zm14.145 1.48a.75.75 0 1 0-1.06-1.062L9.925 13.19V7.95a.75.75 0 1 0-1.5 0V15c0 .414.336.75.75.75h7.05a.75.75 0 0 0 0-1.5h-5.24l9.501-9.5Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-facebook' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M12 1.5C6.201 1.5 1.5 6.201 1.5 12c0 4.943 3.416 9.089 8.016 10.204v-6.108H7.383a.75.75 0 0 1-.75-.75v-3.281a.75.75 0 0 1 .75-.75h2.133V9.393c0-.958.225-2.511 1.38-3.65 1.194-1.177 3.174-1.718 6.254-1.056a.75.75 0 0 1 .592.733v2.754a.75.75 0 0 1-.75.75c-.692 0-1.203.026-1.584.082-.387.057-.578.137-.675.202-.109.073-.237.205-.237 1.029v1.078h2.39a.75.75 0 0 1 .742.866l-.516 3.281a.75.75 0 0 1-.74.634h-1.876v6.106C19.09 21.082 22.5 16.939 22.5 12c0-5.799-4.701-10.5-10.5-10.5zM0 12C0 5.373 5.373 0 12 0s12 5.373 12 12c0 5.995-4.395 10.961-10.138 11.856a.75.75 0 0 1-.866-.74v-7.77a.75.75 0 0 1 .75-.75h1.984l.28-1.781h-2.264a.75.75 0 0 1-.75-.75v-1.828c0-.829.089-1.729.9-2.274.363-.244.807-.37 1.293-.441a9.623 9.623 0 0 1 1.053-.086V6.04c-2.41-.405-3.645.132-4.293.771-.737.728-.933 1.793-.933 2.582v2.672a.75.75 0 0 1-.75.75H8.133v1.78h2.133a.75.75 0 0 1 .75.75v7.772a.75.75 0 0 1-.865.741C4.4 22.968 0 18 0 12z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-file' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M2.895 1.201c0-.473.383-.857.857-.857h8.4c.227 0 .445.09.606.251l8.4 8.4c.16.16.25.379.25.606v13.2a.857.857 0 0 1-.856.857h-16.8a.857.857 0 0 1-.857-.857zm1.714.857v19.886h15.085V10.458h-7.542a.857.857 0 0 1-.858-.857V2.058zm8.4 1.213 5.473 5.473H13.01z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-flickr' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M5.959 7.926c-2.298 0-4.14 1.834-4.14 4.073 0 2.241 1.842 4.075 4.14 4.075 2.302 0 4.145-1.834 4.145-4.075 0-2.238-1.843-4.073-4.145-4.073Zm-5.64 4.073c0-3.086 2.533-5.573 5.64-5.573 3.11 0 5.645 2.486 5.645 5.573 0 3.089-2.535 5.575-5.645 5.575-3.107 0-5.64-2.487-5.64-5.575Zm18.07-4.073c-2.301 0-4.144 1.835-4.144 4.073 0 2.24 1.843 4.075 4.145 4.075 2.299 0 4.141-1.834 4.141-4.075 0-2.239-1.842-4.073-4.141-4.073Zm-5.644 4.073c0-3.087 2.535-5.573 5.645-5.573 3.108 0 5.641 2.487 5.641 5.573 0 3.088-2.533 5.575-5.641 5.575-3.11 0-5.645-2.486-5.645-5.575Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-gdrive' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M7.736 1.818a.75.75 0 0 1 .647-.37h7.587a.75.75 0 0 1 .655.383l7.233 12.946a.75.75 0 0 1-.003.737l-3.794 6.66a.75.75 0 0 1-.651.378H4.59a.75.75 0 0 1-.651-.378l-3.794-6.66a.75.75 0 0 1 .005-.75zm.64 1.876L1.663 15.148l2.93 5.145 6.655-11.581zm3.736 6.526-2.398 4.173H14.5zm4.116 4.173h5.697L15.53 2.947H9.677zm5.685 1.5H8.852l-2.966 5.16h13.088z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-gphotos' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M12.51 0c-.702 0-1.272.57-1.272 1.273V7.35A6.381 6.381 0 0 0 0 11.489c0 .703.57 1.273 1.273 1.273H7.35A6.381 6.381 0 0 0 11.488 24c.704 0 1.274-.57 1.274-1.273V16.65A6.381 6.381 0 0 0 24 12.51c0-.703-.57-1.273-1.273-1.273H16.65A6.381 6.381 0 0 0 12.511 0Zm.252 11.232V1.53a4.857 4.857 0 0 1 0 9.702Zm-1.53.006H1.53a4.857 4.857 0 0 1 9.702 0Zm1.536 1.524a4.857 4.857 0 0 0 9.702 0h-9.702Zm-6.136 4.857c0-2.598 2.04-4.72 4.606-4.85v9.7a4.857 4.857 0 0 1-4.606-4.85Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-huddle' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M6.204 2.002c-.252.23-.357.486-.357.67V21.07c0 .15.084.505.313.812.208.28.499.477.929.477.519 0 .796-.174.956-.365.178-.212.286-.535.286-.924v-.013l.117-6.58c.004-1.725 1.419-3.883 3.867-3.883 1.33 0 2.332.581 2.987 1.364.637.762.95 1.717.95 2.526v6.47c0 .392.11.751.305.995.175.22.468.41 1.008.41.52 0 .816-.198 1.002-.437.207-.266.31-.633.31-.969V14.04c0-2.81-1.943-5.108-4.136-5.422a5.971 5.971 0 0 0-3.183.41c-.912.393-1.538.96-1.81 1.489a.75.75 0 0 1-1.417-.344v-7.5c0-.587-.47-1.031-1.242-1.031-.315 0-.638.136-.885.36ZM5.194.892A2.844 2.844 0 0 1 7.09.142c1.328 0 2.742.867 2.742 2.53v5.607a6.358 6.358 0 0 1 1.133-.629 7.47 7.47 0 0 1 3.989-.516c3.056.436 5.425 3.482 5.425 6.906v6.914c0 .602-.177 1.313-.627 1.89-.47.605-1.204 1.016-2.186 1.016-.96 0-1.698-.37-2.179-.973-.46-.575-.633-1.294-.633-1.933v-6.469c0-.456-.19-1.071-.602-1.563-.394-.471-.986-.827-1.836-.827-1.447 0-2.367 1.304-2.367 2.39v.014l-.117 6.58c-.001.64-.177 1.333-.637 1.881-.48.57-1.2.9-2.105.9-.995 0-1.7-.5-2.132-1.081-.41-.552-.61-1.217-.61-1.708V2.672c0-.707.366-1.341.847-1.78Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-info' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11 9h2V7h-2m1 13c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-18A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m-1 15h2v-6h-2v6Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-local' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M3 3.75a1.5 1.5 0 0 0-1.5 1.5v13.5a1.5 1.5 0 0 0 1.5 1.5h18a1.5 1.5 0 0 0 1.5-1.5V9A1.5 1.5 0 0 0 21 7.5h-9a.75.75 0 0 1-.643-.364L9.325 3.75zm-3 1.5a3 3 0 0 1 3-3h6.75a.75.75 0 0 1 .643.364L12.425 6H21a3 3 0 0 1 3 3v9.75a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-microphone' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' clip-rule='evenodd' d='M7.5 4.781a4.5 4.5 0 0 1 9 0v6.469a4.5 4.5 0 1 1-9 0V4.781Zm4.5-3a3 3 0 0 0-3 3v6.469a3 3 0 1 0 6 0V4.781a3 3 0 0 0-3-3Zm-8.156 8.11a.75.75 0 0 1 .75.75 7.406 7.406 0 1 0 14.812 0 .75.75 0 0 1 1.5 0 8.907 8.907 0 0 1-8.156 8.875v2.703h3.258a.75.75 0 1 1 0 1.5H7.992a.75.75 0 0 1 0-1.5h3.258v-2.703a8.907 8.907 0 0 1-8.156-8.875.75.75 0 0 1 .75-.75Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-microphone-mute' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' clip-rule='evenodd' d='M7.5 4.781a4.5 4.5 0 0 1 9 0V6l3.524-3.524a.75.75 0 1 1 1.061 1.06L5.036 19.585a.75.75 0 0 1-1.06-1.06l1.656-1.657a8.88 8.88 0 0 1-2.538-6.227.75.75 0 0 1 1.5 0c0 2.009.8 3.83 2.1 5.166l1.771-1.772A4.483 4.483 0 0 1 7.5 11.25V4.781Zm2.037 8.182L15 7.5V4.781a3 3 0 1 0-6 0v6.469c0 .637.198 1.227.537 1.713Zm10.62-3.072a.75.75 0 0 1 .75.75 8.907 8.907 0 0 1-8.157 8.875v2.703h3.258a.75.75 0 1 1 0 1.5H7.992a.75.75 0 0 1 0-1.5h3.258v-2.703a8.855 8.855 0 0 1-3.035-.811.75.75 0 1 1 .638-1.358 7.406 7.406 0 0 0 10.553-6.707.75.75 0 0 1 .75-.75ZM15 10.81a.75.75 0 0 1 1.5 0v.439a4.5 4.5 0 0 1-5 4.473.75.75 0 1 1 .166-1.491A3 3 0 0 0 15 11.25v-.44Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-mobile-photo-camera' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M7.65 2.55a.75.75 0 0 1 .6-.3h7.5a.75.75 0 0 1 .6.3l2.025 2.7H21a3 3 0 0 1 3 3v10.5a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V8.25a3 3 0 0 1 3-3h2.625zm.975 1.2L6.6 6.45a.75.75 0 0 1-.6.3H3a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h18a1.5 1.5 0 0 0 1.5-1.5V8.25a1.5 1.5 0 0 0-1.5-1.5h-3a.75.75 0 0 1-.6-.3l-2.025-2.7zm3.375 6a3.375 3.375 0 1 0 0 6.75 3.375 3.375 0 0 0 0-6.75zm-4.875 3.375a4.875 4.875 0 1 1 9.75 0 4.875 4.875 0 0 1-9.75 0z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-mobile-video-camera' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' clip-rule='evenodd' d='M0 6.75a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v1.078L22.873 5A.75.75 0 0 1 24 5.648v12.704a.75.75 0 0 1-1.123.65L18 16.207v1.043a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V6.75Zm18 7.728 4.5 2.58V6.95L18 9.562v4.916ZM16.5 6.75a1.5 1.5 0 0 0-1.5-1.5H3a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h12a1.5 1.5 0 0 0 1.5-1.5V6.75Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-ngdrive' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M7.736 1.818a.75.75 0 0 1 .647-.37h7.587a.75.75 0 0 1 .655.383l7.233 12.946a.75.75 0 0 1-.003.737l-3.794 6.66a.75.75 0 0 1-.651.378H4.59a.75.75 0 0 1-.651-.378l-3.794-6.66a.75.75 0 0 1 .005-.75zm.64 1.876L1.663 15.148l2.93 5.145 6.655-11.581zm3.736 6.526-2.398 4.173H14.5zm4.116 4.173h5.697L15.53 2.947H9.677zm5.685 1.5H8.852l-2.966 5.16h13.088z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-onedrive' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M13.616 4.147a7.689 7.689 0 0 0-7.642 3.285A6.299 6.299 0 0 0 1.455 17.3c.684.894 2.473 2.658 5.17 2.658h12.141c.95 0 1.882-.256 2.697-.743.815-.486 1.514-1.247 1.964-2.083a5.26 5.26 0 0 0-3.713-7.612 7.69 7.69 0 0 0-6.098-5.373ZM3.34 17.15c.674.63 1.761 1.308 3.284 1.308h12.142a3.76 3.76 0 0 0 2.915-1.383l-7.494-4.489L3.34 17.15Zm10.875-6.25 2.47-1.038a5.239 5.239 0 0 1 1.427-.389 6.19 6.19 0 0 0-10.3-1.952 6.338 6.338 0 0 1 2.118.813l4.285 2.567Zm4.55.033c-.512 0-1.019.104-1.489.307l-.006.003-1.414.594 6.521 3.906a3.76 3.76 0 0 0-3.357-4.8l-.254-.01ZM4.097 9.617A4.799 4.799 0 0 1 6.558 8.9c.9 0 1.84.25 2.587.713l3.4 2.037-10.17 4.28a4.799 4.799 0 0 1 1.721-6.312Z'/></symbol><symbol fill='none' viewBox='0 0 10 10' id='uc-icon-pause' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' d='M1 0h2.5v10H1zM6.5 0H9v10H6.5z'/></symbol><symbol fill='none' viewBox='0 0 10 10' id='uc-icon-play' xmlns='http://www.w3.org/2000/svg'><path d='m1 0 9 5-9 5V0Z' fill='currentColor'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-remove-file' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.955 3.3A2.969 2.969 0 0 0 8.998 6h5.914a2.97 2.97 0 0 0-2.957-2.7zM16.416 6a4.47 4.47 0 0 0-8.922 0h-2.32a.755.755 0 0 0-.111.008H3.075a.75.75 0 1 0 0 1.5h1.35V19.35a2.85 2.85 0 0 0 2.85 2.85h9.45a2.85 2.85 0 0 0 2.85-2.85V7.508h1.35a.75.75 0 0 0 0-1.5h-1.989A.754.754 0 0 0 18.825 6zM5.925 7.508V19.35a1.35 1.35 0 0 0 1.35 1.35h9.45a1.35 1.35 0 0 0 1.35-1.35V7.508z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-select' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='m7 10 5 5 5-5H7Z'/></symbol><symbol fill='none' viewBox='0 0 20 20' id='uc-icon-square' xmlns='http://www.w3.org/2000/svg'><rect width='20' height='20' rx='4' fill='#fff'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-upload' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.501.392a.75.75 0 0 1 .998 0l6.704 5.972a.75.75 0 0 1-.998 1.12l-5.455-4.86v13.439a.75.75 0 0 1-1.5 0V2.625l-5.454 4.86a.75.75 0 1 1-.998-1.12zM.857 16.73a.75.75 0 0 1 .75.75v4.914h20.786v-4.914a.75.75 0 0 1 1.5 0v5.664a.75.75 0 0 1-.75.75H.857a.75.75 0 0 1-.75-.75v-5.664a.75.75 0 0 1 .75-.75z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-upload-error' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M13 13h-2V7h2m0 10h-2v-2h2M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-url' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M19.11 3.67c-1.71-1.709-4.578-1.682-6.408.148l-2.22 2.22a.75.75 0 0 1-1.062-1.06l2.222-2.221C14.018.381 17.836.276 20.17 2.61l1.22 1.22c2.335 2.334 2.23 6.153-.147 8.529l-2.22 2.22a.75.75 0 0 1-1.062-1.06l2.222-2.221c1.83-1.83 1.856-4.698.147-6.408zm-3.36 4.58a.75.75 0 0 1 0 1.06l-6.439 6.44a.75.75 0 0 1-1.06-1.06l6.439-6.44a.75.75 0 0 1 1.06 0zM6.04 9.42a.75.75 0 0 1 0 1.061l-2.222 2.222c-1.83 1.83-1.856 4.698-.147 6.407l1.22 1.22c1.71 1.71 4.578 1.683 6.408-.147l2.221-2.221a.75.75 0 1 1 1.06 1.06l-2.22 2.222c-2.377 2.376-6.195 2.481-8.53.147l-1.22-1.22c-2.334-2.334-2.228-6.153.148-8.53l2.221-2.22a.75.75 0 0 1 1.06 0z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-video-camera' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' clip-rule='evenodd' d='M0 6.75a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v1.078L22.873 5A.75.75 0 0 1 24 5.648v12.704a.75.75 0 0 1-1.123.65L18 16.207v1.043a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V6.75Zm18 7.728 4.5 2.58V6.95L18 9.562v4.916ZM16.5 6.75a1.5 1.5 0 0 0-1.5-1.5H3a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h12a1.5 1.5 0 0 0 1.5-1.5V6.75Z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-video-camera-full' xmlns='http://www.w3.org/2000/svg'><path d='M2 3.333a2 2 0 0 0-2 2v9.334a2 2 0 0 0 2 2h10.938a2 2 0 0 0 2-2v-2.013L20 15.646V4.354l-5.063 3.03v-2.05a2 2 0 0 0-2-2H2Z' fill='currentColor'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-vk' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M6.341 3.27a10.5 10.5 0 0 1 5.834-1.77.75.75 0 0 0 0-1.5 12 12 0 1 0 12 12 .75.75 0 0 0-1.5 0A10.5 10.5 0 1 1 6.34 3.27Zm14.145 1.48a.75.75 0 1 0-1.06-1.062L9.925 13.19V7.95a.75.75 0 1 0-1.5 0V15c0 .414.336.75.75.75h7.05a.75.75 0 0 0 0-1.5h-5.24l9.501-9.5Z'/></symbol></svg>";var ce=class extends b{static{s(this,"SolutionBlock")}static styleAttrs=["uc-wgt-common"];requireCtxName=!0;init$=Ho(this);static _template="";initCallback(){super.initCallback(),this.a11y?.registerBlock(this)}static set template(e){this._template=`${is+e}<slot></slot>`}static get template(){return this._template}};var St=33.333333333333336,_=1,Ur=24,rs=6;function Re(i,e){for(let[t,r]of Object.entries(e))i.setAttributeNS(null,t,r.toString())}s(Re,"setSvgNodeAttrs");function G(i,e={}){let t=document.createElementNS("http://www.w3.org/2000/svg",i);return Re(t,e),t}s(G,"createSvgNode");function os(i,e,t){let{x:r,y:o,width:n,height:a}=i,l=e.includes("w")?0:1,c=e.includes("n")?0:1,d=l===0?-1:1,u=c===0?-1:1,p=[r+l*n+1.5*d,o+c*a+1.5*u-24*t*u],h=[r+l*n+1.5*d,o+c*a+1.5*u],f=[r+l*n-24*t*d+1.5*d,o+c*a+1.5*u],m=`M ${p[0]} ${p[1]} L ${h[0]} ${h[1]} L ${f[0]} ${f[1]}`,v=[h[0],h[1]];return{d:m,center:v}}s(os,"cornerPath");function ss(i,e,t){let{x:r,y:o,width:n,height:a}=i,l=e==="n"||e==="s",c=e==="w"||e==="e",d=l?.5:e==="w"?0:1,u=c?.5:e==="n"?0:1,p=e==="w"?-1:e==="e"?1:0,h=e==="n"?-1:e==="s"?1:0,f,m;l?(f=[r+d*n-34*t/2,o+u*a+1.5*h],m=[r+d*n+34*t/2,o+u*a+1.5*h]):(f=[r+d*n+1.5*p,o+u*a-34*t/2],m=[r+d*n+1.5*p,o+u*a+34*t/2]);let v=`M ${f[0]} ${f[1]} L ${m[0]} ${m[1]}`,y=[(f[0]+m[0])/2,(f[1]+m[1])/2];return{d:v,center:y}}s(ss,"sidePath");function ns(i){return i===""?"move":["e","w"].includes(i)?"ew-resize":["n","s"].includes(i)?"ns-resize":["nw","se"].includes(i)?"nwse-resize":"nesw-resize"}s(ns,"thumbCursor");function as({rect:i,delta:[e,t],imageBox:r}){return Ye({...i,x:i.x+e,y:i.y+t},r)}s(as,"moveRect");function Ye(i,e){let{x:t}=i,{y:r}=i;return i.x<e.x?t=e.x:i.x+i.width>e.x+e.width&&(t=e.x+e.width-i.width),i.y<e.y?r=e.y:i.y+i.height>e.y+e.height&&(r=e.y+e.height-i.height),{...i,x:t,y:r}}s(Ye,"constraintRect");function fl({rect:i,delta:e,aspectRatio:t,imageBox:r}){let[,o]=e,{y:n,width:a,height:l}=i;n+=o,l-=o,t&&(a=l*t);let c=i.x+i.width/2-a/2;return n<=r.y&&(n=r.y,l=i.y+i.height-n,t&&(a=l*t,c=i.x+i.width/2-a/2)),c<=r.x&&(c=r.x,n=i.y+i.height-l),c+a>=r.x+r.width&&(c=Math.max(r.x,r.x+r.width-a),a=r.x+r.width-c,t&&(l=a/t),n=i.y+i.height-l),l<_&&(l=_,t&&(a=l*t,c=i.x+i.width/2-a/2),n=i.y+i.height-l),a<_&&(a=_,t&&(l=a/t,c=i.x+i.width/2-a/2),n=i.y+i.height-l),{x:c,y:n,width:a,height:l}}s(fl,"resizeNorth");function gl({rect:i,delta:e,aspectRatio:t,imageBox:r}){let[o]=e,{x:n,width:a,height:l}=i;n+=o,a-=o,t&&(l=a/t);let c=i.y+i.height/2-l/2;return n<=r.x&&(n=r.x,a=i.x+i.width-n,t&&(l=a/t,c=i.y+i.height/2-l/2)),c<=r.y&&(c=r.y,n=i.x+i.width-a),c+l>=r.y+r.height&&(c=Math.max(r.y,r.y+r.height-l),l=r.y+r.height-c,t&&(a=l*t),n=i.x+i.width-a),l<_&&(l=_,t&&(a=l*t),c=i.y+i.height/2-l/2,n=i.x+i.width-a),a<_&&(a=_,t&&(l=a/t),c=i.y+i.height/2-l/2,n=i.x+i.width-a),{x:n,y:c,width:a,height:l}}s(gl,"resizeWest");function vl({rect:i,delta:e,aspectRatio:t,imageBox:r}){let[,o]=e,{y:n,width:a,height:l}=i;l+=o,t&&(a=l*t);let c=i.x+i.width/2-a/2;return n+l>=r.y+r.height&&(l=r.y+r.height-n,t&&(a=l*t),c=i.x+i.width/2-a/2),c<=r.x&&(c=r.x,n=i.y),c+a>=r.x+r.width&&(c=Math.max(r.x,r.x+r.width-a),a=r.x+r.width-c,t&&(l=a/t),n=i.y),l<_&&(l=_,t&&(a=l*t),c=i.x+i.width/2-a/2),a<_&&(a=_,t&&(l=a/t),c=i.x+i.width/2-a/2),{x:c,y:n,width:a,height:l}}s(vl,"resizeSouth");function yl({rect:i,delta:e,aspectRatio:t,imageBox:r}){let[o]=e,{x:n,width:a,height:l}=i;a+=o,t&&(l=a/t);let c=i.y+i.height/2-l/2;return n+a>=r.x+r.width&&(a=r.x+r.width-n,t&&(l=a/t),c=i.y+i.height/2-l/2),c<=r.y&&(c=r.y,n=i.x),c+l>=r.y+r.height&&(c=Math.max(r.y,r.y+r.height-l),l=r.y+r.height-c,t&&(a=l*t),n=i.x),l<_&&(l=_,t&&(a=l*t),c=i.y+i.height/2-l/2),a<_&&(a=_,t&&(l=a/t),c=i.y+i.height/2-l/2),{x:n,y:c,width:a,height:l}}s(yl,"resizeEast");function bl({rect:i,delta:e,aspectRatio:t,imageBox:r}){let[o,n]=e,{x:a,y:l,width:c,height:d}=i;return a+o<r.x&&(o=r.x-a),l+n<r.y&&(n=r.y-l),a+=o,c-=o,l+=n,d-=n,t&&Math.abs(c/d)>t?(n=c/t-d,d+=n,l-=n,l<=r.y&&(d=d-(r.y-l),c=d*t,a=i.x+i.width-c,l=r.y)):t&&(o=d*t-c,c=c+o,a-=o,a<=r.x&&(c=c-(r.x-a),d=c/t,a=r.x,l=i.y+i.height-d)),d<_&&(d=_,t&&(c=d*t),a=i.x+i.width-c,l=i.y+i.height-d),c<_&&(c=_,t&&(d=c/t),a=i.x+i.width-c,l=i.y+i.height-d),{x:a,y:l,width:c,height:d}}s(bl,"resizeNorthWest");function _l({rect:i,delta:e,aspectRatio:t,imageBox:r}){let[o,n]=e,{x:a,y:l,width:c,height:d}=i;return a+c+o>r.x+r.width&&(o=r.x+r.width-a-c),l+n<r.y&&(n=r.y-l),c+=o,l+=n,d-=n,t&&Math.abs(c/d)>t?(n=c/t-d,d+=n,l-=n,l<=r.y&&(d=d-(r.y-l),c=d*t,a=i.x,l=r.y)):t&&(o=d*t-c,c+=o,a+c>=r.x+r.width&&(c=r.x+r.width-a,d=c/t,a=r.x+r.width-c,l=i.y+i.height-d)),d<_&&(d=_,t&&(c=d*t),l=i.y+i.height-d),c<_&&(c=_,t&&(d=c/t),l=i.y+i.height-d),{x:a,y:l,width:c,height:d}}s(_l,"resizeNorthEast");function wl({rect:i,delta:e,aspectRatio:t,imageBox:r}){let[o,n]=e,{x:a,y:l,width:c,height:d}=i;return a+o<r.x&&(o=r.x-a),l+d+n>r.y+r.height&&(n=r.y+r.height-l-d),a+=o,c-=o,d+=n,t&&Math.abs(c/d)>t?(n=c/t-d,d+=n,l+d>=r.y+r.height&&(d=r.y+r.height-l,c=d*t,a=i.x+i.width-c,l=r.y+r.height-d)):t&&(o=d*t-c,c+=o,a-=o,a<=r.x&&(c=c-(r.x-a),d=c/t,a=r.x,l=i.y)),d<_&&(d=_,t&&(c=d*t),a=i.x+i.width-c),c<_&&(c=_,t&&(d=c/t),a=i.x+i.width-c),{x:a,y:l,width:c,height:d}}s(wl,"resizeSouthWest");function Cl({rect:i,delta:e,aspectRatio:t,imageBox:r}){let[o,n]=e,{x:a,y:l,width:c,height:d}=i;return a+c+o>r.x+r.width&&(o=r.x+r.width-a-c),l+d+n>r.y+r.height&&(n=r.y+r.height-l-d),c+=o,d+=n,t&&Math.abs(c/d)>t?(n=c/t-d,d+=n,l+d>=r.y+r.height&&(d=r.y+r.height-l,c=d*t,a=i.x,l=r.y+r.height-d)):t&&(o=d*t-c,c+=o,a+c>=r.x+r.width&&(c=r.x+r.width-a,d=c/t,a=r.x+r.width-c,l=i.y)),d<_&&(d=_,t&&(c=d*t)),c<_&&(c=_,t&&(d=c/t)),{x:a,y:l,width:c,height:d}}s(Cl,"resizeSouthEast");function ls({direction:i,...e}){switch(i){case"n":return fl(e);case"w":return gl(e);case"s":return vl(e);case"e":return yl(e);case"nw":return bl(e);case"ne":return _l(e);case"sw":return wl(e);case"se":return Cl(e);default:return e.rect}}s(ls,"resizeRect");function cs(i,[e,t]){return i.x<=e&&e<=i.x+i.width&&i.y<=t&&t<=i.y+i.height}s(cs,"rectContainsPoint");function ds(i,e){return i.x>=e.x&&i.y>=e.y&&i.x+i.width<=e.x+e.width&&i.y+i.height<=e.y+e.height}s(ds,"isRectInsideRect");function us(i,e){return Math.abs(i.width/i.height-e)<.1}s(us,"isRectMatchesAspectRatio");function Qe({width:i,height:e},t){let r=t/90%2!==0;return{width:r?e:i,height:r?i:e}}s(Qe,"rotateSize");function ps(i,e,t){let r=i/e,o,n;r>t?(o=Math.round(e*t),n=e):(o=i,n=Math.round(i/t));let a=Math.round((i-o)/2),l=Math.round((e-n)/2);return a+o>i&&(o=i-a),l+n>e&&(n=e-l),{x:a,y:l,width:o,height:n}}s(ps,"calculateMaxCenteredCropFrame");function Je(i){return{x:Math.round(i.x),y:Math.round(i.y),width:Math.round(i.width),height:Math.round(i.height)}}s(Je,"roundRect");function Pe(i,e,t){return Math.min(Math.max(i,e),t)}s(Pe,"clamp");var It=["free"],xi=s(i=>{let e=F(i);if(!e||e.length===0)return[];let t=[];for(let r of e){let o=r.trim();if(!o)continue;let n=o.indexOf(":");if(n===-1&&!It.includes(o)){console.warn(`Invalid crop preset: ${o}`);continue}let a=Number(o.slice(0,n)),l=Number(o.slice(n+1));if((!Number.isFinite(a)||!Number.isFinite(l)||a<=0||l<=0)&&!It.includes(o)){console.warn(`Invalid crop preset: ${o}`);continue}t.push({id:oe.generate(),type:"aspect-ratio",width:It.includes(o)?0:a,height:It.includes(o)?0:l,hasFreeform:It.includes(o)})}return t},"parseCropPreset"),hs=s((i,e,t,r=.1)=>{let o=i/e,n=null,a=1/0;for(let l of t){let[c,d]=[l.width,l.height],u=c/d,p=Math.abs(o-u);p<a&&(a=p,n=l)}if(n){let[l,c]=[n.width,n.height],d=l/c;if(Math.abs(o-d)/d>r)return null}return n},"getClosestAspectRatio");var ae=Object.freeze({FACEBOOK:"facebook",DROPBOX:"dropbox",GDRIVE:"gdrive",GPHOTOS:"gphotos",FLICKR:"flickr",VK:"vk",EVERNOTE:"evernote",BOX:"box",ONEDRIVE:"onedrive",HUDDLE:"huddle"}),$r=Object.freeze({MOBILE_VIDEO_CAMERA:"mobile-video-camera",MOBILE_PHOTO_CAMERA:"mobile-photo-camera"}),U=Object.freeze({LOCAL:"local",DROP_AREA:"drop-area",CAMERA:"camera",EXTERNAL:"external",API:"js-api",URL:"url",DRAW:"draw",...$r,...ae});function ms(i){return vr({...i,libraryName:Te,libraryVersion:xe})}s(ms,"customUserAgent");var fs=s(i=>typeof i!="number"?0:Math.floor(i/1e3),"msToUnixTimestamp"),gs=s((i,{threshold:e})=>{let{secureExpire:t}=i,r=fs(Date.now()),o=Number(t),n=fs(e);return r+n>=o},"isSecureTokenExpired");var Ai=class{static{s(this,"SecureUploadsManager")}_block;_secureToken=null;constructor(e){this._block=e}_debugPrint(...e){this._block.debugPrint("[secure-uploads]",...e)}async getSecureToken(){let{secureSignature:e,secureExpire:t,secureUploadsSignatureResolver:r}=this._block.cfg;if((e||t)&&r&&console.warn("Both secureSignature/secureExpire and secureUploadsSignatureResolver are set. secureUploadsSignatureResolver will be used."),r){if(!this._secureToken||gs(this._secureToken,{threshold:this._block.cfg.secureUploadsExpireThreshold})){this._secureToken?this._debugPrint("Secure signature is expired. Resolving a new one..."):this._debugPrint("Secure signature is not set yet.");try{let o=await r();o?!o.secureSignature||!o.secureExpire?console.error("Secure signature resolver returned an invalid result:",o):(this._debugPrint("Secure signature resolved:",o),this._debugPrint("Secure signature will expire in",new Date(Number(o.secureExpire)*1e3).toISOString()),this._secureToken=o):(this._debugPrint("Secure signature resolver returned nothing."),this._secureToken=null)}catch(o){console.error("Secure signature resolving failed. Falling back to the previous one.",o),this._block.telemetryManager.sendEventError(o,"secureUploadsSignatureResolver. Secure signature resolving failed. Falling back to the previous one.")}}return this._secureToken}return e&&t?(this._debugPrint("Secure signature and expire are set. Using them...",{secureSignature:e,secureExpire:t}),{secureSignature:e,secureExpire:t}):null}};var Dr=s((i,e)=>{if(i.failedCount>0)return{type:"SOME_FILES_HAS_ERRORS",message:e.l10n("some-files-were-not-uploaded")}},"validateCollectionUploadError");var Fr=s((i,e)=>{let t=i.totalCount,r=e.cfg.multiple?e.cfg.multipleMin:0,o=e.cfg.multiple?e.cfg.multipleMax:1;if(r&&t<r)return{type:"TOO_FEW_FILES",message:e.l10n("files-count-limit-error-too-few",{min:r,max:o,total:t}),payload:{total:t,min:r,max:o}};if(o&&t>o)return{type:"TOO_MANY_FILES",message:e.l10n("files-count-limit-error-too-many",{min:r,max:o,total:t}),payload:{total:t,min:r,max:o}}},"validateMultiple");var El=s(()=>{let i=navigator.userAgent;return/Macintosh|Windows/.test(i)&&/Version\/[\d.]+.*Safari/.test(i)&&!/Chrome|Chromium|Edg|OPR/.test(i)},"calcIsDesktopSafari"),Tl=s(()=>"capture"in document.createElement("input"),"calcHtmlMediaCaptureSupport"),xl=s(()=>({safariDesktop:El()}),"calcBrowserInfo"),Al=s(()=>({htmlMediaCapture:Tl()}),"calcBrowserFeatures"),vs=xl(),Ve=Al();var kt="image/*",Vr="video/*",Sl=["image/heif","image/heif-sequence","image/heic","image/heic-sequence","image/avif","image/avif-sequence",".heif",".heifs",".heic",".heics",".avif",".avifs"],Il=s(()=>vs.safariDesktop?[kt]:[kt,...Sl],"calcImageAcceptList"),Ot=Il(),Si=s(i=>i?i.filter(e=>typeof e=="string").flatMap(e=>F(e)):[],"mergeFileTypes"),Nr=s((i,e)=>e.some(t=>{if(t.endsWith("*")){let r=t.replace("*","");return i.startsWith(r)}return i===t}),"matchMimeType"),ys=s((i,e)=>e.some(t=>t.startsWith(".")?i.toLowerCase().endsWith(t.toLowerCase()):!1),"matchExtension"),bs=s(i=>{let e=i?.type;return e?Nr(e,Ot):!1},"fileIsImage");var Br=s((i,e)=>{let t=e.cfg.imgOnly,r=e.cfg.accept,o=Si([...t?Ot:[],r]);if(!o.length)return;let n=i.mimeType,a=i.name;if(!n||!a)return;let l=Nr(n,o),c=ys(a,o);if(!l&&!c)return{type:"FORBIDDEN_FILE_TYPE",message:e.l10n("file-type-not-allowed"),payload:{entry:i}}},"validateFileType");var zr=s((i,e)=>{let t=e.cfg.imgOnly,r=i.isImage;if(!(!t||r)&&!(!i.fileInfo&&i.externalUrl)&&!(!i.fileInfo&&!i.mimeType))return{type:"NOT_AN_IMAGE",message:e.l10n("images-only-accepted"),payload:{entry:i}}},"validateIsImage");var ue=1e3,Ne=Object.freeze({AUTO:"auto",BYTE:"byte",KB:"kb",MB:"mb",GB:"gb",TB:"tb",PB:"pb"}),Mt=s(i=>Math.ceil(i*100)/100,"round"),_s=s((i,e=Ne.AUTO)=>{let t=e===Ne.AUTO;if(e===Ne.BYTE||t&&i<ue**1){let o=di("en-US",i)==="one"?"byte":"bytes";return`${i} ${o}`}return e===Ne.KB||t&&i<ue**2?`${Mt(i/ue**1)} KB`:e===Ne.MB||t&&i<ue**3?`${Mt(i/ue**2)} MB`:e===Ne.GB||t&&i<ue**4?`${Mt(i/ue**3)} GB`:e===Ne.TB||t&&i<ue**5?`${Mt(i/ue**4)} TB`:`${Mt(i/ue**5)} PB`},"prettyBytes");var Hr=s((i,e)=>{let t=e.cfg.maxLocalFileSizeBytes,r=i.size;if(t&&r&&r>t)return{type:"FILE_SIZE_EXCEEDED",message:e.l10n("files-max-size-limit-error",{maxFileSize:_s(t)}),payload:{entry:i}}},"validateMaxSizeLimit");var jr=s((i,e)=>{let{internalId:t}=i,o=e._uploadCollection.read(t)?.getValue("uploadError");if(!o)return;if(o instanceof K)return{type:"UPLOAD_ERROR",message:o.message,payload:{entry:i,error:o}};if(o instanceof We)return{type:"NETWORK_ERROR",message:o.message,payload:{entry:i,error:o}};let n=o instanceof Error?o:new Error("Unknown error",{cause:o});return{type:"UNKNOWN_ERROR",message:n.message,payload:{entry:i,error:n}}},"validateUploadError");var ws=s(()=>{let i=s(()=>{},"resolveFn"),e=s(()=>{},"rejectFn");return{promise:new Promise((r,o)=>{i=r,e=o}),resolve:i,reject:e}},"withResolvers");var et={FILE_VALIDATION_FAILED:"File validator execution has failed",FILE_VALIDATION_TIMEOUT:"File validator execution has timed out",COLLECTION_VALIDATION_FAILED:"Collection validator execution has failed",MISSING_ERROR_MESSAGE:"Missing message. We recommend adding message: value."},kl=s(i=>typeof i=="function"?{runOn:"change",validator:i}:i,"getValidatorDescriptor"),Ii=class{static{s(this,"ValidationManager")}_blockInstance;_uploadCollection;_commonFileValidators=[zr,Br,Hr,jr];_commonCollectionValidators=[Fr,Dr];_queue=new Oe(20);_runQueueDebounced=L(()=>{this._queue.run()},500);_entryValidationState=new Map;constructor(e){this._blockInstance=e,this._uploadCollection=this._blockInstance.uploadCollection;let t=s(()=>{this.runFileValidators("change"),this.runCollectionValidators()},"runAllValidators");this._blockInstance.subConfigValue("maxLocalFileSizeBytes",t),this._blockInstance.subConfigValue("multipleMin",t),this._blockInstance.subConfigValue("multipleMax",t),this._blockInstance.subConfigValue("multiple",t),this._blockInstance.subConfigValue("imgOnly",t),this._blockInstance.subConfigValue("accept",t),this._blockInstance.subConfigValue("validationConcurrency",r=>{this._queue.concurrency=r})}runFileValidators(e,t){let r=t??this._uploadCollection.items();for(let o of r){let n=this._uploadCollection.read(o);n&&this._runFileValidatorsForEntry(n,e)}}runCollectionValidators(){let e=this._blockInstance.api.getOutputCollectionState(),t=[];for(let r of[...this._commonCollectionValidators,...this._blockInstance.cfg.collectionValidators])try{let o=r(e,this._blockInstance.api);if(!o)continue;o&&(t.push(this._addCustomTypeToValidationError(o)),o.message||console.warn(et.MISSING_ERROR_MESSAGE))}catch(o){console.warn(et.COLLECTION_VALIDATION_FAILED,o)}this._blockInstance.$["*collectionErrors"]=t,t.length>0&&this._blockInstance.emit(x.COMMON_UPLOAD_FAILED,()=>this._blockInstance.api.getOutputCollectionState(),{debounce:!0})}cleanupValidationForEntry(e){let t=this._entryValidationState.get(e.uid);t&&(t.abortController?.abort(),this._entryValidationState.delete(e.uid))}async _runFileValidatorsForEntry(e,t){let r=this._getValidatorDescriptorsForEntry(e,t);if(r.length===0)return;e.setMultipleValues({isQueuedForValidation:!0,isValidationPending:!0});let o=this._blockInstance.api.getOutputItem(e.uid),n=this._getEntryValidationState(e);n.promise&&await n.promise;let{promise:a,resolve:l}=ws();n.promise=a;let c=new AbortController;n.abortController=c;let d=this._blockInstance.cfg.validationTimeout,u=this._getValidatorDescriptors(),p=new Set(r.map(m=>m.validator)),h=[];for(let m of u)if(!p.has(m.validator)){let v=n.lastErrorThrownByValidator.get(m.validator);v&&h.push(v)}let f=r.map(m=>async()=>{if(!this._blockInstance.isConnected)return;let v=setTimeout(()=>{n.skippedValidators.add(m.validator),c.abort(),console.warn(et.FILE_VALIDATION_TIMEOUT)},d);try{let y=await m.validator(o,this._blockInstance.api,{signal:c.signal});if(!y||c.signal.aborted){n.lastErrorThrownByValidator.set(m.validator,void 0);return}let S=this._addCustomTypeToValidationError(y);n.lastErrorThrownByValidator.set(m.validator,S),h.push(S),y.message||console.warn(et.MISSING_ERROR_MESSAGE)}catch(y){c.signal.aborted||(n.skippedValidators.add(m.validator),console.warn(et.FILE_VALIDATION_FAILED,y),this._blockInstance.telemetryManager.sendEventError(y,`file validator. ${et.FILE_VALIDATION_FAILED}`))}finally{clearTimeout(v),m.runOn!=="change"&&n.skippedValidators.add(m.validator)}});if(this._runQueueDebounced(),await this._queue.add(async()=>{e.setValue("isQueuedForValidation",!1),await Promise.all(f.map(m=>m())).catch(()=>{})},{autoRun:!1}),c.signal.aborted){e.setMultipleValues({isQueuedForValidation:!1,isValidationPending:!1}),l();return}e.setMultipleValues({isValidationPending:!1,isQueuedForValidation:!1,errors:h}),l()}_addCustomTypeToValidationError(e){return{...e,type:e.type??"CUSTOM_ERROR"}}_getEntryValidationState(e){let t=this._entryValidationState.get(e.uid);if(t)return t;let r={abortController:void 0,skippedValidators:new WeakSet,promise:void 0,lastErrorThrownByValidator:new WeakMap};return this._entryValidationState.set(e.uid,r),r}_getValidatorDescriptors(){return[...this._commonFileValidators,...this._blockInstance.cfg.fileValidators].map(kl)}_getValidatorDescriptorsForEntry(e,t){let r=this._getEntryValidationState(e);return this._getValidatorDescriptors().filter(o=>!r.skippedValidators.has(o.validator)).filter(o=>o.runOn===t)}};var Cs="[Typed State] Wrong property name: ",Ol="[Typed State] Wrong property type: ",ki=class{static{s(this,"TypedData")}__typedSchema;__ctxId;__schema;__data;constructor(e,t){this.__typedSchema=e,this.__ctxId=t||oe.generate(),this.__schema=Object.keys(e).reduce((r,o)=>(e[o]&&(r[o]=e[o].value),r),{}),this.__data=E.registerCtx(this.__schema,this.__ctxId)}get uid(){return this.__ctxId}setValue(e,t){if(!Object.hasOwn(this.__typedSchema,e)||!this.__typedSchema[e]){console.warn(Cs+e);return}let r=this.__typedSchema[e],o=t?.constructor===r.type,n=t instanceof r.type,a=r.nullable&&t===null;if(o||n||a){this.__data.pub(e,t);return}console.warn(Ol+e)}setMultipleValues(e){for(let[t,r]of Object.entries(e))this.setValue(t,r)}getValue(e){return Object.hasOwn(this.__typedSchema,e)||console.warn(Cs+e),this.__data.read(e)}subscribe(e,t){return this.__data.sub(e,t)}remove(){E.deleteCtx(this.__ctxId)}};var Oi=class{static{s(this,"TypedCollection")}__typedSchema;__ctxId;__data;__watchList;__subsMap=Object.create(null);__propertyObservers=new Set;__collectionObservers=new Set;__items=new Set;__removed=new Set;__added=new Set;__observeTimeout;__notifyTimeout;__notifyObservers;constructor(e){this.__typedSchema=e.typedSchema,this.__ctxId=e.ctxName||oe.generate(),this.__data=E.registerCtx({},this.__ctxId),this.__watchList=e.watchList||[];let t=Object.create(null);this.__notifyObservers=(r,o)=>{this.__observeTimeout&&window.clearTimeout(this.__observeTimeout),t[r]||(t[r]=new Set),t[r].add(o),this.__observeTimeout=window.setTimeout(()=>{Object.keys(t).length!==0&&(this.__propertyObservers.forEach(n=>{n({...t})}),t=Object.create(null))})},e.handler&&this.observeCollection(e.handler)}notify(){this.__notifyTimeout&&window.clearTimeout(this.__notifyTimeout),this.__notifyTimeout=window.setTimeout(()=>{let e=new Set(this.__added),t=new Set(this.__removed);this.__added.clear(),this.__removed.clear();for(let r of this.__collectionObservers)r?.([...this.__items],e,t)})}observeCollection(e){return this.__collectionObservers.add(e),this.__items.size>0&&this.notify(),()=>{this.unobserveCollection(e)}}unobserveCollection(e){this.__collectionObservers.delete(e)}add(e){let t=new ki(this.__typedSchema);for(let[r,o]of Object.entries(e))o!==void 0&&t.setValue(r,o);return this.__items.add(t.uid),this.notify(),this.__data.add(t.uid,t),this.__added.add(t),this.__watchList.forEach(r=>{this.__subsMap[t.uid]||(this.__subsMap[t.uid]=[]),this.__subsMap[t.uid]?.push(t.subscribe(r,()=>{this.__notifyObservers(r,t.uid)}))}),t.uid}read(e){return this.__data.read(e)}readProp(e,t){let r=this.read(e);return r?r.getValue(t):(console.warn(`Item with id ${e} not found`),null)}publishProp(e,t,r){let o=this.read(e);if(!o){console.warn(`Item with id ${e} not found`);return}o.setValue(t,r)}remove(e){let t=this.read(e);t&&this.__removed.add(t),this.__items.delete(e),this.notify(),this.__data.pub(e,null),delete this.__subsMap[e]}clearAll(){this.__items.forEach(e=>{this.remove(e)})}observeProperties(e){return this.__propertyObservers.add(e),()=>{this.unobserveProperties(e)}}unobserveProperties(e){this.__propertyObservers.delete(e)}findItems(e){let t=[];return this.__items.forEach(r=>{let o=this.read(r);o&&e(o)&&t.push(r)}),t}items(){return[...this.__items]}get size(){return this.__items.size}destroy(){E.deleteCtx(this.__ctxId),this.__propertyObservers=new Set,this.__collectionObservers=new Set;for(let e in this.__subsMap)this.__subsMap[e]?.forEach(t=>{t.remove()}),delete this.__subsMap[e]}};var w=Object.freeze({PHOTO:"photo",VIDEO:"video"}),te=Object.freeze({IDLE:"idle",SHOT:"shot",PLAY:"play",PAUSE:"pause",RESUME:"resume",STOP:"stop",RETAKE:"retake",ACCEPT:"accept"});var Kr=s(i=>({isVideoRecordingEnabled:X(i.cameraModes).includes(w.VIDEO),isPhotoEnabled:X(i.cameraModes).includes(w.PHOTO)}),"calcCameraModes");var Ml=/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/i,Ll=new RegExp(`^/?(${Ml.source})(?:/(-/(?:[^/]+/)+)?([^/]*))?$`,"i"),Es=s(({url:i,cdnBase:e})=>{let t=new URL(e),r=new URL(Ct),o=new URL(i);if(t.host!==o.host&&r.host!==o.host)return null;let n=Ll.exec(o.pathname);if(!n)return null;let[,a,l,c]=n;return a?{uuid:a,cdnUrlModifiers:l||"",filename:c||null}:null},"parseCdnUrl");function Ts(i){let e=new Map;return s((...r)=>{let o=JSON.stringify(r);if(e.has(o))return e.get(o);let n=i(...r);return e.set(o,n),n},"memoized")}s(Ts,"memoize");var xs=new Set;function Mi(i){xs.has(i)||(xs.add(i),console.warn(i))}s(Mi,"warnOnce");function Rl(i){let e=!1;return setTimeout(()=>{e=!0},0),s(r=>((...o)=>(e&&Mi(i),r(...o))),"withAssert")}s(Rl,"createAsyncAssertWrapper");function As(i){let e={},t={progress:s(()=>i.$["*commonProgress"],"progress"),errors:s(()=>i.$["*collectionErrors"],"errors"),group:s(()=>i.$["*groupInfo"],"group"),totalCount:s(()=>i.uploadCollection.size,"totalCount"),failedCount:s(()=>e.failedEntries.length,"failedCount"),successCount:s(()=>e.successEntries.length,"successCount"),uploadingCount:s(()=>e.uploadingEntries.length,"uploadingCount"),status:s(()=>e.isFailed?"failed":e.isUploading?"uploading":e.isSuccess?"success":"idle","status"),isSuccess:s(()=>e.allEntries.length>0&&e.errors.length===0&&e.successEntries.length===e.allEntries.length,"isSuccess"),isUploading:s(()=>e.allEntries.some(o=>o.status==="uploading"),"isUploading"),isFailed:s(()=>e.errors.length>0||e.failedEntries.length>0,"isFailed"),allEntries:s(()=>i.getOutputData(),"allEntries"),successEntries:s(()=>e.allEntries.filter(o=>o.status==="success"),"successEntries"),failedEntries:s(()=>e.allEntries.filter(o=>o.status==="failed"),"failedEntries"),uploadingEntries:s(()=>e.allEntries.filter(o=>o.status==="uploading"),"uploadingEntries"),idleEntries:s(()=>e.allEntries.filter(o=>o.status==="idle"),"idleEntries")},r=Rl("You're trying to access the OutputCollectionState asynchronously. In this case, the data you retrieve will be newer than it was when the OutputCollectionState was created or when the event was dispatched. If you want to retain the state at a specific moment in time, you should use the spread operator like this: `{...outputCollectionState}` or `{...e.detail}`");for(let[o,n]of Object.entries(t)){let a=o,c=Ts(r(n));Object.defineProperty(e,a,{get:c,enumerable:!0})}return e}s(As,"buildOutputCollectionState");var Li=class{static{s(this,"UploaderPublicApi")}_ctx;constructor(e){this._ctx=e}get _uploadCollection(){return this._ctx.uploadCollection}get cfg(){return this._ctx.cfg}get l10n(){return this._ctx.l10n.bind(this._ctx)}addFileFromUrl=s((e,{silent:t,fileName:r,source:o}={})=>{let n=this._uploadCollection.add({externalUrl:e,fileName:r??null,silent:t??!1,source:o??U.API});return this.getOutputItem(n)},"addFileFromUrl");addFileFromUuid=s((e,{silent:t,fileName:r,source:o}={})=>{let n=this._uploadCollection.add({uuid:e,fileName:r??null,silent:t??!1,source:o??U.API});return this.getOutputItem(n)},"addFileFromUuid");addFileFromCdnUrl=s((e,{silent:t,fileName:r,source:o}={})=>{let n=Es({url:e,cdnBase:this.cfg.cdnCname});if(!n)throw new Error("Invalid CDN URL");let a=this._uploadCollection.add({uuid:n.uuid,cdnUrl:e,cdnUrlModifiers:n.cdnUrlModifiers,fileName:r??n.filename??null,silent:t??!1,source:o??U.API});return this.getOutputItem(a)},"addFileFromCdnUrl");addFileFromObject=s((e,{silent:t,fileName:r,source:o,fullPath:n}={})=>{let a=this._uploadCollection.add({file:e,isImage:bs(e),mimeType:e.type,fileName:r??e.name,fileSize:e.size,silent:t??!1,source:o??U.API,fullPath:n??null});return this.getOutputItem(a)},"addFileFromObject");removeFileByInternalId=s(e=>{if(!this._uploadCollection.read(e))throw new Error(`File with internalId ${e} not found`);this._uploadCollection.remove(e)},"removeFileByInternalId");removeAllFiles(){this._uploadCollection.clearAll()}uploadAll=s(()=>{let e=this._uploadCollection.items().filter(t=>{let r=this._uploadCollection.read(t);return r?!r.getValue("isRemoved")&&!r.getValue("isUploading")&&!r.getValue("fileInfo")&&r.getValue("errors").length===0&&!r.getValue("isValidationPending")&&!r.getValue("isQueuedForValidation"):!1});e.length!==0&&(this._ctx.$["*uploadTrigger"]=new Set(e),this._ctx.emit(x.COMMON_UPLOAD_START,this.getOutputCollectionState()))},"uploadAll");openSystemDialog=s((e={})=>{let t=ye(Si([this.cfg.accept??"",...this.cfg.imgOnly?Ot:[]])),r="uploadcare-file-input",o=document.createElement("input");if(o.setAttribute(r,""),_t(o,{opacity:0,height:0,width:0,visibility:"hidden",position:"absolute",top:0,left:0}),o.type="file",o.multiple=this.cfg.multiple,e.captureCamera){o.capture=this.cfg.cameraCapture;let{isPhotoEnabled:n,isVideoRecordingEnabled:a}=Kr(this.cfg);e.modeCamera===w.PHOTO&&n?o.accept=kt:e.modeCamera===w.VIDEO&&a?o.accept=Vr:o.accept=[kt,a&&Vr].filter(Boolean).join(",")}else o.accept=t;o.addEventListener("change",()=>{o.files&&([...o.files].forEach(n=>{this.addFileFromObject(n,{source:e.captureCamera?U.CAMERA:U.LOCAL})}),this._ctx.modalManager?.open(g.activities.UPLOAD_LIST),this._ctx.$["*currentActivity"]=g.activities.UPLOAD_LIST,o.remove())},{once:!0}),document.querySelectorAll(`[${r}]`).forEach(n=>{n.remove()}),document.body.appendChild(o),o.dispatchEvent(new MouseEvent("click"))},"openSystemDialog");getOutputItem(e){let t=E.getCtx(e).store,r=t.fileInfo,o=t.isRemoved?"removed":t.errors.length>0?"failed":t.fileInfo?"success":t.isUploading?"uploading":"idle";return{uuid:r?.uuid??t.uuid??null,internalId:e,name:r?.originalFilename??t.fileName,size:r?.size??t.fileSize,isImage:r?.isImage??t.isImage,mimeType:r?.mimeType??t.mimeType,file:t.file,externalUrl:t.externalUrl,cdnUrlModifiers:t.cdnUrlModifiers,cdnUrl:t.cdnUrl??r?.cdnUrl??null,fullPath:t.fullPath,uploadProgress:t.uploadProgress,fileInfo:r??null,metadata:t.metadata??r?.metadata??null,isSuccess:o==="success",isUploading:o==="uploading",isFailed:o==="failed",isRemoved:o==="removed",isValidationPending:t.isValidationPending,errors:t.errors,status:o,source:t?.source}}getOutputCollectionState(){return As(this._ctx)}initFlow=s((e=!1)=>{if(this._uploadCollection.size>0&&!e)this._ctx.modalManager?.open(g.activities.UPLOAD_LIST),this._ctx.set$({"*currentActivity":g.activities.UPLOAD_LIST});else if(this._sourceList?.length===1){let t=this._sourceList[0];if(t==="local"){this._ctx.$["*currentActivity"]=g.activities.UPLOAD_LIST,this.openSystemDialog();return}if(t==="camera"&&Ve.htmlMediaCapture){let{isPhotoEnabled:a,isVideoRecordingEnabled:l}=Kr(this.cfg);if(a&&l){this._ctx.set$({"*currentActivity":g.activities.START_FROM});return}else if(a||l){this.openSystemDialog({captureCamera:!0,modeCamera:a?w.PHOTO:w.VIDEO});return}else this.openSystemDialog({captureCamera:!0,modeCamera:w.PHOTO})}let r=this._ctx.$["*blocksRegistry"],o=s(a=>"type"in a&&a.type===t,"isSourceBtn");[...r].find(o)?.activate(),this._ctx.$["*currentActivity"]&&this._ctx.modalManager?.open(this._ctx.$["*currentActivity"])}else this._ctx.modalManager?.open(g.activities.START_FROM),this._ctx.set$({"*currentActivity":g.activities.START_FROM})},"initFlow");doneFlow=s(()=>{this._ctx.set$({"*currentActivity":this._ctx.doneActivity,"*history":this._ctx.doneActivity?[this._ctx.doneActivity]:[]}),this._ctx.$["*currentActivity"]||this._ctx.modalManager?.closeAll()},"doneFlow");setCurrentActivity=s((e,...t)=>{if(this._ctx.hasBlockInCtx(r=>r.activityType===e)){this._ctx.set$({"*currentActivityParams":t??{},"*currentActivity":e});return}console.warn(`Activity type "${e}" not found in the context`)},"setCurrentActivity");getCurrentActivity=s(()=>this._ctx.$["*currentActivity"],"getCurrentActivity");setModalState=s(e=>{if(e&&!this._ctx.$["*currentActivity"]){console.warn(`Can't open modal without current activity. Please use "setCurrentActivity" method first.`);return}e?this._ctx.modalManager?.open(this._ctx.$["*currentActivity"]):(this._ctx.modalManager?.close(this._ctx.$["*currentActivity"]),this._ctx.$["*currentActivity"]=null)},"setModalState");get _sourceList(){let e=[];return this.cfg.sourceList&&(e=F(this.cfg.sourceList)),e}};var Ss=Object.freeze({file:Object.freeze({type:File,value:null,nullable:!0}),externalUrl:Object.freeze({type:String,value:null,nullable:!0}),fileName:Object.freeze({type:String,value:null,nullable:!0}),fileSize:Object.freeze({type:Number,value:null,nullable:!0}),lastModified:Object.freeze({type:Number,value:Date.now()}),uploadProgress:Object.freeze({type:Number,value:0}),uuid:Object.freeze({type:String,value:null,nullable:!0}),isImage:Object.freeze({type:Boolean,value:!1}),mimeType:Object.freeze({type:String,value:null,nullable:!0}),ctxName:Object.freeze({type:String,value:null,nullable:!0}),cdnUrl:Object.freeze({type:String,value:null,nullable:!0}),cdnUrlModifiers:Object.freeze({type:String,value:null,nullable:!0}),fileInfo:Object.freeze({type:Ce,value:null,nullable:!0}),isUploading:Object.freeze({type:Boolean,value:!1}),abortController:Object.freeze({type:AbortController,value:null,nullable:!0}),thumbUrl:Object.freeze({type:String,value:null,nullable:!0}),silent:Object.freeze({type:Boolean,value:!1}),source:Object.freeze({type:String,value:null,nullable:!0}),fullPath:Object.freeze({type:String,value:null,nullable:!0}),metadata:Object.freeze({type:Object,value:null,nullable:!0}),errors:Object.freeze({type:Array,value:[]}),uploadError:Object.freeze({type:Error,value:null,nullable:!0}),isRemoved:Object.freeze({type:Boolean,value:!1}),isQueuedForUploading:Object.freeze({type:Boolean,value:!1}),isValidationPending:Object.freeze({type:Boolean,value:!1}),isQueuedForValidation:Object.freeze({type:Boolean,value:!1})});var M=class i extends g{static{s(this,"UploaderBlock")}static extSrcList;static sourceTypes;couldBeCtxOwner=!1;isCtxOwner=!1;_unobserveCollection;_unobserveCollectionProperties;init$=xr(this);get hasCtxOwner(){return this.hasBlockInCtx(e=>e instanceof i?e.isCtxOwner&&e.isConnected&&e!==this:!1)}initCallback(){if(super.initCallback(),!this.has("*uploadCollection")){let e=new Oi({typedSchema:Ss,watchList:["uploadProgress","uploadError","fileInfo","errors","cdnUrl","isUploading","isValidationPending"]});this.add("*uploadCollection",e)}this.has("*publicApi")||this.add("*publicApi",new Li(this)),this.has("*validationManager")||this.add("*validationManager",new Ii(this)),!this.hasCtxOwner&&this.couldBeCtxOwner&&this._initCtxOwner()}get validationManager(){if(!this.has("*validationManager"))throw new Error("Unexpected error: ValidationManager is not initialized");return this.$["*validationManager"]}get api(){if(!this.has("*publicApi"))throw new Error("Unexpected error: UploaderPublicApi is not initialized");return this.$["*publicApi"]}getAPI(){return this.api}get uploadCollection(){if(!this.has("*uploadCollection"))throw new Error("Unexpected error: TypedCollection is not initialized");return this.$["*uploadCollection"]}destroyCtxCallback(){this.uploadCollection.destroy(),this.$["*uploadCollection"]=null,super.destroyCtxCallback()}disconnectedCallback(){super.disconnectedCallback(),this.isCtxOwner&&this._unobserveUploadCollection()}connectedCallback(){super.connectedCallback(),this.isCtxOwner&&this._observeUploadCollection()}destroyCallback(){super.destroyCallback(),this._flushOutputItems.cancel()}_initCtxOwner(){this.isCtxOwner=!0,this._observeUploadCollection(),this.subConfigValue("maxConcurrentRequests",e=>{this.$["*uploadQueue"].concurrency=Number(e)||1}),this.$["*secureUploadsManager"]||(this.$["*secureUploadsManager"]=new Ai(this))}_observeUploadCollection(){this._unobserveUploadCollection(),this._unobserveCollection=this.uploadCollection.observeCollection(this._handleCollectionUpdate),this._unobserveCollectionProperties=this.uploadCollection.observeProperties(this._handleCollectionPropertiesUpdate)}_unobserveUploadCollection(){this._unobserveCollectionProperties?.(),this._unobserveCollection?.(),this._unobserveCollectionProperties=void 0,this._unobserveCollection=void 0}async _createGroup(e){let t=await this.getUploadClientOptions(),r=e.allEntries.map(l=>l.uuid+(l.cdnUrlModifiers?`/${l.cdnUrlModifiers}`:"")),o=new AbortController,n=await zo(r,{...t,signal:o.signal});if(this.$["*collectionState"]!==e){o.abort();return}this.$["*groupInfo"]=n;let a=this.api.getOutputCollectionState();this.emit(x.GROUP_CREATED,a),this.emit(x.CHANGE,()=>this.api.getOutputCollectionState(),{debounce:!0}),this.$["*collectionState"]=a}_flushOutputItems=L(async()=>{if(this.getOutputData().length!==this.uploadCollection.size)return;let t=this.api.getOutputCollectionState();this.$["*collectionState"]=t,this.emit(x.CHANGE,()=>this.api.getOutputCollectionState(),{debounce:!0}),this.cfg.groupOutput&&t.totalCount>0&&t.status==="success"&&this._createGroup(t)},300);_handleCollectionUpdate=s((e,t,r)=>{(t.size||r.size)&&(this.$["*groupInfo"]=null),this.validationManager.runFileValidators("add",[...t].map(o=>o.uid));for(let o of t)o.getValue("silent")||this.emit(x.FILE_ADDED,this.api.getOutputItem(o.uid));this.validationManager.runCollectionValidators();for(let o of r){this.$["*uploadTrigger"].delete(o.uid),this.validationManager.cleanupValidationForEntry(o),o.getValue("abortController")?.abort(),o.setMultipleValues({isRemoved:!0,abortController:null,isUploading:!1,uploadProgress:0});let n=o?.getValue("thumbUrl");n&&URL.revokeObjectURL(n),this.emit(x.FILE_REMOVED,this.api.getOutputItem(o.uid))}this.$["*uploadList"]=e.map(o=>({uid:o})),this._flushCommonUploadProgress(),this._flushOutputItems()},"_handleCollectionUpdate");_handleCollectionPropertiesUpdate=s(e=>{this._flushOutputItems();let t=this.uploadCollection,r=[...new Set(Object.entries(e).filter(([o])=>["uploadError","fileInfo","cdnUrl","cdnUrlModifiers"].includes(o)).flatMap(([,o])=>[...o]))];if(r.length>0&&setTimeout(()=>{let o=r.filter(n=>e.fileInfo?.has(n)&&!!E.getCtx(n).store.fileInfo);o.length>0&&this.validationManager.runFileValidators("upload",o),this.validationManager.runFileValidators("change",r)}),e.uploadProgress){for(let o of e.uploadProgress){let{isUploading:n,silent:a}=E.getCtx(o).store;n&&!a&&this.emit(x.FILE_UPLOAD_PROGRESS,this.api.getOutputItem(o))}this._flushCommonUploadProgress()}if(e.isUploading)for(let o of e.isUploading){let{isUploading:n,silent:a}=E.getCtx(o).store;n&&!a&&this.emit(x.FILE_UPLOAD_START,this.api.getOutputItem(o))}if(e.fileInfo){for(let o of e.fileInfo){let{fileInfo:n,silent:a}=E.getCtx(o).store;n&&!a&&this.emit(x.FILE_UPLOAD_SUCCESS,this.api.getOutputItem(o))}this.cfg.cropPreset&&this.setInitialCrop(),this.cfg.cloudImageEditorAutoOpen&&this.openCloudImageEditor()}if(e.errors){this.validationManager.runCollectionValidators();for(let a of e.errors){let{errors:l}=E.getCtx(a).store;l.length>0&&(this.emit(x.FILE_UPLOAD_FAILED,this.api.getOutputItem(a)),this.emit(x.COMMON_UPLOAD_FAILED,()=>this.api.getOutputCollectionState(),{debounce:!0}))}let o=t.findItems(a=>!!a.getValue("fileInfo")),n=t.findItems(a=>a.getValue("errors").length>0);t.size>0&&n.length===0&&t.size===o.length&&this.$["*collectionErrors"].length===0&&this.emit(x.COMMON_UPLOAD_SUCCESS,this.api.getOutputCollectionState())}e.cdnUrl&&([...e.cdnUrl].filter(n=>!!this.uploadCollection.read(n)?.getValue("cdnUrl")).forEach(n=>{this.emit(x.FILE_URL_CHANGED,this.api.getOutputItem(n))}),this.$["*groupInfo"]=null)},"_handleCollectionPropertiesUpdate");_flushCommonUploadProgress=s(()=>{let e=0,r=[...this.$["*uploadTrigger"]].filter(n=>!!this.uploadCollection.read(n));r.forEach(n=>{let a=this.uploadCollection.readProp(n,"uploadProgress");typeof a=="number"&&(e+=a)});let o=r.length?Math.round(e/r.length):0;this.$["*commonProgress"]!==o&&(this.$["*commonProgress"]=o,this.emit(x.COMMON_UPLOAD_PROGRESS,this.api.getOutputCollectionState()))},"_flushCommonUploadProgress");openCloudImageEditor(){let[e]=this.uploadCollection.findItems(t=>!!t.getValue("fileInfo")&&t.getValue("isImage")).map(t=>this.uploadCollection.read(t));e&&this.uploadCollection.size===1&&this.cfg.useCloudImageEditor&&this.hasBlockInCtx(t=>t.activityType===g.activities.CLOUD_IMG_EDIT)&&(this.$["*currentActivityParams"]={internalId:e.uid},this.$["*currentActivity"]=g.activities.CLOUD_IMG_EDIT,this.modalManager?.open(g.activities.CLOUD_IMG_EDIT))}setInitialCrop(){let e=xi(this.cfg.cropPreset);if(e){let[t]=e,r=this.uploadCollection.findItems(o=>!!o.getValue("fileInfo")&&o.getValue("isImage")&&!o.getValue("cdnUrlModifiers")?.includes("/crop/")).map(o=>this.uploadCollection.read(o)).filter(Boolean);for(let o of r){let n=o.getValue("fileInfo");if(!n||!n.imageInfo){console.warn("Failed to get image info for entry",o.uid);continue}let{width:a,height:l}=n.imageInfo,c=typeof t?.width=="number"&&typeof t?.height=="number"&&t.width>0&&t.height>0?t.width/t.height:1,d=ps(a,l,c),u=j(`crop/${d.width}x${d.height}/${d.x},${d.y}`,"preview"),p=o.getValue("cdnUrl");if(!p){console.warn("Failed to get cdnUrl for entry",o.uid);continue}o.setMultipleValues({cdnUrlModifiers:u,cdnUrl:D(p,u)}),this.uploadCollection.size===1&&this.cfg.useCloudImageEditor&&this.hasBlockInCtx(h=>h.activityType===g.activities.CLOUD_IMG_EDIT)&&(this.$["*currentActivityParams"]={internalId:o.uid},this.$["*currentActivity"]=g.activities.CLOUD_IMG_EDIT,this.modalManager?.open(g.activities.CLOUD_IMG_EDIT))}}}async getMetadataFor(e){let t=this.cfg.metadata||void 0;if(typeof t=="function"){let r=this.api.getOutputItem(e);return await t(r)}return t}async getUploadClientOptions(){let t=await this.$["*secureUploadsManager"].getSecureToken().catch(()=>null);return{store:this.cfg.store,publicKey:this.cfg.pubkey,baseCDN:this.cfg.cdnCname,baseURL:this.cfg.baseUrl,userAgent:ms,integration:this.cfg.userAgentIntegration,secureSignature:t?.secureSignature,secureExpire:t?.secureExpire,retryThrottledRequestMaxTimes:this.cfg.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:this.cfg.retryNetworkErrorMaxTimes,multipartMinFileSize:this.cfg.multipartMinFileSize,multipartChunkSize:this.cfg.multipartChunkSize,maxConcurrentRequests:this.cfg.multipartMaxConcurrentRequests,multipartMaxAttempts:this.cfg.multipartMaxAttempts,checkForUrlDuplicates:!!this.cfg.checkForUrlDuplicates,saveUrlForRecurrentUploads:!!this.cfg.saveUrlForRecurrentUploads}}getOutputData(){return this.uploadCollection.items().map(r=>this.api.getOutputItem(r))}};M.extSrcList=Object.freeze({...ae});M.sourceTypes=Object.freeze({...U});var Ri=class extends g{static{s(this,"ActivityHeader")}};var Is=s(()=>typeof navigator.permissions<"u","canUsePermissionsApi");var Pl={width:{ideal:1920},height:{ideal:1080},frameRate:{ideal:30}},ks=["camera","microphone"];function Pi(i){let e=Math.floor(i/60).toString().padStart(2,"0"),t=Math.floor(i%60).toString().padStart(2,"0");return`${e}:${t}`}s(Pi,"formatTime");var Os="image/jpeg",Ms="video/webm",Lt=class extends M{static{s(this,"CameraSource")}couldBeCtxOwner=!0;activityType=g.activities.CAMERA;_unsubPermissions=null;_capturing=!1;_chunks=[];_mediaRecorder=null;_stream=null;_selectedAudioId=null;_selectedCameraId=null;_activeTab=null;_options={};_canvas=null;_ctx=null;_cameraDevices=[];_audioDevices=[];_permissionResponses={};constructor(){super(),this.init$={...this.init$,video:null,videoTransformCss:null,videoHidden:!0,messageHidden:!0,requestBtnHidden:Is(),cameraSelectOptions:null,cameraSelectHidden:!0,l10nMessage:"",switcher:null,panels:null,timer:null,timerHidden:!0,cameraHidden:!0,cameraActionsHidden:!0,audioSelectOptions:null,audioSelectHidden:!0,audioSelectDisabled:!0,audioToggleMicrophoneHidden:!0,tabCameraHidden:!0,tabVideoHidden:!0,currentIcon:"camera-full",currentTimelineIcon:"play",toggleMicrophoneIcon:"microphone",_startTime:0,_elapsedTime:0,_animationFrameId:null,mutableClassButton:"uc-shot-btn uc-camera-action",onCameraSelectChange:s(e=>{let t=e.target;t&&(this._selectedCameraId=t.value,this._capture())},"onCameraSelectChange"),onAudioSelectChange:s(e=>{let t=e.target;t&&(this._selectedAudioId=t.value,this._capture())},"onAudioSelectChange"),onCancel:s(()=>{this.historyBack()},"onCancel"),onShot:s(()=>{this.telemetryManager.sendEvent({eventType:O.ACTION_EVENT,payload:{metadata:{event:"shot-camera",node:this.tagName,tabId:this._activeTab}}}),this._shot()},"onShot"),onRequestPermissions:s(()=>this._capture(),"onRequestPermissions"),onStartCamera:s(()=>{this.telemetryManager.sendEvent({eventType:O.ACTION_EVENT,payload:{metadata:{event:"start-camera",node:this.tagName,tabId:this._activeTab}}}),this._chooseActionWithCamera()},"onStartCamera"),onStartRecording:s(()=>this._startRecording(),"onStartRecording"),onStopRecording:s(()=>this._stopRecording(),"onStopRecording"),onToggleRecording:s(()=>this._toggleRecording(),"onToggleRecording"),onToggleAudio:s(()=>this._toggleEnableAudio(),"onToggleAudio"),onRetake:s(()=>{this.telemetryManager.sendEvent({eventType:O.ACTION_EVENT,payload:{metadata:{event:"retake-camera",node:this.tagName,tabId:this._activeTab}}}),this._retake()},"onRetake"),onAccept:s(()=>{this.telemetryManager.sendEvent({eventType:O.ACTION_EVENT,payload:{metadata:{event:"accept-camera",node:this.tagName,tabId:this._activeTab}}}),this._accept()},"onAccept"),onClickTab:s(e=>{let r=e.currentTarget?.getAttribute("data-id");r&&this._handleActiveTab(r)},"onClickTab")}}_chooseActionWithCamera=s(()=>{if(this._activeTab===w.PHOTO&&this._shot(),this._activeTab===w.VIDEO){if(this._mediaRecorder?.state==="recording"){this._stopRecording();return}this._startRecording()}},"_chooseActionWithCamera");_updateTimer=s(()=>{let e=Math.floor((performance.now()-this.$._startTime+this.$._elapsedTime)/1e3);if(typeof this.cfg.maxVideoRecordingDuration=="number"&&this.cfg.maxVideoRecordingDuration>0){let t=this.cfg.maxVideoRecordingDuration-e;if(t<=0){let o=this.ref.timer;o&&(o.textContent=Pi(t)),this._stopRecording();return}let r=this.ref.timer;r&&(r.textContent=Pi(t))}else{let t=this.ref.timer;t&&(t.textContent=Pi(e))}this._animationFrameId=requestAnimationFrame(this._updateTimer)},"_updateTimer");_startTimer=s(()=>{this.$._startTime=performance.now(),this.$._elapsedTime=0,this._updateTimer()},"_startTimer");_stopTimer=s(()=>{this._animationFrameId&&cancelAnimationFrame(this._animationFrameId)},"_stopTimer");_startTimeline=s(()=>{let e=this.ref.video;if(!e)return;let t=e.currentTime,r=e.duration||1,o=this.ref.line;o&&(o.style.transform=`scaleX(${t/r})`);let n=this.ref.timer;n&&(n.textContent=Pi(t)),this._animationFrameId=requestAnimationFrame(this._startTimeline)},"_startTimeline");_stopTimeline=s(()=>{this._animationFrameId&&cancelAnimationFrame(this._animationFrameId)},"_stopTimeline");_animationFrameId=null;_startRecording=s(()=>{try{this._chunks=[],this._options={...this.cfg.mediaRecorderOptions};let{mimeType:e}=this.cfg.mediaRecorderOptions||{};e&&MediaRecorder.isTypeSupported(e)?this._options.mimeType=e:MediaRecorder.isTypeSupported(Ms)?this._options.mimeType=Ms:this._options.mimeType="video/mp4",this._stream&&(this._mediaRecorder=new MediaRecorder(this._stream,this._options),this._mediaRecorder.start(),this._mediaRecorder.addEventListener("dataavailable",t=>{this._chunks.push(t.data)}),this._startTimer(),this.classList.add("uc-recording"),this._setCameraState(te.PLAY))}catch(e){console.error("Failed to start recording",e),this.telemetryManager.sendEventError(e,"camera recording. Failed to start recording")}},"_startRecording");_stopRecording=s(()=>{this._mediaRecorder?.addEventListener("stop",()=>{this._previewVideo(),this._stopTimer(),this._setCameraState(te.STOP)}),this._mediaRecorder?.stop(),this.classList.remove("uc-recording"),this.telemetryManager.sendEvent({eventType:O.ACTION_EVENT,payload:{metadata:{event:"stop-camera",node:this.tagName,tabId:this._activeTab}}})},"_stopRecording");_toggleRecording=s(()=>{this._mediaRecorder?.state!=="recording"&&(!this.ref.video.paused&&!this.ref.video.ended&&this.ref.video.readyState>2?this.ref.video.pause():this.ref.video.paused&&this.ref.video.play())},"_toggleRecording");_toggleEnableAudio=s(()=>{this._stream?.getAudioTracks().forEach(e=>{e.enabled=!e.enabled,this.$.toggleMicrophoneIcon=e.enabled?"microphone":"microphone-mute",this.$.audioSelectDisabled=!e.enabled})},"_toggleEnableAudio");_previewVideo=s(()=>{try{let e=new Blob(this._chunks,{type:this._mediaRecorder?.mimeType}),t=URL.createObjectURL(e),r=this.ref.video;if(!r)return;r.muted=!1,r.volume=1,this.$.video=null,r.src=t,r.addEventListener("play",()=>{this._startTimeline(),this.set$({currentTimelineIcon:"pause"})}),r.addEventListener("pause",()=>{this.set$({currentTimelineIcon:"play"}),this._stopTimeline()})}catch(e){console.error("Failed to preview video",e),this.telemetryManager.sendEventError(e,"camera previewing. Failed to preview video")}},"_previewVideo");_retake=s(()=>{if(this._setCameraState(te.RETAKE),this._activeTab===w.VIDEO){this.$.video=this._stream;let e=this.ref.video;e&&(e.muted=!0)}this.ref.video?.play?.()},"_retake");_accept=s(()=>{if(this._setCameraState(te.ACCEPT),this._activeTab===w.PHOTO){this._canvas?.toBlob(o=>{if(!o)return;let n=this._createFile("camera","jpeg",Os,o);this._toSend(n)},Os);return}let e=new Blob(this._chunks,{type:this._mediaRecorder?.mimeType}),t=this._guessExtensionByMime(this._mediaRecorder?.mimeType),r=this._createFile("video",t,`video/${t}`,e);this._toSend(r),this._chunks=[]},"_accept");_handlePhoto=s(e=>{e===te.SHOT&&this.set$({tabVideoHidden:!0,cameraHidden:!0,tabCameraHidden:!0,cameraActionsHidden:!1,cameraSelectHidden:!0}),(e===te.RETAKE||e===te.ACCEPT)&&this.set$({tabVideoHidden:!this._cameraModes.includes(w.VIDEO),tabCameraHidden:!this._cameraModes.includes(w.PHOTO),cameraHidden:!1,cameraActionsHidden:!0,cameraSelectHidden:this._cameraDevices.length<=1})},"_handlePhoto");_handleVideo=s(e=>{e===te.PLAY&&this.set$({timerHidden:!1,tabCameraHidden:!0,cameraSelectHidden:!0,audioSelectHidden:!0,currentTimelineIcon:"pause",currentIcon:"square",mutableClassButton:"uc-shot-btn uc-camera-action uc-stop-record"}),e===te.STOP&&this.set$({timerHidden:!1,cameraHidden:!0,audioToggleMicrophoneHidden:!0,cameraActionsHidden:!1}),(e===te.RETAKE||e===te.ACCEPT)&&this.set$({timerHidden:!0,tabVideoHidden:!this._cameraModes.includes(w.VIDEO),tabCameraHidden:!this._cameraModes.includes(w.PHOTO),cameraHidden:!1,cameraActionsHidden:!0,audioToggleMicrophoneHidden:!this.cfg.enableAudioRecording,currentIcon:"video-camera-full",mutableClassButton:"uc-shot-btn uc-camera-action",audioSelectHidden:!this.cfg.enableAudioRecording||this._audioDevices.length<=1,cameraSelectHidden:this._cameraDevices.length<=1})},"_handleVideo");_setCameraState=s(e=>{this._activeTab===w.PHOTO&&(e==="shot"||e==="retake"||e==="accept")&&this._handlePhoto(e),this._activeTab===w.VIDEO&&(e==="play"||e==="stop"||e==="retake"||e==="accept"||e==="pause"||e==="resume")&&this._handleVideo(e)},"_setCameraState");_shot(){if(this._setCameraState("shot"),this._canvas=document.createElement("canvas"),this._ctx=this._canvas.getContext("2d"),!this._ctx)throw new Error("Failed to get canvas context");this._canvas.height=this.ref.video.videoHeight,this._canvas.width=this.ref.video.videoWidth,this.cfg.cameraMirror&&(this._ctx.translate(this._canvas.width,0),this._ctx.scale(-1,1)),this._ctx.drawImage(this.ref.video,0,0),this.ref.video.pause()}_handleActiveTab=s(e=>{this.ref.switcher?.querySelectorAll("button").forEach(r=>{r.classList.toggle("uc-active",r.getAttribute("data-id")===e)}),e===w.PHOTO&&this.set$({currentIcon:"camera-full",audioSelectHidden:!0,audioToggleMicrophoneHidden:!0}),e===w.VIDEO&&this.set$({currentTimelineIcon:"play",currentIcon:"video-camera-full",audioSelectHidden:!this.cfg.enableAudioRecording||this._audioDevices.length<=1,audioToggleMicrophoneHidden:!this.cfg.enableAudioRecording}),this.telemetryManager.sendEvent({eventType:O.ACTION_EVENT,payload:{metadata:{event:"camera-tab-switch",node:this.tagName,tabId:e}}}),this._activeTab=e},"_handleActiveTab");_createFile=s((e,t,r,o)=>{let n=Date.now(),a=`${e}-${n}.${t}`;return new File([o],a,{lastModified:n,type:r})},"_createFile");_guessExtensionByMime(e){let t={mp4:"mp4",ogg:"ogg",webm:"webm",quicktime:"mov","x-matroska":"mkv"};if(e==="")return"webm";if(e){let r=e.split("/");if(r?.[0]==="video"){let n=r.slice(1).join("/")?.split(";")[0];if(n&&t[n])return t[n]}}return"avi"}_toSend=s(e=>{this.api.addFileFromObject(e,{source:U.CAMERA}),this.set$({"*currentActivity":g.activities.UPLOAD_LIST}),this.modalManager?.open(g.activities.UPLOAD_LIST)},"_toSend");get _cameraModes(){return F(this.cfg.cameraModes).filter(e=>e===w.PHOTO||e===w.VIDEO)}_setPermissionsState=L(e=>{this.classList.toggle("uc-initialized",e==="granted");let t=this._activeTab===w.VIDEO&&this.cfg.enableAudioRecording,r=this._activeTab===w.PHOTO?"camera-full":"video-camera-full";e==="granted"?this.set$({videoHidden:!1,cameraHidden:!1,tabCameraHidden:!this._cameraModes.includes(w.PHOTO),tabVideoHidden:!this._cameraModes.includes(w.VIDEO),messageHidden:!0,timerHidden:!0,currentIcon:r,audioToggleMicrophoneHidden:!t,audioSelectHidden:!t}):e==="prompt"?(this.$.l10nMessage="camera-permissions-prompt",this.set$({videoHidden:!0,cameraHidden:!0,tabCameraHidden:!0,messageHidden:!1}),this._stopCapture()):(this.$.l10nMessage="camera-permissions-denied",this.set$({videoHidden:!0,messageHidden:!1,tabCameraHidden:!this._cameraModes.includes(w.PHOTO),tabVideoHidden:!this._cameraModes.includes(w.VIDEO),cameraActionsHidden:!0,mutableClassButton:"uc-shot-btn uc-camera-action"}),this._stopCapture())},300);_makeStreamInactive=s(()=>{if(!this._stream)return!1;let e=this._stream?.getAudioTracks(),t=this._stream?.getVideoTracks();return e.forEach(r=>{r.stop()}),t.forEach(r=>{r.stop()}),!0},"_makeStreamInactive");_stopCapture=s(()=>{this._capturing&&(this.ref.video.volume=0,this.$.video?.getTracks?.()?.[0]?.stop(),this.$.video=null,this._makeStreamInactive(),this._stopTimer(),this._capturing=!1)},"_stopCapture");_capture=s(async()=>{let e={video:{...Pl},audio:this.cfg.enableAudioRecording?{}:!1};this._selectedCameraId&&(e.video={deviceId:{exact:this._selectedCameraId}}),this._selectedAudioId&&this.cfg.enableAudioRecording&&(e.audio={deviceId:{exact:this._selectedAudioId}}),this.ref.video&&(this.ref.video.volume=0);try{this._setPermissionsState("prompt"),this._stream=await navigator.mediaDevices.getUserMedia(e),this._stream.addEventListener("inactive",()=>{this._setPermissionsState("denied")}),this.$.video=this._stream,this._capturing=!0,this._setPermissionsState("granted")}catch(t){this._setPermissionsState("denied"),console.log("Failed to capture camera",t),this.telemetryManager.sendEventError(t,"camera capturing. Failed to capture camera")}},"_capture");_handlePermissionsChange=s(()=>{this._capture()},"_handlePermissionsChange");_permissionAccess=s(async()=>{try{for(let e of ks){let t=await navigator.permissions.query({name:e});this._permissionResponses[e]=t,t.addEventListener("change",this._handlePermissionsChange)}}catch(e){console.log("Failed to use permissions API. Fallback to manual request mode.",e),this.telemetryManager.sendEventError(e,"camera permissions. Failed to use permissions API"),this._capture()}},"_permissionAccess");_getPermission=s(()=>{},"_getPermission");_requestDeviceAccess=s(async()=>{try{await navigator.mediaDevices.getUserMedia({video:!0,audio:this.cfg.enableAudioRecording}),await this._getDevices(),navigator.mediaDevices.addEventListener("devicechange",this._getDevices)}catch(e){this.telemetryManager.sendEventError(e,"camera devices. Failed to get user media"),console.log("Failed to get user media",e)}},"_requestDeviceAccess");_getDevices=s(async()=>{try{let e=await navigator.mediaDevices.enumerateDevices();this._cameraDevices=e.filter(t=>t.kind==="videoinput").map((t,r)=>({text:t.label.trim()||`${this.l10n("caption-camera")} ${r+1}`,value:t.deviceId})),this._audioDevices=this.cfg.enableAudioRecording?e.filter(t=>t.kind==="audioinput").map(t=>({text:t.label.trim(),value:t.deviceId})):[],this._cameraDevices.length>1&&this.set$({cameraSelectOptions:this._cameraDevices,cameraSelectHidden:!1}),this._selectedCameraId=this._cameraDevices[0]?.value??null,this._audioDevices.length>1&&this.set$({audioSelectOptions:this._audioDevices,audioSelectHidden:!1}),this._selectedAudioId=this._audioDevices[0]?.value??null}catch(e){this.telemetryManager.sendEventError(e,"camera devices. Failed to get devices"),console.log("Failed to get devices",e)}},"_getDevices");_onActivate=s(async()=>{await this._permissionAccess(),await this._requestDeviceAccess(),await this._capture(),this._handleCameraModes(this._cameraModes)},"_onActivate");_onDeactivate=s(async()=>{this._unsubPermissions&&this._unsubPermissions(),!!window.chrome||this._setPermissionsState("denied"),this._stopCapture()},"_onDeactivate");_handleCameraModes=s(e=>{this.$.tabVideoHidden=!e.includes(w.VIDEO),this.$.tabCameraHidden=!e.includes(w.PHOTO);let t=e[0];t&&(!this._activeTab||!e.includes(this._activeTab))&&this._handleActiveTab(t)},"_handleCameraModes");initCallback(){super.initCallback(),this.registerActivity(this.activityType,{onActivate:this._onActivate,onDeactivate:this._onDeactivate}),this.subConfigValue("cameraMirror",e=>{this.$.videoTransformCss=e?"scaleX(-1)":null}),this.subConfigValue("enableAudioRecording",e=>{this.$.audioToggleMicrophoneHidden=!e,this.$.audioSelectDisabled=!e}),this.subConfigValue("cameraModes",e=>{if(!this.isActivityActive)return;let t=X(e);this._handleCameraModes(t.filter(r=>r===w.PHOTO||r===w.VIDEO))})}_destroy(){for(let e of ks)this._permissionResponses[e]?.removeEventListener("change",this._handlePermissionsChange);navigator.mediaDevices?.removeEventListener("devicechange",this._getDevices)}async destroyCallback(){super.destroyCallback(),this._destroy()}};Lt.template=`<uc-activity-header><button type="button" class="uc-mini-btn" set="onclick: *historyBack" l10n="@title:back" ><uc-icon name="back"></uc-icon></button><div set="@hidden: !cameraSelectHidden"><uc-icon name="camera"></uc-icon><span l10n="caption-camera"></span></div><uc-select class="uc-camera-select" set="$.options: cameraSelectOptions; @hidden: cameraSelectHidden; onchange: onCameraSelectChange" ></uc-select><button type="button" class="uc-mini-btn uc-close-btn" set="onclick: *closeModal" l10n="@title:a11y-activity-header-button-close;@aria-label:a11y-activity-header-button-close" ><uc-icon name="close"></uc-icon></button></uc-activity-header><div class="uc-content"><video muted autoplay playsinline set="srcObject: video; style.transform: videoTransformCss; @hidden: videoHidden" ref="video" ></video><div class="uc-message-box" set="@hidden: messageHidden"><span l10n="l10nMessage"></span><button type="button" set="onclick: onRequestPermissions; @hidden: requestBtnHidden" l10n="camera-permissions-request" ></button></div></div><div class="uc-controls"><div ref="switcher" class="uc-switcher" set="@hidden:!timerHidden"><button data-id="photo" type="button" class="uc-switch uc-mini-btn" set="onclick: onClickTab; @hidden: tabCameraHidden" ><uc-icon name="camera"></uc-icon></button><button data-id="video" type="button" class="uc-switch uc-mini-btn" set="onclick: onClickTab; @hidden: tabVideoHidden" ><uc-icon name="video-camera"></uc-icon></button></div><button class="uc-secondary-btn uc-recording-timer" set="@hidden:timerHidden; onclick: onToggleRecording" ><uc-icon set="@name: currentTimelineIcon"></uc-icon><span ref="timer"> 00:00 </span><span ref="line" class="uc-line"></span></button><div class="uc-camera-actions uc-camera-action" set="@hidden: cameraActionsHidden" ><button type="button" class="uc-secondary-btn" set="onclick: onRetake"> Retake </button><button type="button" class="uc-primary-btn" set="onclick: onAccept" data-testid="accept" > Accept </button></div><button type="button" class="uc-shot-btn uc-camera-action" data-testid="shot" set="onclick: onStartCamera; @class: mutableClassButton; @hidden: cameraHidden;" ><uc-icon set="@name: currentIcon"></uc-icon></button><div class="uc-select"><button class="uc-mini-btn uc-btn-microphone" set="onclick: onToggleAudio; @hidden: audioToggleMicrophoneHidden;" ><uc-icon set="@name:toggleMicrophoneIcon"></uc-icon></button><uc-select class="uc-audio-select" set="$.options: audioSelectOptions; onchange: onAudioSelectChange; @hidden: audioSelectHidden; @disabled: audioSelectDisabled" ></uc-select></div></div>`;var pe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=";function Ls(...i){return i.reduce((e,t)=>{if(typeof t=="string")return e[t]=!0,e;for(let r of Object.keys(t))e[r]=t[r];return e},{})}s(Ls,"normalize");function B(...i){let e=Ls(...i);return Object.keys(e).reduce((t,r)=>(e[r]&&t.push(r),t),[]).join(" ")}s(B,"classNames");function Rs(i,...e){let t=Ls(...e);for(let r of Object.keys(t))i.classList.toggle(r,!!t[r])}s(Rs,"applyClassNames");var Ul=s(i=>Z.includes(i),"isTabIdValue"),Ps=s(i=>{if(!i)return Z;let e=X(i).filter(Ul);return e.length===0?Z:e},"parseTabs");function Us(i){return{"*originalUrl":null,"*faderEl":null,"*cropperEl":null,"*imgEl":null,"*imgContainerEl":null,"*networkProblems":!1,"*imageSize":null,"*editorTransformations":{},"*cropPresetList":[],"*currentAspectRatio":null,"*tabList":Z,"*tabId":R.CROP,entry:null,extension:null,editorMode:!1,modalCaption:"",isImage:!1,msg:"",src:pe,fileType:"",showLoader:!1,uuid:null,cdnUrl:null,cropPreset:"",tabs:ye([...Z]),"presence.networkProblems":!1,"presence.modalCaption":!0,"presence.editorToolbar":!1,"presence.viewerToolbar":!0,"*on.retryNetwork":s(()=>{let e=i.querySelectorAll("img");for(let t of e){let r=t.src;t.src=pe,t.src=r}i.$["*networkProblems"]=!1},"*on.retryNetwork"),"*on.apply":s(e=>{if(!e)return;let t=i.$["*originalUrl"],r=j(Ie(e),"preview"),o=D(t,r),n={originalUrl:t,cdnUrlModifiers:r,cdnUrl:o,transformations:e};i.dispatchEvent(new CustomEvent("apply",{detail:n,bubbles:!0,composed:!0})),i.remove()},"*on.apply"),"*on.cancel":s(()=>{i.remove(),i.dispatchEvent(new CustomEvent("cancel",{bubbles:!0,composed:!0}))},"*on.cancel")}}s(Us,"initState");var $s="<svg width='0' height='0' style='position:absolute'><symbol fill='none' viewBox='0 0 9 6' id='uc-icon-arrow-dropdown' xmlns='http://www.w3.org/2000/svg'><path stroke='currentColor' d='m1.5 1.667 3 2.666 3-2.666' opacity='.5'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-aspect-ratio' xmlns='http://www.w3.org/2000/svg'/><symbol viewBox='0 0 20 20' id='uc-icon-brightness' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M15 10a5 5 0 0 1-5 5m5-5a5 5 0 0 0-5-5m5 5h-5m0 5a5 5 0 0 1 0-10m0 10V5m0 15v-3M2.93 2.929 5.05 5.05M0 10h3m-.07 7.071 2.12-2.121M10 0v3m7.07 14.071-2.12-2.121M20 10h-3m.07-7.071L14.95 5.05m-.626 2.45H10m4.324 5H10'/></symbol><symbol fill='currentColor' viewBox='0 0 20 20' id='uc-icon-closeMax' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M8.232 10 3.585 5.353l1.768-1.768L10 8.232l4.648-4.647 1.767 1.768L11.768 10l4.647 4.648-1.767 1.767L10 11.768l-4.647 4.647-1.768-1.767L8.232 10Z' clip-rule='evenodd'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-contrast' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M2 10a8 8 0 1 0 16 0 8 8 0 1 0-16 0m8-8v16m8-8h-8m7.598 2.5H10m6.24 2.5H10m7.6-7.5H10M16.242 5H10'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-crop' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M20 14H7.005C6.45 14 6 13.55 6 12.995V0M0 6h13.067c.515 0 .933.418.933.933V20M14.5.4 13 2l1.5 1.6M13 2h2a3 3 0 0 1 3 3v2M5.5 19.6 7 18l-1.5-1.6M7 18H5a3 3 0 0 1-3-3v-2'/></symbol><symbol fill='currentColor' viewBox='0 0 20 20' id='uc-icon-done' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='m18.057 6.333-9.365 9.125a1.25 1.25 0 0 1-1.768-.023L1.92 10.296l1.791-1.744 4.132 4.243 8.47-8.253 1.744 1.79Z' clip-rule='evenodd'/></symbol><symbol fill='currentColor' viewBox='0 0 25 24' id='uc-icon-edit-file' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M18.558 2.804a.78.78 0 0 0-.557.235l-.008.007-2.472 2.46 3.847 3.848 2.46-2.473.004-.003a.78.78 0 0 0 0-1.108l-.004-.003-2.712-2.728a.78.78 0 0 0-.558-.235Zm-.248 7.613-3.852-3.852-8.93 8.887-1.516 5.41 5.41-1.515 8.888-8.93Zm-.636-8.934a2.28 2.28 0 0 1 2.512.505l2.702 2.717.002.002a2.278 2.278 0 0 1 0 3.234l-.002.002-12.541 12.602a.75.75 0 0 1-.33.193l-6.884 1.928a.75.75 0 0 1-.925-.924l1.928-6.885a.75.75 0 0 1 .193-.33l12.603-12.54a2.28 2.28 0 0 1 .742-.504Z' clip-rule='evenodd'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-enhance' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M19 13h-2m0 0a4 4 0 0 1-4-4m4 4a4 4 0 0 0-4 4m0-8V7m0 2a4 4 0 0 1-4 4m-2 0h2m0 0a4 4 0 0 1 4 4m0 0v2M8 8.5H6.5m0 0a2 2 0 0 1-2-2m2 2a2 2 0 0 0-2 2m0-4V5m0 1.5a2 2 0 0 1-2 2M1 8.5h1.5m0 0a2 2 0 0 1 2 2m0 0V12M12 3h-1m0 0a1 1 0 0 1-1-1m1 1a1 1 0 0 0-1 1m0-2V1m0 1a1 1 0 0 1-1 1M8 3h1m0 0a1 1 0 0 1 1 1m0 0v1'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-exposure' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M10 20v-3M2.93 2.929 5.05 5.05M0 10h3m-.07 7.071 2.12-2.121M10 0v3m7.07 14.071-2.12-2.121M20 10h-3m.07-7.071L14.95 5.05M5 10a5 5 0 1 0 10 0 5 5 0 1 0-10 0'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-filters' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M4.5 6.5a5.5 5.5 0 1 0 11 0 5.5 5.5 0 1 0-11 0m-3.5 6a5.5 5.5 0 1 0 11 0 5.5 5.5 0 1 0-11 0m7 0a5.5 5.5 0 1 0 11 0 5.5 5.5 0 1 0-11 0'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-flip' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M19.6 5 18 3.5 16.4 5m3.2 10L18 16.5 16.4 15M18 3.523v12.954M3.3 8.5h10.654c.301 0 .415-.395.159-.554L3.459 1.286A.3.3 0 0 0 3 1.542V8.2a.3.3 0 0 0 .3.3zm0 3h10.654c.301 0 .415.395.159.554l-10.654 6.66A.3.3 0 0 1 3 18.458v-6.66a.3.3 0 0 1 .3-.3z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-gamma' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M17 3C9 6 2.5 11.5 2.5 17.5m0 0h1m-1 0v-1m14 1h1m-3 0h1m-3 0h1m-3 0h1m-3 0h1m-3 0h1m-3 0h1m-3-14v-1m0 3v-1m0 3v-1m0 3v-1m0 3v-1m0 3v-1m0 3v-1'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-mirror' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M5 .4 3.5 2 5 3.6M15 .4 16.5 2 15 3.6M3.52 2h12.957M8.5 16.7V6.046c0-.301-.394-.415-.554-.159L1.287 16.541a.3.3 0 0 0 .255.459H8.2a.3.3 0 0 0 .3-.3zm3 0V6.046c0-.301.395-.415.555-.159l6.659 10.654a.3.3 0 0 1-.255.459H11.8a.3.3 0 0 1-.3-.3z'/></symbol><symbol viewBox='0 0 40 40' id='uc-icon-original' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.5' d='M0 40 40 0'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-rotate' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M13.5.4 12 2l1.5 1.6M12.023 2H14.4A3.6 3.6 0 0 1 18 5.6V8M4 17h9a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v9a1 1 0 0 0 1 1z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-sad' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M2 17c4.418-4 11.582-4 16 0M16.5 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-11 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-saturation' xmlns='http://www.w3.org/2000/svg'><defs><linearGradient id='ruc-icon-id__a' x1='10.001' y1='1' x2='10.001' y2='19' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient></defs><circle cx='10.001' cy='10' r='9' transform='rotate(90 10 10)' fill='url(#ruc-icon-id__a)'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-slider' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M0 10h11m0 0a2 2 0 1 0 4 0m-4 0a2 2 0 1 1 4 0m0 0h5'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-tuning' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M8 10h11M1 10h4M1 4.5h11m3 0h4m-18 11h11m3 0h4m-7-11a1.5 1.5 0 1 0 3 0 1.5 1.5 0 1 0-3 0M5 10a1.5 1.5 0 1 0 3 0 1.5 1.5 0 1 0-3 0m7 5.5a1.5 1.5 0 1 0 3 0 1.5 1.5 0 1 0-3 0'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-vibrance' xmlns='http://www.w3.org/2000/svg'><path d='M2.125 5.64A8.96 8.96 0 0 0 1.001 10a8.96 8.96 0 0 0 1.124 4.36V5.64z' fill='url(#uuc-icon-id__a)'/><path d='M2.875 15.499V4.502a9.053 9.053 0 0 1 1.75-1.72v14.437a9.05 9.05 0 0 1-1.75-1.72z' fill='url(#uuc-icon-id__b)'/><path d='M5.375 17.722c.548.33 1.134.601 1.75.809V1.469a8.956 8.956 0 0 0-1.75.81v15.443z' fill='url(#uuc-icon-id__c)'/><path d='M7.875 1.253v17.495c.564.136 1.15.22 1.75.244V1.008a9 9 0 0 0-1.75.245z' fill='url(#uuc-icon-id__d)'/><path d='M10.375 1.008v17.984a9 9 0 0 0 1.75-.244V1.252a9 9 0 0 0-1.75-.244z' fill='url(#uuc-icon-id__e)'/><path d='M12.875 1.469V18.53a8.957 8.957 0 0 0 1.75-.808V2.277a8.957 8.957 0 0 0-1.75-.808z' fill='url(#uuc-icon-id__f)'/><path d='M15.375 2.78v14.44a9.053 9.053 0 0 0 1.75-1.72v-11a9.054 9.054 0 0 0-1.75-1.72z' fill='url(#uuc-icon-id__g)'/><path d='M17.875 5.638v8.724A8.959 8.959 0 0 0 19.001 10a8.96 8.96 0 0 0-1.126-4.362z' fill='url(#uuc-icon-id__h)'/><defs><linearGradient id='uuc-icon-id__a' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__b' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__c' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__d' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__e' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__f' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__g' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__h' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient></defs></symbol><symbol viewBox='0 0 20 20' id='uc-icon-warmth' xmlns='http://www.w3.org/2000/svg'><path d='m7.5 13.05.429.42.171-.175v-.244h-.6zm5 0h-.6v.245l.172.175.428-.42zM8.1 3.5c0-1.05.85-1.9 1.9-1.9V.4a3.1 3.1 0 0 0-3.1 3.1h1.2zm0 9.55V3.5H6.9v9.55h1.2zm-1 2.45c0-.79.315-1.506.829-2.03l-.858-.84A4.088 4.088 0 0 0 5.9 15.5h1.2zm2.9 2.9a2.9 2.9 0 0 1-2.9-2.9H5.9a4.1 4.1 0 0 0 4.1 4.1v-1.2zm2.9-2.9a2.9 2.9 0 0 1-2.9 2.9v1.2a4.1 4.1 0 0 0 4.1-4.1h-1.2zm-.829-2.03c.514.524.829 1.24.829 2.03h1.2c0-1.117-.447-2.13-1.171-2.87l-.858.84zM11.9 3.5v9.55h1.2V3.5h-1.2zM10 1.6c1.05 0 1.9.85 1.9 1.9h1.2A3.1 3.1 0 0 0 10 .4v1.2z' fill='currentColor'/><path d='M10 14V8' stroke='currentColor' stroke-width='1.2' stroke-linecap='round'/><path d='M14 3h3m-3 3h3m-3 3h3m-8 6.5a1 1 0 1 0 2 0 1 1 0 1 0-2 0' stroke='currentColor' stroke-width='1.2'/></symbol></svg>";var Ds=`${$s} <div class="uc-wrapper uc-wrapper_desktop"><uc-presence-toggle class="uc-network_problems_splash" set="visible: presence.networkProblems;"><div class="uc-network_problems_content"><div class="uc-network_problems_icon"><uc-icon name="sad"></uc-icon></div><div class="uc-network_problems_text">Network error</div></div><div class="uc-network_problems_footer"><uc-btn-ui theme="primary" text="Retry" set="onclick: *on.retryNetwork"></uc-btn-ui></div></uc-presence-toggle><div class="uc-viewport"><div class="uc-file_type_outer"><div class="uc-file_type">{{fileType}}</div></div><div class="uc-image_container" ref="img-container-el"><img src="${pe}" class="uc-image uc-image_visible_from_editor" ref="img-el" /><uc-editor-image-cropper ref="cropper-el"></uc-editor-image-cropper><uc-editor-image-fader ref="fader-el"></uc-editor-image-fader></div><div class="uc-info_pan">{{msg}}</div></div><div class="uc-toolbar"><uc-line-loader-ui set="active: showLoader"></uc-line-loader-ui><div class="uc-toolbar_content uc-toolbar_content__editor"><uc-editor-toolbar></uc-editor-toolbar></div></div></div>`;var he=class extends b{static{s(this,"CloudImageEditorBlock")}ctxOwner=!0;static styleAttrs=["uc-cloud-image-editor"];_debouncedShowLoader=L(this._showLoader.bind(this),300);constructor(){super(),this.init$={...this.init$,...Us(this)}}_showLoader(e){this.$.showLoader=e}_waitForSize(){return new Promise((t,r)=>{let o=window.setTimeout(()=>{r(new Error("[cloud-image-editor] timeout waiting for non-zero container size"))},3e3),n=new ResizeObserver(a=>{let[l]=a;l&&l.contentRect.width>0&&l.contentRect.height>0&&(window.clearTimeout(o),n.disconnect(),window.setTimeout(()=>t(),0))});n.observe(this)})}initCallback(){super.initCallback(),this.$["*faderEl"]=this.ref["fader-el"],this.$["*cropperEl"]=this.ref["cropper-el"],this.$["*imgContainerEl"]=this.ref["img-container-el"],this.initEditor()}async updateImage(){if(this.isConnected){if(await this._waitForSize(),this.$.cdnUrl){let e=this.$.cdnUrl,t=li(e),r=Se(e,t);if(r===this.$["*originalUrl"])return;this.$["*originalUrl"]=r;let o=lr(e),n=cr(o);this.$["*editorTransformations"]=n}else if(this.$.uuid){let e=Se(this.cfg.cdnCname,this.$.uuid);if(e===this.$["*originalUrl"])return;this.$["*originalUrl"]=e,this.$["*editorTransformations"]={}}else throw new Error("No UUID nor CDN URL provided");this.$["*tabId"]===R.CROP?this.$["*cropperEl"]?.deactivate({reset:!0}):this.$["*faderEl"]?.deactivate();try{let e=this.$["*originalUrl"],t=await this.proxyUrl(D(e,j("json"))),r=await fetch(t).then(a=>a.json()),{width:o,height:n}=r;this.$["*imageSize"]={width:o,height:n},this.$["*tabId"]===R.CROP?this.$["*cropperEl"]?.activate(this.$["*imageSize"]):this.$["*faderEl"]?.activate({url:e})}catch(e){e&&(this.telemetryManager.sendEventError(e,"cloud editor image. Failed to load image info"),console.error("Failed to load image info",e))}}}async initEditor(){try{await this._waitForSize()}catch(e){this.isConnected&&console.error(e.message);return}this.ref["img-el"].addEventListener("load",()=>{this._debouncedShowLoader(!1),this.$.src!==pe&&(this.$["*networkProblems"]=!1)}),this.ref["img-el"].addEventListener("error",()=>{this._debouncedShowLoader(!1),this.$["*networkProblems"]=!0}),this.sub("src",e=>{let t=this.ref["img-el"];t.src!==e&&(t.src=e||pe)}),this.sub("tabs",e=>{this.$["*tabList"]=Ps(e)}),this.sub("*tabId",e=>{this.ref["img-el"].className=B("uc-image",{"uc-image_hidden_to_cropper":e===R.CROP,"uc-image_hidden_effects":e!==R.CROP})}),this.classList.add("uc-editor_ON"),this.sub("*networkProblems",e=>{this.$["presence.networkProblems"]=e,this.$["presence.modalCaption"]=!e}),this.sub("*editorTransformations",e=>{if(Object.keys(e).length===0)return;let t=this.$["*originalUrl"],r=j(Ie(e),"preview"),o=D(t,r),n={originalUrl:t,cdnUrlModifiers:r,cdnUrl:o,transformations:e};this.dispatchEvent(new CustomEvent("change",{detail:n,bubbles:!0,composed:!0}))},!1),this.sub("uuid",e=>e&&this.updateImage()),this.sub("cdnUrl",e=>e&&this.updateImage()),this.sub("cropPreset",e=>{let t=xi(e),r=null;if(this.$.cdnUrl){let o=lr(this.$.cdnUrl),n=cr(o);if(Array.isArray(n?.crop?.dimensions)){let[a,l]=n.crop.dimensions;r=hs(a,l,t,.1)}}this.$["*cropPresetList"]=t,this.$["*currentAspectRatio"]=r??t?.[0]??null})}};he.template=Ds;he.bindAttributes({uuid:"uuid","cdn-url":"cdnUrl","crop-preset":"cropPreset",tabs:"tabs"});var Rt=class extends b{static{s(this,"CropFrame")}_handlePointerUp;_handlePointerMove;_handleSvgPointerMove;_backdropMaskId=`backdrop-mask-${oe.generate()}`;_backdropMask;_backdropMaskInner;_frameThumbs;_frameGuides;_draggingThumb;_hoverThumb;_dragStartPoint;_dragStartCrop;_frameImage;_guidesHidden=!1;constructor(){super(),this.init$={...this.init$,dragging:!1},this._handlePointerUp=this._handlePointerUp_.bind(this),this._handlePointerMove=this._handlePointerMove_.bind(this),this._handleSvgPointerMove=this._handleSvgPointerMove_.bind(this)}_shouldThumbBeDisabled(e){let t=this.$["*imageBox"];if(!t)return!1;if(e===""&&t.height<=_&&t.width<=_)return!0;let r=t.height<=_&&(e.includes("n")||e.includes("s")),o=t.width<=_&&(e.includes("e")||e.includes("w"));return r||o}_createBackdrop(){let e=this.$["*cropBox"];if(!e)return;let{x:t,y:r,width:o,height:n}=e,a=this.ref["svg-el"],l=G("mask",{id:this._backdropMaskId}),c=G("rect",{x:0,y:0,width:"100%",height:"100%",fill:"white"}),d=G("rect",{x:t,y:r,width:o,height:n,fill:"black"});l.appendChild(c),l.appendChild(d);let u=G("rect",{x:0,y:0,width:"100%",height:"100%",fill:"var(--color-image-background)","fill-opacity":.85,mask:`url(#${this._backdropMaskId})`});a.appendChild(u),a.appendChild(l),this._backdropMask=l,this._backdropMaskInner=d}_resizeBackdrop(){this._backdropMask&&(this._backdropMask.style.display="none",window.requestAnimationFrame(()=>{this._backdropMask&&(this._backdropMask.style.display="block")}))}_updateBackdrop(){let e=this.$["*cropBox"];if(!e)return;let{x:t,y:r,width:o,height:n}=e;this._backdropMaskInner&&Re(this._backdropMaskInner,{x:t,y:r,width:o,height:n})}_updateFrame(){let e=this.$["*cropBox"];if(!(!e||!this._frameGuides||!this._frameThumbs)){for(let t of Object.values(this._frameThumbs)){if(!t)continue;let{direction:r,pathNode:o,interactionNode:n,groupNode:a}=t,l=r==="",c=r.length===2,{x:d,y:u,width:p,height:h}=e;if(l)Re(n,{x:d,y:u,width:p,height:h});else{let m=Pe(Math.min(p,h)/82/2,0,1),v=c?os(e,r,m):ss(e,r,m),y=v.center;if(!y)continue;let S=Math.max(Ur*Pe(Math.min(p,h)/Ur/3,0,1),rs);Re(n,{x:y[0]-S,y:y[1]-S,width:S*2,height:S*2}),Re(o,{d:v.d})}let f=this._shouldThumbBeDisabled(r);a.setAttribute("class",B("uc-thumb",{"uc-thumb--hidden":f,"uc-thumb--visible":!f}))}Re(this._frameGuides,{x:e.x-1*.5,y:e.y-1*.5,width:e.width+1,height:e.height+1})}}_createThumb(e,t){let r=G("g");r.classList.add("uc-thumb"),r.setAttribute("with-effects","");let o=G("rect",{fill:"transparent"}),n=G("path",{stroke:"currentColor",fill:"none","stroke-width":3});r.appendChild(n),r.appendChild(o),e[t]={direction:t,pathNode:n,interactionNode:o,groupNode:r},t===""&&(r.style.cursor="move"),o.addEventListener("pointerdown",this._handlePointerDown.bind(this,t))}_createThumbs(){let e={};for(let t=0;t<3;t++)for(let r=0;r<3;r++){let o=`${["n","","s"][t]}${["w","","e"][r]}`;o!==""&&this._createThumb(e,o)}return this._createThumb(e,""),e}_createGuides(){let e=G("svg"),t=G("rect",{x:0,y:0,width:"100%",height:"100%",fill:"none",stroke:"currentColor","stroke-width":1,"stroke-opacity":.5});e.appendChild(t);for(let r=1;r<=2;r++){let o=G("line",{x1:`${St*r}%`,y1:"0%",x2:`${St*r}%`,y2:"100%",stroke:"currentColor","stroke-width":1,"stroke-opacity":.3});e.appendChild(o)}for(let r=1;r<=2;r++){let o=G("line",{x1:"0%",y1:`${St*r}%`,x2:"100%",y2:`${St*r}%`,stroke:"currentColor","stroke-width":1,"stroke-opacity":.3});e.appendChild(o)}return e.classList.add("uc-guides","uc-guides--semi-hidden"),e}_createFrame(){let e=this.ref["svg-el"],t=document.createDocumentFragment(),r=this._createGuides();t.appendChild(r);let o=this._createThumbs();for(let{groupNode:n}of Object.values(o))t.appendChild(n);e.appendChild(t),this._frameThumbs=o,this._frameGuides=r}_handlePointerDown(e,t){if(!this._frameThumbs)return;let r=this._frameThumbs[e];if(!r||this._shouldThumbBeDisabled(e))return;let o=this.$["*cropBox"],n=this.ref["svg-el"],{x:a,y:l}=n.getBoundingClientRect(),c=t.x-a,d=t.y-l;this.$.dragging=!0,this._draggingThumb=r,this._dragStartPoint=[c,d],this._dragStartCrop={...o}}_handlePointerUp_(e){this._updateCursor(),this.$.dragging&&(e.stopPropagation(),e.preventDefault(),this.$.dragging=!1)}_handlePointerMove_(e){if(!this.$.dragging||!this._dragStartPoint||!this._draggingThumb)return;e.stopPropagation(),e.preventDefault();let t=this.ref["svg-el"],{x:r,y:o}=t.getBoundingClientRect(),n=e.x-r,a=e.y-o,l=n-this._dragStartPoint[0],c=a-this._dragStartPoint[1],{direction:d}=this._draggingThumb,u=this._calcCropBox(d,[l,c]);u&&(this.$["*cropBox"]=u)}_calcCropBox(e,t){let[r,o]=t,n=this.$["*imageBox"],a=this._dragStartCrop??this.$["*cropBox"],l=this.$["*currentAspectRatio"],c=l?l.width/l.height:void 0;if(e===""?a=as({rect:a,delta:[r,o],imageBox:n}):a=ls({rect:a,delta:[r,o],direction:e,aspectRatio:c,imageBox:n}),!Object.values(a).every(d=>Number.isFinite(d)&&d>=0)){console.error("CropFrame is trying to create invalid rectangle",{payload:a});return}return Ye(Je(a),n)}_handleSvgPointerMove_(e){if(!this._frameThumbs)return;let t=Object.values(this._frameThumbs).find(r=>{if(!r||this._shouldThumbBeDisabled(r.direction))return!1;let n=r.interactionNode.getBoundingClientRect(),a={x:n.x,y:n.y,width:n.width,height:n.height};return cs(a,[e.x,e.y])});this._hoverThumb=t,this._updateCursor()}_updateCursor(){let e=this._hoverThumb,t=this.ref["svg-el"];t.style.cursor=e?ns(e.direction):"initial"}_createMask(e){if(this._frameImage){this._frameImage.setAttribute("href",e);return}let t=this.ref["svg-el"],r=document.createDocumentFragment(),o=G("image",{href:e});o.setAttribute("class","uc-cloud-mask"),r.appendChild(o),t.appendChild(r),this._frameImage=o}_updateMask(){let e=this.$["*cropBox"];if(!e||!this._frameImage)return;let{x:t,y:r,width:o,height:n}=e;Re(this._frameImage,{x:t,y:r,height:n,width:o})}_render(){this._updateBackdrop(),this._updateFrame(),this._updateMask()}toggleThumbs(e){if(this._frameThumbs)for(let t of Object.values(this._frameThumbs)){if(!t)continue;let{groupNode:r}=t;r.setAttribute("class",B("uc-thumb",{"uc-thumb--hidden":!e,"uc-thumb--visible":e}))}}initCallback(){super.initCallback(),this._createBackdrop(),this._createFrame(),this.sub("*imageBox",()=>{this._resizeBackdrop(),window.requestAnimationFrame(()=>{this._render()})}),this.sub("*cropBox",t=>{t&&(this._guidesHidden=t.height<=_||t.width<=_,window.requestAnimationFrame(()=>{this._render()}))}),this.subConfigValue("cloudImageEditorMaskHref",t=>{t&&this._createMask(t)}),this.sub("dragging",t=>{this._frameGuides&&this._frameGuides.setAttribute("class",B({"uc-guides--hidden":this._guidesHidden,"uc-guides--visible":!this._guidesHidden&&t,"uc-guides--semi-hidden":!this._guidesHidden&&!t}))}),this.ref["svg-el"].addEventListener("pointermove",this._handleSvgPointerMove,!0),document.addEventListener("pointermove",this._handlePointerMove,!0),document.addEventListener("pointerup",this._handlePointerUp,!0)}destroyCallback(){super.destroyCallback(),this.ref["svg-el"].removeEventListener("pointermove",this._handleSvgPointerMove,!0),document.removeEventListener("pointermove",this._handlePointerMove),document.removeEventListener("pointerup",this._handlePointerUp)}};Rt.template='<svg class="uc-svg" ref="svg-el" xmlns="http://www.w3.org/2000/svg"></svg>';var ie=class extends b{static{s(this,"EditorButtonControl")}_titleEl;constructor(){super(),this.init$={...this.init$,active:!1,title:"",icon:"","on.click":null,"title-prop":""}}initCallback(){super.initCallback(),this._titleEl=this.ref["title-el"],this.sub("title",e=>{let t=this._titleEl;t&&(t.style.display=e?"block":"none")}),this.sub("active",e=>{this.className=B({"uc-active":e,"uc-not_active":!e})}),this.sub("on.click",e=>{this.onclick=e??null})}};ie.template=`<button role="option" type="button" set="@aria-label:title-prop;" l10n="@title:title-prop;"><uc-icon ref="icon-el" set="@name: icon;"></uc-icon><div class="uc-title" ref="title-el">{{title}}</div></button>`;var Ui=12,Fs=16,Dl=s(i=>{let e=12,t=12;return i.width/i.height>=1?(e=Ui,t=Math.round(Ui*i.height/i.width)):(t=Ui,e=Math.round(Ui*i.width/i.height)),{width:e,height:t}},"getAdjustResolutions"),ze=class extends ie{static{s(this,"EditorFreeformButtonControl")}initCallback(){super.initCallback(),this.$.icon="arrow-dropdown",this.$["on.click"]=this.handleClick.bind(this),this.sub("*currentAspectRatio",e=>{this.$.title=e.hasFreeform?this.l10n("freeform-crop"):this.l10n("crop-to-shape",{value:`${e.width}:${e.height}`}),this.bindL10n("title-prop",()=>this.$.title)})}handleClick(){this.$["*showListAspectRatio"]=!0}};ze.template=`<button role="option" type="button" set="@aria-label:title-prop;" l10n="@title:title-prop;"><div class="uc-title" ref="title-el">{{title}}</div><uc-icon ref="icon-el" set="@name: icon;"></uc-icon></button>`;var tt=class extends ie{static{s(this,"EditorAspectRatioButtonControl")}constructor(){super(),this.init$={...this.init$,active:!1,once:!1}}initCallback(){super.initCallback(),this.defineAccessor("aspectRatio",e=>{if(!e)return;let t=!!e.hasFreeform;this.$.title=t?this.l10n("custom"):`${e.width}:${e.height}`,t||this._renderRectBasedOnAspectRatio(e),t&&this.setAttribute("uc-aspect-ratio-freeform",""),this._aspectRatio=e,this.bindL10n("title-prop",()=>this.l10n("a11y-cloud-editor-apply-aspect-ratio",{name:t?this.l10n("custom").toLowerCase():this.l10n("crop-to-shape",{value:`${e.width}:${e.height}`}).toLowerCase(),value:""}))}),this.sub("*currentAspectRatio",e=>{this.$.active=e&&e.id===this._aspectRatio?.id||e?.width===this._aspectRatio?.width&&e?.height===this._aspectRatio?.height}),this.$["on.click"]=this.handleClick.bind(this)}handleClick(){this.$["*currentAspectRatio"]?.id!==this._aspectRatio?.id&&(this.$["*currentAspectRatio"]=this._aspectRatio)}_renderRectBasedOnAspectRatio(e){let{width:t,height:r}=Dl(e),o=G("rect",{"stroke-linejoin":"round",fill:"none",stroke:"currentColor","stroke-width":1.2,"fill-rule":"evenodd",x:(Fs-t)/2,y:(Fs-r)/2,rx:2,width:t,height:r}),n=this.ref["icon-el"]?.ref?.svg;n&&(n.innerHTML="",n.appendChild(o))}_aspectRatio};function Fl(i){let e=i+90;return e=e>=360?0:e,e}s(Fl,"nextAngle");function Vl(i,e){if(i==="rotate")return Fl(typeof e=="number"?e:0);if(i==="mirror"||i==="flip")return!e;throw new Error(`Unsupported operation: ${i}`)}s(Vl,"nextValue");var it=class extends ie{static{s(this,"EditorCropButtonControl")}_operation=void 0;initCallback(){super.initCallback(),this.defineAccessor("operation",e=>{e&&(this._operation=e,this.$.icon=e,this.bindL10n("title-prop",()=>this.l10n("a11y-cloud-editor-apply-crop",{name:this.l10n(e).toLowerCase()})))}),this.$["on.click"]=e=>{if(!this._operation)return;let t=this.$["*cropperEl"],r=t.getValue(this._operation),o=Vl(this._operation,r);this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{operation:this._operation,next:o,prev:r}),t.setValue(this._operation,o)}}};function He(i){let e=new Image;return{promise:new Promise((o,n)=>{e.src=i,e.onload=()=>o(),e.onerror=a=>n(a)}),image:e,cancel:s(()=>{e.naturalWidth===0&&(e.src=pe)},"cancel")}}s(He,"preloadImage");function Pt(i){let e=[];for(let n of i){let a=He(n);e.push(a)}let t=e.map(n=>n.image);return{promise:Promise.allSettled(e.map(n=>n.promise)),images:t,cancel:s(()=>{e.forEach(n=>{n.cancel()})},"cancel")}}s(Pt,"batchPreloadImages");var me="original",Ut=class extends b{static{s(this,"EditorSlider")}_operation="filter";_filter;_originalUrl="";constructor(){super(),this.init$={...this.init$,disabled:!1,min:0,max:100,value:0,defaultValue:0,zero:0,"on.input":s(e=>{this.$["*faderEl"]?.set(e),this.$.value=e},"on.input")}}setOperation(e,t){this._operation=e,this._filter=t,this._initializeValues();let r=this.$["*faderEl"],o=this._originalUrl||this.$["*originalUrl"];r&&o&&r.activate({url:o,operation:this._operation,value:this._filter===me?void 0:this.$.value,filter:this._filter===me?void 0:this._filter,fromViewer:!1})}_initializeValues(){let e=this._operation,{range:t,zero:r}=se[e],[o,n]=t;this.$.min=o,this.$.max=n,this.$.zero=r;let l=this.$["*editorTransformations"][e];if(e==="filter"){let d=Number(n),u=l;if(u){let{name:p,amount:h}=u;d=p===this._filter?h:n}this.$.value=d,this.$.defaultValue=d;return}let c=typeof l<"u"?l:r;this.$.value=c,this.$.defaultValue=c}apply(){let t={...this.$["*editorTransformations"]};this._operation==="filter"?!this._filter||this._filter===me?delete t.filter:t.filter={name:this._filter,amount:this.$.value}:t[this._operation]=this.$.value,this.$["*editorTransformations"]=t}cancel(){this.$["*faderEl"]?.deactivate({hide:!1})}initCallback(){super.initCallback(),this.sub("*originalUrl",e=>{this._originalUrl=e}),this.sub("value",e=>{let t=`${this._filter??this._operation} ${e}`;this.$["*operationTooltip"]=t})}};Ut.template=`<uc-slider-ui ref="slider-el" set="disabled: disabled; min: min; max: max; defaultValue: defaultValue; zero: zero; onInput: on.input;" ></uc-slider-ui>`;function rt(i){let e=i.match(/^([A-Za-z]+)\s+(\d+)$/);if(!e)return null;let[,t,r]=e;return!t||typeof r>"u"?null:{filter:t,value:Number(r)}}s(rt,"parseFilterValue");var je=class extends ie{static{s(this,"EditorFilterControl")}_operation="";_filter="";_originalUrl="";_observer;_cancelPreload;constructor(){super(),this.init$={...this.init$,active:!1,title:"",icon:"",isOriginal:!1,iconSize:"20","on.click":null}}_previewSrc(){let e=parseInt(window.getComputedStyle(this).getPropertyValue("--l-base-min-width"),10),t=window.devicePixelRatio,r=Math.ceil(t*e),o=t>=2?"lightest":"normal",n=100,a={...this.$["*editorTransformations"]};return a[this._operation]=this._filter!==me?{name:this._filter,amount:n}:void 0,D(this._originalUrl,j(ci,Ie(a),`quality/${o}`,`scale_crop/${r}x${r}/center`))}async _observerCallback(e,t){if(e[0]?.isIntersecting){let o=await this.proxyUrl(this._previewSrc()),n=this.ref["preview-el"],{promise:a,cancel:l}=He(o);this._cancelPreload=l,a.catch(c=>{this.$["*networkProblems"]=!0,console.error("Failed to load image",{error:c})}).finally(()=>{n.style.backgroundImage=`url(${o})`,n.setAttribute("loaded",""),t.unobserve(this)})}else this._cancelPreload?.()}initCallback(){super.initCallback(),this.$["on.click"]=t=>{if(this.$.active)this.$.isOriginal||(this.$["*sliderEl"].setOperation(this._operation,this._filter),this.$["*showSlider"]=!0);else{let r=this.$["*sliderEl"];r.setOperation(this._operation,this._filter),r.apply()}this.telemetryManager.sendEventCloudImageEditor(t,this.$["*tabId"],{operation:rt(this.$["*operationTooltip"])}),this.$["*currentFilter"]=this._filter},this.defineAccessor("filter",t=>{this._operation="filter",this._filter=t,this.$.isOriginal=t===me,this.$.icon=this.$.isOriginal?"original":"slider",this.bindL10n("title-prop",()=>this.l10n("a11y-cloud-editor-apply-filter",{name:t.toLowerCase()}))}),this._observer=new window.IntersectionObserver(this._observerCallback.bind(this),{threshold:[0,1]});let e=this.$["*originalUrl"];this._originalUrl=e,this.$.isOriginal?this.ref["icon-el"].classList.add("uc-original-icon"):this._observer.observe(this),this.sub("*currentFilter",t=>{this.$.active=t&&t===this._filter}),this.sub("isOriginal",t=>{this.$.iconSize=t?40:20}),this.sub("active",t=>{if(this.$.isOriginal)return;let r=this.ref["icon-el"];r.style.opacity=t?"1":"0";let o=this.ref["preview-el"];t?o.style.opacity="0":o.style.backgroundImage&&(o.style.opacity="1")}),this.sub("*networkProblems",async t=>{if(!t){let r=await this.proxyUrl(this._previewSrc()),o=this.ref["preview-el"];o.style.backgroundImage&&(o.style.backgroundImage="none",o.style.backgroundImage=`url(${r})`)}})}destroyCallback(){super.destroyCallback(),this._observer?.disconnect(),this._cancelPreload?.()}};je.template=`<button type="button" role="option" l10n="@title:title-prop;@aria-label:title-prop"><div class="uc-preview" ref="preview-el"></div><uc-icon ref="icon-el" set="@name: icon; @size: iconSize;"></uc-icon></button>`;var ot=s((i,e)=>{let t=!1,r,o=0,n=s(((...a)=>{t?(r&&clearTimeout(r),r=setTimeout(()=>{Date.now()-o>=e&&(i(...a),o=Date.now())},Math.max(e-(Date.now()-o),0))):(i(...a),o=Date.now(),t=!0)}),"throttled");return Object.defineProperty(n,"cancel",{configurable:!1,writable:!1,enumerable:!1,value:s(()=>{r&&clearTimeout(r)},"value")}),n},"throttle");function Vs(i,e){let t={};for(let r of e){let o=i[r];(Object.hasOwn(i,r)||o!==void 0)&&(t[r]=o)}return t}s(Vs,"pick");function st(i,e,t){let o=window.devicePixelRatio,n=Math.min(Math.ceil(e*o),3e3),a=o>=2?"lightest":"normal";return D(i,j(ci,Ie(t),`quality/${a}`,`stretch/off/-/resize/${n}x`,`@clib/${Te}/${xe}/uc-cloud-image-editor/`))}s(st,"viewerImageSrc");function Nl(i){return i?[({dimensions:t,coords:r})=>[...t,...r].every(o=>Number.isInteger(o)&&Number.isFinite(o)),({dimensions:t,coords:r})=>t.every(o=>o>0)&&r.every(o=>o>=0)].every(t=>t(i)):!0}s(Nl,"validateCrop");var $t=class extends b{static{s(this,"EditorImageCropper")}ctxOwner=!0;_commitDebounced;_handleResizeThrottled;_imageSize={width:0,height:0};_canvas;_ctx=null;_isActive=!1;_observer;_cancelPreload;constructor(){super(),this.init$={...this.init$,image:null,"*padding":20,"*operations":{rotate:0,mirror:!1,flip:!1},"*imageBox":{x:0,y:0,width:0,height:0},"*cropBox":{x:0,y:0,width:0,height:0}},this._commitDebounced=L(this._commit.bind(this),300),this._handleResizeThrottled=ot(this._handleResize.bind(this),100)}_handleResize(){!this.isConnected||!this._isActive||(this._initCanvas(),this._syncTransformations(),this._alignImage(),this._alignCrop(),this._draw())}_syncTransformations(){let e=this.$["*editorTransformations"],t=Vs(e,Object.keys(this.$["*operations"])),r={...this.$["*operations"],...t};this.$["*operations"]=r}_initCanvas(){let e=this.ref["canvas-el"],t=e.getContext("2d"),r=this.offsetWidth,o=this.offsetHeight,n=window.devicePixelRatio;e.style.width=`${r}px`,e.style.height=`${o}px`,e.width=r*n,e.height=o*n,t?.scale(n,n),this._canvas=e,this._ctx=t}_alignImage(){if(!this._isActive||!this.$.image)return;let e=this.$.image,t=this.$["*padding"],r=this.$["*operations"],{rotate:o}=r,n={width:this.offsetWidth,height:this.offsetHeight},a=Qe({width:e.naturalWidth,height:e.naturalHeight},o),l;if(a.width>n.width-t*2||a.height>n.height-t*2){let c=a.width/a.height,d=n.width/n.height;if(c>d){let u=n.width-t*2,p=u/c,h=0+t,f=t+(n.height-t*2)/2-p/2;l={x:h,y:f,width:u,height:p}}else{let u=n.height-t*2,p=u*c,h=t+(n.width-t*2)/2-p/2,f=0+t;l={x:h,y:f,width:p,height:u}}}else{let{width:c,height:d}=a,u=t+(n.width-t*2)/2-c/2,p=t+(n.height-t*2)/2-d/2;l={x:u,y:p,width:c,height:d}}this.$["*imageBox"]=Je(l)}_alignCrop(){let e=this.$["*cropBox"],t=this.$["*imageBox"],r=this.$["*operations"],{rotate:o}=r,n=this.$["*editorTransformations"].crop,{width:a,x:l,y:c}=t;if(n){let{dimensions:[p,h],coords:[f,m]}=n,{width:v}=Qe(this._imageSize,o),y=a/v;e=Ye(Je({x:l+f*y,y:c+m*y,width:p*y,height:h*y}),t)}let d=this.$["*currentAspectRatio"],u=d?d.width/d.height:void 0;if(!ds(e,t)||u&&!us(e,u)){let p=t.width/t.height,h=t.width,f=t.height;u&&(p>u?h=Math.min(t.height*u,t.width):f=Math.min(t.width/u,t.height)),e={x:t.x+t.width/2-h/2,y:t.y+t.height/2-f/2,width:h,height:f}}this.$["*cropBox"]=Ye(Je(e),t)}_drawImage(){let e=this._ctx;if(!e)return;let t=this.$.image,r=this.$["*imageBox"],o=this.$["*operations"],{mirror:n,flip:a,rotate:l}=o,c=Qe({width:r.width,height:r.height},l);e.save(),e.translate(r.x+r.width/2,r.y+r.height/2),e.rotate(l*Math.PI*-1/180),e.scale(n?-1:1,a?-1:1),e.drawImage(t,-c.width/2,-c.height/2,c.width,c.height),e.restore()}_draw(){if(!this._isActive||!this.$.image||!this._canvas||!this._ctx)return;let e=this._canvas;this._ctx.clearRect(0,0,e.width,e.height),this._drawImage()}_animateIn({fromViewer:e}){this.$.image&&(this.ref["frame-el"].toggleThumbs(!0),this._transitionToImage(),setTimeout(()=>{this.className=B({"uc-active_from_viewer":e,"uc-active_from_editor":!e,"uc-inactive_to_editor":!1})}))}_getCropDimensions(){let e=this.$["*cropBox"],t=this.$["*imageBox"],r=this.$["*operations"],{rotate:o}=r,{width:n,height:a}=t,{width:l,height:c}=Qe(this._imageSize,o),{width:d,height:u}=e,p=n/l,h=a/c;return[Pe(Math.round(d/p),1,l),Pe(Math.round(u/h),1,c)]}_getCropTransformation(){let e=this.$["*cropBox"],t=this.$["*imageBox"],r=this.$["*operations"],{rotate:o}=r,{width:n,height:a,x:l,y:c}=t,{width:d,height:u}=Qe(this._imageSize,o),{x:p,y:h}=e,f=n/d,m=a/u,v=this._getCropDimensions(),y={dimensions:v,coords:[Pe(Math.round((p-l)/f),0,d-v[0]),Pe(Math.round((h-c)/m),0,u-v[1])]};if(!Nl(y)){console.error("Cropper is trying to create invalid crop object",{payload:y});return}if(!(v[0]===d&&v[1]===u))return y}_commit(){if(!this.isConnected||!this._imageSize)return;let e=this.$["*operations"],{rotate:t,mirror:r,flip:o}=e,n=this._getCropTransformation(),l={...this.$["*editorTransformations"],crop:n,rotate:t,mirror:r,flip:o};this.$["*editorTransformations"]=l}setValue(e,t){this.$["*operations"]={...this.$["*operations"],[e]:t},this._isActive&&(this._alignImage(),this._alignCrop(),this._draw())}getValue(e){return this.$["*operations"][e]}async activate(e,{fromViewer:t}={}){if(!this._isActive){this._isActive=!0,this._imageSize=e,this.removeEventListener("transitionend",this._reset);try{let r=this.$["*originalUrl"],o=this.$["*editorTransformations"];this.$.image=await this._waitForImage(r,o),this._syncTransformations(),this._animateIn({fromViewer:t})}catch(r){console.error("Failed to activate cropper",{error:r}),this.telemetryManager.sendEventError(r,"cloud editor image. Failed to activate cropper")}this._observer=new ResizeObserver(r=>{let[o]=r;if(!o)return;o.contentRect.width>0&&o.contentRect.height>0&&this._isActive&&this.$.image&&this._handleResizeThrottled()}),this._observer.observe(this)}}deactivate({reset:e=!1}={}){this._isActive&&(!e&&this._commit(),this._isActive=!1,this._transitionToCrop(),this.className=B({"uc-active_from_viewer":!1,"uc-active_from_editor":!1,"uc-inactive_to_editor":!0}),this.ref["frame-el"].toggleThumbs(!1),this.addEventListener("transitionend",this._reset,{once:!0}),this._observer?.disconnect())}_transitionToCrop(){let e=this._getCropDimensions(),t=this.$["*cropBox"],r=Math.min(this.offsetWidth,e[0])/t.width,o=Math.min(this.offsetHeight,e[1])/t.height,n=Math.min(r,o),a=t.x+t.width/2,l=t.y+t.height/2;this.style.transform=`scale(${n}) translate(${(this.offsetWidth/2-a)/n}px, ${(this.offsetHeight/2-l)/n}px)`,this.style.transformOrigin=`${a}px ${l}px`}_transitionToImage(){let e=this.$["*cropBox"],t=e.x+e.width/2,r=e.y+e.height/2;this.style.transform="scale(1)",this.style.transformOrigin=`${t}px ${r}px`}_reset(){this._isActive||(this.$.image=null)}async _waitForImage(e,t){let r=this.offsetWidth;t={...t,crop:void 0,rotate:void 0,flip:void 0,mirror:void 0};let o=await this.proxyUrl(st(e,r,t)),{promise:n,cancel:a,image:l}=He(o),c=this._handleImageLoading(o);return l.addEventListener("load",c,{once:!0}),l.addEventListener("error",c,{once:!0}),this._cancelPreload?.(),this._cancelPreload=a,n.then(()=>l).catch(d=>(console.error("Failed to load image",{error:d}),this.$["*networkProblems"]=!0,l))}_handleImageLoading(e){let t="crop",r=this.$["*loadingOperations"],o=r.get(t);return o||(o=new Map,r.set(t,o)),o.get(e)||(o.set(e,!0),this.$["*loadingOperations"]=r),()=>{let n=r.get(t);n?.has(e)&&(n.delete(e),this.$["*loadingOperations"]=r)}}initCallback(){super.initCallback(),this.sub("*imageBox",()=>{this._draw()}),this.sub("*cropBox",()=>{this.$.image&&this._commitDebounced()}),this.sub("*currentAspectRatio",()=>{this._alignCrop()}),setTimeout(()=>{this.sub("*networkProblems",e=>{e||this._isActive&&this.activate(this._imageSize,{fromViewer:!1})})},0)}destroyCallback(){super.destroyCallback(),this._observer?.disconnect()}};$t.template=`<canvas class="uc-canvas" ref="canvas-el"></canvas><uc-crop-frame ref="frame-el"></uc-crop-frame>`;function Gr(i,e,t){let r=t,o=t-1,n=new Array(r);for(let a=o;a>=0;a-=1)n[a]=Math.ceil((a*e+(o-a)*i)/o);return n}s(Gr,"linspace");function Bl(i){return typeof i=="string"&&i in se}s(Bl,"isOperationKey");function zl(i){let e=[];for(let t=0;t<i.length-1;t+=1){let r=i[t],o=i[t+1];typeof r=="number"&&typeof o=="number"&&e.push([r,o])}return e}s(zl,"splitBySections");function Hl(i,e,t){let r=zl(i).find(([a,l])=>a<=e&&e<=l);if(!r)return i.map(()=>0);let[o,n]=r;return i.map(a=>{let l=Math.abs(o-n)||1,c=Math.abs(e-o)/l;return o===a?e>t?1:1-c:n===a?e>=t?c:1:0})}s(Hl,"calculateOpacities");function jl(i,e){return i.map((t,r)=>t<e?i.length-r:r)}s(jl,"calculateZIndices");function Ns(i,e){let t=se[i].keypointsNumber,{range:r,zero:o}=se[i];return[...new Set([...Gr(r[0],o,t+1),...Gr(o,r[1],t+1),o,e])].sort((n,a)=>n-a)}s(Ns,"keypointsRange");var $i=class extends b{static{s(this,"EditorImageFader")}_isActive=!1;_hidden=!0;_operation="initial";_filter;_value;_transformations={};_keypoints=[];_container;_previewImage;_cancelLastImages;_cancelBatchPreload;_url;_fromViewer;_raf=0;_addKeypointDebounced=L(this._addKeypoint.bind(this),600);constructor(){super(),this.classList.add("uc-inactive_to_cropper")}_handleImageLoading(e){let t=this._operation,r=this.$["*loadingOperations"];r.has(t)||r.set(t,new Map);let o=r.get(t);return o&&!o.get(e)&&(o.set(e,!0),this.$["*loadingOperations"]=r),()=>{let n=r.get(t);n?.has(e)&&(n.delete(e),this.$["*loadingOperations"]=r)}}_flush(){window.cancelAnimationFrame(this._raf),this._raf=window.requestAnimationFrame(()=>{for(let e of this._keypoints){let{image:t}=e;t&&(t.style.opacity=e.opacity.toString(),t.style.zIndex=e.zIndex.toString())}})}_imageSrc({url:e=this._url,filter:t=this._filter??void 0,operation:r,value:o}={}){if(!e)throw new Error("URL is not defined");let n={...this._transformations};r&&(r==="filter"?t&&typeof o=="number"&&(n.filter={name:t,amount:o}):typeof o=="number"&&(n[r]=o));let a=this.offsetWidth;return this.proxyUrl(st(e,a,n))}async _constructKeypoint(e,t){return{src:await this._imageSrc({operation:e,value:t}),image:void 0,opacity:0,zIndex:0,value:t}}_isSame(e,t){return this._operation===e&&this._filter===t}async _addKeypoint(e,t,r){let o=s(()=>!this._isSame(e,t)||this._value!==r||!!this._keypoints.find(c=>c.value===r),"shouldSkip");if(o())return;let n=await this._constructKeypoint(e,r),a=new Image;a.src=n.src;let l=this._handleImageLoading(n.src);a.addEventListener("load",l,{once:!0}),a.addEventListener("error",l,{once:!0}),n.image=a,a.classList.add("uc-fader-image"),a.addEventListener("load",()=>{if(o())return;let c=this._keypoints,d=c.findIndex(f=>f.value>r);d===-1&&(d=c.length);let p=c[d]?.image,h=this._container;!h||p&&!h.contains(p)||(c.splice(d,0,n),p&&h.insertBefore(a,p),this._update(e,r))},{once:!0}),a.addEventListener("error",()=>{this.$["*networkProblems"]=!0},{once:!0})}set(e){let t=typeof e=="string"?parseInt(e,10):e;!Bl(this._operation)||!Number.isFinite(t)||(this._update(this._operation,t),this._addKeypointDebounced(this._operation,this._filter,t))}_update(e,t){this._operation=e,this._value=t;let{zero:r}=se[e],o=this._keypoints.map(l=>l.value),n=Hl(o,t,r),a=jl(o,r);this._keypoints.forEach((l,c)=>{let d=n[c],u=a[c];typeof d=="number"&&(l.opacity=d),typeof u=="number"&&(l.zIndex=u)}),this._flush()}_createPreviewImage(){let e=new Image;return e.classList.add("uc-fader-image","uc-fader-image--preview"),e.style.opacity="0",e}async _initNodes(){let e=document.createDocumentFragment();this._previewImage=this._previewImage||this._createPreviewImage();let t=this._previewImage;this.contains(t)||e.appendChild(t);let r=document.createElement("div");e.appendChild(r);let o=this._keypoints.map(u=>u.src),{images:n,promise:a,cancel:l}=Pt(o);n.forEach(u=>{let p=this._handleImageLoading(u.src);u.addEventListener("load",p),u.addEventListener("error",p)}),this._cancelLastImages=()=>{l(),this._cancelLastImages=void 0};let c=this._operation,d=this._filter;await a,this._isActive&&this._isSame(c,d)&&(this._container?.remove(),this._container=r,this._keypoints.forEach((u,p)=>{let h=n[p];h&&(h.classList.add("uc-fader-image"),u.image=h,this._container?.appendChild(h))}),this.appendChild(e),this._flush())}async setTransformations(e){if(this._transformations=e,this._previewImage){let t=await this._imageSrc(),r=this._handleImageLoading(t);this._previewImage.src=t,this._previewImage.addEventListener("load",r,{once:!0}),this._previewImage.addEventListener("error",r,{once:!0}),this._previewImage.style.opacity="1",this._previewImage.addEventListener("error",()=>{this.$["*networkProblems"]=!0},{once:!0})}}async preload({url:e,filter:t,operation:r,value:o}){if(!r||typeof o!="number")return;this._cancelBatchPreload?.();let n=Ns(r,o),a=await Promise.all(n.map(c=>this._imageSrc({url:e,filter:t,operation:r,value:c}))),{cancel:l}=Pt(a);this._cancelBatchPreload=l}_setOriginalSrc(e){let t=this._previewImage||this._createPreviewImage();if(this.contains(t)||this.appendChild(t),this._previewImage=t,t.src===e){t.style.opacity="1",t.style.transform="scale(1)",this.className=B({"uc-active_from_viewer":this._fromViewer,"uc-active_from_cropper":!this._fromViewer,"uc-inactive_to_cropper":!1});return}t.style.opacity="0";let r=this._handleImageLoading(e);t.addEventListener("error",r,{once:!0}),t.src=e,t.addEventListener("load",()=>{r(),t&&(t.style.opacity="1",t.style.transform="scale(1)",this.className=B({"uc-active_from_viewer":this._fromViewer,"uc-active_from_cropper":!this._fromViewer,"uc-inactive_to_cropper":!1}))},{once:!0}),t.addEventListener("error",()=>{this.$["*networkProblems"]=!0},{once:!0})}async activate({url:e,operation:t,value:r,filter:o,fromViewer:n}){if(this._isActive=!0,this._hidden=!1,this._url=e,this._operation=t??"initial",this._value=r,this._filter=o,this._fromViewer=n,typeof r!="number"&&!o){let l=await this._imageSrc({operation:t,value:r});this._setOriginalSrc(l),this._container?.remove();return}!t||typeof r!="number"||(this._keypoints=await Promise.all(Ns(t,r).map(l=>this._constructKeypoint(t,l))),this._update(t,r),this._initNodes())}deactivate({hide:e=!0}={}){this._isActive=!1,this._cancelLastImages?.(),this._cancelBatchPreload?.(),e&&!this._hidden?(this._hidden=!0,this._previewImage&&(this._previewImage.style.transform="scale(1)"),this.className=B({"uc-active_from_viewer":!1,"uc-active_from_cropper":!1,"uc-inactive_to_cropper":!0}),this.addEventListener("transitionend",()=>{this._container?.remove()},{once:!0})):this._container?.remove()}};var nt=class extends ie{static{s(this,"EditorOperationControl")}_operation="";initCallback(){super.initCallback(),this.$["on.click"]=e=>{this.$["*sliderEl"].setOperation(this._operation),this.$["*showSlider"]=!0,this.$["*currentOperation"]=this._operation,this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{operation:rt(this.$["*operationTooltip"])})},this.defineAccessor("operation",e=>{e&&(this._operation=e,this.$.icon=e,this.bindL10n("title-prop",()=>this.l10n("a11y-cloud-editor-apply-tuning",{name:this.l10n(e).toLowerCase()})),this.bindL10n("title",()=>this.l10n(e)))}),this.sub("*editorTransformations",e=>{if(!this._operation)return;let{zero:t}=se[this._operation],r=e[this._operation],o=typeof r<"u"?r!==t:!1;this.$.active=o})}};var Kl=1,Dt=class extends b{static{s(this,"EditorScroller")}initCallback(){super.initCallback(),this.addEventListener("wheel",e=>{e.preventDefault();let{deltaY:t,deltaX:r}=e;Math.abs(r)>Kl?this.scrollLeft+=r:this.scrollLeft+=t},{passive:!1}),this.addEventListener("scroll",()=>{},{passive:!0})}};Dt.template=" <slot></slot> ";function Gl(i){return`<uc-presence-toggle class="uc-tab-toggle" set="visible: presence.tabToggle.${i}; styles: presence.tabToggleStyles;" ><uc-btn-ui theme="tab" ref="tab-toggle-${i}" data-id="${i}" icon="${i}" set="onclick: on.clickTab; aria-role:tab_role; aria-controls:tab_${i}; title-prop: a11y-editor-tab-${i}" ></uc-btn-ui></uc-presence-toggle>`}s(Gl,"renderTabToggle");function Wl(i){return`<uc-presence-toggle id="tab_${i}" class="uc-tab-content" set="visible: presence.tabContent.${i}; styles: presence.tabContentStyles" ><uc-editor-scroller hidden-scrollbar><div class="uc-controls-list_align"><div role="listbox" aria-orientation="horizontal" class="uc-controls-list_inner" ref="controls-list-${i}" ></div></div></uc-editor-scroller></uc-presence-toggle>`}s(Wl,"renderTabContent");var Ft=class extends b{static{s(this,"EditorToolbar")}_debouncedShowLoader;_cancelPreload;_updateInfoTooltip;constructor(){super(),this.init$={...this.init$,"*sliderEl":null,"*listAspectRatioEl":null,"*loadingOperations":new Map,"*showSlider":!1,"*showListAspectRatio":!1,hideSliderOrList:!1,"*currentFilter":me,"*currentOperation":null,showLoader:!1,filters:Co,colorOperations:wo,cropOperations:Eo,"*operationTooltip":null,"presence.mainToolbar":!0,"presence.subToolbar":!1,"presence.tabToggles":!0,"presence.tabContent.crop":!1,"presence.tabContent.tuning":!1,"presence.tabContent.filters":!1,"presence.tabToggle.crop":!0,"presence.tabToggle.tuning":!0,"presence.tabToggle.filters":!0,"presence.subTopToolbarStyles":{hidden:"uc-sub-toolbar--top-hidden",visible:"uc-sub-toolbar--visible"},"presence.subBottomToolbarStyles":{hidden:"uc-sub-toolbar--bottom-hidden",visible:"uc-sub-toolbar--visible"},"presence.tabContentStyles":{hidden:"uc-tab-content--hidden",visible:"uc-tab-content--visible"},"presence.tabToggleStyles":{hidden:"uc-tab-toggle--hidden",visible:"uc-tab-toggle--visible"},"presence.tabTogglesStyles":{hidden:"uc-tab-toggles--hidden",visible:"uc-tab-toggles--visible"},"on.cancel":s(e=>{this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{action:"cancel"}),this._cancelPreload?.();let t=this.$["*on.cancel"];t()},"on.cancel"),"on.apply":s(e=>{this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{action:"apply"});let t=this.$["*on.apply"];t(this.$["*editorTransformations"])},"on.apply"),"on.applySlider":s(e=>{this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{action:"apply-slider",operation:rt(this.$["*operationTooltip"])}),this.ref["slider-el"].apply(),this._onSliderClose()},"on.applySlider"),"on.cancelSlider":s(e=>{this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{action:"cancel-slider"}),this.ref["slider-el"].cancel(),this._onSliderClose()},"on.cancelSlider"),"on.clickTab":s(e=>{let r=e.currentTarget?.getAttribute("data-id");r&&(this.telemetryManager.sendEventCloudImageEditor(e,r),this._activateTab(r,{fromViewer:!1}))},"on.clickTab"),tab_role:"tab",[`tab_${R.TUNING}`]:`tab_${R.TUNING}`,[`tab_${R.CROP}`]:`tab_${R.CROP}`,[`tab_${R.FILTERS}`]:`tab_${R.FILTERS}`,cancel:"cancel",apply:"apply","a11y-editor-tab-filters":"a11y-editor-tab-filters","a11y-editor-tab-tuning":"a11y-editor-tab-tuning","a11y-editor-tab-crop":"a11y-editor-tab-crop"},this._debouncedShowLoader=L(this._showLoader.bind(this),500),this._updateInfoTooltip=L(this._updateInfoTooltipHandler.bind(this),0)}_onSliderClose(){this.$["*showSlider"]=!1,this.$["*tabId"]===R.CROP&&(this.$["*showListAspectRatio"]=!1),this.$["*tabId"]===R.TUNING&&this.ref["tooltip-el"].classList.toggle("uc-info-tooltip_visible",!1)}_createOperationControl(e){let t=new nt;return t.operation=e,t}_createFilterControl(e){let t=new je;return t.filter=e,t}_createToggleControl(e){let t=new it;return t.operation=e,t}_createAspectRatioControl(e){let t=new tt;return t.aspectRatio=e,t}_createFreeformControl(){return new ze}_clearListAspectRatio(){let e=this.$["*listAspectRatioEl"];e&&(e.innerHTML="")}_renderControlsList(e){let t=this.ref[`controls-list-${e}`],r=document.createDocumentFragment();if(this._clearListAspectRatio(),e===R.CROP){let o=this.$["*cropPresetList"],n=o.length>=3;if(n){let a=this._createFreeformControl();r.appendChild(a)}for(let a of o){let l=this._createAspectRatioControl(a);r.appendChild(l),n&&this.$["*listAspectRatioEl"]?.appendChild(l)}for(let a of this.$.cropOperations){let l=this._createToggleControl(a);r.appendChild(l)}}else if(e===R.FILTERS){let o=this.$.filters;[me,...o].forEach(n=>{let a=this._createFilterControl(n);r.appendChild(a)})}else if(e===R.TUNING)for(let o of this.$.colorOperations){let n=this._createOperationControl(o);r.appendChild(n)}[...r.children].forEach((o,n)=>{n===r.childNodes.length-1&&o.classList.add("uc-controls-list_last-item")}),t.innerHTML="",t.appendChild(r)}_activateTab(e,{fromViewer:t}={}){this.$["*tabId"]=e;let r=this.$["*faderEl"],o=this.$["*cropperEl"];e===R.CROP?(r?.deactivate(),o?.activate(this.$["*imageSize"],{fromViewer:t})):(r?.activate({url:this.$["*originalUrl"],fromViewer:t}),o?.deactivate());for(let n of Z){let a=n===e,l=this.ref[`tab-toggle-${n}`];l.active=a,a?(this._renderControlsList(e),this._syncTabIndicator()):this._unmountTabControls(n),this.$[`presence.tabContent.${n}`]=a}}_unmountTabControls(e){let t=this.ref[`controls-list-${e}`];t&&(t.innerHTML="")}_syncTabIndicator(){let e=this.ref[`tab-toggle-${this.$["*tabId"]}`],t=this.ref["tabs-indicator"];t.style.transform=`translateX(${e.offsetLeft}px)`}async _preloadEditedImage(){if(this.$["*imgContainerEl"]&&this.$["*originalUrl"]){let e=this.$["*imgContainerEl"].offsetWidth,t=await this.proxyUrl(st(this.$["*originalUrl"],e,this.$["*editorTransformations"]));this._cancelPreload?.();let{cancel:r}=Pt([t]);this._cancelPreload=()=>{r(),this._cancelPreload=void 0}}}_showLoader(e){this.$.showLoader=e}_updateInfoTooltipHandler(){let e=this.$["*editorTransformations"],t=this.$["*currentOperation"],r="",o=!1;if(this.$["*tabId"]===R.FILTERS)if(o=!0,this.$["*currentFilter"]&&e?.filter?.name===this.$["*currentFilter"]){let n=e?.filter?.amount||100;r=`${this.$["*currentFilter"]} ${n}`}else r=this.l10n(me);else if(this.$["*tabId"]===R.TUNING&&t){o=!0;let n=e?.[t]||se[t].zero;r=`${this.l10n(t)} ${n}`}o&&(this.$["*operationTooltip"]=r),this.ref["tooltip-el"].classList.toggle("uc-info-tooltip_visible",o)}initCallback(){super.initCallback(),this.$["*sliderEl"]=this.ref["slider-el"],this.$["*listAspectRatioEl"]=this.ref["list-el"],this.sub("*imageSize",e=>{e&&setTimeout(()=>{this._activateTab(this.$["*tabId"],{fromViewer:!0})},0)}),this.sub("*editorTransformations",e=>{let t=e?.filter?.name;this.$["*currentFilter"]!==t&&(this.$["*currentFilter"]=t)}),this.sub("*currentFilter",()=>{this._updateInfoTooltip()}),this.sub("*currentOperation",()=>{this._updateInfoTooltip()}),this.sub("*tabId",()=>{this._updateInfoTooltip()}),this.sub("*originalUrl",()=>{this.$["*faderEl"]?.deactivate()}),this.sub("*editorTransformations",e=>{this._preloadEditedImage(),this.$["*faderEl"]?.setTransformations(e)}),this.sub("*loadingOperations",e=>{let t=!1;for(let[,r]of e.entries()){if(t)break;for(let[,o]of r.entries())if(o){t=!0;break}}this._debouncedShowLoader(t)}),this.sub("*showSlider",e=>{this.$["presence.subToolbar"]=e,this.$["presence.mainToolbar"]=!e,this.$.hideSliderOrList=!0}),this.sub("*showListAspectRatio",e=>{this.$["presence.subToolbar"]=e,this.$["presence.mainToolbar"]=!e,this.$.hideSliderOrList=!1}),this.sub("*tabList",e=>{this.$["presence.tabToggles"]=e.length>1;for(let t of Z){this.$[`presence.tabToggle.${t}`]=e.includes(t);let r=this.ref[`tab-toggle-${t}`];r.style.gridColumn=`${e.indexOf(t)+1}`}if(!e.includes(this.$["*tabId"])&&e.length>0){let[t]=e;t&&this._activateTab(t,{fromViewer:!1})}}),this._updateInfoTooltip()}destroyCallback(){this.$["*showSlider"]=!1,this.$["*showListAspectRatio"]=!1}};Ft.template=`<uc-line-loader-ui set="active: showLoader"></uc-line-loader-ui><div class="uc-info-tooltip_container"><div class="uc-info-tooltip_wrapper"><div ref="tooltip-el" class="uc-info-tooltip uc-info-tooltip_hidden">{{*operationTooltip}}</div></div></div><div class="uc-toolbar-container"><uc-presence-toggle role="tablist" class="uc-sub-toolbar" set="visible: presence.mainToolbar; styles: presence.subTopToolbarStyles" ><div class="uc-tab-content-row">${Z.map(Wl).join("")}</div><div class="uc-controls-row"><uc-presence-toggle class="uc-tab-toggles" set="visible: presence.tabToggles; styles: presence.tabTogglesStyles" ><div ref="tabs-indicator" class="uc-tab-toggles_indicator"></div> ${Z.map(Gl).join("")} </uc-presence-toggle><uc-btn-ui style="order: -1" theme="secondary-icon" icon="closeMax" set="onclick: on.cancel; title-prop:cancel"></uc-btn-ui><uc-btn-ui theme="primary-icon" icon="done" set="onclick: on.apply; title-prop:apply"></uc-btn-ui></div></uc-presence-toggle><uc-presence-toggle class="uc-sub-toolbar" set="visible: presence.subToolbar; styles: presence.subBottomToolbarStyles" ><div class="uc-slider" set="@hidden:!hideSliderOrList"><uc-editor-slider ref="slider-el"></uc-editor-slider></div><div set="@hidden:hideSliderOrList" class="uc-list-aspect-ratio-container"><div class="uc-list-aspect-ratio" ref="list-el"></div></div><div class="uc-controls-row"><uc-btn-ui theme="secondary" set="onclick: on.cancelSlider" l10n="@text:cancel"></uc-btn-ui><uc-btn-ui theme="primary" set="onclick: on.applySlider" l10n="@text:apply"></uc-btn-ui></div></uc-presence-toggle></div>`;var at=class extends b{static{s(this,"BtnUi")}_iconReversed=!1;_iconSingle=!1;_iconHidden=!1;constructor(){super(),this.init$={...this.init$,text:"",icon:"",iconCss:this._iconCss(),theme:null,"aria-role":"","aria-controls":"","title-prop":""},this.defineAccessor("active",e=>{e?this.setAttribute("active",""):this.removeAttribute("active")})}_iconCss(){return B("uc-icon",{"uc-icon_left":!this._iconReversed,"uc-icon_right":this._iconReversed,"uc-icon_hidden":this._iconHidden,"uc-icon_single":this._iconSingle})}initCallback(){super.initCallback(),this.sub("icon",e=>{this._iconSingle=!this.$.text,this._iconHidden=!e,this.$.iconCss=this._iconCss()}),this.sub("theme",e=>{e&&e!=="custom"&&(this.className=`uc-${e}`)}),this.sub("text",()=>{this._iconSingle=!1}),this.hasAttribute("theme")||this.setAttribute("theme","default"),this.defineAccessor("aria-role",e=>{this.$["aria-role"]=e||""}),this.defineAccessor("aria-controls",e=>{this.$["aria-controls"]=e||""}),this.defineAccessor("title-prop",e=>{this.$["title-prop"]=e||""})}set reverse(e){this.hasAttribute("reverse")?(this.style.flexDirection="row-reverse",this._iconReversed=!0):(this._iconReversed=!1,this.style.flexDirection="")}};at.bindAttributes({text:"text",icon:"icon",reverse:"reverse",theme:"theme"});at.template=`<button type="button" set="@role:aria-role; @aria-controls: aria-controls; @aria-label:title-prop" l10n="@title:title-prop;" ><uc-icon set="className: iconCss; @name: icon; @hidden: !icon"></uc-icon><div class="uc-text">{{text}}</div></button>`;var Vt=class extends b{static{s(this,"LineLoaderUi")}_active=!1;_handleTransitionEndRight=s(()=>{let e=this.ref["line-el"];e.style.transition="initial",e.style.opacity="0",e.style.transform="translateX(-101%)",this._active&&this._start()},"_handleTransitionEndRight");initCallback(){super.initCallback(),this.defineAccessor("active",e=>{typeof e=="boolean"&&(e?this._start():this._stop())})}_start(){this._active=!0;let{width:e}=this.getBoundingClientRect(),t=this.ref["line-el"];t.style.transition="transform 1s",t.style.opacity="1",t.style.transform=`translateX(${e}px)`,t.addEventListener("transitionend",this._handleTransitionEndRight,{once:!0})}_stop(){this._active=!1}};Vt.template=`<div class="uc-inner"><div class="uc-line" ref="line-el"></div></div>`;var lt={transition:"uc-transition",visible:"uc-visible",hidden:"uc-hidden"},Nt=class extends b{static{s(this,"PresenceToggle")}_visible=!1;_visibleStyle=lt.visible;_hiddenStyle=lt.hidden;_externalTransitions=!1;constructor(){super(),this.defineAccessor("styles",e=>{e&&(this._externalTransitions=!0,this._visibleStyle=e.visible??lt.visible,this._hiddenStyle=e.hidden??lt.hidden)}),this.defineAccessor("visible",e=>{typeof e=="boolean"&&(this._visible=e,this._handleVisible())})}_handleVisible(){this.style.visibility=this._visible?"inherit":"hidden",Rs(this,{[lt.transition]:!this._externalTransitions,[this._visibleStyle]:this._visible,[this._hiddenStyle]:!this._visible}),this.setAttribute("aria-hidden",this._visible?"false":"true")}initCallback(){super.initCallback(),this.classList.toggle("uc-initial",!0),this._externalTransitions||this.classList.add(lt.transition),this._handleVisible(),setTimeout(()=>{this.classList.toggle("uc-initial",!1)},0)}};Nt.template="<slot></slot> ";var Bt=class extends b{static{s(this,"SliderUi")}_observer;_thumbSize=0;_zero=0;_zeroDotEl;_stepsCount;constructor(){super(),this.init$={...this.init$,disabled:!1,min:0,max:100,onInput:null,onChange:null,defaultValue:0,"on.sliderInput":s(()=>{let e=Number.parseInt(this._inputEl().value,10);this._updateValue(e),this.$.onInput?.(e)},"on.sliderInput"),"on.sliderChange":s(()=>{let e=Number.parseInt(this._inputEl().value,10);this.$.onChange?.(e)},"on.sliderChange")},this.setAttribute("with-effects","")}initCallback(){super.initCallback(),this.defineAccessor("disabled",t=>{this.$.disabled=t}),this.defineAccessor("min",t=>{this.$.min=t}),this.defineAccessor("max",t=>{this.$.max=t}),this.defineAccessor("defaultValue",t=>{this.$.defaultValue=t;let r=this._inputEl();r.value=String(t),this._updateValue(t)}),this.defineAccessor("zero",t=>{this._zero=t}),this.defineAccessor("onInput",t=>{t&&(this.$.onInput=t)}),this.defineAccessor("onChange",t=>{t&&(this.$.onChange=t)}),this._updateSteps(),this._observer=new ResizeObserver(()=>{this._updateSteps();let t=Number.parseInt(this._inputEl().value,10);this._updateValue(t)}),this._observer.observe(this),this._thumbSize=Number.parseInt(window.getComputedStyle(this).getPropertyValue("--l-thumb-size"),10),setTimeout(()=>{let t=Number.parseInt(this._inputEl().value,10);this._updateValue(t)},0),this.sub("disabled",t=>{let r=this._inputEl();t?r.setAttribute("disabled","disabled"):r.removeAttribute("disabled")});let e=this._inputEl();e.addEventListener("focus",()=>{this.style.setProperty("--color-effect","var(--hover-color-rgb)")}),e.addEventListener("blur",()=>{this.style.setProperty("--color-effect","var(--idle-color-rgb)")})}_inputEl(){return this.ref["input-el"]}_thumbEl(){return this.ref["thumb-el"]}_stepsEl(){return this.ref["steps-el"]}_updateValue(e){this._updateZeroDot(e);let{width:t}=this.getBoundingClientRect(),n=100/(this.$.max-this.$.min)*(e-this.$.min)*(t-this._thumbSize)/100;window.requestAnimationFrame(()=>{this._thumbEl().style.transform=`translateX(${n}px)`})}_updateZeroDot(e){if(!this._zeroDotEl)return;this._zeroDotEl.style.opacity=e===this._zero?"0":"1";let{width:t}=this.getBoundingClientRect(),n=100/(this.$.max-this.$.min)*(this._zero-this.$.min)*(t-this._thumbSize)/100;window.requestAnimationFrame(()=>{this._zeroDotEl&&(this._zeroDotEl.style.transform=`translateX(${n}px)`)})}_updateSteps(){let t=this._stepsEl(),{width:r}=t.getBoundingClientRect(),o=Math.ceil(r/2),n=Math.ceil(o/15)-2;if(this._stepsCount===n)return;let a=document.createDocumentFragment(),l=document.createElement("div"),c=document.createElement("div");l.className="uc-minor-step",c.className="uc-border-step",a.appendChild(c);for(let u=0;u<n;u+=1)a.appendChild(l.cloneNode());a.appendChild(c.cloneNode());for(let u=0;u<n;u+=1)a.appendChild(l.cloneNode());a.appendChild(c.cloneNode());let d=document.createElement("div");d.className="uc-zero-dot",a.appendChild(d),this._zeroDotEl=d,t.innerHTML="",t.appendChild(a),this._stepsCount=n}destroyCallback(){super.destroyCallback(),this._observer?.disconnect()}};Bt.template=`<div class="uc-steps" ref="steps-el"></div><div ref="thumb-el" class="uc-thumb"></div><input class="uc-input" type="range" ref="input-el" set="oninput: on.sliderInput; onchange: on.sliderChange; @min: min; @max: max; @value: defaultValue;" />`;var Di=class extends M{static{s(this,"CloudImageEditorActivity")}couldBeCtxOwner=!0;activityType=g.activities.CLOUD_IMG_EDIT;_entry;_instance;get activityParams(){let e=super.activityParams;if("internalId"in e)return e;throw new Error("Cloud Image Editor activity params not found")}initCallback(){super.initCallback(),this.registerActivity(this.activityType,{onActivate:s(()=>this.mountEditor(),"onActivate"),onDeactivate:s(()=>this.unmountEditor(),"onDeactivate")}),this.subConfigValue("cropPreset",e=>{this._instance&&this._instance.getAttribute("crop-preset")!==e&&this._instance.setAttribute("crop-preset",e)}),this.subConfigValue("cloudImageEditorTabs",e=>{this._instance&&this._instance.getAttribute("tabs")!==e&&this._instance.setAttribute("tabs",e)})}handleApply(e){if(!this._entry)return;let t=e.detail;this._entry.setMultipleValues({cdnUrl:t.cdnUrl,cdnUrlModifiers:t.cdnUrlModifiers}),this.modalManager?.close(g.activities.CLOUD_IMG_EDIT),this.historyBack()}handleCancel(){this.modalManager?.close(g.activities.CLOUD_IMG_EDIT),this.historyBack()}mountEditor(){let{internalId:e}=this.activityParams,t=this.uploadCollection.read(e);if(!t)throw new Error(`Entry with internalId "${e}" not found`);this._entry=t;let r=this._entry.getValue("cdnUrl");if(!r)throw new Error(`Entry with internalId "${e}" hasn't uploaded yet`);let o=new he,n=this.cfg.cropPreset,a=this.cfg.cloudImageEditorTabs;o.setAttribute("ctx-name",this.ctxName),o.setAttribute("cdn-url",r),n&&o.setAttribute("crop-preset",n),a&&o.setAttribute("tabs",a),o.addEventListener("apply",l=>{let c=l;this.handleApply(c),this.debugPrint('editor event "apply"',c.detail)}),o.addEventListener("cancel",l=>{let c=l;this.handleCancel(),this.debugPrint('editor event "cancel"',c.detail)}),o.addEventListener("change",l=>{let c=l;this.debugPrint('editor event "change"',c.detail)}),this.innerHTML="",this.appendChild(o),this._instance=o}unmountEditor(){this._instance=void 0,this._entry=void 0,this.innerHTML=""}};var ct=s(i=>i.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)?.map(e=>e.toLowerCase()).join("-"),"toKebabCase");var ql=[{test:s(i=>!!i.accept&&!!i.imgOnly,"test"),message:"There could be a mistake.\nBoth `accept` and `imgOnly` parameters are set.\nThe value of `accept` will be concatenated with the internal image mime types list."},{test:s(i=>i.enableVideoRecording!==null,"test"),message:"The `enableVideoRecording` parameter is deprecated and will be removed in the next major release.\nPlease use the `cameraModes` parameter instead."},{test:s(i=>i.defaultCameraMode!==null,"test"),message:"The `defaultCameraMode` parameter is deprecated and will be removed in the next major release.\nPlease use the `cameraModes` parameter instead."}],Bs=L(i=>{for(let{test:e,message:t}of ql)e(i)&&Mi(t)},0);var zs=s((i,e)=>{let t=new URL(e);return t.hostname=`${i}.${t.hostname}`,t.toString().replace(/\/$/,"")},"o"),Xl="0123456789abcdefghijklmnopqrstuvwxyz",Hs=s(i=>{if(i<=0n)return"0";let e="";for(;i>0n;){let t=i%36n;e=Xl[Number(t)]+e,i=i/36n}return e},"a"),Wr=s((i,e)=>{try{let t=new URL(i),r=new URL(e);return t.hostname.endsWith(r.hostname)}catch{return!1}},"c");var Zl=s(async i=>{let e=new TextEncoder().encode(i),t=await window.crypto.subtle.digest("SHA-256",e),r=Array.from(new Uint8Array(t)).map(o=>o.toString(16).padStart(2,"0")).join("");return BigInt(`0x${r}`)},"c"),Yl=10,Ql=s(async i=>{let e=await Zl(i);return Hs(e).slice(0,Yl)},"d"),js=s(async(i,e)=>{let t=await Ql(i);return zs(t,e)},"f");var Ks=s(i=>i instanceof Promise||!!(i&&typeof i=="object"&&"then"in i&&typeof i.then=="function"),"isPromiseLike");var qr=s(i=>i,"defineComputedProperty"),Jl=[qr({key:"cameraModes",deps:["enableVideoRecording"],fn:s(({cameraModes:i,enableVideoRecording:e})=>{if(e===null)return i;let t=X(i);return e&&!t.includes("video")?t=t.concat("video"):e||(t=t.filter(r=>r!=="video")),ye(t)},"fn")}),qr({key:"cameraModes",deps:["defaultCameraMode"],fn:s(({cameraModes:i,defaultCameraMode:e})=>{if(e===null)return i;let t=X(i);return t=t.sort((r,o)=>r===e?-1:o===e?1:0),ye(t)},"fn")}),qr({key:"cdnCname",deps:["pubkey","cdnCnamePrefixed"],fn:s(({pubkey:i,cdnCname:e,cdnCnamePrefixed:t})=>i&&(e===Ct||Wr(e,t))?js(i,t):e,"fn")})],Gs=s(({key:i,setValue:e,getValue:t,computationControllers:r})=>{for(let o of Jl)if(o.deps.includes(i)){let n={[o.key]:t(o.key)};for(let c of o.deps)n[c]=t(c);let a=new AbortController;r.get(o.key)?.abort(),r.set(o.key,a);let l;try{l=o.fn(n,{signal:a.signal})}catch(c){r.get(o.key)===a&&r.delete(o.key),console.error(`Failed to compute value for "${o.key}"`,c);return}Ks(l)?l.then(c=>{a.signal.aborted||e(o.key,c)}).catch(c=>{a.signal.aborted||console.error(`Failed to compute value for "${o.key}"`,c)}).finally(()=>{r.get(o.key)===a&&r.delete(o.key)}):e(o.key,l)}},"computeProperty");var P=s(i=>String(i),"asString"),H=s(i=>{let e=Number(i);if(Number.isNaN(e))throw new Error(`Invalid number: "${i}"`);return e},"asNumber"),k=s(i=>{if(typeof i>"u"||i===null)return!1;if(typeof i=="boolean")return i;if(i==="true"||i==="")return!0;if(i==="false")return!1;throw new Error(`Invalid boolean: "${i}"`)},"asBoolean"),Ws=s(i=>i==="auto"?i:k(i),"asStore"),qs=s(i=>{let e=P(i);if(e!=="user"&&e!=="environment"&&e!=="")throw new Error(`Invalid value: "${e}"`);return e},"asCameraCapture"),Xs=s(i=>{let e=P(i);if(!Object.values(w).includes(e))throw new Error(`Invalid value: "${e}"`);return e},"asCameraMode"),Zs=s(i=>{let e=P(i),t=X(e);if(t.some(r=>!Object.values(w).includes(r)))throw new Error(`Invalid value: "${JSON.stringify(t)}"`);return e},"asCameraModes"),Ys=s(i=>{if(typeof i=="object"&&!Array.isArray(i)||typeof i=="function")return i;throw new Error("Invalid metadata value. Must be an object or function.")},"asMetadata"),Xr=s(i=>{if(typeof i=="object")return i;throw new Error("Invalid value. Must be an object.")},"asObject"),Fi=s(i=>{if(typeof i=="function")return i;throw new Error("Invalid value. Must be a function.")},"asFunction"),Zr=s(i=>{if(Array.isArray(i))return i;throw new Error("Must be an array.")},"asArray"),Qs=s(i=>{let e=P(i);if(["grid","list"].includes(e))return e;throw new Error(`Invalid value: "${e}"`)},"asFilesViewMode");var ec={pubkey:P,multiple:k,multipleMin:H,multipleMax:H,confirmUpload:k,imgOnly:k,accept:P,externalSourcesPreferredTypes:P,externalSourcesEmbedCss:P,store:Ws,cameraMirror:k,cameraCapture:qs,sourceList:P,topLevelOrigin:P,maxLocalFileSizeBytes:H,thumbSize:H,showEmptyList:k,useLocalImageEditor:k,useCloudImageEditor:k,cloudImageEditorTabs:P,removeCopyright:k,cropPreset:P,imageShrink:P,modalScrollLock:k,modalBackdropStrokes:k,sourceListWrap:k,remoteTabSessionKey:P,cdnCname:P,cdnCnamePrefixed:P,baseUrl:P,socialBaseUrl:P,secureSignature:P,secureExpire:P,secureDeliveryProxy:P,retryThrottledRequestMaxTimes:H,retryNetworkErrorMaxTimes:H,multipartMinFileSize:H,multipartChunkSize:H,maxConcurrentRequests:H,multipartMaxConcurrentRequests:H,multipartMaxAttempts:H,checkForUrlDuplicates:k,saveUrlForRecurrentUploads:k,groupOutput:k,userAgentIntegration:P,debug:k,localeName:P,metadata:Ys,secureUploadsExpireThreshold:H,localeDefinitionOverride:s(i=>Xr(i),"localeDefinitionOverride"),secureUploadsSignatureResolver:s(i=>Fi(i),"secureUploadsSignatureResolver"),secureDeliveryProxyUrlResolver:s(i=>Fi(i),"secureDeliveryProxyUrlResolver"),iconHrefResolver:s(i=>Fi(i),"iconHrefResolver"),fileValidators:Zr,collectionValidators:Zr,validationTimeout:H,validationConcurrency:H,cameraModes:Zs,defaultCameraMode:Xs,enableAudioRecording:k,enableVideoRecording:k,mediaRecorderOptions:Xr,maxVideoRecordingDuration:H,filesViewMode:Qs,gridShowFileNames:k,cloudImageEditorAutoOpen:k,cloudImageEditorMaskHref:P,testMode:k,qualityInsights:k},Js=s((i,e)=>{if(!(typeof e>"u"||e===null))try{return ec[i](e)}catch(t){return console.error(`Invalid value for config key "${i}".`,t),Q[i]}},"normalizeConfigValue");var Vi=[...new Set(["debug",...Object.keys(Q)])],tc=["metadata","localeDefinitionOverride","secureUploadsSignatureResolver","secureDeliveryProxyUrlResolver","iconHrefResolver","fileValidators","collectionValidators","mediaRecorderOptions"],tn=s(i=>tc.includes(i),"isComplexKey"),zt=Vi.filter(i=>!tn(i)),ic={...Object.fromEntries(zt.map(i=>[ct(i),i])),...Object.fromEntries(zt.map(i=>[i.toLowerCase(),i]))},rc={...Object.fromEntries(zt.map(i=>[ct(i),z(i)])),...Object.fromEntries(zt.map(i=>[i.toLowerCase(),z(i)]))},en=s(i=>`__${i}`,"getLocalPropName"),dt=class extends b{static{s(this,"Config")}requireCtxName=!0;constructor(){super(),this.init$={...this.init$,...Object.fromEntries(Object.entries(Q).map(([e,t])=>[z(e),t])),computationControllers:new Map}}_flushValueToAttribute(e,t){if(!tn(e)){let r=[...new Set([ct(e),e.toLowerCase()])];for(let o of r)typeof t>"u"||t===null?this.removeAttribute(o):this.getAttribute(o)!==t.toString()&&this.setAttribute(o,t.toString())}}_flushValueToState(e,t){this.$[z(e)]!==t&&(typeof t>"u"||t===null?this.$[z(e)]=Q[e]:this.$[z(e)]=t)}_setValue(e,t){let r=this,o=Js(e,t),n=en(e);r[n]!==o&&(this._assertSameValueDifferentReference(e,r[n],o),r[n]=o,this._flushValueToAttribute(e,o),this._flushValueToState(e,o),this.debugPrint(`[uc-config] "${e}"`,o),Bs(this.cfg))}_getValue(e){let t=this,r=en(e);return t[r]??this.$[z(e)]}_assertSameValueDifferentReference(e,t,r){this.cfg.debug&&r!==t&&typeof r=="object"&&typeof t=="object"&&JSON.stringify(r)===JSON.stringify(t)&&(console.warn(`[uc-config] Option "${e}" value is the same as the previous one but the reference is different`),console.warn("[uc-config] You should avoid changing the reference of the object to prevent unnecessary calculations"),console.warn(`[uc-config] "${e}" previous value:`,t),console.warn(`[uc-config] "${e}" new value:`,r))}initCallback(){super.initCallback();let e=this;for(let t of zt)this.sub(z(t),r=>{this._setValue(t,r)},!1);for(let t of Vi){let r=e[t]??this.$[z(t)];r!==Q[t]&&this._setValue(t,r),Object.defineProperty(this,t,{set:s(o=>{this._setValue(t,o)},"set"),get:s(()=>this._getValue(t),"get")})}for(let t of Vi)this.sub(z(t),()=>{Gs({key:t,setValue:this._setValue.bind(this),getValue:this._getValue.bind(this),computationControllers:this.computationControllers})})}attributeChangedCallback(e,t,r){if(t===r)return;let o=this,n=ic[e];n&&(o[n]=r)}get computationControllers(){return this.$.computationControllers}};dt.bindAttributes(rc);for(let i of Vi)dt.prototype[i]=void 0;var Ni=class extends b{static{s(this,"Copyright")}initCallback(){super.initCallback(),this.subConfigValue("removeCopyright",e=>{this.toggleAttribute("hidden",!!e)})}static template=`<a href="https://uploadcare.com/?utm_source=copyright&utm_medium=referral&utm_campaign=v4" target="_blank noopener" class="uc-credits" >Powered by Uploadcare</a >`};function oc(i){return new Promise(e=>{typeof window.FileReader!="function"&&e(!1);try{let t=new FileReader;t.onerror=()=>{e(!0)};let r=s(o=>{o.type!=="loadend"&&t.abort(),e(!1)},"onLoad");t.onloadend=r,t.onprogress=r,t.readAsDataURL(i)}catch{e(!1)}})}s(oc,"checkIsDirectory");function sc(i,e){return new Promise(t=>{let r=0,o=[],n=s(l=>{if(!l){console.warn("Unexpectedly received empty content entry",{scope:"drag-and-drop"}),t(null);return}l.isFile?(r++,l.file(c=>{r--;let d=new File([c],c.name,{type:c.type||e});o.push({type:"file",file:d,fullPath:l.fullPath}),r===0&&t(o)})):l.isDirectory&&a(l.createReader())},"readEntry"),a=s(l=>{r++,l.readEntries(c=>{r--;for(let d of c)n(d);r===0&&t(o)})},"readReaderContent");n(i)})}s(sc,"readEntryContentAsync");function rn(i){let e=[],t=[];for(let r=0;r<i.items.length;r++){let o=i.items[r];if(o)if(o.kind==="file"){let n=o.type,a=o;if(typeof a.webkitGetAsEntry=="function"||typeof a.getAsEntry=="function"){let c=typeof a.webkitGetAsEntry=="function"?a.webkitGetAsEntry():a.getAsEntry?.();c&&t.push(sc(c,n).then(d=>{d&&e.push(...d)}));continue}let l=o.getAsFile();l&&t.push(oc(l).then(c=>{c||e.push({type:"file",file:l})}))}else o.kind==="string"&&/^text\/uri-list/.test(o.type)&&t.push(new Promise(n=>{o.getAsString(a=>{e.push({type:"url",url:a}),n()})}))}return Promise.all(t).then(()=>e)}s(rn,"getDropItems");var W=Object.freeze({ACTIVE:0,INACTIVE:1,NEAR:2,OVER:3}),on=["focus"],nc=100,Yr=new Map;function ac(i,e){let t=Math.max(Math.min(i[0],e.x+e.width),e.x),r=Math.max(Math.min(i[1],e.y+e.height),e.y);return Math.sqrt((i[0]-t)*(i[0]-t)+(i[1]-r)*(i[1]-r))}s(ac,"distance");function Qr(i){let e=0,t=document.body,r=new Set,o=s(m=>{r.add(m)},"handleSwitch"),n=W.INACTIVE,a=s(m=>{i.shouldIgnore()&&m!==W.INACTIVE||(n!==m&&r.forEach(v=>{v(m)}),n=m)},"setState"),l=s(()=>e>0,"isDragging");o(m=>i.onChange(m));let c=s(()=>{e=0,a(W.INACTIVE)},"onResetEvent"),d=s(()=>{e+=1,n===W.INACTIVE&&a(W.ACTIVE)},"onDragEnter"),u=s(()=>{e-=1,l()||a(W.INACTIVE)},"onDragLeave"),p=s(m=>{m.preventDefault(),e=0,a(W.INACTIVE)},"onDrop"),h=s(m=>{if(i.shouldIgnore())return;l()||(e+=1);let v=[m.x,m.y],y=i.element.getBoundingClientRect(),S=Math.floor(ac(v,y)),T=S<nc,A=m.composedPath().includes(i.element);Yr.set(i.element,S);let ee=Math.min(...Yr.values())===S;A&&ee?(m.preventDefault(),a(W.OVER)):a(T&&ee?W.NEAR:W.ACTIVE)},"onDragOver"),f=s(async m=>{if(i.shouldIgnore())return;m.preventDefault();let{dataTransfer:v}=m;if(!v)return;let y=await rn(v);i.onItems(y),a(W.INACTIVE)},"onElementDrop");return t.addEventListener("drop",p),t.addEventListener("dragleave",u),t.addEventListener("dragenter",d),t.addEventListener("dragover",h),i.element.addEventListener("drop",f),on.forEach(m=>{window.addEventListener(m,c)}),()=>{Yr.delete(i.element),t.removeEventListener("drop",p),t.removeEventListener("dragleave",u),t.removeEventListener("dragenter",d),t.removeEventListener("dragover",h),i.element.removeEventListener("drop",f),on.forEach(m=>{window.removeEventListener(m,c)})}}s(Qr,"addDropzone");var sn="uc-drop-area",Bi=`${sn}/registry`,ut=class extends M{static{s(this,"DropArea")}static styleAttrs=[...super.styleAttrs,"uc-drop-area"];_destroyDropzone=null;_destroyContentWrapperDropzone=null;_onAreaClicked=null;constructor(){super(),this.init$={...this.init$,state:W.INACTIVE,withIcon:!1,isClickable:!1,isFullscreen:!1,isEnabled:!0,isVisible:!0,isInitFlow:!1,text:"",[Bi]:new Set}}isActive(){if(!this.$.isEnabled)return!1;let e=this.getBoundingClientRect(),t=e.width>0&&e.height>0,r=e.top>=0&&e.left>=0&&e.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&e.right<=(window.innerWidth||document.documentElement.clientWidth),o=window.getComputedStyle(this),n=o.visibility!=="hidden"&&o.display!=="none";return t&&n&&r}initCallback(){super.initCallback(),this.bindL10n("text",()=>this.l10n("drop-files-here")),this.$[Bi].add(this),this.defineAccessor("disabled",r=>{this.set$({isEnabled:!k(r)})}),this.defineAccessor("clickable",r=>{this.set$({isClickable:k(r)})}),this.defineAccessor("initflow",r=>{this.set$({isInitFlow:k(r)})}),this.defineAccessor("with-icon",r=>{this.set$({withIcon:k(r)})}),this.defineAccessor("fullscreen",r=>{this.set$({isFullscreen:k(r)})}),this.defineAccessor("text",r=>{typeof r=="string"?this.bindL10n("text",()=>this.l10n(r)||r):this.bindL10n("text",()=>this.l10n("drop-files-here"))}),this._destroyDropzone=Qr({element:this,shouldIgnore:s(()=>this._shouldIgnore(),"shouldIgnore"),onChange:s(r=>{this.$.state=r},"onChange"),onItems:s(r=>{r.length&&(r.forEach(o=>{o.type==="url"?this.api.addFileFromUrl(o.url,{source:U.DROP_AREA}):o.type==="file"&&this.api.addFileFromObject(o.file,{source:U.DROP_AREA,fullPath:o.fullPath})}),this.uploadCollection.size&&(this.modalManager?.open(g.activities.UPLOAD_LIST),this.set$({"*currentActivity":g.activities.UPLOAD_LIST})))},"onItems")});let t=this.ref["content-wrapper"];if(t&&(this._destroyContentWrapperDropzone=Qr({element:t,onChange:s(r=>{let o=Object.entries(W).find(([,n])=>n===r)?.[0].toLowerCase();o&&t.setAttribute("drag-state",o)},"onChange"),onItems:s(()=>{},"onItems"),shouldIgnore:s(()=>this._shouldIgnore(),"shouldIgnore")})),this.sub("state",r=>{let o=Object.entries(W).find(([,n])=>n===r)?.[0].toLowerCase();o&&this.setAttribute("drag-state",o)}),this.subConfigValue("sourceList",r=>{let o=F(r);this.$.isEnabled=o.includes(U.LOCAL),this.$.isVisible=this.$.isEnabled||!this.querySelector("[data-default-slot]")}),this.sub("isVisible",r=>{this.toggleAttribute("hidden",!r)}),this.sub("isClickable",r=>{this.toggleAttribute("clickable",r)}),this.$.isClickable){let r=s(o=>{if(o instanceof KeyboardEvent){if(o.code==="Space"||o.code==="Enter"){if(this.$.isInitFlow){this.api.initFlow();return}this.api.openSystemDialog()}}else if(o instanceof MouseEvent){if(this.$.isInitFlow){this.api.initFlow();return}this.api.openSystemDialog()}},"onAreaClicked");this._onAreaClicked=r,this.addEventListener("keydown",r),this.addEventListener("click",r)}}_shouldIgnore(){if(!this.$.isEnabled||!this._couldHandleFiles())return!0;if(!this.$.isFullscreen)return!1;let e=this.$[Bi];return e.size===0?!1:[...e].filter(o=>o!==this).filter(o=>o.isActive()).length>0}_couldHandleFiles(){let e=this.cfg.multiple,t=this.cfg.multipleMax,r=this.uploadCollection.size;return!(e&&t&&r>=t||!e&&r>0)}destroyCallback(){super.destroyCallback();let e=this.$[Bi];e.delete(this),e.size===0&&E.deleteCtx(sn),this._destroyDropzone?.(),this._destroyContentWrapperDropzone?.(),this._onAreaClicked&&(this.removeEventListener("keydown",this._onAreaClicked),this.removeEventListener("click",this._onAreaClicked),this._onAreaClicked=null)}};ut.template=`<slot><div data-default-slot hidden></div><div ref="content-wrapper" class="uc-content-wrapper" set="@hidden: !isVisible"><div class="uc-icon-container" set="@hidden: !withIcon"><uc-icon name="default"></uc-icon><uc-icon name="arrow-down"></uc-icon></div><span class="uc-text">{{text}}</span></div></slot>`;ut.bindAttributes({"with-icon":null,clickable:null,text:null,fullscreen:null,disabled:null,initflow:null});var nn=s(()=>{let i=globalThis.top??globalThis.parent??globalThis.self;try{return i.location.origin}catch(e){return console.warn("Unable to access top-level window location:",e),globalThis.location.origin}},"getTopLevelOrigin");var lc=s(i=>i.replace(/[\\-\\[]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),"escapeRegExp"),an=s((i,e="i")=>{let t=i.split("*").map(lc);return new RegExp(`^${t.join(".+")}$`,e)},"wildcardRegexp");var cc=["--uc-font-family","--uc-font-size","--uc-line-height","--uc-button-size","--uc-preview-size","--uc-input-size","--uc-padding","--uc-radius","--uc-transition","--uc-background","--uc-foreground","--uc-primary","--uc-primary-hover","--uc-primary-transparent","--uc-primary-foreground","--uc-secondary","--uc-secondary-hover","--uc-secondary-foreground","--uc-muted","--uc-muted-foreground","--uc-destructive","--uc-destructive-foreground","--uc-border"],dc=s((i,e)=>window.getComputedStyle(i).getPropertyValue(e).trim(),"getCssValue"),ln=s(i=>{let e={};for(let t of cc){let r=dc(i,t);r&&(e[t]=r)}return e},"buildThemeDefinition");var uc=["selected-files-change","toolbar-state-change"],pc=s(i=>{if(!i||typeof i!="object"||!("type"in i))return!1;let e=i.type;return!(typeof e!="string"||!uc.includes(e))},"isWhitelistedMessage"),zi=class{static{s(this,"MessageBridge")}_handlerMap=new Map;_context;_getTargetOrigin;constructor(e,t){this._context=e,this._getTargetOrigin=t,window.addEventListener("message",this._handleMessage)}_handleMessage=s(e=>{if(e.source!==this._context)return;let t=e.data;if(!pc(t))return;let r=this._handlerMap.get(t.type);if(r)for(let o of r)o(t)},"_handleMessage");on(e,t){let r=this._handlerMap.get(e)??new Set;this._handlerMap.has(e)||this._handlerMap.set(e,r),r.add(t)}send(e){let t=this._getTargetOrigin();this._context.postMessage(e,t)}destroy(){window.removeEventListener("message",this._handleMessage)}};function cn(i){let e=[];for(let[t,r]of Object.entries(i))r==null||typeof r=="string"&&r.length===0||e.push(`${t}=${encodeURIComponent(r)}`);return e.join("&")}s(cn,"queryString");var hc={[ae.GDRIVE]:"ngdrive"},Ht=class extends M{static{s(this,"ExternalSource")}couldBeCtxOwner=!0;activityType=g.activities.EXTERNAL;_messageBridge;constructor(){super(),this.init$={...this.init$,activityIcon:"",activityCaption:"",selectedList:[],total:0,isSelectionReady:!1,isDoneBtnEnabled:!1,couldSelectAll:!1,couldDeselectAll:!1,showSelectionStatus:!1,showDoneBtn:!1,counterText:"",doneBtnTextClass:"uc-hidden",toolbarVisible:!0,onDone:s(()=>{for(let e of this.$.selectedList){let t=this.extractUrlFromSelectedFile(e),{filename:r}=e,{externalSourceType:o}=this.activityParams;this.api.addFileFromUrl(t,{fileName:r,source:o})}this.$["*currentActivity"]=g.activities.UPLOAD_LIST,this.modalManager?.open(g.activities.UPLOAD_LIST)},"onDone"),onCancel:s(()=>{this.historyBack()},"onCancel"),onSelectAll:s(()=>{this._messageBridge?.send({type:"select-all"})},"onSelectAll"),onDeselectAll:s(()=>{this._messageBridge?.send({type:"deselect-all"})},"onDeselectAll")}}get activityParams(){let e=super.activityParams;if("externalSourceType"in e)return e;throw new Error("External Source activity params not found")}initCallback(){super.initCallback(),this.registerActivity(this.activityType,{onActivate:s(()=>{let{externalSourceType:e}=this.activityParams;if(!e){this.modalManager?.close(this.$["*currentActivity"]),this.$["*currentActivity"]=null,console.error(`Param "externalSourceType" is required for activity "${this.activityType}"`);return}this.set$({activityCaption:`${e[0]?.toUpperCase()}${e?.slice(1)}`,activityIcon:e}),this.mountIframe()},"onActivate")}),this.sub("*currentActivityParams",e=>{this.isActivityActive&&(this.unmountIframe(),this.mountIframe())}),this.sub("*currentActivity",e=>{e!==this.activityType&&this.unmountIframe()}),this.subConfigValue("multiple",e=>{this.$.showSelectionStatus=e}),this.subConfigValue("localeName",e=>{this.setupL10n()}),this.subConfigValue("externalSourcesEmbedCss",e=>{this.applyEmbedCss(e)})}extractUrlFromSelectedFile(e){if(e.alternatives){let t=F(this.cfg.externalSourcesPreferredTypes);for(let r of t){let o=an(r);for(let[n,a]of Object.entries(e.alternatives))if(o.test(n))return a}}return e.url}handleToolbarStateChange(e){this.set$({toolbarVisible:e.isVisible})}async handleSelectedFilesChange(e){if(this.cfg.multiple!==e.isMultipleMode){console.error("Multiple mode mismatch");return}this.bindL10n("counterText",()=>this.l10n("selected-count",{count:e.selectedCount,total:e.total})),this.set$({doneBtnTextClass:e.isReady?"":"uc-hidden",isSelectionReady:e.isReady,isDoneBtnEnabled:e.isReady&&e.selectedFiles.length>0,showSelectionStatus:e.isMultipleMode&&e.total>0,couldSelectAll:e.selectedCount<e.total,couldDeselectAll:e.selectedCount===e.total,selectedList:e.selectedFiles,showDoneBtn:e.total>0})}handleIframeLoad(){this.applyEmbedCss(this.cfg.externalSourcesEmbedCss),this.applyTheme(),this.setupL10n()}applyTheme(){this._messageBridge?.send({type:"set-theme-definition",theme:ln(this)})}applyEmbedCss(e){this._messageBridge?.send({type:"set-embed-css",css:e})}setupL10n(){this._messageBridge?.send({type:"set-locale-definition",localeDefinition:this.cfg.localeName})}remoteUrl(){let{pubkey:e,remoteTabSessionKey:t,socialBaseUrl:r,multiple:o}=this.cfg,{externalSourceType:n}=this.activityParams,a=hc[n]??n,c={lang:this.l10n("social-source-lang")?.split("-")?.[0]||"en",public_key:e,images_only:"false",session_key:t,wait_for_theme:!0,multiple:o.toString(),origin:this.cfg.topLevelOrigin||nn(),debug:this.cfg.debug},d=new URL(`/window4/${a}`,r);return d.search=cn(c),d.toString()}mountIframe(){let e=nr({tag:"iframe",attributes:{src:this.remoteUrl(),marginheight:0,marginwidth:0,frameborder:0,allowTransparency:!0}});e.addEventListener("load",this.handleIframeLoad.bind(this)),this.ref.iframeWrapper.innerHTML="",this.ref.iframeWrapper.appendChild(e),e.contentWindow&&(this._messageBridge?.destroy(),this._messageBridge=new zi(e.contentWindow,()=>this.cfg.socialBaseUrl),this._messageBridge.on("selected-files-change",this.handleSelectedFilesChange.bind(this)),this._messageBridge.on("toolbar-state-change",this.handleToolbarStateChange.bind(this)),this.resetSelectionStatus())}unmountIframe(){this._messageBridge?.destroy(),this._messageBridge=void 0,this.ref.iframeWrapper.innerHTML="",this.resetSelectionStatus()}resetSelectionStatus(){this.set$({selectedList:[],total:0,isDoneBtnEnabled:!1,couldSelectAll:!1,couldDeselectAll:!1,showSelectionStatus:!1,showDoneBtn:!1})}};Ht.template=`<uc-activity-header><button type="button" class="uc-mini-btn uc-close-btn" set="onclick: *historyBack" l10n="@title:a11y-activity-header-button-close;@aria-label:a11y-activity-header-button-close" ><uc-icon name="close"></uc-icon></button></uc-activity-header><div class="uc-content"><div ref="iframeWrapper" class="uc-iframe-wrapper"></div><div class="uc-toolbar" set="@hidden: !toolbarVisible"><button type="button" class="uc-cancel-btn uc-secondary-btn" set="onclick: onCancel" l10n="cancel"></button><div set="@hidden: !showSelectionStatus" class="uc-selection-status-box"><span>{{counterText}}</span><button type="button" set="onclick: onSelectAll; @hidden: !couldSelectAll" l10n="select-all"></button><button type="button" set="onclick: onDeselectAll; @hidden: !couldDeselectAll" l10n="deselect-all"></button></div><button type="button" class="uc-done-btn uc-primary-btn" set="onclick: onDone; @disabled: !isDoneBtnEnabled; @hidden: !showDoneBtn" ><uc-spinner set="@hidden: isSelectionReady"></uc-spinner><span l10n="done" set="@class: doneBtnTextClass"></span></button></div></div>`;var ji=s(()=>{let i=[];return{stack:i,promiseReadJpegChunks:s(t=>new Promise((r,o)=>{let n=2,a=s((d,u)=>{let p=new FileReader;p.addEventListener("load",()=>{u(new DataView(p.result))}),p.addEventListener("error",h=>{o(`Reader error: ${h}`)}),p.readAsArrayBuffer(d)},"readToView"),l=s(()=>a(t.slice(n,n+128),d=>{let u,p,h;for(u=p=0,h=d.byteLength;h>=0?p<h:p>h;u=h>=0?++p:--p)if(d.getUint8(u)===255){n+=u;break}c()}),"readNext"),c=s(()=>{let d=n;return a(t.slice(n,n+=4),u=>{if(u.byteLength!==4||u.getUint8(0)!==255){o("Corrupted");return}let p=u.getUint8(1);if(p===218){r(!0);return}let h=u.getUint16(2)-2;return a(t.slice(n,n+=h),f=>{if(f.byteLength!==h){o("Corrupted");return}i.push({startPos:d,length:h,marker:p,view:f}),l()})})},"readNextChunk");FileReader&&DataView||o("Not Support"),a(t.slice(0,2),d=>{d.getUint16(0)!==65496&&o("Not jpeg"),l()})}),"promiseReadJpegChunks")}},"readJpegChunks"),mc=s(async i=>{let e=[],{promiseReadJpegChunks:t,stack:r}=ji();return await t(i),r.forEach(({marker:o,view:n})=>{o===226&&n.getUint32(0)===1229144927&&n.getUint32(4)===1347571526&&n.getUint32(8)===1229735168&&e.push(n)}),e},"getIccProfile"),un=s(async(i,e,t)=>{{let r=[],o=[],{promiseReadJpegChunks:n,stack:a}=ji();await n(i),a.forEach(d=>{if(d.marker===e)return r.push(d.startPos),o.push(d.length)});let l=[i.slice(0,2)];for(let d of t){let u=new DataView(new ArrayBuffer(4));u.setUint16(0,65280+e),u.setUint16(2,d.byteLength+2),l.push(u.buffer),l.push(d)}let c=2;for(let d=0;d<r.length;d++)r[d]>c&&l.push(i.slice(c,r[d])),c=r[d]+o[d]+4;return l.push(i.slice(c,i.size)),new Blob(l,{type:i.type})}},"replaceJpegChunk"),fc=226,pn=s((i,e)=>un(i,fc,e.map(t=>t.buffer)),"replaceIccProfile"),gc=s(async i=>{try{return await pn(i,[])}catch(e){throw new Error(`Failed to strip ICC profile: ${e}`)}},"stripIccProfile"),vc=s((i,e,t)=>new Promise((r,o)=>{let n=s(a=>{if(!a){o("Failed to convert canvas to blob");return}r(a)},"callback");i.toBlob(n,e,t),i.width=i.height=1}),"canvasToBlob"),jt=s(()=>{let i=document.createElement("canvas"),e=i.getContext("2d");return{canvas:i,ctx:e}},"createCanvas"),yc=s(i=>{let{ctx:t,canvas:r}=jt();r.width=r.height=50,t.drawImage(i,0,0,50,50);let o=t.getImageData(0,0,50,50).data;r.width=r.height=1;for(let n=3;n<o.length;n+=4)if(o[n]<254)return!0;return!1},"hasTransparency"),bc=s(async i=>{let e=null,{promiseReadJpegChunks:t,stack:r}=ji();return await t(i),r.forEach(({marker:o,view:n})=>{if(!e&&o===225&&n.byteLength>=14&&n.getUint32(0)===1165519206&&n.getUint16(4)===0){e=n;return}}),e},"getExif"),_c="data:image/jpg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4QA6RXhpZgAATU0AKgAAAAgAAwESAAMAAAABAAYAAAEoAAMAAAABAAIAAAITAAMAAAABAAEAAAAAAAD/2wBDAP//////////////////////////////////////////////////////////////////////////////////////wAALCAABAAIBASIA/8QAJgABAAAAAAAAAAAAAAAAAAAAAxABAAAAAAAAAAAAAAAAAAAAAP/aAAgBAQAAPwBH/9k=",Hi,wc=s(()=>new Promise(i=>{if(Hi!==void 0)i(Hi);else{let e=new Image;e.addEventListener("load",()=>{Hi=e.naturalWidth<e.naturalHeight,e.src="//:0",i(Hi)}),e.src=_c}}),"isBrowserApplyExifOrientation"),Cc=s((i,e)=>{let t,r,o,n;if(!i||i.byteLength<14||i.getUint32(0)!==1165519206||i.getUint16(4)!==0)return;if(i.getUint16(6)===18761)r=!0;else if(i.getUint16(6)===19789)r=!1;else return;if(i.getUint16(8,r)!==42)return;o=8+i.getUint32(10,r);let a=i.getUint16(o-2,r);for(t=0,n=a;n>=0?t<n:t>n;n>=0?++t:--t){if(i.byteLength<o+10)return;i.getUint16(o,r)===274&&e(o+8,r),o+=12}},"findExifOrientation"),Ec=s((i,e)=>{Cc(i,(t,r)=>i.setUint16(t,e,r))},"setExifOrientation"),Tc=s(async(i,e,t)=>(t&&Ec(e,1),un(i,225,[e.buffer])),"replaceExif"),xc=s((i,e)=>new Promise((t,r)=>{e&&(i.src=e),i.complete?t(i):(i.addEventListener("load",()=>{t(i)}),i.addEventListener("error",()=>{r(new Error("Failed to load image. Probably not an image."))}))}),"processImage"),Ac=s(i=>xc(new Image,i),"imageLoader"),Sc=[1,3],Ic=[192,193,194,195,197,198,199,201,202,203,205,206,207],dn={squareSide:[Math.floor(Math.sqrt(5*1e3*1e3)),4096,8192,11180,10836,11402,14188,16384],dimension:[4096,8192,16384,32767,65535]},kc=s(async i=>{let e=!1,{promiseReadJpegChunks:t,stack:r}=ji();return await t(i).then(()=>(r.forEach(({marker:o,view:n})=>{if(!e&&Ic.indexOf(o)>=0){let a=n.getUint8(5);Sc.indexOf(a)<0&&(e=!0)}}),e)).catch(()=>e)},"shouldSkipShrink"),hn=s((i,e)=>{let t={};return(...r)=>{let o=e(r,t);return o in t?t[o]:t[o]=i(...r)}},"memoize"),mn=s((i,e)=>{let[t]=i,r=Object.keys(e).map(o=>parseInt(o,10)).sort((o,n)=>o-n);for(let o=0;o<r.length;o++){let n=r[o],a=!!e[n];if(n>t&&a||n<t&&!a)return n}return t},"memoKeySerializer"),Ue={R:55,G:110,B:165,A:255},Oc=`rgba(${Ue.R}, ${Ue.G}, ${Ue.B}, ${Ue.A/255})`,fn=s((i,e)=>{try{let t=[i-1,e-1,1,1],{canvas:r,ctx:o}=jt();r.width=1,r.height=1;let{canvas:n,ctx:a}=jt();n.width=i,n.height=e,a&&(a.fillStyle=Oc,a.fillRect(...t),o.drawImage(n,i-1,e-1,1,1,0,0,1,1));let l=o&&o.getImageData(0,0,1,1).data,c=!1;return l&&(c=l[0]===Ue.R&&l[1]===Ue.G&&l[2]===Ue.B&&l[3]===Ue.A),n.width=n.height=1,c}catch{return console.error(`Failed to test for max canvas size of ${i}x${e}.`),!1}},"canvasTest");function gn(i){return(...e)=>new Promise(t=>{setTimeout(()=>{let r=i(...e);t(r)},0)})}s(gn,"wrapAsync");var Mc=gn(hn(fn,mn)),Lc=gn(hn(fn,mn)),vn=s(async(i,e)=>{let t=dn.squareSide.find(a=>a*a>=i*e),r=dn.dimension.find(a=>a>=i&&a>=e);if(!t||!r)throw new Error("Not supported");let[o,n]=await Promise.all([Mc(t,t),Lc(r,1)]);if(o&&n)return!0;throw new Error("Not supported")},"testCanvasSize"),yn=s(async(i,e,t)=>{try{let{ctx:r,canvas:o}=jt();return o.width=e,o.height=t,r.imageSmoothingQuality="high",r.drawImage(i,0,0,e,t),i instanceof HTMLImageElement&&(i.src="//:0"),i instanceof HTMLCanvasElement&&(i.width=i.height=1),o}catch(r){throw new Error("Canvas resize error",{cause:r})}},"canvasResize"),Rc=s(({img:i,targetW:e,targetH:t})=>yn(i,e,t),"native"),Pc=s(function({sourceW:i,targetW:e,targetH:t,step:r}){let o=[],n=e,a=t;do o.push([n,a]),n=Math.round(n/r),a=Math.round(a/r);while(n<i*r);return o.reverse()},"calcShrinkSteps"),Uc=s(({img:i,sourceW:e,targetW:t,targetH:r,step:o})=>{let n=Pc({sourceW:e,targetW:t,targetH:r,step:o});return n.reduce((a,[l,c],d)=>a.then(u=>vn(l,c).then(()=>yn(u,l,c)).catch(()=>{if(d===n.length-1)throw new Error("Not supported");return u})),Promise.resolve(i))},"fallback"),$c=s(()=>/iPad|iPhone|iPod/.test(navigator.platform)?!0:navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&/MacIntel/.test(navigator.platform),"isIOS"),Dc=navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&/MacIntel/.test(navigator.platform),Jr=.71,Fc=s((i,e)=>{if(i.width*Jr*i.height*Jr<e.size)throw new Error("Not required");let t=i.width,r=i.height,o=t/r,n=Math.floor(Math.sqrt(e.size*o)),a=Math.floor(e.size/Math.sqrt(e.size*o));return vn(n,a).then(()=>{let{ctx:l}=jt();return"imageSmoothingQuality"in l&&!$c()&&!Dc?Rc({img:i,targetW:n,targetH:a}):Uc({img:i,sourceW:t,targetW:n,targetH:a,step:Jr})}).catch(()=>Promise.reject("Not supported"))},"shrinkImage"),bn=s(async(i,e)=>{try{if(await kc(i))throw new Error("Should skipped");let r=await Promise.allSettled([bc(i),wc(),mc(i)]),n=!r.some(v=>v.status==="rejected"),[a,l,c]=r,d=await gc(i).catch(()=>i),u=await Ac(URL.createObjectURL(d));URL.revokeObjectURL(u.src);let p=await Fc(u,e),h="image/jpeg",f=e?.quality||.8;!n&&yc(p)&&(h="image/png",f=void 0);let m=await vc(p,h,f);if(n&&a.status==="fulfilled"&&a.value){let v=a.value,y=l.status==="fulfilled"?l.value:!1;m=await Tc(m,v,y)}return n&&c.status==="fulfilled"&&c.value.length>0&&(m=await pn(m,c.value)),m}catch(t){let r;throw t instanceof Error&&(r=t.message),typeof t=="string"&&(r=t),new Error(`Failed to shrink image. ${r?`Message: "${r}".`:""}`,{cause:t})}},"shrinkFile");var Vc=/^([0-9]+)x([0-9]+)(?:\s+(\d{1,2}|100)%)?$/i,_n=s(i=>{if(typeof i!="string")return!1;let e=Vc.exec(i.toLocaleLowerCase())??[];if(e.length===0)return!1;let t=Number(e[1])*Number(e[2]),r=16384*16384;return t>r?(console.warn(`Shrinked size can not be larger than ${Math.floor(r/1e3/1e3)}MP. You have set ${e[1]}x${e[2]} (${Math.ceil(t/1e3/100)/10}MP).`),!1):{quality:e[3]?Number(e[3])/100:void 0,size:t}},"parseShrink");var pt=class extends M{static{s(this,"FileItemConfig")}_entrySubs=new Set;_entry=null;_withEntry(e){return(...t)=>{let r=this._entry;if(!r){console.warn("No entry found");return}return e(r,...t)}}_subEntry(e,t){this._withEntry((r,o,n)=>{let a=r.subscribe(o,l=>{this.isConnected&&n(l)});this._entrySubs.add(a)})(e,t)}_reset(){for(let e of this._entrySubs)e.remove();this._entrySubs=new Set,this._entry=null}disconnectedCallback(){super.disconnectedCallback(),this._entrySubs=new Set}};var V=Object.freeze({FINISHED:Symbol("FINISHED"),FAILED:Symbol("FAILED"),UPLOADING:Symbol("UPLOADING"),VALIDATION:Symbol("VALIDATION"),QUEUED_UPLOADING:Symbol("QUEUED-UPLOADING"),QUEUED_VALIDATION:Symbol("QUEUED-VALIDATION"),IDLE:Symbol("IDLE")}),Ki=class i extends pt{static{s(this,"FileItem")}couldBeCtxOwner=!0;pauseRender=!0;_renderedOnce=!1;_observer;_isIntersecting=!1;_thumbRect;constructor(){super(),this.init$={...this.init$,uid:"",itemName:"",errorText:"",hint:"",thumbUrl:"",progressValue:0,progressVisible:!1,badgeIcon:"",isFinished:!1,isFailed:!1,isUploading:!1,isFocused:!1,isEditable:!1,showFileNames:!1,state:V.IDLE,ariaLabelStatusFile:"",onEdit:this._withEntry(e=>{this.telemetryManager.sendEvent({eventType:O.ACTION_EVENT,payload:{metadata:{event:"edit-file",node:this.tagName}}}),this.$["*currentActivityParams"]={internalId:e.uid},this.modalManager?.open(g.activities.CLOUD_IMG_EDIT),this.$["*currentActivity"]=g.activities.CLOUD_IMG_EDIT}),onRemove:s(()=>{this.telemetryManager.sendEvent({eventType:O.ACTION_EVENT,payload:{metadata:{event:"remove-file",node:this.tagName}}}),this.uploadCollection.remove(this.$.uid)},"onRemove"),onUpload:s(()=>{this.upload()},"onUpload")}}_calculateState=this._withEntry(e=>{let t=V.IDLE;e.getValue("errors").length>0?t=V.FAILED:e.getValue("isQueuedForUploading")?t=V.QUEUED_UPLOADING:e.getValue("isQueuedForValidation")?t=V.QUEUED_VALIDATION:e.getValue("isValidationPending")?t=V.VALIDATION:e.getValue("isUploading")?t=V.UPLOADING:e.getValue("fileInfo")&&(t=V.FINISHED),this.$.state=t});_debouncedCalculateState=L(this._calculateState.bind(this),100);_updateHintAndProgress=this._withEntry(ot((e,t)=>{let r=e.getValue("errors")?.[0]?.message,o=e.getValue("source"),n=e.getValue("externalUrl"),a=t===V.FINISHED,l=t===V.UPLOADING,c=t===V.QUEUED_UPLOADING,d=t===V.QUEUED_VALIDATION,u=t===V.VALIDATION,p=e.getValue("fileName"),h="";r?h="":!a&&n&&o&&Object.values(ae).includes(o)&&(h=this.l10n("waiting-for",{source:this.l10n(`src-type-${o}`)})),this.set$({hint:h,errorText:r,progressVisible:l||c||d||u,progressValue:d||u?0:e.getValue("uploadProgress"),ariaLabelStatusFile:p&&this.l10n("a11y-file-item-status",{fileName:p,status:this.l10n(t?.description?.toLocaleLowerCase()??"").toLocaleLowerCase()})})},100));_handleState=this._withEntry((e,t)=>{t===V.FAILED?this.$.badgeIcon="badge-error":t===V.FINISHED&&(this.$.badgeIcon="badge-success"),t===V.UPLOADING&&(this.$.isFocused=!1),this.set$({isFailed:t===V.FAILED,isUploading:t===V.UPLOADING,isFinished:t===V.FINISHED,isEditable:this.cfg.useCloudImageEditor&&e.getValue("isImage")&&e.getValue("cdnUrl")}),this._updateHintAndProgress(t)});_reset(){super._reset(),this._debouncedCalculateState.cancel()}_observerCallback(e){let[t]=e;t&&(this._isIntersecting=t.isIntersecting,this._thumbRect=t.boundingClientRect,t.isIntersecting&&!this._renderedOnce&&(this.render(),this._renderedOnce=!0))}_handleEntryId(e){this._reset();let t=this.uploadCollection?.read(e);this._entry=t,t&&(this._subEntry("isQueuedForValidation",()=>{this._debouncedCalculateState()}),this._subEntry("isValidationPending",()=>{this._debouncedCalculateState()}),this._subEntry("uploadProgress",()=>{this._debouncedCalculateState()}),this._subEntry("isQueuedForUploading",()=>{this._debouncedCalculateState()}),this._subEntry("fileName",r=>{this.$.itemName=r||t.getValue("externalUrl")||this.l10n("file-no-name"),this._debouncedCalculateState()}),this._subEntry("externalUrl",r=>{this.$.itemName=t.getValue("fileName")||r||this.l10n("file-no-name")}),this._subEntry("fileInfo",()=>{this._debouncedCalculateState()}),this._subEntry("errors",()=>this._debouncedCalculateState()),this._subEntry("isUploading",()=>this._debouncedCalculateState()),this._subEntry("fileSize",()=>this._debouncedCalculateState()),this._subEntry("mimeType",()=>this._debouncedCalculateState()),this._subEntry("isImage",()=>this._debouncedCalculateState()))}_updateShowFileNames(e){if(this.cfg.filesViewMode==="list"){this.$.showFileNames=!0;return}this.$.showFileNames=e}initCallback(){super.initCallback(),this.sub("uid",e=>{this._handleEntryId(e)}),this.sub("state",e=>{this._handleState(e)}),this.subConfigValue("useCloudImageEditor",()=>this._debouncedCalculateState()),this.subConfigValue("filesViewMode",e=>{this._updateShowFileNames(this.cfg.gridShowFileNames),this.setAttribute("mode",e)}),this.subConfigValue("gridShowFileNames",e=>{this._updateShowFileNames(e)}),this.onclick=()=>{i.activeInstances.forEach(e=>{e===this?e.setAttribute("focused",""):e.removeAttribute("focused")})},this.sub("*uploadTrigger",e=>{this._entry&&!e.has(this._entry.uid)||setTimeout(()=>this.isConnected&&this.upload())}),i.activeInstances.add(this)}destroyCallback(){super.destroyCallback(),i.activeInstances.delete(this),this._reset()}connectedCallback(){super.connectedCallback(),this._observer=new window.IntersectionObserver(this._observerCallback.bind(this),{threshold:[0,1]}),this._observer.observe(this)}disconnectedCallback(){super.disconnectedCallback(),this._observer?.disconnect()}_settingsOfShrink(){return _n(this.cfg.imageShrink)}async _processShrink(e){let t=this._settingsOfShrink();return t?await bn(e,t):(console.warn("Image shrink settings are invalid, skipping shrinking"),e)}upload=this._withEntry(async e=>{if(!this.uploadCollection.read(e.uid)||e.getValue("fileInfo")||e.getValue("isUploading")||e.getValue("errors").length>0||e.getValue("isValidationPending"))return;let t=this.cfg.multiple?this.cfg.multipleMax:1;if(!(t&&this.uploadCollection.size>t)){e.setMultipleValues({isUploading:!0,errors:[],isQueuedForUploading:!0}),this._debouncedCalculateState();try{let r=new AbortController;e.setValue("abortController",r);let o=s(async()=>{e.setValue("isQueuedForUploading",!1);let a=e.getValue("file");if(a instanceof File&&this.cfg.imageShrink)try{a=await this._processShrink(a)}catch{}let l=a||e.getValue("externalUrl")||e.getValue("uuid");if(!l)throw new Error("No file input");let d={...await this.getUploadClientOptions(),fileName:e.getValue("fileName")??void 0,source:e.getValue("source")??void 0,onProgress:s(u=>{if(u.isComputable){let p=u.value*100;e.setValue("uploadProgress",p)}},"onProgress"),signal:r.signal,metadata:await this.getMetadataFor(e.uid)};return this.debugPrint("upload options",l,d),Cr(l,d)},"uploadTask"),n=await this.$["*uploadQueue"].add(o);e.setMultipleValues({fileInfo:n,isQueuedForUploading:!1,isUploading:!1,fileName:n.originalFilename,fileSize:n.size,isImage:n.isImage??!1,mimeType:n.contentInfo?.mime?.mime??n.mimeType,uuid:n.uuid,cdnUrl:e.getValue("cdnUrl")??n.cdnUrl,cdnUrlModifiers:e.getValue("cdnUrlModifiers")??"",uploadProgress:100,source:e.getValue("source")??null}),e===this._entry&&this._debouncedCalculateState()}catch(r){this.telemetryManager.sendEventError(r,"file upload. Failed to upload file"),r instanceof ke&&r.isCancel?e.setMultipleValues({isUploading:!1,uploadProgress:0}):r instanceof De?e.setMultipleValues({isUploading:!1,uploadProgress:0,uploadError:r}):(console.error("Unknown upload error",r),e.setMultipleValues({isUploading:!1,uploadProgress:0,uploadError:new Error("Something went wrong",{cause:r})})),e===this._entry&&this._debouncedCalculateState()}}});static template=`<div class="uc-inner" set="@finished: isFinished; @uploading: isUploading; @failed: isFailed; @focused: isFocused"><uc-thumb set="uid:uid;badgeIcon:badgeIcon"></uc-thumb><div aria-atomic="true" aria-live="polite" class="uc-file-name-wrapper" set="@aria-label:ariaLabelStatusFile;"><span class="uc-file-name" set="@hidden: !showFileNames">{{itemName}}</span><span class="uc-file-error" set="@hidden: !errorText;">{{errorText}}</span><span class="uc-file-hint" set="@hidden: !hint">{{hint}}</span></div><div class="uc-file-actions"><button type="button" l10n="@title:file-item-edit-button;@aria-label:file-item-edit-button" class="uc-edit-btn uc-mini-btn" set="onclick: onEdit; @hidden: !isEditable" ><uc-icon name="edit-file"></uc-icon></button><button type="button" l10n="@title:file-item-remove-button;@aria-label:file-item-remove-button" class="uc-remove-btn uc-mini-btn" set="onclick: onRemove;" ><uc-icon name="remove-file"></uc-icon></button><button type="button" class="uc-upload-btn uc-mini-btn" set="onclick: onUpload;"><uc-icon name="upload"></uc-icon></button></div><uc-progress-bar class="uc-progress-bar" set="value: progressValue; visible: progressVisible; @hasFileName: showFileNames;" ></uc-progress-bar></div>`;static activeInstances=new Set};var Gi=class extends M{static{s(this,"FormInput")}requireCtxName=!0;_validationInputElement=null;_dynamicInputsContainer=null;_createValidationInput(){let e=document.createElement("input");return e.type="text",e.name=this.ctxName,e.required=this.cfg.multipleMin>0,e.tabIndex=-1,_t(e,{opacity:0,height:0,width:0}),e}initCallback(){super.initCallback(),this._validationInputElement=this._createValidationInput(),this.appendChild(this._validationInputElement),this.sub("*collectionState",e=>{{if(!this._dynamicInputsContainer){let n=document.createElement("div");this.appendChild(n),this._dynamicInputsContainer=n}if(!this._validationInputElement){let n=this._createValidationInput();this.appendChild(n),this._validationInputElement=n}if(this._dynamicInputsContainer.innerHTML="",e.status==="uploading"||e.status==="idle"){this._validationInputElement.value="",this._validationInputElement.setCustomValidity("");return}if(e.status==="failed"){let n=e.errors[0]?.message;this._validationInputElement.value="",this._validationInputElement.setCustomValidity(n??"");return}let t=e.group?e.group:null;if(t){this._validationInputElement.value=t.cdnUrl??"",this._validationInputElement.setCustomValidity("");return}let r=e.allEntries.map(n=>n.cdnUrl).filter(n=>typeof n=="string");if(!this.cfg.multiple&&r.length===1&&r[0]){this._validationInputElement.value=r[0],this._validationInputElement.setCustomValidity("");return}this._validationInputElement.remove(),this._validationInputElement=null;let o=new DocumentFragment;for(let n of r){let a=document.createElement("input");a.type="hidden",a.name=`${this.ctxName}[]`,a.value=n,o.appendChild(a)}this._dynamicInputsContainer.replaceChildren(o)}},!1)}};var ht=class extends b{static{s(this,"Icon")}constructor(){super(),this.init$={...this.init$,name:"",href:""}}initCallback(){super.initCallback(),this.sub("name",e=>{if(!e)return;let t=`#uc-icon-${e}`;this.subConfigValue("iconHrefResolver",r=>{r&&(t=r(e)??t),this.$.href=t})}),this.setAttribute("aria-hidden","true")}};ht.template=`<svg ref="svg" xmlns="http://www.w3.org/2000/svg"><use set="@href: href;"></use></svg>`;ht.bindAttributes({name:"name"});var wn=s(i=>[...new Set(i)],"uniqueArray");var mt="--uc-img-",eo="unresolved";var to=!window.location.host.trim()||window.location.host.includes(":")||window.location.hostname.includes("localhost"),io=3e3,ro=5e3,oo=Object.freeze({PREVIEW:"PREVIEW",MAIN:"MAIN"});var Nc="https://ucarecdn.com",Kt=Object.freeze({"dev-mode":{},pubkey:{},uuid:{},src:{},lazy:{default:1},intersection:{},breakpoints:{},"cdn-cname":{default:Nc},"proxy-cname":{},"secure-delivery-proxy":{},"hi-res-support":{default:1},"ultra-res-support":{},format:{},"cdn-operations":{},progressive:{},quality:{},"is-background-for":{},"is-preview-blur":{default:1}});var Cn=Object.create(null);for(let i in Kt)Cn[mt+i]=Kt[i]?.default||"";var Wi=class extends ve{static{s(this,"ImgConfig")}cssInit$=Cn;$$(e){return this.$[mt+e]}set$$(e){for(let t in e)this.$[mt+t]=e[t]}sub$$(e,t){this.sub(mt+e,r=>{r===null||r===""||t(r)})}analyticsParams(){return`-/@clib/${Te}/${xe}/uc-img/`}initAttributes(e){[...this.attributes].forEach(t=>{Kt[t.name]||e.setAttribute(t.name,t.value)})}initIntersection(e,t){let r={root:null,rootMargin:"0px"};this._isnObserver=new IntersectionObserver(o=>{o.forEach(n=>{n.isIntersecting&&(t(),this._isnObserver.unobserve(e))})},r),this._isnObserver.observe(e),this._observed||(this._observed=new Set),this._observed.add(e)}destroyCallback(){super.destroyCallback(),this._isnObserver&&(this._observed.forEach(e=>{this._isnObserver.unobserve(e)}),this._isnObserver=null),E.deleteCtx(this)}static get observedAttributes(){return Object.keys(Kt)}attributeChangedCallback(e,t,r){window.setTimeout(()=>{this.$[mt+e]=r})}};var En=s(i=>Object.entries(i).filter(([e,t])=>t!==void 0&&t!=="").map(([e,t])=>e==="cdn-operations"||e==="analytics"?t:`${e}/${t}`),"parseObjectToString");var Zi=class extends Wi{static{s(this,"ImgBase")}_img=new Image;_imgPreview=new Image;_fmtAbs(e){return!e.includes("//")&&!to&&(e=new URL(e,document.baseURI).href),e}_validateSize(e){if(e?.trim()!==""){let t=e.match(/\d+/)[0],r=e.match(/[a-zA-Z]+/)[0],o=parseInt(t,10);if(Number(o)>ro&&this.hasFormatJPG)return ro+r;if(Number(o)>io&&!this.hasFormatJPG)return io+r}return e}_getCdnModifiers(e,t){let r={format:this.$$("format"),quality:this.$$("quality"),resize:this._validateSize(e),blur:t,"cdn-operations":this.$$("cdn-operations"),analytics:this.analyticsParams()};return j(...En(r))}_getUrlBase(e="",t=""){if(this.$$("src").startsWith("data:")||this.$$("src").startsWith("blob:"))return this.$$("src");if(to&&this.$$("src")&&!this.$$("src").includes("//"))return this._proxyUrl(this.$$("src"));let r=this._getCdnModifiers(e,t);if(this.$$("src").startsWith(this.$$("cdn-cname")))return D(this.$$("src"),r);if(this.$$("cdn-cname")&&this.$$("uuid"))return this._proxyUrl(D(Se(this.$$("cdn-cname"),this.$$("uuid")),r));if(this.$$("uuid"))return this._proxyUrl(D(Se(this.$$("cdn-cname"),this.$$("uuid")),r));if(this.$$("proxy-cname"))return this._proxyUrl(D(this.$$("proxy-cname"),r,this._fmtAbs(this.$$("src"))));if(this.$$("pubkey"))return this._proxyUrl(D(`https://${this.$$("pubkey")}.ucr.io/`,r,this._fmtAbs(this.$$("src"))))}_proxyUrl(e){return this.$$("secure-delivery-proxy")?Et(this.$$("secure-delivery-proxy"),{previewUrl:e},{transform:s(r=>window.encodeURIComponent(r),"transform")}):e}_getElSize(e,t=1,r=!0){let o=e.getBoundingClientRect(),n=t*Math.round(o.width),a=r?"":t*Math.round(o.height);return n||a?`${n||""}x${a||""}`:null}_setupEventProxy(e){let t=s(o=>{o.stopPropagation();let n=new Event(o.type,o);this.dispatchEvent(n)},"proxifyEvent"),r=["load","error"];for(let o of r)e.addEventListener(o,t)}get img(){return this.hasPreviewImage||(this._setupConfigForImage({elNode:this._img}),this.appendChild(this._img)),this._img}get currentImg(){return this.hasPreviewImage?{type:oo.PREVIEW,img:this._imgPreview}:{type:oo.MAIN,img:this.img}}get hasPreviewImage(){return this.$$("is-preview-blur")}get bgSelector(){return this.$$("is-background-for")}get breakpoints(){if(this.$$("breakpoints")){let e=F(this.$$("breakpoints"));return wn(e.map(t=>parseInt(t,10)))}else return null}get hasFormatJPG(){return this.$$("format").toLowerCase()==="jpeg"}renderBg(e){let t=new Set;t.add(`url("${this._getUrlBase(this._getElSize(e))}") 1x`),this.$$("hi-res-support")&&t.add(`url("${this._getUrlBase(this._getElSize(e,2))}") ${2}x`),this.$$("ultra-res-support")&&t.add(`url("${this._getUrlBase(this._getElSize(e,3))}") ${3}x`);let r=`image-set(${[...t].join(", ")})`;e.style.setProperty("background-image",r),e.style.setProperty("background-image","-webkit-"+r)}getSrcset(){let e=new Set;return this.breakpoints?this.breakpoints.forEach(t=>{e.add(this._getUrlBase(t+"x")+` ${this._validateSize(t+"w")}`),this.$$("hi-res-support")&&e.add(this._getUrlBase(t*2+"x")+` ${this._validateSize(t*2+"w")}`),this.$$("ultra-res-support")&&e.add(this._getUrlBase(t*3+"x")+` ${this._validateSize(t*3+"w")}`)}):(e.add(this._getUrlBase(this._getElSize(this.currentImg.img))+" 1x"),this.$$("hi-res-support")&&e.add(this._getUrlBase(this._getElSize(this.currentImg.img,2))+" 2x"),this.$$("ultra-res-support")&&e.add(this._getUrlBase(this._getElSize(this.currentImg.img,3))+" 3x")),[...e].join()}getSrc(){return this._getUrlBase()}get srcUrlPreview(){return this._getUrlBase("100x","100")}renderBackground(){[...document.querySelectorAll(this.bgSelector)].forEach(e=>{this.$$("intersection")?this.initIntersection(e,()=>{this.renderBg(e)}):this.renderBg(e)})}_appendURL({elNode:e,src:t,srcset:r}){t&&(e.src=t),r&&(e.srcset=r)}_setupConfigForImage({elNode:e}){this._setupEventProxy(e),this.initAttributes(e)}loaderImage({src:e,srcset:t,elNode:r}){return new Promise((o,n)=>{this._setupConfigForImage({elNode:r}),r.setAttribute(eo,""),r.addEventListener("load",()=>{r.removeAttribute(eo),o(r)}),r.addEventListener("error",()=>{n(!1)}),this._appendURL({elNode:r,src:e,srcset:t})})}async renderImage(){if(this.$$("intersection")){this.hasPreviewImage&&(this._setupConfigForImage({elNode:this._imgPreview}),this.appendChild(this._imgPreview)),this.initIntersection(this.currentImg.img,async()=>{this.hasPreviewImage&&(this._imgPreview.src=this.srcUrlPreview);try{await this.loaderImage({src:this.getSrc(),srcset:this.getSrcset(),elNode:this._img}),this.hasPreviewImage&&await this._imgPreview.remove(),this.appendChild(this._img)}catch{this.hasPreviewImage&&await this._imgPreview?.remove(),this.appendChild(this._img)}});return}try{this.hasPreviewImage&&(await this.loaderImage({src:this.srcUrlPreview,elNode:this._imgPreview}),this.appendChild(this._imgPreview)),await this.loaderImage({src:this.getSrc(),srcset:this.getSrcset(),elNode:this._img}),this.hasPreviewImage&&await this._imgPreview?.remove(),this.appendChild(this._img)}catch{this.hasPreviewImage&&await this._imgPreview?.remove(),this.appendChild(this._img)}}init(){this.bgSelector?this.renderBackground():this.renderImage()}};var Yi=class extends Zi{static{s(this,"Img")}initCallback(){super.initCallback(),this.sub$$("src",()=>{this.init()}),this.sub$$("uuid",()=>{this.init()}),this.sub$$("lazy",e=>{!this.$$("is-background-for")&&!this.$$("is-preview-blur")&&(this.img.loading=e?"lazy":"eager")})}};var so=null,Gt=class extends b{static{s(this,"Modal")}static styleAttrs=[...super.styleAttrs,"uc-modal"];static StateConsumerScope="modal";_mouseDownTarget;handleModalOpen;handleModalClose;handleModalCloseAll;constructor(){super(),this.init$={...this.init$,closeClicked:this._handleDialogClose}}_handleBackdropClick=s(()=>{this._closeDialog()},"_handleBackdropClick");_closeDialog=s(()=>{this.modalManager?.close(this.id),this.modalManager?.hasActiveModals||(document.body.style.overflow="")},"_closeDialog");_handleDialogClose=s(()=>{this._closeDialog()},"_handleDialogClose");_handleDialogMouseDown=s(e=>{this._mouseDownTarget=e.target},"_handleDialogMouseDown");_handleDialogMouseUp=s(e=>{let t=e.target;t===this.ref.dialog&&t===this._mouseDownTarget&&this._closeDialog()},"_handleDialogMouseUp");show(){let e=this.ref.dialog;typeof e.showModal=="function"?(this.setAttribute("aria-modal","true"),e.showModal()):e.setAttribute("open",""),this.cfg.modalScrollLock&&(document.body.style.overflow="hidden")}hide(){let e=this.ref.dialog;typeof e.close=="function"?(this.setAttribute("aria-modal","false"),e.close()):e.removeAttribute("open")}_handleModalOpen({id:e}){e===this.id?(so=e,this.show(),this.emit(x.MODAL_OPEN,{modalId:e},{debounce:!0})):this.hide()}_handleModalClose({id:e}){e===this.id&&(this.hide(),this.emit(x.MODAL_CLOSE,{modalId:e,hasActiveModals:this.modalManager?.hasActiveModals},{debounce:!0}))}_handleModalCloseAll(e){this.hide(),so===this.id&&this.emit(x.MODAL_CLOSE,{modalId:so,hasActiveModals:this.modalManager?.hasActiveModals},{debounce:!0})}initCallback(){super.initCallback(),this.modalManager?.registerModal(this.id,this);let e=this.ref.dialog;e.addEventListener("close",this._handleDialogClose),e.addEventListener("mousedown",this._handleDialogMouseDown),e.addEventListener("mouseup",this._handleDialogMouseUp),this.subConfigValue("modalBackdropStrokes",t=>{t?this.setAttribute("strokes",""):this.removeAttribute("strokes")}),this.handleModalOpen=this._handleModalOpen.bind(this),this.handleModalClose=this._handleModalClose.bind(this),this.handleModalCloseAll=this._handleModalCloseAll.bind(this),this.modalManager?.subscribe($.OPEN,this.handleModalOpen),this.modalManager?.subscribe($.CLOSE,this.handleModalClose),this.modalManager?.subscribe($.CLOSE_ALL,this.handleModalCloseAll)}destroyCallback(){super.destroyCallback(),document.body.style.overflow="",this._mouseDownTarget=void 0;let e=this.ref.dialog;e.removeEventListener("close",this._handleDialogClose),e.removeEventListener("mousedown",this._handleDialogMouseDown),e.removeEventListener("mouseup",this._handleDialogMouseUp),this.modalManager?.unsubscribe($.OPEN,this.handleModalOpen),this.modalManager?.unsubscribe($.CLOSE,this.handleModalClose),this.modalManager?.unsubscribe($.CLOSE_ALL,this.handleModalCloseAll)}};Gt.template=`<dialog ref="dialog"><slot></slot></dialog>`;var Wt=class extends b{static{s(this,"ProgressBar")}_value=0;_visible=!0;constructor(){super(),this.init$={...this.init$,width:0,opacity:0}}initCallback(){super.initCallback();let e=s(()=>{let t=this.ref.fakeProgressLine;if(!this._visible){t.classList.add("uc-fake-progress--hidden");return}this._value>0&&t.classList.add("uc-fake-progress--hidden")},"handleFakeProgressAnimation");this.ref.fakeProgressLine.addEventListener("animationiteration",e),this.defineAccessor("value",t=>{t!=null&&(this._value=t,this._visible&&this.style.setProperty("--l-progress-value",this._value.toString()))}),this.defineAccessor("visible",t=>{this._visible=t,this.classList.toggle("uc-progress-bar--hidden",!t)})}};Wt.template=`<div ref="fakeProgressLine" class="uc-fake-progress"></div><div ref="realProgressLine" class="uc-progress"></div>`;var qt=class extends M{static{s(this,"ProgressBarCommon")}_unobserveCollectionCb;constructor(){super(),this.init$={...this.init$,visible:!1,value:0,"*commonProgress":0}}initCallback(){super.initCallback(),this._unobserveCollectionCb=this.uploadCollection.observeProperties(()=>{let e=this.uploadCollection.items().some(t=>this.uploadCollection.read(t)?.getValue("isUploading")??!1);this.$.visible=e}),this.sub("visible",e=>{e?this.setAttribute("active",""):this.removeAttribute("active")}),this.sub("*commonProgress",e=>{this.$.value=e})}destroyCallback(){super.destroyCallback(),this._unobserveCollectionCb?.(),this._unobserveCollectionCb=void 0}};qt.template='<uc-progress-bar set="visible: visible; value: value"></uc-progress-bar>';var Xt=class extends b{static{s(this,"Select")}constructor(){super(),this.init$={...this.init$,currentText:"",options:[],selectHtml:"",onSelect:s(e=>{e.preventDefault(),e.stopPropagation();let t=this.ref.select;this.value=t.value,this.$.currentText=this.$.options.find(r=>r.value===this.value)?.text||"",this.dispatchEvent(new Event("change"))},"onSelect")}}initCallback(){super.initCallback(),this.sub("options",e=>{this.$.currentText=e?.[0]?.text||"";let t="";e?.forEach(r=>{t+=`<option value="${r.value}">${r.text}</option>`}),this.$.selectHtml=t})}};Xt.template='<select ref="select" set="innerHTML: selectHtml; onchange: onSelect"></select>';var ft=class extends M{static{s(this,"SimpleBtn")}static styleAttrs=[...super.styleAttrs,"uc-simple-btn"];couldBeCtxOwner=!0;constructor(){super(),this.init$={...this.init$,withDropZone:!0,onClick:s(()=>{this.api.initFlow()},"onClick"),"button-text":""}}initCallback(){super.initCallback(),this.defineAccessor("dropzone",e=>{typeof e>"u"||(this.$.withDropZone=k(e))}),this.subConfigValue("multiple",e=>{this.$["button-text"]=e?"upload-files":"upload-file"})}};ft.template=`<uc-drop-area set="@disabled: !withDropZone"><button type="button" set="onclick: onClick"><uc-icon name="upload"></uc-icon><span l10n="button-text"></span><slot></slot><div class="uc-visual-drop-area" l10n="drop-files-here"></div></button></uc-drop-area>`;ft.bindAttributes({dropzone:null});var Bc="src-type-",gt=class extends M{static{s(this,"SourceBtn")}couldBeCtxOwner=!0;type=void 0;_registeredTypes={};constructor(){super(),this.init$={...this.init$,iconName:"default","src-type":""}}initTypes(){this.registerType({type:U.LOCAL,activate:s(()=>(this.api.openSystemDialog(),!1),"activate")}),this.registerType({type:U.URL,activity:g.activities.URL,textKey:"from-url"}),this.registerType({type:U.CAMERA,activity:g.activities.CAMERA,activate:s(()=>{let e=Ve.htmlMediaCapture;return e&&this.api.openSystemDialog({captureCamera:!0}),!e},"activate")}),this.registerType({type:"draw",activity:g.activities.DRAW,icon:"edit-draw"});for(let e of Object.values($r))this.registerType({type:e,activity:g.activities.CAMERA,activate:s(()=>{let t=Ve.htmlMediaCapture;return t&&this.api.openSystemDialog({captureCamera:!0,modeCamera:e==="mobile-photo-camera"?w.PHOTO:w.VIDEO}),!t},"activate")});for(let e of Object.values(ae))this.registerType({type:e,activity:g.activities.EXTERNAL,activityParams:{externalSourceType:e}})}initCallback(){super.initCallback(),this.initTypes(),this.defineAccessor("type",e=>{e&&this.applyType(e)})}registerType(e){this._registeredTypes[e.type]=e}getType(e){return this._registeredTypes[e]}activate(){if(!this.type)return;let e=this._registeredTypes[this.type];if(!e)return;let{activity:t,activate:r,activityParams:o={}}=e;(r?r():!!t)&&t&&(this.modalManager?.open(t),this.set$({"*currentActivityParams":o,"*currentActivity":t}))}applyType(e){let t=this._registeredTypes[e];if(!t){console.warn(`Unsupported source type: ${e}`);return}let{textKey:r=e,icon:o=e}=t;this.$["src-type"]=`${Bc}${r}`,this.$.iconName=o,this.onclick=()=>{this.activate()}}};gt.template=`<button type="button"><uc-icon set="@name: iconName"></uc-icon><div class="uc-txt" l10n="src-type"></div></button>`;gt.bindAttributes({type:null});var Qi=class extends b{static{s(this,"SourceList")}initCallback(){super.initCallback(),this.subConfigValue("sourceList",e=>{let t=F(e),r="";t.forEach(o=>{if(o==="instagram"){console.error("Instagram source was removed because the Instagram Basic Display API hasn't been available since December 4, 2024. Official statement, see here:https://developers.facebook.com/blog/post/2024/09/04/update-on-instagram-basic-display-api/?locale=en_US");return}if(o==="camera"&&Ve.htmlMediaCapture){this.subConfigValue("cameraModes",n=>{let a=X(n);a.forEach(l=>{r+=`<uc-source-btn role="listitem" type="mobile-${l}-camera"></uc-source-btn>`}),a.length===0&&(r+='<uc-source-btn role="listitem" type="mobile-photo-camera"></uc-source-btn>')});return}r+=`<uc-source-btn role="listitem" type="${o}"></uc-source-btn>`}),this.cfg.sourceListWrap?this.innerHTML=r:this.outerHTML=r})}};var Zt=class extends ve{static{s(this,"Spinner")}};Zt.template='<div class="uc-spinner"></div>';var Yt=class extends g{static{s(this,"StartFrom")}historyTracked=!0;activityType=g.activities.START_FROM;initCallback(){super.initCallback(),this.registerActivity(this.activityType??"")}};Yt.template='<div class="uc-content"><slot></slot></div>';function no(i,e=40){if(i.type==="image/svg+xml")return URL.createObjectURL(i);let t=document.createElement("canvas"),r=t.getContext("2d");if(!r)return Promise.reject(new Error("Canvas context not supported"));let o=new Image,n=new Promise((a,l)=>{o.onload=()=>{let c=o.height/o.width;c>1?(t.width=e,t.height=e*c):(t.height=e,t.width=e/c),r.fillStyle="rgb(240, 240, 240)",r.fillRect(0,0,t.width,t.height),r.drawImage(o,0,0,t.width,t.height),t.toBlob(d=>{if(!d){l();return}let u=URL.createObjectURL(d);a(u)})},o.onerror=c=>{l(c)}});return o.src=URL.createObjectURL(i),n}s(no,"generateThumb");function zc(i){let e=new Blob([i],{type:"image/svg+xml"});return URL.createObjectURL(e)}s(zc,"createSvgBlobUrl");function Ji(i="hsl(209, 21%, 65%)",e=32,t=32){return zc(`<svg width="${e}" height="${t}" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" fill="${i}" d="M9.68848 8.70068C9.68848 8.42454 9.91233 8.20068 10.1885 8.20068H15.0885C15.2211 8.20068 15.3483 8.25336 15.442 8.34713L20.342 13.2471C20.4358 13.3409 20.4885 13.4681 20.4885 13.6007V21.3007C20.4885 21.5768 20.2646 21.8007 19.9885 21.8007H10.1885C9.91233 21.8007 9.68848 21.5768 9.68848 21.3007V8.70068ZM10.6885 9.20068V20.8007H19.4885V14.1007L15.0885 14.1007C14.8123 14.1007 14.5885 13.8768 14.5885 13.6007L14.5885 9.20068H10.6885ZM15.5885 9.90779L18.7814 13.1007L15.5885 13.1007L15.5885 9.90779Z"/></svg>`)}s(Ji,"fileCssBg");var Hc=3e3,vt=class extends pt{static{s(this,"Thumb")}_renderedGridOnce=!1;_thumbRect=null;_isIntersecting=!1;_firstViewMode=this.cfg.filesViewMode;_observer;constructor(){super(),this.init$={...this.init$,thumbUrl:"",badgeIcon:"",uid:""}}_calculateThumbSize(e=!1){e&&(this._thumbRect=this.getBoundingClientRect());let t=Math.max(parseInt(String(this?._thumbRect?.height||0),10),parseInt(String(this?._thumbRect?.width||0),10),this.cfg.thumbSize);return window.devicePixelRatio>1&&(t*=window.devicePixelRatio),Math.min(t,Hc)}_generateThumbnail=this._withEntry(async(e,t=!1)=>{let r=e.getValue("fileInfo"),o=e.getValue("isImage"),n=e.getValue("uuid"),a=e.getValue("thumbUrl"),l=this._calculateThumbSize(t);if(r&&o&&n){let d=await this.proxyUrl(D(Se(this.cfg.cdnCname,n),j(e.getValue("cdnUrlModifiers"),"stretch/off",`scale_crop/${l}x${l}/center`)));if(a===d)return;let{promise:u}=He(d);u.then(()=>{e.setValue("thumbUrl",d),a?.startsWith("blob:")&&URL.revokeObjectURL(a)}).catch(async()=>{if(!a?.startsWith("blob:"))try{let p=e.getValue("file");if(!p)return;let h=await no(p,l);e.setValue("thumbUrl",h)}catch(p){this.telemetryManager.sendEventError(p,"thumbnail generation. Failed to generate thumb from file");let h=window.getComputedStyle(this).getPropertyValue("--uc-muted-foreground");e.setValue("thumbUrl",Ji(h))}});return}if(e.getValue("thumbUrl"))return;let c=e.getValue("file");if(c?.type.includes("image"))try{let d=await no(c,l);e.setValue("thumbUrl",d)}catch(d){this.telemetryManager.sendEventError(d,"thumbnail generation. Failed to generate thumb from file");let u=window.getComputedStyle(this).getPropertyValue("--uc-muted-foreground");e.setValue("thumbUrl",Ji(u))}else{let d=window.getComputedStyle(this).getPropertyValue("--uc-muted-foreground");e.setValue("thumbUrl",Ji(d))}});_debouncedGenerateThumb=L(this._generateThumbnail.bind(this),100);_observerCallback(e){let[t]=e;t&&(this._isIntersecting=t.isIntersecting,t.isIntersecting&&(this._thumbRect=t.boundingClientRect,this._debouncedGenerateThumb(),this._observer?.disconnect()),t.intersectionRatio===0&&this._debouncedGenerateThumb.cancel())}_reset(){super._reset(),this._debouncedGenerateThumb.cancel()}_handleEntryId(e){this._reset();let t=this.uploadCollection?.read(e);this._entry=t,t&&(this._subEntry("fileInfo",r=>{r?.isImage&&this._isIntersecting&&this._debouncedGenerateThumb()}),this._subEntry("thumbUrl",r=>{this.$.thumbUrl=r?`url(${r})`:""}),this._subEntry("cdnUrlModifiers",()=>{this._isIntersecting&&this._debouncedGenerateThumb()}),this._isIntersecting&&this._debouncedGenerateThumb())}initCallback(){super.initCallback(),this.defineAccessor("badgeIcon",e=>{this.$.badgeIcon=e}),this.defineAccessor("uid",e=>{this.set$({uid:e})}),this.sub("uid",e=>{this._handleEntryId(e)}),this.subConfigValue("filesViewMode",e=>{e==="grid"&&!this._renderedGridOnce&&(this._firstViewMode==="list"&&this._debouncedGenerateThumb(!0),this._renderedGridOnce=!0)}),this.setAttribute("role","img")}connectedCallback(){super.connectedCallback(),this._observer=new window.IntersectionObserver(this._observerCallback.bind(this),{threshold:.1}),this._observer.observe(this)}disconnectedCallback(){super.disconnectedCallback(),this._entrySubs=new Set,this._debouncedGenerateThumb.cancel(),this._observer?.disconnect()}};vt.template=`<div class="uc-thumb" set="style.backgroundImage: thumbUrl"><div class="uc-badge"><uc-icon set="@name: badgeIcon"></uc-icon></div></div>`;vt.bindAttributes({badgeIcon:null,uid:null});var er=class extends M{static{s(this,"UploadCtxProvider")}static styleAttrs=["uc-wgt-common"];static EventType=x;requireCtxName=!0;initCallback(){super.initCallback(),this.$["*eventEmitter"].bindTarget(this)}destroyCallback(){super.destroyCallback(),this.$["*eventEmitter"].unbindTarget(this)}};var Qt=class extends M{static{s(this,"UploadList")}couldBeCtxOwner=!0;historyTracked=!0;activityType=g.activities.UPLOAD_LIST;constructor(){super(),this.init$={...this.init$,doneBtnVisible:!1,doneBtnEnabled:!1,uploadBtnVisible:!1,addMoreBtnVisible:!1,addMoreBtnEnabled:!1,headerText:"",commonErrorMessage:"",hasFiles:!1,onAdd:s(()=>{this.telemetryManager.sendEvent({eventType:O.ACTION_EVENT,payload:{metadata:{event:"add-more",node:this.tagName}}}),this.api.initFlow(!0)},"onAdd"),onUpload:s(()=>{this.emit(x.UPLOAD_CLICK),this.api.uploadAll(),this._throttledHandleCollectionUpdate()},"onUpload"),onDone:s(()=>{this.emit(x.DONE_CLICK,this.api.getOutputCollectionState()),this.api.doneFlow()},"onDone"),onCancel:s(()=>{this.telemetryManager.sendEvent({eventType:O.ACTION_EVENT,payload:{metadata:{event:"clear-all",node:this.tagName}}}),this.uploadCollection.clearAll()},"onCancel")}}_throttledHandleCollectionUpdate=ot(()=>{this.isConnected&&(this._updateUploadsState(),!this.couldOpenActivity&&this.$["*currentActivity"]===this.activityType&&this.historyBack(),this.cfg.confirmUpload||this.api.uploadAll())},300);_updateUploadsState(){let e=this.api.getOutputCollectionState(),t={total:e.totalCount,succeed:e.successCount,uploading:e.uploadingCount,failed:e.failedCount,validatingBeforeUploading:e.idleEntries.filter(h=>h.isValidationPending).length},r=!e.errors.some(h=>h.type==="TOO_MANY_FILES"||h.type==="TOO_FEW_FILES"),o=e.errors.some(h=>h.type==="TOO_MANY_FILES"),n=e.totalCount===(this.cfg.multiple?this.cfg.multipleMax:1),a=e.allEntries.some(h=>h.isValidationPending),l=t.failed===0&&e.errors.length===0&&!a,c=!1,d=!1,u=!1;if(t.total-t.succeed-t.uploading-t.failed>0&&r&&l)c=!0;else{d=!0;let h=this.cfg.groupOutput?!!e.group:!0;u=t.total===t.succeed&&r&&l&&h}this.set$({doneBtnVisible:d,doneBtnEnabled:u,uploadBtnVisible:c,addMoreBtnEnabled:t.total===0||!o&&!n,addMoreBtnVisible:!n||this.cfg.multiple,hasFiles:t.total>0}),this.bindL10n("headerText",()=>this._getHeaderText(t))}_getHeaderText(e){let t=s(r=>{let o=e[r];return r==="uploading"&&(o+=e.validatingBeforeUploading),this.l10n(`header-${r}`,{count:o})},"localizedText");return e.uploading>0||e.validatingBeforeUploading>0?t("uploading"):e.failed>0?t("failed"):e.succeed>0?t("succeed"):t("total")}get couldOpenActivity(){return this.cfg.showEmptyList||this.uploadCollection.size>0}initCallback(){super.initCallback(),this.registerActivity(this.activityType),this.subConfigValue("multiple",this._throttledHandleCollectionUpdate),this.subConfigValue("multipleMin",this._throttledHandleCollectionUpdate),this.subConfigValue("multipleMax",this._throttledHandleCollectionUpdate),this.sub("*groupInfo",e=>{e&&this._throttledHandleCollectionUpdate()}),this.subConfigValue("filesViewMode",e=>{this.setAttribute("mode",e)}),this.sub("*currentActivity",e=>{!this.couldOpenActivity&&e===this.activityType&&(this.$["*currentActivity"]=this.initActivity)}),this.uploadCollection.observeProperties(this._throttledHandleCollectionUpdate),this.uploadCollection.observeCollection(this._throttledHandleCollectionUpdate),this.sub("*collectionErrors",e=>{let t=e.filter(r=>r.type!=="SOME_FILES_HAS_ERRORS")[0];if(!t){this.set$({commonErrorMessage:null});return}this.set$({commonErrorMessage:t.message})})}destroyCallback(){super.destroyCallback(),this.uploadCollection.unobserveProperties(this._throttledHandleCollectionUpdate),this.uploadCollection.unobserveCollection(this._throttledHandleCollectionUpdate)}};Qt.template=`<uc-activity-header><span aria-live="polite" class="uc-header-text">{{headerText}}</span><button type="button" class="uc-mini-btn uc-close-btn" set="onclick: *closeModal" l10n="@title:a11y-activity-header-button-close;@aria-label:a11y-activity-header-button-close" ><uc-icon name="close"></uc-icon></button></uc-activity-header><div class="uc-no-files" set="@hidden: hasFiles"><slot name="empty"><span l10n="no-files"></span></slot></div><div class="uc-files"><div class="uc-files-wrapper" repeat="*uploadList" repeat-item-tag="uc-file-item"></div><button type="button" class="uc-add-more-btn uc-secondary-btn" set="onclick: onAdd; @disabled: !addMoreBtnEnabled; @hidden: !addMoreBtnVisible" ><uc-icon name="add"></uc-icon><span l10n="add-more"></span></button></div><div class="uc-common-error" set="@hidden: !commonErrorMessage; textContent: commonErrorMessage;"></div><div class="uc-toolbar"><button type="button" class="uc-cancel-btn uc-secondary-btn" set="onclick: onCancel;" l10n="clear"></button><div class="uc-toolbar-spacer"></div><button type="button" class="uc-add-more-btn uc-secondary-btn" set="onclick: onAdd; @disabled: !addMoreBtnEnabled; @hidden: !addMoreBtnVisible" ><uc-icon name="add"></uc-icon><span l10n="add-more"></span></button><button type="button" class="uc-upload-btn uc-primary-btn" set="@hidden: !uploadBtnVisible; onclick: onUpload;" l10n="upload" ></button><button type="button" class="uc-done-btn uc-primary-btn" set="@hidden: !doneBtnVisible; onclick: onDone; @disabled: !doneBtnEnabled" l10n="done" ></button></div><uc-drop-area ghost></uc-drop-area>`;var Jt=class extends M{static{s(this,"UrlSource")}couldBeCtxOwner=!0;activityType=g.activities.URL;constructor(){super(),this.init$={...this.init$,importDisabled:!0,onUpload:s(e=>{e.preventDefault(),this.telemetryManager.sendEvent({eventType:O.ACTION_EVENT,payload:{metadata:{event:"upload-from-url",node:this.tagName}}});let t=this.ref.input.value;this.api.addFileFromUrl(t,{source:U.URL}),this.modalManager?.open(g.activities.UPLOAD_LIST),this.$["*currentActivity"]=g.activities.UPLOAD_LIST},"onUpload"),onCancel:s(()=>{this.historyBack()},"onCancel"),onInput:s(e=>{let t=e.target?.value??"";this.set$({importDisabled:!t})},"onInput")}}initCallback(){super.initCallback(),this.registerActivity(this.activityType??"",{onActivate:s(()=>{let e=this.ref.input;e.value="",e.focus()},"onActivate")})}};Jt.template=`<uc-activity-header><button type="button" class="uc-mini-btn" set="onclick: *historyBack" l10n="@title:back;@aria-label:back"><uc-icon name="back"></uc-icon></button><div><uc-icon name="url"></uc-icon><span l10n="caption-from-url"></span></div><button type="button" class="uc-mini-btn uc-close-btn" set="onclick: *closeModal" l10n="@title:a11y-activity-header-button-close;@aria-label:a11y-activity-header-button-close" ><uc-icon name="close"></uc-icon></button></uc-activity-header><form class="uc-content"><label><input placeholder="https://" class="uc-url-input" type="text" ref="input" set="oninput: onInput" /></label><button type="submit" class="uc-url-upload-btn uc-primary-btn" set="onclick: onUpload; @disabled: importDisabled" l10n="upload-url" ></button></form>`;var tr=class extends he{static{s(this,"CloudImageEditor")}static styleAttrs=[...super.styleAttrs,"uc-wgt-common"];constructor(){super(),this.init$={...this.init$,"*solution":this.tagName}}initCallback(){super.initCallback(),this.telemetryManager.sendEvent({eventType:O.INIT_SOLUTION}),this.a11y?.registerBlock(this)}};var ei=class extends ce{static{s(this,"FileUploaderInline")}static styleAttrs=[...super.styleAttrs,"uc-file-uploader-inline"];constructor(){super(),this.init$={...this.init$,couldCancel:!1,"*solution":this.tagName,cancel:s(()=>{if(this.couldHistoryBack){let e=this.$["*historyBack"];e?.();return}this.couldShowList&&(this.$["*currentActivity"]=g.activities.UPLOAD_LIST)},"cancel")}}get couldHistoryBack(){let e=this.$["*history"];return!e||e.length<=1?!1:e[e.length-1]!==g.activities.START_FROM}get couldShowList(){let e=this.$["*uploadList"];return this.cfg.showEmptyList||Array.isArray(e)&&e.length>0}initCallback(){super.initCallback(),this.telemetryManager.sendEvent({eventType:O.INIT_SOLUTION});let e=this.ref.uBlock;e&&(this.sub("*currentActivity",t=>{t||(this.$["*currentActivity"]=e.initActivity||g.activities.START_FROM)}),this.sub("*uploadList",t=>{Array.isArray(t)&&t.length>0&&this.$["*currentActivity"]===(e.initActivity||g.activities.START_FROM)&&(this.$["*currentActivity"]=g.activities.UPLOAD_LIST)}),this.sub("*history",()=>{this.$.couldCancel=this.couldHistoryBack||this.couldShowList}))}};ei.template=`<uc-start-from><uc-drop-area with-icon clickable></uc-drop-area><uc-source-list role="list" wrap></uc-source-list><button type="button" l10n="start-from-cancel" class="uc-cancel-btn uc-secondary-btn" set="onclick: cancel; @hidden: !couldCancel" ></button><uc-copyright></uc-copyright></uc-start-from><uc-upload-list ref="uBlock"></uc-upload-list><uc-camera-source></uc-camera-source><uc-url-source></uc-url-source><uc-external-source></uc-external-source><uc-cloud-image-editor-activity></uc-cloud-image-editor-activity>`;var ao="active",ir="",ti=class extends ce{static{s(this,"FileUploaderMinimal")}static styleAttrs=[...super.styleAttrs,"uc-file-uploader-minimal"];handleModalOpen;handleModalClose;constructor(){super(),this.init$={...this.init$,singleUpload:!1,isHiddenStartFrom:!1,classUploadList:ir,classStartFrom:ir,"*solution":this.tagName}}_handleModalOpen(e){e.id===g.activities.CLOUD_IMG_EDIT&&this.set$({classUploadList:ao}),this.$["*currentActivity"]===g.activities.UPLOAD_LIST&&this.set$({classUploadList:ao,isHiddenStartFrom:!0});let t=this.$["*uploadList"];(!t||t.length<=0)&&this.set$({classStartFrom:ao})}_handleModalClose(e){e.id===this.$["*currentActivity"]&&(this.$["*currentActivity"]=g.activities.UPLOAD_LIST,this.set$({isHiddenStartFrom:!1})),e.id===g.activities.CLOUD_IMG_EDIT&&(this.$["*currentActivity"]=g.activities.UPLOAD_LIST)}initCallback(){super.initCallback(),this.telemetryManager.sendEvent({eventType:O.INIT_SOLUTION});let e=this.ref.uBlock;e&&(this.sub("*currentActivity",t=>{t===g.activities.UPLOAD_LIST&&this.modalManager?.closeAll(),t||(this.$["*currentActivity"]=e.initActivity||g.activities.START_FROM)}),this.sub("*uploadList",t=>{Array.isArray(t)&&t.length>0?(this.$["*currentActivity"]=g.activities.UPLOAD_LIST,this.set$({classStartFrom:ir})):(this.set$({classUploadList:ir,isHiddenStartFrom:!1}),this.$["*currentActivity"]=e.initActivity||g.activities.START_FROM)}),this.subConfigValue("confirmUpload",t=>{t!==!1&&(this.cfg.confirmUpload=!1)}),this.subConfigValue("filesViewMode",t=>{this.setAttribute("mode",t),this.subConfigValue("multiple",r=>{t==="grid"?(r?this.style.removeProperty("--uc-grid-col"):this.style.setProperty("--uc-grid-col","1"),this.$.singleUpload=!r):(this.style.removeProperty("--uc-grid-col"),this.$.singleUpload=!1)})}),this.handleModalOpen=t=>{this._handleModalOpen(t)},this.handleModalClose=t=>{this._handleModalClose(t)},this.modalManager?.subscribe($.OPEN,this.handleModalOpen),this.modalManager?.subscribe($.CLOSE,this.handleModalClose))}destroyCallback(){super.destroyCallback(),this.modalManager?.unsubscribe($.OPEN,this.handleModalOpen),this.modalManager?.unsubscribe($.CLOSE,this.handleModalClose)}};ti.template=`<uc-start-from set="@hidden: isHiddenStartFrom; @class:classStartFrom"><uc-drop-area set="@single:singleUpload;" initflow clickable tabindex="0" l10n="choose-file"></uc-drop-area><uc-copyright></uc-copyright></uc-start-from><uc-upload-list set="@class:classUploadList" ref="uBlock"></uc-upload-list><uc-modal id="start-from" strokes block-body-scrolling><uc-start-from><uc-drop-area with-icon clickable></uc-drop-area><uc-source-list role="list" wrap></uc-source-list><button type="button" l10n="start-from-cancel" class="uc-secondary-btn" set="onclick: *historyBack"></button></uc-start-from></uc-modal><uc-modal id="camera" strokes block-body-scrolling><uc-camera-source></uc-camera-source></uc-modal><uc-modal id="url" strokes block-body-scrolling><uc-url-source></uc-url-source></uc-modal><uc-modal id="external" strokes block-body-scrolling><uc-external-source></uc-external-source></uc-modal><uc-modal id="cloud-image-edit" strokes block-body-scrolling><uc-cloud-image-editor-activity></uc-cloud-image-editor-activity></uc-modal>`;var yt=class extends ce{static{s(this,"FileUploaderRegular")}static styleAttrs=[...super.styleAttrs,"uc-file-uploader-regular"];constructor(){super();let e={...this.init$,isHidden:!1,"*solution":this.tagName};this.init$=e}initCallback(){super.initCallback(),this.telemetryManager.sendEvent({eventType:O.INIT_SOLUTION}),this.defineAccessor("headless",e=>{this.set$({isHidden:k(e)})})}};yt.template=`<uc-simple-btn set="@hidden: isHidden"></uc-simple-btn><uc-modal id="start-from" strokes block-body-scrolling><uc-start-from><uc-drop-area with-icon clickable></uc-drop-area><uc-source-list role="list" wrap></uc-source-list><button type="button" l10n="start-from-cancel" class="uc-secondary-btn" set="onclick: *historyBack"></button><uc-copyright></uc-copyright></uc-start-from></uc-modal><uc-modal id="upload-list" strokes block-body-scrolling><uc-upload-list></uc-upload-list></uc-modal><uc-modal id="camera" strokes block-body-scrolling><uc-camera-source></uc-camera-source></uc-modal><uc-modal id="url" strokes block-body-scrolling><uc-url-source></uc-url-source></uc-modal><uc-modal id="external" strokes block-body-scrolling><uc-external-source></uc-external-source></uc-modal><uc-modal id="cloud-image-edit" strokes block-body-scrolling><uc-cloud-image-editor-activity></uc-cloud-image-editor-activity></uc-modal>`;yt.bindAttributes({headless:null});return On(jc);})();
|
|
29
|
+
`))}}return e}s(cr,"operationsToTransformations");var R=Object.freeze({CROP:"crop",TUNING:"tuning",FILTERS:"filters"}),Z=Object.freeze([R.CROP,R.TUNING,R.FILTERS]),wo=Object.freeze(["brightness","exposure","gamma","contrast","saturation","vibrance","warmth","enhance"]),Co=Object.freeze(["adaris","briaril","calarel","carris","cynarel","cyren","elmet","elonni","enzana","erydark","fenralan","ferand","galen","gavin","gethriel","iorill","iothari","iselva","jadis","lavra","misiara","namala","nerion","nethari","pamaya","sarnar","sedis","sewen","sorahel","sorlen","tarian","thellassan","varriel","varven","vevera","virkas","yedis","yllara","zatvel","zevcen"]),Eo=Object.freeze(["rotate","mirror","flip"]),_e=wt,se=Object.freeze({brightness:{zero:_e.brightness,range:[-100,100],keypointsNumber:2},exposure:{zero:_e.exposure,range:[-500,500],keypointsNumber:2},gamma:{zero:_e.gamma,range:[0,1e3],keypointsNumber:2},contrast:{zero:_e.contrast,range:[-100,500],keypointsNumber:2},saturation:{zero:_e.saturation,range:[-100,500],keypointsNumber:1},vibrance:{zero:_e.vibrance,range:[-100,500],keypointsNumber:1},warmth:{zero:_e.warmth,range:[-100,100],keypointsNumber:1},enhance:{zero:_e.enhance,range:[0,100],keypointsNumber:1},filter:{zero:_e.filter,range:[0,100],keypointsNumber:1}});var Ct="https://ucarecdn.com",ra="https://upload.uploadcare.com",oa="https://social.uploadcare.com",sa="https://ucarecd.net",na={pubkey:"",multiple:!0,multipleMin:0,multipleMax:Number.MAX_SAFE_INTEGER,confirmUpload:!1,imgOnly:!1,accept:"",externalSourcesPreferredTypes:"",externalSourcesEmbedCss:"",store:"auto",cameraMirror:!1,cameraCapture:"",sourceList:"local, url, camera, dropbox, gdrive",topLevelOrigin:"",cloudImageEditorTabs:ye(Z),maxLocalFileSizeBytes:0,thumbSize:76,showEmptyList:!1,useLocalImageEditor:!1,useCloudImageEditor:!0,removeCopyright:!1,cropPreset:"",imageShrink:"",modalScrollLock:!0,modalBackdropStrokes:!1,sourceListWrap:!0,remoteTabSessionKey:"",cdnCname:Ct,cdnCnamePrefixed:sa,baseUrl:ra,socialBaseUrl:oa,secureSignature:"",secureExpire:"",secureDeliveryProxy:"",retryThrottledRequestMaxTimes:10,retryNetworkErrorMaxTimes:3,multipartMinFileSize:26214400,multipartChunkSize:5242880,maxConcurrentRequests:10,multipartMaxConcurrentRequests:4,multipartMaxAttempts:3,checkForUrlDuplicates:!1,saveUrlForRecurrentUploads:!1,groupOutput:!1,userAgentIntegration:"",debug:!1,metadata:null,localeName:"en",localeDefinitionOverride:null,secureUploadsExpireThreshold:600*1e3,secureUploadsSignatureResolver:null,secureDeliveryProxyUrlResolver:null,iconHrefResolver:null,fileValidators:[],collectionValidators:[],validationTimeout:15*1e3,validationConcurrency:100,cameraModes:"photo, video",defaultCameraMode:null,enableAudioRecording:!0,enableVideoRecording:null,maxVideoRecordingDuration:null,mediaRecorderOptions:null,filesViewMode:"list",gridShowFileNames:!1,cloudImageEditorAutoOpen:!1,cloudImageEditorMaskHref:null,testMode:!1,qualityInsights:!0},Q=Object.freeze(na);var To=s(i=>{let e=new Intl.Locale(i),t="ltr",r=e.getTextInfo?.().direction;return r?t=r:e.textInfo?.direction&&(t=e.textInfo.direction),t},"getLocaleDirection");var di=s((i,e)=>new Intl.PluralRules(i).select(e),"getPluralForm");var aa=s(i=>i,"DEFAULT_TRANSFORMER"),dr="{{",Ao="}}",xo="plural:";function Et(i,e={},t={}){let{openToken:r=dr,closeToken:o=Ao,transform:n=aa}=t;for(let a in e){let l=e[a],c=l?.toString(),d=typeof c=="string"?n(c):String(c);i=i.replaceAll(r+a+o,d)}return i}s(Et,"applyTemplateData");function So(i){let e=[],t=i.indexOf(dr);for(;t!==-1;){let r=i.indexOf(Ao,t);if(r===-1)break;let o=i.substring(t+2,r);if(o.startsWith(xo)){let n=i.substring(t+2,r).replace(xo,""),a=n.substring(0,n.indexOf("(")),l=n.substring(n.indexOf("(")+1,n.indexOf(")"));e.push({variable:o,pluralKey:a,countVariable:l})}t=i.indexOf(dr,r)}return e}s(So,"getPluralObjects");var Io="--uploadcare-blocks-window-height",Tt=class i{static{s(this,"WindowHeightTracker")}static clientsRegistry=new Set;static flush=L(()=>{document.documentElement.style.setProperty(Io,`${window.innerHeight}px`)},100);static registerClient(e){i.clientsRegistry.size===0&&i.attachTracker(),i.clientsRegistry.add(e)}static unregisterClient(e){i.clientsRegistry.delete(e),i.clientsRegistry.size===0&&i.detachTracker()}static attachTracker(){window.addEventListener("resize",i.flush,{passive:!0,capture:!0}),i.flush()}static detachTracker(){window.removeEventListener("resize",i.flush,{capture:!0}),document.documentElement.style.removeProperty(Io)}};var ko=s(({element:i,attribute:e,onSuccess:t,onTimeout:r,timeout:o=300})=>{let n=i.getAttribute(e);if(n!==null){t(n);return}let a=new MutationObserver(d=>{let u=d[d.length-1];u&&c(u)});a.observe(i,{attributes:!0,attributeFilter:[e]});let l=window.setTimeout(()=>{a.disconnect(),r()},o),c=s(d=>{let u=i.getAttribute(e);d.type==="attributes"&&d.attributeName===e&&u!==null&&(window.clearTimeout(l),a.disconnect(),t(u))},"handleMutation")},"waitForAttribute");function Oo(i){return Object.prototype.toString.call(i)==="[object Object]"}s(Oo,"isObject");var la=/\W|_/g;function ca(i){return i.split(la).map((e,t)=>e.charAt(0)[t>0?"toUpperCase":"toLowerCase"]()+e.slice(1)).join("")}s(ca,"camelizeString");function Mo(i,{ignoreKeys:e}={ignoreKeys:[]}){return Array.isArray(i)?i.map(t=>Ee(t,{ignoreKeys:e})):i}s(Mo,"camelizeArrayItems");function Ee(i,{ignoreKeys:e}={ignoreKeys:[]}){if(Array.isArray(i))return Mo(i,{ignoreKeys:e});if(!Oo(i))return i;let t={};for(let r of Object.keys(i)){let o=i[r];if(e.includes(r)){t[r]=o;continue}Oo(o)?o=Ee(o,{ignoreKeys:e}):Array.isArray(o)&&(o=Mo(o,{ignoreKeys:e})),t[ca(r)]=o}return t}s(Ee,"camelizeKeys");var da=s(i=>new Promise(e=>setTimeout(e,i)),"delay");function vr({libraryName:i,libraryVersion:e,userAgent:t,publicKey:r="",integration:o=""}){let n="JavaScript";if(typeof t=="string")return t;if(typeof t=="function")return t({publicKey:r,libraryName:i,libraryVersion:e,languageName:n,integration:o});let a=[i,e,r].filter(Boolean).join("/"),l=[n,o].filter(Boolean).join("; ");return`${a} (${l})`}s(vr,"getUserAgent$1");var ua={factor:2,time:100};function pa(i,e=ua){let t=0;function r(o){let n=Math.round(e.time*e.factor**t);return o({attempt:t,retry:s(l=>da(l??n).then(()=>(t+=1,r(o))),"retry")})}return s(r,"runAttempt"),r(i)}s(pa,"retrier");var De=class extends Error{static{s(this,"UploadcareError")}},We=class i extends De{static{s(this,"NetworkError")}originalProgressEvent;constructor(e){super(),this.name="NetworkError",this.message="Network error",Object.setPrototypeOf(this,i.prototype),this.originalProgressEvent=e}},ui=s((i,e)=>{i&&(i.aborted?Promise.resolve().then(e):i.addEventListener("abort",()=>e(),{once:!0}))},"onCancel"),ke=class i extends De{static{s(this,"CancelError")}isCancel=!0;constructor(e="Request canceled"){super(e),this.name="CancelError",Object.setPrototypeOf(this,i.prototype)}},ha=500,Ro=s(({check:i,interval:e=ha,timeout:t,signal:r})=>new Promise((o,n)=>{let a,l;ui(r,()=>{a&&clearTimeout(a),n(new ke("Poll cancelled"))}),t&&(l=setTimeout(()=>{a&&clearTimeout(a),n(new ke("Timed out"))},t));let c=s(()=>{try{Promise.resolve(i(r)).then(d=>{d?(l&&clearTimeout(l),o(d)):a=setTimeout(c,e)}).catch(d=>{l&&clearTimeout(l),n(d)})}catch(d){l&&clearTimeout(l),n(d)}},"tick");a=setTimeout(c,0)}),"poll"),I={baseCDN:"https://ucarecdn.com",baseURL:"https://upload.uploadcare.com",maxContentLength:50*1024*1024,retryThrottledRequestMaxTimes:1,retryNetworkErrorMaxTimes:3,multipartMinFileSize:25*1024*1024,multipartChunkSize:5*1024*1024,multipartMinLastPartSize:1024*1024,maxConcurrentRequests:4,pollingTimeoutMilliseconds:1e4,pusherKey:"79ae88bd931ea68464d9"},pi="application/octet-stream",Po="original",Me=s(({method:i,url:e,data:t,headers:r={},signal:o,onProgress:n})=>new Promise((a,l)=>{let c=new XMLHttpRequest,d=i?.toUpperCase()||"GET",u=!1;c.open(d,e,!0),r&&Object.entries(r).forEach(p=>{let[h,f]=p;typeof f<"u"&&!Array.isArray(f)&&c.setRequestHeader(h,f)}),c.responseType="text",ui(o,()=>{u=!0,c.abort(),l(new ke)}),c.onload=()=>{if(c.status!=200)l(new Error(`Error ${c.status}: ${c.statusText}`));else{let p={method:d,url:e,data:t,headers:r||void 0,signal:o,onProgress:n},h=c.getAllResponseHeaders().trim().split(/[\r\n]+/),f={};h.forEach(function(y){let S=y.split(": "),T=S.shift(),A=S.join(": ");T&&typeof T<"u"&&(f[T]=A)});let m=c.response,v=c.status;a({request:p,data:m,headers:f,status:v})}},c.onerror=p=>{u||l(new We(p))},n&&typeof n=="function"&&(c.upload.onprogress=p=>{p.lengthComputable?n({isComputable:!0,value:p.loaded/p.total}):n({isComputable:!1})}),t?c.send(t):c.send()}),"request");function ma(i,...e){return i}s(ma,"identity");var fa=s(({name:i})=>i?[i]:[],"getFileOptions"),ga=ma,va=s(()=>new FormData,"getFormData"),Uo=s(i=>!1,"isBuffer"),hi=s(i=>typeof Blob<"u"&&i instanceof Blob,"isBlob"),mi=s(i=>typeof File<"u"&&i instanceof File,"isFile"),fi=s(i=>!!i&&typeof i=="object"&&!Array.isArray(i)&&"uri"in i&&typeof i.uri=="string","isReactNativeAsset"),qe=s(i=>hi(i)||mi(i)||Uo()||fi(i),"isFileData"),ya=s(i=>typeof i=="string"||typeof i=="number"||typeof i>"u","isSimpleValue"),ba=s(i=>!!i&&typeof i=="object"&&!Array.isArray(i),"isObjectValue"),_a=s(i=>!!i&&typeof i=="object"&&"data"in i&&qe(i.data),"isFileValue");function $o(i,e,t){if(Array.isArray(t))for(let r of t)$o(i,`${e}[]`,r);else if(_a(t)){let{name:r,contentType:o}=t,n=ga(t.data,r,o??pi),a=fa({name:r,contentType:o});i.push([e,n,...a])}else if(ba(t))for(let[r,o]of Object.entries(t))typeof o<"u"&&i.push([`${e}[${r}]`,String(o)]);else ya(t)&&t&&i.push([e,t.toString()])}s($o,"collectParams");function wa(i){let e=[];for(let[t,r]of Object.entries(i))$o(e,t,r);return e}s(wa,"getFormDataParams");function gi(i){let e=va(),t=wa(i);for(let r of t){let[o,n,...a]=r;e.append(o,n,...a)}return e}s(gi,"buildFormData");var K=class i extends De{static{s(this,"UploadError")}code;request;response;headers;constructor(e,t,r,o,n){super(),this.name="UploadError",this.message=e,this.code=t,this.request=r,this.response=o,this.headers=n,Object.setPrototypeOf(this,i.prototype)}},Ca=s(i=>{let e=new URLSearchParams;for(let[t,r]of Object.entries(i))r&&typeof r=="object"&&!Array.isArray(r)?Object.entries(r).filter(o=>o[1]??!1).forEach(o=>e.set(`${t}[${o[0]}]`,String(o[1]))):Array.isArray(r)?r.forEach(o=>{e.append(`${t}[]`,o)}):typeof r=="string"&&r?e.set(t,r):typeof r=="number"&&e.set(t,r.toString());return e.toString()},"buildSearchParams"),we=s((i,e,t)=>{let r=new URL(i);return r.pathname=(r.pathname+e).replace("//","/"),t&&(r.search=Ca(t)),r.toString()},"getUrl"),Ea="6.18.2",Ta="UploadcareUploadClient",xa=Ea;function Fe(i){return vr({libraryName:Ta,libraryVersion:xa,...i})}s(Fe,"getUserAgent");var Aa="RequestThrottledError",Lo=15e3,Sa=1e3;function Ia(i){let{headers:e}=i||{};if(!e||typeof e["retry-after"]!="string")return Lo;let t=parseInt(e["retry-after"],10);return Number.isFinite(t)?t*1e3:Lo}s(Ia,"getTimeoutFromThrottledRequest");function Le(i,e){let{retryThrottledRequestMaxTimes:t,retryNetworkErrorMaxTimes:r}=e;return pa(({attempt:o,retry:n})=>i().catch(a=>{if("response"in a&&a?.code===Aa&&o<t)return n(Ia(a));if(a instanceof We&&o<r)return n((o+1)*Sa);throw a}))}s(Le,"retryIfFailed");var Do=s(i=>{let e="";return(hi(i)||mi(i)||fi(i))&&(e=i.type),e||pi},"getContentType"),Fo=s(i=>{let e="";return mi(i)&&i.name?e=i.name:hi(i)||Uo()?e="":fi(i)&&i.name&&(e=i.name),e||Po},"getFileName");function yr(i){return typeof i>"u"||i==="auto"?"auto":i?"1":"0"}s(yr,"getStoreValue");function ka(i,{publicKey:e,fileName:t,contentType:r,baseURL:o=I.baseURL,secureSignature:n,secureExpire:a,store:l,signal:c,onProgress:d,source:u="local",integration:p,userAgent:h,retryThrottledRequestMaxTimes:f=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:m=I.retryNetworkErrorMaxTimes,metadata:v}){return Le(()=>Me({method:"POST",url:we(o,"/base/",{jsonerrors:1}),headers:{"X-UC-User-Agent":Fe({publicKey:e,integration:p,userAgent:h})},data:gi({file:{data:i,name:t||Fo(i),contentType:r||Do(i)},UPLOADCARE_PUB_KEY:e,UPLOADCARE_STORE:yr(l),signature:n,expire:a,source:u,metadata:v}),signal:c,onProgress:d}).then(({data:y,headers:S,request:T})=>{let A=Ee(JSON.parse(y));if("error"in A)throw new K(A.error.content,A.error.errorCode,T,A,S);return A}),{retryNetworkErrorMaxTimes:m,retryThrottledRequestMaxTimes:f})}s(ka,"base");var hr;(function(i){i.Token="token",i.FileInfo="file_info"})(hr||(hr={}));function Oa(i,{publicKey:e,baseURL:t=I.baseURL,store:r,fileName:o,checkForUrlDuplicates:n,saveUrlForRecurrentUploads:a,secureSignature:l,secureExpire:c,source:d="url",signal:u,integration:p,userAgent:h,retryThrottledRequestMaxTimes:f=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:m=I.retryNetworkErrorMaxTimes,metadata:v}){return Le(()=>Me({method:"POST",headers:{"X-UC-User-Agent":Fe({publicKey:e,integration:p,userAgent:h})},url:we(t,"/from_url/",{jsonerrors:1,pub_key:e,source_url:i,store:yr(r),filename:o,check_URL_duplicates:n?1:void 0,save_URL_duplicates:a?1:void 0,signature:l,expire:c,source:d,metadata:v}),signal:u}).then(({data:y,headers:S,request:T})=>{let A=Ee(JSON.parse(y));if("error"in A)throw new K(A.error.content,A.error.errorCode,T,A,S);return A}),{retryNetworkErrorMaxTimes:m,retryThrottledRequestMaxTimes:f})}s(Oa,"fromUrl");var Y;(function(i){i.Unknown="unknown",i.Waiting="waiting",i.Progress="progress",i.Error="error",i.Success="success"})(Y||(Y={}));var Ma=s(i=>"status"in i&&i.status===Y.Error,"isErrorResponse");function La(i,{publicKey:e,baseURL:t=I.baseURL,signal:r,integration:o,userAgent:n,retryThrottledRequestMaxTimes:a=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:l=I.retryNetworkErrorMaxTimes}={}){return Le(()=>Me({method:"GET",headers:e?{"X-UC-User-Agent":Fe({publicKey:e,integration:o,userAgent:n})}:void 0,url:we(t,"/from_url/status/",{jsonerrors:1,token:i}),signal:r}).then(({data:c,headers:d,request:u})=>{let p=Ee(JSON.parse(c));if("error"in p&&!Ma(p))throw new K(p.error.content,p.error.errorCode,u,p,d);return p}),{retryNetworkErrorMaxTimes:l,retryThrottledRequestMaxTimes:a})}s(La,"fromUrlStatus");function Ra(i,{publicKey:e,baseURL:t=I.baseURL,jsonpCallback:r,secureSignature:o,secureExpire:n,signal:a,source:l,integration:c,userAgent:d,retryThrottledRequestMaxTimes:u=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:p=I.retryNetworkErrorMaxTimes}){return Le(()=>Me({method:"POST",headers:{"X-UC-User-Agent":Fe({publicKey:e,integration:c,userAgent:d})},url:we(t,"/group/",{jsonerrors:1}),data:gi({files:i,callback:r,pub_key:e,signature:o,expire:n,source:l}),signal:a}).then(({data:h,headers:f,request:m})=>{let v=Ee(JSON.parse(h));if("error"in v)throw new K(v.error.content,v.error.errorCode,m,v,f);return v}),{retryNetworkErrorMaxTimes:p,retryThrottledRequestMaxTimes:u})}s(Ra,"group");function Vo(i,{publicKey:e,baseURL:t=I.baseURL,signal:r,source:o,integration:n,userAgent:a,retryThrottledRequestMaxTimes:l=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:c=I.retryNetworkErrorMaxTimes}){return Le(()=>Me({method:"GET",headers:{"X-UC-User-Agent":Fe({publicKey:e,integration:n,userAgent:a})},url:we(t,"/info/",{jsonerrors:1,pub_key:e,file_id:i,source:o}),signal:r}).then(({data:d,headers:u,request:p})=>{let h=Ee(JSON.parse(d));if("error"in h)throw new K(h.error.content,h.error.errorCode,p,h,u);return h}),{retryThrottledRequestMaxTimes:l,retryNetworkErrorMaxTimes:c})}s(Vo,"info");function Pa(i,{publicKey:e,contentType:t,fileName:r,multipartChunkSize:o=I.multipartChunkSize,baseURL:n="",secureSignature:a,secureExpire:l,store:c,signal:d,source:u="local",integration:p,userAgent:h,retryThrottledRequestMaxTimes:f=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:m=I.retryNetworkErrorMaxTimes,metadata:v}){return Le(()=>Me({method:"POST",url:we(n,"/multipart/start/",{jsonerrors:1}),headers:{"X-UC-User-Agent":Fe({publicKey:e,integration:p,userAgent:h})},data:gi({filename:r||Po,size:i,content_type:t||pi,part_size:o,UPLOADCARE_STORE:yr(c),UPLOADCARE_PUB_KEY:e,signature:a,expire:l,source:u,metadata:v}),signal:d}).then(({data:y,headers:S,request:T})=>{let A=Ee(JSON.parse(y));if("error"in A)throw new K(A.error.content,A.error.errorCode,T,A,S);return A.parts=Object.keys(A.parts).map(J=>A.parts[Number(J)]),A}),{retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m})}s(Pa,"multipartStart");function Ua(i,e,{contentType:t,signal:r,onProgress:o,retryThrottledRequestMaxTimes:n=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:a=I.retryNetworkErrorMaxTimes}){return Le(()=>Me({method:"PUT",url:e,data:i,onProgress:o,signal:r,headers:{"Content-Type":t||pi}}).then(l=>(o&&o({isComputable:!0,value:1}),l)).then(({status:l})=>({code:l})),{retryThrottledRequestMaxTimes:n,retryNetworkErrorMaxTimes:a})}s(Ua,"multipartUpload");function $a(i,{publicKey:e,baseURL:t=I.baseURL,source:r="local",signal:o,integration:n,userAgent:a,retryThrottledRequestMaxTimes:l=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:c=I.retryNetworkErrorMaxTimes}){return Le(()=>Me({method:"POST",url:we(t,"/multipart/complete/",{jsonerrors:1}),headers:{"X-UC-User-Agent":Fe({publicKey:e,integration:n,userAgent:a})},data:gi({uuid:i,UPLOADCARE_PUB_KEY:e,source:r}),signal:o}).then(({data:d,headers:u,request:p})=>{let h=Ee(JSON.parse(d));if("error"in h)throw new K(h.error.content,h.error.errorCode,p,h,u);return h}),{retryThrottledRequestMaxTimes:l,retryNetworkErrorMaxTimes:c})}s($a,"multipartComplete");function br(i,{publicKey:e,baseURL:t,source:r,integration:o,userAgent:n,retryThrottledRequestMaxTimes:a,retryNetworkErrorMaxTimes:l,signal:c,onProgress:d}){return Ro({check:s(u=>Vo(i,{publicKey:e,baseURL:t,signal:u,source:r,integration:o,userAgent:n,retryThrottledRequestMaxTimes:a,retryNetworkErrorMaxTimes:l}).then(p=>p.isReady?p:(d&&d({isComputable:!0,value:1}),!1)),"check"),signal:c})}s(br,"isReadyPoll");function Da(i){return"defaultEffects"in i}s(Da,"isGroupFileInfo");var Ce=class{static{s(this,"UploadcareFile")}uuid;name;size;isStored;isImage;mimeType;cdnUrl;s3Url;originalFilename;imageInfo;videoInfo;contentInfo;metadata;s3Bucket;defaultEffects=null;constructor(e,{baseCDN:t=I.baseCDN,fileName:r}={}){let{uuid:o,s3Bucket:n}=e,a=we(t,`${o}/`),l=n?we(`https://${n}.s3.amazonaws.com/`,`${o}/${e.filename}`):null;this.uuid=o,this.name=r||e.filename,this.size=e.size,this.isStored=e.isStored,this.isImage=e.isImage,this.mimeType=e.mimeType,this.cdnUrl=a,this.originalFilename=e.originalFilename,this.imageInfo=e.imageInfo,this.videoInfo=e.videoInfo,this.contentInfo=e.contentInfo,this.metadata=e.metadata||null,this.s3Bucket=n||null,this.s3Url=l,Da(e)&&(this.defaultEffects=e.defaultEffects)}},Fa=s((i,{publicKey:e,fileName:t,baseURL:r,secureSignature:o,secureExpire:n,store:a,contentType:l,signal:c,onProgress:d,source:u,integration:p,userAgent:h,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m,baseCDN:v,metadata:y})=>ka(i,{publicKey:e,fileName:t,contentType:l,baseURL:r,secureSignature:o,secureExpire:n,store:a,signal:c,onProgress:d,source:u,integration:p,userAgent:h,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m,metadata:y}).then(({file:S})=>br(S,{publicKey:e,baseURL:r,source:u,integration:p,userAgent:h,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m,onProgress:d,signal:c})).then(S=>new Ce(S,{baseCDN:v})),"uploadDirect"),Va=s((i,{publicKey:e,fileName:t,baseURL:r,signal:o,onProgress:n,source:a,integration:l,userAgent:c,retryThrottledRequestMaxTimes:d,retryNetworkErrorMaxTimes:u,baseCDN:p})=>Vo(i,{publicKey:e,baseURL:r,signal:o,source:a,integration:l,userAgent:c,retryThrottledRequestMaxTimes:d,retryNetworkErrorMaxTimes:u}).then(h=>new Ce(h,{baseCDN:p,fileName:t})).then(h=>(n&&n({isComputable:!0,value:1}),h)),"uploadFromUploaded"),Na=s((i,{signal:e}={})=>{let t=null,r=null,o=i.map(()=>new AbortController),n=s(a=>()=>{r=a,o.forEach((l,c)=>c!==a&&l.abort())},"createStopRaceCallback");return ui(e,()=>{o.forEach(a=>a.abort())}),Promise.all(i.map((a,l)=>{let c=n(l);return Promise.resolve().then(()=>a({stopRace:c,signal:o[l].signal})).then(d=>(c(),d)).catch(d=>(t=d,null))})).then(a=>{if(r===null)throw t;return a[r]})},"race"),Ba=window.WebSocket,mr=class{static{s(this,"Events")}events=Object.create({});emit(e,t){this.events[e]?.forEach(r=>r(t))}on(e,t){this.events[e]=this.events[e]||[],this.events[e].push(t)}off(e,t){t?this.events[e]=this.events[e].filter(r=>r!==t):this.events[e]=[]}},za=s((i,e)=>i==="success"?{status:Y.Success,...e}:i==="progress"?{status:Y.Progress,...e}:{status:Y.Error,...e},"response"),fr=class{static{s(this,"Pusher")}key;disconnectTime;ws=void 0;queue=[];isConnected=!1;subscribers=0;emmitter=new mr;disconnectTimeoutId=null;constructor(e,t=3e4){this.key=e,this.disconnectTime=t}connect(){if(this.disconnectTimeoutId&&clearTimeout(this.disconnectTimeoutId),!this.isConnected&&!this.ws){let e=`wss://ws.pusherapp.com/app/${this.key}?protocol=5&client=js&version=1.12.2`;this.ws=new Ba(e),this.ws.addEventListener("error",t=>{this.emmitter.emit("error",new Error(t.message))}),this.emmitter.on("connected",()=>{this.isConnected=!0,this.queue.forEach(t=>this.send(t.event,t.data)),this.queue=[]}),this.ws.addEventListener("message",t=>{let r=JSON.parse(t.data.toString());switch(r.event){case"pusher:connection_established":{this.emmitter.emit("connected",void 0);break}case"pusher:ping":{this.send("pusher:pong",{});break}case"progress":case"success":case"fail":this.emmitter.emit(r.channel,za(r.event,JSON.parse(r.data)))}})}}disconnect(){let e=s(()=>{this.ws?.close(),this.ws=void 0,this.isConnected=!1},"actualDisconect");this.disconnectTime?this.disconnectTimeoutId=setTimeout(()=>{e()},this.disconnectTime):e()}send(e,t){let r=JSON.stringify({event:e,data:t});this.ws?.send(r)}subscribe(e,t){this.subscribers+=1,this.connect();let r=`task-status-${e}`,o={event:"pusher:subscribe",data:{channel:r}};this.emmitter.on(r,t),this.isConnected?this.send(o.event,o.data):this.queue.push(o)}unsubscribe(e){this.subscribers-=1;let t=`task-status-${e}`,r={event:"pusher:unsubscribe",data:{channel:t}};this.emmitter.off(t),this.isConnected?this.send(r.event,r.data):this.queue=this.queue.filter(o=>o.data.channel!==t),this.subscribers===0&&this.disconnect()}onError(e){return this.emmitter.on("error",e),()=>this.emmitter.off("error",e)}},ur=null,_r=s(i=>{if(!ur){let e=typeof window>"u"?0:3e4;ur=new fr(i,e)}return ur},"getPusher"),Ha=s(i=>{_r(i).connect()},"preconnect");function ja({token:i,publicKey:e,baseURL:t,integration:r,userAgent:o,retryThrottledRequestMaxTimes:n,retryNetworkErrorMaxTimes:a,onProgress:l,signal:c}){return Ro({check:s(d=>La(i,{publicKey:e,baseURL:t,integration:r,userAgent:o,retryThrottledRequestMaxTimes:n,retryNetworkErrorMaxTimes:a,signal:d}).then(u=>{switch(u.status){case Y.Error:return new K(u.error,u.errorCode);case Y.Waiting:return!1;case Y.Unknown:return new K(`Token "${i}" was not found.`);case Y.Progress:return l&&(u.total==="unknown"?l({isComputable:!1}):l({isComputable:!0,value:u.done/u.total})),!1;case Y.Success:return l&&l({isComputable:!0,value:u.done/u.total}),u;default:throw new Error("Unknown status")}}),"check"),signal:c})}s(ja,"pollStrategy");var Ka=s(({token:i,pusherKey:e,signal:t,onProgress:r})=>new Promise((o,n)=>{let a=_r(e),l=a.onError(n),c=s(()=>{l(),a.unsubscribe(i)},"destroy");ui(t,()=>{c(),n(new ke("pusher cancelled"))}),a.subscribe(i,d=>{switch(d.status){case Y.Progress:{r&&(d.total==="unknown"?r({isComputable:!1}):r({isComputable:!0,value:d.done/d.total}));break}case Y.Success:{c(),r&&r({isComputable:!0,value:d.done/d.total}),o(d);break}case Y.Error:c(),n(new K(d.msg,d.error_code))}})}),"pushStrategy"),Ga=s((i,{publicKey:e,fileName:t,baseURL:r,baseCDN:o,checkForUrlDuplicates:n,saveUrlForRecurrentUploads:a,secureSignature:l,secureExpire:c,store:d,signal:u,onProgress:p,source:h,integration:f,userAgent:m,retryThrottledRequestMaxTimes:v,pusherKey:y=I.pusherKey,metadata:S})=>Promise.resolve(Ha(y)).then(()=>Oa(i,{publicKey:e,fileName:t,baseURL:r,checkForUrlDuplicates:n,saveUrlForRecurrentUploads:a,secureSignature:l,secureExpire:c,store:d,signal:u,source:h,integration:f,userAgent:m,retryThrottledRequestMaxTimes:v,metadata:S})).catch(T=>(_r(y)?.disconnect(),Promise.reject(T))).then(T=>T.type===hr.FileInfo?T:Na([({signal:A})=>ja({token:T.token,publicKey:e,baseURL:r,integration:f,userAgent:m,retryThrottledRequestMaxTimes:v,onProgress:p,signal:A}),({signal:A})=>Ka({token:T.token,pusherKey:y,signal:A,onProgress:p})],{signal:u})).then(T=>{if(T instanceof K)throw T;return T}).then(T=>br(T.uuid,{publicKey:e,baseURL:r,integration:f,userAgent:m,retryThrottledRequestMaxTimes:v,onProgress:p,signal:u})).then(T=>new Ce(T,{baseCDN:o})),"uploadFromUrl"),pr=new WeakMap,Wa=s(async i=>{if(pr.has(i))return pr.get(i);let e=await fetch(i.uri).then(t=>t.blob());return pr.set(i,e),e},"getBlobFromReactNativeAsset"),No=s(async i=>{if(mi(i)||hi(i))return i.size;if(fi(i))return(await Wa(i)).size;throw new Error("Unknown file type. Cannot determine file size.")},"getFileSize"),qa=s((i,e=I.multipartMinFileSize)=>i>=e,"isMultipart"),Bo=s(i=>{let e="[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}",t=new RegExp(e);return!qe(i)&&t.test(i)},"isUuid"),wr=s(i=>{let e="^(?:\\w+:)?\\/\\/([^\\s\\.]+\\.\\S{2}|localhost[\\:?\\d]*)\\S*$",t=new RegExp(e);return!qe(i)&&t.test(i)},"isUrl"),Xa=s((i,e)=>new Promise((t,r)=>{let o=[],n=!1,a=e.length,l=[...e],c=s(()=>{let d=e.length-l.length,u=l.shift();u&&u().then(p=>{n||(o[d]=p,a-=1,a?c():t(o))}).catch(p=>{n=!0,r(p)})},"run");for(let d=0;d<i;d++)c()}),"runWithConcurrency"),Za=s((i,e,t,r)=>{let o=r*e,n=Math.min(o+r,t);return i.slice(o,n)},"sliceChunk"),Ya=s(async(i,e,t)=>r=>Za(i,r,e,t),"prepareChunks"),Qa=s((i,e,{publicKey:t,contentType:r,onProgress:o,signal:n,integration:a,retryThrottledRequestMaxTimes:l,retryNetworkErrorMaxTimes:c})=>Ua(i,e,{publicKey:t,contentType:r,onProgress:o,signal:n,integration:a,retryThrottledRequestMaxTimes:l,retryNetworkErrorMaxTimes:c}),"uploadPart"),Ja=s(async(i,{publicKey:e,fileName:t,fileSize:r,baseURL:o,secureSignature:n,secureExpire:a,store:l,signal:c,onProgress:d,source:u,integration:p,userAgent:h,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m,contentType:v,multipartChunkSize:y=I.multipartChunkSize,maxConcurrentRequests:S=I.maxConcurrentRequests,baseCDN:T,metadata:A})=>{let J=r??await No(i),ee,$e=s((N,q)=>{if(!d)return;ee||(ee=Array(N).fill(0));let re=s(le=>le.reduce((fe,rr)=>fe+rr,0),"sum");return le=>{le.isComputable&&(ee[q]=le.value,d({isComputable:!0,value:re(ee)/N}))}},"createProgressHandler");return v||=Do(i),Pa(J,{publicKey:e,contentType:v,fileName:t||Fo(i),baseURL:o,secureSignature:n,secureExpire:a,store:l,signal:c,source:u,integration:p,userAgent:h,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m,metadata:A,multipartChunkSize:y}).then(async({uuid:N,parts:q})=>{let re=await Ya(i,J,y);return Promise.all([N,Xa(S,q.map((le,fe)=>()=>Qa(re(fe),le,{publicKey:e,contentType:v,onProgress:$e(q.length,fe),signal:c,integration:p,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m})))])}).then(([N])=>$a(N,{publicKey:e,baseURL:o,source:u,integration:p,userAgent:h,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m})).then(N=>N.isReady?N:br(N.uuid,{publicKey:e,baseURL:o,source:u,integration:p,userAgent:h,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m,onProgress:d,signal:c})).then(N=>new Ce(N,{baseCDN:T}))},"uploadMultipart");async function Cr(i,{publicKey:e,fileName:t,baseURL:r=I.baseURL,secureSignature:o,secureExpire:n,store:a,signal:l,onProgress:c,source:d,integration:u,userAgent:p,retryThrottledRequestMaxTimes:h,retryNetworkErrorMaxTimes:f,contentType:m,multipartMinFileSize:v,multipartChunkSize:y,maxConcurrentRequests:S,baseCDN:T=I.baseCDN,checkForUrlDuplicates:A,saveUrlForRecurrentUploads:J,pusherKey:ee,metadata:$e}){if(qe(i)){let N=await No(i);return qa(N,v)?Ja(i,{publicKey:e,contentType:m,multipartChunkSize:y,fileSize:N,fileName:t,baseURL:r,secureSignature:o,secureExpire:n,store:a,signal:l,onProgress:c,source:d,integration:u,userAgent:p,maxConcurrentRequests:S,retryThrottledRequestMaxTimes:h,retryNetworkErrorMaxTimes:f,baseCDN:T,metadata:$e}):Fa(i,{publicKey:e,fileName:t,contentType:m,baseURL:r,secureSignature:o,secureExpire:n,store:a,signal:l,onProgress:c,source:d,integration:u,userAgent:p,retryThrottledRequestMaxTimes:h,retryNetworkErrorMaxTimes:f,baseCDN:T,metadata:$e})}if(wr(i))return Ga(i,{publicKey:e,fileName:t,baseURL:r,baseCDN:T,checkForUrlDuplicates:A,saveUrlForRecurrentUploads:J,secureSignature:o,secureExpire:n,store:a,signal:l,onProgress:c,source:d,integration:u,userAgent:p,retryThrottledRequestMaxTimes:h,retryNetworkErrorMaxTimes:f,pusherKey:ee,metadata:$e});if(Bo(i))return Va(i,{publicKey:e,fileName:t,baseURL:r,signal:l,onProgress:c,source:d,integration:u,userAgent:p,retryThrottledRequestMaxTimes:h,retryNetworkErrorMaxTimes:f,baseCDN:T});throw new TypeError(`File uploading from "${i}" is not supported`)}s(Cr,"uploadFile");var gr=class{static{s(this,"UploadcareGroup")}uuid;filesCount;totalSize;isStored;isImage;cdnUrl;files;createdAt;storedAt=null;constructor(e,{baseCDN:t=I.baseCDN}={}){this.uuid=e.id,this.filesCount=e.filesCount;let r=e.files.filter(Boolean);this.totalSize=Object.values(r).reduce((o,n)=>o+n.size,0),this.isStored=!!e.datetimeStored,this.isImage=!!Object.values(r).filter(o=>o.isImage).length,this.cdnUrl=e.cdnUrl,this.files=r.map(o=>new Ce(o,{baseCDN:t})),this.createdAt=e.datetimeCreated,this.storedAt=e.datetimeStored}},el=s(i=>{for(let e of i)if(!qe(e))return!1;return!0},"isFileDataArray"),tl=s(i=>{for(let e of i)if(!Bo(e))return!1;return!0},"isUuidArray"),il=s(i=>{for(let e of i)if(!wr(e))return!1;return!0},"isUrlArray");function zo(i,{publicKey:e,fileName:t,baseURL:r=I.baseURL,secureSignature:o,secureExpire:n,store:a,signal:l,onProgress:c,source:d,integration:u,userAgent:p,retryThrottledRequestMaxTimes:h,retryNetworkErrorMaxTimes:f,contentType:m,multipartChunkSize:v=I.multipartChunkSize,baseCDN:y=I.baseCDN,checkForUrlDuplicates:S,saveUrlForRecurrentUploads:T,jsonpCallback:A}){if(!el(i)&&!il(i)&&!tl(i))throw new TypeError(`Group uploading from "${i}" is not supported`);let J,ee=!0,$e=i.length,N=s((q,re)=>{if(!c)return;J||(J=Array(q).fill(0));let le=s(fe=>fe.reduce((rr,Tn)=>rr+Tn)/q,"normalize");return fe=>{if(!fe.isComputable||!ee){ee=!1,c({isComputable:!1});return}J[re]=fe.value,c({isComputable:!0,value:le(J)})}},"createProgressHandler");return Promise.all(i.map((q,re)=>qe(q)||wr(q)?Cr(q,{publicKey:e,fileName:t,baseURL:r,secureSignature:o,secureExpire:n,store:a,signal:l,onProgress:N($e,re),source:d,integration:u,userAgent:p,retryThrottledRequestMaxTimes:h,retryNetworkErrorMaxTimes:f,contentType:m,multipartChunkSize:v,baseCDN:y,checkForUrlDuplicates:S,saveUrlForRecurrentUploads:T}).then(le=>le.uuid):q)).then(q=>Ra(q,{publicKey:e,baseURL:r,jsonpCallback:A,secureSignature:o,secureExpire:n,signal:l,source:d,integration:u,userAgent:p,retryThrottledRequestMaxTimes:h,retryNetworkErrorMaxTimes:f}).then(re=>new gr(re,{baseCDN:y})).then(re=>(c&&c({isComputable:!0,value:1}),re)))}s(zo,"uploadFileGroup");var Oe=class{static{s(this,"Queue")}_concurrency=1;_pending=[];_running=0;_resolvers=new Map;_rejectors=new Map;constructor(e){this._concurrency=e}run(){let e=this._concurrency-this._running;for(let t=0;t<e;t++){let r=this._pending.shift();if(!r)return;let o=this._resolvers.get(r),n=this._rejectors.get(r);if(!o||!n)throw new Error("Unexpected behavior: resolver or rejector is undefined");this._running+=1,r().finally(()=>{this._resolvers.delete(r),this._rejectors.delete(r),this._running-=1,this.run()}).then(a=>o(a)).catch(a=>n(a))}}add(e,{autoRun:t}={autoRun:!0}){return new Promise((r,o)=>{this._resolvers.set(e,r),this._rejectors.set(e,o),this._pending.push(e),t&&this.run()})}get pending(){return this._pending.length}get running(){return this._running}set concurrency(e){this._concurrency=e,this.run()}get concurrency(){return this._concurrency}};var Er=s(()=>({}),"blockCtx"),Tr=s(i=>({...Er(),"*currentActivity":null,"*currentActivityParams":{},"*history":[],"*historyBack":null,"*closeModal":s(()=>{i.modalManager?.close(i.$["*currentActivity"]),i.set$({"*currentActivity":null})},"*closeModal")}),"activityBlockCtx"),xr=s(i=>({...Tr(i),"*commonProgress":0,"*uploadList":[],"*uploadQueue":new Oe(1),"*collectionErrors":[],"*collectionState":null,"*groupInfo":null,"*uploadTrigger":new Set,"*secureUploadsManager":null}),"uploaderBlockCtx"),Ho=s(i=>({...xr(i),"*solution":null}),"solutionBlockCtx");var xt={"locale-id":"en","social-source-lang":"en","upload-file":"Upload file","upload-files":"Upload files","choose-file":"Choose file","choose-files":"Choose files","drop-files-here":"Drop files here","select-file-source":"Select file source",selected:"Selected",upload:"Upload","add-more":"Add more",cancel:"Cancel","start-from-cancel":"Cancel",clear:"Clear","camera-shot":"Shot","upload-url":"Import","upload-url-placeholder":"Paste link here","edit-image":"Edit image","edit-detail":"Details",back:"Back",done:"Done",ok:"Ok","remove-from-list":"Remove",no:"No",yes:"Yes","confirm-your-action":"Confirm your action","are-you-sure":"Are you sure?","selected-count":"{{count}} of {{total}} selected","select-all":"Select all","deselect-all":"Deselect all","upload-error":"Upload error","validation-error":"Validation error","no-files":"No files selected",browse:"Browse","not-uploaded-yet":"Not uploaded yet...",file__one:"file",file__other:"files",error__one:"error",error__other:"errors","header-uploading":"Uploading {{count}} {{plural:file(count)}}","header-failed":"{{count}} {{plural:error(count)}}","header-succeed":"{{count}} {{plural:file(count)}} uploaded","header-total":"{{count}} {{plural:file(count)}} selected","src-type-local":"From device","src-type-from-url":"From link","src-type-camera":"Camera","src-type-mobile-video-camera":"Video","src-type-mobile-photo-camera":"Photo","src-type-draw":"Draw","src-type-facebook":"Facebook","src-type-dropbox":"Dropbox","src-type-gdrive":"Google Drive","src-type-ngdrive":"Google Drive","src-type-gphotos":"Google Photos","src-type-flickr":"Flickr","src-type-vk":"VK","src-type-evernote":"Evernote","src-type-box":"Box","src-type-onedrive":"OneDrive","src-type-huddle":"Huddle","src-type-other":"Other","caption-from-url":"Import from link","caption-camera":"Camera","caption-draw":"Draw","caption-edit-file":"Edit file","file-no-name":"No name...","toggle-fullscreen":"Toggle fullscreen","toggle-guides":"Toggle guides",rotate:"Rotate","flip-vertical":"Flip vertical","flip-horizontal":"Flip horizontal",apply:"Apply",brightness:"Brightness",contrast:"Contrast",saturation:"Saturation",exposure:"Exposure",gamma:"Gamma",vibrance:"Vibrance",warmth:"Warmth",enhance:"Enhance",original:"Original",resize:"Resize image",crop:"Crop","select-color":"Select color",text:"Text",draw:"Draw","cancel-edit":"Cancel edit","tab-view":"Preview","tab-details":"Details","file-name":"Name","file-size":"Size","cdn-url":"CDN URL","file-size-unknown":"Unknown","camera-permissions-denied":"Camera access denied","camera-permissions-prompt":"Please allow access to the camera","camera-permissions-request":"Request access","files-count-limit-error-title":"Files count limit overflow","files-count-limit-error-too-few":"You\u2019ve chosen {{total}} {{plural:file(total)}}. At least {{min}} {{plural:file(min)}} required.","files-count-limit-error-too-many":"You\u2019ve chosen too many files. {{max}} {{plural:file(max)}} is maximum.","files-max-size-limit-error":"File is too big. Max file size is {{maxFileSize}}.","has-validation-errors":"File validation error occurred. Please, check your files before upload.","images-only-accepted":"Only image files are accepted.","file-type-not-allowed":"Uploading of these file types is not allowed.","some-files-were-not-uploaded":"Some files were not uploaded.","file-item-edit-button":"Edit","file-item-remove-button":"Remove","a11y-editor-tab-filters":"Filters","a11y-editor-tab-tuning":"Tuning","a11y-editor-tab-crop":"Crop","a11y-activity-header-button-close":"Close",flip:"Flip",mirror:"Mirror","a11y-cloud-editor-apply-filter":"Apply {{name}} filter","a11y-cloud-editor-apply-crop":"Apply {{name}} operation","a11y-cloud-editor-apply-tuning":"Apply {{name}} tuning","a11y-cloud-editor-apply-aspect-ratio":"Apply operation {{name}} {{value}}",finished:"Finished",failed:"Failed",uploading:"Uploading",idle:"Idle","a11y-file-item-status":"File {{fileName}} in status {{status}}","waiting-for":"Waiting for {{source}}","queued-uploading":"Queued for upload","queued-validation":"Queued for validation",validation:"Validating","crop-to-shape":"Crop to {{value}}",custom:"Freeform","freeform-crop":"Freeform crop"};var vi=new Map,Ar=new Map,jo=s((i,e)=>{vi.has(i)&&console.log(`Locale ${i} is already defined. Overwriting...`),vi.set(i,{...xt,...e})},"defineLocaleSync"),rl=s((i,e)=>{Ar.set(i,e)},"defineLocaleAsync"),Sr=s((i,e)=>{typeof e=="function"?rl(i,e):jo(i,e)},"defineLocale"),Ko=s(async i=>{if(!vi.has(i)){if(!Ar.has(i))throw new Error(`Locale ${i} is not defined`);let t=await Ar.get(i)();jo(i,t)}return vi.get(i)},"resolveLocaleDefinition");Sr("en",xt);var ne=s(i=>`*l10n/${i}`,"localeStateKey"),ol="en",yi=class{static{s(this,"LocaleManager")}_blockInstance=null;_localeName="";_callbacks=new Set;_boundBlocks=new Map;constructor(e){this._blockInstance=e;for(let[t,r]of Object.entries(xt)){let o=this._blockInstance.has(ne(t))?!this._blockInstance.$[ne(t)]:!0;this._blockInstance.add(ne(t),r,o)}setTimeout(()=>{e.subConfigValue("localeName",async t=>{if(!this._blockInstance||!t)return;this._localeName=t;let r=await Ko(t);if(t!==ol&&this._localeName!==t)return;let o=this._blockInstance.cfg.localeDefinitionOverride?.[t];for(let[n,a]of Object.entries(r)){let l=o?.[n];this._blockInstance.add(ne(n),l??a,!0);for(let c of this._callbacks)c()}}),e.subConfigValue("localeDefinitionOverride",t=>{if(!t)return;let r=t[this._localeName];if(r)for(let[o,n]of Object.entries(r)){this._blockInstance?.add(ne(o),n,!0);for(let a of this._callbacks)a()}})})}onLocaleChange(e){let t=L(e,0);return this._callbacks.add(t),()=>{this._callbacks.delete(t)}}bindL10n(e,t,r){e.$[t]=r(),this._boundBlocks.has(e)||this._boundBlocks.set(e,new Map),this._boundBlocks.get(e)?.get(t)?.();let o=this.onLocaleChange(()=>{e.$[t]=r()});this._boundBlocks.get(e)?.set(t,o)}destroyL10nBindings(e){let t=this._boundBlocks.get(e);if(t){for(let r of t.values())r();this._boundBlocks.delete(e)}}destroy(){this._callbacks.clear()}};function Go(i,e){[...i.querySelectorAll("[l10n]")].forEach(t=>{let r=t.getAttribute("l10n");if(!r)return;let o=r.split(";");for(let n of o)n&&sl(t,n,e)})}s(Go,"l10nProcessor");var sl=s((i,e,t)=>{let r="textContent",o=!1;if(e.includes(":")){let l=e.split(":");if(l.length!==2){console.warn(`l10n attribute value should be in format "property:key" or "key". Found: ${e}`);return}let c=l;r=c[0],e=c[1],r.startsWith("@")&&(r=r.slice(1),o=!0)}let n=e;t.has(n)&&t.sub(n,l=>{if(!l)return;t.l10nProcessorSubs.has(n)||t.l10nProcessorSubs.set(n,new Set);let c=t.l10nProcessorSubs.get(n);c?.forEach(p=>{p.remove(),c.delete(p),t.allSubs.delete(p)});let d=ne(l).replace("*","");t.nodeCtx.has(d)||t.nodeCtx.add(d,l);let u=t.nodeCtx.sub(d,()=>{i[r]=t.l10n(l)});c?.add(u),t.allSubs.add(u),i.removeAttribute("l10n")});let a=ne(e);t.has(a)||t.add(a,""),t.sub(a,()=>{o?i.setAttribute(r,t.l10n(e)):i[r]=t.l10n(e)}),i.removeAttribute("l10n")},"locale");var nl={button:["toolbar"],checkbox:["toolbar"],menuitem:["menu","menubar"],option:["listbox"],tab:["tablist"]};function At(i,e){e.tabIndex=0,e.focus(),i.tabIndex=-1}s(At,"focus");function Ir(i){let e=i.role||i.type||i.tagName;if(!e)return null;let t=nl[e.toLowerCase()];if(!t)return null;for(let r of t){let o=i.closest(`[role=${r}]`);if(o)return o}}s(Ir,"findGroupNodeByEventTarget");function kr(i,e){return e.role==="toolbar"?al(e):e.querySelectorAll(`[role=${i.role}]`)}s(kr,"getItems");function al(i){return[...i.querySelectorAll("*")].filter(t=>t.role==="button"||t.type==="button"||t.role==="checkbox"||t.type==="checkbox")}s(al,"getToolbarItems");function ll(i){let e=i.getAttribute("aria-orientation");if(e==="vertical")return!1;if(e==="horizontal")return!0;let t=i.role;return t==="menubar"||t==="tablist"||t==="toolbar"}s(ll,"isHorizontalOrientation");function Wo(i){return e=>{let t=!1,r=i?.searchDelayMs||300,o=0,n="";function a(p){let h=Ir(p.target);if(!h){l();return}let f=kr(p.target,h),m=Array.from(f).indexOf(p.target),v="ArrowDown",y="ArrowUp";if(ll(h)&&(e.document.dir==="rtl"?(v="ArrowLeft",y="ArrowRight"):(v="ArrowRight",y="ArrowLeft")),p.key===v)p.preventDefault(),At(p.target,f[m+1]||f[0]);else if(p.key===y)p.preventDefault(),At(p.target,f[m-1]||f[f.length-1]);else if(p.key==="Home")p.preventDefault(),At(p.target,f[0]);else if(p.key==="End")p.preventDefault(),At(p.target,f[f.length-1]);else if(p.key.length===1&&h.role!=="tablist"){let S=Date.now();S-o<=r?n+=p.key.toLowerCase():n=p.key.toLowerCase(),o=S;let T=Array.from(f).find(A=>A.textContent?.trim()?.toLowerCase()?.startsWith(n));T&&(p.preventDefault(),At(p.target,T))}}s(a,"keyDown");function l(){t=!1,e.removeEventListener("keydown",a)}s(l,"stop");function c(p){let h=Ir(p.target);if(h){t||(t=!0,e.addEventListener("keydown",a));let f=kr(p.target,h);for(let m of f)m!==p.target&&m.setAttribute("tabindex",-1)}else t&&l()}s(c,"focusIn");function d(p){(!p.relatedTarget||p.relatedTarget===e.document)&&l()}s(d,"focusOut");function u(p){let h=Ir(p.target);if(h){let f=kr(p.target,h);for(let m of f)m!==p.target&&m.setAttribute("tabindex",-1);p.target.setAttribute("tabindex",0)}}return s(u,"click"),e.addEventListener("click",u),e.addEventListener("focusin",c),e.addEventListener("focusout",d),()=>{l(),e.removeEventListener("click",u),e.removeEventListener("focusin",c),e.removeEventListener("focusout",d)}}}s(Wo,"focusGroupKeyUX");function qo(){return i=>{let e,t;function r(n){if(n.target.getAttribute("aria-hidden")==="true"){e=n.target,e.setAttribute("aria-hidden","false"),t=e.hidden,t&&(e.hidden=!1);let a=n.target.querySelector('a, button, select, textarea, input:not([type=radio]), [type=radio]:checked, [tabindex]:not([tabindex="-1"])');a&&(a.tabIndex=0)}}s(r,"jump");function o(n){e&&e.contains(n.target)&&(!n.relatedTarget||!e.contains(n.relatedTarget))&&(n.target.tabIndex=-1,e.setAttribute("aria-hidden","true"),t&&(e.hidden=!0),e=null)}return s(o,"focusOut"),i.addEventListener("keyuxJump",r),i.addEventListener("focusout",o),()=>{i.removeEventListener("keyuxJump",r),i.removeEventListener("focusout",o)}}}s(qo,"hiddenKeyUX");function Xo(){return i=>{let e=[];function t(c){let d=i.document.activeElement;d&&d!==i.document.body&&e.push(new WeakRef(d)),c.focus({focusVisible:!0})}s(t,"focus");function r(){let c=e.pop();if(!c){i.document.activeElement.blur();return}let d=c.deref();d&&d.isConnected?d.focus():r()}s(r,"back");let o=0,n;function a(c){clearInterval(n);let d=c.getAttribute("aria-controls");n=setInterval(()=>{if(o++>50){clearInterval(n);return}let u=i.document.getElementById(d);if(u){let p=u.querySelector('a, button, select, textarea, input:not([type=radio]), [type=radio]:checked, [tabindex]:not([tabindex="-1"])');p&&(clearInterval(n),u.dispatchEvent(new i.CustomEvent("keyuxJump",{bubbles:!0})),t(p))}},50)}s(a,"jump");function l(c){c.target.getAttribute("aria-controls")&&c.key==="Enter"&&a(c.target),c.key==="Escape"&&r()}return s(l,"keyDown"),i.addEventListener("keydown",l),()=>{i.removeEventListener("keydown",l)}}}s(Xo,"jumpKeyUX");function Zo(i){let e,t=i.split(" "),r;function o(l){l.key==="Enter"&&(l.target.tagName==="BUTTON"||l.target.tagName==="A")&&(n(),l.target.classList.add(...t),e=l.target,r=l.target)}s(o,"keyDown");function n(){e&&e.classList.remove(...t),r=null}s(n,"keyUp");function a(l){l.clientX===0&&l.clientY===0&&r!==l.target&&(n(),l.target.classList.add(...t),e=l.target)}return s(a,"click"),l=>(l.addEventListener("click",a),l.addEventListener("keydown",o),l.addEventListener("keyup",n),()=>{l.removeEventListener("click",a),l.removeEventListener("keydown",o),l.removeEventListener("keyup",n)})}s(Zo,"pressKeyUX");function Yo(i,e){let t=e.map(r=>r(i));return()=>{t.forEach(r=>r())}}s(Yo,"startKeyUX");var Or=class{static{s(this,"ScopedMinimalWindow")}_listeners=new Map;_scope=[];addEventListener(e,t){let r=s(o=>{let n=o.target;n instanceof Node&&this._scope.some(a=>a===n||a.contains(n))&&t(o)},"wrappedListener");this._listeners.set(t,r),window.addEventListener(e,r)}removeEventListener(e,t){let r=this._listeners.get(t);r&&window.removeEventListener(e,r),this._listeners.delete(t)}get CustomEvent(){return window.CustomEvent}get document(){return window.document}get navigator(){return window.navigator}registerScope(e){this._scope.push(e)}destroy(){this._scope=[];for(let e of this._listeners.values())window.removeEventListener("keydown",e),window.removeEventListener("keyup",e);this._listeners.clear()}},bi=class{static{s(this,"A11y")}_destroyKeyUX;_scopedWindow;constructor(){this._scopedWindow=new Or,this._destroyKeyUX=Yo(this._scopedWindow,[Wo(),Zo("is-pressed"),Xo(),qo()])}registerBlock(e){this._scopedWindow.registerScope(e)}destroy(){this._destroyKeyUX?.(),this._scopedWindow.destroy()}};var $=Object.freeze({ADD:"modal:add",DELETE:"modal:delete",OPEN:"modal:open",CLOSE:"modal:close",CLOSE_ALL:"modal:closeAll",DESTROY:"modal:destroy"}),_i=class{static{s(this,"ModalManager")}_modals=new Map;_activeModals=new Set;_subscribers=new Map;_block;constructor(e){this._block=e}_debugPrint(...e){this._block.debugPrint("[modal-manager]",...e)}registerModal(e,t){this._modals.set(e,t),this._notify($.ADD,{id:e,modal:t})}deleteModal(e){if(!this._modals.has(e))return!1;let t=this._modals.get(e);return this._modals.delete(e),this._activeModals.delete(e),this._notify($.DELETE,{id:e,modal:t}),!0}open(e){if(!this._modals.has(e))return this._debugPrint(`Modal with ID "${e}" not found`),!1;let t=this._modals.get(e);return this._activeModals.add(e),this._notify($.OPEN,{modal:t,id:e}),!0}close(e){if(!this._modals.has(e)||!this._activeModals.has(e))return this._debugPrint(`Modal with ID "${e}" not found or not active`),!1;let t=this._modals.get(e);return this._activeModals.delete(e),this._notify($.CLOSE,{id:e,modal:t}),!0}toggle(e){return this._modals.has(e)?this._activeModals.has(e)?this.close(e):this.open(e):(this._debugPrint(`Modal with ID "${e}" not found`),!1)}get hasActiveModals(){return this._activeModals.size>0}back(){if(this._activeModals.size===0)return this._debugPrint("No active modals to go back from"),!1;let e=Array.from(this._activeModals).pop();return e?this.close(e):!1}closeAll(){let e=this._activeModals.size;return this._activeModals.clear(),this._notify($.CLOSE_ALL,{}),e}subscribe(e,t){return this._subscribers.has(e)||this._subscribers.set(e,new Set),this._subscribers.get(e)?.add(t),()=>this.unsubscribe(e,t)}unsubscribe(e,t){this._subscribers.has(e)&&this._subscribers.get(e)?.delete(t)}_notify(e,t){if(this._subscribers.has(e))for(let r of this._subscribers.get(e)??new Set)try{r(t)}catch(o){this._block.telemetryManager.sendEventError(o,"modal subscriber"),this._debugPrint("Error in modal subscriber:",o)}}destroy(){this.closeAll(),this._modals.clear(),this._subscribers.clear(),this._notify($.DESTROY,{})}};function cl(i){return i.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`).replace(/__/g,"_")}s(cl,"i");function Lr(i){return Array.isArray(i)?i.map(e=>typeof e=="object"&&e!==null?Lr(e):e):typeof i!="object"||i===null?i:Object.fromEntries(Object.entries(i).map(([e,t])=>{let r=cl(e);return typeof t=="object"&&t!==null?[r,Lr(t)]:[r,t]}))}s(Lr,"c");function dl(i){return{ok:!0,value:i}}s(dl,"u");function Mr(i){return{ok:!1,error:i}}s(Mr,"a");var ul="https://tlm.uploadcare.com/api/",Rr=class{static{s(this,"y")}constructor(e=ul){this.baseUrl=e}async base(e,t={}){let r=`${this.baseUrl}${e}`;try{let o=await fetch(r,t);if(!o.ok)return Mr(new Error(`Got non-200 response from "${r}". Status: ${o.status.toString()}`));try{let n=await o.json();return dl(n)}catch(n){return Mr(new Error(`Error parsing JSON from "${r}". Error: ${n}`))}}catch(o){return Mr(new Error(`Error fetching data from "${r}". Error: ${o}`))}}async post(e,t,r={}){return await this.base(e,{...r,method:"POST",body:JSON.stringify(Lr(t)),headers:{"Content-Type":"application/json",...r.headers||{}}})}async get(e,t={}){return await this.base(e,{method:"GET",...t})}},pl=s(async(i,e)=>({success:!0,data:e}),"f"),wi=class extends Rr{static{s(this,"p")}constructor(){super()}async sendEvent(e,t){let r=await pl(void 0,e);if(!r.success)throw console.error("TelemetryAPIService: events: body is invalid",r.error),new Error("TelemetryAPIService: events: body is invalid");return this.post("v1/events",e,t)}};var Qo="1.24.4";var Te="blocks",xe=Qo;var Ci=class{static{s(this,"TelemetryManager")}_sessionId=crypto.randomUUID();_telemetryInstance;_block;_config=structuredClone(Q);_initialized=!1;_lastPayload=null;_queue;constructor(e){this._block=e,this._telemetryInstance=new wi,this._queue=new Oe(10);for(let t of Object.keys(this._config))this._block.subConfigValue(t,r=>{this._initialized&&this._config[t]!==r&&this.sendEvent({eventType:O.CHANGE_CONFIG}),this._setConfig(t,r)})}_init(e){e===O.INIT_SOLUTION&&!this._initialized&&(this._initialized=!0)}_setConfig(e,t){this._config[e]!==t&&(this._config[e]=t)}_formattingPayload(e){let t=e.payload?{...e.payload}:{};t.activity&&(t.activity=void 0);let r={...e};return(e.eventType===O.INIT_SOLUTION||e.eventType===O.CHANGE_CONFIG)&&(r.config=this._config),{...r,appVersion:xe,appName:Te,sessionId:this._sessionId,component:this._solution,activity:this._activity,projectPubkey:this._config.pubkey,userAgent:navigator.userAgent,eventType:r.eventType??"",eventTimestamp:this._timestamp,payload:{...t}}}_excludedEvents(e){return!!(e&&[x.CHANGE,x.COMMON_UPLOAD_PROGRESS,x.FILE_ADDED,x.FILE_REMOVED,x.FILE_UPLOAD_START,x.FILE_UPLOAD_PROGRESS,x.FILE_UPLOAD_SUCCESS,x.FILE_UPLOAD_FAILED].includes(e))}sendEvent(e){let t=this._formattingPayload({eventType:e.eventType,payload:e.payload,config:e.config});this._init(e.eventType),!(this._excludedEvents(e.eventType)||this._lastPayload&&this._checkObj(this._lastPayload,t))&&this._queue.add(async()=>{this._lastPayload=t,await this._telemetryInstance.sendEvent(t)})}sendEventError(e,t="unknown"){this.sendEvent({eventType:O.ERROR_EVENT,payload:{metadata:{event:"error",text:`Error in ${t}`,error:e.message}}})}sendEventCloudImageEditor(e,t,r={}){this.sendEvent({eventType:O.ACTION_EVENT,payload:{metadata:{tabId:t,node:e.currentTarget?.tagName,event:e.type,...r}}})}_checkObj(e,t){if(JSON.stringify(e)===JSON.stringify(t))return!0;if(typeof e!="object"||typeof t!="object"||e==null||t==null)return!1;let r=Object.keys(e),o=Object.keys(t);if(r.length!==o.length)return!1;for(let n of r)if(!Object.hasOwn(t,n)||!this._checkObj(e[n],t[n]))return!1;return!0}get _timestamp(){return Date.now()}get _solution(){if(!this._block.has("*solution"))return null;let e=this._block.$["*solution"];return e?e.toLowerCase():null}get _activity(){return this._block.has("*currentActivity")?this._block.$["*currentActivity"]??null:null}};var z=s(i=>`*cfg/${i}`,"sharedConfigKey");function Jo(i,e){let t=i.querySelectorAll("[data-testid]");if(t.length===0)return;let r=new WeakMap;for(let o of t){let n=o.getAttribute("data-testid");n&&r.set(o,n)}e.subConfigValue("testMode",o=>{if(!o){for(let a of t)a.removeAttribute("data-testid");return}let n=e.testId;for(let a of t){let l=r.get(a);l&&a.setAttribute("data-testid",`${n}--${l}`)}})}s(Jo,"testModeProcessor");var ml="uc-",b=class extends ve{static{s(this,"Block")}__cfgProxy;l10nProcessorSubs=new Map;static StateConsumerScope=null;static styleAttrs=[];requireCtxName=!1;activityType=null;init$=Er();l10n(e,t={}){if(!e)return"";let r=this.$[ne(e)]||e,o=So(r);for(let a of o)t[a.variable]=this.pluralize(a.pluralKey,Number(t[a.countVariable]));return Et(r,t)}pluralize(e,t){let r=this.l10n("locale-id")||"en",o=di(r,t);return this.l10n(`${e}__${o}`)}bindL10n(e,t){this.localeManager?.bindL10n(this,e,t)}constructor(){super(),this.addTemplateProcessor(Go),this.addTemplateProcessor(Jo)}emit(e,t,r){let o=this.has("*eventEmitter")?this.$["*eventEmitter"]:void 0;o&&(o.emit(e,t,r),this.telemetryManager.sendEvent({eventType:e,payload:typeof t=="function"?t():t}))}hasBlockInCtx(e){for(let t of this.blocksRegistry)if(e(t))return!0;return!1}setOrAddState(e,t){this.add$({[e]:t},!0)}connectedCallback(){this.constructor.styleAttrs.forEach(t=>{this.setAttribute(t,"")}),this.hasAttribute("retpl")&&(this.constructor.template=null,this.processInnerHtml=!0),this.requireCtxName?ko({element:this,attribute:"ctx-name",onSuccess:s(()=>{super.connectedCallback()},"onSuccess"),onTimeout:s(()=>{console.error("Attribute `ctx-name` is required and it is not set.")},"onTimeout")}):super.connectedCallback(),Tt.registerClient(this)}disconnectedCallback(){super.disconnectedCallback(),Tt.unregisterClient(this)}initCallback(){this.has("*blocksRegistry")||this.add("*blocksRegistry",new Set),this.$["*blocksRegistry"].add(this),this.has("*eventEmitter")||this.add("*eventEmitter",new si(this.debugPrint.bind(this))),this.has("*localeManager")||this.add("*localeManager",new yi(this)),this.cfg.qualityInsights&&!this.has("*telemetryManager")&&this.add("*telemetryManager",new Ci(this)),this.has("*a11y")||this.add("*a11y",new bi),this.has("*modalManager")||this.add("*modalManager",new _i(this)),this.sub(ne("locale-id"),t=>{let r=To(t);this.style.direction=r==="ltr"?"":r}),this.subConfigValue("testMode",t=>{if(!t||!this.testId){this.removeAttribute("data-testid");return}this.setAttribute("data-testid",this.testId)})}get testId(){return window.customElements.getName(this.constructor)}get modalManager(){return this.has("*modalManager")?this.$["*modalManager"]:void 0}get telemetryManager(){return this.cfg.qualityInsights?this.has("*telemetryManager")&&this.$["*telemetryManager"]:{sendEvent:s(()=>{},"sendEvent"),sendEventCloudImageEditor:s(()=>{},"sendEventCloudImageEditor"),sendEventError:s(()=>{},"sendEventError")}}get localeManager(){return this.has("*localeManager")?this.$["*localeManager"]:null}get a11y(){return this.has("*a11y")?this.$["*a11y"]:null}get blocksRegistry(){return this.$["*blocksRegistry"]}destroyCallback(){super.destroyCallback();let e=this.blocksRegistry;e?.delete(this),this.localeManager?.destroyL10nBindings(this),this.l10nProcessorSubs=new Map,E.deleteCtx(this),e?.size===0&&setTimeout(()=>{this.destroyCtxCallback()},0)}destroyCtxCallback(){E.deleteCtx(this.ctxName),this.localeManager?.destroy(),this.modalManager?.destroy()}async proxyUrl(e){if(this.cfg.secureDeliveryProxy&&this.cfg.secureDeliveryProxyUrlResolver&&console.warn("Both secureDeliveryProxy and secureDeliveryProxyUrlResolver are set. The secureDeliveryProxyUrlResolver will be used."),this.cfg.secureDeliveryProxyUrlResolver)try{return await this.cfg.secureDeliveryProxyUrlResolver(e,{uuid:li(e),cdnUrlModifiers:ar(e),fileName:ai(e)})}catch(t){return console.error("Failed to resolve secure delivery proxy URL. Falling back to the default URL.",t),this.telemetryManager.sendEventError(t,"secureDeliveryProxyUrlResolver. Failed to resolve secure delivery proxy URL. Falling back to the default URL."),e}return this.cfg.secureDeliveryProxy?Et(this.cfg.secureDeliveryProxy,{previewUrl:e},{transform:s(t=>window.encodeURIComponent(t),"transform")}):e}get cfg(){if(!this.__cfgProxy){let e=Object.create(null);this.__cfgProxy=new Proxy(e,{set:s((t,r,o)=>{if(typeof r!="string")return!1;let n=z(r);return this.has(n)||this.add(n,Q[r]),this.$[n]=o,!0},"set"),get:s((t,r)=>{let o=z(r);return this.has(o)||this.add(o,Q[r]),this.$[z(r)]},"get")})}return this.__cfgProxy}subConfigValue(e,t){let r=z(e);this.has(r)||this.add(r,Q[e]),this.sub(r,t)}debugPrint(...e){if(!this.cfg.debug)return;let t=e;if(typeof e?.[0]=="function"){let r=e[0];t=r()}console.log(`[${this.ctxName}]`,...t)}static reg(e){if(!e){super.reg();return}e.startsWith(ml)&&super.reg(e)}};var es="active",Xe="___ACTIVITY_IS_ACTIVE___",g=class i extends b{static{s(this,"ActivityBlock")}historyTracked=!1;[Xe];init$=Tr(this);_debouncedHistoryFlush=L(this._historyFlush.bind(this),10);_deactivate(){let e=i._activityCallbacks.get(this);this[Xe]=!1,this.removeAttribute(es),e?.deactivateCallback?.()}_activate(){let e=i._activityCallbacks.get(this);this.$["*historyBack"]=this.historyBack.bind(this),this[Xe]=!0,this.setAttribute(es,""),e?.activateCallback?.(),this._debouncedHistoryFlush(),this.emit(x.ACTIVITY_CHANGE,{activity:this.activityType})}initCallback(){super.initCallback(),this.activityType&&(this.hasAttribute("activity")||this.setAttribute("activity",this.activityType),this.sub("*currentActivity",e=>{try{this.activityType!==e&&this[Xe]?this._deactivate():this.activityType===e&&!this[Xe]&&this._activate()}catch(t){this.telemetryManager.sendEventError(t,`activity "${this.activityType}"`),console.error(`Error in activity "${this.activityType}". `,t),this.$["*currentActivity"]=this.$["*history"][this.$["*history"].length-1]??null}e||(this.$["*history"]=[])}))}_historyFlush(){let e=this.$["*history"];e&&(e.length>10&&(e=e.slice(e.length-11,e.length-1)),this.historyTracked&&e[e.length-1]!==this.activityType&&e.push(this.activityType),this.$["*history"]=e)}_isActivityRegistered(){return!!this.activityType&&i._activityCallbacks.has(this)}static _activityCallbacks=new Map;static activities;get isActivityActive(){return!!this[Xe]}get couldOpenActivity(){return!0}registerActivity(e,t={}){let{onActivate:r,onDeactivate:o}=t;i._activityCallbacks.set(this,{activateCallback:r,deactivateCallback:o})}unregisterActivity(){this.isActivityActive&&this._deactivate(),i._activityCallbacks.delete(this)}destroyCallback(){super.destroyCallback(),this._isActivityRegistered()&&this.unregisterActivity();let e=this.$["*currentActivity"];!![...this.blocksRegistry].find(r=>r instanceof i&&r.activityType===e)||(this.$["*currentActivity"]=null,this.modalManager?.closeAll())}get activityKey(){return this.ctxName+this.activityType}get activityParams(){return this.$["*currentActivityParams"]}get initActivity(){return this.getCssData("--cfg-init-activity")}get doneActivity(){return this.getCssData("--cfg-done-activity")}historyBack(){let e=this.$["*history"];if(e){let t=e.pop();for(;t===this.activityType;)t=e.pop();let r=!!t;t&&(r=[...this.blocksRegistry].find(n=>n.activityType===t)?.couldOpenActivity??!1),t=r?t:void 0,t&&this.modalManager?.open(t),this.$["*currentActivity"]=t,this.$["*history"]=e,t||this.modalManager?.closeAll()}}};g.activities=Object.freeze({START_FROM:"start-from",CAMERA:"camera",DRAW:"draw",UPLOAD_LIST:"upload-list",URL:"url",CLOUD_IMG_EDIT:"cloud-image-edit",EXTERNAL:"external"});function Ei(i){for(let e in i){let t=[...e].reduce((r,o)=>(o.toUpperCase()===o&&(o=`-${o.toLowerCase()}`),r+=o,r),"");t.startsWith("-")&&(t=t.replace("-","")),t.startsWith("uc-")||(t=`uc-${t}`),i[e].reg&&i[e].reg(t)}}s(Ei,"defineComponents");var Pr="UC";function ts(i,e=!1){return new Promise((t,r)=>{if(typeof document!="object"){t(null);return}if(typeof window=="object"&&window[Pr]){t(window[Pr]);return}let o=document.createElement("script");o.async=!0,o.src=i,o.onerror=()=>{r()},o.onload=()=>{let n=window[Pr];e&&Ei(n),t(n)},document.head.appendChild(o)})}s(ts,"loadFileUploaderFrom");var is="<svg width='0' height='0' style='position:absolute'><symbol viewBox='0 0 24 24' id='uc-icon-about' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.152 14.12v.1h1.523v-.1c.007-.409.053-.752.138-1.028.086-.277.22-.517.405-.72.188-.202.434-.397.735-.586.32-.191.593-.412.82-.66.232-.249.41-.531.533-.847.125-.32.187-.678.187-1.076 0-.579-.137-1.085-.41-1.518a2.717 2.717 0 0 0-1.14-1.018c-.49-.245-1.062-.367-1.715-.367-.597 0-1.142.114-1.636.34-.49.228-.884.564-1.182 1.008-.299.44-.46.98-.485 1.619h1.62c.024-.377.118-.684.282-.922a1.48 1.48 0 0 1 .617-.532c.25-.114.51-.17.784-.17.301 0 .575.063.82.191.248.124.447.302.597.533.149.23.223.504.223.82 0 .263-.05.502-.149.72a1.91 1.91 0 0 1-.405.574 3.48 3.48 0 0 1-.575.453 4.22 4.22 0 0 0-.847.66c-.234.242-.415.558-.543.949-.125.39-.19.916-.197 1.577Zm.053 3.03c.21.206.46.31.75.31.196 0 .374-.049.534-.144a1.1 1.1 0 0 0 .383-.384c.1-.163.15-.343.15-.538a1 1 0 0 0-.32-.746 1.019 1.019 0 0 0-.746-.314c-.291 0-.542.105-.751.314-.21.206-.314.455-.314.746 0 .295.104.547.314.756ZM24 12c0 6.627-5.373 12-12 12S0 18.627 0 12 5.373 0 12 0s12 5.373 12 12Zm-1.5 0c0 5.799-4.701 10.5-10.5 10.5S1.5 17.799 1.5 12 6.201 1.5 12 1.5 22.5 6.201 22.5 12Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-add' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M12.75 21a.75.75 0 0 1-1.5 0v-8.25H3a.75.75 0 0 1 0-1.5h8.25V3a.75.75 0 0 1 1.5 0v8.25H21a.75.75 0 0 1 0 1.5h-8.25V21Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-arrow-down' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.5 23.03a.75.75 0 0 0 .999 0l9.29-8.276a.75.75 0 0 0-.998-1.12l-8.042 7.164V1.53a.75.75 0 0 0-1.5 0v19.267l-8.04-7.163a.75.75 0 0 0-.998 1.12z'/></symbol><symbol fill='none' viewBox='0 0 9 6' id='uc-icon-arrow-dropdown' xmlns='http://www.w3.org/2000/svg'><path stroke='currentColor' d='m1.5 1.667 3 2.666 3-2.666' opacity='.5'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-aspect-ratio' xmlns='http://www.w3.org/2000/svg'><path stroke='currentColor' d='M7.395 22.5H2.454v-5.25m14.824 5.25h4.94v-5.25m0-10.5V1.5h-4.94m-9.883 0H2.454v5.25'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-back' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M20.251 12a.75.75 0 0 1-.75.75H6.067l5.72 5.85a.75.75 0 1 1-1.072 1.05L4.136 12.92a1.292 1.292 0 0 1 0-1.842l6.579-6.728a.75.75 0 1 1 1.072 1.048l-5.72 5.851H19.5a.75.75 0 0 1 .75.75Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-badge-error' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M13.6 18.4a1.6 1.6 0 1 1-3.2 0 1.6 1.6 0 0 1 3.2 0zM12 4.5A1.5 1.5 0 0 1 13.5 6v7a1.5 1.5 0 0 1-3 0V6A1.5 1.5 0 0 1 12 4.5z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-badge-success' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='m10.5 18.204 7.6-8.183a1.5 1.5 0 0 0-2.2-2.042l-5.4 5.817-2.4-2.586a1.5 1.5 0 1 0-2.2 2.041l4.6 4.953Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-box' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M1.01 4.148a.75.75 0 0 1 .75.75v4.348a4.437 4.437 0 0 1 2.988-1.153c1.734 0 3.23.992 3.978 2.438a4.478 4.478 0 0 1 3.978-2.438c2.49 0 4.488 2.044 4.488 4.543 0 2.5-1.999 4.544-4.488 4.544a4.478 4.478 0 0 1-3.978-2.438 4.478 4.478 0 0 1-3.978 2.438C2.26 17.18.26 15.135.26 12.636V4.898a.75.75 0 0 1 .75-.75Zm.75 8.488c0 1.692 1.348 3.044 2.988 3.044s2.989-1.352 2.989-3.044c0-1.691-1.349-3.043-2.989-3.043S1.76 10.945 1.76 12.636Zm10.944-3.043c-1.64 0-2.988 1.352-2.988 3.043 0 1.692 1.348 3.044 2.988 3.044s2.988-1.352 2.988-3.044c0-1.69-1.348-3.043-2.988-3.043Zm4.328-1.23a.75.75 0 0 1 1.052.128l2.333 2.983 2.333-2.983a.75.75 0 0 1 1.181.924l-2.562 3.277 2.562 3.276a.75.75 0 1 1-1.181.924l-2.333-2.983-2.333 2.983a.75.75 0 1 1-1.181-.924l2.562-3.276-2.562-3.277a.75.75 0 0 1 .129-1.052Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-camera' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M7.65 2.55a.75.75 0 0 1 .6-.3h7.5a.75.75 0 0 1 .6.3l2.025 2.7H21a3 3 0 0 1 3 3v10.5a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V8.25a3 3 0 0 1 3-3h2.625zm.975 1.2L6.6 6.45a.75.75 0 0 1-.6.3H3a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h18a1.5 1.5 0 0 0 1.5-1.5V8.25a1.5 1.5 0 0 0-1.5-1.5h-3a.75.75 0 0 1-.6-.3l-2.025-2.7zm3.375 6a3.375 3.375 0 1 0 0 6.75 3.375 3.375 0 0 0 0-6.75zm-4.875 3.375a4.875 4.875 0 1 1 9.75 0 4.875 4.875 0 0 1-9.75 0z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-camera-full' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' clip-rule='evenodd' d='M2 4.667a2 2 0 0 0-2 2V16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6.667a2 2 0 0 0-2-2h-2.667l-2-2.667H6.667l-2 2.667H2Zm8 10a3.667 3.667 0 1 0 0-7.334 3.667 3.667 0 0 0 0 7.334Z' fill='currentColor'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-close' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M4.604 4.604a.75.75 0 0 1 1.06 0L12 10.939l6.335-6.335a.75.75 0 1 1 1.061 1.06L13.061 12l6.335 6.335a.75.75 0 1 1-1.06 1.061L12 13.061l-6.335 6.335a.75.75 0 0 1-1.061-1.06L10.939 12 4.604 5.665a.75.75 0 0 1 0-1.061z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-collapse' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M3.116 12a.75.75 0 0 1 .75-.75h16.268a.75.75 0 0 1 0 1.5H3.866a.75.75 0 0 1-.75-.75Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-default' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.501.392a.75.75 0 0 1 .998 0l6.704 5.972a.75.75 0 0 1-.998 1.12l-5.455-4.86v13.439a.75.75 0 0 1-1.5 0V2.625l-5.454 4.86a.75.75 0 1 1-.998-1.12zM.857 16.73a.75.75 0 0 1 .75.75v4.914h20.786v-4.914a.75.75 0 0 1 1.5 0v5.664a.75.75 0 0 1-.75.75H.857a.75.75 0 0 1-.75-.75v-5.664a.75.75 0 0 1 .75-.75z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-dropbox' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M6.019 1.92a.75.75 0 0 1 .806 0L12 5.219l5.176-3.297a.75.75 0 0 1 .806 0l5.577 3.553a.75.75 0 0 1 0 1.265l-4.574 2.914 4.574 2.914a.75.75 0 0 1 0 1.265l-5.577 3.554a.75.75 0 0 1-.806 0L12 14.089l-5.175 3.297a.75.75 0 0 1-.806 0L.44 13.833a.75.75 0 0 1 0-1.266l4.575-2.914L.44 6.74a.75.75 0 0 1 0-1.265zm.403 8.616L2.24 13.2l4.182 2.664 4.181-2.664zm6.975 2.664 4.182 2.664L21.76 13.2l-4.181-2.664zm2.776-3.547L12 12.311 7.828 9.653 12 6.995zm1.406-.882 4.181-2.664-4.181-2.664-4.182 2.664zm-6.976-2.664L6.422 3.443 2.24 6.107 6.422 8.77zM5.791 18.544a.75.75 0 0 1 1.035-.23l5.175 3.297 5.175-3.297a.75.75 0 1 1 .806 1.265l-5.578 3.554a.75.75 0 0 1-.806 0L6.02 19.579a.75.75 0 0 1-.23-1.035z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-edit-file' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M18.558 2.804a.78.78 0 0 0-.557.235l-.008.007-2.472 2.46 3.847 3.848 2.46-2.473.004-.003a.78.78 0 0 0 0-1.108l-.004-.003-2.712-2.728a.78.78 0 0 0-.558-.235Zm-.248 7.613-3.852-3.852-8.93 8.887-1.516 5.41 5.41-1.515 8.888-8.93Zm-.636-8.934a2.28 2.28 0 0 1 2.512.505l2.702 2.717.002.002a2.278 2.278 0 0 1 0 3.234l-.002.002-12.541 12.602a.75.75 0 0 1-.33.193l-6.884 1.928a.75.75 0 0 1-.925-.924l1.928-6.885a.75.75 0 0 1 .193-.33l12.603-12.54a2.28 2.28 0 0 1 .742-.504Z' clip-rule='evenodd'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-error' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M13 13h-2V7h2m0 10h-2v-2h2M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-evernote' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M9.804 2.27v-.048c.055-.263.313-.562.85-.562h.44c.142 0 .325.014.526.033.066.009.124.023.267.06l.13.032h.002c.319.079.515.275.644.482a1.461 1.461 0 0 1 .16.356l.004.012a.75.75 0 0 0 .603.577l1.191.207a1988.512 1988.512 0 0 0 2.332.402c.512.083 1.1.178 1.665.442.64.3 1.19.795 1.376 1.77.548 2.931.657 5.829.621 8a39.233 39.233 0 0 1-.125 2.602 17.518 17.518 0 0 1-.092.849.735.735 0 0 0-.024.112c-.378 2.705-1.269 3.796-2.04 4.27-.746.457-1.53.451-2.217.447h-.192c-.46 0-1.073-.23-1.581-.635-.518-.412-.763-.87-.763-1.217 0-.45.188-.688.355-.786.161-.095.436-.137.796.087a.75.75 0 1 0 .792-1.274c-.766-.476-1.64-.52-2.345-.108-.7.409-1.098 1.188-1.098 2.08 0 .996.634 1.84 1.329 2.392.704.56 1.638.96 2.515.96l.185.002c.667.009 1.874.025 3.007-.67 1.283-.786 2.314-2.358 2.733-5.276a4.213 4.213 0 0 0 .056-.335c.023-.184.051-.445.079-.772.055-.655.111-1.585.13-2.704.037-2.234-.074-5.239-.647-8.301v-.002c-.294-1.544-1.233-2.391-2.215-2.85-.777-.363-1.623-.496-2.129-.576a8.872 8.872 0 0 1-.25-.041l-.006-.001-1.99-.345-.761-.132a2.93 2.93 0 0 0-.182-.338A2.532 2.532 0 0 0 12.379.329l-.091-.023a3.967 3.967 0 0 0-.493-.103L11.769.2a7.846 7.846 0 0 0-.675-.04h-.44c-.733 0-1.368.284-1.795.742L2.416 7.431c-.468.428-.751 1.071-.751 1.81 0 .02 0 .041.003.062l.003.034c.017.21.038.468.096.796.107.715.275 1.47.391 1.994.029.13.055.245.075.342l.002.008c.258 1.141.641 1.94.978 2.466.168.263.323.456.444.589a2.808 2.808 0 0 0 .192.194c1.536 1.562 3.713 2.196 5.731 2.08.13-.005.35-.032.537-.073a2.627 2.627 0 0 0 .652-.24c.425-.26.75-.661.992-1.046.184-.294.342-.61.473-.915a3.8 3.8 0 0 0 .627.493 5.022 5.022 0 0 0 1.97.709l.023.002.018.003.11.016c.088.014.205.035.325.058l.056.014c.088.022.164.04.235.061a1.736 1.736 0 0 1 .145.048l.03.014c.765.34 1.302 1.09 1.302 1.871a.75.75 0 0 0 1.5 0c0-1.456-.964-2.69-2.18-3.235a3.595 3.595 0 0 0-.679-.217l-.063-.015a10.616 10.616 0 0 0-.606-.105l-.02-.003-.03-.003h-.002a3.542 3.542 0 0 1-1.331-.485c-.471-.298-.788-.692-.828-1.234a.75.75 0 0 0-1.48-.106l-.001.003-.004.017a8.23 8.23 0 0 1-.092.352 9.963 9.963 0 0 1-.298.892c-.132.34-.29.68-.47.966-.174.276-.339.454-.478.549a1.178 1.178 0 0 1-.221.072 1.949 1.949 0 0 1-.241.036h-.013l-.032.002c-1.684.1-3.423-.437-4.604-1.65a.746.746 0 0 0-.053-.05L4.84 14.6a1.348 1.348 0 0 1-.07-.073 2.99 2.99 0 0 1-.293-.392c-.242-.379-.558-1.014-.778-1.985a54.1 54.1 0 0 0-.083-.376 27.494 27.494 0 0 1-.367-1.872l-.003-.02a6.791 6.791 0 0 1-.08-.67c.004-.277.086-.475.2-.609l.067-.067a.63.63 0 0 1 .292-.145h.05c.18 0 1.095.055 2.013.115l1.207.08.534.037a.747.747 0 0 0 .052.002c.782 0 1.349-.206 1.759-.585l.005-.005c.553-.52.622-1.225.622-1.76V6.24l-.026-.565A774.97 774.97 0 0 1 9.885 4.4c-.042-.961-.081-1.939-.081-2.13ZM4.995 6.953a251.126 251.126 0 0 1 2.102.137l.508.035c.48-.004.646-.122.715-.185.07-.068.146-.209.147-.649l-.024-.548a791.69 791.69 0 0 1-.095-2.187L4.995 6.953Zm16.122 9.996Zm-5.479-5.323a.75.75 0 0 0 1.014.31 2.04 2.04 0 0 1 .304-.089 1.84 1.84 0 0 1 .544-.039c.215.023.321.06.37.085.033.016.039.026.047.04a.75.75 0 0 0 1.289-.767c-.337-.567-.906-.783-1.552-.85a3.334 3.334 0 0 0-1.002.062c-.27.056-.531.14-.705.234a.75.75 0 0 0-.31 1.014Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-expand' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='m12 8.337-8.47 8.47a.75.75 0 0 1-1.06-1.06l8.605-8.606a1.29 1.29 0 0 1 1.85 0l8.605 8.605a.75.75 0 1 1-1.06 1.06L12 8.338Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-external-source-placeholder' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M6.341 3.27a10.5 10.5 0 0 1 5.834-1.77.75.75 0 0 0 0-1.5 12 12 0 1 0 12 12 .75.75 0 0 0-1.5 0A10.5 10.5 0 1 1 6.34 3.27Zm14.145 1.48a.75.75 0 1 0-1.06-1.062L9.925 13.19V7.95a.75.75 0 1 0-1.5 0V15c0 .414.336.75.75.75h7.05a.75.75 0 0 0 0-1.5h-5.24l9.501-9.5Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-facebook' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M12 1.5C6.201 1.5 1.5 6.201 1.5 12c0 4.943 3.416 9.089 8.016 10.204v-6.108H7.383a.75.75 0 0 1-.75-.75v-3.281a.75.75 0 0 1 .75-.75h2.133V9.393c0-.958.225-2.511 1.38-3.65 1.194-1.177 3.174-1.718 6.254-1.056a.75.75 0 0 1 .592.733v2.754a.75.75 0 0 1-.75.75c-.692 0-1.203.026-1.584.082-.387.057-.578.137-.675.202-.109.073-.237.205-.237 1.029v1.078h2.39a.75.75 0 0 1 .742.866l-.516 3.281a.75.75 0 0 1-.74.634h-1.876v6.106C19.09 21.082 22.5 16.939 22.5 12c0-5.799-4.701-10.5-10.5-10.5zM0 12C0 5.373 5.373 0 12 0s12 5.373 12 12c0 5.995-4.395 10.961-10.138 11.856a.75.75 0 0 1-.866-.74v-7.77a.75.75 0 0 1 .75-.75h1.984l.28-1.781h-2.264a.75.75 0 0 1-.75-.75v-1.828c0-.829.089-1.729.9-2.274.363-.244.807-.37 1.293-.441a9.623 9.623 0 0 1 1.053-.086V6.04c-2.41-.405-3.645.132-4.293.771-.737.728-.933 1.793-.933 2.582v2.672a.75.75 0 0 1-.75.75H8.133v1.78h2.133a.75.75 0 0 1 .75.75v7.772a.75.75 0 0 1-.865.741C4.4 22.968 0 18 0 12z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-file' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M2.895 1.201c0-.473.383-.857.857-.857h8.4c.227 0 .445.09.606.251l8.4 8.4c.16.16.25.379.25.606v13.2a.857.857 0 0 1-.856.857h-16.8a.857.857 0 0 1-.857-.857zm1.714.857v19.886h15.085V10.458h-7.542a.857.857 0 0 1-.858-.857V2.058zm8.4 1.213 5.473 5.473H13.01z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-flickr' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M5.959 7.926c-2.298 0-4.14 1.834-4.14 4.073 0 2.241 1.842 4.075 4.14 4.075 2.302 0 4.145-1.834 4.145-4.075 0-2.238-1.843-4.073-4.145-4.073Zm-5.64 4.073c0-3.086 2.533-5.573 5.64-5.573 3.11 0 5.645 2.486 5.645 5.573 0 3.089-2.535 5.575-5.645 5.575-3.107 0-5.64-2.487-5.64-5.575Zm18.07-4.073c-2.301 0-4.144 1.835-4.144 4.073 0 2.24 1.843 4.075 4.145 4.075 2.299 0 4.141-1.834 4.141-4.075 0-2.239-1.842-4.073-4.141-4.073Zm-5.644 4.073c0-3.087 2.535-5.573 5.645-5.573 3.108 0 5.641 2.487 5.641 5.573 0 3.088-2.533 5.575-5.641 5.575-3.11 0-5.645-2.486-5.645-5.575Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-gdrive' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M7.736 1.818a.75.75 0 0 1 .647-.37h7.587a.75.75 0 0 1 .655.383l7.233 12.946a.75.75 0 0 1-.003.737l-3.794 6.66a.75.75 0 0 1-.651.378H4.59a.75.75 0 0 1-.651-.378l-3.794-6.66a.75.75 0 0 1 .005-.75zm.64 1.876L1.663 15.148l2.93 5.145 6.655-11.581zm3.736 6.526-2.398 4.173H14.5zm4.116 4.173h5.697L15.53 2.947H9.677zm5.685 1.5H8.852l-2.966 5.16h13.088z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-gphotos' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M12.51 0c-.702 0-1.272.57-1.272 1.273V7.35A6.381 6.381 0 0 0 0 11.489c0 .703.57 1.273 1.273 1.273H7.35A6.381 6.381 0 0 0 11.488 24c.704 0 1.274-.57 1.274-1.273V16.65A6.381 6.381 0 0 0 24 12.51c0-.703-.57-1.273-1.273-1.273H16.65A6.381 6.381 0 0 0 12.511 0Zm.252 11.232V1.53a4.857 4.857 0 0 1 0 9.702Zm-1.53.006H1.53a4.857 4.857 0 0 1 9.702 0Zm1.536 1.524a4.857 4.857 0 0 0 9.702 0h-9.702Zm-6.136 4.857c0-2.598 2.04-4.72 4.606-4.85v9.7a4.857 4.857 0 0 1-4.606-4.85Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-huddle' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M6.204 2.002c-.252.23-.357.486-.357.67V21.07c0 .15.084.505.313.812.208.28.499.477.929.477.519 0 .796-.174.956-.365.178-.212.286-.535.286-.924v-.013l.117-6.58c.004-1.725 1.419-3.883 3.867-3.883 1.33 0 2.332.581 2.987 1.364.637.762.95 1.717.95 2.526v6.47c0 .392.11.751.305.995.175.22.468.41 1.008.41.52 0 .816-.198 1.002-.437.207-.266.31-.633.31-.969V14.04c0-2.81-1.943-5.108-4.136-5.422a5.971 5.971 0 0 0-3.183.41c-.912.393-1.538.96-1.81 1.489a.75.75 0 0 1-1.417-.344v-7.5c0-.587-.47-1.031-1.242-1.031-.315 0-.638.136-.885.36ZM5.194.892A2.844 2.844 0 0 1 7.09.142c1.328 0 2.742.867 2.742 2.53v5.607a6.358 6.358 0 0 1 1.133-.629 7.47 7.47 0 0 1 3.989-.516c3.056.436 5.425 3.482 5.425 6.906v6.914c0 .602-.177 1.313-.627 1.89-.47.605-1.204 1.016-2.186 1.016-.96 0-1.698-.37-2.179-.973-.46-.575-.633-1.294-.633-1.933v-6.469c0-.456-.19-1.071-.602-1.563-.394-.471-.986-.827-1.836-.827-1.447 0-2.367 1.304-2.367 2.39v.014l-.117 6.58c-.001.64-.177 1.333-.637 1.881-.48.57-1.2.9-2.105.9-.995 0-1.7-.5-2.132-1.081-.41-.552-.61-1.217-.61-1.708V2.672c0-.707.366-1.341.847-1.78Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-info' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11 9h2V7h-2m1 13c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-18A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m-1 15h2v-6h-2v6Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-local' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M3 3.75a1.5 1.5 0 0 0-1.5 1.5v13.5a1.5 1.5 0 0 0 1.5 1.5h18a1.5 1.5 0 0 0 1.5-1.5V9A1.5 1.5 0 0 0 21 7.5h-9a.75.75 0 0 1-.643-.364L9.325 3.75zm-3 1.5a3 3 0 0 1 3-3h6.75a.75.75 0 0 1 .643.364L12.425 6H21a3 3 0 0 1 3 3v9.75a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-microphone' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' clip-rule='evenodd' d='M7.5 4.781a4.5 4.5 0 0 1 9 0v6.469a4.5 4.5 0 1 1-9 0V4.781Zm4.5-3a3 3 0 0 0-3 3v6.469a3 3 0 1 0 6 0V4.781a3 3 0 0 0-3-3Zm-8.156 8.11a.75.75 0 0 1 .75.75 7.406 7.406 0 1 0 14.812 0 .75.75 0 0 1 1.5 0 8.907 8.907 0 0 1-8.156 8.875v2.703h3.258a.75.75 0 1 1 0 1.5H7.992a.75.75 0 0 1 0-1.5h3.258v-2.703a8.907 8.907 0 0 1-8.156-8.875.75.75 0 0 1 .75-.75Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-microphone-mute' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' clip-rule='evenodd' d='M7.5 4.781a4.5 4.5 0 0 1 9 0V6l3.524-3.524a.75.75 0 1 1 1.061 1.06L5.036 19.585a.75.75 0 0 1-1.06-1.06l1.656-1.657a8.88 8.88 0 0 1-2.538-6.227.75.75 0 0 1 1.5 0c0 2.009.8 3.83 2.1 5.166l1.771-1.772A4.483 4.483 0 0 1 7.5 11.25V4.781Zm2.037 8.182L15 7.5V4.781a3 3 0 1 0-6 0v6.469c0 .637.198 1.227.537 1.713Zm10.62-3.072a.75.75 0 0 1 .75.75 8.907 8.907 0 0 1-8.157 8.875v2.703h3.258a.75.75 0 1 1 0 1.5H7.992a.75.75 0 0 1 0-1.5h3.258v-2.703a8.855 8.855 0 0 1-3.035-.811.75.75 0 1 1 .638-1.358 7.406 7.406 0 0 0 10.553-6.707.75.75 0 0 1 .75-.75ZM15 10.81a.75.75 0 0 1 1.5 0v.439a4.5 4.5 0 0 1-5 4.473.75.75 0 1 1 .166-1.491A3 3 0 0 0 15 11.25v-.44Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-mobile-photo-camera' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M7.65 2.55a.75.75 0 0 1 .6-.3h7.5a.75.75 0 0 1 .6.3l2.025 2.7H21a3 3 0 0 1 3 3v10.5a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V8.25a3 3 0 0 1 3-3h2.625zm.975 1.2L6.6 6.45a.75.75 0 0 1-.6.3H3a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h18a1.5 1.5 0 0 0 1.5-1.5V8.25a1.5 1.5 0 0 0-1.5-1.5h-3a.75.75 0 0 1-.6-.3l-2.025-2.7zm3.375 6a3.375 3.375 0 1 0 0 6.75 3.375 3.375 0 0 0 0-6.75zm-4.875 3.375a4.875 4.875 0 1 1 9.75 0 4.875 4.875 0 0 1-9.75 0z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-mobile-video-camera' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' clip-rule='evenodd' d='M0 6.75a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v1.078L22.873 5A.75.75 0 0 1 24 5.648v12.704a.75.75 0 0 1-1.123.65L18 16.207v1.043a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V6.75Zm18 7.728 4.5 2.58V6.95L18 9.562v4.916ZM16.5 6.75a1.5 1.5 0 0 0-1.5-1.5H3a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h12a1.5 1.5 0 0 0 1.5-1.5V6.75Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-ngdrive' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M7.736 1.818a.75.75 0 0 1 .647-.37h7.587a.75.75 0 0 1 .655.383l7.233 12.946a.75.75 0 0 1-.003.737l-3.794 6.66a.75.75 0 0 1-.651.378H4.59a.75.75 0 0 1-.651-.378l-3.794-6.66a.75.75 0 0 1 .005-.75zm.64 1.876L1.663 15.148l2.93 5.145 6.655-11.581zm3.736 6.526-2.398 4.173H14.5zm4.116 4.173h5.697L15.53 2.947H9.677zm5.685 1.5H8.852l-2.966 5.16h13.088z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-onedrive' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M13.616 4.147a7.689 7.689 0 0 0-7.642 3.285A6.299 6.299 0 0 0 1.455 17.3c.684.894 2.473 2.658 5.17 2.658h12.141c.95 0 1.882-.256 2.697-.743.815-.486 1.514-1.247 1.964-2.083a5.26 5.26 0 0 0-3.713-7.612 7.69 7.69 0 0 0-6.098-5.373ZM3.34 17.15c.674.63 1.761 1.308 3.284 1.308h12.142a3.76 3.76 0 0 0 2.915-1.383l-7.494-4.489L3.34 17.15Zm10.875-6.25 2.47-1.038a5.239 5.239 0 0 1 1.427-.389 6.19 6.19 0 0 0-10.3-1.952 6.338 6.338 0 0 1 2.118.813l4.285 2.567Zm4.55.033c-.512 0-1.019.104-1.489.307l-.006.003-1.414.594 6.521 3.906a3.76 3.76 0 0 0-3.357-4.8l-.254-.01ZM4.097 9.617A4.799 4.799 0 0 1 6.558 8.9c.9 0 1.84.25 2.587.713l3.4 2.037-10.17 4.28a4.799 4.799 0 0 1 1.721-6.312Z'/></symbol><symbol fill='none' viewBox='0 0 10 10' id='uc-icon-pause' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' d='M1 0h2.5v10H1zM6.5 0H9v10H6.5z'/></symbol><symbol fill='none' viewBox='0 0 10 10' id='uc-icon-play' xmlns='http://www.w3.org/2000/svg'><path d='m1 0 9 5-9 5V0Z' fill='currentColor'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-remove-file' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.955 3.3A2.969 2.969 0 0 0 8.998 6h5.914a2.97 2.97 0 0 0-2.957-2.7zM16.416 6a4.47 4.47 0 0 0-8.922 0h-2.32a.755.755 0 0 0-.111.008H3.075a.75.75 0 1 0 0 1.5h1.35V19.35a2.85 2.85 0 0 0 2.85 2.85h9.45a2.85 2.85 0 0 0 2.85-2.85V7.508h1.35a.75.75 0 0 0 0-1.5h-1.989A.754.754 0 0 0 18.825 6zM5.925 7.508V19.35a1.35 1.35 0 0 0 1.35 1.35h9.45a1.35 1.35 0 0 0 1.35-1.35V7.508z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-select' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='m7 10 5 5 5-5H7Z'/></symbol><symbol fill='none' viewBox='0 0 20 20' id='uc-icon-square' xmlns='http://www.w3.org/2000/svg'><rect width='20' height='20' rx='4' fill='#fff'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-upload' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.501.392a.75.75 0 0 1 .998 0l6.704 5.972a.75.75 0 0 1-.998 1.12l-5.455-4.86v13.439a.75.75 0 0 1-1.5 0V2.625l-5.454 4.86a.75.75 0 1 1-.998-1.12zM.857 16.73a.75.75 0 0 1 .75.75v4.914h20.786v-4.914a.75.75 0 0 1 1.5 0v5.664a.75.75 0 0 1-.75.75H.857a.75.75 0 0 1-.75-.75v-5.664a.75.75 0 0 1 .75-.75z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-upload-error' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M13 13h-2V7h2m0 10h-2v-2h2M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-url' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M19.11 3.67c-1.71-1.709-4.578-1.682-6.408.148l-2.22 2.22a.75.75 0 0 1-1.062-1.06l2.222-2.221C14.018.381 17.836.276 20.17 2.61l1.22 1.22c2.335 2.334 2.23 6.153-.147 8.529l-2.22 2.22a.75.75 0 0 1-1.062-1.06l2.222-2.221c1.83-1.83 1.856-4.698.147-6.408zm-3.36 4.58a.75.75 0 0 1 0 1.06l-6.439 6.44a.75.75 0 0 1-1.06-1.06l6.439-6.44a.75.75 0 0 1 1.06 0zM6.04 9.42a.75.75 0 0 1 0 1.061l-2.222 2.222c-1.83 1.83-1.856 4.698-.147 6.407l1.22 1.22c1.71 1.71 4.578 1.683 6.408-.147l2.221-2.221a.75.75 0 1 1 1.06 1.06l-2.22 2.222c-2.377 2.376-6.195 2.481-8.53.147l-1.22-1.22c-2.334-2.334-2.228-6.153.148-8.53l2.221-2.22a.75.75 0 0 1 1.06 0z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-video-camera' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' clip-rule='evenodd' d='M0 6.75a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v1.078L22.873 5A.75.75 0 0 1 24 5.648v12.704a.75.75 0 0 1-1.123.65L18 16.207v1.043a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V6.75Zm18 7.728 4.5 2.58V6.95L18 9.562v4.916ZM16.5 6.75a1.5 1.5 0 0 0-1.5-1.5H3a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h12a1.5 1.5 0 0 0 1.5-1.5V6.75Z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-video-camera-full' xmlns='http://www.w3.org/2000/svg'><path d='M2 3.333a2 2 0 0 0-2 2v9.334a2 2 0 0 0 2 2h10.938a2 2 0 0 0 2-2v-2.013L20 15.646V4.354l-5.063 3.03v-2.05a2 2 0 0 0-2-2H2Z' fill='currentColor'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-vk' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M6.341 3.27a10.5 10.5 0 0 1 5.834-1.77.75.75 0 0 0 0-1.5 12 12 0 1 0 12 12 .75.75 0 0 0-1.5 0A10.5 10.5 0 1 1 6.34 3.27Zm14.145 1.48a.75.75 0 1 0-1.06-1.062L9.925 13.19V7.95a.75.75 0 1 0-1.5 0V15c0 .414.336.75.75.75h7.05a.75.75 0 0 0 0-1.5h-5.24l9.501-9.5Z'/></symbol></svg>";var ce=class extends b{static{s(this,"SolutionBlock")}static styleAttrs=["uc-wgt-common"];requireCtxName=!0;init$=Ho(this);static _template="";initCallback(){super.initCallback(),this.a11y?.registerBlock(this)}static set template(e){this._template=`${is+e}<slot></slot>`}static get template(){return this._template}};var St=33.333333333333336,_=1,Ur=24,rs=6;function Re(i,e){for(let[t,r]of Object.entries(e))i.setAttributeNS(null,t,r.toString())}s(Re,"setSvgNodeAttrs");function G(i,e={}){let t=document.createElementNS("http://www.w3.org/2000/svg",i);return Re(t,e),t}s(G,"createSvgNode");function os(i,e,t){let{x:r,y:o,width:n,height:a}=i,l=e.includes("w")?0:1,c=e.includes("n")?0:1,d=l===0?-1:1,u=c===0?-1:1,p=[r+l*n+1.5*d,o+c*a+1.5*u-24*t*u],h=[r+l*n+1.5*d,o+c*a+1.5*u],f=[r+l*n-24*t*d+1.5*d,o+c*a+1.5*u],m=`M ${p[0]} ${p[1]} L ${h[0]} ${h[1]} L ${f[0]} ${f[1]}`,v=[h[0],h[1]];return{d:m,center:v}}s(os,"cornerPath");function ss(i,e,t){let{x:r,y:o,width:n,height:a}=i,l=e==="n"||e==="s",c=e==="w"||e==="e",d=l?.5:e==="w"?0:1,u=c?.5:e==="n"?0:1,p=e==="w"?-1:e==="e"?1:0,h=e==="n"?-1:e==="s"?1:0,f,m;l?(f=[r+d*n-34*t/2,o+u*a+1.5*h],m=[r+d*n+34*t/2,o+u*a+1.5*h]):(f=[r+d*n+1.5*p,o+u*a-34*t/2],m=[r+d*n+1.5*p,o+u*a+34*t/2]);let v=`M ${f[0]} ${f[1]} L ${m[0]} ${m[1]}`,y=[(f[0]+m[0])/2,(f[1]+m[1])/2];return{d:v,center:y}}s(ss,"sidePath");function ns(i){return i===""?"move":["e","w"].includes(i)?"ew-resize":["n","s"].includes(i)?"ns-resize":["nw","se"].includes(i)?"nwse-resize":"nesw-resize"}s(ns,"thumbCursor");function as({rect:i,delta:[e,t],imageBox:r}){return Ye({...i,x:i.x+e,y:i.y+t},r)}s(as,"moveRect");function Ye(i,e){let{x:t}=i,{y:r}=i;return i.x<e.x?t=e.x:i.x+i.width>e.x+e.width&&(t=e.x+e.width-i.width),i.y<e.y?r=e.y:i.y+i.height>e.y+e.height&&(r=e.y+e.height-i.height),{...i,x:t,y:r}}s(Ye,"constraintRect");function fl({rect:i,delta:e,aspectRatio:t,imageBox:r}){let[,o]=e,{y:n,width:a,height:l}=i;n+=o,l-=o,t&&(a=l*t);let c=i.x+i.width/2-a/2;return n<=r.y&&(n=r.y,l=i.y+i.height-n,t&&(a=l*t,c=i.x+i.width/2-a/2)),c<=r.x&&(c=r.x,n=i.y+i.height-l),c+a>=r.x+r.width&&(c=Math.max(r.x,r.x+r.width-a),a=r.x+r.width-c,t&&(l=a/t),n=i.y+i.height-l),l<_&&(l=_,t&&(a=l*t,c=i.x+i.width/2-a/2),n=i.y+i.height-l),a<_&&(a=_,t&&(l=a/t,c=i.x+i.width/2-a/2),n=i.y+i.height-l),{x:c,y:n,width:a,height:l}}s(fl,"resizeNorth");function gl({rect:i,delta:e,aspectRatio:t,imageBox:r}){let[o]=e,{x:n,width:a,height:l}=i;n+=o,a-=o,t&&(l=a/t);let c=i.y+i.height/2-l/2;return n<=r.x&&(n=r.x,a=i.x+i.width-n,t&&(l=a/t,c=i.y+i.height/2-l/2)),c<=r.y&&(c=r.y,n=i.x+i.width-a),c+l>=r.y+r.height&&(c=Math.max(r.y,r.y+r.height-l),l=r.y+r.height-c,t&&(a=l*t),n=i.x+i.width-a),l<_&&(l=_,t&&(a=l*t),c=i.y+i.height/2-l/2,n=i.x+i.width-a),a<_&&(a=_,t&&(l=a/t),c=i.y+i.height/2-l/2,n=i.x+i.width-a),{x:n,y:c,width:a,height:l}}s(gl,"resizeWest");function vl({rect:i,delta:e,aspectRatio:t,imageBox:r}){let[,o]=e,{y:n,width:a,height:l}=i;l+=o,t&&(a=l*t);let c=i.x+i.width/2-a/2;return n+l>=r.y+r.height&&(l=r.y+r.height-n,t&&(a=l*t),c=i.x+i.width/2-a/2),c<=r.x&&(c=r.x,n=i.y),c+a>=r.x+r.width&&(c=Math.max(r.x,r.x+r.width-a),a=r.x+r.width-c,t&&(l=a/t),n=i.y),l<_&&(l=_,t&&(a=l*t),c=i.x+i.width/2-a/2),a<_&&(a=_,t&&(l=a/t),c=i.x+i.width/2-a/2),{x:c,y:n,width:a,height:l}}s(vl,"resizeSouth");function yl({rect:i,delta:e,aspectRatio:t,imageBox:r}){let[o]=e,{x:n,width:a,height:l}=i;a+=o,t&&(l=a/t);let c=i.y+i.height/2-l/2;return n+a>=r.x+r.width&&(a=r.x+r.width-n,t&&(l=a/t),c=i.y+i.height/2-l/2),c<=r.y&&(c=r.y,n=i.x),c+l>=r.y+r.height&&(c=Math.max(r.y,r.y+r.height-l),l=r.y+r.height-c,t&&(a=l*t),n=i.x),l<_&&(l=_,t&&(a=l*t),c=i.y+i.height/2-l/2),a<_&&(a=_,t&&(l=a/t),c=i.y+i.height/2-l/2),{x:n,y:c,width:a,height:l}}s(yl,"resizeEast");function bl({rect:i,delta:e,aspectRatio:t,imageBox:r}){let[o,n]=e,{x:a,y:l,width:c,height:d}=i;return a+o<r.x&&(o=r.x-a),l+n<r.y&&(n=r.y-l),a+=o,c-=o,l+=n,d-=n,t&&Math.abs(c/d)>t?(n=c/t-d,d+=n,l-=n,l<=r.y&&(d=d-(r.y-l),c=d*t,a=i.x+i.width-c,l=r.y)):t&&(o=d*t-c,c=c+o,a-=o,a<=r.x&&(c=c-(r.x-a),d=c/t,a=r.x,l=i.y+i.height-d)),d<_&&(d=_,t&&(c=d*t),a=i.x+i.width-c,l=i.y+i.height-d),c<_&&(c=_,t&&(d=c/t),a=i.x+i.width-c,l=i.y+i.height-d),{x:a,y:l,width:c,height:d}}s(bl,"resizeNorthWest");function _l({rect:i,delta:e,aspectRatio:t,imageBox:r}){let[o,n]=e,{x:a,y:l,width:c,height:d}=i;return a+c+o>r.x+r.width&&(o=r.x+r.width-a-c),l+n<r.y&&(n=r.y-l),c+=o,l+=n,d-=n,t&&Math.abs(c/d)>t?(n=c/t-d,d+=n,l-=n,l<=r.y&&(d=d-(r.y-l),c=d*t,a=i.x,l=r.y)):t&&(o=d*t-c,c+=o,a+c>=r.x+r.width&&(c=r.x+r.width-a,d=c/t,a=r.x+r.width-c,l=i.y+i.height-d)),d<_&&(d=_,t&&(c=d*t),l=i.y+i.height-d),c<_&&(c=_,t&&(d=c/t),l=i.y+i.height-d),{x:a,y:l,width:c,height:d}}s(_l,"resizeNorthEast");function wl({rect:i,delta:e,aspectRatio:t,imageBox:r}){let[o,n]=e,{x:a,y:l,width:c,height:d}=i;return a+o<r.x&&(o=r.x-a),l+d+n>r.y+r.height&&(n=r.y+r.height-l-d),a+=o,c-=o,d+=n,t&&Math.abs(c/d)>t?(n=c/t-d,d+=n,l+d>=r.y+r.height&&(d=r.y+r.height-l,c=d*t,a=i.x+i.width-c,l=r.y+r.height-d)):t&&(o=d*t-c,c+=o,a-=o,a<=r.x&&(c=c-(r.x-a),d=c/t,a=r.x,l=i.y)),d<_&&(d=_,t&&(c=d*t),a=i.x+i.width-c),c<_&&(c=_,t&&(d=c/t),a=i.x+i.width-c),{x:a,y:l,width:c,height:d}}s(wl,"resizeSouthWest");function Cl({rect:i,delta:e,aspectRatio:t,imageBox:r}){let[o,n]=e,{x:a,y:l,width:c,height:d}=i;return a+c+o>r.x+r.width&&(o=r.x+r.width-a-c),l+d+n>r.y+r.height&&(n=r.y+r.height-l-d),c+=o,d+=n,t&&Math.abs(c/d)>t?(n=c/t-d,d+=n,l+d>=r.y+r.height&&(d=r.y+r.height-l,c=d*t,a=i.x,l=r.y+r.height-d)):t&&(o=d*t-c,c+=o,a+c>=r.x+r.width&&(c=r.x+r.width-a,d=c/t,a=r.x+r.width-c,l=i.y)),d<_&&(d=_,t&&(c=d*t)),c<_&&(c=_,t&&(d=c/t)),{x:a,y:l,width:c,height:d}}s(Cl,"resizeSouthEast");function ls({direction:i,...e}){switch(i){case"n":return fl(e);case"w":return gl(e);case"s":return vl(e);case"e":return yl(e);case"nw":return bl(e);case"ne":return _l(e);case"sw":return wl(e);case"se":return Cl(e);default:return e.rect}}s(ls,"resizeRect");function cs(i,[e,t]){return i.x<=e&&e<=i.x+i.width&&i.y<=t&&t<=i.y+i.height}s(cs,"rectContainsPoint");function ds(i,e){return i.x>=e.x&&i.y>=e.y&&i.x+i.width<=e.x+e.width&&i.y+i.height<=e.y+e.height}s(ds,"isRectInsideRect");function us(i,e){return Math.abs(i.width/i.height-e)<.1}s(us,"isRectMatchesAspectRatio");function Qe({width:i,height:e},t){let r=t/90%2!==0;return{width:r?e:i,height:r?i:e}}s(Qe,"rotateSize");function ps(i,e,t){let r=i/e,o,n;r>t?(o=Math.round(e*t),n=e):(o=i,n=Math.round(i/t));let a=Math.round((i-o)/2),l=Math.round((e-n)/2);return a+o>i&&(o=i-a),l+n>e&&(n=e-l),{x:a,y:l,width:o,height:n}}s(ps,"calculateMaxCenteredCropFrame");function Je(i){return{x:Math.round(i.x),y:Math.round(i.y),width:Math.round(i.width),height:Math.round(i.height)}}s(Je,"roundRect");function Pe(i,e,t){return Math.min(Math.max(i,e),t)}s(Pe,"clamp");var It=["free"],xi=s(i=>{let e=F(i);if(!e||e.length===0)return[];let t=[];for(let r of e){let o=r.trim();if(!o)continue;let n=o.indexOf(":");if(n===-1&&!It.includes(o)){console.warn(`Invalid crop preset: ${o}`);continue}let a=Number(o.slice(0,n)),l=Number(o.slice(n+1));if((!Number.isFinite(a)||!Number.isFinite(l)||a<=0||l<=0)&&!It.includes(o)){console.warn(`Invalid crop preset: ${o}`);continue}t.push({id:oe.generate(),type:"aspect-ratio",width:It.includes(o)?0:a,height:It.includes(o)?0:l,hasFreeform:It.includes(o)})}return t},"parseCropPreset"),hs=s((i,e,t,r=.1)=>{let o=i/e,n=null,a=1/0;for(let l of t){let[c,d]=[l.width,l.height],u=c/d,p=Math.abs(o-u);p<a&&(a=p,n=l)}if(n){let[l,c]=[n.width,n.height],d=l/c;if(Math.abs(o-d)/d>r)return null}return n},"getClosestAspectRatio");var ae=Object.freeze({FACEBOOK:"facebook",DROPBOX:"dropbox",GDRIVE:"gdrive",GPHOTOS:"gphotos",FLICKR:"flickr",VK:"vk",EVERNOTE:"evernote",BOX:"box",ONEDRIVE:"onedrive",HUDDLE:"huddle"}),$r=Object.freeze({MOBILE_VIDEO_CAMERA:"mobile-video-camera",MOBILE_PHOTO_CAMERA:"mobile-photo-camera"}),U=Object.freeze({LOCAL:"local",DROP_AREA:"drop-area",CAMERA:"camera",EXTERNAL:"external",API:"js-api",URL:"url",DRAW:"draw",...$r,...ae});function ms(i){return vr({...i,libraryName:Te,libraryVersion:xe})}s(ms,"customUserAgent");var fs=s(i=>typeof i!="number"?0:Math.floor(i/1e3),"msToUnixTimestamp"),gs=s((i,{threshold:e})=>{let{secureExpire:t}=i,r=fs(Date.now()),o=Number(t),n=fs(e);return r+n>=o},"isSecureTokenExpired");var Ai=class{static{s(this,"SecureUploadsManager")}_block;_secureToken=null;constructor(e){this._block=e}_debugPrint(...e){this._block.debugPrint("[secure-uploads]",...e)}async getSecureToken(){let{secureSignature:e,secureExpire:t,secureUploadsSignatureResolver:r}=this._block.cfg;if((e||t)&&r&&console.warn("Both secureSignature/secureExpire and secureUploadsSignatureResolver are set. secureUploadsSignatureResolver will be used."),r){if(!this._secureToken||gs(this._secureToken,{threshold:this._block.cfg.secureUploadsExpireThreshold})){this._secureToken?this._debugPrint("Secure signature is expired. Resolving a new one..."):this._debugPrint("Secure signature is not set yet.");try{let o=await r();o?!o.secureSignature||!o.secureExpire?console.error("Secure signature resolver returned an invalid result:",o):(this._debugPrint("Secure signature resolved:",o),this._debugPrint("Secure signature will expire in",new Date(Number(o.secureExpire)*1e3).toISOString()),this._secureToken=o):(this._debugPrint("Secure signature resolver returned nothing."),this._secureToken=null)}catch(o){console.error("Secure signature resolving failed. Falling back to the previous one.",o),this._block.telemetryManager.sendEventError(o,"secureUploadsSignatureResolver. Secure signature resolving failed. Falling back to the previous one.")}}return this._secureToken}return e&&t?(this._debugPrint("Secure signature and expire are set. Using them...",{secureSignature:e,secureExpire:t}),{secureSignature:e,secureExpire:t}):null}};var Dr=s((i,e)=>{if(i.failedCount>0)return{type:"SOME_FILES_HAS_ERRORS",message:e.l10n("some-files-were-not-uploaded")}},"validateCollectionUploadError");var Fr=s((i,e)=>{let t=i.totalCount,r=e.cfg.multiple?e.cfg.multipleMin:0,o=e.cfg.multiple?e.cfg.multipleMax:1;if(r&&t<r)return{type:"TOO_FEW_FILES",message:e.l10n("files-count-limit-error-too-few",{min:r,max:o,total:t}),payload:{total:t,min:r,max:o}};if(o&&t>o)return{type:"TOO_MANY_FILES",message:e.l10n("files-count-limit-error-too-many",{min:r,max:o,total:t}),payload:{total:t,min:r,max:o}}},"validateMultiple");var El=s(()=>{let i=navigator.userAgent;return/Macintosh|Windows/.test(i)&&/Version\/[\d.]+.*Safari/.test(i)&&!/Chrome|Chromium|Edg|OPR/.test(i)},"calcIsDesktopSafari"),Tl=s(()=>"capture"in document.createElement("input"),"calcHtmlMediaCaptureSupport"),xl=s(()=>({safariDesktop:El()}),"calcBrowserInfo"),Al=s(()=>({htmlMediaCapture:Tl()}),"calcBrowserFeatures"),vs=xl(),Ve=Al();var kt="image/*",Vr="video/*",Sl=["image/heif","image/heif-sequence","image/heic","image/heic-sequence","image/avif","image/avif-sequence",".heif",".heifs",".heic",".heics",".avif",".avifs"],Il=s(()=>vs.safariDesktop?[kt]:[kt,...Sl],"calcImageAcceptList"),Ot=Il(),Si=s(i=>i?i.filter(e=>typeof e=="string").flatMap(e=>F(e)):[],"mergeFileTypes"),Nr=s((i,e)=>e.some(t=>{if(t.endsWith("*")){let r=t.replace("*","");return i.startsWith(r)}return i===t}),"matchMimeType"),ys=s((i,e)=>e.some(t=>t.startsWith(".")?i.toLowerCase().endsWith(t.toLowerCase()):!1),"matchExtension"),bs=s(i=>{let e=i?.type;return e?Nr(e,Ot):!1},"fileIsImage");var Br=s((i,e)=>{let t=e.cfg.imgOnly,r=e.cfg.accept,o=Si([...t?Ot:[],r]);if(!o.length)return;let n=i.mimeType,a=i.name;if(!n||!a)return;let l=Nr(n,o),c=ys(a,o);if(!l&&!c)return{type:"FORBIDDEN_FILE_TYPE",message:e.l10n("file-type-not-allowed"),payload:{entry:i}}},"validateFileType");var zr=s((i,e)=>{let t=e.cfg.imgOnly,r=i.isImage;if(!(!t||r)&&!(!i.fileInfo&&i.externalUrl)&&!(!i.fileInfo&&!i.mimeType))return{type:"NOT_AN_IMAGE",message:e.l10n("images-only-accepted"),payload:{entry:i}}},"validateIsImage");var ue=1e3,Ne=Object.freeze({AUTO:"auto",BYTE:"byte",KB:"kb",MB:"mb",GB:"gb",TB:"tb",PB:"pb"}),Mt=s(i=>Math.ceil(i*100)/100,"round"),_s=s((i,e=Ne.AUTO)=>{let t=e===Ne.AUTO;if(e===Ne.BYTE||t&&i<ue**1){let o=di("en-US",i)==="one"?"byte":"bytes";return`${i} ${o}`}return e===Ne.KB||t&&i<ue**2?`${Mt(i/ue**1)} KB`:e===Ne.MB||t&&i<ue**3?`${Mt(i/ue**2)} MB`:e===Ne.GB||t&&i<ue**4?`${Mt(i/ue**3)} GB`:e===Ne.TB||t&&i<ue**5?`${Mt(i/ue**4)} TB`:`${Mt(i/ue**5)} PB`},"prettyBytes");var Hr=s((i,e)=>{let t=e.cfg.maxLocalFileSizeBytes,r=i.size;if(t&&r&&r>t)return{type:"FILE_SIZE_EXCEEDED",message:e.l10n("files-max-size-limit-error",{maxFileSize:_s(t)}),payload:{entry:i}}},"validateMaxSizeLimit");var jr=s((i,e)=>{let{internalId:t}=i,o=e._uploadCollection.read(t)?.getValue("uploadError");if(!o)return;if(o instanceof K)return{type:"UPLOAD_ERROR",message:o.message,payload:{entry:i,error:o}};if(o instanceof We)return{type:"NETWORK_ERROR",message:o.message,payload:{entry:i,error:o}};let n=o instanceof Error?o:new Error("Unknown error",{cause:o});return{type:"UNKNOWN_ERROR",message:n.message,payload:{entry:i,error:n}}},"validateUploadError");var ws=s(()=>{let i=s(()=>{},"resolveFn"),e=s(()=>{},"rejectFn");return{promise:new Promise((r,o)=>{i=r,e=o}),resolve:i,reject:e}},"withResolvers");var et={FILE_VALIDATION_FAILED:"File validator execution has failed",FILE_VALIDATION_TIMEOUT:"File validator execution has timed out",COLLECTION_VALIDATION_FAILED:"Collection validator execution has failed",MISSING_ERROR_MESSAGE:"Missing message. We recommend adding message: value."},kl=s(i=>typeof i=="function"?{runOn:"change",validator:i}:i,"getValidatorDescriptor"),Ii=class{static{s(this,"ValidationManager")}_blockInstance;_uploadCollection;_commonFileValidators=[zr,Br,Hr,jr];_commonCollectionValidators=[Fr,Dr];_queue=new Oe(20);_runQueueDebounced=L(()=>{this._queue.run()},500);_entryValidationState=new Map;constructor(e){this._blockInstance=e,this._uploadCollection=this._blockInstance.uploadCollection;let t=s(()=>{this.runFileValidators("change"),this.runCollectionValidators()},"runAllValidators");this._blockInstance.subConfigValue("maxLocalFileSizeBytes",t),this._blockInstance.subConfigValue("multipleMin",t),this._blockInstance.subConfigValue("multipleMax",t),this._blockInstance.subConfigValue("multiple",t),this._blockInstance.subConfigValue("imgOnly",t),this._blockInstance.subConfigValue("accept",t),this._blockInstance.subConfigValue("validationConcurrency",r=>{this._queue.concurrency=r})}runFileValidators(e,t){let r=t??this._uploadCollection.items();for(let o of r){let n=this._uploadCollection.read(o);n&&this._runFileValidatorsForEntry(n,e)}}runCollectionValidators(){let e=this._blockInstance.api.getOutputCollectionState(),t=[];for(let r of[...this._commonCollectionValidators,...this._blockInstance.cfg.collectionValidators])try{let o=r(e,this._blockInstance.api);if(!o)continue;o&&(t.push(this._addCustomTypeToValidationError(o)),o.message||console.warn(et.MISSING_ERROR_MESSAGE))}catch(o){console.warn(et.COLLECTION_VALIDATION_FAILED,o)}this._blockInstance.$["*collectionErrors"]=t,t.length>0&&this._blockInstance.emit(x.COMMON_UPLOAD_FAILED,()=>this._blockInstance.api.getOutputCollectionState(),{debounce:!0})}cleanupValidationForEntry(e){let t=this._entryValidationState.get(e.uid);t&&(t.abortController?.abort(),this._entryValidationState.delete(e.uid))}async _runFileValidatorsForEntry(e,t){let r=this._getValidatorDescriptorsForEntry(e,t);if(r.length===0)return;e.setMultipleValues({isQueuedForValidation:!0,isValidationPending:!0});let o=this._blockInstance.api.getOutputItem(e.uid),n=this._getEntryValidationState(e);n.promise&&await n.promise;let{promise:a,resolve:l}=ws();n.promise=a;let c=new AbortController;n.abortController=c;let d=this._blockInstance.cfg.validationTimeout,u=this._getValidatorDescriptors(),p=new Set(r.map(m=>m.validator)),h=[];for(let m of u)if(!p.has(m.validator)){let v=n.lastErrorThrownByValidator.get(m.validator);v&&h.push(v)}let f=r.map(m=>async()=>{if(!this._blockInstance.isConnected)return;let v=setTimeout(()=>{n.skippedValidators.add(m.validator),c.abort(),console.warn(et.FILE_VALIDATION_TIMEOUT)},d);try{let y=await m.validator(o,this._blockInstance.api,{signal:c.signal});if(!y||c.signal.aborted){n.lastErrorThrownByValidator.set(m.validator,void 0);return}let S=this._addCustomTypeToValidationError(y);n.lastErrorThrownByValidator.set(m.validator,S),h.push(S),y.message||console.warn(et.MISSING_ERROR_MESSAGE)}catch(y){c.signal.aborted||(n.skippedValidators.add(m.validator),console.warn(et.FILE_VALIDATION_FAILED,y),this._blockInstance.telemetryManager.sendEventError(y,`file validator. ${et.FILE_VALIDATION_FAILED}`))}finally{clearTimeout(v),m.runOn!=="change"&&n.skippedValidators.add(m.validator)}});if(this._runQueueDebounced(),await this._queue.add(async()=>{e.setValue("isQueuedForValidation",!1),await Promise.all(f.map(m=>m())).catch(()=>{})},{autoRun:!1}),c.signal.aborted){e.setMultipleValues({isQueuedForValidation:!1,isValidationPending:!1}),l();return}e.setMultipleValues({isValidationPending:!1,isQueuedForValidation:!1,errors:h}),l()}_addCustomTypeToValidationError(e){return{...e,type:e.type??"CUSTOM_ERROR"}}_getEntryValidationState(e){let t=this._entryValidationState.get(e.uid);if(t)return t;let r={abortController:void 0,skippedValidators:new WeakSet,promise:void 0,lastErrorThrownByValidator:new WeakMap};return this._entryValidationState.set(e.uid,r),r}_getValidatorDescriptors(){return[...this._commonFileValidators,...this._blockInstance.cfg.fileValidators].map(kl)}_getValidatorDescriptorsForEntry(e,t){let r=this._getEntryValidationState(e);return this._getValidatorDescriptors().filter(o=>!r.skippedValidators.has(o.validator)).filter(o=>o.runOn===t)}};var Cs="[Typed State] Wrong property name: ",Ol="[Typed State] Wrong property type: ",ki=class{static{s(this,"TypedData")}__typedSchema;__ctxId;__schema;__data;constructor(e,t){this.__typedSchema=e,this.__ctxId=t||oe.generate(),this.__schema=Object.keys(e).reduce((r,o)=>(e[o]&&(r[o]=e[o].value),r),{}),this.__data=E.registerCtx(this.__schema,this.__ctxId)}get uid(){return this.__ctxId}setValue(e,t){if(!Object.hasOwn(this.__typedSchema,e)||!this.__typedSchema[e]){console.warn(Cs+e);return}let r=this.__typedSchema[e],o=t?.constructor===r.type,n=t instanceof r.type,a=r.nullable&&t===null;if(o||n||a){this.__data.pub(e,t);return}console.warn(Ol+e)}setMultipleValues(e){for(let[t,r]of Object.entries(e))this.setValue(t,r)}getValue(e){return Object.hasOwn(this.__typedSchema,e)||console.warn(Cs+e),this.__data.read(e)}subscribe(e,t){return this.__data.sub(e,t)}remove(){E.deleteCtx(this.__ctxId)}};var Oi=class{static{s(this,"TypedCollection")}__typedSchema;__ctxId;__data;__watchList;__subsMap=Object.create(null);__propertyObservers=new Set;__collectionObservers=new Set;__items=new Set;__removed=new Set;__added=new Set;__observeTimeout;__notifyTimeout;__notifyObservers;constructor(e){this.__typedSchema=e.typedSchema,this.__ctxId=e.ctxName||oe.generate(),this.__data=E.registerCtx({},this.__ctxId),this.__watchList=e.watchList||[];let t=Object.create(null);this.__notifyObservers=(r,o)=>{this.__observeTimeout&&window.clearTimeout(this.__observeTimeout),t[r]||(t[r]=new Set),t[r].add(o),this.__observeTimeout=window.setTimeout(()=>{Object.keys(t).length!==0&&(this.__propertyObservers.forEach(n=>{n({...t})}),t=Object.create(null))})},e.handler&&this.observeCollection(e.handler)}notify(){this.__notifyTimeout&&window.clearTimeout(this.__notifyTimeout),this.__notifyTimeout=window.setTimeout(()=>{let e=new Set(this.__added),t=new Set(this.__removed);this.__added.clear(),this.__removed.clear();for(let r of this.__collectionObservers)r?.([...this.__items],e,t)})}observeCollection(e){return this.__collectionObservers.add(e),this.__items.size>0&&this.notify(),()=>{this.unobserveCollection(e)}}unobserveCollection(e){this.__collectionObservers.delete(e)}add(e){let t=new ki(this.__typedSchema);for(let[r,o]of Object.entries(e))o!==void 0&&t.setValue(r,o);return this.__items.add(t.uid),this.notify(),this.__data.add(t.uid,t),this.__added.add(t),this.__watchList.forEach(r=>{this.__subsMap[t.uid]||(this.__subsMap[t.uid]=[]),this.__subsMap[t.uid]?.push(t.subscribe(r,()=>{this.__notifyObservers(r,t.uid)}))}),t.uid}read(e){return this.__data.read(e)}readProp(e,t){let r=this.read(e);return r?r.getValue(t):(console.warn(`Item with id ${e} not found`),null)}publishProp(e,t,r){let o=this.read(e);if(!o){console.warn(`Item with id ${e} not found`);return}o.setValue(t,r)}remove(e){let t=this.read(e);t&&this.__removed.add(t),this.__items.delete(e),this.notify(),this.__data.pub(e,null),delete this.__subsMap[e]}clearAll(){this.__items.forEach(e=>{this.remove(e)})}observeProperties(e){return this.__propertyObservers.add(e),()=>{this.unobserveProperties(e)}}unobserveProperties(e){this.__propertyObservers.delete(e)}findItems(e){let t=[];return this.__items.forEach(r=>{let o=this.read(r);o&&e(o)&&t.push(r)}),t}items(){return[...this.__items]}get size(){return this.__items.size}destroy(){E.deleteCtx(this.__ctxId),this.__propertyObservers=new Set,this.__collectionObservers=new Set;for(let e in this.__subsMap)this.__subsMap[e]?.forEach(t=>{t.remove()}),delete this.__subsMap[e]}};var w=Object.freeze({PHOTO:"photo",VIDEO:"video"}),te=Object.freeze({IDLE:"idle",SHOT:"shot",PLAY:"play",PAUSE:"pause",RESUME:"resume",STOP:"stop",RETAKE:"retake",ACCEPT:"accept"});var Kr=s(i=>({isVideoRecordingEnabled:X(i.cameraModes).includes(w.VIDEO),isPhotoEnabled:X(i.cameraModes).includes(w.PHOTO)}),"calcCameraModes");var Ml=/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/i,Ll=new RegExp(`^/?(${Ml.source})(?:/(-/(?:[^/]+/)+)?([^/]*))?$`,"i"),Es=s(({url:i,cdnBase:e})=>{let t=new URL(e),r=new URL(Ct),o=new URL(i);if(t.host!==o.host&&r.host!==o.host)return null;let n=Ll.exec(o.pathname);if(!n)return null;let[,a,l,c]=n;return a?{uuid:a,cdnUrlModifiers:l||"",filename:c||null}:null},"parseCdnUrl");function Ts(i){let e=new Map;return s((...r)=>{let o=JSON.stringify(r);if(e.has(o))return e.get(o);let n=i(...r);return e.set(o,n),n},"memoized")}s(Ts,"memoize");var xs=new Set;function Mi(i){xs.has(i)||(xs.add(i),console.warn(i))}s(Mi,"warnOnce");function Rl(i){let e=!1;return setTimeout(()=>{e=!0},0),s(r=>((...o)=>(e&&Mi(i),r(...o))),"withAssert")}s(Rl,"createAsyncAssertWrapper");function As(i){let e={},t={progress:s(()=>i.$["*commonProgress"],"progress"),errors:s(()=>i.$["*collectionErrors"],"errors"),group:s(()=>i.$["*groupInfo"],"group"),totalCount:s(()=>i.uploadCollection.size,"totalCount"),failedCount:s(()=>e.failedEntries.length,"failedCount"),successCount:s(()=>e.successEntries.length,"successCount"),uploadingCount:s(()=>e.uploadingEntries.length,"uploadingCount"),status:s(()=>e.isFailed?"failed":e.isUploading?"uploading":e.isSuccess?"success":"idle","status"),isSuccess:s(()=>e.allEntries.length>0&&e.errors.length===0&&e.successEntries.length===e.allEntries.length,"isSuccess"),isUploading:s(()=>e.allEntries.some(o=>o.status==="uploading"),"isUploading"),isFailed:s(()=>e.errors.length>0||e.failedEntries.length>0,"isFailed"),allEntries:s(()=>i.getOutputData(),"allEntries"),successEntries:s(()=>e.allEntries.filter(o=>o.status==="success"),"successEntries"),failedEntries:s(()=>e.allEntries.filter(o=>o.status==="failed"),"failedEntries"),uploadingEntries:s(()=>e.allEntries.filter(o=>o.status==="uploading"),"uploadingEntries"),idleEntries:s(()=>e.allEntries.filter(o=>o.status==="idle"),"idleEntries")},r=Rl("You're trying to access the OutputCollectionState asynchronously. In this case, the data you retrieve will be newer than it was when the OutputCollectionState was created or when the event was dispatched. If you want to retain the state at a specific moment in time, you should use the spread operator like this: `{...outputCollectionState}` or `{...e.detail}`");for(let[o,n]of Object.entries(t)){let a=o,c=Ts(r(n));Object.defineProperty(e,a,{get:c,enumerable:!0})}return e}s(As,"buildOutputCollectionState");var Li=class{static{s(this,"UploaderPublicApi")}_ctx;constructor(e){this._ctx=e}get _uploadCollection(){return this._ctx.uploadCollection}get cfg(){return this._ctx.cfg}get l10n(){return this._ctx.l10n.bind(this._ctx)}addFileFromUrl=s((e,{silent:t,fileName:r,source:o}={})=>{let n=this._uploadCollection.add({externalUrl:e,fileName:r??null,silent:t??!1,source:o??U.API});return this.getOutputItem(n)},"addFileFromUrl");addFileFromUuid=s((e,{silent:t,fileName:r,source:o}={})=>{let n=this._uploadCollection.add({uuid:e,fileName:r??null,silent:t??!1,source:o??U.API});return this.getOutputItem(n)},"addFileFromUuid");addFileFromCdnUrl=s((e,{silent:t,fileName:r,source:o}={})=>{let n=Es({url:e,cdnBase:this.cfg.cdnCname});if(!n)throw new Error("Invalid CDN URL");let a=this._uploadCollection.add({uuid:n.uuid,cdnUrl:e,cdnUrlModifiers:n.cdnUrlModifiers,fileName:r??n.filename??null,silent:t??!1,source:o??U.API});return this.getOutputItem(a)},"addFileFromCdnUrl");addFileFromObject=s((e,{silent:t,fileName:r,source:o,fullPath:n}={})=>{let a=this._uploadCollection.add({file:e,isImage:bs(e),mimeType:e.type,fileName:r??e.name,fileSize:e.size,silent:t??!1,source:o??U.API,fullPath:n??null});return this.getOutputItem(a)},"addFileFromObject");removeFileByInternalId=s(e=>{if(!this._uploadCollection.read(e))throw new Error(`File with internalId ${e} not found`);this._uploadCollection.remove(e)},"removeFileByInternalId");removeAllFiles(){this._uploadCollection.clearAll()}uploadAll=s(()=>{let e=this._uploadCollection.items().filter(t=>{let r=this._uploadCollection.read(t);return r?!r.getValue("isRemoved")&&!r.getValue("isUploading")&&!r.getValue("fileInfo")&&r.getValue("errors").length===0&&!r.getValue("isValidationPending")&&!r.getValue("isQueuedForValidation"):!1});e.length!==0&&(this._ctx.$["*uploadTrigger"]=new Set(e),this._ctx.emit(x.COMMON_UPLOAD_START,this.getOutputCollectionState()))},"uploadAll");openSystemDialog=s((e={})=>{let t=ye(Si([this.cfg.accept??"",...this.cfg.imgOnly?Ot:[]])),r="uploadcare-file-input",o=document.createElement("input");if(o.setAttribute(r,""),_t(o,{opacity:0,height:0,width:0,visibility:"hidden",position:"absolute",top:0,left:0}),o.type="file",o.multiple=this.cfg.multiple,e.captureCamera){o.capture=this.cfg.cameraCapture;let{isPhotoEnabled:n,isVideoRecordingEnabled:a}=Kr(this.cfg);e.modeCamera===w.PHOTO&&n?o.accept=kt:e.modeCamera===w.VIDEO&&a?o.accept=Vr:o.accept=[kt,a&&Vr].filter(Boolean).join(",")}else o.accept=t;o.addEventListener("change",()=>{o.files&&([...o.files].forEach(n=>{this.addFileFromObject(n,{source:e.captureCamera?U.CAMERA:U.LOCAL})}),this._ctx.modalManager?.open(g.activities.UPLOAD_LIST),this._ctx.$["*currentActivity"]=g.activities.UPLOAD_LIST,o.remove())},{once:!0}),document.querySelectorAll(`[${r}]`).forEach(n=>{n.remove()}),document.body.appendChild(o),o.dispatchEvent(new MouseEvent("click"))},"openSystemDialog");getOutputItem(e){let t=E.getCtx(e).store,r=t.fileInfo,o=t.isRemoved?"removed":t.errors.length>0?"failed":t.fileInfo?"success":t.isUploading?"uploading":"idle";return{uuid:r?.uuid??t.uuid??null,internalId:e,name:r?.originalFilename??t.fileName,size:r?.size??t.fileSize,isImage:r?.isImage??t.isImage,mimeType:r?.mimeType??t.mimeType,file:t.file,externalUrl:t.externalUrl,cdnUrlModifiers:t.cdnUrlModifiers,cdnUrl:t.cdnUrl??r?.cdnUrl??null,fullPath:t.fullPath,uploadProgress:t.uploadProgress,fileInfo:r??null,metadata:t.metadata??r?.metadata??null,isSuccess:o==="success",isUploading:o==="uploading",isFailed:o==="failed",isRemoved:o==="removed",isValidationPending:t.isValidationPending,errors:t.errors,status:o,source:t?.source}}getOutputCollectionState(){return As(this._ctx)}initFlow=s((e=!1)=>{if(this._uploadCollection.size>0&&!e)this._ctx.modalManager?.open(g.activities.UPLOAD_LIST),this._ctx.set$({"*currentActivity":g.activities.UPLOAD_LIST});else if(this._sourceList?.length===1){let t=this._sourceList[0];if(t==="local"){this._ctx.$["*currentActivity"]=g.activities.UPLOAD_LIST,this.openSystemDialog();return}if(t==="camera"&&Ve.htmlMediaCapture){let{isPhotoEnabled:a,isVideoRecordingEnabled:l}=Kr(this.cfg);if(a&&l){this._ctx.set$({"*currentActivity":g.activities.START_FROM});return}else if(a||l){this.openSystemDialog({captureCamera:!0,modeCamera:a?w.PHOTO:w.VIDEO});return}else this.openSystemDialog({captureCamera:!0,modeCamera:w.PHOTO})}let r=this._ctx.$["*blocksRegistry"],o=s(a=>"type"in a&&a.type===t,"isSourceBtn");[...r].find(o)?.activate(),this._ctx.$["*currentActivity"]&&this._ctx.modalManager?.open(this._ctx.$["*currentActivity"])}else this._ctx.modalManager?.open(g.activities.START_FROM),this._ctx.set$({"*currentActivity":g.activities.START_FROM})},"initFlow");doneFlow=s(()=>{this._ctx.set$({"*currentActivity":this._ctx.doneActivity,"*history":this._ctx.doneActivity?[this._ctx.doneActivity]:[]}),this._ctx.$["*currentActivity"]||this._ctx.modalManager?.closeAll()},"doneFlow");setCurrentActivity=s((e,...t)=>{if(this._ctx.hasBlockInCtx(r=>r.activityType===e)){this._ctx.set$({"*currentActivityParams":t??{},"*currentActivity":e});return}console.warn(`Activity type "${e}" not found in the context`)},"setCurrentActivity");getCurrentActivity=s(()=>this._ctx.$["*currentActivity"],"getCurrentActivity");setModalState=s(e=>{if(e&&!this._ctx.$["*currentActivity"]){console.warn(`Can't open modal without current activity. Please use "setCurrentActivity" method first.`);return}e?this._ctx.modalManager?.open(this._ctx.$["*currentActivity"]):(this._ctx.modalManager?.close(this._ctx.$["*currentActivity"]),this._ctx.$["*currentActivity"]=null)},"setModalState");get _sourceList(){let e=[];return this.cfg.sourceList&&(e=F(this.cfg.sourceList)),e}};var Ss=Object.freeze({file:Object.freeze({type:File,value:null,nullable:!0}),externalUrl:Object.freeze({type:String,value:null,nullable:!0}),fileName:Object.freeze({type:String,value:null,nullable:!0}),fileSize:Object.freeze({type:Number,value:null,nullable:!0}),lastModified:Object.freeze({type:Number,value:Date.now()}),uploadProgress:Object.freeze({type:Number,value:0}),uuid:Object.freeze({type:String,value:null,nullable:!0}),isImage:Object.freeze({type:Boolean,value:!1}),mimeType:Object.freeze({type:String,value:null,nullable:!0}),ctxName:Object.freeze({type:String,value:null,nullable:!0}),cdnUrl:Object.freeze({type:String,value:null,nullable:!0}),cdnUrlModifiers:Object.freeze({type:String,value:null,nullable:!0}),fileInfo:Object.freeze({type:Ce,value:null,nullable:!0}),isUploading:Object.freeze({type:Boolean,value:!1}),abortController:Object.freeze({type:AbortController,value:null,nullable:!0}),thumbUrl:Object.freeze({type:String,value:null,nullable:!0}),silent:Object.freeze({type:Boolean,value:!1}),source:Object.freeze({type:String,value:null,nullable:!0}),fullPath:Object.freeze({type:String,value:null,nullable:!0}),metadata:Object.freeze({type:Object,value:null,nullable:!0}),errors:Object.freeze({type:Array,value:[]}),uploadError:Object.freeze({type:Error,value:null,nullable:!0}),isRemoved:Object.freeze({type:Boolean,value:!1}),isQueuedForUploading:Object.freeze({type:Boolean,value:!1}),isValidationPending:Object.freeze({type:Boolean,value:!1}),isQueuedForValidation:Object.freeze({type:Boolean,value:!1})});var M=class i extends g{static{s(this,"UploaderBlock")}static extSrcList;static sourceTypes;couldBeCtxOwner=!1;isCtxOwner=!1;_unobserveCollection;_unobserveCollectionProperties;init$=xr(this);get hasCtxOwner(){return this.hasBlockInCtx(e=>e instanceof i?e.isCtxOwner&&e.isConnected&&e!==this:!1)}initCallback(){if(super.initCallback(),!this.has("*uploadCollection")){let e=new Oi({typedSchema:Ss,watchList:["uploadProgress","uploadError","fileInfo","errors","cdnUrl","isUploading","isValidationPending"]});this.add("*uploadCollection",e)}this.has("*publicApi")||this.add("*publicApi",new Li(this)),this.has("*validationManager")||this.add("*validationManager",new Ii(this)),!this.hasCtxOwner&&this.couldBeCtxOwner&&this._initCtxOwner()}get validationManager(){if(!this.has("*validationManager"))throw new Error("Unexpected error: ValidationManager is not initialized");return this.$["*validationManager"]}get api(){if(!this.has("*publicApi"))throw new Error("Unexpected error: UploaderPublicApi is not initialized");return this.$["*publicApi"]}getAPI(){return this.api}get uploadCollection(){if(!this.has("*uploadCollection"))throw new Error("Unexpected error: TypedCollection is not initialized");return this.$["*uploadCollection"]}destroyCtxCallback(){this.uploadCollection.destroy(),this.$["*uploadCollection"]=null,super.destroyCtxCallback()}disconnectedCallback(){super.disconnectedCallback(),this.isCtxOwner&&this._unobserveUploadCollection()}connectedCallback(){super.connectedCallback(),this.isCtxOwner&&this._observeUploadCollection()}destroyCallback(){super.destroyCallback(),this._flushOutputItems.cancel()}_initCtxOwner(){this.isCtxOwner=!0,this._observeUploadCollection(),this.subConfigValue("maxConcurrentRequests",e=>{this.$["*uploadQueue"].concurrency=Number(e)||1}),this.$["*secureUploadsManager"]||(this.$["*secureUploadsManager"]=new Ai(this))}_observeUploadCollection(){this._unobserveUploadCollection(),this._unobserveCollection=this.uploadCollection.observeCollection(this._handleCollectionUpdate),this._unobserveCollectionProperties=this.uploadCollection.observeProperties(this._handleCollectionPropertiesUpdate)}_unobserveUploadCollection(){this._unobserveCollectionProperties?.(),this._unobserveCollection?.(),this._unobserveCollectionProperties=void 0,this._unobserveCollection=void 0}async _createGroup(e){let t=await this.getUploadClientOptions(),r=e.allEntries.map(l=>l.uuid+(l.cdnUrlModifiers?`/${l.cdnUrlModifiers}`:"")),o=new AbortController,n=await zo(r,{...t,signal:o.signal});if(this.$["*collectionState"]!==e){o.abort();return}this.$["*groupInfo"]=n;let a=this.api.getOutputCollectionState();this.emit(x.GROUP_CREATED,a),this.emit(x.CHANGE,()=>this.api.getOutputCollectionState(),{debounce:!0}),this.$["*collectionState"]=a}_flushOutputItems=L(async()=>{if(this.getOutputData().length!==this.uploadCollection.size)return;let t=this.api.getOutputCollectionState();this.$["*collectionState"]=t,this.emit(x.CHANGE,()=>this.api.getOutputCollectionState(),{debounce:!0}),this.cfg.groupOutput&&t.totalCount>0&&t.status==="success"&&this._createGroup(t)},300);_handleCollectionUpdate=s((e,t,r)=>{(t.size||r.size)&&(this.$["*groupInfo"]=null),this.validationManager.runFileValidators("add",[...t].map(o=>o.uid));for(let o of t)o.getValue("silent")||this.emit(x.FILE_ADDED,this.api.getOutputItem(o.uid));this.validationManager.runCollectionValidators();for(let o of r){this.$["*uploadTrigger"].delete(o.uid),this.validationManager.cleanupValidationForEntry(o),o.getValue("abortController")?.abort(),o.setMultipleValues({isRemoved:!0,abortController:null,isUploading:!1,uploadProgress:0});let n=o?.getValue("thumbUrl");n&&URL.revokeObjectURL(n),this.emit(x.FILE_REMOVED,this.api.getOutputItem(o.uid))}this.$["*uploadList"]=e.map(o=>({uid:o})),this._flushCommonUploadProgress(),this._flushOutputItems()},"_handleCollectionUpdate");_handleCollectionPropertiesUpdate=s(e=>{this._flushOutputItems();let t=this.uploadCollection,r=[...new Set(Object.entries(e).filter(([o])=>["uploadError","fileInfo","cdnUrl","cdnUrlModifiers"].includes(o)).flatMap(([,o])=>[...o]))];if(r.length>0&&setTimeout(()=>{let o=r.filter(n=>e.fileInfo?.has(n)&&!!E.getCtx(n).store.fileInfo);o.length>0&&this.validationManager.runFileValidators("upload",o),this.validationManager.runFileValidators("change",r)}),e.uploadProgress){for(let o of e.uploadProgress){let{isUploading:n,silent:a}=E.getCtx(o).store;n&&!a&&this.emit(x.FILE_UPLOAD_PROGRESS,this.api.getOutputItem(o))}this._flushCommonUploadProgress()}if(e.isUploading)for(let o of e.isUploading){let{isUploading:n,silent:a}=E.getCtx(o).store;n&&!a&&this.emit(x.FILE_UPLOAD_START,this.api.getOutputItem(o))}if(e.fileInfo){for(let o of e.fileInfo){let{fileInfo:n,silent:a}=E.getCtx(o).store;n&&!a&&this.emit(x.FILE_UPLOAD_SUCCESS,this.api.getOutputItem(o))}this.cfg.cropPreset&&this.setInitialCrop(),this.cfg.cloudImageEditorAutoOpen&&this.openCloudImageEditor()}if(e.errors){this.validationManager.runCollectionValidators();for(let a of e.errors){let{errors:l}=E.getCtx(a).store;l.length>0&&(this.emit(x.FILE_UPLOAD_FAILED,this.api.getOutputItem(a)),this.emit(x.COMMON_UPLOAD_FAILED,()=>this.api.getOutputCollectionState(),{debounce:!0}))}let o=t.findItems(a=>!!a.getValue("fileInfo")),n=t.findItems(a=>a.getValue("errors").length>0);t.size>0&&n.length===0&&t.size===o.length&&this.$["*collectionErrors"].length===0&&this.emit(x.COMMON_UPLOAD_SUCCESS,this.api.getOutputCollectionState())}e.cdnUrl&&([...e.cdnUrl].filter(n=>!!this.uploadCollection.read(n)?.getValue("cdnUrl")).forEach(n=>{this.emit(x.FILE_URL_CHANGED,this.api.getOutputItem(n))}),this.$["*groupInfo"]=null)},"_handleCollectionPropertiesUpdate");_flushCommonUploadProgress=s(()=>{let e=0,r=[...this.$["*uploadTrigger"]].filter(n=>!!this.uploadCollection.read(n));r.forEach(n=>{let a=this.uploadCollection.readProp(n,"uploadProgress");typeof a=="number"&&(e+=a)});let o=r.length?Math.round(e/r.length):0;this.$["*commonProgress"]!==o&&(this.$["*commonProgress"]=o,this.emit(x.COMMON_UPLOAD_PROGRESS,this.api.getOutputCollectionState()))},"_flushCommonUploadProgress");openCloudImageEditor(){let[e]=this.uploadCollection.findItems(t=>!!t.getValue("fileInfo")&&t.getValue("isImage")).map(t=>this.uploadCollection.read(t));e&&this.uploadCollection.size===1&&this.cfg.useCloudImageEditor&&this.hasBlockInCtx(t=>t.activityType===g.activities.CLOUD_IMG_EDIT)&&(this.$["*currentActivityParams"]={internalId:e.uid},this.$["*currentActivity"]=g.activities.CLOUD_IMG_EDIT,this.modalManager?.open(g.activities.CLOUD_IMG_EDIT))}setInitialCrop(){let e=xi(this.cfg.cropPreset);if(e){let[t]=e,r=this.uploadCollection.findItems(o=>!!o.getValue("fileInfo")&&o.getValue("isImage")&&!o.getValue("cdnUrlModifiers")?.includes("/crop/")).map(o=>this.uploadCollection.read(o)).filter(Boolean);for(let o of r){let n=o.getValue("fileInfo");if(!n||!n.imageInfo){console.warn("Failed to get image info for entry",o.uid);continue}let{width:a,height:l}=n.imageInfo,c=typeof t?.width=="number"&&typeof t?.height=="number"&&t.width>0&&t.height>0?t.width/t.height:1,d=ps(a,l,c),u=j(`crop/${d.width}x${d.height}/${d.x},${d.y}`,"preview"),p=o.getValue("cdnUrl");if(!p){console.warn("Failed to get cdnUrl for entry",o.uid);continue}o.setMultipleValues({cdnUrlModifiers:u,cdnUrl:D(p,u)}),this.uploadCollection.size===1&&this.cfg.useCloudImageEditor&&this.hasBlockInCtx(h=>h.activityType===g.activities.CLOUD_IMG_EDIT)&&(this.$["*currentActivityParams"]={internalId:o.uid},this.$["*currentActivity"]=g.activities.CLOUD_IMG_EDIT,this.modalManager?.open(g.activities.CLOUD_IMG_EDIT))}}}async getMetadataFor(e){let t=this.cfg.metadata||void 0;if(typeof t=="function"){let r=this.api.getOutputItem(e);return await t(r)}return t}async getUploadClientOptions(){let t=await this.$["*secureUploadsManager"].getSecureToken().catch(()=>null);return{store:this.cfg.store,publicKey:this.cfg.pubkey,baseCDN:this.cfg.cdnCname,baseURL:this.cfg.baseUrl,userAgent:ms,integration:this.cfg.userAgentIntegration,secureSignature:t?.secureSignature,secureExpire:t?.secureExpire,retryThrottledRequestMaxTimes:this.cfg.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:this.cfg.retryNetworkErrorMaxTimes,multipartMinFileSize:this.cfg.multipartMinFileSize,multipartChunkSize:this.cfg.multipartChunkSize,maxConcurrentRequests:this.cfg.multipartMaxConcurrentRequests,multipartMaxAttempts:this.cfg.multipartMaxAttempts,checkForUrlDuplicates:!!this.cfg.checkForUrlDuplicates,saveUrlForRecurrentUploads:!!this.cfg.saveUrlForRecurrentUploads}}getOutputData(){return this.uploadCollection.items().map(r=>this.api.getOutputItem(r))}};M.extSrcList=Object.freeze({...ae});M.sourceTypes=Object.freeze({...U});var Ri=class extends g{static{s(this,"ActivityHeader")}};var Is=s(()=>typeof navigator.permissions<"u","canUsePermissionsApi");var Pl={width:{ideal:1920},height:{ideal:1080},frameRate:{ideal:30}},ks=["camera","microphone"];function Pi(i){let e=Math.floor(i/60).toString().padStart(2,"0"),t=Math.floor(i%60).toString().padStart(2,"0");return`${e}:${t}`}s(Pi,"formatTime");var Os="image/jpeg",Ms="video/webm",Lt=class extends M{static{s(this,"CameraSource")}couldBeCtxOwner=!0;activityType=g.activities.CAMERA;_unsubPermissions=null;_capturing=!1;_chunks=[];_mediaRecorder=null;_stream=null;_selectedAudioId=null;_selectedCameraId=null;_activeTab=null;_options={};_canvas=null;_ctx=null;_cameraDevices=[];_audioDevices=[];_permissionResponses={};constructor(){super(),this.init$={...this.init$,video:null,videoTransformCss:null,videoHidden:!0,messageHidden:!0,requestBtnHidden:Is(),cameraSelectOptions:null,cameraSelectHidden:!0,l10nMessage:"",switcher:null,panels:null,timer:null,timerHidden:!0,cameraHidden:!0,cameraActionsHidden:!0,audioSelectOptions:null,audioSelectHidden:!0,audioSelectDisabled:!0,audioToggleMicrophoneHidden:!0,tabCameraHidden:!0,tabVideoHidden:!0,currentIcon:"camera-full",currentTimelineIcon:"play",toggleMicrophoneIcon:"microphone",_startTime:0,_elapsedTime:0,_animationFrameId:null,mutableClassButton:"uc-shot-btn uc-camera-action",onCameraSelectChange:s(e=>{let t=e.target;t&&(this._selectedCameraId=t.value,this._capture())},"onCameraSelectChange"),onAudioSelectChange:s(e=>{let t=e.target;t&&(this._selectedAudioId=t.value,this._capture())},"onAudioSelectChange"),onCancel:s(()=>{this.historyBack()},"onCancel"),onShot:s(()=>{this.telemetryManager.sendEvent({eventType:O.ACTION_EVENT,payload:{metadata:{event:"shot-camera",node:this.tagName,tabId:this._activeTab}}}),this._shot()},"onShot"),onRequestPermissions:s(()=>this._capture(),"onRequestPermissions"),onStartCamera:s(()=>{this.telemetryManager.sendEvent({eventType:O.ACTION_EVENT,payload:{metadata:{event:"start-camera",node:this.tagName,tabId:this._activeTab}}}),this._chooseActionWithCamera()},"onStartCamera"),onStartRecording:s(()=>this._startRecording(),"onStartRecording"),onStopRecording:s(()=>this._stopRecording(),"onStopRecording"),onToggleRecording:s(()=>this._toggleRecording(),"onToggleRecording"),onToggleAudio:s(()=>this._toggleEnableAudio(),"onToggleAudio"),onRetake:s(()=>{this.telemetryManager.sendEvent({eventType:O.ACTION_EVENT,payload:{metadata:{event:"retake-camera",node:this.tagName,tabId:this._activeTab}}}),this._retake()},"onRetake"),onAccept:s(()=>{this.telemetryManager.sendEvent({eventType:O.ACTION_EVENT,payload:{metadata:{event:"accept-camera",node:this.tagName,tabId:this._activeTab}}}),this._accept()},"onAccept"),onClickTab:s(e=>{let r=e.currentTarget?.getAttribute("data-id");r&&this._handleActiveTab(r)},"onClickTab")}}_chooseActionWithCamera=s(()=>{if(this._activeTab===w.PHOTO&&this._shot(),this._activeTab===w.VIDEO){if(this._mediaRecorder?.state==="recording"){this._stopRecording();return}this._startRecording()}},"_chooseActionWithCamera");_updateTimer=s(()=>{let e=Math.floor((performance.now()-this.$._startTime+this.$._elapsedTime)/1e3);if(typeof this.cfg.maxVideoRecordingDuration=="number"&&this.cfg.maxVideoRecordingDuration>0){let t=this.cfg.maxVideoRecordingDuration-e;if(t<=0){let o=this.ref.timer;o&&(o.textContent=Pi(t)),this._stopRecording();return}let r=this.ref.timer;r&&(r.textContent=Pi(t))}else{let t=this.ref.timer;t&&(t.textContent=Pi(e))}this._animationFrameId=requestAnimationFrame(this._updateTimer)},"_updateTimer");_startTimer=s(()=>{this.$._startTime=performance.now(),this.$._elapsedTime=0,this._updateTimer()},"_startTimer");_stopTimer=s(()=>{this._animationFrameId&&cancelAnimationFrame(this._animationFrameId)},"_stopTimer");_startTimeline=s(()=>{let e=this.ref.video;if(!e)return;let t=e.currentTime,r=e.duration||1,o=this.ref.line;o&&(o.style.transform=`scaleX(${t/r})`);let n=this.ref.timer;n&&(n.textContent=Pi(t)),this._animationFrameId=requestAnimationFrame(this._startTimeline)},"_startTimeline");_stopTimeline=s(()=>{this._animationFrameId&&cancelAnimationFrame(this._animationFrameId)},"_stopTimeline");_animationFrameId=null;_startRecording=s(()=>{try{this._chunks=[],this._options={...this.cfg.mediaRecorderOptions};let{mimeType:e}=this.cfg.mediaRecorderOptions||{};e&&MediaRecorder.isTypeSupported(e)?this._options.mimeType=e:MediaRecorder.isTypeSupported(Ms)?this._options.mimeType=Ms:this._options.mimeType="video/mp4",this._stream&&(this._mediaRecorder=new MediaRecorder(this._stream,this._options),this._mediaRecorder.start(),this._mediaRecorder.addEventListener("dataavailable",t=>{this._chunks.push(t.data)}),this._startTimer(),this.classList.add("uc-recording"),this._setCameraState(te.PLAY))}catch(e){console.error("Failed to start recording",e),this.telemetryManager.sendEventError(e,"camera recording. Failed to start recording")}},"_startRecording");_stopRecording=s(()=>{this._mediaRecorder?.addEventListener("stop",()=>{this._previewVideo(),this._stopTimer(),this._setCameraState(te.STOP)}),this._mediaRecorder?.stop(),this.classList.remove("uc-recording"),this.telemetryManager.sendEvent({eventType:O.ACTION_EVENT,payload:{metadata:{event:"stop-camera",node:this.tagName,tabId:this._activeTab}}})},"_stopRecording");_toggleRecording=s(()=>{this._mediaRecorder?.state!=="recording"&&(!this.ref.video.paused&&!this.ref.video.ended&&this.ref.video.readyState>2?this.ref.video.pause():this.ref.video.paused&&this.ref.video.play())},"_toggleRecording");_toggleEnableAudio=s(()=>{this._stream?.getAudioTracks().forEach(e=>{e.enabled=!e.enabled,this.$.toggleMicrophoneIcon=e.enabled?"microphone":"microphone-mute",this.$.audioSelectDisabled=!e.enabled})},"_toggleEnableAudio");_previewVideo=s(()=>{try{let e=new Blob(this._chunks,{type:this._mediaRecorder?.mimeType}),t=URL.createObjectURL(e),r=this.ref.video;if(!r)return;r.muted=!1,r.volume=1,this.$.video=null,r.src=t,r.addEventListener("play",()=>{this._startTimeline(),this.set$({currentTimelineIcon:"pause"})}),r.addEventListener("pause",()=>{this.set$({currentTimelineIcon:"play"}),this._stopTimeline()})}catch(e){console.error("Failed to preview video",e),this.telemetryManager.sendEventError(e,"camera previewing. Failed to preview video")}},"_previewVideo");_retake=s(()=>{if(this._setCameraState(te.RETAKE),this._activeTab===w.VIDEO){this.$.video=this._stream;let e=this.ref.video;e&&(e.muted=!0)}this.ref.video?.play?.()},"_retake");_accept=s(()=>{if(this._setCameraState(te.ACCEPT),this._activeTab===w.PHOTO){this._canvas?.toBlob(o=>{if(!o)return;let n=this._createFile("camera","jpeg",Os,o);this._toSend(n)},Os);return}let e=new Blob(this._chunks,{type:this._mediaRecorder?.mimeType}),t=this._guessExtensionByMime(this._mediaRecorder?.mimeType),r=this._createFile("video",t,`video/${t}`,e);this._toSend(r),this._chunks=[]},"_accept");_handlePhoto=s(e=>{e===te.SHOT&&this.set$({tabVideoHidden:!0,cameraHidden:!0,tabCameraHidden:!0,cameraActionsHidden:!1,cameraSelectHidden:!0}),(e===te.RETAKE||e===te.ACCEPT)&&this.set$({tabVideoHidden:!this._cameraModes.includes(w.VIDEO),tabCameraHidden:!this._cameraModes.includes(w.PHOTO),cameraHidden:!1,cameraActionsHidden:!0,cameraSelectHidden:this._cameraDevices.length<=1})},"_handlePhoto");_handleVideo=s(e=>{e===te.PLAY&&this.set$({timerHidden:!1,tabCameraHidden:!0,cameraSelectHidden:!0,audioSelectHidden:!0,currentTimelineIcon:"pause",currentIcon:"square",mutableClassButton:"uc-shot-btn uc-camera-action uc-stop-record"}),e===te.STOP&&this.set$({timerHidden:!1,cameraHidden:!0,audioToggleMicrophoneHidden:!0,cameraActionsHidden:!1}),(e===te.RETAKE||e===te.ACCEPT)&&this.set$({timerHidden:!0,tabVideoHidden:!this._cameraModes.includes(w.VIDEO),tabCameraHidden:!this._cameraModes.includes(w.PHOTO),cameraHidden:!1,cameraActionsHidden:!0,audioToggleMicrophoneHidden:!this.cfg.enableAudioRecording,currentIcon:"video-camera-full",mutableClassButton:"uc-shot-btn uc-camera-action",audioSelectHidden:!this.cfg.enableAudioRecording||this._audioDevices.length<=1,cameraSelectHidden:this._cameraDevices.length<=1})},"_handleVideo");_setCameraState=s(e=>{this._activeTab===w.PHOTO&&(e==="shot"||e==="retake"||e==="accept")&&this._handlePhoto(e),this._activeTab===w.VIDEO&&(e==="play"||e==="stop"||e==="retake"||e==="accept"||e==="pause"||e==="resume")&&this._handleVideo(e)},"_setCameraState");_shot(){if(this._setCameraState("shot"),this._canvas=document.createElement("canvas"),this._ctx=this._canvas.getContext("2d"),!this._ctx)throw new Error("Failed to get canvas context");this._canvas.height=this.ref.video.videoHeight,this._canvas.width=this.ref.video.videoWidth,this.cfg.cameraMirror&&(this._ctx.translate(this._canvas.width,0),this._ctx.scale(-1,1)),this._ctx.drawImage(this.ref.video,0,0),this.ref.video.pause()}_handleActiveTab=s(e=>{this.ref.switcher?.querySelectorAll("button").forEach(r=>{r.classList.toggle("uc-active",r.getAttribute("data-id")===e)}),e===w.PHOTO&&this.set$({currentIcon:"camera-full",audioSelectHidden:!0,audioToggleMicrophoneHidden:!0}),e===w.VIDEO&&this.set$({currentTimelineIcon:"play",currentIcon:"video-camera-full",audioSelectHidden:!this.cfg.enableAudioRecording||this._audioDevices.length<=1,audioToggleMicrophoneHidden:!this.cfg.enableAudioRecording}),this.telemetryManager.sendEvent({eventType:O.ACTION_EVENT,payload:{metadata:{event:"camera-tab-switch",node:this.tagName,tabId:e}}}),this._activeTab=e},"_handleActiveTab");_createFile=s((e,t,r,o)=>{let n=Date.now(),a=`${e}-${n}.${t}`;return new File([o],a,{lastModified:n,type:r})},"_createFile");_guessExtensionByMime(e){let t={mp4:"mp4",ogg:"ogg",webm:"webm",quicktime:"mov","x-matroska":"mkv"};if(e==="")return"webm";if(e){let r=e.split("/");if(r?.[0]==="video"){let n=r.slice(1).join("/")?.split(";")[0];if(n&&t[n])return t[n]}}return"avi"}_toSend=s(e=>{this.api.addFileFromObject(e,{source:U.CAMERA}),this.set$({"*currentActivity":g.activities.UPLOAD_LIST}),this.modalManager?.open(g.activities.UPLOAD_LIST)},"_toSend");get _cameraModes(){return F(this.cfg.cameraModes).filter(e=>e===w.PHOTO||e===w.VIDEO)}_setPermissionsState=L(e=>{this.classList.toggle("uc-initialized",e==="granted");let t=this._activeTab===w.VIDEO&&this.cfg.enableAudioRecording,r=this._activeTab===w.PHOTO?"camera-full":"video-camera-full";e==="granted"?this.set$({videoHidden:!1,cameraHidden:!1,tabCameraHidden:!this._cameraModes.includes(w.PHOTO),tabVideoHidden:!this._cameraModes.includes(w.VIDEO),messageHidden:!0,timerHidden:!0,currentIcon:r,audioToggleMicrophoneHidden:!t,audioSelectHidden:!t}):e==="prompt"?(this.$.l10nMessage="camera-permissions-prompt",this.set$({videoHidden:!0,cameraHidden:!0,tabCameraHidden:!0,messageHidden:!1}),this._stopCapture()):(this.$.l10nMessage="camera-permissions-denied",this.set$({videoHidden:!0,messageHidden:!1,tabCameraHidden:!this._cameraModes.includes(w.PHOTO),tabVideoHidden:!this._cameraModes.includes(w.VIDEO),cameraActionsHidden:!0,mutableClassButton:"uc-shot-btn uc-camera-action"}),this._stopCapture())},300);_makeStreamInactive=s(()=>{if(!this._stream)return!1;let e=this._stream?.getAudioTracks(),t=this._stream?.getVideoTracks();return e.forEach(r=>{r.stop()}),t.forEach(r=>{r.stop()}),!0},"_makeStreamInactive");_stopCapture=s(()=>{this._capturing&&(this.ref.video.volume=0,this.$.video?.getTracks?.()?.[0]?.stop(),this.$.video=null,this._makeStreamInactive(),this._stopTimer(),this._capturing=!1)},"_stopCapture");_capture=s(async()=>{let e={video:{...Pl},audio:this.cfg.enableAudioRecording?{}:!1};this._selectedCameraId&&(e.video={deviceId:{exact:this._selectedCameraId}}),this._selectedAudioId&&this.cfg.enableAudioRecording&&(e.audio={deviceId:{exact:this._selectedAudioId}}),this.ref.video&&(this.ref.video.volume=0);try{this._setPermissionsState("prompt"),this._stream=await navigator.mediaDevices.getUserMedia(e),this._stream.addEventListener("inactive",()=>{this._setPermissionsState("denied")}),this.$.video=this._stream,this._capturing=!0,this._setPermissionsState("granted")}catch(t){this._setPermissionsState("denied"),console.log("Failed to capture camera",t),this.telemetryManager.sendEventError(t,"camera capturing. Failed to capture camera")}},"_capture");_handlePermissionsChange=s(()=>{this._capture()},"_handlePermissionsChange");_permissionAccess=s(async()=>{try{for(let e of ks){let t=await navigator.permissions.query({name:e});this._permissionResponses[e]=t,t.addEventListener("change",this._handlePermissionsChange)}}catch(e){console.log("Failed to use permissions API. Fallback to manual request mode.",e),this.telemetryManager.sendEventError(e,"camera permissions. Failed to use permissions API"),this._capture()}},"_permissionAccess");_getPermission=s(()=>{},"_getPermission");_requestDeviceAccess=s(async()=>{try{await navigator.mediaDevices.getUserMedia({video:!0,audio:this.cfg.enableAudioRecording}),await this._getDevices(),navigator.mediaDevices.addEventListener("devicechange",this._getDevices)}catch(e){this.telemetryManager.sendEventError(e,"camera devices. Failed to get user media"),console.log("Failed to get user media",e)}},"_requestDeviceAccess");_getDevices=s(async()=>{try{let e=await navigator.mediaDevices.enumerateDevices();this._cameraDevices=e.filter(t=>t.kind==="videoinput").map((t,r)=>({text:t.label.trim()||`${this.l10n("caption-camera")} ${r+1}`,value:t.deviceId})),this._audioDevices=this.cfg.enableAudioRecording?e.filter(t=>t.kind==="audioinput").map(t=>({text:t.label.trim(),value:t.deviceId})):[],this._cameraDevices.length>1&&this.set$({cameraSelectOptions:this._cameraDevices,cameraSelectHidden:!1}),this._selectedCameraId=this._cameraDevices[0]?.value??null,this._audioDevices.length>1&&this.set$({audioSelectOptions:this._audioDevices,audioSelectHidden:!1}),this._selectedAudioId=this._audioDevices[0]?.value??null}catch(e){this.telemetryManager.sendEventError(e,"camera devices. Failed to get devices"),console.log("Failed to get devices",e)}},"_getDevices");_onActivate=s(async()=>{await this._permissionAccess(),await this._requestDeviceAccess(),await this._capture(),this._handleCameraModes(this._cameraModes)},"_onActivate");_onDeactivate=s(async()=>{this._unsubPermissions&&this._unsubPermissions(),!!window.chrome||this._setPermissionsState("denied"),this._stopCapture()},"_onDeactivate");_handleCameraModes=s(e=>{this.$.tabVideoHidden=!e.includes(w.VIDEO),this.$.tabCameraHidden=!e.includes(w.PHOTO);let t=e[0];t&&(!this._activeTab||!e.includes(this._activeTab))&&this._handleActiveTab(t)},"_handleCameraModes");initCallback(){super.initCallback(),this.registerActivity(this.activityType,{onActivate:this._onActivate,onDeactivate:this._onDeactivate}),this.subConfigValue("cameraMirror",e=>{this.$.videoTransformCss=e?"scaleX(-1)":null}),this.subConfigValue("enableAudioRecording",e=>{this.$.audioToggleMicrophoneHidden=!e,this.$.audioSelectDisabled=!e}),this.subConfigValue("cameraModes",e=>{if(!this.isActivityActive)return;let t=X(e);this._handleCameraModes(t.filter(r=>r===w.PHOTO||r===w.VIDEO))})}_destroy(){for(let e of ks)this._permissionResponses[e]?.removeEventListener("change",this._handlePermissionsChange);navigator.mediaDevices?.removeEventListener("devicechange",this._getDevices)}async destroyCallback(){super.destroyCallback(),this._destroy()}};Lt.template=`<uc-activity-header><button type="button" class="uc-mini-btn" set="onclick: *historyBack" l10n="@title:back" ><uc-icon name="back"></uc-icon></button><div set="@hidden: !cameraSelectHidden"><uc-icon name="camera"></uc-icon><span l10n="caption-camera"></span></div><uc-select class="uc-camera-select" set="$.options: cameraSelectOptions; @hidden: cameraSelectHidden; onchange: onCameraSelectChange" ></uc-select><button type="button" class="uc-mini-btn uc-close-btn" set="onclick: *closeModal" l10n="@title:a11y-activity-header-button-close;@aria-label:a11y-activity-header-button-close" ><uc-icon name="close"></uc-icon></button></uc-activity-header><div class="uc-content"><video muted autoplay playsinline set="srcObject: video; style.transform: videoTransformCss; @hidden: videoHidden" ref="video" ></video><div class="uc-message-box" set="@hidden: messageHidden"><span l10n="l10nMessage"></span><button type="button" set="onclick: onRequestPermissions; @hidden: requestBtnHidden" l10n="camera-permissions-request" ></button></div></div><div class="uc-controls"><div ref="switcher" class="uc-switcher" set="@hidden:!timerHidden"><button data-id="photo" type="button" class="uc-switch uc-mini-btn" set="onclick: onClickTab; @hidden: tabCameraHidden" ><uc-icon name="camera"></uc-icon></button><button data-id="video" type="button" class="uc-switch uc-mini-btn" set="onclick: onClickTab; @hidden: tabVideoHidden" ><uc-icon name="video-camera"></uc-icon></button></div><button class="uc-secondary-btn uc-recording-timer" set="@hidden:timerHidden; onclick: onToggleRecording" ><uc-icon set="@name: currentTimelineIcon"></uc-icon><span ref="timer"> 00:00 </span><span ref="line" class="uc-line"></span></button><div class="uc-camera-actions uc-camera-action" set="@hidden: cameraActionsHidden" ><button type="button" class="uc-secondary-btn" set="onclick: onRetake"> Retake </button><button type="button" class="uc-primary-btn" set="onclick: onAccept" data-testid="accept" > Accept </button></div><button type="button" class="uc-shot-btn uc-camera-action" data-testid="shot" set="onclick: onStartCamera; @class: mutableClassButton; @hidden: cameraHidden;" ><uc-icon set="@name: currentIcon"></uc-icon></button><div class="uc-select"><button class="uc-mini-btn uc-btn-microphone" set="onclick: onToggleAudio; @hidden: audioToggleMicrophoneHidden;" ><uc-icon set="@name:toggleMicrophoneIcon"></uc-icon></button><uc-select class="uc-audio-select" set="$.options: audioSelectOptions; onchange: onAudioSelectChange; @hidden: audioSelectHidden; @disabled: audioSelectDisabled" ></uc-select></div></div>`;var pe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=";function Ls(...i){return i.reduce((e,t)=>{if(typeof t=="string")return e[t]=!0,e;for(let r of Object.keys(t))e[r]=t[r];return e},{})}s(Ls,"normalize");function B(...i){let e=Ls(...i);return Object.keys(e).reduce((t,r)=>(e[r]&&t.push(r),t),[]).join(" ")}s(B,"classNames");function Rs(i,...e){let t=Ls(...e);for(let r of Object.keys(t))i.classList.toggle(r,!!t[r])}s(Rs,"applyClassNames");var Ul=s(i=>Z.includes(i),"isTabIdValue"),Ps=s(i=>{if(!i)return Z;let e=X(i).filter(Ul);return e.length===0?Z:e},"parseTabs");function Us(i){return{"*originalUrl":null,"*faderEl":null,"*cropperEl":null,"*imgEl":null,"*imgContainerEl":null,"*networkProblems":!1,"*imageSize":null,"*editorTransformations":{},"*cropPresetList":[],"*currentAspectRatio":null,"*tabList":Z,"*tabId":R.CROP,entry:null,extension:null,editorMode:!1,modalCaption:"",isImage:!1,msg:"",src:pe,fileType:"",showLoader:!1,uuid:null,cdnUrl:null,cropPreset:"",tabs:ye([...Z]),"presence.networkProblems":!1,"presence.modalCaption":!0,"presence.editorToolbar":!1,"presence.viewerToolbar":!0,"*on.retryNetwork":s(()=>{let e=i.querySelectorAll("img");for(let t of e){let r=t.src;t.src=pe,t.src=r}i.$["*networkProblems"]=!1},"*on.retryNetwork"),"*on.apply":s(e=>{if(!e)return;let t=i.$["*originalUrl"],r=j(Ie(e),"preview"),o=D(t,r),n={originalUrl:t,cdnUrlModifiers:r,cdnUrl:o,transformations:e};i.dispatchEvent(new CustomEvent("apply",{detail:n,bubbles:!0,composed:!0})),i.remove()},"*on.apply"),"*on.cancel":s(()=>{i.remove(),i.dispatchEvent(new CustomEvent("cancel",{bubbles:!0,composed:!0}))},"*on.cancel")}}s(Us,"initState");var $s="<svg width='0' height='0' style='position:absolute'><symbol fill='none' viewBox='0 0 9 6' id='uc-icon-arrow-dropdown' xmlns='http://www.w3.org/2000/svg'><path stroke='currentColor' d='m1.5 1.667 3 2.666 3-2.666' opacity='.5'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-aspect-ratio' xmlns='http://www.w3.org/2000/svg'/><symbol viewBox='0 0 20 20' id='uc-icon-brightness' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M15 10a5 5 0 0 1-5 5m5-5a5 5 0 0 0-5-5m5 5h-5m0 5a5 5 0 0 1 0-10m0 10V5m0 15v-3M2.93 2.929 5.05 5.05M0 10h3m-.07 7.071 2.12-2.121M10 0v3m7.07 14.071-2.12-2.121M20 10h-3m.07-7.071L14.95 5.05m-.626 2.45H10m4.324 5H10'/></symbol><symbol fill='currentColor' viewBox='0 0 20 20' id='uc-icon-closeMax' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M8.232 10 3.585 5.353l1.768-1.768L10 8.232l4.648-4.647 1.767 1.768L11.768 10l4.647 4.648-1.767 1.767L10 11.768l-4.647 4.647-1.768-1.767L8.232 10Z' clip-rule='evenodd'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-contrast' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M2 10a8 8 0 1 0 16 0 8 8 0 1 0-16 0m8-8v16m8-8h-8m7.598 2.5H10m6.24 2.5H10m7.6-7.5H10M16.242 5H10'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-crop' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M20 14H7.005C6.45 14 6 13.55 6 12.995V0M0 6h13.067c.515 0 .933.418.933.933V20M14.5.4 13 2l1.5 1.6M13 2h2a3 3 0 0 1 3 3v2M5.5 19.6 7 18l-1.5-1.6M7 18H5a3 3 0 0 1-3-3v-2'/></symbol><symbol fill='currentColor' viewBox='0 0 20 20' id='uc-icon-done' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='m18.057 6.333-9.365 9.125a1.25 1.25 0 0 1-1.768-.023L1.92 10.296l1.791-1.744 4.132 4.243 8.47-8.253 1.744 1.79Z' clip-rule='evenodd'/></symbol><symbol fill='currentColor' viewBox='0 0 25 24' id='uc-icon-edit-file' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M18.558 2.804a.78.78 0 0 0-.557.235l-.008.007-2.472 2.46 3.847 3.848 2.46-2.473.004-.003a.78.78 0 0 0 0-1.108l-.004-.003-2.712-2.728a.78.78 0 0 0-.558-.235Zm-.248 7.613-3.852-3.852-8.93 8.887-1.516 5.41 5.41-1.515 8.888-8.93Zm-.636-8.934a2.28 2.28 0 0 1 2.512.505l2.702 2.717.002.002a2.278 2.278 0 0 1 0 3.234l-.002.002-12.541 12.602a.75.75 0 0 1-.33.193l-6.884 1.928a.75.75 0 0 1-.925-.924l1.928-6.885a.75.75 0 0 1 .193-.33l12.603-12.54a2.28 2.28 0 0 1 .742-.504Z' clip-rule='evenodd'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-enhance' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M19 13h-2m0 0a4 4 0 0 1-4-4m4 4a4 4 0 0 0-4 4m0-8V7m0 2a4 4 0 0 1-4 4m-2 0h2m0 0a4 4 0 0 1 4 4m0 0v2M8 8.5H6.5m0 0a2 2 0 0 1-2-2m2 2a2 2 0 0 0-2 2m0-4V5m0 1.5a2 2 0 0 1-2 2M1 8.5h1.5m0 0a2 2 0 0 1 2 2m0 0V12M12 3h-1m0 0a1 1 0 0 1-1-1m1 1a1 1 0 0 0-1 1m0-2V1m0 1a1 1 0 0 1-1 1M8 3h1m0 0a1 1 0 0 1 1 1m0 0v1'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-exposure' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M10 20v-3M2.93 2.929 5.05 5.05M0 10h3m-.07 7.071 2.12-2.121M10 0v3m7.07 14.071-2.12-2.121M20 10h-3m.07-7.071L14.95 5.05M5 10a5 5 0 1 0 10 0 5 5 0 1 0-10 0'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-filters' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M4.5 6.5a5.5 5.5 0 1 0 11 0 5.5 5.5 0 1 0-11 0m-3.5 6a5.5 5.5 0 1 0 11 0 5.5 5.5 0 1 0-11 0m7 0a5.5 5.5 0 1 0 11 0 5.5 5.5 0 1 0-11 0'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-flip' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M19.6 5 18 3.5 16.4 5m3.2 10L18 16.5 16.4 15M18 3.523v12.954M3.3 8.5h10.654c.301 0 .415-.395.159-.554L3.459 1.286A.3.3 0 0 0 3 1.542V8.2a.3.3 0 0 0 .3.3zm0 3h10.654c.301 0 .415.395.159.554l-10.654 6.66A.3.3 0 0 1 3 18.458v-6.66a.3.3 0 0 1 .3-.3z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-gamma' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M17 3C9 6 2.5 11.5 2.5 17.5m0 0h1m-1 0v-1m14 1h1m-3 0h1m-3 0h1m-3 0h1m-3 0h1m-3 0h1m-3 0h1m-3-14v-1m0 3v-1m0 3v-1m0 3v-1m0 3v-1m0 3v-1m0 3v-1'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-mirror' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M5 .4 3.5 2 5 3.6M15 .4 16.5 2 15 3.6M3.52 2h12.957M8.5 16.7V6.046c0-.301-.394-.415-.554-.159L1.287 16.541a.3.3 0 0 0 .255.459H8.2a.3.3 0 0 0 .3-.3zm3 0V6.046c0-.301.395-.415.555-.159l6.659 10.654a.3.3 0 0 1-.255.459H11.8a.3.3 0 0 1-.3-.3z'/></symbol><symbol viewBox='0 0 40 40' id='uc-icon-original' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.5' d='M0 40 40 0'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-rotate' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M13.5.4 12 2l1.5 1.6M12.023 2H14.4A3.6 3.6 0 0 1 18 5.6V8M4 17h9a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v9a1 1 0 0 0 1 1z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-sad' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M2 17c4.418-4 11.582-4 16 0M16.5 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-11 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-saturation' xmlns='http://www.w3.org/2000/svg'><defs><linearGradient id='ruc-icon-id__a' x1='10.001' y1='1' x2='10.001' y2='19' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient></defs><circle cx='10.001' cy='10' r='9' transform='rotate(90 10 10)' fill='url(#ruc-icon-id__a)'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-slider' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M0 10h11m0 0a2 2 0 1 0 4 0m-4 0a2 2 0 1 1 4 0m0 0h5'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-tuning' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M8 10h11M1 10h4M1 4.5h11m3 0h4m-18 11h11m3 0h4m-7-11a1.5 1.5 0 1 0 3 0 1.5 1.5 0 1 0-3 0M5 10a1.5 1.5 0 1 0 3 0 1.5 1.5 0 1 0-3 0m7 5.5a1.5 1.5 0 1 0 3 0 1.5 1.5 0 1 0-3 0'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-vibrance' xmlns='http://www.w3.org/2000/svg'><path d='M2.125 5.64A8.96 8.96 0 0 0 1.001 10a8.96 8.96 0 0 0 1.124 4.36V5.64z' fill='url(#uuc-icon-id__a)'/><path d='M2.875 15.499V4.502a9.053 9.053 0 0 1 1.75-1.72v14.437a9.05 9.05 0 0 1-1.75-1.72z' fill='url(#uuc-icon-id__b)'/><path d='M5.375 17.722c.548.33 1.134.601 1.75.809V1.469a8.956 8.956 0 0 0-1.75.81v15.443z' fill='url(#uuc-icon-id__c)'/><path d='M7.875 1.253v17.495c.564.136 1.15.22 1.75.244V1.008a9 9 0 0 0-1.75.245z' fill='url(#uuc-icon-id__d)'/><path d='M10.375 1.008v17.984a9 9 0 0 0 1.75-.244V1.252a9 9 0 0 0-1.75-.244z' fill='url(#uuc-icon-id__e)'/><path d='M12.875 1.469V18.53a8.957 8.957 0 0 0 1.75-.808V2.277a8.957 8.957 0 0 0-1.75-.808z' fill='url(#uuc-icon-id__f)'/><path d='M15.375 2.78v14.44a9.053 9.053 0 0 0 1.75-1.72v-11a9.054 9.054 0 0 0-1.75-1.72z' fill='url(#uuc-icon-id__g)'/><path d='M17.875 5.638v8.724A8.959 8.959 0 0 0 19.001 10a8.96 8.96 0 0 0-1.126-4.362z' fill='url(#uuc-icon-id__h)'/><defs><linearGradient id='uuc-icon-id__a' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__b' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__c' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__d' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__e' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__f' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__g' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__h' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient></defs></symbol><symbol viewBox='0 0 20 20' id='uc-icon-warmth' xmlns='http://www.w3.org/2000/svg'><path d='m7.5 13.05.429.42.171-.175v-.244h-.6zm5 0h-.6v.245l.172.175.428-.42zM8.1 3.5c0-1.05.85-1.9 1.9-1.9V.4a3.1 3.1 0 0 0-3.1 3.1h1.2zm0 9.55V3.5H6.9v9.55h1.2zm-1 2.45c0-.79.315-1.506.829-2.03l-.858-.84A4.088 4.088 0 0 0 5.9 15.5h1.2zm2.9 2.9a2.9 2.9 0 0 1-2.9-2.9H5.9a4.1 4.1 0 0 0 4.1 4.1v-1.2zm2.9-2.9a2.9 2.9 0 0 1-2.9 2.9v1.2a4.1 4.1 0 0 0 4.1-4.1h-1.2zm-.829-2.03c.514.524.829 1.24.829 2.03h1.2c0-1.117-.447-2.13-1.171-2.87l-.858.84zM11.9 3.5v9.55h1.2V3.5h-1.2zM10 1.6c1.05 0 1.9.85 1.9 1.9h1.2A3.1 3.1 0 0 0 10 .4v1.2z' fill='currentColor'/><path d='M10 14V8' stroke='currentColor' stroke-width='1.2' stroke-linecap='round'/><path d='M14 3h3m-3 3h3m-3 3h3m-8 6.5a1 1 0 1 0 2 0 1 1 0 1 0-2 0' stroke='currentColor' stroke-width='1.2'/></symbol></svg>";var Ds=`${$s} <div class="uc-wrapper uc-wrapper_desktop"><uc-presence-toggle class="uc-network_problems_splash" set="visible: presence.networkProblems;"><div class="uc-network_problems_content"><div class="uc-network_problems_icon"><uc-icon name="sad"></uc-icon></div><div class="uc-network_problems_text">Network error</div></div><div class="uc-network_problems_footer"><uc-btn-ui theme="primary" text="Retry" set="onclick: *on.retryNetwork"></uc-btn-ui></div></uc-presence-toggle><div class="uc-viewport"><div class="uc-file_type_outer"><div class="uc-file_type">{{fileType}}</div></div><div class="uc-image_container" ref="img-container-el"><img src="${pe}" class="uc-image uc-image_visible_from_editor" ref="img-el" /><uc-editor-image-cropper ref="cropper-el"></uc-editor-image-cropper><uc-editor-image-fader ref="fader-el"></uc-editor-image-fader></div><div class="uc-info_pan">{{msg}}</div></div><div class="uc-toolbar"><uc-line-loader-ui set="active: showLoader"></uc-line-loader-ui><div class="uc-toolbar_content uc-toolbar_content__editor"><uc-editor-toolbar></uc-editor-toolbar></div></div></div>`;var he=class extends b{static{s(this,"CloudImageEditorBlock")}ctxOwner=!0;static styleAttrs=["uc-cloud-image-editor"];_debouncedShowLoader=L(this._showLoader.bind(this),300);constructor(){super(),this.init$={...this.init$,...Us(this)}}_showLoader(e){this.$.showLoader=e}_waitForSize(){return new Promise((t,r)=>{let o=window.setTimeout(()=>{r(new Error("[cloud-image-editor] timeout waiting for non-zero container size"))},3e3),n=new ResizeObserver(a=>{let[l]=a;l&&l.contentRect.width>0&&l.contentRect.height>0&&(window.clearTimeout(o),n.disconnect(),window.setTimeout(()=>t(),0))});n.observe(this)})}initCallback(){super.initCallback(),this.$["*faderEl"]=this.ref["fader-el"],this.$["*cropperEl"]=this.ref["cropper-el"],this.$["*imgContainerEl"]=this.ref["img-container-el"],this.initEditor()}async updateImage(){if(this.isConnected){if(await this._waitForSize(),this.$.cdnUrl){let e=this.$.cdnUrl,t=li(e),r=Se(e,t);if(r===this.$["*originalUrl"])return;this.$["*originalUrl"]=r;let o=lr(e),n=cr(o);this.$["*editorTransformations"]=n}else if(this.$.uuid){let e=Se(this.cfg.cdnCname,this.$.uuid);if(e===this.$["*originalUrl"])return;this.$["*originalUrl"]=e,this.$["*editorTransformations"]={}}else throw new Error("No UUID nor CDN URL provided");this.$["*tabId"]===R.CROP?this.$["*cropperEl"]?.deactivate({reset:!0}):this.$["*faderEl"]?.deactivate();try{let e=this.$["*originalUrl"],t=await this.proxyUrl(D(e,j("json"))),r=await fetch(t).then(a=>a.json()),{width:o,height:n}=r;this.$["*imageSize"]={width:o,height:n},this.$["*tabId"]===R.CROP?this.$["*cropperEl"]?.activate(this.$["*imageSize"]):this.$["*faderEl"]?.activate({url:e})}catch(e){e&&(this.telemetryManager.sendEventError(e,"cloud editor image. Failed to load image info"),console.error("Failed to load image info",e))}}}async initEditor(){try{await this._waitForSize()}catch(e){this.isConnected&&console.error(e.message);return}this.ref["img-el"].addEventListener("load",()=>{this._debouncedShowLoader(!1),this.$.src!==pe&&(this.$["*networkProblems"]=!1)}),this.ref["img-el"].addEventListener("error",()=>{this._debouncedShowLoader(!1),this.$["*networkProblems"]=!0}),this.sub("src",e=>{let t=this.ref["img-el"];t.src!==e&&(t.src=e||pe)}),this.sub("tabs",e=>{this.$["*tabList"]=Ps(e)}),this.sub("*tabId",e=>{this.ref["img-el"].className=B("uc-image",{"uc-image_hidden_to_cropper":e===R.CROP,"uc-image_hidden_effects":e!==R.CROP})}),this.classList.add("uc-editor_ON"),this.sub("*networkProblems",e=>{this.$["presence.networkProblems"]=e,this.$["presence.modalCaption"]=!e}),this.sub("*editorTransformations",e=>{if(Object.keys(e).length===0)return;let t=this.$["*originalUrl"],r=j(Ie(e),"preview"),o=D(t,r),n={originalUrl:t,cdnUrlModifiers:r,cdnUrl:o,transformations:e};this.dispatchEvent(new CustomEvent("change",{detail:n,bubbles:!0,composed:!0}))},!1),this.sub("uuid",e=>e&&this.updateImage()),this.sub("cdnUrl",e=>e&&this.updateImage()),this.sub("cropPreset",e=>{let t=xi(e),r=null;if(this.$.cdnUrl){let o=lr(this.$.cdnUrl),n=cr(o);if(Array.isArray(n?.crop?.dimensions)){let[a,l]=n.crop.dimensions;r=hs(a,l,t,.1)}}this.$["*cropPresetList"]=t,this.$["*currentAspectRatio"]=r??t?.[0]??null})}};he.template=Ds;he.bindAttributes({uuid:"uuid","cdn-url":"cdnUrl","crop-preset":"cropPreset",tabs:"tabs"});var Rt=class extends b{static{s(this,"CropFrame")}_handlePointerUp;_handlePointerMove;_handleSvgPointerMove;_backdropMaskId=`backdrop-mask-${oe.generate()}`;_backdropMask;_backdropMaskInner;_frameThumbs;_frameGuides;_draggingThumb;_hoverThumb;_dragStartPoint;_dragStartCrop;_frameImage;_guidesHidden=!1;constructor(){super(),this.init$={...this.init$,dragging:!1},this._handlePointerUp=this._handlePointerUp_.bind(this),this._handlePointerMove=this._handlePointerMove_.bind(this),this._handleSvgPointerMove=this._handleSvgPointerMove_.bind(this)}_shouldThumbBeDisabled(e){let t=this.$["*imageBox"];if(!t)return!1;if(e===""&&t.height<=_&&t.width<=_)return!0;let r=t.height<=_&&(e.includes("n")||e.includes("s")),o=t.width<=_&&(e.includes("e")||e.includes("w"));return r||o}_createBackdrop(){let e=this.$["*cropBox"];if(!e)return;let{x:t,y:r,width:o,height:n}=e,a=this.ref["svg-el"],l=G("mask",{id:this._backdropMaskId}),c=G("rect",{x:0,y:0,width:"100%",height:"100%",fill:"white"}),d=G("rect",{x:t,y:r,width:o,height:n,fill:"black"});l.appendChild(c),l.appendChild(d);let u=G("rect",{x:0,y:0,width:"100%",height:"100%",fill:"var(--color-image-background)","fill-opacity":.85,mask:`url(#${this._backdropMaskId})`});a.appendChild(u),a.appendChild(l),this._backdropMask=l,this._backdropMaskInner=d}_resizeBackdrop(){this._backdropMask&&(this._backdropMask.style.display="none",window.requestAnimationFrame(()=>{this._backdropMask&&(this._backdropMask.style.display="block")}))}_updateBackdrop(){let e=this.$["*cropBox"];if(!e)return;let{x:t,y:r,width:o,height:n}=e;this._backdropMaskInner&&Re(this._backdropMaskInner,{x:t,y:r,width:o,height:n})}_updateFrame(){let e=this.$["*cropBox"];if(!(!e||!this._frameGuides||!this._frameThumbs)){for(let t of Object.values(this._frameThumbs)){if(!t)continue;let{direction:r,pathNode:o,interactionNode:n,groupNode:a}=t,l=r==="",c=r.length===2,{x:d,y:u,width:p,height:h}=e;if(l)Re(n,{x:d,y:u,width:p,height:h});else{let m=Pe(Math.min(p,h)/82/2,0,1),v=c?os(e,r,m):ss(e,r,m),y=v.center;if(!y)continue;let S=Math.max(Ur*Pe(Math.min(p,h)/Ur/3,0,1),rs);Re(n,{x:y[0]-S,y:y[1]-S,width:S*2,height:S*2}),Re(o,{d:v.d})}let f=this._shouldThumbBeDisabled(r);a.setAttribute("class",B("uc-thumb",{"uc-thumb--hidden":f,"uc-thumb--visible":!f}))}Re(this._frameGuides,{x:e.x-1*.5,y:e.y-1*.5,width:e.width+1,height:e.height+1})}}_createThumb(e,t){let r=G("g");r.classList.add("uc-thumb"),r.setAttribute("with-effects","");let o=G("rect",{fill:"transparent"}),n=G("path",{stroke:"currentColor",fill:"none","stroke-width":3});r.appendChild(n),r.appendChild(o),e[t]={direction:t,pathNode:n,interactionNode:o,groupNode:r},t===""&&(r.style.cursor="move"),o.addEventListener("pointerdown",this._handlePointerDown.bind(this,t))}_createThumbs(){let e={};for(let t=0;t<3;t++)for(let r=0;r<3;r++){let o=`${["n","","s"][t]}${["w","","e"][r]}`;o!==""&&this._createThumb(e,o)}return this._createThumb(e,""),e}_createGuides(){let e=G("svg"),t=G("rect",{x:0,y:0,width:"100%",height:"100%",fill:"none",stroke:"currentColor","stroke-width":1,"stroke-opacity":.5});e.appendChild(t);for(let r=1;r<=2;r++){let o=G("line",{x1:`${St*r}%`,y1:"0%",x2:`${St*r}%`,y2:"100%",stroke:"currentColor","stroke-width":1,"stroke-opacity":.3});e.appendChild(o)}for(let r=1;r<=2;r++){let o=G("line",{x1:"0%",y1:`${St*r}%`,x2:"100%",y2:`${St*r}%`,stroke:"currentColor","stroke-width":1,"stroke-opacity":.3});e.appendChild(o)}return e.classList.add("uc-guides","uc-guides--semi-hidden"),e}_createFrame(){let e=this.ref["svg-el"],t=document.createDocumentFragment(),r=this._createGuides();t.appendChild(r);let o=this._createThumbs();for(let{groupNode:n}of Object.values(o))t.appendChild(n);e.appendChild(t),this._frameThumbs=o,this._frameGuides=r}_handlePointerDown(e,t){if(!this._frameThumbs)return;let r=this._frameThumbs[e];if(!r||this._shouldThumbBeDisabled(e))return;let o=this.$["*cropBox"],n=this.ref["svg-el"],{x:a,y:l}=n.getBoundingClientRect(),c=t.x-a,d=t.y-l;this.$.dragging=!0,this._draggingThumb=r,this._dragStartPoint=[c,d],this._dragStartCrop={...o}}_handlePointerUp_(e){this._updateCursor(),this.$.dragging&&(e.stopPropagation(),e.preventDefault(),this.$.dragging=!1)}_handlePointerMove_(e){if(!this.$.dragging||!this._dragStartPoint||!this._draggingThumb)return;e.stopPropagation(),e.preventDefault();let t=this.ref["svg-el"],{x:r,y:o}=t.getBoundingClientRect(),n=e.x-r,a=e.y-o,l=n-this._dragStartPoint[0],c=a-this._dragStartPoint[1],{direction:d}=this._draggingThumb,u=this._calcCropBox(d,[l,c]);u&&(this.$["*cropBox"]=u)}_calcCropBox(e,t){let[r,o]=t,n=this.$["*imageBox"],a=this._dragStartCrop??this.$["*cropBox"],l=this.$["*currentAspectRatio"],c=l?l.width/l.height:void 0;if(e===""?a=as({rect:a,delta:[r,o],imageBox:n}):a=ls({rect:a,delta:[r,o],direction:e,aspectRatio:c,imageBox:n}),!Object.values(a).every(d=>Number.isFinite(d)&&d>=0)){console.error("CropFrame is trying to create invalid rectangle",{payload:a});return}return Ye(Je(a),n)}_handleSvgPointerMove_(e){if(!this._frameThumbs)return;let t=Object.values(this._frameThumbs).find(r=>{if(!r||this._shouldThumbBeDisabled(r.direction))return!1;let n=r.interactionNode.getBoundingClientRect(),a={x:n.x,y:n.y,width:n.width,height:n.height};return cs(a,[e.x,e.y])});this._hoverThumb=t,this._updateCursor()}_updateCursor(){let e=this._hoverThumb,t=this.ref["svg-el"];t.style.cursor=e?ns(e.direction):"initial"}_createMask(e){if(this._frameImage){this._frameImage.setAttribute("href",e);return}let t=this.ref["svg-el"],r=document.createDocumentFragment(),o=G("image",{href:e});o.setAttribute("class","uc-cloud-mask"),r.appendChild(o),t.appendChild(r),this._frameImage=o}_updateMask(){let e=this.$["*cropBox"];if(!e||!this._frameImage)return;let{x:t,y:r,width:o,height:n}=e;Re(this._frameImage,{x:t,y:r,height:n,width:o})}_render(){this._updateBackdrop(),this._updateFrame(),this._updateMask()}toggleThumbs(e){if(this._frameThumbs)for(let t of Object.values(this._frameThumbs)){if(!t)continue;let{groupNode:r}=t;r.setAttribute("class",B("uc-thumb",{"uc-thumb--hidden":!e,"uc-thumb--visible":e}))}}initCallback(){super.initCallback(),this._createBackdrop(),this._createFrame(),this.sub("*imageBox",()=>{this._resizeBackdrop(),window.requestAnimationFrame(()=>{this._render()})}),this.sub("*cropBox",t=>{t&&(this._guidesHidden=t.height<=_||t.width<=_,window.requestAnimationFrame(()=>{this._render()}))}),this.subConfigValue("cloudImageEditorMaskHref",t=>{t&&this._createMask(t)}),this.sub("dragging",t=>{this._frameGuides&&this._frameGuides.setAttribute("class",B({"uc-guides--hidden":this._guidesHidden,"uc-guides--visible":!this._guidesHidden&&t,"uc-guides--semi-hidden":!this._guidesHidden&&!t}))}),this.ref["svg-el"].addEventListener("pointermove",this._handleSvgPointerMove,!0),document.addEventListener("pointermove",this._handlePointerMove,!0),document.addEventListener("pointerup",this._handlePointerUp,!0)}destroyCallback(){super.destroyCallback(),this.ref["svg-el"].removeEventListener("pointermove",this._handleSvgPointerMove,!0),document.removeEventListener("pointermove",this._handlePointerMove),document.removeEventListener("pointerup",this._handlePointerUp)}};Rt.template='<svg class="uc-svg" ref="svg-el" xmlns="http://www.w3.org/2000/svg"></svg>';var ie=class extends b{static{s(this,"EditorButtonControl")}_titleEl;constructor(){super(),this.init$={...this.init$,active:!1,title:"",icon:"","on.click":null,"title-prop":""}}initCallback(){super.initCallback(),this._titleEl=this.ref["title-el"],this.sub("title",e=>{let t=this._titleEl;t&&(t.style.display=e?"block":"none")}),this.sub("active",e=>{this.className=B({"uc-active":e,"uc-not_active":!e})}),this.sub("on.click",e=>{this.onclick=e??null})}};ie.template=`<button role="option" type="button" set="@aria-label:title-prop;" l10n="@title:title-prop;"><uc-icon ref="icon-el" set="@name: icon;"></uc-icon><div class="uc-title" ref="title-el">{{title}}</div></button>`;var Ui=12,Fs=16,Dl=s(i=>{let e=12,t=12;return i.width/i.height>=1?(e=Ui,t=Math.round(Ui*i.height/i.width)):(t=Ui,e=Math.round(Ui*i.width/i.height)),{width:e,height:t}},"getAdjustResolutions"),ze=class extends ie{static{s(this,"EditorFreeformButtonControl")}initCallback(){super.initCallback(),this.$.icon="arrow-dropdown",this.$["on.click"]=this.handleClick.bind(this),this.sub("*currentAspectRatio",e=>{this.$.title=e.hasFreeform?this.l10n("freeform-crop"):this.l10n("crop-to-shape",{value:`${e.width}:${e.height}`}),this.bindL10n("title-prop",()=>this.$.title)})}handleClick(){this.$["*showListAspectRatio"]=!0}};ze.template=`<button role="option" type="button" set="@aria-label:title-prop;" l10n="@title:title-prop;"><div class="uc-title" ref="title-el">{{title}}</div><uc-icon ref="icon-el" set="@name: icon;"></uc-icon></button>`;var tt=class extends ie{static{s(this,"EditorAspectRatioButtonControl")}constructor(){super(),this.init$={...this.init$,active:!1,once:!1}}initCallback(){super.initCallback(),this.defineAccessor("aspectRatio",e=>{if(!e)return;let t=!!e.hasFreeform;this.$.title=t?this.l10n("custom"):`${e.width}:${e.height}`,t||this._renderRectBasedOnAspectRatio(e),t&&this.setAttribute("uc-aspect-ratio-freeform",""),this._aspectRatio=e,this.bindL10n("title-prop",()=>this.l10n("a11y-cloud-editor-apply-aspect-ratio",{name:t?this.l10n("custom").toLowerCase():this.l10n("crop-to-shape",{value:`${e.width}:${e.height}`}).toLowerCase(),value:""}))}),this.sub("*currentAspectRatio",e=>{this.$.active=e&&e.id===this._aspectRatio?.id||e?.width===this._aspectRatio?.width&&e?.height===this._aspectRatio?.height}),this.$["on.click"]=this.handleClick.bind(this)}handleClick(){this.$["*currentAspectRatio"]?.id!==this._aspectRatio?.id&&(this.$["*currentAspectRatio"]=this._aspectRatio)}_renderRectBasedOnAspectRatio(e){let{width:t,height:r}=Dl(e),o=G("rect",{"stroke-linejoin":"round",fill:"none",stroke:"currentColor","stroke-width":1.2,"fill-rule":"evenodd",x:(Fs-t)/2,y:(Fs-r)/2,rx:2,width:t,height:r}),n=this.ref["icon-el"]?.ref?.svg;n&&(n.innerHTML="",n.appendChild(o))}_aspectRatio};function Fl(i){let e=i+90;return e=e>=360?0:e,e}s(Fl,"nextAngle");function Vl(i,e){if(i==="rotate")return Fl(typeof e=="number"?e:0);if(i==="mirror"||i==="flip")return!e;throw new Error(`Unsupported operation: ${i}`)}s(Vl,"nextValue");var it=class extends ie{static{s(this,"EditorCropButtonControl")}_operation=void 0;initCallback(){super.initCallback(),this.defineAccessor("operation",e=>{e&&(this._operation=e,this.$.icon=e,this.bindL10n("title-prop",()=>this.l10n("a11y-cloud-editor-apply-crop",{name:this.l10n(e).toLowerCase()})))}),this.$["on.click"]=e=>{if(!this._operation)return;let t=this.$["*cropperEl"],r=t.getValue(this._operation),o=Vl(this._operation,r);this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{operation:this._operation,next:o,prev:r}),t.setValue(this._operation,o)}}};function He(i){let e=new Image;return{promise:new Promise((o,n)=>{e.src=i,e.onload=()=>o(),e.onerror=a=>n(a)}),image:e,cancel:s(()=>{e.naturalWidth===0&&(e.src=pe)},"cancel")}}s(He,"preloadImage");function Pt(i){let e=[];for(let n of i){let a=He(n);e.push(a)}let t=e.map(n=>n.image);return{promise:Promise.allSettled(e.map(n=>n.promise)),images:t,cancel:s(()=>{e.forEach(n=>{n.cancel()})},"cancel")}}s(Pt,"batchPreloadImages");var me="original",Ut=class extends b{static{s(this,"EditorSlider")}_operation="filter";_filter;_originalUrl="";constructor(){super(),this.init$={...this.init$,disabled:!1,min:0,max:100,value:0,defaultValue:0,zero:0,"on.input":s(e=>{this.$["*faderEl"]?.set(e),this.$.value=e},"on.input")}}setOperation(e,t){this._operation=e,this._filter=t,this._initializeValues();let r=this.$["*faderEl"],o=this._originalUrl||this.$["*originalUrl"];r&&o&&r.activate({url:o,operation:this._operation,value:this._filter===me?void 0:this.$.value,filter:this._filter===me?void 0:this._filter,fromViewer:!1})}_initializeValues(){let e=this._operation,{range:t,zero:r}=se[e],[o,n]=t;this.$.min=o,this.$.max=n,this.$.zero=r;let l=this.$["*editorTransformations"][e];if(e==="filter"){let d=Number(n),u=l;if(u){let{name:p,amount:h}=u;d=p===this._filter?h:n}this.$.value=d,this.$.defaultValue=d;return}let c=typeof l<"u"?l:r;this.$.value=c,this.$.defaultValue=c}apply(){let t={...this.$["*editorTransformations"]};this._operation==="filter"?!this._filter||this._filter===me?delete t.filter:t.filter={name:this._filter,amount:this.$.value}:t[this._operation]=this.$.value,this.$["*editorTransformations"]=t}cancel(){this.$["*faderEl"]?.deactivate({hide:!1})}initCallback(){super.initCallback(),this.sub("*originalUrl",e=>{this._originalUrl=e}),this.sub("value",e=>{let t=`${this._filter??this._operation} ${e}`;this.$["*operationTooltip"]=t})}};Ut.template=`<uc-slider-ui ref="slider-el" set="disabled: disabled; min: min; max: max; defaultValue: defaultValue; zero: zero; onInput: on.input;" ></uc-slider-ui>`;function rt(i){let e=i.match(/^([A-Za-z]+)\s+(\d+)$/);if(!e)return null;let[,t,r]=e;return!t||typeof r>"u"?null:{filter:t,value:Number(r)}}s(rt,"parseFilterValue");var je=class extends ie{static{s(this,"EditorFilterControl")}_operation="";_filter="";_originalUrl="";_observer;_cancelPreload;constructor(){super(),this.init$={...this.init$,active:!1,title:"",icon:"",isOriginal:!1,iconSize:"20","on.click":null}}_previewSrc(){let e=parseInt(window.getComputedStyle(this).getPropertyValue("--l-base-min-width"),10),t=window.devicePixelRatio,r=Math.ceil(t*e),o=t>=2?"lightest":"normal",n=100,a={...this.$["*editorTransformations"]};return a[this._operation]=this._filter!==me?{name:this._filter,amount:n}:void 0,D(this._originalUrl,j(ci,Ie(a),`quality/${o}`,`scale_crop/${r}x${r}/center`))}async _observerCallback(e,t){if(e[0]?.isIntersecting){let o=await this.proxyUrl(this._previewSrc()),n=this.ref["preview-el"],{promise:a,cancel:l}=He(o);this._cancelPreload=l,a.catch(c=>{this.$["*networkProblems"]=!0,console.error("Failed to load image",{error:c})}).finally(()=>{n.style.backgroundImage=`url(${o})`,n.setAttribute("loaded",""),t.unobserve(this)})}else this._cancelPreload?.()}initCallback(){super.initCallback(),this.$["on.click"]=t=>{if(this.$.active)this.$.isOriginal||(this.$["*sliderEl"].setOperation(this._operation,this._filter),this.$["*showSlider"]=!0);else{let r=this.$["*sliderEl"];r.setOperation(this._operation,this._filter),r.apply()}this.telemetryManager.sendEventCloudImageEditor(t,this.$["*tabId"],{operation:rt(this.$["*operationTooltip"])}),this.$["*currentFilter"]=this._filter},this.defineAccessor("filter",t=>{this._operation="filter",this._filter=t,this.$.isOriginal=t===me,this.$.icon=this.$.isOriginal?"original":"slider",this.bindL10n("title-prop",()=>this.l10n("a11y-cloud-editor-apply-filter",{name:t.toLowerCase()}))}),this._observer=new window.IntersectionObserver(this._observerCallback.bind(this),{threshold:[0,1]});let e=this.$["*originalUrl"];this._originalUrl=e,this.$.isOriginal?this.ref["icon-el"].classList.add("uc-original-icon"):this._observer.observe(this),this.sub("*currentFilter",t=>{this.$.active=t&&t===this._filter}),this.sub("isOriginal",t=>{this.$.iconSize=t?40:20}),this.sub("active",t=>{if(this.$.isOriginal)return;let r=this.ref["icon-el"];r.style.opacity=t?"1":"0";let o=this.ref["preview-el"];t?o.style.opacity="0":o.style.backgroundImage&&(o.style.opacity="1")}),this.sub("*networkProblems",async t=>{if(!t){let r=await this.proxyUrl(this._previewSrc()),o=this.ref["preview-el"];o.style.backgroundImage&&(o.style.backgroundImage="none",o.style.backgroundImage=`url(${r})`)}})}destroyCallback(){super.destroyCallback(),this._observer?.disconnect(),this._cancelPreload?.()}};je.template=`<button type="button" role="option" l10n="@title:title-prop;@aria-label:title-prop"><div class="uc-preview" ref="preview-el"></div><uc-icon ref="icon-el" set="@name: icon; @size: iconSize;"></uc-icon></button>`;var ot=s((i,e)=>{let t=!1,r,o=0,n=s(((...a)=>{t?(r&&clearTimeout(r),r=setTimeout(()=>{Date.now()-o>=e&&(i(...a),o=Date.now())},Math.max(e-(Date.now()-o),0))):(i(...a),o=Date.now(),t=!0)}),"throttled");return Object.defineProperty(n,"cancel",{configurable:!1,writable:!1,enumerable:!1,value:s(()=>{r&&clearTimeout(r)},"value")}),n},"throttle");function Vs(i,e){let t={};for(let r of e){let o=i[r];(Object.hasOwn(i,r)||o!==void 0)&&(t[r]=o)}return t}s(Vs,"pick");function st(i,e,t){let o=window.devicePixelRatio,n=Math.min(Math.ceil(e*o),3e3),a=o>=2?"lightest":"normal";return D(i,j(ci,Ie(t),`quality/${a}`,`stretch/off/-/resize/${n}x`,`@clib/${Te}/${xe}/uc-cloud-image-editor/`))}s(st,"viewerImageSrc");function Nl(i){return i?[({dimensions:t,coords:r})=>[...t,...r].every(o=>Number.isInteger(o)&&Number.isFinite(o)),({dimensions:t,coords:r})=>t.every(o=>o>0)&&r.every(o=>o>=0)].every(t=>t(i)):!0}s(Nl,"validateCrop");var $t=class extends b{static{s(this,"EditorImageCropper")}ctxOwner=!0;_commitDebounced;_handleResizeThrottled;_imageSize={width:0,height:0};_canvas;_ctx=null;_isActive=!1;_observer;_cancelPreload;constructor(){super(),this.init$={...this.init$,image:null,"*padding":20,"*operations":{rotate:0,mirror:!1,flip:!1},"*imageBox":{x:0,y:0,width:0,height:0},"*cropBox":{x:0,y:0,width:0,height:0}},this._commitDebounced=L(this._commit.bind(this),300),this._handleResizeThrottled=ot(this._handleResize.bind(this),100)}_handleResize(){!this.isConnected||!this._isActive||(this._initCanvas(),this._syncTransformations(),this._alignImage(),this._alignCrop(),this._draw())}_syncTransformations(){let e=this.$["*editorTransformations"],t=Vs(e,Object.keys(this.$["*operations"])),r={...this.$["*operations"],...t};this.$["*operations"]=r}_initCanvas(){let e=this.ref["canvas-el"],t=e.getContext("2d"),r=this.offsetWidth,o=this.offsetHeight,n=window.devicePixelRatio;e.style.width=`${r}px`,e.style.height=`${o}px`,e.width=r*n,e.height=o*n,t?.scale(n,n),this._canvas=e,this._ctx=t}_alignImage(){if(!this._isActive||!this.$.image)return;let e=this.$.image,t=this.$["*padding"],r=this.$["*operations"],{rotate:o}=r,n={width:this.offsetWidth,height:this.offsetHeight},a=Qe({width:e.naturalWidth,height:e.naturalHeight},o),l;if(a.width>n.width-t*2||a.height>n.height-t*2){let c=a.width/a.height,d=n.width/n.height;if(c>d){let u=n.width-t*2,p=u/c,h=0+t,f=t+(n.height-t*2)/2-p/2;l={x:h,y:f,width:u,height:p}}else{let u=n.height-t*2,p=u*c,h=t+(n.width-t*2)/2-p/2,f=0+t;l={x:h,y:f,width:p,height:u}}}else{let{width:c,height:d}=a,u=t+(n.width-t*2)/2-c/2,p=t+(n.height-t*2)/2-d/2;l={x:u,y:p,width:c,height:d}}this.$["*imageBox"]=Je(l)}_alignCrop(){let e=this.$["*cropBox"],t=this.$["*imageBox"],r=this.$["*operations"],{rotate:o}=r,n=this.$["*editorTransformations"].crop,{width:a,x:l,y:c}=t;if(n){let{dimensions:[p,h],coords:[f,m]}=n,{width:v}=Qe(this._imageSize,o),y=a/v;e=Ye(Je({x:l+f*y,y:c+m*y,width:p*y,height:h*y}),t)}let d=this.$["*currentAspectRatio"],u=d?d.width/d.height:void 0;if(!ds(e,t)||u&&!us(e,u)){let p=t.width/t.height,h=t.width,f=t.height;u&&(p>u?h=Math.min(t.height*u,t.width):f=Math.min(t.width/u,t.height)),e={x:t.x+t.width/2-h/2,y:t.y+t.height/2-f/2,width:h,height:f}}this.$["*cropBox"]=Ye(Je(e),t)}_drawImage(){let e=this._ctx;if(!e)return;let t=this.$.image,r=this.$["*imageBox"],o=this.$["*operations"],{mirror:n,flip:a,rotate:l}=o,c=Qe({width:r.width,height:r.height},l);e.save(),e.translate(r.x+r.width/2,r.y+r.height/2),e.rotate(l*Math.PI*-1/180),e.scale(n?-1:1,a?-1:1),e.drawImage(t,-c.width/2,-c.height/2,c.width,c.height),e.restore()}_draw(){if(!this._isActive||!this.$.image||!this._canvas||!this._ctx)return;let e=this._canvas;this._ctx.clearRect(0,0,e.width,e.height),this._drawImage()}_animateIn({fromViewer:e}){this.$.image&&(this.ref["frame-el"].toggleThumbs(!0),this._transitionToImage(),setTimeout(()=>{this.className=B({"uc-active_from_viewer":e,"uc-active_from_editor":!e,"uc-inactive_to_editor":!1})}))}_getCropDimensions(){let e=this.$["*cropBox"],t=this.$["*imageBox"],r=this.$["*operations"],{rotate:o}=r,{width:n,height:a}=t,{width:l,height:c}=Qe(this._imageSize,o),{width:d,height:u}=e,p=n/l,h=a/c;return[Pe(Math.round(d/p),1,l),Pe(Math.round(u/h),1,c)]}_getCropTransformation(){let e=this.$["*cropBox"],t=this.$["*imageBox"],r=this.$["*operations"],{rotate:o}=r,{width:n,height:a,x:l,y:c}=t,{width:d,height:u}=Qe(this._imageSize,o),{x:p,y:h}=e,f=n/d,m=a/u,v=this._getCropDimensions(),y={dimensions:v,coords:[Pe(Math.round((p-l)/f),0,d-v[0]),Pe(Math.round((h-c)/m),0,u-v[1])]};if(!Nl(y)){console.error("Cropper is trying to create invalid crop object",{payload:y});return}if(!(v[0]===d&&v[1]===u))return y}_commit(){if(!this.isConnected||!this._imageSize)return;let e=this.$["*operations"],{rotate:t,mirror:r,flip:o}=e,n=this._getCropTransformation(),l={...this.$["*editorTransformations"],crop:n,rotate:t,mirror:r,flip:o};this.$["*editorTransformations"]=l}setValue(e,t){this.$["*operations"]={...this.$["*operations"],[e]:t},this._isActive&&(this._alignImage(),this._alignCrop(),this._draw())}getValue(e){return this.$["*operations"][e]}async activate(e,{fromViewer:t}={}){if(!this._isActive){this._isActive=!0,this._imageSize=e,this.removeEventListener("transitionend",this._reset);try{let r=this.$["*originalUrl"],o=this.$["*editorTransformations"];this.$.image=await this._waitForImage(r,o),this._syncTransformations(),this._animateIn({fromViewer:t})}catch(r){console.error("Failed to activate cropper",{error:r}),this.telemetryManager.sendEventError(r,"cloud editor image. Failed to activate cropper")}this._observer=new ResizeObserver(r=>{let[o]=r;if(!o)return;o.contentRect.width>0&&o.contentRect.height>0&&this._isActive&&this.$.image&&this._handleResizeThrottled()}),this._observer.observe(this)}}deactivate({reset:e=!1}={}){this._isActive&&(!e&&this._commit(),this._isActive=!1,this._transitionToCrop(),this.className=B({"uc-active_from_viewer":!1,"uc-active_from_editor":!1,"uc-inactive_to_editor":!0}),this.ref["frame-el"].toggleThumbs(!1),this.addEventListener("transitionend",this._reset,{once:!0}),this._observer?.disconnect())}_transitionToCrop(){let e=this._getCropDimensions(),t=this.$["*cropBox"],r=Math.min(this.offsetWidth,e[0])/t.width,o=Math.min(this.offsetHeight,e[1])/t.height,n=Math.min(r,o),a=t.x+t.width/2,l=t.y+t.height/2;this.style.transform=`scale(${n}) translate(${(this.offsetWidth/2-a)/n}px, ${(this.offsetHeight/2-l)/n}px)`,this.style.transformOrigin=`${a}px ${l}px`}_transitionToImage(){let e=this.$["*cropBox"],t=e.x+e.width/2,r=e.y+e.height/2;this.style.transform="scale(1)",this.style.transformOrigin=`${t}px ${r}px`}_reset(){this._isActive||(this.$.image=null)}async _waitForImage(e,t){let r=this.offsetWidth;t={...t,crop:void 0,rotate:void 0,flip:void 0,mirror:void 0};let o=await this.proxyUrl(st(e,r,t)),{promise:n,cancel:a,image:l}=He(o),c=this._handleImageLoading(o);return l.addEventListener("load",c,{once:!0}),l.addEventListener("error",c,{once:!0}),this._cancelPreload?.(),this._cancelPreload=a,n.then(()=>l).catch(d=>(console.error("Failed to load image",{error:d}),this.$["*networkProblems"]=!0,l))}_handleImageLoading(e){let t="crop",r=this.$["*loadingOperations"],o=r.get(t);return o||(o=new Map,r.set(t,o)),o.get(e)||(o.set(e,!0),this.$["*loadingOperations"]=r),()=>{let n=r.get(t);n?.has(e)&&(n.delete(e),this.$["*loadingOperations"]=r)}}initCallback(){super.initCallback(),this.sub("*imageBox",()=>{this._draw()}),this.sub("*cropBox",()=>{this.$.image&&this._commitDebounced()}),this.sub("*currentAspectRatio",()=>{this._alignCrop()}),setTimeout(()=>{this.sub("*networkProblems",e=>{e||this._isActive&&this.activate(this._imageSize,{fromViewer:!1})})},0)}destroyCallback(){super.destroyCallback(),this._observer?.disconnect()}};$t.template=`<canvas class="uc-canvas" ref="canvas-el"></canvas><uc-crop-frame ref="frame-el"></uc-crop-frame>`;function Gr(i,e,t){let r=t,o=t-1,n=new Array(r);for(let a=o;a>=0;a-=1)n[a]=Math.ceil((a*e+(o-a)*i)/o);return n}s(Gr,"linspace");function Bl(i){return typeof i=="string"&&i in se}s(Bl,"isOperationKey");function zl(i){let e=[];for(let t=0;t<i.length-1;t+=1){let r=i[t],o=i[t+1];typeof r=="number"&&typeof o=="number"&&e.push([r,o])}return e}s(zl,"splitBySections");function Hl(i,e,t){let r=zl(i).find(([a,l])=>a<=e&&e<=l);if(!r)return i.map(()=>0);let[o,n]=r;return i.map(a=>{let l=Math.abs(o-n)||1,c=Math.abs(e-o)/l;return o===a?e>t?1:1-c:n===a?e>=t?c:1:0})}s(Hl,"calculateOpacities");function jl(i,e){return i.map((t,r)=>t<e?i.length-r:r)}s(jl,"calculateZIndices");function Ns(i,e){let t=se[i].keypointsNumber,{range:r,zero:o}=se[i];return[...new Set([...Gr(r[0],o,t+1),...Gr(o,r[1],t+1),o,e])].sort((n,a)=>n-a)}s(Ns,"keypointsRange");var $i=class extends b{static{s(this,"EditorImageFader")}_isActive=!1;_hidden=!0;_operation="initial";_filter;_value;_transformations={};_keypoints=[];_container;_previewImage;_cancelLastImages;_cancelBatchPreload;_url;_fromViewer;_raf=0;_addKeypointDebounced=L(this._addKeypoint.bind(this),600);constructor(){super(),this.classList.add("uc-inactive_to_cropper")}_handleImageLoading(e){let t=this._operation,r=this.$["*loadingOperations"];r.has(t)||r.set(t,new Map);let o=r.get(t);return o&&!o.get(e)&&(o.set(e,!0),this.$["*loadingOperations"]=r),()=>{let n=r.get(t);n?.has(e)&&(n.delete(e),this.$["*loadingOperations"]=r)}}_flush(){window.cancelAnimationFrame(this._raf),this._raf=window.requestAnimationFrame(()=>{for(let e of this._keypoints){let{image:t}=e;t&&(t.style.opacity=e.opacity.toString(),t.style.zIndex=e.zIndex.toString())}})}_imageSrc({url:e=this._url,filter:t=this._filter??void 0,operation:r,value:o}={}){if(!e)throw new Error("URL is not defined");let n={...this._transformations};r&&(r==="filter"?t&&typeof o=="number"&&(n.filter={name:t,amount:o}):typeof o=="number"&&(n[r]=o));let a=this.offsetWidth;return this.proxyUrl(st(e,a,n))}async _constructKeypoint(e,t){return{src:await this._imageSrc({operation:e,value:t}),image:void 0,opacity:0,zIndex:0,value:t}}_isSame(e,t){return this._operation===e&&this._filter===t}async _addKeypoint(e,t,r){let o=s(()=>!this._isSame(e,t)||this._value!==r||!!this._keypoints.find(c=>c.value===r),"shouldSkip");if(o())return;let n=await this._constructKeypoint(e,r),a=new Image;a.src=n.src;let l=this._handleImageLoading(n.src);a.addEventListener("load",l,{once:!0}),a.addEventListener("error",l,{once:!0}),n.image=a,a.classList.add("uc-fader-image"),a.addEventListener("load",()=>{if(o())return;let c=this._keypoints,d=c.findIndex(f=>f.value>r);d===-1&&(d=c.length);let p=c[d]?.image,h=this._container;!h||p&&!h.contains(p)||(c.splice(d,0,n),p&&h.insertBefore(a,p),this._update(e,r))},{once:!0}),a.addEventListener("error",()=>{this.$["*networkProblems"]=!0},{once:!0})}set(e){let t=typeof e=="string"?parseInt(e,10):e;!Bl(this._operation)||!Number.isFinite(t)||(this._update(this._operation,t),this._addKeypointDebounced(this._operation,this._filter,t))}_update(e,t){this._operation=e,this._value=t;let{zero:r}=se[e],o=this._keypoints.map(l=>l.value),n=Hl(o,t,r),a=jl(o,r);this._keypoints.forEach((l,c)=>{let d=n[c],u=a[c];typeof d=="number"&&(l.opacity=d),typeof u=="number"&&(l.zIndex=u)}),this._flush()}_createPreviewImage(){let e=new Image;return e.classList.add("uc-fader-image","uc-fader-image--preview"),e.style.opacity="0",e}async _initNodes(){let e=document.createDocumentFragment();this._previewImage=this._previewImage||this._createPreviewImage();let t=this._previewImage;this.contains(t)||e.appendChild(t);let r=document.createElement("div");e.appendChild(r);let o=this._keypoints.map(u=>u.src),{images:n,promise:a,cancel:l}=Pt(o);n.forEach(u=>{let p=this._handleImageLoading(u.src);u.addEventListener("load",p),u.addEventListener("error",p)}),this._cancelLastImages=()=>{l(),this._cancelLastImages=void 0};let c=this._operation,d=this._filter;await a,this._isActive&&this._isSame(c,d)&&(this._container?.remove(),this._container=r,this._keypoints.forEach((u,p)=>{let h=n[p];h&&(h.classList.add("uc-fader-image"),u.image=h,this._container?.appendChild(h))}),this.appendChild(e),this._flush())}async setTransformations(e){if(this._transformations=e,this._previewImage){let t=await this._imageSrc(),r=this._handleImageLoading(t);this._previewImage.src=t,this._previewImage.addEventListener("load",r,{once:!0}),this._previewImage.addEventListener("error",r,{once:!0}),this._previewImage.style.opacity="1",this._previewImage.addEventListener("error",()=>{this.$["*networkProblems"]=!0},{once:!0})}}async preload({url:e,filter:t,operation:r,value:o}){if(!r||typeof o!="number")return;this._cancelBatchPreload?.();let n=Ns(r,o),a=await Promise.all(n.map(c=>this._imageSrc({url:e,filter:t,operation:r,value:c}))),{cancel:l}=Pt(a);this._cancelBatchPreload=l}_setOriginalSrc(e){let t=this._previewImage||this._createPreviewImage();if(this.contains(t)||this.appendChild(t),this._previewImage=t,t.src===e){t.style.opacity="1",t.style.transform="scale(1)",this.className=B({"uc-active_from_viewer":this._fromViewer,"uc-active_from_cropper":!this._fromViewer,"uc-inactive_to_cropper":!1});return}t.style.opacity="0";let r=this._handleImageLoading(e);t.addEventListener("error",r,{once:!0}),t.src=e,t.addEventListener("load",()=>{r(),t&&(t.style.opacity="1",t.style.transform="scale(1)",this.className=B({"uc-active_from_viewer":this._fromViewer,"uc-active_from_cropper":!this._fromViewer,"uc-inactive_to_cropper":!1}))},{once:!0}),t.addEventListener("error",()=>{this.$["*networkProblems"]=!0},{once:!0})}async activate({url:e,operation:t,value:r,filter:o,fromViewer:n}){if(this._isActive=!0,this._hidden=!1,this._url=e,this._operation=t??"initial",this._value=r,this._filter=o,this._fromViewer=n,typeof r!="number"&&!o){let l=await this._imageSrc({operation:t,value:r});this._setOriginalSrc(l),this._container?.remove();return}!t||typeof r!="number"||(this._keypoints=await Promise.all(Ns(t,r).map(l=>this._constructKeypoint(t,l))),this._update(t,r),this._initNodes())}deactivate({hide:e=!0}={}){this._isActive=!1,this._cancelLastImages?.(),this._cancelBatchPreload?.(),e&&!this._hidden?(this._hidden=!0,this._previewImage&&(this._previewImage.style.transform="scale(1)"),this.className=B({"uc-active_from_viewer":!1,"uc-active_from_cropper":!1,"uc-inactive_to_cropper":!0}),this.addEventListener("transitionend",()=>{this._container?.remove()},{once:!0})):this._container?.remove()}};var nt=class extends ie{static{s(this,"EditorOperationControl")}_operation="";initCallback(){super.initCallback(),this.$["on.click"]=e=>{this.$["*sliderEl"].setOperation(this._operation),this.$["*showSlider"]=!0,this.$["*currentOperation"]=this._operation,this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{operation:rt(this.$["*operationTooltip"])})},this.defineAccessor("operation",e=>{e&&(this._operation=e,this.$.icon=e,this.bindL10n("title-prop",()=>this.l10n("a11y-cloud-editor-apply-tuning",{name:this.l10n(e).toLowerCase()})),this.bindL10n("title",()=>this.l10n(e)))}),this.sub("*editorTransformations",e=>{if(!this._operation)return;let{zero:t}=se[this._operation],r=e[this._operation],o=typeof r<"u"?r!==t:!1;this.$.active=o})}};var Kl=1,Dt=class extends b{static{s(this,"EditorScroller")}initCallback(){super.initCallback(),this.addEventListener("wheel",e=>{e.preventDefault();let{deltaY:t,deltaX:r}=e;Math.abs(r)>Kl?this.scrollLeft+=r:this.scrollLeft+=t},{passive:!1}),this.addEventListener("scroll",()=>{},{passive:!0})}};Dt.template=" <slot></slot> ";function Gl(i){return`<uc-presence-toggle class="uc-tab-toggle" set="visible: presence.tabToggle.${i}; styles: presence.tabToggleStyles;" ><uc-btn-ui theme="tab" ref="tab-toggle-${i}" data-id="${i}" icon="${i}" set="onclick: on.clickTab; aria-role:tab_role; aria-controls:tab_${i}; title-prop: a11y-editor-tab-${i}" ></uc-btn-ui></uc-presence-toggle>`}s(Gl,"renderTabToggle");function Wl(i){return`<uc-presence-toggle id="tab_${i}" class="uc-tab-content" set="visible: presence.tabContent.${i}; styles: presence.tabContentStyles" ><uc-editor-scroller hidden-scrollbar><div class="uc-controls-list_align"><div role="listbox" aria-orientation="horizontal" class="uc-controls-list_inner" ref="controls-list-${i}" ></div></div></uc-editor-scroller></uc-presence-toggle>`}s(Wl,"renderTabContent");var Ft=class extends b{static{s(this,"EditorToolbar")}_debouncedShowLoader;_cancelPreload;_updateInfoTooltip;constructor(){super(),this.init$={...this.init$,"*sliderEl":null,"*listAspectRatioEl":null,"*loadingOperations":new Map,"*showSlider":!1,"*showListAspectRatio":!1,hideSliderOrList:!1,"*currentFilter":me,"*currentOperation":null,showLoader:!1,filters:Co,colorOperations:wo,cropOperations:Eo,"*operationTooltip":null,"presence.mainToolbar":!0,"presence.subToolbar":!1,"presence.tabToggles":!0,"presence.tabContent.crop":!1,"presence.tabContent.tuning":!1,"presence.tabContent.filters":!1,"presence.tabToggle.crop":!0,"presence.tabToggle.tuning":!0,"presence.tabToggle.filters":!0,"presence.subTopToolbarStyles":{hidden:"uc-sub-toolbar--top-hidden",visible:"uc-sub-toolbar--visible"},"presence.subBottomToolbarStyles":{hidden:"uc-sub-toolbar--bottom-hidden",visible:"uc-sub-toolbar--visible"},"presence.tabContentStyles":{hidden:"uc-tab-content--hidden",visible:"uc-tab-content--visible"},"presence.tabToggleStyles":{hidden:"uc-tab-toggle--hidden",visible:"uc-tab-toggle--visible"},"presence.tabTogglesStyles":{hidden:"uc-tab-toggles--hidden",visible:"uc-tab-toggles--visible"},"on.cancel":s(e=>{this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{action:"cancel"}),this._cancelPreload?.();let t=this.$["*on.cancel"];t()},"on.cancel"),"on.apply":s(e=>{this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{action:"apply"});let t=this.$["*on.apply"];t(this.$["*editorTransformations"])},"on.apply"),"on.applySlider":s(e=>{this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{action:"apply-slider",operation:rt(this.$["*operationTooltip"])}),this.ref["slider-el"].apply(),this._onSliderClose()},"on.applySlider"),"on.cancelSlider":s(e=>{this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{action:"cancel-slider"}),this.ref["slider-el"].cancel(),this._onSliderClose()},"on.cancelSlider"),"on.clickTab":s(e=>{let r=e.currentTarget?.getAttribute("data-id");r&&(this.telemetryManager.sendEventCloudImageEditor(e,r),this._activateTab(r,{fromViewer:!1}))},"on.clickTab"),tab_role:"tab",[`tab_${R.TUNING}`]:`tab_${R.TUNING}`,[`tab_${R.CROP}`]:`tab_${R.CROP}`,[`tab_${R.FILTERS}`]:`tab_${R.FILTERS}`,cancel:"cancel",apply:"apply","a11y-editor-tab-filters":"a11y-editor-tab-filters","a11y-editor-tab-tuning":"a11y-editor-tab-tuning","a11y-editor-tab-crop":"a11y-editor-tab-crop"},this._debouncedShowLoader=L(this._showLoader.bind(this),500),this._updateInfoTooltip=L(this._updateInfoTooltipHandler.bind(this),0)}_onSliderClose(){this.$["*showSlider"]=!1,this.$["*tabId"]===R.CROP&&(this.$["*showListAspectRatio"]=!1),this.$["*tabId"]===R.TUNING&&this.ref["tooltip-el"].classList.toggle("uc-info-tooltip_visible",!1)}_createOperationControl(e){let t=new nt;return t.operation=e,t}_createFilterControl(e){let t=new je;return t.filter=e,t}_createToggleControl(e){let t=new it;return t.operation=e,t}_createAspectRatioControl(e){let t=new tt;return t.aspectRatio=e,t}_createFreeformControl(){return new ze}_clearListAspectRatio(){let e=this.$["*listAspectRatioEl"];e&&(e.innerHTML="")}_renderControlsList(e){let t=this.ref[`controls-list-${e}`],r=document.createDocumentFragment();if(this._clearListAspectRatio(),e===R.CROP){let o=this.$["*cropPresetList"],n=o.length>=3;if(n){let a=this._createFreeformControl();r.appendChild(a)}for(let a of o){let l=this._createAspectRatioControl(a);r.appendChild(l),n&&this.$["*listAspectRatioEl"]?.appendChild(l)}for(let a of this.$.cropOperations){let l=this._createToggleControl(a);r.appendChild(l)}}else if(e===R.FILTERS){let o=this.$.filters;[me,...o].forEach(n=>{let a=this._createFilterControl(n);r.appendChild(a)})}else if(e===R.TUNING)for(let o of this.$.colorOperations){let n=this._createOperationControl(o);r.appendChild(n)}[...r.children].forEach((o,n)=>{n===r.childNodes.length-1&&o.classList.add("uc-controls-list_last-item")}),t.innerHTML="",t.appendChild(r)}_activateTab(e,{fromViewer:t}={}){this.$["*tabId"]=e;let r=this.$["*faderEl"],o=this.$["*cropperEl"];e===R.CROP?(r?.deactivate(),o?.activate(this.$["*imageSize"],{fromViewer:t})):(r?.activate({url:this.$["*originalUrl"],fromViewer:t}),o?.deactivate());for(let n of Z){let a=n===e,l=this.ref[`tab-toggle-${n}`];l.active=a,a?(this._renderControlsList(e),this._syncTabIndicator()):this._unmountTabControls(n),this.$[`presence.tabContent.${n}`]=a}}_unmountTabControls(e){let t=this.ref[`controls-list-${e}`];t&&(t.innerHTML="")}_syncTabIndicator(){let e=this.ref[`tab-toggle-${this.$["*tabId"]}`],t=this.ref["tabs-indicator"];t.style.transform=`translateX(${e.offsetLeft}px)`}async _preloadEditedImage(){if(this.$["*imgContainerEl"]&&this.$["*originalUrl"]){let e=this.$["*imgContainerEl"].offsetWidth,t=await this.proxyUrl(st(this.$["*originalUrl"],e,this.$["*editorTransformations"]));this._cancelPreload?.();let{cancel:r}=Pt([t]);this._cancelPreload=()=>{r(),this._cancelPreload=void 0}}}_showLoader(e){this.$.showLoader=e}_updateInfoTooltipHandler(){let e=this.$["*editorTransformations"],t=this.$["*currentOperation"],r="",o=!1;if(this.$["*tabId"]===R.FILTERS)if(o=!0,this.$["*currentFilter"]&&e?.filter?.name===this.$["*currentFilter"]){let n=e?.filter?.amount||100;r=`${this.$["*currentFilter"]} ${n}`}else r=this.l10n(me);else if(this.$["*tabId"]===R.TUNING&&t){o=!0;let n=e?.[t]||se[t].zero;r=`${this.l10n(t)} ${n}`}o&&(this.$["*operationTooltip"]=r),this.ref["tooltip-el"].classList.toggle("uc-info-tooltip_visible",o)}initCallback(){super.initCallback(),this.$["*sliderEl"]=this.ref["slider-el"],this.$["*listAspectRatioEl"]=this.ref["list-el"],this.sub("*imageSize",e=>{e&&setTimeout(()=>{this._activateTab(this.$["*tabId"],{fromViewer:!0})},0)}),this.sub("*editorTransformations",e=>{let t=e?.filter?.name;this.$["*currentFilter"]!==t&&(this.$["*currentFilter"]=t)}),this.sub("*currentFilter",()=>{this._updateInfoTooltip()}),this.sub("*currentOperation",()=>{this._updateInfoTooltip()}),this.sub("*tabId",()=>{this._updateInfoTooltip()}),this.sub("*originalUrl",()=>{this.$["*faderEl"]?.deactivate()}),this.sub("*editorTransformations",e=>{this._preloadEditedImage(),this.$["*faderEl"]?.setTransformations(e)}),this.sub("*loadingOperations",e=>{let t=!1;for(let[,r]of e.entries()){if(t)break;for(let[,o]of r.entries())if(o){t=!0;break}}this._debouncedShowLoader(t)}),this.sub("*showSlider",e=>{this.$["presence.subToolbar"]=e,this.$["presence.mainToolbar"]=!e,this.$.hideSliderOrList=!0}),this.sub("*showListAspectRatio",e=>{this.$["presence.subToolbar"]=e,this.$["presence.mainToolbar"]=!e,this.$.hideSliderOrList=!1}),this.sub("*tabList",e=>{this.$["presence.tabToggles"]=e.length>1;for(let t of Z){this.$[`presence.tabToggle.${t}`]=e.includes(t);let r=this.ref[`tab-toggle-${t}`];r.style.gridColumn=`${e.indexOf(t)+1}`}if(!e.includes(this.$["*tabId"])&&e.length>0){let[t]=e;t&&this._activateTab(t,{fromViewer:!1})}}),this._updateInfoTooltip()}destroyCallback(){this.$["*showSlider"]=!1,this.$["*showListAspectRatio"]=!1}};Ft.template=`<uc-line-loader-ui set="active: showLoader"></uc-line-loader-ui><div class="uc-info-tooltip_container"><div class="uc-info-tooltip_wrapper"><div ref="tooltip-el" class="uc-info-tooltip uc-info-tooltip_hidden">{{*operationTooltip}}</div></div></div><div class="uc-toolbar-container"><uc-presence-toggle role="tablist" class="uc-sub-toolbar" set="visible: presence.mainToolbar; styles: presence.subTopToolbarStyles" ><div class="uc-tab-content-row">${Z.map(Wl).join("")}</div><div class="uc-controls-row"><uc-presence-toggle class="uc-tab-toggles" set="visible: presence.tabToggles; styles: presence.tabTogglesStyles" ><div ref="tabs-indicator" class="uc-tab-toggles_indicator"></div> ${Z.map(Gl).join("")} </uc-presence-toggle><uc-btn-ui style="order: -1" theme="secondary-icon" icon="closeMax" set="onclick: on.cancel; title-prop:cancel"></uc-btn-ui><uc-btn-ui theme="primary-icon" icon="done" set="onclick: on.apply; title-prop:apply"></uc-btn-ui></div></uc-presence-toggle><uc-presence-toggle class="uc-sub-toolbar" set="visible: presence.subToolbar; styles: presence.subBottomToolbarStyles" ><div class="uc-slider" set="@hidden:!hideSliderOrList"><uc-editor-slider ref="slider-el"></uc-editor-slider></div><div set="@hidden:hideSliderOrList" class="uc-list-aspect-ratio-container"><div class="uc-list-aspect-ratio" ref="list-el"></div></div><div class="uc-controls-row"><uc-btn-ui theme="secondary" set="onclick: on.cancelSlider" l10n="@text:cancel"></uc-btn-ui><uc-btn-ui theme="primary" set="onclick: on.applySlider" l10n="@text:apply"></uc-btn-ui></div></uc-presence-toggle></div>`;var at=class extends b{static{s(this,"BtnUi")}_iconReversed=!1;_iconSingle=!1;_iconHidden=!1;constructor(){super(),this.init$={...this.init$,text:"",icon:"",iconCss:this._iconCss(),theme:null,"aria-role":"","aria-controls":"","title-prop":""},this.defineAccessor("active",e=>{e?this.setAttribute("active",""):this.removeAttribute("active")})}_iconCss(){return B("uc-icon",{"uc-icon_left":!this._iconReversed,"uc-icon_right":this._iconReversed,"uc-icon_hidden":this._iconHidden,"uc-icon_single":this._iconSingle})}initCallback(){super.initCallback(),this.sub("icon",e=>{this._iconSingle=!this.$.text,this._iconHidden=!e,this.$.iconCss=this._iconCss()}),this.sub("theme",e=>{e&&e!=="custom"&&(this.className=`uc-${e}`)}),this.sub("text",()=>{this._iconSingle=!1}),this.hasAttribute("theme")||this.setAttribute("theme","default"),this.defineAccessor("aria-role",e=>{this.$["aria-role"]=e||""}),this.defineAccessor("aria-controls",e=>{this.$["aria-controls"]=e||""}),this.defineAccessor("title-prop",e=>{this.$["title-prop"]=e||""})}set reverse(e){this.hasAttribute("reverse")?(this.style.flexDirection="row-reverse",this._iconReversed=!0):(this._iconReversed=!1,this.style.flexDirection="")}};at.bindAttributes({text:"text",icon:"icon",reverse:"reverse",theme:"theme"});at.template=`<button type="button" set="@role:aria-role; @aria-controls: aria-controls; @aria-label:title-prop" l10n="@title:title-prop;" ><uc-icon set="className: iconCss; @name: icon; @hidden: !icon"></uc-icon><div class="uc-text">{{text}}</div></button>`;var Vt=class extends b{static{s(this,"LineLoaderUi")}_active=!1;_handleTransitionEndRight=s(()=>{let e=this.ref["line-el"];e.style.transition="initial",e.style.opacity="0",e.style.transform="translateX(-101%)",this._active&&this._start()},"_handleTransitionEndRight");initCallback(){super.initCallback(),this.defineAccessor("active",e=>{typeof e=="boolean"&&(e?this._start():this._stop())})}_start(){this._active=!0;let{width:e}=this.getBoundingClientRect(),t=this.ref["line-el"];t.style.transition="transform 1s",t.style.opacity="1",t.style.transform=`translateX(${e}px)`,t.addEventListener("transitionend",this._handleTransitionEndRight,{once:!0})}_stop(){this._active=!1}};Vt.template=`<div class="uc-inner"><div class="uc-line" ref="line-el"></div></div>`;var lt={transition:"uc-transition",visible:"uc-visible",hidden:"uc-hidden"},Nt=class extends b{static{s(this,"PresenceToggle")}_visible=!1;_visibleStyle=lt.visible;_hiddenStyle=lt.hidden;_externalTransitions=!1;constructor(){super(),this.defineAccessor("styles",e=>{e&&(this._externalTransitions=!0,this._visibleStyle=e.visible??lt.visible,this._hiddenStyle=e.hidden??lt.hidden)}),this.defineAccessor("visible",e=>{typeof e=="boolean"&&(this._visible=e,this._handleVisible())})}_handleVisible(){this.style.visibility=this._visible?"inherit":"hidden",Rs(this,{[lt.transition]:!this._externalTransitions,[this._visibleStyle]:this._visible,[this._hiddenStyle]:!this._visible}),this.setAttribute("aria-hidden",this._visible?"false":"true")}initCallback(){super.initCallback(),this.classList.toggle("uc-initial",!0),this._externalTransitions||this.classList.add(lt.transition),this._handleVisible(),setTimeout(()=>{this.classList.toggle("uc-initial",!1)},0)}};Nt.template="<slot></slot> ";var Bt=class extends b{static{s(this,"SliderUi")}_observer;_thumbSize=0;_zero=0;_zeroDotEl;_stepsCount;constructor(){super(),this.init$={...this.init$,disabled:!1,min:0,max:100,onInput:null,onChange:null,defaultValue:0,"on.sliderInput":s(()=>{let e=Number.parseInt(this._inputEl().value,10);this._updateValue(e),this.$.onInput?.(e)},"on.sliderInput"),"on.sliderChange":s(()=>{let e=Number.parseInt(this._inputEl().value,10);this.$.onChange?.(e)},"on.sliderChange")},this.setAttribute("with-effects","")}initCallback(){super.initCallback(),this.defineAccessor("disabled",t=>{this.$.disabled=t}),this.defineAccessor("min",t=>{this.$.min=t}),this.defineAccessor("max",t=>{this.$.max=t}),this.defineAccessor("defaultValue",t=>{this.$.defaultValue=t;let r=this._inputEl();r.value=String(t),this._updateValue(t)}),this.defineAccessor("zero",t=>{this._zero=t}),this.defineAccessor("onInput",t=>{t&&(this.$.onInput=t)}),this.defineAccessor("onChange",t=>{t&&(this.$.onChange=t)}),this._updateSteps(),this._observer=new ResizeObserver(()=>{this._updateSteps();let t=Number.parseInt(this._inputEl().value,10);this._updateValue(t)}),this._observer.observe(this),this._thumbSize=Number.parseInt(window.getComputedStyle(this).getPropertyValue("--l-thumb-size"),10),setTimeout(()=>{let t=Number.parseInt(this._inputEl().value,10);this._updateValue(t)},0),this.sub("disabled",t=>{let r=this._inputEl();t?r.setAttribute("disabled","disabled"):r.removeAttribute("disabled")});let e=this._inputEl();e.addEventListener("focus",()=>{this.style.setProperty("--color-effect","var(--hover-color-rgb)")}),e.addEventListener("blur",()=>{this.style.setProperty("--color-effect","var(--idle-color-rgb)")})}_inputEl(){return this.ref["input-el"]}_thumbEl(){return this.ref["thumb-el"]}_stepsEl(){return this.ref["steps-el"]}_updateValue(e){this._updateZeroDot(e);let{width:t}=this.getBoundingClientRect(),n=100/(this.$.max-this.$.min)*(e-this.$.min)*(t-this._thumbSize)/100;window.requestAnimationFrame(()=>{this._thumbEl().style.transform=`translateX(${n}px)`})}_updateZeroDot(e){if(!this._zeroDotEl)return;this._zeroDotEl.style.opacity=e===this._zero?"0":"1";let{width:t}=this.getBoundingClientRect(),n=100/(this.$.max-this.$.min)*(this._zero-this.$.min)*(t-this._thumbSize)/100;window.requestAnimationFrame(()=>{this._zeroDotEl&&(this._zeroDotEl.style.transform=`translateX(${n}px)`)})}_updateSteps(){let t=this._stepsEl(),{width:r}=t.getBoundingClientRect(),o=Math.ceil(r/2),n=Math.ceil(o/15)-2;if(this._stepsCount===n)return;let a=document.createDocumentFragment(),l=document.createElement("div"),c=document.createElement("div");l.className="uc-minor-step",c.className="uc-border-step",a.appendChild(c);for(let u=0;u<n;u+=1)a.appendChild(l.cloneNode());a.appendChild(c.cloneNode());for(let u=0;u<n;u+=1)a.appendChild(l.cloneNode());a.appendChild(c.cloneNode());let d=document.createElement("div");d.className="uc-zero-dot",a.appendChild(d),this._zeroDotEl=d,t.innerHTML="",t.appendChild(a),this._stepsCount=n}destroyCallback(){super.destroyCallback(),this._observer?.disconnect()}};Bt.template=`<div class="uc-steps" ref="steps-el"></div><div ref="thumb-el" class="uc-thumb"></div><input class="uc-input" type="range" ref="input-el" set="oninput: on.sliderInput; onchange: on.sliderChange; @min: min; @max: max; @value: defaultValue;" />`;var Di=class extends M{static{s(this,"CloudImageEditorActivity")}couldBeCtxOwner=!0;activityType=g.activities.CLOUD_IMG_EDIT;_entry;_instance;get activityParams(){let e=super.activityParams;if("internalId"in e)return e;throw new Error("Cloud Image Editor activity params not found")}initCallback(){super.initCallback(),this.registerActivity(this.activityType,{onActivate:s(()=>this.mountEditor(),"onActivate"),onDeactivate:s(()=>this.unmountEditor(),"onDeactivate")}),this.subConfigValue("cropPreset",e=>{this._instance&&this._instance.getAttribute("crop-preset")!==e&&this._instance.setAttribute("crop-preset",e)}),this.subConfigValue("cloudImageEditorTabs",e=>{this._instance&&this._instance.getAttribute("tabs")!==e&&this._instance.setAttribute("tabs",e)})}handleApply(e){if(!this._entry)return;let t=e.detail;this._entry.setMultipleValues({cdnUrl:t.cdnUrl,cdnUrlModifiers:t.cdnUrlModifiers}),this.modalManager?.close(g.activities.CLOUD_IMG_EDIT),this.historyBack()}handleCancel(){this.modalManager?.close(g.activities.CLOUD_IMG_EDIT),this.historyBack()}mountEditor(){let{internalId:e}=this.activityParams,t=this.uploadCollection.read(e);if(!t)throw new Error(`Entry with internalId "${e}" not found`);this._entry=t;let r=this._entry.getValue("cdnUrl");if(!r)throw new Error(`Entry with internalId "${e}" hasn't uploaded yet`);let o=new he,n=this.cfg.cropPreset,a=this.cfg.cloudImageEditorTabs;o.setAttribute("ctx-name",this.ctxName),o.setAttribute("cdn-url",r),n&&o.setAttribute("crop-preset",n),a&&o.setAttribute("tabs",a),o.addEventListener("apply",l=>{let c=l;this.handleApply(c),this.debugPrint('editor event "apply"',c.detail)}),o.addEventListener("cancel",l=>{let c=l;this.handleCancel(),this.debugPrint('editor event "cancel"',c.detail)}),o.addEventListener("change",l=>{let c=l;this.debugPrint('editor event "change"',c.detail)}),this.innerHTML="",this.appendChild(o),this._instance=o}unmountEditor(){this._instance=void 0,this._entry=void 0,this.innerHTML=""}};var ct=s(i=>i.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)?.map(e=>e.toLowerCase()).join("-"),"toKebabCase");var ql=[{test:s(i=>!!i.accept&&!!i.imgOnly,"test"),message:"There could be a mistake.\nBoth `accept` and `imgOnly` parameters are set.\nThe value of `accept` will be concatenated with the internal image mime types list."},{test:s(i=>i.enableVideoRecording!==null,"test"),message:"The `enableVideoRecording` parameter is deprecated and will be removed in the next major release.\nPlease use the `cameraModes` parameter instead."},{test:s(i=>i.defaultCameraMode!==null,"test"),message:"The `defaultCameraMode` parameter is deprecated and will be removed in the next major release.\nPlease use the `cameraModes` parameter instead."}],Bs=L(i=>{for(let{test:e,message:t}of ql)e(i)&&Mi(t)},0);var zs=s((i,e)=>{let t=new URL(e);return t.hostname=`${i}.${t.hostname}`,t.toString().replace(/\/$/,"")},"o"),Xl="0123456789abcdefghijklmnopqrstuvwxyz",Hs=s(i=>{if(i<=0n)return"0";let e="";for(;i>0n;){let t=i%36n;e=Xl[Number(t)]+e,i=i/36n}return e},"a"),Wr=s((i,e)=>{try{let t=new URL(i),r=new URL(e);return t.hostname.endsWith(r.hostname)}catch{return!1}},"c");var Zl=s(async i=>{let e=new TextEncoder().encode(i),t=await window.crypto.subtle.digest("SHA-256",e),r=Array.from(new Uint8Array(t)).map(o=>o.toString(16).padStart(2,"0")).join("");return BigInt(`0x${r}`)},"c"),Yl=10,Ql=s(async i=>{let e=await Zl(i);return Hs(e).slice(0,Yl)},"d"),js=s(async(i,e)=>{let t=await Ql(i);return zs(t,e)},"f");var Ks=s(i=>i instanceof Promise||!!(i&&typeof i=="object"&&"then"in i&&typeof i.then=="function"),"isPromiseLike");var qr=s(i=>i,"defineComputedProperty"),Jl=[qr({key:"cameraModes",deps:["enableVideoRecording"],fn:s(({cameraModes:i,enableVideoRecording:e})=>{if(e===null)return i;let t=X(i);return e&&!t.includes("video")?t=t.concat("video"):e||(t=t.filter(r=>r!=="video")),ye(t)},"fn")}),qr({key:"cameraModes",deps:["defaultCameraMode"],fn:s(({cameraModes:i,defaultCameraMode:e})=>{if(e===null)return i;let t=X(i);return t=t.sort((r,o)=>r===e?-1:o===e?1:0),ye(t)},"fn")}),qr({key:"cdnCname",deps:["pubkey","cdnCnamePrefixed"],fn:s(({pubkey:i,cdnCname:e,cdnCnamePrefixed:t})=>i&&(e===Ct||Wr(e,t))?js(i,t):e,"fn")})],Gs=s(({key:i,setValue:e,getValue:t,computationControllers:r})=>{for(let o of Jl)if(o.deps.includes(i)){let n={[o.key]:t(o.key)};for(let c of o.deps)n[c]=t(c);let a=new AbortController;r.get(o.key)?.abort(),r.set(o.key,a);let l;try{l=o.fn(n,{signal:a.signal})}catch(c){r.get(o.key)===a&&r.delete(o.key),console.error(`Failed to compute value for "${o.key}"`,c);return}Ks(l)?l.then(c=>{a.signal.aborted||e(o.key,c)}).catch(c=>{a.signal.aborted||console.error(`Failed to compute value for "${o.key}"`,c)}).finally(()=>{r.get(o.key)===a&&r.delete(o.key)}):e(o.key,l)}},"computeProperty");var P=s(i=>String(i),"asString"),H=s(i=>{let e=Number(i);if(Number.isNaN(e))throw new Error(`Invalid number: "${i}"`);return e},"asNumber"),k=s(i=>{if(typeof i>"u"||i===null)return!1;if(typeof i=="boolean")return i;if(i==="true"||i==="")return!0;if(i==="false")return!1;throw new Error(`Invalid boolean: "${i}"`)},"asBoolean"),Ws=s(i=>i==="auto"?i:k(i),"asStore"),qs=s(i=>{let e=P(i);if(e!=="user"&&e!=="environment"&&e!=="")throw new Error(`Invalid value: "${e}"`);return e},"asCameraCapture"),Xs=s(i=>{let e=P(i);if(!Object.values(w).includes(e))throw new Error(`Invalid value: "${e}"`);return e},"asCameraMode"),Zs=s(i=>{let e=P(i),t=X(e);if(t.some(r=>!Object.values(w).includes(r)))throw new Error(`Invalid value: "${JSON.stringify(t)}"`);return e},"asCameraModes"),Ys=s(i=>{if(typeof i=="object"&&!Array.isArray(i)||typeof i=="function")return i;throw new Error("Invalid metadata value. Must be an object or function.")},"asMetadata"),Xr=s(i=>{if(typeof i=="object")return i;throw new Error("Invalid value. Must be an object.")},"asObject"),Fi=s(i=>{if(typeof i=="function")return i;throw new Error("Invalid value. Must be a function.")},"asFunction"),Zr=s(i=>{if(Array.isArray(i))return i;throw new Error("Must be an array.")},"asArray"),Qs=s(i=>{let e=P(i);if(["grid","list"].includes(e))return e;throw new Error(`Invalid value: "${e}"`)},"asFilesViewMode");var ec={pubkey:P,multiple:k,multipleMin:H,multipleMax:H,confirmUpload:k,imgOnly:k,accept:P,externalSourcesPreferredTypes:P,externalSourcesEmbedCss:P,store:Ws,cameraMirror:k,cameraCapture:qs,sourceList:P,topLevelOrigin:P,maxLocalFileSizeBytes:H,thumbSize:H,showEmptyList:k,useLocalImageEditor:k,useCloudImageEditor:k,cloudImageEditorTabs:P,removeCopyright:k,cropPreset:P,imageShrink:P,modalScrollLock:k,modalBackdropStrokes:k,sourceListWrap:k,remoteTabSessionKey:P,cdnCname:P,cdnCnamePrefixed:P,baseUrl:P,socialBaseUrl:P,secureSignature:P,secureExpire:P,secureDeliveryProxy:P,retryThrottledRequestMaxTimes:H,retryNetworkErrorMaxTimes:H,multipartMinFileSize:H,multipartChunkSize:H,maxConcurrentRequests:H,multipartMaxConcurrentRequests:H,multipartMaxAttempts:H,checkForUrlDuplicates:k,saveUrlForRecurrentUploads:k,groupOutput:k,userAgentIntegration:P,debug:k,localeName:P,metadata:Ys,secureUploadsExpireThreshold:H,localeDefinitionOverride:s(i=>Xr(i),"localeDefinitionOverride"),secureUploadsSignatureResolver:s(i=>Fi(i),"secureUploadsSignatureResolver"),secureDeliveryProxyUrlResolver:s(i=>Fi(i),"secureDeliveryProxyUrlResolver"),iconHrefResolver:s(i=>Fi(i),"iconHrefResolver"),fileValidators:Zr,collectionValidators:Zr,validationTimeout:H,validationConcurrency:H,cameraModes:Zs,defaultCameraMode:Xs,enableAudioRecording:k,enableVideoRecording:k,mediaRecorderOptions:Xr,maxVideoRecordingDuration:H,filesViewMode:Qs,gridShowFileNames:k,cloudImageEditorAutoOpen:k,cloudImageEditorMaskHref:P,testMode:k,qualityInsights:k},Js=s((i,e)=>{if(!(typeof e>"u"||e===null))try{return ec[i](e)}catch(t){return console.error(`Invalid value for config key "${i}".`,t),Q[i]}},"normalizeConfigValue");var Vi=[...new Set(["debug",...Object.keys(Q)])],tc=["metadata","localeDefinitionOverride","secureUploadsSignatureResolver","secureDeliveryProxyUrlResolver","iconHrefResolver","fileValidators","collectionValidators","mediaRecorderOptions"],tn=s(i=>tc.includes(i),"isComplexKey"),zt=Vi.filter(i=>!tn(i)),ic={...Object.fromEntries(zt.map(i=>[ct(i),i])),...Object.fromEntries(zt.map(i=>[i.toLowerCase(),i]))},rc={...Object.fromEntries(zt.map(i=>[ct(i),z(i)])),...Object.fromEntries(zt.map(i=>[i.toLowerCase(),z(i)]))},en=s(i=>`__${i}`,"getLocalPropName"),dt=class extends b{static{s(this,"Config")}requireCtxName=!0;constructor(){super(),this.init$={...this.init$,...Object.fromEntries(Object.entries(Q).map(([e,t])=>[z(e),t])),computationControllers:new Map}}_flushValueToAttribute(e,t){if(!tn(e)){let r=[...new Set([ct(e),e.toLowerCase()])];for(let o of r)typeof t>"u"||t===null?this.removeAttribute(o):this.getAttribute(o)!==t.toString()&&this.setAttribute(o,t.toString())}}_flushValueToState(e,t){this.$[z(e)]!==t&&(typeof t>"u"||t===null?this.$[z(e)]=Q[e]:this.$[z(e)]=t)}_setValue(e,t){let r=this,o=Js(e,t),n=en(e);r[n]!==o&&(this._assertSameValueDifferentReference(e,r[n],o),r[n]=o,this._flushValueToAttribute(e,o),this._flushValueToState(e,o),this.debugPrint(`[uc-config] "${e}"`,o),Bs(this.cfg))}_getValue(e){let t=this,r=en(e);return t[r]??this.$[z(e)]}_assertSameValueDifferentReference(e,t,r){this.cfg.debug&&r!==t&&typeof r=="object"&&typeof t=="object"&&JSON.stringify(r)===JSON.stringify(t)&&(console.warn(`[uc-config] Option "${e}" value is the same as the previous one but the reference is different`),console.warn("[uc-config] You should avoid changing the reference of the object to prevent unnecessary calculations"),console.warn(`[uc-config] "${e}" previous value:`,t),console.warn(`[uc-config] "${e}" new value:`,r))}initCallback(){super.initCallback();let e=this;for(let t of zt)this.sub(z(t),r=>{this._setValue(t,r)},!1);for(let t of Vi){let r=e[t]??this.$[z(t)];r!==Q[t]&&this._setValue(t,r),Object.defineProperty(this,t,{set:s(o=>{this._setValue(t,o)},"set"),get:s(()=>this._getValue(t),"get")})}for(let t of Vi)this.sub(z(t),()=>{Gs({key:t,setValue:this._setValue.bind(this),getValue:this._getValue.bind(this),computationControllers:this.computationControllers})})}attributeChangedCallback(e,t,r){if(t===r)return;let o=this,n=ic[e];n&&(o[n]=r)}get computationControllers(){return this.$.computationControllers}};dt.bindAttributes(rc);for(let i of Vi)dt.prototype[i]=void 0;var Ni=class extends b{static{s(this,"Copyright")}initCallback(){super.initCallback(),this.subConfigValue("removeCopyright",e=>{this.toggleAttribute("hidden",!!e)})}static template=`<a href="https://uploadcare.com/?utm_source=copyright&utm_medium=referral&utm_campaign=v4" target="_blank noopener" class="uc-credits" >Powered by Uploadcare</a >`};function oc(i){return new Promise(e=>{typeof window.FileReader!="function"&&e(!1);try{let t=new FileReader;t.onerror=()=>{e(!0)};let r=s(o=>{o.type!=="loadend"&&t.abort(),e(!1)},"onLoad");t.onloadend=r,t.onprogress=r,t.readAsDataURL(i)}catch{e(!1)}})}s(oc,"checkIsDirectory");function sc(i,e){return new Promise(t=>{let r=0,o=[],n=s(l=>{if(!l){console.warn("Unexpectedly received empty content entry",{scope:"drag-and-drop"}),t(null);return}l.isFile?(r++,l.file(c=>{r--;let d=new File([c],c.name,{type:c.type||e});o.push({type:"file",file:d,fullPath:l.fullPath}),r===0&&t(o)})):l.isDirectory&&a(l.createReader())},"readEntry"),a=s(l=>{r++,l.readEntries(c=>{r--;for(let d of c)n(d);r===0&&t(o)})},"readReaderContent");n(i)})}s(sc,"readEntryContentAsync");function rn(i){let e=[],t=[];for(let r=0;r<i.items.length;r++){let o=i.items[r];if(o)if(o.kind==="file"){let n=o.type,a=o;if(typeof a.webkitGetAsEntry=="function"||typeof a.getAsEntry=="function"){let c=typeof a.webkitGetAsEntry=="function"?a.webkitGetAsEntry():a.getAsEntry?.();c&&t.push(sc(c,n).then(d=>{d&&e.push(...d)}));continue}let l=o.getAsFile();l&&t.push(oc(l).then(c=>{c||e.push({type:"file",file:l})}))}else o.kind==="string"&&/^text\/uri-list/.test(o.type)&&t.push(new Promise(n=>{o.getAsString(a=>{e.push({type:"url",url:a}),n()})}))}return Promise.all(t).then(()=>e)}s(rn,"getDropItems");var W=Object.freeze({ACTIVE:0,INACTIVE:1,NEAR:2,OVER:3}),on=["focus"],nc=100,Yr=new Map;function ac(i,e){let t=Math.max(Math.min(i[0],e.x+e.width),e.x),r=Math.max(Math.min(i[1],e.y+e.height),e.y);return Math.sqrt((i[0]-t)*(i[0]-t)+(i[1]-r)*(i[1]-r))}s(ac,"distance");function Qr(i){let e=0,t=document.body,r=new Set,o=s(m=>{r.add(m)},"handleSwitch"),n=W.INACTIVE,a=s(m=>{i.shouldIgnore()&&m!==W.INACTIVE||(n!==m&&r.forEach(v=>{v(m)}),n=m)},"setState"),l=s(()=>e>0,"isDragging");o(m=>i.onChange(m));let c=s(()=>{e=0,a(W.INACTIVE)},"onResetEvent"),d=s(()=>{e+=1,n===W.INACTIVE&&a(W.ACTIVE)},"onDragEnter"),u=s(()=>{e-=1,l()||a(W.INACTIVE)},"onDragLeave"),p=s(m=>{m.preventDefault(),e=0,a(W.INACTIVE)},"onDrop"),h=s(m=>{if(i.shouldIgnore())return;l()||(e+=1);let v=[m.x,m.y],y=i.element.getBoundingClientRect(),S=Math.floor(ac(v,y)),T=S<nc,A=m.composedPath().includes(i.element);Yr.set(i.element,S);let ee=Math.min(...Yr.values())===S;A&&ee?(m.preventDefault(),a(W.OVER)):a(T&&ee?W.NEAR:W.ACTIVE)},"onDragOver"),f=s(async m=>{if(i.shouldIgnore())return;m.preventDefault();let{dataTransfer:v}=m;if(!v)return;let y=await rn(v);i.onItems(y),a(W.INACTIVE)},"onElementDrop");return t.addEventListener("drop",p),t.addEventListener("dragleave",u),t.addEventListener("dragenter",d),t.addEventListener("dragover",h),i.element.addEventListener("drop",f),on.forEach(m=>{window.addEventListener(m,c)}),()=>{Yr.delete(i.element),t.removeEventListener("drop",p),t.removeEventListener("dragleave",u),t.removeEventListener("dragenter",d),t.removeEventListener("dragover",h),i.element.removeEventListener("drop",f),on.forEach(m=>{window.removeEventListener(m,c)})}}s(Qr,"addDropzone");var sn="uc-drop-area",Bi=`${sn}/registry`,ut=class extends M{static{s(this,"DropArea")}static styleAttrs=[...super.styleAttrs,"uc-drop-area"];_destroyDropzone=null;_destroyContentWrapperDropzone=null;_onAreaClicked=null;constructor(){super(),this.init$={...this.init$,state:W.INACTIVE,withIcon:!1,isClickable:!1,isFullscreen:!1,isEnabled:!0,isVisible:!0,isInitFlow:!1,text:"",[Bi]:new Set}}isActive(){if(!this.$.isEnabled)return!1;let e=this.getBoundingClientRect(),t=e.width>0&&e.height>0,r=e.top>=0&&e.left>=0&&e.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&e.right<=(window.innerWidth||document.documentElement.clientWidth),o=window.getComputedStyle(this),n=o.visibility!=="hidden"&&o.display!=="none";return t&&n&&r}initCallback(){super.initCallback(),this.bindL10n("text",()=>this.l10n("drop-files-here")),this.$[Bi].add(this),this.defineAccessor("disabled",r=>{this.set$({isEnabled:!k(r)})}),this.defineAccessor("clickable",r=>{this.set$({isClickable:k(r)})}),this.defineAccessor("initflow",r=>{this.set$({isInitFlow:k(r)})}),this.defineAccessor("with-icon",r=>{this.set$({withIcon:k(r)})}),this.defineAccessor("fullscreen",r=>{this.set$({isFullscreen:k(r)})}),this.defineAccessor("text",r=>{typeof r=="string"?this.bindL10n("text",()=>this.l10n(r)||r):this.bindL10n("text",()=>this.l10n("drop-files-here"))}),this._destroyDropzone=Qr({element:this,shouldIgnore:s(()=>this._shouldIgnore(),"shouldIgnore"),onChange:s(r=>{this.$.state=r},"onChange"),onItems:s(r=>{r.length&&(r.forEach(o=>{o.type==="url"?this.api.addFileFromUrl(o.url,{source:U.DROP_AREA}):o.type==="file"&&this.api.addFileFromObject(o.file,{source:U.DROP_AREA,fullPath:o.fullPath})}),this.uploadCollection.size&&(this.modalManager?.open(g.activities.UPLOAD_LIST),this.set$({"*currentActivity":g.activities.UPLOAD_LIST})))},"onItems")});let t=this.ref["content-wrapper"];if(t&&(this._destroyContentWrapperDropzone=Qr({element:t,onChange:s(r=>{let o=Object.entries(W).find(([,n])=>n===r)?.[0].toLowerCase();o&&t.setAttribute("drag-state",o)},"onChange"),onItems:s(()=>{},"onItems"),shouldIgnore:s(()=>this._shouldIgnore(),"shouldIgnore")})),this.sub("state",r=>{let o=Object.entries(W).find(([,n])=>n===r)?.[0].toLowerCase();o&&this.setAttribute("drag-state",o)}),this.subConfigValue("sourceList",r=>{let o=F(r);this.$.isEnabled=o.includes(U.LOCAL),this.$.isVisible=this.$.isEnabled||!this.querySelector("[data-default-slot]")}),this.sub("isVisible",r=>{this.toggleAttribute("hidden",!r)}),this.sub("isClickable",r=>{this.toggleAttribute("clickable",r)}),this.$.isClickable){let r=s(o=>{if(o instanceof KeyboardEvent){if(o.code==="Space"||o.code==="Enter"){if(this.$.isInitFlow){this.api.initFlow();return}this.api.openSystemDialog()}}else if(o instanceof MouseEvent){if(this.$.isInitFlow){this.api.initFlow();return}this.api.openSystemDialog()}},"onAreaClicked");this._onAreaClicked=r,this.addEventListener("keydown",r),this.addEventListener("click",r)}}_shouldIgnore(){if(!this.$.isEnabled||!this._couldHandleFiles())return!0;if(!this.$.isFullscreen)return!1;let e=this.$[Bi];return e.size===0?!1:[...e].filter(o=>o!==this).filter(o=>o.isActive()).length>0}_couldHandleFiles(){let e=this.cfg.multiple,t=this.cfg.multipleMax,r=this.uploadCollection.size;return!(e&&t&&r>=t||!e&&r>0)}destroyCallback(){super.destroyCallback();let e=this.$[Bi];e.delete(this),e.size===0&&E.deleteCtx(sn),this._destroyDropzone?.(),this._destroyContentWrapperDropzone?.(),this._onAreaClicked&&(this.removeEventListener("keydown",this._onAreaClicked),this.removeEventListener("click",this._onAreaClicked),this._onAreaClicked=null)}};ut.template=`<slot><div data-default-slot hidden></div><div ref="content-wrapper" class="uc-content-wrapper" set="@hidden: !isVisible"><div class="uc-icon-container" set="@hidden: !withIcon"><uc-icon name="default"></uc-icon><uc-icon name="arrow-down"></uc-icon></div><span class="uc-text">{{text}}</span></div></slot>`;ut.bindAttributes({"with-icon":null,clickable:null,text:null,fullscreen:null,disabled:null,initflow:null});var nn=s(()=>{let i=globalThis.top??globalThis.parent??globalThis.self;try{return i.location.origin}catch(e){return console.warn("Unable to access top-level window location:",e),globalThis.location.origin}},"getTopLevelOrigin");var lc=s(i=>i.replace(/[\\-\\[]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),"escapeRegExp"),an=s((i,e="i")=>{let t=i.split("*").map(lc);return new RegExp(`^${t.join(".+")}$`,e)},"wildcardRegexp");var cc=["--uc-font-family","--uc-font-size","--uc-line-height","--uc-button-size","--uc-preview-size","--uc-input-size","--uc-padding","--uc-radius","--uc-transition","--uc-background","--uc-foreground","--uc-primary","--uc-primary-hover","--uc-primary-transparent","--uc-primary-foreground","--uc-secondary","--uc-secondary-hover","--uc-secondary-foreground","--uc-muted","--uc-muted-foreground","--uc-destructive","--uc-destructive-foreground","--uc-border"],dc=s((i,e)=>window.getComputedStyle(i).getPropertyValue(e).trim(),"getCssValue"),ln=s(i=>{let e={};for(let t of cc){let r=dc(i,t);r&&(e[t]=r)}return e},"buildThemeDefinition");var uc=["selected-files-change","toolbar-state-change"],pc=s(i=>{if(!i||typeof i!="object"||!("type"in i))return!1;let e=i.type;return!(typeof e!="string"||!uc.includes(e))},"isWhitelistedMessage"),zi=class{static{s(this,"MessageBridge")}_handlerMap=new Map;_context;_getTargetOrigin;constructor(e,t){this._context=e,this._getTargetOrigin=t,window.addEventListener("message",this._handleMessage)}_handleMessage=s(e=>{if(e.source!==this._context)return;let t=e.data;if(!pc(t))return;let r=this._handlerMap.get(t.type);if(r)for(let o of r)o(t)},"_handleMessage");on(e,t){let r=this._handlerMap.get(e)??new Set;this._handlerMap.has(e)||this._handlerMap.set(e,r),r.add(t)}send(e){let t=this._getTargetOrigin();this._context.postMessage(e,t)}destroy(){window.removeEventListener("message",this._handleMessage)}};function cn(i){let e=[];for(let[t,r]of Object.entries(i))r==null||typeof r=="string"&&r.length===0||e.push(`${t}=${encodeURIComponent(r)}`);return e.join("&")}s(cn,"queryString");var hc={[ae.GDRIVE]:"ngdrive"},Ht=class extends M{static{s(this,"ExternalSource")}couldBeCtxOwner=!0;activityType=g.activities.EXTERNAL;_messageBridge;constructor(){super(),this.init$={...this.init$,activityIcon:"",activityCaption:"",selectedList:[],total:0,isSelectionReady:!1,isDoneBtnEnabled:!1,couldSelectAll:!1,couldDeselectAll:!1,showSelectionStatus:!1,showDoneBtn:!1,counterText:"",doneBtnTextClass:"uc-hidden",toolbarVisible:!0,onDone:s(()=>{for(let e of this.$.selectedList){let t=this.extractUrlFromSelectedFile(e),{filename:r}=e,{externalSourceType:o}=this.activityParams;this.api.addFileFromUrl(t,{fileName:r,source:o})}this.$["*currentActivity"]=g.activities.UPLOAD_LIST,this.modalManager?.open(g.activities.UPLOAD_LIST)},"onDone"),onCancel:s(()=>{this.historyBack()},"onCancel"),onSelectAll:s(()=>{this._messageBridge?.send({type:"select-all"})},"onSelectAll"),onDeselectAll:s(()=>{this._messageBridge?.send({type:"deselect-all"})},"onDeselectAll")}}get activityParams(){let e=super.activityParams;if("externalSourceType"in e)return e;throw new Error("External Source activity params not found")}initCallback(){super.initCallback(),this.registerActivity(this.activityType,{onActivate:s(()=>{let{externalSourceType:e}=this.activityParams;if(!e){this.modalManager?.close(this.$["*currentActivity"]),this.$["*currentActivity"]=null,console.error(`Param "externalSourceType" is required for activity "${this.activityType}"`);return}this.set$({activityCaption:`${e[0]?.toUpperCase()}${e?.slice(1)}`,activityIcon:e}),this.mountIframe()},"onActivate")}),this.sub("*currentActivityParams",e=>{this.isActivityActive&&(this.unmountIframe(),this.mountIframe())}),this.sub("*currentActivity",e=>{e!==this.activityType&&this.unmountIframe()}),this.subConfigValue("multiple",e=>{this.$.showSelectionStatus=e}),this.subConfigValue("localeName",e=>{this.setupL10n()}),this.subConfigValue("externalSourcesEmbedCss",e=>{this.applyEmbedCss(e)})}extractUrlFromSelectedFile(e){if(e.alternatives){let t=F(this.cfg.externalSourcesPreferredTypes);for(let r of t){let o=an(r);for(let[n,a]of Object.entries(e.alternatives))if(o.test(n))return a}}return e.url}handleToolbarStateChange(e){this.set$({toolbarVisible:e.isVisible})}async handleSelectedFilesChange(e){if(this.cfg.multiple!==e.isMultipleMode){console.error("Multiple mode mismatch");return}this.bindL10n("counterText",()=>this.l10n("selected-count",{count:e.selectedCount,total:e.total})),this.set$({doneBtnTextClass:e.isReady?"":"uc-hidden",isSelectionReady:e.isReady,isDoneBtnEnabled:e.isReady&&e.selectedFiles.length>0,showSelectionStatus:e.isMultipleMode&&e.total>0,couldSelectAll:e.selectedCount<e.total,couldDeselectAll:e.selectedCount===e.total,selectedList:e.selectedFiles,showDoneBtn:e.total>0})}handleIframeLoad(){this.applyEmbedCss(this.cfg.externalSourcesEmbedCss),this.applyTheme(),this.setupL10n()}applyTheme(){this._messageBridge?.send({type:"set-theme-definition",theme:ln(this)})}applyEmbedCss(e){this._messageBridge?.send({type:"set-embed-css",css:e})}setupL10n(){this._messageBridge?.send({type:"set-locale-definition",localeDefinition:this.cfg.localeName})}remoteUrl(){let{pubkey:e,remoteTabSessionKey:t,socialBaseUrl:r,multiple:o}=this.cfg,{externalSourceType:n}=this.activityParams,a=hc[n]??n,c={lang:this.l10n("social-source-lang")?.split("-")?.[0]||"en",public_key:e,images_only:"false",session_key:t,wait_for_theme:!0,multiple:o.toString(),origin:this.cfg.topLevelOrigin||nn(),debug:this.cfg.debug},d=new URL(`/window4/${a}`,r);return d.search=cn(c),d.toString()}mountIframe(){let e=nr({tag:"iframe",attributes:{src:this.remoteUrl(),marginheight:0,marginwidth:0,frameborder:0,allowTransparency:!0}});e.addEventListener("load",this.handleIframeLoad.bind(this)),this.ref.iframeWrapper.innerHTML="",this.ref.iframeWrapper.appendChild(e),e.contentWindow&&(this._messageBridge?.destroy(),this._messageBridge=new zi(e.contentWindow,()=>this.cfg.socialBaseUrl),this._messageBridge.on("selected-files-change",this.handleSelectedFilesChange.bind(this)),this._messageBridge.on("toolbar-state-change",this.handleToolbarStateChange.bind(this)),this.resetSelectionStatus())}unmountIframe(){this._messageBridge?.destroy(),this._messageBridge=void 0,this.ref.iframeWrapper.innerHTML="",this.resetSelectionStatus()}resetSelectionStatus(){this.set$({selectedList:[],total:0,isDoneBtnEnabled:!1,couldSelectAll:!1,couldDeselectAll:!1,showSelectionStatus:!1,showDoneBtn:!1})}};Ht.template=`<uc-activity-header><button type="button" class="uc-mini-btn uc-close-btn" set="onclick: *historyBack" l10n="@title:a11y-activity-header-button-close;@aria-label:a11y-activity-header-button-close" ><uc-icon name="close"></uc-icon></button></uc-activity-header><div class="uc-content"><div ref="iframeWrapper" class="uc-iframe-wrapper"></div><div class="uc-toolbar" set="@hidden: !toolbarVisible"><button type="button" class="uc-cancel-btn uc-secondary-btn" set="onclick: onCancel" l10n="cancel"></button><div set="@hidden: !showSelectionStatus" class="uc-selection-status-box"><span>{{counterText}}</span><button type="button" set="onclick: onSelectAll; @hidden: !couldSelectAll" l10n="select-all"></button><button type="button" set="onclick: onDeselectAll; @hidden: !couldDeselectAll" l10n="deselect-all"></button></div><button type="button" class="uc-done-btn uc-primary-btn" set="onclick: onDone; @disabled: !isDoneBtnEnabled; @hidden: !showDoneBtn" ><uc-spinner set="@hidden: isSelectionReady"></uc-spinner><span l10n="done" set="@class: doneBtnTextClass"></span></button></div></div>`;var ji=s(()=>{let i=[];return{stack:i,promiseReadJpegChunks:s(t=>new Promise((r,o)=>{let n=2,a=s((d,u)=>{let p=new FileReader;p.addEventListener("load",()=>{u(new DataView(p.result))}),p.addEventListener("error",h=>{o(`Reader error: ${h}`)}),p.readAsArrayBuffer(d)},"readToView"),l=s(()=>a(t.slice(n,n+128),d=>{let u,p,h;for(u=p=0,h=d.byteLength;h>=0?p<h:p>h;u=h>=0?++p:--p)if(d.getUint8(u)===255){n+=u;break}c()}),"readNext"),c=s(()=>{let d=n;return a(t.slice(n,n+=4),u=>{if(u.byteLength!==4||u.getUint8(0)!==255){o("Corrupted");return}let p=u.getUint8(1);if(p===218){r(!0);return}let h=u.getUint16(2)-2;return a(t.slice(n,n+=h),f=>{if(f.byteLength!==h){o("Corrupted");return}i.push({startPos:d,length:h,marker:p,view:f}),l()})})},"readNextChunk");FileReader&&DataView||o("Not Support"),a(t.slice(0,2),d=>{d.getUint16(0)!==65496&&o("Not jpeg"),l()})}),"promiseReadJpegChunks")}},"readJpegChunks"),mc=s(async i=>{let e=[],{promiseReadJpegChunks:t,stack:r}=ji();return await t(i),r.forEach(({marker:o,view:n})=>{o===226&&n.getUint32(0)===1229144927&&n.getUint32(4)===1347571526&&n.getUint32(8)===1229735168&&e.push(n)}),e},"getIccProfile"),un=s(async(i,e,t)=>{{let r=[],o=[],{promiseReadJpegChunks:n,stack:a}=ji();await n(i),a.forEach(d=>{if(d.marker===e)return r.push(d.startPos),o.push(d.length)});let l=[i.slice(0,2)];for(let d of t){let u=new DataView(new ArrayBuffer(4));u.setUint16(0,65280+e),u.setUint16(2,d.byteLength+2),l.push(u.buffer),l.push(d)}let c=2;for(let d=0;d<r.length;d++)r[d]>c&&l.push(i.slice(c,r[d])),c=r[d]+o[d]+4;return l.push(i.slice(c,i.size)),new Blob(l,{type:i.type})}},"replaceJpegChunk"),fc=226,pn=s((i,e)=>un(i,fc,e.map(t=>t.buffer)),"replaceIccProfile"),gc=s(async i=>{try{return await pn(i,[])}catch(e){throw new Error(`Failed to strip ICC profile: ${e}`)}},"stripIccProfile"),vc=s((i,e,t)=>new Promise((r,o)=>{let n=s(a=>{if(!a){o("Failed to convert canvas to blob");return}r(a)},"callback");i.toBlob(n,e,t),i.width=i.height=1}),"canvasToBlob"),jt=s(()=>{let i=document.createElement("canvas"),e=i.getContext("2d");return{canvas:i,ctx:e}},"createCanvas"),yc=s(i=>{let{ctx:t,canvas:r}=jt();r.width=r.height=50,t.drawImage(i,0,0,50,50);let o=t.getImageData(0,0,50,50).data;r.width=r.height=1;for(let n=3;n<o.length;n+=4)if(o[n]<254)return!0;return!1},"hasTransparency"),bc=s(async i=>{let e=null,{promiseReadJpegChunks:t,stack:r}=ji();return await t(i),r.forEach(({marker:o,view:n})=>{if(!e&&o===225&&n.byteLength>=14&&n.getUint32(0)===1165519206&&n.getUint16(4)===0){e=n;return}}),e},"getExif"),_c="data:image/jpg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4QA6RXhpZgAATU0AKgAAAAgAAwESAAMAAAABAAYAAAEoAAMAAAABAAIAAAITAAMAAAABAAEAAAAAAAD/2wBDAP//////////////////////////////////////////////////////////////////////////////////////wAALCAABAAIBASIA/8QAJgABAAAAAAAAAAAAAAAAAAAAAxABAAAAAAAAAAAAAAAAAAAAAP/aAAgBAQAAPwBH/9k=",Hi,wc=s(()=>new Promise(i=>{if(Hi!==void 0)i(Hi);else{let e=new Image;e.addEventListener("load",()=>{Hi=e.naturalWidth<e.naturalHeight,e.src="//:0",i(Hi)}),e.src=_c}}),"isBrowserApplyExifOrientation"),Cc=s((i,e)=>{let t,r,o,n;if(!i||i.byteLength<14||i.getUint32(0)!==1165519206||i.getUint16(4)!==0)return;if(i.getUint16(6)===18761)r=!0;else if(i.getUint16(6)===19789)r=!1;else return;if(i.getUint16(8,r)!==42)return;o=8+i.getUint32(10,r);let a=i.getUint16(o-2,r);for(t=0,n=a;n>=0?t<n:t>n;n>=0?++t:--t){if(i.byteLength<o+10)return;i.getUint16(o,r)===274&&e(o+8,r),o+=12}},"findExifOrientation"),Ec=s((i,e)=>{Cc(i,(t,r)=>i.setUint16(t,e,r))},"setExifOrientation"),Tc=s(async(i,e,t)=>(t&&Ec(e,1),un(i,225,[e.buffer])),"replaceExif"),xc=s((i,e)=>new Promise((t,r)=>{e&&(i.src=e),i.complete?t(i):(i.addEventListener("load",()=>{t(i)}),i.addEventListener("error",()=>{r(new Error("Failed to load image. Probably not an image."))}))}),"processImage"),Ac=s(i=>xc(new Image,i),"imageLoader"),Sc=[1,3],Ic=[192,193,194,195,197,198,199,201,202,203,205,206,207],dn={squareSide:[Math.floor(Math.sqrt(5*1e3*1e3)),4096,8192,11180,10836,11402,14188,16384],dimension:[4096,8192,16384,32767,65535]},kc=s(async i=>{let e=!1,{promiseReadJpegChunks:t,stack:r}=ji();return await t(i).then(()=>(r.forEach(({marker:o,view:n})=>{if(!e&&Ic.indexOf(o)>=0){let a=n.getUint8(5);Sc.indexOf(a)<0&&(e=!0)}}),e)).catch(()=>e)},"shouldSkipShrink"),hn=s((i,e)=>{let t={};return(...r)=>{let o=e(r,t);return o in t?t[o]:t[o]=i(...r)}},"memoize"),mn=s((i,e)=>{let[t]=i,r=Object.keys(e).map(o=>parseInt(o,10)).sort((o,n)=>o-n);for(let o=0;o<r.length;o++){let n=r[o],a=!!e[n];if(n>t&&a||n<t&&!a)return n}return t},"memoKeySerializer"),Ue={R:55,G:110,B:165,A:255},Oc=`rgba(${Ue.R}, ${Ue.G}, ${Ue.B}, ${Ue.A/255})`,fn=s((i,e)=>{try{let t=[i-1,e-1,1,1],{canvas:r,ctx:o}=jt();r.width=1,r.height=1;let{canvas:n,ctx:a}=jt();n.width=i,n.height=e,a&&(a.fillStyle=Oc,a.fillRect(...t),o.drawImage(n,i-1,e-1,1,1,0,0,1,1));let l=o&&o.getImageData(0,0,1,1).data,c=!1;return l&&(c=l[0]===Ue.R&&l[1]===Ue.G&&l[2]===Ue.B&&l[3]===Ue.A),n.width=n.height=1,c}catch{return console.error(`Failed to test for max canvas size of ${i}x${e}.`),!1}},"canvasTest");function gn(i){return(...e)=>new Promise(t=>{setTimeout(()=>{let r=i(...e);t(r)},0)})}s(gn,"wrapAsync");var Mc=gn(hn(fn,mn)),Lc=gn(hn(fn,mn)),vn=s(async(i,e)=>{let t=dn.squareSide.find(a=>a*a>=i*e),r=dn.dimension.find(a=>a>=i&&a>=e);if(!t||!r)throw new Error("Not supported");let[o,n]=await Promise.all([Mc(t,t),Lc(r,1)]);if(o&&n)return!0;throw new Error("Not supported")},"testCanvasSize"),yn=s(async(i,e,t)=>{try{let{ctx:r,canvas:o}=jt();return o.width=e,o.height=t,r.imageSmoothingQuality="high",r.drawImage(i,0,0,e,t),i instanceof HTMLImageElement&&(i.src="//:0"),i instanceof HTMLCanvasElement&&(i.width=i.height=1),o}catch(r){throw new Error("Canvas resize error",{cause:r})}},"canvasResize"),Rc=s(({img:i,targetW:e,targetH:t})=>yn(i,e,t),"native"),Pc=s(function({sourceW:i,targetW:e,targetH:t,step:r}){let o=[],n=e,a=t;do o.push([n,a]),n=Math.round(n/r),a=Math.round(a/r);while(n<i*r);return o.reverse()},"calcShrinkSteps"),Uc=s(({img:i,sourceW:e,targetW:t,targetH:r,step:o})=>{let n=Pc({sourceW:e,targetW:t,targetH:r,step:o});return n.reduce((a,[l,c],d)=>a.then(u=>vn(l,c).then(()=>yn(u,l,c)).catch(()=>{if(d===n.length-1)throw new Error("Not supported");return u})),Promise.resolve(i))},"fallback"),$c=s(()=>/iPad|iPhone|iPod/.test(navigator.platform)?!0:navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&/MacIntel/.test(navigator.platform),"isIOS"),Dc=navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&/MacIntel/.test(navigator.platform),Jr=.71,Fc=s((i,e)=>{if(i.width*Jr*i.height*Jr<e.size)throw new Error("Not required");let t=i.width,r=i.height,o=t/r,n=Math.floor(Math.sqrt(e.size*o)),a=Math.floor(e.size/Math.sqrt(e.size*o));return vn(n,a).then(()=>{let{ctx:l}=jt();return"imageSmoothingQuality"in l&&!$c()&&!Dc?Rc({img:i,targetW:n,targetH:a}):Uc({img:i,sourceW:t,targetW:n,targetH:a,step:Jr})}).catch(()=>Promise.reject("Not supported"))},"shrinkImage"),bn=s(async(i,e)=>{try{if(await kc(i))throw new Error("Should skipped");let r=await Promise.allSettled([bc(i),wc(),mc(i)]),n=!r.some(v=>v.status==="rejected"),[a,l,c]=r,d=await gc(i).catch(()=>i),u=await Ac(URL.createObjectURL(d));URL.revokeObjectURL(u.src);let p=await Fc(u,e),h="image/jpeg",f=e?.quality||.8;!n&&yc(p)&&(h="image/png",f=void 0);let m=await vc(p,h,f);if(n&&a.status==="fulfilled"&&a.value){let v=a.value,y=l.status==="fulfilled"?l.value:!1;m=await Tc(m,v,y)}return n&&c.status==="fulfilled"&&c.value.length>0&&(m=await pn(m,c.value)),m}catch(t){let r;throw t instanceof Error&&(r=t.message),typeof t=="string"&&(r=t),new Error(`Failed to shrink image. ${r?`Message: "${r}".`:""}`,{cause:t})}},"shrinkFile");var Vc=/^([0-9]+)x([0-9]+)(?:\s+(\d{1,2}|100)%)?$/i,_n=s(i=>{if(typeof i!="string")return!1;let e=Vc.exec(i.toLocaleLowerCase())??[];if(e.length===0)return!1;let t=Number(e[1])*Number(e[2]),r=16384*16384;return t>r?(console.warn(`Shrinked size can not be larger than ${Math.floor(r/1e3/1e3)}MP. You have set ${e[1]}x${e[2]} (${Math.ceil(t/1e3/100)/10}MP).`),!1):{quality:e[3]?Number(e[3])/100:void 0,size:t}},"parseShrink");var pt=class extends M{static{s(this,"FileItemConfig")}_entrySubs=new Set;_entry=null;_withEntry(e){return(...t)=>{let r=this._entry;if(!r){console.warn("No entry found");return}return e(r,...t)}}_subEntry(e,t){this._withEntry((r,o,n)=>{let a=r.subscribe(o,l=>{this.isConnected&&n(l)});this._entrySubs.add(a)})(e,t)}_reset(){for(let e of this._entrySubs)e.remove();this._entrySubs=new Set,this._entry=null}disconnectedCallback(){super.disconnectedCallback(),this._entrySubs=new Set}};var V=Object.freeze({FINISHED:Symbol("FINISHED"),FAILED:Symbol("FAILED"),UPLOADING:Symbol("UPLOADING"),VALIDATION:Symbol("VALIDATION"),QUEUED_UPLOADING:Symbol("QUEUED-UPLOADING"),QUEUED_VALIDATION:Symbol("QUEUED-VALIDATION"),IDLE:Symbol("IDLE")}),Ki=class i extends pt{static{s(this,"FileItem")}couldBeCtxOwner=!0;pauseRender=!0;_renderedOnce=!1;_observer;_isIntersecting=!1;_thumbRect;constructor(){super(),this.init$={...this.init$,uid:"",itemName:"",errorText:"",hint:"",thumbUrl:"",progressValue:0,progressVisible:!1,badgeIcon:"",isFinished:!1,isFailed:!1,isUploading:!1,isFocused:!1,isEditable:!1,showFileNames:!1,state:V.IDLE,ariaLabelStatusFile:"",onEdit:this._withEntry(e=>{this.telemetryManager.sendEvent({eventType:O.ACTION_EVENT,payload:{metadata:{event:"edit-file",node:this.tagName}}}),this.$["*currentActivityParams"]={internalId:e.uid},this.modalManager?.open(g.activities.CLOUD_IMG_EDIT),this.$["*currentActivity"]=g.activities.CLOUD_IMG_EDIT}),onRemove:s(()=>{this.telemetryManager.sendEvent({eventType:O.ACTION_EVENT,payload:{metadata:{event:"remove-file",node:this.tagName}}}),this.uploadCollection.remove(this.$.uid)},"onRemove"),onUpload:s(()=>{this.upload()},"onUpload")}}_calculateState=this._withEntry(e=>{let t=V.IDLE;e.getValue("errors").length>0?t=V.FAILED:e.getValue("isQueuedForUploading")?t=V.QUEUED_UPLOADING:e.getValue("isQueuedForValidation")?t=V.QUEUED_VALIDATION:e.getValue("isValidationPending")?t=V.VALIDATION:e.getValue("isUploading")?t=V.UPLOADING:e.getValue("fileInfo")&&(t=V.FINISHED),this.$.state=t});_debouncedCalculateState=L(this._calculateState.bind(this),100);_updateHintAndProgress=this._withEntry(ot((e,t)=>{let r=e.getValue("errors")?.[0]?.message,o=e.getValue("source"),n=e.getValue("externalUrl"),a=t===V.FINISHED,l=t===V.UPLOADING,c=t===V.QUEUED_UPLOADING,d=t===V.QUEUED_VALIDATION,u=t===V.VALIDATION,p=e.getValue("fileName"),h="";r?h="":!a&&n&&o&&Object.values(ae).includes(o)&&(h=this.l10n("waiting-for",{source:this.l10n(`src-type-${o}`)})),this.set$({hint:h,errorText:r,progressVisible:l||c||d||u,progressValue:d||u?0:e.getValue("uploadProgress"),ariaLabelStatusFile:p&&this.l10n("a11y-file-item-status",{fileName:p,status:this.l10n(t?.description?.toLocaleLowerCase()??"").toLocaleLowerCase()})})},100));_handleState=this._withEntry((e,t)=>{t===V.FAILED?this.$.badgeIcon="badge-error":t===V.FINISHED&&(this.$.badgeIcon="badge-success"),t===V.UPLOADING&&(this.$.isFocused=!1),this.set$({isFailed:t===V.FAILED,isUploading:t===V.UPLOADING,isFinished:t===V.FINISHED,isEditable:this.cfg.useCloudImageEditor&&e.getValue("isImage")&&e.getValue("cdnUrl")}),this._updateHintAndProgress(t)});_reset(){super._reset(),this._debouncedCalculateState.cancel()}_observerCallback(e){let[t]=e;t&&(this._isIntersecting=t.isIntersecting,this._thumbRect=t.boundingClientRect,t.isIntersecting&&!this._renderedOnce&&(this.render(),this._renderedOnce=!0))}_handleEntryId(e){this._reset();let t=this.uploadCollection?.read(e);this._entry=t,t&&(this._subEntry("isQueuedForValidation",()=>{this._debouncedCalculateState()}),this._subEntry("isValidationPending",()=>{this._debouncedCalculateState()}),this._subEntry("uploadProgress",()=>{this._debouncedCalculateState()}),this._subEntry("isQueuedForUploading",()=>{this._debouncedCalculateState()}),this._subEntry("fileName",r=>{this.$.itemName=r||t.getValue("externalUrl")||this.l10n("file-no-name"),this._debouncedCalculateState()}),this._subEntry("externalUrl",r=>{this.$.itemName=t.getValue("fileName")||r||this.l10n("file-no-name")}),this._subEntry("fileInfo",()=>{this._debouncedCalculateState()}),this._subEntry("errors",()=>this._debouncedCalculateState()),this._subEntry("isUploading",()=>this._debouncedCalculateState()),this._subEntry("fileSize",()=>this._debouncedCalculateState()),this._subEntry("mimeType",()=>this._debouncedCalculateState()),this._subEntry("isImage",()=>this._debouncedCalculateState()))}_updateShowFileNames(e){if(this.cfg.filesViewMode==="list"){this.$.showFileNames=!0;return}this.$.showFileNames=e}initCallback(){super.initCallback(),this.sub("uid",e=>{this._handleEntryId(e)}),this.sub("state",e=>{this._handleState(e)}),this.subConfigValue("useCloudImageEditor",()=>this._debouncedCalculateState()),this.subConfigValue("filesViewMode",e=>{this._updateShowFileNames(this.cfg.gridShowFileNames),this.setAttribute("mode",e)}),this.subConfigValue("gridShowFileNames",e=>{this._updateShowFileNames(e)}),this.onclick=()=>{i.activeInstances.forEach(e=>{e===this?e.setAttribute("focused",""):e.removeAttribute("focused")})},this.sub("*uploadTrigger",e=>{this._entry&&!e.has(this._entry.uid)||setTimeout(()=>this.isConnected&&this.upload())}),i.activeInstances.add(this)}destroyCallback(){super.destroyCallback(),i.activeInstances.delete(this),this._reset()}connectedCallback(){super.connectedCallback(),this._observer=new window.IntersectionObserver(this._observerCallback.bind(this),{threshold:[0,1]}),this._observer.observe(this)}disconnectedCallback(){super.disconnectedCallback(),this._observer?.disconnect()}_settingsOfShrink(){return _n(this.cfg.imageShrink)}async _processShrink(e){let t=this._settingsOfShrink();return t?await bn(e,t):(console.warn("Image shrink settings are invalid, skipping shrinking"),e)}upload=this._withEntry(async e=>{if(!this.uploadCollection.read(e.uid)||e.getValue("fileInfo")||e.getValue("isUploading")||e.getValue("errors").length>0||e.getValue("isValidationPending"))return;let t=this.cfg.multiple?this.cfg.multipleMax:1;if(!(t&&this.uploadCollection.size>t)){e.setMultipleValues({isUploading:!0,errors:[],isQueuedForUploading:!0}),this._debouncedCalculateState();try{let r=new AbortController;e.setValue("abortController",r);let o=s(async()=>{e.setValue("isQueuedForUploading",!1);let a=e.getValue("file");if(a instanceof File&&this.cfg.imageShrink)try{a=await this._processShrink(a)}catch{}let l=a||e.getValue("externalUrl")||e.getValue("uuid");if(!l)throw new Error("No file input");let d={...await this.getUploadClientOptions(),fileName:e.getValue("fileName")??void 0,source:e.getValue("source")??void 0,onProgress:s(u=>{if(u.isComputable){let p=u.value*100;e.setValue("uploadProgress",p)}},"onProgress"),signal:r.signal,metadata:await this.getMetadataFor(e.uid)};return this.debugPrint("upload options",l,d),Cr(l,d)},"uploadTask"),n=await this.$["*uploadQueue"].add(o);e.setMultipleValues({fileInfo:n,isQueuedForUploading:!1,isUploading:!1,fileName:n.originalFilename,fileSize:n.size,isImage:n.isImage??!1,mimeType:n.contentInfo?.mime?.mime??n.mimeType,uuid:n.uuid,cdnUrl:e.getValue("cdnUrl")??n.cdnUrl,cdnUrlModifiers:e.getValue("cdnUrlModifiers")??"",uploadProgress:100,source:e.getValue("source")??null}),e===this._entry&&this._debouncedCalculateState()}catch(r){this.telemetryManager.sendEventError(r,"file upload. Failed to upload file"),r instanceof ke&&r.isCancel?e.setMultipleValues({isUploading:!1,uploadProgress:0}):r instanceof De?e.setMultipleValues({isUploading:!1,uploadProgress:0,uploadError:r}):(console.error("Unknown upload error",r),e.setMultipleValues({isUploading:!1,uploadProgress:0,uploadError:new Error("Something went wrong",{cause:r})})),e===this._entry&&this._debouncedCalculateState()}}});static template=`<div class="uc-inner" set="@finished: isFinished; @uploading: isUploading; @failed: isFailed; @focused: isFocused"><uc-thumb set="uid:uid;badgeIcon:badgeIcon"></uc-thumb><div aria-atomic="true" aria-live="polite" class="uc-file-name-wrapper" set="@aria-label:ariaLabelStatusFile;"><span class="uc-file-name" set="@hidden: !showFileNames">{{itemName}}</span><span class="uc-file-error" set="@hidden: !errorText;">{{errorText}}</span><span class="uc-file-hint" set="@hidden: !hint">{{hint}}</span></div><div class="uc-file-actions"><button type="button" l10n="@title:file-item-edit-button;@aria-label:file-item-edit-button" class="uc-edit-btn uc-mini-btn" set="onclick: onEdit; @hidden: !isEditable" ><uc-icon name="edit-file"></uc-icon></button><button type="button" l10n="@title:file-item-remove-button;@aria-label:file-item-remove-button" class="uc-remove-btn uc-mini-btn" set="onclick: onRemove;" ><uc-icon name="remove-file"></uc-icon></button><button type="button" class="uc-upload-btn uc-mini-btn" set="onclick: onUpload;"><uc-icon name="upload"></uc-icon></button></div><uc-progress-bar class="uc-progress-bar" set="value: progressValue; visible: progressVisible; @hasFileName: showFileNames;" ></uc-progress-bar></div>`;static activeInstances=new Set};var Gi=class extends M{static{s(this,"FormInput")}requireCtxName=!0;_validationInputElement=null;_dynamicInputsContainer=null;_createValidationInput(){let e=document.createElement("input");return e.type="text",e.name=this.ctxName,e.required=this.cfg.multipleMin>0,e.tabIndex=-1,_t(e,{opacity:0,height:0,width:0}),e}initCallback(){super.initCallback(),this._validationInputElement=this._createValidationInput(),this.appendChild(this._validationInputElement),this.sub("*collectionState",e=>{{if(!this._dynamicInputsContainer){let n=document.createElement("div");this.appendChild(n),this._dynamicInputsContainer=n}if(!this._validationInputElement){let n=this._createValidationInput();this.appendChild(n),this._validationInputElement=n}if(this._dynamicInputsContainer.innerHTML="",e.status==="uploading"||e.status==="idle"){this._validationInputElement.value="",this._validationInputElement.setCustomValidity("");return}if(e.status==="failed"){let n=e.errors[0]?.message;this._validationInputElement.value="",this._validationInputElement.setCustomValidity(n??"");return}let t=e.group?e.group:null;if(t){this._validationInputElement.value=t.cdnUrl??"",this._validationInputElement.setCustomValidity("");return}let r=e.allEntries.map(n=>n.cdnUrl).filter(n=>typeof n=="string");if(!this.cfg.multiple&&r.length===1&&r[0]){this._validationInputElement.value=r[0],this._validationInputElement.setCustomValidity("");return}this._validationInputElement.remove(),this._validationInputElement=null;let o=new DocumentFragment;for(let n of r){let a=document.createElement("input");a.type="hidden",a.name=`${this.ctxName}[]`,a.value=n,o.appendChild(a)}this._dynamicInputsContainer.replaceChildren(o)}},!1)}};var ht=class extends b{static{s(this,"Icon")}constructor(){super(),this.init$={...this.init$,name:"",href:""}}initCallback(){super.initCallback(),this.sub("name",e=>{if(!e)return;let t=`#uc-icon-${e}`;this.subConfigValue("iconHrefResolver",r=>{r&&(t=r(e)??t),this.$.href=t})}),this.setAttribute("aria-hidden","true")}};ht.template=`<svg ref="svg" xmlns="http://www.w3.org/2000/svg"><use set="@href: href;"></use></svg>`;ht.bindAttributes({name:"name"});var wn=s(i=>[...new Set(i)],"uniqueArray");var mt="--uc-img-",eo="unresolved";var to=!window.location.host.trim()||window.location.host.includes(":")||window.location.hostname.includes("localhost"),io=3e3,ro=5e3,oo=Object.freeze({PREVIEW:"PREVIEW",MAIN:"MAIN"});var Nc="https://ucarecdn.com",Kt=Object.freeze({"dev-mode":{},pubkey:{},uuid:{},src:{},lazy:{default:1},intersection:{},breakpoints:{},"cdn-cname":{default:Nc},"proxy-cname":{},"secure-delivery-proxy":{},"hi-res-support":{default:1},"ultra-res-support":{},format:{},"cdn-operations":{},progressive:{},quality:{},"is-background-for":{},"is-preview-blur":{default:1}});var Cn=Object.create(null);for(let i in Kt)Cn[mt+i]=Kt[i]?.default||"";var Wi=class extends ve{static{s(this,"ImgConfig")}cssInit$=Cn;$$(e){return this.$[mt+e]}set$$(e){for(let t in e)this.$[mt+t]=e[t]}sub$$(e,t){this.sub(mt+e,r=>{r===null||r===""||t(r)})}analyticsParams(){return`-/@clib/${Te}/${xe}/uc-img/`}initAttributes(e){[...this.attributes].forEach(t=>{Kt[t.name]||e.setAttribute(t.name,t.value)})}initIntersection(e,t){let r={root:null,rootMargin:"0px"};this._isnObserver=new IntersectionObserver(o=>{o.forEach(n=>{n.isIntersecting&&(t(),this._isnObserver.unobserve(e))})},r),this._isnObserver.observe(e),this._observed||(this._observed=new Set),this._observed.add(e)}destroyCallback(){super.destroyCallback(),this._isnObserver&&(this._observed.forEach(e=>{this._isnObserver.unobserve(e)}),this._isnObserver=null),E.deleteCtx(this)}static get observedAttributes(){return Object.keys(Kt)}attributeChangedCallback(e,t,r){window.setTimeout(()=>{this.$[mt+e]=r})}};var En=s(i=>Object.entries(i).filter(([e,t])=>t!==void 0&&t!=="").map(([e,t])=>e==="cdn-operations"||e==="analytics"?t:`${e}/${t}`),"parseObjectToString");var Zi=class extends Wi{static{s(this,"ImgBase")}_img=new Image;_imgPreview=new Image;_fmtAbs(e){return!e.includes("//")&&!to&&(e=new URL(e,document.baseURI).href),e}_validateSize(e){if(e?.trim()!==""){let t=e.match(/\d+/)[0],r=e.match(/[a-zA-Z]+/)[0],o=parseInt(t,10);if(Number(o)>ro&&this.hasFormatJPG)return ro+r;if(Number(o)>io&&!this.hasFormatJPG)return io+r}return e}_getCdnModifiers(e,t){let r={format:this.$$("format"),quality:this.$$("quality"),resize:this._validateSize(e),blur:t,"cdn-operations":this.$$("cdn-operations"),analytics:this.analyticsParams()};return j(...En(r))}_getUrlBase(e="",t=""){if(this.$$("src").startsWith("data:")||this.$$("src").startsWith("blob:"))return this.$$("src");if(to&&this.$$("src")&&!this.$$("src").includes("//"))return this._proxyUrl(this.$$("src"));let r=this._getCdnModifiers(e,t);if(this.$$("src").startsWith(this.$$("cdn-cname")))return D(this.$$("src"),r);if(this.$$("cdn-cname")&&this.$$("uuid"))return this._proxyUrl(D(Se(this.$$("cdn-cname"),this.$$("uuid")),r));if(this.$$("uuid"))return this._proxyUrl(D(Se(this.$$("cdn-cname"),this.$$("uuid")),r));if(this.$$("proxy-cname"))return this._proxyUrl(D(this.$$("proxy-cname"),r,this._fmtAbs(this.$$("src"))));if(this.$$("pubkey"))return this._proxyUrl(D(`https://${this.$$("pubkey")}.ucr.io/`,r,this._fmtAbs(this.$$("src"))))}_proxyUrl(e){return this.$$("secure-delivery-proxy")?Et(this.$$("secure-delivery-proxy"),{previewUrl:e},{transform:s(r=>window.encodeURIComponent(r),"transform")}):e}_getElSize(e,t=1,r=!0){let o=e.getBoundingClientRect(),n=t*Math.round(o.width),a=r?"":t*Math.round(o.height);return n||a?`${n||""}x${a||""}`:null}_setupEventProxy(e){let t=s(o=>{o.stopPropagation();let n=new Event(o.type,o);this.dispatchEvent(n)},"proxifyEvent"),r=["load","error"];for(let o of r)e.addEventListener(o,t)}get img(){return this.hasPreviewImage||(this._setupConfigForImage({elNode:this._img}),this.appendChild(this._img)),this._img}get currentImg(){return this.hasPreviewImage?{type:oo.PREVIEW,img:this._imgPreview}:{type:oo.MAIN,img:this.img}}get hasPreviewImage(){return this.$$("is-preview-blur")}get bgSelector(){return this.$$("is-background-for")}get breakpoints(){if(this.$$("breakpoints")){let e=F(this.$$("breakpoints"));return wn(e.map(t=>parseInt(t,10)))}else return null}get hasFormatJPG(){return this.$$("format").toLowerCase()==="jpeg"}renderBg(e){let t=new Set;t.add(`url("${this._getUrlBase(this._getElSize(e))}") 1x`),this.$$("hi-res-support")&&t.add(`url("${this._getUrlBase(this._getElSize(e,2))}") ${2}x`),this.$$("ultra-res-support")&&t.add(`url("${this._getUrlBase(this._getElSize(e,3))}") ${3}x`);let r=`image-set(${[...t].join(", ")})`;e.style.setProperty("background-image",r),e.style.setProperty("background-image","-webkit-"+r)}getSrcset(){let e=new Set;return this.breakpoints?this.breakpoints.forEach(t=>{e.add(this._getUrlBase(t+"x")+` ${this._validateSize(t+"w")}`),this.$$("hi-res-support")&&e.add(this._getUrlBase(t*2+"x")+` ${this._validateSize(t*2+"w")}`),this.$$("ultra-res-support")&&e.add(this._getUrlBase(t*3+"x")+` ${this._validateSize(t*3+"w")}`)}):(e.add(this._getUrlBase(this._getElSize(this.currentImg.img))+" 1x"),this.$$("hi-res-support")&&e.add(this._getUrlBase(this._getElSize(this.currentImg.img,2))+" 2x"),this.$$("ultra-res-support")&&e.add(this._getUrlBase(this._getElSize(this.currentImg.img,3))+" 3x")),[...e].join()}getSrc(){return this._getUrlBase()}get srcUrlPreview(){return this._getUrlBase("100x","100")}renderBackground(){[...document.querySelectorAll(this.bgSelector)].forEach(e=>{this.$$("intersection")?this.initIntersection(e,()=>{this.renderBg(e)}):this.renderBg(e)})}_appendURL({elNode:e,src:t,srcset:r}){t&&(e.src=t),r&&(e.srcset=r)}_setupConfigForImage({elNode:e}){this._setupEventProxy(e),this.initAttributes(e)}loaderImage({src:e,srcset:t,elNode:r}){return new Promise((o,n)=>{this._setupConfigForImage({elNode:r}),r.setAttribute(eo,""),r.addEventListener("load",()=>{r.removeAttribute(eo),o(r)}),r.addEventListener("error",()=>{n(!1)}),this._appendURL({elNode:r,src:e,srcset:t})})}async renderImage(){if(this.$$("intersection")){this.hasPreviewImage&&(this._setupConfigForImage({elNode:this._imgPreview}),this.appendChild(this._imgPreview)),this.initIntersection(this.currentImg.img,async()=>{this.hasPreviewImage&&(this._imgPreview.src=this.srcUrlPreview);try{await this.loaderImage({src:this.getSrc(),srcset:this.getSrcset(),elNode:this._img}),this.hasPreviewImage&&await this._imgPreview.remove(),this.appendChild(this._img)}catch{this.hasPreviewImage&&await this._imgPreview?.remove(),this.appendChild(this._img)}});return}try{this.hasPreviewImage&&(await this.loaderImage({src:this.srcUrlPreview,elNode:this._imgPreview}),this.appendChild(this._imgPreview)),await this.loaderImage({src:this.getSrc(),srcset:this.getSrcset(),elNode:this._img}),this.hasPreviewImage&&await this._imgPreview?.remove(),this.appendChild(this._img)}catch{this.hasPreviewImage&&await this._imgPreview?.remove(),this.appendChild(this._img)}}init(){this.bgSelector?this.renderBackground():this.renderImage()}};var Yi=class extends Zi{static{s(this,"Img")}initCallback(){super.initCallback(),this.sub$$("src",()=>{this.init()}),this.sub$$("uuid",()=>{this.init()}),this.sub$$("lazy",e=>{!this.$$("is-background-for")&&!this.$$("is-preview-blur")&&(this.img.loading=e?"lazy":"eager")})}};var so=null,Gt=class extends b{static{s(this,"Modal")}static styleAttrs=[...super.styleAttrs,"uc-modal"];static StateConsumerScope="modal";_mouseDownTarget;handleModalOpen;handleModalClose;handleModalCloseAll;constructor(){super(),this.init$={...this.init$,closeClicked:this._handleDialogClose}}_handleBackdropClick=s(()=>{this._closeDialog()},"_handleBackdropClick");_closeDialog=s(()=>{this.modalManager?.close(this.id),this.modalManager?.hasActiveModals||(document.body.style.overflow="")},"_closeDialog");_handleDialogClose=s(()=>{this._closeDialog()},"_handleDialogClose");_handleDialogMouseDown=s(e=>{this._mouseDownTarget=e.target},"_handleDialogMouseDown");_handleDialogMouseUp=s(e=>{let t=e.target;t===this.ref.dialog&&t===this._mouseDownTarget&&this._closeDialog()},"_handleDialogMouseUp");show(){let e=this.ref.dialog;typeof e.showModal=="function"?(this.setAttribute("aria-modal","true"),e.showModal()):e.setAttribute("open",""),this.cfg.modalScrollLock&&(document.body.style.overflow="hidden")}hide(){let e=this.ref.dialog;typeof e.close=="function"?(this.setAttribute("aria-modal","false"),e.close()):e.removeAttribute("open")}_handleModalOpen({id:e}){e===this.id?(so=e,this.show(),this.emit(x.MODAL_OPEN,{modalId:e},{debounce:!0})):this.hide()}_handleModalClose({id:e}){e===this.id&&(this.hide(),this.emit(x.MODAL_CLOSE,{modalId:e,hasActiveModals:this.modalManager?.hasActiveModals},{debounce:!0}))}_handleModalCloseAll(e){this.hide(),so===this.id&&this.emit(x.MODAL_CLOSE,{modalId:so,hasActiveModals:this.modalManager?.hasActiveModals},{debounce:!0})}initCallback(){super.initCallback(),this.modalManager?.registerModal(this.id,this);let e=this.ref.dialog;e.addEventListener("close",this._handleDialogClose),e.addEventListener("mousedown",this._handleDialogMouseDown),e.addEventListener("mouseup",this._handleDialogMouseUp),this.subConfigValue("modalBackdropStrokes",t=>{t?this.setAttribute("strokes",""):this.removeAttribute("strokes")}),this.handleModalOpen=this._handleModalOpen.bind(this),this.handleModalClose=this._handleModalClose.bind(this),this.handleModalCloseAll=this._handleModalCloseAll.bind(this),this.modalManager?.subscribe($.OPEN,this.handleModalOpen),this.modalManager?.subscribe($.CLOSE,this.handleModalClose),this.modalManager?.subscribe($.CLOSE_ALL,this.handleModalCloseAll)}destroyCallback(){super.destroyCallback(),document.body.style.overflow="",this._mouseDownTarget=void 0;let e=this.ref.dialog;e.removeEventListener("close",this._handleDialogClose),e.removeEventListener("mousedown",this._handleDialogMouseDown),e.removeEventListener("mouseup",this._handleDialogMouseUp),this.modalManager?.unsubscribe($.OPEN,this.handleModalOpen),this.modalManager?.unsubscribe($.CLOSE,this.handleModalClose),this.modalManager?.unsubscribe($.CLOSE_ALL,this.handleModalCloseAll)}};Gt.template=`<dialog ref="dialog"><slot></slot></dialog>`;var Wt=class extends b{static{s(this,"ProgressBar")}_value=0;_visible=!0;constructor(){super(),this.init$={...this.init$,width:0,opacity:0}}initCallback(){super.initCallback();let e=s(()=>{let t=this.ref.fakeProgressLine;if(!this._visible){t.classList.add("uc-fake-progress--hidden");return}this._value>0&&t.classList.add("uc-fake-progress--hidden")},"handleFakeProgressAnimation");this.ref.fakeProgressLine.addEventListener("animationiteration",e),this.defineAccessor("value",t=>{t!=null&&(this._value=t,this._visible&&this.style.setProperty("--l-progress-value",this._value.toString()))}),this.defineAccessor("visible",t=>{this._visible=t,this.classList.toggle("uc-progress-bar--hidden",!t)})}};Wt.template=`<div ref="fakeProgressLine" class="uc-fake-progress"></div><div ref="realProgressLine" class="uc-progress"></div>`;var qt=class extends M{static{s(this,"ProgressBarCommon")}_unobserveCollectionCb;constructor(){super(),this.init$={...this.init$,visible:!1,value:0,"*commonProgress":0}}initCallback(){super.initCallback(),this._unobserveCollectionCb=this.uploadCollection.observeProperties(()=>{let e=this.uploadCollection.items().some(t=>this.uploadCollection.read(t)?.getValue("isUploading")??!1);this.$.visible=e}),this.sub("visible",e=>{e?this.setAttribute("active",""):this.removeAttribute("active")}),this.sub("*commonProgress",e=>{this.$.value=e})}destroyCallback(){super.destroyCallback(),this._unobserveCollectionCb?.(),this._unobserveCollectionCb=void 0}};qt.template='<uc-progress-bar set="visible: visible; value: value"></uc-progress-bar>';var Xt=class extends b{static{s(this,"Select")}constructor(){super(),this.init$={...this.init$,currentText:"",options:[],selectHtml:"",onSelect:s(e=>{e.preventDefault(),e.stopPropagation();let t=this.ref.select;this.value=t.value,this.$.currentText=this.$.options.find(r=>r.value===this.value)?.text||"",this.dispatchEvent(new Event("change"))},"onSelect")}}initCallback(){super.initCallback(),this.sub("options",e=>{this.$.currentText=e?.[0]?.text||"";let t="";e?.forEach(r=>{t+=`<option value="${r.value}">${r.text}</option>`}),this.$.selectHtml=t})}};Xt.template='<select ref="select" set="innerHTML: selectHtml; onchange: onSelect"></select>';var ft=class extends M{static{s(this,"SimpleBtn")}static styleAttrs=[...super.styleAttrs,"uc-simple-btn"];couldBeCtxOwner=!0;constructor(){super(),this.init$={...this.init$,withDropZone:!0,onClick:s(()=>{this.api.initFlow()},"onClick"),"button-text":""}}initCallback(){super.initCallback(),this.defineAccessor("dropzone",e=>{typeof e>"u"||(this.$.withDropZone=k(e))}),this.subConfigValue("multiple",e=>{this.$["button-text"]=e?"upload-files":"upload-file"})}};ft.template=`<uc-drop-area set="@disabled: !withDropZone"><button type="button" set="onclick: onClick"><uc-icon name="upload"></uc-icon><span l10n="button-text"></span><slot></slot><div class="uc-visual-drop-area" l10n="drop-files-here"></div></button></uc-drop-area>`;ft.bindAttributes({dropzone:null});var Bc="src-type-",gt=class extends M{static{s(this,"SourceBtn")}couldBeCtxOwner=!0;type=void 0;_registeredTypes={};constructor(){super(),this.init$={...this.init$,iconName:"default","src-type":""}}initTypes(){this.registerType({type:U.LOCAL,activate:s(()=>(this.api.openSystemDialog(),!1),"activate")}),this.registerType({type:U.URL,activity:g.activities.URL,textKey:"from-url"}),this.registerType({type:U.CAMERA,activity:g.activities.CAMERA,activate:s(()=>{let e=Ve.htmlMediaCapture;return e&&this.api.openSystemDialog({captureCamera:!0}),!e},"activate")}),this.registerType({type:"draw",activity:g.activities.DRAW,icon:"edit-draw"});for(let e of Object.values($r))this.registerType({type:e,activity:g.activities.CAMERA,activate:s(()=>{let t=Ve.htmlMediaCapture;return t&&this.api.openSystemDialog({captureCamera:!0,modeCamera:e==="mobile-photo-camera"?w.PHOTO:w.VIDEO}),!t},"activate")});for(let e of Object.values(ae))this.registerType({type:e,activity:g.activities.EXTERNAL,activityParams:{externalSourceType:e}})}initCallback(){super.initCallback(),this.initTypes(),this.defineAccessor("type",e=>{e&&this.applyType(e)})}registerType(e){this._registeredTypes[e.type]=e}getType(e){return this._registeredTypes[e]}activate(){if(!this.type)return;let e=this._registeredTypes[this.type];if(!e)return;let{activity:t,activate:r,activityParams:o={}}=e;(r?r():!!t)&&t&&(this.modalManager?.open(t),this.set$({"*currentActivityParams":o,"*currentActivity":t}))}applyType(e){let t=this._registeredTypes[e];if(!t){console.warn(`Unsupported source type: ${e}`);return}let{textKey:r=e,icon:o=e}=t;this.$["src-type"]=`${Bc}${r}`,this.$.iconName=o,this.onclick=()=>{this.activate()}}};gt.template=`<button type="button"><uc-icon set="@name: iconName"></uc-icon><div class="uc-txt" l10n="src-type"></div></button>`;gt.bindAttributes({type:null});var Qi=class extends b{static{s(this,"SourceList")}initCallback(){super.initCallback(),this.subConfigValue("sourceList",e=>{let t=F(e),r="";t.forEach(o=>{if(o==="instagram"){console.error("Instagram source was removed because the Instagram Basic Display API hasn't been available since December 4, 2024. Official statement, see here:https://developers.facebook.com/blog/post/2024/09/04/update-on-instagram-basic-display-api/?locale=en_US");return}if(o==="camera"&&Ve.htmlMediaCapture){this.subConfigValue("cameraModes",n=>{let a=X(n);a.forEach(l=>{r+=`<uc-source-btn role="listitem" type="mobile-${l}-camera"></uc-source-btn>`}),a.length===0&&(r+='<uc-source-btn role="listitem" type="mobile-photo-camera"></uc-source-btn>')});return}r+=`<uc-source-btn role="listitem" type="${o}"></uc-source-btn>`}),this.cfg.sourceListWrap?this.innerHTML=r:this.outerHTML=r})}};var Zt=class extends ve{static{s(this,"Spinner")}};Zt.template='<div class="uc-spinner"></div>';var Yt=class extends g{static{s(this,"StartFrom")}historyTracked=!0;activityType=g.activities.START_FROM;initCallback(){super.initCallback(),this.registerActivity(this.activityType??"")}};Yt.template='<div class="uc-content"><slot></slot></div>';function no(i,e=40){if(i.type==="image/svg+xml")return URL.createObjectURL(i);let t=document.createElement("canvas"),r=t.getContext("2d");if(!r)return Promise.reject(new Error("Canvas context not supported"));let o=new Image,n=new Promise((a,l)=>{o.onload=()=>{let c=o.height/o.width;c>1?(t.width=e,t.height=e*c):(t.height=e,t.width=e/c),r.fillStyle="rgb(240, 240, 240)",r.fillRect(0,0,t.width,t.height),r.drawImage(o,0,0,t.width,t.height),t.toBlob(d=>{if(!d){l();return}let u=URL.createObjectURL(d);a(u)})},o.onerror=c=>{l(c)}});return o.src=URL.createObjectURL(i),n}s(no,"generateThumb");function zc(i){let e=new Blob([i],{type:"image/svg+xml"});return URL.createObjectURL(e)}s(zc,"createSvgBlobUrl");function Ji(i="hsl(209, 21%, 65%)",e=32,t=32){return zc(`<svg width="${e}" height="${t}" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" fill="${i}" d="M9.68848 8.70068C9.68848 8.42454 9.91233 8.20068 10.1885 8.20068H15.0885C15.2211 8.20068 15.3483 8.25336 15.442 8.34713L20.342 13.2471C20.4358 13.3409 20.4885 13.4681 20.4885 13.6007V21.3007C20.4885 21.5768 20.2646 21.8007 19.9885 21.8007H10.1885C9.91233 21.8007 9.68848 21.5768 9.68848 21.3007V8.70068ZM10.6885 9.20068V20.8007H19.4885V14.1007L15.0885 14.1007C14.8123 14.1007 14.5885 13.8768 14.5885 13.6007L14.5885 9.20068H10.6885ZM15.5885 9.90779L18.7814 13.1007L15.5885 13.1007L15.5885 9.90779Z"/></svg>`)}s(Ji,"fileCssBg");var Hc=3e3,vt=class extends pt{static{s(this,"Thumb")}_renderedGridOnce=!1;_thumbRect=null;_isIntersecting=!1;_firstViewMode=this.cfg.filesViewMode;_observer;constructor(){super(),this.init$={...this.init$,thumbUrl:"",badgeIcon:"",uid:""}}_calculateThumbSize(e=!1){e&&(this._thumbRect=this.getBoundingClientRect());let t=Math.max(parseInt(String(this?._thumbRect?.height||0),10),parseInt(String(this?._thumbRect?.width||0),10),this.cfg.thumbSize);return window.devicePixelRatio>1&&(t*=window.devicePixelRatio),Math.min(t,Hc)}_generateThumbnail=this._withEntry(async(e,t=!1)=>{let r=e.getValue("fileInfo"),o=e.getValue("isImage"),n=e.getValue("uuid"),a=e.getValue("thumbUrl"),l=this._calculateThumbSize(t);if(r&&o&&n){let d=await this.proxyUrl(D(Se(this.cfg.cdnCname,n),j(e.getValue("cdnUrlModifiers"),"stretch/off",`scale_crop/${l}x${l}/center`)));if(a===d)return;let{promise:u}=He(d);u.then(()=>{e.setValue("thumbUrl",d),a?.startsWith("blob:")&&URL.revokeObjectURL(a)}).catch(async()=>{if(!a?.startsWith("blob:"))try{let p=e.getValue("file");if(!p)return;let h=await no(p,l);e.setValue("thumbUrl",h)}catch(p){this.telemetryManager.sendEventError(p,"thumbnail generation. Failed to generate thumb from file");let h=window.getComputedStyle(this).getPropertyValue("--uc-muted-foreground");e.setValue("thumbUrl",Ji(h))}});return}if(e.getValue("thumbUrl"))return;let c=e.getValue("file");if(c?.type.includes("image"))try{let d=await no(c,l);e.setValue("thumbUrl",d)}catch(d){this.telemetryManager.sendEventError(d,"thumbnail generation. Failed to generate thumb from file");let u=window.getComputedStyle(this).getPropertyValue("--uc-muted-foreground");e.setValue("thumbUrl",Ji(u))}else{let d=window.getComputedStyle(this).getPropertyValue("--uc-muted-foreground");e.setValue("thumbUrl",Ji(d))}});_debouncedGenerateThumb=L(this._generateThumbnail.bind(this),100);_observerCallback(e){let[t]=e;t&&(this._isIntersecting=t.isIntersecting,t.isIntersecting&&(this._thumbRect=t.boundingClientRect,this._debouncedGenerateThumb(),this._observer?.disconnect()),t.intersectionRatio===0&&this._debouncedGenerateThumb.cancel())}_reset(){super._reset(),this._debouncedGenerateThumb.cancel()}_handleEntryId(e){this._reset();let t=this.uploadCollection?.read(e);this._entry=t,t&&(this._subEntry("fileInfo",r=>{r?.isImage&&this._isIntersecting&&this._debouncedGenerateThumb()}),this._subEntry("thumbUrl",r=>{this.$.thumbUrl=r?`url(${r})`:""}),this._subEntry("cdnUrlModifiers",()=>{this._isIntersecting&&this._debouncedGenerateThumb()}),this._isIntersecting&&this._debouncedGenerateThumb())}initCallback(){super.initCallback(),this.defineAccessor("badgeIcon",e=>{this.$.badgeIcon=e}),this.defineAccessor("uid",e=>{this.set$({uid:e})}),this.sub("uid",e=>{this._handleEntryId(e)}),this.subConfigValue("filesViewMode",e=>{e==="grid"&&!this._renderedGridOnce&&(this._firstViewMode==="list"&&this._debouncedGenerateThumb(!0),this._renderedGridOnce=!0)}),this.setAttribute("role","img")}connectedCallback(){super.connectedCallback(),this._observer=new window.IntersectionObserver(this._observerCallback.bind(this),{threshold:.1}),this._observer.observe(this)}disconnectedCallback(){super.disconnectedCallback(),this._entrySubs=new Set,this._debouncedGenerateThumb.cancel(),this._observer?.disconnect()}};vt.template=`<div class="uc-thumb" set="style.backgroundImage: thumbUrl"><div class="uc-badge"><uc-icon set="@name: badgeIcon"></uc-icon></div></div>`;vt.bindAttributes({badgeIcon:null,uid:null});var er=class extends M{static{s(this,"UploadCtxProvider")}static styleAttrs=["uc-wgt-common"];static EventType=x;requireCtxName=!0;initCallback(){super.initCallback(),this.$["*eventEmitter"].bindTarget(this)}destroyCallback(){super.destroyCallback(),this.$["*eventEmitter"].unbindTarget(this)}};var Qt=class extends M{static{s(this,"UploadList")}couldBeCtxOwner=!0;historyTracked=!0;activityType=g.activities.UPLOAD_LIST;constructor(){super(),this.init$={...this.init$,doneBtnVisible:!1,doneBtnEnabled:!1,uploadBtnVisible:!1,addMoreBtnVisible:!1,addMoreBtnEnabled:!1,headerText:"",commonErrorMessage:"",hasFiles:!1,onAdd:s(()=>{this.telemetryManager.sendEvent({eventType:O.ACTION_EVENT,payload:{metadata:{event:"add-more",node:this.tagName}}}),this.api.initFlow(!0)},"onAdd"),onUpload:s(()=>{this.emit(x.UPLOAD_CLICK),this.api.uploadAll(),this._throttledHandleCollectionUpdate()},"onUpload"),onDone:s(()=>{this.emit(x.DONE_CLICK,this.api.getOutputCollectionState()),this.api.doneFlow()},"onDone"),onCancel:s(()=>{this.telemetryManager.sendEvent({eventType:O.ACTION_EVENT,payload:{metadata:{event:"clear-all",node:this.tagName}}}),this.uploadCollection.clearAll()},"onCancel")}}_throttledHandleCollectionUpdate=ot(()=>{this.isConnected&&(this._updateUploadsState(),!this.couldOpenActivity&&this.$["*currentActivity"]===this.activityType&&this.historyBack(),this.cfg.confirmUpload||this.api.uploadAll())},300);_updateUploadsState(){let e=this.api.getOutputCollectionState(),t={total:e.totalCount,succeed:e.successCount,uploading:e.uploadingCount,failed:e.failedCount,validatingBeforeUploading:e.idleEntries.filter(h=>h.isValidationPending).length},r=!e.errors.some(h=>h.type==="TOO_MANY_FILES"||h.type==="TOO_FEW_FILES"),o=e.errors.some(h=>h.type==="TOO_MANY_FILES"),n=e.totalCount===(this.cfg.multiple?this.cfg.multipleMax:1),a=e.allEntries.some(h=>h.isValidationPending),l=t.failed===0&&e.errors.length===0&&!a,c=!1,d=!1,u=!1;if(t.total-t.succeed-t.uploading-t.failed>0&&r&&l)c=!0;else{d=!0;let h=this.cfg.groupOutput?!!e.group:!0;u=t.total===t.succeed&&r&&l&&h}this.set$({doneBtnVisible:d,doneBtnEnabled:u,uploadBtnVisible:c,addMoreBtnEnabled:t.total===0||!o&&!n,addMoreBtnVisible:!n||this.cfg.multiple,hasFiles:t.total>0}),this.bindL10n("headerText",()=>this._getHeaderText(t))}_getHeaderText(e){let t=s(r=>{let o=e[r];return r==="uploading"&&(o+=e.validatingBeforeUploading),this.l10n(`header-${r}`,{count:o})},"localizedText");return e.uploading>0||e.validatingBeforeUploading>0?t("uploading"):e.failed>0?t("failed"):e.succeed>0?t("succeed"):t("total")}get couldOpenActivity(){return this.cfg.showEmptyList||this.uploadCollection.size>0}initCallback(){super.initCallback(),this.registerActivity(this.activityType),this.subConfigValue("multiple",this._throttledHandleCollectionUpdate),this.subConfigValue("multipleMin",this._throttledHandleCollectionUpdate),this.subConfigValue("multipleMax",this._throttledHandleCollectionUpdate),this.sub("*groupInfo",e=>{e&&this._throttledHandleCollectionUpdate()}),this.subConfigValue("filesViewMode",e=>{this.setAttribute("mode",e)}),this.sub("*currentActivity",e=>{!this.couldOpenActivity&&e===this.activityType&&(this.$["*currentActivity"]=this.initActivity)}),this.uploadCollection.observeProperties(this._throttledHandleCollectionUpdate),this.uploadCollection.observeCollection(this._throttledHandleCollectionUpdate),this.sub("*collectionErrors",e=>{let t=e.filter(r=>r.type!=="SOME_FILES_HAS_ERRORS")[0];if(!t){this.set$({commonErrorMessage:null});return}this.set$({commonErrorMessage:t.message})})}destroyCallback(){super.destroyCallback(),this.uploadCollection.unobserveProperties(this._throttledHandleCollectionUpdate),this.uploadCollection.unobserveCollection(this._throttledHandleCollectionUpdate)}};Qt.template=`<uc-activity-header><span aria-live="polite" class="uc-header-text">{{headerText}}</span><button type="button" class="uc-mini-btn uc-close-btn" set="onclick: *closeModal" l10n="@title:a11y-activity-header-button-close;@aria-label:a11y-activity-header-button-close" ><uc-icon name="close"></uc-icon></button></uc-activity-header><div class="uc-no-files" set="@hidden: hasFiles"><slot name="empty"><span l10n="no-files"></span></slot></div><div class="uc-files"><div class="uc-files-wrapper" repeat="*uploadList" repeat-item-tag="uc-file-item"></div><button type="button" class="uc-add-more-btn uc-secondary-btn" set="onclick: onAdd; @disabled: !addMoreBtnEnabled; @hidden: !addMoreBtnVisible" ><uc-icon name="add"></uc-icon><span l10n="add-more"></span></button></div><div class="uc-common-error" set="@hidden: !commonErrorMessage; textContent: commonErrorMessage;"></div><div class="uc-toolbar"><button type="button" class="uc-cancel-btn uc-secondary-btn" set="onclick: onCancel;" l10n="clear"></button><div class="uc-toolbar-spacer"></div><button type="button" class="uc-add-more-btn uc-secondary-btn" set="onclick: onAdd; @disabled: !addMoreBtnEnabled; @hidden: !addMoreBtnVisible" ><uc-icon name="add"></uc-icon><span l10n="add-more"></span></button><button type="button" class="uc-upload-btn uc-primary-btn" set="@hidden: !uploadBtnVisible; onclick: onUpload;" l10n="upload" ></button><button type="button" class="uc-done-btn uc-primary-btn" set="@hidden: !doneBtnVisible; onclick: onDone; @disabled: !doneBtnEnabled" l10n="done" ></button></div><uc-drop-area ghost></uc-drop-area>`;var Jt=class extends M{static{s(this,"UrlSource")}couldBeCtxOwner=!0;activityType=g.activities.URL;constructor(){super(),this.init$={...this.init$,importDisabled:!0,onUpload:s(e=>{e.preventDefault(),this.telemetryManager.sendEvent({eventType:O.ACTION_EVENT,payload:{metadata:{event:"upload-from-url",node:this.tagName}}});let t=this.ref.input.value;this.api.addFileFromUrl(t,{source:U.URL}),this.modalManager?.open(g.activities.UPLOAD_LIST),this.$["*currentActivity"]=g.activities.UPLOAD_LIST},"onUpload"),onCancel:s(()=>{this.historyBack()},"onCancel"),onInput:s(e=>{let t=e.target?.value??"";this.set$({importDisabled:!t})},"onInput")}}initCallback(){super.initCallback(),this.registerActivity(this.activityType??"",{onActivate:s(()=>{let e=this.ref.input;e.value="",e.focus()},"onActivate")})}};Jt.template=`<uc-activity-header><button type="button" class="uc-mini-btn" set="onclick: *historyBack" l10n="@title:back;@aria-label:back"><uc-icon name="back"></uc-icon></button><div><uc-icon name="url"></uc-icon><span l10n="caption-from-url"></span></div><button type="button" class="uc-mini-btn uc-close-btn" set="onclick: *closeModal" l10n="@title:a11y-activity-header-button-close;@aria-label:a11y-activity-header-button-close" ><uc-icon name="close"></uc-icon></button></uc-activity-header><form class="uc-content"><label><input placeholder="https://" class="uc-url-input" type="text" ref="input" set="oninput: onInput" /></label><button type="submit" class="uc-url-upload-btn uc-primary-btn" set="onclick: onUpload; @disabled: importDisabled" l10n="upload-url" ></button></form>`;var tr=class extends he{static{s(this,"CloudImageEditor")}static styleAttrs=[...super.styleAttrs,"uc-wgt-common"];constructor(){super(),this.init$={...this.init$,"*solution":this.tagName}}initCallback(){super.initCallback(),this.telemetryManager.sendEvent({eventType:O.INIT_SOLUTION}),this.a11y?.registerBlock(this)}};var ei=class extends ce{static{s(this,"FileUploaderInline")}static styleAttrs=[...super.styleAttrs,"uc-file-uploader-inline"];constructor(){super(),this.init$={...this.init$,couldCancel:!1,"*solution":this.tagName,cancel:s(()=>{if(this.couldHistoryBack){let e=this.$["*historyBack"];e?.();return}this.couldShowList&&(this.$["*currentActivity"]=g.activities.UPLOAD_LIST)},"cancel")}}get couldHistoryBack(){let e=this.$["*history"];return!e||e.length<=1?!1:e[e.length-1]!==g.activities.START_FROM}get couldShowList(){let e=this.$["*uploadList"];return this.cfg.showEmptyList||Array.isArray(e)&&e.length>0}initCallback(){super.initCallback(),this.telemetryManager.sendEvent({eventType:O.INIT_SOLUTION});let e=this.ref.uBlock;e&&(this.sub("*currentActivity",t=>{t||(this.$["*currentActivity"]=e.initActivity||g.activities.START_FROM)}),this.sub("*uploadList",t=>{Array.isArray(t)&&t.length>0&&this.$["*currentActivity"]===(e.initActivity||g.activities.START_FROM)&&(this.$["*currentActivity"]=g.activities.UPLOAD_LIST)}),this.sub("*history",()=>{this.$.couldCancel=this.couldHistoryBack||this.couldShowList}))}};ei.template=`<uc-start-from><uc-drop-area with-icon clickable></uc-drop-area><uc-source-list role="list" wrap></uc-source-list><button type="button" l10n="start-from-cancel" class="uc-cancel-btn uc-secondary-btn" set="onclick: cancel; @hidden: !couldCancel" ></button><uc-copyright></uc-copyright></uc-start-from><uc-upload-list ref="uBlock"></uc-upload-list><uc-camera-source></uc-camera-source><uc-url-source></uc-url-source><uc-external-source></uc-external-source><uc-cloud-image-editor-activity></uc-cloud-image-editor-activity>`;var ao="active",ir="",ti=class extends ce{static{s(this,"FileUploaderMinimal")}static styleAttrs=[...super.styleAttrs,"uc-file-uploader-minimal"];handleModalOpen;handleModalClose;constructor(){super(),this.init$={...this.init$,singleUpload:!1,isHiddenStartFrom:!1,classUploadList:ir,classStartFrom:ir,"*solution":this.tagName}}_handleModalOpen(e){e.id===g.activities.CLOUD_IMG_EDIT&&this.set$({classUploadList:ao}),this.$["*currentActivity"]===g.activities.UPLOAD_LIST&&this.set$({classUploadList:ao,isHiddenStartFrom:!0});let t=this.$["*uploadList"];(!t||t.length<=0)&&this.set$({classStartFrom:ao})}_handleModalClose(e){e.id===this.$["*currentActivity"]&&(this.$["*currentActivity"]=g.activities.UPLOAD_LIST,this.set$({isHiddenStartFrom:!1})),e.id===g.activities.CLOUD_IMG_EDIT&&(this.$["*currentActivity"]=g.activities.UPLOAD_LIST)}initCallback(){super.initCallback(),this.telemetryManager.sendEvent({eventType:O.INIT_SOLUTION});let e=this.ref.uBlock;e&&(this.sub("*currentActivity",t=>{t===g.activities.UPLOAD_LIST&&this.modalManager?.closeAll(),t||(this.$["*currentActivity"]=e.initActivity||g.activities.START_FROM)}),this.sub("*uploadList",t=>{Array.isArray(t)&&t.length>0?(this.$["*currentActivity"]=g.activities.UPLOAD_LIST,this.set$({classStartFrom:ir})):(this.set$({classUploadList:ir,isHiddenStartFrom:!1}),this.$["*currentActivity"]=e.initActivity||g.activities.START_FROM)}),this.subConfigValue("confirmUpload",t=>{t!==!1&&(this.cfg.confirmUpload=!1)}),this.subConfigValue("filesViewMode",t=>{this.setAttribute("mode",t),this.subConfigValue("multiple",r=>{t==="grid"?(r?this.style.removeProperty("--uc-grid-col"):this.style.setProperty("--uc-grid-col","1"),this.$.singleUpload=!r):(this.style.removeProperty("--uc-grid-col"),this.$.singleUpload=!1)})}),this.handleModalOpen=t=>{this._handleModalOpen(t)},this.handleModalClose=t=>{this._handleModalClose(t)},this.modalManager?.subscribe($.OPEN,this.handleModalOpen),this.modalManager?.subscribe($.CLOSE,this.handleModalClose))}destroyCallback(){super.destroyCallback(),this.modalManager?.unsubscribe($.OPEN,this.handleModalOpen),this.modalManager?.unsubscribe($.CLOSE,this.handleModalClose)}};ti.template=`<uc-start-from set="@hidden: isHiddenStartFrom; @class:classStartFrom"><uc-drop-area set="@single:singleUpload;" initflow clickable tabindex="0" l10n="choose-file"></uc-drop-area><uc-copyright></uc-copyright></uc-start-from><uc-upload-list set="@class:classUploadList" ref="uBlock"></uc-upload-list><uc-modal id="start-from" strokes block-body-scrolling><uc-start-from><uc-drop-area with-icon clickable></uc-drop-area><uc-source-list role="list" wrap></uc-source-list><button type="button" l10n="start-from-cancel" class="uc-secondary-btn" set="onclick: *historyBack"></button></uc-start-from></uc-modal><uc-modal id="camera" strokes block-body-scrolling><uc-camera-source></uc-camera-source></uc-modal><uc-modal id="url" strokes block-body-scrolling><uc-url-source></uc-url-source></uc-modal><uc-modal id="external" strokes block-body-scrolling><uc-external-source></uc-external-source></uc-modal><uc-modal id="cloud-image-edit" strokes block-body-scrolling><uc-cloud-image-editor-activity></uc-cloud-image-editor-activity></uc-modal>`;var yt=class extends ce{static{s(this,"FileUploaderRegular")}static styleAttrs=[...super.styleAttrs,"uc-file-uploader-regular"];constructor(){super();let e={...this.init$,isHidden:!1,"*solution":this.tagName};this.init$=e}initCallback(){super.initCallback(),this.telemetryManager.sendEvent({eventType:O.INIT_SOLUTION}),this.defineAccessor("headless",e=>{this.set$({isHidden:k(e)})})}};yt.template=`<uc-simple-btn set="@hidden: isHidden"></uc-simple-btn><uc-modal id="start-from" strokes block-body-scrolling><uc-start-from><uc-drop-area with-icon clickable></uc-drop-area><uc-source-list role="list" wrap></uc-source-list><button type="button" l10n="start-from-cancel" class="uc-secondary-btn" set="onclick: *historyBack"></button><uc-copyright></uc-copyright></uc-start-from></uc-modal><uc-modal id="upload-list" strokes block-body-scrolling><uc-upload-list></uc-upload-list></uc-modal><uc-modal id="camera" strokes block-body-scrolling><uc-camera-source></uc-camera-source></uc-modal><uc-modal id="url" strokes block-body-scrolling><uc-url-source></uc-url-source></uc-modal><uc-modal id="external" strokes block-body-scrolling><uc-external-source></uc-external-source></uc-modal><uc-modal id="cloud-image-edit" strokes block-body-scrolling><uc-cloud-image-editor-activity></uc-cloud-image-editor-activity></uc-modal>`;yt.bindAttributes({headless:null});return On(jc);})();
|