+ Adds function bind to Function prototype, so that you can do partial application.
+ Works even with the nasty thing, where the first word is the opposite of extranet, the second one is the profession of Columbus, and the version number is 9, flipped 180 degrees.
+ throw r = 0 === e ? "field" : 10 === e ? "class" : "method", new TypeError(r + " decorators must return a function or void 0");
+ }
+}
+function old_getInit(e) {
+ var t;
+ return null == (t = e.init) && (t = e.initializer) && "undefined" != typeof console && console.warn(".initializer has been renamed to .init as of March 2022"), t;
+}
+function old_applyMemberDec(e, t, a, r, o, i, n, l, s) {
+ var c,
+ d,
+ u,
+ f,
+ p,
+ v,
+ h = a[0];
+ if (n ? c = 0 === o || 1 === o ? {
+ get: a[3],
+ set: a[4]
+ } : 3 === o ? {
+ get: a[3]
+ } : 4 === o ? {
+ set: a[3]
+ } : {
+ value: a[3]
+ } : 0 !== o && (c = Object.getOwnPropertyDescriptor(t, r)), 1 === o ? u = {
+ get: c.get,
+ set: c.set
+ } : 2 === o ? u = c.value : 3 === o ? u = c.get : 4 === o && (u = c.set), "function" == typeof h) void 0 !== (f = old_memberDec(h, r, c, l, s, o, i, n, u)) && (old_assertValidReturnValue(o, f), 0 === o ? d = f : 1 === o ? (d = old_getInit(f), p = f.get || u.get, v = f.set || u.set, u = {
+ get: p,
+ set: v
+ }) : u = f);else for (var y = h.length - 1; y >= 0; y--) {
+ var b;
+ if (void 0 !== (f = old_memberDec(h[y], r, c, l, s, o, i, n, u))) old_assertValidReturnValue(o, f), 0 === o ? b = f : 1 === o ? (b = old_getInit(f), p = f.get || u.get, v = f.set || u.set, u = {
+ get: p,
+ set: v
+ }) : u = f, void 0 !== b && (void 0 === d ? d = b : "function" == typeof d ? d = [d, b] : d.push(b));
+ }
+ if (0 === o || 1 === o) {
+ if (void 0 === d) d = function d(e, t) {
+ return t;
+ };else if ("function" != typeof d) {
+ var g = d;
+ d = function d(e, t) {
+ for (var a = t, r = 0; r < g.length; r++) a = g[r].call(e, a);
+ return a;
+ };
+ } else {
+ var m = d;
+ d = function d(e, t) {
+ return m.call(e, t);
+ };
+ }
+ e.push(d);
+ }
+ 0 !== o && (1 === o ? (c.get = u.get, c.set = u.set) : 2 === o ? c.value = u : 3 === o ? c.get = u : 4 === o && (c.set = u), n ? 1 === o ? (e.push(function (e, t) {
+ for (var i, n, l = new Map(), s = new Map(), c = 0; c < o.length; c++) {
+ var d = o[c];
+ if (Array.isArray(d)) {
+ var u,
+ f,
+ p,
+ v = d[1],
+ h = d[2],
+ y = d.length > 3,
+ b = v >= 5;
+ if (b ? (u = t, f = r, 0 !== (v -= 5) && (p = n = n || [])) : (u = t.prototype, f = a, 0 !== v && (p = i = i || [])), 0 !== v && !y) {
+ var g = b ? s : l,
+ m = g.get(h) || 0;
+ if (!0 === m || 3 === m && 4 !== v || 4 === m && 3 !== v) throw new Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h);
+ }, old_createMetadataMethodsForProperty(a, 0, n, s)),
+ d = r[l](i, c);
+ } finally {
+ s.v = !0;
+ }
+ void 0 !== d && (old_assertValidReturnValue(10, d), i = d);
+ }
+ e.push(i, function () {
+ for (var e = 0; e < o.length; e++) o[e].call(i);
+ });
+ }
+}
+function applyDecs(e, t, a) {
+ var r = [],
+ o = {},
+ i = {};
+ return old_applyMemberDecs(r, e, i, o, t), old_convertMetadataMapToFinal(e.prototype, i), old_applyClassDecs(r, e, o, a), old_convertMetadataMapToFinal(e, o), r;
+ throw a = 0 === e ? "field" : 10 === e ? "class" : "method", new TypeError(a + " decorators must return a function or void 0");
+ }
+ }
+ function applyMemberDec(e, t, r, a, n, i, s, o) {
+ var c,
+ l,
+ u,
+ f,
+ p,
+ d,
+ h = r[0];
+ if (s ? c = 0 === n || 1 === n ? {
+ get: r[3],
+ set: r[4]
+ } : 3 === n ? {
+ get: r[3]
+ } : 4 === n ? {
+ set: r[3]
+ } : {
+ value: r[3]
+ } : 0 !== n && (c = Object.getOwnPropertyDescriptor(t, a)), 1 === n ? u = {
+ get: c.get,
+ set: c.set
+ } : 2 === n ? u = c.value : 3 === n ? u = c.get : 4 === n && (u = c.set), "function" == typeof h) void 0 !== (f = memberDec(h, a, c, o, n, i, s, u)) && (assertValidReturnValue(n, f), 0 === n ? l = f : 1 === n ? (l = f.init, p = f.get || u.get, d = f.set || u.set, u = {
+ get: p,
+ set: d
+ }) : u = f);else for (var v = h.length - 1; v >= 0; v--) {
+ var g;
+ if (void 0 !== (f = memberDec(h[v], a, c, o, n, i, s, u))) assertValidReturnValue(n, f), 0 === n ? g = f : 1 === n ? (g = f.init, p = f.get || u.get, d = f.set || u.set, u = {
+ get: p,
+ set: d
+ }) : u = f, void 0 !== g && (void 0 === l ? l = g : "function" == typeof l ? l = [l, g] : l.push(g));
+ }
+ if (0 === n || 1 === n) {
+ if (void 0 === l) l = function l(e, t) {
+ return t;
+ };else if ("function" != typeof l) {
+ var y = l;
+ l = function l(e, t) {
+ for (var r = t, a = 0; a < y.length; a++) r = y[a].call(e, r);
+ return r;
+ };
+ } else {
+ var m = l;
+ l = function l(e, t) {
+ return m.call(e, t);
+ };
+ }
+ e.push(l);
+ }
+ 0 !== n && (1 === n ? (c.get = u.get, c.set = u.set) : 2 === n ? c.value = u : 3 === n ? c.get = u : 4 === n && (c.set = u), s ? 1 === n ? (e.push(function (e, t) {
+ for (var r = 0; r < t.length; r++) t[r].call(e);
+ return e;
+ });
+ }
+ return function (e, t, r) {
+ var a = [];
+ return function (e, t, r) {
+ for (var a, n, i = new Map(), s = new Map(), o = 0; o < r.length; o++) {
+ var c = r[o];
+ if (Array.isArray(c)) {
+ var l,
+ u,
+ f = c[1],
+ p = c[2],
+ d = c.length > 3,
+ h = f >= 5;
+ if (h ? (l = t, 0 != (f -= 5) && (u = n = n || [])) : (l = t.prototype, 0 !== f && (u = a = a || [])), 0 !== f && !d) {
+ var v = h ? s : i,
+ g = v.get(p) || 0;
+ if (!0 === g || 3 === g && 4 !== f || 4 === g && 3 !== f) throw new Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + p);
+ !g && f > 2 ? v.set(p, f) : v.set(p, !0);
+ }
+ applyMemberDec(e, l, c, p, f, h, d, u);
+ }
+ }
+ pushInitializers(e, a), pushInitializers(e, n);
+ }(a, e, t), function (e, t, r) {
+ if (r.length > 0) {
+ for (var a = [], n = t, i = t.name, s = r.length - 1; s >= 0; s--) {
+ throw n = 0 === e ? "field" : 10 === e ? "class" : "method", new TypeError(n + " decorators must return a function or void 0");
+ }
+ }
+ function applyMemberDec(e, t, r, n, a, i, s, o) {
+ var c,
+ l,
+ u,
+ f,
+ p,
+ d,
+ h = r[0];
+ if (s ? c = 0 === a || 1 === a ? {
+ get: r[3],
+ set: r[4]
+ } : 3 === a ? {
+ get: r[3]
+ } : 4 === a ? {
+ set: r[3]
+ } : {
+ value: r[3]
+ } : 0 !== a && (c = Object.getOwnPropertyDescriptor(t, n)), 1 === a ? u = {
+ get: c.get,
+ set: c.set
+ } : 2 === a ? u = c.value : 3 === a ? u = c.get : 4 === a && (u = c.set), "function" == typeof h) void 0 !== (f = memberDec(h, n, c, o, a, i, s, u)) && (assertValidReturnValue(a, f), 0 === a ? l = f : 1 === a ? (l = f.init, p = f.get || u.get, d = f.set || u.set, u = {
+ get: p,
+ set: d
+ }) : u = f);else for (var v = h.length - 1; v >= 0; v--) {
+ var g;
+ if (void 0 !== (f = memberDec(h[v], n, c, o, a, i, s, u))) assertValidReturnValue(a, f), 0 === a ? g = f : 1 === a ? (g = f.init, p = f.get || u.get, d = f.set || u.set, u = {
+ get: p,
+ set: d
+ }) : u = f, void 0 !== g && (void 0 === l ? l = g : "function" == typeof l ? l = [l, g] : l.push(g));
+ }
+ if (0 === a || 1 === a) {
+ if (void 0 === l) l = function l(e, t) {
+ return t;
+ };else if ("function" != typeof l) {
+ var y = l;
+ l = function l(e, t) {
+ for (var r = t, n = 0; n < y.length; n++) r = y[n].call(e, r);
+ return r;
+ };
+ } else {
+ var m = l;
+ l = function l(e, t) {
+ return m.call(e, t);
+ };
+ }
+ e.push(l);
+ }
+ 0 !== a && (1 === a ? (c.get = u.get, c.set = u.set) : 2 === a ? c.value = u : 3 === a ? c.get = u : 4 === a && (c.set = u), s ? 1 === a ? (e.push(function (e, t) {
+ for (var r, n, a = [], i = new Map(), s = new Map(), o = 0; o < t.length; o++) {
+ var c = t[o];
+ if (Array.isArray(c)) {
+ var l,
+ u,
+ f = c[1],
+ p = c[2],
+ d = c.length > 3,
+ h = f >= 5;
+ if (h ? (l = e, 0 !== (f -= 5) && (u = n = n || [])) : (l = e.prototype, 0 !== f && (u = r = r || [])), 0 !== f && !d) {
+ var v = h ? s : i,
+ g = v.get(p) || 0;
+ if (!0 === g || 3 === g && 4 !== f || 4 === g && 3 !== f) throw new Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + p);
+ throw n = 0 === e ? "field" : 10 === e ? "class" : "method", new TypeError(n + " decorators must return a function or void 0");
+ }
+ }
+ function curryThis2(e) {
+ return function (t) {
+ e(this, t);
+ };
+ }
+ function applyMemberDec(e, t, r, n, a, i, s, o, c) {
+ var u,
+ l,
+ f,
+ p,
+ d,
+ h,
+ v,
+ g = r[0];
+ if (s ? u = 0 === a || 1 === a ? {
+ get: (p = r[3], function () {
+ return p(this);
+ }),
+ set: curryThis2(r[4])
+ } : 3 === a ? {
+ get: r[3]
+ } : 4 === a ? {
+ set: r[3]
+ } : {
+ value: r[3]
+ } : 0 !== a && (u = Object.getOwnPropertyDescriptor(t, n)), 1 === a ? f = {
+ get: u.get,
+ set: u.set
+ } : 2 === a ? f = u.value : 3 === a ? f = u.get : 4 === a && (f = u.set), "function" == typeof g) void 0 !== (d = memberDec(g, n, u, o, a, i, s, f, c)) && (assertValidReturnValue(a, d), 0 === a ? l = d : 1 === a ? (l = d.init, h = d.get || f.get, v = d.set || f.set, f = {
+ get: h,
+ set: v
+ }) : f = d);else for (var y = g.length - 1; y >= 0; y--) {
+ var m;
+ if (void 0 !== (d = memberDec(g[y], n, u, o, a, i, s, f, c))) assertValidReturnValue(a, d), 0 === a ? m = d : 1 === a ? (m = d.init, h = d.get || f.get, v = d.set || f.set, f = {
+ get: h,
+ set: v
+ }) : f = d, void 0 !== m && (void 0 === l ? l = m : "function" == typeof l ? l = [l, m] : l.push(m));
+ }
+ if (0 === a || 1 === a) {
+ if (void 0 === l) l = function l(e, t) {
+ return t;
+ };else if ("function" != typeof l) {
+ var b = l;
+ l = function l(e, t) {
+ for (var r = t, n = 0; n < b.length; n++) r = b[n].call(e, r);
+ return r;
+ };
+ } else {
+ var I = l;
+ l = function l(e, t) {
+ return I.call(e, t);
+ };
+ }
+ e.push(l);
+ }
+ 0 !== a && (1 === a ? (u.get = f.get, u.set = f.set) : 2 === a ? u.value = f : 3 === a ? u.get = f : 4 === a && (u.set = f), s ? 1 === a ? (e.push(function (e, t) {
+ for (var n, a, i, s = [], o = new Map(), c = new Map(), u = 0; u < t.length; u++) {
+ var l = t[u];
+ if (Array.isArray(l)) {
+ var f,
+ p,
+ d = l[1],
+ h = l[2],
+ v = l.length > 3,
+ g = d >= 5,
+ y = r;
+ if (g ? (f = e, 0 !== (d -= 5) && (p = a = a || []), v && !i && (i = function i(t) {
+ return checkInRHS(t) === e;
+ }), y = i) : (f = e.prototype, 0 !== d && (p = n = n || [])), 0 !== d && !v) {
+ var m = g ? c : o,
+ b = m.get(h) || 0;
+ if (!0 === b || 3 === b && 4 !== d || 4 === b && 3 !== d) throw new Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h);
+ } else if ("function" !== r) throw new TypeError((0 === e ? "field" : 5 === e ? "class" : "method") + " decorators must return a function or void 0");
+}
+function applyMemberDec(e, t, r, a, n, i, o, s, l, c, u) {
+ var f,
+ d,
+ p,
+ v,
+ h = r[0],
+ m = r[3];
+ a || Array.isArray(h) || (h = [h]), s ? f = 0 === i || 1 === i ? {
+ get: function get() {
+ return m(this);
+ },
+ set: function set(e) {
+ r[4](this, e);
+ }
+ } : 3 === i ? {
+ get: m
+ } : 4 === i ? {
+ set: m
+ } : {
+ value: m
+ } : 0 !== i && (f = Object.getOwnPropertyDescriptor(t, n)), 1 === i ? p = {
+ get: f.get,
+ set: f.set
+ } : 2 === i ? p = f.value : 3 === i ? p = f.get : 4 === i && (p = f.set);
+ for (var b = a ? 2 : 1, y = h.length - 1; y >= 0; y -= b) {
+ var g;
+ if (void 0 !== (v = memberDec(h[y], a ? h[y - 1] : void 0, n, f, l, i, o, s, p, c, u))) assertValidReturnValue(i, v), 0 === i ? g = v : 1 === i ? (g = v.init, p = {
+ get: v.get || p.get,
+ set: v.set || p.set
+ }) : p = v, void 0 !== g && (void 0 === d ? d = g : "function" == typeof d ? d = [d, g] : d.push(g));
+ }
+ if (0 === i || 1 === i) {
+ if (void 0 === d) d = function d(e, t) {
+ return t;
+ };else if ("function" != typeof d) {
+ var I = d;
+ d = function d(e, t) {
+ for (var r = t, a = I.length - 1; a >= 0; a--) r = I[a].call(e, r);
+ return r;
+ };
+ } else {
+ var w = d;
+ d = d.call.bind(w);
+ }
+ e.push(d);
+ }
+ 0 !== i && (1 === i ? (f.get = p.get, f.set = p.set) : 2 === i ? f.value = p : 3 === i ? f.get = p : 4 === i && (f.set = p), s ? 1 === i ? e.push(_bindPropCall(f, "get"), _bindPropCall(f, "set")) : e.push(2 === i ? p : Function.call.bind(p)) : Object.defineProperty(t, n, f));
+}
+function applyMemberDecs(e, t, r, a) {
+ var n,
+ i,
+ o,
+ s = [],
+ l = new Map(),
+ c = new Map();
+ function pushInitializers(e) {
+ e && s.push(function (t) {
+ for (var r = 0; r < e.length; r++) e[r].call(t);
+ return t;
+ });
+ }
+ for (var u = 0; u < t.length; u++) {
+ var f = t[u];
+ if (Array.isArray(f)) {
+ var d,
+ p,
+ v = f[1],
+ h = f[2],
+ m = f.length > 3,
+ b = 16 & v,
+ y = !!(8 & v),
+ g = r;
+ if (v &= 7, y ? (d = e, p = i = i || [], m && !o && (o = function o(t) {
+ return checkInRHS(t) === e;
+ }), g = o) : (d = e.prototype, p = n = n || []), 0 !== v && !m) {
+ var I = y ? c : l,
+ w = I.get(h) || 0;
+ if (!0 === w || 3 === w && 4 !== v || 4 === w && 3 !== v) throw new Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h);
+ I.set(h, !(!w && v > 2) || v);
+ }
+ applyMemberDec(s, d, f, b, h, v, y, m, p, g, a);
+ var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+ if (!it) {
+ if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
+ if (it) o = it;
+ var i = 0;
+ var F = function F() {};
+ return {
+ s: F,
+ n: function n() {
+ if (i >= o.length) return {
+ done: true
+ };
+ return {
+ done: false,
+ value: o[i++]
+ };
+ },
+ e: function e(_e) {
+ throw _e;
+ },
+ f: F
+ };
+ }
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+ }
+ var normalCompletion = true,
+ didErr = false,
+ err;
+ return {
+ s: function s() {
+ it = it.call(o);
+ },
+ n: function n() {
+ var step = it.next();
+ normalCompletion = step.done;
+ return step;
+ },
+ e: function e(_e2) {
+ didErr = true;
+ err = _e2;
+ },
+ f: function f() {
+ try {
+ if (!normalCompletion && it["return"] != null) it["return"]();
+ var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+ if (it) return (it = it.call(o)).next.bind(it);
+ if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
+ if (it) o = it;
+ var i = 0;
+ return function () {
+ if (i >= o.length) return {
+ done: true
+ };
+ return {
+ done: false,
+ value: o[i++]
+ };
+ };
+ }
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+ var element = this.toElementDescriptor(elementObject);
+ this.disallowProperty(elementObject, "finisher", "An element descriptor");
+ this.disallowProperty(elementObject, "extras", "An element descriptor");
+ return element;
+ }, this);
+ },
+ toElementDescriptor: function toElementDescriptor(elementObject) {
+ var kind = String(elementObject.kind);
+ if (kind !== "method" && kind !== "field") {
+ throw new TypeError('An element descriptor\'s .kind property must be either "method" or' + ' "field", but a decorator created an element descriptor with' + ' .kind "' + kind + '"');
+ }
+ var key = toPropertyKey(elementObject.key);
+ var placement = String(elementObject.placement);
+ throw new TypeError('An element descriptor\'s .placement property must be one of "static",' + ' "prototype" or "own", but a decorator created an element descriptor' + ' with .placement "' + placement + '"');
+ }
+ var descriptor = elementObject.descriptor;
+ this.disallowProperty(elementObject, "elements", "An element descriptor");
+ var element = {
+ kind: kind,
+ key: key,
+ placement: placement,
+ descriptor: Object.assign({}, descriptor)
+ };
+ if (kind !== "field") {
+ this.disallowProperty(elementObject, "initializer", "A method descriptor");
+ } else {
+ this.disallowProperty(descriptor, "get", "The property descriptor of a field descriptor");
+ this.disallowProperty(descriptor, "set", "The property descriptor of a field descriptor");
+ this.disallowProperty(descriptor, "value", "The property descriptor of a field descriptor");
+ toClassDescriptor: function toClassDescriptor(obj) {
+ var kind = String(obj.kind);
+ if (kind !== "class") {
+ throw new TypeError('A class descriptor\'s .kind property must be "class", but a decorator' + ' created a class descriptor with .kind "' + kind + '"');
+ }
+ this.disallowProperty(obj, "key", "A class descriptor");
+ this.disallowProperty(obj, "placement", "A class descriptor");
+ this.disallowProperty(obj, "descriptor", "A class descriptor");
+ this.disallowProperty(obj, "initializer", "A class descriptor");
+ this.disallowProperty(obj, "extras", "A class descriptor");
+ var finisher = _optionalCallableProperty(obj, "finisher");
+ var elements = this.toElementDescriptors(obj.elements);
+ return {
+ elements: elements,
+ finisher: finisher
+ };
+ },
+ runClassFinishers: function runClassFinishers(constructor, finishers) {
+ for (var i = 0; i < finishers.length; i++) {
+ var newConstructor = (0, finishers[i])(constructor);
+ if (newConstructor !== undefined) {
+ if (typeof newConstructor !== "function") {
+ throw new TypeError("Finishers must return a constructor.");
+ }
+ constructor = newConstructor;
+ }
+ }
+ return constructor;
+ },
+ disallowProperty: function disallowProperty(obj, name, objectType) {
+ if (obj[name] !== undefined) {
+ throw new TypeError(objectType + " can't have a ." + name + " property.");