@webflow/webflow-cli 1.22.0 → 2.0.0-next.0

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/index.js CHANGED
@@ -1,91 +1,69 @@
1
1
  #!/usr/bin/env node
2
- "use strict";var BD=Object.create;var ua=Object.defineProperty;var ND=Object.getOwnPropertyDescriptor;var LD=Object.getOwnPropertyNames;var MD=Object.getPrototypeOf,WD=Object.prototype.hasOwnProperty;var O=(e,t)=>()=>(e&&(t=e(e=0)),t);var da=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Qu=(e,t)=>{for(var n in t)ua(e,n,{get:t[n],enumerable:!0})},UD=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of LD(t))!WD.call(e,o)&&o!==n&&ua(e,o,{get:()=>t[o],enumerable:!(r=ND(t,o))||r.enumerable});return e};var w=(e,t,n)=>(n=e!=null?BD(MD(e)):{},UD(t||!e||!e.__esModule?ua(n,"default",{value:e,enumerable:!0}):n,e));function GD(){let e=new Map;for(let[t,n]of Object.entries(ue)){for(let[r,o]of Object.entries(n))ue[r]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},n[r]=ue[r],e.set(o[0],o[1]);Object.defineProperty(ue,t,{value:n,enumerable:!1})}return Object.defineProperty(ue,"codes",{value:e,enumerable:!1}),ue.color.close="\x1B[39m",ue.bgColor.close="\x1B[49m",ue.color.ansi=td(),ue.color.ansi256=nd(),ue.color.ansi16m=rd(),ue.bgColor.ansi=td(10),ue.bgColor.ansi256=nd(10),ue.bgColor.ansi16m=rd(10),Object.defineProperties(ue,{rgbToAnsi256:{value(t,n,r){return t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},enumerable:!1},hexToRgb:{value(t){let n=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!n)return[0,0,0];let[r]=n;r.length===3&&(r=[...r].map(i=>i+i).join(""));let o=Number.parseInt(r,16);return[o>>16&255,o>>8&255,o&255]},enumerable:!1},hexToAnsi256:{value:t=>ue.rgbToAnsi256(...ue.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value(t){if(t<8)return 30+t;if(t<16)return 90+(t-8);let n,r,o;if(t>=232)n=((t-232)*10+8)/255,r=n,o=n;else{t-=16;let a=t%36;n=Math.floor(t/36)/5,r=Math.floor(a/6)/5,o=a%6/5}let i=Math.max(n,r,o)*2;if(i===0)return 30;let s=30+(Math.round(o)<<2|Math.round(r)<<1|Math.round(n));return i===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(t,n,r)=>ue.ansi256ToAnsi(ue.rgbToAnsi256(t,n,r)),enumerable:!1},hexToAnsi:{value:t=>ue.ansi256ToAnsi(ue.hexToAnsi256(t)),enumerable:!1}}),ue}var td,nd,rd,ue,SA,JD,qD,_A,HD,it,od=O(()=>{"use strict";td=(e=0)=>t=>`\x1B[${t+e}m`,nd=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,rd=(e=0)=>(t,n,r)=>`\x1B[${38+e};2;${t};${n};${r}m`,ue={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},SA=Object.keys(ue.modifier),JD=Object.keys(ue.color),qD=Object.keys(ue.bgColor),_A=[...JD,...qD];HD=GD(),it=HD});function Je(e,t=globalThis.Deno?globalThis.Deno.args:ui.default.argv){let n=e.startsWith("-")?"":e.length===1?"-":"--",r=t.indexOf(n+e),o=t.indexOf("--");return r!==-1&&(o===-1||r<o)}function ZD(){if("FORCE_COLOR"in pe)return pe.FORCE_COLOR==="true"?1:pe.FORCE_COLOR==="false"?0:pe.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(pe.FORCE_COLOR,10),3)}function KD(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function YD(e,{streamIsTTY:t,sniffFlags:n=!0}={}){let r=ZD();r!==void 0&&(ci=r);let o=n?ci:r;if(o===0)return 0;if(n){if(Je("color=16m")||Je("color=full")||Je("color=truecolor"))return 3;if(Je("color=256"))return 2}if("TF_BUILD"in pe&&"AGENT_NAME"in pe)return 1;if(e&&!t&&o===void 0)return 0;let i=o||0;if(pe.TERM==="dumb")return i;if(ui.default.platform==="win32"){let s=sd.default.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in pe)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(s=>s in pe)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in pe)||pe.CI_NAME==="codeship"?1:i;if("TEAMCITY_VERSION"in pe)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(pe.TEAMCITY_VERSION)?1:0;if(pe.COLORTERM==="truecolor"||pe.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in pe){let s=Number.parseInt((pe.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(pe.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(pe.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(pe.TERM)||"COLORTERM"in pe?1:i}function id(e,t={}){let n=YD(e,{streamIsTTY:e&&e.isTTY,...t});return KD(n)}var ui,sd,pa,pe,ci,XD,ad,ld=O(()=>{"use strict";ui=w(require("process"),1),sd=w(require("os"),1),pa=w(require("tty"),1);({env:pe}=ui.default);Je("no-color")||Je("no-colors")||Je("color=false")||Je("color=never")?ci=0:(Je("color")||Je("colors")||Je("color=true")||Je("color=always"))&&(ci=1);XD={stdout:id({isTTY:pa.default.isatty(1)}),stderr:id({isTTY:pa.default.isatty(2)})},ad=XD});function cd(e,t,n){let r=e.indexOf(t);if(r===-1)return e;let o=t.length,i=0,s="";do s+=e.slice(i,r)+t+n,i=r+o,r=e.indexOf(t,i);while(r!==-1);return s+=e.slice(i),s}function ud(e,t,n,r){let o=0,i="";do{let s=e[r-1]==="\r";i+=e.slice(o,s?r-1:r)+t+(s?`\r
2
+ "use strict";var lh=Object.create;var fs=Object.defineProperty;var ch=Object.getOwnPropertyDescriptor;var uh=Object.getOwnPropertyNames;var fh=Object.getPrototypeOf,dh=Object.prototype.hasOwnProperty;var b=(t,e)=>()=>(t&&(e=t(t=0)),e);var ds=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ac=(t,e)=>{for(var r in e)fs(t,r,{get:e[r],enumerable:!0})},ph=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of uh(e))!dh.call(t,o)&&o!==r&&fs(t,o,{get:()=>e[o],enumerable:!(n=ch(e,o))||n.enumerable});return t};var m=(t,e,r)=>(r=t!=null?lh(fh(t)):{},ph(e||!t||!t.__esModule?fs(r,"default",{value:t,enumerable:!0}):r,t));var Ic,le,ps,bt,ce,Fn,M,Z,S,fe=b(()=>{"use strict";Ic=t=>`\x1B[1;48;2;20;110;245;97m ${t} \x1B[0m`,le=t=>`\x1B[38;2;167;209;255m${t}\x1B[0m`,ps=t=>`\x1B[38;2;196;175;255m${t}\x1B[0m`,bt=t=>`\x1B[38;2;255;156;156m${t}\x1B[0m`,ce=t=>`\x1B[38;2;255;209;102m${t}\x1B[0m`,Fn=t=>`\x1B[97m${t}\x1B[0m`,M=t=>`\x1B[38;2;121;224;156m${t}\x1B[0m`,Z=t=>`\x1B[1m${t}\x1B[0m`,S=t=>`\x1B[38;2;185;185;185m${t}\x1B[0m`});function wh(){let t=new Map;for(let[e,r]of Object.entries(se)){for(let[n,o]of Object.entries(r))se[n]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},r[n]=se[n],t.set(o[0],o[1]);Object.defineProperty(se,e,{value:r,enumerable:!1})}return Object.defineProperty(se,"codes",{value:t,enumerable:!1}),se.color.close="\x1B[39m",se.bgColor.close="\x1B[49m",se.color.ansi=$c(),se.color.ansi256=Rc(),se.color.ansi16m=Pc(),se.bgColor.ansi=$c(10),se.bgColor.ansi256=Rc(10),se.bgColor.ansi16m=Pc(10),Object.defineProperties(se,{rgbToAnsi256:{value(e,r,n){return e===r&&r===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(e){let r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!r)return[0,0,0];let[n]=r;n.length===3&&(n=[...n].map(i=>i+i).join(""));let o=Number.parseInt(n,16);return[o>>16&255,o>>8&255,o&255]},enumerable:!1},hexToAnsi256:{value:e=>se.rgbToAnsi256(...se.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let r,n,o;if(e>=232)r=((e-232)*10+8)/255,n=r,o=r;else{e-=16;let a=e%36;r=Math.floor(e/36)/5,n=Math.floor(a/6)/5,o=a%6/5}let i=Math.max(r,n,o)*2;if(i===0)return 30;let s=30+(Math.round(o)<<2|Math.round(n)<<1|Math.round(r));return i===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(e,r,n)=>se.ansi256ToAnsi(se.rgbToAnsi256(e,r,n)),enumerable:!1},hexToAnsi:{value:e=>se.ansi256ToAnsi(se.hexToAnsi256(e)),enumerable:!1}}),se}var $c,Rc,Pc,se,xv,hh,yh,_v,Dh,rt,jc=b(()=>{"use strict";$c=(t=0)=>e=>`\x1B[${e+t}m`,Rc=(t=0)=>e=>`\x1B[${38+t};5;${e}m`,Pc=(t=0)=>(e,r,n)=>`\x1B[${38+t};2;${e};${r};${n}m`,se={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},xv=Object.keys(se.modifier),hh=Object.keys(se.color),yh=Object.keys(se.bgColor),_v=[...hh,...yh];Dh=wh(),rt=Dh});function Ue(t,e=globalThis.Deno?globalThis.Deno.args:ko.default.argv){let r=t.startsWith("-")?"":t.length===1?"-":"--",n=e.indexOf(r+t),o=e.indexOf("--");return n!==-1&&(o===-1||n<o)}function bh(){if("FORCE_COLOR"in de)return de.FORCE_COLOR==="true"?1:de.FORCE_COLOR==="false"?0:de.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(de.FORCE_COLOR,10),3)}function vh(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Eh(t,{streamIsTTY:e,sniffFlags:r=!0}={}){let n=bh();n!==void 0&&(Fo=n);let o=r?Fo:n;if(o===0)return 0;if(r){if(Ue("color=16m")||Ue("color=full")||Ue("color=truecolor"))return 3;if(Ue("color=256"))return 2}if("TF_BUILD"in de&&"AGENT_NAME"in de)return 1;if(t&&!e&&o===void 0)return 0;let i=o||0;if(de.TERM==="dumb")return i;if(ko.default.platform==="win32"){let s=Bc.default.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in de)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(s=>s in de)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in de)||de.CI_NAME==="codeship"?1:i;if("TEAMCITY_VERSION"in de)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(de.TEAMCITY_VERSION)?1:0;if(de.COLORTERM==="truecolor"||de.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in de){let s=Number.parseInt((de.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(de.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(de.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(de.TERM)||"COLORTERM"in de?1:i}function Nc(t,e={}){let r=Eh(t,{streamIsTTY:t&&t.isTTY,...e});return vh(r)}var ko,Bc,ms,de,Fo,xh,Mc,Lc=b(()=>{"use strict";ko=m(require("process"),1),Bc=m(require("os"),1),ms=m(require("tty"),1);({env:de}=ko.default);Ue("no-color")||Ue("no-colors")||Ue("color=false")||Ue("color=never")?Fo=0:(Ue("color")||Ue("colors")||Ue("color=true")||Ue("color=always"))&&(Fo=1);xh={stdout:Nc({isTTY:ms.default.isatty(1)}),stderr:Nc({isTTY:ms.default.isatty(2)})},Mc=xh});function Wc(t,e,r){let n=t.indexOf(e);if(n===-1)return t;let o=e.length,i=0,s="";do s+=t.slice(i,n)+e+r,i=n+o,n=t.indexOf(e,i);while(n!==-1);return s+=t.slice(i),s}function Uc(t,e,r,n){let o=0,i="";do{let s=t[n-1]==="\r";i+=t.slice(o,s?n-1:n)+e+(s?`\r
3
3
  `:`
4
- `)+n,o=r+1,r=e.indexOf(`
5
- `,o)}while(r!==-1);return i+=e.slice(o),i}var dd=O(()=>{"use strict"});function io(e){return ev(e)}var pd,fd,fa,sr,oo,md,ar,QD,ev,ma,tv,nv,ga,di,rv,ov,RA,E,_e=O(()=>{"use strict";od();ld();dd();({stdout:pd,stderr:fd}=ad),fa=Symbol("GENERATOR"),sr=Symbol("STYLER"),oo=Symbol("IS_EMPTY"),md=["ansi","ansi","ansi256","ansi16m"],ar=Object.create(null),QD=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let n=pd?pd.level:0;e.level=t.level===void 0?n:t.level},ev=e=>{let t=(...n)=>n.join(" ");return QD(t,e),Object.setPrototypeOf(t,io.prototype),t};Object.setPrototypeOf(io.prototype,Function.prototype);for(let[e,t]of Object.entries(it))ar[e]={get(){let n=di(this,ga(t.open,t.close,this[sr]),this[oo]);return Object.defineProperty(this,e,{value:n}),n}};ar.visible={get(){let e=di(this,this[sr],!0);return Object.defineProperty(this,"visible",{value:e}),e}};ma=(e,t,n,...r)=>e==="rgb"?t==="ansi16m"?it[n].ansi16m(...r):t==="ansi256"?it[n].ansi256(it.rgbToAnsi256(...r)):it[n].ansi(it.rgbToAnsi(...r)):e==="hex"?ma("rgb",t,n,...it.hexToRgb(...r)):it[n][e](...r),tv=["rgb","hex","ansi256"];for(let e of tv){ar[e]={get(){let{level:n}=this;return function(...r){let o=ga(ma(e,md[n],"color",...r),it.color.close,this[sr]);return di(this,o,this[oo])}}};let t="bg"+e[0].toUpperCase()+e.slice(1);ar[t]={get(){let{level:n}=this;return function(...r){let o=ga(ma(e,md[n],"bgColor",...r),it.bgColor.close,this[sr]);return di(this,o,this[oo])}}}}nv=Object.defineProperties(()=>{},{...ar,level:{enumerable:!0,get(){return this[fa].level},set(e){this[fa].level=e}}}),ga=(e,t,n)=>{let r,o;return n===void 0?(r=e,o=t):(r=n.openAll+e,o=t+n.closeAll),{open:e,close:t,openAll:r,closeAll:o,parent:n}},di=(e,t,n)=>{let r=(...o)=>rv(r,o.length===1?""+o[0]:o.join(" "));return Object.setPrototypeOf(r,nv),r[fa]=e,r[sr]=t,r[oo]=n,r},rv=(e,t)=>{if(e.level<=0||!t)return e[oo]?"":t;let n=e[sr];if(n===void 0)return t;let{openAll:r,closeAll:o}=n;if(t.includes("\x1B"))for(;n!==void 0;)t=cd(t,n.close,n.open),n=n.parent;let i=t.indexOf(`
6
- `);return i!==-1&&(t=ud(t,o,r,i)),r+t+o};Object.defineProperties(io.prototype,ar);ov=io(),RA=io({level:fd?fd.level:0}),E=ov});function ha(e,t,{ignoreNonConfigurable:n=!1}={}){let{name:r}=e;for(let o of Reflect.ownKeys(t))iv(e,t,o,n);return av(e,t),dv(e,t,r),e}var iv,sv,av,lv,cv,uv,dv,gd=O(()=>{"use strict";iv=(e,t,n,r)=>{if(n==="length"||n==="prototype"||n==="arguments"||n==="caller")return;let o=Object.getOwnPropertyDescriptor(e,n),i=Object.getOwnPropertyDescriptor(t,n);!sv(o,i)&&r||Object.defineProperty(e,n,i)},sv=function(e,t){return e===void 0||e.configurable||e.writable===t.writable&&e.enumerable===t.enumerable&&e.configurable===t.configurable&&(e.writable||e.value===t.value)},av=(e,t)=>{let n=Object.getPrototypeOf(t);n!==Object.getPrototypeOf(e)&&Object.setPrototypeOf(e,n)},lv=(e,t)=>`/* Wrapped ${e}*/
7
- ${t}`,cv=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),uv=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),dv=(e,t,n)=>{let r=n===""?"":`with ${n.trim()}() `,o=lv.bind(null,r,t.toString());Object.defineProperty(o,"name",uv);let{writable:i,enumerable:s,configurable:a}=cv;Object.defineProperty(e,"toString",{value:o,writable:i,enumerable:s,configurable:a})}});var pi,hd,yd,wd=O(()=>{"use strict";gd();pi=new WeakMap,hd=(e,t={})=>{if(typeof e!="function")throw new TypeError("Expected a function");let n,r=0,o=e.displayName||e.name||"<anonymous>",i=function(...s){if(pi.set(i,++r),r===1)n=e.apply(this,s),e=void 0;else if(t.throw===!0)throw new Error(`Function \`${o}\` can only be called once`);return n};return ha(i,e),pi.set(i,r),i};hd.callCount=e=>{if(!pi.has(e))throw new Error(`The given function \`${e.name}\` is not wrapped by the \`onetime\` package`);return pi.get(e)};yd=hd});var Dn,bd=O(()=>{"use strict";Dn=[];Dn.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Dn.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Dn.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT")});var fi,ya,wa,pv,ba,mi,fv,Da,va,ka,Dd,UA,zA,vd=O(()=>{"use strict";bd();fi=e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function",ya=Symbol.for("signal-exit emitter"),wa=globalThis,pv=Object.defineProperty.bind(Object),ba=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(wa[ya])return wa[ya];pv(wa,ya,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(t,n){this.listeners[t].push(n)}removeListener(t,n){let r=this.listeners[t],o=r.indexOf(n);o!==-1&&(o===0&&r.length===1?r.length=0:r.splice(o,1))}emit(t,n,r){if(this.emitted[t])return!1;this.emitted[t]=!0;let o=!1;for(let i of this.listeners[t])o=i(n,r)===!0||o;return t==="exit"&&(o=this.emit("afterExit",n,r)||o),o}},mi=class{},fv=e=>({onExit(t,n){return e.onExit(t,n)},load(){return e.load()},unload(){return e.unload()}}),Da=class extends mi{onExit(){return()=>{}}load(){}unload(){}},va=class extends mi{#s=ka.platform==="win32"?"SIGINT":"SIGHUP";#n=new ba;#e;#o;#p;#t={};#i=!1;constructor(t){super(),this.#e=t,this.#t={};for(let n of Dn)this.#t[n]=()=>{let r=this.#e.listeners(n),{count:o}=this.#n,i=t;if(typeof i.__signal_exit_emitter__=="object"&&typeof i.__signal_exit_emitter__.count=="number"&&(o+=i.__signal_exit_emitter__.count),r.length===o){this.unload();let s=this.#n.emit("exit",null,n),a=n==="SIGHUP"?this.#s:n;s||t.kill(t.pid,a)}};this.#p=t.reallyExit,this.#o=t.emit}onExit(t,n){if(!fi(this.#e))return()=>{};this.#i===!1&&this.load();let r=n?.alwaysLast?"afterExit":"exit";return this.#n.on(r,t),()=>{this.#n.removeListener(r,t),this.#n.listeners.exit.length===0&&this.#n.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#i){this.#i=!0,this.#n.count+=1;for(let t of Dn)try{let n=this.#t[t];n&&this.#e.on(t,n)}catch{}this.#e.emit=(t,...n)=>this.#f(t,...n),this.#e.reallyExit=t=>this.#r(t)}}unload(){this.#i&&(this.#i=!1,Dn.forEach(t=>{let n=this.#t[t];if(!n)throw new Error("Listener not defined for signal: "+t);try{this.#e.removeListener(t,n)}catch{}}),this.#e.emit=this.#o,this.#e.reallyExit=this.#p,this.#n.count-=1)}#r(t){return fi(this.#e)?(this.#e.exitCode=t||0,this.#n.emit("exit",this.#e.exitCode,null),this.#p.call(this.#e,this.#e.exitCode)):0}#f(t,...n){let r=this.#o;if(t==="exit"&&fi(this.#e)){typeof n[0]=="number"&&(this.#e.exitCode=n[0]);let o=r.call(this.#e,t,...n);return this.#n.emit("exit",this.#e.exitCode,null),o}else return r.call(this.#e,t,...n)}},ka=globalThis.process,{onExit:Dd,load:UA,unload:zA}=fv(fi(ka)?new va(ka):new Da)});var so,kd,mv,xd,Cd=O(()=>{"use strict";so=w(require("process"),1);wd();vd();kd=so.default.stderr.isTTY?so.default.stderr:so.default.stdout.isTTY?so.default.stdout:void 0,mv=kd?yd(()=>{Dd(()=>{kd.write("\x1B[?25h")},{alwaysLast:!0})}):()=>{},xd=mv});var xa,gi,lr,Ca,Ed=O(()=>{"use strict";xa=w(require("process"),1);Cd();gi=!1,lr={};lr.show=(e=xa.default.stderr)=>{e.isTTY&&(gi=!1,e.write("\x1B[?25h"))};lr.hide=(e=xa.default.stderr)=>{e.isTTY&&(xd(),gi=!0,e.write("\x1B[?25l"))};lr.toggle=(e,t)=>{e!==void 0&&(gi=e),gi?lr.show(t):lr.hide(t)};Ca=lr});var Fd=da((KA,gv)=>{gv.exports={dots:{interval:80,frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]},dots2:{interval:80,frames:["\u28FE","\u28FD","\u28FB","\u28BF","\u287F","\u28DF","\u28EF","\u28F7"]},dots3:{interval:80,frames:["\u280B","\u2819","\u281A","\u281E","\u2816","\u2826","\u2834","\u2832","\u2833","\u2813"]},dots4:{interval:80,frames:["\u2804","\u2806","\u2807","\u280B","\u2819","\u2838","\u2830","\u2820","\u2830","\u2838","\u2819","\u280B","\u2807","\u2806"]},dots5:{interval:80,frames:["\u280B","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B"]},dots6:{interval:80,frames:["\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2834","\u2832","\u2812","\u2802","\u2802","\u2812","\u281A","\u2819","\u2809","\u2801"]},dots7:{interval:80,frames:["\u2808","\u2809","\u280B","\u2813","\u2812","\u2810","\u2810","\u2812","\u2816","\u2826","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808"]},dots8:{interval:80,frames:["\u2801","\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808","\u2808"]},dots9:{interval:80,frames:["\u28B9","\u28BA","\u28BC","\u28F8","\u28C7","\u2867","\u2857","\u284F"]},dots10:{interval:80,frames:["\u2884","\u2882","\u2881","\u2841","\u2848","\u2850","\u2860"]},dots11:{interval:100,frames:["\u2801","\u2802","\u2804","\u2840","\u2880","\u2820","\u2810","\u2808"]},dots12:{interval:80,frames:["\u2880\u2800","\u2840\u2800","\u2804\u2800","\u2882\u2800","\u2842\u2800","\u2805\u2800","\u2883\u2800","\u2843\u2800","\u280D\u2800","\u288B\u2800","\u284B\u2800","\u280D\u2801","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2888\u2829","\u2840\u2899","\u2804\u2859","\u2882\u2829","\u2842\u2898","\u2805\u2858","\u2883\u2828","\u2843\u2890","\u280D\u2850","\u288B\u2820","\u284B\u2880","\u280D\u2841","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2808\u2829","\u2800\u2899","\u2800\u2859","\u2800\u2829","\u2800\u2898","\u2800\u2858","\u2800\u2828","\u2800\u2890","\u2800\u2850","\u2800\u2820","\u2800\u2880","\u2800\u2840"]},dots13:{interval:80,frames:["\u28FC","\u28F9","\u28BB","\u283F","\u285F","\u28CF","\u28E7","\u28F6"]},dots8Bit:{interval:80,frames:["\u2800","\u2801","\u2802","\u2803","\u2804","\u2805","\u2806","\u2807","\u2840","\u2841","\u2842","\u2843","\u2844","\u2845","\u2846","\u2847","\u2808","\u2809","\u280A","\u280B","\u280C","\u280D","\u280E","\u280F","\u2848","\u2849","\u284A","\u284B","\u284C","\u284D","\u284E","\u284F","\u2810","\u2811","\u2812","\u2813","\u2814","\u2815","\u2816","\u2817","\u2850","\u2851","\u2852","\u2853","\u2854","\u2855","\u2856","\u2857","\u2818","\u2819","\u281A","\u281B","\u281C","\u281D","\u281E","\u281F","\u2858","\u2859","\u285A","\u285B","\u285C","\u285D","\u285E","\u285F","\u2820","\u2821","\u2822","\u2823","\u2824","\u2825","\u2826","\u2827","\u2860","\u2861","\u2862","\u2863","\u2864","\u2865","\u2866","\u2867","\u2828","\u2829","\u282A","\u282B","\u282C","\u282D","\u282E","\u282F","\u2868","\u2869","\u286A","\u286B","\u286C","\u286D","\u286E","\u286F","\u2830","\u2831","\u2832","\u2833","\u2834","\u2835","\u2836","\u2837","\u2870","\u2871","\u2872","\u2873","\u2874","\u2875","\u2876","\u2877","\u2838","\u2839","\u283A","\u283B","\u283C","\u283D","\u283E","\u283F","\u2878","\u2879","\u287A","\u287B","\u287C","\u287D","\u287E","\u287F","\u2880","\u2881","\u2882","\u2883","\u2884","\u2885","\u2886","\u2887","\u28C0","\u28C1","\u28C2","\u28C3","\u28C4","\u28C5","\u28C6","\u28C7","\u2888","\u2889","\u288A","\u288B","\u288C","\u288D","\u288E","\u288F","\u28C8","\u28C9","\u28CA","\u28CB","\u28CC","\u28CD","\u28CE","\u28CF","\u2890","\u2891","\u2892","\u2893","\u2894","\u2895","\u2896","\u2897","\u28D0","\u28D1","\u28D2","\u28D3","\u28D4","\u28D5","\u28D6","\u28D7","\u2898","\u2899","\u289A","\u289B","\u289C","\u289D","\u289E","\u289F","\u28D8","\u28D9","\u28DA","\u28DB","\u28DC","\u28DD","\u28DE","\u28DF","\u28A0","\u28A1","\u28A2","\u28A3","\u28A4","\u28A5","\u28A6","\u28A7","\u28E0","\u28E1","\u28E2","\u28E3","\u28E4","\u28E5","\u28E6","\u28E7","\u28A8","\u28A9","\u28AA","\u28AB","\u28AC","\u28AD","\u28AE","\u28AF","\u28E8","\u28E9","\u28EA","\u28EB","\u28EC","\u28ED","\u28EE","\u28EF","\u28B0","\u28B1","\u28B2","\u28B3","\u28B4","\u28B5","\u28B6","\u28B7","\u28F0","\u28F1","\u28F2","\u28F3","\u28F4","\u28F5","\u28F6","\u28F7","\u28B8","\u28B9","\u28BA","\u28BB","\u28BC","\u28BD","\u28BE","\u28BF","\u28F8","\u28F9","\u28FA","\u28FB","\u28FC","\u28FD","\u28FE","\u28FF"]},sand:{interval:80,frames:["\u2801","\u2802","\u2804","\u2840","\u2848","\u2850","\u2860","\u28C0","\u28C1","\u28C2","\u28C4","\u28CC","\u28D4","\u28E4","\u28E5","\u28E6","\u28EE","\u28F6","\u28F7","\u28FF","\u287F","\u283F","\u289F","\u281F","\u285B","\u281B","\u282B","\u288B","\u280B","\u280D","\u2849","\u2809","\u2811","\u2821","\u2881"]},line:{interval:130,frames:["-","\\","|","/"]},line2:{interval:100,frames:["\u2802","-","\u2013","\u2014","\u2013","-"]},pipe:{interval:100,frames:["\u2524","\u2518","\u2534","\u2514","\u251C","\u250C","\u252C","\u2510"]},simpleDots:{interval:400,frames:[". ",".. ","..."," "]},simpleDotsScrolling:{interval:200,frames:[". ",".. ","..."," .."," ."," "]},star:{interval:70,frames:["\u2736","\u2738","\u2739","\u273A","\u2739","\u2737"]},star2:{interval:80,frames:["+","x","*"]},flip:{interval:70,frames:["_","_","_","-","`","`","'","\xB4","-","_","_","_"]},hamburger:{interval:100,frames:["\u2631","\u2632","\u2634"]},growVertical:{interval:120,frames:["\u2581","\u2583","\u2584","\u2585","\u2586","\u2587","\u2586","\u2585","\u2584","\u2583"]},growHorizontal:{interval:120,frames:["\u258F","\u258E","\u258D","\u258C","\u258B","\u258A","\u2589","\u258A","\u258B","\u258C","\u258D","\u258E"]},balloon:{interval:140,frames:[" ",".","o","O","@","*"," "]},balloon2:{interval:120,frames:[".","o","O","\xB0","O","o","."]},noise:{interval:100,frames:["\u2593","\u2592","\u2591"]},bounce:{interval:120,frames:["\u2801","\u2802","\u2804","\u2802"]},boxBounce:{interval:120,frames:["\u2596","\u2598","\u259D","\u2597"]},boxBounce2:{interval:100,frames:["\u258C","\u2580","\u2590","\u2584"]},triangle:{interval:50,frames:["\u25E2","\u25E3","\u25E4","\u25E5"]},binary:{interval:80,frames:["010010","001100","100101","111010","111101","010111","101011","111000","110011","110101"]},arc:{interval:100,frames:["\u25DC","\u25E0","\u25DD","\u25DE","\u25E1","\u25DF"]},circle:{interval:120,frames:["\u25E1","\u2299","\u25E0"]},squareCorners:{interval:180,frames:["\u25F0","\u25F3","\u25F2","\u25F1"]},circleQuarters:{interval:120,frames:["\u25F4","\u25F7","\u25F6","\u25F5"]},circleHalves:{interval:50,frames:["\u25D0","\u25D3","\u25D1","\u25D2"]},squish:{interval:100,frames:["\u256B","\u256A"]},toggle:{interval:250,frames:["\u22B6","\u22B7"]},toggle2:{interval:80,frames:["\u25AB","\u25AA"]},toggle3:{interval:120,frames:["\u25A1","\u25A0"]},toggle4:{interval:100,frames:["\u25A0","\u25A1","\u25AA","\u25AB"]},toggle5:{interval:100,frames:["\u25AE","\u25AF"]},toggle6:{interval:300,frames:["\u101D","\u1040"]},toggle7:{interval:80,frames:["\u29BE","\u29BF"]},toggle8:{interval:100,frames:["\u25CD","\u25CC"]},toggle9:{interval:100,frames:["\u25C9","\u25CE"]},toggle10:{interval:100,frames:["\u3282","\u3280","\u3281"]},toggle11:{interval:50,frames:["\u29C7","\u29C6"]},toggle12:{interval:120,frames:["\u2617","\u2616"]},toggle13:{interval:80,frames:["=","*","-"]},arrow:{interval:100,frames:["\u2190","\u2196","\u2191","\u2197","\u2192","\u2198","\u2193","\u2199"]},arrow2:{interval:80,frames:["\u2B06\uFE0F ","\u2197\uFE0F ","\u27A1\uFE0F ","\u2198\uFE0F ","\u2B07\uFE0F ","\u2199\uFE0F ","\u2B05\uFE0F ","\u2196\uFE0F "]},arrow3:{interval:120,frames:["\u25B9\u25B9\u25B9\u25B9\u25B9","\u25B8\u25B9\u25B9\u25B9\u25B9","\u25B9\u25B8\u25B9\u25B9\u25B9","\u25B9\u25B9\u25B8\u25B9\u25B9","\u25B9\u25B9\u25B9\u25B8\u25B9","\u25B9\u25B9\u25B9\u25B9\u25B8"]},bouncingBar:{interval:80,frames:["[ ]","[= ]","[== ]","[=== ]","[====]","[ ===]","[ ==]","[ =]","[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"]},bouncingBall:{interval:80,frames:["( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF)","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","(\u25CF )"]},smiley:{interval:200,frames:["\u{1F604} ","\u{1F61D} "]},monkey:{interval:300,frames:["\u{1F648} ","\u{1F648} ","\u{1F649} ","\u{1F64A} "]},hearts:{interval:100,frames:["\u{1F49B} ","\u{1F499} ","\u{1F49C} ","\u{1F49A} ","\u2764\uFE0F "]},clock:{interval:100,frames:["\u{1F55B} ","\u{1F550} ","\u{1F551} ","\u{1F552} ","\u{1F553} ","\u{1F554} ","\u{1F555} ","\u{1F556} ","\u{1F557} ","\u{1F558} ","\u{1F559} ","\u{1F55A} "]},earth:{interval:180,frames:["\u{1F30D} ","\u{1F30E} ","\u{1F30F} "]},material:{interval:17,frames:["\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"]},moon:{interval:80,frames:["\u{1F311} ","\u{1F312} ","\u{1F313} ","\u{1F314} ","\u{1F315} ","\u{1F316} ","\u{1F317} ","\u{1F318} "]},runner:{interval:140,frames:["\u{1F6B6} ","\u{1F3C3} "]},pong:{interval:80,frames:["\u2590\u2802 \u258C","\u2590\u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802\u258C","\u2590 \u2820\u258C","\u2590 \u2840\u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590\u2820 \u258C"]},shark:{interval:120,frames:["\u2590|\\____________\u258C","\u2590_|\\___________\u258C","\u2590__|\\__________\u258C","\u2590___|\\_________\u258C","\u2590____|\\________\u258C","\u2590_____|\\_______\u258C","\u2590______|\\______\u258C","\u2590_______|\\_____\u258C","\u2590________|\\____\u258C","\u2590_________|\\___\u258C","\u2590__________|\\__\u258C","\u2590___________|\\_\u258C","\u2590____________|\\\u258C","\u2590____________/|\u258C","\u2590___________/|_\u258C","\u2590__________/|__\u258C","\u2590_________/|___\u258C","\u2590________/|____\u258C","\u2590_______/|_____\u258C","\u2590______/|______\u258C","\u2590_____/|_______\u258C","\u2590____/|________\u258C","\u2590___/|_________\u258C","\u2590__/|__________\u258C","\u2590_/|___________\u258C","\u2590/|____________\u258C"]},dqpb:{interval:100,frames:["d","q","p","b"]},weather:{interval:100,frames:["\u2600\uFE0F ","\u2600\uFE0F ","\u2600\uFE0F ","\u{1F324} ","\u26C5\uFE0F ","\u{1F325} ","\u2601\uFE0F ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u26C8 ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u2601\uFE0F ","\u{1F325} ","\u26C5\uFE0F ","\u{1F324} ","\u2600\uFE0F ","\u2600\uFE0F "]},christmas:{interval:400,frames:["\u{1F332}","\u{1F384}"]},grenade:{interval:80,frames:["\u060C ","\u2032 "," \xB4 "," \u203E "," \u2E0C"," \u2E0A"," |"," \u204E"," \u2055"," \u0DF4 "," \u2053"," "," "," "]},point:{interval:125,frames:["\u2219\u2219\u2219","\u25CF\u2219\u2219","\u2219\u25CF\u2219","\u2219\u2219\u25CF","\u2219\u2219\u2219"]},layer:{interval:150,frames:["-","=","\u2261"]},betaWave:{interval:80,frames:["\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1"]},fingerDance:{interval:160,frames:["\u{1F918} ","\u{1F91F} ","\u{1F596} ","\u270B ","\u{1F91A} ","\u{1F446} "]},fistBump:{interval:80,frames:["\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u3000\u{1F91C}\u3000\u3000\u{1F91B}\u3000 ","\u3000\u3000\u{1F91C}\u{1F91B}\u3000\u3000 ","\u3000\u{1F91C}\u2728\u{1F91B}\u3000\u3000 ","\u{1F91C}\u3000\u2728\u3000\u{1F91B}\u3000 "]},soccerHeader:{interval:80,frames:[" \u{1F9D1}\u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F\u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} "]},mindblown:{interval:160,frames:["\u{1F610} ","\u{1F610} ","\u{1F62E} ","\u{1F62E} ","\u{1F626} ","\u{1F626} ","\u{1F627} ","\u{1F627} ","\u{1F92F} ","\u{1F4A5} ","\u2728 ","\u3000 ","\u3000 ","\u3000 "]},speaker:{interval:160,frames:["\u{1F508} ","\u{1F509} ","\u{1F50A} ","\u{1F509} "]},orangePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} "]},bluePulse:{interval:100,frames:["\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},orangeBluePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} ","\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},timeTravel:{interval:100,frames:["\u{1F55B} ","\u{1F55A} ","\u{1F559} ","\u{1F558} ","\u{1F557} ","\u{1F556} ","\u{1F555} ","\u{1F554} ","\u{1F553} ","\u{1F552} ","\u{1F551} ","\u{1F550} "]},aesthetic:{interval:80,frames:["\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0","\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1"]},dwarfFortress:{interval:80,frames:[" \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A \u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A \xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A \xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\u2593\xA3 "," \u263A\u2593\xA3 "," \u263A\u2592\xA3 "," \u263A\u2592\xA3 "," \u263A\u2591\xA3 "," \u263A\u2591\xA3 "," \u263A \xA3 "," \u263A\xA3 "," \u263A\xA3 "," \u263A\u2593 "," \u263A\u2593 "," \u263A\u2592 "," \u263A\u2592 "," \u263A\u2591 "," \u263A\u2591 "," \u263A "," \u263A &"," \u263A \u263C&"," \u263A \u263C &"," \u263A\u263C &"," \u263A\u263C & "," \u203C & "," \u263A & "," \u203C & "," \u263A & "," \u203C & "," \u263A & ","\u203C & "," & "," & "," & \u2591 "," & \u2592 "," & \u2593 "," & \xA3 "," & \u2591\xA3 "," & \u2592\xA3 "," & \u2593\xA3 "," & \xA3\xA3 "," & \u2591\xA3\xA3 "," & \u2592\xA3\xA3 ","& \u2593\xA3\xA3 ","& \xA3\xA3\xA3 "," \u2591\xA3\xA3\xA3 "," \u2592\xA3\xA3\xA3 "," \u2593\xA3\xA3\xA3 "," \u2588\xA3\xA3\xA3 "," \u2591\u2588\xA3\xA3\xA3 "," \u2592\u2588\xA3\xA3\xA3 "," \u2593\u2588\xA3\xA3\xA3 "," \u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "]}}});var Ea=da((YA,_d)=>{"use strict";var hi=Object.assign({},Fd()),Sd=Object.keys(hi);Object.defineProperty(hi,"random",{get(){let e=Math.floor(Math.random()*Sd.length),t=Sd[e];return hi[t]}});_d.exports=hi});function Fa(){return qe.default.platform!=="win32"?qe.default.env.TERM!=="linux":!!qe.default.env.CI||!!qe.default.env.WT_SESSION||!!qe.default.env.TERMINUS_SUBLIME||qe.default.env.ConEmuTask==="{cmd::Cmder}"||qe.default.env.TERM_PROGRAM==="Terminus-Sublime"||qe.default.env.TERM_PROGRAM==="vscode"||qe.default.env.TERM==="xterm-256color"||qe.default.env.TERM==="alacritty"||qe.default.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var qe,Ad=O(()=>{"use strict";qe=w(require("process"),1)});var hv,yv,wv,ao,Td=O(()=>{"use strict";_e();Ad();hv={info:E.blue("\u2139"),success:E.green("\u2714"),warning:E.yellow("\u26A0"),error:E.red("\u2716")},yv={info:E.blue("i"),success:E.green("\u221A"),warning:E.yellow("\u203C"),error:E.red("\xD7")},wv=Fa()?hv:yv,ao=wv});function Sa({onlyFirst:e=!1}={}){let o="(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";return new RegExp(o,e?void 0:"g")}var Od=O(()=>{"use strict"});function lo(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return!e.includes("\x1B")&&!e.includes("\x9B")?e:e.replace(bv,"")}var bv,_a=O(()=>{"use strict";Od();bv=Sa()});function Pd(e){return e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109}function Id(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function jd(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e===94192||e===94193||e>=94208&&e<=100343||e>=100352&&e<=101589||e>=101631&&e<=101640||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128727||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129673||e>=129679&&e<=129734||e>=129742&&e<=129756||e>=129759&&e<=129769||e>=129776&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}var Rd=O(()=>{"use strict"});function Dv(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function $d(e,{ambiguousAsWide:t=!1}={}){return Dv(e),Id(e)||jd(e)||t&&Pd(e)?2:1}var Bd=O(()=>{"use strict";Rd()});var Nd,Ld=O(()=>{"use strict";Nd=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g});function Aa(e,t={}){if(typeof e!="string"||e.length===0)return 0;let{ambiguousIsNarrow:n=!0,countAnsiEscapeCodes:r=!1}=t;if(r||(e=lo(e)),e.length===0)return 0;let o=0,i={ambiguousAsWide:!n};for(let{segment:s}of vv.segment(e)){let a=s.codePointAt(0);if(!(a<=31||a>=127&&a<=159)&&!(a>=8203&&a<=8207||a===65279)&&!(a>=768&&a<=879||a>=6832&&a<=6911||a>=7616&&a<=7679||a>=8400&&a<=8447||a>=65056&&a<=65071)&&!(a>=55296&&a<=57343)&&!(a>=65024&&a<=65039)&&!kv.test(s)){if(Nd().test(s)){o+=2;continue}o+=$d(a,i)}}return o}var vv,kv,Md=O(()=>{"use strict";_a();Bd();Ld();vv=new Intl.Segmenter,kv=new RegExp("^\\p{Default_Ignorable_Code_Point}$","u")});function Ta({stream:e=process.stdout}={}){return!!(e&&e.isTTY&&process.env.TERM!=="dumb"&&!("CI"in process.env))}var Wd=O(()=>{"use strict"});function Pa(){let{env:e}=Oa.default,{TERM:t,TERM_PROGRAM:n}=e;return Oa.default.platform!=="win32"?t!=="linux":!!e.WT_SESSION||!!e.TERMINUS_SUBLIME||e.ConEmuTask==="{cmd::Cmder}"||n==="Terminus-Sublime"||n==="vscode"||t==="xterm-256color"||t==="alacritty"||t==="rxvt-unicode"||t==="rxvt-unicode-256color"||e.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var Oa,Ud=O(()=>{"use strict";Oa=w(require("process"),1)});var st,xv,Ia,Cv,ja,zd=O(()=>{"use strict";st=w(require("process"),1),xv=3,Ia=class{#s=0;start(){this.#s++,this.#s===1&&this.#n()}stop(){if(this.#s<=0)throw new Error("`stop` called more times than `start`");this.#s--,this.#s===0&&this.#e()}#n(){st.default.platform==="win32"||!st.default.stdin.isTTY||(st.default.stdin.setRawMode(!0),st.default.stdin.on("data",this.#o),st.default.stdin.resume())}#e(){st.default.stdin.isTTY&&(st.default.stdin.off("data",this.#o),st.default.stdin.pause(),st.default.stdin.setRawMode(!1))}#o(t){t[0]===xv&&st.default.emit("SIGINT")}},Cv=new Ia,ja=Cv});function cr(e){return new Ra(e)}var co,uo,Ev,Ra,$a=O(()=>{"use strict";co=w(require("process"),1);_e();Ed();uo=w(Ea(),1);Td();_a();Md();Wd();Ud();zd();Ev=w(Ea(),1),Ra=class{#s=0;#n=!1;#e=0;#o=-1;#p=0;#t;#i;#r;#f;#g;#c;#u;#d;#h;#a;#l;color;constructor(t){typeof t=="string"&&(t={text:t}),this.#t={color:"cyan",stream:co.default.stderr,discardStdin:!0,hideCursor:!0,...t},this.color=this.#t.color,this.spinner=this.#t.spinner,this.#g=this.#t.interval,this.#r=this.#t.stream,this.#c=typeof this.#t.isEnabled=="boolean"?this.#t.isEnabled:Ta({stream:this.#r}),this.#u=typeof this.#t.isSilent=="boolean"?this.#t.isSilent:!1,this.text=this.#t.text,this.prefixText=this.#t.prefixText,this.suffixText=this.#t.suffixText,this.indent=this.#t.indent,co.default.env.NODE_ENV==="test"&&(this._stream=this.#r,this._isEnabled=this.#c,Object.defineProperty(this,"_linesToClear",{get(){return this.#s},set(n){this.#s=n}}),Object.defineProperty(this,"_frameIndex",{get(){return this.#o}}),Object.defineProperty(this,"_lineCount",{get(){return this.#e}}))}get indent(){return this.#d}set indent(t=0){if(!(t>=0&&Number.isInteger(t)))throw new Error("The `indent` option must be an integer from 0 and up");this.#d=t,this.#m()}get interval(){return this.#g??this.#i.interval??100}get spinner(){return this.#i}set spinner(t){if(this.#o=-1,this.#g=void 0,typeof t=="object"){if(t.frames===void 0)throw new Error("The given spinner must have a `frames` property");this.#i=t}else if(!Pa())this.#i=uo.default.line;else if(t===void 0)this.#i=uo.default.dots;else if(t!=="default"&&uo.default[t])this.#i=uo.default[t];else throw new Error(`There is no built-in spinner named '${t}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`)}get text(){return this.#h}set text(t=""){this.#h=t,this.#m()}get prefixText(){return this.#a}set prefixText(t=""){this.#a=t,this.#m()}get suffixText(){return this.#l}set suffixText(t=""){this.#l=t,this.#m()}get isSpinning(){return this.#f!==void 0}#y(t=this.#a,n=" "){return typeof t=="string"&&t!==""?t+n:typeof t=="function"?t()+n:""}#w(t=this.#l,n=" "){return typeof t=="string"&&t!==""?n+t:typeof t=="function"?n+t():""}#m(){let t=this.#r.columns??80,n=this.#y(this.#a,"-"),r=this.#w(this.#l,"-"),o=" ".repeat(this.#d)+n+"--"+this.#h+"--"+r;this.#e=0;for(let i of lo(o).split(`
8
- `))this.#e+=Math.max(1,Math.ceil(Aa(i,{countAnsiEscapeCodes:!0})/t))}get isEnabled(){return this.#c&&!this.#u}set isEnabled(t){if(typeof t!="boolean")throw new TypeError("The `isEnabled` option must be a boolean");this.#c=t}get isSilent(){return this.#u}set isSilent(t){if(typeof t!="boolean")throw new TypeError("The `isSilent` option must be a boolean");this.#u=t}frame(){let t=Date.now();(this.#o===-1||t-this.#p>=this.interval)&&(this.#o=++this.#o%this.#i.frames.length,this.#p=t);let{frames:n}=this.#i,r=n[this.#o];this.color&&(r=E[this.color](r));let o=typeof this.#a=="string"&&this.#a!==""?this.#a+" ":"",i=typeof this.text=="string"?" "+this.text:"",s=typeof this.#l=="string"&&this.#l!==""?" "+this.#l:"";return o+r+i+s}clear(){if(!this.#c||!this.#r.isTTY)return this;this.#r.cursorTo(0);for(let t=0;t<this.#s;t++)t>0&&this.#r.moveCursor(0,-1),this.#r.clearLine(1);return(this.#d||this.lastIndent!==this.#d)&&this.#r.cursorTo(this.#d),this.lastIndent=this.#d,this.#s=0,this}render(){return this.#u?this:(this.clear(),this.#r.write(this.frame()),this.#s=this.#e,this)}start(t){return t&&(this.text=t),this.#u?this:this.#c?this.isSpinning?this:(this.#t.hideCursor&&Ca.hide(this.#r),this.#t.discardStdin&&co.default.stdin.isTTY&&(this.#n=!0,ja.start()),this.render(),this.#f=setInterval(this.render.bind(this),this.interval),this):(this.text&&this.#r.write(`- ${this.text}
9
- `),this)}stop(){return this.#c?(clearInterval(this.#f),this.#f=void 0,this.#o=0,this.clear(),this.#t.hideCursor&&Ca.show(this.#r),this.#t.discardStdin&&co.default.stdin.isTTY&&this.#n&&(ja.stop(),this.#n=!1),this):this}succeed(t){return this.stopAndPersist({symbol:ao.success,text:t})}fail(t){return this.stopAndPersist({symbol:ao.error,text:t})}warn(t){return this.stopAndPersist({symbol:ao.warning,text:t})}info(t){return this.stopAndPersist({symbol:ao.info,text:t})}stopAndPersist(t={}){if(this.#u)return this;let n=t.prefixText??this.#a,r=this.#y(n," "),o=t.symbol??" ",i=t.text??this.text,a=typeof i=="string"?(o?" ":"")+i:"",l=t.suffixText??this.#l,c=this.#w(l," "),u=r+o+a+c+`
10
- `;return this.stop(),this.#r.write(u),this}}});function La(e,{suffix:t="nodejs"}={}){if(typeof e!="string")throw new TypeError(`Expected a string, got ${typeof e}`);return t&&(e+=`-${t}`),yi.default.platform==="darwin"?Fv(e):yi.default.platform==="win32"?Sv(e):_v(e)}var de,Ba,yi,Vt,Na,ur,Fv,Sv,_v,Vd=O(()=>{"use strict";de=w(require("path"),1),Ba=w(require("os"),1),yi=w(require("process"),1),Vt=Ba.default.homedir(),Na=Ba.default.tmpdir(),{env:ur}=yi.default,Fv=e=>{let t=de.default.join(Vt,"Library");return{data:de.default.join(t,"Application Support",e),config:de.default.join(t,"Preferences",e),cache:de.default.join(t,"Caches",e),log:de.default.join(t,"Logs",e),temp:de.default.join(Na,e)}},Sv=e=>{let t=ur.APPDATA||de.default.join(Vt,"AppData","Roaming"),n=ur.LOCALAPPDATA||de.default.join(Vt,"AppData","Local");return{data:de.default.join(n,e,"Data"),config:de.default.join(t,e,"Config"),cache:de.default.join(n,e,"Cache"),log:de.default.join(n,e,"Log"),temp:de.default.join(Na,e)}},_v=e=>{let t=de.default.basename(Vt);return{data:de.default.join(ur.XDG_DATA_HOME||de.default.join(Vt,".local","share"),e),config:de.default.join(ur.XDG_CONFIG_HOME||de.default.join(Vt,".config"),e),cache:de.default.join(ur.XDG_CACHE_HOME||de.default.join(Vt,".cache"),e),log:de.default.join(ur.XDG_STATE_HOME||de.default.join(Vt,".local","state"),e),temp:de.default.join(Na,t,e)}}});function wi(){return/[<>:"/\\|?*\u0000-\u001F]/g}function Jd(){return/^(con|prn|aux|nul|com\d|lpt\d)$/i}var qd=O(()=>{"use strict"});function po(e,t={}){let n=/[\u0000-\u001F\u0080-\u009F]/g,r=/([<>:"/\\|?*\u0000-\u001F]){2,}/g;if(typeof e!="string")throw new TypeError("Expected a string");let o=t.replacement===void 0?"!":t.replacement;if(wi().test(o)&&n.test(o))throw new Error("Replacement string cannot contain reserved filename characters");o.length>0&&(e=e.replace(r,"$1")),e=e.normalize("NFD"),e=e.replace(Tv,o),e=e.replace(wi(),o),e=e.replace(n,o),e=e.replace(Ov,""),o.length>0&&(!(e[0]===".")&&e[0]==="."&&(e=o+e),e[e.length-1]==="."&&(e+=o)),e=Jd().test(e)?e+o:e;let i=typeof t.maxLength=="number"?t.maxLength:Av;if(e.length>i){let s=e.lastIndexOf(".");if(s===-1)e=e.slice(0,i);else{let a=e.slice(0,s),l=e.slice(s);e=a.slice(0,Math.max(1,i-l.length))+l}}return e}var Av,Tv,Ov,Ma=O(()=>{"use strict";qd();Av=100,Tv=/^\.+(\\|\/)|^\.+$/,Ov=/\.+$/});var Pv,Gd=O(()=>{"use strict";Pv=w(require("path"),1);Ma()});var Hd=O(()=>{"use strict";Ma();Gd()});var bi,Wa=O(()=>{"use strict";bi="webflow.json"});var vn,Ua=O(()=>{"use strict";vn=class extends Error{constructor(t){super(`Manifest config for key "${t}" not found`),this.name="ManifestConfigKeyNotFoundError"}}});function Kd(e){za=e}function oe(){return za}function mt(){return!za}function Yd(e){Zd=e}function Xd(){return Zd}var za,Zd,Oe=O(()=>{"use strict";za=!1});function kn(){let e=Xd();if(e){if(e.endsWith(".json"))return{path:e,isUserDefined:!0};try{if((0,Qd.statSync)(e)?.isDirectory())return{path:(0,ep.join)(e,bi),isUserDefined:!0}}catch{if(e.endsWith(".json"))return{path:e,isUserDefined:!0}}throw new Error(`Manifest path must be either a directory or a .json file. Got: ${e}`)}return{path:`./${bi}`,isUserDefined:!1}}var Qd,ep,Va=O(()=>{"use strict";Qd=require("fs"),ep=require("path");Wa();Oe()});var tp,Iv,jv,Ja,np=O(()=>{"use strict";tp=w(require("ajv")),Iv=new tp.default,jv={type:"object",properties:{library:{type:"object",properties:{name:{type:"string",minLength:1},id:{type:"string",minLength:1},components:{type:"array",items:{type:"string"},minItems:1},renderer:{anyOf:[{type:"object",properties:{client:{type:"string",minLength:1},server:{type:"string",minLength:1}}},{type:"string",minLength:1}]},globals:{type:"string",minLength:1}},required:[]},devlink:{type:"object",properties:{rootDir:{type:"string",minLength:1},cssModules:{type:"boolean"},allowTelemetry:{type:"boolean"},overwriteModule:{type:"boolean"},skipTagSelectors:{type:"boolean"},envVariables:{type:"object",additionalProperties:{type:"string"}},components:{oneOf:[{type:"string"},{type:"array",items:{type:"string"}}]},fileExtensions:{type:"object",properties:{js:{type:"string"},css:{type:"string"}}},relativeHrefRoot:{oneOf:[{type:"boolean"},{type:"string"}]}},required:["rootDir"]},"devlink-export":{type:"object",properties:{rootDir:{type:"string",minLength:1},components:{type:"string"},componentGroups:{type:"string"},ts:{type:"boolean"},cssScopes:{type:"boolean"},relativeHrefRoot:{oneOf:[{type:"boolean",const:!1},{type:"string"}]},treeShake:{type:"boolean"}},required:[]}}},Ja=Iv.compile(jv)});function rp(e){return e instanceof Error?e:new Error("Unknown error")}function Q(){let{path:e}=kn();if(!(0,Di.existsSync)(e))return{manifest:{},manifestPath:e};let t;try{t=(0,Di.readFileSync)(e,"utf8")}catch(o){throw new Error(`Failed to read manifest file: ${rp(o).message}`)}if(t.trim()==="")return{manifest:{},manifestPath:e};let r;try{r=JSON.parse(t)}catch(o){throw new Error(`Invalid JSON in manifest file: ${rp(o).message}`)}if(!Ja(r)){let o=Ja.errors?.map(i=>`${i.instancePath} ${i.message}`).join(", ")||"Unknown error";throw new Error(`Invalid manifest: ${o}.`)}return{manifest:r,manifestPath:e}}var Di,vi=O(()=>{"use strict";Di=require("fs");Va();np()});function fo(e,t){let n=e[t];if(!n)throw new vn(t);return n}var op=O(()=>{"use strict";Ua()});function se(e){let t=Q(),n=t.manifest,r=t.manifestPath,o={...n};for(let i in e){let s=i,a=e[s];if(a!==void 0)if(typeof a=="string"||typeof a=="number"||typeof a=="boolean"||a===null)o[s]=a;else{let l=o[s];o[s]={...typeof l=="object"&&l!==null?l:{},...a}}}return(0,ip.writeFileSync)(r,JSON.stringify(o,null,2),"utf-8"),o}var ip,qa=O(()=>{"use strict";ip=require("fs");vi()});var ke=O(()=>{"use strict";Wa();Ua();vi();Va();op();qa()});var ki=da((rO,Rv)=>{Rv.exports={name:"@webflow/webflow-cli",version:"1.22.0",license:"MIT",bin:{webflow:"./dist/index.js"},scripts:{build:"tsup",dev:"tsup",lint:"eslint .",test:"jest --ci","test:unit":"jest --ci --ignoreProjects e2e","test:local":"jest","test:e2e-cache-clear":"bash scripts/clear-e2e-cache.sh"},files:["CHANGELOG.md","dist/**/*"],publishConfig:{access:"public"},dependencies:{"@babel/preset-env":"^7.26.9","@babel/preset-react":"^7.26.3","@babel/preset-typescript":"^7.27.0","@dotenvx/dotenvx":"^1.44.1","@inquirer/prompts":"^7.9.0","@module-federation/enhanced":"0.20.0","@rspack/core":"^1.7.8","@webflow/data-types":"*",ajv:"^8.17.1",archiver:"^5.3.1","babel-loader":"^10.0.0",commander:"^10.0.0",cosmiconfig:"^8.2.0","css-loader":"^7.1.2","css-tree":"^2.3.1",dotenv:"^16.0.3","env-paths":"^3.0.0","fast-glob":"^3.3.3",filenamify:"^6.0.0","fork-ts-checker-webpack-plugin":"9.1.0","form-data":"4.0.4","fs-extra":"^11.3.0",jsdom:"^26.0.0","jsonc-parser":"^3.2.0",md5:"^2.2.1",memfs:"4.17.0","mime-types":"^2.1.35","mini-css-extract-plugin":"^2.9.2","node-fetch":"^2.6.7",open:"^8.4.2",ora:"^8.2.0",postcss:"^8.5.6","postcss-loader":"^8.1.1","postcss-selector-parser":"^7.1.0",prettier:"^2.7.1",semver:"^7.7.2","serve-handler":"^6.1.5","source-map-support":"^0.5.21",tar:"^7.4.3","ts-checker-rspack-plugin":"^1.0.0","tsconfig-paths":"^4.2.0","tsconfig-paths-webpack-plugin":"^4.2.0",unionfs:"^4.5.4","webflow-api":"3.3.4",webpack:">=5.99.7 <5.106.0","webpack-merge":"^6.0.1","webpack-node-externals":"^3.0.0",zod:"^3.22.4"},devDependencies:{"@types/archiver":"^5.3.2","@types/css-tree":"^2.3.1","@types/express":"^4.17.13","@types/fs-extra":"^11.0.4","@types/jest":"^29.2.3","@types/md5":"^2.3.2","@types/mime-types":"^2.1.4","@types/nock":"^8.0.33","@types/node":"^18.16.0","@types/node-fetch":"2.6.13","@types/prettier":"^2.7.1","@types/serve-handler":"^6.1.1","@types/source-map":"^0.5.2","@types/webpack-node-externals":"^3.0.4",astro:"^5.17.2","eslint-config-custom":"*",express:"^4.18.1",jest:"^29.3.1",nock:"13.3.1",tar:"^7.4.3","ts-jest":"^29.0.3","ts-node":"^10.9.1",tsconfig:"*",tsup:"^8.4.0",typescript:"^4.9.3"},engines:{node:">=18.16.0"}}});function _t(){try{return ki().version}catch{return"unknown"}}function gt(e=""){if(!e)return"";let t=e;t=t.replace(/\/.*?\/webflow-cli/gi,"/REDACTED_PII/webflow-cli"),t=t.replace(/\/.*?\/node_modules/gi,"/REDACTED_PII/node_modules");let n=mo.default.homedir();if(n){let o=new RegExp(n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"gi");t=t.replace(o,"~/REDACTED_PII")}let r=mo.default.userInfo().username;if(r){let o=new RegExp(`/Users/${r}`,"gi");t=t.replace(o,"/Users/REDACTED_PII")}return t=t.replace(/\/Users\/[^\/\s]+/gi,"/Users/REDACTED_PII"),t=t.replace(/C:\\Users\\[^\\]+/gi,"C:\\Users\\REDACTED_PII"),t=t.replace(/[a-zA-Z0-9]{32,}/g,"[REDACTED_TOKEN]"),t=t.replace(/Bearer\s+[^\s]+/gi,"Bearer [REDACTED_TOKEN]"),t=t.replace(/token[=:]\s*[^\s]+/gi,"token=[REDACTED_TOKEN]"),t=t.replace(/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/g,"[REDACTED_EMAIL]"),t=t.replace(/\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b/g,"[REDACTED_IP]"),t}function Ga(e){if(e.stack)return gt(e.stack)}function Jt(e){let t=["password","token","secret","key","auth","bearer","authorization","apikey","api_key","access_token","refresh_token","client_secret","private_key"],n={};for(let[r,o]of Object.entries(e)){let i=r.toLowerCase();t.some(s=>i.includes(s))?n[r]="[REDACTED]":typeof o=="string"?n[r]=gt(o):typeof o=="object"&&o!==null&&!Array.isArray(o)?n[r]=Jt(o):Array.isArray(o)?n[r]=o.map(s=>typeof s=="object"&&s!==null?Jt(s):typeof s=="string"?gt(s):s):n[r]=o}return n}function sp(){return{platform:process.platform,nodeVersion:process.version,arch:process.arch,os:`${mo.default.type()} ${mo.default.release()}`}}function Ha(){let e=Date.now().toString(36),t=Math.random().toString(36).substring(2,8);return`${e}-${t}`}var mo,go=O(()=>{"use strict";mo=w(require("os"))});var ee,N,At,dr,Za,pr,Ce=O(()=>{"use strict";_e();ee=E.green("\u2714"),N=E.red("\u2716"),At=E.cyan("\u2139"),dr=E.green("\u279C"),Za=E.red("\u279C"),pr=E.yellow("\u26A0")});var qt,Ka=O(()=>{"use strict";_e();ke();go();J();Ce();qt=class e{static instance;cache=void 0;static isDoNotTrackEnabled(){let t=process.env.DO_NOT_TRACK;return t==="1"||t?.toLowerCase()==="true"}static getInstance(){return e.instance||(e.instance=new e),e.instance}async getPreference(){if(e.isDoNotTrackEnabled())return!1;if(this.cache!==void 0)return this.cache;try{let{manifest:t}=await Q(),n=t?.telemetry?.global?.allowTelemetry;return this.cache=n,n}catch{return}}async setPreference(t){this.cache=t,await this.setGlobalPreference(t)}async promptForConsent(t){return e.isDoNotTrackEnabled()?(d.info(`${At} Telemetry is disabled because the DO_NOT_TRACK environment variable is set.`),!1):(d.info(`${At} Telemetry is enabled. Usage data and error reports help us improve Webflow CLI.`),d.info(`${At} To opt out, run: ${E.blue("webflow auth telemetry --disable")}`),await this.setPreference(!0),!0)}clearCache(){this.cache=void 0}async getGlobalPreference(){return this.getPreference()}async setGlobalPreference(t){let n={telemetry:{global:{allowTelemetry:t,lastPrompted:Date.now(),version:_t()}}};await se(n),this.cache=t}async hasGlobalPreference(){return await this.getPreference()!==void 0}async getTelemetryStatus(){let t=await this.getPreference();return t!==void 0?{enabled:t,source:"global",hasPreference:!0}:{enabled:!1,source:"none",hasPreference:!1}}setCacheValue(t,n){this.cache=n}}});async function K(e,t){let r={"User-Agent":`webflow-cli@${_t()}`};return(0,ap.default)(e,{...t,headers:{...t?.headers,...r}})}var ap,ht=O(()=>{"use strict";ap=w(require("node-fetch"));Be()});var lp,cp=O(()=>{"use strict";lp=e=>{try{let t=new URL(e);return!(!["http:","https:"].includes(t.protocol)||e.includes("?")||e.includes("#")||t.search||t.hash)}catch{return!1}}});var Ya,I,xi,fr,ho,Xa,yo,wo,mr,le=O(()=>{"use strict";cp();Ya=(e,t)=>(lp(t)||(console.error(`Error: Invalid ${e} environment variable. Only valid plain HTTP/HTTPS URLs without query parameters and anchors is allowed.`),process.exit(1)),t),I=process.env.WEBFLOW_API_HOST?Ya("WEBFLOW_API_HOST",process.env.WEBFLOW_API_HOST):"https://api.webflow.com",xi=process.env.WEBFLOW_CDN_API_HOST?Ya("WEBFLOW_CDN_API_HOST",process.env.WEBFLOW_CDN_API_HOST):"https://api-cdn.webflow.com",fr=process.env.WEBFLOW_HOST?Ya("WEBFLOW_HOST",process.env.WEBFLOW_HOST):"https://webflow.com",ho="wf-manifest.json",Xa="mf-manifest.json",yo="@webflow_renderer",wo="ssr-bundle.tar",mr="index.js"});var G,Qa=O(()=>{"use strict";Ka();go();J();ht();le();G=class e{config;consentManager;sessionId;platformInfo;constructor(t){this.config=t,this.consentManager=qt.getInstance(),this.sessionId=Ha(),this.platformInfo=sp()}async sendEvent(t){try{if(!await this.isEnabled())return;let n=this.enrichEvent(t),r=this.sanitizeEvent(n);await this.transmitEvent(r)}catch(n){d.debug(`Failed to send telemetry event: ${n}`)}}async sendError(t,n,r){await this.sendEvent({eventType:"error",success:!1,name:t.name,message:t.message,cause:t.cause,stack:Ga(t),context:n,metadata:r?Jt(r):void 0})}async sendUsage(t,n){let{duration:r,...o}=n??{};await this.sendEvent({eventType:"usage",success:!0,feature:t,duration:typeof r=="number"?r:void 0,data:Object.keys(o).length>0?Jt(o):void 0})}async sendPerformance(t,n,r){await this.sendEvent({eventType:"performance",operation:t,duration:n,metrics:r})}async isEnabled(){return await this.consentManager.getPreference()!==!1}async isGloballyEnabled(){return await this.consentManager.getGlobalPreference()!==!1}async updatePreferences(t){await this.consentManager.setPreference(t)}static async promptForConsentIfNeeded(t){let n=qt.getInstance(),r=await n.getPreference();return r!==void 0?r:await n.promptForConsent(t)}enrichEvent(t){return{...{eventType:t.eventType||"usage",timestamp:Date.now(),sessionId:this.sessionId,platform:this.platformInfo.platform,nodeVersion:this.platformInfo.nodeVersion,cliVersion:_t(),command:process.argv.slice(2).join(" ")||void 0,metadata:{...t.metadata,commandType:this.config.commandType,siteId:this.config.siteId,projectId:this.config.projectId,os:this.platformInfo.os,arch:this.platformInfo.arch}},...t}}sanitizeEvent(t){let n=JSON.parse(JSON.stringify(t));return n.message&&(n.message=gt(n.message)),n.stack&&(n.stack=gt(n.stack)),n.context&&(n.context=gt(n.context)),n.metadata&&(n.metadata=Jt(n.metadata)),n.data&&(n.data=Jt(n.data)),n}async transmitEvent(t){let n=this.getEndpoint(),r=process.env.WEBFLOW_TELEMETRY_DEBUG==="true";if(r){console.log(`\u{1F4CA} [Telemetry] Sending to: ${n}`);let i={...t};i.metadata&&(delete i.metadata.authToken,delete i.metadata.apiToken),console.log("\u{1F4CA} [Telemetry] Payload:",JSON.stringify(i,null,2))}let o=await K(n,{method:"POST",headers:{Authorization:`Bearer ${this.config.authToken}`,"Content-Type":"application/json"},body:JSON.stringify(t),timeout:5e3});if(o.ok)r&&console.log(`\u{1F4CA} [Telemetry] Request successful: ${o.status}`);else throw r&&console.error(`\u{1F4CA} [Telemetry] Request failed: ${o.status} ${o.statusText}`),new Error(`Telemetry request failed: ${o.status} ${o.statusText}`)}getEndpoint(){let{host:t,commandType:n}=this.config;return`${t}/webflow-cli/${n}/telemetry`}static forDevlinkSync(t){return new e({host:t.host||I,authToken:t.authToken,siteId:t.siteId,commandType:"devlink"})}static forExport(t){return new e({host:t.host||I,authToken:t.authToken,siteId:t.siteId,commandType:"export"})}static forCloud(t){return new e({host:t.host||I,authToken:t.authToken,siteId:t.siteId,projectId:t.projectId,commandType:"cloud"})}static forExtension(t){return new e({host:t.host||I,authToken:t.authToken,siteId:t.siteId,commandType:"extension"})}static forCodeLibraries(t){return new e({host:t.host||I,authToken:t.authToken,commandType:"library"})}static forCms(t){return new e({host:t.host||I,authToken:t.authToken,siteId:t.siteId,commandType:"cms"})}static forAssets(t){return new e({host:t.host||I,authToken:t.authToken,siteId:t.siteId,commandType:"assets"})}static forSites(t){return new e({host:t.host||I,authToken:t.authToken,commandType:"sites"})}static forForms(t){return new e({host:t.host||I,authToken:t.authToken,commandType:"forms"})}}});var up=O(()=>{"use strict"});function dp(e){return async(t,n,r)=>{let o=Date.now(),i=process.memoryUsage().heapUsed;try{let s=await n(),a=Date.now()-o,l=process.memoryUsage().heapUsed;return await e.sendPerformance(t,a,{memoryDelta:l-i,...r}),s}catch(s){let a=Date.now()-o;throw await e.sendPerformance(t,a,{failed:1,...r}),s}}}var Be=O(()=>{"use strict";Qa();Ka();up();go();go()});var tl,el,$v,Tt,nl=O(()=>{"use strict";tl=Symbol("webflow-cli-warn"),el=class{warnings=[];originalConsoleWarn=null;isActive=!1;parseSource(t){let n=t.split(`
11
- `);for(let r=2;r<n.length;r++){let o=n[r],i=o.match(/at .+? \((.+?):\d+:\d+\)/)||o.match(/at (.+?):\d+:\d+/);if(i){let s=i[1];if(s.includes("node_modules")){let a=s.match(/node_modules\/(@?[^/]+(?:\/[^/]+)?)/);return a?`External: ${a[1]}`:"External Dependencies"}else if(s.includes("webflow-cli"))return s.includes("/metadata/")?"Metadata Collection":s.includes("/bundler/")?"Bundling":s.includes("/commands/")?"CLI Commands":"Webflow CLI"}}return"General"}start(){this.isActive||(this.warnings=[],this.originalConsoleWarn=console.warn,this.isActive=!0,console.warn=(...t)=>{if(t.length>1&&t[t.length-1]===tl){let i=t.slice(0,-1);this.originalConsoleWarn&&this.originalConsoleWarn(...i);return}let n=t.map(i=>{if(typeof i=="string")return i;if(i instanceof Error)return i.message;try{return String(i)}catch{return"[Object]"}}).join(" "),r=new Error().stack||"",o=this.parseSource(r);this.warnings.push({message:n,timestamp:Date.now(),source:o,stackTrace:r})})}stop(){this.isActive&&(this.originalConsoleWarn&&(console.warn=this.originalConsoleWarn,this.originalConsoleWarn=null),this.isActive=!1)}displayGrouped(){if(this.warnings.length===0)return;console.log(`
4
+ `)+r,o=n+1,n=t.indexOf(`
5
+ `,o)}while(n!==-1);return i+=t.slice(o),i}var Vc=b(()=>{"use strict"});function Sn(t){return Ch(t)}var Hc,Jc,gs,Lr,kn,Gc,Wr,_h,Ch,hs,Fh,kh,ys,So,Sh,Th,Ov,nt,ws=b(()=>{"use strict";jc();Lc();Vc();({stdout:Hc,stderr:Jc}=Mc),gs=Symbol("GENERATOR"),Lr=Symbol("STYLER"),kn=Symbol("IS_EMPTY"),Gc=["ansi","ansi","ansi256","ansi16m"],Wr=Object.create(null),_h=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=Hc?Hc.level:0;t.level=e.level===void 0?r:e.level},Ch=t=>{let e=(...r)=>r.join(" ");return _h(e,t),Object.setPrototypeOf(e,Sn.prototype),e};Object.setPrototypeOf(Sn.prototype,Function.prototype);for(let[t,e]of Object.entries(rt))Wr[t]={get(){let r=So(this,ys(e.open,e.close,this[Lr]),this[kn]);return Object.defineProperty(this,t,{value:r}),r}};Wr.visible={get(){let t=So(this,this[Lr],!0);return Object.defineProperty(this,"visible",{value:t}),t}};hs=(t,e,r,...n)=>t==="rgb"?e==="ansi16m"?rt[r].ansi16m(...n):e==="ansi256"?rt[r].ansi256(rt.rgbToAnsi256(...n)):rt[r].ansi(rt.rgbToAnsi(...n)):t==="hex"?hs("rgb",e,r,...rt.hexToRgb(...n)):rt[r][t](...n),Fh=["rgb","hex","ansi256"];for(let t of Fh){Wr[t]={get(){let{level:r}=this;return function(...n){let o=ys(hs(t,Gc[r],"color",...n),rt.color.close,this[Lr]);return So(this,o,this[kn])}}};let e="bg"+t[0].toUpperCase()+t.slice(1);Wr[e]={get(){let{level:r}=this;return function(...n){let o=ys(hs(t,Gc[r],"bgColor",...n),rt.bgColor.close,this[Lr]);return So(this,o,this[kn])}}}}kh=Object.defineProperties(()=>{},{...Wr,level:{enumerable:!0,get(){return this[gs].level},set(t){this[gs].level=t}}}),ys=(t,e,r)=>{let n,o;return r===void 0?(n=t,o=e):(n=r.openAll+t,o=e+r.closeAll),{open:t,close:e,openAll:n,closeAll:o,parent:r}},So=(t,e,r)=>{let n=(...o)=>Sh(n,o.length===1?""+o[0]:o.join(" "));return Object.setPrototypeOf(n,kh),n[gs]=t,n[Lr]=e,n[kn]=r,n},Sh=(t,e)=>{if(t.level<=0||!e)return t[kn]?"":e;let r=t[Lr];if(r===void 0)return e;let{openAll:n,closeAll:o}=r;if(e.includes("\x1B"))for(;r!==void 0;)e=Wc(e,r.close,r.open),r=r.parent;let i=e.indexOf(`
6
+ `);return i!==-1&&(e=Uc(e,o,n,i)),n+e+o};Object.defineProperties(Sn.prototype,Wr);Th=Sn(),Ov=Sn({level:Jc?Jc.level:0}),nt=Th});function Ds(t,e,{ignoreNonConfigurable:r=!1}={}){let{name:n}=t;for(let o of Reflect.ownKeys(e))Ah(t,e,o,r);return Ih(t,e),jh(t,e,n),t}var Ah,Oh,Ih,$h,Rh,Ph,jh,zc=b(()=>{"use strict";Ah=(t,e,r,n)=>{if(r==="length"||r==="prototype"||r==="arguments"||r==="caller")return;let o=Object.getOwnPropertyDescriptor(t,r),i=Object.getOwnPropertyDescriptor(e,r);!Oh(o,i)&&n||Object.defineProperty(t,r,i)},Oh=function(t,e){return t===void 0||t.configurable||t.writable===e.writable&&t.enumerable===e.enumerable&&t.configurable===e.configurable&&(t.writable||t.value===e.value)},Ih=(t,e)=>{let r=Object.getPrototypeOf(e);r!==Object.getPrototypeOf(t)&&Object.setPrototypeOf(t,r)},$h=(t,e)=>`/* Wrapped ${t}*/
7
+ ${e}`,Rh=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),Ph=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),jh=(t,e,r)=>{let n=r===""?"":`with ${r.trim()}() `,o=$h.bind(null,n,e.toString());Object.defineProperty(o,"name",Ph);let{writable:i,enumerable:s,configurable:a}=Rh;Object.defineProperty(t,"toString",{value:o,writable:i,enumerable:s,configurable:a})}});var To,qc,Kc,Zc=b(()=>{"use strict";zc();To=new WeakMap,qc=(t,e={})=>{if(typeof t!="function")throw new TypeError("Expected a function");let r,n=0,o=t.displayName||t.name||"<anonymous>",i=function(...s){if(To.set(i,++n),n===1)r=t.apply(this,s),t=void 0;else if(e.throw===!0)throw new Error(`Function \`${o}\` can only be called once`);return r};return Ds(i,t),To.set(i,n),i};qc.callCount=t=>{if(!To.has(t))throw new Error(`The given function \`${t.name}\` is not wrapped by the \`onetime\` package`);return To.get(t)};Kc=qc});var ir,Yc=b(()=>{"use strict";ir=[];ir.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&ir.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&ir.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT")});var Ao,bs,vs,Nh,Es,Oo,Bh,xs,_s,Cs,Xc,Bv,Mv,Qc=b(()=>{"use strict";Yc();Ao=t=>!!t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function",bs=Symbol.for("signal-exit emitter"),vs=globalThis,Nh=Object.defineProperty.bind(Object),Es=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(vs[bs])return vs[bs];Nh(vs,bs,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(e,r){this.listeners[e].push(r)}removeListener(e,r){let n=this.listeners[e],o=n.indexOf(r);o!==-1&&(o===0&&n.length===1?n.length=0:n.splice(o,1))}emit(e,r,n){if(this.emitted[e])return!1;this.emitted[e]=!0;let o=!1;for(let i of this.listeners[e])o=i(r,n)===!0||o;return e==="exit"&&(o=this.emit("afterExit",r,n)||o),o}},Oo=class{},Bh=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),xs=class extends Oo{onExit(){return()=>{}}load(){}unload(){}},_s=class extends Oo{#s=Cs.platform==="win32"?"SIGINT":"SIGHUP";#r=new Es;#e;#o;#d;#t={};#i=!1;constructor(e){super(),this.#e=e,this.#t={};for(let r of ir)this.#t[r]=()=>{let n=this.#e.listeners(r),{count:o}=this.#r,i=e;if(typeof i.__signal_exit_emitter__=="object"&&typeof i.__signal_exit_emitter__.count=="number"&&(o+=i.__signal_exit_emitter__.count),n.length===o){this.unload();let s=this.#r.emit("exit",null,r),a=r==="SIGHUP"?this.#s:r;s||e.kill(e.pid,a)}};this.#d=e.reallyExit,this.#o=e.emit}onExit(e,r){if(!Ao(this.#e))return()=>{};this.#i===!1&&this.load();let n=r?.alwaysLast?"afterExit":"exit";return this.#r.on(n,e),()=>{this.#r.removeListener(n,e),this.#r.listeners.exit.length===0&&this.#r.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#i){this.#i=!0,this.#r.count+=1;for(let e of ir)try{let r=this.#t[e];r&&this.#e.on(e,r)}catch{}this.#e.emit=(e,...r)=>this.#p(e,...r),this.#e.reallyExit=e=>this.#n(e)}}unload(){this.#i&&(this.#i=!1,ir.forEach(e=>{let r=this.#t[e];if(!r)throw new Error("Listener not defined for signal: "+e);try{this.#e.removeListener(e,r)}catch{}}),this.#e.emit=this.#o,this.#e.reallyExit=this.#d,this.#r.count-=1)}#n(e){return Ao(this.#e)?(this.#e.exitCode=e||0,this.#r.emit("exit",this.#e.exitCode,null),this.#d.call(this.#e,this.#e.exitCode)):0}#p(e,...r){let n=this.#o;if(e==="exit"&&Ao(this.#e)){typeof r[0]=="number"&&(this.#e.exitCode=r[0]);let o=n.call(this.#e,e,...r);return this.#r.emit("exit",this.#e.exitCode,null),o}else return n.call(this.#e,e,...r)}},Cs=globalThis.process,{onExit:Xc,load:Bv,unload:Mv}=Bh(Ao(Cs)?new _s(Cs):new xs)});var Tn,eu,Mh,tu,ru=b(()=>{"use strict";Tn=m(require("process"),1);Zc();Qc();eu=Tn.default.stderr.isTTY?Tn.default.stderr:Tn.default.stdout.isTTY?Tn.default.stdout:void 0,Mh=eu?Kc(()=>{Xc(()=>{eu.write("\x1B[?25h")},{alwaysLast:!0})}):()=>{},tu=Mh});var Fs,Io,Ur,ks,nu=b(()=>{"use strict";Fs=m(require("process"),1);ru();Io=!1,Ur={};Ur.show=(t=Fs.default.stderr)=>{t.isTTY&&(Io=!1,t.write("\x1B[?25h"))};Ur.hide=(t=Fs.default.stderr)=>{t.isTTY&&(tu(),Io=!0,t.write("\x1B[?25l"))};Ur.toggle=(t,e)=>{t!==void 0&&(Io=t),Io?Ur.show(e):Ur.hide(e)};ks=Ur});var ou=ds((Gv,Lh)=>{Lh.exports={dots:{interval:80,frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]},dots2:{interval:80,frames:["\u28FE","\u28FD","\u28FB","\u28BF","\u287F","\u28DF","\u28EF","\u28F7"]},dots3:{interval:80,frames:["\u280B","\u2819","\u281A","\u281E","\u2816","\u2826","\u2834","\u2832","\u2833","\u2813"]},dots4:{interval:80,frames:["\u2804","\u2806","\u2807","\u280B","\u2819","\u2838","\u2830","\u2820","\u2830","\u2838","\u2819","\u280B","\u2807","\u2806"]},dots5:{interval:80,frames:["\u280B","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B"]},dots6:{interval:80,frames:["\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2834","\u2832","\u2812","\u2802","\u2802","\u2812","\u281A","\u2819","\u2809","\u2801"]},dots7:{interval:80,frames:["\u2808","\u2809","\u280B","\u2813","\u2812","\u2810","\u2810","\u2812","\u2816","\u2826","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808"]},dots8:{interval:80,frames:["\u2801","\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808","\u2808"]},dots9:{interval:80,frames:["\u28B9","\u28BA","\u28BC","\u28F8","\u28C7","\u2867","\u2857","\u284F"]},dots10:{interval:80,frames:["\u2884","\u2882","\u2881","\u2841","\u2848","\u2850","\u2860"]},dots11:{interval:100,frames:["\u2801","\u2802","\u2804","\u2840","\u2880","\u2820","\u2810","\u2808"]},dots12:{interval:80,frames:["\u2880\u2800","\u2840\u2800","\u2804\u2800","\u2882\u2800","\u2842\u2800","\u2805\u2800","\u2883\u2800","\u2843\u2800","\u280D\u2800","\u288B\u2800","\u284B\u2800","\u280D\u2801","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2888\u2829","\u2840\u2899","\u2804\u2859","\u2882\u2829","\u2842\u2898","\u2805\u2858","\u2883\u2828","\u2843\u2890","\u280D\u2850","\u288B\u2820","\u284B\u2880","\u280D\u2841","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2808\u2829","\u2800\u2899","\u2800\u2859","\u2800\u2829","\u2800\u2898","\u2800\u2858","\u2800\u2828","\u2800\u2890","\u2800\u2850","\u2800\u2820","\u2800\u2880","\u2800\u2840"]},dots13:{interval:80,frames:["\u28FC","\u28F9","\u28BB","\u283F","\u285F","\u28CF","\u28E7","\u28F6"]},dots8Bit:{interval:80,frames:["\u2800","\u2801","\u2802","\u2803","\u2804","\u2805","\u2806","\u2807","\u2840","\u2841","\u2842","\u2843","\u2844","\u2845","\u2846","\u2847","\u2808","\u2809","\u280A","\u280B","\u280C","\u280D","\u280E","\u280F","\u2848","\u2849","\u284A","\u284B","\u284C","\u284D","\u284E","\u284F","\u2810","\u2811","\u2812","\u2813","\u2814","\u2815","\u2816","\u2817","\u2850","\u2851","\u2852","\u2853","\u2854","\u2855","\u2856","\u2857","\u2818","\u2819","\u281A","\u281B","\u281C","\u281D","\u281E","\u281F","\u2858","\u2859","\u285A","\u285B","\u285C","\u285D","\u285E","\u285F","\u2820","\u2821","\u2822","\u2823","\u2824","\u2825","\u2826","\u2827","\u2860","\u2861","\u2862","\u2863","\u2864","\u2865","\u2866","\u2867","\u2828","\u2829","\u282A","\u282B","\u282C","\u282D","\u282E","\u282F","\u2868","\u2869","\u286A","\u286B","\u286C","\u286D","\u286E","\u286F","\u2830","\u2831","\u2832","\u2833","\u2834","\u2835","\u2836","\u2837","\u2870","\u2871","\u2872","\u2873","\u2874","\u2875","\u2876","\u2877","\u2838","\u2839","\u283A","\u283B","\u283C","\u283D","\u283E","\u283F","\u2878","\u2879","\u287A","\u287B","\u287C","\u287D","\u287E","\u287F","\u2880","\u2881","\u2882","\u2883","\u2884","\u2885","\u2886","\u2887","\u28C0","\u28C1","\u28C2","\u28C3","\u28C4","\u28C5","\u28C6","\u28C7","\u2888","\u2889","\u288A","\u288B","\u288C","\u288D","\u288E","\u288F","\u28C8","\u28C9","\u28CA","\u28CB","\u28CC","\u28CD","\u28CE","\u28CF","\u2890","\u2891","\u2892","\u2893","\u2894","\u2895","\u2896","\u2897","\u28D0","\u28D1","\u28D2","\u28D3","\u28D4","\u28D5","\u28D6","\u28D7","\u2898","\u2899","\u289A","\u289B","\u289C","\u289D","\u289E","\u289F","\u28D8","\u28D9","\u28DA","\u28DB","\u28DC","\u28DD","\u28DE","\u28DF","\u28A0","\u28A1","\u28A2","\u28A3","\u28A4","\u28A5","\u28A6","\u28A7","\u28E0","\u28E1","\u28E2","\u28E3","\u28E4","\u28E5","\u28E6","\u28E7","\u28A8","\u28A9","\u28AA","\u28AB","\u28AC","\u28AD","\u28AE","\u28AF","\u28E8","\u28E9","\u28EA","\u28EB","\u28EC","\u28ED","\u28EE","\u28EF","\u28B0","\u28B1","\u28B2","\u28B3","\u28B4","\u28B5","\u28B6","\u28B7","\u28F0","\u28F1","\u28F2","\u28F3","\u28F4","\u28F5","\u28F6","\u28F7","\u28B8","\u28B9","\u28BA","\u28BB","\u28BC","\u28BD","\u28BE","\u28BF","\u28F8","\u28F9","\u28FA","\u28FB","\u28FC","\u28FD","\u28FE","\u28FF"]},sand:{interval:80,frames:["\u2801","\u2802","\u2804","\u2840","\u2848","\u2850","\u2860","\u28C0","\u28C1","\u28C2","\u28C4","\u28CC","\u28D4","\u28E4","\u28E5","\u28E6","\u28EE","\u28F6","\u28F7","\u28FF","\u287F","\u283F","\u289F","\u281F","\u285B","\u281B","\u282B","\u288B","\u280B","\u280D","\u2849","\u2809","\u2811","\u2821","\u2881"]},line:{interval:130,frames:["-","\\","|","/"]},line2:{interval:100,frames:["\u2802","-","\u2013","\u2014","\u2013","-"]},pipe:{interval:100,frames:["\u2524","\u2518","\u2534","\u2514","\u251C","\u250C","\u252C","\u2510"]},simpleDots:{interval:400,frames:[". ",".. ","..."," "]},simpleDotsScrolling:{interval:200,frames:[". ",".. ","..."," .."," ."," "]},star:{interval:70,frames:["\u2736","\u2738","\u2739","\u273A","\u2739","\u2737"]},star2:{interval:80,frames:["+","x","*"]},flip:{interval:70,frames:["_","_","_","-","`","`","'","\xB4","-","_","_","_"]},hamburger:{interval:100,frames:["\u2631","\u2632","\u2634"]},growVertical:{interval:120,frames:["\u2581","\u2583","\u2584","\u2585","\u2586","\u2587","\u2586","\u2585","\u2584","\u2583"]},growHorizontal:{interval:120,frames:["\u258F","\u258E","\u258D","\u258C","\u258B","\u258A","\u2589","\u258A","\u258B","\u258C","\u258D","\u258E"]},balloon:{interval:140,frames:[" ",".","o","O","@","*"," "]},balloon2:{interval:120,frames:[".","o","O","\xB0","O","o","."]},noise:{interval:100,frames:["\u2593","\u2592","\u2591"]},bounce:{interval:120,frames:["\u2801","\u2802","\u2804","\u2802"]},boxBounce:{interval:120,frames:["\u2596","\u2598","\u259D","\u2597"]},boxBounce2:{interval:100,frames:["\u258C","\u2580","\u2590","\u2584"]},triangle:{interval:50,frames:["\u25E2","\u25E3","\u25E4","\u25E5"]},binary:{interval:80,frames:["010010","001100","100101","111010","111101","010111","101011","111000","110011","110101"]},arc:{interval:100,frames:["\u25DC","\u25E0","\u25DD","\u25DE","\u25E1","\u25DF"]},circle:{interval:120,frames:["\u25E1","\u2299","\u25E0"]},squareCorners:{interval:180,frames:["\u25F0","\u25F3","\u25F2","\u25F1"]},circleQuarters:{interval:120,frames:["\u25F4","\u25F7","\u25F6","\u25F5"]},circleHalves:{interval:50,frames:["\u25D0","\u25D3","\u25D1","\u25D2"]},squish:{interval:100,frames:["\u256B","\u256A"]},toggle:{interval:250,frames:["\u22B6","\u22B7"]},toggle2:{interval:80,frames:["\u25AB","\u25AA"]},toggle3:{interval:120,frames:["\u25A1","\u25A0"]},toggle4:{interval:100,frames:["\u25A0","\u25A1","\u25AA","\u25AB"]},toggle5:{interval:100,frames:["\u25AE","\u25AF"]},toggle6:{interval:300,frames:["\u101D","\u1040"]},toggle7:{interval:80,frames:["\u29BE","\u29BF"]},toggle8:{interval:100,frames:["\u25CD","\u25CC"]},toggle9:{interval:100,frames:["\u25C9","\u25CE"]},toggle10:{interval:100,frames:["\u3282","\u3280","\u3281"]},toggle11:{interval:50,frames:["\u29C7","\u29C6"]},toggle12:{interval:120,frames:["\u2617","\u2616"]},toggle13:{interval:80,frames:["=","*","-"]},arrow:{interval:100,frames:["\u2190","\u2196","\u2191","\u2197","\u2192","\u2198","\u2193","\u2199"]},arrow2:{interval:80,frames:["\u2B06\uFE0F ","\u2197\uFE0F ","\u27A1\uFE0F ","\u2198\uFE0F ","\u2B07\uFE0F ","\u2199\uFE0F ","\u2B05\uFE0F ","\u2196\uFE0F "]},arrow3:{interval:120,frames:["\u25B9\u25B9\u25B9\u25B9\u25B9","\u25B8\u25B9\u25B9\u25B9\u25B9","\u25B9\u25B8\u25B9\u25B9\u25B9","\u25B9\u25B9\u25B8\u25B9\u25B9","\u25B9\u25B9\u25B9\u25B8\u25B9","\u25B9\u25B9\u25B9\u25B9\u25B8"]},bouncingBar:{interval:80,frames:["[ ]","[= ]","[== ]","[=== ]","[====]","[ ===]","[ ==]","[ =]","[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"]},bouncingBall:{interval:80,frames:["( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF)","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","(\u25CF )"]},smiley:{interval:200,frames:["\u{1F604} ","\u{1F61D} "]},monkey:{interval:300,frames:["\u{1F648} ","\u{1F648} ","\u{1F649} ","\u{1F64A} "]},hearts:{interval:100,frames:["\u{1F49B} ","\u{1F499} ","\u{1F49C} ","\u{1F49A} ","\u2764\uFE0F "]},clock:{interval:100,frames:["\u{1F55B} ","\u{1F550} ","\u{1F551} ","\u{1F552} ","\u{1F553} ","\u{1F554} ","\u{1F555} ","\u{1F556} ","\u{1F557} ","\u{1F558} ","\u{1F559} ","\u{1F55A} "]},earth:{interval:180,frames:["\u{1F30D} ","\u{1F30E} ","\u{1F30F} "]},material:{interval:17,frames:["\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"]},moon:{interval:80,frames:["\u{1F311} ","\u{1F312} ","\u{1F313} ","\u{1F314} ","\u{1F315} ","\u{1F316} ","\u{1F317} ","\u{1F318} "]},runner:{interval:140,frames:["\u{1F6B6} ","\u{1F3C3} "]},pong:{interval:80,frames:["\u2590\u2802 \u258C","\u2590\u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802\u258C","\u2590 \u2820\u258C","\u2590 \u2840\u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590\u2820 \u258C"]},shark:{interval:120,frames:["\u2590|\\____________\u258C","\u2590_|\\___________\u258C","\u2590__|\\__________\u258C","\u2590___|\\_________\u258C","\u2590____|\\________\u258C","\u2590_____|\\_______\u258C","\u2590______|\\______\u258C","\u2590_______|\\_____\u258C","\u2590________|\\____\u258C","\u2590_________|\\___\u258C","\u2590__________|\\__\u258C","\u2590___________|\\_\u258C","\u2590____________|\\\u258C","\u2590____________/|\u258C","\u2590___________/|_\u258C","\u2590__________/|__\u258C","\u2590_________/|___\u258C","\u2590________/|____\u258C","\u2590_______/|_____\u258C","\u2590______/|______\u258C","\u2590_____/|_______\u258C","\u2590____/|________\u258C","\u2590___/|_________\u258C","\u2590__/|__________\u258C","\u2590_/|___________\u258C","\u2590/|____________\u258C"]},dqpb:{interval:100,frames:["d","q","p","b"]},weather:{interval:100,frames:["\u2600\uFE0F ","\u2600\uFE0F ","\u2600\uFE0F ","\u{1F324} ","\u26C5\uFE0F ","\u{1F325} ","\u2601\uFE0F ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u26C8 ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u2601\uFE0F ","\u{1F325} ","\u26C5\uFE0F ","\u{1F324} ","\u2600\uFE0F ","\u2600\uFE0F "]},christmas:{interval:400,frames:["\u{1F332}","\u{1F384}"]},grenade:{interval:80,frames:["\u060C ","\u2032 "," \xB4 "," \u203E "," \u2E0C"," \u2E0A"," |"," \u204E"," \u2055"," \u0DF4 "," \u2053"," "," "," "]},point:{interval:125,frames:["\u2219\u2219\u2219","\u25CF\u2219\u2219","\u2219\u25CF\u2219","\u2219\u2219\u25CF","\u2219\u2219\u2219"]},layer:{interval:150,frames:["-","=","\u2261"]},betaWave:{interval:80,frames:["\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1"]},fingerDance:{interval:160,frames:["\u{1F918} ","\u{1F91F} ","\u{1F596} ","\u270B ","\u{1F91A} ","\u{1F446} "]},fistBump:{interval:80,frames:["\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u3000\u{1F91C}\u3000\u3000\u{1F91B}\u3000 ","\u3000\u3000\u{1F91C}\u{1F91B}\u3000\u3000 ","\u3000\u{1F91C}\u2728\u{1F91B}\u3000\u3000 ","\u{1F91C}\u3000\u2728\u3000\u{1F91B}\u3000 "]},soccerHeader:{interval:80,frames:[" \u{1F9D1}\u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F\u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} "]},mindblown:{interval:160,frames:["\u{1F610} ","\u{1F610} ","\u{1F62E} ","\u{1F62E} ","\u{1F626} ","\u{1F626} ","\u{1F627} ","\u{1F627} ","\u{1F92F} ","\u{1F4A5} ","\u2728 ","\u3000 ","\u3000 ","\u3000 "]},speaker:{interval:160,frames:["\u{1F508} ","\u{1F509} ","\u{1F50A} ","\u{1F509} "]},orangePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} "]},bluePulse:{interval:100,frames:["\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},orangeBluePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} ","\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},timeTravel:{interval:100,frames:["\u{1F55B} ","\u{1F55A} ","\u{1F559} ","\u{1F558} ","\u{1F557} ","\u{1F556} ","\u{1F555} ","\u{1F554} ","\u{1F553} ","\u{1F552} ","\u{1F551} ","\u{1F550} "]},aesthetic:{interval:80,frames:["\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0","\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1"]},dwarfFortress:{interval:80,frames:[" \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A \u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A \xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A \xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\u2593\xA3 "," \u263A\u2593\xA3 "," \u263A\u2592\xA3 "," \u263A\u2592\xA3 "," \u263A\u2591\xA3 "," \u263A\u2591\xA3 "," \u263A \xA3 "," \u263A\xA3 "," \u263A\xA3 "," \u263A\u2593 "," \u263A\u2593 "," \u263A\u2592 "," \u263A\u2592 "," \u263A\u2591 "," \u263A\u2591 "," \u263A "," \u263A &"," \u263A \u263C&"," \u263A \u263C &"," \u263A\u263C &"," \u263A\u263C & "," \u203C & "," \u263A & "," \u203C & "," \u263A & "," \u203C & "," \u263A & ","\u203C & "," & "," & "," & \u2591 "," & \u2592 "," & \u2593 "," & \xA3 "," & \u2591\xA3 "," & \u2592\xA3 "," & \u2593\xA3 "," & \xA3\xA3 "," & \u2591\xA3\xA3 "," & \u2592\xA3\xA3 ","& \u2593\xA3\xA3 ","& \xA3\xA3\xA3 "," \u2591\xA3\xA3\xA3 "," \u2592\xA3\xA3\xA3 "," \u2593\xA3\xA3\xA3 "," \u2588\xA3\xA3\xA3 "," \u2591\u2588\xA3\xA3\xA3 "," \u2592\u2588\xA3\xA3\xA3 "," \u2593\u2588\xA3\xA3\xA3 "," \u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "]}}});var Ss=ds((zv,su)=>{"use strict";var $o=Object.assign({},ou()),iu=Object.keys($o);Object.defineProperty($o,"random",{get(){let t=Math.floor(Math.random()*iu.length),e=iu[t];return $o[e]}});su.exports=$o});function Ts(){return Ve.default.platform!=="win32"?Ve.default.env.TERM!=="linux":!!Ve.default.env.CI||!!Ve.default.env.WT_SESSION||!!Ve.default.env.TERMINUS_SUBLIME||Ve.default.env.ConEmuTask==="{cmd::Cmder}"||Ve.default.env.TERM_PROGRAM==="Terminus-Sublime"||Ve.default.env.TERM_PROGRAM==="vscode"||Ve.default.env.TERM==="xterm-256color"||Ve.default.env.TERM==="alacritty"||Ve.default.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var Ve,au=b(()=>{"use strict";Ve=m(require("process"),1)});var Wh,Uh,Vh,An,lu=b(()=>{"use strict";ws();au();Wh={info:nt.blue("\u2139"),success:nt.green("\u2714"),warning:nt.yellow("\u26A0"),error:nt.red("\u2716")},Uh={info:nt.blue("i"),success:nt.green("\u221A"),warning:nt.yellow("\u203C"),error:nt.red("\xD7")},Vh=Ts()?Wh:Uh,An=Vh});function As({onlyFirst:t=!1}={}){let o="(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";return new RegExp(o,t?void 0:"g")}var cu=b(()=>{"use strict"});function On(t){if(typeof t!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);return!t.includes("\x1B")&&!t.includes("\x9B")?t:t.replace(Hh,"")}var Hh,Os=b(()=>{"use strict";cu();Hh=As()});var uu,fu,du,pu,mu,gu,Is,hu=b(()=>{"use strict";uu=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],fu=12288,du=65510,pu=[12288,12288,65281,65376,65504,65510],mu=4352,gu=262141,Is=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141]});var Ro,yu=b(()=>{"use strict";Ro=(t,e)=>{let r=0,n=Math.floor(t.length/2)-1;for(;r<=n;){let o=Math.floor((r+n)/2),i=o*2;if(e<t[i])n=o-1;else if(e>t[i+1])r=o+1;else return!0}return!1}});function Kh(t){let e=t[0],r=t[1];for(let n=0;n<t.length;n+=2){let o=t[n],i=t[n+1];if(wu>=o&&wu<=i)return[o,i];i-o>r-e&&(e=o,r=i)}return[e,r]}var wu,zh,qh,Du,bu,vu,Eu=b(()=>{"use strict";hu();yu();wu=19968,[zh,qh]=Kh(Is);Du=t=>t<161||t>1114109?!1:Ro(uu,t),bu=t=>t<fu||t>du?!1:Ro(pu,t),vu=t=>t>=zh&&t<=qh?!0:t<mu||t>gu?!1:Ro(Is,t)});function Zh(t){if(!Number.isSafeInteger(t))throw new TypeError(`Expected a code point, got \`${typeof t}\`.`)}function xu(t,{ambiguousAsWide:e=!1}={}){return Zh(t),bu(t)||vu(t)||e&&Du(t)?2:1}var _u=b(()=>{"use strict";Eu()});var Cu,Fu=b(()=>{"use strict";Cu=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g});function $s(t,e={}){if(typeof t!="string"||t.length===0)return 0;let{ambiguousIsNarrow:r=!0,countAnsiEscapeCodes:n=!1}=e;if(n||(t=On(t)),t.length===0)return 0;let o=0,i={ambiguousAsWide:!r};for(let{segment:s}of Yh.segment(t)){let a=s.codePointAt(0);if(!(a<=31||a>=127&&a<=159)&&!(a>=8203&&a<=8207||a===65279)&&!(a>=768&&a<=879||a>=6832&&a<=6911||a>=7616&&a<=7679||a>=8400&&a<=8447||a>=65056&&a<=65071)&&!(a>=55296&&a<=57343)&&!(a>=65024&&a<=65039)&&!Xh.test(s)){if(Cu().test(s)){o+=2;continue}o+=xu(a,i)}}return o}var Yh,Xh,ku=b(()=>{"use strict";Os();_u();Fu();Yh=new Intl.Segmenter,Xh=new RegExp("^\\p{Default_Ignorable_Code_Point}$","u")});function Rs({stream:t=process.stdout}={}){return!!(t&&t.isTTY&&process.env.TERM!=="dumb"&&!("CI"in process.env))}var Su=b(()=>{"use strict"});function js(){let{env:t}=Ps.default,{TERM:e,TERM_PROGRAM:r}=t;return Ps.default.platform!=="win32"?e!=="linux":!!t.WT_SESSION||!!t.TERMINUS_SUBLIME||t.ConEmuTask==="{cmd::Cmder}"||r==="Terminus-Sublime"||r==="vscode"||e==="xterm-256color"||e==="alacritty"||e==="rxvt-unicode"||e==="rxvt-unicode-256color"||t.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var Ps,Tu=b(()=>{"use strict";Ps=m(require("process"),1)});var ot,Qh,Ns,ey,Bs,Au=b(()=>{"use strict";ot=m(require("process"),1),Qh=3,Ns=class{#s=0;start(){this.#s++,this.#s===1&&this.#r()}stop(){if(this.#s<=0)throw new Error("`stop` called more times than `start`");this.#s--,this.#s===0&&this.#e()}#r(){ot.default.platform==="win32"||!ot.default.stdin.isTTY||(ot.default.stdin.setRawMode(!0),ot.default.stdin.on("data",this.#o),ot.default.stdin.resume())}#e(){ot.default.stdin.isTTY&&(ot.default.stdin.off("data",this.#o),ot.default.stdin.pause(),ot.default.stdin.setRawMode(!1))}#o(e){e[0]===Qh&&ot.default.emit("SIGINT")}},ey=new Ns,Bs=ey});function Ls(t){return new Ms(t)}var In,$n,ty,Ms,Ou=b(()=>{"use strict";In=m(require("process"),1);ws();nu();$n=m(Ss(),1);lu();Os();ku();Su();Tu();Au();ty=m(Ss(),1),Ms=class{#s=0;#r=!1;#e=0;#o=-1;#d=0;#t;#i;#n;#p;#g;#c;#u;#f;#h;#a;#l;color;constructor(e){typeof e=="string"&&(e={text:e}),this.#t={color:"cyan",stream:In.default.stderr,discardStdin:!0,hideCursor:!0,...e},this.color=this.#t.color,this.spinner=this.#t.spinner,this.#g=this.#t.interval,this.#n=this.#t.stream,this.#c=typeof this.#t.isEnabled=="boolean"?this.#t.isEnabled:Rs({stream:this.#n}),this.#u=typeof this.#t.isSilent=="boolean"?this.#t.isSilent:!1,this.text=this.#t.text,this.prefixText=this.#t.prefixText,this.suffixText=this.#t.suffixText,this.indent=this.#t.indent,In.default.env.NODE_ENV==="test"&&(this._stream=this.#n,this._isEnabled=this.#c,Object.defineProperty(this,"_linesToClear",{get(){return this.#s},set(r){this.#s=r}}),Object.defineProperty(this,"_frameIndex",{get(){return this.#o}}),Object.defineProperty(this,"_lineCount",{get(){return this.#e}}))}get indent(){return this.#f}set indent(e=0){if(!(e>=0&&Number.isInteger(e)))throw new Error("The `indent` option must be an integer from 0 and up");this.#f=e,this.#m()}get interval(){return this.#g??this.#i.interval??100}get spinner(){return this.#i}set spinner(e){if(this.#o=-1,this.#g=void 0,typeof e=="object"){if(e.frames===void 0)throw new Error("The given spinner must have a `frames` property");this.#i=e}else if(!js())this.#i=$n.default.line;else if(e===void 0)this.#i=$n.default.dots;else if(e!=="default"&&$n.default[e])this.#i=$n.default[e];else throw new Error(`There is no built-in spinner named '${e}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`)}get text(){return this.#h}set text(e=""){this.#h=e,this.#m()}get prefixText(){return this.#a}set prefixText(e=""){this.#a=e,this.#m()}get suffixText(){return this.#l}set suffixText(e=""){this.#l=e,this.#m()}get isSpinning(){return this.#p!==void 0}#y(e=this.#a,r=" "){return typeof e=="string"&&e!==""?e+r:typeof e=="function"?e()+r:""}#w(e=this.#l,r=" "){return typeof e=="string"&&e!==""?r+e:typeof e=="function"?r+e():""}#m(){let e=this.#n.columns??80,r=this.#y(this.#a,"-"),n=this.#w(this.#l,"-"),o=" ".repeat(this.#f)+r+"--"+this.#h+"--"+n;this.#e=0;for(let i of On(o).split(`
8
+ `))this.#e+=Math.max(1,Math.ceil($s(i,{countAnsiEscapeCodes:!0})/e))}get isEnabled(){return this.#c&&!this.#u}set isEnabled(e){if(typeof e!="boolean")throw new TypeError("The `isEnabled` option must be a boolean");this.#c=e}get isSilent(){return this.#u}set isSilent(e){if(typeof e!="boolean")throw new TypeError("The `isSilent` option must be a boolean");this.#u=e}frame(){let e=Date.now();(this.#o===-1||e-this.#d>=this.interval)&&(this.#o=++this.#o%this.#i.frames.length,this.#d=e);let{frames:r}=this.#i,n=r[this.#o];this.color&&(n=nt[this.color](n));let o=typeof this.#a=="string"&&this.#a!==""?this.#a+" ":"",i=typeof this.text=="string"?" "+this.text:"",s=typeof this.#l=="string"&&this.#l!==""?" "+this.#l:"";return o+n+i+s}clear(){if(!this.#c||!this.#n.isTTY)return this;this.#n.cursorTo(0);for(let e=0;e<this.#s;e++)e>0&&this.#n.moveCursor(0,-1),this.#n.clearLine(1);return(this.#f||this.lastIndent!==this.#f)&&this.#n.cursorTo(this.#f),this.lastIndent=this.#f,this.#s=0,this}render(){return this.#u?this:(this.clear(),this.#n.write(this.frame()),this.#s=this.#e,this)}start(e){return e&&(this.text=e),this.#u?this:this.#c?this.isSpinning?this:(this.#t.hideCursor&&ks.hide(this.#n),this.#t.discardStdin&&In.default.stdin.isTTY&&(this.#r=!0,Bs.start()),this.render(),this.#p=setInterval(this.render.bind(this),this.interval),this):(this.text&&this.#n.write(`- ${this.text}
9
+ `),this)}stop(){return this.#c?(clearInterval(this.#p),this.#p=void 0,this.#o=0,this.clear(),this.#t.hideCursor&&ks.show(this.#n),this.#t.discardStdin&&In.default.stdin.isTTY&&this.#r&&(Bs.stop(),this.#r=!1),this):this}succeed(e){return this.stopAndPersist({symbol:An.success,text:e})}fail(e){return this.stopAndPersist({symbol:An.error,text:e})}warn(e){return this.stopAndPersist({symbol:An.warning,text:e})}info(e){return this.stopAndPersist({symbol:An.info,text:e})}stopAndPersist(e={}){if(this.#u)return this;let r=e.prefixText??this.#a,n=this.#y(r," "),o=e.symbol??" ",i=e.text??this.text,a=typeof i=="string"?(o?" ":"")+i:"",l=e.suffixText??this.#l,u=this.#w(l," "),f=n+o+a+u+`
10
+ `;return this.stop(),this.#n.write(f),this}}});function Vs(t,{suffix:e="nodejs"}={}){if(typeof t!="string")throw new TypeError(`Expected a string, got ${typeof t}`);return e&&(t+=`-${e}`),Po.default.platform==="darwin"?ry(t):Po.default.platform==="win32"?ny(t):oy(t)}var ae,Ws,Po,Rt,Us,Vr,ry,ny,oy,Iu=b(()=>{"use strict";ae=m(require("path"),1),Ws=m(require("os"),1),Po=m(require("process"),1),Rt=Ws.default.homedir(),Us=Ws.default.tmpdir(),{env:Vr}=Po.default,ry=t=>{let e=ae.default.join(Rt,"Library");return{data:ae.default.join(e,"Application Support",t),config:ae.default.join(e,"Preferences",t),cache:ae.default.join(e,"Caches",t),log:ae.default.join(e,"Logs",t),temp:ae.default.join(Us,t)}},ny=t=>{let e=Vr.APPDATA||ae.default.join(Rt,"AppData","Roaming"),r=Vr.LOCALAPPDATA||ae.default.join(Rt,"AppData","Local");return{data:ae.default.join(r,t,"Data"),config:ae.default.join(e,t,"Config"),cache:ae.default.join(r,t,"Cache"),log:ae.default.join(r,t,"Log"),temp:ae.default.join(Us,t)}},oy=t=>{let e=ae.default.basename(Rt);return{data:ae.default.join(Vr.XDG_DATA_HOME||ae.default.join(Rt,".local","share"),t),config:ae.default.join(Vr.XDG_CONFIG_HOME||ae.default.join(Rt,".config"),t),cache:ae.default.join(Vr.XDG_CACHE_HOME||ae.default.join(Rt,".cache"),t),log:ae.default.join(Vr.XDG_STATE_HOME||ae.default.join(Rt,".local","state"),t),temp:ae.default.join(Us,e,t)}}});function jo(){return/[<>:"/\\|?*\u0000-\u001F]/g}function $u(){return/^(con|prn|aux|nul|com\d|lpt\d)$/i}var Ru=b(()=>{"use strict"});function Rn(t,e={}){let r=/[\u0000-\u001F\u0080-\u009F]/g,n=/([<>:"/\\|?*\u0000-\u001F]){2,}/g;if(typeof t!="string")throw new TypeError("Expected a string");let o=e.replacement===void 0?"!":e.replacement;if(jo().test(o)&&r.test(o))throw new Error("Replacement string cannot contain reserved filename characters");o.length>0&&(t=t.replace(n,"$1")),t=t.normalize("NFD"),t=t.replace(sy,o),t=t.replace(jo(),o),t=t.replace(r,o),t=t.replace(ay,""),o.length>0&&(!(t[0]===".")&&t[0]==="."&&(t=o+t),t[t.length-1]==="."&&(t+=o)),t=$u().test(t)?t+o:t;let i=typeof e.maxLength=="number"?e.maxLength:iy;if(t.length>i){let s=t.lastIndexOf(".");if(s===-1)t=t.slice(0,i);else{let a=t.slice(0,s),l=t.slice(s);t=a.slice(0,Math.max(1,i-l.length))+l}}return t}var iy,sy,ay,Hs=b(()=>{"use strict";Ru();iy=100,sy=/^\.+(\\|\/)|^\.+$/,ay=/\.+$/});var ly,Pu=b(()=>{"use strict";ly=m(require("path"),1);Hs()});var ju=b(()=>{"use strict";Hs();Pu()});var No,Js=b(()=>{"use strict";No="webflow.json"});var sr,Gs=b(()=>{"use strict";sr=class extends Error{constructor(e){super(`Manifest config for key "${e}" not found`),this.name="ManifestConfigKeyNotFoundError"}}});function Bu(t){zs=t}function te(){return zs}function ct(){return!zs}function Mu(t){Nu=t}function Lu(){return Nu}var zs,Nu,Fe=b(()=>{"use strict";zs=!1});function ar(){let t=Lu();if(t){if(t.endsWith(".json"))return{path:t,isUserDefined:!0};try{if((0,Wu.statSync)(t)?.isDirectory())return{path:(0,Uu.join)(t,No),isUserDefined:!0}}catch{if(t.endsWith(".json"))return{path:t,isUserDefined:!0}}throw new Error(`Manifest path must be either a directory or a .json file. Got: ${t}`)}return{path:`./${No}`,isUserDefined:!1}}var Wu,Uu,qs=b(()=>{"use strict";Wu=require("fs"),Uu=require("path");Js();Fe()});var Vu,cy,uy,Ks,Hu=b(()=>{"use strict";Vu=m(require("ajv")),cy=new Vu.default,uy={type:"object",properties:{library:{type:"object",properties:{name:{type:"string",minLength:1},id:{type:"string",minLength:1},components:{type:"array",items:{type:"string"},minItems:1},renderer:{anyOf:[{type:"object",properties:{client:{type:"string",minLength:1},server:{type:"string",minLength:1}}},{type:"string",minLength:1}]},globals:{type:"string",minLength:1}},required:[]},devlink:{type:"object",properties:{rootDir:{type:"string",minLength:1},cssModules:{type:"boolean"},allowTelemetry:{type:"boolean"},overwriteModule:{type:"boolean"},skipTagSelectors:{type:"boolean"},envVariables:{type:"object",additionalProperties:{type:"string"}},components:{oneOf:[{type:"string"},{type:"array",items:{type:"string"}}]},fileExtensions:{type:"object",properties:{js:{type:"string"},css:{type:"string"}}},relativeHrefRoot:{oneOf:[{type:"boolean"},{type:"string"}]}},required:["rootDir"]},"devlink-export":{type:"object",properties:{rootDir:{type:"string",minLength:1},components:{type:"string"},componentGroups:{type:"string"},ts:{type:"boolean"},cssScopes:{type:"boolean"},relativeHrefRoot:{oneOf:[{type:"boolean",const:!1},{type:"string"}]},treeShake:{type:"boolean"}},required:[]}}},Ks=cy.compile(uy)});function Ju(t){return t instanceof Error?t:new Error("Unknown error")}function G(){let{path:t}=ar();if(!(0,Bo.existsSync)(t))return{manifest:{},manifestPath:t};let e;try{e=(0,Bo.readFileSync)(t,"utf8")}catch(o){throw new Error(`Failed to read manifest file: ${Ju(o).message}`)}if(e.trim()==="")return{manifest:{},manifestPath:t};let n;try{n=JSON.parse(e)}catch(o){throw new Error(`Invalid JSON in manifest file: ${Ju(o).message}`)}if(!Ks(n)){let o=Ks.errors?.map(i=>`${i.instancePath} ${i.message}`).join(", ")||"Unknown error";throw new Error(`Invalid manifest: ${o}.`)}return{manifest:n,manifestPath:t}}var Bo,Pn=b(()=>{"use strict";Bo=require("fs");qs();Hu()});function jn(t,e){let r=t[e];if(!r)throw new sr(e);return r}var Gu=b(()=>{"use strict";Gs()});function oe(t){let e=G(),r=e.manifest,n=e.manifestPath,o={...r};for(let i in t){let s=i,a=t[s];if(a!==void 0)if(typeof a=="string"||typeof a=="number"||typeof a=="boolean"||a===null)o[s]=a;else{let l=o[s];o[s]={...typeof l=="object"&&l!==null?l:{},...a}}}return(0,zu.writeFileSync)(n,JSON.stringify(o,null,2),"utf-8"),o}var zu,Zs=b(()=>{"use strict";zu=require("fs");Pn()});var De=b(()=>{"use strict";Js();Gs();Pn();qs();Gu();Zs()});var Mo=ds((cx,fy)=>{fy.exports={name:"@webflow/webflow-cli",version:"2.0.0-next.0",license:"MIT",bin:{webflow:"./dist/index.js"},scripts:{build:"tsup",dev:"tsup",lint:"eslint .",test:"jest --ci","test:unit":"jest --ci --ignoreProjects e2e","test:local":"jest","test:e2e-cache-clear":"bash scripts/clear-e2e-cache.sh"},files:["CHANGELOG.md","dist/**/*"],publishConfig:{access:"public"},dependencies:{"@babel/preset-env":"^7.26.9","@babel/preset-react":"^7.26.3","@babel/preset-typescript":"^7.27.0","@dotenvx/dotenvx":"^1.44.1","@inquirer/prompts":"^7.9.0","@module-federation/enhanced":"0.20.0","@rspack/core":"^1.7.8","@webflow/data-types":"*",ajv:"^8.17.1",archiver:"^5.3.1","babel-loader":"^10.0.0",commander:"^10.0.0",cosmiconfig:"^8.2.0","css-loader":"^7.1.2",dotenv:"^16.0.3","env-paths":"^3.0.0","fast-glob":"^3.3.3",filenamify:"^6.0.0","fork-ts-checker-webpack-plugin":"9.1.0","form-data":"4.0.4","fs-extra":"^11.3.0",jsdom:"^26.0.0","jsonc-parser":"^3.2.0",md5:"^2.2.1",memfs:"4.17.0","mime-types":"^2.1.35","mini-css-extract-plugin":"^2.9.2","node-fetch":"^2.6.7",open:"^8.4.2",ora:"^8.2.0",postcss:"^8.5.6","postcss-loader":"^8.1.1","postcss-selector-parser":"^7.1.0",semver:"^7.7.2","serve-handler":"^6.1.5","source-map-support":"^0.5.21",tar:"^7.4.3","ts-checker-rspack-plugin":"^1.0.0","tsconfig-paths":"^4.2.0","tsconfig-paths-webpack-plugin":"^4.2.0",unionfs:"^4.5.4","webflow-api":"3.3.4",webpack:">=5.99.7 <5.106.0","webpack-merge":"^6.0.1","webpack-node-externals":"^3.0.0",zod:"^3.22.4"},devDependencies:{"@types/archiver":"^5.3.2","@types/express":"^4.17.13","@types/fs-extra":"^11.0.4","@types/jest":"^29.2.3","@types/md5":"^2.3.2","@types/mime-types":"^2.1.4","@types/nock":"^8.0.33","@types/node":"^22.13.0","@types/node-fetch":"2.6.13","@types/serve-handler":"^6.1.1","@types/source-map":"^0.5.2","@types/webpack-node-externals":"^3.0.4",astro:"^5.17.2","eslint-config-custom":"*",express:"^4.18.1",jest:"^29.3.1",nock:"13.3.1",tar:"^7.4.3","ts-jest":"^29.4.9","ts-node":"^10.9.1",tsconfig:"*",tsup:"^8.4.0",typescript:"^5.9.3"},engines:{node:">=22.13.0"}}});function vt(){try{return Mo().version}catch{return"unknown"}}function ut(t=""){if(!t)return"";let e=t;e=e.replace(/\/.*?\/webflow-cli/gi,"/REDACTED_PII/webflow-cli"),e=e.replace(/\/.*?\/node_modules/gi,"/REDACTED_PII/node_modules");let r=Nn.default.homedir();if(r){let o=new RegExp(r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"gi");e=e.replace(o,"~/REDACTED_PII")}let n=Nn.default.userInfo().username;if(n){let o=new RegExp(`/Users/${n}`,"gi");e=e.replace(o,"/Users/REDACTED_PII")}return e=e.replace(/\/Users\/[^\/\s]+/gi,"/Users/REDACTED_PII"),e=e.replace(/C:\\Users\\[^\\]+/gi,"C:\\Users\\REDACTED_PII"),e=e.replace(/[a-zA-Z0-9]{32,}/g,"[REDACTED_TOKEN]"),e=e.replace(/Bearer\s+[^\s]+/gi,"Bearer [REDACTED_TOKEN]"),e=e.replace(/token[=:]\s*[^\s]+/gi,"token=[REDACTED_TOKEN]"),e=e.replace(/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/g,"[REDACTED_EMAIL]"),e=e.replace(/\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b/g,"[REDACTED_IP]"),e}function Ys(t){if(t.stack)return ut(t.stack)}function Pt(t){let e=["password","token","secret","key","auth","bearer","authorization","apikey","api_key","access_token","refresh_token","client_secret","private_key"],r={};for(let[n,o]of Object.entries(t)){let i=n.toLowerCase();e.some(s=>i.includes(s))?r[n]="[REDACTED]":typeof o=="string"?r[n]=ut(o):typeof o=="object"&&o!==null&&!Array.isArray(o)?r[n]=Pt(o):Array.isArray(o)?r[n]=o.map(s=>typeof s=="object"&&s!==null?Pt(s):typeof s=="string"?ut(s):s):r[n]=o}return r}function qu(){return{platform:process.platform,nodeVersion:process.version,arch:process.arch,os:`${Nn.default.type()} ${Nn.default.release()}`}}function Xs(){let t=Date.now().toString(36),e=Math.random().toString(36).substring(2,8);return`${t}-${e}`}var Nn,Bn=b(()=>{"use strict";Nn=m(require("os"))});var T,E,ke,Hr,Qs,He,Ee,Lo,ea,H=b(()=>{"use strict";fe();T=M("\u2713"),E=bt("\u2716"),ke=le("\u2139"),Hr=M("\u279C"),Qs=bt("\u279C"),He="\u279C",Ee=ce("\u26A0"),Lo=S("\u2732"),ea=M("\u2732")});var jt,ta=b(()=>{"use strict";De();Bn();_();fe();H();jt=class t{static instance;cache=void 0;static isDoNotTrackEnabled(){let e=process.env.DO_NOT_TRACK;return e==="1"||e?.toLowerCase()==="true"}static getInstance(){return t.instance||(t.instance=new t),t.instance}async getPreference(){if(t.isDoNotTrackEnabled())return!1;if(this.cache!==void 0)return this.cache;try{let{manifest:e}=await G(),r=e?.telemetry?.global?.allowTelemetry;return this.cache=r,r}catch{return}}async setPreference(e){this.cache=e,await this.setGlobalPreference(e)}async promptForConsent(e){return t.isDoNotTrackEnabled()?(c.info(`${ke} Telemetry is disabled because the DO_NOT_TRACK environment variable is set.`),!1):(c.info(`${ea} ${S("Telemetry is enabled. We collect usage data and error reports to improve the Webflow CLI.")}`),c.info(`${ea} ${S("To opt out, run")} ${M("webflow auth telemetry --disable")}`),await this.setPreference(!0),!0)}clearCache(){this.cache=void 0}async getGlobalPreference(){return this.getPreference()}async setGlobalPreference(e){let r={telemetry:{global:{allowTelemetry:e,lastPrompted:Date.now(),version:vt()}}};await oe(r),c.info(`${T} Telemetry configuration updated in webflow.json`),this.cache=e}async hasGlobalPreference(){return await this.getPreference()!==void 0}async getTelemetryStatus(){let e=await this.getPreference();return e!==void 0?{enabled:e,source:"global",hasPreference:!0}:{enabled:!1,source:"none",hasPreference:!1}}setCacheValue(e,r){this.cache=r}}});async function q(t,e){let n={"User-Agent":`webflow-cli@${vt()}`};return(0,Ku.default)(t,{...e,headers:{...e?.headers,...n}})}var Ku,ft=b(()=>{"use strict";Ku=m(require("node-fetch"));ee()});var Zu,Yu=b(()=>{"use strict";Zu=t=>{try{let e=new URL(t);return!(!["http:","https:"].includes(e.protocol)||t.includes("?")||t.includes("#")||e.search||e.hash)}catch{return!1}}});var ra,C,Wo,Jr,Mn,na,Ln,Wn,Gr,ie=b(()=>{"use strict";Yu();ra=(t,e)=>(Zu(e)||(console.error(`Error: Invalid ${t} environment variable. Only valid plain HTTP/HTTPS URLs without query parameters and anchors is allowed.`),process.exit(1)),e),C=process.env.WEBFLOW_API_HOST?ra("WEBFLOW_API_HOST",process.env.WEBFLOW_API_HOST):"https://api.webflow.com",Wo=process.env.WEBFLOW_CDN_API_HOST?ra("WEBFLOW_CDN_API_HOST",process.env.WEBFLOW_CDN_API_HOST):"https://api-cdn.webflow.com",Jr=process.env.WEBFLOW_HOST?ra("WEBFLOW_HOST",process.env.WEBFLOW_HOST):"https://webflow.com",Mn="wf-manifest.json",na="mf-manifest.json",Ln="@webflow_renderer",Wn="ssr-bundle.tar",Gr="index.js"});var A,oa=b(()=>{"use strict";ta();Bn();_();ft();ie();A=class t{config;consentManager;sessionId;platformInfo;constructor(e){this.config=e,this.consentManager=jt.getInstance(),this.sessionId=Xs(),this.platformInfo=qu()}async sendEvent(e){try{if(!await this.isEnabled())return;let r=this.enrichEvent(e),n=this.sanitizeEvent(r);await this.transmitEvent(n)}catch(r){c.debug(`Failed to send telemetry event: ${r}`)}}async sendError(e,r,n){await this.sendEvent({eventType:"error",success:!1,name:e.name,message:e.message,cause:e.cause,stack:Ys(e),context:r,metadata:n?Pt(n):void 0})}async sendUsage(e,r){let{duration:n,...o}=r??{};await this.sendEvent({eventType:"usage",success:!0,feature:e,duration:typeof n=="number"?n:void 0,data:Object.keys(o).length>0?Pt(o):void 0})}async sendPerformance(e,r,n){await this.sendEvent({eventType:"performance",operation:e,duration:r,metrics:n})}async isEnabled(){return await this.consentManager.getPreference()!==!1}async isGloballyEnabled(){return await this.consentManager.getGlobalPreference()!==!1}async updatePreferences(e){await this.consentManager.setPreference(e)}static async promptForConsentIfNeeded(e){let r=jt.getInstance(),n=await r.getPreference();return n!==void 0?n:await r.promptForConsent(e)}enrichEvent(e){return{...{eventType:e.eventType||"usage",timestamp:Date.now(),sessionId:this.sessionId,platform:this.platformInfo.platform,nodeVersion:this.platformInfo.nodeVersion,cliVersion:vt(),command:process.argv.slice(2).join(" ")||void 0,metadata:{...e.metadata,commandType:this.config.commandType,siteId:this.config.siteId,projectId:this.config.projectId,os:this.platformInfo.os,arch:this.platformInfo.arch}},...e}}sanitizeEvent(e){let r=JSON.parse(JSON.stringify(e));return r.message&&(r.message=ut(r.message)),r.stack&&(r.stack=ut(r.stack)),r.context&&(r.context=ut(r.context)),r.metadata&&(r.metadata=Pt(r.metadata)),r.data&&(r.data=Pt(r.data)),r}async transmitEvent(e){let r=this.getEndpoint(),n=process.env.WEBFLOW_TELEMETRY_DEBUG==="true";if(n){console.log(`\u{1F4CA} [Telemetry] Sending to: ${r}`);let i={...e};i.metadata&&(delete i.metadata.authToken,delete i.metadata.apiToken),console.log("\u{1F4CA} [Telemetry] Payload:",JSON.stringify(i,null,2))}let o=await q(r,{method:"POST",headers:{Authorization:`Bearer ${this.config.authToken}`,"Content-Type":"application/json"},body:JSON.stringify(e),timeout:5e3});if(o.ok)n&&console.log(`\u{1F4CA} [Telemetry] Request successful: ${o.status}`);else throw n&&console.error(`\u{1F4CA} [Telemetry] Request failed: ${o.status} ${o.statusText}`),new Error(`Telemetry request failed: ${o.status} ${o.statusText}`)}getEndpoint(){let{host:e,commandType:r}=this.config;return`${e}/webflow-cli/${r}/telemetry`}static forDevlinkSync(e){return new t({host:e.host||C,authToken:e.authToken,siteId:e.siteId,commandType:"devlink"})}static forExport(e){return new t({host:e.host||C,authToken:e.authToken,siteId:e.siteId,commandType:"export"})}static forCloud(e){return new t({host:e.host||C,authToken:e.authToken,siteId:e.siteId,projectId:e.projectId,commandType:"cloud"})}static forExtension(e){return new t({host:e.host||C,authToken:e.authToken,siteId:e.siteId,commandType:"extension"})}static forCodeLibraries(e){return new t({host:e.host||C,authToken:e.authToken,commandType:"library"})}static forCms(e){return new t({host:e.host||C,authToken:e.authToken,siteId:e.siteId,commandType:"cms"})}static forAssets(e){return new t({host:e.host||C,authToken:e.authToken,siteId:e.siteId,commandType:"assets"})}static forSites(e){return new t({host:e.host||C,authToken:e.authToken,commandType:"sites"})}static forForms(e){return new t({host:e.host||C,authToken:e.authToken,commandType:"forms"})}}});var Xu=b(()=>{"use strict"});function Qu(t){return async(e,r,n)=>{let o=Date.now(),i=process.memoryUsage().heapUsed;try{let s=await r(),a=Date.now()-o,l=process.memoryUsage().heapUsed;return await t.sendPerformance(e,a,{memoryDelta:l-i,...n}),s}catch(s){let a=Date.now()-o;throw await t.sendPerformance(e,a,{failed:1,...n}),s}}}var ee=b(()=>{"use strict";oa();ta();Xu();Bn();Bn()});var sa,ia,dy,Et,aa=b(()=>{"use strict";sa=Symbol("webflow-cli-warn"),ia=class{warnings=[];originalConsoleWarn=null;isActive=!1;parseSource(e){let r=e.split(`
11
+ `);for(let n=2;n<r.length;n++){let o=r[n],i=o.match(/at .+? \((.+?):\d+:\d+\)/)||o.match(/at (.+?):\d+:\d+/);if(i){let s=i[1];if(s.includes("node_modules")){let a=s.match(/node_modules\/(@?[^/]+(?:\/[^/]+)?)/);return a?`External: ${a[1]}`:"External Dependencies"}else if(s.includes("webflow-cli"))return s.includes("/metadata/")?"Metadata Collection":s.includes("/bundler/")?"Bundling":s.includes("/commands/")?"CLI Commands":"Webflow CLI"}}return"General"}start(){this.isActive||(this.warnings=[],this.originalConsoleWarn=console.warn,this.isActive=!0,console.warn=(...e)=>{if(e.length>1&&e[e.length-1]===sa){let i=e.slice(0,-1);this.originalConsoleWarn&&this.originalConsoleWarn(...i);return}let r=e.map(i=>{if(typeof i=="string")return i;if(i instanceof Error)return i.message;try{return String(i)}catch{return"[Object]"}}).join(" "),n=new Error().stack||"",o=this.parseSource(n);this.warnings.push({message:r,timestamp:Date.now(),source:o,stackTrace:n})})}stop(){this.isActive&&(this.originalConsoleWarn&&(console.warn=this.originalConsoleWarn,this.originalConsoleWarn=null),this.isActive=!1)}displayGrouped(){if(this.warnings.length===0)return;console.log(`
12
12
  \u26A0\uFE0F Warnings:
13
- `);let t=this.warnings.reduce((n,r)=>{let o=r.source||"General";return n[o]||(n[o]=[]),n[o].push(r),n},{});Object.entries(t).forEach(([n,r])=>{n!=="General"&&console.log(` ${n}:`),r.forEach((o,i)=>{let s=n!=="General"?" ":" ",a=o.message||"[Empty warning message]";console.log(`${s}${i+1}. ${a}`)}),n!=="General"&&console.log("")}),t.General&&console.log("")}debug(){console.log(`
13
+ `);let e=this.warnings.reduce((r,n)=>{let o=n.source||"General";return r[o]||(r[o]=[]),r[o].push(n),r},{});Object.entries(e).forEach(([r,n])=>{r!=="General"&&console.log(` ${r}:`),n.forEach((o,i)=>{let s=r!=="General"?" ":" ",a=o.message||"[Empty warning message]";console.log(`${s}${i+1}. ${a}`)}),r!=="General"&&console.log("")}),e.General&&console.log("")}debug(){console.log(`
14
14
  \u{1F41B} Debug: Captured Warnings
15
- `),this.warnings.forEach((t,n)=>{console.log(`Warning ${n+1}:`),console.log(` Source: ${t.source}`),console.log(` Message: ${t.message}`),console.log(` Message length: ${t.message.length}`),console.log(` Timestamp: ${new Date(t.timestamp).toISOString()}`),t.stackTrace&&(console.log(" Stack (first 3 lines):"),t.stackTrace.split(`
16
- `).slice(0,3).forEach(r=>{console.log(` ${r}`)})),console.log("")})}},$v=new el,Tt=$v});function Bv(e){return e.replace(/\x1b\[[0-9;]*[a-zA-Z]/g,"")}function fp(e,t){if(!e)return t;let n=parseInt(e,10);return isNaN(n)||n<=0?t:n}function Gt(e){bo.push(gt(e)),bo.length>Mv&&bo.shift()}function mp(e){ol=e}function pp(e){return Gt(`DEBUG: ${e}`),e}function Uv(e){return Gt(`INFO: ${e}`),e}function zv(e){return Gt(`WARN: ${e}`),e}function Vv(e,t){let n=e instanceof Error?e.stack||e.message:e,r=t?.prefix?`${t.prefix} `:"";Gt(`ERROR: ${r}${n}`),il=!0;let o=e instanceof Error?e.message:e;return`${r}${o}`}function Jv(e){return Gt(`SUCCESS: ${e}`),`${E.green(e)}`}function qv(e){let t=cr(`${e}...`).start(),n=!1,r=o=>i=>{Gt(`${{succeed:"INFO",fail:"ERROR",warn:"WARN",info:"INFO"}[o]||"INFO"}: ${i||e}`),o==="fail"&&(il=!0),!n&&(n=!0,t[o](i||e))};return{succeed:r("succeed"),fail:r("fail"),warn:r("warn"),info:r("info")}}function Gv(){let e=gr.default.readdirSync(Ne).filter(t=>t.endsWith(".log")).map(t=>({name:t,time:gr.default.statSync(Ci.default.join(Ne,t)).mtime.getTime()})).sort((t,n)=>n.time-t.time);for(;e.length>=Lv;)try{let t=e.pop();if(!t)break;gr.default.removeSync(Ci.default.join(Ne,t.name))}catch{}}function sl(e){try{let t=process.argv.slice(2).join(" ");if(/^(log|library\s+log)(\s|$)/.test(t))return;gr.default.ensureDirSync(Ne),Gv(),bo.unshift(`CLI Version: ${_t()}`,`Node Version: ${process.version}`,`Platform: ${process.platform}`,`Architecture: ${process.arch}`,`Command: ${t||"N/A"}`,`Exit Code: ${e??0}`,`Memory Usage: ${Math.round(process.memoryUsage().heapUsed/1024/1024)}MB`,`Timestamp: ${new Date().toISOString()}`,...ol?[`Sync ID: ${ol}`]:[],"");let n=bo.map(Bv);gr.default.writeFileSync(rl,n.join(`
17
- `)),il&&(console.info(`
18
- ${N} An error occurred. See logs for more information:`),console.info(`${Za} Latest log: ${rl}`),console.info(`${Za} All logs: ${Ne}`)),(process.env.DEBUG||process.argv.includes("--verbose"))&&(console.info(`
19
- ${ee} Command completed successfully. Logs written to:`),console.info(`${dr} Latest log: ${rl}`),console.info(`${dr} All logs: ${Ne}`))}catch(t){console.error("Failed to write logs:",t)}}var gr,Ci,jO,Nv,Ne,Lv,Mv,Wv,rl,bo,il,ol,hr,Hv,d,J=O(()=>{"use strict";gr=w(require("fs-extra")),Ci=w(require("path"));_e();jO=require("source-map-support/register");$a();Vd();Hd();Be();nl();Ce();Nv=La("webflow-cli"),Ne=Nv.log;Lv=fp(process.env.MAX_PERSISTED_LOGS,50),Mv=fp(process.env.MAX_IN_MEMORY_LOGS,1e3),Wv=`${po(new Date().toISOString(),{replacement:"_"}).replace(/\./g,"_")}-debug.log`,rl=Ci.default.join(Ne,Wv);bo=[],il=!1;hr=!1;process.on("uncaughtException",e=>{hr||(hr=!0,Gt(`UNCAUGHT EXCEPTION: ${e?.stack}`),sl(1)),Tt.displayGrouped(),Tt.stop(),process.exit(1)});process.on("unhandledRejection",e=>{hr||(hr=!0,Gt(`UNHANDLED REJECTION: ${e instanceof Error?e.stack:String(e)}`),sl(1)),Tt.displayGrouped(),Tt.stop(),process.exit(1)});process.on("exit",e=>{hr||(hr=!0,sl(e))});Hv={debug:e=>{let t=pp(e);process.env.DEBUG&&console.debug(t)},trace:e=>{let t=pp(e);process.env.DEBUG&&console.debug(t)},dir:e=>console.dir(e,{depth:100}),info:e=>console.info(Uv(e)),warn:e=>console.warn(zv(e),tl),error:(e,t)=>{console.error(Vv(e,t))},success:e=>console.log(Jv(e)),spinner:qv},d=Hv});async function Do(e){try{return await e()}catch(t){throw t instanceof Error&&Kv.test(t.message)&&(d.debug(t.message),process.stdin.isTTY&&typeof process.stdin.setRawMode=="function"&&process.stdin.setRawMode(!1),process.exit(130)),t}}async function Ae(e){return oe()?e.default??!1:Do(()=>yt.confirm(e))}async function Le(e){return oe()?"default"in e?e.default:null:Do(()=>yt.select(e))}async function Te(e){return oe()?e.default!==void 0?await e.validate?.(e.default)!==!0?null:e.default:null:Do(()=>yt.input(e))}async function Fi(e){if(oe()){let t=[];return await e.validate?.(t)!==!0?null:t}return Do(()=>yt.checkbox(e))}async function Si(e){return oe()?"default"in e?e.default:null:Do(()=>yt.search(e))}var yt,Kv,Me=O(()=>{"use strict";yt=w(require("@inquirer/prompts"));Oe();J();Kv=/SIGINT/i});function Ot({apiToken:e,siteId:t,directory:n}){let r=ko.resolve(n?ko.join(n,".env"):ko.join(process.cwd(),".env"));n&&!Fn.existsSync(n)&&Fn.mkdirSync(n,{recursive:!0}),Fn.existsSync(r)||Fn.writeFileSync(r,`# automatically generated at ${new Date().toISOString()}`,{encoding:"utf8"}),_i.default.config({path:r,quiet:!0}),e&&_i.default.set("WEBFLOW_API_TOKEN",e,{path:r,encrypt:!1}),t&&_i.default.set("WEBFLOW_SITE_ID",t,{path:r,encrypt:!1})}var Fn,ko,_i,kp=O(()=>{"use strict";Fn=w(require("fs")),ko=w(require("path")),_i=w(require("@dotenvx/dotenvx"))});var g,te=O(()=>{"use strict";g=class e extends Error{prefix;skipLogging;isUserError;constructor(t,n){let r=t instanceof Error?t.message:String(t);super(r),this.name="CLIError",this.prefix=n?.prefix,this.skipLogging=n?.skipLogging??!1,this.isUserError=n?.isUserError??(t instanceof e?t.isUserError:!1),t instanceof Error?(this.cause=t,this.stack=t.stack):Error.captureStackTrace&&Error.captureStackTrace(this,e)}}});function Kt(){let e=ek();return Sn.default.join(e,Qv)}function ek(){if(process.platform==="win32"){let n=process.env.APPDATA??Sn.default.join(ul.default.homedir(),"AppData","Roaming");return Sn.default.join(n,"webflow")}let t=process.env.XDG_CONFIG_HOME??Sn.default.join(ul.default.homedir(),".config");return Sn.default.join(t,"webflow")}function xo(){let e=Kt();try{if(!Zt.default.existsSync(e))return null;let t=Zt.default.readFileSync(e,"utf8");return JSON.parse(t)}catch{return null}}function dl(e){let t=Kt(),n=Sn.default.dirname(t);Zt.default.existsSync(n)||Zt.default.mkdirSync(n,{recursive:!0,mode:448}),Zt.default.writeFileSync(t,JSON.stringify(e,null,2),{encoding:"utf8",mode:384})}function pl(){let e=Kt();try{Zt.default.existsSync(e)&&Zt.default.unlinkSync(e)}catch{}}var Zt,ul,Sn,Qv,fl=O(()=>{"use strict";Zt=w(require("fs")),ul=w(require("os")),Sn=w(require("path")),Qv="auth.json"});var Co,ml=O(()=>{"use strict";le();Co={serverUrl:fr,timeoutMs:5*60*1e3}});var xp,Cp,Ep,Fp,tk,Sp,nk,_p,Ap=O(()=>{"use strict";xp=require("crypto"),Cp=w(require("open"));ml();J();ht();Ep=e=>{let t=new Uint8Array(e);return xp.webcrypto.getRandomValues(t),Array.from(t,n=>n.toString(16).padStart(2,"0")).join("")},Fp=({pollId:e,clientId:t,scope:n})=>`${Co.serverUrl}/oauth/webflow/initiate?pollId=${e}&clientId=${t}&scope=${encodeURIComponent(n.join(" "))}`,tk=e=>`${Co.serverUrl}/oauth/webflow/poll?pollId=${e}`,Sp=async e=>{let t=d.spinner("Opening browser for authentication. Please follow the instructions in your browser");try{await new Promise(n=>setTimeout(n,3e3)),await(0,Cp.default)(e),t.succeed()}catch{t.fail(),d.warn(`Could not automatically open browser. Please open this URL manually: ${e}`)}},nk=async e=>{let t=tk(e),n=await K(t);if(!n.ok){let r=`Failed to poll for authentication status (${n.status})`;try{let o=await n.json();o&&o.error&&(r+=`: ${o.error}`)}catch{}throw new Error(r)}return n.json()},_p=(e,t)=>{let n=d.spinner("Waiting for authentication");return new Promise((r,o)=>{let i=setTimeout(()=>{clearTimeout(i),clearInterval(s),o(new Error("Authentication timed out. Please try again."))},t),s=setInterval(async()=>{try{let a=await nk(e);a.status==="success"&&a.accessToken?(clearTimeout(i),clearInterval(s),n.succeed("Authentication successful! You can close the browser window."),r(a.accessToken)):a.status==="error"&&(clearTimeout(i),clearInterval(s),n.fail("Authentication failed"),o(new Error(a.error||"Authentication failed")))}catch(a){clearTimeout(i),clearInterval(s),n.fail("Authentication failed"),o(a instanceof Error?a:new Error(String(a)))}},2e3)})}});function Eo(){if(process.env.WEBFLOW_API_TOKEN)return process.env.WEBFLOW_API_TOKEN;let e=xo();if(e?.accessToken)return e.accessToken;let t=process.env.WEBFLOW_WORKSPACE_API_TOKEN??process.env.WEBFLOW_SITE_API_TOKEN??null;return t&&!Tp&&(Tp=!0,d.warn(`${pr} WEBFLOW_SITE_API_TOKEN / WEBFLOW_WORKSPACE_API_TOKEN are deprecated. Please use WEBFLOW_API_TOKEN instead. Run 'webflow auth login --force' to update your .env file.`)),t}async function Y(e){if(e?.apiToken&&!e.force)return e.apiToken;if(!e?.force){let r=Eo();if(r)return r}if(oe())throw new g(`No API token found. To authenticate in CI/CD environments:
15
+ `),this.warnings.forEach((e,r)=>{console.log(`Warning ${r+1}:`),console.log(` Source: ${e.source}`),console.log(` Message: ${e.message}`),console.log(` Message length: ${e.message.length}`),console.log(` Timestamp: ${new Date(e.timestamp).toISOString()}`),e.stackTrace&&(console.log(" Stack (first 3 lines):"),e.stackTrace.split(`
16
+ `).slice(0,3).forEach(n=>{console.log(` ${n}`)})),console.log("")})}},dy=new ia,Et=dy});function Je(t){return t.replace(/\x1b\[[0-9;]*[a-zA-Z]/g,"")}function rf(t,e){if(!t)return e;let r=parseInt(t,10);return isNaN(r)||r<=0?e:r}function Nt(t){Vn.push(ut(t)),Vn.length>gy&&Vn.shift()}function nf(t){ca=t}function ef(t){return Nt(`DEBUG: ${t}`),t}function yy(t){return Nt(`INFO: ${t}`),t}function wy(t){return Nt(`WARN: ${t}`),t}function Dy(t,e){let r=t instanceof Error?t.stack||t.message:t,n=e?.prefix?`${e.prefix} `:"";Nt(`ERROR: ${n}${r}`),ua=!0;let o=t instanceof Error?t.message:String(t);return bt(`${n}${o}`)}function by(t){return Nt(`SUCCESS: ${t}`),M(t)}function xy(t){let e=Ls({text:`${t}...`,indent:1}).start(),r=!1,n=o=>i=>{if(Nt(`${vy[o]||"INFO"}: ${i||t}`),o==="fail"&&(ua=!0),o==="update"){e.text=i||t;return}r||(r=!0,e.stopAndPersist({symbol:Ey[o],text:S(i||t)}))};return{succeed:n("succeed"),fail:n("fail"),warn:n("warn"),info:n("info"),neutral:n("neutral"),update:n("update")}}function _y(){let t=zr.default.readdirSync(je).filter(e=>e.endsWith(".log")).map(e=>({name:e,time:zr.default.statSync(Uo.default.join(je,e)).mtime.getTime()})).sort((e,r)=>r.time-e.time);for(;t.length>=my;)try{let e=t.pop();if(!e)break;zr.default.removeSync(Uo.default.join(je,e.name))}catch{}}function fa(t){try{let e=process.argv.slice(2).join(" ");if(/^(log|library\s+log)(\s|$)/.test(e))return;zr.default.ensureDirSync(je),_y(),Vn.unshift(`CLI Version: ${vt()}`,`Node Version: ${process.version}`,`Platform: ${process.platform}`,`Architecture: ${process.arch}`,`Command: ${e||"N/A"}`,`Exit Code: ${t??0}`,`Memory Usage: ${Math.round(process.memoryUsage().heapUsed/1024/1024)}MB`,`Timestamp: ${new Date().toISOString()}`,...ca?[`Sync ID: ${ca}`]:[],"");let r=Vn.map(Je);zr.default.writeFileSync(la,r.join(`
17
+ `)),ua&&(console.info(`
18
+ ${E} ${S("An error occurred. See logs for more information:")}`),console.info(` ${Qs} Latest log: ${la}`),console.info(` ${Qs} All logs: ${je}`)),(process.env.DEBUG||process.argv.includes("--verbose"))&&(console.info(`
19
+ ${T} Command completed successfully. Logs written to:`),console.info(` ${Hr} Latest log: ${la}`),console.info(` ${Hr} All logs: ${je}`))}catch(e){console.error("Failed to write logs:",e)}}var zr,Uo,Mx,py,je,my,gy,hy,la,Vn,ua,ca,vy,Ey,qr,tf,Un,Cy,c,_=b(()=>{"use strict";zr=m(require("fs-extra")),Uo=m(require("path")),Mx=require("source-map-support/register");Ou();Iu();ju();ee();fe();aa();H();py=Vs("webflow-cli"),je=py.log;my=rf(process.env.MAX_PERSISTED_LOGS,50),gy=rf(process.env.MAX_IN_MEMORY_LOGS,1e3),hy=`${Rn(new Date().toISOString(),{replacement:"_"}).replace(/\./g,"_")}-debug.log`,la=Uo.default.join(je,hy);Vn=[],ua=!1;vy={succeed:"INFO",fail:"ERROR",warn:"WARN",info:"INFO",neutral:"INFO",update:"INFO"},Ey={succeed:T,fail:E,warn:Ee,info:ke,neutral:" ",update:void 0};qr=!1;process.on("uncaughtException",t=>{qr||(qr=!0,Nt(`UNCAUGHT EXCEPTION: ${t?.stack}`),fa(1)),Et.displayGrouped(),Et.stop(),process.exit(1)});process.on("unhandledRejection",t=>{qr||(qr=!0,Nt(`UNHANDLED REJECTION: ${t instanceof Error?t.stack:String(t)}`),fa(1)),Et.displayGrouped(),Et.stop(),process.exit(1)});process.on("exit",t=>{qr||(qr=!0,fa(t))});tf=!0,Un=t=>{let e=t.split(`
20
+ `).map(r=>r.length?` ${r}`:r).join(`
21
+ `);return tf?(tf=!1,`
22
+ `+e):e},Cy={debug:t=>{let e=ef(t);process.env.DEBUG&&console.debug(Un(e))},trace:t=>{let e=ef(t);process.env.DEBUG&&console.debug(e)},dir:t=>console.dir(t,{depth:100}),info:t=>console.info(Un(yy(t))),warn:t=>console.warn(Un(wy(t)),sa),error:(t,e)=>{console.error(Un(Dy(t,e)))},success:t=>console.log(Un(by(t))),spinner:xy},c=Cy});async function Jn(t){process.stdout.write(`
23
+ `);try{return await t()}catch(e){throw e instanceof Error&&$y.test(e.message)&&(c.debug(e.message),process.stdin.isTTY&&typeof process.stdin.setRawMode=="function"&&process.stdin.setRawMode(!1),process.exit(130)),e}}async function Te(t){return te()?t.default??!1:Jn(()=>Se.confirm({...t,theme:ky}))}async function Ne(t){if(te())return"default"in t?t.default:null;let e=t.choices.map(r=>{if(!r||typeof r!="object"||Se.Separator.isSeparator(r)||r.type==="separator")return r;let n=r.name??String(r.value??"");return{...r,name:` ${S(n)}`}});return Jn(()=>Se.select({...t,choices:e,theme:Ay}))}async function Ce(t){return te()?t.default!==void 0?await t.validate?.(t.default)!==!0?null:t.default:null:Jn(()=>Se.input({...t,theme:Sy}))}async function Ho(t){if(te()){let r=[];return await t.validate?.(r)!==!0?null:r}let e=t.choices.map(r=>{if(!r||typeof r!="object"||r.type==="separator"||Se.Separator.isSeparator(r))return r;let n=r.name??String(r.value??"");return{...r,name:` ${S(n)}`}});return Jn(()=>Se.checkbox({...t,choices:e,theme:Oy}))}async function Jo(t){if(te())return"default"in t?t.default:null;let e=async(r,n)=>(await t.source(r,n)).map(i=>!i||typeof i!="object"||Se.Separator.isSeparator(i)?i:{...i,name:` ${S(i.name??"")}`});return Jn(()=>Se.search({...t,source:e,theme:Iy}))}var Se,ky,Sy,Hn,af,ma,ga,lf,Ty,Ay,Oy,Iy,$y,Be=b(()=>{"use strict";Se=m(require("@inquirer/prompts"));Fe();_();fe();ky={prefix:` ${le("?")}`,style:{message:(t,e)=>e==="done"?`${Z(t)}
24
+ `:`${Z(t)}
25
+ `,answer:t=>` ${S(t)}`}},Sy={prefix:` ${le("?")}`,style:{message:t=>`${Z(t)}
26
+ `,answer:t=>S(t)}},Hn=2,af=1,ma=(t,e)=>e==="done"?`${Z(t)}
27
+ `:Z(t),ga=t=>` ${S(Je(t).trim())}`,lf=t=>{let e=Je(t),r=e.slice(0,Hn),n=e.slice(Hn+1+af);return le(`${r} ${n}`)},Ty=t=>{let e=Je(t),r=e.slice(0,Hn),n=e[Hn+2],o=e.slice(Hn+3+af);return le(`${r} ${n} ${o}`)},Ay={prefix:` ${le("?")}`,style:{message:ma,answer:ga,highlight:lf,keysHelpTip:t=>` ${t.map(([e,r])=>`${S(e)} ${S(r)}`).join(" ")}`},icon:{cursor:` ${le("\u23F5")}`}},Oy={prefix:` ${le("?")}`,style:{message:ma,answer:ga,highlight:Ty,keysHelpTip:t=>` ${t.map(([e,r])=>`${S(e)} ${S(r)}`).join(" ")}`},icon:{cursor:` ${le("\u23F5")}`,checked:` ${M("\u25C9")}`,unchecked:` ${S("\u25EF")}`}},Iy={prefix:` ${le("?")}`,style:{message:ma,answer:ga,highlight:lf,searchTerm:t=>le(t)},icon:{cursor:` ${le("\u23F5")}`}},$y=/SIGINT/i});function xt({apiToken:t,siteId:e,directory:r}){let n=zn.resolve(r?zn.join(r,".env"):zn.join(process.cwd(),".env"));r&&!fr.existsSync(r)&&fr.mkdirSync(r,{recursive:!0}),fr.existsSync(n)||fr.writeFileSync(n,`# automatically generated at ${new Date().toISOString()}`,{encoding:"utf8"}),Go.default.config({path:n,quiet:!0}),t&&Go.default.set("WEBFLOW_API_TOKEN",t,{path:n,encrypt:!1}),e&&Go.default.set("WEBFLOW_SITE_ID",e,{path:n,encrypt:!1})}var fr,zn,Go,mf=b(()=>{"use strict";fr=m(require("fs")),zn=m(require("path")),Go=m(require("@dotenvx/dotenvx"))});var d,$=b(()=>{"use strict";d=class t extends Error{prefix;skipLogging;isUserError;constructor(e,r){let n=e instanceof Error?e.message:String(e);super(n),this.name="CLIError",this.prefix=r?.prefix,this.skipLogging=r?.skipLogging??!1,this.isUserError=r?.isUserError??(e instanceof t?e.isUserError:!1),e instanceof Error?(this.cause=e,this.stack=e.stack):Error.captureStackTrace&&Error.captureStackTrace(this,t)}}});function Lt(){let t=Ny();return dr.default.join(t,jy)}function Ny(){if(process.platform==="win32"){let r=process.env.APPDATA??dr.default.join(ya.default.homedir(),"AppData","Roaming");return dr.default.join(r,"webflow")}let e=process.env.XDG_CONFIG_HOME??dr.default.join(ya.default.homedir(),".config");return dr.default.join(e,"webflow")}function qn(){let t=Lt();try{if(!Mt.default.existsSync(t))return null;let e=Mt.default.readFileSync(t,"utf8");return JSON.parse(e)}catch{return null}}function wa(t){let e=Lt(),r=dr.default.dirname(e);Mt.default.existsSync(r)||Mt.default.mkdirSync(r,{recursive:!0,mode:448}),Mt.default.writeFileSync(e,JSON.stringify(t,null,2),{encoding:"utf8",mode:384})}function Da(){let t=Lt();try{Mt.default.existsSync(t)&&Mt.default.unlinkSync(t)}catch{}}var Mt,ya,dr,jy,ba=b(()=>{"use strict";Mt=m(require("fs")),ya=m(require("os")),dr=m(require("path")),jy="auth.json"});var Kn,va=b(()=>{"use strict";ie();Kn={serverUrl:Jr,timeoutMs:5*60*1e3}});var gf,hf,yf,wf,By,Df,My,bf,vf=b(()=>{"use strict";gf=require("crypto"),hf=m(require("open"));va();_();ft();yf=t=>{let e=new Uint8Array(t);return gf.webcrypto.getRandomValues(e),Array.from(e,r=>r.toString(16).padStart(2,"0")).join("")},wf=({pollId:t,clientId:e,scope:r})=>`${Kn.serverUrl}/oauth/webflow/initiate?pollId=${t}&clientId=${e}&scope=${encodeURIComponent(r.join(" "))}`,By=t=>`${Kn.serverUrl}/oauth/webflow/poll?pollId=${t}`,Df=async t=>{let e=c.spinner("Browser opened for authentication");try{await new Promise(r=>setTimeout(r,3e3)),await(0,hf.default)(t),e.succeed()}catch{e.fail(),c.warn(`Could not automatically open browser. Please open this URL manually: ${t}`)}},My=async t=>{let e=By(t),r=await q(e);if(!r.ok){let n=`Failed to poll for authentication status (${r.status})`;try{let o=await r.json();o&&o.error&&(n+=`: ${o.error}`)}catch{}throw new Error(n)}return r.json()},bf=(t,e)=>{let r=c.spinner("Waiting");return new Promise((n,o)=>{let i=setTimeout(()=>{clearTimeout(i),clearInterval(s),o(new Error("Authentication timed out. Please try again."))},e),s=setInterval(async()=>{try{let a=await My(t);a.status==="success"&&a.accessToken?(clearTimeout(i),clearInterval(s),r.succeed("Authentication successful! You can close the browser window."),n(a.accessToken)):a.status==="error"&&(clearTimeout(i),clearInterval(s),r.fail("Authentication failed"),o(new Error(a.error||"Authentication failed")))}catch(a){clearTimeout(i),clearInterval(s),r.fail("Authentication failed"),o(a instanceof Error?a:new Error(String(a)))}},2e3)})}});function Zn(){if(process.env.WEBFLOW_API_TOKEN)return process.env.WEBFLOW_API_TOKEN;let t=qn();if(t?.accessToken)return t.accessToken;let e=process.env.WEBFLOW_WORKSPACE_API_TOKEN??process.env.WEBFLOW_SITE_API_TOKEN??null;return e&&!Ef&&(Ef=!0,c.warn(`${Ee} WEBFLOW_SITE_API_TOKEN / WEBFLOW_WORKSPACE_API_TOKEN are deprecated. Please use WEBFLOW_API_TOKEN instead. Run ${M("webflow auth login --force")} to update your .env file.`)),e}async function R(t){if(t?.apiToken&&!t.force)return t.apiToken;if(!t?.force){let n=Zn();if(n)return n}if(te())throw new d(`No API token found. To authenticate in CI/CD environments:
20
28
  1. Generate a Workspace API token in your Webflow Dashboard > Apps & Integrations > Manage > Workspace API Token
21
- 2. Set it as the WEBFLOW_API_TOKEN environment variable in your CI/CD pipeline`);let t=Ep(16),n=rk();try{let r=Fp({pollId:t,clientId:n,scope:gl});await Sp(r);let o=await _p(t,Co.timeoutMs);return dl({accessToken:o,scopes:gl,createdAt:new Date().toISOString()}),d.info(`${ee} Credentials saved: ${Kt()}`),o}catch(r){throw new g(r)}}function rk(){return"fbab9abdbeeb35bb2554a1b83b8bd060d719f22eca26ff9119b87608c87c0074"}var gl,Tp,hl=O(()=>{"use strict";Oe();J();Ce();te();fl();ml();Ap();gl=["assets:read","assets:write","authorized_user:read","cloud_apps:write","cms:read","cms:write","code_components:read","code_components:write","devlink_export:read","forms:read","sites:read","sites:write","workspace:read"],Tp=!1});function ok(){return!1}function Fo(e){if(e.siteId)return e.siteId;let t=process.env.WEBFLOW_SITE_ID;return t?(ok()||(se({siteId:t}),e.siteId=t),t):null}async function yl(e){try{let n=await new Op.WebflowClient({accessToken:e,environment:{base:`${I}/v2`,dataApi:`${I}/v2`,contentDeliveryApi:`${xi}/v2`}}).sites.list();if(!n||typeof n!="object"||!n.sites||!Array.isArray(n.sites))throw new g("Invalid response from Webflow API");let r=n.sites.map(o=>({id:o.id,displayName:o.displayName??"",shortName:o.shortName||(o.displayName??"").toLowerCase().replace(/\s+/g,"-"),lastUpdated:o.lastUpdated??null}));return r.sort((o,i)=>o.displayName.localeCompare(i.displayName)),r}catch(t){throw new g(t,{prefix:`Failed to fetch Webflow sites. Please check your authorization.
22
- `})}}async function wl(e){let t=e.map(r=>({name:`${r.displayName} (${r.shortName})`,value:r})),n=await Si({message:"Search for a Webflow site:",source:r=>{if(!r)return t;let o=r.toLowerCase();return t.filter(i=>i.value.displayName.toLowerCase().includes(o)||i.value.shortName.toLowerCase().includes(o))},pageSize:15});if(!n){if(e.length===0)throw new g("No sites available for selection");return d.warn(`Auto fallback to first site: ${e[0].displayName}`),e[0]}return n}var Op,Ai=O(()=>{"use strict";Op=require("webflow-api");Me();J();ke();le();le();te()});async function be(e,t){let n=t?.site??Fo(e);if(oe()&&!n)throw new g(`No site ID configured for this project.
23
- Run 'webflow auth login' locally to authenticate and associate this project with a Webflow site,
24
- or provide --site and --api-token when running a CLI command`);let r=await Y({apiToken:t?.apiToken,force:t?.force});if(!n||t?.force){let o=await yl(r);if(o.length===0)throw new g("No Webflow sites found in your account. Please make sure you have at least one authorized site in your Webflow account");let i=o.length>1?await wl(o):o[0];n=i.id;let s=se({siteId:n});return e.siteId=s.siteId,{siteId:n,siteName:i.displayName,accessToken:r}}return{siteId:n,accessToken:r}}var Pp=O(()=>{"use strict";ke();Oe();hl();Ai();te()});async function bl(e){let t=new Ip.WebflowClient({accessToken:e,environment:{base:`${I}/v2`,dataApi:`${I}/v2`}});try{return await t.token.authorizedBy()}catch{return null}}var Ip,jp=O(()=>{"use strict";Ip=require("webflow-api");le()});var We=O(()=>{"use strict";kp();hl();Pp();Ai();Ai();fl();jp()});function hk(e,t){if(e.includes("..")||at.isAbsolute(e))throw new Error(`Invalid file path: "${e}" - path traversal not allowed`);let n=at.resolve(t,e),r=at.resolve(t);if(!n.startsWith(r+at.sep)&&n!==r)throw new Error(`Invalid file path: "${e}" - resolves outside root directory`)}async function Wi(e,t,n){let r=at.join(process.cwd(),t);n&&(0,Xt.existsSync)(r)&&await(0,Mi.rm)(r,{recursive:!0,force:!0}),(0,Xt.existsSync)(r)||await(0,Mi.mkdir)(r);for(let o of e){hk(o.path,r);let i=yk(r,o.path);if(o.path.includes("/")){let s=o.path.substring(0,o.path.lastIndexOf("/"));wk(r,s)}(0,Xt.writeFileSync)(i,o.content,{flag:"w+"})}}function yk(e,t){return at.join(e,...t.split("/"))}function wk(e,t){let n=t.split("/"),r=e;for(let o of n)r=at.join(r,o),(0,Xt.existsSync)(r)||(0,Xt.mkdirSync)(r)}var Xt,Mi,at,Tl=O(()=>{"use strict";Xt=require("fs"),Mi=require("fs/promises"),at=w(require("path"))});function gs(e){for(let t of e??[]){let n=d[t.status]??d.info,r=gS[t.status]??At;n(`
25
- ${r} ${t.content}`)}}var gS,Rc=O(()=>{"use strict";J();Ce();gS={info:At,warn:pr,success:ee}});function Bc(e){let{manifestPath:t}=Q();return(0,Lh.writeFileSync)(t,JSON.stringify(e,null,2),"utf-8"),e}var Lh,Mh=O(()=>{"use strict";Lh=require("fs");vi()});function hs(e,t){try{let n=Nc(),r=Lc(Object.values(e)),o=t?.force;return r&&n&&!o}catch{return!1}}var Wh,Uh,Nc,Lc,ys=O(()=>{"use strict";Wh=require("path"),Uh=require("fs-extra");Nc=()=>{try{return(0,Uh.existsSync)((0,Wh.join)(process.cwd(),"tsconfig.json"))}catch{return!1}},Lc=e=>e.some(t=>t.endsWith(".ts")||t.endsWith(".tsx"))});function hS(e){let{export:t,...n}=e;return t?n["devlink-export"]!=null?(Bc(n),n):(d.warn(`${pr} The 'export' key in webflow.json is deprecated. Use 'devlink-export' instead. Your configuration will be migrated automatically.`),n["devlink-export"]={...t},Bc(n),n):n}function Jh(e,t){try{new RegExp(e)}catch{throw new g(`Invalid '${t}' regex '${e}' in webflow.json. Fix the value and re-run the export.`,{isUserError:!0})}}async function Gh(e){e=hS(e);let t=e["devlink-export"]||{},n=!1,r=t.rootDir;r||(oe()?r=zh:(n=!0,r=await Te({message:"Enter the root directory for exported components:",default:zh,validate:u=>!u||u.trim()===""?"Root directory is required":!0})));let o=t.ts;o===void 0&&(bS()?o=!0:oe()?o=!1:(n=!0,o=await Ae({message:"Use TypeScript?",default:!0})));let i=t.cssScopes;i===void 0&&(oe()?i=Vh:(n=!0,i=await Ae({message:"Use DevLink style isolation (scoped wrapper + @scope)?",default:Vh}))),t.components&&Jh(t.components,"components"),t.componentGroups&&Jh(t.componentGroups,"componentGroups");let s=t.components,a=t.componentGroups;!s&&!a&&(oe()?(s=ws,a=bs):(n=!0,await Ae({message:"Do you want to export all components?",default:!0})?(s=ws,a=bs):(s=await Te({message:"Enter regex pattern to filter components (e.g., 'Button|Card' for specific):",default:ws,validate:p=>{try{return new RegExp(p),!0}catch{return"Invalid regex pattern. Please enter a valid regular expression."}}}),a=await Te({message:"Enter regex pattern to filter component groups (e.g., 'mygroup'):",default:bs,validate:p=>{try{return new RegExp(p),!0}catch{return"Invalid regex pattern. Please enter a valid regular expression."}}})))),s=s||ws,a=a||bs;let l=t.relativeHrefRoot;l===void 0&&(l=yS);let c={...t,rootDir:r,components:s,componentGroups:a,ts:o,cssScopes:i,relativeHrefRoot:l};return(!t.rootDir||t.ts===void 0||t.cssScopes===void 0||!t.components||!t.componentGroups||t.relativeHrefRoot===void 0)&&wS(c),{config:c,wasPrompted:n}}function wS(e){se({"devlink-export":{...e}})}function bS(){try{let e=process.cwd();if(Nc())return!0;let t=["src","app","pages","components"];for(let n of t){let r=qh.join(e,n);if(Ds.existsSync(r)&&Lc(Ds.readdirSync(r)))return!0}}catch{}return!1}var Ds,qh,zh,ws,bs,Vh,yS,Hh=O(()=>{"use strict";Ds=w(require("fs")),qh=w(require("path"));Me();Oe();J();Ce();te();qa();Mh();ys();zh="./webflow",ws=".*",bs=".*",Vh=!0,yS="/"});async function Yh(e){if(e.ok)return;let t=await e.text().catch(()=>"");d.debug(`Server error response (HTTP ${e.status}): ${t||"<empty>"}`);let n;try{n=JSON.parse(t).message}catch{}throw new Mo(n||`Request failed (HTTP ${e.status}).`)}async function Wc(e,t,n,r){let o=await DS(n,r,t,e);if(!o.files||!Array.isArray(o.files))throw new g("Invalid response format from V2 API: expected 'files' array");return{files:o.files,messages:o.messages,metadata:o.metadata}}async function DS(e,t,n,r){let{taskId:o,polling:i}=await vS(e,t,n,r);return kS(e,t,n,o,i)}async function vS(e,t,n,r){let o=await(0,Mc.default)(`${I}/v2/devlink/${e}/export`,{method:"POST",headers:{Authorization:`Bearer ${n}`,"Content-Type":"application/json",[Kh]:t},body:JSON.stringify(r),timeout:6e4});return o.ok||await Yh(o),await o.json()}async function kS(e,t,n,r,o){let{initialDelayMs:i,maxBackoffMs:s,backoffMultiplier:a,timeoutMs:l}=o,c=Date.now()+l,u=i;do{let p=await(0,Mc.default)(`${I}/v2/devlink/${e}/export/${r}`,{headers:{Authorization:`Bearer ${n}`,[Kh]:t},timeout:6e4});p.ok||await Yh(p);let f=await p.json();if(f.status==="finished")return f.result;if(f.status==="failed")throw new Mo("The export task failed. Please try again or report a bug.");await(0,Zh.setTimeout)(u),u=Math.min(u*a,s)}while(Date.now()<c);throw new Mo(`Export task timed out after ${l}ms. Please try again.`)}var Mc,Zh,Kh,Mo,Xh=O(()=>{"use strict";Mc=w(require("node-fetch")),Zh=require("timers/promises");J();le();te();Kh="X-WF-Sync-Id",Mo=class extends Error{}});var Qh,ey=O(()=>{"use strict";Me();J();Qh=async(e,t)=>{if(!t)return;await Ae({message:`Ready to export components to ${e.rootDir}?`,default:!0})||(d.info("Export cancelled."),process.exit(0))}});function ty(e,t,n){let i=new Intl.PluralRules("en-US").select(e)==="one"&&e===1?t:n||`${t}s`;return`${e} ${i}`}var ny=O(()=>{"use strict"});async function vs(e){let t=Date.now(),n;try{let{manifest:r}=Q(),{siteId:o,accessToken:i}=await be(r,e),s=(0,ry.randomUUID)();mp(s);let{config:a,wasPrompted:l}=await Gh(r);d.info(`${ee} Export configuration loaded!`),await Qh(a,l);let c=G.forExport({authToken:i,siteId:o});n=d.spinner("Exporting components"),await c.sendUsage("devlink_export_start",{cssScopes:a.cssScopes,ts:a.ts,relativeHrefRoot:a.relativeHrefRoot});try{let{files:u,messages:p,metadata:f}=await Wc(a,i,o,s),m=f.exportCoverage==="full";await Wi(u,a.rootDir,m),n.succeed(`${ty(f.componentCount,"component")} exported to ${a.rootDir}`),gs(p);let h=Date.now()-t;await c.sendUsage("devlink_export_success",{duration:h,cssScopes:a.cssScopes,ts:a.ts,relativeHrefRoot:a.relativeHrefRoot})}catch(u){let p=u instanceof Error?u.message:String(u);throw n.fail(`Components export failed: ${p}`),await c.sendError(u instanceof Error?u:new Error(String(u)),"devlink_export_failure",{cssScopes:a.cssScopes,ts:a.ts}),u}}catch(r){let o="Export failed: "+(r instanceof Error?r.message:r);throw n?n.fail(o):d.error(o,{prefix:`
26
- `+N}),new g(r,{skipLogging:!0})}}var ry,oy=O(()=>{"use strict";ry=require("crypto");Hh();Xh();ey();Be();We();ke();ny();J();te();Tl();Ce();Rc()});var iy={};Qu(iy,{exportComponents:()=>vs});var Uc=O(()=>{"use strict";oy()});var ed=Symbol.for("@webflow/webflow-cli/suppress-deprecation");function zD(e){if(typeof e!="object"||e===null)return!1;let t=e;return t.code==="DEP0040"&&typeof t.message=="string"&&t.message.includes("punycode")}function VD(e=process){if(e[ed])return;e[ed]=!0;let t=e.emit;e.emit=function(r,...o){return r==="warning"&&zD(o[0])?!1:t.call(this,r,...o)}}VD();var RD=require("commander");J();var gp=require("child_process"),hp=require("fs"),al=w(require("semver"));J();var ll="@webflow/webflow-cli",xn="@webflow/data-types",Ei="@webflow/react",Zv=[ll,xn,Ei],Cn=class{getInstalledDependencies(){try{let t=(0,gp.execSync)(`npm ls ${Zv.join(" ")} --depth=0 --json --silent`,{encoding:"utf-8"}),n=JSON.parse(t);return n.dependencies?Object.entries(n.dependencies).reduce((r,[o,{version:i}])=>(r[o]=i,r),{}):{}}catch(t){return d.debug(`Failed to get installed dependencies: ${t}`),{}}}getRequiredDependencies(t){let n=JSON.parse((0,hp.readFileSync)(require.resolve(`${t}/package.json`),"utf8"));return{...n.dependencies,...n.devDependencies}}checkCLIAndDataTypes(t){let n=t[xn];if(!n)return;let o=this.getRequiredDependencies(ll)[xn];if(!al.default.satisfies(n,o))throw new Error(`Version mismatch: ${ll} requires ${xn} v${o} but found v${n}`)}checkReactAndDataTypes(t){let n=t[xn],r=t[Ei];if(!(!n||!r)&&!al.default.eq(n,r))throw new Error(`Version mismatch: ${Ei} and ${xn} must be on the same version. Found ${Ei}@${r} and ${xn}@${n}`)}run(){let t=this.getInstalledDependencies();this.checkCLIAndDataTypes(t),this.checkReactAndDataTypes(t)}};var Dp=require("fs-extra");Me();var vp=require("@dotenvx/dotenvx"),En=w(require("semver"));J();var yp=require("child_process"),wp=require("util"),Yv=(0,wp.promisify)(yp.exec);async function Ht(e,t){try{let{stdout:n,stderr:r}=await Yv(e,t);return{stdout:n.toString().trim(),stderr:r.toString().trim(),code:0}}catch(n){let r=n;return{stdout:r.stdout??"",stderr:r.stderr??String(r.message??""),code:r.code??1}}}Oe();var cl=w(ki());(0,vp.config)({quiet:!0,ignore:["MISSING_ENV_FILE"]});var bp={npm:{updateCommand:"npm install",update:async e=>await Ht(`npm install ${e}`),getOutdated:async e=>{let{stdout:t}=await Ht(`npm outdated --json ${e}`);return JSON.parse(t)},lockFile:"package-lock.json",globalFlag:"--global",supported:!0},pnpm:{updateCommand:"pnpm add",update:async e=>await Ht(`pnpm add ${e}`),getOutdated:async e=>{let{stdout:t}=await Ht(`pnpm outdated --json ${e}`);return JSON.parse(t)},lockFile:"pnpm-lock.yaml",globalFlag:"--global",supported:!0},yarn:{lockFile:"yarn.lock",globalFlag:"",updateCommand:"",getOutdated:async()=>({}),update:async()=>({stdout:"",stderr:"",code:0}),supported:!1}},Xv=["@webflow/webflow-cli","@webflow/data-types","@webflow/react","@webflow/emotion-utils","@webflow/styled-components-utils"],vo=class{packageManager;constructor(){this.packageManager=this.getPackagerManagerInfo()}getPackagerManagerInfo(){for(let[,t]of Object.entries(bp))if((0,Dp.existsSync)(t.lockFile))return t;return bp.npm}async listOutdatedPackages(t="local",n=Xv){let{getOutdated:r,globalFlag:o}=this.packageManager,i=await r(`${t==="global"?o:""} ${n?.join(" ")}`);return Object.fromEntries(Object.entries(i).map(([s,a])=>Array.isArray(a)?[s,{current:a[0].current,latest:a[0].latest,installationType:t}]:[s,{current:a.current,latest:a.latest,installationType:t}]))}async getOutdatedPackages(){let t=await this.listOutdatedPackages();if(t["@webflow/webflow-cli"])return t;let n=await this.listOutdatedPackages("global",["@webflow/webflow-cli"]);return{...t,...n}}async showUpdatePrompt(t){if(Object.keys(t).length>1){let r=await Fi({message:"New versions of the following @webflow packages are available. Would you like to update?",choices:Object.entries(t).map(([o,{current:i,latest:s}])=>({name:`${o} (${i} \u2192 ${s})`,value:o}))});return r??[]}else{let[[r,{current:o,latest:i}]]=Object.entries(t);return await Ae({message:`A new version of ${r} (${o} \u2192 ${i}) is available. Would you like to update?`,default:!1})?[r]:[]}}showUpdateSuggestions(t){let n=Object.keys(t).length>1,{updateCommand:r,globalFlag:o}=this.packageManager;if(n){console.log(`
27
- New versions of the following @webflow packages are available:`),Object.entries(t).forEach(([a,{current:l,latest:c}])=>{console.log(` ${a} (${l} \u2192 ${c})`)});let i=Object.entries(t).filter(([,{installationType:a}])=>a==="local").map(([a])=>`${a}@latest`),s=Object.entries(t).filter(([,{installationType:a}])=>a==="global").map(([a])=>`${a}@latest`);console.log(`
28
- To update, run:`),i.length>0&&console.log(` ${r} ${i.join(" ")}`),s.length>0&&console.log(` ${r} ${o} ${s.join(" ")}`)}else{let[[i,{current:s,latest:a,installationType:l}]]=Object.entries(t);console.log(`
29
- A new version of ${i} (${s} \u2192 ${a}) is available.`);let c=l==="global"?` ${o}`:"";console.log(`To update, run: ${r}${c} ${i}@latest`)}}shouldSkipUpdateChecks(){return!this.packageManager.supported||process.env.WEBFLOW_SKIP_UPDATE_CHECKS==="true"}getDistTag(){let t=En.prerelease(cl.default.version);return t&&t.length>0&&typeof t[0]=="string"?t[0]:"latest"}async promptPrerelease(t){let n;try{n=d.spinner("Checking for updates (to disable, use --skip-update-check)");let{stdout:r,code:o}=await Ht(`npm view @webflow/webflow-cli@${t} version`);if(o!==0||!r.trim()){n.succeed("Up to date");return}let i=r.trim(),s=cl.default.version;if(!En.valid(i)||!En.valid(s)){n.succeed("Up to date");return}if(!En.gt(i,s)){n.succeed("All @webflow packages are up to date");return}if(n.succeed(),!process.stdin.isTTY||oe()){console.log(`
30
- A new version of @webflow/webflow-cli@${t} is available.`);let{code:p}=await Ht("npm ls @webflow/webflow-cli --json"),m=(p===0?"local":"global")==="global"?" --global":"";console.log(`To update, run: ${this.packageManager.updateCommand}${m} @webflow/webflow-cli@${t}`);return}let{code:l}=await Ht("npm ls @webflow/webflow-cli --json"),c=l===0?"local":"global";if(await Ae({message:`A new version of @webflow/webflow-cli@${t} is available. Would you like to update?`,default:!1})){n=d.spinner("Updating");let p=c==="global"?` ${this.packageManager.globalFlag}`:"";try{await this.packageManager.update(`${p} @webflow/webflow-cli@${t}`),n.succeed("Updated successfully")}catch{let m=c==="global"?` ${this.packageManager.globalFlag}`:"";n.fail(`Update failed. Manually run: ${this.packageManager.updateCommand}${m} @webflow/webflow-cli@${t}`)}}}catch(r){n?.fail("Failed to check for updates"),d.debug(String(r))}}async prompt(){if(this.shouldSkipUpdateChecks())return;let t=this.getDistTag();if(t!=="latest")return this.promptPrerelease(t);let n;try{n=d.spinner("Checking for updates (to disable, use --skip-update-check)");let r=await this.getOutdatedPackages();if(!(Object.keys(r).length>0)){n.succeed("All @webflow packages are up to date");return}if(n.succeed(),!process.stdin.isTTY||oe()){this.showUpdateSuggestions(r);return}let s=await this.showUpdatePrompt(r);if(s.length>0){n=d.spinner("Updating");let{local:a,global:l}=s.reduce((f,m)=>(f[r[m].installationType==="global"?"global":"local"].push(m),f),{local:[],global:[]}),{update:c,globalFlag:u,updateCommand:p}=this.packageManager;try{a.length>0&&await c(`${a.map(f=>`${f}@latest`).join(" ")}`),l.length>0&&await c(`${u} ${l.map(f=>`${f}@latest`).join(" ")}`),n.succeed("Updated successfully")}catch{n.fail(`Update failed. Manually run: ${p} ${s.map(m=>`${m}@latest`).join(" ")}`)}}}catch(r){n?.fail("Failed to check for updates"),d.debug(String(r))}}};Oe();nl();Qa();Me();Be();We();Oe();ke();J();te();Ce();var $p=e=>{let t=e.command("auth").description("Authentication and configuration commands");t.command("login").description("Authenticate with Webflow and save credentials to .env file").option("-f, --force","Force reauthentication even if credentials exist").action(async n=>{if(oe()){d.info(`${N} No-input mode enabled. Aborting OAuth authentication`);return}let{manifest:r}=Q();if(!n.force&&Eo()){let i=Fo(r);d.info(`${ee} Webflow credentials already exist:`),i&&d.info(` Site ID: ${i}`),d.info(" API Token: [hidden]"),d.info(`
31
- Use --force flag to reauthenticate anyway`);return}try{let o=await Y({force:n.force});Ot({apiToken:o}),d.info(`
32
- You can now use other Webflow CLI commands that require authentication`)}catch(o){throw new g(o,{prefix:`${N} Authentication failed:`})}}),t.command("status").description("Show current authentication status").action(async()=>{let n=xo(),r=n?.accessToken??Eo();if(!r){d.info(`${N} Not logged in. Run 'webflow auth login' to authenticate.`),process.exitCode=1;return}try{let o=await bl(r);if(!o){d.info(`${N} Token is invalid or expired. Run 'webflow auth login --force' to reauthenticate.`),process.exitCode=1;return}d.info(`${ee} Logged in as ${o.firstName} ${o.lastName} (${o.email})`),n?.scopes?.length&&d.info(` Scopes: ${n.scopes.join(", ")}`),d.info(` Session: ${Kt()}`)}catch(o){throw new g(o,{prefix:`${N} Failed to fetch auth status:`})}}),t.command("logout").description("Log out and remove stored credentials").action(async()=>{pl(),d.info(`${ee} Logged out. Session file removed.`),d.info(" Run 'webflow auth login' to authenticate again.")}),t.command("telemetry").description("Manage telemetry settings for all Webflow CLI commands").option("--enable","Enable telemetry for all commands").option("--disable","Disable telemetry for all commands").option("--status","Show current telemetry status").action(async n=>{let r=qt.getInstance();if(n.status){let s=await r.getTelemetryStatus();d.info(Rp(s.enabled));return}if(n.enable){await r.setGlobalPreference(!0),d.info(Dl(!0));return}if(n.disable){await r.setGlobalPreference(!1),d.info(Dl(!1));return}let o=await r.getTelemetryStatus();if(d.info(Rp(o.enabled)),oe()){d.info("\u{1F4A1} When --no-input mode is enabled please provide --enable or --disable option");return}let i=await Le({message:"What would you like to do?",choices:[{name:"Enable telemetry for all commands",value:"enable"},{name:"Disable telemetry for all commands",value:"disable"},{name:"Cancel",value:"cancel"}]});if(i==="enable"||i==="disable"){let s=i==="enable";await r.setGlobalPreference(s),d.info(Dl(s))}})},Dl=e=>`${ee} Telemetry ${e?"enabled":"disabled"} for all Webflow CLI commands`,Rp=e=>`${At} Telemetry status: ${e?`enabled ${ee}`:`disabled ${N}`}`;var rf=w(require("http")),of=w(require("node-fetch")),sf=w(require("serve-handler")),af=require("fs"),lf=w(require("path")),cf=require("commander");var Np=w(require("archiver")),kl=require("commander"),Pi=require("fs");var Bp=require("cosmiconfig"),vl=require("commander"),Ti=async(e,t)=>{let n=await ik(t),r=n.config.apiVersion;return r&&typeof r!="string"&&vl.program.error('Error: The apiVersion field in webflow.json must be a string (i.e. "apiVersion": "2").'),{filepath:n.filepath,config:{publicDir:e,...n.config}}},ik=async e=>{let n=await(0,Bp.cosmiconfig)("webflow",{searchPlaces:[e]}).search();return n||vl.program.error(`No ${e} file was found. Run this command within your extension folder.`),n};var Lp=w(require("mime-types")),Oi=w(require("path")),sk=5*1024*1024,ak=new Set(["application/javascript","application/json","application/xml","image/png","image/jpeg","image/gif","image/svg+xml","image/webp","image/vnd.microsoft.icon","image/x-icon","video/webm","font/ttf","font/otf","font/woff","font/woff2","text/plain","text/markdown","text/html","text/css"]),Mp=async(e,t,n)=>{let{config:r,filepath:o}=await Ti(e,t),i=Oi.join(o,".."),s=!0,a=!1,l=u=>{let p=u.name,f=Lp.default.lookup(p);return p==="index.html"&&(a=!0),p&&p.endsWith(".DS_Store")||!f?!1:ak.has(f)?u:(console.log(`Invalid file type: ${f} for file: ${p}`),s=!1,!1)},c=u=>{(0,Pi.unlink)(n,p=>{p&&console.error(`Failed to delete file: ${p}`),kl.program.error(u)})};return console.log(`Packaging the contents of the ${r.publicDir} folder into ${n}...`),new Promise(u=>{let p=(0,Np.default)("zip",{zlib:{level:9}}),f=(0,Pi.createWriteStream)(Oi.join(i,n));f.on("close",()=>{u(void 0)}),p.directory(Oi.join(i,r.publicDir),!1,l),p.file(o,{name:t}),p.pipe(f),p.finalize(),p.on("warning",m=>{console.log(m)}),p.on("error",m=>{kl.program.error(m.message)}),p.on("finish",()=>{if(!a){c("Could not find index.html in your `publicDir`, all Designer Extension code needs to be inside of `publicDir`");return}if(!s){c("Bundling failed due to invalid file types");return}if(!p.pointer()||p.pointer()===0){c("Bundling failed with no output");return}if(p.pointer()>=sk){c("Bundling failed due to the bundle exceeding 5MB");return}console.log(`${p.pointer()} total bytes written`),console.log(`Done! ${n} is ready for you to upload to your Webflow app.`)})})};var So=w(require("path")),wt=w(require("fs/promises")),Ri=w(require("fs")),Up=require("url"),tI=require("dotenv/config"),zp=["js","cjs","json"],El=process.cwd(),Vp=".webflowrc",It=So.extname(Ri.readdirSync(El).find(e=>e.includes(Vp))??"").replace(/\./g,""),Pt=So.join(El,`${Vp}${It&&`.${It}`}`),Jp=Ri.existsSync(Pt),xl=class extends Error{constructor(){super(`Missing extension for .webflowrc file. The supported extensions are: ${zp.join(", ")}`)}},Ii=class extends Error{constructor(){super(`Unsupported extension for .webflowrc: ${It}. The supported extensions are: ${zp.join(", ")}`)}},ji=class extends Error{constructor(t){let n=t.includes(".webflowrc"),r=t.includes("webflow.json"),o;n?o=`It seems like you don't have a .webflowrc file in your project (${t}). Make sure there is a .webflowrc file in your project root.`:r?o=`It seems like you don't have a webflow.json file in your project (${t}). Make sure there is a webflow.json file in your project root.`:o=`It seems like you don't have a config file in your project (${t}). Make sure there is a config file in your project root.`,super(o)}},Cl=class extends Error{constructor(t){super(`The following required fields are missing or undefined in your .webflowrc file: ${t}. If you're using process.env variables, make sure they're set up correctly.`)}};async function lk(e){return(await import(process.platform==="win32"&&e?.match(/[a-zA-Z]:[\\\/]/)?(0,Up.pathToFileURL)(e).href:e)).default}function Wp(e,t){let n=t.filter(r=>!e[r]);if(n.length)throw new Cl(n.join(", "))}async function yr(e=[],t=!1){if(!Jp){if(t)return{};throw new ji(Pt)}if(!It)throw new xl;switch(It){case"js":case"cjs":{await wt.access(Pt);let n=await lk(Pt);return Wp(n,e),n}case"json":{let n=JSON.parse(await wt.readFile(Pt,"utf8"));return Wp(n,e),n}default:throw new Ii}}function ck(e,t){if(It==="js"||It==="cjs"){let r=new RegExp(`${t}: process.env.([\\w]+),`,"gi").exec(e);if(r)return r[1]}}function uk(e,t,n){let r=ck(t,n);if(r){let o=new RegExp(`${n}: ".*?",`,"g");return e.replace(o,`${n}: process.env.${r},`)}return e}async function dk(e){let t=["authToken","host","siteId"],n=await wt.readFile(Pt,"utf-8");for(let r of t)e=uk(e,n,r);return e}async function pk(){try{let e=So.join(El,"package.json");return await wt.access(e),JSON.parse(await wt.readFile(e,"utf-8"))?.type==="module"}catch{return!1}}async function qp(e){if(!Jp)throw new ji(Pt);let t=JSON.stringify(e,null,2);switch(It){case"js":case"cjs":{let n=await dk(t.replace(/"([^"]+)":/g,"$1:")),r=await pk()&&It==="js"?"export default ":"module.exports = ";return wt.writeFile(Pt,r+n)}case"json":return wt.writeFile(Pt,t);default:throw new Ii}}var Yt=w(require("fs")),Ge=w(require("path"));var _o="webflow.json",Gp="index.html",Hp="bundle.zip",Fl="public",Sl="extension-scaffolds",$i="default",Zp="./";var Kp="package.json",Yp="wf-placeholder-name",_l=e=>JSON.stringify(e,null,2),Xp=e=>{let t="\u2500".repeat(e.length+2);return"\u256D"+t+`\u256E
33
- \u2502 `+e+` \u2502
34
- \u2570`+t+"\u256F"};var Qp=async(e,t=Zp,n=$i,r)=>{let o=r[n];try{for(let i of o){let s=Ge.join(t,i),a=mk(s,n,e);if(i.includes(Kp)||i.includes(_o))await fk(i,a,e);else{let l=await Yt.promises.readFile(i);await nf(a,l)}}}catch(i){console.error("Error writing file, ",i)}},ef=async()=>{let e={},t=Ge.resolve(__dirname),n=Ge.join(t,Sl),r=await Yt.promises.readdir(n);for(let o of r){let i=Ge.join(n,o),s=await tf(i);e[o]=s}return e},tf=async e=>{let t=[];try{let n=await Yt.promises.readdir(e);for(let r of n){let o=Ge.join(e,r);if((await Yt.promises.stat(o)).isDirectory()){let s=await tf(o);t.push(...s)}else t.push(o)}}catch(n){console.error(`Error reading ${Ge}, `,n)}return t},nf=async(e,t)=>{try{await Yt.promises.mkdir(Ge.dirname(e),{recursive:!0}),await Yt.promises.writeFile(e,t)}catch(n){console.error("Error writing file ",n)}},fk=async(e,t,n)=>Yt.promises.readFile(e,"utf8").then(async r=>{let o=r.replace(Yp,n);await nf(t,o)}),mk=(e,t,n)=>{let r=Ge.join(Sl,t),o=e.indexOf(r);if(o!==-1){let i=e.substring(o+r.length+1);return Ge.join(n,i)}return""};var Bi=async()=>await ef(),uf=async()=>{let e=await Bi(),t=Object.keys(e).join(", ");console.log(`Your available templates are: ${t}`),console.log('\u{1F4A1} Syntax: "webflow extension init projectName templateName"'),console.log('\u{1F31F} Example: "webflow extension init my-first-extension react"')},df=async(e,t=$i)=>{let n=`./${e}`;console.log(`Scaffolding your new extension named: ${e}...`);let r=await Bi();await Qp(e,n,t,r),console.log(`Done! Check out ${n}/README.md for steps on how to develop your extension.`)},pf=()=>Mp(Fl,_o,Hp),ff=async e=>{let{config:t,filepath:n}=await Ti(Fl,_o),r=lf.join(n,"..",t.publicDir,Gp),i=(await yr([],!0)).extensionTemplateDomain||"webflow-ext.com",s=t.apiVersion==="2"?"template/v2":"template",a=Object.keys(t.featureFlags||{}).map(m=>t.featureFlags?.[m]===!0?`ff_on=${m}`:`ff_off=${m}`).join("&"),l=a?`&${a}`:"",u=await(await(0,of.default)(`https://${i}/${s}?name=${t.name}${l}`)).text(),p=new rf.Server((m,h)=>{if(m.url==="/"){af.promises.readFile(r,{encoding:"utf-8"}).catch(v=>{cf.program.error(v.message)}).then(v=>{let k=u.replace("{{ui}}",v);return h.writeHead(200,{"Content-Length":Buffer.byteLength(k),"Content-Type":"text/html"}),h.end(k)});return}if(m.url==="/__webflow")return h.writeHead(200,{"Content-Length":Buffer.byteLength(_l(t)),"Content-Type":"application/json","Access-Control-Allow-Origin":"*","Access-Control-Allow-Headers":"*"}),h.end(_l(t));(0,sf.default)(m,h,{public:t.publicDir,cleanUrls:!1,directoryListing:!1})}),f=gk(e);p.listen(f),console.log(Xp(`Serving your extension at http://localhost:${f}`)+`
35
- `)},gk=e=>{if(e){let t=parseInt(e,10);return isNaN(t)?(console.log("Invalid port number provided. Using the default port "+1337),1337):t}return 1337};Me();te();var mf=e=>{let t=e.command("extension").description("CLI for developing Designer Extensions.");t.command("list").description("Get list of project templates that can be used for `init`").action(uf),t.command("init").description("Bootstrap a Designer Extension.").argument("[projectName]","What is your Designer Extension's name?").argument("[scaffoldName]","Which project template do you want to use?").action(async(n,r)=>{let o=await Bi(),i=Object.keys(o),s=await Te({message:"What would you like to name your Designer Extension?",default:n,validate:l=>l.trim()===""?"The Designer Extension name cannot be empty.":!0});if(s===null)throw new g("When --no-input mode is enabled please provide the [projectName] argument.");let a=await Le({message:"Which project template would you like to use?",choices:i.map(l=>({name:l,value:l})),default:r||"default"});await df(s,a)}),t.command("bundle").description("Prepare package that can be uploaded to Webflow.").action(pf),t.command("serve").description("Serve your extension locally.").argument("[port]","The port to serve your extension on").action(ff)};var $c=w(require("process"));J();le();ke();var hf=w(require("fs"));te();async function Li(e){let{authToken:t,siteId:n}=e||{},{path:r,isUserDefined:o}=kn(),i=hf.existsSync(r),s=!1;try{let{manifest:a}=Q();s=!0,o&&d.info(`Using manifest file: ${r}`);try{let l=fo(a,"devlink");if(!t||!n)throw new Error(`Missing Site ID or API token. Make sure you have WEBFLOW_API_TOKEN and WEBFLOW_SITE_ID set in your environment variables, or pass them as arguments --site and --api-token.
29
+ 2. Set it as the WEBFLOW_API_TOKEN environment variable in your CI/CD pipeline`);let e=yf(16),r=Ly();try{let n=wf({pollId:e,clientId:r,scope:Ea});await Df(n);let o=await bf(e,Kn.timeoutMs);return wa({accessToken:o,scopes:Ea,createdAt:new Date().toISOString()}),c.info(`${T} Credentials saved: ${Lt()}`),o}catch(n){throw new d(n)}}function Ly(){return"fbab9abdbeeb35bb2554a1b83b8bd060d719f22eca26ff9119b87608c87c0074"}var Ea,Ef,xa=b(()=>{"use strict";Fe();_();H();$();ba();va();vf();fe();Ea=["assets:read","assets:write","authorized_user:read","cloud_apps:write","cms:read","cms:write","code_components:read","code_components:write","devlink_export:read","forms:read","sites:read","sites:write","workspace:read"],Ef=!1});function Wy(){return!0}function Yn(t){if(t.siteId)return t.siteId;let e=process.env.WEBFLOW_SITE_ID;return e?(Wy()||(oe({siteId:e}),t.siteId=e,c.info(`${T} Site ID updated in webflow.json`)),e):null}async function _a(t){try{let r=await new xf.WebflowClient({accessToken:t,environment:{base:`${C}/v2`,dataApi:`${C}/v2`,contentDeliveryApi:`${Wo}/v2`}}).sites.list();if(!r||typeof r!="object"||!r.sites||!Array.isArray(r.sites))throw new d("Invalid response from Webflow API");let n=r.sites.map(o=>({id:o.id,displayName:o.displayName??"",shortName:o.shortName||(o.displayName??"").toLowerCase().replace(/\s+/g,"-"),lastUpdated:o.lastUpdated??null}));return n.sort((o,i)=>o.displayName.localeCompare(i.displayName)),n}catch(e){throw new d(e,{prefix:`Failed to fetch Webflow sites. Please check your authorization.
30
+ `})}}async function Ca(t){let e=t.map(n=>({name:`${n.displayName} (${n.shortName})`,value:n})),r=await Jo({message:"Search for a Webflow site:",source:n=>{if(!n)return e;let o=n.toLowerCase();return e.filter(i=>i.value.displayName.toLowerCase().includes(o)||i.value.shortName.toLowerCase().includes(o))},pageSize:15});if(!r){if(t.length===0)throw new d("No sites available for selection");return c.warn(`Auto fallback to first site: ${t[0].displayName}`),t[0]}return r}var xf,zo=b(()=>{"use strict";xf=require("webflow-api");Be();_();De();ie();ie();$();H()});async function ge(t,e){let r=e?.site??Yn(t);if(te()&&!r)throw new d(`No site ID configured for this project.
31
+ Run ${M("webflow auth login")} locally to authenticate and associate this project with a Webflow site,
32
+ or provide --site and --api-token when running a CLI command`);let n=await R({apiToken:e?.apiToken,force:e?.force});if(!r||e?.force){let o=await _a(n);if(o.length===0)throw new d("No Webflow sites found in your account. Please make sure you have at least one authorized site in your Webflow account");let i=o.length>1?await Ca(o):o[0];r=i.id;let s=oe({siteId:r});return t.siteId=s.siteId,c.info(`${T} Site ID updated in webflow.json`),{siteId:r,siteName:i.displayName,accessToken:n}}return{siteId:r,accessToken:n}}var _f=b(()=>{"use strict";De();Fe();xa();zo();$();H();fe();_()});async function Fa(t){let e=new Cf.WebflowClient({accessToken:t,environment:{base:`${C}/v2`,dataApi:`${C}/v2`}});try{return await e.token.authorizedBy()}catch{return null}}var Cf,Ff=b(()=>{"use strict";Cf=require("webflow-api");ie()});var re=b(()=>{"use strict";mf();xa();_f();zo();zo();ba();Ff()});function Qy(t,e){if(t.includes("..")||it.isAbsolute(t))throw new Error(`Invalid file path: "${t}" - path traversal not allowed`);let r=it.resolve(e,t),n=it.resolve(e);if(!r.startsWith(n+it.sep)&&r!==n)throw new Error(`Invalid file path: "${t}" - resolves outside root directory`)}async function ii(t,e,r){let n=it.join(process.cwd(),e);r&&(0,Ut.existsSync)(n)&&await(0,oi.rm)(n,{recursive:!0,force:!0}),(0,Ut.existsSync)(n)||await(0,oi.mkdir)(n);for(let o of t){Qy(o.path,n);let i=ew(n,o.path);if(o.path.includes("/")){let s=o.path.substring(0,o.path.lastIndexOf("/"));tw(n,s)}(0,Ut.writeFileSync)(i,o.content,{flag:"w+"})}}function ew(t,e){return it.join(t,...e.split("/"))}function tw(t,e){let r=e.split("/"),n=t;for(let o of r)n=it.join(n,o),(0,Ut.existsSync)(n)||(0,Ut.mkdirSync)(n)}var Ut,oi,it,Na=b(()=>{"use strict";Ut=require("fs"),oi=require("fs/promises"),it=m(require("path"))});function ai(t){for(let e of t??[]){let r=c[e.status]??c.info,n=iw[e.status]??ke;r(`
33
+ ${n} ${e.content}`)}}var iw,La=b(()=>{"use strict";_();H();iw={info:ke,warn:Ee,success:T}});function Ua(t){let{manifestPath:e}=G();return(0,ud.writeFileSync)(e,JSON.stringify(t,null,2),"utf-8"),t}var ud,fd=b(()=>{"use strict";ud=require("fs");Pn()});function li(t,e){try{let r=Va(),n=Ha(Object.values(t)),o=e?.force;return n&&r&&!o}catch{return!1}}var dd,pd,Va,Ha,ci=b(()=>{"use strict";dd=require("path"),pd=require("fs-extra");Va=()=>{try{return(0,pd.existsSync)((0,dd.join)(process.cwd(),"tsconfig.json"))}catch{return!1}},Ha=t=>t.some(e=>e.endsWith(".ts")||e.endsWith(".tsx"))});function sw(t){let{export:e,...r}=t;return e?r["devlink-export"]!=null?(Ua(r),r):(c.warn(`${Ee} The 'export' key in webflow.json is deprecated. Use 'devlink-export' instead. Your configuration will be migrated automatically.`),r["devlink-export"]={...e},Ua(r),r):r}function hd(t,e){try{new RegExp(t)}catch{throw new d(`Invalid '${e}' regex '${t}' in webflow.json. Fix the value and re-run the export.`,{isUserError:!0})}}async function wd(t){t=sw(t);let e=t["devlink-export"]||{},r=!1,n=e.rootDir;n||(te()?n=md:(r=!0,n=await Ce({message:"Enter the root directory for exported components:",default:md,validate:f=>!f||f.trim()===""?"Root directory is required":!0})));let o=e.ts;o===void 0&&(cw()?o=!0:te()?o=!1:(r=!0,o=await Te({message:"Use TypeScript?",default:!0})));let i=e.cssScopes;i===void 0&&(te()?i=gd:(r=!0,i=await Te({message:"Use DevLink style isolation (scoped wrapper + @scope)?",default:gd}))),e.components&&hd(e.components,"components"),e.componentGroups&&hd(e.componentGroups,"componentGroups");let s=e.components,a=e.componentGroups;!s&&!a&&(te()?(s=ui,a=fi):(r=!0,await Te({message:"Do you want to export all components?",default:!0})?(s=ui,a=fi):(s=await Ce({message:"Enter regex pattern to filter components (e.g., 'Button|Card' for specific):",default:ui,validate:p=>{try{return new RegExp(p),!0}catch{return"Invalid regex pattern. Please enter a valid regular expression."}}}),a=await Ce({message:"Enter regex pattern to filter component groups (e.g., 'mygroup'):",default:fi,validate:p=>{try{return new RegExp(p),!0}catch{return"Invalid regex pattern. Please enter a valid regular expression."}}})))),s=s||ui,a=a||fi;let l=e.relativeHrefRoot;l===void 0&&(l=aw);let u={...e,rootDir:n,components:s,componentGroups:a,ts:o,cssScopes:i,relativeHrefRoot:l};return(!e.rootDir||e.ts===void 0||e.cssScopes===void 0||!e.components||!e.componentGroups||e.relativeHrefRoot===void 0)&&lw(u),{config:u,wasPrompted:r}}function lw(t){oe({"devlink-export":{...t}}),c.info(`${T} Devlink Export configuration updated in webflow.json`)}function cw(){try{let t=process.cwd();if(Va())return!0;let e=["src","app","pages","components"];for(let r of e){let n=yd.join(t,r);if(di.existsSync(n)&&Ha(di.readdirSync(n)))return!0}}catch{}return!1}var di,yd,md,ui,fi,gd,aw,Dd=b(()=>{"use strict";di=m(require("fs")),yd=m(require("path"));Be();Fe();_();H();$();Zs();fd();ci();md="./webflow",ui=".*",fi=".*",gd=!0,aw="/"});async function Ed(t){if(t.ok)return;let e=await t.text().catch(()=>"");c.debug(`Server error response (HTTP ${t.status}): ${e||"<empty>"}`);let r;try{r=JSON.parse(e).message}catch{}throw new eo(r||`Request failed (HTTP ${t.status}).`)}async function Ga(t,e,r,n){let o=await uw(r,n,e,t);if(!o.files||!Array.isArray(o.files))throw new d("Invalid response format from V2 API: expected 'files' array");return{files:o.files,messages:o.messages,metadata:o.metadata}}async function uw(t,e,r,n){let{taskId:o,polling:i}=await fw(t,e,r,n);return dw(t,e,r,o,i)}async function fw(t,e,r,n){let o=await(0,Ja.default)(`${C}/v2/devlink/${t}/export`,{method:"POST",headers:{Authorization:`Bearer ${r}`,"Content-Type":"application/json",[vd]:e},body:JSON.stringify(n),timeout:6e4});return o.ok||await Ed(o),await o.json()}async function dw(t,e,r,n,o){let{initialDelayMs:i,maxBackoffMs:s,backoffMultiplier:a,timeoutMs:l}=o,u=Date.now()+l,f=i;do{let p=await(0,Ja.default)(`${C}/v2/devlink/${t}/export/${n}`,{headers:{Authorization:`Bearer ${r}`,[vd]:e},timeout:6e4});p.ok||await Ed(p);let g=await p.json();if(g.status==="finished")return g.result;if(g.status==="failed")throw new eo("The export task failed. Please try again or report a bug.");await(0,bd.setTimeout)(f),f=Math.min(f*a,s)}while(Date.now()<u);throw new eo(`Export task timed out after ${l}ms. Please try again.`)}var Ja,bd,vd,eo,xd=b(()=>{"use strict";Ja=m(require("node-fetch")),bd=require("timers/promises");_();ie();$();vd="X-WF-Sync-Id",eo=class extends Error{}});var _d,Cd=b(()=>{"use strict";Be();_();_d=async(t,e)=>{if(!e)return;await Te({message:`Ready to export components to ${t.rootDir}?`,default:!0})||(c.info("Export cancelled."),process.exit(0))}});function Fd(t,e,r){let i=new Intl.PluralRules("en-US").select(t)==="one"&&t===1?e:r||`${e}s`;return`${t} ${i}`}var kd=b(()=>{"use strict"});async function pi(t){let e=Date.now(),r;try{let{manifest:n}=G(),{siteId:o,accessToken:i}=await ge(n,t),s=(0,Sd.randomUUID)();nf(s);let{config:a,wasPrompted:l}=await wd(n);c.info(`${T} Export configuration loaded!`),await _d(a,l);let u=A.forExport({authToken:i,siteId:o});r=c.spinner("Exporting components"),await u.sendUsage("devlink_export_start",{cssScopes:a.cssScopes,ts:a.ts,relativeHrefRoot:a.relativeHrefRoot});try{let{files:f,messages:p,metadata:g}=await Ga(a,i,o,s),h=g.exportCoverage==="full";await ii(f,a.rootDir,h),r.succeed(`${Fd(g.componentCount,"component")} exported to ${a.rootDir}`),ai(p);let w=Date.now()-e;await u.sendUsage("devlink_export_success",{duration:w,cssScopes:a.cssScopes,ts:a.ts,relativeHrefRoot:a.relativeHrefRoot})}catch(f){let p=f instanceof Error?f.message:String(f);throw r.fail(`Components export failed: ${p}`),await u.sendError(f instanceof Error?f:new Error(String(f)),"devlink_export_failure",{cssScopes:a.cssScopes,ts:a.ts}),f}}catch(n){let o="Export failed: "+(n instanceof Error?n.message:n);throw r?r.fail(o):c.error(o,{prefix:`
34
+ `+E}),new d(n,{skipLogging:!0})}}var Sd,Td=b(()=>{"use strict";Sd=require("crypto");Dd();xd();Cd();ee();re();De();kd();_();$();Na();H();La()});var Ad={};Ac(Ad,{exportComponents:()=>pi});var za=b(()=>{"use strict";Td()});var Oc=Symbol.for("@webflow/webflow-cli/suppress-deprecation");function mh(t){if(typeof t!="object"||t===null)return!1;let e=t;return e.code==="DEP0040"&&typeof e.message=="string"&&e.message.includes("punycode")}function gh(t=process){if(t[Oc])return;t[Oc]=!0;let e=t.emit;t.emit=function(n,...o){return n==="warning"&&mh(o[0])?!1:e.call(this,n,...o)}}gh();var oh=require("commander");var th=require("commander");fe();_();var of=require("child_process"),sf=require("fs"),da=m(require("semver"));_();var pa="@webflow/webflow-cli",lr="@webflow/data-types",Vo="@webflow/react",Fy=[pa,lr,Vo],cr=class{getInstalledDependencies(){try{let e=(0,of.execSync)(`npm ls ${Fy.join(" ")} --depth=0 --json --silent`,{encoding:"utf-8"}),r=JSON.parse(e);return r.dependencies?Object.entries(r.dependencies).reduce((n,[o,{version:i}])=>(n[o]=i,n),{}):{}}catch(e){return c.debug(`Failed to get installed dependencies: ${e}`),{}}}getRequiredDependencies(e){let r=JSON.parse((0,sf.readFileSync)(require.resolve(`${e}/package.json`),"utf8"));return{...r.dependencies,...r.devDependencies}}checkCLIAndDataTypes(e){let r=e[lr];if(!r)return;let o=this.getRequiredDependencies(pa)[lr];if(!da.default.satisfies(r,o))throw new Error(`Version mismatch: ${pa} requires ${lr} v${o} but found v${r}`)}checkReactAndDataTypes(e){let r=e[lr],n=e[Vo];if(!(!r||!n)&&!da.default.eq(r,n))throw new Error(`Version mismatch: ${Vo} and ${lr} must be on the same version. Found ${Vo}@${n} and ${lr}@${r}`)}run(){let e=this.getInstalledDependencies();this.checkCLIAndDataTypes(e),this.checkReactAndDataTypes(e)}};var df=require("fs-extra");Be();var pf=require("@dotenvx/dotenvx"),ur=m(require("semver"));_();var cf=require("child_process"),uf=require("util"),Ry=(0,uf.promisify)(cf.exec);async function Bt(t,e){try{let{stdout:r,stderr:n}=await Ry(t,e);return{stdout:r.toString().trim(),stderr:n.toString().trim(),code:0}}catch(r){let n=r;return{stdout:n.stdout??"",stderr:n.stderr??String(n.message??""),code:n.code??1}}}Fe();var ha=m(Mo());H();fe();(0,pf.config)({quiet:!0,ignore:["MISSING_ENV_FILE"]});var ff={npm:{updateCommand:"npm install",update:async t=>await Bt(`npm install ${t}`),getOutdated:async t=>{let{stdout:e}=await Bt(`npm outdated --json ${t}`);return JSON.parse(e)},lockFile:"package-lock.json",globalFlag:"--global",supported:!0},pnpm:{updateCommand:"pnpm add",update:async t=>await Bt(`pnpm add ${t}`),getOutdated:async t=>{let{stdout:e}=await Bt(`pnpm outdated --json ${t}`);return JSON.parse(e)},lockFile:"pnpm-lock.yaml",globalFlag:"--global",supported:!0},yarn:{lockFile:"yarn.lock",globalFlag:"",updateCommand:"",getOutdated:async()=>({}),update:async()=>({stdout:"",stderr:"",code:0}),supported:!1}},Py=["@webflow/webflow-cli","@webflow/data-types","@webflow/react","@webflow/emotion-utils","@webflow/styled-components-utils"],Gn=class{packageManager;constructor(){this.packageManager=this.getPackagerManagerInfo()}getPackagerManagerInfo(){for(let[,e]of Object.entries(ff))if((0,df.existsSync)(e.lockFile))return e;return ff.npm}async listOutdatedPackages(e="local",r=Py){let{getOutdated:n,globalFlag:o}=this.packageManager,i=await n(`${e==="global"?o:""} ${r?.join(" ")}`);return Object.fromEntries(Object.entries(i).map(([s,a])=>Array.isArray(a)?[s,{current:a[0].current,latest:a[0].latest,installationType:e}]:[s,{current:a.current,latest:a.latest,installationType:e}]))}async getOutdatedPackages(){let e=await this.listOutdatedPackages();if(e["@webflow/webflow-cli"])return e;let r=await this.listOutdatedPackages("global",["@webflow/webflow-cli"]);return{...e,...r}}async showUpdatePrompt(e){let r={name:"Update all packages",value:"update-all"},n=Object.entries(e).map(([i,{current:s,latest:a}])=>({name:`${i} (${s} ${He} ${a})`,value:i})),o=await Ho({message:`New versions of the following ${le("@webflow")} packages are available. Would you like to update them?`,choices:[r,...n]});return o==null?[]:o.includes("update-all")?Object.keys(e):o}showUpdateSuggestions(e){let{updateCommand:r,globalFlag:n}=this.packageManager;c.info(`${ke} New versions of the following ${le("@webflow")} packages are available:`),Object.entries(e).forEach(([s,{current:a,latest:l}])=>{c.info(S(` ${Lo} ${s} (${a} ${He} ${l})`))});let o=Object.entries(e).filter(([,{installationType:s}])=>s==="local").map(([s])=>`${s}@latest`),i=Object.entries(e).filter(([,{installationType:s}])=>s==="global").map(([s])=>`${s}@latest`);c.info(`
35
+ ${He} To update, run:`),o.length>0&&c.info(M(` ${r} ${o.join(" ")}`)),i.length>0&&c.info(M(` ${r} ${n} ${i.join(" ")}`)),c.info("")}shouldSkipUpdateChecks(){return!this.packageManager.supported||process.env.WEBFLOW_SKIP_UPDATE_CHECKS==="true"}getDistTag(){let e=ur.prerelease(ha.default.version);return e&&e.length>0&&typeof e[0]=="string"?e[0]:"latest"}async promptPrerelease(e){let r;try{r=c.spinner("Checking for updates (to disable, use --skip-update-check)");let{stdout:n,code:o}=await Bt(`npm view @webflow/webflow-cli@${e} version`);if(o!==0||!n.trim()){r.succeed("Up to date");return}let i=n.trim(),s=ha.default.version;if(!ur.valid(i)||!ur.valid(s)){r.succeed("Up to date");return}if(!ur.gt(i,s)){r.succeed("All @webflow packages are up to date");return}if(r.succeed(),!process.stdin.isTTY||te()){c.info(`${ke} A new version of @webflow/webflow-cli@${e} is available.`);let{code:p}=await Bt("npm ls @webflow/webflow-cli --json"),h=(p===0?"local":"global")==="global"?" --global":"";c.info(`${He} To update, run: `+M(`${this.packageManager.updateCommand}${h} @webflow/webflow-cli@${e}`)+`
36
+ `);return}let{code:l}=await Bt("npm ls @webflow/webflow-cli --json"),u=l===0?"local":"global";if(await Te({message:`A new version of @webflow/webflow-cli@${e} is available.
37
+ Would you like to update it?`,default:!1})){r=c.spinner("Updating");let p=u==="global"?` ${this.packageManager.globalFlag}`:"";try{await this.packageManager.update(`${p} @webflow/webflow-cli@${e}`),r.succeed("Updated successfully")}catch{let h=u==="global"?` ${this.packageManager.globalFlag}`:"";r.fail("Update failed. Manually run: "+M(`${this.packageManager.updateCommand}${h} @webflow/webflow-cli@${e}`))}}}catch(n){r?.fail("Failed to check for updates"),c.debug(String(n))}}async prompt(){if(this.shouldSkipUpdateChecks())return;let e=this.getDistTag();if(e!=="latest")return this.promptPrerelease(e);let r;try{r=c.spinner("Checking for updates (to disable, use --skip-update-check)");let n=await this.getOutdatedPackages();if(!(Object.keys(n).length>0)){r.succeed("All @webflow packages are up to date");return}if(r.succeed(),!process.stdin.isTTY||te()){this.showUpdateSuggestions(n);return}let s=await this.showUpdatePrompt(n);if(s.length>0){r=c.spinner("Updating");let{local:a,global:l}=s.reduce((g,h)=>(g[n[h].installationType==="global"?"global":"local"].push(h),g),{local:[],global:[]}),{update:u,globalFlag:f,updateCommand:p}=this.packageManager;try{a.length>0&&await u(`${a.map(g=>`${g}@latest`).join(" ")}`),l.length>0&&await u(`${f} ${l.map(g=>`${g}@latest`).join(" ")}`),r.succeed("Updated successfully")}catch{r.fail("Update failed. Manually run: "+M(`${p} ${s.map(h=>`${h}@latest`).join(" ")}`))}}}catch(n){r?.fail("Failed to check for updates"),c.debug(String(n))}}};Fe();aa();oa();Be();ee();re();Fe();De();_();$();H();fe();var Sf=t=>{let e=t.command("auth").description("Authentication and configuration commands");e.command("login").description("Authenticate with Webflow and save credentials to .env file").option("-f, --force","Force reauthentication even if credentials exist").action(async r=>{if(te()){c.info(`${E} No-input mode enabled. Aborting OAuth authentication`);return}let{manifest:n}=G();if(!r.force&&Zn()){let i=Yn(n);c.info(`${T} Webflow credentials already exist:`),i&&c.info(` Site ID: ${i}`),c.info(" API Token: [hidden]"),c.info(`
38
+ Use --force flag to reauthenticate anyway`);return}try{let o=await R({force:r.force});xt({apiToken:o}),c.info(`
39
+ You can now use other Webflow CLI commands that require authentication`)}catch(o){throw new d(o,{prefix:`${E} Authentication failed:`})}}),e.command("status").description("Show current authentication status").action(async()=>{let r=qn(),n=r?.accessToken??Zn();if(!n){c.info(`${E} Not logged in. Run ${M("webflow auth login")} to authenticate.`),process.exitCode=1;return}try{let o=await Fa(n);if(!o){c.info(`${E} Token is invalid or expired. Run ${M("webflow auth login --force")} to reauthenticate.`),process.exitCode=1;return}c.info(`${T} Logged in as ${o.firstName} ${o.lastName} (${o.email})`),r?.scopes?.length&&c.info(` Scopes: ${r.scopes.join(", ")}`),c.info(` Session: ${Lt()}`)}catch(o){throw new d(o,{prefix:`${E} Failed to fetch auth status:`})}}),e.command("logout").description("Log out and remove stored credentials").action(async()=>{Da(),c.info(`${T} Logged out. Session file removed.`),c.info(`${He} Run ${M("webflow auth login")} to authenticate again.`)}),e.command("telemetry").description("Manage telemetry settings for all Webflow CLI commands").option("--enable","Enable telemetry for all commands").option("--disable","Disable telemetry for all commands").option("--status","Show current telemetry status").action(async r=>{let n=jt.getInstance();if(r.status){let s=await n.getTelemetryStatus();c.info(kf(s.enabled));return}if(r.enable){await n.setGlobalPreference(!0),c.info(ka(!0));return}if(r.disable){await n.setGlobalPreference(!1),c.info(ka(!1));return}let o=await n.getTelemetryStatus();if(c.info(kf(o.enabled)),te()){c.info("\u{1F4A1} When --no-input mode is enabled please provide --enable or --disable option");return}let i=await Ne({message:"What would you like to do?",choices:[{name:"Enable telemetry for all commands",value:"enable"},{name:"Disable telemetry for all commands",value:"disable"},{name:"Cancel",value:"cancel"}]});if(i==="enable"||i==="disable"){let s=i==="enable";await n.setGlobalPreference(s),c.info(ka(s))}})},ka=t=>`${T} Telemetry ${t?"enabled":"disabled"} for all Webflow CLI commands`,kf=t=>`${ke} Telemetry status: ${t?`enabled ${T}`:`disabled ${E}`}`;var Kf=m(require("http")),Zf=m(require("node-fetch")),Yf=m(require("serve-handler")),Xf=require("fs"),Qf=m(require("path")),ed=require("commander");var Af=m(require("archiver")),Ta=require("commander"),Zo=require("fs");var Tf=require("cosmiconfig"),Sa=require("commander"),qo=async(t,e)=>{let r=await Uy(e),n=r.config.apiVersion;return n&&typeof n!="string"&&Sa.program.error('Error: The apiVersion field in webflow.json must be a string (i.e. "apiVersion": "2").'),{filepath:r.filepath,config:{publicDir:t,...r.config}}},Uy=async t=>{let r=await(0,Tf.cosmiconfig)("webflow",{searchPlaces:[t]}).search();return r||Sa.program.error(`No ${t} file was found. Run this command within your extension folder.`),r};var Of=m(require("mime-types")),Ko=m(require("path")),Vy=5*1024*1024,Hy=new Set(["application/javascript","application/json","application/xml","image/png","image/jpeg","image/gif","image/svg+xml","image/webp","image/vnd.microsoft.icon","image/x-icon","video/webm","font/ttf","font/otf","font/woff","font/woff2","text/plain","text/markdown","text/html","text/css"]),If=async(t,e,r)=>{let{config:n,filepath:o}=await qo(t,e),i=Ko.join(o,".."),s=!0,a=!1,l=f=>{let p=f.name,g=Of.default.lookup(p);return p==="index.html"&&(a=!0),p&&p.endsWith(".DS_Store")||!g?!1:Hy.has(g)?f:(console.log(`Invalid file type: ${g} for file: ${p}`),s=!1,!1)},u=f=>{(0,Zo.unlink)(r,p=>{p&&console.error(`Failed to delete file: ${p}`),Ta.program.error(f)})};return console.log(`Packaging the contents of the ${n.publicDir} folder into ${r}...`),new Promise(f=>{let p=(0,Af.default)("zip",{zlib:{level:9}}),g=(0,Zo.createWriteStream)(Ko.join(i,r));g.on("close",()=>{f(void 0)}),p.directory(Ko.join(i,n.publicDir),!1,l),p.file(o,{name:e}),p.pipe(g),p.finalize(),p.on("warning",h=>{console.log(h)}),p.on("error",h=>{Ta.program.error(h.message)}),p.on("finish",()=>{if(!a){u("Could not find index.html in your `publicDir`, all Designer Extension code needs to be inside of `publicDir`");return}if(!s){u("Bundling failed due to invalid file types");return}if(!p.pointer()||p.pointer()===0){u("Bundling failed with no output");return}if(p.pointer()>=Vy){u("Bundling failed due to the bundle exceeding 5MB");return}console.log(`${p.pointer()} total bytes written`),console.log(`Done! ${r} is ready for you to upload to your Webflow app.`)})})};var Xn=m(require("path")),dt=m(require("fs/promises")),Qo=m(require("fs")),Rf=require("url"),h_=require("dotenv/config"),Pf=["js","cjs","json"],Ia=process.cwd(),jf=".webflowrc",Ct=Xn.extname(Qo.readdirSync(Ia).find(t=>t.includes(jf))??"").replace(/\./g,""),_t=Xn.join(Ia,`${jf}${Ct&&`.${Ct}`}`),Nf=Qo.existsSync(_t),Aa=class extends Error{constructor(){super(`Missing extension for .webflowrc file. The supported extensions are: ${Pf.join(", ")}`)}},Yo=class extends Error{constructor(){super(`Unsupported extension for .webflowrc: ${Ct}. The supported extensions are: ${Pf.join(", ")}`)}},Xo=class extends Error{constructor(e){let r=e.includes(".webflowrc"),n=e.includes("webflow.json"),o;r?o=`It seems like you don't have a .webflowrc file in your project (${e}). Make sure there is a .webflowrc file in your project root.`:n?o=`It seems like you don't have a webflow.json file in your project (${e}). Make sure there is a webflow.json file in your project root.`:o=`It seems like you don't have a config file in your project (${e}). Make sure there is a config file in your project root.`,super(o)}},Oa=class extends Error{constructor(e){super(`The following required fields are missing or undefined in your .webflowrc file: ${e}. If you're using process.env variables, make sure they're set up correctly.`)}};async function Jy(t){return(await import(process.platform==="win32"&&t?.match(/[a-zA-Z]:[\\\/]/)?(0,Rf.pathToFileURL)(t).href:t)).default}function $f(t,e){let r=e.filter(n=>!t[n]);if(r.length)throw new Oa(r.join(", "))}async function Kr(t=[],e=!1){if(!Nf){if(e)return{};throw new Xo(_t)}if(!Ct)throw new Aa;switch(Ct){case"js":case"cjs":{await dt.access(_t);let r=await Jy(_t);return $f(r,t),r}case"json":{let r=JSON.parse(await dt.readFile(_t,"utf8"));return $f(r,t),r}default:throw new Yo}}function Gy(t,e){if(Ct==="js"||Ct==="cjs"){let n=new RegExp(`${e}: process.env.([\\w]+),`,"gi").exec(t);if(n)return n[1]}}function zy(t,e,r){let n=Gy(e,r);if(n){let o=new RegExp(`${r}: ".*?",`,"g");return t.replace(o,`${r}: process.env.${n},`)}return t}async function qy(t){let e=["authToken","host","siteId"],r=await dt.readFile(_t,"utf-8");for(let n of e)t=zy(t,r,n);return t}async function Ky(){try{let t=Xn.join(Ia,"package.json");return await dt.access(t),JSON.parse(await dt.readFile(t,"utf-8"))?.type==="module"}catch{return!1}}async function Bf(t){if(!Nf)throw new Xo(_t);let e=JSON.stringify(t,null,2);switch(Ct){case"js":case"cjs":{let r=await qy(e.replace(/"([^"]+)":/g,"$1:")),n=await Ky()&&Ct==="js"?"export default ":"module.exports = ";return dt.writeFile(_t,n+r)}case"json":return dt.writeFile(_t,e);default:throw new Yo}}var Wt=m(require("fs")),Ge=m(require("path"));var Qn="webflow.json",Mf="index.html",Lf="bundle.zip",$a="public",Ra="extension-scaffolds",ei="default",Wf="./";var Uf="package.json",Vf="wf-placeholder-name",Pa=t=>JSON.stringify(t,null,2),Hf=t=>{let e="\u2500".repeat(t.length+2);return"\u256D"+e+`\u256E
40
+ \u2502 `+t+` \u2502
41
+ \u2570`+e+"\u256F"};var Jf=async(t,e=Wf,r=ei,n)=>{let o=n[r];try{for(let i of o){let s=Ge.join(e,i),a=Yy(s,r,t);if(i.includes(Uf)||i.includes(Qn))await Zy(i,a,t);else{let l=await Wt.promises.readFile(i);await qf(a,l)}}}catch(i){console.error("Error writing file, ",i)}},Gf=async()=>{let t={},e=Ge.resolve(__dirname),r=Ge.join(e,Ra),n=await Wt.promises.readdir(r);for(let o of n){let i=Ge.join(r,o),s=await zf(i);t[o]=s}return t},zf=async t=>{let e=[];try{let r=await Wt.promises.readdir(t);for(let n of r){let o=Ge.join(t,n);if((await Wt.promises.stat(o)).isDirectory()){let s=await zf(o);e.push(...s)}else e.push(o)}}catch(r){console.error(`Error reading ${Ge}, `,r)}return e},qf=async(t,e)=>{try{await Wt.promises.mkdir(Ge.dirname(t),{recursive:!0}),await Wt.promises.writeFile(t,e)}catch(r){console.error("Error writing file ",r)}},Zy=async(t,e,r)=>Wt.promises.readFile(t,"utf8").then(async n=>{let o=n.replace(Vf,r);await qf(e,o)}),Yy=(t,e,r)=>{let n=Ge.join(Ra,e),o=t.indexOf(n);if(o!==-1){let i=t.substring(o+n.length+1);return Ge.join(r,i)}return""};var ti=async()=>await Gf(),td=async()=>{let t=await ti(),e=Object.keys(t).join(", ");console.log(`Your available templates are: ${e}`),console.log('\u{1F4A1} Syntax: "webflow extension init projectName templateName"'),console.log('\u{1F31F} Example: "webflow extension init my-first-extension react"')},rd=async(t,e=ei)=>{let r=`./${t}`;console.log(`Scaffolding your new extension named: ${t}...`);let n=await ti();await Jf(t,r,e,n),console.log(`Done! Check out ${r}/README.md for steps on how to develop your extension.`)},nd=()=>If($a,Qn,Lf),od=async t=>{let{config:e,filepath:r}=await qo($a,Qn),n=Qf.join(r,"..",e.publicDir,Mf),i=(await Kr([],!0)).extensionTemplateDomain||"webflow-ext.com",s=e.apiVersion==="2"?"template/v2":"template",a=Object.keys(e.featureFlags||{}).map(h=>e.featureFlags?.[h]===!0?`ff_on=${h}`:`ff_off=${h}`).join("&"),l=a?`&${a}`:"",f=await(await(0,Zf.default)(`https://${i}/${s}?name=${e.name}${l}`)).text(),p=new Kf.Server((h,w)=>{if(h.url==="/"){Xf.promises.readFile(n,{encoding:"utf-8"}).catch(F=>{ed.program.error(F.message)}).then(F=>{let O=f.replace("{{ui}}",F);return w.writeHead(200,{"Content-Length":Buffer.byteLength(O),"Content-Type":"text/html"}),w.end(O)});return}if(h.url==="/__webflow")return w.writeHead(200,{"Content-Length":Buffer.byteLength(Pa(e)),"Content-Type":"application/json","Access-Control-Allow-Origin":"*","Access-Control-Allow-Headers":"*"}),w.end(Pa(e));(0,Yf.default)(h,w,{public:e.publicDir,cleanUrls:!1,directoryListing:!1})}),g=Xy(t);p.listen(g),console.log(Hf(`Serving your extension at http://localhost:${g}`)+`
42
+ `)},Xy=t=>{if(t){let e=parseInt(t,10);return isNaN(e)?(console.log("Invalid port number provided. Using the default port "+1337),1337):e}return 1337};Be();$();var id=t=>{let e=t.command("extension").description("CLI for developing Designer Extensions.");e.command("list").description("Get list of project templates that can be used for `init`").action(td),e.command("init").description("Bootstrap a Designer Extension.").argument("[projectName]","What is your Designer Extension's name?").argument("[scaffoldName]","Which project template do you want to use?").action(async(r,n)=>{let o=await ti(),i=Object.keys(o),s=await Ce({message:"What would you like to name your Designer Extension?",default:r,validate:l=>l.trim()===""?"The Designer Extension name cannot be empty.":!0});if(s===null)throw new d("When --no-input mode is enabled please provide the [projectName] argument.");let a=await Ne({message:"Which project template would you like to use?",choices:i.map(l=>({name:l,value:l})),default:n||"default"});await rd(s,a)}),e.command("bundle").description("Prepare package that can be uploaded to Webflow.").action(nd),e.command("serve").description("Serve your extension locally.").argument("[port]","The port to serve your extension on").action(od)};var Wa=m(require("process"));_();ie();De();var ad=m(require("fs"));$();async function ni(t){let{authToken:e,siteId:r}=t||{},{path:n,isUserDefined:o}=ar(),i=ad.existsSync(n),s=!1;try{let{manifest:a}=G();s=!0,o&&c.info(`Using manifest file: ${n}`);try{let l=jn(a,"devlink");if(!e||!r)throw new Error(`Missing Site ID or API token. Make sure you have WEBFLOW_API_TOKEN and WEBFLOW_SITE_ID set in your environment variables, or pass them as arguments --site and --api-token.
36
43
 
37
44
  To set up your credentials, run:
38
- webflow auth login`);return gf(l?.relativeHrefRoot),{...l,host:I,authToken:t,siteId:n,cssModules:!!l?.cssModules,components:Ni(l?.components),fileExtensions:l?.fileExtensions,...e}}catch(l){throw new g(l,{prefix:`Failed to read devlink config from manifest file: ${r}
39
- `})}}catch(a){if(o||i||s){let l=o?`The manifest file specified via --manifest flag was not found or is invalid: ${r}
40
- `:`Your manifest file exists but is invalid or missing required properties: ${r}
41
- `;throw new g(a,{prefix:l})}}try{let a=[];t||a.push("authToken"),n||a.push("siteId");let l=await yr(a);return gf(l?.relativeHrefRoot),{...l,host:l.host||I,cssModules:!!l?.cssModules,components:Ni(l?.components),fileExtensions:l?.fileExtensions,...e}}catch(a){throw a instanceof Error&&a.message.includes(".webflowrc")&&(a.message=`No configuration file found. Please create either:
45
+ webflow auth login`);return sd(l?.relativeHrefRoot),{...l,host:C,authToken:e,siteId:r,cssModules:!!l?.cssModules,components:ri(l?.components),fileExtensions:l?.fileExtensions,...t}}catch(l){throw new d(l,{prefix:`Failed to read devlink config from manifest file: ${n}
46
+ `})}}catch(a){if(o||i||s){let l=o?`The manifest file specified via --manifest flag was not found or is invalid: ${n}
47
+ `:`Your manifest file exists but is invalid or missing required properties: ${n}
48
+ `;throw new d(a,{prefix:l})}}try{let a=[];e||a.push("authToken"),r||a.push("siteId");let l=await Kr(a);return sd(l?.relativeHrefRoot),{...l,host:l.host||C,cssModules:!!l?.cssModules,components:ri(l?.components),fileExtensions:l?.fileExtensions,...t}}catch(a){throw a instanceof Error&&a.message.includes(".webflowrc")&&(a.message=`No configuration file found. Please create either:
42
49
  - webflow.json with a "devlink" section, or
43
50
  - .webflowrc file
44
- in your project root.`),new g(a)}}function gf(e){if(!(e===void 0||e===!1)){if(typeof e=="string"){if(e==="/"||e.startsWith("http://")||e.startsWith("https://"))return;throw new Error(`Invalid relativeHrefRoot value "${e}". Must be false, "/" or an absolute URL starting with http:// or https://`)}throw new Error(`Invalid relativeHrefRoot type. Must be false, "/" or an absolute URL string, got: ${typeof e}`)}}function Ni(e){if(typeof e=="string")return e;if(Array.isArray(e))return e.map(t=>`^${t}$`).join("|")}Tl();ht();te();var bk=Object.create,pc=Object.defineProperty,Dk=Object.getOwnPropertyDescriptor,vk=Object.getOwnPropertyNames,kk=Object.getPrototypeOf,xk=Object.prototype.hasOwnProperty,Sr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),$=(e,t)=>{for(var n in t)pc(e,n,{get:t[n],enumerable:!0})},Ck=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of vk(t))!xk.call(e,o)&&o!==n&&pc(e,o,{get:()=>t[o],enumerable:!(r=Dk(t,o))||r.enumerable});return e},Ek=(e,t,n)=>(n=e!=null?bk(kk(e)):{},Ck(t||!e||!e.__esModule?pc(n,"default",{value:e,enumerable:!0}):n,e)),Fk=Sr(e=>{var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");e.encode=function(n){if(0<=n&&n<t.length)return t[n];throw new TypeError("Must be between 0 and 63: "+n)},e.decode=function(n){var r=65,o=90,i=97,s=122,a=48,l=57,c=43,u=47,p=26,f=52;return r<=n&&n<=o?n-r:i<=n&&n<=s?n-i+p:a<=n&&n<=l?n-a+f:n==c?62:n==u?63:-1}}),Sk=Sr(e=>{var t=Fk(),n=5,r=1<<n,o=r-1,i=r;function s(l){return l<0?(-l<<1)+1:(l<<1)+0}function a(l){var c=(l&1)===1,u=l>>1;return c?-u:u}e.encode=function(l){var c="",u,p=s(l);do u=p&o,p>>>=n,p>0&&(u|=i),c+=t.encode(u);while(p>0);return c},e.decode=function(l,c,u){var p=l.length,f=0,m=0,h,v;do{if(c>=p)throw new Error("Expected more digits in base 64 VLQ value.");if(v=t.decode(l.charCodeAt(c++)),v===-1)throw new Error("Invalid base64 digit: "+l.charAt(c-1));h=!!(v&i),v&=o,f=f+(v<<m),m+=n}while(h);u.value=a(f),u.rest=c}}),fc=Sr(e=>{function t(y,b,B){if(b in y)return y[b];if(arguments.length===3)return B;throw new Error('"'+b+'" is a required argument.')}e.getArg=t;var n=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,r=/^data:.+\,.+$/;function o(y){var b=y.match(n);return b?{scheme:b[1],auth:b[2],host:b[3],port:b[4],path:b[5]}:null}e.urlParse=o;function i(y){var b="";return y.scheme&&(b+=y.scheme+":"),b+="//",y.auth&&(b+=y.auth+"@"),y.host&&(b+=y.host),y.port&&(b+=":"+y.port),y.path&&(b+=y.path),b}e.urlGenerate=i;var s=32;function a(y){var b=[];return function(B){for(var _=0;_<b.length;_++)if(b[_].input===B){var we=b[0];return b[0]=b[_],b[_]=we,b[0].result}var ot=y(B);return b.unshift({input:B,result:ot}),b.length>s&&b.pop(),ot}}var l=a(function(y){var b=y,B=o(y);if(B){if(!B.path)return y;b=B.path}for(var _=e.isAbsolute(b),we=[],ot=0,W=0;;)if(ot=W,W=b.indexOf("/",ot),W===-1){we.push(b.slice(ot));break}else for(we.push(b.slice(ot,W));W<b.length&&b[W]==="/";)W++;for(var ce,zt=0,W=we.length-1;W>=0;W--)ce=we[W],ce==="."?we.splice(W,1):ce===".."?zt++:zt>0&&(ce===""?(we.splice(W+1,zt),zt=0):(we.splice(W,2),zt--));return b=we.join("/"),b===""&&(b=_?"/":"."),B?(B.path=b,i(B)):b});e.normalize=l;function c(y,b){y===""&&(y="."),b===""&&(b=".");var B=o(b),_=o(y);if(_&&(y=_.path||"/"),B&&!B.scheme)return _&&(B.scheme=_.scheme),i(B);if(B||b.match(r))return b;if(_&&!_.host&&!_.path)return _.host=b,i(_);var we=b.charAt(0)==="/"?b:l(y.replace(/\/+$/,"")+"/"+b);return _?(_.path=we,i(_)):we}e.join=c,e.isAbsolute=function(y){return y.charAt(0)==="/"||n.test(y)};function u(y,b){y===""&&(y="."),y=y.replace(/\/$/,"");for(var B=0;b.indexOf(y+"/")!==0;){var _=y.lastIndexOf("/");if(_<0||(y=y.slice(0,_),y.match(/^([^\/]+:\/)?\/*$/)))return b;++B}return Array(B+1).join("../")+b.substr(y.length+1)}e.relative=u;var p=function(){var y=Object.create(null);return!("__proto__"in y)}();function f(y){return y}function m(y){return v(y)?"$"+y:y}e.toSetString=p?f:m;function h(y){return v(y)?y.slice(1):y}e.fromSetString=p?f:h;function v(y){if(!y)return!1;var b=y.length;if(b<9||y.charCodeAt(b-1)!==95||y.charCodeAt(b-2)!==95||y.charCodeAt(b-3)!==111||y.charCodeAt(b-4)!==116||y.charCodeAt(b-5)!==111||y.charCodeAt(b-6)!==114||y.charCodeAt(b-7)!==112||y.charCodeAt(b-8)!==95||y.charCodeAt(b-9)!==95)return!1;for(var B=b-10;B>=0;B--)if(y.charCodeAt(B)!==36)return!1;return!0}function k(y,b,B){var _=x(y.source,b.source);return _!==0||(_=y.originalLine-b.originalLine,_!==0)||(_=y.originalColumn-b.originalColumn,_!==0||B)||(_=y.generatedColumn-b.generatedColumn,_!==0)||(_=y.generatedLine-b.generatedLine,_!==0)?_:x(y.name,b.name)}e.compareByOriginalPositions=k;function T(y,b,B){var _;return _=y.originalLine-b.originalLine,_!==0||(_=y.originalColumn-b.originalColumn,_!==0||B)||(_=y.generatedColumn-b.generatedColumn,_!==0)||(_=y.generatedLine-b.generatedLine,_!==0)?_:x(y.name,b.name)}e.compareByOriginalPositionsNoSource=T;function P(y,b,B){var _=y.generatedLine-b.generatedLine;return _!==0||(_=y.generatedColumn-b.generatedColumn,_!==0||B)||(_=x(y.source,b.source),_!==0)||(_=y.originalLine-b.originalLine,_!==0)||(_=y.originalColumn-b.originalColumn,_!==0)?_:x(y.name,b.name)}e.compareByGeneratedPositionsDeflated=P;function C(y,b,B){var _=y.generatedColumn-b.generatedColumn;return _!==0||B||(_=x(y.source,b.source),_!==0)||(_=y.originalLine-b.originalLine,_!==0)||(_=y.originalColumn-b.originalColumn,_!==0)?_:x(y.name,b.name)}e.compareByGeneratedPositionsDeflatedNoLine=C;function x(y,b){return y===b?0:y===null?1:b===null?-1:y>b?1:-1}function z(y,b){var B=y.generatedLine-b.generatedLine;return B!==0||(B=y.generatedColumn-b.generatedColumn,B!==0)||(B=x(y.source,b.source),B!==0)||(B=y.originalLine-b.originalLine,B!==0)||(B=y.originalColumn-b.originalColumn,B!==0)?B:x(y.name,b.name)}e.compareByGeneratedPositionsInflated=z;function j(y){return JSON.parse(y.replace(/^\)]}'[^\n]*\n/,""))}e.parseSourceMapInput=j;function S(y,b,B){if(b=b||"",y&&(y[y.length-1]!=="/"&&b[0]!=="/"&&(y+="/"),b=y+b),B){var _=o(B);if(!_)throw new Error("sourceMapURL could not be parsed");if(_.path){var we=_.path.lastIndexOf("/");we>=0&&(_.path=_.path.substring(0,we+1))}b=c(i(_),b)}return l(b)}e.computeSourceURL=S}),_k=Sr(e=>{var t=fc(),n=Object.prototype.hasOwnProperty,r=typeof Map<"u";function o(){this._array=[],this._set=r?new Map:Object.create(null)}o.fromArray=function(i,s){for(var a=new o,l=0,c=i.length;l<c;l++)a.add(i[l],s);return a},o.prototype.size=function(){return r?this._set.size:Object.getOwnPropertyNames(this._set).length},o.prototype.add=function(i,s){var a=r?i:t.toSetString(i),l=r?this.has(i):n.call(this._set,a),c=this._array.length;(!l||s)&&this._array.push(i),l||(r?this._set.set(i,c):this._set[a]=c)},o.prototype.has=function(i){if(r)return this._set.has(i);var s=t.toSetString(i);return n.call(this._set,s)},o.prototype.indexOf=function(i){if(r){var s=this._set.get(i);if(s>=0)return s}else{var a=t.toSetString(i);if(n.call(this._set,a))return this._set[a]}throw new Error('"'+i+'" is not in the set.')},o.prototype.at=function(i){if(i>=0&&i<this._array.length)return this._array[i];throw new Error("No element indexed by "+i)},o.prototype.toArray=function(){return this._array.slice()},e.ArraySet=o}),Ak=Sr(e=>{var t=fc();function n(o,i){var s=o.generatedLine,a=i.generatedLine,l=o.generatedColumn,c=i.generatedColumn;return a>s||a==s&&c>=l||t.compareByGeneratedPositionsInflated(o,i)<=0}function r(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}r.prototype.unsortedForEach=function(o,i){this._array.forEach(o,i)},r.prototype.add=function(o){n(this._last,o)?(this._last=o,this._array.push(o)):(this._sorted=!1,this._array.push(o))},r.prototype.toArray=function(){return this._sorted||(this._array.sort(t.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},e.MappingList=r}),Tk=Sr(e=>{var t=Sk(),n=fc(),r=_k().ArraySet,o=Ak().MappingList;function i(s){s||(s={}),this._file=n.getArg(s,"file",null),this._sourceRoot=n.getArg(s,"sourceRoot",null),this._skipValidation=n.getArg(s,"skipValidation",!1),this._sources=new r,this._names=new r,this._mappings=new o,this._sourcesContents=null}i.prototype._version=3,i.fromSourceMap=function(s){var a=s.sourceRoot,l=new i({file:s.file,sourceRoot:a});return s.eachMapping(function(c){var u={generated:{line:c.generatedLine,column:c.generatedColumn}};c.source!=null&&(u.source=c.source,a!=null&&(u.source=n.relative(a,u.source)),u.original={line:c.originalLine,column:c.originalColumn},c.name!=null&&(u.name=c.name)),l.addMapping(u)}),s.sources.forEach(function(c){var u=c;a!==null&&(u=n.relative(a,c)),l._sources.has(u)||l._sources.add(u);var p=s.sourceContentFor(c);p!=null&&l.setSourceContent(c,p)}),l},i.prototype.addMapping=function(s){var a=n.getArg(s,"generated"),l=n.getArg(s,"original",null),c=n.getArg(s,"source",null),u=n.getArg(s,"name",null);this._skipValidation||this._validateMapping(a,l,c,u),c!=null&&(c=String(c),this._sources.has(c)||this._sources.add(c)),u!=null&&(u=String(u),this._names.has(u)||this._names.add(u)),this._mappings.add({generatedLine:a.line,generatedColumn:a.column,originalLine:l!=null&&l.line,originalColumn:l!=null&&l.column,source:c,name:u})},i.prototype.setSourceContent=function(s,a){var l=s;this._sourceRoot!=null&&(l=n.relative(this._sourceRoot,l)),a!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[n.toSetString(l)]=a):this._sourcesContents&&(delete this._sourcesContents[n.toSetString(l)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))},i.prototype.applySourceMap=function(s,a,l){var c=a;if(a==null){if(s.file==null)throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`);c=s.file}var u=this._sourceRoot;u!=null&&(c=n.relative(u,c));var p=new r,f=new r;this._mappings.unsortedForEach(function(m){if(m.source===c&&m.originalLine!=null){var h=s.originalPositionFor({line:m.originalLine,column:m.originalColumn});h.source!=null&&(m.source=h.source,l!=null&&(m.source=n.join(l,m.source)),u!=null&&(m.source=n.relative(u,m.source)),m.originalLine=h.line,m.originalColumn=h.column,h.name!=null&&(m.name=h.name))}var v=m.source;v!=null&&!p.has(v)&&p.add(v);var k=m.name;k!=null&&!f.has(k)&&f.add(k)},this),this._sources=p,this._names=f,s.sources.forEach(function(m){var h=s.sourceContentFor(m);h!=null&&(l!=null&&(m=n.join(l,m)),u!=null&&(m=n.relative(u,m)),this.setSourceContent(m,h))},this)},i.prototype._validateMapping=function(s,a,l,c){if(a&&typeof a.line!="number"&&typeof a.column!="number")throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(!(s&&"line"in s&&"column"in s&&s.line>0&&s.column>=0&&!a&&!l&&!c)){if(s&&"line"in s&&"column"in s&&a&&"line"in a&&"column"in a&&s.line>0&&s.column>=0&&a.line>0&&a.column>=0&&l)return;throw new Error("Invalid mapping: "+JSON.stringify({generated:s,source:l,original:a,name:c}))}},i.prototype._serializeMappings=function(){for(var s=0,a=1,l=0,c=0,u=0,p=0,f="",m,h,v,k,T=this._mappings.toArray(),P=0,C=T.length;P<C;P++){if(h=T[P],m="",h.generatedLine!==a)for(s=0;h.generatedLine!==a;)m+=";",a++;else if(P>0){if(!n.compareByGeneratedPositionsInflated(h,T[P-1]))continue;m+=","}m+=t.encode(h.generatedColumn-s),s=h.generatedColumn,h.source!=null&&(k=this._sources.indexOf(h.source),m+=t.encode(k-p),p=k,m+=t.encode(h.originalLine-1-c),c=h.originalLine-1,m+=t.encode(h.originalColumn-l),l=h.originalColumn,h.name!=null&&(v=this._names.indexOf(h.name),m+=t.encode(v-u),u=v)),f+=m}return f},i.prototype._generateSourcesContent=function(s,a){return s.map(function(l){if(!this._sourcesContents)return null;a!=null&&(l=n.relative(a,l));var c=n.toSetString(l);return Object.prototype.hasOwnProperty.call(this._sourcesContents,c)?this._sourcesContents[c]:null},this)},i.prototype.toJSON=function(){var s={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(s.file=this._file),this._sourceRoot!=null&&(s.sourceRoot=this._sourceRoot),this._sourcesContents&&(s.sourcesContent=this._generateSourcesContent(s.sources,s.sourceRoot)),s},i.prototype.toString=function(){return JSON.stringify(this.toJSON())},e.SourceMapGenerator=i}),Ok={};$(Ok,{AtKeyword:()=>Rk,BadString:()=>Nk,BadUrl:()=>Mk,CDC:()=>Gk,CDO:()=>qk,Colon:()=>Hk,Comma:()=>Kk,Comment:()=>r0,Delim:()=>Wk,Dimension:()=>Vk,EOF:()=>Pk,Function:()=>jk,Hash:()=>$k,Ident:()=>Ik,LeftCurlyBracket:()=>t0,LeftParenthesis:()=>Qk,LeftSquareBracket:()=>Yk,Number:()=>Uk,Percentage:()=>zk,RightCurlyBracket:()=>n0,RightParenthesis:()=>e0,RightSquareBracket:()=>Xk,Semicolon:()=>Zk,String:()=>Bk,Url:()=>Lk,WhiteSpace:()=>Jk});var Pk=0,Ik=1,jk=2,Rk=3,$k=4,Bk=5,Nk=6,Lk=7,Mk=8,Wk=9,Uk=10,zk=11,Vk=12,Jk=13,qk=14,Gk=15,Hk=16,Zk=17,Kk=18,Yk=19,Xk=20,Qk=21,e0=22,t0=23,n0=24,r0=25;function De(e){return e>=48&&e<=57}function nn(e){return De(e)||e>=65&&e<=70||e>=97&&e<=102}function mc(e){return e>=65&&e<=90}function o0(e){return e>=97&&e<=122}function i0(e){return mc(e)||o0(e)}function s0(e){return e>=128}function es(e){return i0(e)||s0(e)||e===95}function gc(e){return es(e)||De(e)||e===45}function a0(e){return e>=0&&e<=8||e===11||e>=14&&e<=31||e===127}function ts(e){return e===10||e===13||e===12}function Tn(e){return ts(e)||e===32||e===9}function ct(e,t){return!(e!==92||ts(t)||t===0)}function Zi(e,t,n){return e===45?es(t)||t===45||ct(t,n):es(e)?!0:e===92?ct(e,t):!1}function Ol(e,t,n){return e===43||e===45?De(t)?2:t===46&&De(n)?3:0:e===46?De(t)?2:0:De(e)?1:0}function fm(e){return e===65279||e===65534?1:0}var Kl=new Array(128),l0=128,Ki=130,mm=131,hc=132,gm=133;for(let e=0;e<Kl.length;e++)Kl[e]=Tn(e)&&Ki||De(e)&&mm||es(e)&&hc||a0(e)&&gm||e||l0;function Pl(e){return e<128?Kl[e]:hc}function xr(e,t){return t<e.length?e.charCodeAt(t):0}function Yl(e,t,n){return n===13&&xr(e,t+1)===10?2:1}function Cr(e,t,n){let r=e.charCodeAt(t);return mc(r)&&(r=r|32),r===n}function Bo(e,t,n,r){if(n-t!==r.length||t<0||n>e.length)return!1;for(let o=t;o<n;o++){let i=r.charCodeAt(o-t),s=e.charCodeAt(o);if(mc(s)&&(s=s|32),s!==i)return!1}return!0}function c0(e,t){for(;t>=0&&Tn(e.charCodeAt(t));t--);return t+1}function Ui(e,t){for(;t<e.length&&Tn(e.charCodeAt(t));t++);return t}function Il(e,t){for(;t<e.length&&De(e.charCodeAt(t));t++);return t}function On(e,t){if(t+=2,nn(xr(e,t-1))){for(let r=Math.min(e.length,t+5);t<r&&nn(xr(e,t));t++);let n=xr(e,t);Tn(n)&&(t+=Yl(e,t,n))}return t}function zi(e,t){for(;t<e.length;t++){let n=e.charCodeAt(t);if(!gc(n)){if(ct(n,xr(e,t+1))){t=On(e,t)-1;continue}break}}return t}function ls(e,t){let n=e.charCodeAt(t);if((n===43||n===45)&&(n=e.charCodeAt(t+=1)),De(n)&&(t=Il(e,t+1),n=e.charCodeAt(t)),n===46&&De(e.charCodeAt(t+1))&&(t+=2,t=Il(e,t)),Cr(e,t,101)){let r=0;n=e.charCodeAt(t+1),(n===45||n===43)&&(r=1,n=e.charCodeAt(t+2)),De(n)&&(t=Il(e,t+1+r+1))}return t}function jl(e,t){for(;t<e.length;t++){let n=e.charCodeAt(t);if(n===41){t++;break}ct(n,xr(e,t+1))&&(t=On(e,t))}return t}function yc(e){if(e.length===1&&!nn(e.charCodeAt(0)))return e[0];let t=parseInt(e,16);return(t===0||t>=55296&&t<=57343||t>1114111)&&(t=65533),String.fromCodePoint(t)}var hm=["EOF-token","ident-token","function-token","at-keyword-token","hash-token","string-token","bad-string-token","url-token","bad-url-token","delim-token","number-token","percentage-token","dimension-token","whitespace-token","CDO-token","CDC-token","colon-token","semicolon-token","comma-token","[-token","]-token","(-token",")-token","{-token","}-token"];function ns(e=null,t){return e===null||e.length<t?new Uint32Array(Math.max(t+1024,16384)):e}var yf=10,u0=12,wf=13;function bf(e){let t=e.source,n=t.length,r=t.length>0?fm(t.charCodeAt(0)):0,o=ns(e.lines,n),i=ns(e.columns,n),s=e.startLine,a=e.startColumn;for(let l=r;l<n;l++){let c=t.charCodeAt(l);o[l]=s,i[l]=a++,(c===yf||c===wf||c===u0)&&(c===wf&&l+1<n&&t.charCodeAt(l+1)===yf&&(l++,o[l]=s,i[l]=a),s++,a=1)}o[n]=s,i[n]=a,e.lines=o,e.columns=i,e.computed=!0}var d0=class{constructor(){this.lines=null,this.columns=null,this.computed=!1}setSource(e,t=0,n=1,r=1){this.source=e,this.startOffset=t,this.startLine=n,this.startColumn=r,this.computed=!1}getLocation(e,t){return this.computed||bf(this),{source:t,offset:this.startOffset+e,line:this.lines[e],column:this.columns[e]}}getLocationRange(e,t,n){return this.computed||bf(this),{source:n,start:{offset:this.startOffset+e,line:this.lines[e],column:this.columns[e]},end:{offset:this.startOffset+t,line:this.lines[t],column:this.columns[t]}}}},He=16777215,Qt=24,p0=new Map([[2,22],[21,22],[19,20],[23,24]]),f0=class{constructor(e,t){this.setSource(e,t)}reset(){this.eof=!1,this.tokenIndex=-1,this.tokenType=0,this.tokenStart=this.firstCharOffset,this.tokenEnd=this.firstCharOffset}setSource(e="",t=()=>{}){e=String(e||"");let n=e.length,r=ns(this.offsetAndType,e.length+1),o=ns(this.balance,e.length+1),i=0,s=0,a=0,l=-1;for(this.offsetAndType=null,this.balance=null,t(e,(c,u,p)=>{switch(c){default:o[i]=n;break;case s:{let f=a&He;for(a=o[f],s=a>>Qt,o[i]=f,o[f++]=i;f<i;f++)o[f]===n&&(o[f]=i);break}case 21:case 2:case 19:case 23:o[i]=a,s=p0.get(c),a=s<<Qt|i;break}r[i++]=c<<Qt|p,l===-1&&(l=u)}),r[i]=0<<Qt|n,o[i]=n,o[n]=n;a!==0;){let c=a&He;a=o[c],o[c]=n}this.source=e,this.firstCharOffset=l===-1?0:l,this.tokenCount=i,this.offsetAndType=r,this.balance=o,this.reset(),this.next()}lookupType(e){return e+=this.tokenIndex,e<this.tokenCount?this.offsetAndType[e]>>Qt:0}lookupOffset(e){return e+=this.tokenIndex,e<this.tokenCount?this.offsetAndType[e-1]&He:this.source.length}lookupValue(e,t){return e+=this.tokenIndex,e<this.tokenCount?Bo(this.source,this.offsetAndType[e-1]&He,this.offsetAndType[e]&He,t):!1}getTokenStart(e){return e===this.tokenIndex?this.tokenStart:e>0?e<this.tokenCount?this.offsetAndType[e-1]&He:this.offsetAndType[this.tokenCount]&He:this.firstCharOffset}substrToCursor(e){return this.source.substring(e,this.tokenStart)}isBalanceEdge(e){return this.balance[this.tokenIndex]<e}isDelim(e,t){return t?this.lookupType(t)===9&&this.source.charCodeAt(this.lookupOffset(t))===e:this.tokenType===9&&this.source.charCodeAt(this.tokenStart)===e}skip(e){let t=this.tokenIndex+e;t<this.tokenCount?(this.tokenIndex=t,this.tokenStart=this.offsetAndType[t-1]&He,t=this.offsetAndType[t],this.tokenType=t>>Qt,this.tokenEnd=t&He):(this.tokenIndex=this.tokenCount,this.next())}next(){let e=this.tokenIndex+1;e<this.tokenCount?(this.tokenIndex=e,this.tokenStart=this.tokenEnd,e=this.offsetAndType[e],this.tokenType=e>>Qt,this.tokenEnd=e&He):(this.eof=!0,this.tokenIndex=this.tokenCount,this.tokenType=0,this.tokenStart=this.tokenEnd=this.source.length)}skipSC(){for(;this.tokenType===13||this.tokenType===25;)this.next()}skipUntilBalanced(e,t){let n=e,r,o;e:for(;n<this.tokenCount;n++){if(r=this.balance[n],r<e)break e;switch(o=n>0?this.offsetAndType[n-1]&He:this.firstCharOffset,t(this.source.charCodeAt(o))){case 1:break e;case 2:n++;break e;default:this.balance[r]===n&&(n=r)}}this.skip(n-this.tokenIndex)}forEachToken(e){for(let t=0,n=this.firstCharOffset;t<this.tokenCount;t++){let r=n,o=this.offsetAndType[t],i=o&He,s=o>>Qt;n=i,e(s,r,i,t)}}dump(){let e=new Array(this.tokenCount);return this.forEachToken((t,n,r,o)=>{e[o]={idx:o,type:hm[t],chunk:this.source.substring(n,r),balance:this.balance[o]}}),e}};function cs(e,t){function n(p){return p<a?e.charCodeAt(p):0}function r(){if(c=ls(e,c),Zi(n(c),n(c+1),n(c+2))){u=12,c=zi(e,c);return}if(n(c)===37){u=11,c++;return}u=10}function o(){let p=c;if(c=zi(e,c),Bo(e,p,c,"url")&&n(c)===40){if(c=Ui(e,c+1),n(c)===34||n(c)===39){u=2,c=p+4;return}s();return}if(n(c)===40){u=2,c++;return}u=1}function i(p){for(p||(p=n(c++)),u=5;c<e.length;c++){let f=e.charCodeAt(c);switch(Pl(f)){case p:c++;return;case Ki:if(ts(f)){c+=Yl(e,c,f),u=6;return}break;case 92:if(c===e.length-1)break;let m=n(c+1);ts(m)?c+=Yl(e,c+1,m):ct(f,m)&&(c=On(e,c)-1);break}}}function s(){for(u=7,c=Ui(e,c);c<e.length;c++){let p=e.charCodeAt(c);switch(Pl(p)){case 41:c++;return;case Ki:if(c=Ui(e,c),n(c)===41||c>=e.length){c<e.length&&c++;return}c=jl(e,c),u=8;return;case 34:case 39:case 40:case gm:c=jl(e,c),u=8;return;case 92:if(ct(p,n(c+1))){c=On(e,c)-1;break}c=jl(e,c),u=8;return}}}e=String(e||"");let a=e.length,l=fm(n(0)),c=l,u;for(;c<a;){let p=e.charCodeAt(c);switch(Pl(p)){case Ki:u=13,c=Ui(e,c+1);break;case 34:i();break;case 35:gc(n(c+1))||ct(n(c+1),n(c+2))?(u=4,c=zi(e,c+1)):(u=9,c++);break;case 39:i();break;case 40:u=21,c++;break;case 41:u=22,c++;break;case 43:Ol(p,n(c+1),n(c+2))?r():(u=9,c++);break;case 44:u=18,c++;break;case 45:Ol(p,n(c+1),n(c+2))?r():n(c+1)===45&&n(c+2)===62?(u=15,c=c+3):Zi(p,n(c+1),n(c+2))?o():(u=9,c++);break;case 46:Ol(p,n(c+1),n(c+2))?r():(u=9,c++);break;case 47:n(c+1)===42?(u=25,c=e.indexOf("*/",c+2),c=c===-1?e.length:c+2):(u=9,c++);break;case 58:u=16,c++;break;case 59:u=17,c++;break;case 60:n(c+1)===33&&n(c+2)===45&&n(c+3)===45?(u=14,c=c+4):(u=9,c++);break;case 64:Zi(n(c+1),n(c+2),n(c+3))?(u=3,c=zi(e,c+1)):(u=9,c++);break;case 91:u=19,c++;break;case 92:ct(p,n(c+1))?o():(u=9,c++);break;case 93:u=20,c++;break;case 123:u=23,c++;break;case 125:u=24,c++;break;case mm:r();break;case hc:o();break;default:u=9,c++}t(u,l,l=c)}}var wr=null,ye=class{static createItem(e){return{prev:null,next:null,data:e}}constructor(){this.head=null,this.tail=null,this.cursor=null}createItem(e){return ye.createItem(e)}allocateCursor(e,t){let n;return wr!==null?(n=wr,wr=wr.cursor,n.prev=e,n.next=t,n.cursor=this.cursor):n={prev:e,next:t,cursor:this.cursor},this.cursor=n,n}releaseCursor(){let{cursor:e}=this;this.cursor=e.cursor,e.prev=null,e.next=null,e.cursor=wr,wr=e}updateCursors(e,t,n,r){let{cursor:o}=this;for(;o!==null;)o.prev===e&&(o.prev=t),o.next===n&&(o.next=r),o=o.cursor}*[Symbol.iterator](){for(let e=this.head;e!==null;e=e.next)yield e.data}get size(){let e=0;for(let t=this.head;t!==null;t=t.next)e++;return e}get isEmpty(){return this.head===null}get first(){return this.head&&this.head.data}get last(){return this.tail&&this.tail.data}fromArray(e){let t=null;this.head=null;for(let n of e){let r=ye.createItem(n);t!==null?t.next=r:this.head=r,r.prev=t,t=r}return this.tail=t,this}toArray(){return[...this]}toJSON(){return[...this]}forEach(e,t=this){let n=this.allocateCursor(null,this.head);for(;n.next!==null;){let r=n.next;n.next=r.next,e.call(t,r.data,r,this)}this.releaseCursor()}forEachRight(e,t=this){let n=this.allocateCursor(this.tail,null);for(;n.prev!==null;){let r=n.prev;n.prev=r.prev,e.call(t,r.data,r,this)}this.releaseCursor()}reduce(e,t,n=this){let r=this.allocateCursor(null,this.head),o=t,i;for(;r.next!==null;)i=r.next,r.next=i.next,o=e.call(n,o,i.data,i,this);return this.releaseCursor(),o}reduceRight(e,t,n=this){let r=this.allocateCursor(this.tail,null),o=t,i;for(;r.prev!==null;)i=r.prev,r.prev=i.prev,o=e.call(n,o,i.data,i,this);return this.releaseCursor(),o}some(e,t=this){for(let n=this.head;n!==null;n=n.next)if(e.call(t,n.data,n,this))return!0;return!1}map(e,t=this){let n=new ye;for(let r=this.head;r!==null;r=r.next)n.appendData(e.call(t,r.data,r,this));return n}filter(e,t=this){let n=new ye;for(let r=this.head;r!==null;r=r.next)e.call(t,r.data,r,this)&&n.appendData(r.data);return n}nextUntil(e,t,n=this){if(e===null)return;let r=this.allocateCursor(null,e);for(;r.next!==null;){let o=r.next;if(r.next=o.next,t.call(n,o.data,o,this))break}this.releaseCursor()}prevUntil(e,t,n=this){if(e===null)return;let r=this.allocateCursor(e,null);for(;r.prev!==null;){let o=r.prev;if(r.prev=o.prev,t.call(n,o.data,o,this))break}this.releaseCursor()}clear(){this.head=null,this.tail=null}copy(){let e=new ye;for(let t of this)e.appendData(t);return e}prepend(e){return this.updateCursors(null,e,this.head,e),this.head!==null?(this.head.prev=e,e.next=this.head):this.tail=e,this.head=e,this}prependData(e){return this.prepend(ye.createItem(e))}append(e){return this.insert(e)}appendData(e){return this.insert(ye.createItem(e))}insert(e,t=null){if(t!==null)if(this.updateCursors(t.prev,e,t,e),t.prev===null){if(this.head!==t)throw new Error("before doesn't belong to list");this.head=e,t.prev=e,e.next=t,this.updateCursors(null,e)}else t.prev.next=e,e.prev=t.prev,t.prev=e,e.next=t;else this.updateCursors(this.tail,e,null,e),this.tail!==null?(this.tail.next=e,e.prev=this.tail):this.head=e,this.tail=e;return this}insertData(e,t){return this.insert(ye.createItem(e),t)}remove(e){if(this.updateCursors(e,e.prev,e,e.next),e.prev!==null)e.prev.next=e.next;else{if(this.head!==e)throw new Error("item doesn't belong to list");this.head=e.next}if(e.next!==null)e.next.prev=e.prev;else{if(this.tail!==e)throw new Error("item doesn't belong to list");this.tail=e.prev}return e.prev=null,e.next=null,e}push(e){this.insert(ye.createItem(e))}pop(){return this.tail!==null?this.remove(this.tail):null}unshift(e){this.prepend(ye.createItem(e))}shift(){return this.head!==null?this.remove(this.head):null}prependList(e){return this.insertList(e,this.head)}appendList(e){return this.insertList(e)}insertList(e,t){return e.head===null?this:(t!=null?(this.updateCursors(t.prev,e.tail,t,e.head),t.prev!==null?(t.prev.next=e.head,e.head.prev=t.prev):this.head=e.head,t.prev=e.tail,e.tail.next=t):(this.updateCursors(this.tail,e.tail,null,e.head),this.tail!==null?(this.tail.next=e.head,e.head.prev=this.tail):this.head=e.head,this.tail=e.tail),e.head=null,e.tail=null,this)}replace(e,t){"head"in t?this.insertList(t,e):this.insert(t,e),this.remove(e)}};function us(e,t){let n=Object.create(SyntaxError.prototype),r=new Error;return Object.assign(n,{name:e,message:t,get stack(){return(r.stack||"").replace(/^(.+\n){1,3}/,`${e}: ${t}
45
- `)}})}var Rl=100,Df=60,vf=" ";function kf({source:e,line:t,column:n},r){function o(u,p){return i.slice(u,p).map((f,m)=>String(u+m+1).padStart(l)+" |"+f).join(`
46
- `)}let i=e.split(/\r\n?|\n|\f/),s=Math.max(1,t-r)-1,a=Math.min(t+r,i.length+1),l=Math.max(4,String(a).length)+1,c=0;n+=(vf.length-1)*(i[t-1].substr(0,n-1).match(/\t/g)||[]).length,n>Rl&&(c=n-Df+3,n=Df-2);for(let u=s;u<=a;u++)u>=0&&u<i.length&&(i[u]=i[u].replace(/\t/g,vf),i[u]=(c>0&&i[u].length>c?"\u2026":"")+i[u].substr(c,Rl-2)+(i[u].length>c+Rl-1?"\u2026":""));return[o(s,t),new Array(n+l+2).join("-")+"^",o(t,a)].filter(Boolean).join(`
47
- `)}function xf(e,t,n,r,o){return Object.assign(us("SyntaxError",e),{source:t,offset:n,line:r,column:o,sourceFragment(i){return kf({source:t,line:r,column:o},isNaN(i)?0:i)},get formattedMessage(){return`Parse error: ${e}
48
- `+kf({source:t,line:r,column:o},2)}})}function m0(e){let t=this.createList(),n=!1,r={recognizer:e};for(;!this.eof;){switch(this.tokenType){case 25:this.next();continue;case 13:n=!0,this.next();continue}let o=e.getNode.call(this,r);if(o===void 0)break;n&&(e.onWhiteSpace&&e.onWhiteSpace.call(this,o,t,r),n=!1),t.push(o)}return n&&e.onWhiteSpace&&e.onWhiteSpace.call(this,null,t,r),t}var Cf=()=>{},g0=33,h0=35,$l=59,Ef=123,Ff=0;function y0(e){return function(){return this[e]()}}function Bl(e){let t=Object.create(null);for(let n in e){let r=e[n],o=r.parse||r;o&&(t[n]=o)}return t}function w0(e){let t={context:Object.create(null),scope:Object.assign(Object.create(null),e.scope),atrule:Bl(e.atrule),pseudo:Bl(e.pseudo),node:Bl(e.node)};for(let n in e.parseContext)switch(typeof e.parseContext[n]){case"function":t.context[n]=e.parseContext[n];break;case"string":t.context[n]=y0(e.parseContext[n]);break}return{config:t,...t,...t.node}}function b0(e){let t="",n="<unknown>",r=!1,o=Cf,i=!1,s=new d0,a=Object.assign(new f0,w0(e||{}),{parseAtrulePrelude:!0,parseRulePrelude:!0,parseValue:!0,parseCustomProperty:!1,readSequence:m0,consumeUntilBalanceEnd:()=>0,consumeUntilLeftCurlyBracket(l){return l===Ef?1:0},consumeUntilLeftCurlyBracketOrSemicolon(l){return l===Ef||l===$l?1:0},consumeUntilExclamationMarkOrSemicolon(l){return l===g0||l===$l?1:0},consumeUntilSemicolonIncluded(l){return l===$l?2:0},createList(){return new ye},createSingleNodeList(l){return new ye().appendData(l)},getFirstListNode(l){return l&&l.first},getLastListNode(l){return l&&l.last},parseWithFallback(l,c){let u=this.tokenIndex;try{return l.call(this)}catch(p){if(i)throw p;let f=c.call(this,u);return i=!0,o(p,f),i=!1,f}},lookupNonWSType(l){let c;do if(c=this.lookupType(l++),c!==13)return c;while(c!==Ff);return Ff},charCodeAt(l){return l>=0&&l<t.length?t.charCodeAt(l):0},substring(l,c){return t.substring(l,c)},substrToCursor(l){return this.source.substring(l,this.tokenStart)},cmpChar(l,c){return Cr(t,l,c)},cmpStr(l,c,u){return Bo(t,l,c,u)},consume(l){let c=this.tokenStart;return this.eat(l),this.substrToCursor(c)},consumeFunctionName(){let l=t.substring(this.tokenStart,this.tokenEnd-1);return this.eat(2),l},consumeNumber(l){let c=t.substring(this.tokenStart,ls(t,this.tokenStart));return this.eat(l),c},eat(l){if(this.tokenType!==l){let c=hm[l].slice(0,-6).replace(/-/g," ").replace(/^./,f=>f.toUpperCase()),u=`${/[[\](){}]/.test(c)?`"${c}"`:c} is expected`,p=this.tokenStart;switch(l){case 1:this.tokenType===2||this.tokenType===7?(p=this.tokenEnd-1,u="Identifier is expected but function found"):u="Identifier is expected";break;case 4:this.isDelim(h0)&&(this.next(),p++,u="Name is expected");break;case 11:this.tokenType===10&&(p=this.tokenEnd,u="Percent sign is expected");break}this.error(u,p)}this.next()},eatIdent(l){(this.tokenType!==1||this.lookupValue(0,l)===!1)&&this.error(`Identifier "${l}" is expected`),this.next()},eatDelim(l){this.isDelim(l)||this.error(`Delim "${String.fromCharCode(l)}" is expected`),this.next()},getLocation(l,c){return r?s.getLocationRange(l,c,n):null},getLocationFromList(l){if(r){let c=this.getFirstListNode(l),u=this.getLastListNode(l);return s.getLocationRange(c!==null?c.loc.start.offset-s.startOffset:this.tokenStart,u!==null?u.loc.end.offset-s.startOffset:this.tokenStart,n)}return null},error(l,c){let u=typeof c<"u"&&c<t.length?s.getLocation(c):this.eof?s.getLocation(c0(t,t.length-1)):s.getLocation(this.tokenStart);throw new xf(l||"Unexpected input",t,u.offset,u.line,u.column)}});return Object.assign(function(l,c){t=l,c=c||{},a.setSource(t,cs),s.setSource(t,c.offset,c.line,c.column),n=c.filename||"<unknown>",r=!!c.positions,o=typeof c.onParseError=="function"?c.onParseError:Cf,i=!1,a.parseAtrulePrelude="parseAtrulePrelude"in c?!!c.parseAtrulePrelude:!0,a.parseRulePrelude="parseRulePrelude"in c?!!c.parseRulePrelude:!0,a.parseValue="parseValue"in c?!!c.parseValue:!0,a.parseCustomProperty="parseCustomProperty"in c?!!c.parseCustomProperty:!1;let{context:u="default",onComment:p}=c;if(!(u in a.context))throw new Error("Unknown context `"+u+"`");typeof p=="function"&&a.forEachToken((m,h,v)=>{if(m===25){let k=a.getLocation(h,v),T=Bo(t,v-2,v,"*/")?t.slice(h+2,v-2):t.slice(h+2,v);p(T,k)}});let f=a.context[u].call(a,c);return a.eof||a.error(),f},{SyntaxError:xf,config:a.config})}var D0=Ek(Tk(),1),Sf=new Set(["Atrule","Selector","Declaration"]);function v0(e){let t=new D0.SourceMapGenerator,n={line:1,column:0},r={line:0,column:0},o={line:1,column:0},i={generated:o},s=1,a=0,l=!1,c=e.node;e.node=function(f){if(f.loc&&f.loc.start&&Sf.has(f.type)){let m=f.loc.start.line,h=f.loc.start.column-1;(r.line!==m||r.column!==h)&&(r.line=m,r.column=h,n.line=s,n.column=a,l&&(l=!1,(n.line!==o.line||n.column!==o.column)&&t.addMapping(i)),l=!0,t.addMapping({source:f.loc.source,original:r,generated:n}))}c.call(this,f),l&&Sf.has(f.type)&&(o.line=s,o.column=a)};let u=e.emit;e.emit=function(f,m,h){for(let v=0;v<f.length;v++)f.charCodeAt(v)===10?(s++,a=0):a++;u(f,m,h)};let p=e.result;return e.result=function(){return l&&t.addMapping(i),{css:p(),map:t}},e}var Xl={};$(Xl,{safe:()=>bm,spec:()=>E0});var k0=43,x0=45,Nl=(e,t)=>{if(e===9&&(e=t),typeof e=="string"){let n=e.charCodeAt(0);return n>127?32768:n<<8}return e},ym=[[1,1],[1,2],[1,7],[1,8],[1,"-"],[1,10],[1,11],[1,12],[1,15],[1,21],[3,1],[3,2],[3,7],[3,8],[3,"-"],[3,10],[3,11],[3,12],[3,15],[4,1],[4,2],[4,7],[4,8],[4,"-"],[4,10],[4,11],[4,12],[4,15],[12,1],[12,2],[12,7],[12,8],[12,"-"],[12,10],[12,11],[12,12],[12,15],["#",1],["#",2],["#",7],["#",8],["#","-"],["#",10],["#",11],["#",12],["#",15],["-",1],["-",2],["-",7],["-",8],["-","-"],["-",10],["-",11],["-",12],["-",15],[10,1],[10,2],[10,7],[10,8],[10,10],[10,11],[10,12],[10,"%"],[10,15],["@",1],["@",2],["@",7],["@",8],["@","-"],["@",15],[".",10],[".",11],[".",12],["+",10],["+",11],["+",12],["/","*"]],C0=ym.concat([[1,4],[12,4],[4,4],[3,21],[3,5],[3,16],[11,11],[11,12],[11,2],[11,"-"],[22,1],[22,2],[22,11],[22,12],[22,4],[22,"-"]]);function wm(e){let t=new Set(e.map(([n,r])=>Nl(n)<<16|Nl(r)));return function(n,r,o){let i=Nl(r,o),s=o.charCodeAt(0);return(s===x0&&r!==1&&r!==2&&r!==15||s===k0?t.has(n<<16|s<<8):t.has(n<<16|i))&&this.emit(" ",13,!0),i}}var E0=wm(ym),bm=wm(C0),F0=92;function S0(e,t){if(typeof t=="function"){let n=null;e.children.forEach(r=>{n!==null&&t.call(this,n),this.node(r),n=r});return}e.children.forEach(this.node,this)}function _0(e){cs(e,(t,n,r)=>{this.token(t,e.slice(n,r))})}function A0(e){let t=new Map;for(let n in e.node){let r=e.node[n];typeof(r.generate||r)=="function"&&t.set(n,r.generate||r)}return function(n,r){let o="",i=0,s={node(l){if(t.has(l.type))t.get(l.type).call(a,l);else throw new Error("Unknown node type: "+l.type)},tokenBefore:bm,token(l,c){i=this.tokenBefore(i,l,c),this.emit(c,l,!1),l===9&&c.charCodeAt(0)===F0&&this.emit(`
49
- `,13,!0)},emit(l){o+=l},result(){return o}};r&&(typeof r.decorator=="function"&&(s=r.decorator(s)),r.sourceMap&&(s=v0(s)),r.mode in Xl&&(s.tokenBefore=Xl[r.mode]));let a={node:l=>s.node(l),children:S0,token:(l,c)=>s.token(l,c),tokenize:_0};return s.node(n),s.result()}}function T0(e){return{fromPlainObject(t){return e(t,{enter(n){n.children&&!(n.children instanceof ye)&&(n.children=new ye().fromArray(n.children))}}),t},toPlainObject(t){return e(t,{leave(n){n.children&&n.children instanceof ye&&(n.children=n.children.toArray())}}),t}}}var{hasOwnProperty:wc}=Object.prototype,To=function(){};function _f(e){return typeof e=="function"?e:To}function Af(e,t){return function(n,r,o){n.type===t&&e.call(this,n,r,o)}}function O0(e,t){let n=t.structure,r=[];for(let o in n){if(wc.call(n,o)===!1)continue;let i=n[o],s={name:o,type:!1,nullable:!1};Array.isArray(i)||(i=[i]);for(let a of i)a===null?s.nullable=!0:typeof a=="string"?s.type="node":Array.isArray(a)&&(s.type="list");s.type&&r.push(s)}return r.length?{context:t.walkContext,fields:r}:null}function P0(e){let t={};for(let n in e.node)if(wc.call(e.node,n)){let r=e.node[n];if(!r.structure)throw new Error("Missed `structure` field in `"+n+"` node type definition");t[n]=O0(n,r)}return t}function Tf(e,t){let n=e.fields.slice(),r=e.context,o=typeof r=="string";return t&&n.reverse(),function(i,s,a,l){let c;o&&(c=s[r],s[r]=i);for(let u of n){let p=i[u.name];if(!u.nullable||p){if(u.type==="list"){if(t?p.reduceRight(l,!1):p.reduce(l,!1))return!0}else if(a(p))return!0}}o&&(s[r]=c)}}function Of({StyleSheet:e,Atrule:t,Rule:n,Block:r,DeclarationList:o}){return{Atrule:{StyleSheet:e,Atrule:t,Rule:n,Block:r},Rule:{StyleSheet:e,Atrule:t,Rule:n,Block:r},Declaration:{StyleSheet:e,Atrule:t,Rule:n,Block:r,DeclarationList:o}}}function I0(e){let t=P0(e),n={},r={},o=Symbol("break-walk"),i=Symbol("skip-node");for(let c in t)wc.call(t,c)&&t[c]!==null&&(n[c]=Tf(t[c],!1),r[c]=Tf(t[c],!0));let s=Of(n),a=Of(r),l=function(c,u){function p(T,P,C){let x=f.call(k,T,P,C);return x===o?!0:x===i?!1:!!(h.hasOwnProperty(T.type)&&h[T.type](T,k,p,v)||m.call(k,T,P,C)===o)}let f=To,m=To,h=n,v=(T,P,C,x)=>T||p(P,C,x),k={break:o,skip:i,root:c,stylesheet:null,atrule:null,atrulePrelude:null,rule:null,selector:null,block:null,declaration:null,function:null};if(typeof u=="function")f=u;else if(u&&(f=_f(u.enter),m=_f(u.leave),u.reverse&&(h=r),u.visit)){if(s.hasOwnProperty(u.visit))h=u.reverse?a[u.visit]:s[u.visit];else if(!t.hasOwnProperty(u.visit))throw new Error("Bad value `"+u.visit+"` for `visit` option (should be: "+Object.keys(t).sort().join(", ")+")");f=Af(f,u.visit),m=Af(m,u.visit)}if(f===To&&m===To)throw new Error("Neither `enter` nor `leave` walker handler is set or both aren't a function");p(c)};return l.break=o,l.skip=i,l.find=function(c,u){let p=null;return l(c,function(f,m,h){if(u.call(this,f,m,h))return p=f,o}),p},l.findLast=function(c,u){let p=null;return l(c,{reverse:!0,enter(f,m,h){if(u.call(this,f,m,h))return p=f,o}}),p},l.findAll=function(c,u){let p=[];return l(c,function(f,m,h){u.call(this,f,m,h)&&p.push(f)}),p},l}function j0(e){return e}function R0(e){let{min:t,max:n,comma:r}=e;return t===0&&n===0?r?"#?":"*":t===0&&n===1?"?":t===1&&n===0?r?"#":"+":t===1&&n===1?"":(r?"#":"")+(t===n?"{"+t+"}":"{"+t+","+(n!==0?n:"")+"}")}function $0(e){switch(e.type){case"Range":return" ["+(e.min===null?"-\u221E":e.min)+","+(e.max===null?"\u221E":e.max)+"]";default:throw new Error("Unknown node type `"+e.type+"`")}}function B0(e,t,n,r){let o=e.combinator===" "||r?e.combinator:" "+e.combinator+" ",i=e.terms.map(s=>bc(s,t,n,r)).join(o);return e.explicit||n?(r||i[0]===","?"[":"[ ")+i+(r?"]":" ]"):i}function bc(e,t,n,r){let o;switch(e.type){case"Group":o=B0(e,t,n,r)+(e.disallowEmpty?"!":"");break;case"Multiplier":return bc(e.term,t,n,r)+t(R0(e),e);case"Type":o="<"+e.name+(e.opts?t($0(e.opts),e.opts):"")+">";break;case"Property":o="<'"+e.name+"'>";break;case"Keyword":o=e.name;break;case"AtKeyword":o="@"+e.name;break;case"Function":o=e.name+"(";break;case"String":case"Token":o=e.value;break;case"Comma":o=",";break;default:throw new Error("Unknown node type `"+e.type+"`")}return t(o,e)}function ds(e,t){let n=j0,r=!1,o=!1;return typeof t=="function"?n=t:t&&(r=!!t.forceBraces,o=!!t.compact,typeof t.decorate=="function"&&(n=t.decorate)),bc(e,n,r,o)}var Pf={offset:0,line:1,column:1};function N0(e,t){let n=e.tokens,r=e.longestMatch,o=r<n.length&&n[r].node||null,i=o!==t?o:null,s=0,a=0,l=0,c="",u,p;for(let f=0;f<n.length;f++){let m=n[f].value;f===r&&(a=m.length,s=c.length),i!==null&&n[f].node===i&&(f<=r?l++:l=0),c+=m}return r===n.length||l>1?(u=Vi(i||t,"end")||Oo(Pf,c),p=Oo(u)):(u=Vi(i,"start")||Oo(Vi(t,"start")||Pf,c.slice(0,s)),p=Vi(i,"end")||Oo(u,c.substr(s,a))),{css:c,mismatchOffset:s,mismatchLength:a,start:u,end:p}}function Vi(e,t){let n=e&&e.loc&&e.loc[t];return n?"line"in n?Oo(n):n:null}function Oo({offset:e,line:t,column:n},r){let o={offset:e,line:t,column:n};if(r){let i=r.split(/\n|\r\n?|\f/);o.offset+=r.length,o.line+=i.length-1,o.column=i.length===1?o.column+r.length:i.pop().length+1}return o}var Ao=function(e,t){let n=us("SyntaxReferenceError",e+(t?" `"+t+"`":""));return n.reference=t,n},L0=function(e,t,n,r){let o=us("SyntaxMatchError",e),{css:i,mismatchOffset:s,mismatchLength:a,start:l,end:c}=N0(r,n);return o.rawMessage=e,o.syntax=t?ds(t):"<generic>",o.css=i,o.mismatchOffset=s,o.mismatchLength=a,o.message=e+`
50
- syntax: `+o.syntax+`
51
- value: `+(i||"<empty string>")+`
52
- --------`+new Array(o.mismatchOffset+1).join("-")+"^",Object.assign(o,l),o.loc={source:n&&n.loc&&n.loc.source||"<unknown>",start:l,end:c},o},Ji=new Map,br=new Map,rs=45,Ll=M0,If=W0;function Dc(e,t){return t=t||0,e.length-t>=2&&e.charCodeAt(t)===rs&&e.charCodeAt(t+1)===rs}function Dm(e,t){if(t=t||0,e.length-t>=3&&e.charCodeAt(t)===rs&&e.charCodeAt(t+1)!==rs){let n=e.indexOf("-",t+2);if(n!==-1)return e.substring(t,n+1)}return""}function M0(e){if(Ji.has(e))return Ji.get(e);let t=e.toLowerCase(),n=Ji.get(t);if(n===void 0){let r=Dc(t,0),o=r?"":Dm(t,0);n=Object.freeze({basename:t.substr(o.length),name:t,prefix:o,vendor:o,custom:r})}return Ji.set(e,n),n}function W0(e){if(br.has(e))return br.get(e);let t=e,n=e[0];n==="/"?n=e[1]==="/"?"//":"/":n!=="_"&&n!=="*"&&n!=="$"&&n!=="#"&&n!=="+"&&n!=="&"&&(n="");let r=Dc(t,n.length);if(!r&&(t=t.toLowerCase(),br.has(t))){let a=br.get(t);return br.set(e,a),a}let o=r?"":Dm(t,n.length),i=t.substr(0,n.length+o.length),s=Object.freeze({basename:t.substr(i.length),name:t.substr(n.length),hack:n,vendor:o,prefix:i,custom:r});return br.set(e,s),s}var vm=["initial","inherit","unset","revert","revert-layer"],No=43,bt=45,Ml=110,Dr=!0,U0=!1;function Ql(e,t){return e!==null&&e.type===9&&e.value.charCodeAt(0)===t}function Ro(e,t,n){for(;e!==null&&(e.type===13||e.type===25);)e=n(++t);return t}function tn(e,t,n,r){if(!e)return 0;let o=e.value.charCodeAt(t);if(o===No||o===bt){if(n)return 0;t++}for(;t<e.value.length;t++)if(!De(e.value.charCodeAt(t)))return 0;return r+1}function Wl(e,t,n){let r=!1,o=Ro(e,t,n);if(e=n(o),e===null)return t;if(e.type!==10)if(Ql(e,No)||Ql(e,bt)){if(r=!0,o=Ro(n(++o),o,n),e=n(o),e===null||e.type!==10)return 0}else return t;if(!r){let i=e.value.charCodeAt(0);if(i!==No&&i!==bt)return 0}return tn(e,r?0:1,r,o)}function z0(e,t){let n=0;if(!e)return 0;if(e.type===10)return tn(e,0,U0,n);if(e.type===1&&e.value.charCodeAt(0)===bt){if(!Cr(e.value,1,Ml))return 0;switch(e.value.length){case 2:return Wl(t(++n),n,t);case 3:return e.value.charCodeAt(2)!==bt?0:(n=Ro(t(++n),n,t),e=t(n),tn(e,0,Dr,n));default:return e.value.charCodeAt(2)!==bt?0:tn(e,3,Dr,n)}}else if(e.type===1||Ql(e,No)&&t(n+1).type===1){if(e.type!==1&&(e=t(++n)),e===null||!Cr(e.value,0,Ml))return 0;switch(e.value.length){case 1:return Wl(t(++n),n,t);case 2:return e.value.charCodeAt(1)!==bt?0:(n=Ro(t(++n),n,t),e=t(n),tn(e,0,Dr,n));default:return e.value.charCodeAt(1)!==bt?0:tn(e,2,Dr,n)}}else if(e.type===12){let r=e.value.charCodeAt(0),o=r===No||r===bt?1:0,i=o;for(;i<e.value.length&&De(e.value.charCodeAt(i));i++);return i===o||!Cr(e.value,i,Ml)?0:i+1===e.value.length?Wl(t(++n),n,t):e.value.charCodeAt(i+1)!==bt?0:i+2===e.value.length?(n=Ro(t(++n),n,t),e=t(n),tn(e,0,Dr,n)):tn(e,i+2,Dr,n)}return 0}var V0=43,km=45,xm=63,J0=117;function ec(e,t){return e!==null&&e.type===9&&e.value.charCodeAt(0)===t}function q0(e,t){return e.value.charCodeAt(0)===t}function Po(e,t,n){let r=0;for(let o=t;o<e.value.length;o++){let i=e.value.charCodeAt(o);if(i===km&&n&&r!==0)return Po(e,t+r+1,!1),6;if(!nn(i)||++r>6)return 0}return r}function qi(e,t,n){if(!e)return 0;for(;ec(n(t),xm);){if(++e>6)return 0;t++}return t}function G0(e,t){let n=0;if(e===null||e.type!==1||!Cr(e.value,0,J0)||(e=t(++n),e===null))return 0;if(ec(e,V0))return e=t(++n),e===null?0:e.type===1?qi(Po(e,0,!0),++n,t):ec(e,xm)?qi(1,++n,t):0;if(e.type===10){let r=Po(e,1,!0);return r===0?0:(e=t(++n),e===null?n:e.type===12||e.type===10?!q0(e,km)||!Po(e,1,!1)?0:n+1:qi(r,n,t))}return e.type===12?qi(Po(e,1,!0),++n,t):0}var H0=["calc(","-moz-calc(","-webkit-calc("],vc=new Map([[2,22],[21,22],[19,20],[23,24]]);function ut(e,t){return t<e.length?e.charCodeAt(t):0}function Cm(e,t){return Bo(e,0,e.length,t)}function Em(e,t){for(let n=0;n<t.length;n++)if(Cm(e,t[n]))return!0;return!1}function Fm(e,t){return t!==e.length-2?!1:ut(e,t)===92&&De(ut(e,t+1))}function ps(e,t,n){if(e&&e.type==="Range"){let r=Number(n!==void 0&&n!==t.length?t.substr(0,n):t);if(isNaN(r)||e.min!==null&&r<e.min&&typeof e.min!="string"||e.max!==null&&r>e.max&&typeof e.max!="string")return!0}return!1}function Z0(e,t){let n=0,r=[],o=0;e:do{switch(e.type){case 24:case 22:case 20:if(e.type!==n)break e;if(n=r.pop(),r.length===0){o++;break e}break;case 2:case 21:case 19:case 23:r.push(n),n=vc.get(e.type);break}o++}while(e=t(o));return o}function Ze(e){return function(t,n,r){return t===null?0:t.type===2&&Em(t.value,H0)?Z0(t,n):e(t,n,r)}}function ae(e){return function(t){return t===null||t.type!==e?0:1}}function K0(e){if(e===null||e.type!==1)return 0;let t=e.value.toLowerCase();return Em(t,vm)||Cm(t,"default")?0:1}function Y0(e){return e===null||e.type!==1||ut(e.value,0)!==45||ut(e.value,1)!==45?0:1}function X0(e){if(e===null||e.type!==4)return 0;let t=e.value.length;if(t!==4&&t!==5&&t!==7&&t!==9)return 0;for(let n=1;n<t;n++)if(!nn(ut(e.value,n)))return 0;return 1}function Q0(e){return e===null||e.type!==4||!Zi(ut(e.value,1),ut(e.value,2),ut(e.value,3))?0:1}function ex(e,t){if(!e)return 0;let n=0,r=[],o=0;e:do{switch(e.type){case 6:case 8:break e;case 24:case 22:case 20:if(e.type!==n)break e;n=r.pop();break;case 17:if(n===0)break e;break;case 9:if(n===0&&e.value==="!")break e;break;case 2:case 21:case 19:case 23:r.push(n),n=vc.get(e.type);break}o++}while(e=t(o));return o}function tx(e,t){if(!e)return 0;let n=0,r=[],o=0;e:do{switch(e.type){case 6:case 8:break e;case 24:case 22:case 20:if(e.type!==n)break e;n=r.pop();break;case 2:case 21:case 19:case 23:r.push(n),n=vc.get(e.type);break}o++}while(e=t(o));return o}function jt(e){return e&&(e=new Set(e)),function(t,n,r){if(t===null||t.type!==12)return 0;let o=ls(t.value,0);if(e!==null){let i=t.value.indexOf("\\",o),s=i===-1||!Fm(t.value,i)?t.value.substr(o):t.value.substring(o,i);if(e.has(s.toLowerCase())===!1)return 0}return ps(r,t.value,o)?0:1}}function nx(e,t,n){return e===null||e.type!==11||ps(n,e.value,e.value.length-1)?0:1}function Sm(e){return typeof e!="function"&&(e=function(){return 0}),function(t,n,r){return t!==null&&t.type===10&&Number(t.value)===0?1:e(t,n,r)}}function rx(e,t,n){if(e===null)return 0;let r=ls(e.value,0);return r!==e.value.length&&!Fm(e.value,r)||ps(n,e.value,r)?0:1}function ox(e,t,n){if(e===null||e.type!==10)return 0;let r=ut(e.value,0)===43||ut(e.value,0)===45?1:0;for(;r<e.value.length;r++)if(!De(ut(e.value,r)))return 0;return ps(n,e.value,r)?0:1}var ix={"ident-token":ae(1),"function-token":ae(2),"at-keyword-token":ae(3),"hash-token":ae(4),"string-token":ae(5),"bad-string-token":ae(6),"url-token":ae(7),"bad-url-token":ae(8),"delim-token":ae(9),"number-token":ae(10),"percentage-token":ae(11),"dimension-token":ae(12),"whitespace-token":ae(13),"CDO-token":ae(14),"CDC-token":ae(15),"colon-token":ae(16),"semicolon-token":ae(17),"comma-token":ae(18),"[-token":ae(19),"]-token":ae(20),"(-token":ae(21),")-token":ae(22),"{-token":ae(23),"}-token":ae(24)},sx={string:ae(5),ident:ae(1),percentage:Ze(nx),zero:Sm(),number:Ze(rx),integer:Ze(ox),"custom-ident":K0,"custom-property-name":Y0,"hex-color":X0,"id-selector":Q0,"an-plus-b":z0,urange:G0,"declaration-value":ex,"any-value":tx};function ax(e){let{angle:t,decibel:n,frequency:r,flex:o,length:i,resolution:s,semitones:a,time:l}=e||{};return{dimension:Ze(jt(null)),angle:Ze(jt(t)),decibel:Ze(jt(n)),frequency:Ze(jt(r)),flex:Ze(jt(o)),length:Ze(Sm(jt(i))),resolution:Ze(jt(s)),semitones:Ze(jt(a)),time:Ze(jt(l))}}function lx(e){return{...ix,...sx,...ax(e)}}var tc={};$(tc,{angle:()=>ux,decibel:()=>gx,flex:()=>mx,frequency:()=>px,length:()=>cx,resolution:()=>fx,semitones:()=>hx,time:()=>dx});var cx=["cm","mm","q","in","pt","pc","px","em","rem","ex","rex","cap","rcap","ch","rch","ic","ric","lh","rlh","vw","svw","lvw","dvw","vh","svh","lvh","dvh","vi","svi","lvi","dvi","vb","svb","lvb","dvb","vmin","svmin","lvmin","dvmin","vmax","svmax","lvmax","dvmax","cqw","cqh","cqi","cqb","cqmin","cqmax"],ux=["deg","grad","rad","turn"],dx=["s","ms"],px=["hz","khz"],fx=["dpi","dpcm","dppx","x"],mx=["fr"],gx=["db"],hx=["st"],yx={};$(yx,{SyntaxError:()=>_m,generate:()=>ds,parse:()=>Sc,walk:()=>jm});function _m(e,t,n){return Object.assign(us("SyntaxError",e),{input:t,offset:n,rawMessage:e,message:e+`
53
- `+t+`
54
- --`+new Array((n||t.length)+1).join("-")+"^"})}var wx=9,bx=10,Dx=12,vx=13,kx=32,xx=class{constructor(e){this.str=e,this.pos=0}charCodeAt(e){return e<this.str.length?this.str.charCodeAt(e):0}charCode(){return this.charCodeAt(this.pos)}nextCharCode(){return this.charCodeAt(this.pos+1)}nextNonWsCode(e){return this.charCodeAt(this.findWsEnd(e))}findWsEnd(e){for(;e<this.str.length;e++){let t=this.str.charCodeAt(e);if(t!==vx&&t!==bx&&t!==Dx&&t!==kx&&t!==wx)break}return e}substringToPos(e){return this.str.substring(this.pos,this.pos=e)}eat(e){this.charCode()!==e&&this.error("Expect `"+String.fromCharCode(e)+"`"),this.pos++}peek(){return this.pos<this.str.length?this.str.charAt(this.pos++):""}error(e){throw new _m(e,this.str,this.pos)}},Cx=9,Ex=10,Fx=12,Sx=13,_x=32,Am=33,kc=35,jf=38,os=39,Tm=40,Ax=41,Om=42,xc=43,Cc=44,Rf=45,Ec=60,Pm=62,nc=63,Tx=64,fs=91,Fc=93,is=123,$f=124,Bf=125,Nf=8734,Lo=new Uint8Array(128).map((e,t)=>/[a-zA-Z0-9\-]/.test(String.fromCharCode(t))?1:0),Lf={" ":1,"&&":2,"||":3,"|":4};function ss(e){return e.substringToPos(e.findWsEnd(e.pos))}function Er(e){let t=e.pos;for(;t<e.str.length;t++){let n=e.str.charCodeAt(t);if(n>=128||Lo[n]===0)break}return e.pos===t&&e.error("Expect a keyword"),e.substringToPos(t)}function as(e){let t=e.pos;for(;t<e.str.length;t++){let n=e.str.charCodeAt(t);if(n<48||n>57)break}return e.pos===t&&e.error("Expect a number"),e.substringToPos(t)}function Ox(e){let t=e.str.indexOf("'",e.pos+1);return t===-1&&(e.pos=e.str.length,e.error("Expect an apostrophe")),e.substringToPos(t+1)}function Mf(e){let t=null,n=null;return e.eat(is),t=as(e),e.charCode()===Cc?(e.pos++,e.charCode()!==Bf&&(n=as(e))):n=t,e.eat(Bf),{min:Number(t),max:n?Number(n):0}}function Px(e){let t=null,n=!1;switch(e.charCode()){case Om:e.pos++,t={min:0,max:0};break;case xc:e.pos++,t={min:1,max:0};break;case nc:e.pos++,t={min:0,max:1};break;case kc:e.pos++,n=!0,e.charCode()===is?t=Mf(e):e.charCode()===nc?(e.pos++,t={min:0,max:0}):t={min:1,max:0};break;case is:t=Mf(e);break;default:return null}return{type:"Multiplier",comma:n,min:t.min,max:t.max,term:null}}function Fr(e,t){let n=Px(e);return n!==null?(n.term=t,e.charCode()===kc&&e.charCodeAt(e.pos-1)===xc?Fr(e,n):n):t}function Ul(e){let t=e.peek();return t===""?null:{type:"Token",value:t}}function Ix(e){let t;return e.eat(Ec),e.eat(os),t=Er(e),e.eat(os),e.eat(Pm),Fr(e,{type:"Property",name:t})}function jx(e){let t=null,n=null,r=1;return e.eat(fs),e.charCode()===Rf&&(e.peek(),r=-1),r==-1&&e.charCode()===Nf?e.peek():(t=r*Number(as(e)),Lo[e.charCode()]!==0&&(t+=Er(e))),ss(e),e.eat(Cc),ss(e),e.charCode()===Nf?e.peek():(r=1,e.charCode()===Rf&&(e.peek(),r=-1),n=r*Number(as(e)),Lo[e.charCode()]!==0&&(n+=Er(e))),e.eat(Fc),{type:"Range",min:t,max:n}}function Rx(e){let t,n=null;return e.eat(Ec),t=Er(e),e.charCode()===Tm&&e.nextCharCode()===Ax&&(e.pos+=2,t+="()"),e.charCodeAt(e.findWsEnd(e.pos))===fs&&(ss(e),n=jx(e)),e.eat(Pm),Fr(e,{type:"Type",name:t,opts:n})}function $x(e){let t=Er(e);return e.charCode()===Tm?(e.pos++,{type:"Function",name:t}):Fr(e,{type:"Keyword",name:t})}function Bx(e,t){function n(o,i){return{type:"Group",terms:o,combinator:i,disallowEmpty:!1,explicit:!1}}let r;for(t=Object.keys(t).sort((o,i)=>Lf[o]-Lf[i]);t.length>0;){r=t.shift();let o=0,i=0;for(;o<e.length;o++){let s=e[o];s.type==="Combinator"&&(s.value===r?(i===-1&&(i=o-1),e.splice(o,1),o--):(i!==-1&&o-i>1&&(e.splice(i,o-i,n(e.slice(i,o),r)),o=i+1),i=-1))}i!==-1&&t.length&&e.splice(i,o-i,n(e.slice(i,o),r))}return r}function Im(e){let t=[],n={},r,o=null,i=e.pos;for(;r=Lx(e);)r.type!=="Spaces"&&(r.type==="Combinator"?((o===null||o.type==="Combinator")&&(e.pos=i,e.error("Unexpected combinator")),n[r.value]=!0):o!==null&&o.type!=="Combinator"&&(n[" "]=!0,t.push({type:"Combinator",value:" "})),t.push(r),o=r,i=e.pos);return o!==null&&o.type==="Combinator"&&(e.pos-=i,e.error("Unexpected combinator")),{type:"Group",terms:t,combinator:Bx(t,n)||" ",disallowEmpty:!1,explicit:!1}}function Nx(e){let t;return e.eat(fs),t=Im(e),e.eat(Fc),t.explicit=!0,e.charCode()===Am&&(e.pos++,t.disallowEmpty=!0),t}function Lx(e){let t=e.charCode();if(t<128&&Lo[t]===1)return $x(e);switch(t){case Fc:break;case fs:return Fr(e,Nx(e));case Ec:return e.nextCharCode()===os?Ix(e):Rx(e);case $f:return{type:"Combinator",value:e.substringToPos(e.pos+(e.nextCharCode()===$f?2:1))};case jf:return e.pos++,e.eat(jf),{type:"Combinator",value:"&&"};case Cc:return e.pos++,{type:"Comma"};case os:return Fr(e,{type:"String",value:Ox(e)});case _x:case Cx:case Ex:case Sx:case Fx:return{type:"Spaces",value:ss(e)};case Tx:return t=e.nextCharCode(),t<128&&Lo[t]===1?(e.pos++,{type:"AtKeyword",name:Er(e)}):Ul(e);case Om:case xc:case nc:case kc:case Am:break;case is:if(t=e.nextCharCode(),t<48||t>57)return Ul(e);break;default:return Ul(e)}}function Sc(e){let t=new xx(e),n=Im(t);return t.pos!==e.length&&t.error("Unexpected input"),n.terms.length===1&&n.terms[0].type==="Group"?n.terms[0]:n}var Io=function(){};function Wf(e){return typeof e=="function"?e:Io}function jm(e,t,n){function r(s){switch(o.call(n,s),s.type){case"Group":s.terms.forEach(r);break;case"Multiplier":r(s.term);break;case"Type":case"Property":case"Keyword":case"AtKeyword":case"Function":case"String":case"Token":case"Comma":break;default:throw new Error("Unknown type: "+s.type)}i.call(n,s)}let o=Io,i=Io;if(typeof t=="function"?o=t:t&&(o=Wf(t.enter),i=Wf(t.leave)),o===Io&&i===Io)throw new Error("Neither `enter` nor `leave` walker handler is set or both aren't a function");r(e,n)}var Mx={decorator(e){let t=[],n=null;return{...e,node(r){let o=n;n=r,e.node.call(this,r),n=o},emit(r,o,i){t.push({type:o,value:r,node:i?null:n})},result(){return t}}}};function Wx(e){let t=[];return cs(e,(n,r,o)=>t.push({type:n,value:e.slice(r,o),node:null})),t}function Ux(e,t){return typeof e=="string"?Wx(e):t.generate(e,Mx)}var re={type:"Match"},ie={type:"Mismatch"},_c={type:"DisallowEmpty"},zx=40,Vx=41;function Ee(e,t,n){return t===re&&n===ie||e===re&&t===re&&n===re?e:(e.type==="If"&&e.else===ie&&t===re&&(t=e.then,e=e.match),{type:"If",match:e,then:t,else:n})}function Rm(e){return e.length>2&&e.charCodeAt(e.length-2)===zx&&e.charCodeAt(e.length-1)===Vx}function Uf(e){return e.type==="Keyword"||e.type==="AtKeyword"||e.type==="Function"||e.type==="Type"&&Rm(e.name)}function rc(e,t,n){switch(e){case" ":{let r=re;for(let o=t.length-1;o>=0;o--){let i=t[o];r=Ee(i,r,ie)}return r}case"|":{let r=ie,o=null;for(let i=t.length-1;i>=0;i--){let s=t[i];if(Uf(s)&&(o===null&&i>0&&Uf(t[i-1])&&(o=Object.create(null),r=Ee({type:"Enum",map:o},re,r)),o!==null)){let a=(Rm(s.name)?s.name.slice(0,-1):s.name).toLowerCase();if(!(a in o)){o[a]=s;continue}}o=null,r=Ee(s,re,r)}return r}case"&&":{if(t.length>5)return{type:"MatchOnce",terms:t,all:!0};let r=ie;for(let o=t.length-1;o>=0;o--){let i=t[o],s;t.length>1?s=rc(e,t.filter(function(a){return a!==i}),!1):s=re,r=Ee(i,s,r)}return r}case"||":{if(t.length>5)return{type:"MatchOnce",terms:t,all:!1};let r=n?re:ie;for(let o=t.length-1;o>=0;o--){let i=t[o],s;t.length>1?s=rc(e,t.filter(function(a){return a!==i}),!0):s=re,r=Ee(i,s,r)}return r}}}function Jx(e){let t=re,n=Ac(e.term);if(e.max===0)n=Ee(n,_c,ie),t=Ee(n,null,ie),t.then=Ee(re,re,t),e.comma&&(t.then.else=Ee({type:"Comma",syntax:e},t,ie));else for(let r=e.min||1;r<=e.max;r++)e.comma&&t!==re&&(t=Ee({type:"Comma",syntax:e},t,ie)),t=Ee(n,Ee(re,re,t),ie);if(e.min===0)t=Ee(re,re,t);else for(let r=0;r<e.min-1;r++)e.comma&&t!==re&&(t=Ee({type:"Comma",syntax:e},t,ie)),t=Ee(n,t,ie);return t}function Ac(e){if(typeof e=="function")return{type:"Generic",fn:e};switch(e.type){case"Group":{let t=rc(e.combinator,e.terms.map(Ac),!1);return e.disallowEmpty&&(t=Ee(t,_c,ie)),t}case"Multiplier":return Jx(e);case"Type":case"Property":return{type:e.type,name:e.name,syntax:e};case"Keyword":return{type:e.type,name:e.name.toLowerCase(),syntax:e};case"AtKeyword":return{type:e.type,name:"@"+e.name.toLowerCase(),syntax:e};case"Function":return{type:e.type,name:e.name.toLowerCase()+"(",syntax:e};case"String":return e.value.length===3?{type:"Token",value:e.value.charAt(1),syntax:e}:{type:e.type,value:e.value.substr(1,e.value.length-2).replace(/\\'/g,"'"),syntax:e};case"Token":return{type:e.type,value:e.value,syntax:e};case"Comma":return{type:e.type,syntax:e};default:throw new Error("Unknown node type:",e.type)}}function oc(e,t){return typeof e=="string"&&(e=Sc(e)),{type:"MatchGraph",match:Ac(e),syntax:t||null,source:e}}var{hasOwnProperty:zf}=Object.prototype,qx=0,Gx=1,ic=2,$m=3,Vf="Match",Hx="Mismatch",Zx="Maximum iteration number exceeded (please fill an issue on https://github.com/csstree/csstree/issues)",Jf=15e3,Kx=0;function Yx(e){let t=null,n=null,r=e;for(;r!==null;)n=r.prev,r.prev=t,t=r,r=n;return t}function zl(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++){let r=t.charCodeAt(n),o=e.charCodeAt(n);if(o>=65&&o<=90&&(o=o|32),o!==r)return!1}return!0}function Xx(e){return e.type!==9?!1:e.value!=="?"}function qf(e){return e===null?!0:e.type===18||e.type===2||e.type===21||e.type===19||e.type===23||Xx(e)}function Gf(e){return e===null?!0:e.type===22||e.type===20||e.type===24||e.type===9&&e.value==="/"}function Qx(e,t,n){function r(){do P++,T=P<e.length?e[P]:null;while(T!==null&&(T.type===13||T.type===25))}function o(z){let j=P+z;return j<e.length?e[j]:null}function i(z,j){return{nextState:z,matchStack:x,syntaxStack:p,thenStack:f,tokenIndex:P,prev:j}}function s(z){f={nextState:z,matchStack:x,syntaxStack:p,prev:f}}function a(z){m=i(z,m)}function l(){x={type:Gx,syntax:t.syntax,token:T,prev:x},r(),h=null,P>C&&(C=P)}function c(){p={syntax:t.syntax,opts:t.syntax.opts||p!==null&&p.opts||null,prev:p},x={type:ic,syntax:t.syntax,token:x.token,prev:x}}function u(){x.type===ic?x=x.prev:x={type:$m,syntax:p.syntax,token:x.token,prev:x},p=p.prev}let p=null,f=null,m=null,h=null,v=0,k=null,T=null,P=-1,C=0,x={type:qx,syntax:null,token:null,prev:null};for(r();k===null&&++v<Jf;)switch(t.type){case"Match":if(f===null){if(T!==null&&(P!==e.length-1||T.value!=="\\0"&&T.value!=="\\9")){t=ie;break}k=Vf;break}if(t=f.nextState,t===_c)if(f.matchStack===x){t=ie;break}else t=re;for(;f.syntaxStack!==p;)u();f=f.prev;break;case"Mismatch":if(h!==null&&h!==!1)(m===null||P>m.tokenIndex)&&(m=h,h=!1);else if(m===null){k=Hx;break}t=m.nextState,f=m.thenStack,p=m.syntaxStack,x=m.matchStack,P=m.tokenIndex,T=P<e.length?e[P]:null,m=m.prev;break;case"MatchGraph":t=t.match;break;case"If":t.else!==ie&&a(t.else),t.then!==re&&s(t.then),t=t.match;break;case"MatchOnce":t={type:"MatchOnceBuffer",syntax:t,index:0,mask:0};break;case"MatchOnceBuffer":{let S=t.syntax.terms;if(t.index===S.length){if(t.mask===0||t.syntax.all){t=ie;break}t=re;break}if(t.mask===(1<<S.length)-1){t=re;break}for(;t.index<S.length;t.index++){let y=1<<t.index;if((t.mask&y)===0){a(t),s({type:"AddMatchOnce",syntax:t.syntax,mask:t.mask|y}),t=S[t.index++];break}}break}case"AddMatchOnce":t={type:"MatchOnceBuffer",syntax:t.syntax,index:0,mask:t.mask};break;case"Enum":if(T!==null){let S=T.value.toLowerCase();if(S.indexOf("\\")!==-1&&(S=S.replace(/\\[09].*$/,"")),zf.call(t.map,S)){t=t.map[S];break}}t=ie;break;case"Generic":{let S=p!==null?p.opts:null,y=P+Math.floor(t.fn(T,o,S));if(!isNaN(y)&&y>P){for(;P<y;)l();t=re}else t=ie;break}case"Type":case"Property":{let S=t.type==="Type"?"types":"properties",y=zf.call(n,S)?n[S][t.name]:null;if(!y||!y.match)throw new Error("Bad syntax reference: "+(t.type==="Type"?"<"+t.name+">":"<'"+t.name+"'>"));if(h!==!1&&T!==null&&t.type==="Type"&&(t.name==="custom-ident"&&T.type===1||t.name==="length"&&T.value==="0")){h===null&&(h=i(t,m)),t=ie;break}c(),t=y.match;break}case"Keyword":{let S=t.name;if(T!==null){let y=T.value;if(y.indexOf("\\")!==-1&&(y=y.replace(/\\[09].*$/,"")),zl(y,S)){l(),t=re;break}}t=ie;break}case"AtKeyword":case"Function":if(T!==null&&zl(T.value,t.name)){l(),t=re;break}t=ie;break;case"Token":if(T!==null&&T.value===t.value){l(),t=re;break}t=ie;break;case"Comma":T!==null&&T.type===18?qf(x.token)?t=ie:(l(),t=Gf(T)?ie:re):t=qf(x.token)||Gf(T)?re:ie;break;case"String":let z="",j=P;for(;j<e.length&&z.length<t.value.length;j++)z+=e[j].value;if(zl(z,t.value)){for(;P<j;)l();t=re}else t=ie;break;default:throw new Error("Unknown node type: "+t.type)}switch(Kx+=v,k){case null:console.warn("[csstree-match] BREAK after "+Jf+" iterations"),k=Zx,x=null;break;case Vf:for(;p!==null;)u();break;default:x=null}return{tokens:e,reason:k,iterations:v,match:x,longestMatch:C}}function Hf(e,t,n){let r=Qx(e,t,n||{});if(r.match===null)return r;let o=r.match,i=r.match={syntax:t.syntax||null,match:[]},s=[i];for(o=Yx(o).prev;o!==null;){switch(o.type){case ic:i.match.push(i={syntax:o.syntax,match:[]}),s.push(i);break;case $m:s.pop(),i=s[s.length-1];break;default:i.match.push({syntax:o.syntax||null,token:o.token.value,node:o.token.node})}o=o.prev}return r}var Bm={};$(Bm,{getTrace:()=>Nm,isKeyword:()=>nC,isProperty:()=>tC,isType:()=>eC});function Nm(e){function t(o){return o===null?!1:o.type==="Type"||o.type==="Property"||o.type==="Keyword"}function n(o){if(Array.isArray(o.match)){for(let i=0;i<o.match.length;i++)if(n(o.match[i]))return t(o.syntax)&&r.unshift(o.syntax),!0}else if(o.node===e)return r=t(o.syntax)?[o.syntax]:[],!0;return!1}let r=null;return this.matched!==null&&n(this.matched),r}function eC(e,t){return Tc(this,e,n=>n.type==="Type"&&n.name===t)}function tC(e,t){return Tc(this,e,n=>n.type==="Property"&&n.name===t)}function nC(e){return Tc(this,e,t=>t.type==="Keyword")}function Tc(e,t,n){let r=Nm.call(e,t);return r===null?!1:r.some(n)}function Lm(e){return"node"in e?e.node:Lm(e.match[0])}function Mm(e){return"node"in e?e.node:Mm(e.match[e.match.length-1])}function Zf(e,t,n,r,o){function i(a){if(a.syntax!==null&&a.syntax.type===r&&a.syntax.name===o){let l=Lm(a),c=Mm(a);e.syntax.walk(t,function(u,p,f){if(u===l){let m=new ye;do{if(m.appendData(p.data),p.data===c)break;p=p.next}while(p!==null);s.push({parent:f,nodes:m})}})}Array.isArray(a.match)&&a.match.forEach(i)}let s=[];return n.matched!==null&&i(n.matched),s}var{hasOwnProperty:$o}=Object.prototype;function Vl(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e&&e>=0}function Kf(e){return!!e&&Vl(e.offset)&&Vl(e.line)&&Vl(e.column)}function rC(e,t){return function(n,r){if(!n||n.constructor!==Object)return r(n,"Type of node should be an Object");for(let o in n){let i=!0;if($o.call(n,o)!==!1){if(o==="type")n.type!==e&&r(n,"Wrong node type `"+n.type+"`, expected `"+e+"`");else if(o==="loc"){if(n.loc===null)continue;if(n.loc&&n.loc.constructor===Object)if(typeof n.loc.source!="string")o+=".source";else if(!Kf(n.loc.start))o+=".start";else if(!Kf(n.loc.end))o+=".end";else continue;i=!1}else if(t.hasOwnProperty(o)){i=!1;for(let s=0;!i&&s<t[o].length;s++){let a=t[o][s];switch(a){case String:i=typeof n[o]=="string";break;case Boolean:i=typeof n[o]=="boolean";break;case null:i=n[o]===null;break;default:typeof a=="string"?i=n[o]&&n[o].type===a:Array.isArray(a)&&(i=n[o]instanceof ye)}}}else r(n,"Unknown field `"+o+"` for "+e+" node type");i||r(n,"Bad value for `"+e+"."+o+"`")}}for(let o in t)$o.call(t,o)&&$o.call(n,o)===!1&&r(n,"Field `"+e+"."+o+"` is missed")}}function oC(e,t){let n=t.structure,r={type:String,loc:!0},o={type:'"'+e+'"'};for(let i in n){if($o.call(n,i)===!1)continue;let s=[],a=r[i]=Array.isArray(n[i])?n[i].slice():[n[i]];for(let l=0;l<a.length;l++){let c=a[l];if(c===String||c===Boolean)s.push(c.name);else if(c===null)s.push("null");else if(typeof c=="string")s.push("<"+c+">");else if(Array.isArray(c))s.push("List");else throw new Error("Wrong value `"+c+"` in `"+e+"."+i+"` structure definition")}o[i]=s.join(" | ")}return{docs:o,check:rC(e,r)}}function iC(e){let t={};if(e.node){for(let n in e.node)if($o.call(e.node,n)){let r=e.node[n];if(r.structure)t[n]=oC(n,r);else throw new Error("Missed `structure` field in `"+n+"` node type definition")}}return t}var sC=oc(vm.join(" | "));function sc(e,t,n){let r={};for(let o in e)e[o].syntax&&(r[o]=n?e[o].syntax:ds(e[o].syntax,{compact:t}));return r}function aC(e,t,n){let r={};for(let[o,i]of Object.entries(e))r[o]={prelude:i.prelude&&(n?i.prelude.syntax:ds(i.prelude.syntax,{compact:t})),descriptors:i.descriptors&&sc(i.descriptors,t,n)};return r}function lC(e){for(let t=0;t<e.length;t++)if(e[t].value.toLowerCase()==="var(")return!0;return!1}function lt(e,t,n){return{matched:e,iterations:n,error:t,...Bm}}function vr(e,t,n,r){let o=Ux(n,e.syntax),i;return lC(o)?lt(null,new Error("Matching for a tree with var() is not supported")):(r&&(i=Hf(o,e.cssWideKeywordsSyntax,e)),(!r||!i.match)&&(i=Hf(o,t.match,e),!i.match)?lt(null,new L0(i.reason,t.syntax,n,i),i.iterations):lt(i.match,null,i.iterations))}var Yf=class{constructor(e,t,n){if(this.cssWideKeywordsSyntax=sC,this.syntax=t,this.generic=!1,this.units={...tc},this.atrules=Object.create(null),this.properties=Object.create(null),this.types=Object.create(null),this.structure=n||iC(e),e){if(e.units)for(let r of Object.keys(tc))Array.isArray(e.units[r])&&(this.units[r]=e.units[r]);if(e.types)for(let r in e.types)this.addType_(r,e.types[r]);if(e.generic){this.generic=!0;for(let[r,o]of Object.entries(lx(this.units)))this.addType_(r,o)}if(e.atrules)for(let r in e.atrules)this.addAtrule_(r,e.atrules[r]);if(e.properties)for(let r in e.properties)this.addProperty_(r,e.properties[r])}}checkStructure(e){function t(o,i){r.push({node:o,message:i})}let n=this.structure,r=[];return this.syntax.walk(e,function(o){n.hasOwnProperty(o.type)?n[o.type].check(o,t):t(o,"Unknown node type `"+o.type+"`")}),r.length?r:!1}createDescriptor(e,t,n,r=null){let o={type:t,name:n},i={type:t,name:n,parent:r,serializable:typeof e=="string"||e&&typeof e.type=="string",syntax:null,match:null};return typeof e=="function"?i.match=oc(e,o):(typeof e=="string"?Object.defineProperty(i,"syntax",{get(){return Object.defineProperty(i,"syntax",{value:Sc(e)}),i.syntax}}):i.syntax=e,Object.defineProperty(i,"match",{get(){return Object.defineProperty(i,"match",{value:oc(i.syntax,o)}),i.match}})),i}addAtrule_(e,t){!t||(this.atrules[e]={type:"Atrule",name:e,prelude:t.prelude?this.createDescriptor(t.prelude,"AtrulePrelude",e):null,descriptors:t.descriptors?Object.keys(t.descriptors).reduce((n,r)=>(n[r]=this.createDescriptor(t.descriptors[r],"AtruleDescriptor",r,e),n),Object.create(null)):null})}addProperty_(e,t){!t||(this.properties[e]=this.createDescriptor(t,"Property",e))}addType_(e,t){!t||(this.types[e]=this.createDescriptor(t,"Type",e))}checkAtruleName(e){if(!this.getAtrule(e))return new Ao("Unknown at-rule","@"+e)}checkAtrulePrelude(e,t){let n=this.checkAtruleName(e);if(n)return n;let r=this.getAtrule(e);if(!r.prelude&&t)return new SyntaxError("At-rule `@"+e+"` should not contain a prelude");if(r.prelude&&!t&&!vr(this,r.prelude,"",!1).matched)return new SyntaxError("At-rule `@"+e+"` should contain a prelude")}checkAtruleDescriptorName(e,t){let n=this.checkAtruleName(e);if(n)return n;let r=this.getAtrule(e),o=Ll(t);if(!r.descriptors)return new SyntaxError("At-rule `@"+e+"` has no known descriptors");if(!r.descriptors[o.name]&&!r.descriptors[o.basename])return new Ao("Unknown at-rule descriptor",t)}checkPropertyName(e){if(!this.getProperty(e))return new Ao("Unknown property",e)}matchAtrulePrelude(e,t){let n=this.checkAtrulePrelude(e,t);if(n)return lt(null,n);let r=this.getAtrule(e);return r.prelude?vr(this,r.prelude,t||"",!1):lt(null,null)}matchAtruleDescriptor(e,t,n){let r=this.checkAtruleDescriptorName(e,t);if(r)return lt(null,r);let o=this.getAtrule(e),i=Ll(t);return vr(this,o.descriptors[i.name]||o.descriptors[i.basename],n,!1)}matchDeclaration(e){return e.type!=="Declaration"?lt(null,new Error("Not a Declaration node")):this.matchProperty(e.property,e.value)}matchProperty(e,t){if(If(e).custom)return lt(null,new Error("Lexer matching doesn't applicable for custom properties"));let n=this.checkPropertyName(e);return n?lt(null,n):vr(this,this.getProperty(e),t,!0)}matchType(e,t){let n=this.getType(e);return n?vr(this,n,t,!1):lt(null,new Ao("Unknown type",e))}match(e,t){return typeof e!="string"&&(!e||!e.type)?lt(null,new Ao("Bad syntax")):((typeof e=="string"||!e.match)&&(e=this.createDescriptor(e,"Type","anonymous")),vr(this,e,t,!1))}findValueFragments(e,t,n,r){return Zf(this,t,this.matchProperty(e,t),n,r)}findDeclarationValueFragments(e,t,n){return Zf(this,e.value,this.matchDeclaration(e),t,n)}findAllFragments(e,t,n){let r=[];return this.syntax.walk(e,{visit:"Declaration",enter:o=>{r.push.apply(r,this.findDeclarationValueFragments(o,t,n))}}),r}getAtrule(e,t=!0){let n=Ll(e);return(n.vendor&&t?this.atrules[n.name]||this.atrules[n.basename]:this.atrules[n.name])||null}getAtrulePrelude(e,t=!0){let n=this.getAtrule(e,t);return n&&n.prelude||null}getAtruleDescriptor(e,t){return this.atrules.hasOwnProperty(e)&&this.atrules.declarators&&this.atrules[e].declarators[t]||null}getProperty(e,t=!0){let n=If(e);return(n.vendor&&t?this.properties[n.name]||this.properties[n.basename]:this.properties[n.name])||null}getType(e){return hasOwnProperty.call(this.types,e)?this.types[e]:null}validate(){function e(r,o,i,s){if(i.has(o))return i.get(o);i.set(o,!1),s.syntax!==null&&jm(s.syntax,function(a){if(a.type!=="Type"&&a.type!=="Property")return;let l=a.type==="Type"?r.types:r.properties,c=a.type==="Type"?t:n;(!hasOwnProperty.call(l,a.name)||e(r,a.name,c,l[a.name]))&&i.set(o,!0)},this)}let t=new Map,n=new Map;for(let r in this.types)e(this,r,t,this.types[r]);for(let r in this.properties)e(this,r,n,this.properties[r]);return t=[...t.keys()].filter(r=>t.get(r)),n=[...n.keys()].filter(r=>n.get(r)),t.length||n.length?{types:t,properties:n}:null}dump(e,t){return{generic:this.generic,units:this.units,types:sc(this.types,!t,e),properties:sc(this.properties,!t,e),atrules:aC(this.atrules,!t,e)}}toString(){return JSON.stringify(this.dump())}};function Jl(e,t){return typeof t=="string"&&/^\s*\|/.test(t)?typeof e=="string"?e+t:t.replace(/^\s*\|\s*/,""):t||null}function Xf(e,t){let n=Object.create(null);for(let[r,o]of Object.entries(e))if(o){n[r]={};for(let i of Object.keys(o))t.includes(i)&&(n[r][i]=o[i])}return n}function ac(e,t){let n={...e};for(let[r,o]of Object.entries(t))switch(r){case"generic":n[r]=!!o;break;case"units":n[r]={...e[r]};for(let[i,s]of Object.entries(o))n[r][i]=Array.isArray(s)?s:[];break;case"atrules":n[r]={...e[r]};for(let[i,s]of Object.entries(o)){let a=n[r][i]||{},l=n[r][i]={prelude:a.prelude||null,descriptors:{...a.descriptors}};if(s){l.prelude=s.prelude?Jl(l.prelude,s.prelude):l.prelude||null;for(let[c,u]of Object.entries(s.descriptors||{}))l.descriptors[c]=u?Jl(l.descriptors[c],u):null;Object.keys(l.descriptors).length||(l.descriptors=null)}}break;case"types":case"properties":n[r]={...e[r]};for(let[i,s]of Object.entries(o))n[r][i]=Jl(n[r][i],s);break;case"scope":n[r]={...e[r]};for(let[i,s]of Object.entries(o))n[r][i]={...n[r][i],...s};break;case"parseContext":n[r]={...e[r],...o};break;case"atrule":case"pseudo":n[r]={...e[r],...Xf(o,["parse"])};break;case"node":n[r]={...e[r],...Xf(o,["name","structure","parse","generate","walkContext"])};break}return n}function Wm(e){let t=b0(e),n=I0(e),r=A0(e),{fromPlainObject:o,toPlainObject:i}=T0(n),s={lexer:null,createLexer:a=>new Yf(a,s,s.lexer.structure),tokenize:cs,parse:t,generate:r,walk:n,find:n.find,findLast:n.findLast,findAll:n.findAll,fromPlainObject:o,toPlainObject:i,fork(a){let l=ac({},e);return Wm(typeof a=="function"?a(l,Object.assign):ac(l,a))}};return s.lexer=new Yf({generic:!0,units:e.units,types:e.types,atrules:e.atrules,properties:e.properties,node:e.node},s),s}var cC=e=>Wm(ac({},e)),uC={generic:!0,units:{angle:["deg","grad","rad","turn"],decibel:["db"],flex:["fr"],frequency:["hz","khz"],length:["cm","mm","q","in","pt","pc","px","em","rem","ex","rex","cap","rcap","ch","rch","ic","ric","lh","rlh","vw","svw","lvw","dvw","vh","svh","lvh","dvh","vi","svi","lvi","dvi","vb","svb","lvb","dvb","vmin","svmin","lvmin","dvmin","vmax","svmax","lvmax","dvmax","cqw","cqh","cqi","cqb","cqmin","cqmax"],resolution:["dpi","dpcm","dppx","x"],semitones:["st"],time:["s","ms"]},types:{"abs()":"abs( <calc-sum> )","absolute-size":"xx-small|x-small|small|medium|large|x-large|xx-large|xxx-large","acos()":"acos( <calc-sum> )","alpha-value":"<number>|<percentage>","angle-percentage":"<angle>|<percentage>","angular-color-hint":"<angle-percentage>","angular-color-stop":"<color>&&<color-stop-angle>?","angular-color-stop-list":"[<angular-color-stop> [, <angular-color-hint>]?]# , <angular-color-stop>","animateable-feature":"scroll-position|contents|<custom-ident>","asin()":"asin( <calc-sum> )","atan()":"atan( <calc-sum> )","atan2()":"atan2( <calc-sum> , <calc-sum> )",attachment:"scroll|fixed|local","attr()":"attr( <attr-name> <type-or-unit>? [, <attr-fallback>]? )","attr-matcher":"['~'|'|'|'^'|'$'|'*']? '='","attr-modifier":"i|s","attribute-selector":"'[' <wq-name> ']'|'[' <wq-name> <attr-matcher> [<string-token>|<ident-token>] <attr-modifier>? ']'","auto-repeat":"repeat( [auto-fill|auto-fit] , [<line-names>? <fixed-size>]+ <line-names>? )","auto-track-list":"[<line-names>? [<fixed-size>|<fixed-repeat>]]* <line-names>? <auto-repeat> [<line-names>? [<fixed-size>|<fixed-repeat>]]* <line-names>?",axis:"block|inline|vertical|horizontal","baseline-position":"[first|last]? baseline","basic-shape":"<inset()>|<circle()>|<ellipse()>|<polygon()>|<path()>","bg-image":"none|<image>","bg-layer":"<bg-image>||<bg-position> [/ <bg-size>]?||<repeat-style>||<attachment>||<box>||<box>","bg-position":"[[left|center|right|top|bottom|<length-percentage>]|[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]|[center|[left|right] <length-percentage>?]&&[center|[top|bottom] <length-percentage>?]]","bg-size":"[<length-percentage>|auto]{1,2}|cover|contain","blur()":"blur( <length> )","blend-mode":"normal|multiply|screen|overlay|darken|lighten|color-dodge|color-burn|hard-light|soft-light|difference|exclusion|hue|saturation|color|luminosity",box:"border-box|padding-box|content-box","brightness()":"brightness( <number-percentage> )","calc()":"calc( <calc-sum> )","calc-sum":"<calc-product> [['+'|'-'] <calc-product>]*","calc-product":"<calc-value> ['*' <calc-value>|'/' <number>]*","calc-value":"<number>|<dimension>|<percentage>|<calc-constant>|( <calc-sum> )","calc-constant":"e|pi|infinity|-infinity|NaN","cf-final-image":"<image>|<color>","cf-mixing-image":"<percentage>?&&<image>","circle()":"circle( [<shape-radius>]? [at <position>]? )","clamp()":"clamp( <calc-sum>#{3} )","class-selector":"'.' <ident-token>","clip-source":"<url>",color:"<rgb()>|<rgba()>|<hsl()>|<hsla()>|<hwb()>|<lab()>|<lch()>|<hex-color>|<named-color>|currentcolor|<deprecated-system-color>","color-stop":"<color-stop-length>|<color-stop-angle>","color-stop-angle":"<angle-percentage>{1,2}","color-stop-length":"<length-percentage>{1,2}","color-stop-list":"[<linear-color-stop> [, <linear-color-hint>]?]# , <linear-color-stop>",combinator:"'>'|'+'|'~'|['||']","common-lig-values":"[common-ligatures|no-common-ligatures]","compat-auto":"searchfield|textarea|push-button|slider-horizontal|checkbox|radio|square-button|menulist|listbox|meter|progress-bar|button","composite-style":"clear|copy|source-over|source-in|source-out|source-atop|destination-over|destination-in|destination-out|destination-atop|xor","compositing-operator":"add|subtract|intersect|exclude","compound-selector":"[<type-selector>? <subclass-selector>* [<pseudo-element-selector> <pseudo-class-selector>*]*]!","compound-selector-list":"<compound-selector>#","complex-selector":"<compound-selector> [<combinator>? <compound-selector>]*","complex-selector-list":"<complex-selector>#","conic-gradient()":"conic-gradient( [from <angle>]? [at <position>]? , <angular-color-stop-list> )","contextual-alt-values":"[contextual|no-contextual]","content-distribution":"space-between|space-around|space-evenly|stretch","content-list":"[<string>|contents|<image>|<counter>|<quote>|<target>|<leader()>|<attr()>]+","content-position":"center|start|end|flex-start|flex-end","content-replacement":"<image>","contrast()":"contrast( [<number-percentage>] )","cos()":"cos( <calc-sum> )",counter:"<counter()>|<counters()>","counter()":"counter( <counter-name> , <counter-style>? )","counter-name":"<custom-ident>","counter-style":"<counter-style-name>|symbols( )","counter-style-name":"<custom-ident>","counters()":"counters( <counter-name> , <string> , <counter-style>? )","cross-fade()":"cross-fade( <cf-mixing-image> , <cf-final-image>? )","cubic-bezier-timing-function":"ease|ease-in|ease-out|ease-in-out|cubic-bezier( <number [0,1]> , <number> , <number [0,1]> , <number> )","deprecated-system-color":"ActiveBorder|ActiveCaption|AppWorkspace|Background|ButtonFace|ButtonHighlight|ButtonShadow|ButtonText|CaptionText|GrayText|Highlight|HighlightText|InactiveBorder|InactiveCaption|InactiveCaptionText|InfoBackground|InfoText|Menu|MenuText|Scrollbar|ThreeDDarkShadow|ThreeDFace|ThreeDHighlight|ThreeDLightShadow|ThreeDShadow|Window|WindowFrame|WindowText","discretionary-lig-values":"[discretionary-ligatures|no-discretionary-ligatures]","display-box":"contents|none","display-inside":"flow|flow-root|table|flex|grid|ruby","display-internal":"table-row-group|table-header-group|table-footer-group|table-row|table-cell|table-column-group|table-column|table-caption|ruby-base|ruby-text|ruby-base-container|ruby-text-container","display-legacy":"inline-block|inline-list-item|inline-table|inline-flex|inline-grid","display-listitem":"<display-outside>?&&[flow|flow-root]?&&list-item","display-outside":"block|inline|run-in","drop-shadow()":"drop-shadow( <length>{2,3} <color>? )","east-asian-variant-values":"[jis78|jis83|jis90|jis04|simplified|traditional]","east-asian-width-values":"[full-width|proportional-width]","element()":"element( <custom-ident> , [first|start|last|first-except]? )|element( <id-selector> )","ellipse()":"ellipse( [<shape-radius>{2}]? [at <position>]? )","ending-shape":"circle|ellipse","env()":"env( <custom-ident> , <declaration-value>? )","exp()":"exp( <calc-sum> )","explicit-track-list":"[<line-names>? <track-size>]+ <line-names>?","family-name":"<string>|<custom-ident>+","feature-tag-value":"<string> [<integer>|on|off]?","feature-type":"@stylistic|@historical-forms|@styleset|@character-variant|@swash|@ornaments|@annotation","feature-value-block":"<feature-type> '{' <feature-value-declaration-list> '}'","feature-value-block-list":"<feature-value-block>+","feature-value-declaration":"<custom-ident> : <integer>+ ;","feature-value-declaration-list":"<feature-value-declaration>","feature-value-name":"<custom-ident>","fill-rule":"nonzero|evenodd","filter-function":"<blur()>|<brightness()>|<contrast()>|<drop-shadow()>|<grayscale()>|<hue-rotate()>|<invert()>|<opacity()>|<saturate()>|<sepia()>","filter-function-list":"[<filter-function>|<url>]+","final-bg-layer":"<'background-color'>||<bg-image>||<bg-position> [/ <bg-size>]?||<repeat-style>||<attachment>||<box>||<box>","fixed-breadth":"<length-percentage>","fixed-repeat":"repeat( [<integer [1,\u221E]>] , [<line-names>? <fixed-size>]+ <line-names>? )","fixed-size":"<fixed-breadth>|minmax( <fixed-breadth> , <track-breadth> )|minmax( <inflexible-breadth> , <fixed-breadth> )","font-stretch-absolute":"normal|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded|<percentage>","font-variant-css21":"[normal|small-caps]","font-weight-absolute":"normal|bold|<number [1,1000]>","frequency-percentage":"<frequency>|<percentage>","general-enclosed":"[<function-token> <any-value> )]|( <ident> <any-value> )","generic-family":"serif|sans-serif|cursive|fantasy|monospace|-apple-system","generic-name":"serif|sans-serif|cursive|fantasy|monospace","geometry-box":"<shape-box>|fill-box|stroke-box|view-box",gradient:"<linear-gradient()>|<repeating-linear-gradient()>|<radial-gradient()>|<repeating-radial-gradient()>|<conic-gradient()>|<repeating-conic-gradient()>|<-legacy-gradient>","grayscale()":"grayscale( <number-percentage> )","grid-line":"auto|<custom-ident>|[<integer>&&<custom-ident>?]|[span&&[<integer>||<custom-ident>]]","historical-lig-values":"[historical-ligatures|no-historical-ligatures]","hsl()":"hsl( <hue> <percentage> <percentage> [/ <alpha-value>]? )|hsl( <hue> , <percentage> , <percentage> , <alpha-value>? )","hsla()":"hsla( <hue> <percentage> <percentage> [/ <alpha-value>]? )|hsla( <hue> , <percentage> , <percentage> , <alpha-value>? )",hue:"<number>|<angle>","hue-rotate()":"hue-rotate( <angle> )","hwb()":"hwb( [<hue>|none] [<percentage>|none] [<percentage>|none] [/ [<alpha-value>|none]]? )","hypot()":"hypot( <calc-sum># )",image:"<url>|<image()>|<image-set()>|<element()>|<paint()>|<cross-fade()>|<gradient>","image()":"image( <image-tags>? [<image-src>? , <color>?]! )","image-set()":"image-set( <image-set-option># )","image-set-option":"[<image>|<string>] [<resolution>||type( <string> )]","image-src":"<url>|<string>","image-tags":"ltr|rtl","inflexible-breadth":"<length-percentage>|min-content|max-content|auto","inset()":"inset( <length-percentage>{1,4} [round <'border-radius'>]? )","invert()":"invert( <number-percentage> )","keyframes-name":"<custom-ident>|<string>","keyframe-block":"<keyframe-selector># { <declaration-list> }","keyframe-block-list":"<keyframe-block>+","keyframe-selector":"from|to|<percentage>","lab()":"lab( [<percentage>|<number>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )","layer()":"layer( <layer-name> )","layer-name":"<ident> ['.' <ident>]*","lch()":"lch( [<percentage>|<number>|none] [<percentage>|<number>|none] [<hue>|none] [/ [<alpha-value>|none]]? )","leader()":"leader( <leader-type> )","leader-type":"dotted|solid|space|<string>","length-percentage":"<length>|<percentage>","line-names":"'[' <custom-ident>* ']'","line-name-list":"[<line-names>|<name-repeat>]+","line-style":"none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset","line-width":"<length>|thin|medium|thick","linear-color-hint":"<length-percentage>","linear-color-stop":"<color> <color-stop-length>?","linear-gradient()":"linear-gradient( [<angle>|to <side-or-corner>]? , <color-stop-list> )","log()":"log( <calc-sum> , <calc-sum>? )","mask-layer":"<mask-reference>||<position> [/ <bg-size>]?||<repeat-style>||<geometry-box>||[<geometry-box>|no-clip]||<compositing-operator>||<masking-mode>","mask-position":"[<length-percentage>|left|center|right] [<length-percentage>|top|center|bottom]?","mask-reference":"none|<image>|<mask-source>","mask-source":"<url>","masking-mode":"alpha|luminance|match-source","matrix()":"matrix( <number>#{6} )","matrix3d()":"matrix3d( <number>#{16} )","max()":"max( <calc-sum># )","media-and":"<media-in-parens> [and <media-in-parens>]+","media-condition":"<media-not>|<media-and>|<media-or>|<media-in-parens>","media-condition-without-or":"<media-not>|<media-and>|<media-in-parens>","media-feature":"( [<mf-plain>|<mf-boolean>|<mf-range>] )","media-in-parens":"( <media-condition> )|<media-feature>|<general-enclosed>","media-not":"not <media-in-parens>","media-or":"<media-in-parens> [or <media-in-parens>]+","media-query":"<media-condition>|[not|only]? <media-type> [and <media-condition-without-or>]?","media-query-list":"<media-query>#","media-type":"<ident>","mf-boolean":"<mf-name>","mf-name":"<ident>","mf-plain":"<mf-name> : <mf-value>","mf-range":"<mf-name> ['<'|'>']? '='? <mf-value>|<mf-value> ['<'|'>']? '='? <mf-name>|<mf-value> '<' '='? <mf-name> '<' '='? <mf-value>|<mf-value> '>' '='? <mf-name> '>' '='? <mf-value>","mf-value":"<number>|<dimension>|<ident>|<ratio>","min()":"min( <calc-sum># )","minmax()":"minmax( [<length-percentage>|min-content|max-content|auto] , [<length-percentage>|<flex>|min-content|max-content|auto] )","mod()":"mod( <calc-sum> , <calc-sum> )","name-repeat":"repeat( [<integer [1,\u221E]>|auto-fill] , <line-names>+ )","named-color":"transparent|aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen|<-non-standard-color>","namespace-prefix":"<ident>","ns-prefix":"[<ident-token>|'*']? '|'","number-percentage":"<number>|<percentage>","numeric-figure-values":"[lining-nums|oldstyle-nums]","numeric-fraction-values":"[diagonal-fractions|stacked-fractions]","numeric-spacing-values":"[proportional-nums|tabular-nums]",nth:"<an-plus-b>|even|odd","opacity()":"opacity( [<number-percentage>] )","overflow-position":"unsafe|safe","outline-radius":"<length>|<percentage>","page-body":"<declaration>? [; <page-body>]?|<page-margin-box> <page-body>","page-margin-box":"<page-margin-box-type> '{' <declaration-list> '}'","page-margin-box-type":"@top-left-corner|@top-left|@top-center|@top-right|@top-right-corner|@bottom-left-corner|@bottom-left|@bottom-center|@bottom-right|@bottom-right-corner|@left-top|@left-middle|@left-bottom|@right-top|@right-middle|@right-bottom","page-selector-list":"[<page-selector>#]?","page-selector":"<pseudo-page>+|<ident> <pseudo-page>*","page-size":"A5|A4|A3|B5|B4|JIS-B5|JIS-B4|letter|legal|ledger","path()":"path( [<fill-rule> ,]? <string> )","paint()":"paint( <ident> , <declaration-value>? )","perspective()":"perspective( [<length [0,\u221E]>|none] )","polygon()":"polygon( <fill-rule>? , [<length-percentage> <length-percentage>]# )",position:"[[left|center|right]||[top|center|bottom]|[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]?|[[left|right] <length-percentage>]&&[[top|bottom] <length-percentage>]]","pow()":"pow( <calc-sum> , <calc-sum> )","pseudo-class-selector":"':' <ident-token>|':' <function-token> <any-value> ')'","pseudo-element-selector":"':' <pseudo-class-selector>","pseudo-page":": [left|right|first|blank]",quote:"open-quote|close-quote|no-open-quote|no-close-quote","radial-gradient()":"radial-gradient( [<ending-shape>||<size>]? [at <position>]? , <color-stop-list> )",ratio:"<number [0,\u221E]> [/ <number [0,\u221E]>]?","relative-selector":"<combinator>? <complex-selector>","relative-selector-list":"<relative-selector>#","relative-size":"larger|smaller","rem()":"rem( <calc-sum> , <calc-sum> )","repeat-style":"repeat-x|repeat-y|[repeat|space|round|no-repeat]{1,2}","repeating-conic-gradient()":"repeating-conic-gradient( [from <angle>]? [at <position>]? , <angular-color-stop-list> )","repeating-linear-gradient()":"repeating-linear-gradient( [<angle>|to <side-or-corner>]? , <color-stop-list> )","repeating-radial-gradient()":"repeating-radial-gradient( [<ending-shape>||<size>]? [at <position>]? , <color-stop-list> )","reversed-counter-name":"reversed( <counter-name> )","rgb()":"rgb( <percentage>{3} [/ <alpha-value>]? )|rgb( <number>{3} [/ <alpha-value>]? )|rgb( <percentage>#{3} , <alpha-value>? )|rgb( <number>#{3} , <alpha-value>? )","rgba()":"rgba( <percentage>{3} [/ <alpha-value>]? )|rgba( <number>{3} [/ <alpha-value>]? )|rgba( <percentage>#{3} , <alpha-value>? )|rgba( <number>#{3} , <alpha-value>? )","rotate()":"rotate( [<angle>|<zero>] )","rotate3d()":"rotate3d( <number> , <number> , <number> , [<angle>|<zero>] )","rotateX()":"rotateX( [<angle>|<zero>] )","rotateY()":"rotateY( [<angle>|<zero>] )","rotateZ()":"rotateZ( [<angle>|<zero>] )","round()":"round( <rounding-strategy>? , <calc-sum> , <calc-sum> )","rounding-strategy":"nearest|up|down|to-zero","saturate()":"saturate( <number-percentage> )","scale()":"scale( [<number>|<percentage>]#{1,2} )","scale3d()":"scale3d( [<number>|<percentage>]#{3} )","scaleX()":"scaleX( [<number>|<percentage>] )","scaleY()":"scaleY( [<number>|<percentage>] )","scaleZ()":"scaleZ( [<number>|<percentage>] )",scroller:"root|nearest","self-position":"center|start|end|self-start|self-end|flex-start|flex-end","shape-radius":"<length-percentage>|closest-side|farthest-side","sign()":"sign( <calc-sum> )","skew()":"skew( [<angle>|<zero>] , [<angle>|<zero>]? )","skewX()":"skewX( [<angle>|<zero>] )","skewY()":"skewY( [<angle>|<zero>] )","sepia()":"sepia( <number-percentage> )",shadow:"inset?&&<length>{2,4}&&<color>?","shadow-t":"[<length>{2,3}&&<color>?]",shape:"rect( <top> , <right> , <bottom> , <left> )|rect( <top> <right> <bottom> <left> )","shape-box":"<box>|margin-box","side-or-corner":"[left|right]||[top|bottom]","sin()":"sin( <calc-sum> )","single-animation":"<time>||<easing-function>||<time>||<single-animation-iteration-count>||<single-animation-direction>||<single-animation-fill-mode>||<single-animation-play-state>||[none|<keyframes-name>]","single-animation-direction":"normal|reverse|alternate|alternate-reverse","single-animation-fill-mode":"none|forwards|backwards|both","single-animation-iteration-count":"infinite|<number>","single-animation-play-state":"running|paused","single-animation-timeline":"auto|none|<timeline-name>|scroll( <axis>? <scroller>? )","single-transition":"[none|<single-transition-property>]||<time>||<easing-function>||<time>","single-transition-property":"all|<custom-ident>",size:"closest-side|farthest-side|closest-corner|farthest-corner|<length>|<length-percentage>{2}","sqrt()":"sqrt( <calc-sum> )","step-position":"jump-start|jump-end|jump-none|jump-both|start|end","step-timing-function":"step-start|step-end|steps( <integer> [, <step-position>]? )","subclass-selector":"<id-selector>|<class-selector>|<attribute-selector>|<pseudo-class-selector>","supports-condition":"not <supports-in-parens>|<supports-in-parens> [and <supports-in-parens>]*|<supports-in-parens> [or <supports-in-parens>]*","supports-in-parens":"( <supports-condition> )|<supports-feature>|<general-enclosed>","supports-feature":"<supports-decl>|<supports-selector-fn>","supports-decl":"( <declaration> )","supports-selector-fn":"selector( <complex-selector> )",symbol:"<string>|<image>|<custom-ident>","tan()":"tan( <calc-sum> )",target:"<target-counter()>|<target-counters()>|<target-text()>","target-counter()":"target-counter( [<string>|<url>] , <custom-ident> , <counter-style>? )","target-counters()":"target-counters( [<string>|<url>] , <custom-ident> , <string> , <counter-style>? )","target-text()":"target-text( [<string>|<url>] , [content|before|after|first-letter]? )","time-percentage":"<time>|<percentage>","timeline-name":"<custom-ident>|<string>","easing-function":"linear|<cubic-bezier-timing-function>|<step-timing-function>","track-breadth":"<length-percentage>|<flex>|min-content|max-content|auto","track-list":"[<line-names>? [<track-size>|<track-repeat>]]+ <line-names>?","track-repeat":"repeat( [<integer [1,\u221E]>] , [<line-names>? <track-size>]+ <line-names>? )","track-size":"<track-breadth>|minmax( <inflexible-breadth> , <track-breadth> )|fit-content( <length-percentage> )","transform-function":"<matrix()>|<translate()>|<translateX()>|<translateY()>|<scale()>|<scaleX()>|<scaleY()>|<rotate()>|<skew()>|<skewX()>|<skewY()>|<matrix3d()>|<translate3d()>|<translateZ()>|<scale3d()>|<scaleZ()>|<rotate3d()>|<rotateX()>|<rotateY()>|<rotateZ()>|<perspective()>","transform-list":"<transform-function>+","translate()":"translate( <length-percentage> , <length-percentage>? )","translate3d()":"translate3d( <length-percentage> , <length-percentage> , <length> )","translateX()":"translateX( <length-percentage> )","translateY()":"translateY( <length-percentage> )","translateZ()":"translateZ( <length> )","type-or-unit":"string|color|url|integer|number|length|angle|time|frequency|cap|ch|em|ex|ic|lh|rlh|rem|vb|vi|vw|vh|vmin|vmax|mm|Q|cm|in|pt|pc|px|deg|grad|rad|turn|ms|s|Hz|kHz|%","type-selector":"<wq-name>|<ns-prefix>? '*'","var()":"var( <custom-property-name> , <declaration-value>? )","viewport-length":"auto|<length-percentage>","visual-box":"content-box|padding-box|border-box","wq-name":"<ns-prefix>? <ident-token>","-legacy-gradient":"<-webkit-gradient()>|<-legacy-linear-gradient>|<-legacy-repeating-linear-gradient>|<-legacy-radial-gradient>|<-legacy-repeating-radial-gradient>","-legacy-linear-gradient":"-moz-linear-gradient( <-legacy-linear-gradient-arguments> )|-webkit-linear-gradient( <-legacy-linear-gradient-arguments> )|-o-linear-gradient( <-legacy-linear-gradient-arguments> )","-legacy-repeating-linear-gradient":"-moz-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )|-webkit-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )|-o-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )","-legacy-linear-gradient-arguments":"[<angle>|<side-or-corner>]? , <color-stop-list>","-legacy-radial-gradient":"-moz-radial-gradient( <-legacy-radial-gradient-arguments> )|-webkit-radial-gradient( <-legacy-radial-gradient-arguments> )|-o-radial-gradient( <-legacy-radial-gradient-arguments> )","-legacy-repeating-radial-gradient":"-moz-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )|-webkit-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )|-o-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )","-legacy-radial-gradient-arguments":"[<position> ,]? [[[<-legacy-radial-gradient-shape>||<-legacy-radial-gradient-size>]|[<length>|<percentage>]{2}] ,]? <color-stop-list>","-legacy-radial-gradient-size":"closest-side|closest-corner|farthest-side|farthest-corner|contain|cover","-legacy-radial-gradient-shape":"circle|ellipse","-non-standard-font":"-apple-system-body|-apple-system-headline|-apple-system-subheadline|-apple-system-caption1|-apple-system-caption2|-apple-system-footnote|-apple-system-short-body|-apple-system-short-headline|-apple-system-short-subheadline|-apple-system-short-caption1|-apple-system-short-footnote|-apple-system-tall-body","-non-standard-color":"-moz-ButtonDefault|-moz-ButtonHoverFace|-moz-ButtonHoverText|-moz-CellHighlight|-moz-CellHighlightText|-moz-Combobox|-moz-ComboboxText|-moz-Dialog|-moz-DialogText|-moz-dragtargetzone|-moz-EvenTreeRow|-moz-Field|-moz-FieldText|-moz-html-CellHighlight|-moz-html-CellHighlightText|-moz-mac-accentdarkestshadow|-moz-mac-accentdarkshadow|-moz-mac-accentface|-moz-mac-accentlightesthighlight|-moz-mac-accentlightshadow|-moz-mac-accentregularhighlight|-moz-mac-accentregularshadow|-moz-mac-chrome-active|-moz-mac-chrome-inactive|-moz-mac-focusring|-moz-mac-menuselect|-moz-mac-menushadow|-moz-mac-menutextselect|-moz-MenuHover|-moz-MenuHoverText|-moz-MenuBarText|-moz-MenuBarHoverText|-moz-nativehyperlinktext|-moz-OddTreeRow|-moz-win-communicationstext|-moz-win-mediatext|-moz-activehyperlinktext|-moz-default-background-color|-moz-default-color|-moz-hyperlinktext|-moz-visitedhyperlinktext|-webkit-activelink|-webkit-focus-ring-color|-webkit-link|-webkit-text","-non-standard-image-rendering":"optimize-contrast|-moz-crisp-edges|-o-crisp-edges|-webkit-optimize-contrast","-non-standard-overflow":"-moz-scrollbars-none|-moz-scrollbars-horizontal|-moz-scrollbars-vertical|-moz-hidden-unscrollable","-non-standard-width":"fill-available|min-intrinsic|intrinsic|-moz-available|-moz-fit-content|-moz-min-content|-moz-max-content|-webkit-min-content|-webkit-max-content","-webkit-gradient()":"-webkit-gradient( <-webkit-gradient-type> , <-webkit-gradient-point> [, <-webkit-gradient-point>|, <-webkit-gradient-radius> , <-webkit-gradient-point>] [, <-webkit-gradient-radius>]? [, <-webkit-gradient-color-stop>]* )","-webkit-gradient-color-stop":"from( <color> )|color-stop( [<number-zero-one>|<percentage>] , <color> )|to( <color> )","-webkit-gradient-point":"[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]","-webkit-gradient-radius":"<length>|<percentage>","-webkit-gradient-type":"linear|radial","-webkit-mask-box-repeat":"repeat|stretch|round","-webkit-mask-clip-style":"border|border-box|padding|padding-box|content|content-box|text","-ms-filter-function-list":"<-ms-filter-function>+","-ms-filter-function":"<-ms-filter-function-progid>|<-ms-filter-function-legacy>","-ms-filter-function-progid":"'progid:' [<ident-token> '.']* [<ident-token>|<function-token> <any-value>? )]","-ms-filter-function-legacy":"<ident-token>|<function-token> <any-value>? )","-ms-filter":"<string>",age:"child|young|old","attr-name":"<wq-name>","attr-fallback":"<any-value>","bg-clip":"<box>|border|text",bottom:"<length>|auto","container-name":"<custom-ident>","container-condition":"not <query-in-parens>|<query-in-parens> [[and <query-in-parens>]*|[or <query-in-parens>]*]","generic-voice":"[<age>? <gender> <integer>?]",gender:"male|female|neutral",left:"<length>|auto","mask-image":"<mask-reference>#",paint:"none|<color>|<url> [none|<color>]?|context-fill|context-stroke",right:"<length>|auto","scroll-timeline-axis":"block|inline|vertical|horizontal","scroll-timeline-name":"none|<custom-ident>","single-animation-composition":"replace|add|accumulate","svg-length":"<percentage>|<length>|<number>","svg-writing-mode":"lr-tb|rl-tb|tb-rl|lr|rl|tb",top:"<length>|auto",x:"<number>",y:"<number>",declaration:"<ident-token> : <declaration-value>? ['!' important]?","declaration-list":"[<declaration>? ';']* <declaration>?",url:"url( <string> <url-modifier>* )|<url-token>","url-modifier":"<ident>|<function-token> <any-value> )","number-zero-one":"<number [0,1]>","number-one-or-greater":"<number [1,\u221E]>","query-in-parens":"( <container-condition> )|( <size-feature> )|style( <style-query> )|<general-enclosed>","size-feature":"<mf-plain>|<mf-boolean>|<mf-range>","style-feature":"<declaration>","style-query":"<style-condition>|<style-feature>","style-condition":"not <style-in-parens>|<style-in-parens> [[and <style-in-parens>]*|[or <style-in-parens>]*]","style-in-parens":"( <style-condition> )|( <style-feature> )|<general-enclosed>","-non-standard-display":"-ms-inline-flexbox|-ms-grid|-ms-inline-grid|-webkit-flex|-webkit-inline-flex|-webkit-box|-webkit-inline-box|-moz-inline-stack|-moz-box|-moz-inline-box"},properties:{"--*":"<declaration-value>","-ms-accelerator":"false|true","-ms-block-progression":"tb|rl|bt|lr","-ms-content-zoom-chaining":"none|chained","-ms-content-zooming":"none|zoom","-ms-content-zoom-limit":"<'-ms-content-zoom-limit-min'> <'-ms-content-zoom-limit-max'>","-ms-content-zoom-limit-max":"<percentage>","-ms-content-zoom-limit-min":"<percentage>","-ms-content-zoom-snap":"<'-ms-content-zoom-snap-type'>||<'-ms-content-zoom-snap-points'>","-ms-content-zoom-snap-points":"snapInterval( <percentage> , <percentage> )|snapList( <percentage># )","-ms-content-zoom-snap-type":"none|proximity|mandatory","-ms-filter":"<string>","-ms-flow-from":"[none|<custom-ident>]#","-ms-flow-into":"[none|<custom-ident>]#","-ms-grid-columns":"none|<track-list>|<auto-track-list>","-ms-grid-rows":"none|<track-list>|<auto-track-list>","-ms-high-contrast-adjust":"auto|none","-ms-hyphenate-limit-chars":"auto|<integer>{1,3}","-ms-hyphenate-limit-lines":"no-limit|<integer>","-ms-hyphenate-limit-zone":"<percentage>|<length>","-ms-ime-align":"auto|after","-ms-overflow-style":"auto|none|scrollbar|-ms-autohiding-scrollbar","-ms-scrollbar-3dlight-color":"<color>","-ms-scrollbar-arrow-color":"<color>","-ms-scrollbar-base-color":"<color>","-ms-scrollbar-darkshadow-color":"<color>","-ms-scrollbar-face-color":"<color>","-ms-scrollbar-highlight-color":"<color>","-ms-scrollbar-shadow-color":"<color>","-ms-scrollbar-track-color":"<color>","-ms-scroll-chaining":"chained|none","-ms-scroll-limit":"<'-ms-scroll-limit-x-min'> <'-ms-scroll-limit-y-min'> <'-ms-scroll-limit-x-max'> <'-ms-scroll-limit-y-max'>","-ms-scroll-limit-x-max":"auto|<length>","-ms-scroll-limit-x-min":"<length>","-ms-scroll-limit-y-max":"auto|<length>","-ms-scroll-limit-y-min":"<length>","-ms-scroll-rails":"none|railed","-ms-scroll-snap-points-x":"snapInterval( <length-percentage> , <length-percentage> )|snapList( <length-percentage># )","-ms-scroll-snap-points-y":"snapInterval( <length-percentage> , <length-percentage> )|snapList( <length-percentage># )","-ms-scroll-snap-type":"none|proximity|mandatory","-ms-scroll-snap-x":"<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-x'>","-ms-scroll-snap-y":"<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-y'>","-ms-scroll-translation":"none|vertical-to-horizontal","-ms-text-autospace":"none|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space","-ms-touch-select":"grippers|none","-ms-user-select":"none|element|text","-ms-wrap-flow":"auto|both|start|end|maximum|clear","-ms-wrap-margin":"<length>","-ms-wrap-through":"wrap|none","-moz-appearance":"none|button|button-arrow-down|button-arrow-next|button-arrow-previous|button-arrow-up|button-bevel|button-focus|caret|checkbox|checkbox-container|checkbox-label|checkmenuitem|dualbutton|groupbox|listbox|listitem|menuarrow|menubar|menucheckbox|menuimage|menuitem|menuitemtext|menulist|menulist-button|menulist-text|menulist-textfield|menupopup|menuradio|menuseparator|meterbar|meterchunk|progressbar|progressbar-vertical|progresschunk|progresschunk-vertical|radio|radio-container|radio-label|radiomenuitem|range|range-thumb|resizer|resizerpanel|scale-horizontal|scalethumbend|scalethumb-horizontal|scalethumbstart|scalethumbtick|scalethumb-vertical|scale-vertical|scrollbarbutton-down|scrollbarbutton-left|scrollbarbutton-right|scrollbarbutton-up|scrollbarthumb-horizontal|scrollbarthumb-vertical|scrollbartrack-horizontal|scrollbartrack-vertical|searchfield|separator|sheet|spinner|spinner-downbutton|spinner-textfield|spinner-upbutton|splitter|statusbar|statusbarpanel|tab|tabpanel|tabpanels|tab-scroll-arrow-back|tab-scroll-arrow-forward|textfield|textfield-multiline|toolbar|toolbarbutton|toolbarbutton-dropdown|toolbargripper|toolbox|tooltip|treeheader|treeheadercell|treeheadersortarrow|treeitem|treeline|treetwisty|treetwistyopen|treeview|-moz-mac-unified-toolbar|-moz-win-borderless-glass|-moz-win-browsertabbar-toolbox|-moz-win-communicationstext|-moz-win-communications-toolbox|-moz-win-exclude-glass|-moz-win-glass|-moz-win-mediatext|-moz-win-media-toolbox|-moz-window-button-box|-moz-window-button-box-maximized|-moz-window-button-close|-moz-window-button-maximize|-moz-window-button-minimize|-moz-window-button-restore|-moz-window-frame-bottom|-moz-window-frame-left|-moz-window-frame-right|-moz-window-titlebar|-moz-window-titlebar-maximized","-moz-binding":"<url>|none","-moz-border-bottom-colors":"<color>+|none","-moz-border-left-colors":"<color>+|none","-moz-border-right-colors":"<color>+|none","-moz-border-top-colors":"<color>+|none","-moz-context-properties":"none|[fill|fill-opacity|stroke|stroke-opacity]#","-moz-float-edge":"border-box|content-box|margin-box|padding-box","-moz-force-broken-image-icon":"0|1","-moz-image-region":"<shape>|auto","-moz-orient":"inline|block|horizontal|vertical","-moz-outline-radius":"<outline-radius>{1,4} [/ <outline-radius>{1,4}]?","-moz-outline-radius-bottomleft":"<outline-radius>","-moz-outline-radius-bottomright":"<outline-radius>","-moz-outline-radius-topleft":"<outline-radius>","-moz-outline-radius-topright":"<outline-radius>","-moz-stack-sizing":"ignore|stretch-to-fit","-moz-text-blink":"none|blink","-moz-user-focus":"ignore|normal|select-after|select-before|select-menu|select-same|select-all|none","-moz-user-input":"auto|none|enabled|disabled","-moz-user-modify":"read-only|read-write|write-only","-moz-window-dragging":"drag|no-drag","-moz-window-shadow":"default|menu|tooltip|sheet|none","-webkit-appearance":"none|button|button-bevel|caps-lock-indicator|caret|checkbox|default-button|inner-spin-button|listbox|listitem|media-controls-background|media-controls-fullscreen-background|media-current-time-display|media-enter-fullscreen-button|media-exit-fullscreen-button|media-fullscreen-button|media-mute-button|media-overlay-play-button|media-play-button|media-seek-back-button|media-seek-forward-button|media-slider|media-sliderthumb|media-time-remaining-display|media-toggle-closed-captions-button|media-volume-slider|media-volume-slider-container|media-volume-sliderthumb|menulist|menulist-button|menulist-text|menulist-textfield|meter|progress-bar|progress-bar-value|push-button|radio|scrollbarbutton-down|scrollbarbutton-left|scrollbarbutton-right|scrollbarbutton-up|scrollbargripper-horizontal|scrollbargripper-vertical|scrollbarthumb-horizontal|scrollbarthumb-vertical|scrollbartrack-horizontal|scrollbartrack-vertical|searchfield|searchfield-cancel-button|searchfield-decoration|searchfield-results-button|searchfield-results-decoration|slider-horizontal|slider-vertical|sliderthumb-horizontal|sliderthumb-vertical|square-button|textarea|textfield|-apple-pay-button","-webkit-border-before":"<'border-width'>||<'border-style'>||<color>","-webkit-border-before-color":"<color>","-webkit-border-before-style":"<'border-style'>","-webkit-border-before-width":"<'border-width'>","-webkit-box-reflect":"[above|below|right|left]? <length>? <image>?","-webkit-line-clamp":"none|<integer>","-webkit-mask":"[<mask-reference>||<position> [/ <bg-size>]?||<repeat-style>||[<box>|border|padding|content|text]||[<box>|border|padding|content]]#","-webkit-mask-attachment":"<attachment>#","-webkit-mask-clip":"[<box>|border|padding|content|text]#","-webkit-mask-composite":"<composite-style>#","-webkit-mask-image":"<mask-reference>#","-webkit-mask-origin":"[<box>|border|padding|content]#","-webkit-mask-position":"<position>#","-webkit-mask-position-x":"[<length-percentage>|left|center|right]#","-webkit-mask-position-y":"[<length-percentage>|top|center|bottom]#","-webkit-mask-repeat":"<repeat-style>#","-webkit-mask-repeat-x":"repeat|no-repeat|space|round","-webkit-mask-repeat-y":"repeat|no-repeat|space|round","-webkit-mask-size":"<bg-size>#","-webkit-overflow-scrolling":"auto|touch","-webkit-tap-highlight-color":"<color>","-webkit-text-fill-color":"<color>","-webkit-text-stroke":"<length>||<color>","-webkit-text-stroke-color":"<color>","-webkit-text-stroke-width":"<length>","-webkit-touch-callout":"default|none","-webkit-user-modify":"read-only|read-write|read-write-plaintext-only","accent-color":"auto|<color>","align-content":"normal|<baseline-position>|<content-distribution>|<overflow-position>? <content-position>","align-items":"normal|stretch|<baseline-position>|[<overflow-position>? <self-position>]","align-self":"auto|normal|stretch|<baseline-position>|<overflow-position>? <self-position>","align-tracks":"[normal|<baseline-position>|<content-distribution>|<overflow-position>? <content-position>]#",all:"initial|inherit|unset|revert|revert-layer",animation:"<single-animation>#","animation-composition":"<single-animation-composition>#","animation-delay":"<time>#","animation-direction":"<single-animation-direction>#","animation-duration":"<time>#","animation-fill-mode":"<single-animation-fill-mode>#","animation-iteration-count":"<single-animation-iteration-count>#","animation-name":"[none|<keyframes-name>]#","animation-play-state":"<single-animation-play-state>#","animation-timing-function":"<easing-function>#","animation-timeline":"<single-animation-timeline>#",appearance:"none|auto|textfield|menulist-button|<compat-auto>","aspect-ratio":"auto|<ratio>",azimuth:"<angle>|[[left-side|far-left|left|center-left|center|center-right|right|far-right|right-side]||behind]|leftwards|rightwards","backdrop-filter":"none|<filter-function-list>","backface-visibility":"visible|hidden",background:"[<bg-layer> ,]* <final-bg-layer>","background-attachment":"<attachment>#","background-blend-mode":"<blend-mode>#","background-clip":"<bg-clip>#","background-color":"<color>","background-image":"<bg-image>#","background-origin":"<box>#","background-position":"<bg-position>#","background-position-x":"[center|[[left|right|x-start|x-end]? <length-percentage>?]!]#","background-position-y":"[center|[[top|bottom|y-start|y-end]? <length-percentage>?]!]#","background-repeat":"<repeat-style>#","background-size":"<bg-size>#","block-overflow":"clip|ellipsis|<string>","block-size":"<'width'>",border:"<line-width>||<line-style>||<color>","border-block":"<'border-top-width'>||<'border-top-style'>||<color>","border-block-color":"<'border-top-color'>{1,2}","border-block-style":"<'border-top-style'>","border-block-width":"<'border-top-width'>","border-block-end":"<'border-top-width'>||<'border-top-style'>||<color>","border-block-end-color":"<'border-top-color'>","border-block-end-style":"<'border-top-style'>","border-block-end-width":"<'border-top-width'>","border-block-start":"<'border-top-width'>||<'border-top-style'>||<color>","border-block-start-color":"<'border-top-color'>","border-block-start-style":"<'border-top-style'>","border-block-start-width":"<'border-top-width'>","border-bottom":"<line-width>||<line-style>||<color>","border-bottom-color":"<'border-top-color'>","border-bottom-left-radius":"<length-percentage>{1,2}","border-bottom-right-radius":"<length-percentage>{1,2}","border-bottom-style":"<line-style>","border-bottom-width":"<line-width>","border-collapse":"collapse|separate","border-color":"<color>{1,4}","border-end-end-radius":"<length-percentage>{1,2}","border-end-start-radius":"<length-percentage>{1,2}","border-image":"<'border-image-source'>||<'border-image-slice'> [/ <'border-image-width'>|/ <'border-image-width'>? / <'border-image-outset'>]?||<'border-image-repeat'>","border-image-outset":"[<length>|<number>]{1,4}","border-image-repeat":"[stretch|repeat|round|space]{1,2}","border-image-slice":"<number-percentage>{1,4}&&fill?","border-image-source":"none|<image>","border-image-width":"[<length-percentage>|<number>|auto]{1,4}","border-inline":"<'border-top-width'>||<'border-top-style'>||<color>","border-inline-end":"<'border-top-width'>||<'border-top-style'>||<color>","border-inline-color":"<'border-top-color'>{1,2}","border-inline-style":"<'border-top-style'>","border-inline-width":"<'border-top-width'>","border-inline-end-color":"<'border-top-color'>","border-inline-end-style":"<'border-top-style'>","border-inline-end-width":"<'border-top-width'>","border-inline-start":"<'border-top-width'>||<'border-top-style'>||<color>","border-inline-start-color":"<'border-top-color'>","border-inline-start-style":"<'border-top-style'>","border-inline-start-width":"<'border-top-width'>","border-left":"<line-width>||<line-style>||<color>","border-left-color":"<color>","border-left-style":"<line-style>","border-left-width":"<line-width>","border-radius":"<length-percentage>{1,4} [/ <length-percentage>{1,4}]?","border-right":"<line-width>||<line-style>||<color>","border-right-color":"<color>","border-right-style":"<line-style>","border-right-width":"<line-width>","border-spacing":"<length> <length>?","border-start-end-radius":"<length-percentage>{1,2}","border-start-start-radius":"<length-percentage>{1,2}","border-style":"<line-style>{1,4}","border-top":"<line-width>||<line-style>||<color>","border-top-color":"<color>","border-top-left-radius":"<length-percentage>{1,2}","border-top-right-radius":"<length-percentage>{1,2}","border-top-style":"<line-style>","border-top-width":"<line-width>","border-width":"<line-width>{1,4}",bottom:"<length>|<percentage>|auto","box-align":"start|center|end|baseline|stretch","box-decoration-break":"slice|clone","box-direction":"normal|reverse|inherit","box-flex":"<number>","box-flex-group":"<integer>","box-lines":"single|multiple","box-ordinal-group":"<integer>","box-orient":"horizontal|vertical|inline-axis|block-axis|inherit","box-pack":"start|center|end|justify","box-shadow":"none|<shadow>#","box-sizing":"content-box|border-box","break-after":"auto|avoid|always|all|avoid-page|page|left|right|recto|verso|avoid-column|column|avoid-region|region","break-before":"auto|avoid|always|all|avoid-page|page|left|right|recto|verso|avoid-column|column|avoid-region|region","break-inside":"auto|avoid|avoid-page|avoid-column|avoid-region","caption-side":"top|bottom|block-start|block-end|inline-start|inline-end",caret:"<'caret-color'>||<'caret-shape'>","caret-color":"auto|<color>","caret-shape":"auto|bar|block|underscore",clear:"none|left|right|both|inline-start|inline-end",clip:"<shape>|auto","clip-path":"<clip-source>|[<basic-shape>||<geometry-box>]|none",color:"<color>","print-color-adjust":"economy|exact","color-scheme":"normal|[light|dark|<custom-ident>]+&&only?","column-count":"<integer>|auto","column-fill":"auto|balance|balance-all","column-gap":"normal|<length-percentage>","column-rule":"<'column-rule-width'>||<'column-rule-style'>||<'column-rule-color'>","column-rule-color":"<color>","column-rule-style":"<'border-style'>","column-rule-width":"<'border-width'>","column-span":"none|all","column-width":"<length>|auto",columns:"<'column-width'>||<'column-count'>",contain:"none|strict|content|[[size||inline-size]||layout||style||paint]","contain-intrinsic-size":"[none|<length>|auto <length>]{1,2}","contain-intrinsic-block-size":"none|<length>|auto <length>","contain-intrinsic-height":"none|<length>|auto <length>","contain-intrinsic-inline-size":"none|<length>|auto <length>","contain-intrinsic-width":"none|<length>|auto <length>",content:"normal|none|[<content-replacement>|<content-list>] [/ [<string>|<counter>]+]?","content-visibility":"visible|auto|hidden","counter-increment":"[<counter-name> <integer>?]+|none","counter-reset":"[<counter-name> <integer>?|<reversed-counter-name> <integer>?]+|none","counter-set":"[<counter-name> <integer>?]+|none",cursor:"[[<url> [<x> <y>]? ,]* [auto|default|none|context-menu|help|pointer|progress|wait|cell|crosshair|text|vertical-text|alias|copy|move|no-drop|not-allowed|e-resize|n-resize|ne-resize|nw-resize|s-resize|se-resize|sw-resize|w-resize|ew-resize|ns-resize|nesw-resize|nwse-resize|col-resize|row-resize|all-scroll|zoom-in|zoom-out|grab|grabbing|hand|-webkit-grab|-webkit-grabbing|-webkit-zoom-in|-webkit-zoom-out|-moz-grab|-moz-grabbing|-moz-zoom-in|-moz-zoom-out]]",direction:"ltr|rtl",display:"[<display-outside>||<display-inside>]|<display-listitem>|<display-internal>|<display-box>|<display-legacy>|<-non-standard-display>","empty-cells":"show|hide",filter:"none|<filter-function-list>|<-ms-filter-function-list>",flex:"none|[<'flex-grow'> <'flex-shrink'>?||<'flex-basis'>]","flex-basis":"content|<'width'>","flex-direction":"row|row-reverse|column|column-reverse","flex-flow":"<'flex-direction'>||<'flex-wrap'>","flex-grow":"<number>","flex-shrink":"<number>","flex-wrap":"nowrap|wrap|wrap-reverse",float:"left|right|none|inline-start|inline-end",font:"[[<'font-style'>||<font-variant-css21>||<'font-weight'>||<'font-stretch'>]? <'font-size'> [/ <'line-height'>]? <'font-family'>]|caption|icon|menu|message-box|small-caption|status-bar","font-family":"[<family-name>|<generic-family>]#","font-feature-settings":"normal|<feature-tag-value>#","font-kerning":"auto|normal|none","font-language-override":"normal|<string>","font-optical-sizing":"auto|none","font-variation-settings":"normal|[<string> <number>]#","font-size":"<absolute-size>|<relative-size>|<length-percentage>","font-size-adjust":"none|[ex-height|cap-height|ch-width|ic-width|ic-height]? [from-font|<number>]","font-smooth":"auto|never|always|<absolute-size>|<length>","font-stretch":"<font-stretch-absolute>","font-style":"normal|italic|oblique <angle>?","font-synthesis":"none|[weight||style||small-caps]","font-variant":"normal|none|[<common-lig-values>||<discretionary-lig-values>||<historical-lig-values>||<contextual-alt-values>||stylistic( <feature-value-name> )||historical-forms||styleset( <feature-value-name># )||character-variant( <feature-value-name># )||swash( <feature-value-name> )||ornaments( <feature-value-name> )||annotation( <feature-value-name> )||[small-caps|all-small-caps|petite-caps|all-petite-caps|unicase|titling-caps]||<numeric-figure-values>||<numeric-spacing-values>||<numeric-fraction-values>||ordinal||slashed-zero||<east-asian-variant-values>||<east-asian-width-values>||ruby]","font-variant-alternates":"normal|[stylistic( <feature-value-name> )||historical-forms||styleset( <feature-value-name># )||character-variant( <feature-value-name># )||swash( <feature-value-name> )||ornaments( <feature-value-name> )||annotation( <feature-value-name> )]","font-variant-caps":"normal|small-caps|all-small-caps|petite-caps|all-petite-caps|unicase|titling-caps","font-variant-east-asian":"normal|[<east-asian-variant-values>||<east-asian-width-values>||ruby]","font-variant-ligatures":"normal|none|[<common-lig-values>||<discretionary-lig-values>||<historical-lig-values>||<contextual-alt-values>]","font-variant-numeric":"normal|[<numeric-figure-values>||<numeric-spacing-values>||<numeric-fraction-values>||ordinal||slashed-zero]","font-variant-position":"normal|sub|super","font-weight":"<font-weight-absolute>|bolder|lighter","forced-color-adjust":"auto|none",gap:"<'row-gap'> <'column-gap'>?",grid:"<'grid-template'>|<'grid-template-rows'> / [auto-flow&&dense?] <'grid-auto-columns'>?|[auto-flow&&dense?] <'grid-auto-rows'>? / <'grid-template-columns'>","grid-area":"<grid-line> [/ <grid-line>]{0,3}","grid-auto-columns":"<track-size>+","grid-auto-flow":"[row|column]||dense","grid-auto-rows":"<track-size>+","grid-column":"<grid-line> [/ <grid-line>]?","grid-column-end":"<grid-line>","grid-column-gap":"<length-percentage>","grid-column-start":"<grid-line>","grid-gap":"<'grid-row-gap'> <'grid-column-gap'>?","grid-row":"<grid-line> [/ <grid-line>]?","grid-row-end":"<grid-line>","grid-row-gap":"<length-percentage>","grid-row-start":"<grid-line>","grid-template":"none|[<'grid-template-rows'> / <'grid-template-columns'>]|[<line-names>? <string> <track-size>? <line-names>?]+ [/ <explicit-track-list>]?","grid-template-areas":"none|<string>+","grid-template-columns":"none|<track-list>|<auto-track-list>|subgrid <line-name-list>?","grid-template-rows":"none|<track-list>|<auto-track-list>|subgrid <line-name-list>?","hanging-punctuation":"none|[first||[force-end|allow-end]||last]",height:"auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )","hyphenate-character":"auto|<string>",hyphens:"none|manual|auto","image-orientation":"from-image|<angle>|[<angle>? flip]","image-rendering":"auto|crisp-edges|pixelated|optimizeSpeed|optimizeQuality|<-non-standard-image-rendering>","image-resolution":"[from-image||<resolution>]&&snap?","ime-mode":"auto|normal|active|inactive|disabled","initial-letter":"normal|[<number> <integer>?]","initial-letter-align":"[auto|alphabetic|hanging|ideographic]","inline-size":"<'width'>","input-security":"auto|none",inset:"<'top'>{1,4}","inset-block":"<'top'>{1,2}","inset-block-end":"<'top'>","inset-block-start":"<'top'>","inset-inline":"<'top'>{1,2}","inset-inline-end":"<'top'>","inset-inline-start":"<'top'>",isolation:"auto|isolate","justify-content":"normal|<content-distribution>|<overflow-position>? [<content-position>|left|right]","justify-items":"normal|stretch|<baseline-position>|<overflow-position>? [<self-position>|left|right]|legacy|legacy&&[left|right|center]","justify-self":"auto|normal|stretch|<baseline-position>|<overflow-position>? [<self-position>|left|right]","justify-tracks":"[normal|<content-distribution>|<overflow-position>? [<content-position>|left|right]]#",left:"<length>|<percentage>|auto","letter-spacing":"normal|<length-percentage>","line-break":"auto|loose|normal|strict|anywhere","line-clamp":"none|<integer>","line-height":"normal|<number>|<length>|<percentage>","line-height-step":"<length>","list-style":"<'list-style-type'>||<'list-style-position'>||<'list-style-image'>","list-style-image":"<image>|none","list-style-position":"inside|outside","list-style-type":"<counter-style>|<string>|none",margin:"[<length>|<percentage>|auto]{1,4}","margin-block":"<'margin-left'>{1,2}","margin-block-end":"<'margin-left'>","margin-block-start":"<'margin-left'>","margin-bottom":"<length>|<percentage>|auto","margin-inline":"<'margin-left'>{1,2}","margin-inline-end":"<'margin-left'>","margin-inline-start":"<'margin-left'>","margin-left":"<length>|<percentage>|auto","margin-right":"<length>|<percentage>|auto","margin-top":"<length>|<percentage>|auto","margin-trim":"none|in-flow|all",mask:"<mask-layer>#","mask-border":"<'mask-border-source'>||<'mask-border-slice'> [/ <'mask-border-width'>? [/ <'mask-border-outset'>]?]?||<'mask-border-repeat'>||<'mask-border-mode'>","mask-border-mode":"luminance|alpha","mask-border-outset":"[<length>|<number>]{1,4}","mask-border-repeat":"[stretch|repeat|round|space]{1,2}","mask-border-slice":"<number-percentage>{1,4} fill?","mask-border-source":"none|<image>","mask-border-width":"[<length-percentage>|<number>|auto]{1,4}","mask-clip":"[<geometry-box>|no-clip]#","mask-composite":"<compositing-operator>#","mask-image":"<mask-reference>#","mask-mode":"<masking-mode>#","mask-origin":"<geometry-box>#","mask-position":"<position>#","mask-repeat":"<repeat-style>#","mask-size":"<bg-size>#","mask-type":"luminance|alpha","masonry-auto-flow":"[pack|next]||[definite-first|ordered]","math-depth":"auto-add|add( <integer> )|<integer>","math-shift":"normal|compact","math-style":"normal|compact","max-block-size":"<'max-width'>","max-height":"none|<length-percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )","max-inline-size":"<'max-width'>","max-lines":"none|<integer>","max-width":"none|<length-percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|<-non-standard-width>","min-block-size":"<'min-width'>","min-height":"auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )","min-inline-size":"<'min-width'>","min-width":"auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|<-non-standard-width>","mix-blend-mode":"<blend-mode>|plus-lighter","object-fit":"fill|contain|cover|none|scale-down","object-position":"<position>",offset:"[<'offset-position'>? [<'offset-path'> [<'offset-distance'>||<'offset-rotate'>]?]?]! [/ <'offset-anchor'>]?","offset-anchor":"auto|<position>","offset-distance":"<length-percentage>","offset-path":"none|ray( [<angle>&&<size>&&contain?] )|<path()>|<url>|[<basic-shape>||<geometry-box>]","offset-position":"auto|<position>","offset-rotate":"[auto|reverse]||<angle>",opacity:"<alpha-value>",order:"<integer>",orphans:"<integer>",outline:"[<'outline-color'>||<'outline-style'>||<'outline-width'>]","outline-color":"<color>|invert","outline-offset":"<length>","outline-style":"auto|<'border-style'>","outline-width":"<line-width>",overflow:"[visible|hidden|clip|scroll|auto]{1,2}|<-non-standard-overflow>","overflow-anchor":"auto|none","overflow-block":"visible|hidden|clip|scroll|auto","overflow-clip-box":"padding-box|content-box","overflow-clip-margin":"<visual-box>||<length [0,\u221E]>","overflow-inline":"visible|hidden|clip|scroll|auto","overflow-wrap":"normal|break-word|anywhere","overflow-x":"visible|hidden|clip|scroll|auto","overflow-y":"visible|hidden|clip|scroll|auto","overscroll-behavior":"[contain|none|auto]{1,2}","overscroll-behavior-block":"contain|none|auto","overscroll-behavior-inline":"contain|none|auto","overscroll-behavior-x":"contain|none|auto","overscroll-behavior-y":"contain|none|auto",padding:"[<length>|<percentage>]{1,4}","padding-block":"<'padding-left'>{1,2}","padding-block-end":"<'padding-left'>","padding-block-start":"<'padding-left'>","padding-bottom":"<length>|<percentage>","padding-inline":"<'padding-left'>{1,2}","padding-inline-end":"<'padding-left'>","padding-inline-start":"<'padding-left'>","padding-left":"<length>|<percentage>","padding-right":"<length>|<percentage>","padding-top":"<length>|<percentage>","page-break-after":"auto|always|avoid|left|right|recto|verso","page-break-before":"auto|always|avoid|left|right|recto|verso","page-break-inside":"auto|avoid","paint-order":"normal|[fill||stroke||markers]",perspective:"none|<length>","perspective-origin":"<position>","place-content":"<'align-content'> <'justify-content'>?","place-items":"<'align-items'> <'justify-items'>?","place-self":"<'align-self'> <'justify-self'>?","pointer-events":"auto|none|visiblePainted|visibleFill|visibleStroke|visible|painted|fill|stroke|all|inherit",position:"static|relative|absolute|sticky|fixed|-webkit-sticky",quotes:"none|auto|[<string> <string>]+",resize:"none|both|horizontal|vertical|block|inline",right:"<length>|<percentage>|auto",rotate:"none|<angle>|[x|y|z|<number>{3}]&&<angle>","row-gap":"normal|<length-percentage>","ruby-align":"start|center|space-between|space-around","ruby-merge":"separate|collapse|auto","ruby-position":"[alternate||[over|under]]|inter-character",scale:"none|<number>{1,3}","scrollbar-color":"auto|<color>{2}","scrollbar-gutter":"auto|stable&&both-edges?","scrollbar-width":"auto|thin|none","scroll-behavior":"auto|smooth","scroll-margin":"<length>{1,4}","scroll-margin-block":"<length>{1,2}","scroll-margin-block-start":"<length>","scroll-margin-block-end":"<length>","scroll-margin-bottom":"<length>","scroll-margin-inline":"<length>{1,2}","scroll-margin-inline-start":"<length>","scroll-margin-inline-end":"<length>","scroll-margin-left":"<length>","scroll-margin-right":"<length>","scroll-margin-top":"<length>","scroll-padding":"[auto|<length-percentage>]{1,4}","scroll-padding-block":"[auto|<length-percentage>]{1,2}","scroll-padding-block-start":"auto|<length-percentage>","scroll-padding-block-end":"auto|<length-percentage>","scroll-padding-bottom":"auto|<length-percentage>","scroll-padding-inline":"[auto|<length-percentage>]{1,2}","scroll-padding-inline-start":"auto|<length-percentage>","scroll-padding-inline-end":"auto|<length-percentage>","scroll-padding-left":"auto|<length-percentage>","scroll-padding-right":"auto|<length-percentage>","scroll-padding-top":"auto|<length-percentage>","scroll-snap-align":"[none|start|end|center]{1,2}","scroll-snap-coordinate":"none|<position>#","scroll-snap-destination":"<position>","scroll-snap-points-x":"none|repeat( <length-percentage> )","scroll-snap-points-y":"none|repeat( <length-percentage> )","scroll-snap-stop":"normal|always","scroll-snap-type":"none|[x|y|block|inline|both] [mandatory|proximity]?","scroll-snap-type-x":"none|mandatory|proximity","scroll-snap-type-y":"none|mandatory|proximity","scroll-timeline":"<scroll-timeline-name>||<scroll-timeline-axis>","scroll-timeline-axis":"block|inline|vertical|horizontal","scroll-timeline-name":"none|<custom-ident>","shape-image-threshold":"<alpha-value>","shape-margin":"<length-percentage>","shape-outside":"none|[<shape-box>||<basic-shape>]|<image>","tab-size":"<integer>|<length>","table-layout":"auto|fixed","text-align":"start|end|left|right|center|justify|match-parent","text-align-last":"auto|start|end|left|right|center|justify","text-combine-upright":"none|all|[digits <integer>?]","text-decoration":"<'text-decoration-line'>||<'text-decoration-style'>||<'text-decoration-color'>||<'text-decoration-thickness'>","text-decoration-color":"<color>","text-decoration-line":"none|[underline||overline||line-through||blink]|spelling-error|grammar-error","text-decoration-skip":"none|[objects||[spaces|[leading-spaces||trailing-spaces]]||edges||box-decoration]","text-decoration-skip-ink":"auto|all|none","text-decoration-style":"solid|double|dotted|dashed|wavy","text-decoration-thickness":"auto|from-font|<length>|<percentage>","text-emphasis":"<'text-emphasis-style'>||<'text-emphasis-color'>","text-emphasis-color":"<color>","text-emphasis-position":"[over|under]&&[right|left]","text-emphasis-style":"none|[[filled|open]||[dot|circle|double-circle|triangle|sesame]]|<string>","text-indent":"<length-percentage>&&hanging?&&each-line?","text-justify":"auto|inter-character|inter-word|none","text-orientation":"mixed|upright|sideways","text-overflow":"[clip|ellipsis|<string>]{1,2}","text-rendering":"auto|optimizeSpeed|optimizeLegibility|geometricPrecision","text-shadow":"none|<shadow-t>#","text-size-adjust":"none|auto|<percentage>","text-transform":"none|capitalize|uppercase|lowercase|full-width|full-size-kana","text-underline-offset":"auto|<length>|<percentage>","text-underline-position":"auto|from-font|[under||[left|right]]",top:"<length>|<percentage>|auto","touch-action":"auto|none|[[pan-x|pan-left|pan-right]||[pan-y|pan-up|pan-down]||pinch-zoom]|manipulation",transform:"none|<transform-list>","transform-box":"content-box|border-box|fill-box|stroke-box|view-box","transform-origin":"[<length-percentage>|left|center|right|top|bottom]|[[<length-percentage>|left|center|right]&&[<length-percentage>|top|center|bottom]] <length>?","transform-style":"flat|preserve-3d",transition:"<single-transition>#","transition-delay":"<time>#","transition-duration":"<time>#","transition-property":"none|<single-transition-property>#","transition-timing-function":"<easing-function>#",translate:"none|<length-percentage> [<length-percentage> <length>?]?","unicode-bidi":"normal|embed|isolate|bidi-override|isolate-override|plaintext|-moz-isolate|-moz-isolate-override|-moz-plaintext|-webkit-isolate|-webkit-isolate-override|-webkit-plaintext","user-select":"auto|text|none|contain|all","vertical-align":"baseline|sub|super|text-top|text-bottom|middle|top|bottom|<percentage>|<length>",visibility:"visible|hidden|collapse","white-space":"normal|pre|nowrap|pre-wrap|pre-line|break-spaces",widows:"<integer>",width:"auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|fill|stretch|intrinsic|-moz-max-content|-webkit-max-content|-moz-fit-content|-webkit-fit-content","will-change":"auto|<animateable-feature>#","word-break":"normal|break-all|keep-all|break-word","word-spacing":"normal|<length>","word-wrap":"normal|break-word","writing-mode":"horizontal-tb|vertical-rl|vertical-lr|sideways-rl|sideways-lr|<svg-writing-mode>","z-index":"auto|<integer>",zoom:"normal|reset|<number>|<percentage>","-moz-background-clip":"padding|border","-moz-border-radius-bottomleft":"<'border-bottom-left-radius'>","-moz-border-radius-bottomright":"<'border-bottom-right-radius'>","-moz-border-radius-topleft":"<'border-top-left-radius'>","-moz-border-radius-topright":"<'border-bottom-right-radius'>","-moz-control-character-visibility":"visible|hidden","-moz-osx-font-smoothing":"auto|grayscale","-moz-user-select":"none|text|all|-moz-none","-ms-flex-align":"start|end|center|baseline|stretch","-ms-flex-item-align":"auto|start|end|center|baseline|stretch","-ms-flex-line-pack":"start|end|center|justify|distribute|stretch","-ms-flex-negative":"<'flex-shrink'>","-ms-flex-pack":"start|end|center|justify|distribute","-ms-flex-order":"<integer>","-ms-flex-positive":"<'flex-grow'>","-ms-flex-preferred-size":"<'flex-basis'>","-ms-interpolation-mode":"nearest-neighbor|bicubic","-ms-grid-column-align":"start|end|center|stretch","-ms-grid-row-align":"start|end|center|stretch","-ms-hyphenate-limit-last":"none|always|column|page|spread","-webkit-background-clip":"[<box>|border|padding|content|text]#","-webkit-column-break-after":"always|auto|avoid","-webkit-column-break-before":"always|auto|avoid","-webkit-column-break-inside":"always|auto|avoid","-webkit-font-smoothing":"auto|none|antialiased|subpixel-antialiased","-webkit-mask-box-image":"[<url>|<gradient>|none] [<length-percentage>{4} <-webkit-mask-box-repeat>{2}]?","-webkit-print-color-adjust":"economy|exact","-webkit-text-security":"none|circle|disc|square","-webkit-user-drag":"none|element|auto","-webkit-user-select":"auto|none|text|all","alignment-baseline":"auto|baseline|before-edge|text-before-edge|middle|central|after-edge|text-after-edge|ideographic|alphabetic|hanging|mathematical","baseline-shift":"baseline|sub|super|<svg-length>",behavior:"<url>+","clip-rule":"nonzero|evenodd",container:"<'container-name'> [/ <'container-type'>]?","container-name":"none|<custom-ident>+","container-type":"normal||[size|inline-size]",cue:"<'cue-before'> <'cue-after'>?","cue-after":"<url> <decibel>?|none","cue-before":"<url> <decibel>?|none","dominant-baseline":"auto|use-script|no-change|reset-size|ideographic|alphabetic|hanging|mathematical|central|middle|text-after-edge|text-before-edge",fill:"<paint>","fill-opacity":"<number-zero-one>","fill-rule":"nonzero|evenodd","glyph-orientation-horizontal":"<angle>","glyph-orientation-vertical":"<angle>",kerning:"auto|<svg-length>",marker:"none|<url>","marker-end":"none|<url>","marker-mid":"none|<url>","marker-start":"none|<url>",pause:"<'pause-before'> <'pause-after'>?","pause-after":"<time>|none|x-weak|weak|medium|strong|x-strong","pause-before":"<time>|none|x-weak|weak|medium|strong|x-strong",rest:"<'rest-before'> <'rest-after'>?","rest-after":"<time>|none|x-weak|weak|medium|strong|x-strong","rest-before":"<time>|none|x-weak|weak|medium|strong|x-strong","shape-rendering":"auto|optimizeSpeed|crispEdges|geometricPrecision",src:"[<url> [format( <string># )]?|local( <family-name> )]#",speak:"auto|none|normal","speak-as":"normal|spell-out||digits||[literal-punctuation|no-punctuation]",stroke:"<paint>","stroke-dasharray":"none|[<svg-length>+]#","stroke-dashoffset":"<svg-length>","stroke-linecap":"butt|round|square","stroke-linejoin":"miter|round|bevel","stroke-miterlimit":"<number-one-or-greater>","stroke-opacity":"<number-zero-one>","stroke-width":"<svg-length>","text-anchor":"start|middle|end","unicode-range":"<urange>#","voice-balance":"<number>|left|center|right|leftwards|rightwards","voice-duration":"auto|<time>","voice-family":"[[<family-name>|<generic-voice>] ,]* [<family-name>|<generic-voice>]|preserve","voice-pitch":"<frequency>&&absolute|[[x-low|low|medium|high|x-high]||[<frequency>|<semitones>|<percentage>]]","voice-range":"<frequency>&&absolute|[[x-low|low|medium|high|x-high]||[<frequency>|<semitones>|<percentage>]]","voice-rate":"[normal|x-slow|slow|medium|fast|x-fast]||<percentage>","voice-stress":"normal|strong|moderate|none|reduced","voice-volume":"silent|[[x-soft|soft|medium|loud|x-loud]||<decibel>]"},atrules:{charset:{prelude:"<string>",descriptors:null},"counter-style":{prelude:"<counter-style-name>",descriptors:{"additive-symbols":"[<integer>&&<symbol>]#",fallback:"<counter-style-name>",negative:"<symbol> <symbol>?",pad:"<integer>&&<symbol>",prefix:"<symbol>",range:"[[<integer>|infinite]{2}]#|auto","speak-as":"auto|bullets|numbers|words|spell-out|<counter-style-name>",suffix:"<symbol>",symbols:"<symbol>+",system:"cyclic|numeric|alphabetic|symbolic|additive|[fixed <integer>?]|[extends <counter-style-name>]"}},document:{prelude:"[<url>|url-prefix( <string> )|domain( <string> )|media-document( <string> )|regexp( <string> )]#",descriptors:null},"font-face":{prelude:null,descriptors:{"ascent-override":"normal|<percentage>","descent-override":"normal|<percentage>","font-display":"[auto|block|swap|fallback|optional]","font-family":"<family-name>","font-feature-settings":"normal|<feature-tag-value>#","font-variation-settings":"normal|[<string> <number>]#","font-stretch":"<font-stretch-absolute>{1,2}","font-style":"normal|italic|oblique <angle>{0,2}","font-weight":"<font-weight-absolute>{1,2}","font-variant":"normal|none|[<common-lig-values>||<discretionary-lig-values>||<historical-lig-values>||<contextual-alt-values>||stylistic( <feature-value-name> )||historical-forms||styleset( <feature-value-name># )||character-variant( <feature-value-name># )||swash( <feature-value-name> )||ornaments( <feature-value-name> )||annotation( <feature-value-name> )||[small-caps|all-small-caps|petite-caps|all-petite-caps|unicase|titling-caps]||<numeric-figure-values>||<numeric-spacing-values>||<numeric-fraction-values>||ordinal||slashed-zero||<east-asian-variant-values>||<east-asian-width-values>||ruby]","line-gap-override":"normal|<percentage>","size-adjust":"<percentage>",src:"[<url> [format( <string># )]?|local( <family-name> )]#","unicode-range":"<urange>#"}},"font-feature-values":{prelude:"<family-name>#",descriptors:null},import:{prelude:"[<string>|<url>] [layer|layer( <layer-name> )]? [supports( [<supports-condition>|<declaration>] )]? <media-query-list>?",descriptors:null},keyframes:{prelude:"<keyframes-name>",descriptors:null},layer:{prelude:"[<layer-name>#|<layer-name>?]",descriptors:null},media:{prelude:"<media-query-list>",descriptors:null},namespace:{prelude:"<namespace-prefix>? [<string>|<url>]",descriptors:null},page:{prelude:"<page-selector-list>",descriptors:{bleed:"auto|<length>",marks:"none|[crop||cross]",size:"<length>{1,2}|auto|[<page-size>||[portrait|landscape]]"}},property:{prelude:"<custom-property-name>",descriptors:{syntax:"<string>",inherits:"true|false","initial-value":"<string>"}},"scroll-timeline":{prelude:"<timeline-name>",descriptors:null},supports:{prelude:"<supports-condition>",descriptors:null},viewport:{prelude:null,descriptors:{height:"<viewport-length>{1,2}","max-height":"<viewport-length>","max-width":"<viewport-length>","max-zoom":"auto|<number>|<percentage>","min-height":"<viewport-length>","min-width":"<viewport-length>","min-zoom":"auto|<number>|<percentage>",orientation:"auto|portrait|landscape","user-zoom":"zoom|fixed","viewport-fit":"auto|contain|cover",width:"<viewport-length>{1,2}",zoom:"auto|<number>|<percentage>"}},container:{prelude:"[<container-name>]? <container-condition>",descriptors:null},nest:{prelude:"<complex-selector-list>",descriptors:null}}},Oc={};$(Oc,{AnPlusB:()=>Um,Atrule:()=>Vm,AtrulePrelude:()=>qm,AttributeSelector:()=>Hm,Block:()=>Ym,Brackets:()=>eg,CDC:()=>ng,CDO:()=>og,ClassSelector:()=>sg,Combinator:()=>lg,Comment:()=>ug,Declaration:()=>pg,DeclarationList:()=>gg,Dimension:()=>yg,Function:()=>bg,Hash:()=>vg,IdSelector:()=>Eg,Identifier:()=>xg,MediaFeature:()=>Sg,MediaQuery:()=>Ag,MediaQueryList:()=>Og,NestingSelector:()=>Ig,Nth:()=>Rg,Number:()=>Bg,Operator:()=>Lg,Parentheses:()=>Wg,Percentage:()=>zg,PseudoClassSelector:()=>Jg,PseudoElementSelector:()=>Gg,Ratio:()=>Zg,Raw:()=>Yg,Rule:()=>Qg,Selector:()=>th,SelectorList:()=>rh,String:()=>ih,StyleSheet:()=>uh,TypeSelector:()=>ph,UnicodeRange:()=>mh,Url:()=>wh,Value:()=>xh,WhiteSpace:()=>Eh});var Um={};$(Um,{generate:()=>mC,name:()=>pC,parse:()=>zm,structure:()=>fC});var Dt=43,Ue=45,Yi=110,An=!0,dC=!1;function Xi(e,t){let n=this.tokenStart+e,r=this.charCodeAt(n);for((r===Dt||r===Ue)&&(t&&this.error("Number sign is not allowed"),n++);n<this.tokenEnd;n++)De(this.charCodeAt(n))||this.error("Integer is expected",n)}function kr(e){return Xi.call(this,0,e)}function en(e,t){if(!this.cmpChar(this.tokenStart+e,t)){let n="";switch(t){case Yi:n="N is expected";break;case Ue:n="HyphenMinus is expected";break}this.error(n,this.tokenStart+e)}}function ql(){let e=0,t=0,n=this.tokenType;for(;n===13||n===25;)n=this.lookupType(++e);if(n!==10)if(this.isDelim(Dt,e)||this.isDelim(Ue,e)){t=this.isDelim(Dt,e)?Dt:Ue;do n=this.lookupType(++e);while(n===13||n===25);n!==10&&(this.skip(e),kr.call(this,An))}else return null;return e>0&&this.skip(e),t===0&&(n=this.charCodeAt(this.tokenStart),n!==Dt&&n!==Ue&&this.error("Number sign is expected")),kr.call(this,t!==0),t===Ue?"-"+this.consume(10):this.consume(10)}var pC="AnPlusB",fC={a:[String,null],b:[String,null]};function zm(){let e=this.tokenStart,t=null,n=null;if(this.tokenType===10)kr.call(this,dC),n=this.consume(10);else if(this.tokenType===1&&this.cmpChar(this.tokenStart,Ue))switch(t="-1",en.call(this,1,Yi),this.tokenEnd-this.tokenStart){case 2:this.next(),n=ql.call(this);break;case 3:en.call(this,2,Ue),this.next(),this.skipSC(),kr.call(this,An),n="-"+this.consume(10);break;default:en.call(this,2,Ue),Xi.call(this,3,An),this.next(),n=this.substrToCursor(e+2)}else if(this.tokenType===1||this.isDelim(Dt)&&this.lookupType(1)===1){let r=0;switch(t="1",this.isDelim(Dt)&&(r=1,this.next()),en.call(this,0,Yi),this.tokenEnd-this.tokenStart){case 1:this.next(),n=ql.call(this);break;case 2:en.call(this,1,Ue),this.next(),this.skipSC(),kr.call(this,An),n="-"+this.consume(10);break;default:en.call(this,1,Ue),Xi.call(this,2,An),this.next(),n=this.substrToCursor(e+r+1)}}else if(this.tokenType===12){let r=this.charCodeAt(this.tokenStart),o=r===Dt||r===Ue,i=this.tokenStart+o;for(;i<this.tokenEnd&&De(this.charCodeAt(i));i++);i===this.tokenStart+o&&this.error("Integer is expected",this.tokenStart+o),en.call(this,i-this.tokenStart,Yi),t=this.substring(e,i),i+1===this.tokenEnd?(this.next(),n=ql.call(this)):(en.call(this,i-this.tokenStart+1,Ue),i+2===this.tokenEnd?(this.next(),this.skipSC(),kr.call(this,An),n="-"+this.consume(10)):(Xi.call(this,i-this.tokenStart+2,An),this.next(),n=this.substrToCursor(i+1)))}else this.error();return t!==null&&t.charCodeAt(0)===Dt&&(t=t.substr(1)),n!==null&&n.charCodeAt(0)===Dt&&(n=n.substr(1)),{type:"AnPlusB",loc:this.getLocation(e,this.tokenStart),a:t,b:n}}function mC(e){if(e.a){let t=e.a==="+1"&&"n"||e.a==="1"&&"n"||e.a==="-1"&&"-n"||e.a+"n";if(e.b){let n=e.b[0]==="-"||e.b[0]==="+"?e.b:"+"+e.b;this.tokenize(t+n)}else this.tokenize(t)}else this.tokenize(e.b)}var Vm={};$(Vm,{generate:()=>bC,name:()=>hC,parse:()=>Jm,structure:()=>wC,walkContext:()=>yC});function Qf(e){return this.Raw(e,this.consumeUntilLeftCurlyBracketOrSemicolon,!0)}function gC(){for(let e=1,t;t=this.lookupType(e);e++){if(t===24)return!0;if(t===23||t===3)return!1}return!1}var hC="Atrule",yC="atrule",wC={name:String,prelude:["AtrulePrelude","Raw",null],block:["Block",null]};function Jm(e=!1){let t=this.tokenStart,n,r,o=null,i=null;switch(this.eat(3),n=this.substrToCursor(t+1),r=n.toLowerCase(),this.skipSC(),this.eof===!1&&this.tokenType!==23&&this.tokenType!==17&&(this.parseAtrulePrelude?o=this.parseWithFallback(this.AtrulePrelude.bind(this,n,e),Qf):o=Qf.call(this,this.tokenIndex),this.skipSC()),this.tokenType){case 17:this.next();break;case 23:hasOwnProperty.call(this.atrule,r)&&typeof this.atrule[r].block=="function"?i=this.atrule[r].block.call(this,e):i=this.Block(gC.call(this));break}return{type:"Atrule",loc:this.getLocation(t,this.tokenStart),name:n,prelude:o,block:i}}function bC(e){this.token(3,"@"+e.name),e.prelude!==null&&this.node(e.prelude),e.block?this.node(e.block):this.token(17,";")}var qm={};$(qm,{generate:()=>xC,name:()=>DC,parse:()=>Gm,structure:()=>kC,walkContext:()=>vC});var DC="AtrulePrelude",vC="atrulePrelude",kC={children:[[]]};function Gm(e){let t=null;return e!==null&&(e=e.toLowerCase()),this.skipSC(),hasOwnProperty.call(this.atrule,e)&&typeof this.atrule[e].prelude=="function"?t=this.atrule[e].prelude.call(this):t=this.readSequence(this.scope.AtrulePrelude),this.skipSC(),this.eof!==!0&&this.tokenType!==23&&this.tokenType!==17&&this.error("Semicolon or block is expected"),{type:"AtrulePrelude",loc:this.getLocationFromList(t),children:t}}function xC(e){this.children(e)}var Hm={};$(Hm,{generate:()=>OC,name:()=>AC,parse:()=>Km,structure:()=>TC});var CC=36,Zm=42,Qi=61,EC=94,lc=124,FC=126;function SC(){this.eof&&this.error("Unexpected end of input");let e=this.tokenStart,t=!1;return this.isDelim(Zm)?(t=!0,this.next()):this.isDelim(lc)||this.eat(1),this.isDelim(lc)?this.charCodeAt(this.tokenStart+1)!==Qi?(this.next(),this.eat(1)):t&&this.error("Identifier is expected",this.tokenEnd):t&&this.error("Vertical line is expected"),{type:"Identifier",loc:this.getLocation(e,this.tokenStart),name:this.substrToCursor(e)}}function _C(){let e=this.tokenStart,t=this.charCodeAt(e);return t!==Qi&&t!==FC&&t!==EC&&t!==CC&&t!==Zm&&t!==lc&&this.error("Attribute selector (=, ~=, ^=, $=, *=, |=) is expected"),this.next(),t!==Qi&&(this.isDelim(Qi)||this.error("Equal sign is expected"),this.next()),this.substrToCursor(e)}var AC="AttributeSelector",TC={name:"Identifier",matcher:[String,null],value:["String","Identifier",null],flags:[String,null]};function Km(){let e=this.tokenStart,t,n=null,r=null,o=null;return this.eat(19),this.skipSC(),t=SC.call(this),this.skipSC(),this.tokenType!==20&&(this.tokenType!==1&&(n=_C.call(this),this.skipSC(),r=this.tokenType===5?this.String():this.Identifier(),this.skipSC()),this.tokenType===1&&(o=this.consume(1),this.skipSC())),this.eat(20),{type:"AttributeSelector",loc:this.getLocation(e,this.tokenStart),name:t,matcher:n,value:r,flags:o}}function OC(e){this.token(9,"["),this.node(e.name),e.matcher!==null&&(this.tokenize(e.matcher),this.node(e.value)),e.flags!==null&&this.token(1,e.flags),this.token(9,"]")}var Ym={};$(Ym,{generate:()=>BC,name:()=>jC,parse:()=>Qm,structure:()=>$C,walkContext:()=>RC});var PC=38;function Xm(e){return this.Raw(e,null,!0)}function em(){return this.parseWithFallback(this.Rule,Xm)}function tm(e){return this.Raw(e,this.consumeUntilSemicolonIncluded,!0)}function IC(){if(this.tokenType===17)return tm.call(this,this.tokenIndex);let e=this.parseWithFallback(this.Declaration,tm);return this.tokenType===17&&this.next(),e}var jC="Block",RC="block",$C={children:[["Atrule","Rule","Declaration"]]};function Qm(e){let t=e?IC:em,n=this.tokenStart,r=this.createList();this.eat(23);e:for(;!this.eof;)switch(this.tokenType){case 24:break e;case 13:case 25:this.next();break;case 3:r.push(this.parseWithFallback(this.Atrule.bind(this,e),Xm));break;default:e&&this.isDelim(PC)?r.push(em.call(this)):r.push(t.call(this))}return this.eof||this.eat(24),{type:"Block",loc:this.getLocation(n,this.tokenStart),children:r}}function BC(e){this.token(23,"{"),this.children(e,t=>{t.type==="Declaration"&&this.token(17,";")}),this.token(24,"}")}var eg={};$(eg,{generate:()=>MC,name:()=>NC,parse:()=>tg,structure:()=>LC});var NC="Brackets",LC={children:[[]]};function tg(e,t){let n=this.tokenStart,r=null;return this.eat(19),r=e.call(this,t),this.eof||this.eat(20),{type:"Brackets",loc:this.getLocation(n,this.tokenStart),children:r}}function MC(e){this.token(9,"["),this.children(e),this.token(9,"]")}var ng={};$(ng,{generate:()=>zC,name:()=>WC,parse:()=>rg,structure:()=>UC});var WC="CDC",UC=[];function rg(){let e=this.tokenStart;return this.eat(15),{type:"CDC",loc:this.getLocation(e,this.tokenStart)}}function zC(){this.token(15,"-->")}var og={};$(og,{generate:()=>qC,name:()=>VC,parse:()=>ig,structure:()=>JC});var VC="CDO",JC=[];function ig(){let e=this.tokenStart;return this.eat(14),{type:"CDO",loc:this.getLocation(e,this.tokenStart)}}function qC(){this.token(14,"<!--")}var sg={};$(sg,{generate:()=>KC,name:()=>HC,parse:()=>ag,structure:()=>ZC});var GC=46,HC="ClassSelector",ZC={name:String};function ag(){return this.eatDelim(GC),{type:"ClassSelector",loc:this.getLocation(this.tokenStart-1,this.tokenEnd),name:this.consume(1)}}function KC(e){this.token(9,"."),this.token(1,e.name)}var lg={};$(lg,{generate:()=>nE,name:()=>eE,parse:()=>cg,structure:()=>tE});var YC=43,nm=47,XC=62,QC=126,eE="Combinator",tE={name:String};function cg(){let e=this.tokenStart,t;switch(this.tokenType){case 13:t=" ";break;case 9:switch(this.charCodeAt(this.tokenStart)){case XC:case YC:case QC:this.next();break;case nm:this.next(),this.eatIdent("deep"),this.eatDelim(nm);break;default:this.error("Combinator is expected")}t=this.substrToCursor(e);break}return{type:"Combinator",loc:this.getLocation(e,this.tokenStart),name:t}}function nE(e){this.tokenize(e.name)}var ug={};$(ug,{generate:()=>aE,name:()=>iE,parse:()=>dg,structure:()=>sE});var rE=42,oE=47,iE="Comment",sE={value:String};function dg(){let e=this.tokenStart,t=this.tokenEnd;return this.eat(25),t-e+2>=2&&this.charCodeAt(t-2)===rE&&this.charCodeAt(t-1)===oE&&(t-=2),{type:"Comment",loc:this.getLocation(e,this.tokenStart),value:this.substring(e+2,t)}}function aE(e){this.token(25,"/*"+e.value+"*/")}var pg={};$(pg,{generate:()=>bE,name:()=>hE,parse:()=>mg,structure:()=>wE,walkContext:()=>yE});var fg=33,lE=35,cE=36,uE=38,dE=42,pE=43,rm=47;function fE(e){return this.Raw(e,this.consumeUntilExclamationMarkOrSemicolon,!0)}function mE(e){return this.Raw(e,this.consumeUntilExclamationMarkOrSemicolon,!1)}function gE(){let e=this.tokenIndex,t=this.Value();return t.type!=="Raw"&&this.eof===!1&&this.tokenType!==17&&this.isDelim(fg)===!1&&this.isBalanceEdge(e)===!1&&this.error(),t}var hE="Declaration",yE="declaration",wE={important:[Boolean,String],property:String,value:["Value","Raw"]};function mg(){let e=this.tokenStart,t=this.tokenIndex,n=DE.call(this),r=Dc(n),o=r?this.parseCustomProperty:this.parseValue,i=r?mE:fE,s=!1,a;this.skipSC(),this.eat(16);let l=this.tokenIndex;if(r||this.skipSC(),o?a=this.parseWithFallback(gE,i):a=i.call(this,this.tokenIndex),r&&a.type==="Value"&&a.children.isEmpty){for(let c=l-this.tokenIndex;c<=0;c++)if(this.lookupType(c)===13){a.children.appendData({type:"WhiteSpace",loc:null,value:" "});break}}return this.isDelim(fg)&&(s=vE.call(this),this.skipSC()),this.eof===!1&&this.tokenType!==17&&this.isBalanceEdge(t)===!1&&this.error(),{type:"Declaration",loc:this.getLocation(e,this.tokenStart),important:s,property:n,value:a}}function bE(e){this.token(1,e.property),this.token(16,":"),this.node(e.value),e.important&&(this.token(9,"!"),this.token(1,e.important===!0?"important":e.important))}function DE(){let e=this.tokenStart;if(this.tokenType===9)switch(this.charCodeAt(this.tokenStart)){case dE:case cE:case pE:case lE:case uE:this.next();break;case rm:this.next(),this.isDelim(rm)&&this.next();break}return this.tokenType===4?this.eat(4):this.eat(1),this.substrToCursor(e)}function vE(){this.eat(9),this.skipSC();let e=this.consume(1);return e==="important"?!0:e}var gg={};$(gg,{generate:()=>EE,name:()=>xE,parse:()=>hg,structure:()=>CE});var kE=38;function Gl(e){return this.Raw(e,this.consumeUntilSemicolonIncluded,!0)}var xE="DeclarationList",CE={children:[["Declaration","Atrule","Rule"]]};function hg(){let e=this.createList();for(;!this.eof;)switch(this.tokenType){case 13:case 25:case 17:this.next();break;case 3:e.push(this.parseWithFallback(this.Atrule.bind(this,!0),Gl));break;default:this.isDelim(kE)?e.push(this.parseWithFallback(this.Rule,Gl)):e.push(this.parseWithFallback(this.Declaration,Gl))}return{type:"DeclarationList",loc:this.getLocationFromList(e),children:e}}function EE(e){this.children(e,t=>{t.type==="Declaration"&&this.token(17,";")})}var yg={};$(yg,{generate:()=>_E,name:()=>FE,parse:()=>wg,structure:()=>SE});var FE="Dimension",SE={value:String,unit:String};function wg(){let e=this.tokenStart,t=this.consumeNumber(12);return{type:"Dimension",loc:this.getLocation(e,this.tokenStart),value:t,unit:this.substring(e+t.length,this.tokenStart)}}function _E(e){this.token(12,e.value+e.unit)}var bg={};$(bg,{generate:()=>PE,name:()=>AE,parse:()=>Dg,structure:()=>OE,walkContext:()=>TE});var AE="Function",TE="function",OE={name:String,children:[[]]};function Dg(e,t){let n=this.tokenStart,r=this.consumeFunctionName(),o=r.toLowerCase(),i;return i=t.hasOwnProperty(o)?t[o].call(this,t):e.call(this,t),this.eof||this.eat(22),{type:"Function",loc:this.getLocation(n,this.tokenStart),name:r,children:i}}function PE(e){this.token(2,e.name+"("),this.children(e),this.token(22,")")}var vg={};$(vg,{generate:()=>$E,name:()=>jE,parse:()=>kg,structure:()=>RE,xxx:()=>IE});var IE="XXX",jE="Hash",RE={value:String};function kg(){let e=this.tokenStart;return this.eat(4),{type:"Hash",loc:this.getLocation(e,this.tokenStart),value:this.substrToCursor(e+1)}}function $E(e){this.token(4,"#"+e.value)}var xg={};$(xg,{generate:()=>LE,name:()=>BE,parse:()=>Cg,structure:()=>NE});var BE="Identifier",NE={name:String};function Cg(){return{type:"Identifier",loc:this.getLocation(this.tokenStart,this.tokenEnd),name:this.consume(1)}}function LE(e){this.token(1,e.name)}var Eg={};$(Eg,{generate:()=>UE,name:()=>ME,parse:()=>Fg,structure:()=>WE});var ME="IdSelector",WE={name:String};function Fg(){let e=this.tokenStart;return this.eat(4),{type:"IdSelector",loc:this.getLocation(e,this.tokenStart),name:this.substrToCursor(e+1)}}function UE(e){this.token(9,"#"+e.name)}var Sg={};$(Sg,{generate:()=>JE,name:()=>zE,parse:()=>_g,structure:()=>VE});var zE="MediaFeature",VE={name:String,value:["Identifier","Number","Dimension","Ratio",null]};function _g(){let e=this.tokenStart,t,n=null;if(this.eat(21),this.skipSC(),t=this.consume(1),this.skipSC(),this.tokenType!==22){switch(this.eat(16),this.skipSC(),this.tokenType){case 10:this.lookupNonWSType(1)===9?n=this.Ratio():n=this.Number();break;case 12:n=this.Dimension();break;case 1:n=this.Identifier();break;default:this.error("Number, dimension, ratio or identifier is expected")}this.skipSC()}return this.eat(22),{type:"MediaFeature",loc:this.getLocation(e,this.tokenStart),name:t,value:n}}function JE(e){this.token(21,"("),this.token(1,e.name),e.value!==null&&(this.token(16,":"),this.node(e.value)),this.token(22,")")}var Ag={};$(Ag,{generate:()=>HE,name:()=>qE,parse:()=>Tg,structure:()=>GE});var qE="MediaQuery",GE={children:[["Identifier","MediaFeature","WhiteSpace"]]};function Tg(){let e=this.createList(),t=null;this.skipSC();e:for(;!this.eof;){switch(this.tokenType){case 25:case 13:this.next();continue;case 1:t=this.Identifier();break;case 21:t=this.MediaFeature();break;default:break e}e.push(t)}return t===null&&this.error("Identifier or parenthesis is expected"),{type:"MediaQuery",loc:this.getLocationFromList(e),children:e}}function HE(e){this.children(e)}var Og={};$(Og,{generate:()=>YE,name:()=>ZE,parse:()=>Pg,structure:()=>KE});var ZE="MediaQueryList",KE={children:[["MediaQuery"]]};function Pg(){let e=this.createList();for(this.skipSC();!this.eof&&(e.push(this.MediaQuery()),this.tokenType===18);)this.next();return{type:"MediaQueryList",loc:this.getLocationFromList(e),children:e}}function YE(e){this.children(e,()=>this.token(18,","))}var Ig={};$(Ig,{generate:()=>tF,name:()=>QE,parse:()=>jg,structure:()=>eF});var XE=38,QE="NestingSelector",eF={};function jg(){let e=this.tokenStart;return this.eatDelim(XE),{type:"NestingSelector",loc:this.getLocation(e,this.tokenStart)}}function tF(){this.token(9,"&")}var Rg={};$(Rg,{generate:()=>oF,name:()=>nF,parse:()=>$g,structure:()=>rF});var nF="Nth",rF={nth:["AnPlusB","Identifier"],selector:["SelectorList",null]};function $g(){this.skipSC();let e=this.tokenStart,t=e,n=null,r;return this.lookupValue(0,"odd")||this.lookupValue(0,"even")?r=this.Identifier():r=this.AnPlusB(),t=this.tokenStart,this.skipSC(),this.lookupValue(0,"of")&&(this.next(),n=this.SelectorList(),t=this.tokenStart),{type:"Nth",loc:this.getLocation(e,t),nth:r,selector:n}}function oF(e){this.node(e.nth),e.selector!==null&&(this.token(1,"of"),this.node(e.selector))}var Bg={};$(Bg,{generate:()=>aF,name:()=>iF,parse:()=>Ng,structure:()=>sF});var iF="Number",sF={value:String};function Ng(){return{type:"Number",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:this.consume(10)}}function aF(e){this.token(10,e.value)}var Lg={};$(Lg,{generate:()=>uF,name:()=>lF,parse:()=>Mg,structure:()=>cF});var lF="Operator",cF={value:String};function Mg(){let e=this.tokenStart;return this.next(),{type:"Operator",loc:this.getLocation(e,this.tokenStart),value:this.substrToCursor(e)}}function uF(e){this.tokenize(e.value)}var Wg={};$(Wg,{generate:()=>fF,name:()=>dF,parse:()=>Ug,structure:()=>pF});var dF="Parentheses",pF={children:[[]]};function Ug(e,t){let n=this.tokenStart,r=null;return this.eat(21),r=e.call(this,t),this.eof||this.eat(22),{type:"Parentheses",loc:this.getLocation(n,this.tokenStart),children:r}}function fF(e){this.token(21,"("),this.children(e),this.token(22,")")}var zg={};$(zg,{generate:()=>hF,name:()=>mF,parse:()=>Vg,structure:()=>gF});var mF="Percentage",gF={value:String};function Vg(){return{type:"Percentage",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:this.consumeNumber(11)}}function hF(e){this.token(11,e.value+"%")}var Jg={};$(Jg,{generate:()=>DF,name:()=>yF,parse:()=>qg,structure:()=>bF,walkContext:()=>wF});var yF="PseudoClassSelector",wF="function",bF={name:String,children:[["Raw"],null]};function qg(){let e=this.tokenStart,t=null,n,r;return this.eat(16),this.tokenType===2?(n=this.consumeFunctionName(),r=n.toLowerCase(),hasOwnProperty.call(this.pseudo,r)?(this.skipSC(),t=this.pseudo[r].call(this),this.skipSC()):(t=this.createList(),t.push(this.Raw(this.tokenIndex,null,!1))),this.eat(22)):n=this.consume(1),{type:"PseudoClassSelector",loc:this.getLocation(e,this.tokenStart),name:n,children:t}}function DF(e){this.token(16,":"),e.children===null?this.token(1,e.name):(this.token(2,e.name+"("),this.children(e),this.token(22,")"))}var Gg={};$(Gg,{generate:()=>CF,name:()=>vF,parse:()=>Hg,structure:()=>xF,walkContext:()=>kF});var vF="PseudoElementSelector",kF="function",xF={name:String,children:[["Raw"],null]};function Hg(){let e=this.tokenStart,t=null,n,r;return this.eat(16),this.eat(16),this.tokenType===2?(n=this.consumeFunctionName(),r=n.toLowerCase(),hasOwnProperty.call(this.pseudo,r)?(this.skipSC(),t=this.pseudo[r].call(this),this.skipSC()):(t=this.createList(),t.push(this.Raw(this.tokenIndex,null,!1))),this.eat(22)):n=this.consume(1),{type:"PseudoElementSelector",loc:this.getLocation(e,this.tokenStart),name:n,children:t}}function CF(e){this.token(16,":"),this.token(16,":"),e.children===null?this.token(1,e.name):(this.token(2,e.name+"("),this.children(e),this.token(22,")"))}var Zg={};$(Zg,{generate:()=>AF,name:()=>SF,parse:()=>Kg,structure:()=>_F});var EF=47,FF=46;function om(){this.skipSC();let e=this.consume(10);for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);!De(n)&&n!==FF&&this.error("Unsigned number is expected",this.tokenStart-e.length+t)}return Number(e)===0&&this.error("Zero number is not allowed",this.tokenStart-e.length),e}var SF="Ratio",_F={left:String,right:String};function Kg(){let e=this.tokenStart,t=om.call(this),n;return this.skipSC(),this.eatDelim(EF),n=om.call(this),{type:"Ratio",loc:this.getLocation(e,this.tokenStart),left:t,right:n}}function AF(e){this.token(10,e.left),this.token(9,"/"),this.token(10,e.right)}var Yg={};$(Yg,{generate:()=>IF,name:()=>OF,parse:()=>Xg,structure:()=>PF});function TF(){return this.tokenIndex>0&&this.lookupType(-1)===13?this.tokenIndex>1?this.getTokenStart(this.tokenIndex-1):this.firstCharOffset:this.tokenStart}var OF="Raw",PF={value:String};function Xg(e,t,n){let r=this.getTokenStart(e),o;return this.skipUntilBalanced(e,t||this.consumeUntilBalanceEnd),n&&this.tokenStart>r?o=TF.call(this):o=this.tokenStart,{type:"Raw",loc:this.getLocation(r,o),value:this.substring(r,o)}}function IF(e){this.tokenize(e.value)}var Qg={};$(Qg,{generate:()=>NF,name:()=>RF,parse:()=>eh,structure:()=>BF,walkContext:()=>$F});function im(e){return this.Raw(e,this.consumeUntilLeftCurlyBracket,!0)}function jF(){let e=this.SelectorList();return e.type!=="Raw"&&this.eof===!1&&this.tokenType!==23&&this.error(),e}var RF="Rule",$F="rule",BF={prelude:["SelectorList","Raw"],block:["Block"]};function eh(){let e=this.tokenIndex,t=this.tokenStart,n,r;return this.parseRulePrelude?n=this.parseWithFallback(jF,im):n=im.call(this,e),r=this.Block(!0),{type:"Rule",loc:this.getLocation(t,this.tokenStart),prelude:n,block:r}}function NF(e){this.node(e.prelude),this.node(e.block)}var th={};$(th,{generate:()=>WF,name:()=>LF,parse:()=>nh,structure:()=>MF});var LF="Selector",MF={children:[["TypeSelector","IdSelector","ClassSelector","AttributeSelector","PseudoClassSelector","PseudoElementSelector","Combinator","WhiteSpace"]]};function nh(){let e=this.readSequence(this.scope.Selector);return this.getFirstListNode(e)===null&&this.error("Selector is expected"),{type:"Selector",loc:this.getLocationFromList(e),children:e}}function WF(e){this.children(e)}var rh={};$(rh,{generate:()=>JF,name:()=>UF,parse:()=>oh,structure:()=>VF,walkContext:()=>zF});var UF="SelectorList",zF="selector",VF={children:[["Selector","Raw"]]};function oh(){let e=this.createList();for(;!this.eof;){if(e.push(this.Selector()),this.tokenType===18){this.next();continue}break}return{type:"SelectorList",loc:this.getLocationFromList(e),children:e}}function JF(e){this.children(e,()=>this.token(18,","))}var ih={};$(ih,{generate:()=>ZF,name:()=>GF,parse:()=>ch,structure:()=>HF});var qF={};$(qF,{decode:()=>Pc,encode:()=>lh});var cc=92,sh=34,ah=39;function Pc(e){let t=e.length,n=e.charCodeAt(0),r=n===sh||n===ah?1:0,o=r===1&&t>1&&e.charCodeAt(t-1)===n?t-2:t-1,i="";for(let s=r;s<=o;s++){let a=e.charCodeAt(s);if(a===cc){if(s===o){s!==t-1&&(i=e.substr(s+1));break}if(a=e.charCodeAt(++s),ct(cc,a)){let l=s-1,c=On(e,l);s=c-1,i+=yc(e.substring(l+1,c))}else a===13&&e.charCodeAt(s+1)===10&&s++}else i+=e[s]}return i}function lh(e,t){let n=t?"'":'"',r=t?ah:sh,o="",i=!1;for(let s=0;s<e.length;s++){let a=e.charCodeAt(s);if(a===0){o+="\uFFFD";continue}if(a<=31||a===127){o+="\\"+a.toString(16),i=!0;continue}a===r||a===cc?(o+="\\"+e.charAt(s),i=!1):(i&&(nn(a)||Tn(a))&&(o+=" "),o+=e.charAt(s),i=!1)}return n+o+n}var GF="String",HF={value:String};function ch(){return{type:"String",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:Pc(this.consume(5))}}function ZF(e){this.token(5,lh(e.value))}var uh={};$(uh,{generate:()=>e1,name:()=>YF,parse:()=>dh,structure:()=>QF,walkContext:()=>XF});var KF=33;function sm(e){return this.Raw(e,null,!1)}var YF="StyleSheet",XF="stylesheet",QF={children:[["Comment","CDO","CDC","Atrule","Rule","Raw"]]};function dh(){let e=this.tokenStart,t=this.createList(),n;for(;!this.eof;){switch(this.tokenType){case 13:this.next();continue;case 25:if(this.charCodeAt(this.tokenStart+2)!==KF){this.next();continue}n=this.Comment();break;case 14:n=this.CDO();break;case 15:n=this.CDC();break;case 3:n=this.parseWithFallback(this.Atrule,sm);break;default:n=this.parseWithFallback(this.Rule,sm)}t.push(n)}return{type:"StyleSheet",loc:this.getLocation(e,this.tokenStart),children:t}}function e1(e){this.children(e)}var ph={};$(ph,{generate:()=>o1,name:()=>n1,parse:()=>fh,structure:()=>r1});var t1=42,am=124;function Hl(){this.tokenType!==1&&this.isDelim(t1)===!1&&this.error("Identifier or asterisk is expected"),this.next()}var n1="TypeSelector",r1={name:String};function fh(){let e=this.tokenStart;return this.isDelim(am)?(this.next(),Hl.call(this)):(Hl.call(this),this.isDelim(am)&&(this.next(),Hl.call(this))),{type:"TypeSelector",loc:this.getLocation(e,this.tokenStart),name:this.substrToCursor(e)}}function o1(e){this.tokenize(e.name)}var mh={};$(mh,{generate:()=>c1,name:()=>a1,parse:()=>yh,structure:()=>l1});var gh=43,hh=45,uc=63;function jo(e,t){let n=0;for(let r=this.tokenStart+e;r<this.tokenEnd;r++){let o=this.charCodeAt(r);if(o===hh&&t&&n!==0)return jo.call(this,e+n+1,!1),-1;nn(o)||this.error(t&&n!==0?"Hyphen minus"+(n<6?" or hex digit":"")+" is expected":n<6?"Hex digit is expected":"Unexpected input",r),++n>6&&this.error("Too many hex digits",r)}return this.next(),n}function Gi(e){let t=0;for(;this.isDelim(uc);)++t>e&&this.error("Too many question marks"),this.next()}function i1(e){this.charCodeAt(this.tokenStart)!==e&&this.error((e===gh?"Plus sign":"Hyphen minus")+" is expected")}function s1(){let e=0;switch(this.tokenType){case 10:if(e=jo.call(this,1,!0),this.isDelim(uc)){Gi.call(this,6-e);break}if(this.tokenType===12||this.tokenType===10){i1.call(this,hh),jo.call(this,1,!1);break}break;case 12:e=jo.call(this,1,!0),e>0&&Gi.call(this,6-e);break;default:if(this.eatDelim(gh),this.tokenType===1){e=jo.call(this,0,!0),e>0&&Gi.call(this,6-e);break}if(this.isDelim(uc)){this.next(),Gi.call(this,5);break}this.error("Hex digit or question mark is expected")}}var a1="UnicodeRange",l1={value:String};function yh(){let e=this.tokenStart;return this.eatIdent("u"),s1.call(this),{type:"UnicodeRange",loc:this.getLocation(e,this.tokenStart),value:this.substrToCursor(e)}}function c1(e){this.tokenize(e.value)}var wh={};$(wh,{generate:()=>y1,name:()=>g1,parse:()=>kh,structure:()=>h1});var u1={};$(u1,{decode:()=>Dh,encode:()=>vh});var d1=32,dc=92,p1=34,f1=39,m1=40,bh=41;function Dh(e){let t=e.length,n=4,r=e.charCodeAt(t-1)===bh?t-2:t-1,o="";for(;n<r&&Tn(e.charCodeAt(n));)n++;for(;n<r&&Tn(e.charCodeAt(r));)r--;for(let i=n;i<=r;i++){let s=e.charCodeAt(i);if(s===dc){if(i===r){i!==t-1&&(o=e.substr(i+1));break}if(s=e.charCodeAt(++i),ct(dc,s)){let a=i-1,l=On(e,a);i=l-1,o+=yc(e.substring(a+1,l))}else s===13&&e.charCodeAt(i+1)===10&&i++}else o+=e[i]}return o}function vh(e){let t="",n=!1;for(let r=0;r<e.length;r++){let o=e.charCodeAt(r);if(o===0){t+="\uFFFD";continue}if(o<=31||o===127){t+="\\"+o.toString(16),n=!0;continue}o===d1||o===dc||o===p1||o===f1||o===m1||o===bh?(t+="\\"+e.charAt(r),n=!1):(n&&nn(o)&&(t+=" "),t+=e.charAt(r),n=!1)}return"url("+t+")"}var g1="Url",h1={value:String};function kh(){let e=this.tokenStart,t;switch(this.tokenType){case 7:t=Dh(this.consume(7));break;case 2:this.cmpStr(this.tokenStart,this.tokenEnd,"url(")||this.error("Function name must be `url`"),this.eat(2),this.skipSC(),t=Pc(this.consume(5)),this.skipSC(),this.eof||this.eat(22);break;default:this.error("Url or Function is expected")}return{type:"Url",loc:this.getLocation(e,this.tokenStart),value:t}}function y1(e){this.token(7,vh(e.value))}var xh={};$(xh,{generate:()=>D1,name:()=>w1,parse:()=>Ch,structure:()=>b1});var w1="Value",b1={children:[[]]};function Ch(){let e=this.tokenStart,t=this.readSequence(this.scope.Value);return{type:"Value",loc:this.getLocation(e,this.tokenStart),children:t}}function D1(e){this.children(e)}var Eh={};$(Eh,{generate:()=>C1,name:()=>k1,parse:()=>Fh,structure:()=>x1});var v1=Object.freeze({type:"WhiteSpace",loc:null,value:" "}),k1="WhiteSpace",x1={value:String};function Fh(){return this.eat(13),v1}function C1(e){this.token(13,e.value)}var E1={generic:!0,...uC,node:Oc},Sh={};$(Sh,{AtrulePrelude:()=>O1,Selector:()=>U1,Value:()=>J1});var F1=35,S1=42,lm=43,_1=45,A1=47,T1=117;function _h(e){switch(this.tokenType){case 4:return this.Hash();case 18:return this.Operator();case 21:return this.Parentheses(this.readSequence,e.recognizer);case 19:return this.Brackets(this.readSequence,e.recognizer);case 5:return this.String();case 12:return this.Dimension();case 11:return this.Percentage();case 10:return this.Number();case 2:return this.cmpStr(this.tokenStart,this.tokenEnd,"url(")?this.Url():this.Function(this.readSequence,e.recognizer);case 7:return this.Url();case 1:return this.cmpChar(this.tokenStart,T1)&&this.cmpChar(this.tokenStart+1,lm)?this.UnicodeRange():this.Identifier();case 9:{let t=this.charCodeAt(this.tokenStart);if(t===A1||t===S1||t===lm||t===_1)return this.Operator();t===F1&&this.error("Hex or identifier is expected",this.tokenStart+1);break}}}var O1={getNode:_h},P1=35,I1=38,j1=42,R1=43,$1=47,cm=46,B1=62,N1=124,L1=126;function M1(e,t){t.last!==null&&t.last.type!=="Combinator"&&e!==null&&e.type!=="Combinator"&&t.push({type:"Combinator",loc:null,name:" "})}function W1(){switch(this.tokenType){case 19:return this.AttributeSelector();case 4:return this.IdSelector();case 16:return this.lookupType(1)===16?this.PseudoElementSelector():this.PseudoClassSelector();case 1:return this.TypeSelector();case 10:case 11:return this.Percentage();case 12:this.charCodeAt(this.tokenStart)===cm&&this.error("Identifier is expected",this.tokenStart+1);break;case 9:{switch(this.charCodeAt(this.tokenStart)){case R1:case B1:case L1:case $1:return this.Combinator();case cm:return this.ClassSelector();case j1:case N1:return this.TypeSelector();case P1:return this.IdSelector();case I1:return this.NestingSelector()}break}}}var U1={onWhiteSpace:M1,getNode:W1};function z1(){return this.createSingleNodeList(this.Raw(this.tokenIndex,null,!1))}function V1(){let e=this.createList();if(this.skipSC(),e.push(this.Identifier()),this.skipSC(),this.tokenType===18){e.push(this.Operator());let t=this.tokenIndex,n=this.parseCustomProperty?this.Value(null):this.Raw(this.tokenIndex,this.consumeUntilExclamationMarkOrSemicolon,!1);if(n.type==="Value"&&n.children.isEmpty){for(let r=t-this.tokenIndex;r<=0;r++)if(this.lookupType(r)===13){n.children.appendData({type:"WhiteSpace",loc:null,value:" "});break}}e.push(n)}return e}function um(e){return e!==null&&e.type==="Operator"&&(e.value[e.value.length-1]==="-"||e.value[e.value.length-1]==="+")}var J1={getNode:_h,onWhiteSpace(e,t){um(e)&&(e.value=" "+e.value),um(t.last)&&(t.last.value+=" ")},expression:z1,var:V1},q1={parse:{prelude:null,block(){return this.Block(!0)}}},G1={parse:{prelude(){let e=this.createList();switch(this.skipSC(),this.tokenType){case 5:e.push(this.String());break;case 7:case 2:e.push(this.Url());break;default:this.error("String or url() is expected")}return(this.lookupNonWSType(0)===1||this.lookupNonWSType(0)===21)&&e.push(this.MediaQueryList()),e},block:null}},H1={parse:{prelude(){return this.createSingleNodeList(this.MediaQueryList())},block(e=!1){return this.Block(e)}}},Z1={parse:{prelude(){return this.createSingleNodeList(this.SelectorList())},block(){return this.Block(!0)}}},K1={parse:{prelude(){return this.createSingleNodeList(this.SelectorList())},block(){return this.Block(!0)}}};function Y1(){return this.createSingleNodeList(this.Raw(this.tokenIndex,null,!1))}function X1(){return this.skipSC(),this.tokenType===1&&this.lookupNonWSType(1)===16?this.createSingleNodeList(this.Declaration()):Ah.call(this)}function Ah(){let e=this.createList(),t;this.skipSC();e:for(;!this.eof;){switch(this.tokenType){case 25:case 13:this.next();continue;case 2:t=this.Function(Y1,this.scope.AtrulePrelude);break;case 1:t=this.Identifier();break;case 21:t=this.Parentheses(X1,this.scope.AtrulePrelude);break;default:break e}e.push(t)}return e}var Q1={parse:{prelude(){let e=Ah.call(this);return this.getFirstListNode(e)===null&&this.error("Condition is expected"),e},block(e=!1){return this.Block(e)}}},eS={"font-face":q1,import:G1,media:H1,nest:Z1,page:K1,supports:Q1},_n={parse(){return this.createSingleNodeList(this.SelectorList())}},Zl={parse(){return this.createSingleNodeList(this.Selector())}},dm={parse(){return this.createSingleNodeList(this.Identifier())}},Hi={parse(){return this.createSingleNodeList(this.Nth())}},tS={dir:dm,has:_n,lang:dm,matches:_n,is:_n,"-moz-any":_n,"-webkit-any":_n,where:_n,not:_n,"nth-child":Hi,"nth-last-child":Hi,"nth-last-of-type":Hi,"nth-of-type":Hi,slotted:Zl,host:Zl,"host-context":Zl},Th={};$(Th,{AnPlusB:()=>zm,Atrule:()=>Jm,AtrulePrelude:()=>Gm,AttributeSelector:()=>Km,Block:()=>Qm,Brackets:()=>tg,CDC:()=>rg,CDO:()=>ig,ClassSelector:()=>ag,Combinator:()=>cg,Comment:()=>dg,Declaration:()=>mg,DeclarationList:()=>hg,Dimension:()=>wg,Function:()=>Dg,Hash:()=>kg,IdSelector:()=>Fg,Identifier:()=>Cg,MediaFeature:()=>_g,MediaQuery:()=>Tg,MediaQueryList:()=>Pg,NestingSelector:()=>jg,Nth:()=>$g,Number:()=>Ng,Operator:()=>Mg,Parentheses:()=>Ug,Percentage:()=>Vg,PseudoClassSelector:()=>qg,PseudoElementSelector:()=>Hg,Ratio:()=>Kg,Raw:()=>Xg,Rule:()=>eh,Selector:()=>nh,SelectorList:()=>oh,String:()=>ch,StyleSheet:()=>dh,TypeSelector:()=>fh,UnicodeRange:()=>yh,Url:()=>kh,Value:()=>Ch,WhiteSpace:()=>Fh});var nS={parseContext:{default:"StyleSheet",stylesheet:"StyleSheet",atrule:"Atrule",atrulePrelude(e){return this.AtrulePrelude(e.atrule?String(e.atrule):null)},mediaQueryList:"MediaQueryList",mediaQuery:"MediaQuery",rule:"Rule",selectorList:"SelectorList",selector:"Selector",block(){return this.Block(!0)},declarationList:"DeclarationList",declaration:"Declaration",value:"Value"},scope:Sh,atrule:eS,pseudo:tS,node:Th},rS={node:Oc},oS=cC({...E1,...nS,...rS});var iS={};$(iS,{decode:()=>sS,encode:()=>aS});var pm=92;function sS(e){let t=e.length-1,n="";for(let r=0;r<e.length;r++){let o=e.charCodeAt(r);if(o===pm){if(r===t)break;if(o=e.charCodeAt(++r),ct(pm,o)){let i=r-1,s=On(e,i);r=s-1,n+=yc(e.substring(i+1,s))}else o===13&&e.charCodeAt(r+1)===10&&r++}else n+=e[r]}return n}function aS(e){let t="";if(e.length===1&&e.charCodeAt(0)===45)return"\\-";for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);if(r===0){t+="\uFFFD";continue}if(r<=31||r===127||r>=48&&r<=57&&(n===0||n===1&&e.charCodeAt(0)===45)){t+="\\"+r.toString(16)+" ";continue}gc(r)?t+=e.charAt(n):t+="\\"+e.charAt(n)}return t}var{tokenize:xI,parse:Oh,generate:Ph,lexer:CI,createLexer:EI,walk:Ih,find:FI,findLast:SI,findAll:_I,toPlainObject:AI,fromPlainObject:TI,fork:OI}=oS;var jh=w(require("prettier"));J();var lS=`
55
- .w-icon-slider-right:before {
56
- content: "\\e600";
57
- }
58
- .w-icon-slider-left:before {
59
- content: "\\e601";
60
- }
61
- .w-icon-nav-menu:before {
62
- content: "\\e602";
63
- }
64
- .w-icon-arrow-down:before {
65
- content: "\\e603";
66
- }
67
- .w-icon-file-upload-remove:before {
68
- content: "\\e900";
69
- }
70
- .w-icon-file-upload-icon:before {
71
- content: "\\e903";
72
- }
73
- `;function cS(e,t,n){let r=["ClassSelector","AttributeSelector","IdSelector","PseudoClassSelector"],o=["type"],i=["root"];if(e.type==="Rule"&&(e.prelude.type==="SelectorList"&&(e.prelude.children=new ye().fromArray(e.prelude.children.toArray().filter(s=>{let a="children"in s?s.children?.first:null;return!a||!r.includes(a.type)?!1:a.type==="PseudoClassSelector"?i.includes(a.name):a.type==="AttributeSelector"?!o.includes(a.name.name):!0}))),e.prelude.children.toArray().length===0&&n)){n.remove(t);return}}function Rh(e){if(d.info("Detected skipTagSelectors flag is enabled. Skipping global CSS tags."),!e)return"";try{let t=Oh(e);return Ih(t,{enter:cS}),jh.default.format([Ph(t),lS].join(`
51
+ in your project root.`),new d(a)}}function sd(t){if(!(t===void 0||t===!1)){if(typeof t=="string"){if(t==="/"||t.startsWith("http://")||t.startsWith("https://"))return;throw new Error(`Invalid relativeHrefRoot value "${t}". Must be false, "/" or an absolute URL starting with http:// or https://`)}throw new Error(`Invalid relativeHrefRoot type. Must be false, "/" or an absolute URL string, got: ${typeof t}`)}}function ri(t){if(typeof t=="string")return t;if(Array.isArray(t))return t.map(e=>`^${e}$`).join("|")}Na();ft();$();var Zr=class extends Error{};function rw(t){try{let e=JSON.parse(t);if(e.msg&&typeof e.msg=="string")return e.msg}catch{}return null}async function nw(t){switch(t.status){case 400:{let e=await t.text(),r=rw(e);throw new Zr(r||"Bad request: The server rejected the request due to invalid input. Please check your configuration and try again.")}case 401:throw new Zr("Your access token is invalid for the provided siteId. Double check your configs in your .webflowrc configuration file.");case 404:throw new Zr("You're not currently enrolled in the DevLink beta. You can apply for access here: https://webflow.com/devlink");default:throw new Zr(`Something went wrong (HTTP ${t.status}).`)}}async function ow(t){try{let{siteId:e,host:r,authToken:n,...o}=t,i=await q(`${r}/devlink/${e}`,{method:"POST",headers:{Authorization:`Bearer ${n}`,"Content-Type":"application/json"},body:JSON.stringify(o),timeout:6e4});return i.ok?await i.json():nw(i)}catch(e){throw new d(e,{skipLogging:!0})}}async function Ba(t){try{let e=await ow(t);if(!e.files||!Array.isArray(e.files))throw new d("Invalid response format from V1 API: expected 'files' array");let r=e.metadata?.exportCoverage==="full";return await ii(e.files,t.rootDir,r),{messages:e.messages}}catch(e){throw e instanceof d?e:new d(e,{skipLogging:!0})}}var pr=m(require("process"));_();De();ft();var Ma=class{config;error;constructor(e,r){this.config=e,this.error=r}stripPII(e=""){return e.replace(/\/(.*)webflow-cli/gi,"/REDACTED_PII/webflow-cli/").replace(/\/(.*)node_modules/gi,"/REDACTED_PII/node_modules")}sendTelemetry(){let e=this.config,r=this.error;q(`${e.host}/devlink/${e.siteId}/telemetry`,{headers:{Authorization:`Bearer ${e.authToken}`,"Content-Type":"application/json"},method:"post",body:JSON.stringify({cause:r.cause,message:r.message,name:r.name,stack:this.stripPII(r.stack),platform:pr.default.platform,node:pr.default.version})})}async storeChoice(e){try{return oe({devlink:{allowTelemetry:e}})}catch{let n=await Kr();await Bf({...n,allowTelemetry:e})}}async prompt(){let e=this.config;c.error(this.error),e.allowTelemetry===!0?this.sendTelemetry():e.allowTelemetry===void 0&&(await this.storeChoice(!0),this.sendTelemetry())}};function si(t){return async function(r){pr.default.removeListener("uncaughtException",si),pr.default.removeListener("unhandledRejection",si);let n=await ni(t);if(!n)return;await new Ma(n,r).prompt()}}function ld(t){pr.default.on("uncaughtException",si(t)),pr.default.on("unhandledRejection",si(t))}ee();_();re();De();La();async function cd(t,e){let r=Date.now(),{manifest:n}=G(),{accessToken:o,siteId:i}=await ge(n,{site:e?.site,apiToken:e?.apiToken}),s={...o?{authToken:o}:{},...i?{siteId:i}:{},...t&&t.length>0?{components:ri(t),overwriteModule:!1}:{overwriteModule:!0}};ld(s);let a=await ni(s);if(!a)return Wa.default.exit();let l;try{l=A.forDevlinkSync(a)}catch(f){c.debug(`Failed to initialize telemetry: ${f}`)}await l?.sendUsage("devlink_sync_start",{specificComponents:t&&t.length>0,componentCount:t?.length||0,cssModules:a.cssModules,overwriteModule:a.overwriteModule,relativeHrefRoot:a.relativeHrefRoot});let u=c.spinner(`Exporting components into ${a.rootDir}`);try{let{messages:f}=await Ba(a);u.succeed(`Successfully exported components into ${a.rootDir} folder`),ai(f);let p=Date.now()-r;await l?.sendUsage("devlink_sync_success",{duration:p,specificComponents:t&&t.length>0,componentCount:t?.length||0,cssModules:a.cssModules,overwriteModule:a.overwriteModule,relativeHrefRoot:a.relativeHrefRoot})}catch(f){let p=f instanceof Error?f.message:String(f);u.fail(`Failed to export components: ${p}`);let g=Date.now()-r;throw await l?.sendError(f instanceof Error?f:new Error(String(f)),"devlink_sync_failure",{duration:g,specificComponents:t&&t.length>0,componentCount:t?.length||0,cssModules:a.cssModules,overwriteModule:a.overwriteModule,relativeHrefRoot:a.relativeHrefRoot,configOverrides:Object.keys(s),argv:Wa.default.argv.slice(2)}),f}}za();var Gt=require("commander");var Oi=require("path"),on=require("@webflow/data-types");ie();var mi=require("fs"),qa=m(require("md5"));function to(t,e){try{let r=(0,mi.statSync)(t),n=(0,mi.readFileSync)(t);return{value:n,meta:{title:t.replace(/^.*[\\\/]/,""),fileHash:(0,qa.default)(n),size:r.size,...e||{}}}}catch{throw new Error(`File '${t}' not found`)}}function ro(t,e,r){try{let n=new Blob([t]).size,o=Buffer.from(t,"utf-8");return{value:o,meta:{title:e.replace(/^.*[\\\/]/,""),fileHash:(0,qa.default)(o),size:n,...r}}}catch{throw new Error(`Error parsing '${e}' inline file`)}}var Od=m(require("node-fetch")),Id=m(require("form-data"));async function no(t,e){let r={...e.fields,file:t.value},n=new Id.default;Object.entries(r).forEach(([i,s])=>{n.append(i,s)});let o=await(0,Od.default)("https://"+e.fields.bucket+".s3.amazonaws.com",{method:"POST",body:n});pw(o)}function pw(t){switch(t.status){case 200:case 201:return;case 403:throw new Error("Unauthorized. Please check your AWS access key");default:throw new Error(`Something went wrong when uploading the file: ${t.statusText}`)}}_();De();ee();ie();ft();fe();function mw({apiToken:t=process.env.WEBFLOW_API_TOKEN??process.env.WEBFLOW_WORKSPACE_API_TOKEN??process.env.WEBFLOW_SITE_API_TOKEN,siteId:e=process.env.WEBFLOW_SITE_ID,libraryTarget:r=process.env.WEBFLOW_LIBRARY_TARGET}){if(!t)throw new Error("No API token provided");if(r==="site"){if(!e)throw new Error("No site provided");return{baseUrl:`${C}/v2/sites/${e}`,authToken:t}}return{baseUrl:`${C}/v2/workspaces`,authToken:t}}function gw(t){if(t)return JSON.stringify(Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0)))}async function hw(t){if(t.ok)return;if(t.status===401||t.status===403)throw new Error(`Your API token is invalid or not authorized to perform this action. Run ${M("webflow auth login --force")} to generate a new token.`);if(t.status===404)throw new Error("Code components are rolling out in phases. Check back soon for access.");let e=await t.json();throw new Error(e.message||t.statusText)}async function Vt({endpoint:t,method:e="GET",body:r,options:n}){let{baseUrl:o,authToken:i}=mw(n),s=`${o.replace(/\/+$/,"")}/${t.replace(/^\/+/,"")}`,a=await q(s,{method:e,headers:{"Content-Type":"application/json",Authorization:`Bearer ${i}`},body:gw(r)});return await hw(a),a.json()}async function Ka({options:t}){return(await Vt({endpoint:"/code_libraries",options:t})).payload.workspaces[0]}async function Za({name:t,description:e,slug:r,options:n}){return(await Vt({method:"POST",endpoint:"/code_library/init",body:{name:t,description:e,slug:r},options:n})).payload}async function Ya({resourceId:t,files:e,options:r}){return(await Vt({method:"POST",endpoint:`/code_library/${t}/files`,body:{files:e},options:r})).payload}async function Xa({resourceId:t,codeModule:e,components:r,options:n}){return(await Vt({method:"POST",endpoint:`/code_library/${t}/share`,body:{codeModule:e,components:r},options:n})).payload}var xp=require("path"),_p=m(require("webpack-merge")),mr=require("@webflow/data-types");ie();_();var Pd=require("memfs/lib/volume"),oo=require("@webflow/data-types");var pt="./tmp_entry",$d="components";function gi(t){return t.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/[-_]+|[^\p{L}\p{N}]/gu," ").toLowerCase().replace(new RegExp("(?:^|\\s)(\\p{L})","gu"),(e,r)=>r.toUpperCase()).replace(/\s+/g,"")}function yw(t){let e=gi(t);return/^[a-zA-Z]/.test(e.charAt(0))?e:"_"+e}function Rd(t,e){let r=t.map(({name:l,path:u,isDefaultExport:f})=>f?`import ${l} from "${u}";`:`import { ${l} } from "${u}";`).join(`
52
+ `),n=t.filter(l=>l.type==="internal").map(({name:l,exportKey:u})=>`${u}: ${l}`).join(", "),o=t.filter(l=>l.type==="component").map(({name:l,exportKey:u})=>`"${u}": ${l}`).join(", "),i=`env: "${e}"`,s=n,a=o?`components: { ${o} }`:void 0;return`${r}
74
53
 
75
- `).trim(),{parser:"css"})}catch{return d.warn("There was a problem skipping global tags from CSS. Falling back to normal global CSS."),e}}function $h(e){return e.reduce((t,n)=>(n.path==="css/global.css"?t.globalCss=n:t.rest.push(n),t),{rest:[]})}var _r=class extends Error{};function uS(e){try{let t=JSON.parse(e);if(t.msg&&typeof t.msg=="string")return t.msg}catch{}return null}async function dS(e){switch(e.status){case 400:{let t=await e.text(),n=uS(t);throw new _r(n||"Bad request: The server rejected the request due to invalid input. Please check your configuration and try again.")}case 401:throw new _r("Your access token is invalid for the provided siteId. Double check your configs in your .webflowrc configuration file.");case 404:throw new _r("You're not currently enrolled in the DevLink beta. You can apply for access here: https://webflow.com/devlink");default:throw new _r(`Something went wrong (HTTP ${e.status}).`)}}async function pS(e){try{let{siteId:t,host:n,authToken:r,components:o,cssModules:i,relativeHrefRoot:s}=e,a=new URLSearchParams({cssModules:i?"true":"false"});o&&a.append("components",o),s!==void 0&&a.append("relativeHrefRoot",String(s));let l=`?${a.toString()}`,c=await K(`${n}/devlink/${t}${l}`,{headers:{Authorization:`Bearer ${r}`},timeout:6e4});return c.ok?await c.json():dS(c)}catch(t){throw new g(t,{skipLogging:!0})}}async function Ic(e){try{let t=await pS(e);if(!t.files||!Array.isArray(t.files))throw new g("Invalid response format from V1 API: expected 'files' array");let n=fS(t.files,e),r=t.metadata?.exportCoverage==="full";return await Wi(n,e.rootDir,r),{messages:t.messages}}catch(t){throw t instanceof g?t:new g(t,{skipLogging:!0})}}function fS(e,t){let n=t.skipTagSelectors===!0,r=t.envVariables&&Object.keys(t.envVariables).length>0;if(!n&&!t.fileExtensions&&!r)return e;let o=e;if(n){let{rest:i,globalCss:s}=$h(e);if(s){let a=Rh(s.content);o=[...i,{...s,content:a}]}}return!t.fileExtensions&&!r?o:o.map(i=>{let s=i.path,a=i.content;if(t.fileExtensions){let{js:l,css:c}=t.fileExtensions;if(l){let u=l.startsWith(".")?l:`.${l}`;s=s.replace(/\.(jsx|js)$/,u)}if(c){let u=c.startsWith(".")?c:`.${c}`;s=s.replace(/\.css$/,u)}}return r&&(a=mS(a,t.envVariables)),{path:s,content:a}})}function mS(e,t){return t?Object.entries(t).reduce((n,[r,o])=>n.replace(new RegExp(`DEVLINK_ENV_${r}`,"g"),o.trim()),e):e}var Pn=w(require("process"));J();ke();ht();var jc=class{config;error;constructor(t,n){this.config=t,this.error=n}stripPII(t=""){return t.replace(/\/(.*)webflow-cli/gi,"/REDACTED_PII/webflow-cli/").replace(/\/(.*)node_modules/gi,"/REDACTED_PII/node_modules")}sendTelemetry(){let t=this.config,n=this.error;K(`${t.host}/devlink/${t.siteId}/telemetry`,{headers:{Authorization:`Bearer ${t.authToken}`,"Content-Type":"application/json"},method:"post",body:JSON.stringify({cause:n.cause,message:n.message,name:n.name,stack:this.stripPII(n.stack),platform:Pn.default.platform,node:Pn.default.version})})}async storeChoice(t){try{return se({devlink:{allowTelemetry:t}})}catch{let r=await yr();await qp({...r,allowTelemetry:t})}}async prompt(){let t=this.config;if(d.error(this.error),t.allowTelemetry===!0)d.info("Sending crash report telemetry..."),this.sendTelemetry();else if(t.allowTelemetry===!1){d.info("Skipping crash report telemetry...");return}else d.info("Telemetry is enabled. Crash reports help us improve Webflow CLI."),d.info("To opt out, run: webflow auth telemetry --disable"),await this.storeChoice(!0),d.info("Sending crash report telemetry..."),this.sendTelemetry()}};function ms(e){return async function(n){Pn.default.removeListener("uncaughtException",ms),Pn.default.removeListener("unhandledRejection",ms);let r=await Li(e);if(!r)return;await new jc(r,n).prompt()}}function Bh(e){Pn.default.on("uncaughtException",ms(e)),Pn.default.on("unhandledRejection",ms(e))}Be();J();We();ke();Rc();async function Nh(e,t){let n=Date.now(),{manifest:r}=Q(),{accessToken:o,siteId:i}=await be(r,{site:t?.site,apiToken:t?.apiToken}),s={...o?{authToken:o}:{},...i?{siteId:i}:{},...e&&e.length>0?{components:Ni(e),overwriteModule:!1}:{overwriteModule:!0}};Bh(s);let a=await Li(s);if(!a)return $c.default.exit();let l;try{l=G.forDevlinkSync(a)}catch(u){d.debug(`Failed to initialize telemetry: ${u}`)}await l?.sendUsage("devlink_sync_start",{specificComponents:e&&e.length>0,componentCount:e?.length||0,cssModules:a.cssModules,overwriteModule:a.overwriteModule,relativeHrefRoot:a.relativeHrefRoot});let c=d.spinner(`Exporting components into ${a.rootDir}`);try{let{messages:u}=await Ic(a);c.succeed(`Successfully exported components into ${a.rootDir} folder`),gs(u);let p=Date.now()-n;await l?.sendUsage("devlink_sync_success",{duration:p,specificComponents:e&&e.length>0,componentCount:e?.length||0,cssModules:a.cssModules,overwriteModule:a.overwriteModule,relativeHrefRoot:a.relativeHrefRoot})}catch(u){let p=u instanceof Error?u.message:String(u);c.fail(`Failed to export components: ${p}`);let f=Date.now()-n;throw await l?.sendError(u instanceof Error?u:new Error(String(u)),"devlink_sync_failure",{duration:f,specificComponents:e&&e.length>0,componentCount:e?.length||0,cssModules:a.cssModules,overwriteModule:a.overwriteModule,relativeHrefRoot:a.relativeHrefRoot,configOverrides:Object.keys(s),argv:$c.default.argv.slice(2)}),u}}Uc();var an=require("commander");var Ls=require("path"),$r=require("@webflow/data-types");le();var ks=require("fs"),zc=w(require("md5"));function Vc(e,t){try{let n=(0,ks.statSync)(e),r=(0,ks.readFileSync)(e);return{value:r,meta:{title:e.replace(/^.*[\\\/]/,""),fileHash:(0,zc.default)(r),size:n.size,...t||{}}}}catch{throw new Error(`File '${e}' not found`)}}function Wo(e,t,n){try{let r=new Blob([e]).size,o=Buffer.from(e,"utf-8");return{value:o,meta:{title:t.replace(/^.*[\\\/]/,""),fileHash:(0,zc.default)(o),size:r,...n}}}catch{throw new Error(`Error parsing '${t}' inline file`)}}var sy=w(require("node-fetch")),ay=w(require("form-data"));async function Uo(e,t){let n={...t.fields,file:e.value},r=new ay.default;Object.entries(n).forEach(([i,s])=>{r.append(i,s)});let o=await(0,sy.default)("https://"+t.fields.bucket+".s3.amazonaws.com",{method:"POST",body:r});xS(o)}function xS(e){switch(e.status){case 200:case 201:return;case 403:throw new Error("Unauthorized. Please check your AWS access key");default:throw new Error(`Something went wrong when uploading the file: ${e.statusText}`)}}J();ke();Be();le();ht();function CS({apiToken:e=process.env.WEBFLOW_API_TOKEN??process.env.WEBFLOW_WORKSPACE_API_TOKEN??process.env.WEBFLOW_SITE_API_TOKEN,siteId:t=process.env.WEBFLOW_SITE_ID,libraryTarget:n=process.env.WEBFLOW_LIBRARY_TARGET}){if(!e)throw new Error("No API token provided");if(n==="site"){if(!t)throw new Error("No site provided");return{baseUrl:`${I}/v2/sites/${t}`,authToken:e}}return{baseUrl:`${I}/v2/workspaces`,authToken:e}}function ES(e){if(e)return JSON.stringify(Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0)))}async function FS(e){if(e.ok)return;if(e.status===401||e.status===403)throw new Error("Your API token is invalid or not authorized to perform this action. Remove the token from .env and run the command again to generate a new token.");if(e.status===404)throw new Error("Code components are rolling out in phases. Check back soon for access.");let t=await e.json();throw new Error(t.message||e.statusText)}async function rn({endpoint:e,method:t="GET",body:n,options:r}){let{baseUrl:o,authToken:i}=CS(r),s=`${o.replace(/\/+$/,"")}/${e.replace(/^\/+/,"")}`,a=await K(s,{method:t,headers:{"Content-Type":"application/json",Authorization:`Bearer ${i}`},body:ES(n)});return await FS(a),a.json()}async function Jc({options:e}){return(await rn({endpoint:"/code_libraries",options:e})).payload.workspaces[0]}async function qc({name:e,description:t,slug:n,options:r}){return(await rn({method:"POST",endpoint:"/code_library/init",body:{name:e,description:t,slug:n},options:r})).payload}async function Gc({resourceId:e,files:t,options:n}){return(await rn({method:"POST",endpoint:`/code_library/${e}/files`,body:{files:t},options:n})).payload}async function Hc({resourceId:e,codeModule:t,components:n,options:r}){return(await rn({method:"POST",endpoint:`/code_library/${e}/share`,body:{codeModule:t,components:n},options:r})).payload}var Xy=require("path"),Qy=w(require("webpack-merge")),In=require("@webflow/data-types");le();J();var uy=require("memfs/lib/volume"),zo=require("@webflow/data-types");var vt="./tmp_entry",ly="components";function xs(e){return e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/[-_]+|[^\p{L}\p{N}]/gu," ").toLowerCase().replace(new RegExp("(?:^|\\s)(\\p{L})","gu"),(t,n)=>n.toUpperCase()).replace(/\s+/g,"")}function SS(e){let t=xs(e);return/^[a-zA-Z]/.test(t.charAt(0))?t:"_"+t}function cy(e,t){let n=e.map(({name:l,path:c,isDefaultExport:u})=>u?`import ${l} from "${c}";`:`import { ${l} } from "${c}";`).join(`
76
- `),r=e.filter(l=>l.type==="internal").map(({name:l,exportKey:c})=>`${c}: ${l}`).join(", "),o=e.filter(l=>l.type==="component").map(({name:l,exportKey:c})=>`"${c}": ${l}`).join(", "),i=`env: "${t}"`,s=r,a=o?`components: { ${o} }`:void 0;return`${n}
77
-
78
- export default { ${[i,s,a].filter(Boolean).join(", ")} };`}function dy(e,t,n){let r={},o=`${vt}/Client.js`,i=`${vt}/Server.js`;r[o]=cy([{name:"ClientRenderer",path:e.client,exportKey:"Renderer",type:"internal"}],zo.Environment.Client);let s={},a=c=>{let u=SS(c);return s[u]?(s[u]+=1,`${u}${s[u]}`):(s[u]=1,u)};r[i]=cy([{name:"ServerRenderer",path:e.server,exportKey:"Renderer",type:"internal"},...Object.entries(t).filter(([c])=>n[c]?.ssr??!0).map(([c,u])=>{let p=a(c),f=u.startsWith(vt)?u.replace(`${vt}/`,"./"):u;return{name:p,path:f,exportKey:c,isDefaultExport:!0,type:"component"}})],zo.Environment.Server);let l={[zo.Environment.Client]:o,[zo.Environment.Server]:i};return{entryPointsVolume:uy.Volume.fromJSON(r),paths:l}}var ew=require("memfs/lib/volume");var hy=w(require("archiver")),Ar=require("path");le();var Vo=require("@webflow/data-types");le();J();var on=e=>e.endsWith("/")||/%2F$/i.test(e)?e:`${e}/`;var py=2;function fy(e){let t={type:Vo.ModuleLoader.FEDERATION,version:py,entry:Xa,renderer:yo,components:e};return{title:ho,content:JSON.stringify(t)}}function my(e){let t={type:Vo.ModuleLoader.SSR,version:py,entry:mr,components:e};return{title:ho,content:JSON.stringify(t)}}function gy(e){let t=`/${Vo.Environment.Client}/${Xa}`;try{if(e.existsSync(t)){let n=e.readFileSync(t,"utf8"),r=JSON.parse(n.toString()),o="publicPath"in r.metaData?r.metaData.publicPath:null;if(!o)throw new Error("Public path not found in module federation manifest");return r.exposes.reduce((i,s)=>{let a=s.name;return a===yo||(i[a]={css:[]},s.assets.css.sync.forEach(l=>{i[a].css.push(`${on(o)}${l}`)})),i},{})}}catch(n){d.error(n,{prefix:"Failed to extract components metadata from MF manifest:"})}return{}}var Cs=require("@webflow/data-types"),_S=/\.css$/i;async function yy(e,t,n){let r=!1;return new Promise(async(o,i)=>{e.length===0&&i(new Error("No assets to bundle"));let s=`/${Cs.Environment.Server}/${wo}`,a=(0,hy.default)("tar",{gzip:!1}),l=t.createWriteStream(s);a.on("error",p=>(r=!0,i(p))),l.on("close",()=>{if(!r)try{let p={type:"asset",name:wo,info:{},size:a.pointer(),emitted:!0,comparedForEmit:!1,cached:!1};return e.forEach(f=>{let m=(0,Ar.resolve)((0,Ar.join)(`/${Cs.Environment.Server}`,f.name));t.existsSync(m)&&t.rmSync(m)}),o([p])}catch(p){return i(p)}finally{r=!0}}),a.pipe(l);let{title:c,content:u}=my(n);a.append(u,{name:c}),e.forEach(p=>{if(!_S.test(p.name))try{let f=(0,Ar.resolve)((0,Ar.join)(`/${Cs.Environment.Server}`,p.name)),m=t.readFileSync(f,"utf8");a.append(m,{name:p.name})}catch(f){return r=!0,i(f)}}),await a.finalize()})}var wy=require("@webflow/data-types");async function by(e,t,n){let{title:r,content:o}=fy(n);await t.promises.writeFile(`/${wy.Environment.Client}/${r}`,o);let i={type:"asset",name:r,info:{},size:o.length,emitted:!0,comparedForEmit:!1,cached:!1};return e.filter(s=>s.name!=="mf-stats.json").concat([i])}var Jy=require("@rspack/core"),qy=w(require("fork-ts-checker-webpack-plugin")),Gy=require("ts-checker-rspack-plugin"),Hy=w(require("mini-css-extract-plugin")),Zy=require("@webflow/data-types");var vy=require("webpack"),Kc=w(require("mini-css-extract-plugin")),ky=w(require("tsconfig-paths-webpack-plugin")),xy=require("tsconfig-paths"),Yc=require("@webflow/data-types"),Cy=require("path");le();var Dy=w(require("postcss-selector-parser")),Zc=()=>({postcssPlugin:"CSSinShadowDOM",Once(e){e.walkRules(t=>{t.selector=(0,Dy.default)(n=>{n.walkPseudos(r=>{r.value===":root"&&(r.value=":host")})}).processSync(t.selector)})}});Zc.postcss=!0;Zc.postcssPlugin="CSSinShadowDOM";var Es=Zc;function AS(){return(0,xy.loadConfig)(process.cwd()).resultType==="success"}function Ey({entry:e,env:t,mode:n="production",publicPath:r,libraryName:o,outputPath:i}){let s={mode:n,module:{rules:[{test:/\.css$/i,use:[{ident:"mini-css-extract-loader",loader:Kc.default.loader},{ident:"css-loader",loader:require.resolve("css-loader"),options:{importLoaders:1}},{ident:"postcss-loader",loader:require.resolve("postcss-loader"),options:{postcssOptions:{plugins:[Es]}}}]},{test:/\.(png|svg|jpg|jpeg|gif|woff|woff2|eot|ttf|otf)$/i,type:"asset/resource",generator:{filename:"[hash]-[name][ext]"}}]},plugins:[new Kc.default({filename:"[contenthash].css",chunkFilename:"[contenthash].css",runtime:!1})],resolve:{plugins:[AS()?new ky.default:null].filter(Boolean)},performance:{hints:!1}};if(t===Yc.Environment.Client)return{...s,entry:()=>({}),output:{path:i?(0,Cy.join)(process.cwd(),i,t):"/",publicPath:r,clean:!0,uniqueName:o},target:"web"};if(t===Yc.Environment.Server)return{...s,plugins:[...s.plugins||[],new vy.optimize.LimitChunkCountPlugin({maxChunks:1})],entry:e,output:{filename:mr,library:{type:"commonjs2"}},optimization:{splitChunks:!1},target:"async-node"};throw new Error(`Unknown environment ${t}`)}var Fy=require("@module-federation/enhanced"),Xc=require("@webflow/data-types");function Sy({libraryName:e,env:t,exposes:n}){if(t===Xc.Environment.Client)return{plugins:[new Fy.ModuleFederationPlugin({name:e,filename:"remoteEntry.js",exposes:n,dts:!1,experiments:{optimization:{disableSnapshot:!0}}})]};if(t===Xc.Environment.Server)return{};throw new Error(`Unknown environment ${t}`)}function _y(){return{module:{rules:[{test:/\.(js|ts)x?$/,exclude:/node_modules/,use:[{ident:"babel-loader",loader:require.resolve("babel-loader"),options:{presets:[require.resolve("@babel/preset-env"),[require.resolve("@babel/preset-react"),{runtime:"automatic"}],require.resolve("@babel/preset-typescript")]}}]}]},resolve:{extensions:[".tsx",".ts",".jsx",".js",".json"]}}}function Fs(){return{module:{rules:[{test:/\.(js|ts)x?$/,exclude:/node_modules/,loader:"builtin:swc-loader",options:{jsc:{parser:{syntax:"typescript",tsx:!0},transform:{react:{runtime:"automatic",development:!1,refresh:!1}}}}}]},resolve:{extensions:[".tsx",".ts",".jsx",".js",".json"]}}}var Ss=require("@rspack/core"),Ay=require("tsconfig-paths"),Qc=require("@webflow/data-types"),Ty=require("path");le();function TS(){let e=(0,Ay.loadConfig)(process.cwd());if(e.resultType==="success")return e.configFileAbsolutePath}function Oy({entry:e,env:t,mode:n="production",publicPath:r,libraryName:o,outputPath:i}){let s={mode:n,module:{rules:[{test:/\.css$/i,use:[{ident:"mini-css-extract-loader",loader:Ss.rspack.CssExtractRspackPlugin.loader},{ident:"css-loader",loader:require.resolve("css-loader"),options:{importLoaders:1}},{ident:"postcss-loader",loader:require.resolve("postcss-loader"),options:{postcssOptions:{plugins:[Es]}}}],type:"javascript/auto"},{test:/\.(png|svg|jpg|jpeg|gif|woff|woff2|eot|ttf|otf)$/i,type:"asset/resource",generator:{filename:"[hash]-[name][ext]"}}]},plugins:[new Ss.rspack.CssExtractRspackPlugin({filename:"[contenthash].css",chunkFilename:"[contenthash].css",runtime:!1})],resolve:(()=>{let a=TS();return a?{tsConfig:{configFile:a}}:{}})(),performance:{hints:!1}};if(t===Qc.Environment.Client)return{...s,entry:()=>({}),output:{path:i?(0,Ty.join)(process.cwd(),i,t):"/",publicPath:r,clean:!0,uniqueName:o},target:"web"};if(t===Qc.Environment.Server)return{...s,plugins:[...Array.isArray(s.plugins)?s.plugins:[],new Ss.rspack.optimize.LimitChunkCountPlugin({maxChunks:1})],entry:e,output:{filename:mr,library:{type:"commonjs2"}},optimization:{splitChunks:!1},target:"async-node"};throw new Error(`Unknown environment ${t}`)}var Py=require("@module-federation/enhanced/rspack"),eu=require("@webflow/data-types");function Iy({libraryName:e,env:t,exposes:n}){if(t===eu.Environment.Client)return{plugins:[new Py.ModuleFederationPlugin({name:e,filename:"remoteEntry.js",exposes:n,dts:!1,experiments:{optimization:{disableSnapshot:!0}}})]};if(t===eu.Environment.Server)return{};throw new Error(`Unknown environment ${t}`)}var PS=w(require("fs")),jy=require("unionfs"),Ry=require("webpack");function OS(e){return{name:e.name,size:e.size,emitted:e.emitted,info:e.info}}function _s(e){let t=e.toJson();return{hasErrors:()=>e.hasErrors(),hasWarnings:()=>e.hasWarnings(),toString:n=>e.toString(n),toJson:()=>({...t,assets:(t.assets??[]).map(OS)})}}async function $y({config:e,sourceVolumes:t=[],outputVolume:n,outputPath:r,failOnWarnings:o=!0}){let i=t.reduce((s,a)=>(s.use(a),s),new jy.Union().use(PS));return new Promise((s,a)=>{let l=(0,Ry.webpack)(e);l.inputFileSystem=i,n&&(l.outputFileSystem=n),r&&(l.outputPath=r),l.run((c,u)=>{l.close(p=>{c||p?a(c||p):u?u.hasErrors()||o&&u.hasWarnings()?a(new Error(u.toString("errors-warnings"))):s(_s(u)):a(new Error("Webpack stats are undefined"))})})})}var IS=w(require("fs")),tu=w(require("webpack-merge")),By=require("memfs"),Ny=require("unionfs"),Ly=require("@rspack/core");async function As({config:e,sourceVolumes:t=[],outputVolume:n,outputPath:r,failOnWarnings:o=!0}){let i=t.reduce((a,l)=>(a.use(l),a),new Ny.Union().use(IS)),s=e;return t.length>0&&(s=(0,tu.default)(s,{experiments:{...e.experiments,useInputFileSystem:[/./]}})),n&&(s=(0,tu.default)(s,{output:{clean:!1,...r&&{path:r}}})),new Promise((a,l)=>{let c=(0,Ly.rspack)(s);c.inputFileSystem=i,n&&(c.outputFileSystem=(0,By.createFsFromVolume)(n)),r&&(c.outputPath=r),c.run((u,p)=>{c.close(f=>{u||f?l(u||f):p?p.hasErrors()||o&&p.hasWarnings()?l(new Error(p.toString("errors-warnings"))):a(_s(p)):l(new Error("Rspack stats are undefined"))})})})}var Wy=require("@module-federation/enhanced");var Tr=w(require("webpack-merge"));J();function sn(e){return e!==null&&typeof e=="object"&&"constructor"in e?e.constructor.name??"":""}function My(e,t){let n=Object.entries(e).filter(([r])=>!t.includes(r));return Object.fromEntries(n)}function Os(e){let{deduplicatePluginNames:t,ModuleFederationPluginClass:n,getPluginOptions:r,filterOverridePlugins:o}=e;return function(s,a,l){let c=["entry","output","target"],u=jS(s),p=Array.isArray(l)?Ts(...l.map(u)):Ts(u(l));Object.keys(p).some(j=>c.includes(j))&&d.warn(`Cannot override blocked properties: ${c.join(", ")}`);let m={...My(p,[...c,"ModuleFederationPlugin","module","plugins"]),module:My(p.module??{},["rules"])},h=(0,Tr.default)(a,m),v=p.plugins??[];o&&(v=v.filter(o));let k=a.plugins??[],P=(0,Tr.mergeWithCustomize)({customizeArray:(0,Tr.unique)("plugins",t,j=>sn(j))})({plugins:v},{plugins:k}).plugins,C=p?.ModuleFederationPlugin?.shared,x=P?.map(j=>{if(sn(j)==="ModuleFederationPlugin"){let S=r(j);return new n({...S,...C?{shared:C}:{}})}return j});h.plugins=x;let z=p.module?.rules;if(z&&typeof z=="function"){let j=a.module?.rules??[];h.module={...h.module??{},rules:z(j)}}return h}}function Ts(...e){if(e.length===0)return{};if(e.length===1)return e[0];let t={};for(let n of e){let{module:r,ModuleFederationPlugin:o,plugins:i,...s}=n;if(t={...t,...s},r){let{rules:a,...l}=r;if(t.module={...t.module,...l},a){let c=t.module?.rules;c?t.module.rules=u=>{let p=c(u);return a(p)}:t.module.rules=a}}o?.shared&&(t.ModuleFederationPlugin={shared:{...t.ModuleFederationPlugin?.shared,...o.shared}}),i&&(t.plugins=[...t.plugins??[],...i])}return t}function jS(e){return t=>typeof t=="function"?t(e):t}var RS=Os({deduplicatePluginNames:["ModuleFederationPlugin","MiniCssExtractPlugin"],ModuleFederationPluginClass:Wy.ModuleFederationPlugin,getPluginOptions:e=>e._options??{}});function Uy(e,t,n){return RS(e,t,n)}var zy=require("@module-federation/enhanced/rspack");var $S=Os({deduplicatePluginNames:["ModuleFederationPlugin","CssExtractRspackPlugin"],ModuleFederationPluginClass:zy.ModuleFederationPlugin,getPluginOptions:e=>e._options??{},filterOverridePlugins:e=>sn(e)!=="MiniCssExtractPlugin"});function Vy(e,t,n){return $S(e,t,n)}var nu={[Zy.Framework.React]:{generateWebpackBundlerConfig:_y,generateRspackBundlerConfig:Fs}},BS={webpack:{generateBaseConfig:Ey,getFrameworkConfig:(e,t)=>nu[e].generateWebpackBundlerConfig(t),generateFederationConfig:Sy,mergeConfigs:(e,t,n)=>Uy(e,t,n),bundle:e=>$y({...e,config:e.config}),typeCheckerPlugin:qy.default,hashFunction:"md5",replaceCssPlugin:e=>({...e,plugins:e.plugins?.map(t=>sn(t)==="MiniCssExtractPlugin"?new Hy.default({filename:"[name].[contenthash].css"}):t)})},rspack:{generateBaseConfig:Oy,getFrameworkConfig:(e,t)=>nu[e].generateRspackBundlerConfig(t),generateFederationConfig:Iy,mergeConfigs:(e,t,n)=>Vy(e,t,n),bundle:e=>As({...e,config:e.config}),typeCheckerPlugin:Gy.TsCheckerRspackPlugin,hashFunction:"md4",replaceCssPlugin:e=>({...e,plugins:e.plugins?.map(t=>sn(t)==="CssExtractRspackPlugin"?new Jy.CssExtractRspackPlugin({filename:"[name].[contenthash].css"}):t)})}},Or=e=>BS[e],Ky=e=>!!nu[e];var Yy={colors:!0,chunks:!1,modules:!1,chunkModules:!1,reasons:!1,errorDetails:!1,assetsSpace:1/0,warnings:!1,assets:!0,entrypoints:!0,performance:!0};async function Ps(e){let t=e.bundler??"webpack";d.debug("Generating entry points...");let{entryPointsVolume:n,paths:r}=dy(e.renderer,e.componentsFiles,e.componentsOptions),o=ew.Volume.fromJSON({"/Server":null,"/Client":null});d.debug("Generating bundling config...");let i=e.overrideConfig??{};Object.keys(i).length&&d.debug("Found bundle config overrides. Merging...");let s=Or(t),a=k=>{let T=NS({env:k,mode:e.dev?"development":"production",framework:e.framework,publicPath:e.publicPath,components:e.componentsFiles,entryPaths:r,libraryName:e.libraryIdentifier,bundler:t}),P=s.mergeConfigs(k,T,i);return e?.debugBundler&&(d.info(`${t} config for env ${k}:`),d.dir(P)),P},l={sourceVolumes:[...e.sourceVolumes,n],outputVolume:o,failOnWarnings:e.failOnWarnings},[c,u]=await Promise.all([s.bundle({...l,config:a(In.Environment.Server),outputPath:`/${In.Environment.Server}`}),s.bundle({...l,config:a(In.Environment.Client),outputPath:`/${In.Environment.Client}`})]);e?.debugBundler&&(d.debug(o.toTree()),d.debug(`Server Bundler Stats: ${c.toString(Yy)}`),d.debug(`Client Bundler Stats: ${u.toString(Yy)}`));let p=gy(o);d.debug("Packaging server bundle...");let f=await yy(c.toJson().assets||[],o,p);d.debug("Packaging client bundle...");let m=await by(u.toJson().assets||[],o,p),h=k=>T=>[T,k];return{outputFiles:[...f.map(h(In.Environment.Server)),...m.map(h(In.Environment.Client))],outputVolume:o}}function NS({env:e,mode:t="production",framework:n,publicPath:r,components:o,entryPaths:i,libraryName:s,outputPath:a,bundler:l="webpack"}){if(!Ky(n))throw new Error(`Unknown framework: ${n}`);let c=Object.entries({[yo]:i[e],...o}).reduce((h,[v,k])=>({...h,[`./${v}`]:`./${(0,Xy.relative)(process.cwd(),k)}`}),{}),u=Or(l),p=u.generateBaseConfig({entry:i[e],env:e,mode:t,libraryName:s,publicPath:r,outputPath:a}),f=u.getFrameworkConfig(n,e),m=u.generateFederationConfig({exposes:c,env:e,libraryName:s});return(0,Qy.default)(p,f,m)}var rw=w(require("path")),ou=require("memfs/lib/volume"),iu=w(require("webpack-merge")),ow=w(require("webpack-node-externals")),Ke=require("@webflow/data-types");var LS=w(require("fs")),Pr=require("path"),Ir=require("webpack");function MS(e,t=LS){let n=(0,Pr.join)(process.cwd(),"node_modules",e);for(;n!==(0,Pr.dirname)(n)&&n!=="node_modules";){let r=(0,Pr.join)(n,"package.json");if(t.existsSync(r))try{let{name:o,version:i}=JSON.parse(t.readFileSync(r,"utf8"));return`${o}@${i}`}catch{return null}n=(0,Pr.dirname)(n)}return null}var Is=class{apply(t){t.hooks.compilation.tap("ProcessSourceMapsPlugin",function(n){n.hooks.processAssets.tap({name:"ProcessSourceMapsPlugin",stage:Ir.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_INLINE},function(){try{let r=n.getAssets(),o={};Object.values(r).forEach(({name:i,source:s})=>{if(!i.endsWith(".map"))return;let[a,l,c]=i.split("."),u=o[a]?.sources??{},p=o[a]?.dependencies??new Set;JSON.parse(s.source().toString()).sources.forEach(m=>{if(m.startsWith("external")){let h=m.match(/^external \S+ "(.+)"$/)?.[1];if(!h)throw new Error(`Could not extract package name from ${m}`);let v=MS(h,n.inputFileSystem);if(!v)throw new Error(`Could not find package information for ${h}`);v&&p.add(v)}}),o[a]={sources:{...u,[`./${a}.${c}`]:l},dependencies:p},n.deleteAsset(i)}),Object.entries(o).forEach(([i,{sources:s,dependencies:a}])=>{n.emitAsset(`${i}.js.map`,new Ir.sources.RawSource(JSON.stringify({sources:s,dependencies:[...a]})))})}catch(r){n.errors.push(new Ir.WebpackError(`[ProcessSourceMapsPlugin] Could not process source maps: ${r instanceof Error?r.stack:String(r)}`))}})})}};var tw=w(require("module")),nw=require("jsdom"),ru="__webflowCliImportModuleWindow__";function WS(e){let n=/^(?:\ufeff?\s*)(?:'use strict'|"use strict");?\s*(?:\r?\n|\r)?/.exec(e),r=!!n,o=`module[${JSON.stringify(ru)}]`,i=[];r||i.push('"use strict";'),i.push(`var __wfW = ${o};`,'if (__wfW == null) { throw new ReferenceError("Webflow CLI internal: missing JSDOM window on module"); }',"var window = __wfW;","var document = __wfW.document;","var navigator = __wfW.navigator;","var HTMLElement = __wfW.HTMLElement;","var localStorage = __wfW.localStorage;","var sessionStorage = __wfW.sessionStorage;","var requestAnimationFrame = __wfW.requestAnimationFrame.bind(__wfW);","var cancelAnimationFrame = __wfW.cancelAnimationFrame.bind(__wfW);","var getComputedStyle = __wfW.getComputedStyle.bind(__wfW);","var performance = __wfW.performance;","");let s=i.join(`
54
+ export default { ${[i,s,a].filter(Boolean).join(", ")} };`}function jd(t,e,r){let n={},o=`${pt}/Client.js`,i=`${pt}/Server.js`;n[o]=Rd([{name:"ClientRenderer",path:t.client,exportKey:"Renderer",type:"internal"}],oo.Environment.Client);let s={},a=u=>{let f=yw(u);return s[f]?(s[f]+=1,`${f}${s[f]}`):(s[f]=1,f)};n[i]=Rd([{name:"ServerRenderer",path:t.server,exportKey:"Renderer",type:"internal"},...Object.entries(e).filter(([u])=>r[u]?.ssr??!0).map(([u,f])=>{let p=a(u),g=f.startsWith(pt)?f.replace(`${pt}/`,"./"):f;return{name:p,path:g,exportKey:u,isDefaultExport:!0,type:"component"}})],oo.Environment.Server);let l={[oo.Environment.Client]:o,[oo.Environment.Server]:i};return{entryPointsVolume:Pd.Volume.fromJSON(n),paths:l}}var Cp=require("memfs/lib/volume");var Wd=m(require("archiver")),Yr=require("path");ie();var io=require("@webflow/data-types");ie();_();var Ht=t=>t.endsWith("/")||/%2F$/i.test(t)?t:`${t}/`;var Nd=2;function Bd(t){let e={type:io.ModuleLoader.FEDERATION,version:Nd,entry:na,renderer:Ln,components:t};return{title:Mn,content:JSON.stringify(e)}}function Md(t){let e={type:io.ModuleLoader.SSR,version:Nd,entry:Gr,components:t};return{title:Mn,content:JSON.stringify(e)}}function Ld(t){let e=`/${io.Environment.Client}/${na}`;try{if(t.existsSync(e)){let r=t.readFileSync(e,"utf8"),n=JSON.parse(r.toString()),o="publicPath"in n.metaData?n.metaData.publicPath:null;if(!o)throw new Error("Public path not found in module federation manifest");return n.exposes.reduce((i,s)=>{let a=s.name;return a===Ln||(i[a]={css:[]},s.assets.css.sync.forEach(l=>{i[a].css.push(`${Ht(o)}${l}`)})),i},{})}}catch(r){c.error(r,{prefix:"Failed to extract components metadata from MF manifest:"})}return{}}var hi=require("@webflow/data-types"),ww=/\.css$/i;async function Ud(t,e,r){let n=!1;return new Promise(async(o,i)=>{t.length===0&&i(new Error("No assets to bundle"));let s=`/${hi.Environment.Server}/${Wn}`,a=(0,Wd.default)("tar",{gzip:!1}),l=e.createWriteStream(s);a.on("error",p=>(n=!0,i(p))),l.on("close",()=>{if(!n)try{let p={type:"asset",name:Wn,info:{},size:a.pointer(),emitted:!0,comparedForEmit:!1,cached:!1};return t.forEach(g=>{let h=(0,Yr.resolve)((0,Yr.join)(`/${hi.Environment.Server}`,g.name));e.existsSync(h)&&e.rmSync(h)}),o([p])}catch(p){return i(p)}finally{n=!0}}),a.pipe(l);let{title:u,content:f}=Md(r);a.append(f,{name:u}),t.forEach(p=>{if(!ww.test(p.name))try{let g=(0,Yr.resolve)((0,Yr.join)(`/${hi.Environment.Server}`,p.name)),h=e.readFileSync(g,"utf8");a.append(h,{name:p.name})}catch(g){return n=!0,i(g)}}),await a.finalize()})}var Vd=require("@webflow/data-types");async function Hd(t,e,r){let{title:n,content:o}=Bd(r);await e.promises.writeFile(`/${Vd.Environment.Client}/${n}`,o);let i={type:"asset",name:n,info:{},size:o.length,emitted:!0,comparedForEmit:!1,cached:!1};return t.filter(s=>s.name!=="mf-stats.json").concat([i])}var hp=require("@rspack/core"),yp=m(require("fork-ts-checker-webpack-plugin")),wp=require("ts-checker-rspack-plugin"),Dp=m(require("mini-css-extract-plugin")),bp=require("@webflow/data-types");var Gd=require("webpack"),el=m(require("mini-css-extract-plugin")),zd=m(require("tsconfig-paths-webpack-plugin")),qd=require("tsconfig-paths"),tl=require("@webflow/data-types"),Kd=require("path");ie();var Jd=m(require("postcss-selector-parser")),Qa=()=>({postcssPlugin:"CSSinShadowDOM",Once(t){t.walkRules(e=>{e.selector=(0,Jd.default)(r=>{r.walkPseudos(n=>{n.value===":root"&&(n.value=":host")})}).processSync(e.selector)})}});Qa.postcss=!0;Qa.postcssPlugin="CSSinShadowDOM";var yi=Qa;function Dw(){return(0,qd.loadConfig)(process.cwd()).resultType==="success"}function Zd({entry:t,env:e,mode:r="production",publicPath:n,libraryName:o,outputPath:i}){let s={mode:r,module:{rules:[{test:/\.css$/i,use:[{ident:"mini-css-extract-loader",loader:el.default.loader},{ident:"css-loader",loader:require.resolve("css-loader"),options:{importLoaders:1}},{ident:"postcss-loader",loader:require.resolve("postcss-loader"),options:{postcssOptions:{plugins:[yi]}}}]},{test:/\.(png|svg|jpg|jpeg|gif|woff|woff2|eot|ttf|otf)$/i,type:"asset/resource",generator:{filename:"[hash]-[name][ext]"}}]},plugins:[new el.default({filename:"[contenthash].css",chunkFilename:"[contenthash].css",runtime:!1})],resolve:{plugins:[Dw()?new zd.default:null].filter(Boolean)},performance:{hints:!1}};if(e===tl.Environment.Client)return{...s,entry:()=>({}),output:{path:i?(0,Kd.join)(process.cwd(),i,e):"/",publicPath:n,clean:!0,uniqueName:o},target:"web"};if(e===tl.Environment.Server)return{...s,plugins:[...s.plugins||[],new Gd.optimize.LimitChunkCountPlugin({maxChunks:1})],entry:t,output:{filename:Gr,library:{type:"commonjs2"}},optimization:{splitChunks:!1},target:"async-node"};throw new Error(`Unknown environment ${e}`)}var Yd=require("@module-federation/enhanced"),rl=require("@webflow/data-types");function Xd({libraryName:t,env:e,exposes:r}){if(e===rl.Environment.Client)return{plugins:[new Yd.ModuleFederationPlugin({name:t,filename:"remoteEntry.js",exposes:r,dts:!1,experiments:{optimization:{disableSnapshot:!0}}})]};if(e===rl.Environment.Server)return{};throw new Error(`Unknown environment ${e}`)}function Qd(){return{module:{rules:[{test:/\.(js|ts)x?$/,exclude:/node_modules/,use:[{ident:"babel-loader",loader:require.resolve("babel-loader"),options:{presets:[require.resolve("@babel/preset-env"),[require.resolve("@babel/preset-react"),{runtime:"automatic"}],require.resolve("@babel/preset-typescript")]}}]}]},resolve:{extensions:[".tsx",".ts",".jsx",".js",".json"]}}}function wi(){return{module:{rules:[{test:/\.(js|ts)x?$/,exclude:/node_modules/,loader:"builtin:swc-loader",options:{jsc:{parser:{syntax:"typescript",tsx:!0},transform:{react:{runtime:"automatic",development:!1,refresh:!1}}}}}]},resolve:{extensions:[".tsx",".ts",".jsx",".js",".json"]}}}var Di=require("@rspack/core"),ep=require("tsconfig-paths"),nl=require("@webflow/data-types"),tp=require("path");ie();function bw(){let t=(0,ep.loadConfig)(process.cwd());if(t.resultType==="success")return t.configFileAbsolutePath}function rp({entry:t,env:e,mode:r="production",publicPath:n,libraryName:o,outputPath:i}){let s={mode:r,module:{rules:[{test:/\.css$/i,use:[{ident:"mini-css-extract-loader",loader:Di.rspack.CssExtractRspackPlugin.loader},{ident:"css-loader",loader:require.resolve("css-loader"),options:{importLoaders:1}},{ident:"postcss-loader",loader:require.resolve("postcss-loader"),options:{postcssOptions:{plugins:[yi]}}}],type:"javascript/auto"},{test:/\.(png|svg|jpg|jpeg|gif|woff|woff2|eot|ttf|otf)$/i,type:"asset/resource",generator:{filename:"[hash]-[name][ext]"}}]},plugins:[new Di.rspack.CssExtractRspackPlugin({filename:"[contenthash].css",chunkFilename:"[contenthash].css",runtime:!1})],resolve:(()=>{let a=bw();return a?{tsConfig:{configFile:a}}:{}})(),performance:{hints:!1}};if(e===nl.Environment.Client)return{...s,entry:()=>({}),output:{path:i?(0,tp.join)(process.cwd(),i,e):"/",publicPath:n,clean:!0,uniqueName:o},target:"web"};if(e===nl.Environment.Server)return{...s,plugins:[...Array.isArray(s.plugins)?s.plugins:[],new Di.rspack.optimize.LimitChunkCountPlugin({maxChunks:1})],entry:t,output:{filename:Gr,library:{type:"commonjs2"}},optimization:{splitChunks:!1},target:"async-node"};throw new Error(`Unknown environment ${e}`)}var np=require("@module-federation/enhanced/rspack"),ol=require("@webflow/data-types");function op({libraryName:t,env:e,exposes:r}){if(e===ol.Environment.Client)return{plugins:[new np.ModuleFederationPlugin({name:t,filename:"remoteEntry.js",exposes:r,dts:!1,experiments:{optimization:{disableSnapshot:!0}}})]};if(e===ol.Environment.Server)return{};throw new Error(`Unknown environment ${e}`)}var Ew=m(require("fs")),ip=require("unionfs"),sp=require("webpack");function vw(t){return{name:t.name,size:t.size,emitted:t.emitted,info:t.info}}function bi(t){let e=t.toJson();return{hasErrors:()=>t.hasErrors(),hasWarnings:()=>t.hasWarnings(),toString:r=>t.toString(r),toJson:()=>({...e,assets:(e.assets??[]).map(vw)})}}async function ap({config:t,sourceVolumes:e=[],outputVolume:r,outputPath:n,failOnWarnings:o=!0}){let i=e.reduce((s,a)=>(s.use(a),s),new ip.Union().use(Ew));return new Promise((s,a)=>{let l=(0,sp.webpack)(t);l.inputFileSystem=i,r&&(l.outputFileSystem=r),n&&(l.outputPath=n),l.run((u,f)=>{l.close(p=>{u||p?a(u||p):f?f.hasErrors()||o&&f.hasWarnings()?a(new Error(f.toString("errors-warnings"))):s(bi(f)):a(new Error("Webpack stats are undefined"))})})})}var xw=m(require("fs")),il=m(require("webpack-merge")),lp=require("memfs"),cp=require("unionfs"),up=require("@rspack/core");async function vi({config:t,sourceVolumes:e=[],outputVolume:r,outputPath:n,failOnWarnings:o=!0}){let i=e.reduce((a,l)=>(a.use(l),a),new cp.Union().use(xw)),s=t;return e.length>0&&(s=(0,il.default)(s,{experiments:{...t.experiments,useInputFileSystem:[/./]}})),r&&(s=(0,il.default)(s,{output:{clean:!1,...n&&{path:n}}})),new Promise((a,l)=>{let u=(0,up.rspack)(s);u.inputFileSystem=i,r&&(u.outputFileSystem=(0,lp.createFsFromVolume)(r)),n&&(u.outputPath=n),u.run((f,p)=>{u.close(g=>{f||g?l(f||g):p?p.hasErrors()||o&&p.hasWarnings()?l(new Error(p.toString("errors-warnings"))):a(bi(p)):l(new Error("Rspack stats are undefined"))})})})}var dp=require("@module-federation/enhanced");var Xr=m(require("webpack-merge"));_();function Jt(t){return t!==null&&typeof t=="object"&&"constructor"in t?t.constructor.name??"":""}function fp(t,e){let r=Object.entries(t).filter(([n])=>!e.includes(n));return Object.fromEntries(r)}function xi(t){let{deduplicatePluginNames:e,ModuleFederationPluginClass:r,getPluginOptions:n,filterOverridePlugins:o}=t;return function(s,a,l){let u=["entry","output","target"],f=_w(s),p=Array.isArray(l)?Ei(...l.map(f)):Ei(f(l));Object.keys(p).some(j=>u.includes(j))&&c.warn(`Cannot override blocked properties: ${u.join(", ")}`);let h={...fp(p,[...u,"ModuleFederationPlugin","module","plugins"]),module:fp(p.module??{},["rules"])},w=(0,Xr.default)(a,h),F=p.plugins??[];o&&(F=F.filter(o));let O=a.plugins??[],K=(0,Xr.mergeWithCustomize)({customizeArray:(0,Xr.unique)("plugins",e,j=>Jt(j))})({plugins:F},{plugins:O}).plugins,x=p?.ModuleFederationPlugin?.shared,B=K?.map(j=>{if(Jt(j)==="ModuleFederationPlugin"){let I=n(j);return new r({...I,...x?{shared:x}:{}})}return j});w.plugins=B;let Q=p.module?.rules;if(Q&&typeof Q=="function"){let j=a.module?.rules??[];w.module={...w.module??{},rules:Q(j)}}return w}}function Ei(...t){if(t.length===0)return{};if(t.length===1)return t[0];let e={};for(let r of t){let{module:n,ModuleFederationPlugin:o,plugins:i,...s}=r;if(e={...e,...s},n){let{rules:a,...l}=n;if(e.module={...e.module,...l},a){let u=e.module?.rules;u?e.module.rules=f=>{let p=u(f);return a(p)}:e.module.rules=a}}o?.shared&&(e.ModuleFederationPlugin={shared:{...e.ModuleFederationPlugin?.shared,...o.shared}}),i&&(e.plugins=[...e.plugins??[],...i])}return e}function _w(t){return e=>typeof e=="function"?e(t):e}var Cw=xi({deduplicatePluginNames:["ModuleFederationPlugin","MiniCssExtractPlugin"],ModuleFederationPluginClass:dp.ModuleFederationPlugin,getPluginOptions:t=>t._options??{}});function pp(t,e,r){return Cw(t,e,r)}var mp=require("@module-federation/enhanced/rspack");var Fw=xi({deduplicatePluginNames:["ModuleFederationPlugin","CssExtractRspackPlugin"],ModuleFederationPluginClass:mp.ModuleFederationPlugin,getPluginOptions:t=>t._options??{},filterOverridePlugins:t=>Jt(t)!=="MiniCssExtractPlugin"});function gp(t,e,r){return Fw(t,e,r)}var sl={[bp.Framework.React]:{generateWebpackBundlerConfig:Qd,generateRspackBundlerConfig:wi}},kw={webpack:{generateBaseConfig:Zd,getFrameworkConfig:(t,e)=>sl[t].generateWebpackBundlerConfig(e),generateFederationConfig:Xd,mergeConfigs:(t,e,r)=>pp(t,e,r),bundle:t=>ap({...t,config:t.config}),typeCheckerPlugin:yp.default,hashFunction:"md5",replaceCssPlugin:t=>({...t,plugins:t.plugins?.map(e=>Jt(e)==="MiniCssExtractPlugin"?new Dp.default({filename:"[name].[contenthash].css"}):e)})},rspack:{generateBaseConfig:rp,getFrameworkConfig:(t,e)=>sl[t].generateRspackBundlerConfig(e),generateFederationConfig:op,mergeConfigs:(t,e,r)=>gp(t,e,r),bundle:t=>vi({...t,config:t.config}),typeCheckerPlugin:wp.TsCheckerRspackPlugin,hashFunction:"md4",replaceCssPlugin:t=>({...t,plugins:t.plugins?.map(e=>Jt(e)==="CssExtractRspackPlugin"?new hp.CssExtractRspackPlugin({filename:"[name].[contenthash].css"}):e)})}},Qr=t=>kw[t],vp=t=>!!sl[t];var Ep={colors:!0,chunks:!1,modules:!1,chunkModules:!1,reasons:!1,errorDetails:!1,assetsSpace:1/0,warnings:!1,assets:!0,entrypoints:!0,performance:!0};async function _i(t){let e=t.bundler??"webpack";c.debug("Generating entry points...");let{entryPointsVolume:r,paths:n}=jd(t.renderer,t.componentsFiles,t.componentsOptions),o=Cp.Volume.fromJSON({"/Server":null,"/Client":null});c.debug("Generating bundling config...");let i=t.overrideConfig??{};Object.keys(i).length&&c.debug("Found bundle config overrides. Merging...");let s=Qr(e),a=O=>{let ne=Sw({env:O,mode:t.dev?"development":"production",framework:t.framework,publicPath:t.publicPath,components:t.componentsFiles,entryPaths:n,libraryName:t.libraryIdentifier,bundler:e}),K=s.mergeConfigs(O,ne,i);return t?.debugBundler&&(c.info(`${e} config for env ${O}:`),c.dir(K)),K},l={sourceVolumes:[...t.sourceVolumes,r],outputVolume:o,failOnWarnings:t.failOnWarnings},[u,f]=await Promise.all([s.bundle({...l,config:a(mr.Environment.Server),outputPath:`/${mr.Environment.Server}`}),s.bundle({...l,config:a(mr.Environment.Client),outputPath:`/${mr.Environment.Client}`})]);t?.debugBundler&&(c.debug(o.toTree()),c.debug(`Server Bundler Stats: ${u.toString(Ep)}`),c.debug(`Client Bundler Stats: ${f.toString(Ep)}`));let p=Ld(o);c.debug("Packaging server bundle...");let g=await Ud(u.toJson().assets||[],o,p);c.debug("Packaging client bundle...");let h=await Hd(f.toJson().assets||[],o,p),w=O=>ne=>[ne,O];return{outputFiles:[...g.map(w(mr.Environment.Server)),...h.map(w(mr.Environment.Client))],outputVolume:o}}function Sw({env:t,mode:e="production",framework:r,publicPath:n,components:o,entryPaths:i,libraryName:s,outputPath:a,bundler:l="webpack"}){if(!vp(r))throw new Error(`Unknown framework: ${r}`);let u=Object.entries({[Ln]:i[t],...o}).reduce((w,[F,O])=>({...w,[`./${F}`]:`./${(0,xp.relative)(process.cwd(),O)}`}),{}),f=Qr(l),p=f.generateBaseConfig({entry:i[t],env:t,mode:e,libraryName:s,publicPath:n,outputPath:a}),g=f.getFrameworkConfig(r,t),h=f.generateFederationConfig({exposes:u,env:t,libraryName:s});return(0,_p.default)(p,g,h)}var Sp=m(require("path")),ll=require("memfs/lib/volume"),cl=m(require("webpack-merge")),Tp=m(require("webpack-node-externals")),ze=require("@webflow/data-types");var Tw=m(require("fs")),en=require("path"),tn=require("webpack");function Aw(t,e=Tw){let r=(0,en.join)(process.cwd(),"node_modules",t);for(;r!==(0,en.dirname)(r)&&r!=="node_modules";){let n=(0,en.join)(r,"package.json");if(e.existsSync(n))try{let{name:o,version:i}=JSON.parse(e.readFileSync(n,"utf8"));return`${o}@${i}`}catch{return null}r=(0,en.dirname)(r)}return null}var Ci=class{apply(e){e.hooks.compilation.tap("ProcessSourceMapsPlugin",function(r){r.hooks.processAssets.tap({name:"ProcessSourceMapsPlugin",stage:tn.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_INLINE},function(){try{let n=r.getAssets(),o={};Object.values(n).forEach(({name:i,source:s})=>{if(!i.endsWith(".map"))return;let[a,l,u]=i.split("."),f=o[a]?.sources??{},p=o[a]?.dependencies??new Set;JSON.parse(s.source().toString()).sources.forEach(h=>{if(h.startsWith("external")){let w=h.match(/^external \S+ "(.+)"$/)?.[1];if(!w)throw new Error(`Could not extract package name from ${h}`);let F=Aw(w,r.inputFileSystem);if(!F)throw new Error(`Could not find package information for ${w}`);F&&p.add(F)}}),o[a]={sources:{...f,[`./${a}.${u}`]:l},dependencies:p},r.deleteAsset(i)}),Object.entries(o).forEach(([i,{sources:s,dependencies:a}])=>{r.emitAsset(`${i}.js.map`,new tn.sources.RawSource(JSON.stringify({sources:s,dependencies:[...a]})))})}catch(n){r.errors.push(new tn.WebpackError(`[ProcessSourceMapsPlugin] Could not process source maps: ${n instanceof Error?n.stack:String(n)}`))}})})}};var Fp=m(require("module")),kp=require("jsdom"),al="__webflowCliImportModuleWindow__";function Ow(t){let r=/^(?:\ufeff?\s*)(?:'use strict'|"use strict");?\s*(?:\r?\n|\r)?/.exec(t),n=!!r,o=`module[${JSON.stringify(al)}]`,i=[];n||i.push('"use strict";'),i.push(`var __wfW = ${o};`,'if (__wfW == null) { throw new ReferenceError("Webflow CLI internal: missing JSDOM window on module"); }',"var window = __wfW;","var document = __wfW.document;","var navigator = __wfW.navigator;","var HTMLElement = __wfW.HTMLElement;","var localStorage = __wfW.localStorage;","var sessionStorage = __wfW.sessionStorage;","var requestAnimationFrame = __wfW.requestAnimationFrame.bind(__wfW);","var cancelAnimationFrame = __wfW.cancelAnimationFrame.bind(__wfW);","var getComputedStyle = __wfW.getComputedStyle.bind(__wfW);","var performance = __wfW.performance;","");let s=i.join(`
79
55
  `)+`
80
- `;return n?e.slice(0,n[0].length)+s+e.slice(n[0].length):s+e}function Jo(e,t){let n=e.readFileSync(t,"utf-8"),o=new nw.JSDOM("<!DOCTYPE html><html><body></body></html>",{url:"http://localhost/",pretendToBeVisual:!0}).window,i=WS(n),s=new tw.default(t,module);Object.defineProperty(s,ru,{value:o,enumerable:!1,configurable:!0,writable:!1});try{return s._compile(i,t),s}finally{Reflect.deleteProperty(s,ru),o.close()}}function US(e,t){let n=`/${t}.js`,r=Jo(e,n),o=r.exports.default||r.exports;if(o&&typeof o=="object")try{let{name:i,description:s,group:a,props:l,options:c}=(0,Ke.parseComponentData)(o);return{displayName:i,description:s,group:a,props:Object.entries(l||{}).map(([u,p])=>({...p,name:u,defaultValue:typeof p.defaultValue!="string"?JSON.stringify(p.defaultValue):p.defaultValue,settings:p.settings!==void 0?JSON.stringify(p.settings):p.settings})),options:c}}catch(i){let s=i instanceof Error?i.stack:String(i);throw new Error(`Error parsing component data for '${t}': ${s}`)}throw new Error(`Could not get declaration for '${t}'`)}async function zS({declarations:e,sources:t,overrideConfig:n={},performTypeCheck:r,bundler:o="webpack"}){let i=new ou.Volume,s=Or(o),a=(0,iu.default)(s.generateBaseConfig({entry:e,env:Ke.Environment.Client,publicPath:"/",libraryName:"metadata"}),s.getFrameworkConfig(Ke.Framework.React,Ke.Environment.Client),{entry:e,mode:"development",output:{path:"/",library:{type:"commonjs2"}},target:"node",plugins:r?[new s.typeCheckerPlugin]:[]}),l=s.mergeConfigs(Ke.Environment.Client,a,n);return await s.bundle({outputPath:"/",config:l,sourceVolumes:t?[t]:[],outputVolume:i,failOnWarnings:!1}),i}async function VS({declarations:e,sources:t,overrideConfig:n={},bundler:r}){let o=new ou.Volume,i=Or(r),s=(0,iu.default)(i.generateBaseConfig({entry:e,env:Ke.Environment.Client,publicPath:"/",libraryName:"source-maps"}),i.getFrameworkConfig(Ke.Framework.React,Ke.Environment.Client),{entry:e,mode:"production",optimization:{mangleExports:"deterministic",moduleIds:"deterministic",chunkIds:"deterministic"},output:{filename:"[name].[contenthash].js",path:"/",library:{type:"commonjs2"},devtoolModuleFilenameTemplate:"[resource-path]",hashFunction:i.hashFunction},externalsPresets:{node:!0},devtool:"source-map",plugins:[new Is],externals:[(0,ow.default)()]}),a=i.mergeConfigs(Ke.Environment.Client,s,n);return a=i.replaceCssPlugin(a),await i.bundle({outputPath:"/",config:a,sourceVolumes:t?[t]:[],outputVolume:o,failOnWarnings:!1}),o}function JS(e){return Object.entries(e.toJSON()).reduce((t,[n,r])=>{if(n.endsWith(".map")&&r?.length){let o=rw.default.basename(n).split(".")[0];t[o]=r}return t},{})}async function js({declarations:e,sources:t,overrideConfig:n,performTypeCheck:r=!1,skipSourceMaps:o=!1,bundler:i="webpack"}){let[s,a]=await Promise.all([zS({declarations:e,sources:t,overrideConfig:n,performTypeCheck:r,bundler:i}),o||i==="rspack"?Promise.resolve(null):VS({declarations:e,sources:t,overrideConfig:n,bundler:i})]),{metadata:l,options:c}=Object.keys(e).reduce((p,f)=>{let m=US(s,f);return p.metadata[f]=m,p.options[f]=m.options||{},p},{metadata:{},options:{}});return{sourceMaps:a?JS(a):{},metadata:l,options:c}}function iw(e,{framework:t,sourceMaps:n}){return Object.fromEntries(Object.keys(e).map(r=>[r,{...e[r],id:r,framework:t,exportPath:"default",hash:n[r]}]))}Me();var aw=w(require("md5"));_e();Oe();var lw=" - ";function qS(e){return e==="added"?` ${E.green("(Added)")}`:e==="removed"?` ${E.yellow("(Removed)")}`:e==="changed"?` ${E.blue("(Changed)")}`:""}function sw(e){if(!e)return"";let t=JSON.parse(e);return(0,aw.default)(JSON.stringify([...Object.values(t.sources),...t.dependencies.filter(n=>!n.includes("@webflow/data-types")&&!n.includes("@webflow/react"))].sort()))}function GS({componentsMetadata:e,latestVersion:t,sourceMaps:n}){let r=t.resource.codeLibraryResource.manifest.components.reduce((s,a)=>(s[a.id]=a,s),{}),o={};return Object.entries(r).forEach(([s,a])=>{if(!e[s])o[s]={component:a,status:"removed"};else{let l=e[s],c=sw(n[s]),u=a.displayName&&l.displayName!==a.displayName,p=c&&a.hash&&c!==sw(a.hash),f=u||p;o[s]={component:l,status:f?"changed":"unchanged",previousName:u?a.displayName:void 0}}}),Object.entries(e).forEach(([s,a])=>{r[s]||(o[s]={component:a,status:"added"})}),Object.values(o).map(({component:s,status:a,previousName:l})=>{let c=s.displayName,u=l?`${l} \u2192 ${c}`:c;return`${lw}${u}${qS(a)}`}).sort().join(`
81
- `)}function HS({componentsMetadata:e}){return Object.values(e).map(n=>`${lw}${n.displayName}`).sort().join(`
82
- `)}async function cw({libraryConfig:e,componentsMetadata:t,existingCodeLibraries:n,sourceMaps:r,workspaceInfo:o}){if(oe())return Promise.resolve(!0);let i=e.id?n.find(({profile:p})=>p.slug===e.id):null,s=i&&i.profile.status==="ACTIVE",a="Code components:",l=s?GS({componentsMetadata:t,latestVersion:i,sourceMaps:r}):HS({componentsMetadata:t}),c=s?`Ready to update ${e.name} on ${o.name}?`:`Ready to share ${e.name} with ${o.name}?`;return await Ae({message:`${a}
83
- ${l}
56
+ `;return r?t.slice(0,r[0].length)+s+t.slice(r[0].length):s+t}function so(t,e){let r=t.readFileSync(e,"utf-8"),o=new kp.JSDOM("<!DOCTYPE html><html><body></body></html>",{url:"http://localhost/",pretendToBeVisual:!0}).window,i=Ow(r),s=new Fp.default(e,module);Object.defineProperty(s,al,{value:o,enumerable:!1,configurable:!0,writable:!1});try{return s._compile(i,e),s}finally{Reflect.deleteProperty(s,al),o.close()}}function Iw(t,e){let r=`/${e}.js`,n=so(t,r),o=n.exports.default||n.exports;if(o&&typeof o=="object")try{return(0,ze.parseComponentMetadata)(o)}catch(i){let s=i instanceof Error?i.stack:String(i);throw new Error(`Error parsing component data for '${e}': ${s}`)}throw new Error(`Could not get declaration for '${e}'`)}async function $w({declarations:t,sources:e,overrideConfig:r={},performTypeCheck:n,bundler:o="webpack"}){let i=new ll.Volume,s=Qr(o),a=(0,cl.default)(s.generateBaseConfig({entry:t,env:ze.Environment.Client,publicPath:"/",libraryName:"metadata"}),s.getFrameworkConfig(ze.Framework.React,ze.Environment.Client),{entry:t,mode:"development",output:{path:"/",library:{type:"commonjs2"}},target:"node",plugins:n?[new s.typeCheckerPlugin]:[]}),l=s.mergeConfigs(ze.Environment.Client,a,r);return await s.bundle({outputPath:"/",config:l,sourceVolumes:e?[e]:[],outputVolume:i,failOnWarnings:!1}),i}async function Rw({declarations:t,sources:e,overrideConfig:r={},bundler:n}){let o=new ll.Volume,i=Qr(n),s=(0,cl.default)(i.generateBaseConfig({entry:t,env:ze.Environment.Client,publicPath:"/",libraryName:"source-maps"}),i.getFrameworkConfig(ze.Framework.React,ze.Environment.Client),{entry:t,mode:"production",optimization:{mangleExports:"deterministic",moduleIds:"deterministic",chunkIds:"deterministic"},output:{filename:"[name].[contenthash].js",path:"/",library:{type:"commonjs2"},devtoolModuleFilenameTemplate:"[resource-path]",hashFunction:i.hashFunction},externalsPresets:{node:!0},devtool:"source-map",plugins:[new Ci],externals:[(0,Tp.default)()]}),a=i.mergeConfigs(ze.Environment.Client,s,r);return a=i.replaceCssPlugin(a),await i.bundle({outputPath:"/",config:a,sourceVolumes:e?[e]:[],outputVolume:o,failOnWarnings:!1}),o}function Pw(t){return Object.entries(t.toJSON()).reduce((e,[r,n])=>{if(r.endsWith(".map")&&n?.length){let o=Sp.default.basename(r).split(".")[0];e[o]=n}return e},{})}async function Fi({declarations:t,sources:e,overrideConfig:r,performTypeCheck:n=!1,skipSourceMaps:o=!1,bundler:i="webpack"}){let[s,a]=await Promise.all([$w({declarations:t,sources:e,overrideConfig:r,performTypeCheck:n,bundler:i}),o||i==="rspack"?Promise.resolve(null):Rw({declarations:t,sources:e,overrideConfig:r,bundler:i})]),{metadata:l,options:u}=Object.keys(t).reduce((p,g)=>{let h=Iw(s,g);return p.metadata[g]=h,p.options[g]=h.options||{},p},{metadata:{},options:{}});return{sourceMaps:a?Pw(a):{},metadata:l,options:u}}function Ap(t,{framework:e,sourceMaps:r}){return Object.fromEntries(Object.keys(t).map(n=>[n,{...t[n],id:n,framework:e,exportPath:"default",hash:r[n]}]))}Be();var Ip=m(require("md5"));Fe();fe();H();var ul=" ",$p=`${ul}${Lo} `;function jw(t){return t==="added"?` ${M("(Added)")}`:t==="removed"?` ${ce("(Removed)")}`:t==="changed"?` ${le("(Changed)")}`:""}function Op(t){if(!t)return"";let e=JSON.parse(t);return(0,Ip.default)(JSON.stringify([...Object.values(e.sources),...e.dependencies.filter(r=>!r.includes("@webflow/data-types")&&!r.includes("@webflow/react"))].sort()))}function Nw({componentsMetadata:t,latestVersion:e,sourceMaps:r}){let n=e.resource.codeLibraryResource.manifest.components.reduce((s,a)=>(s[a.id]=a,s),{}),o={};return Object.entries(n).forEach(([s,a])=>{if(!t[s])o[s]={component:a,status:"removed"};else{let l=t[s],u=Op(r[s]),f=a.displayName&&l.displayName!==a.displayName,p=u&&a.hash&&u!==Op(a.hash),g=f||p;o[s]={component:l,status:g?"changed":"unchanged",previousName:f?a.displayName:void 0}}}),Object.entries(t).forEach(([s,a])=>{n[s]||(o[s]={component:a,status:"added"})}),Object.values(o).map(({component:s,status:a,previousName:l})=>{let u=s.displayName??"Unknown Component",f=l?`${l} ${He} ${u}`:u;return`${S(`${$p}${f}`)}${jw(a)}`}).sort().join(`
57
+ `)}function Bw({componentsMetadata:t}){return Object.values(t).map(r=>`${S($p+(r.displayName??"Unknown Component"))}`).sort().join(`
58
+ `)}async function Rp({libraryConfig:t,componentsMetadata:e,existingCodeLibraries:r,sourceMaps:n,workspaceInfo:o}){if(te())return Promise.resolve(!0);let i=t.id?r.find(({profile:f})=>f.slug===t.id):null,s=i&&i.profile.status==="ACTIVE",a=s?Nw({componentsMetadata:e,latestVersion:i,sourceMaps:n}):Bw({componentsMetadata:e}),l=s?`Ready to update ${le(t.name)} on ${ps(o.name)}?`:`Ready to share ${le(t.name)} with ${ps(o.name)}?`;return await Te({message:`${l}
59
+
60
+ ${ul}${S("Code components:")}
61
+ ${a}
84
62
 
85
- ${c}`})}var Rs=require("path"),pw=require("memfs/lib/volume");var uw=w(require("fast-glob")),ZS=e=>{let t=e.split("/");return t[t.length-1]},KS=e=>ZS(e).split(".")[0];async function dw(e,t){return(await uw.default.glob(e,{absolute:!0,...t||{}})).reduce((r,o)=>{let i=KS(o);if(r[i])throw new Error(`Duplicate component '${i}' found. Already declared at ${r[i]}, but also found at ${o}.`);return{...r,[i]:o}},{})}async function $s(e){let t=await dw(e.components,{cwd:(0,Rs.dirname)(e.manifestPath),ignore:["**/dist/**","**/node_modules/**",e.globals,e.bundleConfig].filter(o=>o!=null)});if(!Object.keys(t).length)throw new Error("No declaration files found");let{componentsFiles:n,componentsVolume:r}=YS(t,e.renderer.client,e.globals);return{componentsFiles:n,componentsVolume:r}}function YS(e,t,n){let r={},o={};return Object.entries(e).forEach(([i,s])=>{let a=(0,Rs.extname)(s),l=`${vt}/${ly}/${i}${a}`;r[i]=l,o[l]=XS(t,s,n)}),{componentsFiles:r,componentsVolume:pw.Volume.fromJSON(o)}}function XS(e,t,n){return n?`
86
- import { applyDecorators } from "${e}";
87
- import componentDefinition from "${t}";
88
- const globals = require("${n}") || {};
63
+ ${ul}Confirm to proceed`})}var ki=require("path"),Np=require("memfs/lib/volume");var Pp=m(require("fast-glob")),Mw=t=>{let e=t.split("/");return e[e.length-1]},Lw=t=>Mw(t).split(".")[0];async function jp(t,e){return(await Pp.default.glob(t,{absolute:!0,...e||{}})).reduce((n,o)=>{let i=Lw(o);if(n[i])throw new Error(`Duplicate component '${i}' found. Already declared at ${n[i]}, but also found at ${o}.`);return{...n,[i]:o}},{})}async function Si(t){let e=await jp(t.components,{cwd:(0,ki.dirname)(t.manifestPath),ignore:["**/dist/**","**/node_modules/**",t.globals,t.bundleConfig].filter(o=>o!=null)});if(!Object.keys(e).length)throw new Error("No declaration files found");let{componentsFiles:r,componentsVolume:n}=Ww(e,t.renderer.client,t.globals);return{componentsFiles:r,componentsVolume:n}}function Ww(t,e,r){let n={},o={};return Object.entries(t).forEach(([i,s])=>{let a=(0,ki.extname)(s),l=`${pt}/${$d}/${i}${a}`;n[i]=l,o[l]=Uw(e,s,r)}),{componentsFiles:n,componentsVolume:Np.Volume.fromJSON(o)}}function Uw(t,e,r){return r?`
64
+ import { applyDecorators } from "${t}";
65
+ import componentDefinition from "${e}";
66
+ const globals = require("${r}") || {};
89
67
 
90
68
  const globalDecorators = globals?.decorators || [];
91
69
  const decoratedDefinition = {
@@ -102,46 +80,52 @@ if (componentDefinition?.component) {
102
80
 
103
81
  export default decoratedDefinition;
104
82
  `.trim():`
105
- import componentDefinition from "${t}";
83
+ import componentDefinition from "${e}";
106
84
  export default {...componentDefinition};
107
- `.trim()}We();ys();var fw=require("@webflow/data-types"),Bs={renderer:{client:"@webflow/react",server:"@webflow/react"},components:["**/*.webflow.@(js|jsx|mjs|ts|tsx)"],framework:fw.Framework.React};var jr=require("path"),Rr=require("fs");_e();Me();J();ke();function Rt(e){return e.replace(/\\/g,"/")}Oe();te();function mw(e){let t={...e};if(e.globals){let n=(0,jr.resolve)(process.cwd(),e.globals);if(!(0,Rr.existsSync)(n))throw new Error(`Globals file not found: ${e.globals}
108
- Resolved path: ${n}
109
- Please ensure the file exists or remove the 'globals' field from your manifest.`);t.globals=Rt(n)}if(e.bundleConfig){let n=(0,jr.resolve)(process.cwd(),e.bundleConfig);if(!(0,Rr.existsSync)(n))throw new Error(`Bundle config file not found: ${e.bundleConfig}
110
- Resolved path: ${n}
111
- Please ensure the file exists or remove the 'bundleConfig' field from your manifest.`);t.bundleConfig=Rt(n)}if(typeof e.renderer=="string"){let n=(0,jr.resolve)(process.cwd(),e.renderer);(0,Rr.existsSync)(n)&&(t.renderer=Rt(n))}else if(typeof e.renderer=="object"&&typeof t.renderer=="object"){if(typeof e.renderer.client=="string"){let n=(0,jr.resolve)(process.cwd(),e.renderer.client);(0,Rr.existsSync)(n)&&(t.renderer={...t.renderer,client:Rt(n)})}if(typeof e.renderer.server=="string"){let n=(0,jr.resolve)(process.cwd(),e.renderer.server);(0,Rr.existsSync)(n)&&(t.renderer={...t.renderer,server:Rt(n)})}}return t}async function QS({initialData:e}){let t=await Te({message:"Enter a name for your code library",validate:o=>o.trim()===""?"The library name cannot be empty.":!0,default:e?.name});if(t==null)throw new g("When --no-input mode is enabled please provide a name in your library manifest");let n=await Te({message:"Enter a description for your code library",default:e?.description??""});if(!await Ae({message:"Is the code (including 3rd party packages) you are uploading to Webflow trusted and secure?"}))throw new Error("Code library is not trusted and secure");return{name:t,description:n}}async function e_({existingCodeLibraries:e}){let t={name:"[Create new code library]",value:null},r=[...e].sort((i,s)=>{let a=i.resource.codeLibraryResource.manifest.name??"",l=s.resource.codeLibraryResource.manifest.name??"",c=a.localeCompare(l,void 0,{sensitivity:"base"});return c!==0?c:i.profile.slug.localeCompare(s.profile.slug,void 0,{sensitivity:"base"})}).map(({resource:i,profile:s})=>{let a=`${i.codeLibraryResource.manifest.name} (${s.slug})`;s.status==="ARCHIVED"&&(a+=` ${E.yellow("(Unshared)")}`);let l={id:s.slug,name:i.codeLibraryResource.manifest.name,description:i.codeLibraryResource.manifest.description};return{name:a,value:l}});return await Si({message:"Select an existing code library (or create new):",source:i=>{if(!i)return[t,...r];let s=i.toLowerCase(),a=r.filter(l=>{let c=l.value?.id??"",u=l.value?.name??"",p=l.value?.description??"";return c.toLowerCase().includes(s)||u.toLowerCase().includes(s)||p.toLowerCase().includes(s)});return[t,...a]},pageSize:15})}async function su({initialData:e,existingCodeLibraries:t}){let n,r={components:Bs.components},o=t.length>0?await e_({existingCodeLibraries:t}):null;if(o)n={...r,...o,...e,id:o.id};else{let a=await QS({initialData:e});n={...r,...e,...a}}let i=mw(n);se({library:i});let{path:s}=kn();return{libraryManifest:i,manifestPath:s}}async function gw({existingCodeLibraries:e}){let t=d.spinner("Looking for webflow.json manifest");try{let{manifest:n,manifestPath:r}=Q(),o=fo(n,"library");if(!o.id){if(mt())return t.succeed(),su({initialData:o,existingCodeLibraries:e});throw new Error("Library manifest does not have an id")}let i=o.name??e.find(({profile:a})=>a.slug===o.id)?.resource.codeLibraryResource.manifest.name;if(!i&&mt())return t.succeed(),su({initialData:o,existingCodeLibraries:e});i||(i=o.id),t.succeed();let s=mw({...o,name:i});return Promise.resolve({libraryManifest:s,manifestPath:r})}catch(n){if(n instanceof vn&&mt())return t.info(n.message),su({existingCodeLibraries:e});throw t.fail(),n}}var au=require("memfs/lib/volume"),ww=w(require("webpack-merge"));var bw="/client-renderer.js",Dw="/server-renderer.js",hw=`${vt}/test-renderers${bw}`,yw=`${vt}/test-renderers${Dw}`,t_=new Set(["@webflow/react"]),n_=new Set(["@webflow/react","@webflow/emotion-utils/server","@webflow/styled-components-utils/server"]);async function vw(e){if(!e.client||!e.server)throw new Error("Invalid renderer configuration. Both client and server renderers must be specified.");if(t_.has(e.client)&&n_.has(e.server))return;let t=await i_(e);r_(e.client,t),o_(e.server,t)}function r_(e,t){let n=Jo(t,bw);if(typeof n.exports.ClientRenderer!="function")throw new Error(`Invalid client renderer: ${e} does not have a valid 'ClientRenderer' export.`);if(typeof n.exports.applyDecorators!="function")throw new Error(`Invalid client renderer: ${e} does not have a valid 'applyDecorators' export.`);let r=()=>null,o=n.exports.ClientRenderer(r),i=["mount","hydrate","render","createSlot"];for(let s of i)if(typeof o[s]!="function")throw new Error(`Invalid client renderer: ${e} ClientRenderer must return an object with a '${s}' function.`)}function o_(e,t){let n=Jo(t,Dw);if(typeof n.exports.ServerRenderer!="function")throw new Error(`Invalid server renderer: ${e} does not have a valid 'ServerRenderer' export.`);let r=()=>null,o=n.exports.ServerRenderer(r),i=["renderToStream","renderToString","createSlot"];for(let s of i)if(typeof o[s]!="function")throw new Error(`Invalid server renderer: ${e} ServerRenderer must return an object with a '${s}' function.`)}async function i_(e){let t=new au.Volume,n=Rt(e.client),r=Rt(e.server),o={[hw]:`
112
- export * from "${n}";
113
- `,[yw]:`
85
+ `.trim()}re();ci();var Bp=require("@webflow/data-types"),Ti={renderer:{client:"@webflow/react",server:"@webflow/react/server"},components:["**/*.webflow.@(js|jsx|mjs|ts|tsx)"],framework:Bp.Framework.React};var rn=require("path"),nn=require("fs");Be();_();De();function Ft(t){return t.replace(/\\/g,"/")}Fe();$();fe();H();function Mp(t){let e={...t};if(t.globals){let r=(0,rn.resolve)(process.cwd(),t.globals);if(!(0,nn.existsSync)(r))throw new Error(`Globals file not found: ${t.globals}
86
+ Resolved path: ${r}
87
+ Please ensure the file exists or remove the 'globals' field from your manifest.`);e.globals=Ft(r)}if(t.bundleConfig){let r=(0,rn.resolve)(process.cwd(),t.bundleConfig);if(!(0,nn.existsSync)(r))throw new Error(`Bundle config file not found: ${t.bundleConfig}
88
+ Resolved path: ${r}
89
+ Please ensure the file exists or remove the 'bundleConfig' field from your manifest.`);e.bundleConfig=Ft(r)}if(typeof t.renderer=="string"){let r=(0,rn.resolve)(process.cwd(),t.renderer);(0,nn.existsSync)(r)&&(e.renderer=Ft(r))}else if(typeof t.renderer=="object"&&typeof e.renderer=="object"){if(typeof t.renderer.client=="string"){let r=(0,rn.resolve)(process.cwd(),t.renderer.client);(0,nn.existsSync)(r)&&(e.renderer={...e.renderer,client:Ft(r)})}if(typeof t.renderer.server=="string"){let r=(0,rn.resolve)(process.cwd(),t.renderer.server);(0,nn.existsSync)(r)&&(e.renderer={...e.renderer,server:Ft(r)})}}return e}async function Vw({initialData:t}){let e=await Ce({message:"Enter a name for your code library",validate:o=>o.trim()===""?"The library name cannot be empty.":!0,default:t?.name});if(e==null)throw new d("When --no-input mode is enabled please provide a name in your library manifest");let r=await Ce({message:"Enter a description for your code library",default:t?.description??""});if(!await Te({message:"Is the code (including 3rd party packages) you are uploading to Webflow trusted and secure?"}))throw new Error("Code library is not trusted and secure");return{name:e,description:r}}async function Hw({existingCodeLibraries:t}){let e={name:"[Create new code library]",value:null},n=[...t].sort((i,s)=>{let a=i.resource.codeLibraryResource.manifest.name??"",l=s.resource.codeLibraryResource.manifest.name??"",u=a.localeCompare(l,void 0,{sensitivity:"base"});return u!==0?u:i.profile.slug.localeCompare(s.profile.slug,void 0,{sensitivity:"base"})}).map(({resource:i,profile:s})=>{let a=`${i.codeLibraryResource.manifest.name} (${s.slug})`;s.status==="ARCHIVED"&&(a+=` ${ce("(Unshared)")}`);let l={id:s.slug,name:i.codeLibraryResource.manifest.name,description:i.codeLibraryResource.manifest.description};return{name:a,value:l}});return await Jo({message:"Select an existing code library (or create new):",source:i=>{if(!i)return[e,...n];let s=i.toLowerCase(),a=n.filter(l=>{let u=l.value?.id??"",f=l.value?.name??"",p=l.value?.description??"";return u.toLowerCase().includes(s)||f.toLowerCase().includes(s)||p.toLowerCase().includes(s)});return[e,...a]},pageSize:15})}async function fl({initialData:t,existingCodeLibraries:e}){let r,n={components:Ti.components},o=e.length>0?await Hw({existingCodeLibraries:e}):null;if(o)r={...n,...o,...t,id:o.id};else{let a=await Vw({initialData:t});r={...n,...t,...a}}let i=Mp(r);oe({library:i}),c.info(`${T} Library configuration updated in webflow.json`);let{path:s}=ar();return{libraryManifest:i,manifestPath:s}}async function Lp({existingCodeLibraries:t}){let e=c.spinner("Looking for webflow.json manifest");try{let{manifest:r,manifestPath:n}=G(),o=jn(r,"library");if(!o.id){if(ct())return e.succeed(),fl({initialData:o,existingCodeLibraries:t});throw new Error("Library manifest does not have an id")}let i=o.name??t.find(({profile:a})=>a.slug===o.id)?.resource.codeLibraryResource.manifest.name;if(!i&&ct())return e.succeed(),fl({initialData:o,existingCodeLibraries:t});i||(i=o.id),e.succeed();let s=Mp({...o,name:i});return Promise.resolve({libraryManifest:s,manifestPath:n})}catch(r){if(r instanceof sr&&ct())return e.info(r.message),fl({existingCodeLibraries:t});throw e.fail(),r}}var dl=require("memfs/lib/volume"),Vp=m(require("webpack-merge"));var Hp="/client-renderer.js",Jp="/server-renderer.js",Wp=`${pt}/test-renderers${Hp}`,Up=`${pt}/test-renderers${Jp}`,Jw=new Set(["@webflow/react"]),Gw=new Set(["@webflow/react/server","@webflow/emotion-utils/server","@webflow/styled-components-utils/server"]);async function Gp(t){if(!t.client||!t.server)throw new Error("Invalid renderer configuration. Both client and server renderers must be specified.");if(Jw.has(t.client)&&Gw.has(t.server))return;let e=await Kw(t);zw(t.client,e),qw(t.server,e)}function zw(t,e){let r=so(e,Hp);if(typeof r.exports.ClientRenderer!="function")throw new Error(`Invalid client renderer: ${t} does not have a valid 'ClientRenderer' export.`);if(typeof r.exports.applyDecorators!="function")throw new Error(`Invalid client renderer: ${t} does not have a valid 'applyDecorators' export.`);let n=()=>null,o=r.exports.ClientRenderer(n),i=["mount","hydrate","render","createSlot"];for(let s of i)if(typeof o[s]!="function")throw new Error(`Invalid client renderer: ${t} ClientRenderer must return an object with a '${s}' function.`)}function qw(t,e){let r=so(e,Jp);if(typeof r.exports.ServerRenderer!="function")throw new Error(`Invalid server renderer: ${t} does not have a valid 'ServerRenderer' export.`);let n=()=>null,o=r.exports.ServerRenderer(n),i=["renderToStream","renderToString","prerenderToString","createSlot"];for(let s of i)if(typeof o[s]!="function")throw new Error(`Invalid server renderer: ${t} ServerRenderer must return an object with a '${s}' function.`)}async function Kw(t){let e=new dl.Volume,r=Ft(t.client),n=Ft(t.server),o={[Wp]:`
114
90
  export * from "${r}";
115
- `},i=(0,ww.default)(Fs(),{entry:{"client-renderer":hw,"server-renderer":yw},mode:"development",output:{path:"/",filename:"[name].js",library:{type:"commonjs2"}},target:"node"});return await As({config:i,sourceVolumes:[au.Volume.fromJSON(o)],outputVolume:t,failOnWarnings:!1}),t}async function Ns({existingCodeLibraries:e}){let{libraryManifest:t,manifestPath:n}=await gw({existingCodeLibraries:e}),{renderer:r,...o}=Bs,i=typeof t.renderer=="string"?{client:t.renderer,server:t.renderer}:{client:t.renderer?.client??r.client,server:t.renderer?.server??r.server};return await vw(i),{...o,...t,renderer:i,manifestPath:n}}te();async function s_(e,t){let{trackPerformance:n,libraryConfig:r}=e;return await n("collect_metadata",async()=>{let{componentsFiles:o,componentsVolume:i}=await $s(r);d.debug(`Components: ${JSON.stringify(o,null,2)}`);let{sourceMaps:s,metadata:a,options:l}=await js({declarations:o,sources:i,overrideConfig:e.overrideConfig,performTypeCheck:hs(o,t),bundler:t?.bundler});return d.debug(`Metadata: ${JSON.stringify(a,null,2)}`),d.debug(`Source Maps:
91
+ `,[Up]:`
92
+ export * from "${n}";
93
+ `},i=(0,Vp.default)(wi(),{entry:{"client-renderer":Wp,"server-renderer":Up},mode:"development",output:{path:"/",filename:"[name].js",library:{type:"commonjs2"}},target:"node"});return await vi({config:i,sourceVolumes:[dl.Volume.fromJSON(o)],outputVolume:e,failOnWarnings:!1}),e}async function Ai({existingCodeLibraries:t}){let{libraryManifest:e,manifestPath:r}=await Lp({existingCodeLibraries:t}),{renderer:n,...o}=Ti,i=typeof e.renderer=="string"?{client:e.renderer,server:e.renderer}:{client:e.renderer?.client??n.client,server:e.renderer?.server??n.server};return i.server==="@webflow/react"&&(i.server="@webflow/react/server"),await Gp(i),{...o,...e,renderer:i,manifestPath:r}}$();H();async function Zw(t,e){let{trackPerformance:r,libraryConfig:n}=t;return await r("collect_metadata",async()=>{let{componentsFiles:o,componentsVolume:i}=await Si(n);c.debug(`Components: ${JSON.stringify(o,null,2)}`);let{sourceMaps:s,metadata:a,options:l}=await Fi({declarations:o,sources:i,overrideConfig:t.overrideConfig,performTypeCheck:li(o,e),bundler:e?.bundler});return c.debug(`Metadata: ${JSON.stringify(a,null,2)}`),c.debug(`Source Maps:
116
94
 
117
- ${Object.entries(s).reduce((c,[u,p])=>(c+=`${u}: ${JSON.stringify(JSON.parse(p),null,2)}
95
+ ${Object.entries(s).reduce((u,[f,p])=>(u+=`${f}: ${JSON.stringify(JSON.parse(p),null,2)}
118
96
 
119
- `,c),"")}`),{componentsFiles:o,componentsVolume:i,componentsMetadata:a,componentsOptions:l,sourceMaps:s}})}async function a_(e,t,n,r,o,i,s){let{trackPerformance:a,libraryConfig:l}=e;return await a("generate_library_bundle",async()=>await Ps({libraryIdentifier:`_${o}`,renderer:l.renderer,framework:l.framework,publicPath:on(i[$r.Environment.Client]),sourceVolumes:[n],componentsFiles:t,componentsOptions:r,debugBundler:s?.debugBundler,dev:s?.dev,overrideConfig:e.overrideConfig,failOnWarnings:!s?.force,bundler:s?.bundler}))}async function l_(e,t,n,r){let{trackPerformance:o,apiOptions:i}=e;return await o("upload_files",async()=>{let s=t.map(([l,c])=>{let u=(0,Ls.resolve)((0,Ls.join)(`/${c}`,`${l.name}`));return Wo(n.readFileSync(u,"utf8").toString(),u,{bundleEnvironment:c})}),{signatures:a}=await Gc({resourceId:r,files:s.map(({meta:l})=>l),options:i});await Promise.all(a.map(async l=>{let c=s.find(u=>u.meta.fileHash===l.hash);if(!c)throw new Error(`File not found: ${l.hash}`);await Uo(c,l.value)}))})}async function c_(e,t,n,r,o){let{trackPerformance:i,libraryConfig:s,apiOptions:a}=e;return await i("share_library",async()=>{let l={clientModule:{bundleUrl:on(o[$r.Environment.Client])+ho,loaderType:$r.ModuleLoader.FEDERATION},serverModule:{bundleUrl:on(o[$r.Environment.Server])+wo}},c=iw(t,{framework:s.framework,sourceMaps:n}),{taskId:u}=await Hc({resourceId:r,codeModule:l,components:Object.values(c),options:a});d.debug(JSON.stringify({taskId:u},null,2))})}async function lu(e){e?.verbose&&(process.env.DEBUG="true");let t,n=Date.now(),r;try{r=await Y({apiToken:e?.apiToken})}catch(s){throw d.error(s),s}d.debug("Initializing telemetry service...");let o=G.forCodeLibraries({authToken:r}),i=dp(o);try{d.debug("Checking dependencies versions..."),new Cn().run();let s={apiToken:r};t=d.spinner("Initializing");let a=await i("get_code_libraries",async()=>await Jc({options:s})),{workspace:l,libraries:c}=a;t.succeed(),d.debug("Parsing library config...");let u=await Ns({existingCodeLibraries:c}),p=u.bundleConfig?require(u.bundleConfig):{},f={trackPerformance:i,apiOptions:s,libraryConfig:u,overrideConfig:p};t=d.spinner("Collecting metadata");let{componentsFiles:m,componentsVolume:h,componentsMetadata:v,componentsOptions:k,sourceMaps:T}=await s_(f,e);if(t.succeed(),!await cw({libraryConfig:u,componentsMetadata:v,existingCodeLibraries:c,sourceMaps:T,workspaceInfo:l}))return;t=d.spinner("Creating code library");let{resourceId:C,profileSlug:x,workspace:z,s3Urls:j,cdnUrls:S}=await i("init_code_library",async()=>await qc({name:u.name,slug:u.id,description:u.description,options:s}));t.succeed(),d.debug(JSON.stringify({resourceId:C,profileSlug:x,s3Urls:j,cdnUrls:S},null,2)),await o.sendUsage("library_initialized",{libraryName:u.name,framework:u.framework,resourceId:C,profileSlug:x}),u.id||se({library:{id:x}}),t=d.spinner("Compiling code components");let{outputFiles:y,outputVolume:b}=await a_(f,m,h,k,C,S,e);t.succeed(),await o.sendUsage("bundle_generated",{libraryName:u.name,componentCount:Object.keys(m).length,resourceId:C,profileSlug:x}),t=d.spinner("Uploading files"),await l_(f,y,b,C),t.succeed(),await o.sendUsage("files_uploaded",{libraryName:u.name,fileCount:y.length,resourceId:C,profileSlug:x}),t=d.spinner("Sharing library"),await c_(f,v,T,C,S),t.succeed(),d.success(`Code library shared successfully${z?.slug?`: ${fr}/dashboard/workspace/${z?.slug}/shared-libraries-and-templates`:"!"}`);let B=Date.now()-n;await o.sendUsage("share_library",{duration:B,componentCount:Object.keys(m).length,libraryName:u.name,framework:u.framework,resourceId:C,profileSlug:x})}catch(s){t?.fail();let a=Date.now()-n;throw await o.sendError(s instanceof Error?s:new Error(String(s)),"share_library",{duration:a}),new g(s)}}var Ms=w(require("fs")),Br=require("path");J();ys();te();var u_="CodeLibrary",d_="dist",p_="http://localhost/";async function cu(e){e.verbose&&(process.env.DEBUG="true");let t;try{d.debug("Checking dependencies versions..."),new Cn().run(),d.debug("Looking for manifest...");let n=await Ns({existingCodeLibraries:[]}),r=xs(n.name)||u_,o=`_${e.libraryId||r}`;e?.debugBundler&&d.debug(`Library Config: ${JSON.stringify(n,null,2)}`),t=d.spinner("Collecting metadata");let{componentsFiles:i,componentsVolume:s}=await $s(n);e?.debugBundler&&d.debug(`Components: ${JSON.stringify(i,null,2)}`);let a=n.bundleConfig?require(n.bundleConfig):{},{sourceMaps:l,metadata:c,options:u}=await js({declarations:i,sources:s,overrideConfig:a,performTypeCheck:hs(i,e),skipSourceMaps:!e?.debugBundler,bundler:e.bundler});e?.debugBundler&&(d.debug(`Metadata: ${JSON.stringify(c,null,2)}`),d.debug(`Source Maps:
97
+ `,u),"")}`),{componentsFiles:o,componentsVolume:i,componentsMetadata:a,componentsOptions:l,sourceMaps:s}})}async function Yw(t,e,r,n,o,i,s){let{trackPerformance:a,libraryConfig:l}=t;return await a("generate_library_bundle",async()=>await _i({libraryIdentifier:`_${o}`,renderer:l.renderer,framework:l.framework,publicPath:Ht(i[on.Environment.Client]),sourceVolumes:[r],componentsFiles:e,componentsOptions:n,debugBundler:s?.debugBundler,dev:s?.dev,overrideConfig:t.overrideConfig,failOnWarnings:!s?.force,bundler:s?.bundler}))}async function Xw(t,e,r,n){let{trackPerformance:o,apiOptions:i}=t;return await o("upload_files",async()=>{let s=e.map(([l,u])=>{let f=(0,Oi.resolve)((0,Oi.join)(`/${u}`,`${l.name}`));return ro(r.readFileSync(f,"utf8").toString(),f,{bundleEnvironment:u})}),{signatures:a}=await Ya({resourceId:n,files:s.map(({meta:l})=>l),options:i});await Promise.all(a.map(async l=>{let u=s.find(f=>f.meta.fileHash===l.hash);if(!u)throw new Error(`File not found: ${l.hash}`);await no(u,l.value)}))})}async function Qw(t,e,r,n,o){let{trackPerformance:i,libraryConfig:s,apiOptions:a}=t;return await i("share_library",async()=>{let l={clientModule:{bundleUrl:Ht(o[on.Environment.Client])+Mn,loaderType:on.ModuleLoader.FEDERATION},serverModule:{bundleUrl:Ht(o[on.Environment.Server])+Wn}},u=Ap(e,{framework:s.framework,sourceMaps:r}),{taskId:f}=await Xa({resourceId:n,codeModule:l,components:Object.values(u),options:a});c.debug(JSON.stringify({taskId:f},null,2))})}async function pl(t){t?.verbose&&(process.env.DEBUG="true");let e,r=Date.now(),n=await R({apiToken:t?.apiToken});c.debug("Initializing telemetry service...");let o=A.forCodeLibraries({authToken:n}),i=Qu(o);try{c.debug("Checking dependencies versions..."),new cr().run();let s={apiToken:n};e=c.spinner("Initializing");let a=await i("get_code_libraries",async()=>await Ka({options:s})),{workspace:l,libraries:u}=a;e.succeed(),c.debug("Parsing library config...");let f=await Ai({existingCodeLibraries:u}),p=f.bundleConfig?require(f.bundleConfig):{},g={trackPerformance:i,apiOptions:s,libraryConfig:f,overrideConfig:p};e=c.spinner("Collecting metadata");let{componentsFiles:h,componentsVolume:w,componentsMetadata:F,componentsOptions:O,sourceMaps:ne}=await Zw(g,t);if(e.succeed(),!await Rp({libraryConfig:f,componentsMetadata:F,existingCodeLibraries:u,sourceMaps:ne,workspaceInfo:l}))return;e=c.spinner("Creating code library");let{resourceId:x,profileSlug:B,workspace:Q,s3Urls:j,cdnUrls:I}=await i("init_code_library",async()=>await Za({name:f.name,slug:f.id,description:f.description,options:s}));e.succeed(),c.debug(JSON.stringify({resourceId:x,profileSlug:B,s3Urls:j,cdnUrls:I},null,2)),await o.sendUsage("library_initialized",{libraryName:f.name,framework:f.framework,resourceId:x,profileSlug:B}),f.id||(oe({library:{id:B}}),c.info(`${T} Library ID updated in webflow.json`)),e=c.spinner("Compiling code components");let{outputFiles:Cn,outputVolume:ls}=await Yw(g,h,w,O,x,I,t);e.succeed(),await o.sendUsage("bundle_generated",{libraryName:f.name,componentCount:Object.keys(h).length,resourceId:x,profileSlug:B}),e=c.spinner("Uploading files"),await Xw(g,Cn,ls,x),e.succeed(),await o.sendUsage("files_uploaded",{libraryName:f.name,fileCount:Cn.length,resourceId:x,profileSlug:B}),e=c.spinner("Sharing library"),await Qw(g,F,ne,x,I),e.succeed(),c.success(`Code library shared successfully${Q?.slug?`: ${Jr}/dashboard/workspace/${Q?.slug}/shared-libraries-and-templates`:"!"}`);let cs=Date.now()-r;await o.sendUsage("share_library",{duration:cs,componentCount:Object.keys(h).length,libraryName:f.name,framework:f.framework,resourceId:x,profileSlug:B})}catch(s){e?.fail();let a=Date.now()-r;throw await o.sendError(s instanceof Error?s:new Error(String(s)),"share_library",{duration:a}),new d(s)}}var Ii=m(require("fs")),sn=require("path");_();ci();$();var eD="CodeLibrary",tD="dist",rD="http://localhost/";async function ml(t){t.verbose&&(process.env.DEBUG="true");let e;try{c.debug("Checking dependencies versions..."),new cr().run(),c.debug("Looking for manifest...");let r=await Ai({existingCodeLibraries:[]}),n=gi(r.name)||eD,o=`_${t.libraryId||n}`;t?.debugBundler&&c.debug(`Library Config: ${JSON.stringify(r,null,2)}`),e=c.spinner("Collecting metadata");let{componentsFiles:i,componentsVolume:s}=await Si(r);t?.debugBundler&&c.debug(`Components: ${JSON.stringify(i,null,2)}`);let a=r.bundleConfig?require(r.bundleConfig):{},{sourceMaps:l,metadata:u,options:f}=await Fi({declarations:i,sources:s,overrideConfig:a,performTypeCheck:li(i,t),skipSourceMaps:!t?.debugBundler,bundler:t.bundler});t?.debugBundler&&(c.debug(`Metadata: ${JSON.stringify(u,null,2)}`),c.debug(`Source Maps:
120
98
 
121
- ${Object.entries(l).reduce((m,[h,v])=>(m+=`${h}: ${JSON.stringify(JSON.parse(v),null,2)}
99
+ ${Object.entries(l).reduce((h,[w,F])=>(h+=`${w}: ${JSON.stringify(JSON.parse(F),null,2)}
122
100
 
123
- `,m),"")}`)),t.succeed(),t=d.spinner("Generating library bundle");let{outputFiles:p,outputVolume:f}=await Ps({libraryIdentifier:o,renderer:n.renderer,framework:n.framework,publicPath:on(e.publicPath||p_),sourceVolumes:[s],componentsFiles:i,componentsOptions:u,debugBundler:e?.debugBundler,dev:e?.dev,overrideConfig:a,failOnWarnings:!e.force,bundler:e.bundler});t.succeed(),t=d.spinner("Writing to disk"),p.forEach(([m,h])=>{let v=(0,Br.join)(`/${h}`,`${m.name}`),k=Wo(f.readFileSync(v,"utf8").toString(),v,{bundleEnvironment:h}),T=(0,Br.join)(process.cwd(),e.outputPath||d_);Ms.default.existsSync((0,Br.join)(T,`${h}`))||Ms.default.mkdirSync((0,Br.join)(T,`${h}`),{recursive:!0}),Ms.default.writeFileSync((0,Br.join)(T,h,m.name),k.value.toString())}),t.succeed(),d.success("Code Library bundled successfully!")}catch(n){throw t?.fail(),new g(n)}}var qo=w(require("fs-extra")),uu=w(require("path"));J();Ce();function f_(){try{if(!qo.default.existsSync(Ne))return null;let e=qo.default.readdirSync(Ne).filter(t=>t.endsWith(".log")).map(t=>({name:t,path:uu.default.join(Ne,t),time:qo.default.statSync(uu.default.join(Ne,t)).mtime.getTime()})).sort((t,n)=>n.time-t.time);if(e.length===0)return null;for(let t of e)try{let r=qo.default.readFileSync(t.path,"utf8").match(/Command: (.+)/);if(r){let o=r[1];if(!/^(log|library\s+log)(\s|$)/.test(o))return t.path}}catch{continue}return null}catch{return null}}async function du(){let e=f_();e&&console.info(`${dr} Latest log: ${e}`),console.info(`${dr} All logs: ${Ne}`)}async function kw(e){e.command("log").description("Display the logs directory and path to the latest log file, if available.").action(du)}var jn=require("commander"),pu=new jn.Option("--no-input","Avoid prompting or doing anything interactive. Use this for CI/CD pipelines."),fu=new jn.Option("--manifest <path>","Path to a manifest.json file or directory containing webflow.json. Default: ./webflow.json"),mu=new jn.Option("--skip-update-check","Skip checking for @webflow packages updates"),gu=new jn.Option("--verbose","Display more information for debugging purposes."),Go=new jn.Option("--api-token <token>","API token. Default: value set in WEBFLOW_API_TOKEN env variable."),Nr=new jn.Option("-s, --site <site-id>","Site ID. Default: value set in webflow.json config."),Ho=e=>async(t,n)=>{let o={...n.parent?.opts()||{},...t};await e(o)};var m_="Import a library of Code Components into your Webflow Workspace.",g_="Bundle a library of Code Components for local development.",xw=new an.Option("-f, --force","Force the bundler to finish compiling, even if there are warnings or type errors."),Cw=new an.Option("--debug-bundler","Display final bundler configurations for debugging purposes."),Ew=new an.Option("--dev","Bundle in development mode for debugging purposes."),Fw=new an.Option("--bundler <engine>","Bundler to use: webpack or rspack (experimental). Default: webpack").choices(["webpack","rspack"]).default("webpack").hideHelp(),h_=new an.Option("--library-id <id>","Set the library identifier to use for the bundle.").hideHelp(),y_=new an.Option("--public-path <path>","Set the public path for the bundle."),w_=new an.Option("--output-path <path>","Override the output path for the bundle. Default is './dist'");function hu(e,t){return e.command(t).description(m_).addOption(Go).addOption(xw).addOption(Cw).addOption(Ew).addOption(Fw).action(Ho(lu))}function yu(e,t){return e.command(t).description(g_).addOption(h_).addOption(y_).addOption(w_).addOption(xw).addOption(Cw).addOption(Ew).addOption(Fw).action(Ho(cu))}var Sw=e=>{let t=e.command("library").description("CLI for managing your Webflow libraries of Code Components.");hu(t,"share"),yu(t,"bundle"),t.command("log").description("Display the logs directory and path to the latest log file, if available.").action(du)};var _w=e=>{let t=e.command("devlink").description("CLI for managing your Webflow Components.");t.command("sync").description("Sync your Webflow components to your filesystem.").argument("[components...]","A list of components to sync. If none is provided, all components will be synced.").addOption(Go).addOption(Nr).action(Nh),hu(t,"import"),yu(t,"bundle"),t.command("export").description("Export Webflow Components from your Webflow Site.").addOption(Go).addOption(Nr).action(Ho(vs))};var Jb=w(require("path"));var $t=w(require("fs")),Ye=w(require("path"));J();We();var fe={New:"new",Existing:"existing"},Aw="cli",ln=3,cn=39,Ws="astro",Tw="cloud-scaffolds";var Ow="package.json",Rn="webflow.json",Us="wf-placeholder-name",Pw="CLOUD_MOUNT_PATH",Iw="gitignore";function wu(e){return!e.siteId}var Zo=async(e,t,n=Ws,r,o,i)=>{try{let s,a;if("content"in r){let l=r.content;s=l.files,a=c=>Ye.relative(l.extractionRoot,c).replace(/\\/g,"/")}else{let c=r[n];if(!c)throw new Error(`Scaffold "${n}" not found`);s=c;let u=Ye.join(Tw,n);a=p=>p.split(u)[1]?.substring(1).replace(/\\/g,"/")??""}for(let l of s)try{let c=Ye.join(e,a(l)),u=l.includes("next.config.ts"),p=l.includes("astro.config.mjs"),f=u||p;if(l.includes(Rn)&&$t.existsSync(c))continue;if(l.includes(Ow)||l.includes(Rn)){let h=(await $t.promises.readFile(l,"utf8")).replace(Us,e);await zs(c,h)}else if(f){let m=await $t.promises.readFile(l,"utf8");await zs(c,m.replace(Pw,t))}else if(Ye.basename(c).toLowerCase()===Iw){let m=await $t.promises.readFile(l,"utf8"),h=Ye.join(Ye.dirname(c),".gitignore");await zs(h,m)}else{let m=await $t.promises.readFile(l);await zs(c,m)}}catch(c){d.error(`Error processing file ${l}: ${c}`)}if(o&&i)try{Ot({siteId:o,apiToken:i,directory:e})}catch(l){d.error(`Error creating .env file: ${l}`)}}catch(s){throw d.error(`Error applying scaffold: ${s}`),s}};var zs=async(e,t)=>{try{await $t.promises.mkdir(Ye.dirname(e),{recursive:!0}),await $t.promises.writeFile(e,t)}catch(n){throw d.error(`Error writing file ${e}: ${n}`),n}};var un=w(require("fs")),jw=w(require("fs-extra")),dn=w(require("path")),xu=w(require("os")),Rw=w(require("tar"));var ve=class extends Error{constructor(n,r,o){super(n);this.scaffoldId=r;this.supportedIds=o;this.name="ScaffoldError"}};var Ko={"astro-minimal":{id:"astro-minimal",name:"Astro",source:{type:"github",repo:"Webflow-Examples/hello-world-astro",ref:"v1"}},"nextjs-minimal":{id:"nextjs-minimal",name:"Next.js",source:{type:"github",repo:"Webflow-Examples/hello-world-nextjs",ref:"v1"}},astro:{id:"astro",name:"Astro (site-attached)",source:{type:"github",repo:"Webflow-Examples/hello-world-astro-devlink",ref:"v1"}},nextjs:{id:"nextjs",name:"Next.js (site-attached)",source:{type:"github",repo:"Webflow-Examples/hello-world-nextjs-devlink",ref:"v1"}}};function Yo(e){let t=Ko[e];if(!t){let n=Object.keys(Ko);throw new ve(`Unsupported framework: "${e}". Supported: ${n.join(", ")}`,e,n)}return t}function bu(){return Object.keys(Ko)}function Du(){return[...new Set(bu().map(e=>e.replace(/-minimal$/,"")))]}function vu(){return["astro","nextjs"]}function ku(e){let n=`${e.replace(/-minimal$/,"")}-minimal`;if(!Ko[n]){let r=bu();throw new ve(`No minimal scaffold for "${e}". Supported: ${r.join(", ")}`,n,r)}return n}J();var b_="https://github.com";async function Cu(e){let t=e.endsWith("-minimal")?e:ku(e);return Vs(t)}async function Vs(e){return Yo(e).source.type==="github"?D_(e):$w(e)}async function $w(e){let t=Yo(e);if(t.source.type!=="local")throw new ve(`Scaffold "${e}" does not have a local source`,e);let n=dn.isAbsolute(t.source.path)?t.source.path:dn.join(__dirname,t.source.path);if(!un.existsSync(n))throw new ve(`Scaffold directory not found: ${n}`,e);let r=await Eu(n);return{scaffoldId:e,files:r,extractionRoot:n}}async function D_(e){let t=Yo(e);if(t.source.type!=="github")throw new ve(`Scaffold "${e}" does not have a GitHub source`,e);let n=t.source.ref??"main",r=`${b_}/${t.source.repo}/archive/${n}.tar.gz`,o=await un.promises.mkdtemp(dn.join(xu.tmpdir(),`webflow-scaffold-${e}-`)),i=d.spinner(`Downloading scaffold (${t.source.repo}@${n})`);try{let s;try{s=await fetch(r,{redirect:"follow",headers:{"User-Agent":"webflow-cli"}})}catch(m){throw i.fail("Download failed"),new ve(`Failed to fetch scaffold from GitHub: ${m instanceof Error?m.message:String(m)}. Repo: ${t.source.repo}, ref: ${n}`,e)}if(!s.ok)throw i.fail(`GitHub returned ${s.status} ${s.statusText}`),new ve(`Failed to fetch scaffold from GitHub: ${s.status} ${s.statusText}. Repo: ${t.source.repo}, ref: ${n}`,e);let a=Buffer.from(await s.arrayBuffer());i.succeed("Downloaded scaffold");let l=d.spinner("Unpacking scaffold");try{await v_(a,o),l.succeed("Scaffold ready")}catch(m){throw l.fail("Unpack failed"),m}let c=await un.promises.readdir(o),u=c[0];if(!u||c.length!==1)throw new ve(`Unexpected tarball structure for ${t.source.repo}`,e);let p=dn.join(o,u),f=await Eu(p);return{scaffoldId:e,files:f,extractionRoot:p}}catch(s){try{jw.default.removeSync(o)}catch{}throw s instanceof ve?s:new ve(`Failed to fetch scaffold "${e}": ${s instanceof Error?s.message:String(s)}`,e)}}async function v_(e,t){let n=dn.join(xu.tmpdir(),`webflow-scaffold-${Date.now()}.tar.gz`);await un.promises.writeFile(n,new Uint8Array(e.buffer,e.byteOffset,e.byteLength));try{await Rw.extract({file:n,cwd:t})}finally{await un.promises.unlink(n).catch(()=>{})}}async function Eu(e){let t=[],n=await un.promises.readdir(e,{withFileTypes:!0});for(let r of n){let o=dn.join(e,r.name);r.isDirectory()?t.push(...await Eu(o)):t.push(o)}return t}var zu=w(require("fs-extra"));We();Be();var V=w(require("fs")),ne=w(require("path")),si=require("child_process"),yb=w(require("tar"));var Se=w(require("fs")),ft=w(require("path"));var U={};Qu(U,{BRAND:()=>G_,DIRTY:()=>$n,EMPTY_PATH:()=>E_,INVALID:()=>L,NEVER:()=>O2,OK:()=>Fe,ParseStatus:()=>xe,Schema:()=>H,ZodAny:()=>mn,ZodArray:()=>Mt,ZodBigInt:()=>Nn,ZodBoolean:()=>Ln,ZodBranded:()=>Qo,ZodCatch:()=>Kn,ZodDate:()=>Mn,ZodDefault:()=>Zn,ZodDiscriminatedUnion:()=>Gs,ZodEffects:()=>et,ZodEnum:()=>Gn,ZodError:()=>Pe,ZodFirstPartyTypeKind:()=>M,ZodFunction:()=>Zs,ZodIntersection:()=>Vn,ZodIssueCode:()=>D,ZodLazy:()=>Jn,ZodLiteral:()=>qn,ZodMap:()=>Vr,ZodNaN:()=>qr,ZodNativeEnum:()=>Hn,ZodNever:()=>dt,ZodNull:()=>Un,ZodNullable:()=>Ct,ZodNumber:()=>Bn,ZodObject:()=>Ie,ZodOptional:()=>Xe,ZodParsedType:()=>A,ZodPipeline:()=>ei,ZodPromise:()=>gn,ZodReadonly:()=>Yn,ZodRecord:()=>Hs,ZodSchema:()=>H,ZodSet:()=>Jr,ZodString:()=>fn,ZodSymbol:()=>Ur,ZodTransformer:()=>et,ZodTuple:()=>xt,ZodType:()=>H,ZodUndefined:()=>Wn,ZodUnion:()=>zn,ZodUnknown:()=>Lt,ZodVoid:()=>zr,addIssueToContext:()=>F,any:()=>n2,array:()=>s2,bigint:()=>Y_,boolean:()=>Gw,coerce:()=>T2,custom:()=>Vw,date:()=>X_,datetimeRegex:()=>Uw,defaultErrorMap:()=>Bt,discriminatedUnion:()=>u2,effect:()=>k2,enum:()=>b2,function:()=>h2,getErrorMap:()=>Lr,getParsedType:()=>kt,instanceof:()=>Z_,intersection:()=>d2,isAborted:()=>Js,isAsync:()=>Mr,isDirty:()=>qs,isValid:()=>pn,late:()=>H_,lazy:()=>y2,literal:()=>w2,makeIssue:()=>Xo,map:()=>m2,nan:()=>K_,nativeEnum:()=>D2,never:()=>o2,null:()=>t2,nullable:()=>C2,number:()=>qw,object:()=>a2,objectUtil:()=>Fu,oboolean:()=>A2,onumber:()=>_2,optional:()=>x2,ostring:()=>S2,pipeline:()=>F2,preprocess:()=>E2,promise:()=>v2,quotelessJson:()=>k_,record:()=>f2,set:()=>g2,setErrorMap:()=>C_,strictObject:()=>l2,string:()=>Jw,symbol:()=>Q_,transformer:()=>k2,tuple:()=>p2,undefined:()=>e2,union:()=>c2,unknown:()=>r2,util:()=>X,void:()=>i2});var X;(function(e){e.assertEqual=o=>{};function t(o){}e.assertIs=t;function n(o){throw new Error}e.assertNever=n,e.arrayToEnum=o=>{let i={};for(let s of o)i[s]=s;return i},e.getValidEnumValues=o=>{let i=e.objectKeys(o).filter(a=>typeof o[o[a]]!="number"),s={};for(let a of i)s[a]=o[a];return e.objectValues(s)},e.objectValues=o=>e.objectKeys(o).map(function(i){return o[i]}),e.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let i=[];for(let s in o)Object.prototype.hasOwnProperty.call(o,s)&&i.push(s);return i},e.find=(o,i)=>{for(let s of o)if(i(s))return s},e.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function r(o,i=" | "){return o.map(s=>typeof s=="string"?`'${s}'`:s).join(i)}e.joinValues=r,e.jsonStringifyReplacer=(o,i)=>typeof i=="bigint"?i.toString():i})(X||(X={}));var Fu;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Fu||(Fu={}));var A=X.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),kt=e=>{switch(typeof e){case"undefined":return A.undefined;case"string":return A.string;case"number":return Number.isNaN(e)?A.nan:A.number;case"boolean":return A.boolean;case"function":return A.function;case"bigint":return A.bigint;case"symbol":return A.symbol;case"object":return Array.isArray(e)?A.array:e===null?A.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?A.promise:typeof Map<"u"&&e instanceof Map?A.map:typeof Set<"u"&&e instanceof Set?A.set:typeof Date<"u"&&e instanceof Date?A.date:A.object;default:return A.unknown}};var D=X.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),k_=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),Pe=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){let n=t||function(i){return i.message},r={_errors:[]},o=i=>{for(let s of i.issues)if(s.code==="invalid_union")s.unionErrors.map(o);else if(s.code==="invalid_return_type")o(s.returnTypeError);else if(s.code==="invalid_arguments")o(s.argumentsError);else if(s.path.length===0)r._errors.push(n(s));else{let a=r,l=0;for(;l<s.path.length;){let c=s.path[l];l===s.path.length-1?(a[c]=a[c]||{_errors:[]},a[c]._errors.push(n(s))):a[c]=a[c]||{_errors:[]},a=a[c],l++}}};return o(this),r}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,X.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){let n={},r=[];for(let o of this.issues)if(o.path.length>0){let i=o.path[0];n[i]=n[i]||[],n[i].push(t(o))}else r.push(t(o));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};Pe.create=e=>new Pe(e);var x_=(e,t)=>{let n;switch(e.code){case D.invalid_type:e.received===A.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case D.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,X.jsonStringifyReplacer)}`;break;case D.unrecognized_keys:n=`Unrecognized key(s) in object: ${X.joinValues(e.keys,", ")}`;break;case D.invalid_union:n="Invalid input";break;case D.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${X.joinValues(e.options)}`;break;case D.invalid_enum_value:n=`Invalid enum value. Expected ${X.joinValues(e.options)}, received '${e.received}'`;break;case D.invalid_arguments:n="Invalid function arguments";break;case D.invalid_return_type:n="Invalid function return type";break;case D.invalid_date:n="Invalid date";break;case D.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:X.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case D.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case D.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case D.custom:n="Invalid input";break;case D.invalid_intersection_types:n="Intersection results could not be merged";break;case D.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case D.not_finite:n="Number must be finite";break;default:n=t.defaultError,X.assertNever(e)}return{message:n}},Bt=x_;var Bw=Bt;function C_(e){Bw=e}function Lr(){return Bw}var Xo=e=>{let{data:t,path:n,errorMaps:r,issueData:o}=e,i=[...n,...o.path||[]],s={...o,path:i};if(o.message!==void 0)return{...o,path:i,message:o.message};let a="",l=r.filter(c=>!!c).slice().reverse();for(let c of l)a=c(s,{data:t,defaultError:a}).message;return{...o,path:i,message:a}},E_=[];function F(e,t){let n=Lr(),r=Xo({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Bt?void 0:Bt].filter(o=>!!o)});e.common.issues.push(r)}var xe=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){let r=[];for(let o of n){if(o.status==="aborted")return L;o.status==="dirty"&&t.dirty(),r.push(o.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){let r=[];for(let o of n){let i=await o.key,s=await o.value;r.push({key:i,value:s})}return e.mergeObjectSync(t,r)}static mergeObjectSync(t,n){let r={};for(let o of n){let{key:i,value:s}=o;if(i.status==="aborted"||s.status==="aborted")return L;i.status==="dirty"&&t.dirty(),s.status==="dirty"&&t.dirty(),i.value!=="__proto__"&&(typeof s.value<"u"||o.alwaysSet)&&(r[i.value]=s.value)}return{status:t.value,value:r}}},L=Object.freeze({status:"aborted"}),$n=e=>({status:"dirty",value:e}),Fe=e=>({status:"valid",value:e}),Js=e=>e.status==="aborted",qs=e=>e.status==="dirty",pn=e=>e.status==="valid",Mr=e=>typeof Promise<"u"&&e instanceof Promise;var R;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(R||(R={}));var Qe=class{constructor(t,n,r,o){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=o}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Nw=(e,t)=>{if(pn(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new Pe(e.common.issues);return this._error=n,this._error}}};function q(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:o}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:o}:{errorMap:(s,a)=>{let{message:l}=e;return s.code==="invalid_enum_value"?{message:l??a.defaultError}:typeof a.data>"u"?{message:l??r??a.defaultError}:s.code!=="invalid_type"?{message:a.defaultError}:{message:l??n??a.defaultError}},description:o}}var H=class{get description(){return this._def.description}_getType(t){return kt(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:kt(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new xe,ctx:{common:t.parent.common,data:t.data,parsedType:kt(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(Mr(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){let n=this._parse(t);return Promise.resolve(n)}parse(t,n){let r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){let r={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:kt(t)},o=this._parseSync({data:t,path:r.path,parent:r});return Nw(r,o)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:kt(t)};if(!this["~standard"].async)try{let r=this._parseSync({data:t,path:[],parent:n});return pn(r)?{value:r.value}:{issues:n.common.issues}}catch(r){r?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:n}).then(r=>pn(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(t,n){let r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){let r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:kt(t)},o=this._parse({data:t,path:r.path,parent:r}),i=await(Mr(o)?o:Promise.resolve(o));return Nw(r,i)}refine(t,n){let r=o=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(o):n;return this._refinement((o,i)=>{let s=t(o),a=()=>i.addIssue({code:D.custom,...r(o)});return typeof Promise<"u"&&s instanceof Promise?s.then(l=>l?!0:(a(),!1)):s?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,o)=>t(r)?!0:(o.addIssue(typeof n=="function"?n(r,o):n),!1))}_refinement(t){return new et({schema:this,typeName:M.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return Xe.create(this,this._def)}nullable(){return Ct.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Mt.create(this)}promise(){return gn.create(this,this._def)}or(t){return zn.create([this,t],this._def)}and(t){return Vn.create(this,t,this._def)}transform(t){return new et({...q(this._def),schema:this,typeName:M.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new Zn({...q(this._def),innerType:this,defaultValue:n,typeName:M.ZodDefault})}brand(){return new Qo({typeName:M.ZodBranded,type:this,...q(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new Kn({...q(this._def),innerType:this,catchValue:n,typeName:M.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return ei.create(this,t)}readonly(){return Yn.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},F_=/^c[^\s-]{8,}$/i,S_=/^[0-9a-z]+$/,__=/^[0-9A-HJKMNP-TV-Z]{26}$/i,A_=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,T_=/^[a-z0-9_-]{21}$/i,O_=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,P_=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,I_=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,j_="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Su,R_=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,$_=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,B_=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,N_=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,L_=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,M_=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Mw="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",W_=new RegExp(`^${Mw}$`);function Ww(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function U_(e){return new RegExp(`^${Ww(e)}$`)}function Uw(e){let t=`${Mw}T${Ww(e)}`,n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function z_(e,t){return!!((t==="v4"||!t)&&R_.test(e)||(t==="v6"||!t)&&B_.test(e))}function V_(e,t){if(!O_.test(e))return!1;try{let[n]=e.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),o=JSON.parse(atob(r));return!(typeof o!="object"||o===null||"typ"in o&&o?.typ!=="JWT"||!o.alg||t&&o.alg!==t)}catch{return!1}}function J_(e,t){return!!((t==="v4"||!t)&&$_.test(e)||(t==="v6"||!t)&&N_.test(e))}var fn=class e extends H{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==A.string){let i=this._getOrReturnCtx(t);return F(i,{code:D.invalid_type,expected:A.string,received:i.parsedType}),L}let r=new xe,o;for(let i of this._def.checks)if(i.kind==="min")t.data.length<i.value&&(o=this._getOrReturnCtx(t,o),F(o,{code:D.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),r.dirty());else if(i.kind==="max")t.data.length>i.value&&(o=this._getOrReturnCtx(t,o),F(o,{code:D.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),r.dirty());else if(i.kind==="length"){let s=t.data.length>i.value,a=t.data.length<i.value;(s||a)&&(o=this._getOrReturnCtx(t,o),s?F(o,{code:D.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):a&&F(o,{code:D.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),r.dirty())}else if(i.kind==="email")I_.test(t.data)||(o=this._getOrReturnCtx(t,o),F(o,{validation:"email",code:D.invalid_string,message:i.message}),r.dirty());else if(i.kind==="emoji")Su||(Su=new RegExp(j_,"u")),Su.test(t.data)||(o=this._getOrReturnCtx(t,o),F(o,{validation:"emoji",code:D.invalid_string,message:i.message}),r.dirty());else if(i.kind==="uuid")A_.test(t.data)||(o=this._getOrReturnCtx(t,o),F(o,{validation:"uuid",code:D.invalid_string,message:i.message}),r.dirty());else if(i.kind==="nanoid")T_.test(t.data)||(o=this._getOrReturnCtx(t,o),F(o,{validation:"nanoid",code:D.invalid_string,message:i.message}),r.dirty());else if(i.kind==="cuid")F_.test(t.data)||(o=this._getOrReturnCtx(t,o),F(o,{validation:"cuid",code:D.invalid_string,message:i.message}),r.dirty());else if(i.kind==="cuid2")S_.test(t.data)||(o=this._getOrReturnCtx(t,o),F(o,{validation:"cuid2",code:D.invalid_string,message:i.message}),r.dirty());else if(i.kind==="ulid")__.test(t.data)||(o=this._getOrReturnCtx(t,o),F(o,{validation:"ulid",code:D.invalid_string,message:i.message}),r.dirty());else if(i.kind==="url")try{new URL(t.data)}catch{o=this._getOrReturnCtx(t,o),F(o,{validation:"url",code:D.invalid_string,message:i.message}),r.dirty()}else i.kind==="regex"?(i.regex.lastIndex=0,i.regex.test(t.data)||(o=this._getOrReturnCtx(t,o),F(o,{validation:"regex",code:D.invalid_string,message:i.message}),r.dirty())):i.kind==="trim"?t.data=t.data.trim():i.kind==="includes"?t.data.includes(i.value,i.position)||(o=this._getOrReturnCtx(t,o),F(o,{code:D.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),r.dirty()):i.kind==="toLowerCase"?t.data=t.data.toLowerCase():i.kind==="toUpperCase"?t.data=t.data.toUpperCase():i.kind==="startsWith"?t.data.startsWith(i.value)||(o=this._getOrReturnCtx(t,o),F(o,{code:D.invalid_string,validation:{startsWith:i.value},message:i.message}),r.dirty()):i.kind==="endsWith"?t.data.endsWith(i.value)||(o=this._getOrReturnCtx(t,o),F(o,{code:D.invalid_string,validation:{endsWith:i.value},message:i.message}),r.dirty()):i.kind==="datetime"?Uw(i).test(t.data)||(o=this._getOrReturnCtx(t,o),F(o,{code:D.invalid_string,validation:"datetime",message:i.message}),r.dirty()):i.kind==="date"?W_.test(t.data)||(o=this._getOrReturnCtx(t,o),F(o,{code:D.invalid_string,validation:"date",message:i.message}),r.dirty()):i.kind==="time"?U_(i).test(t.data)||(o=this._getOrReturnCtx(t,o),F(o,{code:D.invalid_string,validation:"time",message:i.message}),r.dirty()):i.kind==="duration"?P_.test(t.data)||(o=this._getOrReturnCtx(t,o),F(o,{validation:"duration",code:D.invalid_string,message:i.message}),r.dirty()):i.kind==="ip"?z_(t.data,i.version)||(o=this._getOrReturnCtx(t,o),F(o,{validation:"ip",code:D.invalid_string,message:i.message}),r.dirty()):i.kind==="jwt"?V_(t.data,i.alg)||(o=this._getOrReturnCtx(t,o),F(o,{validation:"jwt",code:D.invalid_string,message:i.message}),r.dirty()):i.kind==="cidr"?J_(t.data,i.version)||(o=this._getOrReturnCtx(t,o),F(o,{validation:"cidr",code:D.invalid_string,message:i.message}),r.dirty()):i.kind==="base64"?L_.test(t.data)||(o=this._getOrReturnCtx(t,o),F(o,{validation:"base64",code:D.invalid_string,message:i.message}),r.dirty()):i.kind==="base64url"?M_.test(t.data)||(o=this._getOrReturnCtx(t,o),F(o,{validation:"base64url",code:D.invalid_string,message:i.message}),r.dirty()):X.assertNever(i);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(o=>t.test(o),{validation:n,code:D.invalid_string,...R.errToObj(r)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...R.errToObj(t)})}url(t){return this._addCheck({kind:"url",...R.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...R.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...R.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...R.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...R.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...R.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...R.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...R.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...R.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...R.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...R.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...R.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...R.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...R.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...R.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...R.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...R.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...R.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...R.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...R.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...R.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...R.errToObj(n)})}nonempty(t){return this.min(1,R.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};fn.create=e=>new fn({checks:[],typeName:M.ZodString,coerce:e?.coerce??!1,...q(e)});function q_(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,o=n>r?n:r,i=Number.parseInt(e.toFixed(o).replace(".","")),s=Number.parseInt(t.toFixed(o).replace(".",""));return i%s/10**o}var Bn=class e extends H{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==A.number){let i=this._getOrReturnCtx(t);return F(i,{code:D.invalid_type,expected:A.number,received:i.parsedType}),L}let r,o=new xe;for(let i of this._def.checks)i.kind==="int"?X.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),F(r,{code:D.invalid_type,expected:"integer",received:"float",message:i.message}),o.dirty()):i.kind==="min"?(i.inclusive?t.data<i.value:t.data<=i.value)&&(r=this._getOrReturnCtx(t,r),F(r,{code:D.too_small,minimum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),o.dirty()):i.kind==="max"?(i.inclusive?t.data>i.value:t.data>=i.value)&&(r=this._getOrReturnCtx(t,r),F(r,{code:D.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),o.dirty()):i.kind==="multipleOf"?q_(t.data,i.value)!==0&&(r=this._getOrReturnCtx(t,r),F(r,{code:D.not_multiple_of,multipleOf:i.value,message:i.message}),o.dirty()):i.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),F(r,{code:D.not_finite,message:i.message}),o.dirty()):X.assertNever(i);return{status:o.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,R.toString(n))}gt(t,n){return this.setLimit("min",t,!1,R.toString(n))}lte(t,n){return this.setLimit("max",t,!0,R.toString(n))}lt(t,n){return this.setLimit("max",t,!1,R.toString(n))}setLimit(t,n,r,o){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:R.toString(o)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:R.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:R.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:R.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:R.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:R.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:R.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:R.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:R.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:R.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&X.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}};Bn.create=e=>new Bn({checks:[],typeName:M.ZodNumber,coerce:e?.coerce||!1,...q(e)});var Nn=class e extends H{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==A.bigint)return this._getInvalidInput(t);let r,o=new xe;for(let i of this._def.checks)i.kind==="min"?(i.inclusive?t.data<i.value:t.data<=i.value)&&(r=this._getOrReturnCtx(t,r),F(r,{code:D.too_small,type:"bigint",minimum:i.value,inclusive:i.inclusive,message:i.message}),o.dirty()):i.kind==="max"?(i.inclusive?t.data>i.value:t.data>=i.value)&&(r=this._getOrReturnCtx(t,r),F(r,{code:D.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),o.dirty()):i.kind==="multipleOf"?t.data%i.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),F(r,{code:D.not_multiple_of,multipleOf:i.value,message:i.message}),o.dirty()):X.assertNever(i);return{status:o.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return F(n,{code:D.invalid_type,expected:A.bigint,received:n.parsedType}),L}gte(t,n){return this.setLimit("min",t,!0,R.toString(n))}gt(t,n){return this.setLimit("min",t,!1,R.toString(n))}lte(t,n){return this.setLimit("max",t,!0,R.toString(n))}lt(t,n){return this.setLimit("max",t,!1,R.toString(n))}setLimit(t,n,r,o){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:R.toString(o)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:R.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:R.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:R.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:R.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:R.toString(n)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Nn.create=e=>new Nn({checks:[],typeName:M.ZodBigInt,coerce:e?.coerce??!1,...q(e)});var Ln=class extends H{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==A.boolean){let r=this._getOrReturnCtx(t);return F(r,{code:D.invalid_type,expected:A.boolean,received:r.parsedType}),L}return Fe(t.data)}};Ln.create=e=>new Ln({typeName:M.ZodBoolean,coerce:e?.coerce||!1,...q(e)});var Mn=class e extends H{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==A.date){let i=this._getOrReturnCtx(t);return F(i,{code:D.invalid_type,expected:A.date,received:i.parsedType}),L}if(Number.isNaN(t.data.getTime())){let i=this._getOrReturnCtx(t);return F(i,{code:D.invalid_date}),L}let r=new xe,o;for(let i of this._def.checks)i.kind==="min"?t.data.getTime()<i.value&&(o=this._getOrReturnCtx(t,o),F(o,{code:D.too_small,message:i.message,inclusive:!0,exact:!1,minimum:i.value,type:"date"}),r.dirty()):i.kind==="max"?t.data.getTime()>i.value&&(o=this._getOrReturnCtx(t,o),F(o,{code:D.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),r.dirty()):X.assertNever(i);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:R.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:R.toString(n)})}get minDate(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}};Mn.create=e=>new Mn({checks:[],coerce:e?.coerce||!1,typeName:M.ZodDate,...q(e)});var Ur=class extends H{_parse(t){if(this._getType(t)!==A.symbol){let r=this._getOrReturnCtx(t);return F(r,{code:D.invalid_type,expected:A.symbol,received:r.parsedType}),L}return Fe(t.data)}};Ur.create=e=>new Ur({typeName:M.ZodSymbol,...q(e)});var Wn=class extends H{_parse(t){if(this._getType(t)!==A.undefined){let r=this._getOrReturnCtx(t);return F(r,{code:D.invalid_type,expected:A.undefined,received:r.parsedType}),L}return Fe(t.data)}};Wn.create=e=>new Wn({typeName:M.ZodUndefined,...q(e)});var Un=class extends H{_parse(t){if(this._getType(t)!==A.null){let r=this._getOrReturnCtx(t);return F(r,{code:D.invalid_type,expected:A.null,received:r.parsedType}),L}return Fe(t.data)}};Un.create=e=>new Un({typeName:M.ZodNull,...q(e)});var mn=class extends H{constructor(){super(...arguments),this._any=!0}_parse(t){return Fe(t.data)}};mn.create=e=>new mn({typeName:M.ZodAny,...q(e)});var Lt=class extends H{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Fe(t.data)}};Lt.create=e=>new Lt({typeName:M.ZodUnknown,...q(e)});var dt=class extends H{_parse(t){let n=this._getOrReturnCtx(t);return F(n,{code:D.invalid_type,expected:A.never,received:n.parsedType}),L}};dt.create=e=>new dt({typeName:M.ZodNever,...q(e)});var zr=class extends H{_parse(t){if(this._getType(t)!==A.undefined){let r=this._getOrReturnCtx(t);return F(r,{code:D.invalid_type,expected:A.void,received:r.parsedType}),L}return Fe(t.data)}};zr.create=e=>new zr({typeName:M.ZodVoid,...q(e)});var Mt=class e extends H{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),o=this._def;if(n.parsedType!==A.array)return F(n,{code:D.invalid_type,expected:A.array,received:n.parsedType}),L;if(o.exactLength!==null){let s=n.data.length>o.exactLength.value,a=n.data.length<o.exactLength.value;(s||a)&&(F(n,{code:s?D.too_big:D.too_small,minimum:a?o.exactLength.value:void 0,maximum:s?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),r.dirty())}if(o.minLength!==null&&n.data.length<o.minLength.value&&(F(n,{code:D.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),r.dirty()),o.maxLength!==null&&n.data.length>o.maxLength.value&&(F(n,{code:D.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((s,a)=>o.type._parseAsync(new Qe(n,s,n.path,a)))).then(s=>xe.mergeArray(r,s));let i=[...n.data].map((s,a)=>o.type._parseSync(new Qe(n,s,n.path,a)));return xe.mergeArray(r,i)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:R.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:R.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:R.toString(n)}})}nonempty(t){return this.min(1,t)}};Mt.create=(e,t)=>new Mt({type:e,minLength:null,maxLength:null,exactLength:null,typeName:M.ZodArray,...q(t)});function Wr(e){if(e instanceof Ie){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=Xe.create(Wr(r))}return new Ie({...e._def,shape:()=>t})}else return e instanceof Mt?new Mt({...e._def,type:Wr(e.element)}):e instanceof Xe?Xe.create(Wr(e.unwrap())):e instanceof Ct?Ct.create(Wr(e.unwrap())):e instanceof xt?xt.create(e.items.map(t=>Wr(t))):e}var Ie=class e extends H{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),n=X.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==A.object){let c=this._getOrReturnCtx(t);return F(c,{code:D.invalid_type,expected:A.object,received:c.parsedType}),L}let{status:r,ctx:o}=this._processInputParams(t),{shape:i,keys:s}=this._getCached(),a=[];if(!(this._def.catchall instanceof dt&&this._def.unknownKeys==="strip"))for(let c in o.data)s.includes(c)||a.push(c);let l=[];for(let c of s){let u=i[c],p=o.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new Qe(o,p,o.path,c)),alwaysSet:c in o.data})}if(this._def.catchall instanceof dt){let c=this._def.unknownKeys;if(c==="passthrough")for(let u of a)l.push({key:{status:"valid",value:u},value:{status:"valid",value:o.data[u]}});else if(c==="strict")a.length>0&&(F(o,{code:D.unrecognized_keys,keys:a}),r.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let c=this._def.catchall;for(let u of a){let p=o.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new Qe(o,p,o.path,u)),alwaysSet:u in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let c=[];for(let u of l){let p=await u.key,f=await u.value;c.push({key:p,value:f,alwaysSet:u.alwaysSet})}return c}).then(c=>xe.mergeObjectSync(r,c)):xe.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return R.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{let o=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:R.errToObj(t).message??o}:{message:o}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:M.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let r of X.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let r of X.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return Wr(this)}partial(t){let n={};for(let r of X.objectKeys(this.shape)){let o=this.shape[r];t&&!t[r]?n[r]=o:n[r]=o.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let r of X.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let i=this.shape[r];for(;i instanceof Xe;)i=i._def.innerType;n[r]=i}return new e({...this._def,shape:()=>n})}keyof(){return zw(X.objectKeys(this.shape))}};Ie.create=(e,t)=>new Ie({shape:()=>e,unknownKeys:"strip",catchall:dt.create(),typeName:M.ZodObject,...q(t)});Ie.strictCreate=(e,t)=>new Ie({shape:()=>e,unknownKeys:"strict",catchall:dt.create(),typeName:M.ZodObject,...q(t)});Ie.lazycreate=(e,t)=>new Ie({shape:e,unknownKeys:"strip",catchall:dt.create(),typeName:M.ZodObject,...q(t)});var zn=class extends H{_parse(t){let{ctx:n}=this._processInputParams(t),r=this._def.options;function o(i){for(let a of i)if(a.result.status==="valid")return a.result;for(let a of i)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;let s=i.map(a=>new Pe(a.ctx.common.issues));return F(n,{code:D.invalid_union,unionErrors:s}),L}if(n.common.async)return Promise.all(r.map(async i=>{let s={...n,common:{...n.common,issues:[]},parent:null};return{result:await i._parseAsync({data:n.data,path:n.path,parent:s}),ctx:s}})).then(o);{let i,s=[];for(let l of r){let c={...n,common:{...n.common,issues:[]},parent:null},u=l._parseSync({data:n.data,path:n.path,parent:c});if(u.status==="valid")return u;u.status==="dirty"&&!i&&(i={result:u,ctx:c}),c.common.issues.length&&s.push(c.common.issues)}if(i)return n.common.issues.push(...i.ctx.common.issues),i.result;let a=s.map(l=>new Pe(l));return F(n,{code:D.invalid_union,unionErrors:a}),L}}get options(){return this._def.options}};zn.create=(e,t)=>new zn({options:e,typeName:M.ZodUnion,...q(t)});var Nt=e=>e instanceof Jn?Nt(e.schema):e instanceof et?Nt(e.innerType()):e instanceof qn?[e.value]:e instanceof Gn?e.options:e instanceof Hn?X.objectValues(e.enum):e instanceof Zn?Nt(e._def.innerType):e instanceof Wn?[void 0]:e instanceof Un?[null]:e instanceof Xe?[void 0,...Nt(e.unwrap())]:e instanceof Ct?[null,...Nt(e.unwrap())]:e instanceof Qo||e instanceof Yn?Nt(e.unwrap()):e instanceof Kn?Nt(e._def.innerType):[],Gs=class e extends H{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==A.object)return F(n,{code:D.invalid_type,expected:A.object,received:n.parsedType}),L;let r=this.discriminator,o=n.data[r],i=this.optionsMap.get(o);return i?n.common.async?i._parseAsync({data:n.data,path:n.path,parent:n}):i._parseSync({data:n.data,path:n.path,parent:n}):(F(n,{code:D.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),L)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let o=new Map;for(let i of n){let s=Nt(i.shape[t]);if(!s.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let a of s){if(o.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);o.set(a,i)}}return new e({typeName:M.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:o,...q(r)})}};function _u(e,t){let n=kt(e),r=kt(t);if(e===t)return{valid:!0,data:e};if(n===A.object&&r===A.object){let o=X.objectKeys(t),i=X.objectKeys(e).filter(a=>o.indexOf(a)!==-1),s={...e,...t};for(let a of i){let l=_u(e[a],t[a]);if(!l.valid)return{valid:!1};s[a]=l.data}return{valid:!0,data:s}}else if(n===A.array&&r===A.array){if(e.length!==t.length)return{valid:!1};let o=[];for(let i=0;i<e.length;i++){let s=e[i],a=t[i],l=_u(s,a);if(!l.valid)return{valid:!1};o.push(l.data)}return{valid:!0,data:o}}else return n===A.date&&r===A.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var Vn=class extends H{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),o=(i,s)=>{if(Js(i)||Js(s))return L;let a=_u(i.value,s.value);return a.valid?((qs(i)||qs(s))&&n.dirty(),{status:n.value,value:a.data}):(F(r,{code:D.invalid_intersection_types}),L)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([i,s])=>o(i,s)):o(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};Vn.create=(e,t,n)=>new Vn({left:e,right:t,typeName:M.ZodIntersection,...q(n)});var xt=class e extends H{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==A.array)return F(r,{code:D.invalid_type,expected:A.array,received:r.parsedType}),L;if(r.data.length<this._def.items.length)return F(r,{code:D.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),L;!this._def.rest&&r.data.length>this._def.items.length&&(F(r,{code:D.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let i=[...r.data].map((s,a)=>{let l=this._def.items[a]||this._def.rest;return l?l._parse(new Qe(r,s,r.path,a)):null}).filter(s=>!!s);return r.common.async?Promise.all(i).then(s=>xe.mergeArray(n,s)):xe.mergeArray(n,i)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};xt.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new xt({items:e,typeName:M.ZodTuple,rest:null,...q(t)})};var Hs=class e extends H{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==A.object)return F(r,{code:D.invalid_type,expected:A.object,received:r.parsedType}),L;let o=[],i=this._def.keyType,s=this._def.valueType;for(let a in r.data)o.push({key:i._parse(new Qe(r,a,r.path,a)),value:s._parse(new Qe(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?xe.mergeObjectAsync(n,o):xe.mergeObjectSync(n,o)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof H?new e({keyType:t,valueType:n,typeName:M.ZodRecord,...q(r)}):new e({keyType:fn.create(),valueType:t,typeName:M.ZodRecord,...q(n)})}},Vr=class extends H{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==A.map)return F(r,{code:D.invalid_type,expected:A.map,received:r.parsedType}),L;let o=this._def.keyType,i=this._def.valueType,s=[...r.data.entries()].map(([a,l],c)=>({key:o._parse(new Qe(r,a,r.path,[c,"key"])),value:i._parse(new Qe(r,l,r.path,[c,"value"]))}));if(r.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let l of s){let c=await l.key,u=await l.value;if(c.status==="aborted"||u.status==="aborted")return L;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}})}else{let a=new Map;for(let l of s){let c=l.key,u=l.value;if(c.status==="aborted"||u.status==="aborted")return L;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}}}};Vr.create=(e,t,n)=>new Vr({valueType:t,keyType:e,typeName:M.ZodMap,...q(n)});var Jr=class e extends H{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==A.set)return F(r,{code:D.invalid_type,expected:A.set,received:r.parsedType}),L;let o=this._def;o.minSize!==null&&r.data.size<o.minSize.value&&(F(r,{code:D.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),n.dirty()),o.maxSize!==null&&r.data.size>o.maxSize.value&&(F(r,{code:D.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),n.dirty());let i=this._def.valueType;function s(l){let c=new Set;for(let u of l){if(u.status==="aborted")return L;u.status==="dirty"&&n.dirty(),c.add(u.value)}return{status:n.value,value:c}}let a=[...r.data.values()].map((l,c)=>i._parse(new Qe(r,l,r.path,c)));return r.common.async?Promise.all(a).then(l=>s(l)):s(a)}min(t,n){return new e({...this._def,minSize:{value:t,message:R.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:R.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};Jr.create=(e,t)=>new Jr({valueType:e,minSize:null,maxSize:null,typeName:M.ZodSet,...q(t)});var Zs=class e extends H{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==A.function)return F(n,{code:D.invalid_type,expected:A.function,received:n.parsedType}),L;function r(a,l){return Xo({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Lr(),Bt].filter(c=>!!c),issueData:{code:D.invalid_arguments,argumentsError:l}})}function o(a,l){return Xo({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Lr(),Bt].filter(c=>!!c),issueData:{code:D.invalid_return_type,returnTypeError:l}})}let i={errorMap:n.common.contextualErrorMap},s=n.data;if(this._def.returns instanceof gn){let a=this;return Fe(async function(...l){let c=new Pe([]),u=await a._def.args.parseAsync(l,i).catch(m=>{throw c.addIssue(r(l,m)),c}),p=await Reflect.apply(s,this,u);return await a._def.returns._def.type.parseAsync(p,i).catch(m=>{throw c.addIssue(o(p,m)),c})})}else{let a=this;return Fe(function(...l){let c=a._def.args.safeParse(l,i);if(!c.success)throw new Pe([r(l,c.error)]);let u=Reflect.apply(s,this,c.data),p=a._def.returns.safeParse(u,i);if(!p.success)throw new Pe([o(u,p.error)]);return p.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:xt.create(t).rest(Lt.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new e({args:t||xt.create([]).rest(Lt.create()),returns:n||Lt.create(),typeName:M.ZodFunction,...q(r)})}},Jn=class extends H{get schema(){return this._def.getter()}_parse(t){let{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};Jn.create=(e,t)=>new Jn({getter:e,typeName:M.ZodLazy,...q(t)});var qn=class extends H{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return F(n,{received:n.data,code:D.invalid_literal,expected:this._def.value}),L}return{status:"valid",value:t.data}}get value(){return this._def.value}};qn.create=(e,t)=>new qn({value:e,typeName:M.ZodLiteral,...q(t)});function zw(e,t){return new Gn({values:e,typeName:M.ZodEnum,...q(t)})}var Gn=class e extends H{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return F(n,{expected:X.joinValues(r),received:n.parsedType,code:D.invalid_type}),L}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),r=this._def.values;return F(n,{received:n.data,code:D.invalid_enum_value,options:r}),L}return Fe(t.data)}get options(){return this._def.values}get enum(){let t={};for(let n of this._def.values)t[n]=n;return t}get Values(){let t={};for(let n of this._def.values)t[n]=n;return t}get Enum(){let t={};for(let n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}};Gn.create=zw;var Hn=class extends H{_parse(t){let n=X.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==A.string&&r.parsedType!==A.number){let o=X.objectValues(n);return F(r,{expected:X.joinValues(o),received:r.parsedType,code:D.invalid_type}),L}if(this._cache||(this._cache=new Set(X.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let o=X.objectValues(n);return F(r,{received:r.data,code:D.invalid_enum_value,options:o}),L}return Fe(t.data)}get enum(){return this._def.values}};Hn.create=(e,t)=>new Hn({values:e,typeName:M.ZodNativeEnum,...q(t)});var gn=class extends H{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==A.promise&&n.common.async===!1)return F(n,{code:D.invalid_type,expected:A.promise,received:n.parsedType}),L;let r=n.parsedType===A.promise?n.data:Promise.resolve(n.data);return Fe(r.then(o=>this._def.type.parseAsync(o,{path:n.path,errorMap:n.common.contextualErrorMap})))}};gn.create=(e,t)=>new gn({type:e,typeName:M.ZodPromise,...q(t)});var et=class extends H{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===M.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:n,ctx:r}=this._processInputParams(t),o=this._def.effect||null,i={addIssue:s=>{F(r,s),s.fatal?n.abort():n.dirty()},get path(){return r.path}};if(i.addIssue=i.addIssue.bind(i),o.type==="preprocess"){let s=o.transform(r.data,i);if(r.common.async)return Promise.resolve(s).then(async a=>{if(n.value==="aborted")return L;let l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?L:l.status==="dirty"?$n(l.value):n.value==="dirty"?$n(l.value):l});{if(n.value==="aborted")return L;let a=this._def.schema._parseSync({data:s,path:r.path,parent:r});return a.status==="aborted"?L:a.status==="dirty"?$n(a.value):n.value==="dirty"?$n(a.value):a}}if(o.type==="refinement"){let s=a=>{let l=o.refinement(a,i);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?L:(a.status==="dirty"&&n.dirty(),s(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?L:(a.status==="dirty"&&n.dirty(),s(a.value).then(()=>({status:n.value,value:a.value}))))}if(o.type==="transform")if(r.common.async===!1){let s=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!pn(s))return L;let a=o.transform(s.value,i);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(s=>pn(s)?Promise.resolve(o.transform(s.value,i)).then(a=>({status:n.value,value:a})):L);X.assertNever(o)}};et.create=(e,t,n)=>new et({schema:e,typeName:M.ZodEffects,effect:t,...q(n)});et.createWithPreprocess=(e,t,n)=>new et({schema:t,effect:{type:"preprocess",transform:e},typeName:M.ZodEffects,...q(n)});var Xe=class extends H{_parse(t){return this._getType(t)===A.undefined?Fe(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Xe.create=(e,t)=>new Xe({innerType:e,typeName:M.ZodOptional,...q(t)});var Ct=class extends H{_parse(t){return this._getType(t)===A.null?Fe(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Ct.create=(e,t)=>new Ct({innerType:e,typeName:M.ZodNullable,...q(t)});var Zn=class extends H{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===A.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};Zn.create=(e,t)=>new Zn({innerType:e,typeName:M.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...q(t)});var Kn=class extends H{_parse(t){let{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},o=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Mr(o)?o.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Pe(r.common.issues)},input:r.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Pe(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};Kn.create=(e,t)=>new Kn({innerType:e,typeName:M.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...q(t)});var qr=class extends H{_parse(t){if(this._getType(t)!==A.nan){let r=this._getOrReturnCtx(t);return F(r,{code:D.invalid_type,expected:A.nan,received:r.parsedType}),L}return{status:"valid",value:t.data}}};qr.create=e=>new qr({typeName:M.ZodNaN,...q(e)});var G_=Symbol("zod_brand"),Qo=class extends H{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},ei=class e extends H{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{let i=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?L:i.status==="dirty"?(n.dirty(),$n(i.value)):this._def.out._parseAsync({data:i.value,path:r.path,parent:r})})();{let o=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?L:o.status==="dirty"?(n.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:r.path,parent:r})}}static create(t,n){return new e({in:t,out:n,typeName:M.ZodPipeline})}},Yn=class extends H{_parse(t){let n=this._def.innerType._parse(t),r=o=>(pn(o)&&(o.value=Object.freeze(o.value)),o);return Mr(n)?n.then(o=>r(o)):r(n)}unwrap(){return this._def.innerType}};Yn.create=(e,t)=>new Yn({innerType:e,typeName:M.ZodReadonly,...q(t)});function Lw(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function Vw(e,t={},n){return e?mn.create().superRefine((r,o)=>{let i=e(r);if(i instanceof Promise)return i.then(s=>{if(!s){let a=Lw(t,r),l=a.fatal??n??!0;o.addIssue({code:"custom",...a,fatal:l})}});if(!i){let s=Lw(t,r),a=s.fatal??n??!0;o.addIssue({code:"custom",...s,fatal:a})}}):mn.create()}var H_={object:Ie.lazycreate},M;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(M||(M={}));var Z_=(e,t={message:`Input not instance of ${e.name}`})=>Vw(n=>n instanceof e,t),Jw=fn.create,qw=Bn.create,K_=qr.create,Y_=Nn.create,Gw=Ln.create,X_=Mn.create,Q_=Ur.create,e2=Wn.create,t2=Un.create,n2=mn.create,r2=Lt.create,o2=dt.create,i2=zr.create,s2=Mt.create,a2=Ie.create,l2=Ie.strictCreate,c2=zn.create,u2=Gs.create,d2=Vn.create,p2=xt.create,f2=Hs.create,m2=Vr.create,g2=Jr.create,h2=Zs.create,y2=Jn.create,w2=qn.create,b2=Gn.create,D2=Hn.create,v2=gn.create,k2=et.create,x2=Xe.create,C2=Ct.create,E2=et.createWithPreprocess,F2=ei.create,S2=()=>Jw().optional(),_2=()=>qw().optional(),A2=()=>Gw().optional(),T2={string:e=>fn.create({...e,coerce:!0}),number:e=>Bn.create({...e,coerce:!0}),boolean:e=>Ln.create({...e,coerce:!0}),bigint:e=>Nn.create({...e,coerce:!0}),date:e=>Mn.create({...e,coerce:!0})};var O2=L;function Ks(e,t=!1){let n=e.length,r=0,o="",i=0,s=16,a=0,l=0,c=0,u=0,p=0;function f(C,x){let z=0,j=0;for(;z<C||!x;){let S=e.charCodeAt(r);if(S>=48&&S<=57)j=j*16+S-48;else if(S>=65&&S<=70)j=j*16+S-65+10;else if(S>=97&&S<=102)j=j*16+S-97+10;else break;r++,z++}return z<C&&(j=-1),j}function m(C){r=C,o="",i=0,s=16,p=0}function h(){let C=r;if(e.charCodeAt(r)===48)r++;else for(r++;r<e.length&&Gr(e.charCodeAt(r));)r++;if(r<e.length&&e.charCodeAt(r)===46)if(r++,r<e.length&&Gr(e.charCodeAt(r)))for(r++;r<e.length&&Gr(e.charCodeAt(r));)r++;else return p=3,e.substring(C,r);let x=r;if(r<e.length&&(e.charCodeAt(r)===69||e.charCodeAt(r)===101))if(r++,(r<e.length&&e.charCodeAt(r)===43||e.charCodeAt(r)===45)&&r++,r<e.length&&Gr(e.charCodeAt(r))){for(r++;r<e.length&&Gr(e.charCodeAt(r));)r++;x=r}else p=3;return e.substring(C,x)}function v(){let C="",x=r;for(;;){if(r>=n){C+=e.substring(x,r),p=2;break}let z=e.charCodeAt(r);if(z===34){C+=e.substring(x,r),r++;break}if(z===92){if(C+=e.substring(x,r),r++,r>=n){p=2;break}switch(e.charCodeAt(r++)){case 34:C+='"';break;case 92:C+="\\";break;case 47:C+="/";break;case 98:C+="\b";break;case 102:C+="\f";break;case 110:C+=`
124
- `;break;case 114:C+="\r";break;case 116:C+=" ";break;case 117:let S=f(4,!0);S>=0?C+=String.fromCharCode(S):p=4;break;default:p=5}x=r;continue}if(z>=0&&z<=31)if(ti(z)){C+=e.substring(x,r),p=2;break}else p=6;r++}return C}function k(){if(o="",p=0,i=r,l=a,u=c,r>=n)return i=n,s=17;let C=e.charCodeAt(r);if(Au(C)){do r++,o+=String.fromCharCode(C),C=e.charCodeAt(r);while(Au(C));return s=15}if(ti(C))return r++,o+=String.fromCharCode(C),C===13&&e.charCodeAt(r)===10&&(r++,o+=`
125
- `),a++,c=r,s=14;switch(C){case 123:return r++,s=1;case 125:return r++,s=2;case 91:return r++,s=3;case 93:return r++,s=4;case 58:return r++,s=6;case 44:return r++,s=5;case 34:return r++,o=v(),s=10;case 47:let x=r-1;if(e.charCodeAt(r+1)===47){for(r+=2;r<n&&!ti(e.charCodeAt(r));)r++;return o=e.substring(x,r),s=12}if(e.charCodeAt(r+1)===42){r+=2;let z=n-1,j=!1;for(;r<z;){let S=e.charCodeAt(r);if(S===42&&e.charCodeAt(r+1)===47){r+=2,j=!0;break}r++,ti(S)&&(S===13&&e.charCodeAt(r)===10&&r++,a++,c=r)}return j||(r++,p=1),o=e.substring(x,r),s=13}return o+=String.fromCharCode(C),r++,s=16;case 45:if(o+=String.fromCharCode(C),r++,r===n||!Gr(e.charCodeAt(r)))return s=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return o+=h(),s=11;default:for(;r<n&&T(C);)r++,C=e.charCodeAt(r);if(i!==r){switch(o=e.substring(i,r),o){case"true":return s=8;case"false":return s=9;case"null":return s=7}return s=16}return o+=String.fromCharCode(C),r++,s=16}}function T(C){if(Au(C)||ti(C))return!1;switch(C){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function P(){let C;do C=k();while(C>=12&&C<=15);return C}return{setPosition:m,getPosition:()=>r,scan:t?P:k,getToken:()=>s,getTokenValue:()=>o,getTokenOffset:()=>i,getTokenLength:()=>r-i,getTokenStartLine:()=>l,getTokenStartCharacter:()=>i-u,getTokenError:()=>p}}function Au(e){return e===32||e===9}function ti(e){return e===10||e===13}function Gr(e){return e>=48&&e<=57}var Hw;(function(e){e[e.lineFeed=10]="lineFeed",e[e.carriageReturn=13]="carriageReturn",e[e.space=32]="space",e[e._0=48]="_0",e[e._1=49]="_1",e[e._2=50]="_2",e[e._3=51]="_3",e[e._4=52]="_4",e[e._5=53]="_5",e[e._6=54]="_6",e[e._7=55]="_7",e[e._8=56]="_8",e[e._9=57]="_9",e[e.a=97]="a",e[e.b=98]="b",e[e.c=99]="c",e[e.d=100]="d",e[e.e=101]="e",e[e.f=102]="f",e[e.g=103]="g",e[e.h=104]="h",e[e.i=105]="i",e[e.j=106]="j",e[e.k=107]="k",e[e.l=108]="l",e[e.m=109]="m",e[e.n=110]="n",e[e.o=111]="o",e[e.p=112]="p",e[e.q=113]="q",e[e.r=114]="r",e[e.s=115]="s",e[e.t=116]="t",e[e.u=117]="u",e[e.v=118]="v",e[e.w=119]="w",e[e.x=120]="x",e[e.y=121]="y",e[e.z=122]="z",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.asterisk=42]="asterisk",e[e.backslash=92]="backslash",e[e.closeBrace=125]="closeBrace",e[e.closeBracket=93]="closeBracket",e[e.colon=58]="colon",e[e.comma=44]="comma",e[e.dot=46]="dot",e[e.doubleQuote=34]="doubleQuote",e[e.minus=45]="minus",e[e.openBrace=123]="openBrace",e[e.openBracket=91]="openBracket",e[e.plus=43]="plus",e[e.slash=47]="slash",e[e.formFeed=12]="formFeed",e[e.tab=9]="tab"})(Hw||(Hw={}));var I2=new Array(20).fill(0).map((e,t)=>" ".repeat(t)),Hr=200,j2={" ":{"\n":new Array(Hr).fill(0).map((e,t)=>`
126
- `+" ".repeat(t)),"\r":new Array(Hr).fill(0).map((e,t)=>"\r"+" ".repeat(t)),"\r\n":new Array(Hr).fill(0).map((e,t)=>`\r
127
- `+" ".repeat(t))}," ":{"\n":new Array(Hr).fill(0).map((e,t)=>`
128
- `+" ".repeat(t)),"\r":new Array(Hr).fill(0).map((e,t)=>"\r"+" ".repeat(t)),"\r\n":new Array(Hr).fill(0).map((e,t)=>`\r
129
- `+" ".repeat(t))}};var Ys;(function(e){e.DEFAULT={allowTrailingComma:!1}})(Ys||(Ys={}));function Zw(e,t=[],n=Ys.DEFAULT){let r=null,o=[],i=[];function s(l){Array.isArray(o)?o.push(l):r!==null&&(o[r]=l)}return Kw(e,{onObjectBegin:()=>{let l={};s(l),i.push(o),o=l,r=null},onObjectProperty:l=>{r=l},onObjectEnd:()=>{o=i.pop()},onArrayBegin:()=>{let l=[];s(l),i.push(o),o=l,r=null},onArrayEnd:()=>{o=i.pop()},onLiteralValue:s,onError:(l,c,u)=>{t.push({error:l,offset:c,length:u})}},n),o[0]}function Kw(e,t,n=Ys.DEFAULT){let r=Ks(e,!1),o=[],i=0;function s(W){return W?()=>i===0&&W(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter()):()=>!0}function a(W){return W?ce=>i===0&&W(ce,r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter()):()=>!0}function l(W){return W?ce=>i===0&&W(ce,r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter(),()=>o.slice()):()=>!0}function c(W){return W?()=>{i>0?i++:W(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter(),()=>o.slice())===!1&&(i=1)}:()=>!0}function u(W){return W?()=>{i>0&&i--,i===0&&W(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter())}:()=>!0}let p=c(t.onObjectBegin),f=l(t.onObjectProperty),m=u(t.onObjectEnd),h=c(t.onArrayBegin),v=u(t.onArrayEnd),k=l(t.onLiteralValue),T=a(t.onSeparator),P=s(t.onComment),C=a(t.onError),x=n&&n.disallowComments,z=n&&n.allowTrailingComma;function j(){for(;;){let W=r.scan();switch(r.getTokenError()){case 4:S(14);break;case 5:S(15);break;case 3:S(13);break;case 1:x||S(11);break;case 2:S(12);break;case 6:S(16);break}switch(W){case 12:case 13:x?S(10):P();break;case 16:S(1);break;case 15:case 14:break;default:return W}}}function S(W,ce=[],zt=[]){if(C(W),ce.length+zt.length>0){let li=r.getToken();for(;li!==17;){if(ce.indexOf(li)!==-1){j();break}else if(zt.indexOf(li)!==-1)break;li=j()}}}function y(W){let ce=r.getTokenValue();return W?k(ce):(f(ce),o.push(ce)),j(),!0}function b(){switch(r.getToken()){case 11:let W=r.getTokenValue(),ce=Number(W);isNaN(ce)&&(S(2),ce=0),k(ce);break;case 7:k(null);break;case 8:k(!0);break;case 9:k(!1);break;default:return!1}return j(),!0}function B(){return r.getToken()!==10?(S(3,[],[2,5]),!1):(y(!1),r.getToken()===6?(T(":"),j(),ot()||S(4,[],[2,5])):S(5,[],[2,5]),o.pop(),!0)}function _(){p(),j();let W=!1;for(;r.getToken()!==2&&r.getToken()!==17;){if(r.getToken()===5){if(W||S(4,[],[]),T(","),j(),r.getToken()===2&&z)break}else W&&S(6,[],[]);B()||S(4,[],[2,5]),W=!0}return m(),r.getToken()!==2?S(7,[2],[]):j(),!0}function we(){h(),j();let W=!0,ce=!1;for(;r.getToken()!==4&&r.getToken()!==17;){if(r.getToken()===5){if(ce||S(4,[],[]),T(","),j(),r.getToken()===4&&z)break}else ce&&S(6,[],[]);W?(o.push(0),W=!1):o[o.length-1]++,ot()||S(4,[],[4,5]),ce=!0}return v(),W||o.pop(),r.getToken()!==4?S(8,[4],[]):j(),!0}function ot(){switch(r.getToken()){case 3:return we();case 1:return _();case 10:return y(!0);default:return b()}}return j(),r.getToken()===17?n.allowEmptyContent?!0:(S(4,[],[]),!1):ot()?(r.getToken()!==17&&S(9,[],[]),!0):(S(4,[],[]),!1)}var Yw;(function(e){e[e.None=0]="None",e[e.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=2]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",e[e.InvalidUnicode=4]="InvalidUnicode",e[e.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",e[e.InvalidCharacter=6]="InvalidCharacter"})(Yw||(Yw={}));var Xw;(function(e){e[e.OpenBraceToken=1]="OpenBraceToken",e[e.CloseBraceToken=2]="CloseBraceToken",e[e.OpenBracketToken=3]="OpenBracketToken",e[e.CloseBracketToken=4]="CloseBracketToken",e[e.CommaToken=5]="CommaToken",e[e.ColonToken=6]="ColonToken",e[e.NullKeyword=7]="NullKeyword",e[e.TrueKeyword=8]="TrueKeyword",e[e.FalseKeyword=9]="FalseKeyword",e[e.StringLiteral=10]="StringLiteral",e[e.NumericLiteral=11]="NumericLiteral",e[e.LineCommentTrivia=12]="LineCommentTrivia",e[e.BlockCommentTrivia=13]="BlockCommentTrivia",e[e.LineBreakTrivia=14]="LineBreakTrivia",e[e.Trivia=15]="Trivia",e[e.Unknown=16]="Unknown",e[e.EOF=17]="EOF"})(Xw||(Xw={}));var Xn=Zw;var Qw;(function(e){e[e.InvalidSymbol=1]="InvalidSymbol",e[e.InvalidNumberFormat=2]="InvalidNumberFormat",e[e.PropertyNameExpected=3]="PropertyNameExpected",e[e.ValueExpected=4]="ValueExpected",e[e.ColonExpected=5]="ColonExpected",e[e.CommaExpected=6]="CommaExpected",e[e.CloseBraceExpected=7]="CloseBraceExpected",e[e.CloseBracketExpected=8]="CloseBracketExpected",e[e.EndOfFileExpected=9]="EndOfFileExpected",e[e.InvalidCommentToken=10]="InvalidCommentToken",e[e.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=12]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",e[e.InvalidUnicode=14]="InvalidUnicode",e[e.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",e[e.InvalidCharacter=16]="InvalidCharacter"})(Qw||(Qw={}));var to=w(require("fs")),cb=w(require("path"));var Zr=class extends Error{remediation;documentationUrl;cause;constructor(t,n){super(t),this.name="FrameworkError",this.cause=n?.cause,this.remediation=n?.remediation,this.documentationUrl=n?.documentationUrl,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}toDisplayString(){let t=this.message;return this.remediation&&(t+=`
101
+ `,h),"")}`)),e.succeed(),e=c.spinner("Generating library bundle");let{outputFiles:p,outputVolume:g}=await _i({libraryIdentifier:o,renderer:r.renderer,framework:r.framework,publicPath:Ht(t.publicPath||rD),sourceVolumes:[s],componentsFiles:i,componentsOptions:f,debugBundler:t?.debugBundler,dev:t?.dev,overrideConfig:a,failOnWarnings:!t.force,bundler:t.bundler});e.succeed(),e=c.spinner("Writing to disk"),p.forEach(([h,w])=>{let F=(0,sn.join)(`/${w}`,`${h.name}`),O=ro(g.readFileSync(F,"utf8").toString(),F,{bundleEnvironment:w}),ne=(0,sn.join)(process.cwd(),t.outputPath||tD);Ii.default.existsSync((0,sn.join)(ne,`${w}`))||Ii.default.mkdirSync((0,sn.join)(ne,`${w}`),{recursive:!0}),Ii.default.writeFileSync((0,sn.join)(ne,w,h.name),O.value.toString())}),e.succeed(),c.success("Code Library bundled successfully!")}catch(r){throw e?.fail(),new d(r)}}_();H();var ao=m(require("fs-extra")),gl=m(require("path"));_();H();function nD(){try{if(!ao.default.existsSync(je))return null;let t=ao.default.readdirSync(je).filter(e=>e.endsWith(".log")).map(e=>({name:e,path:gl.default.join(je,e),time:ao.default.statSync(gl.default.join(je,e)).mtime.getTime()})).sort((e,r)=>r.time-e.time);if(t.length===0)return null;for(let e of t)try{let n=ao.default.readFileSync(e.path,"utf8").match(/Command: (.+)/);if(n){let o=n[1];if(!/^(log|library\s+log)(\s|$)/.test(o))return e.path}}catch{continue}return null}catch{return null}}async function hl(){let t=nD();t&&c.info(`${Hr} Latest log: ${t}`),c.info(`${Hr} All logs: ${je}`)}async function zp(t){t.command("log").description("Display the logs directory and path to the latest log file, if available.").action(hl)}var Ae=require("commander"),yl=()=>new Ae.Option("--no-input","Avoid prompting or doing anything interactive. Use this for CI/CD pipelines."),wl=()=>new Ae.Option("--manifest <path>","Path to a manifest.json file or directory containing webflow.json. Default: ./webflow.json"),Dl=()=>new Ae.Option("--skip-update-check","Skip checking for @webflow packages updates"),bl=()=>new Ae.Option("--verbose","Display more information for debugging purposes."),lo=()=>new Ae.Option("--api-token <token>","API token. Default: value set in WEBFLOW_API_TOKEN env variable."),Me=()=>new Ae.Option("-s, --site <site-id>","Site ID. Default: value set in webflow.json config."),ue=()=>new Ae.Option("--json","Output as JSON"),qe=()=>new Ae.Option("--dry-run","Preview without executing"),$i=()=>new Ae.Option("--order <dir>","Sort direction: asc or desc").default("asc"),kt=t=>new Ae.Option("--fields <fields>",`Comma-separated fields to display (${t.join(", ")})`),Ri=t=>new Ae.Option("--sort-by <field>",`Sort by: ${t.join(", ")}`),Pi=()=>new Ae.Option("--limit <n>","Maximum number of items to return (default 100)").default("100").argParser(parseInt),ji=()=>new Ae.Option("--offset <n>","Number of items to skip (default 0)").default("0").argParser(parseInt),co=t=>async(e,r)=>{let o={...r.parent?.opts()||{},...e};await t(o)};fe();var oD=`${ce("[Deprecated]")} The 'library' commands will be removed in the next major release.`,iD=()=>{c.warn(`${Ee} ${ce("webflow library share")} is deprecated and will be removed in the next major release.
102
+ Use ${M("webflow devlink import")} instead.
103
+ `)},sD=()=>{c.warn(`${Ee} ${ce("webflow library bundle")} is deprecated and will be removed in the next major release.
104
+ Use ${M("webflow devlink bundle")} instead.
105
+ `)},aD=()=>{c.warn(`${Ee} ${ce("webflow library log")} is deprecated and will be removed in the next major release.
106
+ Use ${M("webflow log")} instead.
107
+ `)},lD="Import a library of Code Components into your Webflow Workspace.",cD="Bundle a library of Code Components for local development.",qp=()=>new Gt.Option("-f, --force","Force the bundler to finish compiling, even if there are warnings or type errors."),Kp=()=>new Gt.Option("--debug-bundler","Display final bundler configurations for debugging purposes."),Zp=()=>new Gt.Option("--dev","Bundle in development mode for debugging purposes."),Yp=()=>new Gt.Option("--bundler <engine>","Bundler to use: webpack or rspack (experimental). Default: webpack").choices(["webpack","rspack"]).default("webpack").hideHelp(),uD=()=>new Gt.Option("--library-id <id>","Set the library identifier to use for the bundle.").hideHelp(),fD=()=>new Gt.Option("--public-path <path>","Set the public path for the bundle."),dD=()=>new Gt.Option("--output-path <path>","Override the output path for the bundle. Default is './dist'");function vl(t,e){return t.command(e).description(lD).addOption(lo()).addOption(qp()).addOption(Kp()).addOption(Zp()).addOption(Yp()).action(co(pl))}function El(t,e){return t.command(e).description(cD).addOption(uD()).addOption(fD()).addOption(dD()).addOption(qp()).addOption(Kp()).addOption(Zp()).addOption(Yp()).action(co(ml))}var Xp=t=>{let e=t.command("library").description(oD);vl(e,"share").description(`${ce("[Deprecated]")} Use 'webflow devlink import' instead.`).hook("preAction",iD),El(e,"bundle").description(`${ce("[Deprecated]")} Use 'webflow devlink bundle' instead.`).hook("preAction",sD),e.command("log").description(`${ce("[Deprecated]")} Use 'webflow log' instead.`).hook("preAction",aD).action(hl)};var Qp=t=>{let e=t.command("devlink").description("CLI for managing your Webflow Components.");e.command("sync").description("Sync your Webflow components to your filesystem.").argument("[components...]","A list of components to sync. If none is provided, all components will be synced.").addOption(lo()).addOption(Me()).action(cd),vl(e,"import"),El(e,"bundle"),e.command("export").description("Export Webflow Components from your Webflow Site.").addOption(lo()).addOption(Me()).action(co(pi))};var hg=m(require("path"));var St=m(require("fs")),Ke=m(require("path"));_();re();var he={New:"new",Existing:"existing"},em="cli",zt=3,qt=39,Ni="astro",tm="cloud-scaffolds";var rm="package.json",gr="webflow.json",Bi="wf-placeholder-name",nm="CLOUD_MOUNT_PATH",om="gitignore";function xl(t){return!t.siteId}var uo=async(t,e,r=Ni,n,o,i)=>{try{let s,a;if("content"in n){let l=n.content;s=l.files,a=u=>Ke.relative(l.extractionRoot,u).replace(/\\/g,"/")}else{let u=n[r];if(!u)throw new Error(`Scaffold "${r}" not found`);s=u;let f=Ke.join(tm,r);a=p=>p.split(f)[1]?.substring(1).replace(/\\/g,"/")??""}for(let l of s)try{let u=Ke.join(t,a(l)),f=l.includes("next.config.ts"),p=l.includes("astro.config.mjs"),g=f||p;if(l.includes(gr)&&St.existsSync(u))continue;if(l.includes(rm)||l.includes(gr)){let w=(await St.promises.readFile(l,"utf8")).replace(Bi,t);await Mi(u,w)}else if(g){let h=await St.promises.readFile(l,"utf8");await Mi(u,h.replace(nm,e))}else if(Ke.basename(u).toLowerCase()===om){let h=await St.promises.readFile(l,"utf8"),w=Ke.join(Ke.dirname(u),".gitignore");await Mi(w,h)}else{let h=await St.promises.readFile(l);await Mi(u,h)}}catch(u){c.error(`Error processing file ${l}: ${u}`)}if(o&&i)try{xt({siteId:o,apiToken:i,directory:t})}catch(l){c.error(`Error creating .env file: ${l}`)}}catch(s){throw c.error(`Error applying scaffold: ${s}`),s}};var Mi=async(t,e)=>{try{await St.promises.mkdir(Ke.dirname(t),{recursive:!0}),await St.promises.writeFile(t,e)}catch(r){throw c.error(`Error writing file ${t}: ${r}`),r}};var Kt=m(require("fs")),im=m(require("fs-extra")),Zt=m(require("path")),Sl=m(require("os")),sm=m(require("tar"));var be=class extends Error{constructor(r,n,o){super(r);this.scaffoldId=n;this.supportedIds=o;this.name="ScaffoldError"}};var fo={"astro-minimal":{id:"astro-minimal",name:"Astro",source:{type:"github",repo:"Webflow-Examples/hello-world-astro",ref:"v2"}},"nextjs-minimal":{id:"nextjs-minimal",name:"Next.js",source:{type:"github",repo:"Webflow-Examples/hello-world-nextjs",ref:"v1"}},astro:{id:"astro",name:"Astro (site-attached)",source:{type:"github",repo:"Webflow-Examples/hello-world-astro-devlink",ref:"v2"}},nextjs:{id:"nextjs",name:"Next.js (site-attached)",source:{type:"github",repo:"Webflow-Examples/hello-world-nextjs-devlink",ref:"v1"}}};function po(t){let e=fo[t];if(!e){let r=Object.keys(fo);throw new be(`Unsupported framework: "${t}". Supported: ${r.join(", ")}`,t,r)}return e}function _l(){return Object.keys(fo)}function Cl(){return[...new Set(_l().map(t=>t.replace(/-minimal$/,"")))]}function Fl(){return["astro","nextjs"]}function kl(t){let r=`${t.replace(/-minimal$/,"")}-minimal`;if(!fo[r]){let n=_l();throw new be(`No minimal scaffold for "${t}". Supported: ${n.join(", ")}`,r,n)}return r}_();var pD="https://github.com";async function Tl(t){let e=t.endsWith("-minimal")?t:kl(t);return Li(e)}async function Li(t){return po(t).source.type==="github"?mD(t):am(t)}async function am(t){let e=po(t);if(e.source.type!=="local")throw new be(`Scaffold "${t}" does not have a local source`,t);let r=Zt.isAbsolute(e.source.path)?e.source.path:Zt.join(__dirname,e.source.path);if(!Kt.existsSync(r))throw new be(`Scaffold directory not found: ${r}`,t);let n=await Al(r);return{scaffoldId:t,files:n,extractionRoot:r}}async function mD(t){let e=po(t);if(e.source.type!=="github")throw new be(`Scaffold "${t}" does not have a GitHub source`,t);let r=e.source.ref??"main",n=`${pD}/${e.source.repo}/archive/${r}.tar.gz`,o=await Kt.promises.mkdtemp(Zt.join(Sl.tmpdir(),`webflow-scaffold-${t}-`)),i=c.spinner(`Downloading scaffold (${e.source.repo}@${r})`);try{let s;try{s=await fetch(n,{redirect:"follow",headers:{"User-Agent":"webflow-cli"}})}catch(h){throw i.fail("Download failed"),new be(`Failed to fetch scaffold from GitHub: ${h instanceof Error?h.message:String(h)}. Repo: ${e.source.repo}, ref: ${r}`,t)}if(!s.ok)throw i.fail(`GitHub returned ${s.status} ${s.statusText}`),new be(`Failed to fetch scaffold from GitHub: ${s.status} ${s.statusText}. Repo: ${e.source.repo}, ref: ${r}`,t);let a=Buffer.from(await s.arrayBuffer());i.succeed("Downloaded scaffold");let l=c.spinner("Unpacking scaffold");try{await gD(a,o),l.succeed("Scaffold ready")}catch(h){throw l.fail("Unpack failed"),h}let u=await Kt.promises.readdir(o),f=u[0];if(!f||u.length!==1)throw new be(`Unexpected tarball structure for ${e.source.repo}`,t);let p=Zt.join(o,f),g=await Al(p);return{scaffoldId:t,files:g,extractionRoot:p}}catch(s){try{im.default.removeSync(o)}catch{}throw s instanceof be?s:new be(`Failed to fetch scaffold "${t}": ${s instanceof Error?s.message:String(s)}`,t)}}async function gD(t,e){let r=Zt.join(Sl.tmpdir(),`webflow-scaffold-${Date.now()}.tar.gz`);await Kt.promises.writeFile(r,new Uint8Array(t.buffer,t.byteOffset,t.byteLength));try{await sm.extract({file:r,cwd:e})}finally{await Kt.promises.unlink(r).catch(()=>{})}}async function Al(t){let e=[],r=await Kt.promises.readdir(t,{withFileTypes:!0});for(let n of r){let o=Zt.join(t,n.name);n.isDirectory()?e.push(...await Al(o)):e.push(o)}return e}var Kl=m(require("fs-extra"));re();ee();var W=m(require("fs")),Y=m(require("path")),Eo=require("child_process"),Wm=m(require("tar"));var _e=m(require("fs")),lt=m(require("path"));var L={};Ac(L,{BRAND:()=>WD,DIRTY:()=>hr,EMPTY_PATH:()=>DD,INVALID:()=>P,NEVER:()=>Cb,OK:()=>xe,ParseStatus:()=>ve,Schema:()=>J,ZodAny:()=>Qt,ZodArray:()=>It,ZodBigInt:()=>wr,ZodBoolean:()=>Dr,ZodBranded:()=>go,ZodCatch:()=>Ar,ZodDate:()=>br,ZodDefault:()=>Tr,ZodDiscriminatedUnion:()=>Vi,ZodEffects:()=>Xe,ZodEnum:()=>kr,ZodError:()=>Oe,ZodFirstPartyTypeKind:()=>N,ZodFunction:()=>Ji,ZodIntersection:()=>_r,ZodIssueCode:()=>y,ZodLazy:()=>Cr,ZodLiteral:()=>Fr,ZodMap:()=>dn,ZodNaN:()=>mn,ZodNativeEnum:()=>Sr,ZodNever:()=>st,ZodNull:()=>Er,ZodNullable:()=>ht,ZodNumber:()=>yr,ZodObject:()=>Ie,ZodOptional:()=>Ze,ZodParsedType:()=>v,ZodPipeline:()=>ho,ZodPromise:()=>er,ZodReadonly:()=>Or,ZodRecord:()=>Hi,ZodSchema:()=>J,ZodSet:()=>pn,ZodString:()=>Xt,ZodSymbol:()=>un,ZodTransformer:()=>Xe,ZodTuple:()=>gt,ZodType:()=>J,ZodUndefined:()=>vr,ZodUnion:()=>xr,ZodUnknown:()=>Ot,ZodVoid:()=>fn,addIssueToContext:()=>D,any:()=>ZD,array:()=>eb,bigint:()=>JD,boolean:()=>wm,coerce:()=>_b,custom:()=>gm,date:()=>GD,datetimeRegex:()=>pm,defaultErrorMap:()=>Tt,discriminatedUnion:()=>ob,effect:()=>hb,enum:()=>pb,function:()=>ub,getErrorMap:()=>an,getParsedType:()=>mt,instanceof:()=>VD,intersection:()=>ib,isAborted:()=>Wi,isAsync:()=>ln,isDirty:()=>Ui,isValid:()=>Yt,late:()=>UD,lazy:()=>fb,literal:()=>db,makeIssue:()=>mo,map:()=>lb,nan:()=>HD,nativeEnum:()=>mb,never:()=>XD,null:()=>KD,nullable:()=>wb,number:()=>ym,object:()=>tb,objectUtil:()=>Ol,oboolean:()=>xb,onumber:()=>Eb,optional:()=>yb,ostring:()=>vb,pipeline:()=>bb,preprocess:()=>Db,promise:()=>gb,quotelessJson:()=>hD,record:()=>ab,set:()=>cb,setErrorMap:()=>wD,strictObject:()=>rb,string:()=>hm,symbol:()=>zD,transformer:()=>hb,tuple:()=>sb,undefined:()=>qD,union:()=>nb,unknown:()=>YD,util:()=>z,void:()=>QD});var z;(function(t){t.assertEqual=o=>{};function e(o){}t.assertIs=e;function r(o){throw new Error}t.assertNever=r,t.arrayToEnum=o=>{let i={};for(let s of o)i[s]=s;return i},t.getValidEnumValues=o=>{let i=t.objectKeys(o).filter(a=>typeof o[o[a]]!="number"),s={};for(let a of i)s[a]=o[a];return t.objectValues(s)},t.objectValues=o=>t.objectKeys(o).map(function(i){return o[i]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let i=[];for(let s in o)Object.prototype.hasOwnProperty.call(o,s)&&i.push(s);return i},t.find=(o,i)=>{for(let s of o)if(i(s))return s},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function n(o,i=" | "){return o.map(s=>typeof s=="string"?`'${s}'`:s).join(i)}t.joinValues=n,t.jsonStringifyReplacer=(o,i)=>typeof i=="bigint"?i.toString():i})(z||(z={}));var Ol;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(Ol||(Ol={}));var v=z.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),mt=t=>{switch(typeof t){case"undefined":return v.undefined;case"string":return v.string;case"number":return Number.isNaN(t)?v.nan:v.number;case"boolean":return v.boolean;case"function":return v.function;case"bigint":return v.bigint;case"symbol":return v.symbol;case"object":return Array.isArray(t)?v.array:t===null?v.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?v.promise:typeof Map<"u"&&t instanceof Map?v.map:typeof Set<"u"&&t instanceof Set?v.set:typeof Date<"u"&&t instanceof Date?v.date:v.object;default:return v.unknown}};var y=z.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),hD=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),Oe=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(i){return i.message},n={_errors:[]},o=i=>{for(let s of i.issues)if(s.code==="invalid_union")s.unionErrors.map(o);else if(s.code==="invalid_return_type")o(s.returnTypeError);else if(s.code==="invalid_arguments")o(s.argumentsError);else if(s.path.length===0)n._errors.push(r(s));else{let a=n,l=0;for(;l<s.path.length;){let u=s.path[l];l===s.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(s))):a[u]=a[u]||{_errors:[]},a=a[u],l++}}};return o(this),n}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,z.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=r=>r.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let i=o.path[0];r[i]=r[i]||[],r[i].push(e(o))}else n.push(e(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};Oe.create=t=>new Oe(t);var yD=(t,e)=>{let r;switch(t.code){case y.invalid_type:t.received===v.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case y.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,z.jsonStringifyReplacer)}`;break;case y.unrecognized_keys:r=`Unrecognized key(s) in object: ${z.joinValues(t.keys,", ")}`;break;case y.invalid_union:r="Invalid input";break;case y.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${z.joinValues(t.options)}`;break;case y.invalid_enum_value:r=`Invalid enum value. Expected ${z.joinValues(t.options)}, received '${t.received}'`;break;case y.invalid_arguments:r="Invalid function arguments";break;case y.invalid_return_type:r="Invalid function return type";break;case y.invalid_date:r="Invalid date";break;case y.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:z.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case y.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case y.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case y.custom:r="Invalid input";break;case y.invalid_intersection_types:r="Intersection results could not be merged";break;case y.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case y.not_finite:r="Number must be finite";break;default:r=e.defaultError,z.assertNever(t)}return{message:r}},Tt=yD;var lm=Tt;function wD(t){lm=t}function an(){return lm}var mo=t=>{let{data:e,path:r,errorMaps:n,issueData:o}=t,i=[...r,...o.path||[]],s={...o,path:i};if(o.message!==void 0)return{...o,path:i,message:o.message};let a="",l=n.filter(u=>!!u).slice().reverse();for(let u of l)a=u(s,{data:e,defaultError:a}).message;return{...o,path:i,message:a}},DD=[];function D(t,e){let r=an(),n=mo({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===Tt?void 0:Tt].filter(o=>!!o)});t.common.issues.push(n)}var ve=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let o of r){if(o.status==="aborted")return P;o.status==="dirty"&&e.dirty(),n.push(o.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let o of r){let i=await o.key,s=await o.value;n.push({key:i,value:s})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let o of r){let{key:i,value:s}=o;if(i.status==="aborted"||s.status==="aborted")return P;i.status==="dirty"&&e.dirty(),s.status==="dirty"&&e.dirty(),i.value!=="__proto__"&&(typeof s.value<"u"||o.alwaysSet)&&(n[i.value]=s.value)}return{status:e.value,value:n}}},P=Object.freeze({status:"aborted"}),hr=t=>({status:"dirty",value:t}),xe=t=>({status:"valid",value:t}),Wi=t=>t.status==="aborted",Ui=t=>t.status==="dirty",Yt=t=>t.status==="valid",ln=t=>typeof Promise<"u"&&t instanceof Promise;var k;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(k||(k={}));var Ye=class{constructor(e,r,n,o){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=o}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},cm=(t,e)=>{if(Yt(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new Oe(t.common.issues);return this._error=r,this._error}}};function U(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:o}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(s,a)=>{let{message:l}=t;return s.code==="invalid_enum_value"?{message:l??a.defaultError}:typeof a.data>"u"?{message:l??n??a.defaultError}:s.code!=="invalid_type"?{message:a.defaultError}:{message:l??r??a.defaultError}},description:o}}var J=class{get description(){return this._def.description}_getType(e){return mt(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:mt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new ve,ctx:{common:e.parent.common,data:e.data,parsedType:mt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(ln(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:mt(e)},o=this._parseSync({data:e,path:n.path,parent:n});return cm(n,o)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:mt(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return Yt(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(n=>Yt(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:mt(e)},o=this._parse({data:e,path:n.path,parent:n}),i=await(ln(o)?o:Promise.resolve(o));return cm(n,i)}refine(e,r){let n=o=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,i)=>{let s=e(o),a=()=>i.addIssue({code:y.custom,...n(o)});return typeof Promise<"u"&&s instanceof Promise?s.then(l=>l?!0:(a(),!1)):s?!0:(a(),!1)})}refinement(e,r){return this._refinement((n,o)=>e(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(e){return new Xe({schema:this,typeName:N.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return Ze.create(this,this._def)}nullable(){return ht.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return It.create(this)}promise(){return er.create(this,this._def)}or(e){return xr.create([this,e],this._def)}and(e){return _r.create(this,e,this._def)}transform(e){return new Xe({...U(this._def),schema:this,typeName:N.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new Tr({...U(this._def),innerType:this,defaultValue:r,typeName:N.ZodDefault})}brand(){return new go({typeName:N.ZodBranded,type:this,...U(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Ar({...U(this._def),innerType:this,catchValue:r,typeName:N.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return ho.create(this,e)}readonly(){return Or.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},bD=/^c[^\s-]{8,}$/i,vD=/^[0-9a-z]+$/,ED=/^[0-9A-HJKMNP-TV-Z]{26}$/i,xD=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,_D=/^[a-z0-9_-]{21}$/i,CD=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,FD=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,kD=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,SD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Il,TD=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,AD=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,OD=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,ID=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,$D=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,RD=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,fm="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",PD=new RegExp(`^${fm}$`);function dm(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function jD(t){return new RegExp(`^${dm(t)}$`)}function pm(t){let e=`${fm}T${dm(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function ND(t,e){return!!((e==="v4"||!e)&&TD.test(t)||(e==="v6"||!e)&&OD.test(t))}function BD(t,e){if(!CD.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),o=JSON.parse(atob(n));return!(typeof o!="object"||o===null||"typ"in o&&o?.typ!=="JWT"||!o.alg||e&&o.alg!==e)}catch{return!1}}function MD(t,e){return!!((e==="v4"||!e)&&AD.test(t)||(e==="v6"||!e)&&ID.test(t))}var Xt=class t extends J{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==v.string){let i=this._getOrReturnCtx(e);return D(i,{code:y.invalid_type,expected:v.string,received:i.parsedType}),P}let n=new ve,o;for(let i of this._def.checks)if(i.kind==="min")e.data.length<i.value&&(o=this._getOrReturnCtx(e,o),D(o,{code:y.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="max")e.data.length>i.value&&(o=this._getOrReturnCtx(e,o),D(o,{code:y.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="length"){let s=e.data.length>i.value,a=e.data.length<i.value;(s||a)&&(o=this._getOrReturnCtx(e,o),s?D(o,{code:y.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):a&&D(o,{code:y.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),n.dirty())}else if(i.kind==="email")kD.test(e.data)||(o=this._getOrReturnCtx(e,o),D(o,{validation:"email",code:y.invalid_string,message:i.message}),n.dirty());else if(i.kind==="emoji")Il||(Il=new RegExp(SD,"u")),Il.test(e.data)||(o=this._getOrReturnCtx(e,o),D(o,{validation:"emoji",code:y.invalid_string,message:i.message}),n.dirty());else if(i.kind==="uuid")xD.test(e.data)||(o=this._getOrReturnCtx(e,o),D(o,{validation:"uuid",code:y.invalid_string,message:i.message}),n.dirty());else if(i.kind==="nanoid")_D.test(e.data)||(o=this._getOrReturnCtx(e,o),D(o,{validation:"nanoid",code:y.invalid_string,message:i.message}),n.dirty());else if(i.kind==="cuid")bD.test(e.data)||(o=this._getOrReturnCtx(e,o),D(o,{validation:"cuid",code:y.invalid_string,message:i.message}),n.dirty());else if(i.kind==="cuid2")vD.test(e.data)||(o=this._getOrReturnCtx(e,o),D(o,{validation:"cuid2",code:y.invalid_string,message:i.message}),n.dirty());else if(i.kind==="ulid")ED.test(e.data)||(o=this._getOrReturnCtx(e,o),D(o,{validation:"ulid",code:y.invalid_string,message:i.message}),n.dirty());else if(i.kind==="url")try{new URL(e.data)}catch{o=this._getOrReturnCtx(e,o),D(o,{validation:"url",code:y.invalid_string,message:i.message}),n.dirty()}else i.kind==="regex"?(i.regex.lastIndex=0,i.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),D(o,{validation:"regex",code:y.invalid_string,message:i.message}),n.dirty())):i.kind==="trim"?e.data=e.data.trim():i.kind==="includes"?e.data.includes(i.value,i.position)||(o=this._getOrReturnCtx(e,o),D(o,{code:y.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),n.dirty()):i.kind==="toLowerCase"?e.data=e.data.toLowerCase():i.kind==="toUpperCase"?e.data=e.data.toUpperCase():i.kind==="startsWith"?e.data.startsWith(i.value)||(o=this._getOrReturnCtx(e,o),D(o,{code:y.invalid_string,validation:{startsWith:i.value},message:i.message}),n.dirty()):i.kind==="endsWith"?e.data.endsWith(i.value)||(o=this._getOrReturnCtx(e,o),D(o,{code:y.invalid_string,validation:{endsWith:i.value},message:i.message}),n.dirty()):i.kind==="datetime"?pm(i).test(e.data)||(o=this._getOrReturnCtx(e,o),D(o,{code:y.invalid_string,validation:"datetime",message:i.message}),n.dirty()):i.kind==="date"?PD.test(e.data)||(o=this._getOrReturnCtx(e,o),D(o,{code:y.invalid_string,validation:"date",message:i.message}),n.dirty()):i.kind==="time"?jD(i).test(e.data)||(o=this._getOrReturnCtx(e,o),D(o,{code:y.invalid_string,validation:"time",message:i.message}),n.dirty()):i.kind==="duration"?FD.test(e.data)||(o=this._getOrReturnCtx(e,o),D(o,{validation:"duration",code:y.invalid_string,message:i.message}),n.dirty()):i.kind==="ip"?ND(e.data,i.version)||(o=this._getOrReturnCtx(e,o),D(o,{validation:"ip",code:y.invalid_string,message:i.message}),n.dirty()):i.kind==="jwt"?BD(e.data,i.alg)||(o=this._getOrReturnCtx(e,o),D(o,{validation:"jwt",code:y.invalid_string,message:i.message}),n.dirty()):i.kind==="cidr"?MD(e.data,i.version)||(o=this._getOrReturnCtx(e,o),D(o,{validation:"cidr",code:y.invalid_string,message:i.message}),n.dirty()):i.kind==="base64"?$D.test(e.data)||(o=this._getOrReturnCtx(e,o),D(o,{validation:"base64",code:y.invalid_string,message:i.message}),n.dirty()):i.kind==="base64url"?RD.test(e.data)||(o=this._getOrReturnCtx(e,o),D(o,{validation:"base64url",code:y.invalid_string,message:i.message}),n.dirty()):z.assertNever(i);return{status:n.value,value:e.data}}_regex(e,r,n){return this.refinement(o=>e.test(o),{validation:r,code:y.invalid_string,...k.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...k.errToObj(e)})}url(e){return this._addCheck({kind:"url",...k.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...k.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...k.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...k.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...k.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...k.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...k.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...k.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...k.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...k.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...k.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...k.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...k.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...k.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...k.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...k.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...k.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...k.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...k.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...k.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...k.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...k.errToObj(r)})}nonempty(e){return this.min(1,k.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};Xt.create=t=>new Xt({checks:[],typeName:N.ZodString,coerce:t?.coerce??!1,...U(t)});function LD(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,i=Number.parseInt(t.toFixed(o).replace(".","")),s=Number.parseInt(e.toFixed(o).replace(".",""));return i%s/10**o}var yr=class t extends J{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==v.number){let i=this._getOrReturnCtx(e);return D(i,{code:y.invalid_type,expected:v.number,received:i.parsedType}),P}let n,o=new ve;for(let i of this._def.checks)i.kind==="int"?z.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),D(n,{code:y.invalid_type,expected:"integer",received:"float",message:i.message}),o.dirty()):i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(n=this._getOrReturnCtx(e,n),D(n,{code:y.too_small,minimum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),o.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(n=this._getOrReturnCtx(e,n),D(n,{code:y.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),o.dirty()):i.kind==="multipleOf"?LD(e.data,i.value)!==0&&(n=this._getOrReturnCtx(e,n),D(n,{code:y.not_multiple_of,multipleOf:i.value,message:i.message}),o.dirty()):i.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),D(n,{code:y.not_finite,message:i.message}),o.dirty()):z.assertNever(i);return{status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,k.toString(r))}gt(e,r){return this.setLimit("min",e,!1,k.toString(r))}lte(e,r){return this.setLimit("max",e,!0,k.toString(r))}lt(e,r){return this.setLimit("max",e,!1,k.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:k.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:k.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:k.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:k.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:k.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:k.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:k.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:k.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:k.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:k.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&z.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(r)&&Number.isFinite(e)}};yr.create=t=>new yr({checks:[],typeName:N.ZodNumber,coerce:t?.coerce||!1,...U(t)});var wr=class t extends J{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==v.bigint)return this._getInvalidInput(e);let n,o=new ve;for(let i of this._def.checks)i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(n=this._getOrReturnCtx(e,n),D(n,{code:y.too_small,type:"bigint",minimum:i.value,inclusive:i.inclusive,message:i.message}),o.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(n=this._getOrReturnCtx(e,n),D(n,{code:y.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),o.dirty()):i.kind==="multipleOf"?e.data%i.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),D(n,{code:y.not_multiple_of,multipleOf:i.value,message:i.message}),o.dirty()):z.assertNever(i);return{status:o.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return D(r,{code:y.invalid_type,expected:v.bigint,received:r.parsedType}),P}gte(e,r){return this.setLimit("min",e,!0,k.toString(r))}gt(e,r){return this.setLimit("min",e,!1,k.toString(r))}lte(e,r){return this.setLimit("max",e,!0,k.toString(r))}lt(e,r){return this.setLimit("max",e,!1,k.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:k.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:k.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:k.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:k.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:k.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:k.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};wr.create=t=>new wr({checks:[],typeName:N.ZodBigInt,coerce:t?.coerce??!1,...U(t)});var Dr=class extends J{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==v.boolean){let n=this._getOrReturnCtx(e);return D(n,{code:y.invalid_type,expected:v.boolean,received:n.parsedType}),P}return xe(e.data)}};Dr.create=t=>new Dr({typeName:N.ZodBoolean,coerce:t?.coerce||!1,...U(t)});var br=class t extends J{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==v.date){let i=this._getOrReturnCtx(e);return D(i,{code:y.invalid_type,expected:v.date,received:i.parsedType}),P}if(Number.isNaN(e.data.getTime())){let i=this._getOrReturnCtx(e);return D(i,{code:y.invalid_date}),P}let n=new ve,o;for(let i of this._def.checks)i.kind==="min"?e.data.getTime()<i.value&&(o=this._getOrReturnCtx(e,o),D(o,{code:y.too_small,message:i.message,inclusive:!0,exact:!1,minimum:i.value,type:"date"}),n.dirty()):i.kind==="max"?e.data.getTime()>i.value&&(o=this._getOrReturnCtx(e,o),D(o,{code:y.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),n.dirty()):z.assertNever(i);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:k.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:k.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e!=null?new Date(e):null}};br.create=t=>new br({checks:[],coerce:t?.coerce||!1,typeName:N.ZodDate,...U(t)});var un=class extends J{_parse(e){if(this._getType(e)!==v.symbol){let n=this._getOrReturnCtx(e);return D(n,{code:y.invalid_type,expected:v.symbol,received:n.parsedType}),P}return xe(e.data)}};un.create=t=>new un({typeName:N.ZodSymbol,...U(t)});var vr=class extends J{_parse(e){if(this._getType(e)!==v.undefined){let n=this._getOrReturnCtx(e);return D(n,{code:y.invalid_type,expected:v.undefined,received:n.parsedType}),P}return xe(e.data)}};vr.create=t=>new vr({typeName:N.ZodUndefined,...U(t)});var Er=class extends J{_parse(e){if(this._getType(e)!==v.null){let n=this._getOrReturnCtx(e);return D(n,{code:y.invalid_type,expected:v.null,received:n.parsedType}),P}return xe(e.data)}};Er.create=t=>new Er({typeName:N.ZodNull,...U(t)});var Qt=class extends J{constructor(){super(...arguments),this._any=!0}_parse(e){return xe(e.data)}};Qt.create=t=>new Qt({typeName:N.ZodAny,...U(t)});var Ot=class extends J{constructor(){super(...arguments),this._unknown=!0}_parse(e){return xe(e.data)}};Ot.create=t=>new Ot({typeName:N.ZodUnknown,...U(t)});var st=class extends J{_parse(e){let r=this._getOrReturnCtx(e);return D(r,{code:y.invalid_type,expected:v.never,received:r.parsedType}),P}};st.create=t=>new st({typeName:N.ZodNever,...U(t)});var fn=class extends J{_parse(e){if(this._getType(e)!==v.undefined){let n=this._getOrReturnCtx(e);return D(n,{code:y.invalid_type,expected:v.void,received:n.parsedType}),P}return xe(e.data)}};fn.create=t=>new fn({typeName:N.ZodVoid,...U(t)});var It=class t extends J{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==v.array)return D(r,{code:y.invalid_type,expected:v.array,received:r.parsedType}),P;if(o.exactLength!==null){let s=r.data.length>o.exactLength.value,a=r.data.length<o.exactLength.value;(s||a)&&(D(r,{code:s?y.too_big:y.too_small,minimum:a?o.exactLength.value:void 0,maximum:s?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),n.dirty())}if(o.minLength!==null&&r.data.length<o.minLength.value&&(D(r,{code:y.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),n.dirty()),o.maxLength!==null&&r.data.length>o.maxLength.value&&(D(r,{code:y.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((s,a)=>o.type._parseAsync(new Ye(r,s,r.path,a)))).then(s=>ve.mergeArray(n,s));let i=[...r.data].map((s,a)=>o.type._parseSync(new Ye(r,s,r.path,a)));return ve.mergeArray(n,i)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:k.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:k.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:k.toString(r)}})}nonempty(e){return this.min(1,e)}};It.create=(t,e)=>new It({type:t,minLength:null,maxLength:null,exactLength:null,typeName:N.ZodArray,...U(e)});function cn(t){if(t instanceof Ie){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=Ze.create(cn(n))}return new Ie({...t._def,shape:()=>e})}else return t instanceof It?new It({...t._def,type:cn(t.element)}):t instanceof Ze?Ze.create(cn(t.unwrap())):t instanceof ht?ht.create(cn(t.unwrap())):t instanceof gt?gt.create(t.items.map(e=>cn(e))):t}var Ie=class t extends J{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=z.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==v.object){let u=this._getOrReturnCtx(e);return D(u,{code:y.invalid_type,expected:v.object,received:u.parsedType}),P}let{status:n,ctx:o}=this._processInputParams(e),{shape:i,keys:s}=this._getCached(),a=[];if(!(this._def.catchall instanceof st&&this._def.unknownKeys==="strip"))for(let u in o.data)s.includes(u)||a.push(u);let l=[];for(let u of s){let f=i[u],p=o.data[u];l.push({key:{status:"valid",value:u},value:f._parse(new Ye(o,p,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof st){let u=this._def.unknownKeys;if(u==="passthrough")for(let f of a)l.push({key:{status:"valid",value:f},value:{status:"valid",value:o.data[f]}});else if(u==="strict")a.length>0&&(D(o,{code:y.unrecognized_keys,keys:a}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let f of a){let p=o.data[f];l.push({key:{status:"valid",value:f},value:u._parse(new Ye(o,p,o.path,f)),alwaysSet:f in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let f of l){let p=await f.key,g=await f.value;u.push({key:p,value:g,alwaysSet:f.alwaysSet})}return u}).then(u=>ve.mergeObjectSync(n,u)):ve.mergeObjectSync(n,l)}get shape(){return this._def.shape()}strict(e){return k.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{let o=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:k.errToObj(e).message??o}:{message:o}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:N.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of z.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of z.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return cn(this)}partial(e){let r={};for(let n of z.objectKeys(this.shape)){let o=this.shape[n];e&&!e[n]?r[n]=o:r[n]=o.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of z.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let i=this.shape[n];for(;i instanceof Ze;)i=i._def.innerType;r[n]=i}return new t({...this._def,shape:()=>r})}keyof(){return mm(z.objectKeys(this.shape))}};Ie.create=(t,e)=>new Ie({shape:()=>t,unknownKeys:"strip",catchall:st.create(),typeName:N.ZodObject,...U(e)});Ie.strictCreate=(t,e)=>new Ie({shape:()=>t,unknownKeys:"strict",catchall:st.create(),typeName:N.ZodObject,...U(e)});Ie.lazycreate=(t,e)=>new Ie({shape:t,unknownKeys:"strip",catchall:st.create(),typeName:N.ZodObject,...U(e)});var xr=class extends J{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function o(i){for(let a of i)if(a.result.status==="valid")return a.result;for(let a of i)if(a.result.status==="dirty")return r.common.issues.push(...a.ctx.common.issues),a.result;let s=i.map(a=>new Oe(a.ctx.common.issues));return D(r,{code:y.invalid_union,unionErrors:s}),P}if(r.common.async)return Promise.all(n.map(async i=>{let s={...r,common:{...r.common,issues:[]},parent:null};return{result:await i._parseAsync({data:r.data,path:r.path,parent:s}),ctx:s}})).then(o);{let i,s=[];for(let l of n){let u={...r,common:{...r.common,issues:[]},parent:null},f=l._parseSync({data:r.data,path:r.path,parent:u});if(f.status==="valid")return f;f.status==="dirty"&&!i&&(i={result:f,ctx:u}),u.common.issues.length&&s.push(u.common.issues)}if(i)return r.common.issues.push(...i.ctx.common.issues),i.result;let a=s.map(l=>new Oe(l));return D(r,{code:y.invalid_union,unionErrors:a}),P}}get options(){return this._def.options}};xr.create=(t,e)=>new xr({options:t,typeName:N.ZodUnion,...U(e)});var At=t=>t instanceof Cr?At(t.schema):t instanceof Xe?At(t.innerType()):t instanceof Fr?[t.value]:t instanceof kr?t.options:t instanceof Sr?z.objectValues(t.enum):t instanceof Tr?At(t._def.innerType):t instanceof vr?[void 0]:t instanceof Er?[null]:t instanceof Ze?[void 0,...At(t.unwrap())]:t instanceof ht?[null,...At(t.unwrap())]:t instanceof go||t instanceof Or?At(t.unwrap()):t instanceof Ar?At(t._def.innerType):[],Vi=class t extends J{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==v.object)return D(r,{code:y.invalid_type,expected:v.object,received:r.parsedType}),P;let n=this.discriminator,o=r.data[n],i=this.optionsMap.get(o);return i?r.common.async?i._parseAsync({data:r.data,path:r.path,parent:r}):i._parseSync({data:r.data,path:r.path,parent:r}):(D(r,{code:y.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),P)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let o=new Map;for(let i of r){let s=At(i.shape[e]);if(!s.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let a of s){if(o.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);o.set(a,i)}}return new t({typeName:N.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:o,...U(n)})}};function $l(t,e){let r=mt(t),n=mt(e);if(t===e)return{valid:!0,data:t};if(r===v.object&&n===v.object){let o=z.objectKeys(e),i=z.objectKeys(t).filter(a=>o.indexOf(a)!==-1),s={...t,...e};for(let a of i){let l=$l(t[a],e[a]);if(!l.valid)return{valid:!1};s[a]=l.data}return{valid:!0,data:s}}else if(r===v.array&&n===v.array){if(t.length!==e.length)return{valid:!1};let o=[];for(let i=0;i<t.length;i++){let s=t[i],a=e[i],l=$l(s,a);if(!l.valid)return{valid:!1};o.push(l.data)}return{valid:!0,data:o}}else return r===v.date&&n===v.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}var _r=class extends J{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=(i,s)=>{if(Wi(i)||Wi(s))return P;let a=$l(i.value,s.value);return a.valid?((Ui(i)||Ui(s))&&r.dirty(),{status:r.value,value:a.data}):(D(n,{code:y.invalid_intersection_types}),P)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([i,s])=>o(i,s)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};_r.create=(t,e,r)=>new _r({left:t,right:e,typeName:N.ZodIntersection,...U(r)});var gt=class t extends J{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==v.array)return D(n,{code:y.invalid_type,expected:v.array,received:n.parsedType}),P;if(n.data.length<this._def.items.length)return D(n,{code:y.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),P;!this._def.rest&&n.data.length>this._def.items.length&&(D(n,{code:y.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let i=[...n.data].map((s,a)=>{let l=this._def.items[a]||this._def.rest;return l?l._parse(new Ye(n,s,n.path,a)):null}).filter(s=>!!s);return n.common.async?Promise.all(i).then(s=>ve.mergeArray(r,s)):ve.mergeArray(r,i)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};gt.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new gt({items:t,typeName:N.ZodTuple,rest:null,...U(e)})};var Hi=class t extends J{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==v.object)return D(n,{code:y.invalid_type,expected:v.object,received:n.parsedType}),P;let o=[],i=this._def.keyType,s=this._def.valueType;for(let a in n.data)o.push({key:i._parse(new Ye(n,a,n.path,a)),value:s._parse(new Ye(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?ve.mergeObjectAsync(r,o):ve.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof J?new t({keyType:e,valueType:r,typeName:N.ZodRecord,...U(n)}):new t({keyType:Xt.create(),valueType:e,typeName:N.ZodRecord,...U(r)})}},dn=class extends J{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==v.map)return D(n,{code:y.invalid_type,expected:v.map,received:n.parsedType}),P;let o=this._def.keyType,i=this._def.valueType,s=[...n.data.entries()].map(([a,l],u)=>({key:o._parse(new Ye(n,a,n.path,[u,"key"])),value:i._parse(new Ye(n,l,n.path,[u,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let l of s){let u=await l.key,f=await l.value;if(u.status==="aborted"||f.status==="aborted")return P;(u.status==="dirty"||f.status==="dirty")&&r.dirty(),a.set(u.value,f.value)}return{status:r.value,value:a}})}else{let a=new Map;for(let l of s){let u=l.key,f=l.value;if(u.status==="aborted"||f.status==="aborted")return P;(u.status==="dirty"||f.status==="dirty")&&r.dirty(),a.set(u.value,f.value)}return{status:r.value,value:a}}}};dn.create=(t,e,r)=>new dn({valueType:e,keyType:t,typeName:N.ZodMap,...U(r)});var pn=class t extends J{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==v.set)return D(n,{code:y.invalid_type,expected:v.set,received:n.parsedType}),P;let o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&(D(n,{code:y.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),r.dirty()),o.maxSize!==null&&n.data.size>o.maxSize.value&&(D(n,{code:y.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let i=this._def.valueType;function s(l){let u=new Set;for(let f of l){if(f.status==="aborted")return P;f.status==="dirty"&&r.dirty(),u.add(f.value)}return{status:r.value,value:u}}let a=[...n.data.values()].map((l,u)=>i._parse(new Ye(n,l,n.path,u)));return n.common.async?Promise.all(a).then(l=>s(l)):s(a)}min(e,r){return new t({...this._def,minSize:{value:e,message:k.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:k.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};pn.create=(t,e)=>new pn({valueType:t,minSize:null,maxSize:null,typeName:N.ZodSet,...U(e)});var Ji=class t extends J{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==v.function)return D(r,{code:y.invalid_type,expected:v.function,received:r.parsedType}),P;function n(a,l){return mo({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,an(),Tt].filter(u=>!!u),issueData:{code:y.invalid_arguments,argumentsError:l}})}function o(a,l){return mo({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,an(),Tt].filter(u=>!!u),issueData:{code:y.invalid_return_type,returnTypeError:l}})}let i={errorMap:r.common.contextualErrorMap},s=r.data;if(this._def.returns instanceof er){let a=this;return xe(async function(...l){let u=new Oe([]),f=await a._def.args.parseAsync(l,i).catch(h=>{throw u.addIssue(n(l,h)),u}),p=await Reflect.apply(s,this,f);return await a._def.returns._def.type.parseAsync(p,i).catch(h=>{throw u.addIssue(o(p,h)),u})})}else{let a=this;return xe(function(...l){let u=a._def.args.safeParse(l,i);if(!u.success)throw new Oe([n(l,u.error)]);let f=Reflect.apply(s,this,u.data),p=a._def.returns.safeParse(f,i);if(!p.success)throw new Oe([o(f,p.error)]);return p.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:gt.create(e).rest(Ot.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||gt.create([]).rest(Ot.create()),returns:r||Ot.create(),typeName:N.ZodFunction,...U(n)})}},Cr=class extends J{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};Cr.create=(t,e)=>new Cr({getter:t,typeName:N.ZodLazy,...U(e)});var Fr=class extends J{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return D(r,{received:r.data,code:y.invalid_literal,expected:this._def.value}),P}return{status:"valid",value:e.data}}get value(){return this._def.value}};Fr.create=(t,e)=>new Fr({value:t,typeName:N.ZodLiteral,...U(e)});function mm(t,e){return new kr({values:t,typeName:N.ZodEnum,...U(e)})}var kr=class t extends J{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return D(r,{expected:z.joinValues(n),received:r.parsedType,code:y.invalid_type}),P}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return D(r,{received:r.data,code:y.invalid_enum_value,options:n}),P}return xe(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};kr.create=mm;var Sr=class extends J{_parse(e){let r=z.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==v.string&&n.parsedType!==v.number){let o=z.objectValues(r);return D(n,{expected:z.joinValues(o),received:n.parsedType,code:y.invalid_type}),P}if(this._cache||(this._cache=new Set(z.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=z.objectValues(r);return D(n,{received:n.data,code:y.invalid_enum_value,options:o}),P}return xe(e.data)}get enum(){return this._def.values}};Sr.create=(t,e)=>new Sr({values:t,typeName:N.ZodNativeEnum,...U(e)});var er=class extends J{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==v.promise&&r.common.async===!1)return D(r,{code:y.invalid_type,expected:v.promise,received:r.parsedType}),P;let n=r.parsedType===v.promise?r.data:Promise.resolve(r.data);return xe(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};er.create=(t,e)=>new er({type:t,typeName:N.ZodPromise,...U(e)});var Xe=class extends J{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===N.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=this._def.effect||null,i={addIssue:s=>{D(n,s),s.fatal?r.abort():r.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),o.type==="preprocess"){let s=o.transform(n.data,i);if(n.common.async)return Promise.resolve(s).then(async a=>{if(r.value==="aborted")return P;let l=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return l.status==="aborted"?P:l.status==="dirty"?hr(l.value):r.value==="dirty"?hr(l.value):l});{if(r.value==="aborted")return P;let a=this._def.schema._parseSync({data:s,path:n.path,parent:n});return a.status==="aborted"?P:a.status==="dirty"?hr(a.value):r.value==="dirty"?hr(a.value):a}}if(o.type==="refinement"){let s=a=>{let l=o.refinement(a,i);if(n.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?P:(a.status==="dirty"&&r.dirty(),s(a.value),{status:r.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?P:(a.status==="dirty"&&r.dirty(),s(a.value).then(()=>({status:r.value,value:a.value}))))}if(o.type==="transform")if(n.common.async===!1){let s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Yt(s))return P;let a=o.transform(s.value,i);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(s=>Yt(s)?Promise.resolve(o.transform(s.value,i)).then(a=>({status:r.value,value:a})):P);z.assertNever(o)}};Xe.create=(t,e,r)=>new Xe({schema:t,typeName:N.ZodEffects,effect:e,...U(r)});Xe.createWithPreprocess=(t,e,r)=>new Xe({schema:e,effect:{type:"preprocess",transform:t},typeName:N.ZodEffects,...U(r)});var Ze=class extends J{_parse(e){return this._getType(e)===v.undefined?xe(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Ze.create=(t,e)=>new Ze({innerType:t,typeName:N.ZodOptional,...U(e)});var ht=class extends J{_parse(e){return this._getType(e)===v.null?xe(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};ht.create=(t,e)=>new ht({innerType:t,typeName:N.ZodNullable,...U(e)});var Tr=class extends J{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===v.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};Tr.create=(t,e)=>new Tr({innerType:t,typeName:N.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...U(e)});var Ar=class extends J{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return ln(o)?o.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Oe(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Oe(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Ar.create=(t,e)=>new Ar({innerType:t,typeName:N.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...U(e)});var mn=class extends J{_parse(e){if(this._getType(e)!==v.nan){let n=this._getOrReturnCtx(e);return D(n,{code:y.invalid_type,expected:v.nan,received:n.parsedType}),P}return{status:"valid",value:e.data}}};mn.create=t=>new mn({typeName:N.ZodNaN,...U(t)});var WD=Symbol("zod_brand"),go=class extends J{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},ho=class t extends J{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let i=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?P:i.status==="dirty"?(r.dirty(),hr(i.value)):this._def.out._parseAsync({data:i.value,path:n.path,parent:n})})();{let o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?P:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:N.ZodPipeline})}},Or=class extends J{_parse(e){let r=this._def.innerType._parse(e),n=o=>(Yt(o)&&(o.value=Object.freeze(o.value)),o);return ln(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};Or.create=(t,e)=>new Or({innerType:t,typeName:N.ZodReadonly,...U(e)});function um(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function gm(t,e={},r){return t?Qt.create().superRefine((n,o)=>{let i=t(n);if(i instanceof Promise)return i.then(s=>{if(!s){let a=um(e,n),l=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:l})}});if(!i){let s=um(e,n),a=s.fatal??r??!0;o.addIssue({code:"custom",...s,fatal:a})}}):Qt.create()}var UD={object:Ie.lazycreate},N;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(N||(N={}));var VD=(t,e={message:`Input not instance of ${t.name}`})=>gm(r=>r instanceof t,e),hm=Xt.create,ym=yr.create,HD=mn.create,JD=wr.create,wm=Dr.create,GD=br.create,zD=un.create,qD=vr.create,KD=Er.create,ZD=Qt.create,YD=Ot.create,XD=st.create,QD=fn.create,eb=It.create,tb=Ie.create,rb=Ie.strictCreate,nb=xr.create,ob=Vi.create,ib=_r.create,sb=gt.create,ab=Hi.create,lb=dn.create,cb=pn.create,ub=Ji.create,fb=Cr.create,db=Fr.create,pb=kr.create,mb=Sr.create,gb=er.create,hb=Xe.create,yb=Ze.create,wb=ht.create,Db=Xe.createWithPreprocess,bb=ho.create,vb=()=>hm().optional(),Eb=()=>ym().optional(),xb=()=>wm().optional(),_b={string:t=>Xt.create({...t,coerce:!0}),number:t=>yr.create({...t,coerce:!0}),boolean:t=>Dr.create({...t,coerce:!0}),bigint:t=>wr.create({...t,coerce:!0}),date:t=>br.create({...t,coerce:!0})};var Cb=P;function Gi(t,e=!1){let r=t.length,n=0,o="",i=0,s=16,a=0,l=0,u=0,f=0,p=0;function g(x,B){let Q=0,j=0;for(;Q<x||!B;){let I=t.charCodeAt(n);if(I>=48&&I<=57)j=j*16+I-48;else if(I>=65&&I<=70)j=j*16+I-65+10;else if(I>=97&&I<=102)j=j*16+I-97+10;else break;n++,Q++}return Q<x&&(j=-1),j}function h(x){n=x,o="",i=0,s=16,p=0}function w(){let x=n;if(t.charCodeAt(n)===48)n++;else for(n++;n<t.length&&gn(t.charCodeAt(n));)n++;if(n<t.length&&t.charCodeAt(n)===46)if(n++,n<t.length&&gn(t.charCodeAt(n)))for(n++;n<t.length&&gn(t.charCodeAt(n));)n++;else return p=3,t.substring(x,n);let B=n;if(n<t.length&&(t.charCodeAt(n)===69||t.charCodeAt(n)===101))if(n++,(n<t.length&&t.charCodeAt(n)===43||t.charCodeAt(n)===45)&&n++,n<t.length&&gn(t.charCodeAt(n))){for(n++;n<t.length&&gn(t.charCodeAt(n));)n++;B=n}else p=3;return t.substring(x,B)}function F(){let x="",B=n;for(;;){if(n>=r){x+=t.substring(B,n),p=2;break}let Q=t.charCodeAt(n);if(Q===34){x+=t.substring(B,n),n++;break}if(Q===92){if(x+=t.substring(B,n),n++,n>=r){p=2;break}switch(t.charCodeAt(n++)){case 34:x+='"';break;case 92:x+="\\";break;case 47:x+="/";break;case 98:x+="\b";break;case 102:x+="\f";break;case 110:x+=`
108
+ `;break;case 114:x+="\r";break;case 116:x+=" ";break;case 117:let I=g(4,!0);I>=0?x+=String.fromCharCode(I):p=4;break;default:p=5}B=n;continue}if(Q>=0&&Q<=31)if(yo(Q)){x+=t.substring(B,n),p=2;break}else p=6;n++}return x}function O(){if(o="",p=0,i=n,l=a,f=u,n>=r)return i=r,s=17;let x=t.charCodeAt(n);if(Rl(x)){do n++,o+=String.fromCharCode(x),x=t.charCodeAt(n);while(Rl(x));return s=15}if(yo(x))return n++,o+=String.fromCharCode(x),x===13&&t.charCodeAt(n)===10&&(n++,o+=`
109
+ `),a++,u=n,s=14;switch(x){case 123:return n++,s=1;case 125:return n++,s=2;case 91:return n++,s=3;case 93:return n++,s=4;case 58:return n++,s=6;case 44:return n++,s=5;case 34:return n++,o=F(),s=10;case 47:let B=n-1;if(t.charCodeAt(n+1)===47){for(n+=2;n<r&&!yo(t.charCodeAt(n));)n++;return o=t.substring(B,n),s=12}if(t.charCodeAt(n+1)===42){n+=2;let Q=r-1,j=!1;for(;n<Q;){let I=t.charCodeAt(n);if(I===42&&t.charCodeAt(n+1)===47){n+=2,j=!0;break}n++,yo(I)&&(I===13&&t.charCodeAt(n)===10&&n++,a++,u=n)}return j||(n++,p=1),o=t.substring(B,n),s=13}return o+=String.fromCharCode(x),n++,s=16;case 45:if(o+=String.fromCharCode(x),n++,n===r||!gn(t.charCodeAt(n)))return s=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return o+=w(),s=11;default:for(;n<r&&ne(x);)n++,x=t.charCodeAt(n);if(i!==n){switch(o=t.substring(i,n),o){case"true":return s=8;case"false":return s=9;case"null":return s=7}return s=16}return o+=String.fromCharCode(x),n++,s=16}}function ne(x){if(Rl(x)||yo(x))return!1;switch(x){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function K(){let x;do x=O();while(x>=12&&x<=15);return x}return{setPosition:h,getPosition:()=>n,scan:e?K:O,getToken:()=>s,getTokenValue:()=>o,getTokenOffset:()=>i,getTokenLength:()=>n-i,getTokenStartLine:()=>l,getTokenStartCharacter:()=>i-f,getTokenError:()=>p}}function Rl(t){return t===32||t===9}function yo(t){return t===10||t===13}function gn(t){return t>=48&&t<=57}var Dm;(function(t){t[t.lineFeed=10]="lineFeed",t[t.carriageReturn=13]="carriageReturn",t[t.space=32]="space",t[t._0=48]="_0",t[t._1=49]="_1",t[t._2=50]="_2",t[t._3=51]="_3",t[t._4=52]="_4",t[t._5=53]="_5",t[t._6=54]="_6",t[t._7=55]="_7",t[t._8=56]="_8",t[t._9=57]="_9",t[t.a=97]="a",t[t.b=98]="b",t[t.c=99]="c",t[t.d=100]="d",t[t.e=101]="e",t[t.f=102]="f",t[t.g=103]="g",t[t.h=104]="h",t[t.i=105]="i",t[t.j=106]="j",t[t.k=107]="k",t[t.l=108]="l",t[t.m=109]="m",t[t.n=110]="n",t[t.o=111]="o",t[t.p=112]="p",t[t.q=113]="q",t[t.r=114]="r",t[t.s=115]="s",t[t.t=116]="t",t[t.u=117]="u",t[t.v=118]="v",t[t.w=119]="w",t[t.x=120]="x",t[t.y=121]="y",t[t.z=122]="z",t[t.A=65]="A",t[t.B=66]="B",t[t.C=67]="C",t[t.D=68]="D",t[t.E=69]="E",t[t.F=70]="F",t[t.G=71]="G",t[t.H=72]="H",t[t.I=73]="I",t[t.J=74]="J",t[t.K=75]="K",t[t.L=76]="L",t[t.M=77]="M",t[t.N=78]="N",t[t.O=79]="O",t[t.P=80]="P",t[t.Q=81]="Q",t[t.R=82]="R",t[t.S=83]="S",t[t.T=84]="T",t[t.U=85]="U",t[t.V=86]="V",t[t.W=87]="W",t[t.X=88]="X",t[t.Y=89]="Y",t[t.Z=90]="Z",t[t.asterisk=42]="asterisk",t[t.backslash=92]="backslash",t[t.closeBrace=125]="closeBrace",t[t.closeBracket=93]="closeBracket",t[t.colon=58]="colon",t[t.comma=44]="comma",t[t.dot=46]="dot",t[t.doubleQuote=34]="doubleQuote",t[t.minus=45]="minus",t[t.openBrace=123]="openBrace",t[t.openBracket=91]="openBracket",t[t.plus=43]="plus",t[t.slash=47]="slash",t[t.formFeed=12]="formFeed",t[t.tab=9]="tab"})(Dm||(Dm={}));var kb=new Array(20).fill(0).map((t,e)=>" ".repeat(e)),hn=200,Sb={" ":{"\n":new Array(hn).fill(0).map((t,e)=>`
110
+ `+" ".repeat(e)),"\r":new Array(hn).fill(0).map((t,e)=>"\r"+" ".repeat(e)),"\r\n":new Array(hn).fill(0).map((t,e)=>`\r
111
+ `+" ".repeat(e))}," ":{"\n":new Array(hn).fill(0).map((t,e)=>`
112
+ `+" ".repeat(e)),"\r":new Array(hn).fill(0).map((t,e)=>"\r"+" ".repeat(e)),"\r\n":new Array(hn).fill(0).map((t,e)=>`\r
113
+ `+" ".repeat(e))}};var zi;(function(t){t.DEFAULT={allowTrailingComma:!1}})(zi||(zi={}));function bm(t,e=[],r=zi.DEFAULT){let n=null,o=[],i=[];function s(l){Array.isArray(o)?o.push(l):n!==null&&(o[n]=l)}return vm(t,{onObjectBegin:()=>{let l={};s(l),i.push(o),o=l,n=null},onObjectProperty:l=>{n=l},onObjectEnd:()=>{o=i.pop()},onArrayBegin:()=>{let l=[];s(l),i.push(o),o=l,n=null},onArrayEnd:()=>{o=i.pop()},onLiteralValue:s,onError:(l,u,f)=>{e.push({error:l,offset:u,length:f})}},r),o[0]}function vm(t,e,r=zi.DEFAULT){let n=Gi(t,!1),o=[],i=0;function s(X){return X?()=>i===0&&X(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter()):()=>!0}function a(X){return X?we=>i===0&&X(we,n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter()):()=>!0}function l(X){return X?we=>i===0&&X(we,n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter(),()=>o.slice()):()=>!0}function u(X){return X?()=>{i>0?i++:X(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter(),()=>o.slice())===!1&&(i=1)}:()=>!0}function f(X){return X?()=>{i>0&&i--,i===0&&X(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter())}:()=>!0}let p=u(e.onObjectBegin),g=l(e.onObjectProperty),h=f(e.onObjectEnd),w=u(e.onArrayBegin),F=f(e.onArrayEnd),O=l(e.onLiteralValue),ne=a(e.onSeparator),K=s(e.onComment),x=a(e.onError),B=r&&r.disallowComments,Q=r&&r.allowTrailingComma;function j(){for(;;){let X=n.scan();switch(n.getTokenError()){case 4:I(14);break;case 5:I(15);break;case 3:I(13);break;case 1:B||I(11);break;case 2:I(12);break;case 6:I(16);break}switch(X){case 12:case 13:B?I(10):K();break;case 16:I(1);break;case 15:case 14:break;default:return X}}}function I(X,we=[],Tc=[]){if(x(X),we.length+Tc.length>0){let Co=n.getToken();for(;Co!==17;){if(we.indexOf(Co)!==-1){j();break}else if(Tc.indexOf(Co)!==-1)break;Co=j()}}}function Cn(X){let we=n.getTokenValue();return X?O(we):(g(we),o.push(we)),j(),!0}function ls(){switch(n.getToken()){case 11:let X=n.getTokenValue(),we=Number(X);isNaN(we)&&(I(2),we=0),O(we);break;case 7:O(null);break;case 8:O(!0);break;case 9:O(!1);break;default:return!1}return j(),!0}function cs(){return n.getToken()!==10?(I(3,[],[2,5]),!1):(Cn(!1),n.getToken()===6?(ne(":"),j(),us()||I(4,[],[2,5])):I(5,[],[2,5]),o.pop(),!0)}function sh(){p(),j();let X=!1;for(;n.getToken()!==2&&n.getToken()!==17;){if(n.getToken()===5){if(X||I(4,[],[]),ne(","),j(),n.getToken()===2&&Q)break}else X&&I(6,[],[]);cs()||I(4,[],[2,5]),X=!0}return h(),n.getToken()!==2?I(7,[2],[]):j(),!0}function ah(){w(),j();let X=!0,we=!1;for(;n.getToken()!==4&&n.getToken()!==17;){if(n.getToken()===5){if(we||I(4,[],[]),ne(","),j(),n.getToken()===4&&Q)break}else we&&I(6,[],[]);X?(o.push(0),X=!1):o[o.length-1]++,us()||I(4,[],[4,5]),we=!0}return F(),X||o.pop(),n.getToken()!==4?I(8,[4],[]):j(),!0}function us(){switch(n.getToken()){case 3:return ah();case 1:return sh();case 10:return Cn(!0);default:return ls()}}return j(),n.getToken()===17?r.allowEmptyContent?!0:(I(4,[],[]),!1):us()?(n.getToken()!==17&&I(9,[],[]),!0):(I(4,[],[]),!1)}var Em;(function(t){t[t.None=0]="None",t[t.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",t[t.UnexpectedEndOfString=2]="UnexpectedEndOfString",t[t.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",t[t.InvalidUnicode=4]="InvalidUnicode",t[t.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",t[t.InvalidCharacter=6]="InvalidCharacter"})(Em||(Em={}));var xm;(function(t){t[t.OpenBraceToken=1]="OpenBraceToken",t[t.CloseBraceToken=2]="CloseBraceToken",t[t.OpenBracketToken=3]="OpenBracketToken",t[t.CloseBracketToken=4]="CloseBracketToken",t[t.CommaToken=5]="CommaToken",t[t.ColonToken=6]="ColonToken",t[t.NullKeyword=7]="NullKeyword",t[t.TrueKeyword=8]="TrueKeyword",t[t.FalseKeyword=9]="FalseKeyword",t[t.StringLiteral=10]="StringLiteral",t[t.NumericLiteral=11]="NumericLiteral",t[t.LineCommentTrivia=12]="LineCommentTrivia",t[t.BlockCommentTrivia=13]="BlockCommentTrivia",t[t.LineBreakTrivia=14]="LineBreakTrivia",t[t.Trivia=15]="Trivia",t[t.Unknown=16]="Unknown",t[t.EOF=17]="EOF"})(xm||(xm={}));var Ir=bm;var _m;(function(t){t[t.InvalidSymbol=1]="InvalidSymbol",t[t.InvalidNumberFormat=2]="InvalidNumberFormat",t[t.PropertyNameExpected=3]="PropertyNameExpected",t[t.ValueExpected=4]="ValueExpected",t[t.ColonExpected=5]="ColonExpected",t[t.CommaExpected=6]="CommaExpected",t[t.CloseBraceExpected=7]="CloseBraceExpected",t[t.CloseBracketExpected=8]="CloseBracketExpected",t[t.EndOfFileExpected=9]="EndOfFileExpected",t[t.InvalidCommentToken=10]="InvalidCommentToken",t[t.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",t[t.UnexpectedEndOfString=12]="UnexpectedEndOfString",t[t.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",t[t.InvalidUnicode=14]="InvalidUnicode",t[t.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",t[t.InvalidCharacter=16]="InvalidCharacter"})(_m||(_m={}));var xn=m(require("fs")),Rm=m(require("path"));var yn=class extends Error{remediation;documentationUrl;cause;constructor(e,r){super(e),this.name="FrameworkError",this.cause=r?.cause,this.remediation=r?.remediation,this.documentationUrl=r?.documentationUrl,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}toDisplayString(){let e=this.message;return this.remediation&&(e+=`
130
114
 
131
- How to fix: ${this.remediation}`),this.documentationUrl&&(t+=`
115
+ How to fix: ${this.remediation}`),this.documentationUrl&&(e+=`
132
116
 
133
- Documentation: ${this.documentationUrl}`),t}},he=class extends Zr{constructor(t,n){super(t,n),this.name="FrameworkValidationError"}};var Qn=class extends Zr{configFile;constructor(t,n){super(t,n),this.name="FrameworkConfigError",this.configFile=n?.configFile}toDisplayString(){let t=super.toDisplayString();return this.configFile&&(t+=`
117
+ Documentation: ${this.documentationUrl}`),e}},ye=class extends yn{constructor(e,r){super(e,r),this.name="FrameworkValidationError"}};var $r=class extends yn{configFile;constructor(e,r){super(e,r),this.name="FrameworkConfigError",this.configFile=r?.configFile}toDisplayString(){let e=super.toDisplayString();return this.configFile&&(e+=`
134
118
 
135
- Config file: ${this.configFile}`),t}},hn=class extends Zr{constructor(t,n){super(t,n),this.name="FrameworkDetectionError"}};var Re=w(require("path")),ri=w(require("fs"));var tt=class{static frameworkName="";ctx;constructor(t){this.ctx=t}static detect(t,n){return{detected:!1}}static detectFromBuiltOutput(t){return!1}static getOutputDeployMetadata(){throw new Error("getOutputDeployMetadata must be implemented by the framework subclass")}getOutputDeployMetadata(){return this.constructor.getOutputDeployMetadata()}async postBuild(){}getAdditionalConfigFiles(){return[]}getUserConfigPatterns(){return[]}hasDependency(t){let{packageJson:n}=this.ctx;return t in(n.dependencies||{})||t in(n.devDependencies||{})}getDependencyVersion(t){let{packageJson:n}=this.ctx;return n.dependencies?.[t]||n.devDependencies?.[t]}get log(){return this.ctx.log}get cwd(){return this.ctx.cwd}};var ib=w(require("semver")),me=w(require("fs")),Et=w(require("path"));var er=w(require("semver"));function W2(){return process.version.slice(1)}function U2(e){let t=er.coerce(e);return t?t.major:null}function z2(e,t){let n=er.coerce(e),r=er.coerce(t);return!n||!r?!1:er.gte(n,r)}function Kr(e,t,n){let r=W2(),o=t.minimum;if(z2(r,o))e.debug(`Node.js version ${r} meets requirement ${o}`);else{let i=U2(o),s=`${n} requires Node.js ${o} or higher. Current version: ${r}`;if(t.severity==="error")throw new he(s,{remediation:`Please upgrade Node.js to ${o} or higher. You can use nvm, fnm, or similar tools to manage Node.js versions.
119
+ Config file: ${this.configFile}`),e}},tr=class extends yn{constructor(e,r){super(e,r),this.name="FrameworkDetectionError"}};var Re=m(require("path")),Do=m(require("fs"));var Qe=class{static frameworkName="";ctx;constructor(e){this.ctx=e}static detect(e,r){return{detected:!1}}static detectFromBuiltOutput(e){return!1}static getOutputDeployMetadata(){throw new Error("getOutputDeployMetadata must be implemented by the framework subclass")}getOutputDeployMetadata(){return this.constructor.getOutputDeployMetadata()}async postBuild(){}getAdditionalConfigFiles(){return[]}getUserConfigPatterns(){return[]}hasDependency(e){let{packageJson:r}=this.ctx;return e in(r.dependencies||{})||e in(r.devDependencies||{})}getDependencyVersion(e){let{packageJson:r}=this.ctx;return r.dependencies?.[e]||r.devDependencies?.[e]}get log(){return this.ctx.log}get cwd(){return this.ctx.cwd}};var Am=m(require("semver")),pe=m(require("fs")),yt=m(require("path"));var Rr=m(require("semver"));function Pb(){return process.version.slice(1)}function jb(t){let e=Rr.coerce(t);return e?e.major:null}function Nb(t,e){let r=Rr.coerce(t),n=Rr.coerce(e);return!r||!n?!1:Rr.gte(r,n)}function wn(t,e,r){let n=Pb(),o=e.minimum;if(Nb(n,o))t.debug(`Node.js version ${n} meets requirement ${o}`);else{let i=jb(o),s=`${r} requires Node.js ${o} or higher. Current version: ${n}`;if(e.severity==="error")throw new ye(s,{remediation:`Please upgrade Node.js to ${o} or higher. You can use nvm, fnm, or similar tools to manage Node.js versions.
136
120
 
137
121
  nvm install ${i}
138
- nvm use ${i}`,documentationUrl:"https://nodejs.org/en/download/"});e.warn(`${s}. Build may fail or behave unexpectedly.`)}}var Xs=w(require("fs")),eb=w(require("path"));var tb=U.object({name:U.string().optional(),version:U.string().optional(),dependencies:U.record(U.string()).optional(),devDependencies:U.record(U.string()).optional()});function ni(e){let t=eb.default.join(e,"package.json");if(!Xs.statSync(t,{throwIfNoEntry:!1}))return;let n=Xs.readFileSync(t).toString("utf8"),r;try{r=JSON.parse(n)}catch(o){throw new he("package.json was not valid JSON",{cause:o})}try{return tb.parse(r)}catch(o){throw new he("package.json schema validation failed",{cause:o})}}var Qs=w(require("fs")),nb=w(require("path"));var ea=U.object({cloud:U.object({framework:U.string().optional(),assets_path_prefix:U.string().optional(),entrypoint_path:U.string().optional(),deployment_type:U.enum(["spa","ssg","ssr","ssr-spa-combo"]).optional(),skip_no_bundle:U.boolean().optional(),assets_source_skip_mount_path:U.boolean().optional()}).passthrough().optional()}).passthrough();function Yr(e,t,n="webflow.json"){let r=nb.default.join(t,n);if(!Qs.statSync(r,{throwIfNoEntry:!1}))return n.endsWith(".json")?Yr(e,t,n+"c"):void 0;let o=Qs.readFileSync(r).toString("utf8"),i;try{i=Xn(o)}catch(s){e?.error(`loaded but could not parse as JSONC ${r} ${JSON.stringify(o)}: ${s}`);return}try{let s=ea.parse(i);return e.debug(`loaded ${r}: ${JSON.stringify(s)}`),s}catch(s){e?.error(`${r} was valid JSON but schema validation failed: ${s}`);return}}var rb=require("child_process"),ob=["--no-update-notifier","--no-progress","--no-audit","--no-fund"];async function je(e){let{log:t,cwd:n,args:r}=e,o={...process.env,...e.env||{},WRANGLER_SEND_METRICS:"false",NEXT_TELEMETRY_DISABLED:"1"},i=[...ob,...r];t.debug(`npm ${i.join(" ")} (in ${n})`),(0,rb.execSync)(`npm ${i.map(s=>JSON.stringify(s)).join(" ")}`,{cwd:n,env:o,stdio:"inherit"})}function yn(e){if(!e)return null;let t=ib.coerce(e);return t?t.major:null}function tr(e,t,n,r){let o=r?.exclude?Array.isArray(r.exclude)?r.exclude:[r.exclude]:[],i=Et.basename(t);if(o.some(l=>i===l))return e.trace(`Skipping excluded: ${t}`),0;let s=me.statSync(t,{throwIfNoEntry:!1});if(!s)return e.trace(`Source does not exist: ${t}`),0;if(s.isDirectory()){e.trace(`Copying directory: ${t} -> ${n}`);let l=me.readdirSync(t),c=0;for(let u of l)c+=tr(e,Et.join(t,u),Et.join(n,u),r);return c}let a=Et.dirname(n);return me.existsSync(a)||me.mkdirSync(a,{recursive:!0}),e.trace(`Copying file: ${t} -> ${n}`),me.copyFileSync(t,n),1}function pt(e){return me.existsSync(e)}function Ft(...e){for(let t of e)if(me.existsSync(t))return t;return e[0]??""}async function wn(e,t,n,r){if(!me.existsSync(t))throw new Qn(`Template not found: ${t}`,{configFile:t});let o=me.readFileSync(t,"utf8");e.debug(`envsubst: ${t} -> ${n}`);let i=r||process.env,s=o.replace(/\$\{([A-Za-z_][A-Za-z0-9_]*)\}/g,(l,c)=>i[c]??"").replace(/\$([A-Za-z_][A-Za-z0-9_]*)/g,(l,c)=>i[c]??""),a=Et.dirname(n);me.existsSync(a)||me.mkdirSync(a,{recursive:!0}),me.writeFileSync(n,s)}function bn(e,t,n,r){for(let o of r){let i=Et.join(t,`${n}.${o}`);if(me.existsSync(i)){let s=Et.join(t,`clouduser.${n}.${o}`);return e.info(`Renaming user config: ${n}.${o} -> clouduser.${n}.${o}`),me.renameSync(i,s),s}}return null}var Ou=Ft(Re.join(__dirname,"templates","astro","v5"),Re.join(__dirname,"templates","v5")),sb=Ft(Re.join(__dirname,"templates","astro"),Re.join(__dirname,"templates")),nr=class extends tt{static frameworkName="astro";get info(){return{name:"astro",version:"5.x",displayName:"Astro 5"}}static detect(t,n){let r=n?.cloud?.framework;if(r&&r!=="astro")return{detected:!1};let o=t.dependencies?.astro||t.devDependencies?.astro;if(!o)return r==="astro"?{detected:!0,reason:"Specified as astro in webflow.json"}:{detected:!1};let i=yn(o);return i!==null&&i>=6?{detected:!1}:{detected:!0,reason:`Found astro@${o}`}}async validate(){let{log:t,packageJson:n}=this.ctx,r=this.getNodeVersionRequirement();r&&Kr(t,r,this.info.displayName);let o=n.dependencies?.astro||n.devDependencies?.astro;if(!o)throw new he("Astro is not installed in this project.",{remediation:"Install Astro by running: npm install astro@^5.0.0",documentationUrl:"https://docs.astro.build/en/install/"});if(o==="latest")throw new he('Astro version "latest" is not supported by Webflow Cloud.',{remediation:"Please specify a version, e.g.: npm install astro@^5.0.0"});let i=yn(o);if(i!==null&&i>=6)throw new he(`Astro ${i}.x detected but was routed to the Astro 5 builder. This is an internal error.`,{remediation:"Ensure your package.json has astro@^6.0.0 - the Astro 6 builder will be used automatically. If this persists, please report the issue."});t.info(`Validated Astro project: astro@${o}`)}getCloudflareAdapter(){return{name:"@astrojs/cloudflare",version:"^12.0.0"}}getRequiredIntegrations(){return[{name:"@astrojs/react",version:"^4.0.0",reason:"Required for Webflow React components"}]}async installDependencies(){let{log:t,cwd:n}=this.ctx,r=this.getCloudflareAdapter();this.hasDependency(r.name)||(t.warn(`Installing ${r.name}@${r.version} (required for Cloudflare deployment)...`),await je({log:t,cwd:n,args:["install","--save",`${r.name}@${r.version}`]}));for(let o of this.getRequiredIntegrations())this.hasDependency(o.name)||(t.warn(`Installing ${o.name}@${o.version} (${o.reason})...`),await je({log:t,cwd:n,args:["install","--save",`${o.name}@${o.version}`]}))}getWebflowLoader(){return{templatePath:Re.join(Ou,"webflow-loader.ts"),destinationName:"webflow-loader.ts",configPath:"./webflow-loader.ts"}}getUserConfigPatterns(){return["astro.config.mjs","astro.config.cjs","astro.config.js","astro.config.ts"]}getWranglerTemplatePath(){return Re.join(Ou,"wrangler.json")}getAdditionalConfigFiles(){return[this.getWebflowLoader().templatePath,Re.join(sb,"astro.config.webflow.ts")]}async prepareConfig(){let{log:t,cwd:n,userEnv:r}=this.ctx;bn(t,n,"astro.config",["mjs","cjs","js","ts"])===null&&(t.info("no user astro.config.{mjs,cjs,js,ts} found \u2014 writing empty clouduser.astro.config.mjs stub"),ri.writeFileSync(Re.join(n,"clouduser.astro.config.mjs"),`export default {};
139
- `));let i=Re.join(sb,"astro.config.webflow.ts");pt(i)&&(t.info("Copying astro.config.webflow.ts..."),ri.copyFileSync(i,Re.join(n,"astro.config.webflow.ts")));let s=Re.join(Ou,"astro.config.mjs.template"),a=Re.join(n,"astro.config.mjs");t.info("Generating astro.config.mjs from template..."),await wn(t,s,a,{...process.env,...r});let l=this.getWebflowLoader();pt(l.templatePath)&&(t.info(`Copying ${l.destinationName}...`),ri.copyFileSync(l.templatePath,Re.join(n,l.destinationName)))}getBuildCommand(){return"astro build"}getNodeVersionRequirement(){return{minimum:"18.0.0",severity:"error"}}static getOutputDeployMetadata(){return{staticAssetsPath:"dist",staticAssetsExclude:["_worker.js"],workerEntryPath:"dist/_worker.js/index.js",deploymentType:"ssr",dryRunEntryPath:"./index.js"}}};var $e=w(require("path")),oi=w(require("fs"));var Pu=Ft($e.join(__dirname,"templates","astro","v6"),$e.join(__dirname,"templates","v6")),ab=Ft($e.join(__dirname,"templates","astro"),$e.join(__dirname,"templates")),rr=class extends tt{static frameworkName="astro";get info(){return{name:"astro",version:"6.x",displayName:"Astro 6"}}static detect(t,n){let r=n?.cloud?.framework;if(r&&r!=="astro")return{detected:!1};let o=t.dependencies?.astro||t.devDependencies?.astro;if(!o)return{detected:!1};let i=yn(o);return i!==null&&i>=6?{detected:!0,reason:`Found astro@${o} (Astro ${i}.x)`}:{detected:!1}}async validate(){let{log:t,packageJson:n}=this.ctx,r=this.getNodeVersionRequirement();r&&Kr(t,r,this.info.displayName);let o=n.dependencies?.astro||n.devDependencies?.astro;if(!o)throw new he("Astro is not installed in this project.",{remediation:"Install Astro by running: npm install astro@^6.0.0",documentationUrl:"https://docs.astro.build/en/install/"});if(o==="latest")throw new he('Astro version "latest" is not supported by Webflow Cloud.',{remediation:"Please specify a version, e.g.: npm install astro@^6.0.0"});let i=yn(o);if(i!==null&&i<6)throw new he(`Astro ${i}.x detected but Astro6Builder was selected. This is likely a configuration error.`,{remediation:"Use Astro5Builder for Astro 5.x projects, or upgrade: npm install astro@^6.0.0"});t.info(`Validated Astro 6 project: astro@${o}`)}getCloudflareAdapter(){return{name:"@astrojs/cloudflare",version:"^13.0.0",peerDependencies:["@cloudflare/vite-plugin"]}}getRequiredIntegrations(){return[{name:"@astrojs/react",version:"^5.0.0",reason:"Required for Webflow React components"}]}async installDependencies(){let{log:t,cwd:n}=this.ctx,r=this.getCloudflareAdapter();if(this.hasDependency(r.name)||(t.warn(`Installing ${r.name}@${r.version} (required for Cloudflare deployment)...`),await je({log:t,cwd:n,args:["install","--save",`${r.name}@${r.version}`]})),r.peerDependencies)for(let o of r.peerDependencies)this.hasDependency(o)||(t.warn(`Installing ${o} (peer dependency of ${r.name})...`),await je({log:t,cwd:n,args:["install","--save",o]}));for(let o of this.getRequiredIntegrations())this.hasDependency(o.name)||(t.warn(`Installing ${o.name}@${o.version} (${o.reason})...`),await je({log:t,cwd:n,args:["install","--save",`${o.name}@${o.version}`]}))}getWebflowLoader(){return{templatePath:$e.join(Pu,"webflow-loader.ts"),destinationName:"webflow-loader.ts",configPath:"./webflow-loader.ts"}}getUserConfigPatterns(){return["astro.config.mjs","astro.config.cjs","astro.config.js","astro.config.ts"]}getWranglerTemplatePath(){return $e.join(Pu,"wrangler.json")}getAdditionalConfigFiles(){return[this.getWebflowLoader().templatePath,$e.join(ab,"astro.config.webflow.ts")]}async prepareConfig(){let{log:t,cwd:n,userEnv:r}=this.ctx;bn(t,n,"astro.config",["mjs","cjs","js","ts"])===null&&(t.info("no user astro.config.{mjs,cjs,js,ts} found \u2014 writing empty clouduser.astro.config.mjs stub"),oi.writeFileSync($e.join(n,"clouduser.astro.config.mjs"),`export default {};
140
- `));let i=$e.join(ab,"astro.config.webflow.ts");pt(i)&&(t.info("Copying astro.config.webflow.ts..."),oi.copyFileSync(i,$e.join(n,"astro.config.webflow.ts")));let s=$e.join(Pu,"astro.config.mjs.template"),a=$e.join(n,"astro.config.mjs");t.info("Generating astro.config.mjs from template (Astro 6)..."),await wn(t,s,a,{...process.env,...r});let l=this.getWebflowLoader();pt(l.templatePath)&&(t.info(`Copying ${l.destinationName}...`),oi.copyFileSync(l.templatePath,$e.join(n,l.destinationName)))}getBuildCommand(){return"astro build"}getNodeVersionRequirement(){return{minimum:"22.12.0",severity:"error"}}static getOutputDeployMetadata(){return{staticAssetsPath:"dist/client",workerEntryPath:"dist/server/entry.mjs",wranglerMainOverride:"@astrojs/cloudflare/entrypoints/server",deploymentType:"ssr",usesAssetsBinding:!0,skipNoBundle:!0,assetsSourceSkipMountPath:!0,dryRunEntryPath:"./entry.mjs"}}};var ge=w(require("path")),nt=w(require("fs"));var Xr=Ft(ge.join(__dirname,"templates","nextjs"),ge.join(__dirname,"templates")),Qr=class extends tt{static frameworkName="nextjs";get info(){return{name:"nextjs",version:"*",displayName:"Next.js"}}static detect(t,n){let r=n?.cloud?.framework;return r==="nextjs"?{detected:!0,reason:"Specified as nextjs in webflow.json"}:r&&r!=="nextjs"?{detected:!1}:t.dependencies?.next!==void 0||t.devDependencies?.next!==void 0?{detected:!0,reason:'Found "next" in package.json'}:{detected:!1}}async validate(){let{log:t,packageJson:n}=this.ctx,r=n.dependencies?.next||n.devDependencies?.next;if(!r)throw new he("Next.js is not installed in this project.",{remediation:"Install Next.js by running: npm install next",documentationUrl:"https://nextjs.org/docs/getting-started/installation"});t.info(`Validated Next.js project: next@${r}`)}getCloudflareAdapter(){return{name:"@opennextjs/cloudflare",version:"*"}}getRequiredIntegrations(){return[]}async installDependencies(){let{log:t,cwd:n}=this.ctx,r=this.getCloudflareAdapter();this.hasDependency(r.name)||(t.warn("nextjs integration requires @opennextjs/cloudflare and this project doesn't have it. installing now..."),await je({log:t,cwd:n,args:["install","--save",r.name]}))}getWebflowLoader(){return{templatePath:ge.join(Xr,"webflow-loader.ts"),destinationName:"webflow-loader.ts",configPath:"./webflow-loader.ts"}}getUserConfigPatterns(){return["next.config.mjs","next.config.cjs","next.config.js","next.config.ts"]}getWranglerTemplatePath(){return ge.join(Xr,"wrangler.json")}getAdditionalConfigFiles(){return[this.getWebflowLoader().templatePath,ge.join(Xr,"open-next.config.ts")]}findOpenNextConfig(){let t="open-next.config.ts";if(nt.existsSync(ge.join(this.cwd,t)))return t}ensureOpenNextConfig(t){let{log:n,cwd:r}=this.ctx,o=this.findOpenNextConfig();if(o){n.info(`${o} found, skipping creation (opennextjs-cloudflare will validate)`);return}if(n.info("open-next.config not found, creating open-next.config.ts with default Webflow Cloud configuration..."),!nt.existsSync(t))throw new Qn(`open-next.config.ts template not found at ${t}. This is a Webflow Cloud build system error.`,{configFile:t});let i=ge.join(r,"open-next.config.ts");nt.copyFileSync(t,i),n.info("open-next.config.ts created successfully")}async prepareConfig(){let{log:t,cwd:n,userEnv:r}=this.ctx,o=bn(t,n,"next.config",["mjs","cjs","js","ts"]);o===null?(t.info("no user next.config.{mjs,cjs,js,ts} found \u2014 writing empty clouduser.next.config.ts stub"),nt.writeFileSync(ge.join(n,"clouduser.next.config.ts"),`export default {};
141
- `)):ge.extname(o)!==".ts"&&(t.info(`writing clouduser.next.config.d.ts shim for ${ge.basename(o)}`),nt.writeFileSync(ge.join(n,"clouduser.next.config.d.ts"),`import type { UserNextConfig } from './next.config.webflow';
122
+ nvm use ${i}`,documentationUrl:"https://nodejs.org/en/download/"});t.warn(`${s}. Build may fail or behave unexpectedly.`)}}var qi=m(require("fs")),Cm=m(require("path"));var Fm=L.object({name:L.string().optional(),version:L.string().optional(),dependencies:L.record(L.string()).optional(),devDependencies:L.record(L.string()).optional()});function wo(t){let e=Cm.default.join(t,"package.json");if(!qi.statSync(e,{throwIfNoEntry:!1}))return;let r=qi.readFileSync(e).toString("utf8"),n;try{n=JSON.parse(r)}catch(o){throw new ye("package.json was not valid JSON",{cause:o})}try{return Fm.parse(n)}catch(o){throw new ye("package.json schema validation failed",{cause:o})}}var Ki=m(require("fs")),km=m(require("path"));var Zi=L.object({cloud:L.object({framework:L.string().optional(),assets_path_prefix:L.string().optional(),entrypoint_path:L.string().optional(),deployment_type:L.enum(["spa","ssg","ssr","ssr-spa-combo"]).optional(),skip_no_bundle:L.boolean().optional(),assets_source_skip_mount_path:L.boolean().optional()}).passthrough().optional()}).passthrough();function Dn(t,e,r="webflow.json"){let n=km.default.join(e,r);if(!Ki.statSync(n,{throwIfNoEntry:!1}))return r.endsWith(".json")?Dn(t,e,r+"c"):void 0;let o=Ki.readFileSync(n).toString("utf8"),i;try{i=Ir(o)}catch(s){t?.error(`loaded but could not parse as JSONC ${n} ${JSON.stringify(o)}: ${s}`);return}try{let s=Zi.parse(i);return t.debug(`loaded ${n}: ${JSON.stringify(s)}`),s}catch(s){t?.error(`${n} was valid JSON but schema validation failed: ${s}`);return}}var Sm=require("child_process"),Tm=["--no-update-notifier","--no-progress","--no-audit","--no-fund"];async function $e(t){let{log:e,cwd:r,args:n}=t,o={...process.env,...t.env||{},WRANGLER_SEND_METRICS:"false",NEXT_TELEMETRY_DISABLED:"1"},i=[...Tm,...n];e.debug(`npm ${i.join(" ")} (in ${r})`),(0,Sm.execSync)(`npm ${i.map(s=>JSON.stringify(s)).join(" ")}`,{cwd:r,env:o,stdio:"inherit"})}function rr(t){if(!t)return null;let e=Am.coerce(t);return e?e.major:null}function Pr(t,e,r,n){let o=n?.exclude?Array.isArray(n.exclude)?n.exclude:[n.exclude]:[],i=yt.basename(e);if(o.some(l=>i===l))return t.trace(`Skipping excluded: ${e}`),0;let s=pe.statSync(e,{throwIfNoEntry:!1});if(!s)return t.trace(`Source does not exist: ${e}`),0;if(s.isDirectory()){t.trace(`Copying directory: ${e} -> ${r}`);let l=pe.readdirSync(e),u=0;for(let f of l)u+=Pr(t,yt.join(e,f),yt.join(r,f),n);return u}let a=yt.dirname(r);return pe.existsSync(a)||pe.mkdirSync(a,{recursive:!0}),t.trace(`Copying file: ${e} -> ${r}`),pe.copyFileSync(e,r),1}function at(t){return pe.existsSync(t)}function wt(...t){for(let e of t)if(pe.existsSync(e))return e;return t[0]??""}async function nr(t,e,r,n){if(!pe.existsSync(e))throw new $r(`Template not found: ${e}`,{configFile:e});let o=pe.readFileSync(e,"utf8");t.debug(`envsubst: ${e} -> ${r}`);let i=n||process.env,s=o.replace(/\$\{([A-Za-z_][A-Za-z0-9_]*)\}/g,(l,u)=>i[u]??"").replace(/\$([A-Za-z_][A-Za-z0-9_]*)/g,(l,u)=>i[u]??""),a=yt.dirname(r);pe.existsSync(a)||pe.mkdirSync(a,{recursive:!0}),pe.writeFileSync(r,s)}function or(t,e,r,n){for(let o of n){let i=yt.join(e,`${r}.${o}`);if(pe.existsSync(i)){let s=yt.join(e,`clouduser.${r}.${o}`);return t.info(`Renaming user config: ${r}.${o} -> clouduser.${r}.${o}`),pe.renameSync(i,s),s}}return null}var jl=wt(Re.join(__dirname,"templates","astro","v5"),Re.join(__dirname,"templates","v5")),Om=wt(Re.join(__dirname,"templates","astro"),Re.join(__dirname,"templates")),jr=class extends Qe{static frameworkName="astro";get info(){return{name:"astro",version:"5.x",displayName:"Astro 5"}}static detect(e,r){let n=r?.cloud?.framework;if(n&&n!=="astro")return{detected:!1};let o=e.dependencies?.astro||e.devDependencies?.astro;if(!o)return n==="astro"?{detected:!0,reason:"Specified as astro in webflow.json"}:{detected:!1};let i=rr(o);return i!==null&&i>=6?{detected:!1}:{detected:!0,reason:`Found astro@${o}`}}async validate(){let{log:e,packageJson:r}=this.ctx,n=this.getNodeVersionRequirement();n&&wn(e,n,this.info.displayName);let o=r.dependencies?.astro||r.devDependencies?.astro;if(!o)throw new ye("Astro is not installed in this project.",{remediation:"Install Astro by running: npm install astro@^5.0.0",documentationUrl:"https://docs.astro.build/en/install/"});if(o==="latest")throw new ye('Astro version "latest" is not supported by Webflow Cloud.',{remediation:"Please specify a version, e.g.: npm install astro@^5.0.0"});let i=rr(o);if(i!==null&&i>=6)throw new ye(`Astro ${i}.x detected but was routed to the Astro 5 builder. This is an internal error.`,{remediation:"Ensure your package.json has astro@^6.0.0 - the Astro 6 builder will be used automatically. If this persists, please report the issue."});e.info(`Validated Astro project: astro@${o}`)}getCloudflareAdapter(){return{name:"@astrojs/cloudflare",version:"^12.0.0"}}getRequiredIntegrations(){return[{name:"@astrojs/react",version:"^4.0.0",reason:"Required for Webflow React components"}]}async installDependencies(){let{log:e,cwd:r}=this.ctx,n=this.getCloudflareAdapter();this.hasDependency(n.name)||(e.warn(`Installing ${n.name}@${n.version} (required for Cloudflare deployment)...`),await $e({log:e,cwd:r,args:["install","--save",`${n.name}@${n.version}`]}));for(let o of this.getRequiredIntegrations())this.hasDependency(o.name)||(e.warn(`Installing ${o.name}@${o.version} (${o.reason})...`),await $e({log:e,cwd:r,args:["install","--save",`${o.name}@${o.version}`]}))}getWebflowLoader(){return{templatePath:Re.join(jl,"webflow-loader.ts"),destinationName:"webflow-loader.ts",configPath:"./webflow-loader.ts"}}getUserConfigPatterns(){return["astro.config.mjs","astro.config.cjs","astro.config.js","astro.config.ts"]}getWranglerTemplatePath(){return Re.join(jl,"wrangler.json")}getAdditionalConfigFiles(){return[this.getWebflowLoader().templatePath,Re.join(Om,"astro.config.webflow.ts")]}async prepareConfig(){let{log:e,cwd:r,userEnv:n}=this.ctx;or(e,r,"astro.config",["mjs","cjs","js","ts"])===null&&(e.info("no user astro.config.{mjs,cjs,js,ts} found \u2014 writing empty clouduser.astro.config.mjs stub"),Do.writeFileSync(Re.join(r,"clouduser.astro.config.mjs"),`export default {};
123
+ `));let i=Re.join(Om,"astro.config.webflow.ts");at(i)&&(e.info("Copying astro.config.webflow.ts..."),Do.copyFileSync(i,Re.join(r,"astro.config.webflow.ts")));let s=Re.join(jl,"astro.config.mjs.template"),a=Re.join(r,"astro.config.mjs");e.info("Generating astro.config.mjs from template..."),await nr(e,s,a,{...process.env,...n});let l=this.getWebflowLoader();at(l.templatePath)&&(e.info(`Copying ${l.destinationName}...`),Do.copyFileSync(l.templatePath,Re.join(r,l.destinationName)))}getBuildCommand(){return"astro build"}getNodeVersionRequirement(){return{minimum:"18.0.0",severity:"error"}}static getOutputDeployMetadata(){return{staticAssetsPath:"dist",staticAssetsExclude:["_worker.js"],workerEntryPath:"dist/_worker.js/index.js",deploymentType:"ssr",dryRunEntryPath:"./index.js"}}};var Pe=m(require("path")),bo=m(require("fs"));var Nl=wt(Pe.join(__dirname,"templates","astro","v6"),Pe.join(__dirname,"templates","v6")),Im=wt(Pe.join(__dirname,"templates","astro"),Pe.join(__dirname,"templates")),Nr=class extends Qe{static frameworkName="astro";get info(){return{name:"astro",version:"6.x",displayName:"Astro 6"}}static detect(e,r){let n=r?.cloud?.framework;if(n&&n!=="astro")return{detected:!1};let o=e.dependencies?.astro||e.devDependencies?.astro;if(!o)return{detected:!1};let i=rr(o);return i!==null&&i>=6?{detected:!0,reason:`Found astro@${o} (Astro ${i}.x)`}:{detected:!1}}async validate(){let{log:e,packageJson:r}=this.ctx,n=this.getNodeVersionRequirement();n&&wn(e,n,this.info.displayName);let o=r.dependencies?.astro||r.devDependencies?.astro;if(!o)throw new ye("Astro is not installed in this project.",{remediation:"Install Astro by running: npm install astro@^6.0.0",documentationUrl:"https://docs.astro.build/en/install/"});if(o==="latest")throw new ye('Astro version "latest" is not supported by Webflow Cloud.',{remediation:"Please specify a version, e.g.: npm install astro@^6.0.0"});let i=rr(o);if(i!==null&&i<6)throw new ye(`Astro ${i}.x detected but Astro6Builder was selected. This is likely a configuration error.`,{remediation:"Use Astro5Builder for Astro 5.x projects, or upgrade: npm install astro@^6.0.0"});e.info(`Validated Astro 6 project: astro@${o}`)}getCloudflareAdapter(){return{name:"@astrojs/cloudflare",version:"^13.0.0",peerDependencies:["@cloudflare/vite-plugin"]}}getRequiredIntegrations(){return[{name:"@astrojs/react",version:"^5.0.0",reason:"Required for Webflow React components"}]}async installDependencies(){let{log:e,cwd:r}=this.ctx,n=this.getCloudflareAdapter();if(this.hasDependency(n.name)||(e.warn(`Installing ${n.name}@${n.version} (required for Cloudflare deployment)...`),await $e({log:e,cwd:r,args:["install","--save",`${n.name}@${n.version}`]})),n.peerDependencies)for(let o of n.peerDependencies)this.hasDependency(o)||(e.warn(`Installing ${o} (peer dependency of ${n.name})...`),await $e({log:e,cwd:r,args:["install","--save",o]}));for(let o of this.getRequiredIntegrations())this.hasDependency(o.name)||(e.warn(`Installing ${o.name}@${o.version} (${o.reason})...`),await $e({log:e,cwd:r,args:["install","--save",`${o.name}@${o.version}`]}))}getWebflowLoader(){return{templatePath:Pe.join(Nl,"webflow-loader.ts"),destinationName:"webflow-loader.ts",configPath:"./webflow-loader.ts"}}getUserConfigPatterns(){return["astro.config.mjs","astro.config.cjs","astro.config.js","astro.config.ts"]}getWranglerTemplatePath(){return Pe.join(Nl,"wrangler.json")}getAdditionalConfigFiles(){return[this.getWebflowLoader().templatePath,Pe.join(Im,"astro.config.webflow.ts")]}async prepareConfig(){let{log:e,cwd:r,userEnv:n}=this.ctx;or(e,r,"astro.config",["mjs","cjs","js","ts"])===null&&(e.info("no user astro.config.{mjs,cjs,js,ts} found \u2014 writing empty clouduser.astro.config.mjs stub"),bo.writeFileSync(Pe.join(r,"clouduser.astro.config.mjs"),`export default {};
124
+ `));let i=Pe.join(Im,"astro.config.webflow.ts");at(i)&&(e.info("Copying astro.config.webflow.ts..."),bo.copyFileSync(i,Pe.join(r,"astro.config.webflow.ts")));let s=Pe.join(Nl,"astro.config.mjs.template"),a=Pe.join(r,"astro.config.mjs");e.info("Generating astro.config.mjs from template (Astro 6)..."),await nr(e,s,a,{...process.env,...n});let l=this.getWebflowLoader();at(l.templatePath)&&(e.info(`Copying ${l.destinationName}...`),bo.copyFileSync(l.templatePath,Pe.join(r,l.destinationName)))}getBuildCommand(){return"astro build"}getNodeVersionRequirement(){return{minimum:"22.12.0",severity:"error"}}static getOutputDeployMetadata(){return{staticAssetsPath:"dist/client",workerEntryPath:"dist/server/entry.mjs",wranglerMainOverride:"@astrojs/cloudflare/entrypoints/server",deploymentType:"ssr",usesAssetsBinding:!0,skipNoBundle:!0,assetsSourceSkipMountPath:!0,dryRunEntryPath:"./entry.mjs"}}};var me=m(require("path")),et=m(require("fs"));var bn=wt(me.join(__dirname,"templates","nextjs"),me.join(__dirname,"templates")),vn=class extends Qe{static frameworkName="nextjs";get info(){return{name:"nextjs",version:"*",displayName:"Next.js"}}static detect(e,r){let n=r?.cloud?.framework;return n==="nextjs"?{detected:!0,reason:"Specified as nextjs in webflow.json"}:n&&n!=="nextjs"?{detected:!1}:e.dependencies?.next!==void 0||e.devDependencies?.next!==void 0?{detected:!0,reason:'Found "next" in package.json'}:{detected:!1}}async validate(){let{log:e,packageJson:r}=this.ctx,n=r.dependencies?.next||r.devDependencies?.next;if(!n)throw new ye("Next.js is not installed in this project.",{remediation:"Install Next.js by running: npm install next",documentationUrl:"https://nextjs.org/docs/getting-started/installation"});e.info(`Validated Next.js project: next@${n}`)}getCloudflareAdapter(){return{name:"@opennextjs/cloudflare",version:"*"}}getRequiredIntegrations(){return[]}async installDependencies(){let{log:e,cwd:r}=this.ctx,n=this.getCloudflareAdapter();this.hasDependency(n.name)||(e.warn("nextjs integration requires @opennextjs/cloudflare and this project doesn't have it. installing now..."),await $e({log:e,cwd:r,args:["install","--save",n.name]}))}getWebflowLoader(){return{templatePath:me.join(bn,"webflow-loader.ts"),destinationName:"webflow-loader.ts",configPath:"./webflow-loader.ts"}}getUserConfigPatterns(){return["next.config.mjs","next.config.cjs","next.config.js","next.config.ts"]}getWranglerTemplatePath(){return me.join(bn,"wrangler.json")}getAdditionalConfigFiles(){return[this.getWebflowLoader().templatePath,me.join(bn,"open-next.config.ts")]}findOpenNextConfig(){let e="open-next.config.ts";if(et.existsSync(me.join(this.cwd,e)))return e}ensureOpenNextConfig(e){let{log:r,cwd:n}=this.ctx,o=this.findOpenNextConfig();if(o){r.info(`${o} found, skipping creation (opennextjs-cloudflare will validate)`);return}if(r.info("open-next.config not found, creating open-next.config.ts with default Webflow Cloud configuration..."),!et.existsSync(e))throw new $r(`open-next.config.ts template not found at ${e}. This is a Webflow Cloud build system error.`,{configFile:e});let i=me.join(n,"open-next.config.ts");et.copyFileSync(e,i),r.info("open-next.config.ts created successfully")}async prepareConfig(){let{log:e,cwd:r,userEnv:n}=this.ctx,o=or(e,r,"next.config",["mjs","cjs","js","ts"]);o===null?(e.info("no user next.config.{mjs,cjs,js,ts} found \u2014 writing empty clouduser.next.config.ts stub"),et.writeFileSync(me.join(r,"clouduser.next.config.ts"),`export default {};
125
+ `)):me.extname(o)!==".ts"&&(e.info(`writing clouduser.next.config.d.ts shim for ${me.basename(o)}`),et.writeFileSync(me.join(r,"clouduser.next.config.d.ts"),`import type { UserNextConfig } from './next.config.webflow';
142
126
  declare const config: UserNextConfig;
143
127
  export default config;
144
- `));let i=ge.join(Xr,"next.config.webflow.ts");pt(i)&&(t.info("Copying next.config.webflow.ts..."),nt.copyFileSync(i,ge.join(n,"next.config.webflow.ts")));let s=ge.join(Xr,"next.config.ts.template"),a=ge.join(n,"next.config.ts");t.info("Generating next.config.ts from template..."),await wn(t,s,a,{...process.env,...r});let l=this.getWebflowLoader();pt(l.templatePath)&&(t.info(`Copying ${l.destinationName}...`),nt.copyFileSync(l.templatePath,ge.join(n,l.destinationName)));let c=ge.join(Xr,"open-next.config.ts");this.ensureOpenNextConfig(c)}getBuildCommand(){return"opennextjs-cloudflare build"}getNodeVersionRequirement(){return{minimum:"18.0.0",severity:"error"}}static getOutputDeployMetadata(){return{staticAssetsPath:".open-next/assets",workerEntryPath:".open-next/worker.js",deploymentType:"ssr",dryRunEntryPath:"./worker.js"}}static detectFromBuiltOutput(t){return nt.statSync(ge.join(t,"./worker.js"),{throwIfNoEntry:!1})?.isFile()??!1}};var ze=w(require("path")),rt=w(require("fs"));var ta=Ft(ze.join(__dirname,"templates","vite"),ze.join(__dirname,"templates")),eo=class extends tt{static frameworkName="vite";get info(){return{name:"vite",version:"6.x",displayName:"Vite"}}static detect(t,n){let r=n?.cloud?.framework;return r==="vite"?{detected:!0,reason:"Specified as vite in webflow.json"}:r&&r!=="vite"?{detected:!1}:t.dependencies?.vite!==void 0||t.devDependencies?.vite!==void 0?{detected:!0,reason:'Found "vite" in package.json'}:{detected:!1}}async validate(){let{log:t,packageJson:n}=this.ctx,r=n.dependencies?.vite||n.devDependencies?.vite;if(!r)throw new he("Vite is not installed in this project.",{remediation:"Install Vite by running: npm install vite",documentationUrl:"https://vitejs.dev/guide/"});t.info(`Validated Vite project: vite@${r}`)}getCloudflareAdapter(){return{name:"@cloudflare/vite-plugin",version:"*"}}getRequiredIntegrations(){return[{name:"@cloudflare/workers-types",version:"*",dev:!0}]}async installDependencies(){let{log:t,cwd:n,packageJson:r}=this.ctx,o=r.devDependencies?.vite||r.dependencies?.vite||"",i=yn(o);i!==null&&i<6&&(t.warn("Upgrading vite to ^6.1.0 (required by @cloudflare/vite-plugin)..."),await je({log:t,cwd:n,args:["install","--save-dev","vite@^6.1.0"]}));let s=this.getCloudflareAdapter();this.hasDependency(s.name)||(t.warn("Vite integration requires @cloudflare/vite-plugin, installing now..."),await je({log:t,cwd:n,args:["install","--save",s.name]}));let a=this.getRequiredIntegrations();for(let l of a)if(!this.hasDependency(l.name)){t.info(`Installing ${l.name}...`);let c=l.dev?["install","--save-dev",l.name]:["install","--save",l.name];await je({log:t,cwd:n,args:c})}}getWebflowLoader(){return null}getUserConfigPatterns(){return["vite.config.mjs","vite.config.cjs","vite.config.js","vite.config.ts"]}getWranglerTemplatePath(){return ze.join(ta,"wrangler.json")}getAdditionalConfigFiles(){return[ze.join(ta,"vite.config.webflow.ts")]}hasCustomWorkerEntry(){let{log:t,cwd:n}=this.ctx;for(let r of["wrangler.json","wrangler.jsonc"]){let o=ze.join(n,r);if(rt.existsSync(o)){try{let i=rt.readFileSync(o,"utf8"),s=Xn(i);if(s?.main&&s.main!=="./src/worker.ts")return t.info(`user-provided ${r} has custom main entrypoint "${s.main}", will preserve user's worker`),!0}catch(i){t.warn(`failed to parse ${r}: ${i}`)}break}}return!1}ensureWorkerEntry(){let{log:t,cwd:n}=this.ctx,r=ze.join(n,"src","worker.ts");if(rt.existsSync(r)){t.info("src/worker.ts already exists, skipping creation");return}t.warn("src/worker.ts does not exist, creating a minimal worker..."),rt.mkdirSync(ze.join(n,"src"),{recursive:!0}),rt.writeFileSync(r,`/// <reference types="@cloudflare/workers-types" />
128
+ `));let i=me.join(bn,"next.config.webflow.ts");at(i)&&(e.info("Copying next.config.webflow.ts..."),et.copyFileSync(i,me.join(r,"next.config.webflow.ts")));let s=me.join(bn,"next.config.ts.template"),a=me.join(r,"next.config.ts");e.info("Generating next.config.ts from template..."),await nr(e,s,a,{...process.env,...n});let l=this.getWebflowLoader();at(l.templatePath)&&(e.info(`Copying ${l.destinationName}...`),et.copyFileSync(l.templatePath,me.join(r,l.destinationName)));let u=me.join(bn,"open-next.config.ts");this.ensureOpenNextConfig(u)}getBuildCommand(){return"opennextjs-cloudflare build"}getNodeVersionRequirement(){return{minimum:"18.0.0",severity:"error"}}static getOutputDeployMetadata(){return{staticAssetsPath:".open-next/assets",workerEntryPath:".open-next/worker.js",deploymentType:"ssr",dryRunEntryPath:"./worker.js"}}static detectFromBuiltOutput(e){return et.statSync(me.join(e,"./worker.js"),{throwIfNoEntry:!1})?.isFile()??!1}};var Le=m(require("path")),tt=m(require("fs"));var Yi=wt(Le.join(__dirname,"templates","vite"),Le.join(__dirname,"templates")),En=class extends Qe{static frameworkName="vite";get info(){return{name:"vite",version:"6.x",displayName:"Vite"}}static detect(e,r){let n=r?.cloud?.framework;return n==="vite"?{detected:!0,reason:"Specified as vite in webflow.json"}:n&&n!=="vite"?{detected:!1}:e.dependencies?.vite!==void 0||e.devDependencies?.vite!==void 0?{detected:!0,reason:'Found "vite" in package.json'}:{detected:!1}}async validate(){let{log:e,packageJson:r}=this.ctx,n=r.dependencies?.vite||r.devDependencies?.vite;if(!n)throw new ye("Vite is not installed in this project.",{remediation:"Install Vite by running: npm install vite",documentationUrl:"https://vitejs.dev/guide/"});e.info(`Validated Vite project: vite@${n}`)}getCloudflareAdapter(){return{name:"@cloudflare/vite-plugin",version:"*"}}getRequiredIntegrations(){return[{name:"@cloudflare/workers-types",version:"*",dev:!0}]}async installDependencies(){let{log:e,cwd:r,packageJson:n}=this.ctx,o=n.devDependencies?.vite||n.dependencies?.vite||"",i=rr(o);i!==null&&i<6&&(e.warn("Upgrading vite to ^6.1.0 (required by @cloudflare/vite-plugin)..."),await $e({log:e,cwd:r,args:["install","--save-dev","vite@^6.1.0"]}));let s=this.getCloudflareAdapter();this.hasDependency(s.name)||(e.warn("Vite integration requires @cloudflare/vite-plugin, installing now..."),await $e({log:e,cwd:r,args:["install","--save",s.name]}));let a=this.getRequiredIntegrations();for(let l of a)if(!this.hasDependency(l.name)){e.info(`Installing ${l.name}...`);let u=l.dev?["install","--save-dev",l.name]:["install","--save",l.name];await $e({log:e,cwd:r,args:u})}}getWebflowLoader(){return null}getUserConfigPatterns(){return["vite.config.mjs","vite.config.cjs","vite.config.js","vite.config.ts"]}getWranglerTemplatePath(){return Le.join(Yi,"wrangler.json")}getAdditionalConfigFiles(){return[Le.join(Yi,"vite.config.webflow.ts")]}hasCustomWorkerEntry(){let{log:e,cwd:r}=this.ctx;for(let n of["wrangler.json","wrangler.jsonc"]){let o=Le.join(r,n);if(tt.existsSync(o)){try{let i=tt.readFileSync(o,"utf8"),s=Ir(i);if(s?.main&&s.main!=="./src/worker.ts")return e.info(`user-provided ${n} has custom main entrypoint "${s.main}", will preserve user's worker`),!0}catch(i){e.warn(`failed to parse ${n}: ${i}`)}break}}return!1}ensureWorkerEntry(){let{log:e,cwd:r}=this.ctx,n=Le.join(r,"src","worker.ts");if(tt.existsSync(n)){e.info("src/worker.ts already exists, skipping creation");return}e.warn("src/worker.ts does not exist, creating a minimal worker..."),tt.mkdirSync(Le.join(r,"src"),{recursive:!0}),tt.writeFileSync(n,`/// <reference types="@cloudflare/workers-types" />
145
129
 
146
130
  interface Env {
147
131
  ASSETS: Fetcher;
@@ -152,52 +136,55 @@ export default {
152
136
  return env.ASSETS.fetch(request);
153
137
  },
154
138
  } satisfies ExportedHandler<Env>;
155
- `)}async prepareConfig(){let{log:t,cwd:n,userEnv:r}=this.ctx,o=this.hasCustomWorkerEntry();bn(t,n,"vite.config",["mjs","cjs","js","ts"])===null&&(t.info("no user vite.config.{mjs,cjs,js,ts} found \u2014 writing empty clouduser.vite.config.ts stub"),rt.writeFileSync(ze.join(n,"clouduser.vite.config.ts"),`export default {};
156
- `));let s=ze.join(ta,"vite.config.webflow.ts");pt(s)&&(t.info("Copying vite.config.webflow.ts..."),rt.copyFileSync(s,ze.join(n,"vite.config.webflow.ts")));let a=ze.join(ta,"vite.config.ts.template"),l=ze.join(n,"vite.config.ts");t.info("Generating vite.config.ts from template..."),await wn(t,a,l,{...process.env,...r}),o||this.ensureWorkerEntry()}getBuildCommand(){return"vite build"}getNodeVersionRequirement(){return{minimum:"18.0.0",severity:"error"}}static getOutputDeployMetadata(){return{staticAssetsPath:"dist/client",workerEntryPath:"./src/worker.ts",deploymentType:"ssr-spa-combo",usesAssetsBinding:!0}}};var lb=[rr,nr,Qr,eo],ii=["astro","nextjs","vite"];function na(e,t){for(let n of lb){let r=n.detect(e,t);if(r.detected)return{Builder:n,result:r}}return null}function Iu(e,t){let n=na(e.packageJson,t);if(!n)throw new hn("Could not detect framework from package.json or webflow.json",{remediation:`Create a webflow.json file with: { "cloud": { "framework": "astro" } } (or one of: ${ii.join(", ")})`});return e.log.info(`Detected framework: ${n.result.reason}`),new n.Builder(e)}function ju(e,t,n,r){let o=cb.join(t,"webflow.json"),i={cloud:{}};if(to.existsSync(o))try{let a=to.readFileSync(o,"utf8"),l=JSON.parse(a),c=ea.safeParse(l);if(c.success)i=c.data;else{let u=c.error.issues.map(p=>`${p.path.join(".")}: ${p.message}`).join(", ");e.warn(`webflow.json has schema issues (will be corrected): ${u}`),i=l}i.cloud||(e.warn('webflow.json is missing "cloud" property, adding it'),i.cloud={})}catch(a){e.warn(`Failed to parse existing webflow.json, overwriting: ${a}`)}let s=i.cloud;if(s.framework=n,r){let a=r.getOutputDeployMetadata();s.deployment_type=a.deploymentType,a.dryRunEntryPath?s.entrypoint_path=a.dryRunEntryPath:s.entrypoint_path="./index.js",a.skipNoBundle&&(s.skip_no_bundle=!0),a.assetsSourceSkipMountPath&&(s.assets_source_skip_mount_path=!0)}e.info(`Creating webflow.json with framework: ${n}`),to.writeFileSync(o,JSON.stringify(i,null,2))}function ub(e,t){let n=Yr(e,t);if(n?.cloud?.framework)return n.cloud.framework;let r=ni(t);if(!r)throw new hn("Cannot detect framework: no package.json found",{remediation:'Run this command from your project root, or add a webflow.json with: { "cloud": { "framework": "<name>" } }'});e.info("webflow.json has no framework \u2014 detecting from package.json...");let o=na(r,n);if(!o)throw new hn("Could not detect framework from package.json or webflow.json",{remediation:'Add a webflow.json with: { "cloud": { "framework": "<name>" } } (supported: astro, nextjs, vite)'});let i=o.Builder.frameworkName;return e.info(`Detected framework: ${o.result.reason}`),ju(e,t,i),i}J();var db=U.object({name:U.string(),main:U.string().optional(),compatibility_date:U.string(),compatibility_flags:U.array(U.string()).optional(),placement:U.object({mode:U.string()}).passthrough().optional(),assets:U.object({directory:U.string(),binding:U.string().optional()}).passthrough().optional(),d1_databases:U.array(U.object({database_name:U.string(),database_id:U.string(),binding:U.string(),migrations_dir:U.string().optional()}).passthrough()).default([]),kv_namespaces:U.array(U.object({binding:U.string(),id:U.string()}).passthrough()).default([]),r2_buckets:U.array(U.object({binding:U.string(),bucket_name:U.string()}).passthrough()).default([])}).passthrough();function pb(e){return e.issues.map(t=>` - ${t.path.length>0?t.path.join("."):"<root>"}: ${t.message}`).join(`
157
- `)}function fb(e,t="wrangler.json"){let n=ft.join(e,t);if(!Se.existsSync(n)){if(t.endsWith(".json"))return d.warn(`/${t} not found, checking for /${t}c`),fb(e,t+"c");d.warn(`/${t} not found`);return}let r=Se.readFileSync(n,"utf8");d.info(`reading /${t}...`);let o;try{o=Xn(r)}catch(s){d.error(`/${t} loaded but could not parse as JSONC: ${s}`);return}let i=db.safeParse(o);if(!i.success){d.error(`/${t} loaded but schema validation failed:
158
- ${pb(i.error)}`);return}return d.info(`successfully loaded /${t}`),i.data}async function mb(e,t){let n=null,r=null,o=ft.join(t,"wrangler.json"),i=ft.join(t,"wrangler.jsonc");Se.existsSync(o)?(n=o,r=".json"):Se.existsSync(i)&&(n=i,r=".jsonc"),n&&r&&(d.info(`saving user-provided wrangler JSON as /clouduser.wrangler${r}...`),Se.copyFileSync(n,ft.join(t,`clouduser.wrangler${r}`)));let s=n?fb(t,ft.basename(n)):null,a=e.getWranglerTemplatePath(),l=ft.join(t,"wrangler.json");if(!Se.existsSync(a))throw new Error(`Wrangler template not found at ${a}. Make sure the template is properly copied during build.`);if(d.info(`copying wrangler template for ${e.info.name} to /wrangler.json`),Se.copyFileSync(a,l),!s)return;let c=JSON.parse(Se.readFileSync(l,"utf8"));if(s.kv_namespaces&&s.kv_namespaces.length>0&&(c.kv_namespaces=s.kv_namespaces,d.info(`merged ${s.kv_namespaces.length} KV namespace(s) into template`)),s.r2_buckets&&s.r2_buckets.length>0&&(c.r2_buckets=s.r2_buckets,d.info(`merged ${s.r2_buckets.length} R2 bucket(s) into template`)),s.d1_databases&&s.d1_databases.length>0&&(c.d1_databases=s.d1_databases,d.info(`merged ${s.d1_databases.length} D1 database(s) into template`)),Se.writeFileSync(l,JSON.stringify(c,null,2)),s.d1_databases.length!==0)for(let u in s.d1_databases){let p=s.d1_databases[u];if(!p.migrations_dir){d.info(`skipping migrations for database ${u} in wrangler.json; migrations dir is not defined`);continue}let f=p.migrations_dir,m=ft.join(t,f);if(!Se.existsSync(m)){d.info(`skipping migrations for database ${u} in wrangler.json; migrations dir (/${f}) does not exist`);continue}let h=ft.join(t,"clouduser","migrations",f),v=tr(d,m,h);v>0?d.info(`copied ${v} migrations to /clouduser/migrations/${f}`):d.info(`skipping migrations for database ${u} in wrangler.json; migrations dir (/${f}) is empty`)}}function V2(e){if(!/^[a-z0-9-]+$/.test(e))throw new Error(`Invalid object storage bucket name ${JSON.stringify(e)}: Only lowercase letters, numbers, and hyphens are allowed.`);if(e.startsWith("-")||e.endsWith("-"))throw new Error(`Invalid object storage bucket name "${e}": Cannot begin or end with a hyphen.`);if(e.length>27)throw new Error(`Invalid object storage bucket name "${e}": Must be 27 characters or fewer (currently ${e.length} characters).`)}function gb(e){let t=null;for(let s of[".json",".jsonc"]){let a=ft.join(e,`clouduser.wrangler${s}`);if(Se.existsSync(a)){t=a;break}}if(!t)return;let n=Se.readFileSync(t,"utf8"),r;try{r=Xn(n)}catch(s){throw new Error(`Failed to parse wrangler config at ${t} as JSONC: ${s}`)}let o=db.safeParse(r);if(!o.success)throw new Error(`Invalid wrangler config at ${t}:
159
- ${pb(o.error)}`);let i=o.data;if(i.d1_databases&&i.d1_databases.length>0&&i.d1_databases.length>5)throw new Error(`Too many D1 databases configured: ${i.d1_databases.length}. Maximum allowed is 5.`);if(i.kv_namespaces&&i.kv_namespaces.length>0&&i.kv_namespaces.length>5)throw new Error(`Too many KV namespaces configured: ${i.kv_namespaces.length}. Maximum allowed is 5.`);if(i.r2_buckets&&i.r2_buckets.length>0){if(i.r2_buckets.length>5)throw new Error(`Too many R2 buckets configured: ${i.r2_buckets.length}. Maximum allowed is 5.`);d.info(`validating ${i.r2_buckets.length} object storage bucket name(s)...`);for(let s of i.r2_buckets)V2(s.bucket_name)}}J();_e();te();Ce();var J2="4.82.1",hb=60;function Wt(e,t){let n=Math.min(hb,process.stdout.columns??hb),r=`\u2500\u2500\u2500 ${e} ${t} `,o="\u2500".repeat(Math.max(0,n-r.length));d.info(`
160
- ${E.bold.cyan(`${r}${o}`)}`)}async function wb(e=process.cwd(),t,n,r){let o=ni(e);if(!o)throw new Error("No package.json file found");let i=Yr(d,e),s={...r?{COSMIC_MOUNT_PATH:r}:{},...t?{COSMIC_DEPLOY_URL:t}:{},...n&&!t?{COSMIC_DEPLOY_URL:G2(n)}:{}};return Iu({cwd:e,log:d,packageJson:o,userEnv:s},i)}async function bb(e,t={}){let n=t.projectPath||process.cwd(),r=Date.now(),o=ne.join(n,".tmp",`webflow-build-${r}`),i=t.outputDir||ne.join(o,"output"),s=t.mountPath||"/app",a=Date.now(),l=Ru(n),c=t.telemetry,u=e.getBuildCommand(),p=e.getOutputDeployMetadata();await c?.sendUsage("cloud_build_start",{framework:e.info.name,buildCommand:u,deploymentType:p.deploymentType,mountPath:s,cloudflareBindings:l}),V.mkdirSync(o,{recursive:!0});try{Wt("\u{1F527}","Configure framework"),d.info(`Framework: ${e.info.displayName}`),d.info(`Mount path: ${s}`),d.info(`Deployment type: ${p.deploymentType}`);let f=e.getNodeVersionRequirement();f&&Kr(d,f,e.info.displayName),d.info("Validating framework requirements..."),await e.validate(),d.info("Installing framework dependencies..."),await e.installDependencies(),Wt("\u2699\uFE0F ","Configure wrangler"),await mb(e,n),d.info("Preparing framework configuration..."),await e.prepareConfig(),ju(d,n,e.info.name,e),Wt("\u{1F4E6}","Install dependencies"),await q2(n,e.info.name,t.telemetry),gb(n),Wt("\u{1F3D7}\uFE0F ","Build app"),d.info(`running ${u}...`),await H2(n,u,t.telemetry),await e.postBuild(),Wt("\u{1F9EA}","Wrangler dry-run"),await Z2(n,i),Wt("\u{1F4C1}","Copy assets"),await K2(n,i,e,s),Wt("\u{1F381}","Create tarball");let m=await Y2(i),h=Date.now()-a;return d.info(`${ee} Build completed in ${(h/1e3).toFixed(1)}s`),await c?.sendUsage("cloud_build_success",{duration:h,framework:e.info.name,buildCommand:u,deploymentType:p.deploymentType,mountPath:s,cloudflareBindings:l}),m}catch(f){let m=Date.now()-a;throw await c?.sendError(f instanceof Error?f:new Error(String(f)),"cloud_build_failure",{duration:m,framework:e.info.name,buildCommand:u,deploymentType:p.deploymentType,mountPath:s,cloudflareBindings:l}),f}}function Ru(e){let t=ne.join(e,"wrangler.json");if(!V.existsSync(t))return{hasKV:!1,hasD1:!1,hasR2:!1,hasVars:!1,kvCount:0,d1Count:0,r2Count:0,varCount:0};try{let n=JSON.parse(V.readFileSync(t,"utf8")),r=n.kv_namespaces||[],o=n.d1_databases||[],i=n.r2_buckets||[],s=n.vars||{};return{hasKV:r.length>0,hasD1:o.length>0,hasR2:i.length>0,hasVars:Object.keys(s).length>0,kvCount:r.length,d1Count:o.length,r2Count:i.length,varCount:Object.keys(s).length}}catch(n){return console.debug("Failed to parse wrangler.json for bindings detection:",n),{hasKV:!1,hasD1:!1,hasR2:!1,hasVars:!1,kvCount:0,d1Count:0,r2Count:0,varCount:0}}}function Db(e){try{let t=ne.dirname(e);t.includes(".tmp/webflow-build-")&&(Wt("\u{1F9F9}","Clean up build artifacts"),V.rmSync(t,{recursive:!0,force:!0}))}catch(t){d.warn(`Warning: Failed to clean up build artifacts: ${t}`)}}function vb(e,t){try{Wt("\u{1F9F9}","Revert framework configuration");let n=t.getUserConfigPatterns(),r=new Set;for(let s of n){let a=ne.extname(s).slice(1),l=ne.basename(s,`.${a}`);if(!r.has(l)){r.add(l);for(let c of["mjs","cjs","js","ts"]){let u=ne.join(e,`clouduser.${l}.${c}`),p=ne.join(e,`${l}.${c}`);if(V.existsSync(u)){d.info(`restoring /${l}.${c} from /clouduser.${l}.${c}...`),V.existsSync(p)&&V.unlinkSync(p),V.renameSync(u,p);break}}}}for(let s of[".jsonc",".json"]){let a=ne.join(e,`clouduser.wrangler${s}`);if(V.existsSync(a)){d.info(`restoring user wrangler${s} from backup...`);let l=ne.join(e,"wrangler.json");V.existsSync(l)&&V.unlinkSync(l);let c=ne.join(e,`wrangler${s}`);V.renameSync(a,c);break}}let o=ne.join(e,"clouduser");V.existsSync(o)&&(d.info("cleaning up clouduser directory..."),V.rmSync(o,{recursive:!0,force:!0}));for(let s of t.getAdditionalConfigFiles()){let a=ne.join(e,ne.basename(s));V.existsSync(a)&&(d.info(`cleaning up additional config file ${a}...`),V.unlinkSync(a))}let i=t.getWebflowLoader();if(i){let s=ne.join(e,i.destinationName);V.existsSync(s)&&(d.info(`cleaning up ${i.destinationName}...`),V.unlinkSync(s))}}catch(n){d.warn(`Warning: Failed to cleanup framework configuration: ${n}`)}}async function q2(e,t,n){let r=Date.now(),o=["--no-update-notifier","--no-progress"],i=ne.join(e,"package-lock.json");try{V.existsSync(i)?(d.info("Running npm ci --include=dev..."),(0,si.execSync)(`npm ci --include=dev ${o.join(" ")}`,{cwd:e,stdio:"inherit"})):(d.info("Warning: No package-lock.json found, installing dependencies with npm install --include=dev"),(0,si.execSync)(`npm install --include=dev ${o.join(" ")}`,{cwd:e,stdio:"inherit"}));let s=Date.now()-r;await n?.sendUsage("cloud_install_dependencies_success",{duration:s,framework:t,hasPackageLock:V.existsSync(i)})}catch(s){let a=Date.now()-r;throw await n?.sendError(s instanceof Error?s:new Error(String(s)),"cloud_install_dependencies_failure",{duration:a,framework:t,hasPackageLock:V.existsSync(i)}),s}}function G2(e){let t="production",n;switch(t){case"development":n="wf-app-dev";break;case"acceptance":n="wf-app-acceptance";break;default:n="wf-app-prod"}return`https://${e}.${n}.cosmic.webflow.services`}async function H2(e,t,n){let r=Date.now();try{(0,si.execSync)(`npm exec -- ${t}`,{cwd:e,stdio:"inherit"});let o=Date.now()-r;await n?.sendUsage("cloud_build_command_success",{duration:o,buildCommand:t})}catch(o){let i=Date.now()-r;throw await n?.sendError(o instanceof Error?o:new Error(String(o)),"cloud_build_command_failure",{duration:i,buildCommand:t}),new Error(`Build command failed: ${t}`)}}async function Z2(e,t){V.mkdirSync(t,{recursive:!0});let n=ne.join(e,"wrangler.json"),r=ne.join(e,"wrangler.jsonc");if(!V.existsSync(n)&&!V.existsSync(r))throw new Error("Missing wrangler configuration: wrangler.json or wrangler.jsonc file is required");(0,si.execSync)(`npx wrangler@${J2} deploy --dry-run --outdir="${t}"`,{cwd:e,stdio:"inherit"})}async function K2(e,t,n,r){let o=n.getOutputDeployMetadata(),i=o.staticAssetsPath,s=o.staticAssetsExclude?.[0],a=o.assetsSourceSkipMountPath===!0,l=r.replace(/\/+$/,"").replace(/^\/+/,"");if(!a&&l&&(n.info.name==="nextjs"||n.info.name==="astro")){let m=ne.join(e,i);if(V.existsSync(m)&&V.statSync(m).isDirectory()){let v=V.readdirSync(m,{withFileTypes:!0}).find(k=>!(!k.isDirectory()||s&&k.name===s||n.info.name==="astro"&&(k.name==="_routes.json"||k.name==="_worker.js")));v&&(i=`${i}/${v.name}`)}}let c=ne.join(t,"assets",l||"");V.mkdirSync(c,{recursive:!0});let u=ne.join(e,i);if(V.existsSync(u)&&V.statSync(u).isDirectory()){d.info(`copying assets from /${i} to output/assets...`);try{s?(d.info(`excluding ${s}`),tr(d,u,c,{exclude:s})):tr(d,u,c)}catch(m){d.error(m,{prefix:"Failed to copy assets:"})}}else d.info("No assets to copy or assets directory not found");let p=ne.join(e,"webflow.json");V.existsSync(p)?(d.info("including webflow.json in output..."),V.copyFileSync(p,ne.join(t,"webflow.json"))):d.warn("webflow.json not found at project root; deploy may fail framework detection");let f=null;for(let m of[".json",".jsonc"]){let h=ne.join(e,`clouduser.wrangler${m}`);if(V.existsSync(h)){f=h;break}}if(f){d.info("including user wrangler config in output..."),V.copyFileSync(f,ne.join(t,"clouduser.wrangler.json"));let m=ne.join(e,"clouduser","migrations");if(V.existsSync(m)){d.info("copying migrations from clouduser/migrations to output/migrations...");let h=ne.join(t,"migrations");tr(d,m,h)}}}async function Y2(e){let t=`${e}.tar.gz`;try{return await yb.create({gzip:!0,file:t,cwd:ne.dirname(e)},[ne.basename(e)]),d.info(`Tarball created: ${t}`),t}catch(n){throw new g(n,{prefix:"Failed to create tarball:"})}}ke();le();J();var X2="DUPLICATE_ENVIRONMENT_MOUNT",Q2="ENVIRONMENT_MOUNT_MISMATCH",eA="DUPLICATE_ENVIRONMENT_BRANCH",tA="INVALID_MOUNT_PATH_FORMAT",nA="INVALID_PROJECT_ID",kb={[X2]:"An environment with this mount path already exists for this site. Please choose a different mount path.",[Q2]:"This environment already exists with a different mount path. Please create a new environment or use the existing environment's mount path.",[eA]:"An environment with this branch already exists for this project.",[tA]:"Mount path format is invalid. It must start with a / and be followed by at least one character (e.g., /app).",[nA]:"Invalid project ID. This project may have been deleted or belongs to a different site. Please remove the 'project_id' from your webflow.json file and redeploy to create a new project."};function xb(e){let t={timestamp:new Date().toISOString()};if(e instanceof Error)t.code=e.name,t.msg=e.message,t.stack=e.stack;else if(typeof e=="object"&&e!==null){let i=e;t.code=typeof i.code=="string"?i.code:void 0,t.msg=typeof i.msg=="string"?i.msg:void 0,t.status=typeof i.status=="number"?i.status:void 0}let n=t.msg||"",r=t.status??t.code,o=typeof r=="number"?r:typeof r=="string"&&/^\d+$/.test(r)?Number(r):void 0;if(d.error(`Error Details: ${JSON.stringify({timestamp:t.timestamp,code:t.code,message:t.msg,status:t.status,stack:t.stack},null,2)}`),o===401)return"Your access token is expired or invalid. Run 'webflow auth login' to re-authenticate.";if(o===403)return"Your access token is missing required permissions. Run 'webflow auth login' to re-authenticate with the necessary scopes.";for(let i in kb)if(n.includes(i))return kb[i];return`An unknown error occurred. Error code: ${t.code||"N/A"}, Message: ${t.msg||"No message provided"}`}var no=w(require("fs")),$u=require("child_process");J();te();Ce();var Cb=104857600;function Eb(e){if(e===0)return"0 B";let t=1024,n=["B","KB","MB","GB"],r=Math.floor(Math.log(e)/Math.log(t));return`${parseFloat((e/Math.pow(t,r)).toFixed(1))} ${n[r]}`}function rA(){try{let e=(0,$u.execSync)("git rev-parse HEAD",{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim();if(!/^[0-9a-f]{40}$/.test(e))throw new Error("Invalid commit hash format");try{return(0,$u.execSync)("git status --porcelain --untracked-files=no",{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim().length>0?`git@${e}+dirty`:`git@${e}`}catch{return`git@${e}`}}catch{return`noversion@${new Date().toISOString()}`}}async function Bu(e,t,n){let r=await fetch(`${I}${t}`,{method:n.method,headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"},body:n.body?JSON.stringify(n.body):void 0});if(!r.ok){let o=await r.text(),i;try{i=JSON.parse(o)}catch{i={msg:o}}let s=xb(i);throw new Error(s)}return r.json()}async function Fb(e,t,n,r){let{manifest:o}=Q(),i=o.cloud||{},s=i.project_id,a=i.framework;if(!a)throw new g("No framework specified in webflow.json. Please ensure your webflow.json has a cloud.framework property");let l=await oA({siteId:e.siteId,apiToken:e.accessToken,framework:a,mountPath:n,environment:t,projectId:s,projectName:r?.projectName,description:r?.description,directory:r?.directory,version:rA()});return!s&&l.project_id&&(d.info("\u{1F4DD} Updating webflow.json with project ID..."),se({cloud:{...i,project_id:l.project_id}})),l}async function oA(e){let{siteId:t,framework:n,mountPath:r,environment:o,version:i,projectId:s,projectName:a,description:l,directory:c}=e,u={framework:n,mount_path:r,environment:o,version:i};s&&(u.project_id=s),a&&(u.project_name=a),l&&(u.description=l),c&&(u.app_path=c);let p=t?`/cosmic/${t}/cli-deploy-init`:"/cosmic/cli-deploy-init";return Bu(e.apiToken,p,{method:"POST",body:u})}async function Sb(e,t){let{siteId:n,accessToken:r}=e,o=n?`/cosmic/${n}/cli-project-environments/${t}`:`/cosmic/cli-project-environments/${t}`;return Bu(r,o,{method:"GET"})}async function _b(e){let{siteId:t,accessToken:n}=e,r=t?`/cosmic/${t}/cli-projects`:"/cosmic/cli-projects";return Bu(n,r,{method:"GET"})}async function Ab(e,t){if(!no.existsSync(e))throw new Error(`Tarball not found at ${e}`);let n=no.statSync(e);if(n.size>Cb)throw new Error(`Build output is too large (${Eb(n.size)}). Maximum allowed size is ${Eb(Cb)}.`);let r=no.readFileSync(e),o=JSON.parse(t);if(!o.fields)throw new Error("Upload URL is missing fields property");let i=new FormData;Object.entries(o.fields).forEach(([l,c])=>{i.append(l,c)});let s=new Blob([r],{type:"application/gzip"});i.append("file",s,"output.tar.gz");let a=await fetch(o.url,{method:"POST",body:i});if(!a.ok){let l=await a.text();throw new g(l,{prefix:`${N} Upload failed with response:`})}}async function Tb(e,t){if(!e||e==="undefined")throw new g("Completion URL is undefined or invalid");let n=new URL(e);t&&n.searchParams.set("failed","true");let r=await fetch(n.toString(),{method:"GET"});if(!r.ok)throw new g(`Failed to trigger deployment: ${r.status} ${r.statusText}`)}var Ob=require("webflow-api");le();le();te();function Nu(e){return new Ob.WebflowClient({accessToken:e,environment:{base:`${I}/v2`,dataApi:`${I}/v2`,contentDeliveryApi:`${xi}/v2`}})}async function ai(e,t){try{let r=await Nu(e).sites.get(t);return{id:r.id||t,displayName:r.displayName||"Unknown Site",shortName:r.shortName||"unknown-site",customDomains:r.customDomains?.map(o=>({id:o.id||"",url:o.url||""}))||[]}}catch(n){throw new g(n,{prefix:"Error fetching site details:"})}}async function Lu(e,t){try{return{customDomains:(await Nu(e).sites.getCustomDomain(t)).customDomains?.map(o=>({id:o.id||"",url:o.url||""}))||[]}}catch(n){throw new g(n,{prefix:"Error fetching custom domains:"})}}async function Mu(e){try{let t=await fetch(`https://${e}/manifest.json`);if(!t.ok)throw new Error(`HTTP ${t.status}: ${t.statusText}`);return await t.json()}catch(t){throw new g(t,{prefix:`Failed to fetch manifest from ${e}:`})}}function Wu(e,t,n){return e.cosmic&&Array.isArray(e.cosmic)?e.cosmic.some(r=>{if(r.mountPath!==t)return!1;if(!n)return!0;if(r.workerUrl)try{return new URL(r.workerUrl).hostname.split(".")[0]===n}catch{return!1}return!1}):!1}async function Pb(e,t,n){try{let r=Nu(e),o=await ai(e,t),i=[];if(n?.domains&&n.domains.length>0)for(let s of n.domains){let a=o.customDomains?.find(l=>l.url===s);a?.id&&i.push(a.id)}await r.sites.publish(t,{customDomains:i,publishToWebflowSubdomain:n?.publishToWebflowSubdomain??!0})}catch(r){throw new g(r,{prefix:"Error publishing site:"})}}Me();$a();J();async function Ib(e,t,n){let{siteId:r,accessToken:o}=e;if(!r)throw new Error("Site ID is required for mount path validation. Standalone apps skip this step.");let i=cr("Validating mount path configuration...").start();try{let s=await ai(o,r),a=await Lu(o,r),l=[`${s.shortName}.webflow.io`,...a.customDomains?.map(h=>h.url)||[]],c=0;i.text=`Validating ${l.length} domain(s) for mount path: ${t}... (0/${l.length})`;let u=l.map(async h=>{try{let v=await Mu(h),k=Array.isArray(v.cosmic)?v.cosmic.map(P=>P.mountPath).filter(P=>typeof P=="string"):[],T=Wu(v,t,n);return{domain:h,mountPaths:k,isValid:T===!0}}catch(v){return{domain:h,mountPaths:[],isValid:!1,error:v instanceof Error?v.message:String(v)}}finally{c++,i.text=`Validating ${l.length} domain(s) for mount path: ${t}... (${c}/${l.length})`}}),p=await Promise.all(u),f=p.some(h=>!h.isValid),m=p.every(h=>h.isValid);return i.succeed("Mount path validation completed"),{isValid:m,domains:p,needsPublishing:f}}catch(s){throw i.fail("Mount path validation failed"),s}}async function jb(e,t,n){let{siteId:r,accessToken:o}=e;if(!r)return[];try{let i=await ai(o,r),s=await Lu(o,r),l=[`${i.shortName}.webflow.io`,...s.customDomains?.map(u=>u.url)||[]].map(async u=>{try{let p=await Mu(u),f=Wu(p,t,n);return{domain:u,isValid:f}}catch(p){return d.debug(`Could not verify mount path for ${u}: ${p}`),{domain:u,isValid:!1}}});return(await Promise.all(l)).filter(u=>u.isValid).map(u=>u.domain)}catch(i){return d.debug(`Error getting valid domains: ${i}`),[]}}function Rb(e,t){return e.map(n=>`${n.startsWith("localhost")||n.startsWith("127.0.0.1")?"http":"https"}://${n}${t}`)}async function $b(e){let t=e.map(r=>({name:r,value:r,checked:!0})),n=await Fi({message:"Select which domains you want to publish to update the mount path configuration:",choices:t,validate:r=>r.length===0?"Please select at least one domain to publish to.":!0});return n??[]}async function Bb(){return await Ae({message:"The mount path doesn't match on some domains. Would you like to publish the site to update the configuration?",default:!0})}async function Uu(e,t){let{siteId:n,accessToken:r}=e;if(!n)throw new Error("Site ID is required to publish. Standalone apps do not use this.");let o=cr(`Publishing site to ${t.length} domain(s)...`).start();try{let s=`${(await ai(r,n)).shortName}.webflow.io`,a=t.includes(s),l=t.filter(c=>c!==s);await Pb(r,n,{domains:l,publishToWebflowSubdomain:a}),o.succeed(`Site published successfully to selected domains: ${t.join(", ")}`)}catch{throw o.fail("Failed to publish site"),new Error("Failed to publish site")}}var or=w(require("path"));ke();J();_e();le();Oe();var ia=w(require("fs"));te();Ce();le();Me();te();J();async function ra(e){let t=await fetch(`${I}/v2/workspaces`,{method:"GET",headers:{Authorization:`Bearer ${e}`}});if(!t.ok){let r=await t.text(),o={};try{o=JSON.parse(r)}catch{}throw t.status===403&&o.code==="missing_scopes"?new g(`Missing required scopes for workspace access.
139
+ `)}async prepareConfig(){let{log:e,cwd:r,userEnv:n}=this.ctx,o=this.hasCustomWorkerEntry();or(e,r,"vite.config",["mjs","cjs","js","ts"])===null&&(e.info("no user vite.config.{mjs,cjs,js,ts} found \u2014 writing empty clouduser.vite.config.ts stub"),tt.writeFileSync(Le.join(r,"clouduser.vite.config.ts"),`export default {};
140
+ `));let s=Le.join(Yi,"vite.config.webflow.ts");at(s)&&(e.info("Copying vite.config.webflow.ts..."),tt.copyFileSync(s,Le.join(r,"vite.config.webflow.ts")));let a=Le.join(Yi,"vite.config.ts.template"),l=Le.join(r,"vite.config.ts");e.info("Generating vite.config.ts from template..."),await nr(e,a,l,{...process.env,...n}),o||this.ensureWorkerEntry()}getBuildCommand(){return"vite build"}getNodeVersionRequirement(){return{minimum:"18.0.0",severity:"error"}}static getOutputDeployMetadata(){return{staticAssetsPath:"dist/client",workerEntryPath:"./src/worker.ts",deploymentType:"ssr-spa-combo",usesAssetsBinding:!0}}};var $m=[Nr,jr,vn,En],vo=["astro","nextjs","vite"];function Xi(t,e){for(let r of $m){let n=r.detect(t,e);if(n.detected)return{Builder:r,result:n}}return null}function Bl(t,e){let r=Xi(t.packageJson,e);if(!r)throw new tr("Could not detect framework from package.json or webflow.json",{remediation:`Create a webflow.json file with: { "cloud": { "framework": "astro" } } (or one of: ${vo.join(", ")})`});return t.log.info(`Detected framework: ${r.result.reason}`),new r.Builder(t)}function Ml(t,e,r,n){let o=Rm.join(e,"webflow.json"),i={cloud:{}};if(xn.existsSync(o))try{let a=xn.readFileSync(o,"utf8"),l=JSON.parse(a),u=Zi.safeParse(l);if(u.success)i=u.data;else{let f=u.error.issues.map(p=>`${p.path.join(".")}: ${p.message}`).join(", ");t.warn(`webflow.json has schema issues (will be corrected): ${f}`),i=l}i.cloud||(t.warn('webflow.json is missing "cloud" property, adding it'),i.cloud={})}catch(a){t.warn(`Failed to parse existing webflow.json, overwriting: ${a}`)}let s=i.cloud;if(s.framework=r,n){let a=n.getOutputDeployMetadata();s.deployment_type=a.deploymentType,a.dryRunEntryPath?s.entrypoint_path=a.dryRunEntryPath:s.entrypoint_path="./index.js",a.skipNoBundle&&(s.skip_no_bundle=!0),a.assetsSourceSkipMountPath&&(s.assets_source_skip_mount_path=!0)}t.info(`Creating webflow.json with framework: ${r}`),xn.writeFileSync(o,JSON.stringify(i,null,2))}function Pm(t,e){let r=Dn(t,e);if(r?.cloud?.framework)return r.cloud.framework;let n=wo(e);if(!n)throw new tr("Cannot detect framework: no package.json found",{remediation:'Run this command from your project root, or add a webflow.json with: { "cloud": { "framework": "<name>" } }'});t.info("webflow.json has no framework \u2014 detecting from package.json...");let o=Xi(n,r);if(!o)throw new tr("Could not detect framework from package.json or webflow.json",{remediation:'Add a webflow.json with: { "cloud": { "framework": "<name>" } } (supported: astro, nextjs, vite)'});let i=o.Builder.frameworkName;return t.info(`Detected framework: ${o.result.reason}`),Ml(t,e,i),i}_();var jm=L.object({name:L.string(),main:L.string().optional(),compatibility_date:L.string(),compatibility_flags:L.array(L.string()).optional(),placement:L.object({mode:L.string()}).passthrough().optional(),assets:L.object({directory:L.string(),binding:L.string().optional()}).passthrough().optional(),d1_databases:L.array(L.object({database_name:L.string(),database_id:L.string(),binding:L.string(),migrations_dir:L.string().optional()}).passthrough()).default([]),kv_namespaces:L.array(L.object({binding:L.string(),id:L.string()}).passthrough()).default([]),r2_buckets:L.array(L.object({binding:L.string(),bucket_name:L.string()}).passthrough()).default([])}).passthrough();function Nm(t){return t.issues.map(e=>` - ${e.path.length>0?e.path.join("."):"<root>"}: ${e.message}`).join(`
141
+ `)}function Bm(t,e="wrangler.json"){let r=lt.join(t,e);if(!_e.existsSync(r)){if(e.endsWith(".json"))return c.warn(`/${e} not found, checking for /${e}c`),Bm(t,e+"c");c.warn(`/${e} not found`);return}let n=_e.readFileSync(r,"utf8");c.info(`reading /${e}...`);let o;try{o=Ir(n)}catch(s){c.error(`/${e} loaded but could not parse as JSONC: ${s}`);return}let i=jm.safeParse(o);if(!i.success){c.error(`/${e} loaded but schema validation failed:
142
+ ${Nm(i.error)}`);return}return c.info(`successfully loaded /${e}`),i.data}async function Mm(t,e){let r=null,n=null,o=lt.join(e,"wrangler.json"),i=lt.join(e,"wrangler.jsonc");_e.existsSync(o)?(r=o,n=".json"):_e.existsSync(i)&&(r=i,n=".jsonc"),r&&n&&(c.info(`saving user-provided wrangler JSON as /clouduser.wrangler${n}...`),_e.copyFileSync(r,lt.join(e,`clouduser.wrangler${n}`)));let s=r?Bm(e,lt.basename(r)):null,a=t.getWranglerTemplatePath(),l=lt.join(e,"wrangler.json");if(!_e.existsSync(a))throw new Error(`Wrangler template not found at ${a}. Make sure the template is properly copied during build.`);if(c.info(`copying wrangler template for ${t.info.name} to /wrangler.json`),_e.copyFileSync(a,l),!s)return;let u=JSON.parse(_e.readFileSync(l,"utf8"));if(s.kv_namespaces&&s.kv_namespaces.length>0&&(u.kv_namespaces=s.kv_namespaces,c.info(`merged ${s.kv_namespaces.length} KV namespace(s) into template`)),s.r2_buckets&&s.r2_buckets.length>0&&(u.r2_buckets=s.r2_buckets,c.info(`merged ${s.r2_buckets.length} R2 bucket(s) into template`)),s.d1_databases&&s.d1_databases.length>0&&(u.d1_databases=s.d1_databases,c.info(`merged ${s.d1_databases.length} D1 database(s) into template`)),_e.writeFileSync(l,JSON.stringify(u,null,2)),s.d1_databases.length!==0)for(let f in s.d1_databases){let p=s.d1_databases[f];if(!p.migrations_dir){c.info(`skipping migrations for database ${f} in wrangler.json; migrations dir is not defined`);continue}let g=p.migrations_dir,h=lt.join(e,g);if(!_e.existsSync(h)){c.info(`skipping migrations for database ${f} in wrangler.json; migrations dir (/${g}) does not exist`);continue}let w=lt.join(e,"clouduser","migrations",g),F=Pr(c,h,w);F>0?c.info(`copied ${F} migrations to /clouduser/migrations/${g}`):c.info(`skipping migrations for database ${f} in wrangler.json; migrations dir (/${g}) is empty`)}}function Bb(t){if(!/^[a-z0-9-]+$/.test(t))throw new Error(`Invalid object storage bucket name ${JSON.stringify(t)}: Only lowercase letters, numbers, and hyphens are allowed.`);if(t.startsWith("-")||t.endsWith("-"))throw new Error(`Invalid object storage bucket name "${t}": Cannot begin or end with a hyphen.`);if(t.length>27)throw new Error(`Invalid object storage bucket name "${t}": Must be 27 characters or fewer (currently ${t.length} characters).`)}function Lm(t){let e=null;for(let s of[".json",".jsonc"]){let a=lt.join(t,`clouduser.wrangler${s}`);if(_e.existsSync(a)){e=a;break}}if(!e)return;let r=_e.readFileSync(e,"utf8"),n;try{n=Ir(r)}catch(s){throw new Error(`Failed to parse wrangler config at ${e} as JSONC: ${s}`)}let o=jm.safeParse(n);if(!o.success)throw new Error(`Invalid wrangler config at ${e}:
143
+ ${Nm(o.error)}`);let i=o.data;if(i.d1_databases&&i.d1_databases.length>0&&i.d1_databases.length>5)throw new Error(`Too many D1 databases configured: ${i.d1_databases.length}. Maximum allowed is 5.`);if(i.kv_namespaces&&i.kv_namespaces.length>0&&i.kv_namespaces.length>5)throw new Error(`Too many KV namespaces configured: ${i.kv_namespaces.length}. Maximum allowed is 5.`);if(i.r2_buckets&&i.r2_buckets.length>0){if(i.r2_buckets.length>5)throw new Error(`Too many R2 buckets configured: ${i.r2_buckets.length}. Maximum allowed is 5.`);c.info(`validating ${i.r2_buckets.length} object storage bucket name(s)...`);for(let s of i.r2_buckets)Bb(s.bucket_name)}}_();$();H();fe();var Mb="4.82.1",Qi=60;function $t(t,e){let r=Math.min(Qi,process.stdout.columns??Qi),n=`\u2500\u2500\u2500 ${t} ${e} `,o="\u2500".repeat(Math.max(0,r-n.length));c.info(`
144
+ ${Z(`${n}${o}`)}`)}function Ll(t,e){let r=Math.min(Qi,process.stdout.columns??Qi),n=`\u2550\u2550\u2550 ${t} ${e} `,o="\u2550".repeat(Math.max(0,r-n.length));c.info(`
145
+ ${Z(Fn(`${n}${o}`))}`)}async function Um(t=process.cwd(),e,r,n){let o=wo(t);if(!o)throw new Error("No package.json file found");let i=Dn(c,t),s={...n?{COSMIC_MOUNT_PATH:n}:{},...e?{COSMIC_DEPLOY_URL:e}:{},...r&&!e?{COSMIC_DEPLOY_URL:Wb(r)}:{}};return Bl({cwd:t,log:c,packageJson:o,userEnv:s},i)}async function Vm(t,e={}){let r=e.projectPath||process.cwd(),n=Date.now(),o=Y.join(r,".tmp",`webflow-build-${n}`),i=e.outputDir||Y.join(o,"output"),s=e.mountPath||"/app",a=Date.now(),l=Wl(r),u=e.telemetry,f=t.getBuildCommand(),p=t.getOutputDeployMetadata();await u?.sendUsage("cloud_build_start",{framework:t.info.name,buildCommand:f,deploymentType:p.deploymentType,mountPath:s,cloudflareBindings:l}),W.mkdirSync(o,{recursive:!0});try{$t("\u{1F527}","Configure framework"),c.info(`Framework: ${t.info.displayName}`),c.info(`Mount path: ${s}`),c.info(`Deployment type: ${p.deploymentType}`);let g=t.getNodeVersionRequirement();g&&wn(c,g,t.info.displayName),c.info("Validating framework requirements..."),await t.validate(),c.info("Installing framework dependencies..."),await t.installDependencies(),$t("\u2699\uFE0F ","Configure wrangler"),await Mm(t,r),c.info("Preparing framework configuration..."),await t.prepareConfig(),Ml(c,r,t.info.name,t),$t("\u{1F4E6}","Install dependencies"),await Lb(r,t.info.name,e.telemetry),Lm(r),$t("\u{1F3D7}\uFE0F ","Build app"),c.info(`running ${f}...`),await Ub(r,f,e.telemetry),await t.postBuild(),$t("\u{1F9EA}","Wrangler dry-run"),await Vb(r,i),$t("\u{1F4C1}","Copy assets"),await Hb(r,i,t,s),$t("\u{1F381}","Create tarball");let h=await Jb(i),w=Date.now()-a;return c.info(`${T} Build completed in ${(w/1e3).toFixed(1)}s`),await u?.sendUsage("cloud_build_success",{duration:w,framework:t.info.name,buildCommand:f,deploymentType:p.deploymentType,mountPath:s,cloudflareBindings:l}),h}catch(g){let h=Date.now()-a;throw await u?.sendError(g instanceof Error?g:new Error(String(g)),"cloud_build_failure",{duration:h,framework:t.info.name,buildCommand:f,deploymentType:p.deploymentType,mountPath:s,cloudflareBindings:l}),g}}function Wl(t){let e=Y.join(t,"wrangler.json");if(!W.existsSync(e))return{hasKV:!1,hasD1:!1,hasR2:!1,hasVars:!1,kvCount:0,d1Count:0,r2Count:0,varCount:0};try{let r=JSON.parse(W.readFileSync(e,"utf8")),n=r.kv_namespaces||[],o=r.d1_databases||[],i=r.r2_buckets||[],s=r.vars||{};return{hasKV:n.length>0,hasD1:o.length>0,hasR2:i.length>0,hasVars:Object.keys(s).length>0,kvCount:n.length,d1Count:o.length,r2Count:i.length,varCount:Object.keys(s).length}}catch(r){return console.debug("Failed to parse wrangler.json for bindings detection:",r),{hasKV:!1,hasD1:!1,hasR2:!1,hasVars:!1,kvCount:0,d1Count:0,r2Count:0,varCount:0}}}function Hm(t){try{let e=Y.dirname(t);e.includes(".tmp/webflow-build-")&&($t("\u{1F9F9}","Clean up build artifacts"),W.rmSync(e,{recursive:!0,force:!0}))}catch(e){c.warn(`Warning: Failed to clean up build artifacts: ${e}`)}}function Jm(t,e){try{$t("\u{1F9F9}","Revert framework configuration");let r=e.getUserConfigPatterns(),n=new Set;for(let s of r){let a=Y.extname(s).slice(1),l=Y.basename(s,`.${a}`);if(!n.has(l)){n.add(l);for(let u of["mjs","cjs","js","ts"]){let f=Y.join(t,`clouduser.${l}.${u}`),p=Y.join(t,`${l}.${u}`);if(W.existsSync(f)){c.info(`restoring /${l}.${u} from /clouduser.${l}.${u}...`),W.existsSync(p)&&W.unlinkSync(p),W.renameSync(f,p);break}}}}for(let s of[".jsonc",".json"]){let a=Y.join(t,`clouduser.wrangler${s}`);if(W.existsSync(a)){c.info(`restoring user wrangler${s} from backup...`);let l=Y.join(t,"wrangler.json");W.existsSync(l)&&W.unlinkSync(l);let u=Y.join(t,`wrangler${s}`);W.renameSync(a,u);break}}let o=Y.join(t,"clouduser");W.existsSync(o)&&(c.info("cleaning up clouduser directory..."),W.rmSync(o,{recursive:!0,force:!0}));for(let s of e.getAdditionalConfigFiles()){let a=Y.join(t,Y.basename(s));W.existsSync(a)&&(c.info(`cleaning up additional config file ${a}...`),W.unlinkSync(a))}let i=e.getWebflowLoader();if(i){let s=Y.join(t,i.destinationName);W.existsSync(s)&&(c.info(`cleaning up ${i.destinationName}...`),W.unlinkSync(s))}}catch(r){c.warn(`Warning: Failed to cleanup framework configuration: ${r}`)}}async function Lb(t,e,r){let n=Date.now(),o=["--no-update-notifier","--no-progress"],i=Y.join(t,"package-lock.json");try{W.existsSync(i)?(c.info("Running npm ci --include=dev..."),(0,Eo.execSync)(`npm ci --include=dev ${o.join(" ")}`,{cwd:t,stdio:"inherit"})):(c.info("Warning: No package-lock.json found, installing dependencies with npm install --include=dev"),(0,Eo.execSync)(`npm install --include=dev ${o.join(" ")}`,{cwd:t,stdio:"inherit"}));let s=Date.now()-n;await r?.sendUsage("cloud_install_dependencies_success",{duration:s,framework:e,hasPackageLock:W.existsSync(i)})}catch(s){let a=Date.now()-n;throw await r?.sendError(s instanceof Error?s:new Error(String(s)),"cloud_install_dependencies_failure",{duration:a,framework:e,hasPackageLock:W.existsSync(i)}),s}}function Wb(t){let e="production",r;switch(e){case"development":r="wf-app-dev";break;case"acceptance":r="wf-app-acceptance";break;default:r="wf-app-prod"}return`https://${t}.${r}.cosmic.webflow.services`}async function Ub(t,e,r){let n=Date.now();try{(0,Eo.execSync)(`npm exec -- ${e}`,{cwd:t,stdio:"inherit"});let o=Date.now()-n;await r?.sendUsage("cloud_build_command_success",{duration:o,buildCommand:e})}catch(o){let i=Date.now()-n;throw await r?.sendError(o instanceof Error?o:new Error(String(o)),"cloud_build_command_failure",{duration:i,buildCommand:e}),new Error(`Build command failed: ${e}`)}}async function Vb(t,e){W.mkdirSync(e,{recursive:!0});let r=Y.join(t,"wrangler.json"),n=Y.join(t,"wrangler.jsonc");if(!W.existsSync(r)&&!W.existsSync(n))throw new Error("Missing wrangler configuration: wrangler.json or wrangler.jsonc file is required");(0,Eo.execSync)(`npx wrangler@${Mb} deploy --dry-run --outdir="${e}"`,{cwd:t,stdio:"inherit"})}async function Hb(t,e,r,n){let o=r.getOutputDeployMetadata(),i=o.staticAssetsPath,s=o.staticAssetsExclude?.[0],a=o.assetsSourceSkipMountPath===!0,l=n.replace(/\/+$/,"").replace(/^\/+/,"");if(!a&&l&&(r.info.name==="nextjs"||r.info.name==="astro")){let h=Y.join(t,i);if(W.existsSync(h)&&W.statSync(h).isDirectory()){let F=W.readdirSync(h,{withFileTypes:!0}).find(O=>!(!O.isDirectory()||s&&O.name===s||r.info.name==="astro"&&(O.name==="_routes.json"||O.name==="_worker.js")));F&&(i=`${i}/${F.name}`)}}let u=Y.join(e,"assets",l||"");W.mkdirSync(u,{recursive:!0});let f=Y.join(t,i);if(W.existsSync(f)&&W.statSync(f).isDirectory()){c.info(`copying assets from /${i} to output/assets...`);try{s?(c.info(`excluding ${s}`),Pr(c,f,u,{exclude:s})):Pr(c,f,u)}catch(h){c.error(h,{prefix:"Failed to copy assets:"})}}else c.info("No assets to copy or assets directory not found");let p=Y.join(t,"webflow.json");W.existsSync(p)?(c.info("including webflow.json in output..."),W.copyFileSync(p,Y.join(e,"webflow.json"))):c.warn("webflow.json not found at project root; deploy may fail framework detection");let g=null;for(let h of[".json",".jsonc"]){let w=Y.join(t,`clouduser.wrangler${h}`);if(W.existsSync(w)){g=w;break}}if(g){c.info("including user wrangler config in output..."),W.copyFileSync(g,Y.join(e,"clouduser.wrangler.json"));let h=Y.join(t,"clouduser","migrations");if(W.existsSync(h)){c.info("copying migrations from clouduser/migrations to output/migrations...");let w=Y.join(e,"migrations");Pr(c,h,w)}}}async function Jb(t){let e=`${t}.tar.gz`;try{return await Wm.create({gzip:!0,file:e,cwd:Y.dirname(t)},[Y.basename(t)]),c.info(`Tarball created: ${e}`),e}catch(r){throw new d(r,{prefix:"Failed to create tarball:"})}}De();ie();_();var Gb="DUPLICATE_ENVIRONMENT_MOUNT",zb="ENVIRONMENT_MOUNT_MISMATCH",qb="DUPLICATE_ENVIRONMENT_BRANCH",Kb="INVALID_MOUNT_PATH_FORMAT",Zb="INVALID_PROJECT_ID",Gm={[Gb]:"An environment with this mount path already exists for this site. Please choose a different mount path.",[zb]:"This environment already exists with a different mount path. Please create a new environment or use the existing environment's mount path.",[qb]:"An environment with this branch already exists for this project.",[Kb]:"Mount path format is invalid. It must start with a / and be followed by at least one character (e.g., /app).",[Zb]:"Invalid project ID. This project may have been deleted or belongs to a different site. Please remove the 'project_id' from your webflow.json file and redeploy to create a new project."};function zm(t){let e={timestamp:new Date().toISOString()};if(t instanceof Error)e.code=t.name,e.msg=t.message,e.stack=t.stack;else if(typeof t=="object"&&t!==null){let i=t;e.code=typeof i.code=="string"?i.code:void 0,e.msg=typeof i.msg=="string"?i.msg:void 0,e.status=typeof i.status=="number"?i.status:void 0}let r=e.msg||"",n=e.status??e.code,o=typeof n=="number"?n:typeof n=="string"&&/^\d+$/.test(n)?Number(n):void 0;if(c.error(`Error Details: ${JSON.stringify({timestamp:e.timestamp,code:e.code,message:e.msg,status:e.status,stack:e.stack},null,2)}`),o===401)return"Your access token is expired or invalid. Run 'webflow auth login' to re-authenticate.";if(o===403)return"Your access token is missing required permissions. Run 'webflow auth login' to re-authenticate with the necessary scopes.";for(let i in Gm)if(r.includes(i))return Gm[i];return`An unknown error occurred. Error code: ${e.code||"N/A"}, Message: ${e.msg||"No message provided"}`}var _n=m(require("fs")),Ul=require("child_process");_();$();H();var qm=104857600;function Km(t){if(t===0)return"0 B";let e=1024,r=["B","KB","MB","GB"],n=Math.floor(Math.log(t)/Math.log(e));return`${parseFloat((t/Math.pow(e,n)).toFixed(1))} ${r[n]}`}function Yb(){try{let t=(0,Ul.execSync)("git rev-parse HEAD",{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim();if(!/^[0-9a-f]{40}$/.test(t))throw new Error("Invalid commit hash format");try{return(0,Ul.execSync)("git status --porcelain --untracked-files=no",{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim().length>0?`git@${t}+dirty`:`git@${t}`}catch{return`git@${t}`}}catch{return`noversion@${new Date().toISOString()}`}}async function Vl(t,e,r){let n=await fetch(`${C}${e}`,{method:r.method,headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},body:r.body?JSON.stringify(r.body):void 0});if(!n.ok){let o=await n.text(),i;try{i=JSON.parse(o)}catch{i={msg:o}}let s=zm(i);throw new Error(s)}return n.json()}async function Zm(t,e,r,n){let{manifest:o}=G(),i=o.cloud||{},s=i.project_id,a=i.framework;if(!a)throw new d("No framework specified in webflow.json. Please ensure your webflow.json has a cloud.framework property");let l=await Xb({siteId:t.siteId,apiToken:t.accessToken,framework:a,mountPath:r,environment:e,projectId:s,projectName:n?.projectName,description:n?.description,directory:n?.directory,version:Yb()});return!s&&l.project_id&&(oe({cloud:{...i,project_id:l.project_id}}),c.info(`${T} Project ID updated in webflow.json`)),l}async function Xb(t){let{siteId:e,framework:r,mountPath:n,environment:o,version:i,projectId:s,projectName:a,description:l,directory:u}=t,f={framework:r,mount_path:n,environment:o,version:i};s&&(f.project_id=s),a&&(f.project_name=a),l&&(f.description=l),u&&(f.app_path=u);let p=e?`/cosmic/${e}/cli-deploy-init`:"/cosmic/cli-deploy-init";return Vl(t.apiToken,p,{method:"POST",body:f})}async function Ym(t,e){let{siteId:r,accessToken:n}=t,o=r?`/cosmic/${r}/cli-project-environments/${e}`:`/cosmic/cli-project-environments/${e}`;return Vl(n,o,{method:"GET"})}async function Xm(t){let{siteId:e,accessToken:r}=t,n=e?`/cosmic/${e}/cli-projects`:"/cosmic/cli-projects";return Vl(r,n,{method:"GET"})}async function Qm(t,e){if(!_n.existsSync(t))throw new Error(`Tarball not found at ${t}`);let r=_n.statSync(t);if(r.size>qm)throw new Error(`Build output is too large (${Km(r.size)}). Maximum allowed size is ${Km(qm)}.`);let n=_n.readFileSync(t),o=JSON.parse(e);if(!o.fields)throw new Error("Upload URL is missing fields property");let i=new FormData;Object.entries(o.fields).forEach(([l,u])=>{i.append(l,u)});let s=new Blob([n],{type:"application/gzip"});i.append("file",s,"output.tar.gz");let a=await fetch(o.url,{method:"POST",body:i});if(!a.ok){let l=await a.text();throw new d(l,{prefix:`${E} Upload failed with response:`})}}async function eg(t,e){if(!t||t==="undefined")throw new d("Completion URL is undefined or invalid");let r=new URL(t);e&&r.searchParams.set("failed","true");let n=await fetch(r.toString(),{method:"GET"});if(!n.ok)throw new d(`Failed to trigger deployment: ${n.status} ${n.statusText}`)}var tg=require("webflow-api");ie();ie();$();function Hl(t){return new tg.WebflowClient({accessToken:t,environment:{base:`${C}/v2`,dataApi:`${C}/v2`,contentDeliveryApi:`${Wo}/v2`}})}async function xo(t,e){try{let n=await Hl(t).sites.get(e);return{id:n.id||e,displayName:n.displayName||"Unknown Site",shortName:n.shortName||"unknown-site",customDomains:n.customDomains?.map(o=>({id:o.id||"",url:o.url||""}))||[]}}catch(r){throw new d(r,{prefix:"Error fetching site details:"})}}async function Jl(t,e){try{return{customDomains:(await Hl(t).sites.getCustomDomain(e)).customDomains?.map(o=>({id:o.id||"",url:o.url||""}))||[]}}catch(r){throw new d(r,{prefix:"Error fetching custom domains:"})}}async function Gl(t){try{let e=await fetch(`https://${t}/manifest.json`);if(!e.ok)throw new Error(`HTTP ${e.status}: ${e.statusText}`);return await e.json()}catch(e){throw new d(e,{prefix:`Failed to fetch manifest from ${t}:`})}}function zl(t,e,r){return t.cosmic&&Array.isArray(t.cosmic)?t.cosmic.some(n=>{if(n.mountPath!==e)return!1;if(!r)return!0;if(n.workerUrl)try{return new URL(n.workerUrl).hostname.split(".")[0]===r}catch{return!1}return!1}):!1}async function rg(t,e,r){try{let n=Hl(t),o=await xo(t,e),i=[];if(r?.domains&&r.domains.length>0)for(let s of r.domains){let a=o.customDomains?.find(l=>l.url===s);a?.id&&i.push(a.id)}await n.sites.publish(e,{customDomains:i,publishToWebflowSubdomain:r?.publishToWebflowSubdomain??!0})}catch(n){throw new d(n,{prefix:"Error publishing site:"})}}Be();_();async function ng(t,e,r){let{siteId:n,accessToken:o}=t;if(!n)throw new Error("Site ID is required for mount path validation. Standalone apps skip this step.");let i=c.spinner("Validating mount path configuration");try{let s=await xo(o,n),a=await Jl(o,n),l=[`${s.shortName}.webflow.io`,...a.customDomains?.map(w=>w.url)||[]],u=0;i.update(`Validating ${l.length} domain(s) for mount path: ${e}... (0/${l.length})`);let f=l.map(async w=>{try{let F=await Gl(w),O=Array.isArray(F.cosmic)?F.cosmic.map(K=>K.mountPath).filter(K=>typeof K=="string"):[],ne=zl(F,e,r);return{domain:w,mountPaths:O,isValid:ne===!0}}catch(F){return{domain:w,mountPaths:[],isValid:!1,error:F instanceof Error?F.message:String(F)}}finally{u++,i.update(`Validating ${l.length} domain(s) for mount path: ${e}... (${u}/${l.length})`)}}),p=await Promise.all(f),g=p.some(w=>!w.isValid),h=p.every(w=>w.isValid);return i.succeed("Mount path validation completed"),{isValid:h,domains:p,needsPublishing:g}}catch(s){throw i.fail("Mount path validation failed"),s}}async function og(t,e,r){let{siteId:n,accessToken:o}=t;if(!n)return[];try{let i=await xo(o,n),s=await Jl(o,n),l=[`${i.shortName}.webflow.io`,...s.customDomains?.map(f=>f.url)||[]].map(async f=>{try{let p=await Gl(f),g=zl(p,e,r);return{domain:f,isValid:g}}catch(p){return c.debug(`Could not verify mount path for ${f}: ${p}`),{domain:f,isValid:!1}}});return(await Promise.all(l)).filter(f=>f.isValid).map(f=>f.domain)}catch(i){return c.debug(`Error getting valid domains: ${i}`),[]}}function ig(t,e){return t.map(r=>`${r.startsWith("localhost")||r.startsWith("127.0.0.1")?"http":"https"}://${r}${e}`)}async function sg(t){let e=t.map(n=>({name:n,value:n,checked:!0})),r=await Ho({message:"Select which domains you want to publish to update the mount path configuration:",choices:e,validate:n=>n.length===0?"Please select at least one domain to publish to.":!0});return r??[]}async function ag(){return await Te({message:"The mount path doesn't match on some domains. Would you like to publish the site to update the configuration?",default:!0})}async function ql(t,e){let{siteId:r,accessToken:n}=t;if(!r)throw new Error("Site ID is required to publish. Standalone apps do not use this.");let o=c.spinner(`Publishing site to ${e.length} domain(s)`);try{let s=`${(await xo(n,r)).shortName}.webflow.io`,a=e.includes(s),l=e.filter(u=>u!==s);await rg(n,r,{domains:l,publishToWebflowSubdomain:a}),o.succeed(`Site published successfully to selected domains: ${e.join(", ")}`)}catch{throw o.fail("Failed to publish site"),new Error("Failed to publish site")}}_();fe();var Br=m(require("path"));De();ie();Fe();var rs=m(require("fs"));$();ie();Be();$();_();async function es(t){let e=await fetch(`${C}/v2/workspaces`,{method:"GET",headers:{Authorization:`Bearer ${t}`}});if(!e.ok){let n=await e.text(),o={};try{o=JSON.parse(n)}catch{}throw e.status===403&&o.code==="missing_scopes"?new d(`Missing required scopes for workspace access.
161
146
  ${o.message??""}
162
- Re-run 'webflow auth login' to grant the necessary permissions.`):new g(`Failed to fetch workspaces: ${t.status} ${t.statusText}`+(o.message?`
163
- ${o.message}`:""))}return(await t.json()).workspaces}async function oa(e){if(e.length===1)return e[0];let t=await Le({message:"Select the workspace for this project:",choices:e.map(n=>({name:n.name,value:n}))});return t||(d.warn(`Auto fallback to first workspace: ${e[0].name}`),e[0])}var aa=async()=>{try{let e=Du(),t=vu();return[...new Set([...e,...t])]}catch(e){return d.error(e,{prefix:"Failed to get available scaffolds:"}),[]}},iA=async(e,t,n)=>{let r;if("content"in n)r=n.content.files;else{let l=n[t];if(!l)throw new Error(`Scaffold "${t}" not found`);r=l}let o=r.find(l=>l.includes(Rn));if(!o)throw new Error(`No ${Rn} found in scaffold "${t}"`);await ia.promises.mkdir(e,{recursive:!0});let s=(await ia.promises.readFile(o,"utf8")).replace(Us,e),a=or.join(e,Rn);await ia.promises.writeFile(a,s,"utf8")},Vu=async(e,t,n=Ws,r,o=fe.Existing,i)=>{if(o===fe.New)throw new g("Standalone projects are only available in @next builds. Install with: npm i -g @webflow/webflow-cli@next");if(o===fe.New){try{let a=await Cu(n);await sA(e,t,a.scaffoldId,{content:a},n,i)}catch(a){if(a instanceof ve){let l=a.message;throw a.supportedIds?.length&&(l+=`
164
- Available frameworks: ${a.supportedIds.join(", ")}`),new g(l)}throw a}return}try{let a=await Vs(n);await aA(e,t,n,{content:a},r)}catch(a){if(a instanceof ve){let l=a.message;throw a.supportedIds?.length&&(l+=`
165
- Available frameworks: ${a.supportedIds.join(", ")}`),new g(l)}throw a}},sA=async(e,t,n,r,o,i)=>{let s=`./${e}`,a="content"in r&&typeof r.content=="object"&&"extractionRoot"in r.content?r.content:null,l=a?or.dirname(a.extractionRoot):null;try{let c=Date.now(),u=await Y(),p;if(i)p={id:i};else{let h=await ra(u);if(h.length===0)throw new g("No workspaces found in your account. Please make sure you have at least one workspace.");p=await oa(h)}await Zo(e,t,n,r,void 0,void 0),process.chdir(s);let f=o??n;se({cloud:{framework:f,workspace_id:p.id}}),Ot({apiToken:u,directory:"."}),process.env.WEBFLOW_API_TOKEN=u;let m=Date.now()-c;try{await G.forCloud({authToken:u}).sendUsage("project_init",{scaffold:f,scaffoldName:f,initMode:fe.New,workspaceId:p.id,totalDuration:m,mountPath:t})}catch{}}catch(c){if(c instanceof g||c instanceof Error&&c.message.includes("OAuth")){try{await Zo(e,t,n,r),process.chdir(s),se({cloud:{framework:o??n}}),Ot({directory:"."})}catch{}throw d.error("Project scaffold was created, but authentication failed."),d.error("To set up Webflow credentials later, run:"),d.error(" webflow auth login"),sa(e,fe.New),new g(c,{skipLogging:!0})}throw c}finally{if(l)try{zu.default.removeSync(l)}catch{}}sa(e,fe.New)},aA=async(e,t,n,r,o)=>{let i=`./${e}`,s=null,a=!1,l="content"in r&&typeof r.content=="object"&&"extractionRoot"in r.content?r.content:null,c=l?or.dirname(l.extractionRoot):null;try{let u=Date.now();await iA(e,n,r),process.chdir(i);let{manifest:p}=Q(),f=await be(p,{site:o}),m=f.accessToken,h=f.siteId;if(s=G.forCloud({authToken:m,siteId:h}),await Zo(".",t,n,r,h,m),h){d.info("Running devlink export to fetch your Webflow components...");try{await lA({site:h,apiToken:m}),a=!0}catch(k){d.error(k,{prefix:"Failed to run devlink export:"}),d.info("You can manually run 'npx webflow devlink export' later to export your components.")}}let v=Date.now()-u;await s?.sendUsage("project_init",{scaffold:n,scaffoldName:n,devlinkSyncStatus:a,totalDuration:v,mountPath:t}),sa(e,fe.Existing)}catch(u){throw d.error(u,{prefix:"Error during Webflow authentication:"}),await Zo(".",t,n,r),d.error("Project scaffold was created, but authentication failed."),d.error("To set up Webflow credentials later, run:"),d.error(" webflow auth login"),sa(e,fe.Existing),new g(u,{skipLogging:!0})}finally{if(c)try{zu.default.removeSync(c)}catch{}}},lA=async e=>{let{exportComponents:t}=await Promise.resolve().then(()=>(Uc(),iy));await t({site:e.site,apiToken:e.apiToken})},cA=e=>{if(e?.skipMountPathCheck!==void 0)return e.skipMountPathCheck;try{let{manifest:t}=Q();return wu(t)?!0:t.cloud?.skipMountPathCheck===!0}catch{return!1}},uA=async(e,t,n,r)=>{d.info("\u{1F50D} Validating mount path configuration...");let o=await Ib(e,t,n);if(o.isValid)d.info(`${ee} Mount path validation passed`);else if(d.info(`
166
- \u{1F4CB} Mount path validation results:`),o.domains.forEach(i=>{let s=i.isValid?ee:N,a=i.isValid?`(mountPath: ${i.mountPaths[0]})`:"(no matching mountPath)";d.info(`${s} ${i.domain} ${a}`),i.error&&d.debug(` Error: ${i.error}`)}),o.needsPublishing)if(r){d.info("\u{1F680} Auto-publishing site to update mount path configuration...");let i=o.domains.filter(s=>!s.isValid).map(s=>s.domain);await Uu(e,i)}else if(await Bb()&&mt()){let s=o.domains.filter(l=>!l.isValid).map(l=>l.domain),a=await $b(s);await Uu(e,a)}else d.warn("\u26A0\uFE0F Continuing with deployment without publishing...")},dA=async(e,t,n,r)=>{d.info(`
167
- \u{1F3D7}\uFE0F Building project...`);let o=await bb(e,{mountPath:n,telemetry:r?.telemetry,deployUrl:t.deploy_url,environmentId:t.environment_id});d.info("\u{1F4E4} Uploading build artifacts...");let i=Date.now();await Ab(o,t.upload_url);let s=Date.now()-i;return d.info(`${ee} Upload completed in ${(s/1e3).toFixed(1)}s`),o},pA=async(e,t,n,r)=>{d.success(`
168
- \u{1F310} Your cloud app will soon be available at:`);try{let o=r?.domainsOverride??await jb(e,t,n),i=Rb(o??[],t);i?.length>0?i.forEach(s=>{d.info(` ${s}`)}):d.warn(" No domains found with the correct mount path configuration yet.")}catch(o){d.warn(` Could not determine deployment links: ${o instanceof Error?o.message:o}`)}},fA=e=>{e.site_slug?d.success(`Visit your deployment:
169
-
170
- ${fr}/dashboard/sites/${e.site_slug}/webflow-cloud/projects/${e.project_id}/environments/${e.environment_id}/deployments/${e.deployment_id}`):d.info(`
171
- Visit the webflow Cloud dashboard to view your deployment: https://webflow.com/dashboard/sites`)},mA=async(e,t,n,r,o)=>{try{if(await Tb(t.completion_url,!!r),r)d.error(`
172
- ${N} Deployment failed due to build error.`);else{d.success(`
173
- ${ee} Deployment triggered successfully!`);let i;try{let{manifest:s}=Q();wu(s)&&(i=[`${o?.projectName??or.basename(process.cwd())}.webflow.io`])}catch(s){d.debug(`Could not read manifest for standalone deploy link hint: ${s instanceof Error?s.message:String(s)}`)}await pA(e,n,t.environment_id,i!==void 0?{domainsOverride:i}:void 0),fA(t)}}catch(i){throw new g(i,{prefix:"Failed to trigger deployment:"})}},gA=(e,t)=>{e&&vb(process.cwd(),e),t&&Db(t)},Nb=async(e,t,n,r)=>{let o=null,i=null,s=Date.now(),a=null,l=null,c=Ru(process.cwd()),u=r?.telemetry;await u?.sendUsage("cloud_deploy_start",{environment:t,mountPath:n,projectName:r?.projectName,hasDescription:!!r?.description,hasDirectory:!!r?.directory,cloudflareBindings:c});try{d.info("\u{1F3D7}\uFE0F Building project..."),ub(d,process.cwd()),o=await Fb(e,t,n,r),d.info("\u{1F527} Detecting framework..."),a=await wb(process.cwd(),o.deploy_url,o.environment_id,n),d.info(`Framework: ${a.info.displayName}`),d.info(`Build command: ${a.getBuildCommand()}`),cA(r)?d.info("\u23ED\uFE0F Skipping mount path validation..."):await uA(e,n,o.environment_id,r?.autoPublish),i=await dA(a,o,n,r),d.info(`Starting deployment process for environment: ${t} at mount path: ${n}`);let p=Date.now()-s;await u?.sendUsage("cloud_deploy_success",{duration:p,environment:t,mountPath:n,projectName:r?.projectName,hasDescription:!!r?.description,hasDirectory:!!r?.directory,framework:a.info.name,buildCommand:a.getBuildCommand(),cloudflareBindings:c})}catch(p){l=p instanceof Error?p:new Error(String(p)),d.error(l,{prefix:"Error during deployment initialization:"});let f=Date.now()-s;await u?.sendError(l,"cloud_deploy_failure",{duration:f,environment:t,mountPath:n,projectName:r?.projectName,cloudflareBindings:c,argv:process.argv.slice(2)})}finally{if(gA(a,i),o&&await mA(e,o,n,l,{projectName:r?.projectName}),l)throw new g(l,{skipLogging:!0})}},sa=(e,t)=>{d.info("--- "),d.info(E.bold.green("Get started with the following commands:")),d.info(` cd ${e}`),d.info(" npm install"),d.info(" npm run dev"),d.info(` webflow cloud deploy
174
-
175
- `),t!==fe.New&&(d.info("Run the following command to export Webflow components when they update:"),d.info(` webflow devlink export
176
- `)),d.info(`
177
- --- `)};ke();Me();Be();J();Oe();var Lb=w(require("path"));function ir(e){if(!e||e.trim()==="")return"/";let t=Lb.posix.normalize(e);return t.startsWith("/")||(t="/"+t),t.length>1&&t.endsWith("/")&&(t=t.slice(0,-1)),t=t.split("/").map((r,o)=>o===0?r:encodeURIComponent(r)).join("/"),t}function la(e){return!(!e||e.trim()===""||!e.startsWith("/")||e.includes(".."))}te();var Mb=require("crypto");le();te();async function Wb(e){let{accessToken:t,workspaceId:n,displayName:r,description:o,appPath:i}=e,a={requestId:(0,Mb.randomUUID)(),cloudApp:{displayName:r,description:o,appPath:i,source:{type:"CLI",cli:{sourceUrl:Aw}}}},l=`${I}/cosmic/workspaces/${n}/cloudApps`,c=await fetch(l,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json","Accept-Version":"1.0.0"},body:JSON.stringify(a)});if(!c.ok){let u=await c.text();throw hA(c.status,c.statusText,u)}return c.json()}function hA(e,t,n){let r={};try{r=JSON.parse(n)}catch{}return e===403?r.publicErrorCode==="missing_scopes"?new g(`Missing required scopes to create a Cloud app.
178
- ${r.msg??""}
179
- Re-run 'webflow auth login' to grant the necessary permissions.`):new g(r.msg??"You don't have permission to create apps in this workspace."):e===404?new g("Cloud app creation is not available. The workspace may not exist or the feature is not enabled for your account."):e===409?r.msg?.includes("No new sites can be created")?new g(`Failed to create app: your workspace has reached its app limit.
180
- Upgrade your plan or remove unused apps to create a new one.`):new g(r.msg??"A Cloud app creation request is already being processed. Please wait and try again."):new g(`Failed to create app: ${e} ${t}`+(r.msg?`
181
- ${r.msg}`:""))}We();ke();te();Oe();Me();J();We();function yA(){return!1}async function Vb(e={}){wA(e);let t=await bA(e,Q().manifest);return{credentials:t.credentials,workspaceId:t.workspaceId,manifest:Q().manifest}}function wA(e){if(e.siteId&&e.workspaceId)throw new g("--site-id and --workspace-id are mutually exclusive. Pass exactly one.")}async function bA(e,t){let n=yA();if(e.siteId)return Ub(t,e.siteId);if(e.workspaceId&&n)return zb(e.workspaceId);if(t.siteId)return Ub(t,t.siteId);if(t.cloud?.workspace_id&&n)return zb(t.cloud.workspace_id);if(process.env.WEBFLOW_SITE_ID)return n&&d.info("Using site from WEBFLOW_SITE_ID env var. Pass --site-id explicitly or unset to see the deploy mode picker."),Ju(t);if(oe()||!mt())throw new g(n?`No identity configured for this project.
147
+ Re-run 'webflow auth login' to grant the necessary permissions.`):new d(`Failed to fetch workspaces: ${e.status} ${e.statusText}`+(o.message?`
148
+ ${o.message}`:""))}return(await e.json()).workspaces}async function ts(t){if(t.length===1)return t[0];let e=await Ne({message:"Select the workspace for this project:",choices:t.map(r=>({name:r.name,value:r}))});return e||(c.warn(`Auto fallback to first workspace: ${t[0].name}`),t[0])}H();var Zl=null;process.once("exit",()=>Zl?.());var ns=async()=>{try{let t=Cl(),e=Fl();return[...new Set([...t,...e])]}catch(t){return c.error(t,{prefix:"Failed to get available scaffolds:"}),[]}},Qb=async(t,e,r)=>{let n;if("content"in r)n=r.content.files;else{let l=r[e];if(!l)throw new Error(`Scaffold "${e}" not found`);n=l}let o=n.find(l=>l.includes(gr));if(!o)throw new Error(`No ${gr} found in scaffold "${e}"`);await rs.promises.mkdir(t,{recursive:!0});let s=(await rs.promises.readFile(o,"utf8")).replace(Bi,t),a=Br.join(t,gr);await rs.promises.writeFile(a,s,"utf8")},Yl=async(t,e,r=Ni,n,o=he.Existing,i)=>{if(he.New,o===he.New){try{let a=await Tl(r);await ev(t,e,a.scaffoldId,{content:a},r,i)}catch(a){if(a instanceof be){let l=a.message;throw a.supportedIds?.length&&(l+=`
149
+ Available frameworks: ${a.supportedIds.join(", ")}`),new d(l)}throw a}return}try{let a=await Li(r);await tv(t,e,r,{content:a},n)}catch(a){if(a instanceof be){let l=a.message;throw a.supportedIds?.length&&(l+=`
150
+ Available frameworks: ${a.supportedIds.join(", ")}`),new d(l)}throw a}},ev=async(t,e,r,n,o,i)=>{let s=`./${t}`,a="content"in n&&typeof n.content=="object"&&"extractionRoot"in n.content?n.content:null,l=a?Br.dirname(a.extractionRoot):null;try{let u=Date.now(),f=await R(),p;if(i)p={id:i};else{let w=await es(f);if(w.length===0)throw new d("No workspaces found in your account. Please make sure you have at least one workspace.");p=await ts(w)}await uo(t,e,r,n,void 0,void 0),process.chdir(s);let g=o??r;oe({cloud:{framework:g,workspace_id:p.id}}),xt({apiToken:f,directory:"."}),process.env.WEBFLOW_API_TOKEN=f;let h=Date.now()-u;try{await A.forCloud({authToken:f}).sendUsage("project_init",{scaffold:g,scaffoldName:g,initMode:he.New,workspaceId:p.id,totalDuration:h,mountPath:e})}catch{}}catch(u){if(u instanceof d||u instanceof Error&&u.message.includes("OAuth")){try{await uo(t,e,r,n),process.chdir(s),oe({cloud:{framework:o??r}}),xt({directory:"."})}catch{}throw c.error("Project scaffold was created, but authentication failed."),c.error(`To set up Webflow credentials later, run ${M("webflow auth login")}`),new d(u,{skipLogging:!0})}throw u}finally{if(l)try{Kl.default.removeSync(l)}catch{}Zl=cg(t,he.New)}},tv=async(t,e,r,n,o)=>{let i=`./${t}`,s=null,a=!1,l="content"in n&&typeof n.content=="object"&&"extractionRoot"in n.content?n.content:null,u=l?Br.dirname(l.extractionRoot):null;try{let f=Date.now();await Qb(t,r,n),process.chdir(i);let{manifest:p}=G(),g=await ge(p,{site:o}),h=g.accessToken,w=g.siteId;if(s=A.forCloud({authToken:h,siteId:w}),await uo(".",e,r,n,w,h),w){c.info(`${ke} Running devlink export to fetch your Webflow components`);try{await rv({site:w,apiToken:h}),a=!0}catch(O){c.error(O,{prefix:"Failed to run devlink export:"})}}let F=Date.now()-f;await s?.sendUsage("project_init",{scaffold:r,scaffoldName:r,devlinkSyncStatus:a,totalDuration:F,mountPath:e})}catch(f){throw c.error(f,{prefix:"Error during Webflow authentication:"}),await uo(".",e,r,n),c.error("Project scaffold was created, but authentication failed."),c.error("To set up Webflow credentials later, run:"),c.error(" webflow auth login"),new d(f,{skipLogging:!0})}finally{if(u)try{Kl.default.removeSync(u)}catch{}Zl=cg(t,he.Existing)}},rv=async t=>{let{exportComponents:e}=await Promise.resolve().then(()=>(za(),Ad));await e({site:t.site,apiToken:t.apiToken})},nv=t=>{if(t?.skipMountPathCheck!==void 0)return t.skipMountPathCheck;try{let{manifest:e}=G();return xl(e)?!0:e.cloud?.skipMountPathCheck===!0}catch{return!1}},ov=async(t,e,r,n)=>{c.info(le("Validating mount path configuration..."));let o=await ng(t,e,r);if(o.isValid)c.info(M("Mount path validation passed"));else if(c.info(S(`
151
+ Mount path validation results:`)),o.domains.forEach(i=>{let s=i.isValid?T:Ee,a=i.isValid?M(`${i.domain} (mountPath: ${i.mountPaths[0]})`):ce(`${i.domain} (no matching mountPath)`);c.info(`${s} ${a}`),i.error&&c.debug(` Error: ${i.error}`)}),o.needsPublishing)if(n){c.info("\u{1F680} Auto-publishing site to update mount path configuration...");let i=o.domains.filter(s=>!s.isValid).map(s=>s.domain);await ql(t,i)}else if(await ag()&&ct()){let s=o.domains.filter(l=>!l.isValid).map(l=>l.domain),a=await sg(s);await ql(t,a)}else c.warn("\u26A0\uFE0F Continuing with deployment without publishing...")},iv=async(t,e,r,n)=>{Ll("\u{1F3D7}\uFE0F ","Building project");let o=await Vm(t,{mountPath:r,telemetry:n?.telemetry,deployUrl:e.deploy_url,environmentId:e.environment_id});Ll("\u{1F4E4}","Uploading build artifacts");let i=Date.now();await Qm(o,e.upload_url);let s=Date.now()-i;return c.info(`${T} Upload completed in ${(s/1e3).toFixed(1)}s`),o},sv=async(t,e,r,n)=>{c.success(`
152
+ \u{1F310} Your cloud app will soon be available at:`);try{let o=n?.domainsOverride??await og(t,e,r),i=ig(o??[],e);i?.length>0?i.forEach(s=>{c.info(` ${s}`)}):c.warn(" No domains found with the correct mount path configuration yet.")}catch(o){c.warn(` Could not determine deployment links: ${o instanceof Error?o.message:o}`)}},av=t=>{t.site_slug?c.success(`Visit your deployment:
153
+
154
+ ${Jr}/dashboard/sites/${t.site_slug}/webflow-cloud/projects/${t.project_id}/environments/${t.environment_id}/deployments/${t.deployment_id}`):c.info(`
155
+ Visit the webflow Cloud dashboard to view your deployment: https://webflow.com/dashboard/sites`)},lv=async(t,e,r,n,o)=>{try{if(await eg(e.completion_url,!!n),n)c.error(`
156
+ ${E} Deployment failed due to build error.`);else{c.success(`
157
+ ${T} Deployment triggered successfully!`);let i;try{let{manifest:s}=G();xl(s)&&(i=[`${o?.projectName??Br.basename(process.cwd())}.webflow.io`])}catch(s){c.debug(`Could not read manifest for standalone deploy link hint: ${s instanceof Error?s.message:String(s)}`)}await sv(t,r,e.environment_id,i!==void 0?{domainsOverride:i}:void 0),av(e)}}catch(i){throw new d(i,{prefix:"Failed to trigger deployment:"})}},cv=(t,e)=>{t&&Jm(process.cwd(),t),e&&Hm(e)},lg=async(t,e,r,n)=>{let o=null,i=null,s=Date.now(),a=null,l=null,u=Wl(process.cwd()),f=n?.telemetry;await f?.sendUsage("cloud_deploy_start",{environment:e,mountPath:r,projectName:n?.projectName,hasDescription:!!n?.description,hasDirectory:!!n?.directory,cloudflareBindings:u});try{Pm(c,process.cwd()),o=await Zm(t,e,r,n),c.info("\u{1F527} Detecting framework..."),a=await Um(process.cwd(),o.deploy_url,o.environment_id,r),c.info(`Framework: ${a.info.displayName}`),c.info(`Build command: ${a.getBuildCommand()}`),nv(n)?c.info("\u23ED\uFE0F Skipping mount path validation..."):await ov(t,r,o.environment_id,n?.autoPublish),i=await iv(a,o,r,n),c.info(`Starting deployment process for environment: ${e} at mount path: ${r}`);let p=Date.now()-s;await f?.sendUsage("cloud_deploy_success",{duration:p,environment:e,mountPath:r,projectName:n?.projectName,hasDescription:!!n?.description,hasDirectory:!!n?.directory,framework:a.info.name,buildCommand:a.getBuildCommand(),cloudflareBindings:u})}catch(p){l=p instanceof Error?p:new Error(String(p)),c.error(l,{prefix:"Error during deployment initialization:"});let g=Date.now()-s;await f?.sendError(l,"cloud_deploy_failure",{duration:g,environment:e,mountPath:r,projectName:n?.projectName,cloudflareBindings:u,argv:process.argv.slice(2)})}finally{if(cv(a,i),o&&await lv(t,o,r,l,{projectName:n?.projectName}),l)throw new d(l,{skipLogging:!0})}},cg=(t,e)=>()=>{let r=[Fn(`${He} Get started with the following commands:`),M(`cd ${t}`),M("npm install"),M("npm run dev"),M("webflow cloud deploy")];e!==he.New&&(r.push(""),r.push(Fn(`${He} Run the following command to export Webflow components when they update:`)),r.push(M("webflow devlink export")));let n=Math.max(...r.map(a=>Je(a).length)),o=S(`\u250C${"\u2500".repeat(n+2)}\u2510`),i=S(`\u2514${"\u2500".repeat(n+2)}\u2518`),s=r.map(a=>{let l=" ".repeat(n-Je(a).length);return`${S("\u2502")} ${a}${l} ${S("\u2502")}`});c.info([o,...s,i].join(`
158
+ `))};De();Be();ee();_();Fe();var ug=m(require("path"));function Mr(t){if(!t||t.trim()==="")return"/";let e=ug.posix.normalize(t);return e.startsWith("/")||(e="/"+e),e.length>1&&e.endsWith("/")&&(e=e.slice(0,-1)),e=e.split("/").map((n,o)=>o===0?n:encodeURIComponent(n)).join("/"),e}function os(t){return!(!t||t.trim()===""||!t.startsWith("/")||t.includes(".."))}$();H();var fg=require("crypto");ie();$();async function dg(t){let{accessToken:e,workspaceId:r,displayName:n,description:o,appPath:i}=t,a={requestId:(0,fg.randomUUID)(),cloudApp:{displayName:n,description:o,appPath:i,source:{type:"CLI",cli:{sourceUrl:em}}}},l=`${C}/cosmic/workspaces/${r}/cloudApps`,u=await fetch(l,{method:"POST",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","Accept-Version":"1.0.0"},body:JSON.stringify(a)});if(!u.ok){let f=await u.text();throw uv(u.status,u.statusText,f)}return u.json()}function uv(t,e,r){let n={};try{n=JSON.parse(r)}catch{}return t===403?n.publicErrorCode==="missing_scopes"?new d(`Missing required scopes to create a Cloud app.
159
+ ${n.msg??""}
160
+ Re-run 'webflow auth login' to grant the necessary permissions.`):new d(n.msg??"You don't have permission to create apps in this workspace."):t===404?new d("Cloud app creation is not available. The workspace may not exist or the feature is not enabled for your account."):t===409?n.msg?.includes("No new sites can be created")?new d(`Failed to create app: your workspace has reached its app limit.
161
+ Upgrade your plan or remove unused apps to create a new one.`):new d(n.msg??"A Cloud app creation request is already being processed. Please wait and try again."):new d(`Failed to create app: ${t} ${e}`+(n.msg?`
162
+ ${n.msg}`:""))}re();De();$();Fe();Be();_();re();function fv(){return!0}async function gg(t={}){dv(t);let e=await pv(t,G().manifest);return{credentials:e.credentials,workspaceId:e.workspaceId,manifest:G().manifest}}function dv(t){if(t.siteId&&t.workspaceId)throw new d("--site-id and --workspace-id are mutually exclusive. Pass exactly one.")}async function pv(t,e){let r=fv();if(t.siteId)return pg(e,t.siteId);if(t.workspaceId&&r)return mg(t.workspaceId);if(e.siteId)return pg(e,e.siteId);if(e.cloud?.workspace_id&&r)return mg(e.cloud.workspace_id);if(process.env.WEBFLOW_SITE_ID)return r&&c.info("Using site from WEBFLOW_SITE_ID env var. Pass --site-id explicitly or unset to see the deploy mode picker."),Xl(e);if(te()||!ct())throw new d(r?`No identity configured for this project.
182
163
  Pass one of:
183
164
  --site-id <id> (deploy to an existing Webflow site)
184
165
  --workspace-id <id> (create a new standalone Cloud app)
185
166
  Or run 'webflow cloud init' to scaffold a new project.`:`No identity configured for this project.
186
- Pass --site-id <id> or run 'webflow cloud init' to scaffold a new project.`);return n?vA(t):Ju(t)}async function Ub(e,t){return{credentials:await be(e,{site:t})}}async function Ju(e){return{credentials:await be(e,{})}}async function zb(e){let t=await Y();return{workspaceId:e,credentials:{accessToken:t,siteId:""}}}async function DA(){let e=await Y(),t=await ra(e);if(t.length===0)throw new g("No workspaces found in your account. Please make sure you have at least one workspace.");let n=await oa(t);return se({cloud:{workspace_id:n.id}}),{workspaceId:n.id,credentials:{accessToken:e,siteId:""}}}async function vA(e){let t=await Le({message:"This project isn't initialized for Webflow Cloud. How would you like to deploy?",choices:[{name:"Create a new app",value:"standalone"},{name:"Attach to an existing Webflow site",value:"site-attached"},{name:"Cancel",value:"cancel"}]});if(t==="cancel"||!t)throw new g("Deploy cancelled.",{skipLogging:!0});return t==="standalone"?DA():Ju(e)}var qb=e=>{let t=e.command("cloud").description("Create and manage Webflow Cloud projects"),n=!1;t.command("create").description(n?"[Deprecated] Use 'webflow cloud init' instead. Quick non-interactive scaffold for site-attached projects (hardcoded to /app).":"Quick non-interactive scaffold for site-attached projects (hardcoded to /app).").argument("<name>","Project name").option("-f, --framework <framework>","Framework to use","nextjs").action(async(i,s)=>{n&&d.warn("\u26A0\uFE0F 'webflow cloud create' is deprecated and will be removed in a future major release. Use 'webflow cloud init' instead.");let{framework:a}=s;if(!(await aa()).find(u=>u===a)){d.error(`Framework ${a} not found`);return}await Vu(i,"/app",a,void 0,fe.Existing,void 0)}),t.command("list").description("Get list of project templates that can be used for `init`").action(async()=>{let i=await aa();d.info("Available project templates:"),i.length>0?i.forEach(s=>d.info(`- ${s}`)):d.info("No templates found.")});let r=t.command("init").description("Bootstrap a new Webflow Cloud project").option("-n, --project-name <name>","Project name").option("-f, --framework <framework>","Framework to use (e.g., astro, nextjs)").option("-m, --mount <mount>",n?"Mount path (default: '/' for standalone, '/app' for site-attached)":"Mount path (e.g., /app)").option("-s, --site-id <siteId>","Webflow site ID to connect to");n&&(r.option("--new","Create a standalone project without connecting to a site"),r.option("-w, --workspace-id <workspaceId>","Workspace ID for standalone projects (skips workspace picker)")),r.action(async i=>{if(i.workspaceId&&i.siteId)throw new g("--workspace-id and --site-id are mutually exclusive. Pass exactly one.");let s=process.stdin.isTTY,a=await aa(),l={};if(s&&mt()){if(n&&i?.new!==!0&&(l.initMode=await Le({message:"Where do you want to deploy this app?",choices:[{name:"New domain",value:fe.New},{name:"Existing site",value:fe.Existing}],default:fe.New})),i?.framework||(l.scaffoldName=await Le({message:"Which framework would you like to use?",choices:a.map(k=>({name:k,value:k})),default:"astro"})),!i.projectName){let k=await Te({message:"What would you like to name your app?",validate:T=>{let P=T.trim();return P===""?"App name cannot be empty":P.length<ln||P.length>cn?`App name must be between ${ln} and ${cn} characters`:!0}});if(k==null)throw new g("When --no-input mode is enabled please provide the --project-name option or the cloud.project_id manifest field.");l.projectName=k}let v=n&&(i.new===!0||l.initMode===fe.New);if(!i.mount&&!v){let k=await Te({message:"What path do you want to use locally? (e.g., /app)",default:"/app"});l.mountPath=ir(k)}}let c=i.projectName||l.projectName,u=i.framework||l.scaffoldName,p=n?i.new?fe.New:l.initMode??(oe()?fe.New:fe.Existing):fe.Existing,f=p===fe.New?i.mount||l.mountPath||"/":i.mount||l.mountPath||"/app",m=i.siteId,h=ir(f);if(!c||typeof c!="string"||c.trim()==="")throw new g("--project-name cannot be empty");if(c.length<ln||c.length>cn)throw new g(`--project-name must be between ${ln} and ${cn} characters`);if(!u)throw new g("--framework is required");if(!a.includes(u)){let v=a.join(`
187
- - `);throw new g(`--framework "${u}" not found
167
+ Pass --site-id <id> or run 'webflow cloud init' to scaffold a new project.`);return r?gv(e):Xl(e)}async function pg(t,e){return{credentials:await ge(t,{site:e})}}async function Xl(t){return{credentials:await ge(t,{})}}async function mg(t){let e=await R();return{workspaceId:t,credentials:{accessToken:e,siteId:""}}}async function mv(){let t=await R(),e=await es(t);if(e.length===0)throw new d("No workspaces found in your account. Please make sure you have at least one workspace.");let r=await ts(e);return oe({cloud:{workspace_id:r.id}}),{workspaceId:r.id,credentials:{accessToken:t,siteId:""}}}async function gv(t){let e=await Ne({message:"This project isn't initialized for Webflow Cloud. How would you like to deploy?",choices:[{name:"Create a new app",value:"standalone"},{name:"Attach to an existing Webflow site",value:"site-attached"},{name:"Cancel",value:"cancel"}]});if(e==="cancel"||!e)throw new d("Deploy cancelled.",{skipLogging:!0});return e==="standalone"?mv():Xl(t)}fe();var yg=t=>{let e=t.command("cloud").description("Create and manage Webflow Cloud projects"),r=!0;e.command("create").description(r?`${ce("[Deprecated]")} Use 'webflow cloud init' instead. Quick non-interactive scaffold for site-attached projects (hardcoded to /app).`:"Quick non-interactive scaffold for site-attached projects (hardcoded to /app).").argument("<name>","Project name").option("-f, --framework <framework>","Framework to use","nextjs").action(async(i,s)=>{r&&c.warn(`${Ee} ${ce("webflow cloud create")} is deprecated and will be removed in the next major release.
168
+ Use ${M("webflow cloud init")} instead.
169
+ `);let{framework:a}=s;if(!(await ns()).find(f=>f===a)){c.error(`Framework ${a} not found`);return}await Yl(i,"/app",a,void 0,he.Existing,void 0)}),e.command("list").description("Get list of project templates that can be used for `init`").action(async()=>{let i=await ns();c.info("Available project templates:"),i.length>0?i.forEach(s=>c.info(`- ${s}`)):c.info("No templates found.")});let n=e.command("init").description("Bootstrap a new Webflow Cloud project").option("-n, --project-name <name>","Project name").option("-f, --framework <framework>","Framework to use (e.g., astro, nextjs)").option("-m, --mount <mount>",r?"Mount path (default: '/' for standalone, '/app' for site-attached)":"Mount path (e.g., /app)").option("-s, --site-id <siteId>","Webflow site ID to connect to");r&&(n.option("--new","Create a standalone project without connecting to a site"),n.option("-w, --workspace-id <workspaceId>","Workspace ID for standalone projects (skips workspace picker)")),n.action(async i=>{if(i.workspaceId&&i.siteId)throw new d("--workspace-id and --site-id are mutually exclusive. Pass exactly one.");let s=process.stdin.isTTY,a=await ns(),l={};if(s&&ct()){if(r&&i?.new!==!0&&(l.initMode=await Ne({message:"Where do you want to deploy this app?",choices:[{name:"New domain",value:he.New},{name:"Existing site",value:he.Existing}],default:he.New})),i?.framework||(l.scaffoldName=await Ne({message:"Which framework would you like to use?",choices:a.map(O=>({name:O,value:O})),default:"astro"})),!i.projectName){let O=await Ce({message:"What would you like to name your app?",validate:ne=>{let K=ne.trim();return K===""?"App name cannot be empty":K.length<zt||K.length>qt?`App name must be between ${zt} and ${qt} characters`:!0}});if(O==null)throw new d("When --no-input mode is enabled please provide the --project-name option or the cloud.project_id manifest field.");l.projectName=O}let F=r&&(i.new===!0||l.initMode===he.New);if(!i.mount&&!F){let O=await Ce({message:"What path do you want to use locally? (e.g., /app)",default:"/app"});l.mountPath=Mr(O)}}let u=i.projectName||l.projectName,f=i.framework||l.scaffoldName,p=r?i.new?he.New:l.initMode??(te()?he.New:he.Existing):he.Existing,g=p===he.New?i.mount||l.mountPath||"/":i.mount||l.mountPath||"/app",h=i.siteId,w=Mr(g);if(!u||typeof u!="string"||u.trim()==="")throw new d("--project-name cannot be empty");if(u.length<zt||u.length>qt)throw new d(`--project-name must be between ${zt} and ${qt} characters`);if(!f)throw new d("--framework is required");if(!a.includes(f)){let F=a.join(`
170
+ - `);throw new d(`--framework "${f}" not found
188
171
 
189
172
  Available frameworks:
190
- - ${v}`)}if(typeof h!="string"||!la(h))throw new g("Invalid mount path: "+h);if(p===fe.Existing&&!m&&(!s||oe()))throw new g("--site-id is required when connecting to an existing site in non-interactive mode.");await Vu(c,h,u,m,p,i.workspaceId)});let o=t.command("deploy").description("Deploy your Webflow Cloud project").option("-e, --environment <environment>","Environment name").option("-m, --mount <mount>","Mount path (e.g., /app)").option("-n, --project-name <name>","Project name (for new projects)").option("-d, --directory <path>","Project directory path (for new projects)").option("--description <description>","Project description (for new projects)").option("--skip-mount-path-check","Skip mount path checking").option("--auto-publish","Automatically publish site for mount path updates").option("-s, --site-id <siteId>","Webflow site ID for site-attached deploys (skips site picker)").option("-p, --project-id <projectId>","Cloud project ID (skips app picker)").option("-f, --framework <framework>","Override framework detection (e.g., nextjs, astro)");n&&o.option("-w, --workspace-id <workspaceId>","Workspace ID for standalone first deploys (skips workspace picker)"),o.action(async i=>{try{if(i.directory)try{process.chdir(i.directory),d.info(`Changed directory to: ${i.directory}`)}catch(P){throw d.error(`Error: Could not change to directory ${i.directory}`),new g(P)}if(i.framework){if(!ii.includes(i.framework))throw new g(`Framework "${i.framework}" is not supported. Allowed: ${ii.join(", ")}.`);se({cloud:{framework:i.framework}})}let s=await Vb({siteId:i.siteId,workspaceId:i.workspaceId}),{workspaceId:a}=s,{credentials:l,manifest:c}=s,u=!!a;if(a){if(!n)throw new g("Standalone Cloud apps are only available in @next builds. Install with: npm i -g @webflow/webflow-cli@next");let P=Jb.default.basename(process.cwd()).trim(),C=P.length>=ln&&P.length<=cn,x=i.projectName??(C?P:"Cloud App");if(x.length<ln||x.length>cn)throw new g(`Project name must be between ${ln} and ${cn} characters (got ${x.length}).
191
- Use --project-name to provide a valid name.`);let z=d.spinner("Creating Cloud app...");try{let S=await Wb({accessToken:l.accessToken,workspaceId:a,displayName:x});z.succeed(`Cloud app created: ${S.cloudApp.displayName}`),se({siteId:S.cloudApp.siteId,cloud:{...c.cloud,project_id:S.cloudApp.project.id,environment_id:S.cloudApp.environment.id}}),Ot({siteId:S.cloudApp.siteId,directory:"."}),process.env.WEBFLOW_SITE_ID=S.cloudApp.siteId,{manifest:c}=Q()}catch(S){throw z.fail("Failed to create app"),new g(S,{prefix:"Could not create app:"})}let j=c.siteId;if(!j)throw new g("Expected siteId in manifest after Cloud app creation.");l={accessToken:l.accessToken,siteId:j}}let p;try{p=G.forCloud({authToken:l.accessToken,siteId:l.siteId})}catch(P){d.debug(`Failed to initialize telemetry: ${P}`)}let f=c.cloud||{},m=i.projectId??f.project_id,h,v,k=i.projectName,T=i.description;if(i.environment&&i.mount){if(h=i.environment,v=ir(i.mount),!la(v))throw new g("Invalid mount path: "+v)}else{let P=[];if(!m){if(!k&&oe())throw new g("When --no-input mode is enabled please provide the --project-name option or the cloud.project_id manifest field.");try{let x=await _b(l);if(x.projects.length>0){let z=await Le({message:"Select an app to deploy to:",choices:[...x.projects.map(j=>({name:`${j.name} (${j.description||"No description"})`,value:j.id})),{name:"Create new app",value:null}]});z?(m=z,d.info("\u{1F4DD} Updating webflow.json with app ID..."),se({cloud:{project_id:z}})):d.info("Creating a new app will be handled during deployment.")}else d.info("No existing apps found. A new app will be created during deployment.")}catch(x){d.warn("Could not fetch existing apps. A new app will be created during deployment."),d.warn(x instanceof Error?x.message:String(x))}}if(!m&&!k&&(k=await Te({message:"What would you like to name your new app?",default:"New Webflow Cloud App",validate:x=>x.trim()===""?"App name cannot be empty":!0})),m)try{let z=(await Sb(l,m)).environments.map(j=>({name:`${j.branch} (${j.mount})`,value:{branch:j.branch,mount:j.mount}}));P.push(...z)}catch(x){throw new g(x,{prefix:"Error fetching project environments:"})}P.push({name:"Create new environment",value:null});let C=await Le({message:"Select an environment to deploy to:",choices:P});if(C)h=C.branch,v=ir(C.mount);else if(i.environment?h=i.environment:h=await Te({message:"What environment would you like to deploy to?",default:"main",validate:x=>x.trim()===""?"Environment cannot be empty":!0}),i.mount)v=ir(i.mount);else{let x=await Te({message:"What path should this environment be mounted at? (e.g., /app)",default:"/app"});v=ir(x)}}if(!la(v))throw new g("Invalid mount path: "+v);await Nb(l,h,v,{projectName:k,description:T,directory:i.directory,skipMountPathCheck:u||i.skipMountPathCheck,autoPublish:i.autoPublish,telemetry:p})}catch(s){throw new g(s,{prefix:"Error during deployment setup:"})}})};var Gu=require("commander");We();Be();ke();J();te();Ce();_e();le();ht();te();te();function Z(e,t){if(!/^[a-f0-9]{24}$/.test(e))throw new g(`Invalid ${t}: "${e}" is not a valid resource ID.`,{isUserError:!0})}var qu=e=>e.replace(/\x1b\[[0-9;]*m/g,""),Gb=(e,t)=>e+" ".repeat(Math.max(0,t-qu(e).length));function Ve(e,t){let n=e.map((s,a)=>Math.max(qu(s).length,...t.map(l=>qu(String(l[a])).length))),r=n.map(s=>"\u2500".repeat(s+2)).join("\u2500"),o=e.map((s,a)=>Gb(s,n[a]+2)).join(""),i=t.map(s=>s.map((a,l)=>Gb(String(a),n[l]+2)).join("")).join(`
173
+ - ${F}`)}if(typeof w!="string"||!os(w))throw new d("Invalid mount path: "+w);if(p===he.Existing&&!h&&(!s||te()))throw new d("--site-id is required when connecting to an existing site in non-interactive mode.");await Yl(u,w,f,h,p,i.workspaceId)});let o=e.command("deploy").description("Deploy your Webflow Cloud project").option("-e, --environment <environment>","Environment name").option("-m, --mount <mount>","Mount path (e.g., /app)").option("-n, --project-name <name>","Project name (for new projects)").option("-d, --directory <path>","Project directory path (for new projects)").option("--description <description>","Project description (for new projects)").option("--skip-mount-path-check","Skip mount path checking").option("--auto-publish","Automatically publish site for mount path updates").option("-s, --site-id <siteId>","Webflow site ID for site-attached deploys (skips site picker)").option("-p, --project-id <projectId>","Cloud project ID (skips app picker)").option("-f, --framework <framework>","Override framework detection (e.g., nextjs, astro)");r&&o.option("-w, --workspace-id <workspaceId>","Workspace ID for standalone first deploys (skips workspace picker)"),o.action(async i=>{try{if(i.directory)try{process.chdir(i.directory),c.info(`Changed directory to: ${i.directory}`)}catch(K){throw c.error(`Error: Could not change to directory ${i.directory}`),new d(K)}if(i.framework){if(!vo.includes(i.framework))throw new d(`Framework "${i.framework}" is not supported. Allowed: ${vo.join(", ")}.`);oe({cloud:{framework:i.framework}})}let s=await gg({siteId:i.siteId,workspaceId:i.workspaceId}),{workspaceId:a}=s,{credentials:l,manifest:u}=s,f=!!a;if(a){if(!r)throw new d("Standalone Cloud apps are only available in @next builds. Install with: npm i -g @webflow/webflow-cli@next");let K=hg.default.basename(process.cwd()).trim(),x=K.length>=zt&&K.length<=qt,B=i.projectName??(x?K:"Cloud App");if(B.length<zt||B.length>qt)throw new d(`Project name must be between ${zt} and ${qt} characters (got ${B.length}).
174
+ Use --project-name to provide a valid name.`);let Q=c.spinner("Creating Cloud app...");try{let I=await dg({accessToken:l.accessToken,workspaceId:a,displayName:B});Q.succeed(`Cloud app created: ${I.cloudApp.displayName}`),oe({siteId:I.cloudApp.siteId,cloud:{...u.cloud,project_id:I.cloudApp.project.id,environment_id:I.cloudApp.environment.id}}),xt({siteId:I.cloudApp.siteId,directory:"."}),process.env.WEBFLOW_SITE_ID=I.cloudApp.siteId,{manifest:u}=G()}catch(I){throw Q.fail("Failed to create app"),new d(I,{prefix:"Could not create app:"})}let j=u.siteId;if(!j)throw new d("Expected siteId in manifest after Cloud app creation.");l={accessToken:l.accessToken,siteId:j}}let p;try{p=A.forCloud({authToken:l.accessToken,siteId:l.siteId})}catch(K){c.debug(`Failed to initialize telemetry: ${K}`)}let g=u.cloud||{},h=i.projectId??g.project_id,w,F,O=i.projectName,ne=i.description;if(i.environment&&i.mount){if(w=i.environment,F=Mr(i.mount),!os(F))throw new d("Invalid mount path: "+F)}else{let K=[];if(!h){if(!O&&te())throw new d("When --no-input mode is enabled please provide the --project-name option or the cloud.project_id manifest field.");try{let B=await Xm(l);if(B.projects.length>0){let Q=await Ne({message:"Select an app to deploy to:",choices:[...B.projects.map(j=>({name:`${j.name} (${j.description||"No description"})`,value:j.id})),{name:"Create new app",value:null}]});Q?(h=Q,oe({cloud:{project_id:Q}}),c.info(`${T} App ID updated in webflow.json`)):c.info("Creating a new app will be handled during deployment.")}else c.info(`
175
+ No existing apps found. A new app will be created during deployment.`)}catch(B){c.warn("Could not fetch existing apps. A new app will be created during deployment."),c.warn(B instanceof Error?B.message:String(B))}}if(!h&&!O&&(O=await Ce({message:"What would you like to name your new app?",default:"New Webflow Cloud App",validate:B=>B.trim()===""?"App name cannot be empty":!0})),h)try{let Q=(await Ym(l,h)).environments.map(j=>({name:`${j.branch} (${j.mount})`,value:{branch:j.branch,mount:j.mount}}));K.push(...Q)}catch(B){throw new d(B,{prefix:"Error fetching project environments:"})}K.push({name:"Create new environment",value:null});let x=await Ne({message:"Select an environment to deploy to:",choices:K});if(x)w=x.branch,F=Mr(x.mount);else if(i.environment?w=i.environment:w=await Ce({message:"What environment would you like to deploy to?",default:"main",validate:B=>B.trim()===""?"Environment cannot be empty":!0}),i.mount)F=Mr(i.mount);else{let B=await Ce({message:"What path should this environment be mounted at? (e.g., /app)",default:"/app"});F=Mr(B)}}if(!os(F))throw new d("Invalid mount path: "+F);await lg(l,w,F,{projectName:O,description:ne,directory:i.directory,skipMountPathCheck:f||i.skipMountPathCheck,autoPublish:i.autoPublish,telemetry:p})}catch(s){throw new d(s,{prefix:"Error during deployment setup:"})}})};ie();$();ft();$();function V(t,e){if(!/^[a-f0-9]{24}$/.test(t))throw new d(`Invalid ${e}: "${t}" is not a valid resource ID.`,{isUserError:!0})}async function Dt(t){try{let e=await t.json();return e.message??e.error??`${t.status} ${t.statusText}`}catch{return`${t.status} ${t.statusText}`}}async function wg(t,e){V(e,"siteId");let r=await q(`${C}/v2/sites/${e}/collections`,{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}});if(!r.ok){let o=await Dt(r);throw r.status>=400&&r.status<500?new d(o,{isUserError:!0}):new d(`Failed to list collections: ${o}`)}return(await r.json()).collections??[]}async function Dg(t,e){V(e,"collectionId");let r=await q(`${C}/v2/collections/${e}`,{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}});if(r.status===404)throw new d(`Collection "${e}" not found`,{isUserError:!0});if(!r.ok)throw new d(`Failed to get collection: ${await Dt(r)}`);let n=await r.json();return{...n,fields:n.fields??[]}}async function bg(t,e,r){V(e,"siteId");let n={displayName:r.displayName,singularName:r.singularName};r.slug&&(n.slug=r.slug);let o=await q(`${C}/v2/sites/${e}/collections`,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(n)});if(!o.ok){let i=await Dt(o);throw o.status>=400&&o.status<500?new d(i,{isUserError:!0}):new d(`Failed to create collection: ${i}`)}return await o.json()}async function vg(t,e,r){V(e,"collectionId");let n=await q(`${C}/v2/collections/${e}/fields`,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({displayName:r.displayName,type:r.type,isRequired:r.isRequired??!1})});if(!n.ok){let o=await Dt(n);throw n.status===404?new d(`Collection "${e}" not found`,{isUserError:!0}):n.status>=400&&n.status<500?new d(o,{isUserError:!0}):new d(`Failed to create field: ${o}`)}return await n.json()}async function Ql(t,e,r={}){V(e,"collectionId");let n=new URLSearchParams;r.limit!=null&&n.set("limit",String(r.limit)),r.offset!=null&&n.set("offset",String(r.offset)),r.cmsLocaleId&&n.set("cmsLocaleId",r.cmsLocaleId);let o=n.toString()?`?${n.toString()}`:"",i=await q(`${C}/v2/collections/${e}/items${o}`,{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}});if(i.status===404)throw new d(`Collection "${e}" not found`,{isUserError:!0});if(!i.ok)throw new d(`Failed to list items: ${await Dt(i)}`);let s=await i.json();return{items:s.items??[],total:s.total??0,count:s.count??s.items?.length??0,limit:s.limit??r.limit??100,offset:s.offset??r.offset??0}}async function Eg(t,e,r,n){V(e,"collectionId"),V(r,"itemId");let o=n?`?cmsLocaleId=${encodeURIComponent(n)}`:"",i=await q(`${C}/v2/collections/${e}/items/${r}${o}`,{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}});if(i.status===404)throw new d(`Item "${r}" not found`,{isUserError:!0});if(!i.ok)throw new d(`Failed to get item: ${await Dt(i)}`);return await i.json()}async function ec(t,e,r,n=!1){V(e,"collectionId");let o=await q(`${C}/v2/collections/${e}/items`,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({fieldData:r,isDraft:n})});if(!o.ok){let i=await Dt(o);throw o.status>=400&&o.status<500?new d(i,{isUserError:!0}):new d(`Failed to create item: ${i}`)}return await o.json()}async function tc(t,e,r,n){V(e,"collectionId"),V(r,"itemId");let o=await q(`${C}/v2/collections/${e}/items/${r}`,{method:"PATCH",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({fieldData:n})});if(o.status===404)throw new d(`Item "${r}" not found`,{isUserError:!0});if(!o.ok)throw new d(`Failed to update item: ${await Dt(o)}`);return await o.json()}async function xg(t,e,r){V(e,"collectionId"),V(r,"itemId");let n=await q(`${C}/v2/collections/${e}/items/${r}`,{method:"DELETE",headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}});if(n.status===404)throw new d(`Item "${r}" not found`,{isUserError:!0});if(!n.ok)throw new d(`Failed to delete item: ${await Dt(n)}`)}async function _g(t,e,r){V(e,"collectionId"),r.forEach(o=>V(o,"itemId"));let n=await q(`${C}/v2/collections/${e}/items/publish`,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({itemIds:r})});if(!n.ok){let o=await Dt(n);throw n.status>=400&&n.status<500?new d(o,{isUserError:!0}):new d(`Failed to publish items: ${o}`)}return await n.json()}fe();_();var Cg=(t,e)=>t+" ".repeat(Math.max(0,e-Je(t).length));function We(t,e){let r=t.map((s,a)=>Math.max(Je(s).length,...e.map(l=>Je(String(l[a])).length))),n=r.map(s=>"\u2500".repeat(s+2)).join("\u2500"),o=t.map((s,a)=>Cg(s,r[a]+2)).join(""),i=e.map(s=>s.map((a,l)=>Cg(String(a),r[l]+2)).join("")).join(`
192
176
  `);return`${o}
193
- ${r}
194
- ${i}`}async function St(e){try{let t=await e.json();return t.message??t.error??`${e.status} ${e.statusText}`}catch{return`${e.status} ${e.statusText}`}}async function Hb(e,t){Z(t,"siteId");let n=await K(`${I}/v2/sites/${t}/collections`,{headers:{Authorization:`Bearer ${e}`,Accept:"application/json"}});if(!n.ok){let o=await St(n);throw n.status>=400&&n.status<500?new g(o,{isUserError:!0}):new g(`Failed to list collections: ${o}`)}return(await n.json()).collections??[]}async function Zb(e,t){Z(t,"collectionId");let n=await K(`${I}/v2/collections/${t}`,{headers:{Authorization:`Bearer ${e}`,Accept:"application/json"}});if(n.status===404)throw new g(`Collection "${t}" not found`,{isUserError:!0});if(!n.ok)throw new g(`Failed to get collection: ${await St(n)}`);let r=await n.json();return{...r,fields:r.fields??[]}}async function Kb(e,t,n){Z(t,"siteId");let r={displayName:n.displayName,singularName:n.singularName};n.slug&&(r.slug=n.slug);let o=await K(`${I}/v2/sites/${t}/collections`,{method:"POST",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(r)});if(!o.ok){let i=await St(o);throw o.status>=400&&o.status<500?new g(i,{isUserError:!0}):new g(`Failed to create collection: ${i}`)}return await o.json()}async function Yb(e,t,n){Z(t,"collectionId");let r=await K(`${I}/v2/collections/${t}/fields`,{method:"POST",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({displayName:n.displayName,type:n.type,isRequired:n.isRequired??!1})});if(!r.ok){let o=await St(r);throw r.status===404?new g(`Collection "${t}" not found`,{isUserError:!0}):r.status>=400&&r.status<500?new g(o,{isUserError:!0}):new g(`Failed to create field: ${o}`)}return await r.json()}async function Xb(e,t,n={}){Z(t,"collectionId");let r=new URLSearchParams;n.limit!=null&&r.set("limit",String(n.limit)),n.offset!=null&&r.set("offset",String(n.offset)),n.cmsLocaleId&&r.set("cmsLocaleId",n.cmsLocaleId);let o=r.toString()?`?${r.toString()}`:"",i=await K(`${I}/v2/collections/${t}/items${o}`,{headers:{Authorization:`Bearer ${e}`,Accept:"application/json"}});if(i.status===404)throw new g(`Collection "${t}" not found`,{isUserError:!0});if(!i.ok)throw new g(`Failed to list items: ${await St(i)}`);let s=await i.json();return{items:s.items??[],total:s.total??0,count:s.count??s.items?.length??0,limit:s.limit??n.limit??100,offset:s.offset??n.offset??0}}async function Qb(e,t,n,r){Z(t,"collectionId"),Z(n,"itemId");let o=r?`?cmsLocaleId=${encodeURIComponent(r)}`:"",i=await K(`${I}/v2/collections/${t}/items/${n}${o}`,{headers:{Authorization:`Bearer ${e}`,Accept:"application/json"}});if(i.status===404)throw new g(`Item "${n}" not found`,{isUserError:!0});if(!i.ok)throw new g(`Failed to get item: ${await St(i)}`);return await i.json()}async function eD(e,t,n,r=!1){Z(t,"collectionId");let o=await K(`${I}/v2/collections/${t}/items`,{method:"POST",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({fieldData:n,isDraft:r})});if(!o.ok){let i=await St(o);throw o.status>=400&&o.status<500?new g(i,{isUserError:!0}):new g(`Failed to create item: ${i}`)}return await o.json()}async function tD(e,t,n,r){Z(t,"collectionId"),Z(n,"itemId");let o=await K(`${I}/v2/collections/${t}/items/${n}`,{method:"PATCH",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({fieldData:r})});if(o.status===404)throw new g(`Item "${n}" not found`,{isUserError:!0});if(!o.ok)throw new g(`Failed to update item: ${await St(o)}`);return await o.json()}async function nD(e,t,n){Z(t,"collectionId"),Z(n,"itemId");let r=await K(`${I}/v2/collections/${t}/items/${n}`,{method:"DELETE",headers:{Authorization:`Bearer ${e}`,Accept:"application/json"}});if(r.status===404)throw new g(`Item "${n}" not found`,{isUserError:!0});if(!r.ok)throw new g(`Failed to delete item: ${await St(r)}`)}async function rD(e,t,n){Z(t,"collectionId"),n.forEach(o=>Z(o,"itemId"));let r=await K(`${I}/v2/collections/${t}/items/publish`,{method:"POST",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({itemIds:n})});if(!r.ok){let o=await St(r);throw r.status>=400&&r.status<500?new g(o,{isUserError:!0}):new g(`Failed to publish items: ${o}`)}return await r.json()}function oD(e,t=["id","displayName","slug"]){if(e.length===0)return E.dim("No collections found.");let n=["id","displayName","singularName","slug","lastUpdated"],r=Object.fromEntries(n.map(a=>[a.toLowerCase(),a])),o=t.map(a=>r[a.toLowerCase()]).filter(a=>a!=null);if(o.length===0)return E.red(`Invalid fields. Available: ${n.join(", ")}`);let i=o.map(a=>E.bold(a)),s=e.map(a=>o.map(l=>{let c=a[l];return c?l==="lastUpdated"?new Date(c).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}):c:E.dim("\u2014")}));return Ve(i,s)}function iD(e){let t=[`${E.bold("Collection:")} ${e.displayName}`,`${E.bold("ID:")} ${e.id}`,`${E.bold("Slug:")} ${e.slug}`,`${E.bold("Singular:")} ${e.singularName}`,`${E.bold("Updated:")} ${new Date(e.lastUpdated).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})}`,"",E.bold("Fields:")];if(e.fields.length===0)return t.push(E.dim(" No fields defined.")),t.join(`
195
- `);let n=["NAME","SLUG","TYPE","REQUIRED"].map(o=>E.bold(o)),r=e.fields.map(o=>[o.displayName,o.slug,o.type,o.isRequired?"yes":"no"]);return t.push(Ve(n,r)),t.join(`
196
- `)}function sD(e,t=["id","isDraft","lastUpdated"]){if(e.length===0)return E.dim("No items found.");let n=t.map(o=>E.bold(o)),r=e.map(o=>t.map(i=>{if(i==="fieldData")return JSON.stringify(o.fieldData);if(i==="isDraft")return o.isDraft?E.yellow("draft"):E.green("live");if(i==="isArchived")return o.isArchived?E.dim("archived"):"";if(i==="lastUpdated"||i==="lastPublished"||i==="createdOn"){let a=o[i];return a?new Date(a).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}):E.dim("\u2014")}let s=o[i];return s==null?E.dim("\u2014"):String(s)}));return Ve(n,r)}function ca(e,t,n="asc"){return[...e].sort((r,o)=>{let i=r[t],s=o[t];if(i==null&&s==null)return 0;if(i==null)return 1;if(s==null)return-1;let a=0;return typeof i=="string"&&typeof s=="string"?a=i.localeCompare(s):typeof i=="number"&&typeof s=="number"?a=i-s:a=String(i).localeCompare(String(s)),n==="desc"?-a:a})}var Ut=new Gu.Option("--json","Output as JSON"),ro=new Gu.Option("--dry-run","Preview without executing"),aD=e=>{let t=e.command("cms").description("Manage Webflow CMS content"),n=t.command("collections").description("Manage CMS collections");n.command("list").description("List all CMS collections for a site").addOption(Nr).addOption(Ut).option("--fields <fields>","Comma-separated fields to display (id, displayName, singularName, slug, lastUpdated)","id,displayName,slug").option("--sort-by <field>","Sort by: displayName, slug, lastUpdated","displayName").option("--order <dir>","Sort direction: asc or desc","asc").action(async i=>{let s,a;if(i.site)s=await Y(),a=i.site;else{let{manifest:u}=Q(),p=await be(u);s=p.accessToken,a=p.siteId}let l=G.forCms({authToken:s,siteId:a}),c=Date.now();try{let u=await Hb(s,a);if(await l.sendUsage("cms_collections_list",{duration:Date.now()-c,count:u.length}),u.length===0){d.info("No collections found.");return}let p=["displayName","slug","lastUpdated"];if(p.includes(i.sortBy)||(d.warn(`Unknown --sort-by "${i.sortBy}". Valid fields: ${p.join(", ")}. Defaulting to displayName.`),i.sortBy="displayName"),!["asc","desc"].includes(i.order))throw new g(`Invalid --order "${i.order}". Valid values: asc, desc`,{isUserError:!0});let f=ca(u,i.sortBy,i.order);if(i.json){d.info(JSON.stringify(f,null,2));return}let m=i.fields.split(",").map(h=>h.trim());d.info(oD(f,m))}catch(u){if(u instanceof g&&u.isUserError){d.info(`${N} ${u.message}`),process.exitCode=1;return}throw await l.sendError(u instanceof Error?u:new Error(String(u)),"cms_collections_list",{duration:Date.now()-c}),new g(u,{prefix:`${N} Failed to list collections:`})}}),n.command("get").description("Get details and field schema for a CMS collection").argument("<collectionId>","Collection ID").addOption(Ut).action(async(i,s)=>{let a=await Y(),l=G.forCms({authToken:a}),c=Date.now();try{let u=await Zb(a,i);if(await l.sendUsage("cms_collections_get",{duration:Date.now()-c}),s.json){d.info(JSON.stringify(u,null,2));return}d.info(iD(u))}catch(u){if(u instanceof g&&u.isUserError){d.info(`${N} ${u.message}`),process.exitCode=1;return}throw await l.sendError(u instanceof Error?u:new Error(String(u)),"cms_collections_get",{duration:Date.now()-c}),new g(u,{prefix:`${N} Failed to get collection:`})}}),n.command("create").description("Create a new CMS collection on a site. Use --dry-run to preview.").addOption(Nr).requiredOption("--name <displayName>","Collection display name").option("--singular-name <singularName>","Singular name (defaults to --name)").option("--slug <slug>","URL slug for the collection (auto-derived from --name if omitted)").addOption(ro).addOption(Ut).action(async i=>{let s=i.singularName??i.name,a=i.slug??i.name.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"");if(i.dryRun){d.info("Dry run \u2014 would create collection:"),d.info(JSON.stringify({displayName:i.name,singularName:s,slug:a},null,2)),d.info("Dry run complete \u2014 no changes made.");return}let l,c;if(i.site)l=await Y(),c=i.site;else{let{manifest:f}=Q(),m=await be(f);l=m.accessToken,c=m.siteId}let u=G.forCms({authToken:l,siteId:c}),p=Date.now();try{let f=await Kb(l,c,{displayName:i.name,singularName:s,slug:a});if(await u.sendUsage("cms_collections_create",{duration:Date.now()-p}),i.json){d.info(JSON.stringify(f,null,2));return}d.info(`${ee} Collection created: ${f.id}`),d.info(` Name: ${f.displayName}`),d.info(` Slug: ${f.slug}`),d.info(`
197
- Next: add fields with "webflow cms fields create --collection ${f.id} --name <name> --type <type>"`)}catch(f){if(f instanceof g&&f.isUserError){d.info(`${N} ${f.message}`),process.exitCode=1;return}throw await u.sendError(f instanceof Error?f:new Error(String(f)),"cms_collections_create",{duration:Date.now()-p}),new g(f,{prefix:`${N} Failed to create collection:`})}}),t.command("fields").description("Manage CMS collection fields").command("create").description("Add a field to a CMS collection. Use --dry-run to preview.").requiredOption("--collection <collectionId>","Collection ID").requiredOption("--name <displayName>","Field display name").requiredOption("--type <type>","Field type (e.g. PlainText, RichText, Number, DateTime, Link, Image, Video, Color, Bool, Option, ItemRef, ItemRefSet)").option("--required","Mark field as required").addOption(ro).addOption(Ut).action(async i=>{if(i.dryRun){d.info("Dry run \u2014 would create field:"),d.info(JSON.stringify({collectionId:i.collection,displayName:i.name,type:i.type,isRequired:i.required??!1},null,2)),d.info("Dry run complete \u2014 no changes made.");return}let s=await Y(),a=G.forCms({authToken:s}),l=Date.now();try{let c=await Yb(s,i.collection,{displayName:i.name,type:i.type,isRequired:i.required??!1});if(await a.sendUsage("cms_fields_create",{duration:Date.now()-l}),i.json){d.info(JSON.stringify(c,null,2));return}d.info(`${ee} Field created: ${c.id}`),d.info(` Name: ${c.displayName}`),d.info(` Type: ${c.type}`),d.info(` Slug: ${c.slug}`)}catch(c){if(c instanceof g&&c.isUserError){d.info(`${N} ${c.message}`),process.exitCode=1;return}throw await a.sendError(c instanceof Error?c:new Error(String(c)),"cms_fields_create",{duration:Date.now()-l}),new g(c,{prefix:`${N} Failed to create field:`})}});let o=t.command("items").description("Manage CMS items");o.command("list").description("List items in a CMS collection").requiredOption("--collection <collectionId>","Collection ID").option("--limit <n>","Maximum items to return (default: 100)","100").option("--offset <n>","Number of items to skip (default: 0)","0").option("--locale <cmsLocaleId>","CMS locale ID to filter by").addOption(Ut).option("--fields <fields>","Comma-separated fields to display (id, isDraft, isArchived, lastUpdated, fieldData)","id,isDraft,lastUpdated").action(async i=>{let s=await Y(),a=G.forCms({authToken:s}),l=Date.now(),c=parseInt(i.limit,10)||100,u=parseInt(i.offset,10)||0;try{let p=await Xb(s,i.collection,{limit:c,offset:u,cmsLocaleId:i.locale});if(await a.sendUsage("cms_items_list",{duration:Date.now()-l,count:p.items.length}),p.items.length===0){d.info("No items found.");return}if(i.json){d.info(JSON.stringify(p,null,2));return}let f=i.fields.split(",").map(k=>k.trim());d.info(sD(p.items,f));let m=u+1,h=u+p.items.length;if(p.items.length>=c||u>0){let k=p.total>0?` of ${p.total}`:"";d.info(`
198
- Showing ${m}\u2013${h}${k} items. Use --offset ${h} to load next page.`)}}catch(p){if(p instanceof g&&p.isUserError){d.info(`${N} ${p.message}`),process.exitCode=1;return}throw await a.sendError(p instanceof Error?p:new Error(String(p)),"cms_items_list",{duration:Date.now()-l}),new g(p,{prefix:`${N} Failed to list items:`})}}),o.command("get").description("Get a single CMS item by ID").requiredOption("--collection <collectionId>","Collection ID").requiredOption("--item <itemId>","Item ID").option("--locale <cmsLocaleId>","CMS locale ID to retrieve content for").addOption(Ut).action(async i=>{let s=await Y(),a=G.forCms({authToken:s}),l=Date.now();try{let c=await Qb(s,i.collection,i.item,i.locale);if(await a.sendUsage("cms_items_get",{duration:Date.now()-l}),i.json){d.info(JSON.stringify(c,null,2));return}let u=c.isArchived?"archived":c.isDraft?"draft":"live";d.info(`${c.id} [${u}]`),d.info(` Last updated: ${new Date(c.lastUpdated).toLocaleString()}`),c.lastPublished&&d.info(` Last published: ${new Date(c.lastPublished).toLocaleString()}`),d.info(" Fields:"),d.info(JSON.stringify(c.fieldData,null,4).replace(/^/gm," "))}catch(c){if(c instanceof g&&c.isUserError){d.info(`${N} ${c.message}`),process.exitCode=1;return}throw await a.sendError(c instanceof Error?c:new Error(String(c)),"cms_items_get",{duration:Date.now()-l}),new g(c,{prefix:`${N} Failed to get item:`})}}),o.command("create").description("Create a new CMS item. Use --dry-run to preview before executing.").requiredOption("--collection <collectionId>","Collection ID").requiredOption("--data <json>","Item field data as a JSON string").option("--draft","Create as draft (not published)").addOption(ro).addOption(Ut).action(async i=>{let s;try{s=JSON.parse(i.data)}catch{throw new g(`Invalid JSON for --data: ${i.data}`)}if(i.dryRun){d.info("Dry run \u2014 would create item:"),d.info(JSON.stringify({fieldData:s,isDraft:i.draft??!1},null,2)),d.info("Dry run complete \u2014 no changes made.");return}let a=await Y(),l=G.forCms({authToken:a}),c=Date.now();try{let u=await eD(a,i.collection,s,i.draft??!1);if(await l.sendUsage("cms_items_create",{duration:Date.now()-c,dryRun:!1}),i.json){d.info(JSON.stringify(u,null,2));return}d.info(`${ee} Item created: ${u.id}`)}catch(u){if(u instanceof g&&u.isUserError){d.info(`${N} ${u.message}`),process.exitCode=1;return}throw await l.sendError(u instanceof Error?u:new Error(String(u)),"cms_items_create",{duration:Date.now()-c}),new g(u,{prefix:`${N} Failed to create item:`})}}),o.command("update").description("Update an existing CMS item. Use --dry-run to preview before executing.").requiredOption("--collection <collectionId>","Collection ID").requiredOption("--item <itemId>","Item ID").requiredOption("--data <json>","Updated field data as a JSON string").addOption(ro).addOption(Ut).action(async i=>{let s;try{s=JSON.parse(i.data)}catch{throw new g(`Invalid JSON for --data: ${i.data}`)}if(i.dryRun){d.info("Dry run \u2014 would update item:"),d.info(JSON.stringify({collectionId:i.collection,itemId:i.item,fieldData:s},null,2)),d.info("Dry run complete \u2014 no changes made.");return}let a=await Y(),l=G.forCms({authToken:a}),c=Date.now();try{let u=await tD(a,i.collection,i.item,s);if(await l.sendUsage("cms_items_update",{duration:Date.now()-c,dryRun:!1}),i.json){d.info(JSON.stringify(u,null,2));return}d.info(`${ee} Item updated: ${u.id}`)}catch(u){if(u instanceof g&&u.isUserError){d.info(`${N} ${u.message}`),process.exitCode=1;return}throw await l.sendError(u instanceof Error?u:new Error(String(u)),"cms_items_update",{duration:Date.now()-c}),new g(u,{prefix:`${N} Failed to update item:`})}}),o.command("delete").description("Delete a CMS item. Use --dry-run to preview before executing.").requiredOption("--collection <collectionId>","Collection ID").requiredOption("--item <itemId>","Item ID").addOption(ro).action(async i=>{if(i.dryRun){d.info(`Dry run \u2014 would delete item ${i.item} from collection ${i.collection}`),d.info("Dry run complete \u2014 no changes made.");return}let s=await Y(),a=G.forCms({authToken:s}),l=Date.now();try{await nD(s,i.collection,i.item),await a.sendUsage("cms_items_delete",{duration:Date.now()-l,dryRun:!1}),d.info(`${ee} Item deleted: ${i.item}`)}catch(c){if(c instanceof g&&c.isUserError){d.info(`${N} ${c.message}`),process.exitCode=1;return}throw await a.sendError(c instanceof Error?c:new Error(String(c)),"cms_items_delete",{duration:Date.now()-l}),new g(c,{prefix:`${N} Failed to delete item:`})}}),o.command("publish").description("Publish one or more CMS items. Use --dry-run to preview before executing.").requiredOption("--collection <collectionId>","Collection ID").requiredOption("--items <itemIds>","Comma-separated item IDs to publish").addOption(ro).addOption(Ut).action(async i=>{let s=i.items.split(",").map(u=>u.trim());if(i.dryRun){d.info(`Dry run \u2014 would publish ${s.length} item(s) in collection ${i.collection}:`),s.forEach(u=>d.info(` ${u}`)),d.info("Dry run complete \u2014 no changes made.");return}let a=await Y(),l=G.forCms({authToken:a}),c=Date.now();try{let u=await rD(a,i.collection,s);if(await l.sendUsage("cms_items_publish",{duration:Date.now()-c,itemCount:s.length,dryRun:!1}),i.json){d.info(JSON.stringify(u,null,2));return}let p=u.publishedItemIds?.length??0;d.info(`${ee} Published ${p} item(s)`),u.errors?.length&&u.errors.forEach(f=>d.warn(` ${f.itemId}: ${f.message}`))}catch(u){if(u instanceof g&&u.isUserError){d.info(`${N} ${u.message}`),process.exitCode=1;return}throw await l.sendError(u instanceof Error?u:new Error(String(u)),"cms_items_publish",{duration:Date.now()-c}),new g(u,{prefix:`${N} Failed to publish items:`})}})};_e();We();Be();ke();J();te();Ce();_e();le();ht();te();async function cD(e,t,n={}){if(Z(t,"siteId"),n.folderId){Z(n.folderId,"folderId");let a=await kA(e,n.folderId),l=new Set(a.assets);if(l.size===0)return{assets:[],pagination:{total:0,limit:0,offset:0}};let c=[],u=0,p=100;for(;;){let k=await K(`${I}/v2/sites/${t}/assets?limit=${p}&offset=${u}`,{headers:{Authorization:`Bearer ${e}`,Accept:"application/json"}});if(!k.ok)throw new g(`Failed to list assets: ${k.status} ${k.statusText}`);let T=await k.json(),P=T.assets??[];c.push(...P);let C=T.pagination?.total??0;if(u+=P.length,u>=C||P.length===0)break}let f=c.filter(k=>l.has(k.id)),m=n.offset??0,h=n.limit??f.length,v=f.slice(m,m+h);return{assets:v,pagination:{total:f.length,limit:v.length,offset:m}}}let r=new URLSearchParams;n.limit!=null&&r.set("limit",String(n.limit)),n.offset!=null&&r.set("offset",String(n.offset));let o=r.toString(),i=await K(`${I}/v2/sites/${t}/assets${o?`?${o}`:""}`,{headers:{Authorization:`Bearer ${e}`,Accept:"application/json"}});if(!i.ok)throw new g(`Failed to list assets: ${i.status} ${i.statusText}`);let s=await i.json();return{assets:s.assets??[],pagination:s.pagination??{total:0,limit:100,offset:0}}}async function uD(e,t,n,r,o){Z(t,"siteId"),o&&Z(o,"folderId");let i=Vc(n);xA(i.meta.title,i.meta.size);let s=r??i.meta.title,a={fileName:i.meta.title,fileHash:i.meta.fileHash,displayName:s};o&&(a.parentFolder=o);let l=await K(`${I}/v2/sites/${t}/assets`,{method:"POST",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(a)});if(!l.ok)throw new g(`Failed to initiate asset upload: ${l.status} ${l.statusText}`);let c=await l.json(),u={fields:c.uploadDetails,_id:c.id,s3Url:c.hostedUrl??"",url:c.uploadUrl??"",contentType:c.contentType??"",origFileName:c.originalFileName??i.meta.title,success_action_redirect:"",createdOn:"",updatedOn:""};try{await Uo(i,u)}catch(p){throw await K(`${I}/v2/assets/${u._id}`,{method:"DELETE",headers:{Authorization:`Bearer ${e}`,Accept:"application/json"}}).catch(()=>{}),p}return{id:u._id,hostedUrl:u.s3Url,displayName:s,originalFileName:i.meta.title}}async function dD(e,t,n){Z(t,"assetId");let r=await K(`${I}/v2/assets/${t}`,{method:"PATCH",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(n)});if(!r.ok)throw new g(`Failed to update asset: ${r.status} ${r.statusText}`);return await r.json()}async function kA(e,t){Z(t,"folderId");let n=await K(`${I}/v2/asset_folders/${t}`,{headers:{Authorization:`Bearer ${e}`,Accept:"application/json"}});if(!n.ok)throw new g(`Failed to get folder: ${n.status} ${n.statusText}`);return await n.json()}async function pD(e,t){Z(t,"siteId");let n=await K(`${I}/v2/sites/${t}/asset_folders`,{headers:{Authorization:`Bearer ${e}`,Accept:"application/json"}});if(!n.ok)throw new g(`Failed to list folders: ${n.status} ${n.statusText}`);return(await n.json()).assetFolders??[]}async function fD(e,t,n,r){Z(t,"siteId"),r&&Z(r,"parentFolderId");let o={displayName:n};r&&(o.parentFolder=r);let i=await K(`${I}/v2/sites/${t}/asset_folders`,{method:"POST",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(o)});if(!i.ok)throw new g(`Failed to create folder: ${i.status} ${i.statusText}`);return await i.json()}var lD={png:{category:"image",maxBytes:4*1024*1024},jpeg:{category:"image",maxBytes:4*1024*1024},jpg:{category:"image",maxBytes:4*1024*1024},gif:{category:"image",maxBytes:4*1024*1024},svg:{category:"image",maxBytes:4*1024*1024},webp:{category:"image",maxBytes:4*1024*1024},avif:{category:"image",maxBytes:4*1024*1024},pdf:{category:"document",maxBytes:10*1024*1024},doc:{category:"document",maxBytes:10*1024*1024},docx:{category:"document",maxBytes:10*1024*1024},xls:{category:"document",maxBytes:10*1024*1024},xlsx:{category:"document",maxBytes:10*1024*1024},ppt:{category:"document",maxBytes:10*1024*1024},pptx:{category:"document",maxBytes:10*1024*1024},txt:{category:"document",maxBytes:10*1024*1024},csv:{category:"document",maxBytes:10*1024*1024},odt:{category:"document",maxBytes:10*1024*1024},ods:{category:"document",maxBytes:10*1024*1024},odp:{category:"document",maxBytes:10*1024*1024},json:{category:"lottie",maxBytes:10*1024*1024},lottie:{category:"lottie",maxBytes:10*1024*1024}};function xA(e,t){let n=e.split(".").pop()?.toLowerCase()??"",r=lD[n];if(!r){let o=Object.keys(lD).join(", ");throw new g(`Unsupported file type ".${n}". Allowed types: ${o}`,{isUserError:!0})}if(t>r.maxBytes){let o=r.maxBytes/1048576,i=(t/(1024*1024)).toFixed(1);throw new g(`File too large: ${i} MB exceeds the ${o} MB limit for ${r.category} files.`,{isUserError:!0})}}var Hu=["id","displayName","originalFileName","contentType","size","lastUpdated"];function mD(e,t=["id","displayName","lastUpdated","size"]){if(e.length===0)return E.dim("No assets found.");let n=Object.fromEntries(Hu.map(l=>[l.toLowerCase(),l])),r=t.map(l=>n[l.toLowerCase()]).filter(l=>l!=null);if(r.length===0)return E.red(`Invalid fields. Available: ${Hu.join(", ")}`);let o=t.filter(l=>n[l.toLowerCase()]==null),i=o.length>0?E.yellow(`Warning: unknown field(s) ignored: ${o.join(", ")}. Available: ${Hu.join(", ")}
199
- `):"",s=r.map(l=>E.bold(l)),a=e.map(l=>r.map(c=>{let u=l[c];if(u==null||c==="size"&&u===0)return E.dim("\u2014");if(c==="size")return CA(Number(u));if(c==="lastUpdated"){let f=new Date(String(u)),m=String(f.getMonth()+1).padStart(2,"0"),h=String(f.getDate()).padStart(2,"0"),v=String(f.getFullYear()).slice(-2),k=String(f.getHours()).padStart(2,"0"),T=String(f.getMinutes()).padStart(2,"0");return`${m}/${h}/${v} ${k}:${T}`}let p=String(u);return c==="displayName"&&p.length>40?E.dim("\u2026")+p.slice(-39):p}));return i+Ve(s,a)}function CA(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function gD(e){if(e.length===0)return E.dim("No folders found.");let t=[...e].sort((o,i)=>o.displayName.localeCompare(i.displayName)),n=["id","displayName","assets","lastUpdated"].map(o=>E.bold(o)),r=t.map(o=>[o.id,o.displayName,String(o.assets.length),new Date(o.lastUpdated).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit",hour12:!1})]);return Ve(n,r)}var hD=e=>{let t=e.command("assets").description("Manage Webflow site assets");t.command("list").description("List all assets for a site").option("--site <siteId>","Site ID (falls back to manifest or prompts)").option("--folder <folderId>","Filter by folder ID").option("--json","Output as JSON").option("--fields <fields>","Comma-separated fields to display (id, displayName, originalFileName, contentType, size, lastUpdated)","id,displayName,lastUpdated,size").option("--limit <n>","Max number of assets to return (default 100)",parseInt).option("--offset <n>","Number of assets to skip",parseInt).option("--sort-by <field>","Sort by: displayName, originalFileName, contentType, size, lastUpdated","displayName").option("--order <dir>","Sort direction: asc or desc","asc").action(async r=>{let o,i;if(r.site)o=await Y(),i=r.site;else{let{manifest:l}=Q(),c=await be(l);o=c.accessToken,i=c.siteId}let s=G.forAssets({authToken:o,siteId:i}),a=Date.now();try{let{assets:l,pagination:c}=await cD(o,i,{limit:r.limit,offset:r.offset,folderId:r.folder});if(await s.sendUsage("assets_list",{duration:Date.now()-a,count:l.length}),l.length===0){d.info("No assets found.");return}let u=["displayName","originalFileName","contentType","size","lastUpdated"];if(u.includes(r.sortBy)||(d.warn(`Unknown --sort-by "${r.sortBy}". Valid fields: ${u.join(", ")}. Defaulting to displayName.`),r.sortBy="displayName"),!["asc","desc"].includes(r.order))throw new g(`Invalid --order "${r.order}". Valid values: asc, desc`,{isUserError:!0});let p=ca(l,r.sortBy,r.order);if(r.json){d.info(JSON.stringify({assets:p,pagination:c},null,2));return}let f=r.fields.split(",").map(h=>h.trim());d.info(mD(p,f));let m=(r.offset??0)+l.length;m<c.total&&d.info(E.dim(`Showing ${m} of ${c.total} assets. Use --offset ${m} to see more.`))}catch(l){throw await s.sendError(l instanceof Error?l:new Error(String(l)),"assets_list",{duration:Date.now()-a}),new g(l,{prefix:`${N} Failed to list assets:`})}}),t.command("upload").description(`Upload a file as an asset. Use --dry-run to preview before uploading.
200
- Supported types: png, jpg, jpeg, gif, svg, webp, avif (\u22644 MB); pdf, doc, docx, xls, xlsx, ppt, pptx, txt, csv, odt, ods, odp, json, lottie (\u226410 MB)`).argument("<file>","Path to the file to upload (see supported types above)").option("--site <siteId>","Site ID (falls back to manifest or prompts)").option("--name <displayName>","Display name for the asset (defaults to filename)").option("--folder <folderId>","Upload into a folder").option("--dry-run","Preview the upload without executing it").option("--json","Output as JSON").action(async(r,o)=>{if(o.dryRun){d.info(`Dry run \u2014 would upload: ${r}`),o.name&&d.info(` Display name: ${o.name}`),o.folder&&d.info(` Folder: ${o.folder}`),d.info("Dry run complete \u2014 no changes made.");return}let i,s;if(o.site)i=await Y(),s=o.site;else{let{manifest:c}=Q(),u=await be(c);i=u.accessToken,s=u.siteId}let a=G.forAssets({authToken:i,siteId:s}),l=Date.now();try{let c=await uD(i,s,r,o.name,o.folder);if(await a.sendUsage("assets_upload",{duration:Date.now()-l,dryRun:!1}),o.json){d.info(JSON.stringify(c,null,2));return}d.info(`${ee} Asset uploaded: ${c.id}`),c.hostedUrl&&d.info(` URL: ${c.hostedUrl}`)}catch(c){throw await a.sendError(c instanceof Error?c:new Error(String(c)),"assets_upload",{duration:Date.now()-l}),new g(c,{prefix:`${N} Failed to upload asset:`})}}),t.command("update").description("Update an asset's metadata. Use --dry-run to preview.").argument("<assetId>","Asset ID to update").option("--alt-text <text>","Alt text for the asset").option("--display-name <name>","New display name for the asset").option("--dry-run","Preview without executing").option("--json","Output as JSON").action(async(r,o)=>{if(!o.altText&&!o.displayName)throw new g("Provide at least one of --alt-text or --display-name.",{isUserError:!0});if(o.dryRun){d.info(`Dry run \u2014 would update asset: ${r}`),o.altText&&d.info(` Alt text: ${o.altText}`),o.displayName&&d.info(` Display name: ${o.displayName}`),d.info("Dry run complete \u2014 no changes made.");return}let i=await Y(),s=G.forAssets({authToken:i}),a=Date.now();try{let l=await dD(i,r,{altText:o.altText,displayName:o.displayName});if(await s.sendUsage("assets_update",{duration:Date.now()-a,dryRun:!1}),o.json){d.info(JSON.stringify(l,null,2));return}d.info(`${ee} Asset updated: ${l.id}`),l.displayName&&d.info(` Display name: ${l.displayName}`),l.altText&&d.info(` Alt text: ${l.altText}`)}catch(l){throw await s.sendError(l instanceof Error?l:new Error(String(l)),"assets_update",{duration:Date.now()-a}),new g(l,{prefix:`${N} Failed to update asset:`})}});let n=t.command("folders").description("Manage asset folders");n.command("list").description("List all asset folders for a site").option("--site <siteId>","Site ID (falls back to manifest or prompts)").option("--json","Output as JSON").action(async r=>{let o,i;if(r.site)o=await Y(),i=r.site;else{let{manifest:l}=Q(),c=await be(l);o=c.accessToken,i=c.siteId}let s=G.forAssets({authToken:o,siteId:i}),a=Date.now();try{let l=await pD(o,i);if(await s.sendUsage("assets_folders_list",{duration:Date.now()-a,count:l.length}),r.json){d.info(JSON.stringify(l,null,2));return}d.info(gD(l))}catch(l){throw await s.sendError(l instanceof Error?l:new Error(String(l)),"assets_folders_list",{duration:Date.now()-a}),new g(l,{prefix:`${N} Failed to list folders:`})}}),n.command("create").description("Create a new asset folder").argument("<name>","Display name for the folder").option("--site <siteId>","Site ID (falls back to manifest or prompts)").option("--parent <folderId>","Parent folder ID (creates a nested folder)").option("--json","Output as JSON").action(async(r,o)=>{let i,s;if(o.site)i=await Y(),s=o.site;else{let{manifest:c}=Q(),u=await be(c);i=u.accessToken,s=u.siteId}let a=G.forAssets({authToken:i,siteId:s}),l=Date.now();try{let c=await fD(i,s,r,o.parent);if(await a.sendUsage("assets_folders_create",{duration:Date.now()-l}),o.json){d.info(JSON.stringify(c,null,2));return}d.info(`${ee} Folder created: ${c.id}`),d.info(` Name: ${c.displayName}`),c.parentFolder&&d.info(` Parent: ${c.parentFolder}`)}catch(c){throw await a.sendError(c instanceof Error?c:new Error(String(c)),"assets_folders_create",{duration:Date.now()-l}),new g(c,{prefix:`${N} Failed to create folder:`})}})};We();Be();J();te();Ce();_e();le();ht();te();async function wD(e,t){Z(t,"siteId");let n=await K(`${I}/v2/sites/${t}`,{headers:{Authorization:`Bearer ${e}`,Accept:"application/json"}});if(!n.ok)throw new g(`Failed to get site: ${n.status} ${n.statusText}`);return await n.json()}async function bD(e){let t=[],n=0,r=100;for(;;){let o=new URL(`${I}/v2/sites`);o.searchParams.set("limit",String(r)),o.searchParams.set("offset",String(n));let i=await K(o.toString(),{headers:{Authorization:`Bearer ${e}`,Accept:"application/json"}});if(!i.ok)throw new g(`Failed to list sites: ${i.status} ${i.statusText}`);let s=await i.json(),a=s.sites??[];t.push(...a);let l=s.pagination?.total??a.length;if(n+=a.length,n>=l||a.length<r)break}return t}async function DD(e,t){Z(t,"siteId");let n=await K(`${I}/v2/sites/${t}/custom_domains`,{headers:{Authorization:`Bearer ${e}`,Accept:"application/json"}});if(!n.ok)throw new g(`Failed to get custom domains: ${n.status} ${n.statusText}`);return(await n.json()).customDomains??[]}async function vD(e,t,n=[],r){Z(t,"siteId"),r&&Z(r,"pageId");let o=n.length>0?{customDomains:n}:{publishToWebflowSubdomain:!0};r&&(o.pageId=r);let i=await K(`${I}/v2/sites/${t}/publish`,{method:"POST",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(o)});if(!i.ok)throw new g(`Failed to publish site: ${i.status} ${i.statusText}`);return await i.json()}var Zu=["id","displayName","shortName","lastPublished","lastUpdated","timeZone"],yD=Object.fromEntries(Zu.map(e=>[e.toLowerCase(),e]));function kD(e,t=["id","displayName","lastPublished"],{warn:n}={}){if(e.length===0)return E.dim("No sites found.");let r=t.map(a=>yD[a.toLowerCase()]).filter(a=>a!=null),o=t.filter(a=>yD[a.toLowerCase()]==null);if(o.length>0&&n&&n(`Unknown field(s): ${o.join(", ")}. Available: ${Zu.join(", ")}`),r.length===0)throw new g(`No valid fields specified. Available: ${Zu.join(", ")}`,{isUserError:!0});let i=r.map(a=>E.bold(a)),s=e.map(a=>r.map(l=>{let c=a[l];return c?l==="lastPublished"||l==="lastUpdated"?new Date(c).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}):c:E.dim("\u2014")}));return Ve(i,s)}function xD(e){if(e.length===0)return E.dim("No custom domains configured.");let t=[E.bold("id"),E.bold("url"),E.bold("lastPublished")],n=e.map(r=>[r.id,r.url,r.lastPublished?new Date(r.lastPublished).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}):E.dim("\u2014")]);return Ve(t,n)}var CD=e=>{let t=e.command("sites").description("Manage Webflow sites");t.command("list").description("List all sites in your Webflow workspace").option("--json","Output as JSON").option("--fields <fields>","Comma-separated fields to display (id, displayName, shortName, lastPublished, lastUpdated, timeZone)","id,displayName,lastPublished").action(async n=>{let r=await Y(),o=G.forSites({authToken:r}),i=Date.now();try{let s=await bD(r);if(await o.sendUsage("sites_list",{duration:Date.now()-i,count:s.length}),n.json){d.info(JSON.stringify(s,null,2));return}let a=n.fields.split(",").map(l=>l.trim());d.info(kD(s,a,{warn:l=>d.warn(l)}))}catch(s){throw await o.sendError(s instanceof Error?s:new Error(String(s)),"sites_list",{duration:Date.now()-i}),new g(s,{prefix:`${N} Failed to list sites:`})}}),t.command("get").description("Get details for a specific site").argument("<siteId>","Site ID").option("--json","Output as JSON").action(async(n,r)=>{let o=await Y(),i=G.forSites({authToken:o}),s=Date.now();try{let a=await wD(o,n);if(await i.sendUsage("sites_get",{duration:Date.now()-s}),r.json){d.info(JSON.stringify(a,null,2));return}d.info(`${a.displayName} (${a.id})`),d.info(` Short name: ${a.shortName}`),d.info(` Time zone: ${a.timeZone}`),a.lastPublished&&d.info(` Published: ${new Date(a.lastPublished).toLocaleString()}`),a.previewUrl&&d.info(` Preview: ${a.previewUrl}`)}catch(a){throw await i.sendError(a instanceof Error?a:new Error(String(a)),"sites_get",{duration:Date.now()-s}),new g(a,{prefix:`${N} Failed to get site:`})}}),t.command("domains").description("List custom domains configured for a site").requiredOption("--site <siteId>","Site ID").option("--json","Output as JSON").action(async n=>{let r=await Y(),o=G.forSites({authToken:r}),i=Date.now();try{let s=await DD(r,n.site);if(await o.sendUsage("sites_domains",{duration:Date.now()-i,count:s.length}),n.json){d.info(JSON.stringify(s,null,2));return}d.info(xD(s))}catch(s){throw await o.sendError(s instanceof Error?s:new Error(String(s)),"sites_domains",{duration:Date.now()-i}),new g(s,{prefix:`${N} Failed to get custom domains:`})}}),t.command("publish").description("Publish a Webflow site (defaults to Webflow subdomain)").requiredOption("--site <siteId>","Site ID to publish").option("--domains <domains>","Comma-separated custom domain IDs to publish to").option("--page <pageId>","Publish a single page instead of the whole site").option("--dry-run","Preview what would be published without publishing").option("--json","Output as JSON").action(async n=>{if(Z(n.site,"siteId"),n.dryRun){d.info(`Would publish ${n.page?`page ${n.page} on`:"site"} ${n.site}`),n.domains?d.info(` Custom domains: ${n.domains}`):d.info(" Domains: Webflow subdomain");return}let r=await Y(),o=G.forSites({authToken:r}),i=Date.now();try{let s=n.domains?n.domains.split(",").map(u=>u.trim()):[],a=await vD(r,n.site,s,n.page);if(await o.sendUsage("sites_publish",{duration:Date.now()-i,dryRun:!1,publishScope:a.publishScope}),n.json){d.info(JSON.stringify(a,null,2));return}let l=a.publishScope==="page"?"Page":"Site";d.info(`${ee} ${l} published successfully`);let c=a.customDomains??[];c.length>0?c.forEach(u=>{let p=u.lastPublished?` (${new Date(u.lastPublished).toLocaleString()})`:"";d.info(` Live at: https://${u.url}${p}`)}):a.publishToWebflowSubdomain&&d.info(" Published to Webflow subdomain")}catch(s){throw await o.sendError(s instanceof Error?s:new Error(String(s)),"sites_publish",{duration:Date.now()-i}),new g(s,{prefix:`${N} Failed to publish site:`})}})};var OD=w(require("fs"));We();Be();J();te();Ce();_e();le();te();ht();te();async function Ku(e,t,n,r){let o=[],i=0,s=100;for(;;){let a=new URL(e);a.searchParams.set("limit",String(s)),a.searchParams.set("offset",String(i));let l=await K(a.toString(),{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}});if(!l.ok)throw new g(`${r}: ${l.status} ${l.statusText}`);let c=await l.json(),u=c[n]??[];o.push(...u);let p=c.pagination?.total??u.length;if(i+=u.length,i>=p||u.length<s)break}return o}async function FD(e,t){return Z(t,"siteId"),Ku(`${I}/v2/sites/${t}/forms`,e,"forms","Failed to list forms")}async function SD(e,t,n){return Z(t,"siteId"),Z(n,"formId"),Ku(`${I}/v2/sites/${t}/forms/${n}/submissions`,e,"formSubmissions","Failed to list submissions")}var Yu=["id","displayName","name","slug","createdOn","lastUpdated"],ED=Object.fromEntries(Yu.map(e=>[e.toLowerCase(),e]));function _D(e,t=["id","displayName","slug"],{warn:n}={}){if(e.length===0)return E.dim("No forms found.");let r=t.map(a=>ED[a.toLowerCase()]).filter(a=>a!=null),o=t.filter(a=>ED[a.toLowerCase()]==null);if(o.length>0&&n&&n(`Unknown field(s): ${o.join(", ")}. Available: ${Yu.join(", ")}`),r.length===0)throw new g(`No valid fields specified. Available: ${Yu.join(", ")}`,{isUserError:!0});let i=r.map(a=>E.bold(a)),s=e.map(a=>r.map(l=>{let c=a[l];return c?l==="createdOn"||l==="lastUpdated"?new Date(c).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}):c:E.dim("\u2014")}));return Ve(i,s)}function AD(e){if(e.length===0)return E.dim("No submissions found.");let t=Array.from(new Set(e.flatMap(o=>Object.keys(o.formResponse)))),n=["id","dateSubmitted",...t].map(o=>E.bold(o)),r=e.map(o=>[o.id,new Date(o.dateSubmitted).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}),...t.map(i=>{let s=o.formResponse[i];return s==null?E.dim("\u2014"):typeof s=="object"?JSON.stringify(s):String(s)})]);return Ve(n,r)}function TD(e){if(e.length===0)return"";let n=["id","formId","displayName","dateSubmitted",...Array.from(new Set(e.flatMap(i=>Object.keys(i.formResponse))))],r=i=>{let s=i==null?"":typeof i=="object"?JSON.stringify(i):String(i);return s.includes(",")||s.includes('"')||s.includes(`
201
- `)?`"${s.replace(/"/g,'""')}"`:s};return[n.join(","),...e.map(i=>n.map(s=>r(s==="id"?i.id:s==="formId"?i.formId:s==="displayName"?i.displayName:s==="dateSubmitted"?i.dateSubmitted:i.formResponse[s])).join(","))].join(`
202
- `)}var PD=e=>{let t=e.command("forms").description("Manage Webflow forms");t.command("list").description("List all forms for a site").requiredOption("--site <siteId>","Site ID").option("--json","Output as JSON").option("--fields <fields>","Comma-separated fields to display (id, displayName, name, slug, createdOn, lastUpdated)","id,displayName,slug").action(async n=>{let r=await Y(),o=G.forForms({authToken:r}),i=Date.now();try{let s=await FD(r,n.site);if(await o.sendUsage("forms_list",{duration:Date.now()-i,count:s.length}),n.json){d.info(JSON.stringify(s,null,2));return}if(s.length===0){d.info("No forms found.");return}let a=n.fields.split(",").map(l=>l.trim());d.info(_D(s,a,{warn:l=>d.warn(l)}))}catch(s){throw await o.sendError(s instanceof Error?s:new Error(String(s)),"forms_list",{duration:Date.now()-i}),new g(s,{prefix:`${N} Failed to list forms:`})}}),t.command("submissions").description("List or export form submissions").requiredOption("--site <siteId>","Site ID").requiredOption("--form <formId>","Form ID").option("--json","Output as JSON").option("--output <file>","Save submissions as CSV to a file").action(async n=>{Z(n.site,"siteId"),Z(n.form,"formId"),n.output&&n.json&&d.warn("--json is ignored when --output is set.");let r=await Y(),o=G.forForms({authToken:r}),i=Date.now();try{let s=await SD(r,n.site,n.form);if(await o.sendUsage("forms_submissions",{duration:Date.now()-i,count:s.length}),s.length===0){d.info("No submissions found.");return}if(n.output){let a=TD(s);OD.default.writeFileSync(n.output,a,"utf8"),d.info(`${ee} ${s.length} submission${s.length===1?"":"s"} written to ${n.output}`);return}if(n.json){d.info(JSON.stringify(s,null,2));return}d.info(AD(s))}catch(s){throw await o.sendError(s instanceof Error?s:new Error(String(s)),"forms_submissions",{duration:Date.now()-i}),new g(s,{prefix:`${N} Failed to fetch submissions:`})}})};var ID=w(ki());function Xu(e,t){t.forEach(n=>{e.addOption(n)}),e.commands.forEach(n=>Xu(n,t))}function jD(e){let t=ID.default.version;e.name("webflow").description("Webflow CLI").version(t,"-v, --version").addOption(pu).addOption(fu).addOption(mu).addOption(gu).showHelpAfterError(),e.hook("preAction",async n=>{let r=n.opts();r.input||Kd(!0),Tt.start(),r.manifest&&Yd(r.manifest);try{await G.promptForConsentIfNeeded()}catch(o){d.debug(`Failed to check telemetry preference: ${o}`)}try{r.skipUpdateCheck||await new vo().prompt()}catch(o){d.debug(`Failed to check for package updates: ${o}`)}}),e.hook("postAction",async()=>{Tt.displayGrouped(),Tt.stop()}),$p(e),aD(e),mf(e),_w(e),qb(e),Sw(e),hD(e),CD(e),PD(e),kw(e),e.commands.forEach(n=>{Xu(n,[pu,fu,mu,gu])})}J();te();var $D=new RD.Command;jD($D);$D.parseAsync().catch(e=>{if(e instanceof g){if(!e.skipLogging)if(e.isUserError){let t=e.prefix?`${e.prefix} `:"";console.error(`${t}${e.message}`)}else d.error(e,{prefix:e.prefix})}else d.error(e);process.exit(1)});
177
+ ${n}
178
+ ${i}`}re();De();async function is(t){if(t.site)return{token:await R(),siteId:t.site};let{manifest:e}=G(),r=await ge(e);return{token:r.accessToken,siteId:r.siteId}}function Fg(t,e=["id","displayName","slug"]){if(t.length===0)return S("No collections found.");let r=["id","displayName","singularName","slug","lastUpdated"],n=Object.fromEntries(r.map(a=>[a.toLowerCase(),a])),o=e.map(a=>n[a.toLowerCase()]).filter(a=>a!=null);if(o.length===0)return bt(`Invalid fields. Available: ${r.join(", ")}`);let i=o.map(a=>Z(a)),s=t.map(a=>o.map(l=>{let u=a[l];return u?l==="lastUpdated"?new Date(u).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}):u:S("\u2014")}));return We(i,s)}function kg(t){let e=[`${Z("Collection:")} ${t.displayName}`,`${Z("ID:")} ${t.id}`,`${Z("Slug:")} ${t.slug}`,`${Z("Singular:")} ${t.singularName}`,`${Z("Updated:")} ${new Date(t.lastUpdated).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})}`,"",Z("Fields:")];if(t.fields.length===0)return e.push(S(" No fields defined.")),e.join(`
179
+ `);let r=["NAME","SLUG","TYPE","REQUIRED"].map(o=>Z(o)),n=t.fields.map(o=>[o.displayName,o.slug,o.type,o.isRequired?"yes":"no"]);return e.push(We(r,n)),e.join(`
180
+ `)}function Sg(t,e=["id","isDraft","lastUpdated"]){if(t.length===0)return S("No items found.");let r=e.map(o=>Z(o)),n=t.map(o=>e.map(i=>{if(i==="fieldData")return JSON.stringify(o.fieldData);if(i==="isDraft")return o.isDraft?ce("draft"):M("live");if(i==="isArchived")return o.isArchived?S("archived"):"";if(i==="lastUpdated"||i==="lastPublished"||i==="createdOn"){let a=o[i];return a?new Date(a).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}):S("\u2014")}let s=o[i];return s==null?S("\u2014"):String(s)}));return We(r,n)}$();_();H();function ss(t,e,r="asc"){return[...t].sort((n,o)=>{let i=n[e],s=o[e];if(i==null&&s==null)return 0;if(i==null)return 1;if(s==null)return-1;let a=0;return typeof i=="string"&&typeof s=="string"?a=i.localeCompare(s):typeof i=="number"&&typeof s=="number"?a=i-s:a=String(i).localeCompare(String(s)),r==="desc"?-a:a})}ee();async function rc(t){let{token:e,siteId:r}=await is(t),n=A.forCms({authToken:e,siteId:r}),o=Date.now();try{let i=await wg(e,r);if(await n.sendUsage("cms_collections_list",{duration:Date.now()-o,count:i.length}),i.length===0){c.info("No collections found.");return}let s=["displayName","slug","lastUpdated"];if(s.includes(t.sortBy)||(c.warn(`Unknown --sort-by "${t.sortBy}". Valid fields: ${s.join(", ")}. Defaulting to displayName.`),t.sortBy="displayName"),!["asc","desc"].includes(t.order))throw new d(`Invalid --order "${t.order}". Valid values: asc, desc`,{isUserError:!0});let a=ss(i,t.sortBy,t.order);if(t.json){c.info(JSON.stringify(a,null,2));return}let l=t.fields.split(",").map(u=>u.trim());c.info(Fg(a,l))}catch(i){if(i instanceof d&&i.isUserError){c.info(`${E} ${i.message}`),process.exitCode=1;return}throw await n.sendError(i instanceof Error?i:new Error(String(i)),"cms_collections_list",{duration:Date.now()-o}),new d(i,{prefix:`${E} Failed to list collections:`})}}re();$();_();H();ee();async function nc(t,e){let r=await R(),n=A.forCms({authToken:r}),o=Date.now();try{let i=await Dg(r,t);if(await n.sendUsage("cms_collections_get",{duration:Date.now()-o}),e.json){c.info(JSON.stringify(i,null,2));return}c.info(kg(i))}catch(i){if(i instanceof d&&i.isUserError){c.info(`${E} ${i.message}`),process.exitCode=1;return}throw await n.sendError(i instanceof Error?i:new Error(String(i)),"cms_collections_get",{duration:Date.now()-o}),new d(i,{prefix:`${E} Failed to get collection:`})}}$();_();H();ee();async function oc(t){let e=t.singularName??t.name,r=t.slug??t.name.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"");if(t.dryRun){c.info("Dry run \u2014 would create collection:"),c.info(JSON.stringify({displayName:t.name,singularName:e,slug:r},null,2)),c.info("Dry run complete \u2014 no changes made.");return}let{token:n,siteId:o}=await is(t),i=A.forCms({authToken:n,siteId:o}),s=Date.now();try{let a=await bg(n,o,{displayName:t.name,singularName:e,slug:r});if(await i.sendUsage("cms_collections_create",{duration:Date.now()-s}),t.json){c.info(JSON.stringify(a,null,2));return}c.info(`${T} Collection created: ${a.id}`),c.info(` Name: ${a.displayName}`),c.info(` Slug: ${a.slug}`),c.info(`
181
+ Next: add fields with "webflow cms fields create --collection ${a.id} --name <name> --type <type>"`)}catch(a){if(a instanceof d&&a.isUserError){c.info(`${E} ${a.message}`),process.exitCode=1;return}throw await i.sendError(a instanceof Error?a:new Error(String(a)),"cms_collections_create",{duration:Date.now()-s}),new d(a,{prefix:`${E} Failed to create collection:`})}}re();$();_();H();ee();async function ic(t){if(t.dryRun){c.info("Dry run \u2014 would create field:"),c.info(JSON.stringify({collectionId:t.collection,displayName:t.name,type:t.type,isRequired:t.required??!1},null,2)),c.info("Dry run complete \u2014 no changes made.");return}let e=await R(),r=A.forCms({authToken:e}),n=Date.now();try{let o=await vg(e,t.collection,{displayName:t.name,type:t.type,isRequired:t.required??!1});if(await r.sendUsage("cms_fields_create",{duration:Date.now()-n}),t.json){c.info(JSON.stringify(o,null,2));return}c.info(`${T} Field created: ${o.id}`),c.info(` Name: ${o.displayName}`),c.info(` Type: ${o.type}`),c.info(` Slug: ${o.slug}`)}catch(o){if(o instanceof d&&o.isUserError){c.info(`${E} ${o.message}`),process.exitCode=1;return}throw await r.sendError(o instanceof Error?o:new Error(String(o)),"cms_fields_create",{duration:Date.now()-n}),new d(o,{prefix:`${E} Failed to create field:`})}}re();$();_();H();ee();async function sc(t){let e=await R(),r=A.forCms({authToken:e}),n=Date.now(),o=t.limit??100,i=t.offset??0;try{let s=await Ql(e,t.collection,{limit:o,offset:i,cmsLocaleId:t.locale});if(await r.sendUsage("cms_items_list",{duration:Date.now()-n,count:s.items.length}),s.items.length===0){c.info("No items found.");return}if(t.json){c.info(JSON.stringify(s,null,2));return}let a=t.fields.split(",").map(p=>p.trim());c.info(Sg(s.items,a));let l=i+1,u=i+s.items.length;if(s.items.length>=o||i>0){let p=s.total>0?` of ${s.total}`:"";c.info(`
182
+ Showing ${l}\u2013${u}${p} items. Use --offset ${u} to load next page.`)}}catch(s){if(s instanceof d&&s.isUserError){c.info(`${E} ${s.message}`),process.exitCode=1;return}throw await r.sendError(s instanceof Error?s:new Error(String(s)),"cms_items_list",{duration:Date.now()-n}),new d(s,{prefix:`${E} Failed to list items:`})}}re();$();_();H();ee();async function ac(t){let e=await R(),r=A.forCms({authToken:e}),n=Date.now();try{let o=await Eg(e,t.collection,t.item,t.locale);if(await r.sendUsage("cms_items_get",{duration:Date.now()-n}),t.json){c.info(JSON.stringify(o,null,2));return}let i=o.isArchived?"archived":o.isDraft?"draft":"live";c.info(`${o.id} [${i}]`),c.info(` Last updated: ${new Date(o.lastUpdated).toLocaleString()}`),o.lastPublished&&c.info(` Last published: ${new Date(o.lastPublished).toLocaleString()}`),c.info(" Fields:"),c.info(JSON.stringify(o.fieldData,null,4).replace(/^/gm," "))}catch(o){if(o instanceof d&&o.isUserError){c.info(`${E} ${o.message}`),process.exitCode=1;return}throw await r.sendError(o instanceof Error?o:new Error(String(o)),"cms_items_get",{duration:Date.now()-n}),new d(o,{prefix:`${E} Failed to get item:`})}}re();$();_();H();ee();async function lc(t){let e;try{e=JSON.parse(t.data)}catch{throw new d(`Invalid JSON for --data: ${t.data}`)}if(t.dryRun){c.info("Dry run \u2014 would create item:"),c.info(JSON.stringify({fieldData:e,isDraft:t.draft??!1},null,2)),c.info("Dry run complete \u2014 no changes made.");return}let r=await R(),n=A.forCms({authToken:r}),o=Date.now();try{let i=await ec(r,t.collection,e,t.draft??!1);if(await n.sendUsage("cms_items_create",{duration:Date.now()-o,dryRun:!1}),t.json){c.info(JSON.stringify(i,null,2));return}c.info(`${T} Item created: ${i.id}`)}catch(i){if(i instanceof d&&i.isUserError){c.info(`${E} ${i.message}`),process.exitCode=1;return}throw await n.sendError(i instanceof Error?i:new Error(String(i)),"cms_items_create",{duration:Date.now()-o}),new d(i,{prefix:`${E} Failed to create item:`})}}re();$();_();H();ee();async function cc(t){let e;try{e=JSON.parse(t.data)}catch{throw new d(`Invalid JSON for --data: ${t.data}`)}if(t.dryRun){c.info("Dry run \u2014 would update item:"),c.info(JSON.stringify({collectionId:t.collection,itemId:t.item,fieldData:e},null,2)),c.info("Dry run complete \u2014 no changes made.");return}let r=await R(),n=A.forCms({authToken:r}),o=Date.now();try{let i=await tc(r,t.collection,t.item,e);if(await n.sendUsage("cms_items_update",{duration:Date.now()-o,dryRun:!1}),t.json){c.info(JSON.stringify(i,null,2));return}c.info(`${T} Item updated: ${i.id}`)}catch(i){if(i instanceof d&&i.isUserError){c.info(`${E} ${i.message}`),process.exitCode=1;return}throw await n.sendError(i instanceof Error?i:new Error(String(i)),"cms_items_update",{duration:Date.now()-o}),new d(i,{prefix:`${E} Failed to update item:`})}}re();$();_();H();ee();async function uc(t){if(t.dryRun){c.info(`Dry run \u2014 would delete item ${t.item} from collection ${t.collection}`),c.info("Dry run complete \u2014 no changes made.");return}let e=await R(),r=A.forCms({authToken:e}),n=Date.now();try{await xg(e,t.collection,t.item),await r.sendUsage("cms_items_delete",{duration:Date.now()-n,dryRun:!1}),c.info(`${T} Item deleted: ${t.item}`)}catch(o){if(o instanceof d&&o.isUserError){c.info(`${E} ${o.message}`),process.exitCode=1;return}throw await r.sendError(o instanceof Error?o:new Error(String(o)),"cms_items_delete",{duration:Date.now()-n}),new d(o,{prefix:`${E} Failed to delete item:`})}}re();$();_();H();ee();async function fc(t){let e=t.items.split(",").map(i=>i.trim());if(t.dryRun){c.info(`Dry run \u2014 would publish ${e.length} item(s) in collection ${t.collection}:`),e.forEach(i=>c.info(` ${i}`)),c.info("Dry run complete \u2014 no changes made.");return}let r=await R(),n=A.forCms({authToken:r}),o=Date.now();try{let i=await _g(r,t.collection,e);if(await n.sendUsage("cms_items_publish",{duration:Date.now()-o,itemCount:e.length,dryRun:!1}),t.json){c.info(JSON.stringify(i,null,2));return}let s=i.publishedItemIds?.length??0;c.info(`${T} Published ${s} item(s)`),i.errors?.length&&i.errors.forEach(a=>c.warn(` ${a.itemId}: ${a.message}`))}catch(i){if(i instanceof d&&i.isUserError){c.info(`${E} ${i.message}`),process.exitCode=1;return}throw await n.sendError(i instanceof Error?i:new Error(String(i)),"cms_items_publish",{duration:Date.now()-o}),new d(i,{prefix:`${E} Failed to publish items:`})}}var Tg=t=>{let e=t.command("cms").description("Manage Webflow CMS content"),r=e.command("collections").description("Manage CMS collections");r.command("list").description("List all CMS collections for a site").addOption(Me()).addOption(ue()).addOption(kt(["id","displayName","singularName","slug","lastUpdated"]).default("id,displayName,slug")).addOption(Ri(["displayName","slug","lastUpdated"]).default("displayName")).addOption($i()).action(rc),r.command("get").description("Get details and field schema for a CMS collection").argument("<collectionId>","Collection ID").addOption(ue()).action(nc),r.command("create").description("Create a new CMS collection on a site. Use --dry-run to preview.").addOption(Me()).requiredOption("--name <displayName>","Collection display name").option("--singular-name <singularName>","Singular name (defaults to --name)").option("--slug <slug>","URL slug for the collection (auto-derived from --name if omitted)").addOption(qe()).addOption(ue()).action(oc),e.command("fields").description("Manage CMS collection fields").command("create").description("Add a field to a CMS collection. Use --dry-run to preview.").requiredOption("--collection <collectionId>","Collection ID").requiredOption("--name <displayName>","Field display name").requiredOption("--type <type>","Field type (e.g. PlainText, RichText, Number, DateTime, Link, Image, Video, Color, Bool, Option, ItemRef, ItemRefSet)").option("--required","Mark field as required").addOption(qe()).addOption(ue()).action(ic);let o=e.command("items").description("Manage CMS items");o.command("list").description("List items in a CMS collection").requiredOption("--collection <collectionId>","Collection ID").option("--locale <cmsLocaleId>","CMS locale ID to filter by").addOption(Pi()).addOption(ji()).addOption(ue()).addOption(kt(["id","isDraft","isArchived","lastUpdated","fieldData"]).default("id,isDraft,lastUpdated")).action(sc),o.command("get").description("Get a single CMS item by ID").requiredOption("--collection <collectionId>","Collection ID").requiredOption("--item <itemId>","Item ID").option("--locale <cmsLocaleId>","CMS locale ID to retrieve content for").addOption(ue()).action(ac),o.command("create").description("Create a new CMS item. Use --dry-run to preview before executing.").requiredOption("--collection <collectionId>","Collection ID").requiredOption("--data <json>","Item field data as a JSON string").option("--draft","Create as draft (not published)").addOption(qe()).addOption(ue()).action(lc),o.command("update").description("Update an existing CMS item. Use --dry-run to preview before executing.").requiredOption("--collection <collectionId>","Collection ID").requiredOption("--item <itemId>","Item ID").requiredOption("--data <json>","Updated field data as a JSON string").addOption(qe()).addOption(ue()).action(cc),o.command("delete").description("Delete a CMS item. Use --dry-run to preview before executing.").requiredOption("--collection <collectionId>","Collection ID").requiredOption("--item <itemId>","Item ID").addOption(qe()).action(uc),o.command("publish").description("Publish one or more CMS items. Use --dry-run to preview before executing.").requiredOption("--collection <collectionId>","Collection ID").requiredOption("--items <itemIds>","Comma-separated item IDs to publish").addOption(qe()).addOption(ue()).action(fc)};re();fe();$();_();H();De();ee();ie();ft();$();$();fe();var Ag={png:{category:"image",maxBytes:4*1024*1024},jpeg:{category:"image",maxBytes:4*1024*1024},jpg:{category:"image",maxBytes:4*1024*1024},gif:{category:"image",maxBytes:4*1024*1024},svg:{category:"image",maxBytes:4*1024*1024},webp:{category:"image",maxBytes:4*1024*1024},avif:{category:"image",maxBytes:4*1024*1024},pdf:{category:"document",maxBytes:10*1024*1024},doc:{category:"document",maxBytes:10*1024*1024},docx:{category:"document",maxBytes:10*1024*1024},xls:{category:"document",maxBytes:10*1024*1024},xlsx:{category:"document",maxBytes:10*1024*1024},ppt:{category:"document",maxBytes:10*1024*1024},pptx:{category:"document",maxBytes:10*1024*1024},txt:{category:"document",maxBytes:10*1024*1024},csv:{category:"document",maxBytes:10*1024*1024},odt:{category:"document",maxBytes:10*1024*1024},ods:{category:"document",maxBytes:10*1024*1024},odp:{category:"document",maxBytes:10*1024*1024},json:{category:"lottie",maxBytes:10*1024*1024},lottie:{category:"lottie",maxBytes:10*1024*1024}};function as(t,e){let r=t.split(".").pop()?.toLowerCase()??"",n=Ag[r];if(!n){let o=Object.keys(Ag).join(", ");throw new d(`Unsupported file type ".${r}". Allowed types: ${o}`,{isUserError:!0})}if(e>n.maxBytes){let o=n.maxBytes/1048576,i=(e/(1024*1024)).toFixed(1);throw new d(`File too large: ${i} MB exceeds the ${o} MB limit for ${n.category} files.`,{isUserError:!0})}}var dc=["id","displayName","originalFileName","contentType","size","lastUpdated"];function Og(t,e=["id","displayName","lastUpdated","size"]){if(t.length===0)return S("No assets found.");let r=Object.fromEntries(dc.map(l=>[l.toLowerCase(),l])),n=e.map(l=>r[l.toLowerCase()]).filter(l=>l!=null);if(n.length===0)return bt(`Invalid fields. Available: ${dc.join(", ")}`);let o=e.filter(l=>r[l.toLowerCase()]==null),i=o.length>0?ce(`Warning: unknown field(s) ignored: ${o.join(", ")}. Available: ${dc.join(", ")}
183
+ `):"",s=n.map(l=>Z(l)),a=t.map(l=>n.map(u=>{let f=l[u];if(f==null||u==="size"&&f===0)return S("\u2014");if(u==="size")return hv(Number(f));if(u==="lastUpdated"){let g=new Date(String(f)),h=String(g.getMonth()+1).padStart(2,"0"),w=String(g.getDate()).padStart(2,"0"),F=String(g.getFullYear()).slice(-2),O=String(g.getHours()).padStart(2,"0"),ne=String(g.getMinutes()).padStart(2,"0");return`${h}/${w}/${F} ${O}:${ne}`}let p=String(f);return u==="displayName"&&p.length>40?S("\u2026")+p.slice(-39):p}));return i+We(s,a)}function hv(t){return t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`}function Ig(t){if(t.length===0)return S("No folders found.");let e=[...t].sort((o,i)=>o.displayName.localeCompare(i.displayName)),r=["id","displayName","assets","lastUpdated"].map(o=>Z(o)),n=e.map(o=>[o.id,o.displayName,String(o.assets.length),new Date(o.lastUpdated).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit",hour12:!1})]);return We(r,n)}async function $g(t,e,r={}){if(V(e,"siteId"),r.folderId){V(r.folderId,"folderId");let a=await yv(t,r.folderId),l=new Set(a.assets);if(l.size===0)return{assets:[],pagination:{total:0,limit:0,offset:0}};let u=[],f=0,p=100;for(;;){let O=await q(`${C}/v2/sites/${e}/assets?limit=${p}&offset=${f}`,{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}});if(!O.ok)throw new d(`Failed to list assets: ${O.status} ${O.statusText}`);let ne=await O.json(),K=ne.assets??[];u.push(...K);let x=ne.pagination?.total??0;if(f+=K.length,f>=x||K.length===0)break}let g=u.filter(O=>l.has(O.id)),h=r.offset??0,w=r.limit??g.length,F=g.slice(h,h+w);return{assets:F,pagination:{total:g.length,limit:F.length,offset:h}}}let n=new URLSearchParams;r.limit!=null&&n.set("limit",String(r.limit)),r.offset!=null&&n.set("offset",String(r.offset));let o=n.toString(),i=await q(`${C}/v2/sites/${e}/assets${o?`?${o}`:""}`,{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}});if(!i.ok)throw new d(`Failed to list assets: ${i.status} ${i.statusText}`);let s=await i.json();return{assets:s.assets??[],pagination:s.pagination??{total:0,limit:100,offset:0}}}async function Rg(t,e,r,n,o){V(e,"siteId"),o&&V(o,"folderId");let i=to(r);as(i.meta.title,i.meta.size);let s=n??i.meta.title,a={fileName:i.meta.title,fileHash:i.meta.fileHash,displayName:s};o&&(a.parentFolder=o);let l=await q(`${C}/v2/sites/${e}/assets`,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(a)});if(!l.ok)throw new d(`Failed to initiate asset upload: ${l.status} ${l.statusText}`);let u=await l.json(),f={fields:u.uploadDetails,_id:u.id,s3Url:u.hostedUrl??"",url:u.uploadUrl??"",contentType:u.contentType??"",origFileName:u.originalFileName??i.meta.title,success_action_redirect:"",createdOn:"",updatedOn:""};try{await no(i,f)}catch(p){throw await q(`${C}/v2/assets/${f._id}`,{method:"DELETE",headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}}).catch(()=>{}),p}return{id:f._id,hostedUrl:f.s3Url,displayName:s,originalFileName:i.meta.title}}async function Pg(t,e,r){V(e,"assetId");let n=await q(`${C}/v2/assets/${e}`,{method:"PATCH",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(r)});if(!n.ok)throw new d(`Failed to update asset: ${n.status} ${n.statusText}`);return await n.json()}async function yv(t,e){V(e,"folderId");let r=await q(`${C}/v2/asset_folders/${e}`,{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}});if(!r.ok)throw new d(`Failed to get folder: ${r.status} ${r.statusText}`);return await r.json()}async function jg(t,e){V(e,"siteId");let r=await q(`${C}/v2/sites/${e}/asset_folders`,{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}});if(!r.ok)throw new d(`Failed to list folders: ${r.status} ${r.statusText}`);return(await r.json()).assetFolders??[]}async function Ng(t,e,r,n){V(e,"siteId"),n&&V(n,"parentFolderId");let o={displayName:r};n&&(o.parentFolder=n);let i=await q(`${C}/v2/sites/${e}/asset_folders`,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(o)});if(!i.ok)throw new d(`Failed to create folder: ${i.status} ${i.statusText}`);return await i.json()}async function pc(t){let e,r;if(t.site)e=await R(),r=t.site;else{let{manifest:i}=G(),s=await ge(i);e=s.accessToken,r=s.siteId}let n=A.forAssets({authToken:e,siteId:r}),o=Date.now();try{let{assets:i,pagination:s}=await $g(e,r,{limit:t.limit,offset:t.offset,folderId:t.folder});if(await n.sendUsage("assets_list",{duration:Date.now()-o,count:i.length}),i.length===0){c.info("No assets found.");return}let a=["displayName","originalFileName","contentType","size","lastUpdated"],l=t.sortBy;a.includes(l)||(c.warn(`Unknown --sort-by "${t.sortBy}". Valid fields: ${a.join(", ")}. Defaulting to displayName.`),l="displayName");let u=t.order;["asc","desc"].includes(t.order)||(c.warn(`Unknown --order "${t.order}". Valid values: asc, desc. Defaulting to asc.`),u="asc");let f=ss(i,l,u);if(t.json){c.info(JSON.stringify({assets:f,pagination:s},null,2));return}let p=t.fields.split(",").map(h=>h.trim());c.info(Og(f,p));let g=(t.offset??0)+i.length;g<s.total&&c.info(S(`Showing ${g} of ${s.total} assets. Use --offset ${g} to see more.`))}catch(i){throw await n.sendError(i instanceof Error?i:new Error(String(i)),"assets_list",{duration:Date.now()-o}),new d(i,{prefix:`${E} Failed to list assets:`})}}re();$();_();H();De();ee();async function mc(t,e){let r=to(t);if(as(r.meta.title,r.meta.size),e.dryRun){c.info(`Dry run \u2014 would upload: ${t} (validated)`),e.name&&c.info(` Display name: ${e.name}`),e.folder&&c.info(` Folder: ${e.folder}`),c.info("Dry run complete \u2014 no changes made.");return}let n,o;if(e.site)n=await R(),o=e.site;else{let{manifest:a}=G(),l=await ge(a);n=l.accessToken,o=l.siteId}let i=A.forAssets({authToken:n,siteId:o}),s=Date.now();try{let a=await Rg(n,o,t,e.name,e.folder);if(await i.sendUsage("assets_upload",{duration:Date.now()-s,dryRun:!1}),e.json){c.info(JSON.stringify(a,null,2));return}c.info(`${T} Asset uploaded: ${a.id}`),a.hostedUrl&&c.info(` URL: ${a.hostedUrl}`)}catch(a){throw await i.sendError(a instanceof Error?a:new Error(String(a)),"assets_upload",{duration:Date.now()-s}),new d(a,{prefix:`${E} Failed to upload asset:`})}}re();$();_();H();ee();async function gc(t,e){if(!e.altText&&!e.displayName)throw new d("Provide at least one of --alt-text or --display-name.",{isUserError:!0});if(e.dryRun){c.info(`Dry run \u2014 would update asset: ${t}`),e.altText&&c.info(` Alt text: ${e.altText}`),e.displayName&&c.info(` Display name: ${e.displayName}`),c.info("Dry run complete \u2014 no changes made.");return}let r=await R(),n=A.forAssets({authToken:r}),o=Date.now();try{let i=await Pg(r,t,{altText:e.altText,displayName:e.displayName});if(await n.sendUsage("assets_update",{duration:Date.now()-o,dryRun:!1}),e.json){c.info(JSON.stringify(i,null,2));return}c.info(`${T} Asset updated: ${i.id}`),i.displayName&&c.info(` Display name: ${i.displayName}`),i.altText&&c.info(` Alt text: ${i.altText}`)}catch(i){throw await n.sendError(i instanceof Error?i:new Error(String(i)),"assets_update",{duration:Date.now()-o}),new d(i,{prefix:`${E} Failed to update asset:`})}}re();$();_();H();De();ee();async function hc(t){let e,r;if(t.site)e=await R(),r=t.site;else{let{manifest:i}=G(),s=await ge(i);e=s.accessToken,r=s.siteId}let n=A.forAssets({authToken:e,siteId:r}),o=Date.now();try{let i=await jg(e,r);if(await n.sendUsage("assets_folders_list",{duration:Date.now()-o,count:i.length}),t.json){c.info(JSON.stringify(i,null,2));return}c.info(Ig(i))}catch(i){throw await n.sendError(i instanceof Error?i:new Error(String(i)),"assets_folders_list",{duration:Date.now()-o}),new d(i,{prefix:`${E} Failed to list folders:`})}}re();$();_();H();Pn();ee();async function yc(t,e){let r,n;if(e.site)r=await R(),n=e.site;else{let{manifest:s}=G(),a=await ge(s);r=a.accessToken,n=a.siteId}let o=A.forAssets({authToken:r,siteId:n}),i=Date.now();try{let s=await Ng(r,n,t,e.parent);if(await o.sendUsage("assets_folders_create",{duration:Date.now()-i}),e.json){c.info(JSON.stringify(s,null,2));return}c.info(`${T} Folder created: ${s.id}`),c.info(` Name: ${s.displayName}`),s.parentFolder&&c.info(` Parent: ${s.parentFolder}`)}catch(s){throw await o.sendError(s instanceof Error?s:new Error(String(s)),"assets_folders_create",{duration:Date.now()-i}),new d(s,{prefix:`${E} Failed to create folder:`})}}var Bg=t=>{let e=t.command("assets").description("Manage Webflow site assets");e.command("list").description("List all assets for a site").addOption(Me()).option("--folder <folderId>","Filter by folder ID").addOption(ue()).addOption(kt(["id","displayName","originalFileName","contentType","size","lastUpdated"]).default("id,displayName,lastUpdated,size")).addOption(Pi()).addOption(ji()).addOption(Ri(["displayName","originalFileName","contentType","size","lastUpdated"]).default("displayName")).addOption($i()).action(pc),e.command("upload").description(`Upload a file as an asset. Use --dry-run to preview before uploading.
184
+ Supported types: png, jpg, jpeg, gif, svg, webp, avif (\u22644 MB); pdf, doc, docx, xls, xlsx, ppt, pptx, txt, csv, odt, ods, odp, json, lottie (\u226410 MB)`).argument("<file>","Path to the file to upload (see supported types above)").addOption(Me()).option("--name <displayName>","Display name for the asset (defaults to filename)").option("--folder <folderId>","Upload into a folder").addOption(qe()).addOption(ue()).action(mc),e.command("update").description("Update an asset's metadata. Use --dry-run to preview.").argument("<assetId>","Asset ID to update").option("--alt-text <text>","Alt text for the asset").option("--display-name <name>","New display name for the asset").addOption(qe()).addOption(ue()).action(gc);let r=e.command("folders").description("Manage asset folders");r.command("list").description("List all asset folders for a site").addOption(Me()).addOption(ue()).action(hc),r.command("create").description("Create a new asset folder").argument("<name>","Display name for the folder").addOption(Me()).option("--parent <folderId>","Parent folder ID (creates a nested folder)").addOption(ue()).action(yc)};re();$();_();H();ee();ie();$();ft();ft();$();async function _o(t,e,r,n){let o=[],i=0,s=100;for(;;){let a=new URL(t);a.searchParams.set("limit",String(s)),a.searchParams.set("offset",String(i));let l=await q(a.toString(),{headers:{Authorization:`Bearer ${e}`,Accept:"application/json"}});if(!l.ok)throw new d(`${n}: ${l.status} ${l.statusText}`);let u=await l.json(),f=u[r]??[];o.push(...f);let p=u.pagination?.total??f.length;if(i+=f.length,i>=p||f.length<s)break}return o}async function Mg(t,e){V(e,"siteId");let r=await q(`${C}/v2/sites/${e}`,{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}});if(!r.ok)throw new d(`Failed to get site: ${r.status} ${r.statusText}`);return await r.json()}async function Lg(t){return _o(`${C}/v2/sites`,t,"sites","Failed to list sites")}async function Wg(t,e){V(e,"siteId");let r=await q(`${C}/v2/sites/${e}/custom_domains`,{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}});if(!r.ok)throw new d(`Failed to get custom domains: ${r.status} ${r.statusText}`);return(await r.json()).customDomains??[]}async function Ug(t,e,r=[],n){V(e,"siteId"),n&&V(n,"pageId");let o=r.length>0?{customDomains:r}:{publishToWebflowSubdomain:!0};n&&(o.pageId=n);let i=await q(`${C}/v2/sites/${e}/publish`,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(o)});if(!i.ok)throw new d(`Failed to publish site: ${i.status} ${i.statusText}`);return await i.json()}$();fe();var wc=["id","displayName","shortName","lastPublished","lastUpdated","timeZone"],wv=Object.fromEntries(wc.map(t=>[t.toLowerCase(),t]));function Vg(t){let e=[],r=[];for(let n of t){let o=wv[n.toLowerCase()];o?e.push(o):r.push(n)}return{valid:e,invalid:r}}function Dc(){return wc}function Hg(t,e=["id","displayName","lastPublished"]){if(t.length===0)return S("No sites found.");if(e.length===0)throw new d(`No valid fields specified. Available: ${wc.join(", ")}`,{isUserError:!0});let r=e.map(o=>Z(o)),n=t.map(o=>e.map(i=>{let s=o[i];return s?i==="lastPublished"||i==="lastUpdated"?new Date(s).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}):s:S("\u2014")}));return We(r,n)}function Jg(t){if(t.length===0)return S("No custom domains configured.");let e=[Z("id"),Z("url"),Z("lastPublished")],r=t.map(n=>[n.id,n.url,n.lastPublished?new Date(n.lastPublished).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}):S("\u2014")]);return We(e,r)}async function bc(t){let e=await R(),r=A.forSites({authToken:e}),n=Date.now();try{let o=await Lg(e);if(await r.sendUsage("sites_list",{duration:Date.now()-n,count:o.length}),t.json){c.info(JSON.stringify(o,null,2));return}if(o.length===0){c.info("No sites found.");return}let i=t.fields.split(",").map(l=>l.trim()),{valid:s,invalid:a}=Vg(i);if(s.length===0)throw new d(`No valid fields specified. Available: ${Dc().join(", ")}`,{isUserError:!0});a.length>0&&c.warn(`Unknown field(s): ${a.join(", ")}. Available: ${Dc().join(", ")}`),c.info(Hg(o,s))}catch(o){throw o instanceof d&&o.isUserError?o:(await r.sendError(o instanceof Error?o:new Error(String(o)),"sites_list",{duration:Date.now()-n}),new d(o,{prefix:`${E} Failed to list sites:`}))}}re();$();_();H();ee();async function vc(t,e){let r=await R(),n=A.forSites({authToken:r}),o=Date.now();try{let i=await Mg(r,t);if(await n.sendUsage("sites_get",{duration:Date.now()-o}),e.json){c.info(JSON.stringify(i,null,2));return}c.info(`${i.displayName} (${i.id})`),c.info(` Short name: ${i.shortName}`),c.info(` Time zone: ${i.timeZone}`),i.lastPublished&&c.info(` Published: ${new Date(i.lastPublished).toLocaleString()}`),i.previewUrl&&c.info(` Preview: ${i.previewUrl}`)}catch(i){throw i instanceof d&&i.isUserError?i:(await n.sendError(i instanceof Error?i:new Error(String(i)),"sites_get",{duration:Date.now()-o}),new d(i,{prefix:`${E} Failed to get site:`}))}}re();$();_();H();ee();async function Ec(t){let e=await R(),r=A.forSites({authToken:e}),n=Date.now();try{let o=await Wg(e,t.site);if(await r.sendUsage("sites_domains",{duration:Date.now()-n,count:o.length}),t.json){c.info(JSON.stringify(o,null,2));return}c.info(Jg(o))}catch(o){throw o instanceof d&&o.isUserError?o:(await r.sendError(o instanceof Error?o:new Error(String(o)),"sites_domains",{duration:Date.now()-n}),new d(o,{prefix:`${E} Failed to get custom domains:`}))}}re();$();_();H();ee();async function xc(t){if(V(t.site,"siteId"),t.dryRun){c.info(`Would publish ${t.page?`page ${t.page} on`:"site"} ${t.site}`),t.domains?c.info(` Custom domains: ${t.domains}`):c.info(" Domains: Webflow subdomain");return}let e=await R(),r=A.forSites({authToken:e}),n=Date.now();try{let o=t.domains?t.domains.split(",").map(l=>l.trim()):[],i=await Ug(e,t.site,o,t.page);if(await r.sendUsage("sites_publish",{duration:Date.now()-n,dryRun:!1,publishScope:i.publishScope}),t.json){c.info(JSON.stringify(i,null,2));return}let s=i.publishScope==="page"?"Page":"Site";c.info(`${T} ${s} published successfully`);let a=i.customDomains??[];a.length>0?a.forEach(l=>{let u=l.lastPublished?` (${new Date(l.lastPublished).toLocaleString()})`:"";c.info(` Live at: https://${l.url}${u}`)}):i.publishToWebflowSubdomain&&c.info(" Published to Webflow subdomain")}catch(o){throw o instanceof d&&o.isUserError?o:(await r.sendError(o instanceof Error?o:new Error(String(o)),"sites_publish",{duration:Date.now()-n}),new d(o,{prefix:`${E} Failed to publish site:`}))}}var Gg=t=>{let e=t.command("sites").description("Manage Webflow sites");e.command("list").description("List all sites in your Webflow workspace").addOption(ue()).addOption(kt(["id","displayName","shortName","lastPublished","lastUpdated","timeZone"]).default("id,displayName,lastPublished")).action(bc),e.command("get").description("Get details for a specific site").argument("<siteId>","Site ID").addOption(ue()).action(vc),e.command("domains").description("List custom domains configured for a site").requiredOption("--site <siteId>","Site ID").addOption(ue()).action(Ec),e.command("publish").description("Publish a Webflow site (defaults to Webflow subdomain)").requiredOption("--site <siteId>","Site ID to publish").option("--domains <domains>","Comma-separated custom domain IDs to publish to").option("--page <pageId>","Publish a single page instead of the whole site").addOption(qe()).addOption(ue()).action(xc)};re();$();_();H();ee();ie();async function zg(t,e){return V(e,"siteId"),_o(`${C}/v2/sites/${e}/forms`,t,"forms","Failed to list forms")}async function qg(t,e,r){return V(e,"siteId"),V(r,"formId"),_o(`${C}/v2/sites/${e}/forms/${r}/submissions`,t,"formSubmissions","Failed to list submissions")}$();fe();var _c=["id","displayName","name","slug","createdOn","lastUpdated"],Dv=Object.fromEntries(_c.map(t=>[t.toLowerCase(),t]));function Kg(t){let e=[],r=[];for(let n of t){let o=Dv[n.toLowerCase()];o?e.push(o):r.push(n)}return{valid:e,invalid:r}}function Cc(){return _c}function Zg(t,e=["id","displayName","slug"]){if(t.length===0)return S("No forms found.");if(e.length===0)throw new d(`No valid fields specified. Available: ${_c.join(", ")}`,{isUserError:!0});let r=e.map(o=>Z(o)),n=t.map(o=>e.map(i=>{let s=o[i];return s?i==="createdOn"||i==="lastUpdated"?new Date(s).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}):s:S("\u2014")}));return We(r,n)}function Yg(t){if(t.length===0)return S("No submissions found.");let e=Array.from(new Set(t.flatMap(o=>Object.keys(o.formResponse)))),r=["id","dateSubmitted",...e].map(o=>Z(o)),n=t.map(o=>[o.id,new Date(o.dateSubmitted).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}),...e.map(i=>{let s=o.formResponse[i];return s==null?S("\u2014"):typeof s=="object"?JSON.stringify(s):String(s)})]);return We(r,n)}function Xg(t){if(t.length===0)return"";let r=["id","formId","displayName","dateSubmitted",...Array.from(new Set(t.flatMap(i=>Object.keys(i.formResponse))))],n=i=>{let s=i==null?"":typeof i=="object"?JSON.stringify(i):String(i);return s.includes(",")||s.includes('"')||s.includes(`
185
+ `)?`"${s.replace(/"/g,'""')}"`:s};return[r.join(","),...t.map(i=>r.map(s=>n(s==="id"?i.id:s==="formId"?i.formId:s==="displayName"?i.displayName:s==="dateSubmitted"?i.dateSubmitted:i.formResponse[s])).join(","))].join(`
186
+ `)}async function Fc(t){V(t.site,"siteId");let e=await R(),r=A.forForms({authToken:e}),n=Date.now();try{let o=await zg(e,t.site);if(await r.sendUsage("forms_list",{duration:Date.now()-n,count:o.length}),t.json){c.info(JSON.stringify(o,null,2));return}if(o.length===0){c.info("No forms found.");return}let i=t.fields.split(",").map(l=>l.trim()),{valid:s,invalid:a}=Kg(i);if(s.length===0)throw new d(`No valid fields specified. Available: ${Cc().join(", ")}`,{isUserError:!0});a.length>0&&c.warn(`Unknown field(s): ${a.join(", ")}. Available: ${Cc().join(", ")}`),c.info(Zg(o,s))}catch(o){throw o instanceof d&&o.isUserError?o:(await r.sendError(o instanceof Error?o:new Error(String(o)),"forms_list",{duration:Date.now()-n}),new d(o,{prefix:`${E} Failed to list forms:`}))}}var Qg=m(require("fs"));re();$();_();H();ee();async function kc(t){V(t.site,"siteId"),V(t.form,"formId"),t.output&&t.json&&c.warn("--json is ignored when --output is set.");let e=await R(),r=A.forForms({authToken:e}),n=Date.now();try{let o=await qg(e,t.site,t.form);if(await r.sendUsage("forms_submissions",{duration:Date.now()-n,count:o.length}),o.length===0){c.info("No submissions found.");return}if(t.output){let i=Xg(o);Qg.default.writeFileSync(t.output,i,"utf8"),c.info(`${T} ${o.length} submission${o.length===1?"":"s"} written to ${t.output}`);return}if(t.json){c.info(JSON.stringify(o,null,2));return}c.info(Yg(o))}catch(o){throw await r.sendError(o instanceof Error?o:new Error(String(o)),"forms_submissions",{duration:Date.now()-n}),new d(o,{prefix:`${E} Failed to fetch submissions:`})}}var eh=t=>{let e=t.command("forms").description("Manage Webflow forms");e.command("list").description("List all forms for a site").addOption(Me()).addOption(ue()).addOption(kt(["id","displayName","name","slug","createdOn","lastUpdated"]).default("id,displayName,slug")).action(Fc),e.command("submissions").description("List or export form submissions").requiredOption("--site <siteId>","Site ID").requiredOption("--form <formId>","Form ID").option("--json","Output as JSON").option("--output <file>","Save submissions as CSV to a file").action(kc)};var rh=m(Mo());function Sc(t,e){e.forEach(r=>{t.addOption(r())}),t.commands.forEach(r=>Sc(r,e))}function nh(t){let e=rh.default.version;t.name("webflow").description("Webflow CLI").version(e,"-v, --version").configureHelp({formatHelp(r,n){return th.Help.prototype.formatHelp.call(this,r,n).split(`
187
+ `).flatMap(o=>o.startsWith("Usage:")?["",Z(o)]:/^(Options:|Commands:|Arguments:)/.test(o)?[Z(o)]:/^Webflow CLI$/.test(o)?[Ic(o)]:o.trim()===""?[o]:[S(o)]).map(o=>o.trim()===""?o:` ${o}`).join(`
188
+ `)+`
189
+ `}}).addOption(yl()).addOption(wl()).addOption(Dl()).addOption(bl()).showHelpAfterError(),t.hook("preAction",async r=>{let n=r.opts();n.input||Bu(!0),Et.start(),n.manifest&&Mu(n.manifest);try{await A.promptForConsentIfNeeded()}catch(o){c.debug(`Failed to check telemetry preference: ${o}`)}try{n.skipUpdateCheck||await new Gn().prompt()}catch(o){c.debug(`Failed to check for package updates: ${o}`)}}),t.hook("postAction",async()=>{Et.displayGrouped(),Et.stop()}),Sf(t),Tg(t),id(t),Qp(t),yg(t),Xp(t),Bg(t),Gg(t),eh(t),zp(t),t.commands.forEach(r=>{Sc(r,[yl,wl,Dl,bl])})}_();$();var ih=new oh.Command;nh(ih);ih.parseAsync().catch(t=>{if(t instanceof d){if(!t.skipLogging)if(t.isUserError){let e=t.prefix?`${t.prefix} `:"";console.error(`${e}${t.message}`)}else c.error(t,{prefix:t.prefix})}else c.error(t);process.exit(1)});
203
190
  //# sourceMappingURL=index.js.map