PageSourceSearch

https://wecon.fi/assets/wecon.index-D6THsoWq.js

js wecon.fi collected 2026-10-09 22:04:28 UTC 79,364 bytes, 1 lines download raw bytes

vendor: 40,267 bytes, line 1
1import{r as J,a as n,L as ee}from"./index-ZdBAVSWO.js";import{P as Re}from"./PageShell-2wI5iOt-.js";import{B as Ze}from"./BookingCard-c3FgM0sD.js";import{l as Ee,a as Ie}from"./wecon-tarina-laura-esa-laptop.webp.asset-ki9xoRct.js";import{L as $e}from"./Footer-DnPLZ8PY.js";import"./hehku-logo.svg.asset-jJBRMCC9.js";import"./utils-DUBwBKWw.js";var k;(function(s){s.assertEqual=r=>{};function e(r){}s.assertIs=e;function t(r){throw new Error}s.assertNever=t,s.arrayToEnum=r=>{const i={};for(const o of r)i[o]=o;return i},s.getValidEnumValues=r=>{const i=s.objectKeys(r).filter(l=>typeof r[r[l]]!="number"),o={};for(const l of i)o[l]=r[l];return s.objectValues(o)},s.objectValues=r=>s.objectKeys(r).map(function(i){return r[i]}),s.objectKeys=typeof Object.keys=="function"?r=>Object.keys(r):r=>{const i=[];for(const o in r)Object.prototype.hasOwnProperty.call(r,o)&&i.push(o);return i},s.find=(r,i)=>{for(const o of r)if(i(o))return o},s.isInteger=typeof Number.isInteger=="function"?r=>Number.isInteger(r):r=>typeof r=="number"&&Number.isFinite(r)&&Math.floor(r)===r;function a(r,i=" | "){return r.map(o=>typeof o=="string"?`'${o}'`:o).join(i)}s.joinValues=a,s.jsonStringifyReplacer=(r,i)=>typeof i=="bigint"?i.toString():i})(k||(k={}));var ue;(function(s){s.mergeShapes=(e,t)=>({...e,...t})})(ue||(ue={}));const m=k.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),O=s=>{switch(typeof s){case"undefined":return m.undefined;case"string":return m.string;case"number":return Number.isNaN(s)?m.nan:m.number;case"boolean":return m.boolean;case"function":return m.function;case"bigint":return m.bigint;case"symbol":return m.symbol;case"object":return Array.isArray(s)?m.array:s===null?m.null:s.then&&typeof s.then=="function"&&s.catch&&typeof s.catch=="function"?m.promise:typeof Map<"u"&&s instanceof Map?m.map:typeof Set<"u"&&s instanceof Set?m.set:typeof Date<"u"&&s instanceof Date?m.date:m.object;default:return m.unknown}},d=k.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class S extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=a=>{this.issues=[...this.issues,a]},this.addIssues=(a=[])=>{this.issues=[...this.issues,...a]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}format(e){const t=e||function(i){return i.message},a={_errors:[]},r=i=>{for(const o of i.issues)if(o.code==="invalid_union")o.unionErrors.map(r);else if(o.code==="invalid_return_type")r(o.returnTypeError);else if(o.code==="invalid_arguments")r(o.argumentsError);else if(o.path.length===0)a._errors.push(t(o));else{let l=a,u=0;for(;u<o.path.length;){const p=o.path[u];u===o.path.length-1?(l[p]=l[p]||{_errors:[]},l[p]._errors.push(t(o))):l[p]=l[p]||{_errors:[]},l=l[p],u++}}};return r(this),a}static assert(e){if(!(e instanceof S))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,k.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){const t={},a=[];for(const r of this.issues)if(r.path.length>0){const i=r.path[0];t[i]=t[i]||[],t[i].push(e(r))}else a.push(e(r));return{formErrors:a,fieldErrors:t}}get formErrors(){return this.flatten()}}S.create=s=>new S(s);const re=(s,e)=>{let t;switch(s.code){case d.invalid_type:s.received===m.undefined?t="Required":t=`Expected ${s.expected}, received ${s.received}`;break;case d.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(s.expected,k.jsonStringifyReplacer)}`;break;case d.unrecognized_keys:t=`Unrecognized key(s) in object: ${k.joinValues(s.keys,", ")}`;break;case d.invalid_union:t="Invalid input";break;case d.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${k.joinValues(s.options)}`;break;case d.invalid_enum_value:t=`Invalid enum value. Expected ${k.joinValues(s.options)}, received '${s.received}'`;break;case d.invalid_arguments:t="Invalid function arguments";break;case d.invalid_return_type:t="Invalid function return type";break;case d.invalid_date:t="Invalid date";break;case d.invalid_string:typeof s.validation=="object"?"includes"in s.validation?(t=`Invalid input: must include "${s.validation.includes}"`,typeof s.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${s.validation.position}`)):"startsWith"in s.validation?t=`Invalid input: must start with "${s.validation.startsWith}"`:"endsWith"in s.validation?t=`Invalid input: must end with "${s.validation.endsWith}"`:k.assertNever(s.validation):s.validation!=="regex"?t=`Invalid ${s.validation}`:t="Invalid";break;case d.too_small:s.type==="array"?t=`Array must contain ${s.exact?"exactly":s.inclusive?"at least":"more than"} ${s.minimum} element(s)`:s.type==="string"?t=`String must contain ${s.exact?"exactly":s.inclusive?"at least":"over"} ${s.minimum} character(s)`:s.type==="number"?t=`Number must be ${s.exact?"exactly equal to ":s.inclusive?"greater than or equal to ":"greater than "}${s.minimum}`:s.type==="bigint"?t=`Number must be ${s.exact?"exactly equal to ":s.inclusive?"greater than or equal to ":"greater than "}${s.minimum}`:s.type==="date"?t=`Date must be ${s.exact?"exactly equal to ":s.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(s.minimum))}`:t="Invalid input";break;case d.too_big:s.type==="array"?t=`Array must contain ${s.exact?"exactly":s.inclusive?"at most":"less than"} ${s.maximum} element(s)`:s.type==="string"?t=`String must contain ${s.exact?"exactly":s.inclusive?"at most":"under"} ${s.maximum} character(s)`:s.type==="number"?t=`Number must be ${s.exact?"exactly":s.inclusive?"less than or equal to":"less than"} ${s.maximum}`:s.type==="bigint"?t=`BigInt must be ${s.exact?"exactly":s.inclusive?"less than or equal to":"less than"} ${s.maximum}`:s.type==="date"?t=`Date must be ${s.exact?"exactly":s.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(s.maximum))}`:t="Invalid input";break;case d.custom:t="Invalid input";break;case d.invalid_intersection_types:t="Intersection results could not be merged";break;case d.not_multiple_of:t=`Number must be a multiple of ${s.multipleOf}`;break;case d.not_finite:t="Number must be finite";break;default:t=e.defaultError,k.assertNever(s)}return{message:t}};let Le=re;function Ve(){return Le}const Me=s=>{const{data:e,path:t,errorMaps:a,issueData:r}=s,i=[...t,...r.path||[]],o={...r,path:i};if(r.message!==void 0)return{...r,path:i,message:r.message};let l="";const u=a.filter(p=>!!p).slice().reverse();for(const p of u)l=p(o,{data:e,defaultError:l}).message;return{...r,path:i,message:l}};function c(s,e){const t=Ve(),a=Me({issueData:e,data:s.data,path:s.path,errorMaps:[s.common.contextualErrorMap,s.schemaErrorMap,t,t===re?void 0:re].filter(r=>!!r)});s.common.issues.push(a)}class w{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){const a=[];for(const r of t){if(r.status==="aborted")return f;r.status==="dirty"&&e.dirty(),a.push(r.value)}return{status:e.value,value:a}}static async mergeObjectAsync(e,t){const a=[];for(const r of t){const i=await r.key,o=await r.value;a.push({key:i,value:o})}return w.mergeObjectSync(e,a)}static mergeObjectSync(e,t){const a={};for(const r of t){const{key:i,value:o}=r;if(i.status==="aborted"||o.status==="aborted")return f;i.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),i.value!=="__proto__"&&(typeof o.value<"u"||r.alwaysSet)&&(a[i.value]=o.value)}return{status:e.value,value:a}}}const f=Object.freeze({status:"aborted"}),U=s=>({status:"dirty",value:s}),N=s=>({status:"valid",value:s}),me=s=>s.status==="aborted",he=s=>s.status==="dirty",z=s=>s.status==="valid",H=s=>typeof Promise<"u"&&s instanceof Promise;var h;(function(s){s.errToObj=e=>typeof e=="string"?{message:e}:e||{},s.toString=e=>typeof e=="string"?e:e?.message})(h||(h={}));class Z{constructor(e,t,a,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=a,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const pe=(s,e)=>{if(z(e))return{success:!0,data:e.value};if(!s.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new S(s.common.issues);return this._error=t,this._error}}};function x(s){if(!s)return{};const{errorMap:e,invalid_type_error:t,required_error:a,description:r}=s;if(e&&(t||a))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:r}:{errorMap:(o,l)=>{const{message:u}=s;return o.code==="invalid_enum_value"?{message:u??l.defaultError}:typeof l.data>"u"?{message:u??a??l.defaultError}:o.code!=="invalid_type"?{message:l.defaultError}:{message:u??t??l.defaultError}},description:r}}class v{get description(){return this._def.description}_getType(e){return O(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:O(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new w,ctx:{common:e.parent.common,data:e.data,parsedType:O(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(H(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const a=this.safeParse(e,t);if(a.success)return a.data;throw a.error}safeParse(e,t){const a={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:O(e)},r=this._parseSync({data:e,path:a.path,parent:a});return pe(a,r)}"~validate"(e){const t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:O(e)};if(!this["~standard"].async)try{const a=this._parseSync({data:e,path:[],parent:t});return z(a)?{value:a.value}:{issues:t.common.issues}}catch(a){a?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(a=>z(a)?{value:a.value}:{issues:t.common.issues})}async parseAsync(e,t){const a=await this.safeParseAsync(e,t);if(a.success)return a.data;throw a.error}async safeParseAsync(e,t){const a={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:O(e)},r=this._parse({data:e,path:a.path,parent:a}),i=await(H(r)?r:Promise.resolve(r));return pe(a,i)}refine(e,t){const a=r=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(r):t;return this._refinement((r,i)=>{const o=e(r),l=()=>i.addIssue({code:d.custom,...a(r)});return typeof Promise<"u"&&o instanceof Promise?o.then(u=>u?!0:(l(),!1)):o?!0:(l(),!1)})}refinement(e,t){return this._refinement((a,r)=>e(a)?!0:(r.addIssue(typeof t=="function"?t(a,r):t),!1))}_refinement(e){return new W({schema:this,typeName:g.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:t=>this["~validate"](t)}}optional(){return R.create(this,this._def)}nullable(){return B.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return C.create(this)}promise(){return X.create(this,this._def)}or(e){return G.create([this,e],this._def)}and(e){return Q.create(this,e,this._def)}transform(e){return new W({...x(this._def),schema:this,typeName:g.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new oe({...x(this._def),innerType:this,defaultValue:t,typeName:g.ZodDefault})}brand(){return new ot({typeName:g.ZodBranded,type:this,...x(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new le({...x(this._def),innerType:this,catchValue:t,typeName:g.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return ce.create(this,e)}readonly(){return de.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const Pe=/^c[^\s-]{8,}$/i,ze=/^[0-9a-z]+$/,De=/^[0-9A-HJKMNP-TV-Z]{26}$/i,We=/^[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,Be=/^[a-z0-9_-]{21}$/i,Ue=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Fe=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,qe=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Ye="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let te;const Je=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,He=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Ke=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Ge=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Qe=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Xe=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Te="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",et=new RegExp(`^${Te}$`);function Se(s){let e="[0-5]\\d";s.precision?e=`${e}\\.\\d{${s.precision}}`:s.precision==null&&(e=`${e}(\\.\\d+)?`);const t=s.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${t}`}function tt(s){return new RegExp(`^${Se(s)}$`)}function st(s){let e=`${Te}T${Se(s)}`;const t=[];return t.push(s.local?"Z?":"Z"),s.offset&&t.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${t.join("|")})`,new RegExp(`^${e}$`)}function at(s,e){return!!((e==="v4"||!e)&&Je.test(s)||(e==="v6"||!e)&&Ke.test(s))}function rt(s,e){if(!Ue.test(s))return!1;try{const[t]=s.split(".");if(!t)return!1;const a=t.replace(/-/g,"+").replace(/_/g,"/").padEnd(t.length+(4-t.length%4)%4,"="),r=JSON.parse(atob(a));return!(typeof r!="object"||r===null||"typ"in r&&r?.typ!=="JWT"||!r.alg||e&&r.alg!==e)}catch{return!1}}function it(s,e){return!!((e==="v4"||!e)&&He.test(s)||(e==="v6"||!e)&&Ge.test(s))}class A extends v{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==m.string){const i=this._getOrReturnCtx(e);return c(i,{code:d.invalid_type,expected:m.string,received:i.parsedType}),f}const a=new w;let r;for(const i of this._def.checks)if(i.kind==="min")e.data.length<i.value&&(r=this._getOrReturnCtx(e,r),c(r,{code:d.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),a.dirty());else if(i.kind==="max")e.data.length>i.value&&(r=this._getOrReturnCtx(e,r),c(r,{code:d.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),a.dirty());else if(i.kind==="length"){const o=e.data.length>i.value,l=e.data.length<i.value;(o||l)&&(r=this._getOrReturnCtx(e,r),o?c(r,{code:d.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):l&&c(r,{code:d.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),a.dirty())}else if(i.kind==="email")qe.test(e.data)||(r=this._getOrReturnCtx(e,r),c(r,{validation:"email",code:d.invalid_string,message:i.message}),a.dirty());else if(i.kind==="emoji")te||(te=new RegExp(Ye,"u")),te.test(e.data)||(r=this._getOrReturnCtx(e,r),c(r,{validation:"emoji",code:d.invalid_string,message:i.message}),a.dirty());else if(i.kind==="uuid")We.test(e.data)||(r=this._getOrReturnCtx(e,r),c(r,{validation:"uuid",code:d.invalid_string,message:i.message}),a.dirty());else if(i.kind==="nanoid")Be.test(e.data)||(r=this._getOrReturnCtx(e,r),c(r,{validation:"nanoid",code:d.invalid_string,message:i.message}),a.dirty());else if(i.kind==="cuid")Pe.test(e.data)||(r=this._getOrReturnCtx(e,r),c(r,{validation:"cuid",code:d.invalid_string,message:i.message}),a.dirty());else if(i.kind==="cuid2")ze.test(e.data)||(r=this._getOrReturnCtx(e,r),c(r,{validation:"cuid2",code:d.invalid_string,message:i.message}),a.dirty());else if(i.kind==="ulid")De.test(e.data)||(r=this._getOrReturnCtx(e,r),c(r,{validation:"ulid",code:d.invalid_string,message:i.message}),a.dirty());else if(i.kind==="url")try{new URL(e.data)}catch{r=this._getOrReturnCtx(e,r),c(r,{validation:"url",code:d.invalid_string,message:i.message}),a.dirty()}else i.kind==="regex"?(i.regex.lastIndex=0,i.regex.test(e.data)||(r=this._getOrReturnCtx(e,r),c(r,{validation:"regex",code:d.invalid_string,message:i.message}),a.dirty())):i.kind==="trim"?e.data=e.data.trim():i.kind==="includes"?e.data.includes(i.value,i.position)||(r=this._getOrReturnCtx(e,r),c(r,{code:d.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),a.dirty()):i.kind==="toLowerCase"?e.data=e.data.toLowerCase():i.kind==="toUpperCase"?e.data=e.data.toUpperCase():i.kind==="startsWith"?e.data.startsWith(i.value)||(r=this._getOrReturnCtx(e,r),c(r,{code:d.invalid_string,validation:{startsWith:i.value},message:i.message}),a.dirty()):i.kind==="endsWith"?e.data.endsWith(i.value)||(r=this._getOrReturnCtx(e,r),c(r,{code:d.invalid_string,validation:{endsWith:i.value},message:i.message}),a.dirty()):i.kind==="datetime"?st(i).test(e.data)||(r=this._getOrReturnCtx(e,r),c(r,{code:d.invalid_string,validation:"datetime",message:i.message}),a.dirty()):i.kind==="date"?et.test(e.data)||(r=this._getOrReturnCtx(e,r),c(r,{code:d.invalid_string,validation:"date",message:i.message}),a.dirty()):i.kind==="time"?tt(i).test(e.data)||(r=this._getOrReturnCtx(e,r),c(r,{code:d.invalid_string,validation:"time",message:i.message}),a.dirty()):i.kind==="duration"?Fe.test(e.data)||(r=this._getOrReturnCtx(e,r),c(r,{validation:"duration",code:d.invalid_string,message:i.message}),a.dirty()):i.kind==="ip"?at(e.data,i.version)||(r=this._getOrReturnCtx(e,r),c(r,{validation:"ip",code:d.invalid_string,message:i.message}),a.dirty()):i.kind==="jwt"?rt(e.data,i.alg)||(r=this._getOrReturnCtx(e,r),c(r,{validation:"jwt",code:d.invalid_string,message:i.message}),a.dirty()):i.kind==="cidr"?it(e.data,i.version)||(r=this._getOrReturnCtx(e,r),c(r,{validation:"cidr",code:d.invalid_string,message:i.message}),a.dirty()):i.kind==="base64"?Qe.test(e.data)||(r=this._getOrReturnCtx(e,r),c(r,{validation:"base64",code:d.invalid_string,message:i.message}),a.dirty()):i.kind==="base64url"?Xe.test(e.data)||(r=this._getOrReturnCtx(e,r),c(r,{validation:"base64url",code:d.invalid_string,message:i.message}),a.dirty()):k.assertNever(i);return{status:a.value,value:e.data}}_regex(e,t,a){return this.refinement(r=>e.test(r),{validation:t,code:d.invalid_string,...h.errToObj(a)})}_addCheck(e){return new A({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...h.errToObj(e)})}url(e){return this._addCheck({kind:"url",...h.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...h.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...h.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...h.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...h.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...h.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...h.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...h.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...h.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...h.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...h.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...h.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...h.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...h.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...h.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...h.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t?.position,...h.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...h.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...h.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...h.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...h.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...h.errToObj(t)})}nonempty(e){return this.min(1,h.errToObj(e))}trim(){return new A({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new A({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new A({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}A.create=s=>new A({checks:[],typeName:g.ZodString,coerce:s?.coerce??!1,...x(s)});function nt(s,e){const t=(s.toString().split(".")[1]||"").length,a=(e.toString().split(".")[1]||"").length,r=t>a?t:a,i=Number.parseInt(s.toFixed(r).replace(".","")),o=Number.parseInt(e.toFixed(r).replace(".",""));return i%o/10**r}class F extends v{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==m.number){const i=this._getOrReturnCtx(e);return c(i,{code:d.invalid_type,expected:m.number,received:i.parsedType}),f}let a;const r=new w;for(const i of this._def.checks)i.kind==="int"?k.isInteger(e.data)||(a=this._getOrReturnCtx(e,a),c(a,{code:d.invalid_type,expected:"integer",received:"float",message:i.message}),r.dirty()):i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(a=this._getOrReturnCtx(e,a),c(a,{code:d.too_small,minimum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),r.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(a=this._getOrReturnCtx(e,a),c(a,{code:d.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),r.dirty()):i.kind==="multipleOf"?nt(e.data,i.value)!==0&&(a=this._getOrReturnCtx(e,a),c(a,{code:d.not_multiple_of,multipleOf:i.value,message:i.message}),r.dirty()):i.kind==="finite"?Number.isFinite(e.data)||(a=this._getOrReturnCtx(e,a),c(a,{code:d.not_finite,message:i.message}),r.dirty()):k.assertNever(i);return{status:r.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,h.toString(t))}gt(e,t){return this.setLimit("min",e,!1,h.toString(t))}lte(e,t){return this.setLimit("max",e,!0,h.toString(t))}lt(e,t){return this.setLimit("max",e,!1,h.toString(t))}setLimit(e,t,a,r){return new F({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:a,message:h.toString(r)}]})}_addCheck(e){return new F({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:h.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:h.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:h.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:h.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:h.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:h.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:h.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:h.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:h.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&k.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const a of this._def.checks){if(a.kind==="finite"||a.kind==="int"||a.kind==="multipleOf")return!0;a.kind==="min"?(t===null||a.value>t)&&(t=a.value):a.kind==="max"&&(e===null||a.value<e)&&(e=a.value)}return Number.isFinite(t)&&Number.isFinite(e)}}F.create=s=>new F({checks:[],typeName:g.ZodNumber,coerce:s?.coerce||!1,...x(s)});class q extends v{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==m.bigint)return this._getInvalidInput(e);let a;const r=new w;for(const i of this._def.checks)i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(a=this._getOrReturnCtx(e,a),c(a,{code:d.too_small,type:"bigint",minimum:i.value,inclusive:i.inclusive,message:i.message}),r.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(a=this._getOrReturnCtx(e,a),c(a,{code:d.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),r.dirty()):i.kind==="multipleOf"?e.data%i.value!==BigInt(0)&&(a=this._getOrReturnCtx(e,a),c(a,{code:d.not_multiple_of,multipleOf:i.value,message:i.message}),r.dirty()):k.assertNever(i);return{status:r.value,value:e.data}}_getInvalidInput(e){const t=this._getOrReturnCtx(e);return c(t,{code:d.invalid_type,expected:m.bigint,received:t.parsedType}),f}gte(e,t){return this.setLimit("min",e,!0,h.toString(t))}gt(e,t){return this.setLimit("min",e,!1,h.toString(t))}lte(e,t){return this.setLimit("max",e,!0,h.toString(t))}lt(e,t){return this.setLimit("max",e,!1,h.toString(t))}setLimit(e,t,a,r){return new q({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:a,message:h.toString(r)}]})}_addCheck(e){return new q({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:h.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:h.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:h.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:h.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:h.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}q.create=s=>new q({checks:[],typeName:g.ZodBigInt,coerce:s?.coerce??!1,...x(s)});class fe extends v{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==m.boolean){const a=this._getOrReturnCtx(e);return c(a,{code:d.invalid_type,expected:m.boolean,received:a.parsedType}),f}return N(e.data)}}fe.create=s=>new fe({typeName:g.ZodBoolean,coerce:s?.coerce||!1,...x(s)});class K extends v{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==m.date){const i=this._getOrReturnCtx(e);return c(i,{code:d.invalid_type,expected:m.date,received:i.parsedType}),f}if(Number.isNaN(e.data.getTime())){const i=this._getOrReturnCtx(e);return c(i,{code:d.invalid_date}),f}const a=new w;let r;for(const i of this._def.checks)i.kind==="min"?e.data.getTime()<i.value&&(r=this._getOrReturnCtx(e,r),c(r,{code:d.too_small,message:i.message,inclusive:!0,exact:!1,minimum:i.value,type:"date"}),a.dirty()):i.kind==="max"?e.data.getTime()>i.value&&(r=this._getOrReturnCtx(e,r),c(r,{code:d.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),a.dirty()):k.assertNever(i);return{status:a.value,value:new Date(e.data.getTime())}}_addCheck(e){return new K({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:h.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:h.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e!=null?new Date(e):null}}K.create=s=>new K({checks:[],coerce:s?.coerce||!1,typeName:g.ZodDate,...x(s)});class ge extends v{_parse(e){if(this._getType(e)!==m.symbol){const a=this._getOrReturnCtx(e);return c(a,{code:d.invalid_type,expected:m.symbol,received:a.parsedType}),f}return N(e.data)}}ge.create=s=>new ge({typeName:g.ZodSymbol,...x(s)});class ye extends v{_parse(e){if(this._getType(e)!==m.undefined){const a=this._getOrReturnCtx(e);return c(a,{code:d.invalid_type,expected:m.undefined,received:a.parsedType}),f}return N(e.data)}}ye.create=s=>new ye({typeName:g.ZodUndefined,...x(s)});class xe extends v{_parse(e){if(this._getType(e)!==m.null){const a=this._getOrReturnCtx(e);return c(a,{code:d.invalid_type,expected:m.null,received:a.parsedType}),f}return N(e.data)}}xe.create=s=>new xe({typeName:g.ZodNull,...x(s)});class ve extends v{constructor(){super(...arguments),this._any=!0}_parse(e){return N(e.data)}}ve.create=s=>new ve({typeName:g.ZodAny,...x(s)});class ke extends v{constructor(){super(...arguments),this._unknown=!0}_parse(e){return N(e.data)}}ke.create=s=>new ke({typeName:g.ZodUnknown,...x(s)});class E extends v{_parse(e){const t=this._getOrReturnCtx(e);return c(t,{code:d.invalid_type,expected:m.never,received:t.parsedType}),f}}E.create=s=>new E({typeName:g.ZodNever,...x(s)});class _e extends v{_parse(e){if(this._getType(e)!==m.undefined){const a=this._getOrReturnCtx(e);return c(a,{code:d.invalid_type,expected:m.void,received:a.parsedType}),f}return N(e.data)}}_e.create=s=>new _e({typeName:g.ZodVoid,...x(s)});class C extends v{_parse(e){const{ctx:t,status:a}=this._processInputParams(e),r=this._def;if(t.parsedType!==m.array)return c(t,{code:d.invalid_type,expected:m.array,received:t.parsedType}),f;if(r.exactLength!==null){const o=t.data.length>r.exactLength.value,l=t.data.length<r.exactLength.value;(o||l)&&(c(t,{code:o?d.too_big:d.too_small,minimum:l?r.exactLength.value:void 0,maximum:o?r.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:r.exactLength.message}),a.dirty())}if(r.minLength!==null&&t.data.length<r.minLength.value&&(c(t,{code:d.too_small,minimum:r.minLength.value,type:"array",inclusive:!0,exact:!1,message:r.minLength.message}),a.dirty()),r.maxLength!==null&&t.data.length>r.maxLength.value&&(c(t,{code:d.too_big,maximum:r.maxLength.value,type:"array",inclusive:!0,exact:!1,message:r.maxLength.message}),a.dirty()),t.common.async)return Promise.all([...t.data].map((o,l)=>r.type._parseAsync(new Z(t,o,t.path,l)))).then(o=>w.mergeArray(a,o));const i=[...t.data].map((o,l)=>r.type._parseSync(new Z(t,o,t.path,l)));return w.mergeArray(a,i)}get element(){return this._def.type}min(e,t){return new C({...this._def,minLength:{value:e,message:h.toString(t)}})}max(e,t){return new C({...this._def,maxLength:{value:e,message:h.toString(t)}})}length(e,t){return new C({...this._def,exactLength:{value:e,message:h.toString(t)}})}nonempty(e){return this.min(1,e)}}C.create=(s,e)=>new C({type:s,minLength:null,maxLength:null,exactLength:null,typeName:g.ZodArray,...x(e)});function P(s){if(s instanceof b){const e={};for(const t in s.shape){const a=s.shape[t];e[t]=R.create(P(a))}return new b({...s._def,shape:()=>e})}else return s instanceof C?new C({...s._def,type:P(s.element)}):s instanceof R?R.create(P(s.unwrap())):s instanceof B?B.create(P(s.unwrap())):s instanceof $?$.create(s.items.map(e=>P(e))):s}class b extends v{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),t=k.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==m.object){const p=this._getOrReturnCtx(e);return c(p,{code:d.invalid_type,expected:m.object,received:p.parsedType}),f}const{status:a,ctx:r}=this._processInputParams(e),{shape:i,keys:o}=this._getCached(),l=[];if(!(this._def.catchall instanceof E&&this._def.unknownKeys==="strip"))for(const p in r.data)o.includes(p)||l.push(p);const u=[];for(const p of o){const y=i[p],_=r.data[p];u.push({key:{status:"valid",value:p},value:y._parse(new Z(r,_,r.path,p)),alwaysSet:p in r.data})}if(this._def.catchall instanceof E){const p=this._def.unknownKeys;if(p==="passthrough")for(const y of l)u.push({key:{status:"valid",value:y},value:{status:"valid",value:r.data[y]}});else if(p==="strict")l.length>0&&(c(r,{code:d.unrecognized_keys,keys:l}),a.dirty());else if(p!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const p=this._def.catchall;for(const y of l){const _=r.data[y];u.push({key:{status:"valid",value:y},value:p._parse(new Z(r,_,r.path,y)),alwaysSet:y in r.data})}}return r.common.async?Promise.resolve().then(async()=>{const p=[];for(const y of u){const _=await y.key,j=await y.value;p.push({key:_,value:j,alwaysSet:y.alwaysSet})}return p}).then(p=>w.mergeObjectSync(a,p)):w.mergeObjectSync(a,u)}get shape(){return this._def.shape()}strict(e){return h.errToObj,new b({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,a)=>{const r=this._def.errorMap?.(t,a).message??a.defaultError;return t.code==="unrecognized_keys"?{message:h.errToObj(e).message??r}:{message:r}}}:{}})}strip(){return new b({...this._def,unknownKeys:"strip"})}passthrough(){return new b({...this._def,unknownKeys:"passthrough"})}extend(e){return new b({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new b({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:g.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new b({...this._def,catchall:e})}pick(e){const t={};for(const a of k.objectKeys(e))e[a]&&this.shape[a]&&(t[a]=this.shape[a]);return new b({...this._def,shape:()=>t})}omit(e){const t={};for(const a of k.objectKeys(this.shape))e[a]||(t[a]=this.shape[a]);return new b({...this._def,shape:()=>t})}deepPartial(){return P(this)}partial(e){const t={};for(const a of k.objectKeys(this.shape)){const r=this.shape[a];e&&!e[a]?t[a]=r:t[a]=r.optional()}return new b({...this._def,shape:()=>t})}required(e){const t={};for(const a of k.objectKeys(this.shape))if(e&&!e[a])t[a]=this.shape[a];else{let i=this.shape[a];for(;i instanceof R;)i=i._def.innerType;t[a]=i}return new b({...this._def,shape:()=>t})}keyof(){return Oe(k.objectKeys(this.shape))}}b.create=(s,e)=>new b({shape:()=>s,unknownKeys:"strip",catchall:E.create(),typeName:g.ZodObject,...x(e)});b.strictCreate=(s,e)=>new b({shape:()=>s,unknownKeys:"strict",catchall:E.create(),typeName:g.ZodObject,...x(e)});b.lazycreate=(s,e)=>new b({shape:s,unknownKeys:"strip",catchall:E.create(),typeName:g.ZodObject,...x(e)});class G extends v{_parse(e){const{ctx:t}=this._processInputParams(e),a=this._def.options;function r(i){for(const l of i)if(l.result.status==="valid")return l.result;for(const l of i)if(l.result.status==="dirty")return t.common.issues.push(...l.ctx.common.issues),l.result;const o=i.map(l=>new S(l.ctx.common.issues));return c(t,{code:d.invalid_union,unionErrors:o}),f}if(t.common.async)return Promise.all(a.map(async i=>{const o={...t,common:{...t.common,issues:[]},parent:null};return{result:await i._parseAsync({data:t.data,path:t.path,parent:o}),ctx:o}})).then(r);{let i;const o=[];for(const u of a){const p={...t,common:{...t.common,issues:[]},parent:null},y=u._parseSync({data:t.data,path:t.path,parent:p});if(y.status==="valid")return y;y.status==="dirty"&&!i&&(i={result:y,ctx:p}),p.common.issues.length&&o.push(p.common.issues)}if(i)return t.common.issues.push(...i.ctx.common.issues),i.result;const l=o.map(u=>
vendor: 4,527 bytes, line 1
1new S(u));return c(t,{code:d.invalid_union,unionErrors:l}),f}}get options(){return this._def.options}}G.create=(s,e)=>new G({options:s,typeName:g.ZodUnion,...x(e)});function ie(s,e){const t=O(s),a=O(e);if(s===e)return{valid:!0,data:s};if(t===m.object&&a===m.object){const r=k.objectKeys(e),i=k.objectKeys(s).filter(l=>r.indexOf(l)!==-1),o={...s,...e};for(const l of i){const u=ie(s[l],e[l]);if(!u.valid)return{valid:!1};o[l]=u.data}return{valid:!0,data:o}}else if(t===m.array&&a===m.array){if(s.length!==e.length)return{valid:!1};const r=[];for(let i=0;i<s.length;i++){const o=s[i],l=e[i],u=ie(o,l);if(!u.valid)return{valid:!1};r.push(u.data)}return{valid:!0,data:r}}else return t===m.date&&a===m.date&&+s==+e?{valid:!0,data:s}:{valid:!1}}class Q extends v{_parse(e){const{status:t,ctx:a}=this._processInputParams(e),r=(i,o)=>{if(me(i)||me(o))return f;const l=ie(i.value,o.value);return l.valid?((he(i)||he(o))&&t.dirty(),{status:t.value,value:l.data}):(c(a,{code:d.invalid_intersection_types}),f)};return a.common.async?Promise.all([this._def.left._parseAsync({data:a.data,path:a.path,parent:a}),this._def.right._parseAsync({data:a.data,path:a.path,parent:a})]).then(([i,o])=>r(i,o)):r(this._def.left._parseSync({data:a.data,path:a.path,parent:a}),this._def.right._parseSync({data:a.data,path:a.path,parent:a}))}}Q.create=(s,e,t)=>new Q({left:s,right:e,typeName:g.ZodIntersection,...x(t)});class $ extends v{_parse(e){const{status:t,ctx:a}=this._processInputParams(e);if(a.parsedType!==m.array)return c(a,{code:d.invalid_type,expected:m.array,received:a.parsedType}),f;if(a.data.length<this._def.items.length)return c(a,{code:d.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),f;!this._def.rest&&a.data.length>this._def.items.length&&(c(a,{code:d.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const i=[...a.data].map((o,l)=>{const u=this._def.items[l]||this._def.rest;return u?u._parse(new Z(a,o,a.path,l)):null}).filter(o=>!!o);return a.common.async?Promise.all(i).then(o=>w.mergeArray(t,o)):w.mergeArray(t,i)}get items(){return this._def.items}rest(e){return new $({...this._def,rest:e})}}$.create=(s,e)=>{if(!Array.isArray(s))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new $({items:s,typeName:g.ZodTuple,rest:null,...x(e)})};class be extends v{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:a}=this._processInputParams(e);if(a.parsedType!==m.map)return c(a,{code:d.invalid_type,expected:m.map,received:a.parsedType}),f;const r=this._def.keyType,i=this._def.valueType,o=[...a.data.entries()].map(([l,u],p)=>({key:r._parse(new Z(a,l,a.path,[p,"key"])),value:i._parse(new Z(a,u,a.path,[p,"value"]))}));if(a.common.async){const l=new Map;return Promise.resolve().then(async()=>{for(const u of o){const p=await u.key,y=await u.value;if(p.status==="aborted"||y.status==="aborted")return f;(p.status==="dirty"||y.status==="dirty")&&t.dirty(),l.set(p.value,y.value)}return{status:t.value,value:l}})}else{const l=new Map;for(const u of o){const p=u.key,y=u.value;if(p.status==="aborted"||y.status==="aborted")return f;(p.status==="dirty"||y.status==="dirty")&&t.dirty(),l.set(p.value,y.value)}return{status:t.value,value:l}}}}be.create=(s,e,t)=>new be({valueType:e,keyType:s,typeName:g.ZodMap,...x(t)});class Y extends v{_parse(e){const{status:t,ctx:a}=this._processInputParams(e);if(a.parsedType!==m.set)return c(a,{code:d.invalid_type,expected:m.set,received:a.parsedType}),f;const r=this._def;r.minSize!==null&&a.data.size<r.minSize.value&&(c(a,{code:d.too_small,minimum:r.minSize.value,type:"set",inclusive:!0,exact:!1,message:r.minSize.message}),t.dirty()),r.maxSize!==null&&a.data.size>r.maxSize.value&&(c(a,{code:d.too_big,maximum:r.maxSize.value,type:"set",inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty());const i=this._def.valueType;function o(u){const p=new Set;for(const y of u){if(y.status==="aborted")return f;y.status==="dirty"&&t.dirty(),p.add(y.value)}return{status:t.value,value:p}}const l=[...a.data.values()].map((u,p)=>i._parse(new Z(a,u,a.path,p)));return a.common.async?Promise.all(l).then(u=>o(u)):o(l)}min(e,t){return new Y({...this._def,minSize:{value:e,message:h.toString(t)}})}max(e,t){return new Y({...this._def,maxSize:{value:e,message:h.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}Y.create=(s,e)=>new Y({valueType:s,minSize:null,maxSize:null,typeName:g.ZodSet,...x(e)});
vendor: 5,702 bytes, line 1
1class je extends v{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}je.create=(s,e)=>new je({getter:s,typeName:g.ZodLazy,...x(e)});class ne extends v{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return c(t,{received:t.data,code:d.invalid_literal,expected:this._def.value}),f}return{status:"valid",value:e.data}}get value(){return this._def.value}}ne.create=(s,e)=>new ne({value:s,typeName:g.ZodLiteral,...x(e)});function Oe(s,e){return new D({values:s,typeName:g.ZodEnum,...x(e)})}class D extends v{_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),a=this._def.values;return c(t,{expected:k.joinValues(a),received:t.parsedType,code:d.invalid_type}),f}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){const t=this._getOrReturnCtx(e),a=this._def.values;return c(t,{received:t.data,code:d.invalid_enum_value,options:a}),f}return N(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return D.create(e,{...this._def,...t})}exclude(e,t=this._def){return D.create(this.options.filter(a=>!e.includes(a)),{...this._def,...t})}}D.create=Oe;class we extends v{_parse(e){const t=k.getValidEnumValues(this._def.values),a=this._getOrReturnCtx(e);if(a.parsedType!==m.string&&a.parsedType!==m.number){const r=k.objectValues(t);return c(a,{expected:k.joinValues(r),received:a.parsedType,code:d.invalid_type}),f}if(this._cache||(this._cache=new Set(k.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){const r=k.objectValues(t);return c(a,{received:a.data,code:d.invalid_enum_value,options:r}),f}return N(e.data)}get enum(){return this._def.values}}we.create=(s,e)=>new we({values:s,typeName:g.ZodNativeEnum,...x(e)});class X extends v{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==m.promise&&t.common.async===!1)return c(t,{code:d.invalid_type,expected:m.promise,received:t.parsedType}),f;const a=t.parsedType===m.promise?t.data:Promise.resolve(t.data);return N(a.then(r=>this._def.type.parseAsync(r,{path:t.path,errorMap:t.common.contextualErrorMap})))}}X.create=(s,e)=>new X({type:s,typeName:g.ZodPromise,...x(e)});class W extends v{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===g.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:a}=this._processInputParams(e),r=this._def.effect||null,i={addIssue:o=>{c(a,o),o.fatal?t.abort():t.dirty()},get path(){return a.path}};if(i.addIssue=i.addIssue.bind(i),r.type==="preprocess"){const o=r.transform(a.data,i);if(a.common.async)return Promise.resolve(o).then(async l=>{if(t.value==="aborted")return f;const u=await this._def.schema._parseAsync({data:l,path:a.path,parent:a});return u.status==="aborted"?f:u.status==="dirty"||t.value==="dirty"?U(u.value):u});{if(t.value==="aborted")return f;const l=this._def.schema._parseSync({data:o,path:a.path,parent:a});return l.status==="aborted"?f:l.status==="dirty"||t.value==="dirty"?U(l.value):l}}if(r.type==="refinement"){const o=l=>{const u=r.refinement(l,i);if(a.common.async)return Promise.resolve(u);if(u instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return l};if(a.common.async===!1){const l=this._def.schema._parseSync({data:a.data,path:a.path,parent:a});return l.status==="aborted"?f:(l.status==="dirty"&&t.dirty(),o(l.value),{status:t.value,value:l.value})}else return this._def.schema._parseAsync({data:a.data,path:a.path,parent:a}).then(l=>l.status==="aborted"?f:(l.status==="dirty"&&t.dirty(),o(l.value).then(()=>({status:t.value,value:l.value}))))}if(r.type==="transform")if(a.common.async===!1){const o=this._def.schema._parseSync({data:a.data,path:a.path,parent:a});if(!z(o))return f;const l=r.transform(o.value,i);if(l instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:l}}else return this._def.schema._parseAsync({data:a.data,path:a.path,parent:a}).then(o=>z(o)?Promise.resolve(r.transform(o.value,i)).then(l=>({status:t.value,value:l})):f);k.assertNever(r)}}W.create=(s,e,t)=>new W({schema:s,typeName:g.ZodEffects,effect:e,...x(t)});W.createWithPreprocess=(s,e,t)=>new W({schema:e,effect:{type:"preprocess",transform:s},typeName:g.ZodEffects,...x(t)});class R extends v{_parse(e){return this._getType(e)===m.undefined?N(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}R.create=(s,e)=>new R({innerType:s,typeName:g.ZodOptional,...x(e)});class B extends v{_parse(e){return this._getType(e)===m.null?N(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}B.create=(s,e)=>new B({innerType:s,typeName:g.ZodNullable,...x(e)});class oe extends v{_parse(e){const{ctx:t}=this._processInputParams(e);let a=t.data;return t.parsedType===m.undefined&&(a=this._def.defaultValue()),this._def.innerType._parse({data:a,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}oe.create=(s,e)=>new oe({innerType:s,typeName:g.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...x(e)});class le extends v{_parse(e){const{ctx:t}=this._processInputParams(e),a={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:a.data,path:a.path,parent:{...a}});return H(r)?r.then(i=>
1({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new S(a.common.issues)},input:a.data})})):{status:"valid",value:r.status==="valid"?r.value:this._def.catchValue({get error(){return new S(a.common.issues)},input:a.data})}}removeCatch(){return this._def.innerType}}le.create=(s,e)=>new le({innerType:s,typeName:g.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...x(e)});class Ne extends v{_parse(e){if(this._getType(e)!==m.nan){const a=this._getOrReturnCtx(e);return c(a,{code:d.invalid_type,expected:m.nan,received:a.parsedType}),f}return{status:"valid",value:e.data}}}Ne.create=s=>new Ne({typeName:g.ZodNaN,...x(s)});class ot extends v{_parse(e){const{ctx:t}=this._processInputParams(e),a=t.data;return this._def.type._parse({data:a,path:t.path,parent:t})}unwrap(){return this._def.type}}class ce extends v{_parse(e){const{status:t,ctx:a}=this._processInputParams(e);if(a.common.async)return(async()=>{const i=await this._def.in._parseAsync({data:a.data,path:a.path,parent:a});return i.status==="aborted"?f:i.status==="dirty"?(t.dirty(),U(i.value)):this._def.out._parseAsync({data:i.value,path:a.path,parent:a})})();{const r=this._def.in._parseSync({data:a.data,path:a.path,parent:a});return r.status==="aborted"?f:r.status==="dirty"?(t.dirty(),{status:"dirty",value:r.value}):this._def.out._parseSync({data:r.value,path:a.path,parent:a})}}static create(e,t){return new ce({in:e,out:t,typeName:g.ZodPipeline})}}class de extends v{_parse(e){const t=this._def.innerType._parse(e),a=r=>(z(r)&&(r.value=Object.freeze(r.value)),r);return H(t)?t.then(r=>a(r)):a(t)}unwrap(){return this._def.innerType}}de.create=(s,e)=>new de({innerType:s,typeName:g.ZodReadonly,...x(e)});var g;(function(s){s.ZodString="ZodString",s.ZodNumber="ZodNumber",s.ZodNaN="ZodNaN",s.ZodBigInt="ZodBigInt",s.ZodBoolean="ZodBoolean",s.ZodDate="ZodDate",s.ZodSymbol="ZodSymbol",s.ZodUndefined="ZodUndefined",s.ZodNull="ZodNull",s.ZodAny="ZodAny",s.ZodUnknown="ZodUnknown",s.ZodNever="ZodNever",s.ZodVoid="ZodVoid",s.ZodArray="ZodArray",s.ZodObject="ZodObject",s.ZodUnion="ZodUnion",s.ZodDiscriminatedUnion="ZodDiscriminatedUnion",s.ZodIntersection="ZodIntersection",s.ZodTuple="ZodTuple",s.ZodRecord="ZodRecord",s.ZodMap="ZodMap",s.ZodSet="ZodSet",s.ZodFunction="ZodFunction",s.ZodLazy="ZodLazy",s.ZodLiteral="ZodLiteral",s.ZodEnum="ZodEnum",s.ZodEffects="ZodEffects",s.ZodNativeEnum="ZodNativeEnum",s.ZodOptional="ZodOptional",s.ZodNullable="ZodNullable",s.ZodDefault="ZodDefault",s.ZodCatch="ZodCatch",s.ZodPromise="ZodPromise",s.ZodBranded="ZodBranded",s.ZodPipeline="ZodPipeline",s.ZodReadonly="ZodReadonly"})(g||(g={}));const V=A.create;E.create;C.create;const lt=b.create;G.create;Q.create;$.create;const se=ne.create,dt=D.create;X.create;R.create;B.create;const ct=lt({name:V().trim().min(1,"Anna nimesi").max(200),email:V().trim().min(3,"Anna sähköposti").max(320).email("Tarkista sähköpostiosoite"),phone:V().trim().max(50,"Puhelinnumero on liian pitkä").optional().or(se("")),company:V().trim().max(200,"Yrityksen nimi on liian pitkä").optional().or(se("")),topic:dt(["rekrytointi","suorahaku","muu"]),message:V().trim().min(1,"Kirjoita viesti").max(5e3,"Viesti on liian pitkä"),website:V().max(0).optional().or(se(""))}),Ae=[{value:"rekrytointi",label:"Rekrytointi"},{value:"suorahaku",label:"Suorahaku"},{value:"muu",label:"Muu"}],Ce=s=>Ae.find(e=>e.value===s)?.label??s,ae={name:"",email:"",phone:"",company:"",topic:"rekrytointi",message:"",website:""},ut="https://formsubmit.co/ajax/[email protected]";function mt(){const[s,e]=J.useState(ae),[t,a]=J.useState({}),[r,i]=J.useState("idle"),[o,l]=J.useState(null),u=(_,j)=>{e(T=>({...T,[_]:j})),t[_]&&a(T=>({...T,[_]:void 0}))},p=async _=>{_.preventDefault(),l(null);const j=ct.safeParse(s);if(!j.success){const T={};for(const L of j.error.issues){const I=L.path[0];I&&!T[I]&&(T[I]=L.message)}a(T);return}if(j.data.website){i("success"),e(ae);return}i("submitting");try{const T={Nimi:j.data.name.trim(),Sähköposti:j.data.email.trim(),Puhelin:j.data.phone?.trim()||"-",Yritys:j.data.company?.trim()||"-",Aihe:Ce(j.data.topic),Viesti:j.data.message.trim(),_subject:`Uusi yhteydenotto: ${Ce(j.data.topic)} — ${j.data.name.trim()}`,_cc:"[email protected]",_template:"table",_replyto:j.data.email.trim()},L=await fetch(ut,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(T)});if(!L.ok)throw new Error(`HTTP ${L.status}`);const I=await L.json().catch(()=>({}));if(I.success&&I.success!=="true"&&I.success!=="True")throw new Error("Unexpected response");i("success"),e(ae)}catch{i("error"),l("Viestin lähettäminen epäonnistui. Yritä uudelleen tai laita sähköpostia osoitteeseen [email protected].")}};if(r==="success")return n.jsxs("div",{className:"rounded-3xl border border-primary/30 bg-primary/5 p-8 md:p-10",children:[n.jsx("h3",{className:"display-text text-2xl md:text-3xl",children:"Kiitos viestistäsi!"}
1),n.jsx("p",{className:"mt-4 text-foreground/80 leading-relaxed",children:"Olemme sinuun yhteydessä arkipäivien aikana. Kiireellisissä asioissa voit soittaa tai laittaa sähköpostia osoitteeseen [email protected]."}),n.jsxs("button",{type:"button",onClick:()=>i("idle"),className:"mt-6 inline-flex items-center gap-2 text-sm font-medium text-foreground hover:text-primary border-b border-foreground/30 hover:border-primary pb-1 transition-colors",children:["Lähetä uusi viesti",n.jsx("span",{"aria-hidden":!0,children:"→"})]})]});const y="w-full rounded-2xl border bg-background px-5 py-4 text-base text-foreground placeholder:text-muted-foreground/70 focus:outline-none focus:ring-2 focus:ring-primary/40 focus:border-primary transition-colors";return n.jsxs("form",{onSubmit:p,noValidate:!0,className:"space-y-5",children:[n.jsx("div",{className:"hidden","aria-hidden":"true",children:n.jsxs("label",{children:["Älä täytä tätä kenttää",n.jsx("input",{type:"text",tabIndex:-1,autoComplete:"off",value:s.website,onChange:_=>u("website",_.target.value)})]})}),n.jsxs("div",{className:"grid sm:grid-cols-2 gap-5",children:[n.jsx(M,{label:"Nimi *",error:t.name,htmlFor:"cf-name",children:n.jsx("input",{id:"cf-name",type:"text",required:!0,autoComplete:"name",value:s.name,onChange:_=>u("name",_.target.value),className:`${y} ${t.name?"border-destructive":"border-border"}`})}),n.jsx(M,{label:"Sähköposti *",error:t.email,htmlFor:"cf-email",children:n.jsx("input",{id:"cf-email",type:"email",required:!0,autoComplete:"email",value:s.email,onChange:_=>u("email",_.target.value),className:`${y} ${t.email?"border-destructive":"border-border"}`})})]}),n.jsxs("div",{className:"grid sm:grid-cols-2 gap-5",children:[n.jsx(M,{label:"Puhelinnumero",error:t.phone,htmlFor:"cf-phone",children:n.jsx("input",{id:"cf-phone",type:"tel",autoComplete:"tel",value:s.phone,onChange:_=>u("phone",_.target.value),className:`${y} ${t.phone?"border-destructive":"border-border"}`})}),n.jsx(M,{label:"Yritys",error:t.company,htmlFor:"cf-company",children:n.jsx("input",{id:"cf-company",type:"text",autoComplete:"organization",value:s.company,onChange:_=>u("company",_.target.value),className:`${y} ${t.company?"border-destructive":"border-border"}`})})]}),n.jsx(M,{label:"Aihe",error:t.topic,htmlFor:"cf-topic",children:n.jsx("select",{id:"cf-topic",value:s.topic,onChange:_=>u("topic",_.target.value),className:`${y} appearance-none border-border bg-[right_1.25rem_center] bg-no-repeat pr-12`,style:{backgroundImage:`url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>")`},children:Ae.map(_=>n.jsx("option",{value:_.value,children:_.label},_.value))})}),n.jsx(M,{label:"Viesti *",error:t.message,htmlFor:"cf-message",children:n.jsx("textarea",{id:"cf-message",required:!0,rows:6,value:s.message,onChange:_=>u("message",_.target.value),className:`${y} resize-y min-h-[140px] ${t.message?"border-destructive":"border-border"}`})}),o&&n.jsx("p",{className:"text-sm text-destructive",role:"alert",children:o}),n.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center gap-4 pt-2",children:[n.jsxs("button",{type:"submit",disabled:r==="submitting",className:"group inline-flex items-center gap-2 rounded-full bg-foreground text-background px-7 py-4 text-sm font-medium hover:bg-primary hover:text-primary-foreground transition-colors disabled:opacity-60 disabled:cursor-not-allowed w-fit",children:[r==="submitting"?"Lähetetään…":"Lähetä viesti",n.jsx("span",{"aria-hidden":!0,className:"inline-block transition-transform duration-300 group-hover:translate-x-1",children:"→"})]}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"Tähdellä (*) merkityt kentät ovat pakollisia."})]})]})}function M({label:s,error:e,htmlFor:t,children:a}){return n.jsxs("div",{children:[n.jsx("label",{htmlFor:t,className:"block text-xs uppercase tracking-[0.2em] text-muted-foreground mb-2",children:s}),a,e&&n.jsx("p",{className:"mt-2 text-xs text-destructive",role:"alert",children:e})]})}const ht="/__l5e/assets-v1/a9923f52-249d-4860-aa50-edc0f413b069/wecon-tarina-keskustelu-portaalla.jpg",pt={url:ht},ft="/__l5e/assets-v1/f0adf17e-93df-4931-ad7c-eb2941fb2080/wecon-tarina-keskustelu-portaalla.webp",gt={url:ft},yt=[{title:"Inhimillisyys",body:"Ehdokkaat ja asiakkaat ovat ihmisiä, eivät CV:itä tai tilauksia. Kohtelemme molempia niin kuin haluaisimme itseämme kohdeltavan."},{title:"Avoimuus",body:"Selvä hinnoittelu, rehellinen viestintä ja realistiset arviot. Sanomme myös sen, mikä ei toimi."},{title:"Tuloksellisuus",body:"Onnistunut rekrytointi näkyy vuosia eteenpäin. Vastaamme lopputuloksesta — ei vain prosessista."}],xt=[{name:"Laura Willberg",role:"Toimitusjohtaja, osakas",phone:"+358 50 586 2769",phoneHref:"tel:+358505862769",email:"[email protected]",linkedin:"https://www.linkedin.com/in/laurawillberg",image:"/__l5e/assets-v1/64047b15-2f11-4ef4-b5a9-84cdf91e683d/wecon-laura-willberg-portrait.jpg",imageWebp:"/__l5e/assets-v1/2f1d6191-3482-4b71-abf8-f2f00658d88b/wecon-laura-willberg-portrait.webp",imageAlt:"Hymyilevä tummahiuksinen nainen valkoisessa paidassa studiomuotokuvassa tummansinistä taustaa vasten."},{name:"Esa Riikonen",role:"Konsultti",phone:"+358 40 076 2227",phoneHref:"tel:+358400762227",email:"[email protected]",linkedin:"https://www.linkedin.com/in/esariikonen",image:"/__l5e/assets-v1/ca5ae61c-9b37-4698-99d7-57086996a929/wecon-e
1sa-riikonen-portrait.jpg",imageWebp:"/__l5e/assets-v1/6822633d-74b8-4337-bfa1-3b8fa48ff702/wecon-esa-riikonen-portrait.webp",imageAlt:"Hymyilevä tummaan pikeepaitaan pukeutunut mies studiomuotokuvassa tummansinistä taustaa vasten."}],vt=["Johto ja avainhenkilöt","IT","Myynti (B-to-B)","Markkinointi ja viestintä","Hallinto ja liiketoiminnan tuki","Tekniikka ja insinöörityö","Talous","Asiakastuki","Liikkeenjohdon konsultointi"];function Tt(){return n.jsx(Re,{eyebrow:"WeCon",title:n.jsxs(n.Fragment,{children:["Yhdistämme oikeat ihmiset"," ",n.jsx("span",{className:"text-primary",children:"oikeisiin paikkoihin."})]}),lead:"WeCon on yrittäjävetoinen ja moderni rekrytointi- ja suorahakuyritys. Tiimillämme on yli 25 vuoden kokemus ulkoistetusta rekrytoinnista ja suorahausta. Palvelemme erityisesti Suomessa toimivia pk-yrityksiä.",breadcrumbs:[{label:"Etusivu",to:"/"},{label:"WeCon"}],cta:n.jsxs(ee,{to:"/wecon",hash:"yhteystiedot",className:"group inline-flex items-center gap-2 rounded-full bg-foreground text-background px-7 py-4 text-sm font-medium hover:bg-primary hover:text-primary-foreground transition-colors",children:["Yhteystiedot",n.jsx("span",{"aria-hidden":!0,className:"inline-block transition-transform duration-300 group-hover:rotate-90",children:"→"})]}),children:n.jsx("section",{className:"py-24 md:py-32",children:n.jsxs("div",{className:"mx-auto max-w-[1600px] px-6 md:px-12 space-y-24 md:space-y-32",children:[n.jsxs("div",{id:"tarina",className:"scroll-mt-24 space-y-16 md:space-y-20",children:[n.jsxs("div",{className:"grid lg:grid-cols-12 gap-8 items-end",children:[n.jsxs("div",{className:"lg:col-span-7",children:[n.jsx("p",{className:"text-xs uppercase tracking-[0.25em] text-muted-foreground mb-4",children:"Tarinamme"}),n.jsxs("h2",{className:"display-text text-[clamp(2rem,5vw,4.5rem)] leading-[1.02]",children:["Rekrytointi on ennen kaikkea"," ",n.jsx("span",{className:"text-primary",children:"ihmisten kohtaamista."})]})]}),n.jsx("div",{className:"lg:col-span-5",children:n.jsx("p",{className:"text-base md:text-lg text-foreground/75 leading-relaxed",children:"WeCon syntyi halusta tehdä rekrytointeja hieman inhimillisemmin, niin että asiakkaat saavat henkilökohtaista palvelua ja ehdokkaat tulevat kohdatuksi ihmisinä, eivät vain hakemuksina."})})]}),n.jsx("div",{className:"overflow-hidden rounded-3xl bg-muted",children:n.jsxs("picture",{children:[n.jsx("source",{srcSet:Ee.url,type:"image/webp"}),n.jsx("img",{src:Ie.url,alt:"WeConin Esa ja Laura katsovat yhdessä kannettavan näyttöä modernissa toimistotilassa, hymyillen ja keskittyneinä.",loading:"lazy",className:"w-full h-auto object-cover aspect-[16/10]"})]})}),n.jsxs("div",{className:"grid lg:grid-cols-12 gap-12 lg:gap-20",children:[n.jsxs("div",{className:"lg:col-span-4",children:[n.jsx("p",{className:"text-xs uppercase tracking-[0.25em] text-muted-foreground mb-4",children:"Miksi WeCon perustettiin"}),n.jsx("h3",{className:"display-text text-3xl md:text-5xl leading-tight",children:"Yli kymmenen vuotta rekrytointialalla."})]}),n.jsxs("div",{className:"lg:col-span-7 lg:col-start-6 space-y-6 text-base md:text-lg leading-relaxed text-foreground/80",children:[n.jsx("p",{children:"Olin työskennellyt rekrytointialalla yli kymmenen vuotta ja nähnyt läheltä, miten paljon onnistunut rekrytointi voi vaikuttaa yrityksen kasvuun, työyhteisöön ja yksittäisen ihmisen uraan. Samalla näin myös asioita, joita halusin tehdä toisin."}),n.jsx("p",{className:"font-medium text-foreground",children:"Erityisesti yksi asia jäi mieleen."}),n.jsx("p",{children:"Kuulin ehdokkailta jatkuvasti kokemuksia rekrytoinneista, joissa viestintä oli jäänyt kesken, yhteydenpito puuttunut tai prosessin etenemisestä ei ollut kerrottu mitään. Kyse ei ollut suurista asioista, vaan tavasta kohdata ihmiset."})]})]}),n.jsx("div",{className:"border-y border-border py-14 md:py-20",children:n.jsxs("blockquote",{className:"display-text text-3xl md:text-5xl leading-tight max-w-5xl",children:[n.jsx("span",{className:"text-primary",children:"”"})," ","Ajattelen edelleen, että rekrytoinnissa on kyse ennen kaikkea ihmisistä.",n.jsx("span",{className:"text-primary",children:"”"})]})}),n.jsxs("div",{className:"grid lg:grid-cols-12 gap-12 lg:gap-20 items-center",children:[n.jsx("div",{className:"lg:col-span-5 order-2 lg:order-1",children:n.jsx("div",{className:"overflow-hidden rounded-3xl bg-muted",children:n.jsxs("picture",{children:[n.jsx("source",{srcSet:gt.url,type:"image/webp"}),n.jsx("img",{src:pt.url,alt:"WeConin Esa ja Laura keskustelevat ja hymyilevät istuessaan portailla modernin lasifasadi-toimistorakennuksen edustalla.",loading:"lazy",className:"w-full h-auto object-cover aspect-[3/4]"})]})})}),n.jsxs("div",{className:"lg:col-span-6 lg:col-start-7 order-1 lg:order-2 space-y-6 text-base md:text-lg leading-relaxed text-foreground
1/80",children:[n.jsx("p",{children:"Siksi halusin rakentaa yrityksen, jossa asiakkaat ja ehdokkaat saavat henkilökohtaista palvelua, suoraa yhteydenpitoa ja kumppanin, joka aidosti välittää lopputuloksesta."}),n.jsx("p",{className:"display-text text-2xl md:text-3xl text-foreground",children:"Näin syntyi WeCon."}),n.jsxs("p",{children:["Nimen taustalla ovat sanat"," ",n.jsx("span",{className:"font-semibold text-foreground",children:"We Connect"})," ","ja"," ",n.jsx("span",{className:"font-semibold text-foreground",children:"We Consult"}),". Ne kuvaavat hyvin sitä, mitä haluamme tehdä: yhdistää oikeat ihmiset ja yritykset sekä auttaa asiakkaitamme tekemään parempia rekrytointipäätöksiä. Samalla nimi kuvastaa yhdessä tekemistä, luottamusta ja sitä, että parhaat tulokset syntyvät yhteistyössä."]})]})]}),n.jsxs("div",{className:"grid lg:grid-cols-12 gap-12 lg:gap-20",children:[n.jsxs("div",{className:"lg:col-span-4",children:[n.jsx("p",{className:"text-xs uppercase tracking-[0.25em] text-muted-foreground mb-4",children:"Kenelle teemme työtä"}),n.jsx("h3",{className:"display-text text-3xl md:text-5xl leading-tight",children:"Pk-yritysten arki on lähellä meitä."})]}),n.jsxs("div",{className:"lg:col-span-7 lg:col-start-6 space-y-6 text-base md:text-lg leading-relaxed text-foreground/80",children:[n.jsx("p",{children:"Työskentelemme erityisesti pk-yritysten kanssa, koska ymmärrämme heidän arkeaan. Monessa yrityksessä toimitusjohtaja vastaa samanaikaisesti liiketoiminnasta, asiakkaista, henkilöstöstä ja kasvusta. Rekrytointeihin ei aina ole aikaa tai sisäisiä resursseja, vaikka oikeiden ihmisten merkitys on suurempi kuin koskaan."}),n.jsx("p",{children:"Parhaat asiakkaamme ovat yrityksiä, joissa ihmisistä välitetään aidosti. Yrityksiä, joissa työntekijöitä arvostetaan, hierarkiat ovat matalia ja joissa halutaan rakentaa työyhteisöä pitkäjänteisesti. Juuri tällaisissa ympäristöissä myös rekrytoinnit onnistuvat parhaiten."})]})]}),n.jsxs("div",{className:"border-t border-border pt-16 md:pt-20 grid lg:grid-cols-12 gap-12 lg:gap-20",children:[n.jsxs("div",{className:"lg:col-span-5",children:[n.jsx("p",{className:"text-xs uppercase tracking-[0.25em] text-muted-foreground mb-4",children:"Lopulta"}),n.jsxs("h3",{className:"display-text text-3xl md:text-5xl leading-tight",children:["Kyse on"," ",n.jsx("span",{className:"text-primary",children:"ihmisistä."})]})]}),n.jsxs("div",{className:"lg:col-span-7 space-y-6 text-base md:text-lg leading-relaxed text-foreground/80",children:[n.jsx("p",{children:"Minulle työn paras puoli ovat edelleen ihmiset. Keskustelut asiakkaiden kanssa, uusien mahdollisuuksien löytäminen ehdokkaille ja ne hetket, kun oikea ihminen löytää paikkansa oikeasta yrityksestä."}),n.jsx("p",{children:"Tavoitteeni on, että asiakkaamme kokevat WeConin kumppanina, jolle voi soittaa myös silloin, kun rekrytointi ei ole vielä ajankohtainen. Kumppanina, jonka kanssa voi sparrata kasvua, osaajatarpeita ja tulevaisuuden suunnitelmia."}),n.jsx("p",{className:"font-medium text-foreground",children:"Koska lopulta kyse ei ole vain rekrytoinnista. Kyse on ihmisistä, yrityksistä ja siitä, mitä voidaan saavuttaa, kun oikeat ihmiset löytävät toisensa."}),n.jsx("p",{className:"text-sm uppercase tracking-[0.2em] text-muted-foreground pt-2",children:"Laura Willberg, perustaja"})]})]})]}),n.jsxs("div",{className:"grid lg:grid-cols-12 gap-12 lg:gap-20 items-center",children:[n.jsxs("div",{className:"lg:col-span-5 order-2 lg:order-1 space-y-10",children:[n.jsxs("header",{className:"relative",children:[n.jsx("div",{"aria-hidden":!0,className:"absolute -left-6 md:-left-8 top-1/2 -translate-y-1/2 w-1 h-20 md:h-24 bg-primary"}),n.jsx("h2",{className:"display-text text-6xl md:text-7xl lg:text-8xl leading-none tracking-tight",children:"Meistä"}),n.jsx("p",{className:"mt-4 text-xs font-semibold uppercase tracking-[0.25em] text-primary",children:"Rekrytointi & suorahaku"})]}),n.jsxs("div",{className:"space-y-7 text-lg md:text-xl leading-relaxed text-foreground/75",children:[n.jsx("p",{children:"Ymmärrämme, että yrityspäättäjillä ei aina ole aikaa tai resursseja rekrytoinnin toteuttamiseen laadukkaasti, ehdokasystävällisesti ja positiivista työnantajakuvaa edistäen."}),n.jsx("p",{children:"Toimintamme kulmakiviä ovat onnistuneet rekrytoinnit, erinomainen ehdokaskokemus ja asiakkaidemme positiivisen työnantajamielikuvan vahvistaminen. Tehtävämme on auttaa yrityksiä onnistumaan rekrytoinneissa entistä paremmin."}),n.jsx("div",{className:"mt-4 pl-6 border-l-2 border-primary",children:n.jsx("p",{className:"text-lg md:text-xl leading-relaxed text-foreground
1/85",children:"Rekrytointialan yrittäjinä sitoudumme 100 %:sesti rekrytointiemme onnistumiseen."})})]})]}),n.jsxs("div",{className:"lg:col-span-7 relative order-1 lg:order-2",children:[n.jsxs("div",{className:"relative",children:[n.jsx("div",{"aria-hidden":!0,className:"absolute -inset-4 border border-primary/25 rounded-sm translate-x-3 translate-y-3 md:translate-x-4 md:translate-y-4"}),n.jsxs("div",{className:"relative aspect-[4/5] lg:aspect-square overflow-hidden shadow-2xl group",children:[n.jsxs("picture",{children:[n.jsx("source",{srcSet:"/__l5e/assets-v1/80f26002-716a-49c7-ae15-c02f9f570b12/wecon-meista-yhteistyo-laptop.webp",type:"image/webp"}),n.jsx("img",{src:"/__l5e/assets-v1/3f76e5a2-9749-4088-8d22-65a0030d4c39/wecon-meista-yhteistyo-laptop.jpg",alt:"Mies ja nainen työskentelevät yhdessä ThinkPad-kannettavan ja tabletin ääressä ulkoterassilla, pöydällä kahvilaseja ja taustalla viherkasveja.",loading:"lazy",className:"w-full h-full object-cover transition-transform duration-1000 group-hover:scale-105"})]}),n.jsx("div",{"aria-hidden":!0,className:"absolute inset-0 bg-gradient-to-t from-foreground
1/40 via-transparent to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-500"})]})]}),n.jsxs("div",{className:"hidden md:block absolute -bottom-6 -left-6 bg-background p-8 shadow-xl max-w-xs border border-border",children:[n.jsx("p",{className:"text-xs uppercase tracking-[0.2em] font-bold text-primary mb-2",children:"Intohimona"}),n.jsx("p",{className:"text-foreground/70 leading-snug font-medium italic",children:"Oikeiden ihmisten ja yritysten yhdistäminen arvojen ja osaamisen kautta."})]})]})]}),n.jsxs("div",{className:"grid lg:grid-cols-12 gap-12 lg:gap-8",children:[n.jsx("div",{className:"lg:col-span-3",children:n.jsxs("div",{className:"lg:sticky lg:top-24",children:[n.jsx("h2",{className:"display-text text-5xl md:text-6xl",children:"Arvomme"}),n.jsxs("div",{className:"mt-8 flex items-center gap-4",children:[n.jsx("div",{className:"h-[2px] w-12 bg-primary"}),n.jsx("span",{className:"text-[11px] font-bold uppercase tracking-[0.3em] text-muted-foreground",children:"Periaatteemme"})]})]})}),n.jsx("ul",{className:"lg:col-span-9 grid grid-cols-1 md:grid-cols-3 gap-6 lg:gap-10",children:yt.map((s,e)=>n.jsxs("li",{className:`group relative bg-card p-10 flex flex-col justify-between border border-border shadow-[0_8px_30px_rgb(0,0,0,0.04)] hover:shadow-[0_30px_60px_-15px_color-mix(in_oklab,var(--primary)_25%,transparent)] transition-all duration-700 min-h-[420px] ${e===1?"md:translate-y-12":""}`,children:[n.jsx("div",{"aria-hidden":!0,className:"absolute -top-6 -right-4 select-none pointer-events-none",children:n.jsx("span",{className:"display-text text-[7rem] leading-none text-muted/60 group-hover:text-primary/15 transition-colors duration-700",children:String(e+1).padStart(2,"0")})}),n.jsxs("div",{className:"relative z-10",children:[n.jsx("div",{className:"h-1 w-10 bg-primary mb-10 transition-all duration-500 group-hover:w-20"}),n.jsx("h3",{className:"text-2xl md:text-3xl font-extrabold tracking-tight text-foreground leading-tight",children:s.title})]}),n.jsx("p",{className:"relative z-10 text-foreground/70 text-base md:text-lg leading-relaxed font-medium",children:s.body})]},s.title))})]}),n.jsxs("div",{className:"grid lg:grid-cols-12 gap-12 border-t border-border pt-16",children:[n.jsxs("div",{className:"lg:col-span-5",children:[n.jsx("h2",{className:"display-text text-3xl md:text-5xl",children:"Osaamisalueemme"}),n.jsx("p",{className:"mt-6 text-base md:text-lg text-foreground/75 leading-relaxed max-w-md",children:"Rekrytoimme ensisijaisesti kaupallisen, teknisen ja IT-alan ammattilaisia seuraaviin tehtäväkategorioihin."})]}),n.jsx("ul",{className:"lg:col-span-7 grid sm:grid-cols-2 gap-x-8 gap-y-3",children:vt.map(s=>n.jsxs("li",{className:"flex items-start gap-3 text-base md:text-lg text-foreground/85 border-b border-border pb-3",children:[n.jsx("span",{"aria-hidden":!0,className:"text-primary mt-1",children:"→"}),n.jsx("span",{children:s})]},s))})]}),n.jsxs("div",{id:"tiimi",className:"border-t border-border pt-16 scroll-mt-24",children:[n.jsx("h2",{className:"display-text text-3xl md:text-5xl mb-12 md:mb-16",children:"Tiimi"}),n.jsx("ul",{className:"grid md:grid-cols-2 gap-8",children:xt.map(s=>n.jsx("li",{className:"group relative overflow-hidden rounded-3xl border border-border bg-card p-8 md:p-10 transition-all duration-500 hover:border-foreground
1/30 hover:shadow-[0_30px_60px_-30px_rgba(0,0,0,0.25)]",children:n.jsxs("div",{className:"flex items-start gap-6",children:[n.jsxs("picture",{children:[n.jsx("source",{srcSet:s.imageWebp,type:"image/webp"}),n.jsx("img",{src:s.image,alt:s.imageAlt,loading:"lazy",className:"h-32 w-32 md:h-40 md:w-40 rounded-full object-cover shrink-0 ring-1 ring-border"})]}),n.jsxs("div",{className:"min-w-0 flex-1",children:[n.jsx("p",{className:"text-[11px] uppercase tracking-[0.25em] text-muted-foreground mb-2",children:s.role}),n.jsx("h3",{className:"display-text text-2xl md:text-3xl leading-tight mb-4",children:s.name}),n.jsxs("div",{className:"space-y-1.5 text-sm",children:[n.jsx("a",{href:s.phoneHref,className:"block link-underline w-fit text-foreground/80 hover:text-foreground",children:s.phone}),n.jsx("a",{href:`mailto:${s.email}`,className:"block link-underline w-fit text-foreground/80 hover:text-foreground",children:s.email}),n.jsxs("a",{href:s.linkedin,target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-2 link-underline text-foreground/80 hover:text-foreground",children:[n.jsx($e,{size:14})," LinkedIn"]})]})]})]})},s.name))})]}),n.jsxs("div",{id:"yhteystiedot",className:"border-t border-border pt-16 grid lg:grid-cols-12 gap-12 scroll-mt-24",children:[n.jsxs("div",{className:"lg:col-span-5",children:[n.jsx("h2",{className:"display-text text-3xl md:text-5xl",children:"Ota yhteyttä"}),n.jsx("a",{href:"mailto:[email protected]",className:"mt-8 display-text text-[clamp(1.5rem,3.5vw,2.75rem)] block link-underline transition-colors duration-500 ease-out hover:text-primary break-all",children:"[email protected]"}),n.jsxs("p",{className:"mt-6 text-base md:text-lg text-foreground/75 max-w-xl leading-relaxed",children:["Voit olla yhteydessä meihin puhelimitse, sähköpostitse tai LinkedInissä. Autamme mielellämme. Tehdäänkö",n.jsx("br",{}),"seuraava onnistunut rekrytointi yhdessä?"]}),n.jsxs("div",{className:"mt-10 text-sm text-foreground/75",children:[n.jsx("p",{className:"font-semibold text-foreground",children:"WeCon Oy"}),n.jsx("p",{children:"Linnoitustie 6"}),n.jsx("p",{children:"02600 Espoo"}),n.jsx("p",{className:"mt-1",children:"Y-tunnus: 2456380-1"})]}),n.jsxs("div",{className:"mt-10 rounded-2xl border border-border bg-primary-soft/20 p-6",children:[n.jsx("p",{className:"text-xs uppercase tracking-[0.25em] text-muted-foreground mb-3",children:"Yritysasiakkaille"}),n.jsx("h3",{className:"text-xl md:text-2xl font-semibold tracking-tight mb-4",children:"Varaa kartoituskeskustelu rekrytoinnista"}),n.jsx(Ze,{}),n.jsxs("p",{className:"mt-4 text-sm text-muted-foreground",children:["Tarkoitettu yrityksille, jotka harkitsevat rekrytointia tai suorahakua. Työnhakijat: katso"," ",n.jsx(ee,{to:"/ura/avoimet",className:"underline hover:text-primary",children:"avoimet työpaikat"})," ","tai jätä"," ",n.jsx(ee,{to:"/ura/avoin-hakemus",className:"underline hover:text-primary",children:"avoin hakemus"}),"."]})]})]}),n.jsxs("div",{className:"lg:col-span-7",children:[n.jsxs("p",{className:"text-xs uppercase tracking-[0.25em] text-muted-foreground mb-6 flex items-center gap-3",children:[n.jsx("span",{className:"inline-block h-px w-10 bg-foreground
1/40"}),"Jätä viesti"]}),n.jsx(mt,{})]})]}),n.jsxs("div",{className:"border-t border-border pt-16 grid lg:grid-cols-12 gap-12",children:[n.jsx("h2",{className:"lg:col-span-5 display-text text-3xl md:text-5xl",children:"Laskutustiedot"}),n.jsxs("div",{className:"lg:col-span-7 grid sm:grid-cols-2 gap-8 text-sm md:text-base",children:[n.jsxs("div",{children:[n.jsx("p",{className:"text-xs uppercase tracking-[0.25em] text-muted-foreground mb-3",children:"Verkkolaskut"}),n.jsxs("p",{className:"text-foreground/85",children:[n.jsx("span",{className:"block font-semibold text-foreground",children:"Verkkolaskutunnus"}),"003724563801"]}),n.jsxs("p",{className:"mt-3 text-foreground/85",children:[n.jsx("span",{className:"block font-semibold text-foreground",children:"Operaattori"}),"Basware, BAWCFI22"]})]}),n.jsxs("div",{children:[n.jsx("p",{className:"text-xs uppercase tracking-[0.25em] text-muted-foreground mb-3",children:"Paperiset ostolaskut"}),n.jsxs("p",{className:"text-foreground/85",children:["WeCon Oy",n.jsx("br",{}),"00064 ADMINISTER"]})]})]})]})]})})})}export{Tt as component};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.