@mapletip/data 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/README.md +172 -2
  2. package/client/contract-compatibility.mjs +10 -0
  3. package/client/items.d.ts +28 -5
  4. package/client/items.js +59 -4
  5. package/client/map-geography.d.ts +4 -0
  6. package/client/map-geography.js +2 -0
  7. package/client/maps.d.ts +22 -0
  8. package/client/maps.js +25 -0
  9. package/client/monster-client.d.ts +11 -3
  10. package/client/monster-client.js +44 -5
  11. package/client/monsters.d.ts +27 -6
  12. package/client/monsters.js +30 -4
  13. package/client/static-client.d.ts +7 -5
  14. package/client/static-client.js +3 -2
  15. package/client/static-domains.d.ts +8 -1
  16. package/client/static-domains.js +27 -3
  17. package/generated/item-browse-pack-2.d.ts +83 -1
  18. package/generated/item-browse-pack-2.validator.js +2 -2
  19. package/generated/item-related-entity-browse-1.d.ts +48 -0
  20. package/generated/item-related-entity-browse-1.validator.js +1 -0
  21. package/generated/map-catalog-2-1.d.ts +103 -0
  22. package/generated/map-catalog-2-1.validator.d.ts +18 -0
  23. package/generated/map-catalog-2-1.validator.js +1 -0
  24. package/generated/map-geography.d.ts +79 -0
  25. package/generated/map-geography.validator.d.ts +18 -0
  26. package/generated/map-geography.validator.js +1 -0
  27. package/generated/monster-catalog-2-2.d.ts +332 -0
  28. package/generated/monster-catalog-2-2.validator.js +17 -0
  29. package/generated/monster-catalog-2-3.d.ts +339 -0
  30. package/generated/monster-catalog-2-3.validator.js +17 -0
  31. package/generated/monster-drop-browse.d.ts +123 -0
  32. package/generated/monster-drop-browse.validator.js +17 -0
  33. package/generated/monster-location-browse-1-1.d.ts +79 -0
  34. package/generated/monster-location-browse-1-1.validator.js +17 -0
  35. package/generated/monster-location-browse.d.ts +69 -0
  36. package/generated/monster-location-browse.validator.js +17 -0
  37. package/generated/product-manifest.d.ts +23 -0
  38. package/generated/product-manifest.validator.js +1 -1
  39. package/package.json +36 -2
@@ -0,0 +1,17 @@
1
+ "use strict";export const validate = validate20;export default validate20;const schema31 = {"$schema":"https://json-schema.org/draft/2020-12/schema","title":"MonsterCatalogV2_2","description":"Standalone strict Monster catalog revision 2.2.","type":"object","properties":{"browseCoverage":{"description":"Coverage shared by this build's catalog rows.","$ref":"#/$defs/MonsterBrowseCoverageV2_2"},"contractVersion":{"description":"Contract version discriminator.","type":"string","const":"2.2"},"format":{"description":"Contract format discriminator.","type":"string","const":"mapletip.monster-catalog-2"},"recordCount":{"description":"Number of parent Monster keys in `records`.","type":"integer","format":"uint","maximum":9007199254740991,"minimum":0},"records":{"description":"Records sorted by stable public key.","type":"array","items":{"$ref":"#/$defs/MonsterCatalogRecordV2_2"}},"scope":{"description":"Exact game family and build scope.","$ref":"#/$defs/BuildScope"}},"additionalProperties":false,"required":["format","contractVersion","scope","browseCoverage","recordCount","records"],"$defs":{"BuildScope":{"description":"Build scope specifying the game family and concrete build identity.","type":"object","properties":{"build_id":{"description":"Exact build identity (e.g., 'gms-v83', 'cw-cot2').","type":"string"},"family_id":{"description":"Family identity (e.g., 'gms', 'classic-world').","type":"string"}},"required":["family_id","build_id"]},"CatalogCollection":{"description":"Compact source-free projection of [`CollectionState`]. Empty partial\nobservations collapse to `unknown`; `absent` still requires its coverage\nkey, and known/partial item lists cannot be empty.","oneOf":[{"description":"A non-empty collection with complete source coverage.","type":"object","properties":{"items":{"$ref":"#/$defs/NonEmptyVec_MonsterElementSummaryV2"},"state":{"type":"string","const":"known"}},"additionalProperties":false,"required":["state","items"]},{"description":"A non-empty collection of observations with incomplete coverage.","type":"object","properties":{"items":{"$ref":"#/$defs/NonEmptyVec_MonsterElementSummaryV2"},"state":{"type":"string","const":"partial"}},"additionalProperties":false,"required":["state","items"]},{"description":"Collection contents or coverage could not be established.","type":"object","properties":{"state":{"type":"string","const":"unknown"}},"additionalProperties":false,"required":["state"]},{"description":"The source scope is complete and contained no observations.","type":"object","properties":{"coverageKey":{"$ref":"#/$defs/CoverageKey"},"state":{"type":"string","const":"absent"}},"additionalProperties":false,"required":["state","coverageKey"]},{"description":"The producer cannot supply this collection.","type":"object","properties":{"state":{"type":"string","const":"unsupported"}},"additionalProperties":false,"required":["state"]}]},"CatalogCollection2":{"description":"Compact source-free projection of [`CollectionState`]. Empty partial\nobservations collapse to `unknown`; `absent` still requires its coverage\nkey, and known/partial item lists cannot be empty.","oneOf":[{"description":"A non-empty collection with complete source coverage.","type":"object","properties":{"items":{"$ref":"#/$defs/NonEmptyVec_MonsterRelationshipFacetV2"},"state":{"type":"string","const":"known"}},"additionalProperties":false,"required":["state","items"]},{"description":"A non-empty collection of observations with incomplete coverage.","type":"object","properties":{"items":{"$ref":"#/$defs/NonEmptyVec_MonsterRelationshipFacetV2"},"state":{"type":"string","const":"partial"}},"additionalProperties":false,"required":["state","items"]},{"description":"Collection contents or coverage could not be established.","type":"object","properties":{"state":{"type":"string","const":"unknown"}},"additionalProperties":false,"required":["state"]},{"description":"The source scope is complete and contained no observations.","type":"object","properties":{"coverageKey":{"$ref":"#/$defs/CoverageKey"},"state":{"type":"string","const":"absent"}},"additionalProperties":false,"required":["state","coverageKey"]},{"description":"The producer cannot supply this collection.","type":"object","properties":{"state":{"type":"string","const":"unsupported"}},"additionalProperties":false,"required":["state"]}]},"CatalogFact":{"description":"Compact catalog projection of [`FactState`]. It keeps the state and a\npositively observed value, retains the coverage witness for `absent`, and\nomits source attribution and explanatory metadata.","oneOf":[{"description":"A positively observed catalog value.","type":"object","properties":{"state":{"type":"string","const":"known"},"value":{"type":"string"}},"additionalProperties":false,"required":["state","value"]},{"description":"The value could not be established.","type":"object","properties":{"state":{"type":"string","const":"unknown"}},"additionalProperties":false,"required":["state"]},{"description":"No value was present under a source scope with complete coverage.","type":"object","properties":{"coverageKey":{"$ref":"#/$defs/CoverageKey"},"state":{"type":"string","const":"absent"}},"additionalProperties":false,"required":["state","coverageKey"]},{"description":"The producer cannot supply the fact.","type":"object","properties":{"state":{"type":"string","const":"unsupported"}},"additionalProperties":false,"required":["state"]}]},"CatalogFact2":{"description":"Compact catalog projection of [`FactState`]. It keeps the state and a\npositively observed value, retains the coverage witness for `absent`, and\nomits source attribution and explanatory metadata.","oneOf":[{"description":"A positively observed catalog value.","type":"object","properties":{"state":{"type":"string","const":"known"},"value":{"$ref":"#/$defs/SafeInt64"}},"additionalProperties":false,"required":["state","value"]},{"description":"The value could not be established.","type":"object","properties":{"state":{"type":"string","const":"unknown"}},"additionalProperties":false,"required":["state"]},{"description":"No value was present under a source scope with complete coverage.","type":"object","properties":{"coverageKey":{"$ref":"#/$defs/CoverageKey"},"state":{"type":"string","const":"absent"}},"additionalProperties":false,"required":["state","coverageKey"]},{"description":"The producer cannot supply the fact.","type":"object","properties":{"state":{"type":"string","const":"unsupported"}},"additionalProperties":false,"required":["state"]}]},"CatalogFact3":{"description":"Compact catalog projection of [`FactState`]. It keeps the state and a\npositively observed value, retains the coverage witness for `absent`, and\nomits source attribution and explanatory metadata.","oneOf":[{"description":"A positively observed catalog value.","type":"object","properties":{"state":{"type":"string","const":"known"},"value":{"type":"boolean"}},"additionalProperties":false,"required":["state","value"]},{"description":"The value could not be established.","type":"object","properties":{"state":{"type":"string","const":"unknown"}},"additionalProperties":false,"required":["state"]},{"description":"No value was present under a source scope with complete coverage.","type":"object","properties":{"coverageKey":{"$ref":"#/$defs/CoverageKey"},"state":{"type":"string","const":"absent"}},"additionalProperties":false,"required":["state","coverageKey"]},{"description":"The producer cannot supply the fact.","type":"object","properties":{"state":{"type":"string","const":"unsupported"}},"additionalProperties":false,"required":["state"]}]},"CatalogFact4":{"description":"Compact catalog projection of [`FactState`]. It keeps the state and a\npositively observed value, retains the coverage witness for `absent`, and\nomits source attribution and explanatory metadata.","oneOf":[{"description":"A positively observed catalog value.","type":"object","properties":{"state":{"type":"string","const":"known"},"value":{"type":"number","format":"double"}},"additionalProperties":false,"required":["state","value"]},{"description":"The value could not be established.","type":"object","properties":{"state":{"type":"string","const":"unknown"}},"additionalProperties":false,"required":["state"]},{"description":"No value was present under a source scope with complete coverage.","type":"object","properties":{"coverageKey":{"$ref":"#/$defs/CoverageKey"},"state":{"type":"string","const":"absent"}},"additionalProperties":false,"required":["state","coverageKey"]},{"description":"The producer cannot supply the fact.","type":"object","properties":{"state":{"type":"string","const":"unsupported"}},"additionalProperties":false,"required":["state"]}]},"CatalogFact5":{"description":"Compact catalog projection of [`FactState`]. It keeps the state and a\npositively observed value, retains the coverage witness for `absent`, and\nomits source attribution and explanatory metadata.","oneOf":[{"description":"A positively observed catalog value.","type":"object","properties":{"state":{"type":"string","const":"known"},"value":{"$ref":"#/$defs/MediaContentId"}},"additionalProperties":false,"required":["state","value"]},{"description":"The value could not be established.","type":"object","properties":{"state":{"type":"string","const":"unknown"}},"additionalProperties":false,"required":["state"]},{"description":"No value was present under a source scope with complete coverage.","type":"object","properties":{"coverageKey":{"$ref":"#/$defs/CoverageKey"},"state":{"type":"string","const":"absent"}},"additionalProperties":false,"required":["state","coverageKey"]},{"description":"The producer cannot supply the fact.","type":"object","properties":{"state":{"type":"string","const":"unsupported"}},"additionalProperties":false,"required":["state"]}]},"CoverageKey":{"type":"string","minLength":1,"pattern":"\\S"},"MediaContentId":{"type":"string","pattern":"^[0-9a-f]{64}$"},"MonsterBrowseCoverageV2_2":{"description":"Catalog-level coverage shared by every row in one build.","type":"object","properties":{"historicalDrops":{"description":"Whether this build carries a historical drop overlay.","$ref":"#/$defs/MonsterHistoricalDropsCoverageV2_2"},"locationScope":{"description":"Scope of every location count in this catalog.","$ref":"#/$defs/MonsterLocationScopeV2_2"},"locationsAbsentCoverageKey":{"description":"Coverage witness for rows whose location state is `absent`; omitted when none exist.","anyOf":[{"$ref":"#/$defs/CoverageKey"},{"type":"null"}]},"nativeDropsAbsentCoverageKey":{"description":"Coverage witness for rows whose native drop state is `absent`; omitted when none exist.","anyOf":[{"$ref":"#/$defs/CoverageKey"},{"type":"null"}]}},"additionalProperties":false,"required":["historicalDrops","locationScope"]},"MonsterCatalogRecordV2_2":{"description":"Compact Monster row for browse catalog revision 2.2.","type":"object","properties":{"drops":{"description":"Native and historical drop facts derived from the evidence assertion stream.","$ref":"#/$defs/MonsterDropSummaryV2_2"},"elements":{"description":"Observed element summaries; empty collections are unknown without coverage.","$ref":"#/$defs/CatalogCollection"},"key":{"description":"Stable public key derived from family, domain, namespace, and source ID.","type":"string"},"locations":{"description":"Per-Monster client placement state and resolved counts.","$ref":"#/$defs/MonsterLocationSummaryV2_2"},"name":{"description":"Localized display name, if observed.","$ref":"#/$defs/CatalogFact"},"relationships":{"description":"Positively observed relationship counts; incomplete coverage stays partial.","$ref":"#/$defs/CatalogCollection2"},"sprite":{"description":"Same-build Media product's representative monster sprite identity.","$ref":"#/$defs/CatalogFact5"},"stats":{"description":"Contract-ordered compact stat facts.","type":"array","maxItems":12,"minItems":12,"prefixItems":[{"$ref":"#/$defs/CatalogFact2"},{"$ref":"#/$defs/CatalogFact2"},{"$ref":"#/$defs/CatalogFact2"},{"$ref":"#/$defs/CatalogFact2"},{"$ref":"#/$defs/CatalogFact2"},{"$ref":"#/$defs/CatalogFact2"},{"$ref":"#/$defs/CatalogFact2"},{"$ref":"#/$defs/CatalogFact2"},{"$ref":"#/$defs/CatalogFact2"},{"$ref":"#/$defs/CatalogFact2"},{"$ref":"#/$defs/CatalogFact2"},{"$ref":"#/$defs/CatalogFact2"}]},"traits":{"description":"Contract-ordered compact trait facts.","type":"array","maxItems":9,"minItems":9,"prefixItems":[{"$ref":"#/$defs/CatalogFact3"},{"$ref":"#/$defs/CatalogFact3"},{"$ref":"#/$defs/CatalogFact3"},{"$ref":"#/$defs/CatalogFact4"},{"$ref":"#/$defs/CatalogFact3"},{"$ref":"#/$defs/CatalogFact3"},{"$ref":"#/$defs/CatalogFact2"},{"$ref":"#/$defs/CatalogFact2"},{"$ref":"#/$defs/CatalogFact"}]}},"additionalProperties":false,"required":["key","name","stats","traits","elements","relationships","sprite","drops","locations"]},"MonsterDropSummaryV2_2":{"description":"Native and historical Monster drop facts for catalog revision 2.2.","type":"object","properties":{"historical":{"description":"Historical overlay evidence is present only when the build supports an overlay.","anyOf":[{"$ref":"#/$defs/MonsterHistoricalDropSummaryV2_2"},{"type":"null"}]},"native":{"description":"Native evidence from this exact build. Known counts carry an explicit\nlower-bound marker because Monster Book coverage is partial.","$ref":"#/$defs/MonsterNativeDropSummaryV2_2"}},"additionalProperties":false,"required":["native"]},"MonsterElementSummaryV2":{"description":"Compact canonical and source-code summary of one element/resistance pair.","type":"object","properties":{"code":{"description":"Verbatim source element code.","type":"string"},"effect":{"description":"Verbatim numeric effect tier.","$ref":"#/$defs/SafeInt64"},"meaning":{"description":"Canonical element meaning when the build family supports it.","$ref":"#/$defs/CatalogFact"},"multiplier":{"description":"Canonical damage multiplier when the build family supports it.","$ref":"#/$defs/CatalogFact4"},"resistance":{"description":"Canonical resistance meaning when the build family supports it.","$ref":"#/$defs/CatalogFact"}},"additionalProperties":false,"required":["code","effect","meaning","resistance","multiplier"]},"MonsterHistoricalDropSummaryV2_2":{"description":"Historical overlay drop count, separate from native source coverage.","oneOf":[{"description":"One or more reviewed assertions from the listed source builds.","type":"object","properties":{"count":{"type":"integer","format":"uint","maximum":9007199254740991,"minimum":1},"sourceBuilds":{"$ref":"#/$defs/NonEmptyVec_string"},"state":{"type":"string","const":"known"}},"additionalProperties":false,"required":["state","count","sourceBuilds"]},{"description":"No historical overlay assertion is present for this Monster.","type":"object","properties":{"state":{"type":"string","const":"absent"}},"additionalProperties":false,"required":["state"]}]},"MonsterHistoricalDropsCoverageV2_2":{"description":"Availability of historical drop evidence for one build.","type":"string","enum":["supported","unsupported"]},"MonsterLocationScopeV2_2":{"description":"Scope label for location summary counts. This marks client placements as a\nlower bound and does not describe live spawn rates or server population.","type":"string","enum":["client-placements"]},"MonsterLocationSummaryV2_2":{"description":"Per-Monster location state and resolved client-placement counts.","oneOf":[{"description":"Every occurrence is attributed to a Map in this build.","type":"object","properties":{"mapCount":{"type":"integer","format":"uint","maximum":9007199254740991,"minimum":1},"placementCount":{"type":"integer","format":"uint","maximum":9007199254740991,"minimum":1},"state":{"type":"string","const":"known"}},"additionalProperties":false,"required":["state","mapCount","placementCount"]},{"description":"Complete client map coverage observed no placement for this Monster.","type":"object","properties":{"state":{"type":"string","const":"absent"}},"additionalProperties":false,"required":["state"]},{"description":"At least one occurrence could not be assigned to a published Map. Counts\ncover only resolved maps and may therefore be zero.","type":"object","properties":{"mapCount":{"type":"integer","format":"uint","maximum":9007199254740991,"minimum":0},"placementCount":{"type":"integer","format":"uint","maximum":9007199254740991,"minimum":0},"state":{"type":"string","const":"unresolved"}},"additionalProperties":false,"required":["state","mapCount","placementCount"]}]},"MonsterNativeDropSummaryV2_2":{"description":"Native drop count and its source coverage state.","oneOf":[{"description":"Positively observed native assertions; partial source coverage is a lower bound.","type":"object","properties":{"count":{"type":"integer","format":"uint","maximum":9007199254740991,"minimum":1},"lowerBound":{"type":"boolean"},"state":{"type":"string","const":"known"}},"additionalProperties":false,"required":["state","count","lowerBound"]},{"description":"Native source coverage is not established.","type":"object","properties":{"state":{"type":"string","const":"unknown"}},"additionalProperties":false,"required":["state"]},{"description":"Complete source coverage observed no native assertions.","type":"object","properties":{"state":{"type":"string","const":"absent"}},"additionalProperties":false,"required":["state"]},{"description":"This build cannot supply native drop evidence.","type":"object","properties":{"state":{"type":"string","const":"unsupported"}},"additionalProperties":false,"required":["state"]}]},"MonsterRelationshipFacetKind":{"description":"Relationship kinds represented as compact positive-count catalog facets.","type":"string","enum":["bans","banMaps","damagedBy","attacks","revives","lostItems","skillAssignments","speakConditions","speakGroups","speakLines","localizedNames","bookEntries","bookMaps","questCountGroupMemberships"]},"MonsterRelationshipFacetV2":{"description":"One positively observed relationship count. Zero-count tables do not\nappear here; the collection remains partial or unknown without a sealed\nsource-table coverage witness.","type":"object","properties":{"count":{"$ref":"#/$defs/SafeInt64"},"kind":{"$ref":"#/$defs/MonsterRelationshipFacetKind"}},"additionalProperties":false,"required":["kind","count"]},"NonEmptyVec_MonsterElementSummaryV2":{"type":"array","items":{"$ref":"#/$defs/MonsterElementSummaryV2"},"minItems":1},"NonEmptyVec_MonsterRelationshipFacetV2":{"type":"array","items":{"$ref":"#/$defs/MonsterRelationshipFacetV2"},"minItems":1},"NonEmptyVec_string":{"type":"array","items":{"type":"string"},"minItems":1},"SafeInt64":{"type":"integer","format":"int64","maximum":9007199254740991,"minimum":-9007199254740991}}};const schema66 = {"description":"Build scope specifying the game family and concrete build identity.","type":"object","properties":{"build_id":{"description":"Exact build identity (e.g., 'gms-v83', 'cw-cot2').","type":"string"},"family_id":{"description":"Family identity (e.g., 'gms', 'classic-world').","type":"string"}},"required":["family_id","build_id"]};const schema32 = {"description":"Catalog-level coverage shared by every row in one build.","type":"object","properties":{"historicalDrops":{"description":"Whether this build carries a historical drop overlay.","$ref":"#/$defs/MonsterHistoricalDropsCoverageV2_2"},"locationScope":{"description":"Scope of every location count in this catalog.","$ref":"#/$defs/MonsterLocationScopeV2_2"},"locationsAbsentCoverageKey":{"description":"Coverage witness for rows whose location state is `absent`; omitted when none exist.","anyOf":[{"$ref":"#/$defs/CoverageKey"},{"type":"null"}]},"nativeDropsAbsentCoverageKey":{"description":"Coverage witness for rows whose native drop state is `absent`; omitted when none exist.","anyOf":[{"$ref":"#/$defs/CoverageKey"},{"type":"null"}]}},"additionalProperties":false,"required":["historicalDrops","locationScope"]};const schema33 = {"description":"Availability of historical drop evidence for one build.","type":"string","enum":["supported","unsupported"]};const schema34 = {"description":"Scope label for location summary counts. This marks client placements as a\nlower bound and does not describe live spawn rates or server population.","type":"string","enum":["client-placements"]};const schema35 = {"type":"string","minLength":1,"pattern":"\\S"};const func1 = function ucs2length(str) {
2
+ const len = str.length;
3
+ let length = 0;
4
+ let pos = 0;
5
+ let value;
6
+ while (pos < len) {
7
+ length++;
8
+ value = str.charCodeAt(pos++);
9
+ if (value >= 0xd800 && value <= 0xdbff && pos < len) {
10
+ // high surrogate, and there is a next character
11
+ value = str.charCodeAt(pos);
12
+ if ((value & 0xfc00) === 0xdc00)
13
+ pos++; // low surrogate
14
+ }
15
+ }
16
+ return length;
17
+ };const pattern4 = new RegExp("\\S", "u");function validate21(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate21.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.historicalDrops === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "historicalDrops"},message:"must have required property '"+"historicalDrops"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.locationScope === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "locationScope"},message:"must have required property '"+"locationScope"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}for(const key0 in data){if(!((((key0 === "historicalDrops") || (key0 === "locationScope")) || (key0 === "locationsAbsentCoverageKey")) || (key0 === "nativeDropsAbsentCoverageKey"))){const err2 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data.historicalDrops !== undefined){let data0 = data.historicalDrops;if(typeof data0 !== "string"){const err3 = {instancePath:instancePath+"/historicalDrops",schemaPath:"#/$defs/MonsterHistoricalDropsCoverageV2_2/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(!((data0 === "supported") || (data0 === "unsupported"))){const err4 = {instancePath:instancePath+"/historicalDrops",schemaPath:"#/$defs/MonsterHistoricalDropsCoverageV2_2/enum",keyword:"enum",params:{allowedValues: schema33.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data.locationScope !== undefined){let data1 = data.locationScope;if(typeof data1 !== "string"){const err5 = {instancePath:instancePath+"/locationScope",schemaPath:"#/$defs/MonsterLocationScopeV2_2/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}if(!(data1 === "client-placements")){const err6 = {instancePath:instancePath+"/locationScope",schemaPath:"#/$defs/MonsterLocationScopeV2_2/enum",keyword:"enum",params:{allowedValues: schema34.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.locationsAbsentCoverageKey !== undefined){let data2 = data.locationsAbsentCoverageKey;const _errs9 = errors;let valid3 = false;const _errs10 = errors;if(typeof data2 === "string"){if(func1(data2) < 1){const err7 = {instancePath:instancePath+"/locationsAbsentCoverageKey",schemaPath:"#/$defs/CoverageKey/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}if(!pattern4.test(data2)){const err8 = {instancePath:instancePath+"/locationsAbsentCoverageKey",schemaPath:"#/$defs/CoverageKey/pattern",keyword:"pattern",params:{pattern: "\\S"},message:"must match pattern \""+"\\S"+"\""};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}else {const err9 = {instancePath:instancePath+"/locationsAbsentCoverageKey",schemaPath:"#/$defs/CoverageKey/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}var _valid0 = _errs10 === errors;valid3 = valid3 || _valid0;const _errs13 = errors;if(data2 !== null){const err10 = {instancePath:instancePath+"/locationsAbsentCoverageKey",schemaPath:"#/properties/locationsAbsentCoverageKey/anyOf/1/type",keyword:"type",params:{type: "null"},message:"must be null"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}var _valid0 = _errs13 === errors;valid3 = valid3 || _valid0;if(!valid3){const err11 = {instancePath:instancePath+"/locationsAbsentCoverageKey",schemaPath:"#/properties/locationsAbsentCoverageKey/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}else {errors = _errs9;if(vErrors !== null){if(_errs9){vErrors.length = _errs9;}else {vErrors = null;}}}}if(data.nativeDropsAbsentCoverageKey !== undefined){let data3 = data.nativeDropsAbsentCoverageKey;const _errs16 = errors;let valid5 = false;const _errs17 = errors;if(typeof data3 === "string"){if(func1(data3) < 1){const err12 = {instancePath:instancePath+"/nativeDropsAbsentCoverageKey",schemaPath:"#/$defs/CoverageKey/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}if(!pattern4.test(data3)){const err13 = {instancePath:instancePath+"/nativeDropsAbsentCoverageKey",schemaPath:"#/$defs/CoverageKey/pattern",keyword:"pattern",params:{pattern: "\\S"},message:"must match pattern \""+"\\S"+"\""};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}else {const err14 = {instancePath:instancePath+"/nativeDropsAbsentCoverageKey",schemaPath:"#/$defs/CoverageKey/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}var _valid1 = _errs17 === errors;valid5 = valid5 || _valid1;const _errs20 = errors;if(data3 !== null){const err15 = {instancePath:instancePath+"/nativeDropsAbsentCoverageKey",schemaPath:"#/properties/nativeDropsAbsentCoverageKey/anyOf/1/type",keyword:"type",params:{type: "null"},message:"must be null"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}var _valid1 = _errs20 === errors;valid5 = valid5 || _valid1;if(!valid5){const err16 = {instancePath:instancePath+"/nativeDropsAbsentCoverageKey",schemaPath:"#/properties/nativeDropsAbsentCoverageKey/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}else {errors = _errs16;if(vErrors !== null){if(_errs16){vErrors.length = _errs16;}else {vErrors = null;}}}}}else {const err17 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}validate21.errors = vErrors;return errors === 0;}validate21.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema37 = {"description":"Compact Monster row for browse catalog revision 2.2.","type":"object","properties":{"drops":{"description":"Native and historical drop facts derived from the evidence assertion stream.","$ref":"#/$defs/MonsterDropSummaryV2_2"},"elements":{"description":"Observed element summaries; empty collections are unknown without coverage.","$ref":"#/$defs/CatalogCollection"},"key":{"description":"Stable public key derived from family, domain, namespace, and source ID.","type":"string"},"locations":{"description":"Per-Monster client placement state and resolved counts.","$ref":"#/$defs/MonsterLocationSummaryV2_2"},"name":{"description":"Localized display name, if observed.","$ref":"#/$defs/CatalogFact"},"relationships":{"description":"Positively observed relationship counts; incomplete coverage stays partial.","$ref":"#/$defs/CatalogCollection2"},"sprite":{"description":"Same-build Media product's representative monster sprite identity.","$ref":"#/$defs/CatalogFact5"},"stats":{"description":"Contract-ordered compact stat facts.","type":"array","maxItems":12,"minItems":12,"prefixItems":[{"$ref":"#/$defs/CatalogFact2"},{"$ref":"#/$defs/CatalogFact2"},{"$ref":"#/$defs/CatalogFact2"},{"$ref":"#/$defs/CatalogFact2"},{"$ref":"#/$defs/CatalogFact2"},{"$ref":"#/$defs/CatalogFact2"},{"$ref":"#/$defs/CatalogFact2"},{"$ref":"#/$defs/CatalogFact2"},{"$ref":"#/$defs/CatalogFact2"},{"$ref":"#/$defs/CatalogFact2"},{"$ref":"#/$defs/CatalogFact2"},{"$ref":"#/$defs/CatalogFact2"}]},"traits":{"description":"Contract-ordered compact trait facts.","type":"array","maxItems":9,"minItems":9,"prefixItems":[{"$ref":"#/$defs/CatalogFact3"},{"$ref":"#/$defs/CatalogFact3"},{"$ref":"#/$defs/CatalogFact3"},{"$ref":"#/$defs/CatalogFact4"},{"$ref":"#/$defs/CatalogFact3"},{"$ref":"#/$defs/CatalogFact3"},{"$ref":"#/$defs/CatalogFact2"},{"$ref":"#/$defs/CatalogFact2"},{"$ref":"#/$defs/CatalogFact"}]}},"additionalProperties":false,"required":["key","name","stats","traits","elements","relationships","sprite","drops","locations"]};const schema51 = {"description":"Per-Monster location state and resolved client-placement counts.","oneOf":[{"description":"Every occurrence is attributed to a Map in this build.","type":"object","properties":{"mapCount":{"type":"integer","format":"uint","maximum":9007199254740991,"minimum":1},"placementCount":{"type":"integer","format":"uint","maximum":9007199254740991,"minimum":1},"state":{"type":"string","const":"known"}},"additionalProperties":false,"required":["state","mapCount","placementCount"]},{"description":"Complete client map coverage observed no placement for this Monster.","type":"object","properties":{"state":{"type":"string","const":"absent"}},"additionalProperties":false,"required":["state"]},{"description":"At least one occurrence could not be assigned to a published Map. Counts\ncover only resolved maps and may therefore be zero.","type":"object","properties":{"mapCount":{"type":"integer","format":"uint","maximum":9007199254740991,"minimum":0},"placementCount":{"type":"integer","format":"uint","maximum":9007199254740991,"minimum":0},"state":{"type":"string","const":"unresolved"}},"additionalProperties":false,"required":["state","mapCount","placementCount"]}]};const func3 = Object.prototype.hasOwnProperty;const schema38 = {"description":"Native and historical Monster drop facts for catalog revision 2.2.","type":"object","properties":{"historical":{"description":"Historical overlay evidence is present only when the build supports an overlay.","anyOf":[{"$ref":"#/$defs/MonsterHistoricalDropSummaryV2_2"},{"type":"null"}]},"native":{"description":"Native evidence from this exact build. Known counts carry an explicit\nlower-bound marker because Monster Book coverage is partial.","$ref":"#/$defs/MonsterNativeDropSummaryV2_2"}},"additionalProperties":false,"required":["native"]};const schema41 = {"description":"Native drop count and its source coverage state.","oneOf":[{"description":"Positively observed native assertions; partial source coverage is a lower bound.","type":"object","properties":{"count":{"type":"integer","format":"uint","maximum":9007199254740991,"minimum":1},"lowerBound":{"type":"boolean"},"state":{"type":"string","const":"known"}},"additionalProperties":false,"required":["state","count","lowerBound"]},{"description":"Native source coverage is not established.","type":"object","properties":{"state":{"type":"string","const":"unknown"}},"additionalProperties":false,"required":["state"]},{"description":"Complete source coverage observed no native assertions.","type":"object","properties":{"state":{"type":"string","const":"absent"}},"additionalProperties":false,"required":["state"]},{"description":"This build cannot supply native drop evidence.","type":"object","properties":{"state":{"type":"string","const":"unsupported"}},"additionalProperties":false,"required":["state"]}]};const schema39 = {"description":"Historical overlay drop count, separate from native source coverage.","oneOf":[{"description":"One or more reviewed assertions from the listed source builds.","type":"object","properties":{"count":{"type":"integer","format":"uint","maximum":9007199254740991,"minimum":1},"sourceBuilds":{"$ref":"#/$defs/NonEmptyVec_string"},"state":{"type":"string","const":"known"}},"additionalProperties":false,"required":["state","count","sourceBuilds"]},{"description":"No historical overlay assertion is present for this Monster.","type":"object","properties":{"state":{"type":"string","const":"absent"}},"additionalProperties":false,"required":["state"]}]};const schema40 = {"type":"array","items":{"type":"string"},"minItems":1};function validate25(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate25.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs0 = errors;let valid0 = false;let passing0 = null;const _errs1 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err0 = {instancePath,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.count === undefined){const err1 = {instancePath,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty: "count"},message:"must have required property '"+"count"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.sourceBuilds === undefined){const err2 = {instancePath,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty: "sourceBuilds"},message:"must have required property '"+"sourceBuilds"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}for(const key0 in data){if(!(((key0 === "count") || (key0 === "sourceBuilds")) || (key0 === "state"))){const err3 = {instancePath,schemaPath:"#/oneOf/0/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}if(data.count !== undefined){let data0 = data.count;if(!(((typeof data0 == "number") && (!(data0 % 1) && !isNaN(data0))) && (isFinite(data0)))){const err4 = {instancePath:instancePath+"/count",schemaPath:"#/oneOf/0/properties/count/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}if((typeof data0 == "number") && (isFinite(data0))){if(data0 > 9007199254740991 || isNaN(data0)){const err5 = {instancePath:instancePath+"/count",schemaPath:"#/oneOf/0/properties/count/maximum",keyword:"maximum",params:{comparison: "<=", limit: 9007199254740991},message:"must be <= 9007199254740991"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}if(data0 < 1 || isNaN(data0)){const err6 = {instancePath:instancePath+"/count",schemaPath:"#/oneOf/0/properties/count/minimum",keyword:"minimum",params:{comparison: ">=", limit: 1},message:"must be >= 1"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}}if(data.sourceBuilds !== undefined){let data1 = data.sourceBuilds;if(Array.isArray(data1)){if(data1.length < 1){const err7 = {instancePath:instancePath+"/sourceBuilds",schemaPath:"#/$defs/NonEmptyVec_string/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}const len0 = data1.length;for(let i0=0; i0<len0; i0++){if(typeof data1[i0] !== "string"){const err8 = {instancePath:instancePath+"/sourceBuilds/" + i0,schemaPath:"#/$defs/NonEmptyVec_string/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}}else {const err9 = {instancePath:instancePath+"/sourceBuilds",schemaPath:"#/$defs/NonEmptyVec_string/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.state !== undefined){let data3 = data.state;if(typeof data3 !== "string"){const err10 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/0/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if("known" !== data3){const err11 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/0/properties/state/const",keyword:"const",params:{allowedValue: "known"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}}else {const err12 = {instancePath,schemaPath:"#/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}var _valid0 = _errs1 === errors;if(_valid0){valid0 = true;passing0 = 0;var props0 = true;}const _errs13 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err13 = {instancePath,schemaPath:"#/oneOf/1/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}for(const key1 in data){if(!(key1 === "state")){const err14 = {instancePath,schemaPath:"#/oneOf/1/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data.state !== undefined){let data4 = data.state;if(typeof data4 !== "string"){const err15 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/1/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}if("absent" !== data4){const err16 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/1/properties/state/const",keyword:"const",params:{allowedValue: "absent"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}}else {const err17 = {instancePath,schemaPath:"#/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}var _valid0 = _errs13 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;if(props0 !== true){props0 = true;}}}if(!valid0){const err18 = {instancePath,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}else {errors = _errs0;if(vErrors !== null){if(_errs0){vErrors.length = _errs0;}else {vErrors = null;}}}validate25.errors = vErrors;evaluated0.props = props0;return errors === 0;}validate25.evaluated = {"dynamicProps":true,"dynamicItems":false};function validate24(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate24.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.native === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "native"},message:"must have required property '"+"native"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}for(const key0 in data){if(!((key0 === "historical") || (key0 === "native"))){const err1 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}if(data.historical !== undefined){let data0 = data.historical;const _errs3 = errors;let valid1 = false;const _errs4 = errors;if(!(validate25(data0, {instancePath:instancePath+"/historical",parentData:data,parentDataProperty:"historical",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate25.errors : vErrors.concat(validate25.errors);errors = vErrors.length;}var _valid0 = _errs4 === errors;valid1 = valid1 || _valid0;const _errs5 = errors;if(data0 !== null){const err2 = {instancePath:instancePath+"/historical",schemaPath:"#/properties/historical/anyOf/1/type",keyword:"type",params:{type: "null"},message:"must be null"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}var _valid0 = _errs5 === errors;valid1 = valid1 || _valid0;if(!valid1){const err3 = {instancePath:instancePath+"/historical",schemaPath:"#/properties/historical/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}else {errors = _errs3;if(vErrors !== null){if(_errs3){vErrors.length = _errs3;}else {vErrors = null;}}}}if(data.native !== undefined){let data1 = data.native;const _errs9 = errors;let valid3 = false;let passing0 = null;const _errs10 = errors;if(data1 && typeof data1 == "object" && !Array.isArray(data1)){if(data1.state === undefined){const err4 = {instancePath:instancePath+"/native",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf/0/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}if(data1.count === undefined){const err5 = {instancePath:instancePath+"/native",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf/0/required",keyword:"required",params:{missingProperty: "count"},message:"must have required property '"+"count"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}if(data1.lowerBound === undefined){const err6 = {instancePath:instancePath+"/native",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf/0/required",keyword:"required",params:{missingProperty: "lowerBound"},message:"must have required property '"+"lowerBound"+"'"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}for(const key1 in data1){if(!(((key1 === "count") || (key1 === "lowerBound")) || (key1 === "state"))){const err7 = {instancePath:instancePath+"/native",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf/0/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data1.count !== undefined){let data2 = data1.count;if(!(((typeof data2 == "number") && (!(data2 % 1) && !isNaN(data2))) && (isFinite(data2)))){const err8 = {instancePath:instancePath+"/native/count",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf/0/properties/count/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}if((typeof data2 == "number") && (isFinite(data2))){if(data2 > 9007199254740991 || isNaN(data2)){const err9 = {instancePath:instancePath+"/native/count",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf/0/properties/count/maximum",keyword:"maximum",params:{comparison: "<=", limit: 9007199254740991},message:"must be <= 9007199254740991"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}if(data2 < 1 || isNaN(data2)){const err10 = {instancePath:instancePath+"/native/count",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf/0/properties/count/minimum",keyword:"minimum",params:{comparison: ">=", limit: 1},message:"must be >= 1"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}}if(data1.lowerBound !== undefined){if(typeof data1.lowerBound !== "boolean"){const err11 = {instancePath:instancePath+"/native/lowerBound",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf/0/properties/lowerBound/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data1.state !== undefined){let data4 = data1.state;if(typeof data4 !== "string"){const err12 = {instancePath:instancePath+"/native/state",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf/0/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}if("known" !== data4){const err13 = {instancePath:instancePath+"/native/state",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf/0/properties/state/const",keyword:"const",params:{allowedValue: "known"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}}else {const err14 = {instancePath:instancePath+"/native",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}var _valid1 = _errs10 === errors;if(_valid1){valid3 = true;passing0 = 0;var props1 = true;}const _errs19 = errors;if(data1 && typeof data1 == "object" && !Array.isArray(data1)){if(data1.state === undefined){const err15 = {instancePath:instancePath+"/native",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf/1/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}for(const key2 in data1){if(!(key2 === "state")){const err16 = {instancePath:instancePath+"/native",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf/1/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data1.state !== undefined){let data5 = data1.state;if(typeof data5 !== "string"){const err17 = {instancePath:instancePath+"/native/state",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf/1/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}if("unknown" !== data5){const err18 = {instancePath:instancePath+"/native/state",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf/1/properties/state/const",keyword:"const",params:{allowedValue: "unknown"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}}else {const err19 = {instancePath:instancePath+"/native",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}var _valid1 = _errs19 === errors;if(_valid1 && valid3){valid3 = false;passing0 = [passing0, 1];}else {if(_valid1){valid3 = true;passing0 = 1;if(props1 !== true){props1 = true;}}const _errs24 = errors;if(data1 && typeof data1 == "object" && !Array.isArray(data1)){if(data1.state === undefined){const err20 = {instancePath:instancePath+"/native",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf/2/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}for(const key3 in data1){if(!(key3 === "state")){const err21 = {instancePath:instancePath+"/native",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf/2/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}if(data1.state !== undefined){let data6 = data1.state;if(typeof data6 !== "string"){const err22 = {instancePath:instancePath+"/native/state",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf/2/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}if("absent" !== data6){const err23 = {instancePath:instancePath+"/native/state",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf/2/properties/state/const",keyword:"const",params:{allowedValue: "absent"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}}else {const err24 = {instancePath:instancePath+"/native",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf/2/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}var _valid1 = _errs24 === errors;if(_valid1 && valid3){valid3 = false;passing0 = [passing0, 2];}else {if(_valid1){valid3 = true;passing0 = 2;if(props1 !== true){props1 = true;}}const _errs29 = errors;if(data1 && typeof data1 == "object" && !Array.isArray(data1)){if(data1.state === undefined){const err25 = {instancePath:instancePath+"/native",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf/3/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}for(const key4 in data1){if(!(key4 === "state")){const err26 = {instancePath:instancePath+"/native",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf/3/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key4},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}if(data1.state !== undefined){let data7 = data1.state;if(typeof data7 !== "string"){const err27 = {instancePath:instancePath+"/native/state",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf/3/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}if("unsupported" !== data7){const err28 = {instancePath:instancePath+"/native/state",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf/3/properties/state/const",keyword:"const",params:{allowedValue: "unsupported"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}}else {const err29 = {instancePath:instancePath+"/native",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf/3/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}var _valid1 = _errs29 === errors;if(_valid1 && valid3){valid3 = false;passing0 = [passing0, 3];}else {if(_valid1){valid3 = true;passing0 = 3;if(props1 !== true){props1 = true;}}}}}if(!valid3){const err30 = {instancePath:instancePath+"/native",schemaPath:"#/$defs/MonsterNativeDropSummaryV2_2/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}else {errors = _errs9;if(vErrors !== null){if(_errs9){vErrors.length = _errs9;}else {vErrors = null;}}}}}else {const err31 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}validate24.errors = vErrors;return errors === 0;}validate24.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema42 = {"description":"Compact source-free projection of [`CollectionState`]. Empty partial\nobservations collapse to `unknown`; `absent` still requires its coverage\nkey, and known/partial item lists cannot be empty.","oneOf":[{"description":"A non-empty collection with complete source coverage.","type":"object","properties":{"items":{"$ref":"#/$defs/NonEmptyVec_MonsterElementSummaryV2"},"state":{"type":"string","const":"known"}},"additionalProperties":false,"required":["state","items"]},{"description":"A non-empty collection of observations with incomplete coverage.","type":"object","properties":{"items":{"$ref":"#/$defs/NonEmptyVec_MonsterElementSummaryV2"},"state":{"type":"string","const":"partial"}},"additionalProperties":false,"required":["state","items"]},{"description":"Collection contents or coverage could not be established.","type":"object","properties":{"state":{"type":"string","const":"unknown"}},"additionalProperties":false,"required":["state"]},{"description":"The source scope is complete and contained no observations.","type":"object","properties":{"coverageKey":{"$ref":"#/$defs/CoverageKey"},"state":{"type":"string","const":"absent"}},"additionalProperties":false,"required":["state","coverageKey"]},{"description":"The producer cannot supply this collection.","type":"object","properties":{"state":{"type":"string","const":"unsupported"}},"additionalProperties":false,"required":["state"]}]};const schema43 = {"type":"array","items":{"$ref":"#/$defs/MonsterElementSummaryV2"},"minItems":1};const schema44 = {"description":"Compact canonical and source-code summary of one element/resistance pair.","type":"object","properties":{"code":{"description":"Verbatim source element code.","type":"string"},"effect":{"description":"Verbatim numeric effect tier.","$ref":"#/$defs/SafeInt64"},"meaning":{"description":"Canonical element meaning when the build family supports it.","$ref":"#/$defs/CatalogFact"},"multiplier":{"description":"Canonical damage multiplier when the build family supports it.","$ref":"#/$defs/CatalogFact4"},"resistance":{"description":"Canonical resistance meaning when the build family supports it.","$ref":"#/$defs/CatalogFact"}},"additionalProperties":false,"required":["code","effect","meaning","resistance","multiplier"]};const schema45 = {"type":"integer","format":"int64","maximum":9007199254740991,"minimum":-9007199254740991};const schema46 = {"description":"Compact catalog projection of [`FactState`]. It keeps the state and a\npositively observed value, retains the coverage witness for `absent`, and\nomits source attribution and explanatory metadata.","oneOf":[{"description":"A positively observed catalog value.","type":"object","properties":{"state":{"type":"string","const":"known"},"value":{"type":"string"}},"additionalProperties":false,"required":["state","value"]},{"description":"The value could not be established.","type":"object","properties":{"state":{"type":"string","const":"unknown"}},"additionalProperties":false,"required":["state"]},{"description":"No value was present under a source scope with complete coverage.","type":"object","properties":{"coverageKey":{"$ref":"#/$defs/CoverageKey"},"state":{"type":"string","const":"absent"}},"additionalProperties":false,"required":["state","coverageKey"]},{"description":"The producer cannot supply the fact.","type":"object","properties":{"state":{"type":"string","const":"unsupported"}},"additionalProperties":false,"required":["state"]}]};function validate31(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate31.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs0 = errors;let valid0 = false;let passing0 = null;const _errs1 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err0 = {instancePath,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.value === undefined){const err1 = {instancePath,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty: "value"},message:"must have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}for(const key0 in data){if(!((key0 === "state") || (key0 === "value"))){const err2 = {instancePath,schemaPath:"#/oneOf/0/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data.state !== undefined){let data0 = data.state;if(typeof data0 !== "string"){const err3 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/0/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if("known" !== data0){const err4 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/0/properties/state/const",keyword:"const",params:{allowedValue: "known"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data.value !== undefined){if(typeof data.value !== "string"){const err5 = {instancePath:instancePath+"/value",schemaPath:"#/oneOf/0/properties/value/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}}else {const err6 = {instancePath,schemaPath:"#/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}var _valid0 = _errs1 === errors;if(_valid0){valid0 = true;passing0 = 0;var props0 = true;}const _errs8 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err7 = {instancePath,schemaPath:"#/oneOf/1/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}for(const key1 in data){if(!(key1 === "state")){const err8 = {instancePath,schemaPath:"#/oneOf/1/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.state !== undefined){let data2 = data.state;if(typeof data2 !== "string"){const err9 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/1/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}if("unknown" !== data2){const err10 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/1/properties/state/const",keyword:"const",params:{allowedValue: "unknown"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}}else {const err11 = {instancePath,schemaPath:"#/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}var _valid0 = _errs8 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;if(props0 !== true){props0 = true;}}const _errs13 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err12 = {instancePath,schemaPath:"#/oneOf/2/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}if(data.coverageKey === undefined){const err13 = {instancePath,schemaPath:"#/oneOf/2/required",keyword:"required",params:{missingProperty: "coverageKey"},message:"must have required property '"+"coverageKey"+"'"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}for(const key2 in data){if(!((key2 === "coverageKey") || (key2 === "state"))){const err14 = {instancePath,schemaPath:"#/oneOf/2/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data.coverageKey !== undefined){let data3 = data.coverageKey;if(typeof data3 === "string"){if(func1(data3) < 1){const err15 = {instancePath:instancePath+"/coverageKey",schemaPath:"#/$defs/CoverageKey/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}if(!pattern4.test(data3)){const err16 = {instancePath:instancePath+"/coverageKey",schemaPath:"#/$defs/CoverageKey/pattern",keyword:"pattern",params:{pattern: "\\S"},message:"must match pattern \""+"\\S"+"\""};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}else {const err17 = {instancePath:instancePath+"/coverageKey",schemaPath:"#/$defs/CoverageKey/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data.state !== undefined){let data4 = data.state;if(typeof data4 !== "string"){const err18 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/2/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}if("absent" !== data4){const err19 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/2/properties/state/const",keyword:"const",params:{allowedValue: "absent"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}}else {const err20 = {instancePath,schemaPath:"#/oneOf/2/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}var _valid0 = _errs13 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 2];}else {if(_valid0){valid0 = true;passing0 = 2;if(props0 !== true){props0 = true;}}const _errs21 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err21 = {instancePath,schemaPath:"#/oneOf/3/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}for(const key3 in data){if(!(key3 === "state")){const err22 = {instancePath,schemaPath:"#/oneOf/3/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data.state !== undefined){let data5 = data.state;if(typeof data5 !== "string"){const err23 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/3/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}if("unsupported" !== data5){const err24 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/3/properties/state/const",keyword:"const",params:{allowedValue: "unsupported"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}}else {const err25 = {instancePath,schemaPath:"#/oneOf/3/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}var _valid0 = _errs21 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 3];}else {if(_valid0){valid0 = true;passing0 = 3;if(props0 !== true){props0 = true;}}}}}if(!valid0){const err26 = {instancePath,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}else {errors = _errs0;if(vErrors !== null){if(_errs0){vErrors.length = _errs0;}else {vErrors = null;}}}validate31.errors = vErrors;evaluated0.props = props0;return errors === 0;}validate31.evaluated = {"dynamicProps":true,"dynamicItems":false};const schema48 = {"description":"Compact catalog projection of [`FactState`]. It keeps the state and a\npositively observed value, retains the coverage witness for `absent`, and\nomits source attribution and explanatory metadata.","oneOf":[{"description":"A positively observed catalog value.","type":"object","properties":{"state":{"type":"string","const":"known"},"value":{"type":"number","format":"double"}},"additionalProperties":false,"required":["state","value"]},{"description":"The value could not be established.","type":"object","properties":{"state":{"type":"string","const":"unknown"}},"additionalProperties":false,"required":["state"]},{"description":"No value was present under a source scope with complete coverage.","type":"object","properties":{"coverageKey":{"$ref":"#/$defs/CoverageKey"},"state":{"type":"string","const":"absent"}},"additionalProperties":false,"required":["state","coverageKey"]},{"description":"The producer cannot supply the fact.","type":"object","properties":{"state":{"type":"string","const":"unsupported"}},"additionalProperties":false,"required":["state"]}]};function validate33(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate33.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs0 = errors;let valid0 = false;let passing0 = null;const _errs1 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err0 = {instancePath,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.value === undefined){const err1 = {instancePath,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty: "value"},message:"must have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}for(const key0 in data){if(!((key0 === "state") || (key0 === "value"))){const err2 = {instancePath,schemaPath:"#/oneOf/0/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data.state !== undefined){let data0 = data.state;if(typeof data0 !== "string"){const err3 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/0/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if("known" !== data0){const err4 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/0/properties/state/const",keyword:"const",params:{allowedValue: "known"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data.value !== undefined){let data1 = data.value;if(!((typeof data1 == "number") && (isFinite(data1)))){const err5 = {instancePath:instancePath+"/value",schemaPath:"#/oneOf/0/properties/value/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}}else {const err6 = {instancePath,schemaPath:"#/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}var _valid0 = _errs1 === errors;if(_valid0){valid0 = true;passing0 = 0;var props0 = true;}const _errs8 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err7 = {instancePath,schemaPath:"#/oneOf/1/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}for(const key1 in data){if(!(key1 === "state")){const err8 = {instancePath,schemaPath:"#/oneOf/1/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.state !== undefined){let data2 = data.state;if(typeof data2 !== "string"){const err9 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/1/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}if("unknown" !== data2){const err10 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/1/properties/state/const",keyword:"const",params:{allowedValue: "unknown"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}}else {const err11 = {instancePath,schemaPath:"#/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}var _valid0 = _errs8 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;if(props0 !== true){props0 = true;}}const _errs13 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err12 = {instancePath,schemaPath:"#/oneOf/2/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}if(data.coverageKey === undefined){const err13 = {instancePath,schemaPath:"#/oneOf/2/required",keyword:"required",params:{missingProperty: "coverageKey"},message:"must have required property '"+"coverageKey"+"'"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}for(const key2 in data){if(!((key2 === "coverageKey") || (key2 === "state"))){const err14 = {instancePath,schemaPath:"#/oneOf/2/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data.coverageKey !== undefined){let data3 = data.coverageKey;if(typeof data3 === "string"){if(func1(data3) < 1){const err15 = {instancePath:instancePath+"/coverageKey",schemaPath:"#/$defs/CoverageKey/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}if(!pattern4.test(data3)){const err16 = {instancePath:instancePath+"/coverageKey",schemaPath:"#/$defs/CoverageKey/pattern",keyword:"pattern",params:{pattern: "\\S"},message:"must match pattern \""+"\\S"+"\""};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}else {const err17 = {instancePath:instancePath+"/coverageKey",schemaPath:"#/$defs/CoverageKey/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data.state !== undefined){let data4 = data.state;if(typeof data4 !== "string"){const err18 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/2/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}if("absent" !== data4){const err19 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/2/properties/state/const",keyword:"const",params:{allowedValue: "absent"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}}else {const err20 = {instancePath,schemaPath:"#/oneOf/2/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}var _valid0 = _errs13 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 2];}else {if(_valid0){valid0 = true;passing0 = 2;if(props0 !== true){props0 = true;}}const _errs21 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err21 = {instancePath,schemaPath:"#/oneOf/3/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}for(const key3 in data){if(!(key3 === "state")){const err22 = {instancePath,schemaPath:"#/oneOf/3/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data.state !== undefined){let data5 = data.state;if(typeof data5 !== "string"){const err23 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/3/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}if("unsupported" !== data5){const err24 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/3/properties/state/const",keyword:"const",params:{allowedValue: "unsupported"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}}else {const err25 = {instancePath,schemaPath:"#/oneOf/3/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}var _valid0 = _errs21 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 3];}else {if(_valid0){valid0 = true;passing0 = 3;if(props0 !== true){props0 = true;}}}}}if(!valid0){const err26 = {instancePath,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}else {errors = _errs0;if(vErrors !== null){if(_errs0){vErrors.length = _errs0;}else {vErrors = null;}}}validate33.errors = vErrors;evaluated0.props = props0;return errors === 0;}validate33.evaluated = {"dynamicProps":true,"dynamicItems":false};function validate30(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate30.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.code === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "code"},message:"must have required property '"+"code"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.effect === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "effect"},message:"must have required property '"+"effect"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.meaning === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "meaning"},message:"must have required property '"+"meaning"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.resistance === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "resistance"},message:"must have required property '"+"resistance"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.multiplier === undefined){const err4 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "multiplier"},message:"must have required property '"+"multiplier"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}for(const key0 in data){if(!(((((key0 === "code") || (key0 === "effect")) || (key0 === "meaning")) || (key0 === "multiplier")) || (key0 === "resistance"))){const err5 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.code !== undefined){if(typeof data.code !== "string"){const err6 = {instancePath:instancePath+"/code",schemaPath:"#/properties/code/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.effect !== undefined){let data1 = data.effect;if(!(((typeof data1 == "number") && (!(data1 % 1) && !isNaN(data1))) && (isFinite(data1)))){const err7 = {instancePath:instancePath+"/effect",schemaPath:"#/$defs/SafeInt64/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}if((typeof data1 == "number") && (isFinite(data1))){if(data1 > 9007199254740991 || isNaN(data1)){const err8 = {instancePath:instancePath+"/effect",schemaPath:"#/$defs/SafeInt64/maximum",keyword:"maximum",params:{comparison: "<=", limit: 9007199254740991},message:"must be <= 9007199254740991"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}if(data1 < -9007199254740991 || isNaN(data1)){const err9 = {instancePath:instancePath+"/effect",schemaPath:"#/$defs/SafeInt64/minimum",keyword:"minimum",params:{comparison: ">=", limit: -9007199254740991},message:"must be >= -9007199254740991"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}}if(data.meaning !== undefined){if(!(validate31(data.meaning, {instancePath:instancePath+"/meaning",parentData:data,parentDataProperty:"meaning",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate31.errors : vErrors.concat(validate31.errors);errors = vErrors.length;}}if(data.multiplier !== undefined){if(!(validate33(data.multiplier, {instancePath:instancePath+"/multiplier",parentData:data,parentDataProperty:"multiplier",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate33.errors : vErrors.concat(validate33.errors);errors = vErrors.length;}}if(data.resistance !== undefined){if(!(validate31(data.resistance, {instancePath:instancePath+"/resistance",parentData:data,parentDataProperty:"resistance",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate31.errors : vErrors.concat(validate31.errors);errors = vErrors.length;}}}else {const err10 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}validate30.errors = vErrors;return errors === 0;}validate30.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate29(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate29.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(Array.isArray(data)){if(data.length < 1){const err0 = {instancePath,schemaPath:"#/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}const len0 = data.length;for(let i0=0; i0<len0; i0++){if(!(validate30(data[i0], {instancePath:instancePath+"/" + i0,parentData:data,parentDataProperty:i0,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate30.errors : vErrors.concat(validate30.errors);errors = vErrors.length;}}}else {const err1 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}validate29.errors = vErrors;return errors === 0;}validate29.evaluated = {"items":true,"dynamicProps":false,"dynamicItems":false};function validate28(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate28.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs0 = errors;let valid0 = false;let passing0 = null;const _errs1 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err0 = {instancePath,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.items === undefined){const err1 = {instancePath,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty: "items"},message:"must have required property '"+"items"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}for(const key0 in data){if(!((key0 === "items") || (key0 === "state"))){const err2 = {instancePath,schemaPath:"#/oneOf/0/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data.items !== undefined){if(!(validate29(data.items, {instancePath:instancePath+"/items",parentData:data,parentDataProperty:"items",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate29.errors : vErrors.concat(validate29.errors);errors = vErrors.length;}}if(data.state !== undefined){let data1 = data.state;if(typeof data1 !== "string"){const err3 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/0/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if("known" !== data1){const err4 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/0/properties/state/const",keyword:"const",params:{allowedValue: "known"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}}else {const err5 = {instancePath,schemaPath:"#/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}var _valid0 = _errs1 === errors;if(_valid0){valid0 = true;passing0 = 0;var props0 = true;}const _errs7 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err6 = {instancePath,schemaPath:"#/oneOf/1/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}if(data.items === undefined){const err7 = {instancePath,schemaPath:"#/oneOf/1/required",keyword:"required",params:{missingProperty: "items"},message:"must have required property '"+"items"+"'"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}for(const key1 in data){if(!((key1 === "items") || (key1 === "state"))){const err8 = {instancePath,schemaPath:"#/oneOf/1/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.items !== undefined){if(!(validate29(data.items, {instancePath:instancePath+"/items",parentData:data,parentDataProperty:"items",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate29.errors : vErrors.concat(validate29.errors);errors = vErrors.length;}}if(data.state !== undefined){let data3 = data.state;if(typeof data3 !== "string"){const err9 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/1/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}if("partial" !== data3){const err10 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/1/properties/state/const",keyword:"const",params:{allowedValue: "partial"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}}else {const err11 = {instancePath,schemaPath:"#/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}var _valid0 = _errs7 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;if(props0 !== true){props0 = true;}}const _errs13 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err12 = {instancePath,schemaPath:"#/oneOf/2/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}for(const key2 in data){if(!(key2 === "state")){const err13 = {instancePath,schemaPath:"#/oneOf/2/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}if(data.state !== undefined){let data4 = data.state;if(typeof data4 !== "string"){const err14 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/2/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}if("unknown" !== data4){const err15 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/2/properties/state/const",keyword:"const",params:{allowedValue: "unknown"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}}else {const err16 = {instancePath,schemaPath:"#/oneOf/2/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}var _valid0 = _errs13 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 2];}else {if(_valid0){valid0 = true;passing0 = 2;if(props0 !== true){props0 = true;}}const _errs18 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err17 = {instancePath,schemaPath:"#/oneOf/3/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}if(data.coverageKey === undefined){const err18 = {instancePath,schemaPath:"#/oneOf/3/required",keyword:"required",params:{missingProperty: "coverageKey"},message:"must have required property '"+"coverageKey"+"'"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}for(const key3 in data){if(!((key3 === "coverageKey") || (key3 === "state"))){const err19 = {instancePath,schemaPath:"#/oneOf/3/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data.coverageKey !== undefined){let data5 = data.coverageKey;if(typeof data5 === "string"){if(func1(data5) < 1){const err20 = {instancePath:instancePath+"/coverageKey",schemaPath:"#/$defs/CoverageKey/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}if(!pattern4.test(data5)){const err21 = {instancePath:instancePath+"/coverageKey",schemaPath:"#/$defs/CoverageKey/pattern",keyword:"pattern",params:{pattern: "\\S"},message:"must match pattern \""+"\\S"+"\""};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}else {const err22 = {instancePath:instancePath+"/coverageKey",schemaPath:"#/$defs/CoverageKey/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data.state !== undefined){let data6 = data.state;if(typeof data6 !== "string"){const err23 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/3/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}if("absent" !== data6){const err24 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/3/properties/state/const",keyword:"const",params:{allowedValue: "absent"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}}else {const err25 = {instancePath,schemaPath:"#/oneOf/3/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}var _valid0 = _errs18 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 3];}else {if(_valid0){valid0 = true;passing0 = 3;if(props0 !== true){props0 = true;}}const _errs26 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err26 = {instancePath,schemaPath:"#/oneOf/4/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}for(const key4 in data){if(!(key4 === "state")){const err27 = {instancePath,schemaPath:"#/oneOf/4/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key4},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}if(data.state !== undefined){let data7 = data.state;if(typeof data7 !== "string"){const err28 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/4/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}if("unsupported" !== data7){const err29 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/4/properties/state/const",keyword:"const",params:{allowedValue: "unsupported"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}}else {const err30 = {instancePath,schemaPath:"#/oneOf/4/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}var _valid0 = _errs26 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 4];}else {if(_valid0){valid0 = true;passing0 = 4;if(props0 !== true){props0 = true;}}}}}}if(!valid0){const err31 = {instancePath,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}else {errors = _errs0;if(vErrors !== null){if(_errs0){vErrors.length = _errs0;}else {vErrors = null;}}}validate28.errors = vErrors;evaluated0.props = props0;return errors === 0;}validate28.evaluated = {"dynamicProps":true,"dynamicItems":false};const schema52 = {"description":"Compact source-free projection of [`CollectionState`]. Empty partial\nobservations collapse to `unknown`; `absent` still requires its coverage\nkey, and known/partial item lists cannot be empty.","oneOf":[{"description":"A non-empty collection with complete source coverage.","type":"object","properties":{"items":{"$ref":"#/$defs/NonEmptyVec_MonsterRelationshipFacetV2"},"state":{"type":"string","const":"known"}},"additionalProperties":false,"required":["state","items"]},{"description":"A non-empty collection of observations with incomplete coverage.","type":"object","properties":{"items":{"$ref":"#/$defs/NonEmptyVec_MonsterRelationshipFacetV2"},"state":{"type":"string","const":"partial"}},"additionalProperties":false,"required":["state","items"]},{"description":"Collection contents or coverage could not be established.","type":"object","properties":{"state":{"type":"string","const":"unknown"}},"additionalProperties":false,"required":["state"]},{"description":"The source scope is complete and contained no observations.","type":"object","properties":{"coverageKey":{"$ref":"#/$defs/CoverageKey"},"state":{"type":"string","const":"absent"}},"additionalProperties":false,"required":["state","coverageKey"]},{"description":"The producer cannot supply this collection.","type":"object","properties":{"state":{"type":"string","const":"unsupported"}},"additionalProperties":false,"required":["state"]}]};const schema53 = {"type":"array","items":{"$ref":"#/$defs/MonsterRelationshipFacetV2"},"minItems":1};const schema54 = {"description":"One positively observed relationship count. Zero-count tables do not\nappear here; the collection remains partial or unknown without a sealed\nsource-table coverage witness.","type":"object","properties":{"count":{"$ref":"#/$defs/SafeInt64"},"kind":{"$ref":"#/$defs/MonsterRelationshipFacetKind"}},"additionalProperties":false,"required":["kind","count"]};const schema56 = {"description":"Relationship kinds represented as compact positive-count catalog facets.","type":"string","enum":["bans","banMaps","damagedBy","attacks","revives","lostItems","skillAssignments","speakConditions","speakGroups","speakLines","localizedNames","bookEntries","bookMaps","questCountGroupMemberships"]};function validate43(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate43.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.kind === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "kind"},message:"must have required property '"+"kind"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.count === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "count"},message:"must have required property '"+"count"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}for(const key0 in data){if(!((key0 === "count") || (key0 === "kind"))){const err2 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data.count !== undefined){let data0 = data.count;if(!(((typeof data0 == "number") && (!(data0 % 1) && !isNaN(data0))) && (isFinite(data0)))){const err3 = {instancePath:instancePath+"/count",schemaPath:"#/$defs/SafeInt64/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if((typeof data0 == "number") && (isFinite(data0))){if(data0 > 9007199254740991 || isNaN(data0)){const err4 = {instancePath:instancePath+"/count",schemaPath:"#/$defs/SafeInt64/maximum",keyword:"maximum",params:{comparison: "<=", limit: 9007199254740991},message:"must be <= 9007199254740991"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}if(data0 < -9007199254740991 || isNaN(data0)){const err5 = {instancePath:instancePath+"/count",schemaPath:"#/$defs/SafeInt64/minimum",keyword:"minimum",params:{comparison: ">=", limit: -9007199254740991},message:"must be >= -9007199254740991"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}}if(data.kind !== undefined){let data1 = data.kind;if(typeof data1 !== "string"){const err6 = {instancePath:instancePath+"/kind",schemaPath:"#/$defs/MonsterRelationshipFacetKind/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}if(!((((((((((((((data1 === "bans") || (data1 === "banMaps")) || (data1 === "damagedBy")) || (data1 === "attacks")) || (data1 === "revives")) || (data1 === "lostItems")) || (data1 === "skillAssignments")) || (data1 === "speakConditions")) || (data1 === "speakGroups")) || (data1 === "speakLines")) || (data1 === "localizedNames")) || (data1 === "bookEntries")) || (data1 === "bookMaps")) || (data1 === "questCountGroupMemberships"))){const err7 = {instancePath:instancePath+"/kind",schemaPath:"#/$defs/MonsterRelationshipFacetKind/enum",keyword:"enum",params:{allowedValues: schema56.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}}else {const err8 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}validate43.errors = vErrors;return errors === 0;}validate43.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate42(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate42.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(Array.isArray(data)){if(data.length < 1){const err0 = {instancePath,schemaPath:"#/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}const len0 = data.length;for(let i0=0; i0<len0; i0++){if(!(validate43(data[i0], {instancePath:instancePath+"/" + i0,parentData:data,parentDataProperty:i0,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate43.errors : vErrors.concat(validate43.errors);errors = vErrors.length;}}}else {const err1 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}validate42.errors = vErrors;return errors === 0;}validate42.evaluated = {"items":true,"dynamicProps":false,"dynamicItems":false};function validate41(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate41.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs0 = errors;let valid0 = false;let passing0 = null;const _errs1 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err0 = {instancePath,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.items === undefined){const err1 = {instancePath,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty: "items"},message:"must have required property '"+"items"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}for(const key0 in data){if(!((key0 === "items") || (key0 === "state"))){const err2 = {instancePath,schemaPath:"#/oneOf/0/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data.items !== undefined){if(!(validate42(data.items, {instancePath:instancePath+"/items",parentData:data,parentDataProperty:"items",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate42.errors : vErrors.concat(validate42.errors);errors = vErrors.length;}}if(data.state !== undefined){let data1 = data.state;if(typeof data1 !== "string"){const err3 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/0/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if("known" !== data1){const err4 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/0/properties/state/const",keyword:"const",params:{allowedValue: "known"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}}else {const err5 = {instancePath,schemaPath:"#/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}var _valid0 = _errs1 === errors;if(_valid0){valid0 = true;passing0 = 0;var props0 = true;}const _errs7 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err6 = {instancePath,schemaPath:"#/oneOf/1/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}if(data.items === undefined){const err7 = {instancePath,schemaPath:"#/oneOf/1/required",keyword:"required",params:{missingProperty: "items"},message:"must have required property '"+"items"+"'"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}for(const key1 in data){if(!((key1 === "items") || (key1 === "state"))){const err8 = {instancePath,schemaPath:"#/oneOf/1/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.items !== undefined){if(!(validate42(data.items, {instancePath:instancePath+"/items",parentData:data,parentDataProperty:"items",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate42.errors : vErrors.concat(validate42.errors);errors = vErrors.length;}}if(data.state !== undefined){let data3 = data.state;if(typeof data3 !== "string"){const err9 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/1/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}if("partial" !== data3){const err10 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/1/properties/state/const",keyword:"const",params:{allowedValue: "partial"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}}else {const err11 = {instancePath,schemaPath:"#/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}var _valid0 = _errs7 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;if(props0 !== true){props0 = true;}}const _errs13 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err12 = {instancePath,schemaPath:"#/oneOf/2/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}for(const key2 in data){if(!(key2 === "state")){const err13 = {instancePath,schemaPath:"#/oneOf/2/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}if(data.state !== undefined){let data4 = data.state;if(typeof data4 !== "string"){const err14 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/2/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}if("unknown" !== data4){const err15 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/2/properties/state/const",keyword:"const",params:{allowedValue: "unknown"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}}else {const err16 = {instancePath,schemaPath:"#/oneOf/2/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}var _valid0 = _errs13 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 2];}else {if(_valid0){valid0 = true;passing0 = 2;if(props0 !== true){props0 = true;}}const _errs18 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err17 = {instancePath,schemaPath:"#/oneOf/3/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}if(data.coverageKey === undefined){const err18 = {instancePath,schemaPath:"#/oneOf/3/required",keyword:"required",params:{missingProperty: "coverageKey"},message:"must have required property '"+"coverageKey"+"'"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}for(const key3 in data){if(!((key3 === "coverageKey") || (key3 === "state"))){const err19 = {instancePath,schemaPath:"#/oneOf/3/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data.coverageKey !== undefined){let data5 = data.coverageKey;if(typeof data5 === "string"){if(func1(data5) < 1){const err20 = {instancePath:instancePath+"/coverageKey",schemaPath:"#/$defs/CoverageKey/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}if(!pattern4.test(data5)){const err21 = {instancePath:instancePath+"/coverageKey",schemaPath:"#/$defs/CoverageKey/pattern",keyword:"pattern",params:{pattern: "\\S"},message:"must match pattern \""+"\\S"+"\""};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}else {const err22 = {instancePath:instancePath+"/coverageKey",schemaPath:"#/$defs/CoverageKey/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data.state !== undefined){let data6 = data.state;if(typeof data6 !== "string"){const err23 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/3/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}if("absent" !== data6){const err24 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/3/properties/state/const",keyword:"const",params:{allowedValue: "absent"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}}else {const err25 = {instancePath,schemaPath:"#/oneOf/3/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}var _valid0 = _errs18 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 3];}else {if(_valid0){valid0 = true;passing0 = 3;if(props0 !== true){props0 = true;}}const _errs26 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err26 = {instancePath,schemaPath:"#/oneOf/4/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}for(const key4 in data){if(!(key4 === "state")){const err27 = {instancePath,schemaPath:"#/oneOf/4/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key4},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}if(data.state !== undefined){let data7 = data.state;if(typeof data7 !== "string"){const err28 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/4/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}if("unsupported" !== data7){const err29 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/4/properties/state/const",keyword:"const",params:{allowedValue: "unsupported"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}}else {const err30 = {instancePath,schemaPath:"#/oneOf/4/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}var _valid0 = _errs26 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 4];}else {if(_valid0){valid0 = true;passing0 = 4;if(props0 !== true){props0 = true;}}}}}}if(!valid0){const err31 = {instancePath,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}else {errors = _errs0;if(vErrors !== null){if(_errs0){vErrors.length = _errs0;}else {vErrors = null;}}}validate41.errors = vErrors;evaluated0.props = props0;return errors === 0;}validate41.evaluated = {"dynamicProps":true,"dynamicItems":false};const schema58 = {"description":"Compact catalog projection of [`FactState`]. It keeps the state and a\npositively observed value, retains the coverage witness for `absent`, and\nomits source attribution and explanatory metadata.","oneOf":[{"description":"A positively observed catalog value.","type":"object","properties":{"state":{"type":"string","const":"known"},"value":{"$ref":"#/$defs/MediaContentId"}},"additionalProperties":false,"required":["state","value"]},{"description":"The value could not be established.","type":"object","properties":{"state":{"type":"string","const":"unknown"}},"additionalProperties":false,"required":["state"]},{"description":"No value was present under a source scope with complete coverage.","type":"object","properties":{"coverageKey":{"$ref":"#/$defs/CoverageKey"},"state":{"type":"string","const":"absent"}},"additionalProperties":false,"required":["state","coverageKey"]},{"description":"The producer cannot supply the fact.","type":"object","properties":{"state":{"type":"string","const":"unsupported"}},"additionalProperties":false,"required":["state"]}]};const schema59 = {"type":"string","pattern":"^[0-9a-f]{64}$"};const pattern10 = new RegExp("^[0-9a-f]{64}$", "u");function validate48(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate48.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs0 = errors;let valid0 = false;let passing0 = null;const _errs1 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err0 = {instancePath,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.value === undefined){const err1 = {instancePath,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty: "value"},message:"must have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}for(const key0 in data){if(!((key0 === "state") || (key0 === "value"))){const err2 = {instancePath,schemaPath:"#/oneOf/0/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data.state !== undefined){let data0 = data.state;if(typeof data0 !== "string"){const err3 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/0/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if("known" !== data0){const err4 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/0/properties/state/const",keyword:"const",params:{allowedValue: "known"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data.value !== undefined){let data1 = data.value;if(typeof data1 === "string"){if(!pattern10.test(data1)){const err5 = {instancePath:instancePath+"/value",schemaPath:"#/$defs/MediaContentId/pattern",keyword:"pattern",params:{pattern: "^[0-9a-f]{64}$"},message:"must match pattern \""+"^[0-9a-f]{64}$"+"\""};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}else {const err6 = {instancePath:instancePath+"/value",schemaPath:"#/$defs/MediaContentId/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}}else {const err7 = {instancePath,schemaPath:"#/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}var _valid0 = _errs1 === errors;if(_valid0){valid0 = true;passing0 = 0;var props0 = true;}const _errs9 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err8 = {instancePath,schemaPath:"#/oneOf/1/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}for(const key1 in data){if(!(key1 === "state")){const err9 = {instancePath,schemaPath:"#/oneOf/1/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.state !== undefined){let data2 = data.state;if(typeof data2 !== "string"){const err10 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/1/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if("unknown" !== data2){const err11 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/1/properties/state/const",keyword:"const",params:{allowedValue: "unknown"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}}else {const err12 = {instancePath,schemaPath:"#/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}var _valid0 = _errs9 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;if(props0 !== true){props0 = true;}}const _errs14 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err13 = {instancePath,schemaPath:"#/oneOf/2/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}if(data.coverageKey === undefined){const err14 = {instancePath,schemaPath:"#/oneOf/2/required",keyword:"required",params:{missingProperty: "coverageKey"},message:"must have required property '"+"coverageKey"+"'"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}for(const key2 in data){if(!((key2 === "coverageKey") || (key2 === "state"))){const err15 = {instancePath,schemaPath:"#/oneOf/2/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data.coverageKey !== undefined){let data3 = data.coverageKey;if(typeof data3 === "string"){if(func1(data3) < 1){const err16 = {instancePath:instancePath+"/coverageKey",schemaPath:"#/$defs/CoverageKey/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}if(!pattern4.test(data3)){const err17 = {instancePath:instancePath+"/coverageKey",schemaPath:"#/$defs/CoverageKey/pattern",keyword:"pattern",params:{pattern: "\\S"},message:"must match pattern \""+"\\S"+"\""};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}else {const err18 = {instancePath:instancePath+"/coverageKey",schemaPath:"#/$defs/CoverageKey/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}if(data.state !== undefined){let data4 = data.state;if(typeof data4 !== "string"){const err19 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/2/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}if("absent" !== data4){const err20 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/2/properties/state/const",keyword:"const",params:{allowedValue: "absent"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}}else {const err21 = {instancePath,schemaPath:"#/oneOf/2/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}var _valid0 = _errs14 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 2];}else {if(_valid0){valid0 = true;passing0 = 2;if(props0 !== true){props0 = true;}}const _errs22 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err22 = {instancePath,schemaPath:"#/oneOf/3/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}for(const key3 in data){if(!(key3 === "state")){const err23 = {instancePath,schemaPath:"#/oneOf/3/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data.state !== undefined){let data5 = data.state;if(typeof data5 !== "string"){const err24 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/3/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}if("unsupported" !== data5){const err25 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/3/properties/state/const",keyword:"const",params:{allowedValue: "unsupported"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}}else {const err26 = {instancePath,schemaPath:"#/oneOf/3/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}var _valid0 = _errs22 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 3];}else {if(_valid0){valid0 = true;passing0 = 3;if(props0 !== true){props0 = true;}}}}}if(!valid0){const err27 = {instancePath,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}else {errors = _errs0;if(vErrors !== null){if(_errs0){vErrors.length = _errs0;}else {vErrors = null;}}}validate48.errors = vErrors;evaluated0.props = props0;return errors === 0;}validate48.evaluated = {"dynamicProps":true,"dynamicItems":false};const schema61 = {"description":"Compact catalog projection of [`FactState`]. It keeps the state and a\npositively observed value, retains the coverage witness for `absent`, and\nomits source attribution and explanatory metadata.","oneOf":[{"description":"A positively observed catalog value.","type":"object","properties":{"state":{"type":"string","const":"known"},"value":{"$ref":"#/$defs/SafeInt64"}},"additionalProperties":false,"required":["state","value"]},{"description":"The value could not be established.","type":"object","properties":{"state":{"type":"string","const":"unknown"}},"additionalProperties":false,"required":["state"]},{"description":"No value was present under a source scope with complete coverage.","type":"object","properties":{"coverageKey":{"$ref":"#/$defs/CoverageKey"},"state":{"type":"string","const":"absent"}},"additionalProperties":false,"required":["state","coverageKey"]},{"description":"The producer cannot supply the fact.","type":"object","properties":{"state":{"type":"string","const":"unsupported"}},"additionalProperties":false,"required":["state"]}]};function validate50(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate50.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs0 = errors;let valid0 = false;let passing0 = null;const _errs1 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err0 = {instancePath,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.value === undefined){const err1 = {instancePath,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty: "value"},message:"must have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}for(const key0 in data){if(!((key0 === "state") || (key0 === "value"))){const err2 = {instancePath,schemaPath:"#/oneOf/0/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data.state !== undefined){let data0 = data.state;if(typeof data0 !== "string"){const err3 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/0/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if("known" !== data0){const err4 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/0/properties/state/const",keyword:"const",params:{allowedValue: "known"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data.value !== undefined){let data1 = data.value;if(!(((typeof data1 == "number") && (!(data1 % 1) && !isNaN(data1))) && (isFinite(data1)))){const err5 = {instancePath:instancePath+"/value",schemaPath:"#/$defs/SafeInt64/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}if((typeof data1 == "number") && (isFinite(data1))){if(data1 > 9007199254740991 || isNaN(data1)){const err6 = {instancePath:instancePath+"/value",schemaPath:"#/$defs/SafeInt64/maximum",keyword:"maximum",params:{comparison: "<=", limit: 9007199254740991},message:"must be <= 9007199254740991"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}if(data1 < -9007199254740991 || isNaN(data1)){const err7 = {instancePath:instancePath+"/value",schemaPath:"#/$defs/SafeInt64/minimum",keyword:"minimum",params:{comparison: ">=", limit: -9007199254740991},message:"must be >= -9007199254740991"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}}}else {const err8 = {instancePath,schemaPath:"#/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}var _valid0 = _errs1 === errors;if(_valid0){valid0 = true;passing0 = 0;var props0 = true;}const _errs9 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err9 = {instancePath,schemaPath:"#/oneOf/1/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}for(const key1 in data){if(!(key1 === "state")){const err10 = {instancePath,schemaPath:"#/oneOf/1/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}if(data.state !== undefined){let data2 = data.state;if(typeof data2 !== "string"){const err11 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/1/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}if("unknown" !== data2){const err12 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/1/properties/state/const",keyword:"const",params:{allowedValue: "unknown"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}}else {const err13 = {instancePath,schemaPath:"#/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}var _valid0 = _errs9 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;if(props0 !== true){props0 = true;}}const _errs14 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err14 = {instancePath,schemaPath:"#/oneOf/2/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}if(data.coverageKey === undefined){const err15 = {instancePath,schemaPath:"#/oneOf/2/required",keyword:"required",params:{missingProperty: "coverageKey"},message:"must have required property '"+"coverageKey"+"'"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}for(const key2 in data){if(!((key2 === "coverageKey") || (key2 === "state"))){const err16 = {instancePath,schemaPath:"#/oneOf/2/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data.coverageKey !== undefined){let data3 = data.coverageKey;if(typeof data3 === "string"){if(func1(data3) < 1){const err17 = {instancePath:instancePath+"/coverageKey",schemaPath:"#/$defs/CoverageKey/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}if(!pattern4.test(data3)){const err18 = {instancePath:instancePath+"/coverageKey",schemaPath:"#/$defs/CoverageKey/pattern",keyword:"pattern",params:{pattern: "\\S"},message:"must match pattern \""+"\\S"+"\""};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}else {const err19 = {instancePath:instancePath+"/coverageKey",schemaPath:"#/$defs/CoverageKey/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data.state !== undefined){let data4 = data.state;if(typeof data4 !== "string"){const err20 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/2/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}if("absent" !== data4){const err21 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/2/properties/state/const",keyword:"const",params:{allowedValue: "absent"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}}else {const err22 = {instancePath,schemaPath:"#/oneOf/2/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}var _valid0 = _errs14 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 2];}else {if(_valid0){valid0 = true;passing0 = 2;if(props0 !== true){props0 = true;}}const _errs22 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err23 = {instancePath,schemaPath:"#/oneOf/3/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}for(const key3 in data){if(!(key3 === "state")){const err24 = {instancePath,schemaPath:"#/oneOf/3/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data.state !== undefined){let data5 = data.state;if(typeof data5 !== "string"){const err25 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/3/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}if("unsupported" !== data5){const err26 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/3/properties/state/const",keyword:"const",params:{allowedValue: "unsupported"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}}else {const err27 = {instancePath,schemaPath:"#/oneOf/3/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}var _valid0 = _errs22 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 3];}else {if(_valid0){valid0 = true;passing0 = 3;if(props0 !== true){props0 = true;}}}}}if(!valid0){const err28 = {instancePath,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}else {errors = _errs0;if(vErrors !== null){if(_errs0){vErrors.length = _errs0;}else {vErrors = null;}}}validate50.errors = vErrors;evaluated0.props = props0;return errors === 0;}validate50.evaluated = {"dynamicProps":true,"dynamicItems":false};const schema64 = {"description":"Compact catalog projection of [`FactState`]. It keeps the state and a\npositively observed value, retains the coverage witness for `absent`, and\nomits source attribution and explanatory metadata.","oneOf":[{"description":"A positively observed catalog value.","type":"object","properties":{"state":{"type":"string","const":"known"},"value":{"type":"boolean"}},"additionalProperties":false,"required":["state","value"]},{"description":"The value could not be established.","type":"object","properties":{"state":{"type":"string","const":"unknown"}},"additionalProperties":false,"required":["state"]},{"description":"No value was present under a source scope with complete coverage.","type":"object","properties":{"coverageKey":{"$ref":"#/$defs/CoverageKey"},"state":{"type":"string","const":"absent"}},"additionalProperties":false,"required":["state","coverageKey"]},{"description":"The producer cannot supply the fact.","type":"object","properties":{"state":{"type":"string","const":"unsupported"}},"additionalProperties":false,"required":["state"]}]};function validate63(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate63.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs0 = errors;let valid0 = false;let passing0 = null;const _errs1 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err0 = {instancePath,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.value === undefined){const err1 = {instancePath,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty: "value"},message:"must have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}for(const key0 in data){if(!((key0 === "state") || (key0 === "value"))){const err2 = {instancePath,schemaPath:"#/oneOf/0/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data.state !== undefined){let data0 = data.state;if(typeof data0 !== "string"){const err3 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/0/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if("known" !== data0){const err4 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/0/properties/state/const",keyword:"const",params:{allowedValue: "known"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data.value !== undefined){if(typeof data.value !== "boolean"){const err5 = {instancePath:instancePath+"/value",schemaPath:"#/oneOf/0/properties/value/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}}else {const err6 = {instancePath,schemaPath:"#/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}var _valid0 = _errs1 === errors;if(_valid0){valid0 = true;passing0 = 0;var props0 = true;}const _errs8 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err7 = {instancePath,schemaPath:"#/oneOf/1/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}for(const key1 in data){if(!(key1 === "state")){const err8 = {instancePath,schemaPath:"#/oneOf/1/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.state !== undefined){let data2 = data.state;if(typeof data2 !== "string"){const err9 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/1/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}if("unknown" !== data2){const err10 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/1/properties/state/const",keyword:"const",params:{allowedValue: "unknown"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}}else {const err11 = {instancePath,schemaPath:"#/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}var _valid0 = _errs8 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;if(props0 !== true){props0 = true;}}const _errs13 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err12 = {instancePath,schemaPath:"#/oneOf/2/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}if(data.coverageKey === undefined){const err13 = {instancePath,schemaPath:"#/oneOf/2/required",keyword:"required",params:{missingProperty: "coverageKey"},message:"must have required property '"+"coverageKey"+"'"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}for(const key2 in data){if(!((key2 === "coverageKey") || (key2 === "state"))){const err14 = {instancePath,schemaPath:"#/oneOf/2/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data.coverageKey !== undefined){let data3 = data.coverageKey;if(typeof data3 === "string"){if(func1(data3) < 1){const err15 = {instancePath:instancePath+"/coverageKey",schemaPath:"#/$defs/CoverageKey/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}if(!pattern4.test(data3)){const err16 = {instancePath:instancePath+"/coverageKey",schemaPath:"#/$defs/CoverageKey/pattern",keyword:"pattern",params:{pattern: "\\S"},message:"must match pattern \""+"\\S"+"\""};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}else {const err17 = {instancePath:instancePath+"/coverageKey",schemaPath:"#/$defs/CoverageKey/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data.state !== undefined){let data4 = data.state;if(typeof data4 !== "string"){const err18 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/2/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}if("absent" !== data4){const err19 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/2/properties/state/const",keyword:"const",params:{allowedValue: "absent"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}}else {const err20 = {instancePath,schemaPath:"#/oneOf/2/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}var _valid0 = _errs13 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 2];}else {if(_valid0){valid0 = true;passing0 = 2;if(props0 !== true){props0 = true;}}const _errs21 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.state === undefined){const err21 = {instancePath,schemaPath:"#/oneOf/3/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}for(const key3 in data){if(!(key3 === "state")){const err22 = {instancePath,schemaPath:"#/oneOf/3/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data.state !== undefined){let data5 = data.state;if(typeof data5 !== "string"){const err23 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/3/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}if("unsupported" !== data5){const err24 = {instancePath:instancePath+"/state",schemaPath:"#/oneOf/3/properties/state/const",keyword:"const",params:{allowedValue: "unsupported"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}}else {const err25 = {instancePath,schemaPath:"#/oneOf/3/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}var _valid0 = _errs21 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 3];}else {if(_valid0){valid0 = true;passing0 = 3;if(props0 !== true){props0 = true;}}}}}if(!valid0){const err26 = {instancePath,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}else {errors = _errs0;if(vErrors !== null){if(_errs0){vErrors.length = _errs0;}else {vErrors = null;}}}validate63.errors = vErrors;evaluated0.props = props0;return errors === 0;}validate63.evaluated = {"dynamicProps":true,"dynamicItems":false};function validate23(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate23.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.key === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "key"},message:"must have required property '"+"key"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.name === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.stats === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "stats"},message:"must have required property '"+"stats"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.traits === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "traits"},message:"must have required property '"+"traits"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.elements === undefined){const err4 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "elements"},message:"must have required property '"+"elements"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}if(data.relationships === undefined){const err5 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "relationships"},message:"must have required property '"+"relationships"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}if(data.sprite === undefined){const err6 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "sprite"},message:"must have required property '"+"sprite"+"'"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}if(data.drops === undefined){const err7 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "drops"},message:"must have required property '"+"drops"+"'"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}if(data.locations === undefined){const err8 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "locations"},message:"must have required property '"+"locations"+"'"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}for(const key0 in data){if(!(func3.call(schema37.properties, key0))){const err9 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.drops !== undefined){if(!(validate24(data.drops, {instancePath:instancePath+"/drops",parentData:data,parentDataProperty:"drops",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate24.errors : vErrors.concat(validate24.errors);errors = vErrors.length;}}if(data.elements !== undefined){if(!(validate28(data.elements, {instancePath:instancePath+"/elements",parentData:data,parentDataProperty:"elements",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate28.errors : vErrors.concat(validate28.errors);errors = vErrors.length;}}if(data.key !== undefined){if(typeof data.key !== "string"){const err10 = {instancePath:instancePath+"/key",schemaPath:"#/properties/key/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}if(data.locations !== undefined){let data3 = data.locations;const _errs8 = errors;let valid2 = false;let passing0 = null;const _errs9 = errors;if(data3 && typeof data3 == "object" && !Array.isArray(data3)){if(data3.state === undefined){const err11 = {instancePath:instancePath+"/locations",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/0/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}if(data3.mapCount === undefined){const err12 = {instancePath:instancePath+"/locations",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/0/required",keyword:"required",params:{missingProperty: "mapCount"},message:"must have required property '"+"mapCount"+"'"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}if(data3.placementCount === undefined){const err13 = {instancePath:instancePath+"/locations",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/0/required",keyword:"required",params:{missingProperty: "placementCount"},message:"must have required property '"+"placementCount"+"'"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}for(const key1 in data3){if(!(((key1 === "mapCount") || (key1 === "placementCount")) || (key1 === "state"))){const err14 = {instancePath:instancePath+"/locations",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/0/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data3.mapCount !== undefined){let data4 = data3.mapCount;if(!(((typeof data4 == "number") && (!(data4 % 1) && !isNaN(data4))) && (isFinite(data4)))){const err15 = {instancePath:instancePath+"/locations/mapCount",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/0/properties/mapCount/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}if((typeof data4 == "number") && (isFinite(data4))){if(data4 > 9007199254740991 || isNaN(data4)){const err16 = {instancePath:instancePath+"/locations/mapCount",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/0/properties/mapCount/maximum",keyword:"maximum",params:{comparison: "<=", limit: 9007199254740991},message:"must be <= 9007199254740991"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}if(data4 < 1 || isNaN(data4)){const err17 = {instancePath:instancePath+"/locations/mapCount",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/0/properties/mapCount/minimum",keyword:"minimum",params:{comparison: ">=", limit: 1},message:"must be >= 1"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}}if(data3.placementCount !== undefined){let data5 = data3.placementCount;if(!(((typeof data5 == "number") && (!(data5 % 1) && !isNaN(data5))) && (isFinite(data5)))){const err18 = {instancePath:instancePath+"/locations/placementCount",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/0/properties/placementCount/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}if((typeof data5 == "number") && (isFinite(data5))){if(data5 > 9007199254740991 || isNaN(data5)){const err19 = {instancePath:instancePath+"/locations/placementCount",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/0/properties/placementCount/maximum",keyword:"maximum",params:{comparison: "<=", limit: 9007199254740991},message:"must be <= 9007199254740991"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}if(data5 < 1 || isNaN(data5)){const err20 = {instancePath:instancePath+"/locations/placementCount",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/0/properties/placementCount/minimum",keyword:"minimum",params:{comparison: ">=", limit: 1},message:"must be >= 1"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}}if(data3.state !== undefined){let data6 = data3.state;if(typeof data6 !== "string"){const err21 = {instancePath:instancePath+"/locations/state",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/0/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}if("known" !== data6){const err22 = {instancePath:instancePath+"/locations/state",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/0/properties/state/const",keyword:"const",params:{allowedValue: "known"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}}else {const err23 = {instancePath:instancePath+"/locations",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}var _valid0 = _errs9 === errors;if(_valid0){valid2 = true;passing0 = 0;var props1 = true;}const _errs18 = errors;if(data3 && typeof data3 == "object" && !Array.isArray(data3)){if(data3.state === undefined){const err24 = {instancePath:instancePath+"/locations",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/1/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}for(const key2 in data3){if(!(key2 === "state")){const err25 = {instancePath:instancePath+"/locations",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/1/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}if(data3.state !== undefined){let data7 = data3.state;if(typeof data7 !== "string"){const err26 = {instancePath:instancePath+"/locations/state",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/1/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}if("absent" !== data7){const err27 = {instancePath:instancePath+"/locations/state",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/1/properties/state/const",keyword:"const",params:{allowedValue: "absent"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}}else {const err28 = {instancePath:instancePath+"/locations",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}var _valid0 = _errs18 === errors;if(_valid0 && valid2){valid2 = false;passing0 = [passing0, 1];}else {if(_valid0){valid2 = true;passing0 = 1;if(props1 !== true){props1 = true;}}const _errs23 = errors;if(data3 && typeof data3 == "object" && !Array.isArray(data3)){if(data3.state === undefined){const err29 = {instancePath:instancePath+"/locations",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/2/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}if(data3.mapCount === undefined){const err30 = {instancePath:instancePath+"/locations",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/2/required",keyword:"required",params:{missingProperty: "mapCount"},message:"must have required property '"+"mapCount"+"'"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}if(data3.placementCount === undefined){const err31 = {instancePath:instancePath+"/locations",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/2/required",keyword:"required",params:{missingProperty: "placementCount"},message:"must have required property '"+"placementCount"+"'"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}for(const key3 in data3){if(!(((key3 === "mapCount") || (key3 === "placementCount")) || (key3 === "state"))){const err32 = {instancePath:instancePath+"/locations",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/2/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}}if(data3.mapCount !== undefined){let data8 = data3.mapCount;if(!(((typeof data8 == "number") && (!(data8 % 1) && !isNaN(data8))) && (isFinite(data8)))){const err33 = {instancePath:instancePath+"/locations/mapCount",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/2/properties/mapCount/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}if((typeof data8 == "number") && (isFinite(data8))){if(data8 > 9007199254740991 || isNaN(data8)){const err34 = {instancePath:instancePath+"/locations/mapCount",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/2/properties/mapCount/maximum",keyword:"maximum",params:{comparison: "<=", limit: 9007199254740991},message:"must be <= 9007199254740991"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}if(data8 < 0 || isNaN(data8)){const err35 = {instancePath:instancePath+"/locations/mapCount",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/2/properties/mapCount/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}}}if(data3.placementCount !== undefined){let data9 = data3.placementCount;if(!(((typeof data9 == "number") && (!(data9 % 1) && !isNaN(data9))) && (isFinite(data9)))){const err36 = {instancePath:instancePath+"/locations/placementCount",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/2/properties/placementCount/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}if((typeof data9 == "number") && (isFinite(data9))){if(data9 > 9007199254740991 || isNaN(data9)){const err37 = {instancePath:instancePath+"/locations/placementCount",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/2/properties/placementCount/maximum",keyword:"maximum",params:{comparison: "<=", limit: 9007199254740991},message:"must be <= 9007199254740991"};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}if(data9 < 0 || isNaN(data9)){const err38 = {instancePath:instancePath+"/locations/placementCount",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/2/properties/placementCount/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}}}if(data3.state !== undefined){let data10 = data3.state;if(typeof data10 !== "string"){const err39 = {instancePath:instancePath+"/locations/state",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/2/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}if("unresolved" !== data10){const err40 = {instancePath:instancePath+"/locations/state",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/2/properties/state/const",keyword:"const",params:{allowedValue: "unresolved"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}}}else {const err41 = {instancePath:instancePath+"/locations",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf/2/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}var _valid0 = _errs23 === errors;if(_valid0 && valid2){valid2 = false;passing0 = [passing0, 2];}else {if(_valid0){valid2 = true;passing0 = 2;if(props1 !== true){props1 = true;}}}}if(!valid2){const err42 = {instancePath:instancePath+"/locations",schemaPath:"#/$defs/MonsterLocationSummaryV2_2/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}else {errors = _errs8;if(vErrors !== null){if(_errs8){vErrors.length = _errs8;}else {vErrors = null;}}}}if(data.name !== undefined){if(!(validate31(data.name, {instancePath:instancePath+"/name",parentData:data,parentDataProperty:"name",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate31.errors : vErrors.concat(validate31.errors);errors = vErrors.length;}}if(data.relationships !== undefined){if(!(validate41(data.relationships, {instancePath:instancePath+"/relationships",parentData:data,parentDataProperty:"relationships",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate41.errors : vErrors.concat(validate41.errors);errors = vErrors.length;}}if(data.sprite !== undefined){if(!(validate48(data.sprite, {instancePath:instancePath+"/sprite",parentData:data,parentDataProperty:"sprite",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate48.errors : vErrors.concat(validate48.errors);errors = vErrors.length;}}if(data.stats !== undefined){let data14 = data.stats;if(Array.isArray(data14)){if(data14.length > 12){const err43 = {instancePath:instancePath+"/stats",schemaPath:"#/properties/stats/maxItems",keyword:"maxItems",params:{limit: 12},message:"must NOT have more than 12 items"};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}if(data14.length < 12){const err44 = {instancePath:instancePath+"/stats",schemaPath:"#/properties/stats/minItems",keyword:"minItems",params:{limit: 12},message:"must NOT have fewer than 12 items"};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}const len0 = data14.length;if(len0 > 0){if(!(validate50(data14[0], {instancePath:instancePath+"/stats/0",parentData:data14,parentDataProperty:0,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate50.errors : vErrors.concat(validate50.errors);errors = vErrors.length;}}if(len0 > 1){if(!(validate50(data14[1], {instancePath:instancePath+"/stats/1",parentData:data14,parentDataProperty:1,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate50.errors : vErrors.concat(validate50.errors);errors = vErrors.length;}}if(len0 > 2){if(!(validate50(data14[2], {instancePath:instancePath+"/stats/2",parentData:data14,parentDataProperty:2,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate50.errors : vErrors.concat(validate50.errors);errors = vErrors.length;}}if(len0 > 3){if(!(validate50(data14[3], {instancePath:instancePath+"/stats/3",parentData:data14,parentDataProperty:3,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate50.errors : vErrors.concat(validate50.errors);errors = vErrors.length;}}if(len0 > 4){if(!(validate50(data14[4], {instancePath:instancePath+"/stats/4",parentData:data14,parentDataProperty:4,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate50.errors : vErrors.concat(validate50.errors);errors = vErrors.length;}}if(len0 > 5){if(!(validate50(data14[5], {instancePath:instancePath+"/stats/5",parentData:data14,parentDataProperty:5,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate50.errors : vErrors.concat(validate50.errors);errors = vErrors.length;}}if(len0 > 6){if(!(validate50(data14[6], {instancePath:instancePath+"/stats/6",parentData:data14,parentDataProperty:6,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate50.errors : vErrors.concat(validate50.errors);errors = vErrors.length;}}if(len0 > 7){if(!(validate50(data14[7], {instancePath:instancePath+"/stats/7",parentData:data14,parentDataProperty:7,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate50.errors : vErrors.concat(validate50.errors);errors = vErrors.length;}}if(len0 > 8){if(!(validate50(data14[8], {instancePath:instancePath+"/stats/8",parentData:data14,parentDataProperty:8,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate50.errors : vErrors.concat(validate50.errors);errors = vErrors.length;}}if(len0 > 9){if(!(validate50(data14[9], {instancePath:instancePath+"/stats/9",parentData:data14,parentDataProperty:9,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate50.errors : vErrors.concat(validate50.errors);errors = vErrors.length;}}if(len0 > 10){if(!(validate50(data14[10], {instancePath:instancePath+"/stats/10",parentData:data14,parentDataProperty:10,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate50.errors : vErrors.concat(validate50.errors);errors = vErrors.length;}}if(len0 > 11){if(!(validate50(data14[11], {instancePath:instancePath+"/stats/11",parentData:data14,parentDataProperty:11,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate50.errors : vErrors.concat(validate50.errors);errors = vErrors.length;}}}else {const err45 = {instancePath:instancePath+"/stats",schemaPath:"#/properties/stats/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}}if(data.traits !== undefined){let data27 = data.traits;if(Array.isArray(data27)){if(data27.length > 9){const err46 = {instancePath:instancePath+"/traits",schemaPath:"#/properties/traits/maxItems",keyword:"maxItems",params:{limit: 9},message:"must NOT have more than 9 items"};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}if(data27.length < 9){const err47 = {instancePath:instancePath+"/traits",schemaPath:"#/properties/traits/minItems",keyword:"minItems",params:{limit: 9},message:"must NOT have fewer than 9 items"};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}const len1 = data27.length;if(len1 > 0){if(!(validate63(data27[0], {instancePath:instancePath+"/traits/0",parentData:data27,parentDataProperty:0,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate63.errors : vErrors.concat(validate63.errors);errors = vErrors.length;}}if(len1 > 1){if(!(validate63(data27[1], {instancePath:instancePath+"/traits/1",parentData:data27,parentDataProperty:1,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate63.errors : vErrors.concat(validate63.errors);errors = vErrors.length;}}if(len1 > 2){if(!(validate63(data27[2], {instancePath:instancePath+"/traits/2",parentData:data27,parentDataProperty:2,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate63.errors : vErrors.concat(validate63.errors);errors = vErrors.length;}}if(len1 > 3){if(!(validate33(data27[3], {instancePath:instancePath+"/traits/3",parentData:data27,parentDataProperty:3,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate33.errors : vErrors.concat(validate33.errors);errors = vErrors.length;}}if(len1 > 4){if(!(validate63(data27[4], {instancePath:instancePath+"/traits/4",parentData:data27,parentDataProperty:4,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate63.errors : vErrors.concat(validate63.errors);errors = vErrors.length;}}if(len1 > 5){if(!(validate63(data27[5], {instancePath:instancePath+"/traits/5",parentData:data27,parentDataProperty:5,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate63.errors : vErrors.concat(validate63.errors);errors = vErrors.length;}}if(len1 > 6){if(!(validate50(data27[6], {instancePath:instancePath+"/traits/6",parentData:data27,parentDataProperty:6,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate50.errors : vErrors.concat(validate50.errors);errors = vErrors.length;}}if(len1 > 7){if(!(validate50(data27[7], {instancePath:instancePath+"/traits/7",parentData:data27,parentDataProperty:7,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate50.errors : vErrors.concat(validate50.errors);errors = vErrors.length;}}if(len1 > 8){if(!(validate31(data27[8], {instancePath:instancePath+"/traits/8",parentData:data27,parentDataProperty:8,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate31.errors : vErrors.concat(validate31.errors);errors = vErrors.length;}}}else {const err48 = {instancePath:instancePath+"/traits",schemaPath:"#/properties/traits/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}}}else {const err49 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}validate23.errors = vErrors;return errors === 0;}validate23.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate20(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate20.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.format === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "format"},message:"must have required property '"+"format"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.contractVersion === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "contractVersion"},message:"must have required property '"+"contractVersion"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.scope === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "scope"},message:"must have required property '"+"scope"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.browseCoverage === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "browseCoverage"},message:"must have required property '"+"browseCoverage"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.recordCount === undefined){const err4 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "recordCount"},message:"must have required property '"+"recordCount"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}if(data.records === undefined){const err5 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "records"},message:"must have required property '"+"records"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}for(const key0 in data){if(!((((((key0 === "browseCoverage") || (key0 === "contractVersion")) || (key0 === "format")) || (key0 === "recordCount")) || (key0 === "records")) || (key0 === "scope"))){const err6 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.browseCoverage !== undefined){if(!(validate21(data.browseCoverage, {instancePath:instancePath+"/browseCoverage",parentData:data,parentDataProperty:"browseCoverage",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate21.errors : vErrors.concat(validate21.errors);errors = vErrors.length;}}if(data.contractVersion !== undefined){let data1 = data.contractVersion;if(typeof data1 !== "string"){const err7 = {instancePath:instancePath+"/contractVersion",schemaPath:"#/properties/contractVersion/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}if("2.2" !== data1){const err8 = {instancePath:instancePath+"/contractVersion",schemaPath:"#/properties/contractVersion/const",keyword:"const",params:{allowedValue: "2.2"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.format !== undefined){let data2 = data.format;if(typeof data2 !== "string"){const err9 = {instancePath:instancePath+"/format",schemaPath:"#/properties/format/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}if("mapletip.monster-catalog-2" !== data2){const err10 = {instancePath:instancePath+"/format",schemaPath:"#/properties/format/const",keyword:"const",params:{allowedValue: "mapletip.monster-catalog-2"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}if(data.recordCount !== undefined){let data3 = data.recordCount;if(!(((typeof data3 == "number") && (!(data3 % 1) && !isNaN(data3))) && (isFinite(data3)))){const err11 = {instancePath:instancePath+"/recordCount",schemaPath:"#/properties/recordCount/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}if((typeof data3 == "number") && (isFinite(data3))){if(data3 > 9007199254740991 || isNaN(data3)){const err12 = {instancePath:instancePath+"/recordCount",schemaPath:"#/properties/recordCount/maximum",keyword:"maximum",params:{comparison: "<=", limit: 9007199254740991},message:"must be <= 9007199254740991"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}if(data3 < 0 || isNaN(data3)){const err13 = {instancePath:instancePath+"/recordCount",schemaPath:"#/properties/recordCount/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}}if(data.records !== undefined){let data4 = data.records;if(Array.isArray(data4)){const len0 = data4.length;for(let i0=0; i0<len0; i0++){if(!(validate23(data4[i0], {instancePath:instancePath+"/records/" + i0,parentData:data4,parentDataProperty:i0,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate23.errors : vErrors.concat(validate23.errors);errors = vErrors.length;}}}else {const err14 = {instancePath:instancePath+"/records",schemaPath:"#/properties/records/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data.scope !== undefined){let data6 = data.scope;if(data6 && typeof data6 == "object" && !Array.isArray(data6)){if(data6.family_id === undefined){const err15 = {instancePath:instancePath+"/scope",schemaPath:"#/$defs/BuildScope/required",keyword:"required",params:{missingProperty: "family_id"},message:"must have required property '"+"family_id"+"'"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}if(data6.build_id === undefined){const err16 = {instancePath:instancePath+"/scope",schemaPath:"#/$defs/BuildScope/required",keyword:"required",params:{missingProperty: "build_id"},message:"must have required property '"+"build_id"+"'"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}if(data6.build_id !== undefined){if(typeof data6.build_id !== "string"){const err17 = {instancePath:instancePath+"/scope/build_id",schemaPath:"#/$defs/BuildScope/properties/build_id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data6.family_id !== undefined){if(typeof data6.family_id !== "string"){const err18 = {instancePath:instancePath+"/scope/family_id",schemaPath:"#/$defs/BuildScope/properties/family_id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}}else {const err19 = {instancePath:instancePath+"/scope",schemaPath:"#/$defs/BuildScope/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}}else {const err20 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}validate20.errors = vErrors;return errors === 0;}validate20.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};