vendor: 25,427 bytes, lines 1-489
1(function(r) { 2 r.fn.qrcode = function(h) { 3 var s; 4 function u(a) { 5 this.mode = s; 6 this.data = a 7 } 8 function o(a, c) { 9 this.typeNumber = a; 10 this.errorCorrectLevel = c; 11 this.modules = null; 12 this.moduleCount = 0; 13 this.dataCache = null; 14 this.dataList = [] 15 } 16 function q(a, c) { 17 if (void 0 == a.length) 18 throw Error(a.length + "/" + c); 19 for (var d = 0; d < a.length && 0 == a[d]; ) 20 d++; 21 this.num = Array(a.length - d + c); 22 for (var b = 0; b < a.length - d; b++) 23 this.num[b] = a[b + d] 24 } 25 function p(a, c) { 26 this.totalCount = a; 27 this.dataCount = c 28 } 29 function t() { 30 this.buffer = []; 31 this.length = 0 32 } 33 u.prototype = { 34 getLength: function() { 35 return this.data.length 36 }, 37 write: function(a) { 38 for (var c = 0; c < this.data.length; c++) 39 a.put(this.data.charCodeAt(c), 8) 40 } 41 }; 42 o.prototype = { 43 addData: function(a) { 44 this.dataList.push(new u(a)); 45 this.dataCache = null 46 }, 47 isDark: function(a, c) { 48 if (0 > a || this.moduleCount <= a || 0 > c || this.moduleCount <= c) 49 throw Error(a + "," + c); 50 return this.modules[a][c] 51 }, 52 getModuleCount: function() { 53 return this.moduleCount 54 }, 55 make: function() { 56 if (1 > this.typeNumber) { 57 for (var a = 1, a = 1; 40 > a; a++) { 58 for (var c = p.getRSBlocks(a, this.errorCorrectLevel), d = new t, b = 0, e = 0; e < c.length; e++) 59 b += c[e].dataCount; 60 for (e = 0; e < this.dataList.length; e++) 61 c = this.dataList[e], 62 d.put(c.mode, 4), 63 d.put(c.getLength(), j.getLengthInBits(c.mode, a)), 64 c.write(d); 65 if (d.getLengthInBits() <= 8 * b) 66 break 67 } 68 this.typeNumber = a 69 } 70 this.makeImpl(!1, this.getBestMaskPattern()) 71 }, 72 makeImpl: function(a, c) { 73 this.moduleCount = 4 * this.typeNumber + 17; 74 this.modules = Array(this.moduleCount); 75 for (var d = 0; d < this.moduleCount; d++) { 76 this.modules[d] = Array(this.moduleCount); 77 for (var b = 0; b < this.moduleCount; b++) 78 this.modules[d][b] = null 79 } 80 this.setupPositionProbePattern(0, 0); 81 this.setupPositionProbePattern(this.moduleCount - 7, 0); 82 this.setupPositionProbePattern(0, this.moduleCount - 7); 83 this.setupPositionAdjustPattern(); 84 this.setupTimingPattern(); 85 this.setupTypeInfo(a, c); 86 7 <= this.typeNumber && this.setupTypeNumber(a); 87 null == this.dataCache && (this.dataCache = o.createData(this.typeNumber, this.errorCorrectLevel, this.dataList)); 88 this.mapData(this.dataCache, c) 89 }, 90 setupPositionProbePattern: function(a, c) { 91 for (var d = -1; 7 >= d; d++) 92 if (!(-1 >= a + d || this.moduleCount <= a + d)) 93 for (var b = -1; 7 >= b; b++) 94 -1 >= c + b || this.moduleCount <= c + b || (this.modules[a + d][c + b] = 0 <= d && 6 >= d && (0 == b || 6 == b) || 0 <= b && 6 >= b && (0 == d || 6 == d) || 2 <= d && 4 >= d && 2 <= b && 4 >= b ? !0 : !1) 95 }, 96 getBestMaskPattern: function() { 97 for (var a = 0, c = 0, d = 0; 8 > d; d++) { 98 this.makeImpl(!0, d); 99 var b = j.getLostPoint(this); 100 if (0 == d || a > b) 101 a = b, 102 c = d 103 } 104 return c 105 }, 106 createMovieClip: function(a, c, d) { 107 a = a.createEmptyMovieClip(c, d); 108 this.make(); 109 for (c = 0; c < this.modules.length; c++) 110 for (var d = 1 * c, b = 0; b < this.modules[c].length; b++) { 111 var e = 1 * b; 112 this.modules[c][b] && (a.beginFill(0, 100), 113 a.moveTo(e, d), 114 a.lineTo(e + 1, d), 115 a.lineTo(e + 1, d + 1), 116 a.lineTo(e, d + 1), 117 a.endFill()) 118 } 119 return a 120 }, 121 setupTimingPattern: function() { 122 for (var a = 8; a < this.moduleCount - 8; a++) 123 null == this.modules[a][6] && (this.modules[a][6] = 0 == a % 2); 124 for (a = 8; a < this.moduleCount - 8; a++) 125 null == this.modules[6][a] && (this.modules[6][a] = 0 == a % 2) 126 }, 127 setupPositionAdjustPattern: function() { 128 for (var a = j.getPatternPosition(this.typeNumber), c = 0; c < a.length; c++) 129 for (var d = 0; d < a.length; d++) { 130 var b = a[c] 131 , e = a[d]; 132 if (null == this.modules[b][e]) 133 for (var f = -2; 2 >= f; f++) 134 for (var i = -2; 2 >= i; i++) 135 this.modules[b + f][e + i] = -2 == f || 2 == f || -2 == i || 2 == i || 0 == f && 0 == i ? !0 : !1 136 } 137 }, 138 setupTypeNumber: function(a) { 139 for (var c = j.getBCHTypeNumber(this.typeNumber), d = 0; 18 > d; d++) { 140 var b = !a && 1 == (c >> d & 1); 141 this.modules[Math.floor(d / 3)][d % 3 + this.moduleCount - 8 - 3] = b 142 } 143 for (d = 0; 18 > d; d++) 144 b = !a && 1 == (c >> d & 1), 145 this.modules[d % 3 + this.moduleCount - 8 - 3][Math.floor(d / 3)] = b 146 }, 147 setupTypeInfo: function(a, c) { 148 for (var d = j.getBCHTypeInfo(this.errorCorrectLevel << 3 | c), b = 0; 15 > b; b++) { 149 var e = !a && 1 == (d >> b & 1); 150 6 > b ? this.modules[b][8] = e : 8 > b ? this.modules[b + 1][8] = e : this.modules[this.moduleCount - 15 + b][8] = e 151 } 152 for (b = 0; 15 > b; b++) 153 e = !a && 1 == (d >> b & 1), 154 8 > b ? this.modules[8][this.moduleCount - b - 1] = e : 9 > b ? this.modules[8][15 - b - 1 + 1] = e : this.modules[8][15 - b - 1] = e; 155 this.modules[this.moduleCount - 8][8] = !a 156 }, 157 mapData: function(a, c) { 158 for (var d = -1, b = this.moduleCount - 1, e = 7, f = 0, i = this.moduleCount - 1; 0 < i; i -= 2) 159 for (6 == i && i--; ; ) { 160 for (var g = 0; 2 > g; g++) 161 if (null == this.modules[b][i - g]) { 162 var n = !1; 163 f < a.length && (n = 1 == (a[f] >>> e & 1)); 164 j.getMask(c, b, i - g) && (n = !n); 165 this.modules[b][i - g] = n; 166 e--; 167 -1 == e && (f++, 168 e = 7) 169 } 170 b += d; 171 if (0 > b || this.moduleCount <= b) { 172 b -= d; 173 d = -d; 174 break 175 } 176 } 177 } 178 }; 179 o.PAD0 = 236; 180 o.PAD1 = 17; 181 o.createData = function(a, c, d) { 182 for (var c = p.getRSBlocks(a, c), b = new t, e = 0; e < d.length; e++) { 183 var f = d[e]; 184 b.put(f.mode, 4); 185 b.put(f.getLength(), j.getLengthInBits(f.mode, a)); 186 f.write(b) 187 } 188 for (e = a = 0; e < c.length; e++) 189 a += c[e].dataCount; 190 if (b.getLengthInBits() > 8 * a) 191 throw Error("code length overflow. (" + b.getLengthInBits() + ">" + 8 * a + ")"); 192 for (b.getLengthInBits() + 4 <= 8 * a && b.put(0, 4); 0 != b.getLengthInBits() % 8; ) 193 b.putBit(!1); 194 for (; !(b.getLengthInBits() >= 8 * a); ) { 195 b.put(o.PAD0, 8); 196 if (b.getLengthInBits() >= 8 * a) 197 break; 198 b.put(o.PAD1, 8) 199 } 200 return o.createBytes(b, c) 201 } 202 ; 203 o.createBytes = function(a, c) { 204 for (var d = 0, b = 0, e = 0, f = Array(c.length), i = Array(c.length), g = 0; g < c.length; g++) { 205 var n = c[g].dataCount 206 , h = c[g].totalCount - n 207 , b = Math.max(b, n) 208 , e = Math.max(e, h); 209 f[g] = Array(n); 210 for (var k = 0; k < f[g].length; k++) 211 f[g][k] = 255 & a.buffer[k + d]; 212 d += n; 213 k = j.getErrorCorrectPolynomial(h); 214 n = (new q(f[g],k.getLength() - 1)).mod(k); 215 i[g] = Array(k.getLength() - 1); 216 for (k = 0; k < i[g].length; k++) 217 h = k + n.getLength() - i[g].length, 218 i[g][k] = 0 <= h ? n.get(h) : 0 219 } 220 for (k = g = 0; k < c.length; k++) 221 g += c[k].totalCount; 222 d = Array(g); 223 for (k = n = 0; k < b; k++) 224 for (g = 0; g < c.length; g++) 225 k < f[g].length && (d[n++] = f[g][k]); 226 for (k = 0; k < e; k++) 227 for (g = 0; g < c.length; g++) 228 k < i[g].length && (d[n++] = i[g][k]); 229 return d 230 } 231 ; 232 s = 4; 233 for (var j = { 234 PATTERN_POSITION_TABLE: [[], [6, 18], [6, 22], [6, 26], [6, 30], [6, 34], [6, 22, 38], [6, 24, 42], [6, 26, 46], [6, 28, 50], [6, 30, 54], [6, 32, 58], [6, 34, 62], [6, 26, 46, 66], [6, 26, 48, 70], [6, 26, 50, 74], [6, 30, 54, 78], [6, 30, 56, 82], [6, 30, 58, 86], [6, 34, 62, 90], [6, 28, 50, 72, 94], [6, 26, 50, 74, 98], [6, 30, 54, 78, 102], [6, 28, 54, 80, 106], [6, 32, 58, 84, 110], [6, 30, 58, 86, 114], [6, 34, 62, 90, 118], [6, 26, 50, 74, 98, 122], [6, 30, 54, 78, 102, 126], [6, 26, 52, 78, 104, 130], [6, 30, 56, 82, 108, 134], [6, 34, 60, 86, 112, 138], [6, 30, 58, 86, 114, 142], [6, 34, 62, 90, 118, 146], [6, 30, 54, 78, 102, 126, 150], [6, 24, 50, 76, 102, 128, 154], [6, 28, 54, 80, 106, 132, 158], [6, 32, 58, 84, 110, 136, 162], [6, 26, 54, 82, 110, 138, 166], [6, 30, 58, 86, 114, 142, 170]], 235 G15: 1335, 236 G18: 7973, 237 G15_MASK: 21522, 238 getBCHTypeInfo: function(a) { 239 for (var c = a << 10; 0 <= j.getBCHDigit(c) - j.getBCHDigit(j.G15); ) 240 c ^= j.G15 << j.getBCHDigit(c) - j.getBCHDigit(j.G15); 241 return (a << 10 | c) ^ j.G15_MASK 242 }, 243 getBCHTypeNumber: function(a) { 244 for (var c = a << 12; 0 <= j.getBCHDigit(c) - j.getBCHDigit(j.G18); ) 245 c ^= j.G18 << j.getBCHDigit(c) - j.getBCHDigit(j.G18); 246 return a << 12 | c 247 }, 248 getBCHDigit: function(a) { 249 for (var c = 0; 0 != a; ) 250 c++, 251 a >>>= 1; 252 return c 253 }, 254 getPatternPosition: function(a) { 255 return j.PATTERN_POSITION_TABLE[a - 1] 256 }, 257 getMask: function(a, c, d) { 258 switch (a) { 259 case 0: 260 return 0 == (c + d) % 2; 261 case 1: 262 return 0 == c % 2; 263 case 2: 264 return 0 == d % 3; 265 case 3: 266 return 0 == (c + d) % 3; 267 case 4: 268 return 0 == (Math.floor(c / 2) + Math.floor(d / 3)) % 2; 269 case 5: 270 return 0 == c * d % 2 + c * d % 3; 271 case 6: 272 return 0 == (c * d % 2 + c * d % 3) % 2; 273 case 7: 274 return 0 == (c * d % 3 + (c + d) % 2) % 2; 275 default: 276 throw Error("bad maskPattern:" + a); 277 } 278 }, 279 getErrorCorrectPolynomial: function(a) { 280 for (var c = new q([1],0), d = 0; d < a; d++) 281 c = c.multiply(new q([1, l.gexp(d)],0)); 282 return c 283 }, 284 getLengthInBits: function(a, c) { 285 if (1 <= c && 10 > c) 286 switch (a) { 287 case 1: 288 return 10; 289 case 2: 290 return 9; 291 case s: 292 return 8; 293 case 8: 294 return 8; 295 default: 296 throw Error("mode:" + a); 297 } 298 else if (27 > c) 299 switch (a) { 300 case 1: 301 return 12; 302 case 2: 303 return 11; 304 case s: 305 return 16; 306 case 8: 307 return 10; 308 default: 309 throw Error("mode:" + a); 310 } 311 else if (41 > c) 312 switch (a) { 313 case 1: 314 return 14; 315 case 2: 316 return 13; 317 case s: 318 return 16; 319 case 8: 320 return 12; 321 default: 322 throw Error("mode:" + a); 323 } 324 else 325 throw Error("type:" + c); 326 }, 327 getLostPoint: function(a) { 328 for (var c = a.getModuleCount(), d = 0, b = 0; b < c; b++) 329 for (var e = 0; e < c; e++) { 330 for (var f = 0, i = a.isDark(b, e), g = -1; 1 >= g; g++) 331 if (!(0 > b + g || c <= b + g)) 332 for (var h = -1; 1 >= h; h++) 333 0 > e + h || c <= e + h || 0 == g && 0 == h || i == a.isDark(b + g, e + h) && f++; 334 5 < f && (d += 3 + f - 5) 335 } 336 for (b = 0; b < c - 1; b++) 337 for (e = 0; e < c - 1; e++) 338 if (f = 0, 339 a.isDark(b, e) && f++, 340 a.isDark(b + 1, e) && f++, 341 a.isDark(b, e + 1) && f++, 342 a.isDark(b + 1, e + 1) && f++, 343 0 == f || 4 == f) 344 d += 3; 345 for (b = 0; b < c; b++) 346 for (e = 0; e < c - 6; e++) 347 a.isDark(b, e) && !a.isDark(b, e + 1) && a.isDark(b, e + 2) && a.isDark(b, e + 3) && a.isDark(b, e + 4) && !a.isDark(b, e + 5) && a.isDark(b, e + 6) && (d += 40); 348 for (e = 0; e < c; e++) 349 for (b = 0; b < c - 6; b++) 350 a.isDark(b, e) && !a.isDark(b + 1, e) && a.isDark(b + 2, e) && a.isDark(b + 3, e) && a.isDark(b + 4, e) && !a.isDark(b + 5, e) && a.isDark(b + 6, e) && (d += 40); 351 for (e = f = 0; e < c; e++) 352 for (b = 0; b < c; b++) 353 a.isDark(b, e) && f++; 354 a = Math.abs(100 * f / c / c - 50) / 5; 355 return d + 10 * a 356 } 357 }, l = { 358 glog: function(a) { 359 if (1 > a) 360 throw Error("glog(" + a + ")"); 361 return l.LOG_TABLE[a] 362 }, 363 gexp: function(a) { 364 for (; 0 > a; ) 365 a += 255; 366 for (; 256 <= a; ) 367 a -= 255; 368 return l.EXP_TABLE[a] 369 }, 370 EXP_TABLE: Array(256), 371 LOG_TABLE: Array(256) 372 }, m = 0; 8 > m; m++) 373 l.EXP_TABLE[m] = 1 << m; 374 for (m = 8; 256 > m; m++) 375 l.EXP_TABLE[m] = l.EXP_TABLE[m - 4] ^ l.EXP_TABLE[m - 5] ^ l.EXP_TABLE[m - 6] ^ l.EXP_TABLE[m - 8]; 376 for (m = 0; 255 > m; m++) 377 l.LOG_TABLE[l.EXP_TABLE[m]] = m; 378 q.prototype = { 379 get: function(a) { 380 return this.num[a] 381 }, 382 getLength: function() { 383 return this.num.length 384 }, 385 multiply: function(a) { 386 for (var c = Array(this.getLength() + a.getLength() - 1), d = 0; d < this.getLength(); d++) 387 for (var b = 0; b < a.getLength(); b++) 388 c[d + b] ^= l.gexp(l.glog(this.get(d)) + l.glog(a.get(b))); 389 return new q(c,0) 390 }, 391 mod: function(a) { 392 if (0 > this.getLength() - a.getLength()) 393 return this; 394 for (var c = l.glog(this.get(0)) - l.glog(a.get(0)), d = Array(this.getLength()), b = 0; b < this.getLength(); b++) 395 d[b] = this.get(b); 396 for (b = 0; b < a.getLength(); b++) 397 d[b] ^= l.gexp(l.glog(a.get(b)) + c); 398 return (new q(d,0)).mod(a) 399 } 400 }; 401 p.RS_BLOCK_TABLE = [[1, 26, 19], [1, 26, 16], [1, 26, 13], [1, 26, 9], [1, 44, 34], [1, 44, 28], [1, 44, 22], [1, 44, 16], [1, 70, 55], [1, 70, 44], [2, 35, 17], [2, 35, 13], [1, 100, 80], [2, 50, 32], [2, 50, 24], [4, 25, 9], [1, 134, 108], [2, 67, 43], [2, 33, 15, 2, 34, 16], [2, 33, 11, 2, 34, 12], [2, 86, 68], [4, 43, 27], [4, 43, 19], [4, 43, 15], [2, 98, 78], [4, 49, 31], [2, 32, 14, 4, 33, 15], [4, 39, 13, 1, 40, 14], [2, 121, 97], [2, 60, 38, 2, 61, 39], [4, 40, 18, 2, 41, 19], [4, 40, 14, 2, 41, 15], [2, 146, 116], [3, 58, 36, 2, 59, 37], [4, 36, 16, 4, 37, 17], [4, 36, 12, 4, 37, 13], [2, 86, 68, 2, 87, 69], [4, 69, 43, 1, 70, 44], [6, 43, 19, 2, 44, 20], [6, 43, 15, 2, 44, 16], [4, 101, 81], [1, 80, 50, 4, 81, 51], [4, 50, 22, 4, 51, 23], [3, 36, 12, 8, 37, 13], [2, 116, 92, 2, 117, 93], [6, 58, 36, 2, 59, 37], [4, 46, 20, 6, 47, 21], [7, 42, 14, 4, 43, 15], [4, 133, 107], [8, 59, 37, 1, 60, 38], [8, 44, 20, 4, 45, 21], [12, 33, 11, 4, 34, 12], [3, 145, 115, 1, 146, 116], [4, 64, 40, 5, 65, 41], [11, 36, 16, 5, 37, 17], [11, 36, 12, 5, 37, 13], [5, 109, 87, 1, 110, 88], [5, 65, 41, 5, 66, 42], [5, 54, 24, 7, 55, 25], [11, 36, 12], [5, 122, 98, 1, 123, 99], [7, 73, 45, 3, 74, 46], [15, 43, 19, 2, 44, 20], [3, 45, 15, 13, 46, 16], [1, 135, 107, 5, 136, 108], [10, 74, 46, 1, 75, 47], [1, 50, 22, 15, 51, 23], [2, 42, 14, 17, 43, 15], [5, 150, 120, 1, 151, 121], [9, 69, 43, 4, 70, 44], [17, 50, 22, 1, 51, 23], [2, 42, 14, 19, 43, 15], [3, 141, 113, 4, 142, 114], [3, 70, 44, 11, 71, 45], [17, 47, 21, 4, 48, 22], [9, 39, 13, 16, 40, 14], [3, 135, 107, 5, 136, 108], [3, 67, 41, 13, 68, 42], [15, 54, 24, 5, 55, 25], [15, 43, 15, 10, 44, 16], [4, 144, 116, 4, 145, 117], [17, 68, 42], [17, 50, 22, 6, 51, 23], [19, 46, 16, 6, 47, 17], [2, 139, 111, 7, 140, 112], [17, 74, 46], [7, 54, 24, 16, 55, 25], [34, 37, 13], [4, 151, 121, 5, 152, 122], [4, 75, 47, 14, 76, 48], [11, 54, 24, 14, 55, 25], [16, 45, 15, 14, 46, 16], [6, 147, 117, 4, 148, 118], [6, 73, 45, 14, 74, 46], [11, 54, 24, 16, 55, 25], [30, 46, 16, 2, 47, 17], [8, 132, 106, 4, 133, 107], [8, 75, 47, 13, 76, 48], [7, 54, 24, 22, 55, 25], [22, 45, 15, 13, 46, 16], [10, 142, 114, 2, 143, 115], [19, 74, 46, 4, 75, 47], [28, 50, 22, 6, 51, 23], [33, 46, 16, 4, 47, 17], [8, 152, 122, 4, 153, 123], [22, 73, 45, 3, 74, 46], [8, 53, 23, 26, 54, 24], [12, 45, 15, 28, 46, 16], [3, 147, 117, 10, 148, 118], [3, 73, 45, 23, 74, 46], [4, 54, 24, 31, 55, 25], [11, 45, 15, 31, 46, 16], [7, 146, 116, 7, 147, 117], [21, 73, 45, 7, 74, 46], [1, 53, 23, 37, 54, 24], [19, 45, 15, 26, 46, 16], [5, 145, 115, 10, 146, 116], [19, 75, 47, 10, 76, 48], [15, 54, 24, 25, 55, 25], [23, 45, 15, 25, 46, 16], [13, 145, 115, 3, 146, 116], [2, 74, 46, 29, 75, 47], [42, 54, 24, 1, 55, 25], [23, 45, 15, 28, 46, 16], [17, 145, 115], [10, 74, 46, 23, 75, 47], [10, 54, 24, 35, 55, 25], [19, 45, 15, 35, 46, 16], [17, 145, 115, 1, 146, 116], [14, 74, 46, 21, 75, 47], [29, 54, 24, 19, 55, 25], [11, 45, 15, 46, 46, 16], [13, 145, 115, 6, 146, 116], [14, 74, 46, 23, 75, 47], [44, 54, 24, 7, 55, 25], [59, 46, 16, 1, 47, 17], [12, 151, 121, 7, 152, 122], [12, 75, 47, 26, 76, 48], [39, 54, 24, 14, 55, 25], [22, 45, 15, 41, 46, 16], [6, 151, 121, 14, 152, 122], [6, 75, 47, 34, 76, 48], [46, 54, 24, 10, 55, 25], [2, 45, 15, 64, 46, 16], [17, 152, 122, 4, 153, 123], [29, 74, 46, 14, 75, 47], [49, 54, 24, 10, 55, 25], [24, 45, 15, 46, 46, 16], [4, 152, 122, 18, 153, 123], [13, 74, 46, 32, 75, 47], [48, 54, 24, 14, 55, 25], [42, 45, 15, 32, 46, 16], [20, 147, 117, 4, 148, 118], [40, 75, 47, 7, 76, 48], [43, 54, 24, 22, 55, 25], [10, 45, 15, 67, 46, 16], [19, 148, 118, 6, 149, 119], [18, 75, 47, 31, 76, 48], [34, 54, 24, 34, 55, 25], [20, 45, 15, 61, 46, 16]]; 402 p.getRSBlocks = function(a, c) { 403 var d = p.getRsBlockTable(a, c); 404 if (void 0 == d) 405 throw Error("bad rs block @ typeNumber:" + a + "/errorCorrectLevel:" + c); 406 for (var b = d.length / 3, e = [], f = 0; f < b; f++) 407 for (var h = d[3 * f + 0], g = d[3 * f + 1], j = d[3 * f + 2], l = 0; l < h; l++) 408 e.push(new p(g,j)); 409 return e 410 } 411 ; 412 p.getRsBlockTable = function(a, c) { 413 switch (c) { 414 case 1: 415 return p.RS_BLOCK_TABLE[4 * (a - 1) + 0]; 416 case 0: 417 return p.RS_BLOCK_TABLE[4 * (a - 1) + 1]; 418 case 3: 419 return p.RS_BLOCK_TABLE[4 * (a - 1) + 2]; 420 case 2: 421 return p.RS_BLOCK_TABLE[4 * (a - 1) + 3] 422 } 423 } 424 ; 425 t.prototype = { 426 get: function(a) { 427 return 1 == (this.buffer[Math.floor(a / 8)] >>> 7 - a % 8 & 1) 428 }, 429 put: function(a, c) { 430 for (var d = 0; d < c; d++) 431 this.putBit(1 == (a >>> c - d - 1 & 1)) 432 }, 433 getLengthInBits: function() { 434 return this.length 435 }, 436 putBit: function(a) { 437 var c = Math.floor(this.length / 8); 438 this.buffer.length <= c && this.buffer.push(0); 439 a && (this.buffer[c] |= 128 >>> this.length % 8); 440 this.length++ 441 } 442 }; 443 "string" === typeof h && (h = { 444 text: h 445 }); 446 h = r.extend({}, { 447 render: "canvas", 448 width: 256, 449 height: 256, 450 typeNumber: -1, 451 correctLevel: 2, 452 background: "#ffffff", 453 foreground: "#000000" 454 }, h); 455 return this.each(function() { 456 var a; 457 if ("canvas" == h.render) { 458 a = new o(h.typeNumber,h.correctLevel); 459 a.addData(h.text); 460 a.make(); 461 var c = document.createElement("canvas"); 462 c.width = h.width; 463 c.height = h.height; 464 for (var d = c.getContext("2d"), b = h.width / a.getModuleCount(), e = h.height / a.getModuleCount(), f = 0; f < a.getModuleCount(); f++) 465 for (var i = 0; i < a.getModuleCount(); i++) { 466 d.fillStyle = a.isDark(f, i) ? h.foreground : h.background; 467 var g = Math.ceil((i + 1) * b) - Math.floor(i * b) 468 , j = Math.ceil((f + 1) * b) - Math.floor(f * b); 469 d.fillRect(Math.round(i * b), Math.round(f * e), g, j) 470 } 471 } else { 472 a = new o(h.typeNumber,h.correctLevel); 473 a.addData(h.text); 474 a.make(); 475 c = r("<table></table>").css("width", h.width + "px").css("height", h.height + "px").css("border", "0px").css("border-collapse", "collapse").css("background-color", h.background); 476 d = h.width / a.getModuleCount(); 477 b = h.height / a.getModuleCount(); 478 for (e = 0; e < a.getModuleCount(); e++) { 479 f = r("<tr></tr>").css("height", b + "px").appendTo(c); 480 for (i = 0; i < a.getModuleCount(); i++) 481 r("<td></td>").css("width", d + "px").css("background-color", a.isDark(e, i) ? h.foreground : h.background).appendTo(f) 482 } 483 } 484 a = c; 485 jQuery(a).appendTo(this) 486 }) 487 } 488} 489)(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.