UNPKG

opennms

Version:

Client API for the OpenNMS network monitoring platform

1 lines 42.7 kB
{"remainingRequest":"/data/node_modules/babel-loader/lib/index.js!/data/node_modules/urijs/src/punycode.js","dependencies":[{"path":"/data/node_modules/urijs/src/punycode.js","mtime":1553611387392},{"path":"/data/.babelrc","mtime":1553611371556},{"path":"/data/node_modules/cache-loader/dist/cjs.js","mtime":1553611387012},{"path":"/data/node_modules/babel-loader/lib/index.js","mtime":1553611386992}],"contextDependencies":[],"result":["'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/*! https://mths.be/punycode v1.4.0 by @mathias */\n;(function (root) {\n\n\t/** Detect free variables */\n\tvar freeExports = (typeof exports === 'undefined' ? 'undefined' : _typeof(exports)) == 'object' && exports && !exports.nodeType && exports;\n\tvar freeModule = (typeof module === 'undefined' ? 'undefined' : _typeof(module)) == 'object' && module && !module.nodeType && module;\n\tvar freeGlobal = (typeof global === 'undefined' ? 'undefined' : _typeof(global)) == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n * The `punycode` object.\n * @name punycode\n * @type Object\n */\n\tvar punycode,\n\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647,\n\t // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\t tMin = 1,\n\t tMax = 26,\n\t skew = 38,\n\t damp = 700,\n\t initialBias = 72,\n\t initialN = 128,\n\t // 0x80\n\tdelimiter = '-',\n\t // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\t regexNonASCII = /[^\\x20-\\x7E]/,\n\t // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g,\n\t // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\t floor = Math.floor,\n\t stringFromCharCode = String.fromCharCode,\n\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\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 */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\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 */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\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 */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\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 */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) {\n\t\t\t\t\t// low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\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 */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function (value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\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 */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\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 */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\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 */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (; /* no initialization */delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\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 */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\n\t\t/** Cached calculation results */\n\t\tbaseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength;) /* no final expression */{\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base;; /* no condition */k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\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 */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\n\t\t/** `inputLength` will hold the number of code points in `input`. */\n\t\tinputLength,\n\n\t\t/** Cached calculation results */\n\t\thandledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base;; /* no condition */k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)));\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\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 */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function (string) {\n\t\t\treturn regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string;\n\t\t});\n\t}\n\n\t/**\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 */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function (string) {\n\t\t\treturn regexNonASCII.test(string) ? 'xn--' + encode(string) : string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n * A string representing the current Punycode.js version number.\n * @memberOf punycode\n * @type String\n */\n\t\t'version': '1.3.2',\n\t\t/**\n * An object of methods to convert from JavaScript's internal character\n * representation (UCS-2) to Unicode code points, and back.\n * @see <https://mathiasbynens.be/notes/javascript-encoding>\n * @memberOf punycode\n * @type Object\n */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (typeof define == 'function' && _typeof(define.amd) == 'object' && define.amd) {\n\t\tdefine('punycode', function () {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n})(undefined);",{"version":3,"sources":["node_modules/urijs/src/punycode.js"],"names":["root","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","window","self","punycode","maxInt","base","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexPunycode","regexNonASCII","regexSeparators","errors","baseMinusTMin","floor","Math","stringFromCharCode","String","fromCharCode","key","error","type","RangeError","map","array","fn","length","result","mapDomain","string","parts","split","replace","labels","encoded","join","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","slice","toLowerCase","toASCII","define","amd","hasOwnProperty"],"mappings":";;;;AAAA;AACA,CAAE,WAASA,IAAT,EAAe;;AAEhB;AACA,KAAIC,cAAc,QAAOC,OAAP,yCAAOA,OAAP,MAAkB,QAAlB,IAA8BA,OAA9B,IACjB,CAACA,QAAQC,QADQ,IACID,OADtB;AAEA,KAAIE,aAAa,QAAOC,MAAP,yCAAOA,MAAP,MAAiB,QAAjB,IAA6BA,MAA7B,IAChB,CAACA,OAAOF,QADQ,IACIE,MADrB;AAEA,KAAIC,aAAa,QAAOC,MAAP,yCAAOA,MAAP,MAAiB,QAAjB,IAA6BA,MAA9C;AACA,KACCD,WAAWC,MAAX,KAAsBD,UAAtB,IACAA,WAAWE,MAAX,KAAsBF,UADtB,IAEAA,WAAWG,IAAX,KAAoBH,UAHrB,EAIE;AACDN,SAAOM,UAAP;AACA;;AAED;;;;;AAKA,KAAII,QAAJ;;;AAEA;AACAC,UAAS,UAHT;AAAA,KAGqB;;AAErB;AACAC,QAAO,EANP;AAAA,KAOAC,OAAO,CAPP;AAAA,KAQAC,OAAO,EARP;AAAA,KASAC,OAAO,EATP;AAAA,KAUAC,OAAO,GAVP;AAAA,KAWAC,cAAc,EAXd;AAAA,KAYAC,WAAW,GAZX;AAAA,KAYgB;AAChBC,aAAY,GAbZ;AAAA,KAaiB;;AAEjB;AACAC,iBAAgB,OAhBhB;AAAA,KAiBAC,gBAAgB,cAjBhB;AAAA,KAiBgC;AAChCC,mBAAkB,2BAlBlB;AAAA,KAkB+C;;AAE/C;AACAC,UAAS;AACR,cAAY,iDADJ;AAER,eAAa,gDAFL;AAGR,mBAAiB;AAHT,EArBT;;;AA2BA;AACAC,iBAAgBZ,OAAOC,IA5BvB;AAAA,KA6BAY,QAAQC,KAAKD,KA7Bb;AAAA,KA8BAE,qBAAqBC,OAAOC,YA9B5B;;;AAgCA;AACAC,IAjCA;;AAmCA;;AAEA;;;;;;AAMA,UAASC,KAAT,CAAeC,IAAf,EAAqB;AACpB,QAAM,IAAIC,UAAJ,CAAeV,OAAOS,IAAP,CAAf,CAAN;AACA;;AAED;;;;;;;;AAQA,UAASE,GAAT,CAAaC,KAAb,EAAoBC,EAApB,EAAwB;AACvB,MAAIC,SAASF,MAAME,MAAnB;AACA,MAAIC,SAAS,EAAb;AACA,SAAOD,QAAP,EAAiB;AAChBC,UAAOD,MAAP,IAAiBD,GAAGD,MAAME,MAAN,CAAH,CAAjB;AACA;AACD,SAAOC,MAAP;AACA;;AAED;;;;;;;;;;AAUA,UAASC,SAAT,CAAmBC,MAAnB,EAA2BJ,EAA3B,EAA+B;AAC9B,MAAIK,QAAQD,OAAOE,KAAP,CAAa,GAAb,CAAZ;AACA,MAAIJ,SAAS,EAAb;AACA,MAAIG,MAAMJ,MAAN,GAAe,CAAnB,EAAsB;AACrB;AACA;AACAC,YAASG,MAAM,CAAN,IAAW,GAApB;AACAD,YAASC,MAAM,CAAN,CAAT;AACA;AACD;AACAD,WAASA,OAAOG,OAAP,CAAerB,eAAf,EAAgC,MAAhC,CAAT;AACA,MAAIsB,SAASJ,OAAOE,KAAP,CAAa,GAAb,CAAb;AACA,MAAIG,UAAUX,IAAIU,MAAJ,EAAYR,EAAZ,EAAgBU,IAAhB,CAAqB,GAArB,CAAd;AACA,SAAOR,SAASO,OAAhB;AACA;;AAED;;;;;;;;;;;;;AAaA,UAASE,UAAT,CAAoBP,MAApB,EAA4B;AAC3B,MAAIQ,SAAS,EAAb;AAAA,MACIC,UAAU,CADd;AAAA,MAEIZ,SAASG,OAAOH,MAFpB;AAAA,MAGIa,KAHJ;AAAA,MAIIC,KAJJ;AAKA,SAAOF,UAAUZ,MAAjB,EAAyB;AACxBa,WAAQV,OAAOY,UAAP,CAAkBH,SAAlB,CAAR;AACA,OAAIC,SAAS,MAAT,IAAmBA,SAAS,MAA5B,IAAsCD,UAAUZ,MAApD,EAA4D;AAC3D;AACAc,YAAQX,OAAOY,UAAP,CAAkBH,SAAlB,CAAR;AACA,QAAI,CAACE,QAAQ,MAAT,KAAoB,MAAxB,EAAgC;AAAE;AACjCH,YAAOK,IAAP,CAAY,CAAC,CAACH,QAAQ,KAAT,KAAmB,EAApB,KAA2BC,QAAQ,KAAnC,IAA4C,OAAxD;AACA,KAFD,MAEO;AACN;AACA;AACAH,YAAOK,IAAP,CAAYH,KAAZ;AACAD;AACA;AACD,IAXD,MAWO;AACND,WAAOK,IAAP,CAAYH,KAAZ;AACA;AACD;AACD,SAAOF,MAAP;AACA;;AAED;;;;;;;;AAQA,UAASM,UAAT,CAAoBnB,KAApB,EAA2B;AAC1B,SAAOD,IAAIC,KAAJ,EAAW,UAASe,KAAT,EAAgB;AACjC,OAAIF,SAAS,EAAb;AACA,OAAIE,QAAQ,MAAZ,EAAoB;AACnBA,aAAS,OAAT;AACAF,cAAUrB,mBAAmBuB,UAAU,EAAV,GAAe,KAAf,GAAuB,MAA1C,CAAV;AACAA,YAAQ,SAASA,QAAQ,KAAzB;AACA;AACDF,aAAUrB,mBAAmBuB,KAAnB,CAAV;AACA,UAAOF,MAAP;AACA,GATM,EASJF,IATI,CASC,EATD,CAAP;AAUA;;AAED;;;;;;;;;AASA,UAASS,YAAT,CAAsBC,SAAtB,EAAiC;AAChC,MAAIA,YAAY,EAAZ,GAAiB,EAArB,EAAyB;AACxB,UAAOA,YAAY,EAAnB;AACA;AACD,MAAIA,YAAY,EAAZ,GAAiB,EAArB,EAAyB;AACxB,UAAOA,YAAY,EAAnB;AACA;AACD,MAAIA,YAAY,EAAZ,GAAiB,EAArB,EAAyB;AACxB,UAAOA,YAAY,EAAnB;AACA;AACD,SAAO5C,IAAP;AACA;;AAED;;;;;;;;;;;AAWA,UAAS6C,YAAT,CAAsBC,KAAtB,EAA6BC,IAA7B,EAAmC;AAClC;AACA;AACA,SAAOD,QAAQ,EAAR,GAAa,MAAMA,QAAQ,EAAd,CAAb,IAAkC,CAACC,QAAQ,CAAT,KAAe,CAAjD,CAAP;AACA;;AAED;;;;;AAKA,UAASC,KAAT,CAAeC,KAAf,EAAsBC,SAAtB,EAAiCC,SAAjC,EAA4C;AAC3C,MAAIC,IAAI,CAAR;AACAH,UAAQE,YAAYtC,MAAMoC,QAAQ7C,IAAd,CAAZ,GAAkC6C,SAAS,CAAnD;AACAA,WAASpC,MAAMoC,QAAQC,SAAd,CAAT;AACA,SAAK,uBAAyBD,QAAQrC,gBAAgBV,IAAhB,IAAwB,CAA9D,EAAiEkD,KAAKpD,IAAtE,EAA4E;AAC3EiD,WAAQpC,MAAMoC,QAAQrC,aAAd,CAAR;AACA;AACD,SAAOC,MAAMuC,IAAI,CAACxC,gBAAgB,CAAjB,IAAsBqC,KAAtB,IAA+BA,QAAQ9C,IAAvC,CAAV,CAAP;AACA;;AAED;;;;;;;AAOA,UAASkD,MAAT,CAAgBC,KAAhB,EAAuB;AACtB;AACA,MAAIlB,SAAS,EAAb;AAAA,MACImB,cAAcD,MAAM7B,MADxB;AAAA,MAEI+B,GAFJ;AAAA,MAGIC,IAAI,CAHR;AAAA,MAIIC,IAAIpD,QAJR;AAAA,MAKIqD,OAAOtD,WALX;AAAA,MAMIuD,KANJ;AAAA,MAOIC,CAPJ;AAAA,MAQIC,KARJ;AAAA,MASIC,IATJ;AAAA,MAUIC,CAVJ;AAAA,MAWIZ,CAXJ;AAAA,MAYIN,KAZJ;AAAA,MAaImB,CAbJ;;AAcI;AACAC,YAfJ;;AAiBA;AACA;AACA;;AAEAN,UAAQN,MAAMa,WAAN,CAAkB5D,SAAlB,CAAR;AACA,MAAIqD,QAAQ,CAAZ,EAAe;AACdA,WAAQ,CAAR;AACA;;AAED,OAAKC,IAAI,CAAT,EAAYA,IAAID,KAAhB,EAAuB,EAAEC,CAAzB,EAA4B;AAC3B;AACA,OAAIP,MAAMd,UAAN,CAAiBqB,CAAjB,KAAuB,IAA3B,EAAiC;AAChC1C,UAAM,WAAN;AACA;AACDiB,UAAOK,IAAP,CAAYa,MAAMd,UAAN,CAAiBqB,CAAjB,CAAZ;AACA;;AAED;AACA;;AAEA,OAAKC,QAAQF,QAAQ,CAAR,GAAYA,QAAQ,CAApB,GAAwB,CAArC,EAAwCE,QAAQP,WAAhD,GAA6D,yBAA2B;;AAEvF;AACA;AACA;AACA;AACA;AACA,QAAKQ,OAAON,CAAP,EAAUO,IAAI,CAAd,EAAiBZ,IAAIpD,IAA1B,GAAgC,kBAAoBoD,KAAKpD,IAAzD,EAA+D;;AAE9D,QAAI8D,SAASP,WAAb,EAA0B;AACzBpC,WAAM,eAAN;AACA;;AAED2B,YAAQH,aAAaW,MAAMd,UAAN,CAAiBsB,OAAjB,CAAb,CAAR;;AAEA,QAAIhB,SAAS9C,IAAT,IAAiB8C,QAAQjC,MAAM,CAACd,SAAS0D,CAAV,IAAeO,CAArB,CAA7B,EAAsD;AACrD7C,WAAM,UAAN;AACA;;AAEDsC,SAAKX,QAAQkB,CAAb;AACAC,QAAIb,KAAKO,IAAL,GAAY1D,IAAZ,GAAoBmD,KAAKO,OAAOzD,IAAZ,GAAmBA,IAAnB,GAA0BkD,IAAIO,IAAtD;;AAEA,QAAIb,QAAQmB,CAAZ,EAAe;AACd;AACA;;AAEDC,iBAAalE,OAAOiE,CAApB;AACA,QAAID,IAAInD,MAAMd,SAASmE,UAAf,CAAR,EAAoC;AACnC/C,WAAM,UAAN;AACA;;AAED6C,SAAKE,UAAL;AAEA;;AAEDV,SAAMpB,OAAOX,MAAP,GAAgB,CAAtB;AACAkC,UAAOX,MAAMS,IAAIM,IAAV,EAAgBP,GAAhB,EAAqBO,QAAQ,CAA7B,CAAP;;AAEA;AACA;AACA,OAAIlD,MAAM4C,IAAID,GAAV,IAAiBzD,SAAS2D,CAA9B,EAAiC;AAChCvC,UAAM,UAAN;AACA;;AAEDuC,QAAK7C,MAAM4C,IAAID,GAAV,CAAL;AACAC,QAAKD,GAAL;;AAEA;AACApB,UAAOgC,MAAP,CAAcX,GAAd,EAAmB,CAAnB,EAAsBC,CAAtB;AAEA;;AAED,SAAOhB,WAAWN,MAAX,CAAP;AACA;;AAED;;;;;;;AAOA,UAASiC,MAAT,CAAgBf,KAAhB,EAAuB;AACtB,MAAII,CAAJ;AAAA,MACIT,KADJ;AAAA,MAEIqB,cAFJ;AAAA,MAGIC,WAHJ;AAAA,MAIIZ,IAJJ;AAAA,MAKIE,CALJ;AAAA,MAMIW,CANJ;AAAA,MAOIC,CAPJ;AAAA,MAQIrB,CARJ;AAAA,MASIa,CATJ;AAAA,MAUIS,YAVJ;AAAA,MAWItC,SAAS,EAXb;;AAYI;AACAmB,aAbJ;;AAcI;AACAoB,uBAfJ;AAAA,MAgBIT,UAhBJ;AAAA,MAiBIU,OAjBJ;;AAmBA;AACAtB,UAAQnB,WAAWmB,KAAX,CAAR;;AAEA;AACAC,gBAAcD,MAAM7B,MAApB;;AAEA;AACAiC,MAAIpD,QAAJ;AACA2C,UAAQ,CAAR;AACAU,SAAOtD,WAAP;;AAEA;AACA,OAAKwD,IAAI,CAAT,EAAYA,IAAIN,WAAhB,EAA6B,EAAEM,CAA/B,EAAkC;AACjCa,kBAAepB,MAAMO,CAAN,CAAf;AACA,OAAIa,eAAe,IAAnB,EAAyB;AACxBtC,WAAOK,IAAP,CAAY1B,mBAAmB2D,YAAnB,CAAZ;AACA;AACD;;AAEDJ,mBAAiBC,cAAcnC,OAAOX,MAAtC;;AAEA;AACA;;AAEA;AACA,MAAI8C,WAAJ,EAAiB;AAChBnC,UAAOK,IAAP,CAAYlC,SAAZ;AACA;;AAED;AACA,SAAO+D,iBAAiBf,WAAxB,EAAqC;;AAEpC;AACA;AACA,QAAKiB,IAAIzE,MAAJ,EAAY8D,IAAI,CAArB,EAAwBA,IAAIN,WAA5B,EAAyC,EAAEM,CAA3C,EAA8C;AAC7Ca,mBAAepB,MAAMO,CAAN,CAAf;AACA,QAAIa,gBAAgBhB,CAAhB,IAAqBgB,eAAeF,CAAxC,EAA2C;AAC1CA,SAAIE,YAAJ;AACA;AACD;;AAED;AACA;AACAC,2BAAwBL,iBAAiB,CAAzC;AACA,OAAIE,IAAId,CAAJ,GAAQ7C,MAAM,CAACd,SAASkD,KAAV,IAAmB0B,qBAAzB,CAAZ,EAA6D;AAC5DxD,UAAM,UAAN;AACA;;AAED8B,YAAS,CAACuB,IAAId,CAAL,IAAUiB,qBAAnB;AACAjB,OAAIc,CAAJ;;AAEA,QAAKX,IAAI,CAAT,EAAYA,IAAIN,WAAhB,EAA6B,EAAEM,CAA/B,EAAkC;AACjCa,mBAAepB,MAAMO,CAAN,CAAf;;AAEA,QAAIa,eAAehB,CAAf,IAAoB,EAAET,KAAF,GAAUlD,MAAlC,EAA0C;AACzCoB,WAAM,UAAN;AACA;;AAED,QAAIuD,gBAAgBhB,CAApB,EAAuB;AACtB;AACA,UAAKe,IAAIxB,KAAJ,EAAWG,IAAIpD,IAApB,GAA0B,kBAAoBoD,KAAKpD,IAAnD,EAAyD;AACxDiE,UAAIb,KAAKO,IAAL,GAAY1D,IAAZ,GAAoBmD,KAAKO,OAAOzD,IAAZ,GAAmBA,IAAnB,GAA0BkD,IAAIO,IAAtD;AACA,UAAIc,IAAIR,CAAR,EAAW;AACV;AACA;AACDW,gBAAUH,IAAIR,CAAd;AACAC,mBAAalE,OAAOiE,CAApB;AACA7B,aAAOK,IAAP,CACC1B,mBAAmB8B,aAAaoB,IAAIW,UAAUV,UAA3B,EAAuC,CAAvC,CAAnB,CADD;AAGAO,UAAI5D,MAAM+D,UAAUV,UAAhB,CAAJ;AACA;;AAED9B,YAAOK,IAAP,CAAY1B,mBAAmB8B,aAAa4B,CAAb,EAAgB,CAAhB,CAAnB,CAAZ;AACAd,YAAOX,MAAMC,KAAN,EAAa0B,qBAAb,EAAoCL,kBAAkBC,WAAtD,CAAP;AACAtB,aAAQ,CAAR;AACA,OAAEqB,cAAF;AACA;AACD;;AAED,KAAErB,KAAF;AACA,KAAES,CAAF;AAEA;AACD,SAAOtB,OAAOF,IAAP,CAAY,EAAZ,CAAP;AACA;;AAED;;;;;;;;;;;AAWA,UAAS2C,SAAT,CAAmBvB,KAAnB,EAA0B;AACzB,SAAO3B,UAAU2B,KAAV,EAAiB,UAAS1B,MAAT,EAAiB;AACxC,UAAOpB,cAAcsE,IAAd,CAAmBlD,MAAnB,IACJyB,OAAOzB,OAAOmD,KAAP,CAAa,CAAb,EAAgBC,WAAhB,EAAP,CADI,GAEJpD,MAFH;AAGA,GAJM,CAAP;AAKA;;AAED;;;;;;;;;;;AAWA,UAASqD,OAAT,CAAiB3B,KAAjB,EAAwB;AACvB,SAAO3B,UAAU2B,KAAV,EAAiB,UAAS1B,MAAT,EAAiB;AACxC,UAAOnB,cAAcqE,IAAd,CAAmBlD,MAAnB,IACJ,SAASyC,OAAOzC,MAAP,CADL,GAEJA,MAFH;AAGA,GAJM,CAAP;AAKA;;AAED;;AAEA;AACA9B,YAAW;AACV;;;;;AAKA,aAAW,OAND;AAOV;;;;;;;AAOA,UAAQ;AACP,aAAUqC,UADH;AAEP,aAAUO;AAFH,GAdE;AAkBV,YAAUW,MAlBA;AAmBV,YAAUgB,MAnBA;AAoBV,aAAWY,OApBD;AAqBV,eAAaJ;AArBH,EAAX;;AAwBA;AACA;AACA;AACA,KACC,OAAOK,MAAP,IAAiB,UAAjB,IACA,QAAOA,OAAOC,GAAd,KAAqB,QADrB,IAEAD,OAAOC,GAHR,EAIE;AACDD,SAAO,UAAP,EAAmB,YAAW;AAC7B,UAAOpF,QAAP;AACA,GAFD;AAGA,EARD,MAQO,IAAIT,eAAeG,UAAnB,EAA+B;AACrC,MAAIC,OAAOH,OAAP,IAAkBD,WAAtB,EAAmC;AAClC;AACAG,cAAWF,OAAX,GAAqBQ,QAArB;AACA,GAHD,MAGO;AACN;AACA,QAAKoB,GAAL,IAAYpB,QAAZ,EAAsB;AACrBA,aAASsF,cAAT,CAAwBlE,GAAxB,MAAiC7B,YAAY6B,GAAZ,IAAmBpB,SAASoB,GAAT,CAApD;AACA;AACD;AACD,EAVM,MAUA;AACN;AACA9B,OAAKU,QAAL,GAAgBA,QAAhB;AACA;AAED,CAnhBC,YAAD","file":"punycode.js","sourceRoot":"/data","sourcesContent":["/*! https://mths.be/punycode v1.4.0 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.3.2',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n"]}]}