@domino-sdk/relay 1.46.0 → 1.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/{attempt-captures-p7JPb7Xi.d.ts → attempt-captures-DF--rIgJ.d.ts} +5 -1
  2. package/dist/authoring.d.ts +48 -10
  3. package/dist/authoring.js +7 -4
  4. package/dist/{automatic-outcomes-YkGhnxsc.d.ts → automatic-outcomes-C7f5-N0M.d.ts} +2 -1
  5. package/dist/browser.d.ts +6 -6
  6. package/dist/browser.js +10 -10
  7. package/dist/{chunk-6IC332LX.js → chunk-3LK6JIBY.js} +1 -1
  8. package/dist/{chunk-Y22GX76Y.js → chunk-4Y5AYL3C.js} +5 -3
  9. package/dist/{chunk-OXIXMXFB.js → chunk-6ESBL7FU.js} +1 -1
  10. package/dist/{chunk-ZRTNPNNG.js → chunk-7OHIJVN5.js} +4 -4
  11. package/dist/{chunk-2VBCWGBG.js → chunk-7WVTYMFA.js} +9 -8
  12. package/dist/{chunk-SESHFICW.js → chunk-C4DEBCSQ.js} +8 -8
  13. package/dist/{chunk-3UCK2C2P.js → chunk-CHURQQBP.js} +2 -2
  14. package/dist/{chunk-KHFDDXAM.js → chunk-DP7FGRUW.js} +1 -1
  15. package/dist/{chunk-JPFPLYQS.js → chunk-GYXYZL5E.js} +1 -1
  16. package/dist/{chunk-4W4FXLGM.js → chunk-LFOBANCS.js} +2 -2
  17. package/dist/{chunk-TJ2OH3MQ.js → chunk-MMR6CZEJ.js} +1 -1
  18. package/dist/{chunk-EC5MEEZD.js → chunk-NAEVXBSF.js} +1 -1
  19. package/dist/{chunk-R5BDN7US.js → chunk-O5WR2JT4.js} +1 -1
  20. package/dist/{chunk-SKBZ7UVZ.js → chunk-SGWAVIEP.js} +1 -1
  21. package/dist/{chunk-DJAIFEV4.js → chunk-VTD4YDEO.js} +36 -2
  22. package/dist/{chunk-WE6LLVR5.js → chunk-W3SQLZRA.js} +1 -1
  23. package/dist/{client-CVG_MoXx.d.ts → client-C5sCO45H.d.ts} +37 -4
  24. package/dist/{deployments-BWav9s6t.d.ts → deployments-DLVhetCw.d.ts} +120 -5
  25. package/dist/{groups-CMZROR9a.d.ts → groups-DG7_3ipk.d.ts} +26 -1
  26. package/dist/index.d.ts +7 -7
  27. package/dist/index.js +9 -9
  28. package/dist/internal.d.ts +9 -9
  29. package/dist/internal.js +8 -8
  30. package/dist/{offers-Cvk4uBjo.d.ts → offers-yZTUWHSp.d.ts} +15 -2
  31. package/dist/{pages-BXZP4o-w.d.ts → pages-DLFRK5l7.d.ts} +30 -1
  32. package/dist/portal-proxy.js +3 -3
  33. package/dist/react/index.d.ts +13 -8
  34. package/dist/react/index.js +10 -10
  35. package/dist/runtime/authoring.js +1 -1
  36. package/dist/runtime/chunks/4O3MZT45.js +1 -0
  37. package/dist/runtime/manifest.json +3 -3
  38. package/dist/runtime/schema.js +1 -1
  39. package/dist/{schema-BgjSnV9D.d.ts → schema-6uU1s4if.d.ts} +116 -1
  40. package/dist/schema.d.ts +97 -11
  41. package/dist/schema.js +11 -7
  42. package/dist/server/index.d.ts +9 -9
  43. package/dist/server/index.js +33 -14
  44. package/dist/{submission-input-CD59rLYk.d.ts → submission-input-DtNMoL30.d.ts} +2 -2
  45. package/dist/{telegram-browser-bnRKW9KG.d.ts → telegram-browser-DE9d1M-g.d.ts} +1 -1
  46. package/dist/testing.d.ts +3 -3
  47. package/dist/testing.js +5 -5
  48. package/dist/{transport-DzRDaPXc.d.ts → transport-ud83MHKQ.d.ts} +640 -10
  49. package/dist/{x-B_7RCkOo.d.ts → x-B6mbKgoQ.d.ts} +1 -1
  50. package/package.json +1 -1
  51. package/dist/runtime/chunks/KMKCMYDX.js +0 -1
@@ -1,5 +1,5 @@
1
1
  import * as z from 'zod';
2
- import { _ as PhotoResult } from './schema-BgjSnV9D.js';
2
+ import { _ as PhotoResult } from './schema-6uU1s4if.js';
3
3
 
4
4
  /**
5
5
  * Quest code names an image; the platform fetches, decodes and pins it. No bytes or URLs cross the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@domino-sdk/relay",
3
- "version": "1.46.0",
3
+ "version": "1.49.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -1 +0,0 @@
1
- import{Gb as Y,Kb as ee,Lb as Dt,Qc as Ne,Rb as $e,Sb as c,T as _t,Ub as be,Vb as t,Wb as z,Xb as te,Xc as Qt,Yb as Me,Yc as Qe,Z as ze,Zb as f,Zc as Bt,a as Q,bc as g,ca as Ut,cc as _e,d as Mt,ec as Ue,ed as re,fc as Nt,gc as Ze,hc as j,ld as M,ma as X,mb as Lt,md as pe,nb as i,oc as Le,pa as r,pc as u,rc as De,sc as o,sd as A,vb as m,wa as Zt}from"./IDOMZWRY.js";var Pn=["not-linked","provider-unavailable","author-error"],Cn=e=>Pn.includes(e),Po=te({code:r().min(1),message:r().min(1),retryable:m()}),Ht=Symbol.for("@domino-sdk/relay/CapabilityError"),Co=class Kt extends Error{code;retryable;constructor(n,s,l={}){super(s),this.name="CapabilityError",this.code=n,this.retryable=l.retryable??n==="provider-unavailable",Object.defineProperty(this,Ht,{value:!0})}static[Symbol.hasInstance](n){return typeof n=="object"&&n!==null&&n[Ht]===!0}static from(n){return new Kt(n.code,n.message,{retryable:Cn(n.code)&&n.retryable})}};var En=Symbol.for("@domino-sdk/relay.RequestError");var Tn=class extends Error{name="RequestError";[En]=!0;kind;uncertain;status;code;operationId;recovery;retryAfter;constructor(e,n){super(e,n.cause===void 0?{}:{cause:n.cause}),this.kind=n.kind,this.uncertain=n.uncertain??!1,this.status=n.status,this.code=n.code,this.operationId=n.operationId,this.retryAfter=n.retryAfter,this.recovery=this.uncertain?n.operationId&&(n.replaySafe??!0)?"replay":"reconcile":void 0}},$n={NotSignedIn:"not-signed-in",StaleSession:"stale-session",InvalidInput:"invalid-input",InvalidResponse:"invalid-response",Network:"network",Timeout:"timeout",Aborted:"aborted",NotFound:"not-found",RetryUnavailable:"retry-unavailable",SubmissionStorage:"submission-storage",SubmissionStorageQuota:"submission-storage-quota",SubmissionConflict:"submission-conflict",OperationRetired:"operation-retired",QuestUpdated:"quest-updated",AttemptPending:"attempt-pending",RetryCooldown:"retry-cooldown",StaleQuiz:"stale-quiz",InvalidSubmission:"invalid-submission",InvalidCursor:"invalid-cursor",PointLedgerNotFound:"point-ledger-not-found",NotJoined:"not-joined",OutsideWindow:"outside-window",EnrollmentRequired:"enrollment-required",BudgetExhausted:"budget-exhausted",OfferNotFound:"offer-not-found",OfferPaused:"offer-paused",OfferLimitReached:"offer-limit-reached",OfferOutOfStock:"offer-out-of-stock",InsufficientPoints:"insufficient-points",Credential:"credential",WalletSigner:"wallet-signer",PrerequisitesIncomplete:"prerequisites-incomplete",QuestClosed:"quest-closed",QuestPaused:"quest-paused",ProfileLocked:"profile-locked",InvitationNotFound:"invitation-not-found",InvalidCode:"invalid-code",CodeExpired:"code-expired",ChallengeExpired:"challenge-expired",RateLimited:"rate-limited"},Mn=Symbol.for("@domino-sdk/relay.RelayError");var _n=class extends Tn{name="RelayError";[Mn]=!0;window;missing;retryAt;constructor(e,n){super(e,n),this.window=n.window,this.missing=n.missing??[],this.retryAt=n.retryAt}};function Un(e,n,s={}){return new _n(e,{...s,kind:"client",code:n})}var a=r().min(1).max(100).regex(/^[a-zA-Z0-9_-]+$/),Zn=Symbol("domino.response.tolerant-v1");function dr(e){return Object.assign(e,{[Zn]:!0})}var Be=new WeakMap;function To(e){for(let n of Object.keys(e)){let s=Object.getOwnPropertyDescriptor(e,n)?.get;if(!s)continue;let l=d=>(Object.defineProperty(e,n,{value:d,writable:!0,enumerable:!0,configurable:!0}),d);Object.defineProperty(e,n,{get:()=>l(s.call(e)),set:l,enumerable:!0,configurable:!0})}return e}function S(e){let n=Be.get(e);if(n)return n;let s=Object.create(Object.getPrototypeOf(e._zod.def),Object.getOwnPropertyDescriptors(e._zod.def));if(e instanceof be){let d;Object.defineProperty(s,"shape",{get:()=>d??=Object.fromEntries(Object.entries(e.shape).map(([b,p])=>[b,S(p)])),configurable:!0,enumerable:!0}),Object.assign(s,{catchall:e._zod.def.catchall instanceof Dt||!e._zod.def.catchall?void 0:S(e._zod.def.catchall)})}else e instanceof Lt?Object.assign(s,{checks:e._zod.def.checks?.filter(d=>{let b=d._zod.def;return b.check!=="less_than"||!("value"in b)||b.value===Number.MAX_SAFE_INTEGER||b.value===864e13})}):e instanceof $e?Object.assign(s,{element:S(e.element),checks:[]}):e instanceof Me?Object.assign(s,{options:e.options.map(S)}):e instanceof Ue?Object.assign(s,{items:e._zod.def.items.map(S),rest:e._zod.def.rest?S(e._zod.def.rest):null}):e instanceof _e?Object.assign(s,{left:S(e._zod.def.left),right:S(e._zod.def.right)}):e instanceof Qe?Object.assign(s,{getter:()=>S(e._zod.def.getter())}):e instanceof Ze?Object.assign(s,{valueType:S(e.valueType)}):e instanceof Ne?Object.assign(s,{in:S(e.in),out:S(e.out)}):"innerType"in s&&s.innerType instanceof X&&Object.assign(s,{innerType:S(s.innerType)});let l=Mt(e,s);return Be.set(e,l),Be.set(l,l),l}function Ln(e){return S(e)}function mr(e){if(e instanceof be)return e.shape;if("innerType"in e._zod.def&&e._zod.def.innerType instanceof X)return mr(e._zod.def.innerType)}function Xe(e){if(e instanceof De)return[...e.values];if(e instanceof Le)return e.options;if("innerType"in e._zod.def&&e._zod.def.innerType instanceof X)return Xe(e._zod.def.innerType)}function C(e,n){if(e instanceof De)return typeof n=="string"&&[...e.values].every(s=>typeof s=="string")&&!e.values.has(n);if(e instanceof Le)return typeof n=="string"&&!e.options.includes(n);if(e instanceof $e&&Array.isArray(n))return n.some(s=>C(e.element,s));if(e instanceof Ue&&Array.isArray(n))return n.some((s,l)=>{let d=e._zod.def.items[l]??e._zod.def.rest;return d?C(d,s):!1});if(e instanceof _e)return C(e._zod.def.left,n)||C(e._zod.def.right,n);if(e instanceof Qe)return C(e._zod.def.getter(),n);if(e instanceof Ze&&n!==null&&typeof n=="object"&&!Array.isArray(n))return Object.entries(n).some(([s,l])=>C(e.keyType,s)||C(e.valueType,l));if(e instanceof Me){let s=[...e.options];if(typeof n=="string"){let l=s.flatMap(d=>Xe(d)??[]);if(l.some(d=>typeof d=="string")&&!l.includes(n))return!0}if(n!==null&&typeof n=="object"&&!Array.isArray(n)){let l=j(r(),ee()).parse(n),d=["kind","status","provider","input","type","mode"];for(let b of d){if(typeof l[b]!="string")continue;let p=s.map(R=>{let $=mr(R)?.[b];return $?Xe($):void 0});if(p.some(R=>!R))continue;let h=s.filter((R,$)=>p[$]?.includes(l[b]));if(!h.length)return!0;s=h}}return s.every(l=>C(l,n))}if(e instanceof be&&n!==null&&typeof n=="object"&&!Array.isArray(n)){let s=j(r(),ee()).parse(n);return Object.entries(e.shape).some(([l,d])=>C(d,s[l]))||Object.entries(s).some(([l,d])=>!(l in e.shape)&&!!e._zod.def.catchall&&C(e._zod.def.catchall,d))}if(e instanceof Ne){if(C(e.in,n))return!0;let s=Ut(e.in,n);return s.success&&C(e.out,s.data)}return"innerType"in e._zod.def&&e._zod.def.innerType instanceof X?C(e._zod.def.innerType,n):!1}function Dn(e){return dr(M().transform((n,s)=>{let l=Ln(e),d=l.safeParse(n);if(d.success)return{kind:"supported",value:d.data};if(C(l,n))return{kind:"unsupported",raw:n};for(let b of d.error.issues)s.addIssue({...b});return Q}))}function $o(e){return dr(c(Dn(e)).transform(n=>({items:n,unsupportedCount:n.filter(s=>s.kind==="unsupported").length})))}var k=r().min(1).max(4096),Mo=z({cursor:k.optional()});async function*_o(e){let n;do{let s=await e(n);yield*s.items,n=s.nextCursor??void 0}while(n!==void 0)}var Uo=z({cursor:k.optional(),limit:A.number().int().min(1).max(100).default(50)}),dt=u(["google","apple","x","discord"]),ur=t({provider:dt,configured:m(),status:u(["disconnected","connected","reconnect"]),subject:r().nullable(),revision:i().int().nonnegative()}),Zo=t({}).strict(),Lo=t({channelId:r().regex(/^[0-9]{1,20}$/),messageId:r().regex(/^[0-9]{1,20}$/)}).strict(),Do=t({userId:r().regex(/^[0-9]{1,20}$/).nullable().default(null),nickname:r().nullable().default(null),displayName:r().nullable().default(null),boostingSince:r().datetime({offset:!0}).nullable().default(null),roles:c(r().regex(/^[0-9]{1,20}$/)),joinedAt:r().datetime({offset:!0}).nullable(),pending:m()}),No=t({guildId:r(),channelId:r(),messageId:r(),userId:r(),content:r().nullable(),replyTo:r().nullable(),publishedAt:i()}).strict(),zr=z({kind:o("discord-messages"),text:m().optional()}),br=z({kind:o("discord-reactions")}),Nn=t({guildId:r(),channelId:r(),messageId:r(),replyTo:r().nullable(),publishedAt:i()}),Qo=Nn.extend({text:r().nullable()}),Bo=t({guildId:r(),channelId:r(),messageId:r(),emoji:t({id:r().nullable(),name:r()}),reactorRoles:c(r()),messagePublishedAt:i()}),Qn=z({kind:o("integration"),provider:o("discord"),action:o("grant-role"),roleId:r().regex(/^[0-9]{1,20}$/)}),Bn=f([z({provider:o("discord"),resource:o("channel"),types:c(u(["text","announcement"])).min(1)}),z({provider:o("discord"),resource:o("role"),assignable:m().default(!1)})]),Hn=16,Kn=32768,Vn=16,ne=256,Vt=f([r(),i().finite(),m(),Y()]),ge=i().int().safe().nonnegative(),fe=i().finite(),He=()=>c(ie).min(1).max(Vn),ie=Bt(()=>z({type:u(["object","array","string","number","integer","boolean","null"]).optional(),properties:j(r(),ie).refine(e=>Object.keys(e).length<=ne,`An object schema lists at most ${ne} properties`).optional(),required:c(r()).max(ne).optional(),additionalProperties:f([m(),ie]).optional(),propertyNames:z({type:o("string"),enum:c(r()).max(ne).optional()}).optional(),items:ie.optional(),minItems:ge.optional(),maxItems:ge.optional(),minLength:ge.optional(),maxLength:ge.optional(),minimum:fe.optional(),maximum:fe.optional(),exclusiveMinimum:fe.optional(),exclusiveMaximum:fe.optional(),enum:c(Vt).min(1).max(ne).optional(),const:Vt.optional(),anyOf:He().optional(),oneOf:He().optional(),allOf:He().optional()}));function Wn(e){let n=[[e,0]];for(;n.length;){let[s,l]=n.pop();if(!(typeof s!="object"||s===null)){if(l>=Hn)return"Tracker data schemas are at most 32 KB and 16 levels deep";if(!Array.isArray(s)&&Object.hasOwn(s,"__proto__"))return"Tracker data schemas cannot name a property __proto__";for(let d of Object.values(s))n.push([d,l+1])}}return new TextEncoder().encode(JSON.stringify(e)).byteLength>Kn?"Tracker data schemas are at most 32 KB and 16 levels deep":null}var pr=e=>[...e.anyOf??[],...e.oneOf??[],...e.allOf??[]],Gn=e=>e.properties!==void 0||e.items!==void 0||typeof e.additionalProperties=="object"||pr(e).length>0;function Ye(e,n,s){let l=pr(e);if(s&&l.filter(Gn).length>1)return n;let d=[...Object.entries(e.properties??{}).map(([b,p])=>[p,`${n}.${b}`])];e.items&&d.push([e.items,n]),typeof e.additionalProperties=="object"&&d.push([e.additionalProperties,n]);for(let[b,p]of d){let h=Ye(b,p,s);if(h)return h}for(let b of l){let p=Ye(b,n,!0);if(p)return p}return null}var gr=ee().superRefine((e,n)=>{let s=Wn(e);s&&n.addIssue({code:"custom",message:s,abort:!0})}).pipe(ie).refine(e=>e.type==="object","A tracker's record data is an object: declare it with z.object({ ... })").superRefine((e,n)=>{let s=Ye(e,"data",!1);s&&n.addIssue({code:"custom",message:`Tracker data schemas cannot nest a union with several object, array or union branches inside another union's branch (${s}): flatten it into one union`})}),Wt={pattern:"check string patterns in your evaluator",format:"use z.string() and check the format in your evaluator",prefixItems:"use an array or an object instead of a tuple",multipleOf:"check divisibility in your evaluator",not:"describe the allowed values instead",$ref:"inline the schema instead of registering or reusing it by ID",$defs:"inline the schema instead of registering or reusing it by ID",definitions:"inline the schema instead of registering or reusing it by ID",if:"use a union instead",then:"use a union instead",else:"use a union instead",contains:"check array contents in your evaluator",minContains:"check array contents in your evaluator",maxContains:"check array contents in your evaluator",uniqueItems:"check uniqueness in your evaluator",minProperties:"check key counts in your evaluator",maxProperties:"check key counts in your evaluator",patternProperties:"use z.record(z.string(), value) instead",dependentRequired:"use a union instead",dependentSchemas:"use a union instead",unevaluatedProperties:"use a strict object instead",unevaluatedItems:"use an array instead"},fr=new Set(["additionalProperties","items","propertyNames"]),vr=new Set(["anyOf","oneOf","allOf"]),Fn=new Set(["type","properties","required","minItems","maxItems","minLength","maxLength","minimum","maximum","exclusiveMinimum","exclusiveMaximum","enum","const",...fr,...vr]),Jn=new Set(["$schema","$id","$comment","title","description","default","examples","deprecated","readOnly","writeOnly"]);function je(e,n){if(typeof e!="object"||e===null||Array.isArray(e))return e;let s={};for(let[l,d]of Object.entries(e)){if(Object.hasOwn(Wt,l))throw new Error(`Tracker data schemas cannot use ${l} (${n}): ${Wt[l]}`);if(!Jn.has(l)){if(!Fn.has(l))throw new Error(`Tracker data schemas cannot use the keyword ${l} (${n}): keep metadata to title, description, default and examples`);if(l==="properties"&&Object.hasOwn(d,"__proto__")||l==="required"&&d.includes("__proto__"))throw new Error(`Tracker data schemas cannot name a property __proto__ (${n})`);s[l]=l==="properties"?Object.fromEntries(Object.entries(d).map(([b,p])=>[b,je(p,`${n}.${b}`)])):fr.has(l)?je(d,n):vr.has(l)?d.map(b=>je(b,n)):d}}return s}function Ho(e){let n;try{n=_t(e,{target:"draft-2020-12",io:"input",unrepresentable:"throw",cycles:"throw",reused:"inline",override:({zodSchema:l,path:d})=>{let b=l._zod.def,p=["data",...d].join(".");if(b.type==="pipe"||b.type==="transform")throw new Error(`Tracker data schemas cannot transform values (${p}): records are stored as sent`);if(b.checks?.some(h=>h._zod.def.check==="custom"))throw new Error(`Tracker data schemas cannot use refinements (${p}): check the value in your evaluator`)}})}catch(l){let d=l instanceof Error?l.message:String(l);throw new Error(d.startsWith("Tracker data schemas")?d:`Tracker data schemas describe JSON: ${d}. Use z.unknown() for any JSON value.`)}let s=gr.safeParse(je(n,"data"));if(!s.success)throw new Error(s.error.issues.map(l=>l.message).join("; "));return s.data}var hr=25e4,Xn=6e6,yr=class extends Error{};function ve(e,n){if(e.steps-=n,e.steps<0)throw new yr}var Sr=64,Yn=256;function et(e,n){return e.length>n?e.slice(0,n-1)+"\u2026":e}function ea(e){let n=[];for(let s=e;s;s=s.parent)n.push(et(String(s.key),Sr));return et(["data",...n.reverse()].join("."),Yn)}var B=e=>e===null?"null":Array.isArray(e)?"an array":typeof e,Ke=10;function ta(e){let n=e.slice(0,Ke).map(s=>JSON.stringify(s)).join(", ");return e.length>Ke?`expected one of ${n}, or ${e.length-Ke} more`:`expected one of ${n}`}var Gt=new WeakMap,Ft=new WeakMap;function Jt(e,n){let s=Gt.get(e);return s||(s=new Set(n),Gt.set(e,s)),s}function ra(e){let n=Ft.get(e);return n||(n=Object.entries(e.properties??{}).filter(([,s])=>s.const!==void 0),Ft.set(e,n)),n}function K(e,n,s,l){ve(l,1);let d=b=>({at:s,reason:b});if(e.const!==void 0&&n!==e.const)return d(()=>`expected ${JSON.stringify(e.const)}`);if(e.enum&&!Jt(e,e.enum).has(n)){let b=e.enum;return d(()=>ta(b))}switch(e.type){case"null":if(n!==null)return d(()=>`expected null, got ${B(n)}`);break;case"boolean":case"string":if(typeof n!==e.type){let b=e.type;return d(()=>`expected a ${b}, got ${B(n)}`)}break;case"number":if(typeof n!="number")return d(()=>`expected a number, got ${B(n)}`);break;case"integer":if(!Number.isInteger(n))return d(()=>typeof n=="number"?"expected an integer":`expected an integer, got ${B(n)}`);break;case"array":if(!Array.isArray(n))return d(()=>`expected an array, got ${B(n)}`);break;case"object":if(typeof n!="object"||n===null||Array.isArray(n))return d(()=>`expected an object, got ${B(n)}`);break}if(typeof n=="string"){let{minLength:b,maxLength:p}=e;if(b!==void 0&&n.length<b)return d(()=>`expected at least ${b} characters`);if(p!==void 0&&n.length>p)return d(()=>`expected at most ${p} characters`)}if(typeof n=="number"){let b=[[e.minimum,p=>n>=p,"at least"],[e.exclusiveMinimum,p=>n>p,"more than"],[e.maximum,p=>n<=p,"at most"],[e.exclusiveMaximum,p=>n<p,"less than"]];for(let[p,h,R]of b)if(p!==void 0&&!h(p))return d(()=>`expected ${R} ${p}`)}if(Array.isArray(n)){let{minItems:b,maxItems:p}=e;if(b!==void 0&&n.length<b)return d(()=>`expected at least ${b} items`);if(p!==void 0&&n.length>p)return d(()=>`expected at most ${p} items`);if(e.items)for(let h=0;h<n.length;h++){let R=K(e.items,n[h],{parent:s,key:h},l);if(R)return R}}if(typeof n=="object"&&n!==null&&!Array.isArray(n)){let b=n,p=e.properties??{},h=e.required??[];ve(l,h.length);for(let P of h)if(!Object.hasOwn(b,P))return d(()=>`missing required key "${et(P,Sr)}"`);let R=ra(e);ve(l,R.length);for(let[P,L]of R)if(Object.hasOwn(b,P)&&b[P]!==L.const)return{at:{parent:s,key:P},reason:()=>`expected ${JSON.stringify(L.const)}`};let $=Object.keys(b);ve(l,$.length);let Et=e.propertyNames?.enum,Tt=Et&&Jt(e.propertyNames,Et);for(let P of $){if(Tt&&!Tt.has(P))return{at:{parent:s,key:P},reason:()=>"is not an allowed key"};let L=Object.hasOwn(p,P)?p[P]:e.additionalProperties;if(L===!1)return{at:{parent:s,key:P},reason:()=>"is not an allowed key"};if(L&&L!==!0){let $t=K(L,b[P],{parent:s,key:P},l);if($t)return $t}}}for(let b of e.allOf??[]){let p=K(b,n,s,l);if(p)return p}if(e.anyOf&&!e.anyOf.some(b=>!K(b,n,s,l)))return d(()=>"matches none of the allowed shapes");if(e.oneOf){let b=0;for(let p of e.oneOf)if(!K(p,n,s,l)&&++b>1)return d(()=>"matches more than one of the allowed shapes");if(!b)return d(()=>"matches none of the allowed shapes")}return null}function na(e,n,s={steps:hr}){try{let l=K(e,n,null,s);return l&&{kind:"mismatch",path:ea(l.at),reason:l.reason()}}catch(l){if(l instanceof yr)return{kind:"too-complex",path:"data",reason:"is too complex to validate against the tracker's schema"};throw l}}function aa(e,n){let s={steps:Xn};return n.map(l=>{let d={steps:Math.min(hr,s.steps)},b=d.steps,p=na(e,l,d);return s.steps-=b-Math.max(d.steps,0),p})}function tt(e){return e.flatMap(n=>n.anyOf||n.oneOf||n.allOf?tt([...n.anyOf??[],...n.oneOf??[],...n.allOf??[]]):[n])}var Xt=e=>e.type===void 0&&e.properties===void 0&&e.const===void 0&&e.enum===void 0;function ia(e,n){let s=new Set(["string","number","boolean","null","object","array"]),l=[e];for(let b of n.split(".")){let p=[];for(let h of tt(l))if(Xt(h))p.push({});else{if(h.type!=="object")continue;h.properties&&Object.hasOwn(h.properties,b)?p.push(h.properties[b]):h.additionalProperties===!0?p.push({}):h.additionalProperties&&p.push(h.additionalProperties)}if(!p.length)return null;l=p}let d=new Set;for(let b of tt(l)){if(Xt(b))return s;b.type&&d.add(b.type==="integer"?"number":b.type);for(let p of[...b.const!==void 0?[b.const]:[],...b.enum??[]])d.add(p===null?"null":typeof p)}return d}function Ko(e){return{content:(n,s)=>e.content(n,s),summary:(n,s)=>e.summary(n,s),records:(async(n,s)=>{let l=await e.records(n,s),d=n.source,b=d?.kind==="custom"?d.data:void 0;if(!b)return l;let p=aa(b,l.items.map(R=>R.data)),h=l.items.filter((R,$)=>!p[$]);return{...l,items:h,excluded:l.items.length-h.length}})}}function Vo(e,n){let s=n===void 0?[]:Array.isArray(n)?n:[n];for(let l of s){let d=ia(e,l.path);if(!d)return`The tracker filter reads data.${l.path}, which the tracker's data schema does not declare`;if(!("equals"in l?[typeof l.equals]:["number","string"]).some(p=>d.has(p)))return`The tracker filter compares data.${l.path} with ${"equals"in l?JSON.stringify(l.equals):"a number"}, but the field holds ${[...d].join(" or ")}`}return null}var x=i().int().safe().nonnegative().max(864e13),I=i().int().safe().nonnegative(),E=r().min(1).max(256),H=I.nullable().default(null),oa=te({id:E,userId:E,content:r(),createdAt:ze.datetime({offset:!0}),author:te({id:E,username:r(),name:r(),verified:m().nullable().default(null)}),likeCount:H,replyCount:H,retweetCount:H,quoteCount:H,viewCount:H,bookmarkCount:H,isReply:m(),isRetweet:m(),isQuoteTweet:m()}),sa=z({version:o(1),id:r().min(1),authorId:r().min(1),publishedAt:x,text:r(),isReply:m(),isRetweet:m(),isQuoteTweet:m(),media:c(z({type:r(),url:r()})).nullable(),mentionedAuthorIds:c(r().min(1)).nullable(),videoLengthSeconds:i().nonnegative().nullable(),references:z({replyId:r().nullable(),replyAuthorId:r().nullable(),quoteId:r().nullable(),quoteAuthorId:r().nullable(),repostId:r().nullable(),repostAuthorId:r().nullable()})}),ca=z({id:E,observation:r().regex(/^observation_[a-f0-9]{64}$/)}),Wo=ca.extend({member:a}),Ve={member:a,capturedAt:x},jr=z({contentRevision:a,observation:a}),Go=z({tracker:a,source:o("x"),evidence:jr,content:sa,observedAt:x,removed:m(),attribution:g("kind",[z({...Ve,kind:o("linked"),account:z({provider:o("x"),issuer:r().min(1),subject:E,revision:I,linkedAt:x.nullable()})}),z({...Ve,kind:o("unlinked")}),z({...Ve,kind:o("different-author")})])}),la=["wallet","x","discord","member"],kr=Qt(["app:",r().regex(/^[a-z0-9][a-z0-9_-]{0,39}$/,"Name an app identity kind like app:telegram: lowercase letters, digits, _ or -, at most 40")]),mt=f([u(la),kr]),Fo=e=>e.startsWith("app:"),le=r().min(1).max(64),Jo=t({kind:le,subject:E,revision:I,linkedAt:x.nullable()}),de=r().regex(/^[a-zA-Z][a-zA-Z0-9_]{0,39}$/,"Name roles like author or recipient: a letter, then letters, digits or underscores"),Xo=["author","inReplyTo"],rt=e=>new Set(e).size===e.length,xr=r().regex(/^[a-z][a-zA-Z0-9]{0,39}$/,"Name metrics like likes or watchTime: a lowercase letter, then letters or digits"),da=["likes","replies","reposts","quotes","views","bookmarks"],ma=z({metrics:c(xr).max(10).refine(rt,"List each metric once")}),we=t({kind:o("x-search"),query:r().trim().min(1).max(2e3)}).strict(),wr=t({kind:o("custom"),namespace:a,identities:c(mt).min(1).max(8).refine(rt,"List each identity kind once").optional(),accounts:c(de).min(1).max(10).refine(rt,"List each account role once").refine(e=>!e.includes("author"),"author is every record's own role; name other accounts").optional(),data:gr.optional(),content:ma.optional()}).strict().refine(e=>!e.content||e.data?.properties?.body?.type==="object"&&(e.data.required??[]).includes("body"),"A content source's data schema has a required object body").refine(e=>!e.accounts||e.identities,"Named accounts need identities"),ua=g("kind",[we,wr,zr,br]),za=["x-search","custom","discord-messages","discord-reactions"];function Yo(e){if(pa(e))switch(e.kind){case"x-search":return["x"];case"discord-messages":case"discord-reactions":return["discord"];case"custom":return e.identities}}function es(e){switch(e.kind){case"x-search":return{metrics:da};case"custom":return e.content;case"discord-messages":case"discord-reactions":return}}var ut=t({start:x,end:x.optional()}).strict().refine(e=>e.end===void 0||e.end>e.start,"End must follow start"),D=t({key:a,title:r().trim().min(1).max(120),source:ua,window:ut,refreshSeconds:i().int().min(300).max(86400).default(21600),maxPages:i().int().min(1).max(1e3).default(60)}).strict(),ts=f([D,t({code:r().min(1).max(2e6)}).strict()]),Ar=g("kind",[t(we.shape),t({...wr.shape,identities:c(le).optional()}),t(zr.shape),t(br.shape)]),ba=f([Ar,t({kind:r().min(1).refine(e=>!za.some(n=>n===e),"Known source kinds must match their schema")}).catchall(M())]);function pa(e){return Ar.safeParse(e).success}var ga=t({...D.shape,source:ba,window:t(ut.shape)}),fa=t({id:a,version:a,definition:ga,publishedAt:x,actor:r().nullable()}),Ir=t({archivedAt:i().int().nonnegative().nullable().optional(),published:fa,paused:m(),state:u(["idle","syncing","error","complete"]),lastStartedAt:x.nullable(),lastCompletedAt:x.nullable(),nextSyncAt:x.nullable(),coverage:u(["unknown","partial","complete"]),error:r().nullable(),records:I,origin:u(["code","data"]).optional()}),Or=t({title:D.shape.title,query:we.shape.query,window:ut,refreshSeconds:D.shape.refreshSeconds.unwrap(),maxPages:D.shape.maxPages.unwrap()}).strict(),rs=Or.extend({key:a,refreshSeconds:D.shape.refreshSeconds,maxPages:D.shape.maxPages,actionId:a}).strict(),ns=Or.partial().extend({actionId:a}).strict().refine(({actionId:e,...n})=>Object.values(n).some(s=>s!==void 0),"Change at least one field"),as=t({actionId:a,action:u(["pause","resume","refresh"])}).strict(),va=z({kind:mt.optional(),id:E}),ha=t({id:E,occurredAt:x,observedAt:x,author:t({id:E,verified:m().nullable().default(null),kind:mt.optional()}).strict().nullable().default(null),accounts:j(de,va).refine(e=>Object.keys(e).length<=10,"At most 10 accounts").optional(),data:j(r(),M()),removed:m().default(!1)}).strict().refine(e=>new TextEncoder().encode(JSON.stringify(e.data)).byteLength<=131072,"Record exceeds 128 KB"),qr=t({kind:le.optional(),id:r()}),ya=t({id:r(),occurredAt:x,observedAt:x,author:t({id:r(),verified:m().nullable().default(null),kind:le.optional()}).nullable().default(null),accounts:j(r(),qr).optional(),data:j(r(),M()),removed:m().default(!1),source:r(),firstSeenAt:x,synthetic:o(!0).optional(),evidence:jr.nullable().optional()}),is=t({actionId:a,records:c(ha).min(1).max(100)}).strict(),os=t({stored:I,admissions:t({admitted:I,skipped:I,filtered:I.optional()}).optional()}),Yt={quest:a,tracker:a,record:E,observedAt:x,release:a,account:r().nullable(),createdAt:x,updatedAt:x,actor:r().nullable()},ss=["quest-paused","before-activation","outside-window","future-record","record-removed","invalid-record-data","content-unavailable","no-account","beneficiary-is-author","unlinked-account","ambiguous-account","not-joined","already-completed","not-enrolled","before-enrollment","historical","prerequisites-incomplete"],Rr=g("state",[t({...Yt,state:o("admitted"),code:Y(),reason:Y(),member:a,attempt:a}),t({...Yt,state:o("skipped"),code:r().min(1),reason:r(),window:u(["tracker","quest"]).optional(),member:a.nullable(),attempt:a.nullable()})]),Pr={quest:a.optional(),record:E.optional(),member:a.optional(),state:u(["admitted","skipped"]).optional(),code:r().min(1).max(100).optional(),limit:A.number().int().min(1).max(100).default(25)},cs=z({...Pr,cursor:k.optional()}),ls=t({items:c(Rr).max(100),nextCursor:k.nullable()}),ds=z({...Pr,before:r().max(512).optional()}),ms=z({items:c(Rr).max(100),next:r().nullable()}),us=z({actionId:a,quest:a,record:E,observedAt:x}),We=f([m(),u(["true","false"]).transform(e=>e==="true")]),zs=t({author:E.optional(),member:a.optional(),verified:We.optional(),since:A.number().int().safe().nonnegative().optional(),until:A.number().int().safe().nonnegative().optional(),removed:We.default(!1),minLikes:A.number().int().safe().nonnegative().optional(),minViews:A.number().int().safe().nonnegative().optional(),limit:A.number().int().min(1).max(100).default(25),cursor:r().max(2048).optional(),includeEvidence:We.optional()}).strict().refine(e=>e.since===void 0||e.until===void 0||e.until>e.since,"Until must follow since"),bs=t({tracker:a,items:c(ya),nextCursor:r().nullable(),total:I,status:Ir}),ps=t({records:I,authors:I,metrics:t({likes:I,replies:I,reposts:I,quotes:I,views:I,bookmarks:I}),missingMetrics:I,status:Ir}),Sa={pages:3,posts:100,days:30},gs=t({query:we.shape.query,since:x}).strict(),fs=t({query:r(),since:x,fetchedAt:x,pages:I,posts:c(oa).max(Sa.posts),more:m()}),vs=z({kind:u(["accept","reject","review","defer","progress","superseded"]),reason:r().nullable()}),ja=z({quest:a,member:a.optional(),content:r().min(1).max(256).optional(),cursor:k.optional()}),Cr=z({quest:a,content:r(),member:a,release:a,attempt:a,revision:a,observation:a,current:m(),state:u(["pending","qualified","unqualified","needs-review","failed","superseded","stale","blocked","unavailable"]),reason:r().nullable(),reward:z({attempt:a.nullable(),completion:a.nullable(),state:u(["unresolved","awarded","excluded"])})}),hs=z({items:c(Cr),nextCursor:k.nullable()}),Ae=xr,Z=j(Ae,i().int().safe().nonnegative()),ka=z({metrics:c(Ae).min(1).max(10).refine(e=>new Set(e).size===e.length,"Metrics must be unique"),maxAgeMs:i().int().positive().max(864e5).default(36e5)}),Ge=864e5,xa=t({kind:o("count"),count:i().int().min(1).max(1e4)}).strict(),wa=g("kind",[t({kind:o("lifetime")}).strict(),t({kind:o("calendar"),period:u(["day","week","month"]),latenessMs:i().int().min(0).max(90*Ge).default(7*Ge)}).strict(),t({kind:o("rolling"),durationMs:i().int().min(1).max(365*Ge)}).strict()]),Aa=t({kind:o("progress"),goal:xa,window:wa,repeat:u(["once","repeat"]).default("once")}).strict(),Fe=t({id:a,ordinal:i().int().positive(),achievedAt:i().int(),window:r()}),Er=g("status",[Fe.extend({status:o("revoked"),completion:a,revokedAt:i().int()}),Fe.extend({status:o("awarded"),completion:a}),Fe.extend({status:o("budget-exhausted"),budget:a})]),Ia=t({goal:i().int().positive(),current:i().int().nonnegative(),window:t({key:r(),start:i().int().nullable(),end:i().int().nullable()}),repeat:u(["once","repeat"]),settled:i().int().nonnegative(),latest:Er.nullable()}),Oa=t({id:a,distinct:r(),attempt:a,occurredAt:i().int(),recordedAt:i().int(),window:r(),status:u(["counted","late","future","excluded"]),achievement:Er.nullable(),reason:r().nullable()}),ys=t({items:c(Oa),nextCursor:r().nullable()}),Ss=t({actionId:Zt(),excluded:m(),reason:r().trim().min(1).max(2e3)}).strict(),js=t({cursor:r().max(2e3).optional(),limit:A.number().int().min(1).max(100).optional()}).strict(),ks=t({excluded:m()}),er=i().int().safe(),nt=/^(?:[+-]|(?:Etc\/)?GMT[+-]\d|(?:EST|MST|HST)$)/i;function qa(e){let n;try{n=new Intl.DateTimeFormat("en",{timeZone:e}).resolvedOptions().timeZone}catch{return null}return n==="UTC"?"UTC":nt.test(e)||nt.test(n)?null:n}var Tr=r().min(1).max(100).transform((e,n)=>{let s=qa(e);return s===null?(n.addIssue({code:"custom",message:nt.test(e)?"Use a named IANA timezone, such as Europe/Budapest or UTC. Fixed offsets have no daylight-saving rules.":"Use an IANA timezone name, such as Europe/Budapest or UTC"}),Q):s}),oe=r().min(1).max(100),$r=e=>`${e} no longer take a timeZone: they follow the project calendar. Set calendar.timeZone in relay.json or in Console settings.`,at=e=>typeof e=="object"&&e!==null;function Ra(e,n){return at(e)&&e.kind==="streak"&&"timeZone"in e&&n.addIssue({code:"custom",path:["timeZone"],message:$r("Streaks")}),e}function Mr(e,n){let s=at(e)?e.window:void 0;return at(s)&&s.kind==="calendar"&&"timeZone"in s&&n.addIssue({code:"custom",path:["window","timeZone"],message:$r("Calendar leaderboard windows")}),e}var G=u(["lifetime","day","week","month"]),xs=t({timeZone:oe,today:r(),nextBoundary:er,pending:t({timeZone:oe,effectiveAt:er}).nullable(),declared:oe.nullable(),unsupported:r().nullable().default(null)}),ws=t({actionId:a,timeZone:Tr,reason:r().trim().min(1).max(500)}).strict(),As=t({timeZone:Tr}).strict(),Pa=t({kind:o("streak"),days:i().int().min(1).max(3650)}),Ca=t({goal:i().int().positive(),current:i().int().nonnegative(),best:i().int().nonnegative(),today:r(),todayQualified:m(),timeZone:oe,nextBoundary:i().int(),pendingTimeZone:t({timeZone:oe,effectiveAt:i().int()}).nullable(),days:c(t({day:i().int(),date:r(),timeZone:r(),occurredAt:i().int()})),milestone:g("status",[t({status:o("pending")}),t({status:o("awarded"),completion:r(),achievedAt:i().int()}),t({status:o("budget-exhausted"),budget:r(),achievedAt:i().int()})])}),U=i().int().safe().nonnegative().max(864e13),it=i().int().safe().nonnegative(),Ea=u(["new-record","new-observation","data-changed"]);function Is(e){return e==="custom"?"new-observation":"new-record"}var he=f([i().finite(),z({setting:r().regex(/^[a-zA-Z][a-zA-Z0-9_]*$/)})]),tr=r().max(200).regex(/^[^.\s]+(\.[^.\s]+)*$/,"Use dot-separated keys, such as metrics.likes"),rr=f([z({path:tr,equals:f([r().max(1e3),i().finite(),m()])}),z({path:tr,gt:he.optional(),gte:he.optional(),lt:he.optional(),lte:he.optional()}).refine(e=>[e.gt,e.gte,e.lt,e.lte].some(n=>n!==void 0),"Compare with equals, gt, gte, lt or lte")]),Ta=f([rr,c(rr).min(1).max(10)]);function $a(e){return e===void 0?[]:Array.isArray(e)?e:[e]}function Os(e){return $a(e).flatMap(n=>"equals"in n?[]:[n.gt,n.gte,n.lt,n.lte].flatMap(s=>typeof s=="object"?[s.setting]:[]))}var Ma=u(["none","required"]),_a=u(["activation","window","enrollment"]),Ua=u(["staff","claim","automatic"]),Za=z({tracker:a,source:r().min(1).max(100),on:Ea,where:Ta.optional(),beneficiary:de,enrollment:Ma.optional(),since:_a.optional(),historical:Ua.optional(),content:o(!0).optional()}).refine(e=>e.since!=="enrollment"||e.enrollment==="required",'since: "enrollment" needs enrollment: "required"');function qs(e){return e.on}function Rs(e){return{enrollment:e.enrollment??"none",since:e.since??"activation",historical:e.historical??(e.content?"claim":"staff")}}function Ps(e){return e.beneficiary}var nr={issuer:r().min(1),subject:r().min(1).max(256),revision:it,linkedAt:U.nullable()},La=t({member:a,capturedAt:U,account:f([t({provider:o("wallet"),id:r().min(5).max(256),revision:it,linkedAt:U.nullable()}),t({provider:o("x"),...nr}),t({provider:o("discord"),...nr}),t({provider:o("member"),id:a}),t({provider:kr,subject:r().min(1).max(256),revision:it,linkedAt:U.nullable()}),t({provider:r().min(1)})])}),Da=t({id:r().min(1).max(256),source:r(),occurredAt:U,observedAt:U,firstSeenAt:U,author:t({id:r().min(1).max(256),verified:m().nullable(),kind:le.optional()}).nullable(),accounts:j(de,qr).optional(),data:j(r(),M()),removed:m()}),Na=t({revision:a,observation:a,body:j(r(),M())}),Cs=t({tracker:a,key:a,beneficiary:de,record:Da,content:Na.optional(),attribution:La,enrolledAt:U.optional()}),Qa={quests:1e3,questTypes:200,collections:1e3},ye={modules:200,size:2e6},Ba=r().regex(/^[0-9a-f]{64}$/),Ha=r().max(200).regex(/^[a-z0-9_][a-z0-9_.-]*(\/[a-z0-9_][a-z0-9_.-]*)*\.js$/i).refine(e=>!e.split("/").some(n=>n==="."||n===".."),"Runtime module paths cannot contain . or .. segments"),zt=t({digest:Ba,sdkVersion:r().min(1).max(64)}).strict(),Ka=j(Ha,r().min(1)).refine(e=>{let n=Object.values(e);return n.length>0&&n.length<=ye.modules&&n.reduce((s,l)=>s+l.length,0)<=ye.size},`A runtime has 1 to ${ye.modules} modules and at most ${ye.size} characters of source`),Es=zt.extend({zodVersion:r().min(1).max(64),modules:Ka}).strict();async function Ts(e){let n=JSON.stringify(Object.entries(e).sort(([l],[d])=>l<d?-1:l>d?1:0)),s=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(n));return[...new Uint8Array(s)].map(l=>l.toString(16).padStart(2,"0")).join("")}var ar=r().regex(/^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,199}$/),bt=g("kind",[Pa,Aa,t({kind:o("once")}).strict(),t({kind:o("keyed")}).strict()]),ir=r().min(1).max(500),Va=t({id:ar,scope:u(["member","project"]),period:G,limit:i().int().positive().max(Number.MAX_SAFE_INTEGER),cost:f([i().int().positive().max(Number.MAX_SAFE_INTEGER),t({balance:ar}).strict()])}).strict(),Wa=u(["discord","x"]),Ga=u(["discord"]),Fa=t({id:r().regex(/^[0-9]{1,20}$/),name:r().min(1),icon:r().nullable()}),$s=t({provider:Ga,configured:m(),status:u(["disconnected","ready","attention"]),revision:i().int().nonnegative(),server:Fa.nullable(),issue:r().nullable(),connectedAt:i().default(0)}),Ja=r().min(32).max(44).regex(/^[1-9A-HJ-NP-Za-km-z]+$/),Ie=u(["solana","eip155","cosmos"]),_r=/^cosmos:[-_a-zA-Z0-9]{1,32}$/,pt=re(e=>typeof e=="string"&&_r.test(e),"Use a Cosmos network: cosmos:<chain ID>"),Ms=r().regex(/^[a-zA-Z][a-zA-Z0-9/:._-]{2,127}$/,"Use a Cosmos bank denomination such as uatom or uosmo");function _s(e){if(typeof e=="string"&&!e.startsWith("cosmos:"))throw new Error('Use a Cosmos network such as "cosmos:cosmoshub-4"');let n=typeof e=="string"?{chainId:e.slice(7)}:e;if(typeof n?.chainId!="string")throw new Error('Pass a Cosmos chain as { chainId } or a network such as "cosmos:cosmoshub-4"');let s=`cosmos:${n.chainId}`;if(!_r.test(s))throw new Error("A Cosmos chain ID has 1 to 32 letters, digits, hyphens or underscores");if(n.chainInfo&&n.chainInfo.chainId!==n.chainId)throw new Error("The chain info describes another chain ID");return{...n,network:s}}var Xa="solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",Ya=r().regex(/^0x[0-9a-fA-F]{40}$/),ei=r().min(8).max(90).regex(/^(?:[a-z][a-z0-9]{0,82}1[02-9ac-hj-np-z]{38,}|[A-Z][A-Z0-9]{0,82}1[02-9AC-HJ-NP-Z]{38,})$/),Us=g("chain",[t({chain:o("solana"),address:Ja}).strict(),t({chain:o("eip155"),address:Ya,chainId:i().int().positive().safe().optional()}).strict(),t({chain:o("cosmos"),network:pt,address:ei}).strict()]),Zs=t({id:r().min(1).max(200),purpose:u(["link","sign-in"]),chain:Ie,network:pt.nullable(),address:r(),message:r().max(4096),expiresAt:i().int()}),Ls=t({challenge:r().min(1).max(200),signature:r().min(1).max(256),publicKey:r().max(128).optional()}).strict(),Ds=t({chain:Ie,network:pt.nullable(),address:r(),verifiedAt:i().int().nonnegative(),revision:i().int().positive(),signIn:m()}),Ns=t({chain:Ie,address:r().min(1).max(100)}).strict();async function Qs(e){let n=await e.address();switch(e.chain){case"solana":return{chain:"solana",address:n};case"eip155":return{chain:"eip155",address:n,...e.chainId?{chainId:await e.chainId()}:{}};case"cosmos":if(!e.network)throw Un("Choose the Cosmos chain for this wallet",$n.InvalidInput);return{chain:"cosmos",network:e.network,address:n}}}var Bs=5,ot=["solana","eip155","cosmos"],ti=u(ot),Hs=c(ti).max(ot.length).refine(e=>new Set(e).size===e.length,{message:"Duplicate wallet family"}).transform(e=>ot.filter(n=>e.includes(n)));function Ks(e){return e.chain}function Vs(e,n){if(e.chain==="cosmos"){if(!e.network||n&&n!==e.network)throw new Error("A Cosmos wallet belongs to its own network");return`${e.network}:${e.address}`}let s=n??(e.chain==="solana"?Xa:"eip155:1");if(!(e.chain==="solana"?/^solana:[1-9A-HJ-NP-Za-km-z]{32}$/.test(s):Ur(s)))throw new Error(`Use a ${e.chain} network for this wallet`);return`${s}:${e.address}`}function Ur(e){return/^eip155:[1-9][0-9]{0,15}$/.test(e)}var Ws=re(e=>typeof e=="string"&&Ur(e),'Use an EVM chain ID such as "eip155:8453"'),Je=r().regex(/^(0|[1-9][0-9]*)$/),Gs=S(t({chain:r(),token:r().nullable(),decimals:i().int().min(0).max(255).nullable(),total:Je,wallets:c(t({address:r(),amount:Je}).strict()),at:t({kind:u(["slot","block"]),number:Je}).strict(),observedAt:i().int().nonnegative()}).strict()),ri=t({required:m().default(!0),minLength:i().int().min(0).max(1e4).default(1),maxLength:i().int().min(1).max(1e4).default(1e4)}).strict().refine(e=>e.minLength<=e.maxLength,"minLength must not exceed maxLength"),ni=r().min(1).max(253).refine(e=>{if(!/^[a-z0-9](?:[a-z0-9.-]*[a-z0-9])?$/i.test(e)||e.includes(".."))return!1;try{let n=new URL(`https://${e}`);return n.hostname===e.toLowerCase()&&!n.port&&!n.username&&!n.password&&n.pathname==="/"&&!n.search&&!n.hash}catch{return!1}},"Use a hostname without a scheme, path, port, or wildcard"),ai=t({required:m().default(!0),allowedHosts:c(ni).min(1).max(100).optional()}).strict(),Zr=t({kind:o("text"),value:r().max(1e4)}).strict(),Lr=t({kind:o("url"),value:r().max(2048)}).strict(),Fs=g("kind",[Zr,Lr]);function Js(e,n){let s=e.kind==="text"?1e4:2048;if(e.value.length>s)return`Enter no more than ${s} characters`;if(e.kind!==n.input)return`This quest requires ${n.input} input`;if(!e.value.trim())return n.constraints.required?"This field is required":null;if(n.input==="text")return e.value.length<n.constraints.minLength?`Enter at least ${n.constraints.minLength} characters`:e.value.length>n.constraints.maxLength?`Enter no more than ${n.constraints.maxLength} characters`:null;let l=Dr(e.value);return l?n.constraints.allowedHosts&&!n.constraints.allowedHosts.some(d=>d.toLowerCase()===l.hostname.toLowerCase())?`Use a URL hosted on: ${n.constraints.allowedHosts.join(", ")}`:null:"Enter a valid HTTP or HTTPS URL without credentials"}function Dr(e){if(e!==e.trim()||/[\\\s]/.test(e)||!/^https?:\/\//i.test(e))return null;try{let n=new URL(e);return["http:","https:"].includes(n.protocol)&&!n.username&&!n.password?n:null}catch{return null}}function Xs(e){let n=Dr(e);return!n||n.port||!["x.com","www.x.com","twitter.com","www.twitter.com","mobile.twitter.com"].includes(n.hostname)?null:/^\/(?:[A-Za-z0-9_]+|i\/web)\/status\/([0-9]{1,20})\/?$/.exec(n.pathname)?.[1]??null}var gt=r().regex(/^[a-zA-Z0-9_-]+$/).max(100),ii=t({id:gt,label:r().trim().min(1).max(500)}).strict(),Nr=t({id:gt,prompt:r().trim().min(1).max(1e3),choices:c(ii).min(2).max(8).refine(e=>new Set(e.map(n=>n.id)).size===e.length,"Choice IDs must be unique")}).strict(),oi=c(Nr).min(1).max(20).refine(e=>new Set(e.map(n=>n.id)).size===e.length,"Question IDs must be unique"),ft=c(Nr.extend({correct:gt}).refine(e=>e.choices.some(n=>n.id===e.correct),"Choose a correct answer from the available choices")).min(1).max(20).refine(e=>new Set(e.map(n=>n.id)).size===e.length,"Question IDs must be unique"),Qr=f([z({provider:o("domino"),resource:o("point-ledger")}),Bn]),Ys=t({source:Qr,query:r().max(100).optional(),cursor:r().regex(/^\d{1,6}$/).optional(),ids:c(r().min(1).max(100)).max(50).optional()}).strict(),ec=t({revision:i().int(),options:c(t({id:r(),label:r(),description:r().optional(),group:r().optional(),disabledReason:r().optional()})),nextCursor:r().nullable().default(null),cursor:r().nullable()}),Br=ze.datetime({offset:!0}).transform(e=>new Date(e).toISOString()),st=f([o(""),r().regex(/^\S{1,200}$/)]),_={label:r().min(1),description:r().optional()},si=g("kind",[t({..._,kind:o("point-ledger"),default:a.or(o(""))}).strict(),t({..._,kind:o("datetime"),default:Br}).strict(),t({..._,kind:o("resource"),default:st,source:Qr}).strict(),t({..._,kind:o("quiz"),default:ft}).strict(),t({..._,kind:o("text"),default:r(),minLength:i().int().nonnegative(),maxLength:i().int().positive(),multiline:m(),picker:r().optional()}).strict(),t({..._,kind:o("integer"),default:i().int(),min:i().int(),max:i().int()}).strict(),t({..._,kind:o("boolean"),default:m()}).strict(),t({..._,kind:o("choice"),default:r(),options:c(r().min(1)).min(1)}).strict()]),ci=j(r().regex(/^[a-zA-Z][a-zA-Z0-9_]*$/),si),V=j(r(),f([r(),i().finite(),m(),ft]));function tc(e,n){let s={};for(let[l,d]of Object.entries(e))switch(d.kind){case"point-ledger":s[l]=st.default(d.default);break;case"datetime":s[l]=Br.default(d.default);break;case"resource":s[l]=st.default(d.default);break;case"quiz":s[l]=ft.default(d.default);break;case"text":s[l]=r().min(d.minLength).max(d.maxLength).default(d.default);break;case"integer":s[l]=i().int().min(d.min).max(d.max).default(d.default);break;case"boolean":s[l]=m().default(d.default);break;case"choice":s[l]=u(d.options).default(d.default);break}return V.parse(t(s).strict().parse(n))}function rc(e,n){return Object.entries(e).filter(([s,l])=>(l.kind==="resource"||l.kind==="point-ledger")&&!n[s]).map(([s])=>s)}function nc(e,n){return e.kind===n.kind||e.kind==="resource"&&e.source.provider==="domino"&&n.kind==="point-ledger"||n.kind==="resource"&&n.source.provider==="domino"&&e.kind==="point-ledger"||e.kind==="text"&&(n.kind==="resource"||n.kind==="datetime"||n.kind==="point-ledger")}var F={key:a};function ac(e){if("id"in e)throw new Error("Authoring definitions use key, not id");return a.parse(e.key)}var W=i().int().safe().nonnegative(),vt=t({from:W,until:W}).strict().refine(e=>e.until>e.from,{message:"Window end must follow its start",path:["until"]}),ke=t({key:a,title:r().trim().min(1).max(120),window:vt.optional(),enrollment:u(["none","required"]).default("none")}).strict(),li=ke.omit({key:!0,title:!0}).extend({...F,title:r().trim().min(1).max(120).optional()}).strict().transform(e=>{let n=e;return ke.parse({...n,title:e.title??n.key})});function ic(e){return li.parse(e)}var di=ke.extend({enrolledAt:W.nullable(),withdrawnAt:W.nullable().default(null),withdrawalReason:r().nullable().default(null)}),Hr=t({actionId:a,campaign:a}).strict(),oc=Hr.extend({member:a}),mi=Hr,sc=mi.extend({member:a,reason:r().trim().min(1).max(500)}),cc=t({campaign:a,member:a,enrolledAt:W,withdrawnAt:W.nullable().default(null),withdrawalReason:r().nullable().default(null)});function ht(e,n){return n}var lc=a.or(o("")).brand();function ui(e){return typeof e=="string"?e:e.key}var or=t({key:a,title:r().trim().min(1).max(120)}).strict(),zi=or.omit({key:!0,title:!0}).extend({...F,title:r().trim().min(1).max(120).optional()}).strict().transform(e=>or.parse({...e,title:e.title??e.key}));function dc(e){return ht("group",zi.parse(e))}function bi(e){return a.parse(e.key)}var Kr=r().trim().min(1).max(120),Vr=r().trim().min(1).max(1e3),ct=i().int().nonnegative().max(864e13),mc=t({actionId:a,key:a,title:Kr}).strict(),uc=t({title:Kr}).strict(),zc=t({actionId:a,member:a,reason:Vr}).strict(),bc=t({actionId:a,reason:Vr}).strict(),pc=z({cursor:k.optional(),limit:i().int().min(1).max(100).optional()}),pi=t({key:a,title:r(),members:i().int().nonnegative(),createdAt:ct,archivedAt:ct.nullable()}),gc=t({items:c(pi),nextCursor:k.nullable()}),gi=t({member:a,addedAt:ct.nullable()}),fc=t({items:c(gi),nextCursor:k.nullable()}),Wr=i().int().safe().nonnegative(),Gr=Wr.positive(),Fr=g("scope",[t({kind:o("completion"),quest:a,scope:o("ever")}).strict(),t({kind:o("completion"),quest:a,scope:o("period"),period:G.exclude(["lifetime"])}).strict()]),Jr=t({kind:o("balance"),balance:a,minimum:Gr}).strict(),Xr=t({kind:o("group"),group:a,title:r()}).strict(),fi=g("kind",[Fr,Jr,Xr]),yt=f([t({kind:o("completion"),quest:a,title:r(),scope:o("ever")}),t({kind:o("completion"),quest:a,title:r(),scope:o("period"),period:G.exclude(["lifetime"]),resetsAt:i().int().safe()}),t({kind:o("balance"),balance:a,title:r(),minimum:Gr,current:Wr}),t({kind:o("group"),group:a,title:r()})]);function vc(e,n={}){let s=e.key;return Fr.parse({kind:"completion",quest:s,scope:n.scope??"ever",..."period"in n?{period:n.period}:{}})}function hc(e,n){return Jr.parse({kind:"balance",balance:ui(e),minimum:n})}function yc(e){return Xr.parse({kind:"group",group:bi(e),title:e.title})}var St=2147483647,me=t({kind:o("points").default("points"),balance:a,amount:i().int().min(0).max(St)}).strict(),jt=t({badge:a.optional(),id:a,title:r().min(1).max(120),tiers:c(t({id:a,title:r().min(1).max(120)}).strict()).min(1).max(20).refine(e=>new Set(e.map(n=>n.id)).size===e.length,"Tier IDs must be unique"),inventory:t({kind:o("untracked")}).strict(),fulfillment:g("kind",[t({kind:o("staff-handover")}).strict(),t({kind:o("automatic")}).strict()])}).strict().refine(e=>e.badge===void 0||e.fulfillment.kind==="automatic"&&e.tiers.length===1&&e.tiers[0].id==="awarded","Badge rewards require the fixed automatic achievement envelope"),Sc=t({id:a,key:a.nullable()}),N=t({kind:o("tier"),reward:jt,tier:a}).strict().refine(e=>e.reward.tiers.some(n=>n.id===e.tier),"Unknown reward tier"),vi=N.transform((e,n)=>{let s=e.reward.badge;return!s||e.reward.fulfillment.kind!=="automatic"||e.reward.tiers.length!==1||e.tier!=="awarded"?(n.addIssue({code:"custom",message:"Invalid badge reward"}),Q):{...e,reward:{...e.reward,badge:s}}});function jc(e,n){return vi.parse({kind:"tier",tier:"awarded",reward:{id:e,badge:e,title:n,tiers:[{id:"awarded",title:"Awarded"}],inventory:{kind:"untracked"},fulfillment:{kind:"automatic"}}})}var hi=Qn,lt=f([me,N,hi]);function kt(e){return e.kind==="tier"&&e.reward.badge?"badge:"+e.reward.badge:e.kind==="integration"?`integration:${e.provider}:${e.action}:${e.roleId}`:e.kind==="points"?"points:"+e.balance:"tier:"+e.reward.id}var Yr=f([t({kind:o("manual"),input:o("text"),constraints:ri,actor:u(["member","staff"]).optional()}).strict(),t({kind:o("manual"),input:o("url"),constraints:ai,actor:u(["member","staff"]).optional()}).strict(),t({kind:o("manual"),input:u(["photo","quiz","none"]),actor:u(["member","staff"]).optional()}).strict(),t({kind:o("automatic"),tracker:Za.optional()}).strict()]),yi=f(Yr.options.map(e=>e.strip())),en=t({kind:u(["pass","fail","unclear"]),reason:r().min(1).max(2e3)}).strict(),kc=t({text:r().min(1).max(16e3).refine(e=>e.trim().length>0,"Text must not be blank"),criteria:r().trim().min(1).max(2e3)}).strict(),xc=en,sr={minRetryAfterMs:1e3,maxRetryAfterMs:36e5,retryAfterMs:6e4,horizonMs:864e5,maxDefers:100},cr={minMs:1e3,maxMs:6048e5},Si=i().int().min(cr.minMs).max(cr.maxMs),xt=t({current:i().finite().nonnegative(),target:i().finite().positive(),reason:r().min(1).max(2e3)}).refine(e=>e.current<=e.target,{message:"Progress current must not exceed target"}),wc=g("kind",[z({kind:o("defer"),reason:r().min(1).max(2e3),retryAfterMs:i().int().min(sr.minRetryAfterMs).max(sr.maxRetryAfterMs).optional(),until:i().int().safe().nonnegative().optional()}),xt.safeExtend({kind:o("progress")}).strict(),t({kind:o("accept"),rewards:c(lt).max(10),completionKey:ir.optional()}).strict(),t({kind:o("reject"),reason:r().min(1).max(2e3),requestedReview:o(!0).optional()}).strict(),t({kind:o("review"),reason:r().min(1).max(2e3),rewards:c(lt).max(10).optional(),completionKey:ir.optional()}).strict()]),ji=u(["workers-ai"]),ki=u(["fixture-pass","fixture-fail","fixture-unclear","fixture-error","workers-ai"]),wt=c(lt).max(10).refine(e=>new Set(e.map(kt)).size===e.length,"Use one entry per balance or shared reward"),se=r().max(2e3).refine(e=>{if(/^\/(?!\/)[^\\\s]*$/.test(e))return!0;try{return new URL(e).protocol==="https:"}catch{return!1}},"Use an HTTPS URL or a same-site path beginning with /"),xi=g("kind",[t({kind:o("link"),url:se.refine(e=>e.startsWith("https://"),"Use an HTTPS URL"),label:r().trim().min(1).max(120)}).strict()]),wi=t({title:r().trim().min(1).max(120),description:r().max(4e3).optional(),action:xi.optional()}).strict(),Ai=g("kind",[t({kind:o("account"),provider:dt}).strict(),t({kind:o("wallet"),chain:Ie.optional()}).strict()]),xe=t({steps:c(wi).max(30).optional(),image:se.optional(),imageAlt:r().max(500).optional(),requirements:c(Ai).max(10).optional()}).strict(),tn=xe.extend({quiz:oi.optional(),instructions:r().max(4e3).optional(),video:t({url:se,poster:se.optional(),captions:t({url:se,language:r().min(2).max(20),label:r().min(1).max(80)}).strict().optional()}).strict().optional()}).strict(),Ii=t({visible:m()}).strict(),Oi=2,qi=o(Oi),rn=t({quest:a,evaluatorProtocol:qi,title:r().min(1).max(120),presentation:tn.default({}),integrations:c(Wa).max(10).default([]),fields:ci,values:V,rewards:wt,humanReview:m(),trigger:Yr,performance:ka.optional(),requires:c(fi).max(30).default([]),campaign:ke.optional(),availability:vt.optional(),completion:pe(Ra,bt),visibility:u(["visible","hidden"]).default("visible"),profile:Ii.default({visible:!1}),budgets:c(Va).max(20).default([]),retryCooldownMs:Si.optional()}).strict(),Ri=t({code:r().min(1).max(1e6)}).strict(),Pi=Ri.extend({runtime:zt.optional(),settings:V,provider:ji,expectedRelease:a.nullable().optional(),settingRenames:j(r(),r()).optional()}).strict(),Ac=t({releases:c(Pi).min(1).max(Qa.quests)}).strict(),Ic=t({quest:a,expectedRelease:a,set:V,reset:c(r()),presentation:xe.nullable().optional()}).strict(),Ci=rn.extend({completion:bt}),Ei=S(Ci.extend({key:a.optional(),code:r(),runtime:zt.optional(),provider:ki,id:a,createdAt:i(),origin:t({typeVersion:a}).strict().optional(),lifecycle:u(["active","paused","archived"]).default("active"),configuration:t({defaults:V,overrides:V,preserved:c(r()),presentation:xe.optional(),presentationDefaults:xe.optional()}).strict().optional()})),Oc=t({code:r(),definition:rn}),Ti=j(a,a).refine(e=>Object.keys(e).length>0&&Object.keys(e).length<=50,"Provide between 1 and 50 answers").transform(e=>Object.fromEntries(Object.entries(e).sort(([n],[s])=>n.localeCompare(s)))),$i=t({kind:o("quiz"),release:a.optional(),answers:Ti}).strict(),Oe=f([$i,Zr,Lr]),qc=t({actionId:a,quest:a,member:a,evidence:a.optional(),input:Oe.optional(),release:a.optional(),faultAfterReview:m().optional()}).strict(),Rc={Queued:"queued",Evaluating:"evaluating",Deferred:"deferred",Accepted:"accepted",Progressed:"progressed",Rejected:"rejected",NeedsReview:"needs-review",Failed:"failed"},Mi=r(),qe=t({id:a,release:a,quest:a,member:a,evidence:a.nullable(),input:Oe.optional(),status:Mi,reason:r().nullable(),retries:i(),generation:i(),completion:r().nullable(),reviewRewards:wt.nullable().default(null),evaluationRun:i().int().nonnegative().default(0),deferCount:i().int().nonnegative().default(0),deferUntil:i().int().safe().nullable().default(null),nextEvaluationAt:i().int().safe().nullable().default(null),code:r().nullable().default(null),progress:xt.nullable().default(null),requestedReview:m().default(!1),createdAt:i()}),Pc={Open:"open",Submitted:"submitted",Discarded:"discarded",Expired:"expired"},_i=r(),Ui=S(t({id:a,quest:a,member:a,release:a.nullable(),input:Oe.nullable(),evidence:a.nullable(),reviewRequired:m(),status:_i,attempt:a.nullable(),createdAt:i(),updatedAt:i(),expiresAt:i()})),Cc=t({release:a.nullable().optional(),input:Oe.nullable().optional(),evidence:a.nullable().optional()}).strict(),Ec=S(t({submission:Ui,attempt:qe,replayed:m()})),Zi=t({id:i(),attempt:r().nullable(),kind:r(),detail:r(),actor:r().nullable().default(null),at:i()}),Li=t({item:a,revision:i().int().nonnegative()}).strict(),ce=t({item:a,label:r().min(1).max(80)}).strict(),Di=g("kind",[t({kind:o("untracked")}).strict(),t({kind:o("at-pickup"),tiers:c(t({tier:a,variants:c(ce).min(1).max(100)}).strict()).min(1).max(100)}).strict()]),Tc=t({reward:jt,revision:i().int().nonnegative(),policy:Di}),$c=g("kind",[t({kind:o("untracked")}).strict(),t({kind:o("at-pickup"),revision:i().int().nonnegative(),variants:c(ce.extend({available:i().int().nonnegative()}))}).strict()]),Mc=t({reward:a,revision:i().int().nonnegative(),actionId:a,policy:g("kind",[t({kind:o("untracked")}).strict(),t({kind:o("at-pickup"),tiers:c(t({tier:a,variants:c(ce.extend({item:a.optional()})).min(1).max(100)}).strict()).min(1).max(100)}).strict()])}).strict(),nn=t({completion:a,reason:r(),flaggedAt:i(),remainingTier:a.nullable()}),Se={id:a,member:a,reward:jt,earnedTier:a,tier:a,revision:i().int().positive()},_c=g("status",[t({...Se,status:o("available")}).strict(),t({...Se,status:o("handing-over"),handover:a,startedAt:i(),allocation:ce.optional()}).strict(),t({...Se,status:o("collected"),handover:a,startedAt:i(),allocation:ce.optional(),collectedAt:i(),recovery:nn.optional()}).strict(),t({...Se,status:o("void"),voidedAt:i()}).strict()]),Ni=t({id:a,title:r(),tiers:c(t({id:a,title:r()}).loose()),inventory:t({kind:r()}).loose(),fulfillment:t({kind:r()}).loose()}).loose(),ae={id:a,member:a,reward:Ni,earnedTier:a,tier:a,revision:i().int()},lr=t({item:a,label:r()}).loose(),an=f([g("status",[t({...ae,status:o("available")}).loose(),t({...ae,status:o("handing-over"),handover:a,startedAt:i(),allocation:lr.optional()}).loose(),t({...ae,status:o("collected"),handover:a,startedAt:i(),allocation:lr.optional(),collectedAt:i(),recovery:nn.optional()}).loose(),t({...ae,status:o("void"),voidedAt:i()}).loose()]),t({...ae,status:r()}).loose().transform(({status:e,...n})=>({...n,status:"unsupported",reportedStatus:e}))]),Uc=t({actionId:a,revision:i().int().positive(),selection:Li.optional()}).strict(),Zc=t({actionId:a,handover:a}).strict(),Lc=t({actionId:a,revision:i().int().positive(),reason:r().trim().min(1).max(500)}).strict(),Dc={Quest:"quest",Leaderboard:"leaderboard"},Qi=r().min(1).max(64),Bi=t({kind:Qi,id:a}),Hi=t({key:r().default("once"),id:a,quest:a,member:a,source:Bi.optional()}),Ki=g("kind",[t({kind:o("available"),input:u(["photo","quiz","none","text","url"])}).strict(),t({kind:o("completed")}).strict(),t({kind:o("locked"),missing:c(yt).min(1)}).strict(),t({kind:o("blocked"),reason:u(["budget-exhausted","connection-required","wallet-required","paused","outside-window","enrollment-required"]),window:u(["tracker","quest"]).optional(),resetsAt:i().int().safe().optional()}).strict(),t({kind:o("staff-required")}).strict(),t({kind:o("automatic")}).strict(),t({kind:o("checking"),attempt:a}).strict(),t({kind:o("needs-review"),attempt:a}).strict(),t({kind:o("retryable"),attempt:a}).strict()]),Vi=f(Ki.options.map(e=>e.strip())),Wi=t({id:a,scope:u(["member","project"]),period:u(["day","week","month","lifetime"]),remaining:i().int().safe().nonnegative(),resetsAt:i().int().safe().nullable()}),Nc=S(t({member:a,quests:c(t({quest:a,key:a.optional(),release:a.optional(),title:r(),presentation:tn.default({}),connections:c(dt).default([]),trigger:yi,availability:Vi,completed:m(),completion:bt.default({kind:"once"}),streak:Ca.nullable().optional(),counter:Ia.nullable().optional(),progress:xt.nullable().default(null),completionCount:i().int().nonnegative().default(0),visibility:u(["visible","hidden"]).default("visible"),missing:c(yt),campaign:di.nullable().default(null),window:vt.nullable().default(null),budgets:c(Wi).default([]),retryAt:i().int().safe().optional(),attempt:qe.nullable()})),entitlements:c(an)})),Qc=S(t({releases:c(Ei),completions:c(Hi),entitlements:c(an),attempts:c(qe),balances:c(t({member:r(),balance:r(),earned:i(),held:i(),available:i()})),events:c(Zi)})),Bc=t({id:a,member:a,type:u(["image/jpeg","image/png"]),size:i()}),Hc=t({error:r(),code:r().optional(),window:u(["tracker","quest"]).optional(),missing:c(yt).optional(),retryAt:i().int().safe().optional()}),Kc=t({actionId:a,generation:i().int().nonnegative(),decision:u(["accept","reject"]),reason:r().trim().min(1).max(2e3)}).strict(),Vc=t({item:a,quantity:i().int().min(0).max(1e4)}).strict(),Wc=t({actionId:a,member:a,item:a,balance:a,price:i().int().positive().max(1e4)}).strict(),on={limit:i().int().min(1).max(100).default(25),cursor:r().min(1).max(4096).optional()},Gc=t({...on,member:a.optional(),quest:a.optional()}).strict(),Fc=t({...on,prefix:a.optional()}).strict(),Gi=t({attempt:qe,title:r(),checks:c(t({criteria:r(),result:en}))}),Jc=t({items:c(Gi).max(100),nextCursor:r().nullable()}),Xc=t({items:c(t({member:a})).max(100),nextCursor:r().nullable()}),Yc=t({actionId:a,name:r().trim().min(1).max(80)}).strict(),el=t({id:a,name:r()}),tl=z({contentAttempt:a,observation:a,observedAt:i().int().safe().nonnegative(),metrics:Z,rewards:wt}),rl=ja.extend({content:r().min(1).max(256)}),nl=z({current:z({state:u(["content-pending","content-unqualified","waiting","pending","qualified","unqualified","needs-review","failed","superseded"]),reason:r().nullable(),contentAttempt:a,attempt:a.nullable(),reward:Cr.shape.reward}),items:c(z({attempt:a,contentAttempt:a,observation:a,observedAt:i(),metrics:Z,state:u(["pending","qualified","unqualified","needs-review","failed","superseded"]),reason:r().nullable()})),nextCursor:k.nullable()});var dn=t({name:r().trim().min(1).max(120),description:r().trim().max(1e3).default(""),image:r().url().max(2048)}).strict(),mn=dn.extend({key:a}).strict(),un=dn.extend({id:a,key:a.nullable()}).strip(),ll=un.extend({archivedAt:i().int().nonnegative().nullable()}),dl=mn.extend({actionId:a}).strict(),ml=f([mn,t({code:r().min(1).max(2e6)}).strict()]),Fi=t({badge:un,awardedAt:i().int().nonnegative()}),ul=t({items:c(Fi)}),zl=t({actionId:a,reason:r().trim().min(1).max(1e3)}).strict(),bl=t({badge:a,member:a,awarded:m(),changed:m()}),Rt=t({name:r().trim().min(1).max(120),description:r().trim().max(1e3).default("")}).strict(),pl=Rt.extend({actionId:a,key:a.optional()}).strict(),Ji=Rt.extend({id:a}),gl=Ji.extend({archivedAt:i().int().nonnegative().nullable()}),Xi=Rt.extend({key:a}).strict(),fl=f([Xi,t({code:r().min(1).max(2e6)}).strict()]),Yi=t({id:a,key:a.nullable(),name:r()}),Ce=i().int().safe(),eo=t({ledger:Yi,balance:Ce,available:Ce}),vl=t({items:c(eo)}),hl={Award:"award",Spend:"spend",Adjust:"adjust",Reverse:"reverse"},to=r().min(1).max(64),zn=t({id:a,amount:Ce,kind:to,at:Ce.nonnegative(),quest:a.nullable(),reverses:a.nullable(),imported:m().optional()}),yl=z({ledger:a,cursor:k.optional()}),Sl=t({items:c(zn),nextCursor:k.nullable()}),w=i().int().safe().nonnegative(),bn=z({scope:u(["member","project"]),period:G,limit:w}),Pt=z({key:a,qualifiedBy:a,balance:a,metrics:c(Ae).min(1).max(10).refine(e=>new Set(e).size===e.length,"Metrics must be unique"),baseline:o("historical"),maxAgeMs:i().int().positive().max(864e5).default(36e5),budgets:c(bn).max(8).default([]).refine(e=>new Set(e.map(n=>n.scope+":"+n.period)).size===e.length,"Give each scope and period one budget")}),jl=z({metrics:Z,baseline:Z}),kl=z({target:w,baseline:w}),pn=z({actionId:a,code:r().min(1).max(1e6)}),ue=z({version:a,definition:Pt,publishedAt:w}),xl=z({rule:a,content:r().min(1).max(256),member:a.optional(),cursor:k.optional()}),gn=z({id:a,day:r(),observation:a,qualification:a,earned:w,growth:w,paid:w,excluded:w,entry:a.nullable(),createdAt:w}),wl=z({rule:ue,account:z({member:a,earned:w,accounted:w,paid:w,excluded:w,pending:w,counters:Z,baseline:Z,observation:a.nullable(),nextSettlementAt:w.nullable(),reason:r().nullable()}).nullable(),items:c(gn),nextCursor:k.nullable()}),Al=z({code:r().min(1).max(1e6)}),Il=pn.extend({expectedVersion:a,previewHash:a}),Re=r().regex(/^(0|[1-9][0-9]*)$/),ro=z({rule:a,fromVersion:a,toVersion:a,previewHash:a,definition:Pt,boundary:o("available-eligible-observation"),settlement:o("deferred"),summary:z({knownAdmissions:w,accounts:w,uninitialized:w,pendingTransitions:w,earned:Re,paid:Re,excluded:Re,pending:Re})}),no=ue.extend({previousVersion:a.nullable()}),Ol=t({items:c(t({version:a,definition:t({...Pt.shape,budgets:c(t(bn.shape)).max(8).default([])}),publishedAt:w,previousVersion:a.nullable()})),nextCursor:k.nullable()}),ql=z({items:c(no),next:w.nullable()}),Rl=z({rule:a,before:A.number().int().positive().safe().optional()}),Pl=z({current:ue.nullable(),requested:ue,items:c(z({from:a,to:a,baseline:Z,observedAt:w,settlement:gn})),nextCursor:k.nullable()}),ao=pn.omit({actionId:!0}),At=ao.extend({rule:ue}),Cl=g("kind",[At.extend({kind:o("create")}),At.extend({kind:o("unchanged")}),At.extend({kind:o("change"),change:ro})]),T=i().int().nonnegative().safe(),fn=u(["private","participants","public"]),Ee=u(["x","discord","google"]),sn=u(["x","discord"]),io=c(sn).max(sn.options.length).refine(e=>new Set(e).size===e.length,"List each provider once"),It=r().min(1).max(100),oo=g("source",[t({source:o("upload"),url:r().url(),seed:It}),t({source:o("account"),provider:Ee,url:r().url(),seed:It}),t({source:o("generated"),seed:It})]),vn=t({id:a,name:r(),avatar:oo}),so=/[\p{Cc}؜᠎​-‏‪-‮⁠-⁤⁦-⁩]/u,co=r().max(200).transform(e=>e.normalize("NFC").replace(/\s+/g," ").trim()).pipe(r().min(1,"Enter a name").max(40,"Use at most 40 characters").refine(e=>!so.test(e),"Use visible characters only")),El=t({displayName:co.nullable().optional(),avatar:g("source",[t({source:o("account"),provider:Ee}).strict(),t({source:o("generated")}).strict()]).nullable().optional(),hidden:m().optional()}).strict().refine(e=>Object.values(e).some(n=>n!==void 0),"Change at least one field"),lo=vn.extend({displayName:r().nullable(),avatarChoice:u(["default","upload","account","generated"]),avatarProvider:Ee.nullable(),hidden:m(),locked:m(),visibility:fn,options:c(t({provider:Ee,name:r().nullable(),imageUrl:r().url().nullable()}))}),hn=r().min(1).max(512),Tl=t({limit:A.number().int().min(1).max(100).default(20),cursor:hn.optional()}).strict(),mo=t({quest:a,key:a.optional(),title:r(),completions:T.positive(),lastCompletedAt:T.nullable()}),$l=t({items:c(mo),nextCursor:hn.nullable()}),Ml=t({program:a,key:a.optional(),title:r(),invited:T,qualified:T,milestones:c(t({id:a,count:T,reached:m()}))}),uo=t({visibility:fn,defaults:io,revision:T,actor:r().nullable(),updatedAt:T.nullable()}),_l=uo.omit({revision:!0,actor:!0,updatedAt:!0}).extend({actionId:a,expectedRevision:T,reason:r().trim().min(1).max(500)}).strict(),Ul=t({actionId:a,resetName:m().default(!1),removeAvatar:m().default(!1),lock:m().optional(),reason:r().trim().min(1).max(1e3)}).strict().refine(e=>e.resetName||e.removeAvatar||e.lock!==void 0,"Choose an action"),Zl=lo.omit({options:!0}).extend({member:a,lockedAt:T.nullable(),lockedBy:r().nullable(),lockedReason:r().nullable(),updatedAt:T}),Ll=5*1024*1024,Dl=["image/jpeg","image/png","image/webp"],y=i().int().safe(),O=y.nonnegative().max(864e13),yn=g("kind",[t({kind:o("all-time")}).strict(),t({kind:o("fixed"),start:O,end:O}).strict().refine(e=>e.end>e.start,"Window end must follow its start"),t({kind:o("rolling"),days:y.min(1).max(3660)}).strict(),t({kind:o("calendar"),period:G.exclude(["lifetime"])})]),zo={window:yn.default({kind:"all-time"}),quests:c(a).min(1).max(100).optional()},Sn=g("kind",[t({kind:o("balance")}).strict(),t({kind:o("earned"),...zo}).strict(),t({kind:o("net"),window:yn.default({kind:"all-time"})}).strict()]).default({kind:"balance"}),bo=f([me,N]),jn=t({ranks:Nt([y.positive(),y.positive()]).refine(([e,n])=>n>=e,{message:"Prize rank range must end at or after it starts"}),rewards:c(bo).min(1).max(20)}).strict(),po=t({at:o("window-end"),ties:u(["shared","earliest"]),prizes:c(jn).min(1).max(50)}).strict().superRefine((e,n)=>{for(let[s,l]of e.prizes.entries()){let d=l.rewards.map(kt);new Set(d).size!==d.length&&n.addIssue({code:"custom",message:"A prize may grant each point ledger or tiered reward only once",path:["prizes",s,"rewards"]})}for(let s=1;s<e.prizes.length;s++){let l=e.prizes[s-1];e.prizes[s].ranks[0]<=l.ranks[1]&&n.addIssue({code:"custom",message:"Prize rank ranges must be ordered and must not overlap",path:["prizes",s,"ranks"]})}}),kn=t({id:a,key:a.optional(),title:r().trim().min(1).max(120),balance:a,score:Sn,access:u(["participants","public"]).default("participants"),group:a.optional(),includeUnscored:m().optional(),settle:po.optional()}).strict(),xn=(e,n)=>{e.settle&&(e.score.kind==="balance"||!["fixed","calendar"].includes(e.score.window.kind))&&n.addIssue({code:"custom",message:"Leaderboard prizes require an earned or net score with a fixed or calendar window",path:["settle"]})},go=kn.superRefine(xn),fo=S(go),vo=kn.omit({id:!0}).extend({...F,score:pe(Mr,Sn),group:a.optional()}).strict().superRefine(xn),Nl=f([vo,t({code:r().min(1).max(2e6)}).strict()]),ho=t({archivedAt:i().int().nonnegative().nullable().optional(),version:a,definition:fo,publishedAt:O,actor:r().nullable()}),Ql=t({limit:A.number().int().min(1).max(100).default(25),cursor:r().max(4096).optional()}).strict(),Ot=t({participant:a,member:a.optional(),name:r(),score:y,rank:y.positive(),profile:vn.nullable()}),cn=t({leaderboard:a,title:r(),version:a,calculation:u(["balance","earned","net"]),period:t({start:O.nullable(),end:O.nullable()}),calculatedAt:O,lastEntryAt:O.nullable(),total:y.nonnegative(),items:c(Ot),me:Ot.nullable(),nearby:c(Ot),nextCursor:r().nullable()}),Bl=t({leaderboard:a,key:a.optional(),title:r(),profile:a,rank:y.positive().nullable(),score:y.nullable(),total:y.nonnegative()}),Hl=z({board:a,cursor:k.optional()}),Kl=t({leaderboard:a,period:t({start:O.nullable(),end:O.nullable()}),items:c(zn),nextCursor:k.nullable()}),Vl=t({published:ho,before:cn.nullable(),after:cn}),wn={actionId:a,member:a,balance:a,reason:r().trim().min(1).max(1e3)},Pe={...wn,effectiveAt:O.optional()},Wl=g("kind",[t({...Pe,kind:o("award"),referralEligible:m().optional(),amount:y.positive()}).strict(),t({...Pe,kind:o("spend"),amount:y.positive()}).strict(),t({...Pe,kind:o("adjust"),amount:y.refine(e=>e!==0)}).strict(),t({...Pe,kind:o("set"),total:y.nonnegative(),expectedTotal:y.nonnegative(),classification:u(["earned","spend"])}).strict(),t({...wn,kind:o("reverse"),entry:a,amount:y.positive()}).strict()]),An=t({id:a,completion:r().nullable(),member:a,balance:a,amount:y,kind:u(["award","spend","adjust","reverse"]),effectiveAt:O,receivedAt:O,quest:a.nullable(),original:a.nullable(),reason:r(),actor:r().nullable(),import:a.nullable().optional()}),Gl=t({items:c(An),nextCursor:k.nullable(),next:i().nullable()}),Fl=t({entry:An,total:y.nonnegative()}),Jl=t({member:a,balance:a,total:y.nonnegative(),held:y.nonnegative()}),Xl=t({actionId:a,member:a,excluded:m(),reason:r().trim().min(1).max(1e3)}).strict(),Yl=t({leaderboard:a,group:a,generated:m(),boundAt:O.nullable()}),ed=t({actionId:a,group:a,reason:r().trim().min(1).max(1e3)}).strict(),td=t({actionId:a,member:a,included:m(),reason:r().trim().min(1).max(1e3)}).strict(),yo=u(["pending","approved"]),So=t({id:a,leaderboard:a,version:a,title:r(),period:t({start:O,end:O}),ties:u(["shared","earliest"]),status:yo,total:y.nonnegative(),winners:y.nonnegative(),createdAt:O,approvedAt:O.nullable(),approvedBy:r().nullable(),approvalReason:r().nullable()}),jo=t({member:a,score:y,rank:y.positive(),position:y.positive(),scoredAt:O,prizes:c(y.nonnegative()),completion:a.nullable(),revokedAt:O.nullable()}),rd=So.extend({prizes:c(jn),excluded:c(a),rows:c(jo)}),nd=t({actionId:a,reason:r().trim().min(1).max(500)}).strict(),qt=f([me,N]),q=i().int().safe().nonnegative(),J=r().trim().min(1).max(1e3),Ct=t({id:a,key:a.optional(),title:r().trim().min(1).max(120),enabled:m().default(!0),qualification:g("kind",[t({kind:o("signup")}).strict(),t({kind:o("quest"),quest:a}).strict(),t({kind:o("external")}).strict()]),inviterGroup:a.optional(),rewards:t({inviter:c(qt).max(10).default([]),invitee:c(qt).max(10).default([])}).strict().default({inviter:[],invitee:[]}),milestones:c(t({id:a,count:q.min(1),rewards:c(qt).min(1).max(10)}).strict()).max(30).default([]),bonuses:c(t({id:a,balance:a,basisPoints:q.min(1).max(1e4),quests:c(a).min(1).max(100).optional(),external:m().default(!1),durationDays:q.min(1).max(36500).optional(),maxPoints:q.min(1).optional()}).strict()).max(20).default([])}).strict().superRefine((e,n)=>{for(let s of[e.milestones,e.bonuses])new Set(s.map(l=>l.id)).size!==s.length&&n.addIssue({code:"custom",message:"Rule IDs must be unique"})}),ko=t(Ct.shape).omit({id:!0}).extend({...F,inviterGroup:a.optional()}).strict().superRefine((e,n)=>{for(let s of[e.milestones,e.bonuses])new Set(s.map(l=>l.id)).size!==s.length&&n.addIssue({code:"custom",message:"Rule keys must be unique"})}),ad=f([ko,t({code:r().min(1).max(2e6)}).strict()]),id=t({archivedAt:i().int().nonnegative().nullable().optional(),version:a,definition:Ct,publishedAt:q,actor:r().nullable()}),od=t({actionId:a,code:a}).strict(),sd=t({actionId:a,suspended:m(),reason:J}).strict(),cd=t({actionId:a,qualified:m(),reason:J}).strict(),ld=t({actionId:a,reason:J}).strict(),dd=g("kind",[t({kind:o("suspend"),actionId:a,member:a,suspended:m(),reason:J}).strict(),t({kind:o("qualify"),actionId:a,member:a,program:a,qualified:m(),reason:J}).strict(),t({kind:o("resolve-reward"),actionId:a,entitlement:a,reason:J}).strict()]),xo=t({member:a,inviter:a,acceptedAt:q,suspended:m()}),In=t({id:a,program:a,kind:u(["bonus","fixed","milestone"]),balance:a,earned:q,settled:q,outstanding:q}),md=t({code:a,attributed:q,programs:c(t({definition:Ct,qualified:q,milestones:c(t({id:a,count:q,reached:m()}))})),accounts:c(In)}),ud=t({items:c(t({id:q,program:a,balance:a,amount:i().int().safe(),at:q,reason:r()})),nextCursor:k.nullable()}),zd=t({relationships:c(xo),qualifications:c(t({member:a,program:a,qualified:m(),qualifiedAt:q})),accounts:c(In.extend({member:a,invitee:r()})),reviews:c(t({entitlement:a,member:a,program:a,reason:r()})),nextCursor:k.nullable().default(null),next:q.nullable()}),Te=i().int().safe().nonnegative(),On=me.extend({amount:i().int().positive().max(St)}),wo=t({perMember:i().int().positive().max(1e4)}).strict(),qn=t({id:a,key:a.optional(),title:r().trim().min(1).max(120),price:On,reward:N,stock:Te.max(1e6),limit:wo.default({perMember:1}),enabled:m().default(!0)}).strict(),Rn=qn.omit({id:!0,title:!0,enabled:!0}).extend({...F,title:r().trim().min(1).max(120).optional()}).strict().transform(e=>({...e,title:e.title??e.reward.reward.title,enabled:!0})),bd=f([Rn,t({code:r().min(1).max(2e6)}).strict()]),Ao=S(g("kind",[t({kind:o("available"),remaining:Te}).strict(),t({kind:o("out-of-stock")}).strict(),t({kind:o("limit-reached")}).strict(),t({kind:o("paused")}).strict()])),pd=S(qn.extend({revision:i().int().positive(),available:Te,redeemed:Te,availability:Ao})),gd=t({actionId:a}).strict(),ln={id:a,offer:a,member:a,reservation:a,price:On,reward:N,entitlement:a,revision:i().int().positive(),redeemedAt:i().int().safe().nonnegative()},Io=S(g("status",[t({...ln,status:o("fulfilled")}).strict(),t({...ln,status:o("canceled"),canceledAt:i().int().safe().nonnegative(),reason:r().min(1).max(500)}).strict()])),fd=z({member:a.optional(),cursor:k.optional(),limit:A.number().int().min(1).max(100).optional()}),vd=t({items:c(Io),nextCursor:k.nullable()}),hd=t({actionId:a,revision:i().int().positive(),enabled:m(),reason:r().trim().min(1).max(500)}).strict(),yd=t({actionId:a,revision:i().int().positive(),reason:r().trim().min(1).max(500)}).strict();function Sd(e){return ht("offer",Rn.parse(e))}var xd=t({login:m(),miniApp:m()}),wd=ur.extend({provider:o("telegram")}),Oo=r().min(1,"Pass the Mini App's Telegram.WebApp.initData").max(8192),Ad=t({initData:Oo,mode:u(["sign-in","connect"])}).strict(),qo=r().regex(/^-?[1-9][0-9]{0,19}$/,"Use the chat's numeric ID, such as -1001234567890"),Ro=t({id:qo,type:r(),title:r(),username:r().nullable(),status:r(),issue:r().nullable(),connectedAt:i()}),Id=t({configured:m(),bot:t({username:r()}).nullable(),chats:c(Ro)}),Od=t({url:r(),expiresAt:i()}),qd=t({chat:r().regex(/^(-?[1-9][0-9]{0,19}|@[A-Za-z][A-Za-z0-9_]{3,31})$/,"Name a chat the project connected, by its numeric ID or @username")}).strict(),Rd=t({userId:r(),username:r().nullable(),status:re(e=>typeof e=="string"),isMember:m(),isAdmin:m(),untilDate:i().nullable()}),Pd="telegram-reactions",Cd=t({chatId:r(),chatType:r(),messageId:i(),reactionType:r(),emoji:r().nullable(),customEmojiId:r().nullable(),reactorStatus:r(),reactorIsAdmin:m()});export{Pn as a,Po as b,Co as c,a as d,dr as e,To as f,S as g,Ln as h,Dn as i,$o as j,k,Mo as l,_o as m,Uo as n,dt as o,ur as p,Zo as q,Lo as r,Do as s,No as t,zr as u,br as v,Nn as w,Qo as x,Bo as y,Qn as z,Bn as A,Vn as B,ne as C,gr as D,Ho as E,na as F,Ko as G,Vo as H,oa as I,sa as J,ca as K,Wo as L,jr as M,Go as N,la as O,kr as P,mt as Q,Fo as R,le as S,Jo as T,de as U,Xo as V,xr as W,da as X,ma as Y,we as Z,wr as _,ua as $,za as aa,Yo as ba,es as ca,D as da,ts as ea,ba as fa,pa as ga,ga as ha,fa as ia,Ir as ja,Or as ka,rs as la,ns as ma,as as na,va as oa,ha as pa,qr as qa,ya as ra,is as sa,os as ta,ss as ua,Rr as va,cs as wa,ls as xa,ds as ya,ms as za,us as Aa,zs as Ba,bs as Ca,ps as Da,Sa as Ea,gs as Fa,fs as Ga,vs as Ha,ja as Ia,Cr as Ja,hs as Ka,Ae as La,Z as Ma,ka as Na,xa as Oa,wa as Pa,Aa as Qa,Er as Ra,Ia as Sa,Oa as Ta,ys as Ua,Ss as Va,js as Wa,ks as Xa,qa as Ya,Tr as Za,oe as _a,Ra as $a,Mr as ab,G as bb,xs as cb,ws as db,As as eb,Pa as fb,Ca as gb,Ea as hb,Is as ib,he as jb,rr as kb,Ta as lb,$a as mb,Os as nb,Ma as ob,_a as pb,Ua as qb,Za as rb,qs as sb,Rs as tb,Ps as ub,La as vb,Da as wb,Na as xb,Cs as yb,Qa as zb,ye as Ab,Ha as Bb,zt as Cb,Ka as Db,Es as Eb,Ts as Fb,bt as Gb,ir as Hb,Va as Ib,Wa as Jb,Ga as Kb,Fa as Lb,$s as Mb,Ja as Nb,Ie as Ob,pt as Pb,Ms as Qb,_s as Rb,Xa as Sb,Ya as Tb,ei as Ub,Us as Vb,Zs as Wb,Ls as Xb,Ds as Yb,Ns as Zb,Qs as _b,Bs as $b,ot as ac,ti as bc,Hs as cc,Ks as dc,Vs as ec,Ur as fc,Ws as gc,Gs as hc,ri as ic,ai as jc,Zr as kc,Lr as lc,Fs as mc,Js as nc,Xs as oc,ii as pc,Nr as qc,oi as rc,ft as sc,Qr as tc,Ys as uc,ec as vc,Br as wc,st as xc,si as yc,ci as zc,V as Ac,tc as Bc,rc as Cc,nc as Dc,F as Ec,ac as Fc,vt as Gc,ke as Hc,ic as Ic,di as Jc,Hr as Kc,oc as Lc,mi as Mc,sc as Nc,cc as Oc,ht as Pc,lc as Qc,ui as Rc,or as Sc,dc as Tc,bi as Uc,mc as Vc,uc as Wc,zc as Xc,bc as Yc,pc as Zc,pi as _c,gc as $c,gi as ad,fc as bd,Fr as cd,Jr as dd,Xr as ed,fi as fd,yt as gd,vc as hd,hc as id,yc as jd,me as kd,jt as ld,Sc as md,N as nd,vi as od,jc as pd,hi as qd,lt as rd,kt as sd,Yr as td,en as ud,kc as vd,xc as wd,sr as xd,cr as yd,Si as zd,xt as Ad,wc as Bd,ji as Cd,ki as Dd,wt as Ed,se as Fd,xi as Gd,wi as Hd,Ai as Id,xe as Jd,tn as Kd,Ii as Ld,Oi as Md,qi as Nd,rn as Od,Ri as Pd,Pi as Qd,Ac as Rd,Ic as Sd,Ci as Td,Ei as Ud,Oc as Vd,Ti as Wd,$i as Xd,Oe as Yd,qc as Zd,Rc as _d,qe as $d,Pc as ae,Ui as be,Cc as ce,Ec as de,Zi as ee,Li as fe,ce as ge,Di as he,Tc as ie,$c as je,Mc as ke,nn as le,_c as me,an as ne,Uc as oe,Zc as pe,Lc as qe,Dc as re,Bi as se,Hi as te,Ki as ue,Wi as ve,Nc as we,Qc as xe,Bc as ye,Hc as ze,Kc as Ae,Vc as Be,Wc as Ce,Gc as De,Fc as Ee,Gi as Fe,Jc as Ge,Xc as He,Yc as Ie,el as Je,tl as Ke,rl as Le,nl as Me,dn as Ne,mn as Oe,un as Pe,ll as Qe,dl as Re,ml as Se,Fi as Te,ul as Ue,zl as Ve,bl as We,Rt as Xe,pl as Ye,Ji as Ze,gl as _e,Xi as $e,fl as af,Yi as bf,eo as cf,vl as df,hl as ef,zn as ff,yl as gf,Sl as hf,bn as if,Pt as jf,jl as kf,kl as lf,pn as mf,ue as nf,xl as of,gn as pf,wl as qf,Al as rf,Il as sf,ro as tf,Ol as uf,ql as vf,Rl as wf,Pl as xf,ao as yf,Cl as zf,fn as Af,Ee as Bf,sn as Cf,io as Df,It as Ef,oo as Ff,vn as Gf,co as Hf,El as If,lo as Jf,Tl as Kf,mo as Lf,$l as Mf,Ml as Nf,uo as Of,_l as Pf,Ul as Qf,Zl as Rf,Ll as Sf,Dl as Tf,yn as Uf,bo as Vf,jn as Wf,po as Xf,go as Yf,fo as Zf,vo as _f,Nl as $f,ho as ag,Ql as bg,Ot as cg,cn as dg,Bl as eg,Hl as fg,Kl as gg,Vl as hg,Wl as ig,An as jg,Gl as kg,Fl as lg,Jl as mg,Xl as ng,Yl as og,ed as pg,td as qg,yo as rg,So as sg,jo as tg,rd as ug,nd as vg,Ct as wg,ko as xg,ad as yg,id as zg,od as Ag,sd as Bg,cd as Cg,ld as Dg,dd as Eg,xo as Fg,In as Gg,md as Hg,ud as Ig,zd as Jg,On as Kg,wo as Lg,qn as Mg,Rn as Ng,bd as Og,Ao as Pg,pd as Qg,gd as Rg,Io as Sg,fd as Tg,vd as Ug,hd as Vg,yd as Wg,Sd as Xg,xd as Yg,wd as Zg,Oo as _g,Ad as $g,qo as ah,Ro as bh,Id as ch,Od as dh,qd as eh,Rd as fh,Pd as gh,Cd as hh};