nemar-cli 0.5.3-dev.276 → 0.5.3-dev.278
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 +3 -3
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -116,7 +116,7 @@ ${gC.default.cursorShow}`)}releaseCursor(){if(this.extraLinesUnderPrompt>0)pQ(th
|
|
|
116
116
|
${F}`,y6D=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),x6D=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),_6D=(D,F,$)=>{let B=$===""?"":`with ${$.trim()}() `,J=v6D.bind(null,B,F.toString());Object.defineProperty(J,"name",x6D);let{writable:Q,enumerable:X,configurable:Y}=y6D;Object.defineProperty(D,"toString",{value:J,writable:Q,enumerable:X,configurable:Y})};function gF(D,F,{ignoreNonConfigurable:$=!1}={}){let{name:B}=D;for(let J of Reflect.ownKeys(F))P6D(D,F,J,$);return k6D(D,F),_6D(D,F,B),D}var S7=new WeakMap,fj=(D,F={})=>{if(typeof D!=="function")throw TypeError("Expected a function");let $,B=0,J=D.displayName||D.name||"<anonymous>",Q=function(...X){if(S7.set(Q,++B),B===1)$=D.apply(this,X),D=void 0;else if(F.throw===!0)throw Error(`Function \`${J}\` can only be called once`);return $};return gF(Q,D),S7.set(Q,B),Q};fj.callCount=(D)=>{if(!S7.has(D))throw Error(`The given function \`${D.name}\` is not wrapped by the \`onetime\` package`);return S7.get(D)};var gj=fj;var _6=[];_6.push("SIGHUP","SIGINT","SIGTERM");if(process.platform!=="win32")_6.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(process.platform==="linux")_6.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var k7=(D)=>!!D&&typeof D==="object"&&typeof D.removeListener==="function"&&typeof D.emit==="function"&&typeof D.reallyExit==="function"&&typeof D.listeners==="function"&&typeof D.kill==="function"&&typeof D.pid==="number"&&typeof D.on==="function",lX=Symbol.for("signal-exit emitter"),dX=globalThis,f6D=Object.defineProperty.bind(Object);class hj{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(dX[lX])return dX[lX];f6D(dX,lX,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(D,F){this.listeners[D].push(F)}removeListener(D,F){let $=this.listeners[D],B=$.indexOf(F);if(B===-1)return;if(B===0&&$.length===1)$.length=0;else $.splice(B,1)}emit(D,F,$){if(this.emitted[D])return!1;this.emitted[D]=!0;let B=!1;for(let J of this.listeners[D])B=J(F,$)===!0||B;if(D==="exit")B=this.emit("afterExit",F,$)||B;return B}}class cX{}var g6D=(D)=>{return{onExit(F,$){return D.onExit(F,$)},load(){return D.load()},unload(){return D.unload()}}};class bj extends cX{onExit(){return()=>{}}load(){}unload(){}}class uj extends cX{#$=pX.platform==="win32"?"SIGINT":"SIGHUP";#F=new hj;#D;#J;#E;#B={};#X=!1;constructor(D){super();this.#D=D,this.#B={};for(let F of _6)this.#B[F]=()=>{let $=this.#D.listeners(F),{count:B}=this.#F,J=D;if(typeof J.__signal_exit_emitter__==="object"&&typeof J.__signal_exit_emitter__.count==="number")B+=J.__signal_exit_emitter__.count;if($.length===B){this.unload();let Q=this.#F.emit("exit",null,F),X=F==="SIGHUP"?this.#$:F;if(!Q)D.kill(D.pid,X)}};this.#E=D.reallyExit,this.#J=D.emit}onExit(D,F){if(!k7(this.#D))return()=>{};if(this.#X===!1)this.load();let $=F?.alwaysLast?"afterExit":"exit";return this.#F.on($,D),()=>{if(this.#F.removeListener($,D),this.#F.listeners.exit.length===0&&this.#F.listeners.afterExit.length===0)this.unload()}}load(){if(this.#X)return;this.#X=!0,this.#F.count+=1;for(let D of _6)try{let F=this.#B[D];if(F)this.#D.on(D,F)}catch(F){}this.#D.emit=(D,...F)=>{return this.#K(D,...F)},this.#D.reallyExit=(D)=>{return this.#Q(D)}}unload(){if(!this.#X)return;this.#X=!1,_6.forEach((D)=>{let F=this.#B[D];if(!F)throw Error("Listener not defined for signal: "+D);try{this.#D.removeListener(D,F)}catch($){}}),this.#D.emit=this.#J,this.#D.reallyExit=this.#E,this.#F.count-=1}#Q(D){if(!k7(this.#D))return 0;return this.#D.exitCode=D||0,this.#F.emit("exit",this.#D.exitCode,null),this.#E.call(this.#D,this.#D.exitCode)}#K(D,...F){let $=this.#J;if(D==="exit"&&k7(this.#D)){if(typeof F[0]==="number")this.#D.exitCode=F[0];let B=$.call(this.#D,D,...F);return this.#F.emit("exit",this.#D.exitCode,null),B}else return $.call(this.#D,D,...F)}}var pX=globalThis.process,{onExit:mj,load:KLD,unload:zLD}=g6D(k7(pX)?new uj(pX):new bj);var lj=v7.stderr.isTTY?v7.stderr:v7.stdout.isTTY?v7.stdout:void 0,h6D=lj?gj(()=>{mj(()=>{lj.write("\x1B[?25h")},{alwaysLast:!0})}):()=>{},dj=h6D;var y7=!1,J3={};J3.show=(D=pj.stderr)=>{if(!D.isTTY)return;y7=!1,D.write("\x1B[?25h")};J3.hide=(D=pj.stderr)=>{if(!D.isTTY)return;dj(),y7=!0,D.write("\x1B[?25l")};J3.toggle=(D,F)=>{if(D!==void 0)y7=D;if(y7)J3.show(F);else J3.hide(F)};var nX=J3;var uF=i(I9(),1);import M1 from"process";function iX(){if(M1.platform!=="win32")return M1.env.TERM!=="linux";return Boolean(M1.env.CI)||Boolean(M1.env.WT_SESSION)||Boolean(M1.env.TERMINUS_SUBLIME)||M1.env.ConEmuTask==="{cmd::Cmder}"||M1.env.TERM_PROGRAM==="Terminus-Sublime"||M1.env.TERM_PROGRAM==="vscode"||M1.env.TERM==="xterm-256color"||M1.env.TERM==="alacritty"||M1.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var b6D={info:W.blue("\u2139"),success:W.green("\u2714"),warning:W.yellow("\u26A0"),error:W.red("\u2716")},u6D={info:W.blue("i"),success:W.green("\u221A"),warning:W.yellow("\u203C"),error:W.red("\xD7")},m6D=iX()?b6D:u6D,hF=m6D;function aX({onlyFirst:D=!1}={}){return new RegExp("(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]",D?void 0:"g")}var l6D=aX();function bF(D){if(typeof D!=="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(l6D,"")}function cj(D){return D===161||D===164||D===167||D===168||D===170||D===173||D===174||D>=176&&D<=180||D>=182&&D<=186||D>=188&&D<=191||D===198||D===208||D===215||D===216||D>=222&&D<=225||D===230||D>=232&&D<=234||D===236||D===237||D===240||D===242||D===243||D>=247&&D<=250||D===252||D===254||D===257||D===273||D===275||D===283||D===294||D===295||D===299||D>=305&&D<=307||D===312||D>=319&&D<=322||D===324||D>=328&&D<=331||D===333||D===338||D===339||D===358||D===359||D===363||D===462||D===464||D===466||D===468||D===470||D===472||D===474||D===476||D===593||D===609||D===708||D===711||D>=713&&D<=715||D===717||D===720||D>=728&&D<=731||D===733||D===735||D>=768&&D<=879||D>=913&&D<=929||D>=931&&D<=937||D>=945&&D<=961||D>=963&&D<=969||D===1025||D>=1040&&D<=1103||D===1105||D===8208||D>=8211&&D<=8214||D===8216||D===8217||D===8220||D===8221||D>=8224&&D<=8226||D>=8228&&D<=8231||D===8240||D===8242||D===8243||D===8245||D===8251||D===8254||D===8308||D===8319||D>=8321&&D<=8324||D===8364||D===8451||D===8453||D===8457||D===8467||D===8470||D===8481||D===8482||D===8486||D===8491||D===8531||D===8532||D>=8539&&D<=8542||D>=8544&&D<=8555||D>=8560&&D<=8569||D===8585||D>=8592&&D<=8601||D===8632||D===8633||D===8658||D===8660||D===8679||D===8704||D===8706||D===8707||D===8711||D===8712||D===8715||D===8719||D===8721||D===8725||D===8730||D>=8733&&D<=8736||D===8739||D===8741||D>=8743&&D<=8748||D===8750||D>=8756&&D<=8759||D===8764||D===8765||D===8776||D===8780||D===8786||D===8800||D===8801||D>=8804&&D<=8807||D===8810||D===8811||D===8814||D===8815||D===8834||D===8835||D===8838||D===8839||D===8853||D===8857||D===8869||D===8895||D===8978||D>=9312&&D<=9449||D>=9451&&D<=9547||D>=9552&&D<=9587||D>=9600&&D<=9615||D>=9618&&D<=9621||D===9632||D===9633||D>=9635&&D<=9641||D===9650||D===9651||D===9654||D===9655||D===9660||D===9661||D===9664||D===9665||D>=9670&&D<=9672||D===9675||D>=9678&&D<=9681||D>=9698&&D<=9701||D===9711||D===9733||D===9734||D===9737||D===9742||D===9743||D===9756||D===9758||D===9792||D===9794||D===9824||D===9825||D>=9827&&D<=9829||D>=9831&&D<=9834||D===9836||D===9837||D===9839||D===9886||D===9887||D===9919||D>=9926&&D<=9933||D>=9935&&D<=9939||D>=9941&&D<=9953||D===9955||D===9960||D===9961||D>=9963&&D<=9969||D===9972||D>=9974&&D<=9977||D===9979||D===9980||D===9982||D===9983||D===10045||D>=10102&&D<=10111||D>=11094&&D<=11097||D>=12872&&D<=12879||D>=57344&&D<=63743||D>=65024&&D<=65039||D===65533||D>=127232&&D<=127242||D>=127248&&D<=127277||D>=127280&&D<=127337||D>=127344&&D<=127373||D===127375||D===127376||D>=127387&&D<=127404||D>=917760&&D<=917999||D>=983040&&D<=1048573||D>=1048576&&D<=1114109}function nj(D){return D===12288||D>=65281&&D<=65376||D>=65504&&D<=65510}function ij(D){return D>=4352&&D<=4447||D===8986||D===8987||D===9001||D===9002||D>=9193&&D<=9196||D===9200||D===9203||D===9725||D===9726||D===9748||D===9749||D>=9776&&D<=9783||D>=9800&&D<=9811||D===9855||D>=9866&&D<=9871||D===9875||D===9889||D===9898||D===9899||D===9917||D===9918||D===9924||D===9925||D===9934||D===9940||D===9962||D===9970||D===9971||D===9973||D===9978||D===9981||D===9989||D===9994||D===9995||D===10024||D===10060||D===10062||D>=10067&&D<=10069||D===10071||D>=10133&&D<=10135||D===10160||D===10175||D===11035||D===11036||D===11088||D===11093||D>=11904&&D<=11929||D>=11931&&D<=12019||D>=12032&&D<=12245||D>=12272&&D<=12287||D>=12289&&D<=12350||D>=12353&&D<=12438||D>=12441&&D<=12543||D>=12549&&D<=12591||D>=12593&&D<=12686||D>=12688&&D<=12773||D>=12783&&D<=12830||D>=12832&&D<=12871||D>=12880&&D<=42124||D>=42128&&D<=42182||D>=43360&&D<=43388||D>=44032&&D<=55203||D>=63744&&D<=64255||D>=65040&&D<=65049||D>=65072&&D<=65106||D>=65108&&D<=65126||D>=65128&&D<=65131||D>=94176&&D<=94180||D>=94192&&D<=94198||D>=94208&&D<=101589||D>=101631&&D<=101662||D>=101760&&D<=101874||D>=110576&&D<=110579||D>=110581&&D<=110587||D===110589||D===110590||D>=110592&&D<=110882||D===110898||D>=110928&&D<=110930||D===110933||D>=110948&&D<=110951||D>=110960&&D<=111355||D>=119552&&D<=119638||D>=119648&&D<=119670||D===126980||D===127183||D===127374||D>=127377&&D<=127386||D>=127488&&D<=127490||D>=127504&&D<=127547||D>=127552&&D<=127560||D===127568||D===127569||D>=127584&&D<=127589||D>=127744&&D<=127776||D>=127789&&D<=127797||D>=127799&&D<=127868||D>=127870&&D<=127891||D>=127904&&D<=127946||D>=127951&&D<=127955||D>=127968&&D<=127984||D===127988||D>=127992&&D<=128062||D===128064||D>=128066&&D<=128252||D>=128255&&D<=128317||D>=128331&&D<=128334||D>=128336&&D<=128359||D===128378||D===128405||D===128406||D===128420||D>=128507&&D<=128591||D>=128640&&D<=128709||D===128716||D>=128720&&D<=128722||D>=128725&&D<=128728||D>=128732&&D<=128735||D===128747||D===128748||D>=128756&&D<=128764||D>=128992&&D<=129003||D===129008||D>=129292&&D<=129338||D>=129340&&D<=129349||D>=129351&&D<=129535||D>=129648&&D<=129660||D>=129664&&D<=129674||D>=129678&&D<=129734||D===129736||D>=129741&&D<=129756||D>=129759&&D<=129770||D>=129775&&D<=129784||D>=131072&&D<=196605||D>=196608&&D<=262141}function d6D(D){if(!Number.isSafeInteger(D))throw TypeError(`Expected a code point, got \`${typeof D}\`.`)}function aj(D,{ambiguousAsWide:F=!1}={}){if(d6D(D),nj(D)||ij(D)||F&&cj(D))return 2;return 1}var oj=()=>{return/[#*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-\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-\uDED8\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]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\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]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\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]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\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]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\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]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\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]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\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]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\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]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\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]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\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]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\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\uDD3C-\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-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\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\uDE70]|\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]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\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]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\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]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\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]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\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]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\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};var p6D=new Intl.Segmenter,c6D=/^\p{Default_Ignorable_Code_Point}$/u;function oX(D,F={}){if(typeof D!=="string"||D.length===0)return 0;let{ambiguousIsNarrow:$=!0,countAnsiEscapeCodes:B=!1}=F;if(!B)D=bF(D);if(D.length===0)return 0;let J=0,Q={ambiguousAsWide:!$};for(let{segment:X}of p6D.segment(D)){let Y=X.codePointAt(0);if(Y<=31||Y>=127&&Y<=159)continue;if(Y>=8203&&Y<=8207||Y===65279)continue;if(Y>=768&&Y<=879||Y>=6832&&Y<=6911||Y>=7616&&Y<=7679||Y>=8400&&Y<=8447||Y>=65056&&Y<=65071)continue;if(Y>=55296&&Y<=57343)continue;if(Y>=65024&&Y<=65039)continue;if(c6D.test(X))continue;if(oj().test(X)){J+=2;continue}J+=aj(Y,Q)}return J}function sX({stream:D=process.stdout}={}){return Boolean(D&&D.isTTY&&process.env.TERM!=="dumb"&&!("CI"in process.env))}import sj from"process";function rX(){let{env:D}=sj,{TERM:F,TERM_PROGRAM:$}=D;if(sj.platform!=="win32")return F!=="linux";return Boolean(D.WT_SESSION)||Boolean(D.TERMINUS_SUBLIME)||D.ConEmuTask==="{cmd::Cmder}"||$==="Terminus-Sublime"||$==="vscode"||F==="xterm-256color"||F==="alacritty"||F==="rxvt-unicode"||F==="rxvt-unicode-256color"||D.TERMINAL_EMULATOR==="JetBrains-JediTerm"}import a1 from"process";var n6D=3;class rj{#$=0;start(){if(this.#$++,this.#$===1)this.#F()}stop(){if(this.#$<=0)throw Error("`stop` called more times than `start`");if(this.#$--,this.#$===0)this.#D()}#F(){if(a1.platform==="win32"||!a1.stdin.isTTY)return;a1.stdin.setRawMode(!0),a1.stdin.on("data",this.#J),a1.stdin.resume()}#D(){if(!a1.stdin.isTTY)return;a1.stdin.off("data",this.#J),a1.stdin.pause(),a1.stdin.setRawMode(!1)}#J(D){if(D[0]===n6D)a1.emit("SIGINT")}}var i6D=new rj,tX=i6D;var a6D=i(I9(),1);class tj{#$=0;#F=!1;#D=0;#J=-1;#E=0;#B;#X;#Q;#K;#V;#H;#W;#q;#Z;#Y;#G;color;constructor(D){if(typeof D==="string")D={text:D};if(this.#B={color:"cyan",stream:x7.stderr,discardStdin:!0,hideCursor:!0,...D},this.color=this.#B.color,this.spinner=this.#B.spinner,this.#V=this.#B.interval,this.#Q=this.#B.stream,this.#H=typeof this.#B.isEnabled==="boolean"?this.#B.isEnabled:sX({stream:this.#Q}),this.#W=typeof this.#B.isSilent==="boolean"?this.#B.isSilent:!1,this.text=this.#B.text,this.prefixText=this.#B.prefixText,this.suffixText=this.#B.suffixText,this.indent=this.#B.indent,x7.env.NODE_ENV==="test")this._stream=this.#Q,this._isEnabled=this.#H,Object.defineProperty(this,"_linesToClear",{get(){return this.#$},set(F){this.#$=F}}),Object.defineProperty(this,"_frameIndex",{get(){return this.#J}}),Object.defineProperty(this,"_lineCount",{get(){return this.#D}})}get indent(){return this.#q}set indent(D=0){if(!(D>=0&&Number.isInteger(D)))throw Error("The `indent` option must be an integer from 0 and up");this.#q=D,this.#z()}get interval(){return this.#V??this.#X.interval??100}get spinner(){return this.#X}set spinner(D){if(this.#J=-1,this.#V=void 0,typeof D==="object"){if(D.frames===void 0)throw Error("The given spinner must have a `frames` property");this.#X=D}else if(!rX())this.#X=uF.default.line;else if(D===void 0)this.#X=uF.default.dots;else if(D!=="default"&&uF.default[D])this.#X=uF.default[D];else throw Error(`There is no built-in spinner named '${D}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`)}get text(){return this.#Z}set text(D=""){this.#Z=D,this.#z()}get prefixText(){return this.#Y}set prefixText(D=""){this.#Y=D,this.#z()}get suffixText(){return this.#G}set suffixText(D=""){this.#G=D,this.#z()}get isSpinning(){return this.#K!==void 0}#A(D=this.#Y,F=" "){if(typeof D==="string"&&D!=="")return D+F;if(typeof D==="function")return D()+F;return""}#L(D=this.#G,F=" "){if(typeof D==="string"&&D!=="")return F+D;if(typeof D==="function")return F+D();return""}#z(){let D=this.#Q.columns??80,F=this.#A(this.#Y,"-"),$=this.#L(this.#G,"-"),B=" ".repeat(this.#q)+F+"--"+this.#Z+"--"+$;this.#D=0;for(let J of bF(B).split(`
|
|
117
117
|
`))this.#D+=Math.max(1,Math.ceil(oX(J,{countAnsiEscapeCodes:!0})/D))}get isEnabled(){return this.#H&&!this.#W}set isEnabled(D){if(typeof D!=="boolean")throw TypeError("The `isEnabled` option must be a boolean");this.#H=D}get isSilent(){return this.#W}set isSilent(D){if(typeof D!=="boolean")throw TypeError("The `isSilent` option must be a boolean");this.#W=D}frame(){let D=Date.now();if(this.#J===-1||D-this.#E>=this.interval)this.#J=++this.#J%this.#X.frames.length,this.#E=D;let{frames:F}=this.#X,$=F[this.#J];if(this.color)$=W[this.color]($);let B=typeof this.#Y==="string"&&this.#Y!==""?this.#Y+" ":"",J=typeof this.text==="string"?" "+this.text:"",Q=typeof this.#G==="string"&&this.#G!==""?" "+this.#G:"";return B+$+J+Q}clear(){if(!this.#H||!this.#Q.isTTY)return this;this.#Q.cursorTo(0);for(let D=0;D<this.#$;D++){if(D>0)this.#Q.moveCursor(0,-1);this.#Q.clearLine(1)}if(this.#q||this.lastIndent!==this.#q)this.#Q.cursorTo(this.#q);return this.lastIndent=this.#q,this.#$=0,this}render(){if(this.#W)return this;return this.clear(),this.#Q.write(this.frame()),this.#$=this.#D,this}start(D){if(D)this.text=D;if(this.#W)return this;if(!this.#H){if(this.text)this.#Q.write(`- ${this.text}
|
|
118
118
|
`);return this}if(this.isSpinning)return this;if(this.#B.hideCursor)nX.hide(this.#Q);if(this.#B.discardStdin&&x7.stdin.isTTY)this.#F=!0,tX.start();return this.render(),this.#K=setInterval(this.render.bind(this),this.interval),this}stop(){if(!this.#H)return this;if(clearInterval(this.#K),this.#K=void 0,this.#J=0,this.clear(),this.#B.hideCursor)nX.show(this.#Q);if(this.#B.discardStdin&&x7.stdin.isTTY&&this.#F)tX.stop(),this.#F=!1;return this}succeed(D){return this.stopAndPersist({symbol:hF.success,text:D})}fail(D){return this.stopAndPersist({symbol:hF.error,text:D})}warn(D){return this.stopAndPersist({symbol:hF.warning,text:D})}info(D){return this.stopAndPersist({symbol:hF.info,text:D})}stopAndPersist(D={}){if(this.#W)return this;let F=D.prefixText??this.#Y,$=this.#A(F," "),B=D.symbol??" ",J=D.text??this.text,X=typeof J==="string"?(B?" ":"")+J:"",Y=D.suffixText??this.#G,G=this.#L(Y," "),H=$+B+X+G+`
|
|
119
|
-
`;return this.stop(),this.#Q.write(H),this}}function C(D){return new tj(D)}import{isDeepStrictEqual as d2D}from"util";import Iv from"process";import n6 from"fs";import Pv from"path";import C5 from"crypto";import p2D from"assert";var f6=(D)=>{let F=typeof D;return D!==null&&(F==="object"||F==="function")};var eX=new Set(["__proto__","prototype","constructor"]),o6D=new Set("0123456789");function _7(D){let F=[],$="",B="start",J=!1;for(let Q of D)switch(Q){case"\\":{if(B==="index")throw Error("Invalid character in an index");if(B==="indexEnd")throw Error("Invalid character after an index");if(J)$+=Q;B="property",J=!J;break}case".":{if(B==="index")throw Error("Invalid character in an index");if(B==="indexEnd"){B="property";break}if(J){J=!1,$+=Q;break}if(eX.has($))return[];F.push($),$="",B="property";break}case"[":{if(B==="index")throw Error("Invalid character in an index");if(B==="indexEnd"){B="index";break}if(J){J=!1,$+=Q;break}if(B==="property"){if(eX.has($))return[];F.push($),$=""}B="index";break}case"]":{if(B==="index"){F.push(Number.parseInt($,10)),$="",B="indexEnd";break}if(B==="indexEnd")throw Error("Invalid character after an index")}default:{if(B==="index"&&!o6D.has(Q))throw Error("Invalid character in an index");if(B==="indexEnd")throw Error("Invalid character after an index");if(B==="start")B="property";if(J)J=!1,$+="\\";$+=Q}}if(J)$+="\\";switch(B){case"property":{if(eX.has($))return[];F.push($);break}case"index":throw Error("Index was not closed");case"start":{F.push("");break}}return F}function DY(D,F){if(typeof F!=="number"&&Array.isArray(D)){let $=Number.parseInt(F,10);return Number.isInteger($)&&D[$]===D[F]}return!1}function ej(D,F){if(DY(D,F))throw Error("Cannot use string index")}function DT(D,F,$){if(!f6(D)||typeof F!=="string")return $===void 0?D:$;let B=_7(F);if(B.length===0)return $;for(let J=0;J<B.length;J++){let Q=B[J];if(DY(D,Q))D=J===B.length-1?void 0:null;else D=D[Q];if(D===void 0||D===null){if(J!==B.length-1)return $;break}}return D===void 0?$:D}function FY(D,F,$){if(!f6(D)||typeof F!=="string")return D;let B=D,J=_7(F);for(let Q=0;Q<J.length;Q++){let X=J[Q];if(ej(D,X),Q===J.length-1)D[X]=$;else if(!f6(D[X]))D[X]=typeof J[Q+1]==="number"?[]:{};D=D[X]}return B}function FT(D,F){if(!f6(D)||typeof F!=="string")return!1;let $=_7(F);for(let B=0;B<$.length;B++){let J=$[B];if(ej(D,J),B===$.length-1)return delete D[J],!0;if(D=D[J],!f6(D))return!1}}function $T(D,F){if(!f6(D)||typeof F!=="string")return!1;let $=_7(F);if($.length===0)return!1;for(let B of $){if(!f6(D)||!(B in D)||DY(D,B))return!1;D=D[B]}return!0}import bD from"path";import BT from"os";import $Y from"process";var $6=BT.homedir(),BY=BT.tmpdir(),{env:Q3}=$Y,s6D=(D)=>{let F=bD.join($6,"Library");return{data:bD.join(F,"Application Support",D),config:bD.join(F,"Preferences",D),cache:bD.join(F,"Caches",D),log:bD.join(F,"Logs",D),temp:bD.join(BY,D)}},r6D=(D)=>{let F=Q3.APPDATA||bD.join($6,"AppData","Roaming"),$=Q3.LOCALAPPDATA||bD.join($6,"AppData","Local");return{data:bD.join($,D,"Data"),config:bD.join(F,D,"Config"),cache:bD.join($,D,"Cache"),log:bD.join($,D,"Log"),temp:bD.join(BY,D)}},t6D=(D)=>{let F=bD.basename($6);return{data:bD.join(Q3.XDG_DATA_HOME||bD.join($6,".local","share"),D),config:bD.join(Q3.XDG_CONFIG_HOME||bD.join($6,".config"),D),cache:bD.join(Q3.XDG_CACHE_HOME||bD.join($6,".cache"),D),log:bD.join(Q3.XDG_STATE_HOME||bD.join($6,".local","state"),D),temp:bD.join(BY,F,D)}};function JY(D,{suffix:F="nodejs"}={}){if(typeof D!=="string")throw TypeError(`Expected a string, got ${typeof D}`);if(F)D+=`-${F}`;if($Y.platform==="darwin")return s6D(D);if($Y.platform==="win32")return r6D(D);return t6D(D)}import X4D from"path";import ZD from"fs";import{promisify as V0}from"util";var e6D=(D,F)=>{let{onError:$}=F;return function(...J){return D.apply(void 0,J).catch($)}},o1=e6D;var D4D=(D,F)=>{let{onError:$}=F;return function(...J){try{return D.apply(void 0,J)}catch(Q){return $(Q)}}},U1=D4D;var JT=250;var F4D=(D,F)=>{let{isRetriable:$}=F;return function(J){let{timeout:Q}=J,X=J.interval??JT,Y=Date.now()+Q;return function G(...H){return D.apply(void 0,H).catch((q)=>{if(!$(q))throw q;if(Date.now()>=Y)throw q;let E=Math.round(X*Math.random());if(E>0)return new Promise((Z)=>setTimeout(Z,E)).then(()=>G.apply(void 0,H));else return G.apply(void 0,H)})}}},s1=F4D;var $4D=(D,F)=>{let{isRetriable:$}=F;return function(J){let{timeout:Q}=J,X=Date.now()+Q;return function(...G){while(!0)try{return D.apply(void 0,G)}catch(H){if(!$(H))throw H;if(Date.now()>=X)throw H;continue}}}},r1=$4D;import XT from"process";var mF={isChangeErrorOk:(D)=>{if(!mF.isNodeError(D))return!1;let{code:F}=D;if(F==="ENOSYS")return!0;if(!QT&&(F==="EINVAL"||F==="EPERM"))return!0;return!1},isNodeError:(D)=>{return D instanceof Error},isRetriableError:(D)=>{if(!mF.isNodeError(D))return!1;let{code:F}=D;if(F==="EMFILE"||F==="ENFILE"||F==="EAGAIN"||F==="EBUSY"||F==="EACCESS"||F==="EACCES"||F==="EACCS"||F==="EPERM")return!0;return!1},onChangeError:(D)=>{if(!mF.isNodeError(D))throw D;if(mF.isChangeErrorOk(D))return;throw D}},QY=mF;var lF={onError:QY.onChangeError},x0={onError:()=>{return}},QT=XT.getuid?!XT.getuid():!1,G0={isRetriable:QY.isRetriableError};var B4D={attempt:{chmod:o1(V0(ZD.chmod),lF),chown:o1(V0(ZD.chown),lF),close:o1(V0(ZD.close),x0),fsync:o1(V0(ZD.fsync),x0),mkdir:o1(V0(ZD.mkdir),x0),realpath:o1(V0(ZD.realpath),x0),stat:o1(V0(ZD.stat),x0),unlink:o1(V0(ZD.unlink),x0),chmodSync:U1(ZD.chmodSync,lF),chownSync:U1(ZD.chownSync,lF),closeSync:U1(ZD.closeSync,x0),existsSync:U1(ZD.existsSync,x0),fsyncSync:U1(ZD.fsync,x0),mkdirSync:U1(ZD.mkdirSync,x0),realpathSync:U1(ZD.realpathSync,x0),statSync:U1(ZD.statSync,x0),unlinkSync:U1(ZD.unlinkSync,x0)},retry:{close:s1(V0(ZD.close),G0),fsync:s1(V0(ZD.fsync),G0),open:s1(V0(ZD.open),G0),readFile:s1(V0(ZD.readFile),G0),rename:s1(V0(ZD.rename),G0),stat:s1(V0(ZD.stat),G0),write:s1(V0(ZD.write),G0),writeFile:s1(V0(ZD.writeFile),G0),closeSync:r1(ZD.closeSync,G0),fsyncSync:r1(ZD.fsyncSync,G0),openSync:r1(ZD.openSync,G0),readFileSync:r1(ZD.readFileSync,G0),renameSync:r1(ZD.renameSync,G0),statSync:r1(ZD.statSync,G0),writeSync:r1(ZD.writeSync,G0),writeFileSync:r1(ZD.writeFileSync,G0)}},D0=B4D;import g6 from"process";var YT="utf8",XY=438,GT=511;var HT={},WT=g6.geteuid?g6.geteuid():-1,qT=g6.getegid?g6.getegid():-1;var ET=1000,KT=!!g6.getuid,PMD=g6.getuid?!g6.getuid():!1,YY=128;var zT=(D)=>{return D instanceof Error&&"code"in D};var GY=(D)=>{return typeof D==="string"},f7=(D)=>{return D===void 0};import Q4D from"path";import X3 from"process";import VT from"process";var ZT=VT.platform==="linux",g7=VT.platform==="win32";var HY=["SIGHUP","SIGINT","SIGTERM"];if(!g7)HY.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(ZT)HY.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var AT=HY;class LT{constructor(){this.callbacks=new Set,this.exited=!1,this.exit=(D)=>{if(this.exited)return;this.exited=!0;for(let F of this.callbacks)F();if(D)if(g7&&(D!=="SIGINT"&&D!=="SIGTERM"&&D!=="SIGKILL"))X3.kill(X3.pid,"SIGTERM");else X3.kill(X3.pid,D)},this.hook=()=>{X3.once("exit",()=>this.exit());for(let D of AT)try{X3.once(D,()=>this.exit(D))}catch{}},this.register=(D)=>{return this.callbacks.add(D),()=>{this.callbacks.delete(D)}},this.hook()}}var MT=new LT;var J4D=MT.register,UT=J4D;var c0={store:{},create:(D)=>{let F=`000000${Math.floor(Math.random()*16777215).toString(16)}`.slice(-6),$=Date.now().toString().slice(-10),B="tmp-",J=`.tmp-${$}${F}`;return`${D}${J}`},get:(D,F,$=!0)=>{let B=c0.truncate(F(D));if(B in c0.store)return c0.get(D,F,$);return c0.store[B]=$,[B,()=>delete c0.store[B]]},purge:(D)=>{if(!c0.store[D])return;delete c0.store[D],D0.attempt.unlink(D)},purgeSync:(D)=>{if(!c0.store[D])return;delete c0.store[D],D0.attempt.unlinkSync(D)},purgeSyncAll:()=>{for(let D in c0.store)c0.purgeSync(D)},truncate:(D)=>{let F=Q4D.basename(D);if(F.length<=YY)return D;let $=/^(\.?)(.*?)((?:\.[^.]+)?(?:\.tmp-\d{10}[a-f0-9]{6})?)$/.exec(F);if(!$)return D;let B=F.length-YY;return`${D.slice(0,-F.length)}${$[1]}${$[2].slice(0,-B)}${$[3]}`}};UT(c0.purgeSyncAll);var dF=c0;function WY(D,F,$=HT){if(GY($))return WY(D,F,{encoding:$});let J={timeout:$.timeout??ET},Q=null,X=null,Y=null;try{let G=D0.attempt.realpathSync(D),H=!!G;D=G||D,[X,Q]=dF.get(D,$.tmpCreate||dF.create,$.tmpPurge!==!1);let q=KT&&f7($.chown),E=f7($.mode);if(H&&(q||E)){let V=D0.attempt.statSync(D);if(V){if($={...$},q)$.chown={uid:V.uid,gid:V.gid};if(E)$.mode=V.mode}}if(!H){let V=X4D.dirname(D);D0.attempt.mkdirSync(V,{mode:GT,recursive:!0})}if(Y=D0.retry.openSync(J)(X,"w",$.mode||XY),$.tmpCreated)$.tmpCreated(X);if(GY(F))D0.retry.writeSync(J)(Y,F,0,$.encoding||YT);else if(!f7(F))D0.retry.writeSync(J)(Y,F,0,F.length,0);if($.fsync!==!1)if($.fsyncWait!==!1)D0.retry.fsyncSync(J)(Y);else D0.attempt.fsync(Y);if(D0.retry.closeSync(J)(Y),Y=null,$.chown&&($.chown.uid!==WT||$.chown.gid!==qT))D0.attempt.chownSync(X,$.chown.uid,$.chown.gid);if($.mode&&$.mode!==XY)D0.attempt.chmodSync(X,$.mode);try{D0.retry.renameSync(J)(X,D)}catch(V){if(!zT(V))throw V;if(V.code!=="ENAMETOOLONG")throw V;D0.retry.renameSync(J)(X,dF.truncate(D))}Q(),X=null}finally{if(Y)D0.attempt.closeSync(Y);if(X)dF.purge(X)}}var kv=i(ES(),1),vv=i(xS(),1);var dQD=(D,F={})=>{if(typeof D!=="function")throw TypeError(`Expected the first argument to be a function, got \`${typeof D}\``);let{wait:$=0,maxWait:B=Number.POSITIVE_INFINITY,before:J=!1,after:Q=!0}=F;if($<0||B<0)throw RangeError("`wait` and `maxWait` must not be negative.");if(!J&&!Q)throw Error("Both `before` and `after` are false, function wouldn't be called.");let X,Y,G,H=function(...q){let E=this,V=()=>{if(X=void 0,Y)clearTimeout(Y),Y=void 0;if(Q)G=D.apply(E,q)},Z=()=>{if(Y=void 0,X)clearTimeout(X),X=void 0;if(Q)G=D.apply(E,q)},A=J&&!X;if(clearTimeout(X),X=setTimeout(V,$),B>0&&B!==Number.POSITIVE_INFINITY&&!Y)Y=setTimeout(Z,B);if(A)G=D.apply(E,q);return G};return gF(H,D),H.cancel=()=>{if(X)clearTimeout(X),X=void 0;if(Y)clearTimeout(Y),Y=void 0},H},T2=dQD;var i6=i(jv(),1);var f2D=Object.prototype.toString;function Ov(D,F,$){if(!D)return!1;if(D.constructor===F)return!0;return f2D.call(D)===$}function wv(D){return Ov(D,Uint8Array,"[object Uint8Array]")}function g2D(D){return Ov(D,ArrayBuffer,"[object ArrayBuffer]")}function h2D(D){return wv(D)||g2D(D)}function b2D(D){if(!wv(D))throw TypeError(`Expected \`Uint8Array\`, got \`${typeof D}\``)}function u2D(D){if(!h2D(D))throw TypeError(`Expected \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof D}\``)}function m2(D,F){if(D.length===0)return new Uint8Array(0);F??=D.reduce((J,Q)=>J+Q.length,0);let $=new Uint8Array(F),B=0;for(let J of D)b2D(J),$.set(J,B),B+=J.length;return $}var Tv={utf8:new globalThis.TextDecoder("utf8")};function l2(D,F="utf8"){return u2D(D),Tv[F]??=new globalThis.TextDecoder(F),Tv[F].decode(D)}function m2D(D){if(typeof D!=="string")throw TypeError(`Expected \`string\`, got \`${typeof D}\``)}var l2D=new globalThis.TextEncoder;function _$(D){return m2D(D),l2D.encode(D)}var VRD=Array.from({length:256},(D,F)=>F.toString(16).padStart(2,"0"));var c2D=vv.default.default,Sv="aes-256-cbc",C3=()=>Object.create(null),n2D=(D)=>D!==void 0&&D!==null,i2D=(D,F)=>{let $=new Set(["undefined","symbol","function"]),B=typeof F;if($.has(B))throw TypeError(`Setting a value of type \`${B}\` for key \`${D}\` is not allowed as it's not supported by JSON`)},f$="__internal__",d2=`${f$}.migrations.version`;class g${path;events;#$;#F;#D;#J={};constructor(D={}){let F={configName:"config",fileExtension:"json",projectSuffix:"nodejs",clearInvalidConfig:!1,accessPropertiesByDotNotation:!0,configFileMode:438,...D};if(!F.cwd){if(!F.projectName)throw Error("Please specify the `projectName` option.");F.cwd=JY(F.projectName,{suffix:F.projectSuffix}).config}if(this.#D=F,F.schema??F.ajvOptions??F.rootSchema){if(F.schema&&typeof F.schema!=="object")throw TypeError("The `schema` option must be an object.");let Q=new kv.Ajv2020({allErrors:!0,useDefaults:!0,...F.ajvOptions});c2D(Q);let X={...F.rootSchema,type:"object",properties:F.schema};this.#$=Q.compile(X);for(let[Y,G]of Object.entries(F.schema??{}))if(G?.default)this.#J[Y]=G.default}if(F.defaults)this.#J={...this.#J,...F.defaults};if(F.serialize)this._serialize=F.serialize;if(F.deserialize)this._deserialize=F.deserialize;this.events=new EventTarget,this.#F=F.encryptionKey;let $=F.fileExtension?`.${F.fileExtension}`:"";this.path=Pv.resolve(F.cwd,`${F.configName??"config"}${$}`);let B=this.store,J=Object.assign(C3(),F.defaults,B);if(F.migrations){if(!F.projectVersion)throw Error("Please specify the `projectVersion` option.");this._migrate(F.migrations,F.projectVersion,F.beforeEachMigration)}this._validate(J);try{p2D.deepEqual(B,J)}catch{this.store=J}if(F.watch)this._watch()}get(D,F){if(this.#D.accessPropertiesByDotNotation)return this._get(D,F);let{store:$}=this;return D in $?$[D]:F}set(D,F){if(typeof D!=="string"&&typeof D!=="object")throw TypeError(`Expected \`key\` to be of type \`string\` or \`object\`, got ${typeof D}`);if(typeof D!=="object"&&F===void 0)throw TypeError("Use `delete()` to clear values");if(this._containsReservedKey(D))throw TypeError(`Please don't use the ${f$} key, as it's used to manage this module internal operations.`);let{store:$}=this,B=(J,Q)=>{if(i2D(J,Q),this.#D.accessPropertiesByDotNotation)FY($,J,Q);else $[J]=Q};if(typeof D==="object"){let J=D;for(let[Q,X]of Object.entries(J))B(Q,X)}else B(D,F);this.store=$}has(D){if(this.#D.accessPropertiesByDotNotation)return $T(this.store,D);return D in this.store}reset(...D){for(let F of D)if(n2D(this.#J[F]))this.set(F,this.#J[F])}delete(D){let{store:F}=this;if(this.#D.accessPropertiesByDotNotation)FT(F,D);else delete F[D];this.store=F}clear(){this.store=C3();for(let D of Object.keys(this.#J))this.reset(D)}onDidChange(D,F){if(typeof D!=="string")throw TypeError(`Expected \`key\` to be of type \`string\`, got ${typeof D}`);if(typeof F!=="function")throw TypeError(`Expected \`callback\` to be of type \`function\`, got ${typeof F}`);return this._handleChange(()=>this.get(D),F)}onDidAnyChange(D){if(typeof D!=="function")throw TypeError(`Expected \`callback\` to be of type \`function\`, got ${typeof D}`);return this._handleChange(()=>this.store,D)}get size(){return Object.keys(this.store).length}get store(){try{let D=n6.readFileSync(this.path,this.#F?null:"utf8"),F=this._encryptData(D),$=this._deserialize(F);return this._validate($),Object.assign(C3(),$)}catch(D){if(D?.code==="ENOENT")return this._ensureDirectory(),C3();if(this.#D.clearInvalidConfig&&D.name==="SyntaxError")return C3();throw D}}set store(D){this._ensureDirectory(),this._validate(D),this._write(D),this.events.dispatchEvent(new Event("change"))}*[Symbol.iterator](){for(let[D,F]of Object.entries(this.store))yield[D,F]}_encryptData(D){if(!this.#F)return typeof D==="string"?D:l2(D);try{let F=D.slice(0,16),$=C5.pbkdf2Sync(this.#F,F.toString(),1e4,32,"sha512"),B=C5.createDecipheriv(Sv,$,F),J=D.slice(17),Q=typeof J==="string"?_$(J):J;return l2(m2([B.update(Q),B.final()]))}catch{}return D.toString()}_handleChange(D,F){let $=D(),B=()=>{let J=$,Q=D();if(d2D(Q,J))return;$=Q,F.call(this,Q,J)};return this.events.addEventListener("change",B),()=>{this.events.removeEventListener("change",B)}}_deserialize=(D)=>JSON.parse(D);_serialize=(D)=>JSON.stringify(D,void 0,"\t");_validate(D){if(!this.#$)return;if(this.#$(D)||!this.#$.errors)return;let $=this.#$.errors.map(({instancePath:B,message:J=""})=>`\`${B.slice(1)}\` ${J}`);throw Error("Config schema violation: "+$.join("; "))}_ensureDirectory(){n6.mkdirSync(Pv.dirname(this.path),{recursive:!0})}_write(D){let F=this._serialize(D);if(this.#F){let $=C5.randomBytes(16),B=C5.pbkdf2Sync(this.#F,$.toString(),1e4,32,"sha512"),J=C5.createCipheriv(Sv,B,$);F=m2([$,_$(":"),J.update(_$(F)),J.final()])}if(Iv.env.SNAP)n6.writeFileSync(this.path,F,{mode:this.#D.configFileMode});else try{WY(this.path,F,{mode:this.#D.configFileMode})}catch($){if($?.code==="EXDEV"){n6.writeFileSync(this.path,F,{mode:this.#D.configFileMode});return}throw $}}_watch(){if(this._ensureDirectory(),!n6.existsSync(this.path))this._write(C3());if(Iv.platform==="win32")n6.watch(this.path,{persistent:!1},T2(()=>{this.events.dispatchEvent(new Event("change"))},{wait:100}));else n6.watchFile(this.path,{persistent:!1},T2(()=>{this.events.dispatchEvent(new Event("change"))},{wait:5000}))}_migrate(D,F,$){let B=this._get(d2,"0.0.0"),J=Object.keys(D).filter((X)=>this._shouldPerformMigration(X,B,F)),Q={...this.store};for(let X of J)try{if($)$(this,{fromVersion:B,toVersion:X,finalVersion:F,versions:J});let Y=D[X];Y?.(this),this._set(d2,X),B=X,Q={...this.store}}catch(Y){throw this.store=Q,Error(`Something went wrong during the migration! Changes applied to the store until this failed migration will be restored. ${Y}`)}if(this._isVersionInRangeFormat(B)||!i6.default.eq(B,F))this._set(d2,F)}_containsReservedKey(D){if(typeof D==="object"){if(Object.keys(D)[0]===f$)return!0}if(typeof D!=="string")return!1;if(this.#D.accessPropertiesByDotNotation){if(D.startsWith(`${f$}.`))return!0;return!1}return!1}_isVersionInRangeFormat(D){return i6.default.clean(D)===null}_shouldPerformMigration(D,F,$){if(this._isVersionInRangeFormat(D)){if(F!=="0.0.0"&&i6.default.satisfies(F,D))return!1;return i6.default.satisfies($,D)}if(i6.default.lte(D,F))return!1;if(i6.default.gt(D,$))return!1;return!0}_get(D,F){return DT(this.store,D,F)}_set(D,F){let{store:$}=this;FY($,D,F),this.store=$}}var y1={};MG(y1,{void:()=>kGD,util:()=>XD,unknown:()=>PGD,union:()=>_GD,undefined:()=>OGD,tuple:()=>hGD,transformer:()=>aGD,symbol:()=>TGD,string:()=>mv,strictObject:()=>xGD,setErrorMap:()=>s2D,set:()=>mGD,record:()=>bGD,quotelessJson:()=>a2D,promise:()=>iGD,preprocess:()=>rGD,pipeline:()=>tGD,ostring:()=>eGD,optional:()=>oGD,onumber:()=>DHD,oboolean:()=>FHD,objectUtil:()=>p2,object:()=>yGD,number:()=>lv,nullable:()=>sGD,null:()=>wGD,never:()=>SGD,nativeEnum:()=>nGD,nan:()=>CGD,map:()=>uGD,makeIssue:()=>R5,literal:()=>pGD,lazy:()=>dGD,late:()=>UGD,isValid:()=>q6,isDirty:()=>b$,isAsync:()=>j3,isAborted:()=>h$,intersection:()=>gGD,instanceof:()=>NGD,getParsedType:()=>$8,getErrorMap:()=>R3,function:()=>lGD,enum:()=>cGD,effect:()=>aGD,discriminatedUnion:()=>fGD,defaultErrorMap:()=>U8,datetimeRegex:()=>hv,date:()=>jGD,custom:()=>uv,coerce:()=>$HD,boolean:()=>dv,bigint:()=>RGD,array:()=>vGD,any:()=>IGD,addIssueToContext:()=>P,ZodVoid:()=>T5,ZodUnknown:()=>E6,ZodUnion:()=>S3,ZodUndefined:()=>I3,ZodType:()=>BD,ZodTuple:()=>J8,ZodTransformer:()=>v1,ZodSymbol:()=>j5,ZodString:()=>I1,ZodSet:()=>r6,ZodSchema:()=>BD,ZodRecord:()=>O5,ZodReadonly:()=>g3,ZodPromise:()=>t6,ZodPipeline:()=>P5,ZodParsedType:()=>w,ZodOptional:()=>S1,ZodObject:()=>uD,ZodNumber:()=>K6,ZodNullable:()=>C8,ZodNull:()=>P3,ZodNever:()=>B8,ZodNativeEnum:()=>x3,ZodNaN:()=>I5,ZodMap:()=>w5,ZodLiteral:()=>y3,ZodLazy:()=>v3,ZodIssueCode:()=>j,ZodIntersection:()=>k3,ZodFunction:()=>O3,ZodFirstPartyTypeKind:()=>m,ZodError:()=>u0,ZodEnum:()=>V6,ZodEffects:()=>v1,ZodDiscriminatedUnion:()=>u$,ZodDefault:()=>_3,ZodDate:()=>o6,ZodCatch:()=>f3,ZodBranded:()=>m$,ZodBoolean:()=>w3,ZodBigInt:()=>z6,ZodArray:()=>P1,ZodAny:()=>s6,Schema:()=>BD,ParseStatus:()=>W0,OK:()=>M0,NEVER:()=>BHD,INVALID:()=>b,EMPTY_PATH:()=>r2D,DIRTY:()=>a6,BRAND:()=>MGD});var XD;(function(D){D.assertEqual=(J)=>{};function F(J){}D.assertIs=F;function $(J){throw Error()}D.assertNever=$,D.arrayToEnum=(J)=>{let Q={};for(let X of J)Q[X]=X;return Q},D.getValidEnumValues=(J)=>{let Q=D.objectKeys(J).filter((Y)=>typeof J[J[Y]]!=="number"),X={};for(let Y of Q)X[Y]=J[Y];return D.objectValues(X)},D.objectValues=(J)=>{return D.objectKeys(J).map(function(Q){return J[Q]})},D.objectKeys=typeof Object.keys==="function"?(J)=>Object.keys(J):(J)=>{let Q=[];for(let X in J)if(Object.prototype.hasOwnProperty.call(J,X))Q.push(X);return Q},D.find=(J,Q)=>{for(let X of J)if(Q(X))return X;return},D.isInteger=typeof Number.isInteger==="function"?(J)=>Number.isInteger(J):(J)=>typeof J==="number"&&Number.isFinite(J)&&Math.floor(J)===J;function B(J,Q=" | "){return J.map((X)=>typeof X==="string"?`'${X}'`:X).join(Q)}D.joinValues=B,D.jsonStringifyReplacer=(J,Q)=>{if(typeof Q==="bigint")return Q.toString();return Q}})(XD||(XD={}));var p2;(function(D){D.mergeShapes=(F,$)=>{return{...F,...$}}})(p2||(p2={}));var w=XD.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),$8=(D)=>{switch(typeof D){case"undefined":return w.undefined;case"string":return w.string;case"number":return Number.isNaN(D)?w.nan:w.number;case"boolean":return w.boolean;case"function":return w.function;case"bigint":return w.bigint;case"symbol":return w.symbol;case"object":if(Array.isArray(D))return w.array;if(D===null)return w.null;if(D.then&&typeof D.then==="function"&&D.catch&&typeof D.catch==="function")return w.promise;if(typeof Map<"u"&&D instanceof Map)return w.map;if(typeof Set<"u"&&D instanceof Set)return w.set;if(typeof Date<"u"&&D instanceof Date)return w.date;return w.object;default:return w.unknown}};var j=XD.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"]),a2D=(D)=>{return JSON.stringify(D,null,2).replace(/"([^"]+)":/g,"$1:")};class u0 extends Error{get errors(){return this.issues}constructor(D){super();this.issues=[],this.addIssue=($)=>{this.issues=[...this.issues,$]},this.addIssues=($=[])=>{this.issues=[...this.issues,...$]};let F=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,F);else this.__proto__=F;this.name="ZodError",this.issues=D}format(D){let F=D||function(J){return J.message},$={_errors:[]},B=(J)=>{for(let Q of J.issues)if(Q.code==="invalid_union")Q.unionErrors.map(B);else if(Q.code==="invalid_return_type")B(Q.returnTypeError);else if(Q.code==="invalid_arguments")B(Q.argumentsError);else if(Q.path.length===0)$._errors.push(F(Q));else{let X=$,Y=0;while(Y<Q.path.length){let G=Q.path[Y];if(Y!==Q.path.length-1)X[G]=X[G]||{_errors:[]};else X[G]=X[G]||{_errors:[]},X[G]._errors.push(F(Q));X=X[G],Y++}}};return B(this),$}static assert(D){if(!(D instanceof u0))throw Error(`Not a ZodError: ${D}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,XD.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(D=(F)=>F.message){let F={},$=[];for(let B of this.issues)if(B.path.length>0){let J=B.path[0];F[J]=F[J]||[],F[J].push(D(B))}else $.push(D(B));return{formErrors:$,fieldErrors:F}}get formErrors(){return this.flatten()}}u0.create=(D)=>{return new u0(D)};var o2D=(D,F)=>{let $;switch(D.code){case j.invalid_type:if(D.received===w.undefined)$="Required";else $=`Expected ${D.expected}, received ${D.received}`;break;case j.invalid_literal:$=`Invalid literal value, expected ${JSON.stringify(D.expected,XD.jsonStringifyReplacer)}`;break;case j.unrecognized_keys:$=`Unrecognized key(s) in object: ${XD.joinValues(D.keys,", ")}`;break;case j.invalid_union:$="Invalid input";break;case j.invalid_union_discriminator:$=`Invalid discriminator value. Expected ${XD.joinValues(D.options)}`;break;case j.invalid_enum_value:$=`Invalid enum value. Expected ${XD.joinValues(D.options)}, received '${D.received}'`;break;case j.invalid_arguments:$="Invalid function arguments";break;case j.invalid_return_type:$="Invalid function return type";break;case j.invalid_date:$="Invalid date";break;case j.invalid_string:if(typeof D.validation==="object")if("includes"in D.validation){if($=`Invalid input: must include "${D.validation.includes}"`,typeof D.validation.position==="number")$=`${$} at one or more positions greater than or equal to ${D.validation.position}`}else if("startsWith"in D.validation)$=`Invalid input: must start with "${D.validation.startsWith}"`;else if("endsWith"in D.validation)$=`Invalid input: must end with "${D.validation.endsWith}"`;else XD.assertNever(D.validation);else if(D.validation!=="regex")$=`Invalid ${D.validation}`;else $="Invalid";break;case j.too_small:if(D.type==="array")$=`Array must contain ${D.exact?"exactly":D.inclusive?"at least":"more than"} ${D.minimum} element(s)`;else if(D.type==="string")$=`String must contain ${D.exact?"exactly":D.inclusive?"at least":"over"} ${D.minimum} character(s)`;else if(D.type==="number")$=`Number must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${D.minimum}`;else if(D.type==="bigint")$=`Number must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${D.minimum}`;else if(D.type==="date")$=`Date must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(D.minimum))}`;else $="Invalid input";break;case j.too_big:if(D.type==="array")$=`Array must contain ${D.exact?"exactly":D.inclusive?"at most":"less than"} ${D.maximum} element(s)`;else if(D.type==="string")$=`String must contain ${D.exact?"exactly":D.inclusive?"at most":"under"} ${D.maximum} character(s)`;else if(D.type==="number")$=`Number must be ${D.exact?"exactly":D.inclusive?"less than or equal to":"less than"} ${D.maximum}`;else if(D.type==="bigint")$=`BigInt must be ${D.exact?"exactly":D.inclusive?"less than or equal to":"less than"} ${D.maximum}`;else if(D.type==="date")$=`Date must be ${D.exact?"exactly":D.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(D.maximum))}`;else $="Invalid input";break;case j.custom:$="Invalid input";break;case j.invalid_intersection_types:$="Intersection results could not be merged";break;case j.not_multiple_of:$=`Number must be a multiple of ${D.multipleOf}`;break;case j.not_finite:$="Number must be finite";break;default:$=F.defaultError,XD.assertNever(D)}return{message:$}},U8=o2D;var yv=U8;function s2D(D){yv=D}function R3(){return yv}var R5=(D)=>{let{data:F,path:$,errorMaps:B,issueData:J}=D,Q=[...$,...J.path||[]],X={...J,path:Q};if(J.message!==void 0)return{...J,path:Q,message:J.message};let Y="",G=B.filter((H)=>!!H).slice().reverse();for(let H of G)Y=H(X,{data:F,defaultError:Y}).message;return{...J,path:Q,message:Y}},r2D=[];function P(D,F){let $=R3(),B=R5({issueData:F,data:D.data,path:D.path,errorMaps:[D.common.contextualErrorMap,D.schemaErrorMap,$,$===U8?void 0:U8].filter((J)=>!!J)});D.common.issues.push(B)}class W0{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(D,F){let $=[];for(let B of F){if(B.status==="aborted")return b;if(B.status==="dirty")D.dirty();$.push(B.value)}return{status:D.value,value:$}}static async mergeObjectAsync(D,F){let $=[];for(let B of F){let J=await B.key,Q=await B.value;$.push({key:J,value:Q})}return W0.mergeObjectSync(D,$)}static mergeObjectSync(D,F){let $={};for(let B of F){let{key:J,value:Q}=B;if(J.status==="aborted")return b;if(Q.status==="aborted")return b;if(J.status==="dirty")D.dirty();if(Q.status==="dirty")D.dirty();if(J.value!=="__proto__"&&(typeof Q.value<"u"||B.alwaysSet))$[J.value]=Q.value}return{status:D.value,value:$}}}var b=Object.freeze({status:"aborted"}),a6=(D)=>({status:"dirty",value:D}),M0=(D)=>({status:"valid",value:D}),h$=(D)=>D.status==="aborted",b$=(D)=>D.status==="dirty",q6=(D)=>D.status==="valid",j3=(D)=>typeof Promise<"u"&&D instanceof Promise;var f;(function(D){D.errToObj=(F)=>typeof F==="string"?{message:F}:F||{},D.toString=(F)=>typeof F==="string"?F:F?.message})(f||(f={}));class k1{constructor(D,F,$,B){this._cachedPath=[],this.parent=D,this.data=F,this._path=$,this._key=B}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var xv=(D,F)=>{if(q6(F))return{success:!0,data:F.value};else{if(!D.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let $=new u0(D.common.issues);return this._error=$,this._error}}}};function DD(D){if(!D)return{};let{errorMap:F,invalid_type_error:$,required_error:B,description:J}=D;if(F&&($||B))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(F)return{errorMap:F,description:J};return{errorMap:(X,Y)=>{let{message:G}=D;if(X.code==="invalid_enum_value")return{message:G??Y.defaultError};if(typeof Y.data>"u")return{message:G??B??Y.defaultError};if(X.code!=="invalid_type")return{message:Y.defaultError};return{message:G??$??Y.defaultError}},description:J}}class BD{get description(){return this._def.description}_getType(D){return $8(D.data)}_getOrReturnCtx(D,F){return F||{common:D.parent.common,data:D.data,parsedType:$8(D.data),schemaErrorMap:this._def.errorMap,path:D.path,parent:D.parent}}_processInputParams(D){return{status:new W0,ctx:{common:D.parent.common,data:D.data,parsedType:$8(D.data),schemaErrorMap:this._def.errorMap,path:D.path,parent:D.parent}}}_parseSync(D){let F=this._parse(D);if(j3(F))throw Error("Synchronous parse encountered promise.");return F}_parseAsync(D){let F=this._parse(D);return Promise.resolve(F)}parse(D,F){let $=this.safeParse(D,F);if($.success)return $.data;throw $.error}safeParse(D,F){let $={common:{issues:[],async:F?.async??!1,contextualErrorMap:F?.errorMap},path:F?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:$8(D)},B=this._parseSync({data:D,path:$.path,parent:$});return xv($,B)}"~validate"(D){let F={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:$8(D)};if(!this["~standard"].async)try{let $=this._parseSync({data:D,path:[],parent:F});return q6($)?{value:$.value}:{issues:F.common.issues}}catch($){if($?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;F.common={issues:[],async:!0}}return this._parseAsync({data:D,path:[],parent:F}).then(($)=>q6($)?{value:$.value}:{issues:F.common.issues})}async parseAsync(D,F){let $=await this.safeParseAsync(D,F);if($.success)return $.data;throw $.error}async safeParseAsync(D,F){let $={common:{issues:[],contextualErrorMap:F?.errorMap,async:!0},path:F?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:$8(D)},B=this._parse({data:D,path:$.path,parent:$}),J=await(j3(B)?B:Promise.resolve(B));return xv($,J)}refine(D,F){let $=(B)=>{if(typeof F==="string"||typeof F>"u")return{message:F};else if(typeof F==="function")return F(B);else return F};return this._refinement((B,J)=>{let Q=D(B),X=()=>J.addIssue({code:j.custom,...$(B)});if(typeof Promise<"u"&&Q instanceof Promise)return Q.then((Y)=>{if(!Y)return X(),!1;else return!0});if(!Q)return X(),!1;else return!0})}refinement(D,F){return this._refinement(($,B)=>{if(!D($))return B.addIssue(typeof F==="function"?F($,B):F),!1;else return!0})}_refinement(D){return new v1({schema:this,typeName:m.ZodEffects,effect:{type:"refinement",refinement:D}})}superRefine(D){return this._refinement(D)}constructor(D){this.spa=this.safeParseAsync,this._def=D,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:(F)=>this["~validate"](F)}}optional(){return S1.create(this,this._def)}nullable(){return C8.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return P1.create(this)}promise(){return t6.create(this,this._def)}or(D){return S3.create([this,D],this._def)}and(D){return k3.create(this,D,this._def)}transform(D){return new v1({...DD(this._def),schema:this,typeName:m.ZodEffects,effect:{type:"transform",transform:D}})}default(D){let F=typeof D==="function"?D:()=>D;return new _3({...DD(this._def),innerType:this,defaultValue:F,typeName:m.ZodDefault})}brand(){return new m$({typeName:m.ZodBranded,type:this,...DD(this._def)})}catch(D){let F=typeof D==="function"?D:()=>D;return new f3({...DD(this._def),innerType:this,catchValue:F,typeName:m.ZodCatch})}describe(D){return new this.constructor({...this._def,description:D})}pipe(D){return P5.create(this,D)}readonly(){return g3.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var t2D=/^c[^\s-]{8,}$/i,e2D=/^[0-9a-z]+$/,DGD=/^[0-9A-HJKMNP-TV-Z]{26}$/i,FGD=/^[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,$GD=/^[a-z0-9_-]{21}$/i,BGD=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,JGD=/^[-+]?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)?)??$/,QGD=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,XGD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",c2,YGD=/^(?:(?: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])$/,GGD=/^(?:(?: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])$/,HGD=/^(([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]))$/,WGD=/^(([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])$/,qGD=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,EGD=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,fv="((\\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])))",KGD=new RegExp(`^${fv}$`);function gv(D){let F="[0-5]\\d";if(D.precision)F=`${F}\\.\\d{${D.precision}}`;else if(D.precision==null)F=`${F}(\\.\\d+)?`;let $=D.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${F})${$}`}function zGD(D){return new RegExp(`^${gv(D)}$`)}function hv(D){let F=`${fv}T${gv(D)}`,$=[];if($.push(D.local?"Z?":"Z"),D.offset)$.push("([+-]\\d{2}:?\\d{2})");return F=`${F}(${$.join("|")})`,new RegExp(`^${F}$`)}function VGD(D,F){if((F==="v4"||!F)&&YGD.test(D))return!0;if((F==="v6"||!F)&&HGD.test(D))return!0;return!1}function ZGD(D,F){if(!BGD.test(D))return!1;try{let[$]=D.split(".");if(!$)return!1;let B=$.replace(/-/g,"+").replace(/_/g,"/").padEnd($.length+(4-$.length%4)%4,"="),J=JSON.parse(atob(B));if(typeof J!=="object"||J===null)return!1;if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if(F&&J.alg!==F)return!1;return!0}catch{return!1}}function AGD(D,F){if((F==="v4"||!F)&&GGD.test(D))return!0;if((F==="v6"||!F)&&WGD.test(D))return!0;return!1}class I1 extends BD{_parse(D){if(this._def.coerce)D.data=String(D.data);if(this._getType(D)!==w.string){let J=this._getOrReturnCtx(D);return P(J,{code:j.invalid_type,expected:w.string,received:J.parsedType}),b}let $=new W0,B=void 0;for(let J of this._def.checks)if(J.kind==="min"){if(D.data.length<J.value)B=this._getOrReturnCtx(D,B),P(B,{code:j.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),$.dirty()}else if(J.kind==="max"){if(D.data.length>J.value)B=this._getOrReturnCtx(D,B),P(B,{code:j.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),$.dirty()}else if(J.kind==="length"){let Q=D.data.length>J.value,X=D.data.length<J.value;if(Q||X){if(B=this._getOrReturnCtx(D,B),Q)P(B,{code:j.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});else if(X)P(B,{code:j.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});$.dirty()}}else if(J.kind==="email"){if(!QGD.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"email",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="emoji"){if(!c2)c2=new RegExp(XGD,"u");if(!c2.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"emoji",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="uuid"){if(!FGD.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"uuid",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="nanoid"){if(!$GD.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"nanoid",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="cuid"){if(!t2D.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"cuid",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="cuid2"){if(!e2D.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"cuid2",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="ulid"){if(!DGD.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"ulid",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="url")try{new URL(D.data)}catch{B=this._getOrReturnCtx(D,B),P(B,{validation:"url",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="regex"){if(J.regex.lastIndex=0,!J.regex.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"regex",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="trim")D.data=D.data.trim();else if(J.kind==="includes"){if(!D.data.includes(J.value,J.position))B=this._getOrReturnCtx(D,B),P(B,{code:j.invalid_string,validation:{includes:J.value,position:J.position},message:J.message}),$.dirty()}else if(J.kind==="toLowerCase")D.data=D.data.toLowerCase();else if(J.kind==="toUpperCase")D.data=D.data.toUpperCase();else if(J.kind==="startsWith"){if(!D.data.startsWith(J.value))B=this._getOrReturnCtx(D,B),P(B,{code:j.invalid_string,validation:{startsWith:J.value},message:J.message}),$.dirty()}else if(J.kind==="endsWith"){if(!D.data.endsWith(J.value))B=this._getOrReturnCtx(D,B),P(B,{code:j.invalid_string,validation:{endsWith:J.value},message:J.message}),$.dirty()}else if(J.kind==="datetime"){if(!hv(J).test(D.data))B=this._getOrReturnCtx(D,B),P(B,{code:j.invalid_string,validation:"datetime",message:J.message}),$.dirty()}else if(J.kind==="date"){if(!KGD.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{code:j.invalid_string,validation:"date",message:J.message}),$.dirty()}else if(J.kind==="time"){if(!zGD(J).test(D.data))B=this._getOrReturnCtx(D,B),P(B,{code:j.invalid_string,validation:"time",message:J.message}),$.dirty()}else if(J.kind==="duration"){if(!JGD.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"duration",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="ip"){if(!VGD(D.data,J.version))B=this._getOrReturnCtx(D,B),P(B,{validation:"ip",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="jwt"){if(!ZGD(D.data,J.alg))B=this._getOrReturnCtx(D,B),P(B,{validation:"jwt",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="cidr"){if(!AGD(D.data,J.version))B=this._getOrReturnCtx(D,B),P(B,{validation:"cidr",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="base64"){if(!qGD.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"base64",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="base64url"){if(!EGD.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"base64url",code:j.invalid_string,message:J.message}),$.dirty()}else XD.assertNever(J);return{status:$.value,value:D.data}}_regex(D,F,$){return this.refinement((B)=>D.test(B),{validation:F,code:j.invalid_string,...f.errToObj($)})}_addCheck(D){return new I1({...this._def,checks:[...this._def.checks,D]})}email(D){return this._addCheck({kind:"email",...f.errToObj(D)})}url(D){return this._addCheck({kind:"url",...f.errToObj(D)})}emoji(D){return this._addCheck({kind:"emoji",...f.errToObj(D)})}uuid(D){return this._addCheck({kind:"uuid",...f.errToObj(D)})}nanoid(D){return this._addCheck({kind:"nanoid",...f.errToObj(D)})}cuid(D){return this._addCheck({kind:"cuid",...f.errToObj(D)})}cuid2(D){return this._addCheck({kind:"cuid2",...f.errToObj(D)})}ulid(D){return this._addCheck({kind:"ulid",...f.errToObj(D)})}base64(D){return this._addCheck({kind:"base64",...f.errToObj(D)})}base64url(D){return this._addCheck({kind:"base64url",...f.errToObj(D)})}jwt(D){return this._addCheck({kind:"jwt",...f.errToObj(D)})}ip(D){return this._addCheck({kind:"ip",...f.errToObj(D)})}cidr(D){return this._addCheck({kind:"cidr",...f.errToObj(D)})}datetime(D){if(typeof D==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:D});return this._addCheck({kind:"datetime",precision:typeof D?.precision>"u"?null:D?.precision,offset:D?.offset??!1,local:D?.local??!1,...f.errToObj(D?.message)})}date(D){return this._addCheck({kind:"date",message:D})}time(D){if(typeof D==="string")return this._addCheck({kind:"time",precision:null,message:D});return this._addCheck({kind:"time",precision:typeof D?.precision>"u"?null:D?.precision,...f.errToObj(D?.message)})}duration(D){return this._addCheck({kind:"duration",...f.errToObj(D)})}regex(D,F){return this._addCheck({kind:"regex",regex:D,...f.errToObj(F)})}includes(D,F){return this._addCheck({kind:"includes",value:D,position:F?.position,...f.errToObj(F?.message)})}startsWith(D,F){return this._addCheck({kind:"startsWith",value:D,...f.errToObj(F)})}endsWith(D,F){return this._addCheck({kind:"endsWith",value:D,...f.errToObj(F)})}min(D,F){return this._addCheck({kind:"min",value:D,...f.errToObj(F)})}max(D,F){return this._addCheck({kind:"max",value:D,...f.errToObj(F)})}length(D,F){return this._addCheck({kind:"length",value:D,...f.errToObj(F)})}nonempty(D){return this.min(1,f.errToObj(D))}trim(){return new I1({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new I1({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new I1({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((D)=>D.kind==="datetime")}get isDate(){return!!this._def.checks.find((D)=>D.kind==="date")}get isTime(){return!!this._def.checks.find((D)=>D.kind==="time")}get isDuration(){return!!this._def.checks.find((D)=>D.kind==="duration")}get isEmail(){return!!this._def.checks.find((D)=>D.kind==="email")}get isURL(){return!!this._def.checks.find((D)=>D.kind==="url")}get isEmoji(){return!!this._def.checks.find((D)=>D.kind==="emoji")}get isUUID(){return!!this._def.checks.find((D)=>D.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((D)=>D.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((D)=>D.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((D)=>D.kind==="cuid2")}get isULID(){return!!this._def.checks.find((D)=>D.kind==="ulid")}get isIP(){return!!this._def.checks.find((D)=>D.kind==="ip")}get isCIDR(){return!!this._def.checks.find((D)=>D.kind==="cidr")}get isBase64(){return!!this._def.checks.find((D)=>D.kind==="base64")}get isBase64url(){return!!this._def.checks.find((D)=>D.kind==="base64url")}get minLength(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D}get maxLength(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D}}I1.create=(D)=>{return new I1({checks:[],typeName:m.ZodString,coerce:D?.coerce??!1,...DD(D)})};function LGD(D,F){let $=(D.toString().split(".")[1]||"").length,B=(F.toString().split(".")[1]||"").length,J=$>B?$:B,Q=Number.parseInt(D.toFixed(J).replace(".","")),X=Number.parseInt(F.toFixed(J).replace(".",""));return Q%X/10**J}class K6 extends BD{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(D){if(this._def.coerce)D.data=Number(D.data);if(this._getType(D)!==w.number){let J=this._getOrReturnCtx(D);return P(J,{code:j.invalid_type,expected:w.number,received:J.parsedType}),b}let $=void 0,B=new W0;for(let J of this._def.checks)if(J.kind==="int"){if(!XD.isInteger(D.data))$=this._getOrReturnCtx(D,$),P($,{code:j.invalid_type,expected:"integer",received:"float",message:J.message}),B.dirty()}else if(J.kind==="min"){if(J.inclusive?D.data<J.value:D.data<=J.value)$=this._getOrReturnCtx(D,$),P($,{code:j.too_small,minimum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),B.dirty()}else if(J.kind==="max"){if(J.inclusive?D.data>J.value:D.data>=J.value)$=this._getOrReturnCtx(D,$),P($,{code:j.too_big,maximum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),B.dirty()}else if(J.kind==="multipleOf"){if(LGD(D.data,J.value)!==0)$=this._getOrReturnCtx(D,$),P($,{code:j.not_multiple_of,multipleOf:J.value,message:J.message}),B.dirty()}else if(J.kind==="finite"){if(!Number.isFinite(D.data))$=this._getOrReturnCtx(D,$),P($,{code:j.not_finite,message:J.message}),B.dirty()}else XD.assertNever(J);return{status:B.value,value:D.data}}gte(D,F){return this.setLimit("min",D,!0,f.toString(F))}gt(D,F){return this.setLimit("min",D,!1,f.toString(F))}lte(D,F){return this.setLimit("max",D,!0,f.toString(F))}lt(D,F){return this.setLimit("max",D,!1,f.toString(F))}setLimit(D,F,$,B){return new K6({...this._def,checks:[...this._def.checks,{kind:D,value:F,inclusive:$,message:f.toString(B)}]})}_addCheck(D){return new K6({...this._def,checks:[...this._def.checks,D]})}int(D){return this._addCheck({kind:"int",message:f.toString(D)})}positive(D){return this._addCheck({kind:"min",value:0,inclusive:!1,message:f.toString(D)})}negative(D){return this._addCheck({kind:"max",value:0,inclusive:!1,message:f.toString(D)})}nonpositive(D){return this._addCheck({kind:"max",value:0,inclusive:!0,message:f.toString(D)})}nonnegative(D){return this._addCheck({kind:"min",value:0,inclusive:!0,message:f.toString(D)})}multipleOf(D,F){return this._addCheck({kind:"multipleOf",value:D,message:f.toString(F)})}finite(D){return this._addCheck({kind:"finite",message:f.toString(D)})}safe(D){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:f.toString(D)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:f.toString(D)})}get minValue(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D}get maxValue(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D}get isInt(){return!!this._def.checks.find((D)=>D.kind==="int"||D.kind==="multipleOf"&&XD.isInteger(D.value))}get isFinite(){let D=null,F=null;for(let $ of this._def.checks)if($.kind==="finite"||$.kind==="int"||$.kind==="multipleOf")return!0;else if($.kind==="min"){if(F===null||$.value>F)F=$.value}else if($.kind==="max"){if(D===null||$.value<D)D=$.value}return Number.isFinite(F)&&Number.isFinite(D)}}K6.create=(D)=>{return new K6({checks:[],typeName:m.ZodNumber,coerce:D?.coerce||!1,...DD(D)})};class z6 extends BD{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(D){if(this._def.coerce)try{D.data=BigInt(D.data)}catch{return this._getInvalidInput(D)}if(this._getType(D)!==w.bigint)return this._getInvalidInput(D);let $=void 0,B=new W0;for(let J of this._def.checks)if(J.kind==="min"){if(J.inclusive?D.data<J.value:D.data<=J.value)$=this._getOrReturnCtx(D,$),P($,{code:j.too_small,type:"bigint",minimum:J.value,inclusive:J.inclusive,message:J.message}),B.dirty()}else if(J.kind==="max"){if(J.inclusive?D.data>J.value:D.data>=J.value)$=this._getOrReturnCtx(D,$),P($,{code:j.too_big,type:"bigint",maximum:J.value,inclusive:J.inclusive,message:J.message}),B.dirty()}else if(J.kind==="multipleOf"){if(D.data%J.value!==BigInt(0))$=this._getOrReturnCtx(D,$),P($,{code:j.not_multiple_of,multipleOf:J.value,message:J.message}),B.dirty()}else XD.assertNever(J);return{status:B.value,value:D.data}}_getInvalidInput(D){let F=this._getOrReturnCtx(D);return P(F,{code:j.invalid_type,expected:w.bigint,received:F.parsedType}),b}gte(D,F){return this.setLimit("min",D,!0,f.toString(F))}gt(D,F){return this.setLimit("min",D,!1,f.toString(F))}lte(D,F){return this.setLimit("max",D,!0,f.toString(F))}lt(D,F){return this.setLimit("max",D,!1,f.toString(F))}setLimit(D,F,$,B){return new z6({...this._def,checks:[...this._def.checks,{kind:D,value:F,inclusive:$,message:f.toString(B)}]})}_addCheck(D){return new z6({...this._def,checks:[...this._def.checks,D]})}positive(D){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:f.toString(D)})}negative(D){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:f.toString(D)})}nonpositive(D){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:f.toString(D)})}nonnegative(D){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:f.toString(D)})}multipleOf(D,F){return this._addCheck({kind:"multipleOf",value:D,message:f.toString(F)})}get minValue(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D}get maxValue(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D}}z6.create=(D)=>{return new z6({checks:[],typeName:m.ZodBigInt,coerce:D?.coerce??!1,...DD(D)})};class w3 extends BD{_parse(D){if(this._def.coerce)D.data=Boolean(D.data);if(this._getType(D)!==w.boolean){let $=this._getOrReturnCtx(D);return P($,{code:j.invalid_type,expected:w.boolean,received:$.parsedType}),b}return M0(D.data)}}w3.create=(D)=>{return new w3({typeName:m.ZodBoolean,coerce:D?.coerce||!1,...DD(D)})};class o6 extends BD{_parse(D){if(this._def.coerce)D.data=new Date(D.data);if(this._getType(D)!==w.date){let J=this._getOrReturnCtx(D);return P(J,{code:j.invalid_type,expected:w.date,received:J.parsedType}),b}if(Number.isNaN(D.data.getTime())){let J=this._getOrReturnCtx(D);return P(J,{code:j.invalid_date}),b}let $=new W0,B=void 0;for(let J of this._def.checks)if(J.kind==="min"){if(D.data.getTime()<J.value)B=this._getOrReturnCtx(D,B),P(B,{code:j.too_small,message:J.message,inclusive:!0,exact:!1,minimum:J.value,type:"date"}),$.dirty()}else if(J.kind==="max"){if(D.data.getTime()>J.value)B=this._getOrReturnCtx(D,B),P(B,{code:j.too_big,message:J.message,inclusive:!0,exact:!1,maximum:J.value,type:"date"}),$.dirty()}else XD.assertNever(J);return{status:$.value,value:new Date(D.data.getTime())}}_addCheck(D){return new o6({...this._def,checks:[...this._def.checks,D]})}min(D,F){return this._addCheck({kind:"min",value:D.getTime(),message:f.toString(F)})}max(D,F){return this._addCheck({kind:"max",value:D.getTime(),message:f.toString(F)})}get minDate(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D!=null?new Date(D):null}get maxDate(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D!=null?new Date(D):null}}o6.create=(D)=>{return new o6({checks:[],coerce:D?.coerce||!1,typeName:m.ZodDate,...DD(D)})};class j5 extends BD{_parse(D){if(this._getType(D)!==w.symbol){let $=this._getOrReturnCtx(D);return P($,{code:j.invalid_type,expected:w.symbol,received:$.parsedType}),b}return M0(D.data)}}j5.create=(D)=>{return new j5({typeName:m.ZodSymbol,...DD(D)})};class I3 extends BD{_parse(D){if(this._getType(D)!==w.undefined){let $=this._getOrReturnCtx(D);return P($,{code:j.invalid_type,expected:w.undefined,received:$.parsedType}),b}return M0(D.data)}}I3.create=(D)=>{return new I3({typeName:m.ZodUndefined,...DD(D)})};class P3 extends BD{_parse(D){if(this._getType(D)!==w.null){let $=this._getOrReturnCtx(D);return P($,{code:j.invalid_type,expected:w.null,received:$.parsedType}),b}return M0(D.data)}}P3.create=(D)=>{return new P3({typeName:m.ZodNull,...DD(D)})};class s6 extends BD{constructor(){super(...arguments);this._any=!0}_parse(D){return M0(D.data)}}s6.create=(D)=>{return new s6({typeName:m.ZodAny,...DD(D)})};class E6 extends BD{constructor(){super(...arguments);this._unknown=!0}_parse(D){return M0(D.data)}}E6.create=(D)=>{return new E6({typeName:m.ZodUnknown,...DD(D)})};class B8 extends BD{_parse(D){let F=this._getOrReturnCtx(D);return P(F,{code:j.invalid_type,expected:w.never,received:F.parsedType}),b}}B8.create=(D)=>{return new B8({typeName:m.ZodNever,...DD(D)})};class T5 extends BD{_parse(D){if(this._getType(D)!==w.undefined){let $=this._getOrReturnCtx(D);return P($,{code:j.invalid_type,expected:w.void,received:$.parsedType}),b}return M0(D.data)}}T5.create=(D)=>{return new T5({typeName:m.ZodVoid,...DD(D)})};class P1 extends BD{_parse(D){let{ctx:F,status:$}=this._processInputParams(D),B=this._def;if(F.parsedType!==w.array)return P(F,{code:j.invalid_type,expected:w.array,received:F.parsedType}),b;if(B.exactLength!==null){let Q=F.data.length>B.exactLength.value,X=F.data.length<B.exactLength.value;if(Q||X)P(F,{code:Q?j.too_big:j.too_small,minimum:X?B.exactLength.value:void 0,maximum:Q?B.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:B.exactLength.message}),$.dirty()}if(B.minLength!==null){if(F.data.length<B.minLength.value)P(F,{code:j.too_small,minimum:B.minLength.value,type:"array",inclusive:!0,exact:!1,message:B.minLength.message}),$.dirty()}if(B.maxLength!==null){if(F.data.length>B.maxLength.value)P(F,{code:j.too_big,maximum:B.maxLength.value,type:"array",inclusive:!0,exact:!1,message:B.maxLength.message}),$.dirty()}if(F.common.async)return Promise.all([...F.data].map((Q,X)=>{return B.type._parseAsync(new k1(F,Q,F.path,X))})).then((Q)=>{return W0.mergeArray($,Q)});let J=[...F.data].map((Q,X)=>{return B.type._parseSync(new k1(F,Q,F.path,X))});return W0.mergeArray($,J)}get element(){return this._def.type}min(D,F){return new P1({...this._def,minLength:{value:D,message:f.toString(F)}})}max(D,F){return new P1({...this._def,maxLength:{value:D,message:f.toString(F)}})}length(D,F){return new P1({...this._def,exactLength:{value:D,message:f.toString(F)}})}nonempty(D){return this.min(1,D)}}P1.create=(D,F)=>{return new P1({type:D,minLength:null,maxLength:null,exactLength:null,typeName:m.ZodArray,...DD(F)})};function T3(D){if(D instanceof uD){let F={};for(let $ in D.shape){let B=D.shape[$];F[$]=S1.create(T3(B))}return new uD({...D._def,shape:()=>F})}else if(D instanceof P1)return new P1({...D._def,type:T3(D.element)});else if(D instanceof S1)return S1.create(T3(D.unwrap()));else if(D instanceof C8)return C8.create(T3(D.unwrap()));else if(D instanceof J8)return J8.create(D.items.map((F)=>T3(F)));else return D}class uD extends BD{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let D=this._def.shape(),F=XD.objectKeys(D);return this._cached={shape:D,keys:F},this._cached}_parse(D){if(this._getType(D)!==w.object){let G=this._getOrReturnCtx(D);return P(G,{code:j.invalid_type,expected:w.object,received:G.parsedType}),b}let{status:$,ctx:B}=this._processInputParams(D),{shape:J,keys:Q}=this._getCached(),X=[];if(!(this._def.catchall instanceof B8&&this._def.unknownKeys==="strip")){for(let G in B.data)if(!Q.includes(G))X.push(G)}let Y=[];for(let G of Q){let H=J[G],q=B.data[G];Y.push({key:{status:"valid",value:G},value:H._parse(new k1(B,q,B.path,G)),alwaysSet:G in B.data})}if(this._def.catchall instanceof B8){let G=this._def.unknownKeys;if(G==="passthrough")for(let H of X)Y.push({key:{status:"valid",value:H},value:{status:"valid",value:B.data[H]}});else if(G==="strict"){if(X.length>0)P(B,{code:j.unrecognized_keys,keys:X}),$.dirty()}else if(G==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let G=this._def.catchall;for(let H of X){let q=B.data[H];Y.push({key:{status:"valid",value:H},value:G._parse(new k1(B,q,B.path,H)),alwaysSet:H in B.data})}}if(B.common.async)return Promise.resolve().then(async()=>{let G=[];for(let H of Y){let q=await H.key,E=await H.value;G.push({key:q,value:E,alwaysSet:H.alwaysSet})}return G}).then((G)=>{return W0.mergeObjectSync($,G)});else return W0.mergeObjectSync($,Y)}get shape(){return this._def.shape()}strict(D){return f.errToObj,new uD({...this._def,unknownKeys:"strict",...D!==void 0?{errorMap:(F,$)=>{let B=this._def.errorMap?.(F,$).message??$.defaultError;if(F.code==="unrecognized_keys")return{message:f.errToObj(D).message??B};return{message:B}}}:{}})}strip(){return new uD({...this._def,unknownKeys:"strip"})}passthrough(){return new uD({...this._def,unknownKeys:"passthrough"})}extend(D){return new uD({...this._def,shape:()=>({...this._def.shape(),...D})})}merge(D){return new uD({unknownKeys:D._def.unknownKeys,catchall:D._def.catchall,shape:()=>({...this._def.shape(),...D._def.shape()}),typeName:m.ZodObject})}setKey(D,F){return this.augment({[D]:F})}catchall(D){return new uD({...this._def,catchall:D})}pick(D){let F={};for(let $ of XD.objectKeys(D))if(D[$]&&this.shape[$])F[$]=this.shape[$];return new uD({...this._def,shape:()=>F})}omit(D){let F={};for(let $ of XD.objectKeys(this.shape))if(!D[$])F[$]=this.shape[$];return new uD({...this._def,shape:()=>F})}deepPartial(){return T3(this)}partial(D){let F={};for(let $ of XD.objectKeys(this.shape)){let B=this.shape[$];if(D&&!D[$])F[$]=B;else F[$]=B.optional()}return new uD({...this._def,shape:()=>F})}required(D){let F={};for(let $ of XD.objectKeys(this.shape))if(D&&!D[$])F[$]=this.shape[$];else{let J=this.shape[$];while(J instanceof S1)J=J._def.innerType;F[$]=J}return new uD({...this._def,shape:()=>F})}keyof(){return bv(XD.objectKeys(this.shape))}}uD.create=(D,F)=>{return new uD({shape:()=>D,unknownKeys:"strip",catchall:B8.create(),typeName:m.ZodObject,...DD(F)})};uD.strictCreate=(D,F)=>{return new uD({shape:()=>D,unknownKeys:"strict",catchall:B8.create(),typeName:m.ZodObject,...DD(F)})};uD.lazycreate=(D,F)=>{return new uD({shape:D,unknownKeys:"strip",catchall:B8.create(),typeName:m.ZodObject,...DD(F)})};class S3 extends BD{_parse(D){let{ctx:F}=this._processInputParams(D),$=this._def.options;function B(J){for(let X of J)if(X.result.status==="valid")return X.result;for(let X of J)if(X.result.status==="dirty")return F.common.issues.push(...X.ctx.common.issues),X.result;let Q=J.map((X)=>new u0(X.ctx.common.issues));return P(F,{code:j.invalid_union,unionErrors:Q}),b}if(F.common.async)return Promise.all($.map(async(J)=>{let Q={...F,common:{...F.common,issues:[]},parent:null};return{result:await J._parseAsync({data:F.data,path:F.path,parent:Q}),ctx:Q}})).then(B);else{let J=void 0,Q=[];for(let Y of $){let G={...F,common:{...F.common,issues:[]},parent:null},H=Y._parseSync({data:F.data,path:F.path,parent:G});if(H.status==="valid")return H;else if(H.status==="dirty"&&!J)J={result:H,ctx:G};if(G.common.issues.length)Q.push(G.common.issues)}if(J)return F.common.issues.push(...J.ctx.common.issues),J.result;let X=Q.map((Y)=>new u0(Y));return P(F,{code:j.invalid_union,unionErrors:X}),b}}get options(){return this._def.options}}S3.create=(D,F)=>{return new S3({options:D,typeName:m.ZodUnion,...DD(F)})};var N8=(D)=>{if(D instanceof v3)return N8(D.schema);else if(D instanceof v1)return N8(D.innerType());else if(D instanceof y3)return[D.value];else if(D instanceof V6)return D.options;else if(D instanceof x3)return XD.objectValues(D.enum);else if(D instanceof _3)return N8(D._def.innerType);else if(D instanceof I3)return[void 0];else if(D instanceof P3)return[null];else if(D instanceof S1)return[void 0,...N8(D.unwrap())];else if(D instanceof C8)return[null,...N8(D.unwrap())];else if(D instanceof m$)return N8(D.unwrap());else if(D instanceof g3)return N8(D.unwrap());else if(D instanceof f3)return N8(D._def.innerType);else return[]};class u$ extends BD{_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==w.object)return P(F,{code:j.invalid_type,expected:w.object,received:F.parsedType}),b;let $=this.discriminator,B=F.data[$],J=this.optionsMap.get(B);if(!J)return P(F,{code:j.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[$]}),b;if(F.common.async)return J._parseAsync({data:F.data,path:F.path,parent:F});else return J._parseSync({data:F.data,path:F.path,parent:F})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(D,F,$){let B=new Map;for(let J of F){let Q=N8(J.shape[D]);if(!Q.length)throw Error(`A discriminator value for key \`${D}\` could not be extracted from all schema options`);for(let X of Q){if(B.has(X))throw Error(`Discriminator property ${String(D)} has duplicate value ${String(X)}`);B.set(X,J)}}return new u$({typeName:m.ZodDiscriminatedUnion,discriminator:D,options:F,optionsMap:B,...DD($)})}}function n2(D,F){let $=$8(D),B=$8(F);if(D===F)return{valid:!0,data:D};else if($===w.object&&B===w.object){let J=XD.objectKeys(F),Q=XD.objectKeys(D).filter((Y)=>J.indexOf(Y)!==-1),X={...D,...F};for(let Y of Q){let G=n2(D[Y],F[Y]);if(!G.valid)return{valid:!1};X[Y]=G.data}return{valid:!0,data:X}}else if($===w.array&&B===w.array){if(D.length!==F.length)return{valid:!1};let J=[];for(let Q=0;Q<D.length;Q++){let X=D[Q],Y=F[Q],G=n2(X,Y);if(!G.valid)return{valid:!1};J.push(G.data)}return{valid:!0,data:J}}else if($===w.date&&B===w.date&&+D===+F)return{valid:!0,data:D};else return{valid:!1}}class k3 extends BD{_parse(D){let{status:F,ctx:$}=this._processInputParams(D),B=(J,Q)=>{if(h$(J)||h$(Q))return b;let X=n2(J.value,Q.value);if(!X.valid)return P($,{code:j.invalid_intersection_types}),b;if(b$(J)||b$(Q))F.dirty();return{status:F.value,value:X.data}};if($.common.async)return Promise.all([this._def.left._parseAsync({data:$.data,path:$.path,parent:$}),this._def.right._parseAsync({data:$.data,path:$.path,parent:$})]).then(([J,Q])=>B(J,Q));else return B(this._def.left._parseSync({data:$.data,path:$.path,parent:$}),this._def.right._parseSync({data:$.data,path:$.path,parent:$}))}}k3.create=(D,F,$)=>{return new k3({left:D,right:F,typeName:m.ZodIntersection,...DD($)})};class J8 extends BD{_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==w.array)return P($,{code:j.invalid_type,expected:w.array,received:$.parsedType}),b;if($.data.length<this._def.items.length)return P($,{code:j.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),b;if(!this._def.rest&&$.data.length>this._def.items.length)P($,{code:j.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),F.dirty();let J=[...$.data].map((Q,X)=>{let Y=this._def.items[X]||this._def.rest;if(!Y)return null;return Y._parse(new k1($,Q,$.path,X))}).filter((Q)=>!!Q);if($.common.async)return Promise.all(J).then((Q)=>{return W0.mergeArray(F,Q)});else return W0.mergeArray(F,J)}get items(){return this._def.items}rest(D){return new J8({...this._def,rest:D})}}J8.create=(D,F)=>{if(!Array.isArray(D))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new J8({items:D,typeName:m.ZodTuple,rest:null,...DD(F)})};class O5 extends BD{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==w.object)return P($,{code:j.invalid_type,expected:w.object,received:$.parsedType}),b;let B=[],J=this._def.keyType,Q=this._def.valueType;for(let X in $.data)B.push({key:J._parse(new k1($,X,$.path,X)),value:Q._parse(new k1($,$.data[X],$.path,X)),alwaysSet:X in $.data});if($.common.async)return W0.mergeObjectAsync(F,B);else return W0.mergeObjectSync(F,B)}get element(){return this._def.valueType}static create(D,F,$){if(F instanceof BD)return new O5({keyType:D,valueType:F,typeName:m.ZodRecord,...DD($)});return new O5({keyType:I1.create(),valueType:D,typeName:m.ZodRecord,...DD(F)})}}class w5 extends BD{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==w.map)return P($,{code:j.invalid_type,expected:w.map,received:$.parsedType}),b;let B=this._def.keyType,J=this._def.valueType,Q=[...$.data.entries()].map(([X,Y],G)=>{return{key:B._parse(new k1($,X,$.path,[G,"key"])),value:J._parse(new k1($,Y,$.path,[G,"value"]))}});if($.common.async){let X=new Map;return Promise.resolve().then(async()=>{for(let Y of Q){let G=await Y.key,H=await Y.value;if(G.status==="aborted"||H.status==="aborted")return b;if(G.status==="dirty"||H.status==="dirty")F.dirty();X.set(G.value,H.value)}return{status:F.value,value:X}})}else{let X=new Map;for(let Y of Q){let{key:G,value:H}=Y;if(G.status==="aborted"||H.status==="aborted")return b;if(G.status==="dirty"||H.status==="dirty")F.dirty();X.set(G.value,H.value)}return{status:F.value,value:X}}}}w5.create=(D,F,$)=>{return new w5({valueType:F,keyType:D,typeName:m.ZodMap,...DD($)})};class r6 extends BD{_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==w.set)return P($,{code:j.invalid_type,expected:w.set,received:$.parsedType}),b;let B=this._def;if(B.minSize!==null){if($.data.size<B.minSize.value)P($,{code:j.too_small,minimum:B.minSize.value,type:"set",inclusive:!0,exact:!1,message:B.minSize.message}),F.dirty()}if(B.maxSize!==null){if($.data.size>B.maxSize.value)P($,{code:j.too_big,maximum:B.maxSize.value,type:"set",inclusive:!0,exact:!1,message:B.maxSize.message}),F.dirty()}let J=this._def.valueType;function Q(Y){let G=new Set;for(let H of Y){if(H.status==="aborted")return b;if(H.status==="dirty")F.dirty();G.add(H.value)}return{status:F.value,value:G}}let X=[...$.data.values()].map((Y,G)=>J._parse(new k1($,Y,$.path,G)));if($.common.async)return Promise.all(X).then((Y)=>Q(Y));else return Q(X)}min(D,F){return new r6({...this._def,minSize:{value:D,message:f.toString(F)}})}max(D,F){return new r6({...this._def,maxSize:{value:D,message:f.toString(F)}})}size(D,F){return this.min(D,F).max(D,F)}nonempty(D){return this.min(1,D)}}r6.create=(D,F)=>{return new r6({valueType:D,minSize:null,maxSize:null,typeName:m.ZodSet,...DD(F)})};class O3 extends BD{constructor(){super(...arguments);this.validate=this.implement}_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==w.function)return P(F,{code:j.invalid_type,expected:w.function,received:F.parsedType}),b;function $(X,Y){return R5({data:X,path:F.path,errorMaps:[F.common.contextualErrorMap,F.schemaErrorMap,R3(),U8].filter((G)=>!!G),issueData:{code:j.invalid_arguments,argumentsError:Y}})}function B(X,Y){return R5({data:X,path:F.path,errorMaps:[F.common.contextualErrorMap,F.schemaErrorMap,R3(),U8].filter((G)=>!!G),issueData:{code:j.invalid_return_type,returnTypeError:Y}})}let J={errorMap:F.common.contextualErrorMap},Q=F.data;if(this._def.returns instanceof t6){let X=this;return M0(async function(...Y){let G=new u0([]),H=await X._def.args.parseAsync(Y,J).catch((V)=>{throw G.addIssue($(Y,V)),G}),q=await Reflect.apply(Q,this,H);return await X._def.returns._def.type.parseAsync(q,J).catch((V)=>{throw G.addIssue(B(q,V)),G})})}else{let X=this;return M0(function(...Y){let G=X._def.args.safeParse(Y,J);if(!G.success)throw new u0([$(Y,G.error)]);let H=Reflect.apply(Q,this,G.data),q=X._def.returns.safeParse(H,J);if(!q.success)throw new u0([B(H,q.error)]);return q.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...D){return new O3({...this._def,args:J8.create(D).rest(E6.create())})}returns(D){return new O3({...this._def,returns:D})}implement(D){return this.parse(D)}strictImplement(D){return this.parse(D)}static create(D,F,$){return new O3({args:D?D:J8.create([]).rest(E6.create()),returns:F||E6.create(),typeName:m.ZodFunction,...DD($)})}}class v3 extends BD{get schema(){return this._def.getter()}_parse(D){let{ctx:F}=this._processInputParams(D);return this._def.getter()._parse({data:F.data,path:F.path,parent:F})}}v3.create=(D,F)=>{return new v3({getter:D,typeName:m.ZodLazy,...DD(F)})};class y3 extends BD{_parse(D){if(D.data!==this._def.value){let F=this._getOrReturnCtx(D);return P(F,{received:F.data,code:j.invalid_literal,expected:this._def.value}),b}return{status:"valid",value:D.data}}get value(){return this._def.value}}y3.create=(D,F)=>{return new y3({value:D,typeName:m.ZodLiteral,...DD(F)})};function bv(D,F){return new V6({values:D,typeName:m.ZodEnum,...DD(F)})}class V6 extends BD{_parse(D){if(typeof D.data!=="string"){let F=this._getOrReturnCtx(D),$=this._def.values;return P(F,{expected:XD.joinValues($),received:F.parsedType,code:j.invalid_type}),b}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(D.data)){let F=this._getOrReturnCtx(D),$=this._def.values;return P(F,{received:F.data,code:j.invalid_enum_value,options:$}),b}return M0(D.data)}get options(){return this._def.values}get enum(){let D={};for(let F of this._def.values)D[F]=F;return D}get Values(){let D={};for(let F of this._def.values)D[F]=F;return D}get Enum(){let D={};for(let F of this._def.values)D[F]=F;return D}extract(D,F=this._def){return V6.create(D,{...this._def,...F})}exclude(D,F=this._def){return V6.create(this.options.filter(($)=>!D.includes($)),{...this._def,...F})}}V6.create=bv;class x3 extends BD{_parse(D){let F=XD.getValidEnumValues(this._def.values),$=this._getOrReturnCtx(D);if($.parsedType!==w.string&&$.parsedType!==w.number){let B=XD.objectValues(F);return P($,{expected:XD.joinValues(B),received:$.parsedType,code:j.invalid_type}),b}if(!this._cache)this._cache=new Set(XD.getValidEnumValues(this._def.values));if(!this._cache.has(D.data)){let B=XD.objectValues(F);return P($,{received:$.data,code:j.invalid_enum_value,options:B}),b}return M0(D.data)}get enum(){return this._def.values}}x3.create=(D,F)=>{return new x3({values:D,typeName:m.ZodNativeEnum,...DD(F)})};class t6 extends BD{unwrap(){return this._def.type}_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==w.promise&&F.common.async===!1)return P(F,{code:j.invalid_type,expected:w.promise,received:F.parsedType}),b;let $=F.parsedType===w.promise?F.data:Promise.resolve(F.data);return M0($.then((B)=>{return this._def.type.parseAsync(B,{path:F.path,errorMap:F.common.contextualErrorMap})}))}}t6.create=(D,F)=>{return new t6({type:D,typeName:m.ZodPromise,...DD(F)})};class v1 extends BD{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===m.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(D){let{status:F,ctx:$}=this._processInputParams(D),B=this._def.effect||null,J={addIssue:(Q)=>{if(P($,Q),Q.fatal)F.abort();else F.dirty()},get path(){return $.path}};if(J.addIssue=J.addIssue.bind(J),B.type==="preprocess"){let Q=B.transform($.data,J);if($.common.async)return Promise.resolve(Q).then(async(X)=>{if(F.value==="aborted")return b;let Y=await this._def.schema._parseAsync({data:X,path:$.path,parent:$});if(Y.status==="aborted")return b;if(Y.status==="dirty")return a6(Y.value);if(F.value==="dirty")return a6(Y.value);return Y});else{if(F.value==="aborted")return b;let X=this._def.schema._parseSync({data:Q,path:$.path,parent:$});if(X.status==="aborted")return b;if(X.status==="dirty")return a6(X.value);if(F.value==="dirty")return a6(X.value);return X}}if(B.type==="refinement"){let Q=(X)=>{let Y=B.refinement(X,J);if($.common.async)return Promise.resolve(Y);if(Y instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return X};if($.common.async===!1){let X=this._def.schema._parseSync({data:$.data,path:$.path,parent:$});if(X.status==="aborted")return b;if(X.status==="dirty")F.dirty();return Q(X.value),{status:F.value,value:X.value}}else return this._def.schema._parseAsync({data:$.data,path:$.path,parent:$}).then((X)=>{if(X.status==="aborted")return b;if(X.status==="dirty")F.dirty();return Q(X.value).then(()=>{return{status:F.value,value:X.value}})})}if(B.type==="transform")if($.common.async===!1){let Q=this._def.schema._parseSync({data:$.data,path:$.path,parent:$});if(!q6(Q))return b;let X=B.transform(Q.value,J);if(X instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:F.value,value:X}}else return this._def.schema._parseAsync({data:$.data,path:$.path,parent:$}).then((Q)=>{if(!q6(Q))return b;return Promise.resolve(B.transform(Q.value,J)).then((X)=>({status:F.value,value:X}))});XD.assertNever(B)}}v1.create=(D,F,$)=>{return new v1({schema:D,typeName:m.ZodEffects,effect:F,...DD($)})};v1.createWithPreprocess=(D,F,$)=>{return new v1({schema:F,effect:{type:"preprocess",transform:D},typeName:m.ZodEffects,...DD($)})};class S1 extends BD{_parse(D){if(this._getType(D)===w.undefined)return M0(void 0);return this._def.innerType._parse(D)}unwrap(){return this._def.innerType}}S1.create=(D,F)=>{return new S1({innerType:D,typeName:m.ZodOptional,...DD(F)})};class C8 extends BD{_parse(D){if(this._getType(D)===w.null)return M0(null);return this._def.innerType._parse(D)}unwrap(){return this._def.innerType}}C8.create=(D,F)=>{return new C8({innerType:D,typeName:m.ZodNullable,...DD(F)})};class _3 extends BD{_parse(D){let{ctx:F}=this._processInputParams(D),$=F.data;if(F.parsedType===w.undefined)$=this._def.defaultValue();return this._def.innerType._parse({data:$,path:F.path,parent:F})}removeDefault(){return this._def.innerType}}_3.create=(D,F)=>{return new _3({innerType:D,typeName:m.ZodDefault,defaultValue:typeof F.default==="function"?F.default:()=>F.default,...DD(F)})};class f3 extends BD{_parse(D){let{ctx:F}=this._processInputParams(D),$={...F,common:{...F.common,issues:[]}},B=this._def.innerType._parse({data:$.data,path:$.path,parent:{...$}});if(j3(B))return B.then((J)=>{return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new u0($.common.issues)},input:$.data})}});else return{status:"valid",value:B.status==="valid"?B.value:this._def.catchValue({get error(){return new u0($.common.issues)},input:$.data})}}removeCatch(){return this._def.innerType}}f3.create=(D,F)=>{return new f3({innerType:D,typeName:m.ZodCatch,catchValue:typeof F.catch==="function"?F.catch:()=>F.catch,...DD(F)})};class I5 extends BD{_parse(D){if(this._getType(D)!==w.nan){let $=this._getOrReturnCtx(D);return P($,{code:j.invalid_type,expected:w.nan,received:$.parsedType}),b}return{status:"valid",value:D.data}}}I5.create=(D)=>{return new I5({typeName:m.ZodNaN,...DD(D)})};var MGD=Symbol("zod_brand");class m$ extends BD{_parse(D){let{ctx:F}=this._processInputParams(D),$=F.data;return this._def.type._parse({data:$,path:F.path,parent:F})}unwrap(){return this._def.type}}class P5 extends BD{_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.common.async)return(async()=>{let J=await this._def.in._parseAsync({data:$.data,path:$.path,parent:$});if(J.status==="aborted")return b;if(J.status==="dirty")return F.dirty(),a6(J.value);else return this._def.out._parseAsync({data:J.value,path:$.path,parent:$})})();else{let B=this._def.in._parseSync({data:$.data,path:$.path,parent:$});if(B.status==="aborted")return b;if(B.status==="dirty")return F.dirty(),{status:"dirty",value:B.value};else return this._def.out._parseSync({data:B.value,path:$.path,parent:$})}}static create(D,F){return new P5({in:D,out:F,typeName:m.ZodPipeline})}}class g3 extends BD{_parse(D){let F=this._def.innerType._parse(D),$=(B)=>{if(q6(B))B.value=Object.freeze(B.value);return B};return j3(F)?F.then((B)=>$(B)):$(F)}unwrap(){return this._def.innerType}}g3.create=(D,F)=>{return new g3({innerType:D,typeName:m.ZodReadonly,...DD(F)})};function _v(D,F){let $=typeof D==="function"?D(F):typeof D==="string"?{message:D}:D;return typeof $==="string"?{message:$}:$}function uv(D,F={},$){if(D)return s6.create().superRefine((B,J)=>{let Q=D(B);if(Q instanceof Promise)return Q.then((X)=>{if(!X){let Y=_v(F,B),G=Y.fatal??$??!0;J.addIssue({code:"custom",...Y,fatal:G})}});if(!Q){let X=_v(F,B),Y=X.fatal??$??!0;J.addIssue({code:"custom",...X,fatal:Y})}return});return s6.create()}var UGD={object:uD.lazycreate},m;(function(D){D.ZodString="ZodString",D.ZodNumber="ZodNumber",D.ZodNaN="ZodNaN",D.ZodBigInt="ZodBigInt",D.ZodBoolean="ZodBoolean",D.ZodDate="ZodDate",D.ZodSymbol="ZodSymbol",D.ZodUndefined="ZodUndefined",D.ZodNull="ZodNull",D.ZodAny="ZodAny",D.ZodUnknown="ZodUnknown",D.ZodNever="ZodNever",D.ZodVoid="ZodVoid",D.ZodArray="ZodArray",D.ZodObject="ZodObject",D.ZodUnion="ZodUnion",D.ZodDiscriminatedUnion="ZodDiscriminatedUnion",D.ZodIntersection="ZodIntersection",D.ZodTuple="ZodTuple",D.ZodRecord="ZodRecord",D.ZodMap="ZodMap",D.ZodSet="ZodSet",D.ZodFunction="ZodFunction",D.ZodLazy="ZodLazy",D.ZodLiteral="ZodLiteral",D.ZodEnum="ZodEnum",D.ZodEffects="ZodEffects",D.ZodNativeEnum="ZodNativeEnum",D.ZodOptional="ZodOptional",D.ZodNullable="ZodNullable",D.ZodDefault="ZodDefault",D.ZodCatch="ZodCatch",D.ZodPromise="ZodPromise",D.ZodBranded="ZodBranded",D.ZodPipeline="ZodPipeline",D.ZodReadonly="ZodReadonly"})(m||(m={}));var NGD=(D,F={message:`Input not instance of ${D.name}`})=>uv(($)=>$ instanceof D,F),mv=I1.create,lv=K6.create,CGD=I5.create,RGD=z6.create,dv=w3.create,jGD=o6.create,TGD=j5.create,OGD=I3.create,wGD=P3.create,IGD=s6.create,PGD=E6.create,SGD=B8.create,kGD=T5.create,vGD=P1.create,yGD=uD.create,xGD=uD.strictCreate,_GD=S3.create,fGD=u$.create,gGD=k3.create,hGD=J8.create,bGD=O5.create,uGD=w5.create,mGD=r6.create,lGD=O3.create,dGD=v3.create,pGD=y3.create,cGD=V6.create,nGD=x3.create,iGD=t6.create,aGD=v1.create,oGD=S1.create,sGD=C8.create,rGD=v1.createWithPreprocess,tGD=P5.create,eGD=()=>mv().optional(),DHD=()=>lv().optional(),FHD=()=>dv().optional(),$HD={string:(D)=>I1.create({...D,coerce:!0}),number:(D)=>K6.create({...D,coerce:!0}),boolean:(D)=>w3.create({...D,coerce:!0}),bigint:(D)=>z6.create({...D,coerce:!0}),date:(D)=>o6.create({...D,coerce:!0})};var BHD=b;var l$="https://nemar-api-dev.shirazi-10f.workers.dev",BjD=y1.object({apiKey:y1.string().optional(),apiUrl:y1.string().url().default(l$),username:y1.string().optional(),email:y1.string().email().optional(),githubUsername:y1.string().optional(),sandboxCompleted:y1.boolean().optional(),sandboxDatasetId:y1.string().optional()}),cD=new g$({projectName:"nemar",schema:{activeAccount:{type:"string"},accounts:{type:"object"},apiKey:{type:"string"},apiUrl:{type:"string",default:l$},username:{type:"string"},email:{type:"string"},githubUsername:{type:"string"},sandboxCompleted:{type:"boolean"},sandboxDatasetId:{type:"string"}},...process.env.NEMAR_CONFIG_DIR?{cwd:process.env.NEMAR_CONFIG_DIR}:{}}),JHD=["apiKey","apiUrl","username","email","githubUsername","sandboxCompleted","sandboxDatasetId"];function QHD(){let D=cD.get("accounts");if(D&&Object.keys(D).length>0)return;let F=cD.get("apiKey"),$=cD.get("username");if(!F&&!$)return;try{let B=$||"default",J={};for(let Q of JHD){let X=cD.get(Q);if(X!==void 0)J[Q]=X}cD.store={activeAccount:B,accounts:{[B]:J}}}catch(B){console.error("Config migration failed (legacy config preserved):",B)}}QHD();function S5(){return cD.get("activeAccount")}function e6(){return cD.get("accounts")||{}}function rD(){let D={apiUrl:l$},F=S5();if(!F)return D;return e6()[F]||D}function pv(){return!!rD().sandboxCompleted}function R8(D,F){let $=S5()||"default",B=e6();if(!B[$])B[$]={apiUrl:l$};B[$][D]=F,cD.store={...cD.store,accounts:B,activeAccount:$}}function i2(D){let F=S5();if(!F)return;let $=e6();if($[F])delete $[F][D],cD.set("accounts",$)}function cv(){let D=S5();if(!D){cD.clear();return}let F=e6();delete F[D];let $=Object.keys(F);if($.length>0)cD.store={...cD.store,accounts:F,activeAccount:$[0]};else cD.clear()}function nv(){cD.clear()}function fD(){return!!rD().apiKey}function iv(){return cD.path}function k5(){let D=e6(),F=S5();return Object.entries(D).map(([$,B])=>({username:B.username||$,email:B.email,githubUsername:B.githubUsername,active:$===F}))}function av(D,F){let $=e6();$[D]=F,cD.store={...cD.store,accounts:$,activeAccount:D}}function ov(D){let F=e6();if(F[D])return cD.store={...cD.store,activeAccount:D},F[D];for(let[$,B]of Object.entries(F))if(B.githubUsername===D)return cD.store={...cD.store,activeAccount:$},B;return null}var a2="https://nemar-api-dev.shirazi-10f.workers.dev",d$=/^\d{4}-\d{4}-\d{4}-\d{3}[\dX]$/;function F0(D){if(D instanceof Error)return D.message;return String(D)}class u extends Error{statusCode;details;constructor(D,F,$){super(F);this.statusCode=D;this.details=$;this.name="ApiError"}}var XHD=a2.includes("workers.dev");function sv(){if(process.env.TEST_API_URL)return process.env.TEST_API_URL;if(XHD)return a2;return rD().apiUrl||a2}async function p(D,F={},$=!1){let B=`${sv()}${D}`,J={"Content-Type":"application/json",...F.headers};if($){let Y=rD();if(!Y.apiKey&&$===!0)throw new u(401,"Not authenticated. Run 'nemar auth login' first.");if(Y.apiKey)J.Authorization=`Bearer ${Y.apiKey}`}let Q;try{Q=await fetch(B,{...F,headers:J})}catch(Y){throw new u(0,`Network error: Could not connect to ${sv()}`,{originalError:Y instanceof Error?Y.message:String(Y)})}let X;try{X=await Q.json()}catch{throw new u(Q.status,`Invalid response from server (status ${Q.status})`)}if(!Q.ok)throw new u(Q.status,X.error||X.message||"Request failed",X.details);return X}async function rv(D){return p(`/auth/check-username?username=${encodeURIComponent(D)}`)}async function tv(D){return p(`/auth/check-github?username=${encodeURIComponent(D)}`)}async function ev(D){return p("/auth/signup",{method:"POST",body:JSON.stringify(D)})}async function Dy(D){return p("/auth/login",{method:"POST",body:JSON.stringify({api_key:D})})}async function Fy(D){return p("/auth/resend-verification",{method:"POST",body:JSON.stringify({email:D})})}async function $y(D,F){return p("/auth/retrieve-key",{method:"POST",body:JSON.stringify({email:D,password:F})})}async function By(D){return p("/auth/request-key-regeneration",{method:"POST",body:JSON.stringify({email:D})})}async function p$(){return p("/users/me",{},!0)}async function Jy(D,F){let $=new URLSearchParams;if(D)$.set("status",D);if(F)$.set("role",F);let B=$.toString()?`?${$.toString()}`:"";return p(`/admin/users${B}`,{},!0)}async function Qy(D){return p(`/admin/approve/${D}`,{method:"POST"},!0)}async function Xy(D){return p(`/admin/revoke/${D}`,{method:"POST"},!0)}async function Yy(D,F){return p(`/admin/users/${D}/role`,{method:"POST",body:JSON.stringify({role:F})},!0)}async function Gy(D){return p(`/admin/regenerate-iam/${D}`,{method:"POST"},!0)}async function o2(D,F){return p(`/admin/datasets/${D}/visibility`,{method:"PATCH",body:JSON.stringify({visibility:F})},!0)}async function Hy(D){return p(`/datasets/${D}/publish`,{method:"POST"},!0)}async function Wy(D){return p(`/admin/datasets/${D}/ci`,{},!0)}async function c$(D){return p(`/admin/datasets/${D}/ci`,{method:"POST"},!0)}async function qy(D){return p(`/datasets/${D}/ci/status`,{},!0)}async function Ey(D){return p(`/datasets/${D}/manifest`,{},!0)}async function Ky(D,F){return p(`/datasets/${D}/manifest/${F}`,{},!0)}function zy(D){let F=D;if(!["active","archived","deleted"].includes(F.status))throw Error(`Invalid dataset status: ${F.status}`);if(!F.visibility)F.visibility="private";else if(!["public","private"].includes(F.visibility))throw Error(`Invalid dataset visibility: ${F.visibility}`);return F}async function Vy(D=!1){let $=await p(`/datasets${D?"?mine=true":""}`,{},D?!0:"optional");return $.datasets=$.datasets.map(zy),$}async function n0(D){let F=await p(`/datasets/${D}`,{},"optional");return zy(F.dataset)}async function Zy(D){return p(`/datasets/${D}/versions`,{},!0)}async function n$(D){return p("/datasets",{method:"POST",body:JSON.stringify(D)},!0)}async function i$(D){return p(`/datasets/${D}/finalize`,{method:"POST"},!0)}async function Ay(D,F){return p(`/datasets/${D}/upload-urls`,{method:"POST",body:JSON.stringify({files:F})},!0)}async function Ly(D,F){return p(`/datasets/${D}/upload-credentials`,{method:"POST",body:JSON.stringify({duration_seconds:F})},!0)}async function My(D,F){return p(`/admin/datasets/${D}/doi/concept`,{method:"POST",body:JSON.stringify(F)},!0)}async function v5(D){return p(`/admin/datasets/${D}/doi`,{},!0)}async function s2(D,F){return p(`/admin/datasets/${D}/doi/update`,{method:"POST",body:JSON.stringify(F)},!0)}async function Uy(D){return p(`/datasets/${D}/request-access`,{method:"POST"},!0)}async function Ny(D,F){return p(`/datasets/${D}/invite`,{method:"POST",body:JSON.stringify({username:F})},!0)}async function Cy(D){return p(`/datasets/${D}/collaborators`,{},!0)}async function Ry(D){return p("/sandbox/complete",{method:"POST",body:JSON.stringify({dataset_id:D})},!0)}async function jy(){return p("/sandbox/reset",{method:"POST"},!0)}async function Ty(){return p("/sandbox/status",{},!0)}async function Oy(D){return p(`/datasets/${D}/publish/request`,{method:"POST"},!0)}async function wy(D){return p(`/datasets/${D}/publish/status`,{},!0)}async function Iy(D){return p(`/datasets/${D}/publish/resend`,{method:"POST"},!0)}async function Py(D){let F=D?`?status=${D}`:"";return p(`/admin/publish/requests${F}`,{},!0)}async function Sy(D,F){return p(`/admin/publish/${D}/deny`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({reason:F})},!0)}async function ky(D,F=!1,$=!1){let B,J;do if(J=await p(`/admin/publish/${D}/approve`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({resume:F,sandbox:$,s3_lock_offset:B})},!0),J.hasMore&&J.s3_lock_offset!==void 0)B=J.s3_lock_offset;else break;while(J.hasMore);return J}async function vy(D,F){return p(`/admin/datasets/${D}/enrichment`,{method:"POST",body:JSON.stringify(F)},!0)}async function yy(D){return p(`/admin/datasets/${D}/files`,{},!0)}async function xy(D){let F=0,$=0,B=[],J=0,Q=!0;while(Q){let X=await p(`/admin/datasets/${D}/s3-lock`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({offset:F})},!0);if($+=X.locked,B.push(...X.failed),J=X.total,Q=X.hasMore,Q)F+=40}return{locked:$,total:J,failed:B}}async function _y(D,F=!1){return p(`/admin/datasets/${D}`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({force:F})},!0)}async function ID(D,F,$=!1){if(F.no)return"declined";if(F.yes)return"confirmed";try{let{confirmed:B}=await ND.prompt([{type:"confirm",name:"confirmed",message:D,default:$}]);return B?"confirmed":"cancelled"}catch(B){let J=B instanceof Error?B.message:String(B);if(J.includes("closed")||J.includes("TTY")||J.includes("SIGINT")||J.includes("readline"))console.error("Interactive prompt unavailable (non-interactive terminal or interrupted)"),console.error(" Use --yes or --no flags for non-interactive mode");else console.error("Prompt error:",J);return"cancelled"}}async function fy(D,F,$){if($.no)return"declined";if($.yes)return"confirmed";try{let{input:B}=await ND.prompt([{type:"input",name:"input",message:D,validate:(J)=>{if(J!==F)return`Input does not match. Expected: ${F}`;return!0}}]);return B===F?"confirmed":"cancelled"}catch(B){let J=B instanceof Error?B.message:String(B);if(J.includes("closed")||J.includes("TTY")||J.includes("SIGINT")||J.includes("readline"))console.error("Interactive prompt unavailable (non-interactive terminal or interrupted)"),console.error(" Use --yes or --no flags for non-interactive mode");else console.error("Prompt error:",J);return"cancelled"}}var jD="-y, --yes",mD="-n, --no",TD="Skip confirmation and proceed",lD="Skip confirmation and decline";import{existsSync as by,statSync as YHD}from"fs";import{join as r2}from"path";var{spawn:GHD}=globalThis.Bun;async function l(D,F={}){let $=GHD({cmd:D,cwd:F.cwd,stdout:"pipe",stderr:"pipe",env:{...process.env,...F.env}}),B=await new Response($.stdout).text(),J=await new Response($.stderr).text(),Q=await $.exited;return{stdout:B,stderr:J,exitCode:Q}}function gy(D){return D.split(".").map((F)=>{let $=Number.parseInt(F.replace(/[^0-9]/g,""),10);return Number.isNaN($)?0:$})}function HHD(D,F){let $=gy(D),B=gy(F);for(let J=0;J<Math.max($.length,B.length);J++){let Q=$[J]||0,X=B[J]||0;if(Q>X)return!0;if(Q<X)return!1}return!0}async function uy(){try{let{stdout:F,exitCode:$,stderr:B}=await l(["git-annex","version"]);if($!==0)return console.warn("git-annex version returned non-zero exit code:",$),console.warn("stderr:",B),{installed:!1,minVersion:"10.0",error:`Version check failed: ${B.trim()}`};let J=F.match(/version:\s*(\d+\.\d+)/),Q=J?J[1]:void 0;if(!Q)console.warn("Could not parse git-annex version from output:",F);return{installed:!0,version:Q,minVersion:"10.0",compatible:Q?HHD(Q,"10.0"):void 0}}catch(F){let $=F instanceof Error?F.message:String(F);if($.includes("ENOENT")||$.includes("not found"))return console.info("git-annex not found in PATH"),{installed:!1,minVersion:"10.0"};return console.error("Error checking git-annex installation:",$),{installed:!1,minVersion:"10.0",error:$}}}async function WHD(){if(process.env.GH_TOKEN)return{accessible:!0,username:"token-auth",useHttps:!0};try{let{stdout:D,stderr:F}=await l(["ssh","-T","-o","BatchMode=yes","-o","StrictHostKeyChecking=accept-new","-o","ConnectTimeout=10","git@github.com"]),$=D+F,B=$.match(/Hi ([^!]+)!/);if(B)return{accessible:!0,username:B[1]};if($.includes("Permission denied"))return{accessible:!1};return{accessible:$.includes("successfully authenticated")}}catch(D){let F=D instanceof Error?D.message:String(D);if(F.includes("ENOENT")||F.includes("not found"))console.info("SSH command not found");else console.error("Error checking GitHub SSH access:",F);return{accessible:!1}}}function my(){let D=process.platform;if(D==="darwin")return"brew install git-annex";if(D==="linux")return"apt install git-annex (Debian/Ubuntu)";return"See https://git-annex.branchable.com/install/"}async function a$(){let[D,F]=await Promise.all([uy(),WHD()]),$=[];if(!D.installed)$.push(`git-annex is not installed. Install: ${my()}`);else if(D.compatible===!1)$.push(`git-annex version ${D.version} is too old. Required: >= ${D.minVersion}`);if(!F.accessible)$.push("GitHub SSH access not configured. Run 'nemar auth setup-ssh' to configure automatically.");return{gitAnnex:D,githubSSH:F,allPassed:$.length===0,errors:$}}async function j8(D){if(!by(r2(D,".git")))return!1;try{let{exitCode:F}=await l(["git","annex","info"],{cwd:D});return F===0}catch(F){let $=F instanceof Error?F.message:String(F);if(!$.includes("ENOENT")&&!$.includes("not found"))console.error(`Error checking if ${D} is a git-annex dataset:`,$);return!1}}async function o$(D,F={}){if(!F.force&&await j8(D))return{success:!0};try{let $={};if(F.author)$.GIT_AUTHOR_NAME=F.author.name,$.GIT_AUTHOR_EMAIL=F.author.email,$.GIT_COMMITTER_NAME=F.author.name,$.GIT_COMMITTER_EMAIL=F.author.email;let{stderr:B,exitCode:J}=await l(["git","init",D],{...Object.keys($).length>0?{env:$}:{}});if(J!==0)return{success:!1,error:B.trim()||"Failed to initialize git repository"};let{stderr:Q,exitCode:X}=await l(["git","annex","init"],{cwd:D,...Object.keys($).length>0?{env:$}:{}});if(X!==0)return{success:!1,error:Q.trim()||"Failed to initialize git-annex"};return{success:!0}}catch($){return{success:!1,error:$.message}}}async function ly(D){try{let{exitCode:F,stderr:$}=await l(["git","annex","info"],{cwd:D});if(F===0)return{success:!0};if($.includes("First run: git-annex init")){let{stderr:B,exitCode:J}=await l(["git","annex","init"],{cwd:D});if(J!==0)return{success:!1,error:B.trim()||"Failed to initialize git-annex"};return{success:!0}}return{success:!1,error:$.trim()||"Failed to check git-annex status"}}catch(F){return{success:!1,error:F.message}}}async function s$(D,F){let B=F||"include=*.edf or include=*.bdf or include=*.set or include=*.fif or include=*.vhdr or include=*.eeg or include=*.cnt or include=*.fdt or largerthan=100kb";try{let{stderr:J,exitCode:Q}=await l(["git","annex","config","--set","annex.largefiles",B],{cwd:D});if(Q!==0)return{success:!1,error:J.trim()||"Failed to configure largefiles"};return{success:!0}}catch(J){return{success:!1,error:J.message}}}async function qHD(){try{let{exitCode:D,stderr:F}=await l(["ssh","-T","-o","BatchMode=yes","-o","ConnectTimeout=5","git@github.com"]),$=F.includes("successfully authenticated");if(!$)console.warn("SSH test to github.com failed:",{exitCode:D,stderr:F.trim().slice(0,500)});return{works:$,error:$?void 0:F.trim().slice(0,500)}}catch(D){let F=D instanceof Error?D.message:String(D);return console.warn("SSH test exception:",F),{works:!1,error:F}}}async function EHD(){try{let{stdout:D,exitCode:F,stderr:$}=await l(["gh","auth","token"]);if(F!==0)return console.warn("gh CLI returned non-zero exit code:",F),console.warn("stderr:",$),{token:null,error:`gh auth token failed: ${$.trim()||"unknown error"}`};if(!D.trim())return console.warn("gh auth token returned empty output"),{token:null,error:"gh CLI returned empty token"};return{token:D.trim()}}catch(D){let F=D instanceof Error?D.message:String(D);if(console.error("Failed to get GitHub token from gh CLI:",F),F.includes("ENOENT")||F.includes("not found"))return{token:null,error:"gh CLI not installed (command not found)"};return{token:null,error:`gh CLI error: ${F}`}}}async function r$(D){try{let{stdout:F,exitCode:$,stderr:B}=await l(["gh","api","user","--jq",".login"]);if($!==0){if(B.includes("not logged in")||B.includes("auth login"))return{authenticated:!1,error:"gh CLI not authenticated. Run 'gh auth login' to authenticate."};return{authenticated:!1,error:`gh CLI error: ${B.trim()||"unknown error"}`}}let J=F.trim();if(!J)return{authenticated:!1,error:"gh CLI returned empty username"};if(D){let Q=J.toLowerCase()===D.toLowerCase();return{authenticated:!0,username:J,matches:Q,error:Q?void 0:`gh CLI authenticated as '${J}', expected '${D}'`}}return{authenticated:!0,username:J}}catch(F){let $=F instanceof Error?F.message:String(F);if($.includes("ENOENT")||$.includes("not found"))return{authenticated:!1,error:"gh CLI not installed. Install from https://cli.github.com/"};return{authenticated:!1,error:`Failed to verify gh CLI: ${$}`}}}async function t$(D){if(!/^[a-zA-Z0-9_.-]+\/[a-zA-Z0-9_.-]+$/.test(D))return{accepted:!1,error:`Invalid repository format: ${D}`};let{stdout:F,exitCode:$,stderr:B}=await l(["gh","api","/user/repository_invitations"]);if($!==0){if(B.includes("not logged in")||B.includes("auth login"))return{accepted:!1,error:"gh CLI not authenticated. Run 'gh auth login' to authenticate."};if(B.includes("API rate limit")||B.includes("403"))return{accepted:!1,error:"GitHub API rate limit exceeded. Please try again in a few minutes."};if(B.includes("ENOENT")||B.includes("not found"))return{accepted:!1,error:"gh CLI not installed. Install from https://cli.github.com/"};return{accepted:!1,error:`Failed to list invitations: ${B.trim()||"unknown error"}`}}let J=null;try{J=JSON.parse(F||"[]").find((H)=>H.repository.full_name===D)?.id??null}catch(Y){let G=Y instanceof Error?Y.message:String(Y);return console.error("Failed to parse GitHub invitations response:",G),console.error(" Raw response (first 500 chars):",(F||"").slice(0,500)),{accepted:!1,error:`Failed to parse GitHub API response: ${G}`}}if(!J){let{exitCode:Y}=await l(["gh","api",`/repos/${D}`,"--silent"]);if(Y===0)return{accepted:!0,alreadyCollaborator:!0};return{accepted:!1,error:`No pending invitation found for ${D}. You may need to accept it manually via GitHub.`}}let{exitCode:Q,stderr:X}=await l(["gh","api","--method","PATCH",`/user/repository_invitations/${J}`]);if(Q!==0)return{accepted:!1,error:`Failed to accept invitation: ${X.trim()||"unknown error"}`};return{accepted:!0}}async function e$(D,F,$="origin"){let B=F;if(process.env.GH_TOKEN&&F.startsWith("git@github.com:")){let J=process.env.GH_TOKEN.trim();if(!J||/\s/.test(J))return{success:!1,error:"GH_TOKEN environment variable is set but appears malformed (empty or contains whitespace)"};let Q=F.replace("git@github.com:","");B=`https://${J}@github.com/${Q}`}else if(F.startsWith("git@github.com:")){let J=F.replace("git@github.com:",""),Q=await qHD();if(Q.works)B=F;else{console.warn("GitHub SSH not available, falling back to HTTPS with gh CLI token...");let X=await EHD();if(X.token)B=`https://${X.token}@github.com/${J}`,console.warn("Note: using HTTPS with gh CLI token. If the token expires, re-run 'gh auth login'.");else return{success:!1,error:`GitHub authentication not configured.
|
|
119
|
+
`;return this.stop(),this.#Q.write(H),this}}function C(D){return new tj(D)}import{isDeepStrictEqual as d2D}from"util";import Iv from"process";import n6 from"fs";import Pv from"path";import C5 from"crypto";import p2D from"assert";var f6=(D)=>{let F=typeof D;return D!==null&&(F==="object"||F==="function")};var eX=new Set(["__proto__","prototype","constructor"]),o6D=new Set("0123456789");function _7(D){let F=[],$="",B="start",J=!1;for(let Q of D)switch(Q){case"\\":{if(B==="index")throw Error("Invalid character in an index");if(B==="indexEnd")throw Error("Invalid character after an index");if(J)$+=Q;B="property",J=!J;break}case".":{if(B==="index")throw Error("Invalid character in an index");if(B==="indexEnd"){B="property";break}if(J){J=!1,$+=Q;break}if(eX.has($))return[];F.push($),$="",B="property";break}case"[":{if(B==="index")throw Error("Invalid character in an index");if(B==="indexEnd"){B="index";break}if(J){J=!1,$+=Q;break}if(B==="property"){if(eX.has($))return[];F.push($),$=""}B="index";break}case"]":{if(B==="index"){F.push(Number.parseInt($,10)),$="",B="indexEnd";break}if(B==="indexEnd")throw Error("Invalid character after an index")}default:{if(B==="index"&&!o6D.has(Q))throw Error("Invalid character in an index");if(B==="indexEnd")throw Error("Invalid character after an index");if(B==="start")B="property";if(J)J=!1,$+="\\";$+=Q}}if(J)$+="\\";switch(B){case"property":{if(eX.has($))return[];F.push($);break}case"index":throw Error("Index was not closed");case"start":{F.push("");break}}return F}function DY(D,F){if(typeof F!=="number"&&Array.isArray(D)){let $=Number.parseInt(F,10);return Number.isInteger($)&&D[$]===D[F]}return!1}function ej(D,F){if(DY(D,F))throw Error("Cannot use string index")}function DT(D,F,$){if(!f6(D)||typeof F!=="string")return $===void 0?D:$;let B=_7(F);if(B.length===0)return $;for(let J=0;J<B.length;J++){let Q=B[J];if(DY(D,Q))D=J===B.length-1?void 0:null;else D=D[Q];if(D===void 0||D===null){if(J!==B.length-1)return $;break}}return D===void 0?$:D}function FY(D,F,$){if(!f6(D)||typeof F!=="string")return D;let B=D,J=_7(F);for(let Q=0;Q<J.length;Q++){let X=J[Q];if(ej(D,X),Q===J.length-1)D[X]=$;else if(!f6(D[X]))D[X]=typeof J[Q+1]==="number"?[]:{};D=D[X]}return B}function FT(D,F){if(!f6(D)||typeof F!=="string")return!1;let $=_7(F);for(let B=0;B<$.length;B++){let J=$[B];if(ej(D,J),B===$.length-1)return delete D[J],!0;if(D=D[J],!f6(D))return!1}}function $T(D,F){if(!f6(D)||typeof F!=="string")return!1;let $=_7(F);if($.length===0)return!1;for(let B of $){if(!f6(D)||!(B in D)||DY(D,B))return!1;D=D[B]}return!0}import bD from"path";import BT from"os";import $Y from"process";var $6=BT.homedir(),BY=BT.tmpdir(),{env:Q3}=$Y,s6D=(D)=>{let F=bD.join($6,"Library");return{data:bD.join(F,"Application Support",D),config:bD.join(F,"Preferences",D),cache:bD.join(F,"Caches",D),log:bD.join(F,"Logs",D),temp:bD.join(BY,D)}},r6D=(D)=>{let F=Q3.APPDATA||bD.join($6,"AppData","Roaming"),$=Q3.LOCALAPPDATA||bD.join($6,"AppData","Local");return{data:bD.join($,D,"Data"),config:bD.join(F,D,"Config"),cache:bD.join($,D,"Cache"),log:bD.join($,D,"Log"),temp:bD.join(BY,D)}},t6D=(D)=>{let F=bD.basename($6);return{data:bD.join(Q3.XDG_DATA_HOME||bD.join($6,".local","share"),D),config:bD.join(Q3.XDG_CONFIG_HOME||bD.join($6,".config"),D),cache:bD.join(Q3.XDG_CACHE_HOME||bD.join($6,".cache"),D),log:bD.join(Q3.XDG_STATE_HOME||bD.join($6,".local","state"),D),temp:bD.join(BY,F,D)}};function JY(D,{suffix:F="nodejs"}={}){if(typeof D!=="string")throw TypeError(`Expected a string, got ${typeof D}`);if(F)D+=`-${F}`;if($Y.platform==="darwin")return s6D(D);if($Y.platform==="win32")return r6D(D);return t6D(D)}import X4D from"path";import ZD from"fs";import{promisify as V0}from"util";var e6D=(D,F)=>{let{onError:$}=F;return function(...J){return D.apply(void 0,J).catch($)}},o1=e6D;var D4D=(D,F)=>{let{onError:$}=F;return function(...J){try{return D.apply(void 0,J)}catch(Q){return $(Q)}}},U1=D4D;var JT=250;var F4D=(D,F)=>{let{isRetriable:$}=F;return function(J){let{timeout:Q}=J,X=J.interval??JT,Y=Date.now()+Q;return function G(...H){return D.apply(void 0,H).catch((q)=>{if(!$(q))throw q;if(Date.now()>=Y)throw q;let E=Math.round(X*Math.random());if(E>0)return new Promise((Z)=>setTimeout(Z,E)).then(()=>G.apply(void 0,H));else return G.apply(void 0,H)})}}},s1=F4D;var $4D=(D,F)=>{let{isRetriable:$}=F;return function(J){let{timeout:Q}=J,X=Date.now()+Q;return function(...G){while(!0)try{return D.apply(void 0,G)}catch(H){if(!$(H))throw H;if(Date.now()>=X)throw H;continue}}}},r1=$4D;import XT from"process";var mF={isChangeErrorOk:(D)=>{if(!mF.isNodeError(D))return!1;let{code:F}=D;if(F==="ENOSYS")return!0;if(!QT&&(F==="EINVAL"||F==="EPERM"))return!0;return!1},isNodeError:(D)=>{return D instanceof Error},isRetriableError:(D)=>{if(!mF.isNodeError(D))return!1;let{code:F}=D;if(F==="EMFILE"||F==="ENFILE"||F==="EAGAIN"||F==="EBUSY"||F==="EACCESS"||F==="EACCES"||F==="EACCS"||F==="EPERM")return!0;return!1},onChangeError:(D)=>{if(!mF.isNodeError(D))throw D;if(mF.isChangeErrorOk(D))return;throw D}},QY=mF;var lF={onError:QY.onChangeError},x0={onError:()=>{return}},QT=XT.getuid?!XT.getuid():!1,G0={isRetriable:QY.isRetriableError};var B4D={attempt:{chmod:o1(V0(ZD.chmod),lF),chown:o1(V0(ZD.chown),lF),close:o1(V0(ZD.close),x0),fsync:o1(V0(ZD.fsync),x0),mkdir:o1(V0(ZD.mkdir),x0),realpath:o1(V0(ZD.realpath),x0),stat:o1(V0(ZD.stat),x0),unlink:o1(V0(ZD.unlink),x0),chmodSync:U1(ZD.chmodSync,lF),chownSync:U1(ZD.chownSync,lF),closeSync:U1(ZD.closeSync,x0),existsSync:U1(ZD.existsSync,x0),fsyncSync:U1(ZD.fsync,x0),mkdirSync:U1(ZD.mkdirSync,x0),realpathSync:U1(ZD.realpathSync,x0),statSync:U1(ZD.statSync,x0),unlinkSync:U1(ZD.unlinkSync,x0)},retry:{close:s1(V0(ZD.close),G0),fsync:s1(V0(ZD.fsync),G0),open:s1(V0(ZD.open),G0),readFile:s1(V0(ZD.readFile),G0),rename:s1(V0(ZD.rename),G0),stat:s1(V0(ZD.stat),G0),write:s1(V0(ZD.write),G0),writeFile:s1(V0(ZD.writeFile),G0),closeSync:r1(ZD.closeSync,G0),fsyncSync:r1(ZD.fsyncSync,G0),openSync:r1(ZD.openSync,G0),readFileSync:r1(ZD.readFileSync,G0),renameSync:r1(ZD.renameSync,G0),statSync:r1(ZD.statSync,G0),writeSync:r1(ZD.writeSync,G0),writeFileSync:r1(ZD.writeFileSync,G0)}},D0=B4D;import g6 from"process";var YT="utf8",XY=438,GT=511;var HT={},WT=g6.geteuid?g6.geteuid():-1,qT=g6.getegid?g6.getegid():-1;var ET=1000,KT=!!g6.getuid,PMD=g6.getuid?!g6.getuid():!1,YY=128;var zT=(D)=>{return D instanceof Error&&"code"in D};var GY=(D)=>{return typeof D==="string"},f7=(D)=>{return D===void 0};import Q4D from"path";import X3 from"process";import VT from"process";var ZT=VT.platform==="linux",g7=VT.platform==="win32";var HY=["SIGHUP","SIGINT","SIGTERM"];if(!g7)HY.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(ZT)HY.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var AT=HY;class LT{constructor(){this.callbacks=new Set,this.exited=!1,this.exit=(D)=>{if(this.exited)return;this.exited=!0;for(let F of this.callbacks)F();if(D)if(g7&&(D!=="SIGINT"&&D!=="SIGTERM"&&D!=="SIGKILL"))X3.kill(X3.pid,"SIGTERM");else X3.kill(X3.pid,D)},this.hook=()=>{X3.once("exit",()=>this.exit());for(let D of AT)try{X3.once(D,()=>this.exit(D))}catch{}},this.register=(D)=>{return this.callbacks.add(D),()=>{this.callbacks.delete(D)}},this.hook()}}var MT=new LT;var J4D=MT.register,UT=J4D;var c0={store:{},create:(D)=>{let F=`000000${Math.floor(Math.random()*16777215).toString(16)}`.slice(-6),$=Date.now().toString().slice(-10),B="tmp-",J=`.tmp-${$}${F}`;return`${D}${J}`},get:(D,F,$=!0)=>{let B=c0.truncate(F(D));if(B in c0.store)return c0.get(D,F,$);return c0.store[B]=$,[B,()=>delete c0.store[B]]},purge:(D)=>{if(!c0.store[D])return;delete c0.store[D],D0.attempt.unlink(D)},purgeSync:(D)=>{if(!c0.store[D])return;delete c0.store[D],D0.attempt.unlinkSync(D)},purgeSyncAll:()=>{for(let D in c0.store)c0.purgeSync(D)},truncate:(D)=>{let F=Q4D.basename(D);if(F.length<=YY)return D;let $=/^(\.?)(.*?)((?:\.[^.]+)?(?:\.tmp-\d{10}[a-f0-9]{6})?)$/.exec(F);if(!$)return D;let B=F.length-YY;return`${D.slice(0,-F.length)}${$[1]}${$[2].slice(0,-B)}${$[3]}`}};UT(c0.purgeSyncAll);var dF=c0;function WY(D,F,$=HT){if(GY($))return WY(D,F,{encoding:$});let J={timeout:$.timeout??ET},Q=null,X=null,Y=null;try{let G=D0.attempt.realpathSync(D),H=!!G;D=G||D,[X,Q]=dF.get(D,$.tmpCreate||dF.create,$.tmpPurge!==!1);let q=KT&&f7($.chown),E=f7($.mode);if(H&&(q||E)){let V=D0.attempt.statSync(D);if(V){if($={...$},q)$.chown={uid:V.uid,gid:V.gid};if(E)$.mode=V.mode}}if(!H){let V=X4D.dirname(D);D0.attempt.mkdirSync(V,{mode:GT,recursive:!0})}if(Y=D0.retry.openSync(J)(X,"w",$.mode||XY),$.tmpCreated)$.tmpCreated(X);if(GY(F))D0.retry.writeSync(J)(Y,F,0,$.encoding||YT);else if(!f7(F))D0.retry.writeSync(J)(Y,F,0,F.length,0);if($.fsync!==!1)if($.fsyncWait!==!1)D0.retry.fsyncSync(J)(Y);else D0.attempt.fsync(Y);if(D0.retry.closeSync(J)(Y),Y=null,$.chown&&($.chown.uid!==WT||$.chown.gid!==qT))D0.attempt.chownSync(X,$.chown.uid,$.chown.gid);if($.mode&&$.mode!==XY)D0.attempt.chmodSync(X,$.mode);try{D0.retry.renameSync(J)(X,D)}catch(V){if(!zT(V))throw V;if(V.code!=="ENAMETOOLONG")throw V;D0.retry.renameSync(J)(X,dF.truncate(D))}Q(),X=null}finally{if(Y)D0.attempt.closeSync(Y);if(X)dF.purge(X)}}var kv=i(ES(),1),vv=i(xS(),1);var dQD=(D,F={})=>{if(typeof D!=="function")throw TypeError(`Expected the first argument to be a function, got \`${typeof D}\``);let{wait:$=0,maxWait:B=Number.POSITIVE_INFINITY,before:J=!1,after:Q=!0}=F;if($<0||B<0)throw RangeError("`wait` and `maxWait` must not be negative.");if(!J&&!Q)throw Error("Both `before` and `after` are false, function wouldn't be called.");let X,Y,G,H=function(...q){let E=this,V=()=>{if(X=void 0,Y)clearTimeout(Y),Y=void 0;if(Q)G=D.apply(E,q)},Z=()=>{if(Y=void 0,X)clearTimeout(X),X=void 0;if(Q)G=D.apply(E,q)},A=J&&!X;if(clearTimeout(X),X=setTimeout(V,$),B>0&&B!==Number.POSITIVE_INFINITY&&!Y)Y=setTimeout(Z,B);if(A)G=D.apply(E,q);return G};return gF(H,D),H.cancel=()=>{if(X)clearTimeout(X),X=void 0;if(Y)clearTimeout(Y),Y=void 0},H},T2=dQD;var i6=i(jv(),1);var f2D=Object.prototype.toString;function Ov(D,F,$){if(!D)return!1;if(D.constructor===F)return!0;return f2D.call(D)===$}function wv(D){return Ov(D,Uint8Array,"[object Uint8Array]")}function g2D(D){return Ov(D,ArrayBuffer,"[object ArrayBuffer]")}function h2D(D){return wv(D)||g2D(D)}function b2D(D){if(!wv(D))throw TypeError(`Expected \`Uint8Array\`, got \`${typeof D}\``)}function u2D(D){if(!h2D(D))throw TypeError(`Expected \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof D}\``)}function m2(D,F){if(D.length===0)return new Uint8Array(0);F??=D.reduce((J,Q)=>J+Q.length,0);let $=new Uint8Array(F),B=0;for(let J of D)b2D(J),$.set(J,B),B+=J.length;return $}var Tv={utf8:new globalThis.TextDecoder("utf8")};function l2(D,F="utf8"){return u2D(D),Tv[F]??=new globalThis.TextDecoder(F),Tv[F].decode(D)}function m2D(D){if(typeof D!=="string")throw TypeError(`Expected \`string\`, got \`${typeof D}\``)}var l2D=new globalThis.TextEncoder;function _$(D){return m2D(D),l2D.encode(D)}var VRD=Array.from({length:256},(D,F)=>F.toString(16).padStart(2,"0"));var c2D=vv.default.default,Sv="aes-256-cbc",C3=()=>Object.create(null),n2D=(D)=>D!==void 0&&D!==null,i2D=(D,F)=>{let $=new Set(["undefined","symbol","function"]),B=typeof F;if($.has(B))throw TypeError(`Setting a value of type \`${B}\` for key \`${D}\` is not allowed as it's not supported by JSON`)},f$="__internal__",d2=`${f$}.migrations.version`;class g${path;events;#$;#F;#D;#J={};constructor(D={}){let F={configName:"config",fileExtension:"json",projectSuffix:"nodejs",clearInvalidConfig:!1,accessPropertiesByDotNotation:!0,configFileMode:438,...D};if(!F.cwd){if(!F.projectName)throw Error("Please specify the `projectName` option.");F.cwd=JY(F.projectName,{suffix:F.projectSuffix}).config}if(this.#D=F,F.schema??F.ajvOptions??F.rootSchema){if(F.schema&&typeof F.schema!=="object")throw TypeError("The `schema` option must be an object.");let Q=new kv.Ajv2020({allErrors:!0,useDefaults:!0,...F.ajvOptions});c2D(Q);let X={...F.rootSchema,type:"object",properties:F.schema};this.#$=Q.compile(X);for(let[Y,G]of Object.entries(F.schema??{}))if(G?.default)this.#J[Y]=G.default}if(F.defaults)this.#J={...this.#J,...F.defaults};if(F.serialize)this._serialize=F.serialize;if(F.deserialize)this._deserialize=F.deserialize;this.events=new EventTarget,this.#F=F.encryptionKey;let $=F.fileExtension?`.${F.fileExtension}`:"";this.path=Pv.resolve(F.cwd,`${F.configName??"config"}${$}`);let B=this.store,J=Object.assign(C3(),F.defaults,B);if(F.migrations){if(!F.projectVersion)throw Error("Please specify the `projectVersion` option.");this._migrate(F.migrations,F.projectVersion,F.beforeEachMigration)}this._validate(J);try{p2D.deepEqual(B,J)}catch{this.store=J}if(F.watch)this._watch()}get(D,F){if(this.#D.accessPropertiesByDotNotation)return this._get(D,F);let{store:$}=this;return D in $?$[D]:F}set(D,F){if(typeof D!=="string"&&typeof D!=="object")throw TypeError(`Expected \`key\` to be of type \`string\` or \`object\`, got ${typeof D}`);if(typeof D!=="object"&&F===void 0)throw TypeError("Use `delete()` to clear values");if(this._containsReservedKey(D))throw TypeError(`Please don't use the ${f$} key, as it's used to manage this module internal operations.`);let{store:$}=this,B=(J,Q)=>{if(i2D(J,Q),this.#D.accessPropertiesByDotNotation)FY($,J,Q);else $[J]=Q};if(typeof D==="object"){let J=D;for(let[Q,X]of Object.entries(J))B(Q,X)}else B(D,F);this.store=$}has(D){if(this.#D.accessPropertiesByDotNotation)return $T(this.store,D);return D in this.store}reset(...D){for(let F of D)if(n2D(this.#J[F]))this.set(F,this.#J[F])}delete(D){let{store:F}=this;if(this.#D.accessPropertiesByDotNotation)FT(F,D);else delete F[D];this.store=F}clear(){this.store=C3();for(let D of Object.keys(this.#J))this.reset(D)}onDidChange(D,F){if(typeof D!=="string")throw TypeError(`Expected \`key\` to be of type \`string\`, got ${typeof D}`);if(typeof F!=="function")throw TypeError(`Expected \`callback\` to be of type \`function\`, got ${typeof F}`);return this._handleChange(()=>this.get(D),F)}onDidAnyChange(D){if(typeof D!=="function")throw TypeError(`Expected \`callback\` to be of type \`function\`, got ${typeof D}`);return this._handleChange(()=>this.store,D)}get size(){return Object.keys(this.store).length}get store(){try{let D=n6.readFileSync(this.path,this.#F?null:"utf8"),F=this._encryptData(D),$=this._deserialize(F);return this._validate($),Object.assign(C3(),$)}catch(D){if(D?.code==="ENOENT")return this._ensureDirectory(),C3();if(this.#D.clearInvalidConfig&&D.name==="SyntaxError")return C3();throw D}}set store(D){this._ensureDirectory(),this._validate(D),this._write(D),this.events.dispatchEvent(new Event("change"))}*[Symbol.iterator](){for(let[D,F]of Object.entries(this.store))yield[D,F]}_encryptData(D){if(!this.#F)return typeof D==="string"?D:l2(D);try{let F=D.slice(0,16),$=C5.pbkdf2Sync(this.#F,F.toString(),1e4,32,"sha512"),B=C5.createDecipheriv(Sv,$,F),J=D.slice(17),Q=typeof J==="string"?_$(J):J;return l2(m2([B.update(Q),B.final()]))}catch{}return D.toString()}_handleChange(D,F){let $=D(),B=()=>{let J=$,Q=D();if(d2D(Q,J))return;$=Q,F.call(this,Q,J)};return this.events.addEventListener("change",B),()=>{this.events.removeEventListener("change",B)}}_deserialize=(D)=>JSON.parse(D);_serialize=(D)=>JSON.stringify(D,void 0,"\t");_validate(D){if(!this.#$)return;if(this.#$(D)||!this.#$.errors)return;let $=this.#$.errors.map(({instancePath:B,message:J=""})=>`\`${B.slice(1)}\` ${J}`);throw Error("Config schema violation: "+$.join("; "))}_ensureDirectory(){n6.mkdirSync(Pv.dirname(this.path),{recursive:!0})}_write(D){let F=this._serialize(D);if(this.#F){let $=C5.randomBytes(16),B=C5.pbkdf2Sync(this.#F,$.toString(),1e4,32,"sha512"),J=C5.createCipheriv(Sv,B,$);F=m2([$,_$(":"),J.update(_$(F)),J.final()])}if(Iv.env.SNAP)n6.writeFileSync(this.path,F,{mode:this.#D.configFileMode});else try{WY(this.path,F,{mode:this.#D.configFileMode})}catch($){if($?.code==="EXDEV"){n6.writeFileSync(this.path,F,{mode:this.#D.configFileMode});return}throw $}}_watch(){if(this._ensureDirectory(),!n6.existsSync(this.path))this._write(C3());if(Iv.platform==="win32")n6.watch(this.path,{persistent:!1},T2(()=>{this.events.dispatchEvent(new Event("change"))},{wait:100}));else n6.watchFile(this.path,{persistent:!1},T2(()=>{this.events.dispatchEvent(new Event("change"))},{wait:5000}))}_migrate(D,F,$){let B=this._get(d2,"0.0.0"),J=Object.keys(D).filter((X)=>this._shouldPerformMigration(X,B,F)),Q={...this.store};for(let X of J)try{if($)$(this,{fromVersion:B,toVersion:X,finalVersion:F,versions:J});let Y=D[X];Y?.(this),this._set(d2,X),B=X,Q={...this.store}}catch(Y){throw this.store=Q,Error(`Something went wrong during the migration! Changes applied to the store until this failed migration will be restored. ${Y}`)}if(this._isVersionInRangeFormat(B)||!i6.default.eq(B,F))this._set(d2,F)}_containsReservedKey(D){if(typeof D==="object"){if(Object.keys(D)[0]===f$)return!0}if(typeof D!=="string")return!1;if(this.#D.accessPropertiesByDotNotation){if(D.startsWith(`${f$}.`))return!0;return!1}return!1}_isVersionInRangeFormat(D){return i6.default.clean(D)===null}_shouldPerformMigration(D,F,$){if(this._isVersionInRangeFormat(D)){if(F!=="0.0.0"&&i6.default.satisfies(F,D))return!1;return i6.default.satisfies($,D)}if(i6.default.lte(D,F))return!1;if(i6.default.gt(D,$))return!1;return!0}_get(D,F){return DT(this.store,D,F)}_set(D,F){let{store:$}=this;FY($,D,F),this.store=$}}var y1={};MG(y1,{void:()=>kGD,util:()=>XD,unknown:()=>PGD,union:()=>_GD,undefined:()=>OGD,tuple:()=>hGD,transformer:()=>aGD,symbol:()=>TGD,string:()=>mv,strictObject:()=>xGD,setErrorMap:()=>s2D,set:()=>mGD,record:()=>bGD,quotelessJson:()=>a2D,promise:()=>iGD,preprocess:()=>rGD,pipeline:()=>tGD,ostring:()=>eGD,optional:()=>oGD,onumber:()=>DHD,oboolean:()=>FHD,objectUtil:()=>p2,object:()=>yGD,number:()=>lv,nullable:()=>sGD,null:()=>wGD,never:()=>SGD,nativeEnum:()=>nGD,nan:()=>CGD,map:()=>uGD,makeIssue:()=>R5,literal:()=>pGD,lazy:()=>dGD,late:()=>UGD,isValid:()=>q6,isDirty:()=>b$,isAsync:()=>j3,isAborted:()=>h$,intersection:()=>gGD,instanceof:()=>NGD,getParsedType:()=>$8,getErrorMap:()=>R3,function:()=>lGD,enum:()=>cGD,effect:()=>aGD,discriminatedUnion:()=>fGD,defaultErrorMap:()=>U8,datetimeRegex:()=>hv,date:()=>jGD,custom:()=>uv,coerce:()=>$HD,boolean:()=>dv,bigint:()=>RGD,array:()=>vGD,any:()=>IGD,addIssueToContext:()=>P,ZodVoid:()=>T5,ZodUnknown:()=>E6,ZodUnion:()=>S3,ZodUndefined:()=>I3,ZodType:()=>BD,ZodTuple:()=>J8,ZodTransformer:()=>v1,ZodSymbol:()=>j5,ZodString:()=>I1,ZodSet:()=>r6,ZodSchema:()=>BD,ZodRecord:()=>O5,ZodReadonly:()=>g3,ZodPromise:()=>t6,ZodPipeline:()=>P5,ZodParsedType:()=>w,ZodOptional:()=>S1,ZodObject:()=>uD,ZodNumber:()=>K6,ZodNullable:()=>C8,ZodNull:()=>P3,ZodNever:()=>B8,ZodNativeEnum:()=>x3,ZodNaN:()=>I5,ZodMap:()=>w5,ZodLiteral:()=>y3,ZodLazy:()=>v3,ZodIssueCode:()=>j,ZodIntersection:()=>k3,ZodFunction:()=>O3,ZodFirstPartyTypeKind:()=>m,ZodError:()=>u0,ZodEnum:()=>V6,ZodEffects:()=>v1,ZodDiscriminatedUnion:()=>u$,ZodDefault:()=>_3,ZodDate:()=>o6,ZodCatch:()=>f3,ZodBranded:()=>m$,ZodBoolean:()=>w3,ZodBigInt:()=>z6,ZodArray:()=>P1,ZodAny:()=>s6,Schema:()=>BD,ParseStatus:()=>W0,OK:()=>M0,NEVER:()=>BHD,INVALID:()=>b,EMPTY_PATH:()=>r2D,DIRTY:()=>a6,BRAND:()=>MGD});var XD;(function(D){D.assertEqual=(J)=>{};function F(J){}D.assertIs=F;function $(J){throw Error()}D.assertNever=$,D.arrayToEnum=(J)=>{let Q={};for(let X of J)Q[X]=X;return Q},D.getValidEnumValues=(J)=>{let Q=D.objectKeys(J).filter((Y)=>typeof J[J[Y]]!=="number"),X={};for(let Y of Q)X[Y]=J[Y];return D.objectValues(X)},D.objectValues=(J)=>{return D.objectKeys(J).map(function(Q){return J[Q]})},D.objectKeys=typeof Object.keys==="function"?(J)=>Object.keys(J):(J)=>{let Q=[];for(let X in J)if(Object.prototype.hasOwnProperty.call(J,X))Q.push(X);return Q},D.find=(J,Q)=>{for(let X of J)if(Q(X))return X;return},D.isInteger=typeof Number.isInteger==="function"?(J)=>Number.isInteger(J):(J)=>typeof J==="number"&&Number.isFinite(J)&&Math.floor(J)===J;function B(J,Q=" | "){return J.map((X)=>typeof X==="string"?`'${X}'`:X).join(Q)}D.joinValues=B,D.jsonStringifyReplacer=(J,Q)=>{if(typeof Q==="bigint")return Q.toString();return Q}})(XD||(XD={}));var p2;(function(D){D.mergeShapes=(F,$)=>{return{...F,...$}}})(p2||(p2={}));var w=XD.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),$8=(D)=>{switch(typeof D){case"undefined":return w.undefined;case"string":return w.string;case"number":return Number.isNaN(D)?w.nan:w.number;case"boolean":return w.boolean;case"function":return w.function;case"bigint":return w.bigint;case"symbol":return w.symbol;case"object":if(Array.isArray(D))return w.array;if(D===null)return w.null;if(D.then&&typeof D.then==="function"&&D.catch&&typeof D.catch==="function")return w.promise;if(typeof Map<"u"&&D instanceof Map)return w.map;if(typeof Set<"u"&&D instanceof Set)return w.set;if(typeof Date<"u"&&D instanceof Date)return w.date;return w.object;default:return w.unknown}};var j=XD.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"]),a2D=(D)=>{return JSON.stringify(D,null,2).replace(/"([^"]+)":/g,"$1:")};class u0 extends Error{get errors(){return this.issues}constructor(D){super();this.issues=[],this.addIssue=($)=>{this.issues=[...this.issues,$]},this.addIssues=($=[])=>{this.issues=[...this.issues,...$]};let F=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,F);else this.__proto__=F;this.name="ZodError",this.issues=D}format(D){let F=D||function(J){return J.message},$={_errors:[]},B=(J)=>{for(let Q of J.issues)if(Q.code==="invalid_union")Q.unionErrors.map(B);else if(Q.code==="invalid_return_type")B(Q.returnTypeError);else if(Q.code==="invalid_arguments")B(Q.argumentsError);else if(Q.path.length===0)$._errors.push(F(Q));else{let X=$,Y=0;while(Y<Q.path.length){let G=Q.path[Y];if(Y!==Q.path.length-1)X[G]=X[G]||{_errors:[]};else X[G]=X[G]||{_errors:[]},X[G]._errors.push(F(Q));X=X[G],Y++}}};return B(this),$}static assert(D){if(!(D instanceof u0))throw Error(`Not a ZodError: ${D}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,XD.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(D=(F)=>F.message){let F={},$=[];for(let B of this.issues)if(B.path.length>0){let J=B.path[0];F[J]=F[J]||[],F[J].push(D(B))}else $.push(D(B));return{formErrors:$,fieldErrors:F}}get formErrors(){return this.flatten()}}u0.create=(D)=>{return new u0(D)};var o2D=(D,F)=>{let $;switch(D.code){case j.invalid_type:if(D.received===w.undefined)$="Required";else $=`Expected ${D.expected}, received ${D.received}`;break;case j.invalid_literal:$=`Invalid literal value, expected ${JSON.stringify(D.expected,XD.jsonStringifyReplacer)}`;break;case j.unrecognized_keys:$=`Unrecognized key(s) in object: ${XD.joinValues(D.keys,", ")}`;break;case j.invalid_union:$="Invalid input";break;case j.invalid_union_discriminator:$=`Invalid discriminator value. Expected ${XD.joinValues(D.options)}`;break;case j.invalid_enum_value:$=`Invalid enum value. Expected ${XD.joinValues(D.options)}, received '${D.received}'`;break;case j.invalid_arguments:$="Invalid function arguments";break;case j.invalid_return_type:$="Invalid function return type";break;case j.invalid_date:$="Invalid date";break;case j.invalid_string:if(typeof D.validation==="object")if("includes"in D.validation){if($=`Invalid input: must include "${D.validation.includes}"`,typeof D.validation.position==="number")$=`${$} at one or more positions greater than or equal to ${D.validation.position}`}else if("startsWith"in D.validation)$=`Invalid input: must start with "${D.validation.startsWith}"`;else if("endsWith"in D.validation)$=`Invalid input: must end with "${D.validation.endsWith}"`;else XD.assertNever(D.validation);else if(D.validation!=="regex")$=`Invalid ${D.validation}`;else $="Invalid";break;case j.too_small:if(D.type==="array")$=`Array must contain ${D.exact?"exactly":D.inclusive?"at least":"more than"} ${D.minimum} element(s)`;else if(D.type==="string")$=`String must contain ${D.exact?"exactly":D.inclusive?"at least":"over"} ${D.minimum} character(s)`;else if(D.type==="number")$=`Number must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${D.minimum}`;else if(D.type==="bigint")$=`Number must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${D.minimum}`;else if(D.type==="date")$=`Date must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(D.minimum))}`;else $="Invalid input";break;case j.too_big:if(D.type==="array")$=`Array must contain ${D.exact?"exactly":D.inclusive?"at most":"less than"} ${D.maximum} element(s)`;else if(D.type==="string")$=`String must contain ${D.exact?"exactly":D.inclusive?"at most":"under"} ${D.maximum} character(s)`;else if(D.type==="number")$=`Number must be ${D.exact?"exactly":D.inclusive?"less than or equal to":"less than"} ${D.maximum}`;else if(D.type==="bigint")$=`BigInt must be ${D.exact?"exactly":D.inclusive?"less than or equal to":"less than"} ${D.maximum}`;else if(D.type==="date")$=`Date must be ${D.exact?"exactly":D.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(D.maximum))}`;else $="Invalid input";break;case j.custom:$="Invalid input";break;case j.invalid_intersection_types:$="Intersection results could not be merged";break;case j.not_multiple_of:$=`Number must be a multiple of ${D.multipleOf}`;break;case j.not_finite:$="Number must be finite";break;default:$=F.defaultError,XD.assertNever(D)}return{message:$}},U8=o2D;var yv=U8;function s2D(D){yv=D}function R3(){return yv}var R5=(D)=>{let{data:F,path:$,errorMaps:B,issueData:J}=D,Q=[...$,...J.path||[]],X={...J,path:Q};if(J.message!==void 0)return{...J,path:Q,message:J.message};let Y="",G=B.filter((H)=>!!H).slice().reverse();for(let H of G)Y=H(X,{data:F,defaultError:Y}).message;return{...J,path:Q,message:Y}},r2D=[];function P(D,F){let $=R3(),B=R5({issueData:F,data:D.data,path:D.path,errorMaps:[D.common.contextualErrorMap,D.schemaErrorMap,$,$===U8?void 0:U8].filter((J)=>!!J)});D.common.issues.push(B)}class W0{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(D,F){let $=[];for(let B of F){if(B.status==="aborted")return b;if(B.status==="dirty")D.dirty();$.push(B.value)}return{status:D.value,value:$}}static async mergeObjectAsync(D,F){let $=[];for(let B of F){let J=await B.key,Q=await B.value;$.push({key:J,value:Q})}return W0.mergeObjectSync(D,$)}static mergeObjectSync(D,F){let $={};for(let B of F){let{key:J,value:Q}=B;if(J.status==="aborted")return b;if(Q.status==="aborted")return b;if(J.status==="dirty")D.dirty();if(Q.status==="dirty")D.dirty();if(J.value!=="__proto__"&&(typeof Q.value<"u"||B.alwaysSet))$[J.value]=Q.value}return{status:D.value,value:$}}}var b=Object.freeze({status:"aborted"}),a6=(D)=>({status:"dirty",value:D}),M0=(D)=>({status:"valid",value:D}),h$=(D)=>D.status==="aborted",b$=(D)=>D.status==="dirty",q6=(D)=>D.status==="valid",j3=(D)=>typeof Promise<"u"&&D instanceof Promise;var f;(function(D){D.errToObj=(F)=>typeof F==="string"?{message:F}:F||{},D.toString=(F)=>typeof F==="string"?F:F?.message})(f||(f={}));class k1{constructor(D,F,$,B){this._cachedPath=[],this.parent=D,this.data=F,this._path=$,this._key=B}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var xv=(D,F)=>{if(q6(F))return{success:!0,data:F.value};else{if(!D.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let $=new u0(D.common.issues);return this._error=$,this._error}}}};function DD(D){if(!D)return{};let{errorMap:F,invalid_type_error:$,required_error:B,description:J}=D;if(F&&($||B))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(F)return{errorMap:F,description:J};return{errorMap:(X,Y)=>{let{message:G}=D;if(X.code==="invalid_enum_value")return{message:G??Y.defaultError};if(typeof Y.data>"u")return{message:G??B??Y.defaultError};if(X.code!=="invalid_type")return{message:Y.defaultError};return{message:G??$??Y.defaultError}},description:J}}class BD{get description(){return this._def.description}_getType(D){return $8(D.data)}_getOrReturnCtx(D,F){return F||{common:D.parent.common,data:D.data,parsedType:$8(D.data),schemaErrorMap:this._def.errorMap,path:D.path,parent:D.parent}}_processInputParams(D){return{status:new W0,ctx:{common:D.parent.common,data:D.data,parsedType:$8(D.data),schemaErrorMap:this._def.errorMap,path:D.path,parent:D.parent}}}_parseSync(D){let F=this._parse(D);if(j3(F))throw Error("Synchronous parse encountered promise.");return F}_parseAsync(D){let F=this._parse(D);return Promise.resolve(F)}parse(D,F){let $=this.safeParse(D,F);if($.success)return $.data;throw $.error}safeParse(D,F){let $={common:{issues:[],async:F?.async??!1,contextualErrorMap:F?.errorMap},path:F?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:$8(D)},B=this._parseSync({data:D,path:$.path,parent:$});return xv($,B)}"~validate"(D){let F={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:$8(D)};if(!this["~standard"].async)try{let $=this._parseSync({data:D,path:[],parent:F});return q6($)?{value:$.value}:{issues:F.common.issues}}catch($){if($?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;F.common={issues:[],async:!0}}return this._parseAsync({data:D,path:[],parent:F}).then(($)=>q6($)?{value:$.value}:{issues:F.common.issues})}async parseAsync(D,F){let $=await this.safeParseAsync(D,F);if($.success)return $.data;throw $.error}async safeParseAsync(D,F){let $={common:{issues:[],contextualErrorMap:F?.errorMap,async:!0},path:F?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:$8(D)},B=this._parse({data:D,path:$.path,parent:$}),J=await(j3(B)?B:Promise.resolve(B));return xv($,J)}refine(D,F){let $=(B)=>{if(typeof F==="string"||typeof F>"u")return{message:F};else if(typeof F==="function")return F(B);else return F};return this._refinement((B,J)=>{let Q=D(B),X=()=>J.addIssue({code:j.custom,...$(B)});if(typeof Promise<"u"&&Q instanceof Promise)return Q.then((Y)=>{if(!Y)return X(),!1;else return!0});if(!Q)return X(),!1;else return!0})}refinement(D,F){return this._refinement(($,B)=>{if(!D($))return B.addIssue(typeof F==="function"?F($,B):F),!1;else return!0})}_refinement(D){return new v1({schema:this,typeName:m.ZodEffects,effect:{type:"refinement",refinement:D}})}superRefine(D){return this._refinement(D)}constructor(D){this.spa=this.safeParseAsync,this._def=D,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:(F)=>this["~validate"](F)}}optional(){return S1.create(this,this._def)}nullable(){return C8.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return P1.create(this)}promise(){return t6.create(this,this._def)}or(D){return S3.create([this,D],this._def)}and(D){return k3.create(this,D,this._def)}transform(D){return new v1({...DD(this._def),schema:this,typeName:m.ZodEffects,effect:{type:"transform",transform:D}})}default(D){let F=typeof D==="function"?D:()=>D;return new _3({...DD(this._def),innerType:this,defaultValue:F,typeName:m.ZodDefault})}brand(){return new m$({typeName:m.ZodBranded,type:this,...DD(this._def)})}catch(D){let F=typeof D==="function"?D:()=>D;return new f3({...DD(this._def),innerType:this,catchValue:F,typeName:m.ZodCatch})}describe(D){return new this.constructor({...this._def,description:D})}pipe(D){return P5.create(this,D)}readonly(){return g3.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var t2D=/^c[^\s-]{8,}$/i,e2D=/^[0-9a-z]+$/,DGD=/^[0-9A-HJKMNP-TV-Z]{26}$/i,FGD=/^[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,$GD=/^[a-z0-9_-]{21}$/i,BGD=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,JGD=/^[-+]?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)?)??$/,QGD=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,XGD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",c2,YGD=/^(?:(?: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])$/,GGD=/^(?:(?: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])$/,HGD=/^(([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]))$/,WGD=/^(([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])$/,qGD=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,EGD=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,fv="((\\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])))",KGD=new RegExp(`^${fv}$`);function gv(D){let F="[0-5]\\d";if(D.precision)F=`${F}\\.\\d{${D.precision}}`;else if(D.precision==null)F=`${F}(\\.\\d+)?`;let $=D.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${F})${$}`}function zGD(D){return new RegExp(`^${gv(D)}$`)}function hv(D){let F=`${fv}T${gv(D)}`,$=[];if($.push(D.local?"Z?":"Z"),D.offset)$.push("([+-]\\d{2}:?\\d{2})");return F=`${F}(${$.join("|")})`,new RegExp(`^${F}$`)}function VGD(D,F){if((F==="v4"||!F)&&YGD.test(D))return!0;if((F==="v6"||!F)&&HGD.test(D))return!0;return!1}function ZGD(D,F){if(!BGD.test(D))return!1;try{let[$]=D.split(".");if(!$)return!1;let B=$.replace(/-/g,"+").replace(/_/g,"/").padEnd($.length+(4-$.length%4)%4,"="),J=JSON.parse(atob(B));if(typeof J!=="object"||J===null)return!1;if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if(F&&J.alg!==F)return!1;return!0}catch{return!1}}function AGD(D,F){if((F==="v4"||!F)&&GGD.test(D))return!0;if((F==="v6"||!F)&&WGD.test(D))return!0;return!1}class I1 extends BD{_parse(D){if(this._def.coerce)D.data=String(D.data);if(this._getType(D)!==w.string){let J=this._getOrReturnCtx(D);return P(J,{code:j.invalid_type,expected:w.string,received:J.parsedType}),b}let $=new W0,B=void 0;for(let J of this._def.checks)if(J.kind==="min"){if(D.data.length<J.value)B=this._getOrReturnCtx(D,B),P(B,{code:j.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),$.dirty()}else if(J.kind==="max"){if(D.data.length>J.value)B=this._getOrReturnCtx(D,B),P(B,{code:j.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),$.dirty()}else if(J.kind==="length"){let Q=D.data.length>J.value,X=D.data.length<J.value;if(Q||X){if(B=this._getOrReturnCtx(D,B),Q)P(B,{code:j.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});else if(X)P(B,{code:j.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});$.dirty()}}else if(J.kind==="email"){if(!QGD.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"email",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="emoji"){if(!c2)c2=new RegExp(XGD,"u");if(!c2.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"emoji",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="uuid"){if(!FGD.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"uuid",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="nanoid"){if(!$GD.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"nanoid",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="cuid"){if(!t2D.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"cuid",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="cuid2"){if(!e2D.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"cuid2",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="ulid"){if(!DGD.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"ulid",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="url")try{new URL(D.data)}catch{B=this._getOrReturnCtx(D,B),P(B,{validation:"url",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="regex"){if(J.regex.lastIndex=0,!J.regex.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"regex",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="trim")D.data=D.data.trim();else if(J.kind==="includes"){if(!D.data.includes(J.value,J.position))B=this._getOrReturnCtx(D,B),P(B,{code:j.invalid_string,validation:{includes:J.value,position:J.position},message:J.message}),$.dirty()}else if(J.kind==="toLowerCase")D.data=D.data.toLowerCase();else if(J.kind==="toUpperCase")D.data=D.data.toUpperCase();else if(J.kind==="startsWith"){if(!D.data.startsWith(J.value))B=this._getOrReturnCtx(D,B),P(B,{code:j.invalid_string,validation:{startsWith:J.value},message:J.message}),$.dirty()}else if(J.kind==="endsWith"){if(!D.data.endsWith(J.value))B=this._getOrReturnCtx(D,B),P(B,{code:j.invalid_string,validation:{endsWith:J.value},message:J.message}),$.dirty()}else if(J.kind==="datetime"){if(!hv(J).test(D.data))B=this._getOrReturnCtx(D,B),P(B,{code:j.invalid_string,validation:"datetime",message:J.message}),$.dirty()}else if(J.kind==="date"){if(!KGD.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{code:j.invalid_string,validation:"date",message:J.message}),$.dirty()}else if(J.kind==="time"){if(!zGD(J).test(D.data))B=this._getOrReturnCtx(D,B),P(B,{code:j.invalid_string,validation:"time",message:J.message}),$.dirty()}else if(J.kind==="duration"){if(!JGD.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"duration",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="ip"){if(!VGD(D.data,J.version))B=this._getOrReturnCtx(D,B),P(B,{validation:"ip",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="jwt"){if(!ZGD(D.data,J.alg))B=this._getOrReturnCtx(D,B),P(B,{validation:"jwt",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="cidr"){if(!AGD(D.data,J.version))B=this._getOrReturnCtx(D,B),P(B,{validation:"cidr",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="base64"){if(!qGD.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"base64",code:j.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="base64url"){if(!EGD.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"base64url",code:j.invalid_string,message:J.message}),$.dirty()}else XD.assertNever(J);return{status:$.value,value:D.data}}_regex(D,F,$){return this.refinement((B)=>D.test(B),{validation:F,code:j.invalid_string,...f.errToObj($)})}_addCheck(D){return new I1({...this._def,checks:[...this._def.checks,D]})}email(D){return this._addCheck({kind:"email",...f.errToObj(D)})}url(D){return this._addCheck({kind:"url",...f.errToObj(D)})}emoji(D){return this._addCheck({kind:"emoji",...f.errToObj(D)})}uuid(D){return this._addCheck({kind:"uuid",...f.errToObj(D)})}nanoid(D){return this._addCheck({kind:"nanoid",...f.errToObj(D)})}cuid(D){return this._addCheck({kind:"cuid",...f.errToObj(D)})}cuid2(D){return this._addCheck({kind:"cuid2",...f.errToObj(D)})}ulid(D){return this._addCheck({kind:"ulid",...f.errToObj(D)})}base64(D){return this._addCheck({kind:"base64",...f.errToObj(D)})}base64url(D){return this._addCheck({kind:"base64url",...f.errToObj(D)})}jwt(D){return this._addCheck({kind:"jwt",...f.errToObj(D)})}ip(D){return this._addCheck({kind:"ip",...f.errToObj(D)})}cidr(D){return this._addCheck({kind:"cidr",...f.errToObj(D)})}datetime(D){if(typeof D==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:D});return this._addCheck({kind:"datetime",precision:typeof D?.precision>"u"?null:D?.precision,offset:D?.offset??!1,local:D?.local??!1,...f.errToObj(D?.message)})}date(D){return this._addCheck({kind:"date",message:D})}time(D){if(typeof D==="string")return this._addCheck({kind:"time",precision:null,message:D});return this._addCheck({kind:"time",precision:typeof D?.precision>"u"?null:D?.precision,...f.errToObj(D?.message)})}duration(D){return this._addCheck({kind:"duration",...f.errToObj(D)})}regex(D,F){return this._addCheck({kind:"regex",regex:D,...f.errToObj(F)})}includes(D,F){return this._addCheck({kind:"includes",value:D,position:F?.position,...f.errToObj(F?.message)})}startsWith(D,F){return this._addCheck({kind:"startsWith",value:D,...f.errToObj(F)})}endsWith(D,F){return this._addCheck({kind:"endsWith",value:D,...f.errToObj(F)})}min(D,F){return this._addCheck({kind:"min",value:D,...f.errToObj(F)})}max(D,F){return this._addCheck({kind:"max",value:D,...f.errToObj(F)})}length(D,F){return this._addCheck({kind:"length",value:D,...f.errToObj(F)})}nonempty(D){return this.min(1,f.errToObj(D))}trim(){return new I1({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new I1({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new I1({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((D)=>D.kind==="datetime")}get isDate(){return!!this._def.checks.find((D)=>D.kind==="date")}get isTime(){return!!this._def.checks.find((D)=>D.kind==="time")}get isDuration(){return!!this._def.checks.find((D)=>D.kind==="duration")}get isEmail(){return!!this._def.checks.find((D)=>D.kind==="email")}get isURL(){return!!this._def.checks.find((D)=>D.kind==="url")}get isEmoji(){return!!this._def.checks.find((D)=>D.kind==="emoji")}get isUUID(){return!!this._def.checks.find((D)=>D.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((D)=>D.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((D)=>D.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((D)=>D.kind==="cuid2")}get isULID(){return!!this._def.checks.find((D)=>D.kind==="ulid")}get isIP(){return!!this._def.checks.find((D)=>D.kind==="ip")}get isCIDR(){return!!this._def.checks.find((D)=>D.kind==="cidr")}get isBase64(){return!!this._def.checks.find((D)=>D.kind==="base64")}get isBase64url(){return!!this._def.checks.find((D)=>D.kind==="base64url")}get minLength(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D}get maxLength(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D}}I1.create=(D)=>{return new I1({checks:[],typeName:m.ZodString,coerce:D?.coerce??!1,...DD(D)})};function LGD(D,F){let $=(D.toString().split(".")[1]||"").length,B=(F.toString().split(".")[1]||"").length,J=$>B?$:B,Q=Number.parseInt(D.toFixed(J).replace(".","")),X=Number.parseInt(F.toFixed(J).replace(".",""));return Q%X/10**J}class K6 extends BD{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(D){if(this._def.coerce)D.data=Number(D.data);if(this._getType(D)!==w.number){let J=this._getOrReturnCtx(D);return P(J,{code:j.invalid_type,expected:w.number,received:J.parsedType}),b}let $=void 0,B=new W0;for(let J of this._def.checks)if(J.kind==="int"){if(!XD.isInteger(D.data))$=this._getOrReturnCtx(D,$),P($,{code:j.invalid_type,expected:"integer",received:"float",message:J.message}),B.dirty()}else if(J.kind==="min"){if(J.inclusive?D.data<J.value:D.data<=J.value)$=this._getOrReturnCtx(D,$),P($,{code:j.too_small,minimum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),B.dirty()}else if(J.kind==="max"){if(J.inclusive?D.data>J.value:D.data>=J.value)$=this._getOrReturnCtx(D,$),P($,{code:j.too_big,maximum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),B.dirty()}else if(J.kind==="multipleOf"){if(LGD(D.data,J.value)!==0)$=this._getOrReturnCtx(D,$),P($,{code:j.not_multiple_of,multipleOf:J.value,message:J.message}),B.dirty()}else if(J.kind==="finite"){if(!Number.isFinite(D.data))$=this._getOrReturnCtx(D,$),P($,{code:j.not_finite,message:J.message}),B.dirty()}else XD.assertNever(J);return{status:B.value,value:D.data}}gte(D,F){return this.setLimit("min",D,!0,f.toString(F))}gt(D,F){return this.setLimit("min",D,!1,f.toString(F))}lte(D,F){return this.setLimit("max",D,!0,f.toString(F))}lt(D,F){return this.setLimit("max",D,!1,f.toString(F))}setLimit(D,F,$,B){return new K6({...this._def,checks:[...this._def.checks,{kind:D,value:F,inclusive:$,message:f.toString(B)}]})}_addCheck(D){return new K6({...this._def,checks:[...this._def.checks,D]})}int(D){return this._addCheck({kind:"int",message:f.toString(D)})}positive(D){return this._addCheck({kind:"min",value:0,inclusive:!1,message:f.toString(D)})}negative(D){return this._addCheck({kind:"max",value:0,inclusive:!1,message:f.toString(D)})}nonpositive(D){return this._addCheck({kind:"max",value:0,inclusive:!0,message:f.toString(D)})}nonnegative(D){return this._addCheck({kind:"min",value:0,inclusive:!0,message:f.toString(D)})}multipleOf(D,F){return this._addCheck({kind:"multipleOf",value:D,message:f.toString(F)})}finite(D){return this._addCheck({kind:"finite",message:f.toString(D)})}safe(D){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:f.toString(D)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:f.toString(D)})}get minValue(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D}get maxValue(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D}get isInt(){return!!this._def.checks.find((D)=>D.kind==="int"||D.kind==="multipleOf"&&XD.isInteger(D.value))}get isFinite(){let D=null,F=null;for(let $ of this._def.checks)if($.kind==="finite"||$.kind==="int"||$.kind==="multipleOf")return!0;else if($.kind==="min"){if(F===null||$.value>F)F=$.value}else if($.kind==="max"){if(D===null||$.value<D)D=$.value}return Number.isFinite(F)&&Number.isFinite(D)}}K6.create=(D)=>{return new K6({checks:[],typeName:m.ZodNumber,coerce:D?.coerce||!1,...DD(D)})};class z6 extends BD{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(D){if(this._def.coerce)try{D.data=BigInt(D.data)}catch{return this._getInvalidInput(D)}if(this._getType(D)!==w.bigint)return this._getInvalidInput(D);let $=void 0,B=new W0;for(let J of this._def.checks)if(J.kind==="min"){if(J.inclusive?D.data<J.value:D.data<=J.value)$=this._getOrReturnCtx(D,$),P($,{code:j.too_small,type:"bigint",minimum:J.value,inclusive:J.inclusive,message:J.message}),B.dirty()}else if(J.kind==="max"){if(J.inclusive?D.data>J.value:D.data>=J.value)$=this._getOrReturnCtx(D,$),P($,{code:j.too_big,type:"bigint",maximum:J.value,inclusive:J.inclusive,message:J.message}),B.dirty()}else if(J.kind==="multipleOf"){if(D.data%J.value!==BigInt(0))$=this._getOrReturnCtx(D,$),P($,{code:j.not_multiple_of,multipleOf:J.value,message:J.message}),B.dirty()}else XD.assertNever(J);return{status:B.value,value:D.data}}_getInvalidInput(D){let F=this._getOrReturnCtx(D);return P(F,{code:j.invalid_type,expected:w.bigint,received:F.parsedType}),b}gte(D,F){return this.setLimit("min",D,!0,f.toString(F))}gt(D,F){return this.setLimit("min",D,!1,f.toString(F))}lte(D,F){return this.setLimit("max",D,!0,f.toString(F))}lt(D,F){return this.setLimit("max",D,!1,f.toString(F))}setLimit(D,F,$,B){return new z6({...this._def,checks:[...this._def.checks,{kind:D,value:F,inclusive:$,message:f.toString(B)}]})}_addCheck(D){return new z6({...this._def,checks:[...this._def.checks,D]})}positive(D){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:f.toString(D)})}negative(D){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:f.toString(D)})}nonpositive(D){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:f.toString(D)})}nonnegative(D){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:f.toString(D)})}multipleOf(D,F){return this._addCheck({kind:"multipleOf",value:D,message:f.toString(F)})}get minValue(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D}get maxValue(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D}}z6.create=(D)=>{return new z6({checks:[],typeName:m.ZodBigInt,coerce:D?.coerce??!1,...DD(D)})};class w3 extends BD{_parse(D){if(this._def.coerce)D.data=Boolean(D.data);if(this._getType(D)!==w.boolean){let $=this._getOrReturnCtx(D);return P($,{code:j.invalid_type,expected:w.boolean,received:$.parsedType}),b}return M0(D.data)}}w3.create=(D)=>{return new w3({typeName:m.ZodBoolean,coerce:D?.coerce||!1,...DD(D)})};class o6 extends BD{_parse(D){if(this._def.coerce)D.data=new Date(D.data);if(this._getType(D)!==w.date){let J=this._getOrReturnCtx(D);return P(J,{code:j.invalid_type,expected:w.date,received:J.parsedType}),b}if(Number.isNaN(D.data.getTime())){let J=this._getOrReturnCtx(D);return P(J,{code:j.invalid_date}),b}let $=new W0,B=void 0;for(let J of this._def.checks)if(J.kind==="min"){if(D.data.getTime()<J.value)B=this._getOrReturnCtx(D,B),P(B,{code:j.too_small,message:J.message,inclusive:!0,exact:!1,minimum:J.value,type:"date"}),$.dirty()}else if(J.kind==="max"){if(D.data.getTime()>J.value)B=this._getOrReturnCtx(D,B),P(B,{code:j.too_big,message:J.message,inclusive:!0,exact:!1,maximum:J.value,type:"date"}),$.dirty()}else XD.assertNever(J);return{status:$.value,value:new Date(D.data.getTime())}}_addCheck(D){return new o6({...this._def,checks:[...this._def.checks,D]})}min(D,F){return this._addCheck({kind:"min",value:D.getTime(),message:f.toString(F)})}max(D,F){return this._addCheck({kind:"max",value:D.getTime(),message:f.toString(F)})}get minDate(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D!=null?new Date(D):null}get maxDate(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D!=null?new Date(D):null}}o6.create=(D)=>{return new o6({checks:[],coerce:D?.coerce||!1,typeName:m.ZodDate,...DD(D)})};class j5 extends BD{_parse(D){if(this._getType(D)!==w.symbol){let $=this._getOrReturnCtx(D);return P($,{code:j.invalid_type,expected:w.symbol,received:$.parsedType}),b}return M0(D.data)}}j5.create=(D)=>{return new j5({typeName:m.ZodSymbol,...DD(D)})};class I3 extends BD{_parse(D){if(this._getType(D)!==w.undefined){let $=this._getOrReturnCtx(D);return P($,{code:j.invalid_type,expected:w.undefined,received:$.parsedType}),b}return M0(D.data)}}I3.create=(D)=>{return new I3({typeName:m.ZodUndefined,...DD(D)})};class P3 extends BD{_parse(D){if(this._getType(D)!==w.null){let $=this._getOrReturnCtx(D);return P($,{code:j.invalid_type,expected:w.null,received:$.parsedType}),b}return M0(D.data)}}P3.create=(D)=>{return new P3({typeName:m.ZodNull,...DD(D)})};class s6 extends BD{constructor(){super(...arguments);this._any=!0}_parse(D){return M0(D.data)}}s6.create=(D)=>{return new s6({typeName:m.ZodAny,...DD(D)})};class E6 extends BD{constructor(){super(...arguments);this._unknown=!0}_parse(D){return M0(D.data)}}E6.create=(D)=>{return new E6({typeName:m.ZodUnknown,...DD(D)})};class B8 extends BD{_parse(D){let F=this._getOrReturnCtx(D);return P(F,{code:j.invalid_type,expected:w.never,received:F.parsedType}),b}}B8.create=(D)=>{return new B8({typeName:m.ZodNever,...DD(D)})};class T5 extends BD{_parse(D){if(this._getType(D)!==w.undefined){let $=this._getOrReturnCtx(D);return P($,{code:j.invalid_type,expected:w.void,received:$.parsedType}),b}return M0(D.data)}}T5.create=(D)=>{return new T5({typeName:m.ZodVoid,...DD(D)})};class P1 extends BD{_parse(D){let{ctx:F,status:$}=this._processInputParams(D),B=this._def;if(F.parsedType!==w.array)return P(F,{code:j.invalid_type,expected:w.array,received:F.parsedType}),b;if(B.exactLength!==null){let Q=F.data.length>B.exactLength.value,X=F.data.length<B.exactLength.value;if(Q||X)P(F,{code:Q?j.too_big:j.too_small,minimum:X?B.exactLength.value:void 0,maximum:Q?B.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:B.exactLength.message}),$.dirty()}if(B.minLength!==null){if(F.data.length<B.minLength.value)P(F,{code:j.too_small,minimum:B.minLength.value,type:"array",inclusive:!0,exact:!1,message:B.minLength.message}),$.dirty()}if(B.maxLength!==null){if(F.data.length>B.maxLength.value)P(F,{code:j.too_big,maximum:B.maxLength.value,type:"array",inclusive:!0,exact:!1,message:B.maxLength.message}),$.dirty()}if(F.common.async)return Promise.all([...F.data].map((Q,X)=>{return B.type._parseAsync(new k1(F,Q,F.path,X))})).then((Q)=>{return W0.mergeArray($,Q)});let J=[...F.data].map((Q,X)=>{return B.type._parseSync(new k1(F,Q,F.path,X))});return W0.mergeArray($,J)}get element(){return this._def.type}min(D,F){return new P1({...this._def,minLength:{value:D,message:f.toString(F)}})}max(D,F){return new P1({...this._def,maxLength:{value:D,message:f.toString(F)}})}length(D,F){return new P1({...this._def,exactLength:{value:D,message:f.toString(F)}})}nonempty(D){return this.min(1,D)}}P1.create=(D,F)=>{return new P1({type:D,minLength:null,maxLength:null,exactLength:null,typeName:m.ZodArray,...DD(F)})};function T3(D){if(D instanceof uD){let F={};for(let $ in D.shape){let B=D.shape[$];F[$]=S1.create(T3(B))}return new uD({...D._def,shape:()=>F})}else if(D instanceof P1)return new P1({...D._def,type:T3(D.element)});else if(D instanceof S1)return S1.create(T3(D.unwrap()));else if(D instanceof C8)return C8.create(T3(D.unwrap()));else if(D instanceof J8)return J8.create(D.items.map((F)=>T3(F)));else return D}class uD extends BD{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let D=this._def.shape(),F=XD.objectKeys(D);return this._cached={shape:D,keys:F},this._cached}_parse(D){if(this._getType(D)!==w.object){let G=this._getOrReturnCtx(D);return P(G,{code:j.invalid_type,expected:w.object,received:G.parsedType}),b}let{status:$,ctx:B}=this._processInputParams(D),{shape:J,keys:Q}=this._getCached(),X=[];if(!(this._def.catchall instanceof B8&&this._def.unknownKeys==="strip")){for(let G in B.data)if(!Q.includes(G))X.push(G)}let Y=[];for(let G of Q){let H=J[G],q=B.data[G];Y.push({key:{status:"valid",value:G},value:H._parse(new k1(B,q,B.path,G)),alwaysSet:G in B.data})}if(this._def.catchall instanceof B8){let G=this._def.unknownKeys;if(G==="passthrough")for(let H of X)Y.push({key:{status:"valid",value:H},value:{status:"valid",value:B.data[H]}});else if(G==="strict"){if(X.length>0)P(B,{code:j.unrecognized_keys,keys:X}),$.dirty()}else if(G==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let G=this._def.catchall;for(let H of X){let q=B.data[H];Y.push({key:{status:"valid",value:H},value:G._parse(new k1(B,q,B.path,H)),alwaysSet:H in B.data})}}if(B.common.async)return Promise.resolve().then(async()=>{let G=[];for(let H of Y){let q=await H.key,E=await H.value;G.push({key:q,value:E,alwaysSet:H.alwaysSet})}return G}).then((G)=>{return W0.mergeObjectSync($,G)});else return W0.mergeObjectSync($,Y)}get shape(){return this._def.shape()}strict(D){return f.errToObj,new uD({...this._def,unknownKeys:"strict",...D!==void 0?{errorMap:(F,$)=>{let B=this._def.errorMap?.(F,$).message??$.defaultError;if(F.code==="unrecognized_keys")return{message:f.errToObj(D).message??B};return{message:B}}}:{}})}strip(){return new uD({...this._def,unknownKeys:"strip"})}passthrough(){return new uD({...this._def,unknownKeys:"passthrough"})}extend(D){return new uD({...this._def,shape:()=>({...this._def.shape(),...D})})}merge(D){return new uD({unknownKeys:D._def.unknownKeys,catchall:D._def.catchall,shape:()=>({...this._def.shape(),...D._def.shape()}),typeName:m.ZodObject})}setKey(D,F){return this.augment({[D]:F})}catchall(D){return new uD({...this._def,catchall:D})}pick(D){let F={};for(let $ of XD.objectKeys(D))if(D[$]&&this.shape[$])F[$]=this.shape[$];return new uD({...this._def,shape:()=>F})}omit(D){let F={};for(let $ of XD.objectKeys(this.shape))if(!D[$])F[$]=this.shape[$];return new uD({...this._def,shape:()=>F})}deepPartial(){return T3(this)}partial(D){let F={};for(let $ of XD.objectKeys(this.shape)){let B=this.shape[$];if(D&&!D[$])F[$]=B;else F[$]=B.optional()}return new uD({...this._def,shape:()=>F})}required(D){let F={};for(let $ of XD.objectKeys(this.shape))if(D&&!D[$])F[$]=this.shape[$];else{let J=this.shape[$];while(J instanceof S1)J=J._def.innerType;F[$]=J}return new uD({...this._def,shape:()=>F})}keyof(){return bv(XD.objectKeys(this.shape))}}uD.create=(D,F)=>{return new uD({shape:()=>D,unknownKeys:"strip",catchall:B8.create(),typeName:m.ZodObject,...DD(F)})};uD.strictCreate=(D,F)=>{return new uD({shape:()=>D,unknownKeys:"strict",catchall:B8.create(),typeName:m.ZodObject,...DD(F)})};uD.lazycreate=(D,F)=>{return new uD({shape:D,unknownKeys:"strip",catchall:B8.create(),typeName:m.ZodObject,...DD(F)})};class S3 extends BD{_parse(D){let{ctx:F}=this._processInputParams(D),$=this._def.options;function B(J){for(let X of J)if(X.result.status==="valid")return X.result;for(let X of J)if(X.result.status==="dirty")return F.common.issues.push(...X.ctx.common.issues),X.result;let Q=J.map((X)=>new u0(X.ctx.common.issues));return P(F,{code:j.invalid_union,unionErrors:Q}),b}if(F.common.async)return Promise.all($.map(async(J)=>{let Q={...F,common:{...F.common,issues:[]},parent:null};return{result:await J._parseAsync({data:F.data,path:F.path,parent:Q}),ctx:Q}})).then(B);else{let J=void 0,Q=[];for(let Y of $){let G={...F,common:{...F.common,issues:[]},parent:null},H=Y._parseSync({data:F.data,path:F.path,parent:G});if(H.status==="valid")return H;else if(H.status==="dirty"&&!J)J={result:H,ctx:G};if(G.common.issues.length)Q.push(G.common.issues)}if(J)return F.common.issues.push(...J.ctx.common.issues),J.result;let X=Q.map((Y)=>new u0(Y));return P(F,{code:j.invalid_union,unionErrors:X}),b}}get options(){return this._def.options}}S3.create=(D,F)=>{return new S3({options:D,typeName:m.ZodUnion,...DD(F)})};var N8=(D)=>{if(D instanceof v3)return N8(D.schema);else if(D instanceof v1)return N8(D.innerType());else if(D instanceof y3)return[D.value];else if(D instanceof V6)return D.options;else if(D instanceof x3)return XD.objectValues(D.enum);else if(D instanceof _3)return N8(D._def.innerType);else if(D instanceof I3)return[void 0];else if(D instanceof P3)return[null];else if(D instanceof S1)return[void 0,...N8(D.unwrap())];else if(D instanceof C8)return[null,...N8(D.unwrap())];else if(D instanceof m$)return N8(D.unwrap());else if(D instanceof g3)return N8(D.unwrap());else if(D instanceof f3)return N8(D._def.innerType);else return[]};class u$ extends BD{_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==w.object)return P(F,{code:j.invalid_type,expected:w.object,received:F.parsedType}),b;let $=this.discriminator,B=F.data[$],J=this.optionsMap.get(B);if(!J)return P(F,{code:j.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[$]}),b;if(F.common.async)return J._parseAsync({data:F.data,path:F.path,parent:F});else return J._parseSync({data:F.data,path:F.path,parent:F})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(D,F,$){let B=new Map;for(let J of F){let Q=N8(J.shape[D]);if(!Q.length)throw Error(`A discriminator value for key \`${D}\` could not be extracted from all schema options`);for(let X of Q){if(B.has(X))throw Error(`Discriminator property ${String(D)} has duplicate value ${String(X)}`);B.set(X,J)}}return new u$({typeName:m.ZodDiscriminatedUnion,discriminator:D,options:F,optionsMap:B,...DD($)})}}function n2(D,F){let $=$8(D),B=$8(F);if(D===F)return{valid:!0,data:D};else if($===w.object&&B===w.object){let J=XD.objectKeys(F),Q=XD.objectKeys(D).filter((Y)=>J.indexOf(Y)!==-1),X={...D,...F};for(let Y of Q){let G=n2(D[Y],F[Y]);if(!G.valid)return{valid:!1};X[Y]=G.data}return{valid:!0,data:X}}else if($===w.array&&B===w.array){if(D.length!==F.length)return{valid:!1};let J=[];for(let Q=0;Q<D.length;Q++){let X=D[Q],Y=F[Q],G=n2(X,Y);if(!G.valid)return{valid:!1};J.push(G.data)}return{valid:!0,data:J}}else if($===w.date&&B===w.date&&+D===+F)return{valid:!0,data:D};else return{valid:!1}}class k3 extends BD{_parse(D){let{status:F,ctx:$}=this._processInputParams(D),B=(J,Q)=>{if(h$(J)||h$(Q))return b;let X=n2(J.value,Q.value);if(!X.valid)return P($,{code:j.invalid_intersection_types}),b;if(b$(J)||b$(Q))F.dirty();return{status:F.value,value:X.data}};if($.common.async)return Promise.all([this._def.left._parseAsync({data:$.data,path:$.path,parent:$}),this._def.right._parseAsync({data:$.data,path:$.path,parent:$})]).then(([J,Q])=>B(J,Q));else return B(this._def.left._parseSync({data:$.data,path:$.path,parent:$}),this._def.right._parseSync({data:$.data,path:$.path,parent:$}))}}k3.create=(D,F,$)=>{return new k3({left:D,right:F,typeName:m.ZodIntersection,...DD($)})};class J8 extends BD{_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==w.array)return P($,{code:j.invalid_type,expected:w.array,received:$.parsedType}),b;if($.data.length<this._def.items.length)return P($,{code:j.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),b;if(!this._def.rest&&$.data.length>this._def.items.length)P($,{code:j.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),F.dirty();let J=[...$.data].map((Q,X)=>{let Y=this._def.items[X]||this._def.rest;if(!Y)return null;return Y._parse(new k1($,Q,$.path,X))}).filter((Q)=>!!Q);if($.common.async)return Promise.all(J).then((Q)=>{return W0.mergeArray(F,Q)});else return W0.mergeArray(F,J)}get items(){return this._def.items}rest(D){return new J8({...this._def,rest:D})}}J8.create=(D,F)=>{if(!Array.isArray(D))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new J8({items:D,typeName:m.ZodTuple,rest:null,...DD(F)})};class O5 extends BD{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==w.object)return P($,{code:j.invalid_type,expected:w.object,received:$.parsedType}),b;let B=[],J=this._def.keyType,Q=this._def.valueType;for(let X in $.data)B.push({key:J._parse(new k1($,X,$.path,X)),value:Q._parse(new k1($,$.data[X],$.path,X)),alwaysSet:X in $.data});if($.common.async)return W0.mergeObjectAsync(F,B);else return W0.mergeObjectSync(F,B)}get element(){return this._def.valueType}static create(D,F,$){if(F instanceof BD)return new O5({keyType:D,valueType:F,typeName:m.ZodRecord,...DD($)});return new O5({keyType:I1.create(),valueType:D,typeName:m.ZodRecord,...DD(F)})}}class w5 extends BD{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==w.map)return P($,{code:j.invalid_type,expected:w.map,received:$.parsedType}),b;let B=this._def.keyType,J=this._def.valueType,Q=[...$.data.entries()].map(([X,Y],G)=>{return{key:B._parse(new k1($,X,$.path,[G,"key"])),value:J._parse(new k1($,Y,$.path,[G,"value"]))}});if($.common.async){let X=new Map;return Promise.resolve().then(async()=>{for(let Y of Q){let G=await Y.key,H=await Y.value;if(G.status==="aborted"||H.status==="aborted")return b;if(G.status==="dirty"||H.status==="dirty")F.dirty();X.set(G.value,H.value)}return{status:F.value,value:X}})}else{let X=new Map;for(let Y of Q){let{key:G,value:H}=Y;if(G.status==="aborted"||H.status==="aborted")return b;if(G.status==="dirty"||H.status==="dirty")F.dirty();X.set(G.value,H.value)}return{status:F.value,value:X}}}}w5.create=(D,F,$)=>{return new w5({valueType:F,keyType:D,typeName:m.ZodMap,...DD($)})};class r6 extends BD{_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==w.set)return P($,{code:j.invalid_type,expected:w.set,received:$.parsedType}),b;let B=this._def;if(B.minSize!==null){if($.data.size<B.minSize.value)P($,{code:j.too_small,minimum:B.minSize.value,type:"set",inclusive:!0,exact:!1,message:B.minSize.message}),F.dirty()}if(B.maxSize!==null){if($.data.size>B.maxSize.value)P($,{code:j.too_big,maximum:B.maxSize.value,type:"set",inclusive:!0,exact:!1,message:B.maxSize.message}),F.dirty()}let J=this._def.valueType;function Q(Y){let G=new Set;for(let H of Y){if(H.status==="aborted")return b;if(H.status==="dirty")F.dirty();G.add(H.value)}return{status:F.value,value:G}}let X=[...$.data.values()].map((Y,G)=>J._parse(new k1($,Y,$.path,G)));if($.common.async)return Promise.all(X).then((Y)=>Q(Y));else return Q(X)}min(D,F){return new r6({...this._def,minSize:{value:D,message:f.toString(F)}})}max(D,F){return new r6({...this._def,maxSize:{value:D,message:f.toString(F)}})}size(D,F){return this.min(D,F).max(D,F)}nonempty(D){return this.min(1,D)}}r6.create=(D,F)=>{return new r6({valueType:D,minSize:null,maxSize:null,typeName:m.ZodSet,...DD(F)})};class O3 extends BD{constructor(){super(...arguments);this.validate=this.implement}_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==w.function)return P(F,{code:j.invalid_type,expected:w.function,received:F.parsedType}),b;function $(X,Y){return R5({data:X,path:F.path,errorMaps:[F.common.contextualErrorMap,F.schemaErrorMap,R3(),U8].filter((G)=>!!G),issueData:{code:j.invalid_arguments,argumentsError:Y}})}function B(X,Y){return R5({data:X,path:F.path,errorMaps:[F.common.contextualErrorMap,F.schemaErrorMap,R3(),U8].filter((G)=>!!G),issueData:{code:j.invalid_return_type,returnTypeError:Y}})}let J={errorMap:F.common.contextualErrorMap},Q=F.data;if(this._def.returns instanceof t6){let X=this;return M0(async function(...Y){let G=new u0([]),H=await X._def.args.parseAsync(Y,J).catch((V)=>{throw G.addIssue($(Y,V)),G}),q=await Reflect.apply(Q,this,H);return await X._def.returns._def.type.parseAsync(q,J).catch((V)=>{throw G.addIssue(B(q,V)),G})})}else{let X=this;return M0(function(...Y){let G=X._def.args.safeParse(Y,J);if(!G.success)throw new u0([$(Y,G.error)]);let H=Reflect.apply(Q,this,G.data),q=X._def.returns.safeParse(H,J);if(!q.success)throw new u0([B(H,q.error)]);return q.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...D){return new O3({...this._def,args:J8.create(D).rest(E6.create())})}returns(D){return new O3({...this._def,returns:D})}implement(D){return this.parse(D)}strictImplement(D){return this.parse(D)}static create(D,F,$){return new O3({args:D?D:J8.create([]).rest(E6.create()),returns:F||E6.create(),typeName:m.ZodFunction,...DD($)})}}class v3 extends BD{get schema(){return this._def.getter()}_parse(D){let{ctx:F}=this._processInputParams(D);return this._def.getter()._parse({data:F.data,path:F.path,parent:F})}}v3.create=(D,F)=>{return new v3({getter:D,typeName:m.ZodLazy,...DD(F)})};class y3 extends BD{_parse(D){if(D.data!==this._def.value){let F=this._getOrReturnCtx(D);return P(F,{received:F.data,code:j.invalid_literal,expected:this._def.value}),b}return{status:"valid",value:D.data}}get value(){return this._def.value}}y3.create=(D,F)=>{return new y3({value:D,typeName:m.ZodLiteral,...DD(F)})};function bv(D,F){return new V6({values:D,typeName:m.ZodEnum,...DD(F)})}class V6 extends BD{_parse(D){if(typeof D.data!=="string"){let F=this._getOrReturnCtx(D),$=this._def.values;return P(F,{expected:XD.joinValues($),received:F.parsedType,code:j.invalid_type}),b}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(D.data)){let F=this._getOrReturnCtx(D),$=this._def.values;return P(F,{received:F.data,code:j.invalid_enum_value,options:$}),b}return M0(D.data)}get options(){return this._def.values}get enum(){let D={};for(let F of this._def.values)D[F]=F;return D}get Values(){let D={};for(let F of this._def.values)D[F]=F;return D}get Enum(){let D={};for(let F of this._def.values)D[F]=F;return D}extract(D,F=this._def){return V6.create(D,{...this._def,...F})}exclude(D,F=this._def){return V6.create(this.options.filter(($)=>!D.includes($)),{...this._def,...F})}}V6.create=bv;class x3 extends BD{_parse(D){let F=XD.getValidEnumValues(this._def.values),$=this._getOrReturnCtx(D);if($.parsedType!==w.string&&$.parsedType!==w.number){let B=XD.objectValues(F);return P($,{expected:XD.joinValues(B),received:$.parsedType,code:j.invalid_type}),b}if(!this._cache)this._cache=new Set(XD.getValidEnumValues(this._def.values));if(!this._cache.has(D.data)){let B=XD.objectValues(F);return P($,{received:$.data,code:j.invalid_enum_value,options:B}),b}return M0(D.data)}get enum(){return this._def.values}}x3.create=(D,F)=>{return new x3({values:D,typeName:m.ZodNativeEnum,...DD(F)})};class t6 extends BD{unwrap(){return this._def.type}_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==w.promise&&F.common.async===!1)return P(F,{code:j.invalid_type,expected:w.promise,received:F.parsedType}),b;let $=F.parsedType===w.promise?F.data:Promise.resolve(F.data);return M0($.then((B)=>{return this._def.type.parseAsync(B,{path:F.path,errorMap:F.common.contextualErrorMap})}))}}t6.create=(D,F)=>{return new t6({type:D,typeName:m.ZodPromise,...DD(F)})};class v1 extends BD{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===m.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(D){let{status:F,ctx:$}=this._processInputParams(D),B=this._def.effect||null,J={addIssue:(Q)=>{if(P($,Q),Q.fatal)F.abort();else F.dirty()},get path(){return $.path}};if(J.addIssue=J.addIssue.bind(J),B.type==="preprocess"){let Q=B.transform($.data,J);if($.common.async)return Promise.resolve(Q).then(async(X)=>{if(F.value==="aborted")return b;let Y=await this._def.schema._parseAsync({data:X,path:$.path,parent:$});if(Y.status==="aborted")return b;if(Y.status==="dirty")return a6(Y.value);if(F.value==="dirty")return a6(Y.value);return Y});else{if(F.value==="aborted")return b;let X=this._def.schema._parseSync({data:Q,path:$.path,parent:$});if(X.status==="aborted")return b;if(X.status==="dirty")return a6(X.value);if(F.value==="dirty")return a6(X.value);return X}}if(B.type==="refinement"){let Q=(X)=>{let Y=B.refinement(X,J);if($.common.async)return Promise.resolve(Y);if(Y instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return X};if($.common.async===!1){let X=this._def.schema._parseSync({data:$.data,path:$.path,parent:$});if(X.status==="aborted")return b;if(X.status==="dirty")F.dirty();return Q(X.value),{status:F.value,value:X.value}}else return this._def.schema._parseAsync({data:$.data,path:$.path,parent:$}).then((X)=>{if(X.status==="aborted")return b;if(X.status==="dirty")F.dirty();return Q(X.value).then(()=>{return{status:F.value,value:X.value}})})}if(B.type==="transform")if($.common.async===!1){let Q=this._def.schema._parseSync({data:$.data,path:$.path,parent:$});if(!q6(Q))return b;let X=B.transform(Q.value,J);if(X instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:F.value,value:X}}else return this._def.schema._parseAsync({data:$.data,path:$.path,parent:$}).then((Q)=>{if(!q6(Q))return b;return Promise.resolve(B.transform(Q.value,J)).then((X)=>({status:F.value,value:X}))});XD.assertNever(B)}}v1.create=(D,F,$)=>{return new v1({schema:D,typeName:m.ZodEffects,effect:F,...DD($)})};v1.createWithPreprocess=(D,F,$)=>{return new v1({schema:F,effect:{type:"preprocess",transform:D},typeName:m.ZodEffects,...DD($)})};class S1 extends BD{_parse(D){if(this._getType(D)===w.undefined)return M0(void 0);return this._def.innerType._parse(D)}unwrap(){return this._def.innerType}}S1.create=(D,F)=>{return new S1({innerType:D,typeName:m.ZodOptional,...DD(F)})};class C8 extends BD{_parse(D){if(this._getType(D)===w.null)return M0(null);return this._def.innerType._parse(D)}unwrap(){return this._def.innerType}}C8.create=(D,F)=>{return new C8({innerType:D,typeName:m.ZodNullable,...DD(F)})};class _3 extends BD{_parse(D){let{ctx:F}=this._processInputParams(D),$=F.data;if(F.parsedType===w.undefined)$=this._def.defaultValue();return this._def.innerType._parse({data:$,path:F.path,parent:F})}removeDefault(){return this._def.innerType}}_3.create=(D,F)=>{return new _3({innerType:D,typeName:m.ZodDefault,defaultValue:typeof F.default==="function"?F.default:()=>F.default,...DD(F)})};class f3 extends BD{_parse(D){let{ctx:F}=this._processInputParams(D),$={...F,common:{...F.common,issues:[]}},B=this._def.innerType._parse({data:$.data,path:$.path,parent:{...$}});if(j3(B))return B.then((J)=>{return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new u0($.common.issues)},input:$.data})}});else return{status:"valid",value:B.status==="valid"?B.value:this._def.catchValue({get error(){return new u0($.common.issues)},input:$.data})}}removeCatch(){return this._def.innerType}}f3.create=(D,F)=>{return new f3({innerType:D,typeName:m.ZodCatch,catchValue:typeof F.catch==="function"?F.catch:()=>F.catch,...DD(F)})};class I5 extends BD{_parse(D){if(this._getType(D)!==w.nan){let $=this._getOrReturnCtx(D);return P($,{code:j.invalid_type,expected:w.nan,received:$.parsedType}),b}return{status:"valid",value:D.data}}}I5.create=(D)=>{return new I5({typeName:m.ZodNaN,...DD(D)})};var MGD=Symbol("zod_brand");class m$ extends BD{_parse(D){let{ctx:F}=this._processInputParams(D),$=F.data;return this._def.type._parse({data:$,path:F.path,parent:F})}unwrap(){return this._def.type}}class P5 extends BD{_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.common.async)return(async()=>{let J=await this._def.in._parseAsync({data:$.data,path:$.path,parent:$});if(J.status==="aborted")return b;if(J.status==="dirty")return F.dirty(),a6(J.value);else return this._def.out._parseAsync({data:J.value,path:$.path,parent:$})})();else{let B=this._def.in._parseSync({data:$.data,path:$.path,parent:$});if(B.status==="aborted")return b;if(B.status==="dirty")return F.dirty(),{status:"dirty",value:B.value};else return this._def.out._parseSync({data:B.value,path:$.path,parent:$})}}static create(D,F){return new P5({in:D,out:F,typeName:m.ZodPipeline})}}class g3 extends BD{_parse(D){let F=this._def.innerType._parse(D),$=(B)=>{if(q6(B))B.value=Object.freeze(B.value);return B};return j3(F)?F.then((B)=>$(B)):$(F)}unwrap(){return this._def.innerType}}g3.create=(D,F)=>{return new g3({innerType:D,typeName:m.ZodReadonly,...DD(F)})};function _v(D,F){let $=typeof D==="function"?D(F):typeof D==="string"?{message:D}:D;return typeof $==="string"?{message:$}:$}function uv(D,F={},$){if(D)return s6.create().superRefine((B,J)=>{let Q=D(B);if(Q instanceof Promise)return Q.then((X)=>{if(!X){let Y=_v(F,B),G=Y.fatal??$??!0;J.addIssue({code:"custom",...Y,fatal:G})}});if(!Q){let X=_v(F,B),Y=X.fatal??$??!0;J.addIssue({code:"custom",...X,fatal:Y})}return});return s6.create()}var UGD={object:uD.lazycreate},m;(function(D){D.ZodString="ZodString",D.ZodNumber="ZodNumber",D.ZodNaN="ZodNaN",D.ZodBigInt="ZodBigInt",D.ZodBoolean="ZodBoolean",D.ZodDate="ZodDate",D.ZodSymbol="ZodSymbol",D.ZodUndefined="ZodUndefined",D.ZodNull="ZodNull",D.ZodAny="ZodAny",D.ZodUnknown="ZodUnknown",D.ZodNever="ZodNever",D.ZodVoid="ZodVoid",D.ZodArray="ZodArray",D.ZodObject="ZodObject",D.ZodUnion="ZodUnion",D.ZodDiscriminatedUnion="ZodDiscriminatedUnion",D.ZodIntersection="ZodIntersection",D.ZodTuple="ZodTuple",D.ZodRecord="ZodRecord",D.ZodMap="ZodMap",D.ZodSet="ZodSet",D.ZodFunction="ZodFunction",D.ZodLazy="ZodLazy",D.ZodLiteral="ZodLiteral",D.ZodEnum="ZodEnum",D.ZodEffects="ZodEffects",D.ZodNativeEnum="ZodNativeEnum",D.ZodOptional="ZodOptional",D.ZodNullable="ZodNullable",D.ZodDefault="ZodDefault",D.ZodCatch="ZodCatch",D.ZodPromise="ZodPromise",D.ZodBranded="ZodBranded",D.ZodPipeline="ZodPipeline",D.ZodReadonly="ZodReadonly"})(m||(m={}));var NGD=(D,F={message:`Input not instance of ${D.name}`})=>uv(($)=>$ instanceof D,F),mv=I1.create,lv=K6.create,CGD=I5.create,RGD=z6.create,dv=w3.create,jGD=o6.create,TGD=j5.create,OGD=I3.create,wGD=P3.create,IGD=s6.create,PGD=E6.create,SGD=B8.create,kGD=T5.create,vGD=P1.create,yGD=uD.create,xGD=uD.strictCreate,_GD=S3.create,fGD=u$.create,gGD=k3.create,hGD=J8.create,bGD=O5.create,uGD=w5.create,mGD=r6.create,lGD=O3.create,dGD=v3.create,pGD=y3.create,cGD=V6.create,nGD=x3.create,iGD=t6.create,aGD=v1.create,oGD=S1.create,sGD=C8.create,rGD=v1.createWithPreprocess,tGD=P5.create,eGD=()=>mv().optional(),DHD=()=>lv().optional(),FHD=()=>dv().optional(),$HD={string:(D)=>I1.create({...D,coerce:!0}),number:(D)=>K6.create({...D,coerce:!0}),boolean:(D)=>w3.create({...D,coerce:!0}),bigint:(D)=>z6.create({...D,coerce:!0}),date:(D)=>o6.create({...D,coerce:!0})};var BHD=b;var l$="https://nemar-api-dev.shirazi-10f.workers.dev",BjD=y1.object({apiKey:y1.string().optional(),apiUrl:y1.string().url().default(l$),username:y1.string().optional(),email:y1.string().email().optional(),githubUsername:y1.string().optional(),sandboxCompleted:y1.boolean().optional(),sandboxDatasetId:y1.string().optional()}),cD=new g$({projectName:"nemar",schema:{activeAccount:{type:"string"},accounts:{type:"object"},apiKey:{type:"string"},apiUrl:{type:"string",default:l$},username:{type:"string"},email:{type:"string"},githubUsername:{type:"string"},sandboxCompleted:{type:"boolean"},sandboxDatasetId:{type:"string"}},...process.env.NEMAR_CONFIG_DIR?{cwd:process.env.NEMAR_CONFIG_DIR}:{}}),JHD=["apiKey","apiUrl","username","email","githubUsername","sandboxCompleted","sandboxDatasetId"];function QHD(){let D=cD.get("accounts");if(D&&Object.keys(D).length>0)return;let F=cD.get("apiKey"),$=cD.get("username");if(!F&&!$)return;try{let B=$||"default",J={};for(let Q of JHD){let X=cD.get(Q);if(X!==void 0)J[Q]=X}cD.store={activeAccount:B,accounts:{[B]:J}}}catch(B){console.error("Config migration failed (legacy config preserved):",B)}}QHD();function S5(){return cD.get("activeAccount")}function e6(){return cD.get("accounts")||{}}function rD(){let D={apiUrl:l$},F=S5();if(!F)return D;return e6()[F]||D}function pv(){return!!rD().sandboxCompleted}function R8(D,F){let $=S5()||"default",B=e6();if(!B[$])B[$]={apiUrl:l$};B[$][D]=F,cD.store={...cD.store,accounts:B,activeAccount:$}}function i2(D){let F=S5();if(!F)return;let $=e6();if($[F])delete $[F][D],cD.set("accounts",$)}function cv(){let D=S5();if(!D){cD.clear();return}let F=e6();delete F[D];let $=Object.keys(F);if($.length>0)cD.store={...cD.store,accounts:F,activeAccount:$[0]};else cD.clear()}function nv(){cD.clear()}function fD(){return!!rD().apiKey}function iv(){return cD.path}function k5(){let D=e6(),F=S5();return Object.entries(D).map(([$,B])=>({username:B.username||$,email:B.email,githubUsername:B.githubUsername,active:$===F}))}function av(D,F){let $=e6();$[D]=F,cD.store={...cD.store,accounts:$,activeAccount:D}}function ov(D){let F=e6();if(F[D])return cD.store={...cD.store,activeAccount:D},F[D];for(let[$,B]of Object.entries(F))if(B.githubUsername===D)return cD.store={...cD.store,activeAccount:$},B;return null}var a2="https://nemar-api-dev.shirazi-10f.workers.dev",d$=/^\d{4}-\d{4}-\d{4}-\d{3}[\dX]$/;function F0(D){if(D instanceof Error)return D.message;return String(D)}class u extends Error{statusCode;details;constructor(D,F,$){super(F);this.statusCode=D;this.details=$;this.name="ApiError"}}var XHD=a2.includes("workers.dev");function sv(){if(process.env.TEST_API_URL)return process.env.TEST_API_URL;if(XHD)return a2;return rD().apiUrl||a2}async function p(D,F={},$=!1){let B=`${sv()}${D}`,J={"Content-Type":"application/json",...F.headers};if($){let Y=rD();if(!Y.apiKey&&$===!0)throw new u(401,"Not authenticated. Run 'nemar auth login' first.");if(Y.apiKey)J.Authorization=`Bearer ${Y.apiKey}`}let Q;try{Q=await fetch(B,{...F,headers:J})}catch(Y){throw new u(0,`Network error: Could not connect to ${sv()}`,{originalError:Y instanceof Error?Y.message:String(Y)})}let X;try{X=await Q.json()}catch{throw new u(Q.status,`Invalid response from server (status ${Q.status})`)}if(!Q.ok)throw new u(Q.status,X.error||X.message||"Request failed",X.details);return X}async function rv(D){return p(`/auth/check-username?username=${encodeURIComponent(D)}`)}async function tv(D){return p(`/auth/check-github?username=${encodeURIComponent(D)}`)}async function ev(D){return p("/auth/signup",{method:"POST",body:JSON.stringify(D)})}async function Dy(D){return p("/auth/login",{method:"POST",body:JSON.stringify({api_key:D})})}async function Fy(D){return p("/auth/resend-verification",{method:"POST",body:JSON.stringify({email:D})})}async function $y(D,F){return p("/auth/retrieve-key",{method:"POST",body:JSON.stringify({email:D,password:F})})}async function By(D){return p("/auth/request-key-regeneration",{method:"POST",body:JSON.stringify({email:D})})}async function p$(){return p("/users/me",{},!0)}async function Jy(D,F){let $=new URLSearchParams;if(D)$.set("status",D);if(F)$.set("role",F);let B=$.toString()?`?${$.toString()}`:"";return p(`/admin/users${B}`,{},!0)}async function Qy(D){return p(`/admin/approve/${D}`,{method:"POST"},!0)}async function Xy(D){return p(`/admin/revoke/${D}`,{method:"POST"},!0)}async function Yy(D,F){return p(`/admin/users/${D}/role`,{method:"POST",body:JSON.stringify({role:F})},!0)}async function Gy(D){return p(`/admin/regenerate-iam/${D}`,{method:"POST"},!0)}async function o2(D,F){return p(`/admin/datasets/${D}/visibility`,{method:"PATCH",body:JSON.stringify({visibility:F})},!0)}async function Hy(D){return p(`/datasets/${D}/publish`,{method:"POST"},!0)}async function Wy(D){return p(`/admin/datasets/${D}/ci`,{},!0)}async function c$(D){return p(`/admin/datasets/${D}/ci`,{method:"POST"},!0)}async function qy(D){return p(`/datasets/${D}/ci/status`,{},!0)}async function Ey(D){return p(`/datasets/${D}/manifest`,{},!0)}async function Ky(D,F){return p(`/datasets/${D}/manifest/${F}`,{},!0)}function zy(D){let F=D;if(!["active","archived","deleted"].includes(F.status))throw Error(`Invalid dataset status: ${F.status}`);if(!F.visibility)F.visibility="private";else if(!["public","private"].includes(F.visibility))throw Error(`Invalid dataset visibility: ${F.visibility}`);return F}async function Vy(D=!1){let $=await p(`/datasets${D?"?mine=true":""}`,{},D?!0:"optional");return $.datasets=$.datasets.map(zy),$}async function n0(D){let F=await p(`/datasets/${D}`,{},"optional");return zy(F.dataset)}async function Zy(D){return p(`/datasets/${D}/versions`,{},!0)}async function n$(D){return p("/datasets",{method:"POST",body:JSON.stringify(D)},!0)}async function i$(D){return p(`/datasets/${D}/finalize`,{method:"POST"},!0)}async function Ay(D,F){return p(`/datasets/${D}/upload-urls`,{method:"POST",body:JSON.stringify({files:F})},!0)}async function Ly(D,F){return p(`/datasets/${D}/upload-credentials`,{method:"POST",body:JSON.stringify({duration_seconds:F})},!0)}async function My(D,F){return p(`/admin/datasets/${D}/doi/concept`,{method:"POST",body:JSON.stringify(F)},!0)}async function v5(D){return p(`/admin/datasets/${D}/doi`,{},!0)}async function s2(D,F){return p(`/admin/datasets/${D}/doi/update`,{method:"POST",body:JSON.stringify(F)},!0)}async function Uy(D){return p(`/datasets/${D}/request-access`,{method:"POST"},!0)}async function Ny(D,F){return p(`/datasets/${D}/invite`,{method:"POST",body:JSON.stringify({username:F})},!0)}async function Cy(D){return p(`/datasets/${D}/collaborators`,{},!0)}async function Ry(D){return p("/sandbox/complete",{method:"POST",body:JSON.stringify({dataset_id:D})},!0)}async function jy(){return p("/sandbox/reset",{method:"POST"},!0)}async function Ty(){return p("/sandbox/status",{},!0)}async function Oy(D){return p(`/datasets/${D}/publish/request`,{method:"POST"},!0)}async function wy(D){return p(`/datasets/${D}/publish/status`,{},!0)}async function Iy(D){return p(`/datasets/${D}/publish/resend`,{method:"POST"},!0)}async function Py(D){let F=D?`?status=${D}`:"";return p(`/admin/publish/requests${F}`,{},!0)}async function Sy(D,F){return p(`/admin/publish/${D}/deny`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({reason:F})},!0)}async function ky(D,F=!1,$=!1){let B,J;do if(J=await p(`/admin/publish/${D}/approve`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({resume:F,sandbox:$,s3_lock_offset:B})},!0),J.hasMore&&J.s3_lock_offset!==void 0)B=J.s3_lock_offset;else break;while(J.hasMore);return J}async function vy(D,F){return p(`/admin/datasets/${D}/enrichment`,{method:"POST",body:JSON.stringify(F)},!0)}async function yy(D){return p(`/admin/datasets/${D}/files`,{},!0)}async function xy(D){let F=0,$=0,B=[],J=0,Q=!0;while(Q){let X=await p(`/admin/datasets/${D}/s3-lock`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({offset:F})},!0);if($+=X.locked,B.push(...X.failed),J=X.total,Q=X.hasMore,Q)F+=40}return{locked:$,total:J,failed:B}}async function _y(D,F=!1){return p(`/admin/datasets/${D}`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({force:F})},!0)}async function ID(D,F,$=!1){if(F.no)return"declined";if(F.yes)return"confirmed";try{let{confirmed:B}=await ND.prompt([{type:"confirm",name:"confirmed",message:D,default:$}]);return B?"confirmed":"cancelled"}catch(B){let J=B instanceof Error?B.message:String(B);if(J.includes("closed")||J.includes("TTY")||J.includes("SIGINT")||J.includes("readline"))console.error("Interactive prompt unavailable (non-interactive terminal or interrupted)"),console.error(" Use --yes or --no flags for non-interactive mode");else console.error("Prompt error:",J);return"cancelled"}}async function fy(D,F,$){if($.no)return"declined";if($.yes)return"confirmed";try{let{input:B}=await ND.prompt([{type:"input",name:"input",message:D,validate:(J)=>{if(J!==F)return`Input does not match. Expected: ${F}`;return!0}}]);return B===F?"confirmed":"cancelled"}catch(B){let J=B instanceof Error?B.message:String(B);if(J.includes("closed")||J.includes("TTY")||J.includes("SIGINT")||J.includes("readline"))console.error("Interactive prompt unavailable (non-interactive terminal or interrupted)"),console.error(" Use --yes or --no flags for non-interactive mode");else console.error("Prompt error:",J);return"cancelled"}}var jD="-y, --yes",mD="-n, --no",TD="Skip confirmation and proceed",lD="Skip confirmation and decline";import{existsSync as by,statSync as YHD}from"fs";import{join as r2}from"path";var{spawn:GHD}=globalThis.Bun;async function l(D,F={}){let $=GHD({cmd:D,cwd:F.cwd,stdout:"pipe",stderr:"pipe",env:{...process.env,...F.env}}),B=await new Response($.stdout).text(),J=await new Response($.stderr).text(),Q=await $.exited;return{stdout:B,stderr:J,exitCode:Q}}function gy(D){return D.split(".").map((F)=>{let $=Number.parseInt(F.replace(/[^0-9]/g,""),10);return Number.isNaN($)?0:$})}function HHD(D,F){let $=gy(D),B=gy(F);for(let J=0;J<Math.max($.length,B.length);J++){let Q=$[J]||0,X=B[J]||0;if(Q>X)return!0;if(Q<X)return!1}return!0}async function uy(){try{let{stdout:F,exitCode:$,stderr:B}=await l(["git-annex","version"]);if($!==0)return console.warn("git-annex version returned non-zero exit code:",$),console.warn("stderr:",B),{installed:!1,minVersion:"10.0",error:`Version check failed: ${B.trim()}`};let J=F.match(/version:\s*(\d+\.\d+)/),Q=J?J[1]:void 0;if(!Q)console.warn("Could not parse git-annex version from output:",F);return{installed:!0,version:Q,minVersion:"10.0",compatible:Q?HHD(Q,"10.0"):void 0}}catch(F){let $=F instanceof Error?F.message:String(F);if($.includes("ENOENT")||$.includes("not found"))return console.info("git-annex not found in PATH"),{installed:!1,minVersion:"10.0"};return console.error("Error checking git-annex installation:",$),{installed:!1,minVersion:"10.0",error:$}}}async function WHD(){if(process.env.GH_TOKEN)return{accessible:!0,username:"token-auth",useHttps:!0};try{let{stdout:D,stderr:F}=await l(["ssh","-T","-o","BatchMode=yes","-o","StrictHostKeyChecking=accept-new","-o","ConnectTimeout=10","git@github.com"]),$=D+F,B=$.match(/Hi ([^!]+)!/);if(B)return{accessible:!0,username:B[1]};if($.includes("Permission denied"))return{accessible:!1};return{accessible:$.includes("successfully authenticated")}}catch(D){let F=D instanceof Error?D.message:String(D);if(F.includes("ENOENT")||F.includes("not found"))console.info("SSH command not found");else console.error("Error checking GitHub SSH access:",F);return{accessible:!1}}}function my(){let D=process.platform;if(D==="darwin")return"brew install git-annex";if(D==="linux")return"apt install git-annex (Debian/Ubuntu)";return"See https://git-annex.branchable.com/install/"}async function a$(){let[D,F]=await Promise.all([uy(),WHD()]),$=[];if(!D.installed)$.push(`git-annex is not installed. Install: ${my()}`);else if(D.compatible===!1)$.push(`git-annex version ${D.version} is too old. Required: >= ${D.minVersion}`);if(!F.accessible)$.push("GitHub SSH access not configured. Run 'nemar auth setup-ssh' to configure automatically.");return{gitAnnex:D,githubSSH:F,allPassed:$.length===0,errors:$}}async function j8(D){if(!by(r2(D,".git")))return!1;try{let{exitCode:F}=await l(["git","annex","info"],{cwd:D});return F===0}catch(F){let $=F instanceof Error?F.message:String(F);if(!$.includes("ENOENT")&&!$.includes("not found"))console.error(`Error checking if ${D} is a git-annex dataset:`,$);return!1}}async function o$(D,F={}){if(!F.force&&await j8(D))return{success:!0};try{let $={};if(F.author)$.GIT_AUTHOR_NAME=F.author.name,$.GIT_AUTHOR_EMAIL=F.author.email,$.GIT_COMMITTER_NAME=F.author.name,$.GIT_COMMITTER_EMAIL=F.author.email;let{stderr:B,exitCode:J}=await l(["git","init",D],{...Object.keys($).length>0?{env:$}:{}});if(J!==0)return{success:!1,error:B.trim()||"Failed to initialize git repository"};let{stderr:Q,exitCode:X}=await l(["git","annex","init"],{cwd:D,...Object.keys($).length>0?{env:$}:{}});if(X!==0)return{success:!1,error:Q.trim()||"Failed to initialize git-annex"};let{exitCode:Y}=await l(["git","annex","adjust","--unlock"],{cwd:D,...Object.keys($).length>0?{env:$}:{}});if(Y!==0)console.warn("Could not switch to unlocked mode; data files will be symlinks");return{success:!0}}catch($){return{success:!1,error:$.message}}}async function ly(D){try{let{exitCode:F,stderr:$}=await l(["git","annex","info"],{cwd:D});if(F===0)return{success:!0};if($.includes("First run: git-annex init")){let{stderr:B,exitCode:J}=await l(["git","annex","init"],{cwd:D});if(J!==0)return{success:!1,error:B.trim()||"Failed to initialize git-annex"};return{success:!0}}return{success:!1,error:$.trim()||"Failed to check git-annex status"}}catch(F){return{success:!1,error:F.message}}}async function s$(D,F){let B=F||"include=*.edf or include=*.bdf or include=*.set or include=*.fif or include=*.vhdr or include=*.eeg or include=*.cnt or include=*.fdt or largerthan=100kb";try{let{stderr:J,exitCode:Q}=await l(["git","annex","config","--set","annex.largefiles",B],{cwd:D});if(Q!==0)return{success:!1,error:J.trim()||"Failed to configure largefiles"};return{success:!0}}catch(J){return{success:!1,error:J.message}}}async function qHD(){try{let{exitCode:D,stderr:F}=await l(["ssh","-T","-o","BatchMode=yes","-o","ConnectTimeout=5","git@github.com"]),$=F.includes("successfully authenticated");if(!$)console.warn("SSH test to github.com failed:",{exitCode:D,stderr:F.trim().slice(0,500)});return{works:$,error:$?void 0:F.trim().slice(0,500)}}catch(D){let F=D instanceof Error?D.message:String(D);return console.warn("SSH test exception:",F),{works:!1,error:F}}}async function EHD(){try{let{stdout:D,exitCode:F,stderr:$}=await l(["gh","auth","token"]);if(F!==0)return console.warn("gh CLI returned non-zero exit code:",F),console.warn("stderr:",$),{token:null,error:`gh auth token failed: ${$.trim()||"unknown error"}`};if(!D.trim())return console.warn("gh auth token returned empty output"),{token:null,error:"gh CLI returned empty token"};return{token:D.trim()}}catch(D){let F=D instanceof Error?D.message:String(D);if(console.error("Failed to get GitHub token from gh CLI:",F),F.includes("ENOENT")||F.includes("not found"))return{token:null,error:"gh CLI not installed (command not found)"};return{token:null,error:`gh CLI error: ${F}`}}}async function r$(D){try{let{stdout:F,exitCode:$,stderr:B}=await l(["gh","api","user","--jq",".login"]);if($!==0){if(B.includes("not logged in")||B.includes("auth login"))return{authenticated:!1,error:"gh CLI not authenticated. Run 'gh auth login' to authenticate."};return{authenticated:!1,error:`gh CLI error: ${B.trim()||"unknown error"}`}}let J=F.trim();if(!J)return{authenticated:!1,error:"gh CLI returned empty username"};if(D){let Q=J.toLowerCase()===D.toLowerCase();return{authenticated:!0,username:J,matches:Q,error:Q?void 0:`gh CLI authenticated as '${J}', expected '${D}'`}}return{authenticated:!0,username:J}}catch(F){let $=F instanceof Error?F.message:String(F);if($.includes("ENOENT")||$.includes("not found"))return{authenticated:!1,error:"gh CLI not installed. Install from https://cli.github.com/"};return{authenticated:!1,error:`Failed to verify gh CLI: ${$}`}}}async function t$(D){if(!/^[a-zA-Z0-9_.-]+\/[a-zA-Z0-9_.-]+$/.test(D))return{accepted:!1,error:`Invalid repository format: ${D}`};let{stdout:F,exitCode:$,stderr:B}=await l(["gh","api","/user/repository_invitations"]);if($!==0){if(B.includes("not logged in")||B.includes("auth login"))return{accepted:!1,error:"gh CLI not authenticated. Run 'gh auth login' to authenticate."};if(B.includes("API rate limit")||B.includes("403"))return{accepted:!1,error:"GitHub API rate limit exceeded. Please try again in a few minutes."};if(B.includes("ENOENT")||B.includes("not found"))return{accepted:!1,error:"gh CLI not installed. Install from https://cli.github.com/"};return{accepted:!1,error:`Failed to list invitations: ${B.trim()||"unknown error"}`}}let J=null;try{J=JSON.parse(F||"[]").find((H)=>H.repository.full_name===D)?.id??null}catch(Y){let G=Y instanceof Error?Y.message:String(Y);return console.error("Failed to parse GitHub invitations response:",G),console.error(" Raw response (first 500 chars):",(F||"").slice(0,500)),{accepted:!1,error:`Failed to parse GitHub API response: ${G}`}}if(!J){let{exitCode:Y}=await l(["gh","api",`/repos/${D}`,"--silent"]);if(Y===0)return{accepted:!0,alreadyCollaborator:!0};return{accepted:!1,error:`No pending invitation found for ${D}. You may need to accept it manually via GitHub.`}}let{exitCode:Q,stderr:X}=await l(["gh","api","--method","PATCH",`/user/repository_invitations/${J}`]);if(Q!==0)return{accepted:!1,error:`Failed to accept invitation: ${X.trim()||"unknown error"}`};return{accepted:!0}}async function e$(D,F,$="origin"){let B=F;if(process.env.GH_TOKEN&&F.startsWith("git@github.com:")){let J=process.env.GH_TOKEN.trim();if(!J||/\s/.test(J))return{success:!1,error:"GH_TOKEN environment variable is set but appears malformed (empty or contains whitespace)"};let Q=F.replace("git@github.com:","");B=`https://${J}@github.com/${Q}`}else if(F.startsWith("git@github.com:")){let J=F.replace("git@github.com:",""),Q=await qHD();if(Q.works)B=F;else{console.warn("GitHub SSH not available, falling back to HTTPS with gh CLI token...");let X=await EHD();if(X.token)B=`https://${X.token}@github.com/${J}`,console.warn("Note: using HTTPS with gh CLI token. If the token expires, re-run 'gh auth login'.");else return{success:!1,error:`GitHub authentication not configured.
|
|
120
120
|
|
|
121
121
|
SSH failed: ${Q.error||"could not connect"}
|
|
122
122
|
gh CLI failed: ${X.error||"could not get token"}
|
|
@@ -132,7 +132,7 @@ Fix one of these:
|
|
|
132
132
|
`)){let Z=V.match(/^drop (.+) \(unsafe\)/);if(Z)H.push(Z[1])}let q=J.match(/^drop .+ ok$/gm),E=q?q.length:0;return{success:!1,error:Q.trim(),dropped:E,kept:H}}let Y=J.match(/^drop .+ ok$/gm);return{success:!0,dropped:Y?Y.length:0,kept:[]}}catch(B){return{success:!1,error:(B instanceof Error?B.message:String(B))||"Unknown error during drop",dropped:0,kept:[]}}}var hy=/^[a-zA-Z0-9._-]+$/;async function py(D){let F=[],{stdout:$,exitCode:B}=await l(["git","config","--get-regexp","^remote\\..*\\.annex-s3"],{cwd:D});if(B===0&&$.trim())for(let H of $.trim().split(`
|
|
133
133
|
`)){let q=H.match(/^remote\.(.+?)\.annex-/);if(q&&hy.test(q[1]))F.push(q[1])}if(F.length>0)return[...new Set(F)];let{stdout:J,exitCode:Q,stderr:X}=await l(["git","annex","info","--json"],{cwd:D});if(Q!==0){if(X.trim())console.error(`git annex info failed: ${X.trim()}`);return[]}if(!J.trim())return[];let Y;try{Y=JSON.parse(J)}catch(H){let q=H instanceof Error?H.message:String(H);return console.error(`Failed to parse git-annex info JSON: ${q}`),[]}let G=[...Array.isArray(Y["trusted repositories"])?Y["trusted repositories"]:[],...Array.isArray(Y["semitrusted repositories"])?Y["semitrusted repositories"]:[],...Array.isArray(Y["untrusted repositories"])?Y["untrusted repositories"]:[]];for(let H of G){if(!H?.description?.includes("["))continue;let q=H.description.match(/\[(.+?)\]/);if(!q)continue;let E=q[1];if(!hy.test(E))continue;let{stdout:V}=await l(["git","config",`remote.${E}.annex-s3`],{cwd:D});if(V.trim())F.push(E)}return[...new Set(F)]}async function cy(D,F,$=4){try{let B=["git","annex","copy","--to",F,"-J",$.toString(),"."],{stdout:J,stderr:Q,exitCode:X}=await l(B,{cwd:D});if(X!==0)return{success:!1,error:Q.trim()||"Failed to copy to remote",filesCopied:0};let Y=J.match(/^copy .+ ok$/gm);return{success:!0,filesCopied:Y?Y.length:0}}catch(B){return{success:!1,error:(B instanceof Error?B.message:String(B))||"Unknown error during copy",filesCopied:0}}}async function ny(D){if(!by(D))return null;try{let{stdout:F,exitCode:$}=await l(["git","annex","info","--json"],{cwd:D});if($===0){let B=JSON.parse(F),J=0,Q=B["local annex size"]||"0 bytes",X=Q.match(/([\d.]+)\s*(bytes?|KB|MB|GB|TB)/i);if(X){let H=Number.parseFloat(X[1]),q=X[2].toLowerCase();J=H*({byte:1,bytes:1,kb:1024,mb:1048576,gb:1073741824,tb:1099511627776}[q]||1)}let Y=B["annexed files in working tree"]||0,G=B["local annex keys"]||0;return{files:Y,size:Q,sizeBytes:J,annexedFiles:Y,presentFiles:G,missingFiles:Y-G}}}catch(F){let $=F instanceof Error?F.message:String(F);console.warn(`Failed to get git-annex info for ${D}: ${$}`)}try{let{stdout:F}=await l(["find",".","-type","f","-not","-path","./.git/*"],{cwd:D}),$=F.trim().split(`
|
|
134
134
|
`).filter(Boolean).length;return{files:$,size:"unknown",sizeBytes:0,annexedFiles:0,presentFiles:$,missingFiles:0}}catch(F){let $=F instanceof Error?F.message:String(F);return console.warn(`Failed to count files in ${D}: ${$}`),null}}async function iy(D){try{let{stdout:F,exitCode:$}=await l(["git","tag","-l","--sort=-version:refname","--format=%(refname:short)|%(creatordate:short)|%(objectname:short)"],{cwd:D});if($!==0||!F.trim())return[];return F.trim().split(`
|
|
135
|
-
`).map((B)=>{let[J,Q,X]=B.split("|");return{version:J,date:Q,commit:X}})}catch{return[]}}async function ay(D,F){try{let $=F.startsWith("v")?F:`v${F}`,{stdout:B,exitCode:J}=await l(["git","rev-parse",$],{cwd:D});if(J!==0)return null;return B.trim()}catch{return null}}async function oy(D,F,$){try{let{stderr:B,exitCode:J}=await l(["git","checkout","-b",$],{cwd:D});if(J!==0)return{success:!1,error:B.trim()||"Failed to create branch"};let Q=F.startsWith("v")?F:`v${F}`,{stderr:X,exitCode:Y}=await l(["git","checkout",Q,"--","."],{cwd:D});if(Y!==0)return{success:!1,error:X.trim()||"Failed to checkout files from target version"};return{success:!0}}catch(B){return{success:!1,error:B.message}}}async function sy(D,F,$){let B=$||`Revert to ${F}`;try{let{exitCode:J}=await l(["git","add","-A"],{cwd:D});if(J!==0)return{success:!1,error:"Failed to stage changes"};let{stdout:Q}=await l(["git","status","--porcelain"],{cwd:D});if(!Q.trim())return{success:!1,error:"No changes to revert (already at target version)"};let{stderr:X,exitCode:Y}=await l(["git","commit","-m",B],{cwd:D});if(Y!==0)return{success:!1,error:X.trim()||"Failed to commit"};return{success:!0}}catch(J){return{success:!1,error:J.message}}}async function g5(D,F,$="origin"){try{let{stderr:B,exitCode:J}=await l(["git","push","-u",$,F],{cwd:D});if(J!==0)return{success:!1,error:B.trim()||"Failed to push branch"};return{success:!0}}catch(B){return{success:!1,error:B.message}}}async function FB(D){try{let{stdout:F,exitCode:$}=await l(["git","rev-parse","--abbrev-ref","HEAD"],{cwd:D});if($!==0)return null;return F.trim()}catch{return null}}async function $B(D){try{let{stdout:F,exitCode:$}=await l(["git","remote","get-url","origin"],{cwd:D});if($!==0||!F.trim())return null;let J=F.trim().match(/[/:]([^/]+?)(?:\.git)?$/);if(!J)return null;return J[1]}catch{return null}}var VHD=102400,ZHD=new Set([".edf",".bdf",".eeg",".vhdr",".vmrk",".set",".fdt",".cnt",".mff",".fif",".nii",".nii.gz",".mat",".bin"]);async function ry(D){let F=[],$=0,B=0,J=0,{stdout:Q,exitCode:X}=await l(["find",".","-type","f","-not","-path","./.git/*","-not","-path","./.nemar/*","-not","-name",".gitattributes"],{cwd:D});if(X!==0)return{files:F,totalSize:$,dataFiles:B,metadataFiles:J};let Y=Q.trim().split(`
|
|
135
|
+
`).map((B)=>{let[J,Q,X]=B.split("|");return{version:J,date:Q,commit:X}})}catch{return[]}}async function ay(D,F){try{let $=F.startsWith("v")?F:`v${F}`,{stdout:B,exitCode:J}=await l(["git","rev-parse",$],{cwd:D});if(J!==0)return null;return B.trim()}catch{return null}}async function oy(D,F,$){try{let{stderr:B,exitCode:J}=await l(["git","checkout","-b",$],{cwd:D});if(J!==0)return{success:!1,error:B.trim()||"Failed to create branch"};let Q=F.startsWith("v")?F:`v${F}`,{stderr:X,exitCode:Y}=await l(["git","checkout",Q,"--","."],{cwd:D});if(Y!==0)return{success:!1,error:X.trim()||"Failed to checkout files from target version"};return{success:!0}}catch(B){return{success:!1,error:B.message}}}async function sy(D,F,$){let B=$||`Revert to ${F}`;try{let{exitCode:J}=await l(["git","add","-A"],{cwd:D});if(J!==0)return{success:!1,error:"Failed to stage changes"};let{stdout:Q}=await l(["git","status","--porcelain"],{cwd:D});if(!Q.trim())return{success:!1,error:"No changes to revert (already at target version)"};let{stderr:X,exitCode:Y}=await l(["git","commit","-m",B],{cwd:D});if(Y!==0)return{success:!1,error:X.trim()||"Failed to commit"};return{success:!0}}catch(J){return{success:!1,error:J.message}}}async function g5(D,F,$="origin"){try{let{stderr:B,exitCode:J}=await l(["git","push","-u",$,F],{cwd:D});if(J!==0)return{success:!1,error:B.trim()||"Failed to push branch"};return{success:!0}}catch(B){return{success:!1,error:B.message}}}async function FB(D){try{let{stdout:F,exitCode:$}=await l(["git","rev-parse","--abbrev-ref","HEAD"],{cwd:D});if($!==0)return null;return F.trim()}catch{return null}}async function $B(D){try{let{stdout:F,exitCode:$}=await l(["git","remote","get-url","origin"],{cwd:D});if($!==0||!F.trim())return null;let J=F.trim().match(/[/:]([^/]+?)(?:\.git)?$/);if(!J)return null;return J[1]}catch{return null}}var VHD=102400,ZHD=new Set([".edf",".bdf",".eeg",".vhdr",".vmrk",".set",".fdt",".cnt",".mff",".fif",".nii",".nii.gz",".mat",".bin"]);async function ry(D){let F=[],$=0,B=0,J=0,{stdout:Q,exitCode:X}=await l(["find",".","(","-type","f","-o","-type","l",")","-not","-path","./.git/*","-not","-path","./.nemar/*","-not","-name",".gitattributes"],{cwd:D});if(X!==0)return{files:F,totalSize:$,dataFiles:B,metadataFiles:J};let Y=Q.trim().split(`
|
|
136
136
|
`).filter(Boolean);for(let G of Y){let H=G.startsWith("./")?G.slice(2):G,q=r2(D,H);try{let V=YHD(q).size;$+=V;let Z=H.toLowerCase().match(/\.[^.]+$/)?.[0]||"",A=ZHD.has(Z)||V>VHD,L=A?"data":"metadata";if(A)B++;else J++;F.push({path:H,size:V,type:L})}catch{}}return{files:F,totalSize:$,dataFiles:B,metadataFiles:J}}function i0(D,F,$,B){if(D instanceof u){F.fail(D.message);let J=B?.[D.statusCode];if(J)console.log(W.gray(` ${J}`));else if(D.statusCode===403)console.log(W.gray(" This command requires admin privileges"))}else F.fail($),console.log(W.gray(` Error details: ${F0(D)}`))}async function Bx(D,F){let{spawn:$}=awaitPromise.resolve(globalThis.Bun),B=F==="README"?`repos/${D}/readme`:`repos/${D}/contents/${F}`,J=$({cmd:["gh","api",B,"--jq",".content"],stdout:"pipe",stderr:"pipe"}),Q=await new Response(J.stdout).text();if(await J.exited!==0||!Q.trim())return null;return Buffer.from(Q.trim(),"base64").toString("utf-8")}var O0=new K0("admin").description("Admin commands (requires admin privileges)").addHelpText("after",`
|
|
137
137
|
Description:
|
|
138
138
|
Administrative commands for managing NEMAR users and datasets.
|
|
@@ -756,7 +756,7 @@ Examples:
|
|
|
756
756
|
$ nemar sandbox # Run sandbox training
|
|
757
757
|
$ nemar sandbox status # Check if training is completed
|
|
758
758
|
$ nemar sandbox reset # Reset for re-training
|
|
759
|
-
`).action(HWD);async function HWD(){if(console.log(),console.log(W.bold("NEMAR Sandbox Training")),console.log(W.gray("Verify your setup and learn the upload workflow")),console.log(),!fD()){console.log(W.red("Not authenticated")),console.log(W.gray("Run 'nemar auth login' first"));return}let D=rD();if(D.sandboxCompleted){console.log(W.green("Sandbox training already completed!")),console.log(W.gray(`Dataset ID: ${D.sandboxDatasetId}`)),console.log(),console.log("You can upload real datasets with:"),console.log(W.cyan(" nemar dataset upload ./your-dataset")),console.log(),console.log(W.gray("To re-run training, use: nemar sandbox reset"));return}console.log(W.bold("Step 1/6: Checking prerequisites..."));let F=C("Checking git-annex and SSH...").start(),$=await a$();if(!$.allPassed){F.fail("Prerequisites check failed"),console.log(),console.log(W.red("Missing requirements:"));for(let S of $.errors)console.log(W.yellow(` - ${S}`));if(!$.githubSSH.accessible)console.log(W.gray(" Run 'nemar auth setup-ssh' to configure SSH"));return}F.succeed("All prerequisites met");let B=C("Verifying GitHub CLI authentication...").start(),J=await r$(D.githubUsername);if(!J.authenticated){B.fail("GitHub CLI not authenticated"),console.log(W.red(` ${J.error}`)),console.log(),console.log("GitHub CLI is required for sandbox training. Install and authenticate:"),console.log(W.cyan(" brew install gh # or visit https://cli.github.com/")),console.log(W.cyan(" gh auth login"));return}if(D.githubUsername&&!J.matches)B.warn("GitHub CLI user mismatch"),console.log(W.yellow(` ${J.error}`)),console.log(),console.log("Your gh CLI is authenticated as a different GitHub account than your NEMAR account."),console.log("This may cause issues with repository access. To fix:"),console.log(W.cyan(` gh auth login # Login as ${D.githubUsername}`)),console.log(),console.log(W.yellow("WARNING: If upload fails with permission errors, this mismatch is the likely cause.")),console.log();else B.succeed(`GitHub CLI authenticated as ${J.username}`);console.log(),console.log(W.bold("Step 2/6: Generating test dataset..."));let Q=C("Creating minimal BIDS structure...").start(),X;try{let S=Sx();X=S.root;let I=kx(S);Q.succeed(`Test dataset created (${h3(I)})`),console.log(W.gray(` Location: ${X}`))}catch(S){Q.fail("Failed to generate test dataset"),console.log(W.red(` ${S instanceof Error?S.message:"Unknown error"}`));return}console.log(),console.log(W.bold("Step 3/6: Registering sandbox dataset..."));let Y=C("Creating dataset on NEMAR...").start(),G,H,q,E,V,Z;try{let S=await n$({name:"Sandbox Training Dataset",description:"Placeholder dataset for sandbox training",files:[{path:"sub-01/eeg/sub-01_task-rest_eeg.edf",size:512000,type:"data"},{path:"dataset_description.json",size:200,type:"metadata"},{path:"participants.tsv",size:50,type:"metadata"},{path:"README",size:500,type:"metadata"},{path:"sub-01/eeg/sub-01_task-rest_eeg.json",size:300,type:"metadata"}],sandbox:!0});G=S.dataset.dataset_id,H=S.dataset.ssh_url,q=S.dataset.github_url,E=S.s3_config,V=S.dataset.s3_prefix,Z=S.upload_urls||{},Y.succeed(`Sandbox dataset created: ${W.cyan(G)}`),console.log(W.gray(` GitHub: ${q}`)),await new Promise((I)=>setTimeout(I,1e4))}catch(S){if(Y.fail("Failed to create sandbox dataset"),S instanceof u)console.log(W.red(` ${S.message}`));else console.log(W.red(` ${S instanceof Error?S.message:"Unknown error"}`));x1(X);return}let A=C("Accepting GitHub repository invitation...").start(),L=q?.match(/github\.com\/([a-zA-Z0-9_.-]+\/[a-zA-Z0-9_.-]+)/),M=L?L[1].replace(/\.git$/,""):null;if(!M){A.fail("Invalid GitHub repository URL from backend"),console.log(W.red(` Received: ${q||"(empty)"}`)),console.log(W.red(" Expected format: https://github.com/owner/repo")),console.log(),console.log("This may indicate a backend issue. Please contact support."),x1(X);return}let U=await t$(M);if(U.accepted)if(U.alreadyCollaborator)A.succeed("Already a collaborator on this repository");else A.succeed("GitHub invitation accepted");else A.warn("Could not auto-accept invitation"),console.log(W.yellow(` ${U.error}`)),console.log(),console.log("You may need to accept the invitation manually:"),console.log(W.cyan(` https://github.com/${M}/invitations`)),console.log();console.log(),console.log(W.bold("Step 4/6: Initializing repository..."));let N=C("Setting up git-annex...").start(),T=D.username&&D.email?{name:D.username,email:D.email}:void 0;try{await o$(X,{author:T}),await s$(X),await e$(X,H),N.succeed("Repository initialized")}catch(S){N.fail("Failed to initialize repository"),console.log(W.red(` ${S instanceof Error?S.message:"Unknown error"}`)),x1(X);return}if(console.log(),console.log(W.bold("Step 5/6: Uploading to S3...")),Object.keys(Z).length===0)console.log(W.yellow(" No data files to upload (metadata only)"));else{let S=C("Uploading test data...").start();try{let c=0,zD=Object.keys(Z).length,YD=await _5(X,Z,{jobs:4,onProgress:(O)=>{if(O.status==="completed"||O.status==="failed")c++,S.text=`Uploading... ${c}/${zD} files`}});if(YD.failed.length>0){S.fail(`Upload failed for ${YD.failed.length} file(s)`);for(let O of YD.failed)console.log(W.red(` Failed: ${O}`));if(YD.error)console.log(W.red(` Error: ${YD.error}`));console.log(),console.log(W.yellow("Sandbox training aborted due to upload failures.")),console.log(W.gray("Please check your network connection and try again.")),x1(X);return}S.succeed(`Uploaded ${YD.uploaded} file(s)`)}catch(c){S.fail("Upload failed"),console.log(W.red(` ${c instanceof Error?c.message:"Unknown error"}`)),x1(X);return}let I=C("Registering file URLs...").start();try{let c={};for(let YD of Object.keys(Z))c[YD]=`${E.public_url}/${V}/objects/${YD}`;let zD=await DB(X,c);if(!zD.success){I.fail(`URL registration failed for ${zD.failed.length} file(s)`);for(let YD of zD.failed)console.log(W.red(` Failed: ${YD}`));console.log(),console.log(W.yellow("Sandbox training aborted due to URL registration failures.")),console.log(W.gray("This may indicate a git-annex configuration issue.")),x1(X);return}I.succeed(`Registered ${zD.registered} file URLs`)}catch(c){I.fail("Failed to register URLs"),console.log(W.red(` ${c instanceof Error?c.message:"Unknown error"}`)),x1(X);return}}console.log(),console.log(W.bold("Step 6/6: Pushing to GitHub..."));let v=C("Saving and pushing...").start();try{await y5(X,"Initial sandbox training upload",T),await x5(X),v.succeed("Pushed to GitHub")}catch(S){v.fail("Failed to push to GitHub"),console.log(W.red(` ${S instanceof Error?S.message:"Unknown error"}`)),x1(X);return}let R=C("Finalizing...").start();try{await i$(G),await Ry(G),R8("sandboxCompleted",!0),R8("sandboxDatasetId",G),R.succeed("Sandbox training complete!")}catch(S){R.fail("Failed to finalize"),console.log(W.red(` ${S instanceof Error?S.message:"Unknown error"}`)),x1(X);return}x1(X),console.log(),console.log(W.green.bold("Congratulations! Sandbox training completed successfully.")),console.log(),console.log("Your setup is verified and you're ready to upload real datasets:"),console.log(W.cyan(" nemar dataset upload ./your-dataset")),console.log(),console.log(W.gray(`Sandbox dataset: ${G}`))}EB.command("status").description("Check sandbox training completion status").option("--refresh","Fetch latest status from server").action(async(D)=>{if(!fD()){console.log(W.red("Not authenticated")),console.log(W.gray("Run 'nemar auth login' first"));return}if(D.refresh){let F=C("Checking status...").start();try{let $=await Ty();if(R8("sandboxCompleted",$.sandbox_completed),$.sandbox_dataset_id)R8("sandboxDatasetId",$.sandbox_dataset_id);if(F.stop(),$.sandbox_completed){if(console.log(W.green("Sandbox training: Completed")),console.log(W.gray(` Dataset ID: ${$.sandbox_dataset_id}`)),$.sandbox_completed_at)console.log(W.gray(` Completed: ${$.sandbox_completed_at}`))}else console.log(W.yellow("Sandbox training: Not completed")),console.log(),console.log("Run sandbox training with:"),console.log(W.cyan(" nemar sandbox"))}catch($){if(F.fail("Failed to check status"),$ instanceof u)console.log(W.red(` ${$.message}`))}}else{let F=rD();if(F.sandboxCompleted)console.log(W.green("Sandbox training: Completed")),console.log(W.gray(` Dataset ID: ${F.sandboxDatasetId}`));else console.log(W.yellow("Sandbox training: Not completed")),console.log(),console.log("Run sandbox training with:"),console.log(W.cyan(" nemar sandbox"))}});EB.command("reset").description("Reset sandbox training status for re-training").option(jD,TD).option(mD,lD).action(async(D)=>{if(!fD()){console.log(W.red("Not authenticated")),console.log(W.gray("Run 'nemar auth login' first"));return}if(!rD().sandboxCompleted){console.log(W.yellow("Sandbox training not yet completed")),console.log(W.gray("Nothing to reset"));return}let $=await ID("Reset sandbox training status? You will need to complete training again.",D);if($!=="confirmed"){console.log(W.gray($==="declined"?"Skipped":"Cancelled"));return}let B=C("Resetting sandbox status...").start();try{await jy(),i2("sandboxCompleted"),i2("sandboxDatasetId"),B.succeed("Sandbox status reset"),console.log(),console.log("Run sandbox training again with:"),console.log(W.cyan(" nemar sandbox"))}catch(J){if(B.fail("Failed to reset"),J instanceof u)console.log(W.red(` ${J.message}`));else console.log(W.red(` ${J instanceof Error?J.message:"Unknown error"}`))}});var vx={name:"nemar-cli",version:"0.5.3-dev.276",description:"CLI for NEMAR (Neuroelectromagnetic Data Archive and Tools Resource) dataset management",type:"module",main:"dist/index.js",bin:{nemar:"dist/index.js"},scripts:{dev:"bun run src/index.ts",build:"bun build src/index.ts --outdir dist --target bun --minify && sed '1s|#!/usr/bin/env node|#!/usr/bin/env bun|' dist/index.js > dist/index.js.tmp && mv dist/index.js.tmp dist/index.js",test:"bun test",lint:"biome check src/","lint:fix":"biome check --fix src/",format:"biome format --write src/",typecheck:"tsc --noEmit",prepublishOnly:"bun run build","docs:generate":"bun run scripts/generate-docs.ts","docs:serve":"mkdocs serve","docs:build":"mkdocs build"},keywords:["nemar","bids","neuroimaging","eeg","emg","datalad","cli"],author:"NEMAR Team",license:"MIT",repository:{type:"git",url:"git+https://github.com/nemarOrg/nemar-cli.git"},bugs:{url:"https://github.com/nemarOrg/nemar-cli/issues"},homepage:"https://nemar-cli.pages.dev",engines:{bun:">=1.0.0"},files:["dist","README.md","LICENSE"],dependencies:{chalk:"^5.3.0",commander:"^12.1.0",conf:"^13.0.1",inquirer:"^9.2.15",ora:"^8.0.1",zod:"^3.23.8"},devDependencies:{"@biomejs/biome":"1.9.4","@types/bcryptjs":"^3.0.0","@types/bun":"latest","@types/inquirer":"^9.0.7",bcryptjs:"^3.0.3",typescript:"^5.5.4"}};var yx=vx.version;var q1=new K0;q1.name("nemar").description(`CLI for NEMAR (Neuroelectromagnetic Data Archive and Tools Resource)
|
|
759
|
+
`).action(HWD);async function HWD(){if(console.log(),console.log(W.bold("NEMAR Sandbox Training")),console.log(W.gray("Verify your setup and learn the upload workflow")),console.log(),!fD()){console.log(W.red("Not authenticated")),console.log(W.gray("Run 'nemar auth login' first"));return}let D=rD();if(D.sandboxCompleted){console.log(W.green("Sandbox training already completed!")),console.log(W.gray(`Dataset ID: ${D.sandboxDatasetId}`)),console.log(),console.log("You can upload real datasets with:"),console.log(W.cyan(" nemar dataset upload ./your-dataset")),console.log(),console.log(W.gray("To re-run training, use: nemar sandbox reset"));return}console.log(W.bold("Step 1/6: Checking prerequisites..."));let F=C("Checking git-annex and SSH...").start(),$=await a$();if(!$.allPassed){F.fail("Prerequisites check failed"),console.log(),console.log(W.red("Missing requirements:"));for(let S of $.errors)console.log(W.yellow(` - ${S}`));if(!$.githubSSH.accessible)console.log(W.gray(" Run 'nemar auth setup-ssh' to configure SSH"));return}F.succeed("All prerequisites met");let B=C("Verifying GitHub CLI authentication...").start(),J=await r$(D.githubUsername);if(!J.authenticated){B.fail("GitHub CLI not authenticated"),console.log(W.red(` ${J.error}`)),console.log(),console.log("GitHub CLI is required for sandbox training. Install and authenticate:"),console.log(W.cyan(" brew install gh # or visit https://cli.github.com/")),console.log(W.cyan(" gh auth login"));return}if(D.githubUsername&&!J.matches)B.warn("GitHub CLI user mismatch"),console.log(W.yellow(` ${J.error}`)),console.log(),console.log("Your gh CLI is authenticated as a different GitHub account than your NEMAR account."),console.log("This may cause issues with repository access. To fix:"),console.log(W.cyan(` gh auth login # Login as ${D.githubUsername}`)),console.log(),console.log(W.yellow("WARNING: If upload fails with permission errors, this mismatch is the likely cause.")),console.log();else B.succeed(`GitHub CLI authenticated as ${J.username}`);console.log(),console.log(W.bold("Step 2/6: Generating test dataset..."));let Q=C("Creating minimal BIDS structure...").start(),X;try{let S=Sx();X=S.root;let I=kx(S);Q.succeed(`Test dataset created (${h3(I)})`),console.log(W.gray(` Location: ${X}`))}catch(S){Q.fail("Failed to generate test dataset"),console.log(W.red(` ${S instanceof Error?S.message:"Unknown error"}`));return}console.log(),console.log(W.bold("Step 3/6: Registering sandbox dataset..."));let Y=C("Creating dataset on NEMAR...").start(),G,H,q,E,V,Z;try{let S=await n$({name:"Sandbox Training Dataset",description:"Placeholder dataset for sandbox training",files:[{path:"sub-01/eeg/sub-01_task-rest_eeg.edf",size:512000,type:"data"},{path:"dataset_description.json",size:200,type:"metadata"},{path:"participants.tsv",size:50,type:"metadata"},{path:"README",size:500,type:"metadata"},{path:"sub-01/eeg/sub-01_task-rest_eeg.json",size:300,type:"metadata"}],sandbox:!0});G=S.dataset.dataset_id,H=S.dataset.ssh_url,q=S.dataset.github_url,E=S.s3_config,V=S.dataset.s3_prefix,Z=S.upload_urls||{},Y.succeed(`Sandbox dataset created: ${W.cyan(G)}`),console.log(W.gray(` GitHub: ${q}`)),await new Promise((I)=>setTimeout(I,1e4))}catch(S){if(Y.fail("Failed to create sandbox dataset"),S instanceof u)console.log(W.red(` ${S.message}`));else console.log(W.red(` ${S instanceof Error?S.message:"Unknown error"}`));x1(X);return}let A=C("Accepting GitHub repository invitation...").start(),L=q?.match(/github\.com\/([a-zA-Z0-9_.-]+\/[a-zA-Z0-9_.-]+)/),M=L?L[1].replace(/\.git$/,""):null;if(!M){A.fail("Invalid GitHub repository URL from backend"),console.log(W.red(` Received: ${q||"(empty)"}`)),console.log(W.red(" Expected format: https://github.com/owner/repo")),console.log(),console.log("This may indicate a backend issue. Please contact support."),x1(X);return}let U=await t$(M);if(U.accepted)if(U.alreadyCollaborator)A.succeed("Already a collaborator on this repository");else A.succeed("GitHub invitation accepted");else A.warn("Could not auto-accept invitation"),console.log(W.yellow(` ${U.error}`)),console.log(),console.log("You may need to accept the invitation manually:"),console.log(W.cyan(` https://github.com/${M}/invitations`)),console.log();console.log(),console.log(W.bold("Step 4/6: Initializing repository..."));let N=C("Setting up git-annex...").start(),T=D.username&&D.email?{name:D.username,email:D.email}:void 0;try{await o$(X,{author:T}),await s$(X),await e$(X,H),N.succeed("Repository initialized")}catch(S){N.fail("Failed to initialize repository"),console.log(W.red(` ${S instanceof Error?S.message:"Unknown error"}`)),x1(X);return}if(console.log(),console.log(W.bold("Step 5/6: Uploading to S3...")),Object.keys(Z).length===0)console.log(W.yellow(" No data files to upload (metadata only)"));else{let S=C("Uploading test data...").start();try{let c=0,zD=Object.keys(Z).length,YD=await _5(X,Z,{jobs:4,onProgress:(O)=>{if(O.status==="completed"||O.status==="failed")c++,S.text=`Uploading... ${c}/${zD} files`}});if(YD.failed.length>0){S.fail(`Upload failed for ${YD.failed.length} file(s)`);for(let O of YD.failed)console.log(W.red(` Failed: ${O}`));if(YD.error)console.log(W.red(` Error: ${YD.error}`));console.log(),console.log(W.yellow("Sandbox training aborted due to upload failures.")),console.log(W.gray("Please check your network connection and try again.")),x1(X);return}S.succeed(`Uploaded ${YD.uploaded} file(s)`)}catch(c){S.fail("Upload failed"),console.log(W.red(` ${c instanceof Error?c.message:"Unknown error"}`)),x1(X);return}let I=C("Registering file URLs...").start();try{let c={};for(let YD of Object.keys(Z))c[YD]=`${E.public_url}/${V}/objects/${YD}`;let zD=await DB(X,c);if(!zD.success){I.fail(`URL registration failed for ${zD.failed.length} file(s)`);for(let YD of zD.failed)console.log(W.red(` Failed: ${YD}`));console.log(),console.log(W.yellow("Sandbox training aborted due to URL registration failures.")),console.log(W.gray("This may indicate a git-annex configuration issue.")),x1(X);return}I.succeed(`Registered ${zD.registered} file URLs`)}catch(c){I.fail("Failed to register URLs"),console.log(W.red(` ${c instanceof Error?c.message:"Unknown error"}`)),x1(X);return}}console.log(),console.log(W.bold("Step 6/6: Pushing to GitHub..."));let v=C("Saving and pushing...").start();try{await y5(X,"Initial sandbox training upload",T),await x5(X),v.succeed("Pushed to GitHub")}catch(S){v.fail("Failed to push to GitHub"),console.log(W.red(` ${S instanceof Error?S.message:"Unknown error"}`)),x1(X);return}let R=C("Finalizing...").start();try{await i$(G),await Ry(G),R8("sandboxCompleted",!0),R8("sandboxDatasetId",G),R.succeed("Sandbox training complete!")}catch(S){R.fail("Failed to finalize"),console.log(W.red(` ${S instanceof Error?S.message:"Unknown error"}`)),x1(X);return}x1(X),console.log(),console.log(W.green.bold("Congratulations! Sandbox training completed successfully.")),console.log(),console.log("Your setup is verified and you're ready to upload real datasets:"),console.log(W.cyan(" nemar dataset upload ./your-dataset")),console.log(),console.log(W.gray(`Sandbox dataset: ${G}`))}EB.command("status").description("Check sandbox training completion status").option("--refresh","Fetch latest status from server").action(async(D)=>{if(!fD()){console.log(W.red("Not authenticated")),console.log(W.gray("Run 'nemar auth login' first"));return}if(D.refresh){let F=C("Checking status...").start();try{let $=await Ty();if(R8("sandboxCompleted",$.sandbox_completed),$.sandbox_dataset_id)R8("sandboxDatasetId",$.sandbox_dataset_id);if(F.stop(),$.sandbox_completed){if(console.log(W.green("Sandbox training: Completed")),console.log(W.gray(` Dataset ID: ${$.sandbox_dataset_id}`)),$.sandbox_completed_at)console.log(W.gray(` Completed: ${$.sandbox_completed_at}`))}else console.log(W.yellow("Sandbox training: Not completed")),console.log(),console.log("Run sandbox training with:"),console.log(W.cyan(" nemar sandbox"))}catch($){if(F.fail("Failed to check status"),$ instanceof u)console.log(W.red(` ${$.message}`))}}else{let F=rD();if(F.sandboxCompleted)console.log(W.green("Sandbox training: Completed")),console.log(W.gray(` Dataset ID: ${F.sandboxDatasetId}`));else console.log(W.yellow("Sandbox training: Not completed")),console.log(),console.log("Run sandbox training with:"),console.log(W.cyan(" nemar sandbox"))}});EB.command("reset").description("Reset sandbox training status for re-training").option(jD,TD).option(mD,lD).action(async(D)=>{if(!fD()){console.log(W.red("Not authenticated")),console.log(W.gray("Run 'nemar auth login' first"));return}if(!rD().sandboxCompleted){console.log(W.yellow("Sandbox training not yet completed")),console.log(W.gray("Nothing to reset"));return}let $=await ID("Reset sandbox training status? You will need to complete training again.",D);if($!=="confirmed"){console.log(W.gray($==="declined"?"Skipped":"Cancelled"));return}let B=C("Resetting sandbox status...").start();try{await jy(),i2("sandboxCompleted"),i2("sandboxDatasetId"),B.succeed("Sandbox status reset"),console.log(),console.log("Run sandbox training again with:"),console.log(W.cyan(" nemar sandbox"))}catch(J){if(B.fail("Failed to reset"),J instanceof u)console.log(W.red(` ${J.message}`));else console.log(W.red(` ${J instanceof Error?J.message:"Unknown error"}`))}});var vx={name:"nemar-cli",version:"0.5.3-dev.278",description:"CLI for NEMAR (Neuroelectromagnetic Data Archive and Tools Resource) dataset management",type:"module",main:"dist/index.js",bin:{nemar:"dist/index.js"},scripts:{dev:"bun run src/index.ts",build:"bun build src/index.ts --outdir dist --target bun --minify && sed '1s|#!/usr/bin/env node|#!/usr/bin/env bun|' dist/index.js > dist/index.js.tmp && mv dist/index.js.tmp dist/index.js",test:"bun test",lint:"biome check src/","lint:fix":"biome check --fix src/",format:"biome format --write src/",typecheck:"tsc --noEmit",prepublishOnly:"bun run build","docs:generate":"bun run scripts/generate-docs.ts","docs:serve":"mkdocs serve","docs:build":"mkdocs build"},keywords:["nemar","bids","neuroimaging","eeg","emg","datalad","cli"],author:"NEMAR Team",license:"MIT",repository:{type:"git",url:"git+https://github.com/nemarOrg/nemar-cli.git"},bugs:{url:"https://github.com/nemarOrg/nemar-cli/issues"},homepage:"https://nemar-cli.pages.dev",engines:{bun:">=1.0.0"},files:["dist","README.md","LICENSE"],dependencies:{chalk:"^5.3.0",commander:"^12.1.0",conf:"^13.0.1",inquirer:"^9.2.15",ora:"^8.0.1",zod:"^3.23.8"},devDependencies:{"@biomejs/biome":"1.9.4","@types/bcryptjs":"^3.0.0","@types/bun":"latest","@types/inquirer":"^9.0.7",bcryptjs:"^3.0.3",typescript:"^5.5.4"}};var yx=vx.version;var q1=new K0;q1.name("nemar").description(`CLI for NEMAR (Neuroelectromagnetic Data Archive and Tools Resource)
|
|
760
760
|
|
|
761
761
|
NEMAR is a curated repository for neurophysiology data in BIDS format.
|
|
762
762
|
This CLI provides tools for uploading, downloading, and managing datasets.`).version(yx,"-v, --version","Output the current version").option("--no-color","Disable colored output").option("--verbose","Enable verbose output").addHelpText("after",`
|
package/package.json
CHANGED