UNPKG

@kwai-video-team/kwai-player-web

Version:

<!-- START doctoc generated TOC please keep comment here to allow auto update --> <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --> **Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*

1,256 lines 1.46 MB
var r_ = Object.defineProperty; var zc = Object.getOwnPropertySymbols; var n_ = Object.prototype.hasOwnProperty, a_ = Object.prototype.propertyIsEnumerable; var Wc = (r, i, a) => i in r ? r_(r, i, { enumerable: !0, configurable: !0, writable: !0, value: a }) : r[i] = a, Kc = (r, i) => { for (var a in i || (i = {})) n_.call(i, a) && Wc(r, a, i[a]); if (zc) for (var a of zc(i)) a_.call(i, a) && Wc(r, a, i[a]); return r; }; var Qs = (r, i, a) => new Promise((l, c) => { var v = (C) => { try { T(a.next(C)); } catch (M) { c(M); } }, b = (C) => { try { T(a.throw(C)); } catch (M) { c(M); } }, T = (C) => C.done ? l(C.value) : Promise.resolve(C.value).then(v, b); T((a = a.apply(r, i)).next()); }); Number.isFinite || (Number.isFinite = (r) => typeof r == "number" && isFinite(r)); Array.prototype.find || (Array.prototype.find = function(r, i) { if (this === null || this === void 0) throw new TypeError("Array.prototype.find called on null or undefined"); if (typeof r != "function") throw new TypeError("callback must be a function"); const a = Object(this), l = a.length >>> 0; for (let c = 0; c < l; c++) if (r.call(i, a[c], c, a)) return a[c]; }); Array.prototype.findIndex || (Array.prototype.findIndex = function(r, i) { if (this === null || this === void 0) throw new TypeError("Array.prototype.findIndex called on null or undefined"); if (typeof r != "function") throw new TypeError("callback must be a function"); const a = Object(this), l = a.length >>> 0; for (let c = 0; c < l; c++) if (c in a && r.call(i, a[c], c, a)) return c; return -1; }); Array.prototype.fill || (Array.prototype.fill = function(r, i = 0, a = this.length) { if (this === null || this === void 0) throw new TypeError("Array.prototype.fill called on null or undefined"); const l = Object(this), c = l.length >>> 0, v = i >> 0, b = a >> 0, T = v < 0 ? Math.max(c + v, 0) : Math.min(v, c), C = b < 0 ? Math.max(c + b, 0) : Math.min(b, c); for (let M = T; M < C; M++) l[M] = r; return l; }); var s_ = Object.defineProperty, o_ = (r, i, a) => i in r ? s_(r, i, { enumerable: !0, configurable: !0, writable: !0, value: a }) : r[i] = a, Bl = (r, i, a) => (o_(r, typeof i != "symbol" ? i + "" : i, a), a), Mn = function(r) { var i = {}; function a(l) { if (i[l]) return i[l].exports; var c = i[l] = { i: l, l: !1, exports: {} }; return r[l].call(c.exports, c, c.exports, a), c.l = !0, c.exports; } return a.m = r, a.c = i, a.d = function(l, c, v) { a.o(l, c) || Object.defineProperty(l, c, { enumerable: !0, get: v }); }, a.r = function(l) { typeof Symbol < "u" && Symbol.toStringTag && Object.defineProperty(l, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(l, "__esModule", { value: !0 }); }, a.t = function(l, c) { if (1 & c && (l = a(l)), 8 & c || 4 & c && typeof l == "object" && l && l.__esModule) return l; var v = /* @__PURE__ */ Object.create(null); if (a.r(v), Object.defineProperty(v, "default", { enumerable: !0, value: l }), 2 & c && typeof l != "string") for (var b in l) a.d(v, b, function(T) { return l[T]; }.bind(null, b)); return v; }, a.n = function(l) { var c = l && l.__esModule ? function() { return l.default; } : function() { return l; }; return a.d(c, "a", c), c; }, a.o = function(l, c) { return Object.prototype.hasOwnProperty.call(l, c); }, a.p = "", a(a.s = 8); }([function(r, i, a) { var l = a(5); function c(v, b) { for (var T = 0; T < b.length; T++) { var C = b[T]; C.enumerable = C.enumerable || !1, C.configurable = !0, "value" in C && (C.writable = !0), Object.defineProperty(v, l(C.key), C); } } r.exports = function(v, b, T) { return b && c(v.prototype, b), T && c(v, T), Object.defineProperty(v, "prototype", { writable: !1 }), v; }, r.exports.__esModule = !0, r.exports.default = r.exports; }, function(r, i) { function a(l) { return r.exports = a = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(c) { return typeof c; } : function(c) { return c && typeof Symbol == "function" && c.constructor === Symbol && c !== Symbol.prototype ? "symbol" : typeof c; }, r.exports.__esModule = !0, r.exports.default = r.exports, a(l); } r.exports = a, r.exports.__esModule = !0, r.exports.default = r.exports; }, function(r, i, a) { var l = a(7)(); r.exports = l; try { regeneratorRuntime = l; } catch (c) { typeof globalThis == "object" ? globalThis.regeneratorRuntime = l : Function("r", "regeneratorRuntime = r")(l); } }, function(r, i) { function a() { return r.exports = a = Object.assign ? Object.assign.bind() : function(l) { for (var c = 1; c < arguments.length; c++) { var v = arguments[c]; for (var b in v) Object.prototype.hasOwnProperty.call(v, b) && (l[b] = v[b]); } return l; }, r.exports.__esModule = !0, r.exports.default = r.exports, a.apply(this, arguments); } r.exports = a, r.exports.__esModule = !0, r.exports.default = r.exports; }, function(r, i) { function a(l, c, v, b, T, C, M) { try { var u = l[C](M), V = u.value; } catch (N) { return void v(N); } u.done ? c(V) : Promise.resolve(V).then(b, T); } r.exports = function(l) { return function() { var c = this, v = arguments; return new Promise(function(b, T) { var C = l.apply(c, v); function M(V) { a(C, b, T, M, u, "next", V); } function u(V) { a(C, b, T, M, u, "throw", V); } M(void 0); }); }; }, r.exports.__esModule = !0, r.exports.default = r.exports; }, function(r, i, a) { var l = a(1).default, c = a(6); r.exports = function(v) { var b = c(v, "string"); return l(b) == "symbol" ? b : b + ""; }, r.exports.__esModule = !0, r.exports.default = r.exports; }, function(r, i, a) { var l = a(1).default; r.exports = function(c, v) { if (l(c) != "object" || !c) return c; var b = c[Symbol.toPrimitive]; if (b !== void 0) { var T = b.call(c, v || "default"); if (l(T) != "object") return T; throw new TypeError("@@toPrimitive must return a primitive value."); } return (v === "string" ? String : Number)(c); }, r.exports.__esModule = !0, r.exports.default = r.exports; }, function(r, i, a) { var l = a(1).default; function c() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ r.exports = c = function() { return b; }, r.exports.__esModule = !0, r.exports.default = r.exports; var v, b = {}, T = Object.prototype, C = T.hasOwnProperty, M = Object.defineProperty || function(Dt, at, St) { Dt[at] = St.value; }, u = typeof Symbol == "function" ? Symbol : {}, V = u.iterator || "@@iterator", N = u.asyncIterator || "@@asyncIterator", I = u.toStringTag || "@@toStringTag"; function B(Dt, at, St) { return Object.defineProperty(Dt, at, { value: St, enumerable: !0, configurable: !0, writable: !0 }), Dt[at]; } try { B({}, ""); } catch (Dt) { B = function(at, St, Gt) { return at[St] = Gt; }; } function J(Dt, at, St, Gt) { var ct = at && at.prototype instanceof nt ? at : nt, Z = Object.create(ct.prototype), g = new Nt(Gt || []); return M(Z, "_invoke", { value: U(Dt, St, g) }), Z; } function K(Dt, at, St) { try { return { type: "normal", arg: Dt.call(at, St) }; } catch (Gt) { return { type: "throw", arg: Gt }; } } b.wrap = J; var O = "suspendedStart", W = "executing", X = "completed", H = {}; function nt() { } function Et() { } function Q() { } var yt = {}; B(yt, V, function() { return this; }); var Ut = Object.getPrototypeOf, Bt = Ut && Ut(Ut(Vt([]))); Bt && Bt !== T && C.call(Bt, V) && (yt = Bt); var jt = Q.prototype = nt.prototype = Object.create(yt); function kt(Dt) { ["next", "throw", "return"].forEach(function(at) { B(Dt, at, function(St) { return this._invoke(at, St); }); }); } function ft(Dt, at) { function St(ct, Z, g, pt) { var x = K(Dt[ct], Dt, Z); if (x.type !== "throw") { var w = x.arg, q = w.value; return q && l(q) == "object" && C.call(q, "__await") ? at.resolve(q.__await).then(function(It) { St("next", It, g, pt); }, function(It) { St("throw", It, g, pt); }) : at.resolve(q).then(function(It) { w.value = It, g(w); }, function(It) { return St("throw", It, g, pt); }); } pt(x.arg); } var Gt; M(this, "_invoke", { value: function(ct, Z) { function g() { return new at(function(pt, x) { St(ct, Z, pt, x); }); } return Gt = Gt ? Gt.then(g, g) : g(); } }); } function U(Dt, at, St) { var Gt = O; return function(ct, Z) { if (Gt === W) throw Error("Generator is already running"); if (Gt === X) { if (ct === "throw") throw Z; return { value: v, done: !0 }; } for (St.method = ct, St.arg = Z; ; ) { var g = St.delegate; if (g) { var pt = P(g, St); if (pt) { if (pt === H) continue; return pt; } } if (St.method === "next") St.sent = St._sent = St.arg; else if (St.method === "throw") { if (Gt === O) throw Gt = X, St.arg; St.dispatchException(St.arg); } else St.method === "return" && St.abrupt("return", St.arg); Gt = W; var x = K(Dt, at, St); if (x.type === "normal") { if (Gt = St.done ? X : "suspendedYield", x.arg === H) continue; return { value: x.arg, done: St.done }; } x.type === "throw" && (Gt = X, St.method = "throw", St.arg = x.arg); } }; } function P(Dt, at) { var St = at.method, Gt = Dt.iterator[St]; if (Gt === v) return at.delegate = null, St === "throw" && Dt.iterator.return && (at.method = "return", at.arg = v, P(Dt, at), at.method === "throw") || St !== "return" && (at.method = "throw", at.arg = new TypeError("The iterator does not provide a '" + St + "' method")), H; var ct = K(Gt, Dt.iterator, at.arg); if (ct.type === "throw") return at.method = "throw", at.arg = ct.arg, at.delegate = null, H; var Z = ct.arg; return Z ? Z.done ? (at[Dt.resultName] = Z.value, at.next = Dt.nextLoc, at.method !== "return" && (at.method = "next", at.arg = v), at.delegate = null, H) : Z : (at.method = "throw", at.arg = new TypeError("iterator result is not an object"), at.delegate = null, H); } function At(Dt) { var at = { tryLoc: Dt[0] }; 1 in Dt && (at.catchLoc = Dt[1]), 2 in Dt && (at.finallyLoc = Dt[2], at.afterLoc = Dt[3]), this.tryEntries.push(at); } function vt(Dt) { var at = Dt.completion || {}; at.type = "normal", delete at.arg, Dt.completion = at; } function Nt(Dt) { this.tryEntries = [{ tryLoc: "root" }], Dt.forEach(At, this), this.reset(!0); } function Vt(Dt) { if (Dt || Dt === "") { var at = Dt[V]; if (at) return at.call(Dt); if (typeof Dt.next == "function") return Dt; if (!isNaN(Dt.length)) { var St = -1, Gt = function ct() { for (; ++St < Dt.length; ) if (C.call(Dt, St)) return ct.value = Dt[St], ct.done = !1, ct; return ct.value = v, ct.done = !0, ct; }; return Gt.next = Gt; } } throw new TypeError(l(Dt) + " is not iterable"); } return Et.prototype = Q, M(jt, "constructor", { value: Q, configurable: !0 }), M(Q, "constructor", { value: Et, configurable: !0 }), Et.displayName = B(Q, I, "GeneratorFunction"), b.isGeneratorFunction = function(Dt) { var at = typeof Dt == "function" && Dt.constructor; return !!at && (at === Et || (at.displayName || at.name) === "GeneratorFunction"); }, b.mark = function(Dt) { return Object.setPrototypeOf ? Object.setPrototypeOf(Dt, Q) : (Dt.__proto__ = Q, B(Dt, I, "GeneratorFunction")), Dt.prototype = Object.create(jt), Dt; }, b.awrap = function(Dt) { return { __await: Dt }; }, kt(ft.prototype), B(ft.prototype, N, function() { return this; }), b.AsyncIterator = ft, b.async = function(Dt, at, St, Gt, ct) { ct === void 0 && (ct = Promise); var Z = new ft(J(Dt, at, St, Gt), ct); return b.isGeneratorFunction(at) ? Z : Z.next().then(function(g) { return g.done ? g.value : Z.next(); }); }, kt(jt), B(jt, I, "Generator"), B(jt, V, function() { return this; }), B(jt, "toString", function() { return "[object Generator]"; }), b.keys = function(Dt) { var at = Object(Dt), St = []; for (var Gt in at) St.push(Gt); return St.reverse(), function ct() { for (; St.length; ) { var Z = St.pop(); if (Z in at) return ct.value = Z, ct.done = !1, ct; } return ct.done = !0, ct; }; }, b.values = Vt, Nt.prototype = { constructor: Nt, reset: function(Dt) { if (this.prev = 0, this.next = 0, this.sent = this._sent = v, this.done = !1, this.delegate = null, this.method = "next", this.arg = v, this.tryEntries.forEach(vt), !Dt) for (var at in this) at.charAt(0) === "t" && C.call(this, at) && !isNaN(+at.slice(1)) && (this[at] = v); }, stop: function() { this.done = !0; var Dt = this.tryEntries[0].completion; if (Dt.type === "throw") throw Dt.arg; return this.rval; }, dispatchException: function(Dt) { if (this.done) throw Dt; var at = this; function St(x, w) { return Z.type = "throw", Z.arg = Dt, at.next = x, w && (at.method = "next", at.arg = v), !!w; } for (var Gt = this.tryEntries.length - 1; Gt >= 0; --Gt) { var ct = this.tryEntries[Gt], Z = ct.completion; if (ct.tryLoc === "root") return St("end"); if (ct.tryLoc <= this.prev) { var g = C.call(ct, "catchLoc"), pt = C.call(ct, "finallyLoc"); if (g && pt) { if (this.prev < ct.catchLoc) return St(ct.catchLoc, !0); if (this.prev < ct.finallyLoc) return St(ct.finallyLoc); } else if (g) { if (this.prev < ct.catchLoc) return St(ct.catchLoc, !0); } else { if (!pt) throw Error("try statement without catch or finally"); if (this.prev < ct.finallyLoc) return St(ct.finallyLoc); } } } }, abrupt: function(Dt, at) { for (var St = this.tryEntries.length - 1; St >= 0; --St) { var Gt = this.tryEntries[St]; if (Gt.tryLoc <= this.prev && C.call(Gt, "finallyLoc") && this.prev < Gt.finallyLoc) { var ct = Gt; break; } } ct && (Dt === "break" || Dt === "continue") && ct.tryLoc <= at && at <= ct.finallyLoc && (ct = null); var Z = ct ? ct.completion : {}; return Z.type = Dt, Z.arg = at, ct ? (this.method = "next", this.next = ct.finallyLoc, H) : this.complete(Z); }, complete: function(Dt, at) { if (Dt.type === "throw") throw Dt.arg; return Dt.type === "break" || Dt.type === "continue" ? this.next = Dt.arg : Dt.type === "return" ? (this.rval = this.arg = Dt.arg, this.method = "return", this.next = "end") : Dt.type === "normal" && at && (this.next = at), H; }, finish: function(Dt) { for (var at = this.tryEntries.length - 1; at >= 0; --at) { var St = this.tryEntries[at]; if (St.finallyLoc === Dt) return this.complete(St.completion, St.afterLoc), vt(St), H; } }, catch: function(Dt) { for (var at = this.tryEntries.length - 1; at >= 0; --at) { var St = this.tryEntries[at]; if (St.tryLoc === Dt) { var Gt = St.completion; if (Gt.type === "throw") { var ct = Gt.arg; vt(St); } return ct; } } throw Error("illegal catch attempt"); }, delegateYield: function(Dt, at, St) { return this.delegate = { iterator: Vt(Dt), resultName: at, nextLoc: St }, this.method === "next" && (this.arg = v), H; } }, b; } r.exports = c, r.exports.__esModule = !0, r.exports.default = r.exports; }, function(r, i, a) { a.r(i), a.d(i, "KwaiVideoLocalLog", function() { return jt; }), a.d(i, "LogLevel", function() { return N; }), a.d(i, "DefaultLogger", function() { return K; }), a.d(i, "Logger", function() { return J; }), a.d(i, "printVersion", function() { return C; }), a.d(i, "DEFAULT_LOG_LEVEL", function() { return I; }); var l = a(0), c = a.n(l), v = a(3), b = a.n(v), T = { idbName: "kwai-video-local-log", idbMaxDataCount: 25e3, idbMaxFoldLog: 20, maxLogLen: 4096 }; function C(kt, ft) { console.log("%c " + kt + " %c " + ft + " %c", "background:#35495e ; padding: 1px; border-radius: 4px 0 0 4px; color: #fff", "background:#ffa483 ; padding: 1px; border-radius: 0 4px 4px 0; color: #fff", "background:transparent"); } var M = function() { function kt() { this.timeout = 6048e5; } var ft = kt.prototype; return ft.write = function(U, P) { if (kt.available) try { localStorage.setItem(U, JSON.stringify({ value: P, time: Date.now() })); } catch (At) { } }, ft.read = function(U, P) { if (P === void 0 && (P = !0), kt.available) try { var At = localStorage.getItem(U); if (At) { var vt = JSON.parse(At), Nt = vt.value, Vt = vt.time, Dt = Vt === void 0 ? 0 : Vt; if (!P || Date.now() - Dt < (typeof P == "number" ? P : this.timeout)) return Nt; } } catch (at) { } }, c()(kt, null, [{ key: "available", get: function() { if (kt._available === void 0) try { localStorage.setItem("alg", "test"), kt._available = !0; } catch (U) { kt._available = !1; } return kt._available; } }]); }(); M._available = void 0; var u, V = M, N = function(kt) { return kt.NONE = "none", kt.ERROR = "e", kt.WARN = "w", kt.INFO = "i", kt.DEBUG = "d", kt.VERBOSE = "v", kt; }({}), I = N.ERROR, B = ((u = {})[N.NONE] = { value: 1, str: "N" }, u[N.ERROR] = { value: 100, str: "E" }, u[N.WARN] = { value: 200, str: "W" }, u[N.INFO] = { value: 300, str: "I" }, u[N.DEBUG] = { value: 400, str: "D" }, u[N.VERBOSE] = { value: 500, str: "V" }, u), J = function() { function kt(U) { if (this._name = "kwai-v", this._level = I, this._id = -1, this._output = void 0, this._workerTag = "main", typeof location < "u" && location.protocol === "blob:") { var P, At = location.href.split("/"), vt = (P = At[At.length - 1]) == null ? void 0 : P.match(/(\w+)-/); vt && (this._workerTag = U ? U + "-" + vt[1] : vt[1]); } else U && (this._workerTag = U); } kt.loadLogLevel = function(U, P) { if (P === void 0 && (P = !0), location.href) { var At = new RegExp(U + "=([a-z]{1})"), vt = location.href.match(At); if (vt && vt.length > 1) { var Nt = vt[1]; if (this._isValueInLevel(Nt)) return Nt; } } var Vt = new V().read(U, P); if (this._isValueInLevel(Vt)) return Vt; }, kt.saveLogLevel = function(U, P) { this._isValueInLevel(P) && new V().write(U, P); }, kt._isValueInLevel = function(U) { return Object.values(N).indexOf(U) !== -1; }; var ft = kt.prototype; return ft.setOutput = function(U) { return this._output = U, this; }, ft.setLevel = function(U) { return this._level = U, this; }, ft.setId = function(U) { return this._id = U, this; }, ft.setName = function(U) { return this._name = U, this; }, ft.getLevel = function() { return this._level; }, ft.getOutput = function() { return this._output; }, ft.hasOutput = function() { return !!this._output; }, ft.e = function(U) { if (this._isLevelEnabled(this._level, N.ERROR)) { for (var P = arguments.length, At = new Array(P > 1 ? P - 1 : 0), vt = 1; vt < P; vt++) At[vt - 1] = arguments[vt]; var Nt = this._printLog(N.ERROR, U, At); try { var Vt; (Vt = this._output) == null || Vt.e.apply(Vt, [Nt].concat(At)); } catch (Dt) { } } }, ft.w = function(U) { if (this._isLevelEnabled(this._level, N.WARN)) { for (var P = arguments.length, At = new Array(P > 1 ? P - 1 : 0), vt = 1; vt < P; vt++) At[vt - 1] = arguments[vt]; var Nt = this._printLog(N.WARN, U, At); try { var Vt; (Vt = this._output) == null || Vt.w.apply(Vt, [Nt].concat(At)); } catch (Dt) { } } }, ft.i = function(U) { if (this._isLevelEnabled(this._level, N.INFO)) { for (var P = arguments.length, At = new Array(P > 1 ? P - 1 : 0), vt = 1; vt < P; vt++) At[vt - 1] = arguments[vt]; var Nt = this._printLog(N.INFO, U, At); try { var Vt; (Vt = this._output) == null || Vt.i.apply(Vt, [Nt].concat(At)); } catch (Dt) { } } }, ft.d = function(U) { if (this._isLevelEnabled(this._level, N.DEBUG)) { for (var P = arguments.length, At = new Array(P > 1 ? P - 1 : 0), vt = 1; vt < P; vt++) At[vt - 1] = arguments[vt]; var Nt = this._printLog(N.DEBUG, U, At); try { var Vt; (Vt = this._output) == null || Vt.d.apply(Vt, [Nt].concat(At)); } catch (Dt) { } } }, ft.v = function(U) { if (this._isLevelEnabled(this._level, N.VERBOSE)) { for (var P = arguments.length, At = new Array(P > 1 ? P - 1 : 0), vt = 1; vt < P; vt++) At[vt - 1] = arguments[vt]; var Nt = this._printLog(N.VERBOSE, U, At); try { var Vt; (Vt = this._output) == null || Vt.v.apply(Vt, [Nt].concat(At)); } catch (Dt) { } } }, ft._isLevelEnabled = function(U, P) { return B[U].value >= B[P].value; }, ft._printLog = function(U, P, At) { var vt, Nt, Vt = typeof P; if (Vt === "object") P = ((Nt = P) == null ? void 0 : Nt.constructor.name) || "unknown"; else if (Vt === "function") { var Dt; P = ((Dt = Object.getOwnPropertyDescriptor(P, "name")) == null ? void 0 : Dt.value) || "unknown"; } var at, St, Gt = (((vt = B[U]) == null ? void 0 : vt.str) || "") + "|" + this._name + "[" + (typeof this._id == "function" ? this._id() : this._id) + "][" + this._workerTag + "]::" + P; return U === N.ERROR ? (at = console).error.apply(at, [Gt].concat(At.slice(0))) : (St = console).log.apply(St, [Gt].concat(At.slice(0))), Gt; }, kt; }(), K = new J(), O = function() { return c()(function kt(ft) { this._logger = void 0, this._id = 0, this._config = T, this._id = kt._id, kt._id++, this._logger = new J().setId(this._id).setLevel(N.INFO), this._config = b()({}, T, ft); }, [{ key: "config", get: function() { return this._config; } }, { key: "logger", get: function() { return this._logger; } }, { key: "id", get: function() { return this._id; } }], [{ key: "packName", get: function() { return "ll_es"; } }, { key: "version", get: function() { return "1.0.13"; } }, { key: "buildTime", get: function() { return "Tue Oct 08 2024 17:18:49 GMT+0800 (中国标准时间)"; } }]); }(); O._id = 0; var W = a(4), X = a.n(W), H = a(2), nt = a.n(H), Et = function() { function kt(U, P, At, vt, Nt) { var Vt = this; Nt === void 0 && (Nt = 1), this._logger = void 0, this._name = void 0, this._storeName = void 0, this._dbIndex = void 0, this._version = void 0, this._taskQueue = [], this._openReq = void 0, this._isTransactionActive = !1, this._runTaskQueue = function() { for (; Vt._taskQueue.length; ) { var Dt = Vt._taskQueue.shift(); Dt && Vt.run(Dt.task, Dt.mode); } }, this._logger = U, this._name = P, this._storeName = At, this._dbIndex = vt, this._version = Nt; } var ft = kt.prototype; return ft.init = function() { var U = this; if (!this._openReq && indexedDB) { var P = this._openReq = indexedDB.open(this._name, this._version); this._logger.i("idb-wrapper", "open", P), P.onerror = function() { U._logger.i("idb-wrapper", "open error."); }, P.onsuccess = function() { U._logger.i("idb-wrapper", "open success."), U._runTaskQueue(); }, P.onupgradeneeded = function() { U._logger.i("idb-wrapper", "open upgradeneeded."), P.result.objectStoreNames.contains(U._storeName) && P.result.deleteObjectStore(U._storeName); var At = P.result.createObjectStore(U._storeName, { keyPath: "id", autoIncrement: !0 }); U._dbIndex && U._dbIndex.forEach(function(vt) { At.createIndex(vt.name, vt.keyPath, vt.option); }); }; } }, ft.run = function(U, P) { if (P === void 0 && (P = "readwrite"), this.init(), this._openReq && this._openReq.readyState === "done" && !this._openReq.error) return this._doTask(U, P); this.state !== "error" && (this._taskQueue.push({ task: U, mode: P }), this._taskQueue.length > 1e3 && this._taskQueue.shift()); }, ft.close = function() { var U = this; this._logger.i("idb-wrapper", "close"), this._openReq && (this._openReq.readyState === "done" ? (this._openReq.result.close(), this._openReq = void 0) : this._openReq.onsuccess = function() { U.close(); }); }, ft.destroy = function() { this._logger.i("idb-wrapper", "destroy"), this.close(), this._taskQueue = []; }, ft._doTask = function(U, P) { var At = this; if (P === void 0 && (P = "readwrite"), this._openReq && !this._openReq.error) try { this._isTransactionActive = !0; var vt = this._openReq.result.transaction(this._storeName, P), Nt = void 0; vt.oncomplete = function() { At._isTransactionActive = !1, U.callback && U.callback(Nt), At._runTaskQueue(); }, vt.onabort = vt.onerror = function() { At._isTransactionActive = !1, U.callback && U.callback(Nt), At._runTaskQueue(); }, Nt = U.exec(vt.objectStore(this._storeName)); } catch (Vt) { } else U.callback && U.callback(); }, c()(kt, [{ key: "isTransactionActive", get: function() { return this._isTransactionActive; } }, { key: "state", get: function() { return this._openReq && this._openReq.readyState === "done" ? this._openReq.error ? "error" : "ready" : "idle"; } }]); }(), Q = [{ name: "id", keyPath: "id", option: { unique: !0 } }], yt = [function() { function kt(U) { this._ctx = void 0, this._idb = void 0, this._logCount = 0, this._saveCount = 0, this._reCountOnSaveCount = 100, this._reduceData = !1, this._ctx = U, this._idb = new Et(U.logger, U.config.idbName, U.config.idbName, Q), this._reCountOnSaveCount = Math.min(200, Math.max(50, Math.round(this._ctx.config.idbMaxDataCount / 10))), this._count(); } kt.isSupported = function() { return typeof indexedDB < "u"; }; var ft = kt.prototype; return ft.saveLog = function(U) { var P = this, At = { exec: function(vt) { return vt.add({ value: U }); }, callback: function(vt) { P._saveCount++, P._saveCount % P._reCountOnSaveCount == 0 && P._count(), vt != null && vt.error && P._ctx.logger.i("idb-backend", "save log err", vt.error); } }; this._idb.run(At); }, ft.exportLog = function() { var U = X()(nt.a.mark(function P() { var At = this; return nt.a.wrap(function(vt) { for (; ; ) switch (vt.prev = vt.next) { case 0: return vt.abrupt("return", new Promise(function(Nt, Vt) { At._ctx.logger.i("idb-backend", "export start"); var Dt = { exec: function(at) { return at.getAll(); }, callback: function(at) { Nt(at === void 0 ? "" : At._mergeGetAll(at.result)); } }; At._idb.run(Dt, "readonly"); })); case 1: case "end": return vt.stop(); } }, P); })); return function() { return U.apply(this, arguments); }; }(), ft.destroy = function() { this._idb.destroy(); }, ft.clean = function() { this._idb.run({ exec: function(U) { return U.clear(); } }); }, ft._count = function() { var U = this, P = { exec: function(At) { return At.count(); }, callback: function(At) { At != null && At.error || At == null || !At.result || (U._ctx.logger.i("idb-backend", "count: " + At.result + " max: " + U._ctx.config.idbMaxDataCount), U._logCount = At.result, U._logCount >= U._ctx.config.idbMaxDataCount && !U._reduceData && U._deleteFromHead(U._logCount - Math.round(U._ctx.config.idbMaxDataCount / 2))); } }; this._idb.run(P); }, ft._deleteFromHead = function(U) { var P = this; this._ctx.logger.i("idb-backend", "delete from head"), this._reduceData = !0; var At = { exec: function(vt) { return vt.openCursor(); }, callback: function(vt) { if (P._reduceData = !1, vt != null && vt.result) { var Nt = IDBKeyRange.bound(vt.result.key, vt.result.key + U, !1, !1), Vt = { exec: function(Dt) { return P._ctx.logger.i("idb-backend", "del: " + Nt.lower + "~" + Nt.upper), Dt.delete(Nt); }, callback: function(Dt) { P._ctx.logger.i("idb-backend", "del result: " + !(Dt == null || !Dt.error)); } }; P._idb.run(Vt); } } }; this._idb.run(At); }, ft._mergeGetAll = function(U) { return U.length ? U.reduce(function(P, At) { return "" + P + At.value + ` `; }, "") : ""; }, c()(kt, [{ key: "isActive", get: function() { return this._idb.state !== "error"; } }]); }()]; function Ut(kt, ft, U) { var P = /* @__PURE__ */ new Date(); typeof kt != "string" && (kt = kt.toString()); var At = P.toLocaleString() + "." + P.getMilliseconds().toString().padStart(3, "0") + "|" + kt + "|"; return ft.forEach(function(vt) { At += typeof vt == "object" ? JSON.stringify(vt) + " " : vt + " "; }), At.length > U ? At.substring(0, U) : At; } function Bt(kt) { return kt.join(` `); } var jt = function() { function kt(U) { var P = this; this._ctx = void 0, this._backend = void 0, this._delayTimer = void 0, this._logCache = [], this._loggerForAdd = void 0, this._downloadHref = void 0, this._startDelay = function() { P._delayTimer = setInterval(function() { P._saveLog(!0); }, 1e3); }, this._stopDelay = function() { P._delayTimer && (clearTimeout(P._delayTimer), P._delayTimer = void 0); }, C("kwai-video-local-log", "1.0.13"), this._ctx = new O(U); var At = function(vt) { for (var Nt = arguments.length, Vt = new Array(Nt > 1 ? Nt - 1 : 0), Dt = 1; Dt < Nt; Dt++) Vt[Dt - 1] = arguments[Dt]; P.addLog.apply(P, [vt].concat(Vt)); }; this._loggerForAdd = { e: At, w: At, i: At, d: At, v: At }, this._ctx.logger.setOutput(this._loggerForAdd), this._ctx.logger.i("kwai-video-local-log", "constructor", U, this._ctx.config), this._backend = function(vt) { for (var Nt = 0; Nt < yt.length; Nt++) { var Vt = yt[Nt]; if (Vt != null && Vt.isSupported()) return new Vt(vt); } }(this._ctx), this._backend && this._startDelay(); } kt.isSupported = function() { return function() { for (var U = 0; U < yt.length; U++) { var P = yt[U]; if (P != null && P.isSupported()) return !0; } return !1; }(); }; var ft = kt.prototype; return ft.addLog = function(U) { for (var P = arguments.length, At = new Array(P > 1 ? P - 1 : 0), vt = 1; vt < P; vt++) At[vt - 1] = arguments[vt]; this._logCache.push(Ut(U, At, this._ctx.config.maxLogLen)), this._saveLog(); }, ft.cleanLog = function() { var U; this._ctx.logger.i("kwai-video-local-log", "clean"), (U = this._backend) == null || U.clean(); }, ft.exportLog = function() { var U = this; return this._ctx.logger.i("kwai-video-local-log", "export log"), new Promise(function(P, At) { U._backend ? U._backend.exportLog().then(function(vt) { P(Bt([vt].concat(U._logCache))); }) : P(""); }); }, ft.downloadLog = function(U) { var P = this; this._ctx.logger.i("kwai-video-local-log", "download log: " + U), this._destroyDownloadHref(), this.exportLog().then(function(At) { var vt = new Blob([At], { type: "text/plain" }); if (document) { var Nt = document.createElement("a"); P._downloadHref = Nt.href = URL.createObjectURL(vt), Nt.download = U || "Log_web_" + (/* @__PURE__ */ new Date()).toLocaleString() + ".log", document.body.appendChild(Nt), Nt.click(), Nt.remove(); } else console.log("无document,当前是否在worker中"); }); }, ft.destroy = function() { var U; this._destroyDownloadHref(), (U = this._backend) == null || U.destroy(), this._stopDelay(); }, ft.getLoggerForAdd = function() { return this._loggerForAdd; }, ft._destroyDownloadHref = function() { try { this._downloadHref && (URL.revokeObjectURL(this._downloadHref), this._downloadHref = void 0); } catch (U) { } }, ft._saveLog = function(U) { if (U === void 0 && (U = !1), this._backend && this._backend.isActive && (this._logCache.length >= this._ctx.config.idbMaxFoldLog || this._logCache.length > 0 && U)) { var P = Bt(this._logCache); this._logCache.splice(0, this._logCache.length), P && this._backend.saveLog(P); } }, c()(kt, null, [{ key: "version", get: function() { return "1.0.13"; } }]); }(); i.default = jt; }]); Mn === void 0 && console.error("esm-webpack-plugin: nothing exported!"); const Yc = Mn.KwaiVideoLocalLog, Vl = Mn.LogLevel, Ci = Mn.DefaultLogger, Fl = Mn.Logger, c_ = Mn.printVersion; Mn.DEFAULT_LOG_LEVEL; Mn.default; var fo = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}; function Hl(r) { return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, "default") ? r.default : r; } var Fo = { exports: {} }, ia = typeof Reflect == "object" ? Reflect : null, Qc = ia && typeof ia.apply == "function" ? ia.apply : function(r, i, a) { return Function.prototype.apply.call(r, i, a); }, qa; ia && typeof ia.ownKeys == "function" ? qa = ia.ownKeys : Object.getOwnPropertySymbols ? qa = function(r) { return Object.getOwnPropertyNames(r).concat(Object.getOwnPropertySymbols(r)); } : qa = function(r) { return Object.getOwnPropertyNames(r); }; function l_(r) { console && console.warn && console.warn(r); } var jl = Number.isNaN || function(r) { return r !== r; }; function Ze() { Ze.init.call(this); } Fo.exports = Ze; Fo.exports.once = f_; Ze.EventEmitter = Ze; Ze.prototype._events = void 0; Ze.prototype._eventsCount = 0; Ze.prototype._maxListeners = void 0; var Xc = 10; function _s(r) { if (typeof r != "function") throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof r); } Object.defineProperty(Ze, "defaultMaxListeners", { enumerable: !0, get: function() { return Xc; }, set: function(r) { if (typeof r != "number" || r < 0 || jl(r)) throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + r + "."); Xc = r; } }); Ze.init = function() { (this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) && (this._events = /* @__PURE__ */ Object.create(null), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0; }; Ze.prototype.setMaxListeners = function(r) { if (typeof r != "number" || r < 0 || jl(r)) throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + r + "."); return this._maxListeners = r, this; }; function Gl(r) { return r._maxListeners === void 0 ? Ze.defaultMaxListeners : r._maxListeners; } Ze.prototype.getMaxListeners = function() { return Gl(this); }; Ze.prototype.emit = function(r) { for (var i = [], a = 1; a < arguments.length; a++) i.push(arguments[a]); var l = r === "error", c = this._events; if (c !== void 0) l = l && c.error === void 0; else if (!l) return !1; if (l) { var v; if (i.length > 0 && (v = i[0]), v instanceof Error) throw v; var b = new Error("Unhandled error." + (v ? " (" + v.message + ")" : "")); throw b.context = v, b; } var T = c[r]; if (T === void 0) return !1; if (typeof T == "function") Qc(T, this, i); else for (var C = T.length, M = Ql(T, C), a = 0; a < C; ++a) Qc(M[a], this, i); return !0; }; function zl(r, i, a, l) { var c, v, b; if (_s(a), v = r._events, v === void 0 ? (v = r._events = /* @__PURE__ */ Object.create(null), r._eventsCount = 0) : (v.newListener !== void 0 && (r.emit( "newListener", i, a.listener ? a.listener : a ), v = r._events), b = v[i]), b === void 0) b = v[i] = a, ++r._eventsCount; else if (typeof b == "function" ? b = v[i] = l ? [a, b] : [b, a] : l ? b.unshift(a) : b.push(a), c = Gl(r), c > 0 && b.length > c && !b.warned) { b.warned = !0; var T = new Error("Possible EventEmitter memory leak detected. " + b.length + " " + String(i) + " listeners added. Use emitter.setMaxListeners() to increase limit"); T.name = "MaxListenersExceededWarning", T.emitter = r, T.type = i, T.count = b.length, l_(T); } return r; } Ze.prototype.addListener = function(r, i) { return zl(this, r, i, !1); }; Ze.prototype.on = Ze.prototype.addListener; Ze.prototype.prependListener = function(r, i) { return zl(this, r, i, !0); }; function h_() { if (!this.fired) return this.target.removeListener(this.type, this.wrapFn), this.fired = !0, arguments.length === 0 ? this.listener.call(this.target) : this.listener.apply(this.target, arguments); } function Wl(r, i, a) { var l = { fired: !1, wrapFn: void 0, target: r, type: i, listener: a }, c = h_.bind(l); return c.listener = a, l.wrapFn = c, c; } Ze.prototype.once = function(r, i) { return _s(i), this.on(r, Wl(this, r, i)), this; }; Ze.prototype.prependOnceListener = function(r, i) { return _s(i), this.prependListener(r, Wl(this, r, i)), this; }; Ze.prototype.removeListener = function(r, i) { var a, l, c, v, b; if (_s(i), l = this._events, l === void 0) return this; if (a = l[r], a === void 0) return this; if (a === i || a.listener === i) --this._eventsCount === 0 ? this._events = /* @__PURE__ */ Object.create(null) : (delete l[r], l.removeListener && this.emit("removeListener", r, a.listener || i)); else if (typeof a != "function") { for (c = -1, v = a.length - 1; v >= 0; v--) if (a[v] === i || a[v].listener === i) { b = a[v].listener, c = v; break; } if (c < 0) return this; c === 0 ? a.shift() : u_(a, c), a.length === 1 && (l[r] = a[0]), l.removeListener !== void 0 && this.emit("removeListener", r, b || i); } return this; }; Ze.prototype.off = Ze.prototype.removeListener; Ze.prototype.removeAllListeners = function(r) { var i, a, l; if (a = this._events, a === void 0) return this; if (a.removeListener === void 0) return arguments.length === 0 ? (this._events = /* @__PURE__ */ Object.create(null), this._eventsCount = 0) : a[r] !== void 0 && (--this._eventsCount === 0 ? this._events = /* @__PURE__ */ Object.create(null) : delete a[r]), this; if (arguments.length === 0) { var c = Object.keys(a), v; for (l = 0; l < c.length; ++l) v = c[l], v !== "removeListener" && this.removeAllListeners(v); return this.removeAllListeners("removeListener"), this._events = /* @__PURE__ */ Object.create(null), this._eventsCount = 0, this; } if (i = a[r], typeof i == "function") this.removeListener(r, i); else if (i !== void 0) for (l = i.length - 1; l >= 0; l--) this.removeListener(r, i[l]); return this; }; function Kl(r, i, a) { var l = r._events; if (l === void 0) return []; var c = l[i]; return c === void 0 ? [] : typeof c == "function" ? a ? [c.listener || c] : [c] : a ? d_(c) : Ql(c, c.length); } Ze.prototype.listeners = function(r) { return Kl(this, r, !0); }; Ze.prototype.rawListeners = function(r) { return Kl(this, r, !1); }; Ze.listenerCount = function(r, i) { return typeof r.listenerCount == "function" ? r.listenerCount(i) : Yl.call(r, i); }; Ze.prototype.listenerCount = Yl; function Yl(r) { var i = this._events; if (i !== void 0) { var a = i[r]; if (typeof a == "function") return 1; if (a !== void 0) return a.length; } return 0; } Ze.prototype.eventNames = function() { return this._eventsCount > 0 ? qa(this._events) : []; }; function Ql(r, i) { for (var a = new Array(i), l = 0; l < i; ++l) a[l] = r[l]; return a; } function u_(r, i) { for (; i + 1 < r.length; i++) r[i] = r[i + 1]; r.pop(); } function d_(r) { for (var i = new Array(r.length), a = 0; a < i.length; ++a) i[a] = r[a].listener || r[a]; return i; } function f_(r, i) { return new Promise(function(a, l) { function c(b) { r.removeListener(i, v), l(b); } function v() { typeof r.removeListener == "function" && r.removeListener("error", c), a([].slice.call(arguments)); } Xl(r, i, v, { once: !0 }), i !== "error" && p_(r, c, { once: !0 }); }); } function p_(r, i, a) { typeof r.on == "function" && Xl(r, "error", i, a); } function Xl(r, i, a, l) { if (typeof r.on == "function") l.once ? r.once(i, a) : r.on(i, a); else if (typeof r.addEventListener == "function") r.addEventListener(i, function c(v) { l.once && r.removeEventListener(i, c), a(v); }); else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof r); } var __ = Fo.exports, $l = function() { if (typeof Map < "u") return Map; function r(i, a) { var l = -1; return i.some(function(c, v) { return c[0] === a ? (l = v, !0) : !1; }), l; } return ( /** @class */ function() { function i() { this.__entries__ = []; } return Object.defineProperty(i.prototype, "size", { /** * @returns {boolean} */ get: function() { return this.__entries__.length; }, enumerable: !0, configurable: !0 }), i.prototype.get = function(a) { var l = r(this.__entries__, a), c = this.__entries__[l]; return c && c[1]; }, i.prototype.set = function(a, l) { var c = r(this.__entries__, a); ~c ? this.__entries__[c][1] = l : this.__entries__.push([a, l]); }, i.prototype.delete = function(a) { var l = this.__entries__, c = r(l, a); ~c && l.splice(c, 1); }, i.prototype.has = function(a) { return !!~r(this.__entries__, a); }, i.prototype.clear = function() { this.__entries__.splice(0); }, i.prototype.forEach = function(a, l) { l === void 0 && (l = null); for (var c = 0, v = this.__entries__; c < v.length; c++) { var b = v[c]; a.call(l, b[1], b[0]); } }, i; }() ); }(), po = typeof window < "u" && typeof document < "u" && window.document === document, ss = function() { return typeof global < "u" && global.Math === Math ? global : typeof self < "u" && self.Math === Math ? self : typeof window < "u" && window.Math === Math ? window : Function("return this")(); }(), A_ = function() { return typeof requestAnimationFrame == "function" ? requestAnimationFrame.bind(ss) : function(r) { return setTimeout(function() { return r(Date.now()); }, 1e3 / 60); }; }(), v_ = 2; function g_(r, i) { var a = !1, l = !1, c = 0; function v() { a && (a = !1, r()), l && T(); } function b() { A_(v); } function T() { var C = Date.now(); if (a) { if (C - c < v_) return; l = !0; } else a = !0, l = !1, setTimeout(b, i); c = C; } return T; } var m_ = 20, E_ = ["top", "right", "bottom", "left", "width", "height", "size", "weight"], b_ = typeof MutationObserver < "u", y_ = ( /** @class */ function() { function r() { this.connected_ = !1, this.mutationEventsAdded_ = !1, this.mutationsObserver_ = null, this.observers_ = [], this.onTransitionEnd_ = this.onTransitionEnd_.bind(this), this.refresh = g_(this.refresh.bind(this), m_); } return r.prototype.addObserver = function(i) { ~this.observers_.indexOf(i) || this.observers_.push(i), this.connected_ || this.connect_(); }, r.prototype.removeObserver = function(i) { var a = this.observers_, l = a.indexOf(i); ~l && a.splice(l, 1), !a.length && this.connected_ && this.disconnect_(); }, r.prototype.refresh = function() { var i = this.updateObservers_(); i && this.refresh(); }, r.prototype.updateObservers_ = function() { var i = this.observers_.filter(function(a) { return a.gatherActive(), a.hasActive(); }); return i.forEach(function(a) { return a.broadcastActive(); }), i.length > 0; }, r.prototype.connect_ = function() { !po || this.connected_ || (document.addEventListener("transitionend", this.onTransitionEnd_), window.addEventListener("resize", this.refresh), b_ ? (this.mutationsObserver_ = new MutationObserver(this.refresh), this.mutationsObserver_.observe(document, { attributes: !0, childList: !0, characterData: !0, subtree: !0 })) : (document.addEventListener("DOMSubtreeModified", this.refresh), this.mutationEventsAdded_ = !0), this.connected_ = !0); }, r.prototype.disconnect_ = function() { !po || !this.connected_ || (document.removeEventListener("transitionend", this.onTransitionEnd_), window.removeEventListener("resize", this.refresh), this.mutationsObserver_ && this.mutationsObserver_.disconnect(), this.mutationEventsAdded_ && document.removeEventListener("DOMSubtreeModified", this.refresh), this.mutationsObserver_ = null, this.mutationEventsAdded_ = !1, this.connected_ = !1); }, r.prototype.onTransitionEnd_ = function(i) { var a = i.propertyName, l = a === void 0 ? "" : a, c = E_.some(function(v) { return !!~l.indexOf(v); }); c && this.refresh(); }, r.getInstance = function() { return this.instance_ || (this.instance_ = new r()), this.instance_; }, r.instance_ = null, r; }() ), Zl = function(r, i) { for (var a = 0, l = Object.keys(i); a < l.length; a++) { var c = l[a]; Object.defineProperty(r, c, { value: i[c], enumerable: !1, writable: !1, configurable: !0 }); } return r; }, na = function(r) { var i = r && r.ownerDocument && r.ownerDocument.defaultView; return i || ss; }, ql = As(0, 0, 0, 0); function os(r) { return parseFloat(r) || 0; } function $c(r) { for (var i = [], a = 1; a < arguments.length; a++) i[a - 1] = arguments[a]; return i.reduce(function(l, c) { var v = r["border-" + c + "-width"]; return l + os(v); }, 0); } function C_(r) { for (var i = ["top", "right", "bottom", "left"], a = {}, l = 0, c = i; l < c.length; l++) { var v = c[l], b = r["padding-" + v]; a[v] = os(b); } return a; } function T_(r) { var i = r.getBBox(); return As(0, 0, i.width, i.height); } function I_(r) { var i = r.clientWidth, a = r.clientHeight; if (!i && !a) return ql; var l = na(r).getComputedStyle(r), c = C_(l), v = c.left + c.right, b = c.top + c.bottom, T = os(l.width), C = os(l.height); if (l.boxSizing === "border-box" && (Math.round(T + v) !== i && (T -= $c(l, "left", "right") + v), Math.round(C + b) !== a && (C -= $c(l, "top", "bottom") + b)), !L_(r)) { var M = Math.round(T + v) - i, u = Math.round(C + b) - a; Math.abs(M) !== 1 && (T -= M), Math.abs(u) !== 1 && (C -= u); } return As(c.left, c.top, T, C); } var R_ = function() { return typeof SVGGraphicsElement < "u" ? function(r) { return r instanceof na(r).SVGGraphicsElement; } : function(r) { return r instanceof na(r).SVGElement && typeof r.getBBox == "function"; }; }(); function L_(r) { return r === na(r).document.documentElement; } function D_(r) { return po ? R_(r) ? T_(r) : I_(r) : ql; } function S_(r) { var i = r.x, a = r.y, l = r.width, c = r.height, v = typeof DOMRectReadOnly < "u" ? DOMRectReadOnly : Object, b = Object.create(v