var r = new Array(), t = new Array(); (r.A = 1), (r.B = 2), (r.C = 3), (r.D = 4), (r.E = 5), (r.F = 6), (r.G = 7), (r.H = 8), (r.J = 1), (r.K = 2), (r.L = 3), (r.M = 4), (r.N = 5), (r.P = 7), (r.R = 9), (r.S = 2), (r.T = 3), (r.U = 4), (r.V = 5), (r.W = 6), (r.X = 7), (r.Y = 8), (r.Z = 9), (r[1] = 1), (r[2] = 2), (r[3] = 3), (r[4] = 4), (r[5] = 5), (r[6] = 6), (r[7] = 7), (r[8] = 8), (r[9] = 9), (r[0] = 0), (t[1] = 8), (t[2] = 7), (t[3] = 6), (t[4] = 5), (t[5] = 4), (t[6] = 3), (t[7] = 2), (t[8] = 10), (t[9] = 0), (t[10] = 9), (t[11] = 8), (t[12] = 7), (t[13] = 6), (t[14] = 5), (t[15] = 4), (t[16] = 3), (t[17] = 2), (exports.validateVIN = function (a) { var e = !1, s = !1; if (isNaN(a) && 17 == a.length) { var n = 0, i = 0, u = r, f = t; try { for (var v = 0; v < a.length; v++) { if ( -1 == "ABCDEFGHJKLMNPRSTUVWXYZ1234567890".indexOf(a.substr(v, 1)) ) { s = !1; break; } (s = !0), (n += parseInt(u[a.substr(v, 1)]) * parseInt(f[v + 1])); } s ? (10 == (i = n % 11) ? "X" : i.toString()) == a.substr(8, 1) && (e = !0) : (e = !1); } catch (r) { e = !1; } } return e; });