var xt = Object.defineProperty; var wt = (u, d, f) => d in u ? xt(u, d, { enumerable: !0, configurable: !0, writable: !0, value: f }) : u[d] = f; var _e = (u, d, f) => (wt(u, typeof d != "symbol" ? d + "" : d, f), f); var be = {}, Ue = {}; Ue.byteLength = jt; Ue.toByteArray = Bt; Ue.fromByteArray = Tt; var le = [], re = [], vt = typeof Uint8Array < "u" ? Uint8Array : Array, qe = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; for (var je = 0, _t = qe.length; je < _t; ++je) le[je] = qe[je], re[qe.charCodeAt(je)] = je; re["-".charCodeAt(0)] = 62; re["_".charCodeAt(0)] = 63; function et(u) { var d = u.length; if (d % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4"); var f = u.indexOf("="); f === -1 && (f = d); var x = f === d ? 0 : 4 - f % 4; return [f, x]; } function jt(u) { var d = et(u), f = d[0], x = d[1]; return (f + x) * 3 / 4 - x; } function kt(u, d, f) { return (d + f) * 3 / 4 - f; } function Bt(u) { var d, f = et(u), x = f[0], w = f[1], j = new vt(kt(u, x, w)), _ = 0, c = w > 0 ? x - 4 : x, C; for (C = 0; C < c; C += 4) d = re[u.charCodeAt(C)] << 18 | re[u.charCodeAt(C + 1)] << 12 | re[u.charCodeAt(C + 2)] << 6 | re[u.charCodeAt(C + 3)], j[_++] = d >> 16 & 255, j[_++] = d >> 8 & 255, j[_++] = d & 255; return w === 2 && (d = re[u.charCodeAt(C)] << 2 | re[u.charCodeAt(C + 1)] >> 4, j[_++] = d & 255), w === 1 && (d = re[u.charCodeAt(C)] << 10 | re[u.charCodeAt(C + 1)] << 4 | re[u.charCodeAt(C + 2)] >> 2, j[_++] = d >> 8 & 255, j[_++] = d & 255), j; } function Et(u) { return le[u >> 18 & 63] + le[u >> 12 & 63] + le[u >> 6 & 63] + le[u & 63]; } function It(u, d, f) { for (var x, w = [], j = d; j < f; j += 3) x = (u[j] << 16 & 16711680) + (u[j + 1] << 8 & 65280) + (u[j + 2] & 255), w.push(Et(x)); return w.join(""); } function Tt(u) { for (var d, f = u.length, x = f % 3, w = [], j = 16383, _ = 0, c = f - x; _ < c; _ += j) w.push(It(u, _, _ + j > c ? c : _ + j)); return x === 1 ? (d = u[f - 1], w.push( le[d >> 2] + le[d << 4 & 63] + "==" )) : x === 2 && (d = (u[f - 2] << 8) + u[f - 1], w.push( le[d >> 10] + le[d >> 4 & 63] + le[d << 2 & 63] + "=" )), w.join(""); } var Ne = {}; /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ Ne.read = function(u, d, f, x, w) { var j, _, c = w * 8 - x - 1, C = (1 << c) - 1, Z = C >> 1, G = -7, N = f ? w - 1 : 0, te = f ? -1 : 1, W = u[d + N]; for (N += te, j = W & (1 << -G) - 1, W >>= -G, G += c; G > 0; j = j * 256 + u[d + N], N += te, G -= 8) ; for (_ = j & (1 << -G) - 1, j >>= -G, G += x; G > 0; _ = _ * 256 + u[d + N], N += te, G -= 8) ; if (j === 0) j = 1 - Z; else { if (j === C) return _ ? NaN : (W ? -1 : 1) * (1 / 0); _ = _ + Math.pow(2, x), j = j - Z; } return (W ? -1 : 1) * _ * Math.pow(2, j - x); }; Ne.write = function(u, d, f, x, w, j) { var _, c, C, Z = j * 8 - w - 1, G = (1 << Z) - 1, N = G >> 1, te = w === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0, W = x ? 0 : j - 1, ue = x ? 1 : -1, oe = d < 0 || d === 0 && 1 / d < 0 ? 1 : 0; for (d = Math.abs(d), isNaN(d) || d === 1 / 0 ? (c = isNaN(d) ? 1 : 0, _ = G) : (_ = Math.floor(Math.log(d) / Math.LN2), d * (C = Math.pow(2, -_)) < 1 && (_--, C *= 2), _ + N >= 1 ? d += te / C : d += te * Math.pow(2, 1 - N), d * C >= 2 && (_++, C /= 2), _ + N >= G ? (c = 0, _ = G) : _ + N >= 1 ? (c = (d * C - 1) * Math.pow(2, w), _ = _ + N) : (c = d * Math.pow(2, N - 1) * Math.pow(2, w), _ = 0)); w >= 8; u[f + W] = c & 255, W += ue, c /= 256, w -= 8) ; for (_ = _ << w | c, Z += w; Z > 0; u[f + W] = _ & 255, W += ue, _ /= 256, Z -= 8) ; u[f + W - ue] |= oe * 128; }; /*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh * @license MIT */ (function(u) { const d = Ue, f = Ne, x = typeof Symbol == "function" && typeof Symbol.for == "function" ? Symbol.for("nodejs.util.inspect.custom") : null; u.Buffer = c, u.SlowBuffer = y, u.INSPECT_MAX_BYTES = 50; const w = 2147483647; u.kMaxLength = w, c.TYPED_ARRAY_SUPPORT = j(), !c.TYPED_ARRAY_SUPPORT && typeof console < "u" && typeof console.error == "function" && console.error( "This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support." ); function j() { try { const r = new Uint8Array(1), e = { foo: function() { return 42; } }; return Object.setPrototypeOf(e, Uint8Array.prototype), Object.setPrototypeOf(r, e), r.foo() === 42; } catch { return !1; } } Object.defineProperty(c.prototype, "parent", { enumerable: !0, get: function() { if (c.isBuffer(this)) return this.buffer; } }), Object.defineProperty(c.prototype, "offset", { enumerable: !0, get: function() { if (c.isBuffer(this)) return this.byteOffset; } }); function _(r) { if (r > w) throw new RangeError('The value "' + r + '" is invalid for option "size"'); const e = new Uint8Array(r); return Object.setPrototypeOf(e, c.prototype), e; } function c(r, e, t) { if (typeof r == "number") { if (typeof e == "string") throw new TypeError( 'The "string" argument must be of type string. Received type number' ); return N(r); } return C(r, e, t); } c.poolSize = 8192; function C(r, e, t) { if (typeof r == "string") return te(r, e); if (ArrayBuffer.isView(r)) return ue(r); if (r == null) throw new TypeError( "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof r ); if (pe(r, ArrayBuffer) || r && pe(r.buffer, ArrayBuffer) || typeof SharedArrayBuffer < "u" && (pe(r, SharedArrayBuffer) || r && pe(r.buffer, SharedArrayBuffer))) return oe(r, e, t); if (typeof r == "number") throw new TypeError( 'The "value" argument must not be of type number. Received type number' ); const i = r.valueOf && r.valueOf(); if (i != null && i !== r) return c.from(i, e, t); const s = ce(r); if (s) return s; if (typeof Symbol < "u" && Symbol.toPrimitive != null && typeof r[Symbol.toPrimitive] == "function") return c.from(r[Symbol.toPrimitive]("string"), e, t); throw new TypeError( "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof r ); } c.from = function(r, e, t) { return C(r, e, t); }, Object.setPrototypeOf(c.prototype, Uint8Array.prototype), Object.setPrototypeOf(c, Uint8Array); function Z(r) { if (typeof r != "number") throw new TypeError('"size" argument must be of type number'); if (r < 0) throw new RangeError('The value "' + r + '" is invalid for option "size"'); } function G(r, e, t) { return Z(r), r <= 0 ? _(r) : e !== void 0 ? typeof t == "string" ? _(r).fill(e, t) : _(r).fill(e) : _(r); } c.alloc = function(r, e, t) { return G(r, e, t); }; function N(r) { return Z(r), _(r < 0 ? 0 : F(r) | 0); } c.allocUnsafe = function(r) { return N(r); }, c.allocUnsafeSlow = function(r) { return N(r); }; function te(r, e) { if ((typeof e != "string" || e === "") && (e = "utf8"), !c.isEncoding(e)) throw new TypeError("Unknown encoding: " + e); const t = k(r, e) | 0; let i = _(t); const s = i.write(r, e); return s !== t && (i = i.slice(0, s)), i; } function W(r) { const e = r.length < 0 ? 0 : F(r.length) | 0, t = _(e); for (let i = 0; i < e; i += 1) t[i] = r[i] & 255; return t; } function ue(r) { if (pe(r, Uint8Array)) { const e = new Uint8Array(r); return oe(e.buffer, e.byteOffset, e.byteLength); } return W(r); } function oe(r, e, t) { if (e < 0 || r.byteLength < e) throw new RangeError('"offset" is outside of buffer bounds'); if (r.byteLength < e + (t || 0)) throw new RangeError('"length" is outside of buffer bounds'); let i; return e === void 0 && t === void 0 ? i = new Uint8Array(r) : t === void 0 ? i = new Uint8Array(r, e) : i = new Uint8Array(r, e, t), Object.setPrototypeOf(i, c.prototype), i; } function ce(r) { if (c.isBuffer(r)) { const e = F(r.length) | 0, t = _(e); return t.length === 0 || r.copy(t, 0, 0, e), t; } if (r.length !== void 0) return typeof r.length != "number" || Re(r.length) ? _(0) : W(r); if (r.type === "Buffer" && Array.isArray(r.data)) return W(r.data); } function F(r) { if (r >= w) throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + w.toString(16) + " bytes"); return r | 0; } function y(r) { return +r != r && (r = 0), c.alloc(+r); } c.isBuffer = function(e) { return e != null && e._isBuffer === !0 && e !== c.prototype; }, c.compare = function(e, t) { if (pe(e, Uint8Array) && (e = c.from(e, e.offset, e.byteLength)), pe(t, Uint8Array) && (t = c.from(t, t.offset, t.byteLength)), !c.isBuffer(e) || !c.isBuffer(t)) throw new TypeError( 'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array' ); if (e === t) return 0; let i = e.length, s = t.length; for (let l = 0, h = Math.min(i, s); l < h; ++l) if (e[l] !== t[l]) { i = e[l], s = t[l]; break; } return i < s ? -1 : s < i ? 1 : 0; }, c.isEncoding = function(e) { switch (String(e).toLowerCase()) { case "hex": case "utf8": case "utf-8": case "ascii": case "latin1": case "binary": case "base64": case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return !0; default: return !1; } }, c.concat = function(e, t) { if (!Array.isArray(e)) throw new TypeError('"list" argument must be an Array of Buffers'); if (e.length === 0) return c.alloc(0); let i; if (t === void 0) for (t = 0, i = 0; i < e.length; ++i) t += e[i].length; const s = c.allocUnsafe(t); let l = 0; for (i = 0; i < e.length; ++i) { let h = e[i]; if (pe(h, Uint8Array)) l + h.length > s.length ? (c.isBuffer(h) || (h = c.from(h)), h.copy(s, l)) : Uint8Array.prototype.set.call( s, h, l ); else if (c.isBuffer(h)) h.copy(s, l); else throw new TypeError('"list" argument must be an Array of Buffers'); l += h.length; } return s; }; function k(r, e) { if (c.isBuffer(r)) return r.length; if (ArrayBuffer.isView(r) || pe(r, ArrayBuffer)) return r.byteLength; if (typeof r != "string") throw new TypeError( 'The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof r ); const t = r.length, i = arguments.length > 2 && arguments[2] === !0; if (!i && t === 0) return 0; let s = !1; for (; ; ) switch (e) { case "ascii": case "latin1": case "binary": return t; case "utf8": case "utf-8": return Ce(r).length; case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return t * 2; case "hex": return t >>> 1; case "base64": return Qe(r).length; default: if (s) return i ? -1 : Ce(r).length; e = ("" + e).toLowerCase(), s = !0; } } c.byteLength = k; function T(r, e, t) { let i = !1; if ((e === void 0 || e < 0) && (e = 0), e > this.length || ((t === void 0 || t > this.length) && (t = this.length), t <= 0) || (t >>>= 0, e >>>= 0, t <= e)) return ""; for (r || (r = "utf8"); ; ) switch (r) { case "hex": return pt(this, e, t); case "utf8": case "utf-8": return $e(this, e, t); case "ascii": return ut(this, e, t); case "latin1": case "binary": return ct(this, e, t); case "base64": return at(this, e, t); case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return lt(this, e, t); default: if (i) throw new TypeError("Unknown encoding: " + r); r = (r + "").toLowerCase(), i = !0; } } c.prototype._isBuffer = !0; function q(r, e, t) { const i = r[e]; r[e] = r[t], r[t] = i; } c.prototype.swap16 = function() { const e = this.length; if (e % 2 !== 0) throw new RangeError("Buffer size must be a multiple of 16-bits"); for (let t = 0; t < e; t += 2) q(this, t, t + 1); return this; }, c.prototype.swap32 = function() { const e = this.length; if (e % 4 !== 0) throw new RangeError("Buffer size must be a multiple of 32-bits"); for (let t = 0; t < e; t += 4) q(this, t, t + 3), q(this, t + 1, t + 2); return this; }, c.prototype.swap64 = function() { const e = this.length; if (e % 8 !== 0) throw new RangeError("Buffer size must be a multiple of 64-bits"); for (let t = 0; t < e; t += 8) q(this, t, t + 7), q(this, t + 1, t + 6), q(this, t + 2, t + 5), q(this, t + 3, t + 4); return this; }, c.prototype.toString = function() { const e = this.length; return e === 0 ? "" : arguments.length === 0 ? $e(this, 0, e) : T.apply(this, arguments); }, c.prototype.toLocaleString = c.prototype.toString, c.prototype.equals = function(e) { if (!c.isBuffer(e)) throw new TypeError("Argument must be a Buffer"); return this === e ? !0 : c.compare(this, e) === 0; }, c.prototype.inspect = function() { let e = ""; const t = u.INSPECT_MAX_BYTES; return e = this.toString("hex", 0, t).replace(/(.{2})/g, "$1 ").trim(), this.length > t && (e += " ... "), ""; }, x && (c.prototype[x] = c.prototype.inspect), c.prototype.compare = function(e, t, i, s, l) { if (pe(e, Uint8Array) && (e = c.from(e, e.offset, e.byteLength)), !c.isBuffer(e)) throw new TypeError( 'The "target" argument must be one of type Buffer or Uint8Array. Received type ' + typeof e ); if (t === void 0 && (t = 0), i === void 0 && (i = e ? e.length : 0), s === void 0 && (s = 0), l === void 0 && (l = this.length), t < 0 || i > e.length || s < 0 || l > this.length) throw new RangeError("out of range index"); if (s >= l && t >= i) return 0; if (s >= l) return -1; if (t >= i) return 1; if (t >>>= 0, i >>>= 0, s >>>= 0, l >>>= 0, this === e) return 0; let h = l - s, S = i - t; const z = Math.min(h, S), M = this.slice(s, l), $ = e.slice(t, i); for (let D = 0; D < z; ++D) if (M[D] !== $[D]) { h = M[D], S = $[D]; break; } return h < S ? -1 : S < h ? 1 : 0; }; function V(r, e, t, i, s) { if (r.length === 0) return -1; if (typeof t == "string" ? (i = t, t = 0) : t > 2147483647 ? t = 2147483647 : t < -2147483648 && (t = -2147483648), t = +t, Re(t) && (t = s ? 0 : r.length - 1), t < 0 && (t = r.length + t), t >= r.length) { if (s) return -1; t = r.length - 1; } else if (t < 0) if (s) t = 0; else return -1; if (typeof e == "string" && (e = c.from(e, i)), c.isBuffer(e)) return e.length === 0 ? -1 : Q(r, e, t, i, s); if (typeof e == "number") return e = e & 255, typeof Uint8Array.prototype.indexOf == "function" ? s ? Uint8Array.prototype.indexOf.call(r, e, t) : Uint8Array.prototype.lastIndexOf.call(r, e, t) : Q(r, [e], t, i, s); throw new TypeError("val must be string, number or Buffer"); } function Q(r, e, t, i, s) { let l = 1, h = r.length, S = e.length; if (i !== void 0 && (i = String(i).toLowerCase(), i === "ucs2" || i === "ucs-2" || i === "utf16le" || i === "utf-16le")) { if (r.length < 2 || e.length < 2) return -1; l = 2, h /= 2, S /= 2, t /= 2; } function z($, D) { return l === 1 ? $[D] : $.readUInt16BE(D * l); } let M; if (s) { let $ = -1; for (M = t; M < h; M++) if (z(r, M) === z(e, $ === -1 ? 0 : M - $)) { if ($ === -1 && ($ = M), M - $ + 1 === S) return $ * l; } else $ !== -1 && (M -= M - $), $ = -1; } else for (t + S > h && (t = h - S), M = t; M >= 0; M--) { let $ = !0; for (let D = 0; D < S; D++) if (z(r, M + D) !== z(e, D)) { $ = !1; break; } if ($) return M; } return -1; } c.prototype.includes = function(e, t, i) { return this.indexOf(e, t, i) !== -1; }, c.prototype.indexOf = function(e, t, i) { return V(this, e, t, i, !0); }, c.prototype.lastIndexOf = function(e, t, i) { return V(this, e, t, i, !1); }; function fe(r, e, t, i) { t = Number(t) || 0; const s = r.length - t; i ? (i = Number(i), i > s && (i = s)) : i = s; const l = e.length; i > l / 2 && (i = l / 2); let h; for (h = 0; h < i; ++h) { const S = parseInt(e.substr(h * 2, 2), 16); if (Re(S)) return h; r[t + h] = S; } return h; } function Se(r, e, t, i) { return Te(Ce(e, r.length - t), r, t, i); } function Ie(r, e, t, i) { return Te(ht(e), r, t, i); } function ke(r, e, t, i) { return Te(Qe(e), r, t, i); } function nt(r, e, t, i) { return Te(bt(e, r.length - t), r, t, i); } c.prototype.write = function(e, t, i, s) { if (t === void 0) s = "utf8", i = this.length, t = 0; else if (i === void 0 && typeof t == "string") s = t, i = this.length, t = 0; else if (isFinite(t)) t = t >>> 0, isFinite(i) ? (i = i >>> 0, s === void 0 && (s = "utf8")) : (s = i, i = void 0); else throw new Error( "Buffer.write(string, encoding, offset[, length]) is no longer supported" ); const l = this.length - t; if ((i === void 0 || i > l) && (i = l), e.length > 0 && (i < 0 || t < 0) || t > this.length) throw new RangeError("Attempt to write outside buffer bounds"); s || (s = "utf8"); let h = !1; for (; ; ) switch (s) { case "hex": return fe(this, e, t, i); case "utf8": case "utf-8": return Se(this, e, t, i); case "ascii": case "latin1": case "binary": return Ie(this, e, t, i); case "base64": return ke(this, e, t, i); case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return nt(this, e, t, i); default: if (h) throw new TypeError("Unknown encoding: " + s); s = ("" + s).toLowerCase(), h = !0; } }, c.prototype.toJSON = function() { return { type: "Buffer", data: Array.prototype.slice.call(this._arr || this, 0) }; }; function at(r, e, t) { return e === 0 && t === r.length ? d.fromByteArray(r) : d.fromByteArray(r.slice(e, t)); } function $e(r, e, t) { t = Math.min(r.length, t); const i = []; let s = e; for (; s < t; ) { const l = r[s]; let h = null, S = l > 239 ? 4 : l > 223 ? 3 : l > 191 ? 2 : 1; if (s + S <= t) { let z, M, $, D; switch (S) { case 1: l < 128 && (h = l); break; case 2: z = r[s + 1], (z & 192) === 128 && (D = (l & 31) << 6 | z & 63, D > 127 && (h = D)); break; case 3: z = r[s + 1], M = r[s + 2], (z & 192) === 128 && (M & 192) === 128 && (D = (l & 15) << 12 | (z & 63) << 6 | M & 63, D > 2047 && (D < 55296 || D > 57343) && (h = D)); break; case 4: z = r[s + 1], M = r[s + 2], $ = r[s + 3], (z & 192) === 128 && (M & 192) === 128 && ($ & 192) === 128 && (D = (l & 15) << 18 | (z & 63) << 12 | (M & 63) << 6 | $ & 63, D > 65535 && D < 1114112 && (h = D)); } } h === null ? (h = 65533, S = 1) : h > 65535 && (h -= 65536, i.push(h >>> 10 & 1023 | 55296), h = 56320 | h & 1023), i.push(h), s += S; } return st(i); } const Ge = 4096; function st(r) { const e = r.length; if (e <= Ge) return String.fromCharCode.apply(String, r); let t = "", i = 0; for (; i < e; ) t += String.fromCharCode.apply( String, r.slice(i, i += Ge) ); return t; } function ut(r, e, t) { let i = ""; t = Math.min(r.length, t); for (let s = e; s < t; ++s) i += String.fromCharCode(r[s] & 127); return i; } function ct(r, e, t) { let i = ""; t = Math.min(r.length, t); for (let s = e; s < t; ++s) i += String.fromCharCode(r[s]); return i; } function pt(r, e, t) { const i = r.length; (!e || e < 0) && (e = 0), (!t || t < 0 || t > i) && (t = i); let s = ""; for (let l = e; l < t; ++l) s += gt[r[l]]; return s; } function lt(r, e, t) { const i = r.slice(e, t); let s = ""; for (let l = 0; l < i.length - 1; l += 2) s += String.fromCharCode(i[l] + i[l + 1] * 256); return s; } c.prototype.slice = function(e, t) { const i = this.length; e = ~~e, t = t === void 0 ? i : ~~t, e < 0 ? (e += i, e < 0 && (e = 0)) : e > i && (e = i), t < 0 ? (t += i, t < 0 && (t = 0)) : t > i && (t = i), t < e && (t = e); const s = this.subarray(e, t); return Object.setPrototypeOf(s, c.prototype), s; }; function Y(r, e, t) { if (r % 1 !== 0 || r < 0) throw new RangeError("offset is not uint"); if (r + e > t) throw new RangeError("Trying to access beyond buffer length"); } c.prototype.readUintLE = c.prototype.readUIntLE = function(e, t, i) { e = e >>> 0, t = t >>> 0, i || Y(e, t, this.length); let s = this[e], l = 1, h = 0; for (; ++h < t && (l *= 256); ) s += this[e + h] * l; return s; }, c.prototype.readUintBE = c.prototype.readUIntBE = function(e, t, i) { e = e >>> 0, t = t >>> 0, i || Y(e, t, this.length); let s = this[e + --t], l = 1; for (; t > 0 && (l *= 256); ) s += this[e + --t] * l; return s; }, c.prototype.readUint8 = c.prototype.readUInt8 = function(e, t) { return e = e >>> 0, t || Y(e, 1, this.length), this[e]; }, c.prototype.readUint16LE = c.prototype.readUInt16LE = function(e, t) { return e = e >>> 0, t || Y(e, 2, this.length), this[e] | this[e + 1] << 8; }, c.prototype.readUint16BE = c.prototype.readUInt16BE = function(e, t) { return e = e >>> 0, t || Y(e, 2, this.length), this[e] << 8 | this[e + 1]; }, c.prototype.readUint32LE = c.prototype.readUInt32LE = function(e, t) { return e = e >>> 0, t || Y(e, 4, this.length), (this[e] | this[e + 1] << 8 | this[e + 2] << 16) + this[e + 3] * 16777216; }, c.prototype.readUint32BE = c.prototype.readUInt32BE = function(e, t) { return e = e >>> 0, t || Y(e, 4, this.length), this[e] * 16777216 + (this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3]); }, c.prototype.readBigUInt64LE = he(function(e) { e = e >>> 0, ve(e, "offset"); const t = this[e], i = this[e + 7]; (t === void 0 || i === void 0) && Be(e, this.length - 8); const s = t + this[++e] * 2 ** 8 + this[++e] * 2 ** 16 + this[++e] * 2 ** 24, l = this[++e] + this[++e] * 2 ** 8 + this[++e] * 2 ** 16 + i * 2 ** 24; return BigInt(s) + (BigInt(l) << BigInt(32)); }), c.prototype.readBigUInt64BE = he(function(e) { e = e >>> 0, ve(e, "offset"); const t = this[e], i = this[e + 7]; (t === void 0 || i === void 0) && Be(e, this.length - 8); const s = t * 2 ** 24 + this[++e] * 2 ** 16 + this[++e] * 2 ** 8 + this[++e], l = this[++e] * 2 ** 24 + this[++e] * 2 ** 16 + this[++e] * 2 ** 8 + i; return (BigInt(s) << BigInt(32)) + BigInt(l); }), c.prototype.readIntLE = function(e, t, i) { e = e >>> 0, t = t >>> 0, i || Y(e, t, this.length); let s = this[e], l = 1, h = 0; for (; ++h < t && (l *= 256); ) s += this[e + h] * l; return l *= 128, s >= l && (s -= Math.pow(2, 8 * t)), s; }, c.prototype.readIntBE = function(e, t, i) { e = e >>> 0, t = t >>> 0, i || Y(e, t, this.length); let s = t, l = 1, h = this[e + --s]; for (; s > 0 && (l *= 256); ) h += this[e + --s] * l; return l *= 128, h >= l && (h -= Math.pow(2, 8 * t)), h; }, c.prototype.readInt8 = function(e, t) { return e = e >>> 0, t || Y(e, 1, this.length), this[e] & 128 ? (255 - this[e] + 1) * -1 : this[e]; }, c.prototype.readInt16LE = function(e, t) { e = e >>> 0, t || Y(e, 2, this.length); const i = this[e] | this[e + 1] << 8; return i & 32768 ? i | 4294901760 : i; }, c.prototype.readInt16BE = function(e, t) { e = e >>> 0, t || Y(e, 2, this.length); const i = this[e + 1] | this[e] << 8; return i & 32768 ? i | 4294901760 : i; }, c.prototype.readInt32LE = function(e, t) { return e = e >>> 0, t || Y(e, 4, this.length), this[e] | this[e + 1] << 8 | this[e + 2] << 16 | this[e + 3] << 24; }, c.prototype.readInt32BE = function(e, t) { return e = e >>> 0, t || Y(e, 4, this.length), this[e] << 24 | this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3]; }, c.prototype.readBigInt64LE = he(function(e) { e = e >>> 0, ve(e, "offset"); const t = this[e], i = this[e + 7]; (t === void 0 || i === void 0) && Be(e, this.length - 8); const s = this[e + 4] + this[e + 5] * 2 ** 8 + this[e + 6] * 2 ** 16 + (i << 24); return (BigInt(s) << BigInt(32)) + BigInt(t + this[++e] * 2 ** 8 + this[++e] * 2 ** 16 + this[++e] * 2 ** 24); }), c.prototype.readBigInt64BE = he(function(e) { e = e >>> 0, ve(e, "offset"); const t = this[e], i = this[e + 7]; (t === void 0 || i === void 0) && Be(e, this.length - 8); const s = (t << 24) + // Overflow this[++e] * 2 ** 16 + this[++e] * 2 ** 8 + this[++e]; return (BigInt(s) << BigInt(32)) + BigInt(this[++e] * 2 ** 24 + this[++e] * 2 ** 16 + this[++e] * 2 ** 8 + i); }), c.prototype.readFloatLE = function(e, t) { return e = e >>> 0, t || Y(e, 4, this.length), f.read(this, e, !0, 23, 4); }, c.prototype.readFloatBE = function(e, t) { return e = e >>> 0, t || Y(e, 4, this.length), f.read(this, e, !1, 23, 4); }, c.prototype.readDoubleLE = function(e, t) { return e = e >>> 0, t || Y(e, 8, this.length), f.read(this, e, !0, 52, 8); }, c.prototype.readDoubleBE = function(e, t) { return e = e >>> 0, t || Y(e, 8, this.length), f.read(this, e, !1, 52, 8); }; function ee(r, e, t, i, s, l) { if (!c.isBuffer(r)) throw new TypeError('"buffer" argument must be a Buffer instance'); if (e > s || e < l) throw new RangeError('"value" argument is out of bounds'); if (t + i > r.length) throw new RangeError("Index out of range"); } c.prototype.writeUintLE = c.prototype.writeUIntLE = function(e, t, i, s) { if (e = +e, t = t >>> 0, i = i >>> 0, !s) { const S = Math.pow(2, 8 * i) - 1; ee(this, e, t, i, S, 0); } let l = 1, h = 0; for (this[t] = e & 255; ++h < i && (l *= 256); ) this[t + h] = e / l & 255; return t + i; }, c.prototype.writeUintBE = c.prototype.writeUIntBE = function(e, t, i, s) { if (e = +e, t = t >>> 0, i = i >>> 0, !s) { const S = Math.pow(2, 8 * i) - 1; ee(this, e, t, i, S, 0); } let l = i - 1, h = 1; for (this[t + l] = e & 255; --l >= 0 && (h *= 256); ) this[t + l] = e / h & 255; return t + i; }, c.prototype.writeUint8 = c.prototype.writeUInt8 = function(e, t, i) { return e = +e, t = t >>> 0, i || ee(this, e, t, 1, 255, 0), this[t] = e & 255, t + 1; }, c.prototype.writeUint16LE = c.prototype.writeUInt16LE = function(e, t, i) { return e = +e, t = t >>> 0, i || ee(this, e, t, 2, 65535, 0), this[t] = e & 255, this[t + 1] = e >>> 8, t + 2; }, c.prototype.writeUint16BE = c.prototype.writeUInt16BE = function(e, t, i) { return e = +e, t = t >>> 0, i || ee(this, e, t, 2, 65535, 0), this[t] = e >>> 8, this[t + 1] = e & 255, t + 2; }, c.prototype.writeUint32LE = c.prototype.writeUInt32LE = function(e, t, i) { return e = +e, t = t >>> 0, i || ee(this, e, t, 4, 4294967295, 0), this[t + 3] = e >>> 24, this[t + 2] = e >>> 16, this[t + 1] = e >>> 8, this[t] = e & 255, t + 4; }, c.prototype.writeUint32BE = c.prototype.writeUInt32BE = function(e, t, i) { return e = +e, t = t >>> 0, i || ee(this, e, t, 4, 4294967295, 0), this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = e & 255, t + 4; }; function We(r, e, t, i, s) { Ze(e, i, s, r, t, 7); let l = Number(e & BigInt(4294967295)); r[t++] = l, l = l >> 8, r[t++] = l, l = l >> 8, r[t++] = l, l = l >> 8, r[t++] = l; let h = Number(e >> BigInt(32) & BigInt(4294967295)); return r[t++] = h, h = h >> 8, r[t++] = h, h = h >> 8, r[t++] = h, h = h >> 8, r[t++] = h, t; } function Ve(r, e, t, i, s) { Ze(e, i, s, r, t, 7); let l = Number(e & BigInt(4294967295)); r[t + 7] = l, l = l >> 8, r[t + 6] = l, l = l >> 8, r[t + 5] = l, l = l >> 8, r[t + 4] = l; let h = Number(e >> BigInt(32) & BigInt(4294967295)); return r[t + 3] = h, h = h >> 8, r[t + 2] = h, h = h >> 8, r[t + 1] = h, h = h >> 8, r[t] = h, t + 8; } c.prototype.writeBigUInt64LE = he(function(e, t = 0) { return We(this, e, t, BigInt(0), BigInt("0xffffffffffffffff")); }), c.prototype.writeBigUInt64BE = he(function(e, t = 0) { return Ve(this, e, t, BigInt(0), BigInt("0xffffffffffffffff")); }), c.prototype.writeIntLE = function(e, t, i, s) { if (e = +e, t = t >>> 0, !s) { const z = Math.pow(2, 8 * i - 1); ee(this, e, t, i, z - 1, -z); } let l = 0, h = 1, S = 0; for (this[t] = e & 255; ++l < i && (h *= 256); ) e < 0 && S === 0 && this[t + l - 1] !== 0 && (S = 1), this[t + l] = (e / h >> 0) - S & 255; return t + i; }, c.prototype.writeIntBE = function(e, t, i, s) { if (e = +e, t = t >>> 0, !s) { const z = Math.pow(2, 8 * i - 1); ee(this, e, t, i, z - 1, -z); } let l = i - 1, h = 1, S = 0; for (this[t + l] = e & 255; --l >= 0 && (h *= 256); ) e < 0 && S === 0 && this[t + l + 1] !== 0 && (S = 1), this[t + l] = (e / h >> 0) - S & 255; return t + i; }, c.prototype.writeInt8 = function(e, t, i) { return e = +e, t = t >>> 0, i || ee(this, e, t, 1, 127, -128), e < 0 && (e = 255 + e + 1), this[t] = e & 255, t + 1; }, c.prototype.writeInt16LE = function(e, t, i) { return e = +e, t = t >>> 0, i || ee(this, e, t, 2, 32767, -32768), this[t] = e & 255, this[t + 1] = e >>> 8, t + 2; }, c.prototype.writeInt16BE = function(e, t, i) { return e = +e, t = t >>> 0, i || ee(this, e, t, 2, 32767, -32768), this[t] = e >>> 8, this[t + 1] = e & 255, t + 2; }, c.prototype.writeInt32LE = function(e, t, i) { return e = +e, t = t >>> 0, i || ee(this, e, t, 4, 2147483647, -2147483648), this[t] = e & 255, this[t + 1] = e >>> 8, this[t + 2] = e >>> 16, this[t + 3] = e >>> 24, t + 4; }, c.prototype.writeInt32BE = function(e, t, i) { return e = +e, t = t >>> 0, i || ee(this, e, t, 4, 2147483647, -2147483648), e < 0 && (e = 4294967295 + e + 1), this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = e & 255, t + 4; }, c.prototype.writeBigInt64LE = he(function(e, t = 0) { return We(this, e, t, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff")); }), c.prototype.writeBigInt64BE = he(function(e, t = 0) { return Ve(this, e, t, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff")); }); function He(r, e, t, i, s, l) { if (t + i > r.length) throw new RangeError("Index out of range"); if (t < 0) throw new RangeError("Index out of range"); } function Ye(r, e, t, i, s) { return e = +e, t = t >>> 0, s || He(r, e, t, 4), f.write(r, e, t, i, 23, 4), t + 4; } c.prototype.writeFloatLE = function(e, t, i) { return Ye(this, e, t, !0, i); }, c.prototype.writeFloatBE = function(e, t, i) { return Ye(this, e, t, !1, i); }; function Xe(r, e, t, i, s) { return e = +e, t = t >>> 0, s || He(r, e, t, 8), f.write(r, e, t, i, 52, 8), t + 8; } c.prototype.writeDoubleLE = function(e, t, i) { return Xe(this, e, t, !0, i); }, c.prototype.writeDoubleBE = function(e, t, i) { return Xe(this, e, t, !1, i); }, c.prototype.copy = function(e, t, i, s) { if (!c.isBuffer(e)) throw new TypeError("argument should be a Buffer"); if (i || (i = 0), !s && s !== 0 && (s = this.length), t >= e.length && (t = e.length), t || (t = 0), s > 0 && s < i && (s = i), s === i || e.length === 0 || this.length === 0) return 0; if (t < 0) throw new RangeError("targetStart out of bounds"); if (i < 0 || i >= this.length) throw new RangeError("Index out of range"); if (s < 0) throw new RangeError("sourceEnd out of bounds"); s > this.length && (s = this.length), e.length - t < s - i && (s = e.length - t + i); const l = s - i; return this === e && typeof Uint8Array.prototype.copyWithin == "function" ? this.copyWithin(t, i, s) : Uint8Array.prototype.set.call( e, this.subarray(i, s), t ), l; }, c.prototype.fill = function(e, t, i, s) { if (typeof e == "string") { if (typeof t == "string" ? (s = t, t = 0, i = this.length) : typeof i == "string" && (s = i, i = this.length), s !== void 0 && typeof s != "string") throw new TypeError("encoding must be a string"); if (typeof s == "string" && !c.isEncoding(s)) throw new TypeError("Unknown encoding: " + s); if (e.length === 1) { const h = e.charCodeAt(0); (s === "utf8" && h < 128 || s === "latin1") && (e = h); } } else typeof e == "number" ? e = e & 255 : typeof e == "boolean" && (e = Number(e)); if (t < 0 || this.length < t || this.length < i) throw new RangeError("Out of range index"); if (i <= t) return this; t = t >>> 0, i = i === void 0 ? this.length : i >>> 0, e || (e = 0); let l; if (typeof e == "number") for (l = t; l < i; ++l) this[l] = e; else { const h = c.isBuffer(e) ? e : c.from(e, s), S = h.length; if (S === 0) throw new TypeError('The value "' + e + '" is invalid for argument "value"'); for (l = 0; l < i - t; ++l) this[l + t] = h[l % S]; } return this; }; const we = {}; function Je(r, e, t) { we[r] = class extends t { constructor() { super(), Object.defineProperty(this, "message", { value: e.apply(this, arguments), writable: !0, configurable: !0 }), this.name = `${this.name} [${r}]`, this.stack, delete this.name; } get code() { return r; } set code(s) { Object.defineProperty(this, "code", { configurable: !0, enumerable: !0, value: s, writable: !0 }); } toString() { return `${this.name} [${r}]: ${this.message}`; } }; } Je( "ERR_BUFFER_OUT_OF_BOUNDS", function(r) { return r ? `${r} is outside of buffer bounds` : "Attempt to access memory outside buffer bounds"; }, RangeError ), Je( "ERR_INVALID_ARG_TYPE", function(r, e) { return `The "${r}" argument must be of type number. Received type ${typeof e}`; }, TypeError ), Je( "ERR_OUT_OF_RANGE", function(r, e, t) { let i = `The value of "${r}" is out of range.`, s = t; return Number.isInteger(t) && Math.abs(t) > 2 ** 32 ? s = Ke(String(t)) : typeof t == "bigint" && (s = String(t), (t > BigInt(2) ** BigInt(32) || t < -(BigInt(2) ** BigInt(32))) && (s = Ke(s)), s += "n"), i += ` It must be ${e}. Received ${s}`, i; }, RangeError ); function Ke(r) { let e = "", t = r.length; const i = r[0] === "-" ? 1 : 0; for (; t >= i + 4; t -= 3) e = `_${r.slice(t - 3, t)}${e}`; return `${r.slice(0, t)}${e}`; } function dt(r, e, t) { ve(e, "offset"), (r[e] === void 0 || r[e + t] === void 0) && Be(e, r.length - (t + 1)); } function Ze(r, e, t, i, s, l) { if (r > t || r < e) { const h = typeof e == "bigint" ? "n" : ""; let S; throw l > 3 ? e === 0 || e === BigInt(0) ? S = `>= 0${h} and < 2${h} ** ${(l + 1) * 8}${h}` : S = `>= -(2${h} ** ${(l + 1) * 8 - 1}${h}) and < 2 ** ${(l + 1) * 8 - 1}${h}` : S = `>= ${e}${h} and <= ${t}${h}`, new we.ERR_OUT_OF_RANGE("value", S, r); } dt(i, s, l); } function ve(r, e) { if (typeof r != "number") throw new we.ERR_INVALID_ARG_TYPE(e, "number", r); } function Be(r, e, t) { throw Math.floor(r) !== r ? (ve(r, t), new we.ERR_OUT_OF_RANGE(t || "offset", "an integer", r)) : e < 0 ? new we.ERR_BUFFER_OUT_OF_BOUNDS() : new we.ERR_OUT_OF_RANGE( t || "offset", `>= ${t ? 1 : 0} and <= ${e}`, r ); } const mt = /[^+/0-9A-Za-z-_]/g; function ft(r) { if (r = r.split("=")[0], r = r.trim().replace(mt, ""), r.length < 2) return ""; for (; r.length % 4 !== 0; ) r = r + "="; return r; } function Ce(r, e) { e = e || 1 / 0; let t; const i = r.length; let s = null; const l = []; for (let h = 0; h < i; ++h) { if (t = r.charCodeAt(h), t > 55295 && t < 57344) { if (!s) { if (t > 56319) { (e -= 3) > -1 && l.push(239, 191, 189); continue; } else if (h + 1 === i) { (e -= 3) > -1 && l.push(239, 191, 189); continue; } s = t; continue; } if (t < 56320) { (e -= 3) > -1 && l.push(239, 191, 189), s = t; continue; } t = (s - 55296 << 10 | t - 56320) + 65536; } else s && (e -= 3) > -1 && l.push(239, 191, 189); if (s = null, t < 128) { if ((e -= 1) < 0) break; l.push(t); } else if (t < 2048) { if ((e -= 2) < 0) break; l.push( t >> 6 | 192, t & 63 | 128 ); } else if (t < 65536) { if ((e -= 3) < 0) break; l.push( t >> 12 | 224, t >> 6 & 63 | 128, t & 63 | 128 ); } else if (t < 1114112) { if ((e -= 4) < 0) break; l.push( t >> 18 | 240, t >> 12 & 63 | 128, t >> 6 & 63 | 128, t & 63 | 128 ); } else throw new Error("Invalid code point"); } return l; } function ht(r) { const e = []; for (let t = 0; t < r.length; ++t) e.push(r.charCodeAt(t) & 255); return e; } function bt(r, e) { let t, i, s; const l = []; for (let h = 0; h < r.length && !((e -= 2) < 0); ++h) t = r.charCodeAt(h), i = t >> 8, s = t % 256, l.push(s), l.push(i); return l; } function Qe(r) { return d.toByteArray(ft(r)); } function Te(r, e, t, i) { let s; for (s = 0; s < i && !(s + t >= e.length || s >= r.length); ++s) e[s + t] = r[s]; return s; } function pe(r, e) { return r instanceof e || r != null && r.constructor != null && r.constructor.name != null && r.constructor.name === e.name; } function Re(r) { return r !== r; } const gt = function() { const r = "0123456789abcdef", e = new Array(256); for (let t = 0; t < 16; ++t) { const i = t * 16; for (let s = 0; s < 16; ++s) e[i + s] = r[t] + r[s]; } return e; }(); function he(r) { return typeof BigInt > "u" ? yt : r; } function yt() { throw new Error("BigInt not supported"); } })(be); function ne(u) { let d = {}; return u.forEach(function(f, x) { d[f] = x; }), d.lookup = u, d; } function tt(u, d) { for (let f in d) d[f] && d[f].constructor === Object ? (u[f] = u[f] || {}, tt(u[f], d[f])) : u[f] = d[f]; return u; } let O = { "document-state": ne([ , , , // 0x00-0x02 "pending", , // 0x04 "processing", , // 0x06 "canceled", // 0x07 "aborted", // 0x08 "completed" // 0x09 ]), finishings: ne([ , , , // 0x00 - 0x02 "none", // 0x03 http://tools.ietf.org/html/rfc2911#section-4.2.6 "staple", // 0x04 http://tools.ietf.org/html/rfc2911#section-4.2.6 "punch", // 0x05 http://tools.ietf.org/html/rfc2911#section-4.2.6 "cover", // 0x06 http://tools.ietf.org/html/rfc2911#section-4.2.6 "bind", // 0x07 http://tools.ietf.org/html/rfc2911#section-4.2.6 "saddle-stitch", // 0x08 http://tools.ietf.org/html/rfc2911#section-4.2.6 "edge-stitch", // 0x09 http://tools.ietf.org/html/rfc2911#section-4.2.6 "fold", // 0x0A http://tools.ietf.org/html/rfc2911#section-4.2.6 "trim", // 0x0B ftp://ftp.pwg.org/pub/pwg/ipp/new_VAL/pwg5100.1.pdf "bale", // 0x0C ftp://ftp.pwg.org/pub/pwg/ipp/new_VAL/pwg5100.1.pdf "booklet-maker", // 0x0D ftp://ftp.pwg.org/pub/pwg/ipp/new_VAL/pwg5100.1.pdf "jog-offset", , , , , , // 0x0F - 0x13 reserved for future generic finishing enum values. "staple-top-left", // 0x14 http://tools.ietf.org/html/rfc2911#section-4.2.6 "staple-bottom-left", // 0x15 http://tools.ietf.org/html/rfc2911#section-4.2.6 "staple-top-right", // 0x16 http://tools.ietf.org/html/rfc2911#section-4.2.6 "staple-bottom-right", // 0x17 http://tools.ietf.org/html/rfc2911#section-4.2.6 "edge-stitch-left", // 0x18 http://tools.ietf.org/html/rfc2911#section-4.2.6 "edge-stitch-top", // 0x19 http://tools.ietf.org/html/rfc2911#section-4.2.6 "edge-stitch-right", // 0x1A http://tools.ietf.org/html/rfc2911#section-4.2.6 "edge-stitch-bottom", // 0x1B http://tools.ietf.org/html/rfc2911#section-4.2.6 "staple-dual-left", // 0x1C http://tools.ietf.org/html/rfc2911#section-4.2.6 "staple-dual-top", // 0x1D http://tools.ietf.org/html/rfc2911#section-4.2.6 "staple-dual-right", // 0x1E http://tools.ietf.org/html/rfc2911#section-4.2.6 "staple-dual-bottom", , , , , , , , , , , , , , , , , , , // 0x20 - 0x31 reserved for future specific stapling and stitching enum values. "bind-left", // 0x32 ftp://ftp.pwg.org/pub/pwg/ipp/new_VAL/pwg5100.1.pdf "bind-top", // 0x33 ftp://ftp.pwg.org/pub/pwg/ipp/new_VAL/pwg5100.1.pdf "bind-right", // 0x34 ftp://ftp.pwg.org/pub/pwg/ipp/new_VAL/pwg5100.1.pdf "bind-bottom", , , , , , , // 0x36 - 0x3B "trim-after-pages", // 0x3C ftp://ftp.pwg.org/pub/pwg/candidates/cs-ippjobprinterext3v10-20120727-5100.13.pdf (IPP Everywhere) "trim-after-documents", // 0x3D ftp://ftp.pwg.org/pub/pwg/candidates/cs-ippjobprinterext3v10-20120727-5100.13.pdf (IPP Everywhere) "trim-after-copies", // 0x3E ftp://ftp.pwg.org/pub/pwg/candidates/cs-ippjobprinterext3v10-20120727-5100.13.pdf (IPP Everywhere) "trim-after-job" // 0x3F ftp://ftp.pwg.org/pub/pwg/candidates/cs-ippjobprinterext3v10-20120727-5100.13.pdf (IPP Everywhere) ]), "operations-supported": ne([ , , // 0x01 "Print-Job", // 0x02 http://tools.ietf.org/html/rfc2911#section-3.2.1 "Print-URI", // 0x03 http://tools.ietf.org/html/rfc2911#section-3.2.2 "Validate-Job", // 0x04 http://tools.ietf.org/html/rfc2911#section-3.2.3 "Create-Job", // 0x05 http://tools.ietf.org/html/rfc2911#section-3.2.4 "Send-Document", // 0x06 http://tools.ietf.org/html/rfc2911#section-3.3.1 "Send-URI", // 0x07 http://tools.ietf.org/html/rfc2911#section-3.3.2 "Cancel-Job", // 0x08 http://tools.ietf.org/html/rfc2911#section-3.3.3 "Get-Job-Attributes", // 0x09 http://tools.ietf.org/html/rfc2911#section-3.3.4 "Get-Jobs", // 0x0A http://tools.ietf.org/html/rfc2911#section-3.2.6 "Get-Printer-Attributes", // 0x0B http://tools.ietf.org/html/rfc2911#section-3.2.5 "Hold-Job", // 0x0C http://tools.ietf.org/html/rfc2911#section-3.3.5 "Release-Job", // 0x0D http://tools.ietf.org/html/rfc2911#section-3.3.6 "Restart-Job", , // 0x0F "Pause-Printer", // 0x10 http://tools.ietf.org/html/rfc2911#section-3.2.7 "Resume-Printer", // 0x11 http://tools.ietf.org/html/rfc2911#section-3.2.8 "Purge-Jobs", // 0x12 http://tools.ietf.org/html/rfc2911#section-3.2.9 "Set-Printer-Attributes", // 0x13 IPP2.1 http://tools.ietf.org/html/rfc3380#section-4.1 "Set-Job-Attributes", // 0x14 IPP2.1 http://tools.ietf.org/html/rfc3380#section-4.2 "Get-Printer-Supported-Values", // 0x15 IPP2.1 http://tools.ietf.org/html/rfc3380#section-4.3 "Create-Printer-Subscriptions", // 0x16 IPP2.1 http://tools.ietf.org/html/rfc3995#section-7.1 && http://tools.ietf.org/html/rfc3995#section-11.1.2 "Create-Job-Subscription", // 0x17 IPP2.1 http://tools.ietf.org/html/rfc3995#section-7.1 && http://tools.ietf.org/html/rfc3995#section-11.1.1 "Get-Subscription-Attributes", // 0x18 IPP2.1 http://tools.ietf.org/html/rfc3995#section-7.1 && http://tools.ietf.org/html/rfc3995#section-11.2.4 "Get-Subscriptions", // 0x19 IPP2.1 http://tools.ietf.org/html/rfc3995#section-7.1 && http://tools.ietf.org/html/rfc3995#section-11.2.5 "Renew-Subscription", // 0x1A IPP2.1 http://tools.ietf.org/html/rfc3995#section-7.1 && http://tools.ietf.org/html/rfc3995#section-11.2.6 "Cancel-Subscription", // 0x1B IPP2.1 http://tools.ietf.org/html/rfc3995#section-7.1 && http://tools.ietf.org/html/rfc3995#section-11.2.7 "Get-Notifications", // 0x1C IPP2.1 IPP2.1 http://tools.ietf.org/html/rfc3996#section-9.2 && http://tools.ietf.org/html/rfc3996#section-5 "ipp-indp-method", // 0x1D did not get standardized "Get-Resource-Attributes", // 0x1E http://tools.ietf.org/html/draft-ietf-ipp-get-resource-00#section-4.1 did not get standardized "Get-Resource-Data", // 0x1F http://tools.ietf.org/html/draft-ietf-ipp-get-resource-00#section-4.2 did not get standardized "Get-Resources", // 0x20 http://tools.ietf.org/html/draft-ietf-ipp-get-resource-00#section-4.3 did not get standardized "ipp-install", // 0x21 did not get standardized "Enable-Printer", // 0x22 http://tools.ietf.org/html/rfc3998#section-3.1.1 "Disable-Printer", // 0x23 http://tools.ietf.org/html/rfc3998#section-3.1.2 "Pause-Printer-After-Current-Job", // 0x24 http://tools.ietf.org/html/rfc3998#section-3.2.1 "Hold-New-Jobs", // 0x25 http://tools.ietf.org/html/rfc3998#section-3.3.1 "Release-Held-New-Jobs", // 0x26 http://tools.ietf.org/html/rfc3998#section-3.3.2 "Deactivate-Printer", // 0x27 http://tools.ietf.org/html/rfc3998#section-3.4.1 "Activate-Printer", // 0x28 http://tools.ietf.org/html/rfc3998#section-3.4.2 "Restart-Printer", // 0x29 http://tools.ietf.org/html/rfc3998#section-3.5.1 "Shutdown-Printer", // 0x2A http://tools.ietf.org/html/rfc3998#section-3.5.2 "Startup-Printer", // 0x2B http://tools.ietf.org/html/rfc3998#section-3.5.3 "Reprocess-Job", // 0x2C http://tools.ietf.org/html/rfc3998#section-4.1 "Cancel-Current-Job", // 0x2D http://tools.ietf.org/html/rfc3998#section-4.2 "Suspend-Current-Job", // 0x2E http://tools.ietf.org/html/rfc3998#section-4.3.1 "Resume-Job", // 0x2F http://tools.ietf.org/html/rfc3998#section-4.3.2 "Promote-Job", // 0x30 http://tools.ietf.org/html/rfc3998#section-4.4.1 "Schedule-Job-After", , // 0x32 "Cancel-Document", // 0x33 ftp://ftp.pwg.org/pub/pwg/candidates/cs-ippdocobject10-20031031-5100.5.pdf "Get-Document-Attributes", // 0x34 ftp://ftp.pwg.org/pub/pwg/candidates/cs-ippdocobject10-20031031-5100.5.pdf "Get-Documents", // 0x35 ftp://ftp.pwg.org/pub/pwg/candidates/cs-ippdocobject10-20031031-5100.5.pdf "Delete-Document", // 0x36 ftp://ftp.pwg.org/pub/pwg/candidates/cs-ippdocobject10-20031031-5100.5.pdf "Set-Document-Attributes", // 0x37 ftp://ftp.pwg.org/pub/pwg/candidates/cs-ippdocobject10-20031031-5100.5.pdf "Cancel-Jobs", // 0x38 ftp://ftp.pwg.org/pub/pwg/candidates/cs-ippjobprinterext10-20101030-5100.11.pdf "Cancel-My-Jobs", // 0x39 ftp://ftp.pwg.org/pub/pwg/candidates/cs-ippjobprinterext10-20101030-5100.11.pdf "Resubmit-Job", // 0x3A ftp://ftp.pwg.org/pub/pwg/candidates/cs-ippjobprinterext10-20101030-5100.11.pdf "Close-Job", // 0x3B ftp://ftp.pwg.org/pub/pwg/candidates/cs-ippjobprinterext10-20101030-5100.11.pdf "Identify-Printer", // 0x3C ftp://ftp.pwg.org/pub/pwg/candidates/cs-ippjobprinterext3v10-20120727-5100.13.pdf "Validate-Document" // 0x3D ftp://ftp.pwg.org/pub/pwg/candidates/cs-ippjobprinterext3v10-20120727-5100.13.pdf ]), "job-collation-type": ne([ // IPP2.1 http://tools.ietf.org/html/rfc3381#section-6.3 "other", // 0x01 "unknown", // 0x02 "uncollated-documents", // 0x03 "collated-documents", // 0x04 "uncollated-documents" // 0x05 ]), "job-state": ne([ , , , // 0x00-0x02 "pending", // 0x03 "pending-held", // 0x04 "processing", // 0x05 "processing-stopped", // 0x06 "canceled", // 0x07 "aborted", // 0x08 "completed" // 0x09 ]), "orientation-requested": ne([ , , , // 0x00-0x02 "portrait", // 0x03 "landscape", // 0x04 "reverse-landscape", // 0x05 "reverse-portrait", // 0x06 "none" // 0x07 ftp://ftp.pwg.org/pub/pwg/candidates/cs-ippjobprinterext3v10-20120727-5100.13.pdf ]), "print-quality": ne([ , , , // 0x00-0x02 "draft", // 0x03 "normal", // 0x04 "high" // 0x05 ]), "printer-state": ne([ , , , // 0x00-0x02 "idle", // 0x03 "processing", // 0x04 "stopped" // 0x05 ]) }; O["finishings-default"] = O.finishings; O["finishings-ready"] = O.finishings; O["finishings-supported"] = O.finishings; O["media-source-feed-orientation"] = O["orientation-requested"]; O["orientation-requested-default"] = O["orientation-requested"]; O["orientation-requested-supported"] = O["orientation-requested"]; O["print-quality-default"] = O["print-quality"]; O["print-quality-supported"] = O["print-quality"]; let E = []; E[0] = "successful-ok"; E[1] = "successful-ok-ignored-or-substituted-attributes"; E[2] = "successful-ok-conflicting-attributes"; E[3] = "successful-ok-ignored-subscriptions"; E[4] = "successful-ok-ignored-notifications"; E[5] = "successful-ok-too-many-events"; E[6] = "successful-ok-but-cancel-subscription"; E[7] = "successful-ok-events-complete"; E[1024] = "client-error-bad-request"; E[1025] = "client-error-forbidden"; E[1026] = "client-error-not-authenticated"; E[1027] = "client-error-not-authorized"; E[1028] = "client-error-not-possible"; E[1029] = "client-error-timeout"; E[1030] = "client-error-not-found"; E[1031] = "client-error-gone"; E[1032] = "client-error-request-entity-too-large"; E[1033] = "client-error-request-value-too-long"; E[1034] = "client-error-document-format-not-supported"; E[1035] = "client-error-attributes-or-values-not-supported"; E[1036] = "client-error-uri-scheme-not-supported"; E[1037] = "client-error-charset-not-supported"; E[1038] = "client-error-conflicting-attributes"; E[1039] = "client-error-compression-not-supported"; E[1040] = "client-error-compression-error"; E[1041] = "client-error-document-format-error"; E[1042] = "client-error-document-access-error"; E[1043] = "client-error-attributes-not-settable"; E[1044] = "client-error-ignored-all-subscriptions"; E[1045] = "client-error-too-many-subscriptions"; E[1046] = "client-error-ignored-all-notifications"; E[1047] = "client-error-client-print-support-file-not-found"; E[1048] = "client-error-document-password-error"; E[1049] = "client-error-document-permission-error"; E[1050] = "client-error-document-security-error"; E[1051] = "client-error-document-unprintable-error"; E[1280] = "server-error-internal-error"; E[1281] = "server-error-operation-not-supported"; E[1282] = "server-error-service-unavailable"; E[1283] = "server-error-version-not-supported"; E[1284] = "server-error-device-error"; E[1285] = "server-error-temporary-error"; E[1286] = "server-error-not-accepting-jobs"; E[1287] = "server-error-busy"; E[1288] = "server-error-job-canceled"; E[1289] = "server-error-multiple-document-jobs-not-supported"; E[1290] = "server-error-printer-is-deactivated"; E[1291] = "server-error-too-many-jobs"; E[1292] = "server-error-too-many-documents"; const rt = ne(E); let it = [ , // 0x00 http://tools.ietf.org/html/rfc2910#section-3.5.1 "operation-attributes-tag", // 0x01 http://tools.ietf.org/html/rfc2910#section-3.5.1 "job-attributes-tag", // 0x02 http://tools.ietf.org/html/rfc2910#section-3.5.1 "end-of-attributes-tag", // 0x03 http://tools.ietf.org/html/rfc2910#section-3.5.1 "printer-attributes-tag", // 0x04 http://tools.ietf.org/html/rfc2910#section-3.5.1 "unsupported-attributes-tag", // 0x05 http://tools.ietf.org/html/rfc2910#section-3.5.1 "subscription-attributes-tag", // 0x06 http://tools.ietf.org/html/rfc3995#section-14 "event-notification-attributes-tag", // 0x07 http://tools.ietf.org/html/rfc3995#section-14 "resource-attributes-tag", // 0x08 http://tools.ietf.org/html/draft-ietf-ipp-get-resource-00#section-11 did not get standardized "document-attributes-tag", , , , , , , "unsupported", // 0x10 http://tools.ietf.org/html/rfc2910#section-3.5.2 "default", // 0x11 http://tools.ietf.org/html/rfc2910#section-3.5.2 "unknown", // 0x12 http://tools.ietf.org/html/rfc2910#section-3.5.2 "no-value", , "not-settable", // 0x15 http://tools.ietf.org/html/rfc3380#section-8.1 "delete-attribute", // 0x16 http://tools.ietf.org/html/rfc3380#section-8.2 "admin-define", , , , , , , , , , "integer", // 0x21 http://tools.ietf.org/html/rfc2910#section-3.5.2 "boolean", // 0x22 http://tools.ietf.org/html/rfc2910#section-3.5.2 "enum", , , , , , , , , , , , , "octetString", // 0x30 http://tools.ietf.org/html/rfc2910#section-3.5.2 "dateTime", // 0x31 http://tools.ietf.org/html/rfc2910#section-3.5.2 "resolution", // 0x32 http://tools.ietf.org/html/rfc2910#section-3.5.2 "rangeOfInteger", // 0x33 http://tools.ietf.org/html/rfc2910#section-3.5.2 "begCollection", // 0x34 http://tools.ietf.org/html/rfc3382#section-7.1 "textWithLanguage", // 0x35 http://tools.ietf.org/html/rfc2910#section-3.5.2 "nameWithLanguage", // 0x36 http://tools.ietf.org/html/rfc2910#section-3.5.2 "endCollection", , , , , , , , , , "textWithoutLanguage", // 0x41 http://tools.ietf.org/html/rfc2910#section-3.5.2 "nameWithoutLanguage", , "keyword", // 0x44 http://tools.ietf.org/html/rfc2910#section-3.5.2 "uri", // 0x45 http://tools.ietf.org/html/rfc2910#section-3.5.2 "uriScheme", // 0x46 http://tools.ietf.org/html/rfc2910#section-3.5.2 "charset", // 0x47 http://tools.ietf.org/html/rfc2910#section-3.5.2 "naturalLanguage", // 0x48 http://tools.ietf.org/html/rfc2910#section-3.5.2 "mimeMediaType", // 0x49 http://tools.ietf.org/html/rfc2910#section-3.5.2 "memberAttrName" // 0x4A http://tools.ietf.org/html/rfc3382#section-7.1 ]; it[127] = "extension"; const v = ne(it); let At = O["operations-supported"], Ft = ""; function Ut(u) { let d = {}, f = 0, x = "utf8"; function w() { return u[f++]; } function j() { let F = u.readInt16BE(f, !0); return f += 2, F; } function _() { let F = u.readInt32BE(f, !0); return f += 4, F; } function c(F, y) { return F == 0 ? "" : u.toString(y || x, f, f += F); } function C() { let F; for (; f < u.length && (F = w()) !== 3; ) Z(F); } function Z(F) { let y = v.lookup[F]; for (F = {}, d[y] ? (Array.isArray(d[y]) || (d[y] = [d[y]]), d[y].push(F)) : d[y] = F; u[f] >= 15; ) G(F); } function G(F) { let y = w(); y === 127 && (y = _()); let k = c(j()); F[k] = te(y, k); } function N() { let F = u[f]; return F !== 74 && //tags.memberAttrName F !== 55 && //tags.endCollection F !== 3 && //tags.end-of-attributes-tag u[f + 1] === 0 && u[f + 2] === 0; } function te(F, y) { let k = W(F, y); if (N()) { k = [k]; do F = w(), j(), k.push(W(F, y)); while (N()); } return k; } function W(F, y) { let k = j(); switch (F) { case v.enum: let T = _(); return O[y] && O[y].lookup[T] || T; case v.integer: return _(); case v.boolean: return !!w(); case v.rangeOfInteger: return [_(), _()]; case v.resolution: return [_(), _(), w() === 3 ? "dpi" : "dpcm"]; case v.dateTime: let q = new Date( j(), w(), w(), w(), w(), w(), w() ); return /* @__PURE__ */ new Date( q.toISOString().substr(0, 23).replace("T", ",") + "," + String.fromCharCode(c(1)) + c(1) + ":" + c(1) ); case v.textWithLanguage: case v.nameWithLanguage: let V = c(j()), Q = c(j()); return V + Ft + Q; case v.nameWithoutLanguage: case v.textWithoutLanguage: case v.octetString: case v.memberAttrName: return c(k); case v.keyword: case v.uri: case v.uriScheme: case v.charset: case v.naturalLanguage: case v.mimeMediaType: return c(k, "ascii"); case v.begCollection: return c(k), ue(); case v["no-value"]: } } function ue() { let F, y = {}; for (; (F = w()) !== 55; ) { if (F !== 74) { console.log("unexpected:", v.lookup[F]); return; } c(j()); let k = W(74), T = oe(); y[k] = T; } return c(j()), c(j()), y; } function oe(F) { let y = w(); return y === 127 && (y = _()), c(j()), te(y, F); } d.version = w() + "." + w(); let ce = j(); return (ce >= 2 || ce <= 61) && (d.operation = At.lookup[ce]), (ce <= 7 || ce >= 1024) && (d.statusCode = rt.lookup[ce]), d.id = _(), C(), f < u.length && (d.data = u.toString(x, f)), d; } function Ot(u) { const d = Ut(be.Buffer.from(u.data)); return delete d.operation, d; } function I(u) { return u || (u = 1023), { type: "text", max: u }; } function p(u, d) { return (d == m || d === void 0) && (d = 2147483647), u === void 0 && (u = -2147483648), { type: "integer", tag: v.integer, min: u, max: d }; } function J(u, d) { return (d == m || d === void 0) && (d = 2147483647), u === void 0 && (u = -2147483648), { type: "rangeOfInteger", tag: v.rangeOfInteger, min: u, max: d }; } function P() { return { type: "boolean", tag: v.boolean }; } function ae() { return { type: "charset", tag: v.charset, max: 63 }; } function n() { return { type: "keyword", tag: v.keyword, min: 1, max: 1023 }; } function ie() { return { type: "naturalLanguage", tag: v.naturalLanguage, max: 63 }; } function se() { return { type: "dateTime", tag: v.dateTime }; } function me() { return { type: "mimeMediaType", tag: v.mimeMediaType, max: 255 }; } function U(u) { return { type: "uri", tag: v.uri, max: u || 1023 }; } function De() { return { type: "uriScheme", tag: v.uriScheme, max: 63 }; } function R() { return { type: "enumeration", tag: v.enum }; } function ye() { return { type: "resolution", tag: v.resolution }; } function St() { return { type: "unknown", tag: v.unknown }; } function xe(u) { return { type: "name", max: u || 1023 }; } function H() { return { type: "novalue", tag: v["no-value"] }; } function ge(u) { return { type: "octetString", tag: v.octetString, max: u || 1023 }; } function b(u, d, f) { let x = Array.prototype.slice.call(arguments); x.lookup = {}; const w = Ae(function() { return x.forEach(function(j, _) { var c; typeof j == "function" && (x[_] = j()), x.lookup[(c = x[_]) == null ? void 0 : c.type] = x[_]; }), x.alts = Object.keys(x.lookup).sort().join(), x; }); return x.some(function(j) { return Fe(j); }) ? w : w(); } const Ae = function(u) { return u.isDeferred = !0, u; }, Fe = function(u) { return typeof u == "function" && u.isDeferred; }; function o(u) { return Fe(u) ? Ae(function() { return u = u(), u.setof = !0, u; }) : (typeof u == "function" && !Fe(u) && (u = u()), u); } function g(u, d) { if (!arguments.length) return { type: "collection", tag: v.begCollection }; if (typeof u == "string") return Ae(function() { return { type: "collection", tag: v.begCollection, members: X[u][d].members }; }); let f = Object.keys(u).some(function(w) { return Fe(u[w]); }); const x = Ae(function() { return { type: "collection", tag: v.begCollection, members: Me(u) }; }); return f ? x : x(); } let m = {}, X = {}; X["Document Description"] = { "attributes-charset": ae, "attributes-natural-language": ie, compression: n, "copies-actual": o(p(1, m)), "cover-back-actual": o(g("Job Template", "cover-back")), "cover-front-actual": o(g("Job Template", "cover-front")), "current-page-order": n, "date-time-at-completed": b(se, H, null), "date-time-at-creation": se, "date-time-at-processing": b(se, H, null), "detailed-status-messages": o(I), "document-access-errors": o(I), "document-charset": ae, "document-digital-signature": n, "document-format": me, "document-format-details": o( g("Operation", "document-format-details") ), "document-format-details-detected": o( g("Operation", "document-format-details") ), "document-format-detected": me, "document-format-version": I(127), "document-format-version-detected": I(127), "document-job-id": p(1, m), "document-job-uri": U, "document-message": I, "document-metadata": o(ge), "document-name": name, "document-natural-language": ie, "document-number": p(1, m), "document-printer-uri": U, "document-state": R, "document-state-message": I, "document-state-reasons": o(n), "document-uri": U, "document-uuid": U(45), "errors-count": p(0, m), "finishings-actual": o(R), "finishings-col-actual": o(g("Job Template", "finishings-col")), "force-front-side-actual": o(p(1, m)), "imposition-template-actual": o(b(n, name, null)), impressions: p(0, m), "impressions-completed": p(0, m), "impressions-completed-current-copy": p(0, m), "insert-sheet-actual": o(g("Job Template", "insert-sheet")), "k-octets": p(0, m), "k-octets-processed": p(0, m), "last-document": P, "media-actual": o(b(n, name, null)), "media-col-actual": o(g("Job Template", "media-col")), "media-input-tray-check-actual": o(b(n, name, null)), "media-sheets": p(0, m), "media-sheets-completed": p(0, m), "more-info": U, "number-up-actual": o(p), "orientation-requested-actual": o(R), "output-bin-actual": o(name), "output-device-assigned": xe(127), "overrides-actual": o(g("Document Template", "overrides")), "page-delivery-actual": o(n), "page-order-received-actual": o(n), "page-ranges-actual": o(J(1, m)), pages: p(0, m), "pages-completed": p(0, m), "pages-completed-current-copy": p(0, m), "presentation-direction-number-up-actual": o(n), "print-content-optimize-actual": o(n), "print-quality-actual": o(R), "printer-resolution-actual": o(ye), "printer-up-time": p(1, m), "separator-sheets-actual": o( g("Job Template", "separator-sheets") ), "sheet-completed-copy-number": p(0, m), "sides-actual": o(n), "time-at-completed": b(p, H, null), "time-at-creation": p, "time-at-processing": b(p, H, null), "x-image-position-actual": o(n), "x-image-shift-actual": o(p), "x-side1-image-shift-actual": o(p), "x-side2-image-shift-actual": o(p), "y-image-position-actual": o(n), "y-image-shift-actual": o(p), "y-side1-image-shift-actual": o(p), "y-side2-image-shift-actual": o(p) }; X["Document Template"] = { copies: p(1, m), "cover-back": g("Job Template", "cover-back"), "cover-front": g("Job Template", "cover-front"), "feed-orientation": n, finishings: o(R), "finishings-col": g("Job Template", "finishings-col"), "font-name-requested": name, "font-size-requested": p(1, m), "force-front-side": o(p(1, m)), "imposition-template": b(n, name, null), "insert-sheet": o(g("Job Template", "insert-sheet")), media: b(n, name, null), "media-col": g("Job Template", "media-col"), "media-input-tray-check": b(n, name, null), "number-up": p(1, m), "orientation-requested": R, overrides: o( g( { //Any Document Template attribute (TODO) "document-copies": o(J), "document-numbers": o(J), pages: o(J) }, null ) ), "page-delivery": n, "page-order-received": n, "page-ranges": o(J(1, m)), "pdl-init-file": o(g("Job Template", "pdl-init-file")), "presentation-direction-number-up": n, "print-color-mode": n, "print-content-optimize": n, "print-quality": R, "print-rendering-intent": n, "printer-resolution": ye, "separator-sheets": g("Job Template", "separator-sheets"), "sheet-collate": n, sides: n, "x-image-position": n, "x-image-shift": p, "x-side1-image-shift": p, "x-side2-image-shift": p, "y-image-position": n, "y-image-shift": p, "y-side1-image-shift": p, "y-side2-image-shift": p }; X["Event Notifications"] = { "notify-subscribed-event": n, "notify-text": I }; X["Job Description"] = { "attributes-charset": ae, "attributes-natural-language": ie, "compression-supplied": n, "copies-actual": o(p(1, m)), "cover-back-actual": o(g("Job Template", "cover-back")), "cover-front-actual": o(g("Job Template", "cover-front")), "current-page-order": n, "date-time-at-completed": b(se, H), "date-time-at-creation": se, "date-time-at-processing": b(se, H), "document-charset-supplied": ae, "document-digital-signature-supplied": n, "document-format-details-supplied": o( g("Operation", "document-format-details") ), "document-format-supplied": me, "document-format-version-supplied": I(127), "document-message-supplied": I, "document-metadata": o(ge), "document-name-supplied": name, "document-natural-language-supplied": ie, "document-overrides-actual": o(g), "errors-count": p(0, m), "finishings-actual": o(R), "finishings-col-actual": o(g("Job Template", "finishings-col")), "force-front-side-actual": o(o(p(1, m))), "imposition-template-actual": o(b(n, name)), "impressions-completed-current-copy": p(0, m), "insert-sheet-actual": o(g("Job Template", "insert-sheet")), "job-account-id-actual": o(name), "job-accounting-sheets-actual": o( g("Job Template", "job-accounting-sheets") ), "job-accounting-user-id-actual": o(name), "job-attribute-fidelity": P, "job-collation-type": R, "job-collation-type-actual": o(n), "job-copies-actual": o(p(1, m)), "job-cover-back-actual": o(g("Job Template", "cover-back")), "job-cover-front-actual": o(g("Job Template", "cover-front")), "job-detailed-status-messages": o(I), "job-document-access-errors": o(I), "job-error-sheet-actual": o( g("Job Template", "job-error-sheet") ), "job-finishings-actual": o(R), "job-finishings-col-actual": o(g("Job Template", "media-col")), "job-hold-until-actual": o(b(n, name)), "job-id": p(1, m), "job-impressions": p(0, m), "job-impressions-completed": p(0, m), "job-k-octets": p(0, m), "job-k-octets-processed": p(0, m), "job-mandatory-attributes": o(n), "job-media-sheets": p(0, m), "job-media-sheets-completed": p(0, m), "job-message-from-operator": I(127), "job-message-to-operator-actual": o(I), "job-more-info": U, "job-name": name, "job-originating-user-name": name, "job-originating-user-uri": U, "job-pages": p(0, m), "job-pages-completed": p(0, m), "job-pages-completed-current-copy": p(0, m), "job-printer-up-time": p(1, m), "job-printer-uri": U, "job-priority-actual": o(p(1, 100)), "job-save-printer-make-and-model": I(127), "job-sheet-message-actual": o(I), "job-sheets-actual": o(b(n, name)), "job-sheets-col-actual": o(g("Job Template", "job-sheets-col")), "job-state": b(R, St), "job-state-message": I, "job-state-reasons": o(n), "job-uri": U, "job-uuid": U(45), "media-actual": o(b(n, name)), "media-col-actual": o(g("Job Template", "media-col")), "media-input-tray-check-actual": o(b(n, name)), "multiple-document-handling-actual": o(n), "number-of-documents": p(0, m), "number-of-intervening-jobs": p(0, m), "number-up-actual": o(p(1, m)), "orientation-requested-actual": o(R), "original-requesting-user-name": name, "output-bin-actual": o(b(n, name)), "output-device-actual": o(xe(127)), "output-device-assigned": xe(127), "overrides-actual": o(g("Job Template", "overrides")), "page-delivery-actual": o(n), "page-order-received-actual": o(n), "page-ranges-actual": o(J(1, m)), "presentation-direction-number-up-actual": o(n), "print-content-optimize-actual": o(n), "print-quality-actual": o(R), "printer-resolution-actual": o(ye), "separator-sheets-actual": o( g("Job Template", "separator-sheets") ), "sheet-collate-actual": o(n), "sheet-completed-copy-number": p(0, m), "sheet-completed-document-number": p(0, m), "sides-actual": o(n), "time-at-completed": b(p, H), "time-at-creation": p, "time-at-processing": b(p, H), "warnings-count": p(0, m), "x-image-position-actual": o(n), "x-image-shift-actual": o(p), "x-side1-image-shift-actual": o(p), "x-side2-image-shift-actual": o(p), "y-image-position-actual": o(n), "y-image-shift-actual": o(p), "y-side1-image-shift-actual": o(p), "y-side2-image-shift-actual": o(p) }; X["Job Template"] = { copies: p(1, m), "cover-back": g({ "cover-type": n, media: b(n, name), "media-col": g("Job Template", "media-col") }), "cover-front": g({ "cover-type": n, media: b(n, name), "media-col": g("Job Template", "media-col") }), "feed-orientation": n, finishings: o(R), "finishings-col": g({ "finishing-template": name, stitching: g({ "stitching-locations": o(p(0, m)), "stitching-offset": p(0, m), "stitching-reference-edge": n }) }), "font-name-requested": name, "font-size-requested": p(1, m), "force-front-side": o(p(1, m)), "imposition-template": b(n, name), "insert-sheet": o( g({ "insert-after-page-number": p(0, m), "insert-count": p(0, m), media: b(n, name), "media-col": g("Job Template", "media-col") }) ), "job-account-id": name, "job-accounting-sheets": g({ "job-accounting-output-bin": b(n, name), "job-accounting-sheets-type": b(n, name), media: b(n, name), "media-col": g("Job Template", "media-col") }), "job-accounting-user-id": name, "job-copies": p(1, m), "job-cover-back": g("Job Template", "cover-back"), "job-cover-front": g("Job Template", "cover-front"), "job-delay-output-until": b(n, name), "job-delay-output-until-time": se, "job-error-action": n, "job-error-sheet": g({ "job-error-sheet-type": b(n, name), "job-error-sheet-when": n, media: b(n, name), "media-col": g("Job Template", "media-col") }), "job-finishings": o(R), "job-finishings-col": g("Job Template", "finishings-col"), "job-hold-until": b(n, name), "job-hold-until-time": se, "job-message-to-operator": I, "job-phone-number": U, "job-priority": p(1, 100), "job-recipient-name": name, "job-save-disposition": g({ "save-disposition": n, "save-info": o( g({ "save-document-format": me, "save-location": U, "save-name": name }) ) }), "job-sheet-message": I, "job-sheets": b(n, name), "job-sheets-col": g({ "job-sheets": b(n, name), media: b(n, name), "media-col": g("Job Template", "media-col") }), media: b(n, name), "media-col": g({ "media-back-coating": b(n, name), "media-bottom-margin": p(0, m), "media-color": b(n, name), "media-front-coating": b(n, name), "media-grain": b(n, name), "media-hole-count": p(0, m), "media-info": I(255), "media-key": b(n, name), "media-left-margin": p(0, m), "media-order-count": p(1, m), "media-pre-printed": b(n, name), "media-recycled": b(n, name), "media-right-margin": p(0, m), "media-size": g({ "x-dimension": p(0, m), "y-dimension": p(0, m) }), "media-size-name": b(n, name), "media-source": b(n, name), "media-thickness": p(1, m), "media-tooth": b(n, name), "media-top-margin": p(0, m), "media-type": b(n, name), "media-weight-metric": p(0, m) }), "media-input-tray-check": b(n, name), "multiple-document-handling": n, "number-up": p(1, m), "orientation-requested": R, "output-bin": b(n, name), "output-device": xe(127), overrides: o( g({ //Any Job Template attribute (TODO) "document-copies": o(J), "document-numbers": o(J), pages: o(J) }) ), "page-delivery": n, "page-order-received": n, "page-ranges": o(J(1, m)), "pages-per-subset": o(p(1, m)), "pdl-init-file": g({ "pdl-init-file-entry": name, "pdl-init-file-location": U, "pdl-init-file-name": name }), "presentation-direction-number-up": n, "print-color-mode": n, "print-content-optimize": n, "print-quality": R, "print-rendering-intent": n, "printer-resolution": ye, "print-scaling": n, "proof-print": g({ media: b(n, name), "media-col": g("Job Template", "media-col"), "proof-print-copies": p(0, m) }), "separator-sheets": g({ media: b(n, name), "media-col": g("Job Template", "media-col"), "separator-sheets-type": o(n) }), "sheet-collate": n, sides: n, "x-image-position": n, "x-image-shift": p, "x-side1-image-shift": p, "x-side2-image-shift": p, "y-image-position": n, "y-image-shift": p, "y-side1-image-shift": p, "y-side2-image-shift": p }; X.Operation = { "attributes-charset": ae, "attributes-natural-language": ie, compression: n, "detailed-status-message": I, "document-access-error": I, "document-charset": ae, "document-digital-signature": n, "document-format": me, "document-format-details": o( g({ "document-format": me, "document-format-device-id": I(127), "document-format-version": I(127), "document-natural-language": o(ie), "document-source-application-name": name, "document-source-application-version": I(127), "document-source-os-name": xe(40), "document-source-os-version": I(40) }) ), "document-message": I, "document-metadata": o(ge), "document-name": name, "document-natural-language": ie, "document-password": ge, "document-uri": U, "first-index": p(1, m), "identify-actions": o(n), "ipp-attribute-fidelity": P, "job-hold-until": b(n, name), "job-id": p(1, m), "job-ids": o(p(1, m)), "job-impressions": p(0, m), "job-k-octets": p(0, m), "job-mandatory-attributes": o(n), "job-media-sheets": p(0, m), "job-message-from-operator": I(127), "job-name": name, "job-password": ge(255), "job-password-encryption": b(n, name), "job-state": R, "job-state-message": I, "job-state-reasons": o(n), "job-uri": U, "last-document": P, limit: p(1, m), message: I(127), "my-jobs": P, "original-requesting-user-name": name, "preferred-attributes": g, "printer-message-from-operator": I(127), "printer-uri": U, "requested-attributes": o(n), "requesting-user-name": name, "requesting-user-uri": U, "status-message": I(255), "which-jobs": n }; X["Printer Description"] = { "charset-configured": ae, "charset-supported": o(ae), "color-supported": P, "compression-supported": o(n), "copies-default": p(1, m), "copies-supported": J(1, m), "cover-back-default": g("Job Template", "cover-back"), "cover-back-supported": o(n), "cover-front-default": g("Job Template", "cover-front"), "cover-front-supported": o(n), "device-service-count": p(1, m), "device-uuid": U(45), "document-charset-default": ae, "document-charset-supported": o(ae), "document-creation-attributes-supported": o(n), "document-digital-signature-default": n, "document-digital-signature-supported": o(n), "document-format-default": me, "document-format-details-default": g( "Operation", "document-format-details" ), "document-format-details-supported": o(n), "document-format-supported": o(me), "document-format-letying-attributes": o(n), "document-format-version-default": I(127), "document-format-version-supported": o(I(127)), "document-natural-language-default": ie, "document-natural-language-supported": o(ie), "document-password-supported": p(0, 1023), "feed-orientation-default": n, "feed-orientation-supported": n, "finishings-col-default": g("Job Template", "finishings-col"), "finishings-col-ready": o(g("Job Template", "finishings-col")), "finishings-col-supported": o(n), "finishings-default": o(R), "finishings-ready": o(R), "finishings-supported": o(R), "font-name-requested-default": name, "font-name-requested-supported": o(name), "font-size-requested-default": p(1, m), "font-size-requested-supported": o(J(1, m)), "force-front-side-default (under review)": o(p(1, m)), "force-front-side-supported (under review)": J(1, m), "generated-natural-language-supported": o(ie), "identify-actions-default": o(n), "identify-actions-supported": o(n), "imposition-template-default": b(n, name), "imposition-template-supported": o(b(n, name)), "insert-after-page-number-supported": J(0, m), "insert-count-supported": J(0, m), "insert-sheet-default": o(g("Job Template", "insert-sheet")), "insert-sheet-supported": o(n), "ipp-features-supported": o(n), "ipp-versions-supported": o(n), "ippget-event-life": p(15, m), "job-account-id-default": b(name, H), "job-account-id-supported": P, "job-accounting-sheets-default": b( g("Job Template", "job-accounting-sheets"), H ), "job-accounting-sheets-supported": o(n), "job-accounting-user-id-default": b(name, H), "job-accounting-user-id-supported": P, "job-constraints-supported": o(g), "job-copies-default": p(1, m), "job-copies-supported": J(1, m), "job-cover-back-default": g("Job Template", "cover-back"), "job-cover-back-supported": o(n), "job-cover-front-default": g("Job Template", "cover-front"), "job-cover-front-supported": o(n), "job-creation-attributes-supported": o(n), "job-delay-output-until-default": b(n, name), "job-delay-output-until-supported": o(b(n, name)), "job-delay-output-until-time-supported": J(0, m), "job-error-action-default": n, "job-error-action-supported": o(n), "job-error-sheet-default": b( g("Job Template", "job-error-sheet"), H ), "job-error-sheet-supported": o(n), "job-finishings-col-default": g("Job Template", "finishings-col"), "job-finishings-col-ready": o( g("Job Template", "finishings-col") ), "job-finishings-col-supported": o(n), "job-finishings-default": o(R), "job-finishings-ready": o(R), "job-finishings-supported": o(R), "job-hold-until-default": b(n, name), "job-hold-until-supported": o(b(n, name)), "job-hold-until-time-supported": J(0, m), "job-ids-supported": P, "job-impressions-supported": J(0, m), "job-k-octets-supported": J(0, m), "job-media-sheets-supported": J(0, m), "job-message-to-operator-default": I, "job-message-to-operator-supported": P, "job-password-encryption-supported": o(b(n, name)), "job-password-supported": p(0, 255), "job-phone-number-default": b(U, H), "job-phone-number-supported": P, "job-priority-default": p(1, 100), "job-priority-supported": p(1, 100), "job-recipient-name-default": b(name, H), "job-recipient-name-supported": P, "job-resolvers-supported": o( g({ "resolver-name": name }) ), "job-settable-attributes-supported": o(n), "job-sheet-message-default": I, "job-sheet-message-supported": P, "job-sheets-col-default": g("Job Template", "job-sheets-col"), "job-sheets-col-supported": o(n), "job-sheets-default": b(n, name), "job-sheets-supported": o(b(n, name)), "job-spooling-supported": n, "max-save-info-supported": p(1, m), "max-stitching-locations-supported": p(1, m), "media-back-coating-supported": o(b(n, name)), "media-bottom-margin-supported": o(p(0, m)), "media-col-database": o( g({ //TODO: Member attributes are the same as the // "media-col" Job Template attribute "media-source-properties": g({ "media-source-feed-direction": n, "media-source-feed-orientation": R }) }) ), "media-col-default": g("Job Template", "media-col"), "media-col-ready": o( g({ //TODO: Member attributes are the same as the // "media-col" Job Template attribute "media-source-properties": g({ "media-source-feed-direction": n, "media-source-feed-orientation": R }) }) ), "media-col-supported": o(n), "media-color-supported": o(b(n, name)), "media-default": b(n, name, H), "media-front-coating-supported": o(b(n, name)), "media-grain-supported": o(b(n, name)), "media-hole-count-supported": o(J(0, m)), "media-info-supported": P, "media-input-tray-check-default": b(n, name, H), "media-input-tray-check-supported": o(b(n, name)), "media-key-supported": o(b(n, name)), "media-left-margin-supported": o(p(0, m)), "media-order-count-supported": o(J(1, m)), "media-pre-printed-supported": o(b(n, name)), "media-ready": o(b(n, name)), "media-recycled-supported": o(b(n, name)), "media-right-margin-supported": o(p(0, m)), "media-size-supported": o( g({ "x-dimension": b(p(1, m), J(1, m)), "y-dimension": b(p(1, m), J(1, m)) }) ), "media-source-supported": o(b(n, name)), "media-supported": o(b(n, name)), "media-thickness-supported": J(1, m), "media-tooth-supported": o(b(n, name)), "media-top-margin-supported": o(p(0, m)), "media-type-supported": o(b(n, name)), "media-weight-metric-supported": o(J(0, m)), "multiple-document-handling-default": n, "multiple-document-handling-supported": o(n), "multiple-document-jobs-supported": P, "multiple-operation-time-out": p(1, m), "multiple-operation-timeout-action": n, "natural-language-configured": ie, "number-up-default": p(1, m), "number-up-supported": b(p(1, m), J(1, m)), "operations-supported": o(R), "orientation-requested-default": b(H, R), "orientation-requested-supported": o(R), "output-bin-default": b(n, name), "output-bin-supported": o(b(n, name, null)), "output-device-supported": o(xe(127)), "overrides-supported": o(n), "page-delivery-default": n, "page-delivery-supported": o(n), "page-order-received-default": n, "page-order-received-supported": o(n), "page-ranges-supported": P, "pages-per-minute": p(0, m), "pages-per-minute-color": p(0, m), "pages-per-subset-supported": P, "parent-printers-supported": o(U), "pdl-init-file-default": b( g("Job Template", "pdl-init-file"), H, null ), "pdl-init-file-entry-supported": o(name), "pdl-init-file-location-supported": o(U), "pdl-init-file-name-subdirectory-supported": P, "pdl-init-file-name-supported": o(name), "pdl-init-file-supported": o(n), "pdl-override-supported": n, "preferred-attributes-supported": P, "presentation-direction-number-up-default": n, "presentation-direction-number-up-supported": o(n), "print-color-mode-default": n, "print-color-mode-supported": o(n), "print-content-optimize-default": n, "print-content-optimize-supported": o(n), "print-quality-default": R, "print-quality-supported": o(R), "print-rendering-intent-default": n, "print-rendering-intent-supported": o(n), "printer-alert": o(ge), "printer-alert-description": o(I), "printer-charge-info": I, "printer-charge-info-uri": U, "printer-current-time": se, "printer-detailed-status-messages": o(I), "printer-device-id": I(1023), "printer-driver-installer": U, "printer-geo-location": U, "printer-get-attributes-supported": o(n), "printer-icc-profiles": o( g({ "xri-authentication": name, "profile-url": U }, null) ), "printer-icons": o(U), "printer-info": I(127), "printer-is-accepting-jobs": P, "printer-location": I(127), "printer-make-and-model": I(127), "printer-mandatory-job-attributes": o(n), "printer-message-date-time": se, "printer-message-from-operator": I(127), "printer-message-time": p, "printer-more-info": U, "printer-more-info-manufacturer": U, "printer-name": xe(127), "printer-organization": o(I), "printer-organizational-unit": o(I), "printer-resolution-default": ye, "printer-resolution-supported": ye, "printer-settable-attributes-supported": o(n), "printer-state": R, "printer-state-change-date-time": se, "printer-state-change-time": p(1, m), "printer-state-message": I, "printer-state-reasons": o(n), "printer-supply": o(ge), "printer-supply-description": o(I), "printer-supply-info-uri": U, "printer-up-time": p(1, m), "printer-uri-supported": o(U), "printer-uuid": U(45), "printer-xri-supported": o( g({ "xri-authentication": n, "xri-security": n, "xri-uri": U }, null) ), "proof-print-default": b(g("Job Template", "proof-print"), H, null), "proof-print-supported": o(n), "pwg-raster-document-resolution-supported": o(ye), "pwg-raster-document-sheet-back": n, "pwg-raster-document-type-supported": o(n), "queued-job-count": p(0, m), "reference-uri-schemes-supported": o(De), "repertoire-supported": o(b(n, name, null)), "requesting-user-uri-supported": P, "save-disposition-supported": o(n), "save-document-format-default": me, "save-document-format-supported": o(me), "save-location-default": U, "save-location-supported": o(U), "save-name-subdirectory-supported": P, "save-name-supported": P, "separator-sheets-default": g("Job Template", "separator-sheets"), "separator-sheets-supported": o(n), "sheet-collate-default": n, "sheet-collate-supported": o(n), "sides-default": n, "sides-supported": o(n), "stitching-locations-supported": o( b(p(0, m), J(0, m), null) ), "stitching-offset-supported": o( b(p(0, m), J(0, m), null) ), "subordinate-printers-supported": o(U), "uri-authentication-supported": o(n), "uri-security-supported": o(n), "user-defined-values-supported": o(n), "which-jobs-supported": o(n), "x-image-position-default": n, "x-image-position-supported": o(n), "x-image-shift-default": p, "x-image-shift-supported": J, "x-side1-image-shift-default": p, "x-side1-image-shift-supported": J, "x-side2-image-shift-default": p, "x-side2-image-shift-supported": J, "xri-authentication-supported": o(n), "xri-security-supported": o(n), "xri-uri-scheme-supported": o(De), "y-image-position-default": n, "y-image-position-supported": o(n), "y-image-shift-default": p, "y-image-shift-supported": J, "y-side1-image-shift-default": p, "y-side1-image-shift-supported": J, "y-side2-image-shift-default": p, "y-side2-image-shift-supported": J }; X["Subscription Description"] = { "notify-job-id": p(1, m), "notify-lease-expiration-time": p(0, m), "notify-printer-up-time": p(1, m), "notify-printer-uri": U, "notify-sequence-number": p(0, m), "notify-subscriber-user-name": name, "notify-subscriber-user-uri": U, "notify-subscription-id": p(1, m), "subscription-uuid": U }; X["Subscription Template"] = { "notify-attributes": o(n), "notify-attributes-supported": o(n), "notify-charset": ae, "notify-events": o(n), "notify-events-default": o(n), "notify-events-supported": o(n), "notify-lease-duration": p(0, 67108863), "notify-lease-duration-default": p(0, 67108863), "notify-lease-duration-supported": o( b(p(0, 67108863), J(0, 67108863), null) ), "notify-max-events-supported": p(2, m), "notify-natural-language": ie, "notify-pull-method": n, "notify-pull-method-supported": o(n), "notify-recipient-uri": U, "notify-schemes-supported": o(De), "notify-time-interval": p(0, m), "notify-user-data": ge(63) }; function Me(u) { return u != null && u.type || Object.keys(u || {}).forEach(function(d) { let f = u[d]; typeof f == "function" ? u[d] = f() : typeof f == "object" && !(f != null && f.type) && (u[d] = Me(f)); }), u; } Me(X); function A(u) { return u = u.slice(0), u.type = "keyword", u; } function L(u) { return u = u.slice(0), u.type = "keyword | name", u; } function Jt(u) { return u = u.slice(0), u.type = "keyword | name | no-value", u; } function B(u) { return u = u.slice(0), u.type = "1setOf keyword", u; } function K(u) { return u = u.slice(0), u.type = "1setOf keyword | name", u; } let de = { "size name": [ "a", "arch-a", "arch-b", "arch-c", "arch-d", "arch-e", "asme_f_28x40in", "b", "c", "choice_iso_a4_210x297mm_na_letter_8.5x11in", "d", "e", "executive", "f", "folio", "invoice", "iso-a0", "iso-a1", "iso-a2", "iso-a3", "iso-a4", "iso-a5", "iso-a6", "iso-a7", "iso-a8", "iso-a9", "iso-a10", "iso-b0", "iso-b1", "iso-b2", "iso-b3", "iso-b4", "iso-b5", "iso-b6", "iso-b7", "iso-b8", "iso-b9", "iso-b10", "iso-c3", "iso-c4", "iso-c5", "iso-c6", "iso-designated-long", "iso_2a0_1189x1682mm", "iso_a0_841x1189mm", "iso_a1_594x841mm", "iso_a1x3_841x1783mm", "iso_a1x4_841x2378mm", "iso_a2_420x594mm", "iso_a2x3_594x1261mm", "iso_a2x4_594x1682mm", "iso_a2x5_594x2102mm", "iso_a3-extra_322x445mm", "iso_a3_297x420mm", "iso_a0x3_1189x2523mm", "iso_a3x3_420x891mm", "iso_a3x4_420x1189mm", "iso_a3x5_420x1486mm", "iso_a3x6_420x1783mm", "iso_a3x7_420x2080mm", "iso_a4-extra_235.5x322.3mm", "iso_a4-tab_225x297mm", "iso_a4_210x297mm", "iso_a4x3_297x630mm", "iso_a4x4_297x841mm", "iso_a4x5_297x1051mm", "iso_a4x6_297x1261mm", "iso_a4x7_297x1471mm", "iso_a4x8_297x1682mm", "iso_a4x9_297x1892mm", "iso_a5-extra_174x235mm", "iso_a5_148x210mm", "iso_a6_105x148mm", "iso_a7_74x105mm", "iso_a8_52x74mm", "iso_a9_37x52mm", "iso_a10_26x37mm", "iso_b0_1000x1414mm", "iso_b1_707x1000mm", "iso_b2_500x707mm", "iso_b3_353x500mm", "iso_b4_250x353mm", "iso_b5-extra_201x276mm", "iso_b5_176x250mm", "iso_b6_125x176mm", "iso_b6c4_125x324mm", "iso_b7_88x125mm", "iso_b8_62x88mm", "iso_b9_44x62mm", "iso_b10_31x44mm", "iso_c0_917x1297mm", "iso_c1_648x917mm", "iso_c2_458x648mm", "iso_c3_324x458mm", "iso_c4_229x324mm", "iso_c5_162x229mm", "iso_c6_114x162mm", "iso_c6c5_114x229mm", "iso_c7_81x114mm", "iso_c7c6_81x162mm", "iso_c8_57x81mm", "iso_c9_40x57mm", "iso_c10_28x40mm", "iso_dl_110x220mm", "iso_ra0_860x1220mm", "iso_ra1_610x860mm", "iso_ra2_430x610mm", "iso_sra0_900x1280mm", "iso_sra1_640x900mm", "iso_sra2_450x640mm", "jis-b0", "jis-b1", "jis-b2", "jis-b3", "jis-b4", "jis-b5", "jis-b6", "jis-b7", "jis-b8", "jis-b9", "jis-b10", "jis_b0_1030x1456mm", "jis_b1_728x1030mm", "jis_b2_515x728mm", "jis_b3_364x515mm", "jis_b4_257x364mm", "jis_b5_182x257mm", "jis_b6_128x182mm", "jis_b7_91x128mm", "jis_b8_64x91mm", "jis_b9_45x64mm", "jis_b10_32x45mm", "jis_exec_216x330mm", "jpn_chou2_111.1x146mm", "jpn_chou3_120x235mm", "jpn_chou4_90x205mm", "jpn_hagaki_100x148mm", "jpn_kahu_240x322.1mm", "jpn_kaku2_240x332mm", "jpn_oufuku_148x200mm", "jpn_you4_105x235mm", "ledger", "monarch", "na-5x7", "na-6x9", "na-7x9", "na-8x10", "na-9x11", "na-9x12", "na-10x13", "na-10x14", "na-10x15", "na-legal", "na-letter", "na-number-9", "na-number-10", "na_5x7_5x7in", "na_6x9_6x9in", "na_7x9_7x9in", "na_9x11_9x11in", "na_10x11_10x11in", "na_10x13_10x13in", "na_10x14_10x14in", "na_10x15_10x15in", "na_11x12_11x12in", "na_11x15_11x15in", "na_12x19_12x19in", "na_a2_4.375x5.75in", "na_arch-a_9x12in", "na_arch-b_12x18in", "na_arch-c_18x24in", "na_arch-d_24x36in", "na_arch-e_36x48in", "na_b-plus_12x19.17in", "na_c5_6.5x9.5in", "na_c_17x22in", "na_d_22x34in", "na_e_34x44in", "na_edp_11x14in", "na_eur-edp_12x14in", "na_executive_7.25x10.5in", "na_f_44x68in", "na_fanfold-eur_8.5x12in", "na_fanfold-us_11x14.875in", "na_foolscap_8.5x13in", "na_govt-legal_8x13in", "na_govt-letter_8x10in", "na_index-3x5_3x5in", "na_index-4x6-ext_6x8in", "na_index-4x6_4x6in", "na_index-5x8_5x8in", "na_invoice_5.5x8.5in", "na_ledger_11x17in", "na_legal-extra_9.5x15in", "na_legal_8.5x14in", "na_letter-extra_9.5x12in", "na_letter-plus_8.5x12.69in", "na_letter_8.5x11in", "na_monarch_3.875x7.5in", "na_number-9_3.875x8.875in", "na_number-10_4.125x9.5in", "na_number-11_4.5x10.375in", "na_number-12_4.75x11in", "na_number-14_5x11.5in", "na_personal_3.625x6.5in", "na_quarto_8.5x10.83in", "na_super-a_8.94x14in", "na_super-b_13x19in", "na_wide-format_30x42in", "om_dai-pa-kai_275x395mm", "om_folio-sp_215x315mm", "om_folio_210x330mm", "om_invite_220x220mm", "om_italian_110x230mm", "om_juuro-ku-kai_198x275mm", "om_large-photo_200x300", "om_pa-kai_267x389mm", "om_postfix_114x229mm", "om_small-photo_100x150mm", "prc_1_102x165mm", "prc_2_102x176mm", "prc_3_125x176mm", "prc_4_110x208mm", "prc_5_110x220mm", "prc_6_120x320mm", "prc_7_160x230mm", "prc_8_120x309mm", "prc_10_324x458mm", "prc_16k_146x215mm", "prc_32k_97x151mm", "quarto", "roc_8k_10.75x15.5in", "roc_16k_7.75x10.75in", "super-b", "tabloid" ], "media name": [ "a-translucent", "a-transparent", "a-white", "arch-a-translucent", "arch-a-transparent", "arch-a-white", "arch-axsynchro-translucent", "arch-axsynchro-transparent", "arch-axsynchro-white", "arch-b-translucent", "arch-b-transparent", "arch-b-white", "arch-bxsynchro-translucent", "arch-bxsynchro-transparent", "arch-bxsynchro-white", "arch-c-translucent", "arch-c-transparent", "arch-c-white", "arch-cxsynchro-translucent", "arch-cxsynchro-transparent", "arch-cxsynchro-white", "arch-d-translucent", "arch-d-transparent", "arch-d-white", "arch-dxsynchro-translucent", "arch-dxsynchro-transparent", "arch-dxsynchro-white", "arch-e-translucent", "arch-e-transparent", "arch-e-white", "arch-exsynchro-translucent", "arch-exsynchro-transparent", "arch-exsynchro-white", "auto-fixed-size-translucent", "auto-fixed-size-transparent", "auto-fixed-size-white", "auto-synchro-translucent", "auto-synchro-transparent", "auto-synchro-white", "auto-translucent", "auto-transparent", "auto-white", "axsynchro-translucent", "axsynchro-transparent", "axsynchro-white", "b-translucent", "b-transparent", "b-white", "bxsynchro-translucent", "bxsynchro-transparent", "bxsynchro-white", "c-translucent", "c-transparent", "c-white", "custom1", "custom2", "custom3", "custom4", "custom5", "custom6", "custom7", "custom8", "custom9", "custom10", "cxsynchro-translucent", "cxsynchro-transparent", "cxsynchro-white", "d-translucent", "d-transparent", "d-white", "default", "dxsynchro-translucent", "dxsynchro-transparent", "dxsynchro-white", "e-translucent", "e-transparent", "e-white", "executive-white", "exsynchro-translucent", "exsynchro-transparent", "exsynchro-white", "folio-white", "invoice-white", "iso-a0-translucent", "iso-a0-transparent", "iso-a0-white", "iso-a0xsynchro-translucent", "iso-a0xsynchro-transparent", "iso-a0xsynchro-white", "iso-a1-translucent", "iso-a1-transparent", "iso-a1-white", "iso-a1x3-translucent", "iso-a1x3-transparent", "iso-a1x3-white", "iso-a1x4- translucent", "iso-a1x4-transparent", "iso-a1x4-white", "iso-a1xsynchro-translucent", "iso-a1xsynchro-transparent", "iso-a1xsynchro-white", "iso-a2-translucent", "iso-a2-transparent", "iso-a2-white", "iso-a2x3-translucent", "iso-a2x3-transparent", "iso-a2x3-white", "iso-a2x4-translucent", "iso-a2x4-transparent", "iso-a2x4-white", "iso-a2x5-translucent", "iso-a2x5-transparent", "iso-a2x5-white", "iso-a2xsynchro-translucent", "iso-a2xsynchro-transparent", "iso-a2xsynchro-white", "iso-a3-colored", "iso-a3-translucent", "iso-a3-transparent", "iso-a3-white", "iso-a3x3-translucent", "iso-a3x3-transparent", "iso-a3x3-white", "iso-a3x4-translucent", "iso-a3x4-transparent", "iso-a3x4-white", "iso-a3x5-translucent", "iso-a3x5-transparent", "iso-a3x5-white", "iso-a3x6-translucent", "iso-a3x6-transparent", "iso-a3x6-white", "iso-a3x7-translucent", "iso-a3x7-transparent", "iso-a3x7-white", "iso-a3xsynchro-translucent", "iso-a3xsynchro-transparent", "iso-a3xsynchro-white", "iso-a4-colored", "iso-a4-translucent", "iso-a4-transparent", "iso-a4-white", "iso-a4x3-translucent", "iso-a4x3-transparent", "iso-a4x3-white", "iso-a4x4-translucent", "iso-a4x4-transparent", "iso-a4x4-white", "iso-a4x5-translucent", "iso-a4x5-transparent", "iso-a4x5-white", "iso-a4x6-translucent", "iso-a4x6-transparent", "iso-a4x6-white", "iso-a4x7-translucent", "iso-a4x7-transparent", "iso-a4x7-white", "iso-a4x8-translucent", "iso-a4x8-transparent", "iso-a4x8-white", "iso-a4x9-translucent", "iso-a4x9-transparent", "iso-a4x9-white", "iso-a4xsynchro-translucent", "iso-a4xsynchro-transparent", "iso-a4xsynchro-white", "iso-a5-colored", "iso-a5-translucent", "iso-a5-transparent", "iso-a5-white", "iso-a6-white", "iso-a7-white", "iso-a8-white", "iso-a9-white", "iso-a10-white", "iso-b0-white", "iso-b1-white", "iso-b2-white", "iso-b3-white", "iso-b4-colored", "iso-b4-white", "iso-b5-colored", "iso-b5-white", "iso-b6-white", "iso-b7-white", "iso-b8-white", "iso-b9-white", "iso-b10-white", "jis-b0-translucent", "jis-b0-transparent", "jis-b0-white", "jis-b1-translucent", "jis-b1-transparent", "jis-b1-white", "jis-b2-translucent", "jis-b2-transparent", "jis-b2-white", "jis-b3-translucent", "jis-b3-transparent", "jis-b3-white", "jis-b4-colored", "jis-b4-translucent", "jis-b4-transparent", "jis-b4-white", "jis-b5-colored", "jis-b5-translucent", "jis-b5-transparent", "jis-b5-white", "jis-b6-white", "jis-b7-white", "jis-b8-white", "jis-b9-white", "jis-b10-white", "ledger-white", "na-legal-colored", "na-legal-white", "na-letter-colored", "na-letter-transparent", "na-letter-white", "quarto-white" ], "media type": [ "bond", "heavyweight", "labels", "letterhead", "plain", "pre-printed", "pre-punched", "recycled", "transparency" ], "input tray": [ "bottom", "by-pass-tray", "envelope", "large-capacity", "main", "manual", "middle", "side", "top", "tray-1", "tray-2", "tray-3", "tray-4", "tray-5", "tray-6", "tray-7", "tray-8", "tray-9", "tray-10" ], "envelope name": [ "iso-b4-envelope", "iso-b5-envelope", "iso-c3-envelope", "iso-c4-envelope", "iso-c5-envelope", "iso-c6-envelope", "iso-designated-long-envelope", "monarch-envelope", "na-6x9-envelope", "na-7x9-envelope", "na-9x11-envelope", "na-9x12-envelope", "na-10x13-envelope", "na-10x14-envelope", "na-10x15-envelope", "na-number-9-envelope", "na-number-10-envelope" ] }, Pe = Object.keys(X["Job Template"]), Oe = Pe.concat(Object.keys(X.Operation)), ot = Object.keys(X["Job Template"]).concat(["none"]), ze = de["media name"].concat(de["size name"]), a = {}; a.compression = A([ "compress", "deflate", "gzip", "none" ]); a["compression-supported"] = B( a.compression ); a["cover-back-supported"] = B([ "cover-type", "media", "media-col" ]); a["cover-front-supported"] = B( a["cover-back-supported"] ); a["cover-type"] = A([ "no-cover", "print-back", "print-both", "print-front", "print-none" ]); a["document-digital-signature"] = A([ "dss", "none", "pgp", "smime", "xmldsig" ]); a["document-digital-signature-default"] = A( a["document-digital-signature"] ); a["document-digital-signature-supported"] = B( a["document-digital-signature"] ); a["document-format-details-supported"] = B([ "document-format", "document-format-device-id", "document-format-version", "document-natural-language", "document-source-application-name", "document-source-application-version", "document-source-os-name", "document-source-os-version" ]); a["document-format-letying-attributes"] = B( //Any Printer attribute keyword name ot ); a["document-state-reasons"] = B([ "aborted-by-system", "canceled-at-device", "canceled-by-operator", "canceled-by-user", "completed-successfully", "completed-with-errors", "completed-with-warnings", "compression-error", "data-insufficient", "digital-signature-did-not-verify", "digital-signature-type-not-supported", "digital-signature-wait", "document-access-error", "document-format-error", "document-password-error", "document-permission-error", "document-security-error", "document-unprintable-error", "errors-detected", "incoming", "interpreting", "none", "outgoing", "printing", "processing-to-stop-point", "queued", "queued-for-marker", "queued-in-device", "resources-are-not-ready", "resources-are-not-supported", "submission-interrupted", "transforming", "unsupported-compression", "unsupported-document-format", "warnings-detected" ]); a["feed-orientation"] = A([ "long-edge-first", "short-edge-first" ]); a["feed-orientation-supported"] = B( a["feed-orientation"] ); a["finishings-col-supported"] = B([ "finishing-template", "stitching" ]); a["identify-actions"] = B([ "display", "flash", "sound", "speak" ]); a["identify-actions-default"] = B( a["identify-actions"] ); a["identify-actions-supported"] = B( a["identify-actions"] ); a["imposition-template"] = L([ "none", "signature" ]); a["ipp-features-supported"] = B([ "document-object", "ipp-everywhere", "job-save", "none", "page-overrides", "proof-print", "subscription-object" ]); a["ipp-versions-supported"] = B([ "1.0", "1.1", "2.0", "2.1", "2.2" ]); a["job-accounting-sheets-type"] = L([ "none", "standard" ]); a["job-cover-back-supported"] = B( a["cover-back-supported"] ); a["job-cover-front-supported"] = B( a["cover-front-supported"] ); a["job-creation-attributes-supported"] = B( // Any Job Template attribute // Any job creation Operation attribute keyword name Oe ); a["job-error-action"] = A([ "abort-job", "cancel-job", "continue-job", "suspend-job" ]); a["job-error-action-default"] = A( a["job-error-action"] ); a["job-error-action-supported"] = B( a["job-error-action"] ); a["job-error-sheet-type"] = L([ "none", "standard" ]); a["job-error-sheet-when"] = A([ "always", "on-error" ]); a["job-finishings-col-supported"] = B( a["finishings-col-supported"] ); a["job-hold-until"] = L([ "day-time", "evening", "indefinite", "night", "no-hold", "second-shift", "third-shift", "weekend" ]); a["job-hold-until-default"] = L( a["job-hold-until"] ); a["job-hold-until-supported"] = K( a["job-hold-until"] ); a["job-mandatory-attributes"] = B( // Any Job Template attribute Pe ); a["job-password-encryption"] = L([ "md2", "md4", "md5", "none", "sha" ]); a["job-password-encryption-supported"] = K( a["job-password-encryption"] ); a["job-save-disposition-supported"] = B([ "save-disposition", "save-info" ]); a["job-settable-attributes-supported"] = B( // Any Job Template attribute Pe ); a["job-sheets"] = L([ "first-print-stream-page", "job-both-sheet", "job-end-sheet", "job-start-sheet", "none", "standard" ]); a["job-sheets-default"] = L( a["job-sheets"] ); a["job-sheets-supported"] = K( a["job-sheets"] ); a["job-spooling-supported"] = A([ "automatic", "spool", "stream" ]); a["job-state-reasons"] = B([ "aborted-by-system", "compression-error", "digital-signature-did-not-verify", "digital-signature-type-not-supported", "document-access-error", "document-format-error", "document-password-error", "document-permission-error", "document-security-error", "document-unprintable-error", "errors-detected", "job-canceled-at-device", "job-canceled-by-operator", "job-canceled-by-user", "job-completed-successfully", "job-completed-with-errors", "job-completed-with-warnings", "job-data-insufficient", "job-delay-output-until-specified", "job-digital-signature-wait", "job-hold-until-specified", "job-incoming", "job-interpreting", "job-outgoing", "job-password-wait", "job-printed-successfully", "job-printed-with-errors", "job-printed-with-warnings", "job-printing", "job-queued", "job-queued-for-marker", "job-restartable", "job-resuming", "job-saved-successfully", "job-saved-with-errors", "job-saved-with-warnings", "job-saving", "job-spooling", "job-streaming", "job-suspended", "job-suspended-by-operator", "job-suspended-by-system", "job-suspended-by-user", "job-suspending", "job-transforming", "none", "printer-stopped", "printer-stopped-partly", "processing-to-stop-point", "queued-in-device", "resources-are-not-ready", "resources-are-not-supported", "service-off-line", "submission-interrupted", "unsupported-compression", "unsupported-document-format", "warnings-detected" ]); a.media = L( [].concat( de["size name"], de["media name"], de["media type"], de["input tray"], de["envelope name"] ) ); a["media-back-coating"] = L([ "glossy", "high-gloss", "matte", "none", "satin", "semi-gloss" ]); a["media-back-coating-supported"] = K( a["media-back-coating"] ); a["media-col-supported"] = B([ "media-bottom-margin", "media-left-margin", "media-right-margin", "media-size-name", "media-source", "media-top-margin" ]); a["media-color"] = L([ "blue", "buff", "goldenrod", "gray", "green", "ivory", "no-color", "orange", "pink", "red", "white", "yellow" ]); a["media-color-supported"] = K( a["media-color"] ); a["media-default"] = Jt( a.media ); a["media-front-coating"] = L( a["media-back-coating"] ); a["media-front-coating-supported"] = K( a["media-back-coating"] ); a["media-grain"] = L([ "x-direction", "y-direction" ]); a["media-grain-supported"] = K( a["media-grain"] ); a["media-input-tray-check"] = L([ de["input tray"] ]); a["media-input-tray-check-default"] = L([ de["input tray"] ]); a["media-input-tray-check-supported"] = K( de["input tray"] ); a["media-key"] = L( // Any "media" media or size keyword value ze ); a["media-key-supported"] = K([ // Any "media" media or size keyword value ze ]); a["media-pre-printed"] = L([ "blank", "letter-head", "pre-printed" ]); a["media-pre-printed-supported"] = L( a["media-pre-printed"] ); a["media-ready"] = K([ // Any "media" media or size keyword value ze ]); a["media-recycled"] = L([ "none", "standard" ]); a["media-recycled-supported"] = L( a["media-recycled"] ); a["media-source"] = L([ "alternate", "alternate-roll", "auto", "bottom", "by-pass-tray", "center", "disc", "envelope", "hagaki", "large-capacity", "left", "main", "main-roll", "manual", "middle", "photo", "rear", "right", "roll-1", "roll-2", "roll-3", "roll-4", "roll-5", "roll-6", "roll-7", "roll-8", "roll-9", "roll-10", "side", "top", "tray-1", "tray-2", "tray-3", "tray-4", "tray-5", "tray-6", "tray-7", "tray-8", "tray-9", "tray-10", "tray-11", "tray-12", "tray-13", "tray-14", "tray-15", "tray-16", "tray-17", "tray-18", "tray-19", "tray-20" ]); a["media-source-feed-direction"] = A( a["feed-orientation"] ); a["media-source-supported"] = K( a["media-source"] ); a["media-supported"] = K( a.media ); a["media-tooth"] = L([ "antique", "calendared", "coarse", "fine", "linen", "medium", "smooth", "stipple", "uncalendared", "vellum" ]); a["media-tooth-supported"] = K( a["media-tooth"] ); a["media-type"] = L([ "aluminum", "back-print-film", "cardboard", "cardstock", "cd", "continuous", "continuous-long", "continuous-short", "corrugated-board", "disc", "double-wall", "dry-film", "dvd", "embossing-foil", "end-board", "envelope", "envelope-plain", "envelope-window", "film", "flexo-base", "flexo-photo-polymer", "flute", "foil", "full-cut-tabs", "gravure-cylinder", "image-setter-paper", "imaging-cylinder", "labels", "laminating-foil", "letterhead", "mounting-tape", "multi-layer", "multi-part-form", "other", "paper", "photographic", "photographic-film", "photographic-glossy", "photographic-high-gloss", "photographic-matte", "photographic-satin", "photographic-semi-gloss", "plate", "polyester", "pre-cut-tabs", "roll", "screen", "screen-paged", "self-adhesive", "shrink-foil", "single-face", "single-wall", "sleeve", "stationery", "stationery-coated", "stationery-fine", "stationery-heavyweight", "stationery-inkjet", "stationery-letterhead", "stationery-lightweight", "stationery-preprinted", "stationery-prepunched", "tab-stock", "tractor", "transparency", "triple-wall", "wet-film" ]); a["media-type-supported"] = K( a["media-type"] ); a["multiple-document-handling"] = A([ "separate-documents-collated-copies", "separate-documents-uncollated-copies", "single-document", "single-document-new-sheet" ]); a["multiple-document-handling-default"] = A( a["multiple-document-handling"] ); a["multiple-document-handling-supported"] = B( a["multiple-document-handling"] ); a["multiple-operation-timeout-action"] = A([ "abort-job", "hold-job", "process-job" ]); a["notify-events"] = B([ "job-completed", "job-config-changed", "job-created", "job-progress", "job-state-changed", "job-stopped", "none", "printer-config-changed", "printer-finishings-changed", "printer-media-changed", "printer-queue-order-changed", "printer-restarted", "printer-shutdown", "printer-state-changed", "printer-stopped" ]); a["notify-events-default"] = B( a["notify-events"] ); a["notify-events-supported"] = B( a["notify-events"] ); a["notify-pull-method"] = A([ "ippget" ]); a["notify-pull-method-supported"] = B( a["notify-pull-method"] ); a["notify-subscribed-event"] = A( a["notify-events"] ); a["output-bin"] = L([ "bottom", "center", "face-down", "face-up", "large-capacity", "left", "mailbox-1", "mailbox-2", "mailbox-3", "mailbox-4", "mailbox-5", "mailbox-6", "mailbox-7", "mailbox-8", "mailbox-9", "mailbox-10", "middle", "my-mailbox", "rear", "right", "side", "stacker-1", "stacker-2", "stacker-3", "stacker-4", "stacker-5", "stacker-6", "stacker-7", "stacker-8", "stacker-9", "stacker-10", "top", "tray-1", "tray-2", "tray-3", "tray-4", "tray-5", "tray-6", "tray-7", "tray-8", "tray-9", "tray-10" ]); a["job-accounting-output-bin"] = L( a["output-bin"] ); a["output-bin-default"] = L( a["output-bin"] ); a["output-bin-supported"] = K( a["output-bin"] ); a["page-delivery"] = A([ "reverse-order-face-down", "reverse-order-face-up", "same-order-face-down", "same-order-face-up", "system-specified" ]); a["page-delivery-default"] = A( a["page-delivery"] ); a["page-delivery-supported"] = B( a["page-delivery"] ); a["page-order-received"] = A([ "1-to-n-order", "n-to-1-order" ]); a["page-order-received-default"] = A( a["page-order-received"] ); a["page-order-received-supported"] = B( a["page-order-received"] ); a["current-page-order"] = A( a["page-order-received"] ); a["pdl-init-file-supported"] = B([ "pdl-init-file-entry", "pdl-init-file-location", "pdl-init-file-name" ]); a["pdl-override-supported"] = A([ "attempted", "guaranteed", "not-attempted" ]); a["presentation-direction-number-up"] = A([ "tobottom-toleft", "tobottom-toright", "toleft-tobottom", "toleft-totop", "toright-tobottom", "toright-totop", "totop-toleft", "totop-toright" ]); a["presentation-direction-number-up-default"] = A( a["presentation-direction-number-up"] ); a["presentation-direction-number-up-supported"] = B( a["presentation-direction-number-up"] ); a["print-color-mode"] = A([ "auto", "bi-level", "color", "highlight", "monochrome", "process-bi-level", "process-monochrome" ]); a["print-color-mode-default"] = A( a["print-color-mode"] ); a["print-color-mode-supported"] = B( a["print-color-mode"] ); a["print-content-optimize"] = A([ "auto", "graphic", "photo", "text", "text-and-graphic" ]); a["print-content-optimize-default"] = A( a["print-content-optimize"] ); a["print-content-optimize-supported"] = B( a["print-content-optimize"] ); a["print-rendering-intent"] = A([ "absolute", "auto", "perceptual", "relative", "relative-bpc", "saturation" ]); a["print-rendering-intent-default"] = A( a["print-rendering-intent"] ); a["print-rendering-intent-supported"] = B( a["print-rendering-intent"] ); a["printer-get-attributes-supported"] = B( // Any Job Template attribute // Any job creation Operation attribute keyword name Oe ); a["printer-mandatory-job-attributes"] = B( // Any Job Template attribute // Any Operation attribute at the job level //this probably isn't quite right... Oe ); a["printer-settable-attributes-supported"] = B( // Any read-write Printer attribute keyword name ot ); a["printer-state-reasons"] = B([ "alert-removal-of-binary-change-entry", "bander-added", "bander-almost-empty", "bander-almost-full", "bander-at-limit", "bander-closed", "bander-configuration-change", "bander-cover-closed", "bander-cover-open", "bander-empty", "bander-full", "bander-interlock-closed", "bander-interlock-open", "bander-jam", "bander-life-almost-over", "bander-life-over", "bander-memory-exhausted", "bander-missing", "bander-motor-failure", "bander-near-limit", "bander-offline", "bander-opened", "bander-over-temperature", "bander-power-saver", "bander-recoverable-failure", "bander-recoverable-storage-error", "bander-removed", "bander-resource-added", "bander-resource-removed", "bander-thermistor-failure", "bander-timing-failure", "bander-turned-off", "bander-turned-on", "bander-under-temperature", "bander-unrecoverable-failure", "bander-unrecoverable-storage-error", "bander-warming-up", "binder-added", "binder-almost-empty", "binder-almost-full", "binder-at-limit", "binder-closed", "binder-configuration-change", "binder-cover-closed", "binder-cover-open", "binder-empty", "binder-full", "binder-interlock-closed", "binder-interlock-open", "binder-jam", "binder-life-almost-over", "binder-life-over", "binder-memory-exhausted", "binder-missing", "binder-motor-failure", "binder-near-limit", "binder-offline", "binder-opened", "binder-over-temperature", "binder-power-saver", "binder-recoverable-failure", "binder-recoverable-storage-error", "binder-removed", "binder-resource-added", "binder-resource-removed", "binder-thermistor-failure", "binder-timing-failure", "binder-turned-off", "binder-turned-on", "binder-under-temperature", "binder-unrecoverable-failure", "binder-unrecoverable-storage-error", "binder-warming-up", "cleaner-life-almost-over", "cleaner-life-over", "configuration-change", "connecting-to-device", "cover-open", "deactivated", "developer-empty", "developer-low", "die-cutter-added", "die-cutter-almost-empty", "die-cutter-almost-full", "die-cutter-at-limit", "die-cutter-closed", "die-cutter-configuration-change", "die-cutter-cover-closed", "die-cutter-cover-open", "die-cutter-empty", "die-cutter-full", "die-cutter-interlock-closed", "die-cutter-interlock-open", "die-cutter-jam", "die-cutter-life-almost-over", "die-cutter-life-over", "die-cutter-memory-exhausted", "die-cutter-missing", "die-cutter-motor-failure", "die-cutter-near-limit", "die-cutter-offline", "die-cutter-opened", "die-cutter-over-temperature", "die-cutter-power-saver", "die-cutter-recoverable-failure", "die-cutter-recoverable-storage-error", "die-cutter-removed", "die-cutter-resource-added", "die-cutter-resource-removed", "die-cutter-thermistor-failure", "die-cutter-timing-failure", "die-cutter-turned-off", "die-cutter-turned-on", "die-cutter-under-temperature", "die-cutter-unrecoverable-failure", "die-cutter-unrecoverable-storage-error", "die-cutter-warming-up", "door-open", "folder-added", "folder-almost-empty", "folder-almost-full", "folder-at-limit", "folder-closed", "folder-configuration-change", "folder-cover-closed", "folder-cover-open", "folder-empty", "folder-full", "folder-interlock-closed", "folder-interlock-open", "folder-jam", "folder-life-almost-over", "folder-life-over", "folder-memory-exhausted", "folder-missing", "folder-motor-failure", "folder-near-limit", "folder-offline", "folder-opened", "folder-over-temperature", "folder-power-saver", "folder-recoverable-failure", "folder-recoverable-storage-error", "folder-removed", "folder-resource-added", "folder-resource-removed", "folder-thermistor-failure", "folder-timing-failure", "folder-turned-off", "folder-turned-on", "folder-under-temperature", "folder-unrecoverable-failure", "folder-unrecoverable-storage-error", "folder-warming-up", "fuser-over-temp", "fuser-under-temp", "imprinter-added", "imprinter-almost-empty", "imprinter-almost-full", "imprinter-at-limit", "imprinter-closed", "imprinter-configuration-change", "imprinter-cover-closed", "imprinter-cover-open", "imprinter-empty", "imprinter-full", "imprinter-interlock-closed", "imprinter-interlock-open", "imprinter-jam", "imprinter-life-almost-over", "imprinter-life-over", "imprinter-memory-exhausted", "imprinter-missing", "imprinter-motor-failure", "imprinter-near-limit", "imprinter-offline", "imprinter-opened", "imprinter-over-temperature", "imprinter-power-saver", "imprinter-recoverable-failure", "imprinter-recoverable-storage-error", "imprinter-removed", "imprinter-resource-added", "imprinter-resource-removed", "imprinter-thermistor-failure", "imprinter-timing-failure", "imprinter-turned-off", "imprinter-turned-on", "imprinter-under-temperature", "imprinter-unrecoverable-failure", "imprinter-unrecoverable-storage-error", "imprinter-warming-up", "input-cannot-feed-size-selected", "input-manual-input-request", "input-media-color-change", "input-media-form-parts-change", "input-media-size-change", "input-media-type-change", "input-media-weight-change", "input-tray-elevation-failure", "input-tray-missing", "input-tray-position-failure", "inserter-added", "inserter-almost-empty", "inserter-almost-full", "inserter-at-limit", "inserter-closed", "inserter-configuration-change", "inserter-cover-closed", "inserter-cover-open", "inserter-empty", "inserter-full", "inserter-interlock-closed", "inserter-interlock-open", "inserter-jam", "inserter-life-almost-over", "inserter-life-over", "inserter-memory-exhausted", "inserter-missing", "inserter-motor-failure", "inserter-near-limit", "inserter-offline", "inserter-opened", "inserter-over-temperature", "inserter-power-saver", "inserter-recoverable-failure", "inserter-recoverable-storage-error", "inserter-removed", "inserter-resource-added", "inserter-resource-removed", "inserter-thermistor-failure", "inserter-timing-failure", "inserter-turned-off", "inserter-turned-on", "inserter-under-temperature", "inserter-unrecoverable-failure", "inserter-unrecoverable-storage-error", "inserter-warming-up", "interlock-closed", "interlock-open", "interpreter-cartridge-added", "interpreter-cartridge-deleted", "interpreter-complex-page-encountered", "interpreter-memory-decrease", "interpreter-memory-increase", "interpreter-resource-added", "interpreter-resource-deleted", "interpreter-resource-unavailable", "make-envelope-added", "make-envelope-almost-empty", "make-envelope-almost-full", "make-envelope-at-limit", "make-envelope-closed", "make-envelope-configuration-change", "make-envelope-cover-closed", "make-envelope-cover-open", "make-envelope-empty", "make-envelope-full", "make-envelope-interlock-closed", "make-envelope-interlock-open", "make-envelope-jam", "make-envelope-life-almost-over", "make-envelope-life-over", "make-envelope-memory-exhausted", "make-envelope-missing", "make-envelope-motor-failure", "make-envelope-near-limit", "make-envelope-offline", "make-envelope-opened", "make-envelope-over-temperature", "make-envelope-power-saver", "make-envelope-recoverable-failure", "make-envelope-recoverable-storage-error", "make-envelope-removed", "make-envelope-resource-added", "make-envelope-resource-removed", "make-envelope-thermistor-failure", "make-envelope-timing-failure", "make-envelope-turned-off", "make-envelope-turned-on", "make-envelope-under-temperature", "make-envelope-unrecoverable-failure", "make-envelope-unrecoverable-storage-error", "make-envelope-warming-up", "marker-adjusting-print-quality", "marker-developer-almost-empty", "marker-developer-empty", "marker-fuser-thermistor-failure", "marker-fuser-timing-failure", "marker-ink-almost-empty", "marker-ink-empty", "marker-print-ribbon-almost-empty", "marker-print-ribbon-empty", "marker-supply-empty", "marker-supply-low", "marker-toner-cartridge-missing", "marker-waste-almost-full", "marker-waste-full", "marker-waste-ink-receptacle-almost-full", "marker-waste-ink-receptacle-full", "marker-waste-toner-receptacle-almost-full", "marker-waste-toner-receptacle-full", "media-empty", "media-jam", "media-low", "media-needed", "media-path-cannot-duplex-media-selected", "media-path-media-tray-almost-full", "media-path-media-tray-full", "media-path-media-tray-missing", "moving-to-paused", "none", "opc-life-over", "opc-near-eol", "other", "output-area-almost-full", "output-area-full", "output-mailbox-select-failure", "output-tray-missing", "paused", "perforater-added", "perforater-almost-empty", "perforater-almost-full", "perforater-at-limit", "perforater-closed", "perforater-configuration-change", "perforater-cover-closed", "perforater-cover-open", "perforater-empty", "perforater-full", "perforater-interlock-closed", "perforater-interlock-open", "perforater-jam", "perforater-life-almost-over", "perforater-life-over", "perforater-memory-exhausted", "perforater-missing", "perforater-motor-failure", "perforater-near-limit", "perforater-offline", "perforater-opened", "perforater-over-temperature", "perforater-power-saver", "perforater-recoverable-failure", "perforater-recoverable-storage-error", "perforater-removed", "perforater-resource-added", "perforater-resource-removed", "perforater-thermistor-failure", "perforater-timing-failure", "perforater-turned-off", "perforater-turned-on", "perforater-under-temperature", "perforater-unrecoverable-failure", "perforater-unrecoverable-storage-error", "perforater-warming-up", "power-down", "power-up", "printer-manual-reset", "printer-nms-reset", "printer-ready-to-print", "puncher-added", "puncher-almost-empty", "puncher-almost-full", "puncher-at-limit", "puncher-closed", "puncher-configuration-change", "puncher-cover-closed", "puncher-cover-open", "puncher-empty", "puncher-full", "puncher-interlock-closed", "puncher-interlock-open", "puncher-jam", "puncher-life-almost-over", "puncher-life-over", "puncher-memory-exhausted", "puncher-missing", "puncher-motor-failure", "puncher-near-limit", "puncher-offline", "puncher-opened", "puncher-over-temperature", "puncher-power-saver", "puncher-recoverable-failure", "puncher-recoverable-storage-error", "puncher-removed", "puncher-resource-added", "puncher-resource-removed", "puncher-thermistor-failure", "puncher-timing-failure", "puncher-turned-off", "puncher-turned-on", "puncher-under-temperature", "puncher-unrecoverable-failure", "puncher-unrecoverable-storage-error", "puncher-warming-up", "separation-cutter-added", "separation-cutter-almost-empty", "separation-cutter-almost-full", "separation-cutter-at-limit", "separation-cutter-closed", "separation-cutter-configuration-change", "separation-cutter-cover-closed", "separation-cutter-cover-open", "separation-cutter-empty", "separation-cutter-full", "separation-cutter-interlock-closed", "separation-cutter-interlock-open", "separation-cutter-jam", "separation-cutter-life-almost-over", "separation-cutter-life-over", "separation-cutter-memory-exhausted", "separation-cutter-missing", "separation-cutter-motor-failure", "separation-cutter-near-limit", "separation-cutter-offline", "separation-cutter-opened", "separation-cutter-over-temperature", "separation-cutter-power-saver", "separation-cutter-recoverable-failure", "separation-cutter-recoverable-storage-error", "separation-cutter-removed", "separation-cutter-resource-added", "separation-cutter-resource-removed", "separation-cutter-thermistor-failure", "separation-cutter-timing-failure", "separation-cutter-turned-off", "separation-cutter-turned-on", "separation-cutter-under-temperature", "separation-cutter-unrecoverable-failure", "separation-cutter-unrecoverable-storage-error", "separation-cutter-warming-up", "sheet-rotator-added", "sheet-rotator-almost-empty", "sheet-rotator-almost-full", "sheet-rotator-at-limit", "sheet-rotator-closed", "sheet-rotator-configuration-change", "sheet-rotator-cover-closed", "sheet-rotator-cover-open", "sheet-rotator-empty", "sheet-rotator-full", "sheet-rotator-interlock-closed", "sheet-rotator-interlock-open", "sheet-rotator-jam", "sheet-rotator-life-almost-over", "sheet-rotator-life-over", "sheet-rotator-memory-exhausted", "sheet-rotator-missing", "sheet-rotator-motor-failure", "sheet-rotator-near-limit", "sheet-rotator-offline", "sheet-rotator-opened", "sheet-rotator-over-temperature", "sheet-rotator-power-saver", "sheet-rotator-recoverable-failure", "sheet-rotator-recoverable-storage-error", "sheet-rotator-removed", "sheet-rotator-resource-added", "sheet-rotator-resource-removed", "sheet-rotator-thermistor-failure", "sheet-rotator-timing-failure", "sheet-rotator-turned-off", "sheet-rotator-turned-on", "sheet-rotator-under-temperature", "sheet-rotator-unrecoverable-failure", "sheet-rotator-unrecoverable-storage-error", "sheet-rotator-warming-up", "shutdown", "slitter-added", "slitter-almost-empty", "slitter-almost-full", "slitter-at-limit", "slitter-closed", "slitter-configuration-change", "slitter-cover-closed", "slitter-cover-open", "slitter-empty", "slitter-full", "slitter-interlock-closed", "slitter-interlock-open", "slitter-jam", "slitter-life-almost-over", "slitter-life-over", "slitter-memory-exhausted", "slitter-missing", "slitter-motor-failure", "slitter-near-limit", "slitter-offline", "slitter-opened", "slitter-over-temperature", "slitter-power-saver", "slitter-recoverable-failure", "slitter-recoverable-storage-error", "slitter-removed", "slitter-resource-added", "slitter-resource-removed", "slitter-thermistor-failure", "slitter-timing-failure", "slitter-turned-off", "slitter-turned-on", "slitter-under-temperature", "slitter-unrecoverable-failure", "slitter-unrecoverable-storage-error", "slitter-warming-up", "spool-area-full", "stacker-added", "stacker-almost-empty", "stacker-almost-full", "stacker-at-limit", "stacker-closed", "stacker-configuration-change", "stacker-cover-closed", "stacker-cover-open", "stacker-empty", "stacker-full", "stacker-interlock-closed", "stacker-interlock-open", "stacker-jam", "stacker-life-almost-over", "stacker-life-over", "stacker-memory-exhausted", "stacker-missing", "stacker-motor-failure", "stacker-near-limit", "stacker-offline", "stacker-opened", "stacker-over-temperature", "stacker-power-saver", "stacker-recoverable-failure", "stacker-recoverable-storage-error", "stacker-removed", "stacker-resource-added", "stacker-resource-removed", "stacker-thermistor-failure", "stacker-timing-failure", "stacker-turned-off", "stacker-turned-on", "stacker-under-temperature", "stacker-unrecoverable-failure", "stacker-unrecoverable-storage-error", "stacker-warming-up", "stapler-added", "stapler-almost-empty", "stapler-almost-full", "stapler-at-limit", "stapler-closed", "stapler-configuration-change", "stapler-cover-closed", "stapler-cover-open", "stapler-empty", "stapler-full", "stapler-interlock-closed", "stapler-interlock-open", "stapler-jam", "stapler-life-almost-over", "stapler-life-over", "stapler-memory-exhausted", "stapler-missing", "stapler-motor-failure", "stapler-near-limit", "stapler-offline", "stapler-opened", "stapler-over-temperature", "stapler-power-saver", "stapler-recoverable-failure", "stapler-recoverable-storage-error", "stapler-removed", "stapler-resource-added", "stapler-resource-removed", "stapler-thermistor-failure", "stapler-timing-failure", "stapler-turned-off", "stapler-turned-on", "stapler-under-temperature", "stapler-unrecoverable-failure", "stapler-unrecoverable-storage-error", "stapler-warming-up", "stitcher-added", "stitcher-almost-empty", "stitcher-almost-full", "stitcher-at-limit", "stitcher-closed", "stitcher-configuration-change", "stitcher-cover-closed", "stitcher-cover-open", "stitcher-empty", "stitcher-full", "stitcher-interlock-closed", "stitcher-interlock-open", "stitcher-jam", "stitcher-life-almost-over", "stitcher-life-over", "stitcher-memory-exhausted", "stitcher-missing", "stitcher-motor-failure", "stitcher-near-limit", "stitcher-offline", "stitcher-opened", "stitcher-over-temperature", "stitcher-power-saver", "stitcher-recoverable-failure", "stitcher-recoverable-storage-error", "stitcher-removed", "stitcher-resource-added", "stitcher-resource-removed", "stitcher-thermistor-failure", "stitcher-timing-failure", "stitcher-turned-off", "stitcher-turned-on", "stitcher-under-temperature", "stitcher-unrecoverable-failure", "stitcher-unrecoverable-storage-error", "stitcher-warming-up", "stopped-partly", "stopping", "subunit-added", "subunit-almost-empty", "subunit-almost-full", "subunit-at-limit", "subunit-closed", "subunit-empty", "subunit-full", "subunit-life-almost-over", "subunit-life-over", "subunit-memory-exhausted", "subunit-missing", "subunit-motor-failure", "subunit-near-limit", "subunit-offline", "subunit-opened", "subunit-over-temperature", "subunit-power-saver", "subunit-recoverable-failure", "subunit-recoverable-storage-error", "subunit-removed", "subunit-resource-added", "subunit-resource-removed", "subunit-thermistor-failure", "subunit-timing-Failure", "subunit-turned-off", "subunit-turned-on", "subunit-under-temperature", "subunit-unrecoverable-failure", "subunit-unrecoverable-storage-error", "subunit-warming-up", "timed-out", "toner-empty", "toner-low", "trimmer-added", "trimmer-added", "trimmer-almost-empty", "trimmer-almost-empty", "trimmer-almost-full", "trimmer-almost-full", "trimmer-at-limit", "trimmer-at-limit", "trimmer-closed", "trimmer-closed", "trimmer-configuration-change", "trimmer-configuration-change", "trimmer-cover-closed", "trimmer-cover-closed", "trimmer-cover-open", "trimmer-cover-open", "trimmer-empty", "trimmer-empty", "trimmer-full", "trimmer-full", "trimmer-interlock-closed", "trimmer-interlock-closed", "trimmer-interlock-open", "trimmer-interlock-open", "trimmer-jam", "trimmer-jam", "trimmer-life-almost-over", "trimmer-life-almost-over", "trimmer-life-over", "trimmer-life-over", "trimmer-memory-exhausted", "trimmer-memory-exhausted", "trimmer-missing", "trimmer-missing", "trimmer-motor-failure", "trimmer-motor-failure", "trimmer-near-limit", "trimmer-near-limit", "trimmer-offline", "trimmer-offline", "trimmer-opened", "trimmer-opened", "trimmer-over-temperature", "trimmer-over-temperature", "trimmer-power-saver", "trimmer-power-saver", "trimmer-recoverable-failure", "trimmer-recoverable-failure", "trimmer-recoverable-storage-error", "trimmer-removed", "trimmer-resource-added", "trimmer-resource-removed", "trimmer-thermistor-failure", "trimmer-timing-failure", "trimmer-turned-off", "trimmer-turned-on", "trimmer-under-temperature", "trimmer-unrecoverable-failure", "trimmer-unrecoverable-storage-error", "trimmer-warming-up", "unknown", "wrapper-added", "wrapper-almost-empty", "wrapper-almost-full", "wrapper-at-limit", "wrapper-closed", "wrapper-configuration-change", "wrapper-cover-closed", "wrapper-cover-open", "wrapper-empty", "wrapper-full", "wrapper-interlock-closed", "wrapper-interlock-open", "wrapper-jam", "wrapper-life-almost-over", "wrapper-life-over", "wrapper-memory-exhausted", "wrapper-missing", "wrapper-motor-failure", "wrapper-near-limit", "wrapper-offline", "wrapper-opened", "wrapper-over-temperature", "wrapper-power-saver", "wrapper-recoverable-failure", "wrapper-recoverable-storage-error", "wrapper-removed", "wrapper-resource-added", "wrapper-resource-removed", "wrapper-thermistor-failure", "wrapper-timing-failure", "wrapper-turned-off", "wrapper-turned-on", "wrapper-under-temperature", "wrapper-unrecoverable-failure", "wrapper-unrecoverable-storage-error", "wrapper-warming-up" ]); a["proof-print-supported"] = B([ "media", "media-col", "proof-print-copies" ]); a["pwg-raster-document-sheet-back"] = A([ "flipped", "manual-tumble", "normal", "rotated" ]); a["pwg-raster-document-type-supported"] = B([ "adobe-rgb_8", "adobe-rgb_16", "black_1", "black_8", "black_16", "cmyk_8", "cmyk_16", "device1_8", "device1_16", "device2_8", "device2_16", "device3_8", "device3_16", "device4_8", "device4_16", "device5_8", "device5_16", "device6_8", "device6_16", "device7_8", "device7_16", "device8_8", "device8_16", "device9_8", "device9_16", "device10_8", "device10_16", "device11_8", "device11_16", "device12_8", "device12_16", "device13_8", "device13_16", "device14_8", "device14_16", "device15_8", "device15_16", "rgb_8", "rgb_16", "sgray_1", "sgray_8", "sgray_16", "srgb_8", "srgb_16" ]); a["requested-attributes"] = A([ "all", "document-description", "document-template", "job-description", "job-template", "printer-description", "subscription-description", "subscription-template" ]); a["save-disposition"] = A([ "none", "print-save", "save-only" ]); a["save-disposition-supported"] = B( a["save-disposition"] ); a["save-info-supported"] = B([ "save-document-format", "save-location", "save-name" ]); a["separator-sheets-type"] = L([ "both-sheets", "end-sheet", "none", "slip-sheets", "start-sheet" ]); a["separator-sheets-type-supported"] = K( a["separator-sheets-type"] ); a["sheet-collate"] = A([ "collated", "uncollated" ]); a["sheet-collate-default"] = A( a["sheet-collate"] ); a["sheet-collate-supported"] = B( a["sheet-collate"] ); a.sides = A([ "one-sided", "two-sided-long-edge", "two-sided-short-edge" ]); a["sides-default"] = A( a.sides ); a["sides-supported"] = B( a.sides ); a["stitching-reference-edge"] = A([ "bottom", "left", "right", "top" ]); a["stitching-reference-edge-supported"] = B( a["stitching-reference-edge"] ); a["stitching-supported"] = B([ "stitching-locations", "stitching-offset", "stitching-reference-edge" ]); a["uri-authentication-supported"] = B([ "basic", "certificate", "digest", "negotiate", "none", "requesting-user-name" ]); a["uri-security-supported"] = B([ "none", "ssl3", "tls" ]); a["which-jobs"] = A([ "aborted", "all", "canceled", "completed", "not-completed", "pending", "pending-held", "processing", "processing-stopped", "proof-print", "saved" ]); a["which-jobs-supported"] = B( a["which-jobs"] ); a["x-image-position"] = A([ "center", "left", "none", "right" ]); a["x-image-position-default"] = A( a["x-image-position"] ); a["x-image-position-supported"] = B( a["x-image-position"] ); a["xri-authentication-supported"] = B([ "basic", "certificate", "digest", "none", "requesting-user-name" ]); a["xri-security-supported"] = B([ "none", "ssl3", "tls" ]); a["y-image-position"] = A([ "bottom", "center", "none", "top" ]); a["y-image-position-default"] = A( a["y-image-position"] ); a["y-image-position-supported"] = B( a["y-image-position"] ); let Ee = []; Ee[256] = "1.0"; Ee[257] = "1.1"; Ee[512] = "2.0"; Ee[513] = "2.1"; const Ct = ne(Ee); let Rt = O["operations-supported"], qt = ""; function Dt() { return +Math.random().toString().substr(-8); } function Lt(u) { let d = be.Buffer.alloc(10240), f = 0; function x(y) { C(1), d.writeUInt8(y, f), f += 1; } function w(y) { C(2), d.writeUInt16BE(y, f), f += 2; } function j(y) { C(4), d.writeUInt32BE(y, f), f += 4; } function _(y, k) { let T = be.Buffer.byteLength(y); C(T), d.write(y, f, T, k || "utf8"), f += T; } function c(y, k) { let T = be.Buffer.byteLength(y); w(T), C(T), d.write(y, f, T, k || "utf8"), f += T; } function C(y) { f + y > d.length && (d = be.Buffer.concat([d], 2 * d.length)); } let Z = { "attributes-charset": 1, "attributes-natural-language": 2 }, G = { "job-attributes-tag": ["Job Template", "Job Description"], "operation-attributes-tag": "Operation", "printer-attributes-tag": "Printer Description", "unsupported-attributes-tag": "", //?? "subscription-attributes-tag": "Subscription Description", "event-notification-attributes-tag": "Event Notifications", "resource-attributes-tag": "", //?? "document-attributes-tag": "Document Description" }; function N(y) { let k = u[y]; if (!k) return; let T = Object.keys(k); y == v["operation-attributes-tag"] && (T = T.sort(function(V, Q) { return (Z[V] || 3) - (Z[Q] || 3); })); let q = G[y]; x(v[y]), T.forEach(function(V) { te(q, V, k); }); } function te(y, k, T) { let q = Array.isArray(y) ? y.find(function(fe) { return X[fe][k]; }) : y; if (!q) throw "Unknown attribute: " + k; let V = X[q][k], Q = T[k]; Array.isArray(Q) || (Q = [Q]), Q.forEach(function(fe, Se) { let Ie = Array.isArray(V) ? ue(V, k, fe) : V, ke = W(Ie, k, fe); ke === v.enum && (fe = O[k][fe]), x(ke), Se == 0 ? c(k) : w(0), oe(ke, fe, Ie.members); }); } function W(y, k, T) { let q = y.tag; if (!q) { let V = !!~T.indexOf(qt); q = v[y.type + (V ? "With" : "Without") + "Language"]; } return q; } function ue(y, k, T) { switch (y.alts) { case "keyword,name": case "keyword,name,novalue": return T === null && y.lookup.novalue ? y.lookup.novalue : ~a[k].indexOf(T) ? y.lookup.keyword : y.lookup.name; case "integer,rangeOfInteger": return Array.isArray(T) ? y.lookup.rangeOfInteger : y.lookup.integer; case "dateTime,novalue": return isNaN(Date.parse(T)) ? y.lookup.novalue : y.lookup.dateTime; case "integer,novalue": return isNaN(T) ? y.lookup.novalue : y.lookup.integer; case "name,novalue": return T !== null ? y.lookup.name : y.lookup.novalue; case "novalue,uri": return T !== null ? y.lookup.uri : y.lookup.novalue; case "enumeration,unknown": return O[k][T] ? y.lookup.enumeration : y.lookup.unknown; case "enumeration,novalue": return T !== null ? y.lookup.enumeration : y.lookup.novalue; case "collection,novalue": return T !== null ? y.lookup.enumeration : y.lookup.novalue; } } function oe(y, k, T) { switch (y) { case v.enum: return w(4), j(k); case v.integer: return w(4), j(k); case v.boolean: return w(1), x(Number(k)); case v.rangeOfInteger: w(8), j(k.min), j(k.max); return; case v.resolution: w(9), j(k[0]), j(k[1]), x(k[2] === "dpi" ? 3 : 4); return; case v.dateTime: w(11), w(k.getFullYear()), x(k.getMonth() + 1), x(k.getDate()), x(k.getHours()), x(k.getMinutes()), x(k.getSeconds()), x(Math.floor(k.getMilliseconds() / 100)); let q = Nt(k); _(q[0]), x(q[1]), x(q[2]); return; case v.nameWithoutLanguage: case v.textWithoutLanguage: case v.octetString: case v.memberAttrName: return c(k); case v.keyword: case v.uri: case v.uriScheme: case v.charset: case v.naturalLanguage: case v.mimeMediaType: return c(k, "ascii"); case v.begCollection: return w(0), ce(k, T); case v["no-value"]: return w(0); default: return w(0); } } function ce(y, k) { Object.keys(y).forEach(function(T) { let q = y[T], V = k[T]; Array.isArray(V) && (V = ue(V, T, q)); let Q = W(V, T, q); Q === v.enum && (q = O[T][q]), x(v.memberAttrName), w(0), oe(v.memberAttrName, T), x(Q), w(0), oe(Q, q, V.members); }), x(v.endCollection), w(0), w(0); } if (w(Ct[u.version || "2.0"]), w(u.operation ? Rt[u.operation] : rt[u.statusCode]), j(u.id || Dt()), N("operation-attributes-tag"), N("job-attributes-tag"), N("printer-attributes-tag"), N("document-attributes-tag"), x(3), !u.data) return d.slice(0, f); if (!be.Buffer.isBuffer(u.data)) throw "data must be a Buffer"; let F = be.Buffer.alloc(f + u.data.length); return d.copy(F, 0, 0, f), u.data.copy(F, f, 0), F; } function Nt(u) { let d = u.getTimezoneOffset(); return [d > 0 ? "-" : "+", ~~(Math.abs(d) / 60), Math.abs(d) % 60]; } class Le { constructor(d, f) { _e(this, "url"); _e(this, "version"); _e(this, "uri"); _e(this, "charset"); _e(this, "language"); if (!(this instanceof Le)) return new Le(d, f); f = f || {}, this.url = typeof d == "string" ? new URL(d) : d, this.version = f.version || "2.0", this.uri = f.uri || "ipp://" + this.url.host + this.url.pathname, this.charset = f.charset || "utf-8", this.language = f.language || "en-us"; } _message(d, f) { typeof d > "u" && (d = "Get-Printer-Attributes"); const x = { version: this.version, operation: d, id: null, // will get added by serializer if one isn't given "operation-attributes-tag": { // these are required to be in this order "attributes-charset": this.charset, "attributes-natural-language": this.language, "printer-uri": this.uri } }; return f && f["operation-attributes-tag"]["job-id"] ? x["operation-attributes-tag"]["job-id"] = f["operation-attributes-tag"]["job-id"] : f && f["operation-attributes-tag"]["job-uri"] && (x["operation-attributes-tag"]["job-uri"] = f["operation-attributes-tag"]["job-uri"]), f = tt(x, f), f["operation-attributes-tag"]["job-uri"] && delete f["operation-attributes-tag"]["printer-uri"], f; } getHeaders(d) { return { ...d, "Content-Type": "application/ipp" }; } encodeMsg(d, f) { f = this._message(d, f); const x = Lt(f); return console.log(x), x; } } export { Ot as decodeResponse, Le as default };