@aranova/tracking-browser 0.11.0 → 0.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -12,18 +12,16 @@ Place the script in the document `<head>` before the rest of the page can run.
12
12
  <script src="https://cdn.jsdelivr.net/npm/@aranova/tracking-browser@0/dist/browser/aranova-tracking.global.js"></script>
13
13
  <script>
14
14
  window.AranovaTracking.init({
15
- apiKey: 'aranv_pk_...',
16
- endpoint: 'https://aranovainternal-production.up.railway.app/tracking',
17
- gtagId: 'AW-XXXXXXXXXX',
15
+ apiKey: "aranv_pk_...",
16
+ endpoint: "https://aranovainternal-production.up.railway.app/tracking",
17
+ gtagId: "AW-XXXXXXXXXX",
18
18
  renderConsentBanner: true,
19
19
  triggers: {
20
20
  automatic: {
21
21
  page_view: {},
22
22
  time_on_site: { thresholdSeconds: 60 },
23
23
  specific_page_visit: {
24
- pages: [
25
- { name: 'contact_page', pathPattern: /^\/(contact|book|get-started)/ },
26
- ],
24
+ pages: [{ name: "contact_page", pathPattern: /^\/(contact|book|get-started)/ }],
27
25
  },
28
26
  },
29
27
  manual: {
@@ -40,27 +38,22 @@ Pin an exact version for production when possible, for example `@aranova/trackin
40
38
 
41
39
  ## Multiple gtag IDs
42
40
 
43
- To install multiple Google Ads tags simultaneously (for example a production MCC and a test MCC for verifying conversion actions before they touch the live account), pass `gtagIds` instead of `gtagId`. Every entry fires `gtag('config', ...)` on every page — gtag natively supports multiple configured tags.
41
+ Pass `gtagIds` (instead of `gtagId`) to install several Google Ads tags at once — e.g. a real
42
+ account plus a test MCC. Each fires `gtag('config', …)` on every page; the labels surface in the
43
+ dashboard's SDK table. `environment` lets the dashboard filter test traffic out of production.
44
44
 
45
45
  ```html
46
46
  <script>
47
47
  window.AranovaTracking.init({
48
- apiKey: 'aranv_pk_...',
49
- endpoint: 'https://aranovainternal-production.up.railway.app/tracking',
50
- environment: 'production', // 'production' | 'development'
51
- gtagIds: {
52
- production: 'AW-111111111', // real client account
53
- test: 'AW-222222222', // test MCC for development
54
- },
55
- triggers: {
56
- automatic: { page_view: {} },
57
- },
48
+ apiKey: "aranv_pk_...",
49
+ endpoint: "https://aranovainternal-production.up.railway.app/tracking",
50
+ environment: "production",
51
+ gtagIds: { production: "AW-111111111", test: "AW-222222222" },
52
+ triggers: { automatic: { page_view: {} } },
58
53
  });
59
54
  </script>
60
55
  ```
61
56
 
62
- The labels are arbitrary and surface in the Aranova dashboard's SDK versions table. `environment` lets the dashboard filter test traffic out of production analytics.
63
-
64
57
  ## Manual Events
65
58
 
66
59
  The browser package validates manual events at runtime. If an event is not registered under `triggers.manual`, or the metadata shape is invalid, the SDK warns and drops the event.
@@ -79,26 +72,26 @@ The browser package validates manual events at runtime. If an event is not regis
79
72
  </form>
80
73
 
81
74
  <script>
82
- document.getElementById('lead-form').addEventListener('submit', function (event) {
75
+ document.getElementById("lead-form").addEventListener("submit", function (event) {
83
76
  var form = event.currentTarget;
84
77
  var data = new FormData(form);
85
78
 
86
- window.AranovaTracking.trackEvent('form_submit', {
79
+ window.AranovaTracking.trackEvent("form_submit", {
87
80
  form: {
88
81
  id: form.id,
89
- action: form.getAttribute('action'),
82
+ action: form.getAttribute("action"),
90
83
  fields: [
91
84
  {
92
- name: 'service_interest',
93
- type: 'select',
94
- label: 'Service interest',
95
- value: String(data.get('service_interest') || ''),
85
+ name: "service_interest",
86
+ type: "select",
87
+ label: "Service interest",
88
+ value: String(data.get("service_interest") || ""),
96
89
  },
97
90
  {
98
- name: 'is_existing_patient',
99
- type: 'checkbox',
100
- label: 'Existing patient',
101
- value: data.get('is_existing_patient') === 'on',
91
+ name: "is_existing_patient",
92
+ type: "checkbox",
93
+ label: "Existing patient",
94
+ value: data.get("is_existing_patient") === "on",
102
95
  },
103
96
  ],
104
97
  },
@@ -111,11 +104,14 @@ The browser package validates manual events at runtime. If an event is not regis
111
104
  `fields[].value` can be any JSON value: string, number, boolean, null, array, or object. Only send reviewed, allowlisted, non-sensitive values; do not send names, emails, phone numbers entered by the visitor, addresses, payment data, medical details, passwords, file contents, or free-text messages.
112
105
 
113
106
  ```html
114
- <a href="tel:+14165550199" onclick="window.AranovaTracking.trackEvent('phone_click', {
107
+ <a
108
+ href="tel:+14165550199"
109
+ onclick="window.AranovaTracking.trackEvent('phone_click', {
115
110
  phone_number: '+14165550199',
116
111
  page: { path: window.location.pathname },
117
112
  section: 'header'
118
- })">
113
+ })"
114
+ >
119
115
  (416) 555-0199
120
116
  </a>
121
117
  ```
@@ -134,9 +130,10 @@ window.AranovaTracking.sales().record({ ... }); // record a sale / conversion
134
130
  ```
135
131
 
136
132
  `sales()` returns a client bound to the **public** key and endpoint you passed to
137
- `init()`, so it can only **write** conversions (`record`). Reading, listing,
138
- summarizing (`summary` — currency-grouped aggregations), updating, and deleting sales
139
- require a **secret** key (`aranv_sk_…`) and must run server-side — see the
133
+ `init()`, so it can only **write** conversions (`record`). All reads — list, `summary`
134
+ (tz-aware aggregations), the phone-keyed `customers.*` roster, `business.config()`, update,
135
+ delete — require a **secret** key (`aranv_sk_…`) and must run server-side via the React/Next
136
+ packages. See the
140
137
  [sales-tracking guide](https://github.com/AranovaIO/aranova_internal/blob/master/docs/tracking-package/sales-tracking.md).
141
138
 
142
139
  ## Automatic Events
@@ -149,4 +146,3 @@ Configured automatic events are fired by the SDK:
149
146
  - `scroll_depth`
150
147
  - `multi_page_session`
151
148
  - `form_start`
152
-
@@ -1,2 +1,2 @@
1
- "use strict";var AranovaTracking=(()=>{var nt=Object.defineProperty;var $n=Object.getOwnPropertyDescriptor;var zn=Object.getOwnPropertyNames;var Fn=Object.prototype.hasOwnProperty;var Ft=(t,e)=>{for(var n in e)nt(t,n,{get:e[n],enumerable:!0})},Hn=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of zn(e))!Fn.call(t,a)&&a!==n&&nt(t,a,{get:()=>e[a],enumerable:!(r=$n(e,a))||r.enumerable});return t};var Un=t=>Hn(nt({},"__esModule",{value:!0}),t);var xa={};Ft(xa,{default:()=>ka,init:()=>jn});var Ht="0.11.0";var rt="consent_state",Ut="consent_timestamp";function at(t){return{ad_storage:t,ad_user_data:t,ad_personalization:t,analytics_storage:t}}function G(){if(typeof window>"u")return"pending";let t=window.localStorage.getItem(rt);return t==="granted"||t==="denied"?t:"pending"}function me(t){typeof window>"u"||(window.localStorage.setItem(rt,t),window.localStorage.setItem(Ut,new Date().toISOString()),typeof window.gtag=="function"&&window.gtag("consent","update",at(t)))}function Ve(){let t=G();return(t==="granted"||t==="denied")&&me(t),t}var Kt="https://www.googletagmanager.com/gtag/js",it="data-aranova-tracking";function Zn(t){return`aranova-${t}`}var Gn=/^[A-Z]{1,3}-[A-Za-z0-9_-]+$/;function st(t){return Gn.test(t)}function je(){return window.dataLayer=window.dataLayer||[],typeof window.gtag=="function"||(window.gtag=(...t)=>{window.dataLayer?.push(t)}),window.gtag}function ot(){je()("consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied",wait_for_update:500})}function ct(t){if(typeof document>"u")return;let e=Zn("gtag-loader");if(document.querySelector(`script[${it}="${e}"]`))return;let r=document.createElement("script");r.async=!0,r.src=`${Kt}?id=${encodeURIComponent(t)}`,r.setAttribute(it,e),document.head.appendChild(r)}function Zt(t){let e=je();e("js",new Date),e("config",t)}function dt(t){typeof window>"u"||typeof document>"u"||st(t)&&(ot(),ct(t),Zt(t),Ve())}function ut(t){if(typeof window>"u"||typeof document>"u")return;let e=Object.values(t).filter(st);if(e.length===0)return;ot(),ct(e[0]);let n=je();n("js",new Date);for(let r of e)n("config",r);Ve()}var lt=["gclid","fbclid","utm_source","utm_medium","utm_campaign","utm_term","utm_content"];function De(){return{gclid:null,fbclid:null,utm_source:null,utm_medium:null,utm_campaign:null,utm_term:null,utm_content:null}}function ft(t){return typeof t=="string"&&t.length>0?t:null}function ge(t){return lt.reduce((e,n)=>(e[n]=ft(t(n)),e),De())}function Gt(t){return lt.reduce((e,n)=>{let r=t.get(n);return typeof r=="string"&&r.trim().length>0&&(e[n]=r),e},{})}function he(t){if(typeof document>"u")return null;let n=(document.cookie?document.cookie.split("; "):[]).find(a=>a.startsWith(`${t}=`));if(!n)return null;let[,r=""]=n.split("=");return ft(decodeURIComponent(r))}function Bt(t,e,n=7776e3){if(typeof document>"u")return;let r=encodeURIComponent(e);document.cookie=`${t}=${r}; Max-Age=${n}; Path=/; SameSite=Lax`}function qt(t,e=7776e3){let n=Gt(t);return Object.entries(n).forEach(([r,a])=>{Bt(r,a,e)}),n}function ye(t=typeof window>"u"?"":window.location.href,e=7776e3){let n=typeof window>"u"?new URL(t||"https://example.invalid"):new URL(t,window.location.origin);return qt(n.searchParams,e),ge(he)}var pt="aranova_tracking_visitor",Le="aranova_tracking_session";function $e(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now().toString(16)}-${Math.random().toString(16).slice(2)}-${Math.random().toString(16).slice(2)}`}function Yt(t){try{return window.localStorage.getItem(t)}catch{return null}}function mt(t,e){try{window.localStorage.setItem(t,e)}catch{}}function gt(){if(typeof window>"u")return $e();let t=Yt(pt);if(t&&t.length>0)return t;let e=$e();return mt(pt,e),e}function _e(t=Date.now()){if(typeof window>"u")return{id:$e(),isNew:!0};let e=Yt(Le);if(e)try{let r=JSON.parse(e);if(typeof r.id=="string"&&typeof r.last_event_at=="number"&&t-r.last_event_at<=18e5){let a={id:r.id,last_event_at:t};return mt(Le,JSON.stringify(a)),{id:r.id,isNew:!1}}}catch{}let n={id:$e(),last_event_at:t};return mt(Le,JSON.stringify(n)),{id:n.id,isNew:!0}}var d={};Ft(d,{BRAND:()=>_r,DIRTY:()=>X,EMPTY_PATH:()=>Wn,INVALID:()=>h,NEVER:()=>na,OK:()=>A,ParseStatus:()=>E,Schema:()=>k,ZodAny:()=>Y,ZodArray:()=>Z,ZodBigInt:()=>ee,ZodBoolean:()=>te,ZodBranded:()=>Ie,ZodCatch:()=>fe,ZodDate:()=>ne,ZodDefault:()=>le,ZodDiscriminatedUnion:()=>He,ZodEffects:()=>V,ZodEnum:()=>de,ZodError:()=>R,ZodFirstPartyTypeKind:()=>y,ZodFunction:()=>Ke,ZodIntersection:()=>se,ZodIssueCode:()=>u,ZodLazy:()=>oe,ZodLiteral:()=>ce,ZodMap:()=>Te,ZodNaN:()=>Ce,ZodNativeEnum:()=>ue,ZodNever:()=>j,ZodNull:()=>ae,ZodNullable:()=>z,ZodNumber:()=>Q,ZodObject:()=>I,ZodOptional:()=>M,ZodParsedType:()=>m,ZodPipeline:()=>Pe,ZodPromise:()=>W,ZodReadonly:()=>pe,ZodRecord:()=>Ue,ZodSchema:()=>k,ZodSet:()=>be,ZodString:()=>q,ZodSymbol:()=>xe,ZodTransformer:()=>V,ZodTuple:()=>$,ZodType:()=>k,ZodUndefined:()=>re,ZodUnion:()=>ie,ZodUnknown:()=>K,ZodVoid:()=>we,addIssueToContext:()=>p,any:()=>Er,array:()=>Pr,bigint:()=>xr,boolean:()=>on,coerce:()=>ta,custom:()=>rn,date:()=>wr,datetimeRegex:()=>tn,defaultErrorMap:()=>H,discriminatedUnion:()=>Vr,effect:()=>Br,enum:()=>Kr,function:()=>Fr,getErrorMap:()=>ve,getParsedType:()=>L,instanceof:()=>Sr,intersection:()=>jr,isAborted:()=>ze,isAsync:()=>Se,isDirty:()=>Fe,isValid:()=>B,late:()=>vr,lazy:()=>Hr,literal:()=>Ur,makeIssue:()=>Re,map:()=>$r,nan:()=>kr,nativeEnum:()=>Zr,never:()=>Rr,null:()=>Cr,nullable:()=>Yr,number:()=>sn,object:()=>Or,objectUtil:()=>ht,oboolean:()=>ea,onumber:()=>Qr,optional:()=>qr,ostring:()=>Xr,pipeline:()=>Jr,preprocess:()=>Wr,promise:()=>Gr,quotelessJson:()=>Bn,record:()=>Lr,set:()=>zr,setErrorMap:()=>Yn,strictObject:()=>Mr,string:()=>an,symbol:()=>Tr,transformer:()=>Br,tuple:()=>Dr,undefined:()=>br,union:()=>Nr,unknown:()=>Ar,util:()=>x,void:()=>Ir});var x;(function(t){t.assertEqual=a=>{};function e(a){}t.assertIs=e;function n(a){throw new Error}t.assertNever=n,t.arrayToEnum=a=>{let i={};for(let s of a)i[s]=s;return i},t.getValidEnumValues=a=>{let i=t.objectKeys(a).filter(o=>typeof a[a[o]]!="number"),s={};for(let o of i)s[o]=a[o];return t.objectValues(s)},t.objectValues=a=>t.objectKeys(a).map(function(i){return a[i]}),t.objectKeys=typeof Object.keys=="function"?a=>Object.keys(a):a=>{let i=[];for(let s in a)Object.prototype.hasOwnProperty.call(a,s)&&i.push(s);return i},t.find=(a,i)=>{for(let s of a)if(i(s))return s},t.isInteger=typeof Number.isInteger=="function"?a=>Number.isInteger(a):a=>typeof a=="number"&&Number.isFinite(a)&&Math.floor(a)===a;function r(a,i=" | "){return a.map(s=>typeof s=="string"?`'${s}'`:s).join(i)}t.joinValues=r,t.jsonStringifyReplacer=(a,i)=>typeof i=="bigint"?i.toString():i})(x||(x={}));var ht;(function(t){t.mergeShapes=(e,n)=>({...e,...n})})(ht||(ht={}));var m=x.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),L=t=>{switch(typeof t){case"undefined":return m.undefined;case"string":return m.string;case"number":return Number.isNaN(t)?m.nan:m.number;case"boolean":return m.boolean;case"function":return m.function;case"bigint":return m.bigint;case"symbol":return m.symbol;case"object":return Array.isArray(t)?m.array:t===null?m.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?m.promise:typeof Map<"u"&&t instanceof Map?m.map:typeof Set<"u"&&t instanceof Set?m.set:typeof Date<"u"&&t instanceof Date?m.date:m.object;default:return m.unknown}};var u=x.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Bn=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),R=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=e}format(e){let n=e||function(i){return i.message},r={_errors:[]},a=i=>{for(let s of i.issues)if(s.code==="invalid_union")s.unionErrors.map(a);else if(s.code==="invalid_return_type")a(s.returnTypeError);else if(s.code==="invalid_arguments")a(s.argumentsError);else if(s.path.length===0)r._errors.push(n(s));else{let o=r,l=0;for(;l<s.path.length;){let c=s.path[l];l===s.path.length-1?(o[c]=o[c]||{_errors:[]},o[c]._errors.push(n(s))):o[c]=o[c]||{_errors:[]},o=o[c],l++}}};return a(this),r}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,x.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=n=>n.message){let n={},r=[];for(let a of this.issues)if(a.path.length>0){let i=a.path[0];n[i]=n[i]||[],n[i].push(e(a))}else r.push(e(a));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};R.create=t=>new R(t);var qn=(t,e)=>{let n;switch(t.code){case u.invalid_type:t.received===m.undefined?n="Required":n=`Expected ${t.expected}, received ${t.received}`;break;case u.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(t.expected,x.jsonStringifyReplacer)}`;break;case u.unrecognized_keys:n=`Unrecognized key(s) in object: ${x.joinValues(t.keys,", ")}`;break;case u.invalid_union:n="Invalid input";break;case u.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${x.joinValues(t.options)}`;break;case u.invalid_enum_value:n=`Invalid enum value. Expected ${x.joinValues(t.options)}, received '${t.received}'`;break;case u.invalid_arguments:n="Invalid function arguments";break;case u.invalid_return_type:n="Invalid function return type";break;case u.invalid_date:n="Invalid date";break;case u.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(n=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?n=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?n=`Invalid input: must end with "${t.validation.endsWith}"`:x.assertNever(t.validation):t.validation!=="regex"?n=`Invalid ${t.validation}`:n="Invalid";break;case u.too_small:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:n="Invalid input";break;case u.too_big:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?n=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:n="Invalid input";break;case u.custom:n="Invalid input";break;case u.invalid_intersection_types:n="Intersection results could not be merged";break;case u.not_multiple_of:n=`Number must be a multiple of ${t.multipleOf}`;break;case u.not_finite:n="Number must be finite";break;default:n=e.defaultError,x.assertNever(t)}return{message:n}},H=qn;var Wt=H;function Yn(t){Wt=t}function ve(){return Wt}var Re=t=>{let{data:e,path:n,errorMaps:r,issueData:a}=t,i=[...n,...a.path||[]],s={...a,path:i};if(a.message!==void 0)return{...a,path:i,message:a.message};let o="",l=r.filter(c=>!!c).slice().reverse();for(let c of l)o=c(s,{data:e,defaultError:o}).message;return{...a,path:i,message:o}},Wn=[];function p(t,e){let n=ve(),r=Re({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,n,n===H?void 0:H].filter(a=>!!a)});t.common.issues.push(r)}var E=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,n){let r=[];for(let a of n){if(a.status==="aborted")return h;a.status==="dirty"&&e.dirty(),r.push(a.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,n){let r=[];for(let a of n){let i=await a.key,s=await a.value;r.push({key:i,value:s})}return t.mergeObjectSync(e,r)}static mergeObjectSync(e,n){let r={};for(let a of n){let{key:i,value:s}=a;if(i.status==="aborted"||s.status==="aborted")return h;i.status==="dirty"&&e.dirty(),s.status==="dirty"&&e.dirty(),i.value!=="__proto__"&&(typeof s.value<"u"||a.alwaysSet)&&(r[i.value]=s.value)}return{status:e.value,value:r}}},h=Object.freeze({status:"aborted"}),X=t=>({status:"dirty",value:t}),A=t=>({status:"valid",value:t}),ze=t=>t.status==="aborted",Fe=t=>t.status==="dirty",B=t=>t.status==="valid",Se=t=>typeof Promise<"u"&&t instanceof Promise;var g;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(g||(g={}));var N=class{constructor(e,n,r,a){this._cachedPath=[],this.parent=e,this.data=n,this._path=r,this._key=a}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Jt=(t,e)=>{if(B(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new R(t.common.issues);return this._error=n,this._error}}};function _(t){if(!t)return{};let{errorMap:e,invalid_type_error:n,required_error:r,description:a}=t;if(e&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:a}:{errorMap:(s,o)=>{let{message:l}=t;return s.code==="invalid_enum_value"?{message:l??o.defaultError}:typeof o.data>"u"?{message:l??r??o.defaultError}:s.code!=="invalid_type"?{message:o.defaultError}:{message:l??n??o.defaultError}},description:a}}var k=class{get description(){return this._def.description}_getType(e){return L(e.data)}_getOrReturnCtx(e,n){return n||{common:e.parent.common,data:e.data,parsedType:L(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new E,ctx:{common:e.parent.common,data:e.data,parsedType:L(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let n=this._parse(e);if(Se(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(e){let n=this._parse(e);return Promise.resolve(n)}parse(e,n){let r=this.safeParse(e,n);if(r.success)return r.data;throw r.error}safeParse(e,n){let r={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:L(e)},a=this._parseSync({data:e,path:r.path,parent:r});return Jt(r,a)}"~validate"(e){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:L(e)};if(!this["~standard"].async)try{let r=this._parseSync({data:e,path:[],parent:n});return B(r)?{value:r.value}:{issues:n.common.issues}}catch(r){r?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:n}).then(r=>B(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(e,n){let r=await this.safeParseAsync(e,n);if(r.success)return r.data;throw r.error}async safeParseAsync(e,n){let r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:L(e)},a=this._parse({data:e,path:r.path,parent:r}),i=await(Se(a)?a:Promise.resolve(a));return Jt(r,i)}refine(e,n){let r=a=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(a):n;return this._refinement((a,i)=>{let s=e(a),o=()=>i.addIssue({code:u.custom,...r(a)});return typeof Promise<"u"&&s instanceof Promise?s.then(l=>l?!0:(o(),!1)):s?!0:(o(),!1)})}refinement(e,n){return this._refinement((r,a)=>e(r)?!0:(a.addIssue(typeof n=="function"?n(r,a):n),!1))}_refinement(e){return new V({schema:this,typeName:y.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return M.create(this,this._def)}nullable(){return z.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Z.create(this)}promise(){return W.create(this,this._def)}or(e){return ie.create([this,e],this._def)}and(e){return se.create(this,e,this._def)}transform(e){return new V({..._(this._def),schema:this,typeName:y.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let n=typeof e=="function"?e:()=>e;return new le({..._(this._def),innerType:this,defaultValue:n,typeName:y.ZodDefault})}brand(){return new Ie({typeName:y.ZodBranded,type:this,..._(this._def)})}catch(e){let n=typeof e=="function"?e:()=>e;return new fe({..._(this._def),innerType:this,catchValue:n,typeName:y.ZodCatch})}describe(e){let n=this.constructor;return new n({...this._def,description:e})}pipe(e){return Pe.create(this,e)}readonly(){return pe.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Jn=/^c[^\s-]{8,}$/i,Xn=/^[0-9a-z]+$/,Qn=/^[0-9A-HJKMNP-TV-Z]{26}$/i,er=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,tr=/^[a-z0-9_-]{21}$/i,nr=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,rr=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,ar=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,ir="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",yt,sr=/^(?:(?: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])$/,or=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,cr=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,dr=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,ur=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,lr=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Qt="((\\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])))",fr=new RegExp(`^${Qt}$`);function en(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let n=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${n}`}function pr(t){return new RegExp(`^${en(t)}$`)}function tn(t){let e=`${Qt}T${en(t)}`,n=[];return n.push(t.local?"Z?":"Z"),t.offset&&n.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${n.join("|")})`,new RegExp(`^${e}$`)}function mr(t,e){return!!((e==="v4"||!e)&&sr.test(t)||(e==="v6"||!e)&&cr.test(t))}function gr(t,e){if(!nr.test(t))return!1;try{let[n]=t.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),a=JSON.parse(atob(r));return!(typeof a!="object"||a===null||"typ"in a&&a?.typ!=="JWT"||!a.alg||e&&a.alg!==e)}catch{return!1}}function hr(t,e){return!!((e==="v4"||!e)&&or.test(t)||(e==="v6"||!e)&&dr.test(t))}var q=class t extends k{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==m.string){let i=this._getOrReturnCtx(e);return p(i,{code:u.invalid_type,expected:m.string,received:i.parsedType}),h}let r=new E,a;for(let i of this._def.checks)if(i.kind==="min")e.data.length<i.value&&(a=this._getOrReturnCtx(e,a),p(a,{code:u.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),r.dirty());else if(i.kind==="max")e.data.length>i.value&&(a=this._getOrReturnCtx(e,a),p(a,{code:u.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),r.dirty());else if(i.kind==="length"){let s=e.data.length>i.value,o=e.data.length<i.value;(s||o)&&(a=this._getOrReturnCtx(e,a),s?p(a,{code:u.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):o&&p(a,{code:u.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),r.dirty())}else if(i.kind==="email")ar.test(e.data)||(a=this._getOrReturnCtx(e,a),p(a,{validation:"email",code:u.invalid_string,message:i.message}),r.dirty());else if(i.kind==="emoji")yt||(yt=new RegExp(ir,"u")),yt.test(e.data)||(a=this._getOrReturnCtx(e,a),p(a,{validation:"emoji",code:u.invalid_string,message:i.message}),r.dirty());else if(i.kind==="uuid")er.test(e.data)||(a=this._getOrReturnCtx(e,a),p(a,{validation:"uuid",code:u.invalid_string,message:i.message}),r.dirty());else if(i.kind==="nanoid")tr.test(e.data)||(a=this._getOrReturnCtx(e,a),p(a,{validation:"nanoid",code:u.invalid_string,message:i.message}),r.dirty());else if(i.kind==="cuid")Jn.test(e.data)||(a=this._getOrReturnCtx(e,a),p(a,{validation:"cuid",code:u.invalid_string,message:i.message}),r.dirty());else if(i.kind==="cuid2")Xn.test(e.data)||(a=this._getOrReturnCtx(e,a),p(a,{validation:"cuid2",code:u.invalid_string,message:i.message}),r.dirty());else if(i.kind==="ulid")Qn.test(e.data)||(a=this._getOrReturnCtx(e,a),p(a,{validation:"ulid",code:u.invalid_string,message:i.message}),r.dirty());else if(i.kind==="url")try{new URL(e.data)}catch{a=this._getOrReturnCtx(e,a),p(a,{validation:"url",code:u.invalid_string,message:i.message}),r.dirty()}else i.kind==="regex"?(i.regex.lastIndex=0,i.regex.test(e.data)||(a=this._getOrReturnCtx(e,a),p(a,{validation:"regex",code:u.invalid_string,message:i.message}),r.dirty())):i.kind==="trim"?e.data=e.data.trim():i.kind==="includes"?e.data.includes(i.value,i.position)||(a=this._getOrReturnCtx(e,a),p(a,{code:u.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),r.dirty()):i.kind==="toLowerCase"?e.data=e.data.toLowerCase():i.kind==="toUpperCase"?e.data=e.data.toUpperCase():i.kind==="startsWith"?e.data.startsWith(i.value)||(a=this._getOrReturnCtx(e,a),p(a,{code:u.invalid_string,validation:{startsWith:i.value},message:i.message}),r.dirty()):i.kind==="endsWith"?e.data.endsWith(i.value)||(a=this._getOrReturnCtx(e,a),p(a,{code:u.invalid_string,validation:{endsWith:i.value},message:i.message}),r.dirty()):i.kind==="datetime"?tn(i).test(e.data)||(a=this._getOrReturnCtx(e,a),p(a,{code:u.invalid_string,validation:"datetime",message:i.message}),r.dirty()):i.kind==="date"?fr.test(e.data)||(a=this._getOrReturnCtx(e,a),p(a,{code:u.invalid_string,validation:"date",message:i.message}),r.dirty()):i.kind==="time"?pr(i).test(e.data)||(a=this._getOrReturnCtx(e,a),p(a,{code:u.invalid_string,validation:"time",message:i.message}),r.dirty()):i.kind==="duration"?rr.test(e.data)||(a=this._getOrReturnCtx(e,a),p(a,{validation:"duration",code:u.invalid_string,message:i.message}),r.dirty()):i.kind==="ip"?mr(e.data,i.version)||(a=this._getOrReturnCtx(e,a),p(a,{validation:"ip",code:u.invalid_string,message:i.message}),r.dirty()):i.kind==="jwt"?gr(e.data,i.alg)||(a=this._getOrReturnCtx(e,a),p(a,{validation:"jwt",code:u.invalid_string,message:i.message}),r.dirty()):i.kind==="cidr"?hr(e.data,i.version)||(a=this._getOrReturnCtx(e,a),p(a,{validation:"cidr",code:u.invalid_string,message:i.message}),r.dirty()):i.kind==="base64"?ur.test(e.data)||(a=this._getOrReturnCtx(e,a),p(a,{validation:"base64",code:u.invalid_string,message:i.message}),r.dirty()):i.kind==="base64url"?lr.test(e.data)||(a=this._getOrReturnCtx(e,a),p(a,{validation:"base64url",code:u.invalid_string,message:i.message}),r.dirty()):x.assertNever(i);return{status:r.value,value:e.data}}_regex(e,n,r){return this.refinement(a=>e.test(a),{validation:n,code:u.invalid_string,...g.errToObj(r)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...g.errToObj(e)})}url(e){return this._addCheck({kind:"url",...g.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...g.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...g.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...g.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...g.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...g.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...g.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...g.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...g.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...g.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...g.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...g.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...g.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...g.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...g.errToObj(e)})}regex(e,n){return this._addCheck({kind:"regex",regex:e,...g.errToObj(n)})}includes(e,n){return this._addCheck({kind:"includes",value:e,position:n?.position,...g.errToObj(n?.message)})}startsWith(e,n){return this._addCheck({kind:"startsWith",value:e,...g.errToObj(n)})}endsWith(e,n){return this._addCheck({kind:"endsWith",value:e,...g.errToObj(n)})}min(e,n){return this._addCheck({kind:"min",value:e,...g.errToObj(n)})}max(e,n){return this._addCheck({kind:"max",value:e,...g.errToObj(n)})}length(e,n){return this._addCheck({kind:"length",value:e,...g.errToObj(n)})}nonempty(e){return this.min(1,g.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxLength(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}};q.create=t=>new q({checks:[],typeName:y.ZodString,coerce:t?.coerce??!1,..._(t)});function yr(t,e){let n=(t.toString().split(".")[1]||"").length,r=(e.toString().split(".")[1]||"").length,a=n>r?n:r,i=Number.parseInt(t.toFixed(a).replace(".","")),s=Number.parseInt(e.toFixed(a).replace(".",""));return i%s/10**a}var Q=class t extends k{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==m.number){let i=this._getOrReturnCtx(e);return p(i,{code:u.invalid_type,expected:m.number,received:i.parsedType}),h}let r,a=new E;for(let i of this._def.checks)i.kind==="int"?x.isInteger(e.data)||(r=this._getOrReturnCtx(e,r),p(r,{code:u.invalid_type,expected:"integer",received:"float",message:i.message}),a.dirty()):i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(r=this._getOrReturnCtx(e,r),p(r,{code:u.too_small,minimum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),a.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(r=this._getOrReturnCtx(e,r),p(r,{code:u.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),a.dirty()):i.kind==="multipleOf"?yr(e.data,i.value)!==0&&(r=this._getOrReturnCtx(e,r),p(r,{code:u.not_multiple_of,multipleOf:i.value,message:i.message}),a.dirty()):i.kind==="finite"?Number.isFinite(e.data)||(r=this._getOrReturnCtx(e,r),p(r,{code:u.not_finite,message:i.message}),a.dirty()):x.assertNever(i);return{status:a.value,value:e.data}}gte(e,n){return this.setLimit("min",e,!0,g.toString(n))}gt(e,n){return this.setLimit("min",e,!1,g.toString(n))}lte(e,n){return this.setLimit("max",e,!0,g.toString(n))}lt(e,n){return this.setLimit("max",e,!1,g.toString(n))}setLimit(e,n,r,a){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:g.toString(a)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:g.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:g.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:g.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:g.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:g.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:g.toString(n)})}finite(e){return this._addCheck({kind:"finite",message:g.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:g.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:g.toString(e)})}get minValue(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&x.isInteger(e.value))}get isFinite(){let e=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(e===null||r.value<e)&&(e=r.value)}return Number.isFinite(n)&&Number.isFinite(e)}};Q.create=t=>new Q({checks:[],typeName:y.ZodNumber,coerce:t?.coerce||!1,..._(t)});var ee=class t extends k{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==m.bigint)return this._getInvalidInput(e);let r,a=new E;for(let i of this._def.checks)i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(r=this._getOrReturnCtx(e,r),p(r,{code:u.too_small,type:"bigint",minimum:i.value,inclusive:i.inclusive,message:i.message}),a.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(r=this._getOrReturnCtx(e,r),p(r,{code:u.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),a.dirty()):i.kind==="multipleOf"?e.data%i.value!==BigInt(0)&&(r=this._getOrReturnCtx(e,r),p(r,{code:u.not_multiple_of,multipleOf:i.value,message:i.message}),a.dirty()):x.assertNever(i);return{status:a.value,value:e.data}}_getInvalidInput(e){let n=this._getOrReturnCtx(e);return p(n,{code:u.invalid_type,expected:m.bigint,received:n.parsedType}),h}gte(e,n){return this.setLimit("min",e,!0,g.toString(n))}gt(e,n){return this.setLimit("min",e,!1,g.toString(n))}lte(e,n){return this.setLimit("max",e,!0,g.toString(n))}lt(e,n){return this.setLimit("max",e,!1,g.toString(n))}setLimit(e,n,r,a){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:g.toString(a)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:g.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:g.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:g.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:g.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:g.toString(n)})}get minValue(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}};ee.create=t=>new ee({checks:[],typeName:y.ZodBigInt,coerce:t?.coerce??!1,..._(t)});var te=class extends k{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==m.boolean){let r=this._getOrReturnCtx(e);return p(r,{code:u.invalid_type,expected:m.boolean,received:r.parsedType}),h}return A(e.data)}};te.create=t=>new te({typeName:y.ZodBoolean,coerce:t?.coerce||!1,..._(t)});var ne=class t extends k{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==m.date){let i=this._getOrReturnCtx(e);return p(i,{code:u.invalid_type,expected:m.date,received:i.parsedType}),h}if(Number.isNaN(e.data.getTime())){let i=this._getOrReturnCtx(e);return p(i,{code:u.invalid_date}),h}let r=new E,a;for(let i of this._def.checks)i.kind==="min"?e.data.getTime()<i.value&&(a=this._getOrReturnCtx(e,a),p(a,{code:u.too_small,message:i.message,inclusive:!0,exact:!1,minimum:i.value,type:"date"}),r.dirty()):i.kind==="max"?e.data.getTime()>i.value&&(a=this._getOrReturnCtx(e,a),p(a,{code:u.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),r.dirty()):x.assertNever(i);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,n){return this._addCheck({kind:"min",value:e.getTime(),message:g.toString(n)})}max(e,n){return this._addCheck({kind:"max",value:e.getTime(),message:g.toString(n)})}get minDate(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e!=null?new Date(e):null}};ne.create=t=>new ne({checks:[],coerce:t?.coerce||!1,typeName:y.ZodDate,..._(t)});var xe=class extends k{_parse(e){if(this._getType(e)!==m.symbol){let r=this._getOrReturnCtx(e);return p(r,{code:u.invalid_type,expected:m.symbol,received:r.parsedType}),h}return A(e.data)}};xe.create=t=>new xe({typeName:y.ZodSymbol,..._(t)});var re=class extends k{_parse(e){if(this._getType(e)!==m.undefined){let r=this._getOrReturnCtx(e);return p(r,{code:u.invalid_type,expected:m.undefined,received:r.parsedType}),h}return A(e.data)}};re.create=t=>new re({typeName:y.ZodUndefined,..._(t)});var ae=class extends k{_parse(e){if(this._getType(e)!==m.null){let r=this._getOrReturnCtx(e);return p(r,{code:u.invalid_type,expected:m.null,received:r.parsedType}),h}return A(e.data)}};ae.create=t=>new ae({typeName:y.ZodNull,..._(t)});var Y=class extends k{constructor(){super(...arguments),this._any=!0}_parse(e){return A(e.data)}};Y.create=t=>new Y({typeName:y.ZodAny,..._(t)});var K=class extends k{constructor(){super(...arguments),this._unknown=!0}_parse(e){return A(e.data)}};K.create=t=>new K({typeName:y.ZodUnknown,..._(t)});var j=class extends k{_parse(e){let n=this._getOrReturnCtx(e);return p(n,{code:u.invalid_type,expected:m.never,received:n.parsedType}),h}};j.create=t=>new j({typeName:y.ZodNever,..._(t)});var we=class extends k{_parse(e){if(this._getType(e)!==m.undefined){let r=this._getOrReturnCtx(e);return p(r,{code:u.invalid_type,expected:m.void,received:r.parsedType}),h}return A(e.data)}};we.create=t=>new we({typeName:y.ZodVoid,..._(t)});var Z=class t extends k{_parse(e){let{ctx:n,status:r}=this._processInputParams(e),a=this._def;if(n.parsedType!==m.array)return p(n,{code:u.invalid_type,expected:m.array,received:n.parsedType}),h;if(a.exactLength!==null){let s=n.data.length>a.exactLength.value,o=n.data.length<a.exactLength.value;(s||o)&&(p(n,{code:s?u.too_big:u.too_small,minimum:o?a.exactLength.value:void 0,maximum:s?a.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:a.exactLength.message}),r.dirty())}if(a.minLength!==null&&n.data.length<a.minLength.value&&(p(n,{code:u.too_small,minimum:a.minLength.value,type:"array",inclusive:!0,exact:!1,message:a.minLength.message}),r.dirty()),a.maxLength!==null&&n.data.length>a.maxLength.value&&(p(n,{code:u.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,exact:!1,message:a.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((s,o)=>a.type._parseAsync(new N(n,s,n.path,o)))).then(s=>E.mergeArray(r,s));let i=[...n.data].map((s,o)=>a.type._parseSync(new N(n,s,n.path,o)));return E.mergeArray(r,i)}get element(){return this._def.type}min(e,n){return new t({...this._def,minLength:{value:e,message:g.toString(n)}})}max(e,n){return new t({...this._def,maxLength:{value:e,message:g.toString(n)}})}length(e,n){return new t({...this._def,exactLength:{value:e,message:g.toString(n)}})}nonempty(e){return this.min(1,e)}};Z.create=(t,e)=>new Z({type:t,minLength:null,maxLength:null,exactLength:null,typeName:y.ZodArray,..._(e)});function ke(t){if(t instanceof I){let e={};for(let n in t.shape){let r=t.shape[n];e[n]=M.create(ke(r))}return new I({...t._def,shape:()=>e})}else return t instanceof Z?new Z({...t._def,type:ke(t.element)}):t instanceof M?M.create(ke(t.unwrap())):t instanceof z?z.create(ke(t.unwrap())):t instanceof $?$.create(t.items.map(e=>ke(e))):t}var I=class t extends k{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),n=x.objectKeys(e);return this._cached={shape:e,keys:n},this._cached}_parse(e){if(this._getType(e)!==m.object){let c=this._getOrReturnCtx(e);return p(c,{code:u.invalid_type,expected:m.object,received:c.parsedType}),h}let{status:r,ctx:a}=this._processInputParams(e),{shape:i,keys:s}=this._getCached(),o=[];if(!(this._def.catchall instanceof j&&this._def.unknownKeys==="strip"))for(let c in a.data)s.includes(c)||o.push(c);let l=[];for(let c of s){let f=i[c],S=a.data[c];l.push({key:{status:"valid",value:c},value:f._parse(new N(a,S,a.path,c)),alwaysSet:c in a.data})}if(this._def.catchall instanceof j){let c=this._def.unknownKeys;if(c==="passthrough")for(let f of o)l.push({key:{status:"valid",value:f},value:{status:"valid",value:a.data[f]}});else if(c==="strict")o.length>0&&(p(a,{code:u.unrecognized_keys,keys:o}),r.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let c=this._def.catchall;for(let f of o){let S=a.data[f];l.push({key:{status:"valid",value:f},value:c._parse(new N(a,S,a.path,f)),alwaysSet:f in a.data})}}return a.common.async?Promise.resolve().then(async()=>{let c=[];for(let f of l){let S=await f.key,w=await f.value;c.push({key:S,value:w,alwaysSet:f.alwaysSet})}return c}).then(c=>E.mergeObjectSync(r,c)):E.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(e){return g.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(n,r)=>{let a=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:g.errToObj(e).message??a}:{message:a}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:y.ZodObject})}setKey(e,n){return this.augment({[e]:n})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let n={};for(let r of x.objectKeys(e))e[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new t({...this._def,shape:()=>n})}omit(e){let n={};for(let r of x.objectKeys(this.shape))e[r]||(n[r]=this.shape[r]);return new t({...this._def,shape:()=>n})}deepPartial(){return ke(this)}partial(e){let n={};for(let r of x.objectKeys(this.shape)){let a=this.shape[r];e&&!e[r]?n[r]=a:n[r]=a.optional()}return new t({...this._def,shape:()=>n})}required(e){let n={};for(let r of x.objectKeys(this.shape))if(e&&!e[r])n[r]=this.shape[r];else{let i=this.shape[r];for(;i instanceof M;)i=i._def.innerType;n[r]=i}return new t({...this._def,shape:()=>n})}keyof(){return nn(x.objectKeys(this.shape))}};I.create=(t,e)=>new I({shape:()=>t,unknownKeys:"strip",catchall:j.create(),typeName:y.ZodObject,..._(e)});I.strictCreate=(t,e)=>new I({shape:()=>t,unknownKeys:"strict",catchall:j.create(),typeName:y.ZodObject,..._(e)});I.lazycreate=(t,e)=>new I({shape:t,unknownKeys:"strip",catchall:j.create(),typeName:y.ZodObject,..._(e)});var ie=class extends k{_parse(e){let{ctx:n}=this._processInputParams(e),r=this._def.options;function a(i){for(let o of i)if(o.result.status==="valid")return o.result;for(let o of i)if(o.result.status==="dirty")return n.common.issues.push(...o.ctx.common.issues),o.result;let s=i.map(o=>new R(o.ctx.common.issues));return p(n,{code:u.invalid_union,unionErrors:s}),h}if(n.common.async)return Promise.all(r.map(async i=>{let s={...n,common:{...n.common,issues:[]},parent:null};return{result:await i._parseAsync({data:n.data,path:n.path,parent:s}),ctx:s}})).then(a);{let i,s=[];for(let l of r){let c={...n,common:{...n.common,issues:[]},parent:null},f=l._parseSync({data:n.data,path:n.path,parent:c});if(f.status==="valid")return f;f.status==="dirty"&&!i&&(i={result:f,ctx:c}),c.common.issues.length&&s.push(c.common.issues)}if(i)return n.common.issues.push(...i.ctx.common.issues),i.result;let o=s.map(l=>new R(l));return p(n,{code:u.invalid_union,unionErrors:o}),h}}get options(){return this._def.options}};ie.create=(t,e)=>new ie({options:t,typeName:y.ZodUnion,..._(e)});var U=t=>t instanceof oe?U(t.schema):t instanceof V?U(t.innerType()):t instanceof ce?[t.value]:t instanceof de?t.options:t instanceof ue?x.objectValues(t.enum):t instanceof le?U(t._def.innerType):t instanceof re?[void 0]:t instanceof ae?[null]:t instanceof M?[void 0,...U(t.unwrap())]:t instanceof z?[null,...U(t.unwrap())]:t instanceof Ie||t instanceof pe?U(t.unwrap()):t instanceof fe?U(t._def.innerType):[],He=class t extends k{_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==m.object)return p(n,{code:u.invalid_type,expected:m.object,received:n.parsedType}),h;let r=this.discriminator,a=n.data[r],i=this.optionsMap.get(a);return i?n.common.async?i._parseAsync({data:n.data,path:n.path,parent:n}):i._parseSync({data:n.data,path:n.path,parent:n}):(p(n,{code:u.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),h)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,n,r){let a=new Map;for(let i of n){let s=U(i.shape[e]);if(!s.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let o of s){if(a.has(o))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(o)}`);a.set(o,i)}}return new t({typeName:y.ZodDiscriminatedUnion,discriminator:e,options:n,optionsMap:a,..._(r)})}};function _t(t,e){let n=L(t),r=L(e);if(t===e)return{valid:!0,data:t};if(n===m.object&&r===m.object){let a=x.objectKeys(e),i=x.objectKeys(t).filter(o=>a.indexOf(o)!==-1),s={...t,...e};for(let o of i){let l=_t(t[o],e[o]);if(!l.valid)return{valid:!1};s[o]=l.data}return{valid:!0,data:s}}else if(n===m.array&&r===m.array){if(t.length!==e.length)return{valid:!1};let a=[];for(let i=0;i<t.length;i++){let s=t[i],o=e[i],l=_t(s,o);if(!l.valid)return{valid:!1};a.push(l.data)}return{valid:!0,data:a}}else return n===m.date&&r===m.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}var se=class extends k{_parse(e){let{status:n,ctx:r}=this._processInputParams(e),a=(i,s)=>{if(ze(i)||ze(s))return h;let o=_t(i.value,s.value);return o.valid?((Fe(i)||Fe(s))&&n.dirty(),{status:n.value,value:o.data}):(p(r,{code:u.invalid_intersection_types}),h)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([i,s])=>a(i,s)):a(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};se.create=(t,e,n)=>new se({left:t,right:e,typeName:y.ZodIntersection,..._(n)});var $=class t extends k{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==m.array)return p(r,{code:u.invalid_type,expected:m.array,received:r.parsedType}),h;if(r.data.length<this._def.items.length)return p(r,{code:u.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),h;!this._def.rest&&r.data.length>this._def.items.length&&(p(r,{code:u.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let i=[...r.data].map((s,o)=>{let l=this._def.items[o]||this._def.rest;return l?l._parse(new N(r,s,r.path,o)):null}).filter(s=>!!s);return r.common.async?Promise.all(i).then(s=>E.mergeArray(n,s)):E.mergeArray(n,i)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};$.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new $({items:t,typeName:y.ZodTuple,rest:null,..._(e)})};var Ue=class t extends k{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==m.object)return p(r,{code:u.invalid_type,expected:m.object,received:r.parsedType}),h;let a=[],i=this._def.keyType,s=this._def.valueType;for(let o in r.data)a.push({key:i._parse(new N(r,o,r.path,o)),value:s._parse(new N(r,r.data[o],r.path,o)),alwaysSet:o in r.data});return r.common.async?E.mergeObjectAsync(n,a):E.mergeObjectSync(n,a)}get element(){return this._def.valueType}static create(e,n,r){return n instanceof k?new t({keyType:e,valueType:n,typeName:y.ZodRecord,..._(r)}):new t({keyType:q.create(),valueType:e,typeName:y.ZodRecord,..._(n)})}},Te=class extends k{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==m.map)return p(r,{code:u.invalid_type,expected:m.map,received:r.parsedType}),h;let a=this._def.keyType,i=this._def.valueType,s=[...r.data.entries()].map(([o,l],c)=>({key:a._parse(new N(r,o,r.path,[c,"key"])),value:i._parse(new N(r,l,r.path,[c,"value"]))}));if(r.common.async){let o=new Map;return Promise.resolve().then(async()=>{for(let l of s){let c=await l.key,f=await l.value;if(c.status==="aborted"||f.status==="aborted")return h;(c.status==="dirty"||f.status==="dirty")&&n.dirty(),o.set(c.value,f.value)}return{status:n.value,value:o}})}else{let o=new Map;for(let l of s){let c=l.key,f=l.value;if(c.status==="aborted"||f.status==="aborted")return h;(c.status==="dirty"||f.status==="dirty")&&n.dirty(),o.set(c.value,f.value)}return{status:n.value,value:o}}}};Te.create=(t,e,n)=>new Te({valueType:e,keyType:t,typeName:y.ZodMap,..._(n)});var be=class t extends k{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==m.set)return p(r,{code:u.invalid_type,expected:m.set,received:r.parsedType}),h;let a=this._def;a.minSize!==null&&r.data.size<a.minSize.value&&(p(r,{code:u.too_small,minimum:a.minSize.value,type:"set",inclusive:!0,exact:!1,message:a.minSize.message}),n.dirty()),a.maxSize!==null&&r.data.size>a.maxSize.value&&(p(r,{code:u.too_big,maximum:a.maxSize.value,type:"set",inclusive:!0,exact:!1,message:a.maxSize.message}),n.dirty());let i=this._def.valueType;function s(l){let c=new Set;for(let f of l){if(f.status==="aborted")return h;f.status==="dirty"&&n.dirty(),c.add(f.value)}return{status:n.value,value:c}}let o=[...r.data.values()].map((l,c)=>i._parse(new N(r,l,r.path,c)));return r.common.async?Promise.all(o).then(l=>s(l)):s(o)}min(e,n){return new t({...this._def,minSize:{value:e,message:g.toString(n)}})}max(e,n){return new t({...this._def,maxSize:{value:e,message:g.toString(n)}})}size(e,n){return this.min(e,n).max(e,n)}nonempty(e){return this.min(1,e)}};be.create=(t,e)=>new be({valueType:t,minSize:null,maxSize:null,typeName:y.ZodSet,..._(e)});var Ke=class t extends k{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==m.function)return p(n,{code:u.invalid_type,expected:m.function,received:n.parsedType}),h;function r(o,l){return Re({data:o,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,ve(),H].filter(c=>!!c),issueData:{code:u.invalid_arguments,argumentsError:l}})}function a(o,l){return Re({data:o,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,ve(),H].filter(c=>!!c),issueData:{code:u.invalid_return_type,returnTypeError:l}})}let i={errorMap:n.common.contextualErrorMap},s=n.data;if(this._def.returns instanceof W){let o=this;return A(async function(...l){let c=new R([]),f=await o._def.args.parseAsync(l,i).catch(C=>{throw c.addIssue(r(l,C)),c}),S=await Reflect.apply(s,this,f);return await o._def.returns._def.type.parseAsync(S,i).catch(C=>{throw c.addIssue(a(S,C)),c})})}else{let o=this;return A(function(...l){let c=o._def.args.safeParse(l,i);if(!c.success)throw new R([r(l,c.error)]);let f=Reflect.apply(s,this,c.data),S=o._def.returns.safeParse(f,i);if(!S.success)throw new R([a(f,S.error)]);return S.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:$.create(e).rest(K.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,n,r){return new t({args:e||$.create([]).rest(K.create()),returns:n||K.create(),typeName:y.ZodFunction,..._(r)})}},oe=class extends k{get schema(){return this._def.getter()}_parse(e){let{ctx:n}=this._processInputParams(e);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};oe.create=(t,e)=>new oe({getter:t,typeName:y.ZodLazy,..._(e)});var ce=class extends k{_parse(e){if(e.data!==this._def.value){let n=this._getOrReturnCtx(e);return p(n,{received:n.data,code:u.invalid_literal,expected:this._def.value}),h}return{status:"valid",value:e.data}}get value(){return this._def.value}};ce.create=(t,e)=>new ce({value:t,typeName:y.ZodLiteral,..._(e)});function nn(t,e){return new de({values:t,typeName:y.ZodEnum,..._(e)})}var de=class t extends k{_parse(e){if(typeof e.data!="string"){let n=this._getOrReturnCtx(e),r=this._def.values;return p(n,{expected:x.joinValues(r),received:n.parsedType,code:u.invalid_type}),h}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let n=this._getOrReturnCtx(e),r=this._def.values;return p(n,{received:n.data,code:u.invalid_enum_value,options:r}),h}return A(e.data)}get options(){return this._def.values}get enum(){let e={};for(let n of this._def.values)e[n]=n;return e}get Values(){let e={};for(let n of this._def.values)e[n]=n;return e}get Enum(){let e={};for(let n of this._def.values)e[n]=n;return e}extract(e,n=this._def){return t.create(e,{...this._def,...n})}exclude(e,n=this._def){return t.create(this.options.filter(r=>!e.includes(r)),{...this._def,...n})}};de.create=nn;var ue=class extends k{_parse(e){let n=x.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==m.string&&r.parsedType!==m.number){let a=x.objectValues(n);return p(r,{expected:x.joinValues(a),received:r.parsedType,code:u.invalid_type}),h}if(this._cache||(this._cache=new Set(x.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let a=x.objectValues(n);return p(r,{received:r.data,code:u.invalid_enum_value,options:a}),h}return A(e.data)}get enum(){return this._def.values}};ue.create=(t,e)=>new ue({values:t,typeName:y.ZodNativeEnum,..._(e)});var W=class extends k{unwrap(){return this._def.type}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==m.promise&&n.common.async===!1)return p(n,{code:u.invalid_type,expected:m.promise,received:n.parsedType}),h;let r=n.parsedType===m.promise?n.data:Promise.resolve(n.data);return A(r.then(a=>this._def.type.parseAsync(a,{path:n.path,errorMap:n.common.contextualErrorMap})))}};W.create=(t,e)=>new W({type:t,typeName:y.ZodPromise,..._(e)});var V=class extends k{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===y.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:n,ctx:r}=this._processInputParams(e),a=this._def.effect||null,i={addIssue:s=>{p(r,s),s.fatal?n.abort():n.dirty()},get path(){return r.path}};if(i.addIssue=i.addIssue.bind(i),a.type==="preprocess"){let s=a.transform(r.data,i);if(r.common.async)return Promise.resolve(s).then(async o=>{if(n.value==="aborted")return h;let l=await this._def.schema._parseAsync({data:o,path:r.path,parent:r});return l.status==="aborted"?h:l.status==="dirty"?X(l.value):n.value==="dirty"?X(l.value):l});{if(n.value==="aborted")return h;let o=this._def.schema._parseSync({data:s,path:r.path,parent:r});return o.status==="aborted"?h:o.status==="dirty"?X(o.value):n.value==="dirty"?X(o.value):o}}if(a.type==="refinement"){let s=o=>{let l=a.refinement(o,i);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return o};if(r.common.async===!1){let o=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?h:(o.status==="dirty"&&n.dirty(),s(o.value),{status:n.value,value:o.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(o=>o.status==="aborted"?h:(o.status==="dirty"&&n.dirty(),s(o.value).then(()=>({status:n.value,value:o.value}))))}if(a.type==="transform")if(r.common.async===!1){let s=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!B(s))return h;let o=a.transform(s.value,i);if(o instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:o}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(s=>B(s)?Promise.resolve(a.transform(s.value,i)).then(o=>({status:n.value,value:o})):h);x.assertNever(a)}};V.create=(t,e,n)=>new V({schema:t,typeName:y.ZodEffects,effect:e,..._(n)});V.createWithPreprocess=(t,e,n)=>new V({schema:e,effect:{type:"preprocess",transform:t},typeName:y.ZodEffects,..._(n)});var M=class extends k{_parse(e){return this._getType(e)===m.undefined?A(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};M.create=(t,e)=>new M({innerType:t,typeName:y.ZodOptional,..._(e)});var z=class extends k{_parse(e){return this._getType(e)===m.null?A(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};z.create=(t,e)=>new z({innerType:t,typeName:y.ZodNullable,..._(e)});var le=class extends k{_parse(e){let{ctx:n}=this._processInputParams(e),r=n.data;return n.parsedType===m.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};le.create=(t,e)=>new le({innerType:t,typeName:y.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,..._(e)});var fe=class extends k{_parse(e){let{ctx:n}=this._processInputParams(e),r={...n,common:{...n.common,issues:[]}},a=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Se(a)?a.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new R(r.common.issues)},input:r.data})})):{status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new R(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};fe.create=(t,e)=>new fe({innerType:t,typeName:y.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,..._(e)});var Ce=class extends k{_parse(e){if(this._getType(e)!==m.nan){let r=this._getOrReturnCtx(e);return p(r,{code:u.invalid_type,expected:m.nan,received:r.parsedType}),h}return{status:"valid",value:e.data}}};Ce.create=t=>new Ce({typeName:y.ZodNaN,..._(t)});var _r=Symbol("zod_brand"),Ie=class extends k{_parse(e){let{ctx:n}=this._processInputParams(e),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},Pe=class t extends k{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.common.async)return(async()=>{let i=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?h:i.status==="dirty"?(n.dirty(),X(i.value)):this._def.out._parseAsync({data:i.value,path:r.path,parent:r})})();{let a=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?h:a.status==="dirty"?(n.dirty(),{status:"dirty",value:a.value}):this._def.out._parseSync({data:a.value,path:r.path,parent:r})}}static create(e,n){return new t({in:e,out:n,typeName:y.ZodPipeline})}},pe=class extends k{_parse(e){let n=this._def.innerType._parse(e),r=a=>(B(a)&&(a.value=Object.freeze(a.value)),a);return Se(n)?n.then(a=>r(a)):r(n)}unwrap(){return this._def.innerType}};pe.create=(t,e)=>new pe({innerType:t,typeName:y.ZodReadonly,..._(e)});function Xt(t,e){let n=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof n=="string"?{message:n}:n}function rn(t,e={},n){return t?Y.create().superRefine((r,a)=>{let i=t(r);if(i instanceof Promise)return i.then(s=>{if(!s){let o=Xt(e,r),l=o.fatal??n??!0;a.addIssue({code:"custom",...o,fatal:l})}});if(!i){let s=Xt(e,r),o=s.fatal??n??!0;a.addIssue({code:"custom",...s,fatal:o})}}):Y.create()}var vr={object:I.lazycreate},y;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(y||(y={}));var Sr=(t,e={message:`Input not instance of ${t.name}`})=>rn(n=>n instanceof t,e),an=q.create,sn=Q.create,kr=Ce.create,xr=ee.create,on=te.create,wr=ne.create,Tr=xe.create,br=re.create,Cr=ae.create,Er=Y.create,Ar=K.create,Rr=j.create,Ir=we.create,Pr=Z.create,Or=I.create,Mr=I.strictCreate,Nr=ie.create,Vr=He.create,jr=se.create,Dr=$.create,Lr=Ue.create,$r=Te.create,zr=be.create,Fr=Ke.create,Hr=oe.create,Ur=ce.create,Kr=de.create,Zr=ue.create,Gr=W.create,Br=V.create,qr=M.create,Yr=z.create,Wr=V.createWithPreprocess,Jr=Pe.create,Xr=()=>an().optional(),Qr=()=>sn().optional(),ea=()=>on().optional(),ta={string:(t=>q.create({...t,coerce:!0})),number:(t=>Q.create({...t,coerce:!0})),boolean:(t=>te.create({...t,coerce:!0})),bigint:(t=>ee.create({...t,coerce:!0})),date:(t=>ne.create({...t,coerce:!0}))};var na=h;var Ze=d.object({page:d.object({title:d.string().nullable(),path:d.string(),search:d.string(),hash:d.string()}).strict(),referrer:d.string().nullable(),viewport:d.object({w:d.number(),h:d.number()}).strict().nullable().optional()}).strict(),cn=d.object({}).strict();var kt="aranova_tracking_last_fired_url",vt=null,St=!1;function ra(t){try{return typeof window>"u"?null:window.sessionStorage.getItem(t)}catch{return null}}function aa(t,e){try{if(typeof window>"u")return;window.sessionStorage.setItem(t,e)}catch{}}function ia(){if(!St){St=!0;let t=ra(kt);t!==null&&(vt=t)}return vt}function sa(t){vt=t,St=!0,aa(kt,t)}function dn(t){return typeof window>"u"||typeof document>"u"?null:Ze.parse({page:{title:document.title||null,path:window.location.pathname,search:window.location.search,hash:window.location.hash},referrer:t!==void 0?t:document.referrer||null,viewport:{w:window.innerWidth,h:window.innerHeight}})}function Oe(t){if(typeof window>"u")return;let e=window.location.href,n=ia(),r=n!==null&&n!==e?n:null,a=typeof document<"u"&&document.referrer||null,s=dn(r??a);t.trackEvent({eventType:"page_view",pageUrl:e,metadata:s}),e!==n&&sa(e)}function xt(t){if(typeof window>"u")return()=>{};function e(n){n.persisted&&Oe(t)}return window.addEventListener("pageshow",e),()=>{window.removeEventListener("pageshow",e)}}function wt(t,e={}){if(typeof window>"u"||typeof history>"u")return()=>{};let n=window.location.pathname+window.location.search;function r(){let c=window.location.pathname+window.location.search;c!==n&&(n=c,Oe(t))}let a=history.pushState.bind(history),i=history.replaceState.bind(history);function s(...c){a(...c),setTimeout(r,0)}function o(...c){i(...c),setTimeout(r,0)}function l(c){c.persisted&&Oe(t)}return history.pushState=s,history.replaceState=o,window.addEventListener("popstate",r),window.addEventListener("pageshow",l),e.skipInitial||Oe(t),()=>{history.pushState=a,history.replaceState=i,window.removeEventListener("popstate",r),window.removeEventListener("pageshow",l)}}function Ge(t){if(t instanceof RegExp)return t.source;if(Array.isArray(t))return t.map(Ge);if(t!==null&&typeof t=="object"){let e={};for(let[n,r]of Object.entries(t))e[n]=Ge(r);return e}return t}function Tt(t,e,n,r,a=null){let i=r?Object.keys(r.automatic):[],s=r?.manual?Object.keys(r.manual):[],o=null;if(r){let l={};for(let[c,f]of Object.entries(r.automatic)){let S=Ge(f);Object.keys(S).length>0&&(l[c]=S)}if(r.manual)for(let[c,f]of Object.entries(r.manual)){if(f===void 0)continue;let S=Ge(f);Object.keys(S).length>0&&(l[c]=S)}Object.keys(l).length>0&&(o=l)}return{sdk_version:e??"unknown",package_name:n,surface:t,triggers:{automatic:i,manual:s},trigger_config:o,configured_gtag_ids:a}}var ln=2e3,fn=10,Be=50,qe="X-Aranova-Api-Key",Ye="X-Aranova-Sdk-Version",We="X-Aranova-Sdk-Package",Je="X-Aranova-Sdk-Surface",Xe="X-Aranova-Sdk-Environment";function ca(t,e,n,r,a){return{surface:t,sdk_version:e,package_name:n,site_origin:typeof window>"u"?null:window.location.origin,page_title:typeof document>"u"?null:document.title||null,referrer:typeof document>"u"?null:document.referrer||null,environment:r,active_gtag_ids:a}}function da(){if(typeof window>"u")return De();try{ye()}catch{}return ge(he)}function ua(){try{return{state:G()}}catch{return null}}async function un(t,e,n,r,a){if(typeof fetch=="function")try{await fetch(t,{method:"POST",headers:{"Content-Type":"application/json",[qe]:n,[Ye]:r.sdkVersion,[We]:r.packageName,[Je]:r.surface,[Xe]:r.environment},body:e,keepalive:a,credentials:"omit",mode:"cors"})}catch{}}function bt(t){let e=t.flushIntervalMs??ln,n=Math.min(t.maxQueueSize??fn,Be),r=t.sdkVersion??null,a=t.packageName??null,i=t.environment??"production",s=t.activeGtagIds??null,l=`${t.endpoint.replace(/\/$/,"")}/events`,c={sdkVersion:r??"",packageName:a??"",surface:t.surface,environment:i},f=[],S=null,w=null,C=!1,v=gt(),b=_e(),D=b.id;typeof window<"u"&&(w=window.location.href);function Ee(){let T=Tt(t.surface,r,a,t.triggers??null,s);f.push({event_type:"sdk_heartbeat",page_url:typeof window>"u"?null:window.location.href,metadata:T,occurred_at:new Date().toISOString()})}b.isNew&&Ee();function zt(){let T=_e();T.isNew&&T.id!==D&&Ee(),D=T.id;let P=da(),Ae=ca(t.surface,r,a,i,s);return{session_id:D,visitor_id:v,gclid:P.gclid,fbclid:P.fbclid,utm_source:P.utm_source,utm_medium:P.utm_medium,utm_campaign:P.utm_campaign,utm_term:P.utm_term,utm_content:P.utm_content,first_page:w,consent_state:ua(),context:Ae}}function Dn(){S!==null||C||(S=setTimeout(()=>{S=null,tt()},e))}function et(){S!==null&&(clearTimeout(S),S=null)}async function tt(){if(f.length===0)return;let T=f.slice(0,Be);f=f.slice(T.length),et();let P={session:zt(),events:T},Ae=JSON.stringify(P);await un(l,Ae,t.apiKey,c,!1)}function Ln(T){if(C||!T||typeof T.eventType!="string"||T.eventType.length===0)return;let P=T.occurredAt instanceof Date?T.occurredAt.toISOString():typeof T.occurredAt=="string"?T.occurredAt:new Date().toISOString();f.push({event_type:T.eventType,page_url:T.pageUrl??(typeof window>"u"?null:window.location.href),metadata:T.metadata??null,occurred_at:P}),f.length>=n?tt():Dn()}function Ne(){if(f.length===0)return;let T=f.slice(0,Be);f=f.slice(T.length),et();let P={session:zt(),events:T},Ae=JSON.stringify(P);un(l,Ae,t.apiKey,c,!0)}return typeof window<"u"&&(window.addEventListener("pagehide",Ne),window.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&Ne()})),{trackEvent:Ln,flush:tt,getSessionId:()=>D,getVisitorId:()=>v,destroy:()=>{C=!0,f.length>0&&Ne(),et(),f=[],typeof window<"u"&&window.removeEventListener("pagehide",Ne)}}}var pn=d.object({cta_name:d.string(),page:d.object({path:d.string()}).strict(),section:d.string().nullable().optional(),destination_url:d.string().nullable().optional()}).strict(),mn=d.object({}).strict();var la=d.object({automatic:d.array(d.string()),manual:d.array(d.string())}).strict(),gn=d.object({sdk_version:d.string(),package_name:d.string().nullable(),surface:d.enum(["next","react","script"]),triggers:la,trigger_config:d.record(d.string(),d.record(d.string(),d.unknown())).nullable().optional(),configured_gtag_ids:d.record(d.string(),d.string()).nullable().optional()}).strict(),hn=d.object({}).strict();var yn=d.object({form:d.object({id:d.string(),action:d.string().nullable()}).strict(),page:d.object({path:d.string()}).strict()}).strict(),_n=d.object({selector:d.string().optional()}).strict();var Ct=d.lazy(()=>d.union([d.string(),d.number().finite(),d.boolean(),d.null(),d.array(Ct),d.record(Ct)])),vn=d.object({form:d.object({id:d.string(),action:d.string().nullable(),fields:d.array(d.object({name:d.string(),type:d.string(),label:d.string().nullable(),value:Ct}).strict()).optional()}).strict(),page:d.object({path:d.string()}).strict()}).strict(),Sn=d.object({}).strict();var kn=d.object({page_count:d.number().int().min(2),page:d.object({path:d.string()}).strict()}).strict(),xn=d.object({pageThreshold:d.number().int().min(2)}).strict();var wn=d.object({phone_number:d.string(),page:d.object({path:d.string()}).strict(),section:d.string().nullable().optional()}).strict(),Tn=d.object({}).strict();var bn=d.object({depth_percent:d.number().int().min(1).max(100),page:d.object({path:d.string()}).strict()}).strict(),Cn=d.object({thresholds:d.array(d.number().int().min(1).max(100)).min(1)}).strict();var fa=["contact_page","about_page","services_page","booking_page","location_page","pricing_page","faq_page","testimonials_page"],En=d.enum(fa),An=d.object({page_name:En,page:d.object({path:d.string()}).strict()}).strict(),Rn=d.object({pages:d.array(d.object({name:En,pathPattern:d.custom(t=>t instanceof RegExp,{message:"pathPattern must be a RegExp"})}).strict()).min(1)}).strict();var In=d.object({duration_ms:d.number().int().nonnegative(),page:d.object({path:d.string()}).strict()}).strict(),Pn=d.object({thresholdSeconds:d.number().int().positive()}).strict();var Et={page_view:{kind:"automatic",metadataSchema:Ze,configSchema:cn},time_on_site:{kind:"automatic",metadataSchema:In,configSchema:Pn},specific_page_visit:{kind:"automatic",metadataSchema:An,configSchema:Rn},scroll_depth:{kind:"automatic",metadataSchema:bn,configSchema:Cn},multi_page_session:{kind:"automatic",metadataSchema:kn,configSchema:xn},form_start:{kind:"automatic",metadataSchema:yn,configSchema:_n},sdk_heartbeat:{kind:"automatic",metadataSchema:gn,configSchema:hn},form_submit:{kind:"manual",metadataSchema:vn,configSchema:Sn},phone_click:{kind:"manual",metadataSchema:wn,configSchema:Tn},cta_click:{kind:"manual",metadataSchema:pn,configSchema:mn}},Hi=Object.entries(Et).filter(([,t])=>t.kind==="automatic").map(([t])=>t),Ui=Object.entries(Et).filter(([,t])=>t.kind==="manual").map(([t])=>t);function At(t){return Et[t]}function Rt(t,e){if(typeof window>"u"||typeof document>"u")return()=>{};let n=e.thresholdSeconds*1e3,r=0,a=document.visibilityState==="visible"?Date.now():null,i=null,s=!1;function o(){s||(s=!0,t.trackEvent({eventType:"time_on_site",metadata:{duration_ms:n,page:{path:window.location.pathname}},pageUrl:window.location.href,occurredAt:null}))}function l(){if(s||a===null)return;let S=n-r;if(S<=0){o();return}i=setTimeout(o,S)}function c(){i!==null&&(clearTimeout(i),i=null)}function f(){s||(document.visibilityState==="hidden"?(a!==null&&(r+=Date.now()-a,a=null),c()):(a=Date.now(),l()))}return document.addEventListener("visibilitychange",f),l(),()=>{c(),document.removeEventListener("visibilitychange",f)}}function It(t,e){if(typeof window>"u"||typeof history>"u")return()=>{};let{pages:n}=e,r=new Set;function a(){let c=window.location.pathname;for(let{name:f,pathPattern:S}of n){if(S.lastIndex=0,!S.test(c))continue;let w=`${f}:${c}`;r.has(w)||(r.add(w),t.trackEvent({eventType:"specific_page_visit",metadata:{page_name:f,page:{path:c}},pageUrl:window.location.href,occurredAt:null}))}}let i=history.pushState.bind(history),s=history.replaceState.bind(history);function o(...c){i(...c),setTimeout(a,0)}function l(...c){s(...c),setTimeout(a,0)}return history.pushState=o,history.replaceState=l,window.addEventListener("popstate",a),a(),()=>{history.pushState=i,history.replaceState=s,window.removeEventListener("popstate",a)}}function Pt(t,e){if(typeof window>"u"||typeof document>"u")return()=>{};let n=new Set(e.thresholds),r=new Set,a=window.location.pathname,i=null;function s(){let v=document.documentElement,b=window.scrollY||v.scrollTop,D=v.scrollHeight,Ee=v.clientHeight;return D<=Ee?100:Math.round((b+Ee)/D*100)}function o(){let v=s();for(let b of n)v>=b&&!r.has(b)&&(r.add(b),t.trackEvent({eventType:"scroll_depth",metadata:{depth_percent:b,page:{path:a}},pageUrl:window.location.href,occurredAt:null}))}function l(){i===null&&(i=requestAnimationFrame(()=>{i=null,o()}))}function c(){let v=window.location.pathname;v!==a&&(a=v,r=new Set,setTimeout(o,0))}let f=history.pushState.bind(history),S=history.replaceState.bind(history);function w(...v){f(...v),setTimeout(c,0)}function C(...v){S(...v),setTimeout(c,0)}return history.pushState=w,history.replaceState=C,window.addEventListener("popstate",c),window.addEventListener("scroll",l,{passive:!0}),setTimeout(o,0),()=>{i!==null&&cancelAnimationFrame(i),history.pushState=f,history.replaceState=S,window.removeEventListener("popstate",c),window.removeEventListener("scroll",l)}}var Ot="aranova_tracking_mps_paths",On="aranova_tracking_mps_session",Mt="aranova_tracking_mps_fired";function pa(){try{return typeof window<"u"?window.sessionStorage:null}catch{return null}}function Nt(t,e){if(typeof window>"u"||typeof history>"u")return()=>{};let n=pa();if(!n)return()=>{};let{pageThreshold:r}=e,a="";function i(){try{let v=n.getItem(Ot);return v?new Set(JSON.parse(v)):new Set}catch{return new Set}}function s(v){try{n.setItem(Ot,JSON.stringify([...v]))}catch{}}function o(){let v=_e().id;n.getItem(On)!==v&&(n.setItem(On,v),n.removeItem(Ot),n.removeItem(Mt))}function l(){return n.getItem(Mt)==="1"}function c(){let v=window.location.pathname;if(v===a||(a=v,o(),l()))return;let b=i();b.add(v),s(b),b.size>=r&&(n.setItem(Mt,"1"),t.trackEvent({eventType:"multi_page_session",metadata:{page_count:b.size,page:{path:window.location.pathname}},pageUrl:window.location.href,occurredAt:null}))}let f=history.pushState.bind(history),S=history.replaceState.bind(history);function w(...v){f(...v),setTimeout(c,0)}function C(...v){S(...v),setTimeout(c,0)}return history.pushState=w,history.replaceState=C,window.addEventListener("popstate",c),c(),()=>{history.pushState=f,history.replaceState=S,window.removeEventListener("popstate",c)}}function Vt(t,e){if(typeof window>"u"||typeof document>"u")return()=>{};let n=e.selector??"form",r=new Set,a=window.location.pathname;function i(w){if(w.id)return`id:${w.id}`;let C=w.getAttribute("action");return C?`action:${C}`:`index:${Array.from(document.querySelectorAll(n)).indexOf(w)}`}function s(w){let C=w.target;if(!(C instanceof HTMLElement))return;let v=C.closest(n);if(!v||v.tagName!=="FORM")return;let b=i(v);r.has(b)||(r.add(b),t.trackEvent({eventType:"form_start",metadata:{form:{id:v.id||"",action:v.getAttribute("action")??null},page:{path:window.location.pathname}},pageUrl:window.location.href,occurredAt:null}))}function o(){let w=window.location.pathname;w!==a&&(a=w,r=new Set)}let l=history.pushState.bind(history),c=history.replaceState.bind(history);function f(...w){l(...w),setTimeout(o,0)}function S(...w){c(...w),setTimeout(o,0)}return history.pushState=f,history.replaceState=S,window.addEventListener("popstate",o),document.addEventListener("focusin",s),()=>{history.pushState=l,history.replaceState=c,window.removeEventListener("popstate",o),document.removeEventListener("focusin",s)}}var Me=class extends Error{constructor(e,n){super(e),this.name="AranovaApiError",this.status=n.status,this.code=n.code,this.requestId=n.requestId}};function ma(t){let e={[qe]:t.apiKey};return t.sdkVersion&&(e[Ye]=t.sdkVersion),t.packageName&&(e[We]=t.packageName),t.surface&&(e[Je]=t.surface),t.environment&&(e[Xe]=t.environment),e}function ga(t,e){return`${t.replace(/\/$/,"")}${e}`}async function J(t,e,n,r){let a=ma(t);r!==void 0&&(a["Content-Type"]="application/json");let i=await fetch(ga(t.endpoint,n),{method:e,headers:a,body:r===void 0?void 0:JSON.stringify(r)});if(!i.ok){let s,o;try{let l=await i.json();if(l&&typeof l=="object"){let c=l;typeof c.detail=="string"&&(s=c.detail),typeof c.code=="string"&&(o=c.code)}}catch{}throw new Me(s??i.statusText??"Request failed",{status:i.status,code:o,requestId:i.headers.get("x-request-id")??void 0})}if(i.status!==204)return await i.json()}function jt(t){return{async record(e){let n=e.currency??t.defaultCurrency;if(!n)throw new Error("record: `currency` is required (pass it on the sale or set config.defaultCurrency)");let r={...e,currency:n,occurred_at:e.occurred_at??new Date().toISOString()};return J(t,"POST","/sales",r)},async list(e){let{cursor:n,limit:r,...a}=e??{};return J(t,"POST","/sales/query",{filters:a,...r!==void 0?{limit:r}:{},...n!==void 0?{cursor:n}:{}})},async summary(e){let{range:n,include_categories:r,include_deleted_services:a,top_n:i,...s}=e;return J(t,"POST","/sales/summary",{filters:s,range:n,...r!==void 0?{include_categories:r}:{},...a!==void 0?{include_deleted_services:a}:{},...i!==void 0?{top_n:i}:{}})},async get(e){return J(t,"GET",`/sales/${e}`)},async update(e,n){return J(t,"PATCH",`/sales/${e}`,n)},async delete(e){await J(t,"DELETE",`/sales/${e}`)}}}var Dt="aranova-tracking-consent-banner";function ha(){return ge(he)}function Nn(){document.getElementById(Dt)?.remove()}function Vn(t,e,n){let r=document.createElement("button");return r.type="button",r.textContent=t,Object.assign(r.style,{borderRadius:"6px",padding:"10px 16px",fontSize:"14px",fontWeight:"600",cursor:"pointer",border:"1px solid #d1d5db",background:"#ffffff",color:"#374151"},n),r.addEventListener("click",e),r}function ya(){if(typeof document>"u"||G()!=="pending"||document.getElementById(Dt))return;let t=document.createElement("div");t.id=Dt,Object.assign(t.style,{position:"fixed",left:"0",right:"0",bottom:"0",zIndex:"2147483647",background:"#ffffff",borderTop:"1px solid #e5e7eb",boxShadow:"0 -4px 20px rgba(0, 0, 0, 0.12)",padding:"16px",fontFamily:"Inter, system-ui, sans-serif"});let e=document.createElement("div");Object.assign(e.style,{maxWidth:"960px",margin:"0 auto",display:"flex",flexDirection:"column",gap:"12px"});let n=document.createElement("p");n.textContent="We use cookies to understand ad performance and improve how our marketing works across visits. You can accept or decline this tracking.",Object.assign(n.style,{margin:"0",color:"#374151",fontSize:"14px",lineHeight:"1.5"});let r=document.createElement("div");Object.assign(r.style,{display:"flex",gap:"8px",flexWrap:"wrap"});let a=Vn("Decline",()=>{me("denied"),Nn()},{}),i=Vn("Accept",()=>{me("granted"),Nn()},{background:"#111827",color:"#ffffff",border:"1px solid #111827"});r.appendChild(a),r.appendChild(i),e.appendChild(n),e.appendChild(r),t.appendChild(e),document.body.appendChild(t)}var O=null,Lt=null,F=[],Qe=null;function _a(){for(let t=F.length-1;t>=0;t--)F[t]();F=[],O!==null&&(O.destroy(),O=null),Lt=null,Qe=null}function jn(t={}){if(typeof window>"u")return;window.AranovaTracking=$t;let{apiKey:e,endpoint:n,autoCaptureTrackingParams:r=!0,cookieMaxAgeSeconds:a=7776e3,gtagId:i,gtagIds:s,environment:o,renderConsentBanner:l=!0,triggers:c}=t;if(r&&ye(window.location.href,a),s&&Object.keys(s).length>0?ut(s):i&&dt(i),l&&ya(),_a(),!e||!n){(e||n)&&console.warn("[AranovaTracking] init() requires both `apiKey` and `endpoint` to enable first-party event ingest. Page-view events will not be sent.");return}Qe=jt({apiKey:e,endpoint:n});let f=c??{automatic:{page_view:{}},manual:{}};Lt=f,O=bt({apiKey:e,endpoint:n,surface:"script",packageName:"@aranova/tracking-browser",sdkVersion:Ht,triggers:f,environment:o,activeGtagIds:s??(i?{default:i}:void 0)}),F.push(wt(O)),F.push(xt(O));let w=f.automatic.time_on_site;w&&F.push(Rt(O,w));let C=f.automatic.specific_page_visit;C&&F.push(It(O,C));let v=f.automatic.scroll_depth;v&&F.push(Pt(O,v));let b=f.automatic.multi_page_session;b&&F.push(Nt(O,b));let D=f.automatic.form_start;D&&F.push(Vt(O,D))}function va(t,e){if(O===null){console.warn("[AranovaTracking] trackEvent called before init({ apiKey, endpoint })");return}let n=Lt;if(n===null){console.warn("[AranovaTracking] trackEvent called but no trigger registry was passed to init()");return}let r=n.manual??{};if(!(t in r)){console.warn(`[AranovaTracking] trackEvent: event "${t}" is not registered as a manual trigger. Register it under \`triggers.manual\` in init().`);return}try{At(t).metadataSchema.parse(e)}catch(a){console.warn(`[AranovaTracking] trackEvent: metadata for "${t}" failed schema validation`,a);return}O.trackEvent({eventType:t,metadata:e,pageUrl:null,occurredAt:null})}function Sa(){if(Qe===null)throw new Error("[AranovaTracking] sales() called before init({ apiKey, endpoint })");return Qe}var $t={init:jn,captureTrackingParams:()=>ye(),getTrackingParams:ha,getConsentState:G,setConsentState:me,trackEvent:va,sales:Sa};typeof window<"u"&&(window.AranovaTracking=$t);var ka=$t;return Un(xa);})();
1
+ "use strict";var AranovaTracking=(()=>{var rt=Object.defineProperty;var qn=Object.getOwnPropertyDescriptor;var Yn=Object.getOwnPropertyNames;var Wn=Object.prototype.hasOwnProperty;var Ft=(t,e)=>{for(var n in e)rt(t,n,{get:e[n],enumerable:!0})},Jn=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of Yn(e))!Wn.call(t,a)&&a!==n&&rt(t,a,{get:()=>e[a],enumerable:!(r=qn(e,a))||r.enumerable});return t};var Qn=t=>Jn(rt({},"__esModule",{value:!0}),t);var Va={};Ft(Va,{default:()=>Ma,init:()=>Hn});var Ut="0.12.1";var at="consent_state",Kt="consent_timestamp";function it(t){return{ad_storage:t,ad_user_data:t,ad_personalization:t,analytics_storage:t}}function B(){if(typeof window>"u")return"pending";let t=window.localStorage.getItem(at);return t==="granted"||t==="denied"?t:"pending"}function fe(t){typeof window>"u"||(window.localStorage.setItem(at,t),window.localStorage.setItem(Kt,new Date().toISOString()),typeof window.gtag=="function"&&window.gtag("consent","update",it(t)))}function Ve(){let t=B();return(t==="granted"||t==="denied")&&fe(t),t}var Gt="https://www.googletagmanager.com/gtag/js",st="data-aranova-tracking";function er(t){return`aranova-${t}`}var tr=/^[A-Z]{1,3}-[A-Za-z0-9_-]+$/;function ot(t){return tr.test(t)}function je(){return window.dataLayer=window.dataLayer||[],typeof window.gtag=="function"||(window.gtag=(...t)=>{window.dataLayer?.push(t)}),window.gtag}function ct(){je()("consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied",wait_for_update:500})}function ut(t){if(typeof document>"u")return;let e=er("gtag-loader");if(document.querySelector(`script[${st}="${e}"]`))return;let r=document.createElement("script");r.async=!0,r.src=`${Gt}?id=${encodeURIComponent(t)}`,r.setAttribute(st,e),document.head.append(r)}function Ht(t){let e=je();e("js",new Date),e("config",t)}function dt(t){typeof window>"u"||typeof document>"u"||ot(t)&&(ct(),ut(t),Ht(t),Ve())}function lt(t){if(typeof window>"u"||typeof document>"u")return;let e=Object.values(t).filter(ot);if(e.length===0)return;ct(),ut(e[0]);let n=je();n("js",new Date);for(let r of e)n("config",r);Ve()}var pt=["gclid","fbclid","utm_source","utm_medium","utm_campaign","utm_term","utm_content"];function De(){return{gclid:null,fbclid:null,utm_source:null,utm_medium:null,utm_campaign:null,utm_term:null,utm_content:null}}function mt(t){return typeof t=="string"&&t.length>0?t:null}function ge(t){return pt.reduce((e,n)=>(e[n]=mt(t(n)),e),De())}function Zt(t){return pt.reduce((e,n)=>{let r=t.get(n);return typeof r=="string"&&r.trim().length>0&&(e[n]=r),e},{})}function he(t){if(typeof document>"u")return null;let n=(document.cookie?document.cookie.split("; "):[]).find(a=>a.startsWith(`${t}=`));if(!n)return null;let[,r=""]=n.split("=");return mt(decodeURIComponent(r))}function Bt(t,e,n=7776e3){if(typeof document>"u")return;let r=encodeURIComponent(e);document.cookie=`${t}=${r}; Max-Age=${n}; Path=/; SameSite=Lax`}function qt(t,e=7776e3){let n=Zt(t);return Object.entries(n).forEach(([r,a])=>{Bt(r,a,e)}),n}function ye(t=typeof window>"u"?"":window.location.href,e=7776e3){let n=typeof window>"u"?new URL(t||"https://example.invalid"):new URL(t,window.location.origin);return qt(n.searchParams,e),ge(he)}var ft="aranova_tracking_visitor",Le="aranova_tracking_session";function $e(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now().toString(16)}-${Math.random().toString(16).slice(2)}-${Math.random().toString(16).slice(2)}`}function Yt(t){try{return window.localStorage.getItem(t)}catch{return null}}function gt(t,e){try{window.localStorage.setItem(t,e)}catch{}}function ht(){if(typeof window>"u")return $e();let t=Yt(ft);if(t&&t.length>0)return t;let e=$e();return gt(ft,e),e}function _e(t=Date.now()){if(typeof window>"u")return{id:$e(),isNew:!0};let e=Yt(Le);if(e)try{let r=JSON.parse(e);if(typeof r.id=="string"&&typeof r.last_event_at=="number"&&t-r.last_event_at<=18e5){let a={id:r.id,last_event_at:t};return gt(Le,JSON.stringify(a)),{id:r.id,isNew:!1}}}catch{}let n={id:$e(),last_event_at:t};return gt(Le,JSON.stringify(n)),{id:n.id,isNew:!0}}var c={};Ft(c,{BRAND:()=>Er,DIRTY:()=>Q,EMPTY_PATH:()=>ir,INVALID:()=>h,NEVER:()=>la,OK:()=>R,ParseStatus:()=>E,Schema:()=>x,ZodAny:()=>W,ZodArray:()=>Z,ZodBigInt:()=>ee,ZodBoolean:()=>te,ZodBranded:()=>Ae,ZodCatch:()=>pe,ZodDate:()=>ne,ZodDefault:()=>le,ZodDiscriminatedUnion:()=>Ue,ZodEffects:()=>V,ZodEnum:()=>ue,ZodError:()=>I,ZodFirstPartyTypeKind:()=>y,ZodFunction:()=>Ge,ZodIntersection:()=>se,ZodIssueCode:()=>l,ZodLazy:()=>oe,ZodLiteral:()=>ce,ZodMap:()=>we,ZodNaN:()=>Te,ZodNativeEnum:()=>de,ZodNever:()=>D,ZodNull:()=>ae,ZodNullable:()=>F,ZodNumber:()=>X,ZodObject:()=>A,ZodOptional:()=>N,ZodParsedType:()=>f,ZodPipeline:()=>Pe,ZodPromise:()=>J,ZodReadonly:()=>me,ZodRecord:()=>Ke,ZodSchema:()=>x,ZodSet:()=>Ce,ZodString:()=>Y,ZodSymbol:()=>ke,ZodTransformer:()=>V,ZodTuple:()=>z,ZodType:()=>x,ZodUndefined:()=>re,ZodUnion:()=>ie,ZodUnknown:()=>H,ZodVoid:()=>be,addIssueToContext:()=>m,any:()=>jr,array:()=>zr,bigint:()=>Pr,boolean:()=>on,coerce:()=>da,custom:()=>rn,date:()=>Or,datetimeRegex:()=>tn,defaultErrorMap:()=>K,discriminatedUnion:()=>Gr,effect:()=>na,enum:()=>Xr,function:()=>Wr,getErrorMap:()=>ve,getParsedType:()=>$,instanceof:()=>Ir,intersection:()=>Hr,isAborted:()=>ze,isAsync:()=>Se,isDirty:()=>Fe,isValid:()=>q,late:()=>Rr,lazy:()=>Jr,literal:()=>Qr,makeIssue:()=>Ie,map:()=>qr,nan:()=>Ar,nativeEnum:()=>ea,never:()=>Lr,null:()=>Vr,nullable:()=>aa,number:()=>sn,object:()=>Fr,objectUtil:()=>yt,oboolean:()=>ua,onumber:()=>ca,optional:()=>ra,ostring:()=>oa,pipeline:()=>sa,preprocess:()=>ia,promise:()=>ta,quotelessJson:()=>nr,record:()=>Br,set:()=>Yr,setErrorMap:()=>ar,strictObject:()=>Ur,string:()=>an,symbol:()=>Nr,transformer:()=>na,tuple:()=>Zr,undefined:()=>Mr,union:()=>Kr,unknown:()=>Dr,util:()=>k,void:()=>$r});var k;(function(t){t.assertEqual=a=>{};function e(a){}t.assertIs=e;function n(a){throw new Error}t.assertNever=n,t.arrayToEnum=a=>{let i={};for(let s of a)i[s]=s;return i},t.getValidEnumValues=a=>{let i=t.objectKeys(a).filter(o=>typeof a[a[o]]!="number"),s={};for(let o of i)s[o]=a[o];return t.objectValues(s)},t.objectValues=a=>t.objectKeys(a).map(function(i){return a[i]}),t.objectKeys=typeof Object.keys=="function"?a=>Object.keys(a):a=>{let i=[];for(let s in a)Object.prototype.hasOwnProperty.call(a,s)&&i.push(s);return i},t.find=(a,i)=>{for(let s of a)if(i(s))return s},t.isInteger=typeof Number.isInteger=="function"?a=>Number.isInteger(a):a=>typeof a=="number"&&Number.isFinite(a)&&Math.floor(a)===a;function r(a,i=" | "){return a.map(s=>typeof s=="string"?`'${s}'`:s).join(i)}t.joinValues=r,t.jsonStringifyReplacer=(a,i)=>typeof i=="bigint"?i.toString():i})(k||(k={}));var yt;(function(t){t.mergeShapes=(e,n)=>({...e,...n})})(yt||(yt={}));var f=k.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),$=t=>{switch(typeof t){case"undefined":return f.undefined;case"string":return f.string;case"number":return Number.isNaN(t)?f.nan:f.number;case"boolean":return f.boolean;case"function":return f.function;case"bigint":return f.bigint;case"symbol":return f.symbol;case"object":return Array.isArray(t)?f.array:t===null?f.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?f.promise:typeof Map<"u"&&t instanceof Map?f.map:typeof Set<"u"&&t instanceof Set?f.set:typeof Date<"u"&&t instanceof Date?f.date:f.object;default:return f.unknown}};var l=k.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),nr=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),I=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=e}format(e){let n=e||function(i){return i.message},r={_errors:[]},a=i=>{for(let s of i.issues)if(s.code==="invalid_union")s.unionErrors.map(a);else if(s.code==="invalid_return_type")a(s.returnTypeError);else if(s.code==="invalid_arguments")a(s.argumentsError);else if(s.path.length===0)r._errors.push(n(s));else{let o=r,d=0;for(;d<s.path.length;){let u=s.path[d];d===s.path.length-1?(o[u]=o[u]||{_errors:[]},o[u]._errors.push(n(s))):o[u]=o[u]||{_errors:[]},o=o[u],d++}}};return a(this),r}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,k.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=n=>n.message){let n={},r=[];for(let a of this.issues)if(a.path.length>0){let i=a.path[0];n[i]=n[i]||[],n[i].push(e(a))}else r.push(e(a));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};I.create=t=>new I(t);var rr=(t,e)=>{let n;switch(t.code){case l.invalid_type:t.received===f.undefined?n="Required":n=`Expected ${t.expected}, received ${t.received}`;break;case l.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(t.expected,k.jsonStringifyReplacer)}`;break;case l.unrecognized_keys:n=`Unrecognized key(s) in object: ${k.joinValues(t.keys,", ")}`;break;case l.invalid_union:n="Invalid input";break;case l.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${k.joinValues(t.options)}`;break;case l.invalid_enum_value:n=`Invalid enum value. Expected ${k.joinValues(t.options)}, received '${t.received}'`;break;case l.invalid_arguments:n="Invalid function arguments";break;case l.invalid_return_type:n="Invalid function return type";break;case l.invalid_date:n="Invalid date";break;case l.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(n=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?n=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?n=`Invalid input: must end with "${t.validation.endsWith}"`:k.assertNever(t.validation):t.validation!=="regex"?n=`Invalid ${t.validation}`:n="Invalid";break;case l.too_small:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:n="Invalid input";break;case l.too_big:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?n=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:n="Invalid input";break;case l.custom:n="Invalid input";break;case l.invalid_intersection_types:n="Intersection results could not be merged";break;case l.not_multiple_of:n=`Number must be a multiple of ${t.multipleOf}`;break;case l.not_finite:n="Number must be finite";break;default:n=e.defaultError,k.assertNever(t)}return{message:n}},K=rr;var Wt=K;function ar(t){Wt=t}function ve(){return Wt}var Ie=t=>{let{data:e,path:n,errorMaps:r,issueData:a}=t,i=[...n,...a.path||[]],s={...a,path:i};if(a.message!==void 0)return{...a,path:i,message:a.message};let o="",d=r.filter(u=>!!u).slice().reverse();for(let u of d)o=u(s,{data:e,defaultError:o}).message;return{...a,path:i,message:o}},ir=[];function m(t,e){let n=ve(),r=Ie({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,n,n===K?void 0:K].filter(a=>!!a)});t.common.issues.push(r)}var E=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,n){let r=[];for(let a of n){if(a.status==="aborted")return h;a.status==="dirty"&&e.dirty(),r.push(a.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,n){let r=[];for(let a of n){let i=await a.key,s=await a.value;r.push({key:i,value:s})}return t.mergeObjectSync(e,r)}static mergeObjectSync(e,n){let r={};for(let a of n){let{key:i,value:s}=a;if(i.status==="aborted"||s.status==="aborted")return h;i.status==="dirty"&&e.dirty(),s.status==="dirty"&&e.dirty(),i.value!=="__proto__"&&(typeof s.value<"u"||a.alwaysSet)&&(r[i.value]=s.value)}return{status:e.value,value:r}}},h=Object.freeze({status:"aborted"}),Q=t=>({status:"dirty",value:t}),R=t=>({status:"valid",value:t}),ze=t=>t.status==="aborted",Fe=t=>t.status==="dirty",q=t=>t.status==="valid",Se=t=>typeof Promise<"u"&&t instanceof Promise;var g;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(g||(g={}));var M=class{constructor(e,n,r,a){this._cachedPath=[],this.parent=e,this.data=n,this._path=r,this._key=a}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Jt=(t,e)=>{if(q(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new I(t.common.issues);return this._error=n,this._error}}};function v(t){if(!t)return{};let{errorMap:e,invalid_type_error:n,required_error:r,description:a}=t;if(e&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:a}:{errorMap:(s,o)=>{let{message:d}=t;return s.code==="invalid_enum_value"?{message:d??o.defaultError}:typeof o.data>"u"?{message:d??r??o.defaultError}:s.code!=="invalid_type"?{message:o.defaultError}:{message:d??n??o.defaultError}},description:a}}var x=class{get description(){return this._def.description}_getType(e){return $(e.data)}_getOrReturnCtx(e,n){return n||{common:e.parent.common,data:e.data,parsedType:$(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new E,ctx:{common:e.parent.common,data:e.data,parsedType:$(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let n=this._parse(e);if(Se(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(e){let n=this._parse(e);return Promise.resolve(n)}parse(e,n){let r=this.safeParse(e,n);if(r.success)return r.data;throw r.error}safeParse(e,n){let r={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:$(e)},a=this._parseSync({data:e,path:r.path,parent:r});return Jt(r,a)}"~validate"(e){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:$(e)};if(!this["~standard"].async)try{let r=this._parseSync({data:e,path:[],parent:n});return q(r)?{value:r.value}:{issues:n.common.issues}}catch(r){r?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:n}).then(r=>q(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(e,n){let r=await this.safeParseAsync(e,n);if(r.success)return r.data;throw r.error}async safeParseAsync(e,n){let r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:$(e)},a=this._parse({data:e,path:r.path,parent:r}),i=await(Se(a)?a:Promise.resolve(a));return Jt(r,i)}refine(e,n){let r=a=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(a):n;return this._refinement((a,i)=>{let s=e(a),o=()=>i.addIssue({code:l.custom,...r(a)});return typeof Promise<"u"&&s instanceof Promise?s.then(d=>d?!0:(o(),!1)):s?!0:(o(),!1)})}refinement(e,n){return this._refinement((r,a)=>e(r)?!0:(a.addIssue(typeof n=="function"?n(r,a):n),!1))}_refinement(e){return new V({schema:this,typeName:y.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return N.create(this,this._def)}nullable(){return F.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Z.create(this)}promise(){return J.create(this,this._def)}or(e){return ie.create([this,e],this._def)}and(e){return se.create(this,e,this._def)}transform(e){return new V({...v(this._def),schema:this,typeName:y.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let n=typeof e=="function"?e:()=>e;return new le({...v(this._def),innerType:this,defaultValue:n,typeName:y.ZodDefault})}brand(){return new Ae({typeName:y.ZodBranded,type:this,...v(this._def)})}catch(e){let n=typeof e=="function"?e:()=>e;return new pe({...v(this._def),innerType:this,catchValue:n,typeName:y.ZodCatch})}describe(e){let n=this.constructor;return new n({...this._def,description:e})}pipe(e){return Pe.create(this,e)}readonly(){return me.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},sr=/^c[^\s-]{8,}$/i,or=/^[0-9a-z]+$/,cr=/^[0-9A-HJKMNP-TV-Z]{26}$/i,ur=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,dr=/^[a-z0-9_-]{21}$/i,lr=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,pr=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,mr=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,fr="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",_t,gr=/^(?:(?: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])$/,hr=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,yr=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,_r=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,vr=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Sr=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Xt="((\\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])))",xr=new RegExp(`^${Xt}$`);function en(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let n=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${n}`}function kr(t){return new RegExp(`^${en(t)}$`)}function tn(t){let e=`${Xt}T${en(t)}`,n=[];return n.push(t.local?"Z?":"Z"),t.offset&&n.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${n.join("|")})`,new RegExp(`^${e}$`)}function br(t,e){return!!((e==="v4"||!e)&&gr.test(t)||(e==="v6"||!e)&&yr.test(t))}function wr(t,e){if(!lr.test(t))return!1;try{let[n]=t.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),a=JSON.parse(atob(r));return!(typeof a!="object"||a===null||"typ"in a&&a?.typ!=="JWT"||!a.alg||e&&a.alg!==e)}catch{return!1}}function Cr(t,e){return!!((e==="v4"||!e)&&hr.test(t)||(e==="v6"||!e)&&_r.test(t))}var Y=class t extends x{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==f.string){let i=this._getOrReturnCtx(e);return m(i,{code:l.invalid_type,expected:f.string,received:i.parsedType}),h}let r=new E,a;for(let i of this._def.checks)if(i.kind==="min")e.data.length<i.value&&(a=this._getOrReturnCtx(e,a),m(a,{code:l.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),r.dirty());else if(i.kind==="max")e.data.length>i.value&&(a=this._getOrReturnCtx(e,a),m(a,{code:l.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),r.dirty());else if(i.kind==="length"){let s=e.data.length>i.value,o=e.data.length<i.value;(s||o)&&(a=this._getOrReturnCtx(e,a),s?m(a,{code:l.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):o&&m(a,{code:l.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),r.dirty())}else if(i.kind==="email")mr.test(e.data)||(a=this._getOrReturnCtx(e,a),m(a,{validation:"email",code:l.invalid_string,message:i.message}),r.dirty());else if(i.kind==="emoji")_t||(_t=new RegExp(fr,"u")),_t.test(e.data)||(a=this._getOrReturnCtx(e,a),m(a,{validation:"emoji",code:l.invalid_string,message:i.message}),r.dirty());else if(i.kind==="uuid")ur.test(e.data)||(a=this._getOrReturnCtx(e,a),m(a,{validation:"uuid",code:l.invalid_string,message:i.message}),r.dirty());else if(i.kind==="nanoid")dr.test(e.data)||(a=this._getOrReturnCtx(e,a),m(a,{validation:"nanoid",code:l.invalid_string,message:i.message}),r.dirty());else if(i.kind==="cuid")sr.test(e.data)||(a=this._getOrReturnCtx(e,a),m(a,{validation:"cuid",code:l.invalid_string,message:i.message}),r.dirty());else if(i.kind==="cuid2")or.test(e.data)||(a=this._getOrReturnCtx(e,a),m(a,{validation:"cuid2",code:l.invalid_string,message:i.message}),r.dirty());else if(i.kind==="ulid")cr.test(e.data)||(a=this._getOrReturnCtx(e,a),m(a,{validation:"ulid",code:l.invalid_string,message:i.message}),r.dirty());else if(i.kind==="url")try{new URL(e.data)}catch{a=this._getOrReturnCtx(e,a),m(a,{validation:"url",code:l.invalid_string,message:i.message}),r.dirty()}else i.kind==="regex"?(i.regex.lastIndex=0,i.regex.test(e.data)||(a=this._getOrReturnCtx(e,a),m(a,{validation:"regex",code:l.invalid_string,message:i.message}),r.dirty())):i.kind==="trim"?e.data=e.data.trim():i.kind==="includes"?e.data.includes(i.value,i.position)||(a=this._getOrReturnCtx(e,a),m(a,{code:l.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),r.dirty()):i.kind==="toLowerCase"?e.data=e.data.toLowerCase():i.kind==="toUpperCase"?e.data=e.data.toUpperCase():i.kind==="startsWith"?e.data.startsWith(i.value)||(a=this._getOrReturnCtx(e,a),m(a,{code:l.invalid_string,validation:{startsWith:i.value},message:i.message}),r.dirty()):i.kind==="endsWith"?e.data.endsWith(i.value)||(a=this._getOrReturnCtx(e,a),m(a,{code:l.invalid_string,validation:{endsWith:i.value},message:i.message}),r.dirty()):i.kind==="datetime"?tn(i).test(e.data)||(a=this._getOrReturnCtx(e,a),m(a,{code:l.invalid_string,validation:"datetime",message:i.message}),r.dirty()):i.kind==="date"?xr.test(e.data)||(a=this._getOrReturnCtx(e,a),m(a,{code:l.invalid_string,validation:"date",message:i.message}),r.dirty()):i.kind==="time"?kr(i).test(e.data)||(a=this._getOrReturnCtx(e,a),m(a,{code:l.invalid_string,validation:"time",message:i.message}),r.dirty()):i.kind==="duration"?pr.test(e.data)||(a=this._getOrReturnCtx(e,a),m(a,{validation:"duration",code:l.invalid_string,message:i.message}),r.dirty()):i.kind==="ip"?br(e.data,i.version)||(a=this._getOrReturnCtx(e,a),m(a,{validation:"ip",code:l.invalid_string,message:i.message}),r.dirty()):i.kind==="jwt"?wr(e.data,i.alg)||(a=this._getOrReturnCtx(e,a),m(a,{validation:"jwt",code:l.invalid_string,message:i.message}),r.dirty()):i.kind==="cidr"?Cr(e.data,i.version)||(a=this._getOrReturnCtx(e,a),m(a,{validation:"cidr",code:l.invalid_string,message:i.message}),r.dirty()):i.kind==="base64"?vr.test(e.data)||(a=this._getOrReturnCtx(e,a),m(a,{validation:"base64",code:l.invalid_string,message:i.message}),r.dirty()):i.kind==="base64url"?Sr.test(e.data)||(a=this._getOrReturnCtx(e,a),m(a,{validation:"base64url",code:l.invalid_string,message:i.message}),r.dirty()):k.assertNever(i);return{status:r.value,value:e.data}}_regex(e,n,r){return this.refinement(a=>e.test(a),{validation:n,code:l.invalid_string,...g.errToObj(r)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...g.errToObj(e)})}url(e){return this._addCheck({kind:"url",...g.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...g.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...g.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...g.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...g.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...g.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...g.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...g.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...g.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...g.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...g.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...g.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...g.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...g.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...g.errToObj(e)})}regex(e,n){return this._addCheck({kind:"regex",regex:e,...g.errToObj(n)})}includes(e,n){return this._addCheck({kind:"includes",value:e,position:n?.position,...g.errToObj(n?.message)})}startsWith(e,n){return this._addCheck({kind:"startsWith",value:e,...g.errToObj(n)})}endsWith(e,n){return this._addCheck({kind:"endsWith",value:e,...g.errToObj(n)})}min(e,n){return this._addCheck({kind:"min",value:e,...g.errToObj(n)})}max(e,n){return this._addCheck({kind:"max",value:e,...g.errToObj(n)})}length(e,n){return this._addCheck({kind:"length",value:e,...g.errToObj(n)})}nonempty(e){return this.min(1,g.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxLength(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}};Y.create=t=>new Y({checks:[],typeName:y.ZodString,coerce:t?.coerce??!1,...v(t)});function Tr(t,e){let n=(t.toString().split(".")[1]||"").length,r=(e.toString().split(".")[1]||"").length,a=n>r?n:r,i=Number.parseInt(t.toFixed(a).replace(".","")),s=Number.parseInt(e.toFixed(a).replace(".",""));return i%s/10**a}var X=class t extends x{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==f.number){let i=this._getOrReturnCtx(e);return m(i,{code:l.invalid_type,expected:f.number,received:i.parsedType}),h}let r,a=new E;for(let i of this._def.checks)i.kind==="int"?k.isInteger(e.data)||(r=this._getOrReturnCtx(e,r),m(r,{code:l.invalid_type,expected:"integer",received:"float",message:i.message}),a.dirty()):i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(r=this._getOrReturnCtx(e,r),m(r,{code:l.too_small,minimum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),a.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(r=this._getOrReturnCtx(e,r),m(r,{code:l.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),a.dirty()):i.kind==="multipleOf"?Tr(e.data,i.value)!==0&&(r=this._getOrReturnCtx(e,r),m(r,{code:l.not_multiple_of,multipleOf:i.value,message:i.message}),a.dirty()):i.kind==="finite"?Number.isFinite(e.data)||(r=this._getOrReturnCtx(e,r),m(r,{code:l.not_finite,message:i.message}),a.dirty()):k.assertNever(i);return{status:a.value,value:e.data}}gte(e,n){return this.setLimit("min",e,!0,g.toString(n))}gt(e,n){return this.setLimit("min",e,!1,g.toString(n))}lte(e,n){return this.setLimit("max",e,!0,g.toString(n))}lt(e,n){return this.setLimit("max",e,!1,g.toString(n))}setLimit(e,n,r,a){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:g.toString(a)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:g.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:g.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:g.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:g.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:g.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:g.toString(n)})}finite(e){return this._addCheck({kind:"finite",message:g.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:g.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:g.toString(e)})}get minValue(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&k.isInteger(e.value))}get isFinite(){let e=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(e===null||r.value<e)&&(e=r.value)}return Number.isFinite(n)&&Number.isFinite(e)}};X.create=t=>new X({checks:[],typeName:y.ZodNumber,coerce:t?.coerce||!1,...v(t)});var ee=class t extends x{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==f.bigint)return this._getInvalidInput(e);let r,a=new E;for(let i of this._def.checks)i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(r=this._getOrReturnCtx(e,r),m(r,{code:l.too_small,type:"bigint",minimum:i.value,inclusive:i.inclusive,message:i.message}),a.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(r=this._getOrReturnCtx(e,r),m(r,{code:l.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),a.dirty()):i.kind==="multipleOf"?e.data%i.value!==BigInt(0)&&(r=this._getOrReturnCtx(e,r),m(r,{code:l.not_multiple_of,multipleOf:i.value,message:i.message}),a.dirty()):k.assertNever(i);return{status:a.value,value:e.data}}_getInvalidInput(e){let n=this._getOrReturnCtx(e);return m(n,{code:l.invalid_type,expected:f.bigint,received:n.parsedType}),h}gte(e,n){return this.setLimit("min",e,!0,g.toString(n))}gt(e,n){return this.setLimit("min",e,!1,g.toString(n))}lte(e,n){return this.setLimit("max",e,!0,g.toString(n))}lt(e,n){return this.setLimit("max",e,!1,g.toString(n))}setLimit(e,n,r,a){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:g.toString(a)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:g.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:g.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:g.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:g.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:g.toString(n)})}get minValue(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}};ee.create=t=>new ee({checks:[],typeName:y.ZodBigInt,coerce:t?.coerce??!1,...v(t)});var te=class extends x{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==f.boolean){let r=this._getOrReturnCtx(e);return m(r,{code:l.invalid_type,expected:f.boolean,received:r.parsedType}),h}return R(e.data)}};te.create=t=>new te({typeName:y.ZodBoolean,coerce:t?.coerce||!1,...v(t)});var ne=class t extends x{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==f.date){let i=this._getOrReturnCtx(e);return m(i,{code:l.invalid_type,expected:f.date,received:i.parsedType}),h}if(Number.isNaN(e.data.getTime())){let i=this._getOrReturnCtx(e);return m(i,{code:l.invalid_date}),h}let r=new E,a;for(let i of this._def.checks)i.kind==="min"?e.data.getTime()<i.value&&(a=this._getOrReturnCtx(e,a),m(a,{code:l.too_small,message:i.message,inclusive:!0,exact:!1,minimum:i.value,type:"date"}),r.dirty()):i.kind==="max"?e.data.getTime()>i.value&&(a=this._getOrReturnCtx(e,a),m(a,{code:l.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),r.dirty()):k.assertNever(i);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,n){return this._addCheck({kind:"min",value:e.getTime(),message:g.toString(n)})}max(e,n){return this._addCheck({kind:"max",value:e.getTime(),message:g.toString(n)})}get minDate(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e!=null?new Date(e):null}};ne.create=t=>new ne({checks:[],coerce:t?.coerce||!1,typeName:y.ZodDate,...v(t)});var ke=class extends x{_parse(e){if(this._getType(e)!==f.symbol){let r=this._getOrReturnCtx(e);return m(r,{code:l.invalid_type,expected:f.symbol,received:r.parsedType}),h}return R(e.data)}};ke.create=t=>new ke({typeName:y.ZodSymbol,...v(t)});var re=class extends x{_parse(e){if(this._getType(e)!==f.undefined){let r=this._getOrReturnCtx(e);return m(r,{code:l.invalid_type,expected:f.undefined,received:r.parsedType}),h}return R(e.data)}};re.create=t=>new re({typeName:y.ZodUndefined,...v(t)});var ae=class extends x{_parse(e){if(this._getType(e)!==f.null){let r=this._getOrReturnCtx(e);return m(r,{code:l.invalid_type,expected:f.null,received:r.parsedType}),h}return R(e.data)}};ae.create=t=>new ae({typeName:y.ZodNull,...v(t)});var W=class extends x{constructor(){super(...arguments),this._any=!0}_parse(e){return R(e.data)}};W.create=t=>new W({typeName:y.ZodAny,...v(t)});var H=class extends x{constructor(){super(...arguments),this._unknown=!0}_parse(e){return R(e.data)}};H.create=t=>new H({typeName:y.ZodUnknown,...v(t)});var D=class extends x{_parse(e){let n=this._getOrReturnCtx(e);return m(n,{code:l.invalid_type,expected:f.never,received:n.parsedType}),h}};D.create=t=>new D({typeName:y.ZodNever,...v(t)});var be=class extends x{_parse(e){if(this._getType(e)!==f.undefined){let r=this._getOrReturnCtx(e);return m(r,{code:l.invalid_type,expected:f.void,received:r.parsedType}),h}return R(e.data)}};be.create=t=>new be({typeName:y.ZodVoid,...v(t)});var Z=class t extends x{_parse(e){let{ctx:n,status:r}=this._processInputParams(e),a=this._def;if(n.parsedType!==f.array)return m(n,{code:l.invalid_type,expected:f.array,received:n.parsedType}),h;if(a.exactLength!==null){let s=n.data.length>a.exactLength.value,o=n.data.length<a.exactLength.value;(s||o)&&(m(n,{code:s?l.too_big:l.too_small,minimum:o?a.exactLength.value:void 0,maximum:s?a.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:a.exactLength.message}),r.dirty())}if(a.minLength!==null&&n.data.length<a.minLength.value&&(m(n,{code:l.too_small,minimum:a.minLength.value,type:"array",inclusive:!0,exact:!1,message:a.minLength.message}),r.dirty()),a.maxLength!==null&&n.data.length>a.maxLength.value&&(m(n,{code:l.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,exact:!1,message:a.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((s,o)=>a.type._parseAsync(new M(n,s,n.path,o)))).then(s=>E.mergeArray(r,s));let i=[...n.data].map((s,o)=>a.type._parseSync(new M(n,s,n.path,o)));return E.mergeArray(r,i)}get element(){return this._def.type}min(e,n){return new t({...this._def,minLength:{value:e,message:g.toString(n)}})}max(e,n){return new t({...this._def,maxLength:{value:e,message:g.toString(n)}})}length(e,n){return new t({...this._def,exactLength:{value:e,message:g.toString(n)}})}nonempty(e){return this.min(1,e)}};Z.create=(t,e)=>new Z({type:t,minLength:null,maxLength:null,exactLength:null,typeName:y.ZodArray,...v(e)});function xe(t){if(t instanceof A){let e={};for(let n in t.shape){let r=t.shape[n];e[n]=N.create(xe(r))}return new A({...t._def,shape:()=>e})}else return t instanceof Z?new Z({...t._def,type:xe(t.element)}):t instanceof N?N.create(xe(t.unwrap())):t instanceof F?F.create(xe(t.unwrap())):t instanceof z?z.create(t.items.map(e=>xe(e))):t}var A=class t extends x{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),n=k.objectKeys(e);return this._cached={shape:e,keys:n},this._cached}_parse(e){if(this._getType(e)!==f.object){let u=this._getOrReturnCtx(e);return m(u,{code:l.invalid_type,expected:f.object,received:u.parsedType}),h}let{status:r,ctx:a}=this._processInputParams(e),{shape:i,keys:s}=this._getCached(),o=[];if(!(this._def.catchall instanceof D&&this._def.unknownKeys==="strip"))for(let u in a.data)s.includes(u)||o.push(u);let d=[];for(let u of s){let p=i[u],_=a.data[u];d.push({key:{status:"valid",value:u},value:p._parse(new M(a,_,a.path,u)),alwaysSet:u in a.data})}if(this._def.catchall instanceof D){let u=this._def.unknownKeys;if(u==="passthrough")for(let p of o)d.push({key:{status:"valid",value:p},value:{status:"valid",value:a.data[p]}});else if(u==="strict")o.length>0&&(m(a,{code:l.unrecognized_keys,keys:o}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let p of o){let _=a.data[p];d.push({key:{status:"valid",value:p},value:u._parse(new M(a,_,a.path,p)),alwaysSet:p in a.data})}}return a.common.async?Promise.resolve().then(async()=>{let u=[];for(let p of d){let _=await p.key,b=await p.value;u.push({key:_,value:b,alwaysSet:p.alwaysSet})}return u}).then(u=>E.mergeObjectSync(r,u)):E.mergeObjectSync(r,d)}get shape(){return this._def.shape()}strict(e){return g.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(n,r)=>{let a=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:g.errToObj(e).message??a}:{message:a}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:y.ZodObject})}setKey(e,n){return this.augment({[e]:n})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let n={};for(let r of k.objectKeys(e))e[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new t({...this._def,shape:()=>n})}omit(e){let n={};for(let r of k.objectKeys(this.shape))e[r]||(n[r]=this.shape[r]);return new t({...this._def,shape:()=>n})}deepPartial(){return xe(this)}partial(e){let n={};for(let r of k.objectKeys(this.shape)){let a=this.shape[r];e&&!e[r]?n[r]=a:n[r]=a.optional()}return new t({...this._def,shape:()=>n})}required(e){let n={};for(let r of k.objectKeys(this.shape))if(e&&!e[r])n[r]=this.shape[r];else{let i=this.shape[r];for(;i instanceof N;)i=i._def.innerType;n[r]=i}return new t({...this._def,shape:()=>n})}keyof(){return nn(k.objectKeys(this.shape))}};A.create=(t,e)=>new A({shape:()=>t,unknownKeys:"strip",catchall:D.create(),typeName:y.ZodObject,...v(e)});A.strictCreate=(t,e)=>new A({shape:()=>t,unknownKeys:"strict",catchall:D.create(),typeName:y.ZodObject,...v(e)});A.lazycreate=(t,e)=>new A({shape:t,unknownKeys:"strip",catchall:D.create(),typeName:y.ZodObject,...v(e)});var ie=class extends x{_parse(e){let{ctx:n}=this._processInputParams(e),r=this._def.options;function a(i){for(let o of i)if(o.result.status==="valid")return o.result;for(let o of i)if(o.result.status==="dirty")return n.common.issues.push(...o.ctx.common.issues),o.result;let s=i.map(o=>new I(o.ctx.common.issues));return m(n,{code:l.invalid_union,unionErrors:s}),h}if(n.common.async)return Promise.all(r.map(async i=>{let s={...n,common:{...n.common,issues:[]},parent:null};return{result:await i._parseAsync({data:n.data,path:n.path,parent:s}),ctx:s}})).then(a);{let i,s=[];for(let d of r){let u={...n,common:{...n.common,issues:[]},parent:null},p=d._parseSync({data:n.data,path:n.path,parent:u});if(p.status==="valid")return p;p.status==="dirty"&&!i&&(i={result:p,ctx:u}),u.common.issues.length&&s.push(u.common.issues)}if(i)return n.common.issues.push(...i.ctx.common.issues),i.result;let o=s.map(d=>new I(d));return m(n,{code:l.invalid_union,unionErrors:o}),h}}get options(){return this._def.options}};ie.create=(t,e)=>new ie({options:t,typeName:y.ZodUnion,...v(e)});var G=t=>t instanceof oe?G(t.schema):t instanceof V?G(t.innerType()):t instanceof ce?[t.value]:t instanceof ue?t.options:t instanceof de?k.objectValues(t.enum):t instanceof le?G(t._def.innerType):t instanceof re?[void 0]:t instanceof ae?[null]:t instanceof N?[void 0,...G(t.unwrap())]:t instanceof F?[null,...G(t.unwrap())]:t instanceof Ae||t instanceof me?G(t.unwrap()):t instanceof pe?G(t._def.innerType):[],Ue=class t extends x{_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==f.object)return m(n,{code:l.invalid_type,expected:f.object,received:n.parsedType}),h;let r=this.discriminator,a=n.data[r],i=this.optionsMap.get(a);return i?n.common.async?i._parseAsync({data:n.data,path:n.path,parent:n}):i._parseSync({data:n.data,path:n.path,parent:n}):(m(n,{code:l.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),h)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,n,r){let a=new Map;for(let i of n){let s=G(i.shape[e]);if(!s.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let o of s){if(a.has(o))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(o)}`);a.set(o,i)}}return new t({typeName:y.ZodDiscriminatedUnion,discriminator:e,options:n,optionsMap:a,...v(r)})}};function vt(t,e){let n=$(t),r=$(e);if(t===e)return{valid:!0,data:t};if(n===f.object&&r===f.object){let a=k.objectKeys(e),i=k.objectKeys(t).filter(o=>a.indexOf(o)!==-1),s={...t,...e};for(let o of i){let d=vt(t[o],e[o]);if(!d.valid)return{valid:!1};s[o]=d.data}return{valid:!0,data:s}}else if(n===f.array&&r===f.array){if(t.length!==e.length)return{valid:!1};let a=[];for(let i=0;i<t.length;i++){let s=t[i],o=e[i],d=vt(s,o);if(!d.valid)return{valid:!1};a.push(d.data)}return{valid:!0,data:a}}else return n===f.date&&r===f.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}var se=class extends x{_parse(e){let{status:n,ctx:r}=this._processInputParams(e),a=(i,s)=>{if(ze(i)||ze(s))return h;let o=vt(i.value,s.value);return o.valid?((Fe(i)||Fe(s))&&n.dirty(),{status:n.value,value:o.data}):(m(r,{code:l.invalid_intersection_types}),h)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([i,s])=>a(i,s)):a(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};se.create=(t,e,n)=>new se({left:t,right:e,typeName:y.ZodIntersection,...v(n)});var z=class t extends x{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==f.array)return m(r,{code:l.invalid_type,expected:f.array,received:r.parsedType}),h;if(r.data.length<this._def.items.length)return m(r,{code:l.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),h;!this._def.rest&&r.data.length>this._def.items.length&&(m(r,{code:l.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let i=[...r.data].map((s,o)=>{let d=this._def.items[o]||this._def.rest;return d?d._parse(new M(r,s,r.path,o)):null}).filter(s=>!!s);return r.common.async?Promise.all(i).then(s=>E.mergeArray(n,s)):E.mergeArray(n,i)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};z.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new z({items:t,typeName:y.ZodTuple,rest:null,...v(e)})};var Ke=class t extends x{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==f.object)return m(r,{code:l.invalid_type,expected:f.object,received:r.parsedType}),h;let a=[],i=this._def.keyType,s=this._def.valueType;for(let o in r.data)a.push({key:i._parse(new M(r,o,r.path,o)),value:s._parse(new M(r,r.data[o],r.path,o)),alwaysSet:o in r.data});return r.common.async?E.mergeObjectAsync(n,a):E.mergeObjectSync(n,a)}get element(){return this._def.valueType}static create(e,n,r){return n instanceof x?new t({keyType:e,valueType:n,typeName:y.ZodRecord,...v(r)}):new t({keyType:Y.create(),valueType:e,typeName:y.ZodRecord,...v(n)})}},we=class extends x{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==f.map)return m(r,{code:l.invalid_type,expected:f.map,received:r.parsedType}),h;let a=this._def.keyType,i=this._def.valueType,s=[...r.data.entries()].map(([o,d],u)=>({key:a._parse(new M(r,o,r.path,[u,"key"])),value:i._parse(new M(r,d,r.path,[u,"value"]))}));if(r.common.async){let o=new Map;return Promise.resolve().then(async()=>{for(let d of s){let u=await d.key,p=await d.value;if(u.status==="aborted"||p.status==="aborted")return h;(u.status==="dirty"||p.status==="dirty")&&n.dirty(),o.set(u.value,p.value)}return{status:n.value,value:o}})}else{let o=new Map;for(let d of s){let u=d.key,p=d.value;if(u.status==="aborted"||p.status==="aborted")return h;(u.status==="dirty"||p.status==="dirty")&&n.dirty(),o.set(u.value,p.value)}return{status:n.value,value:o}}}};we.create=(t,e,n)=>new we({valueType:e,keyType:t,typeName:y.ZodMap,...v(n)});var Ce=class t extends x{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==f.set)return m(r,{code:l.invalid_type,expected:f.set,received:r.parsedType}),h;let a=this._def;a.minSize!==null&&r.data.size<a.minSize.value&&(m(r,{code:l.too_small,minimum:a.minSize.value,type:"set",inclusive:!0,exact:!1,message:a.minSize.message}),n.dirty()),a.maxSize!==null&&r.data.size>a.maxSize.value&&(m(r,{code:l.too_big,maximum:a.maxSize.value,type:"set",inclusive:!0,exact:!1,message:a.maxSize.message}),n.dirty());let i=this._def.valueType;function s(d){let u=new Set;for(let p of d){if(p.status==="aborted")return h;p.status==="dirty"&&n.dirty(),u.add(p.value)}return{status:n.value,value:u}}let o=[...r.data.values()].map((d,u)=>i._parse(new M(r,d,r.path,u)));return r.common.async?Promise.all(o).then(d=>s(d)):s(o)}min(e,n){return new t({...this._def,minSize:{value:e,message:g.toString(n)}})}max(e,n){return new t({...this._def,maxSize:{value:e,message:g.toString(n)}})}size(e,n){return this.min(e,n).max(e,n)}nonempty(e){return this.min(1,e)}};Ce.create=(t,e)=>new Ce({valueType:t,minSize:null,maxSize:null,typeName:y.ZodSet,...v(e)});var Ge=class t extends x{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==f.function)return m(n,{code:l.invalid_type,expected:f.function,received:n.parsedType}),h;function r(o,d){return Ie({data:o,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,ve(),K].filter(u=>!!u),issueData:{code:l.invalid_arguments,argumentsError:d}})}function a(o,d){return Ie({data:o,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,ve(),K].filter(u=>!!u),issueData:{code:l.invalid_return_type,returnTypeError:d}})}let i={errorMap:n.common.contextualErrorMap},s=n.data;if(this._def.returns instanceof J){let o=this;return R(async function(...d){let u=new I([]),p=await o._def.args.parseAsync(d,i).catch(T=>{throw u.addIssue(r(d,T)),u}),_=await Reflect.apply(s,this,p);return await o._def.returns._def.type.parseAsync(_,i).catch(T=>{throw u.addIssue(a(_,T)),u})})}else{let o=this;return R(function(...d){let u=o._def.args.safeParse(d,i);if(!u.success)throw new I([r(d,u.error)]);let p=Reflect.apply(s,this,u.data),_=o._def.returns.safeParse(p,i);if(!_.success)throw new I([a(p,_.error)]);return _.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:z.create(e).rest(H.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,n,r){return new t({args:e||z.create([]).rest(H.create()),returns:n||H.create(),typeName:y.ZodFunction,...v(r)})}},oe=class extends x{get schema(){return this._def.getter()}_parse(e){let{ctx:n}=this._processInputParams(e);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};oe.create=(t,e)=>new oe({getter:t,typeName:y.ZodLazy,...v(e)});var ce=class extends x{_parse(e){if(e.data!==this._def.value){let n=this._getOrReturnCtx(e);return m(n,{received:n.data,code:l.invalid_literal,expected:this._def.value}),h}return{status:"valid",value:e.data}}get value(){return this._def.value}};ce.create=(t,e)=>new ce({value:t,typeName:y.ZodLiteral,...v(e)});function nn(t,e){return new ue({values:t,typeName:y.ZodEnum,...v(e)})}var ue=class t extends x{_parse(e){if(typeof e.data!="string"){let n=this._getOrReturnCtx(e),r=this._def.values;return m(n,{expected:k.joinValues(r),received:n.parsedType,code:l.invalid_type}),h}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let n=this._getOrReturnCtx(e),r=this._def.values;return m(n,{received:n.data,code:l.invalid_enum_value,options:r}),h}return R(e.data)}get options(){return this._def.values}get enum(){let e={};for(let n of this._def.values)e[n]=n;return e}get Values(){let e={};for(let n of this._def.values)e[n]=n;return e}get Enum(){let e={};for(let n of this._def.values)e[n]=n;return e}extract(e,n=this._def){return t.create(e,{...this._def,...n})}exclude(e,n=this._def){return t.create(this.options.filter(r=>!e.includes(r)),{...this._def,...n})}};ue.create=nn;var de=class extends x{_parse(e){let n=k.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==f.string&&r.parsedType!==f.number){let a=k.objectValues(n);return m(r,{expected:k.joinValues(a),received:r.parsedType,code:l.invalid_type}),h}if(this._cache||(this._cache=new Set(k.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let a=k.objectValues(n);return m(r,{received:r.data,code:l.invalid_enum_value,options:a}),h}return R(e.data)}get enum(){return this._def.values}};de.create=(t,e)=>new de({values:t,typeName:y.ZodNativeEnum,...v(e)});var J=class extends x{unwrap(){return this._def.type}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==f.promise&&n.common.async===!1)return m(n,{code:l.invalid_type,expected:f.promise,received:n.parsedType}),h;let r=n.parsedType===f.promise?n.data:Promise.resolve(n.data);return R(r.then(a=>this._def.type.parseAsync(a,{path:n.path,errorMap:n.common.contextualErrorMap})))}};J.create=(t,e)=>new J({type:t,typeName:y.ZodPromise,...v(e)});var V=class extends x{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===y.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:n,ctx:r}=this._processInputParams(e),a=this._def.effect||null,i={addIssue:s=>{m(r,s),s.fatal?n.abort():n.dirty()},get path(){return r.path}};if(i.addIssue=i.addIssue.bind(i),a.type==="preprocess"){let s=a.transform(r.data,i);if(r.common.async)return Promise.resolve(s).then(async o=>{if(n.value==="aborted")return h;let d=await this._def.schema._parseAsync({data:o,path:r.path,parent:r});return d.status==="aborted"?h:d.status==="dirty"?Q(d.value):n.value==="dirty"?Q(d.value):d});{if(n.value==="aborted")return h;let o=this._def.schema._parseSync({data:s,path:r.path,parent:r});return o.status==="aborted"?h:o.status==="dirty"?Q(o.value):n.value==="dirty"?Q(o.value):o}}if(a.type==="refinement"){let s=o=>{let d=a.refinement(o,i);if(r.common.async)return Promise.resolve(d);if(d instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return o};if(r.common.async===!1){let o=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?h:(o.status==="dirty"&&n.dirty(),s(o.value),{status:n.value,value:o.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(o=>o.status==="aborted"?h:(o.status==="dirty"&&n.dirty(),s(o.value).then(()=>({status:n.value,value:o.value}))))}if(a.type==="transform")if(r.common.async===!1){let s=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!q(s))return h;let o=a.transform(s.value,i);if(o instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:o}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(s=>q(s)?Promise.resolve(a.transform(s.value,i)).then(o=>({status:n.value,value:o})):h);k.assertNever(a)}};V.create=(t,e,n)=>new V({schema:t,typeName:y.ZodEffects,effect:e,...v(n)});V.createWithPreprocess=(t,e,n)=>new V({schema:e,effect:{type:"preprocess",transform:t},typeName:y.ZodEffects,...v(n)});var N=class extends x{_parse(e){return this._getType(e)===f.undefined?R(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};N.create=(t,e)=>new N({innerType:t,typeName:y.ZodOptional,...v(e)});var F=class extends x{_parse(e){return this._getType(e)===f.null?R(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};F.create=(t,e)=>new F({innerType:t,typeName:y.ZodNullable,...v(e)});var le=class extends x{_parse(e){let{ctx:n}=this._processInputParams(e),r=n.data;return n.parsedType===f.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};le.create=(t,e)=>new le({innerType:t,typeName:y.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...v(e)});var pe=class extends x{_parse(e){let{ctx:n}=this._processInputParams(e),r={...n,common:{...n.common,issues:[]}},a=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Se(a)?a.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new I(r.common.issues)},input:r.data})})):{status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new I(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};pe.create=(t,e)=>new pe({innerType:t,typeName:y.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...v(e)});var Te=class extends x{_parse(e){if(this._getType(e)!==f.nan){let r=this._getOrReturnCtx(e);return m(r,{code:l.invalid_type,expected:f.nan,received:r.parsedType}),h}return{status:"valid",value:e.data}}};Te.create=t=>new Te({typeName:y.ZodNaN,...v(t)});var Er=Symbol("zod_brand"),Ae=class extends x{_parse(e){let{ctx:n}=this._processInputParams(e),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},Pe=class t extends x{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.common.async)return(async()=>{let i=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?h:i.status==="dirty"?(n.dirty(),Q(i.value)):this._def.out._parseAsync({data:i.value,path:r.path,parent:r})})();{let a=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?h:a.status==="dirty"?(n.dirty(),{status:"dirty",value:a.value}):this._def.out._parseSync({data:a.value,path:r.path,parent:r})}}static create(e,n){return new t({in:e,out:n,typeName:y.ZodPipeline})}},me=class extends x{_parse(e){let n=this._def.innerType._parse(e),r=a=>(q(a)&&(a.value=Object.freeze(a.value)),a);return Se(n)?n.then(a=>r(a)):r(n)}unwrap(){return this._def.innerType}};me.create=(t,e)=>new me({innerType:t,typeName:y.ZodReadonly,...v(e)});function Qt(t,e){let n=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof n=="string"?{message:n}:n}function rn(t,e={},n){return t?W.create().superRefine((r,a)=>{let i=t(r);if(i instanceof Promise)return i.then(s=>{if(!s){let o=Qt(e,r),d=o.fatal??n??!0;a.addIssue({code:"custom",...o,fatal:d})}});if(!i){let s=Qt(e,r),o=s.fatal??n??!0;a.addIssue({code:"custom",...s,fatal:o})}}):W.create()}var Rr={object:A.lazycreate},y;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(y||(y={}));var Ir=(t,e={message:`Input not instance of ${t.name}`})=>rn(n=>n instanceof t,e),an=Y.create,sn=X.create,Ar=Te.create,Pr=ee.create,on=te.create,Or=ne.create,Nr=ke.create,Mr=re.create,Vr=ae.create,jr=W.create,Dr=H.create,Lr=D.create,$r=be.create,zr=Z.create,Fr=A.create,Ur=A.strictCreate,Kr=ie.create,Gr=Ue.create,Hr=se.create,Zr=z.create,Br=Ke.create,qr=we.create,Yr=Ce.create,Wr=Ge.create,Jr=oe.create,Qr=ce.create,Xr=ue.create,ea=de.create,ta=J.create,na=V.create,ra=N.create,aa=F.create,ia=V.createWithPreprocess,sa=Pe.create,oa=()=>an().optional(),ca=()=>sn().optional(),ua=()=>on().optional(),da={string:(t=>Y.create({...t,coerce:!0})),number:(t=>X.create({...t,coerce:!0})),boolean:(t=>te.create({...t,coerce:!0})),bigint:(t=>ee.create({...t,coerce:!0})),date:(t=>ne.create({...t,coerce:!0}))};var la=h;var He=c.object({page:c.object({title:c.string().nullable(),path:c.string(),search:c.string(),hash:c.string()}).strict(),referrer:c.string().nullable(),viewport:c.object({w:c.number(),h:c.number()}).strict().nullable().optional()}).strict(),cn=c.object({}).strict();var kt="aranova_tracking_last_fired_url",St=null,xt=!1;function pa(t){try{return typeof window>"u"?null:window.sessionStorage.getItem(t)}catch{return null}}function ma(t,e){try{if(typeof window>"u")return;window.sessionStorage.setItem(t,e)}catch{}}function fa(){if(!xt){xt=!0;let t=pa(kt);t!==null&&(St=t)}return St}function ga(t){St=t,xt=!0,ma(kt,t)}function un(t){return typeof window>"u"||typeof document>"u"?null:He.parse({page:{title:document.title||null,path:window.location.pathname,search:window.location.search,hash:window.location.hash},referrer:t!==void 0?t:document.referrer||null,viewport:{w:window.innerWidth,h:window.innerHeight}})}function Oe(t){if(typeof window>"u")return;let e=window.location.href,n=fa(),r=n!==null&&n!==e?n:null,a=typeof document<"u"&&document.referrer||null,s=un(r??a);t.trackEvent({eventType:"page_view",pageUrl:e,metadata:s}),e!==n&&ga(e)}function bt(t){if(typeof window>"u")return()=>{};function e(n){n.persisted&&Oe(t)}return window.addEventListener("pageshow",e),()=>{window.removeEventListener("pageshow",e)}}function wt(t,e={}){if(typeof window>"u"||typeof history>"u")return()=>{};let n=window.location.pathname+window.location.search;function r(){let u=window.location.pathname+window.location.search;u!==n&&(n=u,Oe(t))}let a=history.pushState.bind(history),i=history.replaceState.bind(history);function s(...u){a(...u),setTimeout(r,0)}function o(...u){i(...u),setTimeout(r,0)}function d(u){u.persisted&&Oe(t)}return history.pushState=s,history.replaceState=o,window.addEventListener("popstate",r),window.addEventListener("pageshow",d),e.skipInitial||Oe(t),()=>{history.pushState=a,history.replaceState=i,window.removeEventListener("popstate",r),window.removeEventListener("pageshow",d)}}function Ze(t){if(t instanceof RegExp)return t.source;if(Array.isArray(t))return t.map(Ze);if(t!==null&&typeof t=="object"){let e={};for(let[n,r]of Object.entries(t))e[n]=Ze(r);return e}return t}function Ct(t,e,n,r,a=null){let i=r?Object.keys(r.automatic):[],s=r?.manual?Object.keys(r.manual):[],o=null;if(r){let d={};for(let[u,p]of Object.entries(r.automatic)){let _=Ze(p);Object.keys(_).length>0&&(d[u]=_)}if(r.manual)for(let[u,p]of Object.entries(r.manual)){if(p===void 0)continue;let _=Ze(p);Object.keys(_).length>0&&(d[u]=_)}Object.keys(d).length>0&&(o=d)}return{sdk_version:e??"unknown",package_name:n,surface:t,triggers:{automatic:i,manual:s},trigger_config:o,configured_gtag_ids:a}}var ln=2e3,pn=10,Be=50,qe="X-Aranova-Api-Key",Ye="X-Aranova-Sdk-Version",We="X-Aranova-Sdk-Package",Je="X-Aranova-Sdk-Surface",Qe="X-Aranova-Sdk-Environment";function ya(t,e,n,r,a){return{surface:t,sdk_version:e,package_name:n,site_origin:typeof window>"u"?null:window.location.origin,page_title:typeof document>"u"?null:document.title||null,referrer:typeof document>"u"?null:document.referrer||null,environment:r,active_gtag_ids:a}}function _a(){if(typeof window>"u")return De();try{ye()}catch{}return ge(he)}function va(){try{return{state:B()}}catch{return null}}async function dn(t,e,n,r,a){if(typeof fetch=="function")try{await fetch(t,{method:"POST",headers:{"Content-Type":"application/json",[qe]:n,[Ye]:r.sdkVersion,[We]:r.packageName,[Je]:r.surface,[Qe]:r.environment},body:e,keepalive:a,credentials:"omit",mode:"cors"})}catch{}}function Tt(t){let e=t.flushIntervalMs??ln,n=Math.min(t.maxQueueSize??pn,Be),r=t.sdkVersion??null,a=t.packageName??null,i=t.environment??"production",s=t.activeGtagIds??null,d=`${t.endpoint.replace(/\/$/,"")}/events`,u={sdkVersion:r??"",packageName:a??"",surface:t.surface,environment:i},p=[],_=null,b=null,T=!1,S=ht(),C=_e(),L=C.id;typeof window<"u"&&(b=window.location.href);function Ee(){let w=Ct(t.surface,r,a,t.triggers??null,s);p.push({event_type:"sdk_heartbeat",page_url:typeof window>"u"?null:window.location.href,metadata:w,occurred_at:new Date().toISOString()})}C.isNew&&Ee();function zt(){let w=_e();w.isNew&&w.id!==L&&Ee(),L=w.id;let P=_a(),Re=ya(t.surface,r,a,i,s);return{session_id:L,visitor_id:S,gclid:P.gclid,fbclid:P.fbclid,utm_source:P.utm_source,utm_medium:P.utm_medium,utm_campaign:P.utm_campaign,utm_term:P.utm_term,utm_content:P.utm_content,first_page:b,consent_state:va(),context:Re}}function Zn(){_!==null||T||(_=setTimeout(()=>{_=null,nt()},e))}function tt(){_!==null&&(clearTimeout(_),_=null)}async function nt(){if(p.length===0)return;let w=p.slice(0,Be);p=p.slice(w.length),tt();let P={session:zt(),events:w},Re=JSON.stringify(P);await dn(d,Re,t.apiKey,u,!1)}function Bn(w){if(T||!w||typeof w.eventType!="string"||w.eventType.length===0)return;let P=w.occurredAt instanceof Date?w.occurredAt.toISOString():typeof w.occurredAt=="string"?w.occurredAt:new Date().toISOString();p.push({event_type:w.eventType,page_url:w.pageUrl??(typeof window>"u"?null:window.location.href),metadata:w.metadata??null,occurred_at:P}),p.length>=n?nt():Zn()}function Me(){if(p.length===0)return;let w=p.slice(0,Be);p=p.slice(w.length),tt();let P={session:zt(),events:w},Re=JSON.stringify(P);dn(d,Re,t.apiKey,u,!0)}return typeof window<"u"&&(window.addEventListener("pagehide",Me),window.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&Me()})),{trackEvent:Bn,flush:nt,getSessionId:()=>L,getVisitorId:()=>S,destroy:()=>{T=!0,p.length>0&&Me(),tt(),p=[],typeof window<"u"&&window.removeEventListener("pagehide",Me)}}}var mn=c.object({cta_name:c.string(),page:c.object({path:c.string()}).strict(),section:c.string().nullable().optional(),destination_url:c.string().nullable().optional()}).strict(),fn=c.object({}).strict();var Sa=c.object({automatic:c.array(c.string()),manual:c.array(c.string())}).strict(),gn=c.object({sdk_version:c.string(),package_name:c.string().nullable(),surface:c.enum(["next","react","script"]),triggers:Sa,trigger_config:c.record(c.string(),c.record(c.string(),c.unknown())).nullable().optional(),configured_gtag_ids:c.record(c.string(),c.string()).nullable().optional()}).strict(),hn=c.object({}).strict();var yn=c.object({form:c.object({id:c.string(),action:c.string().nullable()}).strict(),page:c.object({path:c.string()}).strict()}).strict(),_n=c.object({selector:c.string().optional()}).strict();var Et=c.lazy(()=>c.union([c.string(),c.number().finite(),c.boolean(),c.null(),c.array(Et),c.record(Et)])),vn=c.object({form:c.object({id:c.string(),action:c.string().nullable(),fields:c.array(c.object({name:c.string(),type:c.string(),label:c.string().nullable(),value:Et}).strict()).optional()}).strict(),page:c.object({path:c.string()}).strict()}).strict(),Sn=c.object({}).strict();var xn=c.object({page_count:c.number().int().min(2),page:c.object({path:c.string()}).strict()}).strict(),kn=c.object({pageThreshold:c.number().int().min(2)}).strict();var bn=c.object({phone_number:c.string(),page:c.object({path:c.string()}).strict(),section:c.string().nullable().optional()}).strict(),wn=c.object({}).strict();var Cn=c.object({depth_percent:c.number().int().min(1).max(100),page:c.object({path:c.string()}).strict()}).strict(),Tn=c.object({thresholds:c.array(c.number().int().min(1).max(100)).min(1)}).strict();var xa=["contact_page","about_page","services_page","booking_page","location_page","pricing_page","faq_page","testimonials_page"],En=c.enum(xa),Rn=c.object({page_name:En,page:c.object({path:c.string()}).strict()}).strict(),In=c.object({pages:c.array(c.object({name:En,pathPattern:c.custom(t=>t instanceof RegExp,{message:"pathPattern must be a RegExp"})}).strict()).min(1)}).strict();var An=c.object({duration_ms:c.number().int().nonnegative(),page:c.object({path:c.string()}).strict()}).strict(),Pn=c.object({thresholdSeconds:c.number().int().positive()}).strict();var Rt={page_view:{kind:"automatic",metadataSchema:He,configSchema:cn},time_on_site:{kind:"automatic",metadataSchema:An,configSchema:Pn},specific_page_visit:{kind:"automatic",metadataSchema:Rn,configSchema:In},scroll_depth:{kind:"automatic",metadataSchema:Cn,configSchema:Tn},multi_page_session:{kind:"automatic",metadataSchema:xn,configSchema:kn},form_start:{kind:"automatic",metadataSchema:yn,configSchema:_n},sdk_heartbeat:{kind:"automatic",metadataSchema:gn,configSchema:hn},form_submit:{kind:"manual",metadataSchema:vn,configSchema:Sn},phone_click:{kind:"manual",metadataSchema:bn,configSchema:wn},cta_click:{kind:"manual",metadataSchema:mn,configSchema:fn}},ts=Object.entries(Rt).filter(([,t])=>t.kind==="automatic").map(([t])=>t),ns=Object.entries(Rt).filter(([,t])=>t.kind==="manual").map(([t])=>t);function It(t){return Rt[t]}function At(t,e){if(typeof window>"u"||typeof document>"u")return()=>{};let n=e.thresholdSeconds*1e3,r=0,a=document.visibilityState==="visible"?Date.now():null,i=null,s=!1;function o(){s||(s=!0,t.trackEvent({eventType:"time_on_site",metadata:{duration_ms:n,page:{path:window.location.pathname}},pageUrl:window.location.href,occurredAt:null}))}function d(){if(s||a===null)return;let _=n-r;if(_<=0){o();return}i=setTimeout(o,_)}function u(){i!==null&&(clearTimeout(i),i=null)}function p(){s||(document.visibilityState==="hidden"?(a!==null&&(r+=Date.now()-a,a=null),u()):(a=Date.now(),d()))}return document.addEventListener("visibilitychange",p),d(),()=>{u(),document.removeEventListener("visibilitychange",p)}}function Pt(t,e){if(typeof window>"u"||typeof history>"u")return()=>{};let{pages:n}=e,r=new Set;function a(){let u=window.location.pathname;for(let{name:p,pathPattern:_}of n){if(_.lastIndex=0,!_.test(u))continue;let b=`${p}:${u}`;r.has(b)||(r.add(b),t.trackEvent({eventType:"specific_page_visit",metadata:{page_name:p,page:{path:u}},pageUrl:window.location.href,occurredAt:null}))}}let i=history.pushState.bind(history),s=history.replaceState.bind(history);function o(...u){i(...u),setTimeout(a,0)}function d(...u){s(...u),setTimeout(a,0)}return history.pushState=o,history.replaceState=d,window.addEventListener("popstate",a),a(),()=>{history.pushState=i,history.replaceState=s,window.removeEventListener("popstate",a)}}function Ot(t,e){if(typeof window>"u"||typeof document>"u")return()=>{};let n=new Set(e.thresholds),r=new Set,a=window.location.pathname,i=null;function s(){let S=document.documentElement,C=window.scrollY||S.scrollTop,L=S.scrollHeight,Ee=S.clientHeight;return L<=Ee?100:Math.round((C+Ee)/L*100)}function o(){let S=s();for(let C of n)S>=C&&!r.has(C)&&(r.add(C),t.trackEvent({eventType:"scroll_depth",metadata:{depth_percent:C,page:{path:a}},pageUrl:window.location.href,occurredAt:null}))}function d(){i===null&&(i=requestAnimationFrame(()=>{i=null,o()}))}function u(){let S=window.location.pathname;S!==a&&(a=S,r=new Set,setTimeout(o,0))}let p=history.pushState.bind(history),_=history.replaceState.bind(history);function b(...S){p(...S),setTimeout(u,0)}function T(...S){_(...S),setTimeout(u,0)}return history.pushState=b,history.replaceState=T,window.addEventListener("popstate",u),window.addEventListener("scroll",d,{passive:!0}),setTimeout(o,0),()=>{i!==null&&cancelAnimationFrame(i),history.pushState=p,history.replaceState=_,window.removeEventListener("popstate",u),window.removeEventListener("scroll",d)}}var Nt="aranova_tracking_mps_paths",On="aranova_tracking_mps_session",Mt="aranova_tracking_mps_fired";function ka(){try{return typeof window<"u"?window.sessionStorage:null}catch{return null}}function Vt(t,e){if(typeof window>"u"||typeof history>"u")return()=>{};let n=ka();if(!n)return()=>{};let{pageThreshold:r}=e,a="";function i(){try{let S=n.getItem(Nt);return S?new Set(JSON.parse(S)):new Set}catch{return new Set}}function s(S){try{n.setItem(Nt,JSON.stringify([...S]))}catch{}}function o(){let S=_e().id;n.getItem(On)!==S&&(n.setItem(On,S),n.removeItem(Nt),n.removeItem(Mt))}function d(){return n.getItem(Mt)==="1"}function u(){let S=window.location.pathname;if(S===a||(a=S,o(),d()))return;let C=i();C.add(S),s(C),C.size>=r&&(n.setItem(Mt,"1"),t.trackEvent({eventType:"multi_page_session",metadata:{page_count:C.size,page:{path:window.location.pathname}},pageUrl:window.location.href,occurredAt:null}))}let p=history.pushState.bind(history),_=history.replaceState.bind(history);function b(...S){p(...S),setTimeout(u,0)}function T(...S){_(...S),setTimeout(u,0)}return history.pushState=b,history.replaceState=T,window.addEventListener("popstate",u),u(),()=>{history.pushState=p,history.replaceState=_,window.removeEventListener("popstate",u)}}function jt(t,e){if(typeof window>"u"||typeof document>"u")return()=>{};let n=e.selector??"form",r=new Set,a=window.location.pathname;function i(b){if(b.id)return`id:${b.id}`;let T=b.getAttribute("action");return T?`action:${T}`:`index:${Array.from(document.querySelectorAll(n)).indexOf(b)}`}function s(b){let T=b.target;if(!(T instanceof HTMLElement))return;let S=T.closest(n);if(!S||S.tagName!=="FORM")return;let C=i(S);r.has(C)||(r.add(C),t.trackEvent({eventType:"form_start",metadata:{form:{id:S.id||"",action:S.getAttribute("action")??null},page:{path:window.location.pathname}},pageUrl:window.location.href,occurredAt:null}))}function o(){let b=window.location.pathname;b!==a&&(a=b,r=new Set)}let d=history.pushState.bind(history),u=history.replaceState.bind(history);function p(...b){d(...b),setTimeout(o,0)}function _(...b){u(...b),setTimeout(o,0)}return history.pushState=p,history.replaceState=_,window.addEventListener("popstate",o),document.addEventListener("focusin",s),()=>{history.pushState=d,history.replaceState=u,window.removeEventListener("popstate",o),document.removeEventListener("focusin",s)}}var Xe=class extends Error{constructor(e,n){super(e),this.name="AranovaApiError",this.status=n.status,this.code=n.code,this.requestId=n.requestId}};function ba(t){let e={[qe]:t.apiKey};return t.sdkVersion&&(e[Ye]=t.sdkVersion),t.packageName&&(e[We]=t.packageName),t.surface&&(e[Je]=t.surface),t.environment&&(e[Qe]=t.environment),e}function wa(t,e){return`${t.replace(/\/$/,"")}${e}`}async function j(t,e,n,r){let a=ba(t);r!==void 0&&(a["Content-Type"]="application/json");let i=await fetch(wa(t.endpoint,n),{method:e,headers:a,body:r===void 0?void 0:JSON.stringify(r)});if(!i.ok){let s,o;try{let d=await i.json();if(d&&typeof d=="object"){let u=d;typeof u.detail=="string"&&(s=u.detail),typeof u.code=="string"&&(o=u.code)}}catch{}throw new Xe(s??i.statusText??"Request failed",{status:i.status,code:o,requestId:i.headers.get("x-request-id")??void 0})}if(i.status!==204)return await i.json()}function Nn(t){return{async record(e){let n=e.currency??t.defaultCurrency;if(!n)throw new Error("record: `currency` is required (pass it on the sale or set config.defaultCurrency)");let r={...e,currency:n,occurred_at:e.occurred_at??new Date().toISOString()};return j(t,"POST","/sales",r)},async list(e){let{cursor:n,limit:r,sort:a,order:i,want_total:s,...o}=e??{};return j(t,"POST","/sales/query",{filters:o,...r!==void 0?{limit:r}:{},...n!==void 0?{cursor:n}:{},...a!==void 0?{sort:a}:{},...i!==void 0?{order:i}:{},...s!==void 0?{want_total:s}:{}})},async summary(e){let{range:n,include_categories:r,include_deleted_services:a,top_n:i,since:s,until:o,timezone:d,granularity:u,compare_to:p,..._}=e;return j(t,"POST","/sales/summary",{filters:_,...n!==void 0?{range:n}:{},...r!==void 0?{include_categories:r}:{},...a!==void 0?{include_deleted_services:a}:{},...i!==void 0?{top_n:i}:{},...s!==void 0?{since:s}:{},...o!==void 0?{until:o}:{},...d!==void 0?{timezone:d}:{},...u!==void 0?{granularity:u}:{},...p!==void 0?{compare_to:p}:{}})},async get(e){return j(t,"GET",`/sales/${e}`)},async update(e,n){return j(t,"PATCH",`/sales/${e}`,n)},async delete(e){await j(t,"DELETE",`/sales/${e}`)},customers:{async list(e){let{segment:n,sort:r,order:a,cursor:i,limit:s,want_total:o,...d}=e??{};return j(t,"POST","/customers/query",{filters:d,...n!==void 0?{segment:n}:{},...r!==void 0?{sort:r}:{},...a!==void 0?{order:a}:{},...i!==void 0?{cursor:i}:{},...s!==void 0?{limit:s}:{},...o!==void 0?{want_total:o}:{}})},async get(e,n){let r=new URLSearchParams;n?.include_sales!==void 0&&r.set("include_sales",String(n.include_sales)),n?.limit!==void 0&&r.set("limit",String(n.limit)),n?.cursor!=null&&r.set("cursor",n.cursor);let a=r.toString();return j(t,"GET",`/customers/${encodeURIComponent(e)}${a?`?${a}`:""}`)},async summary(e){let{range:n,since:r,until:a,timezone:i,compare_to:s,...o}=e??{};return j(t,"POST","/customers/summary",{filters:o,...n!==void 0?{range:n}:{},...r!==void 0?{since:r}:{},...a!==void 0?{until:a}:{},...i!==void 0?{timezone:i}:{},...s!==void 0?{compare_to:s}:{}})}},business:{async config(){return j(t,"GET","/business/config")}}}}var Ca=["USD","CAD"],Ta=["production","development"],Mn=c.enum(Ca),Ne=c.number().int().nonnegative(),Ea=c.string().regex(/^\d+(\.\d{1,3})?$/),Vn=c.record(c.unknown()),jn=c.object({external_item_id:c.string().nullable().optional(),name:c.string().nullable().optional(),category:c.string().nullable().optional(),quantity:Ea,unit_price_cents:Ne,unit_cost_cents:Ne.nullable().optional()}).strict(),Dn=c.object({service:c.string(),amount_cents:Ne}).strict(),Ln=c.string().max(200),$n=c.string().max(64),zn=c.string().max(320).email();function Fn(t,e,{requireAmount:n}){if(t.services!=null){t.service!=null&&e.addIssue({code:c.ZodIssueCode.custom,message:"pass either `service` or `services`, not both",path:["services"]}),t.services.length===0&&e.addIssue({code:c.ZodIssueCode.custom,message:"`services` must not be empty",path:["services"]});let r=t.services.map(a=>a.service);if(new Set(r).size!==r.length&&e.addIssue({code:c.ZodIssueCode.custom,message:"`services` must not list the same service more than once",path:["services"]}),t.amount_total_cents!=null){let a=t.services.reduce((i,s)=>i+s.amount_cents,0);t.amount_total_cents!==a&&e.addIssue({code:c.ZodIssueCode.custom,message:"amount_total_cents must equal the sum of the services amounts (omit it to derive it automatically)",path:["amount_total_cents"]})}}else n&&t.amount_total_cents==null&&e.addIssue({code:c.ZodIssueCode.custom,message:"amount_total_cents is required unless `services` is provided",path:["amount_total_cents"]})}var Ss=c.object({external_id:c.string().nullable().optional(),description:c.string().nullable().optional(),service:c.string().nullable().optional(),services:c.array(Dn).nullable().optional(),currency:Mn,amount_total_cents:Ne.nullable().optional(),occurred_at:c.string().datetime(),environment:c.enum(Ta).default("production"),items:c.array(jn).default([]),metadata:Vn.nullable().optional(),customer_name:Ln.nullable().optional(),customer_phone:$n.nullable().optional(),customer_email:zn.nullable().optional()}).strict().superRefine((t,e)=>Fn(t,e,{requireAmount:!0})),xs=c.object({description:c.string().nullable().optional(),service:c.string().nullable().optional(),services:c.array(Dn).nullable().optional(),currency:Mn.optional(),amount_total_cents:Ne.optional(),occurred_at:c.string().datetime().optional(),items:c.array(jn).optional(),metadata:Vn.nullable().optional(),customer_name:Ln.nullable().optional(),customer_phone:$n.nullable().optional(),customer_email:zn.nullable().optional()}).strict().superRefine((t,e)=>Fn(t,e,{requireAmount:!1}));var Dt="aranova-tracking-consent-banner";function Ia(){return ge(he)}function Kn(){document.querySelector(`#${Dt}`)?.remove()}function Gn(t,e,n){let r=document.createElement("button");return r.type="button",r.textContent=t,Object.assign(r.style,{borderRadius:"6px",padding:"10px 16px",fontSize:"14px",fontWeight:"600",cursor:"pointer",border:"1px solid #d1d5db",background:"#ffffff",color:"#374151"},n),r.addEventListener("click",e),r}function Aa(){if(typeof document>"u"||B()!=="pending"||document.querySelector(`#${Dt}`))return;let t=document.createElement("div");t.id=Dt,Object.assign(t.style,{position:"fixed",left:"0",right:"0",bottom:"0",zIndex:"2147483647",background:"#ffffff",borderTop:"1px solid #e5e7eb",boxShadow:"0 -4px 20px rgba(0, 0, 0, 0.12)",padding:"16px",fontFamily:"Inter, system-ui, sans-serif"});let e=document.createElement("div");Object.assign(e.style,{maxWidth:"960px",margin:"0 auto",display:"flex",flexDirection:"column",gap:"12px"});let n=document.createElement("p");n.textContent="We use cookies to understand ad performance and improve how our marketing works across visits. You can accept or decline this tracking.",Object.assign(n.style,{margin:"0",color:"#374151",fontSize:"14px",lineHeight:"1.5"});let r=document.createElement("div");Object.assign(r.style,{display:"flex",gap:"8px",flexWrap:"wrap"});let a=Gn("Decline",()=>{fe("denied"),Kn()},{}),i=Gn("Accept",()=>{fe("granted"),Kn()},{background:"#111827",color:"#ffffff",border:"1px solid #111827"});r.append(a),r.append(i),e.append(n),e.append(r),t.append(e),document.body.append(t)}var O=null,Lt=null,U=[],et=null;function Pa(){for(let t=U.length-1;t>=0;t--)U[t]();U=[],O!==null&&(O.destroy(),O=null),Lt=null,et=null}function Hn(t={}){if(typeof window>"u")return;window.AranovaTracking=$t;let{apiKey:e,endpoint:n,autoCaptureTrackingParams:r=!0,cookieMaxAgeSeconds:a=7776e3,gtagId:i,gtagIds:s,environment:o,renderConsentBanner:d=!0,triggers:u}=t;if(r&&ye(window.location.href,a),s&&Object.keys(s).length>0?lt(s):i&&dt(i),d&&Aa(),Pa(),!e||!n){(e||n)&&console.warn("[AranovaTracking] init() requires both `apiKey` and `endpoint` to enable first-party event ingest. Page-view events will not be sent.");return}et=Nn({apiKey:e,endpoint:n});let p=u??{automatic:{page_view:{}},manual:{}};Lt=p,O=Tt({apiKey:e,endpoint:n,surface:"script",packageName:"@aranova/tracking-browser",sdkVersion:Ut,triggers:p,environment:o,activeGtagIds:s??(i?{default:i}:void 0)}),U.push(wt(O)),U.push(bt(O));let b=p.automatic.time_on_site;b&&U.push(At(O,b));let T=p.automatic.specific_page_visit;T&&U.push(Pt(O,T));let S=p.automatic.scroll_depth;S&&U.push(Ot(O,S));let C=p.automatic.multi_page_session;C&&U.push(Vt(O,C));let L=p.automatic.form_start;L&&U.push(jt(O,L))}function Oa(t,e){if(O===null){console.warn("[AranovaTracking] trackEvent called before init({ apiKey, endpoint })");return}let n=Lt;if(n===null){console.warn("[AranovaTracking] trackEvent called but no trigger registry was passed to init()");return}let r=n.manual??{};if(!(t in r)){console.warn(`[AranovaTracking] trackEvent: event "${t}" is not registered as a manual trigger. Register it under \`triggers.manual\` in init().`);return}try{It(t).metadataSchema.parse(e)}catch(a){console.warn(`[AranovaTracking] trackEvent: metadata for "${t}" failed schema validation`,a);return}O.trackEvent({eventType:t,metadata:e,pageUrl:null,occurredAt:null})}function Na(){if(et===null)throw new Error("[AranovaTracking] sales() called before init({ apiKey, endpoint })");return et}var $t={init:Hn,captureTrackingParams:()=>ye(),getTrackingParams:Ia,getConsentState:B,setConsentState:fe,trackEvent:Oa,sales:Na};typeof window<"u"&&(window.AranovaTracking=$t);var Ma=$t;return Qn(Va);})();
2
2
  //# sourceMappingURL=aranova-tracking.global.js.map