fuck-tiny-cloud/plugins/licensekeymanager/js/commerciallicensekeymanager.js

21733 lines
411 KiB
JavaScript

/*!
* Tiny Commercial License Key Manager
*
* Copyright (c) 2025 Ephox Corporation DBA Tiny Technologies, Inc.
* Licensed under the Tiny commercial license. See https://www.tiny.cloud/legal/
*
* Version: 8.3.0-112
*/
/*!
* This resource uses the code from the following libraries:
*
* jose
* Copyright (c) Filip Skokan.
* https://github.com/panva/jose
*
* x509
* Copyright (c) Peculiar Ventures.
* https://github.com/PeculiarVentures/x509
*
* protobuf
* Copyright 2021-2024 Buf Technologies, Inc.
* https://github.com/bufbuild/protobuf-es/tree/main/packages/protobuf
*
*/
(function () {
"use strict";
function e(e, t, r, n) {
var i;
var o = arguments.length;
var s =
o < 3 ? t : n === null ? (n = Object.getOwnPropertyDescriptor(t, r)) : n;
if (typeof Reflect == "object" && typeof Reflect.decorate == "function") {
s = Reflect.decorate(e, t, r, n);
} else {
for (var a = e.length - 1; a >= 0; a--) {
if ((i = e[a])) {
s = (o < 3 ? i(s) : o > 3 ? i(t, r, s) : i(t, r)) || s;
}
}
}
if (o > 3 && s) {
Object.defineProperty(t, r, s);
}
return s;
}
if (typeof SuppressedError == "function") {
SuppressedError;
}
const t = (e) => (t) =>
((e) => {
const t = typeof e;
if (e === null) {
return "null";
} else if (t === "object" && Array.isArray(e)) {
return "array";
} else if (
t === "object" &&
((r = n = e),
(i = String).prototype.isPrototypeOf(r) ||
n.constructor?.name === i.name)
) {
return "string";
} else {
return t;
}
var r;
var n;
var i;
})(t) === e;
const r = t("string");
const n = t("object");
const i = (e) => !((e) => e == null)(e);
const o = () => {};
const s = (e) => () => e;
const a = (e) => e;
const c = (e) => e();
const l = s(false);
const u = s(true);
class p {
tag;
value;
static singletonNone = new p(false);
constructor(e, t) {
this.tag = e;
this.value = t;
}
static some(e) {
return new p(true, e);
}
static none() {
return p.singletonNone;
}
fold(e, t) {
if (this.tag) {
return t(this.value);
} else {
return e();
}
}
isSome() {
return this.tag;
}
isNone() {
return !this.tag;
}
map(e) {
if (this.tag) {
return p.some(e(this.value));
} else {
return p.none();
}
}
bind(e) {
if (this.tag) {
return e(this.value);
} else {
return p.none();
}
}
exists(e) {
return this.tag && e(this.value);
}
forall(e) {
return !this.tag || e(this.value);
}
filter(e) {
if (!this.tag || e(this.value)) {
return this;
} else {
return p.none();
}
}
getOr(e) {
if (this.tag) {
return this.value;
} else {
return e;
}
}
or(e) {
if (this.tag) {
return this;
} else {
return e;
}
}
getOrThunk(e) {
if (this.tag) {
return this.value;
} else {
return e();
}
}
orThunk(e) {
if (this.tag) {
return this;
} else {
return e();
}
}
getOrDie(e) {
if (this.tag) {
return this.value;
}
throw new Error(e ?? "Called getOrDie on None");
}
static from(e) {
if (i(e)) {
return p.some(e);
} else {
return p.none();
}
}
getOrNull() {
if (this.tag) {
return this.value;
} else {
return null;
}
}
getOrUndefined() {
return this.value;
}
each(e) {
if (this.tag) {
e(this.value);
}
}
toArray() {
if (this.tag) {
return [this.value];
} else {
return [];
}
}
toString() {
if (this.tag) {
return `some(${this.value})`;
} else {
return "none()";
}
}
}
const h = Array.prototype.indexOf;
const f = (e, t) => {
for (let r = 0, n = e.length; r < n; r++) {
if (t(e[r], r)) {
return true;
}
}
return false;
};
const d = (e, t) => {
const r = e.length;
const n = new Array(r);
for (let i = 0; i < r; i++) {
const r = e[i];
n[i] = t(r, i);
}
return n;
};
const y = Object.hasOwnProperty;
const m = (e) => {
const t = (t) => t(e);
const r = s(e);
const n = () => i;
const i = {
tag: true,
inner: e,
fold: (t, r) => r(e),
isValue: u,
isError: l,
map: (t) => v.value(t(e)),
mapError: n,
bind: t,
exists: t,
forall: t,
getOr: r,
or: n,
getOrThunk: r,
orThunk: n,
getOrDie: r,
each: (t) => {
t(e);
},
toOptional: () => p.some(e),
};
return i;
};
const g = (e) => {
const t = () => r;
const r = {
tag: false,
inner: e,
fold: (t, r) => t(e),
isValue: l,
isError: u,
map: t,
mapError: (t) => v.error(t(e)),
bind: t,
exists: l,
forall: u,
getOr: a,
or: a,
getOrThunk: c,
orThunk: c,
getOrDie:
((n = String(e)),
() => {
throw new Error(n);
}),
each: o,
toOptional: p.none,
};
var n;
return r;
};
const v = {
value: m,
error: g,
fromOption: (e, t) => e.fold(() => g(t), m),
};
const b = (e, t) => (e ? p.some(t) : p.none());
const E = (e) => {
let t;
let r = false;
return (...n) => {
if (!r) {
r = true;
t = e.apply(null, n);
}
return t;
};
};
const w = (e, t) => {
const { type: r, message: n } = t;
e.notificationManager.open({
type: r,
text: n,
});
};
const S = (e) => {
((e) => {
switch (e) {
case "error":
return console.error;
case "info":
return console.info;
case "warn":
return console.warn;
default:
return console.log;
}
})(e.type)(e.message);
};
const A = (e, t) => {
const { console: r, editor: n } = t;
if (i(n)) {
if (e._skinLoaded) {
w(e, n);
} else {
e.on("SkinLoaded", () => {
w(e, n);
});
}
}
if (i(r)) {
S(r);
}
};
const N = (e) => parseInt(e, 10);
const T = (e, t) => {
const r = e - t;
if (r === 0) {
return 0;
} else if (r > 0) {
return 1;
} else {
return -1;
}
};
const O = (e, t, r) => ({
major: e,
minor: t,
patch: r,
});
const I = (e) => {
const t = /([0-9]+)\.([0-9]+)\.([0-9]+)(?:(\-.+)?)/.exec(e);
if (t) {
return O(N(t[1]), N(t[2]), N(t[3]));
} else {
return O(0, 0, 0);
}
};
const k = (e, t) => {
const r = T(e.major, t.major);
if (r !== 0) {
return r;
}
const n = T(e.minor, t.minor);
if (n !== 0) {
return n;
}
const i = T(e.patch, t.patch);
if (i !== 0) {
return i;
} else {
return 0;
}
};
x = [0];
const B = (e, t) => {
const r = k(e, t);
n = x;
i = r;
return h.call(n, i) > -1;
var n;
var i;
};
var x;
const _0x2c56ee = (_0x3d8ae1) =>
I(
((_0x3c881a) =>
[_0x3c881a.majorVersion, _0x3c881a.minorVersion]
.join(".")
.split(".")
.slice(0, 3)
.join("."))(_0x3d8ae1),
);
const _0x3040cd = (_0x17658a, _0x3a071b) =>
!!_0x17658a && k(_0x2c56ee(_0x17658a), I(_0x3a071b)) === -1;
const _0x5f0b94 = I("8.3.0");
const _0x3c7e1e = `${_0x5f0b94.major}.${_0x5f0b94.minor}.0`;
const _0x4736ec = `${_0x5f0b94.major + 1}.0.0`;
const _0x2a81b9 = (_0x2586f6, _0x5aa42e) => {
try {
return v.value(_0x2586f6());
} catch (_0x507be6) {
return v.error(_0x5aa42e(_0x507be6));
}
};
const _0x14826e = (_0x6830b3) => (_0x2a334b) =>
_0x2a334b instanceof Error ? _0x2a334b : new Error(_0x6830b3);
new window.TextEncoder();
new window.TextDecoder();
const _0x3f9df1 = (_0x164af9) =>
_0x2a81b9(
() =>
((_0x9e149c) => {
const _0x441d2f = window.atob(_0x9e149c);
return Uint8Array.from(_0x441d2f, (_0x417aae) =>
_0x417aae.charCodeAt(0),
);
})(_0x164af9.replace(/-/g, "+").replace(/_/g, "/").replace(/\s/g, "")),
_0x14826e("Unable to decode base64 url"),
);
var _0x28ac07;
(function (_0x10ae82) {
_0x10ae82.FormatInvalid = "jws_format_invalid";
_0x10ae82.DecodeFailure = "jws_decode_failure";
})((_0x28ac07 ||= {}));
function F(e, t) {
return (
e !== null &&
typeof e == "object" &&
!!("$typeName" in e) &&
typeof e.$typeName == "string" &&
(t === undefined || t.typeName === e.$typeName)
);
}
var M;
function H() {
let e = 0;
let t = 0;
for (let r = 0; r < 28; r += 7) {
let n = this.buf[this.pos++];
e |= (n & 127) << r;
if (!(n & 128)) {
this.assertBounds();
return [e, t];
}
}
let r = this.buf[this.pos++];
e |= (r & 15) << 28;
t = (r & 112) >> 4;
if (!(r & 128)) {
this.assertBounds();
return [e, t];
}
for (let r = 3; r <= 31; r += 7) {
let n = this.buf[this.pos++];
t |= (n & 127) << r;
if (!(n & 128)) {
this.assertBounds();
return [e, t];
}
}
throw new Error("invalid varint");
}
(function (e) {
e[(e.DOUBLE = 1)] = "DOUBLE";
e[(e.FLOAT = 2)] = "FLOAT";
e[(e.INT64 = 3)] = "INT64";
e[(e.UINT64 = 4)] = "UINT64";
e[(e.INT32 = 5)] = "INT32";
e[(e.FIXED64 = 6)] = "FIXED64";
e[(e.FIXED32 = 7)] = "FIXED32";
e[(e.BOOL = 8)] = "BOOL";
e[(e.STRING = 9)] = "STRING";
e[(e.BYTES = 12)] = "BYTES";
e[(e.UINT32 = 13)] = "UINT32";
e[(e.SFIXED32 = 15)] = "SFIXED32";
e[(e.SFIXED64 = 16)] = "SFIXED64";
e[(e.SINT32 = 17)] = "SINT32";
e[(e.SINT64 = 18)] = "SINT64";
})((M ||= {}));
const K = 4294967296;
function $(e) {
const t = e[0] === "-";
if (t) {
e = e.slice(1);
}
const r = 1000000;
let n = 0;
let i = 0;
function o(t, o) {
const s = Number(e.slice(t, o));
i *= r;
n = n * r + s;
if (n >= K) {
i += (n / K) | 0;
n %= K;
}
}
o(-24, -18);
o(-18, -12);
o(-12, -6);
o(-6);
if (t) {
return Y(n, i);
} else {
return W(n, i);
}
}
function G(e, t) {
({ lo: e, hi: t } = (function (e, t) {
return {
lo: e >>> 0,
hi: t >>> 0,
};
})(e, t));
if (t <= 2097151) {
return String(K * t + e);
}
const r = ((e >>> 24) | (t << 8)) & 16777215;
const n = (t >> 16) & 65535;
let i = (e & 16777215) + r * 6777216 + n * 6710656;
let o = r + n * 8147497;
let s = n * 2;
const a = 10000000;
if (i >= a) {
o += Math.floor(i / a);
i %= a;
}
if (o >= a) {
s += Math.floor(o / a);
o %= a;
}
return s.toString() + J(o) + J(i);
}
function W(e, t) {
return {
lo: e | 0,
hi: t | 0,
};
}
function Y(e, t) {
t = ~t;
if (e) {
e = 1 + ~e;
} else {
t += 1;
}
return W(e, t);
}
const J = (e) => {
const t = String(e);
return "0000000".slice(t.length) + t;
};
function z() {
let e = this.buf[this.pos++];
let t = e & 127;
if (!(e & 128)) {
this.assertBounds();
return t;
}
e = this.buf[this.pos++];
t |= (e & 127) << 7;
if (!(e & 128)) {
this.assertBounds();
return t;
}
e = this.buf[this.pos++];
t |= (e & 127) << 14;
if (!(e & 128)) {
this.assertBounds();
return t;
}
e = this.buf[this.pos++];
t |= (e & 127) << 21;
if (!(e & 128)) {
this.assertBounds();
return t;
}
e = this.buf[this.pos++];
t |= (e & 15) << 28;
for (let t = 5; e & 128 && t < 10; t++) {
e = this.buf[this.pos++];
}
if (e & 128) {
throw new Error("invalid varint");
}
this.assertBounds();
return t >>> 0;
}
const X = q();
function q() {
const e = new DataView(new ArrayBuffer(8));
if (
typeof BigInt == "function" &&
typeof e.getBigInt64 == "function" &&
typeof e.getBigUint64 == "function" &&
typeof e.setBigInt64 == "function" &&
typeof e.setBigUint64 == "function" &&
(typeof process != "object" ||
typeof process.env != "object" ||
process.env.BUF_BIGINT_DISABLE !== "1")
) {
const t = BigInt("-9223372036854775808");
const r = BigInt("9223372036854775807");
const n = BigInt("0");
const i = BigInt("18446744073709551615");
return {
zero: BigInt(0),
supported: true,
parse(e) {
const n = typeof e == "bigint" ? e : BigInt(e);
if (n > r || n < t) {
throw new Error(`invalid int64: ${e}`);
}
return n;
},
uParse(e) {
const t = typeof e == "bigint" ? e : BigInt(e);
if (t > i || t < n) {
throw new Error(`invalid uint64: ${e}`);
}
return t;
},
enc(t) {
e.setBigInt64(0, this.parse(t), true);
return {
lo: e.getInt32(0, true),
hi: e.getInt32(4, true),
};
},
uEnc(t) {
e.setBigInt64(0, this.uParse(t), true);
return {
lo: e.getInt32(0, true),
hi: e.getInt32(4, true),
};
},
dec: (t, r) => {
e.setInt32(0, t, true);
e.setInt32(4, r, true);
return e.getBigInt64(0, true);
},
uDec: (t, r) => {
e.setInt32(0, t, true);
e.setInt32(4, r, true);
return e.getBigUint64(0, true);
},
};
}
return {
zero: "0",
supported: false,
parse: (e) => {
if (typeof e != "string") {
e = e.toString();
}
Q(e);
return e;
},
uParse: (e) => {
if (typeof e != "string") {
e = e.toString();
}
Z(e);
return e;
},
enc: (e) => {
if (typeof e != "string") {
e = e.toString();
}
Q(e);
return $(e);
},
uEnc: (e) => {
if (typeof e != "string") {
e = e.toString();
}
Z(e);
return $(e);
},
dec: (e, t) =>
(function (e, t) {
let r = W(e, t);
const n = r.hi & 2147483648;
if (n) {
r = Y(r.lo, r.hi);
}
const i = G(r.lo, r.hi);
if (n) {
return "-" + i;
} else {
return i;
}
})(e, t),
uDec: (e, t) => G(e, t),
};
}
function Q(e) {
if (!/^-?[0-9]+$/.test(e)) {
throw new Error("invalid int64: " + e);
}
}
function Z(e) {
if (!/^[0-9]+$/.test(e)) {
throw new Error("invalid uint64: " + e);
}
}
function ee(e, t) {
switch (e) {
case M.STRING:
return "";
case M.BOOL:
return false;
case M.DOUBLE:
case M.FLOAT:
return 0;
case M.INT64:
case M.UINT64:
case M.SFIXED64:
case M.FIXED64:
case M.SINT64:
if (t) {
return "0";
} else {
return X.zero;
}
case M.BYTES:
return new Uint8Array(0);
default:
return 0;
}
}
const te = Symbol.for("reflect unsafe local");
function re(e, t) {
const r = e[t.localName].case;
if (r === undefined) {
return r;
} else {
return t.fields.find((e) => e.localName === r);
}
}
function ne(e, t) {
return Object.prototype.hasOwnProperty.call(e, t) && e[t] !== undefined;
}
function ie(e, t) {
if (t.oneof) {
const r = e[t.oneof.localName];
if (r.case === t.localName) {
return r.value;
} else {
return undefined;
}
}
return e[t.localName];
}
function oe(e, t, r) {
if (t.oneof) {
e[t.oneof.localName] = {
case: t.localName,
value: r,
};
} else {
e[t.localName] = r;
}
}
function se(e) {
return e !== null && typeof e == "object" && !Array.isArray(e);
}
function ae(e, t) {
if (
se(e) &&
te in e &&
"add" in e &&
"field" in e &&
typeof e.field == "function"
) {
if (t !== undefined) {
const s = t;
const a = e.field();
return (
s.listKind == a.listKind &&
s.scalar === a.scalar &&
s.message?.typeName === a.message?.typeName &&
s.enum?.typeName === a.enum?.typeName
);
}
return true;
}
return false;
}
function ce(e, t) {
if (
se(e) &&
te in e &&
"has" in e &&
"field" in e &&
typeof e.field == "function"
) {
if (t !== undefined) {
const s = t;
const a = e.field();
return (
s.mapKey === a.mapKey &&
s.mapKind == a.mapKind &&
s.scalar === a.scalar &&
s.message?.typeName === a.message?.typeName &&
s.enum?.typeName === a.enum?.typeName
);
}
return true;
}
return false;
}
function le(e, t) {
return (
se(e) &&
te in e &&
"desc" in e &&
se(e.desc) &&
e.desc.kind === "message" &&
(t === undefined || e.desc.typeName == t.typeName)
);
}
function ue(e) {
const t = e.fields[0];
return (
pe(e.typeName) &&
t !== undefined &&
t.fieldKind == "scalar" &&
t.name == "value" &&
t.number == 1
);
}
function pe(e) {
return (
e.startsWith("google.protobuf.") &&
[
"DoubleValue",
"FloatValue",
"Int64Value",
"UInt64Value",
"Int32Value",
"UInt32Value",
"BoolValue",
"StringValue",
"BytesValue",
].includes(e.substring(16))
);
}
function he(e, t) {
if (F(t, e)) {
return t;
}
const r = (function (e) {
let t;
if (
(function (e) {
switch (e.file.edition) {
case 999:
return false;
case 998:
return true;
default:
return e.fields.some(
(e) => e.presence != 2 && e.fieldKind != "message" && !e.oneof,
);
}
})(e)
) {
const r = Ee.get(e);
let n;
let i;
if (r) {
({ prototype: n, members: i } = r);
} else {
n = {};
i = new Set();
for (const t of e.members) {
if (t.kind != "oneof") {
if (t.fieldKind == "scalar" || t.fieldKind == "enum") {
if (t.presence != 2) {
i.add(t);
n[t.localName] = we(t);
}
}
}
}
Ee.set(e, {
prototype: n,
members: i,
});
}
t = Object.create(n);
t.$typeName = e.typeName;
for (const r of e.members) {
if (!i.has(r)) {
if (r.kind == "field") {
if (r.fieldKind == "message") {
continue;
}
if (
(r.fieldKind == "scalar" || r.fieldKind == "enum") &&
r.presence != 2
) {
continue;
}
}
t[r.localName] = we(r);
}
}
} else {
t = {
$typeName: e.typeName,
};
for (const r of e.members) {
if (r.kind == "oneof" || r.presence == 2) {
t[r.localName] = we(r);
}
}
}
return t;
})(e);
if (t !== undefined) {
(function (e, t, r) {
for (const n of e.members) {
let e;
let i = r[n.localName];
if (i != null) {
if (n.kind == "oneof") {
const t = re(r, n);
if (!t) {
continue;
}
e = t;
i = ie(r, t);
} else {
e = n;
}
switch (e.fieldKind) {
case "message":
i = me(e, i);
break;
case "scalar":
i = fe(e, i);
break;
case "list":
i = ye(e, i);
break;
case "map":
i = de(e, i);
}
oe(t, e, i);
}
}
})(e, r, t);
}
return r;
}
function fe(e, t) {
if (e.scalar == M.BYTES) {
return ge(t);
} else {
return t;
}
}
function de(e, t) {
if (se(t)) {
if (e.scalar == M.BYTES) {
return ve(t, ge);
}
if (e.mapKind == "message") {
return ve(t, (t) => me(e, t));
}
}
return t;
}
function ye(e, t) {
if (Array.isArray(t)) {
if (e.scalar == M.BYTES) {
return t.map(ge);
}
if (e.listKind == "message") {
return t.map((t) => me(e, t));
}
}
return t;
}
function me(e, t) {
if (e.fieldKind == "message" && !e.oneof && ue(e.message)) {
return fe(e.message.fields[0], t);
}
if (se(t)) {
if (
e.message.typeName == "google.protobuf.Struct" &&
e.parent.typeName !== "google.protobuf.Value"
) {
return t;
}
if (!F(t, e.message)) {
return he(e.message, t);
}
}
return t;
}
function ge(e) {
if (Array.isArray(e)) {
return new Uint8Array(e);
} else {
return e;
}
}
function ve(e, t) {
const r = {};
for (const n of Object.entries(e)) {
r[n[0]] = t(n[1]);
}
return r;
}
const be = Symbol();
const Ee = new WeakMap();
function we(e) {
if (e.kind == "oneof") {
return {
case: undefined,
};
}
if (e.fieldKind == "list") {
return [];
}
if (e.fieldKind == "map") {
return {};
}
if (e.fieldKind == "message") {
return be;
}
const t = e.getDefaultValue();
if (t !== undefined) {
if (e.fieldKind == "scalar" && e.longAsString) {
return t.toString();
} else {
return t;
}
} else if (e.fieldKind == "scalar") {
return ee(e.scalar, e.longAsString);
} else {
return e.enum.values[0].number;
}
}
class Se extends Error {
constructor(e, t, r = "FieldValueInvalidError") {
super(t);
this.name = r;
this.field = () => e;
}
}
const Ae = Symbol.for("@bufbuild/protobuf/text-encoding");
function Ne() {
if (globalThis[Ae] == null) {
const e = new globalThis.TextEncoder();
const t = new globalThis.TextDecoder();
globalThis[Ae] = {
encodeUtf8: (t) => e.encode(t),
decodeUtf8: (e) => t.decode(e),
checkUtf8(e) {
try {
encodeURIComponent(e);
return true;
} catch (e) {
return false;
}
},
};
}
return globalThis[Ae];
}
var Te;
(function (e) {
e[(e.Varint = 0)] = "Varint";
e[(e.Bit64 = 1)] = "Bit64";
e[(e.LengthDelimited = 2)] = "LengthDelimited";
e[(e.StartGroup = 3)] = "StartGroup";
e[(e.EndGroup = 4)] = "EndGroup";
e[(e.Bit32 = 5)] = "Bit32";
})((Te ||= {}));
class Oe {
constructor(e, t = Ne().decodeUtf8) {
this.decodeUtf8 = t;
this.varint64 = H;
this.uint32 = z;
this.buf = e;
this.len = e.length;
this.pos = 0;
this.view = new DataView(e.buffer, e.byteOffset, e.byteLength);
}
tag() {
let e = this.uint32();
let t = e >>> 3;
let r = e & 7;
if (t <= 0 || r < 0 || r > 5) {
throw new Error("illegal tag: field no " + t + " wire type " + r);
}
return [t, r];
}
skip(e, t) {
let r = this.pos;
switch (e) {
case Te.Varint:
while (this.buf[this.pos++] & 128);
break;
case Te.Bit64:
this.pos += 4;
case Te.Bit32:
this.pos += 4;
break;
case Te.LengthDelimited:
let r = this.uint32();
this.pos += r;
break;
case Te.StartGroup:
while (true) {
const [e, r] = this.tag();
if (r === Te.EndGroup) {
if (t !== undefined && e !== t) {
throw new Error("invalid end group tag");
}
break;
}
this.skip(r, e);
}
break;
default:
throw new Error("cant skip wire type " + e);
}
this.assertBounds();
return this.buf.subarray(r, this.pos);
}
assertBounds() {
if (this.pos > this.len) {
throw new RangeError("premature EOF");
}
}
int32() {
return this.uint32() | 0;
}
sint32() {
let e = this.uint32();
return (e >>> 1) ^ -(e & 1);
}
int64() {
return X.dec(...this.varint64());
}
uint64() {
return X.uDec(...this.varint64());
}
sint64() {
let [e, t] = this.varint64();
let r = -(e & 1);
e = ((e >>> 1) | ((t & 1) << 31)) ^ r;
t = (t >>> 1) ^ r;
return X.dec(e, t);
}
bool() {
let [e, t] = this.varint64();
return e !== 0 || t !== 0;
}
fixed32() {
return this.view.getUint32((this.pos += 4) - 4, true);
}
sfixed32() {
return this.view.getInt32((this.pos += 4) - 4, true);
}
fixed64() {
return X.uDec(this.sfixed32(), this.sfixed32());
}
sfixed64() {
return X.dec(this.sfixed32(), this.sfixed32());
}
float() {
return this.view.getFloat32((this.pos += 4) - 4, true);
}
double() {
return this.view.getFloat64((this.pos += 8) - 8, true);
}
bytes() {
let e = this.uint32();
let t = this.pos;
this.pos += e;
this.assertBounds();
return this.buf.subarray(t, t + e);
}
string() {
return this.decodeUtf8(this.bytes());
}
}
function Ie(e, t, r) {
const n = ke(e, r);
if (n !== true) {
return new Se(e, `list item #${t + 1}: ${xe(e, r, n)}`);
}
}
function ke(e, t) {
if (e.scalar !== undefined) {
return Be(t, e.scalar);
} else if (e.enum !== undefined) {
if (e.enum.open) {
return Number.isInteger(t);
} else {
return e.enum.values.some((e) => e.number === t);
}
} else {
return le(t, e.message);
}
}
function Be(e, t) {
switch (t) {
case M.DOUBLE:
return typeof e == "number";
case M.FLOAT:
return (
typeof e == "number" &&
(!!Number.isNaN(e) ||
!Number.isFinite(e) ||
(!(e > 3.4028234663852886e38) && !(e < -3.4028234663852886e38)) ||
`${e.toFixed()} out of range`)
);
case M.INT32:
case M.SFIXED32:
case M.SINT32:
return (
typeof e == "number" &&
!!Number.isInteger(e) &&
((!(e > 2147483647) && !(e < -2147483648)) ||
`${e.toFixed()} out of range`)
);
case M.FIXED32:
case M.UINT32:
return (
typeof e == "number" &&
!!Number.isInteger(e) &&
((!(e > 4294967295) && !(e < 0)) || `${e.toFixed()} out of range`)
);
case M.BOOL:
return typeof e == "boolean";
case M.STRING:
return typeof e == "string" && (Ne().checkUtf8(e) || "invalid UTF8");
case M.BYTES:
return e instanceof Uint8Array;
case M.INT64:
case M.SFIXED64:
case M.SINT64:
if (
typeof e == "bigint" ||
typeof e == "number" ||
(typeof e == "string" && e.length > 0)
) {
try {
X.parse(e);
return true;
} catch (t) {
return `${e} out of range`;
}
}
return false;
case M.FIXED64:
case M.UINT64:
if (
typeof e == "bigint" ||
typeof e == "number" ||
(typeof e == "string" && e.length > 0)
) {
try {
X.uParse(e);
return true;
} catch (t) {
return `${e} out of range`;
}
}
return false;
}
}
function xe(e, t, r) {
r = typeof r == "string" ? `: ${r}` : `, got ${Ce(t)}`;
if (e.scalar !== undefined) {
return `expected ${(function (e) {
switch (e) {
case M.STRING:
return "string";
case M.BOOL:
return "boolean";
case M.INT64:
case M.SINT64:
case M.SFIXED64:
return "bigint (int64)";
case M.UINT64:
case M.FIXED64:
return "bigint (uint64)";
case M.BYTES:
return "Uint8Array";
case M.DOUBLE:
return "number (float64)";
case M.FLOAT:
return "number (float32)";
case M.FIXED32:
case M.UINT32:
return "number (uint32)";
case M.INT32:
case M.SFIXED32:
case M.SINT32:
return "number (int32)";
}
})(e.scalar)}${r}`;
} else if (e.enum !== undefined) {
return `expected ${e.enum.toString()}${r}`;
} else {
return `expected ${Re(e.message)}${r}`;
}
}
function Ce(e) {
switch (typeof e) {
case "object":
if (e === null) {
return "null";
} else if (e instanceof Uint8Array) {
return `Uint8Array(${e.length})`;
} else if (Array.isArray(e)) {
return `Array(${e.length})`;
} else if (ae(e)) {
return _e(e.field());
} else if (ce(e)) {
return Ue(e.field());
} else if (le(e)) {
return Re(e.desc);
} else if (F(e)) {
return `message ${e.$typeName}`;
} else {
return "object";
}
case "string":
if (e.length > 30) {
return "string";
} else {
return `"${e.split('"').join('\\"')}"`;
}
case "boolean":
case "number":
return String(e);
case "bigint":
return String(e) + "n";
default:
return typeof e;
}
}
function Re(e) {
return `ReflectMessage (${e.typeName})`;
}
function _e(e) {
switch (e.listKind) {
case "message":
return `ReflectList (${e.message.toString()})`;
case "enum":
return `ReflectList (${e.enum.toString()})`;
case "scalar":
return `ReflectList (${M[e.scalar]})`;
}
}
function Ue(e) {
switch (e.mapKind) {
case "message":
return `ReflectMap (${M[e.mapKey]}, ${e.message.toString()})`;
case "enum":
return `ReflectMap (${M[e.mapKey]}, ${e.enum.toString()})`;
case "scalar":
return `ReflectMap (${M[e.mapKey]}, ${M[e.scalar]})`;
}
}
function De(e, t, r = true) {
return new Pe(e, t, r);
}
class Pe {
get sortedFields() {
return (this._sortedFields ??= this.desc.fields
.concat()
.sort((e, t) => e.number - t.number));
}
constructor(e, t, r = true) {
this.lists = new Map();
this.maps = new Map();
this.check = r;
this.desc = e;
this.message = this[te] = t ?? he(e);
this.fields = e.fields;
this.oneofs = e.oneofs;
this.members = e.members;
}
findNumber(e) {
this._fieldsByNumber ||= new Map(
this.desc.fields.map((e) => [e.number, e]),
);
return this._fieldsByNumber.get(e);
}
oneofCase(e) {
Ve(this.message, e);
return re(this.message, e);
}
isSet(e) {
Ve(this.message, e);
return (function (e, t) {
const r = t.localName;
if (t.oneof) {
return e[t.oneof.localName].case === r;
}
if (t.presence != 2) {
return (
e[r] !== undefined && Object.prototype.hasOwnProperty.call(e, r)
);
}
switch (t.fieldKind) {
case "list":
return e[r].length > 0;
case "map":
return Object.keys(e[r]).length > 0;
case "scalar":
return !(function (e, t) {
switch (e) {
case M.BOOL:
return t === false;
case M.STRING:
return t === "";
case M.BYTES:
return t instanceof Uint8Array && !t.byteLength;
default:
return t == 0;
}
})(t.scalar, e[r]);
case "enum":
return e[r] !== t.enum.values[0].number;
}
throw new Error("message field with implicit presence");
})(this.message, e);
}
clear(e) {
Ve(this.message, e);
(function (e, t) {
const r = t.localName;
if (t.oneof) {
const n = t.oneof.localName;
if (e[n].case === r) {
e[n] = {
case: undefined,
};
}
} else if (t.presence != 2) {
delete e[r];
} else {
switch (t.fieldKind) {
case "map":
e[r] = {};
break;
case "list":
e[r] = [];
break;
case "enum":
e[r] = t.enum.values[0].number;
break;
case "scalar":
e[r] = ee(t.scalar, t.longAsString);
}
}
})(this.message, e);
}
get(e) {
Ve(this.message, e);
const t = ie(this.message, e);
switch (e.fieldKind) {
case "list":
let r = this.lists.get(e);
if (!r || r[te] !== t) {
this.lists.set(e, (r = new je(e, t, this.check)));
}
return r;
case "map":
let n = this.maps.get(e);
if (!n || n[te] !== t) {
this.maps.set(e, (n = new Le(e, t, this.check)));
}
return n;
case "message":
return Me(e, t, this.check);
case "scalar":
if (t === undefined) {
return ee(e.scalar, false);
} else {
return Ye(e, t);
}
case "enum":
return t ?? e.enum.values[0].number;
}
}
set(e, t) {
Ve(this.message, e);
if (this.check) {
const r = (function (e, t) {
const r =
e.fieldKind == "list"
? ae(t, e)
: e.fieldKind == "map"
? ce(t, e)
: ke(e, t);
if (r === true) {
return;
}
let n;
switch (e.fieldKind) {
case "list":
n = `expected ${_e(e)}, got ${Ce(t)}`;
break;
case "map":
n = `expected ${Ue(e)}, got ${Ce(t)}`;
break;
default:
n = xe(e, t, r);
}
return new Se(e, n);
})(e, t);
if (r) {
throw r;
}
}
let r;
r =
e.fieldKind == "message" ? Fe(e, t) : ce(t) || ae(t) ? t[te] : Je(e, t);
oe(this.message, e, r);
}
getUnknown() {
return this.message.$unknown;
}
setUnknown(e) {
this.message.$unknown = e;
}
}
function Ve(e, t) {
if (t.parent.typeName !== e.$typeName) {
throw new Se(
t,
`cannot use ${t.toString()} with message ${e.$typeName}`,
"ForeignFieldError",
);
}
}
class je {
field() {
return this._field;
}
get size() {
return this._arr.length;
}
constructor(e, t, r) {
this._field = e;
this._arr = this[te] = t;
this.check = r;
}
get(e) {
const t = this._arr[e];
if (t === undefined) {
return undefined;
} else {
return Ke(this._field, t, this.check);
}
}
set(e, t) {
if (e < 0 || e >= this._arr.length) {
throw new Se(this._field, `list item #${e + 1}: out of range`);
}
if (this.check) {
const r = Ie(this._field, e, t);
if (r) {
throw r;
}
}
this._arr[e] = He(this._field, t);
}
add(e) {
if (this.check) {
const t = Ie(this._field, this._arr.length, e);
if (t) {
throw t;
}
}
this._arr.push(He(this._field, e));
}
clear() {
this._arr.splice(0, this._arr.length);
}
[Symbol.iterator]() {
return this.values();
}
keys() {
return this._arr.keys();
}
*values() {
for (const e of this._arr) {
yield Ke(this._field, e, this.check);
}
}
*entries() {
for (let e = 0; e < this._arr.length; e++) {
yield [e, Ke(this._field, this._arr[e], this.check)];
}
}
}
class Le {
constructor(e, t, r = true) {
this.obj = this[te] = t ?? {};
this.check = r;
this._field = e;
}
field() {
return this._field;
}
set(e, t) {
if (this.check) {
const r = (function (e, t, r) {
const n = Be(t, e.mapKey);
if (n !== true) {
return new Se(
e,
`invalid map key: ${xe(
{
scalar: e.mapKey,
},
t,
n,
)}`,
);
}
const i = ke(e, r);
if (i !== true) {
return new Se(e, `map entry ${Ce(t)}: ${xe(e, r, i)}`);
} else {
return undefined;
}
})(this._field, e, t);
if (r) {
throw r;
}
}
this.obj[Ge(e)] = (function (e, t) {
if (e.mapKind == "message") {
return Fe(e, t);
} else {
return Je(e, t);
}
})(this._field, t);
return this;
}
delete(e) {
const t = Ge(e);
const r = Object.prototype.hasOwnProperty.call(this.obj, t);
if (r) {
delete this.obj[t];
}
return r;
}
clear() {
for (const e of Object.keys(this.obj)) {
delete this.obj[e];
}
}
get(e) {
let t = this.obj[Ge(e)];
if (t !== undefined) {
t = $e(this._field, t, this.check);
}
return t;
}
has(e) {
return Object.prototype.hasOwnProperty.call(this.obj, Ge(e));
}
*keys() {
for (const e of Object.keys(this.obj)) {
yield We(e, this._field.mapKey);
}
}
*entries() {
for (const e of Object.entries(this.obj)) {
yield [We(e[0], this._field.mapKey), $e(this._field, e[1], this.check)];
}
}
[Symbol.iterator]() {
return this.entries();
}
get size() {
return Object.keys(this.obj).length;
}
*values() {
for (const e of Object.values(this.obj)) {
yield $e(this._field, e, this.check);
}
}
forEach(e, t) {
for (const r of this.entries()) {
e.call(t, r[1], r[0], this);
}
}
}
function Fe(e, t) {
if (le(t)) {
if (pe(t.message.$typeName) && !e.oneof && e.fieldKind == "message") {
return t.message.value;
} else if (
t.desc.typeName == "google.protobuf.Struct" &&
e.parent.typeName != "google.protobuf.Value"
) {
return Xe(t.message);
} else {
return t.message;
}
} else {
return t;
}
}
function Me(e, t, r) {
if (t !== undefined) {
if (ue(e.message) && !e.oneof && e.fieldKind == "message") {
t = {
$typeName: e.message.typeName,
value: Ye(e.message.fields[0], t),
};
} else if (
e.message.typeName == "google.protobuf.Struct" &&
e.parent.typeName != "google.protobuf.Value" &&
se(t)
) {
t = ze(t);
}
}
return new Pe(e.message, t, r);
}
function He(e, t) {
if (e.listKind == "message") {
return Fe(e, t);
} else {
return Je(e, t);
}
}
function Ke(e, t, r) {
if (e.listKind == "message") {
return Me(e, t, r);
} else {
return Ye(e, t);
}
}
function $e(e, t, r) {
if (e.mapKind == "message") {
return Me(e, t, r);
} else {
return t;
}
}
function Ge(e) {
if (typeof e == "string" || typeof e == "number") {
return e;
} else {
return String(e);
}
}
function We(e, t) {
switch (t) {
case M.STRING:
return e;
case M.INT32:
case M.FIXED32:
case M.UINT32:
case M.SFIXED32:
case M.SINT32: {
const t = Number.parseInt(e);
if (Number.isFinite(t)) {
return t;
}
break;
}
case M.BOOL:
switch (e) {
case "true":
return true;
case "false":
return false;
}
break;
case M.UINT64:
case M.FIXED64:
try {
return X.uParse(e);
} catch (e) {}
break;
default:
try {
return X.parse(e);
} catch (e) {}
}
return e;
}
function Ye(e, t) {
switch (e.scalar) {
case M.INT64:
case M.SFIXED64:
case M.SINT64:
if ("longAsString" in e && e.longAsString && typeof t == "string") {
t = X.parse(t);
}
break;
case M.FIXED64:
case M.UINT64:
if ("longAsString" in e && e.longAsString && typeof t == "string") {
t = X.uParse(t);
}
}
return t;
}
function Je(e, t) {
switch (e.scalar) {
case M.INT64:
case M.SFIXED64:
case M.SINT64:
if ("longAsString" in e && e.longAsString) {
t = String(t);
} else if (typeof t == "string" || typeof t == "number") {
t = X.parse(t);
}
break;
case M.FIXED64:
case M.UINT64:
if ("longAsString" in e && e.longAsString) {
t = String(t);
} else if (typeof t == "string" || typeof t == "number") {
t = X.uParse(t);
}
}
return t;
}
function ze(e) {
const t = {
$typeName: "google.protobuf.Struct",
fields: {},
};
if (se(e)) {
for (const [r, n] of Object.entries(e)) {
t.fields[r] = Qe(n);
}
}
return t;
}
function Xe(e) {
const t = {};
for (const [r, n] of Object.entries(e.fields)) {
t[r] = qe(n);
}
return t;
}
function qe(e) {
switch (e.kind.case) {
case "structValue":
return Xe(e.kind.value);
case "listValue":
return e.kind.value.values.map(qe);
case "nullValue":
case undefined:
return null;
default:
return e.kind.value;
}
}
function Qe(e) {
const t = {
$typeName: "google.protobuf.Value",
kind: {
case: undefined,
},
};
switch (typeof e) {
case "number":
t.kind = {
case: "numberValue",
value: e,
};
break;
case "string":
t.kind = {
case: "stringValue",
value: e,
};
break;
case "boolean":
t.kind = {
case: "boolValue",
value: e,
};
break;
case "object":
if (e === null) {
const e = 0;
t.kind = {
case: "nullValue",
value: e,
};
} else if (Array.isArray(e)) {
const r = {
$typeName: "google.protobuf.ListValue",
values: [],
};
if (Array.isArray(e)) {
for (const t of e) {
r.values.push(Qe(t));
}
}
t.kind = {
case: "listValue",
value: r,
};
} else {
t.kind = {
case: "structValue",
value: ze(e),
};
}
}
return t;
}
let Ze;
let et;
function tt(e) {
let t = false;
const r = [];
for (let n = 0; n < e.length; n++) {
let i = e.charAt(n);
switch (i) {
case "_":
t = true;
break;
case "0":
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
r.push(i);
t = false;
break;
default:
if (t) {
t = false;
i = i.toUpperCase();
}
r.push(i);
}
}
return r.join("");
}
const rt = new Set(["constructor", "toString", "toJSON", "valueOf"]);
function nt(e) {
if (rt.has(e)) {
return e + "$";
} else {
return e;
}
}
function it(e) {
for (const t of e.field) {
if (!ne(t, "jsonName")) {
t.jsonName = tt(t.name);
}
}
e.nestedType.forEach(it);
}
function* ot(e) {
switch (e.kind) {
case "file":
for (const t of e.messages) {
yield t;
yield* ot(t);
}
yield* e.enums;
yield* e.services;
yield* e.extensions;
break;
case "message":
for (const t of e.nestedMessages) {
yield t;
yield* ot(t);
}
yield* e.nestedEnums;
yield* e.nestedExtensions;
}
}
function st(...e) {
const t = (function () {
const e = new Map();
const t = new Map();
const r = new Map();
return {
kind: "registry",
types: e,
extendees: t,
[Symbol.iterator]: () => e.values(),
get files() {
return r.values();
},
addFile(e, t, n) {
r.set(e.proto.name, e);
if (!t) {
for (const t of ot(e)) {
this.add(t);
}
}
if (n) {
for (const r of e.dependencies) {
this.addFile(r, t, n);
}
}
},
add(r) {
if (r.kind == "extension") {
let e = t.get(r.extendee.typeName);
if (!e) {
t.set(r.extendee.typeName, (e = new Map()));
}
e.set(r.number, r);
}
e.set(r.typeName, r);
},
get: (t) => e.get(t),
getFile: (e) => r.get(e),
getMessage(t) {
const r = e.get(t);
if ((r == null ? undefined : r.kind) == "message") {
return r;
} else {
return undefined;
}
},
getEnum(t) {
const r = e.get(t);
if ((r == null ? undefined : r.kind) == "enum") {
return r;
} else {
return undefined;
}
},
getExtension(t) {
const r = e.get(t);
if ((r == null ? undefined : r.kind) == "extension") {
return r;
} else {
return undefined;
}
},
getExtensionFor(e, r) {
var n;
if ((n = t.get(e.typeName)) === null || n === undefined) {
return undefined;
} else {
return n.get(r);
}
},
getService(t) {
const r = e.get(t);
if ((r == null ? undefined : r.kind) == "service") {
return r;
} else {
return undefined;
}
},
};
})();
if (!e.length) {
return t;
}
if (
"$typeName" in e[0] &&
e[0].$typeName == "google.protobuf.FileDescriptorSet"
) {
for (const r of e[0].file) {
Tt(r, t);
}
return t;
}
if ("$typeName" in e[0]) {
const n = e[0];
const i = e[1];
const o = new Set();
function s(e) {
const r = [];
for (const n of e.dependency) {
if (t.getFile(n) != null) {
continue;
}
if (o.has(n)) {
continue;
}
const s = i(n);
if (!s) {
throw new Error(`Unable to resolve ${n}, imported by ${e.name}`);
}
if ("kind" in s) {
t.addFile(s, false, true);
} else {
o.add(s.name);
r.push(s);
}
}
return r.concat(...r.map(s));
}
for (const a of [n, ...s(n)].reverse()) {
Tt(a, t);
}
} else {
for (const c of e) {
for (const l of c.files) {
t.addFile(l);
}
}
}
return t;
}
const at = 998;
const ct = 999;
const lt = 9;
const ut = 10;
const pt = 11;
const ht = 12;
const ft = 14;
const dt = 3;
const yt = 2;
const mt = 1;
const gt = 0;
const vt = 1;
const bt = 2;
const Et = 3;
const wt = 1;
const St = 2;
const At = 1;
const Nt = {
998: {
fieldPresence: 1,
enumType: 2,
repeatedFieldEncoding: 2,
utf8Validation: 3,
messageEncoding: 1,
jsonFormat: 2,
enforceNamingStyle: 2,
},
999: {
fieldPresence: 2,
enumType: 1,
repeatedFieldEncoding: 1,
utf8Validation: 2,
messageEncoding: 1,
jsonFormat: 1,
enforceNamingStyle: 2,
},
1000: {
fieldPresence: 1,
enumType: 1,
repeatedFieldEncoding: 1,
utf8Validation: 2,
messageEncoding: 1,
jsonFormat: 1,
enforceNamingStyle: 2,
},
};
function Tt(e, t) {
var n;
const i = {
kind: "file",
proto: e,
deprecated: (n = e.options?.deprecated) !== null && n !== undefined && n,
edition: _t(e),
name: e.name.replace(/\.proto$/, ""),
dependencies: Ut(e, t),
enums: [],
messages: [],
extensions: [],
services: [],
toString: () => `file ${e.name}`,
};
const o = new Map();
const s = {
get: (e) => o.get(e),
add(e) {
Mt(e.proto.options?.mapEntry === true);
o.set(e.typeName, e);
},
};
for (const r of e.enumType) {
kt(r, i, undefined, t);
}
for (const r of e.messageType) {
Bt(r, i, undefined, t, s);
}
for (const r of e.service) {
xt(r, i, t);
}
Ot(i, t);
for (const e of o.values()) {
It(e, t, s);
}
for (const e of i.messages) {
It(e, t, s);
Ot(e, t);
}
t.addFile(i, true);
}
function Ot(e, t) {
switch (e.kind) {
case "file":
for (const r of e.proto.extension) {
const n = Rt(r, e, t);
e.extensions.push(n);
t.add(n);
}
break;
case "message":
for (const r of e.proto.extension) {
const n = Rt(r, e, t);
e.nestedExtensions.push(n);
t.add(n);
}
for (const r of e.nestedMessages) {
Ot(r, t);
}
}
}
function It(e, t, r) {
const n = e.proto.oneofDecl.map((t) =>
(function (e, t) {
return {
kind: "oneof",
proto: e,
deprecated: false,
parent: t,
fields: [],
name: e.name,
localName: nt(tt(e.name)),
toString() {
return `oneof ${t.typeName}.${this.name}`;
},
};
})(t, e),
);
const i = new Set();
for (const o of e.proto.field) {
const s = Vt(o, n);
const a = Rt(o, e, t, s, r);
e.fields.push(a);
e.field[a.localName] = a;
if (s === undefined) {
e.members.push(a);
} else {
s.fields.push(a);
if (!i.has(s)) {
i.add(s);
e.members.push(s);
}
}
}
for (const t of n.filter((e) => i.has(e))) {
e.oneofs.push(t);
}
for (const n of e.nestedMessages) {
It(n, t, r);
}
}
function kt(e, t, r, n) {
var o;
var a;
const l = (function (e, t) {
const r =
(
(n = e).substring(0, 1) +
n.substring(1).replace(/[A-Z]/g, (e) => "_" + e)
).toLowerCase() + "_";
var n;
for (const e of t) {
if (!e.name.toLowerCase().startsWith(r)) {
return;
}
const t = e.name.substring(r.length);
if (t.length == 0) {
return;
}
if (/^\d/.test(t)) {
return;
}
}
return r;
})(e.name, e.value);
const u = {
kind: "enum",
proto: e,
deprecated: (o = e.options?.deprecated) !== null && o !== undefined && o,
file: t,
parent: r,
open: true,
name: e.name,
typeName: Dt(e, r, t),
value: {},
values: [],
sharedPrefix: l,
toString() {
return `enum ${this.typeName}`;
},
};
u.open = (function (e) {
return (
At ==
Ft("enumType", {
proto: e.proto,
parent: e.parent ?? e.file,
})
);
})(u);
n.add(u);
for (const t of e.value) {
const e = t.name;
u.values.push(
(u.value[t.number] = {
kind: "enum_value",
proto: t,
deprecated:
(a = t.options?.deprecated) !== null && a !== undefined && a,
parent: u,
name: e,
localName: nt(l == null ? e : e.substring(l.length)),
number: t.number,
toString: () => `enum value ${u.typeName}.${e}`,
}),
);
}
((r == null ? undefined : r.nestedEnums) ?? t.enums).push(u);
}
function Bt(e, t, r, n, i) {
var s;
const l = {
kind: "message",
proto: e,
deprecated: (s = e.options?.deprecated) !== null && s !== undefined && s,
file: t,
parent: r,
name: e.name,
typeName: Dt(e, r, t),
fields: [],
field: {},
oneofs: [],
members: [],
nestedEnums: [],
nestedMessages: [],
nestedExtensions: [],
toString() {
return `message ${this.typeName}`;
},
};
if (e.options?.mapEntry === true) {
i.add(l);
} else {
((r == null ? undefined : r.nestedMessages) ?? t.messages).push(l);
n.add(l);
}
for (const r of e.enumType) {
kt(r, t, l, n);
}
for (const r of e.nestedType) {
Bt(r, t, l, n, i);
}
}
function xt(e, t, r) {
var i;
const o = {
kind: "service",
proto: e,
deprecated: (i = e.options?.deprecated) !== null && i !== undefined && i,
file: t,
name: e.name,
typeName: Dt(e, undefined, t),
methods: [],
method: {},
toString() {
return `service ${this.typeName}`;
},
};
t.services.push(o);
r.add(o);
for (const t of e.method) {
const e = Ct(t, o, r);
o.methods.push(e);
o.method[e.localName] = e;
}
}
function Ct(e, t, r) {
var i;
let a;
a =
e.clientStreaming && e.serverStreaming
? "bidi_streaming"
: e.clientStreaming
? "client_streaming"
: e.serverStreaming
? "server_streaming"
: "unary";
const c = r.getMessage(Pt(e.inputType));
const l = r.getMessage(Pt(e.outputType));
Mt(c, `invalid MethodDescriptorProto: input_type ${e.inputType} not found`);
Mt(
l,
`invalid MethodDescriptorProto: output_type ${e.inputType} not found`,
);
const u = e.name;
return {
kind: "rpc",
proto: e,
deprecated: (i = e.options?.deprecated) !== null && i !== undefined && i,
parent: t,
name: u,
localName: nt(u.length ? nt(u[0].toLowerCase() + u.substring(1)) : u),
methodKind: a,
input: c,
output: l,
idempotency: e.options?.idempotencyLevel ?? gt,
toString: () => `rpc ${t.typeName}.${u}`,
};
}
function Rt(e, t, r, n, i) {
var s;
const c = i === undefined;
const l = {
kind: "field",
proto: e,
deprecated: (s = e.options?.deprecated) !== null && s !== undefined && s,
name: e.name,
number: e.number,
scalar: undefined,
message: undefined,
enum: undefined,
presence: jt(e, n, c, t),
listKind: undefined,
mapKind: undefined,
mapKey: undefined,
delimitedEncoding: undefined,
packed: undefined,
longAsString: false,
getDefaultValue: undefined,
};
if (c) {
const n = t.kind == "file" ? t : t.file;
const i = t.kind == "file" ? undefined : t;
const o = Dt(e, i, n);
l.kind = "extension";
l.file = n;
l.parent = i;
l.oneof = undefined;
l.typeName = o;
l.jsonName = `[${o}]`;
l.toString = () => `extension ${o}`;
const s = r.getMessage(Pt(e.extendee));
Mt(s, `invalid FieldDescriptorProto: extendee ${e.extendee} not found`);
l.extendee = s;
} else {
const r = t;
Mt(r.kind == "message");
l.parent = r;
l.oneof = n;
l.localName = n ? tt(e.name) : nt(tt(e.name));
l.jsonName = e.jsonName;
l.toString = () => `field ${r.typeName}.${e.name}`;
}
const u = e.label;
const p = e.type;
const h = e.options?.jstype;
if (u === dt) {
const n =
p == pt ? (i == null ? undefined : i.get(Pt(e.typeName))) : undefined;
if (n) {
l.fieldKind = "map";
const { key: e, value: t } = (function (e) {
const t = e.fields.find((e) => e.number === 1);
const r = e.fields.find((e) => e.number === 2);
Mt(
t &&
t.fieldKind == "scalar" &&
t.scalar != M.BYTES &&
t.scalar != M.FLOAT &&
t.scalar != M.DOUBLE &&
r &&
r.fieldKind != "list" &&
r.fieldKind != "map",
);
return {
key: t,
value: r,
};
})(n);
l.mapKey = e.scalar;
l.mapKind = t.fieldKind;
l.message = t.message;
l.delimitedEncoding = false;
l.enum = t.enum;
l.scalar = t.scalar;
return l;
}
l.fieldKind = "list";
switch (p) {
case pt:
case ut:
l.listKind = "message";
l.message = r.getMessage(Pt(e.typeName));
Mt(l.message);
l.delimitedEncoding = Lt(e, t);
break;
case ft:
l.listKind = "enum";
l.enum = r.getEnum(Pt(e.typeName));
Mt(l.enum);
break;
default:
l.listKind = "scalar";
l.scalar = p;
l.longAsString = h == mt;
}
l.packed = (function (e, t) {
if (e.label != dt) {
return false;
}
switch (e.type) {
case lt:
case ht:
case ut:
case pt:
return false;
}
const r = e.options;
if (r && ne(r, "packed")) {
return r.packed;
} else {
return (
wt ==
Ft("repeatedFieldEncoding", {
proto: e,
parent: t,
})
);
}
})(e, t);
return l;
}
switch (p) {
case pt:
case ut:
l.fieldKind = "message";
l.message = r.getMessage(Pt(e.typeName));
Mt(
l.message,
`invalid FieldDescriptorProto: type_name ${e.typeName} not found`,
);
l.delimitedEncoding = Lt(e, t);
l.getDefaultValue = () => {};
break;
case ft: {
const t = r.getEnum(Pt(e.typeName));
Mt(
t !== undefined,
`invalid FieldDescriptorProto: type_name ${e.typeName} not found`,
);
l.fieldKind = "enum";
l.enum = r.getEnum(Pt(e.typeName));
l.getDefaultValue = () =>
ne(e, "defaultValue")
? (function (e, t) {
const r = e.values.find((e) => e.name === t);
if (!r) {
throw new Error(`cannot parse ${e} default value: ${t}`);
}
return r.number;
})(t, e.defaultValue)
: undefined;
break;
}
default:
l.fieldKind = "scalar";
l.scalar = p;
l.longAsString = h == mt;
l.getDefaultValue = () =>
ne(e, "defaultValue")
? (function (e, t) {
switch (e) {
case M.STRING:
return t;
case M.BYTES: {
const r = (function (e) {
const t = [];
const r = {
tail: e,
c: "",
next() {
return (
this.tail.length != 0 &&
((this.c = this.tail[0]),
(this.tail = this.tail.substring(1)),
true)
);
},
take(e) {
if (this.tail.length >= e) {
const t = this.tail.substring(0, e);
this.tail = this.tail.substring(e);
return t;
}
return false;
},
};
while (r.next()) {
if (r.c === "\\") {
if (r.next()) {
switch (r.c) {
case "\\":
t.push(r.c.charCodeAt(0));
break;
case "b":
t.push(8);
break;
case "f":
t.push(12);
break;
case "n":
t.push(10);
break;
case "r":
t.push(13);
break;
case "t":
t.push(9);
break;
case "v":
t.push(11);
break;
case "0":
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7": {
const e = r.c;
const n = r.take(2);
if (n === false) {
return false;
}
const i = parseInt(e + n, 8);
if (Number.isNaN(i)) {
return false;
}
t.push(i);
break;
}
case "x": {
const e = r.c;
const n = r.take(2);
if (n === false) {
return false;
}
const i = parseInt(e + n, 16);
if (Number.isNaN(i)) {
return false;
}
t.push(i);
break;
}
case "u": {
const e = r.c;
const n = r.take(4);
if (n === false) {
return false;
}
const i = parseInt(e + n, 16);
if (Number.isNaN(i)) {
return false;
}
const o = new Uint8Array(4);
new DataView(o.buffer).setInt32(0, i, true);
t.push(o[0], o[1], o[2], o[3]);
break;
}
case "U": {
const e = r.c;
const n = r.take(8);
if (n === false) {
return false;
}
const i = X.uEnc(e + n);
const o = new Uint8Array(8);
const s = new DataView(o.buffer);
s.setInt32(0, i.lo, true);
s.setInt32(4, i.hi, true);
t.push(
o[0],
o[1],
o[2],
o[3],
o[4],
o[5],
o[6],
o[7],
);
break;
}
}
}
} else {
t.push(r.c.charCodeAt(0));
}
}
return new Uint8Array(t);
})(t);
if (r === false) {
throw new Error(
`cannot parse ${M[e]} default value: ${t}`,
);
}
return r;
}
case M.INT64:
case M.SFIXED64:
case M.SINT64:
return X.parse(t);
case M.UINT64:
case M.FIXED64:
return X.uParse(t);
case M.DOUBLE:
case M.FLOAT:
switch (t) {
case "inf":
return Number.POSITIVE_INFINITY;
case "-inf":
return Number.NEGATIVE_INFINITY;
case "nan":
return Number.NaN;
default:
return parseFloat(t);
}
case M.BOOL:
return t === "true";
case M.INT32:
case M.UINT32:
case M.SINT32:
case M.FIXED32:
case M.SFIXED32:
return parseInt(t, 10);
}
})(p, e.defaultValue)
: undefined;
}
return l;
}
function _t(e) {
switch (e.syntax) {
case "":
case "proto2":
return at;
case "proto3":
return ct;
case "editions":
if (e.edition in Nt) {
return e.edition;
}
throw new Error(`${e.name}: unsupported edition`);
default:
throw new Error(`${e.name}: unsupported syntax "${e.syntax}"`);
}
}
function Ut(e, t) {
return e.dependency.map((r) => {
const n = t.getFile(r);
if (!n) {
throw new Error(`Cannot find ${r}, imported by ${e.name}`);
}
return n;
});
}
function Dt(e, t, r) {
let n;
n = t
? `${t.typeName}.${e.name}`
: r.proto.package.length > 0
? `${r.proto.package}.${e.name}`
: `${e.name}`;
return n;
}
function Pt(e) {
if (e.startsWith(".")) {
return e.substring(1);
} else {
return e;
}
}
function Vt(e, t) {
if (!ne(e, "oneofIndex")) {
return;
}
if (e.proto3Optional) {
return;
}
const r = t[e.oneofIndex];
Mt(
r,
`invalid FieldDescriptorProto: oneof #${e.oneofIndex} for field #${e.number} not found`,
);
return r;
}
function jt(e, t, r, n) {
if (e.label == yt) {
return Et;
}
if (e.label == dt) {
return bt;
}
if (t || e.proto3Optional) {
return vt;
}
if (r) {
return vt;
}
const i = Ft("fieldPresence", {
proto: e,
parent: n,
});
if (i != bt || (e.type != pt && e.type != ut)) {
return i;
} else {
return vt;
}
}
function Lt(e, t) {
return (
e.type == ut ||
St ==
Ft("messageEncoding", {
proto: e,
parent: t,
})
);
}
function Ft(e, t) {
const i = t.proto.options?.features;
if (i) {
const t = i[e];
if (t != 0) {
return t;
}
}
if ("kind" in t) {
if (t.kind == "message") {
return Ft(e, t.parent ?? t.file);
}
const r = Nt[t.edition];
if (!r) {
throw new Error(`feature default for edition ${t.edition} not found`);
}
return r[e];
}
return Ft(e, t.parent);
}
function Mt(e, t) {
if (!e) {
throw new Error(t);
}
}
function Ht(e) {
const t = (function (e) {
const t = Object.create({
syntax: "",
edition: 0,
});
return Object.assign(
t,
Object.assign(
Object.assign(
{
$typeName: "google.protobuf.FileDescriptorProto",
dependency: [],
publicDependency: [],
weakDependency: [],
service: [],
extension: [],
},
e,
),
{
messageType: e.messageType.map(Kt),
enumType: e.enumType.map(Wt),
},
),
);
})(e);
t.messageType.forEach(it);
return st(t, () => {}).getFile(t.name);
}
function Kt(e) {
var t;
var n;
var o;
var a;
return {
$typeName: "google.protobuf.DescriptorProto",
name: e.name,
field:
((t = e.field) === null || t === undefined ? undefined : t.map($t)) ??
[],
extension: [],
nestedType:
((n = e.nestedType) === null || n === undefined
? undefined
: n.map(Kt)) ?? [],
enumType:
((o = e.enumType) === null || o === undefined
? undefined
: o.map(Wt)) ?? [],
extensionRange:
((a = e.extensionRange) === null || a === undefined
? undefined
: a.map((e) =>
Object.assign(
{
$typeName: "google.protobuf.DescriptorProto.ExtensionRange",
},
e,
),
)) ?? [],
oneofDecl: [],
reservedRange: [],
reservedName: [],
};
}
function $t(e) {
const t = Object.create({
label: 1,
typeName: "",
extendee: "",
defaultValue: "",
oneofIndex: 0,
jsonName: "",
proto3Optional: false,
});
return Object.assign(
t,
Object.assign(
Object.assign(
{
$typeName: "google.protobuf.FieldDescriptorProto",
},
e,
),
{
options: e.options ? Gt(e.options) : undefined,
},
),
);
}
function Gt(e) {
var r;
const i = Object.create({
ctype: 0,
packed: false,
jstype: 0,
lazy: false,
unverifiedLazy: false,
deprecated: false,
weak: false,
debugRedact: false,
retention: 0,
});
return Object.assign(
i,
Object.assign(
Object.assign(
{
$typeName: "google.protobuf.FieldOptions",
},
e,
),
{
targets: e.targets ?? [],
editionDefaults:
((r = e.editionDefaults) === null || r === undefined
? undefined
: r.map((e) =>
Object.assign(
{
$typeName: "google.protobuf.FieldOptions.EditionDefault",
},
e,
),
)) ?? [],
uninterpretedOption: [],
},
),
);
}
function Wt(e) {
return {
$typeName: "google.protobuf.EnumDescriptorProto",
name: e.name,
reservedName: [],
reservedRange: [],
value: e.value.map((e) =>
Object.assign(
{
$typeName: "google.protobuf.EnumValueDescriptorProto",
},
e,
),
),
};
}
function Yt(e, t, ...r) {
return r.reduce((e, t) => e.nestedMessages[t], e.messages[t]);
}
const Jt = Yt(
Ht({
name: "google/protobuf/descriptor.proto",
package: "google.protobuf",
messageType: [
{
name: "FileDescriptorSet",
field: [
{
name: "file",
number: 1,
type: 11,
label: 3,
typeName: ".google.protobuf.FileDescriptorProto",
},
],
extensionRange: [
{
start: 536000000,
end: 536000001,
},
],
},
{
name: "FileDescriptorProto",
field: [
{
name: "name",
number: 1,
type: 9,
label: 1,
},
{
name: "package",
number: 2,
type: 9,
label: 1,
},
{
name: "dependency",
number: 3,
type: 9,
label: 3,
},
{
name: "public_dependency",
number: 10,
type: 5,
label: 3,
},
{
name: "weak_dependency",
number: 11,
type: 5,
label: 3,
},
{
name: "message_type",
number: 4,
type: 11,
label: 3,
typeName: ".google.protobuf.DescriptorProto",
},
{
name: "enum_type",
number: 5,
type: 11,
label: 3,
typeName: ".google.protobuf.EnumDescriptorProto",
},
{
name: "service",
number: 6,
type: 11,
label: 3,
typeName: ".google.protobuf.ServiceDescriptorProto",
},
{
name: "extension",
number: 7,
type: 11,
label: 3,
typeName: ".google.protobuf.FieldDescriptorProto",
},
{
name: "options",
number: 8,
type: 11,
label: 1,
typeName: ".google.protobuf.FileOptions",
},
{
name: "source_code_info",
number: 9,
type: 11,
label: 1,
typeName: ".google.protobuf.SourceCodeInfo",
},
{
name: "syntax",
number: 12,
type: 9,
label: 1,
},
{
name: "edition",
number: 14,
type: 14,
label: 1,
typeName: ".google.protobuf.Edition",
},
],
},
{
name: "DescriptorProto",
field: [
{
name: "name",
number: 1,
type: 9,
label: 1,
},
{
name: "field",
number: 2,
type: 11,
label: 3,
typeName: ".google.protobuf.FieldDescriptorProto",
},
{
name: "extension",
number: 6,
type: 11,
label: 3,
typeName: ".google.protobuf.FieldDescriptorProto",
},
{
name: "nested_type",
number: 3,
type: 11,
label: 3,
typeName: ".google.protobuf.DescriptorProto",
},
{
name: "enum_type",
number: 4,
type: 11,
label: 3,
typeName: ".google.protobuf.EnumDescriptorProto",
},
{
name: "extension_range",
number: 5,
type: 11,
label: 3,
typeName: ".google.protobuf.DescriptorProto.ExtensionRange",
},
{
name: "oneof_decl",
number: 8,
type: 11,
label: 3,
typeName: ".google.protobuf.OneofDescriptorProto",
},
{
name: "options",
number: 7,
type: 11,
label: 1,
typeName: ".google.protobuf.MessageOptions",
},
{
name: "reserved_range",
number: 9,
type: 11,
label: 3,
typeName: ".google.protobuf.DescriptorProto.ReservedRange",
},
{
name: "reserved_name",
number: 10,
type: 9,
label: 3,
},
],
nestedType: [
{
name: "ExtensionRange",
field: [
{
name: "start",
number: 1,
type: 5,
label: 1,
},
{
name: "end",
number: 2,
type: 5,
label: 1,
},
{
name: "options",
number: 3,
type: 11,
label: 1,
typeName: ".google.protobuf.ExtensionRangeOptions",
},
],
},
{
name: "ReservedRange",
field: [
{
name: "start",
number: 1,
type: 5,
label: 1,
},
{
name: "end",
number: 2,
type: 5,
label: 1,
},
],
},
],
},
{
name: "ExtensionRangeOptions",
field: [
{
name: "uninterpreted_option",
number: 999,
type: 11,
label: 3,
typeName: ".google.protobuf.UninterpretedOption",
},
{
name: "declaration",
number: 2,
type: 11,
label: 3,
typeName: ".google.protobuf.ExtensionRangeOptions.Declaration",
options: {
retention: 2,
},
},
{
name: "features",
number: 50,
type: 11,
label: 1,
typeName: ".google.protobuf.FeatureSet",
},
{
name: "verification",
number: 3,
type: 14,
label: 1,
typeName:
".google.protobuf.ExtensionRangeOptions.VerificationState",
defaultValue: "UNVERIFIED",
options: {
retention: 2,
},
},
],
nestedType: [
{
name: "Declaration",
field: [
{
name: "number",
number: 1,
type: 5,
label: 1,
},
{
name: "full_name",
number: 2,
type: 9,
label: 1,
},
{
name: "type",
number: 3,
type: 9,
label: 1,
},
{
name: "reserved",
number: 5,
type: 8,
label: 1,
},
{
name: "repeated",
number: 6,
type: 8,
label: 1,
},
],
},
],
enumType: [
{
name: "VerificationState",
value: [
{
name: "DECLARATION",
number: 0,
},
{
name: "UNVERIFIED",
number: 1,
},
],
},
],
extensionRange: [
{
start: 1000,
end: 536870912,
},
],
},
{
name: "FieldDescriptorProto",
field: [
{
name: "name",
number: 1,
type: 9,
label: 1,
},
{
name: "number",
number: 3,
type: 5,
label: 1,
},
{
name: "label",
number: 4,
type: 14,
label: 1,
typeName: ".google.protobuf.FieldDescriptorProto.Label",
},
{
name: "type",
number: 5,
type: 14,
label: 1,
typeName: ".google.protobuf.FieldDescriptorProto.Type",
},
{
name: "type_name",
number: 6,
type: 9,
label: 1,
},
{
name: "extendee",
number: 2,
type: 9,
label: 1,
},
{
name: "default_value",
number: 7,
type: 9,
label: 1,
},
{
name: "oneof_index",
number: 9,
type: 5,
label: 1,
},
{
name: "json_name",
number: 10,
type: 9,
label: 1,
},
{
name: "options",
number: 8,
type: 11,
label: 1,
typeName: ".google.protobuf.FieldOptions",
},
{
name: "proto3_optional",
number: 17,
type: 8,
label: 1,
},
],
enumType: [
{
name: "Type",
value: [
{
name: "TYPE_DOUBLE",
number: 1,
},
{
name: "TYPE_FLOAT",
number: 2,
},
{
name: "TYPE_INT64",
number: 3,
},
{
name: "TYPE_UINT64",
number: 4,
},
{
name: "TYPE_INT32",
number: 5,
},
{
name: "TYPE_FIXED64",
number: 6,
},
{
name: "TYPE_FIXED32",
number: 7,
},
{
name: "TYPE_BOOL",
number: 8,
},
{
name: "TYPE_STRING",
number: 9,
},
{
name: "TYPE_GROUP",
number: 10,
},
{
name: "TYPE_MESSAGE",
number: 11,
},
{
name: "TYPE_BYTES",
number: 12,
},
{
name: "TYPE_UINT32",
number: 13,
},
{
name: "TYPE_ENUM",
number: 14,
},
{
name: "TYPE_SFIXED32",
number: 15,
},
{
name: "TYPE_SFIXED64",
number: 16,
},
{
name: "TYPE_SINT32",
number: 17,
},
{
name: "TYPE_SINT64",
number: 18,
},
],
},
{
name: "Label",
value: [
{
name: "LABEL_OPTIONAL",
number: 1,
},
{
name: "LABEL_REPEATED",
number: 3,
},
{
name: "LABEL_REQUIRED",
number: 2,
},
],
},
],
},
{
name: "OneofDescriptorProto",
field: [
{
name: "name",
number: 1,
type: 9,
label: 1,
},
{
name: "options",
number: 2,
type: 11,
label: 1,
typeName: ".google.protobuf.OneofOptions",
},
],
},
{
name: "EnumDescriptorProto",
field: [
{
name: "name",
number: 1,
type: 9,
label: 1,
},
{
name: "value",
number: 2,
type: 11,
label: 3,
typeName: ".google.protobuf.EnumValueDescriptorProto",
},
{
name: "options",
number: 3,
type: 11,
label: 1,
typeName: ".google.protobuf.EnumOptions",
},
{
name: "reserved_range",
number: 4,
type: 11,
label: 3,
typeName:
".google.protobuf.EnumDescriptorProto.EnumReservedRange",
},
{
name: "reserved_name",
number: 5,
type: 9,
label: 3,
},
],
nestedType: [
{
name: "EnumReservedRange",
field: [
{
name: "start",
number: 1,
type: 5,
label: 1,
},
{
name: "end",
number: 2,
type: 5,
label: 1,
},
],
},
],
},
{
name: "EnumValueDescriptorProto",
field: [
{
name: "name",
number: 1,
type: 9,
label: 1,
},
{
name: "number",
number: 2,
type: 5,
label: 1,
},
{
name: "options",
number: 3,
type: 11,
label: 1,
typeName: ".google.protobuf.EnumValueOptions",
},
],
},
{
name: "ServiceDescriptorProto",
field: [
{
name: "name",
number: 1,
type: 9,
label: 1,
},
{
name: "method",
number: 2,
type: 11,
label: 3,
typeName: ".google.protobuf.MethodDescriptorProto",
},
{
name: "options",
number: 3,
type: 11,
label: 1,
typeName: ".google.protobuf.ServiceOptions",
},
],
},
{
name: "MethodDescriptorProto",
field: [
{
name: "name",
number: 1,
type: 9,
label: 1,
},
{
name: "input_type",
number: 2,
type: 9,
label: 1,
},
{
name: "output_type",
number: 3,
type: 9,
label: 1,
},
{
name: "options",
number: 4,
type: 11,
label: 1,
typeName: ".google.protobuf.MethodOptions",
},
{
name: "client_streaming",
number: 5,
type: 8,
label: 1,
defaultValue: "false",
},
{
name: "server_streaming",
number: 6,
type: 8,
label: 1,
defaultValue: "false",
},
],
},
{
name: "FileOptions",
field: [
{
name: "java_package",
number: 1,
type: 9,
label: 1,
},
{
name: "java_outer_classname",
number: 8,
type: 9,
label: 1,
},
{
name: "java_multiple_files",
number: 10,
type: 8,
label: 1,
defaultValue: "false",
},
{
name: "java_generate_equals_and_hash",
number: 20,
type: 8,
label: 1,
options: {
deprecated: true,
},
},
{
name: "java_string_check_utf8",
number: 27,
type: 8,
label: 1,
defaultValue: "false",
},
{
name: "optimize_for",
number: 9,
type: 14,
label: 1,
typeName: ".google.protobuf.FileOptions.OptimizeMode",
defaultValue: "SPEED",
},
{
name: "go_package",
number: 11,
type: 9,
label: 1,
},
{
name: "cc_generic_services",
number: 16,
type: 8,
label: 1,
defaultValue: "false",
},
{
name: "java_generic_services",
number: 17,
type: 8,
label: 1,
defaultValue: "false",
},
{
name: "py_generic_services",
number: 18,
type: 8,
label: 1,
defaultValue: "false",
},
{
name: "deprecated",
number: 23,
type: 8,
label: 1,
defaultValue: "false",
},
{
name: "cc_enable_arenas",
number: 31,
type: 8,
label: 1,
defaultValue: "true",
},
{
name: "objc_class_prefix",
number: 36,
type: 9,
label: 1,
},
{
name: "csharp_namespace",
number: 37,
type: 9,
label: 1,
},
{
name: "swift_prefix",
number: 39,
type: 9,
label: 1,
},
{
name: "php_class_prefix",
number: 40,
type: 9,
label: 1,
},
{
name: "php_namespace",
number: 41,
type: 9,
label: 1,
},
{
name: "php_metadata_namespace",
number: 44,
type: 9,
label: 1,
},
{
name: "ruby_package",
number: 45,
type: 9,
label: 1,
},
{
name: "features",
number: 50,
type: 11,
label: 1,
typeName: ".google.protobuf.FeatureSet",
},
{
name: "uninterpreted_option",
number: 999,
type: 11,
label: 3,
typeName: ".google.protobuf.UninterpretedOption",
},
],
enumType: [
{
name: "OptimizeMode",
value: [
{
name: "SPEED",
number: 1,
},
{
name: "CODE_SIZE",
number: 2,
},
{
name: "LITE_RUNTIME",
number: 3,
},
],
},
],
extensionRange: [
{
start: 1000,
end: 536870912,
},
],
},
{
name: "MessageOptions",
field: [
{
name: "message_set_wire_format",
number: 1,
type: 8,
label: 1,
defaultValue: "false",
},
{
name: "no_standard_descriptor_accessor",
number: 2,
type: 8,
label: 1,
defaultValue: "false",
},
{
name: "deprecated",
number: 3,
type: 8,
label: 1,
defaultValue: "false",
},
{
name: "map_entry",
number: 7,
type: 8,
label: 1,
},
{
name: "deprecated_legacy_json_field_conflicts",
number: 11,
type: 8,
label: 1,
options: {
deprecated: true,
},
},
{
name: "features",
number: 12,
type: 11,
label: 1,
typeName: ".google.protobuf.FeatureSet",
},
{
name: "uninterpreted_option",
number: 999,
type: 11,
label: 3,
typeName: ".google.protobuf.UninterpretedOption",
},
],
extensionRange: [
{
start: 1000,
end: 536870912,
},
],
},
{
name: "FieldOptions",
field: [
{
name: "ctype",
number: 1,
type: 14,
label: 1,
typeName: ".google.protobuf.FieldOptions.CType",
defaultValue: "STRING",
},
{
name: "packed",
number: 2,
type: 8,
label: 1,
},
{
name: "jstype",
number: 6,
type: 14,
label: 1,
typeName: ".google.protobuf.FieldOptions.JSType",
defaultValue: "JS_NORMAL",
},
{
name: "lazy",
number: 5,
type: 8,
label: 1,
defaultValue: "false",
},
{
name: "unverified_lazy",
number: 15,
type: 8,
label: 1,
defaultValue: "false",
},
{
name: "deprecated",
number: 3,
type: 8,
label: 1,
defaultValue: "false",
},
{
name: "weak",
number: 10,
type: 8,
label: 1,
defaultValue: "false",
},
{
name: "debug_redact",
number: 16,
type: 8,
label: 1,
defaultValue: "false",
},
{
name: "retention",
number: 17,
type: 14,
label: 1,
typeName: ".google.protobuf.FieldOptions.OptionRetention",
},
{
name: "targets",
number: 19,
type: 14,
label: 3,
typeName: ".google.protobuf.FieldOptions.OptionTargetType",
},
{
name: "edition_defaults",
number: 20,
type: 11,
label: 3,
typeName: ".google.protobuf.FieldOptions.EditionDefault",
},
{
name: "features",
number: 21,
type: 11,
label: 1,
typeName: ".google.protobuf.FeatureSet",
},
{
name: "feature_support",
number: 22,
type: 11,
label: 1,
typeName: ".google.protobuf.FieldOptions.FeatureSupport",
},
{
name: "uninterpreted_option",
number: 999,
type: 11,
label: 3,
typeName: ".google.protobuf.UninterpretedOption",
},
],
nestedType: [
{
name: "EditionDefault",
field: [
{
name: "edition",
number: 3,
type: 14,
label: 1,
typeName: ".google.protobuf.Edition",
},
{
name: "value",
number: 2,
type: 9,
label: 1,
},
],
},
{
name: "FeatureSupport",
field: [
{
name: "edition_introduced",
number: 1,
type: 14,
label: 1,
typeName: ".google.protobuf.Edition",
},
{
name: "edition_deprecated",
number: 2,
type: 14,
label: 1,
typeName: ".google.protobuf.Edition",
},
{
name: "deprecation_warning",
number: 3,
type: 9,
label: 1,
},
{
name: "edition_removed",
number: 4,
type: 14,
label: 1,
typeName: ".google.protobuf.Edition",
},
],
},
],
enumType: [
{
name: "CType",
value: [
{
name: "STRING",
number: 0,
},
{
name: "CORD",
number: 1,
},
{
name: "STRING_PIECE",
number: 2,
},
],
},
{
name: "JSType",
value: [
{
name: "JS_NORMAL",
number: 0,
},
{
name: "JS_STRING",
number: 1,
},
{
name: "JS_NUMBER",
number: 2,
},
],
},
{
name: "OptionRetention",
value: [
{
name: "RETENTION_UNKNOWN",
number: 0,
},
{
name: "RETENTION_RUNTIME",
number: 1,
},
{
name: "RETENTION_SOURCE",
number: 2,
},
],
},
{
name: "OptionTargetType",
value: [
{
name: "TARGET_TYPE_UNKNOWN",
number: 0,
},
{
name: "TARGET_TYPE_FILE",
number: 1,
},
{
name: "TARGET_TYPE_EXTENSION_RANGE",
number: 2,
},
{
name: "TARGET_TYPE_MESSAGE",
number: 3,
},
{
name: "TARGET_TYPE_FIELD",
number: 4,
},
{
name: "TARGET_TYPE_ONEOF",
number: 5,
},
{
name: "TARGET_TYPE_ENUM",
number: 6,
},
{
name: "TARGET_TYPE_ENUM_ENTRY",
number: 7,
},
{
name: "TARGET_TYPE_SERVICE",
number: 8,
},
{
name: "TARGET_TYPE_METHOD",
number: 9,
},
],
},
],
extensionRange: [
{
start: 1000,
end: 536870912,
},
],
},
{
name: "OneofOptions",
field: [
{
name: "features",
number: 1,
type: 11,
label: 1,
typeName: ".google.protobuf.FeatureSet",
},
{
name: "uninterpreted_option",
number: 999,
type: 11,
label: 3,
typeName: ".google.protobuf.UninterpretedOption",
},
],
extensionRange: [
{
start: 1000,
end: 536870912,
},
],
},
{
name: "EnumOptions",
field: [
{
name: "allow_alias",
number: 2,
type: 8,
label: 1,
},
{
name: "deprecated",
number: 3,
type: 8,
label: 1,
defaultValue: "false",
},
{
name: "deprecated_legacy_json_field_conflicts",
number: 6,
type: 8,
label: 1,
options: {
deprecated: true,
},
},
{
name: "features",
number: 7,
type: 11,
label: 1,
typeName: ".google.protobuf.FeatureSet",
},
{
name: "uninterpreted_option",
number: 999,
type: 11,
label: 3,
typeName: ".google.protobuf.UninterpretedOption",
},
],
extensionRange: [
{
start: 1000,
end: 536870912,
},
],
},
{
name: "EnumValueOptions",
field: [
{
name: "deprecated",
number: 1,
type: 8,
label: 1,
defaultValue: "false",
},
{
name: "features",
number: 2,
type: 11,
label: 1,
typeName: ".google.protobuf.FeatureSet",
},
{
name: "debug_redact",
number: 3,
type: 8,
label: 1,
defaultValue: "false",
},
{
name: "feature_support",
number: 4,
type: 11,
label: 1,
typeName: ".google.protobuf.FieldOptions.FeatureSupport",
},
{
name: "uninterpreted_option",
number: 999,
type: 11,
label: 3,
typeName: ".google.protobuf.UninterpretedOption",
},
],
extensionRange: [
{
start: 1000,
end: 536870912,
},
],
},
{
name: "ServiceOptions",
field: [
{
name: "features",
number: 34,
type: 11,
label: 1,
typeName: ".google.protobuf.FeatureSet",
},
{
name: "deprecated",
number: 33,
type: 8,
label: 1,
defaultValue: "false",
},
{
name: "uninterpreted_option",
number: 999,
type: 11,
label: 3,
typeName: ".google.protobuf.UninterpretedOption",
},
],
extensionRange: [
{
start: 1000,
end: 536870912,
},
],
},
{
name: "MethodOptions",
field: [
{
name: "deprecated",
number: 33,
type: 8,
label: 1,
defaultValue: "false",
},
{
name: "idempotency_level",
number: 34,
type: 14,
label: 1,
typeName: ".google.protobuf.MethodOptions.IdempotencyLevel",
defaultValue: "IDEMPOTENCY_UNKNOWN",
},
{
name: "features",
number: 35,
type: 11,
label: 1,
typeName: ".google.protobuf.FeatureSet",
},
{
name: "uninterpreted_option",
number: 999,
type: 11,
label: 3,
typeName: ".google.protobuf.UninterpretedOption",
},
],
enumType: [
{
name: "IdempotencyLevel",
value: [
{
name: "IDEMPOTENCY_UNKNOWN",
number: 0,
},
{
name: "NO_SIDE_EFFECTS",
number: 1,
},
{
name: "IDEMPOTENT",
number: 2,
},
],
},
],
extensionRange: [
{
start: 1000,
end: 536870912,
},
],
},
{
name: "UninterpretedOption",
field: [
{
name: "name",
number: 2,
type: 11,
label: 3,
typeName: ".google.protobuf.UninterpretedOption.NamePart",
},
{
name: "identifier_value",
number: 3,
type: 9,
label: 1,
},
{
name: "positive_int_value",
number: 4,
type: 4,
label: 1,
},
{
name: "negative_int_value",
number: 5,
type: 3,
label: 1,
},
{
name: "double_value",
number: 6,
type: 1,
label: 1,
},
{
name: "string_value",
number: 7,
type: 12,
label: 1,
},
{
name: "aggregate_value",
number: 8,
type: 9,
label: 1,
},
],
nestedType: [
{
name: "NamePart",
field: [
{
name: "name_part",
number: 1,
type: 9,
label: 2,
},
{
name: "is_extension",
number: 2,
type: 8,
label: 2,
},
],
},
],
},
{
name: "FeatureSet",
field: [
{
name: "field_presence",
number: 1,
type: 14,
label: 1,
typeName: ".google.protobuf.FeatureSet.FieldPresence",
options: {
retention: 1,
targets: [4, 1],
editionDefaults: [
{
value: "EXPLICIT",
edition: 900,
},
{
value: "IMPLICIT",
edition: 999,
},
{
value: "EXPLICIT",
edition: 1000,
},
],
},
},
{
name: "enum_type",
number: 2,
type: 14,
label: 1,
typeName: ".google.protobuf.FeatureSet.EnumType",
options: {
retention: 1,
targets: [6, 1],
editionDefaults: [
{
value: "CLOSED",
edition: 900,
},
{
value: "OPEN",
edition: 999,
},
],
},
},
{
name: "repeated_field_encoding",
number: 3,
type: 14,
label: 1,
typeName: ".google.protobuf.FeatureSet.RepeatedFieldEncoding",
options: {
retention: 1,
targets: [4, 1],
editionDefaults: [
{
value: "EXPANDED",
edition: 900,
},
{
value: "PACKED",
edition: 999,
},
],
},
},
{
name: "utf8_validation",
number: 4,
type: 14,
label: 1,
typeName: ".google.protobuf.FeatureSet.Utf8Validation",
options: {
retention: 1,
targets: [4, 1],
editionDefaults: [
{
value: "NONE",
edition: 900,
},
{
value: "VERIFY",
edition: 999,
},
],
},
},
{
name: "message_encoding",
number: 5,
type: 14,
label: 1,
typeName: ".google.protobuf.FeatureSet.MessageEncoding",
options: {
retention: 1,
targets: [4, 1],
editionDefaults: [
{
value: "LENGTH_PREFIXED",
edition: 900,
},
],
},
},
{
name: "json_format",
number: 6,
type: 14,
label: 1,
typeName: ".google.protobuf.FeatureSet.JsonFormat",
options: {
retention: 1,
targets: [3, 6, 1],
editionDefaults: [
{
value: "LEGACY_BEST_EFFORT",
edition: 900,
},
{
value: "ALLOW",
edition: 999,
},
],
},
},
{
name: "enforce_naming_style",
number: 7,
type: 14,
label: 1,
typeName: ".google.protobuf.FeatureSet.EnforceNamingStyle",
options: {
retention: 2,
targets: [1, 2, 3, 4, 5, 6, 7, 8, 9],
editionDefaults: [
{
value: "STYLE_LEGACY",
edition: 900,
},
{
value: "STYLE2024",
edition: 1001,
},
],
},
},
],
enumType: [
{
name: "FieldPresence",
value: [
{
name: "FIELD_PRESENCE_UNKNOWN",
number: 0,
},
{
name: "EXPLICIT",
number: 1,
},
{
name: "IMPLICIT",
number: 2,
},
{
name: "LEGACY_REQUIRED",
number: 3,
},
],
},
{
name: "EnumType",
value: [
{
name: "ENUM_TYPE_UNKNOWN",
number: 0,
},
{
name: "OPEN",
number: 1,
},
{
name: "CLOSED",
number: 2,
},
],
},
{
name: "RepeatedFieldEncoding",
value: [
{
name: "REPEATED_FIELD_ENCODING_UNKNOWN",
number: 0,
},
{
name: "PACKED",
number: 1,
},
{
name: "EXPANDED",
number: 2,
},
],
},
{
name: "Utf8Validation",
value: [
{
name: "UTF8_VALIDATION_UNKNOWN",
number: 0,
},
{
name: "VERIFY",
number: 2,
},
{
name: "NONE",
number: 3,
},
],
},
{
name: "MessageEncoding",
value: [
{
name: "MESSAGE_ENCODING_UNKNOWN",
number: 0,
},
{
name: "LENGTH_PREFIXED",
number: 1,
},
{
name: "DELIMITED",
number: 2,
},
],
},
{
name: "JsonFormat",
value: [
{
name: "JSON_FORMAT_UNKNOWN",
number: 0,
},
{
name: "ALLOW",
number: 1,
},
{
name: "LEGACY_BEST_EFFORT",
number: 2,
},
],
},
{
name: "EnforceNamingStyle",
value: [
{
name: "ENFORCE_NAMING_STYLE_UNKNOWN",
number: 0,
},
{
name: "STYLE2024",
number: 1,
},
{
name: "STYLE_LEGACY",
number: 2,
},
],
},
],
extensionRange: [
{
start: 1000,
end: 9995,
},
{
start: 9995,
end: 10000,
},
{
start: 10000,
end: 10001,
},
],
},
{
name: "FeatureSetDefaults",
field: [
{
name: "defaults",
number: 1,
type: 11,
label: 3,
typeName:
".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault",
},
{
name: "minimum_edition",
number: 4,
type: 14,
label: 1,
typeName: ".google.protobuf.Edition",
},
{
name: "maximum_edition",
number: 5,
type: 14,
label: 1,
typeName: ".google.protobuf.Edition",
},
],
nestedType: [
{
name: "FeatureSetEditionDefault",
field: [
{
name: "edition",
number: 3,
type: 14,
label: 1,
typeName: ".google.protobuf.Edition",
},
{
name: "overridable_features",
number: 4,
type: 11,
label: 1,
typeName: ".google.protobuf.FeatureSet",
},
{
name: "fixed_features",
number: 5,
type: 11,
label: 1,
typeName: ".google.protobuf.FeatureSet",
},
],
},
],
},
{
name: "SourceCodeInfo",
field: [
{
name: "location",
number: 1,
type: 11,
label: 3,
typeName: ".google.protobuf.SourceCodeInfo.Location",
},
],
nestedType: [
{
name: "Location",
field: [
{
name: "path",
number: 1,
type: 5,
label: 3,
options: {
packed: true,
},
},
{
name: "span",
number: 2,
type: 5,
label: 3,
options: {
packed: true,
},
},
{
name: "leading_comments",
number: 3,
type: 9,
label: 1,
},
{
name: "trailing_comments",
number: 4,
type: 9,
label: 1,
},
{
name: "leading_detached_comments",
number: 6,
type: 9,
label: 3,
},
],
},
],
extensionRange: [
{
start: 536000000,
end: 536000001,
},
],
},
{
name: "GeneratedCodeInfo",
field: [
{
name: "annotation",
number: 1,
type: 11,
label: 3,
typeName: ".google.protobuf.GeneratedCodeInfo.Annotation",
},
],
nestedType: [
{
name: "Annotation",
field: [
{
name: "path",
number: 1,
type: 5,
label: 3,
options: {
packed: true,
},
},
{
name: "source_file",
number: 2,
type: 9,
label: 1,
},
{
name: "begin",
number: 3,
type: 5,
label: 1,
},
{
name: "end",
number: 4,
type: 5,
label: 1,
},
{
name: "semantic",
number: 5,
type: 14,
label: 1,
typeName:
".google.protobuf.GeneratedCodeInfo.Annotation.Semantic",
},
],
enumType: [
{
name: "Semantic",
value: [
{
name: "NONE",
number: 0,
},
{
name: "SET",
number: 1,
},
{
name: "ALIAS",
number: 2,
},
],
},
],
},
],
},
],
enumType: [
{
name: "Edition",
value: [
{
name: "EDITION_UNKNOWN",
number: 0,
},
{
name: "EDITION_LEGACY",
number: 900,
},
{
name: "EDITION_PROTO2",
number: 998,
},
{
name: "EDITION_PROTO3",
number: 999,
},
{
name: "EDITION_2023",
number: 1000,
},
{
name: "EDITION_2024",
number: 1001,
},
{
name: "EDITION_1_TEST_ONLY",
number: 1,
},
{
name: "EDITION_2_TEST_ONLY",
number: 2,
},
{
name: "EDITION_99997_TEST_ONLY",
number: 99997,
},
{
name: "EDITION_99998_TEST_ONLY",
number: 99998,
},
{
name: "EDITION_99999_TEST_ONLY",
number: 99999,
},
{
name: "EDITION_MAX",
number: 2147483647,
},
],
},
],
}),
1,
);
var zt;
var Xt;
var qt;
var Qt;
var Zt;
var er;
var tr;
var rr;
var nr;
var ir;
var or;
var sr;
var ar;
var cr;
var lr;
var ur;
var pr;
var hr;
(function (e) {
e[(e.DECLARATION = 0)] = "DECLARATION";
e[(e.UNVERIFIED = 1)] = "UNVERIFIED";
})((zt ||= {}));
(function (e) {
e[(e.DOUBLE = 1)] = "DOUBLE";
e[(e.FLOAT = 2)] = "FLOAT";
e[(e.INT64 = 3)] = "INT64";
e[(e.UINT64 = 4)] = "UINT64";
e[(e.INT32 = 5)] = "INT32";
e[(e.FIXED64 = 6)] = "FIXED64";
e[(e.FIXED32 = 7)] = "FIXED32";
e[(e.BOOL = 8)] = "BOOL";
e[(e.STRING = 9)] = "STRING";
e[(e.GROUP = 10)] = "GROUP";
e[(e.MESSAGE = 11)] = "MESSAGE";
e[(e.BYTES = 12)] = "BYTES";
e[(e.UINT32 = 13)] = "UINT32";
e[(e.ENUM = 14)] = "ENUM";
e[(e.SFIXED32 = 15)] = "SFIXED32";
e[(e.SFIXED64 = 16)] = "SFIXED64";
e[(e.SINT32 = 17)] = "SINT32";
e[(e.SINT64 = 18)] = "SINT64";
})((Xt ||= {}));
(function (e) {
e[(e.OPTIONAL = 1)] = "OPTIONAL";
e[(e.REPEATED = 3)] = "REPEATED";
e[(e.REQUIRED = 2)] = "REQUIRED";
})((qt ||= {}));
(function (e) {
e[(e.SPEED = 1)] = "SPEED";
e[(e.CODE_SIZE = 2)] = "CODE_SIZE";
e[(e.LITE_RUNTIME = 3)] = "LITE_RUNTIME";
})((Qt ||= {}));
(function (e) {
e[(e.STRING = 0)] = "STRING";
e[(e.CORD = 1)] = "CORD";
e[(e.STRING_PIECE = 2)] = "STRING_PIECE";
})((Zt ||= {}));
(function (e) {
e[(e.JS_NORMAL = 0)] = "JS_NORMAL";
e[(e.JS_STRING = 1)] = "JS_STRING";
e[(e.JS_NUMBER = 2)] = "JS_NUMBER";
})((er ||= {}));
(function (e) {
e[(e.RETENTION_UNKNOWN = 0)] = "RETENTION_UNKNOWN";
e[(e.RETENTION_RUNTIME = 1)] = "RETENTION_RUNTIME";
e[(e.RETENTION_SOURCE = 2)] = "RETENTION_SOURCE";
})((tr ||= {}));
(function (e) {
e[(e.TARGET_TYPE_UNKNOWN = 0)] = "TARGET_TYPE_UNKNOWN";
e[(e.TARGET_TYPE_FILE = 1)] = "TARGET_TYPE_FILE";
e[(e.TARGET_TYPE_EXTENSION_RANGE = 2)] = "TARGET_TYPE_EXTENSION_RANGE";
e[(e.TARGET_TYPE_MESSAGE = 3)] = "TARGET_TYPE_MESSAGE";
e[(e.TARGET_TYPE_FIELD = 4)] = "TARGET_TYPE_FIELD";
e[(e.TARGET_TYPE_ONEOF = 5)] = "TARGET_TYPE_ONEOF";
e[(e.TARGET_TYPE_ENUM = 6)] = "TARGET_TYPE_ENUM";
e[(e.TARGET_TYPE_ENUM_ENTRY = 7)] = "TARGET_TYPE_ENUM_ENTRY";
e[(e.TARGET_TYPE_SERVICE = 8)] = "TARGET_TYPE_SERVICE";
e[(e.TARGET_TYPE_METHOD = 9)] = "TARGET_TYPE_METHOD";
})((rr ||= {}));
(function (e) {
e[(e.IDEMPOTENCY_UNKNOWN = 0)] = "IDEMPOTENCY_UNKNOWN";
e[(e.NO_SIDE_EFFECTS = 1)] = "NO_SIDE_EFFECTS";
e[(e.IDEMPOTENT = 2)] = "IDEMPOTENT";
})((nr ||= {}));
(function (e) {
e[(e.FIELD_PRESENCE_UNKNOWN = 0)] = "FIELD_PRESENCE_UNKNOWN";
e[(e.EXPLICIT = 1)] = "EXPLICIT";
e[(e.IMPLICIT = 2)] = "IMPLICIT";
e[(e.LEGACY_REQUIRED = 3)] = "LEGACY_REQUIRED";
})((ir ||= {}));
(function (e) {
e[(e.ENUM_TYPE_UNKNOWN = 0)] = "ENUM_TYPE_UNKNOWN";
e[(e.OPEN = 1)] = "OPEN";
e[(e.CLOSED = 2)] = "CLOSED";
})((or ||= {}));
(function (e) {
e[(e.REPEATED_FIELD_ENCODING_UNKNOWN = 0)] =
"REPEATED_FIELD_ENCODING_UNKNOWN";
e[(e.PACKED = 1)] = "PACKED";
e[(e.EXPANDED = 2)] = "EXPANDED";
})((sr ||= {}));
(function (e) {
e[(e.UTF8_VALIDATION_UNKNOWN = 0)] = "UTF8_VALIDATION_UNKNOWN";
e[(e.VERIFY = 2)] = "VERIFY";
e[(e.NONE = 3)] = "NONE";
})((ar ||= {}));
(function (e) {
e[(e.MESSAGE_ENCODING_UNKNOWN = 0)] = "MESSAGE_ENCODING_UNKNOWN";
e[(e.LENGTH_PREFIXED = 1)] = "LENGTH_PREFIXED";
e[(e.DELIMITED = 2)] = "DELIMITED";
})((cr ||= {}));
(function (e) {
e[(e.JSON_FORMAT_UNKNOWN = 0)] = "JSON_FORMAT_UNKNOWN";
e[(e.ALLOW = 1)] = "ALLOW";
e[(e.LEGACY_BEST_EFFORT = 2)] = "LEGACY_BEST_EFFORT";
})((lr ||= {}));
(function (e) {
e[(e.ENFORCE_NAMING_STYLE_UNKNOWN = 0)] = "ENFORCE_NAMING_STYLE_UNKNOWN";
e[(e.STYLE2024 = 1)] = "STYLE2024";
e[(e.STYLE_LEGACY = 2)] = "STYLE_LEGACY";
})((ur ||= {}));
(function (e) {
e[(e.NONE = 0)] = "NONE";
e[(e.SET = 1)] = "SET";
e[(e.ALIAS = 2)] = "ALIAS";
})((pr ||= {}));
(function (e) {
e[(e.EDITION_UNKNOWN = 0)] = "EDITION_UNKNOWN";
e[(e.EDITION_LEGACY = 900)] = "EDITION_LEGACY";
e[(e.EDITION_PROTO2 = 998)] = "EDITION_PROTO2";
e[(e.EDITION_PROTO3 = 999)] = "EDITION_PROTO3";
e[(e.EDITION_2023 = 1000)] = "EDITION_2023";
e[(e.EDITION_2024 = 1001)] = "EDITION_2024";
e[(e.EDITION_1_TEST_ONLY = 1)] = "EDITION_1_TEST_ONLY";
e[(e.EDITION_2_TEST_ONLY = 2)] = "EDITION_2_TEST_ONLY";
e[(e.EDITION_99997_TEST_ONLY = 99997)] = "EDITION_99997_TEST_ONLY";
e[(e.EDITION_99998_TEST_ONLY = 99998)] = "EDITION_99998_TEST_ONLY";
e[(e.EDITION_99999_TEST_ONLY = 99999)] = "EDITION_99999_TEST_ONLY";
e[(e.EDITION_MAX = 2147483647)] = "EDITION_MAX";
})((hr ||= {}));
const fr = {
readUnknownFields: true,
};
function dr(e, t, r) {
const n = De(e, undefined, false);
yr(
n,
new Oe(t),
(function (e) {
if (e) {
return Object.assign(Object.assign({}, fr), e);
} else {
return fr;
}
})(r),
false,
t.byteLength,
);
return n.message;
}
function yr(e, t, r, n, i) {
const s = n ? t.len : t.pos + i;
let a;
let c;
const l = e.getUnknown() ?? [];
while (t.pos < s && (([a, c] = t.tag()), !n || c != Te.EndGroup)) {
const n = e.findNumber(a);
if (n) {
mr(e, t, n, c, r);
} else {
const e = t.skip(c, a);
if (r.readUnknownFields) {
l.push({
no: a,
wireType: c,
data: e,
});
}
}
}
if (n && (c != Te.EndGroup || a !== i)) {
throw new Error("invalid end group tag");
}
if (l.length > 0) {
e.setUnknown(l);
}
}
function mr(e, t, r, n, i) {
switch (r.fieldKind) {
case "scalar":
e.set(r, vr(t, r.scalar));
break;
case "enum":
e.set(r, vr(t, M.INT32));
break;
case "message":
e.set(r, gr(t, i, r, e.get(r)));
break;
case "list":
(function (e, t, r, n) {
const o = r.field();
if (o.listKind === "message") {
r.add(gr(e, n, o));
return;
}
const s = o.scalar ?? M.INT32;
if (t != Te.LengthDelimited || s == M.STRING || s == M.BYTES) {
r.add(vr(e, s));
return;
}
const a = e.uint32() + e.pos;
while (e.pos < a) {
r.add(vr(e, s));
}
})(t, n, e.get(r), i);
break;
case "map":
(function (e, t, r) {
const n = t.field();
let i;
let o;
const s = e.pos + e.uint32();
while (e.pos < s) {
const [t] = e.tag();
switch (t) {
case 1:
i = vr(e, n.mapKey);
break;
case 2:
switch (n.mapKind) {
case "scalar":
o = vr(e, n.scalar);
break;
case "enum":
o = e.int32();
break;
case "message":
o = gr(e, r, n);
}
}
}
if (i === undefined) {
i = ee(n.mapKey, false);
}
if (o === undefined) {
switch (n.mapKind) {
case "scalar":
o = ee(n.scalar, false);
break;
case "enum":
o = n.enum.values[0].number;
break;
case "message":
o = De(n.message, undefined, false);
}
}
t.set(i, o);
})(t, e.get(r), i);
}
}
function gr(e, t, r, n) {
const i = r.delimitedEncoding;
const o = n ?? De(r.message, undefined, false);
yr(o, e, t, i, i ? r.number : e.uint32());
return o;
}
function vr(e, t) {
switch (t) {
case M.STRING:
return e.string();
case M.BOOL:
return e.bool();
case M.DOUBLE:
return e.double();
case M.FLOAT:
return e.float();
case M.INT32:
return e.int32();
case M.INT64:
return e.int64();
case M.UINT64:
return e.uint64();
case M.FIXED64:
return e.fixed64();
case M.BYTES:
return e.bytes();
case M.FIXED32:
return e.fixed32();
case M.SFIXED32:
return e.sfixed32();
case M.SFIXED64:
return e.sfixed64();
case M.SINT64:
return e.sint64();
case M.UINT32:
return e.uint32();
case M.SINT32:
return e.sint32();
}
}
function br(e, t) {
const n = dr(
Jt,
(function (e) {
const t = (function () {
if (!et) {
et = [];
if (!Ze) {
Ze =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(
"",
);
Ze.slice(0, -2).concat("-", "_");
}
const e = Ze;
for (let t = 0; t < e.length; t++) {
et[e[t].charCodeAt(0)] = t;
}
et["-".charCodeAt(0)] = e.indexOf("+");
et["_".charCodeAt(0)] = e.indexOf("/");
}
return et;
})();
let r = (e.length * 3) / 4;
if (e[e.length - 2] == "=") {
r -= 2;
} else if (e[e.length - 1] == "=") {
r -= 1;
}
let n;
let i = new Uint8Array(r);
let o = 0;
let s = 0;
let a = 0;
for (let r = 0; r < e.length; r++) {
n = t[e.charCodeAt(r)];
if (n === undefined) {
switch (e[r]) {
case "=":
s = 0;
case "\n":
case "\r":
case "\t":
case " ":
continue;
default:
throw Error("invalid base64 string");
}
}
switch (s) {
case 0:
a = n;
s = 1;
break;
case 1:
i[o++] = (a << 2) | ((n & 48) >> 4);
a = n;
s = 2;
break;
case 2:
i[o++] = ((a & 15) << 4) | ((n & 60) >> 2);
a = n;
s = 3;
break;
case 3:
i[o++] = ((a & 3) << 6) | n;
s = 0;
}
}
if (s == 1) {
throw Error("invalid base64 string");
}
return i.subarray(0, o);
})(e),
);
n.messageType.forEach(it);
n.dependency = (t == null ? undefined : t.map((e) => e.proto.name)) ?? [];
return st(n, (e) =>
t == null ? undefined : t.find((t) => t.proto.name === e),
).getFile(n.name);
}
const Er = br(
"Ch9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvEg9nb29nbGUucHJvdG9idWYiKwoJVGltZXN0YW1wEg8KB3NlY29uZHMYASABKAMSDQoFbmFub3MYAiABKAVChQEKE2NvbS5nb29nbGUucHJvdG9idWZCDlRpbWVzdGFtcFByb3RvUAFaMmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3RpbWVzdGFtcHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM",
);
const wr = Yt(Er, 0);
const Sr = Yt(
br(
"CiBsaWNlbnNlX2tleS92MS9saWNlbnNlX2tleS5wcm90bxIObGljZW5zZV9rZXkudjEiQwoNT3JpZ2luTWF0Y2hlchIPCgVleGFjdBgBIAEoCUgAEhAKBnJlZ2V4cBgCIAEoCUgAQg8KDW1hdGNoX3BhdHRlcm4iYQoKRXhwaXJhdGlvbhIpCgVzdGFydBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKAoFZ3JhY2UYAiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24iKAoXTWlub3JWZXJzaW9uUmVzdHJpY3Rpb24SDQoFbWlub3IYASABKA0iNwoXUGF0Y2hWZXJzaW9uUmVzdHJpY3Rpb24SDQoFbWlub3IYASABKA0SDQoFcGF0Y2gYAiABKA0iqwEKDlZlcnNpb25NYXRjaGVyEkAKDW1pbm9yX3ZlcnNpb24YASABKAsyJy5saWNlbnNlX2tleS52MS5NaW5vclZlcnNpb25SZXN0cmljdGlvbkgAEkAKDXBhdGNoX3ZlcnNpb24YAiABKAsyJy5saWNlbnNlX2tleS52MS5QYXRjaFZlcnNpb25SZXN0cmljdGlvbkgAQhUKE3ZlcnNpb25fcmVzdHJpY3Rpb24i2gIKDkxpY2Vuc2VQYXlsb2FkEgoKAmlkGAEgASgJEg0KBXRyaWFsGAogASgIEhMKC2RldmVsb3BtZW50GBQgASgIEhIKCmVkaXRvcl9ncGwYHiABKAgSLgoKZXhwaXJhdGlvbhgoIAEoCzIaLmxpY2Vuc2Vfa2V5LnYxLkV4cGlyYXRpb24SEgoKZWRpdG9yX3VpZBgyIAEoCRIQCghwYWdlX3VpZBg8IAEoCRIcChRlZGl0b3JfbWFqb3JfdmVyc2lvbhhGIAEoDRI3Cg9lZGl0b3JfdmVyc2lvbnMYUCADKAsyHi5saWNlbnNlX2tleS52MS5WZXJzaW9uTWF0Y2hlchInCgdwbHVnaW5zGFogAygOMhYubGljZW5zZV9rZXkudjEuUGx1Z2luEi4KB29yaWdpbnMYZCADKAsyHS5saWNlbnNlX2tleS52MS5PcmlnaW5NYXRjaGVyKr8GCgZQbHVnaW4SFgoSUExVR0lOX1VOU1BFQ0lGSUVEEAASDgoKUExVR0lOX0FMTBABEhYKElBMVUdJTl9BMTFZQ0hFQ0tFUhACEhIKDlBMVUdJTl9BRFZDT0RFEAMSEwoPUExVR0lOX0FEVlRBQkxFEAQSFgoSUExVR0lOX0FEVlRFTVBMQVRFEAUSDQoJUExVR0lOX0FJEAYSFgoSUExVR0lOX0FVVE9DT1JSRUNUEAcSFQoRUExVR0lOX0NBU0VDSEFOR0UQCBIUChBQTFVHSU5fQ0hFQ0tMSVNUEAkSFAoQUExVR0lOX0VESVRJTUFHRRAKEhEKDVBMVUdJTl9FWFBPUlQQCxIUChBQTFVHSU5fRVhQT1JUUERGEAwSFQoRUExVR0lOX0VYUE9SVFdPUkQQDRIUChBQTFVHSU5fRk9PVE5PVEVTEA4SGAoUUExVR0lOX0ZPUk1BVFBBSU5URVIQDxIVChFQTFVHSU5fSU1QT1JUV09SRBAQEhQKEFBMVUdJTl9JTkxJTkVDU1MQERIWChJQTFVHSU5fTElOS0NIRUNLRVIQEhIPCgtQTFVHSU5fTUFUSBATEhMKD1BMVUdJTl9NQVJLRE9XThAUEhUKEVBMVUdJTl9NRURJQUVNQkVEEBUSEwoPUExVR0lOX01FTlRJT05TEBYSFAoQUExVR0lOX01FUkdFVEFHUxAXEhQKEFBMVUdJTl9QQUdFRU1CRUQQGBIXChNQTFVHSU5fUEVSTUFORU5UUEVOEBkSFQoRUExVR0lOX1BPV0VSUEFTVEUQGhIaChZQTFVHSU5fUkVWSVNJT05ISVNUT1JZEBsSGgoWUExVR0lOX1RBQkxFT0ZDT05URU5UUxAcEhcKE1BMVUdJTl9USU5ZQ09NTUVOVFMQHRIUChBQTFVHSU5fVElOWURSSVZFEB4SHgoaUExVR0lOX1RJTllNQ0VTUEVMTENIRUNLRVIQHxIVChFQTFVHSU5fVFlQT0dSQVBIWRAgEhUKEVBMVUdJTl9VUExPQURDQVJFECESGQoVUExVR0lOX1NVR0dFU1RFREVESVRTECISFwoTUExVR0lOX0ZVTExQQUdFSFRNTBAjQnoKEmNvbS5saWNlbnNlX2tleS52MUIPTGljZW5zZUtleVByb3RvUAGiAgNMWFiqAg1MaWNlbnNlS2V5LlYxygINTGljZW5zZUtleVxWMeICGUxpY2Vuc2VLZXlcVjFcR1BCTWV0YWRhdGHqAg5MaWNlbnNlS2V5OjpWMWIGcHJvdG8z",
[
br(
"Ch5nb29nbGUvcHJvdG9idWYvZHVyYXRpb24ucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiIqCghEdXJhdGlvbhIPCgdzZWNvbmRzGAEgASgDEg0KBW5hbm9zGAIgASgFQoMBChNjb20uZ29vZ2xlLnByb3RvYnVmQg1EdXJhdGlvblByb3RvUAFaMWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2R1cmF0aW9ucGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMw",
),
Er,
],
),
5,
);
var _0x369b1b;
(function (_0x556a83) {
_0x556a83[(_0x556a83.UNSPECIFIED = 0)] = "UNSPECIFIED";
_0x556a83[(_0x556a83.ALL = 1)] = "ALL";
_0x556a83[(_0x556a83.A11YCHECKER = 2)] = "A11YCHECKER";
_0x556a83[(_0x556a83.ADVCODE = 3)] = "ADVCODE";
_0x556a83[(_0x556a83.ADVTABLE = 4)] = "ADVTABLE";
_0x556a83[(_0x556a83.ADVTEMPLATE = 5)] = "ADVTEMPLATE";
_0x556a83[(_0x556a83.AI = 6)] = "AI";
_0x556a83[(_0x556a83.AUTOCORRECT = 7)] = "AUTOCORRECT";
_0x556a83[(_0x556a83.CASECHANGE = 8)] = "CASECHANGE";
_0x556a83[(_0x556a83.CHECKLIST = 9)] = "CHECKLIST";
_0x556a83[(_0x556a83.EDITIMAGE = 10)] = "EDITIMAGE";
_0x556a83[(_0x556a83.EXPORT = 11)] = "EXPORT";
_0x556a83[(_0x556a83.EXPORTPDF = 12)] = "EXPORTPDF";
_0x556a83[(_0x556a83.EXPORTWORD = 13)] = "EXPORTWORD";
_0x556a83[(_0x556a83.FOOTNOTES = 14)] = "FOOTNOTES";
_0x556a83[(_0x556a83.FORMATPAINTER = 15)] = "FORMATPAINTER";
_0x556a83[(_0x556a83.IMPORTWORD = 16)] = "IMPORTWORD";
_0x556a83[(_0x556a83.INLINECSS = 17)] = "INLINECSS";
_0x556a83[(_0x556a83.LINKCHECKER = 18)] = "LINKCHECKER";
_0x556a83[(_0x556a83.MATH = 19)] = "MATH";
_0x556a83[(_0x556a83.MARKDOWN = 20)] = "MARKDOWN";
_0x556a83[(_0x556a83.MEDIAEMBED = 21)] = "MEDIAEMBED";
_0x556a83[(_0x556a83.MENTIONS = 22)] = "MENTIONS";
_0x556a83[(_0x556a83.MERGETAGS = 23)] = "MERGETAGS";
_0x556a83[(_0x556a83.PAGEEMBED = 24)] = "PAGEEMBED";
_0x556a83[(_0x556a83.PERMANENTPEN = 25)] = "PERMANENTPEN";
_0x556a83[(_0x556a83.POWERPASTE = 26)] = "POWERPASTE";
_0x556a83[(_0x556a83.REVISIONHISTORY = 27)] = "REVISIONHISTORY";
_0x556a83[(_0x556a83.TABLEOFCONTENTS = 28)] = "TABLEOFCONTENTS";
_0x556a83[(_0x556a83.TINYCOMMENTS = 29)] = "TINYCOMMENTS";
_0x556a83[(_0x556a83.TINYDRIVE = 30)] = "TINYDRIVE";
_0x556a83[(_0x556a83.TINYMCESPELLCHECKER = 31)] = "TINYMCESPELLCHECKER";
_0x556a83[(_0x556a83.TYPOGRAPHY = 32)] = "TYPOGRAPHY";
_0x556a83[(_0x556a83.UPLOADCARE = 33)] = "UPLOADCARE";
_0x556a83[(_0x556a83.SUGGESTEDEDITS = 34)] = "SUGGESTEDEDITS";
_0x556a83[(_0x556a83.FULLPAGEHTML = 35)] = "FULLPAGEHTML";
})((_0x369b1b ||= {}));
const _0x449265 = (_0x5ae8b7) =>
(function (_0x2f5dbd) {
return new Date(
(function (_0x3d2a13) {
return (
Number(_0x3d2a13.seconds) * 1000 +
Math.ceil(_0x3d2a13.nanos / 1000000)
);
})(_0x2f5dbd),
);
})(he(wr, _0x5ae8b7));
const _0x56babb = (_0x59303b) => {
return Number(_0x59303b.seconds ?? 0) * 1000;
};
const _0x3a8ac5 = (_0x1f9041) => {
const _0x664fb6 = p.from(_0x1f9041.grace).getOr(0);
return p
.from(_0x1f9041.start)
.map((_0x432a34) => new Date(_0x432a34.getTime() + _0x664fb6));
};
const _0x350c42 = (_0x35ccf1) => ({
$typeName: "license_key.v1.Expiration",
start: p.from(_0x35ccf1.start).map(_0x449265).getOrUndefined(),
grace: p.from(_0x35ccf1.grace).map(_0x56babb).getOrUndefined(),
});
Object.keys(_0x369b1b).filter((_0x27f8c7) => Number.isNaN(+_0x27f8c7));
const _0xf6e815 = (_0x5a801b) => _0x369b1b[_0x5a801b];
var _0x4108c4;
(function (_0x2e8cf6) {
_0x2e8cf6.FormatInvalid = "decode_format_invalid";
_0x2e8cf6.PayloadFailture = "decode_payload_failure";
_0x2e8cf6.ParseFailure = "decode_parse_failure";
})((_0x4108c4 ||= {}));
const _0x387dcf =
/^(GPL\+)?T(\d+)LK:([a-zA-Z0-9_-]+\.([a-zA-Z0-9_-]+)\.[a-zA-Z0-9_-]+)$/;
const _0x56e779 = (_0x15fa54) =>
((_0x4b68e3) =>
v
.fromOption(p.from(_0x387dcf.exec(_0x4b68e3)), {
type: _0x4108c4.FormatInvalid,
message: "License key is an incorrect format.",
})
.bind((_0x557250) => {
const _0x3d84f0 = i(_0x557250[1]);
const _0x24310a = ((_0x199269, _0x32a7be = 10) => {
const _0x2cbbc3 = parseInt(_0x199269, _0x32a7be);
if (isNaN(_0x2cbbc3)) {
return p.none();
} else {
return p.some(_0x2cbbc3);
}
})(_0x557250[2]);
_0x4156dc = p.from(_0x557250[3]);
_0x2ec4ee = (_0xf4de3b, _0x4b1c67) => ({
hasGplTag: _0x3d84f0,
version: _0xf4de3b,
jws: _0x4b1c67,
});
const _0x4ff4b8 =
(_0x6b7d28 = _0x24310a).isSome() && _0x4156dc.isSome()
? p.some(_0x2ec4ee(_0x6b7d28.getOrDie(), _0x4156dc.getOrDie()))
: p.none();
var _0x6b7d28;
var _0x4156dc;
var _0x2ec4ee;
return v.fromOption(_0x4ff4b8, {
type: _0x4108c4.FormatInvalid,
message: "License key is an incorrect format.",
});
}))(_0x15fa54).bind((_0xb52f9b) =>
((_0x166c76) => {
const _0x47707c = _0x166c76.split(".");
if (_0x47707c.length !== 3) {
return v.error(_0x28ac07.FormatInvalid);
}
const [_0x4a6f37, _0x296369, _0x502785] = _0x47707c;
const _0x54f981 = new window.TextDecoder();
const _0x1a6a33 = _0x3f9df1(_0x4a6f37)
.bind((_0xe55f1e) =>
_0x2a81b9(
() => JSON.parse(_0x54f981.decode(_0xe55f1e)),
_0x14826e("Unable to parse protected header"),
),
)
.toOptional();
_0x9fa609 = _0x3f9df1(_0x296369).toOptional();
_0x4db416 = _0x3f9df1(_0x502785).toOptional();
_0x7052f2 = (_0x55b5f9, _0x1468cb, _0x3ba699) => ({
protectedHeader: _0x55b5f9,
payload: _0x1468cb,
signature: _0x3ba699,
});
const _0xe498e1 =
(_0xabe6e9 = _0x1a6a33).isSome() &&
_0x9fa609.isSome() &&
_0x4db416.isSome()
? p.some(
_0x7052f2(
_0xabe6e9.getOrDie(),
_0x9fa609.getOrDie(),
_0x4db416.getOrDie(),
),
)
: p.none();
var _0xabe6e9;
var _0x9fa609;
var _0x4db416;
var _0x7052f2;
return v.fromOption(_0xe498e1, _0x28ac07.DecodeFailure);
})(_0xb52f9b.jws)
.mapError(() => ({
type: _0x4108c4.ParseFailure,
message: "License key is an incorrect format.",
}))
.bind((_0x1679eb) => {
return ((_0x45598d = _0x1679eb.payload),
((_0x4e6a35) =>
((_0x9bf1fa) => {
try {
const _0x3b90c9 = dr(Sr, _0x9bf1fa, {
readUnknownFields: false,
});
return v.value(_0x3b90c9);
} catch (_0xd28be2) {
const _0x35a05f =
_0xd28be2 instanceof Error
? _0xd28be2
: new Error("Unable to decode payload");
return v.error(_0x35a05f);
}
})(_0x4e6a35).map((_0x404594) => {
const _0x12ed12 = _0x404594.expiration;
const _0x530a25 = p
.from(_0x12ed12)
.map(_0x350c42)
.getOrUndefined();
return {
..._0x404594,
expiration: _0x530a25,
};
}))(_0x45598d).mapError(() => ({
type: _0x4108c4.PayloadFailture,
message: "License key payload is invalid.",
}))).map((_0x2c5102) => ({
..._0xb52f9b,
..._0x1679eb,
payload: _0x2c5102,
}));
var _0x45598d;
}),
);
var Rr;
(function (e) {
(function () {
var t =
typeof globalThis == "object"
? globalThis
: typeof global == "object"
? global
: typeof self == "object"
? self
: typeof this == "object"
? this
: (function () {
try {
return Function("return this;")();
} catch (e) {}
})() ||
(function () {
try {
return (0, eval)("(function() { return this; })()");
} catch (e) {}
})();
var r = n(e);
function n(e, t) {
return function (r, n) {
Object.defineProperty(e, r, {
configurable: true,
writable: true,
value: n,
});
if (t) {
t(r, n);
}
};
}
if (t.Reflect !== undefined) {
r = n(t.Reflect, r);
}
(function (e, t) {
var r = Object.prototype.hasOwnProperty;
var n = typeof Symbol == "function";
var i =
n && Symbol.toPrimitive !== undefined
? Symbol.toPrimitive
: "@@toPrimitive";
var o =
n && Symbol.iterator !== undefined ? Symbol.iterator : "@@iterator";
var s = typeof Object.create == "function";
var a =
{
__proto__: [],
} instanceof Array;
var c = !s && !a;
var l = {
create: s
? function () {
return H(Object.create(null));
}
: a
? function () {
return H({
__proto__: null,
});
}
: function () {
return H({});
},
has: c
? function (e, t) {
return r.call(e, t);
}
: function (e, t) {
return t in e;
},
get: c
? function (e, t) {
if (r.call(e, t)) {
return e[t];
} else {
return undefined;
}
}
: function (e, t) {
return e[t];
},
};
var u = Object.getPrototypeOf(Function);
var p =
typeof Map == "function" && typeof Map.prototype.entries == "function"
? Map
: (function () {
var e = {};
var t = [];
var r = (function () {
function e(e, t, r) {
this._index = 0;
this._keys = e;
this._values = t;
this._selector = r;
}
e.prototype["@@iterator"] = function () {
return this;
};
e.prototype[o] = function () {
return this;
};
e.prototype.next = function () {
var e = this._index;
if (e >= 0 && e < this._keys.length) {
var r = this._selector(this._keys[e], this._values[e]);
if (e + 1 >= this._keys.length) {
this._index = -1;
this._keys = t;
this._values = t;
} else {
this._index++;
}
return {
value: r,
done: false,
};
}
return {
value: undefined,
done: true,
};
};
e.prototype.throw = function (e) {
if (this._index >= 0) {
this._index = -1;
this._keys = t;
this._values = t;
}
throw e;
};
e.prototype.return = function (e) {
if (this._index >= 0) {
this._index = -1;
this._keys = t;
this._values = t;
}
return {
value: e,
done: true,
};
};
return e;
})();
var n = (function () {
function t() {
this._keys = [];
this._values = [];
this._cacheKey = e;
this._cacheIndex = -2;
}
Object.defineProperty(t.prototype, "size", {
get: function () {
return this._keys.length;
},
enumerable: true,
configurable: true,
});
t.prototype.has = function (e) {
return this._find(e, false) >= 0;
};
t.prototype.get = function (e) {
var t = this._find(e, false);
if (t >= 0) {
return this._values[t];
} else {
return undefined;
}
};
t.prototype.set = function (e, t) {
var r = this._find(e, true);
this._values[r] = t;
return this;
};
t.prototype.delete = function (t) {
var r = this._find(t, false);
if (r >= 0) {
for (var n = this._keys.length, i = r + 1; i < n; i++) {
this._keys[i - 1] = this._keys[i];
this._values[i - 1] = this._values[i];
}
this._keys.length--;
this._values.length--;
if (U(t, this._cacheKey)) {
this._cacheKey = e;
this._cacheIndex = -2;
}
return true;
}
return false;
};
t.prototype.clear = function () {
this._keys.length = 0;
this._values.length = 0;
this._cacheKey = e;
this._cacheIndex = -2;
};
t.prototype.keys = function () {
return new r(this._keys, this._values, i);
};
t.prototype.values = function () {
return new r(this._keys, this._values, s);
};
t.prototype.entries = function () {
return new r(this._keys, this._values, a);
};
t.prototype["@@iterator"] = function () {
return this.entries();
};
t.prototype[o] = function () {
return this.entries();
};
t.prototype._find = function (e, t) {
if (!U(this._cacheKey, e)) {
this._cacheIndex = -1;
for (var r = 0; r < this._keys.length; r++) {
if (U(this._keys[r], e)) {
this._cacheIndex = r;
break;
}
}
}
if (this._cacheIndex < 0 && t) {
this._cacheIndex = this._keys.length;
this._keys.push(e);
this._values.push(undefined);
}
return this._cacheIndex;
};
return t;
})();
return n;
function i(e, t) {
return e;
}
function s(e, t) {
return t;
}
function a(e, t) {
return [e, t];
}
})();
var h =
typeof Set == "function" && typeof Set.prototype.entries == "function"
? Set
: (function () {
var e = (function () {
function e() {
this._map = new p();
}
Object.defineProperty(e.prototype, "size", {
get: function () {
return this._map.size;
},
enumerable: true,
configurable: true,
});
e.prototype.has = function (e) {
return this._map.has(e);
};
e.prototype.add = function (e) {
this._map.set(e, e);
return this;
};
e.prototype.delete = function (e) {
return this._map.delete(e);
};
e.prototype.clear = function () {
this._map.clear();
};
e.prototype.keys = function () {
return this._map.keys();
};
e.prototype.values = function () {
return this._map.keys();
};
e.prototype.entries = function () {
return this._map.entries();
};
e.prototype["@@iterator"] = function () {
return this.keys();
};
e.prototype[o] = function () {
return this.keys();
};
return e;
})();
return e;
})();
var f =
typeof WeakMap == "function"
? WeakMap
: (function () {
var e = l.create();
var t = n();
return (function () {
function e() {
this._key = n();
}
e.prototype.has = function (e) {
var t = i(e, false);
return t !== undefined && l.has(t, this._key);
};
e.prototype.get = function (e) {
var t = i(e, false);
if (t !== undefined) {
return l.get(t, this._key);
} else {
return undefined;
}
};
e.prototype.set = function (e, t) {
i(e, true)[this._key] = t;
return this;
};
e.prototype.delete = function (e) {
var t = i(e, false);
return t !== undefined && delete t[this._key];
};
e.prototype.clear = function () {
this._key = n();
};
return e;
})();
function n() {
var t;
do {
t = "@@WeakMap@@" + s();
} while (l.has(e, t));
e[t] = true;
return t;
}
function i(e, n) {
if (!r.call(e, t)) {
if (!n) {
return;
}
Object.defineProperty(e, t, {
value: l.create(),
});
}
return e[t];
}
function o(e, t) {
for (var r = 0; r < t; ++r) {
e[r] = (Math.random() * 255) | 0;
}
return e;
}
function s() {
var e = (function (e) {
if (typeof Uint8Array == "function") {
var t = new Uint8Array(e);
if (typeof crypto != "undefined") {
crypto.getRandomValues(t);
} else if (typeof msCrypto != "undefined") {
msCrypto.getRandomValues(t);
} else {
o(t, e);
}
return t;
}
return o(new Array(e), e);
})(16);
e[6] = (e[6] & 79) | 64;
e[8] = (e[8] & 191) | 128;
var t = "";
for (var r = 0; r < 16; ++r) {
var n = e[r];
if (r === 4 || r === 6 || r === 8) {
t += "-";
}
if (n < 16) {
t += "0";
}
t += n.toString(16).toLowerCase();
}
return t;
}
})();
var d = n ? Symbol.for("@reflect-metadata:registry") : undefined;
var y = (function () {
var e;
if (!T(d) && I(t.Reflect) && Object.isExtensible(t.Reflect)) {
e = t.Reflect[d];
}
if (T(e)) {
e = (function () {
var e;
var r;
var n;
var i;
if (
!T(d) &&
t.Reflect !== undefined &&
!(d in t.Reflect) &&
typeof t.Reflect.defineMetadata == "function"
) {
e = (function (e) {
var t = e.defineMetadata;
var r = e.hasOwnMetadata;
var n = e.getOwnMetadata;
var i = e.getOwnMetadataKeys;
var o = e.deleteMetadata;
var s = new f();
return {
isProviderFor: function (e, t) {
var r = s.get(e);
return (
(!T(r) && !!r.has(t)) ||
(!!i(e, t).length &&
(T(r) && ((r = new h()), s.set(e, r)),
r.add(t),
true))
);
},
OrdinaryDefineOwnMetadata: t,
OrdinaryHasOwnMetadata: r,
OrdinaryGetOwnMetadata: n,
OrdinaryOwnMetadataKeys: i,
OrdinaryDeleteMetadata: o,
};
})(t.Reflect);
}
var o = new f();
var s = {
registerProvider: a,
getProvider: l,
setProvider: y,
};
return s;
function a(t) {
if (!Object.isExtensible(s)) {
throw new Error("Cannot add provider to a frozen registry.");
}
switch (true) {
case e === t:
break;
case T(r):
r = t;
break;
case r === t:
break;
case T(n):
n = t;
break;
case n === t:
break;
default:
if (i === undefined) {
i = new h();
}
i.add(t);
}
}
function c(t, o) {
if (!T(r)) {
if (r.isProviderFor(t, o)) {
return r;
}
if (!T(n)) {
if (n.isProviderFor(t, o)) {
return r;
}
if (!T(i)) {
var s = P(i);
while (true) {
var a = j(s);
if (!a) {
return;
}
var c = V(a);
if (c.isProviderFor(t, o)) {
L(s);
return c;
}
}
}
}
}
if (!T(e) && e.isProviderFor(t, o)) {
return e;
}
}
function l(e, t) {
var r;
var n = o.get(e);
if (!T(n)) {
r = n.get(t);
}
if (T(r)) {
if (!T((r = c(e, t)))) {
if (T(n)) {
n = new p();
o.set(e, n);
}
n.set(t, r);
}
return r;
} else {
return r;
}
}
function u(e) {
if (T(e)) {
throw new TypeError();
}
return r === e || n === e || (!T(i) && i.has(e));
}
function y(e, t, r) {
if (!u(r)) {
throw new Error("Metadata provider not registered.");
}
var n = l(e, t);
if (n !== r) {
if (!T(n)) {
return false;
}
var i = o.get(e);
if (T(i)) {
i = new p();
o.set(e, i);
}
i.set(t, r);
}
return true;
}
})();
}
if (!T(d) && I(t.Reflect) && Object.isExtensible(t.Reflect)) {
Object.defineProperty(t.Reflect, d, {
enumerable: false,
configurable: false,
writable: false,
value: e,
});
}
return e;
})();
var m = (function (e) {
var t = new f();
var r = {
isProviderFor: function (e, r) {
var n = t.get(e);
return !T(n) && n.has(r);
},
OrdinaryDefineOwnMetadata: function (e, t, r, i) {
n(r, i, true).set(e, t);
},
OrdinaryHasOwnMetadata: function (e, t, r) {
var i = n(t, r, false);
return !T(i) && B(i.has(e));
},
OrdinaryGetOwnMetadata: function (e, t, r) {
var i = n(t, r, false);
if (!T(i)) {
return i.get(e);
}
},
OrdinaryOwnMetadataKeys: function (e, t) {
var r = [];
var i = n(e, t, false);
if (T(i)) {
return r;
}
var o = P(i.keys());
var s = 0;
while (true) {
var a = j(o);
if (!a) {
r.length = s;
return r;
}
var c = V(a);
try {
r[s] = c;
} catch (e) {
try {
L(o);
} finally {
throw e;
}
}
s++;
}
},
OrdinaryDeleteMetadata: function (e, r, i) {
var o = n(r, i, false);
if (T(o)) {
return false;
}
if (!o.delete(e)) {
return false;
}
if (o.size === 0) {
var s = t.get(r);
if (!T(s)) {
s.delete(i);
if (s.size === 0) {
t.delete(s);
}
}
}
return true;
},
};
y.registerProvider(r);
return r;
function n(n, i, o) {
var s = t.get(n);
var a = false;
if (T(s)) {
if (!o) {
return;
}
s = new p();
t.set(n, s);
a = true;
}
var c = s.get(i);
if (T(c)) {
if (!o) {
return;
}
c = new p();
s.set(i, c);
if (!e.setProvider(n, i, r)) {
s.delete(i);
if (a) {
t.delete(n);
}
throw new Error("Wrong provider for target.");
}
}
return c;
}
})(y);
function g(e, t, r) {
if (v(e, t, r)) {
return true;
}
var n = F(t);
return !O(n) && g(e, n, r);
}
function v(e, t, r) {
var n = M(t, r, false);
return !T(n) && B(n.OrdinaryHasOwnMetadata(e, t, r));
}
function b(e, t, r) {
if (v(e, t, r)) {
return E(e, t, r);
}
var n = F(t);
if (O(n)) {
return undefined;
} else {
return b(e, n, r);
}
}
function E(e, t, r) {
var n = M(t, r, false);
if (!T(n)) {
return n.OrdinaryGetOwnMetadata(e, t, r);
}
}
function w(e, t, r, n) {
M(r, n, true).OrdinaryDefineOwnMetadata(e, t, r, n);
}
function S(e, t) {
var r = A(e, t);
var n = F(e);
if (n === null) {
return r;
}
var i = S(n, t);
if (i.length <= 0) {
return r;
}
if (r.length <= 0) {
return i;
}
var o = new h();
var s = [];
for (var a = 0, c = r; a < c.length; a++) {
var l = c[a];
if (!o.has(l)) {
o.add(l);
s.push(l);
}
}
for (var u = 0, p = i; u < p.length; u++) {
l = p[u];
if (!o.has(l)) {
o.add(l);
s.push(l);
}
}
return s;
}
function A(e, t) {
var r = M(e, t, false);
if (r) {
return r.OrdinaryOwnMetadataKeys(e, t);
} else {
return [];
}
}
function N(e) {
if (e === null) {
return 1;
}
switch (typeof e) {
case "undefined":
return 0;
case "boolean":
return 2;
case "string":
return 3;
case "symbol":
return 4;
case "number":
return 5;
case "object":
if (e === null) {
return 1;
} else {
return 6;
}
default:
return 6;
}
}
function T(e) {
return e === undefined;
}
function O(e) {
return e === null;
}
function I(e) {
if (typeof e == "object") {
return e !== null;
} else {
return typeof e == "function";
}
}
function k(e, t) {
switch (N(e)) {
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
return e;
}
var r = D(e, i);
if (r !== undefined) {
var n = r.call(e, "string");
if (I(n)) {
throw new TypeError();
}
return n;
}
return (function (e) {
var t;
var r;
var n = e.toString;
if (R(n) && !I((r = n.call(e)))) {
return r;
}
if (R((t = e.valueOf)) && !I((r = t.call(e)))) {
return r;
}
throw new TypeError();
})(e);
}
function B(e) {
return !!e;
}
function x(e) {
var t = k(e);
if (typeof t == "symbol") {
return t;
} else {
return (function (e) {
return "" + e;
})(t);
}
}
function C(e) {
if (Array.isArray) {
return Array.isArray(e);
} else if (e instanceof Object) {
return e instanceof Array;
} else {
return Object.prototype.toString.call(e) === "[object Array]";
}
}
function R(e) {
return typeof e == "function";
}
function _(e) {
return typeof e == "function";
}
function U(e, t) {
return e === t || (e != e && t != t);
}
function D(e, t) {
var r = e[t];
if (r != null) {
if (!R(r)) {
throw new TypeError();
}
return r;
}
}
function P(e) {
var t = D(e, o);
if (!R(t)) {
throw new TypeError();
}
var r = t.call(e);
if (!I(r)) {
throw new TypeError();
}
return r;
}
function V(e) {
return e.value;
}
function j(e) {
var t = e.next();
return !t.done && t;
}
function L(e) {
var t = e.return;
if (t) {
t.call(e);
}
}
function F(e) {
var t = Object.getPrototypeOf(e);
if (typeof e != "function" || e === u) {
return t;
}
if (t !== u) {
return t;
}
var r = e.prototype;
var n = r && Object.getPrototypeOf(r);
if (n == null || n === Object.prototype) {
return t;
}
var i = n.constructor;
if (typeof i != "function" || i === e) {
return t;
} else {
return i;
}
}
function M(e, t, r) {
var n = y.getProvider(e, t);
if (!T(n)) {
return n;
}
if (r) {
if (y.setProvider(e, t, m)) {
return m;
}
throw new Error("Illegal state.");
}
}
function H(e) {
e.__ = undefined;
delete e.__;
return e;
}
e("decorate", function (e, t, r, n) {
if (T(r)) {
if (!C(e)) {
throw new TypeError();
}
if (!_(t)) {
throw new TypeError();
}
return (function (e, t) {
for (var r = e.length - 1; r >= 0; --r) {
var n = (0, e[r])(t);
if (!T(n) && !O(n)) {
if (!_(n)) {
throw new TypeError();
}
t = n;
}
}
return t;
})(e, t);
}
if (!C(e)) {
throw new TypeError();
}
if (!I(t)) {
throw new TypeError();
}
if (!I(n) && !T(n) && !O(n)) {
throw new TypeError();
}
if (O(n)) {
n = undefined;
}
return (function (e, t, r, n) {
for (var i = e.length - 1; i >= 0; --i) {
var o = (0, e[i])(t, r, n);
if (!T(o) && !O(o)) {
if (!I(o)) {
throw new TypeError();
}
n = o;
}
}
return n;
})(e, t, (r = x(r)), n);
});
e("metadata", function (e, t) {
return function (r, n) {
if (!I(r)) {
throw new TypeError();
}
if (
!T(n) &&
!(function (e) {
switch (N(e)) {
case 3:
case 4:
return true;
default:
return false;
}
})(n)
) {
throw new TypeError();
}
w(e, t, r, n);
};
});
e("defineMetadata", function (e, t, r, n) {
if (!I(r)) {
throw new TypeError();
}
if (!T(n)) {
n = x(n);
}
return w(e, t, r, n);
});
e("hasMetadata", function (e, t, r) {
if (!I(t)) {
throw new TypeError();
}
if (!T(r)) {
r = x(r);
}
return g(e, t, r);
});
e("hasOwnMetadata", function (e, t, r) {
if (!I(t)) {
throw new TypeError();
}
if (!T(r)) {
r = x(r);
}
return v(e, t, r);
});
e("getMetadata", function (e, t, r) {
if (!I(t)) {
throw new TypeError();
}
if (!T(r)) {
r = x(r);
}
return b(e, t, r);
});
e("getOwnMetadata", function (e, t, r) {
if (!I(t)) {
throw new TypeError();
}
if (!T(r)) {
r = x(r);
}
return E(e, t, r);
});
e("getMetadataKeys", function (e, t) {
if (!I(e)) {
throw new TypeError();
}
if (!T(t)) {
t = x(t);
}
return S(e, t);
});
e("getOwnMetadataKeys", function (e, t) {
if (!I(e)) {
throw new TypeError();
}
if (!T(t)) {
t = x(t);
}
return A(e, t);
});
e("deleteMetadata", function (e, t, r) {
if (!I(t)) {
throw new TypeError();
}
if (!T(r)) {
r = x(r);
}
if (!I(t)) {
throw new TypeError();
}
if (!T(r)) {
r = x(r);
}
var n = M(t, r, false);
return !T(n) && n.OrdinaryDeleteMetadata(e, t, r);
});
})(r, t);
if (t.Reflect === undefined) {
t.Reflect = e;
}
})();
})((Rr ||= {}));
class _r {
static isArrayBuffer(e) {
return Object.prototype.toString.call(e) === "[object ArrayBuffer]";
}
static toArrayBuffer(e) {
if (this.isArrayBuffer(e)) {
return e;
} else if (
e.byteLength === e.buffer.byteLength ||
(e.byteOffset === 0 && e.byteLength === e.buffer.byteLength)
) {
return e.buffer;
} else {
return this.toUint8Array(e.buffer).slice(
e.byteOffset,
e.byteOffset + e.byteLength,
).buffer;
}
}
static toUint8Array(e) {
return this.toView(e, Uint8Array);
}
static toView(e, t) {
if (e.constructor === t) {
return e;
}
if (this.isArrayBuffer(e)) {
return new t(e);
}
if (this.isArrayBufferView(e)) {
return new t(e.buffer, e.byteOffset, e.byteLength);
}
throw new TypeError(
"The provided value is not of type '(ArrayBuffer or ArrayBufferView)'",
);
}
static isBufferSource(e) {
return this.isArrayBufferView(e) || this.isArrayBuffer(e);
}
static isArrayBufferView(e) {
return ArrayBuffer.isView(e) || (e && this.isArrayBuffer(e.buffer));
}
static isEqual(e, t) {
const r = _r.toUint8Array(e);
const n = _r.toUint8Array(t);
if (r.length !== n.byteLength) {
return false;
}
for (let e = 0; e < r.length; e++) {
if (r[e] !== n[e]) {
return false;
}
}
return true;
}
static concat(...e) {
let t;
t =
!Array.isArray(e[0]) || e[1] instanceof Function
? Array.isArray(e[0]) && e[1] instanceof Function
? e[0]
: e[e.length - 1] instanceof Function
? e.slice(0, e.length - 1)
: e
: e[0];
let r = 0;
for (const e of t) {
r += e.byteLength;
}
const n = new Uint8Array(r);
let i = 0;
for (const e of t) {
const t = this.toUint8Array(e);
n.set(t, i);
i += t.length;
}
if (e[e.length - 1] instanceof Function) {
return this.toView(n, e[e.length - 1]);
} else {
return n.buffer;
}
}
}
const Ur = "string";
const Dr = /^[0-9a-f\s]+$/i;
const Pr = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/;
const Vr = /^[a-zA-Z0-9-_]+$/;
class jr {
static fromString(e) {
const t = unescape(encodeURIComponent(e));
const r = new Uint8Array(t.length);
for (let e = 0; e < t.length; e++) {
r[e] = t.charCodeAt(e);
}
return r.buffer;
}
static toString(e) {
const t = _r.toUint8Array(e);
let r = "";
for (let e = 0; e < t.length; e++) {
r += String.fromCharCode(t[e]);
}
return decodeURIComponent(escape(r));
}
}
class Lr {
static toString(e, t = false) {
const r = _r.toArrayBuffer(e);
const n = new DataView(r);
let i = "";
for (let e = 0; e < r.byteLength; e += 2) {
const r = n.getUint16(e, t);
i += String.fromCharCode(r);
}
return i;
}
static fromString(e, t = false) {
const r = new ArrayBuffer(e.length * 2);
const n = new DataView(r);
for (let r = 0; r < e.length; r++) {
n.setUint16(r * 2, e.charCodeAt(r), t);
}
return r;
}
}
class Fr {
static isHex(e) {
return typeof e === Ur && Dr.test(e);
}
static isBase64(e) {
return typeof e === Ur && Pr.test(e);
}
static isBase64Url(e) {
return typeof e === Ur && Vr.test(e);
}
static ToString(e, t = "utf8") {
const r = _r.toUint8Array(e);
switch (t.toLowerCase()) {
case "utf8":
return this.ToUtf8String(r);
case "binary":
return this.ToBinary(r);
case "hex":
return this.ToHex(r);
case "base64":
return this.ToBase64(r);
case "base64url":
return this.ToBase64Url(r);
case "utf16le":
return Lr.toString(r, true);
case "utf16":
case "utf16be":
return Lr.toString(r);
default:
throw new Error(`Unknown type of encoding '${t}'`);
}
}
static FromString(e, t = "utf8") {
if (!e) {
return new ArrayBuffer(0);
}
switch (t.toLowerCase()) {
case "utf8":
return this.FromUtf8String(e);
case "binary":
return this.FromBinary(e);
case "hex":
return this.FromHex(e);
case "base64":
return this.FromBase64(e);
case "base64url":
return this.FromBase64Url(e);
case "utf16le":
return Lr.fromString(e, true);
case "utf16":
case "utf16be":
return Lr.fromString(e);
default:
throw new Error(`Unknown type of encoding '${t}'`);
}
}
static ToBase64(e) {
const t = _r.toUint8Array(e);
if (typeof btoa != "undefined") {
const e = this.ToString(t, "binary");
return btoa(e);
}
return Buffer.from(t).toString("base64");
}
static FromBase64(e) {
const t = this.formatString(e);
if (!t) {
return new ArrayBuffer(0);
}
if (!Fr.isBase64(t)) {
throw new TypeError("Argument 'base64Text' is not Base64 encoded");
}
if (typeof atob != "undefined") {
return this.FromBinary(atob(t));
} else {
return new Uint8Array(Buffer.from(t, "base64")).buffer;
}
}
static FromBase64Url(e) {
const t = this.formatString(e);
if (!t) {
return new ArrayBuffer(0);
}
if (!Fr.isBase64Url(t)) {
throw new TypeError("Argument 'base64url' is not Base64Url encoded");
}
return this.FromBase64(
this.Base64Padding(t.replace(/\-/g, "+").replace(/\_/g, "/")),
);
}
static ToBase64Url(e) {
return this.ToBase64(e)
.replace(/\+/g, "-")
.replace(/\//g, "_")
.replace(/\=/g, "");
}
static FromUtf8String(e, t = Fr.DEFAULT_UTF8_ENCODING) {
switch (t) {
case "ascii":
return this.FromBinary(e);
case "utf8":
return jr.fromString(e);
case "utf16":
case "utf16be":
return Lr.fromString(e);
case "utf16le":
case "usc2":
return Lr.fromString(e, true);
default:
throw new Error(`Unknown type of encoding '${t}'`);
}
}
static ToUtf8String(e, t = Fr.DEFAULT_UTF8_ENCODING) {
switch (t) {
case "ascii":
return this.ToBinary(e);
case "utf8":
return jr.toString(e);
case "utf16":
case "utf16be":
return Lr.toString(e);
case "utf16le":
case "usc2":
return Lr.toString(e, true);
default:
throw new Error(`Unknown type of encoding '${t}'`);
}
}
static FromBinary(e) {
const t = e.length;
const r = new Uint8Array(t);
for (let n = 0; n < t; n++) {
r[n] = e.charCodeAt(n);
}
return r.buffer;
}
static ToBinary(e) {
const t = _r.toUint8Array(e);
let r = "";
for (let e = 0; e < t.length; e++) {
r += String.fromCharCode(t[e]);
}
return r;
}
static ToHex(e) {
const t = _r.toUint8Array(e);
let r = "";
const n = t.length;
for (let e = 0; e < n; e++) {
const n = t[e];
if (n < 16) {
r += "0";
}
r += n.toString(16);
}
return r;
}
static FromHex(e) {
let t = this.formatString(e);
if (!t) {
return new ArrayBuffer(0);
}
if (!Fr.isHex(t)) {
throw new TypeError("Argument 'hexString' is not HEX encoded");
}
if (t.length % 2) {
t = `0${t}`;
}
const r = new Uint8Array(t.length / 2);
for (let e = 0; e < t.length; e += 2) {
const n = t.slice(e, e + 2);
r[e / 2] = parseInt(n, 16);
}
return r.buffer;
}
static ToUtf16String(e, t = false) {
return Lr.toString(e, t);
}
static FromUtf16String(e, t = false) {
return Lr.fromString(e, t);
}
static Base64Padding(e) {
const t = 4 - (e.length % 4);
if (t < 4) {
for (let r = 0; r < t; r++) {
e += "=";
}
}
return e;
}
static formatString(e) {
return (e == null ? undefined : e.replace(/[\n\r\t ]/g, "")) || "";
}
}
function Mr(e, t) {
if (!e || !t) {
return false;
}
if (e.byteLength !== t.byteLength) {
return false;
}
const r = new Uint8Array(e);
const n = new Uint8Array(t);
for (let t = 0; t < e.byteLength; t++) {
if (r[t] !== n[t]) {
return false;
}
}
return true;
}
function Hr(e, t) {
let r = 0;
if (e.length === 1) {
return e[0];
}
for (let n = e.length - 1; n >= 0; n--) {
r += e[e.length - 1 - n] * Math.pow(2, t * n);
}
return r;
}
function Kr(e, t, r = -1) {
const n = r;
let i = e;
let o = 0;
let s = Math.pow(2, t);
for (let r = 1; r < 8; r++) {
if (e < s) {
let e;
if (n < 0) {
e = new ArrayBuffer(r);
o = r;
} else {
if (n < r) {
return new ArrayBuffer(0);
}
e = new ArrayBuffer(n);
o = n;
}
const s = new Uint8Array(e);
for (let e = r - 1; e >= 0; e--) {
const r = Math.pow(2, e * t);
s[o - e - 1] = Math.floor(i / r);
i -= s[o - e - 1] * r;
}
return e;
}
s *= Math.pow(2, t);
}
return new ArrayBuffer(0);
}
function $r(...e) {
let t = 0;
let r = 0;
for (const r of e) {
t += r.length;
}
const n = new ArrayBuffer(t);
const i = new Uint8Array(n);
for (const t of e) {
i.set(t, r);
r += t.length;
}
return i;
}
function Gr() {
const e = new Uint8Array(this.valueHex);
if (this.valueHex.byteLength >= 2) {
const t = e[0] === 255 && e[1] & 128;
const r = e[0] === 0 && !(e[1] & 128);
if (t || r) {
this.warnings.push("Needlessly long format");
}
}
const t = new ArrayBuffer(this.valueHex.byteLength);
const r = new Uint8Array(t);
for (let e = 0; e < this.valueHex.byteLength; e++) {
r[e] = 0;
}
r[0] = e[0] & 128;
const n = Hr(r, 8);
const i = new ArrayBuffer(this.valueHex.byteLength);
const o = new Uint8Array(i);
for (let t = 0; t < this.valueHex.byteLength; t++) {
o[t] = e[t];
}
o[0] &= 127;
return Hr(o, 8) - n;
}
function Wr(e, t) {
const r = e.toString(10);
if (t < r.length) {
return "";
}
const n = t - r.length;
const i = new Array(n);
for (let e = 0; e < n; e++) {
i[e] = "0";
}
return i.join("").concat(r);
}
function Yr() {
if (typeof BigInt == "undefined") {
throw new Error(
"BigInt is not defined. Your environment doesn't implement BigInt.",
);
}
}
function Jr(e) {
let t = 0;
let r = 0;
for (let r = 0; r < e.length; r++) {
t += e[r].byteLength;
}
const n = new Uint8Array(t);
for (let t = 0; t < e.length; t++) {
const i = e[t];
n.set(new Uint8Array(i), r);
r += i.byteLength;
}
return n.buffer;
}
function zr(e, t, r, n) {
if (t instanceof Uint8Array) {
if (t.byteLength) {
if (r < 0) {
e.error = "Wrong parameter: inputOffset less than zero";
return false;
} else if (n < 0) {
e.error = "Wrong parameter: inputLength less than zero";
return false;
} else {
return (
!(t.byteLength - r - n < 0) ||
!((e.error =
"End of input reached before message was fully decoded (inconsistent offset and length values)"),
1)
);
}
} else {
e.error = "Wrong parameter: inputBuffer has zero length";
return false;
}
} else {
e.error = "Wrong parameter: inputBuffer must be 'Uint8Array'";
return false;
}
}
Fr.DEFAULT_UTF8_ENCODING = "utf8";
class Xr {
constructor() {
this.items = [];
}
write(e) {
this.items.push(e);
}
final() {
return Jr(this.items);
}
}
const qr = [new Uint8Array([1])];
const Qr = "0123456789";
const Zr = "name";
const en = "valueHexView";
const tn = "";
const rn = new ArrayBuffer(0);
const nn = new Uint8Array(0);
const on = "EndOfContent";
const sn = "OCTET STRING";
const an = "BIT STRING";
function cn(e) {
var t;
t = class extends e {
get valueHex() {
return this.valueHexView.slice().buffer;
}
set valueHex(e) {
this.valueHexView = new Uint8Array(e);
}
constructor(...e) {
var t;
super(...e);
const r = e[0] || {};
this.isHexOnly = (t = r.isHexOnly) !== null && t !== undefined && t;
this.valueHexView = r.valueHex ? _r.toUint8Array(r.valueHex) : nn;
}
fromBER(e, t, r) {
const n = e instanceof ArrayBuffer ? new Uint8Array(e) : e;
if (!zr(this, n, t, r)) {
return -1;
}
const i = t + r;
this.valueHexView = n.subarray(t, i);
if (this.valueHexView.length) {
this.blockLength = r;
return i;
} else {
this.warnings.push("Zero buffer length");
return t;
}
}
toBER(e = false) {
if (this.isHexOnly) {
if (e) {
return new ArrayBuffer(this.valueHexView.byteLength);
} else if (
this.valueHexView.byteLength === this.valueHexView.buffer.byteLength
) {
return this.valueHexView.buffer;
} else {
return this.valueHexView.slice().buffer;
}
} else {
this.error = "Flag 'isHexOnly' is not set, abort";
return rn;
}
}
toJSON() {
return {
...super.toJSON(),
isHexOnly: this.isHexOnly,
valueHex: Fr.ToHex(this.valueHexView),
};
}
};
t.NAME = "hexBlock";
return t;
}
class ln {
static blockName() {
return this.NAME;
}
get valueBeforeDecode() {
return this.valueBeforeDecodeView.slice().buffer;
}
set valueBeforeDecode(e) {
this.valueBeforeDecodeView = new Uint8Array(e);
}
constructor({
blockLength: e = 0,
error: t = "",
warnings: r = [],
valueBeforeDecode: n = nn,
} = {}) {
this.blockLength = e;
this.error = t;
this.warnings = r;
this.valueBeforeDecodeView = _r.toUint8Array(n);
}
toJSON() {
return {
blockName: this.constructor.NAME,
blockLength: this.blockLength,
error: this.error,
warnings: this.warnings,
valueBeforeDecode: Fr.ToHex(this.valueBeforeDecodeView),
};
}
}
ln.NAME = "baseBlock";
class un extends ln {
fromBER(e, t, r) {
throw TypeError(
"User need to make a specific function in a class which extends 'ValueBlock'",
);
}
toBER(e, t) {
throw TypeError(
"User need to make a specific function in a class which extends 'ValueBlock'",
);
}
}
un.NAME = "valueBlock";
class pn extends cn(ln) {
constructor({ idBlock: e = {} } = {}) {
var t;
var i;
super();
if (e) {
this.isHexOnly = (t = e.isHexOnly) !== null && t !== undefined && t;
this.valueHexView = e.valueHex ? _r.toUint8Array(e.valueHex) : nn;
this.tagClass = e.tagClass ?? -1;
this.tagNumber = e.tagNumber ?? -1;
this.isConstructed =
(i = e.isConstructed) !== null && i !== undefined && i;
} else {
this.tagClass = -1;
this.tagNumber = -1;
this.isConstructed = false;
}
}
toBER(e = false) {
let t = 0;
switch (this.tagClass) {
case 1:
t |= 0;
break;
case 2:
t |= 64;
break;
case 3:
t |= 128;
break;
case 4:
t |= 192;
break;
default:
this.error = "Unknown tag class";
return rn;
}
if (this.isConstructed) {
t |= 32;
}
if (this.tagNumber < 31 && !this.isHexOnly) {
const r = new Uint8Array(1);
if (!e) {
let e = this.tagNumber;
e &= 31;
t |= e;
r[0] = t;
}
return r.buffer;
}
if (!this.isHexOnly) {
const r = Kr(this.tagNumber, 7);
const n = new Uint8Array(r);
const i = r.byteLength;
const o = new Uint8Array(i + 1);
o[0] = t | 31;
if (!e) {
for (let e = 0; e < i - 1; e++) {
o[e + 1] = n[e] | 128;
}
o[i] = n[i - 1];
}
return o.buffer;
}
const r = new Uint8Array(this.valueHexView.byteLength + 1);
r[0] = t | 31;
if (!e) {
const e = this.valueHexView;
for (let t = 0; t < e.length - 1; t++) {
r[t + 1] = e[t] | 128;
}
r[this.valueHexView.byteLength] = e[e.length - 1];
}
return r.buffer;
}
fromBER(e, t, r) {
const n = _r.toUint8Array(e);
if (!zr(this, n, t, r)) {
return -1;
}
const i = n.subarray(t, t + r);
if (i.length === 0) {
this.error = "Zero buffer length";
return -1;
}
switch (i[0] & 192) {
case 0:
this.tagClass = 1;
break;
case 64:
this.tagClass = 2;
break;
case 128:
this.tagClass = 3;
break;
case 192:
this.tagClass = 4;
break;
default:
this.error = "Unknown tag class";
return -1;
}
this.isConstructed = !(~i[0] & 32);
this.isHexOnly = false;
const o = i[0] & 31;
if (o !== 31) {
this.tagNumber = o;
this.blockLength = 1;
} else {
let e = 1;
let t = (this.valueHexView = new Uint8Array(255));
let r = 255;
while (i[e] & 128) {
t[e - 1] = i[e] & 127;
e++;
if (e >= i.length) {
this.error =
"End of input reached before message was fully decoded";
return -1;
}
if (e === r) {
r += 255;
const e = new Uint8Array(r);
for (let r = 0; r < t.length; r++) {
e[r] = t[r];
}
t = this.valueHexView = new Uint8Array(r);
}
}
this.blockLength = e + 1;
t[e - 1] = i[e] & 127;
const n = new Uint8Array(e);
for (let r = 0; r < e; r++) {
n[r] = t[r];
}
t = this.valueHexView = new Uint8Array(e);
t.set(n);
if (this.blockLength <= 9) {
this.tagNumber = Hr(t, 7);
} else {
this.isHexOnly = true;
this.warnings.push("Tag too long, represented as hex-coded");
}
}
if (this.tagClass === 1 && this.isConstructed) {
switch (this.tagNumber) {
case 1:
case 2:
case 5:
case 6:
case 9:
case 13:
case 14:
case 23:
case 24:
case 31:
case 32:
case 33:
case 34:
this.error = "Constructed encoding used for primitive type";
return -1;
}
}
return t + this.blockLength;
}
toJSON() {
return {
...super.toJSON(),
tagClass: this.tagClass,
tagNumber: this.tagNumber,
isConstructed: this.isConstructed,
};
}
}
pn.NAME = "identificationBlock";
class hn extends ln {
constructor({ lenBlock: e = {} } = {}) {
var t;
var r;
super();
this.isIndefiniteForm =
(t = e.isIndefiniteForm) !== null && t !== undefined && t;
this.longFormUsed = (r = e.longFormUsed) !== null && r !== undefined && r;
this.length = e.length ?? 0;
}
fromBER(e, t, r) {
const n = _r.toUint8Array(e);
if (!zr(this, n, t, r)) {
return -1;
}
const i = n.subarray(t, t + r);
if (i.length === 0) {
this.error = "Zero buffer length";
return -1;
}
if (i[0] === 255) {
this.error = "Length block 0xFF is reserved by standard";
return -1;
}
this.isIndefiniteForm = i[0] === 128;
if (this.isIndefiniteForm) {
this.blockLength = 1;
return t + this.blockLength;
}
this.longFormUsed = !!(i[0] & 128);
if (this.longFormUsed === false) {
this.length = i[0];
this.blockLength = 1;
return t + this.blockLength;
}
const o = i[0] & 127;
if (o > 8) {
this.error = "Too big integer";
return -1;
}
if (o + 1 > i.length) {
this.error = "End of input reached before message was fully decoded";
return -1;
}
const s = t + 1;
const a = n.subarray(s, s + o);
if (a[o - 1] === 0) {
this.warnings.push("Needlessly long encoded length");
}
this.length = Hr(a, 8);
if (this.longFormUsed && this.length <= 127) {
this.warnings.push("Unnecessary usage of long length form");
}
this.blockLength = o + 1;
return t + this.blockLength;
}
toBER(e = false) {
let t;
let r;
if (this.length > 127) {
this.longFormUsed = true;
}
if (this.isIndefiniteForm) {
t = new ArrayBuffer(1);
if (e === false) {
r = new Uint8Array(t);
r[0] = 128;
}
return t;
}
if (this.longFormUsed) {
const n = Kr(this.length, 8);
if (n.byteLength > 127) {
this.error = "Too big length";
return rn;
}
t = new ArrayBuffer(n.byteLength + 1);
if (e) {
return t;
}
const i = new Uint8Array(n);
r = new Uint8Array(t);
r[0] = n.byteLength | 128;
for (let e = 0; e < n.byteLength; e++) {
r[e + 1] = i[e];
}
return t;
}
t = new ArrayBuffer(1);
if (e === false) {
r = new Uint8Array(t);
r[0] = this.length;
}
return t;
}
toJSON() {
return {
...super.toJSON(),
isIndefiniteForm: this.isIndefiniteForm,
longFormUsed: this.longFormUsed,
length: this.length,
};
}
}
hn.NAME = "lengthBlock";
const fn = {};
class dn extends ln {
constructor(
{ name: e = "", optional: t = false, primitiveSchema: r, ...n } = {},
i,
) {
super(n);
this.name = e;
this.optional = t;
if (r) {
this.primitiveSchema = r;
}
this.idBlock = new pn(n);
this.lenBlock = new hn(n);
this.valueBlock = i ? new i(n) : new un(n);
}
fromBER(e, t, r) {
const n = this.valueBlock.fromBER(
e,
t,
this.lenBlock.isIndefiniteForm ? r : this.lenBlock.length,
);
if (n === -1) {
this.error = this.valueBlock.error;
return n;
} else {
if (!this.idBlock.error.length) {
this.blockLength += this.idBlock.blockLength;
}
if (!this.lenBlock.error.length) {
this.blockLength += this.lenBlock.blockLength;
}
if (!this.valueBlock.error.length) {
this.blockLength += this.valueBlock.blockLength;
}
return n;
}
}
toBER(e, t) {
const r = t || new Xr();
if (!t) {
yn(this);
}
const n = this.idBlock.toBER(e);
r.write(n);
if (this.lenBlock.isIndefiniteForm) {
r.write(new Uint8Array([128]).buffer);
this.valueBlock.toBER(e, r);
r.write(new ArrayBuffer(2));
} else {
const t = this.valueBlock.toBER(e);
this.lenBlock.length = t.byteLength;
const n = this.lenBlock.toBER(e);
r.write(n);
r.write(t);
}
if (t) {
return rn;
} else {
return r.final();
}
}
toJSON() {
const e = {
...super.toJSON(),
idBlock: this.idBlock.toJSON(),
lenBlock: this.lenBlock.toJSON(),
valueBlock: this.valueBlock.toJSON(),
name: this.name,
optional: this.optional,
};
if (this.primitiveSchema) {
e.primitiveSchema = this.primitiveSchema.toJSON();
}
return e;
}
toString(e = "ascii") {
if (e === "ascii") {
return this.onAsciiEncoding();
} else {
return Fr.ToHex(this.toBER());
}
}
onAsciiEncoding() {
return `${this.constructor.NAME} : ${Fr.ToHex(this.valueBlock.valueBeforeDecodeView)}`;
}
isEqual(e) {
return (
this === e ||
(e instanceof this.constructor &&
(function (e, t) {
if (e.byteLength !== t.byteLength) {
return false;
}
const r = new Uint8Array(e);
const n = new Uint8Array(t);
for (let e = 0; e < r.length; e++) {
if (r[e] !== n[e]) {
return false;
}
}
return true;
})(this.toBER(), e.toBER()))
);
}
}
function yn(e) {
if (e instanceof fn.Constructed) {
for (const t of e.valueBlock.value) {
if (yn(t)) {
e.lenBlock.isIndefiniteForm = true;
}
}
}
return !!e.lenBlock?.isIndefiniteForm;
}
dn.NAME = "BaseBlock";
class mn extends dn {
getValue() {
return this.valueBlock.value;
}
setValue(e) {
this.valueBlock.value = e;
}
constructor({ value: e = "", ...t } = {}, r) {
super(t, r);
if (e) {
this.fromString(e);
}
}
fromBER(e, t, r) {
const n = this.valueBlock.fromBER(
e,
t,
this.lenBlock.isIndefiniteForm ? r : this.lenBlock.length,
);
if (n === -1) {
this.error = this.valueBlock.error;
return n;
} else {
this.fromBuffer(this.valueBlock.valueHexView);
if (!this.idBlock.error.length) {
this.blockLength += this.idBlock.blockLength;
}
if (!this.lenBlock.error.length) {
this.blockLength += this.lenBlock.blockLength;
}
if (!this.valueBlock.error.length) {
this.blockLength += this.valueBlock.blockLength;
}
return n;
}
}
onAsciiEncoding() {
return `${this.constructor.NAME} : '${this.valueBlock.value}'`;
}
}
mn.NAME = "BaseStringBlock";
class gn extends cn(un) {
constructor({ isHexOnly: e = true, ...t } = {}) {
super(t);
this.isHexOnly = e;
}
}
var vn;
var bn;
var En;
var wn;
var Sn;
gn.NAME = "PrimitiveValueBlock";
class An extends dn {
constructor(e = {}) {
super(e, gn);
this.idBlock.isConstructed = false;
}
}
function Nn(e, t = 0, r = e.length) {
const n = t;
let i = new dn({}, un);
const o = new ln();
if (!zr(o, e, t, r)) {
i.error = o.error;
return {
offset: -1,
result: i,
};
}
if (!e.subarray(t, t + r).length) {
i.error = "Zero buffer length";
return {
offset: -1,
result: i,
};
}
let s = i.idBlock.fromBER(e, t, r);
if (i.idBlock.warnings.length) {
i.warnings.concat(i.idBlock.warnings);
}
if (s === -1) {
i.error = i.idBlock.error;
return {
offset: -1,
result: i,
};
}
t = s;
r -= i.idBlock.blockLength;
s = i.lenBlock.fromBER(e, t, r);
if (i.lenBlock.warnings.length) {
i.warnings.concat(i.lenBlock.warnings);
}
if (s === -1) {
i.error = i.lenBlock.error;
return {
offset: -1,
result: i,
};
}
t = s;
r -= i.lenBlock.blockLength;
if (!i.idBlock.isConstructed && i.lenBlock.isIndefiniteForm) {
i.error = "Indefinite length form used for primitive encoding form";
return {
offset: -1,
result: i,
};
}
let a = dn;
if (i.idBlock.tagClass === 1) {
if (i.idBlock.tagNumber >= 37 && i.idBlock.isHexOnly === false) {
i.error = "UNIVERSAL 37 and upper tags are reserved by ASN.1 standard";
return {
offset: -1,
result: i,
};
}
switch (i.idBlock.tagNumber) {
case 0:
if (i.idBlock.isConstructed && i.lenBlock.length > 0) {
i.error = "Type [UNIVERSAL 0] is reserved";
return {
offset: -1,
result: i,
};
}
a = fn.EndOfContent;
break;
case 1:
a = fn.Boolean;
break;
case 2:
a = fn.Integer;
break;
case 3:
a = fn.BitString;
break;
case 4:
a = fn.OctetString;
break;
case 5:
a = fn.Null;
break;
case 6:
a = fn.ObjectIdentifier;
break;
case 10:
a = fn.Enumerated;
break;
case 12:
a = fn.Utf8String;
break;
case 13:
a = fn.RelativeObjectIdentifier;
break;
case 14:
a = fn.TIME;
break;
case 15:
i.error = "[UNIVERSAL 15] is reserved by ASN.1 standard";
return {
offset: -1,
result: i,
};
case 16:
a = fn.Sequence;
break;
case 17:
a = fn.Set;
break;
case 18:
a = fn.NumericString;
break;
case 19:
a = fn.PrintableString;
break;
case 20:
a = fn.TeletexString;
break;
case 21:
a = fn.VideotexString;
break;
case 22:
a = fn.IA5String;
break;
case 23:
a = fn.UTCTime;
break;
case 24:
a = fn.GeneralizedTime;
break;
case 25:
a = fn.GraphicString;
break;
case 26:
a = fn.VisibleString;
break;
case 27:
a = fn.GeneralString;
break;
case 28:
a = fn.UniversalString;
break;
case 29:
a = fn.CharacterString;
break;
case 30:
a = fn.BmpString;
break;
case 31:
a = fn.DATE;
break;
case 32:
a = fn.TimeOfDay;
break;
case 33:
a = fn.DateTime;
break;
case 34:
a = fn.Duration;
break;
default: {
const e = i.idBlock.isConstructed
? new fn.Constructed()
: new fn.Primitive();
e.idBlock = i.idBlock;
e.lenBlock = i.lenBlock;
e.warnings = i.warnings;
i = e;
}
}
} else {
a = i.idBlock.isConstructed ? fn.Constructed : fn.Primitive;
}
i = (function (e, t) {
if (e instanceof t) {
return e;
}
const r = new t();
r.idBlock = e.idBlock;
r.lenBlock = e.lenBlock;
r.warnings = e.warnings;
r.valueBeforeDecodeView = e.valueBeforeDecodeView;
return r;
})(i, a);
s = i.fromBER(e, t, i.lenBlock.isIndefiniteForm ? r : i.lenBlock.length);
i.valueBeforeDecodeView = e.subarray(n, n + i.blockLength);
return {
offset: s,
result: i,
};
}
function Tn(e) {
if (!e.byteLength) {
const e = new dn({}, un);
e.error = "Input buffer has zero length";
return {
offset: -1,
result: e,
};
}
return Nn(_r.toUint8Array(e).slice(), 0, e.byteLength);
}
vn = An;
fn.Primitive = vn;
An.NAME = "PRIMITIVE";
class On extends un {
constructor({ value: e = [], isIndefiniteForm: t = false, ...r } = {}) {
super(r);
this.value = e;
this.isIndefiniteForm = t;
}
fromBER(e, t, r) {
const n = _r.toUint8Array(e);
if (!zr(this, n, t, r)) {
return -1;
}
this.valueBeforeDecodeView = n.subarray(t, t + r);
if (this.valueBeforeDecodeView.length === 0) {
this.warnings.push("Zero buffer length");
return t;
}
let i = t;
while ((this.isIndefiniteForm ? 1 : r) > 0) {
const e = Nn(n, i, r);
if (e.offset === -1) {
this.error = e.result.error;
this.warnings.concat(e.result.warnings);
return -1;
}
i = e.offset;
this.blockLength += e.result.blockLength;
r -= e.result.blockLength;
this.value.push(e.result);
if (this.isIndefiniteForm && e.result.constructor.NAME === on) {
break;
}
}
if (this.isIndefiniteForm) {
if (this.value[this.value.length - 1].constructor.NAME === on) {
this.value.pop();
} else {
this.warnings.push("No EndOfContent block encoded");
}
}
return i;
}
toBER(e, t) {
const r = t || new Xr();
for (let t = 0; t < this.value.length; t++) {
this.value[t].toBER(e, r);
}
if (t) {
return rn;
} else {
return r.final();
}
}
toJSON() {
const e = {
...super.toJSON(),
isIndefiniteForm: this.isIndefiniteForm,
value: [],
};
for (const t of this.value) {
e.value.push(t.toJSON());
}
return e;
}
}
On.NAME = "ConstructedValueBlock";
class In extends dn {
constructor(e = {}) {
super(e, On);
this.idBlock.isConstructed = true;
}
fromBER(e, t, r) {
this.valueBlock.isIndefiniteForm = this.lenBlock.isIndefiniteForm;
const n = this.valueBlock.fromBER(
e,
t,
this.lenBlock.isIndefiniteForm ? r : this.lenBlock.length,
);
if (n === -1) {
this.error = this.valueBlock.error;
return n;
} else {
if (!this.idBlock.error.length) {
this.blockLength += this.idBlock.blockLength;
}
if (!this.lenBlock.error.length) {
this.blockLength += this.lenBlock.blockLength;
}
if (!this.valueBlock.error.length) {
this.blockLength += this.valueBlock.blockLength;
}
return n;
}
}
onAsciiEncoding() {
const e = [];
for (const t of this.valueBlock.value) {
e.push(
t
.toString("ascii")
.split("\n")
.map((e) => ` ${e}`)
.join("\n"),
);
}
const t =
this.idBlock.tagClass === 3
? `[${this.idBlock.tagNumber}]`
: this.constructor.NAME;
if (e.length) {
return `${t} :\n${e.join("\n")}`;
} else {
return `${t} :`;
}
}
}
bn = In;
fn.Constructed = bn;
In.NAME = "CONSTRUCTED";
class kn extends un {
fromBER(e, t, r) {
return t;
}
toBER(e) {
return rn;
}
}
kn.override = "EndOfContentValueBlock";
class Bn extends dn {
constructor(e = {}) {
super(e, kn);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 0;
}
}
En = Bn;
fn.EndOfContent = En;
Bn.NAME = on;
class xn extends dn {
constructor(e = {}) {
super(e, un);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 5;
}
fromBER(e, t, r) {
if (this.lenBlock.length > 0) {
this.warnings.push("Non-zero length of value block for Null type");
}
if (!this.idBlock.error.length) {
this.blockLength += this.idBlock.blockLength;
}
if (!this.lenBlock.error.length) {
this.blockLength += this.lenBlock.blockLength;
}
this.blockLength += r;
if (t + r > e.byteLength) {
this.error =
"End of input reached before message was fully decoded (inconsistent offset and length values)";
return -1;
} else {
return t + r;
}
}
toBER(e, t) {
const r = new ArrayBuffer(2);
if (!e) {
const e = new Uint8Array(r);
e[0] = 5;
e[1] = 0;
}
if (t) {
t.write(r);
}
return r;
}
onAsciiEncoding() {
return `${this.constructor.NAME}`;
}
}
wn = xn;
fn.Null = wn;
xn.NAME = "NULL";
class Cn extends cn(un) {
get value() {
for (const e of this.valueHexView) {
if (e > 0) {
return true;
}
}
return false;
}
set value(e) {
this.valueHexView[0] = e ? 255 : 0;
}
constructor({ value: e, ...t } = {}) {
super(t);
if (t.valueHex) {
this.valueHexView = _r.toUint8Array(t.valueHex);
} else {
this.valueHexView = new Uint8Array(1);
}
if (e) {
this.value = e;
}
}
fromBER(e, t, r) {
const n = _r.toUint8Array(e);
if (zr(this, n, t, r)) {
this.valueHexView = n.subarray(t, t + r);
if (r > 1) {
this.warnings.push("Boolean value encoded in more then 1 octet");
}
this.isHexOnly = true;
Gr.call(this);
this.blockLength = r;
return t + r;
} else {
return -1;
}
}
toBER() {
return this.valueHexView.slice();
}
toJSON() {
return {
...super.toJSON(),
value: this.value,
};
}
}
Cn.NAME = "BooleanValueBlock";
let Rn = class extends dn {
getValue() {
return this.valueBlock.value;
}
setValue(e) {
this.valueBlock.value = e;
}
constructor(e = {}) {
super(e, Cn);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 1;
}
onAsciiEncoding() {
return `${this.constructor.NAME} : ${this.getValue}`;
}
};
Sn = Rn;
fn.Boolean = Sn;
Rn.NAME = "BOOLEAN";
class _n extends cn(On) {
constructor({ isConstructed: e = false, ...t } = {}) {
super(t);
this.isConstructed = e;
}
fromBER(e, t, r) {
let n = 0;
if (this.isConstructed) {
this.isHexOnly = false;
n = On.prototype.fromBER.call(this, e, t, r);
if (n === -1) {
return n;
}
for (let e = 0; e < this.value.length; e++) {
const t = this.value[e].constructor.NAME;
if (t === on) {
if (this.isIndefiniteForm) {
break;
}
this.error =
"EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only";
return -1;
}
if (t !== sn) {
this.error = "OCTET STRING may consists of OCTET STRINGs only";
return -1;
}
}
} else {
this.isHexOnly = true;
n = super.fromBER(e, t, r);
this.blockLength = r;
}
return n;
}
toBER(e, t) {
if (this.isConstructed) {
return On.prototype.toBER.call(this, e, t);
} else if (e) {
return new ArrayBuffer(this.valueHexView.byteLength);
} else {
return this.valueHexView.slice().buffer;
}
}
toJSON() {
return {
...super.toJSON(),
isConstructed: this.isConstructed,
};
}
}
var Un;
_n.NAME = "OctetStringValueBlock";
let Dn = class extends dn {
constructor({ idBlock: e = {}, lenBlock: t = {}, ...r } = {}) {
var n;
if ((n = r.isConstructed) === null || n === undefined) {
r.isConstructed = !!r.value?.length;
}
super(
{
idBlock: {
isConstructed: r.isConstructed,
...e,
},
lenBlock: {
...t,
isIndefiniteForm: !!r.isIndefiniteForm,
},
...r,
},
_n,
);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 4;
}
fromBER(e, t, r) {
this.valueBlock.isConstructed = this.idBlock.isConstructed;
this.valueBlock.isIndefiniteForm = this.lenBlock.isIndefiniteForm;
if (r === 0) {
if (this.idBlock.error.length === 0) {
this.blockLength += this.idBlock.blockLength;
}
if (this.lenBlock.error.length === 0) {
this.blockLength += this.lenBlock.blockLength;
}
return t;
}
if (!this.valueBlock.isConstructed) {
const n = (e instanceof ArrayBuffer ? new Uint8Array(e) : e).subarray(
t,
t + r,
);
try {
if (n.byteLength) {
const e = Nn(n, 0, n.byteLength);
if (e.offset !== -1 && e.offset === r) {
this.valueBlock.value = [e.result];
}
}
} catch {}
}
return super.fromBER(e, t, r);
}
onAsciiEncoding() {
if (
this.valueBlock.isConstructed ||
(this.valueBlock.value && this.valueBlock.value.length)
) {
return In.prototype.onAsciiEncoding.call(this);
} else {
return `${this.constructor.NAME} : ${Fr.ToHex(this.valueBlock.valueHexView)}`;
}
}
getValue() {
if (!this.idBlock.isConstructed) {
return this.valueBlock.valueHexView.slice().buffer;
}
const e = [];
for (const t of this.valueBlock.value) {
if (t instanceof Un) {
e.push(t.valueBlock.valueHexView);
}
}
return _r.concat(e);
}
};
Un = Dn;
fn.OctetString = Un;
Dn.NAME = sn;
class Pn extends cn(On) {
constructor({ unusedBits: e = 0, isConstructed: t = false, ...r } = {}) {
super(r);
this.unusedBits = e;
this.isConstructed = t;
this.blockLength = this.valueHexView.byteLength;
}
fromBER(e, t, r) {
if (!r) {
return t;
}
let n = -1;
if (this.isConstructed) {
n = On.prototype.fromBER.call(this, e, t, r);
if (n === -1) {
return n;
}
for (const e of this.value) {
const t = e.constructor.NAME;
if (t === on) {
if (this.isIndefiniteForm) {
break;
}
this.error =
"EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only";
return -1;
}
if (t !== an) {
this.error = "BIT STRING may consists of BIT STRINGs only";
return -1;
}
const r = e.valueBlock;
if (this.unusedBits > 0 && r.unusedBits > 0) {
this.error =
'Using of "unused bits" inside constructive BIT STRING allowed for least one only';
return -1;
}
this.unusedBits = r.unusedBits;
}
return n;
}
const i = _r.toUint8Array(e);
if (!zr(this, i, t, r)) {
return -1;
}
const o = i.subarray(t, t + r);
this.unusedBits = o[0];
if (this.unusedBits > 7) {
this.error = "Unused bits for BitString must be in range 0-7";
return -1;
}
if (!this.unusedBits) {
const e = o.subarray(1);
try {
if (e.byteLength) {
const t = Nn(e, 0, e.byteLength);
if (t.offset !== -1 && t.offset === r - 1) {
this.value = [t.result];
}
}
} catch {}
}
this.valueHexView = o.subarray(1);
this.blockLength = o.length;
return t + r;
}
toBER(e, t) {
if (this.isConstructed) {
return On.prototype.toBER.call(this, e, t);
}
if (e) {
return new ArrayBuffer(this.valueHexView.byteLength + 1);
}
if (!this.valueHexView.byteLength) {
return rn;
}
const r = new Uint8Array(this.valueHexView.length + 1);
r[0] = this.unusedBits;
r.set(this.valueHexView, 1);
return r.buffer;
}
toJSON() {
return {
...super.toJSON(),
unusedBits: this.unusedBits,
isConstructed: this.isConstructed,
};
}
}
var Vn;
Pn.NAME = "BitStringValueBlock";
let jn = class extends dn {
constructor({ idBlock: e = {}, lenBlock: t = {}, ...r } = {}) {
var n;
if ((n = r.isConstructed) === null || n === undefined) {
r.isConstructed = !!r.value?.length;
}
super(
{
idBlock: {
isConstructed: r.isConstructed,
...e,
},
lenBlock: {
...t,
isIndefiniteForm: !!r.isIndefiniteForm,
},
...r,
},
Pn,
);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 3;
}
fromBER(e, t, r) {
this.valueBlock.isConstructed = this.idBlock.isConstructed;
this.valueBlock.isIndefiniteForm = this.lenBlock.isIndefiniteForm;
return super.fromBER(e, t, r);
}
onAsciiEncoding() {
if (
this.valueBlock.isConstructed ||
(this.valueBlock.value && this.valueBlock.value.length)
) {
return In.prototype.onAsciiEncoding.call(this);
}
{
const e = [];
const t = this.valueBlock.valueHexView;
for (const r of t) {
e.push(r.toString(2).padStart(8, "0"));
}
const r = e.join("");
return `${this.constructor.NAME} : ${r.substring(0, r.length - this.valueBlock.unusedBits)}`;
}
}
};
var Ln;
var Fn;
var Mn;
var Hn;
var Kn;
var $n;
var Gn;
function Wn(e, t) {
const r = new Uint8Array([0]);
const n = new Uint8Array(e);
const i = new Uint8Array(t);
let o = n.slice(0);
const s = o.length - 1;
const a = i.slice(0);
const c = a.length - 1;
let l = 0;
let u = 0;
for (let e = c < s ? s : c; e >= 0; e--, u++) {
l = u < a.length == 1 ? o[s - u] + a[c - u] + r[0] : o[s - u] + r[0];
r[0] = l / 10;
if (u >= o.length == 1) {
o = $r(new Uint8Array([l % 10]), o);
} else {
o[s - u] = l % 10;
}
}
if (r[0] > 0) {
o = $r(r, o);
}
return o;
}
function Yn(e) {
if (e >= qr.length) {
for (let t = qr.length; t <= e; t++) {
const e = new Uint8Array([0]);
let r = qr[t - 1].slice(0);
for (let t = r.length - 1; t >= 0; t--) {
const n = new Uint8Array([(r[t] << 1) + e[0]]);
e[0] = n[0] / 10;
r[t] = n[0] % 10;
}
if (e[0] > 0) {
r = $r(e, r);
}
qr.push(r);
}
}
return qr[e];
}
function Jn(e, t) {
let r = 0;
const n = new Uint8Array(e);
const i = new Uint8Array(t);
const o = n.slice(0);
const s = o.length - 1;
const a = i.slice(0);
const c = a.length - 1;
let l;
let u = 0;
for (let e = c; e >= 0; e--, u++) {
l = o[s - u] - a[c - u] - r;
if (l < 0 == 1) {
r = 1;
o[s - u] = l + 10;
} else {
r = 0;
o[s - u] = l;
}
}
if (r > 0) {
for (let e = s - c + 1; e >= 0; e--, u++) {
l = o[s - u] - r;
if (!(l < 0)) {
r = 0;
o[s - u] = l;
break;
}
r = 1;
o[s - u] = l + 10;
}
}
return o.slice();
}
Vn = jn;
fn.BitString = Vn;
jn.NAME = an;
class zn extends cn(un) {
setValueHex() {
if (this.valueHexView.length >= 4) {
this.warnings.push("Too big Integer for decoding, hex only");
this.isHexOnly = true;
this._valueDec = 0;
} else {
this.isHexOnly = false;
if (this.valueHexView.length > 0) {
this._valueDec = Gr.call(this);
}
}
}
constructor({ value: e, ...t } = {}) {
super(t);
this._valueDec = 0;
if (t.valueHex) {
this.setValueHex();
}
if (e !== undefined) {
this.valueDec = e;
}
}
set valueDec(e) {
this._valueDec = e;
this.isHexOnly = false;
this.valueHexView = new Uint8Array(
(function (e) {
const t = e < 0 ? e * -1 : e;
let r = 128;
for (let n = 1; n < 8; n++) {
if (t <= r) {
if (e < 0) {
const e = Kr(r - t, 8, n);
new Uint8Array(e)[0] |= 128;
return e;
}
let i = Kr(t, 8, n);
let o = new Uint8Array(i);
if (o[0] & 128) {
const e = i.slice(0);
const t = new Uint8Array(e);
i = new ArrayBuffer(i.byteLength + 1);
o = new Uint8Array(i);
for (let r = 0; r < e.byteLength; r++) {
o[r + 1] = t[r];
}
o[0] = 0;
}
return i;
}
r *= Math.pow(2, 8);
}
return new ArrayBuffer(0);
})(e),
);
}
get valueDec() {
return this._valueDec;
}
fromDER(e, t, r, n = 0) {
const i = this.fromBER(e, t, r);
if (i === -1) {
return i;
}
const o = this.valueHexView;
if (o[0] === 0 && o[1] & 128) {
this.valueHexView = o.subarray(1);
} else if (n !== 0 && o.length < n) {
if (n - o.length > 1) {
n = o.length + 1;
}
this.valueHexView = o.subarray(n - o.length);
}
return i;
}
toDER(e = false) {
const t = this.valueHexView;
switch (true) {
case !!(t[0] & 128):
{
const e = new Uint8Array(this.valueHexView.length + 1);
e[0] = 0;
e.set(t, 1);
this.valueHexView = e;
}
break;
case t[0] === 0 && !(t[1] & 128):
this.valueHexView = this.valueHexView.subarray(1);
}
return this.toBER(e);
}
fromBER(e, t, r) {
const n = super.fromBER(e, t, r);
if (n !== -1) {
this.setValueHex();
}
return n;
}
toBER(e) {
if (e) {
return new ArrayBuffer(this.valueHexView.length);
} else {
return this.valueHexView.slice().buffer;
}
}
toJSON() {
return {
...super.toJSON(),
valueDec: this.valueDec,
};
}
toString() {
const e = this.valueHexView.length * 8 - 1;
let t;
let r = new Uint8Array((this.valueHexView.length * 8) / 3);
let n = 0;
const i = this.valueHexView;
let o = "";
let s = false;
for (let s = i.byteLength - 1; s >= 0; s--) {
t = i[s];
for (let i = 0; i < 8; i++) {
if (!(~t & 1)) {
if (n === e) {
r = Jn(Yn(n), r);
o = "-";
} else {
r = Wn(r, Yn(n));
}
}
n++;
t >>= 1;
}
}
for (let e = 0; e < r.length; e++) {
if (r[e]) {
s = true;
}
if (s) {
o += Qr.charAt(r[e]);
}
}
if (s === false) {
o += Qr.charAt(0);
}
return o;
}
}
Ln = zn;
zn.NAME = "IntegerValueBlock";
Object.defineProperty(Ln.prototype, "valueHex", {
set: function (e) {
this.valueHexView = new Uint8Array(e);
this.setValueHex();
},
get: function () {
return this.valueHexView.slice().buffer;
},
});
class Xn extends dn {
constructor(e = {}) {
super(e, zn);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 2;
}
toBigInt() {
Yr();
return BigInt(this.valueBlock.toString());
}
static fromBigInt(e) {
Yr();
const t = BigInt(e);
const r = new Xr();
const n = t.toString(16).replace(/^-/, "");
const i = new Uint8Array(Fr.FromHex(n));
if (t < 0) {
const e = new Uint8Array(i.length + (i[0] & 128 ? 1 : 0));
e[0] |= 128;
const n = BigInt(`0x${Fr.ToHex(e)}`) + t;
const o = _r.toUint8Array(Fr.FromHex(n.toString(16)));
o[0] |= 128;
r.write(o);
} else {
if (i[0] & 128) {
r.write(new Uint8Array([0]));
}
r.write(i);
}
return new Fn({
valueHex: r.final(),
});
}
convertToDER() {
const e = new Fn({
valueHex: this.valueBlock.valueHexView,
});
e.valueBlock.toDER();
return e;
}
convertFromDER() {
return new Fn({
valueHex:
this.valueBlock.valueHexView[0] === 0
? this.valueBlock.valueHexView.subarray(1)
: this.valueBlock.valueHexView,
});
}
onAsciiEncoding() {
return `${this.constructor.NAME} : ${this.valueBlock.toString()}`;
}
}
Fn = Xn;
fn.Integer = Fn;
Xn.NAME = "INTEGER";
class qn extends Xn {
constructor(e = {}) {
super(e);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 10;
}
}
Mn = qn;
fn.Enumerated = Mn;
qn.NAME = "ENUMERATED";
class Qn extends cn(un) {
constructor({ valueDec: e = -1, isFirstSid: t = false, ...r } = {}) {
super(r);
this.valueDec = e;
this.isFirstSid = t;
}
fromBER(e, t, r) {
if (!r) {
return t;
}
const n = _r.toUint8Array(e);
if (!zr(this, n, t, r)) {
return -1;
}
const i = n.subarray(t, t + r);
this.valueHexView = new Uint8Array(r);
for (
let e = 0;
e < r &&
((this.valueHexView[e] = i[e] & 127), this.blockLength++, i[e] & 128);
e++
);
const o = new Uint8Array(this.blockLength);
for (let e = 0; e < this.blockLength; e++) {
o[e] = this.valueHexView[e];
}
this.valueHexView = o;
if (i[this.blockLength - 1] & 128) {
this.error = "End of input reached before message was fully decoded";
return -1;
} else {
if (this.valueHexView[0] === 0) {
this.warnings.push("Needlessly long format of SID encoding");
}
if (this.blockLength <= 8) {
this.valueDec = Hr(this.valueHexView, 7);
} else {
this.isHexOnly = true;
this.warnings.push("Too big SID for decoding, hex only");
}
return t + this.blockLength;
}
}
set valueBigInt(e) {
Yr();
let t = BigInt(e).toString(2);
while (t.length % 7) {
t = "0" + t;
}
const r = new Uint8Array(t.length / 7);
for (let e = 0; e < r.length; e++) {
r[e] =
parseInt(t.slice(e * 7, e * 7 + 7), 2) + (e + 1 < r.length ? 128 : 0);
}
this.fromBER(r.buffer, 0, r.length);
}
toBER(e) {
if (this.isHexOnly) {
if (e) {
return new ArrayBuffer(this.valueHexView.byteLength);
}
const t = this.valueHexView;
const r = new Uint8Array(this.blockLength);
for (let e = 0; e < this.blockLength - 1; e++) {
r[e] = t[e] | 128;
}
r[this.blockLength - 1] = t[this.blockLength - 1];
return r.buffer;
}
const t = Kr(this.valueDec, 7);
if (t.byteLength === 0) {
this.error = "Error during encoding SID value";
return rn;
}
const r = new Uint8Array(t.byteLength);
if (!e) {
const e = new Uint8Array(t);
const n = t.byteLength - 1;
for (let t = 0; t < n; t++) {
r[t] = e[t] | 128;
}
r[n] = e[n];
}
return r;
}
toString() {
let e = "";
if (this.isHexOnly) {
e = Fr.ToHex(this.valueHexView);
} else if (this.isFirstSid) {
let t = this.valueDec;
if (this.valueDec <= 39) {
e = "0.";
} else if (this.valueDec <= 79) {
e = "1.";
t -= 40;
} else {
e = "2.";
t -= 80;
}
e += t.toString();
} else {
e = this.valueDec.toString();
}
return e;
}
toJSON() {
return {
...super.toJSON(),
valueDec: this.valueDec,
isFirstSid: this.isFirstSid,
};
}
}
Qn.NAME = "sidBlock";
class Zn extends un {
constructor({ value: e = "", ...t } = {}) {
super(t);
this.value = [];
if (e) {
this.fromString(e);
}
}
fromBER(e, t, r) {
let n = t;
while (r > 0) {
const t = new Qn();
n = t.fromBER(e, n, r);
if (n === -1) {
this.blockLength = 0;
this.error = t.error;
return n;
}
if (this.value.length === 0) {
t.isFirstSid = true;
}
this.blockLength += t.blockLength;
r -= t.blockLength;
this.value.push(t);
}
return n;
}
toBER(e) {
const t = [];
for (let r = 0; r < this.value.length; r++) {
const n = this.value[r].toBER(e);
if (n.byteLength === 0) {
this.error = this.value[r].error;
return rn;
}
t.push(n);
}
return Jr(t);
}
fromString(e) {
this.value = [];
let t = 0;
let r = 0;
let n = "";
let i = false;
do {
r = e.indexOf(".", t);
n = r === -1 ? e.substring(t) : e.substring(t, r);
t = r + 1;
if (i) {
const e = this.value[0];
let t = 0;
switch (e.valueDec) {
case 0:
break;
case 1:
t = 40;
break;
case 2:
t = 80;
break;
default:
this.value = [];
return;
}
const r = parseInt(n, 10);
if (isNaN(r)) {
return;
}
e.valueDec = r + t;
i = false;
} else {
const e = new Qn();
if (n > Number.MAX_SAFE_INTEGER) {
Yr();
const t = BigInt(n);
e.valueBigInt = t;
} else {
e.valueDec = parseInt(n, 10);
if (isNaN(e.valueDec)) {
return;
}
}
if (!this.value.length) {
e.isFirstSid = true;
i = true;
}
this.value.push(e);
}
} while (r !== -1);
}
toString() {
let e = "";
let t = false;
for (let r = 0; r < this.value.length; r++) {
t = this.value[r].isHexOnly;
let n = this.value[r].toString();
if (r !== 0) {
e = `${e}.`;
}
if (t) {
n = `{${n}}`;
if (this.value[r].isFirstSid) {
e = `2.{${n} - 80}`;
} else {
e += n;
}
} else {
e += n;
}
}
return e;
}
toJSON() {
const e = {
...super.toJSON(),
value: this.toString(),
sidArray: [],
};
for (let t = 0; t < this.value.length; t++) {
e.sidArray.push(this.value[t].toJSON());
}
return e;
}
}
Zn.NAME = "ObjectIdentifierValueBlock";
class ei extends dn {
getValue() {
return this.valueBlock.toString();
}
setValue(e) {
this.valueBlock.fromString(e);
}
constructor(e = {}) {
super(e, Zn);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 6;
}
onAsciiEncoding() {
return `${this.constructor.NAME} : ${this.valueBlock.toString() || "empty"}`;
}
toJSON() {
return {
...super.toJSON(),
value: this.getValue(),
};
}
}
Hn = ei;
fn.ObjectIdentifier = Hn;
ei.NAME = "OBJECT IDENTIFIER";
class ti extends cn(ln) {
constructor({ valueDec: e = 0, ...t } = {}) {
super(t);
this.valueDec = e;
}
fromBER(e, t, r) {
if (r === 0) {
return t;
}
const n = _r.toUint8Array(e);
if (!zr(this, n, t, r)) {
return -1;
}
const i = n.subarray(t, t + r);
this.valueHexView = new Uint8Array(r);
for (
let e = 0;
e < r &&
((this.valueHexView[e] = i[e] & 127), this.blockLength++, i[e] & 128);
e++
);
const o = new Uint8Array(this.blockLength);
for (let e = 0; e < this.blockLength; e++) {
o[e] = this.valueHexView[e];
}
this.valueHexView = o;
if (i[this.blockLength - 1] & 128) {
this.error = "End of input reached before message was fully decoded";
return -1;
} else {
if (this.valueHexView[0] === 0) {
this.warnings.push("Needlessly long format of SID encoding");
}
if (this.blockLength <= 8) {
this.valueDec = Hr(this.valueHexView, 7);
} else {
this.isHexOnly = true;
this.warnings.push("Too big SID for decoding, hex only");
}
return t + this.blockLength;
}
}
toBER(e) {
if (this.isHexOnly) {
if (e) {
return new ArrayBuffer(this.valueHexView.byteLength);
}
const t = this.valueHexView;
const r = new Uint8Array(this.blockLength);
for (let e = 0; e < this.blockLength - 1; e++) {
r[e] = t[e] | 128;
}
r[this.blockLength - 1] = t[this.blockLength - 1];
return r.buffer;
}
const t = Kr(this.valueDec, 7);
if (t.byteLength === 0) {
this.error = "Error during encoding SID value";
return rn;
}
const r = new Uint8Array(t.byteLength);
if (!e) {
const e = new Uint8Array(t);
const n = t.byteLength - 1;
for (let t = 0; t < n; t++) {
r[t] = e[t] | 128;
}
r[n] = e[n];
}
return r.buffer;
}
toString() {
let e = "";
e = this.isHexOnly
? Fr.ToHex(this.valueHexView)
: this.valueDec.toString();
return e;
}
toJSON() {
return {
...super.toJSON(),
valueDec: this.valueDec,
};
}
}
ti.NAME = "relativeSidBlock";
class ri extends un {
constructor({ value: e = "", ...t } = {}) {
super(t);
this.value = [];
if (e) {
this.fromString(e);
}
}
fromBER(e, t, r) {
let n = t;
while (r > 0) {
const t = new ti();
n = t.fromBER(e, n, r);
if (n === -1) {
this.blockLength = 0;
this.error = t.error;
return n;
}
this.blockLength += t.blockLength;
r -= t.blockLength;
this.value.push(t);
}
return n;
}
toBER(e, t) {
const r = [];
for (let t = 0; t < this.value.length; t++) {
const n = this.value[t].toBER(e);
if (n.byteLength === 0) {
this.error = this.value[t].error;
return rn;
}
r.push(n);
}
return Jr(r);
}
fromString(e) {
this.value = [];
let t = 0;
let r = 0;
let n = "";
do {
r = e.indexOf(".", t);
n = r === -1 ? e.substring(t) : e.substring(t, r);
t = r + 1;
const i = new ti();
i.valueDec = parseInt(n, 10);
if (isNaN(i.valueDec)) {
return true;
}
this.value.push(i);
} while (r !== -1);
return true;
}
toString() {
let e = "";
let t = false;
for (let r = 0; r < this.value.length; r++) {
t = this.value[r].isHexOnly;
let n = this.value[r].toString();
if (r !== 0) {
e = `${e}.`;
}
if (t) {
n = `{${n}}`;
e += n;
} else {
e += n;
}
}
return e;
}
toJSON() {
const e = {
...super.toJSON(),
value: this.toString(),
sidArray: [],
};
for (let t = 0; t < this.value.length; t++) {
e.sidArray.push(this.value[t].toJSON());
}
return e;
}
}
ri.NAME = "RelativeObjectIdentifierValueBlock";
class ni extends dn {
getValue() {
return this.valueBlock.toString();
}
setValue(e) {
this.valueBlock.fromString(e);
}
constructor(e = {}) {
super(e, ri);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 13;
}
onAsciiEncoding() {
return `${this.constructor.NAME} : ${this.valueBlock.toString() || "empty"}`;
}
toJSON() {
return {
...super.toJSON(),
value: this.getValue(),
};
}
}
Kn = ni;
fn.RelativeObjectIdentifier = Kn;
ni.NAME = "RelativeObjectIdentifier";
class ii extends In {
constructor(e = {}) {
super(e);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 16;
}
}
$n = ii;
fn.Sequence = $n;
ii.NAME = "SEQUENCE";
let oi = class extends In {
constructor(e = {}) {
super(e);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 17;
}
};
Gn = oi;
fn.Set = Gn;
oi.NAME = "SET";
class si extends cn(un) {
constructor({ ...e } = {}) {
super(e);
this.isHexOnly = true;
this.value = tn;
}
toJSON() {
return {
...super.toJSON(),
value: this.value,
};
}
}
si.NAME = "StringValueBlock";
class ai extends si {}
ai.NAME = "SimpleStringValueBlock";
class ci extends mn {
constructor({ ...e } = {}) {
super(e, ai);
}
fromBuffer(e) {
this.valueBlock.value = String.fromCharCode.apply(
null,
_r.toUint8Array(e),
);
}
fromString(e) {
const t = e.length;
const r = (this.valueBlock.valueHexView = new Uint8Array(t));
for (let n = 0; n < t; n++) {
r[n] = e.charCodeAt(n);
}
this.valueBlock.value = e;
}
}
ci.NAME = "SIMPLE STRING";
class li extends ci {
fromBuffer(e) {
this.valueBlock.valueHexView = _r.toUint8Array(e);
try {
this.valueBlock.value = Fr.ToUtf8String(e);
} catch (t) {
this.warnings.push(
`Error during "decodeURIComponent": ${t}, using raw string`,
);
this.valueBlock.value = Fr.ToBinary(e);
}
}
fromString(e) {
this.valueBlock.valueHexView = new Uint8Array(Fr.FromUtf8String(e));
this.valueBlock.value = e;
}
}
var ui;
var pi;
var hi;
var fi;
var di;
var yi;
var mi;
var gi;
var vi;
var bi;
var Ei;
var wi;
var Si;
var Ai;
var Ni;
var Ti;
var Oi;
var Ii;
var ki;
li.NAME = "Utf8StringValueBlock";
class Bi extends li {
constructor(e = {}) {
super(e);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 12;
}
}
ui = Bi;
fn.Utf8String = ui;
Bi.NAME = "UTF8String";
class xi extends ci {
fromBuffer(e) {
this.valueBlock.value = Fr.ToUtf16String(e);
this.valueBlock.valueHexView = _r.toUint8Array(e);
}
fromString(e) {
this.valueBlock.value = e;
this.valueBlock.valueHexView = new Uint8Array(Fr.FromUtf16String(e));
}
}
xi.NAME = "BmpStringValueBlock";
class Ci extends xi {
constructor({ ...e } = {}) {
super(e);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 30;
}
}
pi = Ci;
fn.BmpString = pi;
Ci.NAME = "BMPString";
class Ri extends ci {
fromBuffer(e) {
const t = ArrayBuffer.isView(e) ? e.slice().buffer : e.slice(0);
const r = new Uint8Array(t);
for (let e = 0; e < r.length; e += 4) {
r[e] = r[e + 3];
r[e + 1] = r[e + 2];
r[e + 2] = 0;
r[e + 3] = 0;
}
this.valueBlock.value = String.fromCharCode.apply(
null,
new Uint32Array(t),
);
}
fromString(e) {
const t = e.length;
const r = (this.valueBlock.valueHexView = new Uint8Array(t * 4));
for (let n = 0; n < t; n++) {
const t = Kr(e.charCodeAt(n), 8);
const i = new Uint8Array(t);
if (i.length > 4) {
continue;
}
const o = 4 - i.length;
for (let e = i.length - 1; e >= 0; e--) {
r[n * 4 + e + o] = i[e];
}
}
this.valueBlock.value = e;
}
}
Ri.NAME = "UniversalStringValueBlock";
class _i extends Ri {
constructor({ ...e } = {}) {
super(e);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 28;
}
}
hi = _i;
fn.UniversalString = hi;
_i.NAME = "UniversalString";
class Ui extends ci {
constructor(e = {}) {
super(e);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 18;
}
}
fi = Ui;
fn.NumericString = fi;
Ui.NAME = "NumericString";
class Di extends ci {
constructor(e = {}) {
super(e);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 19;
}
}
di = Di;
fn.PrintableString = di;
Di.NAME = "PrintableString";
class Pi extends ci {
constructor(e = {}) {
super(e);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 20;
}
}
yi = Pi;
fn.TeletexString = yi;
Pi.NAME = "TeletexString";
class Vi extends ci {
constructor(e = {}) {
super(e);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 21;
}
}
mi = Vi;
fn.VideotexString = mi;
Vi.NAME = "VideotexString";
class ji extends ci {
constructor(e = {}) {
super(e);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 22;
}
}
gi = ji;
fn.IA5String = gi;
ji.NAME = "IA5String";
class Li extends ci {
constructor(e = {}) {
super(e);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 25;
}
}
vi = Li;
fn.GraphicString = vi;
Li.NAME = "GraphicString";
class Fi extends ci {
constructor(e = {}) {
super(e);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 26;
}
}
bi = Fi;
fn.VisibleString = bi;
Fi.NAME = "VisibleString";
class Mi extends ci {
constructor(e = {}) {
super(e);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 27;
}
}
Ei = Mi;
fn.GeneralString = Ei;
Mi.NAME = "GeneralString";
class Hi extends ci {
constructor(e = {}) {
super(e);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 29;
}
}
wi = Hi;
fn.CharacterString = wi;
Hi.NAME = "CharacterString";
class Ki extends Fi {
constructor({ value: e, valueDate: t, ...r } = {}) {
super(r);
this.year = 0;
this.month = 0;
this.day = 0;
this.hour = 0;
this.minute = 0;
this.second = 0;
if (e) {
this.fromString(e);
this.valueBlock.valueHexView = new Uint8Array(e.length);
for (let t = 0; t < e.length; t++) {
this.valueBlock.valueHexView[t] = e.charCodeAt(t);
}
}
if (t) {
this.fromDate(t);
this.valueBlock.valueHexView = new Uint8Array(this.toBuffer());
}
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 23;
}
fromBuffer(e) {
this.fromString(String.fromCharCode.apply(null, _r.toUint8Array(e)));
}
toBuffer() {
const e = this.toString();
const t = new ArrayBuffer(e.length);
const r = new Uint8Array(t);
for (let t = 0; t < e.length; t++) {
r[t] = e.charCodeAt(t);
}
return t;
}
fromDate(e) {
this.year = e.getUTCFullYear();
this.month = e.getUTCMonth() + 1;
this.day = e.getUTCDate();
this.hour = e.getUTCHours();
this.minute = e.getUTCMinutes();
this.second = e.getUTCSeconds();
}
toDate() {
return new Date(
Date.UTC(
this.year,
this.month - 1,
this.day,
this.hour,
this.minute,
this.second,
),
);
}
fromString(e) {
const t = /(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/gi.exec(e);
if (t === null) {
this.error = "Wrong input string for conversion";
return;
}
const r = parseInt(t[1], 10);
this.year = r >= 50 ? 1900 + r : 2000 + r;
this.month = parseInt(t[2], 10);
this.day = parseInt(t[3], 10);
this.hour = parseInt(t[4], 10);
this.minute = parseInt(t[5], 10);
this.second = parseInt(t[6], 10);
}
toString(e = "iso") {
if (e === "iso") {
const e = new Array(7);
e[0] = Wr(this.year < 2000 ? this.year - 1900 : this.year - 2000, 2);
e[1] = Wr(this.month, 2);
e[2] = Wr(this.day, 2);
e[3] = Wr(this.hour, 2);
e[4] = Wr(this.minute, 2);
e[5] = Wr(this.second, 2);
e[6] = "Z";
return e.join("");
}
return super.toString(e);
}
onAsciiEncoding() {
return `${this.constructor.NAME} : ${this.toDate().toISOString()}`;
}
toJSON() {
return {
...super.toJSON(),
year: this.year,
month: this.month,
day: this.day,
hour: this.hour,
minute: this.minute,
second: this.second,
};
}
}
Si = Ki;
fn.UTCTime = Si;
Ki.NAME = "UTCTime";
class $i extends Ki {
constructor(e = {}) {
var t;
super(e);
if ((t = this.millisecond) === null || t === undefined) {
this.millisecond = 0;
}
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 24;
}
fromDate(e) {
super.fromDate(e);
this.millisecond = e.getUTCMilliseconds();
}
toDate() {
const e = Date.UTC(
this.year,
this.month - 1,
this.day,
this.hour,
this.minute,
this.second,
this.millisecond,
);
return new Date(e);
}
fromString(e) {
let t;
let r = false;
let n = "";
let i = "";
let o = 0;
let s = 0;
let a = 0;
if (e[e.length - 1] === "Z") {
n = e.substring(0, e.length - 1);
r = true;
} else {
const t = new Number(e[e.length - 1]);
if (isNaN(t.valueOf())) {
throw new Error("Wrong input string for conversion");
}
n = e;
}
if (r) {
if (n.indexOf("+") !== -1) {
throw new Error("Wrong input string for conversion");
}
if (n.indexOf("-") !== -1) {
throw new Error("Wrong input string for conversion");
}
} else {
let e = 1;
let t = n.indexOf("+");
let r = "";
if (t === -1) {
t = n.indexOf("-");
e = -1;
}
if (t !== -1) {
r = n.substring(t + 1);
n = n.substring(0, t);
if (r.length !== 2 && r.length !== 4) {
throw new Error("Wrong input string for conversion");
}
let i = parseInt(r.substring(0, 2), 10);
if (isNaN(i.valueOf())) {
throw new Error("Wrong input string for conversion");
}
s = e * i;
if (r.length === 4) {
i = parseInt(r.substring(2, 4), 10);
if (isNaN(i.valueOf())) {
throw new Error("Wrong input string for conversion");
}
a = e * i;
}
}
}
let c = n.indexOf(".");
if (c === -1) {
c = n.indexOf(",");
}
if (c !== -1) {
const e = new Number(`0${n.substring(c)}`);
if (isNaN(e.valueOf())) {
throw new Error("Wrong input string for conversion");
}
o = e.valueOf();
i = n.substring(0, c);
} else {
i = n;
}
switch (true) {
case i.length === 8:
t = /(\d{4})(\d{2})(\d{2})/gi;
if (c !== -1) {
throw new Error("Wrong input string for conversion");
}
break;
case i.length === 10:
t = /(\d{4})(\d{2})(\d{2})(\d{2})/gi;
if (c !== -1) {
let e = o * 60;
this.minute = Math.floor(e);
e = (e - this.minute) * 60;
this.second = Math.floor(e);
e = (e - this.second) * 1000;
this.millisecond = Math.floor(e);
}
break;
case i.length === 12:
t = /(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/gi;
if (c !== -1) {
let e = o * 60;
this.second = Math.floor(e);
e = (e - this.second) * 1000;
this.millisecond = Math.floor(e);
}
break;
case i.length === 14:
t = /(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/gi;
if (c !== -1) {
const e = o * 1000;
this.millisecond = Math.floor(e);
}
break;
default:
throw new Error("Wrong input string for conversion");
}
const l = t.exec(i);
if (l === null) {
throw new Error("Wrong input string for conversion");
}
for (let e = 1; e < l.length; e++) {
switch (e) {
case 1:
this.year = parseInt(l[e], 10);
break;
case 2:
this.month = parseInt(l[e], 10);
break;
case 3:
this.day = parseInt(l[e], 10);
break;
case 4:
this.hour = parseInt(l[e], 10) + s;
break;
case 5:
this.minute = parseInt(l[e], 10) + a;
break;
case 6:
this.second = parseInt(l[e], 10);
break;
default:
throw new Error("Wrong input string for conversion");
}
}
if (r === false) {
const e = new Date(
this.year,
this.month,
this.day,
this.hour,
this.minute,
this.second,
this.millisecond,
);
this.year = e.getUTCFullYear();
this.month = e.getUTCMonth();
this.day = e.getUTCDay();
this.hour = e.getUTCHours();
this.minute = e.getUTCMinutes();
this.second = e.getUTCSeconds();
this.millisecond = e.getUTCMilliseconds();
}
}
toString(e = "iso") {
if (e === "iso") {
const e = [];
e.push(Wr(this.year, 4));
e.push(Wr(this.month, 2));
e.push(Wr(this.day, 2));
e.push(Wr(this.hour, 2));
e.push(Wr(this.minute, 2));
e.push(Wr(this.second, 2));
if (this.millisecond !== 0) {
e.push(".");
e.push(Wr(this.millisecond, 3));
}
e.push("Z");
return e.join("");
}
return super.toString(e);
}
toJSON() {
return {
...super.toJSON(),
millisecond: this.millisecond,
};
}
}
Ai = $i;
fn.GeneralizedTime = Ai;
$i.NAME = "GeneralizedTime";
class Gi extends Bi {
constructor(e = {}) {
super(e);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 31;
}
}
Ni = Gi;
fn.DATE = Ni;
Gi.NAME = "DATE";
class Wi extends Bi {
constructor(e = {}) {
super(e);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 32;
}
}
Ti = Wi;
fn.TimeOfDay = Ti;
Wi.NAME = "TimeOfDay";
class Yi extends Bi {
constructor(e = {}) {
super(e);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 33;
}
}
Oi = Yi;
fn.DateTime = Oi;
Yi.NAME = "DateTime";
class Ji extends Bi {
constructor(e = {}) {
super(e);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 34;
}
}
Ii = Ji;
fn.Duration = Ii;
Ji.NAME = "Duration";
class zi extends Bi {
constructor(e = {}) {
super(e);
this.idBlock.tagClass = 1;
this.idBlock.tagNumber = 14;
}
}
ki = zi;
fn.TIME = ki;
zi.NAME = "TIME";
class Xi {
constructor({ name: e = "", optional: t = false } = {}) {
this.name = e;
this.optional = t;
}
}
class qi extends Xi {
constructor({ value: e = [], ...t } = {}) {
super(t);
this.value = e;
}
}
class Qi extends Xi {
constructor({ value: e = new Xi(), local: t = false, ...r } = {}) {
super(r);
this.value = e;
this.local = t;
}
}
function Zi(e, t, r) {
return {
verified: true,
result: e,
};
}
var eo;
var to;
var ro = Object.freeze({
__proto__: null,
Any: Xi,
BaseBlock: dn,
BaseStringBlock: mn,
BitString: jn,
BmpString: Ci,
Boolean: Rn,
CharacterString: Hi,
Choice: qi,
Constructed: In,
DATE: Gi,
DateTime: Yi,
Duration: Ji,
EndOfContent: Bn,
Enumerated: qn,
GeneralString: Mi,
GeneralizedTime: $i,
GraphicString: Li,
HexBlock: cn,
IA5String: ji,
Integer: Xn,
Null: xn,
NumericString: Ui,
ObjectIdentifier: ei,
OctetString: Dn,
Primitive: An,
PrintableString: Di,
RawData: class {
get data() {
return this.dataView.slice().buffer;
}
set data(e) {
this.dataView = _r.toUint8Array(e);
}
constructor({ data: e = nn } = {}) {
this.dataView = _r.toUint8Array(e);
}
fromBER(e, t, r) {
const n = t + r;
this.dataView = _r.toUint8Array(e).subarray(t, n);
return n;
}
toBER(e) {
return this.dataView.slice().buffer;
}
},
RelativeObjectIdentifier: ni,
Repeated: Qi,
Sequence: ii,
Set: oi,
TIME: zi,
TeletexString: Pi,
TimeOfDay: Wi,
UTCTime: Ki,
UniversalString: _i,
Utf8String: Bi,
ValueBlock: un,
VideotexString: Vi,
ViewWriter: Xr,
VisibleString: Fi,
compareSchema: Zi,
fromBER: Tn,
verifySchema: function (e, t) {
if (t instanceof Object == 0) {
return {
verified: false,
result: {
error: "Wrong ASN.1 schema type",
},
};
}
const r = Nn(_r.toUint8Array(e));
if (r.offset === -1) {
return {
verified: false,
result: r.result,
};
} else {
return Zi(r.result, r.result, t);
}
},
});
(function (e) {
e[(e.Sequence = 0)] = "Sequence";
e[(e.Set = 1)] = "Set";
e[(e.Choice = 2)] = "Choice";
})((eo ||= {}));
(function (e) {
e[(e.Any = 1)] = "Any";
e[(e.Boolean = 2)] = "Boolean";
e[(e.OctetString = 3)] = "OctetString";
e[(e.BitString = 4)] = "BitString";
e[(e.Integer = 5)] = "Integer";
e[(e.Enumerated = 6)] = "Enumerated";
e[(e.ObjectIdentifier = 7)] = "ObjectIdentifier";
e[(e.Utf8String = 8)] = "Utf8String";
e[(e.BmpString = 9)] = "BmpString";
e[(e.UniversalString = 10)] = "UniversalString";
e[(e.NumericString = 11)] = "NumericString";
e[(e.PrintableString = 12)] = "PrintableString";
e[(e.TeletexString = 13)] = "TeletexString";
e[(e.VideotexString = 14)] = "VideotexString";
e[(e.IA5String = 15)] = "IA5String";
e[(e.GraphicString = 16)] = "GraphicString";
e[(e.VisibleString = 17)] = "VisibleString";
e[(e.GeneralString = 18)] = "GeneralString";
e[(e.CharacterString = 19)] = "CharacterString";
e[(e.UTCTime = 20)] = "UTCTime";
e[(e.GeneralizedTime = 21)] = "GeneralizedTime";
e[(e.DATE = 22)] = "DATE";
e[(e.TimeOfDay = 23)] = "TimeOfDay";
e[(e.DateTime = 24)] = "DateTime";
e[(e.Duration = 25)] = "Duration";
e[(e.TIME = 26)] = "TIME";
e[(e.Null = 27)] = "Null";
})((to ||= {}));
class no {
constructor(e, t = 0) {
this.unusedBits = 0;
this.value = new ArrayBuffer(0);
if (e) {
if (typeof e == "number") {
this.fromNumber(e);
} else {
if (!_r.isBufferSource(e)) {
throw TypeError(
"Unsupported type of 'params' argument for BitString",
);
}
this.unusedBits = t;
this.value = _r.toArrayBuffer(e);
}
}
}
fromASN(e) {
if (!(e instanceof jn)) {
throw new TypeError(
"Argument 'asn' is not instance of ASN.1 BitString",
);
}
this.unusedBits = e.valueBlock.unusedBits;
this.value = e.valueBlock.valueHex;
return this;
}
toASN() {
return new jn({
unusedBits: this.unusedBits,
valueHex: this.value,
});
}
toSchema(e) {
return new jn({
name: e,
});
}
toNumber() {
let e = "";
const t = new Uint8Array(this.value);
for (const r of t) {
e += r.toString(2).padStart(8, "0");
}
e = e.split("").reverse().join("");
if (this.unusedBits) {
e = e.slice(this.unusedBits).padStart(this.unusedBits, "0");
}
return parseInt(e, 2);
}
fromNumber(e) {
let t = e.toString(2);
const r = (t.length + 7) >> 3;
this.unusedBits = (r << 3) - t.length;
const n = new Uint8Array(r);
t = t
.padStart(r << 3, "0")
.split("")
.reverse()
.join("");
let i = 0;
while (i < r) {
n[i] = parseInt(t.slice(i << 3, 8 + (i << 3)), 2);
i++;
}
this.value = n.buffer;
}
}
class io {
get byteLength() {
return this.buffer.byteLength;
}
get byteOffset() {
return 0;
}
constructor(e) {
if (typeof e == "number") {
this.buffer = new ArrayBuffer(e);
} else if (_r.isBufferSource(e)) {
this.buffer = _r.toArrayBuffer(e);
} else if (Array.isArray(e)) {
this.buffer = new Uint8Array(e);
} else {
this.buffer = new ArrayBuffer(0);
}
}
fromASN(e) {
if (!(e instanceof Dn)) {
throw new TypeError(
"Argument 'asn' is not instance of ASN.1 OctetString",
);
}
this.buffer = e.valueBlock.valueHex;
return this;
}
toASN() {
return new Dn({
valueHex: this.buffer,
});
}
toSchema(e) {
return new Dn({
name: e,
});
}
}
const oo = {
fromASN: (e) => (e instanceof xn ? null : e.valueBeforeDecodeView),
toASN: (e) => {
if (e === null) {
return new xn();
}
const t = Tn(e);
if (t.result.error) {
throw new Error(t.result.error);
}
return t.result;
},
};
const so = {
fromASN: (e) =>
e.valueBlock.valueHexView.byteLength >= 4
? e.valueBlock.toString()
: e.valueBlock.valueDec,
toASN: (e) =>
new Xn({
value: +e,
}),
};
const ao = {
fromASN: (e) => e.valueBlock.valueDec,
toASN: (e) =>
new qn({
value: e,
}),
};
const co = {
fromASN: (e) => e.valueBlock.valueHexView,
toASN: (e) =>
new Xn({
valueHex: e,
}),
};
const lo = {
fromASN: (e) => e.valueBlock.valueHexView,
toASN: (e) =>
new jn({
valueHex: e,
}),
};
const uo = {
fromASN: (e) => e.valueBlock.toString(),
toASN: (e) =>
new ei({
value: e,
}),
};
const po = {
fromASN: (e) => e.valueBlock.value,
toASN: (e) =>
new Rn({
value: e,
}),
};
const ho = {
fromASN: (e) => e.valueBlock.valueHexView,
toASN: (e) =>
new Dn({
valueHex: e,
}),
};
const fo = {
fromASN: (e) => new io(e.getValue()),
toASN: (e) => e.toASN(),
};
function yo(e) {
return {
fromASN: (e) => e.valueBlock.value,
toASN: (t) =>
new e({
value: t,
}),
};
}
const mo = yo(Bi);
const go = yo(Ci);
const vo = yo(_i);
const bo = yo(Ui);
const Eo = yo(Di);
const wo = yo(Pi);
const So = yo(Vi);
const Ao = yo(ji);
const No = yo(Li);
const To = yo(Fi);
const Oo = yo(Mi);
const Io = yo(Hi);
const ko = {
fromASN: (e) => e.toDate(),
toASN: (e) =>
new Ki({
valueDate: e,
}),
};
const Bo = {
fromASN: (e) => e.toDate(),
toASN: (e) =>
new $i({
valueDate: e,
}),
};
const xo = {
fromASN: () => null,
toASN: () => new xn(),
};
function Co(e) {
switch (e) {
case to.Any:
return oo;
case to.BitString:
return lo;
case to.BmpString:
return go;
case to.Boolean:
return po;
case to.CharacterString:
return Io;
case to.Enumerated:
return ao;
case to.GeneralString:
return Oo;
case to.GeneralizedTime:
return Bo;
case to.GraphicString:
return No;
case to.IA5String:
return Ao;
case to.Integer:
return so;
case to.Null:
return xo;
case to.NumericString:
return bo;
case to.ObjectIdentifier:
return uo;
case to.OctetString:
return ho;
case to.PrintableString:
return Eo;
case to.TeletexString:
return wo;
case to.UTCTime:
return ko;
case to.UniversalString:
return vo;
case to.Utf8String:
return mo;
case to.VideotexString:
return So;
case to.VisibleString:
return To;
default:
return null;
}
}
function Ro(e) {
if (typeof e == "function" && e.prototype) {
return (!!e.prototype.toASN && !!e.prototype.fromASN) || Ro(e.prototype);
} else {
return (
!!e && typeof e == "object" && !!("toASN" in e) && !!("fromASN" in e)
);
}
}
function _o(e) {
if (e) {
const r = Object.getPrototypeOf(e);
return (
(r == null ? undefined : r.prototype)?.constructor === Array || _o(r)
);
}
return false;
}
function Uo(e, t) {
if (!e || !t) {
return false;
}
if (e.byteLength !== t.byteLength) {
return false;
}
const r = new Uint8Array(e);
const n = new Uint8Array(t);
for (let t = 0; t < e.byteLength; t++) {
if (r[t] !== n[t]) {
return false;
}
}
return true;
}
const Do = new (class {
constructor() {
this.items = new WeakMap();
}
has(e) {
return this.items.has(e);
}
get(e, t = false) {
const r = this.items.get(e);
if (!r) {
throw new Error(
`Cannot get schema for '${e.prototype.constructor.name}' target`,
);
}
if (t && !r.schema) {
throw new Error(
`Schema '${e.prototype.constructor.name}' doesn't contain ASN.1 schema. Call 'AsnSchemaStorage.cache'.`,
);
}
return r;
}
cache(e) {
const t = this.get(e);
t.schema ||= this.create(e, true);
}
createDefault(e) {
const t = {
type: eo.Sequence,
items: {},
};
const r = this.findParentSchema(e);
if (r) {
Object.assign(t, r);
t.items = Object.assign({}, t.items, r.items);
}
return t;
}
create(e, t) {
const r = this.items.get(e) || this.createDefault(e);
const n = [];
for (const e in r.items) {
const i = r.items[e];
const o = t ? e : "";
let s;
if (typeof i.type == "number") {
const e = to[i.type];
const t = ro[e];
if (!t) {
throw new Error(`Cannot get ASN1 class by name '${e}'`);
}
s = new t({
name: o,
});
} else if (Ro(i.type)) {
s = new i.type().toSchema(o);
} else if (i.optional) {
if (this.get(i.type).type === eo.Choice) {
s = new Xi({
name: o,
});
} else {
s = this.create(i.type, false);
s.name = o;
}
} else {
s = new Xi({
name: o,
});
}
const a = !!i.optional || i.defaultValue !== undefined;
if (i.repeated) {
s.name = "";
s = new (i.repeated === "set" ? oi : ii)({
name: "",
value: [
new Qi({
name: o,
value: s,
}),
],
});
}
if (i.context !== null && i.context !== undefined) {
if (i.implicit) {
if (typeof i.type == "number" || Ro(i.type)) {
const e = i.repeated ? In : An;
n.push(
new e({
name: o,
optional: a,
idBlock: {
tagClass: 3,
tagNumber: i.context,
},
}),
);
} else {
this.cache(i.type);
const e = !!i.repeated;
let t = e ? s : this.get(i.type, true).schema;
t = "valueBlock" in t ? t.valueBlock.value : t.value;
n.push(
new In({
name: e ? "" : o,
optional: a,
idBlock: {
tagClass: 3,
tagNumber: i.context,
},
value: t,
}),
);
}
} else {
n.push(
new In({
optional: a,
idBlock: {
tagClass: 3,
tagNumber: i.context,
},
value: [s],
}),
);
}
} else {
s.optional = a;
n.push(s);
}
}
switch (r.type) {
case eo.Sequence:
return new ii({
value: n,
name: "",
});
case eo.Set:
return new oi({
value: n,
name: "",
});
case eo.Choice:
return new qi({
value: n,
name: "",
});
default:
throw new Error("Unsupported ASN1 type in use");
}
}
set(e, t) {
this.items.set(e, t);
return this;
}
findParentSchema(e) {
const t = Object.getPrototypeOf(e);
if (t) {
return this.items.get(t) || this.findParentSchema(t);
} else {
return null;
}
}
})();
const Po = (e) => (t) => {
let r;
if (Do.has(t)) {
r = Do.get(t);
} else {
r = Do.createDefault(t);
Do.set(t, r);
}
Object.assign(r, e);
};
const Vo = (e) => (t, r) => {
let n;
if (Do.has(t.constructor)) {
n = Do.get(t.constructor);
} else {
n = Do.createDefault(t.constructor);
Do.set(t.constructor, n);
}
const i = Object.assign({}, e);
if (typeof i.type == "number" && !i.converter) {
const n = Co(e.type);
if (!n) {
throw new Error(
`Cannot get default converter for property '${r}' of ${t.constructor.name}`,
);
}
i.converter = n;
}
n.items[r] = i;
};
class jo extends Error {
constructor() {
super(...arguments);
this.schemas = [];
}
}
class Lo {
static parse(e, t) {
const r = Tn(e);
if (r.result.error) {
throw new Error(r.result.error);
}
return this.fromASN(r.result, t);
}
static fromASN(e, t) {
try {
if (Ro(t)) {
return new t().fromASN(e);
}
const n = Do.get(t);
Do.cache(t);
let i = n.schema;
if (e.constructor === In && n.type !== eo.Choice) {
i = new In({
idBlock: {
tagClass: 3,
tagNumber: e.idBlock.tagNumber,
},
value: n.schema.valueBlock.value,
});
for (const t in n.items) {
delete e[t];
}
}
const o = Zi({}, e, i);
if (!o.verified) {
throw new jo(
`Data does not match to ${t.name} ASN1 schema. ${o.result.error}`,
);
}
const s = new t();
if (_o(t)) {
if (
!("value" in e.valueBlock) ||
!Array.isArray(e.valueBlock.value)
) {
throw new Error(
"Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.",
);
}
const r = n.itemType;
if (typeof r == "number") {
const n = Co(r);
if (!n) {
throw new Error(
`Cannot get default converter for array item of ${t.name} ASN1 schema`,
);
}
return t.from(e.valueBlock.value, (e) => n.fromASN(e));
}
return t.from(e.valueBlock.value, (e) => this.fromASN(e, r));
}
for (const e in n.items) {
const t = o.result[e];
if (!t) {
continue;
}
const i = n.items[e];
const a = i.type;
if (typeof a == "number" || Ro(a)) {
const n = i.converter ?? (Ro(a) ? new a() : null);
if (!n) {
throw new Error("Converter is empty");
}
if (i.repeated) {
if (i.implicit) {
const r = new (i.repeated === "sequence" ? ii : oi)();
r.valueBlock = t.valueBlock;
const o = Tn(r.toBER(false));
if (o.offset === -1) {
throw new Error(
`Cannot parse the child item. ${o.result.error}`,
);
}
if (
!("value" in o.result.valueBlock) ||
!Array.isArray(o.result.valueBlock.value)
) {
throw new Error(
"Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.",
);
}
const a = o.result.valueBlock.value;
s[e] = Array.from(a, (e) => n.fromASN(e));
} else {
s[e] = Array.from(t, (e) => n.fromASN(e));
}
} else {
let r = t;
if (i.implicit) {
let e;
if (Ro(a)) {
e = new a().toSchema("");
} else {
const t = to[a];
const r = ro[t];
if (!r) {
throw new Error(
`Cannot get '${t}' class from asn1js module`,
);
}
e = new r();
}
e.valueBlock = r.valueBlock;
r = Tn(e.toBER(false)).result;
}
s[e] = n.fromASN(r);
}
} else if (i.repeated) {
if (!Array.isArray(t)) {
throw new Error(
"Cannot get list of items from the ASN.1 parsed value. ASN.1 value should be iterable.",
);
}
s[e] = Array.from(t, (e) => this.fromASN(e, a));
} else {
s[e] = this.fromASN(t, a);
}
}
return s;
} catch (e) {
if (e instanceof jo) {
e.schemas.push(t.name);
}
throw e;
}
}
}
class Fo {
static serialize(e) {
if (e instanceof dn) {
return e.toBER(false);
} else {
return this.toASN(e).toBER(false);
}
}
static toASN(e) {
if (e && typeof e == "object" && Ro(e)) {
return e.toASN();
}
if (!e || typeof e != "object") {
throw new TypeError("Parameter 1 should be type of Object.");
}
const t = e.constructor;
const r = Do.get(t);
Do.cache(t);
let n;
let i = [];
if (r.itemType) {
if (!Array.isArray(e)) {
throw new TypeError("Parameter 1 should be type of Array.");
}
if (typeof r.itemType == "number") {
const n = Co(r.itemType);
if (!n) {
throw new Error(
`Cannot get default converter for array item of ${t.name} ASN1 schema`,
);
}
i = e.map((e) => n.toASN(e));
} else {
i = e.map((e) =>
this.toAsnItem(
{
type: r.itemType,
},
"[]",
t,
e,
),
);
}
} else {
for (const n in r.items) {
const o = r.items[n];
const s = e[n];
if (
s === undefined ||
o.defaultValue === s ||
(typeof o.defaultValue == "object" &&
typeof s == "object" &&
Uo(this.serialize(o.defaultValue), this.serialize(s)))
) {
continue;
}
const a = Fo.toAsnItem(o, n, t, s);
if (typeof o.context == "number") {
if (o.implicit) {
if (o.repeated || (typeof o.type != "number" && !Ro(o.type))) {
i.push(
new In({
optional: o.optional,
idBlock: {
tagClass: 3,
tagNumber: o.context,
},
value: a.valueBlock.value,
}),
);
} else {
const e = {};
e.valueHex =
a instanceof xn
? a.valueBeforeDecodeView
: a.valueBlock.toBER();
i.push(
new An({
optional: o.optional,
idBlock: {
tagClass: 3,
tagNumber: o.context,
},
...e,
}),
);
}
} else {
i.push(
new In({
optional: o.optional,
idBlock: {
tagClass: 3,
tagNumber: o.context,
},
value: [a],
}),
);
}
} else if (o.repeated) {
i = i.concat(a);
} else {
i.push(a);
}
}
}
switch (r.type) {
case eo.Sequence:
n = new ii({
value: i,
});
break;
case eo.Set:
n = new oi({
value: i,
});
break;
case eo.Choice:
if (!i[0]) {
throw new Error(
`Schema '${t.name}' has wrong data. Choice cannot be empty.`,
);
}
n = i[0];
}
return n;
}
static toAsnItem(e, t, r, n) {
let i;
if (typeof e.type == "number") {
const o = e.converter;
if (!o) {
throw new Error(
`Property '${t}' doesn't have converter for type ${to[e.type]} in schema '${r.name}'`,
);
}
if (e.repeated) {
if (!Array.isArray(n)) {
throw new TypeError("Parameter 'objProp' should be type of Array.");
}
const t = Array.from(n, (e) => o.toASN(e));
i = new (e.repeated === "sequence" ? ii : oi)({
value: t,
});
} else {
i = o.toASN(n);
}
} else if (e.repeated) {
if (!Array.isArray(n)) {
throw new TypeError("Parameter 'objProp' should be type of Array.");
}
const t = Array.from(n, (e) => this.toASN(e));
i = new (e.repeated === "sequence" ? ii : oi)({
value: t,
});
} else {
i = this.toASN(n);
}
return i;
}
}
class Mo extends Array {
constructor(e = []) {
if (typeof e == "number") {
super(e);
} else {
super();
for (const t of e) {
this.push(t);
}
}
}
}
class Ho {
static serialize(e) {
return Fo.serialize(e);
}
static parse(e, t) {
return Lo.parse(e, t);
}
static toString(e) {
const t = Tn(
_r.isBufferSource(e) ? _r.toArrayBuffer(e) : Ho.serialize(e),
);
if (t.offset === -1) {
throw new Error(`Cannot decode ASN.1 data. ${t.result.error}`);
}
return t.result.toString();
}
}
class Ko {
static isIPv4(e) {
return /^(\d{1,3}\.){3}\d{1,3}$/.test(e);
}
static parseIPv4(e) {
const t = e.split(".");
if (t.length !== 4) {
throw new Error("Invalid IPv4 address");
}
return t.map((e) => {
const t = parseInt(e, 10);
if (isNaN(t) || t < 0 || t > 255) {
throw new Error("Invalid IPv4 address part");
}
return t;
});
}
static parseIPv6(e) {
const t = this.expandIPv6(e).split(":");
if (t.length !== 8) {
throw new Error("Invalid IPv6 address");
}
return t.reduce((e, t) => {
const r = parseInt(t, 16);
if (isNaN(r) || r < 0 || r > 65535) {
throw new Error("Invalid IPv6 address part");
}
e.push((r >> 8) & 255);
e.push(r & 255);
return e;
}, []);
}
static expandIPv6(e) {
if (!e.includes("::")) {
return e;
}
const t = e.split("::");
if (t.length > 2) {
throw new Error("Invalid IPv6 address");
}
const r = t[0] ? t[0].split(":") : [];
const n = t[1] ? t[1].split(":") : [];
const i = 8 - (r.length + n.length);
if (i < 0) {
throw new Error("Invalid IPv6 address");
}
return [...r, ...Array(i).fill("0"), ...n].join(":");
}
static formatIPv6(e) {
const t = [];
for (let r = 0; r < 16; r += 2) {
t.push(((e[r] << 8) | e[r + 1]).toString(16));
}
return this.compressIPv6(t.join(":"));
}
static compressIPv6(e) {
const t = e.split(":");
let r = -1;
let n = 0;
let i = -1;
let o = 0;
for (let e = 0; e < t.length; e++) {
if (t[e] === "0") {
if (i === -1) {
i = e;
}
o++;
} else {
if (o > n) {
r = i;
n = o;
}
i = -1;
o = 0;
}
}
if (o > n) {
r = i;
n = o;
}
if (n > 1) {
return `${t.slice(0, r).join(":")}::${t.slice(r + n).join(":")}`;
} else {
return e;
}
}
static parseCIDR(e) {
const [t, r] = e.split("/");
const n = parseInt(r, 10);
if (this.isIPv4(t)) {
if (n < 0 || n > 32) {
throw new Error("Invalid IPv4 prefix length");
}
return [this.parseIPv4(t), n];
}
if (n < 0 || n > 128) {
throw new Error("Invalid IPv6 prefix length");
}
return [this.parseIPv6(t), n];
}
static decodeIP(e) {
if (e.length === 64 && parseInt(e, 16) === 0) {
return "::/0";
}
if (e.length !== 16) {
return e;
}
const t = parseInt(e.slice(8), 16)
.toString(2)
.split("")
.reduce((e, t) => e + +t, 0);
let r = e.slice(0, 8).replace(/(.{2})/g, (e) => `${parseInt(e, 16)}.`);
r = r.slice(0, -1);
return `${r}/${t}`;
}
static toString(e) {
const t = new Uint8Array(e);
if (t.length === 4) {
return Array.from(t).join(".");
}
if (t.length === 16) {
return this.formatIPv6(t);
}
if (t.length === 8 || t.length === 32) {
const e = t.length / 2;
const r = t.slice(0, e);
const n = t.slice(e);
if (t.every((e) => e === 0)) {
if (t.length === 8) {
return "0.0.0.0/0";
} else {
return "::/0";
}
}
const i = n.reduce(
(e, t) => e + (t.toString(2).match(/1/g) || []).length,
0,
);
if (t.length === 8) {
return `${Array.from(r).join(".")}/${i}`;
} else {
return `${this.formatIPv6(r)}/${i}`;
}
}
return this.decodeIP(Fr.ToHex(e));
}
static fromString(e) {
if (e.includes("/")) {
const [t, r] = this.parseCIDR(e);
const n = new Uint8Array(t.length);
let i = r;
for (let e = 0; e < n.length; e++) {
if (i >= 8) {
n[e] = 255;
i -= 8;
} else if (i > 0) {
n[e] = 255 << (8 - i);
i = 0;
}
}
const o = new Uint8Array(t.length * 2);
o.set(t, 0);
o.set(n, t.length);
return o.buffer;
}
const t = this.isIPv4(e) ? this.parseIPv4(e) : this.parseIPv6(e);
return new Uint8Array(t).buffer;
}
}
var $o;
var Go;
var Wo;
let Yo = class {
constructor(e = {}) {
Object.assign(this, e);
}
toString() {
return (
this.bmpString ||
this.printableString ||
this.teletexString ||
this.universalString ||
this.utf8String ||
""
);
}
};
e(
[
Vo({
type: to.TeletexString,
}),
],
Yo.prototype,
"teletexString",
undefined,
);
e(
[
Vo({
type: to.PrintableString,
}),
],
Yo.prototype,
"printableString",
undefined,
);
e(
[
Vo({
type: to.UniversalString,
}),
],
Yo.prototype,
"universalString",
undefined,
);
e(
[
Vo({
type: to.Utf8String,
}),
],
Yo.prototype,
"utf8String",
undefined,
);
e(
[
Vo({
type: to.BmpString,
}),
],
Yo.prototype,
"bmpString",
undefined,
);
Yo = e(
[
Po({
type: eo.Choice,
}),
],
Yo,
);
let Jo = class extends Yo {
constructor(e = {}) {
super(e);
Object.assign(this, e);
}
toString() {
return (
this.ia5String ||
(this.anyValue ? Fr.ToHex(this.anyValue) : super.toString())
);
}
};
e(
[
Vo({
type: to.IA5String,
}),
],
Jo.prototype,
"ia5String",
undefined,
);
e(
[
Vo({
type: to.Any,
}),
],
Jo.prototype,
"anyValue",
undefined,
);
Jo = e(
[
Po({
type: eo.Choice,
}),
],
Jo,
);
class zo {
constructor(e = {}) {
this.type = "";
this.value = new Jo();
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
zo.prototype,
"type",
undefined,
);
e(
[
Vo({
type: Jo,
}),
],
zo.prototype,
"value",
undefined,
);
let Xo = ($o = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, $o.prototype);
}
});
Xo = $o = e(
[
Po({
type: eo.Set,
itemType: zo,
}),
],
Xo,
);
let qo = (Go = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, Go.prototype);
}
});
qo = Go = e(
[
Po({
type: eo.Sequence,
itemType: Xo,
}),
],
qo,
);
let Qo = (Wo = class extends qo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, Wo.prototype);
}
});
Qo = Wo = e(
[
Po({
type: eo.Sequence,
}),
],
Qo,
);
const Zo = {
fromASN: (e) => Ko.toString(ho.fromASN(e)),
toASN: (e) => ho.toASN(Ko.fromString(e)),
};
class es {
constructor(e = {}) {
this.typeId = "";
this.value = new ArrayBuffer(0);
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
es.prototype,
"typeId",
undefined,
);
e(
[
Vo({
type: to.Any,
context: 0,
}),
],
es.prototype,
"value",
undefined,
);
class ts {
constructor(e = {}) {
this.partyName = new Yo();
Object.assign(this, e);
}
}
e(
[
Vo({
type: Yo,
optional: true,
context: 0,
implicit: true,
}),
],
ts.prototype,
"nameAssigner",
undefined,
);
e(
[
Vo({
type: Yo,
context: 1,
implicit: true,
}),
],
ts.prototype,
"partyName",
undefined,
);
let rs = class {
constructor(e = {}) {
Object.assign(this, e);
}
};
e(
[
Vo({
type: es,
context: 0,
implicit: true,
}),
],
rs.prototype,
"otherName",
undefined,
);
e(
[
Vo({
type: to.IA5String,
context: 1,
implicit: true,
}),
],
rs.prototype,
"rfc822Name",
undefined,
);
e(
[
Vo({
type: to.IA5String,
context: 2,
implicit: true,
}),
],
rs.prototype,
"dNSName",
undefined,
);
e(
[
Vo({
type: to.Any,
context: 3,
implicit: true,
}),
],
rs.prototype,
"x400Address",
undefined,
);
e(
[
Vo({
type: Qo,
context: 4,
implicit: false,
}),
],
rs.prototype,
"directoryName",
undefined,
);
e(
[
Vo({
type: ts,
context: 5,
}),
],
rs.prototype,
"ediPartyName",
undefined,
);
e(
[
Vo({
type: to.IA5String,
context: 6,
implicit: true,
}),
],
rs.prototype,
"uniformResourceIdentifier",
undefined,
);
e(
[
Vo({
type: to.OctetString,
context: 7,
implicit: true,
converter: Zo,
}),
],
rs.prototype,
"iPAddress",
undefined,
);
e(
[
Vo({
type: to.ObjectIdentifier,
context: 8,
implicit: true,
}),
],
rs.prototype,
"registeredID",
undefined,
);
rs = e(
[
Po({
type: eo.Choice,
}),
],
rs,
);
const ns = "1.3.6.1.5.5.7";
const is = `${ns}.3`;
const os = `${ns}.48`;
const ss = `${os}.1`;
const as = `${os}.2`;
const cs = `${os}.3`;
const ls = `${os}.5`;
const us = "2.5.29";
var ps;
const hs = `${ns}.1.1`;
class fs {
constructor(e = {}) {
this.accessMethod = "";
this.accessLocation = new rs();
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
fs.prototype,
"accessMethod",
undefined,
);
e(
[
Vo({
type: rs,
}),
],
fs.prototype,
"accessLocation",
undefined,
);
let ds = (ps = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, ps.prototype);
}
});
ds = ps = e(
[
Po({
type: eo.Sequence,
itemType: fs,
}),
],
ds,
);
const ys = `${us}.35`;
class ms extends io {}
class gs {
constructor(e = {}) {
if (e) {
Object.assign(this, e);
}
}
}
e(
[
Vo({
type: ms,
context: 0,
optional: true,
implicit: true,
}),
],
gs.prototype,
"keyIdentifier",
undefined,
);
e(
[
Vo({
type: rs,
context: 1,
optional: true,
implicit: true,
repeated: "sequence",
}),
],
gs.prototype,
"authorityCertIssuer",
undefined,
);
e(
[
Vo({
type: to.Integer,
context: 2,
optional: true,
implicit: true,
converter: co,
}),
],
gs.prototype,
"authorityCertSerialNumber",
undefined,
);
const vs = `${us}.19`;
class bs {
constructor(e = {}) {
this.cA = false;
Object.assign(this, e);
}
}
var Es;
e(
[
Vo({
type: to.Boolean,
defaultValue: false,
}),
],
bs.prototype,
"cA",
undefined,
);
e(
[
Vo({
type: to.Integer,
optional: true,
}),
],
bs.prototype,
"pathLenConstraint",
undefined,
);
let ws = (Es = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, Es.prototype);
}
});
var Ss;
ws = Es = e(
[
Po({
type: eo.Sequence,
itemType: rs,
}),
],
ws,
);
let As = (Ss = class extends ws {
constructor(e) {
super(e);
Object.setPrototypeOf(this, Ss.prototype);
}
});
var Ns;
As = Ss = e(
[
Po({
type: eo.Sequence,
}),
],
As,
);
const Ts = `${us}.32`;
let Os = class {
constructor(e = {}) {
Object.assign(this, e);
}
toString() {
return (
this.ia5String ||
this.visibleString ||
this.bmpString ||
this.utf8String ||
""
);
}
};
e(
[
Vo({
type: to.IA5String,
}),
],
Os.prototype,
"ia5String",
undefined,
);
e(
[
Vo({
type: to.VisibleString,
}),
],
Os.prototype,
"visibleString",
undefined,
);
e(
[
Vo({
type: to.BmpString,
}),
],
Os.prototype,
"bmpString",
undefined,
);
e(
[
Vo({
type: to.Utf8String,
}),
],
Os.prototype,
"utf8String",
undefined,
);
Os = e(
[
Po({
type: eo.Choice,
}),
],
Os,
);
class Is {
constructor(e = {}) {
this.organization = new Os();
this.noticeNumbers = [];
Object.assign(this, e);
}
}
e(
[
Vo({
type: Os,
}),
],
Is.prototype,
"organization",
undefined,
);
e(
[
Vo({
type: to.Integer,
repeated: "sequence",
}),
],
Is.prototype,
"noticeNumbers",
undefined,
);
class ks {
constructor(e = {}) {
Object.assign(this, e);
}
}
e(
[
Vo({
type: Is,
optional: true,
}),
],
ks.prototype,
"noticeRef",
undefined,
);
e(
[
Vo({
type: Os,
optional: true,
}),
],
ks.prototype,
"explicitText",
undefined,
);
let Bs = class {
constructor(e = {}) {
Object.assign(this, e);
}
};
e(
[
Vo({
type: to.IA5String,
}),
],
Bs.prototype,
"cPSuri",
undefined,
);
e(
[
Vo({
type: ks,
}),
],
Bs.prototype,
"userNotice",
undefined,
);
Bs = e(
[
Po({
type: eo.Choice,
}),
],
Bs,
);
class xs {
constructor(e = {}) {
this.policyQualifierId = "";
this.qualifier = new ArrayBuffer(0);
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
xs.prototype,
"policyQualifierId",
undefined,
);
e(
[
Vo({
type: to.Any,
}),
],
xs.prototype,
"qualifier",
undefined,
);
class Cs {
constructor(e = {}) {
this.policyIdentifier = "";
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
Cs.prototype,
"policyIdentifier",
undefined,
);
e(
[
Vo({
type: xs,
repeated: "sequence",
optional: true,
}),
],
Cs.prototype,
"policyQualifiers",
undefined,
);
let Rs = (Ns = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, Ns.prototype);
}
});
Rs = Ns = e(
[
Po({
type: eo.Sequence,
itemType: Cs,
}),
],
Rs,
);
let _s = class {
constructor(e = 0) {
this.value = e;
}
};
e(
[
Vo({
type: to.Integer,
}),
],
_s.prototype,
"value",
undefined,
);
_s = e(
[
Po({
type: eo.Choice,
}),
],
_s,
);
let Us = class extends _s {};
var Ds;
Us = e(
[
Po({
type: eo.Choice,
}),
],
Us,
);
const Ps = `${us}.31`;
var Vs;
(function (e) {
e[(e.unused = 1)] = "unused";
e[(e.keyCompromise = 2)] = "keyCompromise";
e[(e.cACompromise = 4)] = "cACompromise";
e[(e.affiliationChanged = 8)] = "affiliationChanged";
e[(e.superseded = 16)] = "superseded";
e[(e.cessationOfOperation = 32)] = "cessationOfOperation";
e[(e.certificateHold = 64)] = "certificateHold";
e[(e.privilegeWithdrawn = 128)] = "privilegeWithdrawn";
e[(e.aACompromise = 256)] = "aACompromise";
})((Vs ||= {}));
class js extends no {
toJSON() {
const e = [];
const t = this.toNumber();
if (t & Vs.aACompromise) {
e.push("aACompromise");
}
if (t & Vs.affiliationChanged) {
e.push("affiliationChanged");
}
if (t & Vs.cACompromise) {
e.push("cACompromise");
}
if (t & Vs.certificateHold) {
e.push("certificateHold");
}
if (t & Vs.cessationOfOperation) {
e.push("cessationOfOperation");
}
if (t & Vs.keyCompromise) {
e.push("keyCompromise");
}
if (t & Vs.privilegeWithdrawn) {
e.push("privilegeWithdrawn");
}
if (t & Vs.superseded) {
e.push("superseded");
}
if (t & Vs.unused) {
e.push("unused");
}
return e;
}
toString() {
return `[${this.toJSON().join(", ")}]`;
}
}
let Ls = class {
constructor(e = {}) {
Object.assign(this, e);
}
};
e(
[
Vo({
type: rs,
context: 0,
repeated: "sequence",
implicit: true,
}),
],
Ls.prototype,
"fullName",
undefined,
);
e(
[
Vo({
type: Xo,
context: 1,
implicit: true,
}),
],
Ls.prototype,
"nameRelativeToCRLIssuer",
undefined,
);
Ls = e(
[
Po({
type: eo.Choice,
}),
],
Ls,
);
class Fs {
constructor(e = {}) {
Object.assign(this, e);
}
}
e(
[
Vo({
type: Ls,
context: 0,
optional: true,
}),
],
Fs.prototype,
"distributionPoint",
undefined,
);
e(
[
Vo({
type: js,
context: 1,
optional: true,
implicit: true,
}),
],
Fs.prototype,
"reasons",
undefined,
);
e(
[
Vo({
type: rs,
context: 2,
optional: true,
repeated: "sequence",
implicit: true,
}),
],
Fs.prototype,
"cRLIssuer",
undefined,
);
let Ms = (Ds = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, Ds.prototype);
}
});
var Hs;
Ms = Ds = e(
[
Po({
type: eo.Sequence,
itemType: Fs,
}),
],
Ms,
);
let Ks = (Hs = class extends Ms {
constructor(e) {
super(e);
Object.setPrototypeOf(this, Hs.prototype);
}
});
Ks = Hs = e(
[
Po({
type: eo.Sequence,
itemType: Fs,
}),
],
Ks,
);
class $s {
constructor(e = {}) {
this.onlyContainsUserCerts = $s.ONLY;
this.onlyContainsCACerts = $s.ONLY;
this.indirectCRL = $s.ONLY;
this.onlyContainsAttributeCerts = $s.ONLY;
Object.assign(this, e);
}
}
var Gs;
$s.ONLY = false;
e(
[
Vo({
type: Ls,
context: 0,
optional: true,
}),
],
$s.prototype,
"distributionPoint",
undefined,
);
e(
[
Vo({
type: to.Boolean,
context: 1,
defaultValue: $s.ONLY,
implicit: true,
}),
],
$s.prototype,
"onlyContainsUserCerts",
undefined,
);
e(
[
Vo({
type: to.Boolean,
context: 2,
defaultValue: $s.ONLY,
implicit: true,
}),
],
$s.prototype,
"onlyContainsCACerts",
undefined,
);
e(
[
Vo({
type: js,
context: 3,
optional: true,
implicit: true,
}),
],
$s.prototype,
"onlySomeReasons",
undefined,
);
e(
[
Vo({
type: to.Boolean,
context: 4,
defaultValue: $s.ONLY,
implicit: true,
}),
],
$s.prototype,
"indirectCRL",
undefined,
);
e(
[
Vo({
type: to.Boolean,
context: 5,
defaultValue: $s.ONLY,
implicit: true,
}),
],
$s.prototype,
"onlyContainsAttributeCerts",
undefined,
);
(function (e) {
e[(e.unspecified = 0)] = "unspecified";
e[(e.keyCompromise = 1)] = "keyCompromise";
e[(e.cACompromise = 2)] = "cACompromise";
e[(e.affiliationChanged = 3)] = "affiliationChanged";
e[(e.superseded = 4)] = "superseded";
e[(e.cessationOfOperation = 5)] = "cessationOfOperation";
e[(e.certificateHold = 6)] = "certificateHold";
e[(e.removeFromCRL = 8)] = "removeFromCRL";
e[(e.privilegeWithdrawn = 9)] = "privilegeWithdrawn";
e[(e.aACompromise = 10)] = "aACompromise";
})((Gs ||= {}));
let Ws = class {
constructor(e = Gs.unspecified) {
this.reason = Gs.unspecified;
this.reason = e;
}
toJSON() {
return Gs[this.reason];
}
toString() {
return this.toJSON();
}
};
var Ys;
e(
[
Vo({
type: to.Enumerated,
}),
],
Ws.prototype,
"reason",
undefined,
);
Ws = e(
[
Po({
type: eo.Choice,
}),
],
Ws,
);
const Js = `${us}.37`;
let zs = (Ys = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, Ys.prototype);
}
});
zs = Ys = e(
[
Po({
type: eo.Sequence,
itemType: to.ObjectIdentifier,
}),
],
zs,
);
const Xs = `${is}.1`;
const qs = `${is}.2`;
const Qs = `${is}.3`;
const Zs = `${is}.4`;
const ea = `${is}.8`;
const ta = `${is}.9`;
let ra = class {
constructor(e = new ArrayBuffer(0)) {
this.value = e;
}
};
e(
[
Vo({
type: to.Integer,
converter: co,
}),
],
ra.prototype,
"value",
undefined,
);
ra = e(
[
Po({
type: eo.Choice,
}),
],
ra,
);
let na = class {
constructor(e) {
this.value = new Date();
if (e) {
this.value = e;
}
}
};
var ia;
e(
[
Vo({
type: to.GeneralizedTime,
}),
],
na.prototype,
"value",
undefined,
);
na = e(
[
Po({
type: eo.Choice,
}),
],
na,
);
let oa = (ia = class extends ws {
constructor(e) {
super(e);
Object.setPrototypeOf(this, ia.prototype);
}
});
oa = ia = e(
[
Po({
type: eo.Sequence,
}),
],
oa,
);
const sa = `${us}.15`;
var aa;
var ca;
(function (e) {
e[(e.digitalSignature = 1)] = "digitalSignature";
e[(e.nonRepudiation = 2)] = "nonRepudiation";
e[(e.keyEncipherment = 4)] = "keyEncipherment";
e[(e.dataEncipherment = 8)] = "dataEncipherment";
e[(e.keyAgreement = 16)] = "keyAgreement";
e[(e.keyCertSign = 32)] = "keyCertSign";
e[(e.cRLSign = 64)] = "cRLSign";
e[(e.encipherOnly = 128)] = "encipherOnly";
e[(e.decipherOnly = 256)] = "decipherOnly";
})((aa ||= {}));
class la extends no {
toJSON() {
const e = this.toNumber();
const t = [];
if (e & aa.cRLSign) {
t.push("crlSign");
}
if (e & aa.dataEncipherment) {
t.push("dataEncipherment");
}
if (e & aa.decipherOnly) {
t.push("decipherOnly");
}
if (e & aa.digitalSignature) {
t.push("digitalSignature");
}
if (e & aa.encipherOnly) {
t.push("encipherOnly");
}
if (e & aa.keyAgreement) {
t.push("keyAgreement");
}
if (e & aa.keyCertSign) {
t.push("keyCertSign");
}
if (e & aa.keyEncipherment) {
t.push("keyEncipherment");
}
if (e & aa.nonRepudiation) {
t.push("nonRepudiation");
}
return t;
}
toString() {
return `[${this.toJSON().join(", ")}]`;
}
}
class ua {
constructor(e = {}) {
this.base = new rs();
this.minimum = 0;
Object.assign(this, e);
}
}
e(
[
Vo({
type: rs,
}),
],
ua.prototype,
"base",
undefined,
);
e(
[
Vo({
type: to.Integer,
context: 0,
defaultValue: 0,
implicit: true,
}),
],
ua.prototype,
"minimum",
undefined,
);
e(
[
Vo({
type: to.Integer,
context: 1,
optional: true,
implicit: true,
}),
],
ua.prototype,
"maximum",
undefined,
);
let pa = (ca = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, ca.prototype);
}
});
pa = ca = e(
[
Po({
type: eo.Sequence,
itemType: ua,
}),
],
pa,
);
class ha {
constructor(e = {}) {
Object.assign(this, e);
}
}
e(
[
Vo({
type: pa,
context: 0,
optional: true,
implicit: true,
}),
],
ha.prototype,
"permittedSubtrees",
undefined,
);
e(
[
Vo({
type: pa,
context: 1,
optional: true,
implicit: true,
}),
],
ha.prototype,
"excludedSubtrees",
undefined,
);
class fa {
constructor(e = {}) {
Object.assign(this, e);
}
}
var da;
e(
[
Vo({
type: to.Integer,
context: 0,
implicit: true,
optional: true,
converter: co,
}),
],
fa.prototype,
"requireExplicitPolicy",
undefined,
);
e(
[
Vo({
type: to.Integer,
context: 1,
implicit: true,
optional: true,
converter: co,
}),
],
fa.prototype,
"inhibitPolicyMapping",
undefined,
);
class ya {
constructor(e = {}) {
this.issuerDomainPolicy = "";
this.subjectDomainPolicy = "";
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
ya.prototype,
"issuerDomainPolicy",
undefined,
);
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
ya.prototype,
"subjectDomainPolicy",
undefined,
);
let ma = (da = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, da.prototype);
}
});
var ga;
ma = da = e(
[
Po({
type: eo.Sequence,
itemType: ya,
}),
],
ma,
);
const va = `${us}.17`;
let ba = (ga = class extends ws {
constructor(e) {
super(e);
Object.setPrototypeOf(this, ga.prototype);
}
});
ba = ga = e(
[
Po({
type: eo.Sequence,
}),
],
ba,
);
let Ea = class {
constructor(e = {}) {
this.type = "";
this.values = [];
Object.assign(this, e);
}
};
var wa;
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
Ea.prototype,
"type",
undefined,
);
e(
[
Vo({
type: to.Any,
repeated: "set",
}),
],
Ea.prototype,
"values",
undefined,
);
let Sa = (wa = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, wa.prototype);
}
});
Sa = wa = e(
[
Po({
type: eo.Sequence,
itemType: Ea,
}),
],
Sa,
);
const Aa = `${us}.14`;
class Na extends ms {}
class Ta {
constructor(e = {}) {
Object.assign(this, e);
}
}
var Oa;
var Ia;
e(
[
Vo({
type: to.GeneralizedTime,
context: 0,
implicit: true,
optional: true,
}),
],
Ta.prototype,
"notBefore",
undefined,
);
e(
[
Vo({
type: to.GeneralizedTime,
context: 1,
implicit: true,
optional: true,
}),
],
Ta.prototype,
"notAfter",
undefined,
);
(function (e) {
e[(e.keyUpdateAllowed = 1)] = "keyUpdateAllowed";
e[(e.newExtensions = 2)] = "newExtensions";
e[(e.pKIXCertificate = 4)] = "pKIXCertificate";
})((Oa ||= {}));
class ka extends no {
toJSON() {
const e = [];
const t = this.toNumber();
if (t & Oa.pKIXCertificate) {
e.push("pKIXCertificate");
}
if (t & Oa.newExtensions) {
e.push("newExtensions");
}
if (t & Oa.keyUpdateAllowed) {
e.push("keyUpdateAllowed");
}
return e;
}
toString() {
return `[${this.toJSON().join(", ")}]`;
}
}
class Ba {
constructor(e = {}) {
this.entrustVers = "";
this.entrustInfoFlags = new ka();
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.GeneralString,
}),
],
Ba.prototype,
"entrustVers",
undefined,
);
e(
[
Vo({
type: ka,
}),
],
Ba.prototype,
"entrustInfoFlags",
undefined,
);
let xa = (Ia = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, Ia.prototype);
}
});
xa = Ia = e(
[
Po({
type: eo.Sequence,
itemType: fs,
}),
],
xa,
);
class Ca {
constructor(e = {}) {
this.algorithm = "";
Object.assign(this, e);
}
isEqual(e) {
return (
e instanceof Ca &&
e.algorithm == this.algorithm &&
((e.parameters &&
this.parameters &&
Mr(e.parameters, this.parameters)) ||
e.parameters === this.parameters)
);
}
}
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
Ca.prototype,
"algorithm",
undefined,
);
e(
[
Vo({
type: to.Any,
optional: true,
}),
],
Ca.prototype,
"parameters",
undefined,
);
class Ra {
constructor(e = {}) {
this.algorithm = new Ca();
this.subjectPublicKey = new ArrayBuffer(0);
Object.assign(this, e);
}
}
e(
[
Vo({
type: Ca,
}),
],
Ra.prototype,
"algorithm",
undefined,
);
e(
[
Vo({
type: to.BitString,
}),
],
Ra.prototype,
"subjectPublicKey",
undefined,
);
let _a = class {
constructor(e) {
if (e) {
if (typeof e == "string" || typeof e == "number" || e instanceof Date) {
const t = new Date(e);
if (t.getUTCFullYear() > 2049) {
this.generalTime = t;
} else {
this.utcTime = t;
}
} else {
Object.assign(this, e);
}
}
}
getTime() {
const e = this.utcTime || this.generalTime;
if (!e) {
throw new Error("Cannot get time from CHOICE object");
}
return e;
}
};
e(
[
Vo({
type: to.UTCTime,
}),
],
_a.prototype,
"utcTime",
undefined,
);
e(
[
Vo({
type: to.GeneralizedTime,
}),
],
_a.prototype,
"generalTime",
undefined,
);
_a = e(
[
Po({
type: eo.Choice,
}),
],
_a,
);
class Ua {
constructor(e) {
this.notBefore = new _a(new Date());
this.notAfter = new _a(new Date());
if (e) {
this.notBefore = new _a(e.notBefore);
this.notAfter = new _a(e.notAfter);
}
}
}
var Da;
e(
[
Vo({
type: _a,
}),
],
Ua.prototype,
"notBefore",
undefined,
);
e(
[
Vo({
type: _a,
}),
],
Ua.prototype,
"notAfter",
undefined,
);
let Pa = class e {
constructor(t = {}) {
this.extnID = "";
this.critical = e.CRITICAL;
this.extnValue = new io();
Object.assign(this, t);
}
};
Pa.CRITICAL = false;
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
Pa.prototype,
"extnID",
undefined,
);
e(
[
Vo({
type: to.Boolean,
defaultValue: Pa.CRITICAL,
}),
],
Pa.prototype,
"critical",
undefined,
);
e(
[
Vo({
type: io,
}),
],
Pa.prototype,
"extnValue",
undefined,
);
let Va = (Da = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, Da.prototype);
}
});
var ja;
Va = Da = e(
[
Po({
type: eo.Sequence,
itemType: Pa,
}),
],
Va,
);
(function (e) {
e[(e.v1 = 0)] = "v1";
e[(e.v2 = 1)] = "v2";
e[(e.v3 = 2)] = "v3";
})((ja ||= {}));
class La {
constructor(e = {}) {
this.version = ja.v1;
this.serialNumber = new ArrayBuffer(0);
this.signature = new Ca();
this.issuer = new Qo();
this.validity = new Ua();
this.subject = new Qo();
this.subjectPublicKeyInfo = new Ra();
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.Integer,
context: 0,
defaultValue: ja.v1,
}),
],
La.prototype,
"version",
undefined,
);
e(
[
Vo({
type: to.Integer,
converter: co,
}),
],
La.prototype,
"serialNumber",
undefined,
);
e(
[
Vo({
type: Ca,
}),
],
La.prototype,
"signature",
undefined,
);
e(
[
Vo({
type: Qo,
}),
],
La.prototype,
"issuer",
undefined,
);
e(
[
Vo({
type: Ua,
}),
],
La.prototype,
"validity",
undefined,
);
e(
[
Vo({
type: Qo,
}),
],
La.prototype,
"subject",
undefined,
);
e(
[
Vo({
type: Ra,
}),
],
La.prototype,
"subjectPublicKeyInfo",
undefined,
);
e(
[
Vo({
type: to.BitString,
context: 1,
implicit: true,
optional: true,
}),
],
La.prototype,
"issuerUniqueID",
undefined,
);
e(
[
Vo({
type: to.BitString,
context: 2,
implicit: true,
optional: true,
}),
],
La.prototype,
"subjectUniqueID",
undefined,
);
e(
[
Vo({
type: Va,
context: 3,
optional: true,
}),
],
La.prototype,
"extensions",
undefined,
);
class Fa {
constructor(e = {}) {
this.tbsCertificate = new La();
this.signatureAlgorithm = new Ca();
this.signatureValue = new ArrayBuffer(0);
Object.assign(this, e);
}
}
e(
[
Vo({
type: La,
}),
],
Fa.prototype,
"tbsCertificate",
undefined,
);
e(
[
Vo({
type: Ca,
}),
],
Fa.prototype,
"signatureAlgorithm",
undefined,
);
e(
[
Vo({
type: to.BitString,
}),
],
Fa.prototype,
"signatureValue",
undefined,
);
class Ma {
constructor(e = {}) {
this.userCertificate = new ArrayBuffer(0);
this.revocationDate = new _a();
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.Integer,
converter: co,
}),
],
Ma.prototype,
"userCertificate",
undefined,
);
e(
[
Vo({
type: _a,
}),
],
Ma.prototype,
"revocationDate",
undefined,
);
e(
[
Vo({
type: Pa,
optional: true,
repeated: "sequence",
}),
],
Ma.prototype,
"crlEntryExtensions",
undefined,
);
class Ha {
constructor(e = {}) {
this.signature = new Ca();
this.issuer = new Qo();
this.thisUpdate = new _a();
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.Integer,
optional: true,
}),
],
Ha.prototype,
"version",
undefined,
);
e(
[
Vo({
type: Ca,
}),
],
Ha.prototype,
"signature",
undefined,
);
e(
[
Vo({
type: Qo,
}),
],
Ha.prototype,
"issuer",
undefined,
);
e(
[
Vo({
type: _a,
}),
],
Ha.prototype,
"thisUpdate",
undefined,
);
e(
[
Vo({
type: _a,
optional: true,
}),
],
Ha.prototype,
"nextUpdate",
undefined,
);
e(
[
Vo({
type: Ma,
repeated: "sequence",
optional: true,
}),
],
Ha.prototype,
"revokedCertificates",
undefined,
);
e(
[
Vo({
type: Pa,
optional: true,
context: 0,
repeated: "sequence",
}),
],
Ha.prototype,
"crlExtensions",
undefined,
);
class Ka {
constructor(e = {}) {
this.tbsCertList = new Ha();
this.signatureAlgorithm = new Ca();
this.signature = new ArrayBuffer(0);
Object.assign(this, e);
}
}
e(
[
Vo({
type: Ha,
}),
],
Ka.prototype,
"tbsCertList",
undefined,
);
e(
[
Vo({
type: Ca,
}),
],
Ka.prototype,
"signatureAlgorithm",
undefined,
);
e(
[
Vo({
type: to.BitString,
}),
],
Ka.prototype,
"signature",
undefined,
);
class $a {
constructor(e = {}) {
this.issuer = new Qo();
this.serialNumber = new ArrayBuffer(0);
Object.assign(this, e);
}
}
e(
[
Vo({
type: Qo,
}),
],
$a.prototype,
"issuer",
undefined,
);
e(
[
Vo({
type: to.Integer,
converter: co,
}),
],
$a.prototype,
"serialNumber",
undefined,
);
let Ga = class {
constructor(e = {}) {
Object.assign(this, e);
}
};
var Wa;
e(
[
Vo({
type: Na,
context: 0,
implicit: true,
}),
],
Ga.prototype,
"subjectKeyIdentifier",
undefined,
);
e(
[
Vo({
type: $a,
}),
],
Ga.prototype,
"issuerAndSerialNumber",
undefined,
);
Ga = e(
[
Po({
type: eo.Choice,
}),
],
Ga,
);
(function (e) {
e[(e.v0 = 0)] = "v0";
e[(e.v1 = 1)] = "v1";
e[(e.v2 = 2)] = "v2";
e[(e.v3 = 3)] = "v3";
e[(e.v4 = 4)] = "v4";
e[(e.v5 = 5)] = "v5";
})((Wa ||= {}));
let Ya = class extends Ca {};
Ya = e(
[
Po({
type: eo.Sequence,
}),
],
Ya,
);
let Ja = class extends Ca {};
Ja = e(
[
Po({
type: eo.Sequence,
}),
],
Ja,
);
let za = class extends Ca {};
za = e(
[
Po({
type: eo.Sequence,
}),
],
za,
);
let Xa = class extends Ca {};
Xa = e(
[
Po({
type: eo.Sequence,
}),
],
Xa,
);
let qa = class extends Ca {};
qa = e(
[
Po({
type: eo.Sequence,
}),
],
qa,
);
let Qa = class extends Ca {};
Qa = e(
[
Po({
type: eo.Sequence,
}),
],
Qa,
);
let Za = class {
constructor(e = {}) {
this.attrType = "";
this.attrValues = [];
Object.assign(this, e);
}
};
var ec;
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
Za.prototype,
"attrType",
undefined,
);
e(
[
Vo({
type: to.Any,
repeated: "set",
}),
],
Za.prototype,
"attrValues",
undefined,
);
class tc {
constructor(e = {}) {
this.version = Wa.v0;
this.sid = new Ga();
this.digestAlgorithm = new Ya();
this.signatureAlgorithm = new Ja();
this.signature = new io();
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.Integer,
}),
],
tc.prototype,
"version",
undefined,
);
e(
[
Vo({
type: Ga,
}),
],
tc.prototype,
"sid",
undefined,
);
e(
[
Vo({
type: Ya,
}),
],
tc.prototype,
"digestAlgorithm",
undefined,
);
e(
[
Vo({
type: Za,
repeated: "set",
context: 0,
implicit: true,
optional: true,
}),
],
tc.prototype,
"signedAttrs",
undefined,
);
e(
[
Vo({
type: Ja,
}),
],
tc.prototype,
"signatureAlgorithm",
undefined,
);
e(
[
Vo({
type: io,
}),
],
tc.prototype,
"signature",
undefined,
);
e(
[
Vo({
type: Za,
repeated: "set",
context: 1,
implicit: true,
optional: true,
}),
],
tc.prototype,
"unsignedAttrs",
undefined,
);
let rc = (ec = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, ec.prototype);
}
});
rc = ec = e(
[
Po({
type: eo.Set,
itemType: tc,
}),
],
rc,
);
let nc = class extends _a {};
nc = e(
[
Po({
type: eo.Choice,
}),
],
nc,
);
let ic = class extends tc {};
ic = e(
[
Po({
type: eo.Sequence,
}),
],
ic,
);
class oc {
constructor(e = {}) {
this.acIssuer = new rs();
this.acSerial = 0;
this.attrs = [];
Object.assign(this, e);
}
}
var sc;
e(
[
Vo({
type: rs,
}),
],
oc.prototype,
"acIssuer",
undefined,
);
e(
[
Vo({
type: to.Integer,
}),
],
oc.prototype,
"acSerial",
undefined,
);
e(
[
Vo({
type: Ea,
repeated: "sequence",
}),
],
oc.prototype,
"attrs",
undefined,
);
let ac = (sc = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, sc.prototype);
}
});
ac = sc = e(
[
Po({
type: eo.Sequence,
itemType: to.ObjectIdentifier,
}),
],
ac,
);
class cc {
constructor(e = {}) {
this.permitUnSpecified = true;
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.Integer,
optional: true,
}),
],
cc.prototype,
"pathLenConstraint",
undefined,
);
e(
[
Vo({
type: ac,
implicit: true,
context: 0,
optional: true,
}),
],
cc.prototype,
"permittedAttrs",
undefined,
);
e(
[
Vo({
type: ac,
implicit: true,
context: 1,
optional: true,
}),
],
cc.prototype,
"excludedAttrs",
undefined,
);
e(
[
Vo({
type: to.Boolean,
defaultValue: true,
}),
],
cc.prototype,
"permitUnSpecified",
undefined,
);
class lc {
constructor(e = {}) {
this.issuer = new ws();
this.serial = new ArrayBuffer(0);
this.issuerUID = new ArrayBuffer(0);
Object.assign(this, e);
}
}
var uc;
e(
[
Vo({
type: ws,
}),
],
lc.prototype,
"issuer",
undefined,
);
e(
[
Vo({
type: to.Integer,
converter: co,
}),
],
lc.prototype,
"serial",
undefined,
);
e(
[
Vo({
type: to.BitString,
optional: true,
}),
],
lc.prototype,
"issuerUID",
undefined,
);
(function (e) {
e[(e.publicKey = 0)] = "publicKey";
e[(e.publicKeyCert = 1)] = "publicKeyCert";
e[(e.otherObjectTypes = 2)] = "otherObjectTypes";
})((uc ||= {}));
class pc {
constructor(e = {}) {
this.digestedObjectType = uc.publicKey;
this.digestAlgorithm = new Ca();
this.objectDigest = new ArrayBuffer(0);
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.Enumerated,
}),
],
pc.prototype,
"digestedObjectType",
undefined,
);
e(
[
Vo({
type: to.ObjectIdentifier,
optional: true,
}),
],
pc.prototype,
"otherObjectTypeID",
undefined,
);
e(
[
Vo({
type: Ca,
}),
],
pc.prototype,
"digestAlgorithm",
undefined,
);
e(
[
Vo({
type: to.BitString,
}),
],
pc.prototype,
"objectDigest",
undefined,
);
class hc {
constructor(e = {}) {
Object.assign(this, e);
}
}
e(
[
Vo({
type: ws,
optional: true,
}),
],
hc.prototype,
"issuerName",
undefined,
);
e(
[
Vo({
type: lc,
context: 0,
implicit: true,
optional: true,
}),
],
hc.prototype,
"baseCertificateID",
undefined,
);
e(
[
Vo({
type: pc,
context: 1,
implicit: true,
optional: true,
}),
],
hc.prototype,
"objectDigestInfo",
undefined,
);
let fc = class {
constructor(e = {}) {
Object.assign(this, e);
}
};
e(
[
Vo({
type: rs,
repeated: "sequence",
}),
],
fc.prototype,
"v1Form",
undefined,
);
e(
[
Vo({
type: hc,
context: 0,
implicit: true,
}),
],
fc.prototype,
"v2Form",
undefined,
);
fc = e(
[
Po({
type: eo.Choice,
}),
],
fc,
);
class dc {
constructor(e = {}) {
this.notBeforeTime = new Date();
this.notAfterTime = new Date();
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.GeneralizedTime,
}),
],
dc.prototype,
"notBeforeTime",
undefined,
);
e(
[
Vo({
type: to.GeneralizedTime,
}),
],
dc.prototype,
"notAfterTime",
undefined,
);
class yc {
constructor(e = {}) {
Object.assign(this, e);
}
}
var mc;
var gc;
var vc;
e(
[
Vo({
type: lc,
implicit: true,
context: 0,
optional: true,
}),
],
yc.prototype,
"baseCertificateID",
undefined,
);
e(
[
Vo({
type: ws,
implicit: true,
context: 1,
optional: true,
}),
],
yc.prototype,
"entityName",
undefined,
);
e(
[
Vo({
type: pc,
implicit: true,
context: 2,
optional: true,
}),
],
yc.prototype,
"objectDigestInfo",
undefined,
);
(function (e) {
e[(e.v2 = 1)] = "v2";
})((mc ||= {}));
class bc {
constructor(e = {}) {
this.version = mc.v2;
this.holder = new yc();
this.issuer = new fc();
this.signature = new Ca();
this.serialNumber = new ArrayBuffer(0);
this.attrCertValidityPeriod = new dc();
this.attributes = [];
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.Integer,
}),
],
bc.prototype,
"version",
undefined,
);
e(
[
Vo({
type: yc,
}),
],
bc.prototype,
"holder",
undefined,
);
e(
[
Vo({
type: fc,
}),
],
bc.prototype,
"issuer",
undefined,
);
e(
[
Vo({
type: Ca,
}),
],
bc.prototype,
"signature",
undefined,
);
e(
[
Vo({
type: to.Integer,
converter: co,
}),
],
bc.prototype,
"serialNumber",
undefined,
);
e(
[
Vo({
type: dc,
}),
],
bc.prototype,
"attrCertValidityPeriod",
undefined,
);
e(
[
Vo({
type: Ea,
repeated: "sequence",
}),
],
bc.prototype,
"attributes",
undefined,
);
e(
[
Vo({
type: to.BitString,
optional: true,
}),
],
bc.prototype,
"issuerUniqueID",
undefined,
);
e(
[
Vo({
type: Va,
optional: true,
}),
],
bc.prototype,
"extensions",
undefined,
);
class Ec {
constructor(e = {}) {
this.acinfo = new bc();
this.signatureAlgorithm = new Ca();
this.signatureValue = new ArrayBuffer(0);
Object.assign(this, e);
}
}
e(
[
Vo({
type: bc,
}),
],
Ec.prototype,
"acinfo",
undefined,
);
e(
[
Vo({
type: Ca,
}),
],
Ec.prototype,
"signatureAlgorithm",
undefined,
);
e(
[
Vo({
type: to.BitString,
}),
],
Ec.prototype,
"signatureValue",
undefined,
);
(function (e) {
e[(e.unmarked = 1)] = "unmarked";
e[(e.unclassified = 2)] = "unclassified";
e[(e.restricted = 4)] = "restricted";
e[(e.confidential = 8)] = "confidential";
e[(e.secret = 16)] = "secret";
e[(e.topSecret = 32)] = "topSecret";
})((gc ||= {}));
class wc extends no {}
class Sc {
constructor(e = {}) {
this.type = "";
this.value = new ArrayBuffer(0);
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.ObjectIdentifier,
implicit: true,
context: 0,
}),
],
Sc.prototype,
"type",
undefined,
);
e(
[
Vo({
type: to.Any,
implicit: true,
context: 1,
}),
],
Sc.prototype,
"value",
undefined,
);
class Ac {
constructor(e = {}) {
this.policyId = "";
this.classList = new wc(gc.unclassified);
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
Ac.prototype,
"policyId",
undefined,
);
e(
[
Vo({
type: wc,
defaultValue: new wc(gc.unclassified),
}),
],
Ac.prototype,
"classList",
undefined,
);
e(
[
Vo({
type: Sc,
repeated: "set",
}),
],
Ac.prototype,
"securityCategories",
undefined,
);
class Nc {
constructor(e = {}) {
Object.assign(this, e);
}
}
e(
[
Vo({
type: io,
}),
],
Nc.prototype,
"cotets",
undefined,
);
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
Nc.prototype,
"oid",
undefined,
);
e(
[
Vo({
type: to.Utf8String,
}),
],
Nc.prototype,
"string",
undefined,
);
class Tc {
constructor(e = {}) {
this.values = [];
Object.assign(this, e);
}
}
e(
[
Vo({
type: ws,
implicit: true,
context: 0,
optional: true,
}),
],
Tc.prototype,
"policyAuthority",
undefined,
);
e(
[
Vo({
type: Nc,
repeated: "sequence",
}),
],
Tc.prototype,
"values",
undefined,
);
class Oc {
constructor(e = {}) {
this.targetCertificate = new lc();
Object.assign(this, e);
}
}
e(
[
Vo({
type: lc,
}),
],
Oc.prototype,
"targetCertificate",
undefined,
);
e(
[
Vo({
type: rs,
optional: true,
}),
],
Oc.prototype,
"targetName",
undefined,
);
e(
[
Vo({
type: pc,
optional: true,
}),
],
Oc.prototype,
"certDigestInfo",
undefined,
);
let Ic = class {
constructor(e = {}) {
Object.assign(this, e);
}
};
e(
[
Vo({
type: rs,
context: 0,
implicit: true,
}),
],
Ic.prototype,
"targetName",
undefined,
);
e(
[
Vo({
type: rs,
context: 1,
implicit: true,
}),
],
Ic.prototype,
"targetGroup",
undefined,
);
e(
[
Vo({
type: Oc,
context: 2,
implicit: true,
}),
],
Ic.prototype,
"targetCert",
undefined,
);
Ic = e(
[
Po({
type: eo.Choice,
}),
],
Ic,
);
let kc = (vc = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, vc.prototype);
}
});
var Bc;
kc = vc = e(
[
Po({
type: eo.Sequence,
itemType: Ic,
}),
],
kc,
);
let xc = (Bc = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, Bc.prototype);
}
});
xc = Bc = e(
[
Po({
type: eo.Sequence,
itemType: kc,
}),
],
xc,
);
class Cc {
constructor(e = {}) {
Object.assign(this, e);
}
}
e(
[
Vo({
type: ws,
implicit: true,
context: 0,
optional: true,
}),
],
Cc.prototype,
"roleAuthority",
undefined,
);
e(
[
Vo({
type: rs,
implicit: true,
context: 1,
}),
],
Cc.prototype,
"roleName",
undefined,
);
class Rc {
constructor(e = {}) {
this.service = new rs();
this.ident = new rs();
Object.assign(this, e);
}
}
var _c;
e(
[
Vo({
type: rs,
}),
],
Rc.prototype,
"service",
undefined,
);
e(
[
Vo({
type: rs,
}),
],
Rc.prototype,
"ident",
undefined,
);
e(
[
Vo({
type: io,
optional: true,
}),
],
Rc.prototype,
"authInfo",
undefined,
);
class Uc {
constructor(e = {}) {
this.otherCertFormat = "";
this.otherCert = new ArrayBuffer(0);
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
Uc.prototype,
"otherCertFormat",
undefined,
);
e(
[
Vo({
type: to.Any,
}),
],
Uc.prototype,
"otherCert",
undefined,
);
let Dc = class {
constructor(e = {}) {
Object.assign(this, e);
}
};
e(
[
Vo({
type: Fa,
}),
],
Dc.prototype,
"certificate",
undefined,
);
e(
[
Vo({
type: Ec,
context: 2,
implicit: true,
}),
],
Dc.prototype,
"v2AttrCert",
undefined,
);
e(
[
Vo({
type: Uc,
context: 3,
implicit: true,
}),
],
Dc.prototype,
"other",
undefined,
);
Dc = e(
[
Po({
type: eo.Choice,
}),
],
Dc,
);
let Pc = (_c = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, _c.prototype);
}
});
Pc = _c = e(
[
Po({
type: eo.Set,
itemType: Dc,
}),
],
Pc,
);
class Vc {
constructor(e = {}) {
this.contentType = "";
this.content = new ArrayBuffer(0);
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
Vc.prototype,
"contentType",
undefined,
);
e(
[
Vo({
type: to.Any,
context: 0,
}),
],
Vc.prototype,
"content",
undefined,
);
let jc = class {
constructor(e = {}) {
Object.assign(this, e);
}
};
e(
[
Vo({
type: io,
}),
],
jc.prototype,
"single",
undefined,
);
e(
[
Vo({
type: to.Any,
}),
],
jc.prototype,
"any",
undefined,
);
jc = e(
[
Po({
type: eo.Choice,
}),
],
jc,
);
class Lc {
constructor(e = {}) {
this.eContentType = "";
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
Lc.prototype,
"eContentType",
undefined,
);
e(
[
Vo({
type: jc,
context: 0,
optional: true,
}),
],
Lc.prototype,
"eContent",
undefined,
);
let Fc = class {
constructor(e = {}) {
Object.assign(this, e);
}
};
e(
[
Vo({
type: io,
context: 0,
implicit: true,
optional: true,
}),
],
Fc.prototype,
"value",
undefined,
);
e(
[
Vo({
type: io,
converter: fo,
context: 0,
implicit: true,
optional: true,
repeated: "sequence",
}),
],
Fc.prototype,
"constructedValue",
undefined,
);
Fc = e(
[
Po({
type: eo.Choice,
}),
],
Fc,
);
class Mc {
constructor(e = {}) {
this.contentType = "";
this.contentEncryptionAlgorithm = new Xa();
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
Mc.prototype,
"contentType",
undefined,
);
e(
[
Vo({
type: Xa,
}),
],
Mc.prototype,
"contentEncryptionAlgorithm",
undefined,
);
e(
[
Vo({
type: Fc,
optional: true,
}),
],
Mc.prototype,
"encryptedContent",
undefined,
);
class Hc {
constructor(e = {}) {
this.keyAttrId = "";
Object.assign(this, e);
}
}
var Kc;
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
Hc.prototype,
"keyAttrId",
undefined,
);
e(
[
Vo({
type: to.Any,
optional: true,
}),
],
Hc.prototype,
"keyAttr",
undefined,
);
class $c {
constructor(e = {}) {
this.subjectKeyIdentifier = new Na();
Object.assign(this, e);
}
}
e(
[
Vo({
type: Na,
}),
],
$c.prototype,
"subjectKeyIdentifier",
undefined,
);
e(
[
Vo({
type: to.GeneralizedTime,
optional: true,
}),
],
$c.prototype,
"date",
undefined,
);
e(
[
Vo({
type: Hc,
optional: true,
}),
],
$c.prototype,
"other",
undefined,
);
let Gc = class {
constructor(e = {}) {
Object.assign(this, e);
}
};
e(
[
Vo({
type: $c,
context: 0,
implicit: true,
optional: true,
}),
],
Gc.prototype,
"rKeyId",
undefined,
);
e(
[
Vo({
type: $a,
optional: true,
}),
],
Gc.prototype,
"issuerAndSerialNumber",
undefined,
);
Gc = e(
[
Po({
type: eo.Choice,
}),
],
Gc,
);
class Wc {
constructor(e = {}) {
this.rid = new Gc();
this.encryptedKey = new io();
Object.assign(this, e);
}
}
e(
[
Vo({
type: Gc,
}),
],
Wc.prototype,
"rid",
undefined,
);
e(
[
Vo({
type: io,
}),
],
Wc.prototype,
"encryptedKey",
undefined,
);
let Yc = (Kc = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, Kc.prototype);
}
});
Yc = Kc = e(
[
Po({
type: eo.Sequence,
itemType: Wc,
}),
],
Yc,
);
class Jc {
constructor(e = {}) {
this.algorithm = new Ca();
this.publicKey = new ArrayBuffer(0);
Object.assign(this, e);
}
}
e(
[
Vo({
type: Ca,
}),
],
Jc.prototype,
"algorithm",
undefined,
);
e(
[
Vo({
type: to.BitString,
}),
],
Jc.prototype,
"publicKey",
undefined,
);
let zc = class {
constructor(e = {}) {
Object.assign(this, e);
}
};
e(
[
Vo({
type: Na,
context: 0,
implicit: true,
optional: true,
}),
],
zc.prototype,
"subjectKeyIdentifier",
undefined,
);
e(
[
Vo({
type: Jc,
context: 1,
implicit: true,
optional: true,
}),
],
zc.prototype,
"originatorKey",
undefined,
);
e(
[
Vo({
type: $a,
optional: true,
}),
],
zc.prototype,
"issuerAndSerialNumber",
undefined,
);
zc = e(
[
Po({
type: eo.Choice,
}),
],
zc,
);
class Xc {
constructor(e = {}) {
this.version = Wa.v3;
this.originator = new zc();
this.keyEncryptionAlgorithm = new za();
this.recipientEncryptedKeys = new Yc();
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.Integer,
}),
],
Xc.prototype,
"version",
undefined,
);
e(
[
Vo({
type: zc,
context: 0,
}),
],
Xc.prototype,
"originator",
undefined,
);
e(
[
Vo({
type: io,
context: 1,
optional: true,
}),
],
Xc.prototype,
"ukm",
undefined,
);
e(
[
Vo({
type: za,
}),
],
Xc.prototype,
"keyEncryptionAlgorithm",
undefined,
);
e(
[
Vo({
type: Yc,
}),
],
Xc.prototype,
"recipientEncryptedKeys",
undefined,
);
let qc = class {
constructor(e = {}) {
Object.assign(this, e);
}
};
e(
[
Vo({
type: Na,
context: 0,
implicit: true,
}),
],
qc.prototype,
"subjectKeyIdentifier",
undefined,
);
e(
[
Vo({
type: $a,
}),
],
qc.prototype,
"issuerAndSerialNumber",
undefined,
);
qc = e(
[
Po({
type: eo.Choice,
}),
],
qc,
);
class Qc {
constructor(e = {}) {
this.version = Wa.v0;
this.rid = new qc();
this.keyEncryptionAlgorithm = new za();
this.encryptedKey = new io();
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.Integer,
}),
],
Qc.prototype,
"version",
undefined,
);
e(
[
Vo({
type: qc,
}),
],
Qc.prototype,
"rid",
undefined,
);
e(
[
Vo({
type: za,
}),
],
Qc.prototype,
"keyEncryptionAlgorithm",
undefined,
);
e(
[
Vo({
type: io,
}),
],
Qc.prototype,
"encryptedKey",
undefined,
);
class Zc {
constructor(e = {}) {
this.keyIdentifier = new io();
Object.assign(this, e);
}
}
e(
[
Vo({
type: io,
}),
],
Zc.prototype,
"keyIdentifier",
undefined,
);
e(
[
Vo({
type: to.GeneralizedTime,
optional: true,
}),
],
Zc.prototype,
"date",
undefined,
);
e(
[
Vo({
type: Hc,
optional: true,
}),
],
Zc.prototype,
"other",
undefined,
);
class el {
constructor(e = {}) {
this.version = Wa.v4;
this.kekid = new Zc();
this.keyEncryptionAlgorithm = new za();
this.encryptedKey = new io();
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.Integer,
}),
],
el.prototype,
"version",
undefined,
);
e(
[
Vo({
type: Zc,
}),
],
el.prototype,
"kekid",
undefined,
);
e(
[
Vo({
type: za,
}),
],
el.prototype,
"keyEncryptionAlgorithm",
undefined,
);
e(
[
Vo({
type: io,
}),
],
el.prototype,
"encryptedKey",
undefined,
);
class tl {
constructor(e = {}) {
this.version = Wa.v0;
this.keyEncryptionAlgorithm = new za();
this.encryptedKey = new io();
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.Integer,
}),
],
tl.prototype,
"version",
undefined,
);
e(
[
Vo({
type: Qa,
context: 0,
optional: true,
}),
],
tl.prototype,
"keyDerivationAlgorithm",
undefined,
);
e(
[
Vo({
type: za,
}),
],
tl.prototype,
"keyEncryptionAlgorithm",
undefined,
);
e(
[
Vo({
type: io,
}),
],
tl.prototype,
"encryptedKey",
undefined,
);
class rl {
constructor(e = {}) {
this.oriType = "";
this.oriValue = new ArrayBuffer(0);
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
rl.prototype,
"oriType",
undefined,
);
e(
[
Vo({
type: to.Any,
}),
],
rl.prototype,
"oriValue",
undefined,
);
let nl = class {
constructor(e = {}) {
Object.assign(this, e);
}
};
var il;
e(
[
Vo({
type: Qc,
optional: true,
}),
],
nl.prototype,
"ktri",
undefined,
);
e(
[
Vo({
type: Xc,
context: 1,
implicit: true,
optional: true,
}),
],
nl.prototype,
"kari",
undefined,
);
e(
[
Vo({
type: el,
context: 2,
implicit: true,
optional: true,
}),
],
nl.prototype,
"kekri",
undefined,
);
e(
[
Vo({
type: tl,
context: 3,
implicit: true,
optional: true,
}),
],
nl.prototype,
"pwri",
undefined,
);
e(
[
Vo({
type: rl,
context: 4,
implicit: true,
optional: true,
}),
],
nl.prototype,
"ori",
undefined,
);
nl = e(
[
Po({
type: eo.Choice,
}),
],
nl,
);
let ol = (il = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, il.prototype);
}
});
var sl;
ol = il = e(
[
Po({
type: eo.Set,
itemType: nl,
}),
],
ol,
);
class al {
constructor(e = {}) {
this.otherRevInfoFormat = "";
this.otherRevInfo = new ArrayBuffer(0);
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
al.prototype,
"otherRevInfoFormat",
undefined,
);
e(
[
Vo({
type: to.Any,
}),
],
al.prototype,
"otherRevInfo",
undefined,
);
let cl = class {
constructor(e = {}) {
this.other = new al();
Object.assign(this, e);
}
};
e(
[
Vo({
type: al,
context: 1,
implicit: true,
}),
],
cl.prototype,
"other",
undefined,
);
cl = e(
[
Po({
type: eo.Choice,
}),
],
cl,
);
let ll = (sl = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, sl.prototype);
}
});
ll = sl = e(
[
Po({
type: eo.Set,
itemType: cl,
}),
],
ll,
);
class ul {
constructor(e = {}) {
Object.assign(this, e);
}
}
var pl;
e(
[
Vo({
type: Pc,
context: 0,
implicit: true,
optional: true,
}),
],
ul.prototype,
"certs",
undefined,
);
e(
[
Vo({
type: ll,
context: 1,
implicit: true,
optional: true,
}),
],
ul.prototype,
"crls",
undefined,
);
let hl = (pl = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, pl.prototype);
}
});
hl = pl = e(
[
Po({
type: eo.Set,
itemType: Za,
}),
],
hl,
);
class fl {
constructor(e = {}) {
this.version = Wa.v0;
this.recipientInfos = new ol();
this.encryptedContentInfo = new Mc();
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.Integer,
}),
],
fl.prototype,
"version",
undefined,
);
e(
[
Vo({
type: ul,
context: 0,
implicit: true,
optional: true,
}),
],
fl.prototype,
"originatorInfo",
undefined,
);
e(
[
Vo({
type: ol,
}),
],
fl.prototype,
"recipientInfos",
undefined,
);
e(
[
Vo({
type: Mc,
}),
],
fl.prototype,
"encryptedContentInfo",
undefined,
);
e(
[
Vo({
type: hl,
context: 1,
implicit: true,
optional: true,
}),
],
fl.prototype,
"unprotectedAttrs",
undefined,
);
const dl = "1.2.840.113549.1.7.2";
var yl;
let ml = (yl = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, yl.prototype);
}
});
ml = yl = e(
[
Po({
type: eo.Set,
itemType: Ya,
}),
],
ml,
);
class gl {
constructor(e = {}) {
this.version = Wa.v0;
this.digestAlgorithms = new ml();
this.encapContentInfo = new Lc();
this.signerInfos = new rc();
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.Integer,
}),
],
gl.prototype,
"version",
undefined,
);
e(
[
Vo({
type: ml,
}),
],
gl.prototype,
"digestAlgorithms",
undefined,
);
e(
[
Vo({
type: Lc,
}),
],
gl.prototype,
"encapContentInfo",
undefined,
);
e(
[
Vo({
type: Pc,
context: 0,
implicit: true,
optional: true,
}),
],
gl.prototype,
"certificates",
undefined,
);
e(
[
Vo({
type: ll,
context: 1,
implicit: true,
optional: true,
}),
],
gl.prototype,
"crls",
undefined,
);
e(
[
Vo({
type: rc,
}),
],
gl.prototype,
"signerInfos",
undefined,
);
const vl = "1.2.840.10045.2.1";
const bl = "1.2.840.10045.4.1";
const El = "1.2.840.10045.4.3.1";
const wl = "1.2.840.10045.4.3.2";
const Sl = "1.2.840.10045.4.3.3";
const Al = "1.2.840.10045.4.3.4";
const Nl = "1.2.840.10045.3.1.7";
const Tl = "1.3.132.0.34";
const Ol = "1.3.132.0.35";
function Il(e) {
return new Ca({
algorithm: e,
});
}
const kl = Il(bl);
Il(El);
const Bl = Il(wl);
const xl = Il(Sl);
const Cl = Il(Al);
let Rl = class {
constructor(e = {}) {
Object.assign(this, e);
}
};
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
Rl.prototype,
"fieldType",
undefined,
);
e(
[
Vo({
type: to.Any,
}),
],
Rl.prototype,
"parameters",
undefined,
);
Rl = e(
[
Po({
type: eo.Sequence,
}),
],
Rl,
);
let _l = class {
constructor(e = {}) {
Object.assign(this, e);
}
};
var Ul;
e(
[
Vo({
type: to.OctetString,
}),
],
_l.prototype,
"a",
undefined,
);
e(
[
Vo({
type: to.OctetString,
}),
],
_l.prototype,
"b",
undefined,
);
e(
[
Vo({
type: to.BitString,
optional: true,
}),
],
_l.prototype,
"seed",
undefined,
);
_l = e(
[
Po({
type: eo.Sequence,
}),
],
_l,
);
(function (e) {
e[(e.ecpVer1 = 1)] = "ecpVer1";
})((Ul ||= {}));
let Dl = class {
constructor(e = {}) {
this.version = Ul.ecpVer1;
Object.assign(this, e);
}
};
e(
[
Vo({
type: to.Integer,
}),
],
Dl.prototype,
"version",
undefined,
);
e(
[
Vo({
type: Rl,
}),
],
Dl.prototype,
"fieldID",
undefined,
);
e(
[
Vo({
type: _l,
}),
],
Dl.prototype,
"curve",
undefined,
);
e(
[
Vo({
type: class extends io {},
}),
],
Dl.prototype,
"base",
undefined,
);
e(
[
Vo({
type: to.Integer,
converter: co,
}),
],
Dl.prototype,
"order",
undefined,
);
e(
[
Vo({
type: to.Integer,
optional: true,
}),
],
Dl.prototype,
"cofactor",
undefined,
);
Dl = e(
[
Po({
type: eo.Sequence,
}),
],
Dl,
);
let Pl = class {
constructor(e = {}) {
Object.assign(this, e);
}
};
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
Pl.prototype,
"namedCurve",
undefined,
);
e(
[
Vo({
type: to.Null,
}),
],
Pl.prototype,
"implicitCurve",
undefined,
);
e(
[
Vo({
type: Dl,
}),
],
Pl.prototype,
"specifiedCurve",
undefined,
);
Pl = e(
[
Po({
type: eo.Choice,
}),
],
Pl,
);
class Vl {
constructor(e = {}) {
this.version = 1;
this.privateKey = new io();
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.Integer,
}),
],
Vl.prototype,
"version",
undefined,
);
e(
[
Vo({
type: io,
}),
],
Vl.prototype,
"privateKey",
undefined,
);
e(
[
Vo({
type: Pl,
context: 0,
optional: true,
}),
],
Vl.prototype,
"parameters",
undefined,
);
e(
[
Vo({
type: to.BitString,
context: 1,
optional: true,
}),
],
Vl.prototype,
"publicKey",
undefined,
);
class jl {
constructor(e = {}) {
this.r = new ArrayBuffer(0);
this.s = new ArrayBuffer(0);
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.Integer,
converter: co,
}),
],
jl.prototype,
"r",
undefined,
);
e(
[
Vo({
type: to.Integer,
converter: co,
}),
],
jl.prototype,
"s",
undefined,
);
const Ll = "1.2.840.113549.1.1";
const Fl = `${Ll}.1`;
const Ml = `${Ll}.7`;
const Hl = `${Ll}.9`;
const Kl = `${Ll}.10`;
const $l = `${Ll}.2`;
const Gl = `${Ll}.4`;
const Wl = `${Ll}.5`;
const Yl = `${Ll}.14`;
const Jl = `${Ll}.11`;
const zl = `${Ll}.12`;
const Xl = `${Ll}.13`;
const ql = `${Ll}.15`;
const Ql = `${Ll}.16`;
const Zl = "1.3.14.3.2.26";
const eu = "2.16.840.1.101.3.4.2.4";
const tu = "2.16.840.1.101.3.4.2.1";
const ru = "2.16.840.1.101.3.4.2.2";
const nu = "2.16.840.1.101.3.4.2.3";
const iu = `${Ll}.8`;
function ou(e) {
return new Ca({
algorithm: e,
parameters: null,
});
}
ou("1.2.840.113549.2.2");
ou("1.2.840.113549.2.5");
const su = ou(Zl);
ou(eu);
ou(tu);
ou(ru);
ou(nu);
ou("2.16.840.1.101.3.4.2.5");
ou("2.16.840.1.101.3.4.2.6");
const au = new Ca({
algorithm: iu,
parameters: Ho.serialize(su),
});
const cu = new Ca({
algorithm: Hl,
parameters: Ho.serialize(
ho.toASN(
new Uint8Array([
218, 57, 163, 238, 94, 107, 75, 13, 50, 85, 191, 239, 149, 96, 24,
144, 175, 216, 7, 9,
]).buffer,
),
),
});
ou(Fl);
ou($l);
ou(Gl);
ou(Wl);
ou(ql);
ou(Ql);
ou(zl);
ou(Xl);
ou(ql);
ou(Ql);
class lu {
constructor(e = {}) {
this.hashAlgorithm = new Ca(su);
this.maskGenAlgorithm = new Ca({
algorithm: iu,
parameters: Ho.serialize(su),
});
this.pSourceAlgorithm = new Ca(cu);
Object.assign(this, e);
}
}
e(
[
Vo({
type: Ca,
context: 0,
defaultValue: su,
}),
],
lu.prototype,
"hashAlgorithm",
undefined,
);
e(
[
Vo({
type: Ca,
context: 1,
defaultValue: au,
}),
],
lu.prototype,
"maskGenAlgorithm",
undefined,
);
e(
[
Vo({
type: Ca,
context: 2,
defaultValue: cu,
}),
],
lu.prototype,
"pSourceAlgorithm",
undefined,
);
new Ca({
algorithm: Ml,
parameters: Ho.serialize(new lu()),
});
class uu {
constructor(e = {}) {
this.hashAlgorithm = new Ca(su);
this.maskGenAlgorithm = new Ca({
algorithm: iu,
parameters: Ho.serialize(su),
});
this.saltLength = 20;
this.trailerField = 1;
Object.assign(this, e);
}
}
e(
[
Vo({
type: Ca,
context: 0,
defaultValue: su,
}),
],
uu.prototype,
"hashAlgorithm",
undefined,
);
e(
[
Vo({
type: Ca,
context: 1,
defaultValue: au,
}),
],
uu.prototype,
"maskGenAlgorithm",
undefined,
);
e(
[
Vo({
type: to.Integer,
context: 2,
defaultValue: 20,
}),
],
uu.prototype,
"saltLength",
undefined,
);
e(
[
Vo({
type: to.Integer,
context: 3,
defaultValue: 1,
}),
],
uu.prototype,
"trailerField",
undefined,
);
new Ca({
algorithm: Kl,
parameters: Ho.serialize(new uu()),
});
class pu {
constructor(e = {}) {
this.digestAlgorithm = new Ca();
this.digest = new io();
Object.assign(this, e);
}
}
var hu;
e(
[
Vo({
type: Ca,
}),
],
pu.prototype,
"digestAlgorithm",
undefined,
);
e(
[
Vo({
type: io,
}),
],
pu.prototype,
"digest",
undefined,
);
class fu {
constructor(e = {}) {
this.prime = new ArrayBuffer(0);
this.exponent = new ArrayBuffer(0);
this.coefficient = new ArrayBuffer(0);
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.Integer,
converter: co,
}),
],
fu.prototype,
"prime",
undefined,
);
e(
[
Vo({
type: to.Integer,
converter: co,
}),
],
fu.prototype,
"exponent",
undefined,
);
e(
[
Vo({
type: to.Integer,
converter: co,
}),
],
fu.prototype,
"coefficient",
undefined,
);
let du = (hu = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, hu.prototype);
}
});
du = hu = e(
[
Po({
type: eo.Sequence,
itemType: fu,
}),
],
du,
);
class yu {
constructor(e = {}) {
this.version = 0;
this.modulus = new ArrayBuffer(0);
this.publicExponent = new ArrayBuffer(0);
this.privateExponent = new ArrayBuffer(0);
this.prime1 = new ArrayBuffer(0);
this.prime2 = new ArrayBuffer(0);
this.exponent1 = new ArrayBuffer(0);
this.exponent2 = new ArrayBuffer(0);
this.coefficient = new ArrayBuffer(0);
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.Integer,
}),
],
yu.prototype,
"version",
undefined,
);
e(
[
Vo({
type: to.Integer,
converter: co,
}),
],
yu.prototype,
"modulus",
undefined,
);
e(
[
Vo({
type: to.Integer,
converter: co,
}),
],
yu.prototype,
"publicExponent",
undefined,
);
e(
[
Vo({
type: to.Integer,
converter: co,
}),
],
yu.prototype,
"privateExponent",
undefined,
);
e(
[
Vo({
type: to.Integer,
converter: co,
}),
],
yu.prototype,
"prime1",
undefined,
);
e(
[
Vo({
type: to.Integer,
converter: co,
}),
],
yu.prototype,
"prime2",
undefined,
);
e(
[
Vo({
type: to.Integer,
converter: co,
}),
],
yu.prototype,
"exponent1",
undefined,
);
e(
[
Vo({
type: to.Integer,
converter: co,
}),
],
yu.prototype,
"exponent2",
undefined,
);
e(
[
Vo({
type: to.Integer,
converter: co,
}),
],
yu.prototype,
"coefficient",
undefined,
);
e(
[
Vo({
type: du,
optional: true,
}),
],
yu.prototype,
"otherPrimeInfos",
undefined,
);
class mu {
constructor(e = {}) {
this.modulus = new ArrayBuffer(0);
this.publicExponent = new ArrayBuffer(0);
Object.assign(this, e);
}
}
var gu;
e(
[
Vo({
type: to.Integer,
converter: co,
}),
],
mu.prototype,
"modulus",
undefined,
);
e(
[
Vo({
type: to.Integer,
converter: co,
}),
],
mu.prototype,
"publicExponent",
undefined,
);
(function (e) {
e[(e.Transient = 0)] = "Transient";
e[(e.Singleton = 1)] = "Singleton";
e[(e.ResolutionScoped = 2)] = "ResolutionScoped";
e[(e.ContainerScoped = 3)] = "ContainerScoped";
})((gu ||= {}));
var vu = gu;
function bu(e, t) {
bu =
Object.setPrototypeOf ||
({
__proto__: [],
} instanceof Array &&
function (e, t) {
e.__proto__ = t;
}) ||
function (e, t) {
for (var r in t) {
if (t.hasOwnProperty(r)) {
e[r] = t[r];
}
}
};
return bu(e, t);
}
function Eu(e, t) {
function r() {
this.constructor = e;
}
bu(e, t);
e.prototype =
t === null ? Object.create(t) : ((r.prototype = t.prototype), new r());
}
function wu(e) {
var t = typeof Symbol == "function" && Symbol.iterator;
var r = t && e[t];
var n = 0;
if (r) {
return r.call(e);
}
if (e && typeof e.length == "number") {
return {
next: function () {
if (e && n >= e.length) {
e = undefined;
}
return {
value: e && e[n++],
done: !e,
};
},
};
}
throw new TypeError(
t ? "Object is not iterable." : "Symbol.iterator is not defined.",
);
}
function Su(e, t) {
var r = typeof Symbol == "function" && e[Symbol.iterator];
if (!r) {
return e;
}
var n;
var i;
var o = r.call(e);
var s = [];
try {
while ((t === undefined || t-- > 0) && !(n = o.next()).done) {
s.push(n.value);
}
} catch (e) {
i = {
error: e,
};
} finally {
try {
if (n && !n.done && (r = o.return)) {
r.call(o);
}
} finally {
if (i) {
throw i.error;
}
}
}
return s;
}
function Au() {
var e = [];
for (var t = 0; t < arguments.length; t++) {
e = e.concat(Su(arguments[t]));
}
return e;
}
function Nu(e) {
return !!e.useClass;
}
function Tu(e) {
return !!e.useFactory;
}
var Ou = (function () {
function e(e) {
this.wrap = e;
this.reflectMethods = [
"get",
"getPrototypeOf",
"setPrototypeOf",
"getOwnPropertyDescriptor",
"defineProperty",
"has",
"set",
"deleteProperty",
"apply",
"construct",
"ownKeys",
];
}
e.prototype.createProxy = function (e) {
var t;
var r = this;
var n = false;
return new Proxy(
{},
this.createHandler(function () {
if (!n) {
t = e(r.wrap());
n = true;
}
return t;
}),
);
};
e.prototype.createHandler = function (e) {
var t = {};
this.reflectMethods.forEach(function (r) {
t[r] = function () {
var t = [];
for (var n = 0; n < arguments.length; n++) {
t[n] = arguments[n];
}
t[0] = e();
return Reflect[r].apply(undefined, Au(t));
};
});
return t;
};
return e;
})();
function Iu(e) {
return typeof e == "string" || typeof e == "symbol";
}
function ku(e) {
return typeof e == "object" && "token" in e && "transform" in e;
}
function Bu(e) {
return !!e.useToken;
}
function xu(e) {
return e.useValue != null;
}
var Cu = (function () {
function e() {
this._registryMap = new Map();
}
e.prototype.entries = function () {
return this._registryMap.entries();
};
e.prototype.getAll = function (e) {
this.ensure(e);
return this._registryMap.get(e);
};
e.prototype.get = function (e) {
this.ensure(e);
var t = this._registryMap.get(e);
return t[t.length - 1] || null;
};
e.prototype.set = function (e, t) {
this.ensure(e);
this._registryMap.get(e).push(t);
};
e.prototype.setAll = function (e, t) {
this._registryMap.set(e, t);
};
e.prototype.has = function (e) {
this.ensure(e);
return this._registryMap.get(e).length > 0;
};
e.prototype.clear = function () {
this._registryMap.clear();
};
e.prototype.ensure = function (e) {
if (!this._registryMap.has(e)) {
this._registryMap.set(e, []);
}
};
return e;
})();
var Ru = (function (e) {
function t() {
return (e !== null && e.apply(this, arguments)) || this;
}
Eu(t, e);
return t;
})(Cu);
function _u() {
this.scopedResolutions = new Map();
}
var Uu;
var Du = (function (e) {
function t() {
return (e !== null && e.apply(this, arguments)) || this;
}
Eu(t, e);
return t;
})(Cu);
var Pu = (function (e) {
function t() {
return (e !== null && e.apply(this, arguments)) || this;
}
Eu(t, e);
return t;
})(Cu);
function Vu() {
this.preResolution = new Du();
this.postResolution = new Pu();
}
var ju = new Map();
var Lu = (function () {
function e(e) {
this.parent = e;
this._registry = new Ru();
this.interceptors = new Vu();
this.disposed = false;
this.disposables = new Set();
}
e.prototype.register = function (e, t, r) {
var n;
if (r === undefined) {
r = {
lifecycle: vu.Transient,
};
}
this.ensureNotDisposed();
n = (function (e) {
return Nu(e) || xu(e) || Bu(e) || Tu(e);
})(t)
? t
: {
useClass: t,
};
if (Bu(n)) {
var i = [e];
for (var o = n; o != null; ) {
var s = o.useToken;
if (i.includes(s)) {
throw new Error(
"Token registration cycle detected! " + Au(i, [s]).join(" -> "),
);
}
i.push(s);
var a = this._registry.get(s);
o = a && Bu(a.provider) ? a.provider : null;
}
}
if (
(r.lifecycle === vu.Singleton ||
r.lifecycle == vu.ContainerScoped ||
r.lifecycle == vu.ResolutionScoped) &&
(xu(n) || Tu(n))
) {
throw new Error(
'Cannot use lifecycle "' +
vu[r.lifecycle] +
'" with ValueProviders or FactoryProviders',
);
}
this._registry.set(e, {
provider: n,
options: r,
});
return this;
};
e.prototype.registerType = function (e, t) {
this.ensureNotDisposed();
if (Iu(t)) {
return this.register(e, {
useToken: t,
});
} else {
return this.register(e, {
useClass: t,
});
}
};
e.prototype.registerInstance = function (e, t) {
this.ensureNotDisposed();
return this.register(e, {
useValue: t,
});
};
e.prototype.registerSingleton = function (e, t) {
this.ensureNotDisposed();
if (Iu(e)) {
if (Iu(t)) {
return this.register(
e,
{
useToken: t,
},
{
lifecycle: vu.Singleton,
},
);
}
if (t) {
return this.register(
e,
{
useClass: t,
},
{
lifecycle: vu.Singleton,
},
);
}
throw new Error(
'Cannot register a type name as a singleton without a "to" token',
);
}
var r = e;
if (t && !Iu(t)) {
r = t;
}
return this.register(
e,
{
useClass: r,
},
{
lifecycle: vu.Singleton,
},
);
};
e.prototype.resolve = function (e, t = new _u(), r = false) {
this.ensureNotDisposed();
var n = this.getRegistration(e);
if (!n && Iu(e)) {
if (r) {
return;
}
throw new Error(
'Attempted to resolve unregistered dependency token: "' +
e.toString() +
'"',
);
}
this.executePreResolutionInterceptor(e, "Single");
if (n) {
var i = this.resolveRegistration(n, t);
this.executePostResolutionInterceptor(e, i, "Single");
return i;
}
if (
(function (e) {
return typeof e == "function" || e instanceof Ou;
})(e)
) {
i = this.construct(e, t);
this.executePostResolutionInterceptor(e, i, "Single");
return i;
}
throw new Error(
"Attempted to construct an undefined constructor. Could mean a circular dependency problem. Try using `delay` function.",
);
};
e.prototype.executePreResolutionInterceptor = function (e, t) {
var r;
var n;
if (this.interceptors.preResolution.has(e)) {
var i = [];
try {
for (
var o = wu(this.interceptors.preResolution.getAll(e)), s = o.next();
!s.done;
s = o.next()
) {
var a = s.value;
if (a.options.frequency != "Once") {
i.push(a);
}
a.callback(e, t);
}
} catch (e) {
r = {
error: e,
};
} finally {
try {
if (s && !s.done && (n = o.return)) {
n.call(o);
}
} finally {
if (r) {
throw r.error;
}
}
}
this.interceptors.preResolution.setAll(e, i);
}
};
e.prototype.executePostResolutionInterceptor = function (e, t, r) {
var n;
var i;
if (this.interceptors.postResolution.has(e)) {
var o = [];
try {
for (
var s = wu(this.interceptors.postResolution.getAll(e)),
a = s.next();
!a.done;
a = s.next()
) {
var c = a.value;
if (c.options.frequency != "Once") {
o.push(c);
}
c.callback(e, t, r);
}
} catch (e) {
n = {
error: e,
};
} finally {
try {
if (a && !a.done && (i = s.return)) {
i.call(s);
}
} finally {
if (n) {
throw n.error;
}
}
}
this.interceptors.postResolution.setAll(e, o);
}
};
e.prototype.resolveRegistration = function (e, t) {
this.ensureNotDisposed();
if (
e.options.lifecycle === vu.ResolutionScoped &&
t.scopedResolutions.has(e)
) {
return t.scopedResolutions.get(e);
}
var r;
var n = e.options.lifecycle === vu.Singleton;
var i = e.options.lifecycle === vu.ContainerScoped;
var o = n || i;
r = xu(e.provider)
? e.provider.useValue
: Bu(e.provider)
? o
? (e.instance ||= this.resolve(e.provider.useToken, t))
: this.resolve(e.provider.useToken, t)
: Nu(e.provider)
? o
? (e.instance ||= this.construct(e.provider.useClass, t))
: this.construct(e.provider.useClass, t)
: Tu(e.provider)
? e.provider.useFactory(this)
: this.construct(e.provider, t);
if (e.options.lifecycle === vu.ResolutionScoped) {
t.scopedResolutions.set(e, r);
}
return r;
};
e.prototype.resolveAll = function (e, t, r) {
var n = this;
if (t === undefined) {
t = new _u();
}
if (r === undefined) {
r = false;
}
this.ensureNotDisposed();
var i = this.getAllRegistrations(e);
if (!i && Iu(e)) {
if (r) {
return [];
}
throw new Error(
'Attempted to resolve unregistered dependency token: "' +
e.toString() +
'"',
);
}
this.executePreResolutionInterceptor(e, "All");
if (i) {
var o = i.map(function (e) {
return n.resolveRegistration(e, t);
});
this.executePostResolutionInterceptor(e, o, "All");
return o;
}
var s = [this.construct(e, t)];
this.executePostResolutionInterceptor(e, s, "All");
return s;
};
e.prototype.isRegistered = function (e, t = false) {
this.ensureNotDisposed();
return (
this._registry.has(e) ||
(t && (this.parent || false) && this.parent.isRegistered(e, true))
);
};
e.prototype.reset = function () {
this.ensureNotDisposed();
this._registry.clear();
this.interceptors.preResolution.clear();
this.interceptors.postResolution.clear();
};
e.prototype.clearInstances = function () {
var e;
var t;
this.ensureNotDisposed();
try {
for (
var r = wu(this._registry.entries()), n = r.next();
!n.done;
n = r.next()
) {
var i = Su(n.value, 2);
var o = i[0];
var s = i[1];
this._registry.setAll(
o,
s
.filter(function (e) {
return !xu(e.provider);
})
.map(function (e) {
e.instance = undefined;
return e;
}),
);
}
} catch (t) {
e = {
error: t,
};
} finally {
try {
if (n && !n.done && (t = r.return)) {
t.call(r);
}
} finally {
if (e) {
throw e.error;
}
}
}
};
e.prototype.createChildContainer = function () {
var t;
var r;
this.ensureNotDisposed();
var n = new e(this);
try {
for (
var i = wu(this._registry.entries()), o = i.next();
!o.done;
o = i.next()
) {
var s = Su(o.value, 2);
var a = s[0];
var c = s[1];
if (
c.some(function (e) {
return e.options.lifecycle === vu.ContainerScoped;
})
) {
n._registry.setAll(
a,
c.map(function (e) {
if (e.options.lifecycle === vu.ContainerScoped) {
return {
provider: e.provider,
options: e.options,
};
} else {
return e;
}
}),
);
}
}
} catch (e) {
t = {
error: e,
};
} finally {
try {
if (o && !o.done && (r = i.return)) {
r.call(i);
}
} finally {
if (t) {
throw t.error;
}
}
}
return n;
};
e.prototype.beforeResolution = function (
e,
t,
r = {
frequency: "Always",
},
) {
this.interceptors.preResolution.set(e, {
callback: t,
options: r,
});
};
e.prototype.afterResolution = function (
e,
t,
r = {
frequency: "Always",
},
) {
this.interceptors.postResolution.set(e, {
callback: t,
options: r,
});
};
e.prototype.dispose = function () {
e = this;
r = function () {
var e;
return (function (e, t) {
var r;
var n;
var i;
var o;
var s = {
label: 0,
sent: function () {
if (i[0] & 1) {
throw i[1];
}
return i[1];
},
trys: [],
ops: [],
};
o = {
next: a(0),
throw: a(1),
return: a(2),
};
if (typeof Symbol == "function") {
o[Symbol.iterator] = function () {
return this;
};
}
return o;
function a(o) {
return function (a) {
return (function (o) {
if (r) {
throw new TypeError("Generator is already executing.");
}
while (s) {
try {
r = 1;
if (
n &&
(i =
o[0] & 2
? n.return
: o[0]
? n.throw || ((i = n.return) && i.call(n), 0)
: n.next) &&
!(i = i.call(n, o[1])).done
) {
return i;
}
n = 0;
if (i) {
o = [o[0] & 2, i.value];
}
switch (o[0]) {
case 0:
case 1:
i = o;
break;
case 4:
s.label++;
return {
value: o[1],
done: false,
};
case 5:
s.label++;
n = o[1];
o = [0];
continue;
case 7:
o = s.ops.pop();
s.trys.pop();
continue;
default:
if (
!(i = (i = s.trys).length > 0 && i[i.length - 1]) &&
(o[0] === 6 || o[0] === 2)
) {
s = 0;
continue;
}
if (
o[0] === 3 &&
(!i || (o[1] > i[0] && o[1] < i[3]))
) {
s.label = o[1];
break;
}
if (o[0] === 6 && s.label < i[1]) {
s.label = i[1];
i = o;
break;
}
if (i && s.label < i[2]) {
s.label = i[2];
s.ops.push(o);
break;
}
if (i[2]) {
s.ops.pop();
}
s.trys.pop();
continue;
}
o = t.call(e, s);
} catch (e) {
o = [6, e];
n = 0;
} finally {
r = i = 0;
}
}
if (o[0] & 5) {
throw o[1];
}
return {
value: o[0] ? o[1] : undefined,
done: true,
};
})([o, a]);
};
}
})(this, function (t) {
switch (t.label) {
case 0:
this.disposed = true;
e = [];
this.disposables.forEach(function (t) {
var r = t.dispose();
if (r) {
e.push(r);
}
});
return [4, Promise.all(e)];
case 1:
t.sent();
return [2];
}
});
};
return new ((t = undefined) || (t = Promise))(function (n, i) {
function o(e) {
try {
a(r.next(e));
} catch (e) {
i(e);
}
}
function s(e) {
try {
a(r.throw(e));
} catch (e) {
i(e);
}
}
function a(e) {
if (e.done) {
n(e.value);
} else {
(function (e) {
if (e instanceof t) {
return e;
} else {
return new t(function (t) {
t(e);
});
}
})(e.value).then(o, s);
}
}
a((r = r.apply(e, [])).next());
});
var e;
var t;
var r;
};
e.prototype.getRegistration = function (e) {
if (this.isRegistered(e)) {
return this._registry.get(e);
} else if (this.parent) {
return this.parent.getRegistration(e);
} else {
return null;
}
};
e.prototype.getAllRegistrations = function (e) {
if (this.isRegistered(e)) {
return this._registry.getAll(e);
} else if (this.parent) {
return this.parent.getAllRegistrations(e);
} else {
return null;
}
};
e.prototype.construct = function (e, t) {
var r = this;
if (e instanceof Ou) {
return e.createProxy(function (e) {
return r.resolve(e, t);
});
}
var n = (function () {
var n = ju.get(e);
if (!n || n.length === 0) {
if (e.length === 0) {
return new e();
}
throw new Error('TypeInfo not known for "' + e.name + '"');
}
var i = n.map(r.resolveParams(t, e));
return new (e.bind.apply(e, Au([undefined], i)))();
})();
if (
(function (e) {
return typeof e.dispose == "function" && !(e.dispose.length > 0);
})(n)
) {
this.disposables.add(n);
}
return n;
};
e.prototype.resolveParams = function (e, t) {
var r = this;
return function (n, i) {
var o;
var s;
var a;
var c;
try {
if (typeof (c = n) == "object" && "token" in c && "multiple" in c) {
if (ku(n)) {
if (n.multiple) {
return (o = r.resolve(n.transform)).transform.apply(
o,
Au(
[r.resolveAll(n.token, new _u(), n.isOptional)],
n.transformArgs,
),
);
} else {
return (s = r.resolve(n.transform)).transform.apply(
s,
Au([r.resolve(n.token, e, n.isOptional)], n.transformArgs),
);
}
} else if (n.multiple) {
return r.resolveAll(n.token, new _u(), n.isOptional);
} else {
return r.resolve(n.token, e, n.isOptional);
}
} else if (ku(n)) {
return (a = r.resolve(n.transform, e)).transform.apply(
a,
Au([r.resolve(n.token, e)], n.transformArgs),
);
} else {
return r.resolve(n, e);
}
} catch (e) {
throw new Error(
(function (e, t, r) {
var n;
var i;
var o;
var s;
var a = Su(
e.toString().match(/constructor\(([\w, ]+)\)/) || [],
2,
)[1];
n =
"Cannot inject the dependency " +
((s = t),
((o = a === undefined ? null : a) === null
? "at position #" + s
: '"' + o.split(",")[s].trim() + '" at position #' + s) +
' of "') +
e.name +
'" constructor. Reason:';
if (i === undefined) {
i = " ";
}
return Au(
[n],
r.message.split("\n").map(function (e) {
return i + e;
}),
).join("\n");
})(t, i, e),
);
}
};
};
e.prototype.ensureNotDisposed = function () {
if (this.disposed) {
throw new Error(
"This container has been disposed, you cannot interact with a disposed container",
);
}
};
return e;
})();
var Fu = new Lu();
function Mu(e) {
return function (e) {
ju.set(
e,
(function (e) {
var t = Reflect.getMetadata("design:paramtypes", e) || [];
var r = Reflect.getOwnMetadata("injectionTokens", e) || {};
Object.keys(r).forEach(function (e) {
t[+e] = r[e];
});
return t;
})(e),
);
};
}
if (typeof Reflect == "undefined" || !Reflect.getMetadata) {
throw new Error(
"tsyringe requires a reflect polyfill. Please add 'import \"reflect-metadata\"' to the top of your entry point.",
);
}
class Hu {
constructor(e = {}) {
this.attrId = "";
this.attrValues = [];
Object.assign(e);
}
}
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
Hu.prototype,
"attrId",
undefined,
);
e(
[
Vo({
type: to.Any,
repeated: "set",
}),
],
Hu.prototype,
"attrValues",
undefined,
);
let Ku = (Uu = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, Uu.prototype);
}
});
var $u;
Ku = Uu = e(
[
Po({
type: eo.Sequence,
itemType: Hu,
}),
],
Ku,
);
let Gu = ($u = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, $u.prototype);
}
});
Gu = $u = e(
[
Po({
type: eo.Sequence,
itemType: Vc,
}),
],
Gu,
);
class Wu {
constructor(e = {}) {
this.certId = "";
this.certValue = new ArrayBuffer(0);
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
Wu.prototype,
"certId",
undefined,
);
e(
[
Vo({
type: to.Any,
context: 0,
}),
],
Wu.prototype,
"certValue",
undefined,
);
class Yu {
constructor(e = {}) {
this.crlId = "";
this.crltValue = new ArrayBuffer(0);
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
Yu.prototype,
"crlId",
undefined,
);
e(
[
Vo({
type: to.Any,
context: 0,
}),
],
Yu.prototype,
"crltValue",
undefined,
);
class Ju extends io {}
let zu = class {
constructor(e = {}) {
this.encryptionAlgorithm = new Ca();
this.encryptedData = new Ju();
Object.assign(this, e);
}
};
var Xu;
var qu;
e(
[
Vo({
type: Ca,
}),
],
zu.prototype,
"encryptionAlgorithm",
undefined,
);
e(
[
Vo({
type: Ju,
}),
],
zu.prototype,
"encryptedData",
undefined,
);
(function (e) {
e[(e.v1 = 0)] = "v1";
})((qu ||= {}));
class Qu extends io {}
let Zu = (Xu = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, Xu.prototype);
}
});
Zu = Xu = e(
[
Po({
type: eo.Sequence,
itemType: Ea,
}),
],
Zu,
);
class ep {
constructor(e = {}) {
this.version = qu.v1;
this.privateKeyAlgorithm = new Ca();
this.privateKey = new Qu();
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.Integer,
}),
],
ep.prototype,
"version",
undefined,
);
e(
[
Vo({
type: Ca,
}),
],
ep.prototype,
"privateKeyAlgorithm",
undefined,
);
e(
[
Vo({
type: Qu,
}),
],
ep.prototype,
"privateKey",
undefined,
);
e(
[
Vo({
type: Zu,
implicit: true,
context: 0,
optional: true,
}),
],
ep.prototype,
"attributes",
undefined,
);
let tp = class extends ep {};
tp = e(
[
Po({
type: eo.Sequence,
}),
],
tp,
);
let rp = class extends zu {};
rp = e(
[
Po({
type: eo.Sequence,
}),
],
rp,
);
class np {
constructor(e = {}) {
this.secretTypeId = "";
this.secretValue = new ArrayBuffer(0);
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
np.prototype,
"secretTypeId",
undefined,
);
e(
[
Vo({
type: to.Any,
context: 0,
}),
],
np.prototype,
"secretValue",
undefined,
);
class ip {
constructor(e = {}) {
this.mac = new pu();
this.macSalt = new io();
this.iterations = 1;
Object.assign(this, e);
}
}
e(
[
Vo({
type: pu,
}),
],
ip.prototype,
"mac",
undefined,
);
e(
[
Vo({
type: io,
}),
],
ip.prototype,
"macSalt",
undefined,
);
e(
[
Vo({
type: to.Integer,
defaultValue: 1,
}),
],
ip.prototype,
"iterations",
undefined,
);
class op {
constructor(e = {}) {
this.version = 3;
this.authSafe = new Vc();
this.macData = new ip();
Object.assign(this, e);
}
}
var sp;
e(
[
Vo({
type: to.Integer,
}),
],
op.prototype,
"version",
undefined,
);
e(
[
Vo({
type: Vc,
}),
],
op.prototype,
"authSafe",
undefined,
);
e(
[
Vo({
type: ip,
optional: true,
}),
],
op.prototype,
"macData",
undefined,
);
class ap {
constructor(e = {}) {
this.bagId = "";
this.bagValue = new ArrayBuffer(0);
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
ap.prototype,
"bagId",
undefined,
);
e(
[
Vo({
type: to.Any,
context: 0,
}),
],
ap.prototype,
"bagValue",
undefined,
);
e(
[
Vo({
type: Hu,
repeated: "set",
optional: true,
}),
],
ap.prototype,
"bagAttributes",
undefined,
);
let cp = (sp = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, sp.prototype);
}
});
var lp;
var up;
var pp;
cp = sp = e(
[
Po({
type: eo.Sequence,
itemType: ap,
}),
],
cp,
);
const hp = "1.2.840.113549.1.9";
const fp = `${hp}.7`;
const dp = `${hp}.14`;
let yp = class extends Yo {
constructor(e = {}) {
super(e);
}
toString() {
return this.ia5String || super.toString();
}
};
e(
[
Vo({
type: to.IA5String,
}),
],
yp.prototype,
"ia5String",
undefined,
);
yp = e(
[
Po({
type: eo.Choice,
}),
],
yp,
);
let mp = class extends Vc {};
mp = e(
[
Po({
type: eo.Sequence,
}),
],
mp,
);
let gp = class extends op {};
gp = e(
[
Po({
type: eo.Sequence,
}),
],
gp,
);
let vp = class extends zu {};
vp = e(
[
Po({
type: eo.Sequence,
}),
],
vp,
);
let bp = class {
constructor(e = "") {
this.value = e;
}
toString() {
return this.value;
}
};
e(
[
Vo({
type: to.IA5String,
}),
],
bp.prototype,
"value",
undefined,
);
bp = e(
[
Po({
type: eo.Choice,
}),
],
bp,
);
let Ep = class extends yp {};
Ep = e(
[
Po({
type: eo.Choice,
}),
],
Ep,
);
let wp = class extends Yo {};
wp = e(
[
Po({
type: eo.Choice,
}),
],
wp,
);
let Sp = class {
constructor(e = new Date()) {
this.value = e;
}
};
e(
[
Vo({
type: to.GeneralizedTime,
}),
],
Sp.prototype,
"value",
undefined,
);
Sp = e(
[
Po({
type: eo.Choice,
}),
],
Sp,
);
let Ap = class extends Yo {};
Ap = e(
[
Po({
type: eo.Choice,
}),
],
Ap,
);
let Np = class {
constructor(e = "M") {
this.value = e;
}
toString() {
return this.value;
}
};
e(
[
Vo({
type: to.PrintableString,
}),
],
Np.prototype,
"value",
undefined,
);
Np = e(
[
Po({
type: eo.Choice,
}),
],
Np,
);
let Tp = class {
constructor(e = "") {
this.value = e;
}
toString() {
return this.value;
}
};
e(
[
Vo({
type: to.PrintableString,
}),
],
Tp.prototype,
"value",
undefined,
);
Tp = e(
[
Po({
type: eo.Choice,
}),
],
Tp,
);
let Op = class extends Tp {};
Op = e(
[
Po({
type: eo.Choice,
}),
],
Op,
);
let Ip = class extends Yo {};
Ip = e(
[
Po({
type: eo.Choice,
}),
],
Ip,
);
let kp = class {
constructor(e = "") {
this.value = e;
}
toString() {
return this.value;
}
};
e(
[
Vo({
type: to.ObjectIdentifier,
}),
],
kp.prototype,
"value",
undefined,
);
kp = e(
[
Po({
type: eo.Choice,
}),
],
kp,
);
let Bp = class extends _a {};
Bp = e(
[
Po({
type: eo.Choice,
}),
],
Bp,
);
let xp = class {
constructor(e = 0) {
this.value = e;
}
toString() {
return this.value.toString();
}
};
e(
[
Vo({
type: to.Integer,
}),
],
xp.prototype,
"value",
undefined,
);
xp = e(
[
Po({
type: eo.Choice,
}),
],
xp,
);
let Cp = class extends tc {};
Cp = e(
[
Po({
type: eo.Sequence,
}),
],
Cp,
);
let Rp = class extends Yo {};
Rp = e(
[
Po({
type: eo.Choice,
}),
],
Rp,
);
let _p = (lp = class extends Va {
constructor(e) {
super(e);
Object.setPrototypeOf(this, lp.prototype);
}
});
_p = lp = e(
[
Po({
type: eo.Sequence,
}),
],
_p,
);
let Up = (up = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, up.prototype);
}
});
Up = up = e(
[
Po({
type: eo.Set,
itemType: Za,
}),
],
Up,
);
let Dp = class {
constructor(e = "") {
this.value = e;
}
toString() {
return this.value;
}
};
e(
[
Vo({
type: to.BmpString,
}),
],
Dp.prototype,
"value",
undefined,
);
Dp = e(
[
Po({
type: eo.Choice,
}),
],
Dp,
);
let Pp = class extends Ca {};
Pp = e(
[
Po({
type: eo.Sequence,
}),
],
Pp,
);
let Vp = (pp = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, pp.prototype);
}
});
var jp;
Vp = pp = e(
[
Po({
type: eo.Sequence,
itemType: Pp,
}),
],
Vp,
);
let Lp = (jp = class extends Mo {
constructor(e) {
super(e);
Object.setPrototypeOf(this, jp.prototype);
}
});
Lp = jp = e(
[
Po({
type: eo.Sequence,
itemType: Ea,
}),
],
Lp,
);
class Fp {
constructor(e = {}) {
this.version = 0;
this.subject = new Qo();
this.subjectPKInfo = new Ra();
this.attributes = new Lp();
Object.assign(this, e);
}
}
e(
[
Vo({
type: to.Integer,
}),
],
Fp.prototype,
"version",
undefined,
);
e(
[
Vo({
type: Qo,
}),
],
Fp.prototype,
"subject",
undefined,
);
e(
[
Vo({
type: Ra,
}),
],
Fp.prototype,
"subjectPKInfo",
undefined,
);
e(
[
Vo({
type: Lp,
implicit: true,
context: 0,
}),
],
Fp.prototype,
"attributes",
undefined,
);
class Mp {
constructor(e = {}) {
this.certificationRequestInfo = new Fp();
this.signatureAlgorithm = new Ca();
this.signature = new ArrayBuffer(0);
Object.assign(this, e);
}
}
e(
[
Vo({
type: Fp,
}),
],
Mp.prototype,
"certificationRequestInfo",
undefined,
);
e(
[
Vo({
type: Ca,
}),
],
Mp.prototype,
"signatureAlgorithm",
undefined,
);
e(
[
Vo({
type: to.BitString,
}),
],
Mp.prototype,
"signature",
undefined,
);
const Hp = "crypto.algorithm";
const Kp = "crypto.algorithmProvider";
var $p;
Fu.registerSingleton(
Kp,
class {
getAlgorithms() {
return Fu.resolveAll(Hp);
}
toAsnAlgorithm(e) {
for (const t of this.getAlgorithms()) {
const r = t.toAsnAlgorithm(e);
if (r) {
return r;
}
}
if (/^[0-9.]+$/.test(e.name)) {
const t = new Ca({
algorithm: e.name,
});
if ("parameters" in e) {
const r = e;
t.parameters = r.parameters;
}
return t;
}
throw new Error(
"Cannot convert WebCrypto algorithm to ASN.1 algorithm",
);
}
toWebAlgorithm(e) {
for (const t of this.getAlgorithms()) {
const r = t.toWebAlgorithm(e);
if (r) {
return r;
}
}
return {
name: e.algorithm,
parameters: e.parameters,
};
}
},
);
const Gp = "1.3.36.3.3.2.8.1.1";
const Wp = `${Gp}.1`;
const Yp = `${Gp}.2`;
const Jp = `${Gp}.3`;
const zp = `${Gp}.4`;
const Xp = `${Gp}.5`;
const qp = `${Gp}.6`;
const Qp = `${Gp}.7`;
const Zp = `${Gp}.8`;
const eh = `${Gp}.9`;
const th = `${Gp}.10`;
const rh = `${Gp}.11`;
const nh = `${Gp}.12`;
const ih = `${Gp}.13`;
const oh = `${Gp}.14`;
const sh = "brainpoolP160r1";
const ah = "brainpoolP160t1";
const ch = "brainpoolP192r1";
const lh = "brainpoolP192t1";
const uh = "brainpoolP224r1";
const ph = "brainpoolP224t1";
const hh = "brainpoolP256r1";
const fh = "brainpoolP256t1";
const dh = "brainpoolP320r1";
const yh = "brainpoolP320t1";
const mh = "brainpoolP384r1";
const gh = "brainpoolP384t1";
const vh = "brainpoolP512r1";
const bh = "brainpoolP512t1";
const Eh = "ECDSA";
let wh = ($p = class {
toAsnAlgorithm(e) {
if (e.name.toLowerCase() === Eh.toLowerCase()) {
if ("hash" in e) {
switch (
(typeof e.hash == "string" ? e.hash : e.hash.name).toLowerCase()
) {
case "sha-1":
return kl;
case "sha-256":
return Bl;
case "sha-384":
return xl;
case "sha-512":
return Cl;
}
} else if ("namedCurve" in e) {
let t = "";
switch (e.namedCurve) {
case "P-256":
t = Nl;
break;
case "K-256":
t = $p.SECP256K1;
break;
case "P-384":
t = Tl;
break;
case "P-521":
t = Ol;
break;
case sh:
t = Wp;
break;
case ah:
t = Yp;
break;
case ch:
t = Jp;
break;
case lh:
t = zp;
break;
case uh:
t = Xp;
break;
case ph:
t = qp;
break;
case hh:
t = Qp;
break;
case fh:
t = Zp;
break;
case dh:
t = eh;
break;
case yh:
t = th;
break;
case mh:
t = rh;
break;
case gh:
t = nh;
break;
case vh:
t = ih;
break;
case bh:
t = oh;
}
if (t) {
return new Ca({
algorithm: vl,
parameters: Ho.serialize(
new Pl({
namedCurve: t,
}),
),
});
}
}
}
return null;
}
toWebAlgorithm(e) {
switch (e.algorithm) {
case bl:
return {
name: Eh,
hash: {
name: "SHA-1",
},
};
case wl:
return {
name: Eh,
hash: {
name: "SHA-256",
},
};
case Sl:
return {
name: Eh,
hash: {
name: "SHA-384",
},
};
case Al:
return {
name: Eh,
hash: {
name: "SHA-512",
},
};
case vl:
if (!e.parameters) {
throw new TypeError(
"Cannot get required parameters from EC algorithm",
);
}
switch (Ho.parse(e.parameters, Pl).namedCurve) {
case Nl:
return {
name: Eh,
namedCurve: "P-256",
};
case $p.SECP256K1:
return {
name: Eh,
namedCurve: "K-256",
};
case Tl:
return {
name: Eh,
namedCurve: "P-384",
};
case Ol:
return {
name: Eh,
namedCurve: "P-521",
};
case Wp:
return {
name: Eh,
namedCurve: sh,
};
case Yp:
return {
name: Eh,
namedCurve: ah,
};
case Jp:
return {
name: Eh,
namedCurve: ch,
};
case zp:
return {
name: Eh,
namedCurve: lh,
};
case Xp:
return {
name: Eh,
namedCurve: uh,
};
case qp:
return {
name: Eh,
namedCurve: ph,
};
case Qp:
return {
name: Eh,
namedCurve: hh,
};
case Zp:
return {
name: Eh,
namedCurve: fh,
};
case eh:
return {
name: Eh,
namedCurve: dh,
};
case th:
return {
name: Eh,
namedCurve: yh,
};
case rh:
return {
name: Eh,
namedCurve: mh,
};
case nh:
return {
name: Eh,
namedCurve: gh,
};
case ih:
return {
name: Eh,
namedCurve: vh,
};
case oh:
return {
name: Eh,
namedCurve: bh,
};
}
}
return null;
}
});
wh.SECP256K1 = "1.3.132.0.10";
wh = $p = e([Mu()], wh);
Fu.registerSingleton(Hp, wh);
const Sh = Symbol("name");
const Ah = Symbol("value");
class Nh {
constructor(e, t = {}, r = "") {
this[Sh] = e;
this[Ah] = r;
for (const e in t) {
this[e] = t[e];
}
}
}
Nh.NAME = Sh;
Nh.VALUE = Ah;
class Th {
static toString(e) {
return this.items[e] || e;
}
}
Th.items = {
[Zl]: "sha1",
[eu]: "sha224",
[tu]: "sha256",
[ru]: "sha384",
[nu]: "sha512",
[Fl]: "rsaEncryption",
[Wl]: "sha1WithRSAEncryption",
[Yl]: "sha224WithRSAEncryption",
[Jl]: "sha256WithRSAEncryption",
[zl]: "sha384WithRSAEncryption",
[Xl]: "sha512WithRSAEncryption",
[vl]: "ecPublicKey",
[bl]: "ecdsaWithSHA1",
[El]: "ecdsaWithSHA224",
[wl]: "ecdsaWithSHA256",
[Sl]: "ecdsaWithSHA384",
[Al]: "ecdsaWithSHA512",
[Xs]: "TLS WWW server authentication",
[qs]: "TLS WWW client authentication",
[Qs]: "Code Signing",
[Zs]: "E-mail Protection",
[ea]: "Time Stamping",
[ta]: "OCSP Signing",
[dl]: "Signed Data",
};
class Oh {
static serialize(e) {
return this.serializeObj(e).join("\n");
}
static pad(e = 0) {
return "".padStart(e * 2, " ");
}
static serializeObj(e, t = 0) {
const r = [];
let n = this.pad(t++);
let i = "";
const o = e[Nh.VALUE];
if (o) {
i = ` ${o}`;
}
r.push(`${n}${e[Nh.NAME]}:${i}`);
n = this.pad(t);
for (const i in e) {
if (typeof i == "symbol") {
continue;
}
const o = e[i];
const s = i ? `${i}: ` : "";
if (
typeof o == "string" ||
typeof o == "number" ||
typeof o == "boolean"
) {
r.push(`${n}${s}${o}`);
} else if (o instanceof Date) {
r.push(`${n}${s}${o.toUTCString()}`);
} else if (Array.isArray(o)) {
for (const e of o) {
e[Nh.NAME] = i;
r.push(...this.serializeObj(e, t));
}
} else if (o instanceof Nh) {
o[Nh.NAME] = i;
r.push(...this.serializeObj(o, t));
} else if (_r.isBufferSource(o)) {
if (i) {
r.push(`${n}${s}`);
r.push(...this.serializeBufferSource(o, t + 1));
} else {
r.push(...this.serializeBufferSource(o, t));
}
} else {
if (!("toTextObject" in o)) {
throw new TypeError(
"Cannot serialize data in text format. Unsupported type.",
);
}
{
const e = o.toTextObject();
e[Nh.NAME] = i;
r.push(...this.serializeObj(e, t));
}
}
}
return r;
}
static serializeBufferSource(e, t = 0) {
const r = this.pad(t);
const n = _r.toUint8Array(e);
const i = [];
for (let e = 0; e < n.length; ) {
const t = [];
for (let r = 0; r < 16 && e < n.length; r++) {
if (r === 8) {
t.push("");
}
const i = n[e++].toString(16).padStart(2, "0");
t.push(i);
}
i.push(`${r}${t.join(" ")}`);
}
return i;
}
static serializeAlgorithm(e) {
return this.algorithmSerializer.toTextObject(e);
}
}
Oh.oidSerializer = Th;
Oh.algorithmSerializer = class {
static toTextObject(e) {
const t = new Nh("Algorithm Identifier", {}, Th.toString(e.algorithm));
if (e.parameters) {
switch (e.algorithm) {
case vl: {
const r = new wh().toWebAlgorithm(e);
if (r && "namedCurve" in r) {
t["Named Curve"] = r.namedCurve;
} else {
t.Parameters = e.parameters;
}
break;
}
default:
t.Parameters = e.parameters;
}
}
return t;
}
};
class Ih {
constructor(...e) {
if (e.length === 1) {
const t = e[0];
this.rawData = Ho.serialize(t);
this.onInit(t);
} else {
const t = Ho.parse(e[0], e[1]);
this.rawData = _r.toArrayBuffer(e[0]);
this.onInit(t);
}
}
equal(e) {
return e instanceof Ih && Mr(e.rawData, this.rawData);
}
toString(e = "text") {
switch (e) {
case "asn":
return Ho.toString(this.rawData);
case "text":
return Oh.serialize(this.toTextObject());
case "hex":
return Fr.ToHex(this.rawData);
case "base64":
return Fr.ToBase64(this.rawData);
case "base64url":
return Fr.ToBase64Url(this.rawData);
default:
throw TypeError("Argument 'format' is unsupported value");
}
}
getTextName() {
return this.constructor.NAME;
}
toTextObject() {
const e = this.toTextObjectEmpty();
e[""] = this.rawData;
return e;
}
toTextObjectEmpty(e) {
return new Nh(this.getTextName(), {}, e);
}
}
Ih.NAME = "ASN";
class kh extends Ih {
constructor(...e) {
let t;
t = _r.isBufferSource(e[0])
? _r.toArrayBuffer(e[0])
: Ho.serialize(
new Pa({
extnID: e[0],
critical: e[1],
extnValue: new io(_r.toArrayBuffer(e[2])),
}),
);
super(t, Pa);
}
onInit(e) {
this.type = e.extnID;
this.critical = e.critical;
this.value = e.extnValue.buffer;
}
toTextObject() {
const e = this.toTextObjectWithoutValue();
e[""] = this.value;
return e;
}
toTextObjectWithoutValue() {
const e = this.toTextObjectEmpty(this.critical ? "critical" : undefined);
if (e[Nh.NAME] === kh.NAME) {
e[Nh.NAME] = Th.toString(this.type);
}
return e;
}
}
var Bh;
class xh {
static isCryptoKeyPair(e) {
return e && e.privateKey && e.publicKey;
}
static isCryptoKey(e) {
return (
e && e.usages && e.type && e.algorithm && e.extractable !== undefined
);
}
constructor() {
this.items = new Map();
this[Bh] = "CryptoProvider";
if (typeof self != "undefined" && typeof crypto != "undefined") {
this.set(xh.DEFAULT, crypto);
} else if (
typeof global != "undefined" &&
global.crypto &&
global.crypto.subtle
) {
this.set(xh.DEFAULT, global.crypto);
}
}
clear() {
this.items.clear();
}
delete(e) {
return this.items.delete(e);
}
forEach(e, t) {
return this.items.forEach(e, t);
}
has(e) {
return this.items.has(e);
}
get size() {
return this.items.size;
}
entries() {
return this.items.entries();
}
keys() {
return this.items.keys();
}
values() {
return this.items.values();
}
[Symbol.iterator]() {
return this.items[Symbol.iterator]();
}
get(e = xh.DEFAULT) {
const t = this.items.get(e.toLowerCase());
if (!t) {
throw new Error(`Cannot get Crypto by name '${e}'`);
}
return t;
}
set(e, t) {
if (typeof e == "string") {
if (!t) {
throw new TypeError("Argument 'value' is required");
}
this.items.set(e.toLowerCase(), t);
} else {
this.items.set(xh.DEFAULT, e);
}
return this;
}
}
Bh = Symbol.toStringTag;
xh.DEFAULT = "default";
const Ch = new xh();
const Rh = /^[0-2](?:\.[1-9][0-9]*)+$/;
class _h {
constructor(e = {}) {
this.items = {};
for (const t in e) {
this.register(t, e[t]);
}
}
get(e) {
return this.items[e] || null;
}
findId(e) {
t = e;
if (new RegExp(Rh).test(t)) {
return e;
} else {
return this.get(e);
}
var t;
}
register(e, t) {
this.items[e] = t;
this.items[t] = e;
}
}
const Uh = new _h();
function Dh(e, t) {
return `\\${Fr.ToHex(Fr.FromUtf8String(t)).toUpperCase()}`;
}
Uh.register("CN", "2.5.4.3");
Uh.register("L", "2.5.4.7");
Uh.register("ST", "2.5.4.8");
Uh.register("O", "2.5.4.10");
Uh.register("OU", "2.5.4.11");
Uh.register("C", "2.5.4.6");
Uh.register("DC", "0.9.2342.19200300.100.1.25");
Uh.register("E", "1.2.840.113549.1.9.1");
Uh.register("G", "2.5.4.42");
Uh.register("I", "2.5.4.43");
Uh.register("SN", "2.5.4.4");
Uh.register("T", "2.5.4.12");
class Ph {
static isASCII(e) {
for (let t = 0; t < e.length; t++) {
if (e.charCodeAt(t) > 255) {
return false;
}
}
return true;
}
static isPrintableString(e) {
return /^[A-Za-z0-9 '()+,-./:=?]*$/g.test(e);
}
constructor(e, t = {}) {
this.extraNames = new _h();
this.asn = new Qo();
for (const e in t) {
if (Object.prototype.hasOwnProperty.call(t, e)) {
const r = t[e];
this.extraNames.register(e, r);
}
}
if (typeof e == "string") {
this.asn = this.fromString(e);
} else if (e instanceof Qo) {
this.asn = e;
} else if (_r.isBufferSource(e)) {
this.asn = Ho.parse(e, Qo);
} else {
this.asn = this.fromJSON(e);
}
}
getField(e) {
const t = this.extraNames.findId(e) || Uh.findId(e);
const r = [];
for (const e of this.asn) {
for (const n of e) {
if (n.type === t) {
r.push(n.value.toString());
}
}
}
return r;
}
getName(e) {
return this.extraNames.get(e) || Uh.get(e);
}
toString() {
return this.asn
.map((e) =>
e
.map(
(e) =>
`${this.getName(e.type) || e.type}=${
e.value.anyValue
? `#${Fr.ToHex(e.value.anyValue)}`
: e.value
.toString()
.replace(/([,+"\\<>;])/g, "\\$1")
.replace(/^([ #])/, "\\$1")
.replace(/([ ]$)/, "\\$1")
.replace(/([\r\n\t])/, Dh)
}`,
)
.join("+"),
)
.join(", ");
}
toJSON() {
var e;
const t = [];
for (const r of this.asn) {
const n = {};
for (const t of r) {
const r = this.getName(t.type) || t.type;
if ((e = n[r]) === null || e === undefined) {
n[r] = [];
}
n[r].push(
t.value.anyValue
? `#${Fr.ToHex(t.value.anyValue)}`
: t.value.toString(),
);
}
t.push(n);
}
return t;
}
fromString(e) {
const t = new Qo();
const r =
/(\d\.[\d.]*\d|[A-Za-z]+)=((?:"")|(?:".*?[^\\]")|(?:[^,+"\\](?=[,+]|$))|(?:[^,+].*?(?:[^\\][,+]))|(?:))([,+])?/g;
let n = null;
let i = ",";
while ((n = r.exec(`${e},`))) {
let [, e, r] = n;
const o = r[r.length - 1];
if (o === "," || o === "+") {
r = r.slice(0, r.length - 1);
n[3] = o;
}
const s = n[3];
e = this.getTypeOid(e);
const a = this.createAttribute(e, r);
if (i === "+") {
t[t.length - 1].push(a);
} else {
t.push(new Xo([a]));
}
i = s;
}
return t;
}
fromJSON(e) {
const t = new Qo();
for (const r of e) {
const e = new Xo();
for (const t in r) {
const n = this.getTypeOid(t);
const i = r[t];
for (const t of i) {
const r = this.createAttribute(n, t);
e.push(r);
}
}
t.push(e);
}
return t;
}
getTypeOid(e) {
if (!/[\d.]+/.test(e)) {
e = this.getName(e) || "";
}
if (!e) {
throw new Error(`Cannot get OID for name type '${e}'`);
}
return e;
}
createAttribute(e, t) {
const r = new zo({
type: e,
});
if (typeof t == "object") {
for (const e in t) {
switch (e) {
case "ia5String":
r.value.ia5String = t[e];
break;
case "utf8String":
r.value.utf8String = t[e];
break;
case "universalString":
r.value.universalString = t[e];
break;
case "bmpString":
r.value.bmpString = t[e];
break;
case "printableString":
r.value.printableString = t[e];
}
}
} else if (t[0] === "#") {
r.value.anyValue = Fr.FromHex(t.slice(1));
} else {
const n = this.processStringValue(t);
if (e === this.getName("E") || e === this.getName("DC")) {
r.value.ia5String = n;
} else if (Ph.isPrintableString(n)) {
r.value.printableString = n;
} else {
r.value.utf8String = n;
}
}
return r;
}
processStringValue(e) {
const t = /"(.*?[^\\])?"/.exec(e);
if (t) {
e = t[1];
}
return e
.replace(/\\0a/gi, "\n")
.replace(/\\0d/gi, "\r")
.replace(/\\0g/gi, "\t")
.replace(/\\(.)/g, "$1");
}
toArrayBuffer() {
return Ho.serialize(this.asn);
}
async getThumbprint(...e) {
let r;
let n = "SHA-1";
if (e.length >= 1 && !e[0]?.subtle) {
n = e[0] || n;
r = e[1] || Ch.get();
} else {
r = e[0] || Ch.get();
}
return await r.subtle.digest(n, this.toArrayBuffer());
}
}
const Vh = "Cannot initialize GeneralName from ASN.1 data.";
const jh = `${Vh} Unsupported string format in use.`;
const Lh = `${Vh} Value doesn't match to GUID regular expression.`;
const Fh =
/^([0-9a-f]{8})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{12})$/i;
const Mh = "1.3.6.1.4.1.311.25.1";
const Hh = "1.3.6.1.4.1.311.20.2.3";
const Kh = "dns";
const $h = "dn";
const Gh = "email";
const Wh = "ip";
const Yh = "url";
const Jh = "guid";
const zh = "upn";
const Xh = "id";
class qh extends Ih {
constructor(...e) {
let t;
if (e.length === 2) {
switch (e[0]) {
case $h: {
const r = new Ph(e[1]).toArrayBuffer();
const n = Ho.parse(r, Qo);
t = new rs({
directoryName: n,
});
break;
}
case Kh:
t = new rs({
dNSName: e[1],
});
break;
case Gh:
t = new rs({
rfc822Name: e[1],
});
break;
case Jh: {
const r = new RegExp(Fh, "i").exec(e[1]);
if (!r) {
throw new Error(
"Cannot parse GUID value. Value doesn't match to regular expression",
);
}
const n = r
.slice(1)
.map((e, t) =>
t < 3 ? Fr.ToHex(new Uint8Array(Fr.FromHex(e)).reverse()) : e,
)
.join("");
t = new rs({
otherName: new es({
typeId: Mh,
value: Ho.serialize(new io(Fr.FromHex(n))),
}),
});
break;
}
case Wh:
t = new rs({
iPAddress: e[1],
});
break;
case Xh:
t = new rs({
registeredID: e[1],
});
break;
case zh:
t = new rs({
otherName: new es({
typeId: Hh,
value: Ho.serialize(mo.toASN(e[1])),
}),
});
break;
case Yh:
t = new rs({
uniformResourceIdentifier: e[1],
});
break;
default:
throw new Error(
"Cannot create GeneralName. Unsupported type of the name",
);
}
} else {
t = _r.isBufferSource(e[0]) ? Ho.parse(e[0], rs) : e[0];
}
super(t);
}
onInit(e) {
if (e.dNSName != null) {
this.type = Kh;
this.value = e.dNSName;
} else if (e.rfc822Name != null) {
this.type = Gh;
this.value = e.rfc822Name;
} else if (e.iPAddress != null) {
this.type = Wh;
this.value = e.iPAddress;
} else if (e.uniformResourceIdentifier != null) {
this.type = Yh;
this.value = e.uniformResourceIdentifier;
} else if (e.registeredID != null) {
this.type = Xh;
this.value = e.registeredID;
} else if (e.directoryName != null) {
this.type = $h;
this.value = new Ph(e.directoryName).toString();
} else {
if (e.otherName == null) {
throw new Error(jh);
}
if (e.otherName.typeId === Mh) {
this.type = Jh;
const t = Ho.parse(e.otherName.value, io);
const r = new RegExp(Fh, "i").exec(Fr.ToHex(t));
if (!r) {
throw new Error(Lh);
}
this.value = r
.slice(1)
.map((e, t) =>
t < 3 ? Fr.ToHex(new Uint8Array(Fr.FromHex(e)).reverse()) : e,
)
.join("-");
} else {
if (e.otherName.typeId !== Hh) {
throw new Error(jh);
}
this.type = zh;
this.value = Ho.parse(e.otherName.value, Yo).toString();
}
}
}
toJSON() {
return {
type: this.type,
value: this.value,
};
}
toTextObject() {
let e;
switch (this.type) {
case $h:
case Kh:
case Jh:
case Wh:
case Xh:
case zh:
case Yh:
e = this.type.toUpperCase();
break;
case Gh:
e = "Email";
break;
default:
throw new Error("Unsupported GeneralName type");
}
let t = this.value;
if (this.type === Xh) {
t = Th.toString(t);
}
return new Nh(e, undefined, t);
}
}
class Qh extends Ih {
constructor(e) {
let t;
if (e instanceof ws) {
t = e;
} else if (Array.isArray(e)) {
const r = [];
for (const t of e) {
if (t instanceof rs) {
r.push(t);
} else {
const e = Ho.parse(new qh(t.type, t.value).rawData, rs);
r.push(e);
}
}
t = new ws(r);
} else {
if (!_r.isBufferSource(e)) {
throw new Error(
"Cannot initialize GeneralNames. Incorrect incoming arguments",
);
}
t = Ho.parse(e, ws);
}
super(t);
}
onInit(e) {
const t = [];
for (const r of e) {
let e = null;
try {
e = new qh(r);
} catch {
continue;
}
t.push(e);
}
this.items = t;
}
toJSON() {
return this.items.map((e) => e.toJSON());
}
toTextObject() {
const e = super.toTextObjectEmpty();
for (const t of this.items) {
const r = t.toTextObject();
let n = e[r[Nh.NAME]];
if (!Array.isArray(n)) {
n = [];
e[r[Nh.NAME]] = n;
}
n.push(r);
}
return e;
}
}
Qh.NAME = "GeneralNames";
const Zh = "-{5}";
const ef = "\\n";
const tf = "\\n";
const rf = `${Zh}BEGIN ([^${ef}]+(?=${Zh}))${Zh}${tf}(?:((?:[^:${ef}]+: (?:[^${ef}]+${tf}(?: +[^${ef}]+${tf})*))+))?${tf}?((?:[a-zA-Z0-9=+/]+${tf})+)${Zh}END \\1${Zh}`;
class nf {
static isPem(e) {
return (
typeof e == "string" && new RegExp(rf, "g").test(e.replace(/\r/g, ""))
);
}
static decodeWithHeaders(e) {
e = e.replace(/\r/g, "");
const t = new RegExp(rf, "g");
const r = [];
let n = null;
while ((n = t.exec(e))) {
const e = n[3].replace(new RegExp(`[${ef}]+`, "g"), "");
const t = {
type: n[1],
headers: [],
rawData: Fr.FromBase64(e),
};
const i = n[2];
if (i) {
const e = i.split(new RegExp(tf, "g"));
let r = null;
for (const n of e) {
const [e, i] = n.split(/:(.*)/);
if (i === undefined) {
if (!r) {
throw new Error(
"Cannot parse PEM string. Incorrect header value",
);
}
r.value += e.trim();
} else {
if (r) {
t.headers.push(r);
}
r = {
key: e,
value: i.trim(),
};
}
}
if (r) {
t.headers.push(r);
}
}
r.push(t);
}
return r;
}
static decode(e) {
return this.decodeWithHeaders(e).map((e) => e.rawData);
}
static decodeFirst(e) {
const t = this.decode(e);
if (!t.length) {
throw new RangeError("PEM string doesn't contain any objects");
}
return t[0];
}
static encode(e, t) {
if (Array.isArray(e)) {
const r = new Array();
if (t) {
e.forEach((e) => {
if (!_r.isBufferSource(e)) {
throw new TypeError(
"Cannot encode array of BufferSource in PEM format. Not all items of the array are BufferSource",
);
}
r.push(
this.encodeStruct({
type: t,
rawData: _r.toArrayBuffer(e),
}),
);
});
} else {
e.forEach((e) => {
if (!("type" in e)) {
throw new TypeError(
"Cannot encode array of PemStruct in PEM format. Not all items of the array are PemStrut",
);
}
r.push(this.encodeStruct(e));
});
}
return r.join("\n");
}
if (!t) {
throw new Error("Required argument 'tag' is missed");
}
return this.encodeStruct({
type: t,
rawData: _r.toArrayBuffer(e),
});
}
static encodeStruct(e) {
const r = e.type.toLocaleUpperCase();
const n = [];
n.push(`-----BEGIN ${r}-----`);
if (e.headers?.length) {
for (const t of e.headers) {
n.push(`${t.key}: ${t.value}`);
}
n.push("");
}
const i = Fr.ToBase64(e.rawData);
let o;
let s = 0;
const a = Array();
while (
s < i.length &&
(i.length - s < 64
? (o = i.substring(s))
: ((o = i.substring(s, s + 64)), (s += 64)),
o.length !== 0) &&
(a.push(o), !(o.length < 64))
);
n.push(...a);
n.push(`-----END ${r}-----`);
return n.join("\n");
}
}
nf.CertificateTag = "CERTIFICATE";
nf.CrlTag = "CRL";
nf.CertificateRequestTag = "CERTIFICATE REQUEST";
nf.PublicKeyTag = "PUBLIC KEY";
nf.PrivateKeyTag = "PRIVATE KEY";
class of extends Ih {
static isAsnEncoded(e) {
return _r.isBufferSource(e) || typeof e == "string";
}
static toArrayBuffer(e) {
if (typeof e == "string") {
if (nf.isPem(e)) {
return nf.decode(e)[0];
}
if (Fr.isHex(e)) {
return Fr.FromHex(e);
}
if (Fr.isBase64(e)) {
return Fr.FromBase64(e);
}
if (Fr.isBase64Url(e)) {
return Fr.FromBase64Url(e);
}
throw new TypeError(
"Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url",
);
}
{
const t = Fr.ToBinary(e);
if (nf.isPem(t)) {
return nf.decode(t)[0];
} else if (Fr.isHex(t)) {
return Fr.FromHex(t);
} else if (Fr.isBase64(t)) {
return Fr.FromBase64(t);
} else if (Fr.isBase64Url(t)) {
return Fr.FromBase64Url(t);
} else {
return _r.toArrayBuffer(e);
}
}
}
constructor(...e) {
if (of.isAsnEncoded(e[0])) {
super(of.toArrayBuffer(e[0]), e[1]);
} else {
super(e[0]);
}
}
toString(e = "pem") {
if (e === "pem") {
return nf.encode(this.rawData, this.tag);
} else {
return super.toString(e);
}
}
}
class sf extends of {
static async create(e, t = Ch.get()) {
if (e instanceof sf) {
return e;
}
if (xh.isCryptoKey(e)) {
if (e.type !== "public") {
throw new TypeError("Public key is required");
}
const r = await t.subtle.exportKey("spki", e);
return new sf(r);
}
if (e.publicKey) {
return e.publicKey;
}
if (_r.isBufferSource(e)) {
return new sf(e);
}
throw new TypeError("Unsupported PublicKeyType");
}
constructor(e) {
if (of.isAsnEncoded(e)) {
super(e, Ra);
} else {
super(e);
}
this.tag = nf.PublicKeyTag;
}
async export(...e) {
let t;
let r = ["verify"];
let n = {
hash: "SHA-256",
...this.algorithm,
};
if (e.length > 1) {
n = e[0] || n;
r = e[1] || r;
t = e[2] || Ch.get();
} else {
t = e[0] || Ch.get();
}
let i = this.rawData;
const o = Ho.parse(this.rawData, Ra);
if (o.algorithm.algorithm === Kl) {
i = (function (e) {
e.algorithm = new Ca({
algorithm: Fl,
parameters: null,
});
return Ho.serialize(e);
})(o);
}
return t.subtle.importKey("spki", i, n, true, r);
}
onInit(e) {
const t = Fu.resolve(Kp);
const r = (this.algorithm = t.toWebAlgorithm(e.algorithm));
switch (e.algorithm.algorithm) {
case Fl: {
const t = Ho.parse(e.subjectPublicKey, mu);
const n = _r.toUint8Array(t.modulus);
r.publicExponent = _r.toUint8Array(t.publicExponent);
r.modulusLength = (n[0] ? n : n.slice(1)).byteLength << 3;
break;
}
}
}
async getThumbprint(...e) {
let r;
let n = "SHA-1";
if (e.length >= 1 && !e[0]?.subtle) {
n = e[0] || n;
r = e[1] || Ch.get();
} else {
r = e[0] || Ch.get();
}
return await r.subtle.digest(n, this.rawData);
}
async getKeyIdentifier(...e) {
let t;
let r = "SHA-1";
if (e.length === 1) {
if (typeof e[0] == "string") {
r = e[0];
t = Ch.get();
} else {
t = e[0];
}
} else if (e.length === 2) {
r = e[0];
t = e[1];
} else {
t = Ch.get();
}
const n = Ho.parse(this.rawData, Ra);
return await t.subtle.digest(r, n.subjectPublicKey);
}
toTextObject() {
const e = this.toTextObjectEmpty();
const t = Ho.parse(this.rawData, Ra);
e.Algorithm = Oh.serializeAlgorithm(t.algorithm);
if (t.algorithm.algorithm === vl) {
e["EC Point"] = t.subjectPublicKey;
} else {
e["Raw Data"] = t.subjectPublicKey;
}
return e;
}
}
class af extends kh {
static async create(e, t = false, r = Ch.get()) {
if ("name" in e && "serialNumber" in e) {
return new af(e, t);
}
const n = await sf.create(e, r);
const i = await n.getKeyIdentifier(r);
return new af(Fr.ToHex(i), t);
}
constructor(...e) {
if (_r.isBufferSource(e[0])) {
super(e[0]);
} else if (typeof e[0] == "string") {
const t = new gs({
keyIdentifier: new ms(Fr.FromHex(e[0])),
});
super(ys, e[1], Ho.serialize(t));
} else {
const t = e[0];
const r = t.name instanceof Qh ? Ho.parse(t.name.rawData, ws) : t.name;
const n = new gs({
authorityCertIssuer: r,
authorityCertSerialNumber: Fr.FromHex(t.serialNumber),
});
super(ys, e[1], Ho.serialize(n));
}
}
onInit(e) {
super.onInit(e);
const t = Ho.parse(e.extnValue, gs);
if (t.keyIdentifier) {
this.keyId = Fr.ToHex(t.keyIdentifier);
}
if (t.authorityCertIssuer || t.authorityCertSerialNumber) {
this.certId = {
name: t.authorityCertIssuer || [],
serialNumber: t.authorityCertSerialNumber
? Fr.ToHex(t.authorityCertSerialNumber)
: "",
};
}
}
toTextObject() {
const e = this.toTextObjectWithoutValue();
const t = Ho.parse(this.value, gs);
if (t.authorityCertIssuer) {
e["Authority Issuer"] = new Qh(t.authorityCertIssuer).toTextObject();
}
if (t.authorityCertSerialNumber) {
e["Authority Serial Number"] = t.authorityCertSerialNumber;
}
if (t.keyIdentifier) {
e[""] = t.keyIdentifier;
}
return e;
}
}
af.NAME = "Authority Key Identifier";
class cf extends kh {
constructor(...e) {
if (_r.isBufferSource(e[0])) {
super(e[0]);
const t = Ho.parse(this.value, bs);
this.ca = t.cA;
this.pathLength = t.pathLenConstraint;
} else {
const t = new bs({
cA: e[0],
pathLenConstraint: e[1],
});
super(vs, e[2], Ho.serialize(t));
this.ca = e[0];
this.pathLength = e[1];
}
}
toTextObject() {
const e = this.toTextObjectWithoutValue();
if (this.ca) {
e.CA = this.ca;
}
if (this.pathLength !== undefined) {
e["Path Length"] = this.pathLength;
}
return e;
}
}
var lf;
var uf;
cf.NAME = "Basic Constraints";
(function (e) {
e.serverAuth = "1.3.6.1.5.5.7.3.1";
e.clientAuth = "1.3.6.1.5.5.7.3.2";
e.codeSigning = "1.3.6.1.5.5.7.3.3";
e.emailProtection = "1.3.6.1.5.5.7.3.4";
e.timeStamping = "1.3.6.1.5.5.7.3.8";
e.ocspSigning = "1.3.6.1.5.5.7.3.9";
})((lf ||= {}));
class pf extends kh {
constructor(...e) {
if (_r.isBufferSource(e[0])) {
super(e[0]);
const t = Ho.parse(this.value, zs);
this.usages = t.map((e) => e);
} else {
const t = new zs(e[0]);
super(Js, e[1], Ho.serialize(t));
this.usages = e[0];
}
}
toTextObject() {
const e = this.toTextObjectWithoutValue();
e[""] = this.usages.map((e) => Th.toString(e)).join(", ");
return e;
}
}
pf.NAME = "Extended Key Usages";
(function (e) {
e[(e.digitalSignature = 1)] = "digitalSignature";
e[(e.nonRepudiation = 2)] = "nonRepudiation";
e[(e.keyEncipherment = 4)] = "keyEncipherment";
e[(e.dataEncipherment = 8)] = "dataEncipherment";
e[(e.keyAgreement = 16)] = "keyAgreement";
e[(e.keyCertSign = 32)] = "keyCertSign";
e[(e.cRLSign = 64)] = "cRLSign";
e[(e.encipherOnly = 128)] = "encipherOnly";
e[(e.decipherOnly = 256)] = "decipherOnly";
})((uf ||= {}));
class hf extends kh {
constructor(...e) {
if (_r.isBufferSource(e[0])) {
super(e[0]);
const t = Ho.parse(this.value, la);
this.usages = t.toNumber();
} else {
const t = new la(e[0]);
super(sa, e[1], Ho.serialize(t));
this.usages = e[0];
}
}
toTextObject() {
const e = this.toTextObjectWithoutValue();
const t = Ho.parse(this.value, la);
e[""] = t.toJSON().join(", ");
return e;
}
}
hf.NAME = "Key Usages";
class ff extends kh {
static async create(e, t = false, r = Ch.get()) {
const n = await sf.create(e, r);
const i = await n.getKeyIdentifier(r);
return new ff(Fr.ToHex(i), t);
}
constructor(...e) {
if (_r.isBufferSource(e[0])) {
super(e[0]);
const t = Ho.parse(this.value, Na);
this.keyId = Fr.ToHex(t);
} else {
const t = typeof e[0] == "string" ? Fr.FromHex(e[0]) : e[0];
const r = new Na(t);
super(Aa, e[1], Ho.serialize(r));
this.keyId = Fr.ToHex(t);
}
}
toTextObject() {
const e = this.toTextObjectWithoutValue();
const t = Ho.parse(this.value, Na);
e[""] = t;
return e;
}
}
ff.NAME = "Subject Key Identifier";
class df extends kh {
constructor(...e) {
if (_r.isBufferSource(e[0])) {
super(e[0]);
} else {
super(va, e[1], new Qh(e[0] || []).rawData);
}
}
onInit(e) {
super.onInit(e);
const t = Ho.parse(e.extnValue, ba);
this.names = new Qh(t);
}
toTextObject() {
const e = this.toTextObjectWithoutValue();
const t = this.names.toTextObject();
for (const r in t) {
e[r] = t[r];
}
return e;
}
}
df.NAME = "Subject Alternative Name";
class yf {
static register(e, t) {
this.items.set(e, t);
}
static create(e) {
const t = new kh(e);
const r = this.items.get(t.type);
if (r) {
return new r(e);
} else {
return t;
}
}
}
yf.items = new Map();
class mf extends kh {
constructor(...e) {
var t;
if (_r.isBufferSource(e[0])) {
super(e[0]);
const t = Ho.parse(this.value, Rs);
this.policies = t.map((e) => e.policyIdentifier);
} else {
const r = e[0];
const n = (t = e[1]) !== null && t !== undefined && t;
const i = new Rs(
r.map(
(e) =>
new Cs({
policyIdentifier: e,
}),
),
);
super(Ts, n, Ho.serialize(i));
this.policies = r;
}
}
toTextObject() {
const e = this.toTextObjectWithoutValue();
e.Policy = this.policies.map((e) => new Nh("", {}, Th.toString(e)));
return e;
}
}
mf.NAME = "Certificate Policies";
yf.register(Ts, mf);
class gf extends kh {
constructor(...e) {
var t;
if (_r.isBufferSource(e[0])) {
super(e[0]);
} else if (Array.isArray(e[0]) && typeof e[0][0] == "string") {
const t = e[0].map(
(e) =>
new Fs({
distributionPoint: new Ls({
fullName: [
new rs({
uniformResourceIdentifier: e,
}),
],
}),
}),
);
const r = new Ms(t);
super(Ps, e[1], Ho.serialize(r));
} else {
const t = new Ms(e[0]);
super(Ps, e[1], Ho.serialize(t));
}
if ((t = this.distributionPoints) === null || t === undefined) {
this.distributionPoints = [];
}
}
onInit(e) {
super.onInit(e);
const t = Ho.parse(e.extnValue, Ms);
this.distributionPoints = t;
}
toTextObject() {
const e = this.toTextObjectWithoutValue();
e["Distribution Point"] = this.distributionPoints.map((e) => {
var t;
const r = {};
if (e.distributionPoint) {
r[""] =
(t = e.distributionPoint.fullName) === null || t === undefined
? undefined
: t.map((e) => new qh(e).toString()).join(", ");
}
if (e.reasons) {
r.Reasons = e.reasons.toString();
}
if (e.cRLIssuer) {
r["CRL Issuer"] = e.cRLIssuer.map((e) => e.toString()).join(", ");
}
return r;
});
return e;
}
}
gf.NAME = "CRL Distribution Points";
class vf extends kh {
constructor(...e) {
var t;
var r;
var n;
var i;
if (_r.isBufferSource(e[0])) {
super(e[0]);
} else if (e[0] instanceof ds) {
const t = new ds(e[0]);
super(hs, e[1], Ho.serialize(t));
} else {
const t = e[0];
const r = new ds();
Ef(r, t, ss, "ocsp");
Ef(r, t, as, "caIssuers");
Ef(r, t, cs, "timeStamping");
Ef(r, t, ls, "caRepository");
super(hs, e[1], Ho.serialize(r));
}
if ((t = this.ocsp) === null || t === undefined) {
this.ocsp = [];
}
if ((r = this.caIssuers) === null || r === undefined) {
this.caIssuers = [];
}
if ((n = this.timeStamping) === null || n === undefined) {
this.timeStamping = [];
}
if ((i = this.caRepository) === null || i === undefined) {
this.caRepository = [];
}
}
onInit(e) {
super.onInit(e);
this.ocsp = [];
this.caIssuers = [];
this.timeStamping = [];
this.caRepository = [];
Ho.parse(e.extnValue, ds).forEach((e) => {
switch (e.accessMethod) {
case ss:
this.ocsp.push(new qh(e.accessLocation));
break;
case as:
this.caIssuers.push(new qh(e.accessLocation));
break;
case cs:
this.timeStamping.push(new qh(e.accessLocation));
break;
case ls:
this.caRepository.push(new qh(e.accessLocation));
}
});
}
toTextObject() {
const e = this.toTextObjectWithoutValue();
if (this.ocsp.length) {
bf(e, "OCSP", this.ocsp);
}
if (this.caIssuers.length) {
bf(e, "CA Issuers", this.caIssuers);
}
if (this.timeStamping.length) {
bf(e, "Time Stamping", this.timeStamping);
}
if (this.caRepository.length) {
bf(e, "CA Repository", this.caRepository);
}
return e;
}
}
function bf(e, t, r) {
if (r.length === 1) {
e[t] = r[0].toTextObject();
} else {
const n = new Nh("");
r.forEach((e, t) => {
const r = e.toTextObject();
const i = `${r[Nh.NAME]} ${t + 1}`;
let o = n[i];
if (!Array.isArray(o)) {
o = [];
n[i] = o;
}
o.push(r);
});
e[t] = n;
}
}
function Ef(e, t, r, n) {
const i = t[n];
if (i) {
(Array.isArray(i) ? i : [i]).forEach((t) => {
if (typeof t == "string") {
t = new qh("url", t);
}
e.push(
new fs({
accessMethod: r,
accessLocation: Ho.parse(t.rawData, rs),
}),
);
});
}
}
vf.NAME = "Authority Info Access";
class wf extends Ih {
constructor(...e) {
let t;
if (_r.isBufferSource(e[0])) {
t = _r.toArrayBuffer(e[0]);
} else {
const r = e[0];
const n = Array.isArray(e[1])
? e[1].map((e) => _r.toArrayBuffer(e))
: [];
t = Ho.serialize(
new Ea({
type: r,
values: n,
}),
);
}
super(t, Ea);
}
onInit(e) {
this.type = e.type;
this.values = e.values;
}
toTextObject() {
const e = this.toTextObjectWithoutValue();
e.Value = this.values.map(
(e) =>
new Nh("", {
"": e,
}),
);
return e;
}
toTextObjectWithoutValue() {
const e = this.toTextObjectEmpty();
if (e[Nh.NAME] === wf.NAME) {
e[Nh.NAME] = Th.toString(this.type);
}
return e;
}
}
wf.NAME = "Attribute";
class Sf extends wf {
constructor(...e) {
var t;
if (_r.isBufferSource(e[0])) {
super(e[0]);
} else {
const t = new Rp({
printableString: e[0],
});
super(fp, [Ho.serialize(t)]);
}
if ((t = this.password) === null || t === undefined) {
this.password = "";
}
}
onInit(e) {
super.onInit(e);
if (this.values[0]) {
const e = Ho.parse(this.values[0], Rp);
this.password = e.toString();
}
}
toTextObject() {
const e = this.toTextObjectWithoutValue();
e[Nh.VALUE] = this.password;
return e;
}
}
Sf.NAME = "Challenge Password";
class Af extends wf {
constructor(...e) {
var t;
if (_r.isBufferSource(e[0])) {
super(e[0]);
} else {
const t = e[0];
const r = new Va();
for (const e of t) {
r.push(Ho.parse(e.rawData, Pa));
}
super(dp, [Ho.serialize(r)]);
}
if ((t = this.items) === null || t === undefined) {
this.items = [];
}
}
onInit(e) {
super.onInit(e);
if (this.values[0]) {
const e = Ho.parse(this.values[0], Va);
this.items = e.map((e) => yf.create(Ho.serialize(e)));
}
}
toTextObject() {
const e = this.toTextObjectWithoutValue();
const t = this.items.map((e) => e.toTextObject());
for (const r of t) {
e[r[Nh.NAME]] = r;
}
return e;
}
}
Af.NAME = "Extensions";
class Nf {
static register(e, t) {
this.items.set(e, t);
}
static create(e) {
const t = new wf(e);
const r = this.items.get(t.type);
if (r) {
return new r(e);
} else {
return t;
}
}
}
Nf.items = new Map();
const Tf = "crypto.signatureFormatter";
var Of;
let If = (Of = class {
static createPssParams(e, t) {
const r = Of.getHashAlgorithm(e);
if (r) {
return new uu({
hashAlgorithm: r,
maskGenAlgorithm: new Ca({
algorithm: iu,
parameters: Ho.serialize(r),
}),
saltLength: t,
});
} else {
return null;
}
}
static getHashAlgorithm(e) {
const t = Fu.resolve(Kp);
if (typeof e == "string") {
return t.toAsnAlgorithm({
name: e,
});
} else if (typeof e == "object" && e && "name" in e) {
return t.toAsnAlgorithm(e);
} else {
return null;
}
}
toAsnAlgorithm(e) {
switch (e.name.toLowerCase()) {
case "rsassa-pkcs1-v1_5":
if (!("hash" in e)) {
return new Ca({
algorithm: Fl,
parameters: null,
});
}
{
let t;
if (typeof e.hash == "string") {
t = e.hash;
} else {
if (
!e.hash ||
typeof e.hash != "object" ||
!("name" in e.hash) ||
typeof e.hash.name != "string"
) {
throw new Error("Cannot get hash algorithm name");
}
t = e.hash.name.toUpperCase();
}
switch (t.toLowerCase()) {
case "sha-1":
return new Ca({
algorithm: Wl,
parameters: null,
});
case "sha-256":
return new Ca({
algorithm: Jl,
parameters: null,
});
case "sha-384":
return new Ca({
algorithm: zl,
parameters: null,
});
case "sha-512":
return new Ca({
algorithm: Xl,
parameters: null,
});
}
}
break;
case "rsa-pss":
if ("hash" in e) {
if (!("saltLength" in e) || typeof e.saltLength != "number") {
throw new Error("Cannot get 'saltLength' from 'alg' argument");
}
const t = Of.createPssParams(e.hash, e.saltLength);
if (!t) {
throw new Error("Cannot create PSS parameters");
}
return new Ca({
algorithm: Kl,
parameters: Ho.serialize(t),
});
}
return new Ca({
algorithm: Kl,
parameters: null,
});
}
return null;
}
toWebAlgorithm(e) {
switch (e.algorithm) {
case Fl:
return {
name: "RSASSA-PKCS1-v1_5",
};
case Wl:
return {
name: "RSASSA-PKCS1-v1_5",
hash: {
name: "SHA-1",
},
};
case Jl:
return {
name: "RSASSA-PKCS1-v1_5",
hash: {
name: "SHA-256",
},
};
case zl:
return {
name: "RSASSA-PKCS1-v1_5",
hash: {
name: "SHA-384",
},
};
case Xl:
return {
name: "RSASSA-PKCS1-v1_5",
hash: {
name: "SHA-512",
},
};
case Kl:
if (e.parameters) {
const t = Ho.parse(e.parameters, uu);
return {
name: "RSA-PSS",
hash: Fu.resolve(Kp).toWebAlgorithm(t.hashAlgorithm),
saltLength: t.saltLength,
};
}
return {
name: "RSA-PSS",
};
}
return null;
}
});
If = Of = e([Mu()], If);
Fu.registerSingleton(Hp, If);
let kf = class {
toAsnAlgorithm(e) {
switch (e.name.toLowerCase()) {
case "sha-1":
return new Ca({
algorithm: Zl,
});
case "sha-256":
return new Ca({
algorithm: tu,
});
case "sha-384":
return new Ca({
algorithm: ru,
});
case "sha-512":
return new Ca({
algorithm: nu,
});
}
return null;
}
toWebAlgorithm(e) {
switch (e.algorithm) {
case Zl:
return {
name: "SHA-1",
};
case tu:
return {
name: "SHA-256",
};
case ru:
return {
name: "SHA-384",
};
case nu:
return {
name: "SHA-512",
};
}
return null;
}
};
kf = e([Mu()], kf);
Fu.registerSingleton(Hp, kf);
class Bf {
addPadding(e, t) {
const r = _r.toUint8Array(t);
const n = new Uint8Array(e);
n.set(r, e - r.length);
return n;
}
removePadding(e, t = false) {
let r = _r.toUint8Array(e);
for (let e = 0; e < r.length; e++) {
if (r[e]) {
r = r.slice(e);
break;
}
}
if (t && r[0] > 127) {
const e = new Uint8Array(r.length + 1);
e.set(r, 1);
return e.buffer;
}
return r.buffer;
}
toAsnSignature(e, t) {
if (e.name === "ECDSA") {
const r = e.namedCurve;
const n = Bf.namedCurveSize.get(r) || Bf.defaultNamedCurveSize;
const i = new jl();
const o = _r.toUint8Array(t);
i.r = this.removePadding(o.slice(0, n), true);
i.s = this.removePadding(o.slice(n, n + n), true);
return Ho.serialize(i);
}
return null;
}
toWebSignature(e, t) {
if (e.name === "ECDSA") {
const r = Ho.parse(t, jl);
const n = e.namedCurve;
const i = Bf.namedCurveSize.get(n) || Bf.defaultNamedCurveSize;
return (function (...e) {
const t = e.map((e) => e.byteLength).reduce((e, t) => e + t);
const r = new Uint8Array(t);
let n = 0;
e.map((e) => new Uint8Array(e)).forEach((e) => {
for (const t of e) {
r[n++] = t;
}
});
return r.buffer;
})(
this.addPadding(i, this.removePadding(r.r)),
this.addPadding(i, this.removePadding(r.s)),
);
}
return null;
}
}
Bf.namedCurveSize = new Map();
Bf.defaultNamedCurveSize = 32;
const xf = "1.3.101.110";
const Cf = "1.3.101.111";
const Rf = "1.3.101.112";
const _f = "1.3.101.113";
let Uf = class {
toAsnAlgorithm(e) {
let t = null;
switch (e.name.toLowerCase()) {
case "ed25519":
t = Rf;
break;
case "x25519":
t = xf;
break;
case "eddsa":
switch (e.namedCurve.toLowerCase()) {
case "ed25519":
t = Rf;
break;
case "ed448":
t = _f;
}
break;
case "ecdh-es":
switch (e.namedCurve.toLowerCase()) {
case "x25519":
t = xf;
break;
case "x448":
t = Cf;
}
}
if (t) {
return new Ca({
algorithm: t,
});
} else {
return null;
}
}
toWebAlgorithm(e) {
switch (e.algorithm) {
case Rf:
return {
name: "Ed25519",
};
case _f:
return {
name: "EdDSA",
namedCurve: "Ed448",
};
case xf:
return {
name: "X25519",
};
case Cf:
return {
name: "ECDH-ES",
namedCurve: "X448",
};
}
return null;
}
};
Uf = e([Mu()], Uf);
Fu.registerSingleton(Hp, Uf);
(class extends of {
constructor(e) {
if (of.isAsnEncoded(e)) {
super(e, Mp);
} else {
super(e);
}
this.tag = nf.CertificateRequestTag;
}
onInit(e) {
this.tbs = Ho.serialize(e.certificationRequestInfo);
this.publicKey = new sf(e.certificationRequestInfo.subjectPKInfo);
const t = Fu.resolve(Kp);
this.signatureAlgorithm = t.toWebAlgorithm(e.signatureAlgorithm);
this.signature = e.signature;
this.attributes = e.certificationRequestInfo.attributes.map((e) =>
Nf.create(Ho.serialize(e)),
);
const r = this.getAttribute(dp);
this.extensions = [];
if (r instanceof Af) {
this.extensions = r.items;
}
this.subjectName = new Ph(e.certificationRequestInfo.subject);
this.subject = this.subjectName.toString();
}
getAttribute(e) {
for (const t of this.attributes) {
if (t.type === e) {
return t;
}
}
return null;
}
getAttributes(e) {
return this.attributes.filter((t) => t.type === e);
}
getExtension(e) {
for (const t of this.extensions) {
if (t.type === e) {
return t;
}
}
return null;
}
getExtensions(e) {
return this.extensions.filter((t) => t.type === e);
}
async verify(e = Ch.get()) {
const t = {
...this.publicKey.algorithm,
...this.signatureAlgorithm,
};
const r = await this.publicKey.export(t, ["verify"], e);
const n = Fu.resolveAll(Tf).reverse();
let i = null;
for (const e of n) {
i = e.toWebSignature(t, this.signature);
if (i) {
break;
}
}
if (!i) {
throw Error("Cannot convert WebCrypto signature value to ASN.1 format");
}
return await e.subtle.verify(this.signatureAlgorithm, r, i, this.tbs);
}
toTextObject() {
const e = this.toTextObjectEmpty();
const t = Ho.parse(this.rawData, Mp);
const r = t.certificationRequestInfo;
const n = new Nh("", {
Version: `${ja[r.version]} (${r.version})`,
Subject: this.subject,
"Subject Public Key Info": this.publicKey,
});
if (this.attributes.length) {
const e = new Nh("");
for (const t of this.attributes) {
const r = t.toTextObject();
e[r[Nh.NAME]] = r;
}
n.Attributes = e;
}
e.Data = n;
e.Signature = new Nh("", {
Algorithm: Oh.serializeAlgorithm(t.signatureAlgorithm),
"": t.signature,
});
return e;
}
}).NAME = "PKCS#10 Certificate Request";
class Df extends of {
constructor(e) {
if (of.isAsnEncoded(e)) {
super(e, Fa);
} else {
super(e);
}
this.tag = nf.CertificateTag;
}
onInit(e) {
const t = e.tbsCertificate;
this.tbs = Ho.serialize(t);
let r = new Uint8Array(t.serialNumber);
if (r.length > 1 && r[0] === 0 && r[1] > 127) {
r = r.slice(1);
}
this.serialNumber = Fr.ToHex(r);
this.subjectName = new Ph(t.subject);
this.subject = new Ph(t.subject).toString();
this.issuerName = new Ph(t.issuer);
this.issuer = this.issuerName.toString();
const n = Fu.resolve(Kp);
this.signatureAlgorithm = n.toWebAlgorithm(e.signatureAlgorithm);
this.signature = e.signatureValue;
const i =
t.validity.notBefore.utcTime || t.validity.notBefore.generalTime;
if (!i) {
throw new Error("Cannot get 'notBefore' value");
}
this.notBefore = i;
const o = t.validity.notAfter.utcTime || t.validity.notAfter.generalTime;
if (!o) {
throw new Error("Cannot get 'notAfter' value");
}
this.notAfter = o;
this.extensions = [];
if (t.extensions) {
this.extensions = t.extensions.map((e) => yf.create(Ho.serialize(e)));
}
this.publicKey = new sf(t.subjectPublicKeyInfo);
}
getExtension(e) {
for (const t of this.extensions) {
if (typeof e == "string") {
if (t.type === e) {
return t;
}
} else if (t instanceof e) {
return t;
}
}
return null;
}
getExtensions(e) {
return this.extensions.filter((t) =>
typeof e == "string" ? t.type === e : t instanceof e,
);
}
async verify(e = {}, t = Ch.get()) {
let r;
let n;
const i = e.publicKey;
try {
if (i) {
if ("publicKey" in i) {
r = {
...i.publicKey.algorithm,
...this.signatureAlgorithm,
};
n = await i.publicKey.export(r, ["verify"], t);
} else if (i instanceof sf) {
r = {
...i.algorithm,
...this.signatureAlgorithm,
};
n = await i.export(r, ["verify"], t);
} else if (_r.isBufferSource(i)) {
const e = new sf(i);
r = {
...e.algorithm,
...this.signatureAlgorithm,
};
n = await e.export(r, ["verify"], t);
} else {
r = {
...i.algorithm,
...this.signatureAlgorithm,
};
n = i;
}
} else {
r = {
...this.publicKey.algorithm,
...this.signatureAlgorithm,
};
n = await this.publicKey.export(r, ["verify"], t);
}
} catch (e) {
return false;
}
const o = Fu.resolveAll(Tf).reverse();
let s = null;
for (const e of o) {
s = e.toWebSignature(r, this.signature);
if (s) {
break;
}
}
if (!s) {
throw Error("Cannot convert ASN.1 signature value to WebCrypto format");
}
const a = await t.subtle.verify(this.signatureAlgorithm, n, s, this.tbs);
if (e.signatureOnly) {
return a;
}
{
const t = (e.date || new Date()).getTime();
return a && this.notBefore.getTime() < t && t < this.notAfter.getTime();
}
}
async getThumbprint(...e) {
let t;
let r = "SHA-1";
if (e[0]) {
if (e[0].subtle) {
t = e[0];
} else {
r = e[0] || r;
t = e[1];
}
}
if (t == null) {
t = Ch.get();
}
return await t.subtle.digest(r, this.rawData);
}
async isSelfSigned(e = Ch.get()) {
return (
this.subject === this.issuer &&
(await this.verify(
{
signatureOnly: true,
},
e,
))
);
}
toTextObject() {
const e = this.toTextObjectEmpty();
const t = Ho.parse(this.rawData, Fa);
const r = t.tbsCertificate;
const n = new Nh("", {
Version: `${ja[r.version]} (${r.version})`,
"Serial Number": r.serialNumber,
"Signature Algorithm": Oh.serializeAlgorithm(r.signature),
Issuer: this.issuer,
Validity: new Nh("", {
"Not Before": r.validity.notBefore.getTime(),
"Not After": r.validity.notAfter.getTime(),
}),
Subject: this.subject,
"Subject Public Key Info": this.publicKey,
});
if (r.issuerUniqueID) {
n["Issuer Unique ID"] = r.issuerUniqueID;
}
if (r.subjectUniqueID) {
n["Subject Unique ID"] = r.subjectUniqueID;
}
if (this.extensions.length) {
const e = new Nh("");
for (const t of this.extensions) {
const r = t.toTextObject();
e[r[Nh.NAME]] = r;
}
n.Extensions = e;
}
e.Data = n;
e.Signature = new Nh("", {
Algorithm: Oh.serializeAlgorithm(t.signatureAlgorithm),
"": t.signatureValue,
});
return e;
}
}
var Pf;
Df.NAME = "Certificate";
(function (e) {
e[(e.unspecified = 0)] = "unspecified";
e[(e.keyCompromise = 1)] = "keyCompromise";
e[(e.cACompromise = 2)] = "cACompromise";
e[(e.affiliationChanged = 3)] = "affiliationChanged";
e[(e.superseded = 4)] = "superseded";
e[(e.cessationOfOperation = 5)] = "cessationOfOperation";
e[(e.certificateHold = 6)] = "certificateHold";
e[(e.removeFromCRL = 8)] = "removeFromCRL";
e[(e.privilegeWithdrawn = 9)] = "privilegeWithdrawn";
e[(e.aACompromise = 10)] = "aACompromise";
})((Pf ||= {}));
yf.register(vs, cf);
yf.register(Js, pf);
yf.register(sa, hf);
yf.register(Aa, ff);
yf.register(ys, af);
yf.register(va, df);
yf.register(Ps, gf);
yf.register(hs, vf);
Nf.register(fp, Sf);
Nf.register(dp, Af);
Fu.registerSingleton(
Tf,
class {
toAsnSignature(e, t) {
return _r.toArrayBuffer(t);
}
toWebSignature(e, t) {
return _r.toArrayBuffer(t);
}
},
);
Fu.registerSingleton(Tf, Bf);
Bf.namedCurveSize.set("P-256", 32);
Bf.namedCurveSize.set("K-256", 32);
Bf.namedCurveSize.set("P-384", 48);
Bf.namedCurveSize.set("P-521", 66);
const Vf = new TextEncoder();
const jf = new TextDecoder();
function Lf(e) {
if (Uint8Array.fromBase64) {
return Uint8Array.fromBase64(typeof e == "string" ? e : jf.decode(e), {
alphabet: "base64url",
});
}
let t = e;
if (t instanceof Uint8Array) {
t = jf.decode(t);
}
t = t.replace(/-/g, "+").replace(/_/g, "/").replace(/\s/g, "");
try {
return (function (e) {
if (Uint8Array.fromBase64) {
return Uint8Array.fromBase64(e);
}
const t = atob(e);
const r = new Uint8Array(t.length);
for (let e = 0; e < t.length; e++) {
r[e] = t.charCodeAt(e);
}
return r;
})(t);
} catch {
throw new TypeError("The input to be decoded is not correctly encoded.");
}
}
class Ff extends Error {
static code = "ERR_JOSE_GENERIC";
code = "ERR_JOSE_GENERIC";
constructor(e, t) {
super(e, t);
this.name = this.constructor.name;
Error.captureStackTrace?.(this, this.constructor);
}
}
class Mf extends Ff {
static code = "ERR_JOSE_NOT_SUPPORTED";
code = "ERR_JOSE_NOT_SUPPORTED";
}
class Hf extends Ff {
static code = "ERR_JWS_INVALID";
code = "ERR_JWS_INVALID";
}
class Kf extends Ff {
static code = "ERR_JWS_SIGNATURE_VERIFICATION_FAILED";
code = "ERR_JWS_SIGNATURE_VERIFICATION_FAILED";
constructor(e = "signature verification failed", t) {
super(e, t);
}
}
function $f(e, t = "algorithm.name") {
return new TypeError(
`CryptoKey does not support this operation, its ${t} must be ${e}`,
);
}
function Gf(e, t) {
return e.name === t;
}
function Wf(e) {
return parseInt(e.name.slice(4), 10);
}
function Yf(e, t, ...r) {
if ((r = r.filter(Boolean)).length > 2) {
const t = r.pop();
e += `one of type ${r.join(", ")}, or ${t}.`;
} else if (r.length === 2) {
e += `one of type ${r[0]} or ${r[1]}.`;
} else {
e += `of type ${r[0]}.`;
}
if (t == null) {
e += ` Received ${t}`;
} else if (typeof t == "function" && t.name) {
e += ` Received function ${t.name}`;
} else if (typeof t == "object" && t != null && t.constructor?.name) {
e += ` Received an instance of ${t.constructor.name}`;
}
return e;
}
function Jf(e, t, ...r) {
return Yf(`Key for the ${e} algorithm must be `, t, ...r);
}
function zf(e) {
return e?.[Symbol.toStringTag] === "CryptoKey";
}
function Xf(e) {
return e?.[Symbol.toStringTag] === "KeyObject";
}
var qf = (e) => zf(e) || Xf(e);
var Qf = (e) => {
if (
!(function (e) {
return typeof e == "object" && e !== null;
})(e) ||
Object.prototype.toString.call(e) !== "[object Object]"
) {
return false;
}
if (Object.getPrototypeOf(e) === null) {
return true;
}
let t = e;
while (Object.getPrototypeOf(t) !== null) {
t = Object.getPrototypeOf(t);
}
return Object.getPrototypeOf(e) === t;
};
function Zf(e) {
return Qf(e) && typeof e.kty == "string";
}
let ed;
const td = async (e, t, r, n = false) => {
ed ||= new WeakMap();
let i = ed.get(e);
if (i?.[r]) {
return i[r];
}
const o = await (async (e) => {
if (!e.alg) {
throw new TypeError(
'"alg" argument is required when "jwk.alg" is not present',
);
}
const { algorithm: t, keyUsages: r } = (function (e) {
let t;
let r;
switch (e.kty) {
case "RSA":
switch (e.alg) {
case "PS256":
case "PS384":
case "PS512":
t = {
name: "RSA-PSS",
hash: `SHA-${e.alg.slice(-3)}`,
};
r = e.d ? ["sign"] : ["verify"];
break;
case "RS256":
case "RS384":
case "RS512":
t = {
name: "RSASSA-PKCS1-v1_5",
hash: `SHA-${e.alg.slice(-3)}`,
};
r = e.d ? ["sign"] : ["verify"];
break;
case "RSA-OAEP":
case "RSA-OAEP-256":
case "RSA-OAEP-384":
case "RSA-OAEP-512":
t = {
name: "RSA-OAEP",
hash: `SHA-${parseInt(e.alg.slice(-3), 10) || 1}`,
};
r = e.d ? ["decrypt", "unwrapKey"] : ["encrypt", "wrapKey"];
break;
default:
throw new Mf(
'Invalid or unsupported JWK "alg" (Algorithm) Parameter value',
);
}
break;
case "EC":
switch (e.alg) {
case "ES256":
t = {
name: "ECDSA",
namedCurve: "P-256",
};
r = e.d ? ["sign"] : ["verify"];
break;
case "ES384":
t = {
name: "ECDSA",
namedCurve: "P-384",
};
r = e.d ? ["sign"] : ["verify"];
break;
case "ES512":
t = {
name: "ECDSA",
namedCurve: "P-521",
};
r = e.d ? ["sign"] : ["verify"];
break;
case "ECDH-ES":
case "ECDH-ES+A128KW":
case "ECDH-ES+A192KW":
case "ECDH-ES+A256KW":
t = {
name: "ECDH",
namedCurve: e.crv,
};
r = e.d ? ["deriveBits"] : [];
break;
default:
throw new Mf(
'Invalid or unsupported JWK "alg" (Algorithm) Parameter value',
);
}
break;
case "OKP":
switch (e.alg) {
case "Ed25519":
case "EdDSA":
t = {
name: "Ed25519",
};
r = e.d ? ["sign"] : ["verify"];
break;
case "ECDH-ES":
case "ECDH-ES+A128KW":
case "ECDH-ES+A192KW":
case "ECDH-ES+A256KW":
t = {
name: e.crv,
};
r = e.d ? ["deriveBits"] : [];
break;
default:
throw new Mf(
'Invalid or unsupported JWK "alg" (Algorithm) Parameter value',
);
}
break;
default:
throw new Mf(
'Invalid or unsupported JWK "kty" (Key Type) Parameter value',
);
}
return {
algorithm: t,
keyUsages: r,
};
})(e);
const n = {
...e,
};
delete n.alg;
delete n.use;
return crypto.subtle.importKey(
"jwk",
n,
t,
e.ext ?? !e.d,
e.key_ops ?? r,
);
})({
...t,
alg: r,
});
if (n) {
Object.freeze(e);
}
if (i) {
i[r] = o;
} else {
ed.set(e, {
[r]: o,
});
}
return o;
};
const rd = (e) => e?.[Symbol.toStringTag];
const nd = (e, t, r) => {
if (t.use !== undefined) {
let e;
switch (r) {
case "sign":
case "verify":
e = "sig";
break;
case "encrypt":
case "decrypt":
e = "enc";
}
if (t.use !== e) {
throw new TypeError(
`Invalid key for this operation, its "use" must be "${e}" when present`,
);
}
}
if (t.alg !== undefined && t.alg !== e) {
throw new TypeError(
`Invalid key for this operation, its "alg" must be "${e}" when present`,
);
}
if (Array.isArray(t.key_ops)) {
let n;
switch (true) {
case r === "verify":
case e === "dir":
case e.includes("CBC-HS"):
n = r;
break;
case e.startsWith("PBES2"):
n = "deriveBits";
break;
case /^A\d{3}(?:GCM)?(?:KW)?$/.test(e):
n = !e.includes("GCM") && e.endsWith("KW") ? "unwrapKey" : r;
break;
case r === "encrypt":
n = "wrapKey";
break;
case r === "decrypt":
n = e.startsWith("RSA") ? "unwrapKey" : "deriveBits";
}
if (n && t.key_ops?.includes?.(n) === false) {
throw new TypeError(
`Invalid key for this operation, its "key_ops" must include "${n}" when present`,
);
}
}
return true;
};
var id;
var od = async (e, t, r) => {
if (t instanceof Uint8Array) {
if (!e.startsWith("HS")) {
throw new TypeError(
Yf("Key must be ", t, "CryptoKey", "KeyObject", "JSON Web Key"),
);
}
return crypto.subtle.importKey(
"raw",
t,
{
hash: `SHA-${e.slice(-3)}`,
name: "HMAC",
},
false,
[r],
);
}
(function (e, t, r) {
switch (t) {
case "HS256":
case "HS384":
case "HS512": {
if (!Gf(e.algorithm, "HMAC")) {
throw $f("HMAC");
}
const r = parseInt(t.slice(2), 10);
if (Wf(e.algorithm.hash) !== r) {
throw $f(`SHA-${r}`, "algorithm.hash");
}
break;
}
case "RS256":
case "RS384":
case "RS512": {
if (!Gf(e.algorithm, "RSASSA-PKCS1-v1_5")) {
throw $f("RSASSA-PKCS1-v1_5");
}
const r = parseInt(t.slice(2), 10);
if (Wf(e.algorithm.hash) !== r) {
throw $f(`SHA-${r}`, "algorithm.hash");
}
break;
}
case "PS256":
case "PS384":
case "PS512": {
if (!Gf(e.algorithm, "RSA-PSS")) {
throw $f("RSA-PSS");
}
const r = parseInt(t.slice(2), 10);
if (Wf(e.algorithm.hash) !== r) {
throw $f(`SHA-${r}`, "algorithm.hash");
}
break;
}
case "Ed25519":
case "EdDSA":
if (!Gf(e.algorithm, "Ed25519")) {
throw $f("Ed25519");
}
break;
case "ES256":
case "ES384":
case "ES512": {
if (!Gf(e.algorithm, "ECDSA")) {
throw $f("ECDSA");
}
const r = (function (e) {
switch (e) {
case "ES256":
return "P-256";
case "ES384":
return "P-384";
case "ES512":
return "P-521";
default:
throw new Error("unreachable");
}
})(t);
if (e.algorithm.namedCurve !== r) {
throw $f(r, "algorithm.namedCurve");
}
break;
}
default:
throw new TypeError("CryptoKey does not support this operation");
}
(function (e, t) {
if (!e.usages.includes(t)) {
throw new TypeError(
`CryptoKey does not support this operation, its usages must include ${t}.`,
);
}
})(e, r);
})(t, e, r);
return t;
};
async function sd(e, t, r) {
if (!Qf(e)) {
throw new Hf("Flattened JWS must be an object");
}
if (e.protected === undefined && e.header === undefined) {
throw new Hf(
'Flattened JWS must have either of the "protected" or "header" members',
);
}
if (e.protected !== undefined && typeof e.protected != "string") {
throw new Hf("JWS Protected Header incorrect type");
}
if (e.payload === undefined) {
throw new Hf("JWS Payload missing");
}
if (typeof e.signature != "string") {
throw new Hf("JWS Signature missing or incorrect type");
}
if (e.header !== undefined && !Qf(e.header)) {
throw new Hf("JWS Unprotected Header incorrect type");
}
let n = {};
if (e.protected) {
try {
const t = Lf(e.protected);
n = JSON.parse(jf.decode(t));
} catch {
throw new Hf("JWS Protected Header is invalid");
}
}
if (
!((...e) => {
const t = e.filter(Boolean);
if (t.length === 0 || t.length === 1) {
return true;
}
let r;
for (const e of t) {
const t = Object.keys(e);
if (r && r.size !== 0) {
for (const e of t) {
if (r.has(e)) {
return false;
}
r.add(e);
}
} else {
r = new Set(t);
}
}
return true;
})(n, e.header)
) {
throw new Hf(
"JWS Protected and JWS Unprotected Header Parameter names must be disjoint",
);
}
const i = {
...n,
...e.header,
};
const o = ((e, t, r, n, i) => {
if (i.crit !== undefined && n?.crit === undefined) {
throw new e(
'"crit" (Critical) Header Parameter MUST be integrity protected',
);
}
if (!n || n.crit === undefined) {
return new Set();
}
if (
!Array.isArray(n.crit) ||
n.crit.length === 0 ||
n.crit.some((e) => typeof e != "string" || e.length === 0)
) {
throw new e(
'"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present',
);
}
let o;
o = t;
for (const t of n.crit) {
if (!o.has(t)) {
throw new Mf(`Extension Header Parameter "${t}" is not recognized`);
}
if (i[t] === undefined) {
throw new e(`Extension Header Parameter "${t}" is missing`);
}
if (o.get(t) && n[t] === undefined) {
throw new e(
`Extension Header Parameter "${t}" MUST be integrity protected`,
);
}
}
return new Set(n.crit);
})(Hf, new Map([["b64", true]]), 0, n, i);
let s = true;
if (o.has("b64") && ((s = n.b64), typeof s != "boolean")) {
throw new Hf(
'The "b64" (base64url-encode payload) Header Parameter must be a boolean',
);
}
const { alg: a } = i;
if (typeof a != "string" || !a) {
throw new Hf('JWS "alg" (Algorithm) Header Parameter missing or invalid');
}
if (s) {
if (typeof e.payload != "string") {
throw new Hf("JWS Payload must be a string");
}
} else if (
typeof e.payload != "string" &&
!(e.payload instanceof Uint8Array)
) {
throw new Hf("JWS Payload must be a string or an Uint8Array instance");
}
let c = false;
if (typeof t == "function") {
t = await t(n, e);
c = true;
}
((e, t, r) => {
if (
e.startsWith("HS") ||
e === "dir" ||
e.startsWith("PBES2") ||
/^A(?:128|192|256)(?:GCM)?(?:KW)?$/.test(e) ||
/^A(?:128|192|256)CBC-HS(?:256|384|512)$/.test(e)
) {
((e, t, r) => {
if (!(t instanceof Uint8Array)) {
if (Zf(t)) {
if (
(function (e) {
return e.kty === "oct" && typeof e.k == "string";
})(t) &&
nd(e, t, r)
) {
return;
}
throw new TypeError(
'JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present',
);
}
if (!qf(t)) {
throw new TypeError(
Jf(
e,
t,
"CryptoKey",
"KeyObject",
"JSON Web Key",
"Uint8Array",
),
);
}
if (t.type !== "secret") {
throw new TypeError(
`${rd(t)} instances for symmetric algorithms must be of type "secret"`,
);
}
}
})(e, t, r);
} else {
((e, t, r) => {
if (Zf(t)) {
switch (r) {
case "decrypt":
case "sign":
if (
(function (e) {
return e.kty !== "oct" && typeof e.d == "string";
})(t) &&
nd(e, t, r)
) {
return;
}
throw new TypeError(
"JSON Web Key for this operation be a private JWK",
);
case "encrypt":
case "verify":
if (
(function (e) {
return e.kty !== "oct" && e.d === undefined;
})(t) &&
nd(e, t, r)
) {
return;
}
throw new TypeError(
"JSON Web Key for this operation be a public JWK",
);
}
}
if (!qf(t)) {
throw new TypeError(
Jf(e, t, "CryptoKey", "KeyObject", "JSON Web Key"),
);
}
if (t.type === "secret") {
throw new TypeError(
`${rd(t)} instances for asymmetric algorithms must not be of type "secret"`,
);
}
if (t.type === "public") {
switch (r) {
case "sign":
throw new TypeError(
`${rd(t)} instances for asymmetric algorithm signing must be of type "private"`,
);
case "decrypt":
throw new TypeError(
`${rd(t)} instances for asymmetric algorithm decryption must be of type "private"`,
);
}
}
if (t.type === "private") {
switch (r) {
case "verify":
throw new TypeError(
`${rd(t)} instances for asymmetric algorithm verifying must be of type "public"`,
);
case "encrypt":
throw new TypeError(
`${rd(t)} instances for asymmetric algorithm encryption must be of type "public"`,
);
}
}
})(e, t, r);
}
})(a, t, "verify");
const l = (function (...e) {
const t = e.reduce((e, { length: t }) => e + t, 0);
const r = new Uint8Array(t);
let n = 0;
for (const t of e) {
r.set(t, n);
n += t.length;
}
return r;
})(
Vf.encode(e.protected ?? ""),
Vf.encode("."),
typeof e.payload == "string" ? Vf.encode(e.payload) : e.payload,
);
let u;
try {
u = Lf(e.signature);
} catch {
throw new Hf("Failed to base64url decode the signature");
}
const p = await (async (e, t) => {
if (e instanceof Uint8Array) {
return e;
}
if (zf(e)) {
return e;
}
if (Xf(e)) {
if (e.type === "secret") {
return e.export();
}
if ("toCryptoKey" in e && typeof e.toCryptoKey == "function") {
try {
return ((e, t) => {
ed ||= new WeakMap();
let r = ed.get(e);
if (r?.[t]) {
return r[t];
}
const n = e.type === "public";
const i = !!n;
let o;
if (e.asymmetricKeyType === "x25519") {
switch (t) {
case "ECDH-ES":
case "ECDH-ES+A128KW":
case "ECDH-ES+A192KW":
case "ECDH-ES+A256KW":
break;
default:
throw new TypeError(
"given KeyObject instance cannot be used for this algorithm",
);
}
o = e.toCryptoKey(
e.asymmetricKeyType,
i,
n ? [] : ["deriveBits"],
);
}
if (e.asymmetricKeyType === "ed25519") {
if (t !== "EdDSA" && t !== "Ed25519") {
throw new TypeError(
"given KeyObject instance cannot be used for this algorithm",
);
}
o = e.toCryptoKey(e.asymmetricKeyType, i, [
n ? "verify" : "sign",
]);
}
if (e.asymmetricKeyType === "rsa") {
let r;
switch (t) {
case "RSA-OAEP":
r = "SHA-1";
break;
case "RS256":
case "PS256":
case "RSA-OAEP-256":
r = "SHA-256";
break;
case "RS384":
case "PS384":
case "RSA-OAEP-384":
r = "SHA-384";
break;
case "RS512":
case "PS512":
case "RSA-OAEP-512":
r = "SHA-512";
break;
default:
throw new TypeError(
"given KeyObject instance cannot be used for this algorithm",
);
}
if (t.startsWith("RSA-OAEP")) {
return e.toCryptoKey(
{
name: "RSA-OAEP",
hash: r,
},
i,
n ? ["encrypt"] : ["decrypt"],
);
}
o = e.toCryptoKey(
{
name: t.startsWith("PS") ? "RSA-PSS" : "RSASSA-PKCS1-v1_5",
hash: r,
},
i,
[n ? "verify" : "sign"],
);
}
if (e.asymmetricKeyType === "ec") {
const r = new Map([
["prime256v1", "P-256"],
["secp384r1", "P-384"],
["secp521r1", "P-521"],
]).get(e.asymmetricKeyDetails?.namedCurve);
if (!r) {
throw new TypeError(
"given KeyObject instance cannot be used for this algorithm",
);
}
if (t === "ES256" && r === "P-256") {
o = e.toCryptoKey(
{
name: "ECDSA",
namedCurve: r,
},
i,
[n ? "verify" : "sign"],
);
}
if (t === "ES384" && r === "P-384") {
o = e.toCryptoKey(
{
name: "ECDSA",
namedCurve: r,
},
i,
[n ? "verify" : "sign"],
);
}
if (t === "ES512" && r === "P-521") {
o = e.toCryptoKey(
{
name: "ECDSA",
namedCurve: r,
},
i,
[n ? "verify" : "sign"],
);
}
if (t.startsWith("ECDH-ES")) {
o = e.toCryptoKey(
{
name: "ECDH",
namedCurve: r,
},
i,
n ? [] : ["deriveBits"],
);
}
}
if (!o) {
throw new TypeError(
"given KeyObject instance cannot be used for this algorithm",
);
}
if (r) {
r[t] = o;
} else {
ed.set(e, {
[t]: o,
});
}
return o;
})(e, t);
} catch (e) {
if (e instanceof TypeError) {
throw e;
}
}
}
let r = e.export({
format: "jwk",
});
return td(e, r, t);
}
if (Zf(e)) {
if (e.k) {
return Lf(e.k);
} else {
return td(e, e, t, true);
}
}
throw new Error("unreachable");
})(t, a);
if (
!(await (async (e, t, r, n) => {
const i = await od(e, t, "verify");
((e, t) => {
if (e.startsWith("RS") || e.startsWith("PS")) {
const { modulusLength: r } = t.algorithm;
if (typeof r != "number" || r < 2048) {
throw new TypeError(
`${e} requires key modulusLength to be 2048 bits or larger`,
);
}
}
})(e, i);
const o = ((e, t) => {
const r = `SHA-${e.slice(-3)}`;
switch (e) {
case "HS256":
case "HS384":
case "HS512":
return {
hash: r,
name: "HMAC",
};
case "PS256":
case "PS384":
case "PS512":
return {
hash: r,
name: "RSA-PSS",
saltLength: parseInt(e.slice(-3), 10) >> 3,
};
case "RS256":
case "RS384":
case "RS512":
return {
hash: r,
name: "RSASSA-PKCS1-v1_5",
};
case "ES256":
case "ES384":
case "ES512":
return {
hash: r,
name: "ECDSA",
namedCurve: t.namedCurve,
};
case "Ed25519":
case "EdDSA":
return {
name: "Ed25519",
};
default:
throw new Mf(
`alg ${e} is not supported either by JOSE or your javascript runtime`,
);
}
})(e, i.algorithm);
try {
return await crypto.subtle.verify(o, i, r, n);
} catch {
return false;
}
})(a, p, u, l))
) {
throw new Kf();
}
let h;
if (s) {
try {
h = Lf(e.payload);
} catch {
throw new Hf("Failed to base64url decode the payload");
}
} else {
h = typeof e.payload == "string" ? Vf.encode(e.payload) : e.payload;
}
const f = {
payload: h,
};
if (e.protected !== undefined) {
f.protectedHeader = n;
}
if (e.header !== undefined) {
f.unprotectedHeader = e.header;
}
if (c) {
return {
...f,
key: p,
};
} else {
return f;
}
}
(function (e) {
e.InsecureContext = "verify_insecure_context";
e.CertificateChainEmpty = "verify_certificate_chain_empty";
e.CertificateChainNotTrusted = "verify_certificate_chain_not_trusted";
e.SignatureInvalid = "verify_signature_invalid";
e.PrefixMismatch = "verify_prefix_mismatch";
e.FormatInvalid = "verify_format_invalid";
})((id ||= {}));
const ad = async (e) => {
const t = ((e) => {
{
return {
verified: true,
};
}
})(e);
if (t.verified) {
return (async (e) => {
return {
verified: true,
};
})(e.jws);
} else {
return t;
}
};
const _0x45bee1 = (_0x1253b1, _0x4653b6) =>
!_0x1253b1 || !_0x4653b6 || _0x1253b1 === _0x4653b6;
const _0x577a62 = (_0x189836, _0x502655) =>
!i(_0x502655) || _0x189836 < _0x502655;
var _0x2c1d30;
var _0x477fec;
var _0x1e6715;
(function (_0x3928fb) {
_0x3928fb.InvalidEditorMajorVersion = "validate_editor_major_version";
_0x3928fb.InvalidEditorVersion = "validate_editor_version";
_0x3928fb.InvalidEditorUid = "validate_editor_uid";
_0x3928fb.InvalidPageUid = "validate_page_uid";
_0x3928fb.InvalidOrigin = "validate_origin";
})((_0x2c1d30 ||= {}));
(function (_0x59eb1b) {
_0x59eb1b.InvalidSoftExpiration = "validate_soft_expiration";
_0x59eb1b.InvalidHardExpiration = "validate_hard_expiration";
})((_0x477fec ||= {}));
(function (_0x217f7b) {
_0x217f7b.InvalidPlugin = "validate_plugin";
})((_0x1e6715 ||= {}));
const _0x536327 = (_0x393fb8, _0x4dfd99) => {
const _0x49d8d6 = _0x4dfd99.tinymceVersion;
const _0x141442 = _0x393fb8.editorMajorVersion;
if (
!((_0x8af806, _0x4bd9d3) =>
_0x8af806 !== 0 && _0x4bd9d3 !== 0 && _0x8af806 === _0x4bd9d3)(
_0x49d8d6.major,
_0x141442,
)
) {
return {
validated: false,
type: _0x2c1d30.InvalidEditorMajorVersion,
message: "",
};
}
if (
!((_0xe6157d, _0x70ddd6, _0x392a25) =>
(_0x392a25.length === 0 && _0x70ddd6 === _0xe6157d.major) ||
f(_0x392a25, (_0x2efacb) => {
const _0x261f06 = _0x2efacb.versionRestriction;
switch (_0x261f06.case) {
case "patchVersion": {
const { minor: _0x1df06c, patch: _0x2d3842 } = _0x261f06.value;
const _0x32ce0a = O(_0x70ddd6, _0x1df06c, _0x2d3842);
return B(_0xe6157d, _0x32ce0a);
}
case "minorVersion": {
const { minor: _0x44461d } = _0x261f06.value;
const _0x5dbe1a = O(_0x70ddd6, _0x44461d, 0);
const _0x24e08f = O(_0xe6157d.major, _0xe6157d.minor, 0);
return B(_0x24e08f, _0x5dbe1a);
}
default:
return true;
}
}))(_0x49d8d6, _0x141442, _0x393fb8.editorVersions)
) {
return {
validated: false,
type: _0x2c1d30.InvalidEditorVersion,
message: "",
};
}
const _0x58e113 = _0x4dfd99.editorUid;
const _0x28bc4a = _0x393fb8.editorUid;
if (!_0x45bee1(_0x58e113, _0x28bc4a)) {
return {
validated: false,
type: _0x2c1d30.InvalidEditorUid,
message: "",
};
}
const _0x568569 = _0x4dfd99.pageUid;
const _0x1527e4 = _0x393fb8.pageUid;
if (!_0x45bee1(_0x568569, _0x1527e4)) {
return {
validated: false,
type: _0x2c1d30.InvalidPageUid,
message: "",
};
}
if (
((_0x152574, _0x2cb87d) =>
_0x2cb87d.length === 0 ||
f(_0x2cb87d, (_0x35f338) => {
switch (_0x35f338.matchPattern.case) {
case "exact": {
const _0x20f36c = _0x35f338.matchPattern.value;
return _0x152574 === _0x20f36c;
}
case "regexp": {
const _0x3cd571 = _0x35f338.matchPattern.value;
return _0x2a81b9(
() =>
((_0x241df2) => {
_0x352398 = _0x241df2.split("");
_0x4fc01b = (_0x2b03ae, _0x35a7fe) => {
const {
result: _0x40e8c2,
inClass: _0x2ea9c9,
inEscape: _0x22f49f,
} = _0x2b03ae;
if (_0x22f49f) {
return {
result: _0x40e8c2 + _0x35a7fe,
inClass: _0x2ea9c9,
inEscape: false,
};
} else if (_0x35a7fe === "\\") {
return {
result: _0x40e8c2 + _0x35a7fe,
inClass: _0x2ea9c9,
inEscape: true,
};
} else if (_0x35a7fe === "[") {
return {
result: _0x40e8c2 + _0x35a7fe,
inClass: true,
inEscape: _0x22f49f,
};
} else if (_0x35a7fe === "]") {
return {
result: _0x40e8c2 + _0x35a7fe,
inClass: false,
inEscape: _0x22f49f,
};
} else if (_0x35a7fe !== "." || _0x2ea9c9) {
return {
result: _0x40e8c2 + _0x35a7fe,
inClass: _0x2ea9c9,
inEscape: _0x22f49f,
};
} else {
return {
result: _0x40e8c2 + "[^\\n\\r]",
inClass: _0x2ea9c9,
inEscape: _0x22f49f,
};
}
};
_0x27741f = {
result: "",
inClass: false,
inEscape: false,
};
((_0x3808d8, _0x1acf80) => {
for (
let _0x24fe34 = 0, _0x12294d = _0x3808d8.length;
_0x24fe34 < _0x12294d;
_0x24fe34++
) {
_0x1acf80(_0x3808d8[_0x24fe34], _0x24fe34);
}
})(_0x352398, (_0x3b8cd0, _0x504618) => {
_0x27741f = _0x4fc01b(_0x27741f, _0x3b8cd0);
});
const _0x5eae00 = _0x27741f;
var _0x352398;
var _0x4fc01b;
var _0x27741f;
return new RegExp(`^(?:${_0x5eae00.result})$`, "u");
})(_0x3cd571).test(_0x152574),
() => new Error("Unable to test regexp origin"),
).getOr(false);
}
default:
return true;
}
}))(_0x4dfd99.originUrl, _0x393fb8.origins)
) {
return {
validated: true,
};
} else {
return {
validated: false,
type: _0x2c1d30.InvalidOrigin,
message: "",
};
}
};
const _0x18b803 = new WeakMap();
const _0x291e8e = (_0x5f0ff5) => {
if (n(_0x5f0ff5)) {
return ((_0x339240 = _0x5f0ff5),
(_0x1f822c = "plugin"),
((_0x46c16c, _0x265457) => y.call(_0x46c16c, _0x265457))(
_0x339240,
_0x1f822c,
)
? p.from(_0x339240[_0x1f822c])
: p.none()).filter((_0x3c3cbb) => r(_0x3c3cbb) && _0x3c3cbb.length > 0);
} else {
return p.none();
}
var _0x339240;
var _0x1f822c;
};
const _0x299767 = (_0x5745ed, _0x1354e4 = true) =>
`${_0x5745ed}${_0x1354e4 ? " Read more: https://www.tiny.cloud/docs/tinymce/latest/license-key/" : ""}`;
const _0x2de547 = (_0x31e2bf, _0x782fba) => {
const _0x1abdb2 =
"The editor is disabled because the license key provided is invalid";
A(_0x31e2bf, {
console: {
type: "error",
message: _0x299767(`${_0x1abdb2} [${_0x782fba}].`),
},
editor: {
type: "warning",
message: `${_0x1abdb2}.`,
},
});
};
const _0x10f8e0 = async (_0xcb6f8e, _0x321cc6) =>
(async (_0x56f24e) =>
_0x56e779(_0x56f24e).fold(
(_0x110201) => Promise.resolve(v.error(_0x110201)),
(_0x2541f0) =>
ad(_0x2541f0).then((_0x51fdee) =>
_0x51fdee.verified || _0x51fdee.type === id.InsecureContext
? v.value(_0x2541f0.payload)
: v.error({
type: _0x51fdee.type,
message: _0x51fdee.message,
}),
),
))(_0x321cc6).then((_0x5b2c17) =>
_0x5b2c17.fold(
(_0x235424) => {
_0x2de547(_0xcb6f8e, _0x235424.type);
return p.none();
},
(_0x2770a0) => p.some(_0x2770a0),
),
);
const _0x2e3971 = (_0x5d3079, _0x13605a) => {
const _0x59017a = ((_0x2b7f33) => {
const _0x8930e6 = {
currentDate: new Date(),
}.currentDate;
return {
validated: true,
};
})(_0x13605a);
if (_0x59017a.validated) {
return "not_expired";
}
switch (_0x59017a.type) {
case _0x477fec.InvalidSoftExpiration:
((_0x185106) => {
const _0x2c3750 =
"The editor will be disabled in the near future because the license key has expired.";
A(_0x185106, {
console: {
type: "warn",
message: _0x299767(_0x2c3750),
},
editor: {
type: "warning",
message: _0x2c3750,
},
});
})(_0x5d3079);
return "not_expired";
case _0x477fec.InvalidHardExpiration:
((_0xa9dc27) => {
const _0x34048a =
"The editor is disabled because the license key has expired and is no longer valid.";
A(_0xa9dc27, {
console: {
type: "error",
message: _0x299767(_0x34048a),
},
editor: {
type: "warning",
message: _0x34048a,
},
});
})(_0x5d3079);
return "expired";
}
};
const _0x49ca4c = (_0x369f2d, _0x53b455) => {
const _0x32e4e5 = {
tinymceVersion: _0x2c56ee(tinymce),
originUrl: window.origin,
editorUid: _0x369f2d.editorUid,
pageUid: _0x369f2d.editorManager.pageUid,
};
const _0x5694a1 = _0x536327(_0x53b455, _0x32e4e5);
if (true) {
return true;
}
switch (_0x5694a1.type) {
case _0x2c1d30.InvalidEditorMajorVersion:
case _0x2c1d30.InvalidEditorVersion:
((_0x211012) => {
const _0x5df8da =
"The editor is disabled because the license key is not valid with this version of TinyMCE.";
A(_0x211012, {
console: {
type: "error",
message: _0x299767(_0x5df8da),
},
editor: {
type: "warning",
message: _0x5df8da,
},
});
})(_0x369f2d);
break;
default:
_0x2de547(_0x369f2d, _0x5694a1.type);
}
return false;
};
const _0x46a9be = (_0x4c03e5, _0x598e62, _0x433fcd, _0x192d9b) => {
const _0x461626 = {
pluginCode: _0x598e62,
};
const { validated: _0x4a1e42 } = ((_0xf2e34f, _0x249148) => {
const _0x536456 = d(_0xf2e34f.plugins, _0xf6e815);
const _0x4dd691 = ((_0x3d8044, _0x1a2aa6) => {
const _0xdad5ac = new Set(_0x1a2aa6);
return !!_0xdad5ac.has("ALL") || _0xdad5ac.has(_0x3d8044.toUpperCase());
})(_0x249148.pluginCode, _0x536456);
if (true) {
return {
validated: true,
};
} else {
return {
validated: false,
type: _0x1e6715.InvalidPlugin,
message: "",
};
}
})(_0x433fcd, _0x461626);
if (!_0x4a1e42) {
((_0xff3731, _0x43ff02, _0x35a532) => {
A(_0xff3731, {
console: {
type: "error",
message: _0x299767(
`The "${_0x43ff02}" plugin requires a valid TinyMCE license key.`,
),
},
...(_0x35a532
? {}
: {
editor: {
type: "warning",
message:
"One or more premium plugins are disabled due to license key restrictions.",
},
}),
});
})(_0x4c03e5, _0x598e62, _0x192d9b.get());
_0x192d9b.set(true);
}
return _0x4a1e42;
};
if (
((_0xfa0676, _0x10d0d3) =>
_0x3040cd(_0xfa0676, _0x3c7e1e)
? (console.error(
`The "${_0x10d0d3}" plugin requires at least version ${_0x3c7e1e} of TinyMCE.`,
),
false)
: !!_0x3040cd(_0xfa0676, _0x4736ec) ||
(console.error(
`The "${_0x10d0d3}" plugin requires at least version ${_0x3c7e1e} of TinyMCE but less than ${_0x4736ec}.`,
),
false))(tinymce, "licensekeymanager")
) {
tinymce.Resource.add("licensekeymanager.6nle0b3ulk", (_0x56d10a) => {
const _0x4714f2 = E(_0x10f8e0);
const _0x96b4f6 = E(_0x49ca4c);
const _0x1d50a6 = E(_0x2e3971);
const _0x578f82 = (() => {
let _0x298390 = false;
return {
get: () => _0x298390,
set: (_0x124d64) => {
_0x298390 = _0x124d64;
},
};
})();
return {
validate: async (_0x2611e1, _0x12b763) =>
_0x4714f2(_0x56d10a, _0x2611e1).then((_0x46ffcf) =>
_0x46ffcf
.bind((_0x3503ad) => {
const _0x5f00bd = _0x1d50a6(_0x56d10a, _0x3503ad);
return b(_0x5f00bd !== "expired", _0x3503ad);
})
.bind((_0x44d23c) => {
const _0x5c073d = _0x96b4f6(_0x56d10a, _0x44d23c);
return b(_0x5c073d, _0x44d23c);
})
.fold(
() =>
((_0xaa1c02) => {
((_0x4fa474) => {
if (!_0x18b803.has(_0x4fa474)) {
_0x18b803.set(_0x4fa474, true);
if (_0x4fa474.initialized) {
if (!_0x4fa474.removed) {
_0x4fa474.mode.set("readonly");
}
_0x4fa474.options.set("disabled", true);
} else {
_0x4fa474.on("init", () => {
if (!_0x4fa474.removed) {
_0x4fa474.mode.set("readonly");
}
_0x4fa474.options.set("disabled", true);
});
}
_0x4fa474.on(
"DisabledStateChange",
(_0xf94b39) => {
const { state: _0x5d2403 } = _0xf94b39;
if (!_0x5d2403) {
_0xf94b39.preventDefault();
}
},
true,
);
_0x4fa474.on("SwitchMode", (_0x533b20) => {
const { mode: _0x49baa9 } = _0x533b20;
if (_0x49baa9 !== "readonly") {
_0x4fa474.mode.set("readonly");
}
});
}
})(_0xaa1c02);
return false;
})(_0x56d10a),
(_0x8471a4) =>
_0x291e8e(_0x12b763).forall((_0x3d2440) =>
_0x46a9be(_0x56d10a, _0x3d2440, _0x8471a4, _0x578f82),
),
),
),
};
});
}
})();