schemas/libraries/sury/download_compiled/compile/minified.js
function e(e){return e===void 0?{BS_PRIVATE_NESTED_SOME_NONE:0}:e!==null&&e.BS_PRIVATE_NESTED_SOME_NONE!==void 0?{BS_PRIVATE_NESTED_SOME_NONE:e.BS_PRIVATE_NESTED_SOME_NONE+1|0}:e}function t(e){if(e===null||e.BS_PRIVATE_NESTED_SOME_NONE===void 0)return e;let t=e.BS_PRIVATE_NESTED_SOME_NONE;if(t!==0)return{BS_PRIVATE_NESTED_SOME_NONE:t-1|0}}function n(e){return Array.isArray(e)?{TAG:`Array`,_0:e}:{TAG:`Single`,_0:e}}let r={classify:n},i={};function a(e){let t=i[e];if(t!==void 0){let n=t+1|0;return i[e]=n,e+(`/`+n)}return i[e]=1,e}let o={},s=[];function c(e){return e.slice(0,1).toUpperCase()+e.slice(1)}let l=(e=>({...e}));function u(e){let t=0;for(;;){let n=t,r=e[n];if(r===void 0)return`"`+e+`"`;switch(r){case`"`:case` `:return JSON.stringify(e);default:t=n+1|0;continue}}}function d(e){return e===``?[]:JSON.parse(e.split(`"]["`).join(`","`))}let f=`sury`,p=Symbol(f),m=Symbol(f+`:item`),h=a(`Sury.Error`),g=`const`;function _(e){switch(e.type){case`undefined`:return!0;case`union`:return`undefined`in e.has;default:return!1}}function v(e,t){return(e&t)!==0}let y={unknown:1,string:2,number:4,boolean:8,undefined:16,null:32,object:64,array:128,union:256,ref:512,bigint:1024,nan:2048,function:4096,instance:8192,never:16384,symbol:32768};function b(e){let t=y[typeof e];if(t&16)return`undefined`;if(!(t&64))return t&2?`"`+e+`"`:t&1024?e+`n`:e.toString();if(e===null)return`null`;if(Array.isArray(e)){let t=`[`;for(let n=0,r=e.length;n<r;++n)n!==0&&(t+=`, `),t+=b(e[n]);return t+`]`}if(e.constructor!==Object)return Object.prototype.toString.call(e);let n=Object.keys(e),r=`{ `;for(let t=0,i=n.length;t<i;++t){let i=n[t],a=e[i];r=r+i+`: `+b(a)+`; `}return r+`}`}function x(e){let t=e.type,n=e.const,r=e.name;if(r!==void 0)return r;if(n!==void 0)return b(n);let i=e.format,a=e.anyOf;if(a!==void 0)return a.map(x).join(` | `);if(i!==void 0)return i;switch(t){case`nan`:return`NaN`;case`object`:let n=e.additionalItems,r=e.properties,i=Object.keys(r);return i.length===0?typeof n==`object`?`{ [key: string]: `+x(n)+`; }`:`{}`:`{ `+i.map(e=>e+`: `+x(r[e])+`;`).join(` `)+` }`;default:if(e.b)return t;switch(t){case`instance`:return e.class.name;case`array`:let n=e.additionalItems,r=e.items;if(typeof n!=`object`)return`[`+r.map(e=>x(e.schema)).join(`, `)+`]`;let i=x(n);return(n.type===`union`?`(`+i+`)`:i)+`[]`;default:return t}}}var S=class extends Error{constructor(e,t,n){super(),this.flag=t,this.code=e,this.path=n}},C=Object.defineProperty,w=S.prototype;C(w,`message`,{get(){return re(this)}}),C(w,`reason`,{get(){return ne(this)}}),C(w,`name`,{value:`SuryError`}),C(w,`s`,{value:p}),C(w,`_1`,{get(){return this}}),C(w,`RE_EXN_ID`,{value:h});var T=function(e){this.type=e},ee=Object.create(null);C(ee,`with`,{get(){return(e,...t)=>e(this,...t)}}),T.prototype=ee;function te(e){if(e&&e.s===p)return e;throw e}function ne(e,t){let n=t===void 0?0:t,r=e.code;if(typeof r!=`object`)return`Encountered unexpected async transform or refine. Use parseAsyncOrThrow operation instead`;switch(r.TAG){case`OperationFailed`:return r._0;case`InvalidOperation`:return r.description;case`InvalidType`:let e=r.unionErrors,t=`Expected `+x(r.expected)+`, received `+b(r.received);if(e!==void 0){let r=` `+` `.repeat(n<<1),i={};for(let a=0,o=e.length;a<o;++a){let o=e[a],s=ne(o,n+1),c=o.path,l=`- `+(c===``?``:`At `+c+`: `)+s;i[l]||(i[l]=1,t=t+r+l)}}return t;case`UnsupportedTransformation`:return`Unsupported transformation from `+x(r.from)+` to `+x(r.to);case`ExcessField`:return`Unrecognized key "`+r._0+`"`;case`InvalidJsonSchema`:return x(r._0)+` is not valid JSON`}}function re(e){let t=e.flag,n=`Failed `;t&2&&(n+=`async `),n+=t&1?t&4?`asserting`:`parsing`:`converting`,t&8&&(n=n+` to JSON`+(t&16?` string`:``));let r=e.path,i=r===``?``:` at `+r;return n+i+`: `+ne(e,void 0)}let ie={m:re,d:void 0,a:`strip`,n:!1},ae={get:(e,n)=>{let r=e.as;if(r===void 0||n===`as`)return e[n];let i=t(r),a=`Schema S.`+i+` is not enabled. To start using it, add S.enable`+c(i)+`() at the project root.`;throw Error(`[Sury] `+a)}};function oe(e){let t=new T(`never`);return t.as=e,new Proxy(t,ae)}let se=new T(`unknown`),ce=new T(`boolean`);new T(`symbol`);let le=new T(`string`),ue=new T(`number`);ue.format=`int32`;let de=new T(`number`);new T(`bigint`);let E=new T(`undefined`);E.const=void 0;let D=(e=>{let t=new T(e.type);for(let n in e)(n>`a`||n===`$ref`||n===`$defs`)&&(t[n]=e[n]);return t});function O(e,t){let n=D(e),r=n;for(;r.to;){let e=D(r.to);r.to=e,r=e}return t(r),n}let fe=S;function pe(e,t,n){return new S(e,t,n)}let me={value:fe,constructor:pe};function k(e,t){let n=e.g.e,r=n.length;return n[r]=t,`e[`+r+`]`}function he(e,t){let n=y[t.type],r=t.const;return n&16?`void 0`:n&2?u(r):n&1024?r+`n`:n&45056?k(e,t.const):r}function A(e,t){let n=`"`+t+`"`,r=e.g[n];if(r!==void 0)return r;let i=u(t);return e.g[n]=i,i}function ge(e){let t=this;t.l=t.l+`,`+e}function j(e){let t=this;t.l=e,t.a=ge}function _e(e,t){let n={c:``,l:``,a:j,v:-1,o:e,f:``,e:[],d:t};return n.g=n,n}function M(e){delete e.a;let t=e.l;return t===``?e.f+e.c:e.f+`let `+t+`;`+e.c}function N(e){let t=e.v+1;return e.v=t,`v`+t}function ve(e){return this.i}function P(e){let t=this,n=N(e.g),r=t.i;return r===``?t.b.a(n):e.a===void 0?(e.c+=n+`=`+r+`;`,e.g.a(n)):e.a(n+`=`+r),t.v=ve,t.i=n,n}function ye(e,t){let n=N(e.g);return e.a(n),{b:e,v:ve,i:n,f:0,type:t.type}}function F(e,t,n){return{b:e,v:P,i:t,f:0,type:n.type}}function I(e,t){return{b:e,v:P,i:he(e,t),f:0,type:t.type,const:t.const}}function be(e,t){return{b:e,v:P,i:t,f:2,type:`unknown`}}function xe(e,t){return e+`:`+t+`,`}function Se(e,t){return t+`,`}function Ce(e,t){return{b:e,v:P,i:``,f:0,type:t?`array`:`object`,properties:{},additionalItems:`strict`,j:t?Se:xe,c:0,r:``}}function L(e,t,n){let r=A(e.b,t);e.properties[t]=n,n.f&2?(e.r=e.r+n.i+`,`,e.i+=e.j(r,`a[`+ e.c+++`]`)):e.i+=e.j(r,n.i)}function we(e,t){let n=Object.keys(t.properties);for(let r=0,i=n.length;r<i;++r){let i=n[r];L(e,i,t.properties[i])}}function Te(e,t){return e.i=t?`[`+e.i+`]`:`{`+e.i+`}`,e.c&&(e.f|=2,e.i=`Promise.all([`+e.r+`]).then(a=>(`+e.i+`))`),e.additionalItems=`strict`,e}function Ee(e,t,n,r){return t.v(e)+`[`+n+`]=`+r.i}function De(e,t,n){if(t===n)return``;let r=t.v(e),i=t.f&2,a=n.f&2;if(i){if(!a)return r+`=Promise.resolve(`+n.i+`)`}else if(a)return t.f|=2,r+`=`+n.i;return r+`=`+n.i}function Oe(e,t,n){let r=t.properties,i=r[n];if(i!==void 0)return i;let a=t.additionalItems,o;if(a===`strip`||a===`strict`)throw Error(`[Sury] The schema doesn't have additional items`);o=a;let s={b:e,v:P,i:t.v(e)+(`[`+u(n)+`]`),f:0,type:o.type};return r[n]=s,s}function ke(e,t,n){return t.v(e)+`=`+n}function Ae(e,t){return{b:t.b,v:P,i:e+`(`+t.i+`)`,f:0,type:`unknown`}}function R(e,t,n){throw new S(t,e.g.o,n)}function je(e,t,n){return t.f&2?be(t.b,t.i+`.then(`+k(e,n)+`)`):Ae(k(e,n),t)}function z(e,t,n,r){return k(e,r=>R(e,n(r),t))+`(`+r+`)`}function B(e,t,n){return k(e,()=>R(e,{TAG:`OperationFailed`,_0:t},n))+`()`}function Me(e,t,n){return{schema:t,fail:(t,r)=>R(e,{TAG:`OperationFailed`,_0:t},n+(r===void 0?``:r))}}function Ne(e,t,n){return R(e,{TAG:`InvalidOperation`,description:n},t)}function Pe(e,t,n,r,i,a){if(n===``&&r===void 0)return a(e,t,n);try{let o=(e,t)=>{e.c=t+`.path=`+u(n)+`+`+(r===void 0?``:`'["'+`+r+`+'"]'+`)+t+`.path`},s=e=>a(e,t,``),c=e.c;e.c=``;let l=N(e.g),d=o(e,l),f=`if(`+(l+`&&`+l+`.s===s`)+`){`+e.c;e.c=``;let p={c:``,l:``,a:j,f:``,g:e.g},m=s(p);e.c+=M(p);let h=m.i===t.i&&e.c===``;if(i!==void 0&&i(e,m),h)return m;let g=m.f&2,_=t===m?t:i===void 0?{b:e,v:P,i:``,f:g?2:0,type:`unknown`}:m,v=d===void 0?e=>f+`}throw `+l:t=>f+(t===1?`return `+d.i:De(e,_,d))+(`}else{throw `+l+`}`);return e.c=c+(`try{`+e.c+(g?ke(e,_,m.i+`.catch(`+l+`=>{`+v(1)+`})`):De(e,_,m))+`}catch(`+l+`){`+v(0)+`}`),_}catch(e){let t=te(e);throw new S(t.code,t.flag,n+`[]`+t.path)}}function Fe(e,t,n,r){let i=r?`!==`:`===`,a=r?`||`:`&&`,o=r?`!`:``,s=n.type,c=y[s];if(c&2048)return o+(`Number.isNaN(`+t+`)`);if(g in n)return t+i+he(e,n);if(c&4)return`typeof `+t+i+`"`+s+`"`;if(c&64)return`typeof `+t+i+`"`+s+`"`+a+o+t;if(c&128)return o+`Array.isArray(`+t+`)`;if(!(c&8192))return`typeof `+t+i+`"`+s+`"`;let l=t+` instanceof `+k(e,n.class);return r?`!(`+l+`)`:l}function Ie(e,t,n,r){let i=r?`!==`:`===`,a=r?`||`:`&&`,o=r?``:`!`,s=r?`>`:`<`,c=r?`<`:`>`,l=n.type,u,d=0;if(n.const!==void 0)return``;let f=n.format;if(f!==void 0)switch(f){case`int32`:return a+t+s+`2147483647`+a+t+c+`-2147483648`+a+t+`%1`+i+`0`;case`port`:case`json`:d=2;break}else d=2;if(d===2)switch(l){case`number`:return ie.n?``:a+o+`Number.isNaN(`+t+`)`;case`array`:case`object`:u=l;break;default:return``}let p=n.additionalItems,m=n.items,h=m.length,_=u===`array`?p===`strip`||p===`strict`?p===`strip`?a+t+`.length`+c+h:a+t+`.length`+i+h:``:p===`strip`?``:a+o+`Array.isArray(`+t+`)`;for(let i=0,o=m.length;i<o;++i){let o=m[i],s=o.location,c=o.schema,l;if(g in c||n.unnest)l=Fe(e,t+(`[`+A(e,s)+`]`),c,r);else if(c.items){let n=t+(`[`+A(e,s)+`]`);l=Fe(e,n,c,r)+Ie(e,n,c,r)}else l=``;l!==``&&(_=_+a+l)}return _}function Le(e,t,n){let r={b:e,v:t.v,i:t.i,f:t.f,type:n.type},i=(t,n)=>{g in n&&(t.const=n.const);let r=n.items;if(r===void 0)return;let a={};r.forEach(n=>{let r=n.schema,o=g in r;if(!(o||r.items))return;let s;if(o)s=he(e,r);else{let r=A(e,n.location);s=t.v(e)+(`[`+r+`]`)}let c={b:t.b,v:P,i:s,f:0,type:r.type};i(c,r),a[n.location]=c}),t.properties=a,t.additionalItems=se};return i(r,n),r}function Re(e,t,n,r){if(t.noValidation||y[t.type]&17153)return``;let i=n.v(e);return`if(`+Fe(e,i,t,!0)+Ie(e,i,t,!0)+`){`+z(e,r,e=>({TAG:`InvalidType`,expected:t,received:e}),i)+`}`}function ze(e,t,n,r){return R(e,{TAG:`UnsupportedTransformation`,from:t,to:n},r)}function Be(e){return e}function Ve(e,t){e[t===`union`||t===`ref`?`unknown`:t]=!0}let He=`JSON`,Ue=oe(`jsonString`);function We(e,t){return F(e,`""+`+t.i,le)}function V(e,n,r,i){let a={c:``,l:``,a:j,f:``,g:e.g};n.$defs&&(a.g.d=n.$defs);let o=r,s=g in o,c=g in n,u=o.type===n.type,d=y[n.type],f=y[o.type],p=!1;if(!(d&257||n.format===`json`)){if(n.name===He&&!(f&1))f&14||(f&1024?o=We(a,o):p=!0);else if(c)if(s)o.const!==n.const&&(o=I(a,n));else if(f&2&&d&3132){let e=o.v(a);a.f=n.noValidation?``:o.i+`==="`+n.const+`"||`+z(a,i,e=>({TAG:`InvalidType`,expected:n,received:e}),e)+`;`,o=I(a,n)}else n.noValidation?o=I(a,n):(a.f=Re(e,n,o,i),o.type=n.type,o.const=n.const);else if(s&&!c){if(!u)if(d&2&&f&3132){let e=``+o.const;o={b:a,v:P,i:`"`+e+`"`,f:0,type:`string`,const:e}}else p=!0}else if(f&1){let r=n.$ref;if(r!==void 0){let e=a.g.d,s=r.slice(8),c=e[s],u=n.noValidation?(a.g.o|1)^1:a.g.o,d=c[u],f;if(d!==void 0){let e=t(d);f=e===0?k(a,c)+(`[`+u+`]`):k(a,e)}else{c[u]=0;let e=Ke(c,u,a.g.d);c[u]=e,f=k(a,e)}o=Pe(a,o,i,void 0,void 0,(t,n,r)=>{let i=Ae(f,n);if(c.isAsync===void 0){let t=l(e);t[s]=se,qe(c,t)}return c.isAsync&&(i.f|=2),i}),o.v(a)}else{a.g.o&1&&(a.f=Re(e,n,o,i));let t=Le(a,o,n);o.type=t.type,o.i=t.i,o.v=t.v,o.additionalItems=t.additionalItems,o.properties=t.properties,g in t&&(o.const=t.const)}}else if(d&2&&f&1036)o=We(a,o);else if(!u)if(f&2){let e=o.v(a);if(d&8){let t=ye(a,n);a.c+=`(`+t.i+`=`+e+`==="true")||`+e+`==="false"||`+z(a,i,e=>({TAG:`InvalidType`,expected:n,received:e}),e)+`;`,o=t}else if(d&4){let t=F(a,`+`+e,n),r=t.v(a),s=n.format;a.c=a.c+(s===void 0?`Number.isNaN(`+r+`)`:`(`+Ie(a,r,n,!0).slice(2)+`)`)+(`&&`+z(a,i,e=>({TAG:`InvalidType`,expected:n,received:e}),e)+`;`),o=t}else if(d&1024){let t=ye(a,n);a.c+=`try{`+t.i+`=BigInt(`+e+`)}catch(_){`+z(a,i,e=>({TAG:`InvalidType`,expected:n,received:e}),e)+`}`,o=t}else p=!0}else f&4&&d&1024?o=F(a,`BigInt(`+o.i+`)`,n):p=!0}p&&ze(a,o,n,i);let m=n.compiler;if(m!==void 0&&(o=m(a,o,n,i)),o.t!==!0){let e=n.refiner;e!==void 0&&(a.c+=e(a,o.v(a),n,i))}let h=n.to;if(h!==void 0){let e=n.parser;e!==void 0&&(o=e(a,o,n,i)),o.t!==!0&&(o=V(a,h,o,i))}return e.c+=M(a),o}function H(e){for(;;){let t=e,n=t.to;if(n===void 0)return t;e=n}}function Ge(e,t,n,r){let i=y[e.type];if(i&48129||i&16&&t.type!==`object`)throw new S({TAG:`InvalidJsonSchema`,_0:t},r,n);if(i&256){e.anyOf.forEach(e=>Ge(e,t,n,r));return}if(!(i&192))return;let a=e.additionalItems;a===`strip`||a===`strict`||Ge(a,t,n,r);let o=e.properties;if(o!==void 0){let e=Object.keys(o);for(let i=0,a=e.length;i<a;++i){let a=e[i];Ge(o[a],t,n,r)}return}e.items.forEach(t=>Ge(t.schema,e,n+(`[`+u(t.location)+`]`),r))}function U(e){let t,n=e;for(;n;){let e=D(n),r=e.to,i=t;i===void 0?delete e.to:e.to=i;let a=e.parser,o=e.serializer;o===void 0?delete e.parser:e.parser=o,a===void 0?delete e.serializer:e.serializer=a;let s=e.fromDefault,c=e.default;c===void 0?delete e.fromDefault:e.fromDefault=c,s===void 0?delete e.default:e.default=s;let l=e.items;if(l!==void 0){let t={},n=Array(l.length);for(let e=0,r=l.length;e<r;++e){let r=l[e],i=U(r.schema),a={schema:i,location:r.location};r.r&&(a.r=r.r),t[r.location]=i,n[e]=a}e.items=n,e.properties!==void 0&&(e.properties=t)}typeof e.additionalItems==`object`&&(e.additionalItems=U(e.additionalItems));let u=e.anyOf;if(u!==void 0){let t={},n=[];for(let e=0,r=u.length;e<r;++e){let r=u[e],i=U(r);n.push(i),Ve(t,i.type)}e.has=t,e.anyOf=n}let d=e.$defs;if(d!==void 0){let t={};for(let e=0,n=Object.keys(d).length;e<n;++e){let n=Object.keys(d)[e];t[n]=U(d[n])}e.$defs=t}t=e,n=r}return t}function Ke(e,t,n){let r=_e(t,n);if(t&8){let n=U(e);Ge(n,n,``,t)}let i={b:r,v:ve,i:`i`,f:0,type:`unknown`},a=t&4?O(e,e=>{let t=new T(E.type);t.const=E.const,t.noValidation=!0,e.to=t}):t&16?O(e,e=>{e.to=Ue}):e,o=V(r,a,i,``),s=M(r),c=v(o.f,2);if(a.isAsync=c,s===``&&o===i&&!(t&2))return Be;let l=o.i;t&2&&!c&&!n&&(l=`Promise.resolve(`+l+`)`);let u=`i=>{`+s+`return `+l+`}`,d=r.g.e;return Function(`e`,`s`,`return `+u)(d,p)}function qe(e,t){try{let n=_e(2,t),r=v(V(n,e,{b:n,v:ve,i:`i`,f:0,type:`unknown`},``).f,2);return e.isAsync=r,r}catch(e){return te(e),!1}}function Je(e,t){if(t in e)return e[t];let n=Ke(t&32?U(e):e,t,0);return e[t]=n,n}C(ee,`~standard`,{get:function(){let e=this;return{version:1,vendor:f,validate:t=>{try{return{value:Je(e,1)(t)}}catch(e){let t=te(e);return{issues:[{message:ne(t,void 0),path:t.path===``?void 0:d(t.path)}]}}}}}});function Ye(e,t,n,r,i){let a=i===void 0?!0:i,o=0,s=0;switch(n){case`Output`:case`Input`:s=1;break;case`Assert`:o|=4;break;case`Json`:o|=8;break;case`JsonString`:o|=24;break}if(s===1&&n===t)throw Error(`[Sury] Can't compile operation to converting value to self`);r!==`Sync`&&(o|=2),a&&(o|=1),t===`Output`&&(o|=32);let c=Je(e,o);if(t!==`JsonString`)return c;let l=o;return e=>{try{return c(JSON.parse(e))}catch(e){throw new S({TAG:`OperationFailed`,_0:e.message},l,``)}}}function Xe(e,t){return Je(t,5)(e)}let Ze=new T(`null`);Ze.const=null;function W(e){if(e===null)return Ze;let t=typeof e,n;if(t===`object`){let t=new T(`instance`);t.class=e.constructor,n=t}else n=t===`undefined`?E:t===`number`&&Number.isNaN(e)?new T(`nan`):new T(t);return n.const=e,n}function Qe(e,t,n){let r=D(e);return r[t]=n,r}function $e(e,t){return e===void 0?t:(n,r,i,a)=>e(n,r,i,a)+t(n,r,i,a)}function et(e,t){return O(e,e=>{e.refiner=$e(e.refiner,t)})}function tt(e,t){return et(e,(e,n,r,i)=>k(e,t(Me(e,r,i)))+`(`+n+`);`)}function G(e,t,n,r){let i=e[t];return et(Qe(e,t,i===void 0?[n]:i.concat(n)),r)}function nt(e,t){return O(e,e=>{e.parser=(e,n,r,i)=>{let a=t(Me(e,r,i)),o=a.p;if(o!==void 0)return a.a===void 0?je(e,n,o):Ne(e,i,`The S.transform doesn't allow parser and asyncParser at the same time. Remove parser in favor of asyncParser`);let s=a.a;if(s!==void 0){e.g.o&2||R(e,`UnexpectedAsync`,``);let t=je(e,n,s);return t.f|=2,t}else if(a.s!==void 0)return Ne(e,i,`The S.transform parser is missing`);else return n};let n=new T(`unknown`);e.to=(n.serializer=(e,n,r,i)=>{let a=t(Me(e,r,i)),o=a.s;return o===void 0?a.a!==void 0||a.p!==void 0?Ne(e,i,`The S.transform serializer is missing`):n:je(e,n,o)},n),delete e.isAsync})}let rt=new T(`null`);rt.const=null,rt.to=E;function it(e,t,n,r){return e.c=e.c+z(e,r,e=>({TAG:`InvalidType`,expected:n,received:e}),t.i)+`;`,t}let at=new T(`never`);at.compiler=it;let K=`BS_PRIVATE_NESTED_SOME_NONE`;function ot(e,t,n,r,i,a){try{let o=e.g.o;i&&(e.g.o=o|1);let s={c:``,l:``,a:j,f:``,g:e.g},c=i?l(n):Le(s,n,t),u=V(s,t,c,a);return u!==c&&(u.b=s,u.f&2&&(r.f|=2),s.c+=r.v(e)+`=`+u.i),e.g.o=o,M(s)}catch(t){return`throw `+k(e,te(t))}}function st(e,t){return e&8320&&`object`in t?!0:e&2048?`number`in t:!1}function ct(e,t){return t.every((t,n)=>{let r=e[n];return r!==void 0&&!(y[t.type]&9152)&&t.type===r.type?t.const===r.const:!1})}function lt(e,t,n,r){let i=n.anyOf,a=t.anyOf;if(a!==void 0)return ct(i,a)?t:ze(e,t,n,r);let o=i=>k(e,function(){let t=arguments;return R(e,{TAG:`InvalidType`,expected:n,received:t[0],unionErrors:t.length>1?Array.from(t).slice(1):void 0},r)})+`(`+t.v(e)+i+`)`,s=e.g.o&1,c=t.i,u=-1,d=i.length-1|0,f={},p=[];for(let e=0;e<=d;++e){let r=n.to,a=r!==void 0&&!n.parser&&r.type!==`union`?O(i[e],e=>{let t=n.refiner;t!==void 0&&(e.refiner=$e(e.refiner,t)),e.to=r}):i[e],o=a.type,s=y[o];if(!(s&16&&`fromDefault`in n))if(s&17153||!(y[t.type]&1)&&t.type!==o)u=e,f={},p=[];else{let e=s&8192?a.class.name:o,t=f[e];t===void 0?(st(s,f)?p.unshift(e):p.push(e),f[e]=[a]):s&64&&K in a.properties?t.unshift(a):s&2096||t.push(a)}}let m=u,h=f,_=p,v=``,b=``,x=``,S=!1;if(m!==-1){for(let n=0;n<=m;++n)if(!S){let a=i[n],o=ot(e,a,t,t,!0,r);if(o){let e=`e`+n;v+=`try{`+o+`}catch(`+e+`){`,b=`}`+b,x=x+`,`+e}else S=!0}}if(!S){let n=!1,i=``;for(let a=0,c=_.length;a<c;++a){let c=h[_[a]],l=c.length>1,u=c[0],d=0,f;if(l){let n=t.v(e),i=``,a=``,l=!1,p={contents:``},m=``,h={},_=0,v=c.length-1|0;for(;_<=v;){let s=c[_],u=(g in s?Fe(e,n,s,!1):``)+Ie(e,n,s,!1).slice(2),d=ot(e,s,t,t,!1,r);if(u)if(d){let e=h[u];e===void 0?h[u]=d:typeof e==`string`?h[u]=[e,d]:e.push(d)}else p.contents=p.contents?p.contents+`||`+u:u;if(!u||_===v){let e=Object.keys(h);for(let t=0,n=e.length;t<n;++t){let n=e[t];i=i+(l?`else if`:`if`)+(`(`+n+`){`);let r=h[n];if(typeof r==`string`)i=i+r+`}`;else{let e=``;for(let t=0,n=r.length;t<n;++t){let n=r[t],a=`e`+t;i+=`try{`+n+`}catch(`+a+`){`,e=e+`,`+a}i=i+o(e)+`}`.repeat(r.length)+`}`}l=!0}h={}}if(!u)if(d){p.contents&&(i=i+(l?`else if`:`if`)+(`(!(`+p.contents+`)){`),a=`}`+a,p.contents=``,l=!1);let e=`e`+_;i+=(l?`else{`:``)+`try{`+d+`}catch(`+e+`){`,a=(l?`}`:``)+`}`+a,m=m+`,`+e,l=!1}else p.contents=``,_=v;_+=1}if(d=t=>Fe(e,t,{type:u.type,parser:0},!1),p.contents)if(i)s&&(i=i+(l?`else if`:`if`)+(`(!(`+p.contents+`)){`+o(m)+`}`));else{let e=d;d=t=>e(t)+(`&&(`+p.contents+`)`)}else if(s&&i){let e=o(m);i+=l?`else{`+e+`}`:e}f=i+a}else d=t=>Fe(e,t,u,!1)+Ie(e,t,u,!1),f=ot(e,u,t,t,!1,r);if(f||st(y[u.type],h))v=v+(n?`else if`:`if`)+(`(`+d(t.v(e))+`){`+f+`}`),n=!0;else if(s){let n=d(t.v(e));i=i?i+`||`+n:n}}if(s||m===d){let e=o(x),t;t=i?(n?`else if`:`if`)+(`(!(`+i+`)){`+e+`}`):n?`else{`+e+`}`:e,v+=t}}e.c=e.c+v+b;let C=t.f&2?be(e,`Promise.resolve(`+t.i+`)`):t.v===ve?e.c===``&&t.b.c===``&&(t.b.l===t.i+`=`+c||c===`i`)?(t.b.l=``,t.b.a=j,t.v=P,t.i=c,t):l(t):t;C.anyOf=n.anyOf;let w=n.to;return C.type=w!==void 0&&w.type!==`union`?(C.t=!0,H(w).type):`union`,C}function ut(e){let t=e.length;if(t===1)return e[0];if(t!==0){let t={},n=new Set;for(let r=0,i=e.length;r<i;++r){let i=e[r];i.type===`union`&&i.to===void 0?(i.anyOf.forEach(e=>{n.add(e)}),Object.assign(t,i.has)):(n.add(i),Ve(t,i.type))}let r=new T(`union`);return r.anyOf=Array.from(n),r.compiler=lt,r.has=t,r}throw Error(`[Sury] S.union requires at least one item`)}function dt(){let e=W(0),t={schema:e,location:K},n={};return n[K]=e,{type:`object`,serializer:(e,t,n,r)=>I(e,n.to),additionalItems:`strip`,items:[t],properties:n}}function ft(e,t,n,r){return F(e,`{`+K+`:`+H(n).items[0].schema.const+`}`,n.to)}function pt(e){return O(e,e=>{e.to=dt(),e.parser=ft})}function mt(e,t){let n=t===void 0?E:t,r=H(e);switch(r.type){case`undefined`:return ut([n,pt(e)]);case`union`:let t=r.has,i=r.anyOf;return O(e,e=>{let r=l(t),a=[];for(let e=0,t=i.length;e<t;++e){let t=i[e],o=H(t),s=o.type,c;if(s===`undefined`)r[n.type]=!0,a.push(n),c=pt(t);else{let e=o.properties;if(e!==void 0){let n=e[K];c=n===void 0?t:O(t,e=>{let t={type:n.type,parser:n.parser,const:n.const+1},r={schema:t,location:K},i={};i[K]=t,e.items=[r],e.properties=i})}else c=t}a.push(c)}a.length===i.length&&(r[n.type]=!0,a.push(n)),e.anyOf=a,e.has=r});default:return ut([e,n])}}function ht(e,t){return O(e,e=>{let n=e.anyOf;if(n!==void 0){let r,i;for(let t=0,a=n.length;t<a;++t){let a=n[t],o=H(a);if(o.type!==`undefined`){if(r!==void 0){let t=`Can't set default for `+x(e);throw Error(`[Sury] `+t)}r=a,i=o}}let a=r,o;if(a!==void 0)o=a;else{let t=`Can't set default for `+x(e);throw Error(`[Sury] `+t)}e.parser=(e,n,r,i)=>{let a=(e,n)=>{let i=n.v(e),a;return a=t.TAG===`Value`?he(e,W(t._0)):k(e,t._0)+`()`,F(e,i+`===void 0?`+a+`:`+i,r.to)};if(!(n.f&2))return a(e,n);let o={c:``,l:``,a:j,f:``,g:e.g},s={b:e,v:ve,i:N(o.g),f:0,type:`unknown`},c=a(o,s),l=M(o);return be(n.b,n.i+`.then(`+s.v(e)+`=>{`+l+`return `+c.i+`})`)};let s=D(i),c=s.compiler;if(c===void 0?s.serializer=(e,t,n,r)=>t:(s.serializer=c,delete s.compiler),e.to=s,t.TAG!==`Value`)return;try{e.default=Je(o,32)(t._0);return}catch{return}}else{let t=`Can't set default for `+x(e);throw Error(`[Sury] `+t)}})}let gt=`m:Array.refinements`;function _t(e){let t=e[gt];return t===void 0?[]:t}function vt(e,t,n,r){let i=n.additionalItems,a=t.v(e),o=N(e.g),s={c:``,l:``,a:j,f:``,g:e.g},c=F(s,a+`[`+o+`]`,se),l=Pe(s,c,r,o,void 0,(e,t,n)=>V(e,i,t,n)),u=M(s),d=c!==l,f=d?F(e,`new Array(`+a+`.length)`,n):t;return f.type=n.type,f.additionalItems=n.additionalItems,(d||u!==``)&&(e.c+=`for(let `+o+`=0;`+o+`<`+a+`.length;++`+o+`){`+u+(d?Ee(e,f,o,l):``)+`}`),l.f&2?be(f.b,`Promise.all(`+f.i+`)`):f}function yt(e){let t=new T(`array`);return t.additionalItems=e,t.items=s,t.compiler=vt,t}function bt(e,t,n){let r=e.additionalItems;if(r===void 0)return e;let i=e.items;if(r===t||typeof r==`object`)return e;let a=D(e);if(a.additionalItems=t,n){let e=[],r={};for(let a=0,o=i.length;a<o;++a){let o=i[a],s=bt(o.schema,t,n),c=s===o.schema?o:{schema:s,location:o.location};r[o.location]=s,e.push(c)}a.items=e,a.properties=r}return a}function xt(e){return bt(e,`strict`,!1)}function St(e,t,n,r){let i=n.additionalItems,a=t.v(e),o=N(e.g),s={c:``,l:``,a:j,f:``,g:e.g},c=F(s,a+`[`+o+`]`,se),l=Pe(s,c,r,o,void 0,(e,t,n)=>V(e,i,t,n)),u=M(s),d=c!==l,f=d?F(e,`{}`,n):t;if(f.type=n.type,f.additionalItems=n.additionalItems,(d||u!==``)&&(e.c+=`for(let `+o+` in `+a+`){`+u+(d?Ee(e,f,o,l):``)+`}`),!(l.f&2))return f;let p=N(e.g),m=N(e.g),h=N(e.g),g=N(e.g),_=f.v(e);return be(e,`new Promise((`+p+`,`+m+`)=>{let `+g+`=Object.keys(`+_+`).length;for(let `+o+` in `+_+`){`+_+`[`+o+`].then(`+h+`=>{`+_+`[`+o+`]=`+h+`;if(`+g+`--===1){`+p+`(`+_+`)}},`+m+`)}})`)}function Ct(e){let t=new T(`object`);return t.properties=o,t.items=s,t.additionalItems=e,t.compiler=St,t}let q=`m:String.refinements`;function wt(e){let t=e[q];return t===void 0?[]:t}let Tt=/^[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,Et=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Dt=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/,J=oe(`json`),Ot=`m:Int.refinements`;function kt(e){let t=e[Ot];return t===void 0?[]:t}let At=`m:Float.refinements`;function jt(e){let t=e[At];return t===void 0?[]:t}function Mt(e){let t=new T(`instance`);return t.class=e,t}function Nt(e,t){let n=D(e),r=t.name;r!==void 0&&(r===``?n.name=void 0:n.name=r);let i=t.title;i!==void 0&&(i===``?n.title=void 0:n.title=i);let a=t.description;a!==void 0&&(a===``?n.description=void 0:n.description=a);let o=t.deprecated;o!==void 0&&(n.deprecated=o);let s=t.examples;return s!==void 0&&(s.length===0?n.examples=void 0:n.examples=s.map(Je(e,32))),n}function Pt(e){switch(e.k){case 0:return`[`+u(e.location)+`]`;case 1:return Pt(e.of)+e.p;case 2:return e.p}}function Ft(e,t,n,r){if(g in r)return I(e,r);let i=t[m];if(i!==void 0)return n(i);let a=y[r.type]&128,o=Ce(e,a);return r.items.forEach(r=>L(o,r.location,Ft(e,t[r.location],n,r.schema))),Te(o,a)}function It(e,t,n,r,i){if(!(r.type===`object`&&r.additionalItems===`strict`&&e.g.o&1))return;let a=ye(e,se).i;if(e.c+=`for(`+a+` in `+t.v(e)+`){if(`,n.length!==0)for(let t=0,r=n.length;t<r;++t){let r=n[t];t!==0&&(e.c+=`&&`),e.c+=a+`!==`+A(e,r.location)}else e.c+=`true`;e.c+=`){`+z(e,i,e=>({TAG:`ExcessField`,_0:e}),a)+`}}`}function Lt(e){return new Proxy(o,{get:(t,n)=>{if(n===m)return e;let r=u(n),i=H(e.schema),a=i.items,o=i.properties,s;if(o!==void 0)s=o[n];else if(a!==void 0){let e=a[n];s=e===void 0?void 0:e.schema}else s=void 0;if(s===void 0){let e=`Cannot read property `+r+` of `+x(i);throw Error(`[Sury] `+e)}return Lt({k:1,location:n,schema:s,of:e,p:`[`+r+`]`})}})}function Rt(e,t,n,r){let i=n.additionalItems,a=n.items,o=y[n.type]&128;if(e.g.o&64){let n=Ce(e,o);for(let e=0,r=a.length;e<r;++e){let r=a[e].location;L(n,r,t.properties[r])}return Te(n,o)}let s=Ce(e,o);for(let n=0,i=a.length;n<i;++n){let i=a[n],o=i.location,c=Oe(e,t,o),l=r+(`[`+A(e,o)+`]`);L(s,o,V(e,i.schema,c,l))}return It(e,t,a,n,r),(i!==`strip`||e.g.o&32)&&a.every(e=>s.properties[e.location]===t.properties[e.location])?(t.additionalItems=`strip`,t):Te(s,o)}function zt(e){let n=this,r=`~`+e,i=n[r];if(i!==void 0)return t(i);let a={},o=[],s=new T(`object`);s.items=o,s.properties=a,s.additionalItems=ie.a,s.compiler=Rt;let c=n.f(e,s)[m],l=(e,t)=>{let n=u(e);if(e in a)throw Error(`[Sury] `+(`The field `+n+` defined twice`));let r={k:1,location:e,schema:t,of:c,p:`[`+n+`]`};return a[e]=t,o.push(r),Lt(r)},d={field:l,f:l,fieldOr:(e,t,n)=>l(e,ht(mt(t,void 0),{TAG:`Value`,_0:n})),tag:(e,t)=>{l(e,Y(t))},nested:zt,flatten:e=>{if(e.type===`object`){let t=e.to,n=e.items;if(t){let t=`Unsupported nested flatten for transformed object schema `+x(e);throw Error(`[Sury] `+t)}let r={};for(let e=0,t=n.length;e<t;++e){let t=n[e];r[t.location]=l(t.location,t.schema)}return r}let t=`Can't flatten `+x(e)+` schema`;throw Error(`[Sury] `+t)}};return n[r]=d,d}function Y(e){if(typeof e!=`object`||!e)return W(e);if(e[`~standard`])return e;if(Array.isArray(e)){for(let t=0,n=e.length;t<n;++t)e[t]={schema:Y(e[t]),location:t.toString()};let t=new T(`array`);return t.items=e,t.additionalItems=`strict`,t.compiler=Rt,t}let t=e.constructor;if(t&&t!==Object)return{type:`instance`,const:e,class:t};let n=Object.keys(e),r=n.length,i=[];for(let t=0;t<r;++t){let r=n[t],a=Y(e[r]),o={schema:a,location:r};e[r]=a,i[t]=o}let a=new T(`object`);return a.items=i,a.properties=e,a.additionalItems=ie.a,a.compiler=Rt,a}function Bt(e,t,n){if(typeof e!=`object`||!e)return{k:1,p:t,s:D(W(e))};let r=e[m];if(r!==void 0){let e=D(H(r.schema));delete e.serializer;let i={k:0,p:t,s:e};return r.r=i,n[Pt(r)]=i,i}if(Array.isArray(e)){let r=[];for(let i=0,a=e.length;i<a;++i){let a=i.toString(),o=`"`+a+`"`;r[i]={schema:Bt(e[i],t+(`[`+o+`]`),n).s,location:a}}let i=new T(`array`);return{k:2,p:t,s:(i.items=r,i.additionalItems=`strict`,i.serializer=it,i)}}let i=Object.keys(e),a={},o=[];for(let r=0,s=i.length;r<s;++r){let s=i[r],c=u(s),l=Bt(e[s],t+(`[`+c+`]`),n).s;o[r]={schema:l,location:s},a[s]=l}let s=new T(`object`);return{k:2,p:t,s:(s.items=o,s.properties=a,s.additionalItems=ie.a,s.serializer=it,s)}}function Vt(e,t,n){let r={},i=Bt(e,``,r).s;return delete i.refiner,delete i.compiler,i.serializer=(e,i,a,o)=>{let s=t=>{let n=t.p;if(n===``)return i;let r=i,a=d(n);for(;;){let t=a,n=r;if(t.length===0)return n;let i=t[0];a=t.slice(1),r=Oe(e,n,i)}},c=(t,n)=>{let i=H(t);if(g in i)return I(e,i);if(g in t)return V(e,t,I(e,t),o);let a=i.type,l=i.additionalItems,u=i.items;if(u!==void 0&&typeof l==`string`){let t=y[a]&128,i=Ce(e,t);for(let t=0,a=u.length;t<a;++t){let a=u[t],o=n+(`[`+A(e,a.location)+`]`),l=r[o],d=l===void 0?c(a.schema,o):V(e,a.schema,s(l),l.p);L(i,a.location,d)}return Te(i,t)}return Ne(e,o,n===``?`Schema isn't registered`:`Schema for `+n+` isn't registered`)},l=(t,n,r)=>{let i=t.r;return i===void 0?c(t.schema,n):V(e,r?U(t.schema):n===``?H(t.schema):t.schema,s(i),o+i.p)};if(t!==void 0)return l(t,``,!1);let u=a.to;It(e,i,a.items,a,o);let f=u.type===`array`,p=u.items,m=Ce(e,f);if(n!==void 0)for(let e=0,t=n.length;e<t;++e)we(m,l(n[e],``,!0));for(let t=0,n=p.length;t<n;++t){let n=p[t];if(!(n.location in m.properties)){let t=A(e,n.location);L(m,n.location,l(n,`[`+t+`]`,!1))}}return Te(m,f)},i}function Ht(e,t){return(n,r,i,a)=>{let o=n.g.o&64,s=o?r.properties:{};if(!o){let e=i.items;for(let t=0,i=e.length;t<i;++t){let i=e[t],o=i.location,c=Oe(n,r,o),l=a+(`[`+A(n,o)+`]`);s[o]=V(n,i.schema,c,l)}It(n,r,e,i,a)}if(t!==void 0){let e=n.g.o;n.g.o=e|64;for(let e=0,i=t.length;e<i;++e){let i=t[e];s[i.i]=V(n,i.schema,r,a)}n.g.o=e}let c=e=>{switch(e.k){case 0:return s[e.location];case 1:return Oe(n,c(e.of),e.location);case 2:return s[e.i]}};return Ft(n,e,c,i.to)}}function Ut(e){let t,n=[],r={},i=e=>{if(e.type===`object`){let i=e.items;for(let e=0,t=i.length;e<t;++e){let t=i[e],a=t.location,o=t.schema,s=r[a];if(s!==void 0){if(s!==o)throw Error(`[Sury] `+(`The field "`+a+`" defined twice with incompatible schemas`))}else{let e={k:0,schema:o,location:a};n.push(e),r[a]=o}}let a=t||=[],o={k:2,schema:e,p:``,i:a.length};return a.push(o),Lt(o)}let i=`The '`+x(e)+`' schema can't be flattened`;throw Error(`[Sury] `+i)},a=(e,t)=>{if(e in r)throw Error(`[Sury] `+(`The field "`+e+`" defined twice with incompatible schemas`));let i={k:0,schema:t,location:e};return r[e]=t,n.push(i),Lt(i)},o=e({field:a,f:a,fieldOr:(e,t,n)=>a(e,ht(mt(t,void 0),{TAG:`Value`,_0:n})),tag:(e,t)=>{a(e,Y(t))},nested:zt,flatten:i}),s=new T(`object`);return s.items=n,s.properties=r,s.additionalItems=ie.a,s.parser=Ht(o,t),s.to=Vt(o,void 0,t),s}function Wt(e){let t=[],n=(e,n)=>{let r=e.toString();if(t[e])throw Error(`[Sury] `+(`The item [`+r+`] is defined multiple times`));let i={k:0,schema:n,location:r};return t[e]=i,Lt(i)},r=e({item:n,tag:(e,t)=>{n(e,Y(t))}});for(let e=0,n=t.length;e<n;++e)t[e]||(t[e]={schema:E,location:e.toString()});let i=new T(`array`);return i.items=t,i.additionalItems=`strict`,i.parser=Ht(r,void 0),i.to=Vt(r,void 0,void 0),i}function Gt(e){return mt(e,rt)}let Kt=Y;function qt(e){return mt(e,E)}function Jt(e,t,n){let r=n===void 0?`Number must be greater than or equal to `+t:n;return G(e,Ot,{kind:{TAG:`Min`,value:t},message:r},(e,n,i,a)=>`if(`+n+`<`+k(e,t)+`){`+B(e,r,a)+`}`)}function Yt(e,t,n){let r=n===void 0?`Number must be lower than or equal to `+t:n;return G(e,Ot,{kind:{TAG:`Max`,value:t},message:r},(e,n,i,a)=>`if(`+n+`>`+k(e,t)+`){`+B(e,r,a)+`}`)}function Xt(e,t,n){let r=n===void 0?`Number must be greater than or equal to `+t:n;return G(e,At,{kind:{TAG:`Min`,value:t},message:r},(e,n,i,a)=>`if(`+n+`<`+k(e,t)+`){`+B(e,r,a)+`}`)}function Zt(e,t,n){let r=n===void 0?`Number must be lower than or equal to `+t:n;return G(e,At,{kind:{TAG:`Max`,value:t},message:r},(e,n,i,a)=>`if(`+n+`>`+k(e,t)+`){`+B(e,r,a)+`}`)}function Qt(e,t,n){let r=n===void 0?`Array must be `+t+` or more items long`:n;return G(e,gt,{kind:{TAG:`Min`,length:t},message:r},(e,n,i,a)=>`if(`+n+`.length<`+k(e,t)+`){`+B(e,r,a)+`}`)}function $t(e,t,n){let r=n===void 0?`Array must be `+t+` or fewer items long`:n;return G(e,gt,{kind:{TAG:`Max`,length:t},message:r},(e,n,i,a)=>`if(`+n+`.length>`+k(e,t)+`){`+B(e,r,a)+`}`)}function en(e,t,n){let r=n===void 0?`String must be `+t+` or more characters long`:n;return G(e,q,{kind:{TAG:`Min`,length:t},message:r},(e,n,i,a)=>`if(`+n+`.length<`+k(e,t)+`){`+B(e,r,a)+`}`)}function tn(e,t,n){let r=n===void 0?`String must be `+t+` or fewer characters long`:n;return G(e,q,{kind:{TAG:`Max`,length:t},message:r},(e,n,i,a)=>`if(`+n+`.length>`+k(e,t)+`){`+B(e,r,a)+`}`)}function nn(e,t){let n=t===void 0?`Invalid email address`:t;return G(e,q,{kind:`Email`,message:n},(e,t,r,i)=>`if(!`+k(e,Et)+`.test(`+t+`)){`+B(e,n,i)+`}`)}function rn(e,t){let n=t===void 0?`Invalid UUID`:t;return G(e,q,{kind:`Uuid`,message:n},(e,t,r,i)=>`if(!`+k(e,Tt)+`.test(`+t+`)){`+B(e,n,i)+`}`)}function an(e,t){let n=t===void 0?`Invalid url`:t;return G(e,q,{kind:`Url`,message:n},(e,t,r,i)=>`try{new URL(`+t+`)}catch(_){`+B(e,n,i)+`}`)}function on(e,t,n){let r=n===void 0?`Invalid`:n;return G(e,q,{kind:{TAG:`Pattern`,re:t},message:r},(e,n,i,a)=>(t.global?k(e,t)+`.lastIndex=0;`:``)+(`if(!`+k(e,t)+`.test(`+n+`)){`+B(e,r,a)+`}`))}function sn(e,t){let n=t===void 0?`Invalid datetime string! Expected UTC`:t,r={kind:`Datetime`,message:n},i=e[q];return nt(Qe(e,q,i===void 0?[r]:i.concat(r)),e=>({p:t=>(Dt.test(t)||e.fail(n,void 0),new Date(t)),s:e=>e.toISOString()}))}function cn(e){return ut(e.map(Y))}function ln(n,r){let i={};switch(n.type){case`never`:i.not={};break;case`unknown`:break;case`string`:let a=n.const;i.type=`string`,wt(n).forEach(e=>{let t=e.kind;if(typeof t!=`object`)switch(t){case`Email`:i.format=`email`;return;case`Uuid`:i.format=`uuid`;return;case`Cuid`:return;case`Url`:i.format=`uri`;return;case`Datetime`:i.format=`date-time`;return}else switch(t.TAG){case`Min`:i.minLength=t.length;return;case`Max`:i.maxLength=t.length;return;case`Length`:let e=t.length;i.minLength=e,i.maxLength=e;return;case`Pattern`:i.pattern=String(t.re);return}}),a!==void 0&&(i.const=a);break;case`number`:let o=n.format,s=n.const;o===void 0?(i.type=`number`,jt(n).forEach(e=>{let t=e.kind;t.TAG===`Min`?i.minimum=t.value:i.maximum=t.value})):o===`int32`?(i.type=`integer`,kt(n).forEach(e=>{let t=e.kind;t.TAG===`Min`?i.minimum=t.value:i.maximum=t.value})):(i.type=`integer`,i.maximum=65535,i.minimum=0),s!==void 0&&(i.const=s);break;case`boolean`:let c=n.const;i.type=`boolean`,c!==void 0&&(i.const=c);break;case`null`:i.type=`null`;break;case`array`:let l=n.additionalItems,u=0;if(l===`strip`||l===`strict`?u=1:(i.items=ln(l,r),i.type=`array`,_t(n).forEach(e=>{let t=e.kind;switch(t.TAG){case`Min`:i.minItems=t.length;return;case`Max`:i.maxItems=t.length;return;case`Length`:let e=t.length;i.maxItems=e,i.minItems=e;return}})),u===1){let t=n.items.map(e=>ln(e.schema,r)),a=t.length;i.items=e(t),i.type=`array`,i.minItems=a,i.maxItems=a}break;case`object`:let d=n.additionalItems,f=0;if(d===`strip`||d===`strict`?f=1:(i.type=`object`,i.additionalProperties=ln(d,r)),f===1){let e={},t=[];n.items.forEach(n=>{let i=ln(n.schema,r);_(n.schema)||t.push(n.location),e[n.location]=i}),i.type=`object`,i.properties=e;let a;a=d===`strip`||d===`strict`?d===`strip`:!0,i.additionalProperties=a,t.length!==0&&(i.required=t)}break;case`union`:let p=[],m=[];n.anyOf.forEach(e=>{if(e.type!==`undefined`&&(m.push(ln(e,r)),g in e)){p.push(e.const);return}});let h=m.length,v=n.default;v!==void 0&&(i.default=t(v)),h===1?Object.assign(i,m[0]):p.length===h?i.enum=p:i.anyOf=m;break;case`ref`:let y=n.$ref;y===`#/$defs/`+He||(i.$ref=y);break;default:throw Error(`[Sury] Unexpected schema type`)}let a=n.description;a!==void 0&&(i.description=a);let o=n.title;o!==void 0&&(i.title=o);let s=n.deprecated;s!==void 0&&(i.deprecated=s);let c=n.examples;c!==void 0&&(i.examples=c);let l=n.$defs;l!==void 0&&Object.assign(r,l);let u=n[`m:JSONSchema`];return u!==void 0&&Object.assign(i,u),i}let un=W;function dn(e){let t=e.minimum,n;if(t!==void 0)n=Jt(ue,t|0,void 0);else{let t=e.exclusiveMinimum;n=t===void 0?ue:Jt(ue,t+1|0,void 0)}let r=e.maximum;if(r!==void 0)return Yt(n,r|0,void 0);let i=e.exclusiveMinimum;return i===void 0?n:Yt(n,i-1|0,void 0)}function fn(e){if(typeof e==`object`)return e.default}function pn(n){let i=e=>typeof e==`object`?pn(e):e===!1?at:J,a=n.type,o,s=0,c=0;if(n.nullable)o=Gt(pn(Object.assign({},n,{nullable:!1})));else if(a!==void 0){let e=t(a);if(e===`object`){let e=n.properties;if(e!==void 0){let t=Ut(t=>{let r={};return Object.keys(e).forEach(a=>{let o=e[a],s=i(o),c=n.required,l,u=0;if(c!==void 0&&c.includes(a)?l=s:u=1,u===1){let e=fn(o);l=e===void 0?qt(s):ht(qt(s),{TAG:`Value`,_0:e})}r[a]=t.f(a,l)}),r});o=n.additionalProperties===!1?xt(t):t}else{let e=n.additionalProperties;o=e===void 0?Y():typeof e==`object`?Ct(pn(e)):e===!1?xt(Ut(e=>{})):Ct(J)}}else if(e===`array`){let e=n.items,a;if(e!==void 0){let n=r.classify(t(e));if(n.TAG===`Single`)a=yt(i(n._0));else{let e=n._0;a=Wt(t=>e.map((e,n)=>t.item(n,i(e))))}}else a=yt(J);let s=n.minItems,c=s===void 0?a:Qt(a,s,void 0),l=n.maxItems;o=l===void 0?c:$t(c,l,void 0)}else c=2}else c=2;if(c===2){let r=n.enum,c=n.allOf,l=n.anyOf;if(l!==void 0){let e=l.length;o=e===1?i(l[0]):e===0?J:ut(l.map(i))}else if(c!==void 0){let e=c.length;o=e===1?i(c[0]):e===0?J:tt(J,e=>(t=>{c.forEach(n=>{try{return Xe(t,i(n))}catch{return e.fail(`Should pass for all schemas of the allOf property.`,void 0)}})}))}else{let c=n.oneOf;if(c!==void 0){let e=c.length;o=e===1?i(c[0]):e===0?J:tt(J,e=>(t=>{let n={contents:!1};if(c.forEach(r=>{let a;try{Xe(t,i(r)),a=!0}catch{a=!1}if(a){n.contents&&e.fail(`Should pass single schema according to the oneOf property.`,void 0),n.contents=!0;return}}),!n.contents)return e.fail(`Should pass at least one schema according to the oneOf property.`,void 0)}))}else{let c=n.not;if(c!==void 0)o=tt(J,e=>(t=>{let n;try{Xe(t,i(c)),n=!0}catch{n=!1}if(n)return e.fail(`Should NOT be valid against schema in the not property.`,void 0)}));else if(r!==void 0){let e=r.length;o=e===1?W(r[0]):e===0?J:ut(r.map(un))}else{let r=n.const;if(r!==void 0)o=W(r);else if(a!==void 0){let r=t(a),i=0,c=0;if(Array.isArray(r))o=ut(r.map(t=>pn(Object.assign({},n,{type:e(t)}))));else if(r===`string`){let e=n.pattern,t=e===void 0?le:on(le,new RegExp(e),void 0),r=n.minLength,i=r===void 0?t:en(t,r,void 0),a=n.maxLength,s=a===void 0?i:tn(i,a,void 0);switch(n.format){case`date-time`:o=sn(s,void 0);break;case`email`:o=nn(s,void 0);break;case`uri`:o=an(s,void 0);break;case`uuid`:o=rn(s,void 0);break;default:o=s}}else r===`integer`||n.format===`int64`&&r===`number`?o=dn(n):c=4;if(c===4&&(n.multipleOf!==1||r!==`number`?i=3:o=dn(n)),i===3)if(r===`number`){let e=n.minimum,t;if(e!==void 0)t=Xt(de,e,void 0);else{let e=n.exclusiveMinimum;t=e===void 0?de:Xt(de,e+1,void 0)}let r=n.maximum;if(r!==void 0)o=Zt(t,r,void 0);else{let e=n.exclusiveMinimum;o=e===void 0?t:Zt(t,e-1,void 0)}}else r===`boolean`?o=ce:r===`null`?o=Kt(null):s=1}else s=1}}}}if(s===1){let e=n.if;if(e!==void 0){let t=n.then;if(t!==void 0){let r=n.else;if(r!==void 0){let n=i(e),a=i(t),s=i(r);o=tt(J,e=>(e=>{let t;try{Xe(e,n),t=!0}catch{t=!1}return t?Xe(e,a):Xe(e,s)}))}else o=J}else o=J}else o=J}return n.description===void 0&&n.deprecated===void 0&&n.examples===void 0&&n.title===void 0?o:Nt(o,{title:n.title,description:n.description,deprecated:n.deprecated,examples:n.examples})}function mn(e,t,n){switch(e.type){case`string`:return en(e,t,n);case`number`:return e.format===void 0?Xt(e,t,n):Jt(e,t,n);case`array`:return Qt(e,t,n);default:let r=`S.min is not supported for `+x(e)+` schema. Coerce the schema to string, number or array using S.to first.`;throw Error(`[Sury] `+r)}}function hn(e,t,n){switch(e.type){case`string`:return tn(e,t,n);case`number`:return e.format===void 0?Zt(e,t,n):Yt(e,t,n);case`array`:return $t(e,t,n);default:let r=`S.max is not supported for `+x(e)+` schema. Coerce the schema to string, number or array using S.to first.`;throw Error(`[Sury] `+r)}}let gn=yt;me.value;var X=le,Z=de,_n=gn,vn=Mt,yn=cn,bn=Kt,xn=Ye,Q=mn,$=hn,Sn=an;const Cn=bn({id:Z,created:vn(Date),title:Q($(X,100),1),type:yn([`jpg`,`png`]),size:Z,url:Sn(X)}),wn=bn({id:Z,stars:Q($(Z,5),0),title:Q($(X,100),1),text:Q($(X,1e3),1),images:_n(Cn)});xn(bn({id:Z,created:vn(Date),title:Q($(X,100),1),brand:Q($(X,30),1),description:Q($(X,500),1),price:Q($(Z,1e4),1),discount:yn([Q($(Z,100),1),null]),quantity:Q($(Z,10),0),tags:_n(Q($(X,30),1)),images:_n(Cn),ratings:_n(wn)}),`Any`,`Output`,`Sync`)({});