{"version":3,"file":"../../js/llqrcode.js","sources":["js/llqrcode.js"],"sourcesContent":["var _aa = {};\n_aa._ab = function(f, e) {\n var d = qrcode.width;\n var b = qrcode.height;\n var c = true;\n for (var g = 0; g < e.length && c; g += 2) {\n var a = Math.floor(e[g]);\n var h = Math.floor(e[g + 1]);\n if (a < -1 || a > d || h < -1 || h > b) {\n throw \"Error._ab \"\n }\n c = false;\n if (a == -1) {\n e[g] = 0;\n c = true\n } else {\n if (a == d) {\n e[g] = d - 1;\n c = true\n }\n }\n if (h == -1) {\n e[g + 1] = 0;\n c = true\n } else {\n if (h == b) {\n e[g + 1] = b - 1;\n c = true\n }\n }\n }\n c = true;\n for (var g = e.length - 2; g >= 0 && c; g -= 2) {\n var a = Math.floor(e[g]);\n var h = Math.floor(e[g + 1]);\n if (a < -1 || a > d || h < -1 || h > b) {\n throw \"Error._ab \"\n }\n c = false;\n if (a == -1) {\n e[g] = 0;\n c = true\n } else {\n if (a == d) {\n e[g] = d - 1;\n c = true\n }\n }\n if (h == -1) {\n e[g + 1] = 0;\n c = true\n } else {\n if (h == b) {\n e[g + 1] = b - 1;\n c = true\n }\n }\n }\n};\n_aa._af = function(b, d, a) {\n var k = new _ac(d);\n var j = new Array(d << 1);\n for (var f = 0; f < d; f++) {\n var g = j.length;\n var i = f + 0.5;\n for (var h = 0; h < g; h += 2) {\n j[h] = (h >> 1) + 0.5;\n j[h + 1] = i\n }\n a._ad(j);\n _aa._ab(b, j);\n try {\n for (var h = 0; h < g; h += 2) {\n var e = b[Math.floor(j[h]) + qrcode.width * Math.floor(j[h + 1])];\n if (e) {\n k._dq(h >> 1, f)\n }\n }\n } catch (c) {\n throw \"Error._ab\"\n }\n }\n return k\n};\n_aa._ah = function(h, o, l, k, q, p, b, a, f, e, n, m, s, r, d, c, j, i) {\n var g = _ae._ag(l, k, q, p, b, a, f, e, n, m, s, r, d, c, j, i);\n return _aa._af(h, o, g)\n};\n\nfunction _a1(b, a) {\n this.count = b;\n this._fc = a;\n this.__defineGetter__(\"Count\", function() {\n return this.count\n });\n this.__defineGetter__(\"_dm\", function() {\n return this._fc\n })\n}\n\nfunction _a2(a, c, b) {\n this._bm = a;\n if (b) {\n this._do = new Array(c, b)\n } else {\n this._do = new Array(c)\n }\n this.__defineGetter__(\"_bo\", function() {\n return this._bm\n });\n this.__defineGetter__(\"_dn\", function() {\n return this._bm * this._fo\n });\n this.__defineGetter__(\"_fo\", function() {\n var e = 0;\n for (var d = 0; d < this._do.length; d++) {\n e += this._do[d].length\n }\n return e\n });\n this._fb = function() {\n return this._do\n }\n}\n\nfunction _a3(k, l, h, g, f, e) {\n this._bs = k;\n this._ar = l;\n this._do = new Array(h, g, f, e);\n var j = 0;\n var b = h._bo;\n var a = h._fb();\n for (var d = 0; d < a.length; d++) {\n var c = a[d];\n j += c.Count * (c._dm + b)\n }\n this._br = j;\n this.__defineGetter__(\"_fd\", function() {\n return this._bs\n });\n this.__defineGetter__(\"_as\", function() {\n return this._ar\n });\n this.__defineGetter__(\"_dp\", function() {\n return this._br\n });\n this.__defineGetter__(\"_cr\", function() {\n return 17 + 4 * this._bs\n });\n this._aq = function() {\n var q = this._cr;\n var o = new _ac(q);\n o._bq(0, 0, 9, 9);\n o._bq(q - 8, 0, 8, 9);\n o._bq(0, q - 8, 9, 8);\n var n = this._ar.length;\n for (var m = 0; m < n; m++) {\n var p = this._ar[m] - 2;\n for (var r = 0; r < n; r++) {\n if ((m == 0 && (r == 0 || r == n - 1)) || (m == n - 1 && r == 0)) {\n continue\n }\n o._bq(this._ar[r] - 2, p, 5, 5)\n }\n }\n o._bq(6, 9, 1, q - 17);\n o._bq(9, 6, q - 17, 1);\n if (this._bs > 6) {\n o._bq(q - 11, 0, 3, 6);\n o._bq(0, q - 11, 6, 3)\n }\n return o\n };\n this._bu = function(i) {\n return this._do[i.ordinal()]\n }\n}\n_a3._bv = new Array(31892, 34236, 39577, 42195, 48118, 51042, 55367, 58893, 63784, 68472, 70749, 76311, 79154, 84390, 87683, 92361, 96236, 102084, 102881, 110507, 110734, 117786, 119615, 126325, 127568, 133589, 136944, 141498, 145311, 150283, 152622, 158308, 161089, 167017);\n_a3.VERSIONS = _ay();\n_a3._av = function(a) {\n if (a < 1 || a > 40) {\n throw \"bad arguments\"\n }\n return _a3.VERSIONS[a - 1]\n};\n_a3._at = function(b) {\n if (b % 4 != 1) {\n throw \"Error _at\"\n }\n try {\n return _a3._av((b - 17) >> 2)\n } catch (a) {\n throw \"Error _av\"\n }\n};\n_a3._aw = function(d) {\n var b = 4294967295;\n var f = 0;\n for (var c = 0; c < _a3._bv.length; c++) {\n var a = _a3._bv[c];\n if (a == d) {\n return this._av(c + 7)\n }\n var e = _ax._gj(d, a);\n if (e < b) {\n f = c + 7;\n b = e\n }\n }\n if (b <= 3) {\n return this._av(f)\n }\n return null\n};\n\nfunction _ay() {\n return new Array(new _a3(1, new Array(), new _a2(7, new _a1(1, 19)), new _a2(10, new _a1(1, 16)), new _a2(13, new _a1(1, 13)), new _a2(17, new _a1(1, 9))), new _a3(2, new Array(6, 18), new _a2(10, new _a1(1, 34)), new _a2(16, new _a1(1, 28)), new _a2(22, new _a1(1, 22)), new _a2(28, new _a1(1, 16))), new _a3(3, new Array(6, 22), new _a2(15, new _a1(1, 55)), new _a2(26, new _a1(1, 44)), new _a2(18, new _a1(2, 17)), new _a2(22, new _a1(2, 13))), new _a3(4, new Array(6, 26), new _a2(20, new _a1(1, 80)), new _a2(18, new _a1(2, 32)), new _a2(26, new _a1(2, 24)), new _a2(16, new _a1(4, 9))), new _a3(5, new Array(6, 30), new _a2(26, new _a1(1, 108)), new _a2(24, new _a1(2, 43)), new _a2(18, new _a1(2, 15), new _a1(2, 16)), new _a2(22, new _a1(2, 11), new _a1(2, 12))), new _a3(6, new Array(6, 34), new _a2(18, new _a1(2, 68)), new _a2(16, new _a1(4, 27)), new _a2(24, new _a1(4, 19)), new _a2(28, new _a1(4, 15))), new _a3(7, new Array(6, 22, 38), new _a2(20, new _a1(2, 78)), new _a2(18, new _a1(4, 31)), new _a2(18, new _a1(2, 14), new _a1(4, 15)), new _a2(26, new _a1(4, 13), new _a1(1, 14))), new _a3(8, new Array(6, 24, 42), new _a2(24, new _a1(2, 97)), new _a2(22, new _a1(2, 38), new _a1(2, 39)), new _a2(22, new _a1(4, 18), new _a1(2, 19)), new _a2(26, new _a1(4, 14), new _a1(2, 15))), new _a3(9, new Array(6, 26, 46), new _a2(30, new _a1(2, 116)), new _a2(22, new _a1(3, 36), new _a1(2, 37)), new _a2(20, new _a1(4, 16), new _a1(4, 17)), new _a2(24, new _a1(4, 12), new _a1(4, 13))), new _a3(10, new Array(6, 28, 50), new _a2(18, new _a1(2, 68), new _a1(2, 69)), new _a2(26, new _a1(4, 43), new _a1(1, 44)), new _a2(24, new _a1(6, 19), new _a1(2, 20)), new _a2(28, new _a1(6, 15), new _a1(2, 16))), new _a3(11, new Array(6, 30, 54), new _a2(20, new _a1(4, 81)), new _a2(30, new _a1(1, 50), new _a1(4, 51)), new _a2(28, new _a1(4, 22), new _a1(4, 23)), new _a2(24, new _a1(3, 12), new _a1(8, 13))), new _a3(12, new Array(6, 32, 58), new _a2(24, new _a1(2, 92), new _a1(2, 93)), new _a2(22, new _a1(6, 36), new _a1(2, 37)), new _a2(26, new _a1(4, 20), new _a1(6, 21)), new _a2(28, new _a1(7, 14), new _a1(4, 15))), new _a3(13, new Array(6, 34, 62), new _a2(26, new _a1(4, 107)), new _a2(22, new _a1(8, 37), new _a1(1, 38)), new _a2(24, new _a1(8, 20), new _a1(4, 21)), new _a2(22, new _a1(12, 11), new _a1(4, 12))), new _a3(14, new Array(6, 26, 46, 66), new _a2(30, new _a1(3, 115), new _a1(1, 116)), new _a2(24, new _a1(4, 40), new _a1(5, 41)), new _a2(20, new _a1(11, 16), new _a1(5, 17)), new _a2(24, new _a1(11, 12), new _a1(5, 13))), new _a3(15, new Array(6, 26, 48, 70), new _a2(22, new _a1(5, 87), new _a1(1, 88)), new _a2(24, new _a1(5, 41), new _a1(5, 42)), new _a2(30, new _a1(5, 24), new _a1(7, 25)), new _a2(24, new _a1(11, 12), new _a1(7, 13))), new _a3(16, new Array(6, 26, 50, 74), new _a2(24, new _a1(5, 98), new _a1(1, 99)), new _a2(28, new _a1(7, 45), new _a1(3, 46)), new _a2(24, new _a1(15, 19), new _a1(2, 20)), new _a2(30, new _a1(3, 15), new _a1(13, 16))), new _a3(17, new Array(6, 30, 54, 78), new _a2(28, new _a1(1, 107), new _a1(5, 108)), new _a2(28, new _a1(10, 46), new _a1(1, 47)), new _a2(28, new _a1(1, 22), new _a1(15, 23)), new _a2(28, new _a1(2, 14), new _a1(17, 15))), new _a3(18, new Array(6, 30, 56, 82), new _a2(30, new _a1(5, 120), new _a1(1, 121)), new _a2(26, new _a1(9, 43), new _a1(4, 44)), new _a2(28, new _a1(17, 22), new _a1(1, 23)), new _a2(28, new _a1(2, 14), new _a1(19, 15))), new _a3(19, new Array(6, 30, 58, 86), new _a2(28, new _a1(3, 113), new _a1(4, 114)), new _a2(26, new _a1(3, 44), new _a1(11, 45)), new _a2(26, new _a1(17, 21), new _a1(4, 22)), new _a2(26, new _a1(9, 13), new _a1(16, 14))), new _a3(20, new Array(6, 34, 62, 90), new _a2(28, new _a1(3, 107), new _a1(5, 108)), new _a2(26, new _a1(3, 41), new _a1(13, 42)), new _a2(30, new _a1(15, 24), new _a1(5, 25)), new _a2(28, new _a1(15, 15), new _a1(10, 16))), new _a3(21, new Array(6, 28, 50, 72, 94), new _a2(28, new _a1(4, 116), new _a1(4, 117)), new _a2(26, new _a1(17, 42)), new _a2(28, new _a1(17, 22), new _a1(6, 23)), new _a2(30, new _a1(19, 16), new _a1(6, 17))), new _a3(22, new Array(6, 26, 50, 74, 98), new _a2(28, new _a1(2, 111), new _a1(7, 112)), new _a2(28, new _a1(17, 46)), new _a2(30, new _a1(7, 24), new _a1(16, 25)), new _a2(24, new _a1(34, 13))), new _a3(23, new Array(6, 30, 54, 74, 102), new _a2(30, new _a1(4, 121), new _a1(5, 122)), new _a2(28, new _a1(4, 47), new _a1(14, 48)), new _a2(30, new _a1(11, 24), new _a1(14, 25)), new _a2(30, new _a1(16, 15), new _a1(14, 16))), new _a3(24, new Array(6, 28, 54, 80, 106), new _a2(30, new _a1(6, 117), new _a1(4, 118)), new _a2(28, new _a1(6, 45), new _a1(14, 46)), new _a2(30, new _a1(11, 24), new _a1(16, 25)), new _a2(30, new _a1(30, 16), new _a1(2, 17))), new _a3(25, new Array(6, 32, 58, 84, 110), new _a2(26, new _a1(8, 106), new _a1(4, 107)), new _a2(28, new _a1(8, 47), new _a1(13, 48)), new _a2(30, new _a1(7, 24), new _a1(22, 25)), new _a2(30, new _a1(22, 15), new _a1(13, 16))), new _a3(26, new Array(6, 30, 58, 86, 114), new _a2(28, new _a1(10, 114), new _a1(2, 115)), new _a2(28, new _a1(19, 46), new _a1(4, 47)), new _a2(28, new _a1(28, 22), new _a1(6, 23)), new _a2(30, new _a1(33, 16), new _a1(4, 17))), new _a3(27, new Array(6, 34, 62, 90, 118), new _a2(30, new _a1(8, 122), new _a1(4, 123)), new _a2(28, new _a1(22, 45), new _a1(3, 46)), new _a2(30, new _a1(8, 23), new _a1(26, 24)), new _a2(30, new _a1(12, 15), new _a1(28, 16))), new _a3(28, new Array(6, 26, 50, 74, 98, 122), new _a2(30, new _a1(3, 117), new _a1(10, 118)), new _a2(28, new _a1(3, 45), new _a1(23, 46)), new _a2(30, new _a1(4, 24), new _a1(31, 25)), new _a2(30, new _a1(11, 15), new _a1(31, 16))), new _a3(29, new Array(6, 30, 54, 78, 102, 126), new _a2(30, new _a1(7, 116), new _a1(7, 117)), new _a2(28, new _a1(21, 45), new _a1(7, 46)), new _a2(30, new _a1(1, 23), new _a1(37, 24)), new _a2(30, new _a1(19, 15), new _a1(26, 16))), new _a3(30, new Array(6, 26, 52, 78, 104, 130), new _a2(30, new _a1(5, 115), new _a1(10, 116)), new _a2(28, new _a1(19, 47), new _a1(10, 48)), new _a2(30, new _a1(15, 24), new _a1(25, 25)), new _a2(30, new _a1(23, 15), new _a1(25, 16))), new _a3(31, new Array(6, 30, 56, 82, 108, 134), new _a2(30, new _a1(13, 115), new _a1(3, 116)), new _a2(28, new _a1(2, 46), new _a1(29, 47)), new _a2(30, new _a1(42, 24), new _a1(1, 25)), new _a2(30, new _a1(23, 15), new _a1(28, 16))), new _a3(32, new Array(6, 34, 60, 86, 112, 138), new _a2(30, new _a1(17, 115)), new _a2(28, new _a1(10, 46), new _a1(23, 47)), new _a2(30, new _a1(10, 24), new _a1(35, 25)), new _a2(30, new _a1(19, 15), new _a1(35, 16))), new _a3(33, new Array(6, 30, 58, 86, 114, 142), new _a2(30, new _a1(17, 115), new _a1(1, 116)), new _a2(28, new _a1(14, 46), new _a1(21, 47)), new _a2(30, new _a1(29, 24), new _a1(19, 25)), new _a2(30, new _a1(11, 15), new _a1(46, 16))), new _a3(34, new Array(6, 34, 62, 90, 118, 146), new _a2(30, new _a1(13, 115), new _a1(6, 116)), new _a2(28, new _a1(14, 46), new _a1(23, 47)), new _a2(30, new _a1(44, 24), new _a1(7, 25)), new _a2(30, new _a1(59, 16), new _a1(1, 17))), new _a3(35, new Array(6, 30, 54, 78, 102, 126, 150), new _a2(30, new _a1(12, 121), new _a1(7, 122)), new _a2(28, new _a1(12, 47), new _a1(26, 48)), new _a2(30, new _a1(39, 24), new _a1(14, 25)), new _a2(30, new _a1(22, 15), new _a1(41, 16))), new _a3(36, new Array(6, 24, 50, 76, 102, 128, 154), new _a2(30, new _a1(6, 121), new _a1(14, 122)), new _a2(28, new _a1(6, 47), new _a1(34, 48)), new _a2(30, new _a1(46, 24), new _a1(10, 25)), new _a2(30, new _a1(2, 15), new _a1(64, 16))), new _a3(37, new Array(6, 28, 54, 80, 106, 132, 158), new _a2(30, new _a1(17, 122), new _a1(4, 123)), new _a2(28, new _a1(29, 46), new _a1(14, 47)), new _a2(30, new _a1(49, 24), new _a1(10, 25)), new _a2(30, new _a1(24, 15), new _a1(46, 16))), new _a3(38, new Array(6, 32, 58, 84, 110, 136, 162), new _a2(30, new _a1(4, 122), new _a1(18, 123)), new _a2(28, new _a1(13, 46), new _a1(32, 47)), new _a2(30, new _a1(48, 24), new _a1(14, 25)), new _a2(30, new _a1(42, 15), new _a1(32, 16))), new _a3(39, new Array(6, 26, 54, 82, 110, 138, 166), new _a2(30, new _a1(20, 117), new _a1(4, 118)), new _a2(28, new _a1(40, 47), new _a1(7, 48)), new _a2(30, new _a1(43, 24), new _a1(22, 25)), new _a2(30, new _a1(10, 15), new _a1(67, 16))), new _a3(40, new Array(6, 30, 58, 86, 114, 142, 170), new _a2(30, new _a1(19, 118), new _a1(6, 119)), new _a2(28, new _a1(18, 47), new _a1(31, 48)), new _a2(30, new _a1(34, 24), new _a1(34, 25)), new _a2(30, new _a1(20, 15), new _a1(61, 16))))\n}\n\nfunction _ae(i, f, c, h, e, b, g, d, a) {\n this.a11 = i;\n this.a12 = h;\n this.a13 = g;\n this.a21 = f;\n this.a22 = e;\n this.a23 = d;\n this.a31 = c;\n this.a32 = b;\n this.a33 = a;\n this._ad = function(v) {\n var s = v.length;\n var z = this.a11;\n var w = this.a12;\n var u = this.a13;\n var q = this.a21;\n var p = this.a22;\n var o = this.a23;\n var m = this.a31;\n var k = this.a32;\n var j = this.a33;\n for (var n = 0; n < s; n += 2) {\n var t = v[n];\n var r = v[n + 1];\n var l = u * t + o * r + j;\n v[n] = (z * t + q * r + m) / l;\n v[n + 1] = (w * t + p * r + k) / l\n }\n };\n this._fp = function(m, k) {\n var q = m.length;\n for (var l = 0; l < q; l++) {\n var j = m[l];\n var p = k[l];\n var o = this.a13 * j + this.a23 * p + this.a33;\n m[l] = (this.a11 * j + this.a21 * p + this.a31) / o;\n k[l] = (this.a12 * j + this.a22 * p + this.a32) / o\n }\n };\n this._fr = function() {\n return new _ae(this.a22 * this.a33 - this.a23 * this.a32, this.a23 * this.a31 - this.a21 * this.a33, this.a21 * this.a32 - this.a22 * this.a31, this.a13 * this.a32 - this.a12 * this.a33, this.a11 * this.a33 - this.a13 * this.a31, this.a12 * this.a31 - this.a11 * this.a32, this.a12 * this.a23 - this.a13 * this.a22, this.a13 * this.a21 - this.a11 * this.a23, this.a11 * this.a22 - this.a12 * this.a21)\n };\n this.times = function(j) {\n return new _ae(this.a11 * j.a11 + this.a21 * j.a12 + this.a31 * j.a13, this.a11 * j.a21 + this.a21 * j.a22 + this.a31 * j.a23, this.a11 * j.a31 + this.a21 * j.a32 + this.a31 * j.a33, this.a12 * j.a11 + this.a22 * j.a12 + this.a32 * j.a13, this.a12 * j.a21 + this.a22 * j.a22 + this.a32 * j.a23, this.a12 * j.a31 + this.a22 * j.a32 + this.a32 * j.a33, this.a13 * j.a11 + this.a23 * j.a12 + this.a33 * j.a13, this.a13 * j.a21 + this.a23 * j.a22 + this.a33 * j.a23, this.a13 * j.a31 + this.a23 * j.a32 + this.a33 * j.a33)\n }\n}\n_ae._ag = function(p, e, o, d, n, c, m, b, h, q, l, f, a, j, i, r) {\n var g = this._be(p, e, o, d, n, c, m, b);\n var k = this._bf(h, q, l, f, a, j, i, r);\n return k.times(g)\n};\n_ae._bf = function(d, p, c, m, b, k, a, j) {\n var h = j - k;\n var f = p - m + k - j;\n if (h == 0 && f == 0) {\n return new _ae(c - d, b - c, d, m - p, k - m, p, 0, 0, 1)\n } else {\n var q = c - b;\n var o = a - b;\n var l = d - c + b - a;\n var i = m - k;\n var e = q * h - o * i;\n var n = (l * h - o * f) / e;\n var g = (q * f - l * i) / e;\n return new _ae(c - d + n * c, a - d + g * a, d, m - p + n * m, j - p + g * j, p, n, g, 1)\n }\n};\n_ae._be = function(f, h, d, g, b, e, a, c) {\n return this._bf(f, h, d, g, b, e, a, c)._fr()\n};\n\nfunction _bg(b, a) {\n this.bits = b;\n this.points = a\n}\n\nfunction Detector(a) {\n this.image = a;\n this._am = null;\n this._bi = function(m, l, c, b) {\n var d = Math.abs(b - l) > Math.abs(c - m);\n if (d) {\n var r = m;\n m = l;\n l = r;\n r = c;\n c = b;\n b = r\n }\n var j = Math.abs(c - m);\n var i = Math.abs(b - l);\n var p = -j >> 1;\n var u = l < b ? 1 : -1;\n var f = m < c ? 1 : -1;\n var e = 0;\n for (var h = m, g = l; h != c; h += f) {\n var t = d ? g : h;\n var s = d ? h : g;\n if (e == 1) {\n if (this.image[t + s * qrcode.width]) {\n e++\n }\n } else {\n if (!this.image[t + s * qrcode.width]) {\n e++\n }\n }\n if (e == 3) {\n var o = h - m;\n var n = g - l;\n return Math.sqrt((o * o + n * n))\n }\n p += i;\n if (p > 0) {\n if (g == b) {\n break\n }\n g += u;\n p -= j\n }\n }\n var k = c - m;\n var q = b - l;\n return Math.sqrt((k * k + q * q))\n };\n this._bh = function(i, g, h, f) {\n var b = this._bi(i, g, h, f);\n var e = 1;\n var d = i - (h - i);\n if (d < 0) {\n e = i / (i - d);\n d = 0\n } else {\n if (d >= qrcode.width) {\n e = (qrcode.width - 1 - i) / (d - i);\n d = qrcode.width - 1\n }\n }\n var c = Math.floor(g - (f - g) * e);\n e = 1;\n if (c < 0) {\n e = g / (g - c);\n c = 0\n } else {\n if (c >= qrcode.height) {\n e = (qrcode.height - 1 - g) / (c - g);\n c = qrcode.height - 1\n }\n }\n d = Math.floor(i + (d - i) * e);\n b += this._bi(i, g, d, c);\n return b - 1\n };\n this._bj = function(c, d) {\n var b = this._bh(Math.floor(c.X), Math.floor(c.Y), Math.floor(d.X), Math.floor(d.Y));\n var e = this._bh(Math.floor(d.X), Math.floor(d.Y), Math.floor(c.X), Math.floor(c.Y));\n if (isNaN(b)) {\n return e / 7\n }\n if (isNaN(e)) {\n return b / 7\n }\n return (b + e) / 14\n };\n this._bk = function(d, c, b) {\n return (this._bj(d, c) + this._bj(d, b)) / 2\n };\n this.distance = function(d, b) {\n var e = d.X - b.X;\n var c = d.Y - b.Y;\n return Math.sqrt((e * e + c * c))\n };\n this._bx = function(g, f, d, e) {\n var b = Math.round(this.distance(g, f) / e);\n var c = Math.round(this.distance(g, d) / e);\n var h = ((b + c) >> 1) + 7;\n switch (h & 3) {\n case 0:\n h++;\n break;\n case 2:\n h--;\n break;\n case 3:\n throw \"Error\"\n }\n return h\n };\n this._bl = function(g, f, d, j) {\n var k = Math.floor(j * g);\n var h = Math.max(0, f - k);\n var i = Math.min(qrcode.width - 1, f + k);\n if (i - h < g * 3) {\n throw \"Error\"\n }\n var b = Math.max(0, d - k);\n var c = Math.min(qrcode.height - 1, d + k);\n var e = new _ak(this.image, h, b, i - h, c - b, g, this._am);\n return e.find()\n };\n this.createTransform = function(l, h, k, b, g) {\n var j = g - 3.5;\n var i;\n var f;\n var e;\n var c;\n if (b != null) {\n i = b.X;\n f = b.Y;\n e = c = j - 3\n } else {\n i = (h.X - l.X) + k.X;\n f = (h.Y - l.Y) + k.Y;\n e = c = j\n }\n var d = _ae._ag(3.5, 3.5, j, 3.5, e, c, 3.5, j, l.X, l.Y, h.X, h.Y, i, f, k.X, k.Y);\n return d\n };\n this._bz = function(e, b, d) {\n var c = _aa;\n return c._af(e, d, b)\n };\n this._cd = function(q) {\n var j = q._gq;\n var h = q._gs;\n var n = q._gp;\n var d = this._bk(j, h, n);\n if (d < 1) {\n throw \"Error\"\n }\n var r = this._bx(j, h, n, d);\n var b = _a3._at(r);\n var k = b._cr - 7;\n var l = null;\n if (b._as.length > 0) {\n var f = h.X - j.X + n.X;\n var e = h.Y - j.Y + n.Y;\n var c = 1 - 3 / k;\n var t = Math.floor(j.X + c * (f - j.X));\n var s = Math.floor(j.Y + c * (e - j.Y));\n for (var p = 4; p <= 16; p <<= 1) {\n l = this._bl(d, t, s, p);\n break\n }\n }\n var g = this.createTransform(j, h, n, l, r);\n var m = this._bz(this.image, g, r);\n var o;\n if (l == null) {\n o = new Array(n, j, h)\n } else {\n o = new Array(n, j, h, l)\n }\n return new _bg(m, o)\n };\n this.detect = function() {\n var b = new _cc()._ce(this.image);\n return this._cd(b)\n }\n}\nvar _ca = 21522;\nvar _cb = new Array(new Array(21522, 0), new Array(20773, 1), new Array(24188, 2), new Array(23371, 3), new Array(17913, 4), new Array(16590, 5), new Array(20375, 6), new Array(19104, 7), new Array(30660, 8), new Array(29427, 9), new Array(32170, 10), new Array(30877, 11), new Array(26159, 12), new Array(25368, 13), new Array(27713, 14), new Array(26998, 15), new Array(5769, 16), new Array(5054, 17), new Array(7399, 18), new Array(6608, 19), new Array(1890, 20), new Array(597, 21), new Array(3340, 22), new Array(2107, 23), new Array(13663, 24), new Array(12392, 25), new Array(16177, 26), new Array(14854, 27), new Array(9396, 28), new Array(8579, 29), new Array(11994, 30), new Array(11245, 31));\nvar _ch = new Array(0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4);\n\nfunction _ax(a) {\n this._cf = _cg.forBits((a >> 3) & 3);\n this._fe = (a & 7);\n this.__defineGetter__(\"_cg\", function() {\n return this._cf\n });\n this.__defineGetter__(\"_dx\", function() {\n return this._fe\n });\n this.GetHashCode = function() {\n return (this._cf.ordinal() << 3) | this._fe\n };\n this.Equals = function(c) {\n var b = c;\n return this._cf == b._cf && this._fe == b._fe\n }\n}\n_ax._gj = function(d, c) {\n d ^= c;\n return _ch[d & 15] + _ch[(_ew(d, 4) & 15)] + _ch[(_ew(d, 8) & 15)] + _ch[(_ew(d, 12) & 15)] + _ch[(_ew(d, 16) & 15)] + _ch[(_ew(d, 20) & 15)] + _ch[(_ew(d, 24) & 15)] + _ch[(_ew(d, 28) & 15)]\n};\n_ax._ci = function(a) {\n var b = _ax._cj(a);\n if (b != null) {\n return b\n }\n return _ax._cj(a ^ _ca)\n};\n_ax._cj = function(d) {\n var b = 4294967295;\n var a = 0;\n for (var c = 0; c < _cb.length; c++) {\n var g = _cb[c];\n var f = g[0];\n if (f == d) {\n return new _ax(g[1])\n }\n var e = this._gj(d, f);\n if (e < b) {\n a = g[1];\n b = e\n }\n }\n if (b <= 3) {\n return new _ax(a)\n }\n return null\n};\n\nfunction _cg(a, c, b) {\n this._ff = a;\n this.bits = c;\n this.name = b;\n this.__defineGetter__(\"Bits\", function() {\n return this.bits\n });\n this.__defineGetter__(\"Name\", function() {\n return this.name\n });\n this.ordinal = function() {\n return this._ff\n }\n}\n_cg.forBits = function(a) {\n if (a < 0 || a >= FOR_BITS.length) {\n throw \"bad arguments\"\n }\n return FOR_BITS[a]\n};\nvar L = new _cg(0, 1, \"L\");\nvar M = new _cg(1, 0, \"M\");\nvar Q = new _cg(2, 3, \"Q\");\nvar H = new _cg(3, 2, \"H\");\nvar FOR_BITS = new Array(M, L, H, Q);\n\nfunction _ac(d, a) {\n if (!a) {\n a = d\n }\n if (d < 1 || a < 1) {\n throw \"Both dimensions must be greater than 0\"\n }\n this.width = d;\n this.height = a;\n var c = d >> 5;\n if ((d & 31) != 0) {\n c++\n }\n this.rowSize = c;\n this.bits = new Array(c * a);\n for (var b = 0; b < this.bits.length; b++) {\n this.bits[b] = 0\n }\n this.__defineGetter__(\"Width\", function() {\n return this.width\n });\n this.__defineGetter__(\"Height\", function() {\n return this.height\n });\n this.__defineGetter__(\"Dimension\", function() {\n if (this.width != this.height) {\n throw \"Can't call getDimension() on a non-square matrix\"\n }\n return this.width\n });\n this._ds = function(e, g) {\n var f = g * this.rowSize + (e >> 5);\n return ((_ew(this.bits[f], (e & 31))) & 1) != 0\n };\n this._dq = function(e, g) {\n var f = g * this.rowSize + (e >> 5);\n this.bits[f] |= 1 << (e & 31)\n };\n this.flip = function(e, g) {\n var f = g * this.rowSize + (e >> 5);\n this.bits[f] ^= 1 << (e & 31)\n };\n this.clear = function() {\n var e = this.bits.length;\n for (var f = 0; f < e; f++) {\n this.bits[f] = 0\n }\n };\n this._bq = function(g, j, f, m) {\n if (j < 0 || g < 0) {\n throw \"Left and top must be nonnegative\"\n }\n if (m < 1 || f < 1) {\n throw \"Height and width must be at least 1\"\n }\n var l = g + f;\n var e = j + m;\n if (e > this.height || l > this.width) {\n throw \"The region must fit inside the matrix\"\n }\n for (var i = j; i < e; i++) {\n var h = i * this.rowSize;\n for (var k = g; k < l; k++) {\n this.bits[h + (k >> 5)] |= 1 << (k & 31)\n }\n }\n }\n}\n\nfunction _dl(a, b) {\n this._dv = a;\n this._dw = b;\n this.__defineGetter__(\"_du\", function() {\n return this._dv\n });\n this.__defineGetter__(\"Codewords\", function() {\n return this._dw\n })\n}\n_dl._gn = function(c, h, r) {\n if (c.length != h._dp) {\n throw \"bad arguments\"\n }\n var k = h._bu(r);\n var e = 0;\n var d = k._fb();\n for (var q = 0; q < d.length; q++) {\n e += d[q].Count\n }\n var l = new Array(e);\n var n = 0;\n for (var o = 0; o < d.length; o++) {\n var f = d[o];\n for (var q = 0; q < f.Count; q++) {\n var m = f._dm;\n var s = k._bo + m;\n l[n++] = new _dl(m, new Array(s))\n }\n }\n var t = l[0]._dw.length;\n var b = l.length - 1;\n while (b >= 0) {\n var v = l[b]._dw.length;\n if (v == t) {\n break\n }\n b--\n }\n b++;\n var g = t - k._bo;\n var a = 0;\n for (var q = 0; q < g; q++) {\n for (var o = 0; o < n; o++) {\n l[o]._dw[q] = c[a++]\n }\n }\n for (var o = b; o < n; o++) {\n l[o]._dw[g] = c[a++]\n }\n var p = l[0]._dw.length;\n for (var q = g; q < p; q++) {\n for (var o = 0; o < n; o++) {\n var u = o < b ? q : q + 1;\n l[o]._dw[u] = c[a++]\n }\n }\n return l\n};\n\nfunction _cl(a) {\n var b = a.Dimension;\n if (b < 21 || (b & 3) != 1) {\n throw \"Error _cl\"\n }\n this._au = a;\n this._cp = null;\n this._co = null;\n this._dk = function(d, c, e) {\n return this._au._ds(d, c) ? (e << 1) | 1 : e << 1\n };\n this._cm = function() {\n if (this._co != null) {\n return this._co\n }\n var g = 0;\n for (var e = 0; e < 6; e++) {\n g = this._dk(e, 8, g)\n }\n g = this._dk(7, 8, g);\n g = this._dk(8, 8, g);\n g = this._dk(8, 7, g);\n for (var c = 5; c >= 0; c--) {\n g = this._dk(8, c, g)\n }\n this._co = _ax._ci(g);\n if (this._co != null) {\n return this._co\n }\n var f = this._au.Dimension;\n g = 0;\n var d = f - 8;\n for (var e = f - 1; e >= d; e--) {\n g = this._dk(e, 8, g)\n }\n for (var c = f - 7; c < f; c++) {\n g = this._dk(8, c, g)\n }\n this._co = _ax._ci(g);\n if (this._co != null) {\n return this._co\n }\n throw \"Error _cm\"\n };\n this._cq = function() {\n if (this._cp != null) {\n return this._cp\n }\n var h = this._au.Dimension;\n var f = (h - 17) >> 2;\n if (f <= 6) {\n return _a3._av(f)\n }\n var g = 0;\n var e = h - 11;\n for (var c = 5; c >= 0; c--) {\n for (var d = h - 9; d >= e; d--) {\n g = this._dk(d, c, g)\n }\n }\n this._cp = _a3._aw(g);\n if (this._cp != null && this._cp._cr == h) {\n return this._cp\n }\n g = 0;\n for (var d = 5; d >= 0; d--) {\n for (var c = h - 9; c >= e; c--) {\n g = this._dk(d, c, g)\n }\n }\n this._cp = _a3._aw(g);\n if (this._cp != null && this._cp._cr == h) {\n return this._cp\n }\n throw \"Error _cq\"\n };\n this._gk = function() {\n var q = this._cm();\n var o = this._cq();\n var c = _dx._gl(q._dx);\n var f = this._au.Dimension;\n c._dj(this._au, f);\n var k = o._aq();\n var n = true;\n var r = new Array(o._dp);\n var m = 0;\n var p = 0;\n var h = 0;\n for (var e = f - 1; e > 0; e -= 2) {\n if (e == 6) {\n e--\n }\n for (var l = 0; l < f; l++) {\n var g = n ? f - 1 - l : l;\n for (var d = 0; d < 2; d++) {\n if (!k._ds(e - d, g)) {\n h++;\n p <<= 1;\n if (this._au._ds(e - d, g)) {\n p |= 1\n }\n if (h == 8) {\n r[m++] = p;\n h = 0;\n p = 0\n }\n }\n }\n }\n n ^= true\n }\n if (m != o._dp) {\n throw \"Error _gk\"\n }\n return r\n }\n}\nvar _dx = {};\n_dx._gl = function(a) {\n if (a < 0 || a > 7) {\n throw \"bad arguments\"\n }\n return _dx._dy[a]\n};\n\nfunction _fg() {\n this._dj = function(c, d) {\n for (var b = 0; b < d; b++) {\n for (var a = 0; a < d; a++) {\n if (this._fw(b, a)) {\n c.flip(a, b)\n }\n }\n }\n };\n this._fw = function(b, a) {\n return ((b + a) & 1) == 0\n }\n}\n\nfunction _fh() {\n this._dj = function(c, d) {\n for (var b = 0; b < d; b++) {\n for (var a = 0; a < d; a++) {\n if (this._fw(b, a)) {\n c.flip(a, b)\n }\n }\n }\n };\n this._fw = function(b, a) {\n return (b & 1) == 0\n }\n}\n\nfunction _fi() {\n this._dj = function(c, d) {\n for (var b = 0; b < d; b++) {\n for (var a = 0; a < d; a++) {\n if (this._fw(b, a)) {\n c.flip(a, b)\n }\n }\n }\n };\n this._fw = function(b, a) {\n return a % 3 == 0\n }\n}\n\nfunction _fj() {\n this._dj = function(c, d) {\n for (var b = 0; b < d; b++) {\n for (var a = 0; a < d; a++) {\n if (this._fw(b, a)) {\n c.flip(a, b)\n }\n }\n }\n };\n this._fw = function(b, a) {\n return (b + a) % 3 == 0\n }\n}\n\nfunction _fk() {\n this._dj = function(c, d) {\n for (var b = 0; b < d; b++) {\n for (var a = 0; a < d; a++) {\n if (this._fw(b, a)) {\n c.flip(a, b)\n }\n }\n }\n };\n this._fw = function(b, a) {\n return (((_ew(b, 1)) + (a / 3)) & 1) == 0\n }\n}\n\nfunction _fl() {\n this._dj = function(c, d) {\n for (var b = 0; b < d; b++) {\n for (var a = 0; a < d; a++) {\n if (this._fw(b, a)) {\n c.flip(a, b)\n }\n }\n }\n };\n this._fw = function(c, b) {\n var a = c * b;\n return (a & 1) + (a % 3) == 0\n }\n}\n\nfunction _fm() {\n this._dj = function(c, d) {\n for (var b = 0; b < d; b++) {\n for (var a = 0; a < d; a++) {\n if (this._fw(b, a)) {\n c.flip(a, b)\n }\n }\n }\n };\n this._fw = function(c, b) {\n var a = c * b;\n return (((a & 1) + (a % 3)) & 1) == 0\n }\n}\n\nfunction _fn() {\n this._dj = function(c, d) {\n for (var b = 0; b < d; b++) {\n for (var a = 0; a < d; a++) {\n if (this._fw(b, a)) {\n c.flip(a, b)\n }\n }\n }\n };\n this._fw = function(b, a) {\n return ((((b + a) & 1) + ((b * a) % 3)) & 1) == 0\n }\n}\n_dx._dy = new Array(new _fg(), new _fh(), new _fi(), new _fj(), new _fk(), new _fl(), new _fm(), new _fn());\n\nfunction _db(a) {\n this._fa = a;\n this.decode = function(j, f) {\n var c = new _bp(this._fa, j);\n var p = new Array(f);\n for (var g = 0; g < p.length; g++) {\n p[g] = 0\n }\n var m = false;\n var d = true;\n for (var g = 0; g < f; g++) {\n var q = c.evaluateAt(this._fa.exp(m ? g + 1 : g));\n p[p.length - 1 - g] = q;\n if (q != 0) {\n d = false\n }\n }\n if (d) {\n return\n }\n var b = new _bp(this._fa, p);\n var l = this._eb(this._fa._ba(f, 1), b, f);\n var o = l[0];\n var n = l[1];\n var k = this._ey(o);\n var e = this._di(n, k, m);\n for (var g = 0; g < k.length; g++) {\n var h = j.length - 1 - this._fa.log(k[g]);\n if (h < 0) {\n throw \"ReedSolomonException Bad error location\"\n }\n j[h] = _az._bd(j[h], e[g])\n }\n };\n this._eb = function(z, y, f) {\n if (z._ec < y._ec) {\n var w = z;\n z = y;\n y = w\n }\n var B = z;\n var k = y;\n var o = this._fa.One;\n var j = this._fa.Zero;\n var e = this._fa.Zero;\n var i = this._fa.One;\n while (k._ec >= Math.floor(f / 2)) {\n var x = B;\n var g = o;\n var v = e;\n B = k;\n o = j;\n e = i;\n if (B.Zero) {\n throw \"r_{i-1} was zero\"\n }\n k = x;\n var m = this._fa.Zero;\n var p = B._ex(B._ec);\n var h = this._fa.inverse(p);\n while (k._ec >= B._ec && !k.Zero) {\n var c = k._ec - B._ec;\n var A = this._fa.multiply(k._ex(k._ec), h);\n m = m._bd(this._fa._ba(c, A));\n k = k._bd(B._dc(c, A))\n }\n j = m.multiply1(o)._bd(g);\n i = m.multiply1(e)._bd(v)\n }\n var u = i._ex(0);\n if (u == 0) {\n throw \"ReedSolomonException sigmaTilde(0) was zero\"\n }\n var d = this._fa.inverse(u);\n var n = i.multiply2(d);\n var l = k.multiply2(d);\n return new Array(n, l)\n };\n this._ey = function(f) {\n var g = f._ec;\n if (g == 1) {\n return new Array(f._ex(1))\n }\n var b = new Array(g);\n var d = 0;\n for (var c = 1; c < 256 && d < g; c++) {\n if (f.evaluateAt(c) == 0) {\n b[d] = this._fa.inverse(c);\n d++\n }\n }\n if (d != g) {\n throw \"Error locator degree does not match number of roots\"\n }\n return b\n };\n this._di = function(f, h, g) {\n var k = h.length;\n var l = new Array(k);\n for (var e = 0; e < k; e++) {\n var b = this._fa.inverse(h[e]);\n var c = 1;\n for (var d = 0; d < k; d++) {\n if (e != d) {\n c = this._fa.multiply(c, _az._bd(1, this._fa.multiply(h[d], b)))\n }\n }\n l[e] = this._fa.multiply(f.evaluateAt(b), this._fa.inverse(c));\n if (g) {\n l[e] = this._fa.multiply(l[e], b)\n }\n }\n return l\n }\n}\n\nfunction _bp(f, e) {\n if (e == null || e.length == 0) {\n throw \"bad arguments\"\n }\n this._fa = f;\n var c = e.length;\n if (c > 1 && e[0] == 0) {\n var d = 1;\n while (d < c && e[d] == 0) {\n d++\n }\n if (d == c) {\n this._dd = f.Zero._dd\n } else {\n this._dd = new Array(c - d);\n for (var b = 0; b < this._dd.length; b++) {\n this._dd[b] = 0\n }\n for (var a = 0; a < this._dd.length; a++) {\n this._dd[a] = e[d + a]\n }\n }\n } else {\n this._dd = e\n }\n this.__defineGetter__(\"Zero\", function() {\n return this._dd[0] == 0\n });\n this.__defineGetter__(\"_ec\", function() {\n return this._dd.length - 1\n });\n this.__defineGetter__(\"Coefficients\", function() {\n return this._dd\n });\n this._ex = function(g) {\n return this._dd[this._dd.length - 1 - g]\n };\n this.evaluateAt = function(h) {\n if (h == 0) {\n return this._ex(0)\n }\n var l = this._dd.length;\n if (h == 1) {\n var g = 0;\n for (var k = 0; k < l; k++) {\n g = _az._bd(g, this._dd[k])\n }\n return g\n }\n var j = this._dd[0];\n for (var k = 1; k < l; k++) {\n j = _az._bd(this._fa.multiply(h, j), this._dd[k])\n }\n return j\n };\n this._bd = function(g) {\n if (this._fa != g._fa) {\n throw \"GF256Polys do not have same _az _fa\"\n }\n if (this.Zero) {\n return g\n }\n if (g.Zero) {\n return this\n }\n var o = this._dd;\n var n = g._dd;\n if (o.length > n.length) {\n var j = o;\n o = n;\n n = j\n }\n var h = new Array(n.length);\n var k = n.length - o.length;\n for (var m = 0; m < k; m++) {\n h[m] = n[m]\n }\n for (var l = k; l < n.length; l++) {\n h[l] = _az._bd(o[l - k], n[l])\n }\n return new _bp(f, h)\n };\n this.multiply1 = function(o) {\n if (this._fa != o._fa) {\n throw \"GF256Polys do not have same _az _fa\"\n }\n if (this.Zero || o.Zero) {\n return this._fa.Zero\n }\n var q = this._dd;\n var g = q.length;\n var l = o._dd;\n var n = l.length;\n var p = new Array(g + n - 1);\n for (var m = 0; m < g; m++) {\n var h = q[m];\n for (var k = 0; k < n; k++) {\n p[m + k] = _az._bd(p[m + k], this._fa.multiply(h, l[k]))\n }\n }\n return new _bp(this._fa, p)\n };\n this.multiply2 = function(g) {\n if (g == 0) {\n return this._fa.Zero\n }\n if (g == 1) {\n return this\n }\n var j = this._dd.length;\n var k = new Array(j);\n for (var h = 0; h < j; h++) {\n k[h] = this._fa.multiply(this._dd[h], g)\n }\n return new _bp(this._fa, k)\n };\n this._dc = function(l, g) {\n if (l < 0) {\n throw \"bad arguments\"\n }\n if (g == 0) {\n return this._fa.Zero\n }\n var j = this._dd.length;\n var k = new Array(j + l);\n for (var h = 0; h < k.length; h++) {\n k[h] = 0\n }\n for (var h = 0; h < j; h++) {\n k[h] = this._fa.multiply(this._dd[h], g)\n }\n return new _bp(this._fa, k)\n };\n this.divide = function(l) {\n if (this._fa != l._fa) {\n throw \"GF256Polys do not have same _az _fa\"\n }\n if (l.Zero) {\n throw \"Divide by 0\"\n }\n var j = this._fa.Zero;\n var o = this;\n var g = l._ex(l._ec);\n var n = this._fa.inverse(g);\n while (o._ec >= l._ec && !o.Zero) {\n var m = o._ec - l._ec;\n var h = this._fa.multiply(o._ex(o._ec), n);\n var i = l._dc(m, h);\n var k = this._fa._ba(m, h);\n j = j._bd(k);\n o = o._bd(i)\n }\n return new Array(j, o)\n }\n}\n\nfunction _az(b) {\n this._gh = new Array(256);\n this._gi = new Array(256);\n var a = 1;\n for (var e = 0; e < 256; e++) {\n this._gh[e] = a;\n a <<= 1;\n if (a >= 256) {\n a ^= b\n }\n }\n for (var e = 0; e < 255; e++) {\n this._gi[this._gh[e]] = e\n }\n var d = new Array(1);\n d[0] = 0;\n this.zero = new _bp(this, new Array(d));\n var c = new Array(1);\n c[0] = 1;\n this.one = new _bp(this, new Array(c));\n this.__defineGetter__(\"Zero\", function() {\n return this.zero\n });\n this.__defineGetter__(\"One\", function() {\n return this.one\n });\n this._ba = function(j, f) {\n if (j < 0) {\n throw \"bad arguments\"\n }\n if (f == 0) {\n return this.zero\n }\n var h = new Array(j + 1);\n for (var g = 0; g < h.length; g++) {\n h[g] = 0\n }\n h[0] = f;\n return new _bp(this, h)\n };\n this.exp = function(f) {\n return this._gh[f]\n };\n this.log = function(f) {\n if (f == 0) {\n throw \"bad arguments\"\n }\n return this._gi[f]\n };\n this.inverse = function(f) {\n if (f == 0) {\n throw \"System.ArithmeticException\"\n }\n return this._gh[255 - this._gi[f]]\n };\n this.multiply = function(g, f) {\n if (g == 0 || f == 0) {\n return 0\n }\n if (g == 1) {\n return f\n }\n if (f == 1) {\n return g\n }\n return this._gh[(this._gi[g] + this._gi[f]) % 255]\n }\n}\n_az._bb = new _az(285);\n_az._bc = new _az(301);\n_az._bd = function(d, c) {\n return d ^ c\n};\nvar Decoder = {};\nDecoder.rsDecoder = new _db(_az._bb);\nDecoder.correctErrors = function(g, b) {\n var d = g.length;\n var f = new Array(d);\n for (var e = 0; e < d; e++) {\n f[e] = g[e] & 255\n }\n var a = g.length - b;\n try {\n Decoder.rsDecoder.decode(f, a)\n } catch (c) {\n throw c\n }\n for (var e = 0; e < b; e++) {\n g[e] = f[e]\n }\n};\nDecoder.decode = function(q) {\n var b = new _cl(q);\n var o = b._cq();\n var c = b._cm()._cg;\n var p = b._gk();\n var a = _dl._gn(p, o, c);\n var f = 0;\n for (var k = 0; k < a.length; k++) {\n f += a[k]._du\n }\n var e = new Array(f);\n var n = 0;\n for (var h = 0; h < a.length; h++) {\n var m = a[h];\n var d = m.Codewords;\n var g = m._du;\n Decoder.correctErrors(d, g);\n for (var k = 0; k < g; k++) {\n e[n++] = d[k]\n }\n }\n var l = new QRCodeDataBlockReader(e, o._fd, c.Bits);\n return l\n};\nvar qrcode = {};\nqrcode.imagedata = null;\nqrcode.width = 0;\nqrcode.height = 0;\nqrcode.qrCodeSymbol = null;\nqrcode.debug = false;\nqrcode.maxImgSize = 1024 * 1024;\nqrcode._eo = [\n [10, 9, 8, 8],\n [12, 11, 16, 10],\n [14, 13, 16, 12]\n];\nqrcode.callback = null;\nqrcode.vidSuccess = function(a) {\n qrcode.localstream = a;\n if (qrcode.webkit) {\n qrcode.video.src = window.webkitURL.createObjectURL(a)\n } else {\n if (qrcode.moz) {\n qrcode.video.mozSrcObject = a;\n qrcode.video.play()\n } else {\n qrcode.video.src = a\n }\n }\n qrcode.gUM = true;\n qrcode.canvas_qr2 = document.createElement(\"canvas\");\n qrcode.canvas_qr2.id = \"qr-canvas\";\n qrcode.qrcontext2 = qrcode.canvas_qr2.getContext(\"2d\");\n qrcode.canvas_qr2.width = qrcode.video.videoWidth;\n qrcode.canvas_qr2.height = qrcode.video.videoHeight;\n setTimeout(qrcode.captureToCanvas, 500)\n};\nqrcode.vidError = function(a) {\n qrcode.gUM = false;\n return\n};\nqrcode.captureToCanvas = function() {\n if (qrcode.gUM) {\n try {\n if (qrcode.video.videoWidth == 0) {\n setTimeout(qrcode.captureToCanvas, 500);\n return\n } else {\n qrcode.canvas_qr2.width = qrcode.video.videoWidth;\n qrcode.canvas_qr2.height = qrcode.video.videoHeight\n }\n qrcode.qrcontext2.drawImage(qrcode.video, 0, 0);\n try {\n qrcode.decode()\n } catch (a) {\n console.log(a);\n setTimeout(qrcode.captureToCanvas, 500)\n }\n } catch (a) {\n console.log(a);\n setTimeout(qrcode.captureToCanvas, 500)\n }\n }\n};\nqrcode.setWebcam = function(c) {\n var d = navigator;\n qrcode.video = document.getElementById(c);\n var a = true;\n if (navigator.mediaDevices && navigator.mediaDevices.enumerateDevices) {\n try {\n navigator.mediaDevices.enumerateDevices().then(function(e) {\n e.forEach(function(f) {\n console.log(\"deb1\");\n if (f.kind === \"videoinput\") {\n if (f.label.toLowerCase().search(\"back\") > -1) {\n a = [{\n sourceId: f.deviceId\n }]\n }\n }\n console.log(f.kind + \": \" + f.label + \" id = \" + f.deviceId)\n })\n })\n } catch (b) {\n console.log(b)\n }\n } else {\n console.log(\"no navigator.mediaDevices.enumerateDevices\")\n }\n if (d.getUserMedia) {\n d.getUserMedia({\n video: a,\n audio: false\n }, qrcode.vidSuccess, qrcode.vidError)\n } else {\n if (d.webkitGetUserMedia) {\n qrcode.webkit = true;\n d.webkitGetUserMedia({\n video: a,\n audio: false\n }, qrcode.vidSuccess, qrcode.vidError)\n } else {\n if (d.mozGetUserMedia) {\n qrcode.moz = true;\n d.mozGetUserMedia({\n video: a,\n audio: false\n }, qrcode.vidSuccess, qrcode.vidError)\n }\n }\n }\n};\nqrcode.decode = function(d) {\n if (arguments.length == 0) {\n if (qrcode.canvas_qr2) {\n var b = qrcode.canvas_qr2;\n var a = qrcode.qrcontext2\n } else {\n var b = document.getElementById(\"qr-canvas\");\n var a = b.getContext(\"2d\")\n }\n qrcode.width = b.width;\n qrcode.height = b.height;\n qrcode.imagedata = a.getImageData(0, 0, qrcode.width, qrcode.height);\n qrcode.result = qrcode.process(a);\n if (qrcode.callback != null) {\n qrcode.callback(qrcode.result)\n }\n return qrcode.result\n } else {\n var c = new Image();\n c.crossOrigin = \"Anonymous\";\n c.onload = function() {\n var g = document.getElementById(\"out-canvas\");\n if (g != null) {\n var j = g.getContext(\"2d\");\n j.clearRect(0, 0, 320, 240);\n j.drawImage(c, 0, 0, 320, 240)\n }\n var i = document.createElement(\"canvas\");\n var h = i.getContext(\"2d\");\n var f = c.height;\n var l = c.width;\n if (c.width * c.height > qrcode.maxImgSize) {\n var k = c.width / c.height;\n f = Math.sqrt(qrcode.maxImgSize / k);\n l = k * f\n }\n i.width = l;\n i.height = f;\n h.drawImage(c, 0, 0, i.width, i.height);\n qrcode.width = i.width;\n qrcode.height = i.height;\n try {\n qrcode.imagedata = h.getImageData(0, 0, i.width, i.height)\n } catch (m) {\n qrcode.result = \"Le cross domaine est interdit sur P2W - Veuillez enregistrer l'image.\";\n if (qrcode.callback != null) {\n qrcode.callback(qrcode.result)\n }\n return\n }\n try {\n qrcode.result = qrcode.process(h)\n } catch (m) {\n console.log(m);\n qrcode.result = m;\n }\n if (qrcode.callback != null) {\n qrcode.callback(qrcode.result)\n }\n };\n c.onerror = function() {\n if (qrcode.callback != null) {\n qrcode.callback(\"Failed to load the image\")\n }\n };\n c.src = d\n }\n};\nqrcode.isUrl = function(a) {\n var b = /(ftp|http|https):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%@!\\-\\/]))?/;\n return b.test(a)\n};\nqrcode.decode_url = function(b) {\n var d = \"\";\n try {\n d = escape(b)\n } catch (c) {\n console.log(c);\n d = b\n }\n var a = \"\";\n try {\n a = decodeURIComponent(d)\n } catch (c) {\n console.log(c);\n a = d\n }\n return a\n};\nqrcode.decode_utf8 = function(a) {\n if (qrcode.isUrl(a)) {\n return qrcode.decode_url(a)\n } else {\n return a\n }\n};\nqrcode.process = function(q) {\n var a = new Date().getTime();\n var c = qrcode.grayScaleToBitmap(qrcode.grayscale());\n if (qrcode.debug) {\n for (var m = 0; m < qrcode.height; m++) {\n for (var n = 0; n < qrcode.width; n++) {\n var o = (n * 4) + (m * qrcode.width * 4);\n qrcode.imagedata.data[o] = c[n + m * qrcode.width] ? 0 : 0;\n qrcode.imagedata.data[o + 1] = c[n + m * qrcode.width] ? 0 : 0;\n qrcode.imagedata.data[o + 2] = c[n + m * qrcode.width] ? 255 : 0\n }\n }\n q.putImageData(qrcode.imagedata, 0, 0)\n }\n var h = new Detector(c);\n var p = h.detect();\n if (qrcode.debug) {\n for (var m = 0; m < p.bits.Height; m++) {\n for (var n = 0; n < p.bits.Width; n++) {\n var o = (n * 4 * 2) + (m * 2 * qrcode.width * 4);\n qrcode.imagedata.data[o] = p.bits._ds(n, m) ? 0 : 0;\n qrcode.imagedata.data[o + 1] = p.bits._ds(n, m) ? 0 : 0;\n qrcode.imagedata.data[o + 2] = p.bits._ds(n, m) ? 255 : 0\n }\n }\n q.putImageData(qrcode.imagedata, 0, 0)\n }\n var k = Decoder.decode(p.bits);\n var g = k.DataByte;\n var l = \"\";\n for (var f = 0; f < g.length; f++) {\n for (var e = 0; e < g[f].length; e++) {\n l += String.fromCharCode(g[f][e])\n }\n }\n var d = new Date().getTime();\n var b = d - a;\n console.log(b);\n return qrcode.decode_utf8(l)\n};\nqrcode.getPixel = function(b, d) {\n if (qrcode.width < b) {\n throw \"point erreur\"\n }\n if (qrcode.height < d) {\n throw \"point erreur\"\n }\n var a = (b * 4) + (d * qrcode.width * 4);\n var c = (qrcode.imagedata.data[a] * 33 + qrcode.imagedata.data[a + 1] * 34 + qrcode.imagedata.data[a + 2] * 33) / 100;\n return c\n};\nqrcode.binarize = function(d) {\n var c = new Array(qrcode.width * qrcode.height);\n for (var e = 0; e < qrcode.height; e++) {\n for (var b = 0; b < qrcode.width; b++) {\n var a = qrcode.getPixel(b, e);\n c[b + e * qrcode.width] = a <= d ? true : false\n }\n }\n return c\n};\nqrcode._em = function(d) {\n var c = 4;\n var k = Math.floor(qrcode.width / c);\n var j = Math.floor(qrcode.height / c);\n var f = new Array(c);\n for (var g = 0; g < c; g++) {\n f[g] = new Array(c);\n for (var e = 0; e < c; e++) {\n f[g][e] = new Array(0, 0)\n }\n }\n for (var o = 0; o < c; o++) {\n for (var a = 0; a < c; a++) {\n f[a][o][0] = 255;\n for (var l = 0; l < j; l++) {\n for (var n = 0; n < k; n++) {\n var h = d[k * a + n + (j * o + l) * qrcode.width];\n if (h < f[a][o][0]) {\n f[a][o][0] = h\n }\n if (h > f[a][o][1]) {\n f[a][o][1] = h\n }\n }\n }\n }\n }\n var m = new Array(c);\n for (var b = 0; b < c; b++) {\n m[b] = new Array(c)\n }\n for (var o = 0; o < c; o++) {\n for (var a = 0; a < c; a++) {\n m[a][o] = Math.floor((f[a][o][0] + f[a][o][1]) / 2)\n }\n }\n return m\n};\nqrcode.grayScaleToBitmap = function(f) {\n var k = qrcode._em(f);\n var b = k.length;\n var e = Math.floor(qrcode.width / b);\n var d = Math.floor(qrcode.height / b);\n var h = new ArrayBuffer(qrcode.width * qrcode.height);\n var c = new Uint8Array(h);\n for (var j = 0; j < b; j++) {\n for (var a = 0; a < b; a++) {\n for (var g = 0; g < d; g++) {\n for (var i = 0; i < e; i++) {\n c[e * a + i + (d * j + g) * qrcode.width] = (f[e * a + i + (d * j + g) * qrcode.width] < k[a][j]) ? true : false\n }\n }\n }\n }\n return c\n};\nqrcode.grayscale = function() {\n var e = new ArrayBuffer(qrcode.width * qrcode.height);\n var c = new Uint8Array(e);\n for (var d = 0; d < qrcode.height; d++) {\n for (var b = 0; b < qrcode.width; b++) {\n var a = qrcode.getPixel(b, d);\n c[b + d * qrcode.width] = a\n }\n }\n return c\n};\n\nfunction _ew(a, b) {\n if (a >= 0) {\n return a >> b\n } else {\n return (a >> b) + (2 << ~b)\n }\n}\nvar _gf = 3;\nvar _eh = 57;\nvar _el = 8;\nvar _eg = 2;\nqrcode._er = function(c) {\n function b(m, k) {\n var n = m.X - k.X;\n var l = m.Y - k.Y;\n return Math.sqrt((n * n + l * l))\n }\n\n function d(k, o, n) {\n var m = o.x;\n var l = o.y;\n return ((n.x - m) * (k.y - l)) - ((n.y - l) * (k.x - m))\n }\n var i = b(c[0], c[1]);\n var f = b(c[1], c[2]);\n var e = b(c[0], c[2]);\n var a, j, h;\n if (f >= i && f >= e) {\n j = c[0];\n a = c[1];\n h = c[2]\n } else {\n if (e >= f && e >= i) {\n j = c[1];\n a = c[0];\n h = c[2]\n } else {\n j = c[2];\n a = c[0];\n h = c[1]\n }\n }\n if (d(a, j, h) < 0) {\n var g = a;\n a = h;\n h = g\n }\n c[0] = a;\n c[1] = j;\n c[2] = h\n};\n\nfunction _cz(c, a, b) {\n this.x = c;\n this.y = a;\n this.count = 1;\n this._aj = b;\n this.__defineGetter__(\"_ei\", function() {\n return this._aj\n });\n this.__defineGetter__(\"Count\", function() {\n return this.count\n });\n this.__defineGetter__(\"X\", function() {\n return this.x\n });\n this.__defineGetter__(\"Y\", function() {\n return this.y\n });\n this._ek = function() {\n this.count++\n };\n this._ev = function(f, e, d) {\n if (Math.abs(e - this.y) <= f && Math.abs(d - this.x) <= f) {\n var g = Math.abs(f - this._aj);\n return g <= 1 || g / this._aj <= 1\n }\n return false\n }\n}\n\nfunction _es(a) {\n this._go = a[0];\n this._gu = a[1];\n this._gr = a[2];\n this.__defineGetter__(\"_gp\", function() {\n return this._go\n });\n this.__defineGetter__(\"_gq\", function() {\n return this._gu\n });\n this.__defineGetter__(\"_gs\", function() {\n return this._gr\n })\n}\n\nfunction _cc() {\n this.image = null;\n this._cv = [];\n this._ge = false;\n this._al = new Array(0, 0, 0, 0, 0);\n this._am = null;\n this.__defineGetter__(\"_da\", function() {\n this._al[0] = 0;\n this._al[1] = 0;\n this._al[2] = 0;\n this._al[3] = 0;\n this._al[4] = 0;\n return this._al\n });\n this._ao = function(f) {\n var b = 0;\n for (var d = 0; d < 5; d++) {\n var e = f[d];\n if (e == 0) {\n return false\n }\n b += e\n }\n if (b < 7) {\n return false\n }\n var c = Math.floor((b << _el) / 7);\n var a = Math.floor(c / 2);\n return Math.abs(c - (f[0] << _el)) < a && Math.abs(c - (f[1] << _el)) < a && Math.abs(3 * c - (f[2] << _el)) < 3 * a && Math.abs(c - (f[3] << _el)) < a && Math.abs(c - (f[4] << _el)) < a\n };\n this._an = function(b, a) {\n return (a - b[4] - b[3]) - b[2] / 2\n };\n this._ap = function(a, j, d, g) {\n var c = this.image;\n var h = qrcode.height;\n var b = this._da;\n var f = a;\n while (f >= 0 && c[j + f * qrcode.width]) {\n b[2]++;\n f--\n }\n if (f < 0) {\n return NaN\n }\n while (f >= 0 && !c[j + f * qrcode.width] && b[1] <= d) {\n b[1]++;\n f--\n }\n if (f < 0 || b[1] > d) {\n return NaN\n }\n while (f >= 0 && c[j + f * qrcode.width] && b[0] <= d) {\n b[0]++;\n f--\n }\n if (b[0] > d) {\n return NaN\n }\n f = a + 1;\n while (f < h && c[j + f * qrcode.width]) {\n b[2]++;\n f++\n }\n if (f == h) {\n return NaN\n }\n while (f < h && !c[j + f * qrcode.width] && b[3] < d) {\n b[3]++;\n f++\n }\n if (f == h || b[3] >= d) {\n return NaN\n }\n while (f < h && c[j + f * qrcode.width] && b[4] < d) {\n b[4]++;\n f++\n }\n if (b[4] >= d) {\n return NaN\n }\n var e = b[0] + b[1] + b[2] + b[3] + b[4];\n if (5 * Math.abs(e - g) >= 2 * g) {\n return NaN\n }\n return this._ao(b) ? this._an(b, f) : NaN\n };\n this._ej = function(b, a, e, h) {\n var d = this.image;\n var i = qrcode.width;\n var c = this._da;\n var g = b;\n while (g >= 0 && d[g + a * qrcode.width]) {\n c[2]++;\n g--\n }\n if (g < 0) {\n return NaN\n }\n while (g >= 0 && !d[g + a * qrcode.width] && c[1] <= e) {\n c[1]++;\n g--\n }\n if (g < 0 || c[1] > e) {\n return NaN\n }\n while (g >= 0 && d[g + a * qrcode.width] && c[0] <= e) {\n c[0]++;\n g--\n }\n if (c[0] > e) {\n return NaN\n }\n g = b + 1;\n while (g < i && d[g + a * qrcode.width]) {\n c[2]++;\n g++\n }\n if (g == i) {\n return NaN\n }\n while (g < i && !d[g + a * qrcode.width] && c[3] < e) {\n c[3]++;\n g++\n }\n if (g == i || c[3] >= e) {\n return NaN\n }\n while (g < i && d[g + a * qrcode.width] && c[4] < e) {\n c[4]++;\n g++\n }\n if (c[4] >= e) {\n return NaN\n }\n var f = c[0] + c[1] + c[2] + c[3] + c[4];\n if (5 * Math.abs(f - h) >= h) {\n return NaN\n }\n return this._ao(c) ? this._an(c, g) : NaN\n };\n this._cu = function(c, f, e) {\n var d = c[0] + c[1] + c[2] + c[3] + c[4];\n var n = this._an(c, e);\n var b = this._ap(f, Math.floor(n), c[2], d);\n if (!isNaN(b)) {\n n = this._ej(Math.floor(n), Math.floor(b), c[2], d);\n if (!isNaN(n)) {\n var l = d / 7;\n var m = false;\n var h = this._cv.length;\n for (var g = 0; g < h; g++) {\n var a = this._cv[g];\n if (a._ev(l, b, n)) {\n a._ek();\n m = true;\n break\n }\n }\n if (!m) {\n var k = new _cz(n, b, l);\n this._cv.push(k);\n if (this._am != null) {\n this._am._ep(k)\n }\n }\n return true\n }\n }\n return false\n };\n this._ee = function() {\n var h = this._cv.length;\n if (h < 3) {\n throw \"Patterns QR manquants (\" + h + \" sur 3)\"\n }\n if (h > 3) {\n var b = 0;\n var j = 0;\n for (var d = 0; d < h; d++) {\n var g = this._cv[d]._ei;\n b += g;\n j += (g * g)\n }\n var a = b / h;\n this._cv.sort(function(m, l) {\n var k = Math.abs(l._ei - a);\n var i = Math.abs(m._ei - a);\n if (k < i) {\n return (-1)\n } else {\n if (k == i) {\n return 0\n } else {\n return 1\n }\n }\n });\n var e = Math.sqrt(j / h - a * a);\n var c = Math.max(0.2 * a, e);\n for (var d = this._cv.length - 1; d >= 0; d--) {\n var f = this._cv[d];\n if (Math.abs(f._ei - a) > c) {\n this._cv.splice(d, 1)\n }\n }\n }\n if (this._cv.length > 3) {\n this._cv.sort(function(k, i) {\n if (k.count > i.count) {\n return -1\n }\n if (k.count < i.count) {\n return 1\n }\n return 0\n })\n }\n return new Array(this._cv[0], this._cv[1], this._cv[2])\n };\n this._eq = function() {\n var b = this._cv.length;\n if (b <= 1) {\n return 0\n }\n var c = null;\n for (var d = 0; d < b; d++) {\n var a = this._cv[d];\n if (a.Count >= _eg) {\n if (c == null) {\n c = a\n } else {\n this._ge = true;\n return Math.floor((Math.abs(c.X - a.X) - Math.abs(c.Y - a.Y)) / 2)\n }\n }\n }\n return 0\n };\n this._cx = function() {\n var g = 0;\n var c = 0;\n var a = this._cv.length;\n for (var d = 0; d < a; d++) {\n var f = this._cv[d];\n if (f.Count >= _eg) {\n g++;\n c += f._ei\n }\n }\n if (g < 3) {\n return false\n }\n var e = c / a;\n var b = 0;\n for (var d = 0; d < a; d++) {\n f = this._cv[d];\n b += Math.abs(f._ei - e)\n }\n return b <= 0.05 * c\n };\n this._ce = function(e) {\n var o = false;\n this.image = e;\n var n = qrcode.height;\n var k = qrcode.width;\n var a = Math.floor((3 * n) / (4 * _eh));\n if (a < _gf || o) {\n a = _gf\n }\n var g = false;\n var d = new Array(5);\n for (var h = a - 1; h < n && !g; h += a) {\n d[0] = 0;\n d[1] = 0;\n d[2] = 0;\n d[3] = 0;\n d[4] = 0;\n var b = 0;\n for (var f = 0; f < k; f++) {\n if (e[f + h * qrcode.width]) {\n if ((b & 1) == 1) {\n b++\n }\n d[b]++\n } else {\n if ((b & 1) == 0) {\n if (b == 4) {\n if (this._ao(d)) {\n var c = this._cu(d, h, f);\n if (c) {\n a = 2;\n if (this._ge) {\n g = this._cx()\n } else {\n var m = this._eq();\n if (m > d[2]) {\n h += m - d[2] - a;\n f = k - 1\n }\n }\n } else {\n do {\n f++\n } while (f < k && !e[f + h * qrcode.width]);\n f--\n }\n b = 0;\n d[0] = 0;\n d[1] = 0;\n d[2] = 0;\n d[3] = 0;\n d[4] = 0\n } else {\n d[0] = d[2];\n d[1] = d[3];\n d[2] = d[4];\n d[3] = 1;\n d[4] = 0;\n b = 3\n }\n } else {\n d[++b]++\n }\n } else {\n d[b]++\n }\n }\n }\n if (this._ao(d)) {\n var c = this._cu(d, h, k);\n if (c) {\n a = d[0];\n if (this._ge) {\n g = this._cx()\n }\n }\n }\n }\n var l = this._ee();\n qrcode._er(l);\n return new _es(l)\n }\n}\n\nfunction _ai(c, a, b) {\n this.x = c;\n this.y = a;\n this.count = 1;\n this._aj = b;\n this.__defineGetter__(\"_ei\", function() {\n return this._aj\n });\n this.__defineGetter__(\"Count\", function() {\n return this.count\n });\n this.__defineGetter__(\"X\", function() {\n return Math.floor(this.x)\n });\n this.__defineGetter__(\"Y\", function() {\n return Math.floor(this.y)\n });\n this._ek = function() {\n this.count++\n };\n this._ev = function(f, e, d) {\n if (Math.abs(e - this.y) <= f && Math.abs(d - this.x) <= f) {\n var g = Math.abs(f - this._aj);\n return g <= 1 || g / this._aj <= 1\n }\n return false\n }\n}\n\nfunction _ak(g, c, b, f, a, e, d) {\n this.image = g;\n this._cv = new Array();\n this.startX = c;\n this.startY = b;\n this.width = f;\n this.height = a;\n this._ef = e;\n this._al = new Array(0, 0, 0);\n this._am = d;\n this._an = function(i, h) {\n return (h - i[2]) - i[1] / 2\n };\n this._ao = function(l) {\n var k = this._ef;\n var h = k / 2;\n for (var j = 0; j < 3; j++) {\n if (Math.abs(k - l[j]) >= h) {\n return false\n }\n }\n return true\n };\n this._ap = function(h, q, l, o) {\n var k = this.image;\n var p = qrcode.height;\n var j = this._al;\n j[0] = 0;\n j[1] = 0;\n j[2] = 0;\n var n = h;\n while (n >= 0 && k[q + n * qrcode.width] && j[1] <= l) {\n j[1]++;\n n--\n }\n if (n < 0 || j[1] > l) {\n return NaN\n }\n while (n >= 0 && !k[q + n * qrcode.width] && j[0] <= l) {\n j[0]++;\n n--\n }\n if (j[0] > l) {\n return NaN\n }\n n = h + 1;\n while (n < p && k[q + n * qrcode.width] && j[1] <= l) {\n j[1]++;\n n++\n }\n if (n == p || j[1] > l) {\n return NaN\n }\n while (n < p && !k[q + n * qrcode.width] && j[2] <= l) {\n j[2]++;\n n++\n }\n if (j[2] > l) {\n return NaN\n }\n var m = j[0] + j[1] + j[2];\n if (5 * Math.abs(m - o) >= 2 * o) {\n return NaN\n }\n return this._ao(j) ? this._an(j, n) : NaN\n };\n this._cu = function(l, o, n) {\n var m = l[0] + l[1] + l[2];\n var t = this._an(l, n);\n var k = this._ap(o, Math.floor(t), 2 * l[1], m);\n if (!isNaN(k)) {\n var s = (l[0] + l[1] + l[2]) / 3;\n var q = this._cv.length;\n for (var p = 0; p < q; p++) {\n var h = this._cv[p];\n if (h._ev(s, k, t)) {\n return new _ai(t, k, s)\n }\n }\n var r = new _ai(t, k, s);\n this._cv.push(r);\n if (this._am != null) {\n this._am._ep(r)\n }\n }\n return null\n };\n this.find = function() {\n var p = this.startX;\n var s = this.height;\n var q = p + f;\n var r = b + (s >> 1);\n var m = new Array(0, 0, 0);\n for (var k = 0; k < s; k++) {\n var o = r + ((k & 1) == 0 ? ((k + 1) >> 1) : -((k + 1) >> 1));\n m[0] = 0;\n m[1] = 0;\n m[2] = 0;\n var n = p;\n while (n < q && !g[n + qrcode.width * o]) {\n n++\n }\n var h = 0;\n while (n < q) {\n if (g[n + o * qrcode.width]) {\n if (h == 1) {\n m[h]++\n } else {\n if (h == 2) {\n if (this._ao(m)) {\n var l = this._cu(m, o, n);\n if (l != null) {\n return l\n }\n }\n m[0] = m[2];\n m[1] = 1;\n m[2] = 0;\n h = 1\n } else {\n m[++h]++\n }\n }\n } else {\n if (h == 1) {\n h++\n }\n m[h]++\n }\n n++\n }\n if (this._ao(m)) {\n var l = this._cu(m, o, q);\n if (l != null) {\n return l\n }\n }\n }\n if (!(this._cv.length == 0)) {\n return this._cv[0]\n }\n throw \"Il semblerait qu'il y ait trop de QR sur cette image.\"\n }\n}\n\nfunction QRCodeDataBlockReader(c, a, b) {\n this._ed = 0;\n this._cw = 7;\n this.dataLength = 0;\n this.blocks = c;\n this._en = b;\n if (a <= 9) {\n this.dataLengthMode = 0\n } else {\n if (a >= 10 && a <= 26) {\n this.dataLengthMode = 1\n } else {\n if (a >= 27 && a <= 40) {\n this.dataLengthMode = 2\n }\n }\n }\n this._gd = function(f) {\n var k = 0;\n if (f < this._cw + 1) {\n var m = 0;\n for (var e = 0; e < f; e++) {\n m += (1 << e)\n }\n m <<= (this._cw - f + 1);\n k = (this.blocks[this._ed] & m) >> (this._cw - f + 1);\n this._cw -= f;\n return k\n } else {\n if (f < this._cw + 1 + 8) {\n var j = 0;\n for (var e = 0; e < this._cw + 1; e++) {\n j += (1 << e)\n }\n k = (this.blocks[this._ed] & j) << (f - (this._cw + 1));\n this._ed++;\n k += ((this.blocks[this._ed]) >> (8 - (f - (this._cw + 1))));\n this._cw = this._cw - f % 8;\n if (this._cw < 0) {\n this._cw = 8 + this._cw\n }\n return k\n } else {\n if (f < this._cw + 1 + 16) {\n var j = 0;\n var h = 0;\n for (var e = 0; e < this._cw + 1; e++) {\n j += (1 << e)\n }\n var g = (this.blocks[this._ed] & j) << (f - (this._cw + 1));\n this._ed++;\n var d = this.blocks[this._ed] << (f - (this._cw + 1 + 8));\n this._ed++;\n for (var e = 0; e < f - (this._cw + 1 + 8); e++) {\n h += (1 << e)\n }\n h <<= 8 - (f - (this._cw + 1 + 8));\n var l = (this.blocks[this._ed] & h) >> (8 - (f - (this._cw + 1 + 8)));\n k = g + d + l;\n this._cw = this._cw - (f - 8) % 8;\n if (this._cw < 0) {\n this._cw = 8 + this._cw\n }\n return k\n } else {\n return 0\n }\n }\n }\n };\n this.NextMode = function() {\n if ((this._ed > this.blocks.length - this._en - 2)) {\n return 0\n } else {\n return this._gd(4)\n }\n };\n this.getDataLength = function(d) {\n var e = 0;\n while (true) {\n if ((d >> e) == 1) {\n break\n }\n e++\n }\n return this._gd(qrcode._eo[this.dataLengthMode][e])\n };\n this.getRomanAndFigureString = function(h) {\n var f = h;\n var g = 0;\n var j = \"\";\n var d = new Array(\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \" \", \"$\", \"%\", \"*\", \"+\", \"-\", \".\", \"/\", \":\");\n do {\n if (f > 1) {\n g = this._gd(11);\n var i = Math.floor(g / 45);\n var e = g % 45;\n j += d[i];\n j += d[e];\n f -= 2\n } else {\n if (f == 1) {\n g = this._gd(6);\n j += d[g];\n f -= 1\n }\n }\n } while (f > 0);\n return j\n };\n this.getFigureString = function(f) {\n var d = f;\n var e = 0;\n var g = \"\";\n do {\n if (d >= 3) {\n e = this._gd(10);\n if (e < 100) {\n g += \"0\"\n }\n if (e < 10) {\n g += \"0\"\n }\n d -= 3\n } else {\n if (d == 2) {\n e = this._gd(7);\n if (e < 10) {\n g += \"0\"\n }\n d -= 2\n } else {\n if (d == 1) {\n e = this._gd(4);\n d -= 1\n }\n }\n }\n g += e\n } while (d > 0);\n return g\n };\n this.get8bitByteArray = function(g) {\n var e = g;\n var f = 0;\n var d = new Array();\n do {\n f = this._gd(8);\n d.push(f);\n e--\n } while (e > 0);\n return d\n };\n this.getKanjiString = function(j) {\n var g = j;\n var i = 0;\n var h = \"\";\n do {\n i = this._gd(13);\n var e = i % 192;\n var f = i / 192;\n var k = (f << 8) + e;\n var d = 0;\n if (k + 33088 <= 40956) {\n d = k + 33088\n } else {\n d = k + 49472\n }\n h += String.fromCharCode(d);\n g--\n } while (g > 0);\n return h\n };\n this.parseECIValue = function() {\n var f = 0;\n var e = this._gd(8);\n if ((e & 128) == 0) {\n f = e & 127\n }\n if ((e & 192) == 128) {\n var d = this._gd(8);\n f = ((e & 63) << 8) | d\n }\n if ((e & 224) == 192) {\n var g = this._gd(8);\n f = ((e & 31) << 16) | g\n }\n return f\n };\n this.__defineGetter__(\"DataByte\", function() {\n var h = new Array();\n var e = 1;\n var f = 2;\n var d = 4;\n var n = 7;\n var p = 8;\n do {\n var l = this.NextMode();\n if (l == 0) {\n if (h.length > 0) {\n break\n } else {\n throw \"Empty data block\"\n }\n }\n if (l != e && l != f && l != d && l != p && l != n) {\n throw \"Invalid mode: \" + l + \" in (block:\" + this._ed + \" bit:\" + this._cw + \")\"\n }\n if (l == n) {\n var o = this.parseECIValue()\n } else {\n var g = this.getDataLength(l);\n if (g < 1) {\n throw \"Invalid data length: \" + g\n }\n switch (l) {\n case e:\n var m = this.getFigureString(g);\n var k = new Array(m.length);\n for (var i = 0; i < m.length; i++) {\n k[i] = m.charCodeAt(i)\n }\n h.push(k);\n break;\n case f:\n var m = this.getRomanAndFigureString(g);\n var k = new Array(m.length);\n for (var i = 0; i < m.length; i++) {\n k[i] = m.charCodeAt(i)\n }\n h.push(k);\n break;\n case d:\n var o = this.get8bitByteArray(g);\n h.push(o);\n break;\n case p:\n var m = this.getKanjiString(g);\n h.push(m);\n break\n }\n }\n } while (true);\n return h\n })\n};"],"names":["_aa","_a1","b","a","this","count","_fc","__defineGetter__","_a2","c","_bm","_do","Array","_fo","e","d","length","_fb","_a3","k","l","h","g","f","_bs","_ar","j","_bo","Count","_dm","_br","_aq","q","_cr","o","_ac","n","_bq","m","p","r","_bu","i","ordinal","_ay","_ae","a11","a12","a13","a21","a22","a23","a31","a32","a33","_ad","v","s","z","w","u","t","_fp","_fr","times","_bg","bits","points","Detector","image","_am","_bi","Math","abs","qrcode","width","sqrt","_bh","floor","height","_bj","X","Y","isNaN","_bk","distance","_bx","round","_bl","max","min","_ak","find","createTransform","_ag","_bz","_af","_cd","_gq","_gs","_gp","_at","_as","detect","_cc","_ce","_ab","_dq","_ah","_bv","VERSIONS","_av","_aw","_ax","_gj","_be","_bf","_ca","_cb","_ch","_cf","_cg","forBits","_fe","GetHashCode","Equals","_ff","name","_ew","_ci","_cj","FOR_BITS","L","M","Q","H","rowSize","_ds","flip","clear","_dl","_dv","_dw","_cl","Dimension","_au","_cp","_co","_dk","_cm","_cq","_gk","_dx","_gl","_dj","_dp","_gn","_fg","_fw","_fh","_fi","_fj","_fk","_fl","_fm","_fn","_db","_fa","decode","_bp","evaluateAt","exp","_eb","_ba","_ey","_di","log","_az","_bd","y","_ec","B","One","Zero","x","_ex","inverse","A","multiply","_dc","multiply1","multiply2","_dd","divide","_gh","_gi","zero","one","_dy","_bb","_bc","Decoder","rsDecoder","correctErrors","_du","Codewords","QRCodeDataBlockReader","_fd","Bits","imagedata","qrCodeSymbol","debug","maxImgSize","_eo","callback","vidSuccess","localstream","webkit","video","src","window","webkitURL","createObjectURL","moz","mozSrcObject","play","gUM","canvas_qr2","document","createElement","id","qrcontext2","getContext","videoWidth","videoHeight","setTimeout","captureToCanvas","vidError","drawImage","console","setWebcam","navigator","getElementById","mediaDevices","enumerateDevices","then","forEach","kind","label","toLowerCase","search","sourceId","deviceId","getUserMedia","audio","webkitGetUserMedia","mozGetUserMedia","arguments","getImageData","result","process","Image","crossOrigin","onload","clearRect","onerror","isUrl","test","decode_url","escape","decodeURIComponent","decode_utf8","Date","getTime","grayScaleToBitmap","grayscale","data","putImageData","Height","Width","DataByte","String","fromCharCode","getPixel","binarize","_em","ArrayBuffer","Uint8Array","_gf","_eh","_el","_eg","_cz","_aj","_ek","_ev","_es","_go","_gu","_gr","_cv","_ge","_al","_ao","_an","_ap","_da","NaN","_ej","_cu","push","_ep","_ee","_ei","sort","splice","_eq","_cx","_er","_ai","startX","startY","_ef","_ed","_cw","dataLength","blocks","_en","dataLengthMode","_gd","NextMode","getDataLength","getRomanAndFigureString","getFigureString","get8bitByteArray","getKanjiString","parseECIValue","charCodeAt"],"mappings":"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"}