@shoppexio/storefront 1.0.37 → 1.0.38

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.
@@ -1,3 +1,3 @@
1
- var e=/* @__PURE__ */new Map,t=/* @__PURE__ */new Map,n={hits:0,misses:0};function o(){e.clear(),t.clear()}function i(t,n,o){const i=Date.now();e.set(t,{data:n,ttl:o,updatedAt:i,expiresAt:i+o})}async function r(o,r,a,s=()=>!0){const u=function(t){const n=e.get(t);return n||null}(o);if(u&&!function(e){return Date.now()>e.expiresAt}(u))return n.hits+=1,u.data;if(u&&a.staleWhileRevalidate){if(n.hits+=1,!t.has(o)){const e=(async()=>{try{const e=await r();return s(e)&&i(o,e,a.ttl),e}finally{t.delete(o)}})();t.set(o,e)}return u.data}if(t.has(o))return t.get(o);n.misses+=1;const c=(async()=>{try{const e=await r();return s(e)&&i(o,e,a.ttl),e}finally{t.delete(o)}})();return t.set(o,c),c}var a=class e extends Error{constructor(t,n,o){super(t),this.name="ShoppexError",this.code=n,this.statusCode=o,Object.setPrototypeOf(this,e.prototype)}},s=class e extends a{constructor(){super("SDK not initialized. Call shoppex.init() first.","NOT_INITIALIZED"),this.name="NotInitializedError",Object.setPrototypeOf(this,e.prototype)}},u=class e extends a{constructor(t,n){super(t,"NETWORK_ERROR",n),this.name="NetworkError",Object.setPrototypeOf(this,e.prototype)}},c=class e extends a{constructor(t,n,o,i){super(t,n,o),this.name="ApiError",this.errorParams=i,Object.setPrototypeOf(this,e.prototype)}},l=class e extends a{constructor(t,n){super(t,"VALIDATION_ERROR"),this.name="ValidationError",this.invalidFields=n,Object.setPrototypeOf(this,e.prototype)}},d=class e extends a{constructor(t){super(t,"BASKET_ERROR"),this.name="CartError",Object.setPrototypeOf(this,e.prototype)}},p=/\{[^{}]+\}/g;function f(e){let{baseUrl:t="",Request:n=globalThis.Request,fetch:o=globalThis.fetch,querySerializer:i,bodySerializer:r,pathSerializer:a,headers:s,requestInitExt:u,...c}={...e};u="object"==typeof process&&Number.parseInt(process?.versions?.node?.substring(0,2))>=18&&process.versions.undici?u:void 0,t=w(t);const l=[];async function d(e,d){const{baseUrl:p,fetch:f=o,Request:m=n,headers:_,params:h={},parseAs:S="json",querySerializer:k,bodySerializer:O=r??b,pathSerializer:z,body:x,middleware:E=[],...T}=d||{};let A=t;p&&(A=w(p)??t);let I="function"==typeof i?i:y(i);k&&(I="function"==typeof k?k:y({..."object"==typeof i?i:{},...k}));const $=z||a||g,N=void 0===x?void 0:O(x,v(s,_,h.header)),P=v(void 0===N||N instanceof FormData?{}:{"Content-Type":"application/json"},s,_,h.header),C=[...l,...E],R={redirect:"follow",...c,...T,body:N,headers:P};let U,q,j,D=new m(function(e,t){let n=`${t.baseUrl}${e}`;t.params?.path&&(n=t.pathSerializer(n,t.params.path));let o=t.querySerializer(t.params.query??{});o.startsWith("?")&&(o=o.substring(1));o&&(n+=`?${o}`);return n}(e,{baseUrl:A,params:h,querySerializer:I,pathSerializer:$}),R);for(const t in T)t in D||(D[t]=T[t]);if(C.length){U=Math.random().toString(36).slice(2,11),q=Object.freeze({baseUrl:A,fetch:f,parseAs:S,querySerializer:I,bodySerializer:O,pathSerializer:$});for(const t of C)if(t&&"object"==typeof t&&"function"==typeof t.onRequest){const n=await t.onRequest({request:D,schemaPath:e,params:h,options:q,id:U});if(n){if(!(n instanceof m)){if(n instanceof Response){j=n;break}throw new Error("onRequest: must return new Request() or Response() when modifying the request")}D=n}}}if(!j){try{j=await f(D,u)}catch(M){let t=M;if(C.length)for(let n=C.length-1;n>=0;n--){const o=C[n];if(o&&"object"==typeof o&&"function"==typeof o.onError){const n=await o.onError({request:D,error:t,schemaPath:e,params:h,options:q,id:U});if(n){if(n instanceof Response){t=void 0,j=n;break}if(n instanceof Error){t=n;continue}throw new Error("onError: must return new Response() or instance of Error")}}}if(t)throw t}if(C.length)for(let t=C.length-1;t>=0;t--){const n=C[t];if(n&&"object"==typeof n&&"function"==typeof n.onResponse){const t=await n.onResponse({request:D,response:j,schemaPath:e,params:h,options:q,id:U});if(t){if(!(t instanceof Response))throw new Error("onResponse: must return new Response() when modifying the response");j=t}}}}const L=j.headers.get("Content-Length");if(204===j.status||"HEAD"===D.method||"0"===L&&!j.headers.get("Transfer-Encoding")?.includes("chunked"))return j.ok?{data:void 0,response:j}:{error:void 0,response:j};if(j.ok){const e=async()=>{if("stream"===S)return j.body;if("json"===S&&!L){const e=await j.text();return e?JSON.parse(e):void 0}return await j[S]()};return{data:await e(),response:j}}let Z=await j.text();try{Z=JSON.parse(Z)}catch{}return{error:Z,response:j}}return{request:(e,t,n)=>d(t,{...n,method:e.toUpperCase()}),GET:(e,t)=>d(e,{...t,method:"GET"}),PUT:(e,t)=>d(e,{...t,method:"PUT"}),POST:(e,t)=>d(e,{...t,method:"POST"}),DELETE:(e,t)=>d(e,{...t,method:"DELETE"}),OPTIONS:(e,t)=>d(e,{...t,method:"OPTIONS"}),HEAD:(e,t)=>d(e,{...t,method:"HEAD"}),PATCH:(e,t)=>d(e,{...t,method:"PATCH"}),TRACE:(e,t)=>d(e,{...t,method:"TRACE"}),use(...e){for(const t of e)if(t){if("object"!=typeof t||!("onRequest"in t||"onResponse"in t||"onError"in t))throw new Error("Middleware must be an object with one of `onRequest()`, `onResponse() or `onError()`");l.push(t)}},eject(...e){for(const t of e){const e=l.indexOf(t);-1!==e&&l.splice(e,1)}}}}function m(e,t,n){if(null==t)return"";if("object"==typeof t)throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${!0===n?.allowReserved?t:encodeURIComponent(t)}`}function _(e,t,n){if(!t||"object"!=typeof t)return"";const o=[],i={simple:",",label:".",matrix:";"}[n.style]||"&";if("deepObject"!==n.style&&!1===n.explode){for(const e in t)o.push(e,!0===n.allowReserved?t[e]:encodeURIComponent(t[e]));const i=o.join(",");switch(n.style){case"form":return`${e}=${i}`;case"label":return`.${i}`;case"matrix":return`;${e}=${i}`;default:return i}}for(const a in t){const i="deepObject"===n.style?`${e}[${a}]`:a;o.push(m(i,t[a],n))}const r=o.join(i);return"label"===n.style||"matrix"===n.style?`${i}${r}`:r}function h(e,t,n){if(!Array.isArray(t))return"";if(!1===n.explode){const o={form:",",spaceDelimited:"%20",pipeDelimited:"|"}[n.style]||",",i=(!0===n.allowReserved?t:t.map(e=>encodeURIComponent(e))).join(o);switch(n.style){case"simple":return i;case"label":return`.${i}`;case"matrix":return`;${e}=${i}`;default:return`${e}=${i}`}}const o={simple:",",label:".",matrix:";"}[n.style]||"&",i=[];for(const r of t)"simple"===n.style||"label"===n.style?i.push(!0===n.allowReserved?r:encodeURIComponent(r)):i.push(m(e,r,n));return"label"===n.style||"matrix"===n.style?`${o}${i.join(o)}`:i.join(o)}function y(e){return function(t){const n=[];if(t&&"object"==typeof t)for(const o in t){const i=t[o];if(null!=i)if(Array.isArray(i)){if(0===i.length)continue;n.push(h(o,i,{style:"form",explode:!0,...e?.array,allowReserved:e?.allowReserved||!1}))}else"object"!=typeof i?n.push(m(o,i,e)):n.push(_(o,i,{style:"deepObject",explode:!0,...e?.object,allowReserved:e?.allowReserved||!1}))}return n.join("&")}}function g(e,t){let n=e;for(const o of e.match(p)??[]){let e=o.substring(1,o.length-1),i=!1,r="simple";if(e.endsWith("*")&&(i=!0,e=e.substring(0,e.length-1)),e.startsWith(".")?(r="label",e=e.substring(1)):e.startsWith(";")&&(r="matrix",e=e.substring(1)),!t||void 0===t[e]||null===t[e])continue;const a=t[e];Array.isArray(a)?n=n.replace(o,h(e,a,{style:r,explode:i})):n="object"!=typeof a?"matrix"!==r?n.replace(o,"label"===r?`.${encodeURIComponent(a)}`:encodeURIComponent(a)):n.replace(o,`;${m(e,a)}`):n.replace(o,_(e,a,{style:r,explode:i}))}return n}function b(e,t){return e instanceof FormData?e:t&&"application/x-www-form-urlencoded"===(t.get instanceof Function?t.get("Content-Type")??t.get("content-type"):t["Content-Type"]??t["content-type"])?new URLSearchParams(e).toString():JSON.stringify(e)}function v(...e){const t=new Headers;for(const n of e){if(!n||"object"!=typeof n)continue;const e=n instanceof Headers?n.entries():Object.entries(n);for(const[n,o]of e)if(null===o)t.delete(n);else if(Array.isArray(o))for(const e of o)t.append(n,e);else void 0!==o&&t.set(n,o)}return t}function w(e){return e.endsWith("/")?e.substring(0,e.length-1):e}var S={header:{title:"Header",aliases:["Header Menu"]},footer:{title:"Footer",aliases:["Footer Links","Legal Links"]}};var k;Object.keys(S);function O(e,t,n){function o(n,o){if(n._zod||Object.defineProperty(n,"_zod",{value:{def:o,constr:a,traits:/* @__PURE__ */new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,o);const i=a.prototype,r=Object.keys(i);for(let e=0;e<r.length;e++){const t=r[e];t in n||(n[t]=i[t].bind(n))}}const i=n?.Parent??Object;class r extends i{}function a(e){var t;const i=n?.Parent?new r:this;o(i,e),(t=i._zod).deferred??(t.deferred=[]);for(const n of i._zod.deferred)n();return i}return Object.defineProperty(r,"name",{value:e}),Object.defineProperty(a,"init",{value:o}),Object.defineProperty(a,Symbol.hasInstance,{value:t=>!!(n?.Parent&&t instanceof n.Parent)||t?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}var z=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},x=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}};(k=globalThis).__zod_globalConfig??(k.__zod_globalConfig={});var E=globalThis.__zod_globalConfig;function T(e){return e&&Object.assign(E,e),E}function A(e){const t=Object.values(e).filter(e=>"number"==typeof e);return Object.entries(e).filter(([e,n])=>-1===t.indexOf(+e)).map(([e,t])=>t)}function I(e,t){return"bigint"==typeof t?t.toString():t}function $(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function N(e){return null==e}function P(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}var C=/* @__PURE__*/Symbol("evaluating");function R(e,t,n){let o;Object.defineProperty(e,t,{get(){if(o!==C)return void 0===o&&(o=C,o=n()),o},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function U(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function q(...e){const t={};for(const n of e){const e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function j(e){return JSON.stringify(e)}var D="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function L(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}var Z=/* @__PURE__*/$(()=>{if(E.jitless)return!1;if("undefined"!=typeof navigator&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function M(e){if(!1===L(e))return!1;const t=e.constructor;if(void 0===t)return!0;if("function"!=typeof t)return!0;const n=t.prototype;return!1!==L(n)&&!1!==Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")}function F(e){return M(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var B=/* @__PURE__*/new Set(["string","number","symbol"]);function Y(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function J(e,t,n){const o=new e._zod.constr(t??e._zod.def);return t&&!n?.parent||(o._zod.parent=e),o}function W(e){const t=e;if(!t)return{};if("string"==typeof t)return{error:()=>t};if(void 0!==t?.message){if(void 0!==t?.error)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,"string"==typeof t.error?{...t,error:()=>t.error}:t}var G={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function H(e,t=0){if(!0===e.aborted)return!0;for(let n=t;n<e.issues.length;n++)if(!0!==e.issues[n]?.continue)return!0;return!1}function V(e,t=0){if(!0===e.aborted)return!0;for(let n=t;n<e.issues.length;n++)if(!1===e.issues[n]?.continue)return!0;return!1}function K(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function X(e){return"string"==typeof e?e:e?.message}function Q(e,t,n){const o=e.message?e.message:X(e.inst?._zod.def?.error?.(e))??X(t?.error?.(e))??X(n.customError?.(e))??X(n.localeError?.(e))??"Invalid input",{inst:i,continue:r,input:a,...s}=e;return s.path??(s.path=[]),s.message=o,t?.reportInput&&(s.input=a),s}function ee(e){return Array.isArray(e)?"array":"string"==typeof e?"string":"unknown"}function te(...e){const[t,n,o]=e;return"string"==typeof t?{message:t,code:"custom",input:n,inst:o}:{...t}}var ne=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,I,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},oe=O("$ZodError",ne),ie=O("$ZodError",ne,{Parent:Error});var re=e=>(t,n,o,i)=>{const r=o?{...o,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},r);if(a instanceof Promise)throw new z;if(a.issues.length){const t=new(i?.Err??e)(a.issues.map(e=>Q(e,r,T())));throw D(t,i?.callee),t}return a.value},ae=e=>async(t,n,o,i)=>{const r=o?{...o,async:!0}:{async:!0};let a=t._zod.run({value:n,issues:[]},r);if(a instanceof Promise&&(a=await a),a.issues.length){const t=new(i?.Err??e)(a.issues.map(e=>Q(e,r,T())));throw D(t,i?.callee),t}return a.value},se=e=>(t,n,o)=>{const i=o?{...o,async:!1}:{async:!1},r=t._zod.run({value:n,issues:[]},i);if(r instanceof Promise)throw new z;return r.issues.length?{success:!1,error:new(e??oe)(r.issues.map(e=>Q(e,i,T())))}:{success:!0,data:r.value}},ue=/* @__PURE__*/se(ie),ce=e=>async(t,n,o)=>{const i=o?{...o,async:!0}:{async:!0};let r=t._zod.run({value:n,issues:[]},i);return r instanceof Promise&&(r=await r),r.issues.length?{success:!1,error:new e(r.issues.map(e=>Q(e,i,T())))}:{success:!0,data:r.value}},le=/* @__PURE__*/ce(ie),de=e=>(t,n,o)=>{const i=o?{...o,direction:"backward"}:{direction:"backward"};return re(e)(t,n,i)},pe=e=>(t,n,o)=>re(e)(t,n,o),fe=e=>async(t,n,o)=>{const i=o?{...o,direction:"backward"}:{direction:"backward"};return ae(e)(t,n,i)},me=e=>async(t,n,o)=>ae(e)(t,n,o),_e=e=>(t,n,o)=>{const i=o?{...o,direction:"backward"}:{direction:"backward"};return se(e)(t,n,i)},he=e=>(t,n,o)=>se(e)(t,n,o),ye=e=>async(t,n,o)=>{const i=o?{...o,direction:"backward"}:{direction:"backward"};return ce(e)(t,n,i)},ge=e=>async(t,n,o)=>ce(e)(t,n,o),be=/^[cC][0-9a-z]{6,}$/,ve=/^[0-9a-z]+$/,we=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Se=/^[0-9a-vA-V]{20}$/,ke=/^[A-Za-z0-9]{27}$/,Oe=/^[a-zA-Z0-9_-]{21}$/,ze=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,xe=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Ee=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,Te=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var Ae=/^(?:(?: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])$/,Ie=/^(([0-9a-fA-F]{1,4}:){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}|:))$/,$e=/^((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])\/([0-9]|[1-2][0-9]|3[0-2])$/,Ne=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Pe=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Ce=/^[A-Za-z0-9_-]*$/,Re=/^https?$/,Ue=/^\+[1-9]\d{6,14}$/,qe="(?:(?:\\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])))",je=/*@__PURE__*/new RegExp(`^${qe}$`);function De(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return"number"==typeof e.precision?-1===e.precision?`${t}`:0===e.precision?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}var Le=/^-?\d+$/,Ze=/^-?\d+(?:\.\d+)?$/,Me=/^(?:true|false)$/i,Fe=/^[^A-Z]*$/,Be=/^[^a-z]*$/,Ye=/*@__PURE__*/O("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Je={number:"number",bigint:"bigint",object:"date"},We=/*@__PURE__*/O("$ZodCheckLessThan",(e,t)=>{Ye.init(e,t);const n=Je[typeof t.value];e._zod.onattach.push(e=>{const n=e._zod.bag,o=(t.inclusive?n.maximum:n.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<o&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value<=t.value:o.value<t.value)||o.issues.push({origin:n,code:"too_big",maximum:"object"==typeof t.value?t.value.getTime():t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ge=/*@__PURE__*/O("$ZodCheckGreaterThan",(e,t)=>{Ye.init(e,t);const n=Je[typeof t.value];e._zod.onattach.push(e=>{const n=e._zod.bag,o=(t.inclusive?n.minimum:n.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>o&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value>=t.value:o.value>t.value)||o.issues.push({origin:n,code:"too_small",minimum:"object"==typeof t.value?t.value.getTime():t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),He=/*@__PURE__*/O("$ZodCheckMultipleOf",(e,t)=>{Ye.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");("bigint"==typeof n.value?n.value%t.value!==BigInt(0):0!==function(e,t){const n=e/t,o=Math.round(n),i=Number.EPSILON*Math.max(Math.abs(n),1);return Math.abs(n-o)<i?0:n-o}(n.value,t.value))&&n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Ve=/*@__PURE__*/O("$ZodCheckNumberFormat",(e,t)=>{Ye.init(e,t),t.format=t.format||"float64";const n=t.format?.includes("int"),o=n?"int":"number",[i,r]=G[t.format];e._zod.onattach.push(e=>{const o=e._zod.bag;o.format=t.format,o.minimum=i,o.maximum=r,n&&(o.pattern=Le)}),e._zod.check=a=>{const s=a.value;if(n){if(!Number.isInteger(s))return void a.issues.push({expected:o,format:t.format,code:"invalid_type",continue:!1,input:s,inst:e});if(!Number.isSafeInteger(s))return void(s>0?a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,inclusive:!0,continue:!t.abort}):a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,inclusive:!0,continue:!t.abort}))}s<i&&a.issues.push({origin:"number",input:s,code:"too_small",minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>r&&a.issues.push({origin:"number",input:s,code:"too_big",maximum:r,inclusive:!0,inst:e,continue:!t.abort})}}),Ke=/*@__PURE__*/O("$ZodCheckMaxLength",(e,t)=>{var n;Ye.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!N(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{const o=n.value;if(o.length<=t.maximum)return;const i=ee(o);n.issues.push({origin:i,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Xe=/*@__PURE__*/O("$ZodCheckMinLength",(e,t)=>{var n;Ye.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!N(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{const o=n.value;if(o.length>=t.minimum)return;const i=ee(o);n.issues.push({origin:i,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Qe=/*@__PURE__*/O("$ZodCheckLengthEquals",(e,t)=>{var n;Ye.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!N(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{const o=n.value,i=o.length;if(i===t.length)return;const r=ee(o),a=i>t.length;n.issues.push({origin:r,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),et=/*@__PURE__*/O("$ZodCheckStringFormat",(e,t)=>{var n,o;Ye.init(e,t),e._zod.onattach.push(e=>{const n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??(n.patterns=/* @__PURE__ */new Set),n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,t.pattern.test(n.value)||n.issues.push({origin:"string",code:"invalid_format",format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(o=e._zod).check??(o.check=()=>{})}),tt=/*@__PURE__*/O("$ZodCheckRegex",(e,t)=>{et.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,t.pattern.test(n.value)||n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),nt=/*@__PURE__*/O("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Fe),et.init(e,t)}),ot=/*@__PURE__*/O("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Be),et.init(e,t)}),it=/*@__PURE__*/O("$ZodCheckIncludes",(e,t)=>{Ye.init(e,t);const n=Y(t.includes),o=new RegExp("number"==typeof t.position?`^.{${t.position}}${n}`:n);t.pattern=o,e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=/* @__PURE__ */new Set),t.patterns.add(o)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),rt=/*@__PURE__*/O("$ZodCheckStartsWith",(e,t)=>{Ye.init(e,t);const n=new RegExp(`^${Y(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=/* @__PURE__ */new Set),t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),at=/*@__PURE__*/O("$ZodCheckEndsWith",(e,t)=>{Ye.init(e,t);const n=new RegExp(`.*${Y(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=/* @__PURE__ */new Set),t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),st=/*@__PURE__*/O("$ZodCheckOverwrite",(e,t)=>{Ye.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),ut=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if("function"==typeof e)return e(this,{execution:"sync"}),void e(this,{execution:"async"});const t=e.split("\n").filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),o=t.map(e=>e.slice(n)).map(e=>" ".repeat(2*this.indent)+e);for(const i of o)this.content.push(i)}compile(){const e=Function,t=this?.args;return new e(...t,[...(this?.content??[""]).map(e=>` ${e}`)].join("\n"))}},ct={major:4,minor:4,patch:3},lt=/*@__PURE__*/O("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=ct;const o=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&o.unshift(e);for(const i of o)for(const t of i._zod.onattach)t(e);if(0===o.length)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const t=(e,t,n)=>{let o,i=H(e);for(const r of t){if(r._zod.def.when){if(V(e))continue;if(!r._zod.def.when(e))continue}else if(i)continue;const t=e.issues.length,a=r._zod.check(e);if(a instanceof Promise&&!1===n?.async)throw new z;if(o||a instanceof Promise)o=(o??Promise.resolve()).then(async()=>{await a,e.issues.length!==t&&(i||(i=H(e,t)))});else{if(e.issues.length===t)continue;i||(i=H(e,t))}}return o?o.then(()=>e):e},n=(n,i,r)=>{if(H(n))return n.aborted=!0,n;const a=t(i,o,r);if(a instanceof Promise){if(!1===r.async)throw new z;return a.then(t=>e._zod.parse(t,r))}return e._zod.parse(a,r)};e._zod.run=(i,r)=>{if(r.skipChecks)return e._zod.parse(i,r);if("backward"===r.direction){const t=e._zod.parse({value:i.value,issues:[]},{...r,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,r)):n(t,i,r)}const a=e._zod.parse(i,r);if(a instanceof Promise){if(!1===r.async)throw new z;return a.then(e=>t(e,o,r))}return t(a,o,r)}}R(e,"~standard",()=>({validate:t=>{try{const n=ue(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch(n){return le(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:"zod",version:1}))}),dt=/*@__PURE__*/O("$ZodString",(e,t)=>{var n;lt.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??(n=e._zod.bag,new RegExp(`^${n?`[\\s\\S]{${n?.minimum??0},${n?.maximum??""}}`:"[\\s\\S]*"}$`)),e._zod.parse=(n,o)=>{if(t.coerce)try{n.value=String(n.value)}catch(o){}return"string"==typeof n.value||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),pt=/*@__PURE__*/O("$ZodStringFormat",(e,t)=>{et.init(e,t),dt.init(e,t)}),ft=/*@__PURE__*/O("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=xe),pt.init(e,t)}),mt=/*@__PURE__*/O("$ZodUUID",(e,t)=>{if(t.version){const e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(void 0===e)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Ee(e))}else t.pattern??(t.pattern=Ee());pt.init(e,t)}),_t=/*@__PURE__*/O("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Te),pt.init(e,t)}),ht=/*@__PURE__*/O("$ZodURL",(e,t)=>{pt.init(e,t),e._zod.check=n=>{try{const o=n.value.trim();if(!t.normalize&&t.protocol?.source===Re.source&&!/^https?:\/\//i.test(o))return void n.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:n.value,inst:e,continue:!t.abort});const i=new URL(o);return t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(":")?i.protocol.slice(0,-1):i.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),void(t.normalize?n.value=i.href:n.value=o)}catch(o){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),yt=/*@__PURE__*/O("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),pt.init(e,t)}),gt=/*@__PURE__*/O("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=Oe),pt.init(e,t)}),bt=/*@__PURE__*/O("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=be),pt.init(e,t)}),vt=/*@__PURE__*/O("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=ve),pt.init(e,t)}),wt=/*@__PURE__*/O("$ZodULID",(e,t)=>{t.pattern??(t.pattern=we),pt.init(e,t)}),St=/*@__PURE__*/O("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Se),pt.init(e,t)}),kt=/*@__PURE__*/O("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=ke),pt.init(e,t)}),Ot=/*@__PURE__*/O("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=function(e){const t=De({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const o=`${t}(?:${n.join("|")})`;return new RegExp(`^${qe}T(?:${o})$`)}(t)),pt.init(e,t)}),zt=/*@__PURE__*/O("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=je),pt.init(e,t)}),xt=/*@__PURE__*/O("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=new RegExp(`^${De(t)}$`)),pt.init(e,t)}),Et=/*@__PURE__*/O("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=ze),pt.init(e,t)}),Tt=/*@__PURE__*/O("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Ae),pt.init(e,t),e._zod.bag.format="ipv4"}),At=/*@__PURE__*/O("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Ie),pt.init(e,t),e._zod.bag.format="ipv6",e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),It=/*@__PURE__*/O("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=$e),pt.init(e,t)}),$t=/*@__PURE__*/O("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Ne),pt.init(e,t),e._zod.check=n=>{const o=n.value.split("/");try{if(2!==o.length)throw new Error;const[e,t]=o;if(!t)throw new Error;const n=Number(t);if(`${n}`!==t)throw new Error;if(n<0||n>128)throw new Error;new URL(`http://[${e}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function Nt(e){if(""===e)return!0;if(/\s/.test(e))return!1;if(e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var Pt=/*@__PURE__*/O("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Pe),pt.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{Nt(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});var Ct=/*@__PURE__*/O("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Ce),pt.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{(function(e){if(!Ce.test(e))return!1;const t=e.replace(/[-_]/g,e=>"-"===e?"+":"/");return Nt(t.padEnd(4*Math.ceil(t.length/4),"="))})(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Rt=/*@__PURE__*/O("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Ue),pt.init(e,t)});var Ut=/*@__PURE__*/O("$ZodJWT",(e,t)=>{pt.init(e,t),e._zod.check=n=>{(function(e,t=null){try{const n=e.split(".");if(3!==n.length)return!1;const[o]=n;if(!o)return!1;const i=JSON.parse(atob(o));return!("typ"in i&&"JWT"!==i?.typ||!i.alg||t&&(!("alg"in i)||i.alg!==t))}catch{return!1}})(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),qt=/*@__PURE__*/O("$ZodNumber",(e,t)=>{lt.init(e,t),e._zod.pattern=e._zod.bag.pattern??Ze,e._zod.parse=(n,o)=>{if(t.coerce)try{n.value=Number(n.value)}catch(a){}const i=n.value;if("number"==typeof i&&!Number.isNaN(i)&&Number.isFinite(i))return n;const r="number"==typeof i?Number.isNaN(i)?"NaN":Number.isFinite(i)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:i,inst:e,...r?{received:r}:{}}),n}}),jt=/*@__PURE__*/O("$ZodNumberFormat",(e,t)=>{Ve.init(e,t),qt.init(e,t)}),Dt=/*@__PURE__*/O("$ZodBoolean",(e,t)=>{lt.init(e,t),e._zod.pattern=Me,e._zod.parse=(n,o)=>{if(t.coerce)try{n.value=Boolean(n.value)}catch(r){}const i=n.value;return"boolean"==typeof i||n.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:e}),n}}),Lt=/*@__PURE__*/O("$ZodUnknown",(e,t)=>{lt.init(e,t),e._zod.parse=e=>e}),Zt=/*@__PURE__*/O("$ZodNever",(e,t)=>{lt.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:"never",code:"invalid_type",input:t.value,inst:e}),t)});function Mt(e,t,n){e.issues.length&&t.issues.push(...K(n,e.issues)),t.value[n]=e.value}var Ft=/*@__PURE__*/O("$ZodArray",(e,t)=>{lt.init(e,t),e._zod.parse=(n,o)=>{const i=n.value;if(!Array.isArray(i))return n.issues.push({expected:"array",code:"invalid_type",input:i,inst:e}),n;n.value=Array(i.length);const r=[];for(let e=0;e<i.length;e++){const a=i[e],s=t.element._zod.run({value:a,issues:[]},o);s instanceof Promise?r.push(s.then(t=>Mt(t,n,e))):Mt(s,n,e)}return r.length?Promise.all(r).then(()=>n):n}});function Bt(e,t,n,o,i,r){const a=n in o;if(e.issues.length){if(i&&r&&!a)return;t.issues.push(...K(n,e.issues))}a||i?void 0===e.value?a&&(t.value[n]=void 0):t.value[n]=e.value:e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[n]})}function Yt(e){const t=Object.keys(e.shape);for(const i of t)if(!e.shape?.[i]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${i}": expected a Zod schema`);const n=(o=e.shape,Object.keys(o).filter(e=>"optional"===o[e]._zod.optin&&"optional"===o[e]._zod.optout));var o;return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function Jt(e,t,n,o,i,r){const a=[],s=i.keySet,u=i.catchall._zod,c=u.def.type,l="optional"===u.optin,d="optional"===u.optout;for(const p in t){if("__proto__"===p)continue;if(s.has(p))continue;if("never"===c){a.push(p);continue}const i=u.run({value:t[p],issues:[]},o);i instanceof Promise?e.push(i.then(e=>Bt(e,n,p,t,l,d))):Bt(i,n,p,t,l,d)}return a.length&&n.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:r}),e.length?Promise.all(e).then(()=>n):n}var Wt=/*@__PURE__*/O("$ZodObject",(e,t)=>{if(lt.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const e=t.shape;Object.defineProperty(t,"shape",{get:()=>{const n={...e};return Object.defineProperty(t,"shape",{value:n}),n}})}const n=$(()=>Yt(t));R(e._zod,"propValues",()=>{const e=t.shape,n={};for(const t in e){const o=e[t]._zod;if(o.values){n[t]??(n[t]=/* @__PURE__ */new Set);for(const e of o.values)n[t].add(e)}}return n});const o=L,i=t.catchall;let r;e._zod.parse=(t,a)=>{r??(r=n.value);const s=t.value;if(!o(s))return t.issues.push({expected:"object",code:"invalid_type",input:s,inst:e}),t;t.value={};const u=[],c=r.shape;for(const e of r.keys){const n=c[e],o="optional"===n._zod.optin,i="optional"===n._zod.optout,r=n._zod.run({value:s[e],issues:[]},a);r instanceof Promise?u.push(r.then(n=>Bt(n,t,e,s,o,i))):Bt(r,t,e,s,o,i)}return i?Jt(u,s,t,a,n.value,e):u.length?Promise.all(u).then(()=>t):t}}),Gt=/*@__PURE__*/O("$ZodObjectJIT",(e,t)=>{Wt.init(e,t);const n=e._zod.parse,o=$(()=>Yt(t));let i;const r=L,a=!E.jitless,s=a&&Z.value,u=t.catchall;let c;e._zod.parse=(l,d)=>{c??(c=o.value);const p=l.value;return r(p)?a&&s&&!1===d?.async&&!0!==d.jitless?(i||(i=(e=>{const t=new ut(["shape","payload","ctx"]),n=o.value,i=e=>{const t=j(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write("const input = payload.value;");const r=Object.create(null);let a=0;for(const o of n.keys)r[o]="key_"+a++;t.write("const newResult = {};");for(const o of n.keys){const n=r[o],a=j(o),s=e[o],u="optional"===s?._zod?.optin,c="optional"===s?._zod?.optout;t.write(`const ${n} = ${i(o)};`),u&&c?t.write(`\n if (${n}.issues.length) {\n if (${a} in input) {\n payload.issues = payload.issues.concat(${n}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${a}, ...iss.path] : [${a}]\n })));\n }\n }\n \n if (${n}.value === undefined) {\n if (${a} in input) {\n newResult[${a}] = undefined;\n }\n } else {\n newResult[${a}] = ${n}.value;\n }\n \n `):u?t.write(`\n if (${n}.issues.length) {\n payload.issues = payload.issues.concat(${n}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${a}, ...iss.path] : [${a}]\n })));\n }\n \n if (${n}.value === undefined) {\n if (${a} in input) {\n newResult[${a}] = undefined;\n }\n } else {\n newResult[${a}] = ${n}.value;\n }\n \n `):t.write(`\n const ${n}_present = ${a} in input;\n if (${n}.issues.length) {\n payload.issues = payload.issues.concat(${n}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${a}, ...iss.path] : [${a}]\n })));\n }\n if (!${n}_present && !${n}.issues.length) {\n payload.issues.push({\n code: "invalid_type",\n expected: "nonoptional",\n input: undefined,\n path: [${a}]\n });\n }\n\n if (${n}_present) {\n if (${n}.value === undefined) {\n newResult[${a}] = undefined;\n } else {\n newResult[${a}] = ${n}.value;\n }\n }\n\n `)}t.write("payload.value = newResult;"),t.write("return payload;");const s=t.compile();return(t,n)=>s(e,t,n)})(t.shape)),l=i(l,d),u?Jt([],p,l,d,c,e):l):n(l,d):(l.issues.push({expected:"object",code:"invalid_type",input:p,inst:e}),l)}});function Ht(e,t,n,o){for(const r of e)if(0===r.issues.length)return t.value=r.value,t;const i=e.filter(e=>!H(e));return 1===i.length?(t.value=i[0].value,i[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>Q(e,o,T())))}),t)}var Vt=/*@__PURE__*/O("$ZodUnion",(e,t)=>{lt.init(e,t),R(e._zod,"optin",()=>t.options.some(e=>"optional"===e._zod.optin)?"optional":void 0),R(e._zod,"optout",()=>t.options.some(e=>"optional"===e._zod.optout)?"optional":void 0),R(e._zod,"values",()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),R(e._zod,"pattern",()=>{if(t.options.every(e=>e._zod.pattern)){const e=t.options.map(e=>e._zod.pattern);return new RegExp(`^(${e.map(e=>P(e.source)).join("|")})$`)}});const n=1===t.options.length?t.options[0]._zod.run:null;e._zod.parse=(o,i)=>{if(n)return n(o,i);let r=!1;const a=[];for(const e of t.options){const t=e._zod.run({value:o.value,issues:[]},i);if(t instanceof Promise)a.push(t),r=!0;else{if(0===t.issues.length)return t;a.push(t)}}return r?Promise.all(a).then(t=>Ht(t,o,e,i)):Ht(a,o,e,i)}}),Kt=/*@__PURE__*/O("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,Vt.init(e,t);const n=e._zod.parse;R(e._zod,"propValues",()=>{const e={};for(const n of t.options){const o=n._zod.propValues;if(!o||0===Object.keys(o).length)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(n)}"`);for(const[t,n]of Object.entries(o)){e[t]||(e[t]=/* @__PURE__ */new Set);for(const o of n)e[t].add(o)}}return e});const o=$(()=>{const e=t.options,n=/* @__PURE__ */new Map;for(const o of e){const e=o._zod.propValues?.[t.discriminator];if(!e||0===e.size)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(o)}"`);for(const t of e){if(n.has(t))throw new Error(`Duplicate discriminator value "${String(t)}"`);n.set(t,o)}}return n});e._zod.parse=(i,r)=>{const a=i.value;if(!L(a))return i.issues.push({code:"invalid_type",expected:"object",input:a,inst:e}),i;const s=o.value.get(a?.[t.discriminator]);return s?s._zod.run(i,r):t.unionFallback||"backward"===r.direction?n(i,r):(i.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,options:Array.from(o.value.keys()),input:a,path:[t.discriminator],inst:e}),i)}}),Xt=/*@__PURE__*/O("$ZodIntersection",(e,t)=>{lt.init(e,t),e._zod.parse=(e,n)=>{const o=e.value,i=t.left._zod.run({value:o,issues:[]},n),r=t.right._zod.run({value:o,issues:[]},n);return i instanceof Promise||r instanceof Promise?Promise.all([i,r]).then(([t,n])=>en(e,t,n)):en(e,i,r)}});function Qt(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(M(e)&&M(t)){const n=Object.keys(t),o=Object.keys(e).filter(e=>-1!==n.indexOf(e)),i={...e,...t};for(const r of o){const n=Qt(e[r],t[r]);if(!n.valid)return{valid:!1,mergeErrorPath:[r,...n.mergeErrorPath]};i[r]=n.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let o=0;o<e.length;o++){const i=Qt(e[o],t[o]);if(!i.valid)return{valid:!1,mergeErrorPath:[o,...i.mergeErrorPath]};n.push(i.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function en(e,t,n){const o=/* @__PURE__ */new Map;let i;for(const s of t.issues)if("unrecognized_keys"===s.code){i??(i=s);for(const e of s.keys)o.has(e)||o.set(e,{}),o.get(e).l=!0}else e.issues.push(s);for(const s of n.issues)if("unrecognized_keys"===s.code)for(const e of s.keys)o.has(e)||o.set(e,{}),o.get(e).r=!0;else e.issues.push(s);const r=[...o].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(r.length&&i&&e.issues.push({...i,keys:r}),H(e))return e;const a=Qt(t.value,n.value);if(!a.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(a.mergeErrorPath)}`);return e.value=a.data,e}var tn=/*@__PURE__*/O("$ZodRecord",(e,t)=>{lt.init(e,t),e._zod.parse=(n,o)=>{const i=n.value;if(!M(i))return n.issues.push({expected:"record",code:"invalid_type",input:i,inst:e}),n;const r=[],a=t.keyType._zod.values;if(a){n.value={};const s=/* @__PURE__ */new Set;for(const c of a)if("string"==typeof c||"number"==typeof c||"symbol"==typeof c){s.add("number"==typeof c?c.toString():c);const a=t.keyType._zod.run({value:c,issues:[]},o);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){n.issues.push({code:"invalid_key",origin:"record",issues:a.issues.map(e=>Q(e,o,T())),input:c,path:[c],inst:e});continue}const u=a.value,l=t.valueType._zod.run({value:i[c],issues:[]},o);l instanceof Promise?r.push(l.then(e=>{e.issues.length&&n.issues.push(...K(c,e.issues)),n.value[u]=e.value})):(l.issues.length&&n.issues.push(...K(c,l.issues)),n.value[u]=l.value)}let u;for(const e in i)s.has(e)||(u=u??[],u.push(e));u&&u.length>0&&n.issues.push({code:"unrecognized_keys",input:i,inst:e,keys:u})}else{n.value={};for(const a of Reflect.ownKeys(i)){if("__proto__"===a)continue;if(!Object.prototype.propertyIsEnumerable.call(i,a))continue;let s=t.keyType._zod.run({value:a,issues:[]},o);if(s instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if("string"==typeof a&&Ze.test(a)&&s.issues.length){const e=t.keyType._zod.run({value:Number(a),issues:[]},o);if(e instanceof Promise)throw new Error("Async schemas not supported in object keys currently");0===e.issues.length&&(s=e)}if(s.issues.length){"loose"===t.mode?n.value[a]=i[a]:n.issues.push({code:"invalid_key",origin:"record",issues:s.issues.map(e=>Q(e,o,T())),input:a,path:[a],inst:e});continue}const u=t.valueType._zod.run({value:i[a],issues:[]},o);u instanceof Promise?r.push(u.then(e=>{e.issues.length&&n.issues.push(...K(a,e.issues)),n.value[s.value]=e.value})):(u.issues.length&&n.issues.push(...K(a,u.issues)),n.value[s.value]=u.value)}}return r.length?Promise.all(r).then(()=>n):n}}),nn=/*@__PURE__*/O("$ZodEnum",(e,t)=>{lt.init(e,t);const n=A(t.entries),o=new Set(n);e._zod.values=o,e._zod.pattern=new RegExp(`^(${n.filter(e=>B.has(typeof e)).map(e=>"string"==typeof e?Y(e):e.toString()).join("|")})$`),e._zod.parse=(t,i)=>{const r=t.value;return o.has(r)||t.issues.push({code:"invalid_value",values:n,input:r,inst:e}),t}}),on=/*@__PURE__*/O("$ZodLiteral",(e,t)=>{if(lt.init(e,t),0===t.values.length)throw new Error("Cannot create literal schema with no valid values");const n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map(e=>"string"==typeof e?Y(e):e?Y(e.toString()):String(e)).join("|")})$`),e._zod.parse=(o,i)=>{const r=o.value;return n.has(r)||o.issues.push({code:"invalid_value",values:t.values,input:r,inst:e}),o}}),rn=/*@__PURE__*/O("$ZodTransform",(e,t)=>{lt.init(e,t),e._zod.optin="optional",e._zod.parse=(n,o)=>{if("backward"===o.direction)throw new x(e.constructor.name);const i=t.transform(n.value,n);if(o.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n.fallback=!0,n));if(i instanceof Promise)throw new z;return n.value=i,n.fallback=!0,n}});function an(e,t){return void 0===t&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}var sn=/*@__PURE__*/O("$ZodOptional",(e,t)=>{lt.init(e,t),e._zod.optin="optional",e._zod.optout="optional",R(e._zod,"values",()=>t.innerType._zod.values?/* @__PURE__ */new Set([...t.innerType._zod.values,void 0]):void 0),R(e._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${P(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if("optional"===t.innerType._zod.optin){const o=e.value,i=t.innerType._zod.run(e,n);return i instanceof Promise?i.then(e=>an(e,o)):an(i,o)}return void 0===e.value?e:t.innerType._zod.run(e,n)}}),un=/*@__PURE__*/O("$ZodExactOptional",(e,t)=>{sn.init(e,t),R(e._zod,"values",()=>t.innerType._zod.values),R(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),cn=/*@__PURE__*/O("$ZodNullable",(e,t)=>{lt.init(e,t),R(e._zod,"optin",()=>t.innerType._zod.optin),R(e._zod,"optout",()=>t.innerType._zod.optout),R(e._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${P(e.source)}|null)$`):void 0}),R(e._zod,"values",()=>t.innerType._zod.values?/* @__PURE__ */new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>null===e.value?e:t.innerType._zod.run(e,n)}),ln=/*@__PURE__*/O("$ZodDefault",(e,t)=>{lt.init(e,t),e._zod.optin="optional",R(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);if(void 0===e.value)return e.value=t.defaultValue,e;const o=t.innerType._zod.run(e,n);return o instanceof Promise?o.then(e=>dn(e,t)):dn(o,t)}});function dn(e,t){return void 0===e.value&&(e.value=t.defaultValue),e}var pn=/*@__PURE__*/O("$ZodPrefault",(e,t)=>{lt.init(e,t),e._zod.optin="optional",R(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>("backward"===n.direction||void 0===e.value&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),fn=/*@__PURE__*/O("$ZodNonOptional",(e,t)=>{lt.init(e,t),R(e._zod,"values",()=>{const e=t.innerType._zod.values;return e?new Set([...e].filter(e=>void 0!==e)):void 0}),e._zod.parse=(n,o)=>{const i=t.innerType._zod.run(n,o);return i instanceof Promise?i.then(t=>mn(t,e)):mn(i,e)}});function mn(e,t){return e.issues.length||void 0!==e.value||e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var _n=/*@__PURE__*/O("$ZodCatch",(e,t)=>{lt.init(e,t),e._zod.optin="optional",R(e._zod,"optout",()=>t.innerType._zod.optout),R(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);const o=t.innerType._zod.run(e,n);return o instanceof Promise?o.then(o=>(e.value=o.value,o.issues.length&&(e.value=t.catchValue({...e,error:{issues:o.issues.map(e=>Q(e,n,T()))},input:e.value}),e.issues=[],e.fallback=!0),e)):(e.value=o.value,o.issues.length&&(e.value=t.catchValue({...e,error:{issues:o.issues.map(e=>Q(e,n,T()))},input:e.value}),e.issues=[],e.fallback=!0),e)}}),hn=/*@__PURE__*/O("$ZodPipe",(e,t)=>{lt.init(e,t),R(e._zod,"values",()=>t.in._zod.values),R(e._zod,"optin",()=>t.in._zod.optin),R(e._zod,"optout",()=>t.out._zod.optout),R(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if("backward"===n.direction){const o=t.out._zod.run(e,n);return o instanceof Promise?o.then(e=>yn(e,t.in,n)):yn(o,t.in,n)}const o=t.in._zod.run(e,n);return o instanceof Promise?o.then(e=>yn(e,t.out,n)):yn(o,t.out,n)}});function yn(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}var gn=/*@__PURE__*/O("$ZodReadonly",(e,t)=>{lt.init(e,t),R(e._zod,"propValues",()=>t.innerType._zod.propValues),R(e._zod,"values",()=>t.innerType._zod.values),R(e._zod,"optin",()=>t.innerType?._zod?.optin),R(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);const o=t.innerType._zod.run(e,n);return o instanceof Promise?o.then(bn):bn(o)}});function bn(e){return e.value=Object.freeze(e.value),e}var vn,wn=/*@__PURE__*/O("$ZodCustom",(e,t)=>{Ye.init(e,t),lt.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{const o=n.value,i=t.fn(o);if(i instanceof Promise)return i.then(t=>Sn(t,n,o,e));Sn(i,n,o,e)}});function Sn(e,t,n,o){if(!e){const e={code:"custom",input:n,inst:o,path:[...o._zod.def.path??[]],continue:!o._zod.def.abort};o._zod.def.params&&(e.params=o._zod.def.params),t.issues.push(te(e))}}var kn=class{constructor(){this._map=/* @__PURE__ */new WeakMap,this._idmap=/* @__PURE__ */new Map}add(e,...t){const n=t[0];return this._map.set(e,n),n&&"object"==typeof n&&"id"in n&&this._idmap.set(n.id,e),this}clear(){return this._map=/* @__PURE__ */new WeakMap,this._idmap=/* @__PURE__ */new Map,this}remove(e){const t=this._map.get(e);return t&&"object"==typeof t&&"id"in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){const t=e._zod.parent;if(t){const n={...this.get(t)??{}};delete n.id;const o={...n,...this._map.get(e)};return Object.keys(o).length?o:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};(vn=globalThis).__zod_globalRegistry??(vn.__zod_globalRegistry=new kn);var On=globalThis.__zod_globalRegistry;function zn(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...W(t)})}function xn(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...W(t)})}function En(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...W(t)})}function Tn(e,t){return new We({check:"less_than",...W(t),value:e,inclusive:!1})}function An(e,t){return new We({check:"less_than",...W(t),value:e,inclusive:!0})}function In(e,t){return new Ge({check:"greater_than",...W(t),value:e,inclusive:!1})}function $n(e,t){return new Ge({check:"greater_than",...W(t),value:e,inclusive:!0})}function Nn(e,t){return new He({check:"multiple_of",...W(t),value:e})}function Pn(e,t){return new Ke({check:"max_length",...W(t),maximum:e})}function Cn(e,t){return new Xe({check:"min_length",...W(t),minimum:e})}function Rn(e,t){return new Qe({check:"length_equals",...W(t),length:e})}function Un(e){return new st({check:"overwrite",tx:e})}function qn(e,t){const n=new Ye({check:"custom",...W(t)});return n._zod.check=e,n}function jn(e){let t=e?.target??"draft-2020-12";return"draft-4"===t&&(t="draft-04"),"draft-7"===t&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??On,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:/* @__PURE__ */new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function Dn(e,t,n={path:[],schemaPath:[]}){var o;const i=e._zod.def,r=t.seen.get(e);if(r)return r.count++,n.schemaPath.includes(e)&&(r.cycle=n.path),r.schema;const a={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,a);const s=e._zod.toJSONSchema?.();if(s)a.schema=s;else{const o={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,a.schema,o);else{const n=a.schema,r=t.processors[i.type];if(!r)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);r(e,t,n,o)}const r=e._zod.parent;r&&(a.ref||(a.ref=r),Dn(r,t,o),t.seen.get(r).isParent=!0)}const u=t.metadataRegistry.get(e);return u&&Object.assign(a.schema,u),"input"===t.io&&Mn(e)&&(delete a.schema.examples,delete a.schema.default),"input"===t.io&&"_prefault"in a.schema&&((o=a.schema).default??(o.default=a.schema._prefault)),delete a.schema._prefault,t.seen.get(e).schema}function Ln(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=/* @__PURE__ */new Map;for(const r of e.seen.entries()){const t=e.metadataRegistry.get(r[0])?.id;if(t){const e=o.get(t);if(e&&e!==r[0])throw new Error(`Duplicate schema id "${t}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);o.set(t,r[0])}}const i=t=>{if(t[1].schema.$ref)return;const o=t[1],{ref:i,defId:r}=(t=>{const o="draft-2020-12"===e.target?"$defs":"definitions";if(e.external){const n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};const r=t[1].defId??t[1].schema.id??"schema"+e.counter++;return t[1].defId=r,{defId:r,ref:`${i("__shared")}#/${o}/${r}`}}if(t[1]===n)return{ref:"#"};const i=`#/${o}/`,r=t[1].schema.id??"__schema"+e.counter++;return{defId:r,ref:i+r}})(t);o.def={...o.schema},r&&(o.defId=r);const a=o.schema;for(const e in a)delete a[e];a.$ref=i};if("throw"===e.cycles)for(const r of e.seen.entries()){const e=r[1];if(e.cycle)throw new Error(`Cycle detected: #/${e.cycle?.join("/")}/<root>\n\nSet the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const r of e.seen.entries()){const n=r[1];if(t!==r[0]){if(e.external){const n=e.external.registry.get(r[0])?.id;if(t!==r[0]&&n){i(r);continue}}(e.metadataRegistry.get(r[0])?.id||n.cycle||n.count>1&&"ref"===e.reused)&&i(r)}else i(r)}}function Zn(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=t=>{const n=e.seen.get(t);if(null===n.ref)return;const i=n.def??n.schema,r={...i},a=n.ref;if(n.ref=null,a){o(a);const n=e.seen.get(a),s=n.schema;if(!s.$ref||"draft-07"!==e.target&&"draft-04"!==e.target&&"openapi-3.0"!==e.target?Object.assign(i,s):(i.allOf=i.allOf??[],i.allOf.push(s)),Object.assign(i,r),t._zod.parent===a)for(const e in i)"$ref"!==e&&"allOf"!==e&&(e in r||delete i[e]);if(s.$ref&&n.def)for(const e in i)"$ref"!==e&&"allOf"!==e&&e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}const s=t._zod.parent;if(s&&s!==a){o(s);const t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(const e in i)"$ref"!==e&&"allOf"!==e&&e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};for(const u of[...e.seen.entries()].reverse())o(u[0]);const i={};if("draft-2020-12"===e.target?i.$schema="https://json-schema.org/draft/2020-12/schema":"draft-07"===e.target?i.$schema="http://json-schema.org/draft-07/schema#":"draft-04"===e.target?i.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const n=e.external.registry.get(t)?.id;if(!n)throw new Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Object.assign(i,n.def??n.schema);const r=e.metadataRegistry.get(t)?.id;void 0!==r&&i.id===r&&delete i.id;const a=e.external?.defs??{};for(const u of e.seen.entries()){const e=u[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,a[e.defId]=e.def)}e.external||Object.keys(a).length>0&&("draft-2020-12"===e.target?i.$defs=a:i.definitions=a);try{const n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t["~standard"],jsonSchema:{input:Fn(t,"input",e.processors),output:Fn(t,"output",e.processors)}},enumerable:!1,writable:!1}),n}catch(s){throw new Error("Error converting schema to JSON.")}}function Mn(e,t){const n=t??{seen:/* @__PURE__ */new Set};if(n.seen.has(e))return!1;n.seen.add(e);const o=e._zod.def;if("transform"===o.type)return!0;if("array"===o.type)return Mn(o.element,n);if("set"===o.type)return Mn(o.valueType,n);if("lazy"===o.type)return Mn(o.getter(),n);if("promise"===o.type||"optional"===o.type||"nonoptional"===o.type||"nullable"===o.type||"readonly"===o.type||"default"===o.type||"prefault"===o.type)return Mn(o.innerType,n);if("intersection"===o.type)return Mn(o.left,n)||Mn(o.right,n);if("record"===o.type||"map"===o.type)return Mn(o.keyType,n)||Mn(o.valueType,n);if("pipe"===o.type)return!!e._zod.traits.has("$ZodCodec")||(Mn(o.in,n)||Mn(o.out,n));if("object"===o.type){for(const e in o.shape)if(Mn(o.shape[e],n))return!0;return!1}if("union"===o.type){for(const e of o.options)if(Mn(e,n))return!0;return!1}if("tuple"===o.type){for(const e of o.items)if(Mn(e,n))return!0;return!(!o.rest||!Mn(o.rest,n))}return!1}var Fn=(e,t,n={})=>o=>{const{libraryOptions:i,target:r}=o??{},a=jn({...i??{},target:r,io:t,processors:n});return Dn(e,a),Ln(a,e),Zn(a,e)},Bn={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Yn=(e,t,n,o)=>{const i=e._zod.def;Dn(i.innerType,t,o);t.seen.get(e).ref=i.innerType},Jn=/*@__PURE__*/O("ZodISODateTime",(e,t)=>{Ot.init(e,t),wo.init(e,t)});function Wn(e){return function(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...W(t)})}(Jn,e)}var Gn=/*@__PURE__*/O("ZodISODate",(e,t)=>{zt.init(e,t),wo.init(e,t)});function Hn(e){return function(e,t){return new e({type:"string",format:"date",check:"string_format",...W(t)})}(Gn,e)}var Vn=/*@__PURE__*/O("ZodISOTime",(e,t)=>{xt.init(e,t),wo.init(e,t)});function Kn(e){return function(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...W(t)})}(Vn,e)}var Xn=/*@__PURE__*/O("ZodISODuration",(e,t)=>{Et.init(e,t),wo.init(e,t)});function Qn(e){return function(e,t){return new e({type:"string",format:"duration",check:"string_format",...W(t)})}(Xn,e)}var eo=(e,t)=>{oe.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:t=>function(e,t=e=>e.message){const n={_errors:[]},o=(e,i=[])=>{for(const r of e.issues)if("invalid_union"===r.code&&r.errors.length)r.errors.map(e=>o({issues:e},[...i,...r.path]));else if("invalid_key"===r.code)o({issues:r.issues},[...i,...r.path]);else if("invalid_element"===r.code)o({issues:r.issues},[...i,...r.path]);else{const e=[...i,...r.path];if(0===e.length)n._errors.push(t(r));else{let o=n,i=0;for(;i<e.length;){const n=e[i];i!==e.length-1?o[n]=o[n]||{_errors:[]}:(o[n]=o[n]||{_errors:[]},o[n]._errors.push(t(r))),o=o[n],i++}}}};return o(e),n}(e,t)},flatten:{value:t=>function(e,t=e=>e.message){const n={},o=[];for(const i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):o.push(t(i));return{formErrors:o,fieldErrors:n}}(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,I,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,I,2)}},isEmpty:{get:()=>0===e.issues.length}})},to=/*@__PURE__*/O("ZodError",eo,{Parent:Error}),no=/* @__PURE__ */re(to),oo=/* @__PURE__ */ae(to),io=/* @__PURE__ */se(to),ro=/* @__PURE__ */ce(to),ao=/* @__PURE__ */de(to),so=/* @__PURE__ */pe(to),uo=/* @__PURE__ */fe(to),co=/* @__PURE__ */me(to),lo=/* @__PURE__ */_e(to),po=/* @__PURE__ */he(to),fo=/* @__PURE__ */ye(to),mo=/* @__PURE__ */ge(to),_o=/* @__PURE__ */new WeakMap;function ho(e,t,n){const o=Object.getPrototypeOf(e);let i=_o.get(o);if(i||(i=/* @__PURE__ */new Set,_o.set(o,i)),!i.has(t)){i.add(t);for(const e in n){const t=n[e];Object.defineProperty(o,e,{configurable:!0,enumerable:!1,get(){const n=t.bind(this);return Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:n}),n},set(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:t})}})}}}var yo=/*@__PURE__*/O("ZodType",(e,t)=>(lt.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Fn(e,"input"),output:Fn(e,"output")}}),e.toJSONSchema=((e,t={})=>n=>{const o=jn({...n,processors:t});return Dn(e,o),Ln(o,e),Zn(o,e)})(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(t,n)=>no(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>io(e,t,n),e.parseAsync=async(t,n)=>oo(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>ro(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>ao(e,t,n),e.decode=(t,n)=>so(e,t,n),e.encodeAsync=async(t,n)=>uo(e,t,n),e.decodeAsync=async(t,n)=>co(e,t,n),e.safeEncode=(t,n)=>lo(e,t,n),e.safeDecode=(t,n)=>po(e,t,n),e.safeEncodeAsync=async(t,n)=>fo(e,t,n),e.safeDecodeAsync=async(t,n)=>mo(e,t,n),ho(e,"ZodType",{check(...e){const t=this.def;return this.clone(q(t,{checks:[...t.checks??[],...e.map(e=>"function"==typeof e?{_zod:{check:e,def:{check:"custom"},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return J(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(function(e,t={}){return function(e,t,n){return new e({type:"custom",check:"custom",fn:t,...W(n)})}(xi,e,t)}(e,t))},superRefine(e,t){return this.check(function(e,t){return function(e,t){const n=/* @__PURE__ */qn(t=>(t.addIssue=e=>{if("string"==typeof e)t.issues.push(te(e,t.value,n._zod.def));else{const o=e;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=t.value),o.inst??(o.inst=n),o.continue??(o.continue=!n._zod.def.abort),t.issues.push(te(o))}},e(t.value,t)),t);return n}(e,t)}(e,t))},overwrite(e){return this.check(Un(e))},optional(){return _i(this)},exactOptional(){return new hi({type:"optional",innerType:this})},nullable(){return gi(this)},nullish(){return _i(gi(this))},nonoptional(e){return function(e,t){return new wi({type:"nonoptional",innerType:e,...W(t)})}(this,e)},array(){return Qo(this)},or(e){return oi([this,e])},and(e){return new ai({type:"intersection",left:this,right:e})},transform(e){return Oi(this,new fi({type:"transform",transform:e}))},default(e){return t=e,new bi({type:"default",innerType:this,get defaultValue(){return"function"==typeof t?t():F(t)}});var t},prefault(e){return t=e,new vi({type:"prefault",innerType:this,get defaultValue(){return"function"==typeof t?t():F(t)}});var t},catch(e){return new Si({type:"catch",innerType:this,catchValue:"function"==typeof(t=e)?t:()=>t});var t},pipe(e){return Oi(this,e)},readonly(){return new zi({type:"readonly",innerType:this})},describe(e){const t=this.clone();return On.add(t,{description:e}),t},meta(...e){if(0===e.length)return On.get(this);const t=this.clone();return On.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e){return e(this)}}),Object.defineProperty(e,"description",{get:()=>On.get(e)?.description,configurable:!0}),e)),go=/*@__PURE__*/O("_ZodString",(e,t)=>{dt.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n)=>{const o=n;o.type="string";const{minimum:i,maximum:r,format:a,patterns:s,contentEncoding:u}=e._zod.bag;if("number"==typeof i&&(o.minLength=i),"number"==typeof r&&(o.maxLength=r),a&&(o.format=Bn[a]??a,""===o.format&&delete o.format,"time"===a&&delete o.format),u&&(o.contentEncoding=u),s&&s.size>0){const e=[...s];1===e.length?o.pattern=e[0].source:e.length>1&&(o.allOf=[...e.map(e=>({..."draft-07"===t.target||"draft-04"===t.target||"openapi-3.0"===t.target?{type:"string"}:{},pattern:e.source}))])}})(e,t,n);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,ho(e,"_ZodString",{regex(...e){return this.check(function(e,t){return new tt({check:"string_format",format:"regex",...W(t),pattern:e})}(...e))},includes(...e){return this.check(function(e,t){return new it({check:"string_format",format:"includes",...W(t),includes:e})}(...e))},startsWith(...e){return this.check(function(e,t){return new rt({check:"string_format",format:"starts_with",...W(t),prefix:e})}(...e))},endsWith(...e){return this.check(function(e,t){return new at({check:"string_format",format:"ends_with",...W(t),suffix:e})}(...e))},min(...e){return this.check(Cn(...e))},max(...e){return this.check(Pn(...e))},length(...e){return this.check(Rn(...e))},nonempty(...e){return this.check(Cn(1,...e))},lowercase(e){return this.check(function(e){return new nt({check:"string_format",format:"lowercase",...W(e)})}(e))},uppercase(e){return this.check(function(e){return new ot({check:"string_format",format:"uppercase",...W(e)})}(e))},trim(){return this.check(/* @__PURE__ */Un(e=>e.trim()))},normalize(...e){return this.check(function(e){/* @__PURE__ */
2
- return Un(t=>t.normalize(e))}(...e))},toLowerCase(){return this.check(/* @__PURE__ */Un(e=>e.toLowerCase()))},toUpperCase(){return this.check(/* @__PURE__ */Un(e=>e.toUpperCase()))},slugify(){return this.check(/* @__PURE__ */Un(e=>function(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}(e)))}})}),bo=/*@__PURE__*/O("ZodString",(e,t)=>{dt.init(e,t),go.init(e,t),e.email=t=>e.check(zn(So,t)),e.url=t=>e.check(En(xo,t)),e.jwt=t=>e.check(function(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...W(t)})}(Zo,t)),e.emoji=t=>e.check(function(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...W(t)})}(Eo,t)),e.guid=t=>e.check(xn(Oo,t)),e.uuid=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...W(t)})}(zo,t)),e.uuidv4=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...W(t)})}(zo,t)),e.uuidv6=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...W(t)})}(zo,t)),e.uuidv7=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...W(t)})}(zo,t)),e.nanoid=t=>e.check(function(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...W(t)})}(To,t)),e.guid=t=>e.check(xn(Oo,t)),e.cuid=t=>e.check(function(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...W(t)})}(Ao,t)),e.cuid2=t=>e.check(function(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...W(t)})}(Io,t)),e.ulid=t=>e.check(function(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...W(t)})}($o,t)),e.base64=t=>e.check(function(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...W(t)})}(jo,t)),e.base64url=t=>e.check(function(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...W(t)})}(Do,t)),e.xid=t=>e.check(function(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...W(t)})}(No,t)),e.ksuid=t=>e.check(function(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...W(t)})}(Po,t)),e.ipv4=t=>e.check(function(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...W(t)})}(Co,t)),e.ipv6=t=>e.check(function(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...W(t)})}(Ro,t)),e.cidrv4=t=>e.check(function(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...W(t)})}(Uo,t)),e.cidrv6=t=>e.check(function(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...W(t)})}(qo,t)),e.e164=t=>e.check(function(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...W(t)})}(Lo,t)),e.datetime=t=>e.check(Wn(t)),e.date=t=>e.check(Hn(t)),e.time=t=>e.check(Kn(t)),e.duration=t=>e.check(Qn(t))});function vo(e){return function(e,t){return new e({type:"string",...W(t)})}(bo,e)}var wo=/*@__PURE__*/O("ZodStringFormat",(e,t)=>{pt.init(e,t),go.init(e,t)}),So=/*@__PURE__*/O("ZodEmail",(e,t)=>{_t.init(e,t),wo.init(e,t)});function ko(e){return zn(So,e)}var Oo=/*@__PURE__*/O("ZodGUID",(e,t)=>{ft.init(e,t),wo.init(e,t)}),zo=/*@__PURE__*/O("ZodUUID",(e,t)=>{mt.init(e,t),wo.init(e,t)}),xo=/*@__PURE__*/O("ZodURL",(e,t)=>{ht.init(e,t),wo.init(e,t)});var Eo=/*@__PURE__*/O("ZodEmoji",(e,t)=>{yt.init(e,t),wo.init(e,t)}),To=/*@__PURE__*/O("ZodNanoID",(e,t)=>{gt.init(e,t),wo.init(e,t)}),Ao=/*@__PURE__*/O("ZodCUID",(e,t)=>{bt.init(e,t),wo.init(e,t)}),Io=/*@__PURE__*/O("ZodCUID2",(e,t)=>{vt.init(e,t),wo.init(e,t)}),$o=/*@__PURE__*/O("ZodULID",(e,t)=>{wt.init(e,t),wo.init(e,t)}),No=/*@__PURE__*/O("ZodXID",(e,t)=>{St.init(e,t),wo.init(e,t)}),Po=/*@__PURE__*/O("ZodKSUID",(e,t)=>{kt.init(e,t),wo.init(e,t)}),Co=/*@__PURE__*/O("ZodIPv4",(e,t)=>{Tt.init(e,t),wo.init(e,t)}),Ro=/*@__PURE__*/O("ZodIPv6",(e,t)=>{At.init(e,t),wo.init(e,t)}),Uo=/*@__PURE__*/O("ZodCIDRv4",(e,t)=>{It.init(e,t),wo.init(e,t)}),qo=/*@__PURE__*/O("ZodCIDRv6",(e,t)=>{$t.init(e,t),wo.init(e,t)}),jo=/*@__PURE__*/O("ZodBase64",(e,t)=>{Pt.init(e,t),wo.init(e,t)}),Do=/*@__PURE__*/O("ZodBase64URL",(e,t)=>{Ct.init(e,t),wo.init(e,t)}),Lo=/*@__PURE__*/O("ZodE164",(e,t)=>{Rt.init(e,t),wo.init(e,t)}),Zo=/*@__PURE__*/O("ZodJWT",(e,t)=>{Ut.init(e,t),wo.init(e,t)}),Mo=/*@__PURE__*/O("ZodNumber",(e,t)=>{qt.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n)=>{const o=n,{minimum:i,maximum:r,format:a,multipleOf:s,exclusiveMaximum:u,exclusiveMinimum:c}=e._zod.bag;"string"==typeof a&&a.includes("int")?o.type="integer":o.type="number";const l="number"==typeof c&&c>=(i??Number.NEGATIVE_INFINITY),d="number"==typeof u&&u<=(r??Number.POSITIVE_INFINITY),p="draft-04"===t.target||"openapi-3.0"===t.target;l?p?(o.minimum=c,o.exclusiveMinimum=!0):o.exclusiveMinimum=c:"number"==typeof i&&(o.minimum=i),d?p?(o.maximum=u,o.exclusiveMaximum=!0):o.exclusiveMaximum=u:"number"==typeof r&&(o.maximum=r),"number"==typeof s&&(o.multipleOf=s)})(e,t,n),ho(e,"ZodNumber",{gt(e,t){return this.check(In(e,t))},gte(e,t){return this.check($n(e,t))},min(e,t){return this.check($n(e,t))},lt(e,t){return this.check(Tn(e,t))},lte(e,t){return this.check(An(e,t))},max(e,t){return this.check(An(e,t))},int(e){return this.check(Yo(e))},safe(e){return this.check(Yo(e))},positive(e){return this.check(In(0,e))},nonnegative(e){return this.check($n(0,e))},negative(e){return this.check(Tn(0,e))},nonpositive(e){return this.check(An(0,e))},multipleOf(e,t){return this.check(Nn(e,t))},step(e,t){return this.check(Nn(e,t))},finite(){return this}});const n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function Fo(e){return function(e,t){return new e({type:"number",checks:[],...W(t)})}(Mo,e)}var Bo=/*@__PURE__*/O("ZodNumberFormat",(e,t)=>{jt.init(e,t),Mo.init(e,t)});function Yo(e){return function(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...W(t)})}(Bo,e)}var Jo=/*@__PURE__*/O("ZodBoolean",(e,t)=>{Dt.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t,n)=>{n.type="boolean"})(0,0,t)});function Wo(e){return function(e,t){return new e({type:"boolean",...W(t)})}(Jo,e)}var Go=/*@__PURE__*/O("ZodUnknown",(e,t)=>{Lt.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(e,t,n)=>{}});function Ho(){return new Go({type:"unknown"})}var Vo=/*@__PURE__*/O("ZodNever",(e,t)=>{Zt.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t,n)=>{n.not={}})(0,0,t)});function Ko(e){return function(e,t){return new e({type:"never",...W(t)})}(Vo,e)}var Xo=/*@__PURE__*/O("ZodArray",(e,t)=>{Ft.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const i=n,r=e._zod.def,{minimum:a,maximum:s}=e._zod.bag;"number"==typeof a&&(i.minItems=a),"number"==typeof s&&(i.maxItems=s),i.type="array",i.items=Dn(r.element,t,{...o,path:[...o.path,"items"]})})(e,t,n,o),e.element=t.element,ho(e,"ZodArray",{min(e,t){return this.check(Cn(e,t))},nonempty(e){return this.check(Cn(1,e))},max(e,t){return this.check(Pn(e,t))},length(e,t){return this.check(Rn(e,t))},unwrap(){return this.element}})});function Qo(e,t){return function(e,t,n){return new e({type:"array",element:t,...W(n)})}(Xo,e,t)}var ei=/*@__PURE__*/O("ZodObject",(e,t)=>{Gt.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const i=n,r=e._zod.def;i.type="object",i.properties={};const a=r.shape;for(const c in a)i.properties[c]=Dn(a[c],t,{...o,path:[...o.path,"properties",c]});const s=new Set(Object.keys(a)),u=new Set([...s].filter(e=>{const n=r.shape[e]._zod;return"input"===t.io?void 0===n.optin:void 0===n.optout}));u.size>0&&(i.required=Array.from(u)),"never"===r.catchall?._zod.def.type?i.additionalProperties=!1:r.catchall?r.catchall&&(i.additionalProperties=Dn(r.catchall,t,{...o,path:[...o.path,"additionalProperties"]})):"output"===t.io&&(i.additionalProperties=!1)})(e,t,n,o),R(e,"shape",()=>t.shape),ho(e,"ZodObject",{keyof(){return li(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:Ho()})},loose(){return this.clone({...this._zod.def,catchall:Ho()})},strict(){return this.clone({...this._zod.def,catchall:Ko()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return function(e,t){if(!M(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0){const n=e._zod.def.shape;for(const e in t)if(void 0!==Object.getOwnPropertyDescriptor(n,e))throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return J(e,q(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return U(this,"shape",n),n}}))}(this,e)},safeExtend(e){return function(e,t){if(!M(t))throw new Error("Invalid input to safeExtend: expected a plain object");return J(e,q(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return U(this,"shape",n),n}}))}(this,e)},merge(e){return function(e,t){if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");return J(e,q(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t._zod.def.shape};return U(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}(this,e)},pick(e){return function(e,t){const n=e._zod.def,o=n.checks;if(o&&o.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");return J(e,q(e._zod.def,{get shape(){const e={};for(const o in t){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&(e[o]=n.shape[o])}return U(this,"shape",e),e},checks:[]}))}(this,e)},omit(e){return function(e,t){const n=e._zod.def,o=n.checks;if(o&&o.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");return J(e,q(e._zod.def,{get shape(){const o={...e._zod.def.shape};for(const e in t){if(!(e in n.shape))throw new Error(`Unrecognized key: "${e}"`);t[e]&&delete o[e]}return U(this,"shape",o),o},checks:[]}))}(this,e)},partial(...e){return function(e,t,n){const o=t._zod.def.checks;if(o&&o.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");return J(t,q(t._zod.def,{get shape(){const o=t._zod.def.shape,i={...o};if(n)for(const t in n){if(!(t in o))throw new Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:"optional",innerType:o[t]}):o[t])}else for(const t in o)i[t]=e?new e({type:"optional",innerType:o[t]}):o[t];return U(this,"shape",i),i},checks:[]}))}(mi,this,e[0])},required(...e){return t=wi,n=this,o=e[0],J(n,q(n._zod.def,{get shape(){const e=n._zod.def.shape,i={...e};if(o)for(const n in o){if(!(n in i))throw new Error(`Unrecognized key: "${n}"`);o[n]&&(i[n]=new t({type:"nonoptional",innerType:e[n]}))}else for(const n in e)i[n]=new t({type:"nonoptional",innerType:e[n]});return U(this,"shape",i),i}}));var t,n,o}})});function ti(e,t){const n={type:"object",shape:e??{},...W(t)};return new ei(n)}var ni=/*@__PURE__*/O("ZodUnion",(e,t)=>{Vt.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const i=e._zod.def,r=!1===i.inclusive,a=i.options.map((e,n)=>Dn(e,t,{...o,path:[...o.path,r?"oneOf":"anyOf",n]}));r?n.oneOf=a:n.anyOf=a})(e,t,n,o),e.options=t.options});function oi(e,t){return new ni({type:"union",options:e,...W(t)})}var ii=/*@__PURE__*/O("ZodDiscriminatedUnion",(e,t)=>{ni.init(e,t),Kt.init(e,t)});function ri(e,t,n){return new ii({type:"union",options:t,discriminator:e,...W(n)})}var ai=/*@__PURE__*/O("ZodIntersection",(e,t)=>{Xt.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const i=e._zod.def,r=Dn(i.left,t,{...o,path:[...o.path,"allOf",0]}),a=Dn(i.right,t,{...o,path:[...o.path,"allOf",1]}),s=e=>"allOf"in e&&1===Object.keys(e).length;n.allOf=[...s(r)?r.allOf:[r],...s(a)?a.allOf:[a]]})(e,t,n,o)});var si=/*@__PURE__*/O("ZodRecord",(e,t)=>{tn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const i=n,r=e._zod.def;i.type="object";const a=r.keyType,s=a._zod.bag?.patterns;if("loose"===r.mode&&s&&s.size>0){const e=Dn(r.valueType,t,{...o,path:[...o.path,"patternProperties","*"]});i.patternProperties={};for(const t of s)i.patternProperties[t.source]=e}else"draft-07"!==t.target&&"draft-2020-12"!==t.target||(i.propertyNames=Dn(r.keyType,t,{...o,path:[...o.path,"propertyNames"]})),i.additionalProperties=Dn(r.valueType,t,{...o,path:[...o.path,"additionalProperties"]});const u=a._zod.values;if(u){const e=[...u].filter(e=>"string"==typeof e||"number"==typeof e);e.length>0&&(i.required=e)}})(e,t,n,o),e.keyType=t.keyType,e.valueType=t.valueType});function ui(e,t,n){return t&&t._zod?new si({type:"record",keyType:e,valueType:t,...W(n)}):new si({type:"record",keyType:vo(),valueType:e,...W(t)})}var ci=/*@__PURE__*/O("ZodEnum",(e,t)=>{nn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n)=>{const o=A(e._zod.def.entries);o.every(e=>"number"==typeof e)&&(n.type="number"),o.every(e=>"string"==typeof e)&&(n.type="string"),n.enum=o})(e,0,n),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(e,o)=>{const i={};for(const r of e){if(!n.has(r))throw new Error(`Key ${r} not found in enum`);i[r]=t.entries[r]}return new ci({...t,checks:[],...W(o),entries:i})},e.exclude=(e,o)=>{const i={...t.entries};for(const t of e){if(!n.has(t))throw new Error(`Key ${t} not found in enum`);delete i[t]}return new ci({...t,checks:[],...W(o),entries:i})}});function li(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new ci({type:"enum",entries:n,...W(t)})}var di=/*@__PURE__*/O("ZodLiteral",(e,t)=>{on.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n)=>{const o=e._zod.def,i=[];for(const r of o.values)if(void 0===r){if("throw"===t.unrepresentable)throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if("bigint"==typeof r){if("throw"===t.unrepresentable)throw new Error("BigInt literals cannot be represented in JSON Schema");i.push(Number(r))}else i.push(r);if(0===i.length);else if(1===i.length){const e=i[0];n.type=null===e?"null":typeof e,"draft-04"===t.target||"openapi-3.0"===t.target?n.enum=[e]:n.const=e}else i.every(e=>"number"==typeof e)&&(n.type="number"),i.every(e=>"string"==typeof e)&&(n.type="string"),i.every(e=>"boolean"==typeof e)&&(n.type="boolean"),i.every(e=>null===e)&&(n.type="null"),n.enum=i})(e,t,n),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function pi(e,t){return new di({type:"literal",values:Array.isArray(e)?e:[e],...W(t)})}var fi=/*@__PURE__*/O("ZodTransform",(e,t)=>{rn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t)=>{if("throw"===t.unrepresentable)throw new Error("Transforms cannot be represented in JSON Schema")})(0,e),e._zod.parse=(n,o)=>{if("backward"===o.direction)throw new x(e.constructor.name);n.addIssue=o=>{if("string"==typeof o)n.issues.push(te(o,n.value,t));else{const t=o;t.fatal&&(t.continue=!1),t.code??(t.code="custom"),t.input??(t.input=n.value),t.inst??(t.inst=e),n.issues.push(te(t))}};const i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n.fallback=!0,n)):(n.value=i,n.fallback=!0,n)}});var mi=/*@__PURE__*/O("ZodOptional",(e,t)=>{sn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>Yn(e,t,0,o),e.unwrap=()=>e._zod.def.innerType});function _i(e){return new mi({type:"optional",innerType:e})}var hi=/*@__PURE__*/O("ZodExactOptional",(e,t)=>{un.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>Yn(e,t,0,o),e.unwrap=()=>e._zod.def.innerType});var yi=/*@__PURE__*/O("ZodNullable",(e,t)=>{cn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const i=e._zod.def,r=Dn(i.innerType,t,o),a=t.seen.get(e);"openapi-3.0"===t.target?(a.ref=i.innerType,n.nullable=!0):n.anyOf=[r,{type:"null"}]})(e,t,n,o),e.unwrap=()=>e._zod.def.innerType});function gi(e){return new yi({type:"nullable",innerType:e})}var bi=/*@__PURE__*/O("ZodDefault",(e,t)=>{ln.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const i=e._zod.def;Dn(i.innerType,t,o),t.seen.get(e).ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))})(e,t,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});var vi=/*@__PURE__*/O("ZodPrefault",(e,t)=>{pn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const i=e._zod.def;Dn(i.innerType,t,o),t.seen.get(e).ref=i.innerType,"input"===t.io&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))})(e,t,n,o),e.unwrap=()=>e._zod.def.innerType});var wi=/*@__PURE__*/O("ZodNonOptional",(e,t)=>{fn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const i=e._zod.def;Dn(i.innerType,t,o),t.seen.get(e).ref=i.innerType})(e,t,0,o),e.unwrap=()=>e._zod.def.innerType});var Si=/*@__PURE__*/O("ZodCatch",(e,t)=>{_n.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const i=e._zod.def;let r;Dn(i.innerType,t,o),t.seen.get(e).ref=i.innerType;try{r=i.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=r})(e,t,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});var ki=/*@__PURE__*/O("ZodPipe",(e,t)=>{hn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const i=e._zod.def,r=i.in._zod.traits.has("$ZodTransform"),a="input"===t.io?r?i.out:i.in:i.out;Dn(a,t,o),t.seen.get(e).ref=a})(e,t,0,o),e.in=t.in,e.out=t.out});function Oi(e,t){return new ki({type:"pipe",in:e,out:t})}var zi=/*@__PURE__*/O("ZodReadonly",(e,t)=>{gn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const i=e._zod.def;Dn(i.innerType,t,o),t.seen.get(e).ref=i.innerType,n.readOnly=!0})(e,t,n,o),e.unwrap=()=>e._zod.def.innerType});var xi=/*@__PURE__*/O("ZodCustom",(e,t)=>{wn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t)=>{if("throw"===t.unrepresentable)throw new Error("Custom types cannot be represented in JSON Schema")})(0,e)});var Ei,Ti=li(["CONSENT","SOFT_OPT_IN","TRANSACTIONAL_ONLY","UNKNOWN"]),Ai=li(["MANUAL_UNSUB","ONE_CLICK_UNSUB","HARD_BOUNCE","COMPLAINT","ADMIN_BLOCK"]),Ii=li(["BROADCAST","AUTOMATION"]),$i=li(["ABANDONED_CART","POST_PURCHASE","WELCOME","WIN_BACK","RE_ENGAGEMENT","TAG_ADDED"]),Ni=(ti({email:ko(),name:vo().trim().min(1).nullable().optional(),customer_id:vo().uuid().nullable().optional(),tags:Qo(vo().trim().min(1)).default([]),consent_basis:Ti.default("UNKNOWN"),source:vo().trim().min(1).default("dashboard")}),ti({name:vo().trim().min(1),subject:vo().trim().min(1),preheader:vo().nullable().optional(),mjml_source:vo().trim().min(1),builder_project_json:ui(vo(),Ho()).nullable().optional(),thumbnail_url:En(xo,Ei).nullable().optional()}),ti({mjml_source:vo().trim().min(1),sample_variables:ui(vo(),Ho()).optional()}),ti({recipient_email:ko(),sample_variables:ui(vo(),Ho()).optional()}),ti({marketing_enabled:Wo().optional(),default_from_name:vo().trim().min(1).nullable().optional(),default_from_email:ko().nullable().optional(),default_reply_to_email:ko().nullable().optional(),physical_address:vo().trim().min(1).nullable().optional(),physical_address_line2:vo().trim().min(1).nullable().optional(),physical_city:vo().trim().min(1).nullable().optional(),physical_postal_code:vo().trim().min(1).nullable().optional(),physical_country:vo().trim().length(2).nullable().optional(),daily_limit:Fo().int().positive().optional(),monthly_soft_cap:Fo().int().positive().optional()}),ti({type:Ii.default("BROADCAST"),name:vo().trim().min(1),subject:vo().trim().min(1),template_id:vo().uuid(),list_id:vo().uuid().nullable().optional(),segment_id:vo().uuid().nullable().optional(),from_name:vo().trim().min(1),from_email:ko(),reply_to_email:ko().nullable().optional(),schedule_at:vo().datetime().nullable().optional(),target_emails:Qo(ko()).max(0,"Direct recipient entry is disabled. Use lists or segments built from Shoppex customers and paid order buyers.").default([]),idempotency_key:vo().trim().min(1).nullable().optional()}),ti({name:vo().trim().min(1),subject:vo().trim().min(1),template_id:vo().uuid(),from_name:vo().trim().min(1),from_email:ko(),reply_to_email:ko().nullable().optional(),trigger:$i,delay_seconds:Fo().int().min(0).default(0),conditions:ui(vo(),Ho()).default({})}),ti({trigger:$i,email:ko(),customer_id:vo().uuid().nullable().optional(),name:vo().trim().min(1).nullable().optional(),consent_basis:Ti.default("UNKNOWN"),variables:ui(vo(),Ho()).default({}),idempotency_key:vo().trim().min(1).nullable().optional()}),ti({email:ko(),reason:Ai.default("ADMIN_BLOCK"),notes:vo().nullable().optional()}),["BITCOIN","LITECOIN","ETHEREUM","BITCOIN_CASH","MONERO","RIPPLE","TRON","SOLANA","POLYGON","BINANCE_COIN","CRONOS","CONCORDIUM","NANO","DOGECOIN","DASH"]),Pi=["NOWPAYMENTS","CRYPTOMUS","OXAPAY"],Ci=["NOWPAYMENTS_WHITELABEL"],Ri={USDT:["USDT_TRC20","USDT_ERC20","USDT_BEP20","USDT_POLYGON","USDT_SOL"],USDC:["USDC_ERC20","USDC_TRC20","USDC_BEP20","USDC_POLYGON","USDC_SOL"],DAI:["DAI_ERC20"]},Ui=Object.keys(Ri),qi=[...Ri.USDT,...Ri.USDC,...Ri.DAI],ji=[...Ni,...qi],Di=["BITCOIN_LN"],Li=[...Pi,...Ci],Zi=[...ji,...Di],Mi=ji,Fi=(new Set(["SHOPPEXPAY"]),new Set(Ni)),Bi=new Set(qi),Yi=(new Set(ji),new Set(Di),new Set(Pi),new Set(Ci),new Set(Li),new Set(Zi),new Set(Ui),new Set(["STRIPE","PAYPAL","PAYPAL_FF","MOLLIE","AUTHORIZENET","NMI","SQUARE","SUMUP","SHOPIFY","SUBY","PANDABASE","STORRIK","DEBLOMASSI","SHOPPEXPAY","MONEYMOTION","OVGC","WHOP","DODO","MAVERICK","CASHAPP","VENMO","CRYPTO","CUSTOMER_BALANCE","MANUAL"]),{CASHAPP:"CASH_APP",PAYPAL_CREDIT_CARD:"PAYPAL",EUTHEREUM:"ETHEREUM",USDT_MATIC:"USDT_POLYGON",USDC_MATIC:"USDC_POLYGON"});function Ji(e,t){if(new Set(t).size!==t.length)throw new Error(`${e} contains duplicate entries`)}Ji("COIN_GATEWAY_KEYS",Ni),Ji("TOKEN_GATEWAY_KEYS",qi),Ji("CRYPTO_GATEWAY_KEYS",ji),Ji("LEGACY_CRYPTO_GATEWAY_KEYS",Di),Ji("CRYPTO_PROVIDER_KEYS",Pi),Ji("MANAGED_CRYPTO_PROVIDER_KEYS",Ci),Ji("CRYPTO_PROVIDER_GATEWAY_KEYS",Li),Ji("DEFAULT_NOWPAYMENTS_CRYPTO_GATEWAY_KEYS",Mi),Ji("DEFAULT_CRYPTOMUS_CRYPTO_GATEWAY_KEYS",["BITCOIN","LITECOIN","ETHEREUM","TRON","SOLANA","POLYGON","BINANCE_COIN","BITCOIN_CASH","MONERO","RIPPLE","DOGECOIN","USDT_TRC20","USDT_ERC20","USDT_BEP20","USDT_POLYGON","USDT_SOL","USDC_ERC20","USDC_BEP20","USDC_POLYGON","DAI_ERC20"]),Ji("DEFAULT_OXAPAY_CRYPTO_GATEWAY_KEYS",["BITCOIN","LITECOIN","ETHEREUM","TRON","SOLANA","POLYGON","BINANCE_COIN","BITCOIN_CASH","MONERO","RIPPLE","DOGECOIN","USDT_TRC20","USDT_ERC20","USDT_BEP20","USDT_POLYGON","USDC_ERC20"]);for(const Yc of ji)if(!Fi.has(Yc)&&!Bi.has(Yc))throw new Error(`CRYPTO_GATEWAY_KEYS contains an unclassified gateway: ${Yc}`);new Set(["STRIPE","PAYPAL","PAYPAL_FF","SKRILL","CASHAPP","CASH_APP","PERFECT_MONEY","SQUARE","SUMUP","SHOPIFY","SUBY","PANDABASE","STORRIK","DEBLOMASSI","SHOPPEXPAY","MONEYMOTION","OVGC","WHOP","DODO","MAVERICK","VENMO","MOLLIE","AUTHORIZENET","NMI"].map(e=>function(e){const t=e.trim();if(!t)return"";if(/^manual:/i.test(t)){const e=t.slice(t.indexOf(":")+1).trim();return e?`MANUAL:${e}`:"MANUAL"}let n=t.toUpperCase();const o=n.match(/^(USDT|USDC|DAI):([A-Z0-9_]+)$/);if(o){const[,e,t]=o;n=`${e}_${"MATIC"===t?"POLYGON":t}`}return Yi[n]??n}(e))),new Set(["WHITE_LABEL","NATIVE"]);var Wi=[...Li,"NATIVE"],Gi=(new Set(Wi),ti({set:Wo()})),Hi=ti({status:li(["READY","NEEDS_ATTENTION"]).optional(),code:vo().optional(),message:vo().optional(),checked_at:vo().optional()}),Vi=(ti({provider:vo(),type:vo(),enabled:Wo(),connected:Wo(),credentials:ui(vo(),Gi),public_config:ui(vo(),Ho()),webhook:ui(vo(),Ho()).optional(),health:Hi.optional()}),"#2563eb"),Ki=["comfortable","compact"],Xi=["top","side","background"],Qi=li(["checkout","payment_link","embed"]),er=li(["current","clean-light","clean-dark","v2","v3"]),tr=li(Ki),nr=li(["light","dark","system"]),or=li(Xi),ir=li(["ghost","outlined","filled"]),rr=li(["sheet","fullscreen","center"]),ar=li(["visible","hidden"]),sr=(li(["checkout.shell","checkout.panel","checkout.header","brand.logo","product.card","product.image","product.title","product.description","product.price","product.quantity","product.addon","paymentLink.hero","summary.panel","summary.line","summary.total","form.field","form.label","form.help","coupon.input","input.base","input.error","button.primary","button.secondary","payment.methods","payment.method","payment.method.icon","payment.method.label","payment.method.meta","payment.method.fee","payment.method.indicator","payment.provider_widget","payment.loading","payment.error","payment.warning","legal.terms","status.success","status.processing","embed.launcher","embed.launcher.icon","embed.productCard","embed.productCard.image","embed.productCard.title","embed.productCard.price","embed.cart","embed.cart.row","embed.cart.summary","embed.modal","embed.modal.header","embed.modal.close","embed.skeleton","embed.loader","embed.branding"]),li(["product.title","product.price","summary.total","payment.method.label","payment.provider_widget","payment.loading","payment.error","payment.warning","legal.terms","status.success","status.processing","embed.modal.close","embed.branding"]),vo().regex(/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/,"Use a valid hex color")),ur=vo().trim().min(1).max(200).refine(e=>!/[;{}]|@import|expression\s*\(/i.test(e),"Use a valid CSS color or gradient"),cr=vo().trim().min(1).max(400).refine(e=>!/[;{}]|@import|expression\s*\(/i.test(e),"Use a valid CSS box-shadow value"),lr=li(["Inter","Geist","Manrope","Plus Jakarta Sans","DM Sans","Space Grotesk","Sora","IBM Plex Sans","JetBrains Mono","Arial","System UI"]),dr=vo().trim().min(1).max(60).regex(/^[A-Za-z0-9 +\-_]+$/,"Use a Google Fonts family name"),pr=vo().url(),fr=ti({brand:ti({logoUrl:pr.optional().nullable(),logoDarkUrl:pr.optional().nullable(),logoMaxHeight:Fo().int().min(16).max(80).optional(),faviconUrl:pr.optional().nullable()}).strict().optional(),color:ti({brand:sr.optional(),brandContrast:sr.optional(),background:sr.optional(),surface:sr.optional(),surfaceRaised:sr.optional(),text:sr.optional(),textMuted:sr.optional(),border:sr.optional(),focus:sr.optional(),success:sr.optional(),warning:sr.optional(),error:sr.optional()}).strict().optional(),typography:ti({fontFamily:lr.optional(),googleFontFamily:dr.optional(),baseSize:Fo().int().min(12).max(18).optional()}).strict().optional(),shape:ti({buttonRadius:Fo().int().min(0).max(24).optional(),inputRadius:Fo().int().min(0).max(24).optional(),cardRadius:Fo().int().min(0).max(28).optional()}).strict().optional(),spacing:ti({density:tr.optional(),controlHeight:Fo().int().min(36).max(56).optional()}).strict().optional(),component:ti({primaryButton:ti({background:sr.optional(),text:sr.optional()}).strict().optional(),input:ti({background:sr.optional(),border:sr.optional(),focusRing:ur.optional()}).strict().optional(),summary:ti({background:sr.optional()}).strict().optional(),paymentMethod:ti({background:ur.optional(),cardBackground:ur.optional(),border:ur.optional(),selectedBackground:ur.optional()}).strict().optional(),productCard:ti({background:ur.optional(),border:ur.optional(),shadow:cr.optional()}).strict().optional(),productImage:ti({background:ur.optional(),border:ur.optional(),icon:ur.optional()}).strict().optional(),brandAvatar:ti({background:ur.optional(),text:sr.optional(),border:ur.optional()}).strict().optional(),pill:ti({background:ur.optional(),border:ur.optional(),text:sr.optional()}).strict().optional(),errorBanner:ti({background:ur.optional(),border:ur.optional(),text:sr.optional()}).strict().optional(),warningBanner:ti({background:ur.optional(),border:ur.optional(),text:sr.optional()}).strict().optional(),radio:ti({idleRing:ur.optional(),checkedFill:sr.optional(),checkedIcon:sr.optional()}).strict().optional(),divider:ti({color:ur.optional()}).strict().optional()}).strict().optional(),paymentLink:ti({heroImageUrl:pr.optional().nullable(),heroPosition:or.optional()}).strict().optional(),embed:ti({launcher:ti({background:ur.optional(),text:sr.optional(),radius:Fo().int().min(0).max(28).optional(),paddingX:Fo().int().min(8).max(32).optional(),paddingY:Fo().int().min(6).max(24).optional(),shadow:cr.optional()}).strict().optional(),productCard:ti({background:ur.optional(),border:ur.optional(),imageRadius:Fo().int().min(0).max(24).optional(),padding:Fo().int().min(8).max(32).optional()}).strict().optional(),cart:ti({background:ur.optional(),rowBorder:ur.optional(),itemSpacing:Fo().int().min(4).max(28).optional()}).strict().optional(),modal:ti({background:ur.optional(),radius:Fo().int().min(0).max(32).optional(),maxWidth:Fo().int().min(360).max(960).optional(),shadow:cr.optional()}).strict().optional(),backdrop:ti({color:ur.optional(),blur:Fo().int().min(0).max(24).optional(),opacity:Fo().min(0).max(1).optional()}).strict().optional(),skeleton:ti({background:ur.optional(),shimmer:ur.optional()}).strict().optional(),spinner:ti({color:ur.optional()}).strict().optional(),closeButton:ti({style:ir.optional()}).strict().optional(),mobile:ti({layout:rr.optional()}).strict().optional(),content:ti({productDescription:ar.optional(),termsShortcut:ar.optional()}).strict().optional()}).strict().optional()}).strict(),mr=ti({mode:nr.default("system"),fontSource:li(["curated"]).default("curated")}).strict(),_r=li(["standalone","bundle","pointer"]),hr=ti({name:vo().trim().min(1).max(80),fingerprint:vo().trim().min(1).max(128)}).strict(),yr=ti({type:pi("shoppex.style_theme"),surface:pi("checkout"),format_version:oi([pi(1),pi(2)]),name:vo().trim().min(1).max(80),description:vo().trim().max(240).optional(),embed_design:er.default("current"),token_schema_version:pi(1),tokens:fr.default({}),custom_css:vo().max(2e4).default(""),settings:mr.default({mode:"system",fontSource:"curated"}),_meta:ui(vo(),Ho()).optional()}).strict(),gr=(ti({type:pi("shoppex.style_theme"),surface:Qi,format_version:oi([pi(1),pi(2)]),name:vo().trim().min(1).max(80),description:vo().trim().max(240).optional(),embed_design:er.default("current"),token_schema_version:pi(1),tokens:fr.default({}),custom_css:vo().max(2e4).default(""),settings:mr.default({mode:"system",fontSource:"curated"}),share_mode:_r.default("standalone"),parent_hint:hr.optional(),bundled_parent:yr.optional(),_meta:ui(vo(),Ho()).optional()}).strict(),ti({theme_id:vo().uuid().nullable(),surface:Qi,embed_design:er,token_schema_version:pi(1),revision:Fo().int().min(1),tokens:fr,custom_css:vo(),css_variables:ui(vo(),vo())}).strict(),ti({theme_id:vo().uuid().nullable(),parent_theme_id:vo().uuid().nullable(),surface:pi("embed"),embed_design:er,token_schema_version:pi(1),revision:Fo().int().min(1),parent_revision:Fo().int().min(1).nullable(),tokens:fr,custom_css:vo(),css_variables:ui(vo(),vo())}).strict(),ti({shop_id:vo().uuid(),product_id:vo().uuid().nullable(),product_group_id:vo().uuid().nullable(),payment_link_id:vo().uuid().nullable(),invoice_id:vo().nullable()}).strict(),ti({embed_runtime:vo().min(16).max(128),embed_design:er,revision:Fo().int().min(1),parent_revision:Fo().int().min(1).nullable(),theme_id:vo().uuid().nullable(),css_variables:ui(vo(),vo()),custom_css:vo()}).strict(),ti({embed_design:er.optional(),embed_style_revision:function(e){return function(e,t){return new e({type:"number",coerce:!0,checks:[],...W(t)})}(Mo,e)}().int().min(1).optional(),embed_runtime:vo().min(16).max(128).optional(),preview:Wo().optional()}).strict(),li(["announcement_bar","countdown_bar","promo_info_card","recent_purchase_popup","coupon_popup_modal","live_chat"]),li(["layout.header.before","layout.header.after","layout.overlay","home.hero.after","home.grid.before","product.buybox.after","layout.footer.before","floating.bottom_right"])),br=(li(["announcement_bar","countdown_bar","promo_info_card","recent_purchase_popup","coupon_popup_modal","live_chat"]),vo().regex(/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/,"Use a valid hex color")),vr=li(["static","marquee"]),wr=li(["brand_blue","emerald","sunset","rose","charcoal","custom"]),Sr=li(["hide","message"]),kr=li(["compact","comfortable"]),Or=li(["subtle","outline","solid"]),zr=li(["minimal","boxed"]),xr=li(["indigo","emerald","amber","rose","slate","custom"]),Er=li(["compact","feature","alert"]),Tr=li(["compact","comfortable"]),Ar=li(["subtle","outline","solid"]),Ir=li(["sparkles","megaphone","gift","truck","shield","support","none"]),$r=li(["show","hide"]),Nr=li(["midnight","ocean","ember","forest","custom"]),Pr=li(["delay","exit_intent"]),Cr=vo().trim().refine(e=>{if(e.startsWith("/"))return!0;try{const t=new URL(e);return"http:"===t.protocol||"https:"===t.protocol}catch{return!1}},'Use a valid absolute URL or a path starting with "/"'),Rr=vo().trim().refine(e=>{const t=new Date(e);return!Number.isNaN(t.getTime())},"Use a valid date and time"),Ur=ti({text:vo().trim().min(1,"Text is required").max(160,"Text must be 160 characters or fewer"),linkLabel:vo().trim().max(32,"Link label must be 32 characters or fewer").optional().nullable(),linkUrl:Cr.optional().nullable(),dismissible:Wo().default(!1),displayMode:vr.default("marquee"),themePreset:wr.default("custom"),animationSpeedSeconds:Fo().int().min(8).max(40).default(30),backgroundColor:br.default("#111827"),textColor:br.default("#f9fafb")}),qr=ti({text:vo().trim().min(1,"Text is required").max(120,"Text must be 120 characters or fewer"),endAt:Rr,linkLabel:vo().trim().max(32,"Link label must be 32 characters or fewer").optional().nullable(),linkUrl:Cr.optional().nullable(),dismissible:Wo().default(!1),themePreset:wr.default("brand_blue"),expiredBehavior:Sr.default("hide"),expiredMessage:vo().trim().max(120,"Expired message must be 120 characters or fewer").optional().nullable(),density:kr.default("compact"),ctaStyle:Or.default("subtle"),timerStyle:zr.default("boxed"),backgroundColor:br.default("#111827"),textColor:br.default("#f9fafb")}),jr=ti({eyebrow:vo().trim().max(32,"Eyebrow must be 32 characters or fewer").optional().nullable(),title:vo().trim().min(1,"Title is required").max(80,"Title must be 80 characters or fewer"),body:vo().trim().min(1,"Body is required").max(240,"Body must be 240 characters or fewer"),linkLabel:vo().trim().max(32,"Link label must be 32 characters or fewer").optional().nullable(),linkUrl:Cr.optional().nullable(),themePreset:xr.default("indigo"),layoutStyle:Er.default("feature"),density:Tr.default("comfortable"),ctaStyle:Ar.default("outline"),icon:Ir.default("sparkles"),iconVisibility:$r.default("show"),backgroundColor:br.default("#111827"),textColor:br.default("#f9fafb"),accentColor:br.default("#818cf8")}),Dr=ti({title:vo().trim().min(1,"Title is required").max(80,"Title must be 80 characters or fewer").default("Recent purchases"),lookbackHours:Fo().int().min(1).max(168).default(24),cooldownSeconds:Fo().int().min(5).max(300).default(20),maxItems:Fo().int().min(1).max(20).default(8),anonymizeMode:li(["first_name_city","first_name_country","initial_country","anonymous"]).default("first_name_city"),includedProductIds:Qo(vo().min(1)).max(50).default([])}),Lr=ti({eyebrow:vo().trim().max(32,"Eyebrow must be 32 characters or fewer").optional().nullable(),title:vo().trim().min(1,"Title is required").max(80,"Title must be 80 characters or fewer"),body:vo().trim().min(1,"Body is required").max(240,"Body must be 240 characters or fewer"),couponCode:vo().trim().min(2,"Coupon code is required").max(40,"Coupon code must be 40 characters or fewer"),primaryButtonLabel:vo().trim().min(1,"Primary button label is required").max(24,"Primary button label must be 24 characters or fewer").default("Copy code"),secondaryButtonLabel:vo().trim().min(1,"Secondary button label is required").max(24,"Secondary button label must be 24 characters or fewer").default("Maybe later"),disclaimer:vo().trim().max(100,"Disclaimer must be 100 characters or fewer").optional().nullable(),themePreset:Nr.default("midnight"),trigger:Pr.default("delay"),delaySeconds:Fo().int().min(0).max(60).default(6),showOncePerSession:Wo().default(!0),reminderHours:Fo().int().min(1).max(720).default(24),backgroundColor:br.default("#111827"),textColor:br.default("#f8fafc"),accentColor:br.default("#7c9cff"),heroImageUrl:Cr.optional().nullable(),discountDisplay:vo().trim().max(24,"Discount display must be 24 characters or fewer").optional().nullable(),expiresAt:Rr.optional().nullable()}),Zr=li(["hidden","optional"]),Mr=ti({headline:vo().trim().min(1,"Headline is required").max(60,"Headline must be 60 characters or fewer").default("Chat with us"),greeting:vo().trim().min(1,"Greeting is required").max(240,"Greeting must be 240 characters or fewer").default("Hi! Send us a message and we will reply as soon as possible."),inputPlaceholder:vo().trim().min(1,"Placeholder is required").max(80,"Placeholder must be 80 characters or fewer").default("Type your message…"),contactFields:Zr.default("optional"),accentColor:br.default("#111827"),launcherIconColor:br.default("#f9fafb")}),Fr=ti({type:pi("announcement_bar"),slot:gr,enabled:Wo().default(!0),sortOrder:Fo().int().min(0).max(999).default(0),config:Ur}),Br=ti({type:pi("recent_purchase_popup"),slot:gr,enabled:Wo().default(!0),sortOrder:Fo().int().min(0).max(999).default(0),config:Dr}),Yr=ti({type:pi("countdown_bar"),slot:gr,enabled:Wo().default(!0),sortOrder:Fo().int().min(0).max(999).default(0),config:qr}),Jr=ti({type:pi("promo_info_card"),slot:gr,enabled:Wo().default(!0),sortOrder:Fo().int().min(0).max(999).default(0),config:jr}),Wr=ti({type:pi("coupon_popup_modal"),slot:gr,enabled:Wo().default(!0),sortOrder:Fo().int().min(0).max(999).default(0),config:Lr}),Gr=ti({type:pi("live_chat"),slot:gr,enabled:Wo().default(!0),sortOrder:Fo().int().min(0).max(999).default(0),config:Mr}),Hr=(ri("type",[Fr,Yr,Jr,Br,Wr,Gr]),ri("type",[Fr.extend({id:vo().min(1)}),Yr.extend({id:vo().min(1)}),Jr.extend({id:vo().min(1)}),Br.extend({id:vo().min(1)}),Wr.extend({id:vo().min(1)}),Gr.extend({id:vo().min(1)})]),new Set(["amount","currency","invoice_id","customer_email","id","email","price","price_usd","product_name","quantity"].map(e=>e.toLowerCase())),ui(vo(),Ho())),Vr=oi([vo(),Fo()]),Kr=ti({kind:li(["address","redirect","embed_pending"]),gateway:vo(),checkout_url:vo().nullable().optional(),address:vo().optional(),amount:vo().optional(),qr_code:vo().optional(),expires_at:vo().optional(),payment_id:vo().optional(),confirmations_needed:Fo().optional()}).passthrough(),Xr=(ti({data:ti({invoice:ti({uniqid:vo().uuid()}).passthrough(),invoice_url:vo().nullable(),checkout_url:vo().nullable(),selected_gateway:vo().nullable(),session_started:Wo(),payment_session:Kr.nullable(),completion_access_grant:vo().nullable()}).passthrough()}).passthrough(),ti({default_value:vo().optional(),min_length:Fo().optional(),name:vo(),placeholder:vo().optional(),regex:vo().optional(),required:Wo(),type:vo()})),Qr=ti({id:vo(),price:Fo(),quantity:Fo(),title:vo()}),ea=ti({addons:Qo(Qr).optional(),available_addons:Qo(Ho()).optional(),cloudflare_image_id:vo().nullable(),created_at:vo().optional(),currency:vo(),custom_fields:Hr.nullable().optional(),custom_fields_config:Qo(Xr).nullable().optional(),delivery_instruction:Ho().optional(),delivery_instruction_config:Ho().optional(),delivery_instruction_label:Ho().optional(),delivery_text:vo().nullable().optional(),delivery_time:Fo().nullable().optional(),delivery_time_unit:li(["minutes","hours","days"]).nullable().optional(),description:vo().nullable(),discount_percent:Fo().optional(),discount_display:Fo().optional(),discounted_total_display:Fo().optional(),gateways:Qo(vo()).nullable().optional(),id:vo().optional(),image_name:vo().nullable(),image_storage:vo().optional(),line_item_id:vo().nullable().optional(),pay_what_you_want:Wo().optional(),price:vo().optional(),price_display:Vr,quantity:Fo(),quantity_max:Fo().optional(),quantity_min:Fo().optional(),recurring_interval:vo().nullable().optional(),recurring_interval_count:Fo().nullable().optional(),redirect_link:vo().nullable().optional(),redirect_time:Fo().nullable().optional(),service_text:vo().nullable().optional(),setup_cost:vo().optional(),slug:vo().nullable().optional(),storefront_url:vo().nullable().optional(),status:vo().nullable().optional(),subtype:vo().nullable().optional(),terms_of_service:vo().nullable().optional(),title:vo(),total:Fo(),trial_period:Fo().nullable().optional(),type:vo().nullable().optional(),uniqid:vo().nullable(),unit_price:Fo().optional(),unit_price_display:Vr.optional(),unit_quantity:Fo(),updated_at:vo().optional(),variant_title:vo().nullable().optional(),video_link:vo().nullable().optional(),volume_discounts:Ho().optional(),warranty_days:Fo().nullable().optional(),warranty_text:vo().nullable().optional()}),ta=ti({amount:Fo(),gateway:vo()}),na=ti({custom_tip_enabled:Wo().optional(),enabled:Wo(),preset_percentages:Qo(Fo()).optional()}),oa=ti({allow_partial_payment:Wo().optional(),auto_apply:Wo().optional(),available:vo(),currency:vo()}),ia=ti({affiliate_code:vo().nullable().optional(),already_paid:Vr.nullable().optional(),amount_due:Vr.nullable().optional(),currency:vo().nullable().optional(),discount:Vr.nullable().optional(),discount_label:vo().nullable().optional(),gateway_fee:Vr.nullable().optional(),platform_fee:Vr.nullable().optional(),subtotal:Vr.nullable().optional(),tip:Vr.nullable().optional(),total:Vr.nullable().optional()}),ra=ti({active:Wo(),expires_at:vo()}),aa=ti({faq_url:vo().nullable(),support_email:vo().nullable(),support_url:vo().nullable(),telegram_invite:vo().nullable(),discord_invite_url:vo().nullable()}),sa=ti({currency:vo().nullable().optional(),enabled:Wo(),max_amount:Fo().nullable().optional(),min_amount:Fo().nullable().optional(),reason:li(["BELOW_MIN_AMOUNT","ABOVE_MAX_AMOUNT"]).nullable().optional()}),ua=ti({delivered_items:Qo(Ho()),downloads:Qo(Ho()),external_urls:Qo(Ho()),license_keys:Qo(Ho()),tracking_codes:Qo(Ho())}),ca=ti({active:Wo().optional(),attempt_id:vo().optional(),buyer_actionable:Wo().nullable().optional(),crypto_currency:vo().nullable().optional(),currency:vo().optional(),expected_amount:vo().nullable().optional(),expected_crypto_amount:vo().nullable().optional(),last_checked_at:vo().optional(),missing_amount:vo().nullable().optional(),missing_crypto_amount:vo().nullable().optional(),provider_reference:vo().nullable().optional(),provider_status:vo().nullable().optional(),received_amount:vo().nullable().optional(),received_crypto_amount:vo().nullable().optional(),shortfall_percent:vo().nullable().optional()}),la=ti({created_at:vo().nullable(),details:vo().nullable(),id:vo(),invoice_id:vo(),status:vo().nullable()}),da=ti({billing_address_mode:li(["INHERIT","REQUIRED","DISABLED"]).optional(),button_label:vo().nullable().optional(),display_name:vo().nullable().optional(),gateway:vo(),hide_provider_attribution:Wo().optional(),icon_url:vo().nullable().optional(),terms_mode:li(["INHERIT","REQUIRED","DISABLED"]).optional()}),pa=ti({custom_fields:Qo(Ho()).optional(),description:vo().nullable(),display_order:Fo(),icon_preset:vo().nullable(),icon_url:vo().nullable(),id:vo(),instructions:vo().nullable(),is_active:Wo().optional(),name:vo(),payment_type:li(["INSTRUCTIONS","REDIRECT"]),redirect_url:vo().nullable(),require_proof:Wo(),proof_type:li(["TEXT","IMAGE","BOTH"]).optional(),void_after_hours:Fo()}),fa=ti({email:ti({masked:vo().nullable(),persisted:Wo(),required_for_provider_session:Wo().optional()})}),ma=ti({amount:vo().nullable(),confirmations:Fo().nullable(),created_at:Fo().optional(),hash:vo().nullable(),status:vo().optional()}),_a=ti({conf:ti({partial:Fo().optional(),void:Fo(),waiting_for_confirmations:Fo().optional()}),gateways:Qo(vo())}),ha=ti({invoice_payable:Wo(),resumable:Wo(),resumable_gateway:vo().nullable(),gateway:vo().nullable().optional(),crypto_gateway:vo().nullable().optional(),processor:vo().nullable().optional(),flow_type:vo().nullable().optional(),status:vo().nullable().optional(),provider_reference:vo().nullable().optional(),provider_reference_type:vo().nullable().optional(),capture_id:vo().nullable().optional(),manual_confirmation_pending:Wo().optional(),payment_method_switch_locked:Wo().optional(),awaiting_payment_method:Wo().optional(),started_at:Fo().nullable().optional(),completed_at:Fo().nullable().optional()}),ya=(ti({already_paid_amount:Vr.nullable().optional(),apm_method:vo().nullable().optional(),blockchain:vo().nullable(),buyer_identity:fa.nullable().optional(),checkout_tipping:na.nullable().optional(),country_regulations:vo().nullable().optional(),coupon_applied:Wo().optional(),crypto_mode:vo().nullable().optional(),crypto_transactions:Qo(ma).optional(),currency:vo().nullable(),custom_fields:Hr.nullable().optional(),custom_gateways:Qo(pa).optional(),customer_balance:oa.nullable().optional(),customer_email_masked:vo().nullable().optional(),dark_mode:oi([pi(0),pi(1)]).optional(),delivery:ua.optional(),delivery_info:ua.optional(),discount:Fo().optional(),discount_display:Vr.optional(),eligible_gateways:Qo(vo()).optional(),environment:vo().optional(),fee_breakdown:Hr.nullable().optional(),gateway:vo().nullable(),gateway_data:Hr.nullable().optional(),gateway_eligibility:ui(vo(),sa).optional(),gateway_fee_previews:Qo(ta).optional(),gateways_available:Qo(vo()),license:oi([Hr,pi(!1)]).optional(),name:vo().nullable(),paddle_token:vo().nullable().optional(),paddle_transaction_id:Ho().optional(),payment_link_id:vo().nullable().optional(),payment_method_overrides:Qo(da).optional(),payment_session_state:ha.nullable().optional(),polling:ra,pricing_breakdown:ia.nullable().optional(),product:Qo(ea).optional(),quantity:Fo().nullable(),rates_snapshot:ui(vo(),Fo()).optional(),remaining_amount:Vr.nullable().optional(),selected_gateway:vo().nullable().optional(),shop_checkout_ambient_color:vo().nullable().optional(),shop_cloudflare_image_id:vo().nullable(),shop_domain:vo().nullable().optional(),shop_force_paypal_email_delivery:oi([pi(0),pi(1)]).optional(),shop_image_name:vo().nullable(),shop_image_storage:vo().nullable().optional(),shop_payment_gateways_fees:Qo(Hr).optional(),shop_paypal_credit_card:oi([pi(0),pi(1)]).optional(),shop_return_url:vo().nullable().optional(),shop_slug:vo().nullable().optional(),shop_terms_enabled:Wo().optional(),shop_terms_of_service:vo().nullable().optional(),shop_terms_url:vo().nullable().optional(),shop_privacy_policy_url:vo().nullable().optional(),shop_refund_policy_url:vo().nullable().optional(),shop_walletconnect_id:vo().nullable().optional(),status:vo().nullable(),status_history:Qo(la).optional(),status_history_legacy:Qo(la).optional(),status_history_raw:Qo(la).optional(),stripe_publishable_key:vo().nullable().optional(),stripe_user_id:vo().nullable().optional(),subtotal:Fo().optional(),subtype:vo().nullable().optional(),support:aa.optional(),theme:vo().optional(),tip_amount:Vr.nullable().optional(),tip_amount_display:Vr.nullable().optional(),tip_metadata:Ho().optional(),total:Vr,total_conversions:Hr.optional(),total_display:Vr,type:vo().nullable(),underpayment:ca.nullable().optional(),underpayment_status:vo().nullable().optional(),uniqid:vo(),void_times:Qo(_a).optional(),addons:Ho().optional(),affiliate_data:Ho().optional(),affiliate_revenue_customer_id:vo().nullable().optional(),bill_info:Ho().optional(),binance_checkout_url:vo().nullable().optional(),binance_invoice_id:vo().nullable().optional(),binance_qrcode:vo().nullable().optional(),bundle_config:Ho().optional(),bundles:Ho().optional(),cashapp_cashtag:vo().nullable().optional(),cashapp_note:vo().nullable().optional(),cashapp_qrcode:vo().nullable().optional(),created_at:vo().optional(),crypto_address:vo().nullable().optional(),crypto_amount:Vr.optional(),crypto_confirmations_needed:Fo().nullable().optional(),crypto_exchange_rate:Vr.nullable().optional(),crypto_received:Vr.optional(),crypto_uri:vo().nullable().optional(),developer_invoice:Ho().optional(),developer_return_url:vo().nullable().optional(),developer_title:vo().nullable().optional(),exchange_rate:Vr.nullable().optional(),external_order_id:vo().nullable().optional(),lex_order_id:vo().nullable().optional(),lex_payment_method:vo().nullable().optional(),paydash_payment_id:vo().nullable().optional(),paypal_apm:vo().nullable().optional(),paypal_email_delivery:Wo().optional(),paypal_fee:Vr.nullable().optional(),paypal_order_id:vo().nullable().optional(),paypal_payer_email:vo().nullable().optional(),paypal_subscription_id:vo().nullable().optional(),paypal_subscription_link:vo().nullable().optional(),perfectmoney_id:vo().nullable().optional(),product_addons:Ho().optional(),product_id:vo().nullable().optional(),product_title:vo().nullable().optional(),product_type:vo().nullable().optional(),product_variants:Ho().optional(),recurring_billing_id:vo().nullable().optional(),skrill_link:vo().nullable().optional(),skrill_sid:vo().nullable().optional(),status_details:Ho().optional(),stripe_apm:vo().nullable().optional(),stripe_client_secret:vo().nullable().optional(),stripe_id:vo().nullable().optional(),stripe_price_id:vo().nullable().optional(),subscription:Ho().optional(),subscription_id:vo().nullable().optional(),sumup_id:vo().nullable().optional(),telegram_stars_payment_link:vo().nullable().optional(),telegram_stars_payment_note:vo().nullable().optional(),updated_at:vo().optional(),virtual_payments_id:vo().nullable().optional(),void_details:Ho().optional()}).catchall(Ho()),3),ga=2,ba={maximumFractionDigits:3};function va(e){if(!Number.isFinite(e))return e;const t=e<0?-1:1,n=wa(Math.abs(e),2),o=Math.round(n);return 0===o?0:t*wa(o,-2)}function wa(e,t){const[n,o="0"]=String(e).split("e");return Number(`${n}e${Number(o)+t}`)}var Sa=vo().nullable(),ka=ui(vo(),Ho()),Oa=ti({logo_url:Sa,primary_color:vo(),secondary_color:vo(),accent_color:vo()}),za=ti({attachment_image_id:ti({cloudflare_image_id:Sa}).nullable()}),xa=ti({attachment_imageId:ti({cloudflareImageId:Sa}).nullable()}),Ea=ti({uniqid:vo(),status:vo(),total:vo(),total_display:Sa,currency:vo(),created_at:vo(),line_items:Qo(ti({product_title:Sa,quantity:Fo(),product:za.nullable()}))}),Ta=ti({uniqid:vo(),status:vo(),total:vo(),totalDisplay:Sa,currency:vo(),createdAt:vo(),lineItems:Qo(ti({productTitle:Sa,quantity:Fo(),product:xa.nullable()}))}),Aa=ti({invoices:Qo(Ta),pagination:ti({page:Fo(),limit:Fo(),total:Fo(),has_more:Wo()})}),Ia=ti({gateway:vo(),displayName:Sa,cryptoGateway:Sa.optional(),blockchain:Sa,cryptoAddress:Sa,apmMethod:Sa}),$a=ti({id:vo(),uniqid:vo(),status:vo(),statusDetails:Sa,total:vo(),totalDisplay:Sa,subtotal:vo(),discount:vo(),discountDisplay:Sa,tax:vo(),taxPercentage:vo(),currency:vo(),createdAt:vo(),updatedAt:vo(),gatewayUpdatedAt:Sa,customFields:ka.nullable(),balancePaidAmount:vo(),currentPaymentAttemptId:Sa,lineItems:Qo(ti({id:vo(),productTitle:vo(),productType:vo(),variantTitle:Sa,unitPrice:vo(),quantity:Fo(),total:vo(),deliveryText:Sa,deliverySummary:ti({codes:Qo(vo()),links:Qo(ti({label:vo(),value:vo(),href:Sa.optional()})),notes:Qo(vo()),serials:Qo(ti({value:vo(),is_replacement:Wo(),is_replaced:Wo()}))}).nullable(),deliveredAt:Sa,deliveryStatus:li(["PENDING","AWAITING_FULFILLMENT","DELIVERED","FAILED"]),customFields:ka.nullable(),product:ti({uniqid:vo(),slug:Sa,serviceText:Sa,attachment_imageId:ti({cloudflareImageId:Sa}).nullable()}).nullable()})),currentPayment:Ia.nullable(),payments:Qo(Ia)}),Na=(ti({quote:ti({enabled:Wo(),currency:vo(),min_amount:vo(),max_amount:Sa,bonus_tiers:Qo(ti({min_amount:vo(),bonus_percent:Fo()}))})}),ti({invoice_id:vo(),url:vo()}),ti({id:vo(),type:vo(),status:vo(),amount:Sa,currency:Sa,coupon_code:Sa,reason:vo(),trigger_reference_type:vo(),trigger_reference_id:vo(),created_at:Fo(),fulfilled_at:Fo().nullable(),expires_at:Fo().nullable()})),Pa=ti({summary:ti({available:vo(),pending:vo(),lifetime_earned:vo(),redeemed:Sa,currency:vo()}),activity:Qo(Na),earned_after_invoice:Qo(Na),pending_after_invoice:Qo(Na)}),Ca=ti({id:vo(),uniqid:vo(),label:Sa,code:vo(),url:Sa,status:li(["pending","active","inactive","rejected"]),is_primary:Wo(),total_clicks:Fo(),total_sales:Fo(),total_revenue:vo(),is_active:Wo(),is_approved:Wo(),requested_affiliate_revenue_percent:Fo().nullable(),requested_affiliate_customer_discount_percent:Fo().nullable(),affiliate_revenue_percent_override:Fo().nullable(),affiliate_customer_discount_percent_override:Fo().nullable(),effective_commission_percent:Fo(),effective_customer_discount_percent:Fo(),commission_shareback_percent:Fo(),commission_shareback_enabled:Wo(),max_commission_shareback_percent:Fo(),created_at:Sa,updated_at:Sa}),Ra=ti({customer:ti({id:vo(),email:vo(),name:Sa}).nullable(),state:vo(),can_create_custom_links:Wo(),custom_link_request_disabled_reason:Sa,custom_links_require_approval:Wo(),affiliate_codes_accepted_at_checkout:Wo(),cash_payout_enabled:Wo(),links:Qo(Ca),preferred_payout:ti({asset:vo(),network:vo(),address:vo()}).nullable(),balance_currency:vo(),balances:ti({pending:vo(),available:vo(),requested:vo(),converted:vo(),paid:vo(),approved_total:vo()}),commissions:Qo(ti({id:vo(),invoice_id:vo(),commission_amount:vo(),base_amount:vo(),discount_amount:vo(),status:vo(),created_at:Sa,paid_at:Sa,converted_at:Sa})),claims:Qo(ti({id:vo(),type:vo(),status:vo(),amount:vo(),currency:vo(),allocations:Qo(ti({source_type:vo(),commission_id:Sa,adjustment_id:Sa,amount:vo()})),wallet_transaction_id:Sa,payout_asset:Sa,payout_network:Sa,payout_address:Sa,note:Sa,metadata:Ho(),completed_at:Sa,rejected_at:Sa,cancelled_at:Sa,created_at:Sa,updated_at:Sa}))}),Ua=ti({uniqid:vo(),status:vo(),gateway:vo(),current_period_start:vo(),current_period_end:vo(),trial_end:Sa,cancel_at_period_end:Wo(),canceled_at:Sa,created_at:vo(),plan:ti({id:vo(),uniqid:vo(),name:vo(),price:vo(),currency:vo(),interval:vo(),interval_count:Fo(),trial_days:Fo()}).nullable(),payment_method:ti({id:vo(),gateway:vo(),type:vo(),card_brand:Sa,card_last4:Sa,card_exp_month:Fo().nullable(),card_exp_year:Fo().nullable(),is_default:Wo()}).nullable(),actions:ti({can_pause:Wo(),can_resume:Wo(),can_cancel:Wo(),can_manage_payment_method:Wo()})}),qa=ti({shop:ti({id:vo(),slug:vo(),name:vo(),currency:vo(),branding:Oa}),customer:ti({email:vo(),name:vo()}),stats:ti({invoices_count:Fo(),licenses_count:Fo(),deliverables_count:Fo(),tickets_count:Fo()}),wallet:ti({available:vo(),total:vo(),hold:vo(),currency:vo(),enabled:Wo()}).nullable(),rewards:Pa,affiliate:Ra,invoices:Qo(Ea),subscriptions:Qo(Ua),licenses:Qo(ti({uniqid:vo(),invoice_id:vo(),status:vo(),license_key:vo(),hardware_id:Sa,expires_at:Fo().nullable(),renewable:Wo(),product:ti({title:vo().optional()}).optional()})),deliverables:Qo(ti({id:vo(),invoice_uniqid:vo(),product_title:vo(),kind:li(["file","serial","license"]),label:vo(),value:vo(),href:Sa,created_at:vo()})),tickets:Qo(ti({uniqid:vo(),title:vo(),status:vo(),updated_at:vo(),created_at:Sa}))});var ja=null,Da=null;var La=null,Za=null;function Ma(e,t){const n=t?.shopId?.trim();Za=n||null;const i=La?.locale;return i!==(La={storeSlug:e,locale:t?.locale,currency:t?.currency,apiBaseUrl:t?.apiBaseUrl??"https://api.shoppex.io",checkoutBaseUrl:t?.checkoutBaseUrl??"https://checkout.shoppex.io"}).locale&&o(),ja=null,Da=null,La}function Fa(){if(!La)throw new s;return La}function Ba(){return null!==La}function Ya(e){Za=e}function Ja(){return Za}function Wa(e){return function(e){if(Array.isArray(e))return e;if("string"==typeof e){try{const t=JSON.parse(e);if(Array.isArray(t))return t;if(t&&"object"==typeof t){const e=t.custom_fields??t.customFields;return Array.isArray(e)?e:[]}}catch{return[]}return[]}if(e&&"object"==typeof e){const t=e.custom_fields??e.customFields;return Array.isArray(t)?t:[]}return[]}(e).filter(e=>!!e&&"object"==typeof e&&!Array.isArray(e)).map(e=>{const t="string"==typeof e.type?e.type.trim().toLowerCase():"text",n=t.length>0?t:"text",o=[e.default_value,e.default,e.value].find(e=>"string"==typeof e&&e.trim().length>0);return{name:"string"==typeof e.name?e.name.trim():"",type:n,required:!0===e.required||"true"===e.required||1===e.required||"1"===e.required,defaultValue:"string"==typeof o?o:"",placeholder:"string"==typeof e.placeholder?e.placeholder:"",regex:"string"==typeof e.regex?e.regex:void 0}}).filter(e=>e.name.length>0&&"hidden"!==e.type)}function Ga(e){const t=e?.trim().toLowerCase()??"";return"true"===t||"1"===t||"yes"===t||"on"===t}function Ha(e,t){if("checkbox"===e.type)return e.required&&!Ga(t)?`${e.name} is required.`:null;const n=t.trim();if(e.required&&!n)return`${e.name} is required.`;if(e.regex&&n)try{if(!new RegExp(e.regex).test(n))return`${e.name} has an invalid format.`}catch{return null}return null}function Va(e,t){const n={};return e.forEach(e=>{const o=t[e.name]??e.defaultValue??"";if("checkbox"===e.type)return void(Ga(o)&&(n[e.name]="true"));const i=o.trim();i.length>0&&(n[e.name]=i)}),n}var Ka=-1;function Xa(e,t,n){return!0!==t?e:!0===n?Ka:0!==e?e:Ka}function Qa(e){return"number"==typeof e&&Number.isFinite(e)?Math.trunc(e):null}function es(e){if(!0===e)return!0;if("number"==typeof e&&Number.isFinite(e))return 0!==e;if("string"==typeof e){const t=e.trim().toLowerCase();return"true"===t||"1"===t}return!1}function ts(e){return Xa(Qa(e?.stock)??Ka,e?.orderable,e?.supplier_backed)}function ns(e){if(!e)return Ka;if("string"==typeof e.type&&"SERIALS"===e.type.toUpperCase())return Xa(Qa(e.stock)??Ka,e.orderable,e.supplier_backed);const t=function(e){const t=Array.isArray(e.price_variants)?e.price_variants:[];return t.length>0?t.map(e=>ts(e)):(Array.isArray(e.variants)?e.variants:[]).map(e=>ts(e))}(e);return t.length>0?t.some(e=>e<0)?Ka:Xa(t.reduce((e,t)=>e+Math.max(t,0),0),e.orderable,e.supplier_backed):Xa(Qa(e.stock)??Ka,e.orderable,e.supplier_backed)}function os(e){return!!function(e){return!!e&&(es(e.on_hold)||es(e.onHold)||es(e.is_on_hold)||es(e.isOnHold))}(e)||0===ns(e)}function is(e){return!os(e)}function rs(e){return 0===ts(e)}function as(e=[]){const t=/* @__PURE__ */new Map;for(const n of e)n?.uniqid&&!t.has(n.uniqid)&&t.set(n.uniqid,n);return t}function ss(e,t=[]){const n=t instanceof Map?t:as(t);return(e.product_uniqids??[]).flatMap(e=>{const t=n.get(e);return t?[t]:[]})}function us(e=[]){return Array.from(as(e).values())}function cs(e){return e?e.replace(/<[^>]*>/g," ").replace(/\s+/g," ").trim():""}function ls(e){return e.trim().toLowerCase()}function ds(e,t){const n=cs(t).toLowerCase();n&&e.push(n)}function ps(e){const t=[];ds(t,e.title),ds(t,e.slug??void 0),ds(t,e.description);for(const n of e.product_highlights??[])ds(t,n);for(const n of e.variants??[])ds(t,n.title);for(const n of e.price_variants??[])ds(t,n.title??n.label);return t}function fs(e,t){const n=ls(t);return!!n&&ps(e).some(e=>e.includes(n))}function ms(e,t){const n=ls(t);if(!n)return!1;const o=cs(e.title).toLowerCase(),i=cs(e.slug??e.name??void 0).toLowerCase(),r=cs(e.description).toLowerCase();return o.includes(n)||i.includes(n)||r.includes(n)}function _s(e,t,n){const o=ls(t);if(!o)return[];let i=e.filter(e=>fs(e,o));return n?.hideOutOfStock&&(i=i.filter(e=>is(e))),null!=n?.maxResults?i.slice(0,n.maxResults):i}function hs(e,t){return 0!==e.length&&(!t||e.some(e=>is(e)))}function ys(e,t,n,o){const i=ls(n);if(!i)return[];const r=!0===o?.hideOutOfStock,a=/* @__PURE__ */new Set,s=/* @__PURE__ */new Set,u=[],c=as(e);for(const d of t){const e=d.uniqid??d.id;if(!e||s.has(e))continue;if(!ms(d,i))continue;const t=ss(d,c);if(hs(t,r)){s.add(e);for(const e of t)e?.uniqid&&a.add(e.uniqid);u.push({type:"group",group:d,products:t})}}const l=us(e);for(const d of l)d?.uniqid&&!a.has(d.uniqid)&&fs(d,i)&&(r&&!is(d)||(a.add(d.uniqid),u.push({type:"product",product:d})));return null!=o?.maxResults?u.slice(0,o.maxResults):u}function gs(e,t,n,o){const i=ys(e,t,n,o),r=/* @__PURE__ */new Set,a=[],s=e=>{e?.uniqid&&!r.has(e.uniqid)&&(o?.hideOutOfStock&&!is(e)||(r.add(e.uniqid),a.push(e)))};for(const u of i)if("product"!==u.type)for(const e of u.products)s(e);else s(u.product);return null!=o?.maxResults?a.slice(0,o.maxResults):a}function bs(e){if(e?.apiBaseUrl?.trim())return e.apiBaseUrl.replace(/\/+$/,"");const t=e?.hostname??("undefined"!=typeof window?window.location.hostname:"");if(t&&!function(e){if("localhost"===e||"127.0.0.1"===e||"::1"===e||e.endsWith(".localhost"))return!0;if(/^10\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(e))return!0;if(/^192\.168\.\d{1,3}\.\d{1,3}$/.test(e))return!0;const t=e.match(/^172\.(\d{1,2})\.\d{1,3}\.\d{1,3}$/);if(t){const e=Number(t[1]);return e>=16&&e<=31}return!1}(t))return"https://api.shoppex.io";if("undefined"!=typeof window){const e=window.apiBaseUrl;if("string"==typeof e&&e.trim())return e.replace(/\/+$/,"")}return"http://localhost:3001".replace(/\/+$/,"")}function vs(e){const t=e.name?.trim()??"",n=`${t?`Name: ${t}\n\n`:""}${e.message.trim()}`,o=e.maxLength??2e3;return n.slice(0,o)}async function ws(e){const t=e.shopSlug.trim();if(!t)throw new Error("Store data is not ready yet. Please try again in a moment.");const n=e.email.trim().toLowerCase(),o=e.title?.trim()??"",i=o.length>=2?o.slice(0,30):"Contact Request",r=vs({name:e.name,message:e.message}),a=e.invoiceId?.trim()||void 0,s=bs({apiBaseUrl:e.apiBaseUrl}),u=await fetch(`${s}/v1/storefront/shops/name/${encodeURIComponent(t)}/tickets`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({email:n,title:i,message:r,...a?{invoice_id:a}:{}})}),c=await u.json().catch(()=>null);if(!u.ok)throw new Error(c?.message||c?.error||"Failed to send your message.");const l=c?.data?.uniqid;if(!l)throw new Error("Ticket created, but the response was incomplete.");return{uniqid:l}}function Ss(e){return{discord:e?.discord_link??e?.social?.discord??null,telegram:e?.telegram_link??e?.social?.telegram??null}}var ks=/:([A-Za-z0-9_]+)/g;function Os(e,t){return e.replace(ks,(e,n)=>{const o=t[n];if(null==o)throw new Error(`Missing endpoint param: ${n}`);const i=String(o).trim();if(!i)throw new Error(`Endpoint param "${n}" must not be empty`);return encodeURIComponent(i)})}function zs(e){return`shoppex_${e}`}function xs(e){try{const t=localStorage.getItem(zs(e));return t?JSON.parse(t):null}catch{return null}}function Es(e,t){try{localStorage.setItem(zs(e),JSON.stringify(t))}catch{console.warn("[shoppex] Failed to save to localStorage")}}function Ts(e){try{localStorage.removeItem(zs(e))}catch{}}function As(e){if("undefined"==typeof window)return null;const t=`presence_connection_${e}`,n=xs(t);if(n&&n.trim())return n;const o="undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`spx_${Math.random().toString(36).slice(2)}${Date.now().toString(36)}`;return Es(t,o),o}async function Is(e){if(!Ba())return;if("undefined"==typeof window)return;if(function(e){const t=`client_error_${function(e){return[e.method,e.endpoint,e.statusCode??"none",e.message.trim().toLowerCase(),e.responseReceived?"response":"no-response"].join("|")}(e)}`,n=Date.now(),o=xs(t);return"number"==typeof o&&n-o<15e3||(Es(t,n),!1)}(e))return;const t=Fa(),n=Ja(),o=n?Os("/v1/storefront/shops/id/:id/ping",{id:n}):Os("/v1/storefront/shops/:storeSlug/ping",{storeSlug:t.storeSlug}),i=JSON.stringify({event_type:"client_error",referer:document.referrer||void 0,connection_id:As(t.storeSlug)??void 0,client_error:{source:e.source??"sdk",phase:e.phase??"request",endpoint:e.endpoint,method:e.method,message:e.message,status_code:e.statusCode,attempt_count:e.attemptCount,response_received:e.responseReceived??!1,page_url:e.pageUrl??window.location.href,request_url:e.requestUrl,online:e.online??("undefined"!=typeof navigator?navigator.onLine:void 0),visibility_state:e.visibilityState??("undefined"!=typeof document?document.visibilityState:void 0)}}),r=`${t.apiBaseUrl}${o}`;try{if("undefined"!=typeof navigator&&"function"==typeof navigator.sendBeacon){const e=new Blob([i],{type:"application/json"});if(navigator.sendBeacon(r,e))return}await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:i,keepalive:!0})}catch{}}var $s=1e4;async function Ns(e){return new Promise(t=>setTimeout(t,e))}async function Ps(e,t={}){const n=t.baseUrl?null:Fa(),o=n??(Ba()?Fa():null),{method:i="GET",body:s,timeout:l=$s,retries:d,baseUrl:p,cache:f}=t,m=d??("GET"===i?2:0),_=`${p??n?.apiBaseUrl??""}${e}`,h={"Content-Type":"application/json",Accept:"application/json"};"string"==typeof o?.locale&&o.locale.trim()&&(h["x-shoppex-locale"]=o.locale.trim());let y=null;const g=async()=>{for(let t=0;t<=m;t++)try{const e=new AbortController,t=setTimeout(()=>e.abort(),l),n=await fetch(_,{method:i,headers:h,body:s?JSON.stringify(s):void 0,signal:e.signal});clearTimeout(t);const o=await Cs(n);if(!n.ok){const e=n.statusText?`HTTP ${n.status}: ${n.statusText}`:`HTTP ${n.status}`,t=(o.data&&"object"==typeof o.data&&"error"in o.data&&"string"==typeof o.data.error?o.data.error:null)??(o.data&&"object"==typeof o.data&&"message"in o.data&&"string"==typeof o.data.message?o.data.message:null)??o.rawText??e,i=Us(o.data);if(i.code)throw new c(t,i.code,n.status,i.errorParams);throw new u(t,n.status)}if(204===n.status&&null===o.data)return{success:!0};if(!o.data||"object"!=typeof o.data||!("status"in o.data))throw new u("Invalid API response",n.status);return Rs(o.data)}catch(e){let n=e instanceof Error?e:new Error(String(e));e instanceof DOMException&&"AbortError"===e.name&&(n=new u("Request timeout",408));const o=n instanceof a?n.statusCode:void 0;if(y={message:n.message,statusCode:o,isTransport:void 0===o||408===o,...n instanceof c?{code:n.code,...n.errorParams?{errorParams:n.errorParams}:{}}:{}},n instanceof c&&void 0!==o&&o>=400&&o<500&&408!==o)break;if(t<m){await Ns(500*Math.pow(2,t));continue}}return{success:!1,message:y?.message??"Unknown error",...y?.code?{code:y.code}:{},...y?.errorParams?{errorParams:y.errorParams}:{}}},b="GET"===i&&f&&f.ttl>0?await r(f.key??`GET:${_}`,g,{ttl:f.ttl,staleWhileRevalidate:f.staleWhileRevalidate},e=>e.success):await g(),v=y;return!b.success&&v?.isTransport&&await Is({endpoint:e,method:i,message:b.message??v.message,statusCode:v.statusCode,attemptCount:m+1,requestUrl:_,responseReceived:void 0!==v.statusCode&&408!==v.statusCode}),b}async function Cs(e){const t=e;if("function"!=typeof t.text){if("function"==typeof t.json)try{return{data:await t.json(),rawText:null}}catch{return{data:null,rawText:null}}return{data:null,rawText:null}}try{const e=await t.text();if(!e)return{data:null,rawText:null};try{return{data:JSON.parse(e),rawText:null}}catch{const t=e.trim();return{data:null,rawText:t.length>0?t:null}}}catch{return{data:null,rawText:null}}}function Rs(e){return e.status>=200&&e.status<300?{success:!0,data:e.data,...e.message?{message:e.message}:{}}:{success:!1,message:e.error??e.message??`Request failed with status ${e.status}`,...Us(e)}}function Us(e){if(!e||"object"!=typeof e)return{};const t=e,n="string"==typeof t.error_code&&t.error_code.length>0?t.error_code:null;if(!n)return{};const o=t.error_params;return{code:n,...o&&"object"==typeof o&&!Array.isArray(o)?{errorParams:o}:{}}}async function qs(e,t){return Ps(e,{...t,method:"GET"})}async function js(e,t,n){return Ps(e,{...n,method:"POST",body:t})}var Ds=3e5;async function Ls(){const e=Fa(),t=await qs(Os("/v1/storefront/shops/name/:storeSlug",{storeSlug:e.storeSlug}),{cache:{key:`store:${e.storeSlug}`,ttl:Ds,staleWhileRevalidate:!0}});return t.success&&t.data?(t.data.shop?.id&&Ya(t.data.shop.id),{success:!0,data:t.data.shop}):{success:!1,message:t.message}}async function Zs(e){const t=Fa(),n=new URLSearchParams;Number.isFinite(e?.productsLimit)&&n.set("products_limit",String(Math.max(1,Math.floor(e?.productsLimit??0)))),"string"==typeof e?.productsCursor&&e.productsCursor.trim().length>0&&n.set("products_cursor",e.productsCursor);const o=n.size>0?`?${n.toString()}`:"",i=await qs(`${Os("/v1/storefront/shops/name/:storeSlug",{storeSlug:t.storeSlug})}${o}`,{cache:{key:`storefront:${t.storeSlug}:${e?.productsLimit??"full"}:${e?.productsCursor??"start"}`,ttl:Ds,staleWhileRevalidate:!0}});return i.success&&i.data?(i.data.shop?.id&&Ya(i.data.shop.id),{success:!0,data:{shop:i.data.shop,products:i.data.products??[],products_pagination:i.data.products_pagination??null,groups:i.data.groups??[],items:i.data.items??[],categories:i.data.categories??[],addons:i.data.addons??{items:[]}}}):{success:!1,message:i.message}}var Ms=12e4;function Fs(e){if(e.variants&&e.variants.length>0)return e;const t=e.price_variants;return Array.isArray(t)&&0!==t.length?{...e,variants:t.map(e=>function(e){return{id:e.id,title:e.title??e.label??"",price:"number"==typeof e.price?e.price:Number(e.price)||0,stock:"number"==typeof e.stock?e.stock:void 0,orderable:"boolean"==typeof e.orderable?e.orderable:void 0,supplier_backed:"boolean"==typeof e.supplier_backed?e.supplier_backed:void 0,quantity_min:e.quantity_min,quantity_max:e.quantity_max,quantityMin:e.quantityMin,quantityMax:e.quantityMax,image_id:e.image_id,imageId:e.imageId,cloudflare_image_id:e.cloudflare_image_id,cloudflareImageId:e.cloudflareImageId,image_url:e.image_url,imageUrl:e.imageUrl}}(e))}:e}async function Bs(){const e=Fa(),t=await qs(Os("/v1/storefront/products/public/:storeSlug",{storeSlug:e.storeSlug}),{cache:{key:`products:${e.storeSlug}`,ttl:Ms,staleWhileRevalidate:!0}});return t.success&&t.data?{success:!0,data:us(t.data.products.map(Fs))}:{success:!1,message:t.message,data:[]}}var Ys="shoppex:affiliate_code:v1";function Js(){return Date.now()}function Ws(e){const t=e?.trim().toLowerCase();return t||null}function Gs(e,t=30){const n=Ws(e);return n?(function(e){if("undefined"!=typeof window)try{window.localStorage.setItem(Ys,JSON.stringify(e))}catch{}}({code:n,expiresAt:Js()+(o=t,24*Math.max(1,o)*60*60*1e3)}),n):(Hs(),null);var o}function Hs(){if("undefined"!=typeof window)try{window.localStorage.removeItem(Ys)}catch{}}function Vs(){const e=function(){if("undefined"==typeof window)return null;try{const e=window.localStorage.getItem(Ys);if(!e)return null;const t=JSON.parse(e);return t&&"string"==typeof t.code&&"number"==typeof t.expiresAt?t:null}catch{return null}}();return e?e.expiresAt<=Js()?(Hs(),null):Ws(e.code):null}async function Ks(e){const t=Ws(e);if(!t)return{success:!1,data:{valid:!1,affiliate_code:null,discount_active:!1,discount_percent:0},message:"Affiliate code is required"};const n=Fa(),o=await js("/v1/storefront/affiliates/resolve",{shop_slug:n.storeSlug,code:t},{retries:0});if(!o.success)return o;if(!o.data?.valid||!o.data.affiliate_code){const e=!1===o.data?.program_enabled;return{success:!1,data:{valid:!1,...void 0!==o.data?.program_enabled?{program_enabled:o.data.program_enabled}:{},affiliate_code:null,discount_active:!1,discount_percent:0},message:o.message??(e?"Affiliate program is disabled for this shop.":"Invalid affiliate code.")}}return{success:!0,data:{valid:!0,...void 0!==o.data.program_enabled?{program_enabled:o.data.program_enabled}:{},affiliate_code:Ws(o.data.affiliate_code),discount_active:Boolean(o.data.discount_active),discount_percent:Number(o.data.discount_percent??0)},...o.message?{message:o.message}:{}}}function Xs(e){if(!e)return{};const t=Object.entries(e).filter(([,e])=>"string"==typeof e).sort(([e],[t])=>e.localeCompare(t));return Object.fromEntries(t)}function Qs(e){const t={product_id:e.product_id,variant_id:e.variant_id,price_variant_id:e.price_variant_id??null,addons:(n=e.addons,n?.length?[...n].map(e=>({id:e.id,quantity:e.quantity??1})).sort((e,t)=>e.id.localeCompare(t.id)):[]),custom_fields:Xs(e.custom_fields),unit_price:"number"==typeof e.price_data?.unit_price&&Number.isFinite(e.price_data.unit_price)?e.price_data.unit_price:null,pay_what_you_want_price:"number"==typeof e.pay_what_you_want_price&&Number.isFinite(e.pay_what_you_want_price)?e.pay_what_you_want_price:null};var n;return function(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return(t>>>0).toString(16)}(JSON.stringify(t))}function eu(e){return"string"==typeof e.line_id&&e.line_id.trim()?e:{...e,line_id:Qs(e)}}function tu(e){const t=e?.trim().toUpperCase();return t&&/^[A-Z]{3}$/.test(t)?t:null}function nu(){if("undefined"==typeof window||!window.location)return null;const e="string"==typeof window.location.search?window.location.search:"";if(e)return tu(new URLSearchParams(e).get("currency"));const t="string"==typeof window.location.href?window.location.href:"";if(!t)return null;try{return tu(new URL(t,"https://storefront.shoppex.local").searchParams.get("currency"))}catch{return null}}var ou={cart:"cart",cartBackup:"cart_backup",meta:"cart_meta",metaBackup:"cart_backup_meta",coupon:"cart_coupon",couponBackup:"cart_coupon_backup"};function iu(e){return`${ou[e]}_${Fa().storeSlug}`}function ru(e){return function(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return(t>>>0).toString(16)}(JSON.stringify(e))}function au(e){if(!Number.isFinite(e))throw new d("quantity must be a finite number");return Math.floor(e)}function su(e){const t=e?.trim().toUpperCase();return t||null}function uu(){const e=xs(iu("coupon"));if(!e||"object"!=typeof e||Array.isArray(e))return null;const t=e,n="string"==typeof t.code?su(t.code):null,o="COUPON"===t.source||"AFFILIATE"===t.source?t.source:null;return n&&o?{code:n,source:o}:null}function cu(e){if(!Array.isArray(e))return[];const t=[];for(const n of e){if(!n||"object"!=typeof n)continue;const e=n,o="string"==typeof e.product_id?e.product_id.trim():"",i="string"==typeof e.variant_id?e.variant_id.trim():"",r=Number(e.quantity);if(!o||!i||!Number.isFinite(r)||r<1)continue;const a={line_id:"",product_id:o,variant_id:i,quantity:Math.floor(r)};if("string"==typeof e.price_variant_id&&(a.price_variant_id=e.price_variant_id),e.price_data&&"object"==typeof e.price_data){const t=e.price_data;"number"==typeof t.unit_price&&Number.isFinite(t.unit_price)&&(a.price_data={unit_price:t.unit_price})}"number"==typeof e.pay_what_you_want_price&&Number.isFinite(e.pay_what_you_want_price)&&(a.pay_what_you_want_price=e.pay_what_you_want_price),Array.isArray(e.addons)&&(a.addons=e.addons),e.custom_fields&&"object"==typeof e.custom_fields&&!Array.isArray(e.custom_fields)&&(a.custom_fields=e.custom_fields),"string"==typeof e.title&&(a.title=e.title),"string"==typeof e.variant_title&&(a.variant_title=e.variant_title),"string"==typeof e.image_url&&(a.image_url=e.image_url),Array.isArray(e.addon_labels)&&(a.addon_labels=e.addon_labels.filter(e=>"string"==typeof e)),"number"==typeof e.max_quantity&&Number.isFinite(e.max_quantity)&&(a.max_quantity=e.max_quantity),"number"==typeof e.min_quantity&&Number.isFinite(e.min_quantity)&&(a.min_quantity=e.min_quantity),gu(a),a.line_id=("string"==typeof e.line_id?e.line_id.trim():"")||Qs(a),t.push(eu(a))}return t}function lu(){return xs(iu("meta"))}function du(){return uu()?.code??null}function pu(){return uu()?.source??null}function fu(e,t="COUPON"){const n=su(e);return n?(Es(iu("coupon"),{code:n,source:t}),n):(Ts(iu("coupon")),null)}function mu(){Ts(iu("coupon"))}function _u(e){const t=cu(e);Es(iu("cart"),t);const n=Date.now(),o=lu(),i={created_at:o?.created_at??n,last_modified:n,version:(o?.version??0)+1,checksum:ru(t)};Es(iu("meta"),i),0===t.length&&mu()}function hu(e,t){const n=cu(e);Es(iu("cart"),n);const o=Date.now(),i=t??lu(),r={created_at:i?.created_at??o,last_modified:o,version:i?.version??1,checksum:ru(n)};Es(iu("meta"),r)}function yu(){return cu(xs(iu("cart")))}function gu(e){const t=e.min_quantity;"number"==typeof t&&Number.isFinite(t)&&e.quantity<t&&(e.quantity=Math.floor(t));const n=e.max_quantity;"number"==typeof n&&Number.isFinite(n)&&e.quantity>n&&(e.quantity=Math.floor(n)),e.quantity<1&&(e.quantity=1)}function bu(){Ts(iu("cart")),Ts(iu("meta")),mu(),ku=null,Ou+=1}function vu(){const e=yu();Es(iu("cartBackup"),e);const t=uu();t?Es(iu("couponBackup"),t):Ts(iu("couponBackup"));const n=lu();if(n)Es(iu("metaBackup"),n);else{const t=Date.now();Es(iu("metaBackup"),{created_at:t,last_modified:t,version:1,checksum:ru(e)})}}function wu(){const e=yu(),t=lu(),n=ru(e);return t?t.checksum===n:(hu(e,null),!0)}function Su(){const e=du();return"AFFILIATE"===pu()&&e?e.trim().toLowerCase():Vs()}var ku=null,Ou=0;function zu(){return ku}var xu="Your cart changed while checkout was starting. Please review it and try again.";function Eu(e,t){return void 0!==t&&JSON.stringify(e)!==t}function Tu(e){const t=e?.trim();return t||null}function Au(e){const t=e?.trim();return t||null}function Iu(e){return"/dashboard/api/checkout"===e.customerCheckoutPath&&"undefined"!=typeof window&&"string"==typeof window.location?.origin?{endpoint:e.customerCheckoutPath,baseUrl:window.location.origin}:{endpoint:"/v1/storefront/invoices/from-cart"}}function $u(e){return tu(e.currency)??nu()??tu(Fa().currency)}function Nu(e){const t=e?.trim()??"";if(!t)return"Checkout failed. Please try again.";if(Pu(t))return"Your cart is outdated. Please add the products again.";const n=t.match(/^HTTP\s+(\d{3})(?::\s*(.*))?$/i);if(n){const e=Number(n[1]),t=n[2]?.trim();return t&&t.length>0?`Checkout failed: ${t}`:e>=500?"Checkout is temporarily unavailable. Please try again.":400===e?"Checkout failed. Please check your details and try again.":401===e||403===e?"Checkout is currently unavailable for this request.":"Checkout failed. Please try again."}return/^internal server error$/i.test(t)?"Checkout is temporarily unavailable. Please try again.":t}function Pu(e){const t=e?.trim().toLowerCase()??"";return!!t&&(t.includes("product not found")||t.includes("product not available")||t.includes("products are no longer available")||t.includes("outdated product"))}function Cu(e,t,n){const o=t?.trim();if(!o)return null;try{const t=new URL(e),i=new URL(o);if(t.origin!==i.origin)return null;const r=t.pathname.replace(/\/+$/,""),a=`${i.pathname.replace(/\/+$/,"")}/invoice/`.replace(/\/{2,}/g,"/");if(!r.startsWith(a))return null;const s=r.slice(a.length);if(!s||s.includes("/"))return null;if(n){const e=n.trim();if(!e||decodeURIComponent(s)!==e)return null}return t.toString()}catch{return null}}function Ru(e,t){const n=Au(t.email),o="string"==typeof t.locale?t.locale.trim():"";if(!n&&!o)return e;try{const t=new URL(e);if(o&&t.searchParams.set("locale",o),n){const e=new URLSearchParams(t.hash.startsWith("#")?t.hash.slice(1):t.hash);e.set("shoppex_prefill_email",n),t.hash=e.toString()}return t.toString()}catch{return e}}function Uu(e,t){const n=e?.invoice,o=e?.invoiceId?.trim()||e?.invoice_id?.trim()||e?.uniqid?.trim()||n?.invoiceId?.trim()||n?.invoice_id?.trim()||n?.uniqid?.trim();let i=e?.checkoutUrl?.trim()||e?.checkout_url?.trim()||e?.url_branded?.trim()||e?.url?.trim()||n?.checkoutUrl?.trim()||n?.checkout_url?.trim()||n?.url_branded?.trim()||n?.url?.trim();return!i&&o&&n&&(i=function(e,t){const n=e?.trim();if(!n)return null;try{const e=new URL(n);return e.pathname=`${e.pathname.replace(/\/+$/,"")}/invoice/${encodeURIComponent(t)}`.replace(/\/{2,}/g,"/"),e.search="",e.hash="",e.toString()}catch{return null}}(t,o)??void 0),o&&i?{invoiceId:o,checkoutUrl:i,rewards:e?.rewards??n?.rewards??null}:null}function qu(e,t){return"string"==typeof e?{...t,coupon:e}:e??t??{}}function ju(e,t){const n=e.affiliateCode??e.referralCode;if("string"==typeof n){const e=n.trim().toLowerCase();return e.length>0?e:null}return t?.trim().toLowerCase()??Vs()}function Du(e){const t=du(),n=pu();return{coupon:void 0===e.coupon?"COUPON"===n?t:null:Tu(e.coupon),affiliateCode:ju(e,void 0===e.coupon&&"AFFILIATE"===n?t:null)}}function Lu(e){const t=e=>{const t=e?.trim();return t?"default"===t.toLowerCase()?null:t:null};return e.map(e=>({product_id:e.product_id,variant_id:t(e.variant_id),quantity:e.quantity,addons:e.addons?.map(e=>({id:e.id,quantity:e.quantity??1})),custom_fields:e.custom_fields,price_variant_id:e.price_variant_id||null,pay_what_you_want_price:e.pay_what_you_want_price}))}function Zu(e){if("number"==typeof e&&Number.isFinite(e))return e;if("string"==typeof e&&""!==e.trim()){const t=Number(e);return Number.isFinite(t)?t:null}return null}function Mu(...e){for(const t of e)if("string"==typeof t&&t.length>0)return t}function Fu(e,t){const n=e,o=Zu(n.rating)??Zu(n.score)??0,i=Mu(n.comment,n.message),r=Mu(n.author,n.customer_name),a=n.created_at??n.createdAt,s="number"==typeof a||"string"==typeof a?String(a):"",u=Mu(n.id,n.uniqid)??`review:${s||t}`;return{...n,id:u,rating:o,...i?{comment:i}:{},...r?{author:r}:{},created_at:s}}async function Bu(e){const t=Fa(),n=new URLSearchParams;n.set("limit",String(100)),"string"==typeof e&&e.trim().length>0&&n.set("cursor",e);const o=`?${n.toString()}`,i=await qs(`${Os("/v1/storefront/feedback/shop/:storeSlug",{storeSlug:t.storeSlug})}${o}`,{cache:{key:`reviews:${t.storeSlug}:${e??"start"}:100`,ttl:12e4,staleWhileRevalidate:!0}});return i.success&&i.data?{success:!0,data:{...i.data,feedback:i.data.feedback.map(Fu)}}:{success:!1,message:i.message}}function Yu(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function Ju(e,t){return"string"==typeof e.error&&e.error.length>0?e.error:"string"==typeof e.message&&e.message.length>0?e.message:t.statusText?`HTTP ${t.status}: ${t.statusText}`:`HTTP ${t.status}`}function Wu(e){const t="string"==typeof e.error_code&&e.error_code.length>0?e.error_code:null;return t?{code:t,...Yu(e.error_params)?{errorParams:e.error_params}:{}}:{}}async function Gu(e,t={}){const n=t.method??"GET",o={Accept:"application/json"};void 0!==t.body&&(o["Content-Type"]="application/json");const i=t.formData??(void 0!==t.body?JSON.stringify(t.body):void 0);try{const a=await fetch(`/api/customer${e}`,{method:n,headers:o,body:i,credentials:"same-origin",cache:"no-store"});if(204===a.status)return a.ok?{success:!0,status:a.status}:{success:!1,status:a.status,message:Ju({status:a.status,data:null},a)};let s;try{s=await a.json()}catch{return{success:!1,status:a.status,message:"Invalid customer API response"}}const u=Yu(r=s)&&"number"==typeof r.status&&"data"in r?r:null;if(!u)return{success:!1,status:a.status,message:"Invalid customer API response"};if(!a.ok||u.status<200||u.status>=300)return{success:!1,status:a.status,message:Ju(u,a),...Wu(u)};const c="string"==typeof u.message&&u.message.length>0?{message:u.message}:{};if(!t.schema)return{success:!0,data:u.data,...c};const l=t.schema.safeParse(u.data);return l.success?{success:!0,data:l.data,...c}:{success:!1,message:"Customer API response did not match the expected contract"}}catch(a){return{success:!1,message:a instanceof Error?a.message:String(a)}}var r}function Hu(e){return Gu("/auth/otp/request",{method:"POST",body:{email:e}})}function Vu(e,t){return Gu("/auth/otp/verify",{method:"POST",body:{email:e,otp:t}})}function Ku(){return Gu("/auth/logout",{method:"POST"})}function Xu(){return Gu("/me")}function Qu(){return Gu("/dashboard",{schema:qa})}function ec(e={}){const t=new URLSearchParams;return void 0!==e.page&&t.set("page",String(e.page)),void 0!==e.limit&&t.set("limit",String(e.limit)),Gu("/invoices"+(t.size>0?`?${t.toString()}`:""),{schema:Aa})}function tc(e){return Gu(`/invoice/${encodeURIComponent(e)}`,{schema:$a})}function nc(e){return Gu(`/licenses/${encodeURIComponent(e)}/reset-hwid`,{method:"POST",body:{}})}function oc(e){return Gu(`/subscriptions/${encodeURIComponent(e)}/billing-history`)}function ic(e,t={}){return Gu(`/subscriptions/${encodeURIComponent(e)}/cancel`,{method:"POST",body:{...void 0!==t.cancel_at_period_end?{cancel_at_period_end:t.cancel_at_period_end}:{},...void 0!==t.reason?{reason:t.reason}:{}}})}function rc(e){return Gu(`/subscriptions/${encodeURIComponent(e)}/pause`,{method:"POST",body:{}})}function ac(e){return Gu(`/subscriptions/${encodeURIComponent(e)}/resume`,{method:"POST",body:{}})}function sc(){return Gu("/favorites")}function uc(e){return Gu(`/favorites/${encodeURIComponent(e)}`,{method:"PUT"})}function cc(e){return Gu(`/favorites/${encodeURIComponent(e)}`,{method:"DELETE"})}function lc(){return Gu("/affiliate")}function dc(e){return Gu("/tickets",{method:"POST",body:{...void 0!==e.title?{title:e.title}:{},message:e.message,...void 0!==e.invoice_id?{invoice_id:e.invoice_id}:{}}})}function pc(e){return Gu(`/tickets/${encodeURIComponent(e)}`)}function fc(e,t){return Gu(`/tickets/${encodeURIComponent(e)}/reply`,{method:"POST",body:{message:t}})}function mc(e){return Gu("/profile",{method:"POST",body:{name:e.name}})}function _c(e){const t=new FormData;return t.append("file",e),Gu("/profile/avatar",{method:"POST",formData:t})}function hc(){return Gu("/profile/avatar",{method:"DELETE"})}function yc(){return Gu("/email-marketing/preferences")}function gc(e){return Gu("/email-marketing/preferences",{method:"PATCH",body:{...void 0!==e.global_unsubscribed?{global_unsubscribed:e.global_unsubscribed}:{},...void 0!==e.list_subscriptions?{list_subscriptions:e.list_subscriptions}:{}}})}function bc(){return Gu("/sessions")}function vc(e){return Gu(`/sessions/${encodeURIComponent(e)}`,{method:"DELETE"})}function wc(){return Gu("/sessions?others=true",{method:"DELETE"})}function Sc(e){const t=e.trim();return t||null}var kc=3e5;var Oc=3e5;async function zc(){const e=Fa(),t=await qs(Os("/v1/storefront/shops/name/:storeSlug/menus",{storeSlug:e.storeSlug}),{cache:{key:`menus:${e.storeSlug}`,ttl:Oc,staleWhileRevalidate:!0}});return t.success&&t.data?{success:!0,data:t.data.menus}:{success:!1,message:t.message}}async function xc(e){const t=Fa(),n=await qs(Os("/v1/storefront/shops/name/:storeSlug/menus/:title",{storeSlug:t.storeSlug,title:e}),{cache:{key:`menu:${t.storeSlug}:${e}`,ttl:Oc,staleWhileRevalidate:!0}});return n.success&&n.data?{success:!0,data:n.data.menu}:{success:!1,message:n.message}}async function Ec(e){return xc(e)}async function Tc(e){const t=Fa(),n=await qs(Os("/v1/storefront/shops/name/:storeSlug/menus/:title",{storeSlug:t.storeSlug,title:e}),{cache:{key:`menu-slot:${t.storeSlug}:${e}`,ttl:Oc,staleWhileRevalidate:!0}});return n.success&&n.data?{success:!0,data:n.data.menu}:{success:!1,message:n.message}}function Ac(e){return function(e){const t=S[e];return[t.title,...t.aliases]}(e)}var Ic=["utm_source","utm_medium","utm_campaign","utm_term","utm_content"];function $c(e){return`shoppex:utm:${e}`}function Nc(e){if("undefined"==typeof window||void 0===window.location)return;const t=function(e){let t;try{t=new URLSearchParams(e)}catch{return{}}const n={};for(const o of Ic){const e=t.get(o)?.trim();e&&(n[o]=e.slice(0,255))}return n}(window.location.search);if(Object.keys(t).length>0)return function(e,t){try{const n={utm:t,at:Date.now()};window.localStorage.setItem($c(e),JSON.stringify(n))}catch{}}(e,t),t;const n=function(e){try{const t=window.localStorage.getItem($c(e));if(!t)return{};const n=JSON.parse(t);if(!n||"number"!=typeof n.at||"object"!=typeof n.utm)return{};if(Date.now()-n.at>2592e6)return window.localStorage.removeItem($c(e)),{};const o={};for(const e of Ic){const t=n.utm?.[e];"string"==typeof t&&t.length>0&&(o[e]=t.slice(0,255))}return o}catch{return{}}}(e);return Object.keys(n).length>0?n:void 0}async function Pc(e,t){if(!Ba())return;if("undefined"==typeof document)return;const n=Fa(),o=As(n.storeSlug);try{const i=Os("/v1/storefront/shops/:storeSlug/ping",{storeSlug:n.storeSlug});await fetch(`${n.apiBaseUrl}${i}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({referer:document.referrer||void 0,cart_value:e??void 0,item_count:t??void 0,connection_id:o??void 0,utm:Nc(n.storeSlug)})})}catch{}}async function Cc(){if(!Ba())return{success:!1,message:"SDK not initialized"};const e=Fa(),t=Ja();return qs(t?Os("/v1/storefront/shops/id/:id/recent-sales",{id:t}):Os("/v1/storefront/shops/:storeSlug/recent-sales",{storeSlug:e.storeSlug}),{cache:!1,retries:0,timeout:5e3})}async function Rc(){if(!Ba())return{success:!1,message:"SDK not initialized"};const e=Fa(),t=Ja();return qs(t?Os("/v1/storefront/shops/id/:id/online-users",{id:t}):Os("/v1/storefront/shops/:storeSlug/online-users",{storeSlug:e.storeSlug}),{cache:!1,retries:0,timeout:5e3})}async function Uc(){if(!Ba())return{success:!1,message:"SDK not initialized"};if("undefined"==typeof document)return{success:!1,message:"Document is not available"};const e=Fa(),t=Ja();return js(t?Os("/v1/storefront/shops/id/:id/ping",{id:t}):Os("/v1/storefront/shops/:storeSlug/ping",{storeSlug:e.storeSlug}),{referer:document.referrer||void 0,connection_id:As(e.storeSlug)??void 0,utm:Nc(e.storeSlug)},{retries:0,timeout:5e3})}function qc(e,t){const n=Fa();return new Intl.NumberFormat(t??n.locale??"en-US",{style:"currency",currency:e??n.currency??"USD",...ba})}function jc(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function Dc(e){return jc(e)&&jc(e.theme)?{...e,version:"number"==typeof e.version?e.version:0,revision:"number"==typeof e.revision?e.revision:0,theme:{...e.theme,content:jc(e.theme.content)?e.theme.content:{},layout:jc(e.theme.layout)?e.theme.layout:{},style_slots:jc(e.theme.style_slots)?e.theme.style_slots:{},...Array.isArray(e.theme.pages)?{pages:e.theme.pages}:{},...jc(e.theme.terms)?{terms:e.theme.terms}:{}}}:null}async function Lc(e){const t=await qs(Os("/v1/storefront/themes/builder/published/:shopSlug",{shopSlug:e}));return t.success&&t.data?jc(n=t.data)?{settings:jc(n.settings)?n.settings:{},builder_settings:Dc(n.builder_settings),content:jc(n.content)?n.content:{},style_slots:jc(n.style_slots)?n.style_slots:{}}:null:null;var n}async function Zc(e){const t=await Lc(e);return t?t.settings:null}function Mc(e){const t={};for(const[n,o]of Object.entries(e.settings)){t[n]={};for(const[e,i]of Object.entries(o))t[n][e]=i.default}return t}function Fc(e,t){const n={...e};for(const[o,i]of Object.entries(t))i&&(n[o]={...n[o],...i});return n}var Bc={init:function(e,t){"string"==typeof e?Ma(e,t):Ma(e.storeId,e)},isInitialized:Ba,getConfig:Fa,client:function(e){const t=Fa().apiBaseUrl??"https://api.shoppex.io";if(ja&&Da===t&&!e)return ja;const n=function(e,t){return f({baseUrl:e,headers:t?{Authorization:`Bearer ${t}`}:void 0})}(t,e);return e||(ja=n,Da=t),n},getStore:Ls,getStorefront:Zs,getStoreLogoUrl:async function(){const e=await Ls();return e.success&&e.data?.logo?e.data.logo:null},getStoreBannerUrl:async function(){const e=await Ls();return e.success&&e.data?.banner?e.data.banner:null},resolveStoreByDomain:async function(e,t){const n=e??("undefined"!=typeof window?window.location.hostname:"");if(!n)return{success:!1,message:"Domain is required to resolve store"};const o=n.replace(/^https?:\/\//,"").split("/")[0].trim(),i=t??(Ba()?Fa().apiBaseUrl:"https://api.shoppex.io"),r=await qs(Os("/v1/storefront/shops/domain/:domain",{domain:o}),{baseUrl:i,cache:{key:`store:domain:${o}`,ttl:Ds,staleWhileRevalidate:!0}});return r.success&&r.data?.shop?(r.data.shop.id&&Ya(r.data.shop.id),{success:!0,data:r.data.shop}):{success:!1,message:r.message??"Failed to resolve store"}},getProducts:Bs,getStorefrontProductsPage:async function(e){const t=Fa(),n=new URLSearchParams;"string"==typeof e?.cursor&&e.cursor.trim().length>0&&n.set("cursor",e.cursor),Number.isFinite(e?.limit)&&n.set("limit",String(Math.max(1,Math.floor(e?.limit??0)))),"string"==typeof e?.sort&&e.sort.trim().length>0&&n.set("sort",e.sort.trim()),"string"==typeof e?.category&&e.category.trim().length>0&&n.set("category",e.category.trim()),!0===e?.hideOutOfStock&&n.set("hide_out_of_stock","true");const o=n.size>0?`?${n.toString()}`:"",i=await qs(`${Os("/v1/storefront/products/shop/:storeSlug",{storeSlug:t.storeSlug})}${o}`,{cache:{key:`products:page:${t.storeSlug}:${e?.limit??"default"}:${e?.cursor??"start"}:${e?.sort??"featured"}:${r=e?.category,void 0===r?"category:unset":null===r?"category:null":`category:${r}`}:${!0===e?.hideOutOfStock?"in-stock":"all-stock"}`,ttl:Ms,staleWhileRevalidate:!0}});var r;return i.success&&i.data?{success:!0,data:{products:i.data.products.map(Fs),pagination:i.data.pagination??null}}:{success:!1,message:i.message}},getProduct:async function(e){let t=Ja();if(!t){const e=await Ls();t=e.success?e.data?.id??null:null}const n=t?`?slug_shop_id=${encodeURIComponent(t)}`:"",o=await qs(`${Os("/v1/storefront/products/unique/:idOrSlug",{idOrSlug:e})}${n}`,{cache:{key:`product:${e}:${t??"no-shop"}`,ttl:Ms,staleWhileRevalidate:!0}});return o.success&&o.data?.product?{success:!0,data:Fs(o.data.product)}:{success:!1,message:o.message}},getCategories:async function(){const e=await Bs();if(!e.success||!e.data)return{success:!1,message:e.message};const t=/* @__PURE__ */new Set;for(const n of e.data)if(n.categories)for(const e of n.categories)"string"==typeof e?t.add(e):e&&"object"==typeof e&&"uniqid"in e&&t.add(e.uniqid);return{success:!0,data:Array.from(t)}},getCart:yu,getCartItemCount:function(){return yu().reduce((e,t)=>e+t.quantity,0)},getCartCoupon:du,getCartCouponSource:pu,setCartCoupon:fu,clearCartCoupon:mu,addToCart:function(e,t,n=1,o){if(!e||!t)throw new d("product_id and variant_id are required");const i=au(n);if(i<1)throw new d("quantity must be at least 1");const r=yu(),a=Qs({product_id:e,variant_id:t,addons:o?.addons,custom_fields:o?.custom_fields,price_variant_id:o?.price_variant_id,price_data:o?.price_data,pay_what_you_want_price:o?.pay_what_you_want_price}),s=r.findIndex(e=>e.line_id===a);if(s>=0)r[s].quantity+=i,o?.addons&&(r[s].addons=o.addons),o?.custom_fields&&(r[s].custom_fields=o.custom_fields),o?.price_variant_id&&(r[s].price_variant_id=o.price_variant_id),o?.price_data&&(r[s].price_data=o.price_data),void 0!==o?.pay_what_you_want_price&&(r[s].pay_what_you_want_price=o.pay_what_you_want_price),function(e,t){if(t?.replace_display_snapshot)return e.title=t.title,e.variant_title=t.variant_title,e.image_url=t.image_url,e.addon_labels=t.addon_labels,e.max_quantity=t.max_quantity,void(e.min_quantity=t.min_quantity);void 0!==t?.title&&(e.title=t.title);void 0!==t?.variant_title&&(e.variant_title=t.variant_title);void 0!==t?.image_url&&(e.image_url=t.image_url);void 0!==t?.addon_labels&&(e.addon_labels=t.addon_labels);void 0!==t?.max_quantity&&(e.max_quantity=t.max_quantity);void 0!==t?.min_quantity&&(e.min_quantity=t.min_quantity)}(r[s],o),gu(r[s]);else{const n={line_id:a,product_id:e,variant_id:t,quantity:i,addons:o?.addons,custom_fields:o?.custom_fields,price_variant_id:o?.price_variant_id,price_data:o?.price_data,pay_what_you_want_price:o?.pay_what_you_want_price,title:o?.title,variant_title:o?.variant_title,image_url:o?.image_url,addon_labels:o?.addon_labels,max_quantity:o?.max_quantity,min_quantity:o?.min_quantity};gu(n),r.push(n)}_u(r)},setCartItem:function(e,t,n=1,o){if(!e||!t)throw new d("product_id and variant_id are required");const i=au(n);if(i<1)throw new d("quantity must be at least 1");const r=yu(),a=Qs({product_id:e,variant_id:t,addons:o?.addons,custom_fields:o?.custom_fields,price_variant_id:o?.price_variant_id,price_data:o?.price_data,pay_what_you_want_price:o?.pay_what_you_want_price});for(let u=r.length-1;u>=0;u-=1)r[u].product_id===e&&r[u].variant_id===t&&r.splice(u,1);const s={line_id:a,product_id:e,variant_id:t,quantity:i,addons:o?.addons,custom_fields:o?.custom_fields,price_variant_id:o?.price_variant_id,price_data:o?.price_data,pay_what_you_want_price:o?.pay_what_you_want_price,title:o?.title,variant_title:o?.variant_title,image_url:o?.image_url,addon_labels:o?.addon_labels,max_quantity:o?.max_quantity,min_quantity:o?.min_quantity};gu(s),r.push(s),_u(r)},updateCartItem:function(e,t){const n=yu(),o=e.trim();if(!o)throw new d("line_id is required");const i=n.findIndex(e=>e.line_id===o);if(i<0)throw new d("Item not found in cart");const r=JSON.stringify(n);if(void 0!==t.quantity){const e=au(t.quantity);if(e<1)return n.splice(i,1),void _u(n);n[i].quantity=e}void 0!==t.addons&&(n[i].addons=t.addons),void 0!==t.custom_fields&&(n[i].custom_fields=t.custom_fields),void 0!==t.price_variant_id&&(n[i].price_variant_id=t.price_variant_id),void 0!==t.price_data&&(n[i].price_data=t.price_data),void 0!==t.pay_what_you_want_price&&(n[i].pay_what_you_want_price=t.pay_what_you_want_price),void 0!==t.max_quantity&&(null===t.max_quantity?delete n[i].max_quantity:n[i].max_quantity=t.max_quantity),void 0!==t.min_quantity&&(null===t.min_quantity?delete n[i].min_quantity:n[i].min_quantity=t.min_quantity),gu(n[i]);const a=Qs(n[i]),s=n.findIndex((e,t)=>t!==i&&e.line_id===a);s>=0?(n[s].quantity+=n[i].quantity,gu(n[s]),n.splice(i,1)):n[i].line_id=a,JSON.stringify(n)!==r&&_u(n)},removeFromCart:function(e){const t=e.trim();if(!t)throw new d("line_id is required");_u(yu().filter(e=>e.line_id!==t))},clearCart:bu,createCartBackup:vu,restoreCartFromBackup:function(){const e=cu(xs(iu("cartBackup"))),t=xs(iu("metaBackup")),n=xs(iu("couponBackup"));if(e&&e.length>0){if(hu(e,t),n&&"object"==typeof n&&!Array.isArray(n)){const e=n,t="COUPON"===e.source||"AFFILIATE"===e.source?e.source:null;"string"==typeof e.code&&t?fu(e.code,t):mu()}else mu();return!0}return!1},mergeBaskets:function(e){const t=yu();for(const n of e){const e="string"==typeof n.product_id?n.product_id.trim():"",o="string"==typeof n.variant_id?n.variant_id.trim():"";if(!e||!o)continue;let i;try{i=au(n.quantity)}catch{continue}if(i<1)continue;const r=eu({...n,line_id:n.line_id??Qs(n),product_id:e,variant_id:o,quantity:i}),a=t.findIndex(e=>e.line_id===r.line_id);a>=0?(t[a].quantity=Math.max(t[a].quantity,i),gu(t[a])):(gu(r),t.push(r))}return _u(t),t},moveBasketItem:function(e,t,n,o){const i=yu(),r=i.findIndex(n=>n.product_id===e&&n.variant_id===t);if(r<0)throw new d("Item not found in cart");const[a]=i.splice(r,1),s=Qs({...a,product_id:n,variant_id:o}),u=i.findIndex(e=>e.line_id===s);if(u>=0)i[u].quantity+=a.quantity,gu(i[u]);else{const e=eu({...a,product_id:n,variant_id:o,line_id:s});gu(e),i.push(e)}_u(i)},getCartStats:function(){const e=yu(),t=wu(),n=lu(),o=xs(iu("cartBackup"))??[],i=e.length>0&&e.every(e=>"number"==typeof e.price_data?.unit_price),r=e.reduce((e,t)=>e+va((t.price_data?.unit_price??0)*t.quantity),0);return{item_count:e.length,total_quantity:e.reduce((e,t)=>e+t.quantity,0),last_modified:n?.last_modified??0,version:n?.version??0,has_backup:o.length>0,integrity_valid:t,total_price:va(r),total_price_is_estimate:e.length>0&&!i}},validateCartIntegrity:wu,quoteCart:async function(e,t){const n=Ou+=1,o=function(e){const t=Fa(),n=su(e)??du()??void 0;return{store_slug:t.storeSlug,items:yu(),coupon:n}}(e),i=tu(t)??nu()??tu(Fa().currency),r=await js("/v1/storefront/cart/quote",{shop_slug:o.store_slug,cart:o.items,coupon:o.coupon,affiliate_code:Su()??void 0,currency:i??void 0});return n!==Ou||r.success&&(ku="string"==typeof r.data?.quote_token?r.data.quote_token:null),r},resolveCartLineId:function(e,t,n=yu()){const o=n.filter(n=>n.product_id===e&&n.variant_id===t);if(0===o.length)throw new d(`No cart line found for ${e}/${t}`);return o[0].line_id},checkout:async function(e,t){const n=qu(e,t),{autoRedirect:o=!0,email:i}=n,r=Du(n),a=r.coupon,s=Au(i),u=r.affiliateCode,c=$u(n),l=yu();if(0===l.length)return{success:!1,message:"Cart is empty"};if(Eu(l,n.expectedCart))return{success:!1,message:xu};vu();const d=Fa(),p=Iu(n),f=await js(p.endpoint,{shop_slug:d.storeSlug,cart:Lu(l),email:s,coupon:a,currency:c,affiliate_code:u,quote_token:zu()??void 0},{retries:0,baseUrl:p.baseUrl});if(!f.success||!f.data)return Pu(f.message)&&bu(),{success:!1,message:Nu(f.message),...f.code?{code:f.code}:{}};const m=Uu(f.data,d.checkoutBaseUrl);if(!m)return{success:!1,message:"Failed to create invoice"};const{invoiceId:_}=m,h=Cu(m.checkoutUrl,d.checkoutBaseUrl,_);if(!h)return{success:!1,message:"Failed to create invoice"};const y=Ru(h,{email:s,locale:n.locale??d.locale});return o&&"undefined"!=typeof window&&window?.location&&(window.location.href=y,bu()),{success:!0,redirectUrl:y,invoiceId:_,rewards:m.rewards}},buildCheckoutUrl:async function(e,t){const n=qu(e,t),{email:o}=n,i=Du(n),r=i.coupon,a=Au(o),s=i.affiliateCode,u=$u(n),c=yu();if(0===c.length)throw new Error("Cart is empty");if(Eu(c,n.expectedCart))throw new Error(xu);const l=Fa(),d=Iu(n),p=await js(d.endpoint,{shop_slug:l.storeSlug,cart:Lu(c),email:a,coupon:r,currency:u,affiliate_code:s,quote_token:zu()??void 0},{retries:0,baseUrl:d.baseUrl});if(!p.success||!p.data)throw Pu(p.message)&&bu(),new Error(Nu(p.message));const f=Uu(p.data,l.checkoutBaseUrl);if(!f)throw new Error("Failed to create invoice");const m=Cu(f.checkoutUrl,l.checkoutBaseUrl,f.invoiceId);if(!m)throw new Error("Failed to create invoice");return Ru(m,{email:a,locale:n.locale??l.locale})},buildCheckoutUrlSync:function(){throw new Error("buildCheckoutUrlSync is deprecated. Use buildCheckoutUrl (async) instead.")},captureAffiliateFromUrl:async function(e="ref"){if("undefined"==typeof window)return null;let t=null;try{const n=new URL(window.location.href).searchParams.get(e);t=n?n.trim():null}catch{t=null}if(t=Ws(t),!t)return null;if(Gs(t),Ba())try{const e=Fa(),n=await js("/v1/storefront/affiliates/attribution",{shop_slug:e.storeSlug,code:t},{retries:0});return n.success&&n.data?.accepted&&n.data?.affiliate_code?(Gs(n.data.affiliate_code),n.data.affiliate_code):(Hs(),null)}catch{return t}return t},validateAffiliateCode:Ks,applyAffiliateCode:async function(e){const t=await Ks(e);return t.success&&t.data?.affiliate_code&&Gs(t.data.affiliate_code),t},getAffiliateCode:Vs,setAffiliateCode:Gs,clearAffiliateCode:Hs,validateCoupon:async function(e,t){const n=e.trim();if(!n)return{success:!1,message:"Coupon code is required"};const o={code:n},i="string"==typeof t?t:t?.productId,r="string"==typeof t?void 0:t?.variantId;if(r&&!i)return{success:!1,message:"productId is required when variantId is provided"};if(i)o.product_id=i,r&&(o.variant_id=r);else{const e=yu();if(0===e.length)return{success:!1,message:"Cart is empty"};const t=await async function(){const e=Ja();if(e)return e;const t=await Ls();return t.success&&t.data?.id?t.data.id:null}();if(!t)return{success:!1,message:"Failed to resolve store"};o.cart=JSON.stringify({shop_id:t,products:e.map(e=>({uniqid:e.product_id,quantity:e.quantity,variant_id:e.variant_id,price_variant_id:e.price_variant_id,addons:e.addons?.map(e=>({id:e.id,quantity:e.quantity??1}))}))})}return await js("/v1/storefront/coupons/check",o)},getShopReviews:async function(){const e=[],t=/* @__PURE__ */new Set;let n=null;for(;;){const o=await Bu(n);if(!o.success||!o.data)return{success:!1,message:o.message,data:[]};e.push(...o.data.feedback);const i=o.data.pagination;if(!i?.has_more||!i.next_cursor)break;if(t.has(i.next_cursor))break;t.add(i.next_cursor),n=i.next_cursor}return{success:!0,data:e}},getShopReviewsPage:Bu,requestOtp:Hu,verifyOtp:Vu,logout:Ku,me:Xu,dashboard:Qu,orders:ec,order:tc,resetLicenseHwid:nc,subscriptionBillingHistory:oc,cancelSubscription:ic,pauseSubscription:rc,resumeSubscription:ac,favorites:sc,addFavorite:uc,removeFavorite:cc,affiliate:lc,createTicket:dc,ticket:pc,replyToTicket:fc,updateProfile:mc,updateAvatar:_c,removeAvatar:hc,emailPreferences:yc,updateEmailPreferences:gc,sessions:bc,revokeSession:vc,revokeAllSessions:wc,searchProducts:async function(e,t){if(!Ba())return{success:!1,message:"SDK not initialized"};const n=e.trim();if(!n)return{success:!0,data:[]};const o=await Zs();return o.success&&o.data?{success:!0,data:gs(o.data.products??[],o.data.groups??[],n,{hideOutOfStock:t?.hideOutOfStock,maxResults:t?.maxResults})}:{success:!1,message:o.message??"Failed to fetch storefront catalog"}},searchCatalogItems:async function(e,t){if(!Ba())return{success:!1,message:"SDK not initialized"};const n=e.trim();if(!n)return{success:!0,data:[]};const o=await Zs();return o.success&&o.data?{success:!0,data:ys(o.data.products??[],o.data.groups??[],n,{hideOutOfStock:t?.hideOutOfStock,maxResults:t?.maxResults})}:{success:!1,message:o.message??"Failed to fetch storefront catalog"}},getInvoice:async function(e){const t=Sc(e);if(!t)return{success:!1,message:"Invoice ID is required"};const n=await qs(Os("/v1/storefront/invoices/unique/:invoiceId",{invoiceId:t}));return n.success?n.data?.invoice?{success:!0,data:n.data.invoice}:{success:!1,message:"Invalid invoice response"}:{success:!1,message:n.message}},getInvoiceStatus:async function(e){const t=Sc(e);if(!t)return{success:!1,message:"Invoice ID is required"};const n=await qs(Os("/v1/storefront/invoices/status/:invoiceId",{invoiceId:t}));return n.success?n.data?.invoice?.status?{success:!0,data:{status:n.data.invoice.status}}:{success:!1,message:"Invalid invoice status response"}:{success:!1,message:n.message}},getPages:async function(){const e=Fa(),t=await qs(Os("/v1/storefront/shops/name/:storeSlug/pages",{storeSlug:e.storeSlug}),{cache:{key:`pages:${e.storeSlug}`,ttl:kc,staleWhileRevalidate:!0}});return t.success&&t.data?{success:!0,data:t.data.pages}:{success:!1,message:t.message}},getPage:async function(e){const t=Fa(),n=await qs(Os("/v1/storefront/shops/name/:storeSlug/pages/:slug",{storeSlug:t.storeSlug,slug:e}),{cache:{key:`page:${t.storeSlug}:${e}`,ttl:kc,staleWhileRevalidate:!0}});return n.success&&n.data?{success:!0,data:n.data.page}:{success:!1,message:n.message}},getMenus:zc,getMenu:Ec,getMenuBySlot:Tc,getMenuByTitle:xc,getMenuSlotTitles:Ac,trackPageView:Pc,getStorefrontOnlineUsers:Rc,getStorefrontRecentSales:Cc,touchStorefrontPresence:Uc,createFormatter:qc,formatPrice:function(e,t,n){const o="string"==typeof e?parseFloat(e):e;return Number.isNaN(o)?qc(t,n).format(0):qc(t,n).format(o)},clearCache:o,invalidateCache:function(t){for(const n of e.keys())(n===t||n.startsWith(t))&&e.delete(n)},getCacheStats:function(){return{hits:n.hits,misses:n.misses,pendingRequests:t.size,entries:e.size}},fetchPublishedBuilderSettings:Lc,fetchPublishedThemeSettings:Zc,resolveDefaults:Mc,mergeSettings:Fc};if("undefined"!=typeof window){const e=window;e.shoppex?.isInitialized?.()||(e.shoppex=Bc)}export{c as ApiError,ya as CATALOG_UNIT_PRICE_DECIMAL_PLACES,ba as CATALOG_UNIT_PRICE_FORMAT_OPTIONS,d as CartError,u as NetworkError,s as NotInitializedError,ga as PAYABLE_AMOUNT_DECIMAL_PLACES,a as ShoppexError,l as ValidationError,uc as addFavorite,lc as affiliate,vs as buildStorefrontContactMessage,Va as buildStorefrontCustomFieldPayload,as as buildStorefrontProductLookup,ic as cancelSubscription,ps as collectProductSearchHaystack,Qs as computeCartLineId,dc as createTicket,Qu as dashboard,Bc as default,Bc as shoppex,yc as emailPreferences,eu as ensureCartLineId,sc as favorites,Lc as fetchPublishedBuilderSettings,Zc as fetchPublishedThemeSettings,_s as filterProductsBySearchQuery,Ec as getMenu,Tc as getMenuBySlot,xc as getMenuByTitle,Ac as getMenuSlotTitles,zc as getMenus,us as getMergedStorefrontProducts,Bu as getShopReviewsPage,ss as getStorefrontGroupProducts,Rc as getStorefrontOnlineUsers,Cc as getStorefrontRecentSales,ms as groupMatchesSearchQuery,is as isProductInStock,os as isProductOutOfStock,Ga as isStorefrontCheckboxCustomFieldValueChecked,rs as isVariantOutOfStock,Ku as logout,Xu as me,Fc as mergeSettings,ls as normalizeSearchQuery,Wa as normalizeStorefrontCustomFields,tc as order,ec as orders,rc as pauseSubscription,fs as productMatchesSearchQuery,hc as removeAvatar,cc as removeFavorite,fc as replyToTicket,Hu as requestOtp,nc as resetLicenseHwid,Mc as resolveDefaults,ns as resolveDisplayStock,bs as resolveStorefrontApiBaseUrl,Ss as resolveStorefrontSocialLinks,ts as resolveVariantStockValue,ac as resumeSubscription,wc as revokeAllSessions,vc as revokeSession,va as roundPayableAmount,gs as searchMergedStorefrontCatalog,ys as searchMergedStorefrontCatalogItems,bc as sessions,cs as stripHtmlFromText,ws as submitStorefrontContactTicket,oc as subscriptionBillingHistory,pc as ticket,Uc as touchStorefrontPresence,Pc as trackPageView,_c as updateAvatar,gc as updateEmailPreferences,mc as updateProfile,Ha as validateStorefrontCustomFieldValue,Vu as verifyOtp};
1
+ var e=/* @__PURE__ */new Map,t=/* @__PURE__ */new Map,n={hits:0,misses:0};function o(){e.clear(),t.clear()}function r(t,n,o){const r=Date.now();e.set(t,{data:n,ttl:o,updatedAt:r,expiresAt:r+o})}async function i(o,i,a,s=()=>!0){const u=function(t){const n=e.get(t);return n||null}(o);if(u&&!function(e){return Date.now()>e.expiresAt}(u))return n.hits+=1,u.data;if(u&&a.staleWhileRevalidate){if(n.hits+=1,!t.has(o)){const e=(async()=>{try{const e=await i();return s(e)&&r(o,e,a.ttl),e}finally{t.delete(o)}})();t.set(o,e)}return u.data}if(t.has(o))return t.get(o);n.misses+=1;const l=(async()=>{try{const e=await i();return s(e)&&r(o,e,a.ttl),e}finally{t.delete(o)}})();return t.set(o,l),l}var a=class e extends Error{constructor(t,n,o){super(t),this.name="ShoppexError",this.code=n,this.statusCode=o,Object.setPrototypeOf(this,e.prototype)}},s=class e extends a{constructor(){super("SDK not initialized. Call shoppex.init() first.","NOT_INITIALIZED"),this.name="NotInitializedError",Object.setPrototypeOf(this,e.prototype)}},u=class e extends a{constructor(t,n){super(t,"NETWORK_ERROR",n),this.name="NetworkError",Object.setPrototypeOf(this,e.prototype)}},l=class e extends a{constructor(t,n,o,r){super(t,n,o),this.name="ApiError",this.errorParams=r,Object.setPrototypeOf(this,e.prototype)}},c=class e extends a{constructor(t,n){super(t,"VALIDATION_ERROR"),this.name="ValidationError",this.invalidFields=n,Object.setPrototypeOf(this,e.prototype)}},d=class e extends a{constructor(t){super(t,"BASKET_ERROR"),this.name="CartError",Object.setPrototypeOf(this,e.prototype)}},p=/\{[^{}]+\}/g;function f(e){let{baseUrl:t="",Request:n=globalThis.Request,fetch:o=globalThis.fetch,querySerializer:r,bodySerializer:i,pathSerializer:a,headers:s,requestInitExt:u,...l}={...e};u="object"==typeof process&&Number.parseInt(process?.versions?.node?.substring(0,2))>=18&&process.versions.undici?u:void 0,t=w(t);const c=[];async function d(e,d){const{baseUrl:p,fetch:f=o,Request:m=n,headers:_,params:h={},parseAs:S="json",querySerializer:k,bodySerializer:O=i??b,pathSerializer:z,body:x,middleware:T=[],...E}=d||{};let A=t;p&&(A=w(p)??t);let I="function"==typeof r?r:y(r);k&&(I="function"==typeof k?k:y({..."object"==typeof r?r:{},...k}));const $=z||a||g,P=void 0===x?void 0:O(x,v(s,_,h.header)),N=v(void 0===P||P instanceof FormData?{}:{"Content-Type":"application/json"},s,_,h.header),C=[...c,...T],R={redirect:"follow",...l,...E,body:P,headers:N};let U,q,j,D=new m(function(e,t){let n=`${t.baseUrl}${e}`;t.params?.path&&(n=t.pathSerializer(n,t.params.path));let o=t.querySerializer(t.params.query??{});o.startsWith("?")&&(o=o.substring(1));o&&(n+=`?${o}`);return n}(e,{baseUrl:A,params:h,querySerializer:I,pathSerializer:$}),R);for(const t in E)t in D||(D[t]=E[t]);if(C.length){U=Math.random().toString(36).slice(2,11),q=Object.freeze({baseUrl:A,fetch:f,parseAs:S,querySerializer:I,bodySerializer:O,pathSerializer:$});for(const t of C)if(t&&"object"==typeof t&&"function"==typeof t.onRequest){const n=await t.onRequest({request:D,schemaPath:e,params:h,options:q,id:U});if(n){if(!(n instanceof m)){if(n instanceof Response){j=n;break}throw new Error("onRequest: must return new Request() or Response() when modifying the request")}D=n}}}if(!j){try{j=await f(D,u)}catch(M){let t=M;if(C.length)for(let n=C.length-1;n>=0;n--){const o=C[n];if(o&&"object"==typeof o&&"function"==typeof o.onError){const n=await o.onError({request:D,error:t,schemaPath:e,params:h,options:q,id:U});if(n){if(n instanceof Response){t=void 0,j=n;break}if(n instanceof Error){t=n;continue}throw new Error("onError: must return new Response() or instance of Error")}}}if(t)throw t}if(C.length)for(let t=C.length-1;t>=0;t--){const n=C[t];if(n&&"object"==typeof n&&"function"==typeof n.onResponse){const t=await n.onResponse({request:D,response:j,schemaPath:e,params:h,options:q,id:U});if(t){if(!(t instanceof Response))throw new Error("onResponse: must return new Response() when modifying the response");j=t}}}}const L=j.headers.get("Content-Length");if(204===j.status||"HEAD"===D.method||"0"===L&&!j.headers.get("Transfer-Encoding")?.includes("chunked"))return j.ok?{data:void 0,response:j}:{error:void 0,response:j};if(j.ok){const e=async()=>{if("stream"===S)return j.body;if("json"===S&&!L){const e=await j.text();return e?JSON.parse(e):void 0}return await j[S]()};return{data:await e(),response:j}}let Z=await j.text();try{Z=JSON.parse(Z)}catch{}return{error:Z,response:j}}return{request:(e,t,n)=>d(t,{...n,method:e.toUpperCase()}),GET:(e,t)=>d(e,{...t,method:"GET"}),PUT:(e,t)=>d(e,{...t,method:"PUT"}),POST:(e,t)=>d(e,{...t,method:"POST"}),DELETE:(e,t)=>d(e,{...t,method:"DELETE"}),OPTIONS:(e,t)=>d(e,{...t,method:"OPTIONS"}),HEAD:(e,t)=>d(e,{...t,method:"HEAD"}),PATCH:(e,t)=>d(e,{...t,method:"PATCH"}),TRACE:(e,t)=>d(e,{...t,method:"TRACE"}),use(...e){for(const t of e)if(t){if("object"!=typeof t||!("onRequest"in t||"onResponse"in t||"onError"in t))throw new Error("Middleware must be an object with one of `onRequest()`, `onResponse() or `onError()`");c.push(t)}},eject(...e){for(const t of e){const e=c.indexOf(t);-1!==e&&c.splice(e,1)}}}}function m(e,t,n){if(null==t)return"";if("object"==typeof t)throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${!0===n?.allowReserved?t:encodeURIComponent(t)}`}function _(e,t,n){if(!t||"object"!=typeof t)return"";const o=[],r={simple:",",label:".",matrix:";"}[n.style]||"&";if("deepObject"!==n.style&&!1===n.explode){for(const e in t)o.push(e,!0===n.allowReserved?t[e]:encodeURIComponent(t[e]));const r=o.join(",");switch(n.style){case"form":return`${e}=${r}`;case"label":return`.${r}`;case"matrix":return`;${e}=${r}`;default:return r}}for(const a in t){const r="deepObject"===n.style?`${e}[${a}]`:a;o.push(m(r,t[a],n))}const i=o.join(r);return"label"===n.style||"matrix"===n.style?`${r}${i}`:i}function h(e,t,n){if(!Array.isArray(t))return"";if(!1===n.explode){const o={form:",",spaceDelimited:"%20",pipeDelimited:"|"}[n.style]||",",r=(!0===n.allowReserved?t:t.map(e=>encodeURIComponent(e))).join(o);switch(n.style){case"simple":return r;case"label":return`.${r}`;case"matrix":return`;${e}=${r}`;default:return`${e}=${r}`}}const o={simple:",",label:".",matrix:";"}[n.style]||"&",r=[];for(const i of t)"simple"===n.style||"label"===n.style?r.push(!0===n.allowReserved?i:encodeURIComponent(i)):r.push(m(e,i,n));return"label"===n.style||"matrix"===n.style?`${o}${r.join(o)}`:r.join(o)}function y(e){return function(t){const n=[];if(t&&"object"==typeof t)for(const o in t){const r=t[o];if(null!=r)if(Array.isArray(r)){if(0===r.length)continue;n.push(h(o,r,{style:"form",explode:!0,...e?.array,allowReserved:e?.allowReserved||!1}))}else"object"!=typeof r?n.push(m(o,r,e)):n.push(_(o,r,{style:"deepObject",explode:!0,...e?.object,allowReserved:e?.allowReserved||!1}))}return n.join("&")}}function g(e,t){let n=e;for(const o of e.match(p)??[]){let e=o.substring(1,o.length-1),r=!1,i="simple";if(e.endsWith("*")&&(r=!0,e=e.substring(0,e.length-1)),e.startsWith(".")?(i="label",e=e.substring(1)):e.startsWith(";")&&(i="matrix",e=e.substring(1)),!t||void 0===t[e]||null===t[e])continue;const a=t[e];Array.isArray(a)?n=n.replace(o,h(e,a,{style:i,explode:r})):n="object"!=typeof a?"matrix"!==i?n.replace(o,"label"===i?`.${encodeURIComponent(a)}`:encodeURIComponent(a)):n.replace(o,`;${m(e,a)}`):n.replace(o,_(e,a,{style:i,explode:r}))}return n}function b(e,t){return e instanceof FormData?e:t&&"application/x-www-form-urlencoded"===(t.get instanceof Function?t.get("Content-Type")??t.get("content-type"):t["Content-Type"]??t["content-type"])?new URLSearchParams(e).toString():JSON.stringify(e)}function v(...e){const t=new Headers;for(const n of e){if(!n||"object"!=typeof n)continue;const e=n instanceof Headers?n.entries():Object.entries(n);for(const[n,o]of e)if(null===o)t.delete(n);else if(Array.isArray(o))for(const e of o)t.append(n,e);else void 0!==o&&t.set(n,o)}return t}function w(e){return e.endsWith("/")?e.substring(0,e.length-1):e}var S={header:{title:"Header",aliases:["Header Menu"]},footer:{title:"Footer",aliases:["Footer Links","Legal Links"]}};var k;Object.keys(S);function O(e,t,n){function o(n,o){if(n._zod||Object.defineProperty(n,"_zod",{value:{def:o,constr:a,traits:/* @__PURE__ */new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,o);const r=a.prototype,i=Object.keys(r);for(let e=0;e<i.length;e++){const t=i[e];t in n||(n[t]=r[t].bind(n))}}const r=n?.Parent??Object;class i extends r{}function a(e){var t;const r=n?.Parent?new i:this;o(r,e),(t=r._zod).deferred??(t.deferred=[]);for(const n of r._zod.deferred)n();return r}return Object.defineProperty(i,"name",{value:e}),Object.defineProperty(a,"init",{value:o}),Object.defineProperty(a,Symbol.hasInstance,{value:t=>!!(n?.Parent&&t instanceof n.Parent)||t?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}var z=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},x=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}};(k=globalThis).__zod_globalConfig??(k.__zod_globalConfig={});var T=globalThis.__zod_globalConfig;function E(e){return e&&Object.assign(T,e),T}function A(e){const t=Object.values(e).filter(e=>"number"==typeof e);return Object.entries(e).filter(([e,n])=>-1===t.indexOf(+e)).map(([e,t])=>t)}function I(e,t){return"bigint"==typeof t?t.toString():t}function $(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function P(e){return null==e}function N(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}var C=/* @__PURE__*/Symbol("evaluating");function R(e,t,n){let o;Object.defineProperty(e,t,{get(){if(o!==C)return void 0===o&&(o=C,o=n()),o},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function U(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function q(...e){const t={};for(const n of e){const e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function j(e){return JSON.stringify(e)}var D="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function L(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}var Z=/* @__PURE__*/$(()=>{if(T.jitless)return!1;if("undefined"!=typeof navigator&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function M(e){if(!1===L(e))return!1;const t=e.constructor;if(void 0===t)return!0;if("function"!=typeof t)return!0;const n=t.prototype;return!1!==L(n)&&!1!==Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")}function F(e){return M(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var B=/* @__PURE__*/new Set(["string","number","symbol"]);function Y(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function J(e,t,n){const o=new e._zod.constr(t??e._zod.def);return t&&!n?.parent||(o._zod.parent=e),o}function W(e){const t=e;if(!t)return{};if("string"==typeof t)return{error:()=>t};if(void 0!==t?.message){if(void 0!==t?.error)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,"string"==typeof t.error?{...t,error:()=>t.error}:t}var G={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function H(e,t=0){if(!0===e.aborted)return!0;for(let n=t;n<e.issues.length;n++)if(!0!==e.issues[n]?.continue)return!0;return!1}function V(e,t=0){if(!0===e.aborted)return!0;for(let n=t;n<e.issues.length;n++)if(!1===e.issues[n]?.continue)return!0;return!1}function K(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function X(e){return"string"==typeof e?e:e?.message}function Q(e,t,n){const o=e.message?e.message:X(e.inst?._zod.def?.error?.(e))??X(t?.error?.(e))??X(n.customError?.(e))??X(n.localeError?.(e))??"Invalid input",{inst:r,continue:i,input:a,...s}=e;return s.path??(s.path=[]),s.message=o,t?.reportInput&&(s.input=a),s}function ee(e){return Array.isArray(e)?"array":"string"==typeof e?"string":"unknown"}function te(...e){const[t,n,o]=e;return"string"==typeof t?{message:t,code:"custom",input:n,inst:o}:{...t}}var ne=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,I,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},oe=O("$ZodError",ne),re=O("$ZodError",ne,{Parent:Error});var ie=e=>(t,n,o,r)=>{const i=o?{...o,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new z;if(a.issues.length){const t=new(r?.Err??e)(a.issues.map(e=>Q(e,i,E())));throw D(t,r?.callee),t}return a.value},ae=e=>async(t,n,o,r)=>{const i=o?{...o,async:!0}:{async:!0};let a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise&&(a=await a),a.issues.length){const t=new(r?.Err??e)(a.issues.map(e=>Q(e,i,E())));throw D(t,r?.callee),t}return a.value},se=e=>(t,n,o)=>{const r=o?{...o,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},r);if(i instanceof Promise)throw new z;return i.issues.length?{success:!1,error:new(e??oe)(i.issues.map(e=>Q(e,r,E())))}:{success:!0,data:i.value}},ue=/* @__PURE__*/se(re),le=e=>async(t,n,o)=>{const r=o?{...o,async:!0}:{async:!0};let i=t._zod.run({value:n,issues:[]},r);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(e=>Q(e,r,E())))}:{success:!0,data:i.value}},ce=/* @__PURE__*/le(re),de=e=>(t,n,o)=>{const r=o?{...o,direction:"backward"}:{direction:"backward"};return ie(e)(t,n,r)},pe=e=>(t,n,o)=>ie(e)(t,n,o),fe=e=>async(t,n,o)=>{const r=o?{...o,direction:"backward"}:{direction:"backward"};return ae(e)(t,n,r)},me=e=>async(t,n,o)=>ae(e)(t,n,o),_e=e=>(t,n,o)=>{const r=o?{...o,direction:"backward"}:{direction:"backward"};return se(e)(t,n,r)},he=e=>(t,n,o)=>se(e)(t,n,o),ye=e=>async(t,n,o)=>{const r=o?{...o,direction:"backward"}:{direction:"backward"};return le(e)(t,n,r)},ge=e=>async(t,n,o)=>le(e)(t,n,o),be=/^[cC][0-9a-z]{6,}$/,ve=/^[0-9a-z]+$/,we=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Se=/^[0-9a-vA-V]{20}$/,ke=/^[A-Za-z0-9]{27}$/,Oe=/^[a-zA-Z0-9_-]{21}$/,ze=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,xe=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Te=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,Ee=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var Ae=/^(?:(?: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])$/,Ie=/^(([0-9a-fA-F]{1,4}:){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}|:))$/,$e=/^((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])\/([0-9]|[1-2][0-9]|3[0-2])$/,Pe=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ne=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Ce=/^[A-Za-z0-9_-]*$/,Re=/^https?$/,Ue=/^\+[1-9]\d{6,14}$/,qe="(?:(?:\\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])))",je=/*@__PURE__*/new RegExp(`^${qe}$`);function De(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return"number"==typeof e.precision?-1===e.precision?`${t}`:0===e.precision?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}var Le=/^-?\d+$/,Ze=/^-?\d+(?:\.\d+)?$/,Me=/^(?:true|false)$/i,Fe=/^[^A-Z]*$/,Be=/^[^a-z]*$/,Ye=/*@__PURE__*/O("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Je={number:"number",bigint:"bigint",object:"date"},We=/*@__PURE__*/O("$ZodCheckLessThan",(e,t)=>{Ye.init(e,t);const n=Je[typeof t.value];e._zod.onattach.push(e=>{const n=e._zod.bag,o=(t.inclusive?n.maximum:n.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<o&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value<=t.value:o.value<t.value)||o.issues.push({origin:n,code:"too_big",maximum:"object"==typeof t.value?t.value.getTime():t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ge=/*@__PURE__*/O("$ZodCheckGreaterThan",(e,t)=>{Ye.init(e,t);const n=Je[typeof t.value];e._zod.onattach.push(e=>{const n=e._zod.bag,o=(t.inclusive?n.minimum:n.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>o&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value>=t.value:o.value>t.value)||o.issues.push({origin:n,code:"too_small",minimum:"object"==typeof t.value?t.value.getTime():t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),He=/*@__PURE__*/O("$ZodCheckMultipleOf",(e,t)=>{Ye.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");("bigint"==typeof n.value?n.value%t.value!==BigInt(0):0!==function(e,t){const n=e/t,o=Math.round(n),r=Number.EPSILON*Math.max(Math.abs(n),1);return Math.abs(n-o)<r?0:n-o}(n.value,t.value))&&n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Ve=/*@__PURE__*/O("$ZodCheckNumberFormat",(e,t)=>{Ye.init(e,t),t.format=t.format||"float64";const n=t.format?.includes("int"),o=n?"int":"number",[r,i]=G[t.format];e._zod.onattach.push(e=>{const o=e._zod.bag;o.format=t.format,o.minimum=r,o.maximum=i,n&&(o.pattern=Le)}),e._zod.check=a=>{const s=a.value;if(n){if(!Number.isInteger(s))return void a.issues.push({expected:o,format:t.format,code:"invalid_type",continue:!1,input:s,inst:e});if(!Number.isSafeInteger(s))return void(s>0?a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,inclusive:!0,continue:!t.abort}):a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,inclusive:!0,continue:!t.abort}))}s<r&&a.issues.push({origin:"number",input:s,code:"too_small",minimum:r,inclusive:!0,inst:e,continue:!t.abort}),s>i&&a.issues.push({origin:"number",input:s,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),Ke=/*@__PURE__*/O("$ZodCheckMaxLength",(e,t)=>{var n;Ye.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!P(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{const o=n.value;if(o.length<=t.maximum)return;const r=ee(o);n.issues.push({origin:r,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Xe=/*@__PURE__*/O("$ZodCheckMinLength",(e,t)=>{var n;Ye.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!P(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{const o=n.value;if(o.length>=t.minimum)return;const r=ee(o);n.issues.push({origin:r,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Qe=/*@__PURE__*/O("$ZodCheckLengthEquals",(e,t)=>{var n;Ye.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!P(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{const o=n.value,r=o.length;if(r===t.length)return;const i=ee(o),a=r>t.length;n.issues.push({origin:i,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),et=/*@__PURE__*/O("$ZodCheckStringFormat",(e,t)=>{var n,o;Ye.init(e,t),e._zod.onattach.push(e=>{const n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??(n.patterns=/* @__PURE__ */new Set),n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,t.pattern.test(n.value)||n.issues.push({origin:"string",code:"invalid_format",format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(o=e._zod).check??(o.check=()=>{})}),tt=/*@__PURE__*/O("$ZodCheckRegex",(e,t)=>{et.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,t.pattern.test(n.value)||n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),nt=/*@__PURE__*/O("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Fe),et.init(e,t)}),ot=/*@__PURE__*/O("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Be),et.init(e,t)}),rt=/*@__PURE__*/O("$ZodCheckIncludes",(e,t)=>{Ye.init(e,t);const n=Y(t.includes),o=new RegExp("number"==typeof t.position?`^.{${t.position}}${n}`:n);t.pattern=o,e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=/* @__PURE__ */new Set),t.patterns.add(o)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),it=/*@__PURE__*/O("$ZodCheckStartsWith",(e,t)=>{Ye.init(e,t);const n=new RegExp(`^${Y(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=/* @__PURE__ */new Set),t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),at=/*@__PURE__*/O("$ZodCheckEndsWith",(e,t)=>{Ye.init(e,t);const n=new RegExp(`.*${Y(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=/* @__PURE__ */new Set),t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),st=/*@__PURE__*/O("$ZodCheckOverwrite",(e,t)=>{Ye.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),ut=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if("function"==typeof e)return e(this,{execution:"sync"}),void e(this,{execution:"async"});const t=e.split("\n").filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),o=t.map(e=>e.slice(n)).map(e=>" ".repeat(2*this.indent)+e);for(const r of o)this.content.push(r)}compile(){const e=Function,t=this?.args;return new e(...t,[...(this?.content??[""]).map(e=>` ${e}`)].join("\n"))}},lt={major:4,minor:4,patch:3},ct=/*@__PURE__*/O("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=lt;const o=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&o.unshift(e);for(const r of o)for(const t of r._zod.onattach)t(e);if(0===o.length)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const t=(e,t,n)=>{let o,r=H(e);for(const i of t){if(i._zod.def.when){if(V(e))continue;if(!i._zod.def.when(e))continue}else if(r)continue;const t=e.issues.length,a=i._zod.check(e);if(a instanceof Promise&&!1===n?.async)throw new z;if(o||a instanceof Promise)o=(o??Promise.resolve()).then(async()=>{await a,e.issues.length!==t&&(r||(r=H(e,t)))});else{if(e.issues.length===t)continue;r||(r=H(e,t))}}return o?o.then(()=>e):e},n=(n,r,i)=>{if(H(n))return n.aborted=!0,n;const a=t(r,o,i);if(a instanceof Promise){if(!1===i.async)throw new z;return a.then(t=>e._zod.parse(t,i))}return e._zod.parse(a,i)};e._zod.run=(r,i)=>{if(i.skipChecks)return e._zod.parse(r,i);if("backward"===i.direction){const t=e._zod.parse({value:r.value,issues:[]},{...i,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,r,i)):n(t,r,i)}const a=e._zod.parse(r,i);if(a instanceof Promise){if(!1===i.async)throw new z;return a.then(e=>t(e,o,i))}return t(a,o,i)}}R(e,"~standard",()=>({validate:t=>{try{const n=ue(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch(n){return ce(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:"zod",version:1}))}),dt=/*@__PURE__*/O("$ZodString",(e,t)=>{var n;ct.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??(n=e._zod.bag,new RegExp(`^${n?`[\\s\\S]{${n?.minimum??0},${n?.maximum??""}}`:"[\\s\\S]*"}$`)),e._zod.parse=(n,o)=>{if(t.coerce)try{n.value=String(n.value)}catch(o){}return"string"==typeof n.value||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),pt=/*@__PURE__*/O("$ZodStringFormat",(e,t)=>{et.init(e,t),dt.init(e,t)}),ft=/*@__PURE__*/O("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=xe),pt.init(e,t)}),mt=/*@__PURE__*/O("$ZodUUID",(e,t)=>{if(t.version){const e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(void 0===e)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Te(e))}else t.pattern??(t.pattern=Te());pt.init(e,t)}),_t=/*@__PURE__*/O("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Ee),pt.init(e,t)}),ht=/*@__PURE__*/O("$ZodURL",(e,t)=>{pt.init(e,t),e._zod.check=n=>{try{const o=n.value.trim();if(!t.normalize&&t.protocol?.source===Re.source&&!/^https?:\/\//i.test(o))return void n.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:n.value,inst:e,continue:!t.abort});const r=new URL(o);return t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(r.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(r.protocol.endsWith(":")?r.protocol.slice(0,-1):r.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),void(t.normalize?n.value=r.href:n.value=o)}catch(o){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),yt=/*@__PURE__*/O("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),pt.init(e,t)}),gt=/*@__PURE__*/O("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=Oe),pt.init(e,t)}),bt=/*@__PURE__*/O("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=be),pt.init(e,t)}),vt=/*@__PURE__*/O("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=ve),pt.init(e,t)}),wt=/*@__PURE__*/O("$ZodULID",(e,t)=>{t.pattern??(t.pattern=we),pt.init(e,t)}),St=/*@__PURE__*/O("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Se),pt.init(e,t)}),kt=/*@__PURE__*/O("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=ke),pt.init(e,t)}),Ot=/*@__PURE__*/O("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=function(e){const t=De({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const o=`${t}(?:${n.join("|")})`;return new RegExp(`^${qe}T(?:${o})$`)}(t)),pt.init(e,t)}),zt=/*@__PURE__*/O("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=je),pt.init(e,t)}),xt=/*@__PURE__*/O("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=new RegExp(`^${De(t)}$`)),pt.init(e,t)}),Tt=/*@__PURE__*/O("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=ze),pt.init(e,t)}),Et=/*@__PURE__*/O("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Ae),pt.init(e,t),e._zod.bag.format="ipv4"}),At=/*@__PURE__*/O("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Ie),pt.init(e,t),e._zod.bag.format="ipv6",e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),It=/*@__PURE__*/O("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=$e),pt.init(e,t)}),$t=/*@__PURE__*/O("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Pe),pt.init(e,t),e._zod.check=n=>{const o=n.value.split("/");try{if(2!==o.length)throw new Error;const[e,t]=o;if(!t)throw new Error;const n=Number(t);if(`${n}`!==t)throw new Error;if(n<0||n>128)throw new Error;new URL(`http://[${e}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function Pt(e){if(""===e)return!0;if(/\s/.test(e))return!1;if(e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var Nt=/*@__PURE__*/O("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Ne),pt.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{Pt(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});var Ct=/*@__PURE__*/O("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Ce),pt.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{(function(e){if(!Ce.test(e))return!1;const t=e.replace(/[-_]/g,e=>"-"===e?"+":"/");return Pt(t.padEnd(4*Math.ceil(t.length/4),"="))})(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Rt=/*@__PURE__*/O("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Ue),pt.init(e,t)});var Ut=/*@__PURE__*/O("$ZodJWT",(e,t)=>{pt.init(e,t),e._zod.check=n=>{(function(e,t=null){try{const n=e.split(".");if(3!==n.length)return!1;const[o]=n;if(!o)return!1;const r=JSON.parse(atob(o));return!("typ"in r&&"JWT"!==r?.typ||!r.alg||t&&(!("alg"in r)||r.alg!==t))}catch{return!1}})(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),qt=/*@__PURE__*/O("$ZodNumber",(e,t)=>{ct.init(e,t),e._zod.pattern=e._zod.bag.pattern??Ze,e._zod.parse=(n,o)=>{if(t.coerce)try{n.value=Number(n.value)}catch(a){}const r=n.value;if("number"==typeof r&&!Number.isNaN(r)&&Number.isFinite(r))return n;const i="number"==typeof r?Number.isNaN(r)?"NaN":Number.isFinite(r)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:r,inst:e,...i?{received:i}:{}}),n}}),jt=/*@__PURE__*/O("$ZodNumberFormat",(e,t)=>{Ve.init(e,t),qt.init(e,t)}),Dt=/*@__PURE__*/O("$ZodBoolean",(e,t)=>{ct.init(e,t),e._zod.pattern=Me,e._zod.parse=(n,o)=>{if(t.coerce)try{n.value=Boolean(n.value)}catch(i){}const r=n.value;return"boolean"==typeof r||n.issues.push({expected:"boolean",code:"invalid_type",input:r,inst:e}),n}}),Lt=/*@__PURE__*/O("$ZodUnknown",(e,t)=>{ct.init(e,t),e._zod.parse=e=>e}),Zt=/*@__PURE__*/O("$ZodNever",(e,t)=>{ct.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:"never",code:"invalid_type",input:t.value,inst:e}),t)});function Mt(e,t,n){e.issues.length&&t.issues.push(...K(n,e.issues)),t.value[n]=e.value}var Ft=/*@__PURE__*/O("$ZodArray",(e,t)=>{ct.init(e,t),e._zod.parse=(n,o)=>{const r=n.value;if(!Array.isArray(r))return n.issues.push({expected:"array",code:"invalid_type",input:r,inst:e}),n;n.value=Array(r.length);const i=[];for(let e=0;e<r.length;e++){const a=r[e],s=t.element._zod.run({value:a,issues:[]},o);s instanceof Promise?i.push(s.then(t=>Mt(t,n,e))):Mt(s,n,e)}return i.length?Promise.all(i).then(()=>n):n}});function Bt(e,t,n,o,r,i){const a=n in o;if(e.issues.length){if(r&&i&&!a)return;t.issues.push(...K(n,e.issues))}a||r?void 0===e.value?a&&(t.value[n]=void 0):t.value[n]=e.value:e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[n]})}function Yt(e){const t=Object.keys(e.shape);for(const r of t)if(!e.shape?.[r]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${r}": expected a Zod schema`);const n=(o=e.shape,Object.keys(o).filter(e=>"optional"===o[e]._zod.optin&&"optional"===o[e]._zod.optout));var o;return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function Jt(e,t,n,o,r,i){const a=[],s=r.keySet,u=r.catchall._zod,l=u.def.type,c="optional"===u.optin,d="optional"===u.optout;for(const p in t){if("__proto__"===p)continue;if(s.has(p))continue;if("never"===l){a.push(p);continue}const r=u.run({value:t[p],issues:[]},o);r instanceof Promise?e.push(r.then(e=>Bt(e,n,p,t,c,d))):Bt(r,n,p,t,c,d)}return a.length&&n.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:i}),e.length?Promise.all(e).then(()=>n):n}var Wt=/*@__PURE__*/O("$ZodObject",(e,t)=>{if(ct.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const e=t.shape;Object.defineProperty(t,"shape",{get:()=>{const n={...e};return Object.defineProperty(t,"shape",{value:n}),n}})}const n=$(()=>Yt(t));R(e._zod,"propValues",()=>{const e=t.shape,n={};for(const t in e){const o=e[t]._zod;if(o.values){n[t]??(n[t]=/* @__PURE__ */new Set);for(const e of o.values)n[t].add(e)}}return n});const o=L,r=t.catchall;let i;e._zod.parse=(t,a)=>{i??(i=n.value);const s=t.value;if(!o(s))return t.issues.push({expected:"object",code:"invalid_type",input:s,inst:e}),t;t.value={};const u=[],l=i.shape;for(const e of i.keys){const n=l[e],o="optional"===n._zod.optin,r="optional"===n._zod.optout,i=n._zod.run({value:s[e],issues:[]},a);i instanceof Promise?u.push(i.then(n=>Bt(n,t,e,s,o,r))):Bt(i,t,e,s,o,r)}return r?Jt(u,s,t,a,n.value,e):u.length?Promise.all(u).then(()=>t):t}}),Gt=/*@__PURE__*/O("$ZodObjectJIT",(e,t)=>{Wt.init(e,t);const n=e._zod.parse,o=$(()=>Yt(t));let r;const i=L,a=!T.jitless,s=a&&Z.value,u=t.catchall;let l;e._zod.parse=(c,d)=>{l??(l=o.value);const p=c.value;return i(p)?a&&s&&!1===d?.async&&!0!==d.jitless?(r||(r=(e=>{const t=new ut(["shape","payload","ctx"]),n=o.value,r=e=>{const t=j(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write("const input = payload.value;");const i=Object.create(null);let a=0;for(const o of n.keys)i[o]="key_"+a++;t.write("const newResult = {};");for(const o of n.keys){const n=i[o],a=j(o),s=e[o],u="optional"===s?._zod?.optin,l="optional"===s?._zod?.optout;t.write(`const ${n} = ${r(o)};`),u&&l?t.write(`\n if (${n}.issues.length) {\n if (${a} in input) {\n payload.issues = payload.issues.concat(${n}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${a}, ...iss.path] : [${a}]\n })));\n }\n }\n \n if (${n}.value === undefined) {\n if (${a} in input) {\n newResult[${a}] = undefined;\n }\n } else {\n newResult[${a}] = ${n}.value;\n }\n \n `):u?t.write(`\n if (${n}.issues.length) {\n payload.issues = payload.issues.concat(${n}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${a}, ...iss.path] : [${a}]\n })));\n }\n \n if (${n}.value === undefined) {\n if (${a} in input) {\n newResult[${a}] = undefined;\n }\n } else {\n newResult[${a}] = ${n}.value;\n }\n \n `):t.write(`\n const ${n}_present = ${a} in input;\n if (${n}.issues.length) {\n payload.issues = payload.issues.concat(${n}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${a}, ...iss.path] : [${a}]\n })));\n }\n if (!${n}_present && !${n}.issues.length) {\n payload.issues.push({\n code: "invalid_type",\n expected: "nonoptional",\n input: undefined,\n path: [${a}]\n });\n }\n\n if (${n}_present) {\n if (${n}.value === undefined) {\n newResult[${a}] = undefined;\n } else {\n newResult[${a}] = ${n}.value;\n }\n }\n\n `)}t.write("payload.value = newResult;"),t.write("return payload;");const s=t.compile();return(t,n)=>s(e,t,n)})(t.shape)),c=r(c,d),u?Jt([],p,c,d,l,e):c):n(c,d):(c.issues.push({expected:"object",code:"invalid_type",input:p,inst:e}),c)}});function Ht(e,t,n,o){for(const i of e)if(0===i.issues.length)return t.value=i.value,t;const r=e.filter(e=>!H(e));return 1===r.length?(t.value=r[0].value,r[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>Q(e,o,E())))}),t)}var Vt=/*@__PURE__*/O("$ZodUnion",(e,t)=>{ct.init(e,t),R(e._zod,"optin",()=>t.options.some(e=>"optional"===e._zod.optin)?"optional":void 0),R(e._zod,"optout",()=>t.options.some(e=>"optional"===e._zod.optout)?"optional":void 0),R(e._zod,"values",()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),R(e._zod,"pattern",()=>{if(t.options.every(e=>e._zod.pattern)){const e=t.options.map(e=>e._zod.pattern);return new RegExp(`^(${e.map(e=>N(e.source)).join("|")})$`)}});const n=1===t.options.length?t.options[0]._zod.run:null;e._zod.parse=(o,r)=>{if(n)return n(o,r);let i=!1;const a=[];for(const e of t.options){const t=e._zod.run({value:o.value,issues:[]},r);if(t instanceof Promise)a.push(t),i=!0;else{if(0===t.issues.length)return t;a.push(t)}}return i?Promise.all(a).then(t=>Ht(t,o,e,r)):Ht(a,o,e,r)}}),Kt=/*@__PURE__*/O("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,Vt.init(e,t);const n=e._zod.parse;R(e._zod,"propValues",()=>{const e={};for(const n of t.options){const o=n._zod.propValues;if(!o||0===Object.keys(o).length)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(n)}"`);for(const[t,n]of Object.entries(o)){e[t]||(e[t]=/* @__PURE__ */new Set);for(const o of n)e[t].add(o)}}return e});const o=$(()=>{const e=t.options,n=/* @__PURE__ */new Map;for(const o of e){const e=o._zod.propValues?.[t.discriminator];if(!e||0===e.size)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(o)}"`);for(const t of e){if(n.has(t))throw new Error(`Duplicate discriminator value "${String(t)}"`);n.set(t,o)}}return n});e._zod.parse=(r,i)=>{const a=r.value;if(!L(a))return r.issues.push({code:"invalid_type",expected:"object",input:a,inst:e}),r;const s=o.value.get(a?.[t.discriminator]);return s?s._zod.run(r,i):t.unionFallback||"backward"===i.direction?n(r,i):(r.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,options:Array.from(o.value.keys()),input:a,path:[t.discriminator],inst:e}),r)}}),Xt=/*@__PURE__*/O("$ZodIntersection",(e,t)=>{ct.init(e,t),e._zod.parse=(e,n)=>{const o=e.value,r=t.left._zod.run({value:o,issues:[]},n),i=t.right._zod.run({value:o,issues:[]},n);return r instanceof Promise||i instanceof Promise?Promise.all([r,i]).then(([t,n])=>en(e,t,n)):en(e,r,i)}});function Qt(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(M(e)&&M(t)){const n=Object.keys(t),o=Object.keys(e).filter(e=>-1!==n.indexOf(e)),r={...e,...t};for(const i of o){const n=Qt(e[i],t[i]);if(!n.valid)return{valid:!1,mergeErrorPath:[i,...n.mergeErrorPath]};r[i]=n.data}return{valid:!0,data:r}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let o=0;o<e.length;o++){const r=Qt(e[o],t[o]);if(!r.valid)return{valid:!1,mergeErrorPath:[o,...r.mergeErrorPath]};n.push(r.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function en(e,t,n){const o=/* @__PURE__ */new Map;let r;for(const s of t.issues)if("unrecognized_keys"===s.code){r??(r=s);for(const e of s.keys)o.has(e)||o.set(e,{}),o.get(e).l=!0}else e.issues.push(s);for(const s of n.issues)if("unrecognized_keys"===s.code)for(const e of s.keys)o.has(e)||o.set(e,{}),o.get(e).r=!0;else e.issues.push(s);const i=[...o].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(i.length&&r&&e.issues.push({...r,keys:i}),H(e))return e;const a=Qt(t.value,n.value);if(!a.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(a.mergeErrorPath)}`);return e.value=a.data,e}var tn=/*@__PURE__*/O("$ZodRecord",(e,t)=>{ct.init(e,t),e._zod.parse=(n,o)=>{const r=n.value;if(!M(r))return n.issues.push({expected:"record",code:"invalid_type",input:r,inst:e}),n;const i=[],a=t.keyType._zod.values;if(a){n.value={};const s=/* @__PURE__ */new Set;for(const l of a)if("string"==typeof l||"number"==typeof l||"symbol"==typeof l){s.add("number"==typeof l?l.toString():l);const a=t.keyType._zod.run({value:l,issues:[]},o);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){n.issues.push({code:"invalid_key",origin:"record",issues:a.issues.map(e=>Q(e,o,E())),input:l,path:[l],inst:e});continue}const u=a.value,c=t.valueType._zod.run({value:r[l],issues:[]},o);c instanceof Promise?i.push(c.then(e=>{e.issues.length&&n.issues.push(...K(l,e.issues)),n.value[u]=e.value})):(c.issues.length&&n.issues.push(...K(l,c.issues)),n.value[u]=c.value)}let u;for(const e in r)s.has(e)||(u=u??[],u.push(e));u&&u.length>0&&n.issues.push({code:"unrecognized_keys",input:r,inst:e,keys:u})}else{n.value={};for(const a of Reflect.ownKeys(r)){if("__proto__"===a)continue;if(!Object.prototype.propertyIsEnumerable.call(r,a))continue;let s=t.keyType._zod.run({value:a,issues:[]},o);if(s instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if("string"==typeof a&&Ze.test(a)&&s.issues.length){const e=t.keyType._zod.run({value:Number(a),issues:[]},o);if(e instanceof Promise)throw new Error("Async schemas not supported in object keys currently");0===e.issues.length&&(s=e)}if(s.issues.length){"loose"===t.mode?n.value[a]=r[a]:n.issues.push({code:"invalid_key",origin:"record",issues:s.issues.map(e=>Q(e,o,E())),input:a,path:[a],inst:e});continue}const u=t.valueType._zod.run({value:r[a],issues:[]},o);u instanceof Promise?i.push(u.then(e=>{e.issues.length&&n.issues.push(...K(a,e.issues)),n.value[s.value]=e.value})):(u.issues.length&&n.issues.push(...K(a,u.issues)),n.value[s.value]=u.value)}}return i.length?Promise.all(i).then(()=>n):n}}),nn=/*@__PURE__*/O("$ZodEnum",(e,t)=>{ct.init(e,t);const n=A(t.entries),o=new Set(n);e._zod.values=o,e._zod.pattern=new RegExp(`^(${n.filter(e=>B.has(typeof e)).map(e=>"string"==typeof e?Y(e):e.toString()).join("|")})$`),e._zod.parse=(t,r)=>{const i=t.value;return o.has(i)||t.issues.push({code:"invalid_value",values:n,input:i,inst:e}),t}}),on=/*@__PURE__*/O("$ZodLiteral",(e,t)=>{if(ct.init(e,t),0===t.values.length)throw new Error("Cannot create literal schema with no valid values");const n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map(e=>"string"==typeof e?Y(e):e?Y(e.toString()):String(e)).join("|")})$`),e._zod.parse=(o,r)=>{const i=o.value;return n.has(i)||o.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),o}}),rn=/*@__PURE__*/O("$ZodTransform",(e,t)=>{ct.init(e,t),e._zod.optin="optional",e._zod.parse=(n,o)=>{if("backward"===o.direction)throw new x(e.constructor.name);const r=t.transform(n.value,n);if(o.async)return(r instanceof Promise?r:Promise.resolve(r)).then(e=>(n.value=e,n.fallback=!0,n));if(r instanceof Promise)throw new z;return n.value=r,n.fallback=!0,n}});function an(e,t){return void 0===t&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}var sn=/*@__PURE__*/O("$ZodOptional",(e,t)=>{ct.init(e,t),e._zod.optin="optional",e._zod.optout="optional",R(e._zod,"values",()=>t.innerType._zod.values?/* @__PURE__ */new Set([...t.innerType._zod.values,void 0]):void 0),R(e._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${N(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if("optional"===t.innerType._zod.optin){const o=e.value,r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>an(e,o)):an(r,o)}return void 0===e.value?e:t.innerType._zod.run(e,n)}}),un=/*@__PURE__*/O("$ZodExactOptional",(e,t)=>{sn.init(e,t),R(e._zod,"values",()=>t.innerType._zod.values),R(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),ln=/*@__PURE__*/O("$ZodNullable",(e,t)=>{ct.init(e,t),R(e._zod,"optin",()=>t.innerType._zod.optin),R(e._zod,"optout",()=>t.innerType._zod.optout),R(e._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${N(e.source)}|null)$`):void 0}),R(e._zod,"values",()=>t.innerType._zod.values?/* @__PURE__ */new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>null===e.value?e:t.innerType._zod.run(e,n)}),cn=/*@__PURE__*/O("$ZodDefault",(e,t)=>{ct.init(e,t),e._zod.optin="optional",R(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);if(void 0===e.value)return e.value=t.defaultValue,e;const o=t.innerType._zod.run(e,n);return o instanceof Promise?o.then(e=>dn(e,t)):dn(o,t)}});function dn(e,t){return void 0===e.value&&(e.value=t.defaultValue),e}var pn=/*@__PURE__*/O("$ZodPrefault",(e,t)=>{ct.init(e,t),e._zod.optin="optional",R(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>("backward"===n.direction||void 0===e.value&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),fn=/*@__PURE__*/O("$ZodNonOptional",(e,t)=>{ct.init(e,t),R(e._zod,"values",()=>{const e=t.innerType._zod.values;return e?new Set([...e].filter(e=>void 0!==e)):void 0}),e._zod.parse=(n,o)=>{const r=t.innerType._zod.run(n,o);return r instanceof Promise?r.then(t=>mn(t,e)):mn(r,e)}});function mn(e,t){return e.issues.length||void 0!==e.value||e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var _n=/*@__PURE__*/O("$ZodCatch",(e,t)=>{ct.init(e,t),e._zod.optin="optional",R(e._zod,"optout",()=>t.innerType._zod.optout),R(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);const o=t.innerType._zod.run(e,n);return o instanceof Promise?o.then(o=>(e.value=o.value,o.issues.length&&(e.value=t.catchValue({...e,error:{issues:o.issues.map(e=>Q(e,n,E()))},input:e.value}),e.issues=[],e.fallback=!0),e)):(e.value=o.value,o.issues.length&&(e.value=t.catchValue({...e,error:{issues:o.issues.map(e=>Q(e,n,E()))},input:e.value}),e.issues=[],e.fallback=!0),e)}}),hn=/*@__PURE__*/O("$ZodPipe",(e,t)=>{ct.init(e,t),R(e._zod,"values",()=>t.in._zod.values),R(e._zod,"optin",()=>t.in._zod.optin),R(e._zod,"optout",()=>t.out._zod.optout),R(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if("backward"===n.direction){const o=t.out._zod.run(e,n);return o instanceof Promise?o.then(e=>yn(e,t.in,n)):yn(o,t.in,n)}const o=t.in._zod.run(e,n);return o instanceof Promise?o.then(e=>yn(e,t.out,n)):yn(o,t.out,n)}});function yn(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}var gn=/*@__PURE__*/O("$ZodReadonly",(e,t)=>{ct.init(e,t),R(e._zod,"propValues",()=>t.innerType._zod.propValues),R(e._zod,"values",()=>t.innerType._zod.values),R(e._zod,"optin",()=>t.innerType?._zod?.optin),R(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);const o=t.innerType._zod.run(e,n);return o instanceof Promise?o.then(bn):bn(o)}});function bn(e){return e.value=Object.freeze(e.value),e}var vn,wn=/*@__PURE__*/O("$ZodCustom",(e,t)=>{Ye.init(e,t),ct.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{const o=n.value,r=t.fn(o);if(r instanceof Promise)return r.then(t=>Sn(t,n,o,e));Sn(r,n,o,e)}});function Sn(e,t,n,o){if(!e){const e={code:"custom",input:n,inst:o,path:[...o._zod.def.path??[]],continue:!o._zod.def.abort};o._zod.def.params&&(e.params=o._zod.def.params),t.issues.push(te(e))}}var kn=class{constructor(){this._map=/* @__PURE__ */new WeakMap,this._idmap=/* @__PURE__ */new Map}add(e,...t){const n=t[0];return this._map.set(e,n),n&&"object"==typeof n&&"id"in n&&this._idmap.set(n.id,e),this}clear(){return this._map=/* @__PURE__ */new WeakMap,this._idmap=/* @__PURE__ */new Map,this}remove(e){const t=this._map.get(e);return t&&"object"==typeof t&&"id"in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){const t=e._zod.parent;if(t){const n={...this.get(t)??{}};delete n.id;const o={...n,...this._map.get(e)};return Object.keys(o).length?o:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};(vn=globalThis).__zod_globalRegistry??(vn.__zod_globalRegistry=new kn);var On=globalThis.__zod_globalRegistry;function zn(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...W(t)})}function xn(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...W(t)})}function Tn(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...W(t)})}function En(e,t){return new We({check:"less_than",...W(t),value:e,inclusive:!1})}function An(e,t){return new We({check:"less_than",...W(t),value:e,inclusive:!0})}function In(e,t){return new Ge({check:"greater_than",...W(t),value:e,inclusive:!1})}function $n(e,t){return new Ge({check:"greater_than",...W(t),value:e,inclusive:!0})}function Pn(e,t){return new He({check:"multiple_of",...W(t),value:e})}function Nn(e,t){return new Ke({check:"max_length",...W(t),maximum:e})}function Cn(e,t){return new Xe({check:"min_length",...W(t),minimum:e})}function Rn(e,t){return new Qe({check:"length_equals",...W(t),length:e})}function Un(e){return new st({check:"overwrite",tx:e})}function qn(e,t){const n=new Ye({check:"custom",...W(t)});return n._zod.check=e,n}function jn(e){let t=e?.target??"draft-2020-12";return"draft-4"===t&&(t="draft-04"),"draft-7"===t&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??On,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:/* @__PURE__ */new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function Dn(e,t,n={path:[],schemaPath:[]}){var o;const r=e._zod.def,i=t.seen.get(e);if(i)return i.count++,n.schemaPath.includes(e)&&(i.cycle=n.path),i.schema;const a={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,a);const s=e._zod.toJSONSchema?.();if(s)a.schema=s;else{const o={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,a.schema,o);else{const n=a.schema,i=t.processors[r.type];if(!i)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${r.type}`);i(e,t,n,o)}const i=e._zod.parent;i&&(a.ref||(a.ref=i),Dn(i,t,o),t.seen.get(i).isParent=!0)}const u=t.metadataRegistry.get(e);return u&&Object.assign(a.schema,u),"input"===t.io&&Mn(e)&&(delete a.schema.examples,delete a.schema.default),"input"===t.io&&"_prefault"in a.schema&&((o=a.schema).default??(o.default=a.schema._prefault)),delete a.schema._prefault,t.seen.get(e).schema}function Ln(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=/* @__PURE__ */new Map;for(const i of e.seen.entries()){const t=e.metadataRegistry.get(i[0])?.id;if(t){const e=o.get(t);if(e&&e!==i[0])throw new Error(`Duplicate schema id "${t}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);o.set(t,i[0])}}const r=t=>{if(t[1].schema.$ref)return;const o=t[1],{ref:r,defId:i}=(t=>{const o="draft-2020-12"===e.target?"$defs":"definitions";if(e.external){const n=e.external.registry.get(t[0])?.id,r=e.external.uri??(e=>e);if(n)return{ref:r(n)};const i=t[1].defId??t[1].schema.id??"schema"+e.counter++;return t[1].defId=i,{defId:i,ref:`${r("__shared")}#/${o}/${i}`}}if(t[1]===n)return{ref:"#"};const r=`#/${o}/`,i=t[1].schema.id??"__schema"+e.counter++;return{defId:i,ref:r+i}})(t);o.def={...o.schema},i&&(o.defId=i);const a=o.schema;for(const e in a)delete a[e];a.$ref=r};if("throw"===e.cycles)for(const i of e.seen.entries()){const e=i[1];if(e.cycle)throw new Error(`Cycle detected: #/${e.cycle?.join("/")}/<root>\n\nSet the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const i of e.seen.entries()){const n=i[1];if(t!==i[0]){if(e.external){const n=e.external.registry.get(i[0])?.id;if(t!==i[0]&&n){r(i);continue}}(e.metadataRegistry.get(i[0])?.id||n.cycle||n.count>1&&"ref"===e.reused)&&r(i)}else r(i)}}function Zn(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=t=>{const n=e.seen.get(t);if(null===n.ref)return;const r=n.def??n.schema,i={...r},a=n.ref;if(n.ref=null,a){o(a);const n=e.seen.get(a),s=n.schema;if(!s.$ref||"draft-07"!==e.target&&"draft-04"!==e.target&&"openapi-3.0"!==e.target?Object.assign(r,s):(r.allOf=r.allOf??[],r.allOf.push(s)),Object.assign(r,i),t._zod.parent===a)for(const e in r)"$ref"!==e&&"allOf"!==e&&(e in i||delete r[e]);if(s.$ref&&n.def)for(const e in r)"$ref"!==e&&"allOf"!==e&&e in n.def&&JSON.stringify(r[e])===JSON.stringify(n.def[e])&&delete r[e]}const s=t._zod.parent;if(s&&s!==a){o(s);const t=e.seen.get(s);if(t?.schema.$ref&&(r.$ref=t.schema.$ref,t.def))for(const e in r)"$ref"!==e&&"allOf"!==e&&e in t.def&&JSON.stringify(r[e])===JSON.stringify(t.def[e])&&delete r[e]}e.override({zodSchema:t,jsonSchema:r,path:n.path??[]})};for(const u of[...e.seen.entries()].reverse())o(u[0]);const r={};if("draft-2020-12"===e.target?r.$schema="https://json-schema.org/draft/2020-12/schema":"draft-07"===e.target?r.$schema="http://json-schema.org/draft-07/schema#":"draft-04"===e.target?r.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const n=e.external.registry.get(t)?.id;if(!n)throw new Error("Schema is missing an `id` property");r.$id=e.external.uri(n)}Object.assign(r,n.def??n.schema);const i=e.metadataRegistry.get(t)?.id;void 0!==i&&r.id===i&&delete r.id;const a=e.external?.defs??{};for(const u of e.seen.entries()){const e=u[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,a[e.defId]=e.def)}e.external||Object.keys(a).length>0&&("draft-2020-12"===e.target?r.$defs=a:r.definitions=a);try{const n=JSON.parse(JSON.stringify(r));return Object.defineProperty(n,"~standard",{value:{...t["~standard"],jsonSchema:{input:Fn(t,"input",e.processors),output:Fn(t,"output",e.processors)}},enumerable:!1,writable:!1}),n}catch(s){throw new Error("Error converting schema to JSON.")}}function Mn(e,t){const n=t??{seen:/* @__PURE__ */new Set};if(n.seen.has(e))return!1;n.seen.add(e);const o=e._zod.def;if("transform"===o.type)return!0;if("array"===o.type)return Mn(o.element,n);if("set"===o.type)return Mn(o.valueType,n);if("lazy"===o.type)return Mn(o.getter(),n);if("promise"===o.type||"optional"===o.type||"nonoptional"===o.type||"nullable"===o.type||"readonly"===o.type||"default"===o.type||"prefault"===o.type)return Mn(o.innerType,n);if("intersection"===o.type)return Mn(o.left,n)||Mn(o.right,n);if("record"===o.type||"map"===o.type)return Mn(o.keyType,n)||Mn(o.valueType,n);if("pipe"===o.type)return!!e._zod.traits.has("$ZodCodec")||(Mn(o.in,n)||Mn(o.out,n));if("object"===o.type){for(const e in o.shape)if(Mn(o.shape[e],n))return!0;return!1}if("union"===o.type){for(const e of o.options)if(Mn(e,n))return!0;return!1}if("tuple"===o.type){for(const e of o.items)if(Mn(e,n))return!0;return!(!o.rest||!Mn(o.rest,n))}return!1}var Fn=(e,t,n={})=>o=>{const{libraryOptions:r,target:i}=o??{},a=jn({...r??{},target:i,io:t,processors:n});return Dn(e,a),Ln(a,e),Zn(a,e)},Bn={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Yn=(e,t,n,o)=>{const r=e._zod.def;Dn(r.innerType,t,o);t.seen.get(e).ref=r.innerType},Jn=/*@__PURE__*/O("ZodISODateTime",(e,t)=>{Ot.init(e,t),wo.init(e,t)});function Wn(e){return function(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...W(t)})}(Jn,e)}var Gn=/*@__PURE__*/O("ZodISODate",(e,t)=>{zt.init(e,t),wo.init(e,t)});function Hn(e){return function(e,t){return new e({type:"string",format:"date",check:"string_format",...W(t)})}(Gn,e)}var Vn=/*@__PURE__*/O("ZodISOTime",(e,t)=>{xt.init(e,t),wo.init(e,t)});function Kn(e){return function(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...W(t)})}(Vn,e)}var Xn=/*@__PURE__*/O("ZodISODuration",(e,t)=>{Tt.init(e,t),wo.init(e,t)});function Qn(e){return function(e,t){return new e({type:"string",format:"duration",check:"string_format",...W(t)})}(Xn,e)}var eo=(e,t)=>{oe.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:t=>function(e,t=e=>e.message){const n={_errors:[]},o=(e,r=[])=>{for(const i of e.issues)if("invalid_union"===i.code&&i.errors.length)i.errors.map(e=>o({issues:e},[...r,...i.path]));else if("invalid_key"===i.code)o({issues:i.issues},[...r,...i.path]);else if("invalid_element"===i.code)o({issues:i.issues},[...r,...i.path]);else{const e=[...r,...i.path];if(0===e.length)n._errors.push(t(i));else{let o=n,r=0;for(;r<e.length;){const n=e[r];r!==e.length-1?o[n]=o[n]||{_errors:[]}:(o[n]=o[n]||{_errors:[]},o[n]._errors.push(t(i))),o=o[n],r++}}}};return o(e),n}(e,t)},flatten:{value:t=>function(e,t=e=>e.message){const n={},o=[];for(const r of e.issues)r.path.length>0?(n[r.path[0]]=n[r.path[0]]||[],n[r.path[0]].push(t(r))):o.push(t(r));return{formErrors:o,fieldErrors:n}}(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,I,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,I,2)}},isEmpty:{get:()=>0===e.issues.length}})},to=/*@__PURE__*/O("ZodError",eo,{Parent:Error}),no=/* @__PURE__ */ie(to),oo=/* @__PURE__ */ae(to),ro=/* @__PURE__ */se(to),io=/* @__PURE__ */le(to),ao=/* @__PURE__ */de(to),so=/* @__PURE__ */pe(to),uo=/* @__PURE__ */fe(to),lo=/* @__PURE__ */me(to),co=/* @__PURE__ */_e(to),po=/* @__PURE__ */he(to),fo=/* @__PURE__ */ye(to),mo=/* @__PURE__ */ge(to),_o=/* @__PURE__ */new WeakMap;function ho(e,t,n){const o=Object.getPrototypeOf(e);let r=_o.get(o);if(r||(r=/* @__PURE__ */new Set,_o.set(o,r)),!r.has(t)){r.add(t);for(const e in n){const t=n[e];Object.defineProperty(o,e,{configurable:!0,enumerable:!1,get(){const n=t.bind(this);return Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:n}),n},set(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:t})}})}}}var yo=/*@__PURE__*/O("ZodType",(e,t)=>(ct.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Fn(e,"input"),output:Fn(e,"output")}}),e.toJSONSchema=((e,t={})=>n=>{const o=jn({...n,processors:t});return Dn(e,o),Ln(o,e),Zn(o,e)})(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(t,n)=>no(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>ro(e,t,n),e.parseAsync=async(t,n)=>oo(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>io(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>ao(e,t,n),e.decode=(t,n)=>so(e,t,n),e.encodeAsync=async(t,n)=>uo(e,t,n),e.decodeAsync=async(t,n)=>lo(e,t,n),e.safeEncode=(t,n)=>co(e,t,n),e.safeDecode=(t,n)=>po(e,t,n),e.safeEncodeAsync=async(t,n)=>fo(e,t,n),e.safeDecodeAsync=async(t,n)=>mo(e,t,n),ho(e,"ZodType",{check(...e){const t=this.def;return this.clone(q(t,{checks:[...t.checks??[],...e.map(e=>"function"==typeof e?{_zod:{check:e,def:{check:"custom"},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return J(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(function(e,t={}){return function(e,t,n){return new e({type:"custom",check:"custom",fn:t,...W(n)})}(xr,e,t)}(e,t))},superRefine(e,t){return this.check(function(e,t){return function(e,t){const n=/* @__PURE__ */qn(t=>(t.addIssue=e=>{if("string"==typeof e)t.issues.push(te(e,t.value,n._zod.def));else{const o=e;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=t.value),o.inst??(o.inst=n),o.continue??(o.continue=!n._zod.def.abort),t.issues.push(te(o))}},e(t.value,t)),t);return n}(e,t)}(e,t))},overwrite(e){return this.check(Un(e))},optional(){return _r(this)},exactOptional(){return new hr({type:"optional",innerType:this})},nullable(){return gr(this)},nullish(){return _r(gr(this))},nonoptional(e){return function(e,t){return new wr({type:"nonoptional",innerType:e,...W(t)})}(this,e)},array(){return Qo(this)},or(e){return or([this,e])},and(e){return new ar({type:"intersection",left:this,right:e})},transform(e){return Or(this,new fr({type:"transform",transform:e}))},default(e){return t=e,new br({type:"default",innerType:this,get defaultValue(){return"function"==typeof t?t():F(t)}});var t},prefault(e){return t=e,new vr({type:"prefault",innerType:this,get defaultValue(){return"function"==typeof t?t():F(t)}});var t},catch(e){return new Sr({type:"catch",innerType:this,catchValue:"function"==typeof(t=e)?t:()=>t});var t},pipe(e){return Or(this,e)},readonly(){return new zr({type:"readonly",innerType:this})},describe(e){const t=this.clone();return On.add(t,{description:e}),t},meta(...e){if(0===e.length)return On.get(this);const t=this.clone();return On.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e){return e(this)}}),Object.defineProperty(e,"description",{get:()=>On.get(e)?.description,configurable:!0}),e)),go=/*@__PURE__*/O("_ZodString",(e,t)=>{dt.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n)=>{const o=n;o.type="string";const{minimum:r,maximum:i,format:a,patterns:s,contentEncoding:u}=e._zod.bag;if("number"==typeof r&&(o.minLength=r),"number"==typeof i&&(o.maxLength=i),a&&(o.format=Bn[a]??a,""===o.format&&delete o.format,"time"===a&&delete o.format),u&&(o.contentEncoding=u),s&&s.size>0){const e=[...s];1===e.length?o.pattern=e[0].source:e.length>1&&(o.allOf=[...e.map(e=>({..."draft-07"===t.target||"draft-04"===t.target||"openapi-3.0"===t.target?{type:"string"}:{},pattern:e.source}))])}})(e,t,n);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,ho(e,"_ZodString",{regex(...e){return this.check(function(e,t){return new tt({check:"string_format",format:"regex",...W(t),pattern:e})}(...e))},includes(...e){return this.check(function(e,t){return new rt({check:"string_format",format:"includes",...W(t),includes:e})}(...e))},startsWith(...e){return this.check(function(e,t){return new it({check:"string_format",format:"starts_with",...W(t),prefix:e})}(...e))},endsWith(...e){return this.check(function(e,t){return new at({check:"string_format",format:"ends_with",...W(t),suffix:e})}(...e))},min(...e){return this.check(Cn(...e))},max(...e){return this.check(Nn(...e))},length(...e){return this.check(Rn(...e))},nonempty(...e){return this.check(Cn(1,...e))},lowercase(e){return this.check(function(e){return new nt({check:"string_format",format:"lowercase",...W(e)})}(e))},uppercase(e){return this.check(function(e){return new ot({check:"string_format",format:"uppercase",...W(e)})}(e))},trim(){return this.check(/* @__PURE__ */Un(e=>e.trim()))},normalize(...e){return this.check(function(e){/* @__PURE__ */
2
+ return Un(t=>t.normalize(e))}(...e))},toLowerCase(){return this.check(/* @__PURE__ */Un(e=>e.toLowerCase()))},toUpperCase(){return this.check(/* @__PURE__ */Un(e=>e.toUpperCase()))},slugify(){return this.check(/* @__PURE__ */Un(e=>function(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}(e)))}})}),bo=/*@__PURE__*/O("ZodString",(e,t)=>{dt.init(e,t),go.init(e,t),e.email=t=>e.check(zn(So,t)),e.url=t=>e.check(Tn(xo,t)),e.jwt=t=>e.check(function(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...W(t)})}(Zo,t)),e.emoji=t=>e.check(function(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...W(t)})}(To,t)),e.guid=t=>e.check(xn(Oo,t)),e.uuid=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...W(t)})}(zo,t)),e.uuidv4=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...W(t)})}(zo,t)),e.uuidv6=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...W(t)})}(zo,t)),e.uuidv7=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...W(t)})}(zo,t)),e.nanoid=t=>e.check(function(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...W(t)})}(Eo,t)),e.guid=t=>e.check(xn(Oo,t)),e.cuid=t=>e.check(function(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...W(t)})}(Ao,t)),e.cuid2=t=>e.check(function(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...W(t)})}(Io,t)),e.ulid=t=>e.check(function(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...W(t)})}($o,t)),e.base64=t=>e.check(function(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...W(t)})}(jo,t)),e.base64url=t=>e.check(function(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...W(t)})}(Do,t)),e.xid=t=>e.check(function(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...W(t)})}(Po,t)),e.ksuid=t=>e.check(function(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...W(t)})}(No,t)),e.ipv4=t=>e.check(function(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...W(t)})}(Co,t)),e.ipv6=t=>e.check(function(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...W(t)})}(Ro,t)),e.cidrv4=t=>e.check(function(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...W(t)})}(Uo,t)),e.cidrv6=t=>e.check(function(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...W(t)})}(qo,t)),e.e164=t=>e.check(function(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...W(t)})}(Lo,t)),e.datetime=t=>e.check(Wn(t)),e.date=t=>e.check(Hn(t)),e.time=t=>e.check(Kn(t)),e.duration=t=>e.check(Qn(t))});function vo(e){return function(e,t){return new e({type:"string",...W(t)})}(bo,e)}var wo=/*@__PURE__*/O("ZodStringFormat",(e,t)=>{pt.init(e,t),go.init(e,t)}),So=/*@__PURE__*/O("ZodEmail",(e,t)=>{_t.init(e,t),wo.init(e,t)});function ko(e){return zn(So,e)}var Oo=/*@__PURE__*/O("ZodGUID",(e,t)=>{ft.init(e,t),wo.init(e,t)}),zo=/*@__PURE__*/O("ZodUUID",(e,t)=>{mt.init(e,t),wo.init(e,t)}),xo=/*@__PURE__*/O("ZodURL",(e,t)=>{ht.init(e,t),wo.init(e,t)});var To=/*@__PURE__*/O("ZodEmoji",(e,t)=>{yt.init(e,t),wo.init(e,t)}),Eo=/*@__PURE__*/O("ZodNanoID",(e,t)=>{gt.init(e,t),wo.init(e,t)}),Ao=/*@__PURE__*/O("ZodCUID",(e,t)=>{bt.init(e,t),wo.init(e,t)}),Io=/*@__PURE__*/O("ZodCUID2",(e,t)=>{vt.init(e,t),wo.init(e,t)}),$o=/*@__PURE__*/O("ZodULID",(e,t)=>{wt.init(e,t),wo.init(e,t)}),Po=/*@__PURE__*/O("ZodXID",(e,t)=>{St.init(e,t),wo.init(e,t)}),No=/*@__PURE__*/O("ZodKSUID",(e,t)=>{kt.init(e,t),wo.init(e,t)}),Co=/*@__PURE__*/O("ZodIPv4",(e,t)=>{Et.init(e,t),wo.init(e,t)}),Ro=/*@__PURE__*/O("ZodIPv6",(e,t)=>{At.init(e,t),wo.init(e,t)}),Uo=/*@__PURE__*/O("ZodCIDRv4",(e,t)=>{It.init(e,t),wo.init(e,t)}),qo=/*@__PURE__*/O("ZodCIDRv6",(e,t)=>{$t.init(e,t),wo.init(e,t)}),jo=/*@__PURE__*/O("ZodBase64",(e,t)=>{Nt.init(e,t),wo.init(e,t)}),Do=/*@__PURE__*/O("ZodBase64URL",(e,t)=>{Ct.init(e,t),wo.init(e,t)}),Lo=/*@__PURE__*/O("ZodE164",(e,t)=>{Rt.init(e,t),wo.init(e,t)}),Zo=/*@__PURE__*/O("ZodJWT",(e,t)=>{Ut.init(e,t),wo.init(e,t)}),Mo=/*@__PURE__*/O("ZodNumber",(e,t)=>{qt.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n)=>{const o=n,{minimum:r,maximum:i,format:a,multipleOf:s,exclusiveMaximum:u,exclusiveMinimum:l}=e._zod.bag;"string"==typeof a&&a.includes("int")?o.type="integer":o.type="number";const c="number"==typeof l&&l>=(r??Number.NEGATIVE_INFINITY),d="number"==typeof u&&u<=(i??Number.POSITIVE_INFINITY),p="draft-04"===t.target||"openapi-3.0"===t.target;c?p?(o.minimum=l,o.exclusiveMinimum=!0):o.exclusiveMinimum=l:"number"==typeof r&&(o.minimum=r),d?p?(o.maximum=u,o.exclusiveMaximum=!0):o.exclusiveMaximum=u:"number"==typeof i&&(o.maximum=i),"number"==typeof s&&(o.multipleOf=s)})(e,t,n),ho(e,"ZodNumber",{gt(e,t){return this.check(In(e,t))},gte(e,t){return this.check($n(e,t))},min(e,t){return this.check($n(e,t))},lt(e,t){return this.check(En(e,t))},lte(e,t){return this.check(An(e,t))},max(e,t){return this.check(An(e,t))},int(e){return this.check(Yo(e))},safe(e){return this.check(Yo(e))},positive(e){return this.check(In(0,e))},nonnegative(e){return this.check($n(0,e))},negative(e){return this.check(En(0,e))},nonpositive(e){return this.check(An(0,e))},multipleOf(e,t){return this.check(Pn(e,t))},step(e,t){return this.check(Pn(e,t))},finite(){return this}});const n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function Fo(e){return function(e,t){return new e({type:"number",checks:[],...W(t)})}(Mo,e)}var Bo=/*@__PURE__*/O("ZodNumberFormat",(e,t)=>{jt.init(e,t),Mo.init(e,t)});function Yo(e){return function(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...W(t)})}(Bo,e)}var Jo=/*@__PURE__*/O("ZodBoolean",(e,t)=>{Dt.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t,n)=>{n.type="boolean"})(0,0,t)});function Wo(e){return function(e,t){return new e({type:"boolean",...W(t)})}(Jo,e)}var Go=/*@__PURE__*/O("ZodUnknown",(e,t)=>{Lt.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(e,t,n)=>{}});function Ho(){return new Go({type:"unknown"})}var Vo=/*@__PURE__*/O("ZodNever",(e,t)=>{Zt.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t,n)=>{n.not={}})(0,0,t)});function Ko(e){return function(e,t){return new e({type:"never",...W(t)})}(Vo,e)}var Xo=/*@__PURE__*/O("ZodArray",(e,t)=>{Ft.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=n,i=e._zod.def,{minimum:a,maximum:s}=e._zod.bag;"number"==typeof a&&(r.minItems=a),"number"==typeof s&&(r.maxItems=s),r.type="array",r.items=Dn(i.element,t,{...o,path:[...o.path,"items"]})})(e,t,n,o),e.element=t.element,ho(e,"ZodArray",{min(e,t){return this.check(Cn(e,t))},nonempty(e){return this.check(Cn(1,e))},max(e,t){return this.check(Nn(e,t))},length(e,t){return this.check(Rn(e,t))},unwrap(){return this.element}})});function Qo(e,t){return function(e,t,n){return new e({type:"array",element:t,...W(n)})}(Xo,e,t)}var er=/*@__PURE__*/O("ZodObject",(e,t)=>{Gt.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=n,i=e._zod.def;r.type="object",r.properties={};const a=i.shape;for(const l in a)r.properties[l]=Dn(a[l],t,{...o,path:[...o.path,"properties",l]});const s=new Set(Object.keys(a)),u=new Set([...s].filter(e=>{const n=i.shape[e]._zod;return"input"===t.io?void 0===n.optin:void 0===n.optout}));u.size>0&&(r.required=Array.from(u)),"never"===i.catchall?._zod.def.type?r.additionalProperties=!1:i.catchall?i.catchall&&(r.additionalProperties=Dn(i.catchall,t,{...o,path:[...o.path,"additionalProperties"]})):"output"===t.io&&(r.additionalProperties=!1)})(e,t,n,o),R(e,"shape",()=>t.shape),ho(e,"ZodObject",{keyof(){return cr(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:Ho()})},loose(){return this.clone({...this._zod.def,catchall:Ho()})},strict(){return this.clone({...this._zod.def,catchall:Ko()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return function(e,t){if(!M(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0){const n=e._zod.def.shape;for(const e in t)if(void 0!==Object.getOwnPropertyDescriptor(n,e))throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return J(e,q(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return U(this,"shape",n),n}}))}(this,e)},safeExtend(e){return function(e,t){if(!M(t))throw new Error("Invalid input to safeExtend: expected a plain object");return J(e,q(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return U(this,"shape",n),n}}))}(this,e)},merge(e){return function(e,t){if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");return J(e,q(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t._zod.def.shape};return U(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}(this,e)},pick(e){return function(e,t){const n=e._zod.def,o=n.checks;if(o&&o.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");return J(e,q(e._zod.def,{get shape(){const e={};for(const o in t){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&(e[o]=n.shape[o])}return U(this,"shape",e),e},checks:[]}))}(this,e)},omit(e){return function(e,t){const n=e._zod.def,o=n.checks;if(o&&o.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");return J(e,q(e._zod.def,{get shape(){const o={...e._zod.def.shape};for(const e in t){if(!(e in n.shape))throw new Error(`Unrecognized key: "${e}"`);t[e]&&delete o[e]}return U(this,"shape",o),o},checks:[]}))}(this,e)},partial(...e){return function(e,t,n){const o=t._zod.def.checks;if(o&&o.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");return J(t,q(t._zod.def,{get shape(){const o=t._zod.def.shape,r={...o};if(n)for(const t in n){if(!(t in o))throw new Error(`Unrecognized key: "${t}"`);n[t]&&(r[t]=e?new e({type:"optional",innerType:o[t]}):o[t])}else for(const t in o)r[t]=e?new e({type:"optional",innerType:o[t]}):o[t];return U(this,"shape",r),r},checks:[]}))}(mr,this,e[0])},required(...e){return t=wr,n=this,o=e[0],J(n,q(n._zod.def,{get shape(){const e=n._zod.def.shape,r={...e};if(o)for(const n in o){if(!(n in r))throw new Error(`Unrecognized key: "${n}"`);o[n]&&(r[n]=new t({type:"nonoptional",innerType:e[n]}))}else for(const n in e)r[n]=new t({type:"nonoptional",innerType:e[n]});return U(this,"shape",r),r}}));var t,n,o}})});function tr(e,t){const n={type:"object",shape:e??{},...W(t)};return new er(n)}var nr=/*@__PURE__*/O("ZodUnion",(e,t)=>{Vt.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def,i=!1===r.inclusive,a=r.options.map((e,n)=>Dn(e,t,{...o,path:[...o.path,i?"oneOf":"anyOf",n]}));i?n.oneOf=a:n.anyOf=a})(e,t,n,o),e.options=t.options});function or(e,t){return new nr({type:"union",options:e,...W(t)})}var rr=/*@__PURE__*/O("ZodDiscriminatedUnion",(e,t)=>{nr.init(e,t),Kt.init(e,t)});function ir(e,t,n){return new rr({type:"union",options:t,discriminator:e,...W(n)})}var ar=/*@__PURE__*/O("ZodIntersection",(e,t)=>{Xt.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def,i=Dn(r.left,t,{...o,path:[...o.path,"allOf",0]}),a=Dn(r.right,t,{...o,path:[...o.path,"allOf",1]}),s=e=>"allOf"in e&&1===Object.keys(e).length;n.allOf=[...s(i)?i.allOf:[i],...s(a)?a.allOf:[a]]})(e,t,n,o)});var sr=/*@__PURE__*/O("ZodRecord",(e,t)=>{tn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=n,i=e._zod.def;r.type="object";const a=i.keyType,s=a._zod.bag?.patterns;if("loose"===i.mode&&s&&s.size>0){const e=Dn(i.valueType,t,{...o,path:[...o.path,"patternProperties","*"]});r.patternProperties={};for(const t of s)r.patternProperties[t.source]=e}else"draft-07"!==t.target&&"draft-2020-12"!==t.target||(r.propertyNames=Dn(i.keyType,t,{...o,path:[...o.path,"propertyNames"]})),r.additionalProperties=Dn(i.valueType,t,{...o,path:[...o.path,"additionalProperties"]});const u=a._zod.values;if(u){const e=[...u].filter(e=>"string"==typeof e||"number"==typeof e);e.length>0&&(r.required=e)}})(e,t,n,o),e.keyType=t.keyType,e.valueType=t.valueType});function ur(e,t,n){return t&&t._zod?new sr({type:"record",keyType:e,valueType:t,...W(n)}):new sr({type:"record",keyType:vo(),valueType:e,...W(t)})}var lr=/*@__PURE__*/O("ZodEnum",(e,t)=>{nn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n)=>{const o=A(e._zod.def.entries);o.every(e=>"number"==typeof e)&&(n.type="number"),o.every(e=>"string"==typeof e)&&(n.type="string"),n.enum=o})(e,0,n),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(e,o)=>{const r={};for(const i of e){if(!n.has(i))throw new Error(`Key ${i} not found in enum`);r[i]=t.entries[i]}return new lr({...t,checks:[],...W(o),entries:r})},e.exclude=(e,o)=>{const r={...t.entries};for(const t of e){if(!n.has(t))throw new Error(`Key ${t} not found in enum`);delete r[t]}return new lr({...t,checks:[],...W(o),entries:r})}});function cr(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new lr({type:"enum",entries:n,...W(t)})}var dr=/*@__PURE__*/O("ZodLiteral",(e,t)=>{on.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n)=>{const o=e._zod.def,r=[];for(const i of o.values)if(void 0===i){if("throw"===t.unrepresentable)throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if("bigint"==typeof i){if("throw"===t.unrepresentable)throw new Error("BigInt literals cannot be represented in JSON Schema");r.push(Number(i))}else r.push(i);if(0===r.length);else if(1===r.length){const e=r[0];n.type=null===e?"null":typeof e,"draft-04"===t.target||"openapi-3.0"===t.target?n.enum=[e]:n.const=e}else r.every(e=>"number"==typeof e)&&(n.type="number"),r.every(e=>"string"==typeof e)&&(n.type="string"),r.every(e=>"boolean"==typeof e)&&(n.type="boolean"),r.every(e=>null===e)&&(n.type="null"),n.enum=r})(e,t,n),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function pr(e,t){return new dr({type:"literal",values:Array.isArray(e)?e:[e],...W(t)})}var fr=/*@__PURE__*/O("ZodTransform",(e,t)=>{rn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t)=>{if("throw"===t.unrepresentable)throw new Error("Transforms cannot be represented in JSON Schema")})(0,e),e._zod.parse=(n,o)=>{if("backward"===o.direction)throw new x(e.constructor.name);n.addIssue=o=>{if("string"==typeof o)n.issues.push(te(o,n.value,t));else{const t=o;t.fatal&&(t.continue=!1),t.code??(t.code="custom"),t.input??(t.input=n.value),t.inst??(t.inst=e),n.issues.push(te(t))}};const r=t.transform(n.value,n);return r instanceof Promise?r.then(e=>(n.value=e,n.fallback=!0,n)):(n.value=r,n.fallback=!0,n)}});var mr=/*@__PURE__*/O("ZodOptional",(e,t)=>{sn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>Yn(e,t,0,o),e.unwrap=()=>e._zod.def.innerType});function _r(e){return new mr({type:"optional",innerType:e})}var hr=/*@__PURE__*/O("ZodExactOptional",(e,t)=>{un.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>Yn(e,t,0,o),e.unwrap=()=>e._zod.def.innerType});var yr=/*@__PURE__*/O("ZodNullable",(e,t)=>{ln.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def,i=Dn(r.innerType,t,o),a=t.seen.get(e);"openapi-3.0"===t.target?(a.ref=r.innerType,n.nullable=!0):n.anyOf=[i,{type:"null"}]})(e,t,n,o),e.unwrap=()=>e._zod.def.innerType});function gr(e){return new yr({type:"nullable",innerType:e})}var br=/*@__PURE__*/O("ZodDefault",(e,t)=>{cn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def;Dn(r.innerType,t,o),t.seen.get(e).ref=r.innerType,n.default=JSON.parse(JSON.stringify(r.defaultValue))})(e,t,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});var vr=/*@__PURE__*/O("ZodPrefault",(e,t)=>{pn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def;Dn(r.innerType,t,o),t.seen.get(e).ref=r.innerType,"input"===t.io&&(n._prefault=JSON.parse(JSON.stringify(r.defaultValue)))})(e,t,n,o),e.unwrap=()=>e._zod.def.innerType});var wr=/*@__PURE__*/O("ZodNonOptional",(e,t)=>{fn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def;Dn(r.innerType,t,o),t.seen.get(e).ref=r.innerType})(e,t,0,o),e.unwrap=()=>e._zod.def.innerType});var Sr=/*@__PURE__*/O("ZodCatch",(e,t)=>{_n.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def;let i;Dn(r.innerType,t,o),t.seen.get(e).ref=r.innerType;try{i=r.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=i})(e,t,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});var kr=/*@__PURE__*/O("ZodPipe",(e,t)=>{hn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def,i=r.in._zod.traits.has("$ZodTransform"),a="input"===t.io?i?r.out:r.in:r.out;Dn(a,t,o),t.seen.get(e).ref=a})(e,t,0,o),e.in=t.in,e.out=t.out});function Or(e,t){return new kr({type:"pipe",in:e,out:t})}var zr=/*@__PURE__*/O("ZodReadonly",(e,t)=>{gn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def;Dn(r.innerType,t,o),t.seen.get(e).ref=r.innerType,n.readOnly=!0})(e,t,n,o),e.unwrap=()=>e._zod.def.innerType});var xr=/*@__PURE__*/O("ZodCustom",(e,t)=>{wn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t)=>{if("throw"===t.unrepresentable)throw new Error("Custom types cannot be represented in JSON Schema")})(0,e)});var Tr,Er=cr(["CONSENT","SOFT_OPT_IN","TRANSACTIONAL_ONLY","UNKNOWN"]),Ar=cr(["MANUAL_UNSUB","ONE_CLICK_UNSUB","HARD_BOUNCE","COMPLAINT","ADMIN_BLOCK"]),Ir=cr(["BROADCAST","AUTOMATION"]),$r=cr(["ABANDONED_CART","POST_PURCHASE","WELCOME","WIN_BACK","RE_ENGAGEMENT","TAG_ADDED"]),Pr=(tr({email:ko(),name:vo().trim().min(1).nullable().optional(),customer_id:vo().uuid().nullable().optional(),tags:Qo(vo().trim().min(1)).default([]),consent_basis:Er.default("UNKNOWN"),source:vo().trim().min(1).default("dashboard")}),tr({name:vo().trim().min(1),subject:vo().trim().min(1),preheader:vo().nullable().optional(),mjml_source:vo().trim().min(1),builder_project_json:ur(vo(),Ho()).nullable().optional(),thumbnail_url:Tn(xo,Tr).nullable().optional()}),tr({mjml_source:vo().trim().min(1),sample_variables:ur(vo(),Ho()).optional()}),tr({recipient_email:ko(),sample_variables:ur(vo(),Ho()).optional()}),tr({marketing_enabled:Wo().optional(),default_from_name:vo().trim().min(1).nullable().optional(),default_from_email:ko().nullable().optional(),default_reply_to_email:ko().nullable().optional(),physical_address:vo().trim().min(1).nullable().optional(),physical_address_line2:vo().trim().min(1).nullable().optional(),physical_city:vo().trim().min(1).nullable().optional(),physical_postal_code:vo().trim().min(1).nullable().optional(),physical_country:vo().trim().length(2).nullable().optional(),daily_limit:Fo().int().positive().optional(),monthly_soft_cap:Fo().int().positive().optional()}),tr({type:Ir.default("BROADCAST"),name:vo().trim().min(1),subject:vo().trim().min(1),template_id:vo().uuid(),list_id:vo().uuid().nullable().optional(),segment_id:vo().uuid().nullable().optional(),from_name:vo().trim().min(1),from_email:ko(),reply_to_email:ko().nullable().optional(),schedule_at:vo().datetime().nullable().optional(),target_emails:Qo(ko()).max(0,"Direct recipient entry is disabled. Use lists or segments built from Shoppex customers and paid order buyers.").default([]),idempotency_key:vo().trim().min(1).nullable().optional()}),tr({name:vo().trim().min(1),subject:vo().trim().min(1),template_id:vo().uuid(),from_name:vo().trim().min(1),from_email:ko(),reply_to_email:ko().nullable().optional(),trigger:$r,delay_seconds:Fo().int().min(0).default(0),conditions:ur(vo(),Ho()).default({})}),tr({trigger:$r,email:ko(),customer_id:vo().uuid().nullable().optional(),name:vo().trim().min(1).nullable().optional(),consent_basis:Er.default("UNKNOWN"),variables:ur(vo(),Ho()).default({}),idempotency_key:vo().trim().min(1).nullable().optional()}),tr({email:ko(),reason:Ar.default("ADMIN_BLOCK"),notes:vo().nullable().optional()}),["BITCOIN","LITECOIN","ETHEREUM","BITCOIN_CASH","MONERO","RIPPLE","TRON","SOLANA","POLYGON","BINANCE_COIN","CRONOS","CONCORDIUM","NANO","DOGECOIN","DASH"]),Nr=["NOWPAYMENTS","CRYPTOMUS","OXAPAY"],Cr=["NOWPAYMENTS_WHITELABEL"],Rr={USDT:["USDT_TRC20","USDT_ERC20","USDT_BEP20","USDT_POLYGON","USDT_SOL"],USDC:["USDC_ERC20","USDC_TRC20","USDC_BEP20","USDC_POLYGON","USDC_SOL"],DAI:["DAI_ERC20"]},Ur=Object.keys(Rr),qr=[...Rr.USDT,...Rr.USDC,...Rr.DAI],jr=[...Pr,...qr],Dr=["BITCOIN_LN"],Lr=[...Nr,...Cr],Zr=[...jr,...Dr],Mr=jr,Fr=(new Set(["SHOPPEXPAY"]),new Set(Pr)),Br=new Set(qr),Yr=(new Set(jr),new Set(Dr),new Set(Nr),new Set(Cr),new Set(Lr),new Set(Zr),new Set(Ur),new Set(["STRIPE","PAYPAL","PAYPAL_FF","MOLLIE","AUTHORIZENET","NMI","SQUARE","SUMUP","SHOPIFY","SUBY","PANDABASE","STORRIK","DEBLOMASSI","SHOPPEXPAY","MONEYMOTION","OVGC","WHOP","DODO","MAVERICK","CASHAPP","VENMO","CRYPTO","CUSTOMER_BALANCE","MANUAL"]),{CASHAPP:"CASH_APP",PAYPAL_CREDIT_CARD:"PAYPAL",EUTHEREUM:"ETHEREUM",USDT_MATIC:"USDT_POLYGON",USDC_MATIC:"USDC_POLYGON"});function Jr(e,t){if(new Set(t).size!==t.length)throw new Error(`${e} contains duplicate entries`)}Jr("COIN_GATEWAY_KEYS",Pr),Jr("TOKEN_GATEWAY_KEYS",qr),Jr("CRYPTO_GATEWAY_KEYS",jr),Jr("LEGACY_CRYPTO_GATEWAY_KEYS",Dr),Jr("CRYPTO_PROVIDER_KEYS",Nr),Jr("MANAGED_CRYPTO_PROVIDER_KEYS",Cr),Jr("CRYPTO_PROVIDER_GATEWAY_KEYS",Lr),Jr("DEFAULT_NOWPAYMENTS_CRYPTO_GATEWAY_KEYS",Mr),Jr("DEFAULT_CRYPTOMUS_CRYPTO_GATEWAY_KEYS",["BITCOIN","LITECOIN","ETHEREUM","TRON","SOLANA","POLYGON","BINANCE_COIN","BITCOIN_CASH","MONERO","RIPPLE","DOGECOIN","USDT_TRC20","USDT_ERC20","USDT_BEP20","USDT_POLYGON","USDT_SOL","USDC_ERC20","USDC_BEP20","USDC_POLYGON","DAI_ERC20"]),Jr("DEFAULT_OXAPAY_CRYPTO_GATEWAY_KEYS",["BITCOIN","LITECOIN","ETHEREUM","TRON","SOLANA","POLYGON","BINANCE_COIN","BITCOIN_CASH","MONERO","RIPPLE","DOGECOIN","USDT_TRC20","USDT_ERC20","USDT_BEP20","USDT_POLYGON","USDC_ERC20"]);for(const ac of jr)if(!Fr.has(ac)&&!Br.has(ac))throw new Error(`CRYPTO_GATEWAY_KEYS contains an unclassified gateway: ${ac}`);new Set(["STRIPE","PAYPAL","PAYPAL_FF","SKRILL","CASHAPP","CASH_APP","PERFECT_MONEY","SQUARE","SUMUP","SHOPIFY","SUBY","PANDABASE","STORRIK","DEBLOMASSI","SHOPPEXPAY","MONEYMOTION","OVGC","WHOP","DODO","MAVERICK","VENMO","MOLLIE","AUTHORIZENET","NMI"].map(e=>function(e){const t=e.trim();if(!t)return"";if(/^manual:/i.test(t)){const e=t.slice(t.indexOf(":")+1).trim();return e?`MANUAL:${e}`:"MANUAL"}let n=t.toUpperCase();const o=n.match(/^(USDT|USDC|DAI):([A-Z0-9_]+)$/);if(o){const[,e,t]=o;n=`${e}_${"MATIC"===t?"POLYGON":t}`}return Yr[n]??n}(e))),new Set(["WHITE_LABEL","NATIVE"]);var Wr=[...Lr,"NATIVE"],Gr=(new Set(Wr),tr({set:Wo()})),Hr=tr({status:cr(["READY","NEEDS_ATTENTION"]).optional(),code:vo().optional(),message:vo().optional(),checked_at:vo().optional()}),Vr=(tr({provider:vo(),type:vo(),enabled:Wo(),connected:Wo(),credentials:ur(vo(),Gr),public_config:ur(vo(),Ho()),webhook:ur(vo(),Ho()).optional(),health:Hr.optional()}),"#2563eb"),Kr=["comfortable","compact"],Xr=["top","side","background"],Qr=cr(["checkout","payment_link","embed"]),ei=cr(["current","clean-light","clean-dark","v2","v3"]),ti=cr(Kr),ni=cr(["light","dark","system"]),oi=cr(Xr),ri=cr(["ghost","outlined","filled"]),ii=cr(["sheet","fullscreen","center"]),ai=cr(["visible","hidden"]),si=(cr(["checkout.shell","checkout.panel","checkout.header","brand.logo","product.card","product.image","product.title","product.description","product.price","product.quantity","product.addon","paymentLink.hero","summary.panel","summary.line","summary.total","form.field","form.label","form.help","coupon.input","input.base","input.error","button.primary","button.secondary","payment.methods","payment.method","payment.method.icon","payment.method.label","payment.method.meta","payment.method.fee","payment.method.indicator","payment.provider_widget","payment.loading","payment.error","payment.warning","legal.terms","status.success","status.processing","embed.launcher","embed.launcher.icon","embed.productCard","embed.productCard.image","embed.productCard.title","embed.productCard.price","embed.cart","embed.cart.row","embed.cart.summary","embed.modal","embed.modal.header","embed.modal.close","embed.skeleton","embed.loader","embed.branding"]),cr(["product.title","product.price","summary.total","payment.method.label","payment.provider_widget","payment.loading","payment.error","payment.warning","legal.terms","status.success","status.processing","embed.modal.close","embed.branding"]),vo().regex(/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/,"Use a valid hex color")),ui=vo().trim().min(1).max(200).refine(e=>!/[;{}]|@import|expression\s*\(/i.test(e),"Use a valid CSS color or gradient"),li=vo().trim().min(1).max(400).refine(e=>!/[;{}]|@import|expression\s*\(/i.test(e),"Use a valid CSS box-shadow value"),ci=cr(["Inter","Geist","Manrope","Plus Jakarta Sans","DM Sans","Space Grotesk","Sora","IBM Plex Sans","JetBrains Mono","Arial","System UI"]),di=vo().trim().min(1).max(60).regex(/^[A-Za-z0-9 +\-_]+$/,"Use a Google Fonts family name"),pi=vo().url(),fi=tr({brand:tr({logoUrl:pi.optional().nullable(),logoDarkUrl:pi.optional().nullable(),logoMaxHeight:Fo().int().min(16).max(80).optional(),faviconUrl:pi.optional().nullable()}).strict().optional(),color:tr({brand:si.optional(),brandContrast:si.optional(),background:si.optional(),surface:si.optional(),surfaceRaised:si.optional(),text:si.optional(),textMuted:si.optional(),border:si.optional(),focus:si.optional(),success:si.optional(),warning:si.optional(),error:si.optional()}).strict().optional(),typography:tr({fontFamily:ci.optional(),googleFontFamily:di.optional(),baseSize:Fo().int().min(12).max(18).optional()}).strict().optional(),shape:tr({buttonRadius:Fo().int().min(0).max(24).optional(),inputRadius:Fo().int().min(0).max(24).optional(),cardRadius:Fo().int().min(0).max(28).optional()}).strict().optional(),spacing:tr({density:ti.optional(),controlHeight:Fo().int().min(36).max(56).optional()}).strict().optional(),component:tr({primaryButton:tr({background:si.optional(),text:si.optional()}).strict().optional(),input:tr({background:si.optional(),border:si.optional(),focusRing:ui.optional()}).strict().optional(),summary:tr({background:si.optional()}).strict().optional(),paymentMethod:tr({background:ui.optional(),cardBackground:ui.optional(),border:ui.optional(),selectedBackground:ui.optional()}).strict().optional(),productCard:tr({background:ui.optional(),border:ui.optional(),shadow:li.optional()}).strict().optional(),productImage:tr({background:ui.optional(),border:ui.optional(),icon:ui.optional()}).strict().optional(),brandAvatar:tr({background:ui.optional(),text:si.optional(),border:ui.optional()}).strict().optional(),pill:tr({background:ui.optional(),border:ui.optional(),text:si.optional()}).strict().optional(),errorBanner:tr({background:ui.optional(),border:ui.optional(),text:si.optional()}).strict().optional(),warningBanner:tr({background:ui.optional(),border:ui.optional(),text:si.optional()}).strict().optional(),radio:tr({idleRing:ui.optional(),checkedFill:si.optional(),checkedIcon:si.optional()}).strict().optional(),divider:tr({color:ui.optional()}).strict().optional()}).strict().optional(),paymentLink:tr({heroImageUrl:pi.optional().nullable(),heroPosition:oi.optional()}).strict().optional(),embed:tr({launcher:tr({background:ui.optional(),text:si.optional(),radius:Fo().int().min(0).max(28).optional(),paddingX:Fo().int().min(8).max(32).optional(),paddingY:Fo().int().min(6).max(24).optional(),shadow:li.optional()}).strict().optional(),productCard:tr({background:ui.optional(),border:ui.optional(),imageRadius:Fo().int().min(0).max(24).optional(),padding:Fo().int().min(8).max(32).optional()}).strict().optional(),cart:tr({background:ui.optional(),rowBorder:ui.optional(),itemSpacing:Fo().int().min(4).max(28).optional()}).strict().optional(),modal:tr({background:ui.optional(),radius:Fo().int().min(0).max(32).optional(),maxWidth:Fo().int().min(360).max(960).optional(),shadow:li.optional()}).strict().optional(),backdrop:tr({color:ui.optional(),blur:Fo().int().min(0).max(24).optional(),opacity:Fo().min(0).max(1).optional()}).strict().optional(),skeleton:tr({background:ui.optional(),shimmer:ui.optional()}).strict().optional(),spinner:tr({color:ui.optional()}).strict().optional(),closeButton:tr({style:ri.optional()}).strict().optional(),mobile:tr({layout:ii.optional()}).strict().optional(),content:tr({productDescription:ai.optional(),termsShortcut:ai.optional()}).strict().optional()}).strict().optional()}).strict(),mi=tr({mode:ni.default("system"),fontSource:cr(["curated"]).default("curated")}).strict(),_i=cr(["standalone","bundle","pointer"]),hi=tr({name:vo().trim().min(1).max(80),fingerprint:vo().trim().min(1).max(128)}).strict(),yi=tr({type:pr("shoppex.style_theme"),surface:pr("checkout"),format_version:or([pr(1),pr(2)]),name:vo().trim().min(1).max(80),description:vo().trim().max(240).optional(),embed_design:ei.default("current"),token_schema_version:pr(1),tokens:fi.default({}),custom_css:vo().max(2e4).default(""),settings:mi.default({mode:"system",fontSource:"curated"}),_meta:ur(vo(),Ho()).optional()}).strict(),gi=(tr({type:pr("shoppex.style_theme"),surface:Qr,format_version:or([pr(1),pr(2)]),name:vo().trim().min(1).max(80),description:vo().trim().max(240).optional(),embed_design:ei.default("current"),token_schema_version:pr(1),tokens:fi.default({}),custom_css:vo().max(2e4).default(""),settings:mi.default({mode:"system",fontSource:"curated"}),share_mode:_i.default("standalone"),parent_hint:hi.optional(),bundled_parent:yi.optional(),_meta:ur(vo(),Ho()).optional()}).strict(),tr({theme_id:vo().uuid().nullable(),surface:Qr,embed_design:ei,token_schema_version:pr(1),revision:Fo().int().min(1),tokens:fi,custom_css:vo(),css_variables:ur(vo(),vo())}).strict(),tr({theme_id:vo().uuid().nullable(),parent_theme_id:vo().uuid().nullable(),surface:pr("embed"),embed_design:ei,token_schema_version:pr(1),revision:Fo().int().min(1),parent_revision:Fo().int().min(1).nullable(),tokens:fi,custom_css:vo(),css_variables:ur(vo(),vo())}).strict(),tr({shop_id:vo().uuid(),product_id:vo().uuid().nullable(),product_group_id:vo().uuid().nullable(),payment_link_id:vo().uuid().nullable(),invoice_id:vo().nullable()}).strict(),tr({embed_runtime:vo().min(16).max(128),embed_design:ei,revision:Fo().int().min(1),parent_revision:Fo().int().min(1).nullable(),theme_id:vo().uuid().nullable(),css_variables:ur(vo(),vo()),custom_css:vo()}).strict(),tr({embed_design:ei.optional(),embed_style_revision:function(e){return function(e,t){return new e({type:"number",coerce:!0,checks:[],...W(t)})}(Mo,e)}().int().min(1).optional(),embed_runtime:vo().min(16).max(128).optional(),preview:Wo().optional()}).strict(),cr(["announcement_bar","countdown_bar","promo_info_card","recent_purchase_popup","coupon_popup_modal","live_chat"]),cr(["layout.header.before","layout.header.after","layout.overlay","home.hero.after","home.grid.before","product.buybox.after","layout.footer.before","floating.bottom_right"])),bi=(cr(["announcement_bar","countdown_bar","promo_info_card","recent_purchase_popup","coupon_popup_modal","live_chat"]),vo().regex(/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/,"Use a valid hex color")),vi=cr(["static","marquee"]),wi=cr(["brand_blue","emerald","sunset","rose","charcoal","custom"]),Si=cr(["hide","message"]),ki=cr(["compact","comfortable"]),Oi=cr(["subtle","outline","solid"]),zi=cr(["minimal","boxed"]),xi=cr(["indigo","emerald","amber","rose","slate","custom"]),Ti=cr(["compact","feature","alert"]),Ei=cr(["compact","comfortable"]),Ai=cr(["subtle","outline","solid"]),Ii=cr(["sparkles","megaphone","gift","truck","shield","support","none"]),$i=cr(["show","hide"]),Pi=cr(["midnight","ocean","ember","forest","custom"]),Ni=cr(["delay","exit_intent"]),Ci=vo().trim().refine(e=>{if(e.startsWith("/"))return!0;try{const t=new URL(e);return"http:"===t.protocol||"https:"===t.protocol}catch{return!1}},'Use a valid absolute URL or a path starting with "/"'),Ri=vo().trim().refine(e=>{const t=new Date(e);return!Number.isNaN(t.getTime())},"Use a valid date and time"),Ui=tr({text:vo().trim().min(1,"Text is required").max(160,"Text must be 160 characters or fewer"),linkLabel:vo().trim().max(32,"Link label must be 32 characters or fewer").optional().nullable(),linkUrl:Ci.optional().nullable(),dismissible:Wo().default(!1),displayMode:vi.default("marquee"),themePreset:wi.default("custom"),animationSpeedSeconds:Fo().int().min(8).max(40).default(30),backgroundColor:bi.default("#111827"),textColor:bi.default("#f9fafb")}),qi=tr({text:vo().trim().min(1,"Text is required").max(120,"Text must be 120 characters or fewer"),endAt:Ri,linkLabel:vo().trim().max(32,"Link label must be 32 characters or fewer").optional().nullable(),linkUrl:Ci.optional().nullable(),dismissible:Wo().default(!1),themePreset:wi.default("brand_blue"),expiredBehavior:Si.default("hide"),expiredMessage:vo().trim().max(120,"Expired message must be 120 characters or fewer").optional().nullable(),density:ki.default("compact"),ctaStyle:Oi.default("subtle"),timerStyle:zi.default("boxed"),backgroundColor:bi.default("#111827"),textColor:bi.default("#f9fafb")}),ji=tr({eyebrow:vo().trim().max(32,"Eyebrow must be 32 characters or fewer").optional().nullable(),title:vo().trim().min(1,"Title is required").max(80,"Title must be 80 characters or fewer"),body:vo().trim().min(1,"Body is required").max(240,"Body must be 240 characters or fewer"),linkLabel:vo().trim().max(32,"Link label must be 32 characters or fewer").optional().nullable(),linkUrl:Ci.optional().nullable(),themePreset:xi.default("indigo"),layoutStyle:Ti.default("feature"),density:Ei.default("comfortable"),ctaStyle:Ai.default("outline"),icon:Ii.default("sparkles"),iconVisibility:$i.default("show"),backgroundColor:bi.default("#111827"),textColor:bi.default("#f9fafb"),accentColor:bi.default("#818cf8")}),Di=tr({title:vo().trim().min(1,"Title is required").max(80,"Title must be 80 characters or fewer").default("Recent purchases"),lookbackHours:Fo().int().min(1).max(168).default(24),cooldownSeconds:Fo().int().min(5).max(300).default(20),maxItems:Fo().int().min(1).max(20).default(8),anonymizeMode:cr(["first_name_city","first_name_country","initial_country","anonymous"]).default("first_name_city"),includedProductIds:Qo(vo().min(1)).max(50).default([])}),Li=tr({eyebrow:vo().trim().max(32,"Eyebrow must be 32 characters or fewer").optional().nullable(),title:vo().trim().min(1,"Title is required").max(80,"Title must be 80 characters or fewer"),body:vo().trim().min(1,"Body is required").max(240,"Body must be 240 characters or fewer"),couponCode:vo().trim().min(2,"Coupon code is required").max(40,"Coupon code must be 40 characters or fewer"),primaryButtonLabel:vo().trim().min(1,"Primary button label is required").max(24,"Primary button label must be 24 characters or fewer").default("Copy code"),secondaryButtonLabel:vo().trim().min(1,"Secondary button label is required").max(24,"Secondary button label must be 24 characters or fewer").default("Maybe later"),disclaimer:vo().trim().max(100,"Disclaimer must be 100 characters or fewer").optional().nullable(),themePreset:Pi.default("midnight"),trigger:Ni.default("delay"),delaySeconds:Fo().int().min(0).max(60).default(6),showOncePerSession:Wo().default(!0),reminderHours:Fo().int().min(1).max(720).default(24),backgroundColor:bi.default("#111827"),textColor:bi.default("#f8fafc"),accentColor:bi.default("#7c9cff"),heroImageUrl:Ci.optional().nullable(),discountDisplay:vo().trim().max(24,"Discount display must be 24 characters or fewer").optional().nullable(),expiresAt:Ri.optional().nullable()}),Zi=cr(["hidden","optional"]),Mi=tr({headline:vo().trim().min(1,"Headline is required").max(60,"Headline must be 60 characters or fewer").default("Chat with us"),greeting:vo().trim().min(1,"Greeting is required").max(240,"Greeting must be 240 characters or fewer").default("Hi! Send us a message and we will reply as soon as possible."),inputPlaceholder:vo().trim().min(1,"Placeholder is required").max(80,"Placeholder must be 80 characters or fewer").default("Type your message…"),contactFields:Zi.default("optional"),accentColor:bi.default("#111827"),launcherIconColor:bi.default("#f9fafb")}),Fi=tr({type:pr("announcement_bar"),slot:gi,enabled:Wo().default(!0),sortOrder:Fo().int().min(0).max(999).default(0),config:Ui}),Bi=tr({type:pr("recent_purchase_popup"),slot:gi,enabled:Wo().default(!0),sortOrder:Fo().int().min(0).max(999).default(0),config:Di}),Yi=tr({type:pr("countdown_bar"),slot:gi,enabled:Wo().default(!0),sortOrder:Fo().int().min(0).max(999).default(0),config:qi}),Ji=tr({type:pr("promo_info_card"),slot:gi,enabled:Wo().default(!0),sortOrder:Fo().int().min(0).max(999).default(0),config:ji}),Wi=tr({type:pr("coupon_popup_modal"),slot:gi,enabled:Wo().default(!0),sortOrder:Fo().int().min(0).max(999).default(0),config:Li}),Gi=tr({type:pr("live_chat"),slot:gi,enabled:Wo().default(!0),sortOrder:Fo().int().min(0).max(999).default(0),config:Mi}),Hi=(ir("type",[Fi,Yi,Ji,Bi,Wi,Gi]),ir("type",[Fi.extend({id:vo().min(1)}),Yi.extend({id:vo().min(1)}),Ji.extend({id:vo().min(1)}),Bi.extend({id:vo().min(1)}),Wi.extend({id:vo().min(1)}),Gi.extend({id:vo().min(1)})]),new Set(["amount","currency","invoice_id","customer_email","id","email","price","price_usd","product_name","quantity"].map(e=>e.toLowerCase())),ur(vo(),Ho())),Vi=or([vo(),Fo()]),Ki=tr({kind:cr(["address","redirect","embed_pending"]),gateway:vo(),checkout_url:vo().nullable().optional(),address:vo().optional(),amount:vo().optional(),qr_code:vo().optional(),expires_at:vo().optional(),payment_id:vo().optional(),confirmations_needed:Fo().optional()}).passthrough(),Xi=(tr({data:tr({invoice:tr({uniqid:vo().uuid()}).passthrough(),invoice_url:vo().nullable(),checkout_url:vo().nullable(),selected_gateway:vo().nullable(),session_started:Wo(),payment_session:Ki.nullable(),completion_access_grant:vo().nullable()}).passthrough()}).passthrough(),tr({default_value:vo().optional(),min_length:Fo().optional(),name:vo(),placeholder:vo().optional(),regex:vo().optional(),required:Wo(),type:vo()})),Qi=tr({id:vo(),price:Fo(),quantity:Fo(),title:vo()}),ea=tr({addons:Qo(Qi).optional(),available_addons:Qo(Ho()).optional(),cloudflare_image_id:vo().nullable(),created_at:vo().optional(),currency:vo(),custom_fields:Hi.nullable().optional(),custom_fields_config:Qo(Xi).nullable().optional(),delivery_instruction:Ho().optional(),delivery_instruction_config:Ho().optional(),delivery_instruction_label:Ho().optional(),delivery_text:vo().nullable().optional(),delivery_time:Fo().nullable().optional(),delivery_time_unit:cr(["minutes","hours","days"]).nullable().optional(),description:vo().nullable(),discount_percent:Fo().optional(),discount_display:Fo().optional(),discounted_total_display:Fo().optional(),gateways:Qo(vo()).nullable().optional(),id:vo().optional(),image_name:vo().nullable(),image_storage:vo().optional(),line_item_id:vo().nullable().optional(),pay_what_you_want:Wo().optional(),price:vo().optional(),price_display:Vi,quantity:Fo(),quantity_max:Fo().optional(),quantity_min:Fo().optional(),recurring_interval:vo().nullable().optional(),recurring_interval_count:Fo().nullable().optional(),redirect_link:vo().nullable().optional(),redirect_time:Fo().nullable().optional(),service_text:vo().nullable().optional(),setup_cost:vo().optional(),slug:vo().nullable().optional(),storefront_url:vo().nullable().optional(),status:vo().nullable().optional(),subtype:vo().nullable().optional(),terms_of_service:vo().nullable().optional(),title:vo(),total:Fo(),trial_period:Fo().nullable().optional(),type:vo().nullable().optional(),uniqid:vo().nullable(),unit_price:Fo().optional(),unit_price_display:Vi.optional(),unit_quantity:Fo(),updated_at:vo().optional(),variant_title:vo().nullable().optional(),video_link:vo().nullable().optional(),volume_discounts:Ho().optional(),warranty_days:Fo().nullable().optional(),warranty_text:vo().nullable().optional()}),ta=tr({amount:Fo(),gateway:vo()}),na=tr({custom_tip_enabled:Wo().optional(),enabled:Wo(),preset_percentages:Qo(Fo()).optional()}),oa=tr({allow_partial_payment:Wo().optional(),auto_apply:Wo().optional(),available:vo(),currency:vo()}),ra=tr({affiliate_code:vo().nullable().optional(),already_paid:Vi.nullable().optional(),amount_due:Vi.nullable().optional(),currency:vo().nullable().optional(),discount:Vi.nullable().optional(),discount_label:vo().nullable().optional(),gateway_fee:Vi.nullable().optional(),platform_fee:Vi.nullable().optional(),subtotal:Vi.nullable().optional(),tip:Vi.nullable().optional(),total:Vi.nullable().optional()}),ia=tr({active:Wo(),expires_at:vo()}),aa=tr({faq_url:vo().nullable(),support_email:vo().nullable(),support_url:vo().nullable(),telegram_invite:vo().nullable(),discord_invite_url:vo().nullable()}),sa=tr({currency:vo().nullable().optional(),enabled:Wo(),max_amount:Fo().nullable().optional(),min_amount:Fo().nullable().optional(),reason:cr(["BELOW_MIN_AMOUNT","ABOVE_MAX_AMOUNT"]).nullable().optional()}),ua=tr({delivered_items:Qo(Ho()),downloads:Qo(Ho()),external_urls:Qo(Ho()),license_keys:Qo(Ho()),tracking_codes:Qo(Ho())}),la=tr({active:Wo().optional(),attempt_id:vo().optional(),buyer_actionable:Wo().nullable().optional(),crypto_currency:vo().nullable().optional(),currency:vo().optional(),expected_amount:vo().nullable().optional(),expected_crypto_amount:vo().nullable().optional(),last_checked_at:vo().optional(),missing_amount:vo().nullable().optional(),missing_crypto_amount:vo().nullable().optional(),provider_reference:vo().nullable().optional(),provider_status:vo().nullable().optional(),received_amount:vo().nullable().optional(),received_crypto_amount:vo().nullable().optional(),shortfall_percent:vo().nullable().optional()}),ca=tr({created_at:vo().nullable(),details:vo().nullable(),id:vo(),invoice_id:vo(),status:vo().nullable()}),da=tr({billing_address_mode:cr(["INHERIT","REQUIRED","DISABLED"]).optional(),button_label:vo().nullable().optional(),display_name:vo().nullable().optional(),gateway:vo(),hide_provider_attribution:Wo().optional(),icon_url:vo().nullable().optional(),terms_mode:cr(["INHERIT","REQUIRED","DISABLED"]).optional()}),pa=tr({custom_fields:Qo(Ho()).optional(),description:vo().nullable(),display_order:Fo(),icon_preset:vo().nullable(),icon_url:vo().nullable(),id:vo(),instructions:vo().nullable(),is_active:Wo().optional(),name:vo(),payment_type:cr(["INSTRUCTIONS","REDIRECT"]),redirect_url:vo().nullable(),require_proof:Wo(),proof_type:cr(["TEXT","IMAGE","BOTH"]).optional(),void_after_hours:Fo()}),fa=tr({email:tr({masked:vo().nullable(),persisted:Wo(),required_for_provider_session:Wo().optional()})}),ma=tr({amount:vo().nullable(),confirmations:Fo().nullable(),created_at:Fo().optional(),hash:vo().nullable(),status:vo().optional()}),_a=tr({conf:tr({partial:Fo().optional(),void:Fo(),waiting_for_confirmations:Fo().optional()}),gateways:Qo(vo())}),ha=tr({invoice_payable:Wo(),resumable:Wo(),resumable_gateway:vo().nullable(),gateway:vo().nullable().optional(),crypto_gateway:vo().nullable().optional(),processor:vo().nullable().optional(),flow_type:vo().nullable().optional(),status:vo().nullable().optional(),provider_reference:vo().nullable().optional(),provider_reference_type:vo().nullable().optional(),capture_id:vo().nullable().optional(),manual_confirmation_pending:Wo().optional(),payment_method_switch_locked:Wo().optional(),awaiting_payment_method:Wo().optional(),started_at:Fo().nullable().optional(),completed_at:Fo().nullable().optional()}),ya=(tr({already_paid_amount:Vi.nullable().optional(),apm_method:vo().nullable().optional(),blockchain:vo().nullable(),buyer_identity:fa.nullable().optional(),checkout_tipping:na.nullable().optional(),country_regulations:vo().nullable().optional(),coupon_applied:Wo().optional(),crypto_mode:vo().nullable().optional(),crypto_transactions:Qo(ma).optional(),currency:vo().nullable(),custom_fields:Hi.nullable().optional(),custom_gateways:Qo(pa).optional(),customer_balance:oa.nullable().optional(),customer_email_masked:vo().nullable().optional(),dark_mode:or([pr(0),pr(1)]).optional(),delivery:ua.optional(),delivery_info:ua.optional(),discount:Fo().optional(),discount_display:Vi.optional(),eligible_gateways:Qo(vo()).optional(),environment:vo().optional(),fee_breakdown:Hi.nullable().optional(),gateway:vo().nullable(),gateway_data:Hi.nullable().optional(),gateway_eligibility:ur(vo(),sa).optional(),gateway_fee_previews:Qo(ta).optional(),gateways_available:Qo(vo()),license:or([Hi,pr(!1)]).optional(),name:vo().nullable(),paddle_token:vo().nullable().optional(),paddle_transaction_id:Ho().optional(),payment_link_id:vo().nullable().optional(),payment_method_overrides:Qo(da).optional(),payment_session_state:ha.nullable().optional(),polling:ia,pricing_breakdown:ra.nullable().optional(),product:Qo(ea).optional(),quantity:Fo().nullable(),rates_snapshot:ur(vo(),Fo()).optional(),remaining_amount:Vi.nullable().optional(),selected_gateway:vo().nullable().optional(),shop_checkout_ambient_color:vo().nullable().optional(),shop_cloudflare_image_id:vo().nullable(),shop_domain:vo().nullable().optional(),shop_force_paypal_email_delivery:or([pr(0),pr(1)]).optional(),shop_image_name:vo().nullable(),shop_image_storage:vo().nullable().optional(),shop_payment_gateways_fees:Qo(Hi).optional(),shop_paypal_credit_card:or([pr(0),pr(1)]).optional(),shop_return_url:vo().nullable().optional(),shop_slug:vo().nullable().optional(),shop_terms_enabled:Wo().optional(),shop_terms_of_service:vo().nullable().optional(),shop_terms_url:vo().nullable().optional(),shop_privacy_policy_url:vo().nullable().optional(),shop_refund_policy_url:vo().nullable().optional(),shop_walletconnect_id:vo().nullable().optional(),status:vo().nullable(),status_history:Qo(ca).optional(),status_history_legacy:Qo(ca).optional(),status_history_raw:Qo(ca).optional(),stripe_publishable_key:vo().nullable().optional(),stripe_user_id:vo().nullable().optional(),subtotal:Fo().optional(),subtype:vo().nullable().optional(),support:aa.optional(),theme:vo().optional(),tip_amount:Vi.nullable().optional(),tip_amount_display:Vi.nullable().optional(),tip_metadata:Ho().optional(),total:Vi,total_conversions:Hi.optional(),total_display:Vi,type:vo().nullable(),underpayment:la.nullable().optional(),underpayment_status:vo().nullable().optional(),uniqid:vo(),void_times:Qo(_a).optional(),addons:Ho().optional(),affiliate_data:Ho().optional(),affiliate_revenue_customer_id:vo().nullable().optional(),bill_info:Ho().optional(),binance_checkout_url:vo().nullable().optional(),binance_invoice_id:vo().nullable().optional(),binance_qrcode:vo().nullable().optional(),bundle_config:Ho().optional(),bundles:Ho().optional(),cashapp_cashtag:vo().nullable().optional(),cashapp_note:vo().nullable().optional(),cashapp_qrcode:vo().nullable().optional(),created_at:vo().optional(),crypto_address:vo().nullable().optional(),crypto_amount:Vi.optional(),crypto_confirmations_needed:Fo().nullable().optional(),crypto_exchange_rate:Vi.nullable().optional(),crypto_received:Vi.optional(),crypto_uri:vo().nullable().optional(),developer_invoice:Ho().optional(),developer_return_url:vo().nullable().optional(),developer_title:vo().nullable().optional(),exchange_rate:Vi.nullable().optional(),external_order_id:vo().nullable().optional(),lex_order_id:vo().nullable().optional(),lex_payment_method:vo().nullable().optional(),paydash_payment_id:vo().nullable().optional(),paypal_apm:vo().nullable().optional(),paypal_email_delivery:Wo().optional(),paypal_fee:Vi.nullable().optional(),paypal_order_id:vo().nullable().optional(),paypal_payer_email:vo().nullable().optional(),paypal_subscription_id:vo().nullable().optional(),paypal_subscription_link:vo().nullable().optional(),perfectmoney_id:vo().nullable().optional(),product_addons:Ho().optional(),product_id:vo().nullable().optional(),product_title:vo().nullable().optional(),product_type:vo().nullable().optional(),product_variants:Ho().optional(),recurring_billing_id:vo().nullable().optional(),skrill_link:vo().nullable().optional(),skrill_sid:vo().nullable().optional(),status_details:Ho().optional(),stripe_apm:vo().nullable().optional(),stripe_client_secret:vo().nullable().optional(),stripe_id:vo().nullable().optional(),stripe_price_id:vo().nullable().optional(),subscription:Ho().optional(),subscription_id:vo().nullable().optional(),sumup_id:vo().nullable().optional(),telegram_stars_payment_link:vo().nullable().optional(),telegram_stars_payment_note:vo().nullable().optional(),updated_at:vo().optional(),virtual_payments_id:vo().nullable().optional(),void_details:Ho().optional()}).catchall(Ho()),3),ga=2,ba={maximumFractionDigits:3};function va(e){if(!Number.isFinite(e))return e;const t=e<0?-1:1,n=wa(Math.abs(e),2),o=Math.round(n);return 0===o?0:t*wa(o,-2)}function wa(e,t){const[n,o="0"]=String(e).split("e");return Number(`${n}e${Number(o)+t}`)}var Sa=vo().nullable(),ka=ur(vo(),Ho()),Oa=tr({logo_url:Sa,primary_color:vo(),secondary_color:vo(),accent_color:vo()}),za=tr({attachment_image_id:tr({cloudflare_image_id:Sa}).nullable()}),xa=tr({attachment_imageId:tr({cloudflareImageId:Sa}).nullable()}),Ta=tr({uniqid:vo(),status:vo(),total:vo(),total_display:Sa,currency:vo(),created_at:vo(),line_items:Qo(tr({product_title:Sa,quantity:Fo(),product:za.nullable()}))}),Ea=tr({uniqid:vo(),status:vo(),total:vo(),totalDisplay:Sa,currency:vo(),createdAt:vo(),lineItems:Qo(tr({productTitle:Sa,quantity:Fo(),product:xa.nullable()}))}),Aa=tr({invoices:Qo(Ea),pagination:tr({page:Fo(),limit:Fo(),total:Fo(),has_more:Wo()})}),Ia=tr({gateway:vo(),displayName:Sa,cryptoGateway:Sa.optional(),blockchain:Sa,cryptoAddress:Sa,apmMethod:Sa}),$a=tr({id:vo(),uniqid:vo(),status:vo(),statusDetails:Sa,total:vo(),totalDisplay:Sa,subtotal:vo(),discount:vo(),discountDisplay:Sa,tax:vo(),taxPercentage:vo(),currency:vo(),createdAt:vo(),updatedAt:vo(),gatewayUpdatedAt:Sa,customFields:ka.nullable(),balancePaidAmount:vo(),currentPaymentAttemptId:Sa,lineItems:Qo(tr({id:vo(),productTitle:vo(),productType:vo(),variantTitle:Sa,unitPrice:vo(),quantity:Fo(),total:vo(),deliveryText:Sa,deliverySummary:tr({codes:Qo(vo()),links:Qo(tr({label:vo(),value:vo(),href:Sa.optional()})),notes:Qo(vo()),serials:Qo(tr({value:vo(),is_replacement:Wo(),is_replaced:Wo()}))}).nullable(),deliveredAt:Sa,deliveryStatus:cr(["PENDING","AWAITING_FULFILLMENT","DELIVERED","FAILED"]),customFields:ka.nullable(),product:tr({uniqid:vo(),slug:Sa,serviceText:Sa,attachment_imageId:tr({cloudflareImageId:Sa}).nullable()}).nullable()})),currentPayment:Ia.nullable(),payments:Qo(Ia)}),Pa=(tr({quote:tr({enabled:Wo(),currency:vo(),min_amount:vo(),max_amount:Sa,bonus_tiers:Qo(tr({min_amount:vo(),bonus_percent:Fo()}))})}),tr({invoice_id:vo(),url:vo()}),tr({id:vo(),type:vo(),status:vo(),amount:Sa,currency:Sa,coupon_code:Sa,reason:vo(),trigger_reference_type:vo(),trigger_reference_id:vo(),created_at:Fo(),fulfilled_at:Fo().nullable(),expires_at:Fo().nullable()})),Na=tr({summary:tr({available:vo(),pending:vo(),lifetime_earned:vo(),redeemed:Sa,currency:vo()}),activity:Qo(Pa),earned_after_invoice:Qo(Pa),pending_after_invoice:Qo(Pa)}),Ca=tr({id:vo(),uniqid:vo(),label:Sa,code:vo(),url:Sa,status:cr(["pending","active","inactive","rejected"]),is_primary:Wo(),total_clicks:Fo(),total_sales:Fo(),total_revenue:vo(),is_active:Wo(),is_approved:Wo(),requested_affiliate_revenue_percent:Fo().nullable(),requested_affiliate_customer_discount_percent:Fo().nullable(),affiliate_revenue_percent_override:Fo().nullable(),affiliate_customer_discount_percent_override:Fo().nullable(),effective_commission_percent:Fo(),effective_customer_discount_percent:Fo(),commission_shareback_percent:Fo(),commission_shareback_enabled:Wo(),max_commission_shareback_percent:Fo(),created_at:Sa,updated_at:Sa}),Ra=tr({customer:tr({id:vo(),email:vo(),name:Sa}).nullable(),state:vo(),can_create_custom_links:Wo(),custom_link_request_disabled_reason:Sa,custom_links_require_approval:Wo(),affiliate_codes_accepted_at_checkout:Wo(),cash_payout_enabled:Wo(),links:Qo(Ca),preferred_payout:tr({asset:vo(),network:vo(),address:vo()}).nullable(),balance_currency:vo(),balances:tr({pending:vo(),available:vo(),requested:vo(),converted:vo(),paid:vo(),approved_total:vo()}),commissions:Qo(tr({id:vo(),invoice_id:vo(),commission_amount:vo(),base_amount:vo(),discount_amount:vo(),status:vo(),created_at:Sa,paid_at:Sa,converted_at:Sa})),claims:Qo(tr({id:vo(),type:vo(),status:vo(),amount:vo(),currency:vo(),allocations:Qo(tr({source_type:vo(),commission_id:Sa,adjustment_id:Sa,amount:vo()})),wallet_transaction_id:Sa,payout_asset:Sa,payout_network:Sa,payout_address:Sa,note:Sa,metadata:Ho(),completed_at:Sa,rejected_at:Sa,cancelled_at:Sa,created_at:Sa,updated_at:Sa}))}),Ua=tr({uniqid:vo(),status:vo(),gateway:vo(),current_period_start:vo(),current_period_end:vo(),trial_end:Sa,cancel_at_period_end:Wo(),canceled_at:Sa,created_at:vo(),plan:tr({id:vo(),uniqid:vo(),name:vo(),price:vo(),currency:vo(),interval:vo(),interval_count:Fo(),trial_days:Fo()}).nullable(),payment_method:tr({id:vo(),gateway:vo(),type:vo(),card_brand:Sa,card_last4:Sa,card_exp_month:Fo().nullable(),card_exp_year:Fo().nullable(),is_default:Wo()}).nullable(),actions:tr({can_pause:Wo(),can_resume:Wo(),can_cancel:Wo(),can_manage_payment_method:Wo()})}),qa=tr({shop:tr({id:vo(),slug:vo(),name:vo(),currency:vo(),branding:Oa}),customer:tr({email:vo(),name:vo()}),stats:tr({invoices_count:Fo(),licenses_count:Fo(),deliverables_count:Fo(),tickets_count:Fo()}),wallet:tr({available:vo(),total:vo(),hold:vo(),currency:vo(),enabled:Wo()}).nullable(),rewards:Na,affiliate:Ra,invoices:Qo(Ta),subscriptions:Qo(Ua),licenses:Qo(tr({uniqid:vo(),invoice_id:vo(),status:vo(),license_key:vo(),hardware_id:Sa,expires_at:Fo().nullable(),renewable:Wo(),product:tr({title:vo().optional()}).optional()})),deliverables:Qo(tr({id:vo(),invoice_uniqid:vo(),product_title:vo(),kind:cr(["file","serial","license"]),label:vo(),value:vo(),href:Sa,created_at:vo()})),tickets:Qo(tr({uniqid:vo(),title:vo(),status:vo(),updated_at:vo(),created_at:Sa}))});var ja=null,Da=null;var La=null,Za=null;function Ma(e,t){const n=t?.shopId?.trim();Za=n||null;const r=La?.locale;return r!==(La={storeSlug:e,locale:t?.locale,currency:t?.currency,apiBaseUrl:t?.apiBaseUrl??"https://api.shoppex.io",checkoutBaseUrl:t?.checkoutBaseUrl??"https://checkout.shoppex.io"}).locale&&o(),ja=null,Da=null,La}function Fa(){if(!La)throw new s;return La}function Ba(){return null!==La}function Ya(e){Za=e}function Ja(){return Za}function Wa(e){return function(e){if(Array.isArray(e))return e;if("string"==typeof e){try{const t=JSON.parse(e);if(Array.isArray(t))return t;if(t&&"object"==typeof t){const e=t.custom_fields??t.customFields;return Array.isArray(e)?e:[]}}catch{return[]}return[]}if(e&&"object"==typeof e){const t=e.custom_fields??e.customFields;return Array.isArray(t)?t:[]}return[]}(e).filter(e=>!!e&&"object"==typeof e&&!Array.isArray(e)).map(e=>{const t="string"==typeof e.type?e.type.trim().toLowerCase():"text",n=t.length>0?t:"text",o=[e.default_value,e.default,e.value].find(e=>"string"==typeof e&&e.trim().length>0);return{name:"string"==typeof e.name?e.name.trim():"",type:n,required:!0===e.required||"true"===e.required||1===e.required||"1"===e.required,defaultValue:"string"==typeof o?o:"",placeholder:"string"==typeof e.placeholder?e.placeholder:"",regex:"string"==typeof e.regex?e.regex:void 0}}).filter(e=>e.name.length>0&&"hidden"!==e.type)}function Ga(e){const t=e?.trim().toLowerCase()??"";return"true"===t||"1"===t||"yes"===t||"on"===t}function Ha(e,t){if("checkbox"===e.type)return e.required&&!Ga(t)?`${e.name} is required.`:null;const n=t.trim();if(e.required&&!n)return`${e.name} is required.`;if(e.regex&&n)try{if(!new RegExp(e.regex).test(n))return`${e.name} has an invalid format.`}catch{return null}return null}function Va(e,t){const n={};return e.forEach(e=>{const o=t[e.name]??e.defaultValue??"";if("checkbox"===e.type)return void(Ga(o)&&(n[e.name]="true"));const r=o.trim();r.length>0&&(n[e.name]=r)}),n}var Ka=-1;function Xa(e,t,n){return!0!==t?e:!0===n?Ka:0!==e?e:Ka}function Qa(e){return"number"==typeof e&&Number.isFinite(e)?Math.trunc(e):null}function es(e){if(!0===e)return!0;if("number"==typeof e&&Number.isFinite(e))return 0!==e;if("string"==typeof e){const t=e.trim().toLowerCase();return"true"===t||"1"===t}return!1}function ts(e){return Xa(Qa(e?.stock)??Ka,e?.orderable,e?.supplier_backed)}function ns(e){if(!e)return Ka;if("string"==typeof e.type&&"SERIALS"===e.type.toUpperCase())return Xa(Qa(e.stock)??Ka,e.orderable,e.supplier_backed);const t=function(e){const t=Array.isArray(e.price_variants)?e.price_variants:[];return t.length>0?t.map(e=>ts(e)):(Array.isArray(e.variants)?e.variants:[]).map(e=>ts(e))}(e);return t.length>0?t.some(e=>e<0)?Ka:Xa(t.reduce((e,t)=>e+Math.max(t,0),0),e.orderable,e.supplier_backed):Xa(Qa(e.stock)??Ka,e.orderable,e.supplier_backed)}function os(e){return!!function(e){return!!e&&(es(e.on_hold)||es(e.onHold)||es(e.is_on_hold)||es(e.isOnHold))}(e)||0===ns(e)}function rs(e){return!os(e)}function is(e){return 0===ts(e)}function as(e=[]){const t=/* @__PURE__ */new Map;for(const n of e)n?.uniqid&&!t.has(n.uniqid)&&t.set(n.uniqid,n);return t}function ss(e,t=[]){const n=t instanceof Map?t:as(t);return(e.product_uniqids??[]).flatMap(e=>{const t=n.get(e);return t?[t]:[]})}function us(e=[]){return Array.from(as(e).values())}function ls(e){return e?e.replace(/<[^>]*>/g," ").replace(/\s+/g," ").trim():""}function cs(e){return e.trim().toLowerCase()}function ds(e,t){const n=ls(t).toLowerCase();n&&e.push(n)}function ps(e){const t=[];ds(t,e.title),ds(t,e.slug??void 0),ds(t,e.description);for(const n of e.product_highlights??[])ds(t,n);for(const n of e.variants??[])ds(t,n.title);for(const n of e.price_variants??[])ds(t,n.title??n.label);return t}function fs(e,t){const n=cs(t);return!!n&&ps(e).some(e=>e.includes(n))}function ms(e,t){const n=cs(t);if(!n)return!1;const o=ls(e.title).toLowerCase(),r=ls(e.slug??e.name??void 0).toLowerCase(),i=ls(e.description).toLowerCase();return o.includes(n)||r.includes(n)||i.includes(n)}function _s(e,t,n){const o=cs(t);if(!o)return[];let r=e.filter(e=>fs(e,o));return n?.hideOutOfStock&&(r=r.filter(e=>rs(e))),null!=n?.maxResults?r.slice(0,n.maxResults):r}function hs(e,t){return 0!==e.length&&(!t||e.some(e=>rs(e)))}function ys(e,t,n,o){const r=cs(n);if(!r)return[];const i=!0===o?.hideOutOfStock,a=/* @__PURE__ */new Set,s=/* @__PURE__ */new Set,u=[],l=as(e);for(const d of t){const e=d.uniqid??d.id;if(!e||s.has(e))continue;if(!ms(d,r))continue;const t=ss(d,l);if(hs(t,i)){s.add(e);for(const e of t)e?.uniqid&&a.add(e.uniqid);u.push({type:"group",group:d,products:t})}}const c=us(e);for(const d of c)d?.uniqid&&!a.has(d.uniqid)&&fs(d,r)&&(i&&!rs(d)||(a.add(d.uniqid),u.push({type:"product",product:d})));return null!=o?.maxResults?u.slice(0,o.maxResults):u}function gs(e,t,n,o){const r=ys(e,t,n,o),i=/* @__PURE__ */new Set,a=[],s=e=>{e?.uniqid&&!i.has(e.uniqid)&&(o?.hideOutOfStock&&!rs(e)||(i.add(e.uniqid),a.push(e)))};for(const u of r)if("product"!==u.type)for(const e of u.products)s(e);else s(u.product);return null!=o?.maxResults?a.slice(0,o.maxResults):a}function bs(e){if(e?.apiBaseUrl?.trim())return e.apiBaseUrl.replace(/\/+$/,"");const t=e?.hostname??("undefined"!=typeof window?window.location.hostname:"");if(t&&!function(e){if("localhost"===e||"127.0.0.1"===e||"::1"===e||e.endsWith(".localhost"))return!0;if(/^10\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(e))return!0;if(/^192\.168\.\d{1,3}\.\d{1,3}$/.test(e))return!0;const t=e.match(/^172\.(\d{1,2})\.\d{1,3}\.\d{1,3}$/);if(t){const e=Number(t[1]);return e>=16&&e<=31}return!1}(t))return"https://api.shoppex.io";if("undefined"!=typeof window){const e=window.apiBaseUrl;if("string"==typeof e&&e.trim())return e.replace(/\/+$/,"")}return"http://localhost:3001".replace(/\/+$/,"")}function vs(e){const t=e.name?.trim()??"",n=`${t?`Name: ${t}\n\n`:""}${e.message.trim()}`,o=e.maxLength??2e3;return n.slice(0,o)}async function ws(e){const t=e.shopSlug.trim();if(!t)throw new Error("Store data is not ready yet. Please try again in a moment.");const n=e.email.trim().toLowerCase(),o=e.title?.trim()??"",r=o.length>=2?o.slice(0,30):"Contact Request",i=vs({name:e.name,message:e.message}),a=e.invoiceId?.trim()||void 0,s=bs({apiBaseUrl:e.apiBaseUrl}),u=await fetch(`${s}/v1/storefront/shops/name/${encodeURIComponent(t)}/tickets`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({email:n,title:r,message:i,...a?{invoice_id:a}:{}})}),l=await u.json().catch(()=>null);if(!u.ok)throw new Error(l?.message||l?.error||"Failed to send your message.");const c=l?.data?.uniqid;if(!c)throw new Error("Ticket created, but the response was incomplete.");return{uniqid:c}}function Ss(e){return{discord:e?.discord_link??e?.social?.discord??null,telegram:e?.telegram_link??e?.social?.telegram??null}}var ks=/:([A-Za-z0-9_]+)/g;function Os(e,t){return e.replace(ks,(e,n)=>{const o=t[n];if(null==o)throw new Error(`Missing endpoint param: ${n}`);const r=String(o).trim();if(!r)throw new Error(`Endpoint param "${n}" must not be empty`);return encodeURIComponent(r)})}function zs(e){return`shoppex_${e}`}function xs(e){try{const t=localStorage.getItem(zs(e));return t?JSON.parse(t):null}catch{return null}}function Ts(e,t){try{localStorage.setItem(zs(e),JSON.stringify(t))}catch{console.warn("[shoppex] Failed to save to localStorage")}}function Es(e){try{localStorage.removeItem(zs(e))}catch{}}function As(e){if("undefined"==typeof window)return null;const t=`presence_connection_${e}`,n=xs(t);if(n&&n.trim())return n;const o="undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`spx_${Math.random().toString(36).slice(2)}${Date.now().toString(36)}`;return Ts(t,o),o}async function Is(e){if(!Ba())return;if("undefined"==typeof window)return;if(function(e){const t=`client_error_${function(e){return[e.method,e.endpoint,e.statusCode??"none",e.message.trim().toLowerCase(),e.responseReceived?"response":"no-response"].join("|")}(e)}`,n=Date.now(),o=xs(t);return"number"==typeof o&&n-o<15e3||(Ts(t,n),!1)}(e))return;const t=Fa(),n=Ja(),o=n?Os("/v1/storefront/shops/id/:id/ping",{id:n}):Os("/v1/storefront/shops/:storeSlug/ping",{storeSlug:t.storeSlug}),r=JSON.stringify({event_type:"client_error",referer:document.referrer||void 0,connection_id:As(t.storeSlug)??void 0,client_error:{source:e.source??"sdk",phase:e.phase??"request",endpoint:e.endpoint,method:e.method,message:e.message,status_code:e.statusCode,attempt_count:e.attemptCount,response_received:e.responseReceived??!1,page_url:e.pageUrl??window.location.href,request_url:e.requestUrl,online:e.online??("undefined"!=typeof navigator?navigator.onLine:void 0),visibility_state:e.visibilityState??("undefined"!=typeof document?document.visibilityState:void 0)}}),i=`${t.apiBaseUrl}${o}`;try{if("undefined"!=typeof navigator&&"function"==typeof navigator.sendBeacon){const e=new Blob([r],{type:"application/json"});if(navigator.sendBeacon(i,e))return}await fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:r,keepalive:!0})}catch{}}var $s=1e4;async function Ps(e){return new Promise(t=>setTimeout(t,e))}async function Ns(e,t={}){const n=t.baseUrl?null:Fa(),o=n??(Ba()?Fa():null),{method:r="GET",body:s,timeout:c=$s,retries:d,baseUrl:p,cache:f}=t,m=d??("GET"===r?2:0),_=`${p??n?.apiBaseUrl??""}${e}`,h={"Content-Type":"application/json",Accept:"application/json"};"string"==typeof o?.locale&&o.locale.trim()&&(h["x-shoppex-locale"]=o.locale.trim());let y=null;const g=async()=>{for(let t=0;t<=m;t++)try{const e=new AbortController,t=setTimeout(()=>e.abort(),c),n=await fetch(_,{method:r,headers:h,body:s?JSON.stringify(s):void 0,signal:e.signal});clearTimeout(t);const o=await Cs(n);if(!n.ok){const e=n.statusText?`HTTP ${n.status}: ${n.statusText}`:`HTTP ${n.status}`,t=(o.data&&"object"==typeof o.data&&"error"in o.data&&"string"==typeof o.data.error?o.data.error:null)??(o.data&&"object"==typeof o.data&&"message"in o.data&&"string"==typeof o.data.message?o.data.message:null)??o.rawText??e,r=Us(o.data);if(r.code)throw new l(t,r.code,n.status,r.errorParams);throw new u(t,n.status)}if(204===n.status&&null===o.data)return{success:!0};if(!o.data||"object"!=typeof o.data||!("status"in o.data))throw new u("Invalid API response",n.status);return Rs(o.data)}catch(e){let n=e instanceof Error?e:new Error(String(e));e instanceof DOMException&&"AbortError"===e.name&&(n=new u("Request timeout",408));const o=n instanceof a?n.statusCode:void 0;if(y={message:n.message,statusCode:o,isTransport:void 0===o||408===o,...n instanceof l?{code:n.code,...n.errorParams?{errorParams:n.errorParams}:{}}:{}},n instanceof l&&void 0!==o&&o>=400&&o<500&&408!==o)break;if(t<m){await Ps(500*Math.pow(2,t));continue}}return{success:!1,message:y?.message??"Unknown error",...y?.code?{code:y.code}:{},...y?.errorParams?{errorParams:y.errorParams}:{}}},b="GET"===r&&f&&f.ttl>0?await i(f.key??`GET:${_}`,g,{ttl:f.ttl,staleWhileRevalidate:f.staleWhileRevalidate},e=>e.success):await g(),v=y;return!b.success&&v?.isTransport&&await Is({endpoint:e,method:r,message:b.message??v.message,statusCode:v.statusCode,attemptCount:m+1,requestUrl:_,responseReceived:void 0!==v.statusCode&&408!==v.statusCode}),b}async function Cs(e){const t=e;if("function"!=typeof t.text){if("function"==typeof t.json)try{return{data:await t.json(),rawText:null}}catch{return{data:null,rawText:null}}return{data:null,rawText:null}}try{const e=await t.text();if(!e)return{data:null,rawText:null};try{return{data:JSON.parse(e),rawText:null}}catch{const t=e.trim();return{data:null,rawText:t.length>0?t:null}}}catch{return{data:null,rawText:null}}}function Rs(e){return e.status>=200&&e.status<300?{success:!0,data:e.data,...e.message?{message:e.message}:{}}:{success:!1,message:e.error??e.message??`Request failed with status ${e.status}`,...Us(e)}}function Us(e){if(!e||"object"!=typeof e)return{};const t=e,n="string"==typeof t.error_code&&t.error_code.length>0?t.error_code:null;if(!n)return{};const o=t.error_params;return{code:n,...o&&"object"==typeof o&&!Array.isArray(o)?{errorParams:o}:{}}}async function qs(e,t){return Ns(e,{...t,method:"GET"})}async function js(e,t,n){return Ns(e,{...n,method:"POST",body:t})}var Ds=3e5;async function Ls(){const e=Fa(),t=await qs(Os("/v1/storefront/shops/name/:storeSlug",{storeSlug:e.storeSlug}),{cache:{key:`store:${e.storeSlug}`,ttl:Ds,staleWhileRevalidate:!0}});return t.success&&t.data?(t.data.shop?.id&&Ya(t.data.shop.id),{success:!0,data:t.data.shop}):{success:!1,message:t.message}}async function Zs(e){const t=Fa(),n=new URLSearchParams;Number.isFinite(e?.productsLimit)&&n.set("products_limit",String(Math.max(1,Math.floor(e?.productsLimit??0)))),"string"==typeof e?.productsCursor&&e.productsCursor.trim().length>0&&n.set("products_cursor",e.productsCursor);const o=n.size>0?`?${n.toString()}`:"",r=await qs(`${Os("/v1/storefront/shops/name/:storeSlug",{storeSlug:t.storeSlug})}${o}`,{cache:{key:`storefront:${t.storeSlug}:${e?.productsLimit??"full"}:${e?.productsCursor??"start"}`,ttl:Ds,staleWhileRevalidate:!0}});return r.success&&r.data?(r.data.shop?.id&&Ya(r.data.shop.id),{success:!0,data:{shop:r.data.shop,products:r.data.products??[],products_pagination:r.data.products_pagination??null,groups:r.data.groups??[],items:r.data.items??[],categories:r.data.categories??[],addons:r.data.addons??{items:[]}}}):{success:!1,message:r.message}}var Ms=12e4;function Fs(e){if(e.variants&&e.variants.length>0)return e;const t=e.price_variants;return Array.isArray(t)&&0!==t.length?{...e,variants:t.map(e=>function(e){return{id:e.id,title:e.title??e.label??"",price:"number"==typeof e.price?e.price:Number(e.price)||0,stock:"number"==typeof e.stock?e.stock:void 0,orderable:"boolean"==typeof e.orderable?e.orderable:void 0,supplier_backed:"boolean"==typeof e.supplier_backed?e.supplier_backed:void 0,quantity_min:e.quantity_min,quantity_max:e.quantity_max,quantityMin:e.quantityMin,quantityMax:e.quantityMax,image_id:e.image_id,imageId:e.imageId,cloudflare_image_id:e.cloudflare_image_id,cloudflareImageId:e.cloudflareImageId,image_url:e.image_url,imageUrl:e.imageUrl}}(e))}:e}async function Bs(){const e=Fa(),t=await qs(Os("/v1/storefront/products/public/:storeSlug",{storeSlug:e.storeSlug}),{cache:{key:`products:${e.storeSlug}`,ttl:Ms,staleWhileRevalidate:!0}});return t.success&&t.data?{success:!0,data:us(t.data.products.map(Fs))}:{success:!1,message:t.message,data:[]}}var Ys="shoppex:affiliate_code:v1";function Js(){return Date.now()}function Ws(e){const t=e?.trim().toLowerCase();return t||null}function Gs(e,t=30){const n=Ws(e);return n?(function(e){if("undefined"!=typeof window)try{window.localStorage.setItem(Ys,JSON.stringify(e))}catch{}}({code:n,expiresAt:Js()+(o=t,24*Math.max(1,o)*60*60*1e3)}),n):(Hs(),null);var o}function Hs(){if("undefined"!=typeof window)try{window.localStorage.removeItem(Ys)}catch{}}function Vs(){const e=function(){if("undefined"==typeof window)return null;try{const e=window.localStorage.getItem(Ys);if(!e)return null;const t=JSON.parse(e);return t&&"string"==typeof t.code&&"number"==typeof t.expiresAt?t:null}catch{return null}}();return e?e.expiresAt<=Js()?(Hs(),null):Ws(e.code):null}async function Ks(e){const t=Ws(e);if(!t)return{success:!1,data:{valid:!1,affiliate_code:null,discount_active:!1,discount_percent:0},message:"Affiliate code is required"};const n=Fa(),o=await js("/v1/storefront/affiliates/resolve",{shop_slug:n.storeSlug,code:t},{retries:0});if(!o.success)return o;if(!o.data?.valid||!o.data.affiliate_code){const e=!1===o.data?.program_enabled;return{success:!1,data:{valid:!1,...void 0!==o.data?.program_enabled?{program_enabled:o.data.program_enabled}:{},affiliate_code:null,discount_active:!1,discount_percent:0},message:o.message??(e?"Affiliate program is disabled for this shop.":"Invalid affiliate code.")}}return{success:!0,data:{valid:!0,...void 0!==o.data.program_enabled?{program_enabled:o.data.program_enabled}:{},affiliate_code:Ws(o.data.affiliate_code),discount_active:Boolean(o.data.discount_active),discount_percent:Number(o.data.discount_percent??0)},...o.message?{message:o.message}:{}}}function Xs(e){if(!e)return{};const t=Object.entries(e).filter(([,e])=>"string"==typeof e).sort(([e],[t])=>e.localeCompare(t));return Object.fromEntries(t)}function Qs(e){const t={product_id:e.product_id,variant_id:e.variant_id,price_variant_id:e.price_variant_id??null,addons:(n=e.addons,n?.length?[...n].map(e=>({id:e.id,quantity:e.quantity??1})).sort((e,t)=>e.id.localeCompare(t.id)):[]),custom_fields:Xs(e.custom_fields),unit_price:"number"==typeof e.price_data?.unit_price&&Number.isFinite(e.price_data.unit_price)?e.price_data.unit_price:null,pay_what_you_want_price:"number"==typeof e.pay_what_you_want_price&&Number.isFinite(e.pay_what_you_want_price)?e.pay_what_you_want_price:null};var n;return function(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return(t>>>0).toString(16)}(JSON.stringify(t))}function eu(e){return"string"==typeof e.line_id&&e.line_id.trim()?e:{...e,line_id:Qs(e)}}function tu(e){const t=e?.trim().toUpperCase();return t&&/^[A-Z]{3}$/.test(t)?t:null}function nu(){if("undefined"==typeof window||!window.location)return null;const e="string"==typeof window.location.search?window.location.search:"";if(e)return tu(new URLSearchParams(e).get("currency"));const t="string"==typeof window.location.href?window.location.href:"";if(!t)return null;try{return tu(new URL(t,"https://storefront.shoppex.local").searchParams.get("currency"))}catch{return null}}var ou={cart:"cart",cartBackup:"cart_backup",meta:"cart_meta",metaBackup:"cart_backup_meta",coupon:"cart_coupon",couponBackup:"cart_coupon_backup"};function ru(e){return`${ou[e]}_${Fa().storeSlug}`}function iu(e){return function(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return(t>>>0).toString(16)}(JSON.stringify(e))}function au(e){if(!Number.isFinite(e))throw new d("quantity must be a finite number");return Math.floor(e)}function su(e){const t=e?.trim().toUpperCase();return t||null}function uu(){const e=xs(ru("coupon"));if(!e||"object"!=typeof e||Array.isArray(e))return null;const t=e,n="string"==typeof t.code?su(t.code):null,o="COUPON"===t.source||"AFFILIATE"===t.source?t.source:null;return n&&o?{code:n,source:o}:null}function lu(e){if(!Array.isArray(e))return[];const t=[];for(const n of e){if(!n||"object"!=typeof n)continue;const e=n,o="string"==typeof e.product_id?e.product_id.trim():"",r="string"==typeof e.variant_id?e.variant_id.trim():"",i=Number(e.quantity);if(!o||!r||!Number.isFinite(i)||i<1)continue;const a={line_id:"",product_id:o,variant_id:r,quantity:Math.floor(i)};if("string"==typeof e.price_variant_id&&(a.price_variant_id=e.price_variant_id),e.price_data&&"object"==typeof e.price_data){const t=e.price_data;"number"==typeof t.unit_price&&Number.isFinite(t.unit_price)&&(a.price_data={unit_price:t.unit_price})}"number"==typeof e.pay_what_you_want_price&&Number.isFinite(e.pay_what_you_want_price)&&(a.pay_what_you_want_price=e.pay_what_you_want_price),Array.isArray(e.addons)&&(a.addons=e.addons),e.custom_fields&&"object"==typeof e.custom_fields&&!Array.isArray(e.custom_fields)&&(a.custom_fields=e.custom_fields),"string"==typeof e.title&&(a.title=e.title),"string"==typeof e.variant_title&&(a.variant_title=e.variant_title),"string"==typeof e.image_url&&(a.image_url=e.image_url),Array.isArray(e.addon_labels)&&(a.addon_labels=e.addon_labels.filter(e=>"string"==typeof e)),"number"==typeof e.max_quantity&&Number.isFinite(e.max_quantity)&&(a.max_quantity=e.max_quantity),"number"==typeof e.min_quantity&&Number.isFinite(e.min_quantity)&&(a.min_quantity=e.min_quantity),gu(a),a.line_id=("string"==typeof e.line_id?e.line_id.trim():"")||Qs(a),t.push(eu(a))}return t}function cu(){return xs(ru("meta"))}function du(){return uu()?.code??null}function pu(){return uu()?.source??null}function fu(e,t="COUPON"){const n=su(e);return n?(Ts(ru("coupon"),{code:n,source:t}),n):(Es(ru("coupon")),null)}function mu(){Es(ru("coupon"))}function _u(e){const t=lu(e);Ts(ru("cart"),t);const n=Date.now(),o=cu(),r={created_at:o?.created_at??n,last_modified:n,version:(o?.version??0)+1,checksum:iu(t)};Ts(ru("meta"),r),0===t.length&&mu()}function hu(e,t){const n=lu(e);Ts(ru("cart"),n);const o=Date.now(),r=t??cu(),i={created_at:r?.created_at??o,last_modified:o,version:r?.version??1,checksum:iu(n)};Ts(ru("meta"),i)}function yu(){return lu(xs(ru("cart")))}function gu(e){const t=e.min_quantity;"number"==typeof t&&Number.isFinite(t)&&e.quantity<t&&(e.quantity=Math.floor(t));const n=e.max_quantity;"number"==typeof n&&Number.isFinite(n)&&e.quantity>n&&(e.quantity=Math.floor(n)),e.quantity<1&&(e.quantity=1)}function bu(){Es(ru("cart")),Es(ru("meta")),mu(),ku=null,Ou+=1}function vu(){const e=yu();Ts(ru("cartBackup"),e);const t=uu();t?Ts(ru("couponBackup"),t):Es(ru("couponBackup"));const n=cu();if(n)Ts(ru("metaBackup"),n);else{const t=Date.now();Ts(ru("metaBackup"),{created_at:t,last_modified:t,version:1,checksum:iu(e)})}}function wu(){const e=yu(),t=cu(),n=iu(e);return t?t.checksum===n:(hu(e,null),!0)}function Su(){const e=du();return"AFFILIATE"===pu()&&e?e.trim().toLowerCase():Vs()}var ku=null,Ou=0;function zu(){return ku}var xu="Your cart changed while checkout was starting. Please review it and try again.";function Tu(e,t){return void 0!==t&&JSON.stringify(e)!==t}function Eu(e){const t=e?.trim();return t||null}function Au(e){const t=e?.trim();return t||null}function Iu(e){return"/dashboard/api/checkout"===e.customerCheckoutPath&&"undefined"!=typeof window&&"string"==typeof window.location?.origin?{endpoint:e.customerCheckoutPath,baseUrl:window.location.origin}:{endpoint:"/v1/storefront/invoices/from-cart"}}function $u(e){return tu(e.currency)??nu()??tu(Fa().currency)}function Pu(e){const t=e?.trim()??"";if(!t)return"Checkout failed. Please try again.";if(Nu(t))return"Your cart is outdated. Please add the products again.";const n=t.match(/^HTTP\s+(\d{3})(?::\s*(.*))?$/i);if(n){const e=Number(n[1]),t=n[2]?.trim();return t&&t.length>0?`Checkout failed: ${t}`:e>=500?"Checkout is temporarily unavailable. Please try again.":400===e?"Checkout failed. Please check your details and try again.":401===e||403===e?"Checkout is currently unavailable for this request.":"Checkout failed. Please try again."}return/^internal server error$/i.test(t)?"Checkout is temporarily unavailable. Please try again.":t}function Nu(e){const t=e?.trim().toLowerCase()??"";return!!t&&(t.includes("product not found")||t.includes("product not available")||t.includes("products are no longer available")||t.includes("outdated product"))}function Cu(e,t,n){const o=t?.trim();if(!o)return null;try{const t=new URL(e),r=new URL(o);if(t.origin!==r.origin)return null;const i=t.pathname.replace(/\/+$/,""),a=`${r.pathname.replace(/\/+$/,"")}/invoice/`.replace(/\/{2,}/g,"/");if(!i.startsWith(a))return null;const s=i.slice(a.length);if(!s||s.includes("/"))return null;if(n){const e=n.trim();if(!e||decodeURIComponent(s)!==e)return null}return t.toString()}catch{return null}}function Ru(e,t){const n=Au(t.email),o="string"==typeof t.locale?t.locale.trim():"";if(!n&&!o)return e;try{const t=new URL(e);if(o&&t.searchParams.set("locale",o),n){const e=new URLSearchParams(t.hash.startsWith("#")?t.hash.slice(1):t.hash);e.set("shoppex_prefill_email",n),t.hash=e.toString()}return t.toString()}catch{return e}}function Uu(e,t){const n=e?.invoice,o=e?.invoiceId?.trim()||e?.invoice_id?.trim()||e?.uniqid?.trim()||n?.invoiceId?.trim()||n?.invoice_id?.trim()||n?.uniqid?.trim();let r=e?.checkoutUrl?.trim()||e?.checkout_url?.trim()||e?.url_branded?.trim()||e?.url?.trim()||n?.checkoutUrl?.trim()||n?.checkout_url?.trim()||n?.url_branded?.trim()||n?.url?.trim();return!r&&o&&n&&(r=function(e,t){const n=e?.trim();if(!n)return null;try{const e=new URL(n);return e.pathname=`${e.pathname.replace(/\/+$/,"")}/invoice/${encodeURIComponent(t)}`.replace(/\/{2,}/g,"/"),e.search="",e.hash="",e.toString()}catch{return null}}(t,o)??void 0),o&&r?{invoiceId:o,checkoutUrl:r,rewards:e?.rewards??n?.rewards??null}:null}function qu(e,t){return"string"==typeof e?{...t,coupon:e}:e??t??{}}function ju(e,t){const n=e.affiliateCode??e.referralCode;if("string"==typeof n){const e=n.trim().toLowerCase();return e.length>0?e:null}return t?.trim().toLowerCase()??Vs()}function Du(e){const t=du(),n=pu();return{coupon:void 0===e.coupon?"COUPON"===n?t:null:Eu(e.coupon),affiliateCode:ju(e,void 0===e.coupon&&"AFFILIATE"===n?t:null)}}function Lu(e){const t=e=>{const t=e?.trim();return t?"default"===t.toLowerCase()?null:t:null};return e.map(e=>({product_id:e.product_id,variant_id:t(e.variant_id),quantity:e.quantity,addons:e.addons?.map(e=>({id:e.id,quantity:e.quantity??1})),custom_fields:e.custom_fields,price_variant_id:e.price_variant_id||null,pay_what_you_want_price:e.pay_what_you_want_price}))}function Zu(e){if("number"==typeof e&&Number.isFinite(e))return e;if("string"==typeof e&&""!==e.trim()){const t=Number(e);return Number.isFinite(t)?t:null}return null}function Mu(...e){for(const t of e)if("string"==typeof t&&t.length>0)return t}function Fu(e,t){const n=e,o=Zu(n.rating)??Zu(n.score)??0,r=Mu(n.comment,n.message),i=Mu(n.author,n.customer_name),a=n.created_at??n.createdAt,s="number"==typeof a||"string"==typeof a?String(a):"",u=Mu(n.id,n.uniqid)??`review:${s||t}`;return{...n,id:u,rating:o,...r?{comment:r}:{},...i?{author:i}:{},created_at:s}}async function Bu(e){const t=Fa(),n=new URLSearchParams;n.set("limit",String(100)),"string"==typeof e&&e.trim().length>0&&n.set("cursor",e);const o=`?${n.toString()}`,r=await qs(`${Os("/v1/storefront/feedback/shop/:storeSlug",{storeSlug:t.storeSlug})}${o}`,{cache:{key:`reviews:${t.storeSlug}:${e??"start"}:100`,ttl:12e4,staleWhileRevalidate:!0}});return r.success&&r.data?{success:!0,data:{...r.data,feedback:r.data.feedback.map(Fu)}}:{success:!1,message:r.message}}function Yu(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function Ju(e,t){return"string"==typeof e.error&&e.error.length>0?e.error:"string"==typeof e.message&&e.message.length>0?e.message:t.statusText?`HTTP ${t.status}: ${t.statusText}`:`HTTP ${t.status}`}function Wu(e){const t="string"==typeof e.error_code&&e.error_code.length>0?e.error_code:null;return t?{code:t,...Yu(e.error_params)?{errorParams:e.error_params}:{}}:{}}async function Gu(e,t={}){const n=t.method??"GET",o={Accept:"application/json"};void 0!==t.body&&(o["Content-Type"]="application/json");const r=t.formData??(void 0!==t.body?JSON.stringify(t.body):void 0);try{const a=await fetch(`/api/customer${e}`,{method:n,headers:o,body:r,credentials:"same-origin",cache:"no-store"});if(204===a.status)return a.ok?{success:!0,status:a.status}:{success:!1,status:a.status,message:Ju({status:a.status,data:null},a)};let s;try{s=await a.json()}catch{return{success:!1,status:a.status,message:"Invalid customer API response"}}const u=Yu(i=s)&&"number"==typeof i.status&&"data"in i?i:null;if(!u)return{success:!1,status:a.status,message:"Invalid customer API response"};if(!a.ok||u.status<200||u.status>=300)return{success:!1,status:a.status,message:Ju(u,a),...Wu(u)};const l="string"==typeof u.message&&u.message.length>0?{message:u.message}:{};if(!t.schema)return{success:!0,data:u.data,...l};const c=t.schema.safeParse(u.data);return c.success?{success:!0,data:c.data,...l}:{success:!1,message:"Customer API response did not match the expected contract"}}catch(a){return{success:!1,message:a instanceof Error?a.message:String(a)}}var i}function Hu(e){return Gu("/auth/otp/request",{method:"POST",body:{email:e}})}function Vu(e,t){return Gu("/auth/otp/verify",{method:"POST",body:{email:e,otp:t}})}function Ku(){return Gu("/auth/logout",{method:"POST"})}function Xu(){return Gu("/me")}function Qu(){return Gu("/dashboard",{schema:qa})}function el(e={}){const t=new URLSearchParams;return void 0!==e.page&&t.set("page",String(e.page)),void 0!==e.limit&&t.set("limit",String(e.limit)),e.status&&t.set("status",e.status),e.search&&t.set("q",e.search),Gu("/invoices"+(t.size>0?`?${t.toString()}`:""),{schema:Aa})}function tl(e){return Gu(`/invoice/${encodeURIComponent(e)}`,{schema:$a})}function nl(e){return Gu(`/licenses/${encodeURIComponent(e)}/reset-hwid`,{method:"POST",body:{}})}function ol(e){return Gu(`/subscriptions/${encodeURIComponent(e)}/billing-history`)}function rl(e,t={}){return Gu(`/subscriptions/${encodeURIComponent(e)}/cancel`,{method:"POST",body:{...void 0!==t.cancel_at_period_end?{cancel_at_period_end:t.cancel_at_period_end}:{},...void 0!==t.reason?{reason:t.reason}:{}}})}function il(e){return Gu(`/subscriptions/${encodeURIComponent(e)}/pause`,{method:"POST",body:{}})}function al(e){return Gu(`/subscriptions/${encodeURIComponent(e)}/resume`,{method:"POST",body:{}})}function sl(){return Gu("/favorites")}function ul(e){return Gu(`/favorites/${encodeURIComponent(e)}`,{method:"PUT"})}function ll(e){return Gu(`/favorites/${encodeURIComponent(e)}`,{method:"DELETE"})}function cl(){return Gu("/affiliate")}function dl(e){return Gu("/tickets",{method:"POST",body:{...void 0!==e.title?{title:e.title}:{},message:e.message,...void 0!==e.invoice_id?{invoice_id:e.invoice_id}:{}}})}function pl(e){return Gu(`/tickets/${encodeURIComponent(e)}`)}function fl(e,t){return Gu(`/tickets/${encodeURIComponent(e)}/reply`,{method:"POST",body:{message:t}})}function ml(e){return Gu("/profile",{method:"POST",body:{name:e.name}})}function _l(e){const t=new FormData;return t.append("file",e),Gu("/profile/avatar",{method:"POST",formData:t})}function hl(){return Gu("/profile/avatar",{method:"DELETE"})}function yl(){return Gu("/email-marketing/preferences")}function gl(e){return Gu("/email-marketing/preferences",{method:"PATCH",body:{...void 0!==e.global_unsubscribed?{global_unsubscribed:e.global_unsubscribed}:{},...void 0!==e.list_subscriptions?{list_subscriptions:e.list_subscriptions}:{}}})}function bl(){return Gu("/sessions")}function vl(e){return Gu(`/sessions/${encodeURIComponent(e)}`,{method:"DELETE"})}function wl(){return Gu("/sessions?others=true",{method:"DELETE"})}function Sl(){return Gu("/wallet/topup-quote")}function kl(e){return Gu("/wallet/topup",{method:"POST",body:{amount:e}})}function Ol(){return Gu("/reseller")}function zl(e){return Gu("/reseller/apply",{method:"POST",body:void 0===e?{}:{note:e}})}function xl(){return Gu("/reseller/enroll",{method:"POST",body:{}})}function Tl(e){return Gu("/reseller/accept-invite",{method:"POST",body:{token:e}})}function El(e={}){const t=new URLSearchParams;return void 0!==e.search&&t.set("search",e.search),void 0!==e.page&&t.set("page",String(e.page)),void 0!==e.per_page&&t.set("per_page",String(e.per_page)),Gu("/reseller/catalog"+(t.size>0?`?${t.toString()}`:""))}function Al(e){return Gu("/reseller/orders/quote",{method:"POST",body:{items:e}})}function Il(e={}){const t=new URLSearchParams;return void 0!==e.page&&t.set("page",String(e.page)),void 0!==e.per_page&&t.set("per_page",String(e.per_page)),Gu("/reseller/orders"+(t.size>0?`?${t.toString()}`:""))}function $l(e){return Gu(`/reseller/orders/${encodeURIComponent(e)}`)}function Pl(){return Gu("/reseller/wallet")}function Nl(){return Gu("/reseller/wallet/topup-quote")}function Cl(e){return Gu("/reseller/wallet/topup",{method:"POST",body:{amount:e}})}function Rl(){return Gu("/reseller/api-keys")}function Ul(e){return Gu(`/reseller/api-keys/${encodeURIComponent(e)}`,{method:"DELETE"})}function ql(e){const t=e.trim();return t||null}var jl=3e5;var Dl=3e5;async function Ll(){const e=Fa(),t=await qs(Os("/v1/storefront/shops/name/:storeSlug/menus",{storeSlug:e.storeSlug}),{cache:{key:`menus:${e.storeSlug}`,ttl:Dl,staleWhileRevalidate:!0}});return t.success&&t.data?{success:!0,data:t.data.menus}:{success:!1,message:t.message}}async function Zl(e){const t=Fa(),n=await qs(Os("/v1/storefront/shops/name/:storeSlug/menus/:title",{storeSlug:t.storeSlug,title:e}),{cache:{key:`menu:${t.storeSlug}:${e}`,ttl:Dl,staleWhileRevalidate:!0}});return n.success&&n.data?{success:!0,data:n.data.menu}:{success:!1,message:n.message}}async function Ml(e){return Zl(e)}async function Fl(e){const t=Fa(),n=await qs(Os("/v1/storefront/shops/name/:storeSlug/menus/:title",{storeSlug:t.storeSlug,title:e}),{cache:{key:`menu-slot:${t.storeSlug}:${e}`,ttl:Dl,staleWhileRevalidate:!0}});return n.success&&n.data?{success:!0,data:n.data.menu}:{success:!1,message:n.message}}function Bl(e){return function(e){const t=S[e];return[t.title,...t.aliases]}(e)}var Yl=["utm_source","utm_medium","utm_campaign","utm_term","utm_content"];function Jl(e){return`shoppex:utm:${e}`}function Wl(e){if("undefined"==typeof window||void 0===window.location)return;const t=function(e){let t;try{t=new URLSearchParams(e)}catch{return{}}const n={};for(const o of Yl){const e=t.get(o)?.trim();e&&(n[o]=e.slice(0,255))}return n}(window.location.search);if(Object.keys(t).length>0)return function(e,t){try{const n={utm:t,at:Date.now()};window.localStorage.setItem(Jl(e),JSON.stringify(n))}catch{}}(e,t),t;const n=function(e){try{const t=window.localStorage.getItem(Jl(e));if(!t)return{};const n=JSON.parse(t);if(!n||"number"!=typeof n.at||"object"!=typeof n.utm)return{};if(Date.now()-n.at>2592e6)return window.localStorage.removeItem(Jl(e)),{};const o={};for(const e of Yl){const t=n.utm?.[e];"string"==typeof t&&t.length>0&&(o[e]=t.slice(0,255))}return o}catch{return{}}}(e);return Object.keys(n).length>0?n:void 0}async function Gl(e,t){if(!Ba())return;if("undefined"==typeof document)return;const n=Fa(),o=As(n.storeSlug);try{const r=Os("/v1/storefront/shops/:storeSlug/ping",{storeSlug:n.storeSlug});await fetch(`${n.apiBaseUrl}${r}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({referer:document.referrer||void 0,cart_value:e??void 0,item_count:t??void 0,connection_id:o??void 0,utm:Wl(n.storeSlug)})})}catch{}}async function Hl(){if(!Ba())return{success:!1,message:"SDK not initialized"};const e=Fa(),t=Ja();return qs(t?Os("/v1/storefront/shops/id/:id/recent-sales",{id:t}):Os("/v1/storefront/shops/:storeSlug/recent-sales",{storeSlug:e.storeSlug}),{cache:!1,retries:0,timeout:5e3})}async function Vl(){if(!Ba())return{success:!1,message:"SDK not initialized"};const e=Fa(),t=Ja();return qs(t?Os("/v1/storefront/shops/id/:id/online-users",{id:t}):Os("/v1/storefront/shops/:storeSlug/online-users",{storeSlug:e.storeSlug}),{cache:!1,retries:0,timeout:5e3})}async function Kl(){if(!Ba())return{success:!1,message:"SDK not initialized"};if("undefined"==typeof document)return{success:!1,message:"Document is not available"};const e=Fa(),t=Ja();return js(t?Os("/v1/storefront/shops/id/:id/ping",{id:t}):Os("/v1/storefront/shops/:storeSlug/ping",{storeSlug:e.storeSlug}),{referer:document.referrer||void 0,connection_id:As(e.storeSlug)??void 0,utm:Wl(e.storeSlug)},{retries:0,timeout:5e3})}function Xl(e,t){const n=Fa();return new Intl.NumberFormat(t??n.locale??"en-US",{style:"currency",currency:e??n.currency??"USD",...ba})}function Ql(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function ec(e){return Ql(e)&&Ql(e.theme)?{...e,version:"number"==typeof e.version?e.version:0,revision:"number"==typeof e.revision?e.revision:0,theme:{...e.theme,content:Ql(e.theme.content)?e.theme.content:{},layout:Ql(e.theme.layout)?e.theme.layout:{},style_slots:Ql(e.theme.style_slots)?e.theme.style_slots:{},...Array.isArray(e.theme.pages)?{pages:e.theme.pages}:{},...Ql(e.theme.terms)?{terms:e.theme.terms}:{}}}:null}async function tc(e){const t=await qs(Os("/v1/storefront/themes/builder/published/:shopSlug",{shopSlug:e}));return t.success&&t.data?Ql(n=t.data)?{settings:Ql(n.settings)?n.settings:{},builder_settings:ec(n.builder_settings),content:Ql(n.content)?n.content:{},style_slots:Ql(n.style_slots)?n.style_slots:{}}:null:null;var n}async function nc(e){const t=await tc(e);return t?t.settings:null}function oc(e){const t={};for(const[n,o]of Object.entries(e.settings)){t[n]={};for(const[e,r]of Object.entries(o))t[n][e]=r.default}return t}function rc(e,t){const n={...e};for(const[o,r]of Object.entries(t))r&&(n[o]={...n[o],...r});return n}var ic={init:function(e,t){"string"==typeof e?Ma(e,t):Ma(e.storeId,e)},isInitialized:Ba,getConfig:Fa,client:function(e){const t=Fa().apiBaseUrl??"https://api.shoppex.io";if(ja&&Da===t&&!e)return ja;const n=function(e,t){return f({baseUrl:e,headers:t?{Authorization:`Bearer ${t}`}:void 0})}(t,e);return e||(ja=n,Da=t),n},getStore:Ls,getStorefront:Zs,getStoreLogoUrl:async function(){const e=await Ls();return e.success&&e.data?.logo?e.data.logo:null},getStoreBannerUrl:async function(){const e=await Ls();return e.success&&e.data?.banner?e.data.banner:null},resolveStoreByDomain:async function(e,t){const n=e??("undefined"!=typeof window?window.location.hostname:"");if(!n)return{success:!1,message:"Domain is required to resolve store"};const o=n.replace(/^https?:\/\//,"").split("/")[0].trim(),r=t??(Ba()?Fa().apiBaseUrl:"https://api.shoppex.io"),i=await qs(Os("/v1/storefront/shops/domain/:domain",{domain:o}),{baseUrl:r,cache:{key:`store:domain:${o}`,ttl:Ds,staleWhileRevalidate:!0}});return i.success&&i.data?.shop?(i.data.shop.id&&Ya(i.data.shop.id),{success:!0,data:i.data.shop}):{success:!1,message:i.message??"Failed to resolve store"}},getProducts:Bs,getStorefrontProductsPage:async function(e){const t=Fa(),n=new URLSearchParams;"string"==typeof e?.cursor&&e.cursor.trim().length>0&&n.set("cursor",e.cursor),Number.isFinite(e?.limit)&&n.set("limit",String(Math.max(1,Math.floor(e?.limit??0)))),"string"==typeof e?.sort&&e.sort.trim().length>0&&n.set("sort",e.sort.trim()),"string"==typeof e?.category&&e.category.trim().length>0&&n.set("category",e.category.trim()),!0===e?.hideOutOfStock&&n.set("hide_out_of_stock","true");const o=n.size>0?`?${n.toString()}`:"",r=await qs(`${Os("/v1/storefront/products/shop/:storeSlug",{storeSlug:t.storeSlug})}${o}`,{cache:{key:`products:page:${t.storeSlug}:${e?.limit??"default"}:${e?.cursor??"start"}:${e?.sort??"featured"}:${i=e?.category,void 0===i?"category:unset":null===i?"category:null":`category:${i}`}:${!0===e?.hideOutOfStock?"in-stock":"all-stock"}`,ttl:Ms,staleWhileRevalidate:!0}});var i;return r.success&&r.data?{success:!0,data:{products:r.data.products.map(Fs),pagination:r.data.pagination??null}}:{success:!1,message:r.message}},getProduct:async function(e){let t=Ja();if(!t){const e=await Ls();t=e.success?e.data?.id??null:null}const n=t?`?slug_shop_id=${encodeURIComponent(t)}`:"",o=await qs(`${Os("/v1/storefront/products/unique/:idOrSlug",{idOrSlug:e})}${n}`,{cache:{key:`product:${e}:${t??"no-shop"}`,ttl:Ms,staleWhileRevalidate:!0}});return o.success&&o.data?.product?{success:!0,data:Fs(o.data.product)}:{success:!1,message:o.message}},getCategories:async function(){const e=await Bs();if(!e.success||!e.data)return{success:!1,message:e.message};const t=/* @__PURE__ */new Set;for(const n of e.data)if(n.categories)for(const e of n.categories)"string"==typeof e?t.add(e):e&&"object"==typeof e&&"uniqid"in e&&t.add(e.uniqid);return{success:!0,data:Array.from(t)}},getCart:yu,getCartItemCount:function(){return yu().reduce((e,t)=>e+t.quantity,0)},getCartCoupon:du,getCartCouponSource:pu,setCartCoupon:fu,clearCartCoupon:mu,addToCart:function(e,t,n=1,o){if(!e||!t)throw new d("product_id and variant_id are required");const r=au(n);if(r<1)throw new d("quantity must be at least 1");const i=yu(),a=Qs({product_id:e,variant_id:t,addons:o?.addons,custom_fields:o?.custom_fields,price_variant_id:o?.price_variant_id,price_data:o?.price_data,pay_what_you_want_price:o?.pay_what_you_want_price}),s=i.findIndex(e=>e.line_id===a);if(s>=0)i[s].quantity+=r,o?.addons&&(i[s].addons=o.addons),o?.custom_fields&&(i[s].custom_fields=o.custom_fields),o?.price_variant_id&&(i[s].price_variant_id=o.price_variant_id),o?.price_data&&(i[s].price_data=o.price_data),void 0!==o?.pay_what_you_want_price&&(i[s].pay_what_you_want_price=o.pay_what_you_want_price),function(e,t){if(t?.replace_display_snapshot)return e.title=t.title,e.variant_title=t.variant_title,e.image_url=t.image_url,e.addon_labels=t.addon_labels,e.max_quantity=t.max_quantity,void(e.min_quantity=t.min_quantity);void 0!==t?.title&&(e.title=t.title);void 0!==t?.variant_title&&(e.variant_title=t.variant_title);void 0!==t?.image_url&&(e.image_url=t.image_url);void 0!==t?.addon_labels&&(e.addon_labels=t.addon_labels);void 0!==t?.max_quantity&&(e.max_quantity=t.max_quantity);void 0!==t?.min_quantity&&(e.min_quantity=t.min_quantity)}(i[s],o),gu(i[s]);else{const n={line_id:a,product_id:e,variant_id:t,quantity:r,addons:o?.addons,custom_fields:o?.custom_fields,price_variant_id:o?.price_variant_id,price_data:o?.price_data,pay_what_you_want_price:o?.pay_what_you_want_price,title:o?.title,variant_title:o?.variant_title,image_url:o?.image_url,addon_labels:o?.addon_labels,max_quantity:o?.max_quantity,min_quantity:o?.min_quantity};gu(n),i.push(n)}_u(i)},setCartItem:function(e,t,n=1,o){if(!e||!t)throw new d("product_id and variant_id are required");const r=au(n);if(r<1)throw new d("quantity must be at least 1");const i=yu(),a=Qs({product_id:e,variant_id:t,addons:o?.addons,custom_fields:o?.custom_fields,price_variant_id:o?.price_variant_id,price_data:o?.price_data,pay_what_you_want_price:o?.pay_what_you_want_price});for(let u=i.length-1;u>=0;u-=1)i[u].product_id===e&&i[u].variant_id===t&&i.splice(u,1);const s={line_id:a,product_id:e,variant_id:t,quantity:r,addons:o?.addons,custom_fields:o?.custom_fields,price_variant_id:o?.price_variant_id,price_data:o?.price_data,pay_what_you_want_price:o?.pay_what_you_want_price,title:o?.title,variant_title:o?.variant_title,image_url:o?.image_url,addon_labels:o?.addon_labels,max_quantity:o?.max_quantity,min_quantity:o?.min_quantity};gu(s),i.push(s),_u(i)},updateCartItem:function(e,t){const n=yu(),o=e.trim();if(!o)throw new d("line_id is required");const r=n.findIndex(e=>e.line_id===o);if(r<0)throw new d("Item not found in cart");const i=JSON.stringify(n);if(void 0!==t.quantity){const e=au(t.quantity);if(e<1)return n.splice(r,1),void _u(n);n[r].quantity=e}void 0!==t.addons&&(n[r].addons=t.addons),void 0!==t.custom_fields&&(n[r].custom_fields=t.custom_fields),void 0!==t.price_variant_id&&(n[r].price_variant_id=t.price_variant_id),void 0!==t.price_data&&(n[r].price_data=t.price_data),void 0!==t.pay_what_you_want_price&&(n[r].pay_what_you_want_price=t.pay_what_you_want_price),void 0!==t.max_quantity&&(null===t.max_quantity?delete n[r].max_quantity:n[r].max_quantity=t.max_quantity),void 0!==t.min_quantity&&(null===t.min_quantity?delete n[r].min_quantity:n[r].min_quantity=t.min_quantity),gu(n[r]);const a=Qs(n[r]),s=n.findIndex((e,t)=>t!==r&&e.line_id===a);s>=0?(n[s].quantity+=n[r].quantity,gu(n[s]),n.splice(r,1)):n[r].line_id=a,JSON.stringify(n)!==i&&_u(n)},removeFromCart:function(e){const t=e.trim();if(!t)throw new d("line_id is required");_u(yu().filter(e=>e.line_id!==t))},clearCart:bu,createCartBackup:vu,restoreCartFromBackup:function(){const e=lu(xs(ru("cartBackup"))),t=xs(ru("metaBackup")),n=xs(ru("couponBackup"));if(e&&e.length>0){if(hu(e,t),n&&"object"==typeof n&&!Array.isArray(n)){const e=n,t="COUPON"===e.source||"AFFILIATE"===e.source?e.source:null;"string"==typeof e.code&&t?fu(e.code,t):mu()}else mu();return!0}return!1},mergeBaskets:function(e){const t=yu();for(const n of e){const e="string"==typeof n.product_id?n.product_id.trim():"",o="string"==typeof n.variant_id?n.variant_id.trim():"";if(!e||!o)continue;let r;try{r=au(n.quantity)}catch{continue}if(r<1)continue;const i=eu({...n,line_id:n.line_id??Qs(n),product_id:e,variant_id:o,quantity:r}),a=t.findIndex(e=>e.line_id===i.line_id);a>=0?(t[a].quantity=Math.max(t[a].quantity,r),gu(t[a])):(gu(i),t.push(i))}return _u(t),t},moveBasketItem:function(e,t,n,o){const r=yu(),i=r.findIndex(n=>n.product_id===e&&n.variant_id===t);if(i<0)throw new d("Item not found in cart");const[a]=r.splice(i,1),s=Qs({...a,product_id:n,variant_id:o}),u=r.findIndex(e=>e.line_id===s);if(u>=0)r[u].quantity+=a.quantity,gu(r[u]);else{const e=eu({...a,product_id:n,variant_id:o,line_id:s});gu(e),r.push(e)}_u(r)},getCartStats:function(){const e=yu(),t=wu(),n=cu(),o=xs(ru("cartBackup"))??[],r=e.length>0&&e.every(e=>"number"==typeof e.price_data?.unit_price),i=e.reduce((e,t)=>e+va((t.price_data?.unit_price??0)*t.quantity),0);return{item_count:e.length,total_quantity:e.reduce((e,t)=>e+t.quantity,0),last_modified:n?.last_modified??0,version:n?.version??0,has_backup:o.length>0,integrity_valid:t,total_price:va(i),total_price_is_estimate:e.length>0&&!r}},validateCartIntegrity:wu,quoteCart:async function(e,t){const n=Ou+=1,o=function(e){const t=Fa(),n=su(e)??du()??void 0;return{store_slug:t.storeSlug,items:yu(),coupon:n}}(e),r=tu(t)??nu()??tu(Fa().currency),i=await js("/v1/storefront/cart/quote",{shop_slug:o.store_slug,cart:o.items,coupon:o.coupon,affiliate_code:Su()??void 0,currency:r??void 0});return n!==Ou||i.success&&(ku="string"==typeof i.data?.quote_token?i.data.quote_token:null),i},resolveCartLineId:function(e,t,n=yu()){const o=n.filter(n=>n.product_id===e&&n.variant_id===t);if(0===o.length)throw new d(`No cart line found for ${e}/${t}`);return o[0].line_id},checkout:async function(e,t){const n=qu(e,t),{autoRedirect:o=!0,email:r}=n,i=Du(n),a=i.coupon,s=Au(r),u=i.affiliateCode,l=$u(n),c=yu();if(0===c.length)return{success:!1,message:"Cart is empty"};if(Tu(c,n.expectedCart))return{success:!1,message:xu};vu();const d=Fa(),p=Iu(n),f=await js(p.endpoint,{shop_slug:d.storeSlug,cart:Lu(c),email:s,coupon:a,currency:l,affiliate_code:u,quote_token:zu()??void 0},{retries:0,baseUrl:p.baseUrl});if(!f.success||!f.data)return Nu(f.message)&&bu(),{success:!1,message:Pu(f.message),...f.code?{code:f.code}:{}};const m=Uu(f.data,d.checkoutBaseUrl);if(!m)return{success:!1,message:"Failed to create invoice"};const{invoiceId:_}=m,h=Cu(m.checkoutUrl,d.checkoutBaseUrl,_);if(!h)return{success:!1,message:"Failed to create invoice"};const y=Ru(h,{email:s,locale:n.locale??d.locale});return o&&"undefined"!=typeof window&&window?.location&&(window.location.href=y,bu()),{success:!0,redirectUrl:y,invoiceId:_,rewards:m.rewards}},buildCheckoutUrl:async function(e,t){const n=qu(e,t),{email:o}=n,r=Du(n),i=r.coupon,a=Au(o),s=r.affiliateCode,u=$u(n),l=yu();if(0===l.length)throw new Error("Cart is empty");if(Tu(l,n.expectedCart))throw new Error(xu);const c=Fa(),d=Iu(n),p=await js(d.endpoint,{shop_slug:c.storeSlug,cart:Lu(l),email:a,coupon:i,currency:u,affiliate_code:s,quote_token:zu()??void 0},{retries:0,baseUrl:d.baseUrl});if(!p.success||!p.data)throw Nu(p.message)&&bu(),new Error(Pu(p.message));const f=Uu(p.data,c.checkoutBaseUrl);if(!f)throw new Error("Failed to create invoice");const m=Cu(f.checkoutUrl,c.checkoutBaseUrl,f.invoiceId);if(!m)throw new Error("Failed to create invoice");return Ru(m,{email:a,locale:n.locale??c.locale})},buildCheckoutUrlSync:function(){throw new Error("buildCheckoutUrlSync is deprecated. Use buildCheckoutUrl (async) instead.")},captureAffiliateFromUrl:async function(e="ref"){if("undefined"==typeof window)return null;let t=null;try{const n=new URL(window.location.href).searchParams.get(e);t=n?n.trim():null}catch{t=null}if(t=Ws(t),!t)return null;if(Gs(t),Ba())try{const e=Fa(),n=await js("/v1/storefront/affiliates/attribution",{shop_slug:e.storeSlug,code:t},{retries:0});return n.success&&n.data?.accepted&&n.data?.affiliate_code?(Gs(n.data.affiliate_code),n.data.affiliate_code):(Hs(),null)}catch{return t}return t},validateAffiliateCode:Ks,applyAffiliateCode:async function(e){const t=await Ks(e);return t.success&&t.data?.affiliate_code&&Gs(t.data.affiliate_code),t},getAffiliateCode:Vs,setAffiliateCode:Gs,clearAffiliateCode:Hs,validateCoupon:async function(e,t){const n=e.trim();if(!n)return{success:!1,message:"Coupon code is required"};const o={code:n},r="string"==typeof t?t:t?.productId,i="string"==typeof t?void 0:t?.variantId;if(i&&!r)return{success:!1,message:"productId is required when variantId is provided"};if(r)o.product_id=r,i&&(o.variant_id=i);else{const e=yu();if(0===e.length)return{success:!1,message:"Cart is empty"};const t=await async function(){const e=Ja();if(e)return e;const t=await Ls();return t.success&&t.data?.id?t.data.id:null}();if(!t)return{success:!1,message:"Failed to resolve store"};o.cart=JSON.stringify({shop_id:t,products:e.map(e=>({uniqid:e.product_id,quantity:e.quantity,variant_id:e.variant_id,price_variant_id:e.price_variant_id,addons:e.addons?.map(e=>({id:e.id,quantity:e.quantity??1}))}))})}return await js("/v1/storefront/coupons/check",o)},getShopReviews:async function(){const e=[],t=/* @__PURE__ */new Set;let n=null;for(;;){const o=await Bu(n);if(!o.success||!o.data)return{success:!1,message:o.message,data:[]};e.push(...o.data.feedback);const r=o.data.pagination;if(!r?.has_more||!r.next_cursor)break;if(t.has(r.next_cursor))break;t.add(r.next_cursor),n=r.next_cursor}return{success:!0,data:e}},getShopReviewsPage:Bu,requestOtp:Hu,verifyOtp:Vu,logout:Ku,me:Xu,dashboard:Qu,orders:el,order:tl,resetLicenseHwid:nl,subscriptionBillingHistory:ol,cancelSubscription:rl,pauseSubscription:il,resumeSubscription:al,favorites:sl,addFavorite:ul,removeFavorite:ll,affiliate:cl,createTicket:dl,ticket:pl,replyToTicket:fl,updateProfile:ml,updateAvatar:_l,removeAvatar:hl,emailPreferences:yl,updateEmailPreferences:gl,sessions:bl,revokeSession:vl,revokeAllSessions:wl,walletTopupQuote:Sl,walletTopup:kl,reseller:Ol,applyForReseller:zl,enrollAsReseller:xl,acceptResellerInvite:Tl,resellerCatalog:El,quoteResellerOrder:Al,resellerOrders:Il,resellerOrder:$l,resellerWallet:Pl,resellerTopupQuote:Nl,resellerTopup:Cl,resellerApiKeys:Rl,revokeResellerApiKey:Ul,searchProducts:async function(e,t){if(!Ba())return{success:!1,message:"SDK not initialized"};const n=e.trim();if(!n)return{success:!0,data:[]};const o=await Zs();return o.success&&o.data?{success:!0,data:gs(o.data.products??[],o.data.groups??[],n,{hideOutOfStock:t?.hideOutOfStock,maxResults:t?.maxResults})}:{success:!1,message:o.message??"Failed to fetch storefront catalog"}},searchCatalogItems:async function(e,t){if(!Ba())return{success:!1,message:"SDK not initialized"};const n=e.trim();if(!n)return{success:!0,data:[]};const o=await Zs();return o.success&&o.data?{success:!0,data:ys(o.data.products??[],o.data.groups??[],n,{hideOutOfStock:t?.hideOutOfStock,maxResults:t?.maxResults})}:{success:!1,message:o.message??"Failed to fetch storefront catalog"}},getInvoice:async function(e){const t=ql(e);if(!t)return{success:!1,message:"Invoice ID is required"};const n=await qs(Os("/v1/storefront/invoices/unique/:invoiceId",{invoiceId:t}));return n.success?n.data?.invoice?{success:!0,data:n.data.invoice}:{success:!1,message:"Invalid invoice response"}:{success:!1,message:n.message}},getInvoiceStatus:async function(e){const t=ql(e);if(!t)return{success:!1,message:"Invoice ID is required"};const n=await qs(Os("/v1/storefront/invoices/status/:invoiceId",{invoiceId:t}));return n.success?n.data?.invoice?.status?{success:!0,data:{status:n.data.invoice.status}}:{success:!1,message:"Invalid invoice status response"}:{success:!1,message:n.message}},getPages:async function(){const e=Fa(),t=await qs(Os("/v1/storefront/shops/name/:storeSlug/pages",{storeSlug:e.storeSlug}),{cache:{key:`pages:${e.storeSlug}`,ttl:jl,staleWhileRevalidate:!0}});return t.success&&t.data?{success:!0,data:t.data.pages}:{success:!1,message:t.message}},getPage:async function(e){const t=Fa(),n=await qs(Os("/v1/storefront/shops/name/:storeSlug/pages/:slug",{storeSlug:t.storeSlug,slug:e}),{cache:{key:`page:${t.storeSlug}:${e}`,ttl:jl,staleWhileRevalidate:!0}});return n.success&&n.data?{success:!0,data:n.data.page}:{success:!1,message:n.message}},getMenus:Ll,getMenu:Ml,getMenuBySlot:Fl,getMenuByTitle:Zl,getMenuSlotTitles:Bl,trackPageView:Gl,getStorefrontOnlineUsers:Vl,getStorefrontRecentSales:Hl,touchStorefrontPresence:Kl,createFormatter:Xl,formatPrice:function(e,t,n){const o="string"==typeof e?parseFloat(e):e;return Number.isNaN(o)?Xl(t,n).format(0):Xl(t,n).format(o)},clearCache:o,invalidateCache:function(t){for(const n of e.keys())(n===t||n.startsWith(t))&&e.delete(n)},getCacheStats:function(){return{hits:n.hits,misses:n.misses,pendingRequests:t.size,entries:e.size}},fetchPublishedBuilderSettings:tc,fetchPublishedThemeSettings:nc,resolveDefaults:oc,mergeSettings:rc};if("undefined"!=typeof window){const e=window;e.shoppex?.isInitialized?.()||(e.shoppex=ic)}export{l as ApiError,ya as CATALOG_UNIT_PRICE_DECIMAL_PLACES,ba as CATALOG_UNIT_PRICE_FORMAT_OPTIONS,d as CartError,u as NetworkError,s as NotInitializedError,ga as PAYABLE_AMOUNT_DECIMAL_PLACES,a as ShoppexError,c as ValidationError,Tl as acceptResellerInvite,ul as addFavorite,cl as affiliate,zl as applyForReseller,vs as buildStorefrontContactMessage,Va as buildStorefrontCustomFieldPayload,as as buildStorefrontProductLookup,rl as cancelSubscription,ps as collectProductSearchHaystack,Qs as computeCartLineId,dl as createTicket,Qu as dashboard,ic as default,ic as shoppex,yl as emailPreferences,xl as enrollAsReseller,eu as ensureCartLineId,sl as favorites,tc as fetchPublishedBuilderSettings,nc as fetchPublishedThemeSettings,_s as filterProductsBySearchQuery,Ml as getMenu,Fl as getMenuBySlot,Zl as getMenuByTitle,Bl as getMenuSlotTitles,Ll as getMenus,us as getMergedStorefrontProducts,Bu as getShopReviewsPage,ss as getStorefrontGroupProducts,Vl as getStorefrontOnlineUsers,Hl as getStorefrontRecentSales,ms as groupMatchesSearchQuery,rs as isProductInStock,os as isProductOutOfStock,Ga as isStorefrontCheckboxCustomFieldValueChecked,is as isVariantOutOfStock,Ku as logout,Xu as me,rc as mergeSettings,cs as normalizeSearchQuery,Wa as normalizeStorefrontCustomFields,tl as order,el as orders,il as pauseSubscription,fs as productMatchesSearchQuery,Al as quoteResellerOrder,hl as removeAvatar,ll as removeFavorite,fl as replyToTicket,Hu as requestOtp,Ol as reseller,Rl as resellerApiKeys,El as resellerCatalog,$l as resellerOrder,Il as resellerOrders,Cl as resellerTopup,Nl as resellerTopupQuote,Pl as resellerWallet,nl as resetLicenseHwid,oc as resolveDefaults,ns as resolveDisplayStock,bs as resolveStorefrontApiBaseUrl,Ss as resolveStorefrontSocialLinks,ts as resolveVariantStockValue,al as resumeSubscription,wl as revokeAllSessions,Ul as revokeResellerApiKey,vl as revokeSession,va as roundPayableAmount,gs as searchMergedStorefrontCatalog,ys as searchMergedStorefrontCatalogItems,bl as sessions,ls as stripHtmlFromText,ws as submitStorefrontContactTicket,ol as subscriptionBillingHistory,pl as ticket,Kl as touchStorefrontPresence,Gl as trackPageView,_l as updateAvatar,gl as updateEmailPreferences,ml as updateProfile,Ha as validateStorefrontCustomFieldValue,Vu as verifyOtp,kl as walletTopup,Sl as walletTopupQuote};
3
3
  //# sourceMappingURL=shoppex.esm.js.map