@graffiti-garden/implementation-decentralized 0.0.9 → 0.0.10

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 (60) hide show
  1. package/dist/1-services/1-authorization.d.ts.map +1 -1
  2. package/dist/1-services/2-dids.d.ts +1 -3
  3. package/dist/1-services/2-dids.d.ts.map +1 -1
  4. package/dist/1-services/3-storage-buckets.d.ts.map +1 -1
  5. package/dist/1-services/4-inboxes.d.ts.map +1 -1
  6. package/dist/1-services/utilities.d.ts.map +1 -1
  7. package/dist/2-primitives/1-string-encoding.d.ts.map +1 -1
  8. package/dist/2-primitives/2-content-addresses.d.ts.map +1 -1
  9. package/dist/2-primitives/3-channel-attestations.d.ts.map +1 -1
  10. package/dist/2-primitives/4-allowed-attestations.d.ts.map +1 -1
  11. package/dist/3-protocol/1-sessions.d.ts.map +1 -1
  12. package/dist/3-protocol/2-handles.d.ts.map +1 -1
  13. package/dist/3-protocol/3-object-encoding.d.ts.map +1 -1
  14. package/dist/3-protocol/4-graffiti.d.ts.map +1 -1
  15. package/dist/3-protocol/browser-storage.d.ts +4 -0
  16. package/dist/3-protocol/browser-storage.d.ts.map +1 -0
  17. package/dist/browser/ajv-LGNUXWV5.js +9 -0
  18. package/dist/browser/ajv-LGNUXWV5.js.map +7 -0
  19. package/dist/browser/{build-BXWPS7VK.js → build-DM3HADDZ.js} +2 -2
  20. package/dist/browser/chunk-O4MIY67H.js +2 -0
  21. package/dist/browser/{graffiti-KV3G3O72-URO7SJIJ.js → graffiti-KV3G3O72-TAZN6KIP.js} +2 -2
  22. package/dist/browser/index.js +13 -10
  23. package/dist/browser/index.js.map +4 -4
  24. package/dist/browser/{login-dialog.html-VTDKJZBG.js → login-dialog.html-E6VRKMXH.js} +2 -2
  25. package/dist/browser/{rock-salt-LI7DAH66-KPFEBIBO.js → rock-salt-LI7DAH66-TZP5ZWGV.js} +2 -2
  26. package/dist/browser/{style-BOBMBTYJ-ORUSIJTZ.js → style-BOBMBTYJ-GXWKT5M3.js} +2 -2
  27. package/dist/cjs/1-services/2-dids.js +4 -1
  28. package/dist/cjs/1-services/2-dids.js.map +2 -2
  29. package/dist/cjs/3-protocol/1-sessions.js +6 -6
  30. package/dist/cjs/3-protocol/1-sessions.js.map +2 -2
  31. package/dist/cjs/3-protocol/2-handles.js +1 -0
  32. package/dist/cjs/3-protocol/2-handles.js.map +1 -1
  33. package/dist/cjs/3-protocol/3-object-encoding.js +1 -0
  34. package/dist/cjs/3-protocol/3-object-encoding.js.map +1 -1
  35. package/dist/cjs/3-protocol/browser-storage.js +59 -0
  36. package/dist/cjs/3-protocol/browser-storage.js.map +7 -0
  37. package/dist/esm/1-services/2-dids.js +4 -1
  38. package/dist/esm/1-services/2-dids.js.map +2 -2
  39. package/dist/esm/3-protocol/1-sessions.js +10 -6
  40. package/dist/esm/3-protocol/1-sessions.js.map +2 -2
  41. package/dist/esm/3-protocol/2-handles.js +1 -0
  42. package/dist/esm/3-protocol/2-handles.js.map +1 -1
  43. package/dist/esm/3-protocol/3-object-encoding.js +1 -0
  44. package/dist/esm/3-protocol/3-object-encoding.js.map +1 -1
  45. package/dist/esm/3-protocol/browser-storage.js +29 -0
  46. package/dist/esm/3-protocol/browser-storage.js.map +7 -0
  47. package/dist/index.d.ts.map +1 -1
  48. package/package.json +12 -10
  49. package/src/1-services/2-dids.ts +6 -3
  50. package/src/3-protocol/1-sessions.ts +9 -6
  51. package/src/3-protocol/browser-storage.ts +37 -0
  52. package/dist/browser/ajv-U35FOJ27.js +0 -9
  53. package/dist/browser/ajv-U35FOJ27.js.map +0 -7
  54. package/dist/browser/chunk-RFBBAUMM.js +0 -2
  55. /package/dist/browser/{build-BXWPS7VK.js.map → build-DM3HADDZ.js.map} +0 -0
  56. /package/dist/browser/{chunk-RFBBAUMM.js.map → chunk-O4MIY67H.js.map} +0 -0
  57. /package/dist/browser/{graffiti-KV3G3O72-URO7SJIJ.js.map → graffiti-KV3G3O72-TAZN6KIP.js.map} +0 -0
  58. /package/dist/browser/{login-dialog.html-VTDKJZBG.js.map → login-dialog.html-E6VRKMXH.js.map} +0 -0
  59. /package/dist/browser/{rock-salt-LI7DAH66-KPFEBIBO.js.map → rock-salt-LI7DAH66-TZP5ZWGV.js.map} +0 -0
  60. /package/dist/browser/{style-BOBMBTYJ-ORUSIJTZ.js.map → style-BOBMBTYJ-GXWKT5M3.js.map} +0 -0
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/3-protocol/3-object-encoding.ts"],
4
4
  "sourcesContent": ["import type { JSONSchema } from \"json-schema-to-ts\";\nimport type {\n GraffitiObject,\n GraffitiObjectBase,\n GraffitiPostObject,\n} from \"@graffiti-garden/api\";\nimport type { ChannelAttestations } from \"../2-primitives/3-channel-attestations\";\nimport type { AllowedAttestations } from \"../2-primitives/4-allowed-attestations\";\nimport {\n CONTENT_ADDRESS_METHOD_SHA256,\n type ContentAddresses,\n} from \"../2-primitives/2-content-addresses\";\nimport { randomBytes } from \"@noble/hashes/utils.js\";\nimport {\n encode as dagCborEncode,\n decode as dagCborDecode,\n} from \"@ipld/dag-cbor\";\nimport {\n type infer as infer_,\n array,\n custom,\n looseObject,\n optional,\n strictObject,\n} from \"zod/mini\";\nimport { CHANNEL_ATTESTATION_METHOD_SHA256_ED25519 } from \"../2-primitives/3-channel-attestations\";\nimport { ALLOWED_ATTESTATION_METHOD_HMAC_SHA256 } from \"../2-primitives/4-allowed-attestations\";\nimport {\n STRING_ENCODER_METHOD_BASE64URL,\n type StringEncoder,\n} from \"../2-primitives/1-string-encoding\";\n\n// Objects have a max size of 32kb\n// If each channel and allowed actor takes 32 bytes\n// of space (i.e. they are hashed with 256 bit security)\n// then this means that the combined number of channels\n// and recipients of object has cannot exceed one thousand.\n// This seems like a reasonable limit and on par with\n// signal's group chat limit of 1000\nexport const MAX_OBJECT_SIZE_BYTES = 32 * 1024;\n\nexport class ObjectEncoding {\n constructor(\n protected readonly primitives: {\n readonly stringEncoder: StringEncoder;\n readonly channelAttestations: ChannelAttestations;\n readonly allowedAttestations: AllowedAttestations;\n readonly contentAddresses: ContentAddresses;\n },\n ) {}\n\n async encode<Schema extends JSONSchema>(\n partialObject: GraffitiPostObject<Schema>,\n actor: string,\n ): Promise<{\n object: GraffitiObject<Schema>;\n tags: Uint8Array[];\n objectBytes: Uint8Array;\n allowedTickets: Uint8Array[] | undefined;\n }> {\n // Clean out any undefineds\n partialObject = cleanUndefined(partialObject);\n\n const uniqueChannels = [...new Set(partialObject.channels)];\n\n // Create a verifiable attestation that the actor\n // knows the included channels without\n // directly revealing any channel to anyone who doesn't\n // know the channel already\n const channelAttestationAndPublicIds = await Promise.all(\n uniqueChannels.map((channel) =>\n this.primitives.channelAttestations.attest(\n // TODO: get this from the DID document of the actor\n CHANNEL_ATTESTATION_METHOD_SHA256_ED25519,\n actor,\n channel,\n ),\n ),\n );\n const channelAttestations = channelAttestationAndPublicIds.map(\n (c) => c.attestation,\n );\n const channelPublicIds = channelAttestationAndPublicIds.map(\n (c) => c.channelPublicId,\n );\n\n const objectData: infer_<typeof ObjectDataSchema> = {\n [VALUE_PROPERTY]: partialObject.value,\n [CHANNEL_ATTESTATIONS_PROPERTY]: channelAttestations,\n [NONCE_PROPERTY]: randomBytes(32),\n };\n\n let allowedTickets: Uint8Array[] | undefined = undefined;\n\n // If the object is private...\n if (Array.isArray(partialObject.allowed)) {\n // Create an attestation that the object's allowed list\n // includes the given actors, without revealing the\n // presence of an actor on the list to anyone except\n // that actor themselves. Each actor will receive a\n // \"ticket\" that they can use to verify their own membership\n // on the allowed list.\n const allowedAttestations = await Promise.all(\n partialObject.allowed.map(async (allowedActor) =>\n this.primitives.allowedAttestations.attest(\n // TODO: get this from the DID document of the actor\n ALLOWED_ATTESTATION_METHOD_HMAC_SHA256,\n allowedActor,\n ),\n ),\n );\n objectData[ALLOWED_ATTESTATIONS_PROPERTY] = allowedAttestations.map(\n (a) => a.attestation,\n );\n allowedTickets = allowedAttestations.map((a) => a.ticket);\n }\n\n // Encode the mixed JSON/binary data using CBOR\n const objectBytes = dagCborEncode(objectData);\n if (objectBytes.byteLength > MAX_OBJECT_SIZE_BYTES) {\n throw new Error(\"The object is too large\");\n }\n\n // Compute a public identifier (hash) of the object data\n const objectContentAddressBytes =\n await this.primitives.contentAddresses.register(\n // TODO: get this from the DID document of the actor\n CONTENT_ADDRESS_METHOD_SHA256,\n objectBytes,\n );\n const objectContentAddress = await this.primitives.stringEncoder.encode(\n STRING_ENCODER_METHOD_BASE64URL,\n objectContentAddressBytes,\n );\n // Use it to compute the object's URL\n const objectUrl = encodeObjectUrl(actor, objectContentAddress);\n\n const tags = [new TextEncoder().encode(objectUrl), ...channelPublicIds];\n\n const object: GraffitiObject<Schema> = {\n value: partialObject.value,\n channels: uniqueChannels,\n url: objectUrl,\n actor,\n ...(partialObject.allowed\n ? {\n allowed: partialObject.allowed,\n }\n : {}),\n } as GraffitiObject<Schema>;\n\n // Return object URL and allowed secrets\n return {\n object,\n tags,\n objectBytes,\n allowedTickets,\n };\n }\n\n async validate(\n object: GraffitiObjectBase,\n tags: Uint8Array[],\n objectBytes: Uint8Array,\n privateObjectInfo?:\n | {\n recipient: string;\n allowedTicket: Uint8Array;\n allowedIndex: number;\n }\n | {\n allowedTickets: Uint8Array[];\n },\n ): Promise<void> {\n if (objectBytes.byteLength > MAX_OBJECT_SIZE_BYTES) {\n throw new Error(\"Object is too big\");\n }\n const { actor, contentAddress } = decodeObjectUrl(object.url);\n if (actor !== object.actor) {\n throw new Error(\"Object actor does not match URL actor\");\n }\n\n const objectUrlTag = tags.at(0);\n if (!objectUrlTag) {\n throw new Error(\"No object URL tag\");\n }\n if (new TextDecoder().decode(objectUrlTag) !== object.url) {\n throw new Error(\"Object URL tag does not match object URL\");\n }\n const channelPublicIds = tags.slice(1);\n\n // Make sure the object content address matches the object content\n const contentAddressBytes =\n await this.primitives.stringEncoder.decode(contentAddress);\n const contentAddressMethod =\n await this.primitives.contentAddresses.getMethod(contentAddressBytes);\n const expectedContentAddress =\n await this.primitives.contentAddresses.register(\n contentAddressMethod,\n objectBytes,\n );\n if (\n expectedContentAddress.length !== contentAddressBytes.length ||\n !expectedContentAddress.every((b, i) => b === contentAddressBytes[i])\n ) {\n throw new Error(\"Content address is invalid\");\n }\n\n // Convert the raw object data from CBOR\n // back to a javascript object\n const objectDataUnknown = dagCborDecode(objectBytes);\n const objectData = ObjectDataSchema.parse(objectDataUnknown);\n\n // And extract the values\n const value = objectData[VALUE_PROPERTY];\n const channelAttestations = objectData[CHANNEL_ATTESTATIONS_PROPERTY];\n const allowedAttestations = objectData[ALLOWED_ATTESTATIONS_PROPERTY];\n\n // Validate that the object's value matches\n const valueBytes = dagCborEncode(value);\n const expectedValueBytes = dagCborEncode(object.value);\n if (\n valueBytes.length !== expectedValueBytes.length ||\n !valueBytes.every((b, i) => b === expectedValueBytes[i])\n ) {\n throw new Error(\"Object value does not match storage value\");\n }\n\n // Validate the object's channels\n if (channelAttestations.length !== channelPublicIds.length) {\n throw new Error(\"Not as many channel attestations and public ids\");\n }\n for (const [index, attestation] of channelAttestations.entries()) {\n const channelPublicId = channelPublicIds[index];\n const isValid = await this.primitives.channelAttestations.validate(\n attestation,\n actor,\n channelPublicId,\n );\n if (!isValid) {\n throw new Error(\"Invalid channel attestation\");\n }\n }\n if (object.channels.length) {\n // If any channels are included, they all must be included\n if (object.channels.length !== channelPublicIds.length) {\n throw new Error(\n \"Number of claimed channels does not match attestations/public IDs\",\n );\n }\n const channelAttestationMethod =\n await this.primitives.channelAttestations.getMethod(\n channelPublicIds[0],\n );\n const expectedChannelPublicIds = await Promise.all(\n object.channels.map((channel) =>\n this.primitives.channelAttestations.register(\n channelAttestationMethod,\n channel,\n ),\n ),\n );\n for (const [\n index,\n expectedPublicId,\n ] of expectedChannelPublicIds.entries()) {\n const actualPublicId = channelPublicIds[index];\n if (\n expectedPublicId.length !== actualPublicId.length ||\n !expectedPublicId.every((b, i) => b === actualPublicId[i])\n ) {\n throw new Error(\"Channel public id does not match expected\");\n }\n }\n }\n\n // Validate the recipient\n if (privateObjectInfo) {\n if (!allowedAttestations) {\n throw new Error(\"Object is public but thought to be private\");\n }\n\n let recipients: string[];\n let allowedTickets: Uint8Array[];\n let attestations: Uint8Array[];\n if (\"recipient\" in privateObjectInfo) {\n recipients = [privateObjectInfo.recipient];\n allowedTickets = [privateObjectInfo.allowedTicket];\n attestations = allowedAttestations.filter(\n (_, i) => i === privateObjectInfo.allowedIndex,\n );\n } else {\n recipients = [...(object.allowed ?? [])];\n allowedTickets = privateObjectInfo.allowedTickets;\n attestations = allowedAttestations;\n }\n\n // All recipients must be in the allowed list\n if (recipients.length !== object.allowed?.length) {\n throw new Error(\"Recipient count does not match object allowed list\");\n }\n if (!recipients.every((r) => object.allowed?.includes(r))) {\n throw new Error(\"Recipient not in object allowed list\");\n }\n\n for (const [index, recipient] of recipients.entries()) {\n const allowedTicket = allowedTickets.at(index);\n const allowedAttestation = attestations.at(index);\n if (!allowedTicket) {\n throw new Error(\"Missing allowed ticket for recipient\");\n }\n if (!allowedAttestation) {\n throw new Error(\"Missing allowed attestation for recipient\");\n }\n const isValid = await this.primitives.allowedAttestations.validate(\n allowedAttestation,\n recipient,\n allowedTicket,\n );\n\n if (!isValid) {\n throw new Error(\"Invalid allowed attestation for recipient\");\n }\n }\n } else if (allowedAttestations) {\n throw new Error(\"Object is private but no recipient info provided\");\n }\n }\n}\n\n// A compact data representation of the object data\nconst VALUE_PROPERTY = \"v\";\nconst CHANNEL_ATTESTATIONS_PROPERTY = \"c\";\nconst ALLOWED_ATTESTATIONS_PROPERTY = \"a\";\nconst NONCE_PROPERTY = \"n\";\n\nconst Uint8ArraySchema = custom<Uint8Array>(\n (v): v is Uint8Array => v instanceof Uint8Array,\n);\n\nconst ObjectDataSchema = strictObject({\n [VALUE_PROPERTY]: looseObject({}),\n [CHANNEL_ATTESTATIONS_PROPERTY]: array(Uint8ArraySchema),\n [ALLOWED_ATTESTATIONS_PROPERTY]: optional(array(Uint8ArraySchema)),\n [NONCE_PROPERTY]: Uint8ArraySchema,\n});\n\nexport const GRAFFITI_OBJECT_URL_PREFIX = \"graffiti:\";\n\n// Methods to encode and decode object URLs\nexport function encodeObjectUrlComponent(value: string) {\n const replaced = value.replace(/:/g, \"!\").replace(/\\//g, \"~\");\n return encodeURIComponent(replaced);\n}\nexport function decodeObjectUrlComponent(value: string) {\n const decoded = decodeURIComponent(value);\n return decoded.replace(/!/g, \":\").replace(/~/g, \"/\");\n}\nexport function encodeObjectUrl(actor: string, contentAddress: string) {\n return `${GRAFFITI_OBJECT_URL_PREFIX}${encodeObjectUrlComponent(actor)}:${encodeObjectUrlComponent(contentAddress)}`;\n}\nexport function decodeObjectUrl(objectUrl: string) {\n if (!objectUrl.startsWith(GRAFFITI_OBJECT_URL_PREFIX)) {\n throw new Error(\"Invalid object URL\");\n }\n\n const rest = objectUrl.slice(GRAFFITI_OBJECT_URL_PREFIX.length);\n const parts = rest.split(\":\");\n\n if (parts.length !== 2) {\n throw new Error(\"Invalid object URL format\");\n }\n\n const [actor, contentAddress] = parts;\n\n return {\n actor: decodeObjectUrlComponent(actor),\n contentAddress: decodeObjectUrlComponent(contentAddress),\n };\n}\n\nfunction cleanUndefined(value: any): any {\n if (value === undefined) return null;\n\n if (Array.isArray(value)) {\n return value.map(cleanUndefined);\n }\n\n if (typeof value === \"object\") {\n return Object.fromEntries(\n Object.entries(value)\n .filter(([, v]) => v !== undefined)\n .map(([k, v]) => [k, cleanUndefined(v)]),\n );\n }\n\n return value;\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "AAQA;AAAA,EACE;AAAA,OAEK;AACP,SAAS,mBAAmB;AAC5B;AAAA,EACE,UAAU;AAAA,EACV,UAAU;AAAA,OACL;AACP;AAAA,EAEE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,iDAAiD;AAC1D,SAAS,8CAA8C;AACvD;AAAA,EACE;AAAA,OAEK;AASA,MAAM,wBAAwB,KAAK;AAEnC,MAAM,eAAe;AAAA,EAC1B,YACqB,YAMnB;AANmB;AAAA,EAMlB;AAAA,EANkB;AAAA,EAQrB,MAAM,OACJ,eACA,OAMC;AAED,oBAAgB,eAAe,aAAa;AAE5C,UAAM,iBAAiB,CAAC,GAAG,IAAI,IAAI,cAAc,QAAQ,CAAC;AAM1D,UAAM,iCAAiC,MAAM,QAAQ;AAAA,MACnD,eAAe;AAAA,QAAI,CAAC,YAClB,KAAK,WAAW,oBAAoB;AAAA;AAAA,UAElC;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,UAAM,sBAAsB,+BAA+B;AAAA,MACzD,CAAC,MAAM,EAAE;AAAA,IACX;AACA,UAAM,mBAAmB,+BAA+B;AAAA,MACtD,CAAC,MAAM,EAAE;AAAA,IACX;AAEA,UAAM,aAA8C;AAAA,MAClD,CAAC,cAAc,GAAG,cAAc;AAAA,MAChC,CAAC,6BAA6B,GAAG;AAAA,MACjC,CAAC,cAAc,GAAG,YAAY,EAAE;AAAA,IAClC;AAEA,QAAI,iBAA2C;AAG/C,QAAI,MAAM,QAAQ,cAAc,OAAO,GAAG;AAOxC,YAAM,sBAAsB,MAAM,QAAQ;AAAA,QACxC,cAAc,QAAQ;AAAA,UAAI,OAAO,iBAC/B,KAAK,WAAW,oBAAoB;AAAA;AAAA,YAElC;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,MACF;AACA,iBAAW,6BAA6B,IAAI,oBAAoB;AAAA,QAC9D,CAAC,MAAM,EAAE;AAAA,MACX;AACA,uBAAiB,oBAAoB,IAAI,CAAC,MAAM,EAAE,MAAM;AAAA,IAC1D;AAGA,UAAM,cAAc,cAAc,UAAU;AAC5C,QAAI,YAAY,aAAa,uBAAuB;AAClD,YAAM,IAAI,MAAM,yBAAyB;AAAA,IAC3C;AAGA,UAAM,4BACJ,MAAM,KAAK,WAAW,iBAAiB;AAAA;AAAA,MAErC;AAAA,MACA;AAAA,IACF;AACF,UAAM,uBAAuB,MAAM,KAAK,WAAW,cAAc;AAAA,MAC/D;AAAA,MACA;AAAA,IACF;AAEA,UAAM,YAAY,gBAAgB,OAAO,oBAAoB;AAE7D,UAAM,OAAO,CAAC,IAAI,YAAY,EAAE,OAAO,SAAS,GAAG,GAAG,gBAAgB;AAEtE,UAAM,SAAiC;AAAA,MACrC,OAAO,cAAc;AAAA,MACrB,UAAU;AAAA,MACV,KAAK;AAAA,MACL;AAAA,MACA,GAAI,cAAc,UACd;AAAA,QACE,SAAS,cAAc;AAAA,MACzB,IACA,CAAC;AAAA,IACP;AAGA,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAM,SACJ,QACA,MACA,aACA,mBASe;AACf,QAAI,YAAY,aAAa,uBAAuB;AAClD,YAAM,IAAI,MAAM,mBAAmB;AAAA,IACrC;AACA,UAAM,EAAE,OAAO,eAAe,IAAI,gBAAgB,OAAO,GAAG;AAC5D,QAAI,UAAU,OAAO,OAAO;AAC1B,YAAM,IAAI,MAAM,uCAAuC;AAAA,IACzD;AAEA,UAAM,eAAe,KAAK,GAAG,CAAC;AAC9B,QAAI,CAAC,cAAc;AACjB,YAAM,IAAI,MAAM,mBAAmB;AAAA,IACrC;AACA,QAAI,IAAI,YAAY,EAAE,OAAO,YAAY,MAAM,OAAO,KAAK;AACzD,YAAM,IAAI,MAAM,0CAA0C;AAAA,IAC5D;AACA,UAAM,mBAAmB,KAAK,MAAM,CAAC;AAGrC,UAAM,sBACJ,MAAM,KAAK,WAAW,cAAc,OAAO,cAAc;AAC3D,UAAM,uBACJ,MAAM,KAAK,WAAW,iBAAiB,UAAU,mBAAmB;AACtE,UAAM,yBACJ,MAAM,KAAK,WAAW,iBAAiB;AAAA,MACrC;AAAA,MACA;AAAA,IACF;AACF,QACE,uBAAuB,WAAW,oBAAoB,UACtD,CAAC,uBAAuB,MAAM,CAAC,GAAG,MAAM,MAAM,oBAAoB,CAAC,CAAC,GACpE;AACA,YAAM,IAAI,MAAM,4BAA4B;AAAA,IAC9C;AAIA,UAAM,oBAAoB,cAAc,WAAW;AACnD,UAAM,aAAa,iBAAiB,MAAM,iBAAiB;AAG3D,UAAM,QAAQ,WAAW,cAAc;AACvC,UAAM,sBAAsB,WAAW,6BAA6B;AACpE,UAAM,sBAAsB,WAAW,6BAA6B;AAGpE,UAAM,aAAa,cAAc,KAAK;AACtC,UAAM,qBAAqB,cAAc,OAAO,KAAK;AACrD,QACE,WAAW,WAAW,mBAAmB,UACzC,CAAC,WAAW,MAAM,CAAC,GAAG,MAAM,MAAM,mBAAmB,CAAC,CAAC,GACvD;AACA,YAAM,IAAI,MAAM,2CAA2C;AAAA,IAC7D;AAGA,QAAI,oBAAoB,WAAW,iBAAiB,QAAQ;AAC1D,YAAM,IAAI,MAAM,iDAAiD;AAAA,IACnE;AACA,eAAW,CAAC,OAAO,WAAW,KAAK,oBAAoB,QAAQ,GAAG;AAChE,YAAM,kBAAkB,iBAAiB,KAAK;AAC9C,YAAM,UAAU,MAAM,KAAK,WAAW,oBAAoB;AAAA,QACxD;AAAA,QACA;AAAA,QACA;AAAA,MACF;AACA,UAAI,CAAC,SAAS;AACZ,cAAM,IAAI,MAAM,6BAA6B;AAAA,MAC/C;AAAA,IACF;AACA,QAAI,OAAO,SAAS,QAAQ;AAE1B,UAAI,OAAO,SAAS,WAAW,iBAAiB,QAAQ;AACtD,cAAM,IAAI;AAAA,UACR;AAAA,QACF;AAAA,MACF;AACA,YAAM,2BACJ,MAAM,KAAK,WAAW,oBAAoB;AAAA,QACxC,iBAAiB,CAAC;AAAA,MACpB;AACF,YAAM,2BAA2B,MAAM,QAAQ;AAAA,QAC7C,OAAO,SAAS;AAAA,UAAI,CAAC,YACnB,KAAK,WAAW,oBAAoB;AAAA,YAClC;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,MACF;AACA,iBAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF,KAAK,yBAAyB,QAAQ,GAAG;AACvC,cAAM,iBAAiB,iBAAiB,KAAK;AAC7C,YACE,iBAAiB,WAAW,eAAe,UAC3C,CAAC,iBAAiB,MAAM,CAAC,GAAG,MAAM,MAAM,eAAe,CAAC,CAAC,GACzD;AACA,gBAAM,IAAI,MAAM,2CAA2C;AAAA,QAC7D;AAAA,MACF;AAAA,IACF;AAGA,QAAI,mBAAmB;AACrB,UAAI,CAAC,qBAAqB;AACxB,cAAM,IAAI,MAAM,4CAA4C;AAAA,MAC9D;AAEA,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI,eAAe,mBAAmB;AACpC,qBAAa,CAAC,kBAAkB,SAAS;AACzC,yBAAiB,CAAC,kBAAkB,aAAa;AACjD,uBAAe,oBAAoB;AAAA,UACjC,CAAC,GAAG,MAAM,MAAM,kBAAkB;AAAA,QACpC;AAAA,MACF,OAAO;AACL,qBAAa,CAAC,GAAI,OAAO,WAAW,CAAC,CAAE;AACvC,yBAAiB,kBAAkB;AACnC,uBAAe;AAAA,MACjB;AAGA,UAAI,WAAW,WAAW,OAAO,SAAS,QAAQ;AAChD,cAAM,IAAI,MAAM,oDAAoD;AAAA,MACtE;AACA,UAAI,CAAC,WAAW,MAAM,CAAC,MAAM,OAAO,SAAS,SAAS,CAAC,CAAC,GAAG;AACzD,cAAM,IAAI,MAAM,sCAAsC;AAAA,MACxD;AAEA,iBAAW,CAAC,OAAO,SAAS,KAAK,WAAW,QAAQ,GAAG;AACrD,cAAM,gBAAgB,eAAe,GAAG,KAAK;AAC7C,cAAM,qBAAqB,aAAa,GAAG,KAAK;AAChD,YAAI,CAAC,eAAe;AAClB,gBAAM,IAAI,MAAM,sCAAsC;AAAA,QACxD;AACA,YAAI,CAAC,oBAAoB;AACvB,gBAAM,IAAI,MAAM,2CAA2C;AAAA,QAC7D;AACA,cAAM,UAAU,MAAM,KAAK,WAAW,oBAAoB;AAAA,UACxD;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAEA,YAAI,CAAC,SAAS;AACZ,gBAAM,IAAI,MAAM,2CAA2C;AAAA,QAC7D;AAAA,MACF;AAAA,IACF,WAAW,qBAAqB;AAC9B,YAAM,IAAI,MAAM,kDAAkD;AAAA,IACpE;AAAA,EACF;AACF;AAGA,MAAM,iBAAiB;AACvB,MAAM,gCAAgC;AACtC,MAAM,gCAAgC;AACtC,MAAM,iBAAiB;AAEvB,MAAM,mBAAmB;AAAA,EACvB,CAAC,MAAuB,aAAa;AACvC;AAEA,MAAM,mBAAmB,aAAa;AAAA,EACpC,CAAC,cAAc,GAAG,YAAY,CAAC,CAAC;AAAA,EAChC,CAAC,6BAA6B,GAAG,MAAM,gBAAgB;AAAA,EACvD,CAAC,6BAA6B,GAAG,SAAS,MAAM,gBAAgB,CAAC;AAAA,EACjE,CAAC,cAAc,GAAG;AACpB,CAAC;AAEM,MAAM,6BAA6B;AAGnC,SAAS,yBAAyB,OAAe;AACtD,QAAM,WAAW,MAAM,QAAQ,MAAM,GAAG,EAAE,QAAQ,OAAO,GAAG;AAC5D,SAAO,mBAAmB,QAAQ;AACpC;AACO,SAAS,yBAAyB,OAAe;AACtD,QAAM,UAAU,mBAAmB,KAAK;AACxC,SAAO,QAAQ,QAAQ,MAAM,GAAG,EAAE,QAAQ,MAAM,GAAG;AACrD;AACO,SAAS,gBAAgB,OAAe,gBAAwB;AACrE,SAAO,GAAG,0BAA0B,GAAG,yBAAyB,KAAK,CAAC,IAAI,yBAAyB,cAAc,CAAC;AACpH;AACO,SAAS,gBAAgB,WAAmB;AACjD,MAAI,CAAC,UAAU,WAAW,0BAA0B,GAAG;AACrD,UAAM,IAAI,MAAM,oBAAoB;AAAA,EACtC;AAEA,QAAM,OAAO,UAAU,MAAM,2BAA2B,MAAM;AAC9D,QAAM,QAAQ,KAAK,MAAM,GAAG;AAE5B,MAAI,MAAM,WAAW,GAAG;AACtB,UAAM,IAAI,MAAM,2BAA2B;AAAA,EAC7C;AAEA,QAAM,CAAC,OAAO,cAAc,IAAI;AAEhC,SAAO;AAAA,IACL,OAAO,yBAAyB,KAAK;AAAA,IACrC,gBAAgB,yBAAyB,cAAc;AAAA,EACzD;AACF;AAEA,SAAS,eAAe,OAAiB;AACvC,MAAI,UAAU,OAAW,QAAO;AAEhC,MAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,WAAO,MAAM,IAAI,cAAc;AAAA,EACjC;AAEA,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO,OAAO;AAAA,MACZ,OAAO,QAAQ,KAAK,EACjB,OAAO,CAAC,CAAC,EAAE,CAAC,MAAM,MAAM,MAAS,EACjC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;AAAA,IAC3C;AAAA,EACF;AAEA,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,29 @@
1
+ import Cookies from "js-cookie";
2
+ const BROWSER_STORAGE_EXPIRATION_DAYS = 365;
3
+ function setBrowserStorageItem(key, value) {
4
+ Cookies.set(key, value, getBrowserStorageOptions());
5
+ }
6
+ function getBrowserStorageItem(key) {
7
+ return Cookies.get(key);
8
+ }
9
+ function removeBrowserStorageItem(key) {
10
+ Cookies.remove(key, getBrowserStorageOptions());
11
+ }
12
+ function getBrowserStorageOptions() {
13
+ const attributes = {
14
+ expires: BROWSER_STORAGE_EXPIRATION_DAYS,
15
+ path: "/",
16
+ sameSite: "lax"
17
+ };
18
+ if (typeof window !== "undefined" && window.location.protocol === "https:") {
19
+ attributes.sameSite = "none";
20
+ attributes.secure = true;
21
+ }
22
+ return attributes;
23
+ }
24
+ export {
25
+ getBrowserStorageItem,
26
+ removeBrowserStorageItem,
27
+ setBrowserStorageItem
28
+ };
29
+ //# sourceMappingURL=browser-storage.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/3-protocol/browser-storage.ts"],
4
+ "sourcesContent": ["import Cookies from \"js-cookie\";\n\n// The Storage Access API only exposes cookies, but not\n// localstorage or indexedDB. Therefore, we must use cookies\n// for storage that persists across iframes. This just involves\n// session tokens, the rest of the storage is for in-process\n// authorization, which cannot be done in an iframe anyways,\n// and caching, which just adds efficiency.\n\nconst BROWSER_STORAGE_EXPIRATION_DAYS = 365;\n\nexport function setBrowserStorageItem(key: string, value: string): void {\n Cookies.set(key, value, getBrowserStorageOptions());\n}\n\nexport function getBrowserStorageItem(key: string): string | undefined {\n return Cookies.get(key);\n}\n\nexport function removeBrowserStorageItem(key: string): void {\n Cookies.remove(key, getBrowserStorageOptions());\n}\n\nfunction getBrowserStorageOptions(): Cookies.CookieAttributes {\n const attributes: Cookies.CookieAttributes = {\n expires: BROWSER_STORAGE_EXPIRATION_DAYS,\n path: \"/\",\n sameSite: \"lax\",\n };\n\n if (typeof window !== \"undefined\" && window.location.protocol === \"https:\") {\n attributes.sameSite = \"none\";\n attributes.secure = true;\n }\n\n return attributes;\n}\n"],
5
+ "mappings": "AAAA,OAAO,aAAa;AASpB,MAAM,kCAAkC;AAEjC,SAAS,sBAAsB,KAAa,OAAqB;AACtE,UAAQ,IAAI,KAAK,OAAO,yBAAyB,CAAC;AACpD;AAEO,SAAS,sBAAsB,KAAiC;AACrE,SAAO,QAAQ,IAAI,GAAG;AACxB;AAEO,SAAS,yBAAyB,KAAmB;AAC1D,UAAQ,OAAO,KAAK,yBAAyB,CAAC;AAChD;AAEA,SAAS,2BAAqD;AAC5D,QAAM,aAAuC;AAAA,IAC3C,SAAS;AAAA,IACT,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AAEA,MAAI,OAAO,WAAW,eAAe,OAAO,SAAS,aAAa,UAAU;AAC1E,eAAW,WAAW;AACtB,eAAW,SAAS;AAAA,EACtB;AAEA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,yBAAyB,CAAC;AAEjC;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,oBAAoB;gBACjD,OAAO,CAAC,EAAE,4BAA4B;CAInD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,yBAAyB,CAAC;AAEjC;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,oBAAoB;IAC7D,YAAY,OAAO,CAAC,EAAE,4BAA4B,EAGjD;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@graffiti-garden/implementation-decentralized",
3
- "version": "0.0.9",
3
+ "version": "0.0.10",
4
4
  "description": "A client for a decentralized implementation of the Graffiti API",
5
5
  "types": "./dist/index.d.ts",
6
6
  "module": "./dist/esm/index.js",
@@ -43,23 +43,25 @@
43
43
  "url": "https://github.com/graffiti-garden/implementation-decentralized/issues"
44
44
  },
45
45
  "devDependencies": {
46
- "@types/node": "^25.3.0",
46
+ "@types/js-cookie": "^3.0.6",
47
+ "@types/node": "^26.1.1",
47
48
  "@vitest/coverage-v8": "^4.0.18",
48
- "tsx": "^4.21.0",
49
- "typescript": "^5.9.3",
49
+ "tsx": "^4.23.1",
50
+ "typescript": "^7.0.2",
50
51
  "vitest": "^4.0.18"
51
52
  },
52
53
  "dependencies": {
53
54
  "@graffiti-garden/api": "^1.2.0",
54
55
  "@graffiti-garden/modal": "^1.0.4",
55
- "@ipld/dag-cbor": "^9.2.5",
56
- "@noble/ed25519": "^3.0.0",
57
- "@noble/hashes": "^2.0.1",
58
- "did-resolver": "^4.1.0",
56
+ "@ipld/dag-cbor": "^10.0.1",
57
+ "@noble/ed25519": "^3.1.0",
58
+ "@noble/hashes": "2.2",
59
+ "did-resolver": "^5.0.1",
59
60
  "idb": "^8.0.3",
60
- "openid-client": "^6.8.2",
61
+ "js-cookie": "^3.0.8",
62
+ "openid-client": "^6.8.4",
61
63
  "plc-did-resolver": "^1.0.0",
62
64
  "web-did-resolver": "^2.0.32",
63
- "zod": "^4.3.6"
65
+ "zod": "^4.4.3"
64
66
  }
65
67
  }
@@ -1,15 +1,18 @@
1
1
  import { GraffitiErrorNotFound } from "@graffiti-garden/api";
2
- import { Resolver, type DIDDocument } from "did-resolver";
2
+ import { Resolver, type DIDDocument, type ResolverRegistry } from "did-resolver";
3
3
  import { getResolver as plcResolver } from "plc-did-resolver";
4
4
  import { getResolver as webResolver } from "web-did-resolver";
5
5
 
6
6
  export class DecentralizedIdentifiers {
7
- protected readonly methods = {
7
+ protected readonly methods: Record<string, unknown> = {
8
8
  ...plcResolver(),
9
9
  ...webResolver(),
10
10
  };
11
11
 
12
- protected readonly resolver = new Resolver(this.methods, { cache: true });
12
+ protected readonly resolver = new Resolver(
13
+ this.methods as unknown as ResolverRegistry,
14
+ { cache: true },
15
+ );
13
16
 
14
17
  async resolve(did: string): Promise<DIDDocument> {
15
18
  if (
@@ -15,6 +15,11 @@ import {
15
15
  import { StorageBuckets } from "../1-services/3-storage-buckets";
16
16
  import type { Inboxes } from "../1-services/4-inboxes";
17
17
  import type { Service } from "did-resolver";
18
+ import {
19
+ getBrowserStorageItem,
20
+ removeBrowserStorageItem,
21
+ setBrowserStorageItem,
22
+ } from "./browser-storage";
18
23
  import {
19
24
  type infer as infer_,
20
25
  extend,
@@ -512,9 +517,7 @@ export class Sessions {
512
517
  protected get loggedInSessions(): StoredSession[] {
513
518
  if (typeof window === "undefined") return loggedInSessions_;
514
519
 
515
- const data = window.localStorage.getItem(
516
- LOCAL_STORAGE_LOGGED_IN_SESSIONS_KEY,
517
- );
520
+ const data = getBrowserStorageItem(LOCAL_STORAGE_LOGGED_IN_SESSIONS_KEY);
518
521
  if (!data) return [];
519
522
 
520
523
  let json: unknown;
@@ -522,14 +525,14 @@ export class Sessions {
522
525
  json = JSON.parse(data);
523
526
  } catch {
524
527
  console.error("Error parsing stored session data");
525
- window.localStorage.removeItem(LOCAL_STORAGE_LOGGED_IN_SESSIONS_KEY);
528
+ removeBrowserStorageItem(LOCAL_STORAGE_LOGGED_IN_SESSIONS_KEY);
526
529
  return [];
527
530
  }
528
531
 
529
532
  const parsed = array(StoredSessionSchema).safeParse(json);
530
533
  if (!parsed.success) {
531
534
  console.error("Stored session data is invalid");
532
- window.localStorage.removeItem(LOCAL_STORAGE_LOGGED_IN_SESSIONS_KEY);
535
+ removeBrowserStorageItem(LOCAL_STORAGE_LOGGED_IN_SESSIONS_KEY);
533
536
  return [];
534
537
  }
535
538
  return parsed.data;
@@ -540,7 +543,7 @@ export class Sessions {
540
543
  return;
541
544
  }
542
545
 
543
- window.localStorage.setItem(
546
+ setBrowserStorageItem(
544
547
  LOCAL_STORAGE_LOGGED_IN_SESSIONS_KEY,
545
548
  JSON.stringify(sessions),
546
549
  );
@@ -0,0 +1,37 @@
1
+ import Cookies from "js-cookie";
2
+
3
+ // The Storage Access API only exposes cookies, but not
4
+ // localstorage or indexedDB. Therefore, we must use cookies
5
+ // for storage that persists across iframes. This just involves
6
+ // session tokens, the rest of the storage is for in-process
7
+ // authorization, which cannot be done in an iframe anyways,
8
+ // and caching, which just adds efficiency.
9
+
10
+ const BROWSER_STORAGE_EXPIRATION_DAYS = 365;
11
+
12
+ export function setBrowserStorageItem(key: string, value: string): void {
13
+ Cookies.set(key, value, getBrowserStorageOptions());
14
+ }
15
+
16
+ export function getBrowserStorageItem(key: string): string | undefined {
17
+ return Cookies.get(key);
18
+ }
19
+
20
+ export function removeBrowserStorageItem(key: string): void {
21
+ Cookies.remove(key, getBrowserStorageOptions());
22
+ }
23
+
24
+ function getBrowserStorageOptions(): Cookies.CookieAttributes {
25
+ const attributes: Cookies.CookieAttributes = {
26
+ expires: BROWSER_STORAGE_EXPIRATION_DAYS,
27
+ path: "/",
28
+ sameSite: "lax",
29
+ };
30
+
31
+ if (typeof window !== "undefined" && window.location.protocol === "https:") {
32
+ attributes.sameSite = "none";
33
+ attributes.secure = true;
34
+ }
35
+
36
+ return attributes;
37
+ }
@@ -1,9 +0,0 @@
1
- import{a as g}from"./chunk-RFBBAUMM.js";var Qe=g(I=>{"use strict";Object.defineProperty(I,"__esModule",{value:!0});I.regexpCode=I.getEsmExportName=I.getProperty=I.safeStringify=I.stringify=I.strConcat=I.addCodeArg=I.str=I._=I.nil=I._Code=I.Name=I.IDENTIFIER=I._CodeOrName=void 0;var Je=class{};I._CodeOrName=Je;I.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var we=class extends Je{constructor(e){if(super(),!I.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};I.Name=we;var Q=class extends Je{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,s)=>`${r}${s}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,s)=>(s instanceof we&&(r[s.str]=(r[s.str]||0)+1),r),{})}};I._Code=Q;I.nil=new Q("");function Ls(t,...e){let r=[t[0]],s=0;for(;s<e.length;)or(r,e[s]),r.push(t[++s]);return new Q(r)}I._=Ls;var nr=new Q("+");function Hs(t,...e){let r=[We(t[0])],s=0;for(;s<e.length;)r.push(nr),or(r,e[s]),r.push(nr,We(t[++s]));return $a(r),new Q(r)}I.str=Hs;function or(t,e){e instanceof Q?t.push(...e._items):e instanceof we?t.push(e):t.push(ba(e))}I.addCodeArg=or;function $a(t){let e=1;for(;e<t.length-1;){if(t[e]===nr){let r=va(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function va(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof we||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof we))return`"${t}${e.slice(1)}`}function wa(t,e){return e.emptyStr()?t:t.emptyStr()?e:Hs`${t}${e}`}I.strConcat=wa;function ba(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:We(Array.isArray(t)?t.join(","):t)}function Ea(t){return new Q(We(t))}I.stringify=Ea;function We(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}I.safeStringify=We;function Sa(t){return typeof t=="string"&&I.IDENTIFIER.test(t)?new Q(`.${t}`):Ls`[${t}]`}I.getProperty=Sa;function Pa(t){if(typeof t=="string"&&I.IDENTIFIER.test(t))return new Q(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}I.getEsmExportName=Pa;function Na(t){return new Q(t.toString())}I.regexpCode=Na});var cr=g(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.ValueScope=G.ValueScopeName=G.Scope=G.varKinds=G.UsedValueState=void 0;var H=Qe(),ar=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},wt;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(wt||(G.UsedValueState=wt={}));G.varKinds={const:new H.Name("const"),let:new H.Name("let"),var:new H.Name("var")};var bt=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof H.Name?e:this.name(e)}name(e){return new H.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,s;if(!((s=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||s===void 0)&&s.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};G.Scope=bt;var Et=class extends H.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:s}){this.value=e,this.scopePath=(0,H._)`.${new H.Name(r)}[${s}]`}};G.ValueScopeName=Et;var ka=(0,H._)`\n`,ir=class extends bt{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?ka:H.nil}}get(){return this._scope}name(e){return new Et(e,this._newName(e))}value(e,r){var s;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let n=this.toName(e),{prefix:o}=n,a=(s=r.key)!==null&&s!==void 0?s:r.ref,i=this._values[o];if(i){let u=i.get(a);if(u)return u}else i=this._values[o]=new Map;i.set(a,n);let c=this._scope[o]||(this._scope[o]=[]),l=c.length;return c[l]=r.ref,n.setValue(r,{property:o,itemIndex:l}),n}getValue(e,r){let s=this._values[e];if(s)return s.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,s=>{if(s.scopePath===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return(0,H._)`${e}${s.scopePath}`})}scopeCode(e=this._values,r,s){return this._reduceValues(e,n=>{if(n.value===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return n.value.code},r,s)}_reduceValues(e,r,s={},n){let o=H.nil;for(let a in e){let i=e[a];if(!i)continue;let c=s[a]=s[a]||new Map;i.forEach(l=>{if(c.has(l))return;c.set(l,wt.Started);let u=r(l);if(u){let d=this.opts.es5?G.varKinds.var:G.varKinds.const;o=(0,H._)`${o}${d} ${l} = ${u};${this.opts._n}`}else if(u=n?.(l))o=(0,H._)`${o}${u}${this.opts._n}`;else throw new ar(l);c.set(l,wt.Completed)})}return o}};G.ValueScope=ir});var S=g(E=>{"use strict";Object.defineProperty(E,"__esModule",{value:!0});E.or=E.and=E.not=E.CodeGen=E.operators=E.varKinds=E.ValueScopeName=E.ValueScope=E.Scope=E.Name=E.regexpCode=E.stringify=E.getProperty=E.nil=E.strConcat=E.str=E._=void 0;var k=Qe(),Z=cr(),pe=Qe();Object.defineProperty(E,"_",{enumerable:!0,get:function(){return pe._}});Object.defineProperty(E,"str",{enumerable:!0,get:function(){return pe.str}});Object.defineProperty(E,"strConcat",{enumerable:!0,get:function(){return pe.strConcat}});Object.defineProperty(E,"nil",{enumerable:!0,get:function(){return pe.nil}});Object.defineProperty(E,"getProperty",{enumerable:!0,get:function(){return pe.getProperty}});Object.defineProperty(E,"stringify",{enumerable:!0,get:function(){return pe.stringify}});Object.defineProperty(E,"regexpCode",{enumerable:!0,get:function(){return pe.regexpCode}});Object.defineProperty(E,"Name",{enumerable:!0,get:function(){return pe.Name}});var kt=cr();Object.defineProperty(E,"Scope",{enumerable:!0,get:function(){return kt.Scope}});Object.defineProperty(E,"ValueScope",{enumerable:!0,get:function(){return kt.ValueScope}});Object.defineProperty(E,"ValueScopeName",{enumerable:!0,get:function(){return kt.ValueScopeName}});Object.defineProperty(E,"varKinds",{enumerable:!0,get:function(){return kt.varKinds}});E.operators={GT:new k._Code(">"),GTE:new k._Code(">="),LT:new k._Code("<"),LTE:new k._Code("<="),EQ:new k._Code("==="),NEQ:new k._Code("!=="),NOT:new k._Code("!"),OR:new k._Code("||"),AND:new k._Code("&&"),ADD:new k._Code("+")};var ue=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},ur=class extends ue{constructor(e,r,s){super(),this.varKind=e,this.name=r,this.rhs=s}render({es5:e,_n:r}){let s=e?Z.varKinds.var:this.varKind,n=this.rhs===void 0?"":` = ${this.rhs}`;return`${s} ${this.name}${n};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=Re(this.rhs,e,r)),this}get names(){return this.rhs instanceof k._CodeOrName?this.rhs.names:{}}},St=class extends ue{constructor(e,r,s){super(),this.lhs=e,this.rhs=r,this.sideEffects=s}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof k.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=Re(this.rhs,e,r),this}get names(){let e=this.lhs instanceof k.Name?{}:{...this.lhs.names};return Nt(e,this.rhs)}},lr=class extends St{constructor(e,r,s,n){super(e,s,n),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},dr=class extends ue{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},fr=class extends ue{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},hr=class extends ue{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},pr=class extends ue{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=Re(this.code,e,r),this}get names(){return this.code instanceof k._CodeOrName?this.code.names:{}}},Be=class extends ue{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,s)=>r+s.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let s=e[r].optimizeNodes();Array.isArray(s)?e.splice(r,1,...s):s?e[r]=s:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:s}=this,n=s.length;for(;n--;){let o=s[n];o.optimizeNames(e,r)||(qa(e,o.names),s.splice(n,1))}return s.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>Se(e,r.names),{})}},le=class extends Be{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},mr=class extends Be{},Ie=class extends le{};Ie.kind="else";var be=class t extends le{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let s=r.optimizeNodes();r=this.else=Array.isArray(s)?new Ie(s):s}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(Gs(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var s;if(this.else=(s=this.else)===null||s===void 0?void 0:s.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=Re(this.condition,e,r),this}get names(){let e=super.names;return Nt(e,this.condition),this.else&&Se(e,this.else.names),e}};be.kind="if";var Ee=class extends le{};Ee.kind="for";var yr=class extends Ee{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=Re(this.iteration,e,r),this}get names(){return Se(super.names,this.iteration.names)}},_r=class extends Ee{constructor(e,r,s,n){super(),this.varKind=e,this.name=r,this.from=s,this.to=n}render(e){let r=e.es5?Z.varKinds.var:this.varKind,{name:s,from:n,to:o}=this;return`for(${r} ${s}=${n}; ${s}<${o}; ${s}++)`+super.render(e)}get names(){let e=Nt(super.names,this.from);return Nt(e,this.to)}},Pt=class extends Ee{constructor(e,r,s,n){super(),this.loop=e,this.varKind=r,this.name=s,this.iterable=n}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=Re(this.iterable,e,r),this}get names(){return Se(super.names,this.iterable.names)}},Xe=class extends le{constructor(e,r,s){super(),this.name=e,this.args=r,this.async=s}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};Xe.kind="func";var Ye=class extends Be{render(e){return"return "+super.render(e)}};Ye.kind="return";var gr=class extends le{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var s,n;return super.optimizeNames(e,r),(s=this.catch)===null||s===void 0||s.optimizeNames(e,r),(n=this.finally)===null||n===void 0||n.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&Se(e,this.catch.names),this.finally&&Se(e,this.finally.names),e}},Ze=class extends le{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};Ze.kind="catch";var et=class extends le{render(e){return"finally"+super.render(e)}};et.kind="finally";var $r=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
2
- `:""},this._extScope=e,this._scope=new Z.Scope({parent:e}),this._nodes=[new mr]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let s=this._extScope.value(e,r);return(this._values[s.prefix]||(this._values[s.prefix]=new Set)).add(s),s}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,s,n){let o=this._scope.toName(r);return s!==void 0&&n&&(this._constants[o.str]=s),this._leafNode(new ur(e,o,s)),o}const(e,r,s){return this._def(Z.varKinds.const,e,r,s)}let(e,r,s){return this._def(Z.varKinds.let,e,r,s)}var(e,r,s){return this._def(Z.varKinds.var,e,r,s)}assign(e,r,s){return this._leafNode(new St(e,r,s))}add(e,r){return this._leafNode(new lr(e,E.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==k.nil&&this._leafNode(new pr(e)),this}object(...e){let r=["{"];for(let[s,n]of e)r.length>1&&r.push(","),r.push(s),(s!==n||this.opts.es5)&&(r.push(":"),(0,k.addCodeArg)(r,n));return r.push("}"),new k._Code(r)}if(e,r,s){if(this._blockNode(new be(e)),r&&s)this.code(r).else().code(s).endIf();else if(r)this.code(r).endIf();else if(s)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new be(e))}else(){return this._elseNode(new Ie)}endIf(){return this._endBlockNode(be,Ie)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new yr(e),r)}forRange(e,r,s,n,o=this.opts.es5?Z.varKinds.var:Z.varKinds.let){let a=this._scope.toName(e);return this._for(new _r(o,a,r,s),()=>n(a))}forOf(e,r,s,n=Z.varKinds.const){let o=this._scope.toName(e);if(this.opts.es5){let a=r instanceof k.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,k._)`${a}.length`,i=>{this.var(o,(0,k._)`${a}[${i}]`),s(o)})}return this._for(new Pt("of",n,o,r),()=>s(o))}forIn(e,r,s,n=this.opts.es5?Z.varKinds.var:Z.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,k._)`Object.keys(${r})`,s);let o=this._scope.toName(e);return this._for(new Pt("in",n,o,r),()=>s(o))}endFor(){return this._endBlockNode(Ee)}label(e){return this._leafNode(new dr(e))}break(e){return this._leafNode(new fr(e))}return(e){let r=new Ye;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Ye)}try(e,r,s){if(!r&&!s)throw new Error('CodeGen: "try" without "catch" and "finally"');let n=new gr;if(this._blockNode(n),this.code(e),r){let o=this.name("e");this._currNode=n.catch=new Ze(o),r(o)}return s&&(this._currNode=n.finally=new et,this.code(s)),this._endBlockNode(Ze,et)}throw(e){return this._leafNode(new hr(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let s=this._nodes.length-r;if(s<0||e!==void 0&&s!==e)throw new Error(`CodeGen: wrong number of nodes: ${s} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=k.nil,s,n){return this._blockNode(new Xe(e,r,s)),n&&this.code(n).endFunc(),this}endFunc(){return this._endBlockNode(Xe)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let s=this._currNode;if(s instanceof e||r&&s instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof be))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};E.CodeGen=$r;function Se(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function Nt(t,e){return e instanceof k._CodeOrName?Se(t,e.names):t}function Re(t,e,r){if(t instanceof k.Name)return s(t);if(!n(t))return t;return new k._Code(t._items.reduce((o,a)=>(a instanceof k.Name&&(a=s(a)),a instanceof k._Code?o.push(...a._items):o.push(a),o),[]));function s(o){let a=r[o.str];return a===void 0||e[o.str]!==1?o:(delete e[o.str],a)}function n(o){return o instanceof k._Code&&o._items.some(a=>a instanceof k.Name&&e[a.str]===1&&r[a.str]!==void 0)}}function qa(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function Gs(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,k._)`!${vr(t)}`}E.not=Gs;var ja=Js(E.operators.AND);function Oa(...t){return t.reduce(ja)}E.and=Oa;var Ia=Js(E.operators.OR);function Ra(...t){return t.reduce(Ia)}E.or=Ra;function Js(t){return(e,r)=>e===k.nil?r:r===k.nil?e:(0,k._)`${vr(e)} ${t} ${vr(r)}`}function vr(t){return t instanceof k.Name?t:(0,k._)`(${t})`}});var j=g(P=>{"use strict";Object.defineProperty(P,"__esModule",{value:!0});P.checkStrictMode=P.getErrorPath=P.Type=P.useFunc=P.setEvaluated=P.evaluatedPropsToName=P.mergeEvaluated=P.eachItem=P.unescapeJsonPointer=P.escapeJsonPointer=P.escapeFragment=P.unescapeFragment=P.schemaRefOrVal=P.schemaHasRulesButRef=P.schemaHasRules=P.checkUnknownRules=P.alwaysValidSchema=P.toHash=void 0;var T=S(),Ta=Qe();function Ca(t){let e={};for(let r of t)e[r]=!0;return e}P.toHash=Ca;function Ma(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(Bs(t,e),!Xs(e,t.self.RULES.all))}P.alwaysValidSchema=Ma;function Bs(t,e=t.schema){let{opts:r,self:s}=t;if(!r.strictSchema||typeof e=="boolean")return;let n=s.RULES.keywords;for(let o in e)n[o]||en(t,`unknown keyword: "${o}"`)}P.checkUnknownRules=Bs;function Xs(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}P.schemaHasRules=Xs;function Aa(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}P.schemaHasRulesButRef=Aa;function Da({topSchemaRef:t,schemaPath:e},r,s,n){if(!n){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,T._)`${r}`}return(0,T._)`${t}${e}${(0,T.getProperty)(s)}`}P.schemaRefOrVal=Da;function Va(t){return Ys(decodeURIComponent(t))}P.unescapeFragment=Va;function za(t){return encodeURIComponent(br(t))}P.escapeFragment=za;function br(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}P.escapeJsonPointer=br;function Ys(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}P.unescapeJsonPointer=Ys;function Ua(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}P.eachItem=Ua;function Ws({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:s}){return(n,o,a,i)=>{let c=a===void 0?o:a instanceof T.Name?(o instanceof T.Name?t(n,o,a):e(n,o,a),a):o instanceof T.Name?(e(n,a,o),o):r(o,a);return i===T.Name&&!(c instanceof T.Name)?s(n,c):c}}P.mergeEvaluated={props:Ws({mergeNames:(t,e,r)=>t.if((0,T._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,T._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,T._)`${r} || {}`).code((0,T._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,T._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,T._)`${r} || {}`),Er(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:Zs}),items:Ws({mergeNames:(t,e,r)=>t.if((0,T._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,T._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,T._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,T._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function Zs(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,T._)`{}`);return e!==void 0&&Er(t,r,e),r}P.evaluatedPropsToName=Zs;function Er(t,e,r){Object.keys(r).forEach(s=>t.assign((0,T._)`${e}${(0,T.getProperty)(s)}`,!0))}P.setEvaluated=Er;var Qs={};function Ka(t,e){return t.scopeValue("func",{ref:e,code:Qs[e.code]||(Qs[e.code]=new Ta._Code(e.code))})}P.useFunc=Ka;var wr;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(wr||(P.Type=wr={}));function Fa(t,e,r){if(t instanceof T.Name){let s=e===wr.Num;return r?s?(0,T._)`"[" + ${t} + "]"`:(0,T._)`"['" + ${t} + "']"`:s?(0,T._)`"/" + ${t}`:(0,T._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,T.getProperty)(t).toString():"/"+br(t)}P.getErrorPath=Fa;function en(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}P.checkStrictMode=en});var de=g(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});var U=S(),xa={data:new U.Name("data"),valCxt:new U.Name("valCxt"),instancePath:new U.Name("instancePath"),parentData:new U.Name("parentData"),parentDataProperty:new U.Name("parentDataProperty"),rootData:new U.Name("rootData"),dynamicAnchors:new U.Name("dynamicAnchors"),vErrors:new U.Name("vErrors"),errors:new U.Name("errors"),this:new U.Name("this"),self:new U.Name("self"),scope:new U.Name("scope"),json:new U.Name("json"),jsonPos:new U.Name("jsonPos"),jsonLen:new U.Name("jsonLen"),jsonPart:new U.Name("jsonPart")};Sr.default=xa});var tt=g(K=>{"use strict";Object.defineProperty(K,"__esModule",{value:!0});K.extendErrors=K.resetErrorsCount=K.reportExtraError=K.reportError=K.keyword$DataError=K.keywordError=void 0;var O=S(),qt=j(),x=de();K.keywordError={message:({keyword:t})=>(0,O.str)`must pass "${t}" keyword validation`};K.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,O.str)`"${t}" keyword must be ${e} ($data)`:(0,O.str)`"${t}" keyword is invalid ($data)`};function La(t,e=K.keywordError,r,s){let{it:n}=t,{gen:o,compositeRule:a,allErrors:i}=n,c=sn(t,e,r);s??(a||i)?tn(o,c):rn(n,(0,O._)`[${c}]`)}K.reportError=La;function Ha(t,e=K.keywordError,r){let{it:s}=t,{gen:n,compositeRule:o,allErrors:a}=s,i=sn(t,e,r);tn(n,i),o||a||rn(s,x.default.vErrors)}K.reportExtraError=Ha;function Ga(t,e){t.assign(x.default.errors,e),t.if((0,O._)`${x.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,O._)`${x.default.vErrors}.length`,e),()=>t.assign(x.default.vErrors,null)))}K.resetErrorsCount=Ga;function Ja({gen:t,keyword:e,schemaValue:r,data:s,errsCount:n,it:o}){if(n===void 0)throw new Error("ajv implementation error");let a=t.name("err");t.forRange("i",n,x.default.errors,i=>{t.const(a,(0,O._)`${x.default.vErrors}[${i}]`),t.if((0,O._)`${a}.instancePath === undefined`,()=>t.assign((0,O._)`${a}.instancePath`,(0,O.strConcat)(x.default.instancePath,o.errorPath))),t.assign((0,O._)`${a}.schemaPath`,(0,O.str)`${o.errSchemaPath}/${e}`),o.opts.verbose&&(t.assign((0,O._)`${a}.schema`,r),t.assign((0,O._)`${a}.data`,s))})}K.extendErrors=Ja;function tn(t,e){let r=t.const("err",e);t.if((0,O._)`${x.default.vErrors} === null`,()=>t.assign(x.default.vErrors,(0,O._)`[${r}]`),(0,O._)`${x.default.vErrors}.push(${r})`),t.code((0,O._)`${x.default.errors}++`)}function rn(t,e){let{gen:r,validateName:s,schemaEnv:n}=t;n.$async?r.throw((0,O._)`new ${t.ValidationError}(${e})`):(r.assign((0,O._)`${s}.errors`,e),r.return(!1))}var Pe={keyword:new O.Name("keyword"),schemaPath:new O.Name("schemaPath"),params:new O.Name("params"),propertyName:new O.Name("propertyName"),message:new O.Name("message"),schema:new O.Name("schema"),parentSchema:new O.Name("parentSchema")};function sn(t,e,r){let{createErrors:s}=t.it;return s===!1?(0,O._)`{}`:Wa(t,e,r)}function Wa(t,e,r={}){let{gen:s,it:n}=t,o=[Qa(n,r),Ba(t,r)];return Xa(t,e,o),s.object(...o)}function Qa({errorPath:t},{instancePath:e}){let r=e?(0,O.str)`${t}${(0,qt.getErrorPath)(e,qt.Type.Str)}`:t;return[x.default.instancePath,(0,O.strConcat)(x.default.instancePath,r)]}function Ba({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:s}){let n=s?e:(0,O.str)`${e}/${t}`;return r&&(n=(0,O.str)`${n}${(0,qt.getErrorPath)(r,qt.Type.Str)}`),[Pe.schemaPath,n]}function Xa(t,{params:e,message:r},s){let{keyword:n,data:o,schemaValue:a,it:i}=t,{opts:c,propertyName:l,topSchemaRef:u,schemaPath:d}=i;s.push([Pe.keyword,n],[Pe.params,typeof e=="function"?e(t):e||(0,O._)`{}`]),c.messages&&s.push([Pe.message,typeof r=="function"?r(t):r]),c.verbose&&s.push([Pe.schema,a],[Pe.parentSchema,(0,O._)`${u}${d}`],[x.default.data,o]),l&&s.push([Pe.propertyName,l])}});var on=g(Te=>{"use strict";Object.defineProperty(Te,"__esModule",{value:!0});Te.boolOrEmptySchema=Te.topBoolOrEmptySchema=void 0;var Ya=tt(),Za=S(),ei=de(),ti={message:"boolean schema is false"};function ri(t){let{gen:e,schema:r,validateName:s}=t;r===!1?nn(t,!1):typeof r=="object"&&r.$async===!0?e.return(ei.default.data):(e.assign((0,Za._)`${s}.errors`,null),e.return(!0))}Te.topBoolOrEmptySchema=ri;function si(t,e){let{gen:r,schema:s}=t;s===!1?(r.var(e,!1),nn(t)):r.var(e,!0)}Te.boolOrEmptySchema=si;function nn(t,e){let{gen:r,data:s}=t,n={gen:r,keyword:"false schema",data:s,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,Ya.reportError)(n,ti,void 0,e)}});var Pr=g(Ce=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});Ce.getRules=Ce.isJSONType=void 0;var ni=["string","number","integer","boolean","null","object","array"],oi=new Set(ni);function ai(t){return typeof t=="string"&&oi.has(t)}Ce.isJSONType=ai;function ii(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}Ce.getRules=ii});var Nr=g(me=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.shouldUseRule=me.shouldUseGroup=me.schemaHasRulesForType=void 0;function ci({schema:t,self:e},r){let s=e.RULES.types[r];return s&&s!==!0&&an(t,s)}me.schemaHasRulesForType=ci;function an(t,e){return e.rules.some(r=>cn(t,r))}me.shouldUseGroup=an;function cn(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(s=>t[s]!==void 0))}me.shouldUseRule=cn});var rt=g(F=>{"use strict";Object.defineProperty(F,"__esModule",{value:!0});F.reportTypeError=F.checkDataTypes=F.checkDataType=F.coerceAndCheckDataType=F.getJSONTypes=F.getSchemaTypes=F.DataType=void 0;var ui=Pr(),li=Nr(),di=tt(),b=S(),un=j(),Me;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(Me||(F.DataType=Me={}));function fi(t){let e=ln(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}F.getSchemaTypes=fi;function ln(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(ui.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}F.getJSONTypes=ln;function hi(t,e){let{gen:r,data:s,opts:n}=t,o=pi(e,n.coerceTypes),a=e.length>0&&!(o.length===0&&e.length===1&&(0,li.schemaHasRulesForType)(t,e[0]));if(a){let i=qr(e,s,n.strictNumbers,Me.Wrong);r.if(i,()=>{o.length?mi(t,e,o):jr(t)})}return a}F.coerceAndCheckDataType=hi;var dn=new Set(["string","number","integer","boolean","null"]);function pi(t,e){return e?t.filter(r=>dn.has(r)||e==="array"&&r==="array"):[]}function mi(t,e,r){let{gen:s,data:n,opts:o}=t,a=s.let("dataType",(0,b._)`typeof ${n}`),i=s.let("coerced",(0,b._)`undefined`);o.coerceTypes==="array"&&s.if((0,b._)`${a} == 'object' && Array.isArray(${n}) && ${n}.length == 1`,()=>s.assign(n,(0,b._)`${n}[0]`).assign(a,(0,b._)`typeof ${n}`).if(qr(e,n,o.strictNumbers),()=>s.assign(i,n))),s.if((0,b._)`${i} !== undefined`);for(let l of r)(dn.has(l)||l==="array"&&o.coerceTypes==="array")&&c(l);s.else(),jr(t),s.endIf(),s.if((0,b._)`${i} !== undefined`,()=>{s.assign(n,i),yi(t,i)});function c(l){switch(l){case"string":s.elseIf((0,b._)`${a} == "number" || ${a} == "boolean"`).assign(i,(0,b._)`"" + ${n}`).elseIf((0,b._)`${n} === null`).assign(i,(0,b._)`""`);return;case"number":s.elseIf((0,b._)`${a} == "boolean" || ${n} === null
3
- || (${a} == "string" && ${n} && ${n} == +${n})`).assign(i,(0,b._)`+${n}`);return;case"integer":s.elseIf((0,b._)`${a} === "boolean" || ${n} === null
4
- || (${a} === "string" && ${n} && ${n} == +${n} && !(${n} % 1))`).assign(i,(0,b._)`+${n}`);return;case"boolean":s.elseIf((0,b._)`${n} === "false" || ${n} === 0 || ${n} === null`).assign(i,!1).elseIf((0,b._)`${n} === "true" || ${n} === 1`).assign(i,!0);return;case"null":s.elseIf((0,b._)`${n} === "" || ${n} === 0 || ${n} === false`),s.assign(i,null);return;case"array":s.elseIf((0,b._)`${a} === "string" || ${a} === "number"
5
- || ${a} === "boolean" || ${n} === null`).assign(i,(0,b._)`[${n}]`)}}}function yi({gen:t,parentData:e,parentDataProperty:r},s){t.if((0,b._)`${e} !== undefined`,()=>t.assign((0,b._)`${e}[${r}]`,s))}function kr(t,e,r,s=Me.Correct){let n=s===Me.Correct?b.operators.EQ:b.operators.NEQ,o;switch(t){case"null":return(0,b._)`${e} ${n} null`;case"array":o=(0,b._)`Array.isArray(${e})`;break;case"object":o=(0,b._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":o=a((0,b._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":o=a();break;default:return(0,b._)`typeof ${e} ${n} ${t}`}return s===Me.Correct?o:(0,b.not)(o);function a(i=b.nil){return(0,b.and)((0,b._)`typeof ${e} == "number"`,i,r?(0,b._)`isFinite(${e})`:b.nil)}}F.checkDataType=kr;function qr(t,e,r,s){if(t.length===1)return kr(t[0],e,r,s);let n,o=(0,un.toHash)(t);if(o.array&&o.object){let a=(0,b._)`typeof ${e} != "object"`;n=o.null?a:(0,b._)`!${e} || ${a}`,delete o.null,delete o.array,delete o.object}else n=b.nil;o.number&&delete o.integer;for(let a in o)n=(0,b.and)(n,kr(a,e,r,s));return n}F.checkDataTypes=qr;var _i={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,b._)`{type: ${t}}`:(0,b._)`{type: ${e}}`};function jr(t){let e=gi(t);(0,di.reportError)(e,_i)}F.reportTypeError=jr;function gi(t){let{gen:e,data:r,schema:s}=t,n=(0,un.schemaRefOrVal)(t,s,"type");return{gen:e,keyword:"type",data:r,schema:s.type,schemaCode:n,schemaValue:n,parentSchema:s,params:{},it:t}}});var hn=g(jt=>{"use strict";Object.defineProperty(jt,"__esModule",{value:!0});jt.assignDefaults=void 0;var Ae=S(),$i=j();function vi(t,e){let{properties:r,items:s}=t.schema;if(e==="object"&&r)for(let n in r)fn(t,n,r[n].default);else e==="array"&&Array.isArray(s)&&s.forEach((n,o)=>fn(t,o,n.default))}jt.assignDefaults=vi;function fn(t,e,r){let{gen:s,compositeRule:n,data:o,opts:a}=t;if(r===void 0)return;let i=(0,Ae._)`${o}${(0,Ae.getProperty)(e)}`;if(n){(0,$i.checkStrictMode)(t,`default is ignored for: ${i}`);return}let c=(0,Ae._)`${i} === undefined`;a.useDefaults==="empty"&&(c=(0,Ae._)`${c} || ${i} === null || ${i} === ""`),s.if(c,(0,Ae._)`${i} = ${(0,Ae.stringify)(r)}`)}});var B=g(R=>{"use strict";Object.defineProperty(R,"__esModule",{value:!0});R.validateUnion=R.validateArray=R.usePattern=R.callValidateCode=R.schemaProperties=R.allSchemaProperties=R.noPropertyInData=R.propertyInData=R.isOwnProperty=R.hasPropFunc=R.reportMissingProp=R.checkMissingProp=R.checkReportMissingProp=void 0;var M=S(),Or=j(),ye=de(),wi=j();function bi(t,e){let{gen:r,data:s,it:n}=t;r.if(Rr(r,s,e,n.opts.ownProperties),()=>{t.setParams({missingProperty:(0,M._)`${e}`},!0),t.error()})}R.checkReportMissingProp=bi;function Ei({gen:t,data:e,it:{opts:r}},s,n){return(0,M.or)(...s.map(o=>(0,M.and)(Rr(t,e,o,r.ownProperties),(0,M._)`${n} = ${o}`)))}R.checkMissingProp=Ei;function Si(t,e){t.setParams({missingProperty:e},!0),t.error()}R.reportMissingProp=Si;function pn(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,M._)`Object.prototype.hasOwnProperty`})}R.hasPropFunc=pn;function Ir(t,e,r){return(0,M._)`${pn(t)}.call(${e}, ${r})`}R.isOwnProperty=Ir;function Pi(t,e,r,s){let n=(0,M._)`${e}${(0,M.getProperty)(r)} !== undefined`;return s?(0,M._)`${n} && ${Ir(t,e,r)}`:n}R.propertyInData=Pi;function Rr(t,e,r,s){let n=(0,M._)`${e}${(0,M.getProperty)(r)} === undefined`;return s?(0,M.or)(n,(0,M.not)(Ir(t,e,r))):n}R.noPropertyInData=Rr;function mn(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}R.allSchemaProperties=mn;function Ni(t,e){return mn(e).filter(r=>!(0,Or.alwaysValidSchema)(t,e[r]))}R.schemaProperties=Ni;function ki({schemaCode:t,data:e,it:{gen:r,topSchemaRef:s,schemaPath:n,errorPath:o},it:a},i,c,l){let u=l?(0,M._)`${t}, ${e}, ${s}${n}`:e,d=[[ye.default.instancePath,(0,M.strConcat)(ye.default.instancePath,o)],[ye.default.parentData,a.parentData],[ye.default.parentDataProperty,a.parentDataProperty],[ye.default.rootData,ye.default.rootData]];a.opts.dynamicRef&&d.push([ye.default.dynamicAnchors,ye.default.dynamicAnchors]);let y=(0,M._)`${u}, ${r.object(...d)}`;return c!==M.nil?(0,M._)`${i}.call(${c}, ${y})`:(0,M._)`${i}(${y})`}R.callValidateCode=ki;var qi=(0,M._)`new RegExp`;function ji({gen:t,it:{opts:e}},r){let s=e.unicodeRegExp?"u":"",{regExp:n}=e.code,o=n(r,s);return t.scopeValue("pattern",{key:o.toString(),ref:o,code:(0,M._)`${n.code==="new RegExp"?qi:(0,wi.useFunc)(t,n)}(${r}, ${s})`})}R.usePattern=ji;function Oi(t){let{gen:e,data:r,keyword:s,it:n}=t,o=e.name("valid");if(n.allErrors){let i=e.let("valid",!0);return a(()=>e.assign(i,!1)),i}return e.var(o,!0),a(()=>e.break()),o;function a(i){let c=e.const("len",(0,M._)`${r}.length`);e.forRange("i",0,c,l=>{t.subschema({keyword:s,dataProp:l,dataPropType:Or.Type.Num},o),e.if((0,M.not)(o),i)})}}R.validateArray=Oi;function Ii(t){let{gen:e,schema:r,keyword:s,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,Or.alwaysValidSchema)(n,c))&&!n.opts.unevaluated)return;let a=e.let("valid",!1),i=e.name("_valid");e.block(()=>r.forEach((c,l)=>{let u=t.subschema({keyword:s,schemaProp:l,compositeRule:!0},i);e.assign(a,(0,M._)`${a} || ${i}`),t.mergeValidEvaluated(u,i)||e.if((0,M.not)(a))})),t.result(a,()=>t.reset(),()=>t.error(!0))}R.validateUnion=Ii});var gn=g(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});ne.validateKeywordUsage=ne.validSchemaType=ne.funcKeywordCode=ne.macroKeywordCode=void 0;var L=S(),Ne=de(),Ri=B(),Ti=tt();function Ci(t,e){let{gen:r,keyword:s,schema:n,parentSchema:o,it:a}=t,i=e.macro.call(a.self,n,o,a),c=_n(r,s,i);a.opts.validateSchema!==!1&&a.self.validateSchema(i,!0);let l=r.name("valid");t.subschema({schema:i,schemaPath:L.nil,errSchemaPath:`${a.errSchemaPath}/${s}`,topSchemaRef:c,compositeRule:!0},l),t.pass(l,()=>t.error(!0))}ne.macroKeywordCode=Ci;function Mi(t,e){var r;let{gen:s,keyword:n,schema:o,parentSchema:a,$data:i,it:c}=t;Di(c,e);let l=!i&&e.compile?e.compile.call(c.self,o,a,c):e.validate,u=_n(s,n,l),d=s.let("valid");t.block$data(d,y),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function y(){if(e.errors===!1)f(),e.modifying&&yn(t),p(()=>t.error());else{let _=e.async?m():h();e.modifying&&yn(t),p(()=>Ai(t,_))}}function m(){let _=s.let("ruleErrs",null);return s.try(()=>f((0,L._)`await `),q=>s.assign(d,!1).if((0,L._)`${q} instanceof ${c.ValidationError}`,()=>s.assign(_,(0,L._)`${q}.errors`),()=>s.throw(q))),_}function h(){let _=(0,L._)`${u}.errors`;return s.assign(_,null),f(L.nil),_}function f(_=e.async?(0,L._)`await `:L.nil){let q=c.opts.passContext?Ne.default.this:Ne.default.self,N=!("compile"in e&&!i||e.schema===!1);s.assign(d,(0,L._)`${_}${(0,Ri.callValidateCode)(t,u,q,N)}`,e.modifying)}function p(_){var q;s.if((0,L.not)((q=e.valid)!==null&&q!==void 0?q:d),_)}}ne.funcKeywordCode=Mi;function yn(t){let{gen:e,data:r,it:s}=t;e.if(s.parentData,()=>e.assign(r,(0,L._)`${s.parentData}[${s.parentDataProperty}]`))}function Ai(t,e){let{gen:r}=t;r.if((0,L._)`Array.isArray(${e})`,()=>{r.assign(Ne.default.vErrors,(0,L._)`${Ne.default.vErrors} === null ? ${e} : ${Ne.default.vErrors}.concat(${e})`).assign(Ne.default.errors,(0,L._)`${Ne.default.vErrors}.length`),(0,Ti.extendErrors)(t)},()=>t.error())}function Di({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function _n(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,L.stringify)(r)})}function Vi(t,e,r=!1){return!e.length||e.some(s=>s==="array"?Array.isArray(t):s==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==s||r&&typeof t>"u")}ne.validSchemaType=Vi;function zi({schema:t,opts:e,self:r,errSchemaPath:s},n,o){if(Array.isArray(n.keyword)?!n.keyword.includes(o):n.keyword!==o)throw new Error("ajv implementation error");let a=n.dependencies;if(a?.some(i=>!Object.prototype.hasOwnProperty.call(t,i)))throw new Error(`parent schema must have dependencies of ${o}: ${a.join(",")}`);if(n.validateSchema&&!n.validateSchema(t[o])){let c=`keyword "${o}" value is invalid at path "${s}": `+r.errorsText(n.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}ne.validateKeywordUsage=zi});var vn=g(_e=>{"use strict";Object.defineProperty(_e,"__esModule",{value:!0});_e.extendSubschemaMode=_e.extendSubschemaData=_e.getSubschema=void 0;var oe=S(),$n=j();function Ui(t,{keyword:e,schemaProp:r,schema:s,schemaPath:n,errSchemaPath:o,topSchemaRef:a}){if(e!==void 0&&s!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let i=t.schema[e];return r===void 0?{schema:i,schemaPath:(0,oe._)`${t.schemaPath}${(0,oe.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:i[r],schemaPath:(0,oe._)`${t.schemaPath}${(0,oe.getProperty)(e)}${(0,oe.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,$n.escapeFragment)(r)}`}}if(s!==void 0){if(n===void 0||o===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:s,schemaPath:n,topSchemaRef:a,errSchemaPath:o}}throw new Error('either "keyword" or "schema" must be passed')}_e.getSubschema=Ui;function Ki(t,e,{dataProp:r,dataPropType:s,data:n,dataTypes:o,propertyName:a}){if(n!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:i}=e;if(r!==void 0){let{errorPath:l,dataPathArr:u,opts:d}=e,y=i.let("data",(0,oe._)`${e.data}${(0,oe.getProperty)(r)}`,!0);c(y),t.errorPath=(0,oe.str)`${l}${(0,$n.getErrorPath)(r,s,d.jsPropertySyntax)}`,t.parentDataProperty=(0,oe._)`${r}`,t.dataPathArr=[...u,t.parentDataProperty]}if(n!==void 0){let l=n instanceof oe.Name?n:i.let("data",n,!0);c(l),a!==void 0&&(t.propertyName=a)}o&&(t.dataTypes=o);function c(l){t.data=l,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,l]}}_e.extendSubschemaData=Ki;function Fi(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:s,createErrors:n,allErrors:o}){s!==void 0&&(t.compositeRule=s),n!==void 0&&(t.createErrors=n),o!==void 0&&(t.allErrors=o),t.jtdDiscriminator=e,t.jtdMetadata=r}_e.extendSubschemaMode=Fi});var Tr=g((af,wn)=>{"use strict";wn.exports=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var s,n,o;if(Array.isArray(e)){if(s=e.length,s!=r.length)return!1;for(n=s;n--!==0;)if(!t(e[n],r[n]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(o=Object.keys(e),s=o.length,s!==Object.keys(r).length)return!1;for(n=s;n--!==0;)if(!Object.prototype.hasOwnProperty.call(r,o[n]))return!1;for(n=s;n--!==0;){var a=o[n];if(!t(e[a],r[a]))return!1}return!0}return e!==e&&r!==r}});var En=g((cf,bn)=>{"use strict";var ge=bn.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var s=typeof r=="function"?r:r.pre||function(){},n=r.post||function(){};Ot(e,s,n,t,"",t)};ge.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};ge.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};ge.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};ge.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function Ot(t,e,r,s,n,o,a,i,c,l){if(s&&typeof s=="object"&&!Array.isArray(s)){e(s,n,o,a,i,c,l);for(var u in s){var d=s[u];if(Array.isArray(d)){if(u in ge.arrayKeywords)for(var y=0;y<d.length;y++)Ot(t,e,r,d[y],n+"/"+u+"/"+y,o,n,u,s,y)}else if(u in ge.propsKeywords){if(d&&typeof d=="object")for(var m in d)Ot(t,e,r,d[m],n+"/"+u+"/"+xi(m),o,n,u,s,m)}else(u in ge.keywords||t.allKeys&&!(u in ge.skipKeywords))&&Ot(t,e,r,d,n+"/"+u,o,n,u,s)}r(s,n,o,a,i,c,l)}}function xi(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var st=g(J=>{"use strict";Object.defineProperty(J,"__esModule",{value:!0});J.getSchemaRefs=J.resolveUrl=J.normalizeId=J._getFullPath=J.getFullPath=J.inlineRef=void 0;var Li=j(),Hi=Tr(),Gi=En(),Ji=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Wi(t,e=!0){return typeof t=="boolean"?!0:e===!0?!Cr(t):e?Sn(t)<=e:!1}J.inlineRef=Wi;var Qi=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Cr(t){for(let e in t){if(Qi.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(Cr)||typeof r=="object"&&Cr(r))return!0}return!1}function Sn(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!Ji.has(r)&&(typeof t[r]=="object"&&(0,Li.eachItem)(t[r],s=>e+=Sn(s)),e===1/0))return 1/0}return e}function Pn(t,e="",r){r!==!1&&(e=De(e));let s=t.parse(e);return Nn(t,s)}J.getFullPath=Pn;function Nn(t,e){return t.serialize(e).split("#")[0]+"#"}J._getFullPath=Nn;var Bi=/#\/?$/;function De(t){return t?t.replace(Bi,""):""}J.normalizeId=De;function Xi(t,e,r){return r=De(r),t.resolve(e,r)}J.resolveUrl=Xi;var Yi=/^[a-z_][-a-z0-9._]*$/i;function Zi(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:s}=this.opts,n=De(t[r]||e),o={"":n},a=Pn(s,n,!1),i={},c=new Set;return Gi(t,{allKeys:!0},(d,y,m,h)=>{if(h===void 0)return;let f=a+y,p=o[h];typeof d[r]=="string"&&(p=_.call(this,d[r])),q.call(this,d.$anchor),q.call(this,d.$dynamicAnchor),o[y]=p;function _(N){let C=this.opts.uriResolver.resolve;if(N=De(p?C(p,N):N),c.has(N))throw u(N);c.add(N);let w=this.refs[N];return typeof w=="string"&&(w=this.refs[w]),typeof w=="object"?l(d,w.schema,N):N!==De(f)&&(N[0]==="#"?(l(d,i[N],N),i[N]=d):this.refs[N]=f),N}function q(N){if(typeof N=="string"){if(!Yi.test(N))throw new Error(`invalid anchor "${N}"`);_.call(this,`#${N}`)}}}),i;function l(d,y,m){if(y!==void 0&&!Hi(d,y))throw u(m)}function u(d){return new Error(`reference "${d}" resolves to more than one schema`)}}J.getSchemaRefs=Zi});var at=g($e=>{"use strict";Object.defineProperty($e,"__esModule",{value:!0});$e.getData=$e.KeywordCxt=$e.validateFunctionCode=void 0;var In=on(),kn=rt(),Ar=Nr(),It=rt(),ec=hn(),ot=gn(),Mr=vn(),$=S(),v=de(),tc=st(),fe=j(),nt=tt();function rc(t){if(Cn(t)&&(Mn(t),Tn(t))){oc(t);return}Rn(t,()=>(0,In.topBoolOrEmptySchema)(t))}$e.validateFunctionCode=rc;function Rn({gen:t,validateName:e,schema:r,schemaEnv:s,opts:n},o){n.code.es5?t.func(e,(0,$._)`${v.default.data}, ${v.default.valCxt}`,s.$async,()=>{t.code((0,$._)`"use strict"; ${qn(r,n)}`),nc(t,n),t.code(o)}):t.func(e,(0,$._)`${v.default.data}, ${sc(n)}`,s.$async,()=>t.code(qn(r,n)).code(o))}function sc(t){return(0,$._)`{${v.default.instancePath}="", ${v.default.parentData}, ${v.default.parentDataProperty}, ${v.default.rootData}=${v.default.data}${t.dynamicRef?(0,$._)`, ${v.default.dynamicAnchors}={}`:$.nil}}={}`}function nc(t,e){t.if(v.default.valCxt,()=>{t.var(v.default.instancePath,(0,$._)`${v.default.valCxt}.${v.default.instancePath}`),t.var(v.default.parentData,(0,$._)`${v.default.valCxt}.${v.default.parentData}`),t.var(v.default.parentDataProperty,(0,$._)`${v.default.valCxt}.${v.default.parentDataProperty}`),t.var(v.default.rootData,(0,$._)`${v.default.valCxt}.${v.default.rootData}`),e.dynamicRef&&t.var(v.default.dynamicAnchors,(0,$._)`${v.default.valCxt}.${v.default.dynamicAnchors}`)},()=>{t.var(v.default.instancePath,(0,$._)`""`),t.var(v.default.parentData,(0,$._)`undefined`),t.var(v.default.parentDataProperty,(0,$._)`undefined`),t.var(v.default.rootData,v.default.data),e.dynamicRef&&t.var(v.default.dynamicAnchors,(0,$._)`{}`)})}function oc(t){let{schema:e,opts:r,gen:s}=t;Rn(t,()=>{r.$comment&&e.$comment&&Dn(t),lc(t),s.let(v.default.vErrors,null),s.let(v.default.errors,0),r.unevaluated&&ac(t),An(t),hc(t)})}function ac(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,$._)`${r}.evaluated`),e.if((0,$._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,$._)`${t.evaluated}.props`,(0,$._)`undefined`)),e.if((0,$._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,$._)`${t.evaluated}.items`,(0,$._)`undefined`))}function qn(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,$._)`/*# sourceURL=${r} */`:$.nil}function ic(t,e){if(Cn(t)&&(Mn(t),Tn(t))){cc(t,e);return}(0,In.boolOrEmptySchema)(t,e)}function Tn({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function Cn(t){return typeof t.schema!="boolean"}function cc(t,e){let{schema:r,gen:s,opts:n}=t;n.$comment&&r.$comment&&Dn(t),dc(t),fc(t);let o=s.const("_errs",v.default.errors);An(t,o),s.var(e,(0,$._)`${o} === ${v.default.errors}`)}function Mn(t){(0,fe.checkUnknownRules)(t),uc(t)}function An(t,e){if(t.opts.jtd)return jn(t,[],!1,e);let r=(0,kn.getSchemaTypes)(t.schema),s=(0,kn.coerceAndCheckDataType)(t,r);jn(t,r,!s,e)}function uc(t){let{schema:e,errSchemaPath:r,opts:s,self:n}=t;e.$ref&&s.ignoreKeywordsWithRef&&(0,fe.schemaHasRulesButRef)(e,n.RULES)&&n.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function lc(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,fe.checkStrictMode)(t,"default is ignored in the schema root")}function dc(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,tc.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function fc(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function Dn({gen:t,schemaEnv:e,schema:r,errSchemaPath:s,opts:n}){let o=r.$comment;if(n.$comment===!0)t.code((0,$._)`${v.default.self}.logger.log(${o})`);else if(typeof n.$comment=="function"){let a=(0,$.str)`${s}/$comment`,i=t.scopeValue("root",{ref:e.root});t.code((0,$._)`${v.default.self}.opts.$comment(${o}, ${a}, ${i}.schema)`)}}function hc(t){let{gen:e,schemaEnv:r,validateName:s,ValidationError:n,opts:o}=t;r.$async?e.if((0,$._)`${v.default.errors} === 0`,()=>e.return(v.default.data),()=>e.throw((0,$._)`new ${n}(${v.default.vErrors})`)):(e.assign((0,$._)`${s}.errors`,v.default.vErrors),o.unevaluated&&pc(t),e.return((0,$._)`${v.default.errors} === 0`))}function pc({gen:t,evaluated:e,props:r,items:s}){r instanceof $.Name&&t.assign((0,$._)`${e}.props`,r),s instanceof $.Name&&t.assign((0,$._)`${e}.items`,s)}function jn(t,e,r,s){let{gen:n,schema:o,data:a,allErrors:i,opts:c,self:l}=t,{RULES:u}=l;if(o.$ref&&(c.ignoreKeywordsWithRef||!(0,fe.schemaHasRulesButRef)(o,u))){n.block(()=>zn(t,"$ref",u.all.$ref.definition));return}c.jtd||mc(t,e),n.block(()=>{for(let y of u.rules)d(y);d(u.post)});function d(y){(0,Ar.shouldUseGroup)(o,y)&&(y.type?(n.if((0,It.checkDataType)(y.type,a,c.strictNumbers)),On(t,y),e.length===1&&e[0]===y.type&&r&&(n.else(),(0,It.reportTypeError)(t)),n.endIf()):On(t,y),i||n.if((0,$._)`${v.default.errors} === ${s||0}`))}}function On(t,e){let{gen:r,schema:s,opts:{useDefaults:n}}=t;n&&(0,ec.assignDefaults)(t,e.type),r.block(()=>{for(let o of e.rules)(0,Ar.shouldUseRule)(s,o)&&zn(t,o.keyword,o.definition,e.type)})}function mc(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(yc(t,e),t.opts.allowUnionTypes||_c(t,e),gc(t,t.dataTypes))}function yc(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{Vn(t.dataTypes,r)||Dr(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),vc(t,e)}}function _c(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Dr(t,"use allowUnionTypes to allow union type keyword")}function gc(t,e){let r=t.self.RULES.all;for(let s in r){let n=r[s];if(typeof n=="object"&&(0,Ar.shouldUseRule)(t.schema,n)){let{type:o}=n.definition;o.length&&!o.some(a=>$c(e,a))&&Dr(t,`missing type "${o.join(",")}" for keyword "${s}"`)}}}function $c(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function Vn(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function vc(t,e){let r=[];for(let s of t.dataTypes)Vn(e,s)?r.push(s):e.includes("integer")&&s==="number"&&r.push("integer");t.dataTypes=r}function Dr(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,fe.checkStrictMode)(t,e,t.opts.strictTypes)}var Rt=class{constructor(e,r,s){if((0,ot.validateKeywordUsage)(e,r,s),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=s,this.data=e.data,this.schema=e.schema[s],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,fe.schemaRefOrVal)(e,this.schema,s,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",Un(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,ot.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${s} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=e.gen.const("_errs",v.default.errors))}result(e,r,s){this.failResult((0,$.not)(e),r,s)}failResult(e,r,s){this.gen.if(e),s?s():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,$.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,$._)`${r} !== undefined && (${(0,$.or)(this.invalid$data(),e)})`)}error(e,r,s){if(r){this.setParams(r),this._error(e,s),this.setParams({});return}this._error(e,s)}_error(e,r){(e?nt.reportExtraError:nt.reportError)(this,this.def.error,r)}$dataError(){(0,nt.reportError)(this,this.def.$dataError||nt.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,nt.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,s=$.nil){this.gen.block(()=>{this.check$data(e,s),r()})}check$data(e=$.nil,r=$.nil){if(!this.$data)return;let{gen:s,schemaCode:n,schemaType:o,def:a}=this;s.if((0,$.or)((0,$._)`${n} === undefined`,r)),e!==$.nil&&s.assign(e,!0),(o.length||a.validateSchema)&&(s.elseIf(this.invalid$data()),this.$dataError(),e!==$.nil&&s.assign(e,!1)),s.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:s,def:n,it:o}=this;return(0,$.or)(a(),i());function a(){if(s.length){if(!(r instanceof $.Name))throw new Error("ajv implementation error");let c=Array.isArray(s)?s:[s];return(0,$._)`${(0,It.checkDataTypes)(c,r,o.opts.strictNumbers,It.DataType.Wrong)}`}return $.nil}function i(){if(n.validateSchema){let c=e.scopeValue("validate$data",{ref:n.validateSchema});return(0,$._)`!${c}(${r})`}return $.nil}}subschema(e,r){let s=(0,Mr.getSubschema)(this.it,e);(0,Mr.extendSubschemaData)(s,this.it,e),(0,Mr.extendSubschemaMode)(s,e);let n={...this.it,...s,items:void 0,props:void 0};return ic(n,r),n}mergeEvaluated(e,r){let{it:s,gen:n}=this;s.opts.unevaluated&&(s.props!==!0&&e.props!==void 0&&(s.props=fe.mergeEvaluated.props(n,e.props,s.props,r)),s.items!==!0&&e.items!==void 0&&(s.items=fe.mergeEvaluated.items(n,e.items,s.items,r)))}mergeValidEvaluated(e,r){let{it:s,gen:n}=this;if(s.opts.unevaluated&&(s.props!==!0||s.items!==!0))return n.if(r,()=>this.mergeEvaluated(e,$.Name)),!0}};$e.KeywordCxt=Rt;function zn(t,e,r,s){let n=new Rt(t,r,e);"code"in r?r.code(n,s):n.$data&&r.validate?(0,ot.funcKeywordCode)(n,r):"macro"in r?(0,ot.macroKeywordCode)(n,r):(r.compile||r.validate)&&(0,ot.funcKeywordCode)(n,r)}var wc=/^\/(?:[^~]|~0|~1)*$/,bc=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Un(t,{dataLevel:e,dataNames:r,dataPathArr:s}){let n,o;if(t==="")return v.default.rootData;if(t[0]==="/"){if(!wc.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);n=t,o=v.default.rootData}else{let l=bc.exec(t);if(!l)throw new Error(`Invalid JSON-pointer: ${t}`);let u=+l[1];if(n=l[2],n==="#"){if(u>=e)throw new Error(c("property/index",u));return s[e-u]}if(u>e)throw new Error(c("data",u));if(o=r[e-u],!n)return o}let a=o,i=n.split("/");for(let l of i)l&&(o=(0,$._)`${o}${(0,$.getProperty)((0,fe.unescapeJsonPointer)(l))}`,a=(0,$._)`${a} && ${o}`);return a;function c(l,u){return`Cannot access ${l} ${u} levels up, current level is ${e}`}}$e.getData=Un});var Tt=g(zr=>{"use strict";Object.defineProperty(zr,"__esModule",{value:!0});var Vr=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};zr.default=Vr});var it=g(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});var Ur=st(),Kr=class extends Error{constructor(e,r,s,n){super(n||`can't resolve reference ${s} from id ${r}`),this.missingRef=(0,Ur.resolveUrl)(e,r,s),this.missingSchema=(0,Ur.normalizeId)((0,Ur.getFullPath)(e,this.missingRef))}};Fr.default=Kr});var Mt=g(X=>{"use strict";Object.defineProperty(X,"__esModule",{value:!0});X.resolveSchema=X.getCompilingSchema=X.resolveRef=X.compileSchema=X.SchemaEnv=void 0;var ee=S(),Ec=Tt(),ke=de(),te=st(),Kn=j(),Sc=at(),Ve=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let s;typeof e.schema=="object"&&(s=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,te.normalizeId)(s?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=s?.$async,this.refs={}}};X.SchemaEnv=Ve;function Lr(t){let e=Fn.call(this,t);if(e)return e;let r=(0,te.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:s,lines:n}=this.opts.code,{ownProperties:o}=this.opts,a=new ee.CodeGen(this.scope,{es5:s,lines:n,ownProperties:o}),i;t.$async&&(i=a.scopeValue("Error",{ref:Ec.default,code:(0,ee._)`require("ajv/dist/runtime/validation_error").default`}));let c=a.scopeName("validate");t.validateName=c;let l={gen:a,allErrors:this.opts.allErrors,data:ke.default.data,parentData:ke.default.parentData,parentDataProperty:ke.default.parentDataProperty,dataNames:[ke.default.data],dataPathArr:[ee.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,ee.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:i,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:ee.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,ee._)`""`,opts:this.opts,self:this},u;try{this._compilations.add(t),(0,Sc.validateFunctionCode)(l),a.optimize(this.opts.code.optimize);let d=a.toString();u=`${a.scopeRefs(ke.default.scope)}return ${d}`,this.opts.code.process&&(u=this.opts.code.process(u,t));let m=new Function(`${ke.default.self}`,`${ke.default.scope}`,u)(this,this.scope.get());if(this.scope.value(c,{ref:m}),m.errors=null,m.schema=t.schema,m.schemaEnv=t,t.$async&&(m.$async=!0),this.opts.code.source===!0&&(m.source={validateName:c,validateCode:d,scopeValues:a._values}),this.opts.unevaluated){let{props:h,items:f}=l;m.evaluated={props:h instanceof ee.Name?void 0:h,items:f instanceof ee.Name?void 0:f,dynamicProps:h instanceof ee.Name,dynamicItems:f instanceof ee.Name},m.source&&(m.source.evaluated=(0,ee.stringify)(m.evaluated))}return t.validate=m,t}catch(d){throw delete t.validate,delete t.validateName,u&&this.logger.error("Error compiling schema, function code:",u),d}finally{this._compilations.delete(t)}}X.compileSchema=Lr;function Pc(t,e,r){var s;r=(0,te.resolveUrl)(this.opts.uriResolver,e,r);let n=t.refs[r];if(n)return n;let o=qc.call(this,t,r);if(o===void 0){let a=(s=t.localRefs)===null||s===void 0?void 0:s[r],{schemaId:i}=this.opts;a&&(o=new Ve({schema:a,schemaId:i,root:t,baseId:e}))}if(o!==void 0)return t.refs[r]=Nc.call(this,o)}X.resolveRef=Pc;function Nc(t){return(0,te.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:Lr.call(this,t)}function Fn(t){for(let e of this._compilations)if(kc(e,t))return e}X.getCompilingSchema=Fn;function kc(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function qc(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||Ct.call(this,t,e)}function Ct(t,e){let r=this.opts.uriResolver.parse(e),s=(0,te._getFullPath)(this.opts.uriResolver,r),n=(0,te.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&s===n)return xr.call(this,r,t);let o=(0,te.normalizeId)(s),a=this.refs[o]||this.schemas[o];if(typeof a=="string"){let i=Ct.call(this,t,a);return typeof i?.schema!="object"?void 0:xr.call(this,r,i)}if(typeof a?.schema=="object"){if(a.validate||Lr.call(this,a),o===(0,te.normalizeId)(e)){let{schema:i}=a,{schemaId:c}=this.opts,l=i[c];return l&&(n=(0,te.resolveUrl)(this.opts.uriResolver,n,l)),new Ve({schema:i,schemaId:c,root:t,baseId:n})}return xr.call(this,r,a)}}X.resolveSchema=Ct;var jc=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function xr(t,{baseId:e,schema:r,root:s}){var n;if(((n=t.fragment)===null||n===void 0?void 0:n[0])!=="/")return;for(let i of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,Kn.unescapeFragment)(i)];if(c===void 0)return;r=c;let l=typeof r=="object"&&r[this.opts.schemaId];!jc.has(i)&&l&&(e=(0,te.resolveUrl)(this.opts.uriResolver,e,l))}let o;if(typeof r!="boolean"&&r.$ref&&!(0,Kn.schemaHasRulesButRef)(r,this.RULES)){let i=(0,te.resolveUrl)(this.opts.uriResolver,e,r.$ref);o=Ct.call(this,s,i)}let{schemaId:a}=this.opts;if(o=o||new Ve({schema:r,schemaId:a,root:s,baseId:e}),o.schema!==o.root.schema)return o}});var xn=g((pf,Oc)=>{Oc.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var Gr=g((mf,Jn)=>{"use strict";var Ic=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Hn=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function Hr(t){let e="",r=0,s=0;for(s=0;s<t.length;s++)if(r=t[s].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[s];break}for(s+=1;s<t.length;s++){if(r=t[s].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[s]}return e}var Rc=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Ln(t){return t.length=0,!0}function Tc(t,e,r){if(t.length){let s=Hr(t);if(s!=="")e.push(s);else return r.error=!0,!1;t.length=0}return!0}function Cc(t){let e=0,r={error:!1,address:"",zone:""},s=[],n=[],o=!1,a=!1,i=Tc;for(let c=0;c<t.length;c++){let l=t[c];if(!(l==="["||l==="]"))if(l===":"){if(o===!0&&(a=!0),!i(n,s,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(o=!0),s.push(":");continue}else if(l==="%"){if(!i(n,s,r))break;i=Ln}else{n.push(l);continue}}return n.length&&(i===Ln?r.zone=n.join(""):a?s.push(n.join("")):s.push(Hr(n))),r.address=s.join(""),r}function Gn(t){if(Mc(t,":")<2)return{host:t,isIPV6:!1};let e=Cc(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,s=e.address;return e.zone&&(r+="%"+e.zone,s+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:s}}}function Mc(t,e){let r=0;for(let s=0;s<t.length;s++)t[s]===e&&r++;return r}function Ac(t){let e=t,r=[],s=-1,n=0;for(;n=e.length;){if(n===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(n===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(n===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((s=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,s)),e=e.slice(s)}return r.join("")}function Dc(t,e){let r=e!==!0?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function Vc(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!Hn(r)){let s=Gn(r);s.isIPV6===!0?r=`[${s.escapedHost}]`:r=t.host}e.push(r)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}Jn.exports={nonSimpleDomain:Rc,recomposeAuthority:Vc,normalizeComponentEncoding:Dc,removeDotSegments:Ac,isIPv4:Hn,isUUID:Ic,normalizeIPv6:Gn,stringArrayToHexStripped:Hr}});var Yn=g((yf,Xn)=>{"use strict";var{isUUID:zc}=Gr(),Uc=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,Kc=["http","https","ws","wss","urn","urn:uuid"];function Fc(t){return Kc.indexOf(t)!==-1}function Jr(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function Wn(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function Qn(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function xc(t){return t.secure=Jr(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function Lc(t){if((t.port===(Jr(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function Hc(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(Uc);if(r){let s=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let n=`${s}:${e.nid||t.nid}`,o=Wr(n);t.path=void 0,o&&(t=o.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function Gc(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",s=t.nid.toLowerCase(),n=`${r}:${e.nid||s}`,o=Wr(n);o&&(t=o.serialize(t,e));let a=t,i=t.nss;return a.path=`${s||e.nid}:${i}`,e.skipEscape=!0,a}function Jc(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!zc(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function Wc(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var Bn={scheme:"http",domainHost:!0,parse:Wn,serialize:Qn},Qc={scheme:"https",domainHost:Bn.domainHost,parse:Wn,serialize:Qn},At={scheme:"ws",domainHost:!0,parse:xc,serialize:Lc},Bc={scheme:"wss",domainHost:At.domainHost,parse:At.parse,serialize:At.serialize},Xc={scheme:"urn",parse:Hc,serialize:Gc,skipNormalize:!0},Yc={scheme:"urn:uuid",parse:Jc,serialize:Wc,skipNormalize:!0},Dt={http:Bn,https:Qc,ws:At,wss:Bc,urn:Xc,"urn:uuid":Yc};Object.setPrototypeOf(Dt,null);function Wr(t){return t&&(Dt[t]||Dt[t.toLowerCase()])||void 0}Xn.exports={wsIsSecure:Jr,SCHEMES:Dt,isValidSchemeName:Fc,getSchemeHandler:Wr}});var to=g((_f,zt)=>{"use strict";var{normalizeIPv6:Zc,removeDotSegments:ct,recomposeAuthority:eu,normalizeComponentEncoding:Vt,isIPv4:tu,nonSimpleDomain:ru}=Gr(),{SCHEMES:su,getSchemeHandler:Zn}=Yn();function nu(t,e){return typeof t=="string"?t=ae(he(t,e),e):typeof t=="object"&&(t=he(ae(t,e),e)),t}function ou(t,e,r){let s=r?Object.assign({scheme:"null"},r):{scheme:"null"},n=eo(he(t,s),he(e,s),s,!0);return s.skipEscape=!0,ae(n,s)}function eo(t,e,r,s){let n={};return s||(t=he(ae(t,r),r),e=he(ae(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(n.scheme=e.scheme,n.userinfo=e.userinfo,n.host=e.host,n.port=e.port,n.path=ct(e.path||""),n.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(n.userinfo=e.userinfo,n.host=e.host,n.port=e.port,n.path=ct(e.path||""),n.query=e.query):(e.path?(e.path[0]==="/"?n.path=ct(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?n.path="/"+e.path:t.path?n.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:n.path=e.path,n.path=ct(n.path)),n.query=e.query):(n.path=t.path,e.query!==void 0?n.query=e.query:n.query=t.query),n.userinfo=t.userinfo,n.host=t.host,n.port=t.port),n.scheme=t.scheme),n.fragment=e.fragment,n}function au(t,e,r){return typeof t=="string"?(t=unescape(t),t=ae(Vt(he(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=ae(Vt(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=ae(Vt(he(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=ae(Vt(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function ae(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},s=Object.assign({},e),n=[],o=Zn(s.scheme||r.scheme);o&&o.serialize&&o.serialize(r,s),r.path!==void 0&&(s.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),s.reference!=="suffix"&&r.scheme&&n.push(r.scheme,":");let a=eu(r);if(a!==void 0&&(s.reference!=="suffix"&&n.push("//"),n.push(a),r.path&&r.path[0]!=="/"&&n.push("/")),r.path!==void 0){let i=r.path;!s.absolutePath&&(!o||!o.absolutePath)&&(i=ct(i)),a===void 0&&i[0]==="/"&&i[1]==="/"&&(i="/%2F"+i.slice(2)),n.push(i)}return r.query!==void 0&&n.push("?",r.query),r.fragment!==void 0&&n.push("#",r.fragment),n.join("")}var iu=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function he(t,e){let r=Object.assign({},e),s={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},n=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let o=t.match(iu);if(o){if(s.scheme=o[1],s.userinfo=o[3],s.host=o[4],s.port=parseInt(o[5],10),s.path=o[6]||"",s.query=o[7],s.fragment=o[8],isNaN(s.port)&&(s.port=o[5]),s.host)if(tu(s.host)===!1){let c=Zc(s.host);s.host=c.host.toLowerCase(),n=c.isIPV6}else n=!0;s.scheme===void 0&&s.userinfo===void 0&&s.host===void 0&&s.port===void 0&&s.query===void 0&&!s.path?s.reference="same-document":s.scheme===void 0?s.reference="relative":s.fragment===void 0?s.reference="absolute":s.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==s.reference&&(s.error=s.error||"URI is not a "+r.reference+" reference.");let a=Zn(r.scheme||s.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&s.host&&(r.domainHost||a&&a.domainHost)&&n===!1&&ru(s.host))try{s.host=URL.domainToASCII(s.host.toLowerCase())}catch(i){s.error=s.error||"Host's domain name can not be converted to ASCII: "+i}(!a||a&&!a.skipNormalize)&&(t.indexOf("%")!==-1&&(s.scheme!==void 0&&(s.scheme=unescape(s.scheme)),s.host!==void 0&&(s.host=unescape(s.host))),s.path&&(s.path=escape(unescape(s.path))),s.fragment&&(s.fragment=encodeURI(decodeURIComponent(s.fragment)))),a&&a.parse&&a.parse(s,r)}else s.error=s.error||"URI can not be parsed.";return s}var Qr={SCHEMES:su,normalize:nu,resolve:ou,resolveComponent:eo,equal:au,serialize:ae,parse:he};zt.exports=Qr;zt.exports.default=Qr;zt.exports.fastUri=Qr});var so=g(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});var ro=to();ro.code='require("ajv/dist/runtime/uri").default';Br.default=ro});var fo=g(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.CodeGen=V.Name=V.nil=V.stringify=V.str=V._=V.KeywordCxt=void 0;var cu=at();Object.defineProperty(V,"KeywordCxt",{enumerable:!0,get:function(){return cu.KeywordCxt}});var ze=S();Object.defineProperty(V,"_",{enumerable:!0,get:function(){return ze._}});Object.defineProperty(V,"str",{enumerable:!0,get:function(){return ze.str}});Object.defineProperty(V,"stringify",{enumerable:!0,get:function(){return ze.stringify}});Object.defineProperty(V,"nil",{enumerable:!0,get:function(){return ze.nil}});Object.defineProperty(V,"Name",{enumerable:!0,get:function(){return ze.Name}});Object.defineProperty(V,"CodeGen",{enumerable:!0,get:function(){return ze.CodeGen}});var uu=Tt(),co=it(),lu=Pr(),ut=Mt(),du=S(),lt=st(),Ut=rt(),Yr=j(),no=xn(),fu=so(),uo=(t,e)=>new RegExp(t,e);uo.code="new RegExp";var hu=["removeAdditional","useDefaults","coerceTypes"],pu=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),mu={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},yu={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},oo=200;function _u(t){var e,r,s,n,o,a,i,c,l,u,d,y,m,h,f,p,_,q,N,C,w,se,ce,tr,rr;let Ge=t.strict,sr=(e=t.code)===null||e===void 0?void 0:e.optimize,Fs=sr===!0||sr===void 0?1:sr||0,xs=(s=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&s!==void 0?s:uo,ga=(n=t.uriResolver)!==null&&n!==void 0?n:fu.default;return{strictSchema:(a=(o=t.strictSchema)!==null&&o!==void 0?o:Ge)!==null&&a!==void 0?a:!0,strictNumbers:(c=(i=t.strictNumbers)!==null&&i!==void 0?i:Ge)!==null&&c!==void 0?c:!0,strictTypes:(u=(l=t.strictTypes)!==null&&l!==void 0?l:Ge)!==null&&u!==void 0?u:"log",strictTuples:(y=(d=t.strictTuples)!==null&&d!==void 0?d:Ge)!==null&&y!==void 0?y:"log",strictRequired:(h=(m=t.strictRequired)!==null&&m!==void 0?m:Ge)!==null&&h!==void 0?h:!1,code:t.code?{...t.code,optimize:Fs,regExp:xs}:{optimize:Fs,regExp:xs},loopRequired:(f=t.loopRequired)!==null&&f!==void 0?f:oo,loopEnum:(p=t.loopEnum)!==null&&p!==void 0?p:oo,meta:(_=t.meta)!==null&&_!==void 0?_:!0,messages:(q=t.messages)!==null&&q!==void 0?q:!0,inlineRefs:(N=t.inlineRefs)!==null&&N!==void 0?N:!0,schemaId:(C=t.schemaId)!==null&&C!==void 0?C:"$id",addUsedSchema:(w=t.addUsedSchema)!==null&&w!==void 0?w:!0,validateSchema:(se=t.validateSchema)!==null&&se!==void 0?se:!0,validateFormats:(ce=t.validateFormats)!==null&&ce!==void 0?ce:!0,unicodeRegExp:(tr=t.unicodeRegExp)!==null&&tr!==void 0?tr:!0,int32range:(rr=t.int32range)!==null&&rr!==void 0?rr:!0,uriResolver:ga}}var dt=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,..._u(e)};let{es5:r,lines:s}=this.opts.code;this.scope=new du.ValueScope({scope:{},prefixes:pu,es5:r,lines:s}),this.logger=Eu(e.logger);let n=e.validateFormats;e.validateFormats=!1,this.RULES=(0,lu.getRules)(),ao.call(this,mu,e,"NOT SUPPORTED"),ao.call(this,yu,e,"DEPRECATED","warn"),this._metaOpts=wu.call(this),e.formats&&$u.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&vu.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),gu.call(this),e.validateFormats=n}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:s}=this.opts,n=no;s==="id"&&(n={...no},n.id=n.$id,delete n.$id),r&&e&&this.addMetaSchema(n,n[s],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let s;if(typeof e=="string"){if(s=this.getSchema(e),!s)throw new Error(`no schema with key or ref "${e}"`)}else s=this.compile(e);let n=s(r);return"$async"in s||(this.errors=s.errors),n}compile(e,r){let s=this._addSchema(e,r);return s.validate||this._compileSchemaEnv(s)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:s}=this.opts;return n.call(this,e,r);async function n(u,d){await o.call(this,u.$schema);let y=this._addSchema(u,d);return y.validate||a.call(this,y)}async function o(u){u&&!this.getSchema(u)&&await n.call(this,{$ref:u},!0)}async function a(u){try{return this._compileSchemaEnv(u)}catch(d){if(!(d instanceof co.default))throw d;return i.call(this,d),await c.call(this,d.missingSchema),a.call(this,u)}}function i({missingSchema:u,missingRef:d}){if(this.refs[u])throw new Error(`AnySchema ${u} is loaded but ${d} cannot be resolved`)}async function c(u){let d=await l.call(this,u);this.refs[u]||await o.call(this,d.$schema),this.refs[u]||this.addSchema(d,u,r)}async function l(u){let d=this._loading[u];if(d)return d;try{return await(this._loading[u]=s(u))}finally{delete this._loading[u]}}}addSchema(e,r,s,n=this.opts.validateSchema){if(Array.isArray(e)){for(let a of e)this.addSchema(a,void 0,s,n);return this}let o;if(typeof e=="object"){let{schemaId:a}=this.opts;if(o=e[a],o!==void 0&&typeof o!="string")throw new Error(`schema ${a} must be string`)}return r=(0,lt.normalizeId)(r||o),this._checkUnique(r),this.schemas[r]=this._addSchema(e,s,r,n,!0),this}addMetaSchema(e,r,s=this.opts.validateSchema){return this.addSchema(e,r,!0,s),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let s;if(s=e.$schema,s!==void 0&&typeof s!="string")throw new Error("$schema must be a string");if(s=s||this.opts.defaultMeta||this.defaultMeta(),!s)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let n=this.validate(s,e);if(!n&&r){let o="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(o);else throw new Error(o)}return n}getSchema(e){let r;for(;typeof(r=io.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:s}=this.opts,n=new ut.SchemaEnv({schema:{},schemaId:s});if(r=ut.resolveSchema.call(this,n,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=io.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let s=e[this.opts.schemaId];return s&&(s=(0,lt.normalizeId)(s),delete this.schemas[s],delete this.refs[s]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let s;if(typeof e=="string")s=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=s);else if(typeof e=="object"&&r===void 0){if(r=e,s=r.keyword,Array.isArray(s)&&!s.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(Pu.call(this,s,r),!r)return(0,Yr.eachItem)(s,o=>Xr.call(this,o)),this;ku.call(this,r);let n={...r,type:(0,Ut.getJSONTypes)(r.type),schemaType:(0,Ut.getJSONTypes)(r.schemaType)};return(0,Yr.eachItem)(s,n.type.length===0?o=>Xr.call(this,o,n):o=>n.type.forEach(a=>Xr.call(this,o,n,a))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let s of r.rules){let n=s.rules.findIndex(o=>o.keyword===e);n>=0&&s.rules.splice(n,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:s="data"}={}){return!e||e.length===0?"No errors":e.map(n=>`${s}${n.instancePath} ${n.message}`).reduce((n,o)=>n+r+o)}$dataMetaSchema(e,r){let s=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let n of r){let o=n.split("/").slice(1),a=e;for(let i of o)a=a[i];for(let i in s){let c=s[i];if(typeof c!="object")continue;let{$data:l}=c.definition,u=a[i];l&&u&&(a[i]=lo(u))}}return e}_removeAllSchemas(e,r){for(let s in e){let n=e[s];(!r||r.test(s))&&(typeof n=="string"?delete e[s]:n&&!n.meta&&(this._cache.delete(n.schema),delete e[s]))}}_addSchema(e,r,s,n=this.opts.validateSchema,o=this.opts.addUsedSchema){let a,{schemaId:i}=this.opts;if(typeof e=="object")a=e[i];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;s=(0,lt.normalizeId)(a||s);let l=lt.getSchemaRefs.call(this,e,s);return c=new ut.SchemaEnv({schema:e,schemaId:i,meta:r,baseId:s,localRefs:l}),this._cache.set(c.schema,c),o&&!s.startsWith("#")&&(s&&this._checkUnique(s),this.refs[s]=c),n&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):ut.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{ut.compileSchema.call(this,e)}finally{this.opts=r}}};dt.ValidationError=uu.default;dt.MissingRefError=co.default;V.default=dt;function ao(t,e,r,s="error"){for(let n in t){let o=n;o in e&&this.logger[s](`${r}: option ${n}. ${t[o]}`)}}function io(t){return t=(0,lt.normalizeId)(t),this.schemas[t]||this.refs[t]}function gu(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function $u(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function vu(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function wu(){let t={...this.opts};for(let e of hu)delete t[e];return t}var bu={log(){},warn(){},error(){}};function Eu(t){if(t===!1)return bu;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var Su=/^[a-z_$][a-z0-9_$:-]*$/i;function Pu(t,e){let{RULES:r}=this;if((0,Yr.eachItem)(t,s=>{if(r.keywords[s])throw new Error(`Keyword ${s} is already defined`);if(!Su.test(s))throw new Error(`Keyword ${s} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function Xr(t,e,r){var s;let n=e?.post;if(r&&n)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:o}=this,a=n?o.post:o.rules.find(({type:c})=>c===r);if(a||(a={type:r,rules:[]},o.rules.push(a)),o.keywords[t]=!0,!e)return;let i={keyword:t,definition:{...e,type:(0,Ut.getJSONTypes)(e.type),schemaType:(0,Ut.getJSONTypes)(e.schemaType)}};e.before?Nu.call(this,a,i,e.before):a.rules.push(i),o.all[t]=i,(s=e.implements)===null||s===void 0||s.forEach(c=>this.addKeyword(c))}function Nu(t,e,r){let s=t.rules.findIndex(n=>n.keyword===r);s>=0?t.rules.splice(s,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function ku(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=lo(e)),t.validateSchema=this.compile(e,!0))}var qu={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function lo(t){return{anyOf:[t,qu]}}});var ho=g(Zr=>{"use strict";Object.defineProperty(Zr,"__esModule",{value:!0});var ju={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Zr.default=ju});var _o=g(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.callRef=qe.getValidate=void 0;var Ou=it(),po=B(),W=S(),Ue=de(),mo=Mt(),Kt=j(),Iu={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:s}=t,{baseId:n,schemaEnv:o,validateName:a,opts:i,self:c}=s,{root:l}=o;if((r==="#"||r==="#/")&&n===l.baseId)return d();let u=mo.resolveRef.call(c,l,n,r);if(u===void 0)throw new Ou.default(s.opts.uriResolver,n,r);if(u instanceof mo.SchemaEnv)return y(u);return m(u);function d(){if(o===l)return Ft(t,a,o,o.$async);let h=e.scopeValue("root",{ref:l});return Ft(t,(0,W._)`${h}.validate`,l,l.$async)}function y(h){let f=yo(t,h);Ft(t,f,h,h.$async)}function m(h){let f=e.scopeValue("schema",i.code.source===!0?{ref:h,code:(0,W.stringify)(h)}:{ref:h}),p=e.name("valid"),_=t.subschema({schema:h,dataTypes:[],schemaPath:W.nil,topSchemaRef:f,errSchemaPath:r},p);t.mergeEvaluated(_),t.ok(p)}}};function yo(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,W._)`${r.scopeValue("wrapper",{ref:e})}.validate`}qe.getValidate=yo;function Ft(t,e,r,s){let{gen:n,it:o}=t,{allErrors:a,schemaEnv:i,opts:c}=o,l=c.passContext?Ue.default.this:W.nil;s?u():d();function u(){if(!i.$async)throw new Error("async schema referenced by sync schema");let h=n.let("valid");n.try(()=>{n.code((0,W._)`await ${(0,po.callValidateCode)(t,e,l)}`),m(e),a||n.assign(h,!0)},f=>{n.if((0,W._)`!(${f} instanceof ${o.ValidationError})`,()=>n.throw(f)),y(f),a||n.assign(h,!1)}),t.ok(h)}function d(){t.result((0,po.callValidateCode)(t,e,l),()=>m(e),()=>y(e))}function y(h){let f=(0,W._)`${h}.errors`;n.assign(Ue.default.vErrors,(0,W._)`${Ue.default.vErrors} === null ? ${f} : ${Ue.default.vErrors}.concat(${f})`),n.assign(Ue.default.errors,(0,W._)`${Ue.default.vErrors}.length`)}function m(h){var f;if(!o.opts.unevaluated)return;let p=(f=r?.validate)===null||f===void 0?void 0:f.evaluated;if(o.props!==!0)if(p&&!p.dynamicProps)p.props!==void 0&&(o.props=Kt.mergeEvaluated.props(n,p.props,o.props));else{let _=n.var("props",(0,W._)`${h}.evaluated.props`);o.props=Kt.mergeEvaluated.props(n,_,o.props,W.Name)}if(o.items!==!0)if(p&&!p.dynamicItems)p.items!==void 0&&(o.items=Kt.mergeEvaluated.items(n,p.items,o.items));else{let _=n.var("items",(0,W._)`${h}.evaluated.items`);o.items=Kt.mergeEvaluated.items(n,_,o.items,W.Name)}}}qe.callRef=Ft;qe.default=Iu});var go=g(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});var Ru=ho(),Tu=_o(),Cu=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Ru.default,Tu.default];es.default=Cu});var $o=g(ts=>{"use strict";Object.defineProperty(ts,"__esModule",{value:!0});var xt=S(),ve=xt.operators,Lt={maximum:{okStr:"<=",ok:ve.LTE,fail:ve.GT},minimum:{okStr:">=",ok:ve.GTE,fail:ve.LT},exclusiveMaximum:{okStr:"<",ok:ve.LT,fail:ve.GTE},exclusiveMinimum:{okStr:">",ok:ve.GT,fail:ve.LTE}},Mu={message:({keyword:t,schemaCode:e})=>(0,xt.str)`must be ${Lt[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,xt._)`{comparison: ${Lt[t].okStr}, limit: ${e}}`},Au={keyword:Object.keys(Lt),type:"number",schemaType:"number",$data:!0,error:Mu,code(t){let{keyword:e,data:r,schemaCode:s}=t;t.fail$data((0,xt._)`${r} ${Lt[e].fail} ${s} || isNaN(${r})`)}};ts.default=Au});var vo=g(rs=>{"use strict";Object.defineProperty(rs,"__esModule",{value:!0});var ft=S(),Du={message:({schemaCode:t})=>(0,ft.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,ft._)`{multipleOf: ${t}}`},Vu={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Du,code(t){let{gen:e,data:r,schemaCode:s,it:n}=t,o=n.opts.multipleOfPrecision,a=e.let("res"),i=o?(0,ft._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:(0,ft._)`${a} !== parseInt(${a})`;t.fail$data((0,ft._)`(${s} === 0 || (${a} = ${r}/${s}, ${i}))`)}};rs.default=Vu});var bo=g(ss=>{"use strict";Object.defineProperty(ss,"__esModule",{value:!0});function wo(t){let e=t.length,r=0,s=0,n;for(;s<e;)r++,n=t.charCodeAt(s++),n>=55296&&n<=56319&&s<e&&(n=t.charCodeAt(s),(n&64512)===56320&&s++);return r}ss.default=wo;wo.code='require("ajv/dist/runtime/ucs2length").default'});var Eo=g(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});var je=S(),zu=j(),Uu=bo(),Ku={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,je.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,je._)`{limit: ${t}}`},Fu={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Ku,code(t){let{keyword:e,data:r,schemaCode:s,it:n}=t,o=e==="maxLength"?je.operators.GT:je.operators.LT,a=n.opts.unicode===!1?(0,je._)`${r}.length`:(0,je._)`${(0,zu.useFunc)(t.gen,Uu.default)}(${r})`;t.fail$data((0,je._)`${a} ${o} ${s}`)}};ns.default=Fu});var So=g(os=>{"use strict";Object.defineProperty(os,"__esModule",{value:!0});var xu=B(),Lu=j(),Ke=S(),Hu={message:({schemaCode:t})=>(0,Ke.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,Ke._)`{pattern: ${t}}`},Gu={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:Hu,code(t){let{gen:e,data:r,$data:s,schema:n,schemaCode:o,it:a}=t,i=a.opts.unicodeRegExp?"u":"";if(s){let{regExp:c}=a.opts.code,l=c.code==="new RegExp"?(0,Ke._)`new RegExp`:(0,Lu.useFunc)(e,c),u=e.let("valid");e.try(()=>e.assign(u,(0,Ke._)`${l}(${o}, ${i}).test(${r})`),()=>e.assign(u,!1)),t.fail$data((0,Ke._)`!${u}`)}else{let c=(0,xu.usePattern)(t,n);t.fail$data((0,Ke._)`!${c}.test(${r})`)}}};os.default=Gu});var Po=g(as=>{"use strict";Object.defineProperty(as,"__esModule",{value:!0});var ht=S(),Ju={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,ht.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,ht._)`{limit: ${t}}`},Wu={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:Ju,code(t){let{keyword:e,data:r,schemaCode:s}=t,n=e==="maxProperties"?ht.operators.GT:ht.operators.LT;t.fail$data((0,ht._)`Object.keys(${r}).length ${n} ${s}`)}};as.default=Wu});var No=g(is=>{"use strict";Object.defineProperty(is,"__esModule",{value:!0});var pt=B(),mt=S(),Qu=j(),Bu={message:({params:{missingProperty:t}})=>(0,mt.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,mt._)`{missingProperty: ${t}}`},Xu={keyword:"required",type:"object",schemaType:"array",$data:!0,error:Bu,code(t){let{gen:e,schema:r,schemaCode:s,data:n,$data:o,it:a}=t,{opts:i}=a;if(!o&&r.length===0)return;let c=r.length>=i.loopRequired;if(a.allErrors?l():u(),i.strictRequired){let m=t.parentSchema.properties,{definedProperties:h}=t.it;for(let f of r)if(m?.[f]===void 0&&!h.has(f)){let p=a.schemaEnv.baseId+a.errSchemaPath,_=`required property "${f}" is not defined at "${p}" (strictRequired)`;(0,Qu.checkStrictMode)(a,_,a.opts.strictRequired)}}function l(){if(c||o)t.block$data(mt.nil,d);else for(let m of r)(0,pt.checkReportMissingProp)(t,m)}function u(){let m=e.let("missing");if(c||o){let h=e.let("valid",!0);t.block$data(h,()=>y(m,h)),t.ok(h)}else e.if((0,pt.checkMissingProp)(t,r,m)),(0,pt.reportMissingProp)(t,m),e.else()}function d(){e.forOf("prop",s,m=>{t.setParams({missingProperty:m}),e.if((0,pt.noPropertyInData)(e,n,m,i.ownProperties),()=>t.error())})}function y(m,h){t.setParams({missingProperty:m}),e.forOf(m,s,()=>{e.assign(h,(0,pt.propertyInData)(e,n,m,i.ownProperties)),e.if((0,mt.not)(h),()=>{t.error(),e.break()})},mt.nil)}}};is.default=Xu});var ko=g(cs=>{"use strict";Object.defineProperty(cs,"__esModule",{value:!0});var yt=S(),Yu={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,yt.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,yt._)`{limit: ${t}}`},Zu={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:Yu,code(t){let{keyword:e,data:r,schemaCode:s}=t,n=e==="maxItems"?yt.operators.GT:yt.operators.LT;t.fail$data((0,yt._)`${r}.length ${n} ${s}`)}};cs.default=Zu});var Ht=g(us=>{"use strict";Object.defineProperty(us,"__esModule",{value:!0});var qo=Tr();qo.code='require("ajv/dist/runtime/equal").default';us.default=qo});var jo=g(ds=>{"use strict";Object.defineProperty(ds,"__esModule",{value:!0});var ls=rt(),z=S(),el=j(),tl=Ht(),rl={message:({params:{i:t,j:e}})=>(0,z.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,z._)`{i: ${t}, j: ${e}}`},sl={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:rl,code(t){let{gen:e,data:r,$data:s,schema:n,parentSchema:o,schemaCode:a,it:i}=t;if(!s&&!n)return;let c=e.let("valid"),l=o.items?(0,ls.getSchemaTypes)(o.items):[];t.block$data(c,u,(0,z._)`${a} === false`),t.ok(c);function u(){let h=e.let("i",(0,z._)`${r}.length`),f=e.let("j");t.setParams({i:h,j:f}),e.assign(c,!0),e.if((0,z._)`${h} > 1`,()=>(d()?y:m)(h,f))}function d(){return l.length>0&&!l.some(h=>h==="object"||h==="array")}function y(h,f){let p=e.name("item"),_=(0,ls.checkDataTypes)(l,p,i.opts.strictNumbers,ls.DataType.Wrong),q=e.const("indices",(0,z._)`{}`);e.for((0,z._)`;${h}--;`,()=>{e.let(p,(0,z._)`${r}[${h}]`),e.if(_,(0,z._)`continue`),l.length>1&&e.if((0,z._)`typeof ${p} == "string"`,(0,z._)`${p} += "_"`),e.if((0,z._)`typeof ${q}[${p}] == "number"`,()=>{e.assign(f,(0,z._)`${q}[${p}]`),t.error(),e.assign(c,!1).break()}).code((0,z._)`${q}[${p}] = ${h}`)})}function m(h,f){let p=(0,el.useFunc)(e,tl.default),_=e.name("outer");e.label(_).for((0,z._)`;${h}--;`,()=>e.for((0,z._)`${f} = ${h}; ${f}--;`,()=>e.if((0,z._)`${p}(${r}[${h}], ${r}[${f}])`,()=>{t.error(),e.assign(c,!1).break(_)})))}}};ds.default=sl});var Oo=g(hs=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});var fs=S(),nl=j(),ol=Ht(),al={message:"must be equal to constant",params:({schemaCode:t})=>(0,fs._)`{allowedValue: ${t}}`},il={keyword:"const",$data:!0,error:al,code(t){let{gen:e,data:r,$data:s,schemaCode:n,schema:o}=t;s||o&&typeof o=="object"?t.fail$data((0,fs._)`!${(0,nl.useFunc)(e,ol.default)}(${r}, ${n})`):t.fail((0,fs._)`${o} !== ${r}`)}};hs.default=il});var Io=g(ps=>{"use strict";Object.defineProperty(ps,"__esModule",{value:!0});var _t=S(),cl=j(),ul=Ht(),ll={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,_t._)`{allowedValues: ${t}}`},dl={keyword:"enum",schemaType:"array",$data:!0,error:ll,code(t){let{gen:e,data:r,$data:s,schema:n,schemaCode:o,it:a}=t;if(!s&&n.length===0)throw new Error("enum must have non-empty array");let i=n.length>=a.opts.loopEnum,c,l=()=>c??(c=(0,cl.useFunc)(e,ul.default)),u;if(i||s)u=e.let("valid"),t.block$data(u,d);else{if(!Array.isArray(n))throw new Error("ajv implementation error");let m=e.const("vSchema",o);u=(0,_t.or)(...n.map((h,f)=>y(m,f)))}t.pass(u);function d(){e.assign(u,!1),e.forOf("v",o,m=>e.if((0,_t._)`${l()}(${r}, ${m})`,()=>e.assign(u,!0).break()))}function y(m,h){let f=n[h];return typeof f=="object"&&f!==null?(0,_t._)`${l()}(${r}, ${m}[${h}])`:(0,_t._)`${r} === ${f}`}}};ps.default=dl});var Ro=g(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});var fl=$o(),hl=vo(),pl=Eo(),ml=So(),yl=Po(),_l=No(),gl=ko(),$l=jo(),vl=Oo(),wl=Io(),bl=[fl.default,hl.default,pl.default,ml.default,yl.default,_l.default,gl.default,$l.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},vl.default,wl.default];ms.default=bl});var _s=g(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.validateAdditionalItems=void 0;var Oe=S(),ys=j(),El={message:({params:{len:t}})=>(0,Oe.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Oe._)`{limit: ${t}}`},Sl={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:El,code(t){let{parentSchema:e,it:r}=t,{items:s}=e;if(!Array.isArray(s)){(0,ys.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}To(t,s)}};function To(t,e){let{gen:r,schema:s,data:n,keyword:o,it:a}=t;a.items=!0;let i=r.const("len",(0,Oe._)`${n}.length`);if(s===!1)t.setParams({len:e.length}),t.pass((0,Oe._)`${i} <= ${e.length}`);else if(typeof s=="object"&&!(0,ys.alwaysValidSchema)(a,s)){let l=r.var("valid",(0,Oe._)`${i} <= ${e.length}`);r.if((0,Oe.not)(l),()=>c(l)),t.ok(l)}function c(l){r.forRange("i",e.length,i,u=>{t.subschema({keyword:o,dataProp:u,dataPropType:ys.Type.Num},l),a.allErrors||r.if((0,Oe.not)(l),()=>r.break())})}}gt.validateAdditionalItems=To;gt.default=Sl});var gs=g($t=>{"use strict";Object.defineProperty($t,"__esModule",{value:!0});$t.validateTuple=void 0;var Co=S(),Gt=j(),Pl=B(),Nl={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return Mo(t,"additionalItems",e);r.items=!0,!(0,Gt.alwaysValidSchema)(r,e)&&t.ok((0,Pl.validateArray)(t))}};function Mo(t,e,r=t.schema){let{gen:s,parentSchema:n,data:o,keyword:a,it:i}=t;u(n),i.opts.unevaluated&&r.length&&i.items!==!0&&(i.items=Gt.mergeEvaluated.items(s,r.length,i.items));let c=s.name("valid"),l=s.const("len",(0,Co._)`${o}.length`);r.forEach((d,y)=>{(0,Gt.alwaysValidSchema)(i,d)||(s.if((0,Co._)`${l} > ${y}`,()=>t.subschema({keyword:a,schemaProp:y,dataProp:y},c)),t.ok(c))});function u(d){let{opts:y,errSchemaPath:m}=i,h=r.length,f=h===d.minItems&&(h===d.maxItems||d[e]===!1);if(y.strictTuples&&!f){let p=`"${a}" is ${h}-tuple, but minItems or maxItems/${e} are not specified or different at path "${m}"`;(0,Gt.checkStrictMode)(i,p,y.strictTuples)}}}$t.validateTuple=Mo;$t.default=Nl});var Ao=g($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});var kl=gs(),ql={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,kl.validateTuple)(t,"items")};$s.default=ql});var Vo=g(vs=>{"use strict";Object.defineProperty(vs,"__esModule",{value:!0});var Do=S(),jl=j(),Ol=B(),Il=_s(),Rl={message:({params:{len:t}})=>(0,Do.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Do._)`{limit: ${t}}`},Tl={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Rl,code(t){let{schema:e,parentSchema:r,it:s}=t,{prefixItems:n}=r;s.items=!0,!(0,jl.alwaysValidSchema)(s,e)&&(n?(0,Il.validateAdditionalItems)(t,n):t.ok((0,Ol.validateArray)(t)))}};vs.default=Tl});var zo=g(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});var Y=S(),Jt=j(),Cl={message:({params:{min:t,max:e}})=>e===void 0?(0,Y.str)`must contain at least ${t} valid item(s)`:(0,Y.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,Y._)`{minContains: ${t}}`:(0,Y._)`{minContains: ${t}, maxContains: ${e}}`},Ml={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Cl,code(t){let{gen:e,schema:r,parentSchema:s,data:n,it:o}=t,a,i,{minContains:c,maxContains:l}=s;o.opts.next?(a=c===void 0?1:c,i=l):a=1;let u=e.const("len",(0,Y._)`${n}.length`);if(t.setParams({min:a,max:i}),i===void 0&&a===0){(0,Jt.checkStrictMode)(o,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(i!==void 0&&a>i){(0,Jt.checkStrictMode)(o,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,Jt.alwaysValidSchema)(o,r)){let f=(0,Y._)`${u} >= ${a}`;i!==void 0&&(f=(0,Y._)`${f} && ${u} <= ${i}`),t.pass(f);return}o.items=!0;let d=e.name("valid");i===void 0&&a===1?m(d,()=>e.if(d,()=>e.break())):a===0?(e.let(d,!0),i!==void 0&&e.if((0,Y._)`${n}.length > 0`,y)):(e.let(d,!1),y()),t.result(d,()=>t.reset());function y(){let f=e.name("_valid"),p=e.let("count",0);m(f,()=>e.if(f,()=>h(p)))}function m(f,p){e.forRange("i",0,u,_=>{t.subschema({keyword:"contains",dataProp:_,dataPropType:Jt.Type.Num,compositeRule:!0},f),p()})}function h(f){e.code((0,Y._)`${f}++`),i===void 0?e.if((0,Y._)`${f} >= ${a}`,()=>e.assign(d,!0).break()):(e.if((0,Y._)`${f} > ${i}`,()=>e.assign(d,!1).break()),a===1?e.assign(d,!0):e.if((0,Y._)`${f} >= ${a}`,()=>e.assign(d,!0)))}}};ws.default=Ml});var Fo=g(ie=>{"use strict";Object.defineProperty(ie,"__esModule",{value:!0});ie.validateSchemaDeps=ie.validatePropertyDeps=ie.error=void 0;var bs=S(),Al=j(),vt=B();ie.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let s=e===1?"property":"properties";return(0,bs.str)`must have ${s} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:s}})=>(0,bs._)`{property: ${t},
6
- missingProperty: ${s},
7
- depsCount: ${e},
8
- deps: ${r}}`};var Dl={keyword:"dependencies",type:"object",schemaType:"object",error:ie.error,code(t){let[e,r]=Vl(t);Uo(t,e),Ko(t,r)}};function Vl({schema:t}){let e={},r={};for(let s in t){if(s==="__proto__")continue;let n=Array.isArray(t[s])?e:r;n[s]=t[s]}return[e,r]}function Uo(t,e=t.schema){let{gen:r,data:s,it:n}=t;if(Object.keys(e).length===0)return;let o=r.let("missing");for(let a in e){let i=e[a];if(i.length===0)continue;let c=(0,vt.propertyInData)(r,s,a,n.opts.ownProperties);t.setParams({property:a,depsCount:i.length,deps:i.join(", ")}),n.allErrors?r.if(c,()=>{for(let l of i)(0,vt.checkReportMissingProp)(t,l)}):(r.if((0,bs._)`${c} && (${(0,vt.checkMissingProp)(t,i,o)})`),(0,vt.reportMissingProp)(t,o),r.else())}}ie.validatePropertyDeps=Uo;function Ko(t,e=t.schema){let{gen:r,data:s,keyword:n,it:o}=t,a=r.name("valid");for(let i in e)(0,Al.alwaysValidSchema)(o,e[i])||(r.if((0,vt.propertyInData)(r,s,i,o.opts.ownProperties),()=>{let c=t.subschema({keyword:n,schemaProp:i},a);t.mergeValidEvaluated(c,a)},()=>r.var(a,!0)),t.ok(a))}ie.validateSchemaDeps=Ko;ie.default=Dl});var Lo=g(Es=>{"use strict";Object.defineProperty(Es,"__esModule",{value:!0});var xo=S(),zl=j(),Ul={message:"property name must be valid",params:({params:t})=>(0,xo._)`{propertyName: ${t.propertyName}}`},Kl={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Ul,code(t){let{gen:e,schema:r,data:s,it:n}=t;if((0,zl.alwaysValidSchema)(n,r))return;let o=e.name("valid");e.forIn("key",s,a=>{t.setParams({propertyName:a}),t.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:!0},o),e.if((0,xo.not)(o),()=>{t.error(!0),n.allErrors||e.break()})}),t.ok(o)}};Es.default=Kl});var Ps=g(Ss=>{"use strict";Object.defineProperty(Ss,"__esModule",{value:!0});var Wt=B(),re=S(),Fl=de(),Qt=j(),xl={message:"must NOT have additional properties",params:({params:t})=>(0,re._)`{additionalProperty: ${t.additionalProperty}}`},Ll={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:xl,code(t){let{gen:e,schema:r,parentSchema:s,data:n,errsCount:o,it:a}=t;if(!o)throw new Error("ajv implementation error");let{allErrors:i,opts:c}=a;if(a.props=!0,c.removeAdditional!=="all"&&(0,Qt.alwaysValidSchema)(a,r))return;let l=(0,Wt.allSchemaProperties)(s.properties),u=(0,Wt.allSchemaProperties)(s.patternProperties);d(),t.ok((0,re._)`${o} === ${Fl.default.errors}`);function d(){e.forIn("key",n,p=>{!l.length&&!u.length?h(p):e.if(y(p),()=>h(p))})}function y(p){let _;if(l.length>8){let q=(0,Qt.schemaRefOrVal)(a,s.properties,"properties");_=(0,Wt.isOwnProperty)(e,q,p)}else l.length?_=(0,re.or)(...l.map(q=>(0,re._)`${p} === ${q}`)):_=re.nil;return u.length&&(_=(0,re.or)(_,...u.map(q=>(0,re._)`${(0,Wt.usePattern)(t,q)}.test(${p})`))),(0,re.not)(_)}function m(p){e.code((0,re._)`delete ${n}[${p}]`)}function h(p){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){m(p);return}if(r===!1){t.setParams({additionalProperty:p}),t.error(),i||e.break();return}if(typeof r=="object"&&!(0,Qt.alwaysValidSchema)(a,r)){let _=e.name("valid");c.removeAdditional==="failing"?(f(p,_,!1),e.if((0,re.not)(_),()=>{t.reset(),m(p)})):(f(p,_),i||e.if((0,re.not)(_),()=>e.break()))}}function f(p,_,q){let N={keyword:"additionalProperties",dataProp:p,dataPropType:Qt.Type.Str};q===!1&&Object.assign(N,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(N,_)}}};Ss.default=Ll});var Jo=g(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});var Hl=at(),Ho=B(),Ns=j(),Go=Ps(),Gl={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:s,data:n,it:o}=t;o.opts.removeAdditional==="all"&&s.additionalProperties===void 0&&Go.default.code(new Hl.KeywordCxt(o,Go.default,"additionalProperties"));let a=(0,Ho.allSchemaProperties)(r);for(let d of a)o.definedProperties.add(d);o.opts.unevaluated&&a.length&&o.props!==!0&&(o.props=Ns.mergeEvaluated.props(e,(0,Ns.toHash)(a),o.props));let i=a.filter(d=>!(0,Ns.alwaysValidSchema)(o,r[d]));if(i.length===0)return;let c=e.name("valid");for(let d of i)l(d)?u(d):(e.if((0,Ho.propertyInData)(e,n,d,o.opts.ownProperties)),u(d),o.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function l(d){return o.opts.useDefaults&&!o.compositeRule&&r[d].default!==void 0}function u(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};ks.default=Gl});var Xo=g(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});var Wo=B(),Bt=S(),Qo=j(),Bo=j(),Jl={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:s,parentSchema:n,it:o}=t,{opts:a}=o,i=(0,Wo.allSchemaProperties)(r),c=i.filter(f=>(0,Qo.alwaysValidSchema)(o,r[f]));if(i.length===0||c.length===i.length&&(!o.opts.unevaluated||o.props===!0))return;let l=a.strictSchema&&!a.allowMatchingProperties&&n.properties,u=e.name("valid");o.props!==!0&&!(o.props instanceof Bt.Name)&&(o.props=(0,Bo.evaluatedPropsToName)(e,o.props));let{props:d}=o;y();function y(){for(let f of i)l&&m(f),o.allErrors?h(f):(e.var(u,!0),h(f),e.if(u))}function m(f){for(let p in l)new RegExp(f).test(p)&&(0,Qo.checkStrictMode)(o,`property ${p} matches pattern ${f} (use allowMatchingProperties)`)}function h(f){e.forIn("key",s,p=>{e.if((0,Bt._)`${(0,Wo.usePattern)(t,f)}.test(${p})`,()=>{let _=c.includes(f);_||t.subschema({keyword:"patternProperties",schemaProp:f,dataProp:p,dataPropType:Bo.Type.Str},u),o.opts.unevaluated&&d!==!0?e.assign((0,Bt._)`${d}[${p}]`,!0):!_&&!o.allErrors&&e.if((0,Bt.not)(u),()=>e.break())})})}}};qs.default=Jl});var Yo=g(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});var Wl=j(),Ql={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:s}=t;if((0,Wl.alwaysValidSchema)(s,r)){t.fail();return}let n=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},n),t.failResult(n,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};js.default=Ql});var Zo=g(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});var Bl=B(),Xl={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Bl.validateUnion,error:{message:"must match a schema in anyOf"}};Os.default=Xl});var ea=g(Is=>{"use strict";Object.defineProperty(Is,"__esModule",{value:!0});var Xt=S(),Yl=j(),Zl={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,Xt._)`{passingSchemas: ${t.passing}}`},ed={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Zl,code(t){let{gen:e,schema:r,parentSchema:s,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(n.opts.discriminator&&s.discriminator)return;let o=r,a=e.let("valid",!1),i=e.let("passing",null),c=e.name("_valid");t.setParams({passing:i}),e.block(l),t.result(a,()=>t.reset(),()=>t.error(!0));function l(){o.forEach((u,d)=>{let y;(0,Yl.alwaysValidSchema)(n,u)?e.var(c,!0):y=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,Xt._)`${c} && ${a}`).assign(a,!1).assign(i,(0,Xt._)`[${i}, ${d}]`).else(),e.if(c,()=>{e.assign(a,!0),e.assign(i,d),y&&t.mergeEvaluated(y,Xt.Name)})})}}};Is.default=ed});var ta=g(Rs=>{"use strict";Object.defineProperty(Rs,"__esModule",{value:!0});var td=j(),rd={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let n=e.name("valid");r.forEach((o,a)=>{if((0,td.alwaysValidSchema)(s,o))return;let i=t.subschema({keyword:"allOf",schemaProp:a},n);t.ok(n),t.mergeEvaluated(i)})}};Rs.default=rd});var na=g(Ts=>{"use strict";Object.defineProperty(Ts,"__esModule",{value:!0});var Yt=S(),sa=j(),sd={message:({params:t})=>(0,Yt.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,Yt._)`{failingKeyword: ${t.ifClause}}`},nd={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:sd,code(t){let{gen:e,parentSchema:r,it:s}=t;r.then===void 0&&r.else===void 0&&(0,sa.checkStrictMode)(s,'"if" without "then" and "else" is ignored');let n=ra(s,"then"),o=ra(s,"else");if(!n&&!o)return;let a=e.let("valid",!0),i=e.name("_valid");if(c(),t.reset(),n&&o){let u=e.let("ifClause");t.setParams({ifClause:u}),e.if(i,l("then",u),l("else",u))}else n?e.if(i,l("then")):e.if((0,Yt.not)(i),l("else"));t.pass(a,()=>t.error(!0));function c(){let u=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},i);t.mergeEvaluated(u)}function l(u,d){return()=>{let y=t.subschema({keyword:u},i);e.assign(a,i),t.mergeValidEvaluated(y,a),d?e.assign(d,(0,Yt._)`${u}`):t.setParams({ifClause:u})}}}};function ra(t,e){let r=t.schema[e];return r!==void 0&&!(0,sa.alwaysValidSchema)(t,r)}Ts.default=nd});var oa=g(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});var od=j(),ad={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,od.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Cs.default=ad});var aa=g(Ms=>{"use strict";Object.defineProperty(Ms,"__esModule",{value:!0});var id=_s(),cd=Ao(),ud=gs(),ld=Vo(),dd=zo(),fd=Fo(),hd=Lo(),pd=Ps(),md=Jo(),yd=Xo(),_d=Yo(),gd=Zo(),$d=ea(),vd=ta(),wd=na(),bd=oa();function Ed(t=!1){let e=[_d.default,gd.default,$d.default,vd.default,wd.default,bd.default,hd.default,pd.default,fd.default,md.default,yd.default];return t?e.push(cd.default,ld.default):e.push(id.default,ud.default),e.push(dd.default),e}Ms.default=Ed});var ia=g(As=>{"use strict";Object.defineProperty(As,"__esModule",{value:!0});var D=S(),Sd={message:({schemaCode:t})=>(0,D.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,D._)`{format: ${t}}`},Pd={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:Sd,code(t,e){let{gen:r,data:s,$data:n,schema:o,schemaCode:a,it:i}=t,{opts:c,errSchemaPath:l,schemaEnv:u,self:d}=i;if(!c.validateFormats)return;n?y():m();function y(){let h=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),f=r.const("fDef",(0,D._)`${h}[${a}]`),p=r.let("fType"),_=r.let("format");r.if((0,D._)`typeof ${f} == "object" && !(${f} instanceof RegExp)`,()=>r.assign(p,(0,D._)`${f}.type || "string"`).assign(_,(0,D._)`${f}.validate`),()=>r.assign(p,(0,D._)`"string"`).assign(_,f)),t.fail$data((0,D.or)(q(),N()));function q(){return c.strictSchema===!1?D.nil:(0,D._)`${a} && !${_}`}function N(){let C=u.$async?(0,D._)`(${f}.async ? await ${_}(${s}) : ${_}(${s}))`:(0,D._)`${_}(${s})`,w=(0,D._)`(typeof ${_} == "function" ? ${C} : ${_}.test(${s}))`;return(0,D._)`${_} && ${_} !== true && ${p} === ${e} && !${w}`}}function m(){let h=d.formats[o];if(!h){q();return}if(h===!0)return;let[f,p,_]=N(h);f===e&&t.pass(C());function q(){if(c.strictSchema===!1){d.logger.warn(w());return}throw new Error(w());function w(){return`unknown format "${o}" ignored in schema at path "${l}"`}}function N(w){let se=w instanceof RegExp?(0,D.regexpCode)(w):c.code.formats?(0,D._)`${c.code.formats}${(0,D.getProperty)(o)}`:void 0,ce=r.scopeValue("formats",{key:o,ref:w,code:se});return typeof w=="object"&&!(w instanceof RegExp)?[w.type||"string",w.validate,(0,D._)`${ce}.validate`]:["string",w,ce]}function C(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!u.$async)throw new Error("async format in sync schema");return(0,D._)`await ${_}(${s})`}return typeof p=="function"?(0,D._)`${_}(${s})`:(0,D._)`${_}.test(${s})`}}}};As.default=Pd});var ca=g(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});var Nd=ia(),kd=[Nd.default];Ds.default=kd});var ua=g(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.contentVocabulary=Fe.metadataVocabulary=void 0;Fe.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Fe.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var da=g(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});var qd=go(),jd=Ro(),Od=aa(),Id=ca(),la=ua(),Rd=[qd.default,jd.default,(0,Od.default)(),Id.default,la.metadataVocabulary,la.contentVocabulary];Vs.default=Rd});var ha=g(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.DiscrError=void 0;var fa;(function(t){t.Tag="tag",t.Mapping="mapping"})(fa||(Zt.DiscrError=fa={}))});var ma=g(Us=>{"use strict";Object.defineProperty(Us,"__esModule",{value:!0});var xe=S(),zs=ha(),pa=Mt(),Td=it(),Cd=j(),Md={message:({params:{discrError:t,tagName:e}})=>t===zs.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,xe._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},Ad={keyword:"discriminator",type:"object",schemaType:"object",error:Md,code(t){let{gen:e,data:r,schema:s,parentSchema:n,it:o}=t,{oneOf:a}=n;if(!o.opts.discriminator)throw new Error("discriminator: requires discriminator option");let i=s.propertyName;if(typeof i!="string")throw new Error("discriminator: requires propertyName");if(s.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),l=e.const("tag",(0,xe._)`${r}${(0,xe.getProperty)(i)}`);e.if((0,xe._)`typeof ${l} == "string"`,()=>u(),()=>t.error(!1,{discrError:zs.DiscrError.Tag,tag:l,tagName:i})),t.ok(c);function u(){let m=y();e.if(!1);for(let h in m)e.elseIf((0,xe._)`${l} === ${h}`),e.assign(c,d(m[h]));e.else(),t.error(!1,{discrError:zs.DiscrError.Mapping,tag:l,tagName:i}),e.endIf()}function d(m){let h=e.name("valid"),f=t.subschema({keyword:"oneOf",schemaProp:m},h);return t.mergeEvaluated(f,xe.Name),h}function y(){var m;let h={},f=_(n),p=!0;for(let C=0;C<a.length;C++){let w=a[C];if(w?.$ref&&!(0,Cd.schemaHasRulesButRef)(w,o.self.RULES)){let ce=w.$ref;if(w=pa.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,ce),w instanceof pa.SchemaEnv&&(w=w.schema),w===void 0)throw new Td.default(o.opts.uriResolver,o.baseId,ce)}let se=(m=w?.properties)===null||m===void 0?void 0:m[i];if(typeof se!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${i}"`);p=p&&(f||_(w)),q(se,C)}if(!p)throw new Error(`discriminator: "${i}" must be required`);return h;function _({required:C}){return Array.isArray(C)&&C.includes(i)}function q(C,w){if(C.const)N(C.const,w);else if(C.enum)for(let se of C.enum)N(se,w);else throw new Error(`discriminator: "properties/${i}" must have "const" or "enum"`)}function N(C,w){if(typeof C!="string"||C in h)throw new Error(`discriminator: "${i}" values must be unique strings`);h[C]=w}}}};Us.default=Ad});var ya=g((oh,Dd)=>{Dd.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var Hd=g((A,Ks)=>{Object.defineProperty(A,"__esModule",{value:!0});A.MissingRefError=A.ValidationError=A.CodeGen=A.Name=A.nil=A.stringify=A.str=A._=A.KeywordCxt=A.Ajv=void 0;var Vd=fo(),zd=da(),Ud=ma(),_a=ya(),Kd=["/properties"],er="http://json-schema.org/draft-07/schema",Le=class extends Vd.default{_addVocabularies(){super._addVocabularies(),zd.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(Ud.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(_a,Kd):_a;this.addMetaSchema(e,er,!1),this.refs["http://json-schema.org/schema"]=er}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(er)?er:void 0)}};A.Ajv=Le;Ks.exports=A=Le;Ks.exports.Ajv=Le;Object.defineProperty(A,"__esModule",{value:!0});A.default=Le;var Fd=at();Object.defineProperty(A,"KeywordCxt",{enumerable:!0,get:function(){return Fd.KeywordCxt}});var He=S();Object.defineProperty(A,"_",{enumerable:!0,get:function(){return He._}});Object.defineProperty(A,"str",{enumerable:!0,get:function(){return He.str}});Object.defineProperty(A,"stringify",{enumerable:!0,get:function(){return He.stringify}});Object.defineProperty(A,"nil",{enumerable:!0,get:function(){return He.nil}});Object.defineProperty(A,"Name",{enumerable:!0,get:function(){return He.Name}});Object.defineProperty(A,"CodeGen",{enumerable:!0,get:function(){return He.CodeGen}});var xd=Tt();Object.defineProperty(A,"ValidationError",{enumerable:!0,get:function(){return xd.default}});var Ld=it();Object.defineProperty(A,"MissingRefError",{enumerable:!0,get:function(){return Ld.default}})});export default Hd();
9
- //# sourceMappingURL=ajv-U35FOJ27.js.map