@hyperjump/json-schema 0.23.2 → 0.23.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema-amd.min.js","sources":["../node_modules/just-curry-it/index.js","../node_modules/pubsub-js/src/pubsub.js","../node_modules/uri-js/dist/es5/uri.all.js","../node_modules/@hyperjump/json-schema-core/lib/common.js","../node_modules/@hyperjump/json-pointer/lib/index.js","../node_modules/@hyperjump/json-schema-core/lib/reference.js","../node_modules/@hyperjump/json-schema-core/lib/instance.js","../node_modules/@hyperjump/pact/lib/entries.js","../node_modules/@hyperjump/pact/node_modules/just-curry-it/index.js","../node_modules/@hyperjump/pact/lib/map.js","../node_modules/@hyperjump/pact/lib/reduce.js","../node_modules/@hyperjump/pact/lib/filter.js","../node_modules/@hyperjump/pact/lib/some.js","../node_modules/@hyperjump/pact/lib/every.js","../node_modules/@hyperjump/pact/lib/pipeline.js","../node_modules/@hyperjump/pact/lib/allValues.js","../node_modules/@hyperjump/pact/lib/index.js","../node_modules/@hyperjump/pact/lib/all.js","../node_modules/@hyperjump/json-schema-core/lib/fetch.browser.js","../node_modules/content-type/index.js","../node_modules/@hyperjump/json-schema-core/lib/media-types.js","../node_modules/@hyperjump/json-schema-core/lib/schema.js","../node_modules/@hyperjump/json-schema-core/lib/invalid-schema-error.js","../node_modules/@hyperjump/json-schema-core/lib/keywords/meta-data.js","../node_modules/@hyperjump/json-schema-core/lib/core.js","../node_modules/@hyperjump/json-schema-core/lib/keywords/validate.js","../node_modules/@hyperjump/json-schema-core/lib/index.js","../node_modules/@hyperjump/json-schema-core/lib/keywords/index.js","../lib/keywords/additionalItems.js","../lib/keywords/additionalItems6.js","../lib/keywords/additionalProperties.js","../lib/keywords/additionalProperties6.js","../lib/keywords/allOf.js","../lib/keywords/anyOf.js","../node_modules/fastest-stable-stringify/index.js","../lib/keywords/const.js","../lib/keywords/contains.js","../lib/keywords/contains-minContains-maxContains.js","../lib/keywords/definitions.js","../lib/keywords/dependencies.js","../lib/keywords/dependentRequired.js","../lib/keywords/dependentSchemas.js","../lib/keywords/enum.js","../lib/keywords/exclusiveMaximum.js","../lib/keywords/exclusiveMinimum.js","../lib/keywords/if.js","../lib/keywords/then.js","../lib/keywords/else.js","../lib/keywords/items.js","../lib/keywords/items202012.js","../lib/keywords/maxItems.js","../lib/keywords/maxLength.js","../lib/keywords/maxProperties.js","../lib/keywords/maximum-exclusiveMaximum.js","../lib/keywords/maximum.js","../lib/keywords/minItems.js","../lib/keywords/minLength.js","../lib/keywords/minProperties.js","../lib/keywords/minimum-exclusiveMinimum.js","../lib/keywords/minimum.js","../lib/keywords/multipleOf.js","../lib/keywords/not.js","../lib/keywords/oneOf.js","../lib/keywords/pattern.js","../lib/keywords/patternProperties.js","../lib/common.js","../lib/keywords/properties.js","../lib/keywords/propertyNames.js","../lib/keywords/dynamicRef.js","../lib/keywords/ref.js","../lib/keywords/required.js","../lib/keywords/tupleItems.js","../lib/keywords/type.js","../lib/keywords/unevaluatedItems.js","../lib/keywords/unevaluatedProperties.js","../lib/keywords/uniqueItems.js","../lib/keywords/index.js","../lib/draft-04.js","../meta/draft-04/schema.js","../lib/draft-06.js","../meta/draft-06/schema.js","../lib/draft-07.js","../meta/draft-07/schema.js","../lib/draft-2019-09.js","../meta/draft/2019-09/schema.js","../meta/draft/2019-09/meta/core.js","../meta/draft/2019-09/meta/applicator.js","../meta/draft/2019-09/meta/validation.js","../meta/draft/2019-09/meta/meta-data.js","../meta/draft/2019-09/meta/format.js","../meta/draft/2019-09/meta/content.js","../lib/draft-2020-12.js","../meta/draft/2020-12/schema.js","../meta/draft/2020-12/meta/core.js","../meta/draft/2020-12/meta/applicator.js","../meta/draft/2020-12/meta/validation.js","../meta/draft/2020-12/meta/meta-data.js","../meta/draft/2020-12/meta/format-annotation.js","../meta/draft/2020-12/meta/format-assertion.js","../meta/draft/2020-12/meta/content.js","../meta/draft/2020-12/meta/unevaluated.js","../lib/index.js"],"sourcesContent":["module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n","/**\n * Copyright (c) 2010,2011,2012,2013,2014 Morgan Roderick http://roderick.dk\n * License: MIT - http://mrgnrdrck.mit-license.org\n *\n * https://github.com/mroderick/PubSubJS\n */\n\n(function (root, factory){\n 'use strict';\n\n var PubSub = {};\n\n if (root.PubSub) {\n PubSub = root.PubSub;\n console.warn(\"PubSub already loaded, using existing version\");\n } else {\n root.PubSub = PubSub;\n factory(PubSub);\n }\n // CommonJS and Node.js module support\n if (typeof exports === 'object'){\n if (module !== undefined && module.exports) {\n exports = module.exports = PubSub; // Node.js specific `module.exports`\n }\n exports.PubSub = PubSub; // CommonJS module 1.1.1 spec\n module.exports = exports = PubSub; // CommonJS\n }\n // AMD support\n /* eslint-disable no-undef */\n else if (typeof define === 'function' && define.amd){\n define(function() { return PubSub; });\n /* eslint-enable no-undef */\n }\n\n}(( typeof window === 'object' && window ) || this, function (PubSub){\n 'use strict';\n\n var messages = {},\n lastUid = -1,\n ALL_SUBSCRIBING_MSG = '*';\n\n function hasKeys(obj){\n var key;\n\n for (key in obj){\n if ( Object.prototype.hasOwnProperty.call(obj, key) ){\n return true;\n }\n }\n return false;\n }\n\n /**\n * Returns a function that throws the passed exception, for use as argument for setTimeout\n * @alias throwException\n * @function\n * @param { Object } ex An Error object\n */\n function throwException( ex ){\n return function reThrowException(){\n throw ex;\n };\n }\n\n function callSubscriberWithDelayedExceptions( subscriber, message, data ){\n try {\n subscriber( message, data );\n } catch( ex ){\n setTimeout( throwException( ex ), 0);\n }\n }\n\n function callSubscriberWithImmediateExceptions( subscriber, message, data ){\n subscriber( message, data );\n }\n\n function deliverMessage( originalMessage, matchedMessage, data, immediateExceptions ){\n var subscribers = messages[matchedMessage],\n callSubscriber = immediateExceptions ? callSubscriberWithImmediateExceptions : callSubscriberWithDelayedExceptions,\n s;\n\n if ( !Object.prototype.hasOwnProperty.call( messages, matchedMessage ) ) {\n return;\n }\n\n for (s in subscribers){\n if ( Object.prototype.hasOwnProperty.call(subscribers, s)){\n callSubscriber( subscribers[s], originalMessage, data );\n }\n }\n }\n\n function createDeliveryFunction( message, data, immediateExceptions ){\n return function deliverNamespaced(){\n var topic = String( message ),\n position = topic.lastIndexOf( '.' );\n\n // deliver the message as it is now\n deliverMessage(message, message, data, immediateExceptions);\n\n // trim the hierarchy and deliver message to each level\n while( position !== -1 ){\n topic = topic.substr( 0, position );\n position = topic.lastIndexOf('.');\n deliverMessage( message, topic, data, immediateExceptions );\n }\n\n deliverMessage(message, ALL_SUBSCRIBING_MSG, data, immediateExceptions);\n };\n }\n\n function hasDirectSubscribersFor( message ) {\n var topic = String( message ),\n found = Boolean(Object.prototype.hasOwnProperty.call( messages, topic ) && hasKeys(messages[topic]));\n\n return found;\n }\n\n function messageHasSubscribers( message ){\n var topic = String( message ),\n found = hasDirectSubscribersFor(topic) || hasDirectSubscribersFor(ALL_SUBSCRIBING_MSG),\n position = topic.lastIndexOf( '.' );\n\n while ( !found && position !== -1 ){\n topic = topic.substr( 0, position );\n position = topic.lastIndexOf( '.' );\n found = hasDirectSubscribersFor(topic);\n }\n\n return found;\n }\n\n function publish( message, data, sync, immediateExceptions ){\n message = (typeof message === 'symbol') ? message.toString() : message;\n\n var deliver = createDeliveryFunction( message, data, immediateExceptions ),\n hasSubscribers = messageHasSubscribers( message );\n\n if ( !hasSubscribers ){\n return false;\n }\n\n if ( sync === true ){\n deliver();\n } else {\n setTimeout( deliver, 0 );\n }\n return true;\n }\n\n /**\n * Publishes the message, passing the data to it's subscribers\n * @function\n * @alias publish\n * @param { String } message The message to publish\n * @param {} data The data to pass to subscribers\n * @return { Boolean }\n */\n PubSub.publish = function( message, data ){\n return publish( message, data, false, PubSub.immediateExceptions );\n };\n\n /**\n * Publishes the message synchronously, passing the data to it's subscribers\n * @function\n * @alias publishSync\n * @param { String } message The message to publish\n * @param {} data The data to pass to subscribers\n * @return { Boolean }\n */\n PubSub.publishSync = function( message, data ){\n return publish( message, data, true, PubSub.immediateExceptions );\n };\n\n /**\n * Subscribes the passed function to the passed message. Every returned token is unique and should be stored if you need to unsubscribe\n * @function\n * @alias subscribe\n * @param { String } message The message to subscribe to\n * @param { Function } func The function to call when a new message is published\n * @return { String }\n */\n PubSub.subscribe = function( message, func ){\n if ( typeof func !== 'function'){\n return false;\n }\n\n message = (typeof message === 'symbol') ? message.toString() : message;\n\n // message is not registered yet\n if ( !Object.prototype.hasOwnProperty.call( messages, message ) ){\n messages[message] = {};\n }\n\n // forcing token as String, to allow for future expansions without breaking usage\n // and allow for easy use as key names for the 'messages' object\n var token = 'uid_' + String(++lastUid);\n messages[message][token] = func;\n\n // return token for unsubscribing\n return token;\n };\n\n PubSub.subscribeAll = function( func ){\n return PubSub.subscribe(ALL_SUBSCRIBING_MSG, func);\n };\n\n /**\n * Subscribes the passed function to the passed message once\n * @function\n * @alias subscribeOnce\n * @param { String } message The message to subscribe to\n * @param { Function } func The function to call when a new message is published\n * @return { PubSub }\n */\n PubSub.subscribeOnce = function( message, func ){\n var token = PubSub.subscribe( message, function(){\n // before func apply, unsubscribe message\n PubSub.unsubscribe( token );\n func.apply( this, arguments );\n });\n return PubSub;\n };\n\n /**\n * Clears all subscriptions\n * @function\n * @public\n * @alias clearAllSubscriptions\n */\n PubSub.clearAllSubscriptions = function clearAllSubscriptions(){\n messages = {};\n };\n\n /**\n * Clear subscriptions by the topic\n * @function\n * @public\n * @alias clearAllSubscriptions\n * @return { int }\n */\n PubSub.clearSubscriptions = function clearSubscriptions(topic){\n var m;\n for (m in messages){\n if (Object.prototype.hasOwnProperty.call(messages, m) && m.indexOf(topic) === 0){\n delete messages[m];\n }\n }\n };\n\n /**\n Count subscriptions by the topic\n * @function\n * @public\n * @alias countSubscriptions\n * @return { Array }\n */\n PubSub.countSubscriptions = function countSubscriptions(topic){\n var m;\n // eslint-disable-next-line no-unused-vars\n var token;\n var count = 0;\n for (m in messages) {\n if (Object.prototype.hasOwnProperty.call(messages, m) && m.indexOf(topic) === 0) {\n for (token in messages[m]) {\n count++;\n }\n break;\n }\n }\n return count;\n };\n\n\n /**\n Gets subscriptions by the topic\n * @function\n * @public\n * @alias getSubscriptions\n */\n PubSub.getSubscriptions = function getSubscriptions(topic){\n var m;\n var list = [];\n for (m in messages){\n if (Object.prototype.hasOwnProperty.call(messages, m) && m.indexOf(topic) === 0){\n list.push(m);\n }\n }\n return list;\n };\n\n /**\n * Removes subscriptions\n *\n * - When passed a token, removes a specific subscription.\n *\n\t * - When passed a function, removes all subscriptions for that function\n *\n\t * - When passed a topic, removes all subscriptions for that topic (hierarchy)\n * @function\n * @public\n * @alias subscribeOnce\n * @param { String | Function } value A token, function or topic to unsubscribe from\n * @example // Unsubscribing with a token\n * var token = PubSub.subscribe('mytopic', myFunc);\n * PubSub.unsubscribe(token);\n * @example // Unsubscribing with a function\n * PubSub.unsubscribe(myFunc);\n * @example // Unsubscribing from a topic\n * PubSub.unsubscribe('mytopic');\n */\n PubSub.unsubscribe = function(value){\n var descendantTopicExists = function(topic) {\n var m;\n for ( m in messages ){\n if ( Object.prototype.hasOwnProperty.call(messages, m) && m.indexOf(topic) === 0 ){\n // a descendant of the topic exists:\n return true;\n }\n }\n\n return false;\n },\n isTopic = typeof value === 'string' && ( Object.prototype.hasOwnProperty.call(messages, value) || descendantTopicExists(value) ),\n isToken = !isTopic && typeof value === 'string',\n isFunction = typeof value === 'function',\n result = false,\n m, message, t;\n\n if (isTopic){\n PubSub.clearSubscriptions(value);\n return;\n }\n\n for ( m in messages ){\n if ( Object.prototype.hasOwnProperty.call( messages, m ) ){\n message = messages[m];\n\n if ( isToken && message[value] ){\n delete message[value];\n result = value;\n // tokens are unique, so we can just stop here\n break;\n }\n\n if (isFunction) {\n for ( t in message ){\n if (Object.prototype.hasOwnProperty.call(message, t) && message[t] === value){\n delete message[t];\n result = true;\n }\n }\n }\n }\n }\n\n return result;\n };\n}));\n","/** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.URI = global.URI || {})));\n}(this, (function (exports) { 'use strict';\n\nfunction merge() {\n for (var _len = arguments.length, sets = Array(_len), _key = 0; _key < _len; _key++) {\n sets[_key] = arguments[_key];\n }\n\n if (sets.length > 1) {\n sets[0] = sets[0].slice(0, -1);\n var xl = sets.length - 1;\n for (var x = 1; x < xl; ++x) {\n sets[x] = sets[x].slice(1, -1);\n }\n sets[xl] = sets[xl].slice(1);\n return sets.join('');\n } else {\n return sets[0];\n }\n}\nfunction subexp(str) {\n return \"(?:\" + str + \")\";\n}\nfunction typeOf(o) {\n return o === undefined ? \"undefined\" : o === null ? \"null\" : Object.prototype.toString.call(o).split(\" \").pop().split(\"]\").shift().toLowerCase();\n}\nfunction toUpperCase(str) {\n return str.toUpperCase();\n}\nfunction toArray(obj) {\n return obj !== undefined && obj !== null ? obj instanceof Array ? obj : typeof obj.length !== \"number\" || obj.split || obj.setInterval || obj.call ? [obj] : Array.prototype.slice.call(obj) : [];\n}\nfunction assign(target, source) {\n var obj = target;\n if (source) {\n for (var key in source) {\n obj[key] = source[key];\n }\n }\n return obj;\n}\n\nfunction buildExps(isIRI) {\n var ALPHA$$ = \"[A-Za-z]\",\n CR$ = \"[\\\\x0D]\",\n DIGIT$$ = \"[0-9]\",\n DQUOTE$$ = \"[\\\\x22]\",\n HEXDIG$$ = merge(DIGIT$$, \"[A-Fa-f]\"),\n //case-insensitive\n LF$$ = \"[\\\\x0A]\",\n SP$$ = \"[\\\\x20]\",\n PCT_ENCODED$ = subexp(subexp(\"%[EFef]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%[89A-Fa-f]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%\" + HEXDIG$$ + HEXDIG$$)),\n //expanded\n GEN_DELIMS$$ = \"[\\\\:\\\\/\\\\?\\\\#\\\\[\\\\]\\\\@]\",\n SUB_DELIMS$$ = \"[\\\\!\\\\$\\\\&\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\=]\",\n RESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$),\n UCSCHAR$$ = isIRI ? \"[\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF]\" : \"[]\",\n //subset, excludes bidi control characters\n IPRIVATE$$ = isIRI ? \"[\\\\uE000-\\\\uF8FF]\" : \"[]\",\n //subset\n UNRESERVED$$ = merge(ALPHA$$, DIGIT$$, \"[\\\\-\\\\.\\\\_\\\\~]\", UCSCHAR$$),\n SCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, \"[\\\\+\\\\-\\\\.]\") + \"*\"),\n USERINFO$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:]\")) + \"*\"),\n DEC_OCTET$ = subexp(subexp(\"25[0-5]\") + \"|\" + subexp(\"2[0-4]\" + DIGIT$$) + \"|\" + subexp(\"1\" + DIGIT$$ + DIGIT$$) + \"|\" + subexp(\"[1-9]\" + DIGIT$$) + \"|\" + DIGIT$$),\n DEC_OCTET_RELAXED$ = subexp(subexp(\"25[0-5]\") + \"|\" + subexp(\"2[0-4]\" + DIGIT$$) + \"|\" + subexp(\"1\" + DIGIT$$ + DIGIT$$) + \"|\" + subexp(\"0?[1-9]\" + DIGIT$$) + \"|0?0?\" + DIGIT$$),\n //relaxed parsing rules\n IPV4ADDRESS$ = subexp(DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$),\n H16$ = subexp(HEXDIG$$ + \"{1,4}\"),\n LS32$ = subexp(subexp(H16$ + \"\\\\:\" + H16$) + \"|\" + IPV4ADDRESS$),\n IPV6ADDRESS1$ = subexp(subexp(H16$ + \"\\\\:\") + \"{6}\" + LS32$),\n // 6( h16 \":\" ) ls32\n IPV6ADDRESS2$ = subexp(\"\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{5}\" + LS32$),\n // \"::\" 5( h16 \":\" ) ls32\n IPV6ADDRESS3$ = subexp(subexp(H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{4}\" + LS32$),\n //[ h16 ] \"::\" 4( h16 \":\" ) ls32\n IPV6ADDRESS4$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,1}\" + H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{3}\" + LS32$),\n //[ *1( h16 \":\" ) h16 ] \"::\" 3( h16 \":\" ) ls32\n IPV6ADDRESS5$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,2}\" + H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{2}\" + LS32$),\n //[ *2( h16 \":\" ) h16 ] \"::\" 2( h16 \":\" ) ls32\n IPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,3}\" + H16$) + \"?\\\\:\\\\:\" + H16$ + \"\\\\:\" + LS32$),\n //[ *3( h16 \":\" ) h16 ] \"::\" h16 \":\" ls32\n IPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,4}\" + H16$) + \"?\\\\:\\\\:\" + LS32$),\n //[ *4( h16 \":\" ) h16 ] \"::\" ls32\n IPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,5}\" + H16$) + \"?\\\\:\\\\:\" + H16$),\n //[ *5( h16 \":\" ) h16 ] \"::\" h16\n IPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,6}\" + H16$) + \"?\\\\:\\\\:\"),\n //[ *6( h16 \":\" ) h16 ] \"::\"\n IPV6ADDRESS$ = subexp([IPV6ADDRESS1$, IPV6ADDRESS2$, IPV6ADDRESS3$, IPV6ADDRESS4$, IPV6ADDRESS5$, IPV6ADDRESS6$, IPV6ADDRESS7$, IPV6ADDRESS8$, IPV6ADDRESS9$].join(\"|\")),\n ZONEID$ = subexp(subexp(UNRESERVED$$ + \"|\" + PCT_ENCODED$) + \"+\"),\n //RFC 6874\n IPV6ADDRZ$ = subexp(IPV6ADDRESS$ + \"\\\\%25\" + ZONEID$),\n //RFC 6874\n IPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp(\"\\\\%25|\\\\%(?!\" + HEXDIG$$ + \"{2})\") + ZONEID$),\n //RFC 6874, with relaxed parsing rules\n IPVFUTURE$ = subexp(\"[vV]\" + HEXDIG$$ + \"+\\\\.\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:]\") + \"+\"),\n IP_LITERAL$ = subexp(\"\\\\[\" + subexp(IPV6ADDRZ_RELAXED$ + \"|\" + IPV6ADDRESS$ + \"|\" + IPVFUTURE$) + \"\\\\]\"),\n //RFC 6874\n REG_NAME$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$)) + \"*\"),\n HOST$ = subexp(IP_LITERAL$ + \"|\" + IPV4ADDRESS$ + \"(?!\" + REG_NAME$ + \")\" + \"|\" + REG_NAME$),\n PORT$ = subexp(DIGIT$$ + \"*\"),\n AUTHORITY$ = subexp(subexp(USERINFO$ + \"@\") + \"?\" + HOST$ + subexp(\"\\\\:\" + PORT$) + \"?\"),\n PCHAR$ = subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@]\")),\n SEGMENT$ = subexp(PCHAR$ + \"*\"),\n SEGMENT_NZ$ = subexp(PCHAR$ + \"+\"),\n SEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\@]\")) + \"+\"),\n PATH_ABEMPTY$ = subexp(subexp(\"\\\\/\" + SEGMENT$) + \"*\"),\n PATH_ABSOLUTE$ = subexp(\"\\\\/\" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + \"?\"),\n //simplified\n PATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$),\n //simplified\n PATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$),\n //simplified\n PATH_EMPTY$ = \"(?!\" + PCHAR$ + \")\",\n PATH$ = subexp(PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$),\n QUERY$ = subexp(subexp(PCHAR$ + \"|\" + merge(\"[\\\\/\\\\?]\", IPRIVATE$$)) + \"*\"),\n FRAGMENT$ = subexp(subexp(PCHAR$ + \"|[\\\\/\\\\?]\") + \"*\"),\n HIER_PART$ = subexp(subexp(\"\\\\/\\\\/\" + AUTHORITY$ + PATH_ABEMPTY$) + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$),\n URI$ = subexp(SCHEME$ + \"\\\\:\" + HIER_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\" + subexp(\"\\\\#\" + FRAGMENT$) + \"?\"),\n RELATIVE_PART$ = subexp(subexp(\"\\\\/\\\\/\" + AUTHORITY$ + PATH_ABEMPTY$) + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_EMPTY$),\n RELATIVE$ = subexp(RELATIVE_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\" + subexp(\"\\\\#\" + FRAGMENT$) + \"?\"),\n URI_REFERENCE$ = subexp(URI$ + \"|\" + RELATIVE$),\n ABSOLUTE_URI$ = subexp(SCHEME$ + \"\\\\:\" + HIER_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\"),\n GENERIC_REF$ = \"^(\" + SCHEME$ + \")\\\\:\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n RELATIVE_REF$ = \"^(){0}\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n ABSOLUTE_REF$ = \"^(\" + SCHEME$ + \")\\\\:\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?$\",\n SAMEDOC_REF$ = \"^\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n AUTHORITY_REF$ = \"^\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?$\";\n return {\n NOT_SCHEME: new RegExp(merge(\"[^]\", ALPHA$$, DIGIT$$, \"[\\\\+\\\\-\\\\.]\"), \"g\"),\n NOT_USERINFO: new RegExp(merge(\"[^\\\\%\\\\:]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n NOT_HOST: new RegExp(merge(\"[^\\\\%\\\\[\\\\]\\\\:]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n NOT_PATH: new RegExp(merge(\"[^\\\\%\\\\/\\\\:\\\\@]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n NOT_PATH_NOSCHEME: new RegExp(merge(\"[^\\\\%\\\\/\\\\@]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n NOT_QUERY: new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@\\\\/\\\\?]\", IPRIVATE$$), \"g\"),\n NOT_FRAGMENT: new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@\\\\/\\\\?]\"), \"g\"),\n ESCAPE: new RegExp(merge(\"[^]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n UNRESERVED: new RegExp(UNRESERVED$$, \"g\"),\n OTHER_CHARS: new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, RESERVED$$), \"g\"),\n PCT_ENCODED: new RegExp(PCT_ENCODED$, \"g\"),\n IPV4ADDRESS: new RegExp(\"^(\" + IPV4ADDRESS$ + \")$\"),\n IPV6ADDRESS: new RegExp(\"^\\\\[?(\" + IPV6ADDRESS$ + \")\" + subexp(subexp(\"\\\\%25|\\\\%(?!\" + HEXDIG$$ + \"{2})\") + \"(\" + ZONEID$ + \")\") + \"?\\\\]?$\") //RFC 6874, with relaxed parsing rules\n };\n}\nvar URI_PROTOCOL = buildExps(false);\n\nvar IRI_PROTOCOL = buildExps(true);\n\nvar slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\n/** Highest positive signed 32-bit float value */\n\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\n\n/** Bootstring parameters */\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\n\n/** Regular expressions */\nvar regexPunycode = /^xn--/;\nvar regexNonASCII = /[^\\0-\\x7E]/; // non-ASCII chars\nvar regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\n\n/** Error messages */\nvar errors = {\n\t'overflow': 'Overflow: input needs wider integers to process',\n\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t'invalid-input': 'Invalid input'\n};\n\n/** Convenience shortcuts */\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/*--------------------------------------------------------------------------*/\n\n/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\nfunction error$1(type) {\n\tthrow new RangeError(errors[type]);\n}\n\n/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\nfunction map(array, fn) {\n\tvar result = [];\n\tvar length = array.length;\n\twhile (length--) {\n\t\tresult[length] = fn(array[length]);\n\t}\n\treturn result;\n}\n\n/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} callback The function that gets called for every\n * character.\n * @returns {Array} A new string of characters returned by the callback\n * function.\n */\nfunction mapDomain(string, fn) {\n\tvar parts = string.split('@');\n\tvar result = '';\n\tif (parts.length > 1) {\n\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t// the local part (i.e. everything up to `@`) intact.\n\t\tresult = parts[0] + '@';\n\t\tstring = parts[1];\n\t}\n\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\tstring = string.replace(regexSeparators, '\\x2E');\n\tvar labels = string.split('.');\n\tvar encoded = map(labels, fn).join('.');\n\treturn result + encoded;\n}\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see <https://mathiasbynens.be/notes/javascript-encoding>\n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\nfunction ucs2decode(string) {\n\tvar output = [];\n\tvar counter = 0;\n\tvar length = string.length;\n\twhile (counter < length) {\n\t\tvar value = string.charCodeAt(counter++);\n\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t// It's a high surrogate, and there is a next character.\n\t\t\tvar extra = string.charCodeAt(counter++);\n\t\t\tif ((extra & 0xFC00) == 0xDC00) {\n\t\t\t\t// Low surrogate.\n\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t} else {\n\t\t\t\t// It's an unmatched surrogate; only append this code unit, in case the\n\t\t\t\t// next code unit is the high surrogate of a surrogate pair.\n\t\t\t\toutput.push(value);\n\t\t\t\tcounter--;\n\t\t\t}\n\t\t} else {\n\t\t\toutput.push(value);\n\t\t}\n\t}\n\treturn output;\n}\n\n/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\nvar ucs2encode = function ucs2encode(array) {\n\treturn String.fromCodePoint.apply(String, toConsumableArray(array));\n};\n\n/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\nvar basicToDigit = function basicToDigit(codePoint) {\n\tif (codePoint - 0x30 < 0x0A) {\n\t\treturn codePoint - 0x16;\n\t}\n\tif (codePoint - 0x41 < 0x1A) {\n\t\treturn codePoint - 0x41;\n\t}\n\tif (codePoint - 0x61 < 0x1A) {\n\t\treturn codePoint - 0x61;\n\t}\n\treturn base;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\nvar digitToBasic = function digitToBasic(digit, flag) {\n\t// 0..25 map to ASCII a..z or A..Z\n\t// 26..35 map to ASCII 0..9\n\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n * @private\n */\nvar adapt = function adapt(delta, numPoints, firstTime) {\n\tvar k = 0;\n\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\tdelta += floor(delta / numPoints);\n\tfor (; /* no initialization */delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\tdelta = floor(delta / baseMinusTMin);\n\t}\n\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\nvar decode = function decode(input) {\n\t// Don't use UCS-2.\n\tvar output = [];\n\tvar inputLength = input.length;\n\tvar i = 0;\n\tvar n = initialN;\n\tvar bias = initialBias;\n\n\t// Handle the basic code points: let `basic` be the number of input code\n\t// points before the last delimiter, or `0` if there is none, then copy\n\t// the first basic code points to the output.\n\n\tvar basic = input.lastIndexOf(delimiter);\n\tif (basic < 0) {\n\t\tbasic = 0;\n\t}\n\n\tfor (var j = 0; j < basic; ++j) {\n\t\t// if it's not a basic code point\n\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\terror$1('not-basic');\n\t\t}\n\t\toutput.push(input.charCodeAt(j));\n\t}\n\n\t// Main decoding loop: start just after the last delimiter if any basic code\n\t// points were copied; start at the beginning otherwise.\n\n\tfor (var index = basic > 0 ? basic + 1 : 0; index < inputLength;) /* no final expression */{\n\n\t\t// `index` is the index of the next character to be consumed.\n\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t// which gets added to `i`. The overflow checking is easier\n\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t// value at the end to obtain `delta`.\n\t\tvar oldi = i;\n\t\tfor (var w = 1, k = base;; /* no condition */k += base) {\n\n\t\t\tif (index >= inputLength) {\n\t\t\t\terror$1('invalid-input');\n\t\t\t}\n\n\t\t\tvar digit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\terror$1('overflow');\n\t\t\t}\n\n\t\t\ti += digit * w;\n\t\t\tvar t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n\n\t\t\tif (digit < t) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tvar baseMinusT = base - t;\n\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\terror$1('overflow');\n\t\t\t}\n\n\t\t\tw *= baseMinusT;\n\t\t}\n\n\t\tvar out = output.length + 1;\n\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t// incrementing `n` each time, so we'll fix that now:\n\t\tif (floor(i / out) > maxInt - n) {\n\t\t\terror$1('overflow');\n\t\t}\n\n\t\tn += floor(i / out);\n\t\ti %= out;\n\n\t\t// Insert `n` at position `i` of the output.\n\t\toutput.splice(i++, 0, n);\n\t}\n\n\treturn String.fromCodePoint.apply(String, output);\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\nvar encode = function encode(input) {\n\tvar output = [];\n\n\t// Convert the input in UCS-2 to an array of Unicode code points.\n\tinput = ucs2decode(input);\n\n\t// Cache the length.\n\tvar inputLength = input.length;\n\n\t// Initialize the state.\n\tvar n = initialN;\n\tvar delta = 0;\n\tvar bias = initialBias;\n\n\t// Handle the basic code points.\n\tvar _iteratorNormalCompletion = true;\n\tvar _didIteratorError = false;\n\tvar _iteratorError = undefined;\n\n\ttry {\n\t\tfor (var _iterator = input[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\tvar _currentValue2 = _step.value;\n\n\t\t\tif (_currentValue2 < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(_currentValue2));\n\t\t\t}\n\t\t}\n\t} catch (err) {\n\t\t_didIteratorError = true;\n\t\t_iteratorError = err;\n\t} finally {\n\t\ttry {\n\t\t\tif (!_iteratorNormalCompletion && _iterator.return) {\n\t\t\t\t_iterator.return();\n\t\t\t}\n\t\t} finally {\n\t\t\tif (_didIteratorError) {\n\t\t\t\tthrow _iteratorError;\n\t\t\t}\n\t\t}\n\t}\n\n\tvar basicLength = output.length;\n\tvar handledCPCount = basicLength;\n\n\t// `handledCPCount` is the number of code points that have been handled;\n\t// `basicLength` is the number of basic code points.\n\n\t// Finish the basic string with a delimiter unless it's empty.\n\tif (basicLength) {\n\t\toutput.push(delimiter);\n\t}\n\n\t// Main encoding loop:\n\twhile (handledCPCount < inputLength) {\n\n\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t// larger one:\n\t\tvar m = maxInt;\n\t\tvar _iteratorNormalCompletion2 = true;\n\t\tvar _didIteratorError2 = false;\n\t\tvar _iteratorError2 = undefined;\n\n\t\ttry {\n\t\t\tfor (var _iterator2 = input[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n\t\t\t\tvar currentValue = _step2.value;\n\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n\t\t\t// but guard against overflow.\n\t\t} catch (err) {\n\t\t\t_didIteratorError2 = true;\n\t\t\t_iteratorError2 = err;\n\t\t} finally {\n\t\t\ttry {\n\t\t\t\tif (!_iteratorNormalCompletion2 && _iterator2.return) {\n\t\t\t\t\t_iterator2.return();\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tif (_didIteratorError2) {\n\t\t\t\t\tthrow _iteratorError2;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tvar handledCPCountPlusOne = handledCPCount + 1;\n\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\terror$1('overflow');\n\t\t}\n\n\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\tn = m;\n\n\t\tvar _iteratorNormalCompletion3 = true;\n\t\tvar _didIteratorError3 = false;\n\t\tvar _iteratorError3 = undefined;\n\n\t\ttry {\n\t\t\tfor (var _iterator3 = input[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n\t\t\t\tvar _currentValue = _step3.value;\n\n\t\t\t\tif (_currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror$1('overflow');\n\t\t\t\t}\n\t\t\t\tif (_currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer.\n\t\t\t\t\tvar q = delta;\n\t\t\t\t\tfor (var k = base;; /* no condition */k += base) {\n\t\t\t\t\t\tvar t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvar qMinusT = q - t;\n\t\t\t\t\t\tvar baseMinusT = base - t;\n\t\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)));\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t_didIteratorError3 = true;\n\t\t\t_iteratorError3 = err;\n\t\t} finally {\n\t\t\ttry {\n\t\t\t\tif (!_iteratorNormalCompletion3 && _iterator3.return) {\n\t\t\t\t\t_iterator3.return();\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tif (_didIteratorError3) {\n\t\t\t\t\tthrow _iteratorError3;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t++delta;\n\t\t++n;\n\t}\n\treturn output.join('');\n};\n\n/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\nvar toUnicode = function toUnicode(input) {\n\treturn mapDomain(input, function (string) {\n\t\treturn regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string;\n\t});\n};\n\n/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\nvar toASCII = function toASCII(input) {\n\treturn mapDomain(input, function (string) {\n\t\treturn regexNonASCII.test(string) ? 'xn--' + encode(string) : string;\n\t});\n};\n\n/*--------------------------------------------------------------------------*/\n\n/** Define the public API */\nvar punycode = {\n\t/**\n * A string representing the current Punycode.js version number.\n * @memberOf punycode\n * @type String\n */\n\t'version': '2.1.0',\n\t/**\n * An object of methods to convert from JavaScript's internal character\n * representation (UCS-2) to Unicode code points, and back.\n * @see <https://mathiasbynens.be/notes/javascript-encoding>\n * @memberOf punycode\n * @type Object\n */\n\t'ucs2': {\n\t\t'decode': ucs2decode,\n\t\t'encode': ucs2encode\n\t},\n\t'decode': decode,\n\t'encode': encode,\n\t'toASCII': toASCII,\n\t'toUnicode': toUnicode\n};\n\n/**\n * URI.js\n *\n * @fileoverview An RFC 3986 compliant, scheme extendable URI parsing/validating/resolving library for JavaScript.\n * @author <a href=\"mailto:gary.court@gmail.com\">Gary Court</a>\n * @see http://github.com/garycourt/uri-js\n */\n/**\n * Copyright 2011 Gary Court. All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification, are\n * permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this list of\n * conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list\n * of conditions and the following disclaimer in the documentation and/or other materials\n * provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY GARY COURT ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND\n * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR\n * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\n * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * The views and conclusions contained in the software and documentation are those of the\n * authors and should not be interpreted as representing official policies, either expressed\n * or implied, of Gary Court.\n */\nvar SCHEMES = {};\nfunction pctEncChar(chr) {\n var c = chr.charCodeAt(0);\n var e = void 0;\n if (c < 16) e = \"%0\" + c.toString(16).toUpperCase();else if (c < 128) e = \"%\" + c.toString(16).toUpperCase();else if (c < 2048) e = \"%\" + (c >> 6 | 192).toString(16).toUpperCase() + \"%\" + (c & 63 | 128).toString(16).toUpperCase();else e = \"%\" + (c >> 12 | 224).toString(16).toUpperCase() + \"%\" + (c >> 6 & 63 | 128).toString(16).toUpperCase() + \"%\" + (c & 63 | 128).toString(16).toUpperCase();\n return e;\n}\nfunction pctDecChars(str) {\n var newStr = \"\";\n var i = 0;\n var il = str.length;\n while (i < il) {\n var c = parseInt(str.substr(i + 1, 2), 16);\n if (c < 128) {\n newStr += String.fromCharCode(c);\n i += 3;\n } else if (c >= 194 && c < 224) {\n if (il - i >= 6) {\n var c2 = parseInt(str.substr(i + 4, 2), 16);\n newStr += String.fromCharCode((c & 31) << 6 | c2 & 63);\n } else {\n newStr += str.substr(i, 6);\n }\n i += 6;\n } else if (c >= 224) {\n if (il - i >= 9) {\n var _c = parseInt(str.substr(i + 4, 2), 16);\n var c3 = parseInt(str.substr(i + 7, 2), 16);\n newStr += String.fromCharCode((c & 15) << 12 | (_c & 63) << 6 | c3 & 63);\n } else {\n newStr += str.substr(i, 9);\n }\n i += 9;\n } else {\n newStr += str.substr(i, 3);\n i += 3;\n }\n }\n return newStr;\n}\nfunction _normalizeComponentEncoding(components, protocol) {\n function decodeUnreserved(str) {\n var decStr = pctDecChars(str);\n return !decStr.match(protocol.UNRESERVED) ? str : decStr;\n }\n if (components.scheme) components.scheme = String(components.scheme).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_SCHEME, \"\");\n if (components.userinfo !== undefined) components.userinfo = String(components.userinfo).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_USERINFO, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n if (components.host !== undefined) components.host = String(components.host).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_HOST, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n if (components.path !== undefined) components.path = String(components.path).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(components.scheme ? protocol.NOT_PATH : protocol.NOT_PATH_NOSCHEME, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n if (components.query !== undefined) components.query = String(components.query).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_QUERY, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n if (components.fragment !== undefined) components.fragment = String(components.fragment).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_FRAGMENT, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n return components;\n}\n\nfunction _stripLeadingZeros(str) {\n return str.replace(/^0*(.*)/, \"$1\") || \"0\";\n}\nfunction _normalizeIPv4(host, protocol) {\n var matches = host.match(protocol.IPV4ADDRESS) || [];\n\n var _matches = slicedToArray(matches, 2),\n address = _matches[1];\n\n if (address) {\n return address.split(\".\").map(_stripLeadingZeros).join(\".\");\n } else {\n return host;\n }\n}\nfunction _normalizeIPv6(host, protocol) {\n var matches = host.match(protocol.IPV6ADDRESS) || [];\n\n var _matches2 = slicedToArray(matches, 3),\n address = _matches2[1],\n zone = _matches2[2];\n\n if (address) {\n var _address$toLowerCase$ = address.toLowerCase().split('::').reverse(),\n _address$toLowerCase$2 = slicedToArray(_address$toLowerCase$, 2),\n last = _address$toLowerCase$2[0],\n first = _address$toLowerCase$2[1];\n\n var firstFields = first ? first.split(\":\").map(_stripLeadingZeros) : [];\n var lastFields = last.split(\":\").map(_stripLeadingZeros);\n var isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]);\n var fieldCount = isLastFieldIPv4Address ? 7 : 8;\n var lastFieldsStart = lastFields.length - fieldCount;\n var fields = Array(fieldCount);\n for (var x = 0; x < fieldCount; ++x) {\n fields[x] = firstFields[x] || lastFields[lastFieldsStart + x] || '';\n }\n if (isLastFieldIPv4Address) {\n fields[fieldCount - 1] = _normalizeIPv4(fields[fieldCount - 1], protocol);\n }\n var allZeroFields = fields.reduce(function (acc, field, index) {\n if (!field || field === \"0\") {\n var lastLongest = acc[acc.length - 1];\n if (lastLongest && lastLongest.index + lastLongest.length === index) {\n lastLongest.length++;\n } else {\n acc.push({ index: index, length: 1 });\n }\n }\n return acc;\n }, []);\n var longestZeroFields = allZeroFields.sort(function (a, b) {\n return b.length - a.length;\n })[0];\n var newHost = void 0;\n if (longestZeroFields && longestZeroFields.length > 1) {\n var newFirst = fields.slice(0, longestZeroFields.index);\n var newLast = fields.slice(longestZeroFields.index + longestZeroFields.length);\n newHost = newFirst.join(\":\") + \"::\" + newLast.join(\":\");\n } else {\n newHost = fields.join(\":\");\n }\n if (zone) {\n newHost += \"%\" + zone;\n }\n return newHost;\n } else {\n return host;\n }\n}\nvar URI_PARSE = /^(?:([^:\\/?#]+):)?(?:\\/\\/((?:([^\\/?#@]*)@)?(\\[[^\\/?#\\]]+\\]|[^\\/?#:]*)(?:\\:(\\d*))?))?([^?#]*)(?:\\?([^#]*))?(?:#((?:.|\\n|\\r)*))?/i;\nvar NO_MATCH_IS_UNDEFINED = \"\".match(/(){0}/)[1] === undefined;\nfunction parse(uriString) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var components = {};\n var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL;\n if (options.reference === \"suffix\") uriString = (options.scheme ? options.scheme + \":\" : \"\") + \"//\" + uriString;\n var matches = uriString.match(URI_PARSE);\n if (matches) {\n if (NO_MATCH_IS_UNDEFINED) {\n //store each component\n components.scheme = matches[1];\n components.userinfo = matches[3];\n components.host = matches[4];\n components.port = parseInt(matches[5], 10);\n components.path = matches[6] || \"\";\n components.query = matches[7];\n components.fragment = matches[8];\n //fix port number\n if (isNaN(components.port)) {\n components.port = matches[5];\n }\n } else {\n //IE FIX for improper RegExp matching\n //store each component\n components.scheme = matches[1] || undefined;\n components.userinfo = uriString.indexOf(\"@\") !== -1 ? matches[3] : undefined;\n components.host = uriString.indexOf(\"//\") !== -1 ? matches[4] : undefined;\n components.port = parseInt(matches[5], 10);\n components.path = matches[6] || \"\";\n components.query = uriString.indexOf(\"?\") !== -1 ? matches[7] : undefined;\n components.fragment = uriString.indexOf(\"#\") !== -1 ? matches[8] : undefined;\n //fix port number\n if (isNaN(components.port)) {\n components.port = uriString.match(/\\/\\/(?:.|\\n)*\\:(?:\\/|\\?|\\#|$)/) ? matches[4] : undefined;\n }\n }\n if (components.host) {\n //normalize IP hosts\n components.host = _normalizeIPv6(_normalizeIPv4(components.host, protocol), protocol);\n }\n //determine reference type\n if (components.scheme === undefined && components.userinfo === undefined && components.host === undefined && components.port === undefined && !components.path && components.query === undefined) {\n components.reference = \"same-document\";\n } else if (components.scheme === undefined) {\n components.reference = \"relative\";\n } else if (components.fragment === undefined) {\n components.reference = \"absolute\";\n } else {\n components.reference = \"uri\";\n }\n //check for reference errors\n if (options.reference && options.reference !== \"suffix\" && options.reference !== components.reference) {\n components.error = components.error || \"URI is not a \" + options.reference + \" reference.\";\n }\n //find scheme handler\n var schemeHandler = SCHEMES[(options.scheme || components.scheme || \"\").toLowerCase()];\n //check if scheme can't handle IRIs\n if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {\n //if host component is a domain name\n if (components.host && (options.domainHost || schemeHandler && schemeHandler.domainHost)) {\n //convert Unicode IDN -> ASCII IDN\n try {\n components.host = punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase());\n } catch (e) {\n components.error = components.error || \"Host's domain name can not be converted to ASCII via punycode: \" + e;\n }\n }\n //convert IRI -> URI\n _normalizeComponentEncoding(components, URI_PROTOCOL);\n } else {\n //normalize encodings\n _normalizeComponentEncoding(components, protocol);\n }\n //perform scheme specific parsing\n if (schemeHandler && schemeHandler.parse) {\n schemeHandler.parse(components, options);\n }\n } else {\n components.error = components.error || \"URI can not be parsed.\";\n }\n return components;\n}\n\nfunction _recomposeAuthority(components, options) {\n var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL;\n var uriTokens = [];\n if (components.userinfo !== undefined) {\n uriTokens.push(components.userinfo);\n uriTokens.push(\"@\");\n }\n if (components.host !== undefined) {\n //normalize IP hosts, add brackets and escape zone separator for IPv6\n uriTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host), protocol), protocol).replace(protocol.IPV6ADDRESS, function (_, $1, $2) {\n return \"[\" + $1 + ($2 ? \"%25\" + $2 : \"\") + \"]\";\n }));\n }\n if (typeof components.port === \"number\" || typeof components.port === \"string\") {\n uriTokens.push(\":\");\n uriTokens.push(String(components.port));\n }\n return uriTokens.length ? uriTokens.join(\"\") : undefined;\n}\n\nvar RDS1 = /^\\.\\.?\\//;\nvar RDS2 = /^\\/\\.(\\/|$)/;\nvar RDS3 = /^\\/\\.\\.(\\/|$)/;\nvar RDS5 = /^\\/?(?:.|\\n)*?(?=\\/|$)/;\nfunction removeDotSegments(input) {\n var output = [];\n while (input.length) {\n if (input.match(RDS1)) {\n input = input.replace(RDS1, \"\");\n } else if (input.match(RDS2)) {\n input = input.replace(RDS2, \"/\");\n } else if (input.match(RDS3)) {\n input = input.replace(RDS3, \"/\");\n output.pop();\n } else if (input === \".\" || input === \"..\") {\n input = \"\";\n } else {\n var im = input.match(RDS5);\n if (im) {\n var s = im[0];\n input = input.slice(s.length);\n output.push(s);\n } else {\n throw new Error(\"Unexpected dot segment condition\");\n }\n }\n }\n return output.join(\"\");\n}\n\nfunction serialize(components) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var protocol = options.iri ? IRI_PROTOCOL : URI_PROTOCOL;\n var uriTokens = [];\n //find scheme handler\n var schemeHandler = SCHEMES[(options.scheme || components.scheme || \"\").toLowerCase()];\n //perform scheme specific serialization\n if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options);\n if (components.host) {\n //if host component is an IPv6 address\n if (protocol.IPV6ADDRESS.test(components.host)) {}\n //TODO: normalize IPv6 address as per RFC 5952\n\n //if host component is a domain name\n else if (options.domainHost || schemeHandler && schemeHandler.domainHost) {\n //convert IDN via punycode\n try {\n components.host = !options.iri ? punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()) : punycode.toUnicode(components.host);\n } catch (e) {\n components.error = components.error || \"Host's domain name can not be converted to \" + (!options.iri ? \"ASCII\" : \"Unicode\") + \" via punycode: \" + e;\n }\n }\n }\n //normalize encoding\n _normalizeComponentEncoding(components, protocol);\n if (options.reference !== \"suffix\" && components.scheme) {\n uriTokens.push(components.scheme);\n uriTokens.push(\":\");\n }\n var authority = _recomposeAuthority(components, options);\n if (authority !== undefined) {\n if (options.reference !== \"suffix\") {\n uriTokens.push(\"//\");\n }\n uriTokens.push(authority);\n if (components.path && components.path.charAt(0) !== \"/\") {\n uriTokens.push(\"/\");\n }\n }\n if (components.path !== undefined) {\n var s = components.path;\n if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) {\n s = removeDotSegments(s);\n }\n if (authority === undefined) {\n s = s.replace(/^\\/\\//, \"/%2F\"); //don't allow the path to start with \"//\"\n }\n uriTokens.push(s);\n }\n if (components.query !== undefined) {\n uriTokens.push(\"?\");\n uriTokens.push(components.query);\n }\n if (components.fragment !== undefined) {\n uriTokens.push(\"#\");\n uriTokens.push(components.fragment);\n }\n return uriTokens.join(\"\"); //merge tokens into a string\n}\n\nfunction resolveComponents(base, relative) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var skipNormalization = arguments[3];\n\n var target = {};\n if (!skipNormalization) {\n base = parse(serialize(base, options), options); //normalize base components\n relative = parse(serialize(relative, options), options); //normalize relative components\n }\n options = options || {};\n if (!options.tolerant && relative.scheme) {\n target.scheme = relative.scheme;\n //target.authority = relative.authority;\n target.userinfo = relative.userinfo;\n target.host = relative.host;\n target.port = relative.port;\n target.path = removeDotSegments(relative.path || \"\");\n target.query = relative.query;\n } else {\n if (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) {\n //target.authority = relative.authority;\n target.userinfo = relative.userinfo;\n target.host = relative.host;\n target.port = relative.port;\n target.path = removeDotSegments(relative.path || \"\");\n target.query = relative.query;\n } else {\n if (!relative.path) {\n target.path = base.path;\n if (relative.query !== undefined) {\n target.query = relative.query;\n } else {\n target.query = base.query;\n }\n } else {\n if (relative.path.charAt(0) === \"/\") {\n target.path = removeDotSegments(relative.path);\n } else {\n if ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) {\n target.path = \"/\" + relative.path;\n } else if (!base.path) {\n target.path = relative.path;\n } else {\n target.path = base.path.slice(0, base.path.lastIndexOf(\"/\") + 1) + relative.path;\n }\n target.path = removeDotSegments(target.path);\n }\n target.query = relative.query;\n }\n //target.authority = base.authority;\n target.userinfo = base.userinfo;\n target.host = base.host;\n target.port = base.port;\n }\n target.scheme = base.scheme;\n }\n target.fragment = relative.fragment;\n return target;\n}\n\nfunction resolve(baseURI, relativeURI, options) {\n var schemelessOptions = assign({ scheme: 'null' }, options);\n return serialize(resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true), schemelessOptions);\n}\n\nfunction normalize(uri, options) {\n if (typeof uri === \"string\") {\n uri = serialize(parse(uri, options), options);\n } else if (typeOf(uri) === \"object\") {\n uri = parse(serialize(uri, options), options);\n }\n return uri;\n}\n\nfunction equal(uriA, uriB, options) {\n if (typeof uriA === \"string\") {\n uriA = serialize(parse(uriA, options), options);\n } else if (typeOf(uriA) === \"object\") {\n uriA = serialize(uriA, options);\n }\n if (typeof uriB === \"string\") {\n uriB = serialize(parse(uriB, options), options);\n } else if (typeOf(uriB) === \"object\") {\n uriB = serialize(uriB, options);\n }\n return uriA === uriB;\n}\n\nfunction escapeComponent(str, options) {\n return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE, pctEncChar);\n}\n\nfunction unescapeComponent(str, options) {\n return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED, pctDecChars);\n}\n\nvar handler = {\n scheme: \"http\",\n domainHost: true,\n parse: function parse(components, options) {\n //report missing host\n if (!components.host) {\n components.error = components.error || \"HTTP URIs must have a host.\";\n }\n return components;\n },\n serialize: function serialize(components, options) {\n var secure = String(components.scheme).toLowerCase() === \"https\";\n //normalize the default port\n if (components.port === (secure ? 443 : 80) || components.port === \"\") {\n components.port = undefined;\n }\n //normalize the empty path\n if (!components.path) {\n components.path = \"/\";\n }\n //NOTE: We do not parse query strings for HTTP URIs\n //as WWW Form Url Encoded query strings are part of the HTML4+ spec,\n //and not the HTTP spec.\n return components;\n }\n};\n\nvar handler$1 = {\n scheme: \"https\",\n domainHost: handler.domainHost,\n parse: handler.parse,\n serialize: handler.serialize\n};\n\nfunction isSecure(wsComponents) {\n return typeof wsComponents.secure === 'boolean' ? wsComponents.secure : String(wsComponents.scheme).toLowerCase() === \"wss\";\n}\n//RFC 6455\nvar handler$2 = {\n scheme: \"ws\",\n domainHost: true,\n parse: function parse(components, options) {\n var wsComponents = components;\n //indicate if the secure flag is set\n wsComponents.secure = isSecure(wsComponents);\n //construct resouce name\n wsComponents.resourceName = (wsComponents.path || '/') + (wsComponents.query ? '?' + wsComponents.query : '');\n wsComponents.path = undefined;\n wsComponents.query = undefined;\n return wsComponents;\n },\n serialize: function serialize(wsComponents, options) {\n //normalize the default port\n if (wsComponents.port === (isSecure(wsComponents) ? 443 : 80) || wsComponents.port === \"\") {\n wsComponents.port = undefined;\n }\n //ensure scheme matches secure flag\n if (typeof wsComponents.secure === 'boolean') {\n wsComponents.scheme = wsComponents.secure ? 'wss' : 'ws';\n wsComponents.secure = undefined;\n }\n //reconstruct path from resource name\n if (wsComponents.resourceName) {\n var _wsComponents$resourc = wsComponents.resourceName.split('?'),\n _wsComponents$resourc2 = slicedToArray(_wsComponents$resourc, 2),\n path = _wsComponents$resourc2[0],\n query = _wsComponents$resourc2[1];\n\n wsComponents.path = path && path !== '/' ? path : undefined;\n wsComponents.query = query;\n wsComponents.resourceName = undefined;\n }\n //forbid fragment component\n wsComponents.fragment = undefined;\n return wsComponents;\n }\n};\n\nvar handler$3 = {\n scheme: \"wss\",\n domainHost: handler$2.domainHost,\n parse: handler$2.parse,\n serialize: handler$2.serialize\n};\n\nvar O = {};\nvar isIRI = true;\n//RFC 3986\nvar UNRESERVED$$ = \"[A-Za-z0-9\\\\-\\\\.\\\\_\\\\~\" + (isIRI ? \"\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF\" : \"\") + \"]\";\nvar HEXDIG$$ = \"[0-9A-Fa-f]\"; //case-insensitive\nvar PCT_ENCODED$ = subexp(subexp(\"%[EFef]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%[89A-Fa-f]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%\" + HEXDIG$$ + HEXDIG$$)); //expanded\n//RFC 5322, except these symbols as per RFC 6068: @ : / ? # [ ] & ; =\n//const ATEXT$$ = \"[A-Za-z0-9\\\\!\\\\#\\\\$\\\\%\\\\&\\\\'\\\\*\\\\+\\\\-\\\\/\\\\=\\\\?\\\\^\\\\_\\\\`\\\\{\\\\|\\\\}\\\\~]\";\n//const WSP$$ = \"[\\\\x20\\\\x09]\";\n//const OBS_QTEXT$$ = \"[\\\\x01-\\\\x08\\\\x0B\\\\x0C\\\\x0E-\\\\x1F\\\\x7F]\"; //(%d1-8 / %d11-12 / %d14-31 / %d127)\n//const QTEXT$$ = merge(\"[\\\\x21\\\\x23-\\\\x5B\\\\x5D-\\\\x7E]\", OBS_QTEXT$$); //%d33 / %d35-91 / %d93-126 / obs-qtext\n//const VCHAR$$ = \"[\\\\x21-\\\\x7E]\";\n//const WSP$$ = \"[\\\\x20\\\\x09]\";\n//const OBS_QP$ = subexp(\"\\\\\\\\\" + merge(\"[\\\\x00\\\\x0D\\\\x0A]\", OBS_QTEXT$$)); //%d0 / CR / LF / obs-qtext\n//const FWS$ = subexp(subexp(WSP$$ + \"*\" + \"\\\\x0D\\\\x0A\") + \"?\" + WSP$$ + \"+\");\n//const QUOTED_PAIR$ = subexp(subexp(\"\\\\\\\\\" + subexp(VCHAR$$ + \"|\" + WSP$$)) + \"|\" + OBS_QP$);\n//const QUOTED_STRING$ = subexp('\\\\\"' + subexp(FWS$ + \"?\" + QCONTENT$) + \"*\" + FWS$ + \"?\" + '\\\\\"');\nvar ATEXT$$ = \"[A-Za-z0-9\\\\!\\\\$\\\\%\\\\'\\\\*\\\\+\\\\-\\\\^\\\\_\\\\`\\\\{\\\\|\\\\}\\\\~]\";\nvar QTEXT$$ = \"[\\\\!\\\\$\\\\%\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\-\\\\.0-9\\\\<\\\\>A-Z\\\\x5E-\\\\x7E]\";\nvar VCHAR$$ = merge(QTEXT$$, \"[\\\\\\\"\\\\\\\\]\");\nvar SOME_DELIMS$$ = \"[\\\\!\\\\$\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\:\\\\@]\";\nvar UNRESERVED = new RegExp(UNRESERVED$$, \"g\");\nvar PCT_ENCODED = new RegExp(PCT_ENCODED$, \"g\");\nvar NOT_LOCAL_PART = new RegExp(merge(\"[^]\", ATEXT$$, \"[\\\\.]\", '[\\\\\"]', VCHAR$$), \"g\");\nvar NOT_HFNAME = new RegExp(merge(\"[^]\", UNRESERVED$$, SOME_DELIMS$$), \"g\");\nvar NOT_HFVALUE = NOT_HFNAME;\nfunction decodeUnreserved(str) {\n var decStr = pctDecChars(str);\n return !decStr.match(UNRESERVED) ? str : decStr;\n}\nvar handler$4 = {\n scheme: \"mailto\",\n parse: function parse$$1(components, options) {\n var mailtoComponents = components;\n var to = mailtoComponents.to = mailtoComponents.path ? mailtoComponents.path.split(\",\") : [];\n mailtoComponents.path = undefined;\n if (mailtoComponents.query) {\n var unknownHeaders = false;\n var headers = {};\n var hfields = mailtoComponents.query.split(\"&\");\n for (var x = 0, xl = hfields.length; x < xl; ++x) {\n var hfield = hfields[x].split(\"=\");\n switch (hfield[0]) {\n case \"to\":\n var toAddrs = hfield[1].split(\",\");\n for (var _x = 0, _xl = toAddrs.length; _x < _xl; ++_x) {\n to.push(toAddrs[_x]);\n }\n break;\n case \"subject\":\n mailtoComponents.subject = unescapeComponent(hfield[1], options);\n break;\n case \"body\":\n mailtoComponents.body = unescapeComponent(hfield[1], options);\n break;\n default:\n unknownHeaders = true;\n headers[unescapeComponent(hfield[0], options)] = unescapeComponent(hfield[1], options);\n break;\n }\n }\n if (unknownHeaders) mailtoComponents.headers = headers;\n }\n mailtoComponents.query = undefined;\n for (var _x2 = 0, _xl2 = to.length; _x2 < _xl2; ++_x2) {\n var addr = to[_x2].split(\"@\");\n addr[0] = unescapeComponent(addr[0]);\n if (!options.unicodeSupport) {\n //convert Unicode IDN -> ASCII IDN\n try {\n addr[1] = punycode.toASCII(unescapeComponent(addr[1], options).toLowerCase());\n } catch (e) {\n mailtoComponents.error = mailtoComponents.error || \"Email address's domain name can not be converted to ASCII via punycode: \" + e;\n }\n } else {\n addr[1] = unescapeComponent(addr[1], options).toLowerCase();\n }\n to[_x2] = addr.join(\"@\");\n }\n return mailtoComponents;\n },\n serialize: function serialize$$1(mailtoComponents, options) {\n var components = mailtoComponents;\n var to = toArray(mailtoComponents.to);\n if (to) {\n for (var x = 0, xl = to.length; x < xl; ++x) {\n var toAddr = String(to[x]);\n var atIdx = toAddr.lastIndexOf(\"@\");\n var localPart = toAddr.slice(0, atIdx).replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_LOCAL_PART, pctEncChar);\n var domain = toAddr.slice(atIdx + 1);\n //convert IDN via punycode\n try {\n domain = !options.iri ? punycode.toASCII(unescapeComponent(domain, options).toLowerCase()) : punycode.toUnicode(domain);\n } catch (e) {\n components.error = components.error || \"Email address's domain name can not be converted to \" + (!options.iri ? \"ASCII\" : \"Unicode\") + \" via punycode: \" + e;\n }\n to[x] = localPart + \"@\" + domain;\n }\n components.path = to.join(\",\");\n }\n var headers = mailtoComponents.headers = mailtoComponents.headers || {};\n if (mailtoComponents.subject) headers[\"subject\"] = mailtoComponents.subject;\n if (mailtoComponents.body) headers[\"body\"] = mailtoComponents.body;\n var fields = [];\n for (var name in headers) {\n if (headers[name] !== O[name]) {\n fields.push(name.replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFNAME, pctEncChar) + \"=\" + headers[name].replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFVALUE, pctEncChar));\n }\n }\n if (fields.length) {\n components.query = fields.join(\"&\");\n }\n return components;\n }\n};\n\nvar URN_PARSE = /^([^\\:]+)\\:(.*)/;\n//RFC 2141\nvar handler$5 = {\n scheme: \"urn\",\n parse: function parse$$1(components, options) {\n var matches = components.path && components.path.match(URN_PARSE);\n var urnComponents = components;\n if (matches) {\n var scheme = options.scheme || urnComponents.scheme || \"urn\";\n var nid = matches[1].toLowerCase();\n var nss = matches[2];\n var urnScheme = scheme + \":\" + (options.nid || nid);\n var schemeHandler = SCHEMES[urnScheme];\n urnComponents.nid = nid;\n urnComponents.nss = nss;\n urnComponents.path = undefined;\n if (schemeHandler) {\n urnComponents = schemeHandler.parse(urnComponents, options);\n }\n } else {\n urnComponents.error = urnComponents.error || \"URN can not be parsed.\";\n }\n return urnComponents;\n },\n serialize: function serialize$$1(urnComponents, options) {\n var scheme = options.scheme || urnComponents.scheme || \"urn\";\n var nid = urnComponents.nid;\n var urnScheme = scheme + \":\" + (options.nid || nid);\n var schemeHandler = SCHEMES[urnScheme];\n if (schemeHandler) {\n urnComponents = schemeHandler.serialize(urnComponents, options);\n }\n var uriComponents = urnComponents;\n var nss = urnComponents.nss;\n uriComponents.path = (nid || options.nid) + \":\" + nss;\n return uriComponents;\n }\n};\n\nvar UUID = /^[0-9A-Fa-f]{8}(?:\\-[0-9A-Fa-f]{4}){3}\\-[0-9A-Fa-f]{12}$/;\n//RFC 4122\nvar handler$6 = {\n scheme: \"urn:uuid\",\n parse: function parse(urnComponents, options) {\n var uuidComponents = urnComponents;\n uuidComponents.uuid = uuidComponents.nss;\n uuidComponents.nss = undefined;\n if (!options.tolerant && (!uuidComponents.uuid || !uuidComponents.uuid.match(UUID))) {\n uuidComponents.error = uuidComponents.error || \"UUID is not valid.\";\n }\n return uuidComponents;\n },\n serialize: function serialize(uuidComponents, options) {\n var urnComponents = uuidComponents;\n //normalize UUID\n urnComponents.nss = (uuidComponents.uuid || \"\").toLowerCase();\n return urnComponents;\n }\n};\n\nSCHEMES[handler.scheme] = handler;\nSCHEMES[handler$1.scheme] = handler$1;\nSCHEMES[handler$2.scheme] = handler$2;\nSCHEMES[handler$3.scheme] = handler$3;\nSCHEMES[handler$4.scheme] = handler$4;\nSCHEMES[handler$5.scheme] = handler$5;\nSCHEMES[handler$6.scheme] = handler$6;\n\nexports.SCHEMES = SCHEMES;\nexports.pctEncChar = pctEncChar;\nexports.pctDecChars = pctDecChars;\nexports.parse = parse;\nexports.removeDotSegments = removeDotSegments;\nexports.serialize = serialize;\nexports.resolveComponents = resolveComponents;\nexports.resolve = resolve;\nexports.normalize = normalize;\nexports.equal = equal;\nexports.escapeComponent = escapeComponent;\nexports.unescapeComponent = unescapeComponent;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=uri.all.js.map\n","const URI = require(\"uri-js\");\n\n\nconst isObject = (value) => typeof value === \"object\" && !Array.isArray(value) && value !== null;\nconst isType = {\n null: (value) => value === null,\n boolean: (value) => typeof value === \"boolean\",\n object: isObject,\n array: (value) => Array.isArray(value),\n number: (value) => typeof value === \"number\",\n integer: (value) => Number.isInteger(value),\n string: (value) => typeof value === \"string\"\n};\nconst jsonTypeOf = (value, type) => isType[type](value);\n\nconst resolveUrl = (contextUrl, url) => {\n const resolvedUrl = URI.resolve(contextUrl, url, { iri: true });\n const contextId = URI.resolve(contextUrl, \"\", { iri: true });\n if (contextId && URI.parse(resolvedUrl).scheme === \"file\" && URI.parse(contextUrl).scheme !== \"file\") {\n throw Error(`Can't access file '${resolvedUrl}' resource from network context '${contextUrl}'`);\n }\n return resolvedUrl;\n};\n\nconst urlFragment = (uri) => URI.unescapeComponent(URI.parse(uri).fragment) || \"\";\n\nconst CHAR_BACKWARD_SLASH = 47;\n\nconst pathRelative = (from, to) => {\n if (from === to) {\n return \"\";\n }\n\n let toStart = 1;\n const fromLen = from.length - 1;\n const toLen = to.length - toStart;\n\n // Compare paths to find the longest common path from root\n const length = fromLen < toLen ? fromLen : toLen;\n let lastCommonSep = -1;\n let i = 0;\n for (; i < length; i++) {\n const fromCode = from.charCodeAt(i + 1);\n if (fromCode !== to.charCodeAt(toStart + i)) {\n break;\n } else if (fromCode === CHAR_BACKWARD_SLASH) {\n lastCommonSep = i;\n }\n }\n\n if (toLen > length) {\n if (to.charCodeAt(toStart + i) === CHAR_BACKWARD_SLASH) {\n return to.slice(toStart + i + 1);\n }\n if (i === 0) {\n return to.slice(toStart + i);\n }\n }\n if (fromLen > length) {\n if (from.charCodeAt(i + 1) === CHAR_BACKWARD_SLASH) {\n lastCommonSep = i;\n } else if (length === 0) {\n lastCommonSep = 0;\n }\n }\n\n let out = \"\";\n // Generate the relative path based on the path difference between `to` and `from`\n for (i = lastCommonSep + 2; i <= from.length; ++i) {\n if (i === from.length || from.charCodeAt(i) === CHAR_BACKWARD_SLASH) {\n out += out.length === 0 ? \"..\" : \"/..\";\n }\n }\n\n toStart += lastCommonSep;\n\n // Lastly, append the rest of the destination (`to`) path that comes after\n // the common path parts\n if (out.length > 0) {\n return `${out}${to.slice(toStart, to.length)}`;\n }\n\n if (to.charCodeAt(toStart) === CHAR_BACKWARD_SLASH) {\n ++toStart;\n }\n\n return to.slice(toStart, to.length);\n};\n\nmodule.exports = { jsonTypeOf, resolveUrl, urlFragment, pathRelative };\n","const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n if (Array.isArray(subject)) {\n const index = pointer.shift();\n const clonedSubject = [...subject];\n clonedSubject[index] = _set(pointer, applySegment(subject, index, cursor), value, append(index, cursor));\n return clonedSubject;\n } else {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n }\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n","const $__value = Symbol(\"$__value\");\nconst $__href = Symbol(\"$__href\");\n\nconst cons = (href, value) => Object.freeze({\n [$__href]: href,\n [$__value]: value\n});\n\nconst isReference = (ref) => ref && ref[$__href] !== undefined;\nconst href = (ref) => ref[$__href];\nconst value = (ref) => ref[$__value];\n\nmodule.exports = { cons, isReference, href, value };\n","const JsonPointer = require(\"@hyperjump/json-pointer\");\nconst curry = require(\"just-curry-it\");\nconst { resolveUrl, jsonTypeOf } = require(\"./common\");\nconst Reference = require(\"./reference\");\n\n\nconst nil = Object.freeze({ id: \"\", pointer: \"\", instance: undefined, value: undefined });\nconst cons = (instance, id = \"\") => Object.freeze({ ...nil, id: resolveUrl(id, \"\"), instance, value: instance });\n\nconst get = (url, instance = nil) => {\n if (!url.startsWith(\"#\")) {\n throw Error(`No JSON document found at '${url.split(\"#\")[0]}'`);\n }\n\n return Object.freeze({ ...instance, pointer: url.substr(1) });\n};\n\nconst uri = (doc) => `${doc.id}#${encodeURI(doc.pointer)}`;\nconst value = (doc) => Reference.isReference(doc.value) ? Reference.value(doc.value) : doc.value;\nconst has = (key, doc) => key in value(doc);\nconst typeOf = curry((doc, type) => jsonTypeOf(value(doc), type));\n\nconst step = (key, doc) => Object.freeze({\n ...doc,\n pointer: JsonPointer.append(key, doc.pointer),\n value: value(doc)[key]\n});\n\nconst entries = (doc) => Object.keys(value(doc))\n .map((key) => [key, step(key, doc)]);\n\nconst keys = (doc) => Object.keys(value(doc));\n\nconst map = curry((fn, doc) => value(doc)\n .map((item, ndx, array, thisArg) => fn(step(ndx, doc), ndx, array, thisArg)));\n\nconst forEach = curry((fn, doc) => value(doc)\n .forEach((item, ndx, array, thisArg) => fn(step(ndx, doc), ndx, array, thisArg)));\n\nconst filter = curry((fn, doc) => value(doc)\n .map((item, ndx, array, thisArg) => step(ndx, doc, array, thisArg))\n .filter((item, ndx, array, thisArg) => fn(item, ndx, array, thisArg)));\n\nconst reduce = curry((fn, acc, doc) => value(doc)\n .reduce((acc, item, ndx) => fn(acc, step(ndx, doc), ndx), acc));\n\nconst every = curry((fn, doc) => value(doc)\n .every((item, ndx, array, thisArg) => fn(step(ndx, doc), ndx, array, thisArg)));\n\nconst some = curry((fn, doc) => value(doc)\n .some((item, ndx, array, thisArg) => fn(step(ndx, doc), ndx, array, thisArg)));\n\nconst length = (doc) => value(doc).length;\n\nmodule.exports = {\n nil, cons, get, uri, value, has, typeOf, length,\n step, entries, keys, map, forEach, filter, reduce, every, some\n};\n","module.exports = async (doc) => Object.entries(await doc);\n","module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n","const curry = require(\"just-curry-it\");\n\n\nmodule.exports = curry(async (fn, doc) => (await doc).map(fn));\n","const curry = require(\"just-curry-it\");\n\n\nmodule.exports = curry(async (fn, acc, doc) => {\n return (await doc).reduce(async (acc, item) => fn(await acc, item), acc);\n});\n","const curry = require(\"just-curry-it\");\nconst reduce = require(\"./reduce\");\n\n\nmodule.exports = curry(async (fn, doc, options = {}) => {\n return reduce(async (acc, item) => {\n return (await fn(item)) ? acc.concat([item]) : acc;\n }, [], doc, options);\n});\n","const curry = require(\"just-curry-it\");\nconst map = require(\"./map\");\n\n\nmodule.exports = curry(async (fn, doc) => {\n const results = await map(fn, doc);\n return (await Promise.all(results))\n .some((a) => a);\n});\n","const curry = require(\"just-curry-it\");\nconst map = require(\"./map\");\n\n\nmodule.exports = curry(async (fn, doc) => {\n const results = await map(fn, doc);\n return (await Promise.all(results))\n .every((a) => a);\n});\n","const curry = require(\"just-curry-it\");\n\n\nmodule.exports = curry((fns, doc) => {\n return fns.reduce(async (acc, fn) => fn(await acc), doc);\n});\n","const pipeline = require(\"./pipeline\");\nconst entries = require(\"./entries\");\nconst reduce = require(\"./reduce\");\n\n\nmodule.exports = (doc) => {\n return pipeline([\n entries,\n reduce(async (acc, [propertyName, propertyValue]) => {\n acc[propertyName] = await propertyValue;\n return acc;\n }, {})\n ], doc);\n};\n","module.exports = {\n entries: require(\"./entries\"),\n map: require(\"./map\"),\n filter: require(\"./filter\"),\n reduce: require(\"./reduce\"),\n some: require(\"./some\"),\n every: require(\"./every\"),\n pipeline: require(\"./pipeline\"),\n all: require(\"./all\"),\n allValues: require(\"./allValues\")\n};\n","module.exports = (doc) => Promise.all(doc);\n","module.exports = fetch;\n","/*!\n * content-type\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * RegExp to match *( \";\" parameter ) in RFC 7231 sec 3.1.1.1\n *\n * parameter = token \"=\" ( token / quoted-string )\n * token = 1*tchar\n * tchar = \"!\" / \"#\" / \"$\" / \"%\" / \"&\" / \"'\" / \"*\"\n * / \"+\" / \"-\" / \".\" / \"^\" / \"_\" / \"`\" / \"|\" / \"~\"\n * / DIGIT / ALPHA\n * ; any VCHAR, except delimiters\n * quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE\n * qdtext = HTAB / SP / %x21 / %x23-5B / %x5D-7E / obs-text\n * obs-text = %x80-FF\n * quoted-pair = \"\\\" ( HTAB / SP / VCHAR / obs-text )\n */\nvar PARAM_REGEXP = /; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *(\"(?:[\\u000b\\u0020\\u0021\\u0023-\\u005b\\u005d-\\u007e\\u0080-\\u00ff]|\\\\[\\u000b\\u0020-\\u00ff])*\"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g\nvar TEXT_REGEXP = /^[\\u000b\\u0020-\\u007e\\u0080-\\u00ff]+$/\nvar TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/\n\n/**\n * RegExp to match quoted-pair in RFC 7230 sec 3.2.6\n *\n * quoted-pair = \"\\\" ( HTAB / SP / VCHAR / obs-text )\n * obs-text = %x80-FF\n */\nvar QESC_REGEXP = /\\\\([\\u000b\\u0020-\\u00ff])/g\n\n/**\n * RegExp to match chars that must be quoted-pair in RFC 7230 sec 3.2.6\n */\nvar QUOTE_REGEXP = /([\\\\\"])/g\n\n/**\n * RegExp to match type in RFC 7231 sec 3.1.1.1\n *\n * media-type = type \"/\" subtype\n * type = token\n * subtype = token\n */\nvar TYPE_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/\n\n/**\n * Module exports.\n * @public\n */\n\nexports.format = format\nexports.parse = parse\n\n/**\n * Format object to media type.\n *\n * @param {object} obj\n * @return {string}\n * @public\n */\n\nfunction format (obj) {\n if (!obj || typeof obj !== 'object') {\n throw new TypeError('argument obj is required')\n }\n\n var parameters = obj.parameters\n var type = obj.type\n\n if (!type || !TYPE_REGEXP.test(type)) {\n throw new TypeError('invalid type')\n }\n\n var string = type\n\n // append parameters\n if (parameters && typeof parameters === 'object') {\n var param\n var params = Object.keys(parameters).sort()\n\n for (var i = 0; i < params.length; i++) {\n param = params[i]\n\n if (!TOKEN_REGEXP.test(param)) {\n throw new TypeError('invalid parameter name')\n }\n\n string += '; ' + param + '=' + qstring(parameters[param])\n }\n }\n\n return string\n}\n\n/**\n * Parse media type to object.\n *\n * @param {string|object} string\n * @return {Object}\n * @public\n */\n\nfunction parse (string) {\n if (!string) {\n throw new TypeError('argument string is required')\n }\n\n // support req/res-like objects as argument\n var header = typeof string === 'object'\n ? getcontenttype(string)\n : string\n\n if (typeof header !== 'string') {\n throw new TypeError('argument string is required to be a string')\n }\n\n var index = header.indexOf(';')\n var type = index !== -1\n ? header.substr(0, index).trim()\n : header.trim()\n\n if (!TYPE_REGEXP.test(type)) {\n throw new TypeError('invalid media type')\n }\n\n var obj = new ContentType(type.toLowerCase())\n\n // parse parameters\n if (index !== -1) {\n var key\n var match\n var value\n\n PARAM_REGEXP.lastIndex = index\n\n while ((match = PARAM_REGEXP.exec(header))) {\n if (match.index !== index) {\n throw new TypeError('invalid parameter format')\n }\n\n index += match[0].length\n key = match[1].toLowerCase()\n value = match[2]\n\n if (value[0] === '\"') {\n // remove quotes and escapes\n value = value\n .substr(1, value.length - 2)\n .replace(QESC_REGEXP, '$1')\n }\n\n obj.parameters[key] = value\n }\n\n if (index !== header.length) {\n throw new TypeError('invalid parameter format')\n }\n }\n\n return obj\n}\n\n/**\n * Get content-type from req/res objects.\n *\n * @param {object}\n * @return {Object}\n * @private\n */\n\nfunction getcontenttype (obj) {\n var header\n\n if (typeof obj.getHeader === 'function') {\n // res-like\n header = obj.getHeader('content-type')\n } else if (typeof obj.headers === 'object') {\n // req-like\n header = obj.headers && obj.headers['content-type']\n }\n\n if (typeof header !== 'string') {\n throw new TypeError('content-type header is missing from object')\n }\n\n return header\n}\n\n/**\n * Quote a string if necessary.\n *\n * @param {string} val\n * @return {string}\n * @private\n */\n\nfunction qstring (val) {\n var str = String(val)\n\n // no need to quote tokens\n if (TOKEN_REGEXP.test(str)) {\n return str\n }\n\n if (str.length > 0 && !TEXT_REGEXP.test(str)) {\n throw new TypeError('invalid parameter value')\n }\n\n return '\"' + str.replace(QUOTE_REGEXP, '\\\\$1') + '\"'\n}\n\n/**\n * Class to represent a content type.\n * @private\n */\nfunction ContentType (type) {\n this.parameters = Object.create(null)\n this.type = type\n}\n","const contentTypeParser = require(\"content-type\");\n\n\nconst mediaTypePlugins = {};\n\nconst addPlugin = (contentType, plugin) => {\n mediaTypePlugins[contentType] = plugin;\n};\n\nconst parse = (response) => {\n const contentType = contentTypeParser.parse(response.headers.get(\"content-type\"));\n if (!(contentType.type in mediaTypePlugins)) {\n throw Error(`${response.url} is not a schema. Found a document with media type: ${contentType.type}`);\n }\n return mediaTypePlugins[contentType.type].parse(response, contentType.parameters);\n};\n\nconst getContentType = (path) => {\n for (const contentType in mediaTypePlugins) {\n if (mediaTypePlugins[contentType].matcher(path)) {\n return contentType;\n }\n }\n\n return \"application/octet-stream\";\n};\n\nmodule.exports = { addPlugin, parse, getContentType };\n","const curry = require(\"just-curry-it\");\nconst Pact = require(\"@hyperjump/pact\");\nconst JsonPointer = require(\"@hyperjump/json-pointer\");\nconst { jsonTypeOf, resolveUrl, urlFragment, pathRelative } = require(\"./common\");\nconst fetch = require(\"./fetch\");\nconst Reference = require(\"./reference\");\nconst MediaTypes = require(\"./media-types\");\n\n\nconst core201909Id = \"https://json-schema.org/draft/2019-09/vocab/core\";\nconst core202012Id = \"https://json-schema.org/draft/2020-12/vocab/core\";\n\n// Config\nconst config = {};\nconst dialectJsonSchemaVersion = {};\n\nconst setConfig = (jsonSchemaVersion, key, value) => {\n dialectJsonSchemaVersion[jsonSchemaVersion] = jsonSchemaVersion;\n\n if (!config[jsonSchemaVersion]) {\n config[jsonSchemaVersion] = {};\n }\n config[jsonSchemaVersion][key] = value;\n};\n\nconst getConfig = (dialectId, key) => {\n const jsonSchemaVersion = dialectJsonSchemaVersion[dialectId];\n return config[jsonSchemaVersion]?.[key];\n};\n\n// Schema Management\nconst schemaStore = {};\nconst schemaStoreAlias = {};\n\nconst add = (schema, url = \"\", defaultSchemaVersion = \"\") => {\n schema = JSON.parse(JSON.stringify(schema));\n const externalId = resolveUrl(url, \"\");\n\n // Dialect / JSON Schema Version\n const dialectId = resolveUrl(schema[\"$schema\"] || defaultSchemaVersion, \"\");\n if (!dialectId) {\n throw Error(\"Couldn't determine schema dialect\");\n }\n delete schema[\"$schema\"];\n\n // Determine JSON Schema version\n if (!(dialectId in dialectJsonSchemaVersion)) {\n if (schema?.$vocabulary?.[core201909Id] === true && dialectId === getSchemaIdentifier(schema, externalId, core201909Id)[0]) {\n // Self describing 2019-09 meta-schema\n dialectJsonSchemaVersion[dialectId] = core201909Id;\n } else if (schema?.$vocabulary?.[core202012Id] === true && dialectId === getSchemaIdentifier(schema, externalId, core202012Id)[0]) {\n // Self describing 2020-12 meta-schema\n dialectJsonSchemaVersion[dialectId] = core202012Id;\n } else {\n // Need to look at meta-schema to determine version\n const metaSchema = schemaStore[dialectId];\n if (!metaSchema) {\n throw Error(`Couldn't determine JSON Schema version for dialect: '${dialectId}'`);\n } else if (metaSchema.vocabulary[core201909Id] === true) {\n dialectJsonSchemaVersion[dialectId] = core201909Id;\n } else if (metaSchema.vocabulary[core202012Id] === true) {\n dialectJsonSchemaVersion[dialectId] = core202012Id;\n } else {\n // Assume the jsonSchemaVersion is the meta-schema's dialectId (non-standard behavior)\n dialectJsonSchemaVersion[dialectId] = dialectJsonSchemaVersion[metaSchema.dialectId];\n }\n }\n }\n\n // Internal Identifier\n const [id, fragment] = getSchemaIdentifier(schema, externalId, dialectJsonSchemaVersion[dialectId]);\n if (!id) {\n throw Error(\"Couldn't determine an identifier for the schema\");\n }\n const baseToken = getConfig(dialectId, \"baseToken\");\n delete schema[baseToken];\n if (externalId) {\n schemaStoreAlias[externalId] = id;\n }\n\n const anchorToken = getConfig(dialectId, \"anchorToken\");\n if (fragment && baseToken === anchorToken) {\n schema[anchorToken] = anchorToken !== baseToken ? encodeURI(fragment) : `#${encodeURI(fragment)}`;\n }\n\n // recursiveAnchor\n const dynamicAnchors = {};\n const recursiveAnchorToken = getConfig(dialectId, \"recursiveAnchorToken\");\n if (schema[recursiveAnchorToken] === true) {\n dynamicAnchors[\"\"] = `${id}#`;\n schema[anchorToken] = \"\";\n delete schema[recursiveAnchorToken];\n }\n\n // Vocabulary\n let vocabulary;\n const vocabularyToken = getConfig(dialectId, \"vocabularyToken\");\n if (jsonTypeOf(schema[vocabularyToken], \"object\")) {\n vocabulary = schema[vocabularyToken];\n delete schema[vocabularyToken];\n } else {\n vocabulary = { [dialectJsonSchemaVersion[dialectId]]: true };\n }\n\n // Store Schema\n const anchors = { \"\": \"\" };\n schemaStore[id] = {\n id: id,\n dialectId: dialectId,\n schema: processSchema(schema, id, dialectId, JsonPointer.nil, anchors, dynamicAnchors),\n anchors: anchors,\n dynamicAnchors: dynamicAnchors,\n vocabulary: vocabulary,\n validated: false\n };\n\n return id;\n};\n\nconst getSchemaIdentifier = (schema, externalId, jsonSchemaVersion) => {\n const baseToken = config[jsonSchemaVersion]?.[\"baseToken\"];\n const internalUrl = resolveUrl(externalId, schema[baseToken] || \"\");\n return [resolveUrl(internalUrl, \"\"), urlFragment(internalUrl)];\n};\n\nconst processSchema = (subject, id, dialectId, pointer, anchors, dynamicAnchors) => {\n if (jsonTypeOf(subject, \"object\")) {\n const embeddedSchemaDialectId = typeof subject.$schema === \"string\" ? resolveUrl(subject.$schema, \"\") : dialectId;\n const embeddedEmbeddedToken = getConfig(embeddedSchemaDialectId, \"embeddedToken\");\n const embeddedAnchorToken = getConfig(embeddedSchemaDialectId, \"anchorToken\");\n if (typeof subject[embeddedEmbeddedToken] === \"string\" && (embeddedEmbeddedToken !== embeddedAnchorToken || subject[embeddedEmbeddedToken][0] !== \"#\")) {\n const ref = resolveUrl(id, subject[embeddedEmbeddedToken]);\n const embeddedBaseToken = getConfig(embeddedSchemaDialectId, \"baseToken\");\n subject[embeddedBaseToken] = ref;\n add(subject, ref, dialectId);\n return Reference.cons(subject[embeddedEmbeddedToken], subject);\n }\n\n const anchorToken = getConfig(dialectId, \"anchorToken\");\n const dynamicAnchorToken = getConfig(dialectId, \"dynamicAnchorToken\");\n if (typeof subject[dynamicAnchorToken] === \"string\") {\n dynamicAnchors[subject[dynamicAnchorToken]] = `${id}#${encodeURI(pointer)}`;\n anchors[subject[dynamicAnchorToken]] = pointer;\n delete subject[dynamicAnchorToken];\n }\n\n const embeddedToken = getConfig(dialectId, \"embeddedToken\");\n if (typeof subject[anchorToken] === \"string\") {\n const anchor = anchorToken !== embeddedToken ? subject[anchorToken] : subject[anchorToken].slice(1);\n anchors[anchor] = pointer;\n delete subject[anchorToken];\n }\n\n const jrefToken = getConfig(dialectId, \"jrefToken\");\n if (typeof subject[jrefToken] === \"string\") {\n return Reference.cons(subject[jrefToken], subject);\n }\n\n for (const key in subject) {\n subject[key] = processSchema(subject[key], id, dialectId, JsonPointer.append(key, pointer), anchors, dynamicAnchors);\n }\n\n return subject;\n } else if (Array.isArray(subject)) {\n return subject.map((item, ndx) => processSchema(item, id, dialectId, JsonPointer.append(ndx, pointer), anchors, dynamicAnchors));\n } else {\n return subject;\n }\n};\n\nconst hasStoredSchema = (id) => id in schemaStore || id in schemaStoreAlias;\nconst getStoredSchema = (id) => schemaStore[schemaStoreAlias[id]] || schemaStore[id];\n\nconst markValidated = (id) => {\n schemaStore[id].validated = true;\n};\n\n// Schema Retrieval\nconst nil = Object.freeze({\n id: \"\",\n dialectId: undefined,\n vocabulary: {},\n pointer: JsonPointer.nil,\n schema: undefined,\n value: undefined,\n anchors: {},\n dynamicAnchors: {},\n validated: true\n});\n\nconst get = async (url, contextDoc = nil) => {\n const resolvedUrl = resolveUrl(uri(contextDoc), url);\n const id = resolveUrl(resolvedUrl, \"\");\n const fragment = urlFragment(resolvedUrl);\n\n if (!hasStoredSchema(id)) {\n const response = await fetch(id, { headers: { Accept: \"application/schema+json\" } });\n if (response.status >= 400) {\n await response.text(); // Sometimes node hangs without this hack\n throw Error(`Failed to retrieve schema with id: ${id}`);\n }\n\n const [schema, defaultDialectId] = await MediaTypes.parse(response);\n\n let dialectId;\n if (schema.$schema) {\n dialectId = resolveUrl(schema.$schema, \"\");\n } else if (defaultDialectId) {\n dialectId = resolveUrl(id, defaultDialectId);\n } else {\n dialectId = \"\";\n }\n\n // Make sure the meta-schema is loaded if this isn't a known dialect\n if (dialectId && id !== dialectId && !(dialectId in dialectJsonSchemaVersion)) {\n await get(dialectId);\n }\n\n add(schema, id, dialectId);\n }\n\n const storedSchema = getStoredSchema(id);\n const pointer = fragment[0] !== \"/\" ? getAnchorPointer(storedSchema, fragment) : fragment;\n const doc = Object.freeze({\n ...storedSchema,\n pointer: pointer,\n value: JsonPointer.get(pointer, storedSchema.schema)\n });\n\n return followReferences(doc);\n};\n\nconst followReferences = (doc) => Reference.isReference(doc.value) ? get(Reference.href(doc.value), doc) : doc;\n\nconst getAnchorPointer = (schema, fragment) => {\n if (!(fragment in schema.anchors)) {\n throw Error(`No such anchor '${encodeURI(schema.id)}#${encodeURI(fragment)}'`);\n }\n\n return schema.anchors[fragment];\n};\n\n// Utility Functions\nconst uri = (doc) => `${doc.id}#${encodeURI(doc.pointer)}`;\nconst value = (doc) => Reference.isReference(doc.value) ? Reference.value(doc.value) : doc.value;\nconst has = (key, doc) => key in value(doc);\nconst typeOf = (doc, type) => jsonTypeOf(value(doc), type);\n\nconst step = (key, doc) => {\n const storedSchema = getStoredSchema(doc.id);\n const nextDoc = Object.freeze({\n ...doc,\n pointer: JsonPointer.append(key, doc.pointer),\n value: value(doc)[key],\n validated: storedSchema.validated\n });\n return followReferences(nextDoc);\n};\n\nconst keys = (doc) => Object.keys(value(doc));\n\nconst entries = (doc) => Pact.pipeline([\n value,\n Object.keys,\n Pact.map(async (key) => [key, await step(key, doc)]),\n Pact.all\n], doc);\n\nconst map = curry((fn, doc) => Pact.pipeline([\n value,\n Pact.map(async (item, ndx) => fn(await step(ndx, doc), ndx)),\n Pact.all\n], doc));\n\nconst length = (doc) => value(doc).length;\n\nconst toSchemaDefaultOptions = {\n parentId: \"\",\n parentDialect: \"\",\n includeEmbedded: true\n};\nconst toSchema = (schemaDoc, options = {}) => {\n const fullOptions = { ...toSchemaDefaultOptions, ...options };\n\n const schema = JSON.parse(JSON.stringify(schemaDoc.schema, (key, value) => {\n if (!Reference.isReference(value)) {\n return value;\n }\n\n const refValue = Reference.value(value);\n const embeddedDialect = typeof refValue.$schema === \"string\" ? resolveUrl(refValue.$schema, \"\") : schemaDoc.dialectId;\n const embeddedToken = getConfig(embeddedDialect, \"embeddedToken\");\n if (!fullOptions.includeEmbedded && embeddedToken in refValue) {\n return;\n } else {\n return Reference.value(value);\n }\n }));\n\n const dynamicAnchorToken = getConfig(schemaDoc.dialectId, \"dynamicAnchorToken\");\n Object.entries(schemaDoc.dynamicAnchors)\n .forEach(([anchor, uri]) => {\n const pointer = JsonPointer.append(dynamicAnchorToken, urlFragment(uri));\n JsonPointer.assign(pointer, schema, anchor);\n });\n\n const anchorToken = getConfig(schemaDoc.dialectId, \"anchorToken\");\n Object.entries(schemaDoc.anchors)\n .filter(([anchor]) => anchor !== \"\" && !(anchor in schemaDoc.dynamicAnchors))\n .forEach(([anchor, pointer]) => {\n const anchorPointer = JsonPointer.append(anchorToken, pointer);\n JsonPointer.assign(anchorPointer, schema, anchor);\n });\n\n const baseToken = getConfig(schemaDoc.dialectId, \"baseToken\");\n const id = relativeUri(fullOptions.parentId, schemaDoc.id);\n const dialect = fullOptions.parentDialect === schemaDoc.dialectId ? \"\" : schemaDoc.dialectId;\n return {\n ...(id && { [baseToken]: id }),\n ...(dialect && { $schema: dialect }),\n ...schema\n };\n};\n\nconst relativeUri = (from, to) => {\n if (to.startsWith(\"file://\")) {\n const pathToSchema = from.slice(7, from.lastIndexOf(\"/\"));\n return from === \"\" ? \"\" : pathRelative(pathToSchema, to.slice(7));\n } else {\n return to;\n }\n};\n\nmodule.exports = {\n setConfig, getConfig,\n add, get, markValidated,\n uri, value, getAnchorPointer, typeOf, has, step, keys, entries, map, length,\n toSchema\n};\n","class InvalidSchemaError extends Error {\n constructor(output) {\n super(\"Invalid Schema\");\n this.name = this.constructor.name;\n this.output = output;\n }\n}\n\nmodule.exports = InvalidSchemaError;\n","const Schema = require(\"../schema\");\n\n\nconst compile = (schema) => Schema.value(schema);\nconst interpret = () => true;\n\nmodule.exports = { compile, interpret };\n","const curry = require(\"just-curry-it\");\nconst PubSub = require(\"pubsub-js\");\nconst { resolveUrl } = require(\"./common\");\nconst Instance = require(\"./instance\");\nconst Schema = require(\"./schema\");\nconst InvalidSchemaError = require(\"./invalid-schema-error\");\nconst MediaTypes = require(\"./media-types\");\nconst metaData = require(\"./keywords/meta-data\");\n\n\nconst FLAG = \"FLAG\", BASIC = \"BASIC\", DETAILED = \"DETAILED\", VERBOSE = \"VERBOSE\";\n\nlet metaOutputFormat = DETAILED;\nlet shouldMetaValidate = true;\n\nMediaTypes.addPlugin(\"application/schema+json\", {\n parse: async (response, contentTypeParameters) => [\n await response.json(),\n contentTypeParameters.schema || contentTypeParameters.profile\n ],\n matcher: (path) => path.endsWith(\".schema.json\")\n});\n\nconst validate = async (schema, value = undefined, outputFormat = undefined) => {\n const compiled = await compile(schema);\n const interpretAst = (value, outputFormat) => interpret(compiled, Instance.cons(value), outputFormat);\n\n return value === undefined ? interpretAst : interpretAst(value, outputFormat);\n};\n\nconst compile = async (schema) => {\n const ast = { metaData: {} };\n const schemaUri = await compileSchema(schema, ast);\n return { ast, schemaUri };\n};\n\nconst interpret = curry(({ ast, schemaUri }, value, outputFormat = FLAG) => {\n if (![FLAG, BASIC, DETAILED, VERBOSE].includes(outputFormat)) {\n throw Error(`The '${outputFormat}' error format is not supported`);\n }\n\n const output = [];\n const subscriptionToken = PubSub.subscribe(\"result\", outputHandler(outputFormat, output));\n interpretSchema(schemaUri, value, ast, {});\n PubSub.unsubscribe(subscriptionToken);\n\n return output[0];\n});\n\nconst outputHandler = (outputFormat, output) => {\n const resultStack = [];\n\n return (message, keywordResult) => {\n if (message === \"result\") {\n const { keyword, absoluteKeywordLocation, instanceLocation, valid } = keywordResult;\n const result = { keyword, absoluteKeywordLocation, instanceLocation, valid, errors: [] };\n resultStack.push(result);\n } else if (message === \"result.start\") {\n resultStack.push(message);\n } else if (message === \"result.end\") {\n const result = resultStack.pop();\n while (resultStack[resultStack.length - 1] !== \"result.start\") {\n const topResult = resultStack.pop();\n\n const errors = [topResult];\n if (outputFormat === BASIC) {\n errors.push(...topResult.errors);\n delete topResult.errors;\n }\n\n if (outputFormat === VERBOSE || (outputFormat !== FLAG && !topResult.valid)) {\n result.errors.unshift(...errors);\n }\n }\n resultStack[resultStack.length - 1] = result;\n\n output[0] = result;\n }\n };\n};\n\nconst setMetaOutputFormat = (format) => {\n metaOutputFormat = format;\n};\n\nconst setShouldMetaValidate = (isEnabled) => {\n shouldMetaValidate = isEnabled;\n};\n\nconst _keywords = {};\nconst getKeyword = (id) => _keywords[id] || metaData;\nconst hasKeyword = (id) => id in _keywords;\nconst addKeyword = (id, keywordHandler) => {\n _keywords[id] = {\n collectEvaluatedItems: (keywordValue, instance, ast, dynamicAnchors, isTop) => keywordHandler.interpret(keywordValue, instance, ast, dynamicAnchors, isTop) && new Set(),\n collectEvaluatedProperties: (keywordValue, instance, ast, dynamicAnchors, isTop) => keywordHandler.interpret(keywordValue, instance, ast, dynamicAnchors, isTop) && [],\n ...keywordHandler\n };\n};\n\nconst _vocabularies = {};\nconst defineVocabulary = (id, keywords) => {\n _vocabularies[id] = keywords;\n};\n\nconst metaValidators = {};\nconst compileSchema = async (schema, ast) => {\n schema = await followReferences(schema);\n\n // Vocabularies\n if (!hasKeyword(`${schema.dialectId}#validate`)) {\n const metaSchema = await Schema.get(schema.dialectId);\n\n // Check for mandatory vocabularies\n const mandatoryVocabularies = Schema.getConfig(metaSchema.id, \"mandatoryVocabularies\") || [];\n mandatoryVocabularies.forEach((vocabularyId) => {\n if (!metaSchema.vocabulary[vocabularyId]) {\n throw Error(`Vocabulary '${vocabularyId}' must be explicitly declared and required`);\n }\n });\n\n // Load vocabularies\n Object.entries(metaSchema.vocabulary)\n .forEach(([vocabularyId, isRequired]) => {\n if (vocabularyId in _vocabularies) {\n Object.entries(_vocabularies[vocabularyId])\n .forEach(([keyword, keywordHandler]) => {\n addKeyword(`${metaSchema.id}#${keyword}`, keywordHandler);\n });\n } else if (isRequired) {\n throw Error(`Missing required vocabulary: ${vocabularyId}`);\n }\n });\n }\n\n // Meta validation\n if (shouldMetaValidate && !schema.validated) {\n Schema.markValidated(schema.id);\n\n // Compile\n if (!(schema.dialectId in metaValidators)) {\n const metaSchema = await Schema.get(schema.dialectId);\n const compiledSchema = await compile(metaSchema);\n metaValidators[metaSchema.id] = interpret(compiledSchema);\n }\n\n // Interpret\n const schemaInstance = Instance.cons(schema.schema, schema.id);\n const metaResults = metaValidators[schema.dialectId](schemaInstance, metaOutputFormat);\n if (!metaResults.valid) {\n throw new InvalidSchemaError(metaResults);\n }\n }\n\n // Compile\n if (!(schema.id in ast.metaData)) {\n ast.metaData[schema.id] = {\n id: schema.id,\n dynamicAnchors: schema.dynamicAnchors,\n anchors: schema.anchors\n };\n }\n return getKeyword(`${schema.dialectId}#validate`).compile(schema, ast);\n};\n\nconst followReferences = async (doc) => {\n return Schema.typeOf(doc, \"string\") ? followReferences(await Schema.get(Schema.value(doc), doc)) : doc;\n};\n\nconst interpretSchema = (schemaUri, instance, ast, dynamicAnchors) => {\n const keywordId = getKeywordId(schemaUri, ast);\n const id = resolveUrl(schemaUri, \"\");\n return getKeyword(keywordId).interpret(schemaUri, instance, ast, { ...ast.metaData[id].dynamicAnchors, ...dynamicAnchors });\n};\n\nconst collectEvaluatedProperties = (schemaUri, instance, ast, dynamicAnchors, isTop) => {\n const keywordId = getKeywordId(schemaUri, ast);\n return getKeyword(keywordId).collectEvaluatedProperties(schemaUri, instance, ast, dynamicAnchors, isTop);\n};\n\nconst collectEvaluatedItems = (schemaUri, instance, ast, dynamicAnchors, isTop) => {\n const keywordId = getKeywordId(schemaUri, ast);\n return getKeyword(keywordId).collectEvaluatedItems(schemaUri, instance, ast, dynamicAnchors, isTop);\n};\n\nconst getKeywordId = (schemaUri, ast) => {\n if (!(schemaUri in ast)) {\n throw Error(`No schema found at ${schemaUri}`);\n }\n\n return ast[schemaUri][0];\n};\n\nconst add = (schema, url = \"\", defaultSchemaVersion = \"\") => {\n const id = Schema.add(schema, url, defaultSchemaVersion);\n delete metaValidators[id];\n};\n\nmodule.exports = {\n validate, compile, interpret,\n setMetaOutputFormat, setShouldMetaValidate, FLAG, BASIC, DETAILED, VERBOSE,\n add, getKeyword, hasKeyword, defineVocabulary,\n compileSchema, interpretSchema, collectEvaluatedProperties, collectEvaluatedItems,\n addMediaTypePlugin: MediaTypes.addPlugin\n};\n","const Pact = require(\"@hyperjump/pact\");\nconst PubSub = require(\"pubsub-js\");\nconst Core = require(\"../core\");\nconst Instance = require(\"../instance\");\nconst Schema = require(\"../schema\");\n\n\nconst compile = async (schema, ast) => {\n const url = Schema.uri(schema);\n if (!(url in ast)) {\n ast[url] = false; // Place dummy entry in ast to avoid recursive loops\n\n const schemaValue = Schema.value(schema);\n if (![\"object\", \"boolean\"].includes(typeof schemaValue)) {\n throw Error(`No schema found at '${Schema.uri(schema)}'`);\n }\n\n ast[url] = [\n `${schema.dialectId}#validate`,\n Schema.uri(schema),\n typeof schemaValue === \"boolean\" ? schemaValue : await Pact.pipeline([\n Schema.entries,\n Pact.map(([keyword, keywordSchema]) => [`${schema.dialectId}#${keyword}`, keywordSchema]),\n Pact.filter(([keywordId]) => keywordId !== `${schema.dialectId}#validate`),\n Pact.map(async ([keywordId, keywordSchema]) => {\n const keywordAst = await Core.getKeyword(keywordId).compile(keywordSchema, ast, schema);\n return [keywordId, Schema.uri(keywordSchema), keywordAst];\n }),\n Pact.all\n ], schema)\n ];\n }\n\n return url;\n};\n\nconst interpret = (uri, instance, ast, dynamicAnchors) => {\n const [keywordId, schemaUrl, nodes] = ast[uri];\n\n PubSub.publishSync(\"result.start\");\n const isValid = typeof nodes === \"boolean\" ? nodes : nodes\n .every(([keywordId, schemaUrl, keywordValue]) => {\n PubSub.publishSync(\"result.start\");\n const isValid = Core.getKeyword(keywordId).interpret(keywordValue, instance, ast, dynamicAnchors);\n\n PubSub.publishSync(\"result\", {\n keyword: keywordId,\n absoluteKeywordLocation: schemaUrl,\n instanceLocation: Instance.uri(instance),\n valid: isValid,\n ast: keywordValue\n });\n PubSub.publishSync(\"result.end\");\n return isValid;\n });\n\n PubSub.publishSync(\"result\", {\n keyword: keywordId,\n absoluteKeywordLocation: schemaUrl,\n instanceLocation: Instance.uri(instance),\n valid: isValid,\n ast: uri\n });\n PubSub.publishSync(\"result.end\");\n return isValid;\n};\n\nconst collectEvaluatedProperties = (uri, instance, ast, dynamicAnchors, isTop = false) => {\n const nodes = ast[uri][2];\n\n if (typeof nodes === \"boolean\") {\n return nodes ? [] : false;\n }\n\n return nodes\n .filter(([keywordId]) => !isTop || !keywordId.endsWith(\"#unevaluatedProperties\"))\n .reduce((acc, [keywordId, , keywordValue]) => {\n const propertyNames = acc && Core.getKeyword(keywordId).collectEvaluatedProperties(keywordValue, instance, ast, dynamicAnchors);\n return propertyNames !== false && [...acc, ...propertyNames];\n }, []);\n};\n\nconst collectEvaluatedItems = (uri, instance, ast, dynamicAnchors, isTop = false) => {\n const nodes = ast[uri][2];\n\n if (typeof nodes === \"boolean\") {\n return nodes ? new Set() : false;\n }\n\n return nodes\n .filter(([keywordId]) => !isTop || !keywordId.endsWith(\"#unevaluatedItems\"))\n .reduce((acc, [keywordId, , keywordValue]) => {\n const itemIndexes = acc !== false && Core.getKeyword(keywordId).collectEvaluatedItems(keywordValue, instance, ast, dynamicAnchors);\n return itemIndexes !== false && new Set([...acc, ...itemIndexes]);\n }, new Set());\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","const Core = require(\"./core\");\nconst Schema = require(\"./schema\");\nconst Instance = require(\"./instance\");\nconst Reference = require(\"./reference\");\nconst Keywords = require(\"./keywords\");\nconst InvalidSchemaError = require(\"./invalid-schema-error\");\n\n\nmodule.exports = { Core, Schema, Instance, Reference, Keywords, InvalidSchemaError };\n","const metaData = require(\"./meta-data\");\nconst validate = require(\"./validate\");\n\n\nmodule.exports = { metaData, validate };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n const items = await Schema.step(\"items\", parentSchema);\n const numberOfItems = Schema.typeOf(items, \"array\") ? Schema.length(items) : Number.MAX_SAFE_INTEGER;\n\n if (Schema.typeOf(schema, \"boolean\")) {\n return [numberOfItems, Schema.value(schema)];\n } else {\n return [numberOfItems, await Core.compileSchema(schema, ast)];\n }\n};\n\nconst interpret = ([numberOfItems, additionalItems], instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"array\")) {\n return true;\n }\n\n if (typeof additionalItems === \"string\") {\n return Instance.every((item, ndx) => ndx < numberOfItems || Core.interpretSchema(additionalItems, item, ast, dynamicAnchors), instance);\n } else {\n return Instance.every((item, ndx) => ndx < numberOfItems ? true : additionalItems, instance);\n }\n};\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n const items = await Schema.step(\"items\", parentSchema);\n const numberOfItems = Schema.typeOf(items, \"array\") ? Schema.length(items) : Number.MAX_SAFE_INTEGER;\n\n return [numberOfItems, await Core.compileSchema(schema, ast)];\n};\n\nconst interpret = ([numberOfItems, additionalItems], instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"array\")) {\n return true;\n }\n\n return Instance.every((item, ndx) => ndx < numberOfItems || Core.interpretSchema(additionalItems, item, ast, dynamicAnchors), instance);\n};\n\nconst collectEvaluatedItems = (keywordValue, instance, ast, dynamicAnchors) => {\n return interpret(keywordValue, instance, ast, dynamicAnchors) && new Set(Instance.map((item, ndx) => ndx, instance));\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedItems };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n const properties = await Schema.step(\"properties\", parentSchema);\n const propertyNames = Schema.typeOf(properties, \"object\") ? Schema.keys(properties) : [];\n\n const patternProperties = await Schema.step(\"patternProperties\", parentSchema);\n const propertyNamePatterns = Schema.typeOf(patternProperties, \"object\") ? Schema.keys(patternProperties).map((pattern) => new RegExp(pattern)) : [];\n\n if (Schema.typeOf(schema, \"boolean\")) {\n return [propertyNames, propertyNamePatterns, Schema.value(schema)];\n } else {\n return [propertyNames, propertyNamePatterns, await Core.compileSchema(schema, ast)];\n }\n};\n\nconst interpret = ([propertyNames, propertyNamePatterns, additionalProperties], instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"object\")) {\n return true;\n }\n\n const properties = Instance.entries(instance)\n .filter(([propertyName]) => !propertyNames.includes(propertyName) && !propertyNamePatterns.some((pattern) => pattern.test(propertyName)));\n\n if (typeof additionalProperties === \"string\") {\n return properties.every(([, property]) => Core.interpretSchema(additionalProperties, property, ast, dynamicAnchors));\n } else {\n return properties.length === 0 || additionalProperties;\n }\n};\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n const propertiesSchema = await Schema.step(\"properties\", parentSchema);\n const propertyNames = Schema.typeOf(propertiesSchema, \"object\") ? Schema.keys(propertiesSchema) : [];\n\n const patternProperties = await Schema.step(\"patternProperties\", parentSchema);\n const propertyNamePatterns = Schema.typeOf(patternProperties, \"object\") ? Schema.keys(patternProperties).map((pattern) => new RegExp(pattern)) : [];\n\n return [propertyNames, propertyNamePatterns, await Core.compileSchema(schema, ast)];\n};\n\nconst interpret = ([propertyNames, propertyNamePatterns, additionalProperties], instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"object\")) {\n return true;\n }\n\n return Instance.entries(instance)\n .filter(([propertyName]) => !propertyNames.includes(propertyName) && !propertyNamePatterns.some((pattern) => pattern.test(propertyName)))\n .every(([, property]) => Core.interpretSchema(additionalProperties, property, ast, dynamicAnchors));\n};\n\nconst collectEvaluatedProperties = (keywordValue, instance, ast, dynamicAnchors) => {\n return interpret(keywordValue, instance, ast, dynamicAnchors) && [new RegExp(\"\")];\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties };\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\n\n\nconst compile = (schema, ast) => Pact.pipeline([\n Schema.map(async (itemSchema) => Core.compileSchema(await itemSchema, ast)),\n Pact.all\n], schema);\n\nconst interpret = (allOf, instance, ast, dynamicAnchors) => {\n return allOf.every((schemaUrl) => Core.interpretSchema(schemaUrl, instance, ast, dynamicAnchors));\n};\n\nconst collectEvaluatedProperties = (allOf, instance, ast, dynamicAnchors) => {\n return allOf.reduce((acc, schemaUrl) => {\n const propertyNames = acc && Core.collectEvaluatedProperties(schemaUrl, instance, ast, dynamicAnchors);\n return propertyNames !== false && [...acc, ...propertyNames];\n }, []);\n};\n\nconst collectEvaluatedItems = (allOf, instance, ast, dynamicAnchors) => {\n return allOf.reduce((acc, schemaUrl) => {\n const itemIndexes = acc !== false && Core.collectEvaluatedItems(schemaUrl, instance, ast, dynamicAnchors);\n return itemIndexes !== false && new Set([...acc, ...itemIndexes]);\n }, new Set());\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\n\n\nconst compile = (schema, ast) => Pact.pipeline([\n Schema.map(async (itemSchema) => Core.compileSchema(await itemSchema, ast)),\n Pact.all\n], schema);\n\nconst interpret = (anyOf, instance, ast, dynamicAnchors) => {\n const matches = anyOf.filter((schemaUrl) => Core.interpretSchema(schemaUrl, instance, ast, dynamicAnchors));\n return matches.length > 0;\n};\n\nconst collectEvaluatedProperties = (anyOf, instance, ast, dynamicAnchors) => {\n return anyOf.reduce((acc, schemaUrl) => {\n const propertyNames = Core.collectEvaluatedProperties(schemaUrl, instance, ast, dynamicAnchors);\n return propertyNames !== false ? [...acc || [], ...propertyNames] : acc;\n }, false);\n};\n\nconst collectEvaluatedItems = (anyOf, instance, ast, dynamicAnchors) => {\n return anyOf.reduce((acc, schemaUrl) => {\n const itemIndexes = Core.collectEvaluatedItems(schemaUrl, instance, ast, dynamicAnchors);\n return itemIndexes !== false ? new Set([...acc || [], ...itemIndexes]) : acc;\n }, false);\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","'use strict';\n\nvar keyList = Object.keys;\nvar native_stringify = JSON.stringify;\n\nfunction stringify(val, allowUndefined) {\n var i, max, str, keys, key, propVal, tipeof;\n\n tipeof = typeof val;\n\n if (tipeof === 'string') return native_stringify(val);\n if (val === true) return 'true';\n if (val === false) return 'false';\n if (val === null) return 'null';\n\n if (val instanceof Array) {\n str = '[';\n max = val.length - 1;\n for(i = 0; i < max; i++)\n str += stringify(val[i], false) + ',';\n if (max > -1) {\n str += stringify(val[i], false);\n }\n\n return str + ']';\n }\n\n if (val instanceof Object) {\n if (typeof val.toJSON === 'function')\n return stringify(val.toJSON(), allowUndefined);\n\n // only object is left\n keys = keyList(val).sort();\n max = keys.length;\n str = '';\n i = 0;\n while (i < max) {\n key = keys[i];\n propVal = stringify(val[key], true);\n if (propVal !== undefined) {\n if (i && str !== '') { //if the string is empty, don't add comma to avoid the json to become invalid.\n str += ',';\n }\n str += native_stringify(key) + ':' + propVal;\n }\n i++;\n }\n return '{' + str + '}';\n }\n\n switch (tipeof) {\n case 'function':\n case 'undefined':\n return allowUndefined ? undefined : null;\n default:\n return isFinite(val) ? val : null;\n }\n}\n\nmodule.exports = function(obj) { return '' + stringify(obj, false); };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst jsonStringify = require(\"fastest-stable-stringify\");\n\n\nconst compile = (schema) => jsonStringify(Schema.value(schema));\nconst interpret = (const_, instance) => jsonStringify(Instance.value(instance)) === const_;\n\nmodule.exports = { compile, interpret };\n","const { Core, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema, ast) => Core.compileSchema(schema, ast);\n\nconst interpret = (contains, instance, ast, dynamicAnchors) => {\n return !Instance.typeOf(instance, \"array\") || Instance.some((item) => Core.interpretSchema(contains, item, ast, dynamicAnchors), instance);\n};\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n const contains = await Core.compileSchema(schema, ast);\n\n const minContainsSchema = await Schema.step(\"minContains\", parentSchema);\n const minContains = Schema.typeOf(minContainsSchema, \"number\") ? Schema.value(minContainsSchema) : 1;\n\n const maxContainsSchema = await Schema.step(\"maxContains\", parentSchema);\n const maxContains = Schema.typeOf(maxContainsSchema, \"number\") ? Schema.value(maxContainsSchema) : Number.MAX_SAFE_INTEGER;\n\n return { contains, minContains, maxContains };\n};\n\nconst interpret = ({ contains, minContains, maxContains }, instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"array\")) {\n return true;\n }\n\n const matches = Instance.reduce((matches, item) => {\n return Core.interpretSchema(contains, item, ast, dynamicAnchors) ? matches + 1 : matches;\n }, 0, instance);\n return matches >= minContains && matches <= maxContains;\n};\n\nconst collectEvaluatedItems = (keywordValue, instance, ast, dynamicAnchors) => {\n return interpret(keywordValue, instance, ast, dynamicAnchors) && Instance.reduce((matchedIndexes, item, itemIndex) => {\n return Core.interpretSchema(keywordValue.contains, item, ast, dynamicAnchors) ? matchedIndexes.add(itemIndex) : matchedIndexes;\n }, new Set(), instance);\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedItems };\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\n\n\nconst compile = async (schema, ast) => {\n await Pact.pipeline([\n Schema.entries,\n Pact.map(([, definitionSchema]) => Core.compileSchema(definitionSchema, ast)),\n Pact.all\n ], schema);\n};\n\nconst interpret = () => true;\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\n\n\nconst compile = (schema, ast) => Pact.pipeline([\n Schema.entries,\n Pact.map(async ([key, dependency]) => {\n return [key, Schema.typeOf(dependency, \"array\") ? Schema.value(dependency) : await Core.compileSchema(dependency, ast)];\n }),\n Pact.all\n], schema);\n\nconst interpret = (dependencies, instance, ast, dynamicAnchors) => {\n const value = Instance.value(instance);\n\n return !Instance.typeOf(instance, \"object\") || dependencies.every(([propertyName, dependency]) => {\n if (!(propertyName in value)) {\n return true;\n }\n\n if (Array.isArray(dependency)) {\n return dependency.every((key) => key in value);\n } else {\n return Core.interpretSchema(dependency, instance, ast, dynamicAnchors);\n }\n });\n};\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\n\n\nconst compile = (schema) => Pact.pipeline([\n Schema.entries,\n Pact.map(([key, dependentRequired]) => [key, Schema.value(dependentRequired)]),\n Pact.all\n], schema);\n\nconst interpret = (dependentRequired, instance) => {\n const value = Instance.value(instance);\n\n return !Instance.typeOf(instance, \"object\") || dependentRequired.every(([propertyName, required]) => {\n return !(propertyName in value) || required.every((key) => key in value);\n });\n};\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\n\n\nconst compile = (schema, ast) => Pact.pipeline([\n Schema.entries,\n Pact.map(async ([key, dependentSchema]) => [key, await Core.compileSchema(dependentSchema, ast)]),\n Pact.all\n], schema);\n\nconst interpret = (dependentSchemas, instance, ast, dynamicAnchors) => {\n const value = Instance.value(instance);\n\n return !Instance.typeOf(instance, \"object\") || dependentSchemas.every(([propertyName, dependentSchema]) => {\n return !(propertyName in value) || Core.interpretSchema(dependentSchema, instance, ast, dynamicAnchors);\n });\n};\n\nconst collectEvaluatedProperties = (dependentSchemas, instance, ast, dynamicAnchors) => {\n return dependentSchemas.reduce((acc, [propertyName, dependentSchema]) => {\n if (!acc || !Instance.has(propertyName, instance)) {\n return acc;\n }\n\n const propertyNames = Core.collectEvaluatedProperties(dependentSchema, instance, ast, dynamicAnchors);\n return propertyNames !== false && acc.concat(propertyNames);\n }, []);\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst jsonStringify = require(\"fastest-stable-stringify\");\n\n\nconst compile = (schema) => Schema.value(schema).map(jsonStringify);\nconst interpret = (enum_, instance) => enum_.some((enumValue) => jsonStringify(Instance.value(instance)) === enumValue);\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema) => Schema.value(schema);\nconst interpret = (exclusiveMaximum, instance) => !Instance.typeOf(instance, \"number\") || Instance.value(instance) < exclusiveMaximum;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema) => Schema.value(schema);\nconst interpret = (exclusiveMinimum, instance) => !Instance.typeOf(instance, \"number\") || Instance.value(instance) > exclusiveMinimum;\n\nmodule.exports = { compile, interpret };\n","const { Core } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema, ast) => Core.compileSchema(schema, ast);\n\nconst interpret = (ifSchema, instance, ast, dynamicAnchors) => {\n Core.interpretSchema(ifSchema, instance, ast, dynamicAnchors);\n return true;\n};\n\nconst collectEvaluatedProperties = (ifSchema, instance, ast, dynamicAnchors) => {\n return Core.collectEvaluatedProperties(ifSchema, instance, ast, dynamicAnchors) || [];\n};\n\nconst collectEvaluatedItems = (ifSchema, instance, ast, dynamicAnchors) => {\n return Core.collectEvaluatedItems(ifSchema, instance, ast, dynamicAnchors) || new Set();\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n if (Schema.has(\"if\", parentSchema)) {\n const ifSchema = await Schema.step(\"if\", parentSchema);\n return [await Core.compileSchema(ifSchema, ast), await Core.compileSchema(schema, ast)];\n } else {\n return [];\n }\n};\n\nconst interpret = ([guard, block], instance, ast, dynamicAnchors) => {\n return guard === undefined || !quietInterpretSchema(guard, instance, ast, dynamicAnchors) || Core.interpretSchema(block, instance, ast, dynamicAnchors);\n};\n\n// Interpret a schema without events being emitted\nconst quietInterpretSchema = (uri, instance, ast, dynamicAnchors) => {\n const nodes = ast[uri][2];\n\n return typeof nodes === \"boolean\" ? nodes : nodes\n .every(([keywordId, , keywordValue]) => {\n return Core.getKeyword(keywordId).interpret(keywordValue, instance, ast, dynamicAnchors);\n });\n};\n\nconst collectEvaluatedProperties = ([guard, block], instance, ast, dynamicAnchors) => {\n if (guard === undefined || !quietInterpretSchema(guard, instance, ast, dynamicAnchors)) {\n return [];\n }\n\n return Core.collectEvaluatedProperties(block, instance, ast, dynamicAnchors);\n};\n\nconst collectEvaluatedItems = ([guard, block], instance, ast, dynamicAnchors) => {\n if (guard === undefined || !quietInterpretSchema(guard, instance, ast, dynamicAnchors)) {\n return new Set();\n }\n\n return Core.collectEvaluatedItems(block, instance, ast, dynamicAnchors);\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n if (Schema.has(\"if\", parentSchema)) {\n const ifSchema = await Schema.step(\"if\", parentSchema);\n return [await Core.compileSchema(ifSchema, ast), await Core.compileSchema(schema, ast)];\n } else {\n return [];\n }\n};\n\nconst interpret = ([guard, block], instance, ast, dynamicAnchors) => {\n return guard === undefined || quietInterpretSchema(guard, instance, ast, dynamicAnchors) || Core.interpretSchema(block, instance, ast, dynamicAnchors);\n};\n\n// Interpret a schema without events being emitted\nconst quietInterpretSchema = (uri, instance, ast, dynamicAnchors) => {\n const nodes = ast[uri][2];\n\n return typeof nodes === \"boolean\" ? nodes : nodes\n .every(([keywordId, , keywordValue]) => {\n return Core.getKeyword(keywordId).interpret(keywordValue, instance, ast, dynamicAnchors);\n });\n};\n\nconst collectEvaluatedProperties = ([guard, block], instance, ast, dynamicAnchors) => {\n if (guard === undefined || quietInterpretSchema(guard, instance, ast, dynamicAnchors)) {\n return [];\n }\n\n return Core.collectEvaluatedProperties(block, instance, ast, dynamicAnchors);\n};\n\nconst collectEvaluatedItems = ([guard, block], instance, ast, dynamicAnchors) => {\n if (guard === undefined || quietInterpretSchema(guard, instance, ast, dynamicAnchors)) {\n return new Set();\n }\n\n return Core.collectEvaluatedItems(block, instance, ast, dynamicAnchors);\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast) => {\n if (Schema.typeOf(schema, \"array\")) {\n const tupleItems = await Schema.map((itemSchema) => Core.compileSchema(itemSchema, ast), schema);\n return Promise.all(tupleItems);\n } else {\n return Core.compileSchema(schema, ast);\n }\n};\n\nconst interpret = (items, instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"array\")) {\n return true;\n }\n\n if (typeof items === \"string\") {\n return Instance.every((itemValue) => Core.interpretSchema(items, itemValue, ast, dynamicAnchors), instance);\n } else {\n return Instance.every((item, ndx) => !(ndx in items) || Core.interpretSchema(items[ndx], item, ast, dynamicAnchors), instance);\n }\n};\n\nconst collectEvaluatedItems = (items, instance, ast, dynamicAnchors) => {\n return interpret(items, instance, ast, dynamicAnchors) && (typeof items === \"string\"\n ? new Set(Instance.map((item, itemIndex) => itemIndex, instance))\n : new Set(items.map((item, itemIndex) => itemIndex)));\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedItems };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n const items = await Schema.step(\"prefixItems\", parentSchema);\n const numberOfPrefixItems = Schema.typeOf(items, \"array\") ? Schema.length(items) : 0;\n\n return [numberOfPrefixItems, await Core.compileSchema(schema, ast)];\n};\n\nconst interpret = ([numberOfPrefixItems, items], instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"array\")) {\n return true;\n }\n\n return Instance.every((item, ndx) => ndx < numberOfPrefixItems || Core.interpretSchema(items, item, ast, dynamicAnchors), instance);\n};\n\nconst collectEvaluatedItems = (keywordValue, instance, ast, dynamicAnchors) => {\n return interpret(keywordValue, instance, ast, dynamicAnchors) && new Set(Instance.map((item, ndx) => ndx, instance));\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedItems };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\nconst interpret = (maxItems, instance) => !Instance.typeOf(instance, \"array\") || Instance.length(instance) <= maxItems;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\nconst interpret = (maxLength, instance) => !Instance.typeOf(instance, \"string\") || [...Instance.value(instance)].length <= maxLength;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\nconst interpret = (maxProperties, instance) => !Instance.typeOf(instance, \"object\") || Instance.keys(instance).length <= maxProperties;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n const exclusiveMaximum = await Schema.step(\"exclusiveMaximum\", parentSchema);\n const isExclusive = Schema.value(exclusiveMaximum);\n\n return [Schema.value(schema), isExclusive];\n};\n\nconst interpret = ([maximum, isExclusive], instance) => {\n if (!Instance.typeOf(instance, \"number\")) {\n return true;\n }\n\n const value = Instance.value(instance);\n return isExclusive ? value < maximum : value <= maximum;\n};\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema) => Schema.value(schema);\nconst interpret = (maximum, instance) => !Instance.typeOf(instance, \"number\") || Instance.value(instance) <= maximum;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\nconst interpret = (minItems, instance) => !Instance.typeOf(instance, \"array\") || Instance.length(instance) >= minItems;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\nconst interpret = (minLength, instance) => !Instance.typeOf(instance, \"string\") || [...Instance.value(instance)].length >= minLength;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\nconst interpret = (minProperties, instance) => !Instance.typeOf(instance, \"object\") || Instance.keys(instance).length >= minProperties;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n const exclusiveMinimum = await Schema.step(\"exclusiveMinimum\", parentSchema);\n const isExclusive = Schema.value(exclusiveMinimum);\n\n return [Schema.value(schema), isExclusive];\n};\n\nconst interpret = ([minimum, isExclusive], instance) => {\n if (!Instance.typeOf(instance, \"number\")) {\n return true;\n }\n\n const value = Instance.value(instance);\n return isExclusive ? value > minimum : value >= minimum;\n};\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema) => Schema.value(schema);\nconst interpret = (minimum, instance) => !Instance.typeOf(instance, \"number\") || Instance.value(instance) >= minimum;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\n\nconst interpret = (multipleOf, instance) => {\n if (!Instance.typeOf(instance, \"number\")) {\n return true;\n }\n\n const remainder = Instance.value(instance) % multipleOf;\n return numberEqual(0, remainder) || numberEqual(multipleOf, remainder);\n};\n\nconst numberEqual = (a, b) => Math.abs(a - b) < 1.19209290e-7;\n\nmodule.exports = { compile, interpret };\n","const { Core } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = Core.compileSchema;\nconst interpret = (not, instance, ast, dynamicAnchors) => !Core.interpretSchema(not, instance, ast, dynamicAnchors);\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast) => {\n const oneOf = await Schema.map((itemSchema) => Core.compileSchema(itemSchema, ast), schema);\n return Promise.all(oneOf);\n};\n\nconst interpret = (oneOf, instance, ast, dynamicAnchors) => {\n let validCount = 0;\n for (const schemaUrl of oneOf) {\n if (Core.interpretSchema(schemaUrl, instance, ast, dynamicAnchors)) {\n validCount++;\n }\n\n if (validCount > 1) {\n break;\n }\n }\n\n return validCount === 1;\n};\n\nconst collectEvaluatedProperties = (oneOf, instance, ast, dynamicAnchors) => {\n let validCount = 0;\n return oneOf.reduce((acc, schemaUrl) => {\n if (validCount > 1) {\n return false;\n }\n\n const propertyNames = Core.collectEvaluatedProperties(schemaUrl, instance, ast, dynamicAnchors);\n return propertyNames ? validCount++ === 0 && propertyNames : acc;\n }, false);\n};\n\nconst collectEvaluatedItems = (oneOf, instance, ast, dynamicAnchors) => {\n let validCount = 0;\n return oneOf.reduce((acc, schemaUrl) => {\n if (validCount > 1) {\n return false;\n }\n\n const itemIndexes = Core.collectEvaluatedItems(schemaUrl, instance, ast, dynamicAnchors);\n return itemIndexes ? validCount++ === 0 && itemIndexes : acc;\n }, false);\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => new RegExp(Schema.value(schema), \"u\");\nconst interpret = (pattern, instance) => !Instance.typeOf(instance, \"string\") || pattern.test(Instance.value(instance));\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\n\n\nconst compile = (schema, ast) => Pact.pipeline([\n Schema.entries,\n Pact.map(async ([pattern, propertySchema]) => [new RegExp(pattern, \"u\"), await Core.compileSchema(propertySchema, ast)]),\n Pact.all\n], schema);\n\nconst interpret = (patternProperties, instance, ast, dynamicAnchors) => {\n return !Instance.typeOf(instance, \"object\") || patternProperties.every(([pattern, schemaUrl]) => {\n return Instance.entries(instance)\n .filter(([propertyName]) => pattern.test(propertyName))\n .every(([, propertyValue]) => Core.interpretSchema(schemaUrl, propertyValue, ast, dynamicAnchors));\n });\n};\n\nconst collectEvaluatedProperties = (patternProperties, instance, ast, dynamicAnchors) => {\n return interpret(patternProperties, instance, ast, dynamicAnchors) && patternProperties.map(([pattern]) => pattern);\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties };\n","const isObject = (value) => typeof value === \"object\" && !Array.isArray(value) && value !== null;\nconst escapeRegExp = (string) => string.replace(/[.*+\\-?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n\nconst splitUrl = (url) => {\n const indexOfHash = url.indexOf(\"#\");\n const ndx = indexOfHash === -1 ? url.length : indexOfHash;\n const urlReference = url.slice(0, ndx);\n const urlFragment = url.slice(ndx + 1);\n\n return [decodeURI(urlReference), decodeURI(urlFragment)];\n};\n\nmodule.exports = { isObject, escapeRegExp, splitUrl };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\nconst { escapeRegExp } = require(\"../common\");\n\n\nconst compile = (schema, ast) => Pact.pipeline([\n Schema.entries,\n Pact.reduce(async (acc, [propertyName, propertySchema]) => {\n acc[propertyName] = await Core.compileSchema(propertySchema, ast);\n return acc;\n }, Object.create(null))\n], schema);\n\nconst interpret = (properties, instance, ast, dynamicAnchors) => {\n return !Instance.typeOf(instance, \"object\") || Instance.entries(instance)\n .filter(([propertyName]) => propertyName in properties)\n .every(([propertyName, schemaUrl]) => Core.interpretSchema(properties[propertyName], schemaUrl, ast, dynamicAnchors));\n};\n\nconst collectEvaluatedProperties = (properties, instance, ast, dynamicAnchors) => {\n return interpret(properties, instance, ast, dynamicAnchors) && Object.keys(properties)\n .map((propertyName) => new RegExp(`^${escapeRegExp(propertyName)}$`));\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties };\n","const { Core, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema, ast) => Core.compileSchema(schema, ast);\n\nconst interpret = (propertyNames, instance, ast, dynamicAnchors) => {\n return !Instance.typeOf(instance, \"object\") || Instance.keys(instance)\n .every((key) => Core.interpretSchema(propertyNames, Instance.cons(key), ast, dynamicAnchors));\n};\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst { splitUrl } = require(\"../common\");\n\n\nconst compile = async (dynamicRef, ast) => {\n const [, fragment] = splitUrl(Schema.value(dynamicRef));\n const referencedSchema = await Schema.get(Schema.value(dynamicRef), dynamicRef);\n await Core.compileSchema(referencedSchema, ast);\n return [referencedSchema.id, fragment];\n};\n\nconst interpret = ([id, fragment], instance, ast, dynamicAnchors) => {\n if (fragment in ast.metaData[id].dynamicAnchors) {\n return Core.interpretSchema(dynamicAnchors[fragment], instance, ast, dynamicAnchors);\n } else {\n const pointer = Schema.getAnchorPointer(ast.metaData[id], fragment);\n return Core.interpretSchema(`${id}#${encodeURI(pointer)}`, instance, ast, dynamicAnchors);\n }\n};\n\nconst collectEvaluatedProperties = Core.collectEvaluatedProperties;\nconst collectEvaluatedItems = Core.collectEvaluatedItems;\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (ref, ast) => {\n const referencedSchema = await Schema.get(Schema.value(ref), ref);\n return Core.compileSchema(referencedSchema, ast);\n};\n\nconst interpret = Core.interpretSchema;\nconst collectEvaluatedProperties = Core.collectEvaluatedProperties;\nconst collectEvaluatedItems = Core.collectEvaluatedItems;\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\n\nconst interpret = (required, instance) => {\n return !Instance.typeOf(instance, \"object\") || required.every((propertyName) => Object.prototype.hasOwnProperty.call(Instance.value(instance), propertyName));\n};\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\n\n\nconst compile = (schema, ast) => {\n return Pact.pipeline([\n Schema.map((itemSchema) => Core.compileSchema(itemSchema, ast)),\n Pact.all\n ], schema);\n};\n\nconst interpret = (items, instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"array\")) {\n return true;\n }\n\n return Instance.every((item, ndx) => !(ndx in items) || Core.interpretSchema(items[ndx], item, ast, dynamicAnchors), instance);\n};\n\nconst collectEvaluatedItems = (items, instance, ast, dynamicAnchors) => {\n return interpret(items, instance, ast, dynamicAnchors) && new Set(items.map((item, ndx) => ndx));\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedItems };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\nconst interpret = (type, instance) => typeof type === \"string\" ? Instance.typeOf(instance, type) : type.some(Instance.typeOf(instance));\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n return [Schema.uri(parentSchema), await Core.compileSchema(schema, ast)];\n};\n\nconst interpret = ([schemaUrl, unevaluatedItems], instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"array\")) {\n return true;\n }\n\n const itemIndexes = Core.collectEvaluatedItems(schemaUrl, instance, ast, dynamicAnchors, true);\n return itemIndexes === false || Instance.every((item, itemIndex) => {\n return itemIndexes.has(itemIndex) || Core.interpretSchema(unevaluatedItems, Instance.step(itemIndex, instance), ast, dynamicAnchors);\n }, instance);\n};\n\nconst collectEvaluatedItems = (keywordValue, instance, ast, dynamicAnchors) => {\n return interpret(keywordValue, instance, ast, dynamicAnchors) && new Set(Instance.map((item, ndx) => ndx, instance));\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedItems };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n return [Schema.uri(parentSchema), await Core.compileSchema(schema, ast)];\n};\n\nconst interpret = ([schemaUrl, unevaluatedProperties], instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"object\")) {\n return true;\n }\n\n const evaluatedPropertyNames = Core.collectEvaluatedProperties(schemaUrl, instance, ast, dynamicAnchors, true);\n\n return !evaluatedPropertyNames || Instance.entries(instance)\n .filter(([propertyName]) => !evaluatedPropertyNames.some((pattern) => propertyName.match(pattern)))\n .every(([, property]) => Core.interpretSchema(unevaluatedProperties, property, ast, dynamicAnchors));\n};\n\nconst collectEvaluatedProperties = (keywordValue, instance, ast, dynamicAnchors) =>{\n return interpret(keywordValue, instance, ast, dynamicAnchors) && [new RegExp(\"\")];\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst jsonStringify = require(\"fastest-stable-stringify\");\n\n\nconst compile = (schema) => Schema.value(schema);\n\nconst interpret = (uniqueItems, instance) => {\n if (!Instance.typeOf(instance, \"array\") || uniqueItems === false) {\n return true;\n }\n\n const normalizedItems = Instance.map((item) => jsonStringify(Instance.value(item)), instance);\n return new Set(normalizedItems).size === normalizedItems.length;\n};\n\nmodule.exports = { compile, interpret };\n","const { Keywords } = require(\"@hyperjump/json-schema-core\");\n\n\nmodule.exports = {\n additionalItems: require(\"./additionalItems\"),\n additionalItems6: require(\"./additionalItems6\"),\n additionalProperties: require(\"./additionalProperties\"),\n additionalProperties6: require(\"./additionalProperties6\"),\n allOf: require(\"./allOf\"),\n anyOf: require(\"./anyOf\"),\n const: require(\"./const\"),\n contains: require(\"./contains\"),\n containsMinContainsMaxContains: require(\"./contains-minContains-maxContains\"),\n definitions: require(\"./definitions\"),\n dependencies: require(\"./dependencies\"),\n dependentRequired: require(\"./dependentRequired\"),\n dependentSchemas: require(\"./dependentSchemas\"),\n enum: require(\"./enum\"),\n exclusiveMaximum: require(\"./exclusiveMaximum\"),\n exclusiveMinimum: require(\"./exclusiveMinimum\"),\n if: require(\"./if\"),\n then: require(\"./then\"),\n else: require(\"./else\"),\n items: require(\"./items\"),\n items202012: require(\"./items202012\"),\n maxItems: require(\"./maxItems\"),\n maxLength: require(\"./maxLength\"),\n maxProperties: require(\"./maxProperties\"),\n maximumExclusiveMaximum: require(\"./maximum-exclusiveMaximum\"),\n maximum: require(\"./maximum\"),\n metaData: Keywords.metaData,\n minItems: require(\"./minItems\"),\n minLength: require(\"./minLength\"),\n minProperties: require(\"./minProperties\"),\n minimumExclusiveMinimum: require(\"./minimum-exclusiveMinimum\"),\n minimum: require(\"./minimum\"),\n multipleOf: require(\"./multipleOf\"),\n not: require(\"./not\"),\n oneOf: require(\"./oneOf\"),\n pattern: require(\"./pattern\"),\n patternProperties: require(\"./patternProperties\"),\n properties: require(\"./properties\"),\n propertyNames: require(\"./propertyNames\"),\n dynamicRef: require(\"./dynamicRef\"),\n ref: require(\"./ref\"),\n required: require(\"./required\"),\n tupleItems: require(\"./tupleItems\"),\n type: require(\"./type\"),\n unevaluatedItems: require(\"./unevaluatedItems\"),\n unevaluatedProperties: require(\"./unevaluatedProperties\"),\n uniqueItems: require(\"./uniqueItems\"),\n validate: Keywords.validate\n};\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst keywords = require(\"./keywords\");\nconst metaSchema = require(\"../meta/draft-04/schema\");\n\n\n// JSON Schema Draft-04\nconst jsonSchemaVersion = \"http://json-schema.org/draft-04/schema\";\n\nSchema.setConfig(jsonSchemaVersion, \"baseToken\", \"id\");\nSchema.setConfig(jsonSchemaVersion, \"embeddedToken\", \"id\");\nSchema.setConfig(jsonSchemaVersion, \"anchorToken\", \"id\");\nSchema.setConfig(jsonSchemaVersion, \"jrefToken\", \"$ref\");\n\nSchema.add(JSON.parse(metaSchema));\nCore.defineVocabulary(jsonSchemaVersion, {\n \"validate\": keywords.validate,\n \"additionalItems\": keywords.additionalItems,\n \"additionalProperties\": keywords.additionalProperties,\n \"allOf\": keywords.allOf,\n \"anyOf\": keywords.anyOf,\n \"default\": keywords.metaData,\n \"definitions\": keywords.definitions,\n \"dependencies\": keywords.dependencies,\n \"description\": keywords.metaData,\n \"enum\": keywords.enum,\n \"format\": keywords.metaData,\n \"items\": keywords.items,\n \"maxItems\": keywords.maxItems,\n \"maxLength\": keywords.maxLength,\n \"maxProperties\": keywords.maxProperties,\n \"maximum\": keywords.maximumExclusiveMaximum,\n \"minItems\": keywords.minItems,\n \"minLength\": keywords.minLength,\n \"minProperties\": keywords.minProperties,\n \"minimum\": keywords.minimumExclusiveMinimum,\n \"multipleOf\": keywords.multipleOf,\n \"not\": keywords.not,\n \"oneOf\": keywords.oneOf,\n \"pattern\": keywords.pattern,\n \"patternProperties\": keywords.patternProperties,\n \"properties\": keywords.properties,\n \"required\": keywords.required,\n \"title\": keywords.metaData,\n \"type\": keywords.type,\n \"uniqueItems\": keywords.uniqueItems\n});\n","module.exports = `{\n \"id\": \"http://json-schema.org/draft-04/schema#\",\n \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n \"description\": \"Core schema meta-schema\",\n \"definitions\": {\n \"schemaArray\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"items\": { \"$ref\": \"#\" }\n },\n \"positiveInteger\": {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n \"positiveIntegerDefault0\": {\n \"allOf\": [ { \"$ref\": \"#/definitions/positiveInteger\" }, { \"default\": 0 } ]\n },\n \"simpleTypes\": {\n \"enum\": [ \"array\", \"boolean\", \"integer\", \"null\", \"number\", \"object\", \"string\" ]\n },\n \"stringArray\": {\n \"type\": \"array\",\n \"items\": { \"type\": \"string\" },\n \"minItems\": 1,\n \"uniqueItems\": true\n }\n },\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"$schema\": {\n \"type\": \"string\"\n },\n \"title\": {\n \"type\": \"string\"\n },\n \"description\": {\n \"type\": \"string\"\n },\n \"default\": {},\n \"multipleOf\": {\n \"type\": \"number\",\n \"minimum\": 0,\n \"exclusiveMinimum\": true\n },\n \"maximum\": {\n \"type\": \"number\"\n },\n \"exclusiveMaximum\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"minimum\": {\n \"type\": \"number\"\n },\n \"exclusiveMinimum\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"maxLength\": { \"$ref\": \"#/definitions/positiveInteger\" },\n \"minLength\": { \"$ref\": \"#/definitions/positiveIntegerDefault0\" },\n \"pattern\": {\n \"type\": \"string\",\n \"format\": \"regex\"\n },\n \"additionalItems\": {\n \"anyOf\": [\n { \"type\": \"boolean\" },\n { \"$ref\": \"#\" }\n ],\n \"default\": {}\n },\n \"items\": {\n \"anyOf\": [\n { \"$ref\": \"#\" },\n { \"$ref\": \"#/definitions/schemaArray\" }\n ],\n \"default\": {}\n },\n \"maxItems\": { \"$ref\": \"#/definitions/positiveInteger\" },\n \"minItems\": { \"$ref\": \"#/definitions/positiveIntegerDefault0\" },\n \"uniqueItems\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"maxProperties\": { \"$ref\": \"#/definitions/positiveInteger\" },\n \"minProperties\": { \"$ref\": \"#/definitions/positiveIntegerDefault0\" },\n \"required\": { \"$ref\": \"#/definitions/stringArray\" },\n \"additionalProperties\": {\n \"anyOf\": [\n { \"type\": \"boolean\" },\n { \"$ref\": \"#\" }\n ],\n \"default\": {}\n },\n \"definitions\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"default\": {}\n },\n \"properties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"default\": {}\n },\n \"patternProperties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"default\": {}\n },\n \"dependencies\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"anyOf\": [\n { \"$ref\": \"#\" },\n { \"$ref\": \"#/definitions/stringArray\" }\n ]\n }\n },\n \"enum\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"uniqueItems\": true\n },\n \"type\": {\n \"anyOf\": [\n { \"$ref\": \"#/definitions/simpleTypes\" },\n {\n \"type\": \"array\",\n \"items\": { \"$ref\": \"#/definitions/simpleTypes\" },\n \"minItems\": 1,\n \"uniqueItems\": true\n }\n ]\n },\n \"format\": { \"type\": \"string\" },\n \"allOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"anyOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"oneOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"not\": { \"$ref\": \"#\" }\n },\n \"dependencies\": {\n \"exclusiveMaximum\": [ \"maximum\" ],\n \"exclusiveMinimum\": [ \"minimum\" ]\n },\n \"default\": {}\n}`;\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst keywords = require(\"./keywords\");\nconst metaSchema = require(\"../meta/draft-06/schema\");\n\n\nconst jsonSchemaVersion = \"http://json-schema.org/draft-06/schema\";\n\nSchema.setConfig(jsonSchemaVersion, \"baseToken\", \"$id\");\nSchema.setConfig(jsonSchemaVersion, \"embeddedToken\", \"$id\");\nSchema.setConfig(jsonSchemaVersion, \"anchorToken\", \"$id\");\nSchema.setConfig(jsonSchemaVersion, \"jrefToken\", \"$ref\");\n\nSchema.add(JSON.parse(metaSchema));\nCore.defineVocabulary(jsonSchemaVersion, {\n \"validate\": keywords.validate,\n \"additionalItems\": keywords.additionalItems6,\n \"additionalProperties\": keywords.additionalProperties6,\n \"allOf\": keywords.allOf,\n \"anyOf\": keywords.anyOf,\n \"const\": keywords.const,\n \"contains\": keywords.contains,\n \"default\": keywords.metaData,\n \"definitions\": keywords.definitions,\n \"dependencies\": keywords.dependencies,\n \"description\": keywords.metaData,\n \"enum\": keywords.enum,\n \"examples\": keywords.metaData,\n \"exclusiveMaximum\": keywords.exclusiveMaximum,\n \"exclusiveMinimum\": keywords.exclusiveMinimum,\n \"format\": keywords.metaData,\n \"items\": keywords.items,\n \"maxItems\": keywords.maxItems,\n \"maxLength\": keywords.maxLength,\n \"maxProperties\": keywords.maxProperties,\n \"maximum\": keywords.maximum,\n \"minItems\": keywords.minItems,\n \"minLength\": keywords.minLength,\n \"minProperties\": keywords.minProperties,\n \"minimum\": keywords.minimum,\n \"multipleOf\": keywords.multipleOf,\n \"not\": keywords.not,\n \"oneOf\": keywords.oneOf,\n \"pattern\": keywords.pattern,\n \"patternProperties\": keywords.patternProperties,\n \"properties\": keywords.properties,\n \"propertyNames\": keywords.propertyNames,\n \"required\": keywords.required,\n \"title\": keywords.metaData,\n \"type\": keywords.type,\n \"uniqueItems\": keywords.uniqueItems\n});\n","module.exports = `{\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\n \"$id\": \"http://json-schema.org/draft-06/schema#\",\n \"title\": \"Core schema meta-schema\",\n \"definitions\": {\n \"schemaArray\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"items\": { \"$ref\": \"#\" }\n },\n \"nonNegativeInteger\": {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n \"nonNegativeIntegerDefault0\": {\n \"allOf\": [\n { \"$ref\": \"#/definitions/nonNegativeInteger\" },\n { \"default\": 0 }\n ]\n },\n \"simpleTypes\": {\n \"enum\": [\n \"array\",\n \"boolean\",\n \"integer\",\n \"null\",\n \"number\",\n \"object\",\n \"string\"\n ]\n },\n \"stringArray\": {\n \"type\": \"array\",\n \"items\": { \"type\": \"string\" },\n \"uniqueItems\": true,\n \"default\": []\n }\n },\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"$id\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\"\n },\n \"$schema\": {\n \"type\": \"string\",\n \"format\": \"uri\"\n },\n \"$ref\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\"\n },\n \"title\": {\n \"type\": \"string\"\n },\n \"description\": {\n \"type\": \"string\"\n },\n \"default\": {},\n \"examples\": {\n \"type\": \"array\",\n \"items\": {}\n },\n \"multipleOf\": {\n \"type\": \"number\",\n \"exclusiveMinimum\": 0\n },\n \"maximum\": {\n \"type\": \"number\"\n },\n \"exclusiveMaximum\": {\n \"type\": \"number\"\n },\n \"minimum\": {\n \"type\": \"number\"\n },\n \"exclusiveMinimum\": {\n \"type\": \"number\"\n },\n \"maxLength\": { \"$ref\": \"#/definitions/nonNegativeInteger\" },\n \"minLength\": { \"$ref\": \"#/definitions/nonNegativeIntegerDefault0\" },\n \"pattern\": {\n \"type\": \"string\",\n \"format\": \"regex\"\n },\n \"additionalItems\": { \"$ref\": \"#\" },\n \"items\": {\n \"anyOf\": [\n { \"$ref\": \"#\" },\n { \"$ref\": \"#/definitions/schemaArray\" }\n ],\n \"default\": {}\n },\n \"maxItems\": { \"$ref\": \"#/definitions/nonNegativeInteger\" },\n \"minItems\": { \"$ref\": \"#/definitions/nonNegativeIntegerDefault0\" },\n \"uniqueItems\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"contains\": { \"$ref\": \"#\" },\n \"maxProperties\": { \"$ref\": \"#/definitions/nonNegativeInteger\" },\n \"minProperties\": { \"$ref\": \"#/definitions/nonNegativeIntegerDefault0\" },\n \"required\": { \"$ref\": \"#/definitions/stringArray\" },\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"definitions\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"default\": {}\n },\n \"properties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"default\": {}\n },\n \"patternProperties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"default\": {}\n },\n \"dependencies\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"anyOf\": [\n { \"$ref\": \"#\" },\n { \"$ref\": \"#/definitions/stringArray\" }\n ]\n }\n },\n \"propertyNames\": { \"$ref\": \"#\" },\n \"const\": {},\n \"enum\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"uniqueItems\": true\n },\n \"type\": {\n \"anyOf\": [\n { \"$ref\": \"#/definitions/simpleTypes\" },\n {\n \"type\": \"array\",\n \"items\": { \"$ref\": \"#/definitions/simpleTypes\" },\n \"minItems\": 1,\n \"uniqueItems\": true\n }\n ]\n },\n \"format\": { \"type\": \"string\" },\n \"allOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"anyOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"oneOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"not\": { \"$ref\": \"#\" }\n },\n \"default\": {}\n}`;\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst keywords = require(\"./keywords\");\nconst metaSchema = require(\"../meta/draft-07/schema\");\n\n\nconst jsonSchemaVersion = \"http://json-schema.org/draft-07/schema\";\n\nSchema.setConfig(jsonSchemaVersion, \"baseToken\", \"$id\");\nSchema.setConfig(jsonSchemaVersion, \"embeddedToken\", \"$id\");\nSchema.setConfig(jsonSchemaVersion, \"anchorToken\", \"$id\");\nSchema.setConfig(jsonSchemaVersion, \"jrefToken\", \"$ref\");\n\nSchema.add(JSON.parse(metaSchema));\nCore.defineVocabulary(jsonSchemaVersion, {\n \"validate\": keywords.validate,\n \"additionalItems\": keywords.additionalItems6,\n \"additionalProperties\": keywords.additionalProperties6,\n \"allOf\": keywords.allOf,\n \"anyOf\": keywords.anyOf,\n \"const\": keywords.const,\n \"contains\": keywords.contains,\n \"default\": keywords.metaData,\n \"definitions\": keywords.definitions,\n \"dependencies\": keywords.dependencies,\n \"description\": keywords.metaData,\n \"enum\": keywords.enum,\n \"exclusiveMaximum\": keywords.exclusiveMaximum,\n \"exclusiveMinimum\": keywords.exclusiveMinimum,\n \"format\": keywords.metaData,\n \"if\": keywords.if,\n \"then\": keywords.then,\n \"else\": keywords.else,\n \"items\": keywords.items,\n \"maxItems\": keywords.maxItems,\n \"maxLength\": keywords.maxLength,\n \"maxProperties\": keywords.maxProperties,\n \"maximum\": keywords.maximum,\n \"minItems\": keywords.minItems,\n \"minLength\": keywords.minLength,\n \"minProperties\": keywords.minProperties,\n \"minimum\": keywords.minimum,\n \"multipleOf\": keywords.multipleOf,\n \"not\": keywords.not,\n \"oneOf\": keywords.oneOf,\n \"pattern\": keywords.pattern,\n \"patternProperties\": keywords.patternProperties,\n \"properties\": keywords.properties,\n \"propertyNames\": keywords.propertyNames,\n \"readOnly\": keywords.metaData,\n \"required\": keywords.required,\n \"title\": keywords.metaData,\n \"type\": keywords.type,\n \"uniqueItems\": keywords.uniqueItems,\n \"writeOnly\": keywords.metaData\n});\n","module.exports = `{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"http://json-schema.org/draft-07/schema#\",\n \"title\": \"Core schema meta-schema\",\n \"definitions\": {\n \"schemaArray\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"items\": { \"$ref\": \"#\" }\n },\n \"nonNegativeInteger\": {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n \"nonNegativeIntegerDefault0\": {\n \"allOf\": [\n { \"$ref\": \"#/definitions/nonNegativeInteger\" },\n { \"default\": 0 }\n ]\n },\n \"simpleTypes\": {\n \"enum\": [\n \"array\",\n \"boolean\",\n \"integer\",\n \"null\",\n \"number\",\n \"object\",\n \"string\"\n ]\n },\n \"stringArray\": {\n \"type\": \"array\",\n \"items\": { \"type\": \"string\" },\n \"uniqueItems\": true,\n \"default\": []\n }\n },\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"$id\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\"\n },\n \"$schema\": {\n \"type\": \"string\",\n \"format\": \"uri\"\n },\n \"$ref\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\"\n },\n \"$comment\": {\n \"type\": \"string\"\n },\n \"title\": {\n \"type\": \"string\"\n },\n \"description\": {\n \"type\": \"string\"\n },\n \"default\": true,\n \"readOnly\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"writeOnly\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"examples\": {\n \"type\": \"array\",\n \"items\": true\n },\n \"multipleOf\": {\n \"type\": \"number\",\n \"exclusiveMinimum\": 0\n },\n \"maximum\": {\n \"type\": \"number\"\n },\n \"exclusiveMaximum\": {\n \"type\": \"number\"\n },\n \"minimum\": {\n \"type\": \"number\"\n },\n \"exclusiveMinimum\": {\n \"type\": \"number\"\n },\n \"maxLength\": { \"$ref\": \"#/definitions/nonNegativeInteger\" },\n \"minLength\": { \"$ref\": \"#/definitions/nonNegativeIntegerDefault0\" },\n \"pattern\": {\n \"type\": \"string\",\n \"format\": \"regex\"\n },\n \"additionalItems\": { \"$ref\": \"#\" },\n \"items\": {\n \"anyOf\": [\n { \"$ref\": \"#\" },\n { \"$ref\": \"#/definitions/schemaArray\" }\n ],\n \"default\": true\n },\n \"maxItems\": { \"$ref\": \"#/definitions/nonNegativeInteger\" },\n \"minItems\": { \"$ref\": \"#/definitions/nonNegativeIntegerDefault0\" },\n \"uniqueItems\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"contains\": { \"$ref\": \"#\" },\n \"maxProperties\": { \"$ref\": \"#/definitions/nonNegativeInteger\" },\n \"minProperties\": { \"$ref\": \"#/definitions/nonNegativeIntegerDefault0\" },\n \"required\": { \"$ref\": \"#/definitions/stringArray\" },\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"definitions\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"default\": {}\n },\n \"properties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"default\": {}\n },\n \"patternProperties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"propertyNames\": { \"format\": \"regex\" },\n \"default\": {}\n },\n \"dependencies\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"anyOf\": [\n { \"$ref\": \"#\" },\n { \"$ref\": \"#/definitions/stringArray\" }\n ]\n }\n },\n \"propertyNames\": { \"$ref\": \"#\" },\n \"const\": true,\n \"enum\": {\n \"type\": \"array\",\n \"items\": true,\n \"minItems\": 1,\n \"uniqueItems\": true\n },\n \"type\": {\n \"anyOf\": [\n { \"$ref\": \"#/definitions/simpleTypes\" },\n {\n \"type\": \"array\",\n \"items\": { \"$ref\": \"#/definitions/simpleTypes\" },\n \"minItems\": 1,\n \"uniqueItems\": true\n }\n ]\n },\n \"format\": { \"type\": \"string\" },\n \"contentMediaType\": { \"type\": \"string\" },\n \"contentEncoding\": { \"type\": \"string\" },\n \"if\": { \"$ref\": \"#\" },\n \"then\": { \"$ref\": \"#\" },\n \"else\": { \"$ref\": \"#\" },\n \"allOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"anyOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"oneOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"not\": { \"$ref\": \"#\" }\n },\n \"default\": true\n}`;\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst keywords = require(\"./keywords\");\nconst metaSchema = require(\"../meta/draft/2019-09/schema\");\nconst coreMetaSchema = require(\"../meta/draft/2019-09/meta/core\");\nconst applicatorMetaSchema = require(\"../meta/draft/2019-09/meta/applicator\");\nconst validationMetaSchema = require(\"../meta/draft/2019-09/meta/validation\");\nconst metaDataMetaSchema = require(\"../meta/draft/2019-09/meta/meta-data\");\nconst formatMetaSchema = require(\"../meta/draft/2019-09/meta/format\");\nconst contentMetaSchema = require(\"../meta/draft/2019-09/meta/content\");\n\n\nconst jsonSchemaVersion = \"https://json-schema.org/draft/2019-09/vocab/core\";\n\nSchema.setConfig(jsonSchemaVersion, \"baseToken\", \"$id\");\nSchema.setConfig(jsonSchemaVersion, \"embeddedToken\", \"$id\");\nSchema.setConfig(jsonSchemaVersion, \"anchorToken\", \"$anchor\");\nSchema.setConfig(jsonSchemaVersion, \"recursiveAnchorToken\", \"$recursiveAnchor\");\nSchema.setConfig(jsonSchemaVersion, \"vocabularyToken\", \"$vocabulary\");\nSchema.setConfig(jsonSchemaVersion, \"mandatoryVocabularies\", [\"https://json-schema.org/draft/2019-09/vocab/core\"]);\n\nSchema.add(JSON.parse(metaSchema));\n\nSchema.add(JSON.parse(coreMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2019-09/vocab/core\", {\n \"validate\": keywords.validate,\n \"$defs\": keywords.definitions,\n \"$recursiveRef\": keywords.dynamicRef,\n \"$ref\": keywords.ref\n});\n\nSchema.add(JSON.parse(applicatorMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2019-09/vocab/applicator\", {\n \"additionalItems\": keywords.additionalItems6,\n \"additionalProperties\": keywords.additionalProperties6,\n \"allOf\": keywords.allOf,\n \"anyOf\": keywords.anyOf,\n \"contains\": keywords.containsMinContainsMaxContains,\n \"dependentSchemas\": keywords.dependentSchemas,\n \"if\": keywords.if,\n \"then\": keywords.then,\n \"else\": keywords.else,\n \"items\": keywords.items,\n \"not\": keywords.not,\n \"oneOf\": keywords.oneOf,\n \"patternProperties\": keywords.patternProperties,\n \"properties\": keywords.properties,\n \"propertyNames\": keywords.propertyNames,\n \"unevaluatedItems\": keywords.unevaluatedItems,\n \"unevaluatedProperties\": keywords.unevaluatedProperties\n});\n\nSchema.add(JSON.parse(validationMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2019-09/vocab/validation\", {\n \"const\": keywords.const,\n \"dependentRequired\": keywords.dependentRequired,\n \"enum\": keywords.enum,\n \"exclusiveMaximum\": keywords.exclusiveMaximum,\n \"exclusiveMinimum\": keywords.exclusiveMinimum,\n \"maxItems\": keywords.maxItems,\n \"maxLength\": keywords.maxLength,\n \"maxProperties\": keywords.maxProperties,\n \"maximum\": keywords.maximum,\n \"minItems\": keywords.minItems,\n \"minLength\": keywords.minLength,\n \"minProperties\": keywords.minProperties,\n \"minimum\": keywords.minimum,\n \"multipleOf\": keywords.multipleOf,\n \"pattern\": keywords.pattern,\n \"required\": keywords.required,\n \"type\": keywords.type,\n \"uniqueItems\": keywords.uniqueItems\n});\n\nSchema.add(JSON.parse(metaDataMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2019-09/vocab/meta-data\", {\n \"default\": keywords.metaData,\n \"deprecated\": keywords.metaData,\n \"description\": keywords.metaData,\n \"examples\": keywords.metaData,\n \"readOnly\": keywords.metaData,\n \"title\": keywords.metaData,\n \"writeOnly\": keywords.metaData\n});\n\nSchema.add(JSON.parse(formatMetaSchema));\n\nSchema.add(JSON.parse(contentMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2019-09/vocab/content\", {\n \"contentEncoding\": keywords.metaData,\n \"contentMediaType\": keywords.metaData,\n \"contentSchema\": keywords.metaData\n});\n","module.exports = `{\n \"$schema\": \"https://json-schema.org/draft/2019-09/schema\",\n \"$id\": \"https://json-schema.org/draft/2019-09/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2019-09/vocab/core\": true,\n \"https://json-schema.org/draft/2019-09/vocab/applicator\": true,\n \"https://json-schema.org/draft/2019-09/vocab/validation\": true,\n \"https://json-schema.org/draft/2019-09/vocab/meta-data\": true,\n \"https://json-schema.org/draft/2019-09/vocab/format\": false,\n \"https://json-schema.org/draft/2019-09/vocab/content\": true\n },\n \"$recursiveAnchor\": true,\n\n \"title\": \"Core and Validation specifications meta-schema\",\n \"allOf\": [\n {\"$ref\": \"meta/core\"},\n {\"$ref\": \"meta/applicator\"},\n {\"$ref\": \"meta/validation\"},\n {\"$ref\": \"meta/meta-data\"},\n {\"$ref\": \"meta/format\"},\n {\"$ref\": \"meta/content\"}\n ],\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"definitions\": {\n \"$comment\": \"While no longer an official keyword as it is replaced by $defs, this keyword is retained in the meta-schema to prevent incompatible extensions as it remains in common use.\",\n \"type\": \"object\",\n \"additionalProperties\": { \"$recursiveRef\": \"#\" },\n \"default\": {}\n },\n \"dependencies\": {\n \"$comment\": \"\\\\\"dependencies\\\\\" is no longer a keyword, but schema authors should avoid redefining it to facilitate a smooth transition to \\\\\"dependentSchemas\\\\\" and \\\\\"dependentRequired\\\\\"\",\n \"type\": \"object\",\n \"additionalProperties\": {\n \"anyOf\": [\n { \"$recursiveRef\": \"#\" },\n { \"$ref\": \"meta/validation#/$defs/stringArray\" }\n ]\n }\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2019-09/meta/core\",\n \"$schema\": \"https://json-schema.org/draft/2019-09/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2019-09/vocab/core\": true\n },\n \"$recursiveAnchor\": true,\n\n \"title\": \"Core vocabulary meta-schema\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"$id\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\",\n \"$comment\": \"Non-empty fragments not allowed.\",\n \"pattern\": \"^[^#]*#?$\"\n },\n \"$schema\": {\n \"type\": \"string\",\n \"format\": \"uri\"\n },\n \"$anchor\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][-A-Za-z0-9.:_]*$\"\n },\n \"$ref\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\"\n },\n \"$recursiveRef\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\"\n },\n \"$recursiveAnchor\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"$vocabulary\": {\n \"type\": \"object\",\n \"propertyNames\": {\n \"type\": \"string\",\n \"format\": \"uri\"\n },\n \"additionalProperties\": {\n \"type\": \"boolean\"\n }\n },\n \"$comment\": {\n \"type\": \"string\"\n },\n \"$defs\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$recursiveRef\": \"#\" },\n \"default\": {}\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2019-09/meta/applicator\",\n \"$schema\": \"https://json-schema.org/draft/2019-09/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2019-09/vocab/applicator\": true\n },\n \"$recursiveAnchor\": true,\n\n \"title\": \"Applicator vocabulary meta-schema\",\n \"properties\": {\n \"additionalItems\": { \"$recursiveRef\": \"#\" },\n \"unevaluatedItems\": { \"$recursiveRef\": \"#\" },\n \"items\": {\n \"anyOf\": [\n { \"$recursiveRef\": \"#\" },\n { \"$ref\": \"#/$defs/schemaArray\" }\n ]\n },\n \"contains\": { \"$recursiveRef\": \"#\" },\n \"additionalProperties\": { \"$recursiveRef\": \"#\" },\n \"unevaluatedProperties\": { \"$recursiveRef\": \"#\" },\n \"properties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$recursiveRef\": \"#\" },\n \"default\": {}\n },\n \"patternProperties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$recursiveRef\": \"#\" },\n \"propertyNames\": { \"format\": \"regex\" },\n \"default\": {}\n },\n \"dependentSchemas\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$recursiveRef\": \"#\"\n }\n },\n \"propertyNames\": { \"$recursiveRef\": \"#\" },\n \"if\": { \"$recursiveRef\": \"#\" },\n \"then\": { \"$recursiveRef\": \"#\" },\n \"else\": { \"$recursiveRef\": \"#\" },\n \"allOf\": { \"$ref\": \"#/$defs/schemaArray\" },\n \"anyOf\": { \"$ref\": \"#/$defs/schemaArray\" },\n \"oneOf\": { \"$ref\": \"#/$defs/schemaArray\" },\n \"not\": { \"$recursiveRef\": \"#\" }\n },\n \"$defs\": {\n \"schemaArray\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"items\": { \"$recursiveRef\": \"#\" }\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2019-09/meta/validation\",\n \"$schema\": \"https://json-schema.org/draft/2019-09/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2019-09/vocab/validation\": true\n },\n \"$recursiveAnchor\": true,\n\n \"title\": \"Validation vocabulary meta-schema\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"multipleOf\": {\n \"type\": \"number\",\n \"exclusiveMinimum\": 0\n },\n \"maximum\": {\n \"type\": \"number\"\n },\n \"exclusiveMaximum\": {\n \"type\": \"number\"\n },\n \"minimum\": {\n \"type\": \"number\"\n },\n \"exclusiveMinimum\": {\n \"type\": \"number\"\n },\n \"maxLength\": { \"$ref\": \"#/$defs/nonNegativeInteger\" },\n \"minLength\": { \"$ref\": \"#/$defs/nonNegativeIntegerDefault0\" },\n \"pattern\": {\n \"type\": \"string\",\n \"format\": \"regex\"\n },\n \"maxItems\": { \"$ref\": \"#/$defs/nonNegativeInteger\" },\n \"minItems\": { \"$ref\": \"#/$defs/nonNegativeIntegerDefault0\" },\n \"uniqueItems\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"maxContains\": { \"$ref\": \"#/$defs/nonNegativeInteger\" },\n \"minContains\": {\n \"$ref\": \"#/$defs/nonNegativeInteger\",\n \"default\": 1\n },\n \"maxProperties\": { \"$ref\": \"#/$defs/nonNegativeInteger\" },\n \"minProperties\": { \"$ref\": \"#/$defs/nonNegativeIntegerDefault0\" },\n \"required\": { \"$ref\": \"#/$defs/stringArray\" },\n \"dependentRequired\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$ref\": \"#/$defs/stringArray\"\n }\n },\n \"const\": true,\n \"enum\": {\n \"type\": \"array\",\n \"items\": true\n },\n \"type\": {\n \"anyOf\": [\n { \"$ref\": \"#/$defs/simpleTypes\" },\n {\n \"type\": \"array\",\n \"items\": { \"$ref\": \"#/$defs/simpleTypes\" },\n \"minItems\": 1,\n \"uniqueItems\": true\n }\n ]\n }\n },\n \"$defs\": {\n \"nonNegativeInteger\": {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n \"nonNegativeIntegerDefault0\": {\n \"$ref\": \"#/$defs/nonNegativeInteger\",\n \"default\": 0\n },\n \"simpleTypes\": {\n \"enum\": [\n \"array\",\n \"boolean\",\n \"integer\",\n \"null\",\n \"number\",\n \"object\",\n \"string\"\n ]\n },\n \"stringArray\": {\n \"type\": \"array\",\n \"items\": { \"type\": \"string\" },\n \"uniqueItems\": true,\n \"default\": []\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2019-09/meta/meta-data\",\n \"$schema\": \"https://json-schema.org/draft/2019-09/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2019-09/vocab/meta-data\": true\n },\n \"$recursiveAnchor\": true,\n\n \"title\": \"Meta-data vocabulary meta-schema\",\n\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"title\": {\n \"type\": \"string\"\n },\n \"description\": {\n \"type\": \"string\"\n },\n \"default\": true,\n \"deprecated\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"readOnly\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"writeOnly\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"examples\": {\n \"type\": \"array\",\n \"items\": true\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2019-09/meta/format\",\n \"$schema\": \"https://json-schema.org/draft/2019-09/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2019-09/vocab/format\": true\n },\n \"$recursiveAnchor\": true,\n\n \"title\": \"Format vocabulary meta-schema\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"format\": { \"type\": \"string\" }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2019-09/meta/content\",\n \"$schema\": \"https://json-schema.org/draft/2019-09/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2019-09/vocab/content\": true\n },\n \"$recursiveAnchor\": true,\n\n \"title\": \"Content vocabulary meta-schema\",\n\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"contentMediaType\": { \"type\": \"string\" },\n \"contentEncoding\": { \"type\": \"string\" },\n \"contentSchema\": { \"$recursiveRef\": \"#\" }\n }\n}`;\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst keywords = require(\"./keywords\");\nconst metaSchema = require(\"../meta/draft/2020-12/schema\");\nconst coreMetaSchema = require(\"../meta/draft/2020-12/meta/core\");\nconst applicatorMetaSchema = require(\"../meta/draft/2020-12/meta/applicator\");\nconst validationMetaSchema = require(\"../meta/draft/2020-12/meta/validation\");\nconst metaDataMetaSchema = require(\"../meta/draft/2020-12/meta/meta-data\");\nconst formatAnnotationMetaSchema = require(\"../meta/draft/2020-12/meta/format-annotation\");\nconst formatAssertionMetaSchema = require(\"../meta/draft/2020-12/meta/format-assertion\");\nconst contentMetaSchema = require(\"../meta/draft/2020-12/meta/content\");\nconst unevaluatedMetaSchema = require(\"../meta/draft/2020-12/meta/unevaluated\");\n\n\nconst jsonSchemaVersion = \"https://json-schema.org/draft/2020-12/vocab/core\";\n\nSchema.setConfig(jsonSchemaVersion, \"baseToken\", \"$id\");\nSchema.setConfig(jsonSchemaVersion, \"embeddedToken\", \"$id\");\nSchema.setConfig(jsonSchemaVersion, \"anchorToken\", \"$anchor\");\nSchema.setConfig(jsonSchemaVersion, \"dynamicAnchorToken\", \"$dynamicAnchor\");\nSchema.setConfig(jsonSchemaVersion, \"vocabularyToken\", \"$vocabulary\");\nSchema.setConfig(jsonSchemaVersion, \"mandatoryVocabularies\", [\"https://json-schema.org/draft/2020-12/vocab/core\"]);\n\nSchema.add(JSON.parse(metaSchema));\n\nSchema.add(JSON.parse(coreMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2020-12/vocab/core\", {\n \"validate\": keywords.validate,\n \"$defs\": keywords.definitions,\n \"$dynamicRef\": keywords.dynamicRef,\n \"$ref\": keywords.ref\n});\n\nSchema.add(JSON.parse(applicatorMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2020-12/vocab/applicator\", {\n \"additionalProperties\": keywords.additionalProperties6,\n \"allOf\": keywords.allOf,\n \"anyOf\": keywords.anyOf,\n \"contains\": keywords.containsMinContainsMaxContains,\n \"dependentSchemas\": keywords.dependentSchemas,\n \"if\": keywords.if,\n \"then\": keywords.then,\n \"else\": keywords.else,\n \"items\": keywords.items202012,\n \"not\": keywords.not,\n \"oneOf\": keywords.oneOf,\n \"patternProperties\": keywords.patternProperties,\n \"prefixItems\": keywords.tupleItems,\n \"properties\": keywords.properties,\n \"propertyNames\": keywords.propertyNames\n});\n\nSchema.add(JSON.parse(validationMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2020-12/vocab/validation\", {\n \"const\": keywords.const,\n \"dependentRequired\": keywords.dependentRequired,\n \"enum\": keywords.enum,\n \"exclusiveMaximum\": keywords.exclusiveMaximum,\n \"exclusiveMinimum\": keywords.exclusiveMinimum,\n \"maxItems\": keywords.maxItems,\n \"maxLength\": keywords.maxLength,\n \"maxProperties\": keywords.maxProperties,\n \"maximum\": keywords.maximum,\n \"minItems\": keywords.minItems,\n \"minLength\": keywords.minLength,\n \"minProperties\": keywords.minProperties,\n \"minimum\": keywords.minimum,\n \"multipleOf\": keywords.multipleOf,\n \"pattern\": keywords.pattern,\n \"required\": keywords.required,\n \"type\": keywords.type,\n \"uniqueItems\": keywords.uniqueItems\n});\n\nSchema.add(JSON.parse(metaDataMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2020-12/vocab/meta-data\", {\n \"default\": keywords.metaData,\n \"deprecated\": keywords.metaData,\n \"description\": keywords.metaData,\n \"examples\": keywords.metaData,\n \"readOnly\": keywords.metaData,\n \"title\": keywords.metaData,\n \"writeOnly\": keywords.metaData\n});\n\nSchema.add(JSON.parse(formatAnnotationMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2020-12/vocab/format-annotation\", {\n \"format\": keywords.metaData\n});\n\nSchema.add(JSON.parse(formatAssertionMetaSchema));\n\nSchema.add(JSON.parse(contentMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2020-12/vocab/content\", {\n \"contentEncoding\": keywords.metaData,\n \"contentMediaType\": keywords.metaData,\n \"contentSchema\": keywords.metaData\n});\n\nSchema.add(JSON.parse(unevaluatedMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2020-12/vocab/unevaluated\", {\n \"unevaluatedItems\": keywords.unevaluatedItems,\n \"unevaluatedProperties\": keywords.unevaluatedProperties\n});\n","module.exports = `{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$id\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/core\": true,\n \"https://json-schema.org/draft/2020-12/vocab/applicator\": true,\n \"https://json-schema.org/draft/2020-12/vocab/unevaluated\": true,\n \"https://json-schema.org/draft/2020-12/vocab/validation\": true,\n \"https://json-schema.org/draft/2020-12/vocab/meta-data\": true,\n \"https://json-schema.org/draft/2020-12/vocab/format-annotation\": true,\n \"https://json-schema.org/draft/2020-12/vocab/content\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Core and Validation specifications meta-schema\",\n \"allOf\": [\n {\"$ref\": \"meta/core\"},\n {\"$ref\": \"meta/applicator\"},\n {\"$ref\": \"meta/unevaluated\"},\n {\"$ref\": \"meta/validation\"},\n {\"$ref\": \"meta/meta-data\"},\n {\"$ref\": \"meta/format-annotation\"},\n {\"$ref\": \"meta/content\"}\n ],\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"definitions\": {\n \"$comment\": \"While no longer an official keyword as it is replaced by $defs, this keyword is retained in the meta-schema to prevent incompatible extensions as it remains in common use.\",\n \"type\": \"object\",\n \"additionalProperties\": { \"$dynamicRef\": \"#meta\" },\n \"default\": {}\n },\n \"dependencies\": {\n \"$comment\": \"\\\\\"dependencies\\\\\" is no longer a keyword, but schema authors should avoid redefining it to facilitate a smooth transition to \\\\\"dependentSchemas\\\\\" and \\\\\"dependentRequired\\\\\"\",\n \"type\": \"object\",\n \"additionalProperties\": {\n \"anyOf\": [\n { \"$dynamicRef\": \"#meta\" },\n { \"$ref\": \"meta/validation#/$defs/stringArray\" }\n ]\n }\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2020-12/meta/core\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/core\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Core vocabulary meta-schema\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"$id\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\",\n \"$comment\": \"Non-empty fragments not allowed.\",\n \"pattern\": \"^[^#]*#?$\"\n },\n \"$schema\": {\n \"type\": \"string\",\n \"format\": \"uri\"\n },\n \"$anchor\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z_][-A-Za-z0-9._]*$\"\n },\n \"$ref\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\"\n },\n \"$dynamicRef\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\"\n },\n \"$dynamicAnchor\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z_][-A-Za-z0-9._]*$\"\n },\n \"$vocabulary\": {\n \"type\": \"object\",\n \"propertyNames\": {\n \"type\": \"string\",\n \"format\": \"uri\"\n },\n \"additionalProperties\": {\n \"type\": \"boolean\"\n }\n },\n \"$comment\": {\n \"type\": \"string\"\n },\n \"$defs\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$dynamicRef\": \"#meta\" },\n \"default\": {}\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2020-12/meta/applicator\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/applicator\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Applicator vocabulary meta-schema\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"prefixItems\": { \"$ref\": \"#/$defs/schemaArray\" },\n \"items\": { \"$dynamicRef\": \"#meta\" },\n \"contains\": { \"$dynamicRef\": \"#meta\" },\n \"additionalProperties\": { \"$dynamicRef\": \"#meta\" },\n \"properties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$dynamicRef\": \"#meta\" },\n \"default\": {}\n },\n \"patternProperties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$dynamicRef\": \"#meta\" },\n \"propertyNames\": { \"format\": \"regex\" },\n \"default\": {}\n },\n \"dependentSchemas\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$dynamicRef\": \"#meta\"\n }\n },\n \"propertyNames\": { \"$dynamicRef\": \"#meta\" },\n \"if\": { \"$dynamicRef\": \"#meta\" },\n \"then\": { \"$dynamicRef\": \"#meta\" },\n \"else\": { \"$dynamicRef\": \"#meta\" },\n \"allOf\": { \"$ref\": \"#/$defs/schemaArray\" },\n \"anyOf\": { \"$ref\": \"#/$defs/schemaArray\" },\n \"oneOf\": { \"$ref\": \"#/$defs/schemaArray\" },\n \"not\": { \"$dynamicRef\": \"#meta\" }\n },\n \"$defs\": {\n \"schemaArray\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"items\": { \"$dynamicRef\": \"#meta\" }\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2020-12/meta/validation\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/validation\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Validation vocabulary meta-schema\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"multipleOf\": {\n \"type\": \"number\",\n \"exclusiveMinimum\": 0\n },\n \"maximum\": {\n \"type\": \"number\"\n },\n \"exclusiveMaximum\": {\n \"type\": \"number\"\n },\n \"minimum\": {\n \"type\": \"number\"\n },\n \"exclusiveMinimum\": {\n \"type\": \"number\"\n },\n \"maxLength\": { \"$ref\": \"#/$defs/nonNegativeInteger\" },\n \"minLength\": { \"$ref\": \"#/$defs/nonNegativeIntegerDefault0\" },\n \"pattern\": {\n \"type\": \"string\",\n \"format\": \"regex\"\n },\n \"maxItems\": { \"$ref\": \"#/$defs/nonNegativeInteger\" },\n \"minItems\": { \"$ref\": \"#/$defs/nonNegativeIntegerDefault0\" },\n \"uniqueItems\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"maxContains\": { \"$ref\": \"#/$defs/nonNegativeInteger\" },\n \"minContains\": {\n \"$ref\": \"#/$defs/nonNegativeInteger\",\n \"default\": 1\n },\n \"maxProperties\": { \"$ref\": \"#/$defs/nonNegativeInteger\" },\n \"minProperties\": { \"$ref\": \"#/$defs/nonNegativeIntegerDefault0\" },\n \"required\": { \"$ref\": \"#/$defs/stringArray\" },\n \"dependentRequired\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$ref\": \"#/$defs/stringArray\"\n }\n },\n \"const\": true,\n \"enum\": {\n \"type\": \"array\",\n \"items\": true\n },\n \"type\": {\n \"anyOf\": [\n { \"$ref\": \"#/$defs/simpleTypes\" },\n {\n \"type\": \"array\",\n \"items\": { \"$ref\": \"#/$defs/simpleTypes\" },\n \"minItems\": 1,\n \"uniqueItems\": true\n }\n ]\n }\n },\n \"$defs\": {\n \"nonNegativeInteger\": {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n \"nonNegativeIntegerDefault0\": {\n \"$ref\": \"#/$defs/nonNegativeInteger\",\n \"default\": 0\n },\n \"simpleTypes\": {\n \"enum\": [\n \"array\",\n \"boolean\",\n \"integer\",\n \"null\",\n \"number\",\n \"object\",\n \"string\"\n ]\n },\n \"stringArray\": {\n \"type\": \"array\",\n \"items\": { \"type\": \"string\" },\n \"uniqueItems\": true,\n \"default\": []\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2020-12/meta/meta-data\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/meta-data\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Meta-data vocabulary meta-schema\",\n\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"title\": {\n \"type\": \"string\"\n },\n \"description\": {\n \"type\": \"string\"\n },\n \"default\": true,\n \"deprecated\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"readOnly\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"writeOnly\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"examples\": {\n \"type\": \"array\",\n \"items\": true\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2020-12/meta/format-annotation\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/format-annotation\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Format vocabulary meta-schema for annotation results\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"format\": { \"type\": \"string\" }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2020-12/meta/format-assertion\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/format-assertion\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Format vocabulary meta-schema for assertion results\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"format\": { \"type\": \"string\" }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2020-12/meta/content\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/content\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Content vocabulary meta-schema\",\n\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"contentMediaType\": { \"type\": \"string\" },\n \"contentEncoding\": { \"type\": \"string\" },\n \"contentSchema\": { \"$dynamicRef\": \"#meta\" }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2020-12/meta/unevaluated\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/unevaluated\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Unevaluated applicator vocabulary meta-schema\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"unevaluatedItems\": { \"$dynamicRef\": \"#meta\" },\n \"unevaluatedProperties\": { \"$dynamicRef\": \"#meta\" }\n }\n}`;\n","const { Core, Schema, InvalidSchemaError } = require(\"@hyperjump/json-schema-core\");\nconst Keywords = require(\"./keywords\");\n\nrequire(\"./draft-04\");\nrequire(\"./draft-06\");\nrequire(\"./draft-07\");\nrequire(\"./draft-2019-09\");\nrequire(\"./draft-2020-12\");\n\n\nmodule.exports = {\n add: Core.add,\n get: Schema.get,\n validate: Core.validate,\n compile: Core.compile,\n interpret: Core.interpret,\n setMetaOutputFormat: Core.setMetaOutputFormat,\n setShouldMetaValidate: Core.setShouldMetaValidate,\n addMediaTypePlugin: Core.addMediaTypePlugin,\n FLAG: Core.FLAG,\n BASIC: Core.BASIC,\n DETAILED: Core.DETAILED,\n VERBOSE: Core.VERBOSE,\n Keywords: Keywords,\n InvalidSchemaError: InvalidSchemaError\n};\n\n"],"names":["justCurryIt","fn","arity","curried","length","args","slice","call","arguments","apply","this","concat","root","factory","PubSub","console","warn","messages","lastUid","ALL_SUBSCRIBING_MSG","hasKeys","obj","key","Object","prototype","hasOwnProperty","throwException","ex","callSubscriberWithDelayedExceptions","subscriber","message","data","setTimeout","callSubscriberWithImmediateExceptions","deliverMessage","originalMessage","matchedMessage","immediateExceptions","s","subscribers","callSubscriber","createDeliveryFunction","topic","String","position","lastIndexOf","substr","hasDirectSubscribersFor","Boolean","messageHasSubscribers","found","publish","sync","deliver","toString","publishSync","subscribe","func","token","subscribeAll","subscribeOnce","unsubscribe","clearAllSubscriptions","clearSubscriptions","m","indexOf","countSubscriptions","count","getSubscriptions","list","push","value","t","descendantTopicExists","isTopic","isToken","isFunction","result","undefined","module","exports","window","merge","_len","sets","Array","_key","xl","x","join","subexp","str","typeOf","o","split","pop","shift","toLowerCase","toUpperCase","toArray","setInterval","assign","target","source","buildExps","isIRI","ALPHA$$","DIGIT$$","HEXDIG$$","PCT_ENCODED$","SUB_DELIMS$$","RESERVED$$","IPRIVATE$$","UNRESERVED$$","DEC_OCTET_RELAXED$","IPV4ADDRESS$","H16$","LS32$","IPV6ADDRESS1$","IPV6ADDRESS2$","IPV6ADDRESS3$","IPV6ADDRESS4$","IPV6ADDRESS5$","IPV6ADDRESS6$","IPV6ADDRESS7$","IPV6ADDRESS8$","IPV6ADDRESS9$","IPV6ADDRESS$","ZONEID$","PCHAR$","NOT_SCHEME","RegExp","NOT_USERINFO","NOT_HOST","NOT_PATH","NOT_PATH_NOSCHEME","NOT_QUERY","NOT_FRAGMENT","ESCAPE","UNRESERVED","OTHER_CHARS","PCT_ENCODED","IPV4ADDRESS","IPV6ADDRESS","URI_PROTOCOL","IRI_PROTOCOL","slicedToArray","sliceIterator","arr","i","_arr","_n","_d","_e","_s","_i","Symbol","iterator","next","done","err","isArray","TypeError","toConsumableArray","arr2","from","maxInt","base","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexPunycode","regexNonASCII","regexSeparators","errors","overflow","baseMinusTMin","floor","Math","stringFromCharCode","fromCharCode","error$1","type","RangeError","map","array","mapDomain","string","parts","replace","ucs2decode","output","counter","charCodeAt","extra","basicToDigit","codePoint","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","k","decode","input","inputLength","n","bias","basic","j","index","oldi","w","baseMinusT","out","splice","fromCodePoint","encode","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","_currentValue2","return","basicLength","handledCPCount","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","currentValue","handledCPCountPlusOne","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","_currentValue","q","qMinusT","toUnicode","test","toASCII","punycode","version","ucs2","SCHEMES","pctEncChar","chr","c","pctDecChars","newStr","il","parseInt","c2","_c","c3","_normalizeComponentEncoding","components","protocol","decodeUnreserved","decStr","match","scheme","userinfo","host","path","query","fragment","_stripLeadingZeros","_normalizeIPv4","matches","address","_normalizeIPv6","_matches2","zone","_address$toLowerCase$","reverse","_address$toLowerCase$2","last","first","firstFields","lastFields","isLastFieldIPv4Address","fieldCount","lastFieldsStart","fields","longestZeroFields","reduce","acc","field","lastLongest","sort","a","b","newHost","newFirst","newLast","URI_PARSE","NO_MATCH_IS_UNDEFINED","parse","uriString","options","iri","reference","port","isNaN","error","schemeHandler","unicodeSupport","domainHost","e","_recomposeAuthority","uriTokens","_","$1","$2","RDS1","RDS2","RDS3","RDS5","removeDotSegments","im","Error","serialize","authority","charAt","absolutePath","resolveComponents","relative","tolerant","resolve","baseURI","relativeURI","schemelessOptions","normalize","uri","equal","uriA","uriB","escapeComponent","unescapeComponent","handler","secure","handler$1","isSecure","wsComponents","handler$2","resourceName","_wsComponents$resourc","_wsComponents$resourc2","handler$3","O","ATEXT$$","VCHAR$$","SOME_DELIMS$$","NOT_LOCAL_PART","NOT_HFNAME","NOT_HFVALUE","handler$4","mailtoComponents","to","unknownHeaders","headers","hfields","hfield","toAddrs","_x","_xl","subject","body","_x2","_xl2","addr","toAddr","atIdx","localPart","domain","name","URN_PARSE","handler$5","urnComponents","nid","nss","urnScheme","uriComponents","UUID","handler$6","uuidComponents","uuid","defineProperty","URI","require$$0","isType","null","boolean","object","number","integer","Number","isInteger","common","jsonTypeOf","resolveUrl","contextUrl","url","resolvedUrl","urlFragment","pathRelative","toStart","fromLen","toLen","lastCommonSep","fromCode","curry","compile","pointer","unescape","_set","cursor","clonedSubject","applySegment","append","segment","computeSegment","_assign","isScalar","_unset","filter","ndx","_remove","escape","lib","nil","get","ptr","set","unset","remove","$__value","$__href","cons","href","freeze","isReference","ref","JsonPointer","require$$1","require$$2","Reference","require$$3","id","instance","doc","step","item","thisArg","forEach","every","some","startsWith","encodeURI","has","entries","keys","async","results","Promise","all","pipeline","fns","require$$4","require$$5","require$$6","allValues","propertyName","propertyValue","fetch_browser","fetch","PARAM_REGEXP","TEXT_REGEXP","TOKEN_REGEXP","QESC_REGEXP","QUOTE_REGEXP","TYPE_REGEXP","qstring","val","ContentType","parameters","create","contentType","format","param","params","header","getHeader","getcontenttype","trim","lastIndex","exec","contentTypeParser","mediaTypePlugins","mediaTypes","addPlugin","plugin","response","getContentType","matcher","Pact","MediaTypes","core201909Id","core202012Id","config","dialectJsonSchemaVersion","getConfig","dialectId","jsonSchemaVersion","schemaStore","schemaStoreAlias","add","schema","defaultSchemaVersion","JSON","stringify","externalId","$vocabulary","getSchemaIdentifier","metaSchema","vocabulary","baseToken","anchorToken","dynamicAnchors","recursiveAnchorToken","vocabularyToken","anchors","processSchema","validated","internalUrl","embeddedSchemaDialectId","$schema","embeddedEmbeddedToken","embeddedAnchorToken","dynamicAnchorToken","embeddedToken","anchor","jrefToken","getStoredSchema","contextDoc","hasStoredSchema","Accept","status","text","defaultDialectId","storedSchema","getAnchorPointer","followReferences","nextDoc","toSchemaDefaultOptions","parentId","parentDialect","includeEmbedded","relativeUri","pathToSchema","setConfig","markValidated","toSchema","schemaDoc","fullOptions","refValue","embeddedDialect","anchorPointer","dialect","InvalidSchemaError","constructor","super","invalidSchemaError","Schema","metaData","interpret","Instance","require$$7","FLAG","BASIC","DETAILED","VERBOSE","metaOutputFormat","shouldMetaValidate","contentTypeParameters","json","profile","endsWith","ast","schemaUri","compileSchema","outputFormat","includes","subscriptionToken","outputHandler","interpretSchema","resultStack","keywordResult","keyword","absoluteKeywordLocation","instanceLocation","valid","topResult","unshift","_keywords","getKeyword","hasKeyword","_vocabularies","metaValidators","vocabularyId","isRequired","keywordHandler","collectEvaluatedItems","keywordValue","isTop","Set","collectEvaluatedProperties","addKeyword","compiledSchema","schemaInstance","metaResults","keywordId","getKeywordId","core","validate","compiled","interpretAst","setMetaOutputFormat","setShouldMetaValidate","isEnabled","defineVocabulary","keywords","addMediaTypePlugin","Core","schemaValue","keywordSchema","keywordAst","schemaUrl","nodes","isValid","propertyNames","itemIndexes","Keywords","additionalItems","parentSchema","items","numberOfItems","MAX_SAFE_INTEGER","additionalItems6","additionalProperties","properties","patternProperties","propertyNamePatterns","pattern","property","additionalProperties6","propertiesSchema","allOf","itemSchema","anyOf","keyList","native_stringify","allowUndefined","max","propVal","tipeof","toJSON","isFinite","fastestStableStringify","jsonStringify","_const","const_","contains","minContains","maxContains","containsMinContainsMaxContains","minContainsSchema","maxContainsSchema","matchedIndexes","itemIndex","definitions","definitionSchema","dependencies","dependency","dependentRequired","required","dependentSchemas","dependentSchema","_enum","enum_","enumValue","exclusiveMaximum","exclusiveMinimum","_if","ifSchema","quietInterpretSchema","then","guard","block","_else","itemValue","tupleItems","numberOfPrefixItems","items202012","maxItems","maxLength","maxProperties","maximumExclusiveMaximum","isExclusive","maximum","minItems","minLength","minProperties","minimumExclusiveMinimum","minimum","numberEqual","abs","multipleOf","remainder","not","oneOf","validCount","propertySchema","isObject","splitUrl","indexOfHash","urlReference","decodeURI","escapeRegExp","dynamicRef","referencedSchema","unevaluatedItems","unevaluatedProperties","evaluatedPropertyNames","uniqueItems","normalizedItems","size","const","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","enum","require$$14","require$$15","require$$16","if","require$$17","require$$18","else","require$$19","require$$20","require$$21","require$$22","require$$23","require$$24","require$$25","require$$26","require$$27","require$$28","require$$29","require$$30","require$$31","require$$32","require$$33","require$$34","require$$35","require$$36","require$$37","require$$38","require$$39","require$$40","require$$41","require$$42","require$$43","require$$44","require$$45","require$$46","Schema$5","default","description","title","Schema$4","examples","Schema$3","readOnly","writeOnly","Schema$2","$defs","$recursiveRef","$ref","deprecated","contentEncoding","contentMediaType","contentSchema","Schema$1","$dynamicRef","prefixItems"],"mappings":"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"}
1
+ {"version":3,"file":"json-schema-amd.min.js","sources":["../node_modules/just-curry-it/index.js","../node_modules/pubsub-js/src/pubsub.js","../node_modules/uri-js/dist/es5/uri.all.js","../node_modules/@hyperjump/json-schema-core/lib/common.js","../node_modules/@hyperjump/json-pointer/lib/index.js","../node_modules/@hyperjump/json-schema-core/lib/reference.js","../node_modules/@hyperjump/json-schema-core/lib/instance.js","../node_modules/@hyperjump/pact/lib/entries.js","../node_modules/@hyperjump/pact/node_modules/just-curry-it/index.js","../node_modules/@hyperjump/pact/lib/map.js","../node_modules/@hyperjump/pact/lib/reduce.js","../node_modules/@hyperjump/pact/lib/filter.js","../node_modules/@hyperjump/pact/lib/some.js","../node_modules/@hyperjump/pact/lib/every.js","../node_modules/@hyperjump/pact/lib/pipeline.js","../node_modules/@hyperjump/pact/lib/allValues.js","../node_modules/moo/moo.js","../node_modules/@hyperjump/pact/lib/index.js","../node_modules/@hyperjump/pact/lib/all.js","../node_modules/@hyperjump/json/lib/lexer.js","../node_modules/@hyperjump/json/lib/parse.js","../node_modules/@hyperjump/json/lib/stringify.js","../node_modules/@hyperjump/json/lib/index.js","../node_modules/@hyperjump/json-schema-core/lib/fetch.browser.js","../node_modules/content-type/index.js","../node_modules/@hyperjump/json-schema-core/lib/media-types.js","../node_modules/@hyperjump/json-schema-core/lib/schema.js","../node_modules/@hyperjump/json-schema-core/lib/invalid-schema-error.js","../node_modules/@hyperjump/json-schema-core/lib/keywords/meta-data.js","../node_modules/@hyperjump/json-schema-core/lib/core.js","../node_modules/@hyperjump/json-schema-core/lib/keywords/validate.js","../node_modules/@hyperjump/json-schema-core/lib/index.js","../node_modules/@hyperjump/json-schema-core/lib/keywords/index.js","../lib/keywords/additionalItems.js","../lib/keywords/additionalItems6.js","../lib/keywords/additionalProperties.js","../lib/keywords/additionalProperties6.js","../lib/keywords/allOf.js","../lib/keywords/anyOf.js","../node_modules/fastest-stable-stringify/index.js","../lib/keywords/const.js","../lib/keywords/contains.js","../lib/keywords/contains-minContains-maxContains.js","../lib/keywords/definitions.js","../lib/keywords/dependencies.js","../lib/keywords/dependentRequired.js","../lib/keywords/dependentSchemas.js","../lib/keywords/enum.js","../lib/keywords/exclusiveMaximum.js","../lib/keywords/exclusiveMinimum.js","../lib/keywords/if.js","../lib/keywords/then.js","../lib/keywords/else.js","../lib/keywords/items.js","../lib/keywords/items202012.js","../lib/keywords/maxItems.js","../lib/keywords/maxLength.js","../lib/keywords/maxProperties.js","../lib/keywords/maximum-exclusiveMaximum.js","../lib/keywords/maximum.js","../lib/keywords/minItems.js","../lib/keywords/minLength.js","../lib/keywords/minProperties.js","../lib/keywords/minimum-exclusiveMinimum.js","../lib/keywords/minimum.js","../lib/keywords/multipleOf.js","../lib/keywords/not.js","../lib/keywords/oneOf.js","../lib/keywords/pattern.js","../lib/keywords/patternProperties.js","../lib/common.js","../lib/keywords/properties.js","../lib/keywords/propertyNames.js","../lib/keywords/dynamicRef.js","../lib/keywords/ref.js","../lib/keywords/required.js","../lib/keywords/tupleItems.js","../lib/keywords/type.js","../lib/keywords/unevaluatedItems.js","../lib/keywords/unevaluatedProperties.js","../lib/keywords/uniqueItems.js","../lib/keywords/index.js","../lib/draft-04.js","../meta/draft-04/schema.js","../lib/draft-06.js","../meta/draft-06/schema.js","../lib/draft-07.js","../meta/draft-07/schema.js","../lib/draft-2019-09.js","../meta/draft/2019-09/schema.js","../meta/draft/2019-09/meta/core.js","../meta/draft/2019-09/meta/applicator.js","../meta/draft/2019-09/meta/validation.js","../meta/draft/2019-09/meta/meta-data.js","../meta/draft/2019-09/meta/format.js","../meta/draft/2019-09/meta/content.js","../lib/draft-2020-12.js","../meta/draft/2020-12/schema.js","../meta/draft/2020-12/meta/core.js","../meta/draft/2020-12/meta/applicator.js","../meta/draft/2020-12/meta/validation.js","../meta/draft/2020-12/meta/meta-data.js","../meta/draft/2020-12/meta/format-annotation.js","../meta/draft/2020-12/meta/format-assertion.js","../meta/draft/2020-12/meta/content.js","../meta/draft/2020-12/meta/unevaluated.js","../lib/index.js"],"sourcesContent":["module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n","/**\n * Copyright (c) 2010,2011,2012,2013,2014 Morgan Roderick http://roderick.dk\n * License: MIT - http://mrgnrdrck.mit-license.org\n *\n * https://github.com/mroderick/PubSubJS\n */\n\n(function (root, factory){\n 'use strict';\n\n var PubSub = {};\n\n if (root.PubSub) {\n PubSub = root.PubSub;\n console.warn(\"PubSub already loaded, using existing version\");\n } else {\n root.PubSub = PubSub;\n factory(PubSub);\n }\n // CommonJS and Node.js module support\n if (typeof exports === 'object'){\n if (module !== undefined && module.exports) {\n exports = module.exports = PubSub; // Node.js specific `module.exports`\n }\n exports.PubSub = PubSub; // CommonJS module 1.1.1 spec\n module.exports = exports = PubSub; // CommonJS\n }\n // AMD support\n /* eslint-disable no-undef */\n else if (typeof define === 'function' && define.amd){\n define(function() { return PubSub; });\n /* eslint-enable no-undef */\n }\n\n}(( typeof window === 'object' && window ) || this, function (PubSub){\n 'use strict';\n\n var messages = {},\n lastUid = -1,\n ALL_SUBSCRIBING_MSG = '*';\n\n function hasKeys(obj){\n var key;\n\n for (key in obj){\n if ( Object.prototype.hasOwnProperty.call(obj, key) ){\n return true;\n }\n }\n return false;\n }\n\n /**\n * Returns a function that throws the passed exception, for use as argument for setTimeout\n * @alias throwException\n * @function\n * @param { Object } ex An Error object\n */\n function throwException( ex ){\n return function reThrowException(){\n throw ex;\n };\n }\n\n function callSubscriberWithDelayedExceptions( subscriber, message, data ){\n try {\n subscriber( message, data );\n } catch( ex ){\n setTimeout( throwException( ex ), 0);\n }\n }\n\n function callSubscriberWithImmediateExceptions( subscriber, message, data ){\n subscriber( message, data );\n }\n\n function deliverMessage( originalMessage, matchedMessage, data, immediateExceptions ){\n var subscribers = messages[matchedMessage],\n callSubscriber = immediateExceptions ? callSubscriberWithImmediateExceptions : callSubscriberWithDelayedExceptions,\n s;\n\n if ( !Object.prototype.hasOwnProperty.call( messages, matchedMessage ) ) {\n return;\n }\n\n for (s in subscribers){\n if ( Object.prototype.hasOwnProperty.call(subscribers, s)){\n callSubscriber( subscribers[s], originalMessage, data );\n }\n }\n }\n\n function createDeliveryFunction( message, data, immediateExceptions ){\n return function deliverNamespaced(){\n var topic = String( message ),\n position = topic.lastIndexOf( '.' );\n\n // deliver the message as it is now\n deliverMessage(message, message, data, immediateExceptions);\n\n // trim the hierarchy and deliver message to each level\n while( position !== -1 ){\n topic = topic.substr( 0, position );\n position = topic.lastIndexOf('.');\n deliverMessage( message, topic, data, immediateExceptions );\n }\n\n deliverMessage(message, ALL_SUBSCRIBING_MSG, data, immediateExceptions);\n };\n }\n\n function hasDirectSubscribersFor( message ) {\n var topic = String( message ),\n found = Boolean(Object.prototype.hasOwnProperty.call( messages, topic ) && hasKeys(messages[topic]));\n\n return found;\n }\n\n function messageHasSubscribers( message ){\n var topic = String( message ),\n found = hasDirectSubscribersFor(topic) || hasDirectSubscribersFor(ALL_SUBSCRIBING_MSG),\n position = topic.lastIndexOf( '.' );\n\n while ( !found && position !== -1 ){\n topic = topic.substr( 0, position );\n position = topic.lastIndexOf( '.' );\n found = hasDirectSubscribersFor(topic);\n }\n\n return found;\n }\n\n function publish( message, data, sync, immediateExceptions ){\n message = (typeof message === 'symbol') ? message.toString() : message;\n\n var deliver = createDeliveryFunction( message, data, immediateExceptions ),\n hasSubscribers = messageHasSubscribers( message );\n\n if ( !hasSubscribers ){\n return false;\n }\n\n if ( sync === true ){\n deliver();\n } else {\n setTimeout( deliver, 0 );\n }\n return true;\n }\n\n /**\n * Publishes the message, passing the data to it's subscribers\n * @function\n * @alias publish\n * @param { String } message The message to publish\n * @param {} data The data to pass to subscribers\n * @return { Boolean }\n */\n PubSub.publish = function( message, data ){\n return publish( message, data, false, PubSub.immediateExceptions );\n };\n\n /**\n * Publishes the message synchronously, passing the data to it's subscribers\n * @function\n * @alias publishSync\n * @param { String } message The message to publish\n * @param {} data The data to pass to subscribers\n * @return { Boolean }\n */\n PubSub.publishSync = function( message, data ){\n return publish( message, data, true, PubSub.immediateExceptions );\n };\n\n /**\n * Subscribes the passed function to the passed message. Every returned token is unique and should be stored if you need to unsubscribe\n * @function\n * @alias subscribe\n * @param { String } message The message to subscribe to\n * @param { Function } func The function to call when a new message is published\n * @return { String }\n */\n PubSub.subscribe = function( message, func ){\n if ( typeof func !== 'function'){\n return false;\n }\n\n message = (typeof message === 'symbol') ? message.toString() : message;\n\n // message is not registered yet\n if ( !Object.prototype.hasOwnProperty.call( messages, message ) ){\n messages[message] = {};\n }\n\n // forcing token as String, to allow for future expansions without breaking usage\n // and allow for easy use as key names for the 'messages' object\n var token = 'uid_' + String(++lastUid);\n messages[message][token] = func;\n\n // return token for unsubscribing\n return token;\n };\n\n PubSub.subscribeAll = function( func ){\n return PubSub.subscribe(ALL_SUBSCRIBING_MSG, func);\n };\n\n /**\n * Subscribes the passed function to the passed message once\n * @function\n * @alias subscribeOnce\n * @param { String } message The message to subscribe to\n * @param { Function } func The function to call when a new message is published\n * @return { PubSub }\n */\n PubSub.subscribeOnce = function( message, func ){\n var token = PubSub.subscribe( message, function(){\n // before func apply, unsubscribe message\n PubSub.unsubscribe( token );\n func.apply( this, arguments );\n });\n return PubSub;\n };\n\n /**\n * Clears all subscriptions\n * @function\n * @public\n * @alias clearAllSubscriptions\n */\n PubSub.clearAllSubscriptions = function clearAllSubscriptions(){\n messages = {};\n };\n\n /**\n * Clear subscriptions by the topic\n * @function\n * @public\n * @alias clearAllSubscriptions\n * @return { int }\n */\n PubSub.clearSubscriptions = function clearSubscriptions(topic){\n var m;\n for (m in messages){\n if (Object.prototype.hasOwnProperty.call(messages, m) && m.indexOf(topic) === 0){\n delete messages[m];\n }\n }\n };\n\n /**\n Count subscriptions by the topic\n * @function\n * @public\n * @alias countSubscriptions\n * @return { Array }\n */\n PubSub.countSubscriptions = function countSubscriptions(topic){\n var m;\n // eslint-disable-next-line no-unused-vars\n var token;\n var count = 0;\n for (m in messages) {\n if (Object.prototype.hasOwnProperty.call(messages, m) && m.indexOf(topic) === 0) {\n for (token in messages[m]) {\n count++;\n }\n break;\n }\n }\n return count;\n };\n\n\n /**\n Gets subscriptions by the topic\n * @function\n * @public\n * @alias getSubscriptions\n */\n PubSub.getSubscriptions = function getSubscriptions(topic){\n var m;\n var list = [];\n for (m in messages){\n if (Object.prototype.hasOwnProperty.call(messages, m) && m.indexOf(topic) === 0){\n list.push(m);\n }\n }\n return list;\n };\n\n /**\n * Removes subscriptions\n *\n * - When passed a token, removes a specific subscription.\n *\n\t * - When passed a function, removes all subscriptions for that function\n *\n\t * - When passed a topic, removes all subscriptions for that topic (hierarchy)\n * @function\n * @public\n * @alias subscribeOnce\n * @param { String | Function } value A token, function or topic to unsubscribe from\n * @example // Unsubscribing with a token\n * var token = PubSub.subscribe('mytopic', myFunc);\n * PubSub.unsubscribe(token);\n * @example // Unsubscribing with a function\n * PubSub.unsubscribe(myFunc);\n * @example // Unsubscribing from a topic\n * PubSub.unsubscribe('mytopic');\n */\n PubSub.unsubscribe = function(value){\n var descendantTopicExists = function(topic) {\n var m;\n for ( m in messages ){\n if ( Object.prototype.hasOwnProperty.call(messages, m) && m.indexOf(topic) === 0 ){\n // a descendant of the topic exists:\n return true;\n }\n }\n\n return false;\n },\n isTopic = typeof value === 'string' && ( Object.prototype.hasOwnProperty.call(messages, value) || descendantTopicExists(value) ),\n isToken = !isTopic && typeof value === 'string',\n isFunction = typeof value === 'function',\n result = false,\n m, message, t;\n\n if (isTopic){\n PubSub.clearSubscriptions(value);\n return;\n }\n\n for ( m in messages ){\n if ( Object.prototype.hasOwnProperty.call( messages, m ) ){\n message = messages[m];\n\n if ( isToken && message[value] ){\n delete message[value];\n result = value;\n // tokens are unique, so we can just stop here\n break;\n }\n\n if (isFunction) {\n for ( t in message ){\n if (Object.prototype.hasOwnProperty.call(message, t) && message[t] === value){\n delete message[t];\n result = true;\n }\n }\n }\n }\n }\n\n return result;\n };\n}));\n","/** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.URI = global.URI || {})));\n}(this, (function (exports) { 'use strict';\n\nfunction merge() {\n for (var _len = arguments.length, sets = Array(_len), _key = 0; _key < _len; _key++) {\n sets[_key] = arguments[_key];\n }\n\n if (sets.length > 1) {\n sets[0] = sets[0].slice(0, -1);\n var xl = sets.length - 1;\n for (var x = 1; x < xl; ++x) {\n sets[x] = sets[x].slice(1, -1);\n }\n sets[xl] = sets[xl].slice(1);\n return sets.join('');\n } else {\n return sets[0];\n }\n}\nfunction subexp(str) {\n return \"(?:\" + str + \")\";\n}\nfunction typeOf(o) {\n return o === undefined ? \"undefined\" : o === null ? \"null\" : Object.prototype.toString.call(o).split(\" \").pop().split(\"]\").shift().toLowerCase();\n}\nfunction toUpperCase(str) {\n return str.toUpperCase();\n}\nfunction toArray(obj) {\n return obj !== undefined && obj !== null ? obj instanceof Array ? obj : typeof obj.length !== \"number\" || obj.split || obj.setInterval || obj.call ? [obj] : Array.prototype.slice.call(obj) : [];\n}\nfunction assign(target, source) {\n var obj = target;\n if (source) {\n for (var key in source) {\n obj[key] = source[key];\n }\n }\n return obj;\n}\n\nfunction buildExps(isIRI) {\n var ALPHA$$ = \"[A-Za-z]\",\n CR$ = \"[\\\\x0D]\",\n DIGIT$$ = \"[0-9]\",\n DQUOTE$$ = \"[\\\\x22]\",\n HEXDIG$$ = merge(DIGIT$$, \"[A-Fa-f]\"),\n //case-insensitive\n LF$$ = \"[\\\\x0A]\",\n SP$$ = \"[\\\\x20]\",\n PCT_ENCODED$ = subexp(subexp(\"%[EFef]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%[89A-Fa-f]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%\" + HEXDIG$$ + HEXDIG$$)),\n //expanded\n GEN_DELIMS$$ = \"[\\\\:\\\\/\\\\?\\\\#\\\\[\\\\]\\\\@]\",\n SUB_DELIMS$$ = \"[\\\\!\\\\$\\\\&\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\=]\",\n RESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$),\n UCSCHAR$$ = isIRI ? \"[\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF]\" : \"[]\",\n //subset, excludes bidi control characters\n IPRIVATE$$ = isIRI ? \"[\\\\uE000-\\\\uF8FF]\" : \"[]\",\n //subset\n UNRESERVED$$ = merge(ALPHA$$, DIGIT$$, \"[\\\\-\\\\.\\\\_\\\\~]\", UCSCHAR$$),\n SCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, \"[\\\\+\\\\-\\\\.]\") + \"*\"),\n USERINFO$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:]\")) + \"*\"),\n DEC_OCTET$ = subexp(subexp(\"25[0-5]\") + \"|\" + subexp(\"2[0-4]\" + DIGIT$$) + \"|\" + subexp(\"1\" + DIGIT$$ + DIGIT$$) + \"|\" + subexp(\"[1-9]\" + DIGIT$$) + \"|\" + DIGIT$$),\n DEC_OCTET_RELAXED$ = subexp(subexp(\"25[0-5]\") + \"|\" + subexp(\"2[0-4]\" + DIGIT$$) + \"|\" + subexp(\"1\" + DIGIT$$ + DIGIT$$) + \"|\" + subexp(\"0?[1-9]\" + DIGIT$$) + \"|0?0?\" + DIGIT$$),\n //relaxed parsing rules\n IPV4ADDRESS$ = subexp(DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$),\n H16$ = subexp(HEXDIG$$ + \"{1,4}\"),\n LS32$ = subexp(subexp(H16$ + \"\\\\:\" + H16$) + \"|\" + IPV4ADDRESS$),\n IPV6ADDRESS1$ = subexp(subexp(H16$ + \"\\\\:\") + \"{6}\" + LS32$),\n // 6( h16 \":\" ) ls32\n IPV6ADDRESS2$ = subexp(\"\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{5}\" + LS32$),\n // \"::\" 5( h16 \":\" ) ls32\n IPV6ADDRESS3$ = subexp(subexp(H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{4}\" + LS32$),\n //[ h16 ] \"::\" 4( h16 \":\" ) ls32\n IPV6ADDRESS4$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,1}\" + H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{3}\" + LS32$),\n //[ *1( h16 \":\" ) h16 ] \"::\" 3( h16 \":\" ) ls32\n IPV6ADDRESS5$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,2}\" + H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{2}\" + LS32$),\n //[ *2( h16 \":\" ) h16 ] \"::\" 2( h16 \":\" ) ls32\n IPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,3}\" + H16$) + \"?\\\\:\\\\:\" + H16$ + \"\\\\:\" + LS32$),\n //[ *3( h16 \":\" ) h16 ] \"::\" h16 \":\" ls32\n IPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,4}\" + H16$) + \"?\\\\:\\\\:\" + LS32$),\n //[ *4( h16 \":\" ) h16 ] \"::\" ls32\n IPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,5}\" + H16$) + \"?\\\\:\\\\:\" + H16$),\n //[ *5( h16 \":\" ) h16 ] \"::\" h16\n IPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,6}\" + H16$) + \"?\\\\:\\\\:\"),\n //[ *6( h16 \":\" ) h16 ] \"::\"\n IPV6ADDRESS$ = subexp([IPV6ADDRESS1$, IPV6ADDRESS2$, IPV6ADDRESS3$, IPV6ADDRESS4$, IPV6ADDRESS5$, IPV6ADDRESS6$, IPV6ADDRESS7$, IPV6ADDRESS8$, IPV6ADDRESS9$].join(\"|\")),\n ZONEID$ = subexp(subexp(UNRESERVED$$ + \"|\" + PCT_ENCODED$) + \"+\"),\n //RFC 6874\n IPV6ADDRZ$ = subexp(IPV6ADDRESS$ + \"\\\\%25\" + ZONEID$),\n //RFC 6874\n IPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp(\"\\\\%25|\\\\%(?!\" + HEXDIG$$ + \"{2})\") + ZONEID$),\n //RFC 6874, with relaxed parsing rules\n IPVFUTURE$ = subexp(\"[vV]\" + HEXDIG$$ + \"+\\\\.\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:]\") + \"+\"),\n IP_LITERAL$ = subexp(\"\\\\[\" + subexp(IPV6ADDRZ_RELAXED$ + \"|\" + IPV6ADDRESS$ + \"|\" + IPVFUTURE$) + \"\\\\]\"),\n //RFC 6874\n REG_NAME$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$)) + \"*\"),\n HOST$ = subexp(IP_LITERAL$ + \"|\" + IPV4ADDRESS$ + \"(?!\" + REG_NAME$ + \")\" + \"|\" + REG_NAME$),\n PORT$ = subexp(DIGIT$$ + \"*\"),\n AUTHORITY$ = subexp(subexp(USERINFO$ + \"@\") + \"?\" + HOST$ + subexp(\"\\\\:\" + PORT$) + \"?\"),\n PCHAR$ = subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@]\")),\n SEGMENT$ = subexp(PCHAR$ + \"*\"),\n SEGMENT_NZ$ = subexp(PCHAR$ + \"+\"),\n SEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\@]\")) + \"+\"),\n PATH_ABEMPTY$ = subexp(subexp(\"\\\\/\" + SEGMENT$) + \"*\"),\n PATH_ABSOLUTE$ = subexp(\"\\\\/\" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + \"?\"),\n //simplified\n PATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$),\n //simplified\n PATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$),\n //simplified\n PATH_EMPTY$ = \"(?!\" + PCHAR$ + \")\",\n PATH$ = subexp(PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$),\n QUERY$ = subexp(subexp(PCHAR$ + \"|\" + merge(\"[\\\\/\\\\?]\", IPRIVATE$$)) + \"*\"),\n FRAGMENT$ = subexp(subexp(PCHAR$ + \"|[\\\\/\\\\?]\") + \"*\"),\n HIER_PART$ = subexp(subexp(\"\\\\/\\\\/\" + AUTHORITY$ + PATH_ABEMPTY$) + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$),\n URI$ = subexp(SCHEME$ + \"\\\\:\" + HIER_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\" + subexp(\"\\\\#\" + FRAGMENT$) + \"?\"),\n RELATIVE_PART$ = subexp(subexp(\"\\\\/\\\\/\" + AUTHORITY$ + PATH_ABEMPTY$) + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_EMPTY$),\n RELATIVE$ = subexp(RELATIVE_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\" + subexp(\"\\\\#\" + FRAGMENT$) + \"?\"),\n URI_REFERENCE$ = subexp(URI$ + \"|\" + RELATIVE$),\n ABSOLUTE_URI$ = subexp(SCHEME$ + \"\\\\:\" + HIER_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\"),\n GENERIC_REF$ = \"^(\" + SCHEME$ + \")\\\\:\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n RELATIVE_REF$ = \"^(){0}\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n ABSOLUTE_REF$ = \"^(\" + SCHEME$ + \")\\\\:\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?$\",\n SAMEDOC_REF$ = \"^\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n AUTHORITY_REF$ = \"^\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?$\";\n return {\n NOT_SCHEME: new RegExp(merge(\"[^]\", ALPHA$$, DIGIT$$, \"[\\\\+\\\\-\\\\.]\"), \"g\"),\n NOT_USERINFO: new RegExp(merge(\"[^\\\\%\\\\:]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n NOT_HOST: new RegExp(merge(\"[^\\\\%\\\\[\\\\]\\\\:]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n NOT_PATH: new RegExp(merge(\"[^\\\\%\\\\/\\\\:\\\\@]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n NOT_PATH_NOSCHEME: new RegExp(merge(\"[^\\\\%\\\\/\\\\@]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n NOT_QUERY: new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@\\\\/\\\\?]\", IPRIVATE$$), \"g\"),\n NOT_FRAGMENT: new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@\\\\/\\\\?]\"), \"g\"),\n ESCAPE: new RegExp(merge(\"[^]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n UNRESERVED: new RegExp(UNRESERVED$$, \"g\"),\n OTHER_CHARS: new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, RESERVED$$), \"g\"),\n PCT_ENCODED: new RegExp(PCT_ENCODED$, \"g\"),\n IPV4ADDRESS: new RegExp(\"^(\" + IPV4ADDRESS$ + \")$\"),\n IPV6ADDRESS: new RegExp(\"^\\\\[?(\" + IPV6ADDRESS$ + \")\" + subexp(subexp(\"\\\\%25|\\\\%(?!\" + HEXDIG$$ + \"{2})\") + \"(\" + ZONEID$ + \")\") + \"?\\\\]?$\") //RFC 6874, with relaxed parsing rules\n };\n}\nvar URI_PROTOCOL = buildExps(false);\n\nvar IRI_PROTOCOL = buildExps(true);\n\nvar slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\n/** Highest positive signed 32-bit float value */\n\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\n\n/** Bootstring parameters */\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\n\n/** Regular expressions */\nvar regexPunycode = /^xn--/;\nvar regexNonASCII = /[^\\0-\\x7E]/; // non-ASCII chars\nvar regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\n\n/** Error messages */\nvar errors = {\n\t'overflow': 'Overflow: input needs wider integers to process',\n\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t'invalid-input': 'Invalid input'\n};\n\n/** Convenience shortcuts */\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/*--------------------------------------------------------------------------*/\n\n/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\nfunction error$1(type) {\n\tthrow new RangeError(errors[type]);\n}\n\n/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\nfunction map(array, fn) {\n\tvar result = [];\n\tvar length = array.length;\n\twhile (length--) {\n\t\tresult[length] = fn(array[length]);\n\t}\n\treturn result;\n}\n\n/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} callback The function that gets called for every\n * character.\n * @returns {Array} A new string of characters returned by the callback\n * function.\n */\nfunction mapDomain(string, fn) {\n\tvar parts = string.split('@');\n\tvar result = '';\n\tif (parts.length > 1) {\n\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t// the local part (i.e. everything up to `@`) intact.\n\t\tresult = parts[0] + '@';\n\t\tstring = parts[1];\n\t}\n\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\tstring = string.replace(regexSeparators, '\\x2E');\n\tvar labels = string.split('.');\n\tvar encoded = map(labels, fn).join('.');\n\treturn result + encoded;\n}\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see <https://mathiasbynens.be/notes/javascript-encoding>\n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\nfunction ucs2decode(string) {\n\tvar output = [];\n\tvar counter = 0;\n\tvar length = string.length;\n\twhile (counter < length) {\n\t\tvar value = string.charCodeAt(counter++);\n\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t// It's a high surrogate, and there is a next character.\n\t\t\tvar extra = string.charCodeAt(counter++);\n\t\t\tif ((extra & 0xFC00) == 0xDC00) {\n\t\t\t\t// Low surrogate.\n\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t} else {\n\t\t\t\t// It's an unmatched surrogate; only append this code unit, in case the\n\t\t\t\t// next code unit is the high surrogate of a surrogate pair.\n\t\t\t\toutput.push(value);\n\t\t\t\tcounter--;\n\t\t\t}\n\t\t} else {\n\t\t\toutput.push(value);\n\t\t}\n\t}\n\treturn output;\n}\n\n/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\nvar ucs2encode = function ucs2encode(array) {\n\treturn String.fromCodePoint.apply(String, toConsumableArray(array));\n};\n\n/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\nvar basicToDigit = function basicToDigit(codePoint) {\n\tif (codePoint - 0x30 < 0x0A) {\n\t\treturn codePoint - 0x16;\n\t}\n\tif (codePoint - 0x41 < 0x1A) {\n\t\treturn codePoint - 0x41;\n\t}\n\tif (codePoint - 0x61 < 0x1A) {\n\t\treturn codePoint - 0x61;\n\t}\n\treturn base;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\nvar digitToBasic = function digitToBasic(digit, flag) {\n\t// 0..25 map to ASCII a..z or A..Z\n\t// 26..35 map to ASCII 0..9\n\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n * @private\n */\nvar adapt = function adapt(delta, numPoints, firstTime) {\n\tvar k = 0;\n\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\tdelta += floor(delta / numPoints);\n\tfor (; /* no initialization */delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\tdelta = floor(delta / baseMinusTMin);\n\t}\n\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\nvar decode = function decode(input) {\n\t// Don't use UCS-2.\n\tvar output = [];\n\tvar inputLength = input.length;\n\tvar i = 0;\n\tvar n = initialN;\n\tvar bias = initialBias;\n\n\t// Handle the basic code points: let `basic` be the number of input code\n\t// points before the last delimiter, or `0` if there is none, then copy\n\t// the first basic code points to the output.\n\n\tvar basic = input.lastIndexOf(delimiter);\n\tif (basic < 0) {\n\t\tbasic = 0;\n\t}\n\n\tfor (var j = 0; j < basic; ++j) {\n\t\t// if it's not a basic code point\n\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\terror$1('not-basic');\n\t\t}\n\t\toutput.push(input.charCodeAt(j));\n\t}\n\n\t// Main decoding loop: start just after the last delimiter if any basic code\n\t// points were copied; start at the beginning otherwise.\n\n\tfor (var index = basic > 0 ? basic + 1 : 0; index < inputLength;) /* no final expression */{\n\n\t\t// `index` is the index of the next character to be consumed.\n\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t// which gets added to `i`. The overflow checking is easier\n\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t// value at the end to obtain `delta`.\n\t\tvar oldi = i;\n\t\tfor (var w = 1, k = base;; /* no condition */k += base) {\n\n\t\t\tif (index >= inputLength) {\n\t\t\t\terror$1('invalid-input');\n\t\t\t}\n\n\t\t\tvar digit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\terror$1('overflow');\n\t\t\t}\n\n\t\t\ti += digit * w;\n\t\t\tvar t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n\n\t\t\tif (digit < t) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tvar baseMinusT = base - t;\n\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\terror$1('overflow');\n\t\t\t}\n\n\t\t\tw *= baseMinusT;\n\t\t}\n\n\t\tvar out = output.length + 1;\n\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t// incrementing `n` each time, so we'll fix that now:\n\t\tif (floor(i / out) > maxInt - n) {\n\t\t\terror$1('overflow');\n\t\t}\n\n\t\tn += floor(i / out);\n\t\ti %= out;\n\n\t\t// Insert `n` at position `i` of the output.\n\t\toutput.splice(i++, 0, n);\n\t}\n\n\treturn String.fromCodePoint.apply(String, output);\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\nvar encode = function encode(input) {\n\tvar output = [];\n\n\t// Convert the input in UCS-2 to an array of Unicode code points.\n\tinput = ucs2decode(input);\n\n\t// Cache the length.\n\tvar inputLength = input.length;\n\n\t// Initialize the state.\n\tvar n = initialN;\n\tvar delta = 0;\n\tvar bias = initialBias;\n\n\t// Handle the basic code points.\n\tvar _iteratorNormalCompletion = true;\n\tvar _didIteratorError = false;\n\tvar _iteratorError = undefined;\n\n\ttry {\n\t\tfor (var _iterator = input[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\tvar _currentValue2 = _step.value;\n\n\t\t\tif (_currentValue2 < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(_currentValue2));\n\t\t\t}\n\t\t}\n\t} catch (err) {\n\t\t_didIteratorError = true;\n\t\t_iteratorError = err;\n\t} finally {\n\t\ttry {\n\t\t\tif (!_iteratorNormalCompletion && _iterator.return) {\n\t\t\t\t_iterator.return();\n\t\t\t}\n\t\t} finally {\n\t\t\tif (_didIteratorError) {\n\t\t\t\tthrow _iteratorError;\n\t\t\t}\n\t\t}\n\t}\n\n\tvar basicLength = output.length;\n\tvar handledCPCount = basicLength;\n\n\t// `handledCPCount` is the number of code points that have been handled;\n\t// `basicLength` is the number of basic code points.\n\n\t// Finish the basic string with a delimiter unless it's empty.\n\tif (basicLength) {\n\t\toutput.push(delimiter);\n\t}\n\n\t// Main encoding loop:\n\twhile (handledCPCount < inputLength) {\n\n\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t// larger one:\n\t\tvar m = maxInt;\n\t\tvar _iteratorNormalCompletion2 = true;\n\t\tvar _didIteratorError2 = false;\n\t\tvar _iteratorError2 = undefined;\n\n\t\ttry {\n\t\t\tfor (var _iterator2 = input[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n\t\t\t\tvar currentValue = _step2.value;\n\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n\t\t\t// but guard against overflow.\n\t\t} catch (err) {\n\t\t\t_didIteratorError2 = true;\n\t\t\t_iteratorError2 = err;\n\t\t} finally {\n\t\t\ttry {\n\t\t\t\tif (!_iteratorNormalCompletion2 && _iterator2.return) {\n\t\t\t\t\t_iterator2.return();\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tif (_didIteratorError2) {\n\t\t\t\t\tthrow _iteratorError2;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tvar handledCPCountPlusOne = handledCPCount + 1;\n\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\terror$1('overflow');\n\t\t}\n\n\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\tn = m;\n\n\t\tvar _iteratorNormalCompletion3 = true;\n\t\tvar _didIteratorError3 = false;\n\t\tvar _iteratorError3 = undefined;\n\n\t\ttry {\n\t\t\tfor (var _iterator3 = input[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n\t\t\t\tvar _currentValue = _step3.value;\n\n\t\t\t\tif (_currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror$1('overflow');\n\t\t\t\t}\n\t\t\t\tif (_currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer.\n\t\t\t\t\tvar q = delta;\n\t\t\t\t\tfor (var k = base;; /* no condition */k += base) {\n\t\t\t\t\t\tvar t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvar qMinusT = q - t;\n\t\t\t\t\t\tvar baseMinusT = base - t;\n\t\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)));\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t_didIteratorError3 = true;\n\t\t\t_iteratorError3 = err;\n\t\t} finally {\n\t\t\ttry {\n\t\t\t\tif (!_iteratorNormalCompletion3 && _iterator3.return) {\n\t\t\t\t\t_iterator3.return();\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tif (_didIteratorError3) {\n\t\t\t\t\tthrow _iteratorError3;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t++delta;\n\t\t++n;\n\t}\n\treturn output.join('');\n};\n\n/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\nvar toUnicode = function toUnicode(input) {\n\treturn mapDomain(input, function (string) {\n\t\treturn regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string;\n\t});\n};\n\n/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\nvar toASCII = function toASCII(input) {\n\treturn mapDomain(input, function (string) {\n\t\treturn regexNonASCII.test(string) ? 'xn--' + encode(string) : string;\n\t});\n};\n\n/*--------------------------------------------------------------------------*/\n\n/** Define the public API */\nvar punycode = {\n\t/**\n * A string representing the current Punycode.js version number.\n * @memberOf punycode\n * @type String\n */\n\t'version': '2.1.0',\n\t/**\n * An object of methods to convert from JavaScript's internal character\n * representation (UCS-2) to Unicode code points, and back.\n * @see <https://mathiasbynens.be/notes/javascript-encoding>\n * @memberOf punycode\n * @type Object\n */\n\t'ucs2': {\n\t\t'decode': ucs2decode,\n\t\t'encode': ucs2encode\n\t},\n\t'decode': decode,\n\t'encode': encode,\n\t'toASCII': toASCII,\n\t'toUnicode': toUnicode\n};\n\n/**\n * URI.js\n *\n * @fileoverview An RFC 3986 compliant, scheme extendable URI parsing/validating/resolving library for JavaScript.\n * @author <a href=\"mailto:gary.court@gmail.com\">Gary Court</a>\n * @see http://github.com/garycourt/uri-js\n */\n/**\n * Copyright 2011 Gary Court. All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification, are\n * permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this list of\n * conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list\n * of conditions and the following disclaimer in the documentation and/or other materials\n * provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY GARY COURT ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND\n * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR\n * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\n * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * The views and conclusions contained in the software and documentation are those of the\n * authors and should not be interpreted as representing official policies, either expressed\n * or implied, of Gary Court.\n */\nvar SCHEMES = {};\nfunction pctEncChar(chr) {\n var c = chr.charCodeAt(0);\n var e = void 0;\n if (c < 16) e = \"%0\" + c.toString(16).toUpperCase();else if (c < 128) e = \"%\" + c.toString(16).toUpperCase();else if (c < 2048) e = \"%\" + (c >> 6 | 192).toString(16).toUpperCase() + \"%\" + (c & 63 | 128).toString(16).toUpperCase();else e = \"%\" + (c >> 12 | 224).toString(16).toUpperCase() + \"%\" + (c >> 6 & 63 | 128).toString(16).toUpperCase() + \"%\" + (c & 63 | 128).toString(16).toUpperCase();\n return e;\n}\nfunction pctDecChars(str) {\n var newStr = \"\";\n var i = 0;\n var il = str.length;\n while (i < il) {\n var c = parseInt(str.substr(i + 1, 2), 16);\n if (c < 128) {\n newStr += String.fromCharCode(c);\n i += 3;\n } else if (c >= 194 && c < 224) {\n if (il - i >= 6) {\n var c2 = parseInt(str.substr(i + 4, 2), 16);\n newStr += String.fromCharCode((c & 31) << 6 | c2 & 63);\n } else {\n newStr += str.substr(i, 6);\n }\n i += 6;\n } else if (c >= 224) {\n if (il - i >= 9) {\n var _c = parseInt(str.substr(i + 4, 2), 16);\n var c3 = parseInt(str.substr(i + 7, 2), 16);\n newStr += String.fromCharCode((c & 15) << 12 | (_c & 63) << 6 | c3 & 63);\n } else {\n newStr += str.substr(i, 9);\n }\n i += 9;\n } else {\n newStr += str.substr(i, 3);\n i += 3;\n }\n }\n return newStr;\n}\nfunction _normalizeComponentEncoding(components, protocol) {\n function decodeUnreserved(str) {\n var decStr = pctDecChars(str);\n return !decStr.match(protocol.UNRESERVED) ? str : decStr;\n }\n if (components.scheme) components.scheme = String(components.scheme).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_SCHEME, \"\");\n if (components.userinfo !== undefined) components.userinfo = String(components.userinfo).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_USERINFO, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n if (components.host !== undefined) components.host = String(components.host).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_HOST, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n if (components.path !== undefined) components.path = String(components.path).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(components.scheme ? protocol.NOT_PATH : protocol.NOT_PATH_NOSCHEME, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n if (components.query !== undefined) components.query = String(components.query).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_QUERY, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n if (components.fragment !== undefined) components.fragment = String(components.fragment).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_FRAGMENT, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n return components;\n}\n\nfunction _stripLeadingZeros(str) {\n return str.replace(/^0*(.*)/, \"$1\") || \"0\";\n}\nfunction _normalizeIPv4(host, protocol) {\n var matches = host.match(protocol.IPV4ADDRESS) || [];\n\n var _matches = slicedToArray(matches, 2),\n address = _matches[1];\n\n if (address) {\n return address.split(\".\").map(_stripLeadingZeros).join(\".\");\n } else {\n return host;\n }\n}\nfunction _normalizeIPv6(host, protocol) {\n var matches = host.match(protocol.IPV6ADDRESS) || [];\n\n var _matches2 = slicedToArray(matches, 3),\n address = _matches2[1],\n zone = _matches2[2];\n\n if (address) {\n var _address$toLowerCase$ = address.toLowerCase().split('::').reverse(),\n _address$toLowerCase$2 = slicedToArray(_address$toLowerCase$, 2),\n last = _address$toLowerCase$2[0],\n first = _address$toLowerCase$2[1];\n\n var firstFields = first ? first.split(\":\").map(_stripLeadingZeros) : [];\n var lastFields = last.split(\":\").map(_stripLeadingZeros);\n var isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]);\n var fieldCount = isLastFieldIPv4Address ? 7 : 8;\n var lastFieldsStart = lastFields.length - fieldCount;\n var fields = Array(fieldCount);\n for (var x = 0; x < fieldCount; ++x) {\n fields[x] = firstFields[x] || lastFields[lastFieldsStart + x] || '';\n }\n if (isLastFieldIPv4Address) {\n fields[fieldCount - 1] = _normalizeIPv4(fields[fieldCount - 1], protocol);\n }\n var allZeroFields = fields.reduce(function (acc, field, index) {\n if (!field || field === \"0\") {\n var lastLongest = acc[acc.length - 1];\n if (lastLongest && lastLongest.index + lastLongest.length === index) {\n lastLongest.length++;\n } else {\n acc.push({ index: index, length: 1 });\n }\n }\n return acc;\n }, []);\n var longestZeroFields = allZeroFields.sort(function (a, b) {\n return b.length - a.length;\n })[0];\n var newHost = void 0;\n if (longestZeroFields && longestZeroFields.length > 1) {\n var newFirst = fields.slice(0, longestZeroFields.index);\n var newLast = fields.slice(longestZeroFields.index + longestZeroFields.length);\n newHost = newFirst.join(\":\") + \"::\" + newLast.join(\":\");\n } else {\n newHost = fields.join(\":\");\n }\n if (zone) {\n newHost += \"%\" + zone;\n }\n return newHost;\n } else {\n return host;\n }\n}\nvar URI_PARSE = /^(?:([^:\\/?#]+):)?(?:\\/\\/((?:([^\\/?#@]*)@)?(\\[[^\\/?#\\]]+\\]|[^\\/?#:]*)(?:\\:(\\d*))?))?([^?#]*)(?:\\?([^#]*))?(?:#((?:.|\\n|\\r)*))?/i;\nvar NO_MATCH_IS_UNDEFINED = \"\".match(/(){0}/)[1] === undefined;\nfunction parse(uriString) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var components = {};\n var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL;\n if (options.reference === \"suffix\") uriString = (options.scheme ? options.scheme + \":\" : \"\") + \"//\" + uriString;\n var matches = uriString.match(URI_PARSE);\n if (matches) {\n if (NO_MATCH_IS_UNDEFINED) {\n //store each component\n components.scheme = matches[1];\n components.userinfo = matches[3];\n components.host = matches[4];\n components.port = parseInt(matches[5], 10);\n components.path = matches[6] || \"\";\n components.query = matches[7];\n components.fragment = matches[8];\n //fix port number\n if (isNaN(components.port)) {\n components.port = matches[5];\n }\n } else {\n //IE FIX for improper RegExp matching\n //store each component\n components.scheme = matches[1] || undefined;\n components.userinfo = uriString.indexOf(\"@\") !== -1 ? matches[3] : undefined;\n components.host = uriString.indexOf(\"//\") !== -1 ? matches[4] : undefined;\n components.port = parseInt(matches[5], 10);\n components.path = matches[6] || \"\";\n components.query = uriString.indexOf(\"?\") !== -1 ? matches[7] : undefined;\n components.fragment = uriString.indexOf(\"#\") !== -1 ? matches[8] : undefined;\n //fix port number\n if (isNaN(components.port)) {\n components.port = uriString.match(/\\/\\/(?:.|\\n)*\\:(?:\\/|\\?|\\#|$)/) ? matches[4] : undefined;\n }\n }\n if (components.host) {\n //normalize IP hosts\n components.host = _normalizeIPv6(_normalizeIPv4(components.host, protocol), protocol);\n }\n //determine reference type\n if (components.scheme === undefined && components.userinfo === undefined && components.host === undefined && components.port === undefined && !components.path && components.query === undefined) {\n components.reference = \"same-document\";\n } else if (components.scheme === undefined) {\n components.reference = \"relative\";\n } else if (components.fragment === undefined) {\n components.reference = \"absolute\";\n } else {\n components.reference = \"uri\";\n }\n //check for reference errors\n if (options.reference && options.reference !== \"suffix\" && options.reference !== components.reference) {\n components.error = components.error || \"URI is not a \" + options.reference + \" reference.\";\n }\n //find scheme handler\n var schemeHandler = SCHEMES[(options.scheme || components.scheme || \"\").toLowerCase()];\n //check if scheme can't handle IRIs\n if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {\n //if host component is a domain name\n if (components.host && (options.domainHost || schemeHandler && schemeHandler.domainHost)) {\n //convert Unicode IDN -> ASCII IDN\n try {\n components.host = punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase());\n } catch (e) {\n components.error = components.error || \"Host's domain name can not be converted to ASCII via punycode: \" + e;\n }\n }\n //convert IRI -> URI\n _normalizeComponentEncoding(components, URI_PROTOCOL);\n } else {\n //normalize encodings\n _normalizeComponentEncoding(components, protocol);\n }\n //perform scheme specific parsing\n if (schemeHandler && schemeHandler.parse) {\n schemeHandler.parse(components, options);\n }\n } else {\n components.error = components.error || \"URI can not be parsed.\";\n }\n return components;\n}\n\nfunction _recomposeAuthority(components, options) {\n var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL;\n var uriTokens = [];\n if (components.userinfo !== undefined) {\n uriTokens.push(components.userinfo);\n uriTokens.push(\"@\");\n }\n if (components.host !== undefined) {\n //normalize IP hosts, add brackets and escape zone separator for IPv6\n uriTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host), protocol), protocol).replace(protocol.IPV6ADDRESS, function (_, $1, $2) {\n return \"[\" + $1 + ($2 ? \"%25\" + $2 : \"\") + \"]\";\n }));\n }\n if (typeof components.port === \"number\" || typeof components.port === \"string\") {\n uriTokens.push(\":\");\n uriTokens.push(String(components.port));\n }\n return uriTokens.length ? uriTokens.join(\"\") : undefined;\n}\n\nvar RDS1 = /^\\.\\.?\\//;\nvar RDS2 = /^\\/\\.(\\/|$)/;\nvar RDS3 = /^\\/\\.\\.(\\/|$)/;\nvar RDS5 = /^\\/?(?:.|\\n)*?(?=\\/|$)/;\nfunction removeDotSegments(input) {\n var output = [];\n while (input.length) {\n if (input.match(RDS1)) {\n input = input.replace(RDS1, \"\");\n } else if (input.match(RDS2)) {\n input = input.replace(RDS2, \"/\");\n } else if (input.match(RDS3)) {\n input = input.replace(RDS3, \"/\");\n output.pop();\n } else if (input === \".\" || input === \"..\") {\n input = \"\";\n } else {\n var im = input.match(RDS5);\n if (im) {\n var s = im[0];\n input = input.slice(s.length);\n output.push(s);\n } else {\n throw new Error(\"Unexpected dot segment condition\");\n }\n }\n }\n return output.join(\"\");\n}\n\nfunction serialize(components) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var protocol = options.iri ? IRI_PROTOCOL : URI_PROTOCOL;\n var uriTokens = [];\n //find scheme handler\n var schemeHandler = SCHEMES[(options.scheme || components.scheme || \"\").toLowerCase()];\n //perform scheme specific serialization\n if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options);\n if (components.host) {\n //if host component is an IPv6 address\n if (protocol.IPV6ADDRESS.test(components.host)) {}\n //TODO: normalize IPv6 address as per RFC 5952\n\n //if host component is a domain name\n else if (options.domainHost || schemeHandler && schemeHandler.domainHost) {\n //convert IDN via punycode\n try {\n components.host = !options.iri ? punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()) : punycode.toUnicode(components.host);\n } catch (e) {\n components.error = components.error || \"Host's domain name can not be converted to \" + (!options.iri ? \"ASCII\" : \"Unicode\") + \" via punycode: \" + e;\n }\n }\n }\n //normalize encoding\n _normalizeComponentEncoding(components, protocol);\n if (options.reference !== \"suffix\" && components.scheme) {\n uriTokens.push(components.scheme);\n uriTokens.push(\":\");\n }\n var authority = _recomposeAuthority(components, options);\n if (authority !== undefined) {\n if (options.reference !== \"suffix\") {\n uriTokens.push(\"//\");\n }\n uriTokens.push(authority);\n if (components.path && components.path.charAt(0) !== \"/\") {\n uriTokens.push(\"/\");\n }\n }\n if (components.path !== undefined) {\n var s = components.path;\n if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) {\n s = removeDotSegments(s);\n }\n if (authority === undefined) {\n s = s.replace(/^\\/\\//, \"/%2F\"); //don't allow the path to start with \"//\"\n }\n uriTokens.push(s);\n }\n if (components.query !== undefined) {\n uriTokens.push(\"?\");\n uriTokens.push(components.query);\n }\n if (components.fragment !== undefined) {\n uriTokens.push(\"#\");\n uriTokens.push(components.fragment);\n }\n return uriTokens.join(\"\"); //merge tokens into a string\n}\n\nfunction resolveComponents(base, relative) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var skipNormalization = arguments[3];\n\n var target = {};\n if (!skipNormalization) {\n base = parse(serialize(base, options), options); //normalize base components\n relative = parse(serialize(relative, options), options); //normalize relative components\n }\n options = options || {};\n if (!options.tolerant && relative.scheme) {\n target.scheme = relative.scheme;\n //target.authority = relative.authority;\n target.userinfo = relative.userinfo;\n target.host = relative.host;\n target.port = relative.port;\n target.path = removeDotSegments(relative.path || \"\");\n target.query = relative.query;\n } else {\n if (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) {\n //target.authority = relative.authority;\n target.userinfo = relative.userinfo;\n target.host = relative.host;\n target.port = relative.port;\n target.path = removeDotSegments(relative.path || \"\");\n target.query = relative.query;\n } else {\n if (!relative.path) {\n target.path = base.path;\n if (relative.query !== undefined) {\n target.query = relative.query;\n } else {\n target.query = base.query;\n }\n } else {\n if (relative.path.charAt(0) === \"/\") {\n target.path = removeDotSegments(relative.path);\n } else {\n if ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) {\n target.path = \"/\" + relative.path;\n } else if (!base.path) {\n target.path = relative.path;\n } else {\n target.path = base.path.slice(0, base.path.lastIndexOf(\"/\") + 1) + relative.path;\n }\n target.path = removeDotSegments(target.path);\n }\n target.query = relative.query;\n }\n //target.authority = base.authority;\n target.userinfo = base.userinfo;\n target.host = base.host;\n target.port = base.port;\n }\n target.scheme = base.scheme;\n }\n target.fragment = relative.fragment;\n return target;\n}\n\nfunction resolve(baseURI, relativeURI, options) {\n var schemelessOptions = assign({ scheme: 'null' }, options);\n return serialize(resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true), schemelessOptions);\n}\n\nfunction normalize(uri, options) {\n if (typeof uri === \"string\") {\n uri = serialize(parse(uri, options), options);\n } else if (typeOf(uri) === \"object\") {\n uri = parse(serialize(uri, options), options);\n }\n return uri;\n}\n\nfunction equal(uriA, uriB, options) {\n if (typeof uriA === \"string\") {\n uriA = serialize(parse(uriA, options), options);\n } else if (typeOf(uriA) === \"object\") {\n uriA = serialize(uriA, options);\n }\n if (typeof uriB === \"string\") {\n uriB = serialize(parse(uriB, options), options);\n } else if (typeOf(uriB) === \"object\") {\n uriB = serialize(uriB, options);\n }\n return uriA === uriB;\n}\n\nfunction escapeComponent(str, options) {\n return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE, pctEncChar);\n}\n\nfunction unescapeComponent(str, options) {\n return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED, pctDecChars);\n}\n\nvar handler = {\n scheme: \"http\",\n domainHost: true,\n parse: function parse(components, options) {\n //report missing host\n if (!components.host) {\n components.error = components.error || \"HTTP URIs must have a host.\";\n }\n return components;\n },\n serialize: function serialize(components, options) {\n var secure = String(components.scheme).toLowerCase() === \"https\";\n //normalize the default port\n if (components.port === (secure ? 443 : 80) || components.port === \"\") {\n components.port = undefined;\n }\n //normalize the empty path\n if (!components.path) {\n components.path = \"/\";\n }\n //NOTE: We do not parse query strings for HTTP URIs\n //as WWW Form Url Encoded query strings are part of the HTML4+ spec,\n //and not the HTTP spec.\n return components;\n }\n};\n\nvar handler$1 = {\n scheme: \"https\",\n domainHost: handler.domainHost,\n parse: handler.parse,\n serialize: handler.serialize\n};\n\nfunction isSecure(wsComponents) {\n return typeof wsComponents.secure === 'boolean' ? wsComponents.secure : String(wsComponents.scheme).toLowerCase() === \"wss\";\n}\n//RFC 6455\nvar handler$2 = {\n scheme: \"ws\",\n domainHost: true,\n parse: function parse(components, options) {\n var wsComponents = components;\n //indicate if the secure flag is set\n wsComponents.secure = isSecure(wsComponents);\n //construct resouce name\n wsComponents.resourceName = (wsComponents.path || '/') + (wsComponents.query ? '?' + wsComponents.query : '');\n wsComponents.path = undefined;\n wsComponents.query = undefined;\n return wsComponents;\n },\n serialize: function serialize(wsComponents, options) {\n //normalize the default port\n if (wsComponents.port === (isSecure(wsComponents) ? 443 : 80) || wsComponents.port === \"\") {\n wsComponents.port = undefined;\n }\n //ensure scheme matches secure flag\n if (typeof wsComponents.secure === 'boolean') {\n wsComponents.scheme = wsComponents.secure ? 'wss' : 'ws';\n wsComponents.secure = undefined;\n }\n //reconstruct path from resource name\n if (wsComponents.resourceName) {\n var _wsComponents$resourc = wsComponents.resourceName.split('?'),\n _wsComponents$resourc2 = slicedToArray(_wsComponents$resourc, 2),\n path = _wsComponents$resourc2[0],\n query = _wsComponents$resourc2[1];\n\n wsComponents.path = path && path !== '/' ? path : undefined;\n wsComponents.query = query;\n wsComponents.resourceName = undefined;\n }\n //forbid fragment component\n wsComponents.fragment = undefined;\n return wsComponents;\n }\n};\n\nvar handler$3 = {\n scheme: \"wss\",\n domainHost: handler$2.domainHost,\n parse: handler$2.parse,\n serialize: handler$2.serialize\n};\n\nvar O = {};\nvar isIRI = true;\n//RFC 3986\nvar UNRESERVED$$ = \"[A-Za-z0-9\\\\-\\\\.\\\\_\\\\~\" + (isIRI ? \"\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF\" : \"\") + \"]\";\nvar HEXDIG$$ = \"[0-9A-Fa-f]\"; //case-insensitive\nvar PCT_ENCODED$ = subexp(subexp(\"%[EFef]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%[89A-Fa-f]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%\" + HEXDIG$$ + HEXDIG$$)); //expanded\n//RFC 5322, except these symbols as per RFC 6068: @ : / ? # [ ] & ; =\n//const ATEXT$$ = \"[A-Za-z0-9\\\\!\\\\#\\\\$\\\\%\\\\&\\\\'\\\\*\\\\+\\\\-\\\\/\\\\=\\\\?\\\\^\\\\_\\\\`\\\\{\\\\|\\\\}\\\\~]\";\n//const WSP$$ = \"[\\\\x20\\\\x09]\";\n//const OBS_QTEXT$$ = \"[\\\\x01-\\\\x08\\\\x0B\\\\x0C\\\\x0E-\\\\x1F\\\\x7F]\"; //(%d1-8 / %d11-12 / %d14-31 / %d127)\n//const QTEXT$$ = merge(\"[\\\\x21\\\\x23-\\\\x5B\\\\x5D-\\\\x7E]\", OBS_QTEXT$$); //%d33 / %d35-91 / %d93-126 / obs-qtext\n//const VCHAR$$ = \"[\\\\x21-\\\\x7E]\";\n//const WSP$$ = \"[\\\\x20\\\\x09]\";\n//const OBS_QP$ = subexp(\"\\\\\\\\\" + merge(\"[\\\\x00\\\\x0D\\\\x0A]\", OBS_QTEXT$$)); //%d0 / CR / LF / obs-qtext\n//const FWS$ = subexp(subexp(WSP$$ + \"*\" + \"\\\\x0D\\\\x0A\") + \"?\" + WSP$$ + \"+\");\n//const QUOTED_PAIR$ = subexp(subexp(\"\\\\\\\\\" + subexp(VCHAR$$ + \"|\" + WSP$$)) + \"|\" + OBS_QP$);\n//const QUOTED_STRING$ = subexp('\\\\\"' + subexp(FWS$ + \"?\" + QCONTENT$) + \"*\" + FWS$ + \"?\" + '\\\\\"');\nvar ATEXT$$ = \"[A-Za-z0-9\\\\!\\\\$\\\\%\\\\'\\\\*\\\\+\\\\-\\\\^\\\\_\\\\`\\\\{\\\\|\\\\}\\\\~]\";\nvar QTEXT$$ = \"[\\\\!\\\\$\\\\%\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\-\\\\.0-9\\\\<\\\\>A-Z\\\\x5E-\\\\x7E]\";\nvar VCHAR$$ = merge(QTEXT$$, \"[\\\\\\\"\\\\\\\\]\");\nvar SOME_DELIMS$$ = \"[\\\\!\\\\$\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\:\\\\@]\";\nvar UNRESERVED = new RegExp(UNRESERVED$$, \"g\");\nvar PCT_ENCODED = new RegExp(PCT_ENCODED$, \"g\");\nvar NOT_LOCAL_PART = new RegExp(merge(\"[^]\", ATEXT$$, \"[\\\\.]\", '[\\\\\"]', VCHAR$$), \"g\");\nvar NOT_HFNAME = new RegExp(merge(\"[^]\", UNRESERVED$$, SOME_DELIMS$$), \"g\");\nvar NOT_HFVALUE = NOT_HFNAME;\nfunction decodeUnreserved(str) {\n var decStr = pctDecChars(str);\n return !decStr.match(UNRESERVED) ? str : decStr;\n}\nvar handler$4 = {\n scheme: \"mailto\",\n parse: function parse$$1(components, options) {\n var mailtoComponents = components;\n var to = mailtoComponents.to = mailtoComponents.path ? mailtoComponents.path.split(\",\") : [];\n mailtoComponents.path = undefined;\n if (mailtoComponents.query) {\n var unknownHeaders = false;\n var headers = {};\n var hfields = mailtoComponents.query.split(\"&\");\n for (var x = 0, xl = hfields.length; x < xl; ++x) {\n var hfield = hfields[x].split(\"=\");\n switch (hfield[0]) {\n case \"to\":\n var toAddrs = hfield[1].split(\",\");\n for (var _x = 0, _xl = toAddrs.length; _x < _xl; ++_x) {\n to.push(toAddrs[_x]);\n }\n break;\n case \"subject\":\n mailtoComponents.subject = unescapeComponent(hfield[1], options);\n break;\n case \"body\":\n mailtoComponents.body = unescapeComponent(hfield[1], options);\n break;\n default:\n unknownHeaders = true;\n headers[unescapeComponent(hfield[0], options)] = unescapeComponent(hfield[1], options);\n break;\n }\n }\n if (unknownHeaders) mailtoComponents.headers = headers;\n }\n mailtoComponents.query = undefined;\n for (var _x2 = 0, _xl2 = to.length; _x2 < _xl2; ++_x2) {\n var addr = to[_x2].split(\"@\");\n addr[0] = unescapeComponent(addr[0]);\n if (!options.unicodeSupport) {\n //convert Unicode IDN -> ASCII IDN\n try {\n addr[1] = punycode.toASCII(unescapeComponent(addr[1], options).toLowerCase());\n } catch (e) {\n mailtoComponents.error = mailtoComponents.error || \"Email address's domain name can not be converted to ASCII via punycode: \" + e;\n }\n } else {\n addr[1] = unescapeComponent(addr[1], options).toLowerCase();\n }\n to[_x2] = addr.join(\"@\");\n }\n return mailtoComponents;\n },\n serialize: function serialize$$1(mailtoComponents, options) {\n var components = mailtoComponents;\n var to = toArray(mailtoComponents.to);\n if (to) {\n for (var x = 0, xl = to.length; x < xl; ++x) {\n var toAddr = String(to[x]);\n var atIdx = toAddr.lastIndexOf(\"@\");\n var localPart = toAddr.slice(0, atIdx).replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_LOCAL_PART, pctEncChar);\n var domain = toAddr.slice(atIdx + 1);\n //convert IDN via punycode\n try {\n domain = !options.iri ? punycode.toASCII(unescapeComponent(domain, options).toLowerCase()) : punycode.toUnicode(domain);\n } catch (e) {\n components.error = components.error || \"Email address's domain name can not be converted to \" + (!options.iri ? \"ASCII\" : \"Unicode\") + \" via punycode: \" + e;\n }\n to[x] = localPart + \"@\" + domain;\n }\n components.path = to.join(\",\");\n }\n var headers = mailtoComponents.headers = mailtoComponents.headers || {};\n if (mailtoComponents.subject) headers[\"subject\"] = mailtoComponents.subject;\n if (mailtoComponents.body) headers[\"body\"] = mailtoComponents.body;\n var fields = [];\n for (var name in headers) {\n if (headers[name] !== O[name]) {\n fields.push(name.replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFNAME, pctEncChar) + \"=\" + headers[name].replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFVALUE, pctEncChar));\n }\n }\n if (fields.length) {\n components.query = fields.join(\"&\");\n }\n return components;\n }\n};\n\nvar URN_PARSE = /^([^\\:]+)\\:(.*)/;\n//RFC 2141\nvar handler$5 = {\n scheme: \"urn\",\n parse: function parse$$1(components, options) {\n var matches = components.path && components.path.match(URN_PARSE);\n var urnComponents = components;\n if (matches) {\n var scheme = options.scheme || urnComponents.scheme || \"urn\";\n var nid = matches[1].toLowerCase();\n var nss = matches[2];\n var urnScheme = scheme + \":\" + (options.nid || nid);\n var schemeHandler = SCHEMES[urnScheme];\n urnComponents.nid = nid;\n urnComponents.nss = nss;\n urnComponents.path = undefined;\n if (schemeHandler) {\n urnComponents = schemeHandler.parse(urnComponents, options);\n }\n } else {\n urnComponents.error = urnComponents.error || \"URN can not be parsed.\";\n }\n return urnComponents;\n },\n serialize: function serialize$$1(urnComponents, options) {\n var scheme = options.scheme || urnComponents.scheme || \"urn\";\n var nid = urnComponents.nid;\n var urnScheme = scheme + \":\" + (options.nid || nid);\n var schemeHandler = SCHEMES[urnScheme];\n if (schemeHandler) {\n urnComponents = schemeHandler.serialize(urnComponents, options);\n }\n var uriComponents = urnComponents;\n var nss = urnComponents.nss;\n uriComponents.path = (nid || options.nid) + \":\" + nss;\n return uriComponents;\n }\n};\n\nvar UUID = /^[0-9A-Fa-f]{8}(?:\\-[0-9A-Fa-f]{4}){3}\\-[0-9A-Fa-f]{12}$/;\n//RFC 4122\nvar handler$6 = {\n scheme: \"urn:uuid\",\n parse: function parse(urnComponents, options) {\n var uuidComponents = urnComponents;\n uuidComponents.uuid = uuidComponents.nss;\n uuidComponents.nss = undefined;\n if (!options.tolerant && (!uuidComponents.uuid || !uuidComponents.uuid.match(UUID))) {\n uuidComponents.error = uuidComponents.error || \"UUID is not valid.\";\n }\n return uuidComponents;\n },\n serialize: function serialize(uuidComponents, options) {\n var urnComponents = uuidComponents;\n //normalize UUID\n urnComponents.nss = (uuidComponents.uuid || \"\").toLowerCase();\n return urnComponents;\n }\n};\n\nSCHEMES[handler.scheme] = handler;\nSCHEMES[handler$1.scheme] = handler$1;\nSCHEMES[handler$2.scheme] = handler$2;\nSCHEMES[handler$3.scheme] = handler$3;\nSCHEMES[handler$4.scheme] = handler$4;\nSCHEMES[handler$5.scheme] = handler$5;\nSCHEMES[handler$6.scheme] = handler$6;\n\nexports.SCHEMES = SCHEMES;\nexports.pctEncChar = pctEncChar;\nexports.pctDecChars = pctDecChars;\nexports.parse = parse;\nexports.removeDotSegments = removeDotSegments;\nexports.serialize = serialize;\nexports.resolveComponents = resolveComponents;\nexports.resolve = resolve;\nexports.normalize = normalize;\nexports.equal = equal;\nexports.escapeComponent = escapeComponent;\nexports.unescapeComponent = unescapeComponent;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=uri.all.js.map\n","const URI = require(\"uri-js\");\n\n\nconst isObject = (value) => typeof value === \"object\" && !Array.isArray(value) && value !== null;\nconst isType = {\n null: (value) => value === null,\n boolean: (value) => typeof value === \"boolean\",\n object: isObject,\n array: (value) => Array.isArray(value),\n number: (value) => typeof value === \"number\",\n integer: (value) => Number.isInteger(value),\n string: (value) => typeof value === \"string\"\n};\nconst jsonTypeOf = (value, type) => isType[type](value);\n\nconst resolveUrl = (contextUrl, url) => {\n const resolvedUrl = URI.resolve(contextUrl, url, { iri: true });\n const contextId = URI.resolve(contextUrl, \"\", { iri: true });\n if (contextId && URI.parse(resolvedUrl).scheme === \"file\" && URI.parse(contextUrl).scheme !== \"file\") {\n throw Error(`Can't access file '${resolvedUrl}' resource from network context '${contextUrl}'`);\n }\n return resolvedUrl;\n};\n\nconst urlFragment = (uri) => URI.unescapeComponent(URI.parse(uri).fragment) || \"\";\n\nconst CHAR_BACKWARD_SLASH = 47;\n\nconst pathRelative = (from, to) => {\n if (from === to) {\n return \"\";\n }\n\n let toStart = 1;\n const fromLen = from.length - 1;\n const toLen = to.length - toStart;\n\n // Compare paths to find the longest common path from root\n const length = fromLen < toLen ? fromLen : toLen;\n let lastCommonSep = -1;\n let i = 0;\n for (; i < length; i++) {\n const fromCode = from.charCodeAt(i + 1);\n if (fromCode !== to.charCodeAt(toStart + i)) {\n break;\n } else if (fromCode === CHAR_BACKWARD_SLASH) {\n lastCommonSep = i;\n }\n }\n\n if (toLen > length) {\n if (to.charCodeAt(toStart + i) === CHAR_BACKWARD_SLASH) {\n return to.slice(toStart + i + 1);\n }\n if (i === 0) {\n return to.slice(toStart + i);\n }\n }\n if (fromLen > length) {\n if (from.charCodeAt(i + 1) === CHAR_BACKWARD_SLASH) {\n lastCommonSep = i;\n } else if (length === 0) {\n lastCommonSep = 0;\n }\n }\n\n let out = \"\";\n // Generate the relative path based on the path difference between `to` and `from`\n for (i = lastCommonSep + 2; i <= from.length; ++i) {\n if (i === from.length || from.charCodeAt(i) === CHAR_BACKWARD_SLASH) {\n out += out.length === 0 ? \"..\" : \"/..\";\n }\n }\n\n toStart += lastCommonSep;\n\n // Lastly, append the rest of the destination (`to`) path that comes after\n // the common path parts\n if (out.length > 0) {\n return `${out}${to.slice(toStart, to.length)}`;\n }\n\n if (to.charCodeAt(toStart) === CHAR_BACKWARD_SLASH) {\n ++toStart;\n }\n\n return to.slice(toStart, to.length);\n};\n\nmodule.exports = { jsonTypeOf, resolveUrl, urlFragment, pathRelative };\n","const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n if (Array.isArray(subject)) {\n const index = pointer.shift();\n const clonedSubject = [...subject];\n clonedSubject[index] = _set(pointer, applySegment(subject, index, cursor), value, append(index, cursor));\n return clonedSubject;\n } else {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n }\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n","const $__value = Symbol(\"$__value\");\nconst $__href = Symbol(\"$__href\");\n\nconst cons = (href, value) => Object.freeze({\n [$__href]: href,\n [$__value]: value\n});\n\nconst isReference = (ref) => ref && ref[$__href] !== undefined;\nconst href = (ref) => ref[$__href];\nconst value = (ref) => ref[$__value];\n\nmodule.exports = { cons, isReference, href, value };\n","const JsonPointer = require(\"@hyperjump/json-pointer\");\nconst curry = require(\"just-curry-it\");\nconst { resolveUrl, jsonTypeOf } = require(\"./common\");\nconst Reference = require(\"./reference\");\n\n\nconst nil = Object.freeze({ id: \"\", pointer: \"\", instance: undefined, value: undefined });\nconst cons = (instance, id = \"\") => Object.freeze({ ...nil, id: resolveUrl(id, \"\"), instance, value: instance });\n\nconst get = (url, instance = nil) => {\n if (!url.startsWith(\"#\")) {\n throw Error(`No JSON document found at '${url.split(\"#\")[0]}'`);\n }\n\n return Object.freeze({ ...instance, pointer: url.substr(1) });\n};\n\nconst uri = (doc) => `${doc.id}#${encodeURI(doc.pointer)}`;\nconst value = (doc) => Reference.isReference(doc.value) ? Reference.value(doc.value) : doc.value;\nconst has = (key, doc) => key in value(doc);\nconst typeOf = curry((doc, type) => jsonTypeOf(value(doc), type));\n\nconst step = (key, doc) => Object.freeze({\n ...doc,\n pointer: JsonPointer.append(key, doc.pointer),\n value: value(doc)[key]\n});\n\nconst entries = (doc) => Object.keys(value(doc))\n .map((key) => [key, step(key, doc)]);\n\nconst keys = (doc) => Object.keys(value(doc));\n\nconst map = curry((fn, doc) => value(doc)\n .map((item, ndx, array, thisArg) => fn(step(ndx, doc), ndx, array, thisArg)));\n\nconst forEach = curry((fn, doc) => value(doc)\n .forEach((item, ndx, array, thisArg) => fn(step(ndx, doc), ndx, array, thisArg)));\n\nconst filter = curry((fn, doc) => value(doc)\n .map((item, ndx, array, thisArg) => step(ndx, doc, array, thisArg))\n .filter((item, ndx, array, thisArg) => fn(item, ndx, array, thisArg)));\n\nconst reduce = curry((fn, acc, doc) => value(doc)\n .reduce((acc, item, ndx) => fn(acc, step(ndx, doc), ndx), acc));\n\nconst every = curry((fn, doc) => value(doc)\n .every((item, ndx, array, thisArg) => fn(step(ndx, doc), ndx, array, thisArg)));\n\nconst some = curry((fn, doc) => value(doc)\n .some((item, ndx, array, thisArg) => fn(step(ndx, doc), ndx, array, thisArg)));\n\nconst length = (doc) => value(doc).length;\n\nmodule.exports = {\n nil, cons, get, uri, value, has, typeOf, length,\n step, entries, keys, map, forEach, filter, reduce, every, some\n};\n","module.exports = async (doc) => Object.entries(await doc);\n","module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n","const curry = require(\"just-curry-it\");\n\n\nmodule.exports = curry(async (fn, doc) => (await doc).map(fn));\n","const curry = require(\"just-curry-it\");\n\n\nmodule.exports = curry(async (fn, acc, doc) => {\n return (await doc).reduce(async (acc, item) => fn(await acc, item), acc);\n});\n","const curry = require(\"just-curry-it\");\nconst reduce = require(\"./reduce\");\n\n\nmodule.exports = curry(async (fn, doc, options = {}) => {\n return reduce(async (acc, item) => {\n return (await fn(item)) ? acc.concat([item]) : acc;\n }, [], doc, options);\n});\n","const curry = require(\"just-curry-it\");\nconst map = require(\"./map\");\n\n\nmodule.exports = curry(async (fn, doc) => {\n const results = await map(fn, doc);\n return (await Promise.all(results))\n .some((a) => a);\n});\n","const curry = require(\"just-curry-it\");\nconst map = require(\"./map\");\n\n\nmodule.exports = curry(async (fn, doc) => {\n const results = await map(fn, doc);\n return (await Promise.all(results))\n .every((a) => a);\n});\n","const curry = require(\"just-curry-it\");\n\n\nmodule.exports = curry((fns, doc) => {\n return fns.reduce(async (acc, fn) => fn(await acc), doc);\n});\n","const pipeline = require(\"./pipeline\");\nconst entries = require(\"./entries\");\nconst reduce = require(\"./reduce\");\n\n\nmodule.exports = (doc) => {\n return pipeline([\n entries,\n reduce(async (acc, [propertyName, propertyValue]) => {\n acc[propertyName] = await propertyValue;\n return acc;\n }, {})\n ], doc);\n};\n","(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory) /* global define */\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory()\n } else {\n root.moo = factory()\n }\n}(this, function() {\n 'use strict';\n\n var hasOwnProperty = Object.prototype.hasOwnProperty\n var toString = Object.prototype.toString\n var hasSticky = typeof new RegExp().sticky === 'boolean'\n\n /***************************************************************************/\n\n function isRegExp(o) { return o && toString.call(o) === '[object RegExp]' }\n function isObject(o) { return o && typeof o === 'object' && !isRegExp(o) && !Array.isArray(o) }\n\n function reEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&')\n }\n function reGroups(s) {\n var re = new RegExp('|' + s)\n return re.exec('').length - 1\n }\n function reCapture(s) {\n return '(' + s + ')'\n }\n function reUnion(regexps) {\n if (!regexps.length) return '(?!)'\n var source = regexps.map(function(s) {\n return \"(?:\" + s + \")\"\n }).join('|')\n return \"(?:\" + source + \")\"\n }\n\n function regexpOrLiteral(obj) {\n if (typeof obj === 'string') {\n return '(?:' + reEscape(obj) + ')'\n\n } else if (isRegExp(obj)) {\n // TODO: consider /u support\n if (obj.ignoreCase) throw new Error('RegExp /i flag not allowed')\n if (obj.global) throw new Error('RegExp /g flag is implied')\n if (obj.sticky) throw new Error('RegExp /y flag is implied')\n if (obj.multiline) throw new Error('RegExp /m flag is implied')\n return obj.source\n\n } else {\n throw new Error('Not a pattern: ' + obj)\n }\n }\n\n function objectToRules(object) {\n var keys = Object.getOwnPropertyNames(object)\n var result = []\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i]\n var thing = object[key]\n var rules = [].concat(thing)\n if (key === 'include') {\n for (var j = 0; j < rules.length; j++) {\n result.push({include: rules[j]})\n }\n continue\n }\n var match = []\n rules.forEach(function(rule) {\n if (isObject(rule)) {\n if (match.length) result.push(ruleOptions(key, match))\n result.push(ruleOptions(key, rule))\n match = []\n } else {\n match.push(rule)\n }\n })\n if (match.length) result.push(ruleOptions(key, match))\n }\n return result\n }\n\n function arrayToRules(array) {\n var result = []\n for (var i = 0; i < array.length; i++) {\n var obj = array[i]\n if (obj.include) {\n var include = [].concat(obj.include)\n for (var j = 0; j < include.length; j++) {\n result.push({include: include[j]})\n }\n continue\n }\n if (!obj.type) {\n throw new Error('Rule has no type: ' + JSON.stringify(obj))\n }\n result.push(ruleOptions(obj.type, obj))\n }\n return result\n }\n\n function ruleOptions(type, obj) {\n if (!isObject(obj)) {\n obj = { match: obj }\n }\n if (obj.include) {\n throw new Error('Matching rules cannot also include states')\n }\n\n // nb. error and fallback imply lineBreaks\n var options = {\n defaultType: type,\n lineBreaks: !!obj.error || !!obj.fallback,\n pop: false,\n next: null,\n push: null,\n error: false,\n fallback: false,\n value: null,\n type: null,\n shouldThrow: false,\n }\n\n // Avoid Object.assign(), so we support IE9+\n for (var key in obj) {\n if (hasOwnProperty.call(obj, key)) {\n options[key] = obj[key]\n }\n }\n\n // type transform cannot be a string\n if (typeof options.type === 'string' && type !== options.type) {\n throw new Error(\"Type transform cannot be a string (type '\" + options.type + \"' for token '\" + type + \"')\")\n }\n\n // convert to array\n var match = options.match\n options.match = Array.isArray(match) ? match : match ? [match] : []\n options.match.sort(function(a, b) {\n return isRegExp(a) && isRegExp(b) ? 0\n : isRegExp(b) ? -1 : isRegExp(a) ? +1 : b.length - a.length\n })\n return options\n }\n\n function toRules(spec) {\n return Array.isArray(spec) ? arrayToRules(spec) : objectToRules(spec)\n }\n\n var defaultErrorRule = ruleOptions('error', {lineBreaks: true, shouldThrow: true})\n function compileRules(rules, hasStates) {\n var errorRule = null\n var fast = Object.create(null)\n var fastAllowed = true\n var unicodeFlag = null\n var groups = []\n var parts = []\n\n // If there is a fallback rule, then disable fast matching\n for (var i = 0; i < rules.length; i++) {\n if (rules[i].fallback) {\n fastAllowed = false\n }\n }\n\n for (var i = 0; i < rules.length; i++) {\n var options = rules[i]\n\n if (options.include) {\n // all valid inclusions are removed by states() preprocessor\n throw new Error('Inheritance is not allowed in stateless lexers')\n }\n\n if (options.error || options.fallback) {\n // errorRule can only be set once\n if (errorRule) {\n if (!options.fallback === !errorRule.fallback) {\n throw new Error(\"Multiple \" + (options.fallback ? \"fallback\" : \"error\") + \" rules not allowed (for token '\" + options.defaultType + \"')\")\n } else {\n throw new Error(\"fallback and error are mutually exclusive (for token '\" + options.defaultType + \"')\")\n }\n }\n errorRule = options\n }\n\n var match = options.match.slice()\n if (fastAllowed) {\n while (match.length && typeof match[0] === 'string' && match[0].length === 1) {\n var word = match.shift()\n fast[word.charCodeAt(0)] = options\n }\n }\n\n // Warn about inappropriate state-switching options\n if (options.pop || options.push || options.next) {\n if (!hasStates) {\n throw new Error(\"State-switching options are not allowed in stateless lexers (for token '\" + options.defaultType + \"')\")\n }\n if (options.fallback) {\n throw new Error(\"State-switching options are not allowed on fallback tokens (for token '\" + options.defaultType + \"')\")\n }\n }\n\n // Only rules with a .match are included in the RegExp\n if (match.length === 0) {\n continue\n }\n fastAllowed = false\n\n groups.push(options)\n\n // Check unicode flag is used everywhere or nowhere\n for (var j = 0; j < match.length; j++) {\n var obj = match[j]\n if (!isRegExp(obj)) {\n continue\n }\n\n if (unicodeFlag === null) {\n unicodeFlag = obj.unicode\n } else if (unicodeFlag !== obj.unicode && options.fallback === false) {\n throw new Error('If one rule is /u then all must be')\n }\n }\n\n // convert to RegExp\n var pat = reUnion(match.map(regexpOrLiteral))\n\n // validate\n var regexp = new RegExp(pat)\n if (regexp.test(\"\")) {\n throw new Error(\"RegExp matches empty string: \" + regexp)\n }\n var groupCount = reGroups(pat)\n if (groupCount > 0) {\n throw new Error(\"RegExp has capture groups: \" + regexp + \"\\nUse (?: … ) instead\")\n }\n\n // try and detect rules matching newlines\n if (!options.lineBreaks && regexp.test('\\n')) {\n throw new Error('Rule should declare lineBreaks: ' + regexp)\n }\n\n // store regex\n parts.push(reCapture(pat))\n }\n\n\n // If there's no fallback rule, use the sticky flag so we only look for\n // matches at the current index.\n //\n // If we don't support the sticky flag, then fake it using an irrefutable\n // match (i.e. an empty pattern).\n var fallbackRule = errorRule && errorRule.fallback\n var flags = hasSticky && !fallbackRule ? 'ym' : 'gm'\n var suffix = hasSticky || fallbackRule ? '' : '|'\n\n if (unicodeFlag === true) flags += \"u\"\n var combined = new RegExp(reUnion(parts) + suffix, flags)\n return {regexp: combined, groups: groups, fast: fast, error: errorRule || defaultErrorRule}\n }\n\n function compile(rules) {\n var result = compileRules(toRules(rules))\n return new Lexer({start: result}, 'start')\n }\n\n function checkStateGroup(g, name, map) {\n var state = g && (g.push || g.next)\n if (state && !map[state]) {\n throw new Error(\"Missing state '\" + state + \"' (in token '\" + g.defaultType + \"' of state '\" + name + \"')\")\n }\n if (g && g.pop && +g.pop !== 1) {\n throw new Error(\"pop must be 1 (in token '\" + g.defaultType + \"' of state '\" + name + \"')\")\n }\n }\n function compileStates(states, start) {\n var all = states.$all ? toRules(states.$all) : []\n delete states.$all\n\n var keys = Object.getOwnPropertyNames(states)\n if (!start) start = keys[0]\n\n var ruleMap = Object.create(null)\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i]\n ruleMap[key] = toRules(states[key]).concat(all)\n }\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i]\n var rules = ruleMap[key]\n var included = Object.create(null)\n for (var j = 0; j < rules.length; j++) {\n var rule = rules[j]\n if (!rule.include) continue\n var splice = [j, 1]\n if (rule.include !== key && !included[rule.include]) {\n included[rule.include] = true\n var newRules = ruleMap[rule.include]\n if (!newRules) {\n throw new Error(\"Cannot include nonexistent state '\" + rule.include + \"' (in state '\" + key + \"')\")\n }\n for (var k = 0; k < newRules.length; k++) {\n var newRule = newRules[k]\n if (rules.indexOf(newRule) !== -1) continue\n splice.push(newRule)\n }\n }\n rules.splice.apply(rules, splice)\n j--\n }\n }\n\n var map = Object.create(null)\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i]\n map[key] = compileRules(ruleMap[key], true)\n }\n\n for (var i = 0; i < keys.length; i++) {\n var name = keys[i]\n var state = map[name]\n var groups = state.groups\n for (var j = 0; j < groups.length; j++) {\n checkStateGroup(groups[j], name, map)\n }\n var fastKeys = Object.getOwnPropertyNames(state.fast)\n for (var j = 0; j < fastKeys.length; j++) {\n checkStateGroup(state.fast[fastKeys[j]], name, map)\n }\n }\n\n return new Lexer(map, start)\n }\n\n function keywordTransform(map) {\n var reverseMap = Object.create(null)\n var byLength = Object.create(null)\n var types = Object.getOwnPropertyNames(map)\n for (var i = 0; i < types.length; i++) {\n var tokenType = types[i]\n var item = map[tokenType]\n var keywordList = Array.isArray(item) ? item : [item]\n keywordList.forEach(function(keyword) {\n (byLength[keyword.length] = byLength[keyword.length] || []).push(keyword)\n if (typeof keyword !== 'string') {\n throw new Error(\"keyword must be string (in keyword '\" + tokenType + \"')\")\n }\n reverseMap[keyword] = tokenType\n })\n }\n\n // fast string lookup\n // https://jsperf.com/string-lookups\n function str(x) { return JSON.stringify(x) }\n var source = ''\n source += 'switch (value.length) {\\n'\n for (var length in byLength) {\n var keywords = byLength[length]\n source += 'case ' + length + ':\\n'\n source += 'switch (value) {\\n'\n keywords.forEach(function(keyword) {\n var tokenType = reverseMap[keyword]\n source += 'case ' + str(keyword) + ': return ' + str(tokenType) + '\\n'\n })\n source += '}\\n'\n }\n source += '}\\n'\n return Function('value', source) // type\n }\n\n /***************************************************************************/\n\n var Lexer = function(states, state) {\n this.startState = state\n this.states = states\n this.buffer = ''\n this.stack = []\n this.reset()\n }\n\n Lexer.prototype.reset = function(data, info) {\n this.buffer = data || ''\n this.index = 0\n this.line = info ? info.line : 1\n this.col = info ? info.col : 1\n this.queuedToken = info ? info.queuedToken : null\n this.queuedThrow = info ? info.queuedThrow : null\n this.setState(info ? info.state : this.startState)\n this.stack = info && info.stack ? info.stack.slice() : []\n return this\n }\n\n Lexer.prototype.save = function() {\n return {\n line: this.line,\n col: this.col,\n state: this.state,\n stack: this.stack.slice(),\n queuedToken: this.queuedToken,\n queuedThrow: this.queuedThrow,\n }\n }\n\n Lexer.prototype.setState = function(state) {\n if (!state || this.state === state) return\n this.state = state\n var info = this.states[state]\n this.groups = info.groups\n this.error = info.error\n this.re = info.regexp\n this.fast = info.fast\n }\n\n Lexer.prototype.popState = function() {\n this.setState(this.stack.pop())\n }\n\n Lexer.prototype.pushState = function(state) {\n this.stack.push(this.state)\n this.setState(state)\n }\n\n var eat = hasSticky ? function(re, buffer) { // assume re is /y\n return re.exec(buffer)\n } : function(re, buffer) { // assume re is /g\n var match = re.exec(buffer)\n // will always match, since we used the |(?:) trick\n if (match[0].length === 0) {\n return null\n }\n return match\n }\n\n Lexer.prototype._getGroup = function(match) {\n var groupCount = this.groups.length\n for (var i = 0; i < groupCount; i++) {\n if (match[i + 1] !== undefined) {\n return this.groups[i]\n }\n }\n throw new Error('Cannot find token type for matched text')\n }\n\n function tokenToString() {\n return this.value\n }\n\n Lexer.prototype.next = function() {\n var index = this.index\n\n // If a fallback token matched, we don't need to re-run the RegExp\n if (this.queuedGroup) {\n var token = this._token(this.queuedGroup, this.queuedText, index)\n this.queuedGroup = null\n this.queuedText = \"\"\n return token\n }\n\n var buffer = this.buffer\n if (index === buffer.length) {\n return // EOF\n }\n\n // Fast matching for single characters\n var group = this.fast[buffer.charCodeAt(index)]\n if (group) {\n return this._token(group, buffer.charAt(index), index)\n }\n\n // Execute RegExp\n var re = this.re\n re.lastIndex = index\n var match = eat(re, buffer)\n\n // Error tokens match the remaining buffer\n var error = this.error\n if (match == null) {\n return this._token(error, buffer.slice(index, buffer.length), index)\n }\n\n var group = this._getGroup(match)\n var text = match[0]\n\n if (error.fallback && match.index !== index) {\n this.queuedGroup = group\n this.queuedText = text\n\n // Fallback tokens contain the unmatched portion of the buffer\n return this._token(error, buffer.slice(index, match.index), index)\n }\n\n return this._token(group, text, index)\n }\n\n Lexer.prototype._token = function(group, text, offset) {\n // count line breaks\n var lineBreaks = 0\n if (group.lineBreaks) {\n var matchNL = /\\n/g\n var nl = 1\n if (text === '\\n') {\n lineBreaks = 1\n } else {\n while (matchNL.exec(text)) { lineBreaks++; nl = matchNL.lastIndex }\n }\n }\n\n var token = {\n type: (typeof group.type === 'function' && group.type(text)) || group.defaultType,\n value: typeof group.value === 'function' ? group.value(text) : text,\n text: text,\n toString: tokenToString,\n offset: offset,\n lineBreaks: lineBreaks,\n line: this.line,\n col: this.col,\n }\n // nb. adding more props to token object will make V8 sad!\n\n var size = text.length\n this.index += size\n this.line += lineBreaks\n if (lineBreaks !== 0) {\n this.col = size - nl + 1\n } else {\n this.col += size\n }\n\n // throw, if no rule with {error: true}\n if (group.shouldThrow) {\n throw new Error(this.formatError(token, \"invalid syntax\"))\n }\n\n if (group.pop) this.popState()\n else if (group.push) this.pushState(group.push)\n else if (group.next) this.setState(group.next)\n\n return token\n }\n\n if (typeof Symbol !== 'undefined' && Symbol.iterator) {\n var LexerIterator = function(lexer) {\n this.lexer = lexer\n }\n\n LexerIterator.prototype.next = function() {\n var token = this.lexer.next()\n return {value: token, done: !token}\n }\n\n LexerIterator.prototype[Symbol.iterator] = function() {\n return this\n }\n\n Lexer.prototype[Symbol.iterator] = function() {\n return new LexerIterator(this)\n }\n }\n\n Lexer.prototype.formatError = function(token, message) {\n if (token == null) {\n // An undefined token indicates EOF\n var text = this.buffer.slice(this.index)\n var token = {\n text: text,\n offset: this.index,\n lineBreaks: text.indexOf('\\n') === -1 ? 0 : 1,\n line: this.line,\n col: this.col,\n }\n }\n var start = Math.max(0, token.offset - token.col + 1)\n var eol = token.lineBreaks ? token.text.indexOf('\\n') : token.text.length\n var firstLine = this.buffer.substring(start, token.offset + eol)\n message += \" at line \" + token.line + \" col \" + token.col + \":\\n\\n\"\n message += \" \" + firstLine + \"\\n\"\n message += \" \" + Array(token.col).join(\" \") + \"^\"\n return message\n }\n\n Lexer.prototype.clone = function() {\n return new Lexer(this.states, this.state)\n }\n\n Lexer.prototype.has = function(tokenType) {\n return true\n }\n\n\n return {\n compile: compile,\n states: compileStates,\n error: Object.freeze({error: true}),\n fallback: Object.freeze({fallback: true}),\n keywords: keywordTransform,\n }\n\n}));\n","module.exports = {\n entries: require(\"./entries\"),\n map: require(\"./map\"),\n filter: require(\"./filter\"),\n reduce: require(\"./reduce\"),\n some: require(\"./some\"),\n every: require(\"./every\"),\n pipeline: require(\"./pipeline\"),\n all: require(\"./all\"),\n allValues: require(\"./allValues\")\n};\n","module.exports = (doc) => Promise.all(doc);\n","const moo = require(\"moo\");\n\n\nconst digit = `[0-9]`;\nconst digit19 = `[1-9]`;\nconst hexdig = `[0-9a-fA-F]`;\n\n// String\nconst unescaped = `[\\\\x20-\\\\x21\\\\x23-\\\\x5b\\\\x5d-\\\\u{10ffff}]`;\nconst escape = `\\\\\\\\`;\nconst escaped = `${escape}(?:[\"\\\\/\\\\\\\\brfnt]|u${hexdig}{4})`;\nconst char = `(?:${unescaped}|${escaped})`;\nconst string = `\"${char}*\"`;\n\n// Number\nconst int = `(?:0|${digit19}${digit}*)`;\nconst frac = `\\\\.${digit}+`;\nconst e = `[eE]`;\nconst exp = `${e}[-+]?${digit}+`;\nconst number = `-?${int}(?:${frac})?(?:${exp})?`;\n\n// Whitespace\nconst whitespace = `(?:(?:\\\\r?\\\\n)|[ \\\\t])+`;\n\nmodule.exports = (json) => {\n const lexer = moo.states({\n main: {\n WS: { match: new RegExp(whitespace, \"u\"), lineBreaks: true },\n true: { match: \"true\", value: () => true },\n false: { match: \"false\", value: () => false },\n null: { match: \"null\", value: () => null },\n number: { match: new RegExp(number, \"u\"), value: parseFloat },\n string: { match: new RegExp(string, \"u\"), value: JSON.parse },\n \"{\": \"{\",\n \"}\": \"}\",\n \"[\": \"[\",\n \"]\": \"]\",\n \":\": \":\",\n \",\": \",\",\n error: moo.error\n }\n });\n lexer.reset(json);\n\n const _next = () => {\n let token;\n do {\n token = lexer.next();\n if (token?.type === \"error\") {\n throw SyntaxError(lexer.formatError(token, \"Unrecognized token\"));\n }\n } while (token?.type === \"WS\");\n\n return token;\n };\n\n let previous;\n let nextToken = _next();\n\n const next = (expectedType = undefined) => {\n previous = nextToken;\n nextToken = _next();\n if (expectedType && previous?.type !== expectedType) {\n throw SyntaxError(lexer.formatError(previous, `Expected a '${expectedType}'`));\n }\n return previous;\n };\n\n const peek = () => nextToken;\n\n const defaultErrorToken = { offset: 0, line: 1, col: 0, text: \"\" };\n const syntaxError = (message) => {\n const referenceToken = previous || defaultErrorToken;\n const errorToken = {\n ...referenceToken,\n offset: referenceToken.offset + referenceToken.text.length,\n col: referenceToken.col + referenceToken.text.length\n };\n throw new SyntaxError(lexer.formatError(errorToken, message));\n };\n\n return { next, peek, syntaxError };\n};\n","const JsonPointer = require(\"@hyperjump/json-pointer\");\nconst jsonLexer = require(\"./lexer\");\n\n\nconst defaultReviver = (key, value) => value;\nconst parse = (json, reviver = defaultReviver) => {\n const lexer = jsonLexer(json);\n const value = parseValue(lexer, \"\", JsonPointer.nil, reviver);\n\n const token = lexer.peek();\n if (token) {\n lexer.syntaxError(\"A value has been parsed, but more tokens were found\");\n }\n return value;\n};\n\nconst parseValue = (lexer, key, pointer, reviver) => {\n let value;\n const token = lexer.next();\n switch (token?.type) {\n case \"true\":\n case \"false\":\n case \"null\":\n case \"number\":\n case \"string\":\n value = token.value;\n break;\n case \"{\":\n value = parseObject(lexer, key, pointer, reviver);\n break;\n case \"[\":\n value = parseArray(lexer, key, pointer, reviver);\n break;\n default:\n lexer.syntaxError(\"Expected a JSON value\");\n }\n\n return reviver(key, value, pointer);\n};\n\nconst parseObject = (lexer, key, pointer, reviver) => {\n const value = {};\n\n if (lexer.peek()?.type !== \"}\") {\n parseProperties(lexer, key, pointer, reviver, value);\n }\n\n lexer.next(\"}\");\n\n return value;\n};\n\nconst parseProperties = (lexer, key, pointer, reviver, value) => {\n const propertyName = lexer.next(\"string\").value;\n lexer.next(\":\");\n if (!isValueToken(lexer.peek())) {\n lexer.syntaxError(\"Expected a JSON value\");\n }\n value[propertyName] = parseValue(lexer, propertyName, JsonPointer.append(propertyName, pointer), reviver);\n\n if (lexer.peek()?.type === \",\") {\n lexer.next(); // burn comma\n parseProperties(lexer, propertyName, pointer, reviver, value);\n } else if (isValueToken(lexer.peek())) {\n lexer.next(\",\");\n }\n};\n\nconst parseArray = (lexer, key, pointer, reviver) => {\n const value = [];\n\n if (lexer.peek()?.type !== \"]\") {\n parseItems(lexer, 0, pointer, reviver, value);\n }\n\n lexer.next(\"]\");\n\n return value;\n};\n\nconst parseItems = (lexer, key, pointer, reviver, value) => {\n if (!isValueToken(lexer.peek())) {\n lexer.syntaxError(\"Expected a JSON value\");\n }\n value[key] = parseValue(lexer, key, JsonPointer.append(key, pointer), reviver);\n if (lexer.peek()?.type === \",\") {\n lexer.next(); // burn comma\n parseItems(lexer, key + 1, pointer, reviver, value);\n } else if (isValueToken(lexer.peek())) {\n lexer.next(\",\");\n }\n};\n\nconst valueType = new Set([\"string\", \"number\", \"true\", \"false\", \"null\", \"[\", \"{\"]);\nconst isValueToken = (token) => valueType.has(token?.type);\n\nmodule.exports = parse;\n","const JsonPointer = require(\"@hyperjump/json-pointer\");\n\n\nconst defaultReplacer = (key, value) => value;\nconst stringify = (value, replacer = defaultReplacer, space = \"\") => {\n return stringifyValue(value, replacer, space, \"\", JsonPointer.nil, 1);\n};\n\nconst stringifyValue = (value, replacer, space, key, pointer, depth) => {\n value = replacer(key, value, pointer);\n let result;\n if (Array.isArray(value)) {\n result = stringifyArray(value, replacer, space, pointer, depth);\n } else if (typeof value === \"object\" && value !== null) {\n result = stringifyObject(value, replacer, space, pointer, depth);\n } else {\n result = JSON.stringify(value);\n }\n\n return result;\n};\n\nconst stringifyArray = (value, replacer, space, pointer, depth) => {\n if (value.length === 0) {\n space = \"\";\n }\n const padding = space ? `\\n${space.repeat(depth - 1)}` : \"\";\n return \"[\" + padding + space + value\n .map((item, index) => {\n const indexPointer = JsonPointer.append(index, pointer);\n return stringifyValue(item, replacer, space, index, indexPointer, depth + 1);\n })\n .join(`,${padding}${space}`) + padding + \"]\";\n};\n\nconst stringifyObject = (value, replacer, space, pointer, depth) => {\n if (Object.keys(value).length === 0) {\n space = \"\";\n }\n const padding = space ? `\\n${space.repeat(depth - 1)}` : \"\";\n const spacing = space ? \" \" : \"\";\n return \"{\" + padding + space + Object.entries(value)\n .map(([key, value]) => {\n const keyPointer = JsonPointer.append(key, pointer);\n return JSON.stringify(key) + \":\" + spacing + stringifyValue(value, replacer, space, key, keyPointer, depth + 1);\n })\n .join(`,${padding}${space}`) + padding + \"}\";\n};\n\nmodule.exports = stringify;\n","const parse = require(\"./parse\");\nconst stringify = require(\"./stringify\");\n\n\nmodule.exports = { parse, stringify };\n","module.exports = fetch;\n","/*!\n * content-type\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * RegExp to match *( \";\" parameter ) in RFC 7231 sec 3.1.1.1\n *\n * parameter = token \"=\" ( token / quoted-string )\n * token = 1*tchar\n * tchar = \"!\" / \"#\" / \"$\" / \"%\" / \"&\" / \"'\" / \"*\"\n * / \"+\" / \"-\" / \".\" / \"^\" / \"_\" / \"`\" / \"|\" / \"~\"\n * / DIGIT / ALPHA\n * ; any VCHAR, except delimiters\n * quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE\n * qdtext = HTAB / SP / %x21 / %x23-5B / %x5D-7E / obs-text\n * obs-text = %x80-FF\n * quoted-pair = \"\\\" ( HTAB / SP / VCHAR / obs-text )\n */\nvar PARAM_REGEXP = /; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *(\"(?:[\\u000b\\u0020\\u0021\\u0023-\\u005b\\u005d-\\u007e\\u0080-\\u00ff]|\\\\[\\u000b\\u0020-\\u00ff])*\"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g\nvar TEXT_REGEXP = /^[\\u000b\\u0020-\\u007e\\u0080-\\u00ff]+$/\nvar TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/\n\n/**\n * RegExp to match quoted-pair in RFC 7230 sec 3.2.6\n *\n * quoted-pair = \"\\\" ( HTAB / SP / VCHAR / obs-text )\n * obs-text = %x80-FF\n */\nvar QESC_REGEXP = /\\\\([\\u000b\\u0020-\\u00ff])/g\n\n/**\n * RegExp to match chars that must be quoted-pair in RFC 7230 sec 3.2.6\n */\nvar QUOTE_REGEXP = /([\\\\\"])/g\n\n/**\n * RegExp to match type in RFC 7231 sec 3.1.1.1\n *\n * media-type = type \"/\" subtype\n * type = token\n * subtype = token\n */\nvar TYPE_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/\n\n/**\n * Module exports.\n * @public\n */\n\nexports.format = format\nexports.parse = parse\n\n/**\n * Format object to media type.\n *\n * @param {object} obj\n * @return {string}\n * @public\n */\n\nfunction format (obj) {\n if (!obj || typeof obj !== 'object') {\n throw new TypeError('argument obj is required')\n }\n\n var parameters = obj.parameters\n var type = obj.type\n\n if (!type || !TYPE_REGEXP.test(type)) {\n throw new TypeError('invalid type')\n }\n\n var string = type\n\n // append parameters\n if (parameters && typeof parameters === 'object') {\n var param\n var params = Object.keys(parameters).sort()\n\n for (var i = 0; i < params.length; i++) {\n param = params[i]\n\n if (!TOKEN_REGEXP.test(param)) {\n throw new TypeError('invalid parameter name')\n }\n\n string += '; ' + param + '=' + qstring(parameters[param])\n }\n }\n\n return string\n}\n\n/**\n * Parse media type to object.\n *\n * @param {string|object} string\n * @return {Object}\n * @public\n */\n\nfunction parse (string) {\n if (!string) {\n throw new TypeError('argument string is required')\n }\n\n // support req/res-like objects as argument\n var header = typeof string === 'object'\n ? getcontenttype(string)\n : string\n\n if (typeof header !== 'string') {\n throw new TypeError('argument string is required to be a string')\n }\n\n var index = header.indexOf(';')\n var type = index !== -1\n ? header.substr(0, index).trim()\n : header.trim()\n\n if (!TYPE_REGEXP.test(type)) {\n throw new TypeError('invalid media type')\n }\n\n var obj = new ContentType(type.toLowerCase())\n\n // parse parameters\n if (index !== -1) {\n var key\n var match\n var value\n\n PARAM_REGEXP.lastIndex = index\n\n while ((match = PARAM_REGEXP.exec(header))) {\n if (match.index !== index) {\n throw new TypeError('invalid parameter format')\n }\n\n index += match[0].length\n key = match[1].toLowerCase()\n value = match[2]\n\n if (value[0] === '\"') {\n // remove quotes and escapes\n value = value\n .substr(1, value.length - 2)\n .replace(QESC_REGEXP, '$1')\n }\n\n obj.parameters[key] = value\n }\n\n if (index !== header.length) {\n throw new TypeError('invalid parameter format')\n }\n }\n\n return obj\n}\n\n/**\n * Get content-type from req/res objects.\n *\n * @param {object}\n * @return {Object}\n * @private\n */\n\nfunction getcontenttype (obj) {\n var header\n\n if (typeof obj.getHeader === 'function') {\n // res-like\n header = obj.getHeader('content-type')\n } else if (typeof obj.headers === 'object') {\n // req-like\n header = obj.headers && obj.headers['content-type']\n }\n\n if (typeof header !== 'string') {\n throw new TypeError('content-type header is missing from object')\n }\n\n return header\n}\n\n/**\n * Quote a string if necessary.\n *\n * @param {string} val\n * @return {string}\n * @private\n */\n\nfunction qstring (val) {\n var str = String(val)\n\n // no need to quote tokens\n if (TOKEN_REGEXP.test(str)) {\n return str\n }\n\n if (str.length > 0 && !TEXT_REGEXP.test(str)) {\n throw new TypeError('invalid parameter value')\n }\n\n return '\"' + str.replace(QUOTE_REGEXP, '\\\\$1') + '\"'\n}\n\n/**\n * Class to represent a content type.\n * @private\n */\nfunction ContentType (type) {\n this.parameters = Object.create(null)\n this.type = type\n}\n","const contentTypeParser = require(\"content-type\");\n\n\nconst mediaTypePlugins = {};\n\nconst addPlugin = (contentType, plugin) => {\n mediaTypePlugins[contentType] = plugin;\n};\n\nconst parse = (response) => {\n const contentType = contentTypeParser.parse(response.headers.get(\"content-type\"));\n if (!(contentType.type in mediaTypePlugins)) {\n throw Error(`${response.url} is not a schema. Found a document with media type: ${contentType.type}`);\n }\n return mediaTypePlugins[contentType.type].parse(response, contentType.parameters);\n};\n\nconst getContentType = (path) => {\n for (const contentType in mediaTypePlugins) {\n if (mediaTypePlugins[contentType].matcher(path)) {\n return contentType;\n }\n }\n\n return \"application/octet-stream\";\n};\n\nmodule.exports = { addPlugin, parse, getContentType };\n","const curry = require(\"just-curry-it\");\nconst Pact = require(\"@hyperjump/pact\");\nconst Json = require(\"@hyperjump/json\");\nconst JsonPointer = require(\"@hyperjump/json-pointer\");\nconst { jsonTypeOf, resolveUrl, urlFragment, pathRelative } = require(\"./common\");\nconst fetch = require(\"./fetch\");\nconst Reference = require(\"./reference\");\nconst MediaTypes = require(\"./media-types\");\n\n\nconst core201909Id = \"https://json-schema.org/draft/2019-09/vocab/core\";\nconst core202012Id = \"https://json-schema.org/draft/2020-12/vocab/core\";\n\n// Config\nconst config = {};\nconst dialectJsonSchemaVersion = {};\n\nconst setConfig = (jsonSchemaVersion, key, value) => {\n dialectJsonSchemaVersion[jsonSchemaVersion] = jsonSchemaVersion;\n\n if (!config[jsonSchemaVersion]) {\n config[jsonSchemaVersion] = {};\n }\n config[jsonSchemaVersion][key] = value;\n};\n\nconst getConfig = (dialectId, key) => {\n const jsonSchemaVersion = dialectJsonSchemaVersion[dialectId];\n return config[jsonSchemaVersion]?.[key];\n};\n\n// Schema Management\nconst schemaStore = {};\nconst schemaStoreAlias = {};\n\nconst add = (schema, url = \"\", defaultSchemaVersion = \"\") => {\n schema = JSON.parse(JSON.stringify(schema));\n const externalId = resolveUrl(url, \"\");\n\n // Dialect / JSON Schema Version\n const dialectId = resolveUrl(schema[\"$schema\"] || defaultSchemaVersion, \"\");\n if (!dialectId) {\n throw Error(\"Couldn't determine schema dialect\");\n }\n delete schema[\"$schema\"];\n\n // Determine JSON Schema version\n if (!(dialectId in dialectJsonSchemaVersion)) {\n if (schema?.$vocabulary?.[core201909Id] === true && dialectId === getSchemaIdentifier(schema, externalId, core201909Id)[0]) {\n // Self describing 2019-09 meta-schema\n dialectJsonSchemaVersion[dialectId] = core201909Id;\n } else if (schema?.$vocabulary?.[core202012Id] === true && dialectId === getSchemaIdentifier(schema, externalId, core202012Id)[0]) {\n // Self describing 2020-12 meta-schema\n dialectJsonSchemaVersion[dialectId] = core202012Id;\n } else {\n // Need to look at meta-schema to determine version\n const metaSchema = schemaStore[dialectId];\n if (!metaSchema) {\n throw Error(`Couldn't determine JSON Schema version for dialect: '${dialectId}'`);\n } else if (metaSchema.vocabulary[core201909Id] === true) {\n dialectJsonSchemaVersion[dialectId] = core201909Id;\n } else if (metaSchema.vocabulary[core202012Id] === true) {\n dialectJsonSchemaVersion[dialectId] = core202012Id;\n } else {\n // Assume the jsonSchemaVersion is the meta-schema's dialectId (non-standard behavior)\n dialectJsonSchemaVersion[dialectId] = dialectJsonSchemaVersion[metaSchema.dialectId];\n }\n }\n }\n\n // Internal Identifier\n const [id, fragment] = getSchemaIdentifier(schema, externalId, dialectJsonSchemaVersion[dialectId]);\n if (!id) {\n throw Error(\"Couldn't determine an identifier for the schema\");\n }\n const baseToken = getConfig(dialectId, \"baseToken\");\n delete schema[baseToken];\n if (externalId) {\n schemaStoreAlias[externalId] = id;\n }\n\n const anchorToken = getConfig(dialectId, \"anchorToken\");\n if (fragment && baseToken === anchorToken) {\n schema[anchorToken] = anchorToken !== baseToken ? encodeURI(fragment) : `#${encodeURI(fragment)}`;\n }\n\n // recursiveAnchor\n const dynamicAnchors = {};\n const recursiveAnchorToken = getConfig(dialectId, \"recursiveAnchorToken\");\n if (schema[recursiveAnchorToken] === true) {\n dynamicAnchors[\"\"] = `${id}#`;\n schema[anchorToken] = \"\";\n delete schema[recursiveAnchorToken];\n }\n\n // Vocabulary\n let vocabulary;\n const vocabularyToken = getConfig(dialectId, \"vocabularyToken\");\n if (jsonTypeOf(schema[vocabularyToken], \"object\")) {\n vocabulary = schema[vocabularyToken];\n delete schema[vocabularyToken];\n } else {\n vocabulary = { [dialectJsonSchemaVersion[dialectId]]: true };\n }\n\n // Store Schema\n const anchors = { \"\": \"\" };\n schemaStore[id] = {\n id: id,\n dialectId: dialectId,\n schema: processSchema(schema, id, dialectId, JsonPointer.nil, anchors, dynamicAnchors),\n anchors: anchors,\n dynamicAnchors: dynamicAnchors,\n vocabulary: vocabulary,\n validated: false\n };\n\n return id;\n};\n\nconst getSchemaIdentifier = (schema, externalId, jsonSchemaVersion) => {\n const baseToken = config[jsonSchemaVersion]?.[\"baseToken\"];\n const internalUrl = resolveUrl(externalId, schema[baseToken] || \"\");\n return [resolveUrl(internalUrl, \"\"), urlFragment(internalUrl)];\n};\n\nconst processSchema = (subject, id, dialectId, pointer, anchors, dynamicAnchors) => {\n if (jsonTypeOf(subject, \"object\")) {\n const embeddedSchemaDialectId = typeof subject.$schema === \"string\" ? resolveUrl(subject.$schema, \"\") : dialectId;\n const embeddedEmbeddedToken = getConfig(embeddedSchemaDialectId, \"embeddedToken\");\n const embeddedAnchorToken = getConfig(embeddedSchemaDialectId, \"anchorToken\");\n if (typeof subject[embeddedEmbeddedToken] === \"string\" && (embeddedEmbeddedToken !== embeddedAnchorToken || subject[embeddedEmbeddedToken][0] !== \"#\")) {\n const ref = resolveUrl(id, subject[embeddedEmbeddedToken]);\n const embeddedBaseToken = getConfig(embeddedSchemaDialectId, \"baseToken\");\n subject[embeddedBaseToken] = ref;\n add(subject, ref, dialectId);\n return Reference.cons(subject[embeddedEmbeddedToken], subject);\n }\n\n const anchorToken = getConfig(dialectId, \"anchorToken\");\n const dynamicAnchorToken = getConfig(dialectId, \"dynamicAnchorToken\");\n if (typeof subject[dynamicAnchorToken] === \"string\") {\n dynamicAnchors[subject[dynamicAnchorToken]] = `${id}#${encodeURI(pointer)}`;\n anchors[subject[dynamicAnchorToken]] = pointer;\n delete subject[dynamicAnchorToken];\n }\n\n const embeddedToken = getConfig(dialectId, \"embeddedToken\");\n if (typeof subject[anchorToken] === \"string\") {\n const anchor = anchorToken !== embeddedToken ? subject[anchorToken] : subject[anchorToken].slice(1);\n anchors[anchor] = pointer;\n delete subject[anchorToken];\n }\n\n const jrefToken = getConfig(dialectId, \"jrefToken\");\n if (typeof subject[jrefToken] === \"string\") {\n return Reference.cons(subject[jrefToken], subject);\n }\n\n for (const key in subject) {\n subject[key] = processSchema(subject[key], id, dialectId, JsonPointer.append(key, pointer), anchors, dynamicAnchors);\n }\n\n return subject;\n } else if (Array.isArray(subject)) {\n return subject.map((item, ndx) => processSchema(item, id, dialectId, JsonPointer.append(ndx, pointer), anchors, dynamicAnchors));\n } else {\n return subject;\n }\n};\n\nconst hasStoredSchema = (id) => id in schemaStore || id in schemaStoreAlias;\nconst getStoredSchema = (id) => schemaStore[schemaStoreAlias[id]] || schemaStore[id];\n\nconst markValidated = (id) => {\n schemaStore[id].validated = true;\n};\n\n// Schema Retrieval\nconst nil = Object.freeze({\n id: \"\",\n dialectId: undefined,\n vocabulary: {},\n pointer: JsonPointer.nil,\n schema: undefined,\n value: undefined,\n anchors: {},\n dynamicAnchors: {},\n validated: true\n});\n\nconst get = async (url, contextDoc = nil) => {\n const resolvedUrl = resolveUrl(uri(contextDoc), url);\n const id = resolveUrl(resolvedUrl, \"\");\n const fragment = urlFragment(resolvedUrl);\n\n if (!hasStoredSchema(id)) {\n const response = await fetch(id, { headers: { Accept: \"application/schema+json\" } });\n if (response.status >= 400) {\n await response.text(); // Sometimes node hangs without this hack\n throw Error(`Failed to retrieve schema with id: ${id}`);\n }\n\n const [schema, defaultDialectId] = await MediaTypes.parse(response);\n\n let dialectId;\n if (schema.$schema) {\n dialectId = resolveUrl(schema.$schema, \"\");\n } else if (defaultDialectId) {\n dialectId = resolveUrl(id, defaultDialectId);\n } else {\n dialectId = \"\";\n }\n\n // Make sure the meta-schema is loaded if this isn't a known dialect\n if (dialectId && id !== dialectId && !(dialectId in dialectJsonSchemaVersion)) {\n await get(dialectId);\n }\n\n add(schema, id, dialectId);\n }\n\n const storedSchema = getStoredSchema(id);\n const pointer = fragment[0] !== \"/\" ? getAnchorPointer(storedSchema, fragment) : fragment;\n const doc = Object.freeze({\n ...storedSchema,\n pointer: pointer,\n value: JsonPointer.get(pointer, storedSchema.schema)\n });\n\n return followReferences(doc);\n};\n\nconst followReferences = (doc) => Reference.isReference(doc.value) ? get(Reference.href(doc.value), doc) : doc;\n\nconst getAnchorPointer = (schema, fragment) => {\n if (!(fragment in schema.anchors)) {\n throw Error(`No such anchor '${encodeURI(schema.id)}#${encodeURI(fragment)}'`);\n }\n\n return schema.anchors[fragment];\n};\n\n// Utility Functions\nconst uri = (doc) => `${doc.id}#${encodeURI(doc.pointer)}`;\nconst value = (doc) => Reference.isReference(doc.value) ? Reference.value(doc.value) : doc.value;\nconst has = (key, doc) => key in value(doc);\nconst typeOf = (doc, type) => jsonTypeOf(value(doc), type);\n\nconst step = (key, doc) => {\n const storedSchema = getStoredSchema(doc.id);\n const nextDoc = Object.freeze({\n ...doc,\n pointer: JsonPointer.append(key, doc.pointer),\n value: value(doc)[key],\n validated: storedSchema.validated\n });\n return followReferences(nextDoc);\n};\n\nconst keys = (doc) => Object.keys(value(doc));\n\nconst entries = (doc) => Pact.pipeline([\n value,\n Object.keys,\n Pact.map(async (key) => [key, await step(key, doc)]),\n Pact.all\n], doc);\n\nconst map = curry((fn, doc) => Pact.pipeline([\n value,\n Pact.map(async (item, ndx) => fn(await step(ndx, doc), ndx)),\n Pact.all\n], doc));\n\nconst length = (doc) => value(doc).length;\n\nconst toSchemaDefaultOptions = {\n parentId: \"\",\n parentDialect: \"\",\n includeEmbedded: true\n};\nconst toSchema = (schemaDoc, options = {}) => {\n const fullOptions = { ...toSchemaDefaultOptions, ...options };\n\n const anchorToken = getConfig(schemaDoc.dialectId, \"anchorToken\");\n const dynamicAnchorToken = getConfig(schemaDoc.dialectId, \"dynamicAnchorToken\");\n\n const anchors = {};\n for (const anchor in schemaDoc.anchors) {\n if (anchor !== \"\" && !schemaDoc.dynamicAnchors[anchor]) {\n anchors[schemaDoc.anchors[anchor]] = anchor;\n }\n }\n\n const dynamicAnchors = {};\n for (const anchor in schemaDoc.dynamicAnchors) {\n const pointer = urlFragment(schemaDoc.dynamicAnchors[anchor]);\n dynamicAnchors[pointer] = anchor;\n }\n\n const schema = JSON.parse(Json.stringify(schemaDoc.schema, (key, value, pointer) => {\n if (Reference.isReference(value)) {\n const refValue = Reference.value(value);\n const embeddedDialect = typeof refValue.$schema === \"string\" ? resolveUrl(refValue.$schema, \"\") : schemaDoc.dialectId;\n const embeddedToken = getConfig(embeddedDialect, \"embeddedToken\");\n if (!fullOptions.includeEmbedded && embeddedToken in refValue) {\n return;\n } else {\n return Reference.value(value);\n }\n } else {\n if (pointer in anchors) {\n value = { [anchorToken]: anchors[pointer], ...value };\n }\n if (pointer in dynamicAnchors) {\n value = { [dynamicAnchorToken]: dynamicAnchors[pointer], ...value };\n }\n return value;\n }\n }));\n\n const baseToken = getConfig(schemaDoc.dialectId, \"baseToken\");\n const id = relativeUri(fullOptions.parentId, schemaDoc.id);\n const dialect = fullOptions.parentDialect === schemaDoc.dialectId ? \"\" : schemaDoc.dialectId;\n return {\n ...(id && { [baseToken]: id }),\n ...(dialect && { $schema: dialect }),\n ...schema\n };\n};\n\nconst relativeUri = (from, to) => {\n if (to.startsWith(\"file://\")) {\n const pathToSchema = from.slice(7, from.lastIndexOf(\"/\"));\n return from === \"\" ? \"\" : pathRelative(pathToSchema, to.slice(7));\n } else {\n return to;\n }\n};\n\nmodule.exports = {\n setConfig, getConfig,\n add, get, markValidated,\n uri, value, getAnchorPointer, typeOf, has, step, keys, entries, map, length,\n toSchema\n};\n","class InvalidSchemaError extends Error {\n constructor(output) {\n super(\"Invalid Schema\");\n this.name = this.constructor.name;\n this.output = output;\n }\n}\n\nmodule.exports = InvalidSchemaError;\n","const Schema = require(\"../schema\");\n\n\nconst compile = (schema) => Schema.value(schema);\nconst interpret = () => true;\n\nmodule.exports = { compile, interpret };\n","const curry = require(\"just-curry-it\");\nconst PubSub = require(\"pubsub-js\");\nconst { resolveUrl } = require(\"./common\");\nconst Instance = require(\"./instance\");\nconst Schema = require(\"./schema\");\nconst InvalidSchemaError = require(\"./invalid-schema-error\");\nconst MediaTypes = require(\"./media-types\");\nconst metaData = require(\"./keywords/meta-data\");\n\n\nconst FLAG = \"FLAG\", BASIC = \"BASIC\", DETAILED = \"DETAILED\", VERBOSE = \"VERBOSE\";\n\nlet metaOutputFormat = DETAILED;\nlet shouldMetaValidate = true;\n\nMediaTypes.addPlugin(\"application/schema+json\", {\n parse: async (response, contentTypeParameters) => [\n await response.json(),\n contentTypeParameters.schema || contentTypeParameters.profile\n ],\n matcher: (path) => path.endsWith(\".schema.json\")\n});\n\nconst validate = async (schema, value = undefined, outputFormat = undefined) => {\n const compiled = await compile(schema);\n const interpretAst = (value, outputFormat) => interpret(compiled, Instance.cons(value), outputFormat);\n\n return value === undefined ? interpretAst : interpretAst(value, outputFormat);\n};\n\nconst compile = async (schema) => {\n const ast = { metaData: {} };\n const schemaUri = await compileSchema(schema, ast);\n return { ast, schemaUri };\n};\n\nconst interpret = curry(({ ast, schemaUri }, value, outputFormat = FLAG) => {\n if (![FLAG, BASIC, DETAILED, VERBOSE].includes(outputFormat)) {\n throw Error(`The '${outputFormat}' error format is not supported`);\n }\n\n const output = [];\n const subscriptionToken = PubSub.subscribe(\"result\", outputHandler(outputFormat, output));\n interpretSchema(schemaUri, value, ast, {});\n PubSub.unsubscribe(subscriptionToken);\n\n return output[0];\n});\n\nconst outputHandler = (outputFormat, output) => {\n const resultStack = [];\n\n return (message, keywordResult) => {\n if (message === \"result\") {\n const { keyword, absoluteKeywordLocation, instanceLocation, valid } = keywordResult;\n const result = { keyword, absoluteKeywordLocation, instanceLocation, valid, errors: [] };\n resultStack.push(result);\n } else if (message === \"result.start\") {\n resultStack.push(message);\n } else if (message === \"result.end\") {\n const result = resultStack.pop();\n while (resultStack[resultStack.length - 1] !== \"result.start\") {\n const topResult = resultStack.pop();\n\n const errors = [topResult];\n if (outputFormat === BASIC) {\n errors.push(...topResult.errors);\n delete topResult.errors;\n }\n\n if (outputFormat === VERBOSE || (outputFormat !== FLAG && !topResult.valid)) {\n result.errors.unshift(...errors);\n }\n }\n resultStack[resultStack.length - 1] = result;\n\n output[0] = result;\n }\n };\n};\n\nconst setMetaOutputFormat = (format) => {\n metaOutputFormat = format;\n};\n\nconst setShouldMetaValidate = (isEnabled) => {\n shouldMetaValidate = isEnabled;\n};\n\nconst _keywords = {};\nconst getKeyword = (id) => _keywords[id] || metaData;\nconst hasKeyword = (id) => id in _keywords;\nconst addKeyword = (id, keywordHandler) => {\n _keywords[id] = {\n collectEvaluatedItems: (keywordValue, instance, ast, dynamicAnchors, isTop) => keywordHandler.interpret(keywordValue, instance, ast, dynamicAnchors, isTop) && new Set(),\n collectEvaluatedProperties: (keywordValue, instance, ast, dynamicAnchors, isTop) => keywordHandler.interpret(keywordValue, instance, ast, dynamicAnchors, isTop) && [],\n ...keywordHandler\n };\n};\n\nconst _vocabularies = {};\nconst defineVocabulary = (id, keywords) => {\n _vocabularies[id] = keywords;\n};\n\nconst metaValidators = {};\nconst compileSchema = async (schema, ast) => {\n schema = await followReferences(schema);\n\n // Vocabularies\n if (!hasKeyword(`${schema.dialectId}#validate`)) {\n const metaSchema = await Schema.get(schema.dialectId);\n\n // Check for mandatory vocabularies\n const mandatoryVocabularies = Schema.getConfig(metaSchema.id, \"mandatoryVocabularies\") || [];\n mandatoryVocabularies.forEach((vocabularyId) => {\n if (!metaSchema.vocabulary[vocabularyId]) {\n throw Error(`Vocabulary '${vocabularyId}' must be explicitly declared and required`);\n }\n });\n\n // Load vocabularies\n Object.entries(metaSchema.vocabulary)\n .forEach(([vocabularyId, isRequired]) => {\n if (vocabularyId in _vocabularies) {\n Object.entries(_vocabularies[vocabularyId])\n .forEach(([keyword, keywordHandler]) => {\n addKeyword(`${metaSchema.id}#${keyword}`, keywordHandler);\n });\n } else if (isRequired) {\n throw Error(`Missing required vocabulary: ${vocabularyId}`);\n }\n });\n }\n\n // Meta validation\n if (shouldMetaValidate && !schema.validated) {\n Schema.markValidated(schema.id);\n\n // Compile\n if (!(schema.dialectId in metaValidators)) {\n const metaSchema = await Schema.get(schema.dialectId);\n const compiledSchema = await compile(metaSchema);\n metaValidators[metaSchema.id] = interpret(compiledSchema);\n }\n\n // Interpret\n const schemaInstance = Instance.cons(schema.schema, schema.id);\n const metaResults = metaValidators[schema.dialectId](schemaInstance, metaOutputFormat);\n if (!metaResults.valid) {\n throw new InvalidSchemaError(metaResults);\n }\n }\n\n // Compile\n if (!(schema.id in ast.metaData)) {\n ast.metaData[schema.id] = {\n id: schema.id,\n dynamicAnchors: schema.dynamicAnchors,\n anchors: schema.anchors\n };\n }\n return getKeyword(`${schema.dialectId}#validate`).compile(schema, ast);\n};\n\nconst followReferences = async (doc) => {\n return Schema.typeOf(doc, \"string\") ? followReferences(await Schema.get(Schema.value(doc), doc)) : doc;\n};\n\nconst interpretSchema = (schemaUri, instance, ast, dynamicAnchors) => {\n const keywordId = getKeywordId(schemaUri, ast);\n const id = resolveUrl(schemaUri, \"\");\n return getKeyword(keywordId).interpret(schemaUri, instance, ast, { ...ast.metaData[id].dynamicAnchors, ...dynamicAnchors });\n};\n\nconst collectEvaluatedProperties = (schemaUri, instance, ast, dynamicAnchors, isTop) => {\n const keywordId = getKeywordId(schemaUri, ast);\n return getKeyword(keywordId).collectEvaluatedProperties(schemaUri, instance, ast, dynamicAnchors, isTop);\n};\n\nconst collectEvaluatedItems = (schemaUri, instance, ast, dynamicAnchors, isTop) => {\n const keywordId = getKeywordId(schemaUri, ast);\n return getKeyword(keywordId).collectEvaluatedItems(schemaUri, instance, ast, dynamicAnchors, isTop);\n};\n\nconst getKeywordId = (schemaUri, ast) => {\n if (!(schemaUri in ast)) {\n throw Error(`No schema found at ${schemaUri}`);\n }\n\n return ast[schemaUri][0];\n};\n\nconst add = (schema, url = \"\", defaultSchemaVersion = \"\") => {\n const id = Schema.add(schema, url, defaultSchemaVersion);\n delete metaValidators[id];\n};\n\nmodule.exports = {\n validate, compile, interpret,\n setMetaOutputFormat, setShouldMetaValidate, FLAG, BASIC, DETAILED, VERBOSE,\n add, getKeyword, hasKeyword, defineVocabulary,\n compileSchema, interpretSchema, collectEvaluatedProperties, collectEvaluatedItems,\n addMediaTypePlugin: MediaTypes.addPlugin\n};\n","const Pact = require(\"@hyperjump/pact\");\nconst PubSub = require(\"pubsub-js\");\nconst Core = require(\"../core\");\nconst Instance = require(\"../instance\");\nconst Schema = require(\"../schema\");\n\n\nconst compile = async (schema, ast) => {\n const url = Schema.uri(schema);\n if (!(url in ast)) {\n ast[url] = false; // Place dummy entry in ast to avoid recursive loops\n\n const schemaValue = Schema.value(schema);\n if (![\"object\", \"boolean\"].includes(typeof schemaValue)) {\n throw Error(`No schema found at '${Schema.uri(schema)}'`);\n }\n\n ast[url] = [\n `${schema.dialectId}#validate`,\n Schema.uri(schema),\n typeof schemaValue === \"boolean\" ? schemaValue : await Pact.pipeline([\n Schema.entries,\n Pact.map(([keyword, keywordSchema]) => [`${schema.dialectId}#${keyword}`, keywordSchema]),\n Pact.filter(([keywordId]) => keywordId !== `${schema.dialectId}#validate`),\n Pact.map(async ([keywordId, keywordSchema]) => {\n const keywordAst = await Core.getKeyword(keywordId).compile(keywordSchema, ast, schema);\n return [keywordId, Schema.uri(keywordSchema), keywordAst];\n }),\n Pact.all\n ], schema)\n ];\n }\n\n return url;\n};\n\nconst interpret = (uri, instance, ast, dynamicAnchors) => {\n const [keywordId, schemaUrl, nodes] = ast[uri];\n\n PubSub.publishSync(\"result.start\");\n const isValid = typeof nodes === \"boolean\" ? nodes : nodes\n .every(([keywordId, schemaUrl, keywordValue]) => {\n PubSub.publishSync(\"result.start\");\n const isValid = Core.getKeyword(keywordId).interpret(keywordValue, instance, ast, dynamicAnchors);\n\n PubSub.publishSync(\"result\", {\n keyword: keywordId,\n absoluteKeywordLocation: schemaUrl,\n instanceLocation: Instance.uri(instance),\n valid: isValid,\n ast: keywordValue\n });\n PubSub.publishSync(\"result.end\");\n return isValid;\n });\n\n PubSub.publishSync(\"result\", {\n keyword: keywordId,\n absoluteKeywordLocation: schemaUrl,\n instanceLocation: Instance.uri(instance),\n valid: isValid,\n ast: uri\n });\n PubSub.publishSync(\"result.end\");\n return isValid;\n};\n\nconst collectEvaluatedProperties = (uri, instance, ast, dynamicAnchors, isTop = false) => {\n const nodes = ast[uri][2];\n\n if (typeof nodes === \"boolean\") {\n return nodes ? [] : false;\n }\n\n return nodes\n .filter(([keywordId]) => !isTop || !keywordId.endsWith(\"#unevaluatedProperties\"))\n .reduce((acc, [keywordId, , keywordValue]) => {\n const propertyNames = acc && Core.getKeyword(keywordId).collectEvaluatedProperties(keywordValue, instance, ast, dynamicAnchors);\n return propertyNames !== false && [...acc, ...propertyNames];\n }, []);\n};\n\nconst collectEvaluatedItems = (uri, instance, ast, dynamicAnchors, isTop = false) => {\n const nodes = ast[uri][2];\n\n if (typeof nodes === \"boolean\") {\n return nodes ? new Set() : false;\n }\n\n return nodes\n .filter(([keywordId]) => !isTop || !keywordId.endsWith(\"#unevaluatedItems\"))\n .reduce((acc, [keywordId, , keywordValue]) => {\n const itemIndexes = acc !== false && Core.getKeyword(keywordId).collectEvaluatedItems(keywordValue, instance, ast, dynamicAnchors);\n return itemIndexes !== false && new Set([...acc, ...itemIndexes]);\n }, new Set());\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","const Core = require(\"./core\");\nconst Schema = require(\"./schema\");\nconst Instance = require(\"./instance\");\nconst Reference = require(\"./reference\");\nconst Keywords = require(\"./keywords\");\nconst InvalidSchemaError = require(\"./invalid-schema-error\");\n\n\nmodule.exports = { Core, Schema, Instance, Reference, Keywords, InvalidSchemaError };\n","const metaData = require(\"./meta-data\");\nconst validate = require(\"./validate\");\n\n\nmodule.exports = { metaData, validate };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n const items = await Schema.step(\"items\", parentSchema);\n const numberOfItems = Schema.typeOf(items, \"array\") ? Schema.length(items) : Number.MAX_SAFE_INTEGER;\n\n if (Schema.typeOf(schema, \"boolean\")) {\n return [numberOfItems, Schema.value(schema)];\n } else {\n return [numberOfItems, await Core.compileSchema(schema, ast)];\n }\n};\n\nconst interpret = ([numberOfItems, additionalItems], instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"array\")) {\n return true;\n }\n\n if (typeof additionalItems === \"string\") {\n return Instance.every((item, ndx) => ndx < numberOfItems || Core.interpretSchema(additionalItems, item, ast, dynamicAnchors), instance);\n } else {\n return Instance.every((item, ndx) => ndx < numberOfItems ? true : additionalItems, instance);\n }\n};\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n const items = await Schema.step(\"items\", parentSchema);\n const numberOfItems = Schema.typeOf(items, \"array\") ? Schema.length(items) : Number.MAX_SAFE_INTEGER;\n\n return [numberOfItems, await Core.compileSchema(schema, ast)];\n};\n\nconst interpret = ([numberOfItems, additionalItems], instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"array\")) {\n return true;\n }\n\n return Instance.every((item, ndx) => ndx < numberOfItems || Core.interpretSchema(additionalItems, item, ast, dynamicAnchors), instance);\n};\n\nconst collectEvaluatedItems = (keywordValue, instance, ast, dynamicAnchors) => {\n return interpret(keywordValue, instance, ast, dynamicAnchors) && new Set(Instance.map((item, ndx) => ndx, instance));\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedItems };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n const properties = await Schema.step(\"properties\", parentSchema);\n const propertyNames = Schema.typeOf(properties, \"object\") ? Schema.keys(properties) : [];\n\n const patternProperties = await Schema.step(\"patternProperties\", parentSchema);\n const propertyNamePatterns = Schema.typeOf(patternProperties, \"object\") ? Schema.keys(patternProperties).map((pattern) => new RegExp(pattern)) : [];\n\n if (Schema.typeOf(schema, \"boolean\")) {\n return [propertyNames, propertyNamePatterns, Schema.value(schema)];\n } else {\n return [propertyNames, propertyNamePatterns, await Core.compileSchema(schema, ast)];\n }\n};\n\nconst interpret = ([propertyNames, propertyNamePatterns, additionalProperties], instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"object\")) {\n return true;\n }\n\n const properties = Instance.entries(instance)\n .filter(([propertyName]) => !propertyNames.includes(propertyName) && !propertyNamePatterns.some((pattern) => pattern.test(propertyName)));\n\n if (typeof additionalProperties === \"string\") {\n return properties.every(([, property]) => Core.interpretSchema(additionalProperties, property, ast, dynamicAnchors));\n } else {\n return properties.length === 0 || additionalProperties;\n }\n};\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n const propertiesSchema = await Schema.step(\"properties\", parentSchema);\n const propertyNames = Schema.typeOf(propertiesSchema, \"object\") ? Schema.keys(propertiesSchema) : [];\n\n const patternProperties = await Schema.step(\"patternProperties\", parentSchema);\n const propertyNamePatterns = Schema.typeOf(patternProperties, \"object\") ? Schema.keys(patternProperties).map((pattern) => new RegExp(pattern)) : [];\n\n return [propertyNames, propertyNamePatterns, await Core.compileSchema(schema, ast)];\n};\n\nconst interpret = ([propertyNames, propertyNamePatterns, additionalProperties], instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"object\")) {\n return true;\n }\n\n return Instance.entries(instance)\n .filter(([propertyName]) => !propertyNames.includes(propertyName) && !propertyNamePatterns.some((pattern) => pattern.test(propertyName)))\n .every(([, property]) => Core.interpretSchema(additionalProperties, property, ast, dynamicAnchors));\n};\n\nconst collectEvaluatedProperties = (keywordValue, instance, ast, dynamicAnchors) => {\n return interpret(keywordValue, instance, ast, dynamicAnchors) && [new RegExp(\"\")];\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties };\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\n\n\nconst compile = (schema, ast) => Pact.pipeline([\n Schema.map(async (itemSchema) => Core.compileSchema(await itemSchema, ast)),\n Pact.all\n], schema);\n\nconst interpret = (allOf, instance, ast, dynamicAnchors) => {\n return allOf.every((schemaUrl) => Core.interpretSchema(schemaUrl, instance, ast, dynamicAnchors));\n};\n\nconst collectEvaluatedProperties = (allOf, instance, ast, dynamicAnchors) => {\n return allOf.reduce((acc, schemaUrl) => {\n const propertyNames = acc && Core.collectEvaluatedProperties(schemaUrl, instance, ast, dynamicAnchors);\n return propertyNames !== false && [...acc, ...propertyNames];\n }, []);\n};\n\nconst collectEvaluatedItems = (allOf, instance, ast, dynamicAnchors) => {\n return allOf.reduce((acc, schemaUrl) => {\n const itemIndexes = acc !== false && Core.collectEvaluatedItems(schemaUrl, instance, ast, dynamicAnchors);\n return itemIndexes !== false && new Set([...acc, ...itemIndexes]);\n }, new Set());\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\n\n\nconst compile = (schema, ast) => Pact.pipeline([\n Schema.map(async (itemSchema) => Core.compileSchema(await itemSchema, ast)),\n Pact.all\n], schema);\n\nconst interpret = (anyOf, instance, ast, dynamicAnchors) => {\n const matches = anyOf.filter((schemaUrl) => Core.interpretSchema(schemaUrl, instance, ast, dynamicAnchors));\n return matches.length > 0;\n};\n\nconst collectEvaluatedProperties = (anyOf, instance, ast, dynamicAnchors) => {\n return anyOf.reduce((acc, schemaUrl) => {\n const propertyNames = Core.collectEvaluatedProperties(schemaUrl, instance, ast, dynamicAnchors);\n return propertyNames !== false ? [...acc || [], ...propertyNames] : acc;\n }, false);\n};\n\nconst collectEvaluatedItems = (anyOf, instance, ast, dynamicAnchors) => {\n return anyOf.reduce((acc, schemaUrl) => {\n const itemIndexes = Core.collectEvaluatedItems(schemaUrl, instance, ast, dynamicAnchors);\n return itemIndexes !== false ? new Set([...acc || [], ...itemIndexes]) : acc;\n }, false);\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","'use strict';\n\nvar keyList = Object.keys;\nvar native_stringify = JSON.stringify;\n\nfunction stringify(val, allowUndefined) {\n var i, max, str, keys, key, propVal, tipeof;\n\n tipeof = typeof val;\n\n if (tipeof === 'string') return native_stringify(val);\n if (val === true) return 'true';\n if (val === false) return 'false';\n if (val === null) return 'null';\n\n if (val instanceof Array) {\n str = '[';\n max = val.length - 1;\n for(i = 0; i < max; i++)\n str += stringify(val[i], false) + ',';\n if (max > -1) {\n str += stringify(val[i], false);\n }\n\n return str + ']';\n }\n\n if (val instanceof Object) {\n if (typeof val.toJSON === 'function')\n return stringify(val.toJSON(), allowUndefined);\n\n // only object is left\n keys = keyList(val).sort();\n max = keys.length;\n str = '';\n i = 0;\n while (i < max) {\n key = keys[i];\n propVal = stringify(val[key], true);\n if (propVal !== undefined) {\n if (i && str !== '') { //if the string is empty, don't add comma to avoid the json to become invalid.\n str += ',';\n }\n str += native_stringify(key) + ':' + propVal;\n }\n i++;\n }\n return '{' + str + '}';\n }\n\n switch (tipeof) {\n case 'function':\n case 'undefined':\n return allowUndefined ? undefined : null;\n default:\n return isFinite(val) ? val : null;\n }\n}\n\nmodule.exports = function(obj) { return '' + stringify(obj, false); };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst jsonStringify = require(\"fastest-stable-stringify\");\n\n\nconst compile = (schema) => jsonStringify(Schema.value(schema));\nconst interpret = (const_, instance) => jsonStringify(Instance.value(instance)) === const_;\n\nmodule.exports = { compile, interpret };\n","const { Core, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema, ast) => Core.compileSchema(schema, ast);\n\nconst interpret = (contains, instance, ast, dynamicAnchors) => {\n return !Instance.typeOf(instance, \"array\") || Instance.some((item) => Core.interpretSchema(contains, item, ast, dynamicAnchors), instance);\n};\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n const contains = await Core.compileSchema(schema, ast);\n\n const minContainsSchema = await Schema.step(\"minContains\", parentSchema);\n const minContains = Schema.typeOf(minContainsSchema, \"number\") ? Schema.value(minContainsSchema) : 1;\n\n const maxContainsSchema = await Schema.step(\"maxContains\", parentSchema);\n const maxContains = Schema.typeOf(maxContainsSchema, \"number\") ? Schema.value(maxContainsSchema) : Number.MAX_SAFE_INTEGER;\n\n return { contains, minContains, maxContains };\n};\n\nconst interpret = ({ contains, minContains, maxContains }, instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"array\")) {\n return true;\n }\n\n const matches = Instance.reduce((matches, item) => {\n return Core.interpretSchema(contains, item, ast, dynamicAnchors) ? matches + 1 : matches;\n }, 0, instance);\n return matches >= minContains && matches <= maxContains;\n};\n\nconst collectEvaluatedItems = (keywordValue, instance, ast, dynamicAnchors) => {\n return interpret(keywordValue, instance, ast, dynamicAnchors) && Instance.reduce((matchedIndexes, item, itemIndex) => {\n return Core.interpretSchema(keywordValue.contains, item, ast, dynamicAnchors) ? matchedIndexes.add(itemIndex) : matchedIndexes;\n }, new Set(), instance);\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedItems };\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\n\n\nconst compile = async (schema, ast) => {\n await Pact.pipeline([\n Schema.entries,\n Pact.map(([, definitionSchema]) => Core.compileSchema(definitionSchema, ast)),\n Pact.all\n ], schema);\n};\n\nconst interpret = () => true;\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\n\n\nconst compile = (schema, ast) => Pact.pipeline([\n Schema.entries,\n Pact.map(async ([key, dependency]) => {\n return [key, Schema.typeOf(dependency, \"array\") ? Schema.value(dependency) : await Core.compileSchema(dependency, ast)];\n }),\n Pact.all\n], schema);\n\nconst interpret = (dependencies, instance, ast, dynamicAnchors) => {\n const value = Instance.value(instance);\n\n return !Instance.typeOf(instance, \"object\") || dependencies.every(([propertyName, dependency]) => {\n if (!(propertyName in value)) {\n return true;\n }\n\n if (Array.isArray(dependency)) {\n return dependency.every((key) => key in value);\n } else {\n return Core.interpretSchema(dependency, instance, ast, dynamicAnchors);\n }\n });\n};\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\n\n\nconst compile = (schema) => Pact.pipeline([\n Schema.entries,\n Pact.map(([key, dependentRequired]) => [key, Schema.value(dependentRequired)]),\n Pact.all\n], schema);\n\nconst interpret = (dependentRequired, instance) => {\n const value = Instance.value(instance);\n\n return !Instance.typeOf(instance, \"object\") || dependentRequired.every(([propertyName, required]) => {\n return !(propertyName in value) || required.every((key) => key in value);\n });\n};\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\n\n\nconst compile = (schema, ast) => Pact.pipeline([\n Schema.entries,\n Pact.map(async ([key, dependentSchema]) => [key, await Core.compileSchema(dependentSchema, ast)]),\n Pact.all\n], schema);\n\nconst interpret = (dependentSchemas, instance, ast, dynamicAnchors) => {\n const value = Instance.value(instance);\n\n return !Instance.typeOf(instance, \"object\") || dependentSchemas.every(([propertyName, dependentSchema]) => {\n return !(propertyName in value) || Core.interpretSchema(dependentSchema, instance, ast, dynamicAnchors);\n });\n};\n\nconst collectEvaluatedProperties = (dependentSchemas, instance, ast, dynamicAnchors) => {\n return dependentSchemas.reduce((acc, [propertyName, dependentSchema]) => {\n if (!acc || !Instance.has(propertyName, instance)) {\n return acc;\n }\n\n const propertyNames = Core.collectEvaluatedProperties(dependentSchema, instance, ast, dynamicAnchors);\n return propertyNames !== false && acc.concat(propertyNames);\n }, []);\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst jsonStringify = require(\"fastest-stable-stringify\");\n\n\nconst compile = (schema) => Schema.value(schema).map(jsonStringify);\nconst interpret = (enum_, instance) => enum_.some((enumValue) => jsonStringify(Instance.value(instance)) === enumValue);\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema) => Schema.value(schema);\nconst interpret = (exclusiveMaximum, instance) => !Instance.typeOf(instance, \"number\") || Instance.value(instance) < exclusiveMaximum;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema) => Schema.value(schema);\nconst interpret = (exclusiveMinimum, instance) => !Instance.typeOf(instance, \"number\") || Instance.value(instance) > exclusiveMinimum;\n\nmodule.exports = { compile, interpret };\n","const { Core } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema, ast) => Core.compileSchema(schema, ast);\n\nconst interpret = (ifSchema, instance, ast, dynamicAnchors) => {\n Core.interpretSchema(ifSchema, instance, ast, dynamicAnchors);\n return true;\n};\n\nconst collectEvaluatedProperties = (ifSchema, instance, ast, dynamicAnchors) => {\n return Core.collectEvaluatedProperties(ifSchema, instance, ast, dynamicAnchors) || [];\n};\n\nconst collectEvaluatedItems = (ifSchema, instance, ast, dynamicAnchors) => {\n return Core.collectEvaluatedItems(ifSchema, instance, ast, dynamicAnchors) || new Set();\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n if (Schema.has(\"if\", parentSchema)) {\n const ifSchema = await Schema.step(\"if\", parentSchema);\n return [await Core.compileSchema(ifSchema, ast), await Core.compileSchema(schema, ast)];\n } else {\n return [];\n }\n};\n\nconst interpret = ([guard, block], instance, ast, dynamicAnchors) => {\n return guard === undefined || !quietInterpretSchema(guard, instance, ast, dynamicAnchors) || Core.interpretSchema(block, instance, ast, dynamicAnchors);\n};\n\n// Interpret a schema without events being emitted\nconst quietInterpretSchema = (uri, instance, ast, dynamicAnchors) => {\n const nodes = ast[uri][2];\n\n return typeof nodes === \"boolean\" ? nodes : nodes\n .every(([keywordId, , keywordValue]) => {\n return Core.getKeyword(keywordId).interpret(keywordValue, instance, ast, dynamicAnchors);\n });\n};\n\nconst collectEvaluatedProperties = ([guard, block], instance, ast, dynamicAnchors) => {\n if (guard === undefined || !quietInterpretSchema(guard, instance, ast, dynamicAnchors)) {\n return [];\n }\n\n return Core.collectEvaluatedProperties(block, instance, ast, dynamicAnchors);\n};\n\nconst collectEvaluatedItems = ([guard, block], instance, ast, dynamicAnchors) => {\n if (guard === undefined || !quietInterpretSchema(guard, instance, ast, dynamicAnchors)) {\n return new Set();\n }\n\n return Core.collectEvaluatedItems(block, instance, ast, dynamicAnchors);\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n if (Schema.has(\"if\", parentSchema)) {\n const ifSchema = await Schema.step(\"if\", parentSchema);\n return [await Core.compileSchema(ifSchema, ast), await Core.compileSchema(schema, ast)];\n } else {\n return [];\n }\n};\n\nconst interpret = ([guard, block], instance, ast, dynamicAnchors) => {\n return guard === undefined || quietInterpretSchema(guard, instance, ast, dynamicAnchors) || Core.interpretSchema(block, instance, ast, dynamicAnchors);\n};\n\n// Interpret a schema without events being emitted\nconst quietInterpretSchema = (uri, instance, ast, dynamicAnchors) => {\n const nodes = ast[uri][2];\n\n return typeof nodes === \"boolean\" ? nodes : nodes\n .every(([keywordId, , keywordValue]) => {\n return Core.getKeyword(keywordId).interpret(keywordValue, instance, ast, dynamicAnchors);\n });\n};\n\nconst collectEvaluatedProperties = ([guard, block], instance, ast, dynamicAnchors) => {\n if (guard === undefined || quietInterpretSchema(guard, instance, ast, dynamicAnchors)) {\n return [];\n }\n\n return Core.collectEvaluatedProperties(block, instance, ast, dynamicAnchors);\n};\n\nconst collectEvaluatedItems = ([guard, block], instance, ast, dynamicAnchors) => {\n if (guard === undefined || quietInterpretSchema(guard, instance, ast, dynamicAnchors)) {\n return new Set();\n }\n\n return Core.collectEvaluatedItems(block, instance, ast, dynamicAnchors);\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast) => {\n if (Schema.typeOf(schema, \"array\")) {\n const tupleItems = await Schema.map((itemSchema) => Core.compileSchema(itemSchema, ast), schema);\n return Promise.all(tupleItems);\n } else {\n return Core.compileSchema(schema, ast);\n }\n};\n\nconst interpret = (items, instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"array\")) {\n return true;\n }\n\n if (typeof items === \"string\") {\n return Instance.every((itemValue) => Core.interpretSchema(items, itemValue, ast, dynamicAnchors), instance);\n } else {\n return Instance.every((item, ndx) => !(ndx in items) || Core.interpretSchema(items[ndx], item, ast, dynamicAnchors), instance);\n }\n};\n\nconst collectEvaluatedItems = (items, instance, ast, dynamicAnchors) => {\n return interpret(items, instance, ast, dynamicAnchors) && (typeof items === \"string\"\n ? new Set(Instance.map((item, itemIndex) => itemIndex, instance))\n : new Set(items.map((item, itemIndex) => itemIndex)));\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedItems };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n const items = await Schema.step(\"prefixItems\", parentSchema);\n const numberOfPrefixItems = Schema.typeOf(items, \"array\") ? Schema.length(items) : 0;\n\n return [numberOfPrefixItems, await Core.compileSchema(schema, ast)];\n};\n\nconst interpret = ([numberOfPrefixItems, items], instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"array\")) {\n return true;\n }\n\n return Instance.every((item, ndx) => ndx < numberOfPrefixItems || Core.interpretSchema(items, item, ast, dynamicAnchors), instance);\n};\n\nconst collectEvaluatedItems = (keywordValue, instance, ast, dynamicAnchors) => {\n return interpret(keywordValue, instance, ast, dynamicAnchors) && new Set(Instance.map((item, ndx) => ndx, instance));\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedItems };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\nconst interpret = (maxItems, instance) => !Instance.typeOf(instance, \"array\") || Instance.length(instance) <= maxItems;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\nconst interpret = (maxLength, instance) => !Instance.typeOf(instance, \"string\") || [...Instance.value(instance)].length <= maxLength;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\nconst interpret = (maxProperties, instance) => !Instance.typeOf(instance, \"object\") || Instance.keys(instance).length <= maxProperties;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n const exclusiveMaximum = await Schema.step(\"exclusiveMaximum\", parentSchema);\n const isExclusive = Schema.value(exclusiveMaximum);\n\n return [Schema.value(schema), isExclusive];\n};\n\nconst interpret = ([maximum, isExclusive], instance) => {\n if (!Instance.typeOf(instance, \"number\")) {\n return true;\n }\n\n const value = Instance.value(instance);\n return isExclusive ? value < maximum : value <= maximum;\n};\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema) => Schema.value(schema);\nconst interpret = (maximum, instance) => !Instance.typeOf(instance, \"number\") || Instance.value(instance) <= maximum;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\nconst interpret = (minItems, instance) => !Instance.typeOf(instance, \"array\") || Instance.length(instance) >= minItems;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\nconst interpret = (minLength, instance) => !Instance.typeOf(instance, \"string\") || [...Instance.value(instance)].length >= minLength;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\nconst interpret = (minProperties, instance) => !Instance.typeOf(instance, \"object\") || Instance.keys(instance).length >= minProperties;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n const exclusiveMinimum = await Schema.step(\"exclusiveMinimum\", parentSchema);\n const isExclusive = Schema.value(exclusiveMinimum);\n\n return [Schema.value(schema), isExclusive];\n};\n\nconst interpret = ([minimum, isExclusive], instance) => {\n if (!Instance.typeOf(instance, \"number\")) {\n return true;\n }\n\n const value = Instance.value(instance);\n return isExclusive ? value > minimum : value >= minimum;\n};\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema) => Schema.value(schema);\nconst interpret = (minimum, instance) => !Instance.typeOf(instance, \"number\") || Instance.value(instance) >= minimum;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\n\nconst interpret = (multipleOf, instance) => {\n if (!Instance.typeOf(instance, \"number\")) {\n return true;\n }\n\n const remainder = Instance.value(instance) % multipleOf;\n return numberEqual(0, remainder) || numberEqual(multipleOf, remainder);\n};\n\nconst numberEqual = (a, b) => Math.abs(a - b) < 1.19209290e-7;\n\nmodule.exports = { compile, interpret };\n","const { Core } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = Core.compileSchema;\nconst interpret = (not, instance, ast, dynamicAnchors) => !Core.interpretSchema(not, instance, ast, dynamicAnchors);\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast) => {\n const oneOf = await Schema.map((itemSchema) => Core.compileSchema(itemSchema, ast), schema);\n return Promise.all(oneOf);\n};\n\nconst interpret = (oneOf, instance, ast, dynamicAnchors) => {\n let validCount = 0;\n for (const schemaUrl of oneOf) {\n if (Core.interpretSchema(schemaUrl, instance, ast, dynamicAnchors)) {\n validCount++;\n }\n\n if (validCount > 1) {\n break;\n }\n }\n\n return validCount === 1;\n};\n\nconst collectEvaluatedProperties = (oneOf, instance, ast, dynamicAnchors) => {\n let validCount = 0;\n return oneOf.reduce((acc, schemaUrl) => {\n if (validCount > 1) {\n return false;\n }\n\n const propertyNames = Core.collectEvaluatedProperties(schemaUrl, instance, ast, dynamicAnchors);\n return propertyNames ? validCount++ === 0 && propertyNames : acc;\n }, false);\n};\n\nconst collectEvaluatedItems = (oneOf, instance, ast, dynamicAnchors) => {\n let validCount = 0;\n return oneOf.reduce((acc, schemaUrl) => {\n if (validCount > 1) {\n return false;\n }\n\n const itemIndexes = Core.collectEvaluatedItems(schemaUrl, instance, ast, dynamicAnchors);\n return itemIndexes ? validCount++ === 0 && itemIndexes : acc;\n }, false);\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => new RegExp(Schema.value(schema), \"u\");\nconst interpret = (pattern, instance) => !Instance.typeOf(instance, \"string\") || pattern.test(Instance.value(instance));\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\n\n\nconst compile = (schema, ast) => Pact.pipeline([\n Schema.entries,\n Pact.map(async ([pattern, propertySchema]) => [new RegExp(pattern, \"u\"), await Core.compileSchema(propertySchema, ast)]),\n Pact.all\n], schema);\n\nconst interpret = (patternProperties, instance, ast, dynamicAnchors) => {\n return !Instance.typeOf(instance, \"object\") || patternProperties.every(([pattern, schemaUrl]) => {\n return Instance.entries(instance)\n .filter(([propertyName]) => pattern.test(propertyName))\n .every(([, propertyValue]) => Core.interpretSchema(schemaUrl, propertyValue, ast, dynamicAnchors));\n });\n};\n\nconst collectEvaluatedProperties = (patternProperties, instance, ast, dynamicAnchors) => {\n return interpret(patternProperties, instance, ast, dynamicAnchors) && patternProperties.map(([pattern]) => pattern);\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties };\n","const isObject = (value) => typeof value === \"object\" && !Array.isArray(value) && value !== null;\nconst escapeRegExp = (string) => string.replace(/[.*+\\-?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n\nconst splitUrl = (url) => {\n const indexOfHash = url.indexOf(\"#\");\n const ndx = indexOfHash === -1 ? url.length : indexOfHash;\n const urlReference = url.slice(0, ndx);\n const urlFragment = url.slice(ndx + 1);\n\n return [decodeURI(urlReference), decodeURI(urlFragment)];\n};\n\nmodule.exports = { isObject, escapeRegExp, splitUrl };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\nconst { escapeRegExp } = require(\"../common\");\n\n\nconst compile = (schema, ast) => Pact.pipeline([\n Schema.entries,\n Pact.reduce(async (acc, [propertyName, propertySchema]) => {\n acc[propertyName] = await Core.compileSchema(propertySchema, ast);\n return acc;\n }, Object.create(null))\n], schema);\n\nconst interpret = (properties, instance, ast, dynamicAnchors) => {\n return !Instance.typeOf(instance, \"object\") || Instance.entries(instance)\n .filter(([propertyName]) => propertyName in properties)\n .every(([propertyName, schemaUrl]) => Core.interpretSchema(properties[propertyName], schemaUrl, ast, dynamicAnchors));\n};\n\nconst collectEvaluatedProperties = (properties, instance, ast, dynamicAnchors) => {\n return interpret(properties, instance, ast, dynamicAnchors) && Object.keys(properties)\n .map((propertyName) => new RegExp(`^${escapeRegExp(propertyName)}$`));\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties };\n","const { Core, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema, ast) => Core.compileSchema(schema, ast);\n\nconst interpret = (propertyNames, instance, ast, dynamicAnchors) => {\n return !Instance.typeOf(instance, \"object\") || Instance.keys(instance)\n .every((key) => Core.interpretSchema(propertyNames, Instance.cons(key), ast, dynamicAnchors));\n};\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst { splitUrl } = require(\"../common\");\n\n\nconst compile = async (dynamicRef, ast) => {\n const [, fragment] = splitUrl(Schema.value(dynamicRef));\n const referencedSchema = await Schema.get(Schema.value(dynamicRef), dynamicRef);\n await Core.compileSchema(referencedSchema, ast);\n return [referencedSchema.id, fragment];\n};\n\nconst interpret = ([id, fragment], instance, ast, dynamicAnchors) => {\n if (fragment in ast.metaData[id].dynamicAnchors) {\n return Core.interpretSchema(dynamicAnchors[fragment], instance, ast, dynamicAnchors);\n } else {\n const pointer = Schema.getAnchorPointer(ast.metaData[id], fragment);\n return Core.interpretSchema(`${id}#${encodeURI(pointer)}`, instance, ast, dynamicAnchors);\n }\n};\n\nconst collectEvaluatedProperties = Core.collectEvaluatedProperties;\nconst collectEvaluatedItems = Core.collectEvaluatedItems;\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (ref, ast) => {\n const referencedSchema = await Schema.get(Schema.value(ref), ref);\n return Core.compileSchema(referencedSchema, ast);\n};\n\nconst interpret = Core.interpretSchema;\nconst collectEvaluatedProperties = Core.collectEvaluatedProperties;\nconst collectEvaluatedItems = Core.collectEvaluatedItems;\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\n\nconst interpret = (required, instance) => {\n return !Instance.typeOf(instance, \"object\") || required.every((propertyName) => Object.prototype.hasOwnProperty.call(Instance.value(instance), propertyName));\n};\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\n\n\nconst compile = (schema, ast) => {\n return Pact.pipeline([\n Schema.map((itemSchema) => Core.compileSchema(itemSchema, ast)),\n Pact.all\n ], schema);\n};\n\nconst interpret = (items, instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"array\")) {\n return true;\n }\n\n return Instance.every((item, ndx) => !(ndx in items) || Core.interpretSchema(items[ndx], item, ast, dynamicAnchors), instance);\n};\n\nconst collectEvaluatedItems = (items, instance, ast, dynamicAnchors) => {\n return interpret(items, instance, ast, dynamicAnchors) && new Set(items.map((item, ndx) => ndx));\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedItems };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\nconst interpret = (type, instance) => typeof type === \"string\" ? Instance.typeOf(instance, type) : type.some(Instance.typeOf(instance));\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n return [Schema.uri(parentSchema), await Core.compileSchema(schema, ast)];\n};\n\nconst interpret = ([schemaUrl, unevaluatedItems], instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"array\")) {\n return true;\n }\n\n const itemIndexes = Core.collectEvaluatedItems(schemaUrl, instance, ast, dynamicAnchors, true);\n return itemIndexes === false || Instance.every((item, itemIndex) => {\n return itemIndexes.has(itemIndex) || Core.interpretSchema(unevaluatedItems, Instance.step(itemIndex, instance), ast, dynamicAnchors);\n }, instance);\n};\n\nconst collectEvaluatedItems = (keywordValue, instance, ast, dynamicAnchors) => {\n return interpret(keywordValue, instance, ast, dynamicAnchors) && new Set(Instance.map((item, ndx) => ndx, instance));\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedItems };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n return [Schema.uri(parentSchema), await Core.compileSchema(schema, ast)];\n};\n\nconst interpret = ([schemaUrl, unevaluatedProperties], instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"object\")) {\n return true;\n }\n\n const evaluatedPropertyNames = Core.collectEvaluatedProperties(schemaUrl, instance, ast, dynamicAnchors, true);\n\n return !evaluatedPropertyNames || Instance.entries(instance)\n .filter(([propertyName]) => !evaluatedPropertyNames.some((pattern) => propertyName.match(pattern)))\n .every(([, property]) => Core.interpretSchema(unevaluatedProperties, property, ast, dynamicAnchors));\n};\n\nconst collectEvaluatedProperties = (keywordValue, instance, ast, dynamicAnchors) =>{\n return interpret(keywordValue, instance, ast, dynamicAnchors) && [new RegExp(\"\")];\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst jsonStringify = require(\"fastest-stable-stringify\");\n\n\nconst compile = (schema) => Schema.value(schema);\n\nconst interpret = (uniqueItems, instance) => {\n if (!Instance.typeOf(instance, \"array\") || uniqueItems === false) {\n return true;\n }\n\n const normalizedItems = Instance.map((item) => jsonStringify(Instance.value(item)), instance);\n return new Set(normalizedItems).size === normalizedItems.length;\n};\n\nmodule.exports = { compile, interpret };\n","const { Keywords } = require(\"@hyperjump/json-schema-core\");\n\n\nmodule.exports = {\n additionalItems: require(\"./additionalItems\"),\n additionalItems6: require(\"./additionalItems6\"),\n additionalProperties: require(\"./additionalProperties\"),\n additionalProperties6: require(\"./additionalProperties6\"),\n allOf: require(\"./allOf\"),\n anyOf: require(\"./anyOf\"),\n const: require(\"./const\"),\n contains: require(\"./contains\"),\n containsMinContainsMaxContains: require(\"./contains-minContains-maxContains\"),\n definitions: require(\"./definitions\"),\n dependencies: require(\"./dependencies\"),\n dependentRequired: require(\"./dependentRequired\"),\n dependentSchemas: require(\"./dependentSchemas\"),\n enum: require(\"./enum\"),\n exclusiveMaximum: require(\"./exclusiveMaximum\"),\n exclusiveMinimum: require(\"./exclusiveMinimum\"),\n if: require(\"./if\"),\n then: require(\"./then\"),\n else: require(\"./else\"),\n items: require(\"./items\"),\n items202012: require(\"./items202012\"),\n maxItems: require(\"./maxItems\"),\n maxLength: require(\"./maxLength\"),\n maxProperties: require(\"./maxProperties\"),\n maximumExclusiveMaximum: require(\"./maximum-exclusiveMaximum\"),\n maximum: require(\"./maximum\"),\n metaData: Keywords.metaData,\n minItems: require(\"./minItems\"),\n minLength: require(\"./minLength\"),\n minProperties: require(\"./minProperties\"),\n minimumExclusiveMinimum: require(\"./minimum-exclusiveMinimum\"),\n minimum: require(\"./minimum\"),\n multipleOf: require(\"./multipleOf\"),\n not: require(\"./not\"),\n oneOf: require(\"./oneOf\"),\n pattern: require(\"./pattern\"),\n patternProperties: require(\"./patternProperties\"),\n properties: require(\"./properties\"),\n propertyNames: require(\"./propertyNames\"),\n dynamicRef: require(\"./dynamicRef\"),\n ref: require(\"./ref\"),\n required: require(\"./required\"),\n tupleItems: require(\"./tupleItems\"),\n type: require(\"./type\"),\n unevaluatedItems: require(\"./unevaluatedItems\"),\n unevaluatedProperties: require(\"./unevaluatedProperties\"),\n uniqueItems: require(\"./uniqueItems\"),\n validate: Keywords.validate\n};\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst keywords = require(\"./keywords\");\nconst metaSchema = require(\"../meta/draft-04/schema\");\n\n\n// JSON Schema Draft-04\nconst jsonSchemaVersion = \"http://json-schema.org/draft-04/schema\";\n\nSchema.setConfig(jsonSchemaVersion, \"baseToken\", \"id\");\nSchema.setConfig(jsonSchemaVersion, \"embeddedToken\", \"id\");\nSchema.setConfig(jsonSchemaVersion, \"anchorToken\", \"id\");\nSchema.setConfig(jsonSchemaVersion, \"jrefToken\", \"$ref\");\n\nSchema.add(JSON.parse(metaSchema));\nCore.defineVocabulary(jsonSchemaVersion, {\n \"validate\": keywords.validate,\n \"additionalItems\": keywords.additionalItems,\n \"additionalProperties\": keywords.additionalProperties,\n \"allOf\": keywords.allOf,\n \"anyOf\": keywords.anyOf,\n \"default\": keywords.metaData,\n \"definitions\": keywords.definitions,\n \"dependencies\": keywords.dependencies,\n \"description\": keywords.metaData,\n \"enum\": keywords.enum,\n \"format\": keywords.metaData,\n \"items\": keywords.items,\n \"maxItems\": keywords.maxItems,\n \"maxLength\": keywords.maxLength,\n \"maxProperties\": keywords.maxProperties,\n \"maximum\": keywords.maximumExclusiveMaximum,\n \"minItems\": keywords.minItems,\n \"minLength\": keywords.minLength,\n \"minProperties\": keywords.minProperties,\n \"minimum\": keywords.minimumExclusiveMinimum,\n \"multipleOf\": keywords.multipleOf,\n \"not\": keywords.not,\n \"oneOf\": keywords.oneOf,\n \"pattern\": keywords.pattern,\n \"patternProperties\": keywords.patternProperties,\n \"properties\": keywords.properties,\n \"required\": keywords.required,\n \"title\": keywords.metaData,\n \"type\": keywords.type,\n \"uniqueItems\": keywords.uniqueItems\n});\n","module.exports = `{\n \"id\": \"http://json-schema.org/draft-04/schema#\",\n \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n \"description\": \"Core schema meta-schema\",\n \"definitions\": {\n \"schemaArray\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"items\": { \"$ref\": \"#\" }\n },\n \"positiveInteger\": {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n \"positiveIntegerDefault0\": {\n \"allOf\": [ { \"$ref\": \"#/definitions/positiveInteger\" }, { \"default\": 0 } ]\n },\n \"simpleTypes\": {\n \"enum\": [ \"array\", \"boolean\", \"integer\", \"null\", \"number\", \"object\", \"string\" ]\n },\n \"stringArray\": {\n \"type\": \"array\",\n \"items\": { \"type\": \"string\" },\n \"minItems\": 1,\n \"uniqueItems\": true\n }\n },\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"$schema\": {\n \"type\": \"string\"\n },\n \"title\": {\n \"type\": \"string\"\n },\n \"description\": {\n \"type\": \"string\"\n },\n \"default\": {},\n \"multipleOf\": {\n \"type\": \"number\",\n \"minimum\": 0,\n \"exclusiveMinimum\": true\n },\n \"maximum\": {\n \"type\": \"number\"\n },\n \"exclusiveMaximum\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"minimum\": {\n \"type\": \"number\"\n },\n \"exclusiveMinimum\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"maxLength\": { \"$ref\": \"#/definitions/positiveInteger\" },\n \"minLength\": { \"$ref\": \"#/definitions/positiveIntegerDefault0\" },\n \"pattern\": {\n \"type\": \"string\",\n \"format\": \"regex\"\n },\n \"additionalItems\": {\n \"anyOf\": [\n { \"type\": \"boolean\" },\n { \"$ref\": \"#\" }\n ],\n \"default\": {}\n },\n \"items\": {\n \"anyOf\": [\n { \"$ref\": \"#\" },\n { \"$ref\": \"#/definitions/schemaArray\" }\n ],\n \"default\": {}\n },\n \"maxItems\": { \"$ref\": \"#/definitions/positiveInteger\" },\n \"minItems\": { \"$ref\": \"#/definitions/positiveIntegerDefault0\" },\n \"uniqueItems\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"maxProperties\": { \"$ref\": \"#/definitions/positiveInteger\" },\n \"minProperties\": { \"$ref\": \"#/definitions/positiveIntegerDefault0\" },\n \"required\": { \"$ref\": \"#/definitions/stringArray\" },\n \"additionalProperties\": {\n \"anyOf\": [\n { \"type\": \"boolean\" },\n { \"$ref\": \"#\" }\n ],\n \"default\": {}\n },\n \"definitions\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"default\": {}\n },\n \"properties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"default\": {}\n },\n \"patternProperties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"default\": {}\n },\n \"dependencies\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"anyOf\": [\n { \"$ref\": \"#\" },\n { \"$ref\": \"#/definitions/stringArray\" }\n ]\n }\n },\n \"enum\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"uniqueItems\": true\n },\n \"type\": {\n \"anyOf\": [\n { \"$ref\": \"#/definitions/simpleTypes\" },\n {\n \"type\": \"array\",\n \"items\": { \"$ref\": \"#/definitions/simpleTypes\" },\n \"minItems\": 1,\n \"uniqueItems\": true\n }\n ]\n },\n \"format\": { \"type\": \"string\" },\n \"allOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"anyOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"oneOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"not\": { \"$ref\": \"#\" }\n },\n \"dependencies\": {\n \"exclusiveMaximum\": [ \"maximum\" ],\n \"exclusiveMinimum\": [ \"minimum\" ]\n },\n \"default\": {}\n}`;\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst keywords = require(\"./keywords\");\nconst metaSchema = require(\"../meta/draft-06/schema\");\n\n\nconst jsonSchemaVersion = \"http://json-schema.org/draft-06/schema\";\n\nSchema.setConfig(jsonSchemaVersion, \"baseToken\", \"$id\");\nSchema.setConfig(jsonSchemaVersion, \"embeddedToken\", \"$id\");\nSchema.setConfig(jsonSchemaVersion, \"anchorToken\", \"$id\");\nSchema.setConfig(jsonSchemaVersion, \"jrefToken\", \"$ref\");\n\nSchema.add(JSON.parse(metaSchema));\nCore.defineVocabulary(jsonSchemaVersion, {\n \"validate\": keywords.validate,\n \"additionalItems\": keywords.additionalItems6,\n \"additionalProperties\": keywords.additionalProperties6,\n \"allOf\": keywords.allOf,\n \"anyOf\": keywords.anyOf,\n \"const\": keywords.const,\n \"contains\": keywords.contains,\n \"default\": keywords.metaData,\n \"definitions\": keywords.definitions,\n \"dependencies\": keywords.dependencies,\n \"description\": keywords.metaData,\n \"enum\": keywords.enum,\n \"examples\": keywords.metaData,\n \"exclusiveMaximum\": keywords.exclusiveMaximum,\n \"exclusiveMinimum\": keywords.exclusiveMinimum,\n \"format\": keywords.metaData,\n \"items\": keywords.items,\n \"maxItems\": keywords.maxItems,\n \"maxLength\": keywords.maxLength,\n \"maxProperties\": keywords.maxProperties,\n \"maximum\": keywords.maximum,\n \"minItems\": keywords.minItems,\n \"minLength\": keywords.minLength,\n \"minProperties\": keywords.minProperties,\n \"minimum\": keywords.minimum,\n \"multipleOf\": keywords.multipleOf,\n \"not\": keywords.not,\n \"oneOf\": keywords.oneOf,\n \"pattern\": keywords.pattern,\n \"patternProperties\": keywords.patternProperties,\n \"properties\": keywords.properties,\n \"propertyNames\": keywords.propertyNames,\n \"required\": keywords.required,\n \"title\": keywords.metaData,\n \"type\": keywords.type,\n \"uniqueItems\": keywords.uniqueItems\n});\n","module.exports = `{\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\n \"$id\": \"http://json-schema.org/draft-06/schema#\",\n \"title\": \"Core schema meta-schema\",\n \"definitions\": {\n \"schemaArray\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"items\": { \"$ref\": \"#\" }\n },\n \"nonNegativeInteger\": {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n \"nonNegativeIntegerDefault0\": {\n \"allOf\": [\n { \"$ref\": \"#/definitions/nonNegativeInteger\" },\n { \"default\": 0 }\n ]\n },\n \"simpleTypes\": {\n \"enum\": [\n \"array\",\n \"boolean\",\n \"integer\",\n \"null\",\n \"number\",\n \"object\",\n \"string\"\n ]\n },\n \"stringArray\": {\n \"type\": \"array\",\n \"items\": { \"type\": \"string\" },\n \"uniqueItems\": true,\n \"default\": []\n }\n },\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"$id\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\"\n },\n \"$schema\": {\n \"type\": \"string\",\n \"format\": \"uri\"\n },\n \"$ref\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\"\n },\n \"title\": {\n \"type\": \"string\"\n },\n \"description\": {\n \"type\": \"string\"\n },\n \"default\": {},\n \"examples\": {\n \"type\": \"array\",\n \"items\": {}\n },\n \"multipleOf\": {\n \"type\": \"number\",\n \"exclusiveMinimum\": 0\n },\n \"maximum\": {\n \"type\": \"number\"\n },\n \"exclusiveMaximum\": {\n \"type\": \"number\"\n },\n \"minimum\": {\n \"type\": \"number\"\n },\n \"exclusiveMinimum\": {\n \"type\": \"number\"\n },\n \"maxLength\": { \"$ref\": \"#/definitions/nonNegativeInteger\" },\n \"minLength\": { \"$ref\": \"#/definitions/nonNegativeIntegerDefault0\" },\n \"pattern\": {\n \"type\": \"string\",\n \"format\": \"regex\"\n },\n \"additionalItems\": { \"$ref\": \"#\" },\n \"items\": {\n \"anyOf\": [\n { \"$ref\": \"#\" },\n { \"$ref\": \"#/definitions/schemaArray\" }\n ],\n \"default\": {}\n },\n \"maxItems\": { \"$ref\": \"#/definitions/nonNegativeInteger\" },\n \"minItems\": { \"$ref\": \"#/definitions/nonNegativeIntegerDefault0\" },\n \"uniqueItems\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"contains\": { \"$ref\": \"#\" },\n \"maxProperties\": { \"$ref\": \"#/definitions/nonNegativeInteger\" },\n \"minProperties\": { \"$ref\": \"#/definitions/nonNegativeIntegerDefault0\" },\n \"required\": { \"$ref\": \"#/definitions/stringArray\" },\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"definitions\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"default\": {}\n },\n \"properties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"default\": {}\n },\n \"patternProperties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"default\": {}\n },\n \"dependencies\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"anyOf\": [\n { \"$ref\": \"#\" },\n { \"$ref\": \"#/definitions/stringArray\" }\n ]\n }\n },\n \"propertyNames\": { \"$ref\": \"#\" },\n \"const\": {},\n \"enum\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"uniqueItems\": true\n },\n \"type\": {\n \"anyOf\": [\n { \"$ref\": \"#/definitions/simpleTypes\" },\n {\n \"type\": \"array\",\n \"items\": { \"$ref\": \"#/definitions/simpleTypes\" },\n \"minItems\": 1,\n \"uniqueItems\": true\n }\n ]\n },\n \"format\": { \"type\": \"string\" },\n \"allOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"anyOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"oneOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"not\": { \"$ref\": \"#\" }\n },\n \"default\": {}\n}`;\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst keywords = require(\"./keywords\");\nconst metaSchema = require(\"../meta/draft-07/schema\");\n\n\nconst jsonSchemaVersion = \"http://json-schema.org/draft-07/schema\";\n\nSchema.setConfig(jsonSchemaVersion, \"baseToken\", \"$id\");\nSchema.setConfig(jsonSchemaVersion, \"embeddedToken\", \"$id\");\nSchema.setConfig(jsonSchemaVersion, \"anchorToken\", \"$id\");\nSchema.setConfig(jsonSchemaVersion, \"jrefToken\", \"$ref\");\n\nSchema.add(JSON.parse(metaSchema));\nCore.defineVocabulary(jsonSchemaVersion, {\n \"validate\": keywords.validate,\n \"additionalItems\": keywords.additionalItems6,\n \"additionalProperties\": keywords.additionalProperties6,\n \"allOf\": keywords.allOf,\n \"anyOf\": keywords.anyOf,\n \"const\": keywords.const,\n \"contains\": keywords.contains,\n \"default\": keywords.metaData,\n \"definitions\": keywords.definitions,\n \"dependencies\": keywords.dependencies,\n \"description\": keywords.metaData,\n \"enum\": keywords.enum,\n \"exclusiveMaximum\": keywords.exclusiveMaximum,\n \"exclusiveMinimum\": keywords.exclusiveMinimum,\n \"format\": keywords.metaData,\n \"if\": keywords.if,\n \"then\": keywords.then,\n \"else\": keywords.else,\n \"items\": keywords.items,\n \"maxItems\": keywords.maxItems,\n \"maxLength\": keywords.maxLength,\n \"maxProperties\": keywords.maxProperties,\n \"maximum\": keywords.maximum,\n \"minItems\": keywords.minItems,\n \"minLength\": keywords.minLength,\n \"minProperties\": keywords.minProperties,\n \"minimum\": keywords.minimum,\n \"multipleOf\": keywords.multipleOf,\n \"not\": keywords.not,\n \"oneOf\": keywords.oneOf,\n \"pattern\": keywords.pattern,\n \"patternProperties\": keywords.patternProperties,\n \"properties\": keywords.properties,\n \"propertyNames\": keywords.propertyNames,\n \"readOnly\": keywords.metaData,\n \"required\": keywords.required,\n \"title\": keywords.metaData,\n \"type\": keywords.type,\n \"uniqueItems\": keywords.uniqueItems,\n \"writeOnly\": keywords.metaData\n});\n","module.exports = `{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"http://json-schema.org/draft-07/schema#\",\n \"title\": \"Core schema meta-schema\",\n \"definitions\": {\n \"schemaArray\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"items\": { \"$ref\": \"#\" }\n },\n \"nonNegativeInteger\": {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n \"nonNegativeIntegerDefault0\": {\n \"allOf\": [\n { \"$ref\": \"#/definitions/nonNegativeInteger\" },\n { \"default\": 0 }\n ]\n },\n \"simpleTypes\": {\n \"enum\": [\n \"array\",\n \"boolean\",\n \"integer\",\n \"null\",\n \"number\",\n \"object\",\n \"string\"\n ]\n },\n \"stringArray\": {\n \"type\": \"array\",\n \"items\": { \"type\": \"string\" },\n \"uniqueItems\": true,\n \"default\": []\n }\n },\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"$id\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\"\n },\n \"$schema\": {\n \"type\": \"string\",\n \"format\": \"uri\"\n },\n \"$ref\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\"\n },\n \"$comment\": {\n \"type\": \"string\"\n },\n \"title\": {\n \"type\": \"string\"\n },\n \"description\": {\n \"type\": \"string\"\n },\n \"default\": true,\n \"readOnly\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"writeOnly\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"examples\": {\n \"type\": \"array\",\n \"items\": true\n },\n \"multipleOf\": {\n \"type\": \"number\",\n \"exclusiveMinimum\": 0\n },\n \"maximum\": {\n \"type\": \"number\"\n },\n \"exclusiveMaximum\": {\n \"type\": \"number\"\n },\n \"minimum\": {\n \"type\": \"number\"\n },\n \"exclusiveMinimum\": {\n \"type\": \"number\"\n },\n \"maxLength\": { \"$ref\": \"#/definitions/nonNegativeInteger\" },\n \"minLength\": { \"$ref\": \"#/definitions/nonNegativeIntegerDefault0\" },\n \"pattern\": {\n \"type\": \"string\",\n \"format\": \"regex\"\n },\n \"additionalItems\": { \"$ref\": \"#\" },\n \"items\": {\n \"anyOf\": [\n { \"$ref\": \"#\" },\n { \"$ref\": \"#/definitions/schemaArray\" }\n ],\n \"default\": true\n },\n \"maxItems\": { \"$ref\": \"#/definitions/nonNegativeInteger\" },\n \"minItems\": { \"$ref\": \"#/definitions/nonNegativeIntegerDefault0\" },\n \"uniqueItems\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"contains\": { \"$ref\": \"#\" },\n \"maxProperties\": { \"$ref\": \"#/definitions/nonNegativeInteger\" },\n \"minProperties\": { \"$ref\": \"#/definitions/nonNegativeIntegerDefault0\" },\n \"required\": { \"$ref\": \"#/definitions/stringArray\" },\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"definitions\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"default\": {}\n },\n \"properties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"default\": {}\n },\n \"patternProperties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"propertyNames\": { \"format\": \"regex\" },\n \"default\": {}\n },\n \"dependencies\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"anyOf\": [\n { \"$ref\": \"#\" },\n { \"$ref\": \"#/definitions/stringArray\" }\n ]\n }\n },\n \"propertyNames\": { \"$ref\": \"#\" },\n \"const\": true,\n \"enum\": {\n \"type\": \"array\",\n \"items\": true,\n \"minItems\": 1,\n \"uniqueItems\": true\n },\n \"type\": {\n \"anyOf\": [\n { \"$ref\": \"#/definitions/simpleTypes\" },\n {\n \"type\": \"array\",\n \"items\": { \"$ref\": \"#/definitions/simpleTypes\" },\n \"minItems\": 1,\n \"uniqueItems\": true\n }\n ]\n },\n \"format\": { \"type\": \"string\" },\n \"contentMediaType\": { \"type\": \"string\" },\n \"contentEncoding\": { \"type\": \"string\" },\n \"if\": { \"$ref\": \"#\" },\n \"then\": { \"$ref\": \"#\" },\n \"else\": { \"$ref\": \"#\" },\n \"allOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"anyOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"oneOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"not\": { \"$ref\": \"#\" }\n },\n \"default\": true\n}`;\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst keywords = require(\"./keywords\");\nconst metaSchema = require(\"../meta/draft/2019-09/schema\");\nconst coreMetaSchema = require(\"../meta/draft/2019-09/meta/core\");\nconst applicatorMetaSchema = require(\"../meta/draft/2019-09/meta/applicator\");\nconst validationMetaSchema = require(\"../meta/draft/2019-09/meta/validation\");\nconst metaDataMetaSchema = require(\"../meta/draft/2019-09/meta/meta-data\");\nconst formatMetaSchema = require(\"../meta/draft/2019-09/meta/format\");\nconst contentMetaSchema = require(\"../meta/draft/2019-09/meta/content\");\n\n\nconst jsonSchemaVersion = \"https://json-schema.org/draft/2019-09/vocab/core\";\n\nSchema.setConfig(jsonSchemaVersion, \"baseToken\", \"$id\");\nSchema.setConfig(jsonSchemaVersion, \"embeddedToken\", \"$id\");\nSchema.setConfig(jsonSchemaVersion, \"anchorToken\", \"$anchor\");\nSchema.setConfig(jsonSchemaVersion, \"recursiveAnchorToken\", \"$recursiveAnchor\");\nSchema.setConfig(jsonSchemaVersion, \"vocabularyToken\", \"$vocabulary\");\nSchema.setConfig(jsonSchemaVersion, \"mandatoryVocabularies\", [\"https://json-schema.org/draft/2019-09/vocab/core\"]);\n\nSchema.add(JSON.parse(metaSchema));\n\nSchema.add(JSON.parse(coreMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2019-09/vocab/core\", {\n \"validate\": keywords.validate,\n \"$defs\": keywords.definitions,\n \"$recursiveRef\": keywords.dynamicRef,\n \"$ref\": keywords.ref\n});\n\nSchema.add(JSON.parse(applicatorMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2019-09/vocab/applicator\", {\n \"additionalItems\": keywords.additionalItems6,\n \"additionalProperties\": keywords.additionalProperties6,\n \"allOf\": keywords.allOf,\n \"anyOf\": keywords.anyOf,\n \"contains\": keywords.containsMinContainsMaxContains,\n \"dependentSchemas\": keywords.dependentSchemas,\n \"if\": keywords.if,\n \"then\": keywords.then,\n \"else\": keywords.else,\n \"items\": keywords.items,\n \"not\": keywords.not,\n \"oneOf\": keywords.oneOf,\n \"patternProperties\": keywords.patternProperties,\n \"properties\": keywords.properties,\n \"propertyNames\": keywords.propertyNames,\n \"unevaluatedItems\": keywords.unevaluatedItems,\n \"unevaluatedProperties\": keywords.unevaluatedProperties\n});\n\nSchema.add(JSON.parse(validationMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2019-09/vocab/validation\", {\n \"const\": keywords.const,\n \"dependentRequired\": keywords.dependentRequired,\n \"enum\": keywords.enum,\n \"exclusiveMaximum\": keywords.exclusiveMaximum,\n \"exclusiveMinimum\": keywords.exclusiveMinimum,\n \"maxItems\": keywords.maxItems,\n \"maxLength\": keywords.maxLength,\n \"maxProperties\": keywords.maxProperties,\n \"maximum\": keywords.maximum,\n \"minItems\": keywords.minItems,\n \"minLength\": keywords.minLength,\n \"minProperties\": keywords.minProperties,\n \"minimum\": keywords.minimum,\n \"multipleOf\": keywords.multipleOf,\n \"pattern\": keywords.pattern,\n \"required\": keywords.required,\n \"type\": keywords.type,\n \"uniqueItems\": keywords.uniqueItems\n});\n\nSchema.add(JSON.parse(metaDataMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2019-09/vocab/meta-data\", {\n \"default\": keywords.metaData,\n \"deprecated\": keywords.metaData,\n \"description\": keywords.metaData,\n \"examples\": keywords.metaData,\n \"readOnly\": keywords.metaData,\n \"title\": keywords.metaData,\n \"writeOnly\": keywords.metaData\n});\n\nSchema.add(JSON.parse(formatMetaSchema));\n\nSchema.add(JSON.parse(contentMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2019-09/vocab/content\", {\n \"contentEncoding\": keywords.metaData,\n \"contentMediaType\": keywords.metaData,\n \"contentSchema\": keywords.metaData\n});\n","module.exports = `{\n \"$schema\": \"https://json-schema.org/draft/2019-09/schema\",\n \"$id\": \"https://json-schema.org/draft/2019-09/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2019-09/vocab/core\": true,\n \"https://json-schema.org/draft/2019-09/vocab/applicator\": true,\n \"https://json-schema.org/draft/2019-09/vocab/validation\": true,\n \"https://json-schema.org/draft/2019-09/vocab/meta-data\": true,\n \"https://json-schema.org/draft/2019-09/vocab/format\": false,\n \"https://json-schema.org/draft/2019-09/vocab/content\": true\n },\n \"$recursiveAnchor\": true,\n\n \"title\": \"Core and Validation specifications meta-schema\",\n \"allOf\": [\n {\"$ref\": \"meta/core\"},\n {\"$ref\": \"meta/applicator\"},\n {\"$ref\": \"meta/validation\"},\n {\"$ref\": \"meta/meta-data\"},\n {\"$ref\": \"meta/format\"},\n {\"$ref\": \"meta/content\"}\n ],\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"definitions\": {\n \"$comment\": \"While no longer an official keyword as it is replaced by $defs, this keyword is retained in the meta-schema to prevent incompatible extensions as it remains in common use.\",\n \"type\": \"object\",\n \"additionalProperties\": { \"$recursiveRef\": \"#\" },\n \"default\": {}\n },\n \"dependencies\": {\n \"$comment\": \"\\\\\"dependencies\\\\\" is no longer a keyword, but schema authors should avoid redefining it to facilitate a smooth transition to \\\\\"dependentSchemas\\\\\" and \\\\\"dependentRequired\\\\\"\",\n \"type\": \"object\",\n \"additionalProperties\": {\n \"anyOf\": [\n { \"$recursiveRef\": \"#\" },\n { \"$ref\": \"meta/validation#/$defs/stringArray\" }\n ]\n }\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2019-09/meta/core\",\n \"$schema\": \"https://json-schema.org/draft/2019-09/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2019-09/vocab/core\": true\n },\n \"$recursiveAnchor\": true,\n\n \"title\": \"Core vocabulary meta-schema\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"$id\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\",\n \"$comment\": \"Non-empty fragments not allowed.\",\n \"pattern\": \"^[^#]*#?$\"\n },\n \"$schema\": {\n \"type\": \"string\",\n \"format\": \"uri\"\n },\n \"$anchor\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][-A-Za-z0-9.:_]*$\"\n },\n \"$ref\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\"\n },\n \"$recursiveRef\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\"\n },\n \"$recursiveAnchor\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"$vocabulary\": {\n \"type\": \"object\",\n \"propertyNames\": {\n \"type\": \"string\",\n \"format\": \"uri\"\n },\n \"additionalProperties\": {\n \"type\": \"boolean\"\n }\n },\n \"$comment\": {\n \"type\": \"string\"\n },\n \"$defs\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$recursiveRef\": \"#\" },\n \"default\": {}\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2019-09/meta/applicator\",\n \"$schema\": \"https://json-schema.org/draft/2019-09/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2019-09/vocab/applicator\": true\n },\n \"$recursiveAnchor\": true,\n\n \"title\": \"Applicator vocabulary meta-schema\",\n \"properties\": {\n \"additionalItems\": { \"$recursiveRef\": \"#\" },\n \"unevaluatedItems\": { \"$recursiveRef\": \"#\" },\n \"items\": {\n \"anyOf\": [\n { \"$recursiveRef\": \"#\" },\n { \"$ref\": \"#/$defs/schemaArray\" }\n ]\n },\n \"contains\": { \"$recursiveRef\": \"#\" },\n \"additionalProperties\": { \"$recursiveRef\": \"#\" },\n \"unevaluatedProperties\": { \"$recursiveRef\": \"#\" },\n \"properties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$recursiveRef\": \"#\" },\n \"default\": {}\n },\n \"patternProperties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$recursiveRef\": \"#\" },\n \"propertyNames\": { \"format\": \"regex\" },\n \"default\": {}\n },\n \"dependentSchemas\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$recursiveRef\": \"#\"\n }\n },\n \"propertyNames\": { \"$recursiveRef\": \"#\" },\n \"if\": { \"$recursiveRef\": \"#\" },\n \"then\": { \"$recursiveRef\": \"#\" },\n \"else\": { \"$recursiveRef\": \"#\" },\n \"allOf\": { \"$ref\": \"#/$defs/schemaArray\" },\n \"anyOf\": { \"$ref\": \"#/$defs/schemaArray\" },\n \"oneOf\": { \"$ref\": \"#/$defs/schemaArray\" },\n \"not\": { \"$recursiveRef\": \"#\" }\n },\n \"$defs\": {\n \"schemaArray\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"items\": { \"$recursiveRef\": \"#\" }\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2019-09/meta/validation\",\n \"$schema\": \"https://json-schema.org/draft/2019-09/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2019-09/vocab/validation\": true\n },\n \"$recursiveAnchor\": true,\n\n \"title\": \"Validation vocabulary meta-schema\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"multipleOf\": {\n \"type\": \"number\",\n \"exclusiveMinimum\": 0\n },\n \"maximum\": {\n \"type\": \"number\"\n },\n \"exclusiveMaximum\": {\n \"type\": \"number\"\n },\n \"minimum\": {\n \"type\": \"number\"\n },\n \"exclusiveMinimum\": {\n \"type\": \"number\"\n },\n \"maxLength\": { \"$ref\": \"#/$defs/nonNegativeInteger\" },\n \"minLength\": { \"$ref\": \"#/$defs/nonNegativeIntegerDefault0\" },\n \"pattern\": {\n \"type\": \"string\",\n \"format\": \"regex\"\n },\n \"maxItems\": { \"$ref\": \"#/$defs/nonNegativeInteger\" },\n \"minItems\": { \"$ref\": \"#/$defs/nonNegativeIntegerDefault0\" },\n \"uniqueItems\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"maxContains\": { \"$ref\": \"#/$defs/nonNegativeInteger\" },\n \"minContains\": {\n \"$ref\": \"#/$defs/nonNegativeInteger\",\n \"default\": 1\n },\n \"maxProperties\": { \"$ref\": \"#/$defs/nonNegativeInteger\" },\n \"minProperties\": { \"$ref\": \"#/$defs/nonNegativeIntegerDefault0\" },\n \"required\": { \"$ref\": \"#/$defs/stringArray\" },\n \"dependentRequired\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$ref\": \"#/$defs/stringArray\"\n }\n },\n \"const\": true,\n \"enum\": {\n \"type\": \"array\",\n \"items\": true\n },\n \"type\": {\n \"anyOf\": [\n { \"$ref\": \"#/$defs/simpleTypes\" },\n {\n \"type\": \"array\",\n \"items\": { \"$ref\": \"#/$defs/simpleTypes\" },\n \"minItems\": 1,\n \"uniqueItems\": true\n }\n ]\n }\n },\n \"$defs\": {\n \"nonNegativeInteger\": {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n \"nonNegativeIntegerDefault0\": {\n \"$ref\": \"#/$defs/nonNegativeInteger\",\n \"default\": 0\n },\n \"simpleTypes\": {\n \"enum\": [\n \"array\",\n \"boolean\",\n \"integer\",\n \"null\",\n \"number\",\n \"object\",\n \"string\"\n ]\n },\n \"stringArray\": {\n \"type\": \"array\",\n \"items\": { \"type\": \"string\" },\n \"uniqueItems\": true,\n \"default\": []\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2019-09/meta/meta-data\",\n \"$schema\": \"https://json-schema.org/draft/2019-09/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2019-09/vocab/meta-data\": true\n },\n \"$recursiveAnchor\": true,\n\n \"title\": \"Meta-data vocabulary meta-schema\",\n\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"title\": {\n \"type\": \"string\"\n },\n \"description\": {\n \"type\": \"string\"\n },\n \"default\": true,\n \"deprecated\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"readOnly\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"writeOnly\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"examples\": {\n \"type\": \"array\",\n \"items\": true\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2019-09/meta/format\",\n \"$schema\": \"https://json-schema.org/draft/2019-09/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2019-09/vocab/format\": true\n },\n \"$recursiveAnchor\": true,\n\n \"title\": \"Format vocabulary meta-schema\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"format\": { \"type\": \"string\" }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2019-09/meta/content\",\n \"$schema\": \"https://json-schema.org/draft/2019-09/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2019-09/vocab/content\": true\n },\n \"$recursiveAnchor\": true,\n\n \"title\": \"Content vocabulary meta-schema\",\n\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"contentMediaType\": { \"type\": \"string\" },\n \"contentEncoding\": { \"type\": \"string\" },\n \"contentSchema\": { \"$recursiveRef\": \"#\" }\n }\n}`;\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst keywords = require(\"./keywords\");\nconst metaSchema = require(\"../meta/draft/2020-12/schema\");\nconst coreMetaSchema = require(\"../meta/draft/2020-12/meta/core\");\nconst applicatorMetaSchema = require(\"../meta/draft/2020-12/meta/applicator\");\nconst validationMetaSchema = require(\"../meta/draft/2020-12/meta/validation\");\nconst metaDataMetaSchema = require(\"../meta/draft/2020-12/meta/meta-data\");\nconst formatAnnotationMetaSchema = require(\"../meta/draft/2020-12/meta/format-annotation\");\nconst formatAssertionMetaSchema = require(\"../meta/draft/2020-12/meta/format-assertion\");\nconst contentMetaSchema = require(\"../meta/draft/2020-12/meta/content\");\nconst unevaluatedMetaSchema = require(\"../meta/draft/2020-12/meta/unevaluated\");\n\n\nconst jsonSchemaVersion = \"https://json-schema.org/draft/2020-12/vocab/core\";\n\nSchema.setConfig(jsonSchemaVersion, \"baseToken\", \"$id\");\nSchema.setConfig(jsonSchemaVersion, \"embeddedToken\", \"$id\");\nSchema.setConfig(jsonSchemaVersion, \"anchorToken\", \"$anchor\");\nSchema.setConfig(jsonSchemaVersion, \"dynamicAnchorToken\", \"$dynamicAnchor\");\nSchema.setConfig(jsonSchemaVersion, \"vocabularyToken\", \"$vocabulary\");\nSchema.setConfig(jsonSchemaVersion, \"mandatoryVocabularies\", [\"https://json-schema.org/draft/2020-12/vocab/core\"]);\n\nSchema.add(JSON.parse(metaSchema));\n\nSchema.add(JSON.parse(coreMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2020-12/vocab/core\", {\n \"validate\": keywords.validate,\n \"$defs\": keywords.definitions,\n \"$dynamicRef\": keywords.dynamicRef,\n \"$ref\": keywords.ref\n});\n\nSchema.add(JSON.parse(applicatorMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2020-12/vocab/applicator\", {\n \"additionalProperties\": keywords.additionalProperties6,\n \"allOf\": keywords.allOf,\n \"anyOf\": keywords.anyOf,\n \"contains\": keywords.containsMinContainsMaxContains,\n \"dependentSchemas\": keywords.dependentSchemas,\n \"if\": keywords.if,\n \"then\": keywords.then,\n \"else\": keywords.else,\n \"items\": keywords.items202012,\n \"not\": keywords.not,\n \"oneOf\": keywords.oneOf,\n \"patternProperties\": keywords.patternProperties,\n \"prefixItems\": keywords.tupleItems,\n \"properties\": keywords.properties,\n \"propertyNames\": keywords.propertyNames\n});\n\nSchema.add(JSON.parse(validationMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2020-12/vocab/validation\", {\n \"const\": keywords.const,\n \"dependentRequired\": keywords.dependentRequired,\n \"enum\": keywords.enum,\n \"exclusiveMaximum\": keywords.exclusiveMaximum,\n \"exclusiveMinimum\": keywords.exclusiveMinimum,\n \"maxItems\": keywords.maxItems,\n \"maxLength\": keywords.maxLength,\n \"maxProperties\": keywords.maxProperties,\n \"maximum\": keywords.maximum,\n \"minItems\": keywords.minItems,\n \"minLength\": keywords.minLength,\n \"minProperties\": keywords.minProperties,\n \"minimum\": keywords.minimum,\n \"multipleOf\": keywords.multipleOf,\n \"pattern\": keywords.pattern,\n \"required\": keywords.required,\n \"type\": keywords.type,\n \"uniqueItems\": keywords.uniqueItems\n});\n\nSchema.add(JSON.parse(metaDataMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2020-12/vocab/meta-data\", {\n \"default\": keywords.metaData,\n \"deprecated\": keywords.metaData,\n \"description\": keywords.metaData,\n \"examples\": keywords.metaData,\n \"readOnly\": keywords.metaData,\n \"title\": keywords.metaData,\n \"writeOnly\": keywords.metaData\n});\n\nSchema.add(JSON.parse(formatAnnotationMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2020-12/vocab/format-annotation\", {\n \"format\": keywords.metaData\n});\n\nSchema.add(JSON.parse(formatAssertionMetaSchema));\n\nSchema.add(JSON.parse(contentMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2020-12/vocab/content\", {\n \"contentEncoding\": keywords.metaData,\n \"contentMediaType\": keywords.metaData,\n \"contentSchema\": keywords.metaData\n});\n\nSchema.add(JSON.parse(unevaluatedMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2020-12/vocab/unevaluated\", {\n \"unevaluatedItems\": keywords.unevaluatedItems,\n \"unevaluatedProperties\": keywords.unevaluatedProperties\n});\n","module.exports = `{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$id\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/core\": true,\n \"https://json-schema.org/draft/2020-12/vocab/applicator\": true,\n \"https://json-schema.org/draft/2020-12/vocab/unevaluated\": true,\n \"https://json-schema.org/draft/2020-12/vocab/validation\": true,\n \"https://json-schema.org/draft/2020-12/vocab/meta-data\": true,\n \"https://json-schema.org/draft/2020-12/vocab/format-annotation\": true,\n \"https://json-schema.org/draft/2020-12/vocab/content\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Core and Validation specifications meta-schema\",\n \"allOf\": [\n {\"$ref\": \"meta/core\"},\n {\"$ref\": \"meta/applicator\"},\n {\"$ref\": \"meta/unevaluated\"},\n {\"$ref\": \"meta/validation\"},\n {\"$ref\": \"meta/meta-data\"},\n {\"$ref\": \"meta/format-annotation\"},\n {\"$ref\": \"meta/content\"}\n ],\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"definitions\": {\n \"$comment\": \"While no longer an official keyword as it is replaced by $defs, this keyword is retained in the meta-schema to prevent incompatible extensions as it remains in common use.\",\n \"type\": \"object\",\n \"additionalProperties\": { \"$dynamicRef\": \"#meta\" },\n \"default\": {}\n },\n \"dependencies\": {\n \"$comment\": \"\\\\\"dependencies\\\\\" is no longer a keyword, but schema authors should avoid redefining it to facilitate a smooth transition to \\\\\"dependentSchemas\\\\\" and \\\\\"dependentRequired\\\\\"\",\n \"type\": \"object\",\n \"additionalProperties\": {\n \"anyOf\": [\n { \"$dynamicRef\": \"#meta\" },\n { \"$ref\": \"meta/validation#/$defs/stringArray\" }\n ]\n }\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2020-12/meta/core\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/core\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Core vocabulary meta-schema\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"$id\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\",\n \"$comment\": \"Non-empty fragments not allowed.\",\n \"pattern\": \"^[^#]*#?$\"\n },\n \"$schema\": {\n \"type\": \"string\",\n \"format\": \"uri\"\n },\n \"$anchor\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z_][-A-Za-z0-9._]*$\"\n },\n \"$ref\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\"\n },\n \"$dynamicRef\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\"\n },\n \"$dynamicAnchor\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z_][-A-Za-z0-9._]*$\"\n },\n \"$vocabulary\": {\n \"type\": \"object\",\n \"propertyNames\": {\n \"type\": \"string\",\n \"format\": \"uri\"\n },\n \"additionalProperties\": {\n \"type\": \"boolean\"\n }\n },\n \"$comment\": {\n \"type\": \"string\"\n },\n \"$defs\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$dynamicRef\": \"#meta\" },\n \"default\": {}\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2020-12/meta/applicator\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/applicator\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Applicator vocabulary meta-schema\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"prefixItems\": { \"$ref\": \"#/$defs/schemaArray\" },\n \"items\": { \"$dynamicRef\": \"#meta\" },\n \"contains\": { \"$dynamicRef\": \"#meta\" },\n \"additionalProperties\": { \"$dynamicRef\": \"#meta\" },\n \"properties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$dynamicRef\": \"#meta\" },\n \"default\": {}\n },\n \"patternProperties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$dynamicRef\": \"#meta\" },\n \"propertyNames\": { \"format\": \"regex\" },\n \"default\": {}\n },\n \"dependentSchemas\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$dynamicRef\": \"#meta\"\n }\n },\n \"propertyNames\": { \"$dynamicRef\": \"#meta\" },\n \"if\": { \"$dynamicRef\": \"#meta\" },\n \"then\": { \"$dynamicRef\": \"#meta\" },\n \"else\": { \"$dynamicRef\": \"#meta\" },\n \"allOf\": { \"$ref\": \"#/$defs/schemaArray\" },\n \"anyOf\": { \"$ref\": \"#/$defs/schemaArray\" },\n \"oneOf\": { \"$ref\": \"#/$defs/schemaArray\" },\n \"not\": { \"$dynamicRef\": \"#meta\" }\n },\n \"$defs\": {\n \"schemaArray\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"items\": { \"$dynamicRef\": \"#meta\" }\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2020-12/meta/validation\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/validation\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Validation vocabulary meta-schema\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"multipleOf\": {\n \"type\": \"number\",\n \"exclusiveMinimum\": 0\n },\n \"maximum\": {\n \"type\": \"number\"\n },\n \"exclusiveMaximum\": {\n \"type\": \"number\"\n },\n \"minimum\": {\n \"type\": \"number\"\n },\n \"exclusiveMinimum\": {\n \"type\": \"number\"\n },\n \"maxLength\": { \"$ref\": \"#/$defs/nonNegativeInteger\" },\n \"minLength\": { \"$ref\": \"#/$defs/nonNegativeIntegerDefault0\" },\n \"pattern\": {\n \"type\": \"string\",\n \"format\": \"regex\"\n },\n \"maxItems\": { \"$ref\": \"#/$defs/nonNegativeInteger\" },\n \"minItems\": { \"$ref\": \"#/$defs/nonNegativeIntegerDefault0\" },\n \"uniqueItems\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"maxContains\": { \"$ref\": \"#/$defs/nonNegativeInteger\" },\n \"minContains\": {\n \"$ref\": \"#/$defs/nonNegativeInteger\",\n \"default\": 1\n },\n \"maxProperties\": { \"$ref\": \"#/$defs/nonNegativeInteger\" },\n \"minProperties\": { \"$ref\": \"#/$defs/nonNegativeIntegerDefault0\" },\n \"required\": { \"$ref\": \"#/$defs/stringArray\" },\n \"dependentRequired\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$ref\": \"#/$defs/stringArray\"\n }\n },\n \"const\": true,\n \"enum\": {\n \"type\": \"array\",\n \"items\": true\n },\n \"type\": {\n \"anyOf\": [\n { \"$ref\": \"#/$defs/simpleTypes\" },\n {\n \"type\": \"array\",\n \"items\": { \"$ref\": \"#/$defs/simpleTypes\" },\n \"minItems\": 1,\n \"uniqueItems\": true\n }\n ]\n }\n },\n \"$defs\": {\n \"nonNegativeInteger\": {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n \"nonNegativeIntegerDefault0\": {\n \"$ref\": \"#/$defs/nonNegativeInteger\",\n \"default\": 0\n },\n \"simpleTypes\": {\n \"enum\": [\n \"array\",\n \"boolean\",\n \"integer\",\n \"null\",\n \"number\",\n \"object\",\n \"string\"\n ]\n },\n \"stringArray\": {\n \"type\": \"array\",\n \"items\": { \"type\": \"string\" },\n \"uniqueItems\": true,\n \"default\": []\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2020-12/meta/meta-data\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/meta-data\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Meta-data vocabulary meta-schema\",\n\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"title\": {\n \"type\": \"string\"\n },\n \"description\": {\n \"type\": \"string\"\n },\n \"default\": true,\n \"deprecated\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"readOnly\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"writeOnly\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"examples\": {\n \"type\": \"array\",\n \"items\": true\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2020-12/meta/format-annotation\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/format-annotation\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Format vocabulary meta-schema for annotation results\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"format\": { \"type\": \"string\" }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2020-12/meta/format-assertion\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/format-assertion\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Format vocabulary meta-schema for assertion results\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"format\": { \"type\": \"string\" }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2020-12/meta/content\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/content\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Content vocabulary meta-schema\",\n\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"contentMediaType\": { \"type\": \"string\" },\n \"contentEncoding\": { \"type\": \"string\" },\n \"contentSchema\": { \"$dynamicRef\": \"#meta\" }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2020-12/meta/unevaluated\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/unevaluated\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Unevaluated applicator vocabulary meta-schema\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"unevaluatedItems\": { \"$dynamicRef\": \"#meta\" },\n \"unevaluatedProperties\": { \"$dynamicRef\": \"#meta\" }\n }\n}`;\n","const { Core, Schema, InvalidSchemaError } = require(\"@hyperjump/json-schema-core\");\nconst Keywords = require(\"./keywords\");\n\nrequire(\"./draft-04\");\nrequire(\"./draft-06\");\nrequire(\"./draft-07\");\nrequire(\"./draft-2019-09\");\nrequire(\"./draft-2020-12\");\n\n\nmodule.exports = {\n add: Core.add,\n get: Schema.get,\n validate: Core.validate,\n compile: Core.compile,\n interpret: Core.interpret,\n setMetaOutputFormat: Core.setMetaOutputFormat,\n setShouldMetaValidate: Core.setShouldMetaValidate,\n addMediaTypePlugin: Core.addMediaTypePlugin,\n FLAG: Core.FLAG,\n BASIC: Core.BASIC,\n DETAILED: Core.DETAILED,\n VERBOSE: Core.VERBOSE,\n Keywords: Keywords,\n InvalidSchemaError: InvalidSchemaError\n};\n\n"],"names":["justCurryIt","fn","arity","curried","length","args","slice","call","arguments","apply","this","concat","root","factory","PubSub","console","warn","messages","lastUid","ALL_SUBSCRIBING_MSG","hasKeys","obj","key","Object","prototype","hasOwnProperty","throwException","ex","callSubscriberWithDelayedExceptions","subscriber","message","data","setTimeout","callSubscriberWithImmediateExceptions","deliverMessage","originalMessage","matchedMessage","immediateExceptions","s","subscribers","callSubscriber","createDeliveryFunction","topic","String","position","lastIndexOf","substr","hasDirectSubscribersFor","Boolean","messageHasSubscribers","found","publish","sync","deliver","toString","publishSync","subscribe","func","token","subscribeAll","subscribeOnce","unsubscribe","clearAllSubscriptions","clearSubscriptions","m","indexOf","countSubscriptions","count","getSubscriptions","list","push","value","t","descendantTopicExists","isTopic","isToken","isFunction","result","undefined","module","exports","window","merge","_len","sets","Array","_key","xl","x","join","subexp","str","typeOf","o","split","pop","shift","toLowerCase","toUpperCase","toArray","setInterval","assign","target","source","buildExps","isIRI","ALPHA$$","DIGIT$$","HEXDIG$$","PCT_ENCODED$","SUB_DELIMS$$","RESERVED$$","IPRIVATE$$","UNRESERVED$$","DEC_OCTET_RELAXED$","IPV4ADDRESS$","H16$","LS32$","IPV6ADDRESS1$","IPV6ADDRESS2$","IPV6ADDRESS3$","IPV6ADDRESS4$","IPV6ADDRESS5$","IPV6ADDRESS6$","IPV6ADDRESS7$","IPV6ADDRESS8$","IPV6ADDRESS9$","IPV6ADDRESS$","ZONEID$","PCHAR$","NOT_SCHEME","RegExp","NOT_USERINFO","NOT_HOST","NOT_PATH","NOT_PATH_NOSCHEME","NOT_QUERY","NOT_FRAGMENT","ESCAPE","UNRESERVED","OTHER_CHARS","PCT_ENCODED","IPV4ADDRESS","IPV6ADDRESS","URI_PROTOCOL","IRI_PROTOCOL","slicedToArray","sliceIterator","arr","i","_arr","_n","_d","_e","_s","_i","Symbol","iterator","next","done","err","isArray","TypeError","toConsumableArray","arr2","from","maxInt","base","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexPunycode","regexNonASCII","regexSeparators","errors","overflow","baseMinusTMin","floor","Math","stringFromCharCode","fromCharCode","error$1","type","RangeError","map","array","mapDomain","string","parts","replace","ucs2decode","output","counter","charCodeAt","extra","basicToDigit","codePoint","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","k","decode","input","inputLength","n","bias","basic","j","index","oldi","w","baseMinusT","out","splice","fromCodePoint","encode","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","_currentValue2","return","basicLength","handledCPCount","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","currentValue","handledCPCountPlusOne","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","_currentValue","q","qMinusT","toUnicode","test","toASCII","punycode","version","ucs2","SCHEMES","pctEncChar","chr","c","pctDecChars","newStr","il","parseInt","c2","_c","c3","_normalizeComponentEncoding","components","protocol","decodeUnreserved","decStr","match","scheme","userinfo","host","path","query","fragment","_stripLeadingZeros","_normalizeIPv4","matches","address","_normalizeIPv6","_matches2","zone","_address$toLowerCase$","reverse","_address$toLowerCase$2","last","first","firstFields","lastFields","isLastFieldIPv4Address","fieldCount","lastFieldsStart","fields","longestZeroFields","reduce","acc","field","lastLongest","sort","a","b","newHost","newFirst","newLast","URI_PARSE","NO_MATCH_IS_UNDEFINED","parse","uriString","options","iri","reference","port","isNaN","error","schemeHandler","unicodeSupport","domainHost","e","_recomposeAuthority","uriTokens","_","$1","$2","RDS1","RDS2","RDS3","RDS5","removeDotSegments","im","Error","serialize","authority","charAt","absolutePath","resolveComponents","relative","tolerant","resolve","baseURI","relativeURI","schemelessOptions","normalize","uri","equal","uriA","uriB","escapeComponent","unescapeComponent","handler","secure","handler$1","isSecure","wsComponents","handler$2","resourceName","_wsComponents$resourc","_wsComponents$resourc2","handler$3","O","ATEXT$$","VCHAR$$","SOME_DELIMS$$","NOT_LOCAL_PART","NOT_HFNAME","NOT_HFVALUE","handler$4","mailtoComponents","to","unknownHeaders","headers","hfields","hfield","toAddrs","_x","_xl","subject","body","_x2","_xl2","addr","toAddr","atIdx","localPart","domain","name","URN_PARSE","handler$5","urnComponents","nid","nss","urnScheme","uriComponents","UUID","handler$6","uuidComponents","uuid","defineProperty","URI","require$$0","isType","null","boolean","object","number","integer","Number","isInteger","common","jsonTypeOf","resolveUrl","contextUrl","url","resolvedUrl","urlFragment","pathRelative","toStart","fromLen","toLen","lastCommonSep","fromCode","curry","compile","pointer","unescape","_set","cursor","clonedSubject","applySegment","append","segment","computeSegment","_assign","isScalar","_unset","filter","ndx","_remove","escape","lib","nil","get","ptr","set","unset","remove","$__value","$__href","cons","href","freeze","isReference","ref","JsonPointer","require$$1","require$$2","Reference","require$$3","id","instance","doc","step","item","thisArg","forEach","every","some","startsWith","encodeURI","has","entries","keys","async","results","Promise","all","pipeline","fns","require$$4","require$$5","require$$6","allValues","propertyName","propertyValue","hasSticky","sticky","isRegExp","isObject","reCapture","reUnion","regexps","regexpOrLiteral","ignoreCase","global","multiline","ruleOptions","include","defaultType","lineBreaks","fallback","shouldThrow","toRules","spec","JSON","stringify","arrayToRules","getOwnPropertyNames","thing","rules","rule","objectToRules","defaultErrorRule","compileRules","hasStates","errorRule","fast","create","fastAllowed","unicodeFlag","groups","unicode","pat","regexp","exec","fallbackRule","flags","suffix","checkStateGroup","g","state","Lexer","states","startState","buffer","stack","reset","info","line","col","queuedToken","queuedThrow","setState","save","re","popState","pushState","eat","tokenToString","_getGroup","groupCount","queuedGroup","_token","queuedText","group","lastIndex","text","offset","matchNL","nl","size","formatError","LexerIterator","lexer","start","max","eol","firstLine","substring","clone","tokenType","$all","ruleMap","included","newRules","newRule","fastKeys","keywords","reverseMap","byLength","types","keyword","Function","moo","jsonLexer","json","main","WS","true","false","parseFloat","_next","SyntaxError","previous","nextToken","defaultErrorToken","expectedType","peek","syntaxError","referenceToken","errorToken","defaultReviver","parseValue","reviver","parseObject","parseArray","parseProperties","isValueToken","parseItems","valueType","Set","parse_1","defaultReplacer","stringifyValue","replacer","space","depth","stringifyArray","stringifyObject","padding","repeat","indexPointer","spacing","keyPointer","stringify_1","fetch_browser","fetch","PARAM_REGEXP","TEXT_REGEXP","TOKEN_REGEXP","QESC_REGEXP","QUOTE_REGEXP","TYPE_REGEXP","qstring","val","ContentType","parameters","contentType","format","param","params","header","getHeader","getcontenttype","trim","contentTypeParser","mediaTypePlugins","mediaTypes","addPlugin","plugin","response","getContentType","matcher","Pact","Json","MediaTypes","require$$7","core201909Id","core202012Id","config","dialectJsonSchemaVersion","getConfig","dialectId","jsonSchemaVersion","schemaStore","schemaStoreAlias","add","schema","defaultSchemaVersion","externalId","$vocabulary","getSchemaIdentifier","metaSchema","vocabulary","baseToken","anchorToken","dynamicAnchors","recursiveAnchorToken","vocabularyToken","anchors","processSchema","validated","internalUrl","embeddedSchemaDialectId","$schema","embeddedEmbeddedToken","embeddedAnchorToken","dynamicAnchorToken","embeddedToken","anchor","jrefToken","getStoredSchema","contextDoc","hasStoredSchema","Accept","status","defaultDialectId","storedSchema","getAnchorPointer","followReferences","nextDoc","toSchemaDefaultOptions","parentId","parentDialect","includeEmbedded","relativeUri","pathToSchema","setConfig","markValidated","toSchema","schemaDoc","fullOptions","refValue","embeddedDialect","dialect","InvalidSchemaError","constructor","super","invalidSchemaError","Schema","metaData","interpret","Instance","FLAG","BASIC","DETAILED","VERBOSE","metaOutputFormat","shouldMetaValidate","contentTypeParameters","profile","endsWith","ast","schemaUri","compileSchema","outputFormat","includes","subscriptionToken","outputHandler","interpretSchema","resultStack","keywordResult","absoluteKeywordLocation","instanceLocation","valid","topResult","unshift","_keywords","getKeyword","hasKeyword","_vocabularies","metaValidators","vocabularyId","isRequired","keywordHandler","collectEvaluatedItems","keywordValue","isTop","collectEvaluatedProperties","addKeyword","compiledSchema","schemaInstance","metaResults","keywordId","getKeywordId","core","validate","compiled","interpretAst","setMetaOutputFormat","setShouldMetaValidate","isEnabled","defineVocabulary","addMediaTypePlugin","Core","schemaValue","keywordSchema","keywordAst","schemaUrl","nodes","isValid","propertyNames","itemIndexes","Keywords","additionalItems","parentSchema","items","numberOfItems","MAX_SAFE_INTEGER","additionalItems6","additionalProperties","properties","patternProperties","propertyNamePatterns","pattern","property","additionalProperties6","propertiesSchema","allOf","itemSchema","anyOf","keyList","native_stringify","allowUndefined","propVal","tipeof","toJSON","isFinite","fastestStableStringify","jsonStringify","_const","const_","contains","minContains","maxContains","containsMinContainsMaxContains","minContainsSchema","maxContainsSchema","matchedIndexes","itemIndex","definitions","definitionSchema","dependencies","dependency","dependentRequired","required","dependentSchemas","dependentSchema","_enum","enum_","enumValue","exclusiveMaximum","exclusiveMinimum","_if","ifSchema","quietInterpretSchema","then","guard","block","_else","itemValue","tupleItems","numberOfPrefixItems","items202012","maxItems","maxLength","maxProperties","maximumExclusiveMaximum","isExclusive","maximum","minItems","minLength","minProperties","minimumExclusiveMinimum","minimum","numberEqual","abs","multipleOf","remainder","not","oneOf","validCount","propertySchema","splitUrl","indexOfHash","urlReference","decodeURI","escapeRegExp","dynamicRef","referencedSchema","unevaluatedItems","unevaluatedProperties","evaluatedPropertyNames","uniqueItems","normalizedItems","const","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","enum","require$$14","require$$15","require$$16","if","require$$17","require$$18","else","require$$19","require$$20","require$$21","require$$22","require$$23","require$$24","require$$25","require$$26","require$$27","require$$28","require$$29","require$$30","require$$31","require$$32","require$$33","require$$34","require$$35","require$$36","require$$37","require$$38","require$$39","require$$40","require$$41","require$$42","require$$43","require$$44","require$$45","require$$46","Schema$5","default","description","title","Schema$4","examples","Schema$3","readOnly","writeOnly","Schema$2","$defs","$recursiveRef","$ref","deprecated","contentEncoding","contentMediaType","contentSchema","Schema$1","$dynamicRef","prefixItems"],"mappings":"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"}