{"version":3,"file":"node-request-error.cjs","sources":["../../src/middleware/defaultOptionsProcessor.ts","../../src/middleware/defaultOptionsValidator.ts","../../node_modules/debug/src/common.js","../../node_modules/ms/index.js","../../src/util/speedometer.ts","../../src/request/node-request-error.ts","../../src/util/progress-stream.ts","../../node_modules/debug/src/index.js","../../node_modules/debug/src/browser.js","../../node_modules/debug/src/node.js","../../node_modules/supports-color/browser.js"],"sourcesContent":["import type {MiddlewareHooks, RequestOptions} from 'get-it'\n\nconst isReactNative = typeof navigator === 'undefined' ? false : navigator.product === 'ReactNative'\n\nconst defaultOptions = {timeout: isReactNative ? 60000 : 120000} satisfies Partial<RequestOptions>\n\n/** @public */\nexport const processOptions = function processOptions(opts) {\n  const options = {\n    ...defaultOptions,\n    ...(typeof opts === 'string' ? {url: opts} : opts),\n  } satisfies RequestOptions\n\n  // Normalize timeouts\n  options.timeout = normalizeTimeout(options.timeout)\n\n  // Shallow-merge (override) existing query params\n  if (options.query) {\n    const {url, searchParams} = splitUrl(options.url)\n\n    for (const [key, value] of Object.entries(options.query)) {\n      if (value !== undefined) {\n        if (Array.isArray(value)) {\n          for (const v of value) {\n            searchParams.append(key, v as string)\n          }\n        } else {\n          searchParams.append(key, value as string)\n        }\n      }\n\n      // Merge back params into url\n      const search = searchParams.toString()\n      if (search) {\n        options.url = `${url}?${search}`\n      }\n    }\n  }\n\n  // Implicit POST if we have not specified a method but have a body\n  options.method =\n    options.body && !options.method ? 'POST' : (options.method || 'GET').toUpperCase()\n\n  return options\n} satisfies MiddlewareHooks['processOptions']\n\n/**\n * Given a string URL, extracts the query string and URL from each other, and returns them.\n * Note that we cannot use the `URL` constructor because of old React Native versions which are\n * majorly broken and returns incorrect results:\n *\n * (`new URL('http://foo/?a=b').toString()` == 'http://foo/?a=b/')\n */\nfunction splitUrl(url: string): {url: string; searchParams: URLSearchParams} {\n  const qIndex = url.indexOf('?')\n  if (qIndex === -1) {\n    return {url, searchParams: new URLSearchParams()}\n  }\n\n  const base = url.slice(0, qIndex)\n  const qs = url.slice(qIndex + 1)\n\n  // React Native's URL and URLSearchParams are broken, so passing a string to URLSearchParams\n  // does not work, leading to an empty query string. For other environments, this should be enough\n  if (!isReactNative) {\n    return {url: base, searchParams: new URLSearchParams(qs)}\n  }\n\n  // Sanity-check; we do not know of any environment where this is the case,\n  // but if it is, we should not proceed without giving a descriptive error\n  if (typeof decodeURIComponent !== 'function') {\n    throw new Error(\n      'Broken `URLSearchParams` implementation, and `decodeURIComponent` is not defined',\n    )\n  }\n\n  const params = new URLSearchParams()\n  for (const pair of qs.split('&')) {\n    const [key, value] = pair.split('=')\n    if (key) {\n      params.append(decodeQueryParam(key), decodeQueryParam(value || ''))\n    }\n  }\n\n  return {url: base, searchParams: params}\n}\n\nfunction decodeQueryParam(value: string): string {\n  return decodeURIComponent(value.replace(/\\+/g, ' '))\n}\n\nfunction normalizeTimeout(time: RequestOptions['timeout']) {\n  if (time === false || time === 0) {\n    return false\n  }\n\n  if (time.connect || time.socket) {\n    return time\n  }\n\n  const delay = Number(time)\n  if (isNaN(delay)) {\n    return normalizeTimeout(defaultOptions.timeout)\n  }\n\n  return {connect: delay, socket: delay}\n}\n","import type {MiddlewareHooks} from 'get-it'\n\nconst validUrl = /^https?:\\/\\//i\n\n/** @public */\nexport const validateOptions = function validateOptions(options) {\n  if (!validUrl.test(options.url)) {\n    throw new Error(`\"${options.url}\" is not a valid URL`)\n  }\n} satisfies MiddlewareHooks['validateOptions']\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '')\n\t\t\t.trim()\n\t\t\t.replace(/\\s+/g, ',')\n\t\t\t.split(',')\n\t\t\t.filter(Boolean);\n\n\t\tfor (const ns of split) {\n\t\t\tif (ns[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(ns.slice(1));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(ns);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the given string matches a namespace template, honoring\n\t * asterisks as wildcards.\n\t *\n\t * @param {String} search\n\t * @param {String} template\n\t * @return {Boolean}\n\t */\n\tfunction matchesTemplate(search, template) {\n\t\tlet searchIndex = 0;\n\t\tlet templateIndex = 0;\n\t\tlet starIndex = -1;\n\t\tlet matchIndex = 0;\n\n\t\twhile (searchIndex < search.length) {\n\t\t\tif (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {\n\t\t\t\t// Match character or proceed with wildcard\n\t\t\t\tif (template[templateIndex] === '*') {\n\t\t\t\t\tstarIndex = templateIndex;\n\t\t\t\t\tmatchIndex = searchIndex;\n\t\t\t\t\ttemplateIndex++; // Skip the '*'\n\t\t\t\t} else {\n\t\t\t\t\tsearchIndex++;\n\t\t\t\t\ttemplateIndex++;\n\t\t\t\t}\n\t\t\t} else if (starIndex !== -1) { // eslint-disable-line no-negated-condition\n\t\t\t\t// Backtrack to the last '*' and try to match more characters\n\t\t\t\ttemplateIndex = starIndex + 1;\n\t\t\t\tmatchIndex++;\n\t\t\t\tsearchIndex = matchIndex;\n\t\t\t} else {\n\t\t\t\treturn false; // No match\n\t\t\t}\n\t\t}\n\n\t\t// Handle trailing '*' in template\n\t\twhile (templateIndex < template.length && template[templateIndex] === '*') {\n\t\t\ttemplateIndex++;\n\t\t}\n\n\t\treturn templateIndex === template.length;\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names,\n\t\t\t...createDebug.skips.map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tfor (const skip of createDebug.skips) {\n\t\t\tif (matchesTemplate(name, skip)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (const ns of createDebug.names) {\n\t\t\tif (matchesTemplate(name, ns)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n *  - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n  options = options || {};\n  var type = typeof val;\n  if (type === 'string' && val.length > 0) {\n    return parse(val);\n  } else if (type === 'number' && isFinite(val)) {\n    return options.long ? fmtLong(val) : fmtShort(val);\n  }\n  throw new Error(\n    'val is not a non-empty string or a valid number. val=' +\n      JSON.stringify(val)\n  );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n  str = String(str);\n  if (str.length > 100) {\n    return;\n  }\n  var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n    str\n  );\n  if (!match) {\n    return;\n  }\n  var n = parseFloat(match[1]);\n  var type = (match[2] || 'ms').toLowerCase();\n  switch (type) {\n    case 'years':\n    case 'year':\n    case 'yrs':\n    case 'yr':\n    case 'y':\n      return n * y;\n    case 'weeks':\n    case 'week':\n    case 'w':\n      return n * w;\n    case 'days':\n    case 'day':\n    case 'd':\n      return n * d;\n    case 'hours':\n    case 'hour':\n    case 'hrs':\n    case 'hr':\n    case 'h':\n      return n * h;\n    case 'minutes':\n    case 'minute':\n    case 'mins':\n    case 'min':\n    case 'm':\n      return n * m;\n    case 'seconds':\n    case 'second':\n    case 'secs':\n    case 'sec':\n    case 's':\n      return n * s;\n    case 'milliseconds':\n    case 'millisecond':\n    case 'msecs':\n    case 'msec':\n    case 'ms':\n      return n;\n    default:\n      return undefined;\n  }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n  var msAbs = Math.abs(ms);\n  if (msAbs >= d) {\n    return Math.round(ms / d) + 'd';\n  }\n  if (msAbs >= h) {\n    return Math.round(ms / h) + 'h';\n  }\n  if (msAbs >= m) {\n    return Math.round(ms / m) + 'm';\n  }\n  if (msAbs >= s) {\n    return Math.round(ms / s) + 's';\n  }\n  return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n  var msAbs = Math.abs(ms);\n  if (msAbs >= d) {\n    return plural(ms, msAbs, d, 'day');\n  }\n  if (msAbs >= h) {\n    return plural(ms, msAbs, h, 'hour');\n  }\n  if (msAbs >= m) {\n    return plural(ms, msAbs, m, 'minute');\n  }\n  if (msAbs >= s) {\n    return plural(ms, msAbs, s, 'second');\n  }\n  return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n  var isPlural = msAbs >= n * 1.5;\n  return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","/**\n * Inlined variant of npm `speedometer` (https://github.com/mafintosh/speedometer),\n * MIT-licensed, Copyright (c) 2013 Mathias Buus.\n */\n\nlet tick = 1\nconst maxTick = 65535\nconst resolution = 4\nlet timer: ReturnType<typeof setInterval> | null = null\n\nconst inc = function () {\n  tick = (tick + 1) & maxTick\n}\n\nexport function speedometer(seconds: number) {\n  if (!timer) {\n    timer = setInterval(inc, (1000 / resolution) | 0)\n    if (timer.unref) timer.unref()\n  }\n\n  const size = resolution * (seconds || 5)\n  const buffer = [0]\n  let pointer = 1\n  let last = (tick - 1) & maxTick\n\n  return {\n    getSpeed: function (delta: number) {\n      let dist = (tick - last) & maxTick\n      if (dist > size) dist = size\n      last = tick\n\n      while (dist--) {\n        if (pointer === size) pointer = 0\n        buffer[pointer] = buffer[pointer === 0 ? size - 1 : pointer - 1]\n        pointer++\n      }\n\n      if (delta) buffer[pointer - 1] += delta\n\n      const top = buffer[pointer - 1]\n      const btm = buffer.length < size ? 0 : buffer[pointer === size ? 0 : pointer]\n\n      return buffer.length < resolution ? top : ((top - btm) * resolution) / buffer.length\n    },\n    clear: function () {\n      if (timer) {\n        clearInterval(timer)\n        timer = null\n      }\n    },\n  }\n}\n","import type {ClientRequest} from 'http'\n\nexport class NodeRequestError extends Error {\n  request: ClientRequest\n  code?: string | undefined\n\n  constructor(err: NodeJS.ErrnoException, req: any) {\n    super(err.message)\n    this.request = req\n    this.code = err.code\n  }\n}\n","/**\n * Inlined, reduced variant of npm `progress-stream` (https://github.com/freeall/progress-stream),\n * that fixes a bug with `content-length` header. BSD 2-Clause Simplified License,\n * Copyright (c) Tobias Baunbæk <freeall@gmail.com>.\n */\nimport type {Transform} from 'stream'\nimport through from 'through2'\n\nimport {speedometer} from './speedometer'\n\nexport interface Progress {\n  percentage: number\n  transferred: number\n  length: number\n  remaining: number\n  eta: number\n  runtime: number\n  delta: number\n  speed: number\n}\n\nexport interface ProgressStream extends Transform {\n  progress(): Progress\n}\n\nexport function progressStream(options: {time: number; length?: number}): ProgressStream {\n  let length = options.length || 0\n  let transferred = 0\n  let nextUpdate = Date.now() + options.time\n  let delta = 0\n  const speed = speedometer(5)\n  const startTime = Date.now()\n\n  const update = {\n    percentage: 0,\n    transferred: transferred,\n    length: length,\n    remaining: length,\n    eta: 0,\n    runtime: 0,\n    speed: 0,\n    delta: 0,\n  }\n\n  const emit = function (ended: boolean) {\n    update.delta = delta\n    update.percentage = ended ? 100 : length ? (transferred / length) * 100 : 0\n    update.speed = speed.getSpeed(delta)\n    update.eta = Math.round(update.remaining / update.speed)\n    update.runtime = Math.floor((Date.now() - startTime) / 1000)\n    nextUpdate = Date.now() + options.time\n\n    delta = 0\n\n    tr.emit('progress', update)\n  }\n\n  const write = function (\n    chunk: Buffer,\n    _enc: string,\n    callback: (err: Error | null, data?: Buffer) => void,\n  ) {\n    const len = chunk.length\n    transferred += len\n    delta += len\n    update.transferred = transferred\n    update.remaining = length >= transferred ? length - transferred : 0\n\n    if (Date.now() >= nextUpdate) emit(false)\n    callback(null, chunk)\n  }\n\n  const end = function (callback: (err?: Error | null) => void) {\n    emit(true)\n    speed.clear()\n    callback()\n  }\n\n  const tr = through({}, write, end) as ProgressStream\n  const onlength = function (newLength: number) {\n    length = newLength\n    update.length = length\n    update.remaining = length - update.transferred\n    tr.emit('length', length)\n  }\n\n  tr.on('pipe', function (stream) {\n    if (length > 0) return\n\n    // Support http module\n    if (\n      stream.readable &&\n      !('writable' in stream) &&\n      'headers' in stream &&\n      isRecord(stream.headers)\n    ) {\n      const contentLength =\n        typeof stream.headers['content-length'] === 'string'\n          ? parseInt(stream.headers['content-length'], 10)\n          : 0\n      return onlength(contentLength)\n    }\n\n    // Support streams with a length property\n    if ('length' in stream && typeof stream.length === 'number') {\n      return onlength(stream.length)\n    }\n\n    // Support request module\n    stream.on('response', function (res) {\n      if (!res || !res.headers) return\n      if (res.headers['content-encoding'] === 'gzip') return\n      if (res.headers['content-length']) {\n        return onlength(parseInt(res.headers['content-length']))\n      }\n    })\n  })\n\n  tr.progress = function () {\n    update.speed = speed.getSpeed(0)\n    update.eta = Math.round(update.remaining / update.speed)\n\n    return update\n  }\n\n  return tr\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n  return typeof value === 'object' && value !== null && !Array.isArray(value)\n}\n","/**\n * Detect Electron renderer / nwjs process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {\n\tmodule.exports = require('./browser.js');\n} else {\n\tmodule.exports = require('./node.js');\n}\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\t// eslint-disable-next-line no-return-assign\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug') || exports.storage.getItem('DEBUG') ;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","/**\n * Module dependencies.\n */\n\nconst tty = require('tty');\nconst util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n */\n\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.destroy = util.deprecate(\n\t() => {},\n\t'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'\n);\n\n/**\n * Colors.\n */\n\nexports.colors = [6, 2, 3, 4, 5, 1];\n\ntry {\n\t// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)\n\t// eslint-disable-next-line import/no-extraneous-dependencies\n\tconst supportsColor = require('supports-color');\n\n\tif (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {\n\t\texports.colors = [\n\t\t\t20,\n\t\t\t21,\n\t\t\t26,\n\t\t\t27,\n\t\t\t32,\n\t\t\t33,\n\t\t\t38,\n\t\t\t39,\n\t\t\t40,\n\t\t\t41,\n\t\t\t42,\n\t\t\t43,\n\t\t\t44,\n\t\t\t45,\n\t\t\t56,\n\t\t\t57,\n\t\t\t62,\n\t\t\t63,\n\t\t\t68,\n\t\t\t69,\n\t\t\t74,\n\t\t\t75,\n\t\t\t76,\n\t\t\t77,\n\t\t\t78,\n\t\t\t79,\n\t\t\t80,\n\t\t\t81,\n\t\t\t92,\n\t\t\t93,\n\t\t\t98,\n\t\t\t99,\n\t\t\t112,\n\t\t\t113,\n\t\t\t128,\n\t\t\t129,\n\t\t\t134,\n\t\t\t135,\n\t\t\t148,\n\t\t\t149,\n\t\t\t160,\n\t\t\t161,\n\t\t\t162,\n\t\t\t163,\n\t\t\t164,\n\t\t\t165,\n\t\t\t166,\n\t\t\t167,\n\t\t\t168,\n\t\t\t169,\n\t\t\t170,\n\t\t\t171,\n\t\t\t172,\n\t\t\t173,\n\t\t\t178,\n\t\t\t179,\n\t\t\t184,\n\t\t\t185,\n\t\t\t196,\n\t\t\t197,\n\t\t\t198,\n\t\t\t199,\n\t\t\t200,\n\t\t\t201,\n\t\t\t202,\n\t\t\t203,\n\t\t\t204,\n\t\t\t205,\n\t\t\t206,\n\t\t\t207,\n\t\t\t208,\n\t\t\t209,\n\t\t\t214,\n\t\t\t215,\n\t\t\t220,\n\t\t\t221\n\t\t];\n\t}\n} catch (error) {\n\t// Swallow - we only care if `supports-color` is available; it doesn't have to be.\n}\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n *   $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(key => {\n\treturn /^debug_/i.test(key);\n}).reduce((obj, key) => {\n\t// Camel-case\n\tconst prop = key\n\t\t.substring(6)\n\t\t.toLowerCase()\n\t\t.replace(/_([a-z])/g, (_, k) => {\n\t\t\treturn k.toUpperCase();\n\t\t});\n\n\t// Coerce string value into JS value\n\tlet val = process.env[key];\n\tif (/^(yes|on|true|enabled)$/i.test(val)) {\n\t\tval = true;\n\t} else if (/^(no|off|false|disabled)$/i.test(val)) {\n\t\tval = false;\n\t} else if (val === 'null') {\n\t\tval = null;\n\t} else {\n\t\tval = Number(val);\n\t}\n\n\tobj[prop] = val;\n\treturn obj;\n}, {});\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n\treturn 'colors' in exports.inspectOpts ?\n\t\tBoolean(exports.inspectOpts.colors) :\n\t\ttty.isatty(process.stderr.fd);\n}\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\tconst {namespace: name, useColors} = this;\n\n\tif (useColors) {\n\t\tconst c = this.color;\n\t\tconst colorCode = '\\u001B[3' + (c < 8 ? c : '8;5;' + c);\n\t\tconst prefix = `  ${colorCode};1m${name} \\u001B[0m`;\n\n\t\targs[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n\t\targs.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\\u001B[0m');\n\t} else {\n\t\targs[0] = getDate() + name + ' ' + args[0];\n\t}\n}\n\nfunction getDate() {\n\tif (exports.inspectOpts.hideDate) {\n\t\treturn '';\n\t}\n\treturn new Date().toISOString() + ' ';\n}\n\n/**\n * Invokes `util.formatWithOptions()` with the specified arguments and writes to stderr.\n */\n\nfunction log(...args) {\n\treturn process.stderr.write(util.formatWithOptions(exports.inspectOpts, ...args) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\tif (namespaces) {\n\t\tprocess.env.DEBUG = namespaces;\n\t} else {\n\t\t// If you set a process.env field to null or undefined, it gets cast to the\n\t\t// string 'null' or 'undefined'. Just delete instead.\n\t\tdelete process.env.DEBUG;\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n\treturn process.env.DEBUG;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init(debug) {\n\tdebug.inspectOpts = {};\n\n\tconst keys = Object.keys(exports.inspectOpts);\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tdebug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nformatters.o = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts)\n\t\t.split('\\n')\n\t\t.map(str => str.trim())\n\t\t.join(' ');\n};\n\n/**\n * Map %O to `util.inspect()`, allowing multiple lines if needed.\n */\n\nformatters.O = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts);\n};\n","/* eslint-env browser */\n'use strict';\n\nfunction getChromeVersion() {\n\tconst matches = /(Chrome|Chromium)\\/(?<chromeVersion>\\d+)\\./.exec(navigator.userAgent);\n\n\tif (!matches) {\n\t\treturn;\n\t}\n\n\treturn Number.parseInt(matches.groups.chromeVersion, 10);\n}\n\nconst colorSupport = getChromeVersion() >= 69 ? {\n\tlevel: 1,\n\thasBasic: true,\n\thas256: false,\n\thas16m: false\n} : false;\n\nmodule.exports = {\n\tstdout: colorSupport,\n\tstderr: colorSupport\n};\n"],"names":["isReactNative","navigator","product","defaultOptions","timeout","decodeQueryParam","value","decodeURIComponent","replace","normalizeTimeout","time","connect","socket","delay","Number","isNaN","validUrl","common","env","createDebug","namespace","prevTime","namespacesCache","enabledCache","enableOverride","debug","args","enabled","self","curr","Date","ms","diff","prev","coerce","unshift","index","match","format","formatter","formatters","val","call","splice","formatArgs","log","apply","useColors","color","selectColor","extend","destroy","Object","defineProperty","enumerable","configurable","get","namespaces","set","v","init","delimiter","newDebug","this","matchesTemplate","search","template","searchIndex","templateIndex","starIndex","matchIndex","length","default","Error","stack","message","disable","names","skips","map","join","enable","save","split","trim","filter","Boolean","ns","push","slice","name","skip","humanize","s","m","h","d","w","plural","msAbs","n","isPlural","Math","round","options","type","str","String","exec","parseFloat","toLowerCase","parse","isFinite","long","abs","fmtShort","JSON","stringify","require$$0","console","warn","keys","forEach","key","hash","i","charCodeAt","colors","load","tick","maxTick","timer","inc","NodeRequestError","request","code","constructor","err","req","super","exports","N","a","transferred","nextUpdate","now","delta","speed","setInterval","unref","buffer","pointer","last","getSpeed","dist","resolution","size","top","btm","clear","clearInterval","speedometer","startTime","update","percentage","remaining","eta","runtime","emit","ended","floor","tr","through","chunk","_enc","callback","len","onlength","newLength","on","stream","readable","headers","Array","isArray","contentLength","parseInt","res","progress","g","x","p","opts","url","query","searchParams","qIndex","indexOf","URLSearchParams","base","qs","params","pair","append","splitUrl","entries","toString","method","body","toUpperCase","r","process","browser","__nwjs","srcModule","module","c","lastC","storage","setItem","removeItem","getItem","DEBUG","window","userAgent","document","documentElement","style","WebkitAppearance","firebug","exception","table","localStorage","localstorage","warned","j","error","tty","util","require$$1","inspectOpts","stderr","write","formatWithOptions","colorCode","prefix","hideDate","toISOString","isatty","fd","deprecate","supportsColor","colorSupport","matches","groups","chromeVersion","getChromeVersion","level","hasBasic","has256","has16m","stdout","require$$2","test","reduce","obj","prop","substring","_","k","require$$3","o","inspect","O"],"mappings":"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","x_google_ignoreList":[2,3,7,8,9,10]}