2466e67c2e692902ae2af0596080acd3.json 18.3 KB
{"ast":null,"code":"'use strict';\n\nvar has = Object.prototype.hasOwnProperty;\n\nvar hexTable = function () {\n  var array = [];\n\n  for (var i = 0; i < 256; ++i) {\n    array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n  }\n\n  return array;\n}();\n\nvar compactQueue = function compactQueue(queue) {\n  var obj;\n\n  while (queue.length) {\n    var item = queue.pop();\n    obj = item.obj[item.prop];\n\n    if (Array.isArray(obj)) {\n      var compacted = [];\n\n      for (var j = 0; j < obj.length; ++j) {\n        if (typeof obj[j] !== 'undefined') {\n          compacted.push(obj[j]);\n        }\n      }\n\n      item.obj[item.prop] = compacted;\n    }\n  }\n\n  return obj;\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n  var obj = options && options.plainObjects ? Object.create(null) : {};\n\n  for (var i = 0; i < source.length; ++i) {\n    if (typeof source[i] !== 'undefined') {\n      obj[i] = source[i];\n    }\n  }\n\n  return obj;\n};\n\nvar merge = function merge(target, source, options) {\n  if (!source) {\n    return target;\n  }\n\n  if (typeof source !== 'object') {\n    if (Array.isArray(target)) {\n      target.push(source);\n    } else if (typeof target === 'object') {\n      if (options.plainObjects || options.allowPrototypes || !has.call(Object.prototype, source)) {\n        target[source] = true;\n      }\n    } else {\n      return [target, source];\n    }\n\n    return target;\n  }\n\n  if (typeof target !== 'object') {\n    return [target].concat(source);\n  }\n\n  var mergeTarget = target;\n\n  if (Array.isArray(target) && !Array.isArray(source)) {\n    mergeTarget = arrayToObject(target, options);\n  }\n\n  if (Array.isArray(target) && Array.isArray(source)) {\n    source.forEach(function (item, i) {\n      if (has.call(target, i)) {\n        if (target[i] && typeof target[i] === 'object') {\n          target[i] = merge(target[i], item, options);\n        } else {\n          target.push(item);\n        }\n      } else {\n        target[i] = item;\n      }\n    });\n    return target;\n  }\n\n  return Object.keys(source).reduce(function (acc, key) {\n    var value = source[key];\n\n    if (has.call(acc, key)) {\n      acc[key] = merge(acc[key], value, options);\n    } else {\n      acc[key] = value;\n    }\n\n    return acc;\n  }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n  return Object.keys(source).reduce(function (acc, key) {\n    acc[key] = source[key];\n    return acc;\n  }, target);\n};\n\nvar decode = function (str) {\n  try {\n    return decodeURIComponent(str.replace(/\\+/g, ' '));\n  } catch (e) {\n    return str;\n  }\n};\n\nvar encode = function encode(str) {\n  // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n  // It has been adapted here for stricter adherence to RFC 3986\n  if (str.length === 0) {\n    return str;\n  }\n\n  var string = typeof str === 'string' ? str : String(str);\n  var out = '';\n\n  for (var i = 0; i < string.length; ++i) {\n    var c = string.charCodeAt(i);\n\n    if (c === 0x2D // -\n    || c === 0x2E // .\n    || c === 0x5F // _\n    || c === 0x7E // ~\n    || c >= 0x30 && c <= 0x39 // 0-9\n    || c >= 0x41 && c <= 0x5A // a-z\n    || c >= 0x61 && c <= 0x7A // A-Z\n    ) {\n        out += string.charAt(i);\n        continue;\n      }\n\n    if (c < 0x80) {\n      out = out + hexTable[c];\n      continue;\n    }\n\n    if (c < 0x800) {\n      out = out + (hexTable[0xC0 | c >> 6] + hexTable[0x80 | c & 0x3F]);\n      continue;\n    }\n\n    if (c < 0xD800 || c >= 0xE000) {\n      out = out + (hexTable[0xE0 | c >> 12] + hexTable[0x80 | c >> 6 & 0x3F] + hexTable[0x80 | c & 0x3F]);\n      continue;\n    }\n\n    i += 1;\n    c = 0x10000 + ((c & 0x3FF) << 10 | string.charCodeAt(i) & 0x3FF);\n    out += hexTable[0xF0 | c >> 18] + hexTable[0x80 | c >> 12 & 0x3F] + hexTable[0x80 | c >> 6 & 0x3F] + hexTable[0x80 | c & 0x3F];\n  }\n\n  return out;\n};\n\nvar compact = function compact(value) {\n  var queue = [{\n    obj: {\n      o: value\n    },\n    prop: 'o'\n  }];\n  var refs = [];\n\n  for (var i = 0; i < queue.length; ++i) {\n    var item = queue[i];\n    var obj = item.obj[item.prop];\n    var keys = Object.keys(obj);\n\n    for (var j = 0; j < keys.length; ++j) {\n      var key = keys[j];\n      var val = obj[key];\n\n      if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n        queue.push({\n          obj: obj,\n          prop: key\n        });\n        refs.push(val);\n      }\n    }\n  }\n\n  return compactQueue(queue);\n};\n\nvar isRegExp = function isRegExp(obj) {\n  return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n  if (obj === null || typeof obj === 'undefined') {\n    return false;\n  }\n\n  return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nmodule.exports = {\n  arrayToObject: arrayToObject,\n  assign: assign,\n  compact: compact,\n  decode: decode,\n  encode: encode,\n  isBuffer: isBuffer,\n  isRegExp: isRegExp,\n  merge: merge\n};","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/node_modules/qs/lib/utils.js"],"names":["has","Object","prototype","hasOwnProperty","hexTable","array","i","push","toString","toUpperCase","compactQueue","queue","obj","length","item","pop","prop","Array","isArray","compacted","j","arrayToObject","source","options","plainObjects","create","merge","target","allowPrototypes","call","concat","mergeTarget","forEach","keys","reduce","acc","key","value","assign","assignSingleSource","decode","str","decodeURIComponent","replace","e","encode","string","String","out","c","charCodeAt","charAt","compact","o","refs","val","indexOf","isRegExp","isBuffer","constructor","module","exports"],"mappings":"AAAA;;AAEA,IAAIA,GAAG,GAAGC,MAAM,CAACC,SAAP,CAAiBC,cAA3B;;AAEA,IAAIC,QAAQ,GAAI,YAAY;AACxB,MAAIC,KAAK,GAAG,EAAZ;;AACA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,GAApB,EAAyB,EAAEA,CAA3B,EAA8B;AAC1BD,IAAAA,KAAK,CAACE,IAAN,CAAW,MAAM,CAAC,CAACD,CAAC,GAAG,EAAJ,GAAS,GAAT,GAAe,EAAhB,IAAsBA,CAAC,CAACE,QAAF,CAAW,EAAX,CAAvB,EAAuCC,WAAvC,EAAjB;AACH;;AAED,SAAOJ,KAAP;AACH,CAPe,EAAhB;;AASA,IAAIK,YAAY,GAAG,SAASA,YAAT,CAAsBC,KAAtB,EAA6B;AAC5C,MAAIC,GAAJ;;AAEA,SAAOD,KAAK,CAACE,MAAb,EAAqB;AACjB,QAAIC,IAAI,GAAGH,KAAK,CAACI,GAAN,EAAX;AACAH,IAAAA,GAAG,GAAGE,IAAI,CAACF,GAAL,CAASE,IAAI,CAACE,IAAd,CAAN;;AAEA,QAAIC,KAAK,CAACC,OAAN,CAAcN,GAAd,CAAJ,EAAwB;AACpB,UAAIO,SAAS,GAAG,EAAhB;;AAEA,WAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGR,GAAG,CAACC,MAAxB,EAAgC,EAAEO,CAAlC,EAAqC;AACjC,YAAI,OAAOR,GAAG,CAACQ,CAAD,CAAV,KAAkB,WAAtB,EAAmC;AAC/BD,UAAAA,SAAS,CAACZ,IAAV,CAAeK,GAAG,CAACQ,CAAD,CAAlB;AACH;AACJ;;AAEDN,MAAAA,IAAI,CAACF,GAAL,CAASE,IAAI,CAACE,IAAd,IAAsBG,SAAtB;AACH;AACJ;;AAED,SAAOP,GAAP;AACH,CArBD;;AAuBA,IAAIS,aAAa,GAAG,SAASA,aAAT,CAAuBC,MAAvB,EAA+BC,OAA/B,EAAwC;AACxD,MAAIX,GAAG,GAAGW,OAAO,IAAIA,OAAO,CAACC,YAAnB,GAAkCvB,MAAM,CAACwB,MAAP,CAAc,IAAd,CAAlC,GAAwD,EAAlE;;AACA,OAAK,IAAInB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgB,MAAM,CAACT,MAA3B,EAAmC,EAAEP,CAArC,EAAwC;AACpC,QAAI,OAAOgB,MAAM,CAAChB,CAAD,CAAb,KAAqB,WAAzB,EAAsC;AAClCM,MAAAA,GAAG,CAACN,CAAD,CAAH,GAASgB,MAAM,CAAChB,CAAD,CAAf;AACH;AACJ;;AAED,SAAOM,GAAP;AACH,CATD;;AAWA,IAAIc,KAAK,GAAG,SAASA,KAAT,CAAeC,MAAf,EAAuBL,MAAvB,EAA+BC,OAA/B,EAAwC;AAChD,MAAI,CAACD,MAAL,EAAa;AACT,WAAOK,MAAP;AACH;;AAED,MAAI,OAAOL,MAAP,KAAkB,QAAtB,EAAgC;AAC5B,QAAIL,KAAK,CAACC,OAAN,CAAcS,MAAd,CAAJ,EAA2B;AACvBA,MAAAA,MAAM,CAACpB,IAAP,CAAYe,MAAZ;AACH,KAFD,MAEO,IAAI,OAAOK,MAAP,KAAkB,QAAtB,EAAgC;AACnC,UAAIJ,OAAO,CAACC,YAAR,IAAwBD,OAAO,CAACK,eAAhC,IAAmD,CAAC5B,GAAG,CAAC6B,IAAJ,CAAS5B,MAAM,CAACC,SAAhB,EAA2BoB,MAA3B,CAAxD,EAA4F;AACxFK,QAAAA,MAAM,CAACL,MAAD,CAAN,GAAiB,IAAjB;AACH;AACJ,KAJM,MAIA;AACH,aAAO,CAACK,MAAD,EAASL,MAAT,CAAP;AACH;;AAED,WAAOK,MAAP;AACH;;AAED,MAAI,OAAOA,MAAP,KAAkB,QAAtB,EAAgC;AAC5B,WAAO,CAACA,MAAD,EAASG,MAAT,CAAgBR,MAAhB,CAAP;AACH;;AAED,MAAIS,WAAW,GAAGJ,MAAlB;;AACA,MAAIV,KAAK,CAACC,OAAN,CAAcS,MAAd,KAAyB,CAACV,KAAK,CAACC,OAAN,CAAcI,MAAd,CAA9B,EAAqD;AACjDS,IAAAA,WAAW,GAAGV,aAAa,CAACM,MAAD,EAASJ,OAAT,CAA3B;AACH;;AAED,MAAIN,KAAK,CAACC,OAAN,CAAcS,MAAd,KAAyBV,KAAK,CAACC,OAAN,CAAcI,MAAd,CAA7B,EAAoD;AAChDA,IAAAA,MAAM,CAACU,OAAP,CAAe,UAAUlB,IAAV,EAAgBR,CAAhB,EAAmB;AAC9B,UAAIN,GAAG,CAAC6B,IAAJ,CAASF,MAAT,EAAiBrB,CAAjB,CAAJ,EAAyB;AACrB,YAAIqB,MAAM,CAACrB,CAAD,CAAN,IAAa,OAAOqB,MAAM,CAACrB,CAAD,CAAb,KAAqB,QAAtC,EAAgD;AAC5CqB,UAAAA,MAAM,CAACrB,CAAD,CAAN,GAAYoB,KAAK,CAACC,MAAM,CAACrB,CAAD,CAAP,EAAYQ,IAAZ,EAAkBS,OAAlB,CAAjB;AACH,SAFD,MAEO;AACHI,UAAAA,MAAM,CAACpB,IAAP,CAAYO,IAAZ;AACH;AACJ,OAND,MAMO;AACHa,QAAAA,MAAM,CAACrB,CAAD,CAAN,GAAYQ,IAAZ;AACH;AACJ,KAVD;AAWA,WAAOa,MAAP;AACH;;AAED,SAAO1B,MAAM,CAACgC,IAAP,CAAYX,MAAZ,EAAoBY,MAApB,CAA2B,UAAUC,GAAV,EAAeC,GAAf,EAAoB;AAClD,QAAIC,KAAK,GAAGf,MAAM,CAACc,GAAD,CAAlB;;AAEA,QAAIpC,GAAG,CAAC6B,IAAJ,CAASM,GAAT,EAAcC,GAAd,CAAJ,EAAwB;AACpBD,MAAAA,GAAG,CAACC,GAAD,CAAH,GAAWV,KAAK,CAACS,GAAG,CAACC,GAAD,CAAJ,EAAWC,KAAX,EAAkBd,OAAlB,CAAhB;AACH,KAFD,MAEO;AACHY,MAAAA,GAAG,CAACC,GAAD,CAAH,GAAWC,KAAX;AACH;;AACD,WAAOF,GAAP;AACH,GATM,EASJJ,WATI,CAAP;AAUH,CArDD;;AAuDA,IAAIO,MAAM,GAAG,SAASC,kBAAT,CAA4BZ,MAA5B,EAAoCL,MAApC,EAA4C;AACrD,SAAOrB,MAAM,CAACgC,IAAP,CAAYX,MAAZ,EAAoBY,MAApB,CAA2B,UAAUC,GAAV,EAAeC,GAAf,EAAoB;AAClDD,IAAAA,GAAG,CAACC,GAAD,CAAH,GAAWd,MAAM,CAACc,GAAD,CAAjB;AACA,WAAOD,GAAP;AACH,GAHM,EAGJR,MAHI,CAAP;AAIH,CALD;;AAOA,IAAIa,MAAM,GAAG,UAAUC,GAAV,EAAe;AACxB,MAAI;AACA,WAAOC,kBAAkB,CAACD,GAAG,CAACE,OAAJ,CAAY,KAAZ,EAAmB,GAAnB,CAAD,CAAzB;AACH,GAFD,CAEE,OAAOC,CAAP,EAAU;AACR,WAAOH,GAAP;AACH;AACJ,CAND;;AAQA,IAAII,MAAM,GAAG,SAASA,MAAT,CAAgBJ,GAAhB,EAAqB;AAC9B;AACA;AACA,MAAIA,GAAG,CAAC5B,MAAJ,KAAe,CAAnB,EAAsB;AAClB,WAAO4B,GAAP;AACH;;AAED,MAAIK,MAAM,GAAG,OAAOL,GAAP,KAAe,QAAf,GAA0BA,GAA1B,GAAgCM,MAAM,CAACN,GAAD,CAAnD;AAEA,MAAIO,GAAG,GAAG,EAAV;;AACA,OAAK,IAAI1C,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGwC,MAAM,CAACjC,MAA3B,EAAmC,EAAEP,CAArC,EAAwC;AACpC,QAAI2C,CAAC,GAAGH,MAAM,CAACI,UAAP,CAAkB5C,CAAlB,CAAR;;AAEA,QACI2C,CAAC,KAAK,IAAN,CAAW;AAAX,OACGA,CAAC,KAAK,IADT,CACc;AADd,OAEGA,CAAC,KAAK,IAFT,CAEc;AAFd,OAGGA,CAAC,KAAK,IAHT,CAGc;AAHd,OAIIA,CAAC,IAAI,IAAL,IAAaA,CAAC,IAAI,IAJtB,CAI4B;AAJ5B,OAKIA,CAAC,IAAI,IAAL,IAAaA,CAAC,IAAI,IALtB,CAK4B;AAL5B,OAMIA,CAAC,IAAI,IAAL,IAAaA,CAAC,IAAI,IAP1B,CAOgC;AAPhC,MAQE;AACED,QAAAA,GAAG,IAAIF,MAAM,CAACK,MAAP,CAAc7C,CAAd,CAAP;AACA;AACH;;AAED,QAAI2C,CAAC,GAAG,IAAR,EAAc;AACVD,MAAAA,GAAG,GAAGA,GAAG,GAAG5C,QAAQ,CAAC6C,CAAD,CAApB;AACA;AACH;;AAED,QAAIA,CAAC,GAAG,KAAR,EAAe;AACXD,MAAAA,GAAG,GAAGA,GAAG,IAAI5C,QAAQ,CAAC,OAAQ6C,CAAC,IAAI,CAAd,CAAR,GAA4B7C,QAAQ,CAAC,OAAQ6C,CAAC,GAAG,IAAb,CAAxC,CAAT;AACA;AACH;;AAED,QAAIA,CAAC,GAAG,MAAJ,IAAcA,CAAC,IAAI,MAAvB,EAA+B;AAC3BD,MAAAA,GAAG,GAAGA,GAAG,IAAI5C,QAAQ,CAAC,OAAQ6C,CAAC,IAAI,EAAd,CAAR,GAA6B7C,QAAQ,CAAC,OAAS6C,CAAC,IAAI,CAAN,GAAW,IAApB,CAArC,GAAkE7C,QAAQ,CAAC,OAAQ6C,CAAC,GAAG,IAAb,CAA9E,CAAT;AACA;AACH;;AAED3C,IAAAA,CAAC,IAAI,CAAL;AACA2C,IAAAA,CAAC,GAAG,WAAY,CAACA,CAAC,GAAG,KAAL,KAAe,EAAhB,GAAuBH,MAAM,CAACI,UAAP,CAAkB5C,CAAlB,IAAuB,KAAzD,CAAJ;AACA0C,IAAAA,GAAG,IAAI5C,QAAQ,CAAC,OAAQ6C,CAAC,IAAI,EAAd,CAAR,GACD7C,QAAQ,CAAC,OAAS6C,CAAC,IAAI,EAAN,GAAY,IAArB,CADP,GAED7C,QAAQ,CAAC,OAAS6C,CAAC,IAAI,CAAN,GAAW,IAApB,CAFP,GAGD7C,QAAQ,CAAC,OAAQ6C,CAAC,GAAG,IAAb,CAHd;AAIH;;AAED,SAAOD,GAAP;AACH,CAlDD;;AAoDA,IAAII,OAAO,GAAG,SAASA,OAAT,CAAiBf,KAAjB,EAAwB;AAClC,MAAI1B,KAAK,GAAG,CAAC;AAAEC,IAAAA,GAAG,EAAE;AAAEyC,MAAAA,CAAC,EAAEhB;AAAL,KAAP;AAAqBrB,IAAAA,IAAI,EAAE;AAA3B,GAAD,CAAZ;AACA,MAAIsC,IAAI,GAAG,EAAX;;AAEA,OAAK,IAAIhD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGK,KAAK,CAACE,MAA1B,EAAkC,EAAEP,CAApC,EAAuC;AACnC,QAAIQ,IAAI,GAAGH,KAAK,CAACL,CAAD,CAAhB;AACA,QAAIM,GAAG,GAAGE,IAAI,CAACF,GAAL,CAASE,IAAI,CAACE,IAAd,CAAV;AAEA,QAAIiB,IAAI,GAAGhC,MAAM,CAACgC,IAAP,CAAYrB,GAAZ,CAAX;;AACA,SAAK,IAAIQ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGa,IAAI,CAACpB,MAAzB,EAAiC,EAAEO,CAAnC,EAAsC;AAClC,UAAIgB,GAAG,GAAGH,IAAI,CAACb,CAAD,CAAd;AACA,UAAImC,GAAG,GAAG3C,GAAG,CAACwB,GAAD,CAAb;;AACA,UAAI,OAAOmB,GAAP,KAAe,QAAf,IAA2BA,GAAG,KAAK,IAAnC,IAA2CD,IAAI,CAACE,OAAL,CAAaD,GAAb,MAAsB,CAAC,CAAtE,EAAyE;AACrE5C,QAAAA,KAAK,CAACJ,IAAN,CAAW;AAAEK,UAAAA,GAAG,EAAEA,GAAP;AAAYI,UAAAA,IAAI,EAAEoB;AAAlB,SAAX;AACAkB,QAAAA,IAAI,CAAC/C,IAAL,CAAUgD,GAAV;AACH;AACJ;AACJ;;AAED,SAAO7C,YAAY,CAACC,KAAD,CAAnB;AACH,CApBD;;AAsBA,IAAI8C,QAAQ,GAAG,SAASA,QAAT,CAAkB7C,GAAlB,EAAuB;AAClC,SAAOX,MAAM,CAACC,SAAP,CAAiBM,QAAjB,CAA0BqB,IAA1B,CAA+BjB,GAA/B,MAAwC,iBAA/C;AACH,CAFD;;AAIA,IAAI8C,QAAQ,GAAG,SAASA,QAAT,CAAkB9C,GAAlB,EAAuB;AAClC,MAAIA,GAAG,KAAK,IAAR,IAAgB,OAAOA,GAAP,KAAe,WAAnC,EAAgD;AAC5C,WAAO,KAAP;AACH;;AAED,SAAO,CAAC,EAAEA,GAAG,CAAC+C,WAAJ,IAAmB/C,GAAG,CAAC+C,WAAJ,CAAgBD,QAAnC,IAA+C9C,GAAG,CAAC+C,WAAJ,CAAgBD,QAAhB,CAAyB9C,GAAzB,CAAjD,CAAR;AACH,CAND;;AAQAgD,MAAM,CAACC,OAAP,GAAiB;AACbxC,EAAAA,aAAa,EAAEA,aADF;AAEbiB,EAAAA,MAAM,EAAEA,MAFK;AAGbc,EAAAA,OAAO,EAAEA,OAHI;AAIbZ,EAAAA,MAAM,EAAEA,MAJK;AAKbK,EAAAA,MAAM,EAAEA,MALK;AAMba,EAAAA,QAAQ,EAAEA,QANG;AAObD,EAAAA,QAAQ,EAAEA,QAPG;AAQb/B,EAAAA,KAAK,EAAEA;AARM,CAAjB","sourcesContent":["'use strict';\n\nvar has = Object.prototype.hasOwnProperty;\n\nvar hexTable = (function () {\n    var array = [];\n    for (var i = 0; i < 256; ++i) {\n        array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n    }\n\n    return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n    var obj;\n\n    while (queue.length) {\n        var item = queue.pop();\n        obj = item.obj[item.prop];\n\n        if (Array.isArray(obj)) {\n            var compacted = [];\n\n            for (var j = 0; j < obj.length; ++j) {\n                if (typeof obj[j] !== 'undefined') {\n                    compacted.push(obj[j]);\n                }\n            }\n\n            item.obj[item.prop] = compacted;\n        }\n    }\n\n    return obj;\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n    var obj = options && options.plainObjects ? Object.create(null) : {};\n    for (var i = 0; i < source.length; ++i) {\n        if (typeof source[i] !== 'undefined') {\n            obj[i] = source[i];\n        }\n    }\n\n    return obj;\n};\n\nvar merge = function merge(target, source, options) {\n    if (!source) {\n        return target;\n    }\n\n    if (typeof source !== 'object') {\n        if (Array.isArray(target)) {\n            target.push(source);\n        } else if (typeof target === 'object') {\n            if (options.plainObjects || options.allowPrototypes || !has.call(Object.prototype, source)) {\n                target[source] = true;\n            }\n        } else {\n            return [target, source];\n        }\n\n        return target;\n    }\n\n    if (typeof target !== 'object') {\n        return [target].concat(source);\n    }\n\n    var mergeTarget = target;\n    if (Array.isArray(target) && !Array.isArray(source)) {\n        mergeTarget = arrayToObject(target, options);\n    }\n\n    if (Array.isArray(target) && Array.isArray(source)) {\n        source.forEach(function (item, i) {\n            if (has.call(target, i)) {\n                if (target[i] && typeof target[i] === 'object') {\n                    target[i] = merge(target[i], item, options);\n                } else {\n                    target.push(item);\n                }\n            } else {\n                target[i] = item;\n            }\n        });\n        return target;\n    }\n\n    return Object.keys(source).reduce(function (acc, key) {\n        var value = source[key];\n\n        if (has.call(acc, key)) {\n            acc[key] = merge(acc[key], value, options);\n        } else {\n            acc[key] = value;\n        }\n        return acc;\n    }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n    return Object.keys(source).reduce(function (acc, key) {\n        acc[key] = source[key];\n        return acc;\n    }, target);\n};\n\nvar decode = function (str) {\n    try {\n        return decodeURIComponent(str.replace(/\\+/g, ' '));\n    } catch (e) {\n        return str;\n    }\n};\n\nvar encode = function encode(str) {\n    // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n    // It has been adapted here for stricter adherence to RFC 3986\n    if (str.length === 0) {\n        return str;\n    }\n\n    var string = typeof str === 'string' ? str : String(str);\n\n    var out = '';\n    for (var i = 0; i < string.length; ++i) {\n        var c = string.charCodeAt(i);\n\n        if (\n            c === 0x2D // -\n            || c === 0x2E // .\n            || c === 0x5F // _\n            || c === 0x7E // ~\n            || (c >= 0x30 && c <= 0x39) // 0-9\n            || (c >= 0x41 && c <= 0x5A) // a-z\n            || (c >= 0x61 && c <= 0x7A) // A-Z\n        ) {\n            out += string.charAt(i);\n            continue;\n        }\n\n        if (c < 0x80) {\n            out = out + hexTable[c];\n            continue;\n        }\n\n        if (c < 0x800) {\n            out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n            continue;\n        }\n\n        if (c < 0xD800 || c >= 0xE000) {\n            out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n            continue;\n        }\n\n        i += 1;\n        c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n        out += hexTable[0xF0 | (c >> 18)]\n            + hexTable[0x80 | ((c >> 12) & 0x3F)]\n            + hexTable[0x80 | ((c >> 6) & 0x3F)]\n            + hexTable[0x80 | (c & 0x3F)];\n    }\n\n    return out;\n};\n\nvar compact = function compact(value) {\n    var queue = [{ obj: { o: value }, prop: 'o' }];\n    var refs = [];\n\n    for (var i = 0; i < queue.length; ++i) {\n        var item = queue[i];\n        var obj = item.obj[item.prop];\n\n        var keys = Object.keys(obj);\n        for (var j = 0; j < keys.length; ++j) {\n            var key = keys[j];\n            var val = obj[key];\n            if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n                queue.push({ obj: obj, prop: key });\n                refs.push(val);\n            }\n        }\n    }\n\n    return compactQueue(queue);\n};\n\nvar isRegExp = function isRegExp(obj) {\n    return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n    if (obj === null || typeof obj === 'undefined') {\n        return false;\n    }\n\n    return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nmodule.exports = {\n    arrayToObject: arrayToObject,\n    assign: assign,\n    compact: compact,\n    decode: decode,\n    encode: encode,\n    isBuffer: isBuffer,\n    isRegExp: isRegExp,\n    merge: merge\n};\n"]},"metadata":{},"sourceType":"script"}