HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /proc/1991111/root/usr/share/node_modules/uri-js/dist/es5/
Upload File :
Current File : //proc/1991111/root/usr/share/node_modules/uri-js/dist/es5/uri.all.js.map
{"version":3,"file":"uri.all.js","sources":["../esnext/util.js","../esnext/regexps-uri.js","../esnext/regexps-iri.js","../../../../../usr/share/nodejs/rollup-plugin-node-polyfills/polyfills/punycode.js","../esnext/uri.js","../esnext/schemes/http.js","../esnext/schemes/https.js","../esnext/schemes/ws.js","../esnext/schemes/wss.js","../esnext/schemes/mailto.js","../esnext/schemes/urn.js","../esnext/schemes/urn-uuid.js","../esnext/index.js"],"sourcesContent":["export function merge(...sets) {\n    if (sets.length > 1) {\n        sets[0] = sets[0].slice(0, -1);\n        const xl = sets.length - 1;\n        for (let 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    }\n    else {\n        return sets[0];\n    }\n}\nexport function subexp(str) {\n    return \"(?:\" + str + \")\";\n}\nexport function typeOf(o) {\n    return o === undefined ? \"undefined\" : (o === null ? \"null\" : Object.prototype.toString.call(o).split(\" \").pop().split(\"]\").shift().toLowerCase());\n}\nexport function toUpperCase(str) {\n    return str.toUpperCase();\n}\nexport function 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}\nexport function assign(target, source) {\n    const obj = target;\n    if (source) {\n        for (const key in source) {\n            obj[key] = source[key];\n        }\n    }\n    return obj;\n}\n//# sourceMappingURL=util.js.map","import { merge, subexp } from \"./util\";\nexport function buildExps(isIRI) {\n    const ALPHA$$ = \"[A-Za-z]\", CR$ = \"[\\\\x0D]\", DIGIT$$ = \"[0-9]\", DQUOTE$$ = \"[\\\\x22]\", HEXDIG$$ = merge(DIGIT$$, \"[A-Fa-f]\"), //case-insensitive\n    LF$$ = \"[\\\\x0A]\", SP$$ = \"[\\\\x20]\", PCT_ENCODED$ = subexp(subexp(\"%[EFef]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%[89A-Fa-f]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%\" + HEXDIG$$ + HEXDIG$$)), //expanded\n    GEN_DELIMS$$ = \"[\\\\:\\\\/\\\\?\\\\#\\\\[\\\\]\\\\@]\", SUB_DELIMS$$ = \"[\\\\!\\\\$\\\\&\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\=]\", RESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$), UCSCHAR$$ = isIRI ? \"[\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF]\" : \"[]\", //subset, excludes bidi control characters\n    IPRIVATE$$ = isIRI ? \"[\\\\uE000-\\\\uF8FF]\" : \"[]\", //subset\n    UNRESERVED$$ = merge(ALPHA$$, DIGIT$$, \"[\\\\-\\\\.\\\\_\\\\~]\", UCSCHAR$$), SCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, \"[\\\\+\\\\-\\\\.]\") + \"*\"), USERINFO$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:]\")) + \"*\"), DEC_OCTET$ = subexp(subexp(\"25[0-5]\") + \"|\" + subexp(\"2[0-4]\" + DIGIT$$) + \"|\" + subexp(\"1\" + DIGIT$$ + DIGIT$$) + \"|\" + subexp(\"[1-9]\" + DIGIT$$) + \"|\" + DIGIT$$), 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$$), //relaxed parsing rules\n    IPV4ADDRESS$ = subexp(DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$), H16$ = subexp(HEXDIG$$ + \"{1,4}\"), LS32$ = subexp(subexp(H16$ + \"\\\\:\" + H16$) + \"|\" + IPV4ADDRESS$), IPV6ADDRESS1$ = subexp(subexp(H16$ + \"\\\\:\") + \"{6}\" + LS32$), //                           6( h16 \":\" ) ls32\n    IPV6ADDRESS2$ = subexp(\"\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{5}\" + LS32$), //                      \"::\" 5( h16 \":\" ) ls32\n    IPV6ADDRESS3$ = subexp(subexp(H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{4}\" + LS32$), //[               h16 ] \"::\" 4( h16 \":\" ) ls32\n    IPV6ADDRESS4$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,1}\" + H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{3}\" + LS32$), //[ *1( h16 \":\" ) h16 ] \"::\" 3( h16 \":\" ) ls32\n    IPV6ADDRESS5$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,2}\" + H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{2}\" + LS32$), //[ *2( h16 \":\" ) h16 ] \"::\" 2( h16 \":\" ) ls32\n    IPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,3}\" + H16$) + \"?\\\\:\\\\:\" + H16$ + \"\\\\:\" + LS32$), //[ *3( h16 \":\" ) h16 ] \"::\"    h16 \":\"   ls32\n    IPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,4}\" + H16$) + \"?\\\\:\\\\:\" + LS32$), //[ *4( h16 \":\" ) h16 ] \"::\"              ls32\n    IPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,5}\" + H16$) + \"?\\\\:\\\\:\" + H16$), //[ *5( h16 \":\" ) h16 ] \"::\"              h16\n    IPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,6}\" + H16$) + \"?\\\\:\\\\:\"), //[ *6( h16 \":\" ) h16 ] \"::\"\n    IPV6ADDRESS$ = subexp([IPV6ADDRESS1$, IPV6ADDRESS2$, IPV6ADDRESS3$, IPV6ADDRESS4$, IPV6ADDRESS5$, IPV6ADDRESS6$, IPV6ADDRESS7$, IPV6ADDRESS8$, IPV6ADDRESS9$].join(\"|\")), ZONEID$ = subexp(subexp(UNRESERVED$$ + \"|\" + PCT_ENCODED$) + \"+\"), //RFC 6874\n    IPV6ADDRZ$ = subexp(IPV6ADDRESS$ + \"\\\\%25\" + ZONEID$), //RFC 6874\n    IPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp(\"\\\\%25|\\\\%(?!\" + HEXDIG$$ + \"{2})\") + ZONEID$), //RFC 6874, with relaxed parsing rules\n    IPVFUTURE$ = subexp(\"[vV]\" + HEXDIG$$ + \"+\\\\.\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:]\") + \"+\"), IP_LITERAL$ = subexp(\"\\\\[\" + subexp(IPV6ADDRZ_RELAXED$ + \"|\" + IPV6ADDRESS$ + \"|\" + IPVFUTURE$) + \"\\\\]\"), //RFC 6874\n    REG_NAME$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$)) + \"*\"), HOST$ = subexp(IP_LITERAL$ + \"|\" + IPV4ADDRESS$ + \"(?!\" + REG_NAME$ + \")\" + \"|\" + REG_NAME$), PORT$ = subexp(DIGIT$$ + \"*\"), AUTHORITY$ = subexp(subexp(USERINFO$ + \"@\") + \"?\" + HOST$ + subexp(\"\\\\:\" + PORT$) + \"?\"), PCHAR$ = subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@]\")), SEGMENT$ = subexp(PCHAR$ + \"*\"), SEGMENT_NZ$ = subexp(PCHAR$ + \"+\"), SEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\@]\")) + \"+\"), PATH_ABEMPTY$ = subexp(subexp(\"\\\\/\" + SEGMENT$) + \"*\"), PATH_ABSOLUTE$ = subexp(\"\\\\/\" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + \"?\"), //simplified\n    PATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$), //simplified\n    PATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$), //simplified\n    PATH_EMPTY$ = \"(?!\" + PCHAR$ + \")\", PATH$ = subexp(PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$), QUERY$ = subexp(subexp(PCHAR$ + \"|\" + merge(\"[\\\\/\\\\?]\", IPRIVATE$$)) + \"*\"), FRAGMENT$ = subexp(subexp(PCHAR$ + \"|[\\\\/\\\\?]\") + \"*\"), HIER_PART$ = subexp(subexp(\"\\\\/\\\\/\" + AUTHORITY$ + PATH_ABEMPTY$) + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$), URI$ = subexp(SCHEME$ + \"\\\\:\" + HIER_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\" + subexp(\"\\\\#\" + FRAGMENT$) + \"?\"), RELATIVE_PART$ = subexp(subexp(\"\\\\/\\\\/\" + AUTHORITY$ + PATH_ABEMPTY$) + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_EMPTY$), RELATIVE$ = subexp(RELATIVE_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\" + subexp(\"\\\\#\" + FRAGMENT$) + \"?\"), URI_REFERENCE$ = subexp(URI$ + \"|\" + RELATIVE$), ABSOLUTE_URI$ = subexp(SCHEME$ + \"\\\\:\" + HIER_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\"), GENERIC_REF$ = \"^(\" + SCHEME$ + \")\\\\:\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\", RELATIVE_REF$ = \"^(){0}\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\", ABSOLUTE_REF$ = \"^(\" + SCHEME$ + \")\\\\:\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?$\", SAMEDOC_REF$ = \"^\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\", 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}\nexport default buildExps(false);\n//# sourceMappingURL=regexps-uri.js.map","import { buildExps } from \"./regexps-uri\";\nexport default buildExps(true);\n//# sourceMappingURL=regexps-iri.js.map","/*! https://mths.be/punycode v1.4.1 by @mathias */\n\n\n/** Highest positive signed 32-bit float value */\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 = /[^\\x20-\\x7E]/; // unprintable ASCII chars + non-ASCII chars\nvar regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\n\n/** Error messages */\nvar errors = {\n  'overflow': 'Overflow: input needs wider integers to process',\n  'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n  '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(type) {\n  throw 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  var length = array.length;\n  var result = [];\n  while (length--) {\n    result[length] = fn(array[length]);\n  }\n  return 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  var parts = string.split('@');\n  var result = '';\n  if (parts.length > 1) {\n    // In email addresses, only the domain name should be punycoded. Leave\n    // the local part (i.e. everything up to `@`) intact.\n    result = parts[0] + '@';\n    string = parts[1];\n  }\n  // Avoid `split(regex)` for IE8 compatibility. See #17.\n  string = string.replace(regexSeparators, '\\x2E');\n  var labels = string.split('.');\n  var encoded = map(labels, fn).join('.');\n  return 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  var output = [],\n    counter = 0,\n    length = string.length,\n    value,\n    extra;\n  while (counter < length) {\n    value = string.charCodeAt(counter++);\n    if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n      // high surrogate, and there is a next character\n      extra = string.charCodeAt(counter++);\n      if ((extra & 0xFC00) == 0xDC00) { // low surrogate\n        output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n      } else {\n        // unmatched surrogate; only append this code unit, in case the next\n        // code unit is the high surrogate of a surrogate pair\n        output.push(value);\n        counter--;\n      }\n    } else {\n      output.push(value);\n    }\n  }\n  return 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 */\nfunction ucs2encode(array) {\n  return map(array, function(value) {\n    var output = '';\n    if (value > 0xFFFF) {\n      value -= 0x10000;\n      output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n      value = 0xDC00 | value & 0x3FF;\n    }\n    output += stringFromCharCode(value);\n    return output;\n  }).join('');\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 */\nfunction basicToDigit(codePoint) {\n  if (codePoint - 48 < 10) {\n    return codePoint - 22;\n  }\n  if (codePoint - 65 < 26) {\n    return codePoint - 65;\n  }\n  if (codePoint - 97 < 26) {\n    return codePoint - 97;\n  }\n  return 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 */\nfunction digitToBasic(digit, flag) {\n  //  0..25 map to ASCII a..z or A..Z\n  // 26..35 map to ASCII 0..9\n  return 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 */\nfunction adapt(delta, numPoints, firstTime) {\n  var k = 0;\n  delta = firstTime ? floor(delta / damp) : delta >> 1;\n  delta += floor(delta / numPoints);\n  for ( /* no initialization */ ; delta > baseMinusTMin * tMax >> 1; k += base) {\n    delta = floor(delta / baseMinusTMin);\n  }\n  return 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 */\nexport function decode(input) {\n  // Don't use UCS-2\n  var output = [],\n    inputLength = input.length,\n    out,\n    i = 0,\n    n = initialN,\n    bias = initialBias,\n    basic,\n    j,\n    index,\n    oldi,\n    w,\n    k,\n    digit,\n    t,\n    /** Cached calculation results */\n    baseMinusT;\n\n  // Handle the basic code points: let `basic` be the number of input code\n  // points before the last delimiter, or `0` if there is none, then copy\n  // the first basic code points to the output.\n\n  basic = input.lastIndexOf(delimiter);\n  if (basic < 0) {\n    basic = 0;\n  }\n\n  for (j = 0; j < basic; ++j) {\n    // if it's not a basic code point\n    if (input.charCodeAt(j) >= 0x80) {\n      error('not-basic');\n    }\n    output.push(input.charCodeAt(j));\n  }\n\n  // Main decoding loop: start just after the last delimiter if any basic code\n  // points were copied; start at the beginning otherwise.\n\n  for (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */ ) {\n\n    // `index` is the index of the next character to be consumed.\n    // Decode a generalized variable-length integer into `delta`,\n    // which gets added to `i`. The overflow checking is easier\n    // if we increase `i` as we go, then subtract off its starting\n    // value at the end to obtain `delta`.\n    for (oldi = i, w = 1, k = base; /* no condition */ ; k += base) {\n\n      if (index >= inputLength) {\n        error('invalid-input');\n      }\n\n      digit = basicToDigit(input.charCodeAt(index++));\n\n      if (digit >= base || digit > floor((maxInt - i) / w)) {\n        error('overflow');\n      }\n\n      i += digit * w;\n      t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n      if (digit < t) {\n        break;\n      }\n\n      baseMinusT = base - t;\n      if (w > floor(maxInt / baseMinusT)) {\n        error('overflow');\n      }\n\n      w *= baseMinusT;\n\n    }\n\n    out = output.length + 1;\n    bias = adapt(i - oldi, out, oldi == 0);\n\n    // `i` was supposed to wrap around from `out` to `0`,\n    // incrementing `n` each time, so we'll fix that now:\n    if (floor(i / out) > maxInt - n) {\n      error('overflow');\n    }\n\n    n += floor(i / out);\n    i %= out;\n\n    // Insert `n` at position `i` of the output\n    output.splice(i++, 0, n);\n\n  }\n\n  return ucs2encode(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 */\nexport function encode(input) {\n  var n,\n    delta,\n    handledCPCount,\n    basicLength,\n    bias,\n    j,\n    m,\n    q,\n    k,\n    t,\n    currentValue,\n    output = [],\n    /** `inputLength` will hold the number of code points in `input`. */\n    inputLength,\n    /** Cached calculation results */\n    handledCPCountPlusOne,\n    baseMinusT,\n    qMinusT;\n\n  // Convert the input in UCS-2 to Unicode\n  input = ucs2decode(input);\n\n  // Cache the length\n  inputLength = input.length;\n\n  // Initialize the state\n  n = initialN;\n  delta = 0;\n  bias = initialBias;\n\n  // Handle the basic code points\n  for (j = 0; j < inputLength; ++j) {\n    currentValue = input[j];\n    if (currentValue < 0x80) {\n      output.push(stringFromCharCode(currentValue));\n    }\n  }\n\n  handledCPCount = basicLength = output.length;\n\n  // `handledCPCount` is the number of code points that have been handled;\n  // `basicLength` is the number of basic code points.\n\n  // Finish the basic string - if it is not empty - with a delimiter\n  if (basicLength) {\n    output.push(delimiter);\n  }\n\n  // Main encoding loop:\n  while (handledCPCount < inputLength) {\n\n    // All non-basic code points < n have been handled already. Find the next\n    // larger one:\n    for (m = maxInt, j = 0; j < inputLength; ++j) {\n      currentValue = input[j];\n      if (currentValue >= n && currentValue < m) {\n        m = currentValue;\n      }\n    }\n\n    // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n    // but guard against overflow\n    handledCPCountPlusOne = handledCPCount + 1;\n    if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n      error('overflow');\n    }\n\n    delta += (m - n) * handledCPCountPlusOne;\n    n = m;\n\n    for (j = 0; j < inputLength; ++j) {\n      currentValue = input[j];\n\n      if (currentValue < n && ++delta > maxInt) {\n        error('overflow');\n      }\n\n      if (currentValue == n) {\n        // Represent delta as a generalized variable-length integer\n        for (q = delta, k = base; /* no condition */ ; k += base) {\n          t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n          if (q < t) {\n            break;\n          }\n          qMinusT = q - t;\n          baseMinusT = base - t;\n          output.push(\n            stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n          );\n          q = floor(qMinusT / baseMinusT);\n        }\n\n        output.push(stringFromCharCode(digitToBasic(q, 0)));\n        bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n        delta = 0;\n        ++handledCPCount;\n      }\n    }\n\n    ++delta;\n    ++n;\n\n  }\n  return 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 */\nexport function toUnicode(input) {\n  return mapDomain(input, function(string) {\n    return regexPunycode.test(string) ?\n      decode(string.slice(4).toLowerCase()) :\n      string;\n  });\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 */\nexport function toASCII(input) {\n  return mapDomain(input, function(string) {\n    return regexNonASCII.test(string) ?\n      'xn--' + encode(string) :\n      string;\n  });\n}\nexport var version = '1.4.1';\n/**\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\nexport var ucs2 = {\n  decode: ucs2decode,\n  encode: ucs2encode\n};\nexport default {\n  version: version,\n  ucs2: ucs2,\n  toASCII: toASCII,\n  toUnicode: toUnicode,\n  encode: encode,\n  decode: decode\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 */\nimport URI_PROTOCOL from \"./regexps-uri\";\nimport IRI_PROTOCOL from \"./regexps-iri\";\nimport punycode from \"punycode\";\nimport { toUpperCase, typeOf, assign } from \"./util\";\nexport const SCHEMES = {};\nexport function pctEncChar(chr) {\n    const c = chr.charCodeAt(0);\n    let e;\n    if (c < 16)\n        e = \"%0\" + c.toString(16).toUpperCase();\n    else if (c < 128)\n        e = \"%\" + c.toString(16).toUpperCase();\n    else if (c < 2048)\n        e = \"%\" + ((c >> 6) | 192).toString(16).toUpperCase() + \"%\" + ((c & 63) | 128).toString(16).toUpperCase();\n    else\n        e = \"%\" + ((c >> 12) | 224).toString(16).toUpperCase() + \"%\" + (((c >> 6) & 63) | 128).toString(16).toUpperCase() + \"%\" + ((c & 63) | 128).toString(16).toUpperCase();\n    return e;\n}\nexport function pctDecChars(str) {\n    let newStr = \"\";\n    let i = 0;\n    const il = str.length;\n    while (i < il) {\n        const c = parseInt(str.substr(i + 1, 2), 16);\n        if (c < 128) {\n            newStr += String.fromCharCode(c);\n            i += 3;\n        }\n        else if (c >= 194 && c < 224) {\n            if ((il - i) >= 6) {\n                const c2 = parseInt(str.substr(i + 4, 2), 16);\n                newStr += String.fromCharCode(((c & 31) << 6) | (c2 & 63));\n            }\n            else {\n                newStr += str.substr(i, 6);\n            }\n            i += 6;\n        }\n        else if (c >= 224) {\n            if ((il - i) >= 9) {\n                const c2 = parseInt(str.substr(i + 4, 2), 16);\n                const c3 = parseInt(str.substr(i + 7, 2), 16);\n                newStr += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\n            }\n            else {\n                newStr += str.substr(i, 9);\n            }\n            i += 9;\n        }\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        const decStr = pctDecChars(str);\n        return (!decStr.match(protocol.UNRESERVED) ? str : decStr);\n    }\n    if (components.scheme)\n        components.scheme = String(components.scheme).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_SCHEME, \"\");\n    if (components.userinfo !== undefined)\n        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)\n        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)\n        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)\n        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)\n        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    const matches = host.match(protocol.IPV4ADDRESS) || [];\n    const [, address] = matches;\n    if (address) {\n        return address.split(\".\").map(_stripLeadingZeros).join(\".\");\n    }\n    else {\n        return host;\n    }\n}\nfunction _normalizeIPv6(host, protocol) {\n    const matches = host.match(protocol.IPV6ADDRESS) || [];\n    const [, address, zone] = matches;\n    if (address) {\n        const [last, first] = address.toLowerCase().split('::').reverse();\n        const firstFields = first ? first.split(\":\").map(_stripLeadingZeros) : [];\n        const lastFields = last.split(\":\").map(_stripLeadingZeros);\n        const isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]);\n        const fieldCount = isLastFieldIPv4Address ? 7 : 8;\n        const lastFieldsStart = lastFields.length - fieldCount;\n        const fields = Array(fieldCount);\n        for (let 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        const allZeroFields = fields.reduce((acc, field, index) => {\n            if (!field || field === \"0\") {\n                const lastLongest = acc[acc.length - 1];\n                if (lastLongest && lastLongest.index + lastLongest.length === index) {\n                    lastLongest.length++;\n                }\n                else {\n                    acc.push({ index, length: 1 });\n                }\n            }\n            return acc;\n        }, []);\n        const longestZeroFields = allZeroFields.sort((a, b) => b.length - a.length)[0];\n        let newHost;\n        if (longestZeroFields && longestZeroFields.length > 1) {\n            const newFirst = fields.slice(0, longestZeroFields.index);\n            const newLast = fields.slice(longestZeroFields.index + longestZeroFields.length);\n            newHost = newFirst.join(\":\") + \"::\" + newLast.join(\":\");\n        }\n        else {\n            newHost = fields.join(\":\");\n        }\n        if (zone) {\n            newHost += \"%\" + zone;\n        }\n        return newHost;\n    }\n    else {\n        return host;\n    }\n}\nconst URI_PARSE = /^(?:([^:\\/?#]+):)?(?:\\/\\/((?:([^\\/?#@]*)@)?(\\[[^\\/?#\\]]+\\]|[^\\/?#:]*)(?:\\:(\\d*))?))?([^?#]*)(?:\\?([^#]*))?(?:#((?:.|\\n|\\r)*))?/i;\nconst NO_MATCH_IS_UNDEFINED = (\"\").match(/(){0}/)[1] === undefined;\nexport function parse(uriString, options = {}) {\n    const components = {};\n    const protocol = (options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL);\n    if (options.reference === \"suffix\")\n        uriString = (options.scheme ? options.scheme + \":\" : \"\") + \"//\" + uriString;\n    const 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        }\n        else { //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        }\n        else if (components.scheme === undefined) {\n            components.reference = \"relative\";\n        }\n        else if (components.fragment === undefined) {\n            components.reference = \"absolute\";\n        }\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        const 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                }\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        }\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    }\n    else {\n        components.error = components.error || \"URI can not be parsed.\";\n    }\n    return components;\n}\n;\nfunction _recomposeAuthority(components, options) {\n    const protocol = (options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL);\n    const 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, (_, $1, $2) => \"[\" + $1 + ($2 ? \"%25\" + $2 : \"\") + \"]\"));\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;\nconst RDS1 = /^\\.\\.?\\//;\nconst RDS2 = /^\\/\\.(\\/|$)/;\nconst RDS3 = /^\\/\\.\\.(\\/|$)/;\nconst RDS4 = /^\\.\\.?$/;\nconst RDS5 = /^\\/?(?:.|\\n)*?(?=\\/|$)/;\nexport function removeDotSegments(input) {\n    const output = [];\n    while (input.length) {\n        if (input.match(RDS1)) {\n            input = input.replace(RDS1, \"\");\n        }\n        else if (input.match(RDS2)) {\n            input = input.replace(RDS2, \"/\");\n        }\n        else if (input.match(RDS3)) {\n            input = input.replace(RDS3, \"/\");\n            output.pop();\n        }\n        else if (input === \".\" || input === \"..\") {\n            input = \"\";\n        }\n        else {\n            const im = input.match(RDS5);\n            if (im) {\n                const s = im[0];\n                input = input.slice(s.length);\n                output.push(s);\n            }\n            else {\n                throw new Error(\"Unexpected dot segment condition\");\n            }\n        }\n    }\n    return output.join(\"\");\n}\n;\nexport function serialize(components, options = {}) {\n    const protocol = (options.iri ? IRI_PROTOCOL : URI_PROTOCOL);\n    const uriTokens = [];\n    //find scheme handler\n    const schemeHandler = SCHEMES[(options.scheme || components.scheme || \"\").toLowerCase()];\n    //perform scheme specific serialization\n    if (schemeHandler && schemeHandler.serialize)\n        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            }\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    const 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        let 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;\nexport function resolveComponents(base, relative, options = {}, skipNormalization) {\n    const 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    }\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        }\n        else {\n            if (!relative.path) {\n                target.path = base.path;\n                if (relative.query !== undefined) {\n                    target.query = relative.query;\n                }\n                else {\n                    target.query = base.query;\n                }\n            }\n            else {\n                if (relative.path.charAt(0) === \"/\") {\n                    target.path = removeDotSegments(relative.path);\n                }\n                else {\n                    if ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) {\n                        target.path = \"/\" + relative.path;\n                    }\n                    else if (!base.path) {\n                        target.path = relative.path;\n                    }\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;\nexport function resolve(baseURI, relativeURI, options) {\n    const schemelessOptions = assign({ scheme: 'null' }, options);\n    return serialize(resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true), schemelessOptions);\n}\n;\nexport function normalize(uri, options) {\n    if (typeof uri === \"string\") {\n        uri = serialize(parse(uri, options), options);\n    }\n    else if (typeOf(uri) === \"object\") {\n        uri = parse(serialize(uri, options), options);\n    }\n    return uri;\n}\n;\nexport function equal(uriA, uriB, options) {\n    if (typeof uriA === \"string\") {\n        uriA = serialize(parse(uriA, options), options);\n    }\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    }\n    else if (typeOf(uriB) === \"object\") {\n        uriB = serialize(uriB, options);\n    }\n    return uriA === uriB;\n}\n;\nexport function escapeComponent(str, options) {\n    return str && str.toString().replace((!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE), pctEncChar);\n}\n;\nexport function unescapeComponent(str, options) {\n    return str && str.toString().replace((!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED), pctDecChars);\n}\n;\n//# sourceMappingURL=uri.js.map","const handler = {\n    scheme: \"http\",\n    domainHost: true,\n    parse: function (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 (components, options) {\n        const 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};\nexport default handler;\n//# sourceMappingURL=http.js.map","import http from \"./http\";\nconst handler = {\n    scheme: \"https\",\n    domainHost: http.domainHost,\n    parse: http.parse,\n    serialize: http.serialize\n};\nexport default handler;\n//# sourceMappingURL=https.js.map","function isSecure(wsComponents) {\n    return typeof wsComponents.secure === 'boolean' ? wsComponents.secure : String(wsComponents.scheme).toLowerCase() === \"wss\";\n}\n//RFC 6455\nconst handler = {\n    scheme: \"ws\",\n    domainHost: true,\n    parse: function (components, options) {\n        const 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 (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            const [path, query] = wsComponents.resourceName.split('?');\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};\nexport default handler;\n//# sourceMappingURL=ws.js.map","import ws from \"./ws\";\nconst handler = {\n    scheme: \"wss\",\n    domainHost: ws.domainHost,\n    parse: ws.parse,\n    serialize: ws.serialize\n};\nexport default handler;\n//# sourceMappingURL=wss.js.map","import { pctEncChar, pctDecChars, unescapeComponent } from \"../uri\";\nimport punycode from \"punycode\";\nimport { merge, subexp, toUpperCase, toArray } from \"../util\";\nconst O = {};\nconst isIRI = true;\n//RFC 3986\nconst UNRESERVED$$ = \"[A-Za-z0-9\\\\-\\\\.\\\\_\\\\~\" + (isIRI ? \"\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF\" : \"\") + \"]\";\nconst HEXDIG$$ = \"[0-9A-Fa-f]\"; //case-insensitive\nconst 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$ + \"?\" + '\\\\\"');\nconst ATEXT$$ = \"[A-Za-z0-9\\\\!\\\\$\\\\%\\\\'\\\\*\\\\+\\\\-\\\\^\\\\_\\\\`\\\\{\\\\|\\\\}\\\\~]\";\nconst QTEXT$$ = \"[\\\\!\\\\$\\\\%\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\-\\\\.0-9\\\\<\\\\>A-Z\\\\x5E-\\\\x7E]\";\nconst VCHAR$$ = merge(QTEXT$$, \"[\\\\\\\"\\\\\\\\]\");\nconst DOT_ATOM_TEXT$ = subexp(ATEXT$$ + \"+\" + subexp(\"\\\\.\" + ATEXT$$ + \"+\") + \"*\");\nconst QUOTED_PAIR$ = subexp(\"\\\\\\\\\" + VCHAR$$);\nconst QCONTENT$ = subexp(QTEXT$$ + \"|\" + QUOTED_PAIR$);\nconst QUOTED_STRING$ = subexp('\\\\\"' + QCONTENT$ + \"*\" + '\\\\\"');\n//RFC 6068\nconst DTEXT_NO_OBS$$ = \"[\\\\x21-\\\\x5A\\\\x5E-\\\\x7E]\"; //%d33-90 / %d94-126\nconst SOME_DELIMS$$ = \"[\\\\!\\\\$\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\:\\\\@]\";\nconst QCHAR$ = subexp(UNRESERVED$$ + \"|\" + PCT_ENCODED$ + \"|\" + SOME_DELIMS$$);\nconst DOMAIN$ = subexp(DOT_ATOM_TEXT$ + \"|\" + \"\\\\[\" + DTEXT_NO_OBS$$ + \"*\" + \"\\\\]\");\nconst LOCAL_PART$ = subexp(DOT_ATOM_TEXT$ + \"|\" + QUOTED_STRING$);\nconst ADDR_SPEC$ = subexp(LOCAL_PART$ + \"\\\\@\" + DOMAIN$);\nconst TO$ = subexp(ADDR_SPEC$ + subexp(\"\\\\,\" + ADDR_SPEC$) + \"*\");\nconst HFNAME$ = subexp(QCHAR$ + \"*\");\nconst HFVALUE$ = HFNAME$;\nconst HFIELD$ = subexp(HFNAME$ + \"\\\\=\" + HFVALUE$);\nconst HFIELDS2$ = subexp(HFIELD$ + subexp(\"\\\\&\" + HFIELD$) + \"*\");\nconst HFIELDS$ = subexp(\"\\\\?\" + HFIELDS2$);\nconst MAILTO_URI = new RegExp(\"^mailto\\\\:\" + TO$ + \"?\" + HFIELDS$ + \"?$\");\nconst UNRESERVED = new RegExp(UNRESERVED$$, \"g\");\nconst PCT_ENCODED = new RegExp(PCT_ENCODED$, \"g\");\nconst NOT_LOCAL_PART = new RegExp(merge(\"[^]\", ATEXT$$, \"[\\\\.]\", '[\\\\\"]', VCHAR$$), \"g\");\nconst NOT_DOMAIN = new RegExp(merge(\"[^]\", ATEXT$$, \"[\\\\.]\", \"[\\\\[]\", DTEXT_NO_OBS$$, \"[\\\\]]\"), \"g\");\nconst NOT_HFNAME = new RegExp(merge(\"[^]\", UNRESERVED$$, SOME_DELIMS$$), \"g\");\nconst NOT_HFVALUE = NOT_HFNAME;\nconst TO = new RegExp(\"^\" + TO$ + \"$\");\nconst HFIELDS = new RegExp(\"^\" + HFIELDS2$ + \"$\");\nfunction decodeUnreserved(str) {\n    const decStr = pctDecChars(str);\n    return (!decStr.match(UNRESERVED) ? str : decStr);\n}\nconst handler = {\n    scheme: \"mailto\",\n    parse: function (components, options) {\n        const mailtoComponents = components;\n        const to = mailtoComponents.to = (mailtoComponents.path ? mailtoComponents.path.split(\",\") : []);\n        mailtoComponents.path = undefined;\n        if (mailtoComponents.query) {\n            let unknownHeaders = false;\n            const headers = {};\n            const hfields = mailtoComponents.query.split(\"&\");\n            for (let x = 0, xl = hfields.length; x < xl; ++x) {\n                const hfield = hfields[x].split(\"=\");\n                switch (hfield[0]) {\n                    case \"to\":\n                        const toAddrs = hfield[1].split(\",\");\n                        for (let 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)\n                mailtoComponents.headers = headers;\n        }\n        mailtoComponents.query = undefined;\n        for (let x = 0, xl = to.length; x < xl; ++x) {\n            const addr = to[x].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                }\n                catch (e) {\n                    mailtoComponents.error = mailtoComponents.error || \"Email address's domain name can not be converted to ASCII via punycode: \" + e;\n                }\n            }\n            else {\n                addr[1] = unescapeComponent(addr[1], options).toLowerCase();\n            }\n            to[x] = addr.join(\"@\");\n        }\n        return mailtoComponents;\n    },\n    serialize: function (mailtoComponents, options) {\n        const components = mailtoComponents;\n        const to = toArray(mailtoComponents.to);\n        if (to) {\n            for (let x = 0, xl = to.length; x < xl; ++x) {\n                const toAddr = String(to[x]);\n                const atIdx = toAddr.lastIndexOf(\"@\");\n                const localPart = (toAddr.slice(0, atIdx)).replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_LOCAL_PART, pctEncChar);\n                let 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                }\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        const headers = mailtoComponents.headers = mailtoComponents.headers || {};\n        if (mailtoComponents.subject)\n            headers[\"subject\"] = mailtoComponents.subject;\n        if (mailtoComponents.body)\n            headers[\"body\"] = mailtoComponents.body;\n        const fields = [];\n        for (const 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) +\n                    \"=\" +\n                    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};\nexport default handler;\n//# sourceMappingURL=mailto.js.map","import { SCHEMES } from \"../uri\";\nconst NID$ = \"(?:[0-9A-Za-z][0-9A-Za-z\\\\-]{1,31})\";\nconst PCT_ENCODED$ = \"(?:\\\\%[0-9A-Fa-f]{2})\";\nconst TRANS$$ = \"[0-9A-Za-z\\\\(\\\\)\\\\+\\\\,\\\\-\\\\.\\\\:\\\\=\\\\@\\\\;\\\\$\\\\_\\\\!\\\\*\\\\'\\\\/\\\\?\\\\#]\";\nconst NSS$ = \"(?:(?:\" + PCT_ENCODED$ + \"|\" + TRANS$$ + \")+)\";\nconst URN_SCHEME = new RegExp(\"^urn\\\\:(\" + NID$ + \")$\");\nconst URN_PATH = new RegExp(\"^(\" + NID$ + \")\\\\:(\" + NSS$ + \")$\");\nconst URN_PARSE = /^([^\\:]+)\\:(.*)/;\nconst URN_EXCLUDED = /[\\x00-\\x20\\\\\\\"\\&\\<\\>\\[\\]\\^\\`\\{\\|\\}\\~\\x7F-\\xFF]/g;\n//RFC 2141\nconst handler = {\n    scheme: \"urn\",\n    parse: function (components, options) {\n        const matches = components.path && components.path.match(URN_PARSE);\n        let urnComponents = components;\n        if (matches) {\n            const scheme = options.scheme || urnComponents.scheme || \"urn\";\n            const nid = matches[1].toLowerCase();\n            const nss = matches[2];\n            const urnScheme = `${scheme}:${options.nid || nid}`;\n            const 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        }\n        else {\n            urnComponents.error = urnComponents.error || \"URN can not be parsed.\";\n        }\n        return urnComponents;\n    },\n    serialize: function (urnComponents, options) {\n        const scheme = options.scheme || urnComponents.scheme || \"urn\";\n        const nid = urnComponents.nid;\n        const urnScheme = `${scheme}:${options.nid || nid}`;\n        const schemeHandler = SCHEMES[urnScheme];\n        if (schemeHandler) {\n            urnComponents = schemeHandler.serialize(urnComponents, options);\n        }\n        const uriComponents = urnComponents;\n        const nss = urnComponents.nss;\n        uriComponents.path = `${nid || options.nid}:${nss}`;\n        return uriComponents;\n    },\n};\nexport default handler;\n//# sourceMappingURL=urn.js.map","const UUID = /^[0-9A-Fa-f]{8}(?:\\-[0-9A-Fa-f]{4}){3}\\-[0-9A-Fa-f]{12}$/;\nconst UUID_PARSE = /^[0-9A-Fa-f\\-]{36}/;\n//RFC 4122\nconst handler = {\n    scheme: \"urn:uuid\",\n    parse: function (urnComponents, options) {\n        const 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 (uuidComponents, options) {\n        const urnComponents = uuidComponents;\n        //normalize UUID\n        urnComponents.nss = (uuidComponents.uuid || \"\").toLowerCase();\n        return urnComponents;\n    },\n};\nexport default handler;\n//# sourceMappingURL=urn-uuid.js.map","import { SCHEMES } from \"./uri\";\nimport http from \"./schemes/http\";\nSCHEMES[http.scheme] = http;\nimport https from \"./schemes/https\";\nSCHEMES[https.scheme] = https;\nimport ws from \"./schemes/ws\";\nSCHEMES[ws.scheme] = ws;\nimport wss from \"./schemes/wss\";\nSCHEMES[wss.scheme] = wss;\nimport mailto from \"./schemes/mailto\";\nSCHEMES[mailto.scheme] = mailto;\nimport urn from \"./schemes/urn\";\nSCHEMES[urn.scheme] = urn;\nimport uuid from \"./schemes/urn-uuid\";\nSCHEMES[uuid.scheme] = uuid;\nexport * from \"./uri\";\n//# sourceMappingURL=index.js.map"],"names":["merge","sets","length","slice","xl","x","join","subexp","str","typeOf","o","undefined","Object","prototype","toString","call","split","pop","shift","toLowerCase","toUpperCase","toArray","obj","Array","setInterval","assign","target","source","key","buildExps","isIRI","ALPHA$$","CR$","DIGIT$$","DQUOTE$$","HEXDIG$$","PCT_ENCODED$","GEN_DELIMS$$","SUB_DELIMS$$","RESERVED$$","UCSCHAR$$","IPRIVATE$$","UNRESERVED$$","SCHEME$","DEC_OCTET$","DEC_OCTET_RELAXED$","IPV4ADDRESS$","H16$","LS32$","IPV6ADDRESS1$","IPV6ADDRESS2$","IPV6ADDRESS3$","IPV6ADDRESS4$","IPV6ADDRESS5$","IPV6ADDRESS6$","IPV6ADDRESS7$","IPV6ADDRESS8$","IPV6ADDRESS9$","IPV6ADDRESS$","ZONEID$","IPVFUTURE$","IP_LITERAL$","REG_NAME$","HOST$","PCHAR$","SEGMENT$","NOT_SCHEME","RegExp","NOT_USERINFO","NOT_HOST","NOT_PATH","NOT_PATH_NOSCHEME","NOT_QUERY","NOT_FRAGMENT","ESCAPE","UNRESERVED","OTHER_CHARS","PCT_ENCODED","IPV4ADDRESS","IPV6ADDRESS","maxInt","base","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexPunycode","regexNonASCII","regexSeparators","errors","baseMinusTMin","floor","Math","stringFromCharCode","String","fromCharCode","error","type","RangeError","map","array","fn","result","mapDomain","string","parts","replace","labels","encoded","ucs2decode","output","counter","value","extra","charCodeAt","push","ucs2encode","basicToDigit","codePoint","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","k","decode","input","inputLength","out","i","n","bias","basic","j","index","oldi","w","t","baseMinusT","lastIndexOf","splice","encode","handledCPCount","basicLength","m","q","currentValue","handledCPCountPlusOne","qMinusT","toUnicode","test","toASCII","version","ucs2","SCHEMES","pctEncChar","chr","c","e","pctDecChars","newStr","il","parseInt","substr","c2","c3","_normalizeComponentEncoding","components","protocol","decodeUnreserved","decStr","match","scheme","userinfo","host","path","query","fragment","_stripLeadingZeros","_normalizeIPv4","matches","address","_normalizeIPv6","zone","last","first","reverse","firstFields","lastFields","isLastFieldIPv4Address","fieldCount","lastFieldsStart","fields","allZeroFields","reduce","acc","field","lastLongest","longestZeroFields","sort","a","b","newHost","newFirst","newLast","URI_PARSE","NO_MATCH_IS_UNDEFINED","parse","uriString","options","iri","IRI_PROTOCOL","URI_PROTOCOL","reference","port","isNaN","indexOf","schemeHandler","unicodeSupport","domainHost","punycode","_recomposeAuthority","uriTokens","_","$1","$2","RDS1","RDS2","RDS3","RDS5","removeDotSegments","im","s","Error","serialize","authority","charAt","absolutePath","resolveComponents","relative","skipNormalization","tolerant","resolve","baseURI","relativeURI","schemelessOptions","normalize","uri","equal","uriA","uriB","escapeComponent","unescapeComponent","handler","secure","http","isSecure","wsComponents","resourceName","ws","O","ATEXT$$","QTEXT$$","VCHAR$$","DTEXT_NO_OBS$$","SOME_DELIMS$$","NOT_LOCAL_PART","NOT_HFNAME","NOT_HFVALUE","mailtoComponents","to","unknownHeaders","headers","hfields","hfield","toAddrs","subject","body","addr","toAddr","atIdx","localPart","domain","name","URN_PARSE","urnComponents","nid","nss","urnScheme","uriComponents","UUID","uuidComponents","uuid","https","wss","mailto","urn"],"mappings":"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"}