@richard.fadiora/liveness-detection 4.2.4 → 4.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -1,26 +1,51 @@
1
- import { FilesetResolver as re, FaceLandmarker as se, HandLandmarker as ne } from "@mediapipe/tasks-vision";
2
- import ae, { useState as ie, useRef as q, useEffect as Y, useCallback as V } from "react";
3
- import oe from "react-webcam";
4
- const ce = async (p, t, c) => {
5
- const i = new FormData();
6
- t.forEach((n, a) => {
7
- i.append("files", n, `frame_${a}.jpg`);
8
- }), i.append("challenge", JSON.stringify(c));
9
- const r = await fetch(`${p}/v1/verify`, {
1
+ var Ur = Object.create;
2
+ var Kt = Object.defineProperty;
3
+ var $r = Object.getOwnPropertyDescriptor;
4
+ var jn = (n, e) => (e = Symbol[n]) ? e : Symbol.for("Symbol." + n), Dt = (n) => {
5
+ throw TypeError(n);
6
+ };
7
+ var Nn = (n, e, t) => e in n ? Kt(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t;
8
+ var xn = (n, e) => Kt(n, "name", { value: e, configurable: !0 });
9
+ var At = (n) => [, , , Ur((n == null ? void 0 : n[jn("metadata")]) ?? null)], Un = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], pt = (n) => n !== void 0 && typeof n != "function" ? Dt("Function expected") : n, Gr = (n, e, t, r, i) => ({ kind: Un[n], name: e, metadata: r, addInitializer: (o) => t._ ? Dt("Already initialized") : i.push(pt(o || null)) }), Hr = (n, e) => Nn(e, jn("metadata"), n[3]), _t = (n, e, t, r) => {
10
+ for (var i = 0, o = n[e >> 1], u = o && o.length; i < u; i++) e & 1 ? o[i].call(t) : r = o[i].call(t, r);
11
+ return r;
12
+ }, St = (n, e, t, r, i, o) => {
13
+ var u, c, p, D, d, f = e & 7, m = !!(e & 8), h = !!(e & 16), F = f > 3 ? n.length + 1 : f ? m ? 1 : 2 : 0, E = Un[f + 5], R = f > 3 && (n[F - 1] = []), J = n[F] || (n[F] = []), _ = f && (!h && !m && (i = i.prototype), f < 5 && (f > 3 || !h) && $r(f < 4 ? i : { get [t]() {
14
+ return Pn(this, o);
15
+ }, set [t](T) {
16
+ return Ln(this, o, T);
17
+ } }, t));
18
+ f ? h && f < 4 && xn(o, (f > 2 ? "set " : f > 1 ? "get " : "") + t) : xn(i, t);
19
+ for (var Q = r.length - 1; Q >= 0; Q--)
20
+ D = Gr(f, t, p = {}, n[3], J), f && (D.static = m, D.private = h, d = D.access = { has: h ? (T) => Yr(i, T) : (T) => t in T }, f ^ 3 && (d.get = h ? (T) => (f ^ 1 ? Pn : zr)(T, i, f ^ 4 ? o : _.get) : (T) => T[t]), f > 2 && (d.set = h ? (T, ee) => Ln(T, i, ee, f ^ 4 ? o : _.set) : (T, ee) => T[t] = ee)), c = (0, r[Q])(f ? f < 4 ? h ? o : _[E] : f > 4 ? void 0 : { get: _.get, set: _.set } : i, D), p._ = 1, f ^ 4 || c === void 0 ? pt(c) && (f > 4 ? R.unshift(c) : f ? h ? o = c : _[E] = c : i = c) : typeof c != "object" || c === null ? Dt("Object expected") : (pt(u = c.get) && (_.get = u), pt(u = c.set) && (_.set = u), pt(u = c.init) && R.unshift(u));
21
+ return f || Hr(n, i), _ && Kt(i, t, _), h ? f ^ 4 ? o : _ : i;
22
+ }, a = (n, e, t) => Nn(n, typeof e != "symbol" ? e + "" : e, t), qt = (n, e, t) => e.has(n) || Dt("Cannot " + t), Yr = (n, e) => Object(e) !== e ? Dt('Cannot use the "in" operator on this value') : n.has(e), Pn = (n, e, t) => (qt(n, e, "read from private field"), t ? t.call(n) : e.get(n));
23
+ var Ln = (n, e, t, r) => (qt(n, e, "write to private field"), r ? r.call(n, t) : e.set(n, t), t), zr = (n, e, t) => (qt(n, e, "access private method"), t);
24
+ import { FilesetResolver as Zr, FaceLandmarker as Kr, HandLandmarker as qr } from "@mediapipe/tasks-vision";
25
+ import Wr, { useState as Xr, useRef as $n, useEffect as Gn, useCallback as Hn } from "react";
26
+ import Jr from "react-webcam";
27
+ import * as s from "@angular/core";
28
+ import { Injectable as $, inject as Z, DOCUMENT as hr, InjectionToken as Nt, Optional as Ge, Inject as Y, ɵɵinject as Qr, ɵstringify as Cn, createNgModule as es, ɵRuntimeError as k, Injector as ts, RendererStyleFlags2 as ns, ɵINTERNAL_APPLICATION_ERROR_HANDLER as rs, ɵisPromise as ss, ɵisSubscribable as is, LOCALE_ID as N, DEFAULT_CURRENCY_CODE as gr, NgModuleRef as os, untracked as Yn, isSignal as as, ɵfindLocaleData as V, ɵLocaleDataIndex as A, ɵformatRuntimeError as us, ɵgetLocalePluralCase as cs, Input as b, Directive as G, Host as Fn, Attribute as ls, Pipe as x, NgModule as mr, EventEmitter as zn, Component as fs } from "@angular/core";
29
+ const ds = async (n, e, t) => {
30
+ const r = new FormData();
31
+ e.forEach((u, c) => {
32
+ r.append("files", u, `frame_${c}.jpg`);
33
+ }), r.append("challenge", JSON.stringify(t));
34
+ const i = await fetch(`${n}/v1/verify`, {
10
35
  method: "POST",
11
- body: i
36
+ body: r
12
37
  });
13
- if (!r.ok)
38
+ if (!i.ok)
14
39
  throw new Error("Network response was not ok");
15
- return await r.json();
16
- }, le = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
40
+ return await i.json();
41
+ }, ps = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
17
42
  __proto__: null,
18
- verifyLiveness: ce
43
+ verifyLiveness: ds
19
44
  }, Symbol.toStringTag, { value: "Module" }));
20
- class ue {
21
- constructor(t) {
22
- this.models = { face: null, hand: null }, this.webcam = null, this.currentStepRef = 0, this.isStepTransitioningRef = !1, this.timerId = null, this.requestId = null, this.offscreenCanvas = document.createElement("canvas"), this.CHALLENGE_POOL = ["Smile", "Blink", "Turn_Head", "Thumbs_Up"], this.attachVideo = (c) => {
23
- this.webcam = c, console.log("[LivenessEngine] Video stream attached.");
45
+ class yr {
46
+ constructor(e) {
47
+ this.models = { face: null, hand: null }, this.webcam = null, this.currentStepRef = 0, this.isStepTransitioningRef = !1, this.timerId = null, this.requestId = null, this.offscreenCanvas = document.createElement("canvas"), this.CHALLENGE_POOL = ["Smile", "Blink", "Turn_Head", "Thumbs_Up"], this.attachVideo = (t) => {
48
+ this.webcam = t, console.log("[LivenessEngine] Video stream attached.");
24
49
  }, this.start = () => {
25
50
  if (this.state.status !== "ready" || !this.webcam) {
26
51
  console.warn("[LivenessEngine] Engine not ready or video missing.");
@@ -38,31 +63,31 @@ class ue {
38
63
  errorMsg: ""
39
64
  });
40
65
  }, this.detectLoop = () => {
41
- var i;
66
+ var r;
42
67
  if (this.state.status !== "capturing" || !this.webcam || !this.models.face) return;
43
- const c = performance.now();
68
+ const t = performance.now();
44
69
  try {
45
- const r = this.models.face.detectForVideo(this.webcam, c), l = (i = this.models.hand) == null ? void 0 : i.detectForVideo(this.webcam, c), n = this.state.sequence[this.currentStepRef];
46
- if (this.checkAction(r, l, n)) {
70
+ const i = this.models.face.detectForVideo(this.webcam, t), o = (r = this.models.hand) == null ? void 0 : r.detectForVideo(this.webcam, t), u = this.state.sequence[this.currentStepRef];
71
+ if (this.checkAction(i, o, u)) {
47
72
  this.handleStepSuccess();
48
73
  return;
49
74
  }
50
- } catch (r) {
51
- console.error("[LivenessEngine] Loop detection error:", r);
75
+ } catch (i) {
76
+ console.error("[LivenessEngine] Loop detection error:", i);
52
77
  }
53
78
  this.requestId = requestAnimationFrame(this.detectLoop);
54
79
  }, this.config = {
55
- apiUrl: t.apiUrl,
56
- duration: t.duration ?? 60,
57
- smileThreshold: t.smileThreshold ?? 0.2,
58
- blinkThreshold: t.blinkThreshold ?? 0.012,
59
- minturnHeadThreshold: t.minturnHeadThreshold ?? 0.15,
60
- maxturnHeadThreshold: t.maxturnHeadThreshold ?? 0.85,
61
- onStateChange: t.onStateChange || (() => {
80
+ apiUrl: e.apiUrl,
81
+ duration: e.duration ?? 60,
82
+ smileThreshold: e.smileThreshold ?? 0.2,
83
+ blinkThreshold: e.blinkThreshold ?? 0.012,
84
+ minturnHeadThreshold: e.minturnHeadThreshold ?? 0.15,
85
+ maxturnHeadThreshold: e.maxturnHeadThreshold ?? 0.85,
86
+ onStateChange: e.onStateChange || (() => {
62
87
  }),
63
- onComplete: t.onComplete || (() => {
88
+ onComplete: e.onComplete || (() => {
64
89
  }),
65
- onError: t.onError || (() => {
90
+ onError: e.onError || (() => {
66
91
  })
67
92
  }, this.state = {
68
93
  status: "loading",
@@ -79,17 +104,17 @@ class ue {
79
104
  async loadModels() {
80
105
  console.log("[LivenessEngine] Loading AI Models...");
81
106
  try {
82
- const t = await re.forVisionTasks(
107
+ const e = await Zr.forVisionTasks(
83
108
  "https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.3/wasm"
84
109
  );
85
- this.models.face = await se.createFromOptions(t, {
110
+ this.models.face = await Kr.createFromOptions(e, {
86
111
  baseOptions: {
87
112
  modelAssetPath: "https://storage.googleapis.com/mediapipe-models/face_landmarker/face_landmarker/float16/1/face_landmarker.task",
88
113
  delegate: "GPU"
89
114
  },
90
115
  outputFaceBlendshapes: !0,
91
116
  runningMode: "VIDEO"
92
- }), this.models.hand = await ne.createFromOptions(t, {
117
+ }), this.models.hand = await qr.createFromOptions(e, {
93
118
  baseOptions: {
94
119
  modelAssetPath: "https://storage.googleapis.com/mediapipe-models/hand_landmarker/hand_landmarker/float16/1/hand_landmarker.task",
95
120
  delegate: "GPU"
@@ -97,16 +122,16 @@ class ue {
97
122
  runningMode: "VIDEO",
98
123
  numHands: 1
99
124
  }), this.generateSequence(), this.updateState({ status: "ready" }), console.log("[LivenessEngine] Models Loaded.");
100
- } catch (t) {
101
- console.error("[LivenessEngine] Init Error:", t), this.updateState({ status: "error", errorMsg: "Failed to load security assets." });
125
+ } catch (e) {
126
+ console.error("[LivenessEngine] Init Error:", e), this.updateState({ status: "error", errorMsg: "Failed to load security assets." });
102
127
  }
103
128
  }
104
- updateState(t) {
105
- this.state = { ...this.state, ...t }, this.config.onStateChange(this.state);
129
+ updateState(e) {
130
+ this.state = { ...this.state, ...e }, this.config.onStateChange(this.state);
106
131
  }
107
132
  generateSequence() {
108
- const t = [...this.CHALLENGE_POOL].sort(() => 0.5 - Math.random()).slice(0, 3);
109
- return this.state.sequence = t, t;
133
+ const e = [...this.CHALLENGE_POOL].sort(() => 0.5 - Math.random()).slice(0, 3);
134
+ return this.state.sequence = e, e;
110
135
  }
111
136
  startTimer() {
112
137
  this.timerId && clearInterval(this.timerId), this.timerId = setInterval(() => {
@@ -121,24 +146,24 @@ class ue {
121
146
  }), this.requestId = requestAnimationFrame(this.detectLoop)) : this.sendFinalProof();
122
147
  }, 1500));
123
148
  }
124
- checkAction(t, c, i) {
125
- var r, l;
149
+ checkAction(e, t, r) {
150
+ var i, o;
126
151
  if (this.isStepTransitioningRef) return !1;
127
- if (i === "Thumbs_Up" && ((r = c == null ? void 0 : c.landmarks) == null ? void 0 : r.length) > 0) {
128
- const n = c.landmarks[0];
129
- return n[4].y < n[2].y && [8, 12, 16, 20].every((a) => n[a].y > n[a - 2].y);
152
+ if (r === "Thumbs_Up" && ((i = t == null ? void 0 : t.landmarks) == null ? void 0 : i.length) > 0) {
153
+ const u = t.landmarks[0];
154
+ return u[4].y < u[2].y && [8, 12, 16, 20].every((c) => u[c].y > u[c - 2].y);
130
155
  }
131
- if (((l = t == null ? void 0 : t.faceLandmarks) == null ? void 0 : l.length) > 0) {
132
- const n = t.faceLandmarks[0];
133
- switch (i) {
156
+ if (((o = e == null ? void 0 : e.faceLandmarks) == null ? void 0 : o.length) > 0) {
157
+ const u = e.faceLandmarks[0];
158
+ switch (r) {
134
159
  case "Smile":
135
- return n[291].x - n[61].x > this.config.smileThreshold;
160
+ return u[291].x - u[61].x > this.config.smileThreshold;
136
161
  case "Blink":
137
- const a = Math.abs(n[159].y - n[145].y), h = Math.abs(n[386].y - n[374].y);
138
- return (a + h) / 2 < this.config.blinkThreshold;
162
+ const c = Math.abs(u[159].y - u[145].y), p = Math.abs(u[386].y - u[374].y);
163
+ return (c + p) / 2 < this.config.blinkThreshold;
139
164
  case "Turn_Head":
140
- const m = (n[1].x - n[33].x) / (n[263].x - n[33].x);
141
- return m < this.config.minturnHeadThreshold || m > this.config.maxturnHeadThreshold;
165
+ const D = (u[1].x - u[33].x) / (u[263].x - u[33].x);
166
+ return D < this.config.minturnHeadThreshold || D > this.config.maxturnHeadThreshold;
142
167
  default:
143
168
  return !1;
144
169
  }
@@ -146,38 +171,38 @@ class ue {
146
171
  return !1;
147
172
  }
148
173
  async sendFinalProof() {
149
- var t, c;
174
+ var e, t;
150
175
  this.stop(), this.updateState({ status: "verifying" });
151
176
  try {
152
- const i = [];
153
- let r = "";
154
- for (let a = 0; a < 5 && this.webcam; a++) {
155
- const h = (t = this.models.face) == null ? void 0 : t.detectForVideo(this.webcam, performance.now());
156
- if ((c = h == null ? void 0 : h.faceLandmarks) != null && c[0]) {
157
- const m = this.getFaceCrop(this.webcam, h.faceLandmarks[0]), o = await new Promise((g) => m.toBlob(g, "image/jpeg", 0.9));
158
- o && i.push(o), a === 4 && (r = m.toDataURL("image/jpeg"));
177
+ const r = [];
178
+ let i = "";
179
+ for (let c = 0; c < 5 && this.webcam; c++) {
180
+ const p = (e = this.models.face) == null ? void 0 : e.detectForVideo(this.webcam, performance.now());
181
+ if ((t = p == null ? void 0 : p.faceLandmarks) != null && t[0]) {
182
+ const D = this.getFaceCrop(this.webcam, p.faceLandmarks[0]), d = await new Promise((f) => D.toBlob(f, "image/jpeg", 0.9));
183
+ d && r.push(d), c === 4 && (i = D.toDataURL("image/jpeg"));
159
184
  }
160
- await new Promise((m) => setTimeout(m, 100));
185
+ await new Promise((D) => setTimeout(D, 100));
161
186
  }
162
- const { verifyLiveness: l } = await Promise.resolve().then(() => le), n = await l(this.config.apiUrl, i, this.state.sequence);
163
- if (n.is_live)
164
- this.updateState({ status: "success" }), this.config.onComplete({ success: !0, image: r, skinConfidence: n.skin_confidence });
187
+ const { verifyLiveness: o } = await Promise.resolve().then(() => ps), u = await o(this.config.apiUrl, r, this.state.sequence);
188
+ if (u.is_live)
189
+ this.updateState({ status: "success" }), this.config.onComplete({ success: !0, image: i, skinConfidence: u.skin_confidence });
165
190
  else {
166
- const a = n.reason || "Liveness check failed";
167
- this.updateState({ status: "error", errorMsg: a }), this.config.onError({ success: !1, reason: a });
191
+ const c = u.reason || "Liveness check failed";
192
+ this.updateState({ status: "error", errorMsg: c }), this.config.onError({ success: !1, reason: c });
168
193
  }
169
194
  } catch {
170
195
  this.updateState({ status: "error", errorMsg: "Verification failed." }), this.config.onError({ success: !1, reason: "Network error" });
171
196
  }
172
197
  }
173
- getFaceCrop(t, c) {
174
- const i = this.offscreenCanvas.getContext("2d"), r = c.map((E) => E.x * t.videoWidth), l = c.map((E) => E.y * t.videoHeight), n = Math.min(...r), a = Math.max(...r), h = Math.min(...l), m = Math.max(...l), o = a - n, g = m - h, S = o * 0.3;
175
- return i.clearRect(0, 0, 224, 224), i.drawImage(
176
- t,
177
- n - S,
178
- h - S,
179
- o + S * 2,
180
- g + S * 2,
198
+ getFaceCrop(e, t) {
199
+ const r = this.offscreenCanvas.getContext("2d"), i = t.map((h) => h.x * e.videoWidth), o = t.map((h) => h.y * e.videoHeight), u = Math.min(...i), c = Math.max(...i), p = Math.min(...o), D = Math.max(...o), d = c - u, f = D - p, m = d * 0.3;
200
+ return r.clearRect(0, 0, 224, 224), r.drawImage(
201
+ e,
202
+ u - m,
203
+ p - m,
204
+ d + m * 2,
205
+ f + m * 2,
181
206
  0,
182
207
  0,
183
208
  224,
@@ -185,52 +210,52 @@ class ue {
185
210
  ), this.offscreenCanvas;
186
211
  }
187
212
  }
188
- const de = (p) => {
189
- const [t, c] = ie({
213
+ const Ds = (n) => {
214
+ const [e, t] = Xr({
190
215
  status: "loading",
191
216
  sequence: [],
192
217
  currentStep: 0,
193
- timeLeft: p.duration || 60,
218
+ timeLeft: n.duration || 60,
194
219
  isStepTransitioning: !1,
195
220
  errorMsg: ""
196
- }), i = q(null), r = q(null);
197
- Y(() => {
198
- const a = new ue({
199
- ...p,
200
- onStateChange: (h) => c({ ...h })
221
+ }), r = $n(null), i = $n(null);
222
+ Gn(() => {
223
+ const c = new yr({
224
+ ...n,
225
+ onStateChange: (p) => t({ ...p })
201
226
  });
202
- return i.current = a, a.loadModels(), () => a.stop();
203
- }, []), Y(() => {
204
- var a, h;
205
- if (t.status !== "loading" && t.status !== "error") {
206
- const m = (a = r.current) == null ? void 0 : a.video;
207
- if (m && m.readyState >= 2)
208
- (h = i.current) == null || h.attachVideo(m);
227
+ return r.current = c, c.loadModels(), () => c.stop();
228
+ }, []), Gn(() => {
229
+ var c, p;
230
+ if (e.status !== "loading" && e.status !== "error") {
231
+ const D = (c = i.current) == null ? void 0 : c.video;
232
+ if (D && D.readyState >= 2)
233
+ (p = r.current) == null || p.attachVideo(D);
209
234
  else {
210
- const o = setInterval(() => {
211
- var S, E;
212
- const g = (S = r.current) == null ? void 0 : S.video;
213
- g && g.readyState >= 2 && ((E = i.current) == null || E.attachVideo(g), clearInterval(o));
235
+ const d = setInterval(() => {
236
+ var m, h;
237
+ const f = (m = i.current) == null ? void 0 : m.video;
238
+ f && f.readyState >= 2 && ((h = r.current) == null || h.attachVideo(f), clearInterval(d));
214
239
  }, 100);
215
- return () => clearInterval(o);
240
+ return () => clearInterval(d);
216
241
  }
217
242
  }
218
- }, [t.status]);
219
- const l = V(() => {
220
- var a;
221
- console.log("[Hook] Start Clicked"), (a = i.current) == null || a.start();
222
- }, []), n = V(() => {
223
- var a;
224
- console.log("[Hook] Reset Clicked"), (a = i.current) == null || a.reset();
243
+ }, [e.status]);
244
+ const o = Hn(() => {
245
+ var c;
246
+ console.log("[Hook] Start Clicked"), (c = r.current) == null || c.start();
247
+ }, []), u = Hn(() => {
248
+ var c;
249
+ console.log("[Hook] Reset Clicked"), (c = r.current) == null || c.reset();
225
250
  }, []);
226
251
  return {
227
- ...t,
228
- webcamRef: r,
229
- start: l,
230
- reset: n
252
+ ...e,
253
+ webcamRef: i,
254
+ start: o,
255
+ reset: u
231
256
  };
232
257
  };
233
- var A = { exports: {} }, _ = {};
258
+ var cn = { exports: {} }, ht = {};
234
259
  /**
235
260
  * @license React
236
261
  * react-jsx-runtime.production.js
@@ -240,29 +265,29 @@ var A = { exports: {} }, _ = {};
240
265
  * This source code is licensed under the MIT license found in the
241
266
  * LICENSE file in the root directory of this source tree.
242
267
  */
243
- var D;
244
- function fe() {
245
- if (D) return _;
246
- D = 1;
247
- var p = Symbol.for("react.transitional.element"), t = Symbol.for("react.fragment");
248
- function c(i, r, l) {
249
- var n = null;
250
- if (l !== void 0 && (n = "" + l), r.key !== void 0 && (n = "" + r.key), "key" in r) {
251
- l = {};
252
- for (var a in r)
253
- a !== "key" && (l[a] = r[a]);
254
- } else l = r;
255
- return r = l.ref, {
256
- $$typeof: p,
257
- type: i,
258
- key: n,
259
- ref: r !== void 0 ? r : null,
260
- props: l
268
+ var Zn;
269
+ function hs() {
270
+ if (Zn) return ht;
271
+ Zn = 1;
272
+ var n = Symbol.for("react.transitional.element"), e = Symbol.for("react.fragment");
273
+ function t(r, i, o) {
274
+ var u = null;
275
+ if (o !== void 0 && (u = "" + o), i.key !== void 0 && (u = "" + i.key), "key" in i) {
276
+ o = {};
277
+ for (var c in i)
278
+ c !== "key" && (o[c] = i[c]);
279
+ } else o = i;
280
+ return i = o.ref, {
281
+ $$typeof: n,
282
+ type: r,
283
+ key: u,
284
+ ref: i !== void 0 ? i : null,
285
+ props: o
261
286
  };
262
287
  }
263
- return _.Fragment = t, _.jsx = c, _.jsxs = c, _;
288
+ return ht.Fragment = e, ht.jsx = t, ht.jsxs = t, ht;
264
289
  }
265
- var T = {};
290
+ var gt = {};
266
291
  /**
267
292
  * @license React
268
293
  * react-jsx-runtime.development.js
@@ -272,283 +297,4067 @@ var T = {};
272
297
  * This source code is licensed under the MIT license found in the
273
298
  * LICENSE file in the root directory of this source tree.
274
299
  */
275
- var $;
276
- function he() {
277
- return $ || ($ = 1, process.env.NODE_ENV !== "production" && function() {
278
- function p(e) {
279
- if (e == null) return null;
280
- if (typeof e == "function")
281
- return e.$$typeof === K ? null : e.displayName || e.name || null;
282
- if (typeof e == "string") return e;
283
- switch (e) {
284
- case y:
300
+ var Kn;
301
+ function gs() {
302
+ return Kn || (Kn = 1, process.env.NODE_ENV !== "production" && function() {
303
+ function n(l) {
304
+ if (l == null) return null;
305
+ if (typeof l == "function")
306
+ return l.$$typeof === Lr ? null : l.displayName || l.name || null;
307
+ if (typeof l == "string") return l;
308
+ switch (l) {
309
+ case R:
285
310
  return "Fragment";
286
- case W:
311
+ case _:
287
312
  return "Profiler";
288
- case H:
289
- return "StrictMode";
290
313
  case J:
314
+ return "StrictMode";
315
+ case Mr:
291
316
  return "Suspense";
292
- case X:
317
+ case Vr:
293
318
  return "SuspenseList";
294
- case Q:
319
+ case Pr:
295
320
  return "Activity";
296
321
  }
297
- if (typeof e == "object")
298
- switch (typeof e.tag == "number" && console.error(
322
+ if (typeof l == "object")
323
+ switch (typeof l.tag == "number" && console.error(
299
324
  "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
300
- ), e.$$typeof) {
301
- case U:
325
+ ), l.$$typeof) {
326
+ case E:
302
327
  return "Portal";
303
- case z:
304
- return e.displayName || "Context";
305
- case G:
306
- return (e._context.displayName || "Context") + ".Consumer";
307
- case B:
308
- var s = e.render;
309
- return e = e.displayName, e || (e = s.displayName || s.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
310
- case Z:
311
- return s = e.displayName || null, s !== null ? s : p(e.type) || "Memo";
312
- case w:
313
- s = e._payload, e = e._init;
328
+ case T:
329
+ return l.displayName || "Context";
330
+ case Q:
331
+ return (l._context.displayName || "Context") + ".Consumer";
332
+ case ee:
333
+ var g = l.render;
334
+ return l = l.displayName, l || (l = g.displayName || g.name || "", l = l !== "" ? "ForwardRef(" + l + ")" : "ForwardRef"), l;
335
+ case xr:
336
+ return g = l.displayName || null, g !== null ? g : n(l.type) || "Memo";
337
+ case Gt:
338
+ g = l._payload, l = l._init;
314
339
  try {
315
- return p(e(s));
340
+ return n(l(g));
316
341
  } catch {
317
342
  }
318
343
  }
319
344
  return null;
320
345
  }
321
- function t(e) {
322
- return "" + e;
346
+ function e(l) {
347
+ return "" + l;
323
348
  }
324
- function c(e) {
349
+ function t(l) {
325
350
  try {
326
- t(e);
327
- var s = !1;
351
+ e(l);
352
+ var g = !1;
328
353
  } catch {
329
- s = !0;
354
+ g = !0;
330
355
  }
331
- if (s) {
332
- s = console;
333
- var u = s.error, d = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
334
- return u.call(
335
- s,
356
+ if (g) {
357
+ g = console;
358
+ var v = g.error, I = typeof Symbol == "function" && Symbol.toStringTag && l[Symbol.toStringTag] || l.constructor.name || "Object";
359
+ return v.call(
360
+ g,
336
361
  "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
337
- d
338
- ), t(e);
362
+ I
363
+ ), e(l);
339
364
  }
340
365
  }
341
- function i(e) {
342
- if (e === y) return "<>";
343
- if (typeof e == "object" && e !== null && e.$$typeof === w)
366
+ function r(l) {
367
+ if (l === R) return "<>";
368
+ if (typeof l == "object" && l !== null && l.$$typeof === Gt)
344
369
  return "<...>";
345
370
  try {
346
- var s = p(e);
347
- return s ? "<" + s + ">" : "<...>";
371
+ var g = n(l);
372
+ return g ? "<" + g + ">" : "<...>";
348
373
  } catch {
349
374
  return "<...>";
350
375
  }
351
376
  }
352
- function r() {
353
- var e = R.A;
354
- return e === null ? null : e.getOwner();
377
+ function i() {
378
+ var l = Ht.A;
379
+ return l === null ? null : l.getOwner();
355
380
  }
356
- function l() {
381
+ function o() {
357
382
  return Error("react-stack-top-frame");
358
383
  }
359
- function n(e) {
360
- if (P.call(e, "key")) {
361
- var s = Object.getOwnPropertyDescriptor(e, "key").get;
362
- if (s && s.isReactWarning) return !1;
384
+ function u(l) {
385
+ if (On.call(l, "key")) {
386
+ var g = Object.getOwnPropertyDescriptor(l, "key").get;
387
+ if (g && g.isReactWarning) return !1;
363
388
  }
364
- return e.key !== void 0;
389
+ return l.key !== void 0;
365
390
  }
366
- function a(e, s) {
367
- function u() {
368
- C || (C = !0, console.error(
391
+ function c(l, g) {
392
+ function v() {
393
+ Bn || (Bn = !0, console.error(
369
394
  "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
370
- s
395
+ g
371
396
  ));
372
397
  }
373
- u.isReactWarning = !0, Object.defineProperty(e, "key", {
374
- get: u,
398
+ v.isReactWarning = !0, Object.defineProperty(l, "key", {
399
+ get: v,
375
400
  configurable: !0
376
401
  });
377
402
  }
378
- function h() {
379
- var e = p(this.type);
380
- return I[e] || (I[e] = !0, console.error(
403
+ function p() {
404
+ var l = n(this.type);
405
+ return kn[l] || (kn[l] = !0, console.error(
381
406
  "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
382
- )), e = this.props.ref, e !== void 0 ? e : null;
383
- }
384
- function m(e, s, u, d, k, O) {
385
- var f = u.ref;
386
- return e = {
387
- $$typeof: L,
388
- type: e,
389
- key: s,
390
- props: u,
391
- _owner: d
392
- }, (f !== void 0 ? f : null) !== null ? Object.defineProperty(e, "ref", {
407
+ )), l = this.props.ref, l !== void 0 ? l : null;
408
+ }
409
+ function D(l, g, v, I, bt, zt) {
410
+ var O = v.ref;
411
+ return l = {
412
+ $$typeof: F,
413
+ type: l,
414
+ key: g,
415
+ props: v,
416
+ _owner: I
417
+ }, (O !== void 0 ? O : null) !== null ? Object.defineProperty(l, "ref", {
393
418
  enumerable: !1,
394
- get: h
395
- }) : Object.defineProperty(e, "ref", { enumerable: !1, value: null }), e._store = {}, Object.defineProperty(e._store, "validated", {
419
+ get: p
420
+ }) : Object.defineProperty(l, "ref", { enumerable: !1, value: null }), l._store = {}, Object.defineProperty(l._store, "validated", {
396
421
  configurable: !1,
397
422
  enumerable: !1,
398
423
  writable: !0,
399
424
  value: 0
400
- }), Object.defineProperty(e, "_debugInfo", {
425
+ }), Object.defineProperty(l, "_debugInfo", {
401
426
  configurable: !1,
402
427
  enumerable: !1,
403
428
  writable: !0,
404
429
  value: null
405
- }), Object.defineProperty(e, "_debugStack", {
430
+ }), Object.defineProperty(l, "_debugStack", {
406
431
  configurable: !1,
407
432
  enumerable: !1,
408
433
  writable: !0,
409
- value: k
410
- }), Object.defineProperty(e, "_debugTask", {
434
+ value: bt
435
+ }), Object.defineProperty(l, "_debugTask", {
411
436
  configurable: !1,
412
437
  enumerable: !1,
413
438
  writable: !0,
414
- value: O
415
- }), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
416
- }
417
- function o(e, s, u, d, k, O) {
418
- var f = s.children;
419
- if (f !== void 0)
420
- if (d)
421
- if (ee(f)) {
422
- for (d = 0; d < f.length; d++)
423
- g(f[d]);
424
- Object.freeze && Object.freeze(f);
439
+ value: zt
440
+ }), Object.freeze && (Object.freeze(l.props), Object.freeze(l)), l;
441
+ }
442
+ function d(l, g, v, I, bt, zt) {
443
+ var O = g.children;
444
+ if (O !== void 0)
445
+ if (I)
446
+ if (jr(O)) {
447
+ for (I = 0; I < O.length; I++)
448
+ f(O[I]);
449
+ Object.freeze && Object.freeze(O);
425
450
  } else
426
451
  console.error(
427
452
  "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
428
453
  );
429
- else g(f);
430
- if (P.call(s, "key")) {
431
- f = p(e);
432
- var b = Object.keys(s).filter(function(te) {
433
- return te !== "key";
454
+ else f(O);
455
+ if (On.call(g, "key")) {
456
+ O = n(l);
457
+ var Ee = Object.keys(g).filter(function(Nr) {
458
+ return Nr !== "key";
434
459
  });
435
- d = 0 < b.length ? "{key: someKey, " + b.join(": ..., ") + ": ...}" : "{key: someKey}", M[f + d] || (b = 0 < b.length ? "{" + b.join(": ..., ") + ": ...}" : "{}", console.error(
460
+ I = 0 < Ee.length ? "{key: someKey, " + Ee.join(": ..., ") + ": ...}" : "{key: someKey}", Vn[O + I] || (Ee = 0 < Ee.length ? "{" + Ee.join(": ..., ") + ": ...}" : "{}", console.error(
436
461
  `A props object containing a "key" prop is being spread into JSX:
437
462
  let props = %s;
438
463
  <%s {...props} />
439
464
  React keys must be passed directly to JSX without using spread:
440
465
  let props = %s;
441
466
  <%s key={someKey} {...props} />`,
442
- d,
443
- f,
444
- b,
445
- f
446
- ), M[f + d] = !0);
467
+ I,
468
+ O,
469
+ Ee,
470
+ O
471
+ ), Vn[O + I] = !0);
447
472
  }
448
- if (f = null, u !== void 0 && (c(u), f = "" + u), n(s) && (c(s.key), f = "" + s.key), "key" in s) {
449
- u = {};
450
- for (var j in s)
451
- j !== "key" && (u[j] = s[j]);
452
- } else u = s;
453
- return f && a(
454
- u,
455
- typeof e == "function" ? e.displayName || e.name || "Unknown" : e
456
- ), m(
457
- e,
458
- f,
459
- u,
460
- r(),
461
- k,
462
- O
473
+ if (O = null, v !== void 0 && (t(v), O = "" + v), u(g) && (t(g.key), O = "" + g.key), "key" in g) {
474
+ v = {};
475
+ for (var Zt in g)
476
+ Zt !== "key" && (v[Zt] = g[Zt]);
477
+ } else v = g;
478
+ return O && c(
479
+ v,
480
+ typeof l == "function" ? l.displayName || l.name || "Unknown" : l
481
+ ), D(
482
+ l,
483
+ O,
484
+ v,
485
+ i(),
486
+ bt,
487
+ zt
463
488
  );
464
489
  }
465
- function g(e) {
466
- S(e) ? e._store && (e._store.validated = 1) : typeof e == "object" && e !== null && e.$$typeof === w && (e._payload.status === "fulfilled" ? S(e._payload.value) && e._payload.value._store && (e._payload.value._store.validated = 1) : e._store && (e._store.validated = 1));
490
+ function f(l) {
491
+ m(l) ? l._store && (l._store.validated = 1) : typeof l == "object" && l !== null && l.$$typeof === Gt && (l._payload.status === "fulfilled" ? m(l._payload.value) && l._payload.value._store && (l._payload.value._store.validated = 1) : l._store && (l._store.validated = 1));
467
492
  }
468
- function S(e) {
469
- return typeof e == "object" && e !== null && e.$$typeof === L;
493
+ function m(l) {
494
+ return typeof l == "object" && l !== null && l.$$typeof === F;
470
495
  }
471
- var E = ae, L = Symbol.for("react.transitional.element"), U = Symbol.for("react.portal"), y = Symbol.for("react.fragment"), H = Symbol.for("react.strict_mode"), W = Symbol.for("react.profiler"), G = Symbol.for("react.consumer"), z = Symbol.for("react.context"), B = Symbol.for("react.forward_ref"), J = Symbol.for("react.suspense"), X = Symbol.for("react.suspense_list"), Z = Symbol.for("react.memo"), w = Symbol.for("react.lazy"), Q = Symbol.for("react.activity"), K = Symbol.for("react.client.reference"), R = E.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, P = Object.prototype.hasOwnProperty, ee = Array.isArray, x = console.createTask ? console.createTask : function() {
496
+ var h = Wr, F = Symbol.for("react.transitional.element"), E = Symbol.for("react.portal"), R = Symbol.for("react.fragment"), J = Symbol.for("react.strict_mode"), _ = Symbol.for("react.profiler"), Q = Symbol.for("react.consumer"), T = Symbol.for("react.context"), ee = Symbol.for("react.forward_ref"), Mr = Symbol.for("react.suspense"), Vr = Symbol.for("react.suspense_list"), xr = Symbol.for("react.memo"), Gt = Symbol.for("react.lazy"), Pr = Symbol.for("react.activity"), Lr = Symbol.for("react.client.reference"), Ht = h.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, On = Object.prototype.hasOwnProperty, jr = Array.isArray, Yt = console.createTask ? console.createTask : function() {
472
497
  return null;
473
498
  };
474
- E = {
475
- react_stack_bottom_frame: function(e) {
476
- return e();
499
+ h = {
500
+ react_stack_bottom_frame: function(l) {
501
+ return l();
477
502
  }
478
503
  };
479
- var C, I = {}, N = E.react_stack_bottom_frame.bind(
480
- E,
481
- l
482
- )(), F = x(i(l)), M = {};
483
- T.Fragment = y, T.jsx = function(e, s, u) {
484
- var d = 1e4 > R.recentlyCreatedOwnerStacks++;
485
- return o(
486
- e,
487
- s,
488
- u,
504
+ var Bn, kn = {}, Rn = h.react_stack_bottom_frame.bind(
505
+ h,
506
+ o
507
+ )(), Mn = Yt(r(o)), Vn = {};
508
+ gt.Fragment = R, gt.jsx = function(l, g, v) {
509
+ var I = 1e4 > Ht.recentlyCreatedOwnerStacks++;
510
+ return d(
511
+ l,
512
+ g,
513
+ v,
489
514
  !1,
490
- d ? Error("react-stack-top-frame") : N,
491
- d ? x(i(e)) : F
515
+ I ? Error("react-stack-top-frame") : Rn,
516
+ I ? Yt(r(l)) : Mn
492
517
  );
493
- }, T.jsxs = function(e, s, u) {
494
- var d = 1e4 > R.recentlyCreatedOwnerStacks++;
495
- return o(
496
- e,
497
- s,
498
- u,
518
+ }, gt.jsxs = function(l, g, v) {
519
+ var I = 1e4 > Ht.recentlyCreatedOwnerStacks++;
520
+ return d(
521
+ l,
522
+ g,
523
+ v,
499
524
  !0,
500
- d ? Error("react-stack-top-frame") : N,
501
- d ? x(i(e)) : F
525
+ I ? Error("react-stack-top-frame") : Rn,
526
+ I ? Yt(r(l)) : Mn
502
527
  );
503
528
  };
504
- }()), T;
505
- }
506
- process.env.NODE_ENV === "production" ? A.exports = fe() : A.exports = he();
507
- var v = A.exports;
508
- const ve = ({
509
- apiUrl: p,
510
- duration: t,
511
- onComplete: c,
512
- onError: i,
513
- classNames: r = {},
514
- render: l,
515
- smileThreshold: n,
516
- blinkThreshold: a,
517
- minturnHeadThreshold: h,
518
- maxturnHeadThreshold: m
529
+ }()), gt;
530
+ }
531
+ process.env.NODE_ENV === "production" ? cn.exports = hs() : cn.exports = gs();
532
+ var P = cn.exports;
533
+ const ki = ({
534
+ apiUrl: n,
535
+ duration: e,
536
+ onComplete: t,
537
+ onError: r,
538
+ classNames: i = {},
539
+ render: o,
540
+ smileThreshold: u,
541
+ blinkThreshold: c,
542
+ minturnHeadThreshold: p,
543
+ maxturnHeadThreshold: D
519
544
  }) => {
520
- var g;
521
- const o = de({ apiUrl: p, duration: t, smileThreshold: n, blinkThreshold: a, minturnHeadThreshold: h, maxturnHeadThreshold: m, onComplete: c, onError: i });
522
- return l ? l(o) : /* @__PURE__ */ v.jsxs("div", { className: r.container, children: [
523
- o.status === "loading" && /* @__PURE__ */ v.jsx("div", { children: "Initializing..." }),
524
- ["ready", "capturing", "verifying"].includes(o.status) && /* @__PURE__ */ v.jsxs(v.Fragment, { children: [
525
- /* @__PURE__ */ v.jsx(
526
- oe,
545
+ var f;
546
+ const d = Ds({ apiUrl: n, duration: e, smileThreshold: u, blinkThreshold: c, minturnHeadThreshold: p, maxturnHeadThreshold: D, onComplete: t, onError: r });
547
+ return o ? o(d) : /* @__PURE__ */ P.jsxs("div", { className: i.container, children: [
548
+ d.status === "loading" && /* @__PURE__ */ P.jsx("div", { children: "Initializing..." }),
549
+ ["ready", "capturing", "verifying"].includes(d.status) && /* @__PURE__ */ P.jsxs(P.Fragment, { children: [
550
+ /* @__PURE__ */ P.jsx(
551
+ Jr,
527
552
  {
528
- ref: o.webcamRef,
553
+ ref: d.webcamRef,
529
554
  mirrored: !0,
530
555
  screenshotFormat: "image/jpeg",
531
- className: r.webcam
556
+ className: i.webcam
532
557
  }
533
558
  ),
534
- o.status === "capturing" && /* @__PURE__ */ v.jsx("div", { className: "liveness-challenge", children: o.isStepTransitioning ? "Step verified! Get ready for the next..." : `Do this: ${(g = o.sequence[o.currentStep]) == null ? void 0 : g.replace("_", " ")}` }),
535
- ["capturing", "ready"].includes(o.status) && /* @__PURE__ */ v.jsxs("div", { className: r.timer, children: [
536
- o.timeLeft,
559
+ d.status === "capturing" && /* @__PURE__ */ P.jsx("div", { className: "liveness-challenge", children: d.isStepTransitioning ? "Step verified! Get ready for the next..." : `Do this: ${(f = d.sequence[d.currentStep]) == null ? void 0 : f.replace("_", " ")}` }),
560
+ ["capturing", "ready"].includes(d.status) && /* @__PURE__ */ P.jsxs("div", { className: i.timer, children: [
561
+ d.timeLeft,
537
562
  "s"
538
563
  ] }),
539
- o.status === "ready" && /* @__PURE__ */ v.jsx("button", { onClick: o.start, className: r.button, children: "Start Challenge" }),
540
- o.status === "verifying" && /* @__PURE__ */ v.jsx("div", { children: "Analyzing..." })
564
+ d.status === "ready" && /* @__PURE__ */ P.jsx("button", { onClick: d.start, className: i.button, children: "Start Challenge" }),
565
+ d.status === "verifying" && /* @__PURE__ */ P.jsx("div", { children: "Analyzing..." })
541
566
  ] }),
542
- o.status === "error" && /* @__PURE__ */ v.jsxs("div", { className: r.error, children: [
543
- o.errorMsg,
544
- /* @__PURE__ */ v.jsx("button", { onClick: o.reset, className: r.button, children: "Retry" })
567
+ d.status === "error" && /* @__PURE__ */ P.jsxs("div", { className: i.error, children: [
568
+ d.errorMsg,
569
+ /* @__PURE__ */ P.jsx("button", { onClick: d.reset, className: i.button, children: "Retry" })
545
570
  ] }),
546
- o.status === "success" && /* @__PURE__ */ v.jsx("div", { className: r.success, children: "Verification Complete" })
571
+ d.status === "success" && /* @__PURE__ */ P.jsx("div", { className: i.success, children: "Verification Complete" })
547
572
  ] });
548
573
  };
574
+ var ln = function(n, e) {
575
+ return ln = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(t, r) {
576
+ t.__proto__ = r;
577
+ } || function(t, r) {
578
+ for (var i in r) Object.prototype.hasOwnProperty.call(r, i) && (t[i] = r[i]);
579
+ }, ln(n, e);
580
+ };
581
+ function vt(n, e) {
582
+ if (typeof e != "function" && e !== null)
583
+ throw new TypeError("Class extends value " + String(e) + " is not a constructor or null");
584
+ ln(n, e);
585
+ function t() {
586
+ this.constructor = n;
587
+ }
588
+ n.prototype = e === null ? Object.create(e) : (t.prototype = e.prototype, new t());
589
+ }
590
+ function fn(n) {
591
+ var e = typeof Symbol == "function" && Symbol.iterator, t = e && n[e], r = 0;
592
+ if (t) return t.call(n);
593
+ if (n && typeof n.length == "number") return {
594
+ next: function() {
595
+ return n && r >= n.length && (n = void 0), { value: n && n[r++], done: !n };
596
+ }
597
+ };
598
+ throw new TypeError(e ? "Object is not iterable." : "Symbol.iterator is not defined.");
599
+ }
600
+ function dn(n, e) {
601
+ var t = typeof Symbol == "function" && n[Symbol.iterator];
602
+ if (!t) return n;
603
+ var r = t.call(n), i, o = [], u;
604
+ try {
605
+ for (; (e === void 0 || e-- > 0) && !(i = r.next()).done; ) o.push(i.value);
606
+ } catch (c) {
607
+ u = { error: c };
608
+ } finally {
609
+ try {
610
+ i && !i.done && (t = r.return) && t.call(r);
611
+ } finally {
612
+ if (u) throw u.error;
613
+ }
614
+ }
615
+ return o;
616
+ }
617
+ function pn(n, e, t) {
618
+ if (t || arguments.length === 2) for (var r = 0, i = e.length, o; r < i; r++)
619
+ (o || !(r in e)) && (o || (o = Array.prototype.slice.call(e, 0, r)), o[r] = e[r]);
620
+ return n.concat(o || Array.prototype.slice.call(e));
621
+ }
622
+ function W(n) {
623
+ return typeof n == "function";
624
+ }
625
+ function Cr(n) {
626
+ var e = function(r) {
627
+ Error.call(r), r.stack = new Error().stack;
628
+ }, t = n(e);
629
+ return t.prototype = Object.create(Error.prototype), t.prototype.constructor = t, t;
630
+ }
631
+ var Wt = Cr(function(n) {
632
+ return function(t) {
633
+ n(this), this.message = t ? t.length + ` errors occurred during unsubscription:
634
+ ` + t.map(function(r, i) {
635
+ return i + 1 + ") " + r.toString();
636
+ }).join(`
637
+ `) : "", this.name = "UnsubscriptionError", this.errors = t;
638
+ };
639
+ });
640
+ function Dn(n, e) {
641
+ if (n) {
642
+ var t = n.indexOf(e);
643
+ 0 <= t && n.splice(t, 1);
644
+ }
645
+ }
646
+ var Ut = function() {
647
+ function n(e) {
648
+ this.initialTeardown = e, this.closed = !1, this._parentage = null, this._finalizers = null;
649
+ }
650
+ return n.prototype.unsubscribe = function() {
651
+ var e, t, r, i, o;
652
+ if (!this.closed) {
653
+ this.closed = !0;
654
+ var u = this._parentage;
655
+ if (u)
656
+ if (this._parentage = null, Array.isArray(u))
657
+ try {
658
+ for (var c = fn(u), p = c.next(); !p.done; p = c.next()) {
659
+ var D = p.value;
660
+ D.remove(this);
661
+ }
662
+ } catch (E) {
663
+ e = { error: E };
664
+ } finally {
665
+ try {
666
+ p && !p.done && (t = c.return) && t.call(c);
667
+ } finally {
668
+ if (e) throw e.error;
669
+ }
670
+ }
671
+ else
672
+ u.remove(this);
673
+ var d = this.initialTeardown;
674
+ if (W(d))
675
+ try {
676
+ d();
677
+ } catch (E) {
678
+ o = E instanceof Wt ? E.errors : [E];
679
+ }
680
+ var f = this._finalizers;
681
+ if (f) {
682
+ this._finalizers = null;
683
+ try {
684
+ for (var m = fn(f), h = m.next(); !h.done; h = m.next()) {
685
+ var F = h.value;
686
+ try {
687
+ qn(F);
688
+ } catch (E) {
689
+ o = o ?? [], E instanceof Wt ? o = pn(pn([], dn(o)), dn(E.errors)) : o.push(E);
690
+ }
691
+ }
692
+ } catch (E) {
693
+ r = { error: E };
694
+ } finally {
695
+ try {
696
+ h && !h.done && (i = m.return) && i.call(m);
697
+ } finally {
698
+ if (r) throw r.error;
699
+ }
700
+ }
701
+ }
702
+ if (o)
703
+ throw new Wt(o);
704
+ }
705
+ }, n.prototype.add = function(e) {
706
+ var t;
707
+ if (e && e !== this)
708
+ if (this.closed)
709
+ qn(e);
710
+ else {
711
+ if (e instanceof n) {
712
+ if (e.closed || e._hasParent(this))
713
+ return;
714
+ e._addParent(this);
715
+ }
716
+ (this._finalizers = (t = this._finalizers) !== null && t !== void 0 ? t : []).push(e);
717
+ }
718
+ }, n.prototype._hasParent = function(e) {
719
+ var t = this._parentage;
720
+ return t === e || Array.isArray(t) && t.includes(e);
721
+ }, n.prototype._addParent = function(e) {
722
+ var t = this._parentage;
723
+ this._parentage = Array.isArray(t) ? (t.push(e), t) : t ? [t, e] : e;
724
+ }, n.prototype._removeParent = function(e) {
725
+ var t = this._parentage;
726
+ t === e ? this._parentage = null : Array.isArray(t) && Dn(t, e);
727
+ }, n.prototype.remove = function(e) {
728
+ var t = this._finalizers;
729
+ t && Dn(t, e), e instanceof n && e._removeParent(this);
730
+ }, n.EMPTY = function() {
731
+ var e = new n();
732
+ return e.closed = !0, e;
733
+ }(), n;
734
+ }(), Fr = Ut.EMPTY;
735
+ function Er(n) {
736
+ return n instanceof Ut || n && "closed" in n && W(n.remove) && W(n.add) && W(n.unsubscribe);
737
+ }
738
+ function qn(n) {
739
+ W(n) ? n() : n.unsubscribe();
740
+ }
741
+ var ms = {
742
+ Promise: void 0
743
+ }, ys = {
744
+ setTimeout: function(n, e) {
745
+ for (var t = [], r = 2; r < arguments.length; r++)
746
+ t[r - 2] = arguments[r];
747
+ return setTimeout.apply(void 0, pn([n, e], dn(t)));
748
+ },
749
+ clearTimeout: function(n) {
750
+ return clearTimeout(n);
751
+ },
752
+ delegate: void 0
753
+ };
754
+ function Cs(n) {
755
+ ys.setTimeout(function() {
756
+ throw n;
757
+ });
758
+ }
759
+ function Wn() {
760
+ }
761
+ function Mt(n) {
762
+ n();
763
+ }
764
+ var vr = function(n) {
765
+ vt(e, n);
766
+ function e(t) {
767
+ var r = n.call(this) || this;
768
+ return r.isStopped = !1, t ? (r.destination = t, Er(t) && t.add(r)) : r.destination = vs, r;
769
+ }
770
+ return e.create = function(t, r, i) {
771
+ return new hn(t, r, i);
772
+ }, e.prototype.next = function(t) {
773
+ this.isStopped || this._next(t);
774
+ }, e.prototype.error = function(t) {
775
+ this.isStopped || (this.isStopped = !0, this._error(t));
776
+ }, e.prototype.complete = function() {
777
+ this.isStopped || (this.isStopped = !0, this._complete());
778
+ }, e.prototype.unsubscribe = function() {
779
+ this.closed || (this.isStopped = !0, n.prototype.unsubscribe.call(this), this.destination = null);
780
+ }, e.prototype._next = function(t) {
781
+ this.destination.next(t);
782
+ }, e.prototype._error = function(t) {
783
+ try {
784
+ this.destination.error(t);
785
+ } finally {
786
+ this.unsubscribe();
787
+ }
788
+ }, e.prototype._complete = function() {
789
+ try {
790
+ this.destination.complete();
791
+ } finally {
792
+ this.unsubscribe();
793
+ }
794
+ }, e;
795
+ }(Ut), Fs = function() {
796
+ function n(e) {
797
+ this.partialObserver = e;
798
+ }
799
+ return n.prototype.next = function(e) {
800
+ var t = this.partialObserver;
801
+ if (t.next)
802
+ try {
803
+ t.next(e);
804
+ } catch (r) {
805
+ wt(r);
806
+ }
807
+ }, n.prototype.error = function(e) {
808
+ var t = this.partialObserver;
809
+ if (t.error)
810
+ try {
811
+ t.error(e);
812
+ } catch (r) {
813
+ wt(r);
814
+ }
815
+ else
816
+ wt(e);
817
+ }, n.prototype.complete = function() {
818
+ var e = this.partialObserver;
819
+ if (e.complete)
820
+ try {
821
+ e.complete();
822
+ } catch (t) {
823
+ wt(t);
824
+ }
825
+ }, n;
826
+ }(), hn = function(n) {
827
+ vt(e, n);
828
+ function e(t, r, i) {
829
+ var o = n.call(this) || this, u;
830
+ return W(t) || !t ? u = {
831
+ next: t ?? void 0,
832
+ error: r ?? void 0,
833
+ complete: i ?? void 0
834
+ } : u = t, o.destination = new Fs(u), o;
835
+ }
836
+ return e;
837
+ }(vr);
838
+ function wt(n) {
839
+ Cs(n);
840
+ }
841
+ function Es(n) {
842
+ throw n;
843
+ }
844
+ var vs = {
845
+ closed: !0,
846
+ next: Wn,
847
+ error: Es,
848
+ complete: Wn
849
+ }, bs = function() {
850
+ return typeof Symbol == "function" && Symbol.observable || "@@observable";
851
+ }();
852
+ function As(n) {
853
+ return n;
854
+ }
855
+ function _s(n) {
856
+ return n.length === 0 ? As : n.length === 1 ? n[0] : function(t) {
857
+ return n.reduce(function(r, i) {
858
+ return i(r);
859
+ }, t);
860
+ };
861
+ }
862
+ var Xn = function() {
863
+ function n(e) {
864
+ e && (this._subscribe = e);
865
+ }
866
+ return n.prototype.lift = function(e) {
867
+ var t = new n();
868
+ return t.source = this, t.operator = e, t;
869
+ }, n.prototype.subscribe = function(e, t, r) {
870
+ var i = this, o = ws(e) ? e : new hn(e, t, r);
871
+ return Mt(function() {
872
+ var u = i, c = u.operator, p = u.source;
873
+ o.add(c ? c.call(o, p) : p ? i._subscribe(o) : i._trySubscribe(o));
874
+ }), o;
875
+ }, n.prototype._trySubscribe = function(e) {
876
+ try {
877
+ return this._subscribe(e);
878
+ } catch (t) {
879
+ e.error(t);
880
+ }
881
+ }, n.prototype.forEach = function(e, t) {
882
+ var r = this;
883
+ return t = Jn(t), new t(function(i, o) {
884
+ var u = new hn({
885
+ next: function(c) {
886
+ try {
887
+ e(c);
888
+ } catch (p) {
889
+ o(p), u.unsubscribe();
890
+ }
891
+ },
892
+ error: o,
893
+ complete: i
894
+ });
895
+ r.subscribe(u);
896
+ });
897
+ }, n.prototype._subscribe = function(e) {
898
+ var t;
899
+ return (t = this.source) === null || t === void 0 ? void 0 : t.subscribe(e);
900
+ }, n.prototype[bs] = function() {
901
+ return this;
902
+ }, n.prototype.pipe = function() {
903
+ for (var e = [], t = 0; t < arguments.length; t++)
904
+ e[t] = arguments[t];
905
+ return _s(e)(this);
906
+ }, n.prototype.toPromise = function(e) {
907
+ var t = this;
908
+ return e = Jn(e), new e(function(r, i) {
909
+ var o;
910
+ t.subscribe(function(u) {
911
+ return o = u;
912
+ }, function(u) {
913
+ return i(u);
914
+ }, function() {
915
+ return r(o);
916
+ });
917
+ });
918
+ }, n.create = function(e) {
919
+ return new n(e);
920
+ }, n;
921
+ }();
922
+ function Jn(n) {
923
+ var e;
924
+ return (e = n ?? ms.Promise) !== null && e !== void 0 ? e : Promise;
925
+ }
926
+ function Ss(n) {
927
+ return n && W(n.next) && W(n.error) && W(n.complete);
928
+ }
929
+ function ws(n) {
930
+ return n && n instanceof vr || Ss(n) && Er(n);
931
+ }
932
+ var Ts = Cr(function(n) {
933
+ return function() {
934
+ n(this), this.name = "ObjectUnsubscribedError", this.message = "object unsubscribed";
935
+ };
936
+ }), En = function(n) {
937
+ vt(e, n);
938
+ function e() {
939
+ var t = n.call(this) || this;
940
+ return t.closed = !1, t.currentObservers = null, t.observers = [], t.isStopped = !1, t.hasError = !1, t.thrownError = null, t;
941
+ }
942
+ return e.prototype.lift = function(t) {
943
+ var r = new Qn(this, this);
944
+ return r.operator = t, r;
945
+ }, e.prototype._throwIfClosed = function() {
946
+ if (this.closed)
947
+ throw new Ts();
948
+ }, e.prototype.next = function(t) {
949
+ var r = this;
950
+ Mt(function() {
951
+ var i, o;
952
+ if (r._throwIfClosed(), !r.isStopped) {
953
+ r.currentObservers || (r.currentObservers = Array.from(r.observers));
954
+ try {
955
+ for (var u = fn(r.currentObservers), c = u.next(); !c.done; c = u.next()) {
956
+ var p = c.value;
957
+ p.next(t);
958
+ }
959
+ } catch (D) {
960
+ i = { error: D };
961
+ } finally {
962
+ try {
963
+ c && !c.done && (o = u.return) && o.call(u);
964
+ } finally {
965
+ if (i) throw i.error;
966
+ }
967
+ }
968
+ }
969
+ });
970
+ }, e.prototype.error = function(t) {
971
+ var r = this;
972
+ Mt(function() {
973
+ if (r._throwIfClosed(), !r.isStopped) {
974
+ r.hasError = r.isStopped = !0, r.thrownError = t;
975
+ for (var i = r.observers; i.length; )
976
+ i.shift().error(t);
977
+ }
978
+ });
979
+ }, e.prototype.complete = function() {
980
+ var t = this;
981
+ Mt(function() {
982
+ if (t._throwIfClosed(), !t.isStopped) {
983
+ t.isStopped = !0;
984
+ for (var r = t.observers; r.length; )
985
+ r.shift().complete();
986
+ }
987
+ });
988
+ }, e.prototype.unsubscribe = function() {
989
+ this.isStopped = this.closed = !0, this.observers = this.currentObservers = null;
990
+ }, Object.defineProperty(e.prototype, "observed", {
991
+ get: function() {
992
+ var t;
993
+ return ((t = this.observers) === null || t === void 0 ? void 0 : t.length) > 0;
994
+ },
995
+ enumerable: !1,
996
+ configurable: !0
997
+ }), e.prototype._trySubscribe = function(t) {
998
+ return this._throwIfClosed(), n.prototype._trySubscribe.call(this, t);
999
+ }, e.prototype._subscribe = function(t) {
1000
+ return this._throwIfClosed(), this._checkFinalizedStatuses(t), this._innerSubscribe(t);
1001
+ }, e.prototype._innerSubscribe = function(t) {
1002
+ var r = this, i = this, o = i.hasError, u = i.isStopped, c = i.observers;
1003
+ return o || u ? Fr : (this.currentObservers = null, c.push(t), new Ut(function() {
1004
+ r.currentObservers = null, Dn(c, t);
1005
+ }));
1006
+ }, e.prototype._checkFinalizedStatuses = function(t) {
1007
+ var r = this, i = r.hasError, o = r.thrownError, u = r.isStopped;
1008
+ i ? t.error(o) : u && t.complete();
1009
+ }, e.prototype.asObservable = function() {
1010
+ var t = new Xn();
1011
+ return t.source = this, t;
1012
+ }, e.create = function(t, r) {
1013
+ return new Qn(t, r);
1014
+ }, e;
1015
+ }(Xn), Qn = function(n) {
1016
+ vt(e, n);
1017
+ function e(t, r) {
1018
+ var i = n.call(this) || this;
1019
+ return i.destination = t, i.source = r, i;
1020
+ }
1021
+ return e.prototype.next = function(t) {
1022
+ var r, i;
1023
+ (i = (r = this.destination) === null || r === void 0 ? void 0 : r.next) === null || i === void 0 || i.call(r, t);
1024
+ }, e.prototype.error = function(t) {
1025
+ var r, i;
1026
+ (i = (r = this.destination) === null || r === void 0 ? void 0 : r.error) === null || i === void 0 || i.call(r, t);
1027
+ }, e.prototype.complete = function() {
1028
+ var t, r;
1029
+ (r = (t = this.destination) === null || t === void 0 ? void 0 : t.complete) === null || r === void 0 || r.call(t);
1030
+ }, e.prototype._subscribe = function(t) {
1031
+ var r, i;
1032
+ return (i = (r = this.source) === null || r === void 0 ? void 0 : r.subscribe(t)) !== null && i !== void 0 ? i : Fr;
1033
+ }, e;
1034
+ }(En), Is = function(n) {
1035
+ vt(e, n);
1036
+ function e(t) {
1037
+ var r = n.call(this) || this;
1038
+ return r._value = t, r;
1039
+ }
1040
+ return Object.defineProperty(e.prototype, "value", {
1041
+ get: function() {
1042
+ return this.getValue();
1043
+ },
1044
+ enumerable: !1,
1045
+ configurable: !0
1046
+ }), e.prototype._subscribe = function(t) {
1047
+ var r = n.prototype._subscribe.call(this, t);
1048
+ return !r.closed && t.next(this._value), r;
1049
+ }, e.prototype.getValue = function() {
1050
+ var t = this, r = t.hasError, i = t.thrownError, o = t._value;
1051
+ if (r)
1052
+ throw i;
1053
+ return this._throwIfClosed(), o;
1054
+ }, e.prototype.next = function(t) {
1055
+ n.prototype.next.call(this, this._value = t);
1056
+ }, e;
1057
+ }(En), dr, on;
1058
+ dr = [$({ providedIn: "root" })];
1059
+ class Vt {
1060
+ constructor(e) {
1061
+ this.ngZone = e, this.stateSubject = new Is(null), this.state$ = this.stateSubject.asObservable();
1062
+ }
1063
+ init(e) {
1064
+ this.ngZone.runOutsideAngular(() => {
1065
+ this.engine = new yr({
1066
+ ...e,
1067
+ onStateChange: (t) => {
1068
+ this.ngZone.run(() => this.stateSubject.next(t));
1069
+ }
1070
+ }), this.engine.loadModels();
1071
+ });
1072
+ }
1073
+ attach(e) {
1074
+ var t;
1075
+ (t = this.engine) == null || t.attachVideo(e);
1076
+ }
1077
+ start() {
1078
+ var e;
1079
+ (e = this.engine) == null || e.start();
1080
+ }
1081
+ reset() {
1082
+ var e;
1083
+ (e = this.engine) == null || e.reset();
1084
+ }
1085
+ ngOnDestroy() {
1086
+ var e;
1087
+ (e = this.engine) == null || e.stop();
1088
+ }
1089
+ }
1090
+ on = At(null), Vt = St(on, 0, "LivenessService", dr, Vt), _t(on, 1, Vt);
1091
+ /**
1092
+ * @license Angular v21.2.3
1093
+ * (c) 2010-2026 Google LLC. https://angular.dev/
1094
+ * License: MIT
1095
+ */
1096
+ let Os = null;
1097
+ function Xt() {
1098
+ return Os;
1099
+ }
1100
+ const be = class be {
1101
+ historyGo(e) {
1102
+ throw new Error(ngDevMode ? "Not implemented" : "");
1103
+ }
1104
+ };
1105
+ a(be, "ɵfac", s.ɵɵngDeclareFactory({
1106
+ minVersion: "12.0.0",
1107
+ version: "21.2.3",
1108
+ ngImport: s,
1109
+ type: be,
1110
+ deps: [],
1111
+ target: s.ɵɵFactoryTarget.Injectable
1112
+ })), a(be, "ɵprov", s.ɵɵngDeclareInjectable({
1113
+ minVersion: "12.0.0",
1114
+ version: "21.2.3",
1115
+ ngImport: s,
1116
+ type: be,
1117
+ providedIn: "platform",
1118
+ useFactory: () => Z(He)
1119
+ }));
1120
+ let re = be;
1121
+ s.ɵɵngDeclareClassMetadata({
1122
+ minVersion: "12.0.0",
1123
+ version: "21.2.3",
1124
+ ngImport: s,
1125
+ type: re,
1126
+ decorators: [{
1127
+ type: $,
1128
+ args: [{
1129
+ providedIn: "platform",
1130
+ useFactory: () => Z(He)
1131
+ }]
1132
+ }]
1133
+ });
1134
+ new Nt(typeof ngDevMode < "u" && ngDevMode ? "Location Initialized" : "");
1135
+ const ue = class ue extends re {
1136
+ constructor() {
1137
+ super();
1138
+ a(this, "_location");
1139
+ a(this, "_history");
1140
+ a(this, "_doc", Z(hr));
1141
+ this._location = window.location, this._history = window.history;
1142
+ }
1143
+ getBaseHrefFromDOM() {
1144
+ return Xt().getBaseHref(this._doc);
1145
+ }
1146
+ onPopState(t) {
1147
+ const r = Xt().getGlobalEventTarget(this._doc, "window");
1148
+ return r.addEventListener("popstate", t, !1), () => r.removeEventListener("popstate", t);
1149
+ }
1150
+ onHashChange(t) {
1151
+ const r = Xt().getGlobalEventTarget(this._doc, "window");
1152
+ return r.addEventListener("hashchange", t, !1), () => r.removeEventListener("hashchange", t);
1153
+ }
1154
+ get href() {
1155
+ return this._location.href;
1156
+ }
1157
+ get protocol() {
1158
+ return this._location.protocol;
1159
+ }
1160
+ get hostname() {
1161
+ return this._location.hostname;
1162
+ }
1163
+ get port() {
1164
+ return this._location.port;
1165
+ }
1166
+ get pathname() {
1167
+ return this._location.pathname;
1168
+ }
1169
+ get search() {
1170
+ return this._location.search;
1171
+ }
1172
+ get hash() {
1173
+ return this._location.hash;
1174
+ }
1175
+ set pathname(t) {
1176
+ this._location.pathname = t;
1177
+ }
1178
+ pushState(t, r, i) {
1179
+ this._history.pushState(t, r, i);
1180
+ }
1181
+ replaceState(t, r, i) {
1182
+ this._history.replaceState(t, r, i);
1183
+ }
1184
+ forward() {
1185
+ this._history.forward();
1186
+ }
1187
+ back() {
1188
+ this._history.back();
1189
+ }
1190
+ historyGo(t = 0) {
1191
+ this._history.go(t);
1192
+ }
1193
+ getState() {
1194
+ return this._history.state;
1195
+ }
1196
+ };
1197
+ a(ue, "ɵfac", s.ɵɵngDeclareFactory({
1198
+ minVersion: "12.0.0",
1199
+ version: "21.2.3",
1200
+ ngImport: s,
1201
+ type: ue,
1202
+ deps: [],
1203
+ target: s.ɵɵFactoryTarget.Injectable
1204
+ })), a(ue, "ɵprov", s.ɵɵngDeclareInjectable({
1205
+ minVersion: "12.0.0",
1206
+ version: "21.2.3",
1207
+ ngImport: s,
1208
+ type: ue,
1209
+ providedIn: "platform",
1210
+ useFactory: () => new ue()
1211
+ }));
1212
+ let He = ue;
1213
+ s.ɵɵngDeclareClassMetadata({
1214
+ minVersion: "12.0.0",
1215
+ version: "21.2.3",
1216
+ ngImport: s,
1217
+ type: He,
1218
+ decorators: [{
1219
+ type: $,
1220
+ args: [{
1221
+ providedIn: "platform",
1222
+ useFactory: () => new He()
1223
+ }]
1224
+ }],
1225
+ ctorParameters: () => []
1226
+ });
1227
+ /**
1228
+ * @license Angular v21.2.3
1229
+ * (c) 2010-2026 Google LLC. https://angular.dev/
1230
+ * License: MIT
1231
+ */
1232
+ function vn(n, e) {
1233
+ return n ? e ? n.endsWith("/") ? e.startsWith("/") ? n + e.slice(1) : n + e : e.startsWith("/") ? n + e : `${n}/${e}` : n : e;
1234
+ }
1235
+ function er(n) {
1236
+ const e = n.search(/#|\?|$/);
1237
+ return n[e - 1] === "/" ? n.slice(0, e - 1) + n.slice(e) : n;
1238
+ }
1239
+ function q(n) {
1240
+ return n && n[0] !== "?" ? `?${n}` : n;
1241
+ }
1242
+ const Ae = class Ae {
1243
+ historyGo(e) {
1244
+ throw new Error(ngDevMode ? "Not implemented" : "");
1245
+ }
1246
+ };
1247
+ a(Ae, "ɵfac", s.ɵɵngDeclareFactory({
1248
+ minVersion: "12.0.0",
1249
+ version: "21.2.3",
1250
+ ngImport: s,
1251
+ type: Ae,
1252
+ deps: [],
1253
+ target: s.ɵɵFactoryTarget.Injectable
1254
+ })), a(Ae, "ɵprov", s.ɵɵngDeclareInjectable({
1255
+ minVersion: "12.0.0",
1256
+ version: "21.2.3",
1257
+ ngImport: s,
1258
+ type: Ae,
1259
+ providedIn: "root",
1260
+ useFactory: () => Z(Fe)
1261
+ }));
1262
+ let se = Ae;
1263
+ s.ɵɵngDeclareClassMetadata({
1264
+ minVersion: "12.0.0",
1265
+ version: "21.2.3",
1266
+ ngImport: s,
1267
+ type: se,
1268
+ decorators: [{
1269
+ type: $,
1270
+ args: [{
1271
+ providedIn: "root",
1272
+ useFactory: () => Z(Fe)
1273
+ }]
1274
+ }]
1275
+ });
1276
+ const $t = new Nt(typeof ngDevMode < "u" && ngDevMode ? "appBaseHref" : ""), _e = class _e extends se {
1277
+ constructor(t, r) {
1278
+ var i;
1279
+ super();
1280
+ a(this, "_platformLocation");
1281
+ a(this, "_baseHref");
1282
+ a(this, "_removeListenerFns", []);
1283
+ this._platformLocation = t, this._baseHref = r ?? this._platformLocation.getBaseHrefFromDOM() ?? ((i = Z(hr).location) == null ? void 0 : i.origin) ?? "";
1284
+ }
1285
+ ngOnDestroy() {
1286
+ for (; this._removeListenerFns.length; )
1287
+ this._removeListenerFns.pop()();
1288
+ }
1289
+ onPopState(t) {
1290
+ this._removeListenerFns.push(this._platformLocation.onPopState(t), this._platformLocation.onHashChange(t));
1291
+ }
1292
+ getBaseHref() {
1293
+ return this._baseHref;
1294
+ }
1295
+ prepareExternalUrl(t) {
1296
+ return vn(this._baseHref, t);
1297
+ }
1298
+ path(t = !1) {
1299
+ const r = this._platformLocation.pathname + q(this._platformLocation.search), i = this._platformLocation.hash;
1300
+ return i && t ? `${r}${i}` : r;
1301
+ }
1302
+ pushState(t, r, i, o) {
1303
+ const u = this.prepareExternalUrl(i + q(o));
1304
+ this._platformLocation.pushState(t, r, u);
1305
+ }
1306
+ replaceState(t, r, i, o) {
1307
+ const u = this.prepareExternalUrl(i + q(o));
1308
+ this._platformLocation.replaceState(t, r, u);
1309
+ }
1310
+ forward() {
1311
+ this._platformLocation.forward();
1312
+ }
1313
+ back() {
1314
+ this._platformLocation.back();
1315
+ }
1316
+ getState() {
1317
+ return this._platformLocation.getState();
1318
+ }
1319
+ historyGo(t = 0) {
1320
+ var r, i;
1321
+ (i = (r = this._platformLocation).historyGo) == null || i.call(r, t);
1322
+ }
1323
+ };
1324
+ a(_e, "ɵfac", s.ɵɵngDeclareFactory({
1325
+ minVersion: "12.0.0",
1326
+ version: "21.2.3",
1327
+ ngImport: s,
1328
+ type: _e,
1329
+ deps: [{
1330
+ token: re
1331
+ }, {
1332
+ token: $t,
1333
+ optional: !0
1334
+ }],
1335
+ target: s.ɵɵFactoryTarget.Injectable
1336
+ })), a(_e, "ɵprov", s.ɵɵngDeclareInjectable({
1337
+ minVersion: "12.0.0",
1338
+ version: "21.2.3",
1339
+ ngImport: s,
1340
+ type: _e,
1341
+ providedIn: "root"
1342
+ }));
1343
+ let Fe = _e;
1344
+ s.ɵɵngDeclareClassMetadata({
1345
+ minVersion: "12.0.0",
1346
+ version: "21.2.3",
1347
+ ngImport: s,
1348
+ type: Fe,
1349
+ decorators: [{
1350
+ type: $,
1351
+ args: [{
1352
+ providedIn: "root"
1353
+ }]
1354
+ }],
1355
+ ctorParameters: () => [{
1356
+ type: re
1357
+ }, {
1358
+ type: void 0,
1359
+ decorators: [{
1360
+ type: Ge
1361
+ }, {
1362
+ type: Y,
1363
+ args: [$t]
1364
+ }]
1365
+ }]
1366
+ });
1367
+ const Se = class Se extends Fe {
1368
+ prepareExternalUrl(e) {
1369
+ const t = br(e);
1370
+ return t.endsWith("/") && t.length > 1 && (e = t.slice(0, -1) + e.slice(t.length)), super.prepareExternalUrl(e);
1371
+ }
1372
+ };
1373
+ a(Se, "ɵfac", s.ɵɵngDeclareFactory({
1374
+ minVersion: "12.0.0",
1375
+ version: "21.2.3",
1376
+ ngImport: s,
1377
+ type: Se,
1378
+ deps: null,
1379
+ target: s.ɵɵFactoryTarget.Injectable
1380
+ })), a(Se, "ɵprov", s.ɵɵngDeclareInjectable({
1381
+ minVersion: "12.0.0",
1382
+ version: "21.2.3",
1383
+ ngImport: s,
1384
+ type: Se,
1385
+ providedIn: "root"
1386
+ }));
1387
+ let gn = Se;
1388
+ s.ɵɵngDeclareClassMetadata({
1389
+ minVersion: "12.0.0",
1390
+ version: "21.2.3",
1391
+ ngImport: s,
1392
+ type: gn,
1393
+ decorators: [{
1394
+ type: $,
1395
+ args: [{
1396
+ providedIn: "root"
1397
+ }]
1398
+ }]
1399
+ });
1400
+ const we = class we extends Fe {
1401
+ prepareExternalUrl(e) {
1402
+ const t = br(e);
1403
+ return t.endsWith("/") || (e = t + "/" + e.slice(t.length)), super.prepareExternalUrl(e);
1404
+ }
1405
+ };
1406
+ a(we, "ɵfac", s.ɵɵngDeclareFactory({
1407
+ minVersion: "12.0.0",
1408
+ version: "21.2.3",
1409
+ ngImport: s,
1410
+ type: we,
1411
+ deps: null,
1412
+ target: s.ɵɵFactoryTarget.Injectable
1413
+ })), a(we, "ɵprov", s.ɵɵngDeclareInjectable({
1414
+ minVersion: "12.0.0",
1415
+ version: "21.2.3",
1416
+ ngImport: s,
1417
+ type: we,
1418
+ providedIn: "root"
1419
+ }));
1420
+ let mn = we;
1421
+ s.ɵɵngDeclareClassMetadata({
1422
+ minVersion: "12.0.0",
1423
+ version: "21.2.3",
1424
+ ngImport: s,
1425
+ type: mn,
1426
+ decorators: [{
1427
+ type: $,
1428
+ args: [{
1429
+ providedIn: "root"
1430
+ }]
1431
+ }]
1432
+ });
1433
+ function br(n) {
1434
+ const e = n.search(/[?#]/), t = e > -1 ? e : n.length;
1435
+ return n.slice(0, t);
1436
+ }
1437
+ const H = class H {
1438
+ constructor(e) {
1439
+ a(this, "_subject", new En());
1440
+ a(this, "_basePath");
1441
+ a(this, "_locationStrategy");
1442
+ a(this, "_urlChangeListeners", []);
1443
+ a(this, "_urlChangeSubscription", null);
1444
+ this._locationStrategy = e;
1445
+ const t = this._locationStrategy.getBaseHref();
1446
+ this._basePath = ks(er(tr(t))), this._locationStrategy.onPopState((r) => {
1447
+ this._subject.next({
1448
+ url: this.path(!0),
1449
+ pop: !0,
1450
+ state: r.state,
1451
+ type: r.type
1452
+ });
1453
+ });
1454
+ }
1455
+ ngOnDestroy() {
1456
+ var e;
1457
+ (e = this._urlChangeSubscription) == null || e.unsubscribe(), this._urlChangeListeners = [];
1458
+ }
1459
+ path(e = !1) {
1460
+ return this.normalize(this._locationStrategy.path(e));
1461
+ }
1462
+ getState() {
1463
+ return this._locationStrategy.getState();
1464
+ }
1465
+ isCurrentPathEqualTo(e, t = "") {
1466
+ return this.path() == this.normalize(e + q(t));
1467
+ }
1468
+ normalize(e) {
1469
+ return H.stripTrailingSlash(Bs(this._basePath, tr(e)));
1470
+ }
1471
+ prepareExternalUrl(e) {
1472
+ return e && e[0] !== "/" && (e = "/" + e), this._locationStrategy.prepareExternalUrl(e);
1473
+ }
1474
+ go(e, t = "", r = null) {
1475
+ this._locationStrategy.pushState(r, "", e, t), this._notifyUrlChangeListeners(this.prepareExternalUrl(e + q(t)), r);
1476
+ }
1477
+ replaceState(e, t = "", r = null) {
1478
+ this._locationStrategy.replaceState(r, "", e, t), this._notifyUrlChangeListeners(this.prepareExternalUrl(e + q(t)), r);
1479
+ }
1480
+ forward() {
1481
+ this._locationStrategy.forward();
1482
+ }
1483
+ back() {
1484
+ this._locationStrategy.back();
1485
+ }
1486
+ historyGo(e = 0) {
1487
+ var t, r;
1488
+ (r = (t = this._locationStrategy).historyGo) == null || r.call(t, e);
1489
+ }
1490
+ onUrlChange(e) {
1491
+ return this._urlChangeListeners.push(e), this._urlChangeSubscription ?? (this._urlChangeSubscription = this.subscribe((t) => {
1492
+ this._notifyUrlChangeListeners(t.url, t.state);
1493
+ })), () => {
1494
+ var r;
1495
+ const t = this._urlChangeListeners.indexOf(e);
1496
+ this._urlChangeListeners.splice(t, 1), this._urlChangeListeners.length === 0 && ((r = this._urlChangeSubscription) == null || r.unsubscribe(), this._urlChangeSubscription = null);
1497
+ };
1498
+ }
1499
+ _notifyUrlChangeListeners(e = "", t) {
1500
+ this._urlChangeListeners.forEach((r) => r(e, t));
1501
+ }
1502
+ subscribe(e, t, r) {
1503
+ return this._subject.subscribe({
1504
+ next: e,
1505
+ error: t ?? void 0,
1506
+ complete: r ?? void 0
1507
+ });
1508
+ }
1509
+ };
1510
+ a(H, "normalizeQueryParams", q), a(H, "joinWithSlash", vn), a(H, "stripTrailingSlash", er), a(H, "ɵfac", s.ɵɵngDeclareFactory({
1511
+ minVersion: "12.0.0",
1512
+ version: "21.2.3",
1513
+ ngImport: s,
1514
+ type: H,
1515
+ deps: [{
1516
+ token: se
1517
+ }],
1518
+ target: s.ɵɵFactoryTarget.Injectable
1519
+ })), a(H, "ɵprov", s.ɵɵngDeclareInjectable({
1520
+ minVersion: "12.0.0",
1521
+ version: "21.2.3",
1522
+ ngImport: s,
1523
+ type: H,
1524
+ providedIn: "root",
1525
+ useFactory: Ar
1526
+ }));
1527
+ let Pt = H;
1528
+ s.ɵɵngDeclareClassMetadata({
1529
+ minVersion: "12.0.0",
1530
+ version: "21.2.3",
1531
+ ngImport: s,
1532
+ type: Pt,
1533
+ decorators: [{
1534
+ type: $,
1535
+ args: [{
1536
+ providedIn: "root",
1537
+ useFactory: Ar
1538
+ }]
1539
+ }],
1540
+ ctorParameters: () => [{
1541
+ type: se
1542
+ }]
1543
+ });
1544
+ function Ar() {
1545
+ return new Pt(Qr(se));
1546
+ }
1547
+ function Bs(n, e) {
1548
+ if (!n || !e.startsWith(n))
1549
+ return e;
1550
+ const t = e.substring(n.length);
1551
+ return t === "" || ["/", ";", "?", "#"].includes(t[0]) ? t : e;
1552
+ }
1553
+ function tr(n) {
1554
+ return n.replace(/\/index.html$/, "");
1555
+ }
1556
+ function ks(n) {
1557
+ if (new RegExp("^(https?:)?//").test(n)) {
1558
+ const [, t] = n.split(/\/\/[^\/]+/);
1559
+ return t;
1560
+ }
1561
+ return n;
1562
+ }
1563
+ /**
1564
+ * @license Angular v21.2.3
1565
+ * (c) 2010-2026 Google LLC. https://angular.dev/
1566
+ * License: MIT
1567
+ */
1568
+ const Te = class Te extends se {
1569
+ constructor(t, r) {
1570
+ super();
1571
+ a(this, "_platformLocation");
1572
+ a(this, "_baseHref", "");
1573
+ a(this, "_removeListenerFns", []);
1574
+ this._platformLocation = t, r != null && (this._baseHref = r);
1575
+ }
1576
+ ngOnDestroy() {
1577
+ for (; this._removeListenerFns.length; )
1578
+ this._removeListenerFns.pop()();
1579
+ }
1580
+ onPopState(t) {
1581
+ this._removeListenerFns.push(this._platformLocation.onPopState(t), this._platformLocation.onHashChange(t));
1582
+ }
1583
+ getBaseHref() {
1584
+ return this._baseHref;
1585
+ }
1586
+ path(t = !1) {
1587
+ const r = this._platformLocation.hash ?? "#";
1588
+ return r.length > 0 ? r.substring(1) : r;
1589
+ }
1590
+ prepareExternalUrl(t) {
1591
+ const r = vn(this._baseHref, t);
1592
+ return r.length > 0 ? "#" + r : r;
1593
+ }
1594
+ pushState(t, r, i, o) {
1595
+ const u = this.prepareExternalUrl(i + q(o)) || this._platformLocation.pathname;
1596
+ this._platformLocation.pushState(t, r, u);
1597
+ }
1598
+ replaceState(t, r, i, o) {
1599
+ const u = this.prepareExternalUrl(i + q(o)) || this._platformLocation.pathname;
1600
+ this._platformLocation.replaceState(t, r, u);
1601
+ }
1602
+ forward() {
1603
+ this._platformLocation.forward();
1604
+ }
1605
+ back() {
1606
+ this._platformLocation.back();
1607
+ }
1608
+ getState() {
1609
+ return this._platformLocation.getState();
1610
+ }
1611
+ historyGo(t = 0) {
1612
+ var r, i;
1613
+ (i = (r = this._platformLocation).historyGo) == null || i.call(r, t);
1614
+ }
1615
+ };
1616
+ a(Te, "ɵfac", s.ɵɵngDeclareFactory({
1617
+ minVersion: "12.0.0",
1618
+ version: "21.2.3",
1619
+ ngImport: s,
1620
+ type: Te,
1621
+ deps: [{
1622
+ token: re
1623
+ }, {
1624
+ token: $t,
1625
+ optional: !0
1626
+ }],
1627
+ target: s.ɵɵFactoryTarget.Injectable
1628
+ })), a(Te, "ɵprov", s.ɵɵngDeclareInjectable({
1629
+ minVersion: "12.0.0",
1630
+ version: "21.2.3",
1631
+ ngImport: s,
1632
+ type: Te
1633
+ }));
1634
+ let yn = Te;
1635
+ s.ɵɵngDeclareClassMetadata({
1636
+ minVersion: "12.0.0",
1637
+ version: "21.2.3",
1638
+ ngImport: s,
1639
+ type: yn,
1640
+ decorators: [{
1641
+ type: $
1642
+ }],
1643
+ ctorParameters: () => [{
1644
+ type: re
1645
+ }, {
1646
+ type: void 0,
1647
+ decorators: [{
1648
+ type: Ge
1649
+ }, {
1650
+ type: Y,
1651
+ args: [$t]
1652
+ }]
1653
+ }]
1654
+ });
1655
+ const _r = {
1656
+ ADP: [void 0, void 0, 0],
1657
+ AFN: [void 0, "؋", 0],
1658
+ ALL: [void 0, void 0, 0],
1659
+ AMD: [void 0, "֏", 2],
1660
+ AOA: [void 0, "Kz"],
1661
+ ARS: [void 0, "$"],
1662
+ AUD: ["A$", "$"],
1663
+ AZN: [void 0, "₼"],
1664
+ BAM: [void 0, "KM"],
1665
+ BBD: [void 0, "$"],
1666
+ BDT: [void 0, "৳"],
1667
+ BHD: [void 0, void 0, 3],
1668
+ BIF: [void 0, void 0, 0],
1669
+ BMD: [void 0, "$"],
1670
+ BND: [void 0, "$"],
1671
+ BOB: [void 0, "Bs"],
1672
+ BRL: ["R$"],
1673
+ BSD: [void 0, "$"],
1674
+ BWP: [void 0, "P"],
1675
+ BYN: [void 0, void 0, 2],
1676
+ BYR: [void 0, void 0, 0],
1677
+ BZD: [void 0, "$"],
1678
+ CAD: ["CA$", "$", 2],
1679
+ CHF: [void 0, void 0, 2],
1680
+ CLF: [void 0, void 0, 4],
1681
+ CLP: [void 0, "$", 0],
1682
+ CNY: ["CN¥", "¥"],
1683
+ COP: [void 0, "$", 2],
1684
+ CRC: [void 0, "₡", 2],
1685
+ CUC: [void 0, "$"],
1686
+ CUP: [void 0, "$"],
1687
+ CZK: [void 0, "Kč", 2],
1688
+ DJF: [void 0, void 0, 0],
1689
+ DKK: [void 0, "kr", 2],
1690
+ DOP: [void 0, "$"],
1691
+ EGP: [void 0, "E£"],
1692
+ ESP: [void 0, "₧", 0],
1693
+ EUR: ["€"],
1694
+ FJD: [void 0, "$"],
1695
+ FKP: [void 0, "£"],
1696
+ GBP: ["£"],
1697
+ GEL: [void 0, "₾"],
1698
+ GHS: [void 0, "GH₵"],
1699
+ GIP: [void 0, "£"],
1700
+ GNF: [void 0, "FG", 0],
1701
+ GTQ: [void 0, "Q"],
1702
+ GYD: [void 0, "$", 2],
1703
+ HKD: ["HK$", "$"],
1704
+ HNL: [void 0, "L"],
1705
+ HRK: [void 0, "kn"],
1706
+ HUF: [void 0, "Ft", 2],
1707
+ IDR: [void 0, "Rp", 2],
1708
+ ILS: ["₪"],
1709
+ INR: ["₹"],
1710
+ IQD: [void 0, void 0, 0],
1711
+ IRR: [void 0, void 0, 0],
1712
+ ISK: [void 0, "kr", 0],
1713
+ ITL: [void 0, void 0, 0],
1714
+ JMD: [void 0, "$"],
1715
+ JOD: [void 0, void 0, 3],
1716
+ JPY: ["¥", void 0, 0],
1717
+ KGS: [void 0, "⃀"],
1718
+ KHR: [void 0, "៛"],
1719
+ KMF: [void 0, "CF", 0],
1720
+ KPW: [void 0, "₩", 0],
1721
+ KRW: ["₩", void 0, 0],
1722
+ KWD: [void 0, void 0, 3],
1723
+ KYD: [void 0, "$"],
1724
+ KZT: [void 0, "₸"],
1725
+ LAK: [void 0, "₭", 0],
1726
+ LBP: [void 0, "L£", 0],
1727
+ LKR: [void 0, "Rs"],
1728
+ LRD: [void 0, "$"],
1729
+ LTL: [void 0, "Lt"],
1730
+ LUF: [void 0, void 0, 0],
1731
+ LVL: [void 0, "Ls"],
1732
+ LYD: [void 0, void 0, 3],
1733
+ MGA: [void 0, "Ar", 0],
1734
+ MGF: [void 0, void 0, 0],
1735
+ MMK: [void 0, "K", 0],
1736
+ MNT: [void 0, "₮", 2],
1737
+ MRO: [void 0, void 0, 0],
1738
+ MUR: [void 0, "Rs", 2],
1739
+ MXN: ["MX$", "$"],
1740
+ MYR: [void 0, "RM"],
1741
+ NAD: [void 0, "$"],
1742
+ NGN: [void 0, "₦"],
1743
+ NIO: [void 0, "C$"],
1744
+ NOK: [void 0, "kr", 2],
1745
+ NPR: [void 0, "Rs"],
1746
+ NZD: ["NZ$", "$"],
1747
+ OMR: [void 0, void 0, 3],
1748
+ PHP: ["₱"],
1749
+ PKR: [void 0, "Rs", 2],
1750
+ PLN: [void 0, "zł"],
1751
+ PYG: [void 0, "₲", 0],
1752
+ RON: [void 0, "lei"],
1753
+ RSD: [void 0, void 0, 0],
1754
+ RUB: [void 0, "₽"],
1755
+ RWF: [void 0, "RF", 0],
1756
+ SBD: [void 0, "$"],
1757
+ SEK: [void 0, "kr", 2],
1758
+ SGD: [void 0, "$"],
1759
+ SHP: [void 0, "£"],
1760
+ SLE: [void 0, void 0, 2],
1761
+ SLL: [void 0, void 0, 0],
1762
+ SOS: [void 0, void 0, 0],
1763
+ SRD: [void 0, "$"],
1764
+ SSP: [void 0, "£"],
1765
+ STD: [void 0, void 0, 0],
1766
+ STN: [void 0, "Db"],
1767
+ SYP: [void 0, "£", 0],
1768
+ THB: [void 0, "฿"],
1769
+ TMM: [void 0, void 0, 0],
1770
+ TND: [void 0, void 0, 3],
1771
+ TOP: [void 0, "T$"],
1772
+ TRL: [void 0, void 0, 0],
1773
+ TRY: [void 0, "₺"],
1774
+ TTD: [void 0, "$"],
1775
+ TWD: ["NT$", "$", 2],
1776
+ TZS: [void 0, void 0, 2],
1777
+ UAH: [void 0, "₴"],
1778
+ UGX: [void 0, void 0, 0],
1779
+ USD: ["$"],
1780
+ UYI: [void 0, void 0, 0],
1781
+ UYU: [void 0, "$"],
1782
+ UYW: [void 0, void 0, 4],
1783
+ UZS: [void 0, void 0, 2],
1784
+ VEF: [void 0, "Bs", 2],
1785
+ VND: ["₫", void 0, 0],
1786
+ VUV: [void 0, void 0, 0],
1787
+ XAF: ["FCFA", void 0, 0],
1788
+ XCD: ["EC$", "$"],
1789
+ XCG: ["Cg."],
1790
+ XOF: ["F CFA", void 0, 0],
1791
+ XPF: ["CFPF", void 0, 0],
1792
+ XXX: ["¤"],
1793
+ YER: [void 0, void 0, 0],
1794
+ ZAR: [void 0, "R"],
1795
+ ZMK: [void 0, void 0, 0],
1796
+ ZMW: [void 0, "ZK"],
1797
+ ZWD: [void 0, void 0, 0]
1798
+ };
1799
+ var Ct;
1800
+ (function(n) {
1801
+ n[n.Decimal = 0] = "Decimal", n[n.Percent = 1] = "Percent", n[n.Currency = 2] = "Currency", n[n.Scientific = 3] = "Scientific";
1802
+ })(Ct || (Ct = {}));
1803
+ var ae;
1804
+ (function(n) {
1805
+ n[n.Zero = 0] = "Zero", n[n.One = 1] = "One", n[n.Two = 2] = "Two", n[n.Few = 3] = "Few", n[n.Many = 4] = "Many", n[n.Other = 5] = "Other";
1806
+ })(ae || (ae = {}));
1807
+ var B;
1808
+ (function(n) {
1809
+ n[n.Format = 0] = "Format", n[n.Standalone = 1] = "Standalone";
1810
+ })(B || (B = {}));
1811
+ var y;
1812
+ (function(n) {
1813
+ n[n.Narrow = 0] = "Narrow", n[n.Abbreviated = 1] = "Abbreviated", n[n.Wide = 2] = "Wide", n[n.Short = 3] = "Short";
1814
+ })(y || (y = {}));
1815
+ var M;
1816
+ (function(n) {
1817
+ n[n.Short = 0] = "Short", n[n.Medium = 1] = "Medium", n[n.Long = 2] = "Long", n[n.Full = 3] = "Full";
1818
+ })(M || (M = {}));
1819
+ const w = {
1820
+ Decimal: 0,
1821
+ Group: 1,
1822
+ PercentSign: 3,
1823
+ MinusSign: 5,
1824
+ Exponential: 6,
1825
+ Infinity: 9,
1826
+ CurrencyDecimal: 12,
1827
+ CurrencyGroup: 13
1828
+ };
1829
+ var nr;
1830
+ (function(n) {
1831
+ n[n.Sunday = 0] = "Sunday", n[n.Monday = 1] = "Monday", n[n.Tuesday = 2] = "Tuesday", n[n.Wednesday = 3] = "Wednesday", n[n.Thursday = 4] = "Thursday", n[n.Friday = 5] = "Friday", n[n.Saturday = 6] = "Saturday";
1832
+ })(nr || (nr = {}));
1833
+ function Rs(n) {
1834
+ return V(n)[A.LocaleId];
1835
+ }
1836
+ function Ms(n, e, t) {
1837
+ const r = V(n), i = [r[A.DayPeriodsFormat], r[A.DayPeriodsStandalone]], o = j(i, e);
1838
+ return j(o, t);
1839
+ }
1840
+ function Vs(n, e, t) {
1841
+ const r = V(n), i = [r[A.DaysFormat], r[A.DaysStandalone]], o = j(i, e);
1842
+ return j(o, t);
1843
+ }
1844
+ function xs(n, e, t) {
1845
+ const r = V(n), i = [r[A.MonthsFormat], r[A.MonthsStandalone]], o = j(i, e);
1846
+ return j(o, t);
1847
+ }
1848
+ function Ps(n, e) {
1849
+ const r = V(n)[A.Eras];
1850
+ return j(r, e);
1851
+ }
1852
+ function Tt(n, e) {
1853
+ const t = V(n);
1854
+ return j(t[A.DateFormat], e);
1855
+ }
1856
+ function It(n, e) {
1857
+ const t = V(n);
1858
+ return j(t[A.TimeFormat], e);
1859
+ }
1860
+ function Ot(n, e) {
1861
+ const r = V(n)[A.DateTimeFormat];
1862
+ return j(r, e);
1863
+ }
1864
+ function L(n, e) {
1865
+ const t = V(n), r = t[A.NumberSymbols][e];
1866
+ if (typeof r > "u") {
1867
+ if (e === w.CurrencyDecimal)
1868
+ return t[A.NumberSymbols][w.Decimal];
1869
+ if (e === w.CurrencyGroup)
1870
+ return t[A.NumberSymbols][w.Group];
1871
+ }
1872
+ return r;
1873
+ }
1874
+ function bn(n, e) {
1875
+ return V(n)[A.NumberFormats][e];
1876
+ }
1877
+ function Ls(n) {
1878
+ return V(n)[A.Currencies];
1879
+ }
1880
+ const js = cs;
1881
+ function Sr(n) {
1882
+ if (!n[A.ExtraData])
1883
+ throw new k(2303, ngDevMode && `Missing extra locale data for the locale "${n[A.LocaleId]}". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.`);
1884
+ }
1885
+ function Ns(n) {
1886
+ const e = V(n);
1887
+ return Sr(e), (e[A.ExtraData][2] || []).map((r) => typeof r == "string" ? Jt(r) : [Jt(r[0]), Jt(r[1])]);
1888
+ }
1889
+ function Us(n, e, t) {
1890
+ const r = V(n);
1891
+ Sr(r);
1892
+ const i = [r[A.ExtraData][0], r[A.ExtraData][1]], o = j(i, e) || [];
1893
+ return j(o, t) || [];
1894
+ }
1895
+ function j(n, e) {
1896
+ for (let t = e; t > -1; t--)
1897
+ if (typeof n[t] < "u")
1898
+ return n[t];
1899
+ throw new k(2304, ngDevMode && "Locale data API: locale data undefined");
1900
+ }
1901
+ function Jt(n) {
1902
+ const [e, t] = n.split(":");
1903
+ return {
1904
+ hours: +e,
1905
+ minutes: +t
1906
+ };
1907
+ }
1908
+ function $s(n, e, t = "en") {
1909
+ const r = Ls(t)[n] || _r[n] || [], i = r[1];
1910
+ return e === "narrow" && typeof i == "string" ? i : r[0] || n;
1911
+ }
1912
+ const Gs = 2;
1913
+ function Hs(n) {
1914
+ let e;
1915
+ const t = _r[n];
1916
+ return t && (e = t[2]), typeof e == "number" ? e : Gs;
1917
+ }
1918
+ const Ys = /^(\d{4,})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/, ve = {}, zs = /((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/;
1919
+ function Zs(n, e, t, r) {
1920
+ let i = ri(n);
1921
+ e = K(t, e) || e;
1922
+ let u = [], c;
1923
+ for (; e; )
1924
+ if (c = zs.exec(e), c) {
1925
+ u = u.concat(c.slice(1));
1926
+ const d = u.pop();
1927
+ if (!d)
1928
+ break;
1929
+ e = d;
1930
+ } else {
1931
+ u.push(e);
1932
+ break;
1933
+ }
1934
+ (typeof ngDevMode > "u" || ngDevMode) && Ks(u);
1935
+ let p = i.getTimezoneOffset();
1936
+ r && (p = Tr(r, p), i = ni(i, r));
1937
+ let D = "";
1938
+ return u.forEach((d) => {
1939
+ const f = ei(d);
1940
+ D += f ? f(i, t, p) : d === "''" ? "'" : d.replace(/(^'|'$)/g, "").replace(/''/g, "'");
1941
+ }), D;
1942
+ }
1943
+ function Ks(n) {
1944
+ if (n.some((e) => /^Y+$/.test(e)) && !n.some((e) => /^w+$/.test(e))) {
1945
+ const e = `Suspicious use of week-based year "Y" in date pattern "${n.join("")}". Did you mean to use calendar year "y" instead?`;
1946
+ if (n.length === 1)
1947
+ console.error(us(2300, e));
1948
+ else
1949
+ throw new k(2300, e);
1950
+ }
1951
+ }
1952
+ function Lt(n, e, t) {
1953
+ const r = /* @__PURE__ */ new Date(0);
1954
+ return r.setFullYear(n, e, t), r.setHours(0, 0, 0), r;
1955
+ }
1956
+ function K(n, e) {
1957
+ const t = Rs(n);
1958
+ if (ve[t] ?? (ve[t] = {}), ve[t][e])
1959
+ return ve[t][e];
1960
+ let r = "";
1961
+ switch (e) {
1962
+ case "shortDate":
1963
+ r = Tt(n, M.Short);
1964
+ break;
1965
+ case "mediumDate":
1966
+ r = Tt(n, M.Medium);
1967
+ break;
1968
+ case "longDate":
1969
+ r = Tt(n, M.Long);
1970
+ break;
1971
+ case "fullDate":
1972
+ r = Tt(n, M.Full);
1973
+ break;
1974
+ case "shortTime":
1975
+ r = It(n, M.Short);
1976
+ break;
1977
+ case "mediumTime":
1978
+ r = It(n, M.Medium);
1979
+ break;
1980
+ case "longTime":
1981
+ r = It(n, M.Long);
1982
+ break;
1983
+ case "fullTime":
1984
+ r = It(n, M.Full);
1985
+ break;
1986
+ case "short":
1987
+ const i = K(n, "shortTime"), o = K(n, "shortDate");
1988
+ r = Bt(Ot(n, M.Short), [i, o]);
1989
+ break;
1990
+ case "medium":
1991
+ const u = K(n, "mediumTime"), c = K(n, "mediumDate");
1992
+ r = Bt(Ot(n, M.Medium), [u, c]);
1993
+ break;
1994
+ case "long":
1995
+ const p = K(n, "longTime"), D = K(n, "longDate");
1996
+ r = Bt(Ot(n, M.Long), [p, D]);
1997
+ break;
1998
+ case "full":
1999
+ const d = K(n, "fullTime"), f = K(n, "fullDate");
2000
+ r = Bt(Ot(n, M.Full), [d, f]);
2001
+ break;
2002
+ }
2003
+ return r && (ve[t][e] = r), r;
2004
+ }
2005
+ function Bt(n, e) {
2006
+ return e && (n = n.replace(/\{([^}]+)}/g, function(t, r) {
2007
+ return e != null && r in e ? e[r] : t;
2008
+ })), n;
2009
+ }
2010
+ function U(n, e, t = "-", r, i) {
2011
+ let o = "";
2012
+ (n < 0 || i && n <= 0) && (i ? n = -n + 1 : (n = -n, o = t));
2013
+ let u = String(n);
2014
+ for (; u.length < e; )
2015
+ u = "0" + u;
2016
+ return r && (u = u.slice(u.length - e)), o + u;
2017
+ }
2018
+ function qs(n, e) {
2019
+ return U(n, 3).substring(0, e);
2020
+ }
2021
+ function S(n, e, t = 0, r = !1, i = !1) {
2022
+ return function(o, u) {
2023
+ let c = Ws(n, o);
2024
+ if ((t > 0 || c > -t) && (c += t), n === 3)
2025
+ c === 0 && t === -12 && (c = 12);
2026
+ else if (n === 6)
2027
+ return qs(c, e);
2028
+ const p = L(u, w.MinusSign);
2029
+ return U(c, e, p, r, i);
2030
+ };
2031
+ }
2032
+ function Ws(n, e) {
2033
+ switch (n) {
2034
+ case 0:
2035
+ return e.getFullYear();
2036
+ case 1:
2037
+ return e.getMonth();
2038
+ case 2:
2039
+ return e.getDate();
2040
+ case 3:
2041
+ return e.getHours();
2042
+ case 4:
2043
+ return e.getMinutes();
2044
+ case 5:
2045
+ return e.getSeconds();
2046
+ case 6:
2047
+ return e.getMilliseconds();
2048
+ case 7:
2049
+ return e.getDay();
2050
+ default:
2051
+ throw new k(2301, ngDevMode && `Unknown DateType value "${n}".`);
2052
+ }
2053
+ }
2054
+ function C(n, e, t = B.Format, r = !1) {
2055
+ return function(i, o) {
2056
+ return Xs(i, o, n, e, t, r);
2057
+ };
2058
+ }
2059
+ function Xs(n, e, t, r, i, o) {
2060
+ switch (t) {
2061
+ case 2:
2062
+ return xs(e, i, r)[n.getMonth()];
2063
+ case 1:
2064
+ return Vs(e, i, r)[n.getDay()];
2065
+ case 0:
2066
+ const u = n.getHours(), c = n.getMinutes();
2067
+ if (o) {
2068
+ const D = Ns(e), d = Us(e, i, r), f = D.findIndex((m) => {
2069
+ if (Array.isArray(m)) {
2070
+ const [h, F] = m, E = u >= h.hours && c >= h.minutes, R = u < F.hours || u === F.hours && c < F.minutes;
2071
+ if (h.hours < F.hours) {
2072
+ if (E && R)
2073
+ return !0;
2074
+ } else if (E || R)
2075
+ return !0;
2076
+ } else if (m.hours === u && m.minutes === c)
2077
+ return !0;
2078
+ return !1;
2079
+ });
2080
+ if (f !== -1)
2081
+ return d[f];
2082
+ }
2083
+ return Ms(e, i, r)[u < 12 ? 0 : 1];
2084
+ case 3:
2085
+ return Ps(e, r)[n.getFullYear() <= 0 ? 0 : 1];
2086
+ default:
2087
+ const p = t;
2088
+ throw new k(2302, ngDevMode && `unexpected translation type ${p}`);
2089
+ }
2090
+ }
2091
+ function kt(n) {
2092
+ return function(e, t, r) {
2093
+ const i = -1 * r, o = L(t, w.MinusSign), u = i > 0 ? Math.floor(i / 60) : Math.ceil(i / 60);
2094
+ switch (n) {
2095
+ case 0:
2096
+ return (i >= 0 ? "+" : "") + U(u, 2, o) + U(Math.abs(i % 60), 2, o);
2097
+ case 1:
2098
+ return "GMT" + (i >= 0 ? "+" : "") + U(u, 1, o);
2099
+ case 2:
2100
+ return "GMT" + (i >= 0 ? "+" : "") + U(u, 2, o) + ":" + U(Math.abs(i % 60), 2, o);
2101
+ case 3:
2102
+ return r === 0 ? "Z" : (i >= 0 ? "+" : "") + U(u, 2, o) + ":" + U(Math.abs(i % 60), 2, o);
2103
+ default:
2104
+ throw new k(2310, ngDevMode && `Unknown zone width "${n}"`);
2105
+ }
2106
+ };
2107
+ }
2108
+ const Js = 0, xt = 4;
2109
+ function Qs(n) {
2110
+ const e = Lt(n, Js, 1).getDay();
2111
+ return Lt(n, 0, 1 + (e <= xt ? xt : xt + 7) - e);
2112
+ }
2113
+ function wr(n) {
2114
+ const e = n.getDay(), t = e === 0 ? -3 : xt - e;
2115
+ return Lt(n.getFullYear(), n.getMonth(), n.getDate() + t);
2116
+ }
2117
+ function Qt(n, e = !1) {
2118
+ return function(t, r) {
2119
+ let i;
2120
+ if (e) {
2121
+ const o = new Date(t.getFullYear(), t.getMonth(), 1).getDay() - 1, u = t.getDate();
2122
+ i = 1 + Math.floor((u + o) / 7);
2123
+ } else {
2124
+ const o = wr(t), u = Qs(o.getFullYear()), c = o.getTime() - u.getTime();
2125
+ i = 1 + Math.round(c / 6048e5);
2126
+ }
2127
+ return U(i, n, L(r, w.MinusSign));
2128
+ };
2129
+ }
2130
+ function Rt(n, e = !1) {
2131
+ return function(t, r) {
2132
+ const o = wr(t).getFullYear();
2133
+ return U(o, n, L(r, w.MinusSign), e);
2134
+ };
2135
+ }
2136
+ const en = {};
2137
+ function ei(n) {
2138
+ if (en[n])
2139
+ return en[n];
2140
+ let e;
2141
+ switch (n) {
2142
+ case "G":
2143
+ case "GG":
2144
+ case "GGG":
2145
+ e = C(3, y.Abbreviated);
2146
+ break;
2147
+ case "GGGG":
2148
+ e = C(3, y.Wide);
2149
+ break;
2150
+ case "GGGGG":
2151
+ e = C(3, y.Narrow);
2152
+ break;
2153
+ case "y":
2154
+ e = S(0, 1, 0, !1, !0);
2155
+ break;
2156
+ case "yy":
2157
+ e = S(0, 2, 0, !0, !0);
2158
+ break;
2159
+ case "yyy":
2160
+ e = S(0, 3, 0, !1, !0);
2161
+ break;
2162
+ case "yyyy":
2163
+ e = S(0, 4, 0, !1, !0);
2164
+ break;
2165
+ case "Y":
2166
+ e = Rt(1);
2167
+ break;
2168
+ case "YY":
2169
+ e = Rt(2, !0);
2170
+ break;
2171
+ case "YYY":
2172
+ e = Rt(3);
2173
+ break;
2174
+ case "YYYY":
2175
+ e = Rt(4);
2176
+ break;
2177
+ case "M":
2178
+ case "L":
2179
+ e = S(1, 1, 1);
2180
+ break;
2181
+ case "MM":
2182
+ case "LL":
2183
+ e = S(1, 2, 1);
2184
+ break;
2185
+ case "MMM":
2186
+ e = C(2, y.Abbreviated);
2187
+ break;
2188
+ case "MMMM":
2189
+ e = C(2, y.Wide);
2190
+ break;
2191
+ case "MMMMM":
2192
+ e = C(2, y.Narrow);
2193
+ break;
2194
+ case "LLL":
2195
+ e = C(2, y.Abbreviated, B.Standalone);
2196
+ break;
2197
+ case "LLLL":
2198
+ e = C(2, y.Wide, B.Standalone);
2199
+ break;
2200
+ case "LLLLL":
2201
+ e = C(2, y.Narrow, B.Standalone);
2202
+ break;
2203
+ case "w":
2204
+ e = Qt(1);
2205
+ break;
2206
+ case "ww":
2207
+ e = Qt(2);
2208
+ break;
2209
+ case "W":
2210
+ e = Qt(1, !0);
2211
+ break;
2212
+ case "d":
2213
+ e = S(2, 1);
2214
+ break;
2215
+ case "dd":
2216
+ e = S(2, 2);
2217
+ break;
2218
+ case "c":
2219
+ case "cc":
2220
+ e = S(7, 1);
2221
+ break;
2222
+ case "ccc":
2223
+ e = C(1, y.Abbreviated, B.Standalone);
2224
+ break;
2225
+ case "cccc":
2226
+ e = C(1, y.Wide, B.Standalone);
2227
+ break;
2228
+ case "ccccc":
2229
+ e = C(1, y.Narrow, B.Standalone);
2230
+ break;
2231
+ case "cccccc":
2232
+ e = C(1, y.Short, B.Standalone);
2233
+ break;
2234
+ case "E":
2235
+ case "EE":
2236
+ case "EEE":
2237
+ e = C(1, y.Abbreviated);
2238
+ break;
2239
+ case "EEEE":
2240
+ e = C(1, y.Wide);
2241
+ break;
2242
+ case "EEEEE":
2243
+ e = C(1, y.Narrow);
2244
+ break;
2245
+ case "EEEEEE":
2246
+ e = C(1, y.Short);
2247
+ break;
2248
+ case "a":
2249
+ case "aa":
2250
+ case "aaa":
2251
+ e = C(0, y.Abbreviated);
2252
+ break;
2253
+ case "aaaa":
2254
+ e = C(0, y.Wide);
2255
+ break;
2256
+ case "aaaaa":
2257
+ e = C(0, y.Narrow);
2258
+ break;
2259
+ case "b":
2260
+ case "bb":
2261
+ case "bbb":
2262
+ e = C(0, y.Abbreviated, B.Standalone, !0);
2263
+ break;
2264
+ case "bbbb":
2265
+ e = C(0, y.Wide, B.Standalone, !0);
2266
+ break;
2267
+ case "bbbbb":
2268
+ e = C(0, y.Narrow, B.Standalone, !0);
2269
+ break;
2270
+ case "B":
2271
+ case "BB":
2272
+ case "BBB":
2273
+ e = C(0, y.Abbreviated, B.Format, !0);
2274
+ break;
2275
+ case "BBBB":
2276
+ e = C(0, y.Wide, B.Format, !0);
2277
+ break;
2278
+ case "BBBBB":
2279
+ e = C(0, y.Narrow, B.Format, !0);
2280
+ break;
2281
+ case "h":
2282
+ e = S(3, 1, -12);
2283
+ break;
2284
+ case "hh":
2285
+ e = S(3, 2, -12);
2286
+ break;
2287
+ case "H":
2288
+ e = S(3, 1);
2289
+ break;
2290
+ case "HH":
2291
+ e = S(3, 2);
2292
+ break;
2293
+ case "m":
2294
+ e = S(4, 1);
2295
+ break;
2296
+ case "mm":
2297
+ e = S(4, 2);
2298
+ break;
2299
+ case "s":
2300
+ e = S(5, 1);
2301
+ break;
2302
+ case "ss":
2303
+ e = S(5, 2);
2304
+ break;
2305
+ case "S":
2306
+ e = S(6, 1);
2307
+ break;
2308
+ case "SS":
2309
+ e = S(6, 2);
2310
+ break;
2311
+ case "SSS":
2312
+ e = S(6, 3);
2313
+ break;
2314
+ case "Z":
2315
+ case "ZZ":
2316
+ case "ZZZ":
2317
+ e = kt(0);
2318
+ break;
2319
+ case "ZZZZZ":
2320
+ e = kt(3);
2321
+ break;
2322
+ case "O":
2323
+ case "OO":
2324
+ case "OOO":
2325
+ case "z":
2326
+ case "zz":
2327
+ case "zzz":
2328
+ e = kt(1);
2329
+ break;
2330
+ case "OOOO":
2331
+ case "ZZZZ":
2332
+ case "zzzz":
2333
+ e = kt(2);
2334
+ break;
2335
+ default:
2336
+ return null;
2337
+ }
2338
+ return en[n] = e, e;
2339
+ }
2340
+ function Tr(n, e) {
2341
+ n = n.replace(/:/g, "");
2342
+ const t = Date.parse("Jan 01, 1970 00:00:00 " + n) / 6e4;
2343
+ return isNaN(t) ? e : t;
2344
+ }
2345
+ function ti(n, e) {
2346
+ return n = new Date(n.getTime()), n.setMinutes(n.getMinutes() + e), n;
2347
+ }
2348
+ function ni(n, e, t) {
2349
+ const i = n.getTimezoneOffset(), o = Tr(e, i);
2350
+ return ti(n, -1 * (o - i));
2351
+ }
2352
+ function ri(n) {
2353
+ if (rr(n))
2354
+ return n;
2355
+ if (typeof n == "number" && !isNaN(n))
2356
+ return new Date(n);
2357
+ if (typeof n == "string") {
2358
+ if (n = n.trim(), /^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(n)) {
2359
+ const [i, o = 1, u = 1] = n.split("-").map((c) => +c);
2360
+ return Lt(i, o - 1, u);
2361
+ }
2362
+ const t = parseFloat(n);
2363
+ if (!isNaN(n - t))
2364
+ return new Date(t);
2365
+ let r;
2366
+ if (r = n.match(Ys))
2367
+ return si(r);
2368
+ }
2369
+ const e = new Date(n);
2370
+ if (!rr(e))
2371
+ throw new k(2311, ngDevMode && `Unable to convert "${n}" into a date`);
2372
+ return e;
2373
+ }
2374
+ function si(n) {
2375
+ const e = /* @__PURE__ */ new Date(0);
2376
+ let t = 0, r = 0;
2377
+ const i = n[8] ? e.setUTCFullYear : e.setFullYear, o = n[8] ? e.setUTCHours : e.setHours;
2378
+ n[9] && (t = Number(n[9] + n[10]), r = Number(n[9] + n[11])), i.call(e, Number(n[1]), Number(n[2]) - 1, Number(n[3]));
2379
+ const u = Number(n[4] || 0) - t, c = Number(n[5] || 0) - r, p = Number(n[6] || 0), D = Math.floor(parseFloat("0." + (n[7] || 0)) * 1e3);
2380
+ return o.call(e, u, c, p, D), e;
2381
+ }
2382
+ function rr(n) {
2383
+ return n instanceof Date && !isNaN(n.valueOf());
2384
+ }
2385
+ const ii = /^(\d+)?\.((\d+)(-(\d+))?)?$/, sr = 22, jt = ".", mt = "0", oi = ";", ai = ",", tn = "#", ir = "¤", ui = "%";
2386
+ function An(n, e, t, r, i, o, u = !1) {
2387
+ let c = "", p = !1;
2388
+ if (!isFinite(n))
2389
+ c = L(t, w.Infinity);
2390
+ else {
2391
+ let D = pi(n);
2392
+ u && (D = di(D));
2393
+ let d = e.minInt, f = e.minFrac, m = e.maxFrac;
2394
+ if (o) {
2395
+ const _ = o.match(ii);
2396
+ if (_ === null)
2397
+ throw new k(2306, ngDevMode && `${o} is not a valid digit info`);
2398
+ const Q = _[1], T = _[3], ee = _[5];
2399
+ Q != null && (d = nn(Q)), T != null && (f = nn(T)), ee != null ? m = nn(ee) : T != null && f > m && (m = f);
2400
+ }
2401
+ Di(D, f, m);
2402
+ let h = D.digits, F = D.integerLen;
2403
+ const E = D.exponent;
2404
+ let R = [];
2405
+ for (p = h.every((_) => !_); F < d; F++)
2406
+ h.unshift(0);
2407
+ for (; F < 0; F++)
2408
+ h.unshift(0);
2409
+ F > 0 ? R = h.splice(F, h.length) : (R = h, h = [0]);
2410
+ const J = [];
2411
+ for (h.length >= e.lgSize && J.unshift(h.splice(-e.lgSize, h.length).join("")); h.length > e.gSize; )
2412
+ J.unshift(h.splice(-e.gSize, h.length).join(""));
2413
+ h.length && J.unshift(h.join("")), c = J.join(L(t, r)), R.length && (c += L(t, i) + R.join("")), E && (c += L(t, w.Exponential) + "+" + E);
2414
+ }
2415
+ return n < 0 && !p ? c = e.negPre + c + e.negSuf : c = e.posPre + c + e.posSuf, c;
2416
+ }
2417
+ function ci(n, e, t, r, i) {
2418
+ const o = bn(e, Ct.Currency), u = _n(o, L(e, w.MinusSign));
2419
+ return u.minFrac = Hs(r), u.maxFrac = u.minFrac, An(n, u, e, w.CurrencyGroup, w.CurrencyDecimal, i).replace(ir, t).replace(ir, "").trim();
2420
+ }
2421
+ function li(n, e, t) {
2422
+ const r = bn(e, Ct.Percent), i = _n(r, L(e, w.MinusSign));
2423
+ return An(n, i, e, w.Group, w.Decimal, t, !0).replace(new RegExp(ui, "g"), L(e, w.PercentSign));
2424
+ }
2425
+ function fi(n, e, t) {
2426
+ const r = bn(e, Ct.Decimal), i = _n(r, L(e, w.MinusSign));
2427
+ return An(n, i, e, w.Group, w.Decimal, t);
2428
+ }
2429
+ function _n(n, e = "-") {
2430
+ const t = {
2431
+ minInt: 1,
2432
+ minFrac: 0,
2433
+ maxFrac: 0,
2434
+ posPre: "",
2435
+ posSuf: "",
2436
+ negPre: "",
2437
+ negSuf: "",
2438
+ gSize: 0,
2439
+ lgSize: 0
2440
+ }, r = n.split(oi), i = r[0], o = r[1], u = i.indexOf(jt) !== -1 ? i.split(jt) : [i.substring(0, i.lastIndexOf(mt) + 1), i.substring(i.lastIndexOf(mt) + 1)], c = u[0], p = u[1] || "";
2441
+ t.posPre = c.substring(0, c.indexOf(tn));
2442
+ for (let d = 0; d < p.length; d++) {
2443
+ const f = p.charAt(d);
2444
+ f === mt ? t.minFrac = t.maxFrac = d + 1 : f === tn ? t.maxFrac = d + 1 : t.posSuf += f;
2445
+ }
2446
+ const D = c.split(ai);
2447
+ if (t.gSize = D[1] ? D[1].length : 0, t.lgSize = D[2] || D[1] ? (D[2] || D[1]).length : 0, o) {
2448
+ const d = i.length - t.posPre.length - t.posSuf.length, f = o.indexOf(tn);
2449
+ t.negPre = o.substring(0, f).replace(/'/g, ""), t.negSuf = o.slice(f + d).replace(/'/g, "");
2450
+ } else
2451
+ t.negPre = e + t.posPre, t.negSuf = t.posSuf;
2452
+ return t;
2453
+ }
2454
+ function di(n) {
2455
+ if (n.digits[0] === 0)
2456
+ return n;
2457
+ const e = n.digits.length - n.integerLen;
2458
+ return n.exponent ? n.exponent += 2 : (e === 0 ? n.digits.push(0, 0) : e === 1 && n.digits.push(0), n.integerLen += 2), n;
2459
+ }
2460
+ function pi(n) {
2461
+ let e = Math.abs(n) + "", t = 0, r, i, o, u, c;
2462
+ for ((i = e.indexOf(jt)) > -1 && (e = e.replace(jt, "")), (o = e.search(/e/i)) > 0 ? (i < 0 && (i = o), i += +e.slice(o + 1), e = e.substring(0, o)) : i < 0 && (i = e.length), o = 0; e.charAt(o) === mt; o++)
2463
+ ;
2464
+ if (o === (c = e.length))
2465
+ r = [0], i = 1;
2466
+ else {
2467
+ for (c--; e.charAt(c) === mt; ) c--;
2468
+ for (i -= o, r = [], u = 0; o <= c; o++, u++)
2469
+ r[u] = Number(e.charAt(o));
2470
+ }
2471
+ return i > sr && (r = r.splice(0, sr - 1), t = i - 1, i = 1), {
2472
+ digits: r,
2473
+ exponent: t,
2474
+ integerLen: i
2475
+ };
2476
+ }
2477
+ function Di(n, e, t) {
2478
+ if (e > t)
2479
+ throw new k(2307, ngDevMode && `The minimum number of digits after fraction (${e}) is higher than the maximum (${t}).`);
2480
+ let r = n.digits, i = r.length - n.integerLen;
2481
+ const o = Math.min(Math.max(e, i), t);
2482
+ let u = o + n.integerLen, c = r[u];
2483
+ if (u > 0) {
2484
+ r.splice(Math.max(n.integerLen, u));
2485
+ for (let f = u; f < r.length; f++)
2486
+ r[f] = 0;
2487
+ } else {
2488
+ i = Math.max(0, i), n.integerLen = 1, r.length = Math.max(1, u = o + 1), r[0] = 0;
2489
+ for (let f = 1; f < u; f++) r[f] = 0;
2490
+ }
2491
+ if (c >= 5)
2492
+ if (u - 1 < 0) {
2493
+ for (let f = 0; f > u; f--)
2494
+ r.unshift(0), n.integerLen++;
2495
+ r.unshift(1), n.integerLen++;
2496
+ } else
2497
+ r[u - 1]++;
2498
+ for (; i < Math.max(0, o); i++) r.push(0);
2499
+ let p = o !== 0;
2500
+ const D = e + n.integerLen, d = r.reduceRight(function(f, m, h, F) {
2501
+ return m = m + f, F[h] = m < 10 ? m : m - 10, p && (F[h] === 0 && h >= D ? F.pop() : p = !1), m >= 10 ? 1 : 0;
2502
+ }, 0);
2503
+ d && (r.unshift(d), n.integerLen++);
2504
+ }
2505
+ function nn(n) {
2506
+ const e = parseInt(n);
2507
+ if (isNaN(e))
2508
+ throw new k(2305, ngDevMode && "Invalid integer literal when parsing " + n);
2509
+ return e;
2510
+ }
2511
+ const Ie = class Ie {
2512
+ };
2513
+ a(Ie, "ɵfac", s.ɵɵngDeclareFactory({
2514
+ minVersion: "12.0.0",
2515
+ version: "21.2.3",
2516
+ ngImport: s,
2517
+ type: Ie,
2518
+ deps: [],
2519
+ target: s.ɵɵFactoryTarget.Injectable
2520
+ })), a(Ie, "ɵprov", s.ɵɵngDeclareInjectable({
2521
+ minVersion: "12.0.0",
2522
+ version: "21.2.3",
2523
+ ngImport: s,
2524
+ type: Ie,
2525
+ providedIn: "root",
2526
+ useFactory: () => new Ft(Z(N))
2527
+ }));
2528
+ let ie = Ie;
2529
+ s.ɵɵngDeclareClassMetadata({
2530
+ minVersion: "12.0.0",
2531
+ version: "21.2.3",
2532
+ ngImport: s,
2533
+ type: ie,
2534
+ decorators: [{
2535
+ type: $,
2536
+ args: [{
2537
+ providedIn: "root",
2538
+ useFactory: () => new Ft(Z(N))
2539
+ }]
2540
+ }]
2541
+ });
2542
+ function Ir(n, e, t, r) {
2543
+ let i = `=${n}`;
2544
+ if (e.indexOf(i) > -1 || (i = t.getPluralCategory(n, r), e.indexOf(i) > -1))
2545
+ return i;
2546
+ if (e.indexOf("other") > -1)
2547
+ return "other";
2548
+ throw new k(2308, ngDevMode && `No plural message found for value "${n}"`);
2549
+ }
2550
+ const Oe = class Oe extends ie {
2551
+ constructor(t) {
2552
+ super();
2553
+ a(this, "locale");
2554
+ this.locale = t;
2555
+ }
2556
+ getPluralCategory(t, r) {
2557
+ switch (js(r || this.locale)(t)) {
2558
+ case ae.Zero:
2559
+ return "zero";
2560
+ case ae.One:
2561
+ return "one";
2562
+ case ae.Two:
2563
+ return "two";
2564
+ case ae.Few:
2565
+ return "few";
2566
+ case ae.Many:
2567
+ return "many";
2568
+ default:
2569
+ return "other";
2570
+ }
2571
+ }
2572
+ };
2573
+ a(Oe, "ɵfac", s.ɵɵngDeclareFactory({
2574
+ minVersion: "12.0.0",
2575
+ version: "21.2.3",
2576
+ ngImport: s,
2577
+ type: Oe,
2578
+ deps: [{
2579
+ token: N
2580
+ }],
2581
+ target: s.ɵɵFactoryTarget.Injectable
2582
+ })), a(Oe, "ɵprov", s.ɵɵngDeclareInjectable({
2583
+ minVersion: "12.0.0",
2584
+ version: "21.2.3",
2585
+ ngImport: s,
2586
+ type: Oe
2587
+ }));
2588
+ let Ft = Oe;
2589
+ s.ɵɵngDeclareClassMetadata({
2590
+ minVersion: "12.0.0",
2591
+ version: "21.2.3",
2592
+ ngImport: s,
2593
+ type: Ft,
2594
+ decorators: [{
2595
+ type: $
2596
+ }],
2597
+ ctorParameters: () => [{
2598
+ type: void 0,
2599
+ decorators: [{
2600
+ type: Y,
2601
+ args: [N]
2602
+ }]
2603
+ }]
2604
+ });
2605
+ const rn = /\s+/, or = [], Be = class Be {
2606
+ constructor(e, t) {
2607
+ a(this, "_ngEl");
2608
+ a(this, "_renderer");
2609
+ a(this, "initialClasses", or);
2610
+ a(this, "rawClass");
2611
+ a(this, "stateMap", /* @__PURE__ */ new Map());
2612
+ this._ngEl = e, this._renderer = t;
2613
+ }
2614
+ set klass(e) {
2615
+ this.initialClasses = e != null ? e.trim().split(rn) : or;
2616
+ }
2617
+ set ngClass(e) {
2618
+ this.rawClass = typeof e == "string" ? e.trim().split(rn) : e;
2619
+ }
2620
+ ngDoCheck() {
2621
+ for (const t of this.initialClasses)
2622
+ this._updateState(t, !0);
2623
+ const e = this.rawClass;
2624
+ if (Array.isArray(e) || e instanceof Set)
2625
+ for (const t of e)
2626
+ this._updateState(t, !0);
2627
+ else if (e != null)
2628
+ for (const t of Object.keys(e))
2629
+ this._updateState(t, !!e[t]);
2630
+ this._applyStateDiff();
2631
+ }
2632
+ _updateState(e, t) {
2633
+ const r = this.stateMap.get(e);
2634
+ r !== void 0 ? (r.enabled !== t && (r.changed = !0, r.enabled = t), r.touched = !0) : this.stateMap.set(e, {
2635
+ enabled: t,
2636
+ changed: !0,
2637
+ touched: !0
2638
+ });
2639
+ }
2640
+ _applyStateDiff() {
2641
+ for (const e of this.stateMap) {
2642
+ const t = e[0], r = e[1];
2643
+ r.changed ? (this._toggleClass(t, r.enabled), r.changed = !1) : r.touched || (r.enabled && this._toggleClass(t, !1), this.stateMap.delete(t)), r.touched = !1;
2644
+ }
2645
+ }
2646
+ _toggleClass(e, t) {
2647
+ if (ngDevMode && typeof e != "string")
2648
+ throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${Cn(e)}`);
2649
+ e = e.trim(), e.length > 0 && e.split(rn).forEach((r) => {
2650
+ t ? this._renderer.addClass(this._ngEl.nativeElement, r) : this._renderer.removeClass(this._ngEl.nativeElement, r);
2651
+ });
2652
+ }
2653
+ };
2654
+ a(Be, "ɵfac", s.ɵɵngDeclareFactory({
2655
+ minVersion: "12.0.0",
2656
+ version: "21.2.3",
2657
+ ngImport: s,
2658
+ type: Be,
2659
+ deps: [{
2660
+ token: s.ElementRef
2661
+ }, {
2662
+ token: s.Renderer2
2663
+ }],
2664
+ target: s.ɵɵFactoryTarget.Directive
2665
+ })), a(Be, "ɵdir", s.ɵɵngDeclareDirective({
2666
+ minVersion: "14.0.0",
2667
+ version: "21.2.3",
2668
+ type: Be,
2669
+ isStandalone: !0,
2670
+ selector: "[ngClass]",
2671
+ inputs: {
2672
+ klass: ["class", "klass"],
2673
+ ngClass: "ngClass"
2674
+ },
2675
+ ngImport: s
2676
+ }));
2677
+ let Ye = Be;
2678
+ s.ɵɵngDeclareClassMetadata({
2679
+ minVersion: "12.0.0",
2680
+ version: "21.2.3",
2681
+ ngImport: s,
2682
+ type: Ye,
2683
+ decorators: [{
2684
+ type: G,
2685
+ args: [{
2686
+ selector: "[ngClass]"
2687
+ }]
2688
+ }],
2689
+ ctorParameters: () => [{
2690
+ type: s.ElementRef
2691
+ }, {
2692
+ type: s.Renderer2
2693
+ }],
2694
+ propDecorators: {
2695
+ klass: [{
2696
+ type: b,
2697
+ args: ["class"]
2698
+ }],
2699
+ ngClass: [{
2700
+ type: b,
2701
+ args: ["ngClass"]
2702
+ }]
2703
+ }
2704
+ });
2705
+ const ke = class ke {
2706
+ constructor(e) {
2707
+ a(this, "_viewContainerRef");
2708
+ a(this, "ngComponentOutlet", null);
2709
+ a(this, "ngComponentOutletInputs");
2710
+ a(this, "ngComponentOutletInjector");
2711
+ a(this, "ngComponentOutletEnvironmentInjector");
2712
+ a(this, "ngComponentOutletContent");
2713
+ a(this, "ngComponentOutletNgModule");
2714
+ a(this, "_componentRef");
2715
+ a(this, "_moduleRef");
2716
+ a(this, "_inputsUsed", /* @__PURE__ */ new Map());
2717
+ this._viewContainerRef = e;
2718
+ }
2719
+ get componentInstance() {
2720
+ var e;
2721
+ return ((e = this._componentRef) == null ? void 0 : e.instance) ?? null;
2722
+ }
2723
+ _needToReCreateNgModuleInstance(e) {
2724
+ return e.ngComponentOutletNgModule !== void 0;
2725
+ }
2726
+ _needToReCreateComponentInstance(e) {
2727
+ return e.ngComponentOutlet !== void 0 || e.ngComponentOutletContent !== void 0 || e.ngComponentOutletInjector !== void 0 || e.ngComponentOutletEnvironmentInjector !== void 0 || this._needToReCreateNgModuleInstance(e);
2728
+ }
2729
+ ngOnChanges(e) {
2730
+ var t;
2731
+ if (this._needToReCreateComponentInstance(e) && (this._viewContainerRef.clear(), this._inputsUsed.clear(), this._componentRef = void 0, this.ngComponentOutlet)) {
2732
+ const r = this.ngComponentOutletInjector || this._viewContainerRef.parentInjector;
2733
+ this._needToReCreateNgModuleInstance(e) && ((t = this._moduleRef) == null || t.destroy(), this.ngComponentOutletNgModule ? this._moduleRef = es(this.ngComponentOutletNgModule, hi(r)) : this._moduleRef = void 0), this._componentRef = this._viewContainerRef.createComponent(this.ngComponentOutlet, {
2734
+ injector: r,
2735
+ ngModuleRef: this._moduleRef,
2736
+ projectableNodes: this.ngComponentOutletContent,
2737
+ environmentInjector: this.ngComponentOutletEnvironmentInjector
2738
+ });
2739
+ }
2740
+ }
2741
+ ngDoCheck() {
2742
+ if (this._componentRef) {
2743
+ if (this.ngComponentOutletInputs)
2744
+ for (const e of Object.keys(this.ngComponentOutletInputs))
2745
+ this._inputsUsed.set(e, !0);
2746
+ this._applyInputStateDiff(this._componentRef);
2747
+ }
2748
+ }
2749
+ ngOnDestroy() {
2750
+ var e;
2751
+ (e = this._moduleRef) == null || e.destroy();
2752
+ }
2753
+ _applyInputStateDiff(e) {
2754
+ for (const [t, r] of this._inputsUsed)
2755
+ r ? (e.setInput(t, this.ngComponentOutletInputs[t]), this._inputsUsed.set(t, !1)) : (e.setInput(t, void 0), this._inputsUsed.delete(t));
2756
+ }
2757
+ };
2758
+ a(ke, "ɵfac", s.ɵɵngDeclareFactory({
2759
+ minVersion: "12.0.0",
2760
+ version: "21.2.3",
2761
+ ngImport: s,
2762
+ type: ke,
2763
+ deps: [{
2764
+ token: s.ViewContainerRef
2765
+ }],
2766
+ target: s.ɵɵFactoryTarget.Directive
2767
+ })), a(ke, "ɵdir", s.ɵɵngDeclareDirective({
2768
+ minVersion: "14.0.0",
2769
+ version: "21.2.3",
2770
+ type: ke,
2771
+ isStandalone: !0,
2772
+ selector: "[ngComponentOutlet]",
2773
+ inputs: {
2774
+ ngComponentOutlet: "ngComponentOutlet",
2775
+ ngComponentOutletInputs: "ngComponentOutletInputs",
2776
+ ngComponentOutletInjector: "ngComponentOutletInjector",
2777
+ ngComponentOutletEnvironmentInjector: "ngComponentOutletEnvironmentInjector",
2778
+ ngComponentOutletContent: "ngComponentOutletContent",
2779
+ ngComponentOutletNgModule: "ngComponentOutletNgModule"
2780
+ },
2781
+ exportAs: ["ngComponentOutlet"],
2782
+ usesOnChanges: !0,
2783
+ ngImport: s
2784
+ }));
2785
+ let ze = ke;
2786
+ s.ɵɵngDeclareClassMetadata({
2787
+ minVersion: "12.0.0",
2788
+ version: "21.2.3",
2789
+ ngImport: s,
2790
+ type: ze,
2791
+ decorators: [{
2792
+ type: G,
2793
+ args: [{
2794
+ selector: "[ngComponentOutlet]",
2795
+ exportAs: "ngComponentOutlet"
2796
+ }]
2797
+ }],
2798
+ ctorParameters: () => [{
2799
+ type: s.ViewContainerRef
2800
+ }],
2801
+ propDecorators: {
2802
+ ngComponentOutlet: [{
2803
+ type: b
2804
+ }],
2805
+ ngComponentOutletInputs: [{
2806
+ type: b
2807
+ }],
2808
+ ngComponentOutletInjector: [{
2809
+ type: b
2810
+ }],
2811
+ ngComponentOutletEnvironmentInjector: [{
2812
+ type: b
2813
+ }],
2814
+ ngComponentOutletContent: [{
2815
+ type: b
2816
+ }],
2817
+ ngComponentOutletNgModule: [{
2818
+ type: b
2819
+ }]
2820
+ }
2821
+ });
2822
+ function hi(n) {
2823
+ return n.get(os).injector;
2824
+ }
2825
+ class gi {
2826
+ constructor(e, t, r, i) {
2827
+ a(this, "$implicit");
2828
+ a(this, "ngForOf");
2829
+ a(this, "index");
2830
+ a(this, "count");
2831
+ this.$implicit = e, this.ngForOf = t, this.index = r, this.count = i;
2832
+ }
2833
+ get first() {
2834
+ return this.index === 0;
2835
+ }
2836
+ get last() {
2837
+ return this.index === this.count - 1;
2838
+ }
2839
+ get even() {
2840
+ return this.index % 2 === 0;
2841
+ }
2842
+ get odd() {
2843
+ return !this.even;
2844
+ }
2845
+ }
2846
+ const Re = class Re {
2847
+ constructor(e, t, r) {
2848
+ a(this, "_viewContainer");
2849
+ a(this, "_template");
2850
+ a(this, "_differs");
2851
+ a(this, "_ngForOf", null);
2852
+ a(this, "_ngForOfDirty", !0);
2853
+ a(this, "_differ", null);
2854
+ a(this, "_trackByFn");
2855
+ this._viewContainer = e, this._template = t, this._differs = r;
2856
+ }
2857
+ set ngForOf(e) {
2858
+ this._ngForOf = e, this._ngForOfDirty = !0;
2859
+ }
2860
+ set ngForTrackBy(e) {
2861
+ (typeof ngDevMode > "u" || ngDevMode) && e != null && typeof e != "function" && console.warn(`trackBy must be a function, but received ${JSON.stringify(e)}. See https://angular.dev/api/common/NgForOf#change-propagation for more information.`), this._trackByFn = e;
2862
+ }
2863
+ get ngForTrackBy() {
2864
+ return this._trackByFn;
2865
+ }
2866
+ set ngForTemplate(e) {
2867
+ e && (this._template = e);
2868
+ }
2869
+ ngDoCheck() {
2870
+ if (this._ngForOfDirty) {
2871
+ this._ngForOfDirty = !1;
2872
+ const e = this._ngForOf;
2873
+ if (!this._differ && e)
2874
+ if (typeof ngDevMode > "u" || ngDevMode)
2875
+ try {
2876
+ this._differ = this._differs.find(e).create(this.ngForTrackBy);
2877
+ } catch {
2878
+ let t = `Cannot find a differ supporting object '${e}' of type '${mi(e)}'. NgFor only supports binding to Iterables, such as Arrays.`;
2879
+ throw typeof e == "object" && (t += " Did you mean to use the keyvalue pipe?"), new k(-2200, t);
2880
+ }
2881
+ else
2882
+ this._differ = this._differs.find(e).create(this.ngForTrackBy);
2883
+ }
2884
+ if (this._differ) {
2885
+ const e = this._differ.diff(this._ngForOf);
2886
+ e && this._applyChanges(e);
2887
+ }
2888
+ }
2889
+ _applyChanges(e) {
2890
+ const t = this._viewContainer;
2891
+ e.forEachOperation((r, i, o) => {
2892
+ if (r.previousIndex == null)
2893
+ t.createEmbeddedView(this._template, new gi(r.item, this._ngForOf, -1, -1), o === null ? void 0 : o);
2894
+ else if (o == null)
2895
+ t.remove(i === null ? void 0 : i);
2896
+ else if (i !== null) {
2897
+ const u = t.get(i);
2898
+ t.move(u, o), ar(u, r);
2899
+ }
2900
+ });
2901
+ for (let r = 0, i = t.length; r < i; r++) {
2902
+ const u = t.get(r).context;
2903
+ u.index = r, u.count = i, u.ngForOf = this._ngForOf;
2904
+ }
2905
+ e.forEachIdentityChange((r) => {
2906
+ const i = t.get(r.currentIndex);
2907
+ ar(i, r);
2908
+ });
2909
+ }
2910
+ static ngTemplateContextGuard(e, t) {
2911
+ return !0;
2912
+ }
2913
+ };
2914
+ a(Re, "ɵfac", s.ɵɵngDeclareFactory({
2915
+ minVersion: "12.0.0",
2916
+ version: "21.2.3",
2917
+ ngImport: s,
2918
+ type: Re,
2919
+ deps: [{
2920
+ token: s.ViewContainerRef
2921
+ }, {
2922
+ token: s.TemplateRef
2923
+ }, {
2924
+ token: s.IterableDiffers
2925
+ }],
2926
+ target: s.ɵɵFactoryTarget.Directive
2927
+ })), a(Re, "ɵdir", s.ɵɵngDeclareDirective({
2928
+ minVersion: "14.0.0",
2929
+ version: "21.2.3",
2930
+ type: Re,
2931
+ isStandalone: !0,
2932
+ selector: "[ngFor][ngForOf]",
2933
+ inputs: {
2934
+ ngForOf: "ngForOf",
2935
+ ngForTrackBy: "ngForTrackBy",
2936
+ ngForTemplate: "ngForTemplate"
2937
+ },
2938
+ ngImport: s
2939
+ }));
2940
+ let Ze = Re;
2941
+ s.ɵɵngDeclareClassMetadata({
2942
+ minVersion: "12.0.0",
2943
+ version: "21.2.3",
2944
+ ngImport: s,
2945
+ type: Ze,
2946
+ decorators: [{
2947
+ type: G,
2948
+ args: [{
2949
+ selector: "[ngFor][ngForOf]"
2950
+ }]
2951
+ }],
2952
+ ctorParameters: () => [{
2953
+ type: s.ViewContainerRef
2954
+ }, {
2955
+ type: s.TemplateRef
2956
+ }, {
2957
+ type: s.IterableDiffers
2958
+ }],
2959
+ propDecorators: {
2960
+ ngForOf: [{
2961
+ type: b
2962
+ }],
2963
+ ngForTrackBy: [{
2964
+ type: b
2965
+ }],
2966
+ ngForTemplate: [{
2967
+ type: b
2968
+ }]
2969
+ }
2970
+ });
2971
+ function ar(n, e) {
2972
+ n.context.$implicit = e.item;
2973
+ }
2974
+ function mi(n) {
2975
+ return n.name || typeof n;
2976
+ }
2977
+ const te = class te {
2978
+ constructor(e, t) {
2979
+ a(this, "_viewContainer");
2980
+ a(this, "_context", new yi());
2981
+ a(this, "_thenTemplateRef", null);
2982
+ a(this, "_elseTemplateRef", null);
2983
+ a(this, "_thenViewRef", null);
2984
+ a(this, "_elseViewRef", null);
2985
+ this._viewContainer = e, this._thenTemplateRef = t;
2986
+ }
2987
+ set ngIf(e) {
2988
+ this._context.$implicit = this._context.ngIf = e, this._updateView();
2989
+ }
2990
+ set ngIfThen(e) {
2991
+ ur(e, (typeof ngDevMode > "u" || ngDevMode) && "ngIfThen"), this._thenTemplateRef = e, this._thenViewRef = null, this._updateView();
2992
+ }
2993
+ set ngIfElse(e) {
2994
+ ur(e, (typeof ngDevMode > "u" || ngDevMode) && "ngIfElse"), this._elseTemplateRef = e, this._elseViewRef = null, this._updateView();
2995
+ }
2996
+ _updateView() {
2997
+ this._context.$implicit ? this._thenViewRef || (this._viewContainer.clear(), this._elseViewRef = null, this._thenTemplateRef && (this._thenViewRef = this._viewContainer.createEmbeddedView(this._thenTemplateRef, this._context))) : this._elseViewRef || (this._viewContainer.clear(), this._thenViewRef = null, this._elseTemplateRef && (this._elseViewRef = this._viewContainer.createEmbeddedView(this._elseTemplateRef, this._context)));
2998
+ }
2999
+ static ngTemplateContextGuard(e, t) {
3000
+ return !0;
3001
+ }
3002
+ };
3003
+ a(te, "ngIfUseIfTypeGuard"), a(te, "ngTemplateGuard_ngIf"), a(te, "ɵfac", s.ɵɵngDeclareFactory({
3004
+ minVersion: "12.0.0",
3005
+ version: "21.2.3",
3006
+ ngImport: s,
3007
+ type: te,
3008
+ deps: [{
3009
+ token: s.ViewContainerRef
3010
+ }, {
3011
+ token: s.TemplateRef
3012
+ }],
3013
+ target: s.ɵɵFactoryTarget.Directive
3014
+ })), a(te, "ɵdir", s.ɵɵngDeclareDirective({
3015
+ minVersion: "14.0.0",
3016
+ version: "21.2.3",
3017
+ type: te,
3018
+ isStandalone: !0,
3019
+ selector: "[ngIf]",
3020
+ inputs: {
3021
+ ngIf: "ngIf",
3022
+ ngIfThen: "ngIfThen",
3023
+ ngIfElse: "ngIfElse"
3024
+ },
3025
+ ngImport: s
3026
+ }));
3027
+ let Ke = te;
3028
+ s.ɵɵngDeclareClassMetadata({
3029
+ minVersion: "12.0.0",
3030
+ version: "21.2.3",
3031
+ ngImport: s,
3032
+ type: Ke,
3033
+ decorators: [{
3034
+ type: G,
3035
+ args: [{
3036
+ selector: "[ngIf]"
3037
+ }]
3038
+ }],
3039
+ ctorParameters: () => [{
3040
+ type: s.ViewContainerRef
3041
+ }, {
3042
+ type: s.TemplateRef
3043
+ }],
3044
+ propDecorators: {
3045
+ ngIf: [{
3046
+ type: b
3047
+ }],
3048
+ ngIfThen: [{
3049
+ type: b
3050
+ }],
3051
+ ngIfElse: [{
3052
+ type: b
3053
+ }]
3054
+ }
3055
+ });
3056
+ class yi {
3057
+ constructor() {
3058
+ a(this, "$implicit", null);
3059
+ a(this, "ngIf", null);
3060
+ }
3061
+ }
3062
+ function ur(n, e) {
3063
+ if (n && !n.createEmbeddedView)
3064
+ throw new k(2020, (typeof ngDevMode > "u" || ngDevMode) && `${e} must be a TemplateRef, but received '${Cn(n)}'.`);
3065
+ }
3066
+ class Sn {
3067
+ constructor(e, t) {
3068
+ a(this, "_viewContainerRef");
3069
+ a(this, "_templateRef");
3070
+ a(this, "_created", !1);
3071
+ this._viewContainerRef = e, this._templateRef = t;
3072
+ }
3073
+ create() {
3074
+ this._created = !0, this._viewContainerRef.createEmbeddedView(this._templateRef);
3075
+ }
3076
+ destroy() {
3077
+ this._created = !1, this._viewContainerRef.clear();
3078
+ }
3079
+ enforceState(e) {
3080
+ e && !this._created ? this.create() : !e && this._created && this.destroy();
3081
+ }
3082
+ }
3083
+ const Me = class Me {
3084
+ constructor() {
3085
+ a(this, "_defaultViews", []);
3086
+ a(this, "_defaultUsed", !1);
3087
+ a(this, "_caseCount", 0);
3088
+ a(this, "_lastCaseCheckIndex", 0);
3089
+ a(this, "_lastCasesMatched", !1);
3090
+ a(this, "_ngSwitch");
3091
+ }
3092
+ set ngSwitch(e) {
3093
+ this._ngSwitch = e, this._caseCount === 0 && this._updateDefaultCases(!0);
3094
+ }
3095
+ _addCase() {
3096
+ return this._caseCount++;
3097
+ }
3098
+ _addDefault(e) {
3099
+ this._defaultViews.push(e);
3100
+ }
3101
+ _matchCase(e) {
3102
+ const t = e === this._ngSwitch;
3103
+ return this._lastCasesMatched || (this._lastCasesMatched = t), this._lastCaseCheckIndex++, this._lastCaseCheckIndex === this._caseCount && (this._updateDefaultCases(!this._lastCasesMatched), this._lastCaseCheckIndex = 0, this._lastCasesMatched = !1), t;
3104
+ }
3105
+ _updateDefaultCases(e) {
3106
+ if (this._defaultViews.length > 0 && e !== this._defaultUsed) {
3107
+ this._defaultUsed = e;
3108
+ for (const t of this._defaultViews)
3109
+ t.enforceState(e);
3110
+ }
3111
+ }
3112
+ };
3113
+ a(Me, "ɵfac", s.ɵɵngDeclareFactory({
3114
+ minVersion: "12.0.0",
3115
+ version: "21.2.3",
3116
+ ngImport: s,
3117
+ type: Me,
3118
+ deps: [],
3119
+ target: s.ɵɵFactoryTarget.Directive
3120
+ })), a(Me, "ɵdir", s.ɵɵngDeclareDirective({
3121
+ minVersion: "14.0.0",
3122
+ version: "21.2.3",
3123
+ type: Me,
3124
+ isStandalone: !0,
3125
+ selector: "[ngSwitch]",
3126
+ inputs: {
3127
+ ngSwitch: "ngSwitch"
3128
+ },
3129
+ ngImport: s
3130
+ }));
3131
+ let z = Me;
3132
+ s.ɵɵngDeclareClassMetadata({
3133
+ minVersion: "12.0.0",
3134
+ version: "21.2.3",
3135
+ ngImport: s,
3136
+ type: z,
3137
+ decorators: [{
3138
+ type: G,
3139
+ args: [{
3140
+ selector: "[ngSwitch]"
3141
+ }]
3142
+ }],
3143
+ propDecorators: {
3144
+ ngSwitch: [{
3145
+ type: b
3146
+ }]
3147
+ }
3148
+ });
3149
+ const Ve = class Ve {
3150
+ constructor(e, t, r) {
3151
+ a(this, "ngSwitch");
3152
+ a(this, "_view");
3153
+ a(this, "ngSwitchCase");
3154
+ this.ngSwitch = r, (typeof ngDevMode > "u" || ngDevMode) && !r && Or("ngSwitchCase", "NgSwitchCase"), r._addCase(), this._view = new Sn(e, t);
3155
+ }
3156
+ ngDoCheck() {
3157
+ this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase));
3158
+ }
3159
+ };
3160
+ a(Ve, "ɵfac", s.ɵɵngDeclareFactory({
3161
+ minVersion: "12.0.0",
3162
+ version: "21.2.3",
3163
+ ngImport: s,
3164
+ type: Ve,
3165
+ deps: [{
3166
+ token: s.ViewContainerRef
3167
+ }, {
3168
+ token: s.TemplateRef
3169
+ }, {
3170
+ token: z,
3171
+ host: !0,
3172
+ optional: !0
3173
+ }],
3174
+ target: s.ɵɵFactoryTarget.Directive
3175
+ })), a(Ve, "ɵdir", s.ɵɵngDeclareDirective({
3176
+ minVersion: "14.0.0",
3177
+ version: "21.2.3",
3178
+ type: Ve,
3179
+ isStandalone: !0,
3180
+ selector: "[ngSwitchCase]",
3181
+ inputs: {
3182
+ ngSwitchCase: "ngSwitchCase"
3183
+ },
3184
+ ngImport: s
3185
+ }));
3186
+ let qe = Ve;
3187
+ s.ɵɵngDeclareClassMetadata({
3188
+ minVersion: "12.0.0",
3189
+ version: "21.2.3",
3190
+ ngImport: s,
3191
+ type: qe,
3192
+ decorators: [{
3193
+ type: G,
3194
+ args: [{
3195
+ selector: "[ngSwitchCase]"
3196
+ }]
3197
+ }],
3198
+ ctorParameters: () => [{
3199
+ type: s.ViewContainerRef
3200
+ }, {
3201
+ type: s.TemplateRef
3202
+ }, {
3203
+ type: z,
3204
+ decorators: [{
3205
+ type: Ge
3206
+ }, {
3207
+ type: Fn
3208
+ }]
3209
+ }],
3210
+ propDecorators: {
3211
+ ngSwitchCase: [{
3212
+ type: b
3213
+ }]
3214
+ }
3215
+ });
3216
+ const xe = class xe {
3217
+ constructor(e, t, r) {
3218
+ (typeof ngDevMode > "u" || ngDevMode) && !r && Or("ngSwitchDefault", "NgSwitchDefault"), r._addDefault(new Sn(e, t));
3219
+ }
3220
+ };
3221
+ a(xe, "ɵfac", s.ɵɵngDeclareFactory({
3222
+ minVersion: "12.0.0",
3223
+ version: "21.2.3",
3224
+ ngImport: s,
3225
+ type: xe,
3226
+ deps: [{
3227
+ token: s.ViewContainerRef
3228
+ }, {
3229
+ token: s.TemplateRef
3230
+ }, {
3231
+ token: z,
3232
+ host: !0,
3233
+ optional: !0
3234
+ }],
3235
+ target: s.ɵɵFactoryTarget.Directive
3236
+ })), a(xe, "ɵdir", s.ɵɵngDeclareDirective({
3237
+ minVersion: "14.0.0",
3238
+ version: "21.2.3",
3239
+ type: xe,
3240
+ isStandalone: !0,
3241
+ selector: "[ngSwitchDefault]",
3242
+ ngImport: s
3243
+ }));
3244
+ let We = xe;
3245
+ s.ɵɵngDeclareClassMetadata({
3246
+ minVersion: "12.0.0",
3247
+ version: "21.2.3",
3248
+ ngImport: s,
3249
+ type: We,
3250
+ decorators: [{
3251
+ type: G,
3252
+ args: [{
3253
+ selector: "[ngSwitchDefault]"
3254
+ }]
3255
+ }],
3256
+ ctorParameters: () => [{
3257
+ type: s.ViewContainerRef
3258
+ }, {
3259
+ type: s.TemplateRef
3260
+ }, {
3261
+ type: z,
3262
+ decorators: [{
3263
+ type: Ge
3264
+ }, {
3265
+ type: Fn
3266
+ }]
3267
+ }]
3268
+ });
3269
+ function Or(n, e) {
3270
+ throw new k(2e3, `An element with the "${n}" attribute (matching the "${e}" directive) must be located inside an element with the "ngSwitch" attribute (matching "NgSwitch" directive)`);
3271
+ }
3272
+ const Pe = class Pe {
3273
+ constructor(e) {
3274
+ a(this, "_localization");
3275
+ a(this, "_activeView");
3276
+ a(this, "_caseViews", {});
3277
+ this._localization = e;
3278
+ }
3279
+ set ngPlural(e) {
3280
+ this._updateView(e);
3281
+ }
3282
+ addCase(e, t) {
3283
+ this._caseViews[e] = t;
3284
+ }
3285
+ _updateView(e) {
3286
+ this._clearViews();
3287
+ const t = Object.keys(this._caseViews), r = Ir(e, t, this._localization);
3288
+ this._activateView(this._caseViews[r]);
3289
+ }
3290
+ _clearViews() {
3291
+ this._activeView && this._activeView.destroy();
3292
+ }
3293
+ _activateView(e) {
3294
+ e && (this._activeView = e, this._activeView.create());
3295
+ }
3296
+ };
3297
+ a(Pe, "ɵfac", s.ɵɵngDeclareFactory({
3298
+ minVersion: "12.0.0",
3299
+ version: "21.2.3",
3300
+ ngImport: s,
3301
+ type: Pe,
3302
+ deps: [{
3303
+ token: ie
3304
+ }],
3305
+ target: s.ɵɵFactoryTarget.Directive
3306
+ })), a(Pe, "ɵdir", s.ɵɵngDeclareDirective({
3307
+ minVersion: "14.0.0",
3308
+ version: "21.2.3",
3309
+ type: Pe,
3310
+ isStandalone: !0,
3311
+ selector: "[ngPlural]",
3312
+ inputs: {
3313
+ ngPlural: "ngPlural"
3314
+ },
3315
+ ngImport: s
3316
+ }));
3317
+ let oe = Pe;
3318
+ s.ɵɵngDeclareClassMetadata({
3319
+ minVersion: "12.0.0",
3320
+ version: "21.2.3",
3321
+ ngImport: s,
3322
+ type: oe,
3323
+ decorators: [{
3324
+ type: G,
3325
+ args: [{
3326
+ selector: "[ngPlural]"
3327
+ }]
3328
+ }],
3329
+ ctorParameters: () => [{
3330
+ type: ie
3331
+ }],
3332
+ propDecorators: {
3333
+ ngPlural: [{
3334
+ type: b
3335
+ }]
3336
+ }
3337
+ });
3338
+ const Le = class Le {
3339
+ constructor(e, t, r, i) {
3340
+ a(this, "value");
3341
+ this.value = e;
3342
+ const o = !isNaN(Number(e));
3343
+ i.addCase(o ? `=${e}` : e, new Sn(r, t));
3344
+ }
3345
+ };
3346
+ a(Le, "ɵfac", s.ɵɵngDeclareFactory({
3347
+ minVersion: "12.0.0",
3348
+ version: "21.2.3",
3349
+ ngImport: s,
3350
+ type: Le,
3351
+ deps: [{
3352
+ token: "ngPluralCase",
3353
+ attribute: !0
3354
+ }, {
3355
+ token: s.TemplateRef
3356
+ }, {
3357
+ token: s.ViewContainerRef
3358
+ }, {
3359
+ token: oe,
3360
+ host: !0
3361
+ }],
3362
+ target: s.ɵɵFactoryTarget.Directive
3363
+ })), a(Le, "ɵdir", s.ɵɵngDeclareDirective({
3364
+ minVersion: "14.0.0",
3365
+ version: "21.2.3",
3366
+ type: Le,
3367
+ isStandalone: !0,
3368
+ selector: "[ngPluralCase]",
3369
+ ngImport: s
3370
+ }));
3371
+ let Xe = Le;
3372
+ s.ɵɵngDeclareClassMetadata({
3373
+ minVersion: "12.0.0",
3374
+ version: "21.2.3",
3375
+ ngImport: s,
3376
+ type: Xe,
3377
+ decorators: [{
3378
+ type: G,
3379
+ args: [{
3380
+ selector: "[ngPluralCase]"
3381
+ }]
3382
+ }],
3383
+ ctorParameters: () => [{
3384
+ type: void 0,
3385
+ decorators: [{
3386
+ type: ls,
3387
+ args: ["ngPluralCase"]
3388
+ }]
3389
+ }, {
3390
+ type: s.TemplateRef
3391
+ }, {
3392
+ type: s.ViewContainerRef
3393
+ }, {
3394
+ type: oe,
3395
+ decorators: [{
3396
+ type: Fn
3397
+ }]
3398
+ }]
3399
+ });
3400
+ const je = class je {
3401
+ constructor(e, t, r) {
3402
+ a(this, "_ngEl");
3403
+ a(this, "_differs");
3404
+ a(this, "_renderer");
3405
+ a(this, "_ngStyle", null);
3406
+ a(this, "_differ", null);
3407
+ this._ngEl = e, this._differs = t, this._renderer = r;
3408
+ }
3409
+ set ngStyle(e) {
3410
+ this._ngStyle = e, !this._differ && e && (this._differ = this._differs.find(e).create());
3411
+ }
3412
+ ngDoCheck() {
3413
+ if (this._differ) {
3414
+ const e = this._differ.diff(this._ngStyle);
3415
+ e && this._applyChanges(e);
3416
+ }
3417
+ }
3418
+ _setStyle(e, t) {
3419
+ const [r, i] = e.split("."), o = r.indexOf("-") === -1 ? void 0 : ns.DashCase;
3420
+ t != null ? this._renderer.setStyle(this._ngEl.nativeElement, r, i ? `${t}${i}` : t, o) : this._renderer.removeStyle(this._ngEl.nativeElement, r, o);
3421
+ }
3422
+ _applyChanges(e) {
3423
+ e.forEachRemovedItem((t) => this._setStyle(t.key, null)), e.forEachAddedItem((t) => this._setStyle(t.key, t.currentValue)), e.forEachChangedItem((t) => this._setStyle(t.key, t.currentValue));
3424
+ }
3425
+ };
3426
+ a(je, "ɵfac", s.ɵɵngDeclareFactory({
3427
+ minVersion: "12.0.0",
3428
+ version: "21.2.3",
3429
+ ngImport: s,
3430
+ type: je,
3431
+ deps: [{
3432
+ token: s.ElementRef
3433
+ }, {
3434
+ token: s.KeyValueDiffers
3435
+ }, {
3436
+ token: s.Renderer2
3437
+ }],
3438
+ target: s.ɵɵFactoryTarget.Directive
3439
+ })), a(je, "ɵdir", s.ɵɵngDeclareDirective({
3440
+ minVersion: "14.0.0",
3441
+ version: "21.2.3",
3442
+ type: je,
3443
+ isStandalone: !0,
3444
+ selector: "[ngStyle]",
3445
+ inputs: {
3446
+ ngStyle: "ngStyle"
3447
+ },
3448
+ ngImport: s
3449
+ }));
3450
+ let Je = je;
3451
+ s.ɵɵngDeclareClassMetadata({
3452
+ minVersion: "12.0.0",
3453
+ version: "21.2.3",
3454
+ ngImport: s,
3455
+ type: Je,
3456
+ decorators: [{
3457
+ type: G,
3458
+ args: [{
3459
+ selector: "[ngStyle]"
3460
+ }]
3461
+ }],
3462
+ ctorParameters: () => [{
3463
+ type: s.ElementRef
3464
+ }, {
3465
+ type: s.KeyValueDiffers
3466
+ }, {
3467
+ type: s.Renderer2
3468
+ }],
3469
+ propDecorators: {
3470
+ ngStyle: [{
3471
+ type: b,
3472
+ args: ["ngStyle"]
3473
+ }]
3474
+ }
3475
+ });
3476
+ const Ne = class Ne {
3477
+ constructor(e) {
3478
+ a(this, "_viewContainerRef");
3479
+ a(this, "_viewRef", null);
3480
+ a(this, "ngTemplateOutletContext", null);
3481
+ a(this, "ngTemplateOutlet", null);
3482
+ a(this, "ngTemplateOutletInjector", null);
3483
+ a(this, "injector", Z(ts));
3484
+ this._viewContainerRef = e;
3485
+ }
3486
+ ngOnChanges(e) {
3487
+ if (this._shouldRecreateView(e)) {
3488
+ const t = this._viewContainerRef;
3489
+ if (this._viewRef && t.remove(t.indexOf(this._viewRef)), !this.ngTemplateOutlet) {
3490
+ this._viewRef = null;
3491
+ return;
3492
+ }
3493
+ const r = this._createContextForwardProxy();
3494
+ this._viewRef = t.createEmbeddedView(this.ngTemplateOutlet, r, {
3495
+ injector: this._getInjector()
3496
+ });
3497
+ }
3498
+ }
3499
+ _getInjector() {
3500
+ return this.ngTemplateOutletInjector === "outlet" ? this.injector : this.ngTemplateOutletInjector ?? void 0;
3501
+ }
3502
+ _shouldRecreateView(e) {
3503
+ return !!e.ngTemplateOutlet || !!e.ngTemplateOutletInjector;
3504
+ }
3505
+ _createContextForwardProxy() {
3506
+ return new Proxy({}, {
3507
+ set: (e, t, r) => this.ngTemplateOutletContext ? Reflect.set(this.ngTemplateOutletContext, t, r) : !1,
3508
+ get: (e, t, r) => {
3509
+ if (this.ngTemplateOutletContext)
3510
+ return Reflect.get(this.ngTemplateOutletContext, t, r);
3511
+ }
3512
+ });
3513
+ }
3514
+ };
3515
+ a(Ne, "ɵfac", s.ɵɵngDeclareFactory({
3516
+ minVersion: "12.0.0",
3517
+ version: "21.2.3",
3518
+ ngImport: s,
3519
+ type: Ne,
3520
+ deps: [{
3521
+ token: s.ViewContainerRef
3522
+ }],
3523
+ target: s.ɵɵFactoryTarget.Directive
3524
+ })), a(Ne, "ɵdir", s.ɵɵngDeclareDirective({
3525
+ minVersion: "14.0.0",
3526
+ version: "21.2.3",
3527
+ type: Ne,
3528
+ isStandalone: !0,
3529
+ selector: "[ngTemplateOutlet]",
3530
+ inputs: {
3531
+ ngTemplateOutletContext: "ngTemplateOutletContext",
3532
+ ngTemplateOutlet: "ngTemplateOutlet",
3533
+ ngTemplateOutletInjector: "ngTemplateOutletInjector"
3534
+ },
3535
+ usesOnChanges: !0,
3536
+ ngImport: s
3537
+ }));
3538
+ let Qe = Ne;
3539
+ s.ɵɵngDeclareClassMetadata({
3540
+ minVersion: "12.0.0",
3541
+ version: "21.2.3",
3542
+ ngImport: s,
3543
+ type: Qe,
3544
+ decorators: [{
3545
+ type: G,
3546
+ args: [{
3547
+ selector: "[ngTemplateOutlet]"
3548
+ }]
3549
+ }],
3550
+ ctorParameters: () => [{
3551
+ type: s.ViewContainerRef
3552
+ }],
3553
+ propDecorators: {
3554
+ ngTemplateOutletContext: [{
3555
+ type: b
3556
+ }],
3557
+ ngTemplateOutlet: [{
3558
+ type: b
3559
+ }],
3560
+ ngTemplateOutletInjector: [{
3561
+ type: b
3562
+ }]
3563
+ }
3564
+ });
3565
+ const cr = [Ye, ze, Ze, Ke, Qe, Je, z, qe, We, oe, Xe];
3566
+ function X(n, e) {
3567
+ return new k(2100, ngDevMode && `InvalidPipeArgument: '${e}' for pipe '${Cn(n)}'`);
3568
+ }
3569
+ function Br(n, e) {
3570
+ as(e) && console.warn(`The ${n} does not unwrap signals. Received a signal with value:`, e());
3571
+ }
3572
+ class Ci {
3573
+ createSubscription(e, t, r) {
3574
+ return Yn(() => e.subscribe({
3575
+ next: t,
3576
+ error: r
3577
+ }));
3578
+ }
3579
+ dispose(e) {
3580
+ Yn(() => e.unsubscribe());
3581
+ }
3582
+ }
3583
+ class Fi {
3584
+ createSubscription(e, t, r) {
3585
+ return e.then((i) => t == null ? void 0 : t(i), (i) => r == null ? void 0 : r(i)), {
3586
+ unsubscribe: () => {
3587
+ t = null, r = null;
3588
+ }
3589
+ };
3590
+ }
3591
+ dispose(e) {
3592
+ e.unsubscribe();
3593
+ }
3594
+ }
3595
+ const Ei = new Fi(), vi = new Ci(), ce = class ce {
3596
+ constructor(e) {
3597
+ a(this, "_ref");
3598
+ a(this, "_latestValue", null);
3599
+ a(this, "markForCheckOnValueUpdate", !0);
3600
+ a(this, "_subscription", null);
3601
+ a(this, "_obj", null);
3602
+ a(this, "_strategy", null);
3603
+ a(this, "applicationErrorHandler", Z(rs));
3604
+ this._ref = e;
3605
+ }
3606
+ ngOnDestroy() {
3607
+ this._subscription && this._dispose(), this._ref = null;
3608
+ }
3609
+ transform(e) {
3610
+ if (!this._obj) {
3611
+ if (e)
3612
+ try {
3613
+ this.markForCheckOnValueUpdate = !1, this._subscribe(e);
3614
+ } finally {
3615
+ this.markForCheckOnValueUpdate = !0;
3616
+ }
3617
+ return this._latestValue;
3618
+ }
3619
+ return e !== this._obj ? (this._dispose(), this.transform(e)) : this._latestValue;
3620
+ }
3621
+ _subscribe(e) {
3622
+ this._obj = e, this._strategy = this._selectStrategy(e), this._subscription = this._strategy.createSubscription(e, (t) => this._updateLatestValue(e, t), (t) => this.applicationErrorHandler(t));
3623
+ }
3624
+ _selectStrategy(e) {
3625
+ if (ss(e))
3626
+ return Ei;
3627
+ if (is(e))
3628
+ return vi;
3629
+ throw X(ce, e);
3630
+ }
3631
+ _dispose() {
3632
+ this._strategy.dispose(this._subscription), this._latestValue = null, this._subscription = null, this._obj = null;
3633
+ }
3634
+ _updateLatestValue(e, t) {
3635
+ var r;
3636
+ e === this._obj && (this._latestValue = t, this.markForCheckOnValueUpdate && ((r = this._ref) == null || r.markForCheck()));
3637
+ }
3638
+ };
3639
+ a(ce, "ɵfac", s.ɵɵngDeclareFactory({
3640
+ minVersion: "12.0.0",
3641
+ version: "21.2.3",
3642
+ ngImport: s,
3643
+ type: ce,
3644
+ deps: [{
3645
+ token: s.ChangeDetectorRef
3646
+ }],
3647
+ target: s.ɵɵFactoryTarget.Pipe
3648
+ })), a(ce, "ɵpipe", s.ɵɵngDeclarePipe({
3649
+ minVersion: "14.0.0",
3650
+ version: "21.2.3",
3651
+ ngImport: s,
3652
+ type: ce,
3653
+ isStandalone: !0,
3654
+ name: "async",
3655
+ pure: !1
3656
+ }));
3657
+ let et = ce;
3658
+ s.ɵɵngDeclareClassMetadata({
3659
+ minVersion: "12.0.0",
3660
+ version: "21.2.3",
3661
+ ngImport: s,
3662
+ type: et,
3663
+ decorators: [{
3664
+ type: x,
3665
+ args: [{
3666
+ name: "async",
3667
+ pure: !1
3668
+ }]
3669
+ }],
3670
+ ctorParameters: () => [{
3671
+ type: s.ChangeDetectorRef
3672
+ }]
3673
+ });
3674
+ const le = class le {
3675
+ transform(e) {
3676
+ return e == null ? null : (wn(le, e), e.toLowerCase());
3677
+ }
3678
+ };
3679
+ a(le, "ɵfac", s.ɵɵngDeclareFactory({
3680
+ minVersion: "12.0.0",
3681
+ version: "21.2.3",
3682
+ ngImport: s,
3683
+ type: le,
3684
+ deps: [],
3685
+ target: s.ɵɵFactoryTarget.Pipe
3686
+ })), a(le, "ɵpipe", s.ɵɵngDeclarePipe({
3687
+ minVersion: "14.0.0",
3688
+ version: "21.2.3",
3689
+ ngImport: s,
3690
+ type: le,
3691
+ isStandalone: !0,
3692
+ name: "lowercase"
3693
+ }));
3694
+ let tt = le;
3695
+ s.ɵɵngDeclareClassMetadata({
3696
+ minVersion: "12.0.0",
3697
+ version: "21.2.3",
3698
+ ngImport: s,
3699
+ type: tt,
3700
+ decorators: [{
3701
+ type: x,
3702
+ args: [{
3703
+ name: "lowercase"
3704
+ }]
3705
+ }]
3706
+ });
3707
+ const bi = /(?:[0-9A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])\S*/g, fe = class fe {
3708
+ transform(e) {
3709
+ return e == null ? null : (wn(fe, e), e.replace(bi, (t) => t[0].toUpperCase() + t.slice(1).toLowerCase()));
3710
+ }
3711
+ };
3712
+ a(fe, "ɵfac", s.ɵɵngDeclareFactory({
3713
+ minVersion: "12.0.0",
3714
+ version: "21.2.3",
3715
+ ngImport: s,
3716
+ type: fe,
3717
+ deps: [],
3718
+ target: s.ɵɵFactoryTarget.Pipe
3719
+ })), a(fe, "ɵpipe", s.ɵɵngDeclarePipe({
3720
+ minVersion: "14.0.0",
3721
+ version: "21.2.3",
3722
+ ngImport: s,
3723
+ type: fe,
3724
+ isStandalone: !0,
3725
+ name: "titlecase"
3726
+ }));
3727
+ let nt = fe;
3728
+ s.ɵɵngDeclareClassMetadata({
3729
+ minVersion: "12.0.0",
3730
+ version: "21.2.3",
3731
+ ngImport: s,
3732
+ type: nt,
3733
+ decorators: [{
3734
+ type: x,
3735
+ args: [{
3736
+ name: "titlecase"
3737
+ }]
3738
+ }]
3739
+ });
3740
+ const de = class de {
3741
+ transform(e) {
3742
+ return e == null ? null : (wn(de, e), e.toUpperCase());
3743
+ }
3744
+ };
3745
+ a(de, "ɵfac", s.ɵɵngDeclareFactory({
3746
+ minVersion: "12.0.0",
3747
+ version: "21.2.3",
3748
+ ngImport: s,
3749
+ type: de,
3750
+ deps: [],
3751
+ target: s.ɵɵFactoryTarget.Pipe
3752
+ })), a(de, "ɵpipe", s.ɵɵngDeclarePipe({
3753
+ minVersion: "14.0.0",
3754
+ version: "21.2.3",
3755
+ ngImport: s,
3756
+ type: de,
3757
+ isStandalone: !0,
3758
+ name: "uppercase"
3759
+ }));
3760
+ let rt = de;
3761
+ s.ɵɵngDeclareClassMetadata({
3762
+ minVersion: "12.0.0",
3763
+ version: "21.2.3",
3764
+ ngImport: s,
3765
+ type: rt,
3766
+ decorators: [{
3767
+ type: x,
3768
+ args: [{
3769
+ name: "uppercase"
3770
+ }]
3771
+ }]
3772
+ });
3773
+ function wn(n, e) {
3774
+ if (typeof e != "string")
3775
+ throw X(n, e);
3776
+ }
3777
+ const Ai = "mediumDate", kr = new Nt(typeof ngDevMode < "u" && ngDevMode ? "DATE_PIPE_DEFAULT_TIMEZONE" : ""), Rr = new Nt(typeof ngDevMode < "u" && ngDevMode ? "DATE_PIPE_DEFAULT_OPTIONS" : ""), pe = class pe {
3778
+ constructor(e, t, r) {
3779
+ a(this, "locale");
3780
+ a(this, "defaultTimezone");
3781
+ a(this, "defaultOptions");
3782
+ this.locale = e, this.defaultTimezone = t, this.defaultOptions = r;
3783
+ }
3784
+ transform(e, t, r, i) {
3785
+ var o, u;
3786
+ if (e == null || e === "" || e !== e) return null;
3787
+ try {
3788
+ const c = t ?? ((o = this.defaultOptions) == null ? void 0 : o.dateFormat) ?? Ai, p = r ?? ((u = this.defaultOptions) == null ? void 0 : u.timezone) ?? this.defaultTimezone ?? void 0;
3789
+ return Zs(e, c, i || this.locale, p);
3790
+ } catch (c) {
3791
+ throw X(pe, c.message);
3792
+ }
3793
+ }
3794
+ };
3795
+ a(pe, "ɵfac", s.ɵɵngDeclareFactory({
3796
+ minVersion: "12.0.0",
3797
+ version: "21.2.3",
3798
+ ngImport: s,
3799
+ type: pe,
3800
+ deps: [{
3801
+ token: N
3802
+ }, {
3803
+ token: kr,
3804
+ optional: !0
3805
+ }, {
3806
+ token: Rr,
3807
+ optional: !0
3808
+ }],
3809
+ target: s.ɵɵFactoryTarget.Pipe
3810
+ })), a(pe, "ɵpipe", s.ɵɵngDeclarePipe({
3811
+ minVersion: "14.0.0",
3812
+ version: "21.2.3",
3813
+ ngImport: s,
3814
+ type: pe,
3815
+ isStandalone: !0,
3816
+ name: "date"
3817
+ }));
3818
+ let st = pe;
3819
+ s.ɵɵngDeclareClassMetadata({
3820
+ minVersion: "12.0.0",
3821
+ version: "21.2.3",
3822
+ ngImport: s,
3823
+ type: st,
3824
+ decorators: [{
3825
+ type: x,
3826
+ args: [{
3827
+ name: "date"
3828
+ }]
3829
+ }],
3830
+ ctorParameters: () => [{
3831
+ type: void 0,
3832
+ decorators: [{
3833
+ type: Y,
3834
+ args: [N]
3835
+ }]
3836
+ }, {
3837
+ type: void 0,
3838
+ decorators: [{
3839
+ type: Y,
3840
+ args: [kr]
3841
+ }, {
3842
+ type: Ge
3843
+ }]
3844
+ }, {
3845
+ type: void 0,
3846
+ decorators: [{
3847
+ type: Y,
3848
+ args: [Rr]
3849
+ }, {
3850
+ type: Ge
3851
+ }]
3852
+ }]
3853
+ });
3854
+ const _i = /#/g, De = class De {
3855
+ constructor(e) {
3856
+ a(this, "_localization");
3857
+ this._localization = e;
3858
+ }
3859
+ transform(e, t, r) {
3860
+ if (e == null) return "";
3861
+ if (typeof t != "object" || t === null)
3862
+ throw X(De, t);
3863
+ const i = Ir(e, Object.keys(t), this._localization, r);
3864
+ return t[i].replace(_i, e.toString());
3865
+ }
3866
+ };
3867
+ a(De, "ɵfac", s.ɵɵngDeclareFactory({
3868
+ minVersion: "12.0.0",
3869
+ version: "21.2.3",
3870
+ ngImport: s,
3871
+ type: De,
3872
+ deps: [{
3873
+ token: ie
3874
+ }],
3875
+ target: s.ɵɵFactoryTarget.Pipe
3876
+ })), a(De, "ɵpipe", s.ɵɵngDeclarePipe({
3877
+ minVersion: "14.0.0",
3878
+ version: "21.2.3",
3879
+ ngImport: s,
3880
+ type: De,
3881
+ isStandalone: !0,
3882
+ name: "i18nPlural"
3883
+ }));
3884
+ let it = De;
3885
+ s.ɵɵngDeclareClassMetadata({
3886
+ minVersion: "12.0.0",
3887
+ version: "21.2.3",
3888
+ ngImport: s,
3889
+ type: it,
3890
+ decorators: [{
3891
+ type: x,
3892
+ args: [{
3893
+ name: "i18nPlural"
3894
+ }]
3895
+ }],
3896
+ ctorParameters: () => [{
3897
+ type: ie
3898
+ }]
3899
+ });
3900
+ const he = class he {
3901
+ transform(e, t) {
3902
+ if (e == null) return "";
3903
+ if (typeof t != "object" || typeof e != "string")
3904
+ throw X(he, t);
3905
+ return t.hasOwnProperty(e) ? t[e] : t.hasOwnProperty("other") ? t.other : "";
3906
+ }
3907
+ };
3908
+ a(he, "ɵfac", s.ɵɵngDeclareFactory({
3909
+ minVersion: "12.0.0",
3910
+ version: "21.2.3",
3911
+ ngImport: s,
3912
+ type: he,
3913
+ deps: [],
3914
+ target: s.ɵɵFactoryTarget.Pipe
3915
+ })), a(he, "ɵpipe", s.ɵɵngDeclarePipe({
3916
+ minVersion: "14.0.0",
3917
+ version: "21.2.3",
3918
+ ngImport: s,
3919
+ type: he,
3920
+ isStandalone: !0,
3921
+ name: "i18nSelect"
3922
+ }));
3923
+ let ot = he;
3924
+ s.ɵɵngDeclareClassMetadata({
3925
+ minVersion: "12.0.0",
3926
+ version: "21.2.3",
3927
+ ngImport: s,
3928
+ type: ot,
3929
+ decorators: [{
3930
+ type: x,
3931
+ args: [{
3932
+ name: "i18nSelect"
3933
+ }]
3934
+ }]
3935
+ });
3936
+ const Ue = class Ue {
3937
+ transform(e) {
3938
+ return ngDevMode && Br("JsonPipe", e), JSON.stringify(e, null, 2);
3939
+ }
3940
+ };
3941
+ a(Ue, "ɵfac", s.ɵɵngDeclareFactory({
3942
+ minVersion: "12.0.0",
3943
+ version: "21.2.3",
3944
+ ngImport: s,
3945
+ type: Ue,
3946
+ deps: [],
3947
+ target: s.ɵɵFactoryTarget.Pipe
3948
+ })), a(Ue, "ɵpipe", s.ɵɵngDeclarePipe({
3949
+ minVersion: "14.0.0",
3950
+ version: "21.2.3",
3951
+ ngImport: s,
3952
+ type: Ue,
3953
+ isStandalone: !0,
3954
+ name: "json",
3955
+ pure: !1
3956
+ }));
3957
+ let at = Ue;
3958
+ s.ɵɵngDeclareClassMetadata({
3959
+ minVersion: "12.0.0",
3960
+ version: "21.2.3",
3961
+ ngImport: s,
3962
+ type: at,
3963
+ decorators: [{
3964
+ type: x,
3965
+ args: [{
3966
+ name: "json",
3967
+ pure: !1
3968
+ }]
3969
+ }]
3970
+ });
3971
+ function Si(n, e) {
3972
+ return {
3973
+ key: n,
3974
+ value: e
3975
+ };
3976
+ }
3977
+ const $e = class $e {
3978
+ constructor(e) {
3979
+ a(this, "differs");
3980
+ a(this, "differ");
3981
+ a(this, "keyValues", []);
3982
+ a(this, "compareFn", lr);
3983
+ this.differs = e;
3984
+ }
3985
+ transform(e, t = lr) {
3986
+ if (ngDevMode && Br("KeyValuePipe", e), !e || !(e instanceof Map) && typeof e != "object")
3987
+ return null;
3988
+ this.differ ?? (this.differ = this.differs.find(e).create());
3989
+ const r = this.differ.diff(e), i = t !== this.compareFn;
3990
+ return r && (this.keyValues = [], r.forEachItem((o) => {
3991
+ this.keyValues.push(Si(o.key, o.currentValue));
3992
+ })), (r || i) && (t && this.keyValues.sort(t), this.compareFn = t), this.keyValues;
3993
+ }
3994
+ };
3995
+ a($e, "ɵfac", s.ɵɵngDeclareFactory({
3996
+ minVersion: "12.0.0",
3997
+ version: "21.2.3",
3998
+ ngImport: s,
3999
+ type: $e,
4000
+ deps: [{
4001
+ token: s.KeyValueDiffers
4002
+ }],
4003
+ target: s.ɵɵFactoryTarget.Pipe
4004
+ })), a($e, "ɵpipe", s.ɵɵngDeclarePipe({
4005
+ minVersion: "14.0.0",
4006
+ version: "21.2.3",
4007
+ ngImport: s,
4008
+ type: $e,
4009
+ isStandalone: !0,
4010
+ name: "keyvalue",
4011
+ pure: !1
4012
+ }));
4013
+ let ut = $e;
4014
+ s.ɵɵngDeclareClassMetadata({
4015
+ minVersion: "12.0.0",
4016
+ version: "21.2.3",
4017
+ ngImport: s,
4018
+ type: ut,
4019
+ decorators: [{
4020
+ type: x,
4021
+ args: [{
4022
+ name: "keyvalue",
4023
+ pure: !1
4024
+ }]
4025
+ }],
4026
+ ctorParameters: () => [{
4027
+ type: s.KeyValueDiffers
4028
+ }]
4029
+ });
4030
+ function lr(n, e) {
4031
+ const t = n.key, r = e.key;
4032
+ if (t === r) return 0;
4033
+ if (t == null) return 1;
4034
+ if (r == null) return -1;
4035
+ if (typeof t == "string" && typeof r == "string")
4036
+ return t < r ? -1 : 1;
4037
+ if (typeof t == "number" && typeof r == "number")
4038
+ return t - r;
4039
+ if (typeof t == "boolean" && typeof r == "boolean")
4040
+ return t < r ? -1 : 1;
4041
+ const i = String(t), o = String(r);
4042
+ return i == o ? 0 : i < o ? -1 : 1;
4043
+ }
4044
+ const ge = class ge {
4045
+ constructor(e) {
4046
+ a(this, "_locale");
4047
+ this._locale = e;
4048
+ }
4049
+ transform(e, t, r) {
4050
+ if (!Tn(e)) return null;
4051
+ r || (r = this._locale);
4052
+ try {
4053
+ const i = In(e);
4054
+ return fi(i, r, t);
4055
+ } catch (i) {
4056
+ throw X(ge, i.message);
4057
+ }
4058
+ }
4059
+ };
4060
+ a(ge, "ɵfac", s.ɵɵngDeclareFactory({
4061
+ minVersion: "12.0.0",
4062
+ version: "21.2.3",
4063
+ ngImport: s,
4064
+ type: ge,
4065
+ deps: [{
4066
+ token: N
4067
+ }],
4068
+ target: s.ɵɵFactoryTarget.Pipe
4069
+ })), a(ge, "ɵpipe", s.ɵɵngDeclarePipe({
4070
+ minVersion: "14.0.0",
4071
+ version: "21.2.3",
4072
+ ngImport: s,
4073
+ type: ge,
4074
+ isStandalone: !0,
4075
+ name: "number"
4076
+ }));
4077
+ let ct = ge;
4078
+ s.ɵɵngDeclareClassMetadata({
4079
+ minVersion: "12.0.0",
4080
+ version: "21.2.3",
4081
+ ngImport: s,
4082
+ type: ct,
4083
+ decorators: [{
4084
+ type: x,
4085
+ args: [{
4086
+ name: "number"
4087
+ }]
4088
+ }],
4089
+ ctorParameters: () => [{
4090
+ type: void 0,
4091
+ decorators: [{
4092
+ type: Y,
4093
+ args: [N]
4094
+ }]
4095
+ }]
4096
+ });
4097
+ const me = class me {
4098
+ constructor(e) {
4099
+ a(this, "_locale");
4100
+ this._locale = e;
4101
+ }
4102
+ transform(e, t, r) {
4103
+ if (!Tn(e)) return null;
4104
+ r || (r = this._locale);
4105
+ try {
4106
+ const i = In(e);
4107
+ return li(i, r, t);
4108
+ } catch (i) {
4109
+ throw X(me, i.message);
4110
+ }
4111
+ }
4112
+ };
4113
+ a(me, "ɵfac", s.ɵɵngDeclareFactory({
4114
+ minVersion: "12.0.0",
4115
+ version: "21.2.3",
4116
+ ngImport: s,
4117
+ type: me,
4118
+ deps: [{
4119
+ token: N
4120
+ }],
4121
+ target: s.ɵɵFactoryTarget.Pipe
4122
+ })), a(me, "ɵpipe", s.ɵɵngDeclarePipe({
4123
+ minVersion: "14.0.0",
4124
+ version: "21.2.3",
4125
+ ngImport: s,
4126
+ type: me,
4127
+ isStandalone: !0,
4128
+ name: "percent"
4129
+ }));
4130
+ let lt = me;
4131
+ s.ɵɵngDeclareClassMetadata({
4132
+ minVersion: "12.0.0",
4133
+ version: "21.2.3",
4134
+ ngImport: s,
4135
+ type: lt,
4136
+ decorators: [{
4137
+ type: x,
4138
+ args: [{
4139
+ name: "percent"
4140
+ }]
4141
+ }],
4142
+ ctorParameters: () => [{
4143
+ type: void 0,
4144
+ decorators: [{
4145
+ type: Y,
4146
+ args: [N]
4147
+ }]
4148
+ }]
4149
+ });
4150
+ const ye = class ye {
4151
+ constructor(e, t = "USD") {
4152
+ a(this, "_locale");
4153
+ a(this, "_defaultCurrencyCode");
4154
+ this._locale = e, this._defaultCurrencyCode = t;
4155
+ }
4156
+ transform(e, t = this._defaultCurrencyCode, r = "symbol", i, o) {
4157
+ if (!Tn(e)) return null;
4158
+ o || (o = this._locale), typeof r == "boolean" && ((typeof ngDevMode > "u" || ngDevMode) && console.warn('Warning: the currency pipe has been changed in Angular v5. The symbolDisplay option (third parameter) is now a string instead of a boolean. The accepted values are "code", "symbol" or "symbol-narrow".'), r = r ? "symbol" : "code");
4159
+ let u = t || this._defaultCurrencyCode;
4160
+ r !== "code" && (r === "symbol" || r === "symbol-narrow" ? u = $s(u, r === "symbol" ? "wide" : "narrow", o) : u = r);
4161
+ try {
4162
+ const c = In(e);
4163
+ return ci(c, o, u, t, i);
4164
+ } catch (c) {
4165
+ throw X(ye, c.message);
4166
+ }
4167
+ }
4168
+ };
4169
+ a(ye, "ɵfac", s.ɵɵngDeclareFactory({
4170
+ minVersion: "12.0.0",
4171
+ version: "21.2.3",
4172
+ ngImport: s,
4173
+ type: ye,
4174
+ deps: [{
4175
+ token: N
4176
+ }, {
4177
+ token: gr
4178
+ }],
4179
+ target: s.ɵɵFactoryTarget.Pipe
4180
+ })), a(ye, "ɵpipe", s.ɵɵngDeclarePipe({
4181
+ minVersion: "14.0.0",
4182
+ version: "21.2.3",
4183
+ ngImport: s,
4184
+ type: ye,
4185
+ isStandalone: !0,
4186
+ name: "currency"
4187
+ }));
4188
+ let ft = ye;
4189
+ s.ɵɵngDeclareClassMetadata({
4190
+ minVersion: "12.0.0",
4191
+ version: "21.2.3",
4192
+ ngImport: s,
4193
+ type: ft,
4194
+ decorators: [{
4195
+ type: x,
4196
+ args: [{
4197
+ name: "currency"
4198
+ }]
4199
+ }],
4200
+ ctorParameters: () => [{
4201
+ type: void 0,
4202
+ decorators: [{
4203
+ type: Y,
4204
+ args: [N]
4205
+ }]
4206
+ }, {
4207
+ type: void 0,
4208
+ decorators: [{
4209
+ type: Y,
4210
+ args: [gr]
4211
+ }]
4212
+ }]
4213
+ });
4214
+ function Tn(n) {
4215
+ return !(n == null || n === "" || n !== n);
4216
+ }
4217
+ function In(n) {
4218
+ if (typeof n == "string" && !isNaN(Number(n) - parseFloat(n)))
4219
+ return Number(n);
4220
+ if (typeof n != "number")
4221
+ throw new k(2309, ngDevMode && `${n} is not a number`);
4222
+ return n;
4223
+ }
4224
+ const Ce = class Ce {
4225
+ transform(e, t, r) {
4226
+ if (e == null) return null;
4227
+ if (!(typeof e == "string" || Array.isArray(e)))
4228
+ throw X(Ce, e);
4229
+ return e.slice(t, r);
4230
+ }
4231
+ };
4232
+ a(Ce, "ɵfac", s.ɵɵngDeclareFactory({
4233
+ minVersion: "12.0.0",
4234
+ version: "21.2.3",
4235
+ ngImport: s,
4236
+ type: Ce,
4237
+ deps: [],
4238
+ target: s.ɵɵFactoryTarget.Pipe
4239
+ })), a(Ce, "ɵpipe", s.ɵɵngDeclarePipe({
4240
+ minVersion: "14.0.0",
4241
+ version: "21.2.3",
4242
+ ngImport: s,
4243
+ type: Ce,
4244
+ isStandalone: !0,
4245
+ name: "slice",
4246
+ pure: !1
4247
+ }));
4248
+ let dt = Ce;
4249
+ s.ɵɵngDeclareClassMetadata({
4250
+ minVersion: "12.0.0",
4251
+ version: "21.2.3",
4252
+ ngImport: s,
4253
+ type: dt,
4254
+ decorators: [{
4255
+ type: x,
4256
+ args: [{
4257
+ name: "slice",
4258
+ pure: !1
4259
+ }]
4260
+ }]
4261
+ });
4262
+ const fr = [et, rt, tt, at, dt, ct, lt, nt, ft, st, it, ot, ut], ne = class ne {
4263
+ };
4264
+ a(ne, "ɵfac", s.ɵɵngDeclareFactory({
4265
+ minVersion: "12.0.0",
4266
+ version: "21.2.3",
4267
+ ngImport: s,
4268
+ type: ne,
4269
+ deps: [],
4270
+ target: s.ɵɵFactoryTarget.NgModule
4271
+ })), a(ne, "ɵmod", s.ɵɵngDeclareNgModule({
4272
+ minVersion: "14.0.0",
4273
+ version: "21.2.3",
4274
+ ngImport: s,
4275
+ type: ne,
4276
+ imports: [Ye, ze, Ze, Ke, Qe, Je, z, qe, We, oe, Xe, et, rt, tt, at, dt, ct, lt, nt, ft, st, it, ot, ut],
4277
+ exports: [Ye, ze, Ze, Ke, Qe, Je, z, qe, We, oe, Xe, et, rt, tt, at, dt, ct, lt, nt, ft, st, it, ot, ut]
4278
+ })), a(ne, "ɵinj", s.ɵɵngDeclareInjector({
4279
+ minVersion: "12.0.0",
4280
+ version: "21.2.3",
4281
+ ngImport: s,
4282
+ type: ne
4283
+ }));
4284
+ let Et = ne;
4285
+ s.ɵɵngDeclareClassMetadata({
4286
+ minVersion: "12.0.0",
4287
+ version: "21.2.3",
4288
+ ngImport: s,
4289
+ type: Et,
4290
+ decorators: [{
4291
+ type: mr,
4292
+ args: [{
4293
+ imports: [cr, fr],
4294
+ exports: [cr, fr]
4295
+ }]
4296
+ }]
4297
+ });
4298
+ var pr, an;
4299
+ pr = [fs({
4300
+ selector: "lib-liveness",
4301
+ standalone: !0,
4302
+ // Make it standalone
4303
+ imports: [Et],
4304
+ // Add CommonModule here to fix NG8002
4305
+ templateUrl: "./liveness.component.html",
4306
+ styleUrls: ["./liveness.component.css"]
4307
+ })];
4308
+ class yt {
4309
+ constructor(e) {
4310
+ this.liveness = e, this.duration = 60, this.containerClass = "", this.videoWrapperClass = "", this.videoClass = "", this.timerClass = "", this.challengeTextClass = "", this.buttonClass = "", this.statusOverlayClass = "", this.onComplete = new zn(), this.onError = new zn();
4311
+ }
4312
+ ngOnInit() {
4313
+ this.liveness.init({
4314
+ apiUrl: this.apiUrl,
4315
+ duration: this.duration,
4316
+ smileThreshold: this.smileThreshold,
4317
+ blinkThreshold: this.blinkThreshold,
4318
+ minturnHeadThreshold: this.minturnHeadThreshold,
4319
+ maxturnHeadThreshold: this.maxturnHeadThreshold,
4320
+ onComplete: (e) => this.onComplete.emit(e),
4321
+ onError: (e) => this.onError.emit(e)
4322
+ });
4323
+ }
4324
+ async ngAfterViewInit() {
4325
+ try {
4326
+ const e = await navigator.mediaDevices.getUserMedia({
4327
+ video: { width: 640, height: 480, facingMode: "user" }
4328
+ }), t = this.webcamRef.nativeElement;
4329
+ t.srcObject = e, t.onloadedmetadata = () => {
4330
+ t.play(), this.liveness.attach(t);
4331
+ };
4332
+ } catch {
4333
+ this.onError.emit({ success: !1, reason: "Camera access denied" });
4334
+ }
4335
+ }
4336
+ ngOnDestroy() {
4337
+ var t, r;
4338
+ const e = (r = (t = this.webcamRef) == null ? void 0 : t.nativeElement) == null ? void 0 : r.srcObject;
4339
+ e == null || e.getTracks().forEach((i) => i.stop());
4340
+ }
4341
+ }
4342
+ an = At(null), yt = St(an, 0, "LivenessComponent", pr, yt), _t(an, 1, yt);
4343
+ var Dr, un;
4344
+ Dr = [mr({
4345
+ declarations: [],
4346
+ imports: [Et, yt],
4347
+ providers: [Vt],
4348
+ // This makes the service available
4349
+ exports: [yt]
4350
+ // This allows <lib-liveness> to be used
4351
+ })];
4352
+ class sn {
4353
+ }
4354
+ un = At(null), sn = St(un, 0, "LivenessModule", Dr, sn), _t(un, 1, sn);
549
4355
  export {
550
- ue as LivenessEngine,
551
- ve as LivenessSDK,
552
- de as useLiveness,
553
- ce as verifyLiveness
4356
+ yt as LivenessComponent,
4357
+ yr as LivenessEngine,
4358
+ sn as LivenessModule,
4359
+ ki as LivenessSDK,
4360
+ Vt as LivenessService,
4361
+ Ds as useLiveness,
4362
+ ds as verifyLiveness
554
4363
  };