{"version":3,"sources":["webpack:///./node_modules/public-encrypt/privateDecrypt.js","webpack:///./node_modules/pbkdf2/lib/async.js","webpack:///./node_modules/quick-format-unescaped/index.js","webpack:///./node_modules/query-string/node_modules/strict-uri-encode/index.js","webpack:///./node_modules/query-string/node_modules/decode-uri-component/index.js","webpack:///./node_modules/public-encrypt/withPublic.js","webpack:///./node_modules/picocolors/picocolors.browser.js","webpack:///./node_modules/public-encrypt/browser.js","webpack:///./node_modules/performance-now/lib/performance-now.js","webpack:///./node_modules/query-string/index.js","webpack:///./node_modules/pbkdf2/lib/precondition.js","webpack:///./node_modules/public-encrypt/xor.js","webpack:///./node_modules/pbkdf2/lib/to-buffer.js","webpack:///./node_modules/querystring-es3/decode.js","webpack:///./node_modules/process-nextick-args/index.js","webpack:///./node_modules/pbkdf2/lib/default-encoding.js","webpack:///./node_modules/pbkdf2/browser.js","webpack:///./node_modules/pino/browser.js","webpack:///./node_modules/public-encrypt/publicEncrypt.js","webpack:///./node_modules/querystring-es3/index.js","webpack:///./node_modules/raf/index.js","webpack:///./node_modules/qrcode-js-package/qrcode.js","webpack:///./node_modules/pbkdf2/lib/sync-browser.js","webpack:///./node_modules/querystring-es3/encode.js","webpack:///./node_modules/public-encrypt/mgf.js"],"names":["parseKeys","r","mgf","xor","BN","crt","createHash","withPublic","Buffer","oaep","key","msg","k","modulus","byteLength","iHash","update","alloc","digest","hLen","length","Error","maskedSeed","slice","maskedDb","seed","db","a","b","from","dif","len","Math","min","i","compare","module","exports","privateKey","enc","reverse","padding","cmp","zBuffer","concat","p1","status","ps","toString","pkcs1","ZERO_BUF","nextTick","checkParameters","defaultEncoding","sync","toBuffer","subtle","global","crypto","toBrowser","sha","sha1","sha256","sha384","sha512","checks","checkNative","algo","process","browser","Promise","resolve","importKey","deriveBits","prom","browserPbkdf2","then","catch","getNextTick","queueMicrotask","setImmediate","setTimeout","password","salt","iterations","name","hash","res","keylen","callback","toLowerCase","promise","out","e","resolvePromise","resp","tryStringify","o","JSON","stringify","f","args","opts","ss","objects","Array","index","join","argLen","str","lastPos","flen","charCodeAt","Number","floor","type","String","encodeURIComponent","replace","x","toUpperCase","token","singleMatcher","RegExp","multiMatcher","decodeComponents","components","split","decodeURIComponent","err","left","right","prototype","call","decode","input","tokens","match","encodedURI","TypeError","replaceMap","exec","result","entries","Object","keys","customDecodeURIComponent","paddedMsg","toRed","mont","redPow","publicExponent","fromRed","toArray","create","isColorSupported","reset","bold","dim","italic","underline","inverse","hidden","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","createColors","publicEncrypt","privateDecrypt","privateEncrypt","buf","publicDecrypt","getNanoSeconds","hrtime","loadTime","moduleLoadTime","nodeLoadTime","upTime","performance","now","hr","uptime","Date","getTime","this","strictUriEncode","decodeComponent","splitOnFirst","filterObject","encodeFragmentIdentifier","Symbol","validateArrayFormatSeparator","value","encode","options","strict","keysSorter","isArray","sort","map","removeHash","hashStart","indexOf","extract","queryStart","parseValue","parseNumbers","isNaN","trim","parseBooleans","parse","query","assign","arrayFormat","arrayFormatSeparator","formatter","accumulator","includes","isEncodedArray","newValue","item","test","arrayValue","parserForArrayFormat","ret","param","reduce","Boolean","object","shouldFilter","skipNull","isNullOrUndefined","skipEmptyString","keyValueSep","encoderForArrayFormat","objectCopy","filter","parseUrl","url","url_","parseFragmentIdentifier","fragmentIdentifier","stringifyUrl","queryFromUrl","parsedQueryFromUrl","queryString","getHash","pick","exclude","exclusionFilter","MAX_ALLOC","pow","thing","encoding","isBuffer","ArrayBuffer","isView","buffer","hasOwnProperty","obj","prop","qs","sep","eq","regexp","maxKeys","kstr","vstr","v","idx","substr","push","xs","version","fn","arg1","arg2","arg3","arguments","apply","parseInt","pbkdf2","pbkdf2Sync","format","pino","_console","defd","globalThis","defineProperty","get","configurable","self","window","pfGlobalThisOrFallback","console","stdSerializers","mapHttpRequest","mock","mapHttpResponse","wrapRequestSerializer","passthrough","wrapResponseSerializer","wrapErrorSerializer","req","constructor","message","stack","transmit","send","proto","write","asObject","serializers","serialize","shouldSerialize","stdErrSerialize","error","fatal","warn","info","debug","trace","enabled","level","logger","log","noop","Infinity","levels","values","_level","set","setOpts","timestamp","getTimeFunction","setMaxListeners","getMaxListeners","emit","addListener","on","prependListener","once","prependOnceListener","removeListener","removeAllListeners","listeners","listenerCount","eventNames","flush","_serialize","_stdErrSerialize","child","bindings","childOptions","childOptionsSerializers","childSerializers","childSerialize","applySerializers","Child","parent","_childLevel","bind","_logEvent","createLogEventShape","fallback","getPrototypeOf","levelVal","ts","transmitLevel","transmitValue","methodValue","methodLevel","val","wrap","argsCloned","time","lvl","shift","messages","arg","label","nullTime","epochTime","labels","10","20","30","40","50","60","stdTimeFunctions","unixTime","round","isoTime","toISOString","randomBytes","mLen","hLen2","dblen","nonZero","num","allocUnsafe","cache","cur","publicKey","n","root","vendors","suffix","raf","caf","last","id","queue","_now","next","max","cp","cancelled","handle","cancel","polyfill","requestAnimationFrame","cancelAnimationFrame","QRCode","QR8bitByte","data","mode","QRMode","MODE_8BIT_BYTE","parsedData","l","byteArray","code","unshift","QRCodeModel","typeNumber","errorCorrectLevel","modules","moduleCount","dataCache","dataList","getLength","put","addData","newData","isDark","row","col","getModuleCount","make","makeImpl","getBestMaskPattern","maskPattern","setupPositionProbePattern","setupPositionAdjustPattern","setupTimingPattern","setupTypeInfo","setupTypeNumber","createData","mapData","c","minLostPoint","pattern","lostPoint","QRUtil","getLostPoint","createMovieClip","target_mc","instance_name","depth","qr_mc","createEmptyMovieClip","y","beginFill","moveTo","lineTo","endFill","pos","getPatternPosition","j","bits","getBCHTypeNumber","mod","getBCHTypeInfo","inc","bitIndex","byteIndex","dark","getMask","PAD0","PAD1","rsBlocks","QRRSBlock","getRSBlocks","QRBitBuffer","getLengthInBits","totalDataCount","dataCount","putBit","createBytes","offset","maxDcCount","maxEcCount","dcdata","ecdata","dcCount","ecCount","totalCount","rsPoly","getErrorCorrectPolynomial","modPoly","QRPolynomial","modIndex","totalCodeCount","MODE_NUMBER","MODE_ALPHA_NUM","MODE_KANJI","QRErrorCorrectLevel","L","M","Q","H","QRMaskPattern","PATTERN000","PATTERN001","PATTERN010","PATTERN011","PATTERN100","PATTERN101","PATTERN110","PATTERN111","PATTERN_POSITION_TABLE","G15","G18","G15_MASK","d","getBCHDigit","digit","errorCorrectLength","multiply","QRMath","gexp","qrCode","sameCount","count","darkCount","abs","glog","LOG_TABLE","EXP_TABLE","ratio","RS_BLOCK_TABLE","rsBlock","getRsBlockTable","list","bufIndex","bit","QRCodeLimitLength","_getAndroid","android","sAgent","navigator","userAgent","aMat","parseFloat","svgDrawer","Drawing","el","htOption","_el","_htOption","draw","oQRCode","nCount","makeSVG","tag","attrs","document","createElementNS","setAttribute","width","height","clear","svg","colorLight","setAttributeNS","appendChild","colorDark","hasChildNodes","removeChild","lastChild","documentElement","tagName","CanvasRenderingContext2D","_onMakeImage","_elImage","src","_elCanvas","toDataURL","style","setProperty","_android","factor","devicePixelRatio","drawImage","image","sx","sy","sw","sh","dx","dy","dw","dh","nodeName","_safeSetDataURI","fSuccess","fFail","_fFail","_fSuccess","_bSupportDataURI","createElement","fOnError","onabort","onerror","onload","_bIsPainted","_oContext","getContext","alt","nWidth","nHeight","nRoundedWidth","nRoundedHeight","bIsDark","nLeft","nTop","strokeStyle","lineWidth","fillStyle","fillRect","strokeRect","ceil","makeImage","isPainted","clearRect","nNumber","aHTML","innerHTML","elTable","childNodes","nLeftMarginTable","offsetWidth","nTopMarginTable","offsetHeight","margin","_getTypeNumber","sText","nCorrectLevel","nType","replacedText","encodeURI","_getUTF8Length","nLimit","vOption","correctLevel","text","getElementById","useSVG","_oQRCode","_oDrawing","makeCode","title","CorrectLevel","md5","RIPEMD160","ZEROS","sizes","sha224","rmd160","ripemd160","Hmac","alg","saltLen","getDigest","blocksize","ipad","opad","ipad1","copy","ipad2","size","run","hmac","DK","block1","destPos","writeUInt32BE","T","U","stringifyPrimitive","isFinite","objectKeys","ks","i2ops","t"],"mappings":"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AG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GA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","file":"js/chunk-vendors~f9ca8911.27db93ef.js","sourcesContent":["var parseKeys = require('parse-asn1')\nvar mgf = require('./mgf')\nvar xor = require('./xor')\nvar BN = require('bn.js')\nvar crt = require('browserify-rsa')\nvar createHash = require('create-hash')\nvar withPublic = require('./withPublic')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function privateDecrypt (privateKey, enc, reverse) {\n var padding\n if (privateKey.padding) {\n padding = privateKey.padding\n } else if (reverse) {\n padding = 1\n } else {\n padding = 4\n }\n\n var key = parseKeys(privateKey)\n var k = key.modulus.byteLength()\n if (enc.length > k || new BN(enc).cmp(key.modulus) >= 0) {\n throw new Error('decryption error')\n }\n var msg\n if (reverse) {\n msg = withPublic(new BN(enc), key)\n } else {\n msg = crt(enc, key)\n }\n var zBuffer = Buffer.alloc(k - msg.length)\n msg = Buffer.concat([zBuffer, msg], k)\n if (padding === 4) {\n return oaep(key, msg)\n } else if (padding === 1) {\n return pkcs1(key, msg, reverse)\n } else if (padding === 3) {\n return msg\n } else {\n throw new Error('unknown padding')\n }\n}\n\nfunction oaep (key, msg) {\n var k = key.modulus.byteLength()\n var iHash = createHash('sha1').update(Buffer.alloc(0)).digest()\n var hLen = iHash.length\n if (msg[0] !== 0) {\n throw new Error('decryption error')\n }\n var maskedSeed = msg.slice(1, hLen + 1)\n var maskedDb = msg.slice(hLen + 1)\n var seed = xor(maskedSeed, mgf(maskedDb, hLen))\n var db = xor(maskedDb, mgf(seed, k - hLen - 1))\n if (compare(iHash, db.slice(0, hLen))) {\n throw new Error('decryption error')\n }\n var i = hLen\n while (db[i] === 0) {\n i++\n }\n if (db[i++] !== 1) {\n throw new Error('decryption error')\n }\n return db.slice(i)\n}\n\nfunction pkcs1 (key, msg, reverse) {\n var p1 = msg.slice(0, 2)\n var i = 2\n var status = 0\n while (msg[i++] !== 0) {\n if (i >= msg.length) {\n status++\n break\n }\n }\n var ps = msg.slice(2, i - 1)\n\n if ((p1.toString('hex') !== '0002' && !reverse) || (p1.toString('hex') !== '0001' && reverse)) {\n status++\n }\n if (ps.length < 8) {\n status++\n }\n if (status) {\n throw new Error('decryption error')\n }\n return msg.slice(i)\n}\nfunction compare (a, b) {\n a = Buffer.from(a)\n b = Buffer.from(b)\n var dif = 0\n var len = a.length\n if (a.length !== b.length) {\n dif++\n len = Math.min(a.length, b.length)\n }\n var i = -1\n while (++i < len) {\n dif += (a[i] ^ b[i])\n }\n return dif\n}\n","var Buffer = require('safe-buffer').Buffer\n\nvar checkParameters = require('./precondition')\nvar defaultEncoding = require('./default-encoding')\nvar sync = require('./sync')\nvar toBuffer = require('./to-buffer')\n\nvar ZERO_BUF\nvar subtle = global.crypto && global.crypto.subtle\nvar toBrowser = {\n sha: 'SHA-1',\n 'sha-1': 'SHA-1',\n sha1: 'SHA-1',\n sha256: 'SHA-256',\n 'sha-256': 'SHA-256',\n sha384: 'SHA-384',\n 'sha-384': 'SHA-384',\n 'sha-512': 'SHA-512',\n sha512: 'SHA-512'\n}\nvar checks = []\nfunction checkNative (algo) {\n if (global.process && !global.process.browser) {\n return Promise.resolve(false)\n }\n if (!subtle || !subtle.importKey || !subtle.deriveBits) {\n return Promise.resolve(false)\n }\n if (checks[algo] !== undefined) {\n return checks[algo]\n }\n ZERO_BUF = ZERO_BUF || Buffer.alloc(8)\n var prom = browserPbkdf2(ZERO_BUF, ZERO_BUF, 10, 128, algo)\n .then(function () {\n return true\n }).catch(function () {\n return false\n })\n checks[algo] = prom\n return prom\n}\nvar nextTick\nfunction getNextTick () {\n if (nextTick) {\n return nextTick\n }\n if (global.process && global.process.nextTick) {\n nextTick = global.process.nextTick\n } else if (global.queueMicrotask) {\n nextTick = global.queueMicrotask\n } else if (global.setImmediate) {\n nextTick = global.setImmediate\n } else {\n nextTick = global.setTimeout\n }\n return nextTick\n}\nfunction browserPbkdf2 (password, salt, iterations, length, algo) {\n return subtle.importKey(\n 'raw', password, { name: 'PBKDF2' }, false, ['deriveBits']\n ).then(function (key) {\n return subtle.deriveBits({\n name: 'PBKDF2',\n salt: salt,\n iterations: iterations,\n hash: {\n name: algo\n }\n }, key, length << 3)\n }).then(function (res) {\n return Buffer.from(res)\n })\n}\n\nfunction resolvePromise (promise, callback) {\n promise.then(function (out) {\n getNextTick()(function () {\n callback(null, out)\n })\n }, function (e) {\n getNextTick()(function () {\n callback(e)\n })\n })\n}\nmodule.exports = function (password, salt, iterations, keylen, digest, callback) {\n if (typeof digest === 'function') {\n callback = digest\n digest = undefined\n }\n\n digest = digest || 'sha1'\n var algo = toBrowser[digest.toLowerCase()]\n\n if (!algo || typeof global.Promise !== 'function') {\n getNextTick()(function () {\n var out\n try {\n out = sync(password, salt, iterations, keylen, digest)\n } catch (e) {\n return callback(e)\n }\n callback(null, out)\n })\n return\n }\n\n checkParameters(iterations, keylen)\n password = toBuffer(password, defaultEncoding, 'Password')\n salt = toBuffer(salt, defaultEncoding, 'Salt')\n if (typeof callback !== 'function') throw new Error('No callback provided to pbkdf2')\n\n resolvePromise(checkNative(algo).then(function (resp) {\n if (resp) return browserPbkdf2(password, salt, iterations, keylen, algo)\n\n return sync(password, salt, iterations, keylen, digest)\n }), callback)\n}\n","'use strict'\nfunction tryStringify (o) {\n try { return JSON.stringify(o) } catch(e) { return '\"[Circular]\"' }\n}\n\nmodule.exports = format\n\nfunction format(f, args, opts) {\n var ss = (opts && opts.stringify) || tryStringify\n var offset = 1\n if (typeof f === 'object' && f !== null) {\n var len = args.length + offset\n if (len === 1) return f\n var objects = new Array(len)\n objects[0] = ss(f)\n for (var index = 1; index < len; index++) {\n objects[index] = ss(args[index])\n }\n return objects.join(' ')\n }\n if (typeof f !== 'string') {\n return f\n }\n var argLen = args.length\n if (argLen === 0) return f\n var str = ''\n var a = 1 - offset\n var lastPos = -1\n var flen = (f && f.length) || 0\n for (var i = 0; i < flen;) {\n if (f.charCodeAt(i) === 37 && i + 1 < flen) {\n lastPos = lastPos > -1 ? lastPos : 0\n switch (f.charCodeAt(i + 1)) {\n case 100: // 'd'\n case 102: // 'f'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Number(args[a])\n lastPos = i + 2\n i++\n break\n case 105: // 'i'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Math.floor(Number(args[a]))\n lastPos = i + 2\n i++\n break\n case 79: // 'O'\n case 111: // 'o'\n case 106: // 'j'\n if (a >= argLen)\n break\n if (args[a] === undefined) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n var type = typeof args[a]\n if (type === 'string') {\n str += '\\'' + args[a] + '\\''\n lastPos = i + 2\n i++\n break\n }\n if (type === 'function') {\n str += args[a].name || ''\n lastPos = i + 2\n i++\n break\n }\n str += ss(args[a])\n lastPos = i + 2\n i++\n break\n case 115: // 's'\n if (a >= argLen)\n break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += String(args[a])\n lastPos = i + 2\n i++\n break\n case 37: // '%'\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += '%'\n lastPos = i + 2\n i++\n a--\n break\n }\n ++a\n }\n ++i\n }\n if (lastPos === -1)\n return f\n else if (lastPos < flen) {\n str += f.slice(lastPos)\n }\n\n return str\n}\n","'use strict';\nmodule.exports = str => encodeURIComponent(str).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n","'use strict';\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch (err) {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tvar left = components.slice(0, split);\n\tvar right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch (err) {\n\t\tvar tokens = input.match(singleMatcher) || [];\n\n\t\tfor (var i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tvar replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD'\n\t};\n\n\tvar match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch (err) {\n\t\t\tvar result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tvar entries = Object.keys(replaceMap);\n\n\tfor (var i = 0; i < entries.length; i++) {\n\t\t// Replace all decoded components\n\t\tvar key = entries[i];\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nmodule.exports = function (encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\tencodedURI = encodedURI.replace(/\\+/g, ' ');\n\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch (err) {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n};\n","var BN = require('bn.js')\nvar Buffer = require('safe-buffer').Buffer\n\nfunction withPublic (paddedMsg, key) {\n return Buffer.from(paddedMsg\n .toRed(BN.mont(key.modulus))\n .redPow(new BN(key.publicExponent))\n .fromRed()\n .toArray())\n}\n\nmodule.exports = withPublic\n","var x=String;\nvar create=function() {return {isColorSupported:false,reset:x,bold:x,dim:x,italic:x,underline:x,inverse:x,hidden:x,strikethrough:x,black:x,red:x,green:x,yellow:x,blue:x,magenta:x,cyan:x,white:x,gray:x,bgBlack:x,bgRed:x,bgGreen:x,bgYellow:x,bgBlue:x,bgMagenta:x,bgCyan:x,bgWhite:x}};\nmodule.exports=create();\nmodule.exports.createColors = create;\n","exports.publicEncrypt = require('./publicEncrypt')\nexports.privateDecrypt = require('./privateDecrypt')\n\nexports.privateEncrypt = function privateEncrypt (key, buf) {\n return exports.publicEncrypt(key, buf, true)\n}\n\nexports.publicDecrypt = function publicDecrypt (key, buf) {\n return exports.privateDecrypt(key, buf, true)\n}\n","// Generated by CoffeeScript 1.12.2\n(function() {\n var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n\n if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n module.exports = function() {\n return performance.now();\n };\n } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n module.exports = function() {\n return (getNanoSeconds() - nodeLoadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n moduleLoadTime = getNanoSeconds();\n upTime = process.uptime() * 1e9;\n nodeLoadTime = moduleLoadTime - upTime;\n } else if (Date.now) {\n module.exports = function() {\n return Date.now() - loadTime;\n };\n loadTime = Date.now();\n } else {\n module.exports = function() {\n return new Date().getTime() - loadTime;\n };\n loadTime = new Date().getTime();\n }\n\n}).call(this);\n\n//# sourceMappingURL=performance-now.js.map\n","'use strict';\nconst strictUriEncode = require('strict-uri-encode');\nconst decodeComponent = require('decode-uri-component');\nconst splitOnFirst = require('split-on-first');\nconst filterObject = require('filter-obj');\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[', index, ']'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join('')\n\t\t\t\t];\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[]'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '[]=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'colon-list-separator':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), ':list='].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), ':list=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSep = options.arrayFormat === 'bracket-separator' ?\n\t\t\t\t'[]=' :\n\t\t\t\t'=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSep, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault:\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, encode(key, options)];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '=', encode(value, options)].join('')];\n\t\t\t};\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)\\]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[\\])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'colon-list-separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : value === null ? value : decode(value, options);\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\n\t\tcase 'bracket-separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[\\])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null ?\n\t\t\t\t\t[] :\n\t\t\t\t\tvalue.split(options.arrayFormatSeparator).map(item => decode(item, options));\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], arrayValue);\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nfunction parse(query, options) {\n\toptions = Object.assign({\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst ret = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn ret;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn ret;\n\t}\n\n\tfor (const param of query.split('&')) {\n\t\tif (param === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet [key, value] = splitOnFirst(options.decode ? param.replace(/\\+/g, ' ') : param, '=');\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : ['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options);\n\t\tformatter(decode(key, options), value, ret);\n\t}\n\n\tfor (const key of Object.keys(ret)) {\n\t\tconst value = ret[key];\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const k of Object.keys(value)) {\n\t\t\t\tvalue[k] = parseValue(value[k], options);\n\t\t\t}\n\t\t} else {\n\t\t\tret[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn ret;\n\t}\n\n\treturn (options.sort === true ? Object.keys(ret).sort() : Object.keys(ret).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = ret[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = (object, options) => {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ','\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key])) ||\n\t\t(options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const key of Object.keys(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = object[key];\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n};\n\nexports.parseUrl = (url, options) => {\n\toptions = Object.assign({\n\t\tdecode: true\n\t}, options);\n\n\tconst [url_, hash] = splitOnFirst(url, '#');\n\n\treturn Object.assign(\n\t\t{\n\t\t\turl: url_.split('?')[0] || '',\n\t\t\tquery: parse(extract(url), options)\n\t\t},\n\t\toptions && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}\n\t);\n};\n\nexports.stringifyUrl = (object, options) => {\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true\n\t}, options);\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = exports.extract(object.url);\n\tconst parsedQueryFromUrl = exports.parse(queryFromUrl, {sort: false});\n\n\tconst query = Object.assign(parsedQueryFromUrl, object.query);\n\tlet queryString = exports.stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\tlet hash = getHash(object.url);\n\tif (object.fragmentIdentifier) {\n\t\thash = `#${options[encodeFragmentIdentifier] ? encode(object.fragmentIdentifier, options) : object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n};\n\nexports.pick = (input, filter, options) => {\n\toptions = Object.assign({\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false\n\t}, options);\n\n\tconst {url, query, fragmentIdentifier} = exports.parseUrl(input, options);\n\treturn exports.stringifyUrl({\n\t\turl,\n\t\tquery: filterObject(query, filter),\n\t\tfragmentIdentifier\n\t}, options);\n};\n\nexports.exclude = (input, filter, options) => {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn exports.pick(input, exclusionFilter, options);\n};\n","var MAX_ALLOC = Math.pow(2, 30) - 1 // default in iojs\n\nmodule.exports = function (iterations, keylen) {\n if (typeof iterations !== 'number') {\n throw new TypeError('Iterations not a number')\n }\n\n if (iterations < 0) {\n throw new TypeError('Bad iterations')\n }\n\n if (typeof keylen !== 'number') {\n throw new TypeError('Key length not a number')\n }\n\n if (keylen < 0 || keylen > MAX_ALLOC || keylen !== keylen) { /* eslint no-self-compare: 0 */\n throw new TypeError('Bad key length')\n }\n}\n","module.exports = function xor (a, b) {\n var len = a.length\n var i = -1\n while (++i < len) {\n a[i] ^= b[i]\n }\n return a\n}\n","var Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function (thing, encoding, name) {\n if (Buffer.isBuffer(thing)) {\n return thing\n } else if (typeof thing === 'string') {\n return Buffer.from(thing, encoding)\n } else if (ArrayBuffer.isView(thing)) {\n return Buffer.from(thing.buffer)\n } else {\n throw new TypeError(name + ' must be a string, a Buffer, a typed array or a DataView')\n }\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n","'use strict';\n\nif (typeof process === 'undefined' ||\n !process.version ||\n process.version.indexOf('v0.') === 0 ||\n process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {\n module.exports = { nextTick: nextTick };\n} else {\n module.exports = process\n}\n\nfunction nextTick(fn, arg1, arg2, arg3) {\n if (typeof fn !== 'function') {\n throw new TypeError('\"callback\" argument must be a function');\n }\n var len = arguments.length;\n var args, i;\n switch (len) {\n case 0:\n case 1:\n return process.nextTick(fn);\n case 2:\n return process.nextTick(function afterTickOne() {\n fn.call(null, arg1);\n });\n case 3:\n return process.nextTick(function afterTickTwo() {\n fn.call(null, arg1, arg2);\n });\n case 4:\n return process.nextTick(function afterTickThree() {\n fn.call(null, arg1, arg2, arg3);\n });\n default:\n args = new Array(len - 1);\n i = 0;\n while (i < args.length) {\n args[i++] = arguments[i];\n }\n return process.nextTick(function afterTick() {\n fn.apply(null, args);\n });\n }\n}\n\n","var defaultEncoding\n/* istanbul ignore next */\nif (global.process && global.process.browser) {\n defaultEncoding = 'utf-8'\n} else if (global.process && global.process.version) {\n var pVersionMajor = parseInt(process.version.split('.')[0].slice(1), 10)\n\n defaultEncoding = pVersionMajor >= 6 ? 'utf-8' : 'binary'\n} else {\n defaultEncoding = 'utf-8'\n}\nmodule.exports = defaultEncoding\n","exports.pbkdf2 = require('./lib/async')\nexports.pbkdf2Sync = require('./lib/sync')\n","'use strict'\n\nconst format = require('quick-format-unescaped')\n\nmodule.exports = pino\n\nconst _console = pfGlobalThisOrFallback().console || {}\nconst stdSerializers = {\n mapHttpRequest: mock,\n mapHttpResponse: mock,\n wrapRequestSerializer: passthrough,\n wrapResponseSerializer: passthrough,\n wrapErrorSerializer: passthrough,\n req: mock,\n res: mock,\n err: asErrValue\n}\n\nfunction shouldSerialize (serialize, serializers) {\n if (Array.isArray(serialize)) {\n const hasToFilter = serialize.filter(function (k) {\n return k !== '!stdSerializers.err'\n })\n return hasToFilter\n } else if (serialize === true) {\n return Object.keys(serializers)\n }\n\n return false\n}\n\nfunction pino (opts) {\n opts = opts || {}\n opts.browser = opts.browser || {}\n\n const transmit = opts.browser.transmit\n if (transmit && typeof transmit.send !== 'function') { throw Error('pino: transmit option must have a send function') }\n\n const proto = opts.browser.write || _console\n if (opts.browser.write) opts.browser.asObject = true\n const serializers = opts.serializers || {}\n const serialize = shouldSerialize(opts.browser.serialize, serializers)\n let stdErrSerialize = opts.browser.serialize\n\n if (\n Array.isArray(opts.browser.serialize) &&\n opts.browser.serialize.indexOf('!stdSerializers.err') > -1\n ) stdErrSerialize = false\n\n const levels = ['error', 'fatal', 'warn', 'info', 'debug', 'trace']\n\n if (typeof proto === 'function') {\n proto.error = proto.fatal = proto.warn =\n proto.info = proto.debug = proto.trace = proto\n }\n if (opts.enabled === false) opts.level = 'silent'\n const level = opts.level || 'info'\n const logger = Object.create(proto)\n if (!logger.log) logger.log = noop\n\n Object.defineProperty(logger, 'levelVal', {\n get: getLevelVal\n })\n Object.defineProperty(logger, 'level', {\n get: getLevel,\n set: setLevel\n })\n\n const setOpts = {\n transmit,\n serialize,\n asObject: opts.browser.asObject,\n levels,\n timestamp: getTimeFunction(opts)\n }\n logger.levels = pino.levels\n logger.level = level\n\n logger.setMaxListeners = logger.getMaxListeners =\n logger.emit = logger.addListener = logger.on =\n logger.prependListener = logger.once =\n logger.prependOnceListener = logger.removeListener =\n logger.removeAllListeners = logger.listeners =\n logger.listenerCount = logger.eventNames =\n logger.write = logger.flush = noop\n logger.serializers = serializers\n logger._serialize = serialize\n logger._stdErrSerialize = stdErrSerialize\n logger.child = child\n\n if (transmit) logger._logEvent = createLogEventShape()\n\n function getLevelVal () {\n return this.level === 'silent'\n ? Infinity\n : this.levels.values[this.level]\n }\n\n function getLevel () {\n return this._level\n }\n function setLevel (level) {\n if (level !== 'silent' && !this.levels.values[level]) {\n throw Error('unknown level ' + level)\n }\n this._level = level\n\n set(setOpts, logger, 'error', 'log') // <-- must stay first\n set(setOpts, logger, 'fatal', 'error')\n set(setOpts, logger, 'warn', 'error')\n set(setOpts, logger, 'info', 'log')\n set(setOpts, logger, 'debug', 'log')\n set(setOpts, logger, 'trace', 'log')\n }\n\n function child (bindings, childOptions) {\n if (!bindings) {\n throw new Error('missing bindings for child Pino')\n }\n childOptions = childOptions || {}\n if (serialize && bindings.serializers) {\n childOptions.serializers = bindings.serializers\n }\n const childOptionsSerializers = childOptions.serializers\n if (serialize && childOptionsSerializers) {\n var childSerializers = Object.assign({}, serializers, childOptionsSerializers)\n var childSerialize = opts.browser.serialize === true\n ? Object.keys(childSerializers)\n : serialize\n delete bindings.serializers\n applySerializers([bindings], childSerialize, childSerializers, this._stdErrSerialize)\n }\n function Child (parent) {\n this._childLevel = (parent._childLevel | 0) + 1\n this.error = bind(parent, bindings, 'error')\n this.fatal = bind(parent, bindings, 'fatal')\n this.warn = bind(parent, bindings, 'warn')\n this.info = bind(parent, bindings, 'info')\n this.debug = bind(parent, bindings, 'debug')\n this.trace = bind(parent, bindings, 'trace')\n if (childSerializers) {\n this.serializers = childSerializers\n this._serialize = childSerialize\n }\n if (transmit) {\n this._logEvent = createLogEventShape(\n [].concat(parent._logEvent.bindings, bindings)\n )\n }\n }\n Child.prototype = this\n return new Child(this)\n }\n return logger\n}\n\npino.levels = {\n values: {\n fatal: 60,\n error: 50,\n warn: 40,\n info: 30,\n debug: 20,\n trace: 10\n },\n labels: {\n 10: 'trace',\n 20: 'debug',\n 30: 'info',\n 40: 'warn',\n 50: 'error',\n 60: 'fatal'\n }\n}\n\npino.stdSerializers = stdSerializers\npino.stdTimeFunctions = Object.assign({}, { nullTime, epochTime, unixTime, isoTime })\n\nfunction set (opts, logger, level, fallback) {\n const proto = Object.getPrototypeOf(logger)\n logger[level] = logger.levelVal > logger.levels.values[level]\n ? noop\n : (proto[level] ? proto[level] : (_console[level] || _console[fallback] || noop))\n\n wrap(opts, logger, level)\n}\n\nfunction wrap (opts, logger, level) {\n if (!opts.transmit && logger[level] === noop) return\n\n logger[level] = (function (write) {\n return function LOG () {\n const ts = opts.timestamp()\n const args = new Array(arguments.length)\n const proto = (Object.getPrototypeOf && Object.getPrototypeOf(this) === _console) ? _console : this\n for (var i = 0; i < args.length; i++) args[i] = arguments[i]\n\n if (opts.serialize && !opts.asObject) {\n applySerializers(args, this._serialize, this.serializers, this._stdErrSerialize)\n }\n if (opts.asObject) write.call(proto, asObject(this, level, args, ts))\n else write.apply(proto, args)\n\n if (opts.transmit) {\n const transmitLevel = opts.transmit.level || logger.level\n const transmitValue = pino.levels.values[transmitLevel]\n const methodValue = pino.levels.values[level]\n if (methodValue < transmitValue) return\n transmit(this, {\n ts,\n methodLevel: level,\n methodValue,\n transmitLevel,\n transmitValue: pino.levels.values[opts.transmit.level || logger.level],\n send: opts.transmit.send,\n val: logger.levelVal\n }, args)\n }\n }\n })(logger[level])\n}\n\nfunction asObject (logger, level, args, ts) {\n if (logger._serialize) applySerializers(args, logger._serialize, logger.serializers, logger._stdErrSerialize)\n const argsCloned = args.slice()\n let msg = argsCloned[0]\n const o = {}\n if (ts) {\n o.time = ts\n }\n o.level = pino.levels.values[level]\n let lvl = (logger._childLevel | 0) + 1\n if (lvl < 1) lvl = 1\n // deliberate, catching objects, arrays\n if (msg !== null && typeof msg === 'object') {\n while (lvl-- && typeof argsCloned[0] === 'object') {\n Object.assign(o, argsCloned.shift())\n }\n msg = argsCloned.length ? format(argsCloned.shift(), argsCloned) : undefined\n } else if (typeof msg === 'string') msg = format(argsCloned.shift(), argsCloned)\n if (msg !== undefined) o.msg = msg\n return o\n}\n\nfunction applySerializers (args, serialize, serializers, stdErrSerialize) {\n for (const i in args) {\n if (stdErrSerialize && args[i] instanceof Error) {\n args[i] = pino.stdSerializers.err(args[i])\n } else if (typeof args[i] === 'object' && !Array.isArray(args[i])) {\n for (const k in args[i]) {\n if (serialize && serialize.indexOf(k) > -1 && k in serializers) {\n args[i][k] = serializers[k](args[i][k])\n }\n }\n }\n }\n}\n\nfunction bind (parent, bindings, level) {\n return function () {\n const args = new Array(1 + arguments.length)\n args[0] = bindings\n for (var i = 1; i < args.length; i++) {\n args[i] = arguments[i - 1]\n }\n return parent[level].apply(this, args)\n }\n}\n\nfunction transmit (logger, opts, args) {\n const send = opts.send\n const ts = opts.ts\n const methodLevel = opts.methodLevel\n const methodValue = opts.methodValue\n const val = opts.val\n const bindings = logger._logEvent.bindings\n\n applySerializers(\n args,\n logger._serialize || Object.keys(logger.serializers),\n logger.serializers,\n logger._stdErrSerialize === undefined ? true : logger._stdErrSerialize\n )\n logger._logEvent.ts = ts\n logger._logEvent.messages = args.filter(function (arg) {\n // bindings can only be objects, so reference equality check via indexOf is fine\n return bindings.indexOf(arg) === -1\n })\n\n logger._logEvent.level.label = methodLevel\n logger._logEvent.level.value = methodValue\n\n send(methodLevel, logger._logEvent, val)\n\n logger._logEvent = createLogEventShape(bindings)\n}\n\nfunction createLogEventShape (bindings) {\n return {\n ts: 0,\n messages: [],\n bindings: bindings || [],\n level: { label: '', value: 0 }\n }\n}\n\nfunction asErrValue (err) {\n const obj = {\n type: err.constructor.name,\n msg: err.message,\n stack: err.stack\n }\n for (const key in err) {\n if (obj[key] === undefined) {\n obj[key] = err[key]\n }\n }\n return obj\n}\n\nfunction getTimeFunction (opts) {\n if (typeof opts.timestamp === 'function') {\n return opts.timestamp\n }\n if (opts.timestamp === false) {\n return nullTime\n }\n return epochTime\n}\n\nfunction mock () { return {} }\nfunction passthrough (a) { return a }\nfunction noop () {}\n\nfunction nullTime () { return false }\nfunction epochTime () { return Date.now() }\nfunction unixTime () { return Math.round(Date.now() / 1000.0) }\nfunction isoTime () { return new Date(Date.now()).toISOString() } // using Date.now() for testability\n\n/* eslint-disable */\n/* istanbul ignore next */\nfunction pfGlobalThisOrFallback () {\n function defd (o) { return typeof o !== 'undefined' && o }\n try {\n if (typeof globalThis !== 'undefined') return globalThis\n Object.defineProperty(Object.prototype, 'globalThis', {\n get: function () {\n delete Object.prototype.globalThis\n return (this.globalThis = this)\n },\n configurable: true\n })\n return globalThis\n } catch (e) {\n return defd(self) || defd(window) || defd(this) || {}\n }\n}\n/* eslint-enable */\n","var parseKeys = require('parse-asn1')\nvar randomBytes = require('randombytes')\nvar createHash = require('create-hash')\nvar mgf = require('./mgf')\nvar xor = require('./xor')\nvar BN = require('bn.js')\nvar withPublic = require('./withPublic')\nvar crt = require('browserify-rsa')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function publicEncrypt (publicKey, msg, reverse) {\n var padding\n if (publicKey.padding) {\n padding = publicKey.padding\n } else if (reverse) {\n padding = 1\n } else {\n padding = 4\n }\n var key = parseKeys(publicKey)\n var paddedMsg\n if (padding === 4) {\n paddedMsg = oaep(key, msg)\n } else if (padding === 1) {\n paddedMsg = pkcs1(key, msg, reverse)\n } else if (padding === 3) {\n paddedMsg = new BN(msg)\n if (paddedMsg.cmp(key.modulus) >= 0) {\n throw new Error('data too long for modulus')\n }\n } else {\n throw new Error('unknown padding')\n }\n if (reverse) {\n return crt(paddedMsg, key)\n } else {\n return withPublic(paddedMsg, key)\n }\n}\n\nfunction oaep (key, msg) {\n var k = key.modulus.byteLength()\n var mLen = msg.length\n var iHash = createHash('sha1').update(Buffer.alloc(0)).digest()\n var hLen = iHash.length\n var hLen2 = 2 * hLen\n if (mLen > k - hLen2 - 2) {\n throw new Error('message too long')\n }\n var ps = Buffer.alloc(k - mLen - hLen2 - 2)\n var dblen = k - hLen - 1\n var seed = randomBytes(hLen)\n var maskedDb = xor(Buffer.concat([iHash, ps, Buffer.alloc(1, 1), msg], dblen), mgf(seed, dblen))\n var maskedSeed = xor(seed, mgf(maskedDb, hLen))\n return new BN(Buffer.concat([Buffer.alloc(1), maskedSeed, maskedDb], k))\n}\nfunction pkcs1 (key, msg, reverse) {\n var mLen = msg.length\n var k = key.modulus.byteLength()\n if (mLen > k - 11) {\n throw new Error('message too long')\n }\n var ps\n if (reverse) {\n ps = Buffer.alloc(k - mLen - 3, 0xff)\n } else {\n ps = nonZero(k - mLen - 3)\n }\n return new BN(Buffer.concat([Buffer.from([0, reverse ? 1 : 2]), ps, Buffer.alloc(1), msg], k))\n}\nfunction nonZero (len) {\n var out = Buffer.allocUnsafe(len)\n var i = 0\n var cache = randomBytes(len * 2)\n var cur = 0\n var num\n while (i < len) {\n if (cur === cache.length) {\n cache = randomBytes(len * 2)\n cur = 0\n }\n num = cache[cur++]\n if (num) {\n out[i++] = num\n }\n }\n return out\n}\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","var now = require('performance-now')\n , root = typeof window === 'undefined' ? global : window\n , vendors = ['moz', 'webkit']\n , suffix = 'AnimationFrame'\n , raf = root['request' + suffix]\n , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix]\n caf = root[vendors[i] + 'Cancel' + suffix]\n || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n var last = 0\n , id = 0\n , queue = []\n , frameDuration = 1000 / 60\n\n raf = function(callback) {\n if(queue.length === 0) {\n var _now = now()\n , next = Math.max(0, frameDuration - (_now - last))\n last = next + _now\n setTimeout(function() {\n var cp = queue.slice(0)\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0\n for(var i = 0; i < cp.length; i++) {\n if(!cp[i].cancelled) {\n try{\n cp[i].callback(last)\n } catch(e) {\n setTimeout(function() { throw e }, 0)\n }\n }\n }\n }, Math.round(next))\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n })\n return id\n }\n\n caf = function(handle) {\n for(var i = 0; i < queue.length; i++) {\n if(queue[i].handle === handle) {\n queue[i].cancelled = true\n }\n }\n }\n}\n\nmodule.exports = function(fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n if (!object) {\n object = root;\n }\n object.requestAnimationFrame = raf\n object.cancelAnimationFrame = caf\n}\n","/**\n * @fileoverview\n * - Using the 'QRCode for Javascript library'\n * - Fixed dataset of 'QRCode for Javascript library' for support full-spec.\n * - this library has no dependencies.\n * \n * @author davidshimjs\n * @see http://www.d-project.com/\n * @see http://jeromeetienne.github.com/jquery-qrcode/\n */\nvar QRCode;\n\n(function () {\n\t//---------------------------------------------------------------------\n\t// QRCode for JavaScript\n\t//\n\t// Copyright (c) 2009 Kazuhiko Arase\n\t//\n\t// URL: http://www.d-project.com/\n\t//\n\t// Licensed under the MIT license:\n\t// http://www.opensource.org/licenses/mit-license.php\n\t//\n\t// The word \"QR Code\" is registered trademark of \n\t// DENSO WAVE INCORPORATED\n\t// http://www.denso-wave.com/qrcode/faqpatent-e.html\n\t//\n\t//---------------------------------------------------------------------\n\tfunction QR8bitByte(data) {\n\t\tthis.mode = QRMode.MODE_8BIT_BYTE;\n\t\tthis.data = data;\n\t\tthis.parsedData = [];\n\n\t\t// Added to support UTF-8 Characters\n\t\tfor (var i = 0, l = this.data.length; i < l; i++) {\n\t\t\tvar byteArray = [];\n\t\t\tvar code = this.data.charCodeAt(i);\n\n\t\t\tif (code > 0x10000) {\n\t\t\t\tbyteArray[0] = 0xF0 | ((code & 0x1C0000) >>> 18);\n\t\t\t\tbyteArray[1] = 0x80 | ((code & 0x3F000) >>> 12);\n\t\t\t\tbyteArray[2] = 0x80 | ((code & 0xFC0) >>> 6);\n\t\t\t\tbyteArray[3] = 0x80 | (code & 0x3F);\n\t\t\t} else if (code > 0x800) {\n\t\t\t\tbyteArray[0] = 0xE0 | ((code & 0xF000) >>> 12);\n\t\t\t\tbyteArray[1] = 0x80 | ((code & 0xFC0) >>> 6);\n\t\t\t\tbyteArray[2] = 0x80 | (code & 0x3F);\n\t\t\t} else if (code > 0x80) {\n\t\t\t\tbyteArray[0] = 0xC0 | ((code & 0x7C0) >>> 6);\n\t\t\t\tbyteArray[1] = 0x80 | (code & 0x3F);\n\t\t\t} else {\n\t\t\t\tbyteArray[0] = code;\n\t\t\t}\n\n\t\t\tthis.parsedData.push(byteArray);\n\t\t}\n\n\t\tthis.parsedData = Array.prototype.concat.apply([], this.parsedData);\n\n\t\tif (this.parsedData.length != this.data.length) {\n\t\t\tthis.parsedData.unshift(191);\n\t\t\tthis.parsedData.unshift(187);\n\t\t\tthis.parsedData.unshift(239);\n\t\t}\n\t}\n\n\tQR8bitByte.prototype = {\n\t\tgetLength: function (buffer) {\n\t\t\treturn this.parsedData.length;\n\t\t},\n\t\twrite: function (buffer) {\n\t\t\tfor (var i = 0, l = this.parsedData.length; i < l; i++) {\n\t\t\t\tbuffer.put(this.parsedData[i], 8);\n\t\t\t}\n\t\t}\n\t};\n\n\tfunction QRCodeModel(typeNumber, errorCorrectLevel) {\n\t\tthis.typeNumber = typeNumber;\n\t\tthis.errorCorrectLevel = errorCorrectLevel;\n\t\tthis.modules = null;\n\t\tthis.moduleCount = 0;\n\t\tthis.dataCache = null;\n\t\tthis.dataList = [];\n\t}\n\n\tQRCodeModel.prototype={addData:function(data){var newData=new QR8bitByte(data);this.dataList.push(newData);this.dataCache=null;},isDark:function(row,col){if(row<0||this.moduleCount<=row||col<0||this.moduleCount<=col){throw new Error(row+\",\"+col);}\n\treturn this.modules[row][col];},getModuleCount:function(){return this.moduleCount;},make:function(){this.makeImpl(false,this.getBestMaskPattern());},makeImpl:function(test,maskPattern){this.moduleCount=this.typeNumber*4+17;this.modules=new Array(this.moduleCount);for(var row=0;row=7){this.setupTypeNumber(test);}\n\tif(this.dataCache==null){this.dataCache=QRCodeModel.createData(this.typeNumber,this.errorCorrectLevel,this.dataList);}\n\tthis.mapData(this.dataCache,maskPattern);},setupPositionProbePattern:function(row,col){for(var r=-1;r<=7;r++){if(row+r<=-1||this.moduleCount<=row+r)continue;for(var c=-1;c<=7;c++){if(col+c<=-1||this.moduleCount<=col+c)continue;if((0<=r&&r<=6&&(c==0||c==6))||(0<=c&&c<=6&&(r==0||r==6))||(2<=r&&r<=4&&2<=c&&c<=4)){this.modules[row+r][col+c]=true;}else{this.modules[row+r][col+c]=false;}}}},getBestMaskPattern:function(){var minLostPoint=0;var pattern=0;for(var i=0;i<8;i++){this.makeImpl(true,i);var lostPoint=QRUtil.getLostPoint(this);if(i==0||minLostPoint>lostPoint){minLostPoint=lostPoint;pattern=i;}}\n\treturn pattern;},createMovieClip:function(target_mc,instance_name,depth){var qr_mc=target_mc.createEmptyMovieClip(instance_name,depth);var cs=1;this.make();for(var row=0;row>i)&1)==1);this.modules[Math.floor(i/3)][i%3+this.moduleCount-8-3]=mod;}\n\tfor(var i=0;i<18;i++){var mod=(!test&&((bits>>i)&1)==1);this.modules[i%3+this.moduleCount-8-3][Math.floor(i/3)]=mod;}},setupTypeInfo:function(test,maskPattern){var data=(this.errorCorrectLevel<<3)|maskPattern;var bits=QRUtil.getBCHTypeInfo(data);for(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<6){this.modules[i][8]=mod;}else if(i<8){this.modules[i+1][8]=mod;}else{this.modules[this.moduleCount-15+i][8]=mod;}}\n\tfor(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<8){this.modules[8][this.moduleCount-i-1]=mod;}else if(i<9){this.modules[8][15-i-1+1]=mod;}else{this.modules[8][15-i-1]=mod;}}\n\tthis.modules[this.moduleCount-8][8]=(!test);},mapData:function(data,maskPattern){var inc=-1;var row=this.moduleCount-1;var bitIndex=7;var byteIndex=0;for(var col=this.moduleCount-1;col>0;col-=2){if(col==6)col--;while(true){for(var c=0;c<2;c++){if(this.modules[row][col-c]==null){var dark=false;if(byteIndex>>bitIndex)&1)==1);}\n\tvar mask=QRUtil.getMask(maskPattern,row,col-c);if(mask){dark=!dark;}\n\tthis.modules[row][col-c]=dark;bitIndex--;if(bitIndex==-1){byteIndex++;bitIndex=7;}}}\n\trow+=inc;if(row<0||this.moduleCount<=row){row-=inc;inc=-inc;break;}}}}};QRCodeModel.PAD0=0xEC;QRCodeModel.PAD1=0x11;QRCodeModel.createData=function(typeNumber,errorCorrectLevel,dataList){var rsBlocks=QRRSBlock.getRSBlocks(typeNumber,errorCorrectLevel);var buffer=new QRBitBuffer();for(var i=0;itotalDataCount*8){throw new Error(\"code length overflow. (\"\n\t+buffer.getLengthInBits()\n\t+\">\"\n\t+totalDataCount*8\n\t+\")\");}\n\tif(buffer.getLengthInBits()+4<=totalDataCount*8){buffer.put(0,4);}\n\twhile(buffer.getLengthInBits()%8!=0){buffer.putBit(false);}\n\twhile(true){if(buffer.getLengthInBits()>=totalDataCount*8){break;}\n\tbuffer.put(QRCodeModel.PAD0,8);if(buffer.getLengthInBits()>=totalDataCount*8){break;}\n\tbuffer.put(QRCodeModel.PAD1,8);}\n\treturn QRCodeModel.createBytes(buffer,rsBlocks);};QRCodeModel.createBytes=function(buffer,rsBlocks){var offset=0;var maxDcCount=0;var maxEcCount=0;var dcdata=new Array(rsBlocks.length);var ecdata=new Array(rsBlocks.length);for(var r=0;r=0)?modPoly.get(modIndex):0;}}\n\tvar totalCodeCount=0;for(var i=0;i=0){d^=(QRUtil.G15<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G15)));}\n\treturn((data<<10)|d)^QRUtil.G15_MASK;},getBCHTypeNumber:function(data){var d=data<<12;while(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)>=0){d^=(QRUtil.G18<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)));}\n\treturn(data<<12)|d;},getBCHDigit:function(data){var digit=0;while(data!=0){digit++;data>>>=1;}\n\treturn digit;},getPatternPosition:function(typeNumber){return QRUtil.PATTERN_POSITION_TABLE[typeNumber-1];},getMask:function(maskPattern,i,j){switch(maskPattern){case QRMaskPattern.PATTERN000:return(i+j)%2==0;case QRMaskPattern.PATTERN001:return i%2==0;case QRMaskPattern.PATTERN010:return j%3==0;case QRMaskPattern.PATTERN011:return(i+j)%3==0;case QRMaskPattern.PATTERN100:return(Math.floor(i/2)+Math.floor(j/3))%2==0;case QRMaskPattern.PATTERN101:return(i*j)%2+(i*j)%3==0;case QRMaskPattern.PATTERN110:return((i*j)%2+(i*j)%3)%2==0;case QRMaskPattern.PATTERN111:return((i*j)%3+(i+j)%2)%2==0;default:throw new Error(\"bad maskPattern:\"+maskPattern);}},getErrorCorrectPolynomial:function(errorCorrectLength){var a=new QRPolynomial([1],0);for(var i=0;i5){lostPoint+=(3+sameCount-5);}}}\n\tfor(var row=0;row=256){n-=255;}\n\treturn QRMath.EXP_TABLE[n];},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)};for(var i=0;i<8;i++){QRMath.EXP_TABLE[i]=1<>>(7-index%8))&1)==1;},put:function(num,length){for(var i=0;i>>(length-i-1))&1)==1);}},getLengthInBits:function(){return this.length;},putBit:function(bit){var bufIndex=Math.floor(this.length/8);if(this.buffer.length<=bufIndex){this.buffer.push(0);}\n\tif(bit){this.buffer[bufIndex]|=(0x80>>>(this.length%8));}\n\tthis.length++;}};var QRCodeLimitLength=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]];\n\t\n\tfunction _isSupportCanvas() {\n\t\treturn typeof CanvasRenderingContext2D != \"undefined\";\n\t}\n\t\n\t// android 2.x doesn't support Data-URI spec\n\tfunction _getAndroid() {\n\t\tvar android = false;\n\t\tvar sAgent = navigator.userAgent;\n\t\t\n\t\tif (/android/i.test(sAgent)) { // android\n\t\t\tandroid = true;\n\t\t\tvar aMat = sAgent.toString().match(/android ([0-9]\\.[0-9])/i);\n\t\t\t\n\t\t\tif (aMat && aMat[1]) {\n\t\t\t\tandroid = parseFloat(aMat[1]);\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn android;\n\t}\n\t\n\tvar svgDrawer = (function() {\n\n\t\tvar Drawing = function (el, htOption) {\n\t\t\tthis._el = el;\n\t\t\tthis._htOption = htOption;\n\t\t};\n\n\t\tDrawing.prototype.draw = function (oQRCode) {\n\t\t\tvar _htOption = this._htOption;\n\t\t\tvar _el = this._el;\n\t\t\tvar nCount = oQRCode.getModuleCount();\n\t\t\tvar nWidth = Math.floor(_htOption.width / nCount);\n\t\t\tvar nHeight = Math.floor(_htOption.height / nCount);\n\n\t\t\tthis.clear();\n\n\t\t\tfunction makeSVG(tag, attrs) {\n\t\t\t\tvar el = document.createElementNS('http://www.w3.org/2000/svg', tag);\n\t\t\t\tfor (var k in attrs)\n\t\t\t\t\tif (attrs.hasOwnProperty(k)) el.setAttribute(k, attrs[k]);\n\t\t\t\treturn el;\n\t\t\t}\n\n\t\t\tvar svg = makeSVG(\"svg\" , {'viewBox': '0 0 ' + String(nCount) + \" \" + String(nCount), 'width': '100%', 'height': '100%', 'fill': _htOption.colorLight});\n\t\t\tsvg.setAttributeNS(\"http://www.w3.org/2000/xmlns/\", \"xmlns:xlink\", \"http://www.w3.org/1999/xlink\");\n\t\t\t_el.appendChild(svg);\n\n\t\t\tsvg.appendChild(makeSVG(\"rect\", {\"fill\": _htOption.colorLight, \"width\": \"100%\", \"height\": \"100%\"}));\n\t\t\tsvg.appendChild(makeSVG(\"rect\", {\"fill\": _htOption.colorDark, \"width\": \"1\", \"height\": \"1\", \"id\": \"template\"}));\n\n\t\t\tfor (var row = 0; row < nCount; row++) {\n\t\t\t\tfor (var col = 0; col < nCount; col++) {\n\t\t\t\t\tif (oQRCode.isDark(row, col)) {\n\t\t\t\t\t\tvar child = makeSVG(\"use\", {\"x\": String(row), \"y\": String(col)});\n\t\t\t\t\t\tchild.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", \"#template\")\n\t\t\t\t\t\tsvg.appendChild(child);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tDrawing.prototype.clear = function () {\n\t\t\twhile (this._el.hasChildNodes())\n\t\t\t\tthis._el.removeChild(this._el.lastChild);\n\t\t};\n\t\treturn Drawing;\n\t})();\n\n\tvar useSVG = document.documentElement.tagName.toLowerCase() === \"svg\";\n\n\t// Drawing in DOM by using Table tag\n\tvar Drawing = useSVG ? svgDrawer : !_isSupportCanvas() ? (function () {\n\t\tvar Drawing = function (el, htOption) {\n\t\t\tthis._el = el;\n\t\t\tthis._htOption = htOption;\n\t\t};\n\t\t\t\n\t\t/**\n\t\t * Draw the QRCode\n\t\t * \n\t\t * @param {QRCode} oQRCode\n\t\t */\n\t\tDrawing.prototype.draw = function (oQRCode) {\n var _htOption = this._htOption;\n var _el = this._el;\n\t\t\tvar nCount = oQRCode.getModuleCount();\n\t\t\tvar nWidth = Math.floor(_htOption.width / nCount);\n\t\t\tvar nHeight = Math.floor(_htOption.height / nCount);\n\t\t\tvar aHTML = [''];\n\t\t\t\n\t\t\tfor (var row = 0; row < nCount; row++) {\n\t\t\t\taHTML.push('');\n\t\t\t\t\n\t\t\t\tfor (var col = 0; col < nCount; col++) {\n\t\t\t\t\taHTML.push('');\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\taHTML.push('');\n\t\t\t}\n\t\t\t\n\t\t\taHTML.push('
');\n\t\t\t_el.innerHTML = aHTML.join('');\n\t\t\t\n\t\t\t// Fix the margin values as real size.\n\t\t\tvar elTable = _el.childNodes[0];\n\t\t\tvar nLeftMarginTable = (_htOption.width - elTable.offsetWidth) / 2;\n\t\t\tvar nTopMarginTable = (_htOption.height - elTable.offsetHeight) / 2;\n\t\t\t\n\t\t\tif (nLeftMarginTable > 0 && nTopMarginTable > 0) {\n\t\t\t\telTable.style.margin = nTopMarginTable + \"px \" + nLeftMarginTable + \"px\";\t\n\t\t\t}\n\t\t};\n\t\t\n\t\t/**\n\t\t * Clear the QRCode\n\t\t */\n\t\tDrawing.prototype.clear = function () {\n\t\t\tthis._el.innerHTML = '';\n\t\t};\n\t\t\n\t\treturn Drawing;\n\t})() : (function () { // Drawing in Canvas\n\t\tfunction _onMakeImage() {\n\t\t\tthis._elImage.src = this._elCanvas.toDataURL(\"image/png\");\n\t\t\tthis._elImage.style.setProperty(\"display\", \"block\", \"important\");\n\t\t\tthis._elCanvas.style.setProperty(\"display\", \"none\", \"important\");\n\t\t}\n\t\t\n\t\t// Android 2.1 bug workaround\n\t\t// http://code.google.com/p/android/issues/detail?id=5141\n\t\tif (this._android && this._android <= 2.1) {\n\t \tvar factor = 1 / window.devicePixelRatio;\n\t var drawImage = CanvasRenderingContext2D.prototype.drawImage; \n\t \tCanvasRenderingContext2D.prototype.drawImage = function (image, sx, sy, sw, sh, dx, dy, dw, dh) {\n\t \t\tif ((\"nodeName\" in image) && /img/i.test(image.nodeName)) {\n\t\t \tfor (var i = arguments.length - 1; i >= 1; i--) {\n\t\t \targuments[i] = arguments[i] * factor;\n\t\t \t}\n\t \t\t} else if (typeof dw == \"undefined\") {\n\t \t\t\targuments[1] *= factor;\n\t \t\t\targuments[2] *= factor;\n\t \t\t\targuments[3] *= factor;\n\t \t\t\targuments[4] *= factor;\n\t \t\t}\n\t \t\t\n\t \tdrawImage.apply(this, arguments); \n\t \t};\n\t\t}\n\t\t\n\t\t/**\n\t\t * Check whether the user's browser supports Data URI or not\n\t\t * \n\t\t * @private\n\t\t * @param {Function} fSuccess Occurs if it supports Data URI\n\t\t * @param {Function} fFail Occurs if it doesn't support Data URI\n\t\t */\n\t\tfunction _safeSetDataURI(fSuccess, fFail) {\n var self = this;\n self._fFail = fFail;\n self._fSuccess = fSuccess;\n\n // Check it just once\n if (self._bSupportDataURI === null) {\n var el = document.createElement(\"img\");\n var fOnError = function() {\n self._bSupportDataURI = false;\n\n if (self._fFail) {\n self._fFail.call(self);\n }\n };\n var fOnSuccess = function() {\n self._bSupportDataURI = true;\n\n if (self._fSuccess) {\n self._fSuccess.call(self);\n }\n };\n\n el.onabort = fOnError;\n el.onerror = fOnError;\n el.onload = fOnSuccess;\n el.src = \"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==\"; // the Image contains 1px data.\n return;\n } else if (self._bSupportDataURI === true && self._fSuccess) {\n self._fSuccess.call(self);\n } else if (self._bSupportDataURI === false && self._fFail) {\n self._fFail.call(self);\n }\n\t\t};\n\t\t\n\t\t/**\n\t\t * Drawing QRCode by using canvas\n\t\t * \n\t\t * @constructor\n\t\t * @param {HTMLElement} el\n\t\t * @param {Object} htOption QRCode Options \n\t\t */\n\t\tvar Drawing = function (el, htOption) {\n \t\tthis._bIsPainted = false;\n \t\tthis._android = _getAndroid();\n\t\t\n\t\t\tthis._htOption = htOption;\n\t\t\tthis._elCanvas = document.createElement(\"canvas\");\n\t\t\tthis._elCanvas.width = htOption.width;\n\t\t\tthis._elCanvas.height = htOption.height;\n\t\t\tel.appendChild(this._elCanvas);\n\t\t\tthis._el = el;\n\t\t\tthis._oContext = this._elCanvas.getContext(\"2d\");\n\t\t\tthis._bIsPainted = false;\n\t\t\tthis._elImage = document.createElement(\"img\");\n\t\t\tthis._elImage.alt = \"Scan me!\";\n\t\t\tthis._elImage.style.setProperty(\"display\", \"none\", \"important\");\n\t\t\tthis._el.appendChild(this._elImage);\n\t\t\tthis._bSupportDataURI = null;\n\t\t};\n\t\t\t\n\t\t/**\n\t\t * Draw the QRCode\n\t\t * \n\t\t * @param {QRCode} oQRCode \n\t\t */\n\t\tDrawing.prototype.draw = function (oQRCode) {\n var _elImage = this._elImage;\n var _oContext = this._oContext;\n var _htOption = this._htOption;\n \n\t\t\tvar nCount = oQRCode.getModuleCount();\n\t\t\tvar nWidth = _htOption.width / nCount;\n\t\t\tvar nHeight = _htOption.height / nCount;\n\t\t\tvar nRoundedWidth = Math.round(nWidth);\n\t\t\tvar nRoundedHeight = Math.round(nHeight);\n\n\t\t\t_elImage.style.setProperty(\"display\", \"none\", \"important\");\n\t\t\tthis.clear();\n\t\t\t\n\t\t\tfor (var row = 0; row < nCount; row++) {\n\t\t\t\tfor (var col = 0; col < nCount; col++) {\n\t\t\t\t\tvar bIsDark = oQRCode.isDark(row, col);\n\t\t\t\t\tvar nLeft = col * nWidth;\n\t\t\t\t\tvar nTop = row * nHeight;\n\t\t\t\t\t_oContext.strokeStyle = bIsDark ? _htOption.colorDark : _htOption.colorLight;\n\t\t\t\t\t_oContext.lineWidth = 1;\n\t\t\t\t\t_oContext.fillStyle = bIsDark ? _htOption.colorDark : _htOption.colorLight;\t\t\t\t\t\n\t\t\t\t\t_oContext.fillRect(nLeft, nTop, nWidth, nHeight);\n\t\t\t\t\t\n\t\t\t\t\t// 안티 앨리어싱 방지 처리\n\t\t\t\t\t_oContext.strokeRect(\n\t\t\t\t\t\tMath.floor(nLeft) + 0.5,\n\t\t\t\t\t\tMath.floor(nTop) + 0.5,\n\t\t\t\t\t\tnRoundedWidth,\n\t\t\t\t\t\tnRoundedHeight\n\t\t\t\t\t);\n\t\t\t\t\t\n\t\t\t\t\t_oContext.strokeRect(\n\t\t\t\t\t\tMath.ceil(nLeft) - 0.5,\n\t\t\t\t\t\tMath.ceil(nTop) - 0.5,\n\t\t\t\t\t\tnRoundedWidth,\n\t\t\t\t\t\tnRoundedHeight\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tthis._bIsPainted = true;\n\t\t};\n\t\t\t\n\t\t/**\n\t\t * Make the image from Canvas if the browser supports Data URI.\n\t\t */\n\t\tDrawing.prototype.makeImage = function () {\n\t\t\tif (this._bIsPainted) {\n\t\t\t\t_safeSetDataURI.call(this, _onMakeImage);\n\t\t\t}\n\t\t};\n\t\t\t\n\t\t/**\n\t\t * Return whether the QRCode is painted or not\n\t\t * \n\t\t * @return {Boolean}\n\t\t */\n\t\tDrawing.prototype.isPainted = function () {\n\t\t\treturn this._bIsPainted;\n\t\t};\n\t\t\n\t\t/**\n\t\t * Clear the QRCode\n\t\t */\n\t\tDrawing.prototype.clear = function () {\n\t\t\tthis._oContext.clearRect(0, 0, this._elCanvas.width, this._elCanvas.height);\n\t\t\tthis._bIsPainted = false;\n\t\t};\n\t\t\n\t\t/**\n\t\t * @private\n\t\t * @param {Number} nNumber\n\t\t */\n\t\tDrawing.prototype.round = function (nNumber) {\n\t\t\tif (!nNumber) {\n\t\t\t\treturn nNumber;\n\t\t\t}\n\t\t\t\n\t\t\treturn Math.floor(nNumber * 1000) / 1000;\n\t\t};\n\t\t\n\t\treturn Drawing;\n\t})();\n\t\n\t/**\n\t * Get the type by string length\n\t * \n\t * @private\n\t * @param {String} sText\n\t * @param {Number} nCorrectLevel\n\t * @return {Number} type\n\t */\n\tfunction _getTypeNumber(sText, nCorrectLevel) {\t\t\t\n\t\tvar nType = 1;\n\t\tvar length = _getUTF8Length(sText);\n\t\t\n\t\tfor (var i = 0, len = QRCodeLimitLength.length; i <= len; i++) {\n\t\t\tvar nLimit = 0;\n\t\t\t\n\t\t\tswitch (nCorrectLevel) {\n\t\t\t\tcase QRErrorCorrectLevel.L :\n\t\t\t\t\tnLimit = QRCodeLimitLength[i][0];\n\t\t\t\t\tbreak;\n\t\t\t\tcase QRErrorCorrectLevel.M :\n\t\t\t\t\tnLimit = QRCodeLimitLength[i][1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase QRErrorCorrectLevel.Q :\n\t\t\t\t\tnLimit = QRCodeLimitLength[i][2];\n\t\t\t\t\tbreak;\n\t\t\t\tcase QRErrorCorrectLevel.H :\n\t\t\t\t\tnLimit = QRCodeLimitLength[i][3];\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\t\n\t\t\tif (length <= nLimit) {\n\t\t\t\tbreak;\n\t\t\t} else {\n\t\t\t\tnType++;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (nType > QRCodeLimitLength.length) {\n\t\t\tthrow new Error(\"Too long data\");\n\t\t}\n\t\t\n\t\treturn nType;\n\t}\n\n\tfunction _getUTF8Length(sText) {\n\t\tvar replacedText = encodeURI(sText).toString().replace(/\\%[0-9a-fA-F]{2}/g, 'a');\n\t\treturn replacedText.length + (replacedText.length != sText ? 3 : 0);\n\t}\n\t\n\t/**\n\t * @class QRCode\n\t * @constructor\n\t * @example \n\t * new QRCode(document.getElementById(\"test\"), \"http://jindo.dev.naver.com/collie\");\n\t *\n\t * @example\n\t * var oQRCode = new QRCode(\"test\", {\n\t * text : \"http://naver.com\",\n\t * width : 128,\n\t * height : 128\n\t * });\n\t * \n\t * oQRCode.clear(); // Clear the QRCode.\n\t * oQRCode.makeCode(\"http://map.naver.com\"); // Re-create the QRCode.\n\t *\n\t * @param {HTMLElement|String} el target element or 'id' attribute of element.\n\t * @param {Object|String} vOption\n\t * @param {String} vOption.text QRCode link data\n\t * @param {Number} [vOption.width=256]\n\t * @param {Number} [vOption.height=256]\n\t * @param {String} [vOption.colorDark=\"#000000\"]\n\t * @param {String} [vOption.colorLight=\"#ffffff\"]\n\t * @param {QRCode.CorrectLevel} [vOption.correctLevel=QRCode.CorrectLevel.H] [L|M|Q|H] \n\t */\n\tQRCode = function (el, vOption) {\n\t\tthis._htOption = {\n\t\t\twidth : 256, \n\t\t\theight : 256,\n\t\t\ttypeNumber : 4,\n\t\t\tcolorDark : \"#000000\",\n\t\t\tcolorLight : \"#ffffff\",\n\t\t\tcorrectLevel : QRErrorCorrectLevel.H\n\t\t};\n\t\t\n\t\tif (typeof vOption === 'string') {\n\t\t\tvOption\t= {\n\t\t\t\ttext : vOption\n\t\t\t};\n\t\t}\n\t\t\n\t\t// Overwrites options\n\t\tif (vOption) {\n\t\t\tfor (var i in vOption) {\n\t\t\t\tthis._htOption[i] = vOption[i];\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (typeof el == \"string\") {\n\t\t\tel = document.getElementById(el);\n\t\t}\n\n\t\tif (this._htOption.useSVG) {\n\t\t\tDrawing = svgDrawer;\n\t\t}\n\t\t\n\t\tthis._android = _getAndroid();\n\t\tthis._el = el;\n\t\tthis._oQRCode = null;\n\t\tthis._oDrawing = new Drawing(this._el, this._htOption);\n\t\t\n\t\tif (this._htOption.text) {\n\t\t\tthis.makeCode(this._htOption.text);\t\n\t\t}\n\t};\n\t\n\t/**\n\t * Make the QRCode\n\t * \n\t * @param {String} sText link data\n\t */\n\tQRCode.prototype.makeCode = function (sText) {\n\t\tthis._oQRCode = new QRCodeModel(_getTypeNumber(sText, this._htOption.correctLevel), this._htOption.correctLevel);\n\t\tthis._oQRCode.addData(sText);\n\t\tthis._oQRCode.make();\n\t\tthis._el.title = sText;\n\t\tthis._oDrawing.draw(this._oQRCode);\t\t\t\n\t\tthis.makeImage();\n\t};\n\t\n\t/**\n\t * Make the Image from Canvas element\n\t * - It occurs automatically\n\t * - Android below 3 doesn't support Data-URI spec.\n\t * \n\t * @private\n\t */\n\tQRCode.prototype.makeImage = function () {\n\t\tif (typeof this._oDrawing.makeImage == \"function\" && (!this._android || this._android >= 3)) {\n\t\t\tthis._oDrawing.makeImage();\n\t\t}\n\t};\n\t\n\t/**\n\t * Clear the QRCode\n\t */\n\tQRCode.prototype.clear = function () {\n\t\tthis._oDrawing.clear();\n\t};\n\t\n\t/**\n\t * @name QRCode.CorrectLevel\n\t */\n\tQRCode.CorrectLevel = QRErrorCorrectLevel;\n})();\n\nif (module && module.exports) {\n module.exports = QRCode;\n}\n","var md5 = require('create-hash/md5')\nvar RIPEMD160 = require('ripemd160')\nvar sha = require('sha.js')\nvar Buffer = require('safe-buffer').Buffer\n\nvar checkParameters = require('./precondition')\nvar defaultEncoding = require('./default-encoding')\nvar toBuffer = require('./to-buffer')\n\nvar ZEROS = Buffer.alloc(128)\nvar sizes = {\n md5: 16,\n sha1: 20,\n sha224: 28,\n sha256: 32,\n sha384: 48,\n sha512: 64,\n rmd160: 20,\n ripemd160: 20\n}\n\nfunction Hmac (alg, key, saltLen) {\n var hash = getDigest(alg)\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n if (key.length > blocksize) {\n key = hash(key)\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = Buffer.allocUnsafe(blocksize + sizes[alg])\n var opad = Buffer.allocUnsafe(blocksize + sizes[alg])\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n var ipad1 = Buffer.allocUnsafe(blocksize + saltLen + 4)\n ipad.copy(ipad1, 0, 0, blocksize)\n this.ipad1 = ipad1\n this.ipad2 = ipad\n this.opad = opad\n this.alg = alg\n this.blocksize = blocksize\n this.hash = hash\n this.size = sizes[alg]\n}\n\nHmac.prototype.run = function (data, ipad) {\n data.copy(ipad, this.blocksize)\n var h = this.hash(ipad)\n h.copy(this.opad, this.blocksize)\n return this.hash(this.opad)\n}\n\nfunction getDigest (alg) {\n function shaFunc (data) {\n return sha(alg).update(data).digest()\n }\n function rmd160Func (data) {\n return new RIPEMD160().update(data).digest()\n }\n\n if (alg === 'rmd160' || alg === 'ripemd160') return rmd160Func\n if (alg === 'md5') return md5\n return shaFunc\n}\n\nfunction pbkdf2 (password, salt, iterations, keylen, digest) {\n checkParameters(iterations, keylen)\n password = toBuffer(password, defaultEncoding, 'Password')\n salt = toBuffer(salt, defaultEncoding, 'Salt')\n\n digest = digest || 'sha1'\n\n var hmac = new Hmac(digest, password, salt.length)\n\n var DK = Buffer.allocUnsafe(keylen)\n var block1 = Buffer.allocUnsafe(salt.length + 4)\n salt.copy(block1, 0, 0, salt.length)\n\n var destPos = 0\n var hLen = sizes[digest]\n var l = Math.ceil(keylen / hLen)\n\n for (var i = 1; i <= l; i++) {\n block1.writeUInt32BE(i, salt.length)\n\n var T = hmac.run(block1, hmac.ipad1)\n var U = T\n\n for (var j = 1; j < iterations; j++) {\n U = hmac.run(U, hmac.ipad2)\n for (var k = 0; k < hLen; k++) T[k] ^= U[k]\n }\n\n T.copy(DK, destPos)\n destPos += hLen\n }\n\n return DK\n}\n\nmodule.exports = pbkdf2\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (isArray(obj[k])) {\n return map(obj[k], function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n return res;\n};\n","var createHash = require('create-hash')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function (seed, len) {\n var t = Buffer.alloc(0)\n var i = 0\n var c\n while (t.length < len) {\n c = i2ops(i++)\n t = Buffer.concat([t, createHash('sha1').update(seed).update(c).digest()])\n }\n return t.slice(0, len)\n}\n\nfunction i2ops (c) {\n var out = Buffer.allocUnsafe(4)\n out.writeUInt32BE(c, 0)\n return out\n}\n"],"sourceRoot":""}