{"version":3,"sources":["webpack:///./src/views/Wallets.vue?387b","webpack:///./src/views/Wallets.vue?a189","webpack:///src/views/Wallets.vue","webpack:///./src/views/Wallets.vue?0a0c","webpack:///./src/views/Wallets.vue","webpack:///./src/utils/qrcode.js","webpack:///./src/utils/parse.js"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","wallets","selectedWallet","on","onWalletSelected","key","currentWallet","id","onDeleted","_e","staticRenderFns","component","qrcode","typeNumber","errorCorrectionLevel","PAD0","PAD1","_typeNumber","_errorCorrectionLevel","QRErrorCorrectionLevel","_modules","_moduleCount","_dataCache","_dataList","_this","makeImpl","test","maskPattern","moduleCount","modules","Array","row","col","setupPositionProbePattern","setupPositionAdjustPattern","setupTimingPattern","setupTypeInfo","setupTypeNumber","createData","mapData","r","c","getBestMaskPattern","minLostPoint","pattern","i","lostPoint","QRUtil","getLostPoint","pos","getPatternPosition","length","j","bits","getBCHTypeNumber","mod","Math","floor","data","getBCHTypeInfo","inc","bitIndex","byteIndex","maskFunc","getMaskFunction","dark","mask","createBytes","buffer","rsBlocks","offset","maxDcCount","maxEcCount","dcdata","ecdata","dcCount","dataCount","ecCount","totalCount","max","getBuffer","rsPoly","getErrorCorrectPolynomial","rawPoly","qrPolynomial","getLength","modPoly","modIndex","getAt","totalCodeCount","index","dataList","QRRSBlock","getRSBlocks","qrBitBuffer","put","getMode","getLengthInBits","write","totalDataCount","putBit","addData","mode","newData","qrNumber","qrAlphaNum","qr8BitByte","qrKanji","push","isDark","getModuleCount","make","createTableTag","cellSize","margin","qrHtml","createSvgTag","opts","_typeof","arguments","mc","mr","rect","size","qrSvg","scalable","createDataURL","min","x","y","createImgTag","alt","img","_createHalfASCII","r1","r2","p","blocks","blocksLastLineNoMargin","ascii","substring","join","createASCII","white","black","line","renderTo2dContext","context","fillStyle","fillRect","stringToBytesFuncs","s","bytes","charCodeAt","stringToBytes","createStringToBytes","unicodeData","numChars","unicodeMap","bin","base64DecodeInputStream","read","b","count","b0","b1","b2","b3","k","String","fromCharCode","v","unknownChar","charAt","QRMode","MODE_NUMBER","MODE_ALPHA_NUM","MODE_8BIT_BYTE","MODE_KANJI","L","M","Q","H","QRMaskPattern","PATTERN000","PATTERN001","PATTERN010","PATTERN011","PATTERN100","PATTERN101","PATTERN110","PATTERN111","PATTERN_POSITION_TABLE","G15","G18","G15_MASK","getBCHDigit","digit","d","errorCorrectLength","a","multiply","QRMath","gexp","type","sameCount","darkCount","ratio","abs","EXP_TABLE","LOG_TABLE","n","num","shift","_num","e","glog","RS_BLOCK_TABLE","qrRSBlock","getRsBlockTable","rsBlock","list","_buffer","_length","bufIndex","bit","_mode","_data","strToNum","chatToNum","getCode","_bytes","code","byteArrayOutputStream","writeByte","off","len","base64EncodeOutputStream","_buflen","_base64","writeEncoded","encode","flush","padlen","toString","str","_str","_pos","match","decode","gifImage","width","height","_width","_height","pixel","out","writeString","writeShort","lzwMinCodeSize","raster","getLZWRaster","writeBytes","bitOutputStream","_out","_bitLength","_bitBuffer","clearCode","endCode","bitLength","table","lzwTable","add","byteOut","bitOut","dataIndex","contains","indexOf","toByteArray","_map","_size","getPixel","gif","setPixel","base64","toUTF8Array","utf8","charcode","parseNumberString","precision","undefined","BigNumber","decimalSep","toLocaleString","repRegex","RegExp","concat","replace","isNaN","isFinite","times","parseSiacoinString","parseCurrencyString","rate","div"],"mappings":"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V,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAGpB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,EAAG,IAAK,IAAK,GAAI,IAAK,KACvB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAGpB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,EAAG,IAAK,IAAK,GAAI,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,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","file":"js/chunk-103f3728.895b53a9.js","sourcesContent":["export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--12-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--12-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--12-oneOf-1-2!../../node_modules/stylus-loader/index.js??ref--12-oneOf-1-3!../../node_modules/style-resources-loader/lib/index.js??ref--12-oneOf-1-4!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Wallets.vue?vue&type=style&index=0&id=2fda3b6e&lang=stylus&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page wallet-page\"},[_c('mobile-nav'),_c('wallet-list',{staticClass:\"wallets-list\",attrs:{\"wallets\":_vm.wallets,\"active\":_vm.selectedWallet},on:{\"selected\":_vm.onWalletSelected}}),_c('div',{staticClass:\"wallets-detail\"},[_c('transition',{attrs:{\"name\":\"fade-top\",\"mode\":\"out-in\"}},[(_vm.currentWallet)?_c('wallet-display',{key:_vm.currentWallet.id,attrs:{\"wallet\":_vm.currentWallet,\"wallets\":_vm.wallets,\"active\":_vm.selectedWallet},on:{\"deleted\":_vm.onDeleted,\"selected\":_vm.onWalletSelected}}):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Wallets.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Wallets.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Wallets.vue?vue&type=template&id=2fda3b6e&scoped=true&\"\nimport script from \"./Wallets.vue?vue&type=script&lang=js&\"\nexport * from \"./Wallets.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Wallets.vue?vue&type=style&index=0&id=2fda3b6e&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2fda3b6e\",\n null\n \n)\n\nexport default component.exports","/* eslint-disable */\n//---------------------------------------------------------------------\n//\n// QR Code Generator for JavaScript\n//\n// Copyright (c) 2009 Kazuhiko Arase\n//\n// URL: http://www.d-project.com/\n// URL: https://github.com/kazuhikoarase/qrcode-generator\n//\n// Licensed under the MIT license:\n// http://www.opensource.org/licenses/mit-license.php\n//\n// The word 'QR Code' is registered trademark of\n// DENSO WAVE INCORPORATED\n// http://www.denso-wave.com/qrcode/faqpatent-e.html\n//\n//---------------------------------------------------------------------\n\nvar qrcode = function () {\n\n\t//---------------------------------------------------------------------\n\t// qrcode\n\t//---------------------------------------------------------------------\n\n\t/**\n\t * qrcode\n\t * @param typeNumber 1 to 40\n\t * @param errorCorrectionLevel 'L','M','Q','H'\n\t */\n\tvar qrcode = function (typeNumber, errorCorrectionLevel) {\n\n\t\tvar PAD0 = 0xEC;\n\t\tvar PAD1 = 0x11;\n\n\t\tvar _typeNumber = typeNumber;\n\t\tvar _errorCorrectionLevel = QRErrorCorrectionLevel[errorCorrectionLevel];\n\t\tvar _modules = null;\n\t\tvar _moduleCount = 0;\n\t\tvar _dataCache = null;\n\t\tvar _dataList = [];\n\n\t\tvar _this = {};\n\n\t\tvar makeImpl = function (test, maskPattern) {\n\n\t\t\t_moduleCount = _typeNumber * 4 + 17;\n\t\t\t_modules = function (moduleCount) {\n\t\t\t\tvar modules = new Array(moduleCount);\n\t\t\t\tfor (var row = 0; row < moduleCount; row += 1) {\n\t\t\t\t\tmodules[row] = new Array(moduleCount);\n\t\t\t\t\tfor (var col = 0; col < moduleCount; col += 1) {\n\t\t\t\t\t\tmodules[row][col] = null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn modules;\n\t\t\t}(_moduleCount);\n\n\t\t\tsetupPositionProbePattern(0, 0);\n\t\t\tsetupPositionProbePattern(_moduleCount - 7, 0);\n\t\t\tsetupPositionProbePattern(0, _moduleCount - 7);\n\t\t\tsetupPositionAdjustPattern();\n\t\t\tsetupTimingPattern();\n\t\t\tsetupTypeInfo(test, maskPattern);\n\n\t\t\tif (_typeNumber >= 7) {\n\t\t\t\tsetupTypeNumber(test);\n\t\t\t}\n\n\t\t\tif (_dataCache == null) {\n\t\t\t\t_dataCache = createData(_typeNumber, _errorCorrectionLevel, _dataList);\n\t\t\t}\n\n\t\t\tmapData(_dataCache, maskPattern);\n\t\t};\n\n\t\tvar setupPositionProbePattern = function (row, col) {\n\n\t\t\tfor (var r = -1; r <= 7; r += 1) {\n\n\t\t\t\tif (row + r <= -1 || _moduleCount <= row + r) continue;\n\n\t\t\t\tfor (var c = -1; c <= 7; c += 1) {\n\n\t\t\t\t\tif (col + c <= -1 || _moduleCount <= col + c) continue;\n\n\t\t\t\t\tif ((0 <= r && r <= 6 && (c == 0 || c == 6))\n\t\t\t\t\t\t|| (0 <= c && c <= 6 && (r == 0 || r == 6))\n\t\t\t\t\t\t|| (2 <= r && r <= 4 && 2 <= c && c <= 4)) {\n\t\t\t\t\t\t_modules[row + r][col + c] = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t_modules[row + r][col + c] = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar getBestMaskPattern = function () {\n\n\t\t\tvar minLostPoint = 0;\n\t\t\tvar pattern = 0;\n\n\t\t\tfor (var i = 0; i < 8; i += 1) {\n\n\t\t\t\tmakeImpl(true, i);\n\n\t\t\t\tvar lostPoint = QRUtil.getLostPoint(_this);\n\n\t\t\t\tif (i == 0 || minLostPoint > lostPoint) {\n\t\t\t\t\tminLostPoint = lostPoint;\n\t\t\t\t\tpattern = i;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn pattern;\n\t\t};\n\n\t\tvar setupTimingPattern = function () {\n\n\t\t\tfor (var r = 8; r < _moduleCount - 8; r += 1) {\n\t\t\t\tif (_modules[r][6] != null) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\t_modules[r][6] = (r % 2 == 0);\n\t\t\t}\n\n\t\t\tfor (var c = 8; c < _moduleCount - 8; c += 1) {\n\t\t\t\tif (_modules[6][c] != null) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\t_modules[6][c] = (c % 2 == 0);\n\t\t\t}\n\t\t};\n\n\t\tvar setupPositionAdjustPattern = function () {\n\n\t\t\tvar pos = QRUtil.getPatternPosition(_typeNumber);\n\n\t\t\tfor (var i = 0; i < pos.length; i += 1) {\n\n\t\t\t\tfor (var j = 0; j < pos.length; j += 1) {\n\n\t\t\t\t\tvar row = pos[i];\n\t\t\t\t\tvar col = pos[j];\n\n\t\t\t\t\tif (_modules[row][col] != null) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tfor (var r = -2; r <= 2; r += 1) {\n\n\t\t\t\t\t\tfor (var c = -2; c <= 2; c += 1) {\n\n\t\t\t\t\t\t\tif (r == -2 || r == 2 || c == -2 || c == 2\n\t\t\t\t\t\t\t\t|| (r == 0 && c == 0)) {\n\t\t\t\t\t\t\t\t_modules[row + r][col + c] = true;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t_modules[row + r][col + c] = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar setupTypeNumber = function (test) {\n\n\t\t\tvar bits = QRUtil.getBCHTypeNumber(_typeNumber);\n\n\t\t\tfor (var i = 0; i < 18; i += 1) {\n\t\t\t\tvar mod = (!test && ((bits >> i) & 1) == 1);\n\t\t\t\t_modules[Math.floor(i / 3)][i % 3 + _moduleCount - 8 - 3] = mod;\n\t\t\t}\n\n\t\t\tfor (var i = 0; i < 18; i += 1) {\n\t\t\t\tvar mod = (!test && ((bits >> i) & 1) == 1);\n\t\t\t\t_modules[i % 3 + _moduleCount - 8 - 3][Math.floor(i / 3)] = mod;\n\t\t\t}\n\t\t};\n\n\t\tvar setupTypeInfo = function (test, maskPattern) {\n\n\t\t\tvar data = (_errorCorrectionLevel << 3) | maskPattern;\n\t\t\tvar bits = QRUtil.getBCHTypeInfo(data);\n\n\t\t\t// vertical\n\t\t\tfor (var i = 0; i < 15; i += 1) {\n\n\t\t\t\tvar mod = (!test && ((bits >> i) & 1) == 1);\n\n\t\t\t\tif (i < 6) {\n\t\t\t\t\t_modules[i][8] = mod;\n\t\t\t\t} else if (i < 8) {\n\t\t\t\t\t_modules[i + 1][8] = mod;\n\t\t\t\t} else {\n\t\t\t\t\t_modules[_moduleCount - 15 + i][8] = mod;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// horizontal\n\t\t\tfor (var i = 0; i < 15; i += 1) {\n\n\t\t\t\tvar mod = (!test && ((bits >> i) & 1) == 1);\n\n\t\t\t\tif (i < 8) {\n\t\t\t\t\t_modules[8][_moduleCount - i - 1] = mod;\n\t\t\t\t} else if (i < 9) {\n\t\t\t\t\t_modules[8][15 - i - 1 + 1] = mod;\n\t\t\t\t} else {\n\t\t\t\t\t_modules[8][15 - i - 1] = mod;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// fixed module\n\t\t\t_modules[_moduleCount - 8][8] = (!test);\n\t\t};\n\n\t\tvar mapData = function (data, maskPattern) {\n\n\t\t\tvar inc = -1;\n\t\t\tvar row = _moduleCount - 1;\n\t\t\tvar bitIndex = 7;\n\t\t\tvar byteIndex = 0;\n\t\t\tvar maskFunc = QRUtil.getMaskFunction(maskPattern);\n\n\t\t\tfor (var col = _moduleCount - 1; col > 0; col -= 2) {\n\n\t\t\t\tif (col == 6) col -= 1;\n\n\t\t\t\twhile (true) {\n\n\t\t\t\t\tfor (var c = 0; c < 2; c += 1) {\n\n\t\t\t\t\t\tif (_modules[row][col - c] == null) {\n\n\t\t\t\t\t\t\tvar dark = false;\n\n\t\t\t\t\t\t\tif (byteIndex < data.length) {\n\t\t\t\t\t\t\t\tdark = (((data[byteIndex] >>> bitIndex) & 1) == 1);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tvar mask = maskFunc(row, col - c);\n\n\t\t\t\t\t\t\tif (mask) {\n\t\t\t\t\t\t\t\tdark = !dark;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t_modules[row][col - c] = dark;\n\t\t\t\t\t\t\tbitIndex -= 1;\n\n\t\t\t\t\t\t\tif (bitIndex == -1) {\n\t\t\t\t\t\t\t\tbyteIndex += 1;\n\t\t\t\t\t\t\t\tbitIndex = 7;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\trow += inc;\n\n\t\t\t\t\tif (row < 0 || _moduleCount <= row) {\n\t\t\t\t\t\trow -= inc;\n\t\t\t\t\t\tinc = -inc;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar createBytes = function (buffer, rsBlocks) {\n\n\t\t\tvar offset = 0;\n\n\t\t\tvar maxDcCount = 0;\n\t\t\tvar maxEcCount = 0;\n\n\t\t\tvar dcdata = new Array(rsBlocks.length);\n\t\t\tvar ecdata = new Array(rsBlocks.length);\n\n\t\t\tfor (var r = 0; r < rsBlocks.length; r += 1) {\n\n\t\t\t\tvar dcCount = rsBlocks[r].dataCount;\n\t\t\t\tvar ecCount = rsBlocks[r].totalCount - dcCount;\n\n\t\t\t\tmaxDcCount = Math.max(maxDcCount, dcCount);\n\t\t\t\tmaxEcCount = Math.max(maxEcCount, ecCount);\n\n\t\t\t\tdcdata[r] = new Array(dcCount);\n\n\t\t\t\tfor (var i = 0; i < dcdata[r].length; i += 1) {\n\t\t\t\t\tdcdata[r][i] = 0xff & buffer.getBuffer()[i + offset];\n\t\t\t\t}\n\t\t\t\toffset += dcCount;\n\n\t\t\t\tvar rsPoly = QRUtil.getErrorCorrectPolynomial(ecCount);\n\t\t\t\tvar rawPoly = qrPolynomial(dcdata[r], rsPoly.getLength() - 1);\n\n\t\t\t\tvar modPoly = rawPoly.mod(rsPoly);\n\t\t\t\tecdata[r] = new Array(rsPoly.getLength() - 1);\n\t\t\t\tfor (var i = 0; i < ecdata[r].length; i += 1) {\n\t\t\t\t\tvar modIndex = i + modPoly.getLength() - ecdata[r].length;\n\t\t\t\t\tecdata[r][i] = (modIndex >= 0) ? modPoly.getAt(modIndex) : 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar totalCodeCount = 0;\n\t\t\tfor (var i = 0; i < rsBlocks.length; i += 1) {\n\t\t\t\ttotalCodeCount += rsBlocks[i].totalCount;\n\t\t\t}\n\n\t\t\tvar data = new Array(totalCodeCount);\n\t\t\tvar index = 0;\n\n\t\t\tfor (var i = 0; i < maxDcCount; i += 1) {\n\t\t\t\tfor (var r = 0; r < rsBlocks.length; r += 1) {\n\t\t\t\t\tif (i < dcdata[r].length) {\n\t\t\t\t\t\tdata[index] = dcdata[r][i];\n\t\t\t\t\t\tindex += 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (var i = 0; i < maxEcCount; i += 1) {\n\t\t\t\tfor (var r = 0; r < rsBlocks.length; r += 1) {\n\t\t\t\t\tif (i < ecdata[r].length) {\n\t\t\t\t\t\tdata[index] = ecdata[r][i];\n\t\t\t\t\t\tindex += 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t};\n\n\t\tvar createData = function (typeNumber, errorCorrectionLevel, dataList) {\n\n\t\t\tvar rsBlocks = QRRSBlock.getRSBlocks(typeNumber, errorCorrectionLevel);\n\n\t\t\tvar buffer = qrBitBuffer();\n\n\t\t\tfor (var i = 0; i < dataList.length; i += 1) {\n\t\t\t\tvar data = dataList[i];\n\t\t\t\tbuffer.put(data.getMode(), 4);\n\t\t\t\tbuffer.put(data.getLength(), QRUtil.getLengthInBits(data.getMode(), typeNumber));\n\t\t\t\tdata.write(buffer);\n\t\t\t}\n\n\t\t\t// calc num max data.\n\t\t\tvar totalDataCount = 0;\n\t\t\tfor (var i = 0; i < rsBlocks.length; i += 1) {\n\t\t\t\ttotalDataCount += rsBlocks[i].dataCount;\n\t\t\t}\n\n\t\t\tif (buffer.getLengthInBits() > totalDataCount * 8) {\n\t\t\t\tthrow 'code length overflow. ('\n\t\t\t\t+ buffer.getLengthInBits()\n\t\t\t\t+ '>'\n\t\t\t\t+ totalDataCount * 8\n\t\t\t\t+ ')';\n\t\t\t}\n\n\t\t\t// end code\n\t\t\tif (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {\n\t\t\t\tbuffer.put(0, 4);\n\t\t\t}\n\n\t\t\t// padding\n\t\t\twhile (buffer.getLengthInBits() % 8 != 0) {\n\t\t\t\tbuffer.putBit(false);\n\t\t\t}\n\n\t\t\t// padding\n\t\t\twhile (true) {\n\n\t\t\t\tif (buffer.getLengthInBits() >= totalDataCount * 8) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tbuffer.put(PAD0, 8);\n\n\t\t\t\tif (buffer.getLengthInBits() >= totalDataCount * 8) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tbuffer.put(PAD1, 8);\n\t\t\t}\n\n\t\t\treturn createBytes(buffer, rsBlocks);\n\t\t};\n\n\t\t_this.addData = function (data, mode) {\n\n\t\t\tmode = mode || 'Byte';\n\n\t\t\tvar newData = null;\n\n\t\t\tswitch (mode) {\n\t\t\t\tcase 'Numeric':\n\t\t\t\t\tnewData = qrNumber(data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Alphanumeric':\n\t\t\t\t\tnewData = qrAlphaNum(data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Byte':\n\t\t\t\t\tnewData = qr8BitByte(data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Kanji':\n\t\t\t\t\tnewData = qrKanji(data);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow 'mode:' + mode;\n\t\t\t}\n\n\t\t\t_dataList.push(newData);\n\t\t\t_dataCache = null;\n\t\t};\n\n\t\t_this.isDark = function (row, col) {\n\t\t\tif (row < 0 || _moduleCount <= row || col < 0 || _moduleCount <= col) {\n\t\t\t\tthrow row + ',' + col;\n\t\t\t}\n\t\t\treturn _modules[row][col];\n\t\t};\n\n\t\t_this.getModuleCount = function () {\n\t\t\treturn _moduleCount;\n\t\t};\n\n\t\t_this.make = function () {\n\t\t\tif (_typeNumber < 1) {\n\t\t\t\tvar typeNumber = 1;\n\n\t\t\t\tfor (; typeNumber < 40; typeNumber++) {\n\t\t\t\t\tvar rsBlocks = QRRSBlock.getRSBlocks(typeNumber, _errorCorrectionLevel);\n\t\t\t\t\tvar buffer = qrBitBuffer();\n\n\t\t\t\t\tfor (var i = 0; i < _dataList.length; i++) {\n\t\t\t\t\t\tvar data = _dataList[i];\n\t\t\t\t\t\tbuffer.put(data.getMode(), 4);\n\t\t\t\t\t\tbuffer.put(data.getLength(), QRUtil.getLengthInBits(data.getMode(), typeNumber));\n\t\t\t\t\t\tdata.write(buffer);\n\t\t\t\t\t}\n\n\t\t\t\t\tvar totalDataCount = 0;\n\t\t\t\t\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\t\t\t\t\ttotalDataCount += rsBlocks[i].dataCount;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (buffer.getLengthInBits() <= totalDataCount * 8) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t_typeNumber = typeNumber;\n\t\t\t}\n\n\t\t\tmakeImpl(false, getBestMaskPattern());\n\t\t};\n\n\t\t_this.createTableTag = function (cellSize, margin) {\n\n\t\t\tcellSize = cellSize || 2;\n\t\t\tmargin = (typeof margin == 'undefined') ? cellSize * 4 : margin;\n\n\t\t\tvar qrHtml = '';\n\n\t\t\tqrHtml += '= max) ? blocksLastLineNoMargin[p] : blocks[p];\n\t\t\t\t}\n\n\t\t\t\tascii += '\\n';\n\t\t\t}\n\n\t\t\tif (size % 2 && margin > 0) {\n\t\t\t\treturn ascii.substring(0, ascii.length - size - 1) + Array(size + 1).join('▀');\n\t\t\t}\n\n\t\t\treturn ascii.substring(0, ascii.length - 1);\n\t\t};\n\n\t\t_this.createASCII = function (cellSize, margin) {\n\t\t\tcellSize = cellSize || 1;\n\n\t\t\tif (cellSize < 2) {\n\t\t\t\treturn _createHalfASCII(margin);\n\t\t\t}\n\n\t\t\tcellSize -= 1;\n\t\t\tmargin = (typeof margin == 'undefined') ? cellSize * 2 : margin;\n\n\t\t\tvar size = _this.getModuleCount() * cellSize + margin * 2;\n\t\t\tvar min = margin;\n\t\t\tvar max = size - margin;\n\n\t\t\tvar y, x, r, p;\n\n\t\t\tvar white = Array(cellSize + 1).join('██');\n\t\t\tvar black = Array(cellSize + 1).join(' ');\n\n\t\t\tvar ascii = '';\n\t\t\tvar line = '';\n\t\t\tfor (y = 0; y < size; y += 1) {\n\t\t\t\tr = Math.floor((y - min) / cellSize);\n\t\t\t\tline = '';\n\t\t\t\tfor (x = 0; x < size; x += 1) {\n\t\t\t\t\tp = 1;\n\n\t\t\t\t\tif (min <= x && x < max && min <= y && y < max && _this.isDark(r, Math.floor((x - min) / cellSize))) {\n\t\t\t\t\t\tp = 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Output 2 characters per pixel, to create full square. 1 character per pixels gives only half width of square.\n\t\t\t\t\tline += p ? white : black;\n\t\t\t\t}\n\n\t\t\t\tfor (r = 0; r < cellSize; r += 1) {\n\t\t\t\t\tascii += line + '\\n';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn ascii.substring(0, ascii.length - 1);\n\t\t};\n\n\t\t_this.renderTo2dContext = function (context, cellSize) {\n\t\t\tcellSize = cellSize || 2;\n\t\t\tvar length = _this.getModuleCount();\n\t\t\tfor (var row = 0; row < length; row++) {\n\t\t\t\tfor (var col = 0; col < length; col++) {\n\t\t\t\t\tcontext.fillStyle = _this.isDark(row, col) ? 'black' : 'white';\n\t\t\t\t\tcontext.fillRect(row * cellSize, col * cellSize, cellSize, cellSize);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn _this;\n\t};\n\n\t//---------------------------------------------------------------------\n\t// qrcode.stringToBytes\n\t//---------------------------------------------------------------------\n\n\tqrcode.stringToBytesFuncs = {\n\t\t'default': function (s) {\n\t\t\tvar bytes = [];\n\t\t\tfor (var i = 0; i < s.length; i += 1) {\n\t\t\t\tvar c = s.charCodeAt(i);\n\t\t\t\tbytes.push(c & 0xff);\n\t\t\t}\n\t\t\treturn bytes;\n\t\t}\n\t};\n\n\tqrcode.stringToBytes = qrcode.stringToBytesFuncs['default'];\n\n\t//---------------------------------------------------------------------\n\t// qrcode.createStringToBytes\n\t//---------------------------------------------------------------------\n\n\t/**\n\t * @param unicodeData base64 string of byte array.\n\t * [16bit Unicode],[16bit Bytes], ...\n\t * @param numChars\n\t */\n\tqrcode.createStringToBytes = function (unicodeData, numChars) {\n\n\t\t// create conversion map.\n\n\t\tvar unicodeMap = function () {\n\n\t\t\tvar bin = base64DecodeInputStream(unicodeData);\n\t\t\tvar read = function () {\n\t\t\t\tvar b = bin.read();\n\t\t\t\tif (b == -1) throw 'eof';\n\t\t\t\treturn b;\n\t\t\t};\n\n\t\t\tvar count = 0;\n\t\t\tvar unicodeMap = {};\n\t\t\twhile (true) {\n\t\t\t\tvar b0 = bin.read();\n\t\t\t\tif (b0 == -1) break;\n\t\t\t\tvar b1 = read();\n\t\t\t\tvar b2 = read();\n\t\t\t\tvar b3 = read();\n\t\t\t\tvar k = String.fromCharCode((b0 << 8) | b1);\n\t\t\t\tvar v = (b2 << 8) | b3;\n\t\t\t\tunicodeMap[k] = v;\n\t\t\t\tcount += 1;\n\t\t\t}\n\t\t\tif (count != numChars) {\n\t\t\t\tthrow count + ' != ' + numChars;\n\t\t\t}\n\n\t\t\treturn unicodeMap;\n\t\t}();\n\n\t\tvar unknownChar = '?'.charCodeAt(0);\n\n\t\treturn function (s) {\n\t\t\tvar bytes = [];\n\t\t\tfor (var i = 0; i < s.length; i += 1) {\n\t\t\t\tvar c = s.charCodeAt(i);\n\t\t\t\tif (c < 128) {\n\t\t\t\t\tbytes.push(c);\n\t\t\t\t} else {\n\t\t\t\t\tvar b = unicodeMap[s.charAt(i)];\n\t\t\t\t\tif (typeof b == 'number') {\n\t\t\t\t\t\tif ((b & 0xff) == b) {\n\t\t\t\t\t\t\t// 1byte\n\t\t\t\t\t\t\tbytes.push(b);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// 2bytes\n\t\t\t\t\t\t\tbytes.push(b >>> 8);\n\t\t\t\t\t\t\tbytes.push(b & 0xff);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbytes.push(unknownChar);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn bytes;\n\t\t};\n\t};\n\n\t//---------------------------------------------------------------------\n\t// QRMode\n\t//---------------------------------------------------------------------\n\n\tvar QRMode = {\n\t\tMODE_NUMBER: 1 << 0,\n\t\tMODE_ALPHA_NUM: 1 << 1,\n\t\tMODE_8BIT_BYTE: 1 << 2,\n\t\tMODE_KANJI: 1 << 3\n\t};\n\n\t//---------------------------------------------------------------------\n\t// QRErrorCorrectionLevel\n\t//---------------------------------------------------------------------\n\n\tvar QRErrorCorrectionLevel = {\n\t\tL: 1,\n\t\tM: 0,\n\t\tQ: 3,\n\t\tH: 2\n\t};\n\n\t//---------------------------------------------------------------------\n\t// QRMaskPattern\n\t//---------------------------------------------------------------------\n\n\tvar QRMaskPattern = {\n\t\tPATTERN000: 0,\n\t\tPATTERN001: 1,\n\t\tPATTERN010: 2,\n\t\tPATTERN011: 3,\n\t\tPATTERN100: 4,\n\t\tPATTERN101: 5,\n\t\tPATTERN110: 6,\n\t\tPATTERN111: 7\n\t};\n\n\t//---------------------------------------------------------------------\n\t// QRUtil\n\t//---------------------------------------------------------------------\n\n\tvar QRUtil = function () {\n\n\t\tvar PATTERN_POSITION_TABLE = [\n\t\t\t[],\n\t\t\t[6, 18],\n\t\t\t[6, 22],\n\t\t\t[6, 26],\n\t\t\t[6, 30],\n\t\t\t[6, 34],\n\t\t\t[6, 22, 38],\n\t\t\t[6, 24, 42],\n\t\t\t[6, 26, 46],\n\t\t\t[6, 28, 50],\n\t\t\t[6, 30, 54],\n\t\t\t[6, 32, 58],\n\t\t\t[6, 34, 62],\n\t\t\t[6, 26, 46, 66],\n\t\t\t[6, 26, 48, 70],\n\t\t\t[6, 26, 50, 74],\n\t\t\t[6, 30, 54, 78],\n\t\t\t[6, 30, 56, 82],\n\t\t\t[6, 30, 58, 86],\n\t\t\t[6, 34, 62, 90],\n\t\t\t[6, 28, 50, 72, 94],\n\t\t\t[6, 26, 50, 74, 98],\n\t\t\t[6, 30, 54, 78, 102],\n\t\t\t[6, 28, 54, 80, 106],\n\t\t\t[6, 32, 58, 84, 110],\n\t\t\t[6, 30, 58, 86, 114],\n\t\t\t[6, 34, 62, 90, 118],\n\t\t\t[6, 26, 50, 74, 98, 122],\n\t\t\t[6, 30, 54, 78, 102, 126],\n\t\t\t[6, 26, 52, 78, 104, 130],\n\t\t\t[6, 30, 56, 82, 108, 134],\n\t\t\t[6, 34, 60, 86, 112, 138],\n\t\t\t[6, 30, 58, 86, 114, 142],\n\t\t\t[6, 34, 62, 90, 118, 146],\n\t\t\t[6, 30, 54, 78, 102, 126, 150],\n\t\t\t[6, 24, 50, 76, 102, 128, 154],\n\t\t\t[6, 28, 54, 80, 106, 132, 158],\n\t\t\t[6, 32, 58, 84, 110, 136, 162],\n\t\t\t[6, 26, 54, 82, 110, 138, 166],\n\t\t\t[6, 30, 58, 86, 114, 142, 170]\n\t\t];\n\t\tvar G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0);\n\t\tvar G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0);\n\t\tvar G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1);\n\n\t\tvar _this = {};\n\n\t\tvar getBCHDigit = function (data) {\n\t\t\tvar digit = 0;\n\t\t\twhile (data != 0) {\n\t\t\t\tdigit += 1;\n\t\t\t\tdata >>>= 1;\n\t\t\t}\n\t\t\treturn digit;\n\t\t};\n\n\t\t_this.getBCHTypeInfo = function (data) {\n\t\t\tvar d = data << 10;\n\t\t\twhile (getBCHDigit(d) - getBCHDigit(G15) >= 0) {\n\t\t\t\td ^= (G15 << (getBCHDigit(d) - getBCHDigit(G15)));\n\t\t\t}\n\t\t\treturn ((data << 10) | d) ^ G15_MASK;\n\t\t};\n\n\t\t_this.getBCHTypeNumber = function (data) {\n\t\t\tvar d = data << 12;\n\t\t\twhile (getBCHDigit(d) - getBCHDigit(G18) >= 0) {\n\t\t\t\td ^= (G18 << (getBCHDigit(d) - getBCHDigit(G18)));\n\t\t\t}\n\t\t\treturn (data << 12) | d;\n\t\t};\n\n\t\t_this.getPatternPosition = function (typeNumber) {\n\t\t\treturn PATTERN_POSITION_TABLE[typeNumber - 1];\n\t\t};\n\n\t\t_this.getMaskFunction = function (maskPattern) {\n\n\t\t\tswitch (maskPattern) {\n\n\t\t\t\tcase QRMaskPattern.PATTERN000:\n\t\t\t\t\treturn function (i, j) { return (i + j) % 2 == 0; };\n\t\t\t\tcase QRMaskPattern.PATTERN001:\n\t\t\t\t\treturn function (i, j) { return i % 2 == 0; };\n\t\t\t\tcase QRMaskPattern.PATTERN010:\n\t\t\t\t\treturn function (i, j) { return j % 3 == 0; };\n\t\t\t\tcase QRMaskPattern.PATTERN011:\n\t\t\t\t\treturn function (i, j) { return (i + j) % 3 == 0; };\n\t\t\t\tcase QRMaskPattern.PATTERN100:\n\t\t\t\t\treturn function (i, j) { return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 == 0; };\n\t\t\t\tcase QRMaskPattern.PATTERN101:\n\t\t\t\t\treturn function (i, j) { return (i * j) % 2 + (i * j) % 3 == 0; };\n\t\t\t\tcase QRMaskPattern.PATTERN110:\n\t\t\t\t\treturn function (i, j) { return ((i * j) % 2 + (i * j) % 3) % 2 == 0; };\n\t\t\t\tcase QRMaskPattern.PATTERN111:\n\t\t\t\t\treturn function (i, j) { return ((i * j) % 3 + (i + j) % 2) % 2 == 0; };\n\n\t\t\t\tdefault:\n\t\t\t\t\tthrow 'bad maskPattern:' + maskPattern;\n\t\t\t}\n\t\t};\n\n\t\t_this.getErrorCorrectPolynomial = function (errorCorrectLength) {\n\t\t\tvar a = qrPolynomial([1], 0);\n\t\t\tfor (var i = 0; i < errorCorrectLength; i += 1) {\n\t\t\t\ta = a.multiply(qrPolynomial([1, QRMath.gexp(i)], 0));\n\t\t\t}\n\t\t\treturn a;\n\t\t};\n\n\t\t_this.getLengthInBits = function (mode, type) {\n\n\t\t\tif (1 <= type && type < 10) {\n\n\t\t\t\t// 1 - 9\n\n\t\t\t\tswitch (mode) {\n\t\t\t\t\tcase QRMode.MODE_NUMBER: return 10;\n\t\t\t\t\tcase QRMode.MODE_ALPHA_NUM: return 9;\n\t\t\t\t\tcase QRMode.MODE_8BIT_BYTE: return 8;\n\t\t\t\t\tcase QRMode.MODE_KANJI: return 8;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tthrow 'mode:' + mode;\n\t\t\t\t}\n\n\t\t\t} else if (type < 27) {\n\n\t\t\t\t// 10 - 26\n\n\t\t\t\tswitch (mode) {\n\t\t\t\t\tcase QRMode.MODE_NUMBER: return 12;\n\t\t\t\t\tcase QRMode.MODE_ALPHA_NUM: return 11;\n\t\t\t\t\tcase QRMode.MODE_8BIT_BYTE: return 16;\n\t\t\t\t\tcase QRMode.MODE_KANJI: return 10;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tthrow 'mode:' + mode;\n\t\t\t\t}\n\n\t\t\t} else if (type < 41) {\n\n\t\t\t\t// 27 - 40\n\n\t\t\t\tswitch (mode) {\n\t\t\t\t\tcase QRMode.MODE_NUMBER: return 14;\n\t\t\t\t\tcase QRMode.MODE_ALPHA_NUM: return 13;\n\t\t\t\t\tcase QRMode.MODE_8BIT_BYTE: return 16;\n\t\t\t\t\tcase QRMode.MODE_KANJI: return 12;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tthrow 'mode:' + mode;\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\tthrow 'type:' + type;\n\t\t\t}\n\t\t};\n\n\t\t_this.getLostPoint = function (qrcode) {\n\n\t\t\tvar moduleCount = qrcode.getModuleCount();\n\n\t\t\tvar lostPoint = 0;\n\n\t\t\t// LEVEL1\n\n\t\t\tfor (var row = 0; row < moduleCount; row += 1) {\n\t\t\t\tfor (var col = 0; col < moduleCount; col += 1) {\n\n\t\t\t\t\tvar sameCount = 0;\n\t\t\t\t\tvar dark = qrcode.isDark(row, col);\n\n\t\t\t\t\tfor (var r = -1; r <= 1; r += 1) {\n\n\t\t\t\t\t\tif (row + r < 0 || moduleCount <= row + r) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tfor (var c = -1; c <= 1; c += 1) {\n\n\t\t\t\t\t\t\tif (col + c < 0 || moduleCount <= col + c) {\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (r == 0 && c == 0) {\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (dark == qrcode.isDark(row + r, col + c)) {\n\t\t\t\t\t\t\t\tsameCount += 1;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (sameCount > 5) {\n\t\t\t\t\t\tlostPoint += (3 + sameCount - 5);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// LEVEL2\n\n\t\t\tfor (var row = 0; row < moduleCount - 1; row += 1) {\n\t\t\t\tfor (var col = 0; col < moduleCount - 1; col += 1) {\n\t\t\t\t\tvar count = 0;\n\t\t\t\t\tif (qrcode.isDark(row, col)) count += 1;\n\t\t\t\t\tif (qrcode.isDark(row + 1, col)) count += 1;\n\t\t\t\t\tif (qrcode.isDark(row, col + 1)) count += 1;\n\t\t\t\t\tif (qrcode.isDark(row + 1, col + 1)) count += 1;\n\t\t\t\t\tif (count == 0 || count == 4) {\n\t\t\t\t\t\tlostPoint += 3;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// LEVEL3\n\n\t\t\tfor (var row = 0; row < moduleCount; row += 1) {\n\t\t\t\tfor (var col = 0; col < moduleCount - 6; col += 1) {\n\t\t\t\t\tif (qrcode.isDark(row, col)\n\t\t\t\t\t\t&& !qrcode.isDark(row, col + 1)\n\t\t\t\t\t\t&& qrcode.isDark(row, col + 2)\n\t\t\t\t\t\t&& qrcode.isDark(row, col + 3)\n\t\t\t\t\t\t&& qrcode.isDark(row, col + 4)\n\t\t\t\t\t\t&& !qrcode.isDark(row, col + 5)\n\t\t\t\t\t\t&& qrcode.isDark(row, col + 6)) {\n\t\t\t\t\t\tlostPoint += 40;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (var col = 0; col < moduleCount; col += 1) {\n\t\t\t\tfor (var row = 0; row < moduleCount - 6; row += 1) {\n\t\t\t\t\tif (qrcode.isDark(row, col)\n\t\t\t\t\t\t&& !qrcode.isDark(row + 1, col)\n\t\t\t\t\t\t&& qrcode.isDark(row + 2, col)\n\t\t\t\t\t\t&& qrcode.isDark(row + 3, col)\n\t\t\t\t\t\t&& qrcode.isDark(row + 4, col)\n\t\t\t\t\t\t&& !qrcode.isDark(row + 5, col)\n\t\t\t\t\t\t&& qrcode.isDark(row + 6, col)) {\n\t\t\t\t\t\tlostPoint += 40;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// LEVEL4\n\n\t\t\tvar darkCount = 0;\n\n\t\t\tfor (var col = 0; col < moduleCount; col += 1) {\n\t\t\t\tfor (var row = 0; row < moduleCount; row += 1) {\n\t\t\t\t\tif (qrcode.isDark(row, col)) {\n\t\t\t\t\t\tdarkCount += 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;\n\t\t\tlostPoint += ratio * 10;\n\n\t\t\treturn lostPoint;\n\t\t};\n\n\t\treturn _this;\n\t}();\n\n\t//---------------------------------------------------------------------\n\t// QRMath\n\t//---------------------------------------------------------------------\n\n\tvar QRMath = function () {\n\n\t\tvar EXP_TABLE = new Array(256);\n\t\tvar LOG_TABLE = new Array(256);\n\n\t\t// initialize tables\n\t\tfor (var i = 0; i < 8; i += 1) {\n\t\t\tEXP_TABLE[i] = 1 << i;\n\t\t}\n\t\tfor (var i = 8; i < 256; i += 1) {\n\t\t\tEXP_TABLE[i] = EXP_TABLE[i - 4]\n\t\t\t\t^ EXP_TABLE[i - 5]\n\t\t\t\t^ EXP_TABLE[i - 6]\n\t\t\t\t^ EXP_TABLE[i - 8];\n\t\t}\n\t\tfor (var i = 0; i < 255; i += 1) {\n\t\t\tLOG_TABLE[EXP_TABLE[i]] = i;\n\t\t}\n\n\t\tvar _this = {};\n\n\t\t_this.glog = function (n) {\n\n\t\t\tif (n < 1) {\n\t\t\t\tthrow 'glog(' + n + ')';\n\t\t\t}\n\n\t\t\treturn LOG_TABLE[n];\n\t\t};\n\n\t\t_this.gexp = function (n) {\n\n\t\t\twhile (n < 0) {\n\t\t\t\tn += 255;\n\t\t\t}\n\n\t\t\twhile (n >= 256) {\n\t\t\t\tn -= 255;\n\t\t\t}\n\n\t\t\treturn EXP_TABLE[n];\n\t\t};\n\n\t\treturn _this;\n\t}();\n\n\t//---------------------------------------------------------------------\n\t// qrPolynomial\n\t//---------------------------------------------------------------------\n\n\tfunction qrPolynomial(num, shift) {\n\n\t\tif (typeof num.length == 'undefined') {\n\t\t\tthrow num.length + '/' + shift;\n\t\t}\n\n\t\tvar _num = function () {\n\t\t\tvar offset = 0;\n\t\t\twhile (offset < num.length && num[offset] == 0) {\n\t\t\t\toffset += 1;\n\t\t\t}\n\t\t\tvar _num = new Array(num.length - offset + shift);\n\t\t\tfor (var i = 0; i < num.length - offset; i += 1) {\n\t\t\t\t_num[i] = num[i + offset];\n\t\t\t}\n\t\t\treturn _num;\n\t\t}();\n\n\t\tvar _this = {};\n\n\t\t_this.getAt = function (index) {\n\t\t\treturn _num[index];\n\t\t};\n\n\t\t_this.getLength = function () {\n\t\t\treturn _num.length;\n\t\t};\n\n\t\t_this.multiply = function (e) {\n\n\t\t\tvar num = new Array(_this.getLength() + e.getLength() - 1);\n\n\t\t\tfor (var i = 0; i < _this.getLength(); i += 1) {\n\t\t\t\tfor (var j = 0; j < e.getLength(); j += 1) {\n\t\t\t\t\tnum[i + j] ^= QRMath.gexp(QRMath.glog(_this.getAt(i)) + QRMath.glog(e.getAt(j)));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn qrPolynomial(num, 0);\n\t\t};\n\n\t\t_this.mod = function (e) {\n\n\t\t\tif (_this.getLength() - e.getLength() < 0) {\n\t\t\t\treturn _this;\n\t\t\t}\n\n\t\t\tvar ratio = QRMath.glog(_this.getAt(0)) - QRMath.glog(e.getAt(0));\n\n\t\t\tvar num = new Array(_this.getLength());\n\t\t\tfor (var i = 0; i < _this.getLength(); i += 1) {\n\t\t\t\tnum[i] = _this.getAt(i);\n\t\t\t}\n\n\t\t\tfor (var i = 0; i < e.getLength(); i += 1) {\n\t\t\t\tnum[i] ^= QRMath.gexp(QRMath.glog(e.getAt(i)) + ratio);\n\t\t\t}\n\n\t\t\t// recursive call\n\t\t\treturn qrPolynomial(num, 0).mod(e);\n\t\t};\n\n\t\treturn _this;\n\t};\n\n\t//---------------------------------------------------------------------\n\t// QRRSBlock\n\t//---------------------------------------------------------------------\n\n\tvar QRRSBlock = function () {\n\n\t\tvar RS_BLOCK_TABLE = [\n\n\t\t\t// L\n\t\t\t// M\n\t\t\t// Q\n\t\t\t// H\n\n\t\t\t// 1\n\t\t\t[1, 26, 19],\n\t\t\t[1, 26, 16],\n\t\t\t[1, 26, 13],\n\t\t\t[1, 26, 9],\n\n\t\t\t// 2\n\t\t\t[1, 44, 34],\n\t\t\t[1, 44, 28],\n\t\t\t[1, 44, 22],\n\t\t\t[1, 44, 16],\n\n\t\t\t// 3\n\t\t\t[1, 70, 55],\n\t\t\t[1, 70, 44],\n\t\t\t[2, 35, 17],\n\t\t\t[2, 35, 13],\n\n\t\t\t// 4\n\t\t\t[1, 100, 80],\n\t\t\t[2, 50, 32],\n\t\t\t[2, 50, 24],\n\t\t\t[4, 25, 9],\n\n\t\t\t// 5\n\t\t\t[1, 134, 108],\n\t\t\t[2, 67, 43],\n\t\t\t[2, 33, 15, 2, 34, 16],\n\t\t\t[2, 33, 11, 2, 34, 12],\n\n\t\t\t// 6\n\t\t\t[2, 86, 68],\n\t\t\t[4, 43, 27],\n\t\t\t[4, 43, 19],\n\t\t\t[4, 43, 15],\n\n\t\t\t// 7\n\t\t\t[2, 98, 78],\n\t\t\t[4, 49, 31],\n\t\t\t[2, 32, 14, 4, 33, 15],\n\t\t\t[4, 39, 13, 1, 40, 14],\n\n\t\t\t// 8\n\t\t\t[2, 121, 97],\n\t\t\t[2, 60, 38, 2, 61, 39],\n\t\t\t[4, 40, 18, 2, 41, 19],\n\t\t\t[4, 40, 14, 2, 41, 15],\n\n\t\t\t// 9\n\t\t\t[2, 146, 116],\n\t\t\t[3, 58, 36, 2, 59, 37],\n\t\t\t[4, 36, 16, 4, 37, 17],\n\t\t\t[4, 36, 12, 4, 37, 13],\n\n\t\t\t// 10\n\t\t\t[2, 86, 68, 2, 87, 69],\n\t\t\t[4, 69, 43, 1, 70, 44],\n\t\t\t[6, 43, 19, 2, 44, 20],\n\t\t\t[6, 43, 15, 2, 44, 16],\n\n\t\t\t// 11\n\t\t\t[4, 101, 81],\n\t\t\t[1, 80, 50, 4, 81, 51],\n\t\t\t[4, 50, 22, 4, 51, 23],\n\t\t\t[3, 36, 12, 8, 37, 13],\n\n\t\t\t// 12\n\t\t\t[2, 116, 92, 2, 117, 93],\n\t\t\t[6, 58, 36, 2, 59, 37],\n\t\t\t[4, 46, 20, 6, 47, 21],\n\t\t\t[7, 42, 14, 4, 43, 15],\n\n\t\t\t// 13\n\t\t\t[4, 133, 107],\n\t\t\t[8, 59, 37, 1, 60, 38],\n\t\t\t[8, 44, 20, 4, 45, 21],\n\t\t\t[12, 33, 11, 4, 34, 12],\n\n\t\t\t// 14\n\t\t\t[3, 145, 115, 1, 146, 116],\n\t\t\t[4, 64, 40, 5, 65, 41],\n\t\t\t[11, 36, 16, 5, 37, 17],\n\t\t\t[11, 36, 12, 5, 37, 13],\n\n\t\t\t// 15\n\t\t\t[5, 109, 87, 1, 110, 88],\n\t\t\t[5, 65, 41, 5, 66, 42],\n\t\t\t[5, 54, 24, 7, 55, 25],\n\t\t\t[11, 36, 12, 7, 37, 13],\n\n\t\t\t// 16\n\t\t\t[5, 122, 98, 1, 123, 99],\n\t\t\t[7, 73, 45, 3, 74, 46],\n\t\t\t[15, 43, 19, 2, 44, 20],\n\t\t\t[3, 45, 15, 13, 46, 16],\n\n\t\t\t// 17\n\t\t\t[1, 135, 107, 5, 136, 108],\n\t\t\t[10, 74, 46, 1, 75, 47],\n\t\t\t[1, 50, 22, 15, 51, 23],\n\t\t\t[2, 42, 14, 17, 43, 15],\n\n\t\t\t// 18\n\t\t\t[5, 150, 120, 1, 151, 121],\n\t\t\t[9, 69, 43, 4, 70, 44],\n\t\t\t[17, 50, 22, 1, 51, 23],\n\t\t\t[2, 42, 14, 19, 43, 15],\n\n\t\t\t// 19\n\t\t\t[3, 141, 113, 4, 142, 114],\n\t\t\t[3, 70, 44, 11, 71, 45],\n\t\t\t[17, 47, 21, 4, 48, 22],\n\t\t\t[9, 39, 13, 16, 40, 14],\n\n\t\t\t// 20\n\t\t\t[3, 135, 107, 5, 136, 108],\n\t\t\t[3, 67, 41, 13, 68, 42],\n\t\t\t[15, 54, 24, 5, 55, 25],\n\t\t\t[15, 43, 15, 10, 44, 16],\n\n\t\t\t// 21\n\t\t\t[4, 144, 116, 4, 145, 117],\n\t\t\t[17, 68, 42],\n\t\t\t[17, 50, 22, 6, 51, 23],\n\t\t\t[19, 46, 16, 6, 47, 17],\n\n\t\t\t// 22\n\t\t\t[2, 139, 111, 7, 140, 112],\n\t\t\t[17, 74, 46],\n\t\t\t[7, 54, 24, 16, 55, 25],\n\t\t\t[34, 37, 13],\n\n\t\t\t// 23\n\t\t\t[4, 151, 121, 5, 152, 122],\n\t\t\t[4, 75, 47, 14, 76, 48],\n\t\t\t[11, 54, 24, 14, 55, 25],\n\t\t\t[16, 45, 15, 14, 46, 16],\n\n\t\t\t// 24\n\t\t\t[6, 147, 117, 4, 148, 118],\n\t\t\t[6, 73, 45, 14, 74, 46],\n\t\t\t[11, 54, 24, 16, 55, 25],\n\t\t\t[30, 46, 16, 2, 47, 17],\n\n\t\t\t// 25\n\t\t\t[8, 132, 106, 4, 133, 107],\n\t\t\t[8, 75, 47, 13, 76, 48],\n\t\t\t[7, 54, 24, 22, 55, 25],\n\t\t\t[22, 45, 15, 13, 46, 16],\n\n\t\t\t// 26\n\t\t\t[10, 142, 114, 2, 143, 115],\n\t\t\t[19, 74, 46, 4, 75, 47],\n\t\t\t[28, 50, 22, 6, 51, 23],\n\t\t\t[33, 46, 16, 4, 47, 17],\n\n\t\t\t// 27\n\t\t\t[8, 152, 122, 4, 153, 123],\n\t\t\t[22, 73, 45, 3, 74, 46],\n\t\t\t[8, 53, 23, 26, 54, 24],\n\t\t\t[12, 45, 15, 28, 46, 16],\n\n\t\t\t// 28\n\t\t\t[3, 147, 117, 10, 148, 118],\n\t\t\t[3, 73, 45, 23, 74, 46],\n\t\t\t[4, 54, 24, 31, 55, 25],\n\t\t\t[11, 45, 15, 31, 46, 16],\n\n\t\t\t// 29\n\t\t\t[7, 146, 116, 7, 147, 117],\n\t\t\t[21, 73, 45, 7, 74, 46],\n\t\t\t[1, 53, 23, 37, 54, 24],\n\t\t\t[19, 45, 15, 26, 46, 16],\n\n\t\t\t// 30\n\t\t\t[5, 145, 115, 10, 146, 116],\n\t\t\t[19, 75, 47, 10, 76, 48],\n\t\t\t[15, 54, 24, 25, 55, 25],\n\t\t\t[23, 45, 15, 25, 46, 16],\n\n\t\t\t// 31\n\t\t\t[13, 145, 115, 3, 146, 116],\n\t\t\t[2, 74, 46, 29, 75, 47],\n\t\t\t[42, 54, 24, 1, 55, 25],\n\t\t\t[23, 45, 15, 28, 46, 16],\n\n\t\t\t// 32\n\t\t\t[17, 145, 115],\n\t\t\t[10, 74, 46, 23, 75, 47],\n\t\t\t[10, 54, 24, 35, 55, 25],\n\t\t\t[19, 45, 15, 35, 46, 16],\n\n\t\t\t// 33\n\t\t\t[17, 145, 115, 1, 146, 116],\n\t\t\t[14, 74, 46, 21, 75, 47],\n\t\t\t[29, 54, 24, 19, 55, 25],\n\t\t\t[11, 45, 15, 46, 46, 16],\n\n\t\t\t// 34\n\t\t\t[13, 145, 115, 6, 146, 116],\n\t\t\t[14, 74, 46, 23, 75, 47],\n\t\t\t[44, 54, 24, 7, 55, 25],\n\t\t\t[59, 46, 16, 1, 47, 17],\n\n\t\t\t// 35\n\t\t\t[12, 151, 121, 7, 152, 122],\n\t\t\t[12, 75, 47, 26, 76, 48],\n\t\t\t[39, 54, 24, 14, 55, 25],\n\t\t\t[22, 45, 15, 41, 46, 16],\n\n\t\t\t// 36\n\t\t\t[6, 151, 121, 14, 152, 122],\n\t\t\t[6, 75, 47, 34, 76, 48],\n\t\t\t[46, 54, 24, 10, 55, 25],\n\t\t\t[2, 45, 15, 64, 46, 16],\n\n\t\t\t// 37\n\t\t\t[17, 152, 122, 4, 153, 123],\n\t\t\t[29, 74, 46, 14, 75, 47],\n\t\t\t[49, 54, 24, 10, 55, 25],\n\t\t\t[24, 45, 15, 46, 46, 16],\n\n\t\t\t// 38\n\t\t\t[4, 152, 122, 18, 153, 123],\n\t\t\t[13, 74, 46, 32, 75, 47],\n\t\t\t[48, 54, 24, 14, 55, 25],\n\t\t\t[42, 45, 15, 32, 46, 16],\n\n\t\t\t// 39\n\t\t\t[20, 147, 117, 4, 148, 118],\n\t\t\t[40, 75, 47, 7, 76, 48],\n\t\t\t[43, 54, 24, 22, 55, 25],\n\t\t\t[10, 45, 15, 67, 46, 16],\n\n\t\t\t// 40\n\t\t\t[19, 148, 118, 6, 149, 119],\n\t\t\t[18, 75, 47, 31, 76, 48],\n\t\t\t[34, 54, 24, 34, 55, 25],\n\t\t\t[20, 45, 15, 61, 46, 16]\n\t\t];\n\n\t\tvar qrRSBlock = function (totalCount, dataCount) {\n\t\t\tvar _this = {};\n\t\t\t_this.totalCount = totalCount;\n\t\t\t_this.dataCount = dataCount;\n\t\t\treturn _this;\n\t\t};\n\n\t\tvar _this = {};\n\n\t\tvar getRsBlockTable = function (typeNumber, errorCorrectionLevel) {\n\n\t\t\tswitch (errorCorrectionLevel) {\n\t\t\t\tcase QRErrorCorrectionLevel.L:\n\t\t\t\t\treturn RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0];\n\t\t\t\tcase QRErrorCorrectionLevel.M:\n\t\t\t\t\treturn RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1];\n\t\t\t\tcase QRErrorCorrectionLevel.Q:\n\t\t\t\t\treturn RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2];\n\t\t\t\tcase QRErrorCorrectionLevel.H:\n\t\t\t\t\treturn RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3];\n\t\t\t\tdefault:\n\t\t\t\t\treturn undefined;\n\t\t\t}\n\t\t};\n\n\t\t_this.getRSBlocks = function (typeNumber, errorCorrectionLevel) {\n\t\t\tvar rsBlock = getRsBlockTable(typeNumber, errorCorrectionLevel);\n\n\t\t\tif (typeof rsBlock == 'undefined') {\n\t\t\t\tthrow 'bad rs block @ typeNumber:' + typeNumber +\n\t\t\t\t'/errorCorrectionLevel:' + errorCorrectionLevel;\n\t\t\t}\n\n\t\t\tvar length = rsBlock.length / 3;\n\n\t\t\tvar list = [];\n\n\t\t\tfor (var i = 0; i < length; i += 1) {\n\n\t\t\t\tvar count = rsBlock[i * 3 + 0];\n\t\t\t\tvar totalCount = rsBlock[i * 3 + 1];\n\t\t\t\tvar dataCount = rsBlock[i * 3 + 2];\n\n\t\t\t\tfor (var j = 0; j < count; j += 1) {\n\t\t\t\t\tlist.push(qrRSBlock(totalCount, dataCount));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn list;\n\t\t};\n\n\t\treturn _this;\n\t}();\n\n\t//---------------------------------------------------------------------\n\t// qrBitBuffer\n\t//---------------------------------------------------------------------\n\n\tvar qrBitBuffer = function () {\n\n\t\tvar _buffer = [];\n\t\tvar _length = 0;\n\n\t\tvar _this = {};\n\n\t\t_this.getBuffer = function () {\n\t\t\treturn _buffer;\n\t\t};\n\n\t\t_this.getAt = function (index) {\n\t\t\tvar bufIndex = Math.floor(index / 8);\n\t\t\treturn ((_buffer[bufIndex] >>> (7 - index % 8)) & 1) == 1;\n\t\t};\n\n\t\t_this.put = function (num, length) {\n\t\t\tfor (var i = 0; i < length; i += 1) {\n\t\t\t\t_this.putBit(((num >>> (length - i - 1)) & 1) == 1);\n\t\t\t}\n\t\t};\n\n\t\t_this.getLengthInBits = function () {\n\t\t\treturn _length;\n\t\t};\n\n\t\t_this.putBit = function (bit) {\n\n\t\t\tvar bufIndex = Math.floor(_length / 8);\n\t\t\tif (_buffer.length <= bufIndex) {\n\t\t\t\t_buffer.push(0);\n\t\t\t}\n\n\t\t\tif (bit) {\n\t\t\t\t_buffer[bufIndex] |= (0x80 >>> (_length % 8));\n\t\t\t}\n\n\t\t\t_length += 1;\n\t\t};\n\n\t\treturn _this;\n\t};\n\n\t//---------------------------------------------------------------------\n\t// qrNumber\n\t//---------------------------------------------------------------------\n\n\tvar qrNumber = function (data) {\n\n\t\tvar _mode = QRMode.MODE_NUMBER;\n\t\tvar _data = data;\n\n\t\tvar _this = {};\n\n\t\t_this.getMode = function () {\n\t\t\treturn _mode;\n\t\t};\n\n\t\t_this.getLength = function (buffer) {\n\t\t\treturn _data.length;\n\t\t};\n\n\t\t_this.write = function (buffer) {\n\n\t\t\tvar data = _data;\n\n\t\t\tvar i = 0;\n\n\t\t\twhile (i + 2 < data.length) {\n\t\t\t\tbuffer.put(strToNum(data.substring(i, i + 3)), 10);\n\t\t\t\ti += 3;\n\t\t\t}\n\n\t\t\tif (i < data.length) {\n\t\t\t\tif (data.length - i == 1) {\n\t\t\t\t\tbuffer.put(strToNum(data.substring(i, i + 1)), 4);\n\t\t\t\t} else if (data.length - i == 2) {\n\t\t\t\t\tbuffer.put(strToNum(data.substring(i, i + 2)), 7);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar strToNum = function (s) {\n\t\t\tvar num = 0;\n\t\t\tfor (var i = 0; i < s.length; i += 1) {\n\t\t\t\tnum = num * 10 + chatToNum(s.charAt(i));\n\t\t\t}\n\t\t\treturn num;\n\t\t};\n\n\t\tvar chatToNum = function (c) {\n\t\t\tif ('0' <= c && c <= '9') {\n\t\t\t\treturn c.charCodeAt(0) - '0'.charCodeAt(0);\n\t\t\t}\n\t\t\tthrow 'illegal char :' + c;\n\t\t};\n\n\t\treturn _this;\n\t};\n\n\t//---------------------------------------------------------------------\n\t// qrAlphaNum\n\t//---------------------------------------------------------------------\n\n\tvar qrAlphaNum = function (data) {\n\n\t\tvar _mode = QRMode.MODE_ALPHA_NUM;\n\t\tvar _data = data;\n\n\t\tvar _this = {};\n\n\t\t_this.getMode = function () {\n\t\t\treturn _mode;\n\t\t};\n\n\t\t_this.getLength = function (buffer) {\n\t\t\treturn _data.length;\n\t\t};\n\n\t\t_this.write = function (buffer) {\n\n\t\t\tvar s = _data;\n\n\t\t\tvar i = 0;\n\n\t\t\twhile (i + 1 < s.length) {\n\t\t\t\tbuffer.put(\n\t\t\t\t\tgetCode(s.charAt(i)) * 45 +\n\t\t\t\t\tgetCode(s.charAt(i + 1)), 11);\n\t\t\t\ti += 2;\n\t\t\t}\n\n\t\t\tif (i < s.length) {\n\t\t\t\tbuffer.put(getCode(s.charAt(i)), 6);\n\t\t\t}\n\t\t};\n\n\t\tvar getCode = function (c) {\n\n\t\t\tif ('0' <= c && c <= '9') {\n\t\t\t\treturn c.charCodeAt(0) - '0'.charCodeAt(0);\n\t\t\t} else if ('A' <= c && c <= 'Z') {\n\t\t\t\treturn c.charCodeAt(0) - 'A'.charCodeAt(0) + 10;\n\t\t\t} else {\n\t\t\t\tswitch (c) {\n\t\t\t\t\tcase ' ': return 36;\n\t\t\t\t\tcase '$': return 37;\n\t\t\t\t\tcase '%': return 38;\n\t\t\t\t\tcase '*': return 39;\n\t\t\t\t\tcase '+': return 40;\n\t\t\t\t\tcase '-': return 41;\n\t\t\t\t\tcase '.': return 42;\n\t\t\t\t\tcase '/': return 43;\n\t\t\t\t\tcase ':': return 44;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tthrow 'illegal char :' + c;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\treturn _this;\n\t};\n\n\t//---------------------------------------------------------------------\n\t// qr8BitByte\n\t//---------------------------------------------------------------------\n\n\tvar qr8BitByte = function (data) {\n\n\t\tvar _mode = QRMode.MODE_8BIT_BYTE;\n\t\tvar _data = data;\n\t\tvar _bytes = qrcode.stringToBytes(data);\n\n\t\tvar _this = {};\n\n\t\t_this.getMode = function () {\n\t\t\treturn _mode;\n\t\t};\n\n\t\t_this.getLength = function (buffer) {\n\t\t\treturn _bytes.length;\n\t\t};\n\n\t\t_this.write = function (buffer) {\n\t\t\tfor (var i = 0; i < _bytes.length; i += 1) {\n\t\t\t\tbuffer.put(_bytes[i], 8);\n\t\t\t}\n\t\t};\n\n\t\treturn _this;\n\t};\n\n\t//---------------------------------------------------------------------\n\t// qrKanji\n\t//---------------------------------------------------------------------\n\n\tvar qrKanji = function (data) {\n\n\t\tvar _mode = QRMode.MODE_KANJI;\n\t\tvar _data = data;\n\n\t\tvar stringToBytes = qrcode.stringToBytesFuncs['SJIS'];\n\t\tif (!stringToBytes) {\n\t\t\tthrow 'sjis not supported.';\n\t\t}\n\t\t!function (c, code) {\n\t\t\t// self test for sjis support.\n\t\t\tvar test = stringToBytes(c);\n\t\t\tif (test.length != 2 || ((test[0] << 8) | test[1]) != code) {\n\t\t\t\tthrow 'sjis not supported.';\n\t\t\t}\n\t\t}('\\u53cb', 0x9746);\n\n\t\tvar _bytes = stringToBytes(data);\n\n\t\tvar _this = {};\n\n\t\t_this.getMode = function () {\n\t\t\treturn _mode;\n\t\t};\n\n\t\t_this.getLength = function (buffer) {\n\t\t\treturn ~~(_bytes.length / 2);\n\t\t};\n\n\t\t_this.write = function (buffer) {\n\n\t\t\tvar data = _bytes;\n\n\t\t\tvar i = 0;\n\n\t\t\twhile (i + 1 < data.length) {\n\n\t\t\t\tvar c = ((0xff & data[i]) << 8) | (0xff & data[i + 1]);\n\n\t\t\t\tif (0x8140 <= c && c <= 0x9FFC) {\n\t\t\t\t\tc -= 0x8140;\n\t\t\t\t} else if (0xE040 <= c && c <= 0xEBBF) {\n\t\t\t\t\tc -= 0xC140;\n\t\t\t\t} else {\n\t\t\t\t\tthrow 'illegal char at ' + (i + 1) + '/' + c;\n\t\t\t\t}\n\n\t\t\t\tc = ((c >>> 8) & 0xff) * 0xC0 + (c & 0xff);\n\n\t\t\t\tbuffer.put(c, 13);\n\n\t\t\t\ti += 2;\n\t\t\t}\n\n\t\t\tif (i < data.length) {\n\t\t\t\tthrow 'illegal char at ' + (i + 1);\n\t\t\t}\n\t\t};\n\n\t\treturn _this;\n\t};\n\n\t//=====================================================================\n\t// GIF Support etc.\n\t//\n\n\t//---------------------------------------------------------------------\n\t// byteArrayOutputStream\n\t//---------------------------------------------------------------------\n\n\tvar byteArrayOutputStream = function () {\n\n\t\tvar _bytes = [];\n\n\t\tvar _this = {};\n\n\t\t_this.writeByte = function (b) {\n\t\t\t_bytes.push(b & 0xff);\n\t\t};\n\n\t\t_this.writeShort = function (i) {\n\t\t\t_this.writeByte(i);\n\t\t\t_this.writeByte(i >>> 8);\n\t\t};\n\n\t\t_this.writeBytes = function (b, off, len) {\n\t\t\toff = off || 0;\n\t\t\tlen = len || b.length;\n\t\t\tfor (var i = 0; i < len; i += 1) {\n\t\t\t\t_this.writeByte(b[i + off]);\n\t\t\t}\n\t\t};\n\n\t\t_this.writeString = function (s) {\n\t\t\tfor (var i = 0; i < s.length; i += 1) {\n\t\t\t\t_this.writeByte(s.charCodeAt(i));\n\t\t\t}\n\t\t};\n\n\t\t_this.toByteArray = function () {\n\t\t\treturn _bytes;\n\t\t};\n\n\t\t_this.toString = function () {\n\t\t\tvar s = '';\n\t\t\ts += '[';\n\t\t\tfor (var i = 0; i < _bytes.length; i += 1) {\n\t\t\t\tif (i > 0) {\n\t\t\t\t\ts += ',';\n\t\t\t\t}\n\t\t\t\ts += _bytes[i];\n\t\t\t}\n\t\t\ts += ']';\n\t\t\treturn s;\n\t\t};\n\n\t\treturn _this;\n\t};\n\n\t//---------------------------------------------------------------------\n\t// base64EncodeOutputStream\n\t//---------------------------------------------------------------------\n\n\tvar base64EncodeOutputStream = function () {\n\n\t\tvar _buffer = 0;\n\t\tvar _buflen = 0;\n\t\tvar _length = 0;\n\t\tvar _base64 = '';\n\n\t\tvar _this = {};\n\n\t\tvar writeEncoded = function (b) {\n\t\t\t_base64 += String.fromCharCode(encode(b & 0x3f));\n\t\t};\n\n\t\tvar encode = function (n) {\n\t\t\tif (n < 0) {\n\t\t\t\t// error.\n\t\t\t} else if (n < 26) {\n\t\t\t\treturn 0x41 + n;\n\t\t\t} else if (n < 52) {\n\t\t\t\treturn 0x61 + (n - 26);\n\t\t\t} else if (n < 62) {\n\t\t\t\treturn 0x30 + (n - 52);\n\t\t\t} else if (n == 62) {\n\t\t\t\treturn 0x2b;\n\t\t\t} else if (n == 63) {\n\t\t\t\treturn 0x2f;\n\t\t\t}\n\t\t\tthrow 'n:' + n;\n\t\t};\n\n\t\t_this.writeByte = function (n) {\n\n\t\t\t_buffer = (_buffer << 8) | (n & 0xff);\n\t\t\t_buflen += 8;\n\t\t\t_length += 1;\n\n\t\t\twhile (_buflen >= 6) {\n\t\t\t\twriteEncoded(_buffer >>> (_buflen - 6));\n\t\t\t\t_buflen -= 6;\n\t\t\t}\n\t\t};\n\n\t\t_this.flush = function () {\n\n\t\t\tif (_buflen > 0) {\n\t\t\t\twriteEncoded(_buffer << (6 - _buflen));\n\t\t\t\t_buffer = 0;\n\t\t\t\t_buflen = 0;\n\t\t\t}\n\n\t\t\tif (_length % 3 != 0) {\n\t\t\t\t// padding\n\t\t\t\tvar padlen = 3 - _length % 3;\n\t\t\t\tfor (var i = 0; i < padlen; i += 1) {\n\t\t\t\t\t_base64 += '=';\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\t_this.toString = function () {\n\t\t\treturn _base64;\n\t\t};\n\n\t\treturn _this;\n\t};\n\n\t//---------------------------------------------------------------------\n\t// base64DecodeInputStream\n\t//---------------------------------------------------------------------\n\n\tvar base64DecodeInputStream = function (str) {\n\n\t\tvar _str = str;\n\t\tvar _pos = 0;\n\t\tvar _buffer = 0;\n\t\tvar _buflen = 0;\n\n\t\tvar _this = {};\n\n\t\t_this.read = function () {\n\n\t\t\twhile (_buflen < 8) {\n\n\t\t\t\tif (_pos >= _str.length) {\n\t\t\t\t\tif (_buflen == 0) {\n\t\t\t\t\t\treturn -1;\n\t\t\t\t\t}\n\t\t\t\t\tthrow 'unexpected end of file./' + _buflen;\n\t\t\t\t}\n\n\t\t\t\tvar c = _str.charAt(_pos);\n\t\t\t\t_pos += 1;\n\n\t\t\t\tif (c == '=') {\n\t\t\t\t\t_buflen = 0;\n\t\t\t\t\treturn -1;\n\t\t\t\t} else if (c.match(/^\\s$/)) {\n\t\t\t\t\t// ignore if whitespace.\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t_buffer = (_buffer << 6) | decode(c.charCodeAt(0));\n\t\t\t\t_buflen += 6;\n\t\t\t}\n\n\t\t\tvar n = (_buffer >>> (_buflen - 8)) & 0xff;\n\t\t\t_buflen -= 8;\n\t\t\treturn n;\n\t\t};\n\n\t\tvar decode = function (c) {\n\t\t\tif (0x41 <= c && c <= 0x5a) {\n\t\t\t\treturn c - 0x41;\n\t\t\t} else if (0x61 <= c && c <= 0x7a) {\n\t\t\t\treturn c - 0x61 + 26;\n\t\t\t} else if (0x30 <= c && c <= 0x39) {\n\t\t\t\treturn c - 0x30 + 52;\n\t\t\t} else if (c == 0x2b) {\n\t\t\t\treturn 62;\n\t\t\t} else if (c == 0x2f) {\n\t\t\t\treturn 63;\n\t\t\t} else {\n\t\t\t\tthrow 'c:' + c;\n\t\t\t}\n\t\t};\n\n\t\treturn _this;\n\t};\n\n\t//---------------------------------------------------------------------\n\t// gifImage (B/W)\n\t//---------------------------------------------------------------------\n\n\tvar gifImage = function (width, height) {\n\n\t\tvar _width = width;\n\t\tvar _height = height;\n\t\tvar _data = new Array(width * height);\n\n\t\tvar _this = {};\n\n\t\t_this.setPixel = function (x, y, pixel) {\n\t\t\t_data[y * _width + x] = pixel;\n\t\t};\n\n\t\t_this.write = function (out) {\n\n\t\t\t//---------------------------------\n\t\t\t// GIF Signature\n\n\t\t\tout.writeString('GIF87a');\n\n\t\t\t//---------------------------------\n\t\t\t// Screen Descriptor\n\n\t\t\tout.writeShort(_width);\n\t\t\tout.writeShort(_height);\n\n\t\t\tout.writeByte(0x80); // 2bit\n\t\t\tout.writeByte(0);\n\t\t\tout.writeByte(0);\n\n\t\t\t//---------------------------------\n\t\t\t// Global Color Map\n\n\t\t\t// black\n\t\t\tout.writeByte(0x00);\n\t\t\tout.writeByte(0x00);\n\t\t\tout.writeByte(0x00);\n\n\t\t\t// white\n\t\t\tout.writeByte(0xff);\n\t\t\tout.writeByte(0xff);\n\t\t\tout.writeByte(0xff);\n\n\t\t\t//---------------------------------\n\t\t\t// Image Descriptor\n\n\t\t\tout.writeString(',');\n\t\t\tout.writeShort(0);\n\t\t\tout.writeShort(0);\n\t\t\tout.writeShort(_width);\n\t\t\tout.writeShort(_height);\n\t\t\tout.writeByte(0);\n\n\t\t\t//---------------------------------\n\t\t\t// Local Color Map\n\n\t\t\t//---------------------------------\n\t\t\t// Raster Data\n\n\t\t\tvar lzwMinCodeSize = 2;\n\t\t\tvar raster = getLZWRaster(lzwMinCodeSize);\n\n\t\t\tout.writeByte(lzwMinCodeSize);\n\n\t\t\tvar offset = 0;\n\n\t\t\twhile (raster.length - offset > 255) {\n\t\t\t\tout.writeByte(255);\n\t\t\t\tout.writeBytes(raster, offset, 255);\n\t\t\t\toffset += 255;\n\t\t\t}\n\n\t\t\tout.writeByte(raster.length - offset);\n\t\t\tout.writeBytes(raster, offset, raster.length - offset);\n\t\t\tout.writeByte(0x00);\n\n\t\t\t//---------------------------------\n\t\t\t// GIF Terminator\n\t\t\tout.writeString(';');\n\t\t};\n\n\t\tvar bitOutputStream = function (out) {\n\n\t\t\tvar _out = out;\n\t\t\tvar _bitLength = 0;\n\t\t\tvar _bitBuffer = 0;\n\n\t\t\tvar _this = {};\n\n\t\t\t_this.write = function (data, length) {\n\n\t\t\t\tif ((data >>> length) != 0) {\n\t\t\t\t\tthrow 'length over';\n\t\t\t\t}\n\n\t\t\t\twhile (_bitLength + length >= 8) {\n\t\t\t\t\t_out.writeByte(0xff & ((data << _bitLength) | _bitBuffer));\n\t\t\t\t\tlength -= (8 - _bitLength);\n\t\t\t\t\tdata >>>= (8 - _bitLength);\n\t\t\t\t\t_bitBuffer = 0;\n\t\t\t\t\t_bitLength = 0;\n\t\t\t\t}\n\n\t\t\t\t_bitBuffer = (data << _bitLength) | _bitBuffer;\n\t\t\t\t_bitLength = _bitLength + length;\n\t\t\t};\n\n\t\t\t_this.flush = function () {\n\t\t\t\tif (_bitLength > 0) {\n\t\t\t\t\t_out.writeByte(_bitBuffer);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\treturn _this;\n\t\t};\n\n\t\tvar getLZWRaster = function (lzwMinCodeSize) {\n\n\t\t\tvar clearCode = 1 << lzwMinCodeSize;\n\t\t\tvar endCode = (1 << lzwMinCodeSize) + 1;\n\t\t\tvar bitLength = lzwMinCodeSize + 1;\n\n\t\t\t// Setup LZWTable\n\t\t\tvar table = lzwTable();\n\n\t\t\tfor (var i = 0; i < clearCode; i += 1) {\n\t\t\t\ttable.add(String.fromCharCode(i));\n\t\t\t}\n\t\t\ttable.add(String.fromCharCode(clearCode));\n\t\t\ttable.add(String.fromCharCode(endCode));\n\n\t\t\tvar byteOut = byteArrayOutputStream();\n\t\t\tvar bitOut = bitOutputStream(byteOut);\n\n\t\t\t// clear code\n\t\t\tbitOut.write(clearCode, bitLength);\n\n\t\t\tvar dataIndex = 0;\n\n\t\t\tvar s = String.fromCharCode(_data[dataIndex]);\n\t\t\tdataIndex += 1;\n\n\t\t\twhile (dataIndex < _data.length) {\n\n\t\t\t\tvar c = String.fromCharCode(_data[dataIndex]);\n\t\t\t\tdataIndex += 1;\n\n\t\t\t\tif (table.contains(s + c)) {\n\n\t\t\t\t\ts = s + c;\n\n\t\t\t\t} else {\n\n\t\t\t\t\tbitOut.write(table.indexOf(s), bitLength);\n\n\t\t\t\t\tif (table.size() < 0xfff) {\n\n\t\t\t\t\t\tif (table.size() == (1 << bitLength)) {\n\t\t\t\t\t\t\tbitLength += 1;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttable.add(s + c);\n\t\t\t\t\t}\n\n\t\t\t\t\ts = c;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbitOut.write(table.indexOf(s), bitLength);\n\n\t\t\t// end code\n\t\t\tbitOut.write(endCode, bitLength);\n\n\t\t\tbitOut.flush();\n\n\t\t\treturn byteOut.toByteArray();\n\t\t};\n\n\t\tvar lzwTable = function () {\n\n\t\t\tvar _map = {};\n\t\t\tvar _size = 0;\n\n\t\t\tvar _this = {};\n\n\t\t\t_this.add = function (key) {\n\t\t\t\tif (_this.contains(key)) {\n\t\t\t\t\tthrow 'dup key:' + key;\n\t\t\t\t}\n\t\t\t\t_map[key] = _size;\n\t\t\t\t_size += 1;\n\t\t\t};\n\n\t\t\t_this.size = function () {\n\t\t\t\treturn _size;\n\t\t\t};\n\n\t\t\t_this.indexOf = function (key) {\n\t\t\t\treturn _map[key];\n\t\t\t};\n\n\t\t\t_this.contains = function (key) {\n\t\t\t\treturn typeof _map[key] != 'undefined';\n\t\t\t};\n\n\t\t\treturn _this;\n\t\t};\n\n\t\treturn _this;\n\t};\n\n\tvar createDataURL = function (width, height, getPixel) {\n\t\tvar gif = gifImage(width, height);\n\t\tfor (var y = 0; y < height; y += 1) {\n\t\t\tfor (var x = 0; x < width; x += 1) {\n\t\t\t\tgif.setPixel(x, y, getPixel(x, y));\n\t\t\t}\n\t\t}\n\n\t\tvar b = byteArrayOutputStream();\n\t\tgif.write(b);\n\n\t\tvar base64 = base64EncodeOutputStream();\n\t\tvar bytes = b.toByteArray();\n\t\tfor (var i = 0; i < bytes.length; i += 1) {\n\t\t\tbase64.writeByte(bytes[i]);\n\t\t}\n\t\tbase64.flush();\n\n\t\treturn 'data:image/gif;base64,' + base64;\n\t};\n\n\t//---------------------------------------------------------------------\n\t// returns qrcode function.\n\n\treturn qrcode;\n}();\n\n// multibyte support\n!function () {\n\n\tqrcode.stringToBytesFuncs['UTF-8'] = function (s) {\n\t\t// http://stackoverflow.com/questions/18729405/how-to-convert-utf8-string-to-byte-array\n\t\tfunction toUTF8Array(str) {\n\t\t\tvar utf8 = [];\n\t\t\tfor (var i = 0; i < str.length; i++) {\n\t\t\t\tvar charcode = str.charCodeAt(i);\n\t\t\t\tif (charcode < 0x80) utf8.push(charcode);\n\t\t\t\telse if (charcode < 0x800) {\n\t\t\t\t\tutf8.push(0xc0 | (charcode >> 6),\n\t\t\t\t\t\t0x80 | (charcode & 0x3f));\n\t\t\t\t}\n\t\t\t\telse if (charcode < 0xd800 || charcode >= 0xe000) {\n\t\t\t\t\tutf8.push(0xe0 | (charcode >> 12),\n\t\t\t\t\t\t0x80 | ((charcode >> 6) & 0x3f),\n\t\t\t\t\t\t0x80 | (charcode & 0x3f));\n\t\t\t\t}\n\t\t\t\t// surrogate pair\n\t\t\t\telse {\n\t\t\t\t\ti++;\n\t\t\t\t\t// UTF-16 encodes 0x10000-0x10FFFF by\n\t\t\t\t\t// subtracting 0x10000 and splitting the\n\t\t\t\t\t// 20 bits of 0x0-0xFFFFF into two halves\n\t\t\t\t\tcharcode = 0x10000 + (((charcode & 0x3ff) << 10)\n\t\t\t\t\t\t| (str.charCodeAt(i) & 0x3ff));\n\t\t\t\t\tutf8.push(0xf0 | (charcode >> 18),\n\t\t\t\t\t\t0x80 | ((charcode >> 12) & 0x3f),\n\t\t\t\t\t\t0x80 | ((charcode >> 6) & 0x3f),\n\t\t\t\t\t\t0x80 | (charcode & 0x3f));\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn utf8;\n\t\t}\n\t\treturn toUTF8Array(s);\n\t};\n\n}();\n\nexport default qrcode;","import { BigNumber } from 'bignumber.js';\n\nexport function parseNumberString(str, precision = new BigNumber(1)) {\n\tconst decimalSep = (1.1).toLocaleString().substring(1, 2),\n\t\trepRegex = new RegExp(`[^0-9${decimalSep}]`, 'g');\n\n\tlet num = new BigNumber(str.replace(repRegex, '').replace(decimalSep, '.'), 10);\n\n\tif (num.isNaN() || !num.isFinite())\n\t\tnum = new BigNumber(0);\n\n\treturn num.times(precision);\n};\n\nexport function parseBlockTimeString(str) {\n\t/* eslint-disable object-property-newline */\n\tconst multipliers = {\n\t\tm: 4320, w: 1008, d: 144, h: 6,\n\t\tmth: 4320, mths: 4320,\n\t\tmon: 4320, wk: 1008, dy: 144, hr: 6,\n\t\tmonth: 4320, week: 1008, day: 144, hour: 6,\n\t\tmonths: 4320, weeks: 1008, days: 144, hours: 6\n\t};\n\n\tconst unit = str.replace(/[^a-z]/gi, ''),\n\t\tnum = parseInt(str.replace(/[^0-9]/g, ''), 10);\n\n\tif (!multipliers[unit])\n\t\tthrow new Error(`${unit} not recognized`);\n\n\treturn Math.floor(num * multipliers[unit]);\n}\n\nexport function parseSiacoinString(str, precision = new BigNumber(1e24)) {\n\treturn parseNumberString(str, precision);\n}\n\nexport function parseCurrencyString(str, rate, precision = new BigNumber(1e24)) {\n\tif (rate)\n\t\treturn parseNumberString(str, 1).div(rate).times(precision);\n\n\treturn parseSiacoinString(str);\n}"],"sourceRoot":""}