@tplc/wot
Version:
1,660 lines (1,657 loc) • 60.8 kB
JavaScript
// ---------------------------------------------------------------------
// uQRCode二维码生成插件 v4.0.6
//
// uQRCode是一款基于Javascript环境开发的二维码生成插件,适用所有Javascript运行环境的前端应用和Node.js。
//
// Copyright (c) Sansnn uQRCode All rights reserved.
//
// Licensed under the Apache License, Version 2.0.
// http://www.apache.org/licenses/LICENSE-2.0
//
// github地址:
// https://github.com/Sansnn/uQRCode
//
// npm地址:
// https://www.npmjs.com/package/uqrcodejs
//
// uni-app插件市场地址:
// https://ext.dcloud.net.cn/plugin?id=1287
//
// 复制使用请保留本段注释,感谢支持开源!
//
// ---------------------------------------------------------------------
// ---------------------------------------------------------------------
// 当前文件格式为 es,将 bundle 保留为 ES 模块文件,适用于其他打包工具以及支持 <script type=module> 标签的浏览器(别名: esm,module)
// 如需在其他环境使用,请获取环境对应的格式文件
// 格式说明:
// amd - 异步模块定义,适用于 RequireJS 等模块加载器
// cjs - CommonJS,适用于 Node 环境和其他打包工具(别名:commonjs)
// es - 将 bundle 保留为 ES 模块文件,适用于其他打包工具以及支持 <script type=module> 标签的浏览器(别名: esm,module)
// umd - 通用模块定义,生成的包同时支持 amd、cjs 和 iife 三种格式
// ---------------------------------------------------------------------
function o(o) {
;(this.mode = r.MODE_8BIT_BYTE), (this.data = o)
}
function e(o, e) {
;(this.typeNumber = o),
(this.errorCorrectLevel = e),
(this.modules = null),
(this.moduleCount = 0),
(this.dataCache = null),
(this.dataList = [])
}
;(o.prototype = {
getLength: function (o) {
return this.data.length
},
write: function (o) {
for (let e = 0; e < this.data.length; e++) o.put(this.data.charCodeAt(e), 8)
},
}),
(e.prototype = {
addData: function (e) {
const r = new o(e)
this.dataList.push(r), (this.dataCache = null)
},
isDark: function (o, e) {
if (o < 0 || this.moduleCount <= o || e < 0 || this.moduleCount <= e)
throw new Error(o + ',' + e)
return this.modules[o][e]
},
getModuleCount: function () {
return this.moduleCount
},
make: function () {
if (this.typeNumber < 1) {
let o = 1
for (o = 1; o < 40; o++) {
for (
var e = v.getRSBlocks(o, this.errorCorrectLevel), r = new p(), t = 0, i = 0;
i < e.length;
i++
)
t += e[i].dataCount
for (i = 0; i < this.dataList.length; i++) {
const n = this.dataList[i]
r.put(n.mode, 4), r.put(n.getLength(), h.getLengthInBits(n.mode, o)), n.write(r)
}
if (r.getLengthInBits() <= 8 * t) break
}
this.typeNumber = o
}
this.makeImpl(!1, this.getBestMaskPattern())
},
makeImpl: function (o, r) {
;(this.moduleCount = 4 * this.typeNumber + 17), (this.modules = new Array(this.moduleCount))
for (let t = 0; t < this.moduleCount; t++) {
this.modules[t] = new Array(this.moduleCount)
for (let i = 0; i < this.moduleCount; i++) this.modules[t][i] = null
}
this.setupPositionProbePattern(0, 0),
this.setupPositionProbePattern(this.moduleCount - 7, 0),
this.setupPositionProbePattern(0, this.moduleCount - 7),
this.setupPositionAdjustPattern(),
this.setupTimingPattern(),
this.setupTypeInfo(o, r),
this.typeNumber >= 7 && this.setupTypeNumber(o),
this.dataCache == null &&
(this.dataCache = e.createData(this.typeNumber, this.errorCorrectLevel, this.dataList)),
this.mapData(this.dataCache, r)
},
setupPositionProbePattern: function (o, e) {
for (let r = -1; r <= 7; r++)
if (!(o + r <= -1 || this.moduleCount <= o + r))
for (let t = -1; t <= 7; t++)
e + t <= -1 ||
this.moduleCount <= e + t ||
(this.modules[o + r][e + t] =
(r >= 0 && r <= 6 && (t == 0 || t == 6)) ||
(t >= 0 && t <= 6 && (r == 0 || r == 6)) ||
(r >= 2 && r <= 4 && t >= 2 && t <= 4))
},
getBestMaskPattern: function () {
for (var o = 0, e = 0, r = 0; r < 8; r++) {
this.makeImpl(!0, r)
const t = h.getLostPoint(this)
;(r == 0 || o > t) && ((o = t), (e = r))
}
return e
},
createMovieClip: function (o, e, r) {
const t = o.createEmptyMovieClip(e, r)
this.make()
for (let i = 0; i < this.modules.length; i++)
for (let n = 1 * i, a = 0; a < this.modules[i].length; a++) {
const d = 1 * a
this.modules[i][a] &&
(t.beginFill(0, 100),
t.moveTo(d, n),
t.lineTo(d + 1, n),
t.lineTo(d + 1, n + 1),
t.lineTo(d, n + 1),
t.endFill())
}
return t
},
setupTimingPattern: function () {
for (let o = 8; o < this.moduleCount - 8; o++)
this.modules[o][6] == null && (this.modules[o][6] = o % 2 == 0)
for (let e = 8; e < this.moduleCount - 8; e++)
this.modules[6][e] == null && (this.modules[6][e] = e % 2 == 0)
},
setupPositionAdjustPattern: function () {
for (let o = h.getPatternPosition(this.typeNumber), e = 0; e < o.length; e++)
for (let r = 0; r < o.length; r++) {
const t = o[e]
const i = o[r]
if (this.modules[t][i] == null)
for (let n = -2; n <= 2; n++)
for (let a = -2; a <= 2; a++)
this.modules[t + n][i + a] =
n == -2 || n == 2 || a == -2 || a == 2 || (n == 0 && a == 0)
}
},
setupTypeNumber: function (o) {
for (var e = h.getBCHTypeNumber(this.typeNumber), r = 0; r < 18; r++) {
var t = !o && ((e >> r) & 1) == 1
this.modules[Math.floor(r / 3)][(r % 3) + this.moduleCount - 8 - 3] = t
}
for (r = 0; r < 18; r++) {
t = !o && ((e >> r) & 1) == 1
this.modules[(r % 3) + this.moduleCount - 8 - 3][Math.floor(r / 3)] = t
}
},
setupTypeInfo: function (o, e) {
for (var r = (this.errorCorrectLevel << 3) | e, t = h.getBCHTypeInfo(r), i = 0; i < 15; i++) {
var n = !o && ((t >> i) & 1) == 1
i < 6
? (this.modules[i][8] = n)
: i < 8
? (this.modules[i + 1][8] = n)
: (this.modules[this.moduleCount - 15 + i][8] = n)
}
for (i = 0; i < 15; i++) {
n = !o && ((t >> i) & 1) == 1
i < 8
? (this.modules[8][this.moduleCount - i - 1] = n)
: i < 9
? (this.modules[8][15 - i - 1 + 1] = n)
: (this.modules[8][15 - i - 1] = n)
}
this.modules[this.moduleCount - 8][8] = !o
},
mapData: function (o, e) {
for (
let r = -1, t = this.moduleCount - 1, i = 7, n = 0, a = this.moduleCount - 1;
a > 0;
a -= 2
)
for (a == 6 && a--; ; ) {
for (let d = 0; d < 2; d++)
if (this.modules[t][a - d] == null) {
let u = !1
n < o.length && (u = ((o[n] >>> i) & 1) == 1),
h.getMask(e, t, a - d) && (u = !u),
(this.modules[t][a - d] = u),
--i == -1 && (n++, (i = 7))
}
if ((t += r) < 0 || this.moduleCount <= t) {
;(t -= r), (r = -r)
break
}
}
},
}),
(e.PAD0 = 236),
(e.PAD1 = 17),
(e.createData = function (o, r, t) {
for (var i = v.getRSBlocks(o, r), n = new p(), a = 0; a < t.length; a++) {
const d = t[a]
n.put(d.mode, 4), n.put(d.getLength(), h.getLengthInBits(d.mode, o)), d.write(n)
}
let u = 0
for (a = 0; a < i.length; a++) u += i[a].dataCount
if (n.getLengthInBits() > 8 * u)
throw new Error('code length overflow. (' + n.getLengthInBits() + '>' + 8 * u + ')')
for (n.getLengthInBits() + 4 <= 8 * u && n.put(0, 4); n.getLengthInBits() % 8 != 0; )
n.putBit(!1)
for (; !(n.getLengthInBits() >= 8 * u || (n.put(e.PAD0, 8), n.getLengthInBits() >= 8 * u)); )
n.put(e.PAD1, 8)
return e.createBytes(n, i)
}),
(e.createBytes = function (o, e) {
for (
var r = 0, t = 0, i = 0, n = new Array(e.length), a = new Array(e.length), d = 0;
d < e.length;
d++
) {
const u = e[d].dataCount
const s = e[d].totalCount - u
;(t = Math.max(t, u)), (i = Math.max(i, s)), (n[d] = new Array(u))
for (var g = 0; g < n[d].length; g++) n[d][g] = 255 & o.buffer[g + r]
r += u
const l = h.getErrorCorrectPolynomial(s)
const c = new f(n[d], l.getLength() - 1).mod(l)
a[d] = new Array(l.getLength() - 1)
for (g = 0; g < a[d].length; g++) {
const m = g + c.getLength() - a[d].length
a[d][g] = m >= 0 ? c.get(m) : 0
}
}
let v = 0
for (g = 0; g < e.length; g++) v += e[g].totalCount
const p = new Array(v)
let C = 0
for (g = 0; g < t; g++) for (d = 0; d < e.length; d++) g < n[d].length && (p[C++] = n[d][g])
for (g = 0; g < i; g++) for (d = 0; d < e.length; d++) g < a[d].length && (p[C++] = a[d][g])
return p
})
for (
var r = { MODE_NUMBER: 1, MODE_ALPHA_NUM: 2, MODE_8BIT_BYTE: 4, MODE_KANJI: 8 },
t = { L: 1, M: 0, Q: 3, H: 2 },
i = 0,
n = 1,
a = 2,
d = 3,
u = 4,
s = 5,
g = 6,
l = 7,
h = {
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],
],
G15: 1335,
G18: 7973,
G15_MASK: 21522,
getBCHTypeInfo: function (o) {
for (var e = o << 10; h.getBCHDigit(e) - h.getBCHDigit(h.G15) >= 0; )
e ^= h.G15 << (h.getBCHDigit(e) - h.getBCHDigit(h.G15))
return ((o << 10) | e) ^ h.G15_MASK
},
getBCHTypeNumber: function (o) {
for (var e = o << 12; h.getBCHDigit(e) - h.getBCHDigit(h.G18) >= 0; )
e ^= h.G18 << (h.getBCHDigit(e) - h.getBCHDigit(h.G18))
return (o << 12) | e
},
getBCHDigit: function (o) {
for (var e = 0; o != 0; ) e++, (o >>>= 1)
return e
},
getPatternPosition: function (o) {
return h.PATTERN_POSITION_TABLE[o - 1]
},
getMask: function (o, e, r) {
switch (o) {
case i:
return (e + r) % 2 == 0
case n:
return e % 2 == 0
case a:
return r % 3 == 0
case d:
return (e + r) % 3 == 0
case u:
return (Math.floor(e / 2) + Math.floor(r / 3)) % 2 == 0
case s:
return ((e * r) % 2) + ((e * r) % 3) == 0
case g:
return (((e * r) % 2) + ((e * r) % 3)) % 2 == 0
case l:
return (((e * r) % 3) + ((e + r) % 2)) % 2 == 0
default:
throw new Error('bad maskPattern:' + o)
}
},
getErrorCorrectPolynomial: function (o) {
for (var e = new f([1], 0), r = 0; r < o; r++) e = e.multiply(new f([1, c.gexp(r)], 0))
return e
},
getLengthInBits: function (o, e) {
if (e >= 1 && e < 10)
switch (o) {
case r.MODE_NUMBER:
return 10
case r.MODE_ALPHA_NUM:
return 9
case r.MODE_8BIT_BYTE:
case r.MODE_KANJI:
return 8
default:
throw new Error('mode:' + o)
}
else if (e < 27)
switch (o) {
case r.MODE_NUMBER:
return 12
case r.MODE_ALPHA_NUM:
return 11
case r.MODE_8BIT_BYTE:
return 16
case r.MODE_KANJI:
return 10
default:
throw new Error('mode:' + o)
}
else {
if (!(e < 41)) throw new Error('type:' + e)
switch (o) {
case r.MODE_NUMBER:
return 14
case r.MODE_ALPHA_NUM:
return 13
case r.MODE_8BIT_BYTE:
return 16
case r.MODE_KANJI:
return 12
default:
throw new Error('mode:' + o)
}
}
},
getLostPoint: function (o) {
for (var e = o.getModuleCount(), r = 0, t = 0; t < e; t++)
for (var i = 0; i < e; i++) {
for (var n = 0, a = o.isDark(t, i), d = -1; d <= 1; d++)
if (!(t + d < 0 || e <= t + d))
for (let u = -1; u <= 1; u++)
i + u < 0 ||
e <= i + u ||
(d == 0 && u == 0) ||
(a == o.isDark(t + d, i + u) && n++)
n > 5 && (r += 3 + n - 5)
}
for (t = 0; t < e - 1; t++)
for (i = 0; i < e - 1; i++) {
let s = 0
o.isDark(t, i) && s++,
o.isDark(t + 1, i) && s++,
o.isDark(t, i + 1) && s++,
o.isDark(t + 1, i + 1) && s++,
(s != 0 && s != 4) || (r += 3)
}
for (t = 0; t < e; t++)
for (i = 0; i < e - 6; i++)
o.isDark(t, i) &&
!o.isDark(t, i + 1) &&
o.isDark(t, i + 2) &&
o.isDark(t, i + 3) &&
o.isDark(t, i + 4) &&
!o.isDark(t, i + 5) &&
o.isDark(t, i + 6) &&
(r += 40)
for (i = 0; i < e; i++)
for (t = 0; t < e - 6; t++)
o.isDark(t, i) &&
!o.isDark(t + 1, i) &&
o.isDark(t + 2, i) &&
o.isDark(t + 3, i) &&
o.isDark(t + 4, i) &&
!o.isDark(t + 5, i) &&
o.isDark(t + 6, i) &&
(r += 40)
let g = 0
for (i = 0; i < e; i++) for (t = 0; t < e; t++) o.isDark(t, i) && g++
return (r += 10 * (Math.abs((100 * g) / e / e - 50) / 5))
},
},
c = {
glog: function (o) {
if (o < 1) throw new Error('glog(' + o + ')')
return c.LOG_TABLE[o]
},
gexp: function (o) {
for (; o < 0; ) o += 255
for (; o >= 256; ) o -= 255
return c.EXP_TABLE[o]
},
EXP_TABLE: new Array(256),
LOG_TABLE: new Array(256),
},
m = 0;
m < 8;
m++
)
c.EXP_TABLE[m] = 1 << m
for (m = 8; m < 256; m++)
c.EXP_TABLE[m] = c.EXP_TABLE[m - 4] ^ c.EXP_TABLE[m - 5] ^ c.EXP_TABLE[m - 6] ^ c.EXP_TABLE[m - 8]
for (m = 0; m < 255; m++) c.LOG_TABLE[c.EXP_TABLE[m]] = m
function f(o, e) {
if (o.length == null) throw new Error(o.length + '/' + e)
for (var r = 0; r < o.length && o[r] == 0; ) r++
this.num = new Array(o.length - r + e)
for (let t = 0; t < o.length - r; t++) this.num[t] = o[t + r]
}
function v(o, e) {
;(this.totalCount = o), (this.dataCount = e)
}
function p() {
;(this.buffer = []), (this.length = 0)
}
function C(o) {
return (
(o.setFillStyle =
o.setFillStyle ||
function (e) {
o.fillStyle = e
}),
(o.setFontSize =
o.setFontSize ||
function (e) {
o.font = `${e}px`
}),
(o.setTextAlign =
o.setTextAlign ||
function (e) {
o.textAlign = e
}),
(o.setTextBaseline =
o.setTextBaseline ||
function (e) {
o.textBaseline = e
}),
(o.setGlobalAlpha =
o.setGlobalAlpha ||
function (e) {
o.globalAlpha = e
}),
(o.setStrokeStyle =
o.setStrokeStyle ||
function (e) {
o.strokeStyle = e
}),
(o.setShadow =
o.setShadow ||
function (e, r, t, i) {
;(o.shadowOffsetX = e), (o.shadowOffsetY = r), (o.shadowBlur = t), (o.shadowColor = i)
}),
(o.draw =
o.draw ||
function (o, e) {
e && e()
}),
(o.clearRect =
o.clearRect ||
function (e, r, t, i) {
o.draw(!1)
}),
o
)
}
function b(o, e) {
let r = (this.data = '')
let t = (this.size = 200)
;(this.useDynamicSize = !1), (this.dynamicSize = t)
let i = (this.typeNumber = -1)
this.errorCorrectLevel = b.errorCorrectLevel.H
let n = (this.margin = 0)
;(this.areaColor = '#FFFFFF'),
(this.backgroundColor = 'rgba(255,255,255,0)'),
(this.backgroundImageSrc = void 0)
let a = (this.backgroundImageWidth = void 0)
let d = (this.backgroundImageHeight = void 0)
let u = (this.backgroundImageX = void 0)
let s = (this.backgroundImageY = void 0)
;(this.backgroundImageAlpha = 1), (this.backgroundImageBorderRadius = 0)
let g = (this.backgroundPadding = 0)
;(this.foregroundColor = '#000000'), (this.foregroundImageSrc = void 0)
let l = (this.foregroundImageWidth = void 0)
let h = (this.foregroundImageHeight = void 0)
let c = (this.foregroundImageX = void 0)
let m = (this.foregroundImageY = void 0)
let f = (this.foregroundImagePadding = 0)
this.foregroundImageBackgroundColor = '#FFFFFF'
let v = (this.foregroundImageBorderRadius = 0)
let p = (this.foregroundImageShadowOffsetX = 0)
let k = (this.foregroundImageShadowOffsetY = 0)
let y = (this.foregroundImageShadowBlur = 0)
this.foregroundImageShadowColor = '#808080'
let w = (this.foregroundPadding = 0)
let I = (this.positionProbeBackgroundColor = void 0)
let B = (this.positionProbeForegroundColor = void 0)
let S = (this.separatorColor = void 0)
let P = (this.positionAdjustBackgroundColor = void 0)
let L = (this.positionAdjustForegroundColor = void 0)
let D = (this.timingBackgroundColor = void 0)
let A = (this.timingForegroundColor = void 0)
let E = (this.typeNumberBackgroundColor = void 0)
let T = (this.typeNumberForegroundColor = void 0)
let N = (this.darkBlockColor = void 0)
;(this.base = void 0), (this.modules = []), (this.moduleCount = 0), (this.drawModules = [])
let M = (this.canvasContext = void 0)
this.loadImage,
(this.drawReserve = !1),
(this.isMaked = !1),
Object.defineProperties(this, {
data: {
get() {
if (r === '' || void 0 === r)
throw (console.error('[uQRCode]: data must be set!'), new b.Error('data must be set!'))
return r
},
set(o) {
r = String(o)
},
},
size: {
get: () => t,
set(o) {
t = Number(o)
},
},
typeNumber: {
get: () => i,
set(o) {
i = Number(o)
},
},
margin: {
get: () => n,
set(o) {
n = Number(o)
},
},
backgroundImageWidth: {
get() {
return void 0 === a
? this.dynamicSize
: this.useDynamicSize
? (this.dynamicSize / this.size) * a
: a
},
set(o) {
a = Number(o)
},
},
backgroundImageHeight: {
get() {
return void 0 === d
? this.dynamicSize
: this.useDynamicSize
? (this.dynamicSize / this.size) * d
: d
},
set(o) {
d = Number(o)
},
},
backgroundImageX: {
get() {
return void 0 === u ? 0 : this.useDynamicSize ? (this.dynamicSize / this.size) * u : u
},
set(o) {
u = Number(o)
},
},
backgroundImageY: {
get() {
return void 0 === s ? 0 : this.useDynamicSize ? (this.dynamicSize / this.size) * s : s
},
set(o) {
s = Number(o)
},
},
backgroundPadding: {
get: () => g,
set(o) {
g = o > 1 ? 1 : o < 0 ? 0 : o
},
},
foregroundImageWidth: {
get() {
return void 0 === l
? (this.dynamicSize - 2 * this.margin) / 4
: this.useDynamicSize
? (this.dynamicSize / this.size) * l
: l
},
set(o) {
l = Number(o)
},
},
foregroundImageHeight: {
get() {
return void 0 === h
? (this.dynamicSize - 2 * this.margin) / 4
: this.useDynamicSize
? (this.dynamicSize / this.size) * h
: h
},
set(o) {
h = Number(o)
},
},
foregroundImageX: {
get() {
return void 0 === c
? this.dynamicSize / 2 - this.foregroundImageWidth / 2
: this.useDynamicSize
? (this.dynamicSize / this.size) * c
: c
},
set(o) {
c = Number(o)
},
},
foregroundImageY: {
get() {
return void 0 === m
? this.dynamicSize / 2 - this.foregroundImageHeight / 2
: this.useDynamicSize
? (this.dynamicSize / this.size) * m
: m
},
set(o) {
m = Number(o)
},
},
foregroundImagePadding: {
get() {
return this.useDynamicSize ? (this.dynamicSize / this.size) * f : f
},
set(o) {
f = Number(o)
},
},
foregroundImageBorderRadius: {
get() {
return this.useDynamicSize ? (this.dynamicSize / this.size) * v : v
},
set(o) {
v = Number(o)
},
},
foregroundImageShadowOffsetX: {
get() {
return this.useDynamicSize ? (this.dynamicSize / this.size) * p : p
},
set(o) {
p = Number(o)
},
},
foregroundImageShadowOffsetY: {
get() {
return this.useDynamicSize ? (this.dynamicSize / this.size) * k : k
},
set(o) {
k = Number(o)
},
},
foregroundImageShadowBlur: {
get() {
return this.useDynamicSize ? (this.dynamicSize / this.size) * y : y
},
set(o) {
y = Number(o)
},
},
foregroundPadding: {
get: () => w,
set(o) {
w = o > 1 ? 1 : o < 0 ? 0 : o
},
},
positionProbeBackgroundColor: {
get() {
return I || this.backgroundColor
},
set(o) {
I = o
},
},
positionProbeForegroundColor: {
get() {
return B || this.foregroundColor
},
set(o) {
B = o
},
},
separatorColor: {
get() {
return S || this.backgroundColor
},
set(o) {
S = o
},
},
positionAdjustBackgroundColor: {
get() {
return P || this.backgroundColor
},
set(o) {
P = o
},
},
positionAdjustForegroundColor: {
get() {
return L || this.foregroundColor
},
set(o) {
L = o
},
},
timingBackgroundColor: {
get() {
return D || this.backgroundColor
},
set(o) {
D = o
},
},
timingForegroundColor: {
get() {
return A || this.foregroundColor
},
set(o) {
A = o
},
},
typeNumberBackgroundColor: {
get() {
return E || this.backgroundColor
},
set(o) {
E = o
},
},
typeNumberForegroundColor: {
get() {
return T || this.foregroundColor
},
set(o) {
T = o
},
},
darkBlockColor: {
get() {
return N || this.foregroundColor
},
set(o) {
N = o
},
},
canvasContext: {
get() {
if (void 0 === M)
throw (
(console.error('[uQRCode]: use drawCanvas, you need to set the canvasContext!'),
new b.Error('use drawCanvas, you need to set the canvasContext!'))
)
return M
},
set(o) {
M = C(o)
},
},
}),
b.plugins.forEach((o) => o(b, this, !1)),
o && this.setOptions(o),
e && (this.canvasContext = C(e))
}
;(f.prototype = {
get: function (o) {
return this.num[o]
},
getLength: function () {
return this.num.length
},
multiply: function (o) {
for (var e = new Array(this.getLength() + o.getLength() - 1), r = 0; r < this.getLength(); r++)
for (let t = 0; t < o.getLength(); t++)
e[r + t] ^= c.gexp(c.glog(this.get(r)) + c.glog(o.get(t)))
return new f(e, 0)
},
mod: function (o) {
if (this.getLength() - o.getLength() < 0) return this
for (
var e = c.glog(this.get(0)) - c.glog(o.get(0)), r = new Array(this.getLength()), t = 0;
t < this.getLength();
t++
)
r[t] = this.get(t)
for (t = 0; t < o.getLength(); t++) r[t] ^= c.gexp(c.glog(o.get(t)) + e)
return new f(r, 0).mod(o)
},
}),
(v.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],
]),
(v.getRSBlocks = function (o, e) {
const r = v.getRsBlockTable(o, e)
if (r == null) throw new Error('bad rs block @ typeNumber:' + o + '/errorCorrectLevel:' + e)
for (var t = r.length / 3, i = [], n = 0; n < t; n++)
for (let a = r[3 * n + 0], d = r[3 * n + 1], u = r[3 * n + 2], s = 0; s < a; s++)
i.push(new v(d, u))
return i
}),
(v.getRsBlockTable = function (o, e) {
switch (e) {
case t.L:
return v.RS_BLOCK_TABLE[4 * (o - 1) + 0]
case t.M:
return v.RS_BLOCK_TABLE[4 * (o - 1) + 1]
case t.Q:
return v.RS_BLOCK_TABLE[4 * (o - 1) + 2]
case t.H:
return v.RS_BLOCK_TABLE[4 * (o - 1) + 3]
default:
}
}),
(p.prototype = {
get: function (o) {
const e = Math.floor(o / 8)
return ((this.buffer[e] >>> (7 - (o % 8))) & 1) == 1
},
put: function (o, e) {
for (let r = 0; r < e; r++) this.putBit(((o >>> (e - r - 1)) & 1) == 1)
},
getLengthInBits: function () {
return this.length
},
putBit: function (o) {
const e = Math.floor(this.length / 8)
this.buffer.length <= e && this.buffer.push(0),
o && (this.buffer[e] |= 128 >>> this.length % 8),
this.length++
},
}),
(e.errorCorrectLevel = t),
(b.errorCorrectLevel = e.errorCorrectLevel),
(b.Error = function (o) {
this.errMsg = '[uQRCode]: ' + o
}),
(b.plugins = []),
(b.use = function (o) {
typeof o === 'function' && b.plugins.push(o)
}),
(b.prototype.loadImage = function (o) {
return Promise.resolve(o)
}),
(b.prototype.setOptions = function (o) {
let e,
r,
t,
i,
n,
a,
d,
u,
s,
g,
l,
h,
c,
m,
f,
v,
p,
C,
b,
k,
y,
w,
I,
B,
S,
P,
L,
D,
A,
E,
T,
N,
M,
z,
R,
_,
O,
F,
x,
H,
X,
Y,
j,
W,
G,
K,
Q,
U,
$,
J,
q,
V,
Z,
oo,
eo,
ro
o &&
(Object.keys(o).forEach((e) => {
this[e] = o[e]
}),
(function (o = {}, e = {}, r = !1) {
let t
t = r ? o : { ...o }
for (const o in e) {
const i = e[o]
i != null &&
(i.constructor == Object
? (t[o] = this.deepReplace(t[o], i))
: i.constructor != String || i
? (t[o] = i)
: (t[o] = t[o]))
}
})(
this,
{
data: o.data || o.text,
size: o.size,
useDynamicSize: o.useDynamicSize,
typeNumber: o.typeNumber,
errorCorrectLevel: o.errorCorrectLevel,
margin: o.margin,
areaColor: o.areaColor,
backgroundColor:
o.backgroundColor || ((e = o.background) === null || void 0 === e ? void 0 : e.color),
backgroundImageSrc:
o.backgroundImageSrc ||
((r = o.background) === null || void 0 === r || (t = r.image) === null || void 0 === t
? void 0
: t.src),
backgroundImageWidth:
o.backgroundImageWidth ||
((i = o.background) === null || void 0 === i || (n = i.image) === null || void 0 === n
? void 0
: n.width),
backgroundImageHeight:
o.backgroundImageHeight ||
((a = o.background) === null || void 0 === a || (d = a.image) === null || void 0 === d
? void 0
: d.height),
backgroundImageX:
o.backgroundImageX ||
((u = o.background) === null || void 0 === u || (s = u.image) === null || void 0 === s
? void 0
: s.x),
backgroundImageY:
o.backgroundImageY ||
((g = o.background) === null || void 0 === g || (l = g.image) === null || void 0 === l
? void 0
: l.y),
backgroundImageAlpha:
o.backgroundImageAlpha ||
((h = o.background) === null || void 0 === h || (c = h.image) === null || void 0 === c
? void 0
: c.alpha),
backgroundImageBorderRadius:
o.backgroundImageBorderRadius ||
((m = o.background) === null || void 0 === m || (f = m.image) === null || void 0 === f
? void 0
: f.borderRadius),
backgroundPadding: o.backgroundPadding,
foregroundColor:
o.foregroundColor || ((v = o.foreground) === null || void 0 === v ? void 0 : v.color),
foregroundImageSrc:
o.foregroundImageSrc ||
((p = o.foreground) === null || void 0 === p || (C = p.image) === null || void 0 === C
? void 0
: C.src),
foregroundImageWidth:
o.foregroundImageWidth ||
((b = o.foreground) === null || void 0 === b || (k = b.image) === null || void 0 === k
? void 0
: k.width),
foregroundImageHeight:
o.foregroundImageHeight ||
((y = o.foreground) === null || void 0 === y || (w = y.image) === null || void 0 === w
? void 0
: w.height),
foregroundImageX:
o.foregroundImageX ||
((I = o.foreground) === null || void 0 === I || (B = I.image) === null || void 0 === B
? void 0
: B.x),
foregroundImageY:
o.foregroundImageY ||
((S = o.foreground) === null || void 0 === S || (P = S.image) === null || void 0 === P
? void 0
: P.y),
foregroundImagePadding:
o.foregroundImagePadding ||
((L = o.foreground) === null || void 0 === L || (D = L.image) === null || void 0 === D
? void 0
: D.padding),
foregroundImageBackgroundColor:
o.foregroundImageBackgroundColor ||
((A = o.foreground) === null || void 0 === A || (E = A.image) === null || void 0 === E
? void 0
: E.backgroundColor),
foregroundImageBorderRadius:
o.foregroundImageBorderRadius ||
((T = o.foreground) === null || void 0 === T || (N = T.image) === null || void 0 === N
? void 0
: N.borderRadius),
foregroundImageShadowOffsetX:
o.foregroundImageShadowOffsetX ||
((M = o.foreground) === null || void 0 === M || (z = M.image) === null || void 0 === z
? void 0
: z.shadowOffsetX),
foregroundImageShadowOffsetY:
o.foregroundImageShadowOffsetY ||
((R = o.foreground) === null || void 0 === R || (_ = R.image) === null || void 0 === _
? void 0
: _.shadowOffsetY),
foregroundImageShadowBlur:
o.foregroundImageShadowBlur ||
((O = o.foreground) === null || void 0 === O || (F = O.image) === null || void 0 === F
? void 0
: F.shadowBlur),
foregroundImageShadowColor:
o.foregroundImageShadowColor ||
((x = o.foreground) === null || void 0 === x || (H = x.image) === null || void 0 === H
? void 0
: H.shadowColor),
foregroundPadding: o.foregroundPadding,
positionProbeBackgroundColor:
o.positionProbeBackgroundColor ||
((X = o.positionProbe) === null || void 0 === X ? void 0 : X.backgroundColor) ||
((Y = o.positionDetection) === null || void 0 === Y ? void 0 : Y.backgroundColor),
positionProbeForegroundColor:
o.positionProbeForegroundColor ||
((j = o.positionProbe) === null || void 0 === j ? void 0 : j.foregroundColor) ||
((W = o.positionDetection) === null || void 0 === W ? void 0 : W.foregroundColor),
separatorColor:
o.separatorColor || ((G = o.separator) === null || void 0 === G ? void 0 : G.color),
positionAdjustBackgroundColor:
o.positionAdjustBackgroundColor ||
((K = o.positionAdjust) === null || void 0 === K ? void 0 : K.backgroundColor) ||
((Q = o.alignment) === null || void 0 === Q ? void 0 : Q.backgroundColor),
positionAdjustForegroundColor:
o.positionAdjustForegroundColor ||
((U = o.positionAdjust) === null || void 0 === U ? void 0 : U.foregroundColor) ||
(($ = o.alignment) === null || void 0 === $ ? void 0 : $.foregroundColor),
timingBackgroundColor:
o.timingBackgroundColor ||
((J = o.timing) === null || void 0 === J ? void 0 : J.backgroundColor),
timingForegroundColor:
o.timingForegroundColor ||
((q = o.timing) === null || void 0 === q ? void 0 : q.foregroundColor),
typeNumberBackgroundColor:
o.typeNumberBackgroundColor ||
((V = o.typeNumber) === null || void 0 === V ? void 0 : V.backgroundColor) ||
((Z = o.versionInformation) === null || void 0 === Z ? void 0 : Z.backgroundColor),
typeNumberForegroundColor:
o.typeNumberForegroundColor ||
((oo = o.typeNumber) === null || void 0 === oo ? void 0 : oo.foregroundColor) ||
((eo = o.versionInformation) === null || void 0 === eo ? void 0 : eo.foregroundColor),
darkBlockColor:
o.darkBlockColor || ((ro = o.darkBlock) === null || void 0 === ro ? void 0 : ro.color),
},
!0,
))
}),
(b.prototype.make = function () {
const {
foregroundColor: o,
backgroundColor: r,
typeNumber: t,
errorCorrectLevel: i,
data: n,
size: a,
margin: d,
useDynamicSize: u,
} = this
if (o === r)
throw (
(console.error('[uQRCode]: foregroundColor and backgroundColor cannot be the same!'),
new b.Error('foregroundColor and backgroundColor cannot be the same!'))
)
const s = new e(t, i)
s.addData(
(function (o) {
o = o.toString()
for (var e, r = '', t = 0; t < o.length; t++)
(e = o.charCodeAt(t)) >= 1 && e <= 127
? (r += o.charAt(t))
: e > 2047
? ((r += String.fromCharCode(224 | ((e >> 12) & 15))),
(r += String.fromCharCode(128 | ((e >> 6) & 63))),
(r += String.fromCharCode(128 | ((e >> 0) & 63))))
: ((r += String.fromCharCode(192 | ((e >> 6) & 31))),
(r += String.fromCharCode(128 | ((e >> 0) & 63))))
return r
})(n),
),
s.make(),
(this.base = s),
(this.typeNumber = s.typeNumber),
(this.modules = s.modules),
(this.moduleCount = s.moduleCount),
(this.dynamicSize = u ? Math.ceil((a - 2 * d) / s.moduleCount) * s.moduleCount + 2 * d : a),
(function (o) {
const {
dynamicSize: e,
margin: r,
backgroundColor: t,
backgroundPadding: i,
foregroundColor: n,
foregroundPadding: a,
modules: d,
moduleCount: u,
} = o
const s = (e - 2 * r) / u
let g = s
let l = 0
i > 0 && ((l = (g * i) / 2), (g -= 2 * l))
let h = s
let c = 0
a > 0 && ((c = (h * a) / 2), (h -= 2 * c))
for (let m = 0; m < u; m++)
for (let f = 0; f < u; f++) {
const v = f * s + r
const p = m * s + r
if (d[m][f]) {
var C = c
var b = v + c
var k = p + c
var y = h
var w = h
d[m][f] = {
type: ['foreground'],
color: n,
isBlack: !0,
isDrawn: !1,
destX: v,
destY: p,
destWidth: s,
destHeight: s,
x: b,
y: k,
width: y,
height: w,
paddingTop: C,
paddingRight: C,
paddingBottom: C,
paddingLeft: C,
}
} else
(C = l),
(b = v + l),
(k = p + l),
(y = g),
(w = g),
(d[m][f] = {
type: ['background'],
color: t,
isBlack: !1,
isDrawn: !1,
destX: v,
destY: p,
destWidth: s,
destHeight: s,
x: b,
y: k,
width: y,
height: w,
paddingTop: C,
paddingRight: C,
paddingBottom: C,
paddingLeft: C,
})
}
})(this),
(function (o) {
const {
modules: e,
moduleCount: r,
positionProbeBackgroundColor: t,
positionProbeForegroundColor: i,
} = o
const n = r - 7
;[
[0, 0, 1],
[1, 0, 1],
[2, 0, 1],
[3, 0, 1],
[4, 0, 1],
[5, 0, 1],
[6, 0, 1],
[0, 1, 1],
[1, 1, 0],
[2, 1, 0],
[3, 1, 0],
[4, 1, 0],
[5, 1, 0],
[6, 1, 1],
[0, 2, 1],
[1, 2, 0],
[2, 2, 1],
[3, 2, 1],
[4, 2, 1],
[5, 2, 0],
[6, 2, 1],
[0, 3, 1],
[1, 3, 0],
[2, 3, 1],
[3, 3, 1],
[4, 3, 1],
[5, 3, 0],
[6, 3, 1],
[0, 4, 1],
[1, 4, 0],
[2, 4, 1],
[3, 4, 1],
[4, 4, 1],
[5, 4, 0],
[6, 4, 1],
[0, 5, 1],
[1, 5, 0],
[2, 5, 0],
[3, 5, 0],
[4, 5, 0],
[5, 5, 0],
[6, 5, 1],
[0, 6, 1],
[1, 6, 1],
[2, 6, 1],
[3, 6, 1],
[4, 6, 1],
[5, 6, 1],
[6, 6, 1],
].forEach((o) => {
const r = e[o[0]][o[1]]
const a = e[o[0] + n][o[1]]
const d = e[o[0]][o[1] + n]
d.type.push('positionProbe'),
a.type.push('positionProbe'),
r.type.push('positionProbe'),
(r.color = o[2] == 1 ? i : t),
(a.color = o[2] == 1 ? i : t),
(d.color = o[2] == 1 ? i : t)
})
})(this),
(function (o) {
const { modules: e, moduleCount: r, separatorColor: t } = o
;[
[7, 0],
[7, 1],
[7, 2],
[7, 3],
[7, 4],
[7, 5],
[7, 6],
[7, 7],
[0, 7],
[1, 7],
[2, 7],
[3, 7],
[4, 7],
[5, 7],
[6, 7],
].forEach((o) => {
const i = e[o[0]][o[1]]
const n = e[r - o[0] - 1][o[1]]
const a = e[o[0]][r - o[1] - 1]
a.type.push('separator'),
n.type.push('separator'),
i.type.push('separator'),
(i.color = t),
(n.color = t),
(a.color = t)
})
})(this),
(function (o) {
const {
typeNumber: e,
modules: r,
moduleCount: t,
foregroundColor: i,
backgroundColor: n,
positionAdjustForegroundColor: a,
positionAdjustBackgroundColor: d,
timingForegroundColor: u,
timingBackgroundColor: s,
} = o
const g = [
[],
[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],
][e - 1]
if (g) {
const o = [
[-2, -2, 1],
[-1, -2, 1],
[0, -2, 1],
[1, -2, 1],
[2, -2, 1],
[-2, -1, 1],
[-1, -1, 0],
[0, -1, 0],
[1, -1, 0],
[2, -1, 1],
[-2, 0, 1],
[-1, 0, 0],
[0, 0, 1],
[1, 0, 0],
[2, 0, 1],
[-2, 1, 1],
[-1, 1, 0],
[0, 1, 0],
[1, 1, 0],
[2, 1, 1],
[-2, 2, 1],
[-1, 2, 1],
[0, 2, 1],
[1, 2, 1],
[2, 2, 1],
]
const e = g.length
for (let l = 0; l < e; l++)
for (let h = 0; h < e; h++) {
const { x: e, y: c } = { x: g[l], y: g[h] }
;(e < 9 && c < 9) ||
(e > t - 9 - 1 && c < 9) ||
(c > t - 9 - 1 && e < 9) ||
o.forEach((o) => {
const t = r[e + o[0]][c + o[1]]
t.type.push('positionAdjust'),
t.type.includes('timing')
? o[2] == 1
? (t.color = a == i ? u : a)
: (t.color = a == i && d == n ? s : d)
: (t.color = o[2] == 1 ? a : d)
})
}
}
})(this),
(function (o) {
const { modules: e, moduleCount: r, timingForegroundColor: t, timingBackgroundColor: i } = o
const n = r - 16
for (let o = 0; o < n; o++) {
const a = e[6][8 + o]
const d = e[8 + o][6]
a.type.push('timing'),
d.type.push('timing'),
(a.color = (1 & o) ^ 1 ? t : i),
(d.color = (1 & o) ^ 1 ? t : i)
}
})(this),
(function (o) {
const { modules: e, moduleCount: r, darkBlockColor: t } = o
const i = e[r - 7 - 1][8]
i.type.push('darkBlock'), (i.color = t)
})(this),
(function (o) {
const {
typeNumber: e,
modules: r,
moduleCount: t,
typeNumberBackgroundColor: i,
typeNumberForegroundColor: n,
} = o
if (e < 7) return r
const a = [
0,
0,
0,
0,
0,
0,
0,
'000111110010010100',
'001000010110111100',
'001001101010011001',
'001010010011010011',
'001011101111110110',
'001100011101100010',
'001101100001000111',
'001110011000001101',
'001111100100101000',
'010000101101111000',
'010001010001011101',
'010010101000010111',
'010011010100110010',
'010100100110100110',
'010101011010000011',
'010110100011001001',
'010111011111101100',
'011000111011000100',
'011001000111100001',
'011010111110101011',
'011011000010001110',
'011100110000011010',