image-editor-canva
Version:
A Canva-like image editor plugin for React
1 lines • 205 kB
JavaScript
"use strict";var e=require("react/jsx-runtime"),t=require("fabric"),n=require("lodash.debounce"),r=require("react"),i=require("lucide-react"),A=require("use-file-picker"),a=require("clsx"),o=require("tailwind-merge"),s=require("@radix-ui/react-tooltip"),c=require("@radix-ui/react-slot"),l=require("@radix-ui/react-separator"),d=require("@radix-ui/react-dropdown-menu"),u=require("react-use"),g=require("react-icons/fa"),f=require("react-icons/tb"),h=require("react-icons/bs"),C=require("react-icons/rx"),I=require("react-icons/io5"),p=require("react-icons/fa6"),B=require("@radix-ui/react-scroll-area"),m=require("react-colorful"),Q=require("@radix-ui/react-label"),E=require("@radix-ui/react-slider"),v=require("unsplash-js"),y=require("@radix-ui/react-dialog");function x(e){return e&&e.__esModule?e:{default:e}}function b(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var w=x(n),k=b(r),N=b(s),j=b(l),D=b(d),S=b(B),F=b(Q),M=b(E),R=b(y),L=function(){return L=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},L.apply(this,arguments)};function G(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n}function U(e,t,n,r){return new(n||(n=Promise))((function(i,A){function a(e){try{s(r.next(e))}catch(e){A(e)}}function o(e){try{s(r.throw(e))}catch(e){A(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,o)}s((r=r.apply(e,t||[])).next())}))}function T(e,t){var n,r,i,A={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=o(0),a.throw=o(1),a.return=o(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function o(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,o[0]&&(A=0)),A;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return A.label++,{value:o[1],done:!1};case 5:A.label++,r=o[1],o=[0];continue;case 7:o=A.ops.pop(),A.trys.pop();continue;default:if(!(i=A.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){A=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){A.label=o[1];break}if(6===o[0]&&A.label<i[1]){A.label=i[1],i=o;break}if(i&&A.label<i[2]){A.label=i[2],A.ops.push(o);break}i[2]&&A.ops.pop(),A.trys.pop();continue}o=t.call(e,A)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}}function O(e,t,n){if(n||2===arguments.length)for(var r,i=0,A=t.length;i<A;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var Y,J,z=["name","gradientAngle","selectable","hasControls","linkData","editable","extensionType","extension"],P=["none","polaroid","sepia","kodachrome","contrast","brightness","greyscale","brownie","vintage","technicolor","pixelate","invert","blur","sharpen","emboss","removecolor","blacknwhite","vibrance","blendcolor","huerotate","resize","saturation","gamma"],_=(Y=["Open Sans","Roboto","Lato","Montserrat","Poppins","Nunito","Source Sans Pro","Raleway","Inter","Playfair Display","Merriweather","Oswald","Ubuntu","Roboto Condensed","Noto Sans","PT Sans","Libre Baskerville","Crimson Text","Droid Sans","Arimo","Cabin","Karla","Work Sans","Fira Sans","Rubik","Quicksand","Oxygen","Muli","Titillium Web","Varela Round","Comfortaa","Dancing Script","Pacifico","Lobster","Righteous","Fredoka One","Amatic SC","Indie Flower","Shadows Into Light","Kalam","Caveat","Satisfy","Great Vibes","Allura","Alex Brush","Courgette","Kaushan Script","Tangerine","Abril Fatface","Bebas Neue","Anton","Fjalla One","Russo One","Alfa Slab One","Bungee","Permanent Marker","Creepster","Orbitron","Exo 2","Rajdhani","Audiowide","Electrolize","Jura","Michroma","Gruppo","Syncopate","Advent Pro","Kanit","Prompt","Sarabun","Mitr","Chakra Petch","IBM Plex Sans","IBM Plex Serif","IBM Plex Mono","Space Grotesk","DM Sans","Plus Jakarta Sans","Manrope","Epilogue","Outfit","Lexend","Red Hat Display","Sora","Urbanist","Commissioner","Public Sans","JetBrains Mono","Fira Code","Source Code Pro","Inconsolata","Space Mono","Roboto Mono","Ubuntu Mono","Courier Prime","Anonymous Pro","Overpass Mono"],J=O(O([],["Arial","Arial Black","Verdana","Helvetica","Tahoma","Trebuchet MS","Times New Roman","Georgia","Garamond","Courier New","Brush Script MT","Palatino","Bookman","Comic Sans MS","Impact","Lucida Sans Unicode","Geneva","Lucida Console"],!0),Y,!0),Array.from(new Set(J))),H=["fill","font","filter","opacity","remove-bg","stroke-color","stroke-width"],K=["#f44336","#e91e63","#9c27b0","#673ab7","#3f51b5","#2196f3","#03a9f4","#00bcd4","#009688","#4caf50","#8bc34a","#cddc39","#ffeb3b","#ffc107","#ff9800","#ff5722","#795548","#607d8b","transparent"],W="rgba(0,0,0,1)",q="rgba(0,0,0,1)",V=[],Z="Arial",X={radius:225,left:100,top:100,fill:W,stroke:q,strokeWidth:2},$={left:100,top:100,fill:W,stroke:q,strokeWidth:2,width:400,height:400,angle:0},ee={left:100,top:100,fill:W,stroke:q,strokeWidth:2,width:600,height:600,angle:0},te={left:100,top:100,fill:W,stroke:q,strokeWidth:2,width:400,height:400,angle:0},ne={type:"textbox",left:100,top:100,fill:W,fontSize:32,fontFamily:Z};function re(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return o.twMerge(a.clsx(e))}var ie=N.Provider,Ae=N.Root,ae=N.Trigger,oe=N.Content,se=k.forwardRef((function(t,n){var r=t.className,i=t.sideOffset,A=void 0===i?4:i,a=G(t,["className","sideOffset"]);return e.jsx(oe,L({ref:n,sideOffset:A,className:re("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r)},a))}));se.displayName=oe.displayName;var ce=function(t){var n=t.label,r=t.children,i=t.side,A=void 0===i?"top":i,a=t.align,o=void 0===a?"center":a,s=t.sideOffset,c=void 0===s?4:s,l=t.alignOffset,d=void 0===l?0:l;return e.jsx(ie,{children:e.jsxs(Ae,{delayDuration:100,children:[e.jsx(ae,{asChild:!0,children:r}),e.jsx(se,{className:"text-white bg-slate-800 border-slate-800",side:A,align:o,sideOffset:c,alignOffset:d,children:e.jsx("p",{className:"font-semibold capitalize",children:n})})]})})};const le=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,de=a.clsx,ue=(e,t)=>n=>{var r;if(null==(null==t?void 0:t.variants))return de(e,null==n?void 0:n.class,null==n?void 0:n.className);const{variants:i,defaultVariants:A}=t,a=Object.keys(i).map((e=>{const t=null==n?void 0:n[e],r=null==A?void 0:A[e];if(null===t)return null;const a=le(t)||le(r);return i[e][a]})),o=n&&Object.entries(n).reduce(((e,t)=>{let[n,r]=t;return void 0===r||(e[n]=r),e}),{}),s=null==t||null===(r=t.compoundVariants)||void 0===r?void 0:r.reduce(((e,t)=>{let{class:n,className:r,...i}=t;return Object.entries(i).every((e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...A,...o}[t]):{...A,...o}[t]===n}))?[...e,n,r]:e}),[]);return de(e,a,s,null==n?void 0:n.class,null==n?void 0:n.className)};var ge=ue("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-8 w-8"}},defaultVariants:{variant:"default",size:"default"}}),fe=k.forwardRef((function(t,n){var r=t.className,i=t.variant,A=t.size,a=t.asChild,o=void 0!==a&&a,s=G(t,["className","variant","size","asChild"]),l=o?c.Slot:"button";return e.jsx(l,L({className:re(ge({variant:i,size:A,className:r})),ref:n},s))}));fe.displayName="Button";var he=k.forwardRef((function(t,n){var r=t.className,i=t.orientation,A=void 0===i?"horizontal":i,a=t.decorative,o=void 0===a||a,s=G(t,["className","orientation","decorative"]);return e.jsx(j.Root,L({ref:n,decorative:o,orientation:A,className:re("shrink-0 bg-border","horizontal"===A?"h-[1px] w-full":"h-full w-[1px]",r)},s))}));he.displayName=j.Root.displayName;var Ce=D.Root,Ie=D.Trigger;k.forwardRef((function(t,n){var r=t.className,A=t.inset,a=t.children,o=G(t,["className","inset","children"]);return e.jsxs(D.SubTrigger,L({ref:n,className:re("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",A&&"pl-8",r)},o,{children:[a,e.jsx(i.ChevronRight,{className:"ml-auto h-4 w-4"})]}))})).displayName=D.SubTrigger.displayName,k.forwardRef((function(t,n){var r=t.className,i=G(t,["className"]);return e.jsx(D.SubContent,L({ref:n,className:re("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r)},i))})).displayName=D.SubContent.displayName;var pe=k.forwardRef((function(t,n){var r=t.className,i=t.sideOffset,A=void 0===i?4:i,a=G(t,["className","sideOffset"]);return e.jsx(D.Portal,{children:e.jsx(D.Content,L({ref:n,sideOffset:A,className:re("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r)},a))})}));pe.displayName=D.Content.displayName;var Be,me,Qe,Ee,ve=k.forwardRef((function(t,n){var r=t.className,i=t.inset,A=G(t,["className","inset"]);return e.jsx(D.Item,L({ref:n,className:re("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",i&&"pl-8",r)},A))}));ve.displayName=D.Item.displayName,k.forwardRef((function(t,n){var r=t.className,A=t.children,a=t.checked,o=G(t,["className","children","checked"]);return e.jsxs(D.CheckboxItem,L({ref:n,className:re("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",r),checked:a},o,{children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(D.ItemIndicator,{children:e.jsx(i.Check,{className:"h-4 w-4"})})}),A]}))})).displayName=D.CheckboxItem.displayName,k.forwardRef((function(t,n){var r=t.className,A=t.children,a=G(t,["className","children"]);return e.jsxs(D.RadioItem,L({ref:n,className:re("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",r)},a,{children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(D.ItemIndicator,{children:e.jsx(i.Circle,{className:"h-2 w-2 fill-current"})})}),A]}))})).displayName=D.RadioItem.displayName,k.forwardRef((function(t,n){var r=t.className,i=t.inset,A=G(t,["className","inset"]);return e.jsx(D.Label,L({ref:n,className:re("px-2 py-1.5 text-sm font-semibold",i&&"pl-8",r)},A))})).displayName=D.Label.displayName,k.forwardRef((function(t,n){var r=t.className,i=G(t,["className"]);return e.jsx(D.Separator,L({ref:n,className:re("-mx-1 my-1 h-px bg-muted",r)},i))})).displayName=D.Separator.displayName;class ye{constructor(e,t){this.layerFrame=e,this.parent=t,this.type="Group",this.children=[]}get name(){var e,t;return null!==(t=null===(e=this.layerFrame)||void 0===e?void 0:e.layerProperties.name)&&void 0!==t?t:""}get opacity(){var e,t;return null!==(t=null===(e=this.layerFrame)||void 0===e?void 0:e.layerProperties.opacity)&&void 0!==t?t:0}get composedOpacity(){return this.parent.composedOpacity*(this.opacity/255)}get additionalProperties(){var e;return null===(e=this.layerFrame)||void 0===e?void 0:e.layerProperties.additionalLayerProperties}addChild(e){this.children.push(e)}hasChildren(){return 0!==this.children.length}freeze(){this.children.forEach((e=>{var t,n;return null===(n=(t=e).freeze)||void 0===n?void 0:n.call(t)})),Object.freeze(this.children)}}(me=Be||(Be={})).SectionDividerSetting="lsct",me.TypeToolObjectSetting="TySh",me.UnicodeLayerName="luni",me.VectorStrokeData="vstk",me.ObjectBasedEffects="lfx2",me.GradientFillSetting="GdFl",me.SolidColorSheetSetting="SoCo",me.PatternFillSetting="PtFl",me.VectorStrokeContentData="vscg",me.BlendOptionsCapacity="iOpa",me.VectorMaskSetting1="vmsk",me.VectorMaskSetting2="vsms",me.HueSaturation="hue2",me.NestedSectionDividerSetting="lsdk",me.LayerId="lyid",me.ArtboardData="artb",me.SmartObjectPlacedLayerData="SoLE",me.PlacedLayerData="SoLd",me.LinkedLayer="lnkD",me.LinkedLayer2="lnk2",me.LinkedLayer3="lnk3",function(e){e[e.Normal=0]="Normal",e[e.SceneGroup=1]="SceneGroup"}(Qe||(Qe={})),function(e){e[e.ClosedSubpathLength=0]="ClosedSubpathLength",e[e.ClosedSubpathBezierKnotLinked=1]="ClosedSubpathBezierKnotLinked",e[e.ClosedSubpathBezierKnotUnlinked=2]="ClosedSubpathBezierKnotUnlinked",e[e.OpenSubpathLength=3]="OpenSubpathLength",e[e.OpenSubpathBezierKnotLinked=4]="OpenSubpathBezierKnotLinked",e[e.OpenSubpathBezierKnotUnlinked=5]="OpenSubpathBezierKnotUnlinked",e[e.PathFillRule=6]="PathFillRule",e[e.Clipboard=7]="Clipboard",e[e.InitialFillRule=8]="InitialFillRule"}(Ee||(Ee={}));const xe=(e,t)=>{const n=Math.max(e.length,t.length);for(let r=0;r<n;r++)if(e[r]!==t[r])return!1;return!0};class be extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype),this.name=new.target.name}}class we extends be{}class ke extends be{}class Ne extends be{}class je extends be{}class De extends be{}class Se extends be{}class Fe extends be{}class Me extends be{}class Re extends be{}class Le extends be{}class Ge extends be{}class Ue extends be{}class Te extends be{}class Oe extends be{}class Ye extends be{}class Je extends be{}class ze extends be{}class Pe extends be{}class _e extends be{}class He extends be{}class Ke extends be{}class We extends be{}class qe extends be{}class Ve extends be{}class Ze extends be{}class Xe extends be{}class $e extends be{}class et extends be{}class tt extends be{}class nt extends be{}class rt extends be{}class it extends be{}class At extends be{}class at extends be{}class ot extends be{}class st extends be{}class ct extends be{}class lt extends be{}class dt extends be{}class ut extends be{}class gt extends be{}class ft extends be{}class ht extends be{}class Ct extends be{}function It(e,t){const n=e.getUint32(t),r=e.getUint32(t+4);if(n>=2097152)throw new Xe;return 4294967296*n+r}const pt={u8:1,i8:1,u16:2,i16:2,u32:4,i32:4,f32:4,u64:8,i64:8,f64:8};class Bt{static from(e){return new Bt(new DataView(e.buffer,e.byteOffset,e.byteLength))}constructor(e,t=0){this.dataView=e,this.position=t}get length(){return this.dataView.byteLength}clone(e){const t=void 0!==e?e:this.position;return new Bt(new DataView(this.dataView.buffer,this.dataView.byteOffset,this.dataView.byteLength),t)}pass(e){this.position+=e}unpass(e){this.position-=e}extract(e){if(this.position+e>this.dataView.byteLength)throw new He;return new Uint8Array(this.dataView.buffer,this.dataView.byteOffset+this.position,e)}iter(){return new Uint8Array(this.dataView.buffer,this.dataView.byteOffset+this.position)}take(e){const t=this.extract(e);return this.pass(e),t}peek(){return this.dataView.getUint8(this.position)}one(){const e=this.dataView.getUint8(this.position);return this.position+=1,e}read(e){const{dataView:t,position:n}=this;switch(this.pass(pt[e]),e){case"u8":return t.getUint8(n);case"u16":return t.getUint16(n);case"u32":return t.getUint32(n);case"u64":return It(t,n);case"i8":return t.getInt8(n);case"i16":return t.getInt16(n);case"i32":return t.getInt32(n);case"i64":return function(e,t){const n=e.getInt32(t),r=e.getUint32(t+4);if(n>=2097152||n<-2097152||-2097152===n&&0===r)throw new Xe;return 4294967296*n+r}(t,n);case"f32":return t.getFloat32(n);case"f64":return t.getFloat64(n);default:throw new TypeError(`Invalid ReadType: ${e}`)}}readString(e){const t=this.take(e);return(new TextDecoder).decode(t)}readUnicodeString(e=4){const t=2*this.read("u32"),n=this.take(t),r=new TextDecoder("utf-16be").decode(n);return this.padding(4+t,e),0===r.charCodeAt(r.length-1)?r.slice(0,-1):r}readFixedPoint32bit(){return this.read("u32")/65536}readIdString(){const e=this.read("u32");return this.readString(e||4)}padding(e,t){const n=e%t;n>0&&this.pass(t-n)}}const mt=(e,t,n)=>t<=e&&e<=n;function Qt(e){return e.bottom-e.top}function Et(e){return function(e){return e.right-e.left}(e)*Qt(e)}var vt,yt,xt,bt,wt,kt,Nt;function jt(e){const t=Object.keys(vt);for(const n of t)if(vt[n]===e)return e;throw new Le}function Dt(e,t,n){const r=e.items.get(t);if(!r)throw new at(`Cannot find key "${t}" in descriptor`);if(r.type!==n)throw new ot(`Unexpected descriptor value type: expected "${n}" but got "${r.type}"`);return r}!function(e){e.PassThrough="pass",e.Normal="norm",e.Dissolve="diss",e.Darken="dark",e.Multiply="mul ",e.ColorBurn="idiv",e.LinearBurn="lbrn",e.DarkerColor="dkCl",e.Lighten="lite",e.Screen="scrn",e.ColorDodge="div ",e.LinearDodge="lddg",e.LighterColor="lgCl",e.Overlay="over",e.SoftLight="sLit",e.HardLight="hLit",e.VividLight="vLit",e.LinearLight="lLit",e.PinLight="pLit",e.HardMix="hMix",e.Difference="diff",e.Exclusion="smud",e.Subtract="fsub",e.Divide="fdiv",e.Hue="hue ",e.Saturation="sat ",e.Color="colr",e.Luminosity="lum "}(vt||(vt={})),function(e){e[e.Base=0]="Base",e[e.NonBase=1]="NonBase"}(yt||(yt={})),function(e){e[e.Bitmap=0]="Bitmap",e[e.Grayscale=1]="Grayscale",e[e.Indexed=2]="Indexed",e[e.Rgb=3]="Rgb",e[e.Cmyk=4]="Cmyk",e[e.Multichannel=7]="Multichannel",e[e.Duotone=8]="Duotone",e[e.Lab=9]="Lab"}(xt||(xt={})),function(e){e[e.One=1]="One",e[e.Eight=8]="Eight",e[e.Sixteen=16]="Sixteen",e[e.ThirtyTwo=32]="ThirtyTwo"}(bt||(bt={})),function(e){e.Alias="alis",e.Boolean="bool",e.Class="type",e.Descriptor="Objc",e.Double="doub",e.Enumerated="enum",e.GlobalClass="GlbC",e.GlobalObject="GlbO",e.Integer="long",e.LargeInteger="comp",e.List="VlLs",e.RawData="tdta",e.Reference="obj ",e.String="TEXT",e.UnitFloat="UntF",e.UnitFloats="UnFl",e.ObjectArray="ObAr"}(wt||(wt={})),function(e){e.Angle="#Ang",e.Density="#Rsl",e.Distance="#Rlt",e.Millimeters="#Mlm",e.None="#Nne",e.Percent="#Prc",e.Pixels="#Pxl",e.Points="#Pnt"}(kt||(kt={})),function(e){e[e.PSD=1]="PSD",e[e.PSB=2]="PSB"}(Nt||(Nt={}));const St=[56,66,80,83],Ft=[0,0,0,0,0,0],Mt=[1,8,16,32];function Rt(e,t,n,r,i){const A=new Bt(e),a=A.read("u16");if(!(a in bn))throw new Ge;const{red:o,green:s,blue:c,alpha:l}=(()=>{switch(a){case bn.RawData:return function(e,t,n){const r=(e.length-2)/n,i=e.extract(r),A=n>=2?e.extract(r):void 0,a=n>=3?e.extract(r):void 0,o=n>=4?e.extract(r):void 0;if(t===bt.Eight)return{red:i,green:A,blue:a,alpha:o};throw new Te(`Unsupported image bit depth: ${t}`)}(A,t,r);case bn.RleCompressed:return function(e,t,n,r){let i=0,A=0,a=0,o=0;const s=r.rleScanlineLengthFieldReadType;for(let t=0;t<n;t++)i+=e.read(s);if(t>=2)for(let t=0;t<n;t++)A+=e.read(s);if(t>=3)for(let t=0;t<n;t++)a+=e.read(s);if(4===t)for(let t=0;t<n;t++)o+=e.read(s);const c=2+t*n*r.rleScanlineLengthFieldSize,l=e.clone(c);return{red:l.take(i),green:A?l.take(A):void 0,blue:a?l.take(a):void 0,alpha:o?l.take(o):void 0}}(A,r,n,i);default:throw new Ue}})();return{compression:a,red:o,green:s,blue:c,alpha:l}}const Lt=[56,66,73,77];function Gt(e){const t=e.take(4);if(!xe(t,Lt))throw new _e;const n=e.read("i16"),r=function(e,t=0){const n=e.read("u8"),r=e.readString(n);if(t){const r=(n+1)%t;r>0&&e.pass(t-r)}return r}(e,2),i=e.read("u32"),A=e.position+i,a=i+i%2,o=e.position;let s=null;switch(n){case jn.GridAndGuides:s=function(e){const t=e.read("u32");if(1!==t)throw new Ke;const n=e.read("u32"),r=e.read("u32"),i=e.read("u32"),A=[];for(let t=0;t<i;++t){const t=e.read("i32"),n=Ln(e.read("u8"));A.push({position:t,direction:n})}return{version:t,gridSizeX:n,gridSizeY:r,guides:A}}(e);break;case jn.Slices:s=function(e,t){const n=e.read("u32");if(6===n){const r=e.read("i32"),i=e.read("i32"),A=e.read("i32"),a=e.read("i32"),o=e.readUnicodeString(0),s=e.read("u32"),c=[];for(;c.length<s;){const t=e.read("u32"),n=e.read("u32"),r=Gn(e.read("u32")),i=1===r?e.read("u32"):void 0;c.push({id:t,groupId:n,origin:r,associatedLayerId:i,name:e.readUnicodeString(0),type:e.read("u32"),left:e.read("i32"),top:e.read("i32"),right:e.read("i32"),bottom:e.read("i32"),url:e.readUnicodeString(0),target:e.readUnicodeString(0),message:e.readUnicodeString(0),altTag:e.readUnicodeString(0),isCellTextHtml:!!e.read("u8"),cellText:e.readUnicodeString(0),horizontalAlignment:e.read("i32"),verticalAlignment:e.read("i32"),alpha:e.read("u8"),red:e.read("u8"),green:e.read("u8"),blue:e.read("u8")})}return{version:n,boundTop:r,boundLeft:i,boundBottom:A,boundRight:a,sliceGroupName:o,slices:c,descriptor:e.position<t?tr(e):void 0}}if(7===n||8===n)return{version:n,descriptor:tr(e)};throw new qe(`Invalid Slices section version: ${n}`)}(e,A);break;case jn.ICCProfile:s=function(e,t){return e.take(t-e.position)}(e,A);break;case jn.ResolutionInfo:s=function(e){return{horizontal:e.readFixedPoint32bit(),horizontalUnit:e.read("u16"),widthUnit:e.read("u16"),vertical:e.readFixedPoint32bit(),verticalUnit:e.read("u16"),heightUnit:e.read("u16")}}(e);break;case jn.GlobalLightAltitude:case jn.GlobalLightAngle:s=e.read("i32")}const c=o+a-e.position;return c>0&&e.pass(c),{id:n,name:r,resource:s}}function Ut(e){const t={};for(const[n,r]of e)t[n]=r;return t}const Tt=(e,t,n)=>{const{top:r,left:i,bottom:A,right:a,opacity:o,clipping:s,hidden:c,transparencyLocked:l,blendMode:d,layerText:u,engineData:g,maskData:f,additionalLayerInfos:h}=t;return{name:e,top:r,left:i,bottom:A,right:a,opacity:o,clippingMask:s,hidden:c,transparencyLocked:l,blendMode:d,groupId:n,text:u,textProperties:g,maskData:f,additionalLayerProperties:Ut(h.map((e=>[e.key,e])))}};class Ot{static create(e,t,n){const r=Tt(e.name,e,n);return new Ot(t,r)}constructor(e,t){this.channels=e,this.layerProperties=t}get red(){const e=this.channels.get(wn.Red);if(void 0===e)throw new Ye;return e}get green(){return this.channels.get(wn.Green)}get blue(){return this.channels.get(wn.Blue)}get alpha(){return this.channels.get(wn.TransparencyMask)}get userMask(){return this.channels.get(wn.UserSuppliedLayerMask)}get realUserMask(){return this.channels.get(wn.RealUserSuppliedLayerMask)}get width(){const{right:e,left:t}=this.layerProperties;return e-t+1}get height(){const{bottom:e,top:t}=this.layerProperties;return e-t+1}}class Yt{static create(e,t,n,r){const i=Tt(e,n,r);return new Yt(t,i)}constructor(e,t){this.id=e,this.layerProperties=t}}function Jt(e){return{data:tr(e)}}function zt(e){return{fillOpacity:e.read("u8")}}function Pt(e){return{data:tr(e)}}function _t(e){return{hue:e.read("i16"),saturation:e.read("i16"),lightness:e.read("i16")}}function Ht(e){return Array.from(Array(6),(()=>function(e){return{beginRamp:e.read("i16"),beginSustain:e.read("i16"),endSustain:e.read("i16"),endRamp:e.read("i16"),..._t(e)}}(e)))}function Kt(e){const t=e.read("u16"),n=e.read("u8");e.pass(1);return{version:t,colorize:n,colorization:_t(e),master:_t(e),adjustment:n?void 0:Ht(e)}}function Wt(e){return{value:e.read("u32")}}function qt(e,t){const n=[];let r=0;const i=e.position+t;for(;e.position<i&&(r=e.read("u64"));){const t=e.position,i=Vt(e);n.push(i);const A=r-(e.position-t);e.pass(A),e.padding(e.position,4)}return{layers:n}}function Vt(e){const t=e.readString(4);if("liFD"!==t)throw new nt(`unknown layer type: '${t}'`);const n=e.read("i32"),r=function(e){const t=e.read("u8");return e.readString(t)}(e),i=e.readUnicodeString(0),A=e.readString(4),a=e.readString(4),o=e.read("u64");return{layerType:t,version:n,uniqueId:r,filename:i,filetype:A,creator:a,data:e.read("u8")?tr(e):void 0,contents:e.take(o),uuid:n>5?e.readUnicodeString():void 0}}function Zt(e){const t=e.read("u32"),n=e.read("u32");return{version:t,descriptor:er(e),descriptorVersion:n}}function Xt(e){return{data:tr(e)}}function $t(e,t){const n=function(e){if(e in kn)return e;throw new Re}(e.read("u32"));if(t<12)return{dividerType:n};const r=e.readString(4);if("8BIM"!==r)throw new et(`Invalid Section Divider Setting signature: ${r}`);const i=jt(e.readString(4));if(t<16)return{dividerType:n,dividerSignature:r,blendMode:i};const A=e.read("u32");if(!(A in Qe))throw new et(`Invalid Section Divider Setting subtype: ${A}`);return{dividerType:n,dividerSignature:r,blendMode:i,subType:A}}function en(e){const t=e.readString(4),n=e.read("u32");return{data:tr(e),version:n,identifier:t}}function tn(e){return{version:e.read("u32"),data:er(e)}}function nn(e){const t=e.read("u16");if(1!==t)throw new tt(`Invalid type tool object setting version: ${t}`);const n=e.read("f64"),r=e.read("f64"),i=e.read("f64"),A=e.read("f64"),a=e.read("f64"),o=e.read("f64"),s=e.read("u16");if(50!==s)throw new tt(`Invalid text version: ${s}`);const c=tr(e),l=e.read("u16");if(1!==l)throw new tt(`Invalid warp version: ${l}`);return{version:t,transformXX:n,transformXY:r,transformYX:i,transformYY:A,transformTX:a,transformTY:o,textVersion:s,textData:c,warpVersion:l,warpData:tr(e),left:e.read("f64"),top:e.read("f64"),right:e.read("f64"),bottom:e.read("f64")}}function rn(e){return{name:e.readUnicodeString(0)}}function An(e){const[t,...n]=e.take(4);return t+(65536*n[0]+256*n[1]+n[2])/2**24}function an(e){return{vert:An(e),horiz:An(e)}}function on(e){const t=e.read("u16");switch(t){case Ee.OpenSubpathLength:case Ee.ClosedSubpathLength:return function(e,t){const n=e.read("i16"),r=e.read("i16"),i=e.read("i16");e.pass(6);const A=e.read("i16");return e.pass(10),{type:t,length:n,operation:r,subpathType:i,index:A}}(e,t);case Ee.PathFillRule:return e.pass(24),{type:t};case Ee.Clipboard:return function(e,t){const n=Array(4).map((()=>e.read("f32"))),r=e.read("f32");return e.pass(6),{type:t,bounds:n,resolution:r}}(e,t);case Ee.InitialFillRule:return function(e,t){const n=!!(1&e.read("i16"));return e.pass(22),{type:t,fill:n}}(e,t);case Ee.ClosedSubpathBezierKnotLinked:case Ee.ClosedSubpathBezierKnotUnlinked:case Ee.OpenSubpathBezierKnotLinked:case Ee.OpenSubpathBezierKnotUnlinked:return function(e,t){return{type:t,preceding:an(e),anchor:an(e),leaving:an(e)}}(e,t);default:throw new Error(`Unknown PathRecordType: ${t} (bug in offsets?)`)}}function sn(e,t){const n=e.read("u32"),r=e.read("u32"),i=function(e,t){const n=Math.floor(t/26);return Array.from(Array(n),(()=>on(e)))}(e,t);return{version:n,pathRecords:i,invert:!!(1&r),notLink:!!(2&r),disable:!!(4&r)}}function cn(e){return{version:e.read("u32"),data:tr(e)}}function ln(e){return{data:tr(e)}}function dn(e,t,n=0){const r=e.readString(4);if("8BIM"!==r&&"8B64"!==r)throw new $e(`Invalid signature: ${r}`);const i=e.readString(4),A=e.read(function(e,t){if(t.aliLengthFieldSizeIsVariable)switch(e){case"LMsk":case"Lr16":case"Lr32":case"Layr":case"Mt16":case"Mt32":case"Mtrn":case"Alph":case"FMsk":case"Ink2":case"FEid":case"FXid":case"PxSD":case"cinf":return"u64"}return"u32"}(i,t)),a=e.position,o=function(e,t,n,r){switch(n){case Be.NestedSectionDividerSetting:case Be.SectionDividerSetting:return{signature:t,key:n,...$t(e,r)};case Be.TypeToolObjectSetting:return{signature:t,key:n,...nn(e)};case Be.UnicodeLayerName:return{signature:t,key:n,...rn(e)};case Be.VectorStrokeData:return{signature:t,key:n,...ln(e)};case Be.ObjectBasedEffects:return{signature:t,key:n,...Zt(e)};case Be.GradientFillSetting:return{signature:t,key:n,...Pt(e)};case Be.SolidColorSheetSetting:return{signature:t,key:n,...tn(e)};case Be.PatternFillSetting:return{signature:t,key:n,...Xt(e)};case Be.VectorStrokeContentData:return{signature:t,key:n,...cn(e)};case Be.BlendOptionsCapacity:return{signature:t,key:n,...zt(e)};case Be.VectorMaskSetting1:case Be.VectorMaskSetting2:return{signature:t,key:n,...sn(e,r)};case Be.HueSaturation:return{signature:t,key:n,...Kt(e)};case Be.LayerId:return{signature:t,key:n,...Wt(e)};case Be.ArtboardData:return{signature:t,key:n,...Jt(e)};case Be.PlacedLayerData:case Be.SmartObjectPlacedLayerData:return{signature:t,key:n,...en(e)};case Be.LinkedLayer:case Be.LinkedLayer2:case Be.LinkedLayer3:return{signature:t,key:n,...qt(e,r)};default:return{signature:t,key:n,_isUnknown:!0,data:e.take(r)}}}(e,r,i,A),s=A-(e.position-a);return e.pass(s),e.padding(A,n),o}function un(e,t,n){const r=[];for(;r.length<t;)r.push(gn(e,n));return r.map((t=>{const r=function(e,t,n,r){const i=new Map,{length:A}=t;for(let a=0;a<A;a++){const[A,o]=t[a],s=Rn(e.read("u16"));switch(s){case bn.RawData:{const t=e.take(o);i.set(A,{compression:s,data:t});break}case bn.RleCompressed:{const t=e.take(o>0?hn(e,fn(n,A),r.rleScanlineLengthFieldReadType):o);i.set(A,{compression:s,data:t});break}}}return i}(e,t.channelInformation,t,n);return[t,r]})).reverse()}function gn(e,t){const[n,r,i,A]=function(e){const t=e.read("i32"),n=e.read("i32");let r=e.read("i32");0!==r&&(r-=1);let i=e.read("i32");return 0!==i&&(i-=1),[t,n,r,i]}(e),a=e.read("u16"),o=[];for(;o.length<a;){const n=e.read("i16"),r=e.read(t.layerRecordSectionChannelLengthFieldReadType)-2;o.push([n,r])}if("8BIM"!==e.readString(4))throw new Me;const s=jt(e.readString(4)),c=e.read("u8"),l=function(e){if(e===yt.Base)return yt.Base;if(e===yt.NonBase)return yt.NonBase;throw new Je}(e.read("u8")),{hidden:d,transparencyLocked:u}=function(e){const t=e.read("u8");return{transparencyLocked:!!(1&t),hidden:!!(2&t)}}(e);e.pass(1);const g=e.read("u32"),f=e.position,h=function(e){const t=e.read("u32"),n=e.position,[r,i,A,a]=Cn(e),o=e.read("u8"),s=Bn(e),c=t>=36?function(e){const t=Bn(e),n=e.read("u8"),[r,i,A,a]=Cn(e);return{top:r,left:i,bottom:A,right:a,flags:t,backgroundColor:n}}(e):void 0,l=s.masksHaveParametersApplied?function(e){const t=e.read("u8");return{userMaskDensity:t&pn.UserMaskDensity?e.read("u8"):void 0,userMaskFeather:t&pn.UserMaskFeather?e.read("f64"):void 0,vectorMaskDensity:t&pn.VectorMaskDensity?e.read("u8"):void 0,vectorMaskFeather:t&pn.VectorMaskFeather?e.read("f64"):void 0}}(e):void 0,d=t-(e.position-n);return e.pass(d),{top:r,left:i,bottom:A,right:a,backgroundColor:o,flags:s,parameters:l,realData:c}}(e);e.pass(e.read("u32"));const C=e.read("u8");let I=e.readString(C);e.padding(C+1,4);const p=[];for(;e.position-f<g;)p.push(dn(e,t));let B,m,Q;for(const e of p)if(!e._isUnknown)switch(e.key){case Be.SectionDividerSetting:({dividerType:B}=e);break;case Be.TypeToolObjectSetting:{const t=e.textData.descriptor.items.get("Txt ");t&&t.type===wt.String&&(m=t.value);const n=e.textData.descriptor.items.get("EngineData");n&&n.type===wt.RawData&&(Q=pr(n.data));break}case Be.UnicodeLayerName:({name:I}=e)}return{name:I,channelInformation:o,top:n,left:r,bottom:i,right:A,hidden:d,transparencyLocked:u,opacity:c,clipping:l,blendMode:s,additionalLayerInfos:p,dividerType:B,layerText:m,engineData:Q,maskData:h}}function fn(e,t){switch(t){case wn.UserSuppliedLayerMask:return Qt(e.maskData);case wn.RealUserSuppliedLayerMask:return Qt(function(e){const t=e.maskData.realData;if(!t)throw new Error("missing real mask data");return t}(e));default:return Qt(e)+1}}function hn(e,t,n){return Array.from(Array(t),(()=>e.read(n))).reduce(((e,t)=>e+t))}function Cn(e){return Array.from(Array(4),(()=>e.read("i32")))}var In,pn;function Bn(e){const t=e.read("u8");return{positionRelativeToLayer:!!(t&In.PositionRelativeToLayer),layerMaskDisabled:!!(t&In.LayerMaskDisabled),invertMaskWhenBlending:!!(t&In.InvertMaskWhenBlending),userMaskFromRenderingOtherData:!!(t&In.UserMaskFromRenderingOtherData),masksHaveParametersApplied:!!(t&In.MasksHaveParametersApplied)}}function mn(e,t){const n=new Bt(e);n.pass(t.layerAndMaskSectionLengthFieldSize),n.pass(t.layerInfoSectionLengthFieldSize);const r=n.read("i16"),i=Math.abs(r),A=un(n,i,t);n.padding(n.position,4),n.pass(n.read("u32"));const a=function(e,t){const n=[];for(;e.position<e.length;)n.push(dn(e,t,4));return Ut(n.map((e=>[e.key,e])))}(n,t),o=[],s=[],c=[],l=[{startIndex:0,groupId:0,parentGroupId:0}];let d=0;for(let e=0;e<i;e++){const[t,n]=A[e],r=l[l.length-1].groupId,{dividerType:i}=t;if(i===kn.CloseFolder||i===kn.OpenFolder)d+=1,l.push({startIndex:o.length,groupId:d,parentGroupId:r,layerRecord:t}),c.push("G");else if(i===kn.BoundingSection){const e=l.pop();if(void 0===e)throw new ze;const n=e.groupId>0?e.groupId:void 0,r=e.layerRecord||t;s.push(Yt.create(r.name,e.groupId,r,n)),c.push("D")}else o.push(Ot.create(t,n,r)),c.push("L")}return s.sort(((e,t)=>e.id-t.id)),{layers:o,groups:s,orders:c,globalAdditionalLayerInformation:a}}!function(e){e[e.PositionRelativeToLayer=1]="PositionRelativeToLayer",e[e.LayerMaskDisabled=2]="LayerMaskDisabled",e[e.InvertMaskWhenBlending=4]="InvertMaskWhenBlending",e[e.UserMaskFromRenderingOtherData=8]="UserMaskFromRenderingOtherData",e[e.MasksHaveParametersApplied=16]="MasksHaveParametersApplied"}(In||(In={})),function(e){e[e.UserMaskDensity=1]="UserMaskDensity",e[e.UserMaskFeather=2]="UserMaskFeather",e[e.VectorMaskDensity=4]="VectorMaskDensity",e[e.VectorMaskFeather=8]="VectorMaskFeather"}(pn||(pn={}));function Qn(e,t,n=4){const r=(4===n?e.getUint32(t):It(e,t))+n;return{start:t,end:t+r,size:r}}function En(e){const t=new DataView(e),n=function(e){const t=new Bt(e),n=t.take(4);if(!xe(n,St))throw new we;const r=t.read("u16");if(r!==Nt.PSD&&r!==Nt.PSB)throw new ke;const i=xn(r),A=t.take(6);if(!xe(A,Ft))throw new Ne;const a=t.read("u16");if(!mt(a,1,56))throw new Se;const o=t.read("u32"),s=t.read("u32");if(!mt(o,1,i.maxPixels)||!mt(s,1,i.maxPixels))throw new Fe;const c=t.read("u16");if(!Mt.includes(c))throw new De;const l=t.read("u16");if(!(l in xt))throw new je;return{channelCount:a,version:r,width:s,height:o,depth:c,colorMode:l}}(new DataView(e,0,26)),r=xn(n.version),i=Qn(t,26),A=Qn(t,i.end),a=Qn(t,A.end,r.layerAndMaskSectionLengthFieldSize);return{fileHeader:n,colorModeData:new DataView(e,i.size),imageResources:new DataView(e,A.start,A.size),layerAndMaskInformation:new DataView(e,a.start,a.size),imageData:new DataView(e,a.end)}}const vn={maxPixels:3e4,rleScanlineLengthFieldSize:2,rleScanlineLengthFieldReadType:"u16",layerAndMaskSectionLengthFieldSize:4,layerInfoSectionLengthFieldSize:4,layerRecordSectionChannelLengthFieldReadType:"u32",aliLengthFieldSizeIsVariable:!1},yn={maxPixels:3e5,rleScanlineLengthFieldSize:4,rleScanlineLengthFieldReadType:"u32",layerAndMaskSectionLengthFieldSize:8,layerInfoSectionLengthFieldSize:8,layerRecordSectionChannelLengthFieldReadType:"u64",aliLengthFieldSizeIsVariable:!0};function xn(e){switch(e){case Nt.PSD:return vn;case Nt.PSB:return yn;default:throw new ke}}var bn,wn,kn,Nn,jn,Dn,Sn,Fn,Mn;function Rn(e){if(!(e in bn))throw new Ge;return e}function Ln(e){if(!(e in Nn))throw new We;return e}function Gn(e){if(!(e in Dn))throw new Ve(`Invalid slice origin: ${e}`);return e}function Un(e,t=255){if(!(0<=t&&t<=255))throw new Pe;const n=e.length/4,r=function(e){switch(e){case wn.Red:return 0;case wn.Green:return 1;case wn.Blue:return 2;case wn.TransparencyMask:return 3;default:throw new Oe}}(wn.TransparencyMask),i=t/255;for(let t=0;t<n;t++){const n=4*t+r;e[n]=Math.floor(i*e[n])}return e}!function(e){e[e.RawData=0]="RawData",e[e.RleCompressed=1]="RleCompressed",e[e.ZipWithoutPrediction=2]="ZipWithoutPrediction",e[e.ZipWithPrediction=3]="ZipWithPrediction"}(bn||(bn={})),function(e){e[e.Red=0]="Red",e[e.Green=1]="Green",e[e.Blue=2]="Blue",e[e.TransparencyMask=-1]="TransparencyMask",e[e.UserSuppliedLayerMask=-2]="UserSuppliedLayerMask",e[e.RealUserSuppliedLayerMask=-3]="RealUserSuppliedLayerMask"}(wn||(wn={})),function(e){e[e.Other=0]="Other",e[e.OpenFolder=1]="OpenFolder",e[e.CloseFolder=2]="CloseFolder",e[e.BoundingSection=3]="BoundingSection"}(kn||(kn={})),function(e){e[e.Vertical=0]="Vertical",e[e.Horizontal=1]="Horizontal"}(Nn||(Nn={})),function(e){e[e.GridAndGuides=1032]="GridAndGuides",e[e.Slices=1050]="Slices",e[e.ICCProfile=1039]="ICCProfile",e[e.GlobalLightAngle=1037]="GlobalLightAngle",e[e.GlobalLightAltitude=1049]="GlobalLightAltitude",e[e.ResolutionInfo=1005]="ResolutionInfo"}(jn||(jn={})),function(e){e[e.AutoGenerated=0]="AutoGenerated",e[e.LayerGenerated=1]="LayerGenerated",e[e.UserGenerated=2]="UserGenerated"}(Dn||(Dn={})),function(e){e[e.PixelsPerInch=1]="PixelsPerInch",e[e.PixelsPerCM=2]="PixelsPerCM"}(Sn||(Sn={})),function(e){e[e.Inch=1]="Inch",e[e.CM=2]="CM",e[e.Point=3]="Point",e[e.Pica=4]="Pica",e[e.Column=5]="Column"}(Fn||(Fn={})),function(e){e.Class="Clss",e.Enumerated="Enmr",e.Identifier="Idnt",e.Index="indx",e.Name="name",e.Offset="rele",e.Property="prop"}(Mn||(Mn={}));let Tn,On,Yn,Jn,zn,Pn,_n,Hn,Kn,Wn,qn=(async()=>{let e;Yn=function(t){e=t};const t=new Array(128).fill(void 0);function n(e){return t[e]}t.push(void 0,null,!0,!1);let r=t.length;function i(e){const i=n(e);return function(e){e<132||(t[e]=r,r=e)}(e),i}let A=new(typeof TextDecoder>"u"?(0,module.require)("util").TextDecoder:TextDecoder)("utf-8",{ignoreBOM:!0,fatal:!0});A.decode();let a=null;function o(){return(null===a||0===a.byteLength)&&(a=new Uint8Array(e.memory.buffer)),a}let s=0;function c(e,t){const n=t(1*e.length,1)>>>0;return o().set(e,n/1),s=e.length,n}let l=null;function d(){return(null===l||0===l.byteLength)&&(l=new Int32Array(e.memory.buffer)),l}function u(e,t){return e>>>=0,o().subarray(e/1,e/1+t)}Kn=function(t,n,r,i,A,a,o){try{const h=e.__wbindgen_add_to_stack_pointer(-16),C=c(n,e.__wbindgen_malloc),I=s,p=c(i,e.__wbindgen_malloc),B=s,m=c(a,e.__wbindgen_malloc),Q=s;e.decode_rgb(h,t,C,I,r,p,B,A,m,Q,o);var l=d()[h/4+0],g=d()[h/4+1],f=u(l,g).slice();return e.__wbindgen_free(l,1*g),f}finally{e.__wbindgen_add_to_stack_pointer(16)}},Wn=function(t,n,r,i,A,a,o,l,g){try{const I=e.__wbindgen_add_to_stack_pointer(-16),p=c(n,e.__wbindgen_malloc),B=s,m=c(i,e.__wbindgen_malloc),Q=s,E=c(a,e.__wbindgen_malloc),v=s,y=c(l,e.__wbindgen_malloc),x=s;e.decode_rgba(I,t,p,B,r,m,Q,A,E,v,o,y,x,g);var f=d()[I/4+0],h=d()[I/4+1],C=u(f,h).slice();return e.__wbindgen_free(f,1*h),C}finally{e.__wbindgen_add_to_stack_pointer(16)}},_n=function(t,n,r){try{const o=e.__wbindgen_add_to_stack_pointer(-16),l=c(n,e.__wbindgen_malloc),g=s;e.decode_grayscale(o,t,l,g,r);var i=d()[o/4+0],A=d()[o/4+1],a=u(i,A).slice();return e.__wbindgen_free(i,1*A),a}finally{e.__wbindgen_add_to_stack_pointer(16)}},Hn=function(t,n,r,i,A){try{const g=e.__wbindgen_add_to_stack_pointer(-16),f=c(n,e.__wbindgen_malloc),h=s,C=c(i,e.__wbindgen_malloc),I=s;e.decode_grayscale_a(g,t,f,h,r,C,I,A);var a=d()[g/4+0],o=d()[g/4+1],l=u(a,o).slice();return e.__wbindgen_free(a,1*o),l}finally{e.__wbindgen_add_to_stack_pointer(16)}};let g=new(typeof TextEncoder>"u"?(0,module.require)("util").TextEncoder:TextEncoder)("utf-8");const f="function"==typeof g.encodeInto?function(e,t){return g.encodeInto(e,t)}:function(e,t){const n=g.encode(e);return t.set(n),{read:e.length,written:n.length}};On=function(){return function(e){r===t.length&&t.push(t.length+1);const n=r;return r=t[n],t[n]=e,n}(new Error)},Jn=function(t,r){const i=function(e,t,n){if(void 0===n){const n=g.encode(e),r=t(n.length,1)>>>0;return o().subarray(r,r+n.length).set(n),s=n.length,r}let r=e.length,i=t(r,1)>>>0;const A=o();let a=0;for(;a<r;a++){const t=e.charCodeAt(a);if(t>127)break;A[i+a]=t}if(a!==r){0!==a&&(e=e.slice(a)),i=n(i,r,r=a+3*e.length,1)>>>0;const t=o().subarray(i+a,i+r);a+=f(e,t).written}return s=a,i}(n(r).stack,e.__wbindgen_malloc,e.__wbindgen_realloc),A=s;d()[t/4+1]=A,d()[t/4+0]=i},Tn=function(t,n){let r,i;try{r=t,i=n}finally{e.__wbindgen_free(r,i,1)}},zn=function(e){i(e)},Pn=function(e,t){throw new Error(function(e,t){return e>>>=0,A.decode(o().subarray(e,e+t))}(e,t))},URL=globalThis.URL;const h=await(async(e={},t)=>{let n;if(t.startsWith("data:")){const r=t.replace(/^data:.*?base64,/,"");let i;if("function"==typeof Buffer&&"function"==typeof Buffer.from)i=Buffer.from(r,"base64");else{if("function"!=typeof atob)throw new Error("Cannot decode base64-encoded data URL");{const e=atob(r);i=new Uint8Array(e.length);for(let t=0;t<e.length;t++)i[t]=e.charCodeAt(t)}}n=await WebAssembly.instantiate(i,e)}else{const r=await fetch(t),i=r.headers.get("Content-Type")||"";if("instantiateStreaming"in WebAssembly&&i.startsWith("application/wasm"))n=await WebAssembly.instantiateStreaming(r,e);else{const t=await r.arrayBuffer();n=await WebAssembly.instantiate(t,e)}}return n.instance.exports})({"./webtoon_psd_decoder_bg.js":{__wbg_new_abda76e883ba8a5f:On,__wbg_stack_658279fe44541cf6:Jn,__wbg_error_f851667af71bcfc6:Tn,__wbindgen_object_drop_ref:zn,__wbindgen_throw:Pn}},"data:application/wasm;base64,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