@takuhon/cli 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- var e=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),t=Object.create,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.getPrototypeOf,o=Object.prototype.hasOwnProperty,s=(e,t)=>function(){return t||(0,e[i(e)[0]])((t={exports:{}}).exports,t),t.exports},c=(e,t,a,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!o.call(e,c)&&c!==a&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},l=(e,r,i)=>(i=e==null?{}:t(a(e)),c(r||!e||!e.__esModule?n(i,`default`,{value:e,enumerable:!0}):i,e)),u=s({"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/ucs2length.js"(e){Object.defineProperty(e,`__esModule`,{value:!0});function t(e){let t=e.length,n=0,r=0,i;for(;r<t;)n++,i=e.charCodeAt(r++),i>=55296&&i<=56319&&r<t&&(i=e.charCodeAt(r),(i&64512)==56320&&r++);return n}e.default=t,t.code=`require("ajv/dist/runtime/ucs2length").default`}}),d=s({"../../node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.20.0/node_modules/ajv-formats/dist/formats.js"(e){Object.defineProperty(e,`__esModule`,{value:!0}),e.formatNames=e.fastFormats=e.fullFormats=void 0;function t(e,t){return{validate:e,compare:t}}e.fullFormats={date:t(a,o),time:t(c(!0),l),"date-time":t(f(!0),p),"iso-time":t(c(),u),"iso-date-time":t(f(),m),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:_,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:ee,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:y,int32:{type:`number`,validate:S},int64:{type:`number`,validate:C},float:{type:`number`,validate:w},double:{type:`number`,validate:w},password:!0,binary:!0},e.fastFormats={...e.fullFormats,date:t(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,o),time:t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,l),"date-time":t(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,p),"iso-time":t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,u),"iso-date-time":t(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,m),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i},e.formatNames=Object.keys(e.fullFormats);function n(e){return e%4==0&&(e%100!=0||e%400==0)}var r=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,i=[0,31,28,31,30,31,30,31,31,30,31,30,31];function a(e){let t=r.exec(e);if(!t)return!1;let a=+t[1],o=+t[2],s=+t[3];return o>=1&&o<=12&&s>=1&&s<=(o===2&&n(a)?29:i[o])}function o(e,t){if(e&&t)return e>t?1:e<t?-1:0}var s=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function c(e){return function(t){let n=s.exec(t);if(!n)return!1;let r=+n[1],i=+n[2],a=+n[3],o=n[4],c=n[5]===`-`?-1:1,l=+(n[6]||0),u=+(n[7]||0);if(l>23||u>59||e&&!o)return!1;if(r<=23&&i<=59&&a<60)return!0;let d=i-u*c,f=r-l*c-+(d<0);return(f===23||f===-1)&&(d===59||d===-1)&&a<61}}function l(e,t){if(!(e&&t))return;let n=new Date(`2020-01-01T`+e).valueOf(),r=new Date(`2020-01-01T`+t).valueOf();if(n&&r)return n-r}function u(e,t){if(!(e&&t))return;let n=s.exec(e),r=s.exec(t);if(n&&r)return e=n[1]+n[2]+n[3],t=r[1]+r[2]+r[3],e>t?1:e<t?-1:0}var d=/t|\s/i;function f(e){let t=c(e);return function(e){let n=e.split(d);return n.length===2&&a(n[0])&&t(n[1])}}function p(e,t){if(!(e&&t))return;let n=new Date(e).valueOf(),r=new Date(t).valueOf();if(n&&r)return n-r}function m(e,t){if(!(e&&t))return;let[n,r]=e.split(d),[i,a]=t.split(d),s=o(n,i);if(s!==void 0)return s||l(r,a)}var h=/\/|:/,g=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function _(e){return h.test(e)&&g.test(e)}var v=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function y(e){return v.lastIndex=0,v.test(e)}var b=-(2**31),x=2**31-1;function S(e){return Number.isInteger(e)&&e<=x&&e>=b}function C(e){return Number.isInteger(e)}function w(){return!0}var T=/[^\\]\\Z/;function ee(e){if(T.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}}}),f=s({"../../node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js"(e,t){t.exports=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t==`object`&&typeof n==`object`){if(t.constructor!==n.constructor)return!1;var r,i,a;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(a=Object.keys(t),r=a.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,a[i]))return!1;for(i=r;i--!==0;){var o=a[i];if(!e(t[o],n[o]))return!1}return!0}return t!==t&&n!==n}}}),p=s({"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/equal.js"(e){Object.defineProperty(e,`__esModule`,{value:!0});var t=f();t.code=`require("ajv/dist/runtime/equal").default`,e.default=t}}),m=s({"src/generated/takuhon-validator.cjs"(e,t){t.exports=Ce,t.exports.default=Ce;var n={$schema:`https://json-schema.org/draft/2020-12/schema`,$id:`https://takuhon.example/schemas/1.1.0/takuhon.schema.json`,title:`Takuhon Profile`,description:`Portable profile data format consumed by @takuhon/core. The canonical contract for profile content authored as takuhon.json.`,type:`object`,additionalProperties:!1,required:[`schemaVersion`,`profile`,`contact`,`settings`,`meta`],properties:{schemaVersion:{type:`string`,pattern:`^[0-9]+\\.[0-9]+\\.[0-9]+(-[a-zA-Z0-9.-]+)?$`,description:`Semantic version of the takuhon schema this document conforms to.`},profile:{$ref:`#/$defs/Profile`},links:{type:`array`,maxItems:100,items:{$ref:`#/$defs/Link`}},careers:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Career`}},projects:{type:`array`,maxItems:100,items:{$ref:`#/$defs/Project`}},skills:{type:`array`,maxItems:200,items:{$ref:`#/$defs/Skill`}},certifications:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Certification`}},memberships:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Membership`}},volunteering:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Volunteering`}},honors:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Honor`}},education:{type:`array`,maxItems:30,items:{$ref:`#/$defs/Education`}},publications:{type:`array`,maxItems:100,items:{$ref:`#/$defs/Publication`}},languages:{type:`array`,maxItems:30,items:{$ref:`#/$defs/Language`}},courses:{type:`array`,maxItems:100,items:{$ref:`#/$defs/Course`}},patents:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Patent`}},testScores:{type:`array`,maxItems:30,items:{$ref:`#/$defs/TestScore`}},recommendations:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Recommendation`}},contact:{$ref:`#/$defs/Contact`},settings:{$ref:`#/$defs/Settings`},meta:{$ref:`#/$defs/Meta`}},$defs:{LocaleTag:{type:`string`,minLength:2,maxLength:35,pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`,description:`BCP-47 language tag (e.g., 'en', 'ja', 'zh-Hant', 'pt-BR').`},Iso3166Alpha2:{type:`string`,pattern:`^[A-Z]{2}$`,description:`ISO 3166-1 alpha-2 country code (uppercase, two letters).`},YearMonth:{type:`string`,pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`,description:`Year-month in 'YYYY-MM' format (Gregorian calendar).`},IsoDateTime:{type:`string`,format:`date-time`,description:`ISO 8601 date-time (e.g., 2026-05-11T12:34:56Z).`},Url:{type:`string`,format:`uri`,maxLength:2048},Email:{type:`string`,format:`email`,maxLength:254},Slug:{type:`string`,minLength:1,maxLength:64,pattern:`^[a-z0-9][a-z0-9-]*$`,description:`URL-safe identifier (lowercase alphanumerics and hyphens, must start with alphanumeric).`},Visibility:{type:`string`,enum:[`public`,`private`],description:`Per-item public visibility (added in 0.7.0). 'private' removes the item from every public surface via applyPublicPrivacyFilter; an absent value or 'public' keeps the item public.`},LocalizedTitle:{type:`object`,minProperties:1,propertyNames:{type:`string`,pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},additionalProperties:{type:`string`,minLength:1,maxLength:200,pattern:`\\S`},description:`Map of BCP-47 locale tag to short title-like string (max 200 chars per value). Each value must contain at least one non-whitespace character.`},LocalizedBody:{type:`object`,minProperties:1,propertyNames:{type:`string`,pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},additionalProperties:{type:`string`,minLength:1,maxLength:5e3,pattern:`\\S`},description:`Map of BCP-47 locale tag to body-length string (max 5000 chars per value). Each value must contain at least one non-whitespace character.`},LinkType:{type:`string`,enum:[`website`,`blog`,`github`,`gitlab`,`linkedin`,`x`,`mastodon`,`bluesky`,`instagram`,`youtube`,`threads`,`facebook`,`email`,`rss`,`custom`],description:`Identifies the kind of link. 'custom' requires iconUrl.`},Profile:{type:`object`,additionalProperties:!1,required:[`displayName`],properties:{displayName:{$ref:`#/$defs/LocalizedTitle`},tagline:{$ref:`#/$defs/LocalizedTitle`},bio:{$ref:`#/$defs/LocalizedBody`},avatar:{$ref:`#/$defs/Avatar`},location:{$ref:`#/$defs/Address`}}},Avatar:{type:`object`,additionalProperties:!1,required:[`url`],properties:{url:{type:`string`,format:`uri-reference`,maxLength:2048,description:`URL or path to the avatar image.`},alt:{$ref:`#/$defs/LocalizedTitle`}}},Address:{type:`object`,additionalProperties:!1,properties:{country:{$ref:`#/$defs/Iso3166Alpha2`},region:{type:`string`,maxLength:100},locality:{$ref:`#/$defs/LocalizedTitle`},display:{$ref:`#/$defs/LocalizedTitle`}}},Link:{type:`object`,additionalProperties:!1,required:[`id`,`type`,`url`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},type:{$ref:`#/$defs/LinkType`},label:{$ref:`#/$defs/LocalizedTitle`},url:{$ref:`#/$defs/Url`},featured:{type:`boolean`},order:{type:`integer`,minimum:0},iconUrl:{$ref:`#/$defs/Url`}},allOf:[{if:{properties:{type:{const:`custom`}},required:[`type`]},then:{properties:{iconUrl:{$ref:`#/$defs/Url`}},required:[`iconUrl`]}}]},Career:{type:`object`,additionalProperties:!1,required:[`id`,`organization`,`role`,`startDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},organization:{$ref:`#/$defs/LocalizedTitle`},role:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}]},isCurrent:{type:`boolean`},url:{$ref:`#/$defs/Url`},location:{$ref:`#/$defs/Address`},order:{type:`integer`,minimum:0}}},Project:{type:`object`,additionalProperties:!1,required:[`id`,`title`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},url:{$ref:`#/$defs/Url`},tags:{type:`array`,maxItems:30,items:{type:`string`,minLength:1,maxLength:50}},relatedCareerId:{$ref:`#/$defs/Slug`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}]},highlighted:{type:`boolean`},order:{type:`integer`,minimum:0}}},Skill:{type:`object`,additionalProperties:!1,required:[`id`,`label`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},label:{type:`string`,minLength:1,maxLength:100},category:{type:`string`,minLength:1,maxLength:64,description:`Recommended values (extensible): programming, design, business, communication, language, music, art, sports, other.`},order:{type:`integer`,minimum:0}}},Contact:{type:`object`,additionalProperties:!1,properties:{email:{$ref:`#/$defs/Email`},showEmail:{type:`boolean`,default:!1},formUrl:{$ref:`#/$defs/Url`}}},Settings:{type:`object`,additionalProperties:!1,required:[`defaultLocale`,`availableLocales`],properties:{defaultLocale:{$ref:`#/$defs/LocaleTag`},fallbackLocale:{$ref:`#/$defs/LocaleTag`},availableLocales:{type:`array`,minItems:1,maxItems:50,uniqueItems:!0,items:{$ref:`#/$defs/LocaleTag`}},theme:{type:`string`,minLength:1,maxLength:64,description:`UI theme identifier. 'default' is the built-in theme; adapters may add more.`},showPoweredBy:{type:`boolean`,default:!0,description:`Display the 'Powered by takuhon' attribution in the rendered profile.`},enableJsonLd:{type:`boolean`,default:!0,description:`Emit Schema.org JSON-LD on the rendered profile page.`},enableApi:{type:`boolean`,default:!0,description:`Expose the public read API endpoints (GET /api/profile, /api/jsonld, /api/schema, /takuhon.json).`},enableAnalytics:{type:`boolean`,default:!1,description:`Opt-in flag for first-party analytics. Default is false to keep takuhon privacy-respecting by default.`},activity:{$ref:`#/$defs/ActivitySettings`},publicVisibility:{$ref:`#/$defs/PublicVisibility`},contact:{$ref:`#/$defs/ContactSettings`}}},ContactSettings:{type:`object`,additionalProperties:!1,description:`Opt-in contact form configuration (added in 1.1.0). Only public values live here; the Turnstile site key is safe to embed in the page. The Turnstile secret, the recipient address, and the From label are provisioned out of band as environment configuration and are never stored in takuhon.json. Adapters that support the form mount the widget and a POST endpoint when 'enabled' is true.`,properties:{enabled:{type:`boolean`,default:!1,description:`Master switch. When false (the default), no contact form is mounted even if a site key is present.`},turnstileSiteKey:{type:`string`,minLength:1,maxLength:128,description:`Public Cloudflare Turnstile site key, safe to embed in the page. Without it the widget is not mounted.`},endpoint:{type:`string`,minLength:1,maxLength:2048,description:`Override the POST endpoint the widget submits to. Defaults to /api/contact on the same origin.`},subjectPrefix:{type:`string`,minLength:1,maxLength:128,description:`Subject prefix for the delivered email, e.g. '[example.com contact]'.`}}},PublicVisibility:{type:`object`,additionalProperties:!1,description:`Per-section public visibility (added in 0.6.0). Each key is a content section; setting it to false hides that whole section from every public surface (GET /, /api/profile, /api/jsonld, /takuhon.json, MCP, and the derived CV) via the shared applyPublicPrivacyFilter. An absent key — or an absent object — means the section is public, so the default is all-visible and omitting this block is fully backwards-compatible. The profile identity (profile.displayName, …) is always public and is intentionally not a key here. Field-level controls (contact.showEmail, meta.privacy.*) still apply within a visible section: visibility is the AND of the feature toggle, this section flag, and the field flag.`,properties:{links:{type:`boolean`,description:`Default true. When false, links[] is emitted empty on public surfaces.`},careers:{type:`boolean`,description:`Default true. When false, careers[] is emitted empty on public surfaces.`},projects:{type:`boolean`,description:`Default true. When false, projects[] is emitted empty on public surfaces.`},skills:{type:`boolean`,description:`Default true. When false, skills[] is emitted empty on public surfaces.`},certifications:{type:`boolean`,description:`Default true. When false, certifications[] is emitted empty on public surfaces.`},memberships:{type:`boolean`,description:`Default true. When false, memberships[] is emitted empty on public surfaces.`},volunteering:{type:`boolean`,description:`Default true. When false, volunteering[] is emitted empty on public surfaces.`},honors:{type:`boolean`,description:`Default true. When false, honors[] is emitted empty on public surfaces.`},education:{type:`boolean`,description:`Default true. When false, education[] is emitted empty on public surfaces.`},publications:{type:`boolean`,description:`Default true. When false, publications[] is emitted empty on public surfaces.`},languages:{type:`boolean`,description:`Default true. When false, languages[] is emitted empty on public surfaces.`},courses:{type:`boolean`,description:`Default true. When false, courses[] is emitted empty on public surfaces.`},patents:{type:`boolean`,description:`Default true. When false, patents[] is emitted empty on public surfaces.`},testScores:{type:`boolean`,description:`Default true. When false, testScores[] is emitted empty on public surfaces.`},recommendations:{type:`boolean`,description:`Default true. When false, recommendations[] is emitted empty on public surfaces.`},contact:{type:`boolean`,description:`Default true. When false, the contact section (email, formUrl) is emitted empty on public surfaces.`}}},ActivitySettings:{type:`object`,additionalProperties:!1,description:`Opt-in developer-activity dashboard configuration (GitHub / WakaTime). Only the owner-curated settings live here; secrets are provisioned out of band and the synced metrics are stored in a separate document, never in takuhon.json.`,properties:{enabled:{type:`boolean`,default:!1,description:`Master switch. When false (the default), the activity section is not rendered even if a snapshot exists.`},github:{type:`object`,additionalProperties:!1,required:[`username`],properties:{username:{type:`string`,minLength:1,maxLength:39,description:`GitHub login whose public activity is summarized.`},showLanguages:{type:`boolean`,default:!0},showContributions:{type:`boolean`,default:!0}}},wakatime:{type:`object`,additionalProperties:!1,required:[`username`],properties:{username:{type:`string`,minLength:1,maxLength:255,description:`WakaTime username whose coding-time stats are summarized.`},showCodingTime:{type:`boolean`,default:!0}}},showRank:{type:`boolean`,default:!0,description:`Display the derived activity rank / badge.`},refreshHintHours:{type:`integer`,minimum:1,maximum:168,description:`Advisory refresh cadence in hours. The real cadence is how often the sync step (CLI command or scheduled job) runs.`}}},Meta:{type:`object`,additionalProperties:!1,required:[`contentLicense`],properties:{createdAt:{$ref:`#/$defs/IsoDateTime`},updatedAt:{$ref:`#/$defs/IsoDateTime`},generator:{type:`string`,minLength:1,maxLength:100,description:`Tool that produced this document (e.g. 'Takuhon', 'create-takuhon@0.1.0').`},contentLicense:{$ref:`#/$defs/ContentLicense`},privacy:{$ref:`#/$defs/MetaPrivacy`}}},ContentLicense:{type:`object`,additionalProperties:!1,required:[`spdxId`],properties:{spdxId:{type:`string`,minLength:1,maxLength:64,description:`SPDX identifier (e.g., 'CC-BY-4.0', 'CC0-1.0') or 'Proprietary'. No default; the profile owner must choose explicitly.`},url:{$ref:`#/$defs/Url`},attribution:{type:`object`,additionalProperties:!1,properties:{name:{type:`string`,minLength:1,maxLength:200},url:{$ref:`#/$defs/Url`}}},rights:{type:`string`,minLength:1,maxLength:1e3,description:`Free-form rights statement (used when spdxId='Proprietary' or for additional notices).`}}},MetaPrivacy:{type:`object`,additionalProperties:!1,description:`Opt-out flags that strip personally identifying fields from public API output (GET /api/profile, /api/jsonld, /takuhon.json). Admin endpoints (PUT /api/admin/*, GET /api/admin/export) ignore these flags. Privacy-by-default: omitting the object or individual flags is equivalent to true.`,properties:{hideCredentialIds:{type:`boolean`,default:!0,description:`When true (default), strip certifications[*].credentialId from public responses.`},hideEducationGrades:{type:`boolean`,default:!0,description:`When true (default), strip education[*].grade from public responses.`}}},Certification:{type:`object`,additionalProperties:!1,required:[`id`,`title`,`issuingOrganization`,`issueDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},issuingOrganization:{$ref:`#/$defs/LocalizedTitle`},issueDate:{$ref:`#/$defs/YearMonth`},expirationDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}],description:`null = explicitly 'no expiration'. Omit if unknown/unstated.`},credentialId:{type:`string`,minLength:1,maxLength:100,description:`License or certificate number. Public exposure controlled by meta.privacy.hideCredentialIds.`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}},Membership:{type:`object`,additionalProperties:!1,required:[`id`,`organization`,`startDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},organization:{$ref:`#/$defs/LocalizedTitle`},role:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}],description:`null = ongoing. Omit if unknown.`},isCurrent:{type:`boolean`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}},Volunteering:{type:`object`,additionalProperties:!1,required:[`id`,`organization`,`role`,`startDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},organization:{$ref:`#/$defs/LocalizedTitle`},role:{$ref:`#/$defs/LocalizedTitle`},cause:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}]},isCurrent:{type:`boolean`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}},Honor:{type:`object`,additionalProperties:!1,required:[`id`,`title`,`issuer`,`date`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},issuer:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},date:{$ref:`#/$defs/YearMonth`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}},Education:{type:`object`,additionalProperties:!1,required:[`id`,`institution`,`startDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},institution:{$ref:`#/$defs/LocalizedTitle`},degree:{$ref:`#/$defs/LocalizedTitle`},fieldOfStudy:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},grade:{type:`string`,minLength:1,maxLength:50,description:`Free-form grade / class / GPA. Public exposure controlled by meta.privacy.hideEducationGrades.`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}],description:`null = currently enrolled.`},isCurrent:{type:`boolean`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}},Publication:{type:`object`,additionalProperties:!1,required:[`id`,`title`,`date`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},publisher:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},date:{$ref:`#/$defs/YearMonth`},url:{$ref:`#/$defs/Url`},doi:{type:`string`,minLength:1,maxLength:200,description:`DOI identifier (e.g. '10.1145/3548643.3548644'). The full URL goes in 'url'.`},coAuthors:{type:`array`,maxItems:50,items:{type:`string`,minLength:1,maxLength:100},description:`Co-author names in original script. Excludes the profile owner.`},order:{type:`integer`,minimum:0}}},Language:{type:`object`,additionalProperties:!1,required:[`id`,`language`,`proficiency`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},language:{$ref:`#/$defs/LocaleTag`},displayName:{$ref:`#/$defs/LocalizedTitle`},proficiency:{type:`string`,enum:[`native`,`fluent`,`professional`,`intermediate`,`basic`],description:`LinkedIn-compatible 5-level proficiency.`},order:{type:`integer`,minimum:0}}},Course:{type:`object`,additionalProperties:!1,required:[`id`,`title`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},provider:{$ref:`#/$defs/LocalizedTitle`},courseNumber:{type:`string`,minLength:1,maxLength:50},description:{$ref:`#/$defs/LocalizedBody`},completionDate:{$ref:`#/$defs/YearMonth`},certificateUrl:{$ref:`#/$defs/Url`},relatedEducationId:{$ref:`#/$defs/Slug`,description:`Optional reference to an education[].id (e.g. for university coursework).`},order:{type:`integer`,minimum:0}}},Patent:{type:`object`,additionalProperties:!1,required:[`id`,`title`,`patentNumber`,`status`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},patentNumber:{type:`string`,minLength:1,maxLength:100},office:{type:`string`,maxLength:100,description:`Patent office name (e.g. 'USPTO', 'JPO', 'EPO').`},status:{type:`string`,enum:[`pending`,`issued`,`expired`,`abandoned`]},description:{$ref:`#/$defs/LocalizedBody`},filingDate:{$ref:`#/$defs/YearMonth`},grantDate:{$ref:`#/$defs/YearMonth`},url:{$ref:`#/$defs/Url`},coInventors:{type:`array`,maxItems:20,items:{type:`string`,minLength:1,maxLength:100}},order:{type:`integer`,minimum:0}}},TestScore:{type:`object`,additionalProperties:!1,required:[`id`,`title`,`score`,`date`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},score:{type:`string`,minLength:1,maxLength:50,description:`Free-form score string (e.g. '112 / 120', '330', 'N1 Pass', or a percentile). The validator does not interpret its contents.`},date:{$ref:`#/$defs/YearMonth`},relatedEducationId:{$ref:`#/$defs/Slug`,description:`Optional reference to an education[].id (e.g. for a university course exam).`},description:{$ref:`#/$defs/LocalizedBody`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}},Recommendation:{type:`object`,additionalProperties:!1,required:[`id`,`body`,`author`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},body:{$ref:`#/$defs/LocalizedBody`},author:{$ref:`#/$defs/RecommendationAuthor`},relationship:{$ref:`#/$defs/LocalizedTitle`,description:`How the recommender relates to the profile owner (e.g. 'managed directly', 'worked together').`},date:{$ref:`#/$defs/YearMonth`},relatedCareerId:{$ref:`#/$defs/Slug`,description:`Optional reference to a careers[].id (the position the recommendation pertains to).`},relatedEducationId:{$ref:`#/$defs/Slug`,description:`Optional reference to an education[].id (e.g. a recommendation from a professor).`},order:{type:`integer`,minimum:0}}},RecommendationAuthor:{type:`object`,additionalProperties:!1,required:[`name`],properties:{name:{type:`string`,minLength:1,maxLength:100,description:`Recommender's name, in its original script. Owner-curated; takuhon does not verify it.`},headline:{$ref:`#/$defs/LocalizedTitle`,description:`Recommender's title / role / organization at the time of the recommendation.`},url:{$ref:`#/$defs/Url`,description:`Link to the recommender's profile, for external verification by the reader.`}}}}},r=Object.prototype.hasOwnProperty,i=RegExp(`^[0-9]+\\.[0-9]+\\.[0-9]+(-[a-zA-Z0-9.-]+)?$`,`u`),a=RegExp(`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`,`u`),o=RegExp(`\\S`,`u`),s=u().default,c=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function l(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:u={}}={}){let d=null,f=0,p=l.evaluated;if(p.dynamicProps&&(p.props=void 0),p.dynamicItems&&(p.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.url===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`url`},message:`must have required property 'url'`};d===null?d=[e]:d.push(e),f++}for(let n in e)if(!(n===`url`||n===`alt`)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};d===null?d=[e]:d.push(e),f++}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/properties/url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};d===null?d=[e]:d.push(e),f++}if(!c.test(n)){let e={instancePath:t+`/url`,schemaPath:`#/properties/url/format`,keyword:`format`,params:{format:`uri-reference`},message:`must match format "uri-reference"`};d===null?d=[e]:d.push(e),f++}}else{let e={instancePath:t+`/url`,schemaPath:`#/properties/url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};d===null?d=[e]:d.push(e),f++}}if(e.alt!==void 0){let n=e.alt;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/alt`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};d===null?d=[e]:d.push(e),f++}for(let e in n){let n=f;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/alt`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};d===null?d=[n]:d.push(n),f++}}else{let n={instancePath:t+`/alt`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};d===null?d=[n]:d.push(n),f++}if(n!==f){let n={instancePath:t+`/alt`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};d===null?d=[n]:d.push(n),f++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/alt/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};d===null?d=[n]:d.push(n),f++}if(s(r)<1){let n={instancePath:t+`/alt/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};d===null?d=[n]:d.push(n),f++}if(!o.test(r)){let n={instancePath:t+`/alt/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};d===null?d=[n]:d.push(n),f++}}else{let n={instancePath:t+`/alt/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};d===null?d=[n]:d.push(n),f++}}}else{let e={instancePath:t+`/alt`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};d===null?d=[e]:d.push(e),f++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};d===null?d=[e]:d.push(e),f++}return l.errors=d,f===0}l.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var f=RegExp(`^[A-Z]{2}$`,`u`);function m(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:c={}}={}){let l=null,u=0,d=m.evaluated;if(d.dynamicProps&&(d.props=void 0),d.dynamicItems&&(d.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){for(let n in e)if(!(n===`country`||n===`region`||n===`locality`||n===`display`)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};l===null?l=[e]:l.push(e),u++}if(e.country!==void 0){let n=e.country;if(typeof n==`string`){if(!f.test(n)){let e={instancePath:t+`/country`,schemaPath:`#/$defs/Iso3166Alpha2/pattern`,keyword:`pattern`,params:{pattern:`^[A-Z]{2}$`},message:`must match pattern "^[A-Z]{2}$"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/country`,schemaPath:`#/$defs/Iso3166Alpha2/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.region!==void 0){let n=e.region;if(typeof n==`string`){if(s(n)>100){let e={instancePath:t+`/region`,schemaPath:`#/properties/region/maxLength`,keyword:`maxLength`,params:{limit:100},message:`must NOT have more than 100 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/region`,schemaPath:`#/properties/region/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.locality!==void 0){let n=e.locality;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/locality`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};l===null?l=[e]:l.push(e),u++}for(let e in n){let n=u;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/locality`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/locality`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};l===null?l=[n]:l.push(n),u++}if(n!==u){let n={instancePath:t+`/locality`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};l===null?l=[n]:l.push(n),u++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/locality/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[n]:l.push(n),u++}if(s(r)<1){let n={instancePath:t+`/locality/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[n]:l.push(n),u++}if(!o.test(r)){let n={instancePath:t+`/locality/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/locality/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[n]:l.push(n),u++}}}else{let e={instancePath:t+`/locality`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.display!==void 0){let n=e.display;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/display`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};l===null?l=[e]:l.push(e),u++}for(let e in n){let n=u;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/display`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/display`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};l===null?l=[n]:l.push(n),u++}if(n!==u){let n={instancePath:t+`/display`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};l===null?l=[n]:l.push(n),u++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/display/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[n]:l.push(n),u++}if(s(r)<1){let n={instancePath:t+`/display/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[n]:l.push(n),u++}if(!o.test(r)){let n={instancePath:t+`/display/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/display/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[n]:l.push(n),u++}}}else{let e={instancePath:t+`/display`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}return m.errors=l,u===0}m.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};function h(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:c={}}={}){let u=null,d=0,f=h.evaluated;if(f.dynamicProps&&(f.props=void 0),f.dynamicItems&&(f.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.displayName===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`displayName`},message:`must have required property 'displayName'`};u===null?u=[e]:u.push(e),d++}for(let n in e)if(!(n===`displayName`||n===`tagline`||n===`bio`||n===`avatar`||n===`location`)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};u===null?u=[e]:u.push(e),d++}if(e.displayName!==void 0){let n=e.displayName;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/displayName`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/displayName`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/displayName`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/displayName`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/displayName/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/displayName/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/displayName/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/displayName/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/displayName`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.tagline!==void 0){let n=e.tagline;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/tagline`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/tagline`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/tagline`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/tagline`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/tagline/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/tagline/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/tagline/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/tagline/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/tagline`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.bio!==void 0){let n=e.bio;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/bio`,schemaPath:`#/$defs/LocalizedBody/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/bio`,schemaPath:`#/$defs/LocalizedBody/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/bio`,schemaPath:`#/$defs/LocalizedBody/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/bio`,schemaPath:`#/$defs/LocalizedBody/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>5e3){let n={instancePath:t+`/bio/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:5e3},message:`must NOT have more than 5000 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/bio/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/bio/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/bio/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/bio`,schemaPath:`#/$defs/LocalizedBody/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}e.avatar!==void 0&&(l(e.avatar,{instancePath:t+`/avatar`,parentData:e,parentDataProperty:`avatar`,rootData:i,dynamicAnchors:c})||(u=u===null?l.errors:u.concat(l.errors),d=u.length)),e.location!==void 0&&(m(e.location,{instancePath:t+`/location`,parentData:e,parentDataProperty:`location`,rootData:i,dynamicAnchors:c})||(u=u===null?m.errors:u.concat(m.errors),d=u.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}return h.errors=u,d===0}h.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var g={type:`string`,enum:[`public`,`private`],description:`Per-item public visibility (added in 0.7.0). 'private' removes the item from every public surface via applyPublicPrivacyFilter; an absent value or 'public' keeps the item public.`},_={type:`string`,enum:[`website`,`blog`,`github`,`gitlab`,`linkedin`,`x`,`mastodon`,`bluesky`,`instagram`,`youtube`,`threads`,`facebook`,`email`,`rss`,`custom`],description:`Identifies the kind of link. 'custom' requires iconUrl.`},v=d().fullFormats.uri,y=RegExp(`^[a-z0-9][a-z0-9-]*$`,`u`);function b(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:c={}}={}){let l=null,u=0,d=b.evaluated;d.dynamicProps&&(d.props=void 0),d.dynamicItems&&(d.items=void 0);let f=u,p=!0,m=u;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.type===void 0){let e={};l===null?l=[e]:l.push(e),u++}else if(e.type!==void 0&&e.type!==`custom`){let e={};l===null?l=[e]:l.push(e),u++}}var h=m===u;if(u=f,l!==null&&(f?l.length=f:l=null),h){let n=u;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.iconUrl===void 0){let e={instancePath:t,schemaPath:`#/allOf/0/then/required`,keyword:`required`,params:{missingProperty:`iconUrl`},message:`must have required property 'iconUrl'`};l===null?l=[e]:l.push(e),u++}if(e.iconUrl!==void 0){let n=e.iconUrl;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/iconUrl`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};l===null?l=[e]:l.push(e),u++}if(!v(n)){let e={instancePath:t+`/iconUrl`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/iconUrl`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}}var h=n===u;if(p=h,p){var x={};x.iconUrl=!0,x.type=!0}}if(!p){let e={instancePath:t,schemaPath:`#/allOf/0/if`,keyword:`if`,params:{failingKeyword:`then`},message:`must match "then" schema`};l===null?l=[e]:l.push(e),u++}if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};l===null?l=[e]:l.push(e),u++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};l===null?l=[e]:l.push(e),u++}if(e.url===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`url`},message:`must have required property 'url'`};l===null?l=[e]:l.push(e),u++}for(let n in e)if(!(n===`id`||n===`visibility`||n===`type`||n===`label`||n===`url`||n===`featured`||n===`order`||n===`iconUrl`)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};l===null?l=[e]:l.push(e),u++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};l===null?l=[e]:l.push(e),u++}}if(e.type!==void 0){let n=e.type;if(typeof n!=`string`){let e={instancePath:t+`/type`,schemaPath:`#/$defs/LinkType/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}if(!(n===`website`||n===`blog`||n===`github`||n===`gitlab`||n===`linkedin`||n===`x`||n===`mastodon`||n===`bluesky`||n===`instagram`||n===`youtube`||n===`threads`||n===`facebook`||n===`email`||n===`rss`||n===`custom`)){let e={instancePath:t+`/type`,schemaPath:`#/$defs/LinkType/enum`,keyword:`enum`,params:{allowedValues:_.enum},message:`must be equal to one of the allowed values`};l===null?l=[e]:l.push(e),u++}}if(e.label!==void 0){let n=e.label;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};l===null?l=[e]:l.push(e),u++}for(let e in n){let n=u;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/label`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/label`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};l===null?l=[n]:l.push(n),u++}if(n!==u){let n={instancePath:t+`/label`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};l===null?l=[n]:l.push(n),u++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/label/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[n]:l.push(n),u++}if(s(r)<1){let n={instancePath:t+`/label/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[n]:l.push(n),u++}if(!o.test(r)){let n={instancePath:t+`/label/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/label/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[n]:l.push(n),u++}}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};l===null?l=[e]:l.push(e),u++}if(!v(n)){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.featured!==void 0&&typeof e.featured!=`boolean`){let e={instancePath:t+`/featured`,schemaPath:`#/properties/featured/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};l===null?l=[e]:l.push(e),u++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};l===null?l=[e]:l.push(e),u++}}if(e.iconUrl!==void 0){let n=e.iconUrl;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/iconUrl`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};l===null?l=[e]:l.push(e),u++}if(!v(n)){let e={instancePath:t+`/iconUrl`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/iconUrl`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}return b.errors=l,u===0}b.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var x={type:`object`,additionalProperties:!1,required:[`id`,`organization`,`role`,`startDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},organization:{$ref:`#/$defs/LocalizedTitle`},role:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}]},isCurrent:{type:`boolean`},url:{$ref:`#/$defs/Url`},location:{$ref:`#/$defs/Address`},order:{type:`integer`,minimum:0}}},S=RegExp(`^[0-9]{4}-(0[1-9]|1[0-2])$`,`u`);function C(e,{instancePath:t=``,parentData:n,parentDataProperty:i,rootData:c=e,dynamicAnchors:l={}}={}){let u=null,d=0,f=C.evaluated;if(f.dynamicProps&&(f.props=void 0),f.dynamicItems&&(f.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};u===null?u=[e]:u.push(e),d++}if(e.organization===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`organization`},message:`must have required property 'organization'`};u===null?u=[e]:u.push(e),d++}if(e.role===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`role`},message:`must have required property 'role'`};u===null?u=[e]:u.push(e),d++}if(e.startDate===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`startDate`},message:`must have required property 'startDate'`};u===null?u=[e]:u.push(e),d++}for(let n in e)if(!r.call(x.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};u===null?u=[e]:u.push(e),d++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};u===null?u=[e]:u.push(e),d++}}if(e.organization!==void 0){let n=e.organization;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/organization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/organization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/organization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/organization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.role!==void 0){let n=e.role;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/role/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/role/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/role/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/role/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.description!==void 0){let n=e.description;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>5e3){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:5e3},message:`must NOT have more than 5000 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.startDate!==void 0){let n=e.startDate;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/startDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/startDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.endDate!==void 0){let n=e.endDate,r=d,i=!1,a=d;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/endDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/endDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}var p=a===d;i||=p;let o=d;if(n!==null){let e={instancePath:t+`/endDate`,schemaPath:`#/properties/endDate/anyOf/1/type`,keyword:`type`,params:{type:`null`},message:`must be null`};u===null?u=[e]:u.push(e),d++}var p=o===d;if(i||=p,i)d=r,u!==null&&(r?u.length=r:u=null);else{let e={instancePath:t+`/endDate`,schemaPath:`#/properties/endDate/anyOf`,keyword:`anyOf`,params:{},message:`must match a schema in anyOf`};u===null?u=[e]:u.push(e),d++}}if(e.isCurrent!==void 0&&typeof e.isCurrent!=`boolean`){let e={instancePath:t+`/isCurrent`,schemaPath:`#/properties/isCurrent/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};u===null?u=[e]:u.push(e),d++}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};u===null?u=[e]:u.push(e),d++}if(!v(n)){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.location!==void 0&&(m(e.location,{instancePath:t+`/location`,parentData:e,parentDataProperty:`location`,rootData:c,dynamicAnchors:l})||(u=u===null?m.errors:u.concat(m.errors),d=u.length)),e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};u===null?u=[e]:u.push(e),d++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}return C.errors=u,d===0}C.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var w={type:`object`,additionalProperties:!1,required:[`id`,`title`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},url:{$ref:`#/$defs/Url`},tags:{type:`array`,maxItems:30,items:{type:`string`,minLength:1,maxLength:50}},relatedCareerId:{$ref:`#/$defs/Slug`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}]},highlighted:{type:`boolean`},order:{type:`integer`,minimum:0}}};function T(e,{instancePath:t=``,parentData:n,parentDataProperty:i,rootData:c=e,dynamicAnchors:l={}}={}){let u=null,d=0,f=T.evaluated;if(f.dynamicProps&&(f.props=void 0),f.dynamicItems&&(f.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};u===null?u=[e]:u.push(e),d++}if(e.title===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`title`},message:`must have required property 'title'`};u===null?u=[e]:u.push(e),d++}for(let n in e)if(!r.call(w.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};u===null?u=[e]:u.push(e),d++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};u===null?u=[e]:u.push(e),d++}}if(e.title!==void 0){let n=e.title;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.description!==void 0){let n=e.description;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>5e3){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:5e3},message:`must NOT have more than 5000 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};u===null?u=[e]:u.push(e),d++}if(!v(n)){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.tags!==void 0){let n=e.tags;if(Array.isArray(n)){if(n.length>30){let e={instancePath:t+`/tags`,schemaPath:`#/properties/tags/maxItems`,keyword:`maxItems`,params:{limit:30},message:`must NOT have more than 30 items`};u===null?u=[e]:u.push(e),d++}let e=n.length;for(let r=0;r<e;r++){let e=n[r];if(typeof e==`string`){if(s(e)>50){let e={instancePath:t+`/tags/`+r,schemaPath:`#/properties/tags/items/maxLength`,keyword:`maxLength`,params:{limit:50},message:`must NOT have more than 50 characters`};u===null?u=[e]:u.push(e),d++}if(s(e)<1){let e={instancePath:t+`/tags/`+r,schemaPath:`#/properties/tags/items/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/tags/`+r,schemaPath:`#/properties/tags/items/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t+`/tags`,schemaPath:`#/properties/tags/type`,keyword:`type`,params:{type:`array`},message:`must be array`};u===null?u=[e]:u.push(e),d++}}if(e.relatedCareerId!==void 0){let n=e.relatedCareerId;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/relatedCareerId`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/relatedCareerId`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/relatedCareerId`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/relatedCareerId`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.startDate!==void 0){let n=e.startDate;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/startDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/startDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.endDate!==void 0){let n=e.endDate,r=d,i=!1,a=d;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/endDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/endDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}var p=a===d;i||=p;let o=d;if(n!==null){let e={instancePath:t+`/endDate`,schemaPath:`#/properties/endDate/anyOf/1/type`,keyword:`type`,params:{type:`null`},message:`must be null`};u===null?u=[e]:u.push(e),d++}var p=o===d;if(i||=p,i)d=r,u!==null&&(r?u.length=r:u=null);else{let e={instancePath:t+`/endDate`,schemaPath:`#/properties/endDate/anyOf`,keyword:`anyOf`,params:{},message:`must match a schema in anyOf`};u===null?u=[e]:u.push(e),d++}}if(e.highlighted!==void 0&&typeof e.highlighted!=`boolean`){let e={instancePath:t+`/highlighted`,schemaPath:`#/properties/highlighted/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};u===null?u=[e]:u.push(e),d++}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};u===null?u=[e]:u.push(e),d++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}return T.errors=u,d===0}T.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};function ee(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:a={}}={}){let o=null,c=0,l=ee.evaluated;if(l.dynamicProps&&(l.props=void 0),l.dynamicItems&&(l.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};o===null?o=[e]:o.push(e),c++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};o===null?o=[e]:o.push(e),c++}for(let n in e)if(!(n===`id`||n===`visibility`||n===`label`||n===`category`||n===`order`)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};o===null?o=[e]:o.push(e),c++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};o===null?o=[e]:o.push(e),c++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};o===null?o=[e]:o.push(e),c++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};o===null?o=[e]:o.push(e),c++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>100){let e={instancePath:t+`/label`,schemaPath:`#/properties/label/maxLength`,keyword:`maxLength`,params:{limit:100},message:`must NOT have more than 100 characters`};o===null?o=[e]:o.push(e),c++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/properties/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/label`,schemaPath:`#/properties/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(e.category!==void 0){let n=e.category;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/category`,schemaPath:`#/properties/category/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};o===null?o=[e]:o.push(e),c++}if(s(n)<1){let e={instancePath:t+`/category`,schemaPath:`#/properties/category/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/category`,schemaPath:`#/properties/category/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};o===null?o=[e]:o.push(e),c++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};o===null?o=[e]:o.push(e),c++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};o===null?o=[e]:o.push(e),c++}return ee.errors=o,c===0}ee.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var te={type:`object`,additionalProperties:!1,required:[`id`,`title`,`issuingOrganization`,`issueDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},issuingOrganization:{$ref:`#/$defs/LocalizedTitle`},issueDate:{$ref:`#/$defs/YearMonth`},expirationDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}],description:`null = explicitly 'no expiration'. Omit if unknown/unstated.`},credentialId:{type:`string`,minLength:1,maxLength:100,description:`License or certificate number. Public exposure controlled by meta.privacy.hideCredentialIds.`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}};function E(e,{instancePath:t=``,parentData:n,parentDataProperty:i,rootData:c=e,dynamicAnchors:l={}}={}){let u=null,d=0,f=E.evaluated;if(f.dynamicProps&&(f.props=void 0),f.dynamicItems&&(f.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};u===null?u=[e]:u.push(e),d++}if(e.title===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`title`},message:`must have required property 'title'`};u===null?u=[e]:u.push(e),d++}if(e.issuingOrganization===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`issuingOrganization`},message:`must have required property 'issuingOrganization'`};u===null?u=[e]:u.push(e),d++}if(e.issueDate===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`issueDate`},message:`must have required property 'issueDate'`};u===null?u=[e]:u.push(e),d++}for(let n in e)if(!r.call(te.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};u===null?u=[e]:u.push(e),d++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};u===null?u=[e]:u.push(e),d++}}if(e.title!==void 0){let n=e.title;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.issuingOrganization!==void 0){let n=e.issuingOrganization;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/issuingOrganization`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/issuingOrganization`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/issuingOrganization`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/issuingOrganization`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/issuingOrganization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/issuingOrganization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/issuingOrganization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/issuingOrganization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/issuingOrganization`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.issueDate!==void 0){let n=e.issueDate;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/issueDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/issueDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.expirationDate!==void 0){let n=e.expirationDate,r=d,i=!1,a=d;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/expirationDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/expirationDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}var p=a===d;i||=p;let o=d;if(n!==null){let e={instancePath:t+`/expirationDate`,schemaPath:`#/properties/expirationDate/anyOf/1/type`,keyword:`type`,params:{type:`null`},message:`must be null`};u===null?u=[e]:u.push(e),d++}var p=o===d;if(i||=p,i)d=r,u!==null&&(r?u.length=r:u=null);else{let e={instancePath:t+`/expirationDate`,schemaPath:`#/properties/expirationDate/anyOf`,keyword:`anyOf`,params:{},message:`must match a schema in anyOf`};u===null?u=[e]:u.push(e),d++}}if(e.credentialId!==void 0){let n=e.credentialId;if(typeof n==`string`){if(s(n)>100){let e={instancePath:t+`/credentialId`,schemaPath:`#/properties/credentialId/maxLength`,keyword:`maxLength`,params:{limit:100},message:`must NOT have more than 100 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/credentialId`,schemaPath:`#/properties/credentialId/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/credentialId`,schemaPath:`#/properties/credentialId/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};u===null?u=[e]:u.push(e),d++}if(!v(n)){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};u===null?u=[e]:u.push(e),d++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}return E.errors=u,d===0}E.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var ne={type:`object`,additionalProperties:!1,required:[`id`,`organization`,`startDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},organization:{$ref:`#/$defs/LocalizedTitle`},role:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}],description:`null = ongoing. Omit if unknown.`},isCurrent:{type:`boolean`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}};function re(e,{instancePath:t=``,parentData:n,parentDataProperty:i,rootData:c=e,dynamicAnchors:l={}}={}){let u=null,d=0,f=re.evaluated;if(f.dynamicProps&&(f.props=void 0),f.dynamicItems&&(f.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};u===null?u=[e]:u.push(e),d++}if(e.organization===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`organization`},message:`must have required property 'organization'`};u===null?u=[e]:u.push(e),d++}if(e.startDate===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`startDate`},message:`must have required property 'startDate'`};u===null?u=[e]:u.push(e),d++}for(let n in e)if(!r.call(ne.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};u===null?u=[e]:u.push(e),d++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};u===null?u=[e]:u.push(e),d++}}if(e.organization!==void 0){let n=e.organization;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/organization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/organization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/organization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/organization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.role!==void 0){let n=e.role;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/role/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/role/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/role/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/role/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.description!==void 0){let n=e.description;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>5e3){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:5e3},message:`must NOT have more than 5000 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.startDate!==void 0){let n=e.startDate;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/startDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/startDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.endDate!==void 0){let n=e.endDate,r=d,i=!1,a=d;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/endDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/endDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}var p=a===d;i||=p;let o=d;if(n!==null){let e={instancePath:t+`/endDate`,schemaPath:`#/properties/endDate/anyOf/1/type`,keyword:`type`,params:{type:`null`},message:`must be null`};u===null?u=[e]:u.push(e),d++}var p=o===d;if(i||=p,i)d=r,u!==null&&(r?u.length=r:u=null);else{let e={instancePath:t+`/endDate`,schemaPath:`#/properties/endDate/anyOf`,keyword:`anyOf`,params:{},message:`must match a schema in anyOf`};u===null?u=[e]:u.push(e),d++}}if(e.isCurrent!==void 0&&typeof e.isCurrent!=`boolean`){let e={instancePath:t+`/isCurrent`,schemaPath:`#/properties/isCurrent/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};u===null?u=[e]:u.push(e),d++}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};u===null?u=[e]:u.push(e),d++}if(!v(n)){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};u===null?u=[e]:u.push(e),d++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}return re.errors=u,d===0}re.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var ie={type:`object`,additionalProperties:!1,required:[`id`,`organization`,`role`,`startDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},organization:{$ref:`#/$defs/LocalizedTitle`},role:{$ref:`#/$defs/LocalizedTitle`},cause:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}]},isCurrent:{type:`boolean`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}};function ae(e,{instancePath:t=``,parentData:n,parentDataProperty:i,rootData:c=e,dynamicAnchors:l={}}={}){let u=null,d=0,f=ae.evaluated;if(f.dynamicProps&&(f.props=void 0),f.dynamicItems&&(f.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};u===null?u=[e]:u.push(e),d++}if(e.organization===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`organization`},message:`must have required property 'organization'`};u===null?u=[e]:u.push(e),d++}if(e.role===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`role`},message:`must have required property 'role'`};u===null?u=[e]:u.push(e),d++}if(e.startDate===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`startDate`},message:`must have required property 'startDate'`};u===null?u=[e]:u.push(e),d++}for(let n in e)if(!r.call(ie.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};u===null?u=[e]:u.push(e),d++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};u===null?u=[e]:u.push(e),d++}}if(e.organization!==void 0){let n=e.organization;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/organization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/organization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/organization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/organization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.role!==void 0){let n=e.role;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/role/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/role/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/role/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/role/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.cause!==void 0){let n=e.cause;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/cause`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/cause`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/cause`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/cause`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/cause/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/cause/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/cause/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/cause/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/cause`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.description!==void 0){let n=e.description;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>5e3){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:5e3},message:`must NOT have more than 5000 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.startDate!==void 0){let n=e.startDate;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/startDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/startDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.endDate!==void 0){let n=e.endDate,r=d,i=!1,a=d;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/endDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/endDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}var p=a===d;i||=p;let o=d;if(n!==null){let e={instancePath:t+`/endDate`,schemaPath:`#/properties/endDate/anyOf/1/type`,keyword:`type`,params:{type:`null`},message:`must be null`};u===null?u=[e]:u.push(e),d++}var p=o===d;if(i||=p,i)d=r,u!==null&&(r?u.length=r:u=null);else{let e={instancePath:t+`/endDate`,schemaPath:`#/properties/endDate/anyOf`,keyword:`anyOf`,params:{},message:`must match a schema in anyOf`};u===null?u=[e]:u.push(e),d++}}if(e.isCurrent!==void 0&&typeof e.isCurrent!=`boolean`){let e={instancePath:t+`/isCurrent`,schemaPath:`#/properties/isCurrent/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};u===null?u=[e]:u.push(e),d++}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};u===null?u=[e]:u.push(e),d++}if(!v(n)){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};u===null?u=[e]:u.push(e),d++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}return ae.errors=u,d===0}ae.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};function D(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:c={}}={}){let l=null,u=0,d=D.evaluated;if(d.dynamicProps&&(d.props=void 0),d.dynamicItems&&(d.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};l===null?l=[e]:l.push(e),u++}if(e.title===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`title`},message:`must have required property 'title'`};l===null?l=[e]:l.push(e),u++}if(e.issuer===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`issuer`},message:`must have required property 'issuer'`};l===null?l=[e]:l.push(e),u++}if(e.date===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`date`},message:`must have required property 'date'`};l===null?l=[e]:l.push(e),u++}for(let n in e)if(!(n===`id`||n===`visibility`||n===`title`||n===`issuer`||n===`description`||n===`date`||n===`url`||n===`order`)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};l===null?l=[e]:l.push(e),u++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};l===null?l=[e]:l.push(e),u++}}if(e.title!==void 0){let n=e.title;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};l===null?l=[e]:l.push(e),u++}for(let e in n){let n=u;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};l===null?l=[n]:l.push(n),u++}if(n!==u){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};l===null?l=[n]:l.push(n),u++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[n]:l.push(n),u++}if(s(r)<1){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[n]:l.push(n),u++}if(!o.test(r)){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[n]:l.push(n),u++}}}else{let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.issuer!==void 0){let n=e.issuer;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/issuer`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};l===null?l=[e]:l.push(e),u++}for(let e in n){let n=u;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/issuer`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/issuer`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};l===null?l=[n]:l.push(n),u++}if(n!==u){let n={instancePath:t+`/issuer`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};l===null?l=[n]:l.push(n),u++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/issuer/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[n]:l.push(n),u++}if(s(r)<1){let n={instancePath:t+`/issuer/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[n]:l.push(n),u++}if(!o.test(r)){let n={instancePath:t+`/issuer/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/issuer/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[n]:l.push(n),u++}}}else{let e={instancePath:t+`/issuer`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.description!==void 0){let n=e.description;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};l===null?l=[e]:l.push(e),u++}for(let e in n){let n=u;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};l===null?l=[n]:l.push(n),u++}if(n!==u){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};l===null?l=[n]:l.push(n),u++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>5e3){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:5e3},message:`must NOT have more than 5000 characters`};l===null?l=[n]:l.push(n),u++}if(s(r)<1){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[n]:l.push(n),u++}if(!o.test(r)){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[n]:l.push(n),u++}}}else{let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.date!==void 0){let n=e.date;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/date`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/date`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};l===null?l=[e]:l.push(e),u++}if(!v(n)){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};l===null?l=[e]:l.push(e),u++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};l===null?l=[e]:l.push(e),u++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}return D.errors=l,u===0}D.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var oe={type:`object`,additionalProperties:!1,required:[`id`,`institution`,`startDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},institution:{$ref:`#/$defs/LocalizedTitle`},degree:{$ref:`#/$defs/LocalizedTitle`},fieldOfStudy:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},grade:{type:`string`,minLength:1,maxLength:50,description:`Free-form grade / class / GPA. Public exposure controlled by meta.privacy.hideEducationGrades.`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}],description:`null = currently enrolled.`},isCurrent:{type:`boolean`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}};function O(e,{instancePath:t=``,parentData:n,parentDataProperty:i,rootData:c=e,dynamicAnchors:l={}}={}){let u=null,d=0,f=O.evaluated;if(f.dynamicProps&&(f.props=void 0),f.dynamicItems&&(f.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};u===null?u=[e]:u.push(e),d++}if(e.institution===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`institution`},message:`must have required property 'institution'`};u===null?u=[e]:u.push(e),d++}if(e.startDate===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`startDate`},message:`must have required property 'startDate'`};u===null?u=[e]:u.push(e),d++}for(let n in e)if(!r.call(oe.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};u===null?u=[e]:u.push(e),d++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};u===null?u=[e]:u.push(e),d++}}if(e.institution!==void 0){let n=e.institution;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/institution`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/institution`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/institution`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/institution`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/institution/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/institution/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/institution/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/institution/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/institution`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.degree!==void 0){let n=e.degree;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/degree`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/degree`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/degree`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/degree`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/degree/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/degree/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/degree/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/degree/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/degree`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.fieldOfStudy!==void 0){let n=e.fieldOfStudy;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/fieldOfStudy`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/fieldOfStudy`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/fieldOfStudy`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/fieldOfStudy`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/fieldOfStudy/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/fieldOfStudy/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/fieldOfStudy/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/fieldOfStudy/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/fieldOfStudy`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.description!==void 0){let n=e.description;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>5e3){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:5e3},message:`must NOT have more than 5000 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.grade!==void 0){let n=e.grade;if(typeof n==`string`){if(s(n)>50){let e={instancePath:t+`/grade`,schemaPath:`#/properties/grade/maxLength`,keyword:`maxLength`,params:{limit:50},message:`must NOT have more than 50 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/grade`,schemaPath:`#/properties/grade/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/grade`,schemaPath:`#/properties/grade/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.startDate!==void 0){let n=e.startDate;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/startDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/startDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.endDate!==void 0){let n=e.endDate,r=d,i=!1,a=d;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/endDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/endDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}var p=a===d;i||=p;let o=d;if(n!==null){let e={instancePath:t+`/endDate`,schemaPath:`#/properties/endDate/anyOf/1/type`,keyword:`type`,params:{type:`null`},message:`must be null`};u===null?u=[e]:u.push(e),d++}var p=o===d;if(i||=p,i)d=r,u!==null&&(r?u.length=r:u=null);else{let e={instancePath:t+`/endDate`,schemaPath:`#/properties/endDate/anyOf`,keyword:`anyOf`,params:{},message:`must match a schema in anyOf`};u===null?u=[e]:u.push(e),d++}}if(e.isCurrent!==void 0&&typeof e.isCurrent!=`boolean`){let e={instancePath:t+`/isCurrent`,schemaPath:`#/properties/isCurrent/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};u===null?u=[e]:u.push(e),d++}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};u===null?u=[e]:u.push(e),d++}if(!v(n)){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};u===null?u=[e]:u.push(e),d++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}return O.errors=u,d===0}O.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var se={type:`object`,additionalProperties:!1,required:[`id`,`title`,`date`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},publisher:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},date:{$ref:`#/$defs/YearMonth`},url:{$ref:`#/$defs/Url`},doi:{type:`string`,minLength:1,maxLength:200,description:`DOI identifier (e.g. '10.1145/3548643.3548644'). The full URL goes in 'url'.`},coAuthors:{type:`array`,maxItems:50,items:{type:`string`,minLength:1,maxLength:100},description:`Co-author names in original script. Excludes the profile owner.`},order:{type:`integer`,minimum:0}}};function ce(e,{instancePath:t=``,parentData:n,parentDataProperty:i,rootData:c=e,dynamicAnchors:l={}}={}){let u=null,d=0,f=ce.evaluated;if(f.dynamicProps&&(f.props=void 0),f.dynamicItems&&(f.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};u===null?u=[e]:u.push(e),d++}if(e.title===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`title`},message:`must have required property 'title'`};u===null?u=[e]:u.push(e),d++}if(e.date===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`date`},message:`must have required property 'date'`};u===null?u=[e]:u.push(e),d++}for(let n in e)if(!r.call(se.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};u===null?u=[e]:u.push(e),d++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};u===null?u=[e]:u.push(e),d++}}if(e.title!==void 0){let n=e.title;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.publisher!==void 0){let n=e.publisher;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/publisher`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/publisher`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/publisher`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/publisher`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/publisher/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/publisher/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/publisher/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/publisher/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/publisher`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.description!==void 0){let n=e.description;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>5e3){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:5e3},message:`must NOT have more than 5000 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.date!==void 0){let n=e.date;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/date`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/date`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};u===null?u=[e]:u.push(e),d++}if(!v(n)){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.doi!==void 0){let n=e.doi;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/doi`,schemaPath:`#/properties/doi/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/doi`,schemaPath:`#/properties/doi/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/doi`,schemaPath:`#/properties/doi/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.coAuthors!==void 0){let n=e.coAuthors;if(Array.isArray(n)){if(n.length>50){let e={instancePath:t+`/coAuthors`,schemaPath:`#/properties/coAuthors/maxItems`,keyword:`maxItems`,params:{limit:50},message:`must NOT have more than 50 items`};u===null?u=[e]:u.push(e),d++}let e=n.length;for(let r=0;r<e;r++){let e=n[r];if(typeof e==`string`){if(s(e)>100){let e={instancePath:t+`/coAuthors/`+r,schemaPath:`#/properties/coAuthors/items/maxLength`,keyword:`maxLength`,params:{limit:100},message:`must NOT have more than 100 characters`};u===null?u=[e]:u.push(e),d++}if(s(e)<1){let e={instancePath:t+`/coAuthors/`+r,schemaPath:`#/properties/coAuthors/items/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/coAuthors/`+r,schemaPath:`#/properties/coAuthors/items/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t+`/coAuthors`,schemaPath:`#/properties/coAuthors/type`,keyword:`type`,params:{type:`array`},message:`must be array`};u===null?u=[e]:u.push(e),d++}}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};u===null?u=[e]:u.push(e),d++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}return ce.errors=u,d===0}ce.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var k={type:`object`,additionalProperties:!1,required:[`id`,`language`,`proficiency`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},language:{$ref:`#/$defs/LocaleTag`},displayName:{$ref:`#/$defs/LocalizedTitle`},proficiency:{type:`string`,enum:[`native`,`fluent`,`professional`,`intermediate`,`basic`],description:`LinkedIn-compatible 5-level proficiency.`},order:{type:`integer`,minimum:0}}};function A(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:c={}}={}){let l=null,u=0,d=A.evaluated;if(d.dynamicProps&&(d.props=void 0),d.dynamicItems&&(d.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};l===null?l=[e]:l.push(e),u++}if(e.language===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`language`},message:`must have required property 'language'`};l===null?l=[e]:l.push(e),u++}if(e.proficiency===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`proficiency`},message:`must have required property 'proficiency'`};l===null?l=[e]:l.push(e),u++}for(let n in e)if(!(n===`id`||n===`visibility`||n===`language`||n===`displayName`||n===`proficiency`||n===`order`)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};l===null?l=[e]:l.push(e),u++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};l===null?l=[e]:l.push(e),u++}}if(e.language!==void 0){let n=e.language;if(typeof n==`string`){if(s(n)>35){let e={instancePath:t+`/language`,schemaPath:`#/$defs/LocaleTag/maxLength`,keyword:`maxLength`,params:{limit:35},message:`must NOT have more than 35 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<2){let e={instancePath:t+`/language`,schemaPath:`#/$defs/LocaleTag/minLength`,keyword:`minLength`,params:{limit:2},message:`must NOT have fewer than 2 characters`};l===null?l=[e]:l.push(e),u++}if(!a.test(n)){let e={instancePath:t+`/language`,schemaPath:`#/$defs/LocaleTag/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/language`,schemaPath:`#/$defs/LocaleTag/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.displayName!==void 0){let n=e.displayName;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/displayName`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};l===null?l=[e]:l.push(e),u++}for(let e in n){let n=u;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/displayName`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/displayName`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};l===null?l=[n]:l.push(n),u++}if(n!==u){let n={instancePath:t+`/displayName`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};l===null?l=[n]:l.push(n),u++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/displayName/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[n]:l.push(n),u++}if(s(r)<1){let n={instancePath:t+`/displayName/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[n]:l.push(n),u++}if(!o.test(r)){let n={instancePath:t+`/displayName/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/displayName/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[n]:l.push(n),u++}}}else{let e={instancePath:t+`/displayName`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.proficiency!==void 0){let n=e.proficiency;if(typeof n!=`string`){let e={instancePath:t+`/proficiency`,schemaPath:`#/properties/proficiency/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}if(!(n===`native`||n===`fluent`||n===`professional`||n===`intermediate`||n===`basic`)){let e={instancePath:t+`/proficiency`,schemaPath:`#/properties/proficiency/enum`,keyword:`enum`,params:{allowedValues:k.properties.proficiency.enum},message:`must be equal to one of the allowed values`};l===null?l=[e]:l.push(e),u++}}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};l===null?l=[e]:l.push(e),u++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};l===null?l=[e]:l.push(e),u++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}return A.errors=l,u===0}A.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var j={type:`object`,additionalProperties:!1,required:[`id`,`title`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},provider:{$ref:`#/$defs/LocalizedTitle`},courseNumber:{type:`string`,minLength:1,maxLength:50},description:{$ref:`#/$defs/LocalizedBody`},completionDate:{$ref:`#/$defs/YearMonth`},certificateUrl:{$ref:`#/$defs/Url`},relatedEducationId:{$ref:`#/$defs/Slug`,description:`Optional reference to an education[].id (e.g. for university coursework).`},order:{type:`integer`,minimum:0}}};function M(e,{instancePath:t=``,parentData:n,parentDataProperty:i,rootData:c=e,dynamicAnchors:l={}}={}){let u=null,d=0,f=M.evaluated;if(f.dynamicProps&&(f.props=void 0),f.dynamicItems&&(f.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};u===null?u=[e]:u.push(e),d++}if(e.title===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`title`},message:`must have required property 'title'`};u===null?u=[e]:u.push(e),d++}for(let n in e)if(!r.call(j.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};u===null?u=[e]:u.push(e),d++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};u===null?u=[e]:u.push(e),d++}}if(e.title!==void 0){let n=e.title;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.provider!==void 0){let n=e.provider;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/provider`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/provider`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/provider`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/provider`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/provider/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/provider/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/provider/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/provider/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/provider`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.courseNumber!==void 0){let n=e.courseNumber;if(typeof n==`string`){if(s(n)>50){let e={instancePath:t+`/courseNumber`,schemaPath:`#/properties/courseNumber/maxLength`,keyword:`maxLength`,params:{limit:50},message:`must NOT have more than 50 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/courseNumber`,schemaPath:`#/properties/courseNumber/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/courseNumber`,schemaPath:`#/properties/courseNumber/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.description!==void 0){let n=e.description;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>5e3){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:5e3},message:`must NOT have more than 5000 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.completionDate!==void 0){let n=e.completionDate;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/completionDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/completionDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.certificateUrl!==void 0){let n=e.certificateUrl;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/certificateUrl`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};u===null?u=[e]:u.push(e),d++}if(!v(n)){let e={instancePath:t+`/certificateUrl`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/certificateUrl`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.relatedEducationId!==void 0){let n=e.relatedEducationId;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/relatedEducationId`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/relatedEducationId`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/relatedEducationId`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/relatedEducationId`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};u===null?u=[e]:u.push(e),d++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}return M.errors=u,d===0}M.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var N={type:`object`,additionalProperties:!1,required:[`id`,`title`,`patentNumber`,`status`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},patentNumber:{type:`string`,minLength:1,maxLength:100},office:{type:`string`,maxLength:100,description:`Patent office name (e.g. 'USPTO', 'JPO', 'EPO').`},status:{type:`string`,enum:[`pending`,`issued`,`expired`,`abandoned`]},description:{$ref:`#/$defs/LocalizedBody`},filingDate:{$ref:`#/$defs/YearMonth`},grantDate:{$ref:`#/$defs/YearMonth`},url:{$ref:`#/$defs/Url`},coInventors:{type:`array`,maxItems:20,items:{type:`string`,minLength:1,maxLength:100}},order:{type:`integer`,minimum:0}}};function P(e,{instancePath:t=``,parentData:n,parentDataProperty:i,rootData:c=e,dynamicAnchors:l={}}={}){let u=null,d=0,f=P.evaluated;if(f.dynamicProps&&(f.props=void 0),f.dynamicItems&&(f.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};u===null?u=[e]:u.push(e),d++}if(e.title===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`title`},message:`must have required property 'title'`};u===null?u=[e]:u.push(e),d++}if(e.patentNumber===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`patentNumber`},message:`must have required property 'patentNumber'`};u===null?u=[e]:u.push(e),d++}if(e.status===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`status`},message:`must have required property 'status'`};u===null?u=[e]:u.push(e),d++}for(let n in e)if(!r.call(N.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};u===null?u=[e]:u.push(e),d++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};u===null?u=[e]:u.push(e),d++}}if(e.title!==void 0){let n=e.title;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.patentNumber!==void 0){let n=e.patentNumber;if(typeof n==`string`){if(s(n)>100){let e={instancePath:t+`/patentNumber`,schemaPath:`#/properties/patentNumber/maxLength`,keyword:`maxLength`,params:{limit:100},message:`must NOT have more than 100 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/patentNumber`,schemaPath:`#/properties/patentNumber/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/patentNumber`,schemaPath:`#/properties/patentNumber/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.office!==void 0){let n=e.office;if(typeof n==`string`){if(s(n)>100){let e={instancePath:t+`/office`,schemaPath:`#/properties/office/maxLength`,keyword:`maxLength`,params:{limit:100},message:`must NOT have more than 100 characters`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/office`,schemaPath:`#/properties/office/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.status!==void 0){let n=e.status;if(typeof n!=`string`){let e={instancePath:t+`/status`,schemaPath:`#/properties/status/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}if(!(n===`pending`||n===`issued`||n===`expired`||n===`abandoned`)){let e={instancePath:t+`/status`,schemaPath:`#/properties/status/enum`,keyword:`enum`,params:{allowedValues:N.properties.status.enum},message:`must be equal to one of the allowed values`};u===null?u=[e]:u.push(e),d++}}if(e.description!==void 0){let n=e.description;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>5e3){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:5e3},message:`must NOT have more than 5000 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.filingDate!==void 0){let n=e.filingDate;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/filingDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/filingDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.grantDate!==void 0){let n=e.grantDate;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/grantDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/grantDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};u===null?u=[e]:u.push(e),d++}if(!v(n)){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.coInventors!==void 0){let n=e.coInventors;if(Array.isArray(n)){if(n.length>20){let e={instancePath:t+`/coInventors`,schemaPath:`#/properties/coInventors/maxItems`,keyword:`maxItems`,params:{limit:20},message:`must NOT have more than 20 items`};u===null?u=[e]:u.push(e),d++}let e=n.length;for(let r=0;r<e;r++){let e=n[r];if(typeof e==`string`){if(s(e)>100){let e={instancePath:t+`/coInventors/`+r,schemaPath:`#/properties/coInventors/items/maxLength`,keyword:`maxLength`,params:{limit:100},message:`must NOT have more than 100 characters`};u===null?u=[e]:u.push(e),d++}if(s(e)<1){let e={instancePath:t+`/coInventors/`+r,schemaPath:`#/properties/coInventors/items/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/coInventors/`+r,schemaPath:`#/properties/coInventors/items/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t+`/coInventors`,schemaPath:`#/properties/coInventors/type`,keyword:`type`,params:{type:`array`},message:`must be array`};u===null?u=[e]:u.push(e),d++}}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};u===null?u=[e]:u.push(e),d++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}return P.errors=u,d===0}P.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var le={type:`object`,additionalProperties:!1,required:[`id`,`title`,`score`,`date`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},score:{type:`string`,minLength:1,maxLength:50,description:`Free-form score string (e.g. '112 / 120', '330', 'N1 Pass', or a percentile). The validator does not interpret its contents.`},date:{$ref:`#/$defs/YearMonth`},relatedEducationId:{$ref:`#/$defs/Slug`,description:`Optional reference to an education[].id (e.g. for a university course exam).`},description:{$ref:`#/$defs/LocalizedBody`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}};function ue(e,{instancePath:t=``,parentData:n,parentDataProperty:i,rootData:c=e,dynamicAnchors:l={}}={}){let u=null,d=0,f=ue.evaluated;if(f.dynamicProps&&(f.props=void 0),f.dynamicItems&&(f.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};u===null?u=[e]:u.push(e),d++}if(e.title===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`title`},message:`must have required property 'title'`};u===null?u=[e]:u.push(e),d++}if(e.score===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`score`},message:`must have required property 'score'`};u===null?u=[e]:u.push(e),d++}if(e.date===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`date`},message:`must have required property 'date'`};u===null?u=[e]:u.push(e),d++}for(let n in e)if(!r.call(le.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};u===null?u=[e]:u.push(e),d++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};u===null?u=[e]:u.push(e),d++}}if(e.title!==void 0){let n=e.title;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.score!==void 0){let n=e.score;if(typeof n==`string`){if(s(n)>50){let e={instancePath:t+`/score`,schemaPath:`#/properties/score/maxLength`,keyword:`maxLength`,params:{limit:50},message:`must NOT have more than 50 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/score`,schemaPath:`#/properties/score/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/score`,schemaPath:`#/properties/score/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.date!==void 0){let n=e.date;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/date`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/date`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.relatedEducationId!==void 0){let n=e.relatedEducationId;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/relatedEducationId`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/relatedEducationId`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/relatedEducationId`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/relatedEducationId`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.description!==void 0){let n=e.description;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>5e3){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:5e3},message:`must NOT have more than 5000 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};u===null?u=[e]:u.push(e),d++}if(!v(n)){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};u===null?u=[e]:u.push(e),d++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}return ue.errors=u,d===0}ue.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var de={type:`object`,additionalProperties:!1,required:[`id`,`body`,`author`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},body:{$ref:`#/$defs/LocalizedBody`},author:{$ref:`#/$defs/RecommendationAuthor`},relationship:{$ref:`#/$defs/LocalizedTitle`,description:`How the recommender relates to the profile owner (e.g. 'managed directly', 'worked together').`},date:{$ref:`#/$defs/YearMonth`},relatedCareerId:{$ref:`#/$defs/Slug`,description:`Optional reference to a careers[].id (the position the recommendation pertains to).`},relatedEducationId:{$ref:`#/$defs/Slug`,description:`Optional reference to an education[].id (e.g. a recommendation from a professor).`},order:{type:`integer`,minimum:0}}};function fe(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:c={}}={}){let l=null,u=0,d=fe.evaluated;if(d.dynamicProps&&(d.props=void 0),d.dynamicItems&&(d.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.name===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`name`},message:`must have required property 'name'`};l===null?l=[e]:l.push(e),u++}for(let n in e)if(!(n===`name`||n===`headline`||n===`url`)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};l===null?l=[e]:l.push(e),u++}if(e.name!==void 0){let n=e.name;if(typeof n==`string`){if(s(n)>100){let e={instancePath:t+`/name`,schemaPath:`#/properties/name/maxLength`,keyword:`maxLength`,params:{limit:100},message:`must NOT have more than 100 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/name`,schemaPath:`#/properties/name/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/name`,schemaPath:`#/properties/name/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.headline!==void 0){let n=e.headline;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/headline`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};l===null?l=[e]:l.push(e),u++}for(let e in n){let n=u;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/headline`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/headline`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};l===null?l=[n]:l.push(n),u++}if(n!==u){let n={instancePath:t+`/headline`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};l===null?l=[n]:l.push(n),u++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/headline/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[n]:l.push(n),u++}if(s(r)<1){let n={instancePath:t+`/headline/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[n]:l.push(n),u++}if(!o.test(r)){let n={instancePath:t+`/headline/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/headline/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[n]:l.push(n),u++}}}else{let e={instancePath:t+`/headline`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};l===null?l=[e]:l.push(e),u++}if(!v(n)){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}return fe.errors=l,u===0}fe.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};function pe(e,{instancePath:t=``,parentData:n,parentDataProperty:i,rootData:c=e,dynamicAnchors:l={}}={}){let u=null,d=0,f=pe.evaluated;if(f.dynamicProps&&(f.props=void 0),f.dynamicItems&&(f.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};u===null?u=[e]:u.push(e),d++}if(e.body===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`body`},message:`must have required property 'body'`};u===null?u=[e]:u.push(e),d++}if(e.author===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`author`},message:`must have required property 'author'`};u===null?u=[e]:u.push(e),d++}for(let n in e)if(!r.call(de.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};u===null?u=[e]:u.push(e),d++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};u===null?u=[e]:u.push(e),d++}}if(e.body!==void 0){let n=e.body;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/body`,schemaPath:`#/$defs/LocalizedBody/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/body`,schemaPath:`#/$defs/LocalizedBody/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/body`,schemaPath:`#/$defs/LocalizedBody/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/body`,schemaPath:`#/$defs/LocalizedBody/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>5e3){let n={instancePath:t+`/body/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:5e3},message:`must NOT have more than 5000 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/body/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/body/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/body/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/body`,schemaPath:`#/$defs/LocalizedBody/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.author!==void 0&&(fe(e.author,{instancePath:t+`/author`,parentData:e,parentDataProperty:`author`,rootData:c,dynamicAnchors:l})||(u=u===null?fe.errors:u.concat(fe.errors),d=u.length)),e.relationship!==void 0){let n=e.relationship;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/relationship`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/relationship`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/relationship`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/relationship`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/relationship/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/relationship/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/relationship/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/relationship/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/relationship`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.date!==void 0){let n=e.date;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/date`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/date`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.relatedCareerId!==void 0){let n=e.relatedCareerId;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/relatedCareerId`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/relatedCareerId`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/relatedCareerId`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/relatedCareerId`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.relatedEducationId!==void 0){let n=e.relatedEducationId;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/relatedEducationId`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/relatedEducationId`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/relatedEducationId`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/relatedEducationId`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};u===null?u=[e]:u.push(e),d++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}return pe.errors=u,d===0}pe.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var me=/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;function he(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:a={}}={}){let o=null,c=0,l=he.evaluated;if(l.dynamicProps&&(l.props=void 0),l.dynamicItems&&(l.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){for(let n in e)if(!(n===`email`||n===`showEmail`||n===`formUrl`)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};o===null?o=[e]:o.push(e),c++}if(e.email!==void 0){let n=e.email;if(typeof n==`string`){if(s(n)>254){let e={instancePath:t+`/email`,schemaPath:`#/$defs/Email/maxLength`,keyword:`maxLength`,params:{limit:254},message:`must NOT have more than 254 characters`};o===null?o=[e]:o.push(e),c++}if(!me.test(n)){let e={instancePath:t+`/email`,schemaPath:`#/$defs/Email/format`,keyword:`format`,params:{format:`email`},message:`must match format "email"`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/email`,schemaPath:`#/$defs/Email/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(e.showEmail!==void 0&&typeof e.showEmail!=`boolean`){let e={instancePath:t+`/showEmail`,schemaPath:`#/properties/showEmail/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};o===null?o=[e]:o.push(e),c++}if(e.formUrl!==void 0){let n=e.formUrl;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/formUrl`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};o===null?o=[e]:o.push(e),c++}if(!v(n)){let e={instancePath:t+`/formUrl`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/formUrl`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};o===null?o=[e]:o.push(e),c++}return he.errors=o,c===0}he.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var ge={type:`object`,additionalProperties:!1,required:[`defaultLocale`,`availableLocales`],properties:{defaultLocale:{$ref:`#/$defs/LocaleTag`},fallbackLocale:{$ref:`#/$defs/LocaleTag`},availableLocales:{type:`array`,minItems:1,maxItems:50,uniqueItems:!0,items:{$ref:`#/$defs/LocaleTag`}},theme:{type:`string`,minLength:1,maxLength:64,description:`UI theme identifier. 'default' is the built-in theme; adapters may add more.`},showPoweredBy:{type:`boolean`,default:!0,description:`Display the 'Powered by takuhon' attribution in the rendered profile.`},enableJsonLd:{type:`boolean`,default:!0,description:`Emit Schema.org JSON-LD on the rendered profile page.`},enableApi:{type:`boolean`,default:!0,description:`Expose the public read API endpoints (GET /api/profile, /api/jsonld, /api/schema, /takuhon.json).`},enableAnalytics:{type:`boolean`,default:!1,description:`Opt-in flag for first-party analytics. Default is false to keep takuhon privacy-respecting by default.`},activity:{$ref:`#/$defs/ActivitySettings`},publicVisibility:{$ref:`#/$defs/PublicVisibility`},contact:{$ref:`#/$defs/ContactSettings`}}},_e={type:`object`,additionalProperties:!1,description:`Per-section public visibility (added in 0.6.0). Each key is a content section; setting it to false hides that whole section from every public surface (GET /, /api/profile, /api/jsonld, /takuhon.json, MCP, and the derived CV) via the shared applyPublicPrivacyFilter. An absent key — or an absent object — means the section is public, so the default is all-visible and omitting this block is fully backwards-compatible. The profile identity (profile.displayName, …) is always public and is intentionally not a key here. Field-level controls (contact.showEmail, meta.privacy.*) still apply within a visible section: visibility is the AND of the feature toggle, this section flag, and the field flag.`,properties:{links:{type:`boolean`,description:`Default true. When false, links[] is emitted empty on public surfaces.`},careers:{type:`boolean`,description:`Default true. When false, careers[] is emitted empty on public surfaces.`},projects:{type:`boolean`,description:`Default true. When false, projects[] is emitted empty on public surfaces.`},skills:{type:`boolean`,description:`Default true. When false, skills[] is emitted empty on public surfaces.`},certifications:{type:`boolean`,description:`Default true. When false, certifications[] is emitted empty on public surfaces.`},memberships:{type:`boolean`,description:`Default true. When false, memberships[] is emitted empty on public surfaces.`},volunteering:{type:`boolean`,description:`Default true. When false, volunteering[] is emitted empty on public surfaces.`},honors:{type:`boolean`,description:`Default true. When false, honors[] is emitted empty on public surfaces.`},education:{type:`boolean`,description:`Default true. When false, education[] is emitted empty on public surfaces.`},publications:{type:`boolean`,description:`Default true. When false, publications[] is emitted empty on public surfaces.`},languages:{type:`boolean`,description:`Default true. When false, languages[] is emitted empty on public surfaces.`},courses:{type:`boolean`,description:`Default true. When false, courses[] is emitted empty on public surfaces.`},patents:{type:`boolean`,description:`Default true. When false, patents[] is emitted empty on public surfaces.`},testScores:{type:`boolean`,description:`Default true. When false, testScores[] is emitted empty on public surfaces.`},recommendations:{type:`boolean`,description:`Default true. When false, recommendations[] is emitted empty on public surfaces.`},contact:{type:`boolean`,description:`Default true. When false, the contact section (email, formUrl) is emitted empty on public surfaces.`}}},ve=p().default;function ye(e,{instancePath:t=``,parentData:n,parentDataProperty:i,rootData:o=e,dynamicAnchors:c={}}={}){let l=null,u=0,d=ye.evaluated;if(d.dynamicProps&&(d.props=void 0),d.dynamicItems&&(d.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.defaultLocale===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`defaultLocale`},message:`must have required property 'defaultLocale'`};l===null?l=[e]:l.push(e),u++}if(e.availableLocales===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`availableLocales`},message:`must have required property 'availableLocales'`};l===null?l=[e]:l.push(e),u++}for(let n in e)if(!r.call(ge.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};l===null?l=[e]:l.push(e),u++}if(e.defaultLocale!==void 0){let n=e.defaultLocale;if(typeof n==`string`){if(s(n)>35){let e={instancePath:t+`/defaultLocale`,schemaPath:`#/$defs/LocaleTag/maxLength`,keyword:`maxLength`,params:{limit:35},message:`must NOT have more than 35 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<2){let e={instancePath:t+`/defaultLocale`,schemaPath:`#/$defs/LocaleTag/minLength`,keyword:`minLength`,params:{limit:2},message:`must NOT have fewer than 2 characters`};l===null?l=[e]:l.push(e),u++}if(!a.test(n)){let e={instancePath:t+`/defaultLocale`,schemaPath:`#/$defs/LocaleTag/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/defaultLocale`,schemaPath:`#/$defs/LocaleTag/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.fallbackLocale!==void 0){let n=e.fallbackLocale;if(typeof n==`string`){if(s(n)>35){let e={instancePath:t+`/fallbackLocale`,schemaPath:`#/$defs/LocaleTag/maxLength`,keyword:`maxLength`,params:{limit:35},message:`must NOT have more than 35 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<2){let e={instancePath:t+`/fallbackLocale`,schemaPath:`#/$defs/LocaleTag/minLength`,keyword:`minLength`,params:{limit:2},message:`must NOT have fewer than 2 characters`};l===null?l=[e]:l.push(e),u++}if(!a.test(n)){let e={instancePath:t+`/fallbackLocale`,schemaPath:`#/$defs/LocaleTag/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/fallbackLocale`,schemaPath:`#/$defs/LocaleTag/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.availableLocales!==void 0){let n=e.availableLocales;if(Array.isArray(n)){if(n.length>50){let e={instancePath:t+`/availableLocales`,schemaPath:`#/properties/availableLocales/maxItems`,keyword:`maxItems`,params:{limit:50},message:`must NOT have more than 50 items`};l===null?l=[e]:l.push(e),u++}if(n.length<1){let e={instancePath:t+`/availableLocales`,schemaPath:`#/properties/availableLocales/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++){let e=n[r];if(typeof e==`string`){if(s(e)>35){let e={instancePath:t+`/availableLocales/`+r,schemaPath:`#/$defs/LocaleTag/maxLength`,keyword:`maxLength`,params:{limit:35},message:`must NOT have more than 35 characters`};l===null?l=[e]:l.push(e),u++}if(s(e)<2){let e={instancePath:t+`/availableLocales/`+r,schemaPath:`#/$defs/LocaleTag/minLength`,keyword:`minLength`,params:{limit:2},message:`must NOT have fewer than 2 characters`};l===null?l=[e]:l.push(e),u++}if(!a.test(e)){let e={instancePath:t+`/availableLocales/`+r,schemaPath:`#/$defs/LocaleTag/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/availableLocales/`+r,schemaPath:`#/$defs/LocaleTag/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}let r=n.length,i;if(r>1){outer0:for(;r--;)for(i=r;i--;)if(ve(n[r],n[i])){let e={instancePath:t+`/availableLocales`,schemaPath:`#/properties/availableLocales/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};l===null?l=[e]:l.push(e),u++;break outer0}}}else{let e={instancePath:t+`/availableLocales`,schemaPath:`#/properties/availableLocales/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.theme!==void 0){let n=e.theme;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/theme`,schemaPath:`#/properties/theme/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/theme`,schemaPath:`#/properties/theme/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/theme`,schemaPath:`#/properties/theme/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.showPoweredBy!==void 0&&typeof e.showPoweredBy!=`boolean`){let e={instancePath:t+`/showPoweredBy`,schemaPath:`#/properties/showPoweredBy/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(e.enableJsonLd!==void 0&&typeof e.enableJsonLd!=`boolean`){let e={instancePath:t+`/enableJsonLd`,schemaPath:`#/properties/enableJsonLd/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(e.enableApi!==void 0&&typeof e.enableApi!=`boolean`){let e={instancePath:t+`/enableApi`,schemaPath:`#/properties/enableApi/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(e.enableAnalytics!==void 0&&typeof e.enableAnalytics!=`boolean`){let e={instancePath:t+`/enableAnalytics`,schemaPath:`#/properties/enableAnalytics/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(e.activity!==void 0){let n=e.activity;if(n&&typeof n==`object`&&!Array.isArray(n)){for(let e in n)if(!(e===`enabled`||e===`github`||e===`wakatime`||e===`showRank`||e===`refreshHintHours`)){let n={instancePath:t+`/activity`,schemaPath:`#/$defs/ActivitySettings/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e},message:`must NOT have additional properties`};l===null?l=[n]:l.push(n),u++}if(n.enabled!==void 0&&typeof n.enabled!=`boolean`){let e={instancePath:t+`/activity/enabled`,schemaPath:`#/$defs/ActivitySettings/properties/enabled/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.github!==void 0){let e=n.github;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.username===void 0){let e={instancePath:t+`/activity/github`,schemaPath:`#/$defs/ActivitySettings/properties/github/required`,keyword:`required`,params:{missingProperty:`username`},message:`must have required property 'username'`};l===null?l=[e]:l.push(e),u++}for(let n in e)if(!(n===`username`||n===`showLanguages`||n===`showContributions`)){let e={instancePath:t+`/activity/github`,schemaPath:`#/$defs/ActivitySettings/properties/github/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};l===null?l=[e]:l.push(e),u++}if(e.username!==void 0){let n=e.username;if(typeof n==`string`){if(s(n)>39){let e={instancePath:t+`/activity/github/username`,schemaPath:`#/$defs/ActivitySettings/properties/github/properties/username/maxLength`,keyword:`maxLength`,params:{limit:39},message:`must NOT have more than 39 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/activity/github/username`,schemaPath:`#/$defs/ActivitySettings/properties/github/properties/username/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/activity/github/username`,schemaPath:`#/$defs/ActivitySettings/properties/github/properties/username/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.showLanguages!==void 0&&typeof e.showLanguages!=`boolean`){let e={instancePath:t+`/activity/github/showLanguages`,schemaPath:`#/$defs/ActivitySettings/properties/github/properties/showLanguages/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(e.showContributions!==void 0&&typeof e.showContributions!=`boolean`){let e={instancePath:t+`/activity/github/showContributions`,schemaPath:`#/$defs/ActivitySettings/properties/github/properties/showContributions/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/activity/github`,schemaPath:`#/$defs/ActivitySettings/properties/github/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(n.wakatime!==void 0){let e=n.wakatime;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.username===void 0){let e={instancePath:t+`/activity/wakatime`,schemaPath:`#/$defs/ActivitySettings/properties/wakatime/required`,keyword:`required`,params:{missingProperty:`username`},message:`must have required property 'username'`};l===null?l=[e]:l.push(e),u++}for(let n in e)if(!(n===`username`||n===`showCodingTime`)){let e={instancePath:t+`/activity/wakatime`,schemaPath:`#/$defs/ActivitySettings/properties/wakatime/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};l===null?l=[e]:l.push(e),u++}if(e.username!==void 0){let n=e.username;if(typeof n==`string`){if(s(n)>255){let e={instancePath:t+`/activity/wakatime/username`,schemaPath:`#/$defs/ActivitySettings/properties/wakatime/properties/username/maxLength`,keyword:`maxLength`,params:{limit:255},message:`must NOT have more than 255 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/activity/wakatime/username`,schemaPath:`#/$defs/ActivitySettings/properties/wakatime/properties/username/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/activity/wakatime/username`,schemaPath:`#/$defs/ActivitySettings/properties/wakatime/properties/username/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.showCodingTime!==void 0&&typeof e.showCodingTime!=`boolean`){let e={instancePath:t+`/activity/wakatime/showCodingTime`,schemaPath:`#/$defs/ActivitySettings/properties/wakatime/properties/showCodingTime/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/activity/wakatime`,schemaPath:`#/$defs/ActivitySettings/properties/wakatime/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(n.showRank!==void 0&&typeof n.showRank!=`boolean`){let e={instancePath:t+`/activity/showRank`,schemaPath:`#/$defs/ActivitySettings/properties/showRank/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.refreshHintHours!==void 0){let e=n.refreshHintHours;if(!(typeof e==`number`&&!(e%1)&&!isNaN(e)&&isFinite(e))){let e={instancePath:t+`/activity/refreshHintHours`,schemaPath:`#/$defs/ActivitySettings/properties/refreshHintHours/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};l===null?l=[e]:l.push(e),u++}if(typeof e==`number`&&isFinite(e)){if(e>168||isNaN(e)){let e={instancePath:t+`/activity/refreshHintHours`,schemaPath:`#/$defs/ActivitySettings/properties/refreshHintHours/maximum`,keyword:`maximum`,params:{comparison:`<=`,limit:168},message:`must be <= 168`};l===null?l=[e]:l.push(e),u++}if(e<1||isNaN(e)){let e={instancePath:t+`/activity/refreshHintHours`,schemaPath:`#/$defs/ActivitySettings/properties/refreshHintHours/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:1},message:`must be >= 1`};l===null?l=[e]:l.push(e),u++}}}}else{let e={instancePath:t+`/activity`,schemaPath:`#/$defs/ActivitySettings/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.publicVisibility!==void 0){let n=e.publicVisibility;if(n&&typeof n==`object`&&!Array.isArray(n)){for(let e in n)if(!r.call(_e.properties,e)){let n={instancePath:t+`/publicVisibility`,schemaPath:`#/$defs/PublicVisibility/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e},message:`must NOT have additional properties`};l===null?l=[n]:l.push(n),u++}if(n.links!==void 0&&typeof n.links!=`boolean`){let e={instancePath:t+`/publicVisibility/links`,schemaPath:`#/$defs/PublicVisibility/properties/links/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.careers!==void 0&&typeof n.careers!=`boolean`){let e={instancePath:t+`/publicVisibility/careers`,schemaPath:`#/$defs/PublicVisibility/properties/careers/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.projects!==void 0&&typeof n.projects!=`boolean`){let e={instancePath:t+`/publicVisibility/projects`,schemaPath:`#/$defs/PublicVisibility/properties/projects/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.skills!==void 0&&typeof n.skills!=`boolean`){let e={instancePath:t+`/publicVisibility/skills`,schemaPath:`#/$defs/PublicVisibility/properties/skills/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.certifications!==void 0&&typeof n.certifications!=`boolean`){let e={instancePath:t+`/publicVisibility/certifications`,schemaPath:`#/$defs/PublicVisibility/properties/certifications/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.memberships!==void 0&&typeof n.memberships!=`boolean`){let e={instancePath:t+`/publicVisibility/memberships`,schemaPath:`#/$defs/PublicVisibility/properties/memberships/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.volunteering!==void 0&&typeof n.volunteering!=`boolean`){let e={instancePath:t+`/publicVisibility/volunteering`,schemaPath:`#/$defs/PublicVisibility/properties/volunteering/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.honors!==void 0&&typeof n.honors!=`boolean`){let e={instancePath:t+`/publicVisibility/honors`,schemaPath:`#/$defs/PublicVisibility/properties/honors/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.education!==void 0&&typeof n.education!=`boolean`){let e={instancePath:t+`/publicVisibility/education`,schemaPath:`#/$defs/PublicVisibility/properties/education/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.publications!==void 0&&typeof n.publications!=`boolean`){let e={instancePath:t+`/publicVisibility/publications`,schemaPath:`#/$defs/PublicVisibility/properties/publications/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.languages!==void 0&&typeof n.languages!=`boolean`){let e={instancePath:t+`/publicVisibility/languages`,schemaPath:`#/$defs/PublicVisibility/properties/languages/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.courses!==void 0&&typeof n.courses!=`boolean`){let e={instancePath:t+`/publicVisibility/courses`,schemaPath:`#/$defs/PublicVisibility/properties/courses/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.patents!==void 0&&typeof n.patents!=`boolean`){let e={instancePath:t+`/publicVisibility/patents`,schemaPath:`#/$defs/PublicVisibility/properties/patents/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.testScores!==void 0&&typeof n.testScores!=`boolean`){let e={instancePath:t+`/publicVisibility/testScores`,schemaPath:`#/$defs/PublicVisibility/properties/testScores/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.recommendations!==void 0&&typeof n.recommendations!=`boolean`){let e={instancePath:t+`/publicVisibility/recommendations`,schemaPath:`#/$defs/PublicVisibility/properties/recommendations/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.contact!==void 0&&typeof n.contact!=`boolean`){let e={instancePath:t+`/publicVisibility/contact`,schemaPath:`#/$defs/PublicVisibility/properties/contact/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/publicVisibility`,schemaPath:`#/$defs/PublicVisibility/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.contact!==void 0){let n=e.contact;if(n&&typeof n==`object`&&!Array.isArray(n)){for(let e in n)if(!(e===`enabled`||e===`turnstileSiteKey`||e===`endpoint`||e===`subjectPrefix`)){let n={instancePath:t+`/contact`,schemaPath:`#/$defs/ContactSettings/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e},message:`must NOT have additional properties`};l===null?l=[n]:l.push(n),u++}if(n.enabled!==void 0&&typeof n.enabled!=`boolean`){let e={instancePath:t+`/contact/enabled`,schemaPath:`#/$defs/ContactSettings/properties/enabled/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.turnstileSiteKey!==void 0){let e=n.turnstileSiteKey;if(typeof e==`string`){if(s(e)>128){let e={instancePath:t+`/contact/turnstileSiteKey`,schemaPath:`#/$defs/ContactSettings/properties/turnstileSiteKey/maxLength`,keyword:`maxLength`,params:{limit:128},message:`must NOT have more than 128 characters`};l===null?l=[e]:l.push(e),u++}if(s(e)<1){let e={instancePath:t+`/contact/turnstileSiteKey`,schemaPath:`#/$defs/ContactSettings/properties/turnstileSiteKey/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/contact/turnstileSiteKey`,schemaPath:`#/$defs/ContactSettings/properties/turnstileSiteKey/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(n.endpoint!==void 0){let e=n.endpoint;if(typeof e==`string`){if(s(e)>2048){let e={instancePath:t+`/contact/endpoint`,schemaPath:`#/$defs/ContactSettings/properties/endpoint/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};l===null?l=[e]:l.push(e),u++}if(s(e)<1){let e={instancePath:t+`/contact/endpoint`,schemaPath:`#/$defs/ContactSettings/properties/endpoint/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/contact/endpoint`,schemaPath:`#/$defs/ContactSettings/properties/endpoint/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(n.subjectPrefix!==void 0){let e=n.subjectPrefix;if(typeof e==`string`){if(s(e)>128){let e={instancePath:t+`/contact/subjectPrefix`,schemaPath:`#/$defs/ContactSettings/properties/subjectPrefix/maxLength`,keyword:`maxLength`,params:{limit:128},message:`must NOT have more than 128 characters`};l===null?l=[e]:l.push(e),u++}if(s(e)<1){let e={instancePath:t+`/contact/subjectPrefix`,schemaPath:`#/$defs/ContactSettings/properties/subjectPrefix/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/contact/subjectPrefix`,schemaPath:`#/$defs/ContactSettings/properties/subjectPrefix/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}}else{let e={instancePath:t+`/contact`,schemaPath:`#/$defs/ContactSettings/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}return ye.errors=l,u===0}ye.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var be=d().fullFormats[`date-time`];function xe(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:a={}}={}){let o=null,c=0,l=xe.evaluated;if(l.dynamicProps&&(l.props=void 0),l.dynamicItems&&(l.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.spdxId===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`spdxId`},message:`must have required property 'spdxId'`};o===null?o=[e]:o.push(e),c++}for(let n in e)if(!(n===`spdxId`||n===`url`||n===`attribution`||n===`rights`)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};o===null?o=[e]:o.push(e),c++}if(e.spdxId!==void 0){let n=e.spdxId;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/spdxId`,schemaPath:`#/properties/spdxId/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};o===null?o=[e]:o.push(e),c++}if(s(n)<1){let e={instancePath:t+`/spdxId`,schemaPath:`#/properties/spdxId/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/spdxId`,schemaPath:`#/properties/spdxId/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};o===null?o=[e]:o.push(e),c++}if(!v(n)){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(e.attribution!==void 0){let n=e.attribution;if(n&&typeof n==`object`&&!Array.isArray(n)){for(let e in n)if(!(e===`name`||e===`url`)){let n={instancePath:t+`/attribution`,schemaPath:`#/properties/attribution/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e},message:`must NOT have additional properties`};o===null?o=[n]:o.push(n),c++}if(n.name!==void 0){let e=n.name;if(typeof e==`string`){if(s(e)>200){let e={instancePath:t+`/attribution/name`,schemaPath:`#/properties/attribution/properties/name/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};o===null?o=[e]:o.push(e),c++}if(s(e)<1){let e={instancePath:t+`/attribution/name`,schemaPath:`#/properties/attribution/properties/name/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/attribution/name`,schemaPath:`#/properties/attribution/properties/name/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(n.url!==void 0){let e=n.url;if(typeof e==`string`){if(s(e)>2048){let e={instancePath:t+`/attribution/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};o===null?o=[e]:o.push(e),c++}if(!v(e)){let e={instancePath:t+`/attribution/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/attribution/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}}else{let e={instancePath:t+`/attribution`,schemaPath:`#/properties/attribution/type`,keyword:`type`,params:{type:`object`},message:`must be object`};o===null?o=[e]:o.push(e),c++}}if(e.rights!==void 0){let n=e.rights;if(typeof n==`string`){if(s(n)>1e3){let e={instancePath:t+`/rights`,schemaPath:`#/properties/rights/maxLength`,keyword:`maxLength`,params:{limit:1e3},message:`must NOT have more than 1000 characters`};o===null?o=[e]:o.push(e),c++}if(s(n)<1){let e={instancePath:t+`/rights`,schemaPath:`#/properties/rights/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/rights`,schemaPath:`#/properties/rights/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};o===null?o=[e]:o.push(e),c++}return xe.errors=o,c===0}xe.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};function Se(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:a={}}={}){let o=null,c=0,l=Se.evaluated;if(l.dynamicProps&&(l.props=void 0),l.dynamicItems&&(l.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.contentLicense===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`contentLicense`},message:`must have required property 'contentLicense'`};o===null?o=[e]:o.push(e),c++}for(let n in e)if(!(n===`createdAt`||n===`updatedAt`||n===`generator`||n===`contentLicense`||n===`privacy`)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};o===null?o=[e]:o.push(e),c++}if(e.createdAt!==void 0){let n=e.createdAt;if(typeof n==`string`){if(!be.validate(n)){let e={instancePath:t+`/createdAt`,schemaPath:`#/$defs/IsoDateTime/format`,keyword:`format`,params:{format:`date-time`},message:`must match format "date-time"`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/createdAt`,schemaPath:`#/$defs/IsoDateTime/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(e.updatedAt!==void 0){let n=e.updatedAt;if(typeof n==`string`){if(!be.validate(n)){let e={instancePath:t+`/updatedAt`,schemaPath:`#/$defs/IsoDateTime/format`,keyword:`format`,params:{format:`date-time`},message:`must match format "date-time"`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/updatedAt`,schemaPath:`#/$defs/IsoDateTime/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(e.generator!==void 0){let n=e.generator;if(typeof n==`string`){if(s(n)>100){let e={instancePath:t+`/generator`,schemaPath:`#/properties/generator/maxLength`,keyword:`maxLength`,params:{limit:100},message:`must NOT have more than 100 characters`};o===null?o=[e]:o.push(e),c++}if(s(n)<1){let e={instancePath:t+`/generator`,schemaPath:`#/properties/generator/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/generator`,schemaPath:`#/properties/generator/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(e.contentLicense!==void 0&&(xe(e.contentLicense,{instancePath:t+`/contentLicense`,parentData:e,parentDataProperty:`contentLicense`,rootData:i,dynamicAnchors:a})||(o=o===null?xe.errors:o.concat(xe.errors),c=o.length)),e.privacy!==void 0){let n=e.privacy;if(n&&typeof n==`object`&&!Array.isArray(n)){for(let e in n)if(!(e===`hideCredentialIds`||e===`hideEducationGrades`)){let n={instancePath:t+`/privacy`,schemaPath:`#/$defs/MetaPrivacy/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e},message:`must NOT have additional properties`};o===null?o=[n]:o.push(n),c++}if(n.hideCredentialIds!==void 0&&typeof n.hideCredentialIds!=`boolean`){let e={instancePath:t+`/privacy/hideCredentialIds`,schemaPath:`#/$defs/MetaPrivacy/properties/hideCredentialIds/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};o===null?o=[e]:o.push(e),c++}if(n.hideEducationGrades!==void 0&&typeof n.hideEducationGrades!=`boolean`){let e={instancePath:t+`/privacy/hideEducationGrades`,schemaPath:`#/$defs/MetaPrivacy/properties/hideEducationGrades/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/privacy`,schemaPath:`#/$defs/MetaPrivacy/type`,keyword:`type`,params:{type:`object`},message:`must be object`};o===null?o=[e]:o.push(e),c++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};o===null?o=[e]:o.push(e),c++}return Se.errors=o,c===0}Se.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};function Ce(e,{instancePath:t=``,parentData:a,parentDataProperty:o,rootData:s=e,dynamicAnchors:c={}}={}){let l=null,u=0,d=Ce.evaluated;if(d.dynamicProps&&(d.props=void 0),d.dynamicItems&&(d.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.schemaVersion===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`schemaVersion`},message:`must have required property 'schemaVersion'`};l===null?l=[e]:l.push(e),u++}if(e.profile===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`profile`},message:`must have required property 'profile'`};l===null?l=[e]:l.push(e),u++}if(e.contact===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`contact`},message:`must have required property 'contact'`};l===null?l=[e]:l.push(e),u++}if(e.settings===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`settings`},message:`must have required property 'settings'`};l===null?l=[e]:l.push(e),u++}if(e.meta===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`meta`},message:`must have required property 'meta'`};l===null?l=[e]:l.push(e),u++}for(let i in e)if(!r.call(n.properties,i)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:i},message:`must NOT have additional properties`};l===null?l=[e]:l.push(e),u++}if(e.schemaVersion!==void 0){let n=e.schemaVersion;if(typeof n==`string`){if(!i.test(n)){let e={instancePath:t+`/schemaVersion`,schemaPath:`#/properties/schemaVersion/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]+\\.[0-9]+\\.[0-9]+(-[a-zA-Z0-9.-]+)?$`},message:`must match pattern "^[0-9]+\\.[0-9]+\\.[0-9]+(-[a-zA-Z0-9.-]+)?$"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/schemaVersion`,schemaPath:`#/properties/schemaVersion/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.profile!==void 0&&(h(e.profile,{instancePath:t+`/profile`,parentData:e,parentDataProperty:`profile`,rootData:s,dynamicAnchors:c})||(l=l===null?h.errors:l.concat(h.errors),u=l.length)),e.links!==void 0){let n=e.links;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/links`,schemaPath:`#/properties/links/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)b(n[r],{instancePath:t+`/links/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?b.errors:l.concat(b.errors),u=l.length)}else{let e={instancePath:t+`/links`,schemaPath:`#/properties/links/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.careers!==void 0){let n=e.careers;if(Array.isArray(n)){if(n.length>50){let e={instancePath:t+`/careers`,schemaPath:`#/properties/careers/maxItems`,keyword:`maxItems`,params:{limit:50},message:`must NOT have more than 50 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)C(n[r],{instancePath:t+`/careers/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?C.errors:l.concat(C.errors),u=l.length)}else{let e={instancePath:t+`/careers`,schemaPath:`#/properties/careers/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.projects!==void 0){let n=e.projects;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/projects`,schemaPath:`#/properties/projects/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)T(n[r],{instancePath:t+`/projects/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?T.errors:l.concat(T.errors),u=l.length)}else{let e={instancePath:t+`/projects`,schemaPath:`#/properties/projects/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.skills!==void 0){let n=e.skills;if(Array.isArray(n)){if(n.length>200){let e={instancePath:t+`/skills`,schemaPath:`#/properties/skills/maxItems`,keyword:`maxItems`,params:{limit:200},message:`must NOT have more than 200 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)ee(n[r],{instancePath:t+`/skills/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?ee.errors:l.concat(ee.errors),u=l.length)}else{let e={instancePath:t+`/skills`,schemaPath:`#/properties/skills/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.certifications!==void 0){let n=e.certifications;if(Array.isArray(n)){if(n.length>50){let e={instancePath:t+`/certifications`,schemaPath:`#/properties/certifications/maxItems`,keyword:`maxItems`,params:{limit:50},message:`must NOT have more than 50 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)E(n[r],{instancePath:t+`/certifications/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?E.errors:l.concat(E.errors),u=l.length)}else{let e={instancePath:t+`/certifications`,schemaPath:`#/properties/certifications/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.memberships!==void 0){let n=e.memberships;if(Array.isArray(n)){if(n.length>50){let e={instancePath:t+`/memberships`,schemaPath:`#/properties/memberships/maxItems`,keyword:`maxItems`,params:{limit:50},message:`must NOT have more than 50 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)re(n[r],{instancePath:t+`/memberships/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?re.errors:l.concat(re.errors),u=l.length)}else{let e={instancePath:t+`/memberships`,schemaPath:`#/properties/memberships/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.volunteering!==void 0){let n=e.volunteering;if(Array.isArray(n)){if(n.length>50){let e={instancePath:t+`/volunteering`,schemaPath:`#/properties/volunteering/maxItems`,keyword:`maxItems`,params:{limit:50},message:`must NOT have more than 50 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)ae(n[r],{instancePath:t+`/volunteering/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?ae.errors:l.concat(ae.errors),u=l.length)}else{let e={instancePath:t+`/volunteering`,schemaPath:`#/properties/volunteering/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.honors!==void 0){let n=e.honors;if(Array.isArray(n)){if(n.length>50){let e={instancePath:t+`/honors`,schemaPath:`#/properties/honors/maxItems`,keyword:`maxItems`,params:{limit:50},message:`must NOT have more than 50 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)D(n[r],{instancePath:t+`/honors/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?D.errors:l.concat(D.errors),u=l.length)}else{let e={instancePath:t+`/honors`,schemaPath:`#/properties/honors/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.education!==void 0){let n=e.education;if(Array.isArray(n)){if(n.length>30){let e={instancePath:t+`/education`,schemaPath:`#/properties/education/maxItems`,keyword:`maxItems`,params:{limit:30},message:`must NOT have more than 30 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)O(n[r],{instancePath:t+`/education/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?O.errors:l.concat(O.errors),u=l.length)}else{let e={instancePath:t+`/education`,schemaPath:`#/properties/education/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.publications!==void 0){let n=e.publications;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/publications`,schemaPath:`#/properties/publications/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)ce(n[r],{instancePath:t+`/publications/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?ce.errors:l.concat(ce.errors),u=l.length)}else{let e={instancePath:t+`/publications`,schemaPath:`#/properties/publications/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.languages!==void 0){let n=e.languages;if(Array.isArray(n)){if(n.length>30){let e={instancePath:t+`/languages`,schemaPath:`#/properties/languages/maxItems`,keyword:`maxItems`,params:{limit:30},message:`must NOT have more than 30 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)A(n[r],{instancePath:t+`/languages/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?A.errors:l.concat(A.errors),u=l.length)}else{let e={instancePath:t+`/languages`,schemaPath:`#/properties/languages/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.courses!==void 0){let n=e.courses;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/courses`,schemaPath:`#/properties/courses/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)M(n[r],{instancePath:t+`/courses/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?M.errors:l.concat(M.errors),u=l.length)}else{let e={instancePath:t+`/courses`,schemaPath:`#/properties/courses/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.patents!==void 0){let n=e.patents;if(Array.isArray(n)){if(n.length>50){let e={instancePath:t+`/patents`,schemaPath:`#/properties/patents/maxItems`,keyword:`maxItems`,params:{limit:50},message:`must NOT have more than 50 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)P(n[r],{instancePath:t+`/patents/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?P.errors:l.concat(P.errors),u=l.length)}else{let e={instancePath:t+`/patents`,schemaPath:`#/properties/patents/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.testScores!==void 0){let n=e.testScores;if(Array.isArray(n)){if(n.length>30){let e={instancePath:t+`/testScores`,schemaPath:`#/properties/testScores/maxItems`,keyword:`maxItems`,params:{limit:30},message:`must NOT have more than 30 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)ue(n[r],{instancePath:t+`/testScores/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?ue.errors:l.concat(ue.errors),u=l.length)}else{let e={instancePath:t+`/testScores`,schemaPath:`#/properties/testScores/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.recommendations!==void 0){let n=e.recommendations;if(Array.isArray(n)){if(n.length>50){let e={instancePath:t+`/recommendations`,schemaPath:`#/properties/recommendations/maxItems`,keyword:`maxItems`,params:{limit:50},message:`must NOT have more than 50 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)pe(n[r],{instancePath:t+`/recommendations/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?pe.errors:l.concat(pe.errors),u=l.length)}else{let e={instancePath:t+`/recommendations`,schemaPath:`#/properties/recommendations/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}e.contact!==void 0&&(he(e.contact,{instancePath:t+`/contact`,parentData:e,parentDataProperty:`contact`,rootData:s,dynamicAnchors:c})||(l=l===null?he.errors:l.concat(he.errors),u=l.length)),e.settings!==void 0&&(ye(e.settings,{instancePath:t+`/settings`,parentData:e,parentDataProperty:`settings`,rootData:s,dynamicAnchors:c})||(l=l===null?ye.errors:l.concat(ye.errors),u=l.length)),e.meta!==void 0&&(Se(e.meta,{instancePath:t+`/meta`,parentData:e,parentDataProperty:`meta`,rootData:s,dynamicAnchors:c})||(l=l===null?Se.errors:l.concat(Se.errors),u=l.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}return Ce.errors=l,u===0}Ce.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1}}}),h={$schema:`https://json-schema.org/draft/2020-12/schema`,$id:`https://takuhon.example/schemas/1.1.0/takuhon.schema.json`,title:`Takuhon Profile`,description:`Portable profile data format consumed by @takuhon/core. The canonical contract for profile content authored as takuhon.json.`,type:`object`,additionalProperties:!1,required:[`schemaVersion`,`profile`,`contact`,`settings`,`meta`],properties:{schemaVersion:{type:`string`,pattern:`^[0-9]+\\.[0-9]+\\.[0-9]+(-[a-zA-Z0-9.-]+)?$`,description:`Semantic version of the takuhon schema this document conforms to.`},profile:{$ref:`#/$defs/Profile`},links:{type:`array`,maxItems:100,items:{$ref:`#/$defs/Link`}},careers:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Career`}},projects:{type:`array`,maxItems:100,items:{$ref:`#/$defs/Project`}},skills:{type:`array`,maxItems:200,items:{$ref:`#/$defs/Skill`}},certifications:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Certification`}},memberships:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Membership`}},volunteering:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Volunteering`}},honors:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Honor`}},education:{type:`array`,maxItems:30,items:{$ref:`#/$defs/Education`}},publications:{type:`array`,maxItems:100,items:{$ref:`#/$defs/Publication`}},languages:{type:`array`,maxItems:30,items:{$ref:`#/$defs/Language`}},courses:{type:`array`,maxItems:100,items:{$ref:`#/$defs/Course`}},patents:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Patent`}},testScores:{type:`array`,maxItems:30,items:{$ref:`#/$defs/TestScore`}},recommendations:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Recommendation`}},contact:{$ref:`#/$defs/Contact`},settings:{$ref:`#/$defs/Settings`},meta:{$ref:`#/$defs/Meta`}},$defs:{LocaleTag:{type:`string`,minLength:2,maxLength:35,pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`,description:`BCP-47 language tag (e.g., 'en', 'ja', 'zh-Hant', 'pt-BR').`},Iso3166Alpha2:{type:`string`,pattern:`^[A-Z]{2}$`,description:`ISO 3166-1 alpha-2 country code (uppercase, two letters).`},YearMonth:{type:`string`,pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`,description:`Year-month in 'YYYY-MM' format (Gregorian calendar).`},IsoDateTime:{type:`string`,format:`date-time`,description:`ISO 8601 date-time (e.g., 2026-05-11T12:34:56Z).`},Url:{type:`string`,format:`uri`,maxLength:2048},Email:{type:`string`,format:`email`,maxLength:254},Slug:{type:`string`,minLength:1,maxLength:64,pattern:`^[a-z0-9][a-z0-9-]*$`,description:`URL-safe identifier (lowercase alphanumerics and hyphens, must start with alphanumeric).`},Visibility:{type:`string`,enum:[`public`,`private`],description:`Per-item public visibility (added in 0.7.0). 'private' removes the item from every public surface via applyPublicPrivacyFilter; an absent value or 'public' keeps the item public.`},LocalizedTitle:{type:`object`,minProperties:1,propertyNames:{type:`string`,pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},additionalProperties:{type:`string`,minLength:1,maxLength:200,pattern:`\\S`},description:`Map of BCP-47 locale tag to short title-like string (max 200 chars per value). Each value must contain at least one non-whitespace character.`},LocalizedBody:{type:`object`,minProperties:1,propertyNames:{type:`string`,pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},additionalProperties:{type:`string`,minLength:1,maxLength:5e3,pattern:`\\S`},description:`Map of BCP-47 locale tag to body-length string (max 5000 chars per value). Each value must contain at least one non-whitespace character.`},LinkType:{type:`string`,enum:[`website`,`blog`,`github`,`gitlab`,`linkedin`,`x`,`mastodon`,`bluesky`,`instagram`,`youtube`,`threads`,`facebook`,`email`,`rss`,`custom`],description:`Identifies the kind of link. 'custom' requires iconUrl.`},Profile:{type:`object`,additionalProperties:!1,required:[`displayName`],properties:{displayName:{$ref:`#/$defs/LocalizedTitle`},tagline:{$ref:`#/$defs/LocalizedTitle`},bio:{$ref:`#/$defs/LocalizedBody`},avatar:{$ref:`#/$defs/Avatar`},location:{$ref:`#/$defs/Address`}}},Avatar:{type:`object`,additionalProperties:!1,required:[`url`],properties:{url:{type:`string`,format:`uri-reference`,maxLength:2048,description:`URL or path to the avatar image.`},alt:{$ref:`#/$defs/LocalizedTitle`}}},Address:{type:`object`,additionalProperties:!1,properties:{country:{$ref:`#/$defs/Iso3166Alpha2`},region:{type:`string`,maxLength:100},locality:{$ref:`#/$defs/LocalizedTitle`},display:{$ref:`#/$defs/LocalizedTitle`}}},Link:{type:`object`,additionalProperties:!1,required:[`id`,`type`,`url`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},type:{$ref:`#/$defs/LinkType`},label:{$ref:`#/$defs/LocalizedTitle`},url:{$ref:`#/$defs/Url`},featured:{type:`boolean`},order:{type:`integer`,minimum:0},iconUrl:{$ref:`#/$defs/Url`}},allOf:[{if:{properties:{type:{const:`custom`}},required:[`type`]},then:{properties:{iconUrl:{$ref:`#/$defs/Url`}},required:[`iconUrl`]}}]},Career:{type:`object`,additionalProperties:!1,required:[`id`,`organization`,`role`,`startDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},organization:{$ref:`#/$defs/LocalizedTitle`},role:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}]},isCurrent:{type:`boolean`},url:{$ref:`#/$defs/Url`},location:{$ref:`#/$defs/Address`},order:{type:`integer`,minimum:0}}},Project:{type:`object`,additionalProperties:!1,required:[`id`,`title`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},url:{$ref:`#/$defs/Url`},tags:{type:`array`,maxItems:30,items:{type:`string`,minLength:1,maxLength:50}},relatedCareerId:{$ref:`#/$defs/Slug`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}]},highlighted:{type:`boolean`},order:{type:`integer`,minimum:0}}},Skill:{type:`object`,additionalProperties:!1,required:[`id`,`label`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},label:{type:`string`,minLength:1,maxLength:100},category:{type:`string`,minLength:1,maxLength:64,description:`Recommended values (extensible): programming, design, business, communication, language, music, art, sports, other.`},order:{type:`integer`,minimum:0}}},Contact:{type:`object`,additionalProperties:!1,properties:{email:{$ref:`#/$defs/Email`},showEmail:{type:`boolean`,default:!1},formUrl:{$ref:`#/$defs/Url`}}},Settings:{type:`object`,additionalProperties:!1,required:[`defaultLocale`,`availableLocales`],properties:{defaultLocale:{$ref:`#/$defs/LocaleTag`},fallbackLocale:{$ref:`#/$defs/LocaleTag`},availableLocales:{type:`array`,minItems:1,maxItems:50,uniqueItems:!0,items:{$ref:`#/$defs/LocaleTag`}},theme:{type:`string`,minLength:1,maxLength:64,description:`UI theme identifier. 'default' is the built-in theme; adapters may add more.`},showPoweredBy:{type:`boolean`,default:!0,description:`Display the 'Powered by takuhon' attribution in the rendered profile.`},enableJsonLd:{type:`boolean`,default:!0,description:`Emit Schema.org JSON-LD on the rendered profile page.`},enableApi:{type:`boolean`,default:!0,description:`Expose the public read API endpoints (GET /api/profile, /api/jsonld, /api/schema, /takuhon.json).`},enableAnalytics:{type:`boolean`,default:!1,description:`Opt-in flag for first-party analytics. Default is false to keep takuhon privacy-respecting by default.`},activity:{$ref:`#/$defs/ActivitySettings`},publicVisibility:{$ref:`#/$defs/PublicVisibility`},contact:{$ref:`#/$defs/ContactSettings`}}},ContactSettings:{type:`object`,additionalProperties:!1,description:`Opt-in contact form configuration (added in 1.1.0). Only public values live here; the Turnstile site key is safe to embed in the page. The Turnstile secret, the recipient address, and the From label are provisioned out of band as environment configuration and are never stored in takuhon.json. Adapters that support the form mount the widget and a POST endpoint when 'enabled' is true.`,properties:{enabled:{type:`boolean`,default:!1,description:`Master switch. When false (the default), no contact form is mounted even if a site key is present.`},turnstileSiteKey:{type:`string`,minLength:1,maxLength:128,description:`Public Cloudflare Turnstile site key, safe to embed in the page. Without it the widget is not mounted.`},endpoint:{type:`string`,minLength:1,maxLength:2048,description:`Override the POST endpoint the widget submits to. Defaults to /api/contact on the same origin.`},subjectPrefix:{type:`string`,minLength:1,maxLength:128,description:`Subject prefix for the delivered email, e.g. '[example.com contact]'.`}}},PublicVisibility:{type:`object`,additionalProperties:!1,description:`Per-section public visibility (added in 0.6.0). Each key is a content section; setting it to false hides that whole section from every public surface (GET /, /api/profile, /api/jsonld, /takuhon.json, MCP, and the derived CV) via the shared applyPublicPrivacyFilter. An absent key — or an absent object — means the section is public, so the default is all-visible and omitting this block is fully backwards-compatible. The profile identity (profile.displayName, …) is always public and is intentionally not a key here. Field-level controls (contact.showEmail, meta.privacy.*) still apply within a visible section: visibility is the AND of the feature toggle, this section flag, and the field flag.`,properties:{links:{type:`boolean`,description:`Default true. When false, links[] is emitted empty on public surfaces.`},careers:{type:`boolean`,description:`Default true. When false, careers[] is emitted empty on public surfaces.`},projects:{type:`boolean`,description:`Default true. When false, projects[] is emitted empty on public surfaces.`},skills:{type:`boolean`,description:`Default true. When false, skills[] is emitted empty on public surfaces.`},certifications:{type:`boolean`,description:`Default true. When false, certifications[] is emitted empty on public surfaces.`},memberships:{type:`boolean`,description:`Default true. When false, memberships[] is emitted empty on public surfaces.`},volunteering:{type:`boolean`,description:`Default true. When false, volunteering[] is emitted empty on public surfaces.`},honors:{type:`boolean`,description:`Default true. When false, honors[] is emitted empty on public surfaces.`},education:{type:`boolean`,description:`Default true. When false, education[] is emitted empty on public surfaces.`},publications:{type:`boolean`,description:`Default true. When false, publications[] is emitted empty on public surfaces.`},languages:{type:`boolean`,description:`Default true. When false, languages[] is emitted empty on public surfaces.`},courses:{type:`boolean`,description:`Default true. When false, courses[] is emitted empty on public surfaces.`},patents:{type:`boolean`,description:`Default true. When false, patents[] is emitted empty on public surfaces.`},testScores:{type:`boolean`,description:`Default true. When false, testScores[] is emitted empty on public surfaces.`},recommendations:{type:`boolean`,description:`Default true. When false, recommendations[] is emitted empty on public surfaces.`},contact:{type:`boolean`,description:`Default true. When false, the contact section (email, formUrl) is emitted empty on public surfaces.`}}},ActivitySettings:{type:`object`,additionalProperties:!1,description:`Opt-in developer-activity dashboard configuration (GitHub / WakaTime). Only the owner-curated settings live here; secrets are provisioned out of band and the synced metrics are stored in a separate document, never in takuhon.json.`,properties:{enabled:{type:`boolean`,default:!1,description:`Master switch. When false (the default), the activity section is not rendered even if a snapshot exists.`},github:{type:`object`,additionalProperties:!1,required:[`username`],properties:{username:{type:`string`,minLength:1,maxLength:39,description:`GitHub login whose public activity is summarized.`},showLanguages:{type:`boolean`,default:!0},showContributions:{type:`boolean`,default:!0}}},wakatime:{type:`object`,additionalProperties:!1,required:[`username`],properties:{username:{type:`string`,minLength:1,maxLength:255,description:`WakaTime username whose coding-time stats are summarized.`},showCodingTime:{type:`boolean`,default:!0}}},showRank:{type:`boolean`,default:!0,description:`Display the derived activity rank / badge.`},refreshHintHours:{type:`integer`,minimum:1,maximum:168,description:`Advisory refresh cadence in hours. The real cadence is how often the sync step (CLI command or scheduled job) runs.`}}},Meta:{type:`object`,additionalProperties:!1,required:[`contentLicense`],properties:{createdAt:{$ref:`#/$defs/IsoDateTime`},updatedAt:{$ref:`#/$defs/IsoDateTime`},generator:{type:`string`,minLength:1,maxLength:100,description:`Tool that produced this document (e.g. 'Takuhon', 'create-takuhon@0.1.0').`},contentLicense:{$ref:`#/$defs/ContentLicense`},privacy:{$ref:`#/$defs/MetaPrivacy`}}},ContentLicense:{type:`object`,additionalProperties:!1,required:[`spdxId`],properties:{spdxId:{type:`string`,minLength:1,maxLength:64,description:`SPDX identifier (e.g., 'CC-BY-4.0', 'CC0-1.0') or 'Proprietary'. No default; the profile owner must choose explicitly.`},url:{$ref:`#/$defs/Url`},attribution:{type:`object`,additionalProperties:!1,properties:{name:{type:`string`,minLength:1,maxLength:200},url:{$ref:`#/$defs/Url`}}},rights:{type:`string`,minLength:1,maxLength:1e3,description:`Free-form rights statement (used when spdxId='Proprietary' or for additional notices).`}}},MetaPrivacy:{type:`object`,additionalProperties:!1,description:`Opt-out flags that strip personally identifying fields from public API output (GET /api/profile, /api/jsonld, /takuhon.json). Admin endpoints (PUT /api/admin/*, GET /api/admin/export) ignore these flags. Privacy-by-default: omitting the object or individual flags is equivalent to true.`,properties:{hideCredentialIds:{type:`boolean`,default:!0,description:`When true (default), strip certifications[*].credentialId from public responses.`},hideEducationGrades:{type:`boolean`,default:!0,description:`When true (default), strip education[*].grade from public responses.`}}},Certification:{type:`object`,additionalProperties:!1,required:[`id`,`title`,`issuingOrganization`,`issueDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},issuingOrganization:{$ref:`#/$defs/LocalizedTitle`},issueDate:{$ref:`#/$defs/YearMonth`},expirationDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}],description:`null = explicitly 'no expiration'. Omit if unknown/unstated.`},credentialId:{type:`string`,minLength:1,maxLength:100,description:`License or certificate number. Public exposure controlled by meta.privacy.hideCredentialIds.`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}},Membership:{type:`object`,additionalProperties:!1,required:[`id`,`organization`,`startDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},organization:{$ref:`#/$defs/LocalizedTitle`},role:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}],description:`null = ongoing. Omit if unknown.`},isCurrent:{type:`boolean`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}},Volunteering:{type:`object`,additionalProperties:!1,required:[`id`,`organization`,`role`,`startDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},organization:{$ref:`#/$defs/LocalizedTitle`},role:{$ref:`#/$defs/LocalizedTitle`},cause:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}]},isCurrent:{type:`boolean`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}},Honor:{type:`object`,additionalProperties:!1,required:[`id`,`title`,`issuer`,`date`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},issuer:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},date:{$ref:`#/$defs/YearMonth`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}},Education:{type:`object`,additionalProperties:!1,required:[`id`,`institution`,`startDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},institution:{$ref:`#/$defs/LocalizedTitle`},degree:{$ref:`#/$defs/LocalizedTitle`},fieldOfStudy:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},grade:{type:`string`,minLength:1,maxLength:50,description:`Free-form grade / class / GPA. Public exposure controlled by meta.privacy.hideEducationGrades.`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}],description:`null = currently enrolled.`},isCurrent:{type:`boolean`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}},Publication:{type:`object`,additionalProperties:!1,required:[`id`,`title`,`date`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},publisher:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},date:{$ref:`#/$defs/YearMonth`},url:{$ref:`#/$defs/Url`},doi:{type:`string`,minLength:1,maxLength:200,description:`DOI identifier (e.g. '10.1145/3548643.3548644'). The full URL goes in 'url'.`},coAuthors:{type:`array`,maxItems:50,items:{type:`string`,minLength:1,maxLength:100},description:`Co-author names in original script. Excludes the profile owner.`},order:{type:`integer`,minimum:0}}},Language:{type:`object`,additionalProperties:!1,required:[`id`,`language`,`proficiency`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},language:{$ref:`#/$defs/LocaleTag`},displayName:{$ref:`#/$defs/LocalizedTitle`},proficiency:{type:`string`,enum:[`native`,`fluent`,`professional`,`intermediate`,`basic`],description:`LinkedIn-compatible 5-level proficiency.`},order:{type:`integer`,minimum:0}}},Course:{type:`object`,additionalProperties:!1,required:[`id`,`title`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},provider:{$ref:`#/$defs/LocalizedTitle`},courseNumber:{type:`string`,minLength:1,maxLength:50},description:{$ref:`#/$defs/LocalizedBody`},completionDate:{$ref:`#/$defs/YearMonth`},certificateUrl:{$ref:`#/$defs/Url`},relatedEducationId:{$ref:`#/$defs/Slug`,description:`Optional reference to an education[].id (e.g. for university coursework).`},order:{type:`integer`,minimum:0}}},Patent:{type:`object`,additionalProperties:!1,required:[`id`,`title`,`patentNumber`,`status`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},patentNumber:{type:`string`,minLength:1,maxLength:100},office:{type:`string`,maxLength:100,description:`Patent office name (e.g. 'USPTO', 'JPO', 'EPO').`},status:{type:`string`,enum:[`pending`,`issued`,`expired`,`abandoned`]},description:{$ref:`#/$defs/LocalizedBody`},filingDate:{$ref:`#/$defs/YearMonth`},grantDate:{$ref:`#/$defs/YearMonth`},url:{$ref:`#/$defs/Url`},coInventors:{type:`array`,maxItems:20,items:{type:`string`,minLength:1,maxLength:100}},order:{type:`integer`,minimum:0}}},TestScore:{type:`object`,additionalProperties:!1,required:[`id`,`title`,`score`,`date`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},score:{type:`string`,minLength:1,maxLength:50,description:`Free-form score string (e.g. '112 / 120', '330', 'N1 Pass', or a percentile). The validator does not interpret its contents.`},date:{$ref:`#/$defs/YearMonth`},relatedEducationId:{$ref:`#/$defs/Slug`,description:`Optional reference to an education[].id (e.g. for a university course exam).`},description:{$ref:`#/$defs/LocalizedBody`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}},Recommendation:{type:`object`,additionalProperties:!1,required:[`id`,`body`,`author`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},body:{$ref:`#/$defs/LocalizedBody`},author:{$ref:`#/$defs/RecommendationAuthor`},relationship:{$ref:`#/$defs/LocalizedTitle`,description:`How the recommender relates to the profile owner (e.g. 'managed directly', 'worked together').`},date:{$ref:`#/$defs/YearMonth`},relatedCareerId:{$ref:`#/$defs/Slug`,description:`Optional reference to a careers[].id (the position the recommendation pertains to).`},relatedEducationId:{$ref:`#/$defs/Slug`,description:`Optional reference to an education[].id (e.g. a recommendation from a professor).`},order:{type:`integer`,minimum:0}}},RecommendationAuthor:{type:`object`,additionalProperties:!1,required:[`name`],properties:{name:{type:`string`,minLength:1,maxLength:100,description:`Recommender's name, in its original script. Owner-curated; takuhon does not verify it.`},headline:{$ref:`#/$defs/LocalizedTitle`,description:`Recommender's title / role / organization at the time of the recommendation.`},url:{$ref:`#/$defs/Url`,description:`Link to the recommender's profile, for external verification by the reader.`}}}}},g=l(m(),1),_=[`0.1.0`,`0.2.0`,`0.3.0`,`0.4.0`,`0.5.0`,`0.6.0`,`0.7.0`,`1.0.0`,`1.1.0`];function v(e){if(typeof e!=`object`||!e||Array.isArray(e))return{ok:!1,errors:[{pointer:``,message:`takuhon.json must be a JSON object.`,keyword:`type`}]};let t=e;if(typeof t.schemaVersion==`string`&&!w(t.schemaVersion))return{ok:!1,errors:[{pointer:`/schemaVersion`,message:`schemaVersion "${t.schemaVersion}" is not in the supported window (${_.join(`, `)}).`,keyword:`schemaVersion`}]};if((0,g.default)(e)){let t=JSON.parse(JSON.stringify(e));b(t);let n=S(t);if(n!==void 0)return{ok:!1,errors:[{pointer:`/${n.key}/${n.index}/id`,message:`Duplicate ${n.key}[].id value "${n.id}" \u2014 each entry must declare an id that is unique within its array.`,keyword:`uniqueItems`}]};let r=C(t.languages);return r===void 0?{ok:!0,data:t}:{ok:!1,errors:[{pointer:`/languages/${r.index}/language`,message:`Duplicate languages[].language value "${r.tag}" \u2014 each entry must declare a unique BCP-47 tag.`,keyword:`uniqueItems`}]}}return{ok:!1,errors:(g.default.errors??[]).map(T)}}var y=[`links`,`careers`,`projects`,`skills`,`certifications`,`memberships`,`volunteering`,`honors`,`education`,`publications`,`languages`,`courses`,`patents`,`testScores`,`recommendations`];function b(e){let t=e;for(let e of y)Array.isArray(t[e])||(t[e]=[])}var x=[`links`,`careers`,`projects`,`skills`,`certifications`,`memberships`,`volunteering`,`honors`,`education`,`publications`,`languages`,`courses`,`patents`,`testScores`,`recommendations`];function S(e){let t=e;for(let e of x){let n=t[e];if(!Array.isArray(n))continue;let r=new Set;for(let t=0;t<n.length;t++){let i=n[t],a=i!==void 0&&typeof i.id==`string`?i.id:void 0;if(a!==void 0){if(r.has(a))return{key:e,index:t,id:a};r.add(a)}}}}function C(e){let t=new Map;for(let n=0;n<e.length;n++){let r=e[n];if(r===void 0)continue;let i=r.language.toLowerCase();if(t.has(i))return{index:n,tag:r.language};t.set(i,n)}}function w(e){return _.includes(e)}function T(e){let t=e.instancePath;if(e.keyword===`required`){let n=e.params.missingProperty;typeof n==`string`&&(t=`${e.instancePath}/${ee(n)}`)}else if(e.keyword===`additionalProperties`){let n=e.params.additionalProperty;typeof n==`string`&&(t=`${e.instancePath}/${ee(n)}`)}return{pointer:t,message:e.message??`Validation failed.`,keyword:e.keyword,schemaPointer:e.schemaPath?e.schemaPath:void 0}}function ee(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}var te=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);function E(e,t){return e>>>t|e<<32-t}function ne(e){return(e>>>0).toString(16).padStart(8,`0`)}function re(e){let t=1779033703,n=3144134277,r=1013904242,i=2773480762,a=1359893119,o=2600822924,s=528734635,c=1541459225,l=e.length*8,u=e.length+1,d=u+((56-u%64)%64+64)%64+8,f=new Uint8Array(d);f.set(e),f[e.length]=128;let p=Math.floor(l/4294967296),m=l>>>0;f[d-8]=p>>>24&255,f[d-7]=p>>>16&255,f[d-6]=p>>>8&255,f[d-5]=p&255,f[d-4]=m>>>24&255,f[d-3]=m>>>16&255,f[d-2]=m>>>8&255,f[d-1]=m&255;let h=new Uint32Array(64);for(let e=0;e<d;e+=64){for(let t=0;t<16;t++){let n=e+t*4;h[t]=(f[n]<<24|f[n+1]<<16|f[n+2]<<8|f[n+3])>>>0}for(let e=16;e<64;e++){let t=E(h[e-15],7)^E(h[e-15],18)^h[e-15]>>>3,n=E(h[e-2],17)^E(h[e-2],19)^h[e-2]>>>10;h[e]=h[e-16]+t+h[e-7]+n>>>0}let l=t,u=n,d=r,p=i,m=a,g=o,_=s,v=c;for(let e=0;e<64;e++){let t=E(m,6)^E(m,11)^E(m,25),n=m&g^~m&_,r=v+t+n+te[e]+h[e]>>>0,i=(E(l,2)^E(l,13)^E(l,22))+(l&u^l&d^u&d)>>>0;v=_,_=g,g=m,m=p+r>>>0,p=d,d=u,u=l,l=r+i>>>0}t=t+l>>>0,n=n+u>>>0,r=r+d>>>0,i=i+p>>>0,a=a+m>>>0,o=o+g>>>0,s=s+_>>>0,c=c+v>>>0}return ne(t)+ne(n)+ne(r)+ne(i)+ne(a)+ne(o)+ne(s)+ne(c)}var ie=`https://gravatar.com/avatar/`;function ae(e,t){let n=re(new TextEncoder().encode(e.trim().toLowerCase())),r=new URLSearchParams;t?.size!==void 0&&r.set(`s`,String(t.size)),t?.defaultImage!==void 0&&r.set(`d`,t.defaultImage);let i=r.toString();return i?`${ie}${n}?${i}`:`${ie}${n}`}var D=e((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function ee(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function te(e,t){return ee(e.type,t,e.props)}function E(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function ne(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var re=/\/+/g;function ie(e,t){return typeof e==`object`&&e&&e.key!=null?ne(``+e.key):t.toString(36)}function ae(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function D(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,D(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+ie(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(re,`$&/`)+`/`),D(o,r,i,``,function(e){return e})):o!=null&&(E(o)&&(o=te(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(re,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+ie(a,u),c+=D(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+ie(a,u++),c+=D(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return D(ae(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function oe(e,t,n){if(e==null)return e;var r=[],i=0;return D(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function O(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var se=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},ce={map:oe,forEach:function(e,t,n){oe(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return oe(e,function(){t++}),t},toArray:function(e){return oe(e,function(e){return e})||[]},only:function(e){if(!E(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=ce,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return ee(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return ee(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=E,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:O}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,se)}catch(e){se(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.6`})),oe=e(((e,t)=>{t.exports=D()})),O=oe(),se={field:`_field_8swnx_1`,label:`_label_8swnx_8`,hint:`_hint_8swnx_15`,errors:`_errors_8swnx_22`},ce=e((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),k=e(((e,t)=>{t.exports=ce()}))(),A={control:`_control_8pwvq_1`,textarea:`_textarea_8pwvq_26`,checkboxRow:`_checkboxRow_8pwvq_31`,checkbox:`_checkbox_8pwvq_31`,checkboxLabel:`_checkboxLabel_8pwvq_44`},j={uploadRow:`_uploadRow_bht3r_1`,uploadLabel:`_uploadLabel_bht3r_9`,uploadStatus:`_uploadStatus_bht3r_15`,uploadError:`_uploadError_bht3r_20`},M={actionRow:`_actionRow_lnzi7_1`,applyButton:`_applyButton_lnzi7_6`},N={group:`_group_sz8r0_1`,groupLabel:`_groupLabel_sz8r0_8`,hint:`_hint_sz8r0_15`,tablist:`_tablist_sz8r0_22`,tab:`_tab_sz8r0_22`,tabActive:`_tabActive_sz8r0_45`,tabError:`_tabError_sz8r0_52`,srOnly:`_srOnly_sz8r0_56`,panel:`_panel_sz8r0_68`,control:`_control_sz8r0_74`,textarea:`_textarea_sz8r0_98`,errors:`_errors_sz8r0_103`},P={fieldset:`_fieldset_87ya6_1`,legend:`_legend_87ya6_9`,empty:`_empty_87ya6_17`,list:`_list_87ya6_24`,item:`_item_87ya6_33`,itemHeader:`_itemHeader_87ya6_40`,itemCaption:`_itemCaption_87ya6_49`,itemActions:`_itemActions_87ya6_59`,itemBody:`_itemBody_87ya6_64`,iconButton:`_iconButton_87ya6_69`,removeButton:`_removeButton_87ya6_70`,addButton:`_addButton_87ya6_71`},le={subheading:`_subheading_1wfs9_1`,hint:`_hint_1wfs9_9`},ue={wrapper:`_wrapper_1hnv3_1`,heading:`_heading_1hnv3_5`,hint:`_hint_1hnv3_13`,textarea:`_textarea_1hnv3_20`,problems:`_problems_1hnv3_44`,problemsTitle:`_problemsTitle_1hnv3_54`},de={editor:`_editor_rdsn8_1`,toolbar:`_toolbar_rdsn8_10`,modes:`_modes_rdsn8_24`,actions:`_actions_rdsn8_25`,modeButton:`_modeButton_rdsn8_31`,primary:`_primary_rdsn8_32`,secondary:`_secondary_rdsn8_33`,modeActive:`_modeActive_rdsn8_52`,status:`_status_rdsn8_70`,summary:`_summary_rdsn8_84`,summaryHeading:`_summaryHeading_rdsn8_92`,sections:`_sections_rdsn8_98`};function fe(e){let t=e.trim();return t.startsWith(`#`)&&(t=t.slice(1)),t!==``&&!t.startsWith(`/`)&&(t=`/${t}`),t}function pe(e){let t=new Map;for(let n of e){let e=fe(n.pointer??n.path??``),r=t.get(e);r?r.push(n.message):t.set(e,[n.message])}return t}function me(e){return pe(e)}function he(e,t){return e.get(fe(t))??[]}function ge(e,t){let n=fe(t);for(let t of e.keys())if(t===n||t.startsWith(`${n}/`))return!0;return!1}function _e(e,t){let n=fe(t),r=[];for(let[t,i]of e)(t===n||t.startsWith(`${n}/`))&&r.push(...i);return r}var ve=new Map;function ye({label:e,errors:t,hint:n,required:r,children:i}){let a=(0,O.useId)(),o=(0,O.useId)(),s=(0,O.useId)(),c=(t?.length??0)>0,l=[n?o:void 0,c?s:void 0].filter(Boolean).join(` `)||void 0;return(0,k.jsxs)(`div`,{className:se.field,children:[(0,k.jsxs)(`label`,{className:se.label,htmlFor:a,children:[e,r?(0,k.jsx)(`span`,{"aria-hidden":`true`,children:` *`}):null]}),n?(0,k.jsx)(`p`,{className:se.hint,id:o,children:n}):null,i({controlId:a,describedBy:l,invalid:c}),c?(0,k.jsx)(`ul`,{className:se.errors,id:s,children:t.map((e,t)=>(0,k.jsx)(`li`,{children:e},t))}):null]})}function be({label:e,value:t,onChange:n,errors:r,hint:i,required:a,placeholder:o,type:s=`text`,inputMode:c}){return(0,k.jsx)(ye,{label:e,errors:r,hint:i,required:a,children:({controlId:e,describedBy:r,invalid:i})=>(0,k.jsx)(`input`,{id:e,className:A.control,type:s,value:t,placeholder:o,inputMode:c,"aria-invalid":i||void 0,"aria-required":a?!0:void 0,"aria-describedby":r,onChange:e=>{n(e.target.value)}})})}function xe({label:e,value:t,options:n,onChange:r,errors:i,hint:a,required:o}){return(0,k.jsx)(ye,{label:e,errors:i,hint:a,required:o,children:({controlId:e,describedBy:i,invalid:a})=>(0,k.jsx)(`select`,{id:e,className:A.control,value:t,"aria-invalid":a||void 0,"aria-required":o?!0:void 0,"aria-describedby":i,onChange:e=>{r(e.target.value)},children:n.map(e=>(0,k.jsx)(`option`,{value:e.value,children:e.label},e.value))})})}function Se({label:e,checked:t,onChange:n}){let r=(0,O.useId)();return(0,k.jsxs)(`div`,{className:A.checkboxRow,children:[(0,k.jsx)(`input`,{id:r,className:A.checkbox,type:`checkbox`,checked:t,onChange:e=>{n(e.target.checked)}}),(0,k.jsx)(`label`,{className:A.checkboxLabel,htmlFor:r,children:e})]})}var Ce={"app.title":`takuhon admin`,"toolbar.label":`Editor actions`,"mode.label":`Editing mode`,"mode.form":`Form`,"mode.advanced":`Advanced (JSON)`,"action.save":`Save`,"action.reload":`Reload`,"action.export":`Export`,"action.import":`Import`,"action.add":`Add`,"action.remove":`Remove`,"action.moveUp":`Move up`,"action.moveDown":`Move down`,"status.saving":`Saving…`,"status.saved":`Saved.`,"status.loading":`Loading…`,"status.conflict":`The profile changed on the server since it was loaded. Reload, then reapply the edits.`,"status.invalid":`Some fields need attention before saving.`,"status.fixSummary":`Please fix the following:`,"status.error":`Something went wrong. Please try again.`,"status.imported":`Imported. Review the fields, then save to apply.`,"status.importInvalid":`The imported file is not a valid takuhon document.`,"status.uploading":`Uploading…`,"status.uploadError":`Upload failed. Please try again.`,"section.profile":`Profile`,"section.about":`About`,"section.links":`Links`,"section.careers":`Experience`,"section.projects":`Projects`,"section.skills":`Skills`,"section.settings":`Settings`,"section.education":`Education`,"section.certifications":`Certifications`,"section.publications":`Publications`,"section.honors":`Honors & awards`,"section.volunteering":`Volunteering`,"section.memberships":`Memberships`,"section.languages":`Languages`,"section.courses":`Courses`,"section.patents":`Patents`,"section.testScores":`Test scores`,"section.recommendations":`Recommendations`,"section.contact":`Contact`,"section.meta":`Metadata`,"field.displayName":`Display name`,"field.tagline":`Tagline`,"field.bio":`Bio`,"field.avatarUrl":`Avatar URL`,"field.avatarUpload":`Upload image`,"field.avatarAlt":`Avatar alternative text`,"field.gravatarEmail":`Gravatar email`,"field.gravatarApply":`Use Gravatar`,"field.location.country":`Country`,"field.location.region":`Region`,"field.location.locality":`Locality`,"field.location.display":`Location (display)`,"field.link.type":`Type`,"field.link.url":`URL`,"field.link.label":`Label`,"field.link.iconUrl":`Icon URL`,"field.link.featured":`Featured`,"field.career.organization":`Organization`,"field.career.role":`Role`,"field.career.description":`Description`,"field.career.startDate":`Start`,"field.career.endDate":`End`,"field.career.isCurrent":`Current position`,"field.career.url":`URL`,"field.project.title":`Title`,"field.project.description":`Description`,"field.project.url":`URL`,"field.project.tags":`Tags`,"field.project.highlighted":`Highlighted`,"field.project.startDate":`Start`,"field.project.endDate":`End`,"field.skill.label":`Label`,"field.skill.category":`Category`,"field.settings.defaultLocale":`Default locale`,"field.settings.fallbackLocale":`Fallback locale`,"field.settings.availableLocales":`Available locales`,"field.settings.theme":`Theme`,"field.settings.showPoweredBy":`Show the "Powered by takuhon" footer`,"field.settings.enableJsonLd":`Emit Schema.org JSON-LD`,"field.settings.enableApi":`Expose the public read API`,"field.settings.enableAnalytics":`Enable first-party analytics`,"field.settings.contact":`Contact form`,"field.contactSettings.enabled":`Enable contact form`,"field.contactSettings.turnstileSiteKey":`Turnstile site key (public)`,"field.contactSettings.subjectPrefix":`Email subject prefix`,"field.settings.publicVisibility":`Public sections`,"field.publicVisibility.links":`Links`,"field.publicVisibility.careers":`Experience`,"field.publicVisibility.projects":`Projects`,"field.publicVisibility.skills":`Skills`,"field.publicVisibility.certifications":`Certifications`,"field.publicVisibility.memberships":`Memberships`,"field.publicVisibility.volunteering":`Volunteering`,"field.publicVisibility.honors":`Honors & awards`,"field.publicVisibility.education":`Education`,"field.publicVisibility.publications":`Publications`,"field.publicVisibility.languages":`Languages`,"field.publicVisibility.courses":`Courses`,"field.publicVisibility.patents":`Patents`,"field.publicVisibility.testScores":`Test scores`,"field.publicVisibility.recommendations":`Recommendations`,"field.publicVisibility.contact":`Contact`,"item.link":`Link`,"item.career":`Position`,"item.project":`Project`,"item.skill":`Skill`,"empty.links":`No links yet.`,"empty.careers":`No positions yet.`,"empty.projects":`No projects yet.`,"empty.skills":`No skills yet.`,"hint.avatarNoUpload":`Paste an image URL. Uploading image files is not available yet.`,"hint.avatarUpload":`Paste an image URL, or upload a JPEG, PNG, WebP, or GIF.`,"hint.gravatar":`Enter an email to generate a Gravatar avatar URL. The email is not saved — only the resulting URL is stored.`,"hint.month":`Format: YYYY-MM (e.g. 2024-03).`,"hint.country":`ISO 3166-1 alpha-2 code, e.g. US.`,"hint.tags":`Comma-separated.`,"hint.locales":`Comma-separated BCP-47 tags, e.g. en, ja. Drives the language tabs above.`,"hint.publicVisibility":`Unchecked sections are hidden from every public surface (page, API, JSON-LD). All sections are public by default.`,"advanced.hint":`Edit the entire document as JSON. Edits apply only while the JSON is valid.`,"advanced.invalid":`The JSON is not a valid takuhon document:`,"option.none":`(none)`},we={en:Ce};function F(e,t=`en`){let n=we[t]?.[e];if(n!==void 0)return n;let r=t.split(`-`)[0];return(r?we[r]?.[e]:void 0)??Ce[e]}var Te=`image/jpeg,image/png,image/webp,image/gif`;function Ee({label:e,value:t,onChange:n,errors:r,hint:i,uploadAsset:a}){let o=(0,O.useId)(),s=(0,O.useId)(),c=(0,O.useRef)(null),[l,u]=(0,O.useState)(!1),[d,f]=(0,O.useState)(null),p=e=>{let t=e.target.files?.[0];!t||a===void 0||(u(!0),f(null),a(t).then(e=>{e.status===`uploaded`?n(e.url):f(e.message??F(`status.uploadError`))}).catch(()=>{f(F(`status.uploadError`))}).finally(()=>{u(!1),c.current&&(c.current.value=``)}))};return(0,k.jsx)(ye,{label:e,errors:r,hint:i,children:({controlId:e,describedBy:r,invalid:i})=>(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(`input`,{id:e,className:A.control,type:`url`,value:t,"aria-invalid":i||void 0,"aria-describedby":r,onChange:e=>{n(e.target.value)}}),a===void 0?null:(0,k.jsxs)(`div`,{className:j.uploadRow,children:[(0,k.jsx)(`label`,{className:j.uploadLabel,htmlFor:o,children:F(`field.avatarUpload`)}),(0,k.jsx)(`input`,{id:o,ref:c,type:`file`,accept:Te,disabled:l,"aria-describedby":s,onChange:p}),(0,k.jsx)(`span`,{className:j.uploadStatus,id:s,role:`status`,"aria-live":`polite`,children:l?F(`status.uploading`):``}),d===null?null:(0,k.jsx)(`span`,{className:j.uploadError,role:`alert`,children:d})]})]})})}function De({onApply:e}){let[t,n]=(0,O.useState)(``),r=t.trim(),i=()=>{r!==``&&(e(ae(r)),n(``))};return(0,k.jsx)(ye,{label:F(`field.gravatarEmail`),hint:F(`hint.gravatar`),children:({controlId:e,describedBy:a})=>(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(`input`,{id:e,className:A.control,type:`email`,value:t,autoComplete:`off`,"aria-describedby":a,onChange:e=>{n(e.target.value)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),i())}}),(0,k.jsx)(`div`,{className:M.actionRow,children:(0,k.jsx)(`button`,{type:`button`,className:M.applyButton,disabled:r===``,onClick:i,children:F(`field.gravatarApply`)})})]})})}function Oe({label:e,value:t,locales:n,onChange:r,multiline:i=!1,required:a,hint:o,errors:s=ve,pointer:c,formatLocale:l}){let u=(0,O.useId)(),d=(0,O.useId)(),f=(0,O.useId)(),[p,m]=(0,O.useState)(()=>n[0]??``),h=(0,O.useRef)({}),g=l??(e=>e),_=`${u}-label`;if(n.length===0)return(0,k.jsxs)(`div`,{className:N.group,role:`group`,"aria-labelledby":_,children:[(0,k.jsx)(`span`,{className:N.groupLabel,id:_,children:e}),(0,k.jsx)(`p`,{className:N.hint,children:`No locales are configured yet; add one under Settings.`})]});let v=n.includes(p)?p:n[0],y=t?.[v]??``,b=c?he(s,c):[],x=c?he(s,`${c}/${v}`):[],S=[...b,...x],C=S.length>0,w=[o?d:void 0,C?f:void 0].filter(Boolean).join(` `)||void 0,T=e=>{let n={...t??{}};e===``?delete n[v]:n[v]=e,r(Object.keys(n).length===0?void 0:n)},ee=e=>{let t=n.indexOf(v),r;switch(e.key){case`ArrowRight`:case`ArrowDown`:r=(t+1)%n.length;break;case`ArrowLeft`:case`ArrowUp`:r=(t-1+n.length)%n.length;break;case`Home`:r=0;break;case`End`:r=n.length-1;break;default:return}e.preventDefault();let i=n[r];i!==void 0&&(m(i),h.current[i]?.focus())},te=`${e} (${g(v)})`;return(0,k.jsxs)(`div`,{className:N.group,role:`group`,"aria-labelledby":_,children:[(0,k.jsxs)(`span`,{className:N.groupLabel,id:_,children:[e,a?(0,k.jsx)(`span`,{"aria-hidden":`true`,children:` *`}):null]}),o?(0,k.jsx)(`p`,{className:N.hint,id:d,children:o}):null,(0,k.jsx)(`div`,{className:N.tablist,role:`tablist`,"aria-label":e,children:n.map(e=>{let t=e===v,n=c?ge(s,`${c}/${e}`):!1;return(0,k.jsxs)(`button`,{ref:t=>{h.current[e]=t},type:`button`,role:`tab`,id:`${u}-tab-${e}`,"aria-selected":t,"aria-controls":`${u}-panel`,tabIndex:t?0:-1,className:`${N.tab} ${t?N.tabActive:``}`,onClick:()=>{m(e)},onKeyDown:ee,children:[g(e),n?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsxs)(`span`,{className:N.tabError,"aria-hidden":`true`,children:[` `,`●`]}),(0,k.jsx)(`span`,{className:N.srOnly,children:` (has errors)`})]}):null]},e)})}),(0,k.jsxs)(`div`,{role:`tabpanel`,id:`${u}-panel`,"aria-labelledby":`${u}-tab-${v}`,className:N.panel,children:[i?(0,k.jsx)(`textarea`,{className:`${N.control} ${N.textarea}`,value:y,rows:4,"aria-label":te,"aria-invalid":C||void 0,"aria-required":a?!0:void 0,"aria-describedby":w,onChange:e=>{T(e.target.value)}}):(0,k.jsx)(`input`,{className:N.control,type:`text`,value:y,"aria-label":te,"aria-invalid":C||void 0,"aria-required":a?!0:void 0,"aria-describedby":w,onChange:e=>{T(e.target.value)}}),C?(0,k.jsx)(`ul`,{className:N.errors,id:f,children:S.map((e,t)=>(0,k.jsx)(`li`,{children:e},t))}):null]})]})}function ke({legend:e,items:t,onChange:n,renderItem:r,createItem:i,keyOf:a,itemLabel:o,addLabel:s=`Add`,removeLabel:c=`Remove`,moveUpLabel:l=`Move up`,moveDownLabel:u=`Move down`,emptyHint:d}){let f=a??((e,t)=>String(t)),p=(e,r)=>{let i=t.slice();i[e]=r,n(i)},m=e=>{n(t.filter((t,n)=>n!==e))},h=(e,r)=>{if(r<0||r>=t.length)return;let i=t.slice(),[a]=i.splice(e,1);a!==void 0&&(i.splice(r,0,a),n(i))};return(0,k.jsxs)(`fieldset`,{className:P.fieldset,children:[(0,k.jsx)(`legend`,{className:P.legend,children:e}),t.length===0&&d?(0,k.jsx)(`p`,{className:P.empty,children:d}):null,(0,k.jsx)(`ol`,{className:P.list,children:t.map((e,n)=>{let i=o(e,n);return(0,k.jsx)(`li`,{className:P.item,children:(0,k.jsxs)(`div`,{role:`group`,"aria-label":i,children:[(0,k.jsxs)(`div`,{className:P.itemHeader,children:[(0,k.jsx)(`span`,{className:P.itemCaption,children:i}),(0,k.jsxs)(`div`,{className:P.itemActions,children:[(0,k.jsx)(`button`,{type:`button`,className:P.iconButton,"aria-label":`${l}: ${i}`,disabled:n===0,onClick:()=>{h(n,n-1)},children:`↑`}),(0,k.jsx)(`button`,{type:`button`,className:P.iconButton,"aria-label":`${u}: ${i}`,disabled:n===t.length-1,onClick:()=>{h(n,n+1)},children:`↓`}),(0,k.jsx)(`button`,{type:`button`,className:P.removeButton,"aria-label":`${c}: ${i}`,onClick:()=>{m(n)},children:c})]})]}),(0,k.jsx)(`div`,{className:P.itemBody,children:r(e,e=>{p(n,e)},n)})]})},f(e,n))})}),(0,k.jsx)(`button`,{type:`button`,className:P.addButton,onClick:()=>{n([...t,i()])},children:s})]})}function Ae(e,t){let n=e.toLowerCase().replace(/[^a-z0-9-]/g,``)||`item`,r=new Set(t),i=1;for(;r.has(`${n}-${String(i)}`);)i+=1;return`${n}-${String(i)}`}function je(e,t){if(!e)return``;for(let n of t){let t=e[n];if(t)return t}return Object.values(e).find(e=>e!==``)??``}var Me=`#/$defs/`;function Ne(e){let t=e.$ref;if(!(typeof t!=`string`||!t.startsWith(Me)))return t.slice(Me.length)}function Pe(e,t){let n=t,r=!1,i=n.anyOf;if(i){let e=i.filter(e=>e.type!==`null`),[t]=e;t&&e.length===1&&e.length<i.length&&(r=!0,n=t)}let a=Ne(n);if(a===void 0)return{node:n,nullable:r};let o=e.$defs?.[a];return o?{node:o,ref:a,nullable:r}:{node:n,nullable:r}}var Fe={LocalizedTitle:{widget:`localizedTitle`},LocalizedBody:{widget:`localizedBody`},YearMonth:{widget:`month`},Slug:{widget:`slug`},LocaleTag:{widget:`localeTag`}};function Ie(e,t){let{node:n,ref:r}=Pe(e,t);if(r!==void 0){let e=Fe[r];if(e)return e}if(Array.isArray(n.enum))return{widget:`select`,options:n.enum.map(e=>String(e))};let i=typeof n.type==`string`?n.type:void 0;if(i===`string`)switch(n.format){case`email`:return{widget:`email`};case`uri`:return{widget:`url`};case`date`:return{widget:`date`};case`date-time`:return{widget:`datetime`};default:return n.maxLength===void 0?{widget:`text`}:{widget:`text`,maxLength:n.maxLength}}return i===`boolean`?typeof n.default==`boolean`?{widget:`checkbox`,default:n.default}:{widget:`checkbox`}:i===`integer`||i===`number`?n.minimum===void 0?{widget:`integer`}:{widget:`integer`,minimum:n.minimum}:i===`array`?{widget:`array`,item:n.items?Ie(e,n.items):{widget:`unsupported`}}:i===`object`?{widget:`object`,fields:Le(e,n)}:{widget:`unsupported`}}function Le(e,t){let n=t.properties??{},r=new Set(t.required??[]);return Object.entries(n).map(([t,n])=>({name:t,required:r.has(t),nullable:Pe(e,n).nullable,kind:Ie(e,n)}))}function Re(e,t){let n=e.properties?.[t];return n?Ie(e,n):{widget:`unsupported`}}var ze={},Be=new Set([`url`,`id`,`doi`]);function Ve(e){return e.replace(/([a-z0-9])([A-Z])/g,`$1 $2`).toLowerCase().split(` `).map((e,t)=>Be.has(e)?e.toUpperCase():t===0?e.charAt(0).toUpperCase()+e.slice(1):e).join(` `)}function He(e,t){return e[t]??{}}function Ue(e){return e&&typeof e==`object`?e:{}}function We(e){return e&&typeof e==`object`?e:void 0}function Ge(e){return typeof e==`string`?e:``}function Ke(e,t,n){return{...e,[t]:n}}function qe(e){let t=Ue(e).id;return typeof t==`string`?t:void 0}function Je(e){let t=e.split(`.`);return t[t.length-1]??e}function Ye(e,t,n){switch(e.widget){case`object`:{let r={};for(let i of e.fields)i.required&&(r[i.name]=i.kind.widget===`slug`?Ae(Je(n),t):Ye(i.kind,[],`${n}.${i.name}`));return r}case`checkbox`:return!1;case`integer`:return 0;case`localizedTitle`:case`localizedBody`:return{};case`select`:return e.options[0]??``;case`array`:return[];default:return``}}function Xe(e,t,n){if(t.widget!==`object`)return Ge(e);let r=Ue(e);for(let e of t.fields)if(e.kind.widget===`localizedTitle`){let t=je(We(r[e.name]),n);if(t)return t}for(let e of t.fields)if(e.kind.widget===`text`||e.kind.widget===`select`){let t=Ge(r[e.name]);if(t)return t}return``}function Ze(e,t,n,r){let i=he(r.errors,r.pointer);switch(e.widget){case`localizedTitle`:case`localizedBody`:return(0,k.jsx)(Oe,{label:r.label,value:We(t),locales:r.locales,onChange:e=>{n(e)},multiline:e.widget===`localizedBody`||r.multiline,required:r.required,pointer:r.pointer,errors:r.errors,formatLocale:r.formatLocale});case`checkbox`:{let i=e.default!==void 0,a=t===void 0?e.default??!1:t===!0;return(0,k.jsx)(Se,{label:r.label,checked:a,onChange:e=>{n(i?e:e||void 0)}})}case`select`:case`localeTag`:{let a=r.locales.map(e=>({value:e,label:r.formatLocale?r.formatLocale(e):e})),o=e.widget===`select`?e.options.map(e=>({value:e,label:e})):r.required?a:[{value:``,label:F(`option.none`)},...a];return(0,k.jsx)(xe,{label:r.label,value:Ge(t),options:o,onChange:e=>{n(e||void 0)},required:r.required,errors:i})}case`integer`:return(0,k.jsx)(be,{label:r.label,type:`text`,inputMode:`numeric`,value:typeof t==`number`?String(t):``,onChange:e=>{n(e===``?void 0:Number(e))},required:r.required,hint:r.hint,errors:i});default:{let a=e.widget===`url`?`url`:e.widget===`email`?`email`:e.widget===`month`?`month`:`text`,o=r.hint??(e.widget===`month`?F(`hint.month`):void 0);return(0,k.jsx)(be,{label:r.label,type:a,value:Ge(t),onChange:e=>{n(e||void 0)},required:r.required,hint:o,errors:i})}}}function Qe(e,t,n,r){let i=r.path?`${r.path}.${e.name}`:e.name,a=He(r.registry,i);if(a.hidden)return null;let o={...r,pointer:`${r.pointer}/${e.name}`,path:i,label:a.label??Ve(e.name),hint:a.hint,required:e.required,multiline:a.multiline??!1},s=r=>{n(Ke(t,e.name,r))};if(a.render){let n={value:t[e.name],onChange:s,pointer:o.pointer,path:o.path,label:o.label,required:o.required,locales:o.locales,errors:o.errors,formatLocale:o.formatLocale,uploadAsset:o.uploadAsset,document:o.document};return(0,k.jsx)(`div`,{children:a.render(n)},e.name)}return(0,k.jsx)(`div`,{children:e.kind.widget===`object`?(0,k.jsxs)(`fieldset`,{children:[(0,k.jsx)(`legend`,{children:o.label}),$e(e.kind,Ue(t[e.name]),s,o)]}):e.kind.widget===`array`?et(e.kind,t[e.name],s,o):Ze(e.kind,t[e.name],s,o)},e.name)}function $e(e,t,n,r){let i=e=>{n(e)};return e.fields.map(e=>Qe(e,t,i,r))}function et(e,t,n,r){let i=Array.isArray(t)?t:[],a=e.item,o=i.map(qe).filter(e=>e!==void 0);return(0,k.jsx)(ke,{legend:r.label,items:i,onChange:e=>{n(e)},keyOf:(e,t)=>qe(e)??String(t),itemLabel:(e,t)=>Xe(e,a,r.locales)||`${r.label} ${String(t+1)}`,createItem:()=>Ye(a,o,r.path),addLabel:F(`action.add`),removeLabel:F(`action.remove`),moveUpLabel:F(`action.moveUp`),moveDownLabel:F(`action.moveDown`),renderItem:(e,t,n)=>{let i={...r,pointer:`${r.pointer}/${String(n)}`};return a.widget===`object`?$e(a,Ue(e),t,i):Ze(a,e,t,i)}})}function tt(e){let t={pointer:e.pointer,path:e.path??e.pointer.replace(/^\//,``).replace(/\//g,`.`),label:e.label,required:!0,multiline:!1,locales:e.locales,errors:e.errors??ve,registry:e.registry??ze,formatLocale:e.formatLocale,uploadAsset:e.uploadAsset,document:e.document};return e.kind.widget===`array`?(0,k.jsx)(k.Fragment,{children:et(e.kind,e.value,e.onChange,t)}):e.kind.widget===`object`?(0,k.jsxs)(`fieldset`,{children:[(0,k.jsx)(`legend`,{children:e.label}),$e(e.kind,Ue(e.value),e.onChange,t)]}):(0,k.jsx)(k.Fragment,{children:Ze(e.kind,e.value,e.onChange,t)})}function nt(e){return e&&typeof e==`object`?e:{}}function rt(e){return e&&typeof e==`object`?e:void 0}function it(e){return!e||Object.keys(e).length===0}function at(e){return typeof e==`string`?e:``}function ot(e){let t=nt(e).id;return typeof t==`string`?t:``}function st(e){let t=nt(e.value),n=typeof t.url==`string`?t.url:``,r=n=>{let r={url:``,...t,...n},i=r.url!==``||!it(rt(r.alt));e.onChange(i?r:void 0)};return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(Ee,{label:F(`field.avatarUrl`),value:n,onChange:e=>{r({url:e})},hint:F(e.uploadAsset?`hint.avatarUpload`:`hint.avatarNoUpload`),errors:he(e.errors,`${e.pointer}/url`),uploadAsset:e.uploadAsset}),(0,k.jsx)(De,{onApply:e=>{r({url:e})}}),(0,k.jsx)(Oe,{label:F(`field.avatarAlt`),value:rt(t.alt),locales:e.locales,onChange:e=>{r({alt:e})},pointer:`${e.pointer}/alt`,errors:e.errors,formatLocale:e.formatLocale})]})}function ct(e){return e.split(`,`).map(e=>e.trim()).filter(e=>e!==``)}function lt(e){return function(t){let n=(Array.isArray(t.value)?t.value:[]).filter(e=>typeof e==`string`).join(`, `);return(0,k.jsx)(be,{label:t.label,value:n,onChange:n=>{let r=ct(n);t.onChange(e.emptyToUndefined&&r.length===0?void 0:r)},required:t.required,hint:F(e.hint),errors:_e(t.errors,t.pointer)})}}var ut=[{key:`links`,label:`field.publicVisibility.links`},{key:`careers`,label:`field.publicVisibility.careers`},{key:`projects`,label:`field.publicVisibility.projects`},{key:`skills`,label:`field.publicVisibility.skills`},{key:`certifications`,label:`field.publicVisibility.certifications`},{key:`memberships`,label:`field.publicVisibility.memberships`},{key:`volunteering`,label:`field.publicVisibility.volunteering`},{key:`honors`,label:`field.publicVisibility.honors`},{key:`education`,label:`field.publicVisibility.education`},{key:`publications`,label:`field.publicVisibility.publications`},{key:`languages`,label:`field.publicVisibility.languages`},{key:`courses`,label:`field.publicVisibility.courses`},{key:`patents`,label:`field.publicVisibility.patents`},{key:`testScores`,label:`field.publicVisibility.testScores`},{key:`recommendations`,label:`field.publicVisibility.recommendations`},{key:`contact`,label:`field.publicVisibility.contact`}];function dt(e){let t=nt(e.value),n=(n,r)=>{let i={...t};r?delete i[n]:i[n]=!1,e.onChange(Object.keys(i).length>0?i:void 0)};return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(`h3`,{className:le.subheading,children:F(`field.settings.publicVisibility`)}),(0,k.jsx)(`p`,{className:le.hint,children:F(`hint.publicVisibility`)}),ut.map(({key:e,label:r})=>(0,k.jsx)(Se,{label:F(r),checked:t[e]??!0,onChange:t=>{n(e,t)}},e))]})}function ft(e){return function(t){let n=at(t.value),r=(()=>{let n=nt(t.document)[e.section];return Array.isArray(n)?n:[]})().map(n=>{let r=ot(n),i=je(rt(nt(n)[e.captionField]),t.locales);return{value:r,label:i?`${i} (${r})`:r}}).filter(e=>e.value!==``),i=n!==``&&!r.some(e=>e.value===n),a=[...t.required?[]:[{value:``,label:F(`option.none`)}],...r,...i?[{value:n,label:n}]:[]];return(0,k.jsx)(xe,{label:t.label,value:n,options:a,onChange:e=>{t.onChange(e||void 0)},required:t.required,errors:he(t.errors,t.pointer)})}}var pt=[{key:`profile`,label:`section.profile`},{key:`links`,label:`section.links`},{key:`careers`,label:`section.careers`},{key:`projects`,label:`section.projects`},{key:`skills`,label:`section.skills`},{key:`settings`,label:`section.settings`},{key:`education`,label:`section.education`},{key:`certifications`,label:`section.certifications`},{key:`publications`,label:`section.publications`},{key:`honors`,label:`section.honors`},{key:`volunteering`,label:`section.volunteering`},{key:`memberships`,label:`section.memberships`},{key:`languages`,label:`section.languages`},{key:`courses`,label:`section.courses`},{key:`patents`,label:`section.patents`},{key:`testScores`,label:`section.testScores`},{key:`recommendations`,label:`section.recommendations`},{key:`contact`,label:`section.contact`},{key:`meta`,label:`section.meta`}],mt={"profile.avatar":{render:st},"profile.location.country":{hint:F(`hint.country`)},"profile.location.display":{label:F(`field.location.display`)},"links.url":{label:F(`field.link.url`)},"links.iconUrl":{label:F(`field.link.iconUrl`)},"careers.startDate":{label:F(`field.career.startDate`),hint:F(`hint.month`)},"careers.endDate":{label:F(`field.career.endDate`),hint:F(`hint.month`)},"careers.isCurrent":{label:F(`field.career.isCurrent`)},"careers.url":{label:F(`field.career.url`)},"projects.tags":{render:lt({hint:`hint.tags`,emptyToUndefined:!0})},"projects.relatedCareerId":{render:ft({section:`careers`,captionField:`organization`})},"projects.url":{label:F(`field.project.url`)},"projects.startDate":{hint:F(`hint.month`)},"projects.endDate":{hint:F(`hint.month`)},"settings.availableLocales":{render:lt({hint:`hint.locales`,emptyToUndefined:!1})},"settings.theme":{label:F(`field.settings.theme`)},"settings.showPoweredBy":{label:F(`field.settings.showPoweredBy`)},"settings.enableJsonLd":{label:F(`field.settings.enableJsonLd`)},"settings.enableApi":{label:F(`field.settings.enableApi`)},"settings.enableAnalytics":{label:F(`field.settings.enableAnalytics`)},"settings.activity.github":{label:`GitHub`},"settings.activity.wakatime":{label:`WakaTime`},"settings.publicVisibility":{render:dt},"settings.contact":{label:F(`field.settings.contact`)},"settings.contact.enabled":{label:F(`field.contactSettings.enabled`)},"settings.contact.turnstileSiteKey":{label:F(`field.contactSettings.turnstileSiteKey`)},"settings.contact.subjectPrefix":{label:F(`field.contactSettings.subjectPrefix`)},"courses.relatedEducationId":{render:ft({section:`education`,captionField:`institution`})},"testScores.relatedEducationId":{render:ft({section:`education`,captionField:`institution`})},"recommendations.relatedCareerId":{render:ft({section:`careers`,captionField:`organization`})},"recommendations.relatedEducationId":{render:ft({section:`education`,captionField:`institution`})},"languages.displayName":{label:`Language name`},"meta.createdAt":{hidden:!0},"meta.updatedAt":{hidden:!0},"meta.generator":{hidden:!0}},ht=50;function gt({value:e,onChange:t}){let[n,r]=(0,O.useState)(()=>JSON.stringify(e,null,2)),[i,a]=(0,O.useState)([]),o=(0,O.useId)(),s=(0,O.useId)(),c=e=>{r(e);let n;try{n=JSON.parse(e)}catch(e){a([e instanceof Error?e.message:`Invalid JSON.`]);return}let i=v(n);if(!i.ok){a(i.errors.slice(0,ht).map(e=>`${e.pointer||`/`}: ${e.message}`));return}a([]),t(i.data)},l=i.length>0;return(0,k.jsxs)(`section`,{className:ue.wrapper,"aria-labelledby":o,children:[(0,k.jsx)(`h2`,{className:ue.heading,id:o,children:F(`mode.advanced`)}),(0,k.jsx)(`p`,{className:ue.hint,children:F(`advanced.hint`)}),(0,k.jsx)(`textarea`,{className:ue.textarea,value:n,spellCheck:!1,"aria-label":F(`mode.advanced`),"aria-invalid":l||void 0,"aria-describedby":l?s:void 0,onChange:e=>{c(e.target.value)}}),l?(0,k.jsxs)(`div`,{className:ue.problems,id:s,role:`alert`,children:[(0,k.jsx)(`p`,{className:ue.problemsTitle,children:F(`advanced.invalid`)}),(0,k.jsx)(`ul`,{children:i.map((e,t)=>(0,k.jsx)(`li`,{children:e},t))})]}):null]})}var _t=h;function vt(e,t,n){return{...e,[t]:n}}function yt({initialDocument:e,onSave:t,onReload:n,onExport:r,onImport:i,formatLocale:a,uploadAsset:o}){let[s,c]=(0,O.useState)(e),[l,u]=(0,O.useState)(`form`),[d,f]=(0,O.useState)(ve),[p,m]=(0,O.useState)(null),[h,g]=(0,O.useState)(!1),[_,y]=(0,O.useState)(0),b=(0,O.useRef)(0),x=(0,O.useRef)(null),S=(0,O.useRef)(!1),C=s.settings.availableLocales;(0,O.useEffect)(()=>{S.current&&x.current&&x.current.focus(),S.current=!1},[d]);let w=e=>{b.current+=1,c(e),f(ve),m(null)},T=(e,t)=>{b.current+=1,c(e),f(ve),m(t),y(e=>e+1)},ee=async()=>{let e=v(s);if(!e.ok){S.current=!0,f(me(e.errors)),m({tone:`error`,message:F(`status.invalid`)});return}f(ve),b.current+=1;let n=b.current;g(!0),m({tone:`info`,message:F(`status.saving`)});try{let r=await t(e.data);if(n!==b.current)return;switch(r.status){case`saved`:m({tone:`success`,message:F(`status.saved`)});break;case`conflict`:m({tone:`error`,message:F(`status.conflict`)});break;case`invalid`:S.current=!0,f(pe(r.errors)),m({tone:`error`,message:F(`status.invalid`)});break;case`error`:m({tone:`error`,message:r.message??F(`status.error`)});break}}catch{n===b.current&&m({tone:`error`,message:F(`status.error`)})}finally{g(!1)}},te=async()=>{if(n){g(!0),m({tone:`info`,message:F(`status.loading`)});try{T(await n(),null)}catch{m({tone:`error`,message:F(`status.error`)})}finally{g(!1)}}},E=async()=>{if(i)try{let e=await i();if(e===void 0)return;let t=v(e);if(!t.ok){m({tone:`error`,message:F(`status.importInvalid`)});return}T(t.data,{tone:`info`,message:F(`status.imported`)})}catch{m({tone:`error`,message:F(`status.error`)})}},ne=[...d].flatMap(([e,t])=>t.map(t=>({pointer:e,message:t})));return(0,k.jsxs)(`div`,{className:de.editor,children:[(0,k.jsxs)(`div`,{className:de.toolbar,role:`toolbar`,"aria-label":F(`toolbar.label`),children:[(0,k.jsxs)(`div`,{className:de.modes,role:`group`,"aria-label":F(`mode.label`),children:[(0,k.jsx)(`button`,{type:`button`,className:`${de.modeButton} ${l===`form`?de.modeActive:``}`,"aria-pressed":l===`form`,onClick:()=>{u(`form`)},children:F(`mode.form`)}),(0,k.jsx)(`button`,{type:`button`,className:`${de.modeButton} ${l===`advanced`?de.modeActive:``}`,"aria-pressed":l===`advanced`,onClick:()=>{u(`advanced`)},children:F(`mode.advanced`)})]}),(0,k.jsxs)(`div`,{className:de.actions,children:[(0,k.jsx)(`button`,{type:`button`,className:de.primary,disabled:h,onClick:()=>{ee()},children:F(`action.save`)}),n?(0,k.jsx)(`button`,{type:`button`,className:de.secondary,disabled:h,onClick:()=>{te()},children:F(`action.reload`)}):null,r?(0,k.jsx)(`button`,{type:`button`,className:de.secondary,onClick:()=>{r(s)},children:F(`action.export`)}):null,i?(0,k.jsx)(`button`,{type:`button`,className:de.secondary,disabled:h,onClick:()=>{E()},children:F(`action.import`)}):null]})]}),(0,k.jsx)(`p`,{className:de.status,role:`status`,"aria-live":`polite`,"data-tone":p?.tone,children:p?.message??``}),ne.length>0?(0,k.jsxs)(`section`,{className:de.summary,"aria-labelledby":`admin-error-summary`,children:[(0,k.jsx)(`h2`,{className:de.summaryHeading,id:`admin-error-summary`,tabIndex:-1,ref:x,children:F(`status.fixSummary`)}),(0,k.jsx)(`ul`,{children:ne.map((e,t)=>(0,k.jsx)(`li`,{children:e.pointer===``?e.message:`${e.pointer.replace(/^\//,``)}: ${e.message}`},t))})]}):null,l===`form`?(0,k.jsx)(`div`,{className:de.sections,children:pt.map(({key:e,label:t})=>(0,k.jsx)(tt,{kind:Re(_t,e),value:s[e],onChange:t=>{w(vt(s,e,t))},pointer:`/${e}`,label:F(t),locales:C,errors:d,registry:mt,formatLocale:a,uploadAsset:o,document:s},e))}):(0,k.jsx)(gt,{value:s,onChange:w},_)]})}var bt=e((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,E());else{var t=n(l);t!==null&&ie(x,t.startTime-e)}}var S=!1,C=-1,w=5,T=-1;function ee(){return g?!0:!(e.unstable_now()-T<w)}function te(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&ee());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&ie(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?E():S=!1}}}var E;if(typeof y==`function`)E=function(){y(te)};else if(typeof MessageChannel<`u`){var ne=new MessageChannel,re=ne.port2;ne.port1.onmessage=te,E=function(){re.postMessage(null)}}else E=function(){_(te,0)};function ie(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,ie(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,E()))),r},e.unstable_shouldYield=ee,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),xt=e(((e,t)=>{t.exports=bt()})),St=e((e=>{var t=oe();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function r(){}var i={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},a=Symbol.for(`react.portal`);function o(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var s=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return o(e,t,null,r)},e.flushSync=function(e){var t=s.T,n=i.p;try{if(s.T=null,i.p=2,e)return e()}finally{s.T=t,i.p=n,i.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,i.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&i.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin),a=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?i.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):n===`script`&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`)if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=c(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??i.d.M(e)},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin);i.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`)if(t){var n=c(t.as,t.crossOrigin);i.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else i.d.m(e)},e.requestFormReset=function(e){i.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return s.H.useFormState(e,t,n)},e.useFormStatus=function(){return s.H.useHostTransitionStatus()},e.version=`19.2.6`})),Ct=e(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=St()})),wt=e((e=>{var t=xt(),n=oe(),r=Ct();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(o(e)!==e)throw Error(i(188))}function u(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function d(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=d(e),t!==null)return t;e=e.sibling}return null}var f=Object.assign,p=Symbol.for(`react.element`),m=Symbol.for(`react.transitional.element`),h=Symbol.for(`react.portal`),g=Symbol.for(`react.fragment`),_=Symbol.for(`react.strict_mode`),v=Symbol.for(`react.profiler`),y=Symbol.for(`react.consumer`),b=Symbol.for(`react.context`),x=Symbol.for(`react.forward_ref`),S=Symbol.for(`react.suspense`),C=Symbol.for(`react.suspense_list`),w=Symbol.for(`react.memo`),T=Symbol.for(`react.lazy`),ee=Symbol.for(`react.activity`),te=Symbol.for(`react.memo_cache_sentinel`),E=Symbol.iterator;function ne(e){return typeof e!=`object`||!e?null:(e=E&&e[E]||e[`@@iterator`],typeof e==`function`?e:null)}var re=Symbol.for(`react.client.reference`);function ie(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===re?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case g:return`Fragment`;case v:return`Profiler`;case _:return`StrictMode`;case S:return`Suspense`;case C:return`SuspenseList`;case ee:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case h:return`Portal`;case b:return e.displayName||`Context`;case y:return(e._context.displayName||`Context`)+`.Consumer`;case x:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case w:return t=e.displayName||null,t===null?ie(e.type)||`Memo`:t;case T:t=e._payload,e=e._init;try{return ie(e(t))}catch{}}return null}var ae=Array.isArray,D=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,O=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,se={pending:!1,data:null,method:null,action:null},ce=[],k=-1;function A(e){return{current:e}}function j(e){0>k||(e.current=ce[k],ce[k]=null,k--)}function M(e,t){k++,ce[k]=e.current,e.current=t}var N=A(null),P=A(null),le=A(null),ue=A(null);function de(e,t){switch(M(le,t),M(P,e),M(N,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}j(N),M(N,e)}function fe(){j(N),j(P),j(le)}function pe(e){e.memoizedState!==null&&M(ue,e);var t=N.current,n=Hd(t,e.type);t!==n&&(M(P,e),M(N,n))}function me(e){P.current===e&&(j(N),j(P)),ue.current===e&&(j(ue),Qf._currentValue=se)}var he,ge;function _e(e){if(he===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);he=t&&t[1]||``,ge=-1<e.stack.indexOf(`
1
+ var e=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),t=Object.create,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.getPrototypeOf,o=Object.prototype.hasOwnProperty,s=(e,t)=>function(){return t||(0,e[i(e)[0]])((t={exports:{}}).exports,t),t.exports},c=(e,t,a,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!o.call(e,c)&&c!==a&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},l=(e,r,i)=>(i=e==null?{}:t(a(e)),c(r||!e||!e.__esModule?n(i,`default`,{value:e,enumerable:!0}):i,e)),u=s({"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/ucs2length.js"(e){Object.defineProperty(e,`__esModule`,{value:!0});function t(e){let t=e.length,n=0,r=0,i;for(;r<t;)n++,i=e.charCodeAt(r++),i>=55296&&i<=56319&&r<t&&(i=e.charCodeAt(r),(i&64512)==56320&&r++);return n}e.default=t,t.code=`require("ajv/dist/runtime/ucs2length").default`}}),d=s({"../../node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.20.0/node_modules/ajv-formats/dist/formats.js"(e){Object.defineProperty(e,`__esModule`,{value:!0}),e.formatNames=e.fastFormats=e.fullFormats=void 0;function t(e,t){return{validate:e,compare:t}}e.fullFormats={date:t(a,o),time:t(c(!0),l),"date-time":t(f(!0),p),"iso-time":t(c(),u),"iso-date-time":t(f(),m),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:_,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:ee,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:y,int32:{type:`number`,validate:S},int64:{type:`number`,validate:C},float:{type:`number`,validate:w},double:{type:`number`,validate:w},password:!0,binary:!0},e.fastFormats={...e.fullFormats,date:t(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,o),time:t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,l),"date-time":t(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,p),"iso-time":t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,u),"iso-date-time":t(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,m),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i},e.formatNames=Object.keys(e.fullFormats);function n(e){return e%4==0&&(e%100!=0||e%400==0)}var r=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,i=[0,31,28,31,30,31,30,31,31,30,31,30,31];function a(e){let t=r.exec(e);if(!t)return!1;let a=+t[1],o=+t[2],s=+t[3];return o>=1&&o<=12&&s>=1&&s<=(o===2&&n(a)?29:i[o])}function o(e,t){if(e&&t)return e>t?1:e<t?-1:0}var s=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function c(e){return function(t){let n=s.exec(t);if(!n)return!1;let r=+n[1],i=+n[2],a=+n[3],o=n[4],c=n[5]===`-`?-1:1,l=+(n[6]||0),u=+(n[7]||0);if(l>23||u>59||e&&!o)return!1;if(r<=23&&i<=59&&a<60)return!0;let d=i-u*c,f=r-l*c-+(d<0);return(f===23||f===-1)&&(d===59||d===-1)&&a<61}}function l(e,t){if(!(e&&t))return;let n=new Date(`2020-01-01T`+e).valueOf(),r=new Date(`2020-01-01T`+t).valueOf();if(n&&r)return n-r}function u(e,t){if(!(e&&t))return;let n=s.exec(e),r=s.exec(t);if(n&&r)return e=n[1]+n[2]+n[3],t=r[1]+r[2]+r[3],e>t?1:e<t?-1:0}var d=/t|\s/i;function f(e){let t=c(e);return function(e){let n=e.split(d);return n.length===2&&a(n[0])&&t(n[1])}}function p(e,t){if(!(e&&t))return;let n=new Date(e).valueOf(),r=new Date(t).valueOf();if(n&&r)return n-r}function m(e,t){if(!(e&&t))return;let[n,r]=e.split(d),[i,a]=t.split(d),s=o(n,i);if(s!==void 0)return s||l(r,a)}var h=/\/|:/,g=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function _(e){return h.test(e)&&g.test(e)}var v=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function y(e){return v.lastIndex=0,v.test(e)}var b=-(2**31),x=2**31-1;function S(e){return Number.isInteger(e)&&e<=x&&e>=b}function C(e){return Number.isInteger(e)}function w(){return!0}var T=/[^\\]\\Z/;function ee(e){if(T.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}}}),f=s({"../../node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js"(e,t){t.exports=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t==`object`&&typeof n==`object`){if(t.constructor!==n.constructor)return!1;var r,i,a;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(a=Object.keys(t),r=a.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,a[i]))return!1;for(i=r;i--!==0;){var o=a[i];if(!e(t[o],n[o]))return!1}return!0}return t!==t&&n!==n}}}),p=s({"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/equal.js"(e){Object.defineProperty(e,`__esModule`,{value:!0});var t=f();t.code=`require("ajv/dist/runtime/equal").default`,e.default=t}}),m=s({"src/generated/takuhon-validator.cjs"(e,t){t.exports=De,t.exports.default=De;var n={$schema:`https://json-schema.org/draft/2020-12/schema`,$id:`https://takuhon.example/schemas/1.3.0/takuhon.schema.json`,title:`Takuhon Profile`,description:`Portable profile data format consumed by @takuhon/core. The canonical contract for profile content authored as takuhon.json.`,type:`object`,additionalProperties:!1,required:[`schemaVersion`,`profile`,`contact`,`settings`,`meta`],properties:{schemaVersion:{type:`string`,pattern:`^[0-9]+\\.[0-9]+\\.[0-9]+(-[a-zA-Z0-9.-]+)?$`,description:`Semantic version of the takuhon schema this document conforms to.`},profile:{$ref:`#/$defs/Profile`},links:{type:`array`,maxItems:100,items:{$ref:`#/$defs/Link`}},careers:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Career`}},projects:{type:`array`,maxItems:100,items:{$ref:`#/$defs/Project`}},skills:{type:`array`,maxItems:200,items:{$ref:`#/$defs/Skill`}},certifications:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Certification`}},memberships:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Membership`}},volunteering:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Volunteering`}},honors:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Honor`}},education:{type:`array`,maxItems:30,items:{$ref:`#/$defs/Education`}},publications:{type:`array`,maxItems:100,items:{$ref:`#/$defs/Publication`}},languages:{type:`array`,maxItems:30,items:{$ref:`#/$defs/Language`}},courses:{type:`array`,maxItems:100,items:{$ref:`#/$defs/Course`}},patents:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Patent`}},testScores:{type:`array`,maxItems:30,items:{$ref:`#/$defs/TestScore`}},recommendations:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Recommendation`}},contact:{$ref:`#/$defs/Contact`},settings:{$ref:`#/$defs/Settings`},meta:{$ref:`#/$defs/Meta`}},$defs:{LocaleTag:{type:`string`,minLength:2,maxLength:35,pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`,description:`BCP-47 language tag (e.g., 'en', 'ja', 'zh-Hant', 'pt-BR').`},Iso3166Alpha2:{type:`string`,pattern:`^[A-Z]{2}$`,description:`ISO 3166-1 alpha-2 country code (uppercase, two letters).`},YearMonth:{type:`string`,pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`,description:`Year-month in 'YYYY-MM' format (Gregorian calendar).`},IsoDateTime:{type:`string`,format:`date-time`,description:`ISO 8601 date-time (e.g., 2026-05-11T12:34:56Z).`},Url:{type:`string`,format:`uri`,maxLength:2048},Email:{type:`string`,format:`email`,maxLength:254},Slug:{type:`string`,minLength:1,maxLength:64,pattern:`^[a-z0-9][a-z0-9-]*$`,description:`URL-safe identifier (lowercase alphanumerics and hyphens, must start with alphanumeric).`},Visibility:{type:`string`,enum:[`public`,`private`],description:`Per-item public visibility (added in 0.7.0). 'private' removes the item from every public surface via applyPublicPrivacyFilter; an absent value or 'public' keeps the item public.`},LocalizedTitle:{type:`object`,minProperties:1,propertyNames:{type:`string`,pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},additionalProperties:{type:`string`,minLength:1,maxLength:200,pattern:`\\S`},description:`Map of BCP-47 locale tag to short title-like string (max 200 chars per value). Each value must contain at least one non-whitespace character.`},LocalizedBody:{type:`object`,minProperties:1,propertyNames:{type:`string`,pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},additionalProperties:{type:`string`,minLength:1,maxLength:5e3,pattern:`\\S`},description:`Map of BCP-47 locale tag to body-length string (max 5000 chars per value). Each value must contain at least one non-whitespace character.`},LinkType:{type:`string`,enum:[`website`,`blog`,`github`,`gitlab`,`linkedin`,`x`,`mastodon`,`bluesky`,`instagram`,`youtube`,`threads`,`facebook`,`email`,`rss`,`custom`],description:`Identifies the kind of link. 'custom' requires iconUrl.`},Profile:{type:`object`,additionalProperties:!1,required:[`displayName`],properties:{displayName:{$ref:`#/$defs/LocalizedTitle`},tagline:{$ref:`#/$defs/LocalizedTitle`},bio:{$ref:`#/$defs/LocalizedBody`},avatar:{$ref:`#/$defs/Avatar`},location:{$ref:`#/$defs/Address`}}},Avatar:{type:`object`,additionalProperties:!1,required:[`url`],properties:{url:{type:`string`,format:`uri-reference`,maxLength:2048,description:`URL or path to the avatar image.`},alt:{$ref:`#/$defs/LocalizedTitle`}}},Address:{type:`object`,additionalProperties:!1,properties:{country:{$ref:`#/$defs/Iso3166Alpha2`},region:{type:`string`,maxLength:100},locality:{$ref:`#/$defs/LocalizedTitle`},display:{$ref:`#/$defs/LocalizedTitle`}}},Link:{type:`object`,additionalProperties:!1,required:[`id`,`type`,`url`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},type:{$ref:`#/$defs/LinkType`},label:{$ref:`#/$defs/LocalizedTitle`},url:{$ref:`#/$defs/Url`},featured:{type:`boolean`},order:{type:`integer`,minimum:0},iconUrl:{$ref:`#/$defs/Url`}},allOf:[{if:{properties:{type:{const:`custom`}},required:[`type`]},then:{properties:{iconUrl:{$ref:`#/$defs/Url`}},required:[`iconUrl`]}}]},Career:{type:`object`,additionalProperties:!1,required:[`id`,`organization`,`role`,`startDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},organization:{$ref:`#/$defs/LocalizedTitle`},role:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}]},isCurrent:{type:`boolean`},url:{$ref:`#/$defs/Url`},location:{$ref:`#/$defs/Address`},order:{type:`integer`,minimum:0}}},Project:{type:`object`,additionalProperties:!1,required:[`id`,`title`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},url:{$ref:`#/$defs/Url`},tags:{type:`array`,maxItems:30,items:{type:`string`,minLength:1,maxLength:50}},relatedCareerId:{$ref:`#/$defs/Slug`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}]},highlighted:{type:`boolean`},order:{type:`integer`,minimum:0}}},Skill:{type:`object`,additionalProperties:!1,required:[`id`,`label`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},label:{type:`string`,minLength:1,maxLength:100},category:{type:`string`,minLength:1,maxLength:64,description:`Recommended values (extensible): programming, design, business, communication, language, music, art, sports, other.`},order:{type:`integer`,minimum:0}}},SkillCategory:{type:`object`,additionalProperties:!1,required:[`id`,`label`],properties:{id:{type:`string`,minLength:1,maxLength:64,description:"Matches the `category` value on the skills that belong to this group."},label:{$ref:`#/$defs/LocalizedTitle`,description:`Localized display heading for the group.`}}},Contact:{type:`object`,additionalProperties:!1,properties:{email:{$ref:`#/$defs/Email`},showEmail:{type:`boolean`,default:!1},formUrl:{$ref:`#/$defs/Url`}}},Settings:{type:`object`,additionalProperties:!1,required:[`defaultLocale`,`availableLocales`],properties:{defaultLocale:{$ref:`#/$defs/LocaleTag`},fallbackLocale:{$ref:`#/$defs/LocaleTag`},availableLocales:{type:`array`,minItems:1,maxItems:50,uniqueItems:!0,items:{$ref:`#/$defs/LocaleTag`}},theme:{type:`string`,minLength:1,maxLength:64,description:`UI theme identifier. 'default' is the built-in theme; adapters may add more.`},showPoweredBy:{type:`boolean`,default:!0,description:`Display the 'Powered by takuhon' attribution in the rendered profile.`},enableJsonLd:{type:`boolean`,default:!0,description:`Emit Schema.org JSON-LD on the rendered profile page.`},enableApi:{type:`boolean`,default:!0,description:`Expose the public read API endpoints (GET /api/profile, /api/jsonld, /api/schema, /takuhon.json).`},enableAnalytics:{type:`boolean`,default:!1,description:`Opt-in flag for first-party analytics. Default is false to keep takuhon privacy-respecting by default.`},activity:{$ref:`#/$defs/ActivitySettings`},publicVisibility:{$ref:`#/$defs/PublicVisibility`},contact:{$ref:`#/$defs/ContactSettings`},appearance:{$ref:`#/$defs/AppearanceSettings`},skillCategories:{type:`array`,maxItems:50,items:{$ref:`#/$defs/SkillCategory`},description:"Ordered skill-category display groups (added in 1.3.0). When present, the rendered profile groups skills by their `category` under these localized headings, in array order; absent = the flat skill list. A skill whose `category` is not listed here (or which has none) renders in a trailing group so nothing is dropped."}}},AppearanceSettings:{type:`object`,additionalProperties:!1,description:`Opt-in design tokens for the rendered profile (added in 1.2.0). A declarative re-skin seam: owners override the standard renderer's built-in color and font defaults. This is a token map only, not arbitrary CSS — every value is length- and pattern-constrained so it cannot break out of the inline <style>. Overriding tokens re-skins the page but cannot re-layout it (spacing/radius/type-scale are intentionally not exposed). Absent = the built-in defaults are used unchanged.`,properties:{fontFamily:{type:`string`,minLength:1,maxLength:256,pattern:`^[A-Za-z0-9\\s,'"._-]+$`,description:`CSS font-family stack for the page body, e.g. "Inter, system-ui, sans-serif". Quotes and commas are allowed; CSS-structural characters (; { } < >) are not.`},colors:{$ref:`#/$defs/AppearanceColors`,description:`Light-mode (:root) color overrides.`},colorsDark:{$ref:`#/$defs/AppearanceColors`,description:`Dark-mode (prefers-color-scheme: dark) color overrides. Note: until the standard renderer ships a default dark palette, only the keys set here change in dark mode.`}}},AppearanceColors:{type:`object`,additionalProperties:!1,description:`A set of overridable color tokens. Each value is a CSS color (hex, rgb()/rgba(), hsl()/hsla(), or a named color); CSS-structural characters (; { } < > " ' \\) are disallowed so a value cannot escape the inline <style>.`,properties:{bg:{$ref:`#/$defs/CssColor`,description:`Page background.`},surface:{$ref:`#/$defs/CssColor`,description:`Raised surfaces such as skill/tag chips.`},text:{$ref:`#/$defs/CssColor`,description:`Primary body text.`},textMuted:{$ref:`#/$defs/CssColor`,description:`Secondary/muted text (taglines, meta, captions).`},border:{$ref:`#/$defs/CssColor`,description:`Hairline borders and rules.`},accent:{$ref:`#/$defs/CssColor`,description:`Accent color for emphasis and focus affordances.`},primary:{$ref:`#/$defs/CssColor`,description:`Primary interactive color, e.g. links.`},primaryContrast:{$ref:`#/$defs/CssColor`,description:`Foreground color used on top of the primary color.`}}},CssColor:{type:`string`,minLength:1,maxLength:64,pattern:`^(?:#[0-9A-Fa-f]{3,8}|[A-Za-z]+|(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\\([A-Za-z0-9.,%/\\s-]*\\))$`,description:`A CSS color value, restricted to a safe allowlist: a hex color (#rgb/#rgba/#rrggbb/#rrggbbaa), a bare keyword (named colors, currentColor, transparent), or a color function (rgb/rgba/hsl/hsla/hwb/lab/lch/oklab/oklch/color). url(), image-set(), var(), and other fetch- or reference-bearing functions are intentionally excluded so a value can never trigger an external request or escape the inline <style>.`},ContactSettings:{type:`object`,additionalProperties:!1,description:`Opt-in contact form configuration (added in 1.1.0). Only public values live here; the Turnstile site key is safe to embed in the page. The Turnstile secret, the recipient address, and the From label are provisioned out of band as environment configuration and are never stored in takuhon.json. Adapters that support the form mount the widget and a POST endpoint when 'enabled' is true.`,properties:{enabled:{type:`boolean`,default:!1,description:`Master switch. When false (the default), no contact form is mounted even if a site key is present.`},turnstileSiteKey:{type:`string`,minLength:1,maxLength:128,description:`Public Cloudflare Turnstile site key, safe to embed in the page. Without it the widget is not mounted.`},endpoint:{type:`string`,minLength:1,maxLength:2048,description:`Override the POST endpoint the widget submits to. Defaults to /api/contact on the same origin.`},subjectPrefix:{type:`string`,minLength:1,maxLength:128,description:`Subject prefix for the delivered email, e.g. '[example.com contact]'.`}}},PublicVisibility:{type:`object`,additionalProperties:!1,description:`Per-section public visibility (added in 0.6.0). Each key is a content section; setting it to false hides that whole section from every public surface (GET /, /api/profile, /api/jsonld, /takuhon.json, MCP, and the derived CV) via the shared applyPublicPrivacyFilter. An absent key — or an absent object — means the section is public, so the default is all-visible and omitting this block is fully backwards-compatible. The profile identity (profile.displayName, …) is always public and is intentionally not a key here. Field-level controls (contact.showEmail, meta.privacy.*) still apply within a visible section: visibility is the AND of the feature toggle, this section flag, and the field flag.`,properties:{links:{type:`boolean`,description:`Default true. When false, links[] is emitted empty on public surfaces.`},careers:{type:`boolean`,description:`Default true. When false, careers[] is emitted empty on public surfaces.`},projects:{type:`boolean`,description:`Default true. When false, projects[] is emitted empty on public surfaces.`},skills:{type:`boolean`,description:`Default true. When false, skills[] is emitted empty on public surfaces.`},certifications:{type:`boolean`,description:`Default true. When false, certifications[] is emitted empty on public surfaces.`},memberships:{type:`boolean`,description:`Default true. When false, memberships[] is emitted empty on public surfaces.`},volunteering:{type:`boolean`,description:`Default true. When false, volunteering[] is emitted empty on public surfaces.`},honors:{type:`boolean`,description:`Default true. When false, honors[] is emitted empty on public surfaces.`},education:{type:`boolean`,description:`Default true. When false, education[] is emitted empty on public surfaces.`},publications:{type:`boolean`,description:`Default true. When false, publications[] is emitted empty on public surfaces.`},languages:{type:`boolean`,description:`Default true. When false, languages[] is emitted empty on public surfaces.`},courses:{type:`boolean`,description:`Default true. When false, courses[] is emitted empty on public surfaces.`},patents:{type:`boolean`,description:`Default true. When false, patents[] is emitted empty on public surfaces.`},testScores:{type:`boolean`,description:`Default true. When false, testScores[] is emitted empty on public surfaces.`},recommendations:{type:`boolean`,description:`Default true. When false, recommendations[] is emitted empty on public surfaces.`},contact:{type:`boolean`,description:`Default true. When false, the contact section (email, formUrl) is emitted empty on public surfaces.`}}},ActivitySettings:{type:`object`,additionalProperties:!1,description:`Opt-in developer-activity dashboard configuration (GitHub / WakaTime). Only the owner-curated settings live here; secrets are provisioned out of band and the synced metrics are stored in a separate document, never in takuhon.json.`,properties:{enabled:{type:`boolean`,default:!1,description:`Master switch. When false (the default), the activity section is not rendered even if a snapshot exists.`},github:{type:`object`,additionalProperties:!1,required:[`username`],properties:{username:{type:`string`,minLength:1,maxLength:39,description:`GitHub login whose public activity is summarized.`},showLanguages:{type:`boolean`,default:!0},showContributions:{type:`boolean`,default:!0}}},wakatime:{type:`object`,additionalProperties:!1,required:[`username`],properties:{username:{type:`string`,minLength:1,maxLength:255,description:`WakaTime username whose coding-time stats are summarized.`},showCodingTime:{type:`boolean`,default:!0}}},showRank:{type:`boolean`,default:!0,description:`Display the derived activity rank / badge.`},refreshHintHours:{type:`integer`,minimum:1,maximum:168,description:`Advisory refresh cadence in hours. The real cadence is how often the sync step (CLI command or scheduled job) runs.`}}},Meta:{type:`object`,additionalProperties:!1,required:[`contentLicense`],properties:{createdAt:{$ref:`#/$defs/IsoDateTime`},updatedAt:{$ref:`#/$defs/IsoDateTime`},generator:{type:`string`,minLength:1,maxLength:100,description:`Tool that produced this document (e.g. 'Takuhon', 'create-takuhon@0.1.0').`},contentLicense:{$ref:`#/$defs/ContentLicense`},privacy:{$ref:`#/$defs/MetaPrivacy`}}},ContentLicense:{type:`object`,additionalProperties:!1,required:[`spdxId`],properties:{spdxId:{type:`string`,minLength:1,maxLength:64,description:`SPDX identifier (e.g., 'CC-BY-4.0', 'CC0-1.0') or 'Proprietary'. No default; the profile owner must choose explicitly.`},url:{$ref:`#/$defs/Url`},attribution:{type:`object`,additionalProperties:!1,properties:{name:{type:`string`,minLength:1,maxLength:200},url:{$ref:`#/$defs/Url`}}},rights:{type:`string`,minLength:1,maxLength:1e3,description:`Free-form rights statement (used when spdxId='Proprietary' or for additional notices).`}}},MetaPrivacy:{type:`object`,additionalProperties:!1,description:`Opt-out flags that strip personally identifying fields from public API output (GET /api/profile, /api/jsonld, /takuhon.json). Admin endpoints (PUT /api/admin/*, GET /api/admin/export) ignore these flags. Privacy-by-default: omitting the object or individual flags is equivalent to true.`,properties:{hideCredentialIds:{type:`boolean`,default:!0,description:`When true (default), strip certifications[*].credentialId from public responses.`},hideEducationGrades:{type:`boolean`,default:!0,description:`When true (default), strip education[*].grade from public responses.`}}},Certification:{type:`object`,additionalProperties:!1,required:[`id`,`title`,`issuingOrganization`,`issueDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},issuingOrganization:{$ref:`#/$defs/LocalizedTitle`},issueDate:{$ref:`#/$defs/YearMonth`},expirationDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}],description:`null = explicitly 'no expiration'. Omit if unknown/unstated.`},credentialId:{type:`string`,minLength:1,maxLength:100,description:`License or certificate number. Public exposure controlled by meta.privacy.hideCredentialIds.`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}},Membership:{type:`object`,additionalProperties:!1,required:[`id`,`organization`,`startDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},organization:{$ref:`#/$defs/LocalizedTitle`},role:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}],description:`null = ongoing. Omit if unknown.`},isCurrent:{type:`boolean`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}},Volunteering:{type:`object`,additionalProperties:!1,required:[`id`,`organization`,`role`,`startDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},organization:{$ref:`#/$defs/LocalizedTitle`},role:{$ref:`#/$defs/LocalizedTitle`},cause:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}]},isCurrent:{type:`boolean`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}},Honor:{type:`object`,additionalProperties:!1,required:[`id`,`title`,`issuer`,`date`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},issuer:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},date:{$ref:`#/$defs/YearMonth`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}},Education:{type:`object`,additionalProperties:!1,required:[`id`,`institution`,`startDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},institution:{$ref:`#/$defs/LocalizedTitle`},degree:{$ref:`#/$defs/LocalizedTitle`},fieldOfStudy:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},grade:{type:`string`,minLength:1,maxLength:50,description:`Free-form grade / class / GPA. Public exposure controlled by meta.privacy.hideEducationGrades.`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}],description:`null = currently enrolled.`},isCurrent:{type:`boolean`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}},Publication:{type:`object`,additionalProperties:!1,required:[`id`,`title`,`date`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},publisher:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},date:{$ref:`#/$defs/YearMonth`},url:{$ref:`#/$defs/Url`},doi:{type:`string`,minLength:1,maxLength:200,description:`DOI identifier (e.g. '10.1145/3548643.3548644'). The full URL goes in 'url'.`},coAuthors:{type:`array`,maxItems:50,items:{type:`string`,minLength:1,maxLength:100},description:`Co-author names in original script. Excludes the profile owner.`},order:{type:`integer`,minimum:0}}},Language:{type:`object`,additionalProperties:!1,required:[`id`,`language`,`proficiency`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},language:{$ref:`#/$defs/LocaleTag`},displayName:{$ref:`#/$defs/LocalizedTitle`},proficiency:{type:`string`,enum:[`native`,`fluent`,`professional`,`intermediate`,`basic`],description:`LinkedIn-compatible 5-level proficiency.`},order:{type:`integer`,minimum:0}}},Course:{type:`object`,additionalProperties:!1,required:[`id`,`title`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},provider:{$ref:`#/$defs/LocalizedTitle`},courseNumber:{type:`string`,minLength:1,maxLength:50},description:{$ref:`#/$defs/LocalizedBody`},completionDate:{$ref:`#/$defs/YearMonth`},certificateUrl:{$ref:`#/$defs/Url`},relatedEducationId:{$ref:`#/$defs/Slug`,description:`Optional reference to an education[].id (e.g. for university coursework).`},order:{type:`integer`,minimum:0}}},Patent:{type:`object`,additionalProperties:!1,required:[`id`,`title`,`patentNumber`,`status`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},patentNumber:{type:`string`,minLength:1,maxLength:100},office:{type:`string`,maxLength:100,description:`Patent office name (e.g. 'USPTO', 'JPO', 'EPO').`},status:{type:`string`,enum:[`pending`,`issued`,`expired`,`abandoned`]},description:{$ref:`#/$defs/LocalizedBody`},filingDate:{$ref:`#/$defs/YearMonth`},grantDate:{$ref:`#/$defs/YearMonth`},url:{$ref:`#/$defs/Url`},coInventors:{type:`array`,maxItems:20,items:{type:`string`,minLength:1,maxLength:100}},order:{type:`integer`,minimum:0}}},TestScore:{type:`object`,additionalProperties:!1,required:[`id`,`title`,`score`,`date`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},score:{type:`string`,minLength:1,maxLength:50,description:`Free-form score string (e.g. '112 / 120', '330', 'N1 Pass', or a percentile). The validator does not interpret its contents.`},date:{$ref:`#/$defs/YearMonth`},relatedEducationId:{$ref:`#/$defs/Slug`,description:`Optional reference to an education[].id (e.g. for a university course exam).`},description:{$ref:`#/$defs/LocalizedBody`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}},Recommendation:{type:`object`,additionalProperties:!1,required:[`id`,`body`,`author`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},body:{$ref:`#/$defs/LocalizedBody`},author:{$ref:`#/$defs/RecommendationAuthor`},relationship:{$ref:`#/$defs/LocalizedTitle`,description:`How the recommender relates to the profile owner (e.g. 'managed directly', 'worked together').`},date:{$ref:`#/$defs/YearMonth`},relatedCareerId:{$ref:`#/$defs/Slug`,description:`Optional reference to a careers[].id (the position the recommendation pertains to).`},relatedEducationId:{$ref:`#/$defs/Slug`,description:`Optional reference to an education[].id (e.g. a recommendation from a professor).`},order:{type:`integer`,minimum:0}}},RecommendationAuthor:{type:`object`,additionalProperties:!1,required:[`name`],properties:{name:{type:`string`,minLength:1,maxLength:100,description:`Recommender's name, in its original script. Owner-curated; takuhon does not verify it.`},headline:{$ref:`#/$defs/LocalizedTitle`,description:`Recommender's title / role / organization at the time of the recommendation.`},url:{$ref:`#/$defs/Url`,description:`Link to the recommender's profile, for external verification by the reader.`}}}}},r=Object.prototype.hasOwnProperty,i=RegExp(`^[0-9]+\\.[0-9]+\\.[0-9]+(-[a-zA-Z0-9.-]+)?$`,`u`),a=RegExp(`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`,`u`),o=RegExp(`\\S`,`u`),s=u().default,c=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function l(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:u={}}={}){let d=null,f=0,p=l.evaluated;if(p.dynamicProps&&(p.props=void 0),p.dynamicItems&&(p.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.url===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`url`},message:`must have required property 'url'`};d===null?d=[e]:d.push(e),f++}for(let n in e)if(!(n===`url`||n===`alt`)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};d===null?d=[e]:d.push(e),f++}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/properties/url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};d===null?d=[e]:d.push(e),f++}if(!c.test(n)){let e={instancePath:t+`/url`,schemaPath:`#/properties/url/format`,keyword:`format`,params:{format:`uri-reference`},message:`must match format "uri-reference"`};d===null?d=[e]:d.push(e),f++}}else{let e={instancePath:t+`/url`,schemaPath:`#/properties/url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};d===null?d=[e]:d.push(e),f++}}if(e.alt!==void 0){let n=e.alt;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/alt`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};d===null?d=[e]:d.push(e),f++}for(let e in n){let n=f;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/alt`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};d===null?d=[n]:d.push(n),f++}}else{let n={instancePath:t+`/alt`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};d===null?d=[n]:d.push(n),f++}if(n!==f){let n={instancePath:t+`/alt`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};d===null?d=[n]:d.push(n),f++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/alt/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};d===null?d=[n]:d.push(n),f++}if(s(r)<1){let n={instancePath:t+`/alt/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};d===null?d=[n]:d.push(n),f++}if(!o.test(r)){let n={instancePath:t+`/alt/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};d===null?d=[n]:d.push(n),f++}}else{let n={instancePath:t+`/alt/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};d===null?d=[n]:d.push(n),f++}}}else{let e={instancePath:t+`/alt`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};d===null?d=[e]:d.push(e),f++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};d===null?d=[e]:d.push(e),f++}return l.errors=d,f===0}l.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var f=RegExp(`^[A-Z]{2}$`,`u`);function m(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:c={}}={}){let l=null,u=0,d=m.evaluated;if(d.dynamicProps&&(d.props=void 0),d.dynamicItems&&(d.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){for(let n in e)if(!(n===`country`||n===`region`||n===`locality`||n===`display`)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};l===null?l=[e]:l.push(e),u++}if(e.country!==void 0){let n=e.country;if(typeof n==`string`){if(!f.test(n)){let e={instancePath:t+`/country`,schemaPath:`#/$defs/Iso3166Alpha2/pattern`,keyword:`pattern`,params:{pattern:`^[A-Z]{2}$`},message:`must match pattern "^[A-Z]{2}$"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/country`,schemaPath:`#/$defs/Iso3166Alpha2/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.region!==void 0){let n=e.region;if(typeof n==`string`){if(s(n)>100){let e={instancePath:t+`/region`,schemaPath:`#/properties/region/maxLength`,keyword:`maxLength`,params:{limit:100},message:`must NOT have more than 100 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/region`,schemaPath:`#/properties/region/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.locality!==void 0){let n=e.locality;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/locality`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};l===null?l=[e]:l.push(e),u++}for(let e in n){let n=u;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/locality`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/locality`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};l===null?l=[n]:l.push(n),u++}if(n!==u){let n={instancePath:t+`/locality`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};l===null?l=[n]:l.push(n),u++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/locality/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[n]:l.push(n),u++}if(s(r)<1){let n={instancePath:t+`/locality/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[n]:l.push(n),u++}if(!o.test(r)){let n={instancePath:t+`/locality/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/locality/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[n]:l.push(n),u++}}}else{let e={instancePath:t+`/locality`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.display!==void 0){let n=e.display;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/display`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};l===null?l=[e]:l.push(e),u++}for(let e in n){let n=u;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/display`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/display`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};l===null?l=[n]:l.push(n),u++}if(n!==u){let n={instancePath:t+`/display`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};l===null?l=[n]:l.push(n),u++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/display/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[n]:l.push(n),u++}if(s(r)<1){let n={instancePath:t+`/display/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[n]:l.push(n),u++}if(!o.test(r)){let n={instancePath:t+`/display/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/display/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[n]:l.push(n),u++}}}else{let e={instancePath:t+`/display`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}return m.errors=l,u===0}m.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};function h(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:c={}}={}){let u=null,d=0,f=h.evaluated;if(f.dynamicProps&&(f.props=void 0),f.dynamicItems&&(f.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.displayName===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`displayName`},message:`must have required property 'displayName'`};u===null?u=[e]:u.push(e),d++}for(let n in e)if(!(n===`displayName`||n===`tagline`||n===`bio`||n===`avatar`||n===`location`)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};u===null?u=[e]:u.push(e),d++}if(e.displayName!==void 0){let n=e.displayName;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/displayName`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/displayName`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/displayName`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/displayName`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/displayName/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/displayName/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/displayName/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/displayName/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/displayName`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.tagline!==void 0){let n=e.tagline;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/tagline`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/tagline`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/tagline`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/tagline`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/tagline/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/tagline/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/tagline/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/tagline/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/tagline`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.bio!==void 0){let n=e.bio;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/bio`,schemaPath:`#/$defs/LocalizedBody/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/bio`,schemaPath:`#/$defs/LocalizedBody/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/bio`,schemaPath:`#/$defs/LocalizedBody/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/bio`,schemaPath:`#/$defs/LocalizedBody/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>5e3){let n={instancePath:t+`/bio/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:5e3},message:`must NOT have more than 5000 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/bio/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/bio/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/bio/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/bio`,schemaPath:`#/$defs/LocalizedBody/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}e.avatar!==void 0&&(l(e.avatar,{instancePath:t+`/avatar`,parentData:e,parentDataProperty:`avatar`,rootData:i,dynamicAnchors:c})||(u=u===null?l.errors:u.concat(l.errors),d=u.length)),e.location!==void 0&&(m(e.location,{instancePath:t+`/location`,parentData:e,parentDataProperty:`location`,rootData:i,dynamicAnchors:c})||(u=u===null?m.errors:u.concat(m.errors),d=u.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}return h.errors=u,d===0}h.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var g={type:`string`,enum:[`public`,`private`],description:`Per-item public visibility (added in 0.7.0). 'private' removes the item from every public surface via applyPublicPrivacyFilter; an absent value or 'public' keeps the item public.`},_={type:`string`,enum:[`website`,`blog`,`github`,`gitlab`,`linkedin`,`x`,`mastodon`,`bluesky`,`instagram`,`youtube`,`threads`,`facebook`,`email`,`rss`,`custom`],description:`Identifies the kind of link. 'custom' requires iconUrl.`},v=d().fullFormats.uri,y=RegExp(`^[a-z0-9][a-z0-9-]*$`,`u`);function b(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:c={}}={}){let l=null,u=0,d=b.evaluated;d.dynamicProps&&(d.props=void 0),d.dynamicItems&&(d.items=void 0);let f=u,p=!0,m=u;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.type===void 0){let e={};l===null?l=[e]:l.push(e),u++}else if(e.type!==void 0&&e.type!==`custom`){let e={};l===null?l=[e]:l.push(e),u++}}var h=m===u;if(u=f,l!==null&&(f?l.length=f:l=null),h){let n=u;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.iconUrl===void 0){let e={instancePath:t,schemaPath:`#/allOf/0/then/required`,keyword:`required`,params:{missingProperty:`iconUrl`},message:`must have required property 'iconUrl'`};l===null?l=[e]:l.push(e),u++}if(e.iconUrl!==void 0){let n=e.iconUrl;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/iconUrl`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};l===null?l=[e]:l.push(e),u++}if(!v(n)){let e={instancePath:t+`/iconUrl`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/iconUrl`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}}var h=n===u;if(p=h,p){var x={};x.iconUrl=!0,x.type=!0}}if(!p){let e={instancePath:t,schemaPath:`#/allOf/0/if`,keyword:`if`,params:{failingKeyword:`then`},message:`must match "then" schema`};l===null?l=[e]:l.push(e),u++}if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};l===null?l=[e]:l.push(e),u++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};l===null?l=[e]:l.push(e),u++}if(e.url===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`url`},message:`must have required property 'url'`};l===null?l=[e]:l.push(e),u++}for(let n in e)if(!(n===`id`||n===`visibility`||n===`type`||n===`label`||n===`url`||n===`featured`||n===`order`||n===`iconUrl`)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};l===null?l=[e]:l.push(e),u++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};l===null?l=[e]:l.push(e),u++}}if(e.type!==void 0){let n=e.type;if(typeof n!=`string`){let e={instancePath:t+`/type`,schemaPath:`#/$defs/LinkType/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}if(!(n===`website`||n===`blog`||n===`github`||n===`gitlab`||n===`linkedin`||n===`x`||n===`mastodon`||n===`bluesky`||n===`instagram`||n===`youtube`||n===`threads`||n===`facebook`||n===`email`||n===`rss`||n===`custom`)){let e={instancePath:t+`/type`,schemaPath:`#/$defs/LinkType/enum`,keyword:`enum`,params:{allowedValues:_.enum},message:`must be equal to one of the allowed values`};l===null?l=[e]:l.push(e),u++}}if(e.label!==void 0){let n=e.label;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};l===null?l=[e]:l.push(e),u++}for(let e in n){let n=u;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/label`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/label`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};l===null?l=[n]:l.push(n),u++}if(n!==u){let n={instancePath:t+`/label`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};l===null?l=[n]:l.push(n),u++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/label/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[n]:l.push(n),u++}if(s(r)<1){let n={instancePath:t+`/label/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[n]:l.push(n),u++}if(!o.test(r)){let n={instancePath:t+`/label/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/label/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[n]:l.push(n),u++}}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};l===null?l=[e]:l.push(e),u++}if(!v(n)){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.featured!==void 0&&typeof e.featured!=`boolean`){let e={instancePath:t+`/featured`,schemaPath:`#/properties/featured/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};l===null?l=[e]:l.push(e),u++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};l===null?l=[e]:l.push(e),u++}}if(e.iconUrl!==void 0){let n=e.iconUrl;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/iconUrl`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};l===null?l=[e]:l.push(e),u++}if(!v(n)){let e={instancePath:t+`/iconUrl`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/iconUrl`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}return b.errors=l,u===0}b.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var x={type:`object`,additionalProperties:!1,required:[`id`,`organization`,`role`,`startDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},organization:{$ref:`#/$defs/LocalizedTitle`},role:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}]},isCurrent:{type:`boolean`},url:{$ref:`#/$defs/Url`},location:{$ref:`#/$defs/Address`},order:{type:`integer`,minimum:0}}},S=RegExp(`^[0-9]{4}-(0[1-9]|1[0-2])$`,`u`);function C(e,{instancePath:t=``,parentData:n,parentDataProperty:i,rootData:c=e,dynamicAnchors:l={}}={}){let u=null,d=0,f=C.evaluated;if(f.dynamicProps&&(f.props=void 0),f.dynamicItems&&(f.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};u===null?u=[e]:u.push(e),d++}if(e.organization===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`organization`},message:`must have required property 'organization'`};u===null?u=[e]:u.push(e),d++}if(e.role===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`role`},message:`must have required property 'role'`};u===null?u=[e]:u.push(e),d++}if(e.startDate===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`startDate`},message:`must have required property 'startDate'`};u===null?u=[e]:u.push(e),d++}for(let n in e)if(!r.call(x.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};u===null?u=[e]:u.push(e),d++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};u===null?u=[e]:u.push(e),d++}}if(e.organization!==void 0){let n=e.organization;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/organization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/organization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/organization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/organization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.role!==void 0){let n=e.role;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/role/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/role/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/role/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/role/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.description!==void 0){let n=e.description;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>5e3){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:5e3},message:`must NOT have more than 5000 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.startDate!==void 0){let n=e.startDate;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/startDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/startDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.endDate!==void 0){let n=e.endDate,r=d,i=!1,a=d;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/endDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/endDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}var p=a===d;i||=p;let o=d;if(n!==null){let e={instancePath:t+`/endDate`,schemaPath:`#/properties/endDate/anyOf/1/type`,keyword:`type`,params:{type:`null`},message:`must be null`};u===null?u=[e]:u.push(e),d++}var p=o===d;if(i||=p,i)d=r,u!==null&&(r?u.length=r:u=null);else{let e={instancePath:t+`/endDate`,schemaPath:`#/properties/endDate/anyOf`,keyword:`anyOf`,params:{},message:`must match a schema in anyOf`};u===null?u=[e]:u.push(e),d++}}if(e.isCurrent!==void 0&&typeof e.isCurrent!=`boolean`){let e={instancePath:t+`/isCurrent`,schemaPath:`#/properties/isCurrent/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};u===null?u=[e]:u.push(e),d++}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};u===null?u=[e]:u.push(e),d++}if(!v(n)){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.location!==void 0&&(m(e.location,{instancePath:t+`/location`,parentData:e,parentDataProperty:`location`,rootData:c,dynamicAnchors:l})||(u=u===null?m.errors:u.concat(m.errors),d=u.length)),e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};u===null?u=[e]:u.push(e),d++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}return C.errors=u,d===0}C.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var w={type:`object`,additionalProperties:!1,required:[`id`,`title`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},url:{$ref:`#/$defs/Url`},tags:{type:`array`,maxItems:30,items:{type:`string`,minLength:1,maxLength:50}},relatedCareerId:{$ref:`#/$defs/Slug`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}]},highlighted:{type:`boolean`},order:{type:`integer`,minimum:0}}};function T(e,{instancePath:t=``,parentData:n,parentDataProperty:i,rootData:c=e,dynamicAnchors:l={}}={}){let u=null,d=0,f=T.evaluated;if(f.dynamicProps&&(f.props=void 0),f.dynamicItems&&(f.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};u===null?u=[e]:u.push(e),d++}if(e.title===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`title`},message:`must have required property 'title'`};u===null?u=[e]:u.push(e),d++}for(let n in e)if(!r.call(w.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};u===null?u=[e]:u.push(e),d++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};u===null?u=[e]:u.push(e),d++}}if(e.title!==void 0){let n=e.title;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.description!==void 0){let n=e.description;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>5e3){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:5e3},message:`must NOT have more than 5000 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};u===null?u=[e]:u.push(e),d++}if(!v(n)){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.tags!==void 0){let n=e.tags;if(Array.isArray(n)){if(n.length>30){let e={instancePath:t+`/tags`,schemaPath:`#/properties/tags/maxItems`,keyword:`maxItems`,params:{limit:30},message:`must NOT have more than 30 items`};u===null?u=[e]:u.push(e),d++}let e=n.length;for(let r=0;r<e;r++){let e=n[r];if(typeof e==`string`){if(s(e)>50){let e={instancePath:t+`/tags/`+r,schemaPath:`#/properties/tags/items/maxLength`,keyword:`maxLength`,params:{limit:50},message:`must NOT have more than 50 characters`};u===null?u=[e]:u.push(e),d++}if(s(e)<1){let e={instancePath:t+`/tags/`+r,schemaPath:`#/properties/tags/items/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/tags/`+r,schemaPath:`#/properties/tags/items/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t+`/tags`,schemaPath:`#/properties/tags/type`,keyword:`type`,params:{type:`array`},message:`must be array`};u===null?u=[e]:u.push(e),d++}}if(e.relatedCareerId!==void 0){let n=e.relatedCareerId;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/relatedCareerId`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/relatedCareerId`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/relatedCareerId`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/relatedCareerId`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.startDate!==void 0){let n=e.startDate;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/startDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/startDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.endDate!==void 0){let n=e.endDate,r=d,i=!1,a=d;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/endDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/endDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}var p=a===d;i||=p;let o=d;if(n!==null){let e={instancePath:t+`/endDate`,schemaPath:`#/properties/endDate/anyOf/1/type`,keyword:`type`,params:{type:`null`},message:`must be null`};u===null?u=[e]:u.push(e),d++}var p=o===d;if(i||=p,i)d=r,u!==null&&(r?u.length=r:u=null);else{let e={instancePath:t+`/endDate`,schemaPath:`#/properties/endDate/anyOf`,keyword:`anyOf`,params:{},message:`must match a schema in anyOf`};u===null?u=[e]:u.push(e),d++}}if(e.highlighted!==void 0&&typeof e.highlighted!=`boolean`){let e={instancePath:t+`/highlighted`,schemaPath:`#/properties/highlighted/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};u===null?u=[e]:u.push(e),d++}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};u===null?u=[e]:u.push(e),d++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}return T.errors=u,d===0}T.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};function ee(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:a={}}={}){let o=null,c=0,l=ee.evaluated;if(l.dynamicProps&&(l.props=void 0),l.dynamicItems&&(l.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};o===null?o=[e]:o.push(e),c++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};o===null?o=[e]:o.push(e),c++}for(let n in e)if(!(n===`id`||n===`visibility`||n===`label`||n===`category`||n===`order`)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};o===null?o=[e]:o.push(e),c++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};o===null?o=[e]:o.push(e),c++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};o===null?o=[e]:o.push(e),c++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};o===null?o=[e]:o.push(e),c++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>100){let e={instancePath:t+`/label`,schemaPath:`#/properties/label/maxLength`,keyword:`maxLength`,params:{limit:100},message:`must NOT have more than 100 characters`};o===null?o=[e]:o.push(e),c++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/properties/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/label`,schemaPath:`#/properties/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(e.category!==void 0){let n=e.category;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/category`,schemaPath:`#/properties/category/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};o===null?o=[e]:o.push(e),c++}if(s(n)<1){let e={instancePath:t+`/category`,schemaPath:`#/properties/category/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/category`,schemaPath:`#/properties/category/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};o===null?o=[e]:o.push(e),c++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};o===null?o=[e]:o.push(e),c++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};o===null?o=[e]:o.push(e),c++}return ee.errors=o,c===0}ee.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var te={type:`object`,additionalProperties:!1,required:[`id`,`title`,`issuingOrganization`,`issueDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},issuingOrganization:{$ref:`#/$defs/LocalizedTitle`},issueDate:{$ref:`#/$defs/YearMonth`},expirationDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}],description:`null = explicitly 'no expiration'. Omit if unknown/unstated.`},credentialId:{type:`string`,minLength:1,maxLength:100,description:`License or certificate number. Public exposure controlled by meta.privacy.hideCredentialIds.`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}};function E(e,{instancePath:t=``,parentData:n,parentDataProperty:i,rootData:c=e,dynamicAnchors:l={}}={}){let u=null,d=0,f=E.evaluated;if(f.dynamicProps&&(f.props=void 0),f.dynamicItems&&(f.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};u===null?u=[e]:u.push(e),d++}if(e.title===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`title`},message:`must have required property 'title'`};u===null?u=[e]:u.push(e),d++}if(e.issuingOrganization===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`issuingOrganization`},message:`must have required property 'issuingOrganization'`};u===null?u=[e]:u.push(e),d++}if(e.issueDate===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`issueDate`},message:`must have required property 'issueDate'`};u===null?u=[e]:u.push(e),d++}for(let n in e)if(!r.call(te.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};u===null?u=[e]:u.push(e),d++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};u===null?u=[e]:u.push(e),d++}}if(e.title!==void 0){let n=e.title;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.issuingOrganization!==void 0){let n=e.issuingOrganization;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/issuingOrganization`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/issuingOrganization`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/issuingOrganization`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/issuingOrganization`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/issuingOrganization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/issuingOrganization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/issuingOrganization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/issuingOrganization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/issuingOrganization`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.issueDate!==void 0){let n=e.issueDate;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/issueDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/issueDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.expirationDate!==void 0){let n=e.expirationDate,r=d,i=!1,a=d;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/expirationDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/expirationDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}var p=a===d;i||=p;let o=d;if(n!==null){let e={instancePath:t+`/expirationDate`,schemaPath:`#/properties/expirationDate/anyOf/1/type`,keyword:`type`,params:{type:`null`},message:`must be null`};u===null?u=[e]:u.push(e),d++}var p=o===d;if(i||=p,i)d=r,u!==null&&(r?u.length=r:u=null);else{let e={instancePath:t+`/expirationDate`,schemaPath:`#/properties/expirationDate/anyOf`,keyword:`anyOf`,params:{},message:`must match a schema in anyOf`};u===null?u=[e]:u.push(e),d++}}if(e.credentialId!==void 0){let n=e.credentialId;if(typeof n==`string`){if(s(n)>100){let e={instancePath:t+`/credentialId`,schemaPath:`#/properties/credentialId/maxLength`,keyword:`maxLength`,params:{limit:100},message:`must NOT have more than 100 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/credentialId`,schemaPath:`#/properties/credentialId/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/credentialId`,schemaPath:`#/properties/credentialId/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};u===null?u=[e]:u.push(e),d++}if(!v(n)){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};u===null?u=[e]:u.push(e),d++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}return E.errors=u,d===0}E.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var ne={type:`object`,additionalProperties:!1,required:[`id`,`organization`,`startDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},organization:{$ref:`#/$defs/LocalizedTitle`},role:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}],description:`null = ongoing. Omit if unknown.`},isCurrent:{type:`boolean`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}};function re(e,{instancePath:t=``,parentData:n,parentDataProperty:i,rootData:c=e,dynamicAnchors:l={}}={}){let u=null,d=0,f=re.evaluated;if(f.dynamicProps&&(f.props=void 0),f.dynamicItems&&(f.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};u===null?u=[e]:u.push(e),d++}if(e.organization===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`organization`},message:`must have required property 'organization'`};u===null?u=[e]:u.push(e),d++}if(e.startDate===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`startDate`},message:`must have required property 'startDate'`};u===null?u=[e]:u.push(e),d++}for(let n in e)if(!r.call(ne.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};u===null?u=[e]:u.push(e),d++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};u===null?u=[e]:u.push(e),d++}}if(e.organization!==void 0){let n=e.organization;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/organization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/organization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/organization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/organization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.role!==void 0){let n=e.role;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/role/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/role/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/role/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/role/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.description!==void 0){let n=e.description;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>5e3){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:5e3},message:`must NOT have more than 5000 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.startDate!==void 0){let n=e.startDate;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/startDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/startDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.endDate!==void 0){let n=e.endDate,r=d,i=!1,a=d;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/endDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/endDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}var p=a===d;i||=p;let o=d;if(n!==null){let e={instancePath:t+`/endDate`,schemaPath:`#/properties/endDate/anyOf/1/type`,keyword:`type`,params:{type:`null`},message:`must be null`};u===null?u=[e]:u.push(e),d++}var p=o===d;if(i||=p,i)d=r,u!==null&&(r?u.length=r:u=null);else{let e={instancePath:t+`/endDate`,schemaPath:`#/properties/endDate/anyOf`,keyword:`anyOf`,params:{},message:`must match a schema in anyOf`};u===null?u=[e]:u.push(e),d++}}if(e.isCurrent!==void 0&&typeof e.isCurrent!=`boolean`){let e={instancePath:t+`/isCurrent`,schemaPath:`#/properties/isCurrent/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};u===null?u=[e]:u.push(e),d++}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};u===null?u=[e]:u.push(e),d++}if(!v(n)){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};u===null?u=[e]:u.push(e),d++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}return re.errors=u,d===0}re.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var ie={type:`object`,additionalProperties:!1,required:[`id`,`organization`,`role`,`startDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},organization:{$ref:`#/$defs/LocalizedTitle`},role:{$ref:`#/$defs/LocalizedTitle`},cause:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}]},isCurrent:{type:`boolean`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}};function ae(e,{instancePath:t=``,parentData:n,parentDataProperty:i,rootData:c=e,dynamicAnchors:l={}}={}){let u=null,d=0,f=ae.evaluated;if(f.dynamicProps&&(f.props=void 0),f.dynamicItems&&(f.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};u===null?u=[e]:u.push(e),d++}if(e.organization===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`organization`},message:`must have required property 'organization'`};u===null?u=[e]:u.push(e),d++}if(e.role===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`role`},message:`must have required property 'role'`};u===null?u=[e]:u.push(e),d++}if(e.startDate===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`startDate`},message:`must have required property 'startDate'`};u===null?u=[e]:u.push(e),d++}for(let n in e)if(!r.call(ie.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};u===null?u=[e]:u.push(e),d++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};u===null?u=[e]:u.push(e),d++}}if(e.organization!==void 0){let n=e.organization;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/organization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/organization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/organization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/organization/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/organization`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.role!==void 0){let n=e.role;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/role/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/role/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/role/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/role/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/role`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.cause!==void 0){let n=e.cause;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/cause`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/cause`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/cause`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/cause`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/cause/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/cause/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/cause/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/cause/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/cause`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.description!==void 0){let n=e.description;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>5e3){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:5e3},message:`must NOT have more than 5000 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.startDate!==void 0){let n=e.startDate;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/startDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/startDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.endDate!==void 0){let n=e.endDate,r=d,i=!1,a=d;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/endDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/endDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}var p=a===d;i||=p;let o=d;if(n!==null){let e={instancePath:t+`/endDate`,schemaPath:`#/properties/endDate/anyOf/1/type`,keyword:`type`,params:{type:`null`},message:`must be null`};u===null?u=[e]:u.push(e),d++}var p=o===d;if(i||=p,i)d=r,u!==null&&(r?u.length=r:u=null);else{let e={instancePath:t+`/endDate`,schemaPath:`#/properties/endDate/anyOf`,keyword:`anyOf`,params:{},message:`must match a schema in anyOf`};u===null?u=[e]:u.push(e),d++}}if(e.isCurrent!==void 0&&typeof e.isCurrent!=`boolean`){let e={instancePath:t+`/isCurrent`,schemaPath:`#/properties/isCurrent/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};u===null?u=[e]:u.push(e),d++}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};u===null?u=[e]:u.push(e),d++}if(!v(n)){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};u===null?u=[e]:u.push(e),d++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}return ae.errors=u,d===0}ae.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};function D(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:c={}}={}){let l=null,u=0,d=D.evaluated;if(d.dynamicProps&&(d.props=void 0),d.dynamicItems&&(d.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};l===null?l=[e]:l.push(e),u++}if(e.title===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`title`},message:`must have required property 'title'`};l===null?l=[e]:l.push(e),u++}if(e.issuer===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`issuer`},message:`must have required property 'issuer'`};l===null?l=[e]:l.push(e),u++}if(e.date===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`date`},message:`must have required property 'date'`};l===null?l=[e]:l.push(e),u++}for(let n in e)if(!(n===`id`||n===`visibility`||n===`title`||n===`issuer`||n===`description`||n===`date`||n===`url`||n===`order`)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};l===null?l=[e]:l.push(e),u++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};l===null?l=[e]:l.push(e),u++}}if(e.title!==void 0){let n=e.title;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};l===null?l=[e]:l.push(e),u++}for(let e in n){let n=u;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};l===null?l=[n]:l.push(n),u++}if(n!==u){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};l===null?l=[n]:l.push(n),u++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[n]:l.push(n),u++}if(s(r)<1){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[n]:l.push(n),u++}if(!o.test(r)){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[n]:l.push(n),u++}}}else{let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.issuer!==void 0){let n=e.issuer;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/issuer`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};l===null?l=[e]:l.push(e),u++}for(let e in n){let n=u;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/issuer`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/issuer`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};l===null?l=[n]:l.push(n),u++}if(n!==u){let n={instancePath:t+`/issuer`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};l===null?l=[n]:l.push(n),u++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/issuer/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[n]:l.push(n),u++}if(s(r)<1){let n={instancePath:t+`/issuer/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[n]:l.push(n),u++}if(!o.test(r)){let n={instancePath:t+`/issuer/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/issuer/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[n]:l.push(n),u++}}}else{let e={instancePath:t+`/issuer`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.description!==void 0){let n=e.description;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};l===null?l=[e]:l.push(e),u++}for(let e in n){let n=u;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};l===null?l=[n]:l.push(n),u++}if(n!==u){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};l===null?l=[n]:l.push(n),u++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>5e3){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:5e3},message:`must NOT have more than 5000 characters`};l===null?l=[n]:l.push(n),u++}if(s(r)<1){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[n]:l.push(n),u++}if(!o.test(r)){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[n]:l.push(n),u++}}}else{let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.date!==void 0){let n=e.date;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/date`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/date`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};l===null?l=[e]:l.push(e),u++}if(!v(n)){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};l===null?l=[e]:l.push(e),u++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};l===null?l=[e]:l.push(e),u++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}return D.errors=l,u===0}D.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var oe={type:`object`,additionalProperties:!1,required:[`id`,`institution`,`startDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},institution:{$ref:`#/$defs/LocalizedTitle`},degree:{$ref:`#/$defs/LocalizedTitle`},fieldOfStudy:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},grade:{type:`string`,minLength:1,maxLength:50,description:`Free-form grade / class / GPA. Public exposure controlled by meta.privacy.hideEducationGrades.`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}],description:`null = currently enrolled.`},isCurrent:{type:`boolean`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}};function O(e,{instancePath:t=``,parentData:n,parentDataProperty:i,rootData:c=e,dynamicAnchors:l={}}={}){let u=null,d=0,f=O.evaluated;if(f.dynamicProps&&(f.props=void 0),f.dynamicItems&&(f.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};u===null?u=[e]:u.push(e),d++}if(e.institution===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`institution`},message:`must have required property 'institution'`};u===null?u=[e]:u.push(e),d++}if(e.startDate===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`startDate`},message:`must have required property 'startDate'`};u===null?u=[e]:u.push(e),d++}for(let n in e)if(!r.call(oe.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};u===null?u=[e]:u.push(e),d++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};u===null?u=[e]:u.push(e),d++}}if(e.institution!==void 0){let n=e.institution;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/institution`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/institution`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/institution`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/institution`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/institution/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/institution/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/institution/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/institution/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/institution`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.degree!==void 0){let n=e.degree;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/degree`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/degree`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/degree`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/degree`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/degree/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/degree/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/degree/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/degree/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/degree`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.fieldOfStudy!==void 0){let n=e.fieldOfStudy;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/fieldOfStudy`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/fieldOfStudy`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/fieldOfStudy`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/fieldOfStudy`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/fieldOfStudy/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/fieldOfStudy/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/fieldOfStudy/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/fieldOfStudy/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/fieldOfStudy`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.description!==void 0){let n=e.description;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>5e3){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:5e3},message:`must NOT have more than 5000 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.grade!==void 0){let n=e.grade;if(typeof n==`string`){if(s(n)>50){let e={instancePath:t+`/grade`,schemaPath:`#/properties/grade/maxLength`,keyword:`maxLength`,params:{limit:50},message:`must NOT have more than 50 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/grade`,schemaPath:`#/properties/grade/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/grade`,schemaPath:`#/properties/grade/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.startDate!==void 0){let n=e.startDate;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/startDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/startDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.endDate!==void 0){let n=e.endDate,r=d,i=!1,a=d;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/endDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/endDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}var p=a===d;i||=p;let o=d;if(n!==null){let e={instancePath:t+`/endDate`,schemaPath:`#/properties/endDate/anyOf/1/type`,keyword:`type`,params:{type:`null`},message:`must be null`};u===null?u=[e]:u.push(e),d++}var p=o===d;if(i||=p,i)d=r,u!==null&&(r?u.length=r:u=null);else{let e={instancePath:t+`/endDate`,schemaPath:`#/properties/endDate/anyOf`,keyword:`anyOf`,params:{},message:`must match a schema in anyOf`};u===null?u=[e]:u.push(e),d++}}if(e.isCurrent!==void 0&&typeof e.isCurrent!=`boolean`){let e={instancePath:t+`/isCurrent`,schemaPath:`#/properties/isCurrent/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};u===null?u=[e]:u.push(e),d++}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};u===null?u=[e]:u.push(e),d++}if(!v(n)){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};u===null?u=[e]:u.push(e),d++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}return O.errors=u,d===0}O.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var se={type:`object`,additionalProperties:!1,required:[`id`,`title`,`date`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},publisher:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},date:{$ref:`#/$defs/YearMonth`},url:{$ref:`#/$defs/Url`},doi:{type:`string`,minLength:1,maxLength:200,description:`DOI identifier (e.g. '10.1145/3548643.3548644'). The full URL goes in 'url'.`},coAuthors:{type:`array`,maxItems:50,items:{type:`string`,minLength:1,maxLength:100},description:`Co-author names in original script. Excludes the profile owner.`},order:{type:`integer`,minimum:0}}};function ce(e,{instancePath:t=``,parentData:n,parentDataProperty:i,rootData:c=e,dynamicAnchors:l={}}={}){let u=null,d=0,f=ce.evaluated;if(f.dynamicProps&&(f.props=void 0),f.dynamicItems&&(f.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};u===null?u=[e]:u.push(e),d++}if(e.title===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`title`},message:`must have required property 'title'`};u===null?u=[e]:u.push(e),d++}if(e.date===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`date`},message:`must have required property 'date'`};u===null?u=[e]:u.push(e),d++}for(let n in e)if(!r.call(se.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};u===null?u=[e]:u.push(e),d++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};u===null?u=[e]:u.push(e),d++}}if(e.title!==void 0){let n=e.title;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.publisher!==void 0){let n=e.publisher;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/publisher`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/publisher`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/publisher`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/publisher`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/publisher/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/publisher/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/publisher/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/publisher/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/publisher`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.description!==void 0){let n=e.description;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>5e3){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:5e3},message:`must NOT have more than 5000 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.date!==void 0){let n=e.date;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/date`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/date`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};u===null?u=[e]:u.push(e),d++}if(!v(n)){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.doi!==void 0){let n=e.doi;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/doi`,schemaPath:`#/properties/doi/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/doi`,schemaPath:`#/properties/doi/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/doi`,schemaPath:`#/properties/doi/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.coAuthors!==void 0){let n=e.coAuthors;if(Array.isArray(n)){if(n.length>50){let e={instancePath:t+`/coAuthors`,schemaPath:`#/properties/coAuthors/maxItems`,keyword:`maxItems`,params:{limit:50},message:`must NOT have more than 50 items`};u===null?u=[e]:u.push(e),d++}let e=n.length;for(let r=0;r<e;r++){let e=n[r];if(typeof e==`string`){if(s(e)>100){let e={instancePath:t+`/coAuthors/`+r,schemaPath:`#/properties/coAuthors/items/maxLength`,keyword:`maxLength`,params:{limit:100},message:`must NOT have more than 100 characters`};u===null?u=[e]:u.push(e),d++}if(s(e)<1){let e={instancePath:t+`/coAuthors/`+r,schemaPath:`#/properties/coAuthors/items/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/coAuthors/`+r,schemaPath:`#/properties/coAuthors/items/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t+`/coAuthors`,schemaPath:`#/properties/coAuthors/type`,keyword:`type`,params:{type:`array`},message:`must be array`};u===null?u=[e]:u.push(e),d++}}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};u===null?u=[e]:u.push(e),d++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}return ce.errors=u,d===0}ce.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var k={type:`object`,additionalProperties:!1,required:[`id`,`language`,`proficiency`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},language:{$ref:`#/$defs/LocaleTag`},displayName:{$ref:`#/$defs/LocalizedTitle`},proficiency:{type:`string`,enum:[`native`,`fluent`,`professional`,`intermediate`,`basic`],description:`LinkedIn-compatible 5-level proficiency.`},order:{type:`integer`,minimum:0}}};function A(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:c={}}={}){let l=null,u=0,d=A.evaluated;if(d.dynamicProps&&(d.props=void 0),d.dynamicItems&&(d.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};l===null?l=[e]:l.push(e),u++}if(e.language===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`language`},message:`must have required property 'language'`};l===null?l=[e]:l.push(e),u++}if(e.proficiency===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`proficiency`},message:`must have required property 'proficiency'`};l===null?l=[e]:l.push(e),u++}for(let n in e)if(!(n===`id`||n===`visibility`||n===`language`||n===`displayName`||n===`proficiency`||n===`order`)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};l===null?l=[e]:l.push(e),u++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};l===null?l=[e]:l.push(e),u++}}if(e.language!==void 0){let n=e.language;if(typeof n==`string`){if(s(n)>35){let e={instancePath:t+`/language`,schemaPath:`#/$defs/LocaleTag/maxLength`,keyword:`maxLength`,params:{limit:35},message:`must NOT have more than 35 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<2){let e={instancePath:t+`/language`,schemaPath:`#/$defs/LocaleTag/minLength`,keyword:`minLength`,params:{limit:2},message:`must NOT have fewer than 2 characters`};l===null?l=[e]:l.push(e),u++}if(!a.test(n)){let e={instancePath:t+`/language`,schemaPath:`#/$defs/LocaleTag/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/language`,schemaPath:`#/$defs/LocaleTag/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.displayName!==void 0){let n=e.displayName;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/displayName`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};l===null?l=[e]:l.push(e),u++}for(let e in n){let n=u;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/displayName`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/displayName`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};l===null?l=[n]:l.push(n),u++}if(n!==u){let n={instancePath:t+`/displayName`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};l===null?l=[n]:l.push(n),u++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/displayName/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[n]:l.push(n),u++}if(s(r)<1){let n={instancePath:t+`/displayName/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[n]:l.push(n),u++}if(!o.test(r)){let n={instancePath:t+`/displayName/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/displayName/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[n]:l.push(n),u++}}}else{let e={instancePath:t+`/displayName`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.proficiency!==void 0){let n=e.proficiency;if(typeof n!=`string`){let e={instancePath:t+`/proficiency`,schemaPath:`#/properties/proficiency/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}if(!(n===`native`||n===`fluent`||n===`professional`||n===`intermediate`||n===`basic`)){let e={instancePath:t+`/proficiency`,schemaPath:`#/properties/proficiency/enum`,keyword:`enum`,params:{allowedValues:k.properties.proficiency.enum},message:`must be equal to one of the allowed values`};l===null?l=[e]:l.push(e),u++}}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};l===null?l=[e]:l.push(e),u++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};l===null?l=[e]:l.push(e),u++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}return A.errors=l,u===0}A.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var j={type:`object`,additionalProperties:!1,required:[`id`,`title`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},provider:{$ref:`#/$defs/LocalizedTitle`},courseNumber:{type:`string`,minLength:1,maxLength:50},description:{$ref:`#/$defs/LocalizedBody`},completionDate:{$ref:`#/$defs/YearMonth`},certificateUrl:{$ref:`#/$defs/Url`},relatedEducationId:{$ref:`#/$defs/Slug`,description:`Optional reference to an education[].id (e.g. for university coursework).`},order:{type:`integer`,minimum:0}}};function M(e,{instancePath:t=``,parentData:n,parentDataProperty:i,rootData:c=e,dynamicAnchors:l={}}={}){let u=null,d=0,f=M.evaluated;if(f.dynamicProps&&(f.props=void 0),f.dynamicItems&&(f.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};u===null?u=[e]:u.push(e),d++}if(e.title===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`title`},message:`must have required property 'title'`};u===null?u=[e]:u.push(e),d++}for(let n in e)if(!r.call(j.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};u===null?u=[e]:u.push(e),d++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};u===null?u=[e]:u.push(e),d++}}if(e.title!==void 0){let n=e.title;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.provider!==void 0){let n=e.provider;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/provider`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/provider`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/provider`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/provider`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/provider/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/provider/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/provider/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/provider/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/provider`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.courseNumber!==void 0){let n=e.courseNumber;if(typeof n==`string`){if(s(n)>50){let e={instancePath:t+`/courseNumber`,schemaPath:`#/properties/courseNumber/maxLength`,keyword:`maxLength`,params:{limit:50},message:`must NOT have more than 50 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/courseNumber`,schemaPath:`#/properties/courseNumber/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/courseNumber`,schemaPath:`#/properties/courseNumber/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.description!==void 0){let n=e.description;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>5e3){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:5e3},message:`must NOT have more than 5000 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.completionDate!==void 0){let n=e.completionDate;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/completionDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/completionDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.certificateUrl!==void 0){let n=e.certificateUrl;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/certificateUrl`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};u===null?u=[e]:u.push(e),d++}if(!v(n)){let e={instancePath:t+`/certificateUrl`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/certificateUrl`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.relatedEducationId!==void 0){let n=e.relatedEducationId;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/relatedEducationId`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/relatedEducationId`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/relatedEducationId`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/relatedEducationId`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};u===null?u=[e]:u.push(e),d++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}return M.errors=u,d===0}M.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var N={type:`object`,additionalProperties:!1,required:[`id`,`title`,`patentNumber`,`status`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},patentNumber:{type:`string`,minLength:1,maxLength:100},office:{type:`string`,maxLength:100,description:`Patent office name (e.g. 'USPTO', 'JPO', 'EPO').`},status:{type:`string`,enum:[`pending`,`issued`,`expired`,`abandoned`]},description:{$ref:`#/$defs/LocalizedBody`},filingDate:{$ref:`#/$defs/YearMonth`},grantDate:{$ref:`#/$defs/YearMonth`},url:{$ref:`#/$defs/Url`},coInventors:{type:`array`,maxItems:20,items:{type:`string`,minLength:1,maxLength:100}},order:{type:`integer`,minimum:0}}};function P(e,{instancePath:t=``,parentData:n,parentDataProperty:i,rootData:c=e,dynamicAnchors:l={}}={}){let u=null,d=0,f=P.evaluated;if(f.dynamicProps&&(f.props=void 0),f.dynamicItems&&(f.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};u===null?u=[e]:u.push(e),d++}if(e.title===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`title`},message:`must have required property 'title'`};u===null?u=[e]:u.push(e),d++}if(e.patentNumber===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`patentNumber`},message:`must have required property 'patentNumber'`};u===null?u=[e]:u.push(e),d++}if(e.status===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`status`},message:`must have required property 'status'`};u===null?u=[e]:u.push(e),d++}for(let n in e)if(!r.call(N.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};u===null?u=[e]:u.push(e),d++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};u===null?u=[e]:u.push(e),d++}}if(e.title!==void 0){let n=e.title;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.patentNumber!==void 0){let n=e.patentNumber;if(typeof n==`string`){if(s(n)>100){let e={instancePath:t+`/patentNumber`,schemaPath:`#/properties/patentNumber/maxLength`,keyword:`maxLength`,params:{limit:100},message:`must NOT have more than 100 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/patentNumber`,schemaPath:`#/properties/patentNumber/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/patentNumber`,schemaPath:`#/properties/patentNumber/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.office!==void 0){let n=e.office;if(typeof n==`string`){if(s(n)>100){let e={instancePath:t+`/office`,schemaPath:`#/properties/office/maxLength`,keyword:`maxLength`,params:{limit:100},message:`must NOT have more than 100 characters`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/office`,schemaPath:`#/properties/office/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.status!==void 0){let n=e.status;if(typeof n!=`string`){let e={instancePath:t+`/status`,schemaPath:`#/properties/status/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}if(!(n===`pending`||n===`issued`||n===`expired`||n===`abandoned`)){let e={instancePath:t+`/status`,schemaPath:`#/properties/status/enum`,keyword:`enum`,params:{allowedValues:N.properties.status.enum},message:`must be equal to one of the allowed values`};u===null?u=[e]:u.push(e),d++}}if(e.description!==void 0){let n=e.description;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>5e3){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:5e3},message:`must NOT have more than 5000 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.filingDate!==void 0){let n=e.filingDate;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/filingDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/filingDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.grantDate!==void 0){let n=e.grantDate;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/grantDate`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/grantDate`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};u===null?u=[e]:u.push(e),d++}if(!v(n)){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.coInventors!==void 0){let n=e.coInventors;if(Array.isArray(n)){if(n.length>20){let e={instancePath:t+`/coInventors`,schemaPath:`#/properties/coInventors/maxItems`,keyword:`maxItems`,params:{limit:20},message:`must NOT have more than 20 items`};u===null?u=[e]:u.push(e),d++}let e=n.length;for(let r=0;r<e;r++){let e=n[r];if(typeof e==`string`){if(s(e)>100){let e={instancePath:t+`/coInventors/`+r,schemaPath:`#/properties/coInventors/items/maxLength`,keyword:`maxLength`,params:{limit:100},message:`must NOT have more than 100 characters`};u===null?u=[e]:u.push(e),d++}if(s(e)<1){let e={instancePath:t+`/coInventors/`+r,schemaPath:`#/properties/coInventors/items/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/coInventors/`+r,schemaPath:`#/properties/coInventors/items/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t+`/coInventors`,schemaPath:`#/properties/coInventors/type`,keyword:`type`,params:{type:`array`},message:`must be array`};u===null?u=[e]:u.push(e),d++}}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};u===null?u=[e]:u.push(e),d++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}return P.errors=u,d===0}P.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var le={type:`object`,additionalProperties:!1,required:[`id`,`title`,`score`,`date`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},score:{type:`string`,minLength:1,maxLength:50,description:`Free-form score string (e.g. '112 / 120', '330', 'N1 Pass', or a percentile). The validator does not interpret its contents.`},date:{$ref:`#/$defs/YearMonth`},relatedEducationId:{$ref:`#/$defs/Slug`,description:`Optional reference to an education[].id (e.g. for a university course exam).`},description:{$ref:`#/$defs/LocalizedBody`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}};function ue(e,{instancePath:t=``,parentData:n,parentDataProperty:i,rootData:c=e,dynamicAnchors:l={}}={}){let u=null,d=0,f=ue.evaluated;if(f.dynamicProps&&(f.props=void 0),f.dynamicItems&&(f.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};u===null?u=[e]:u.push(e),d++}if(e.title===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`title`},message:`must have required property 'title'`};u===null?u=[e]:u.push(e),d++}if(e.score===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`score`},message:`must have required property 'score'`};u===null?u=[e]:u.push(e),d++}if(e.date===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`date`},message:`must have required property 'date'`};u===null?u=[e]:u.push(e),d++}for(let n in e)if(!r.call(le.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};u===null?u=[e]:u.push(e),d++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};u===null?u=[e]:u.push(e),d++}}if(e.title!==void 0){let n=e.title;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/title/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/title`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.score!==void 0){let n=e.score;if(typeof n==`string`){if(s(n)>50){let e={instancePath:t+`/score`,schemaPath:`#/properties/score/maxLength`,keyword:`maxLength`,params:{limit:50},message:`must NOT have more than 50 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/score`,schemaPath:`#/properties/score/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/score`,schemaPath:`#/properties/score/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.date!==void 0){let n=e.date;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/date`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/date`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.relatedEducationId!==void 0){let n=e.relatedEducationId;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/relatedEducationId`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/relatedEducationId`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/relatedEducationId`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/relatedEducationId`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.description!==void 0){let n=e.description;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>5e3){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:5e3},message:`must NOT have more than 5000 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/description/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/description`,schemaPath:`#/$defs/LocalizedBody/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};u===null?u=[e]:u.push(e),d++}if(!v(n)){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};u===null?u=[e]:u.push(e),d++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}return ue.errors=u,d===0}ue.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var de={type:`object`,additionalProperties:!1,required:[`id`,`body`,`author`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},body:{$ref:`#/$defs/LocalizedBody`},author:{$ref:`#/$defs/RecommendationAuthor`},relationship:{$ref:`#/$defs/LocalizedTitle`,description:`How the recommender relates to the profile owner (e.g. 'managed directly', 'worked together').`},date:{$ref:`#/$defs/YearMonth`},relatedCareerId:{$ref:`#/$defs/Slug`,description:`Optional reference to a careers[].id (the position the recommendation pertains to).`},relatedEducationId:{$ref:`#/$defs/Slug`,description:`Optional reference to an education[].id (e.g. a recommendation from a professor).`},order:{type:`integer`,minimum:0}}};function fe(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:c={}}={}){let l=null,u=0,d=fe.evaluated;if(d.dynamicProps&&(d.props=void 0),d.dynamicItems&&(d.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.name===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`name`},message:`must have required property 'name'`};l===null?l=[e]:l.push(e),u++}for(let n in e)if(!(n===`name`||n===`headline`||n===`url`)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};l===null?l=[e]:l.push(e),u++}if(e.name!==void 0){let n=e.name;if(typeof n==`string`){if(s(n)>100){let e={instancePath:t+`/name`,schemaPath:`#/properties/name/maxLength`,keyword:`maxLength`,params:{limit:100},message:`must NOT have more than 100 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/name`,schemaPath:`#/properties/name/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/name`,schemaPath:`#/properties/name/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.headline!==void 0){let n=e.headline;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/headline`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};l===null?l=[e]:l.push(e),u++}for(let e in n){let n=u;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/headline`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/headline`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};l===null?l=[n]:l.push(n),u++}if(n!==u){let n={instancePath:t+`/headline`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};l===null?l=[n]:l.push(n),u++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/headline/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[n]:l.push(n),u++}if(s(r)<1){let n={instancePath:t+`/headline/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[n]:l.push(n),u++}if(!o.test(r)){let n={instancePath:t+`/headline/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/headline/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[n]:l.push(n),u++}}}else{let e={instancePath:t+`/headline`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};l===null?l=[e]:l.push(e),u++}if(!v(n)){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}return fe.errors=l,u===0}fe.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};function pe(e,{instancePath:t=``,parentData:n,parentDataProperty:i,rootData:c=e,dynamicAnchors:l={}}={}){let u=null,d=0,f=pe.evaluated;if(f.dynamicProps&&(f.props=void 0),f.dynamicItems&&(f.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};u===null?u=[e]:u.push(e),d++}if(e.body===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`body`},message:`must have required property 'body'`};u===null?u=[e]:u.push(e),d++}if(e.author===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`author`},message:`must have required property 'author'`};u===null?u=[e]:u.push(e),d++}for(let n in e)if(!r.call(de.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};u===null?u=[e]:u.push(e),d++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.visibility!==void 0){let n=e.visibility;if(typeof n!=`string`){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}if(!(n===`public`||n===`private`)){let e={instancePath:t+`/visibility`,schemaPath:`#/$defs/Visibility/enum`,keyword:`enum`,params:{allowedValues:g.enum},message:`must be equal to one of the allowed values`};u===null?u=[e]:u.push(e),d++}}if(e.body!==void 0){let n=e.body;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/body`,schemaPath:`#/$defs/LocalizedBody/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/body`,schemaPath:`#/$defs/LocalizedBody/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/body`,schemaPath:`#/$defs/LocalizedBody/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/body`,schemaPath:`#/$defs/LocalizedBody/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>5e3){let n={instancePath:t+`/body/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:5e3},message:`must NOT have more than 5000 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/body/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/body/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/body/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedBody/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/body`,schemaPath:`#/$defs/LocalizedBody/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.author!==void 0&&(fe(e.author,{instancePath:t+`/author`,parentData:e,parentDataProperty:`author`,rootData:c,dynamicAnchors:l})||(u=u===null?fe.errors:u.concat(fe.errors),d=u.length)),e.relationship!==void 0){let n=e.relationship;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/relationship`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};u===null?u=[e]:u.push(e),d++}for(let e in n){let n=d;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/relationship`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/relationship`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};u===null?u=[n]:u.push(n),d++}if(n!==d){let n={instancePath:t+`/relationship`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};u===null?u=[n]:u.push(n),d++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/relationship/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};u===null?u=[n]:u.push(n),d++}if(s(r)<1){let n={instancePath:t+`/relationship/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[n]:u.push(n),d++}if(!o.test(r)){let n={instancePath:t+`/relationship/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};u===null?u=[n]:u.push(n),d++}}else{let n={instancePath:t+`/relationship/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[n]:u.push(n),d++}}}else{let e={instancePath:t+`/relationship`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}}if(e.date!==void 0){let n=e.date;if(typeof n==`string`){if(!S.test(n)){let e={instancePath:t+`/date`,schemaPath:`#/$defs/YearMonth/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`},message:`must match pattern "^[0-9]{4}-(0[1-9]|1[0-2])$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/date`,schemaPath:`#/$defs/YearMonth/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.relatedCareerId!==void 0){let n=e.relatedCareerId;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/relatedCareerId`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/relatedCareerId`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/relatedCareerId`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/relatedCareerId`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.relatedEducationId!==void 0){let n=e.relatedEducationId;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/relatedEducationId`,schemaPath:`#/$defs/Slug/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};u===null?u=[e]:u.push(e),d++}if(s(n)<1){let e={instancePath:t+`/relatedEducationId`,schemaPath:`#/$defs/Slug/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};u===null?u=[e]:u.push(e),d++}if(!y.test(n)){let e={instancePath:t+`/relatedEducationId`,schemaPath:`#/$defs/Slug/pattern`,keyword:`pattern`,params:{pattern:`^[a-z0-9][a-z0-9-]*$`},message:`must match pattern "^[a-z0-9][a-z0-9-]*$"`};u===null?u=[e]:u.push(e),d++}}else{let e={instancePath:t+`/relatedEducationId`,schemaPath:`#/$defs/Slug/type`,keyword:`type`,params:{type:`string`},message:`must be string`};u===null?u=[e]:u.push(e),d++}}if(e.order!==void 0){let n=e.order;if(!(typeof n==`number`&&!(n%1)&&!isNaN(n)&&isFinite(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};u===null?u=[e]:u.push(e),d++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/order`,schemaPath:`#/properties/order/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};u===null?u=[e]:u.push(e),d++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};u===null?u=[e]:u.push(e),d++}return pe.errors=u,d===0}pe.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var me=/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;function he(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:a={}}={}){let o=null,c=0,l=he.evaluated;if(l.dynamicProps&&(l.props=void 0),l.dynamicItems&&(l.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){for(let n in e)if(!(n===`email`||n===`showEmail`||n===`formUrl`)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};o===null?o=[e]:o.push(e),c++}if(e.email!==void 0){let n=e.email;if(typeof n==`string`){if(s(n)>254){let e={instancePath:t+`/email`,schemaPath:`#/$defs/Email/maxLength`,keyword:`maxLength`,params:{limit:254},message:`must NOT have more than 254 characters`};o===null?o=[e]:o.push(e),c++}if(!me.test(n)){let e={instancePath:t+`/email`,schemaPath:`#/$defs/Email/format`,keyword:`format`,params:{format:`email`},message:`must match format "email"`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/email`,schemaPath:`#/$defs/Email/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(e.showEmail!==void 0&&typeof e.showEmail!=`boolean`){let e={instancePath:t+`/showEmail`,schemaPath:`#/properties/showEmail/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};o===null?o=[e]:o.push(e),c++}if(e.formUrl!==void 0){let n=e.formUrl;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/formUrl`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};o===null?o=[e]:o.push(e),c++}if(!v(n)){let e={instancePath:t+`/formUrl`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/formUrl`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};o===null?o=[e]:o.push(e),c++}return he.errors=o,c===0}he.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var ge={type:`object`,additionalProperties:!1,required:[`defaultLocale`,`availableLocales`],properties:{defaultLocale:{$ref:`#/$defs/LocaleTag`},fallbackLocale:{$ref:`#/$defs/LocaleTag`},availableLocales:{type:`array`,minItems:1,maxItems:50,uniqueItems:!0,items:{$ref:`#/$defs/LocaleTag`}},theme:{type:`string`,minLength:1,maxLength:64,description:`UI theme identifier. 'default' is the built-in theme; adapters may add more.`},showPoweredBy:{type:`boolean`,default:!0,description:`Display the 'Powered by takuhon' attribution in the rendered profile.`},enableJsonLd:{type:`boolean`,default:!0,description:`Emit Schema.org JSON-LD on the rendered profile page.`},enableApi:{type:`boolean`,default:!0,description:`Expose the public read API endpoints (GET /api/profile, /api/jsonld, /api/schema, /takuhon.json).`},enableAnalytics:{type:`boolean`,default:!1,description:`Opt-in flag for first-party analytics. Default is false to keep takuhon privacy-respecting by default.`},activity:{$ref:`#/$defs/ActivitySettings`},publicVisibility:{$ref:`#/$defs/PublicVisibility`},contact:{$ref:`#/$defs/ContactSettings`},appearance:{$ref:`#/$defs/AppearanceSettings`},skillCategories:{type:`array`,maxItems:50,items:{$ref:`#/$defs/SkillCategory`},description:"Ordered skill-category display groups (added in 1.3.0). When present, the rendered profile groups skills by their `category` under these localized headings, in array order; absent = the flat skill list. A skill whose `category` is not listed here (or which has none) renders in a trailing group so nothing is dropped."}}},_e={type:`object`,additionalProperties:!1,description:`Per-section public visibility (added in 0.6.0). Each key is a content section; setting it to false hides that whole section from every public surface (GET /, /api/profile, /api/jsonld, /takuhon.json, MCP, and the derived CV) via the shared applyPublicPrivacyFilter. An absent key — or an absent object — means the section is public, so the default is all-visible and omitting this block is fully backwards-compatible. The profile identity (profile.displayName, …) is always public and is intentionally not a key here. Field-level controls (contact.showEmail, meta.privacy.*) still apply within a visible section: visibility is the AND of the feature toggle, this section flag, and the field flag.`,properties:{links:{type:`boolean`,description:`Default true. When false, links[] is emitted empty on public surfaces.`},careers:{type:`boolean`,description:`Default true. When false, careers[] is emitted empty on public surfaces.`},projects:{type:`boolean`,description:`Default true. When false, projects[] is emitted empty on public surfaces.`},skills:{type:`boolean`,description:`Default true. When false, skills[] is emitted empty on public surfaces.`},certifications:{type:`boolean`,description:`Default true. When false, certifications[] is emitted empty on public surfaces.`},memberships:{type:`boolean`,description:`Default true. When false, memberships[] is emitted empty on public surfaces.`},volunteering:{type:`boolean`,description:`Default true. When false, volunteering[] is emitted empty on public surfaces.`},honors:{type:`boolean`,description:`Default true. When false, honors[] is emitted empty on public surfaces.`},education:{type:`boolean`,description:`Default true. When false, education[] is emitted empty on public surfaces.`},publications:{type:`boolean`,description:`Default true. When false, publications[] is emitted empty on public surfaces.`},languages:{type:`boolean`,description:`Default true. When false, languages[] is emitted empty on public surfaces.`},courses:{type:`boolean`,description:`Default true. When false, courses[] is emitted empty on public surfaces.`},patents:{type:`boolean`,description:`Default true. When false, patents[] is emitted empty on public surfaces.`},testScores:{type:`boolean`,description:`Default true. When false, testScores[] is emitted empty on public surfaces.`},recommendations:{type:`boolean`,description:`Default true. When false, recommendations[] is emitted empty on public surfaces.`},contact:{type:`boolean`,description:`Default true. When false, the contact section (email, formUrl) is emitted empty on public surfaces.`}}},ve=p().default,ye=RegExp(`^[A-Za-z0-9\\s,'"._-]+$`,`u`),be=RegExp(`^(?:#[0-9A-Fa-f]{3,8}|[A-Za-z]+|(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\\([A-Za-z0-9.,%/\\s-]*\\))$`,`u`);function xe(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:a={}}={}){let o=null,c=0,l=xe.evaluated;if(l.dynamicProps&&(l.props=void 0),l.dynamicItems&&(l.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){for(let n in e)if(!(n===`bg`||n===`surface`||n===`text`||n===`textMuted`||n===`border`||n===`accent`||n===`primary`||n===`primaryContrast`)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};o===null?o=[e]:o.push(e),c++}if(e.bg!==void 0){let n=e.bg;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/bg`,schemaPath:`#/$defs/CssColor/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};o===null?o=[e]:o.push(e),c++}if(s(n)<1){let e={instancePath:t+`/bg`,schemaPath:`#/$defs/CssColor/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};o===null?o=[e]:o.push(e),c++}if(!be.test(n)){let e={instancePath:t+`/bg`,schemaPath:`#/$defs/CssColor/pattern`,keyword:`pattern`,params:{pattern:`^(?:#[0-9A-Fa-f]{3,8}|[A-Za-z]+|(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\\([A-Za-z0-9.,%/\\s-]*\\))$`},message:`must match pattern "^(?:#[0-9A-Fa-f]{3,8}|[A-Za-z]+|(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\\([A-Za-z0-9.,%/\\s-]*\\))$"`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/bg`,schemaPath:`#/$defs/CssColor/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(e.surface!==void 0){let n=e.surface;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/surface`,schemaPath:`#/$defs/CssColor/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};o===null?o=[e]:o.push(e),c++}if(s(n)<1){let e={instancePath:t+`/surface`,schemaPath:`#/$defs/CssColor/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};o===null?o=[e]:o.push(e),c++}if(!be.test(n)){let e={instancePath:t+`/surface`,schemaPath:`#/$defs/CssColor/pattern`,keyword:`pattern`,params:{pattern:`^(?:#[0-9A-Fa-f]{3,8}|[A-Za-z]+|(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\\([A-Za-z0-9.,%/\\s-]*\\))$`},message:`must match pattern "^(?:#[0-9A-Fa-f]{3,8}|[A-Za-z]+|(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\\([A-Za-z0-9.,%/\\s-]*\\))$"`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/surface`,schemaPath:`#/$defs/CssColor/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(e.text!==void 0){let n=e.text;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/text`,schemaPath:`#/$defs/CssColor/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};o===null?o=[e]:o.push(e),c++}if(s(n)<1){let e={instancePath:t+`/text`,schemaPath:`#/$defs/CssColor/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};o===null?o=[e]:o.push(e),c++}if(!be.test(n)){let e={instancePath:t+`/text`,schemaPath:`#/$defs/CssColor/pattern`,keyword:`pattern`,params:{pattern:`^(?:#[0-9A-Fa-f]{3,8}|[A-Za-z]+|(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\\([A-Za-z0-9.,%/\\s-]*\\))$`},message:`must match pattern "^(?:#[0-9A-Fa-f]{3,8}|[A-Za-z]+|(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\\([A-Za-z0-9.,%/\\s-]*\\))$"`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/text`,schemaPath:`#/$defs/CssColor/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(e.textMuted!==void 0){let n=e.textMuted;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/textMuted`,schemaPath:`#/$defs/CssColor/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};o===null?o=[e]:o.push(e),c++}if(s(n)<1){let e={instancePath:t+`/textMuted`,schemaPath:`#/$defs/CssColor/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};o===null?o=[e]:o.push(e),c++}if(!be.test(n)){let e={instancePath:t+`/textMuted`,schemaPath:`#/$defs/CssColor/pattern`,keyword:`pattern`,params:{pattern:`^(?:#[0-9A-Fa-f]{3,8}|[A-Za-z]+|(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\\([A-Za-z0-9.,%/\\s-]*\\))$`},message:`must match pattern "^(?:#[0-9A-Fa-f]{3,8}|[A-Za-z]+|(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\\([A-Za-z0-9.,%/\\s-]*\\))$"`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/textMuted`,schemaPath:`#/$defs/CssColor/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(e.border!==void 0){let n=e.border;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/border`,schemaPath:`#/$defs/CssColor/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};o===null?o=[e]:o.push(e),c++}if(s(n)<1){let e={instancePath:t+`/border`,schemaPath:`#/$defs/CssColor/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};o===null?o=[e]:o.push(e),c++}if(!be.test(n)){let e={instancePath:t+`/border`,schemaPath:`#/$defs/CssColor/pattern`,keyword:`pattern`,params:{pattern:`^(?:#[0-9A-Fa-f]{3,8}|[A-Za-z]+|(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\\([A-Za-z0-9.,%/\\s-]*\\))$`},message:`must match pattern "^(?:#[0-9A-Fa-f]{3,8}|[A-Za-z]+|(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\\([A-Za-z0-9.,%/\\s-]*\\))$"`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/border`,schemaPath:`#/$defs/CssColor/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(e.accent!==void 0){let n=e.accent;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/accent`,schemaPath:`#/$defs/CssColor/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};o===null?o=[e]:o.push(e),c++}if(s(n)<1){let e={instancePath:t+`/accent`,schemaPath:`#/$defs/CssColor/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};o===null?o=[e]:o.push(e),c++}if(!be.test(n)){let e={instancePath:t+`/accent`,schemaPath:`#/$defs/CssColor/pattern`,keyword:`pattern`,params:{pattern:`^(?:#[0-9A-Fa-f]{3,8}|[A-Za-z]+|(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\\([A-Za-z0-9.,%/\\s-]*\\))$`},message:`must match pattern "^(?:#[0-9A-Fa-f]{3,8}|[A-Za-z]+|(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\\([A-Za-z0-9.,%/\\s-]*\\))$"`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/accent`,schemaPath:`#/$defs/CssColor/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(e.primary!==void 0){let n=e.primary;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/primary`,schemaPath:`#/$defs/CssColor/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};o===null?o=[e]:o.push(e),c++}if(s(n)<1){let e={instancePath:t+`/primary`,schemaPath:`#/$defs/CssColor/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};o===null?o=[e]:o.push(e),c++}if(!be.test(n)){let e={instancePath:t+`/primary`,schemaPath:`#/$defs/CssColor/pattern`,keyword:`pattern`,params:{pattern:`^(?:#[0-9A-Fa-f]{3,8}|[A-Za-z]+|(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\\([A-Za-z0-9.,%/\\s-]*\\))$`},message:`must match pattern "^(?:#[0-9A-Fa-f]{3,8}|[A-Za-z]+|(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\\([A-Za-z0-9.,%/\\s-]*\\))$"`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/primary`,schemaPath:`#/$defs/CssColor/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(e.primaryContrast!==void 0){let n=e.primaryContrast;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/primaryContrast`,schemaPath:`#/$defs/CssColor/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};o===null?o=[e]:o.push(e),c++}if(s(n)<1){let e={instancePath:t+`/primaryContrast`,schemaPath:`#/$defs/CssColor/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};o===null?o=[e]:o.push(e),c++}if(!be.test(n)){let e={instancePath:t+`/primaryContrast`,schemaPath:`#/$defs/CssColor/pattern`,keyword:`pattern`,params:{pattern:`^(?:#[0-9A-Fa-f]{3,8}|[A-Za-z]+|(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\\([A-Za-z0-9.,%/\\s-]*\\))$`},message:`must match pattern "^(?:#[0-9A-Fa-f]{3,8}|[A-Za-z]+|(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\\([A-Za-z0-9.,%/\\s-]*\\))$"`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/primaryContrast`,schemaPath:`#/$defs/CssColor/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};o===null?o=[e]:o.push(e),c++}return xe.errors=o,c===0}xe.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};function Se(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:a={}}={}){let o=null,c=0,l=Se.evaluated;if(l.dynamicProps&&(l.props=void 0),l.dynamicItems&&(l.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){for(let n in e)if(!(n===`fontFamily`||n===`colors`||n===`colorsDark`)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};o===null?o=[e]:o.push(e),c++}if(e.fontFamily!==void 0){let n=e.fontFamily;if(typeof n==`string`){if(s(n)>256){let e={instancePath:t+`/fontFamily`,schemaPath:`#/properties/fontFamily/maxLength`,keyword:`maxLength`,params:{limit:256},message:`must NOT have more than 256 characters`};o===null?o=[e]:o.push(e),c++}if(s(n)<1){let e={instancePath:t+`/fontFamily`,schemaPath:`#/properties/fontFamily/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};o===null?o=[e]:o.push(e),c++}if(!ye.test(n)){let e={instancePath:t+`/fontFamily`,schemaPath:`#/properties/fontFamily/pattern`,keyword:`pattern`,params:{pattern:`^[A-Za-z0-9\\s,'"._-]+$`},message:`must match pattern "^[A-Za-z0-9\\s,'"._-]+$"`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/fontFamily`,schemaPath:`#/properties/fontFamily/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}e.colors!==void 0&&(xe(e.colors,{instancePath:t+`/colors`,parentData:e,parentDataProperty:`colors`,rootData:i,dynamicAnchors:a})||(o=o===null?xe.errors:o.concat(xe.errors),c=o.length)),e.colorsDark!==void 0&&(xe(e.colorsDark,{instancePath:t+`/colorsDark`,parentData:e,parentDataProperty:`colorsDark`,rootData:i,dynamicAnchors:a})||(o=o===null?xe.errors:o.concat(xe.errors),c=o.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};o===null?o=[e]:o.push(e),c++}return Se.errors=o,c===0}Se.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};function Ce(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:c={}}={}){let l=null,u=0,d=Ce.evaluated;if(d.dynamicProps&&(d.props=void 0),d.dynamicItems&&(d.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};l===null?l=[e]:l.push(e),u++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};l===null?l=[e]:l.push(e),u++}for(let n in e)if(!(n===`id`||n===`label`)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};l===null?l=[e]:l.push(e),u++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/id`,schemaPath:`#/properties/id/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/id`,schemaPath:`#/properties/id/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/id`,schemaPath:`#/properties/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.label!==void 0){let n=e.label;if(n&&typeof n==`object`&&!Array.isArray(n)){if(Object.keys(n).length<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/LocalizedTitle/minProperties`,keyword:`minProperties`,params:{limit:1},message:`must NOT have fewer than 1 properties`};l===null?l=[e]:l.push(e),u++}for(let e in n){let n=u;if(typeof e==`string`){if(!a.test(e)){let n={instancePath:t+`/label`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`,propertyName:e};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/label`,schemaPath:`#/$defs/LocalizedTitle/propertyNames/type`,keyword:`type`,params:{type:`string`},message:`must be string`,propertyName:e};l===null?l=[n]:l.push(n),u++}if(n!==u){let n={instancePath:t+`/label`,schemaPath:`#/$defs/LocalizedTitle/propertyNames`,keyword:`propertyNames`,params:{propertyName:e},message:`property name must be valid`};l===null?l=[n]:l.push(n),u++}}for(let e in n){let r=n[e];if(typeof r==`string`){if(s(r)>200){let n={instancePath:t+`/label/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[n]:l.push(n),u++}if(s(r)<1){let n={instancePath:t+`/label/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[n]:l.push(n),u++}if(!o.test(r)){let n={instancePath:t+`/label/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/pattern`,keyword:`pattern`,params:{pattern:`\\S`},message:`must match pattern "\\S"`};l===null?l=[n]:l.push(n),u++}}else{let n={instancePath:t+`/label/`+e.replace(/~/g,`~0`).replace(/\//g,`~1`),schemaPath:`#/$defs/LocalizedTitle/additionalProperties/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[n]:l.push(n),u++}}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/LocalizedTitle/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}return Ce.errors=l,u===0}Ce.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};function we(e,{instancePath:t=``,parentData:n,parentDataProperty:i,rootData:o=e,dynamicAnchors:c={}}={}){let l=null,u=0,d=we.evaluated;if(d.dynamicProps&&(d.props=void 0),d.dynamicItems&&(d.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.defaultLocale===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`defaultLocale`},message:`must have required property 'defaultLocale'`};l===null?l=[e]:l.push(e),u++}if(e.availableLocales===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`availableLocales`},message:`must have required property 'availableLocales'`};l===null?l=[e]:l.push(e),u++}for(let n in e)if(!r.call(ge.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};l===null?l=[e]:l.push(e),u++}if(e.defaultLocale!==void 0){let n=e.defaultLocale;if(typeof n==`string`){if(s(n)>35){let e={instancePath:t+`/defaultLocale`,schemaPath:`#/$defs/LocaleTag/maxLength`,keyword:`maxLength`,params:{limit:35},message:`must NOT have more than 35 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<2){let e={instancePath:t+`/defaultLocale`,schemaPath:`#/$defs/LocaleTag/minLength`,keyword:`minLength`,params:{limit:2},message:`must NOT have fewer than 2 characters`};l===null?l=[e]:l.push(e),u++}if(!a.test(n)){let e={instancePath:t+`/defaultLocale`,schemaPath:`#/$defs/LocaleTag/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/defaultLocale`,schemaPath:`#/$defs/LocaleTag/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.fallbackLocale!==void 0){let n=e.fallbackLocale;if(typeof n==`string`){if(s(n)>35){let e={instancePath:t+`/fallbackLocale`,schemaPath:`#/$defs/LocaleTag/maxLength`,keyword:`maxLength`,params:{limit:35},message:`must NOT have more than 35 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<2){let e={instancePath:t+`/fallbackLocale`,schemaPath:`#/$defs/LocaleTag/minLength`,keyword:`minLength`,params:{limit:2},message:`must NOT have fewer than 2 characters`};l===null?l=[e]:l.push(e),u++}if(!a.test(n)){let e={instancePath:t+`/fallbackLocale`,schemaPath:`#/$defs/LocaleTag/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/fallbackLocale`,schemaPath:`#/$defs/LocaleTag/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.availableLocales!==void 0){let n=e.availableLocales;if(Array.isArray(n)){if(n.length>50){let e={instancePath:t+`/availableLocales`,schemaPath:`#/properties/availableLocales/maxItems`,keyword:`maxItems`,params:{limit:50},message:`must NOT have more than 50 items`};l===null?l=[e]:l.push(e),u++}if(n.length<1){let e={instancePath:t+`/availableLocales`,schemaPath:`#/properties/availableLocales/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++){let e=n[r];if(typeof e==`string`){if(s(e)>35){let e={instancePath:t+`/availableLocales/`+r,schemaPath:`#/$defs/LocaleTag/maxLength`,keyword:`maxLength`,params:{limit:35},message:`must NOT have more than 35 characters`};l===null?l=[e]:l.push(e),u++}if(s(e)<2){let e={instancePath:t+`/availableLocales/`+r,schemaPath:`#/$defs/LocaleTag/minLength`,keyword:`minLength`,params:{limit:2},message:`must NOT have fewer than 2 characters`};l===null?l=[e]:l.push(e),u++}if(!a.test(e)){let e={instancePath:t+`/availableLocales/`+r,schemaPath:`#/$defs/LocaleTag/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},message:`must match pattern "^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/availableLocales/`+r,schemaPath:`#/$defs/LocaleTag/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}let r=n.length,i;if(r>1){outer0:for(;r--;)for(i=r;i--;)if(ve(n[r],n[i])){let e={instancePath:t+`/availableLocales`,schemaPath:`#/properties/availableLocales/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};l===null?l=[e]:l.push(e),u++;break outer0}}}else{let e={instancePath:t+`/availableLocales`,schemaPath:`#/properties/availableLocales/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.theme!==void 0){let n=e.theme;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/theme`,schemaPath:`#/properties/theme/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/theme`,schemaPath:`#/properties/theme/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/theme`,schemaPath:`#/properties/theme/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.showPoweredBy!==void 0&&typeof e.showPoweredBy!=`boolean`){let e={instancePath:t+`/showPoweredBy`,schemaPath:`#/properties/showPoweredBy/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(e.enableJsonLd!==void 0&&typeof e.enableJsonLd!=`boolean`){let e={instancePath:t+`/enableJsonLd`,schemaPath:`#/properties/enableJsonLd/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(e.enableApi!==void 0&&typeof e.enableApi!=`boolean`){let e={instancePath:t+`/enableApi`,schemaPath:`#/properties/enableApi/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(e.enableAnalytics!==void 0&&typeof e.enableAnalytics!=`boolean`){let e={instancePath:t+`/enableAnalytics`,schemaPath:`#/properties/enableAnalytics/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(e.activity!==void 0){let n=e.activity;if(n&&typeof n==`object`&&!Array.isArray(n)){for(let e in n)if(!(e===`enabled`||e===`github`||e===`wakatime`||e===`showRank`||e===`refreshHintHours`)){let n={instancePath:t+`/activity`,schemaPath:`#/$defs/ActivitySettings/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e},message:`must NOT have additional properties`};l===null?l=[n]:l.push(n),u++}if(n.enabled!==void 0&&typeof n.enabled!=`boolean`){let e={instancePath:t+`/activity/enabled`,schemaPath:`#/$defs/ActivitySettings/properties/enabled/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.github!==void 0){let e=n.github;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.username===void 0){let e={instancePath:t+`/activity/github`,schemaPath:`#/$defs/ActivitySettings/properties/github/required`,keyword:`required`,params:{missingProperty:`username`},message:`must have required property 'username'`};l===null?l=[e]:l.push(e),u++}for(let n in e)if(!(n===`username`||n===`showLanguages`||n===`showContributions`)){let e={instancePath:t+`/activity/github`,schemaPath:`#/$defs/ActivitySettings/properties/github/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};l===null?l=[e]:l.push(e),u++}if(e.username!==void 0){let n=e.username;if(typeof n==`string`){if(s(n)>39){let e={instancePath:t+`/activity/github/username`,schemaPath:`#/$defs/ActivitySettings/properties/github/properties/username/maxLength`,keyword:`maxLength`,params:{limit:39},message:`must NOT have more than 39 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/activity/github/username`,schemaPath:`#/$defs/ActivitySettings/properties/github/properties/username/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/activity/github/username`,schemaPath:`#/$defs/ActivitySettings/properties/github/properties/username/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.showLanguages!==void 0&&typeof e.showLanguages!=`boolean`){let e={instancePath:t+`/activity/github/showLanguages`,schemaPath:`#/$defs/ActivitySettings/properties/github/properties/showLanguages/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(e.showContributions!==void 0&&typeof e.showContributions!=`boolean`){let e={instancePath:t+`/activity/github/showContributions`,schemaPath:`#/$defs/ActivitySettings/properties/github/properties/showContributions/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/activity/github`,schemaPath:`#/$defs/ActivitySettings/properties/github/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(n.wakatime!==void 0){let e=n.wakatime;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.username===void 0){let e={instancePath:t+`/activity/wakatime`,schemaPath:`#/$defs/ActivitySettings/properties/wakatime/required`,keyword:`required`,params:{missingProperty:`username`},message:`must have required property 'username'`};l===null?l=[e]:l.push(e),u++}for(let n in e)if(!(n===`username`||n===`showCodingTime`)){let e={instancePath:t+`/activity/wakatime`,schemaPath:`#/$defs/ActivitySettings/properties/wakatime/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};l===null?l=[e]:l.push(e),u++}if(e.username!==void 0){let n=e.username;if(typeof n==`string`){if(s(n)>255){let e={instancePath:t+`/activity/wakatime/username`,schemaPath:`#/$defs/ActivitySettings/properties/wakatime/properties/username/maxLength`,keyword:`maxLength`,params:{limit:255},message:`must NOT have more than 255 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/activity/wakatime/username`,schemaPath:`#/$defs/ActivitySettings/properties/wakatime/properties/username/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/activity/wakatime/username`,schemaPath:`#/$defs/ActivitySettings/properties/wakatime/properties/username/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.showCodingTime!==void 0&&typeof e.showCodingTime!=`boolean`){let e={instancePath:t+`/activity/wakatime/showCodingTime`,schemaPath:`#/$defs/ActivitySettings/properties/wakatime/properties/showCodingTime/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/activity/wakatime`,schemaPath:`#/$defs/ActivitySettings/properties/wakatime/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(n.showRank!==void 0&&typeof n.showRank!=`boolean`){let e={instancePath:t+`/activity/showRank`,schemaPath:`#/$defs/ActivitySettings/properties/showRank/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.refreshHintHours!==void 0){let e=n.refreshHintHours;if(!(typeof e==`number`&&!(e%1)&&!isNaN(e)&&isFinite(e))){let e={instancePath:t+`/activity/refreshHintHours`,schemaPath:`#/$defs/ActivitySettings/properties/refreshHintHours/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};l===null?l=[e]:l.push(e),u++}if(typeof e==`number`&&isFinite(e)){if(e>168||isNaN(e)){let e={instancePath:t+`/activity/refreshHintHours`,schemaPath:`#/$defs/ActivitySettings/properties/refreshHintHours/maximum`,keyword:`maximum`,params:{comparison:`<=`,limit:168},message:`must be <= 168`};l===null?l=[e]:l.push(e),u++}if(e<1||isNaN(e)){let e={instancePath:t+`/activity/refreshHintHours`,schemaPath:`#/$defs/ActivitySettings/properties/refreshHintHours/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:1},message:`must be >= 1`};l===null?l=[e]:l.push(e),u++}}}}else{let e={instancePath:t+`/activity`,schemaPath:`#/$defs/ActivitySettings/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.publicVisibility!==void 0){let n=e.publicVisibility;if(n&&typeof n==`object`&&!Array.isArray(n)){for(let e in n)if(!r.call(_e.properties,e)){let n={instancePath:t+`/publicVisibility`,schemaPath:`#/$defs/PublicVisibility/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e},message:`must NOT have additional properties`};l===null?l=[n]:l.push(n),u++}if(n.links!==void 0&&typeof n.links!=`boolean`){let e={instancePath:t+`/publicVisibility/links`,schemaPath:`#/$defs/PublicVisibility/properties/links/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.careers!==void 0&&typeof n.careers!=`boolean`){let e={instancePath:t+`/publicVisibility/careers`,schemaPath:`#/$defs/PublicVisibility/properties/careers/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.projects!==void 0&&typeof n.projects!=`boolean`){let e={instancePath:t+`/publicVisibility/projects`,schemaPath:`#/$defs/PublicVisibility/properties/projects/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.skills!==void 0&&typeof n.skills!=`boolean`){let e={instancePath:t+`/publicVisibility/skills`,schemaPath:`#/$defs/PublicVisibility/properties/skills/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.certifications!==void 0&&typeof n.certifications!=`boolean`){let e={instancePath:t+`/publicVisibility/certifications`,schemaPath:`#/$defs/PublicVisibility/properties/certifications/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.memberships!==void 0&&typeof n.memberships!=`boolean`){let e={instancePath:t+`/publicVisibility/memberships`,schemaPath:`#/$defs/PublicVisibility/properties/memberships/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.volunteering!==void 0&&typeof n.volunteering!=`boolean`){let e={instancePath:t+`/publicVisibility/volunteering`,schemaPath:`#/$defs/PublicVisibility/properties/volunteering/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.honors!==void 0&&typeof n.honors!=`boolean`){let e={instancePath:t+`/publicVisibility/honors`,schemaPath:`#/$defs/PublicVisibility/properties/honors/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.education!==void 0&&typeof n.education!=`boolean`){let e={instancePath:t+`/publicVisibility/education`,schemaPath:`#/$defs/PublicVisibility/properties/education/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.publications!==void 0&&typeof n.publications!=`boolean`){let e={instancePath:t+`/publicVisibility/publications`,schemaPath:`#/$defs/PublicVisibility/properties/publications/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.languages!==void 0&&typeof n.languages!=`boolean`){let e={instancePath:t+`/publicVisibility/languages`,schemaPath:`#/$defs/PublicVisibility/properties/languages/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.courses!==void 0&&typeof n.courses!=`boolean`){let e={instancePath:t+`/publicVisibility/courses`,schemaPath:`#/$defs/PublicVisibility/properties/courses/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.patents!==void 0&&typeof n.patents!=`boolean`){let e={instancePath:t+`/publicVisibility/patents`,schemaPath:`#/$defs/PublicVisibility/properties/patents/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.testScores!==void 0&&typeof n.testScores!=`boolean`){let e={instancePath:t+`/publicVisibility/testScores`,schemaPath:`#/$defs/PublicVisibility/properties/testScores/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.recommendations!==void 0&&typeof n.recommendations!=`boolean`){let e={instancePath:t+`/publicVisibility/recommendations`,schemaPath:`#/$defs/PublicVisibility/properties/recommendations/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.contact!==void 0&&typeof n.contact!=`boolean`){let e={instancePath:t+`/publicVisibility/contact`,schemaPath:`#/$defs/PublicVisibility/properties/contact/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/publicVisibility`,schemaPath:`#/$defs/PublicVisibility/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.contact!==void 0){let n=e.contact;if(n&&typeof n==`object`&&!Array.isArray(n)){for(let e in n)if(!(e===`enabled`||e===`turnstileSiteKey`||e===`endpoint`||e===`subjectPrefix`)){let n={instancePath:t+`/contact`,schemaPath:`#/$defs/ContactSettings/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e},message:`must NOT have additional properties`};l===null?l=[n]:l.push(n),u++}if(n.enabled!==void 0&&typeof n.enabled!=`boolean`){let e={instancePath:t+`/contact/enabled`,schemaPath:`#/$defs/ContactSettings/properties/enabled/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};l===null?l=[e]:l.push(e),u++}if(n.turnstileSiteKey!==void 0){let e=n.turnstileSiteKey;if(typeof e==`string`){if(s(e)>128){let e={instancePath:t+`/contact/turnstileSiteKey`,schemaPath:`#/$defs/ContactSettings/properties/turnstileSiteKey/maxLength`,keyword:`maxLength`,params:{limit:128},message:`must NOT have more than 128 characters`};l===null?l=[e]:l.push(e),u++}if(s(e)<1){let e={instancePath:t+`/contact/turnstileSiteKey`,schemaPath:`#/$defs/ContactSettings/properties/turnstileSiteKey/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/contact/turnstileSiteKey`,schemaPath:`#/$defs/ContactSettings/properties/turnstileSiteKey/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(n.endpoint!==void 0){let e=n.endpoint;if(typeof e==`string`){if(s(e)>2048){let e={instancePath:t+`/contact/endpoint`,schemaPath:`#/$defs/ContactSettings/properties/endpoint/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};l===null?l=[e]:l.push(e),u++}if(s(e)<1){let e={instancePath:t+`/contact/endpoint`,schemaPath:`#/$defs/ContactSettings/properties/endpoint/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/contact/endpoint`,schemaPath:`#/$defs/ContactSettings/properties/endpoint/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(n.subjectPrefix!==void 0){let e=n.subjectPrefix;if(typeof e==`string`){if(s(e)>128){let e={instancePath:t+`/contact/subjectPrefix`,schemaPath:`#/$defs/ContactSettings/properties/subjectPrefix/maxLength`,keyword:`maxLength`,params:{limit:128},message:`must NOT have more than 128 characters`};l===null?l=[e]:l.push(e),u++}if(s(e)<1){let e={instancePath:t+`/contact/subjectPrefix`,schemaPath:`#/$defs/ContactSettings/properties/subjectPrefix/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/contact/subjectPrefix`,schemaPath:`#/$defs/ContactSettings/properties/subjectPrefix/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}}else{let e={instancePath:t+`/contact`,schemaPath:`#/$defs/ContactSettings/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.appearance!==void 0&&(Se(e.appearance,{instancePath:t+`/appearance`,parentData:e,parentDataProperty:`appearance`,rootData:o,dynamicAnchors:c})||(l=l===null?Se.errors:l.concat(Se.errors),u=l.length)),e.skillCategories!==void 0){let n=e.skillCategories;if(Array.isArray(n)){if(n.length>50){let e={instancePath:t+`/skillCategories`,schemaPath:`#/properties/skillCategories/maxItems`,keyword:`maxItems`,params:{limit:50},message:`must NOT have more than 50 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)Ce(n[r],{instancePath:t+`/skillCategories/`+r,parentData:n,parentDataProperty:r,rootData:o,dynamicAnchors:c})||(l=l===null?Ce.errors:l.concat(Ce.errors),u=l.length)}else{let e={instancePath:t+`/skillCategories`,schemaPath:`#/properties/skillCategories/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}return we.errors=l,u===0}we.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};var F=d().fullFormats[`date-time`];function Te(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:a={}}={}){let o=null,c=0,l=Te.evaluated;if(l.dynamicProps&&(l.props=void 0),l.dynamicItems&&(l.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.spdxId===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`spdxId`},message:`must have required property 'spdxId'`};o===null?o=[e]:o.push(e),c++}for(let n in e)if(!(n===`spdxId`||n===`url`||n===`attribution`||n===`rights`)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};o===null?o=[e]:o.push(e),c++}if(e.spdxId!==void 0){let n=e.spdxId;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/spdxId`,schemaPath:`#/properties/spdxId/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};o===null?o=[e]:o.push(e),c++}if(s(n)<1){let e={instancePath:t+`/spdxId`,schemaPath:`#/properties/spdxId/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/spdxId`,schemaPath:`#/properties/spdxId/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(e.url!==void 0){let n=e.url;if(typeof n==`string`){if(s(n)>2048){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};o===null?o=[e]:o.push(e),c++}if(!v(n)){let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(e.attribution!==void 0){let n=e.attribution;if(n&&typeof n==`object`&&!Array.isArray(n)){for(let e in n)if(!(e===`name`||e===`url`)){let n={instancePath:t+`/attribution`,schemaPath:`#/properties/attribution/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e},message:`must NOT have additional properties`};o===null?o=[n]:o.push(n),c++}if(n.name!==void 0){let e=n.name;if(typeof e==`string`){if(s(e)>200){let e={instancePath:t+`/attribution/name`,schemaPath:`#/properties/attribution/properties/name/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};o===null?o=[e]:o.push(e),c++}if(s(e)<1){let e={instancePath:t+`/attribution/name`,schemaPath:`#/properties/attribution/properties/name/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/attribution/name`,schemaPath:`#/properties/attribution/properties/name/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(n.url!==void 0){let e=n.url;if(typeof e==`string`){if(s(e)>2048){let e={instancePath:t+`/attribution/url`,schemaPath:`#/$defs/Url/maxLength`,keyword:`maxLength`,params:{limit:2048},message:`must NOT have more than 2048 characters`};o===null?o=[e]:o.push(e),c++}if(!v(e)){let e={instancePath:t+`/attribution/url`,schemaPath:`#/$defs/Url/format`,keyword:`format`,params:{format:`uri`},message:`must match format "uri"`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/attribution/url`,schemaPath:`#/$defs/Url/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}}else{let e={instancePath:t+`/attribution`,schemaPath:`#/properties/attribution/type`,keyword:`type`,params:{type:`object`},message:`must be object`};o===null?o=[e]:o.push(e),c++}}if(e.rights!==void 0){let n=e.rights;if(typeof n==`string`){if(s(n)>1e3){let e={instancePath:t+`/rights`,schemaPath:`#/properties/rights/maxLength`,keyword:`maxLength`,params:{limit:1e3},message:`must NOT have more than 1000 characters`};o===null?o=[e]:o.push(e),c++}if(s(n)<1){let e={instancePath:t+`/rights`,schemaPath:`#/properties/rights/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/rights`,schemaPath:`#/properties/rights/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};o===null?o=[e]:o.push(e),c++}return Te.errors=o,c===0}Te.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};function Ee(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:a={}}={}){let o=null,c=0,l=Ee.evaluated;if(l.dynamicProps&&(l.props=void 0),l.dynamicItems&&(l.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.contentLicense===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`contentLicense`},message:`must have required property 'contentLicense'`};o===null?o=[e]:o.push(e),c++}for(let n in e)if(!(n===`createdAt`||n===`updatedAt`||n===`generator`||n===`contentLicense`||n===`privacy`)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};o===null?o=[e]:o.push(e),c++}if(e.createdAt!==void 0){let n=e.createdAt;if(typeof n==`string`){if(!F.validate(n)){let e={instancePath:t+`/createdAt`,schemaPath:`#/$defs/IsoDateTime/format`,keyword:`format`,params:{format:`date-time`},message:`must match format "date-time"`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/createdAt`,schemaPath:`#/$defs/IsoDateTime/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(e.updatedAt!==void 0){let n=e.updatedAt;if(typeof n==`string`){if(!F.validate(n)){let e={instancePath:t+`/updatedAt`,schemaPath:`#/$defs/IsoDateTime/format`,keyword:`format`,params:{format:`date-time`},message:`must match format "date-time"`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/updatedAt`,schemaPath:`#/$defs/IsoDateTime/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(e.generator!==void 0){let n=e.generator;if(typeof n==`string`){if(s(n)>100){let e={instancePath:t+`/generator`,schemaPath:`#/properties/generator/maxLength`,keyword:`maxLength`,params:{limit:100},message:`must NOT have more than 100 characters`};o===null?o=[e]:o.push(e),c++}if(s(n)<1){let e={instancePath:t+`/generator`,schemaPath:`#/properties/generator/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/generator`,schemaPath:`#/properties/generator/type`,keyword:`type`,params:{type:`string`},message:`must be string`};o===null?o=[e]:o.push(e),c++}}if(e.contentLicense!==void 0&&(Te(e.contentLicense,{instancePath:t+`/contentLicense`,parentData:e,parentDataProperty:`contentLicense`,rootData:i,dynamicAnchors:a})||(o=o===null?Te.errors:o.concat(Te.errors),c=o.length)),e.privacy!==void 0){let n=e.privacy;if(n&&typeof n==`object`&&!Array.isArray(n)){for(let e in n)if(!(e===`hideCredentialIds`||e===`hideEducationGrades`)){let n={instancePath:t+`/privacy`,schemaPath:`#/$defs/MetaPrivacy/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e},message:`must NOT have additional properties`};o===null?o=[n]:o.push(n),c++}if(n.hideCredentialIds!==void 0&&typeof n.hideCredentialIds!=`boolean`){let e={instancePath:t+`/privacy/hideCredentialIds`,schemaPath:`#/$defs/MetaPrivacy/properties/hideCredentialIds/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};o===null?o=[e]:o.push(e),c++}if(n.hideEducationGrades!==void 0&&typeof n.hideEducationGrades!=`boolean`){let e={instancePath:t+`/privacy/hideEducationGrades`,schemaPath:`#/$defs/MetaPrivacy/properties/hideEducationGrades/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};o===null?o=[e]:o.push(e),c++}}else{let e={instancePath:t+`/privacy`,schemaPath:`#/$defs/MetaPrivacy/type`,keyword:`type`,params:{type:`object`},message:`must be object`};o===null?o=[e]:o.push(e),c++}}}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};o===null?o=[e]:o.push(e),c++}return Ee.errors=o,c===0}Ee.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1};function De(e,{instancePath:t=``,parentData:a,parentDataProperty:o,rootData:s=e,dynamicAnchors:c={}}={}){let l=null,u=0,d=De.evaluated;if(d.dynamicProps&&(d.props=void 0),d.dynamicItems&&(d.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){if(e.schemaVersion===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`schemaVersion`},message:`must have required property 'schemaVersion'`};l===null?l=[e]:l.push(e),u++}if(e.profile===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`profile`},message:`must have required property 'profile'`};l===null?l=[e]:l.push(e),u++}if(e.contact===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`contact`},message:`must have required property 'contact'`};l===null?l=[e]:l.push(e),u++}if(e.settings===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`settings`},message:`must have required property 'settings'`};l===null?l=[e]:l.push(e),u++}if(e.meta===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`meta`},message:`must have required property 'meta'`};l===null?l=[e]:l.push(e),u++}for(let i in e)if(!r.call(n.properties,i)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:i},message:`must NOT have additional properties`};l===null?l=[e]:l.push(e),u++}if(e.schemaVersion!==void 0){let n=e.schemaVersion;if(typeof n==`string`){if(!i.test(n)){let e={instancePath:t+`/schemaVersion`,schemaPath:`#/properties/schemaVersion/pattern`,keyword:`pattern`,params:{pattern:`^[0-9]+\\.[0-9]+\\.[0-9]+(-[a-zA-Z0-9.-]+)?$`},message:`must match pattern "^[0-9]+\\.[0-9]+\\.[0-9]+(-[a-zA-Z0-9.-]+)?$"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/schemaVersion`,schemaPath:`#/properties/schemaVersion/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.profile!==void 0&&(h(e.profile,{instancePath:t+`/profile`,parentData:e,parentDataProperty:`profile`,rootData:s,dynamicAnchors:c})||(l=l===null?h.errors:l.concat(h.errors),u=l.length)),e.links!==void 0){let n=e.links;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/links`,schemaPath:`#/properties/links/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)b(n[r],{instancePath:t+`/links/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?b.errors:l.concat(b.errors),u=l.length)}else{let e={instancePath:t+`/links`,schemaPath:`#/properties/links/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.careers!==void 0){let n=e.careers;if(Array.isArray(n)){if(n.length>50){let e={instancePath:t+`/careers`,schemaPath:`#/properties/careers/maxItems`,keyword:`maxItems`,params:{limit:50},message:`must NOT have more than 50 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)C(n[r],{instancePath:t+`/careers/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?C.errors:l.concat(C.errors),u=l.length)}else{let e={instancePath:t+`/careers`,schemaPath:`#/properties/careers/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.projects!==void 0){let n=e.projects;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/projects`,schemaPath:`#/properties/projects/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)T(n[r],{instancePath:t+`/projects/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?T.errors:l.concat(T.errors),u=l.length)}else{let e={instancePath:t+`/projects`,schemaPath:`#/properties/projects/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.skills!==void 0){let n=e.skills;if(Array.isArray(n)){if(n.length>200){let e={instancePath:t+`/skills`,schemaPath:`#/properties/skills/maxItems`,keyword:`maxItems`,params:{limit:200},message:`must NOT have more than 200 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)ee(n[r],{instancePath:t+`/skills/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?ee.errors:l.concat(ee.errors),u=l.length)}else{let e={instancePath:t+`/skills`,schemaPath:`#/properties/skills/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.certifications!==void 0){let n=e.certifications;if(Array.isArray(n)){if(n.length>50){let e={instancePath:t+`/certifications`,schemaPath:`#/properties/certifications/maxItems`,keyword:`maxItems`,params:{limit:50},message:`must NOT have more than 50 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)E(n[r],{instancePath:t+`/certifications/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?E.errors:l.concat(E.errors),u=l.length)}else{let e={instancePath:t+`/certifications`,schemaPath:`#/properties/certifications/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.memberships!==void 0){let n=e.memberships;if(Array.isArray(n)){if(n.length>50){let e={instancePath:t+`/memberships`,schemaPath:`#/properties/memberships/maxItems`,keyword:`maxItems`,params:{limit:50},message:`must NOT have more than 50 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)re(n[r],{instancePath:t+`/memberships/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?re.errors:l.concat(re.errors),u=l.length)}else{let e={instancePath:t+`/memberships`,schemaPath:`#/properties/memberships/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.volunteering!==void 0){let n=e.volunteering;if(Array.isArray(n)){if(n.length>50){let e={instancePath:t+`/volunteering`,schemaPath:`#/properties/volunteering/maxItems`,keyword:`maxItems`,params:{limit:50},message:`must NOT have more than 50 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)ae(n[r],{instancePath:t+`/volunteering/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?ae.errors:l.concat(ae.errors),u=l.length)}else{let e={instancePath:t+`/volunteering`,schemaPath:`#/properties/volunteering/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.honors!==void 0){let n=e.honors;if(Array.isArray(n)){if(n.length>50){let e={instancePath:t+`/honors`,schemaPath:`#/properties/honors/maxItems`,keyword:`maxItems`,params:{limit:50},message:`must NOT have more than 50 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)D(n[r],{instancePath:t+`/honors/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?D.errors:l.concat(D.errors),u=l.length)}else{let e={instancePath:t+`/honors`,schemaPath:`#/properties/honors/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.education!==void 0){let n=e.education;if(Array.isArray(n)){if(n.length>30){let e={instancePath:t+`/education`,schemaPath:`#/properties/education/maxItems`,keyword:`maxItems`,params:{limit:30},message:`must NOT have more than 30 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)O(n[r],{instancePath:t+`/education/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?O.errors:l.concat(O.errors),u=l.length)}else{let e={instancePath:t+`/education`,schemaPath:`#/properties/education/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.publications!==void 0){let n=e.publications;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/publications`,schemaPath:`#/properties/publications/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)ce(n[r],{instancePath:t+`/publications/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?ce.errors:l.concat(ce.errors),u=l.length)}else{let e={instancePath:t+`/publications`,schemaPath:`#/properties/publications/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.languages!==void 0){let n=e.languages;if(Array.isArray(n)){if(n.length>30){let e={instancePath:t+`/languages`,schemaPath:`#/properties/languages/maxItems`,keyword:`maxItems`,params:{limit:30},message:`must NOT have more than 30 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)A(n[r],{instancePath:t+`/languages/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?A.errors:l.concat(A.errors),u=l.length)}else{let e={instancePath:t+`/languages`,schemaPath:`#/properties/languages/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.courses!==void 0){let n=e.courses;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/courses`,schemaPath:`#/properties/courses/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)M(n[r],{instancePath:t+`/courses/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?M.errors:l.concat(M.errors),u=l.length)}else{let e={instancePath:t+`/courses`,schemaPath:`#/properties/courses/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.patents!==void 0){let n=e.patents;if(Array.isArray(n)){if(n.length>50){let e={instancePath:t+`/patents`,schemaPath:`#/properties/patents/maxItems`,keyword:`maxItems`,params:{limit:50},message:`must NOT have more than 50 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)P(n[r],{instancePath:t+`/patents/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?P.errors:l.concat(P.errors),u=l.length)}else{let e={instancePath:t+`/patents`,schemaPath:`#/properties/patents/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.testScores!==void 0){let n=e.testScores;if(Array.isArray(n)){if(n.length>30){let e={instancePath:t+`/testScores`,schemaPath:`#/properties/testScores/maxItems`,keyword:`maxItems`,params:{limit:30},message:`must NOT have more than 30 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)ue(n[r],{instancePath:t+`/testScores/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?ue.errors:l.concat(ue.errors),u=l.length)}else{let e={instancePath:t+`/testScores`,schemaPath:`#/properties/testScores/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.recommendations!==void 0){let n=e.recommendations;if(Array.isArray(n)){if(n.length>50){let e={instancePath:t+`/recommendations`,schemaPath:`#/properties/recommendations/maxItems`,keyword:`maxItems`,params:{limit:50},message:`must NOT have more than 50 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r<e;r++)pe(n[r],{instancePath:t+`/recommendations/`+r,parentData:n,parentDataProperty:r,rootData:s,dynamicAnchors:c})||(l=l===null?pe.errors:l.concat(pe.errors),u=l.length)}else{let e={instancePath:t+`/recommendations`,schemaPath:`#/properties/recommendations/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}e.contact!==void 0&&(he(e.contact,{instancePath:t+`/contact`,parentData:e,parentDataProperty:`contact`,rootData:s,dynamicAnchors:c})||(l=l===null?he.errors:l.concat(he.errors),u=l.length)),e.settings!==void 0&&(we(e.settings,{instancePath:t+`/settings`,parentData:e,parentDataProperty:`settings`,rootData:s,dynamicAnchors:c})||(l=l===null?we.errors:l.concat(we.errors),u=l.length)),e.meta!==void 0&&(Ee(e.meta,{instancePath:t+`/meta`,parentData:e,parentDataProperty:`meta`,rootData:s,dynamicAnchors:c})||(l=l===null?Ee.errors:l.concat(Ee.errors),u=l.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}return De.errors=l,u===0}De.evaluated={props:!0,dynamicProps:!1,dynamicItems:!1}}}),h={$schema:`https://json-schema.org/draft/2020-12/schema`,$id:`https://takuhon.example/schemas/1.3.0/takuhon.schema.json`,title:`Takuhon Profile`,description:`Portable profile data format consumed by @takuhon/core. The canonical contract for profile content authored as takuhon.json.`,type:`object`,additionalProperties:!1,required:[`schemaVersion`,`profile`,`contact`,`settings`,`meta`],properties:{schemaVersion:{type:`string`,pattern:`^[0-9]+\\.[0-9]+\\.[0-9]+(-[a-zA-Z0-9.-]+)?$`,description:`Semantic version of the takuhon schema this document conforms to.`},profile:{$ref:`#/$defs/Profile`},links:{type:`array`,maxItems:100,items:{$ref:`#/$defs/Link`}},careers:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Career`}},projects:{type:`array`,maxItems:100,items:{$ref:`#/$defs/Project`}},skills:{type:`array`,maxItems:200,items:{$ref:`#/$defs/Skill`}},certifications:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Certification`}},memberships:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Membership`}},volunteering:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Volunteering`}},honors:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Honor`}},education:{type:`array`,maxItems:30,items:{$ref:`#/$defs/Education`}},publications:{type:`array`,maxItems:100,items:{$ref:`#/$defs/Publication`}},languages:{type:`array`,maxItems:30,items:{$ref:`#/$defs/Language`}},courses:{type:`array`,maxItems:100,items:{$ref:`#/$defs/Course`}},patents:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Patent`}},testScores:{type:`array`,maxItems:30,items:{$ref:`#/$defs/TestScore`}},recommendations:{type:`array`,maxItems:50,items:{$ref:`#/$defs/Recommendation`}},contact:{$ref:`#/$defs/Contact`},settings:{$ref:`#/$defs/Settings`},meta:{$ref:`#/$defs/Meta`}},$defs:{LocaleTag:{type:`string`,minLength:2,maxLength:35,pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`,description:`BCP-47 language tag (e.g., 'en', 'ja', 'zh-Hant', 'pt-BR').`},Iso3166Alpha2:{type:`string`,pattern:`^[A-Z]{2}$`,description:`ISO 3166-1 alpha-2 country code (uppercase, two letters).`},YearMonth:{type:`string`,pattern:`^[0-9]{4}-(0[1-9]|1[0-2])$`,description:`Year-month in 'YYYY-MM' format (Gregorian calendar).`},IsoDateTime:{type:`string`,format:`date-time`,description:`ISO 8601 date-time (e.g., 2026-05-11T12:34:56Z).`},Url:{type:`string`,format:`uri`,maxLength:2048},Email:{type:`string`,format:`email`,maxLength:254},Slug:{type:`string`,minLength:1,maxLength:64,pattern:`^[a-z0-9][a-z0-9-]*$`,description:`URL-safe identifier (lowercase alphanumerics and hyphens, must start with alphanumeric).`},Visibility:{type:`string`,enum:[`public`,`private`],description:`Per-item public visibility (added in 0.7.0). 'private' removes the item from every public surface via applyPublicPrivacyFilter; an absent value or 'public' keeps the item public.`},LocalizedTitle:{type:`object`,minProperties:1,propertyNames:{type:`string`,pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},additionalProperties:{type:`string`,minLength:1,maxLength:200,pattern:`\\S`},description:`Map of BCP-47 locale tag to short title-like string (max 200 chars per value). Each value must contain at least one non-whitespace character.`},LocalizedBody:{type:`object`,minProperties:1,propertyNames:{type:`string`,pattern:`^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$`},additionalProperties:{type:`string`,minLength:1,maxLength:5e3,pattern:`\\S`},description:`Map of BCP-47 locale tag to body-length string (max 5000 chars per value). Each value must contain at least one non-whitespace character.`},LinkType:{type:`string`,enum:[`website`,`blog`,`github`,`gitlab`,`linkedin`,`x`,`mastodon`,`bluesky`,`instagram`,`youtube`,`threads`,`facebook`,`email`,`rss`,`custom`],description:`Identifies the kind of link. 'custom' requires iconUrl.`},Profile:{type:`object`,additionalProperties:!1,required:[`displayName`],properties:{displayName:{$ref:`#/$defs/LocalizedTitle`},tagline:{$ref:`#/$defs/LocalizedTitle`},bio:{$ref:`#/$defs/LocalizedBody`},avatar:{$ref:`#/$defs/Avatar`},location:{$ref:`#/$defs/Address`}}},Avatar:{type:`object`,additionalProperties:!1,required:[`url`],properties:{url:{type:`string`,format:`uri-reference`,maxLength:2048,description:`URL or path to the avatar image.`},alt:{$ref:`#/$defs/LocalizedTitle`}}},Address:{type:`object`,additionalProperties:!1,properties:{country:{$ref:`#/$defs/Iso3166Alpha2`},region:{type:`string`,maxLength:100},locality:{$ref:`#/$defs/LocalizedTitle`},display:{$ref:`#/$defs/LocalizedTitle`}}},Link:{type:`object`,additionalProperties:!1,required:[`id`,`type`,`url`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},type:{$ref:`#/$defs/LinkType`},label:{$ref:`#/$defs/LocalizedTitle`},url:{$ref:`#/$defs/Url`},featured:{type:`boolean`},order:{type:`integer`,minimum:0},iconUrl:{$ref:`#/$defs/Url`}},allOf:[{if:{properties:{type:{const:`custom`}},required:[`type`]},then:{properties:{iconUrl:{$ref:`#/$defs/Url`}},required:[`iconUrl`]}}]},Career:{type:`object`,additionalProperties:!1,required:[`id`,`organization`,`role`,`startDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},organization:{$ref:`#/$defs/LocalizedTitle`},role:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}]},isCurrent:{type:`boolean`},url:{$ref:`#/$defs/Url`},location:{$ref:`#/$defs/Address`},order:{type:`integer`,minimum:0}}},Project:{type:`object`,additionalProperties:!1,required:[`id`,`title`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},url:{$ref:`#/$defs/Url`},tags:{type:`array`,maxItems:30,items:{type:`string`,minLength:1,maxLength:50}},relatedCareerId:{$ref:`#/$defs/Slug`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}]},highlighted:{type:`boolean`},order:{type:`integer`,minimum:0}}},Skill:{type:`object`,additionalProperties:!1,required:[`id`,`label`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},label:{type:`string`,minLength:1,maxLength:100},category:{type:`string`,minLength:1,maxLength:64,description:`Recommended values (extensible): programming, design, business, communication, language, music, art, sports, other.`},order:{type:`integer`,minimum:0}}},SkillCategory:{type:`object`,additionalProperties:!1,required:[`id`,`label`],properties:{id:{type:`string`,minLength:1,maxLength:64,description:"Matches the `category` value on the skills that belong to this group."},label:{$ref:`#/$defs/LocalizedTitle`,description:`Localized display heading for the group.`}}},Contact:{type:`object`,additionalProperties:!1,properties:{email:{$ref:`#/$defs/Email`},showEmail:{type:`boolean`,default:!1},formUrl:{$ref:`#/$defs/Url`}}},Settings:{type:`object`,additionalProperties:!1,required:[`defaultLocale`,`availableLocales`],properties:{defaultLocale:{$ref:`#/$defs/LocaleTag`},fallbackLocale:{$ref:`#/$defs/LocaleTag`},availableLocales:{type:`array`,minItems:1,maxItems:50,uniqueItems:!0,items:{$ref:`#/$defs/LocaleTag`}},theme:{type:`string`,minLength:1,maxLength:64,description:`UI theme identifier. 'default' is the built-in theme; adapters may add more.`},showPoweredBy:{type:`boolean`,default:!0,description:`Display the 'Powered by takuhon' attribution in the rendered profile.`},enableJsonLd:{type:`boolean`,default:!0,description:`Emit Schema.org JSON-LD on the rendered profile page.`},enableApi:{type:`boolean`,default:!0,description:`Expose the public read API endpoints (GET /api/profile, /api/jsonld, /api/schema, /takuhon.json).`},enableAnalytics:{type:`boolean`,default:!1,description:`Opt-in flag for first-party analytics. Default is false to keep takuhon privacy-respecting by default.`},activity:{$ref:`#/$defs/ActivitySettings`},publicVisibility:{$ref:`#/$defs/PublicVisibility`},contact:{$ref:`#/$defs/ContactSettings`},appearance:{$ref:`#/$defs/AppearanceSettings`},skillCategories:{type:`array`,maxItems:50,items:{$ref:`#/$defs/SkillCategory`},description:"Ordered skill-category display groups (added in 1.3.0). When present, the rendered profile groups skills by their `category` under these localized headings, in array order; absent = the flat skill list. A skill whose `category` is not listed here (or which has none) renders in a trailing group so nothing is dropped."}}},AppearanceSettings:{type:`object`,additionalProperties:!1,description:`Opt-in design tokens for the rendered profile (added in 1.2.0). A declarative re-skin seam: owners override the standard renderer's built-in color and font defaults. This is a token map only, not arbitrary CSS — every value is length- and pattern-constrained so it cannot break out of the inline <style>. Overriding tokens re-skins the page but cannot re-layout it (spacing/radius/type-scale are intentionally not exposed). Absent = the built-in defaults are used unchanged.`,properties:{fontFamily:{type:`string`,minLength:1,maxLength:256,pattern:`^[A-Za-z0-9\\s,'"._-]+$`,description:`CSS font-family stack for the page body, e.g. "Inter, system-ui, sans-serif". Quotes and commas are allowed; CSS-structural characters (; { } < >) are not.`},colors:{$ref:`#/$defs/AppearanceColors`,description:`Light-mode (:root) color overrides.`},colorsDark:{$ref:`#/$defs/AppearanceColors`,description:`Dark-mode (prefers-color-scheme: dark) color overrides. Note: until the standard renderer ships a default dark palette, only the keys set here change in dark mode.`}}},AppearanceColors:{type:`object`,additionalProperties:!1,description:`A set of overridable color tokens. Each value is a CSS color (hex, rgb()/rgba(), hsl()/hsla(), or a named color); CSS-structural characters (; { } < > " ' \\) are disallowed so a value cannot escape the inline <style>.`,properties:{bg:{$ref:`#/$defs/CssColor`,description:`Page background.`},surface:{$ref:`#/$defs/CssColor`,description:`Raised surfaces such as skill/tag chips.`},text:{$ref:`#/$defs/CssColor`,description:`Primary body text.`},textMuted:{$ref:`#/$defs/CssColor`,description:`Secondary/muted text (taglines, meta, captions).`},border:{$ref:`#/$defs/CssColor`,description:`Hairline borders and rules.`},accent:{$ref:`#/$defs/CssColor`,description:`Accent color for emphasis and focus affordances.`},primary:{$ref:`#/$defs/CssColor`,description:`Primary interactive color, e.g. links.`},primaryContrast:{$ref:`#/$defs/CssColor`,description:`Foreground color used on top of the primary color.`}}},CssColor:{type:`string`,minLength:1,maxLength:64,pattern:`^(?:#[0-9A-Fa-f]{3,8}|[A-Za-z]+|(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\\([A-Za-z0-9.,%/\\s-]*\\))$`,description:`A CSS color value, restricted to a safe allowlist: a hex color (#rgb/#rgba/#rrggbb/#rrggbbaa), a bare keyword (named colors, currentColor, transparent), or a color function (rgb/rgba/hsl/hsla/hwb/lab/lch/oklab/oklch/color). url(), image-set(), var(), and other fetch- or reference-bearing functions are intentionally excluded so a value can never trigger an external request or escape the inline <style>.`},ContactSettings:{type:`object`,additionalProperties:!1,description:`Opt-in contact form configuration (added in 1.1.0). Only public values live here; the Turnstile site key is safe to embed in the page. The Turnstile secret, the recipient address, and the From label are provisioned out of band as environment configuration and are never stored in takuhon.json. Adapters that support the form mount the widget and a POST endpoint when 'enabled' is true.`,properties:{enabled:{type:`boolean`,default:!1,description:`Master switch. When false (the default), no contact form is mounted even if a site key is present.`},turnstileSiteKey:{type:`string`,minLength:1,maxLength:128,description:`Public Cloudflare Turnstile site key, safe to embed in the page. Without it the widget is not mounted.`},endpoint:{type:`string`,minLength:1,maxLength:2048,description:`Override the POST endpoint the widget submits to. Defaults to /api/contact on the same origin.`},subjectPrefix:{type:`string`,minLength:1,maxLength:128,description:`Subject prefix for the delivered email, e.g. '[example.com contact]'.`}}},PublicVisibility:{type:`object`,additionalProperties:!1,description:`Per-section public visibility (added in 0.6.0). Each key is a content section; setting it to false hides that whole section from every public surface (GET /, /api/profile, /api/jsonld, /takuhon.json, MCP, and the derived CV) via the shared applyPublicPrivacyFilter. An absent key — or an absent object — means the section is public, so the default is all-visible and omitting this block is fully backwards-compatible. The profile identity (profile.displayName, …) is always public and is intentionally not a key here. Field-level controls (contact.showEmail, meta.privacy.*) still apply within a visible section: visibility is the AND of the feature toggle, this section flag, and the field flag.`,properties:{links:{type:`boolean`,description:`Default true. When false, links[] is emitted empty on public surfaces.`},careers:{type:`boolean`,description:`Default true. When false, careers[] is emitted empty on public surfaces.`},projects:{type:`boolean`,description:`Default true. When false, projects[] is emitted empty on public surfaces.`},skills:{type:`boolean`,description:`Default true. When false, skills[] is emitted empty on public surfaces.`},certifications:{type:`boolean`,description:`Default true. When false, certifications[] is emitted empty on public surfaces.`},memberships:{type:`boolean`,description:`Default true. When false, memberships[] is emitted empty on public surfaces.`},volunteering:{type:`boolean`,description:`Default true. When false, volunteering[] is emitted empty on public surfaces.`},honors:{type:`boolean`,description:`Default true. When false, honors[] is emitted empty on public surfaces.`},education:{type:`boolean`,description:`Default true. When false, education[] is emitted empty on public surfaces.`},publications:{type:`boolean`,description:`Default true. When false, publications[] is emitted empty on public surfaces.`},languages:{type:`boolean`,description:`Default true. When false, languages[] is emitted empty on public surfaces.`},courses:{type:`boolean`,description:`Default true. When false, courses[] is emitted empty on public surfaces.`},patents:{type:`boolean`,description:`Default true. When false, patents[] is emitted empty on public surfaces.`},testScores:{type:`boolean`,description:`Default true. When false, testScores[] is emitted empty on public surfaces.`},recommendations:{type:`boolean`,description:`Default true. When false, recommendations[] is emitted empty on public surfaces.`},contact:{type:`boolean`,description:`Default true. When false, the contact section (email, formUrl) is emitted empty on public surfaces.`}}},ActivitySettings:{type:`object`,additionalProperties:!1,description:`Opt-in developer-activity dashboard configuration (GitHub / WakaTime). Only the owner-curated settings live here; secrets are provisioned out of band and the synced metrics are stored in a separate document, never in takuhon.json.`,properties:{enabled:{type:`boolean`,default:!1,description:`Master switch. When false (the default), the activity section is not rendered even if a snapshot exists.`},github:{type:`object`,additionalProperties:!1,required:[`username`],properties:{username:{type:`string`,minLength:1,maxLength:39,description:`GitHub login whose public activity is summarized.`},showLanguages:{type:`boolean`,default:!0},showContributions:{type:`boolean`,default:!0}}},wakatime:{type:`object`,additionalProperties:!1,required:[`username`],properties:{username:{type:`string`,minLength:1,maxLength:255,description:`WakaTime username whose coding-time stats are summarized.`},showCodingTime:{type:`boolean`,default:!0}}},showRank:{type:`boolean`,default:!0,description:`Display the derived activity rank / badge.`},refreshHintHours:{type:`integer`,minimum:1,maximum:168,description:`Advisory refresh cadence in hours. The real cadence is how often the sync step (CLI command or scheduled job) runs.`}}},Meta:{type:`object`,additionalProperties:!1,required:[`contentLicense`],properties:{createdAt:{$ref:`#/$defs/IsoDateTime`},updatedAt:{$ref:`#/$defs/IsoDateTime`},generator:{type:`string`,minLength:1,maxLength:100,description:`Tool that produced this document (e.g. 'Takuhon', 'create-takuhon@0.1.0').`},contentLicense:{$ref:`#/$defs/ContentLicense`},privacy:{$ref:`#/$defs/MetaPrivacy`}}},ContentLicense:{type:`object`,additionalProperties:!1,required:[`spdxId`],properties:{spdxId:{type:`string`,minLength:1,maxLength:64,description:`SPDX identifier (e.g., 'CC-BY-4.0', 'CC0-1.0') or 'Proprietary'. No default; the profile owner must choose explicitly.`},url:{$ref:`#/$defs/Url`},attribution:{type:`object`,additionalProperties:!1,properties:{name:{type:`string`,minLength:1,maxLength:200},url:{$ref:`#/$defs/Url`}}},rights:{type:`string`,minLength:1,maxLength:1e3,description:`Free-form rights statement (used when spdxId='Proprietary' or for additional notices).`}}},MetaPrivacy:{type:`object`,additionalProperties:!1,description:`Opt-out flags that strip personally identifying fields from public API output (GET /api/profile, /api/jsonld, /takuhon.json). Admin endpoints (PUT /api/admin/*, GET /api/admin/export) ignore these flags. Privacy-by-default: omitting the object or individual flags is equivalent to true.`,properties:{hideCredentialIds:{type:`boolean`,default:!0,description:`When true (default), strip certifications[*].credentialId from public responses.`},hideEducationGrades:{type:`boolean`,default:!0,description:`When true (default), strip education[*].grade from public responses.`}}},Certification:{type:`object`,additionalProperties:!1,required:[`id`,`title`,`issuingOrganization`,`issueDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},issuingOrganization:{$ref:`#/$defs/LocalizedTitle`},issueDate:{$ref:`#/$defs/YearMonth`},expirationDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}],description:`null = explicitly 'no expiration'. Omit if unknown/unstated.`},credentialId:{type:`string`,minLength:1,maxLength:100,description:`License or certificate number. Public exposure controlled by meta.privacy.hideCredentialIds.`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}},Membership:{type:`object`,additionalProperties:!1,required:[`id`,`organization`,`startDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},organization:{$ref:`#/$defs/LocalizedTitle`},role:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}],description:`null = ongoing. Omit if unknown.`},isCurrent:{type:`boolean`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}},Volunteering:{type:`object`,additionalProperties:!1,required:[`id`,`organization`,`role`,`startDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},organization:{$ref:`#/$defs/LocalizedTitle`},role:{$ref:`#/$defs/LocalizedTitle`},cause:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}]},isCurrent:{type:`boolean`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}},Honor:{type:`object`,additionalProperties:!1,required:[`id`,`title`,`issuer`,`date`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},issuer:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},date:{$ref:`#/$defs/YearMonth`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}},Education:{type:`object`,additionalProperties:!1,required:[`id`,`institution`,`startDate`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},institution:{$ref:`#/$defs/LocalizedTitle`},degree:{$ref:`#/$defs/LocalizedTitle`},fieldOfStudy:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},grade:{type:`string`,minLength:1,maxLength:50,description:`Free-form grade / class / GPA. Public exposure controlled by meta.privacy.hideEducationGrades.`},startDate:{$ref:`#/$defs/YearMonth`},endDate:{anyOf:[{$ref:`#/$defs/YearMonth`},{type:`null`}],description:`null = currently enrolled.`},isCurrent:{type:`boolean`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}},Publication:{type:`object`,additionalProperties:!1,required:[`id`,`title`,`date`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},publisher:{$ref:`#/$defs/LocalizedTitle`},description:{$ref:`#/$defs/LocalizedBody`},date:{$ref:`#/$defs/YearMonth`},url:{$ref:`#/$defs/Url`},doi:{type:`string`,minLength:1,maxLength:200,description:`DOI identifier (e.g. '10.1145/3548643.3548644'). The full URL goes in 'url'.`},coAuthors:{type:`array`,maxItems:50,items:{type:`string`,minLength:1,maxLength:100},description:`Co-author names in original script. Excludes the profile owner.`},order:{type:`integer`,minimum:0}}},Language:{type:`object`,additionalProperties:!1,required:[`id`,`language`,`proficiency`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},language:{$ref:`#/$defs/LocaleTag`},displayName:{$ref:`#/$defs/LocalizedTitle`},proficiency:{type:`string`,enum:[`native`,`fluent`,`professional`,`intermediate`,`basic`],description:`LinkedIn-compatible 5-level proficiency.`},order:{type:`integer`,minimum:0}}},Course:{type:`object`,additionalProperties:!1,required:[`id`,`title`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},provider:{$ref:`#/$defs/LocalizedTitle`},courseNumber:{type:`string`,minLength:1,maxLength:50},description:{$ref:`#/$defs/LocalizedBody`},completionDate:{$ref:`#/$defs/YearMonth`},certificateUrl:{$ref:`#/$defs/Url`},relatedEducationId:{$ref:`#/$defs/Slug`,description:`Optional reference to an education[].id (e.g. for university coursework).`},order:{type:`integer`,minimum:0}}},Patent:{type:`object`,additionalProperties:!1,required:[`id`,`title`,`patentNumber`,`status`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},patentNumber:{type:`string`,minLength:1,maxLength:100},office:{type:`string`,maxLength:100,description:`Patent office name (e.g. 'USPTO', 'JPO', 'EPO').`},status:{type:`string`,enum:[`pending`,`issued`,`expired`,`abandoned`]},description:{$ref:`#/$defs/LocalizedBody`},filingDate:{$ref:`#/$defs/YearMonth`},grantDate:{$ref:`#/$defs/YearMonth`},url:{$ref:`#/$defs/Url`},coInventors:{type:`array`,maxItems:20,items:{type:`string`,minLength:1,maxLength:100}},order:{type:`integer`,minimum:0}}},TestScore:{type:`object`,additionalProperties:!1,required:[`id`,`title`,`score`,`date`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},title:{$ref:`#/$defs/LocalizedTitle`},score:{type:`string`,minLength:1,maxLength:50,description:`Free-form score string (e.g. '112 / 120', '330', 'N1 Pass', or a percentile). The validator does not interpret its contents.`},date:{$ref:`#/$defs/YearMonth`},relatedEducationId:{$ref:`#/$defs/Slug`,description:`Optional reference to an education[].id (e.g. for a university course exam).`},description:{$ref:`#/$defs/LocalizedBody`},url:{$ref:`#/$defs/Url`},order:{type:`integer`,minimum:0}}},Recommendation:{type:`object`,additionalProperties:!1,required:[`id`,`body`,`author`],properties:{id:{$ref:`#/$defs/Slug`},visibility:{$ref:`#/$defs/Visibility`},body:{$ref:`#/$defs/LocalizedBody`},author:{$ref:`#/$defs/RecommendationAuthor`},relationship:{$ref:`#/$defs/LocalizedTitle`,description:`How the recommender relates to the profile owner (e.g. 'managed directly', 'worked together').`},date:{$ref:`#/$defs/YearMonth`},relatedCareerId:{$ref:`#/$defs/Slug`,description:`Optional reference to a careers[].id (the position the recommendation pertains to).`},relatedEducationId:{$ref:`#/$defs/Slug`,description:`Optional reference to an education[].id (e.g. a recommendation from a professor).`},order:{type:`integer`,minimum:0}}},RecommendationAuthor:{type:`object`,additionalProperties:!1,required:[`name`],properties:{name:{type:`string`,minLength:1,maxLength:100,description:`Recommender's name, in its original script. Owner-curated; takuhon does not verify it.`},headline:{$ref:`#/$defs/LocalizedTitle`,description:`Recommender's title / role / organization at the time of the recommendation.`},url:{$ref:`#/$defs/Url`,description:`Link to the recommender's profile, for external verification by the reader.`}}}}},g=l(m(),1),_=[`0.1.0`,`0.2.0`,`0.3.0`,`0.4.0`,`0.5.0`,`0.6.0`,`0.7.0`,`1.0.0`,`1.1.0`,`1.2.0`,`1.3.0`];function v(e){if(typeof e!=`object`||!e||Array.isArray(e))return{ok:!1,errors:[{pointer:``,message:`takuhon.json must be a JSON object.`,keyword:`type`}]};let t=e;if(typeof t.schemaVersion==`string`&&!w(t.schemaVersion))return{ok:!1,errors:[{pointer:`/schemaVersion`,message:`schemaVersion "${t.schemaVersion}" is not in the supported window (${_.join(`, `)}).`,keyword:`schemaVersion`}]};if((0,g.default)(e)){let t=JSON.parse(JSON.stringify(e));b(t);let n=S(t);if(n!==void 0)return{ok:!1,errors:[{pointer:`/${n.key}/${n.index}/id`,message:`Duplicate ${n.key}[].id value "${n.id}" \u2014 each entry must declare an id that is unique within its array.`,keyword:`uniqueItems`}]};let r=C(t.languages);return r===void 0?{ok:!0,data:t}:{ok:!1,errors:[{pointer:`/languages/${r.index}/language`,message:`Duplicate languages[].language value "${r.tag}" \u2014 each entry must declare a unique BCP-47 tag.`,keyword:`uniqueItems`}]}}return{ok:!1,errors:(g.default.errors??[]).map(T)}}var y=[`links`,`careers`,`projects`,`skills`,`certifications`,`memberships`,`volunteering`,`honors`,`education`,`publications`,`languages`,`courses`,`patents`,`testScores`,`recommendations`];function b(e){let t=e;for(let e of y)Array.isArray(t[e])||(t[e]=[])}var x=[`links`,`careers`,`projects`,`skills`,`certifications`,`memberships`,`volunteering`,`honors`,`education`,`publications`,`languages`,`courses`,`patents`,`testScores`,`recommendations`];function S(e){let t=e;for(let e of x){let n=t[e];if(!Array.isArray(n))continue;let r=new Set;for(let t=0;t<n.length;t++){let i=n[t],a=i!==void 0&&typeof i.id==`string`?i.id:void 0;if(a!==void 0){if(r.has(a))return{key:e,index:t,id:a};r.add(a)}}}}function C(e){let t=new Map;for(let n=0;n<e.length;n++){let r=e[n];if(r===void 0)continue;let i=r.language.toLowerCase();if(t.has(i))return{index:n,tag:r.language};t.set(i,n)}}function w(e){return _.includes(e)}function T(e){let t=e.instancePath;if(e.keyword===`required`){let n=e.params.missingProperty;typeof n==`string`&&(t=`${e.instancePath}/${ee(n)}`)}else if(e.keyword===`additionalProperties`){let n=e.params.additionalProperty;typeof n==`string`&&(t=`${e.instancePath}/${ee(n)}`)}return{pointer:t,message:e.message??`Validation failed.`,keyword:e.keyword,schemaPointer:e.schemaPath?e.schemaPath:void 0}}function ee(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}var te=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);function E(e,t){return e>>>t|e<<32-t}function ne(e){return(e>>>0).toString(16).padStart(8,`0`)}function re(e){let t=1779033703,n=3144134277,r=1013904242,i=2773480762,a=1359893119,o=2600822924,s=528734635,c=1541459225,l=e.length*8,u=e.length+1,d=u+((56-u%64)%64+64)%64+8,f=new Uint8Array(d);f.set(e),f[e.length]=128;let p=Math.floor(l/4294967296),m=l>>>0;f[d-8]=p>>>24&255,f[d-7]=p>>>16&255,f[d-6]=p>>>8&255,f[d-5]=p&255,f[d-4]=m>>>24&255,f[d-3]=m>>>16&255,f[d-2]=m>>>8&255,f[d-1]=m&255;let h=new Uint32Array(64);for(let e=0;e<d;e+=64){for(let t=0;t<16;t++){let n=e+t*4;h[t]=(f[n]<<24|f[n+1]<<16|f[n+2]<<8|f[n+3])>>>0}for(let e=16;e<64;e++){let t=E(h[e-15],7)^E(h[e-15],18)^h[e-15]>>>3,n=E(h[e-2],17)^E(h[e-2],19)^h[e-2]>>>10;h[e]=h[e-16]+t+h[e-7]+n>>>0}let l=t,u=n,d=r,p=i,m=a,g=o,_=s,v=c;for(let e=0;e<64;e++){let t=E(m,6)^E(m,11)^E(m,25),n=m&g^~m&_,r=v+t+n+te[e]+h[e]>>>0,i=(E(l,2)^E(l,13)^E(l,22))+(l&u^l&d^u&d)>>>0;v=_,_=g,g=m,m=p+r>>>0,p=d,d=u,u=l,l=r+i>>>0}t=t+l>>>0,n=n+u>>>0,r=r+d>>>0,i=i+p>>>0,a=a+m>>>0,o=o+g>>>0,s=s+_>>>0,c=c+v>>>0}return ne(t)+ne(n)+ne(r)+ne(i)+ne(a)+ne(o)+ne(s)+ne(c)}var ie=`https://gravatar.com/avatar/`;function ae(e,t){let n=re(new TextEncoder().encode(e.trim().toLowerCase())),r=new URLSearchParams;t?.size!==void 0&&r.set(`s`,String(t.size)),t?.defaultImage!==void 0&&r.set(`d`,t.defaultImage);let i=r.toString();return i?`${ie}${n}?${i}`:`${ie}${n}`}var D=e((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function ee(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function te(e,t){return ee(e.type,t,e.props)}function E(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function ne(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var re=/\/+/g;function ie(e,t){return typeof e==`object`&&e&&e.key!=null?ne(``+e.key):t.toString(36)}function ae(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function D(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,D(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+ie(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(re,`$&/`)+`/`),D(o,r,i,``,function(e){return e})):o!=null&&(E(o)&&(o=te(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(re,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+ie(a,u),c+=D(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+ie(a,u++),c+=D(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return D(ae(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function oe(e,t,n){if(e==null)return e;var r=[],i=0;return D(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function O(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var se=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},ce={map:oe,forEach:function(e,t,n){oe(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return oe(e,function(){t++}),t},toArray:function(e){return oe(e,function(e){return e})||[]},only:function(e){if(!E(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=ce,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return ee(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return ee(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=E,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:O}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,se)}catch(e){se(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.6`})),oe=e(((e,t)=>{t.exports=D()})),O=oe(),se={field:`_field_8swnx_1`,label:`_label_8swnx_8`,hint:`_hint_8swnx_15`,errors:`_errors_8swnx_22`},ce=e((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),k=e(((e,t)=>{t.exports=ce()}))(),A={control:`_control_8pwvq_1`,textarea:`_textarea_8pwvq_26`,checkboxRow:`_checkboxRow_8pwvq_31`,checkbox:`_checkbox_8pwvq_31`,checkboxLabel:`_checkboxLabel_8pwvq_44`},j={uploadRow:`_uploadRow_bht3r_1`,uploadLabel:`_uploadLabel_bht3r_9`,uploadStatus:`_uploadStatus_bht3r_15`,uploadError:`_uploadError_bht3r_20`},M={actionRow:`_actionRow_lnzi7_1`,applyButton:`_applyButton_lnzi7_6`},N={group:`_group_sz8r0_1`,groupLabel:`_groupLabel_sz8r0_8`,hint:`_hint_sz8r0_15`,tablist:`_tablist_sz8r0_22`,tab:`_tab_sz8r0_22`,tabActive:`_tabActive_sz8r0_45`,tabError:`_tabError_sz8r0_52`,srOnly:`_srOnly_sz8r0_56`,panel:`_panel_sz8r0_68`,control:`_control_sz8r0_74`,textarea:`_textarea_sz8r0_98`,errors:`_errors_sz8r0_103`},P={fieldset:`_fieldset_87ya6_1`,legend:`_legend_87ya6_9`,empty:`_empty_87ya6_17`,list:`_list_87ya6_24`,item:`_item_87ya6_33`,itemHeader:`_itemHeader_87ya6_40`,itemCaption:`_itemCaption_87ya6_49`,itemActions:`_itemActions_87ya6_59`,itemBody:`_itemBody_87ya6_64`,iconButton:`_iconButton_87ya6_69`,removeButton:`_removeButton_87ya6_70`,addButton:`_addButton_87ya6_71`},le={subheading:`_subheading_1wfs9_1`,hint:`_hint_1wfs9_9`},ue={wrapper:`_wrapper_1hnv3_1`,heading:`_heading_1hnv3_5`,hint:`_hint_1hnv3_13`,textarea:`_textarea_1hnv3_20`,problems:`_problems_1hnv3_44`,problemsTitle:`_problemsTitle_1hnv3_54`},de={editor:`_editor_rdsn8_1`,toolbar:`_toolbar_rdsn8_10`,modes:`_modes_rdsn8_24`,actions:`_actions_rdsn8_25`,modeButton:`_modeButton_rdsn8_31`,primary:`_primary_rdsn8_32`,secondary:`_secondary_rdsn8_33`,modeActive:`_modeActive_rdsn8_52`,status:`_status_rdsn8_70`,summary:`_summary_rdsn8_84`,summaryHeading:`_summaryHeading_rdsn8_92`,sections:`_sections_rdsn8_98`};function fe(e){let t=e.trim();return t.startsWith(`#`)&&(t=t.slice(1)),t!==``&&!t.startsWith(`/`)&&(t=`/${t}`),t}function pe(e){let t=new Map;for(let n of e){let e=fe(n.pointer??n.path??``),r=t.get(e);r?r.push(n.message):t.set(e,[n.message])}return t}function me(e){return pe(e)}function he(e,t){return e.get(fe(t))??[]}function ge(e,t){let n=fe(t);for(let t of e.keys())if(t===n||t.startsWith(`${n}/`))return!0;return!1}function _e(e,t){let n=fe(t),r=[];for(let[t,i]of e)(t===n||t.startsWith(`${n}/`))&&r.push(...i);return r}var ve=new Map;function ye({label:e,errors:t,hint:n,required:r,children:i}){let a=(0,O.useId)(),o=(0,O.useId)(),s=(0,O.useId)(),c=(t?.length??0)>0,l=[n?o:void 0,c?s:void 0].filter(Boolean).join(` `)||void 0;return(0,k.jsxs)(`div`,{className:se.field,children:[(0,k.jsxs)(`label`,{className:se.label,htmlFor:a,children:[e,r?(0,k.jsx)(`span`,{"aria-hidden":`true`,children:` *`}):null]}),n?(0,k.jsx)(`p`,{className:se.hint,id:o,children:n}):null,i({controlId:a,describedBy:l,invalid:c}),c?(0,k.jsx)(`ul`,{className:se.errors,id:s,children:t.map((e,t)=>(0,k.jsx)(`li`,{children:e},t))}):null]})}function be({label:e,value:t,onChange:n,errors:r,hint:i,required:a,placeholder:o,type:s=`text`,inputMode:c}){return(0,k.jsx)(ye,{label:e,errors:r,hint:i,required:a,children:({controlId:e,describedBy:r,invalid:i})=>(0,k.jsx)(`input`,{id:e,className:A.control,type:s,value:t,placeholder:o,inputMode:c,"aria-invalid":i||void 0,"aria-required":a?!0:void 0,"aria-describedby":r,onChange:e=>{n(e.target.value)}})})}function xe({label:e,value:t,options:n,onChange:r,errors:i,hint:a,required:o}){return(0,k.jsx)(ye,{label:e,errors:i,hint:a,required:o,children:({controlId:e,describedBy:i,invalid:a})=>(0,k.jsx)(`select`,{id:e,className:A.control,value:t,"aria-invalid":a||void 0,"aria-required":o?!0:void 0,"aria-describedby":i,onChange:e=>{r(e.target.value)},children:n.map(e=>(0,k.jsx)(`option`,{value:e.value,children:e.label},e.value))})})}function Se({label:e,checked:t,onChange:n}){let r=(0,O.useId)();return(0,k.jsxs)(`div`,{className:A.checkboxRow,children:[(0,k.jsx)(`input`,{id:r,className:A.checkbox,type:`checkbox`,checked:t,onChange:e=>{n(e.target.checked)}}),(0,k.jsx)(`label`,{className:A.checkboxLabel,htmlFor:r,children:e})]})}var Ce={"app.title":`takuhon admin`,"toolbar.label":`Editor actions`,"mode.label":`Editing mode`,"mode.form":`Form`,"mode.advanced":`Advanced (JSON)`,"action.save":`Save`,"action.reload":`Reload`,"action.export":`Export`,"action.import":`Import`,"action.add":`Add`,"action.remove":`Remove`,"action.moveUp":`Move up`,"action.moveDown":`Move down`,"status.saving":`Saving…`,"status.saved":`Saved.`,"status.loading":`Loading…`,"status.conflict":`The profile changed on the server since it was loaded. Reload, then reapply the edits.`,"status.invalid":`Some fields need attention before saving.`,"status.fixSummary":`Please fix the following:`,"status.error":`Something went wrong. Please try again.`,"status.imported":`Imported. Review the fields, then save to apply.`,"status.importInvalid":`The imported file is not a valid takuhon document.`,"status.uploading":`Uploading…`,"status.uploadError":`Upload failed. Please try again.`,"section.profile":`Profile`,"section.about":`About`,"section.links":`Links`,"section.careers":`Experience`,"section.projects":`Projects`,"section.skills":`Skills`,"section.settings":`Settings`,"section.education":`Education`,"section.certifications":`Certifications`,"section.publications":`Publications`,"section.honors":`Honors & awards`,"section.volunteering":`Volunteering`,"section.memberships":`Memberships`,"section.languages":`Languages`,"section.courses":`Courses`,"section.patents":`Patents`,"section.testScores":`Test scores`,"section.recommendations":`Recommendations`,"section.contact":`Contact`,"section.meta":`Metadata`,"field.displayName":`Display name`,"field.tagline":`Tagline`,"field.bio":`Bio`,"field.avatarUrl":`Avatar URL`,"field.avatarUpload":`Upload image`,"field.avatarAlt":`Avatar alternative text`,"field.gravatarEmail":`Gravatar email`,"field.gravatarApply":`Use Gravatar`,"field.location.country":`Country`,"field.location.region":`Region`,"field.location.locality":`Locality`,"field.location.display":`Location (display)`,"field.link.type":`Type`,"field.link.url":`URL`,"field.link.label":`Label`,"field.link.iconUrl":`Icon URL`,"field.link.featured":`Featured`,"field.career.organization":`Organization`,"field.career.role":`Role`,"field.career.description":`Description`,"field.career.startDate":`Start`,"field.career.endDate":`End`,"field.career.isCurrent":`Current position`,"field.career.url":`URL`,"field.project.title":`Title`,"field.project.description":`Description`,"field.project.url":`URL`,"field.project.tags":`Tags`,"field.project.highlighted":`Highlighted`,"field.project.startDate":`Start`,"field.project.endDate":`End`,"field.skill.label":`Label`,"field.skill.category":`Category`,"field.settings.defaultLocale":`Default locale`,"field.settings.fallbackLocale":`Fallback locale`,"field.settings.availableLocales":`Available locales`,"field.settings.theme":`Theme`,"field.settings.showPoweredBy":`Show the "Powered by takuhon" footer`,"field.settings.enableJsonLd":`Emit Schema.org JSON-LD`,"field.settings.enableApi":`Expose the public read API`,"field.settings.enableAnalytics":`Enable first-party analytics`,"field.settings.contact":`Contact form`,"field.contactSettings.enabled":`Enable contact form`,"field.contactSettings.turnstileSiteKey":`Turnstile site key (public)`,"field.contactSettings.subjectPrefix":`Email subject prefix`,"field.settings.publicVisibility":`Public sections`,"field.publicVisibility.links":`Links`,"field.publicVisibility.careers":`Experience`,"field.publicVisibility.projects":`Projects`,"field.publicVisibility.skills":`Skills`,"field.publicVisibility.certifications":`Certifications`,"field.publicVisibility.memberships":`Memberships`,"field.publicVisibility.volunteering":`Volunteering`,"field.publicVisibility.honors":`Honors & awards`,"field.publicVisibility.education":`Education`,"field.publicVisibility.publications":`Publications`,"field.publicVisibility.languages":`Languages`,"field.publicVisibility.courses":`Courses`,"field.publicVisibility.patents":`Patents`,"field.publicVisibility.testScores":`Test scores`,"field.publicVisibility.recommendations":`Recommendations`,"field.publicVisibility.contact":`Contact`,"item.link":`Link`,"item.career":`Position`,"item.project":`Project`,"item.skill":`Skill`,"empty.links":`No links yet.`,"empty.careers":`No positions yet.`,"empty.projects":`No projects yet.`,"empty.skills":`No skills yet.`,"hint.avatarNoUpload":`Paste an image URL. Uploading image files is not available yet.`,"hint.avatarUpload":`Paste an image URL, or upload a JPEG, PNG, WebP, or GIF.`,"hint.gravatar":`Enter an email to generate a Gravatar avatar URL. The email is not saved — only the resulting URL is stored.`,"hint.month":`Format: YYYY-MM (e.g. 2024-03).`,"hint.country":`ISO 3166-1 alpha-2 code, e.g. US.`,"hint.tags":`Comma-separated.`,"hint.locales":`Comma-separated BCP-47 tags, e.g. en, ja. Drives the language tabs above.`,"hint.publicVisibility":`Unchecked sections are hidden from every public surface (page, API, JSON-LD). All sections are public by default.`,"advanced.hint":`Edit the entire document as JSON. Edits apply only while the JSON is valid.`,"advanced.invalid":`The JSON is not a valid takuhon document:`,"option.none":`(none)`},we={en:Ce};function F(e,t=`en`){let n=we[t]?.[e];if(n!==void 0)return n;let r=t.split(`-`)[0];return(r?we[r]?.[e]:void 0)??Ce[e]}var Te=`image/jpeg,image/png,image/webp,image/gif`;function Ee({label:e,value:t,onChange:n,errors:r,hint:i,uploadAsset:a}){let o=(0,O.useId)(),s=(0,O.useId)(),c=(0,O.useRef)(null),[l,u]=(0,O.useState)(!1),[d,f]=(0,O.useState)(null),p=e=>{let t=e.target.files?.[0];!t||a===void 0||(u(!0),f(null),a(t).then(e=>{e.status===`uploaded`?n(e.url):f(e.message??F(`status.uploadError`))}).catch(()=>{f(F(`status.uploadError`))}).finally(()=>{u(!1),c.current&&(c.current.value=``)}))};return(0,k.jsx)(ye,{label:e,errors:r,hint:i,children:({controlId:e,describedBy:r,invalid:i})=>(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(`input`,{id:e,className:A.control,type:`url`,value:t,"aria-invalid":i||void 0,"aria-describedby":r,onChange:e=>{n(e.target.value)}}),a===void 0?null:(0,k.jsxs)(`div`,{className:j.uploadRow,children:[(0,k.jsx)(`label`,{className:j.uploadLabel,htmlFor:o,children:F(`field.avatarUpload`)}),(0,k.jsx)(`input`,{id:o,ref:c,type:`file`,accept:Te,disabled:l,"aria-describedby":s,onChange:p}),(0,k.jsx)(`span`,{className:j.uploadStatus,id:s,role:`status`,"aria-live":`polite`,children:l?F(`status.uploading`):``}),d===null?null:(0,k.jsx)(`span`,{className:j.uploadError,role:`alert`,children:d})]})]})})}function De({onApply:e}){let[t,n]=(0,O.useState)(``),r=t.trim(),i=()=>{r!==``&&(e(ae(r)),n(``))};return(0,k.jsx)(ye,{label:F(`field.gravatarEmail`),hint:F(`hint.gravatar`),children:({controlId:e,describedBy:a})=>(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(`input`,{id:e,className:A.control,type:`email`,value:t,autoComplete:`off`,"aria-describedby":a,onChange:e=>{n(e.target.value)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),i())}}),(0,k.jsx)(`div`,{className:M.actionRow,children:(0,k.jsx)(`button`,{type:`button`,className:M.applyButton,disabled:r===``,onClick:i,children:F(`field.gravatarApply`)})})]})})}function Oe({label:e,value:t,locales:n,onChange:r,multiline:i=!1,required:a,hint:o,errors:s=ve,pointer:c,formatLocale:l}){let u=(0,O.useId)(),d=(0,O.useId)(),f=(0,O.useId)(),[p,m]=(0,O.useState)(()=>n[0]??``),h=(0,O.useRef)({}),g=l??(e=>e),_=`${u}-label`;if(n.length===0)return(0,k.jsxs)(`div`,{className:N.group,role:`group`,"aria-labelledby":_,children:[(0,k.jsx)(`span`,{className:N.groupLabel,id:_,children:e}),(0,k.jsx)(`p`,{className:N.hint,children:`No locales are configured yet; add one under Settings.`})]});let v=n.includes(p)?p:n[0],y=t?.[v]??``,b=c?he(s,c):[],x=c?he(s,`${c}/${v}`):[],S=[...b,...x],C=S.length>0,w=[o?d:void 0,C?f:void 0].filter(Boolean).join(` `)||void 0,T=e=>{let n={...t??{}};e===``?delete n[v]:n[v]=e,r(Object.keys(n).length===0?void 0:n)},ee=e=>{let t=n.indexOf(v),r;switch(e.key){case`ArrowRight`:case`ArrowDown`:r=(t+1)%n.length;break;case`ArrowLeft`:case`ArrowUp`:r=(t-1+n.length)%n.length;break;case`Home`:r=0;break;case`End`:r=n.length-1;break;default:return}e.preventDefault();let i=n[r];i!==void 0&&(m(i),h.current[i]?.focus())},te=`${e} (${g(v)})`;return(0,k.jsxs)(`div`,{className:N.group,role:`group`,"aria-labelledby":_,children:[(0,k.jsxs)(`span`,{className:N.groupLabel,id:_,children:[e,a?(0,k.jsx)(`span`,{"aria-hidden":`true`,children:` *`}):null]}),o?(0,k.jsx)(`p`,{className:N.hint,id:d,children:o}):null,(0,k.jsx)(`div`,{className:N.tablist,role:`tablist`,"aria-label":e,children:n.map(e=>{let t=e===v,n=c?ge(s,`${c}/${e}`):!1;return(0,k.jsxs)(`button`,{ref:t=>{h.current[e]=t},type:`button`,role:`tab`,id:`${u}-tab-${e}`,"aria-selected":t,"aria-controls":`${u}-panel`,tabIndex:t?0:-1,className:`${N.tab} ${t?N.tabActive:``}`,onClick:()=>{m(e)},onKeyDown:ee,children:[g(e),n?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsxs)(`span`,{className:N.tabError,"aria-hidden":`true`,children:[` `,`●`]}),(0,k.jsx)(`span`,{className:N.srOnly,children:` (has errors)`})]}):null]},e)})}),(0,k.jsxs)(`div`,{role:`tabpanel`,id:`${u}-panel`,"aria-labelledby":`${u}-tab-${v}`,className:N.panel,children:[i?(0,k.jsx)(`textarea`,{className:`${N.control} ${N.textarea}`,value:y,rows:4,"aria-label":te,"aria-invalid":C||void 0,"aria-required":a?!0:void 0,"aria-describedby":w,onChange:e=>{T(e.target.value)}}):(0,k.jsx)(`input`,{className:N.control,type:`text`,value:y,"aria-label":te,"aria-invalid":C||void 0,"aria-required":a?!0:void 0,"aria-describedby":w,onChange:e=>{T(e.target.value)}}),C?(0,k.jsx)(`ul`,{className:N.errors,id:f,children:S.map((e,t)=>(0,k.jsx)(`li`,{children:e},t))}):null]})]})}function ke({legend:e,items:t,onChange:n,renderItem:r,createItem:i,keyOf:a,itemLabel:o,addLabel:s=`Add`,removeLabel:c=`Remove`,moveUpLabel:l=`Move up`,moveDownLabel:u=`Move down`,emptyHint:d}){let f=a??((e,t)=>String(t)),p=(e,r)=>{let i=t.slice();i[e]=r,n(i)},m=e=>{n(t.filter((t,n)=>n!==e))},h=(e,r)=>{if(r<0||r>=t.length)return;let i=t.slice(),[a]=i.splice(e,1);a!==void 0&&(i.splice(r,0,a),n(i))};return(0,k.jsxs)(`fieldset`,{className:P.fieldset,children:[(0,k.jsx)(`legend`,{className:P.legend,children:e}),t.length===0&&d?(0,k.jsx)(`p`,{className:P.empty,children:d}):null,(0,k.jsx)(`ol`,{className:P.list,children:t.map((e,n)=>{let i=o(e,n);return(0,k.jsx)(`li`,{className:P.item,children:(0,k.jsxs)(`div`,{role:`group`,"aria-label":i,children:[(0,k.jsxs)(`div`,{className:P.itemHeader,children:[(0,k.jsx)(`span`,{className:P.itemCaption,children:i}),(0,k.jsxs)(`div`,{className:P.itemActions,children:[(0,k.jsx)(`button`,{type:`button`,className:P.iconButton,"aria-label":`${l}: ${i}`,disabled:n===0,onClick:()=>{h(n,n-1)},children:`↑`}),(0,k.jsx)(`button`,{type:`button`,className:P.iconButton,"aria-label":`${u}: ${i}`,disabled:n===t.length-1,onClick:()=>{h(n,n+1)},children:`↓`}),(0,k.jsx)(`button`,{type:`button`,className:P.removeButton,"aria-label":`${c}: ${i}`,onClick:()=>{m(n)},children:c})]})]}),(0,k.jsx)(`div`,{className:P.itemBody,children:r(e,e=>{p(n,e)},n)})]})},f(e,n))})}),(0,k.jsx)(`button`,{type:`button`,className:P.addButton,onClick:()=>{n([...t,i()])},children:s})]})}function Ae(e,t){let n=e.toLowerCase().replace(/[^a-z0-9-]/g,``)||`item`,r=new Set(t),i=1;for(;r.has(`${n}-${String(i)}`);)i+=1;return`${n}-${String(i)}`}function je(e,t){if(!e)return``;for(let n of t){let t=e[n];if(t)return t}return Object.values(e).find(e=>e!==``)??``}var Me=`#/$defs/`;function Ne(e){let t=e.$ref;if(!(typeof t!=`string`||!t.startsWith(Me)))return t.slice(Me.length)}function Pe(e,t){let n=t,r=!1,i=n.anyOf;if(i){let e=i.filter(e=>e.type!==`null`),[t]=e;t&&e.length===1&&e.length<i.length&&(r=!0,n=t)}let a=Ne(n);if(a===void 0)return{node:n,nullable:r};let o=e.$defs?.[a];return o?{node:o,ref:a,nullable:r}:{node:n,nullable:r}}var Fe={LocalizedTitle:{widget:`localizedTitle`},LocalizedBody:{widget:`localizedBody`},YearMonth:{widget:`month`},Slug:{widget:`slug`},LocaleTag:{widget:`localeTag`}};function Ie(e,t){let{node:n,ref:r}=Pe(e,t);if(r!==void 0){let e=Fe[r];if(e)return e}if(Array.isArray(n.enum))return{widget:`select`,options:n.enum.map(e=>String(e))};let i=typeof n.type==`string`?n.type:void 0;if(i===`string`)switch(n.format){case`email`:return{widget:`email`};case`uri`:return{widget:`url`};case`date`:return{widget:`date`};case`date-time`:return{widget:`datetime`};default:return n.maxLength===void 0?{widget:`text`}:{widget:`text`,maxLength:n.maxLength}}return i===`boolean`?typeof n.default==`boolean`?{widget:`checkbox`,default:n.default}:{widget:`checkbox`}:i===`integer`||i===`number`?n.minimum===void 0?{widget:`integer`}:{widget:`integer`,minimum:n.minimum}:i===`array`?{widget:`array`,item:n.items?Ie(e,n.items):{widget:`unsupported`}}:i===`object`?{widget:`object`,fields:Le(e,n)}:{widget:`unsupported`}}function Le(e,t){let n=t.properties??{},r=new Set(t.required??[]);return Object.entries(n).map(([t,n])=>({name:t,required:r.has(t),nullable:Pe(e,n).nullable,kind:Ie(e,n)}))}function Re(e,t){let n=e.properties?.[t];return n?Ie(e,n):{widget:`unsupported`}}var ze={},Be=new Set([`url`,`id`,`doi`]);function Ve(e){return e.replace(/([a-z0-9])([A-Z])/g,`$1 $2`).toLowerCase().split(` `).map((e,t)=>Be.has(e)?e.toUpperCase():t===0?e.charAt(0).toUpperCase()+e.slice(1):e).join(` `)}function He(e,t){return e[t]??{}}function Ue(e){return e&&typeof e==`object`?e:{}}function We(e){return e&&typeof e==`object`?e:void 0}function Ge(e){return typeof e==`string`?e:``}function Ke(e,t,n){return{...e,[t]:n}}function qe(e){let t=Ue(e).id;return typeof t==`string`?t:void 0}function Je(e){let t=e.split(`.`);return t[t.length-1]??e}function Ye(e,t,n){switch(e.widget){case`object`:{let r={};for(let i of e.fields)i.required&&(r[i.name]=i.kind.widget===`slug`?Ae(Je(n),t):Ye(i.kind,[],`${n}.${i.name}`));return r}case`checkbox`:return!1;case`integer`:return 0;case`localizedTitle`:case`localizedBody`:return{};case`select`:return e.options[0]??``;case`array`:return[];default:return``}}function Xe(e,t,n){if(t.widget!==`object`)return Ge(e);let r=Ue(e);for(let e of t.fields)if(e.kind.widget===`localizedTitle`){let t=je(We(r[e.name]),n);if(t)return t}for(let e of t.fields)if(e.kind.widget===`text`||e.kind.widget===`select`){let t=Ge(r[e.name]);if(t)return t}return``}function Ze(e,t,n,r){let i=he(r.errors,r.pointer);switch(e.widget){case`localizedTitle`:case`localizedBody`:return(0,k.jsx)(Oe,{label:r.label,value:We(t),locales:r.locales,onChange:e=>{n(e)},multiline:e.widget===`localizedBody`||r.multiline,required:r.required,pointer:r.pointer,errors:r.errors,formatLocale:r.formatLocale});case`checkbox`:{let i=e.default!==void 0,a=t===void 0?e.default??!1:t===!0;return(0,k.jsx)(Se,{label:r.label,checked:a,onChange:e=>{n(i?e:e||void 0)}})}case`select`:case`localeTag`:{let a=r.locales.map(e=>({value:e,label:r.formatLocale?r.formatLocale(e):e})),o=e.widget===`select`?e.options.map(e=>({value:e,label:e})):r.required?a:[{value:``,label:F(`option.none`)},...a];return(0,k.jsx)(xe,{label:r.label,value:Ge(t),options:o,onChange:e=>{n(e||void 0)},required:r.required,errors:i})}case`integer`:return(0,k.jsx)(be,{label:r.label,type:`text`,inputMode:`numeric`,value:typeof t==`number`?String(t):``,onChange:e=>{n(e===``?void 0:Number(e))},required:r.required,hint:r.hint,errors:i});default:{let a=e.widget===`url`?`url`:e.widget===`email`?`email`:e.widget===`month`?`month`:`text`,o=r.hint??(e.widget===`month`?F(`hint.month`):void 0);return(0,k.jsx)(be,{label:r.label,type:a,value:Ge(t),onChange:e=>{n(e||void 0)},required:r.required,hint:o,errors:i})}}}function Qe(e,t,n,r){let i=r.path?`${r.path}.${e.name}`:e.name,a=He(r.registry,i);if(a.hidden)return null;let o={...r,pointer:`${r.pointer}/${e.name}`,path:i,label:a.label??Ve(e.name),hint:a.hint,required:e.required,multiline:a.multiline??!1},s=r=>{n(Ke(t,e.name,r))};if(a.render){let n={value:t[e.name],onChange:s,pointer:o.pointer,path:o.path,label:o.label,required:o.required,locales:o.locales,errors:o.errors,formatLocale:o.formatLocale,uploadAsset:o.uploadAsset,document:o.document};return(0,k.jsx)(`div`,{children:a.render(n)},e.name)}return(0,k.jsx)(`div`,{children:e.kind.widget===`object`?(0,k.jsxs)(`fieldset`,{children:[(0,k.jsx)(`legend`,{children:o.label}),$e(e.kind,Ue(t[e.name]),s,o)]}):e.kind.widget===`array`?et(e.kind,t[e.name],s,o):Ze(e.kind,t[e.name],s,o)},e.name)}function $e(e,t,n,r){let i=e=>{n(e)};return e.fields.map(e=>Qe(e,t,i,r))}function et(e,t,n,r){let i=Array.isArray(t)?t:[],a=e.item,o=i.map(qe).filter(e=>e!==void 0);return(0,k.jsx)(ke,{legend:r.label,items:i,onChange:e=>{n(e)},keyOf:(e,t)=>qe(e)??String(t),itemLabel:(e,t)=>Xe(e,a,r.locales)||`${r.label} ${String(t+1)}`,createItem:()=>Ye(a,o,r.path),addLabel:F(`action.add`),removeLabel:F(`action.remove`),moveUpLabel:F(`action.moveUp`),moveDownLabel:F(`action.moveDown`),renderItem:(e,t,n)=>{let i={...r,pointer:`${r.pointer}/${String(n)}`};return a.widget===`object`?$e(a,Ue(e),t,i):Ze(a,e,t,i)}})}function tt(e){let t={pointer:e.pointer,path:e.path??e.pointer.replace(/^\//,``).replace(/\//g,`.`),label:e.label,required:!0,multiline:!1,locales:e.locales,errors:e.errors??ve,registry:e.registry??ze,formatLocale:e.formatLocale,uploadAsset:e.uploadAsset,document:e.document};return e.kind.widget===`array`?(0,k.jsx)(k.Fragment,{children:et(e.kind,e.value,e.onChange,t)}):e.kind.widget===`object`?(0,k.jsxs)(`fieldset`,{children:[(0,k.jsx)(`legend`,{children:e.label}),$e(e.kind,Ue(e.value),e.onChange,t)]}):(0,k.jsx)(k.Fragment,{children:Ze(e.kind,e.value,e.onChange,t)})}function nt(e){return e&&typeof e==`object`?e:{}}function rt(e){return e&&typeof e==`object`?e:void 0}function it(e){return!e||Object.keys(e).length===0}function at(e){return typeof e==`string`?e:``}function ot(e){let t=nt(e).id;return typeof t==`string`?t:``}function st(e){let t=nt(e.value),n=typeof t.url==`string`?t.url:``,r=n=>{let r={url:``,...t,...n},i=r.url!==``||!it(rt(r.alt));e.onChange(i?r:void 0)};return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(Ee,{label:F(`field.avatarUrl`),value:n,onChange:e=>{r({url:e})},hint:F(e.uploadAsset?`hint.avatarUpload`:`hint.avatarNoUpload`),errors:he(e.errors,`${e.pointer}/url`),uploadAsset:e.uploadAsset}),(0,k.jsx)(De,{onApply:e=>{r({url:e})}}),(0,k.jsx)(Oe,{label:F(`field.avatarAlt`),value:rt(t.alt),locales:e.locales,onChange:e=>{r({alt:e})},pointer:`${e.pointer}/alt`,errors:e.errors,formatLocale:e.formatLocale})]})}function ct(e){return e.split(`,`).map(e=>e.trim()).filter(e=>e!==``)}function lt(e){return function(t){let n=(Array.isArray(t.value)?t.value:[]).filter(e=>typeof e==`string`).join(`, `);return(0,k.jsx)(be,{label:t.label,value:n,onChange:n=>{let r=ct(n);t.onChange(e.emptyToUndefined&&r.length===0?void 0:r)},required:t.required,hint:F(e.hint),errors:_e(t.errors,t.pointer)})}}var ut=[{key:`links`,label:`field.publicVisibility.links`},{key:`careers`,label:`field.publicVisibility.careers`},{key:`projects`,label:`field.publicVisibility.projects`},{key:`skills`,label:`field.publicVisibility.skills`},{key:`certifications`,label:`field.publicVisibility.certifications`},{key:`memberships`,label:`field.publicVisibility.memberships`},{key:`volunteering`,label:`field.publicVisibility.volunteering`},{key:`honors`,label:`field.publicVisibility.honors`},{key:`education`,label:`field.publicVisibility.education`},{key:`publications`,label:`field.publicVisibility.publications`},{key:`languages`,label:`field.publicVisibility.languages`},{key:`courses`,label:`field.publicVisibility.courses`},{key:`patents`,label:`field.publicVisibility.patents`},{key:`testScores`,label:`field.publicVisibility.testScores`},{key:`recommendations`,label:`field.publicVisibility.recommendations`},{key:`contact`,label:`field.publicVisibility.contact`}];function dt(e){let t=nt(e.value),n=(n,r)=>{let i={...t};r?delete i[n]:i[n]=!1,e.onChange(Object.keys(i).length>0?i:void 0)};return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(`h3`,{className:le.subheading,children:F(`field.settings.publicVisibility`)}),(0,k.jsx)(`p`,{className:le.hint,children:F(`hint.publicVisibility`)}),ut.map(({key:e,label:r})=>(0,k.jsx)(Se,{label:F(r),checked:t[e]??!0,onChange:t=>{n(e,t)}},e))]})}function ft(e){return function(t){let n=at(t.value),r=(()=>{let n=nt(t.document)[e.section];return Array.isArray(n)?n:[]})().map(n=>{let r=ot(n),i=je(rt(nt(n)[e.captionField]),t.locales);return{value:r,label:i?`${i} (${r})`:r}}).filter(e=>e.value!==``),i=n!==``&&!r.some(e=>e.value===n),a=[...t.required?[]:[{value:``,label:F(`option.none`)}],...r,...i?[{value:n,label:n}]:[]];return(0,k.jsx)(xe,{label:t.label,value:n,options:a,onChange:e=>{t.onChange(e||void 0)},required:t.required,errors:he(t.errors,t.pointer)})}}var pt=[{key:`profile`,label:`section.profile`},{key:`links`,label:`section.links`},{key:`careers`,label:`section.careers`},{key:`projects`,label:`section.projects`},{key:`skills`,label:`section.skills`},{key:`settings`,label:`section.settings`},{key:`education`,label:`section.education`},{key:`certifications`,label:`section.certifications`},{key:`publications`,label:`section.publications`},{key:`honors`,label:`section.honors`},{key:`volunteering`,label:`section.volunteering`},{key:`memberships`,label:`section.memberships`},{key:`languages`,label:`section.languages`},{key:`courses`,label:`section.courses`},{key:`patents`,label:`section.patents`},{key:`testScores`,label:`section.testScores`},{key:`recommendations`,label:`section.recommendations`},{key:`contact`,label:`section.contact`},{key:`meta`,label:`section.meta`}],mt={"profile.avatar":{render:st},"profile.location.country":{hint:F(`hint.country`)},"profile.location.display":{label:F(`field.location.display`)},"links.url":{label:F(`field.link.url`)},"links.iconUrl":{label:F(`field.link.iconUrl`)},"careers.startDate":{label:F(`field.career.startDate`),hint:F(`hint.month`)},"careers.endDate":{label:F(`field.career.endDate`),hint:F(`hint.month`)},"careers.isCurrent":{label:F(`field.career.isCurrent`)},"careers.url":{label:F(`field.career.url`)},"projects.tags":{render:lt({hint:`hint.tags`,emptyToUndefined:!0})},"projects.relatedCareerId":{render:ft({section:`careers`,captionField:`organization`})},"projects.url":{label:F(`field.project.url`)},"projects.startDate":{hint:F(`hint.month`)},"projects.endDate":{hint:F(`hint.month`)},"settings.availableLocales":{render:lt({hint:`hint.locales`,emptyToUndefined:!1})},"settings.theme":{label:F(`field.settings.theme`)},"settings.showPoweredBy":{label:F(`field.settings.showPoweredBy`)},"settings.enableJsonLd":{label:F(`field.settings.enableJsonLd`)},"settings.enableApi":{label:F(`field.settings.enableApi`)},"settings.enableAnalytics":{label:F(`field.settings.enableAnalytics`)},"settings.activity.github":{label:`GitHub`},"settings.activity.wakatime":{label:`WakaTime`},"settings.publicVisibility":{render:dt},"settings.contact":{label:F(`field.settings.contact`)},"settings.contact.enabled":{label:F(`field.contactSettings.enabled`)},"settings.contact.turnstileSiteKey":{label:F(`field.contactSettings.turnstileSiteKey`)},"settings.contact.subjectPrefix":{label:F(`field.contactSettings.subjectPrefix`)},"courses.relatedEducationId":{render:ft({section:`education`,captionField:`institution`})},"testScores.relatedEducationId":{render:ft({section:`education`,captionField:`institution`})},"recommendations.relatedCareerId":{render:ft({section:`careers`,captionField:`organization`})},"recommendations.relatedEducationId":{render:ft({section:`education`,captionField:`institution`})},"languages.displayName":{label:`Language name`},"meta.createdAt":{hidden:!0},"meta.updatedAt":{hidden:!0},"meta.generator":{hidden:!0}},ht=50;function gt({value:e,onChange:t}){let[n,r]=(0,O.useState)(()=>JSON.stringify(e,null,2)),[i,a]=(0,O.useState)([]),o=(0,O.useId)(),s=(0,O.useId)(),c=e=>{r(e);let n;try{n=JSON.parse(e)}catch(e){a([e instanceof Error?e.message:`Invalid JSON.`]);return}let i=v(n);if(!i.ok){a(i.errors.slice(0,ht).map(e=>`${e.pointer||`/`}: ${e.message}`));return}a([]),t(i.data)},l=i.length>0;return(0,k.jsxs)(`section`,{className:ue.wrapper,"aria-labelledby":o,children:[(0,k.jsx)(`h2`,{className:ue.heading,id:o,children:F(`mode.advanced`)}),(0,k.jsx)(`p`,{className:ue.hint,children:F(`advanced.hint`)}),(0,k.jsx)(`textarea`,{className:ue.textarea,value:n,spellCheck:!1,"aria-label":F(`mode.advanced`),"aria-invalid":l||void 0,"aria-describedby":l?s:void 0,onChange:e=>{c(e.target.value)}}),l?(0,k.jsxs)(`div`,{className:ue.problems,id:s,role:`alert`,children:[(0,k.jsx)(`p`,{className:ue.problemsTitle,children:F(`advanced.invalid`)}),(0,k.jsx)(`ul`,{children:i.map((e,t)=>(0,k.jsx)(`li`,{children:e},t))})]}):null]})}var _t=h;function vt(e,t,n){return{...e,[t]:n}}function yt({initialDocument:e,onSave:t,onReload:n,onExport:r,onImport:i,formatLocale:a,uploadAsset:o}){let[s,c]=(0,O.useState)(e),[l,u]=(0,O.useState)(`form`),[d,f]=(0,O.useState)(ve),[p,m]=(0,O.useState)(null),[h,g]=(0,O.useState)(!1),[_,y]=(0,O.useState)(0),b=(0,O.useRef)(0),x=(0,O.useRef)(null),S=(0,O.useRef)(!1),C=s.settings.availableLocales;(0,O.useEffect)(()=>{S.current&&x.current&&x.current.focus(),S.current=!1},[d]);let w=e=>{b.current+=1,c(e),f(ve),m(null)},T=(e,t)=>{b.current+=1,c(e),f(ve),m(t),y(e=>e+1)},ee=async()=>{let e=v(s);if(!e.ok){S.current=!0,f(me(e.errors)),m({tone:`error`,message:F(`status.invalid`)});return}f(ve),b.current+=1;let n=b.current;g(!0),m({tone:`info`,message:F(`status.saving`)});try{let r=await t(e.data);if(n!==b.current)return;switch(r.status){case`saved`:m({tone:`success`,message:F(`status.saved`)});break;case`conflict`:m({tone:`error`,message:F(`status.conflict`)});break;case`invalid`:S.current=!0,f(pe(r.errors)),m({tone:`error`,message:F(`status.invalid`)});break;case`error`:m({tone:`error`,message:r.message??F(`status.error`)});break}}catch{n===b.current&&m({tone:`error`,message:F(`status.error`)})}finally{g(!1)}},te=async()=>{if(n){g(!0),m({tone:`info`,message:F(`status.loading`)});try{T(await n(),null)}catch{m({tone:`error`,message:F(`status.error`)})}finally{g(!1)}}},E=async()=>{if(i)try{let e=await i();if(e===void 0)return;let t=v(e);if(!t.ok){m({tone:`error`,message:F(`status.importInvalid`)});return}T(t.data,{tone:`info`,message:F(`status.imported`)})}catch{m({tone:`error`,message:F(`status.error`)})}},ne=[...d].flatMap(([e,t])=>t.map(t=>({pointer:e,message:t})));return(0,k.jsxs)(`div`,{className:de.editor,children:[(0,k.jsxs)(`div`,{className:de.toolbar,role:`toolbar`,"aria-label":F(`toolbar.label`),children:[(0,k.jsxs)(`div`,{className:de.modes,role:`group`,"aria-label":F(`mode.label`),children:[(0,k.jsx)(`button`,{type:`button`,className:`${de.modeButton} ${l===`form`?de.modeActive:``}`,"aria-pressed":l===`form`,onClick:()=>{u(`form`)},children:F(`mode.form`)}),(0,k.jsx)(`button`,{type:`button`,className:`${de.modeButton} ${l===`advanced`?de.modeActive:``}`,"aria-pressed":l===`advanced`,onClick:()=>{u(`advanced`)},children:F(`mode.advanced`)})]}),(0,k.jsxs)(`div`,{className:de.actions,children:[(0,k.jsx)(`button`,{type:`button`,className:de.primary,disabled:h,onClick:()=>{ee()},children:F(`action.save`)}),n?(0,k.jsx)(`button`,{type:`button`,className:de.secondary,disabled:h,onClick:()=>{te()},children:F(`action.reload`)}):null,r?(0,k.jsx)(`button`,{type:`button`,className:de.secondary,onClick:()=>{r(s)},children:F(`action.export`)}):null,i?(0,k.jsx)(`button`,{type:`button`,className:de.secondary,disabled:h,onClick:()=>{E()},children:F(`action.import`)}):null]})]}),(0,k.jsx)(`p`,{className:de.status,role:`status`,"aria-live":`polite`,"data-tone":p?.tone,children:p?.message??``}),ne.length>0?(0,k.jsxs)(`section`,{className:de.summary,"aria-labelledby":`admin-error-summary`,children:[(0,k.jsx)(`h2`,{className:de.summaryHeading,id:`admin-error-summary`,tabIndex:-1,ref:x,children:F(`status.fixSummary`)}),(0,k.jsx)(`ul`,{children:ne.map((e,t)=>(0,k.jsx)(`li`,{children:e.pointer===``?e.message:`${e.pointer.replace(/^\//,``)}: ${e.message}`},t))})]}):null,l===`form`?(0,k.jsx)(`div`,{className:de.sections,children:pt.map(({key:e,label:t})=>(0,k.jsx)(tt,{kind:Re(_t,e),value:s[e],onChange:t=>{w(vt(s,e,t))},pointer:`/${e}`,label:F(t),locales:C,errors:d,registry:mt,formatLocale:a,uploadAsset:o,document:s},e))}):(0,k.jsx)(gt,{value:s,onChange:w},_)]})}var bt=e((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,E());else{var t=n(l);t!==null&&ie(x,t.startTime-e)}}var S=!1,C=-1,w=5,T=-1;function ee(){return g?!0:!(e.unstable_now()-T<w)}function te(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&ee());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&ie(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?E():S=!1}}}var E;if(typeof y==`function`)E=function(){y(te)};else if(typeof MessageChannel<`u`){var ne=new MessageChannel,re=ne.port2;ne.port1.onmessage=te,E=function(){re.postMessage(null)}}else E=function(){_(te,0)};function ie(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,ie(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,E()))),r},e.unstable_shouldYield=ee,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),xt=e(((e,t)=>{t.exports=bt()})),St=e((e=>{var t=oe();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function r(){}var i={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},a=Symbol.for(`react.portal`);function o(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var s=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return o(e,t,null,r)},e.flushSync=function(e){var t=s.T,n=i.p;try{if(s.T=null,i.p=2,e)return e()}finally{s.T=t,i.p=n,i.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,i.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&i.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin),a=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?i.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):n===`script`&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`)if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=c(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??i.d.M(e)},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin);i.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`)if(t){var n=c(t.as,t.crossOrigin);i.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else i.d.m(e)},e.requestFormReset=function(e){i.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return s.H.useFormState(e,t,n)},e.useFormStatus=function(){return s.H.useHostTransitionStatus()},e.version=`19.2.6`})),Ct=e(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=St()})),wt=e((e=>{var t=xt(),n=oe(),r=Ct();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(o(e)!==e)throw Error(i(188))}function u(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function d(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=d(e),t!==null)return t;e=e.sibling}return null}var f=Object.assign,p=Symbol.for(`react.element`),m=Symbol.for(`react.transitional.element`),h=Symbol.for(`react.portal`),g=Symbol.for(`react.fragment`),_=Symbol.for(`react.strict_mode`),v=Symbol.for(`react.profiler`),y=Symbol.for(`react.consumer`),b=Symbol.for(`react.context`),x=Symbol.for(`react.forward_ref`),S=Symbol.for(`react.suspense`),C=Symbol.for(`react.suspense_list`),w=Symbol.for(`react.memo`),T=Symbol.for(`react.lazy`),ee=Symbol.for(`react.activity`),te=Symbol.for(`react.memo_cache_sentinel`),E=Symbol.iterator;function ne(e){return typeof e!=`object`||!e?null:(e=E&&e[E]||e[`@@iterator`],typeof e==`function`?e:null)}var re=Symbol.for(`react.client.reference`);function ie(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===re?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case g:return`Fragment`;case v:return`Profiler`;case _:return`StrictMode`;case S:return`Suspense`;case C:return`SuspenseList`;case ee:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case h:return`Portal`;case b:return e.displayName||`Context`;case y:return(e._context.displayName||`Context`)+`.Consumer`;case x:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case w:return t=e.displayName||null,t===null?ie(e.type)||`Memo`:t;case T:t=e._payload,e=e._init;try{return ie(e(t))}catch{}}return null}var ae=Array.isArray,D=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,O=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,se={pending:!1,data:null,method:null,action:null},ce=[],k=-1;function A(e){return{current:e}}function j(e){0>k||(e.current=ce[k],ce[k]=null,k--)}function M(e,t){k++,ce[k]=e.current,e.current=t}var N=A(null),P=A(null),le=A(null),ue=A(null);function de(e,t){switch(M(le,t),M(P,e),M(N,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}j(N),M(N,e)}function fe(){j(N),j(P),j(le)}function pe(e){e.memoizedState!==null&&M(ue,e);var t=N.current,n=Hd(t,e.type);t!==n&&(M(P,e),M(N,n))}function me(e){P.current===e&&(j(N),j(P)),ue.current===e&&(j(ue),Qf._currentValue=se)}var he,ge;function _e(e){if(he===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);he=t&&t[1]||``,ge=-1<e.stack.indexOf(`
2
2
  at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
3
3
  `+he+e+ge}var ve=!1;function ye(e,t){if(!e||ve)return``;ve=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,`props`,{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,`name`,{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
4
4
  `),l=s.split(`