/*!
* sweetalert2 v11.7.3
* Released under the MIT License.
*/
!(function (e, t) {
"object" == typeof exports && "undefined" != typeof module
? (module.exports = t())
: "function" == typeof define && define.amd
? define(t)
: ((e =
"undefined" != typeof globalThis ? globalThis : e || self).Sweetalert2 =
t());
})(this, function () {
"use strict";
var e = {
awaitingPromise: new WeakMap(),
promise: new WeakMap(),
innerParams: new WeakMap(),
domCache: new WeakMap(),
};
const t = (e) => {
const t = {};
for (const n in e) t[e[n]] = "swal2-" + e[n];
return t;
},
n = t([
"container",
"shown",
"height-auto",
"iosfix",
"popup",
"modal",
"no-backdrop",
"no-transition",
"toast",
"toast-shown",
"show",
"hide",
"close",
"title",
"html-container",
"actions",
"confirm",
"deny",
"cancel",
"default-outline",
"footer",
"icon",
"icon-content",
"image",
"input",
"file",
"range",
"select",
"radio",
"checkbox",
"label",
"textarea",
"inputerror",
"input-label",
"validation-message",
"progress-steps",
"active-progress-step",
"progress-step",
"progress-step-line",
"loader",
"loading",
"styled",
"top",
"top-start",
"top-end",
"top-left",
"top-right",
"center",
"center-start",
"center-end",
"center-left",
"center-right",
"bottom",
"bottom-start",
"bottom-end",
"bottom-left",
"bottom-right",
"grow-row",
"grow-column",
"grow-fullscreen",
"rtl",
"timer-progress-bar",
"timer-progress-bar-container",
"scrollbar-measure",
"icon-success",
"icon-warning",
"icon-info",
"icon-question",
"icon-error",
]),
o = t(["success", "warning", "info", "question", "error"]),
i = "SweetAlert2:",
s = (e) => e.charAt(0).toUpperCase() + e.slice(1),
r = (e) => {
console.warn(`${i} ${"object" == typeof e ? e.join(" ") : e}`);
},
a = (e) => {
console.error(`${i} ${e}`);
},
l = [],
c = (e, t) => {
var n;
(n = `"${e}" is deprecated and will be removed in the next major release. Please use "${t}" instead.`),
l.includes(n) || (l.push(n), r(n));
},
u = (e) => ("function" == typeof e ? e() : e),
d = (e) => e && "function" == typeof e.toPromise,
p = (e) => (d(e) ? e.toPromise() : Promise.resolve(e)),
m = (e) => e && Promise.resolve(e) === e,
g = () => document.body.querySelector(`.${n.container}`),
h = (e) => {
const t = g();
return t ? t.querySelector(e) : null;
},
f = (e) => h(`.${e}`),
b = () => f(n.popup),
y = () => f(n.icon),
w = () => f(n.title),
v = () => f(n["html-container"]),
C = () => f(n.image),
A = () => f(n["progress-steps"]),
k = () => f(n["validation-message"]),
B = () => h(`.${n.actions} .${n.confirm}`),
P = () => h(`.${n.actions} .${n.cancel}`),
x = () => h(`.${n.actions} .${n.deny}`),
E = () => h(`.${n.loader}`),
$ = () => f(n.actions),
T = () => f(n.footer),
S = () => f(n["timer-progress-bar"]),
L = () => f(n.close),
O = () => {
const e = Array.from(
b().querySelectorAll(
'[tabindex]:not([tabindex="-1"]):not([tabindex="0"])'
)
).sort((e, t) => {
const n = parseInt(e.getAttribute("tabindex")),
o = parseInt(t.getAttribute("tabindex"));
return n > o ? 1 : n < o ? -1 : 0;
}),
t = Array.from(
b().querySelectorAll(
'\n a[href],\n area[href],\n input:not([disabled]),\n select:not([disabled]),\n textarea:not([disabled]),\n button:not([disabled]),\n iframe,\n object,\n embed,\n [tabindex="0"],\n [contenteditable],\n audio[controls],\n video[controls],\n summary\n'
)
).filter((e) => "-1" !== e.getAttribute("tabindex"));
return ((e) => {
const t = [];
for (let n = 0; n < e.length; n++)
-1 === t.indexOf(e[n]) && t.push(e[n]);
return t;
})(e.concat(t)).filter((e) => J(e));
},
j = () =>
D(document.body, n.shown) &&
!D(document.body, n["toast-shown"]) &&
!D(document.body, n["no-backdrop"]),
M = () => b() && D(b(), n.toast),
H = { previousBodyPadding: null },
I = (e, t) => {
if (((e.textContent = ""), t)) {
const n = new DOMParser().parseFromString(t, "text/html");
Array.from(n.querySelector("head").childNodes).forEach((t) => {
e.appendChild(t);
}),
Array.from(n.querySelector("body").childNodes).forEach((t) => {
t instanceof HTMLVideoElement || t instanceof HTMLAudioElement
? e.appendChild(t.cloneNode(!0))
: e.appendChild(t);
});
}
},
D = (e, t) => {
if (!t) return !1;
const n = t.split(/\s+/);
for (let t = 0; t < n.length; t++)
if (!e.classList.contains(n[t])) return !1;
return !0;
},
q = (e, t, i) => {
if (
(((e, t) => {
Array.from(e.classList).forEach((i) => {
Object.values(n).includes(i) ||
Object.values(o).includes(i) ||
Object.values(t.showClass).includes(i) ||
e.classList.remove(i);
});
})(e, t),
t.customClass && t.customClass[i])
) {
if ("string" != typeof t.customClass[i] && !t.customClass[i].forEach)
return void r(
`Invalid type of customClass.${i}! Expected string or iterable object, got "${typeof t
.customClass[i]}"`
);
R(e, t.customClass[i]);
}
},
V = (e, t) => {
if (!t) return null;
switch (t) {
case "select":
case "textarea":
case "file":
return e.querySelector(`.${n.popup} > .${n[t]}`);
case "checkbox":
return e.querySelector(`.${n.popup} > .${n.checkbox} input`);
case "radio":
return (
e.querySelector(`.${n.popup} > .${n.radio} input:checked`) ||
e.querySelector(`.${n.popup} > .${n.radio} input:first-child`)
);
case "range":
return e.querySelector(`.${n.popup} > .${n.range} input`);
default:
return e.querySelector(`.${n.popup} > .${n.input}`);
}
},
N = (e) => {
if ((e.focus(), "file" !== e.type)) {
const t = e.value;
(e.value = ""), (e.value = t);
}
},
F = (e, t, n) => {
e &&
t &&
("string" == typeof t && (t = t.split(/\s+/).filter(Boolean)),
t.forEach((t) => {
Array.isArray(e)
? e.forEach((e) => {
n ? e.classList.add(t) : e.classList.remove(t);
})
: n
? e.classList.add(t)
: e.classList.remove(t);
}));
},
R = (e, t) => {
F(e, t, !0);
},
U = (e, t) => {
F(e, t, !1);
},
_ = (e, t) => {
const n = Array.from(e.children);
for (let e = 0; e < n.length; e++) {
const o = n[e];
if (o instanceof HTMLElement && D(o, t)) return o;
}
},
W = (e, t, n) => {
n === `${parseInt(n)}` && (n = parseInt(n)),
n || 0 === parseInt(n)
? (e.style[t] = "number" == typeof n ? `${n}px` : n)
: e.style.removeProperty(t);
},
z = function (e) {
let t =
arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "flex";
e.style.display = t;
},
K = (e) => {
e.style.display = "none";
},
Y = (e, t, n, o) => {
const i = e.querySelector(t);
i && (i.style[n] = o);
},
Z = function (e, t) {
t
? z(
e,
arguments.length > 2 && void 0 !== arguments[2]
? arguments[2]
: "flex"
)
: K(e);
},
J = (e) =>
!(!e || !(e.offsetWidth || e.offsetHeight || e.getClientRects().length)),
X = (e) => !!(e.scrollHeight > e.clientHeight),
G = (e) => {
const t = window.getComputedStyle(e),
n = parseFloat(t.getPropertyValue("animation-duration") || "0"),
o = parseFloat(t.getPropertyValue("transition-duration") || "0");
return n > 0 || o > 0;
},
Q = function (e) {
let t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
const n = S();
J(n) &&
(t && ((n.style.transition = "none"), (n.style.width = "100%")),
setTimeout(() => {
(n.style.transition = `width ${e / 1e3}s linear`),
(n.style.width = "0%");
}, 10));
},
ee = {},
te = (e) =>
new Promise((t) => {
if (!e) return t();
const n = window.scrollX,
o = window.scrollY;
(ee.restoreFocusTimeout = setTimeout(() => {
ee.previousActiveElement instanceof HTMLElement
? (ee.previousActiveElement.focus(),
(ee.previousActiveElement = null))
: document.body && document.body.focus(),
t();
}, 100)),
window.scrollTo(n, o);
}),
ne = () => "undefined" == typeof window || "undefined" == typeof document,
oe =
`\n
\n`.replace(
/(^|\n)\s*/g,
""
),
ie = () => {
ee.currentInstance.resetValidationMessage();
},
se = (e) => {
const t = (() => {
const e = g();
return (
!!e &&
(e.remove(),
U(
[document.documentElement, document.body],
[n["no-backdrop"], n["toast-shown"], n["has-column"]]
),
!0)
);
})();
if (ne()) return void a("SweetAlert2 requires document to initialize");
const o = document.createElement("div");
(o.className = n.container), t && R(o, n["no-transition"]), I(o, oe);
const i =
"string" == typeof (s = e.target) ? document.querySelector(s) : s;
var s;
i.appendChild(o),
((e) => {
const t = b();
t.setAttribute("role", e.toast ? "alert" : "dialog"),
t.setAttribute("aria-live", e.toast ? "polite" : "assertive"),
e.toast || t.setAttribute("aria-modal", "true");
})(e),
((e) => {
"rtl" === window.getComputedStyle(e).direction && R(g(), n.rtl);
})(i),
(() => {
const e = b(),
t = _(e, n.input),
o = _(e, n.file),
i = e.querySelector(`.${n.range} input`),
s = e.querySelector(`.${n.range} output`),
r = _(e, n.select),
a = e.querySelector(`.${n.checkbox} input`),
l = _(e, n.textarea);
(t.oninput = ie),
(o.onchange = ie),
(r.onchange = ie),
(a.onchange = ie),
(l.oninput = ie),
(i.oninput = () => {
ie(), (s.value = i.value);
}),
(i.onchange = () => {
ie(), (s.value = i.value);
});
})();
},
re = (e, t) => {
e instanceof HTMLElement
? t.appendChild(e)
: "object" == typeof e
? ae(e, t)
: e && I(t, e);
},
ae = (e, t) => {
e.jquery ? le(t, e) : I(t, e.toString());
},
le = (e, t) => {
if (((e.textContent = ""), 0 in t))
for (let n = 0; n in t; n++) e.appendChild(t[n].cloneNode(!0));
else e.appendChild(t.cloneNode(!0));
},
ce = (() => {
if (ne()) return !1;
const e = document.createElement("div"),
t = {
WebkitAnimation: "webkitAnimationEnd",
animation: "animationend",
};
for (const n in t)
if (Object.prototype.hasOwnProperty.call(t, n) && void 0 !== e.style[n])
return t[n];
return !1;
})(),
ue = (e, t) => {
const o = $(),
i = E();
t.showConfirmButton || t.showDenyButton || t.showCancelButton
? z(o)
: K(o),
q(o, t, "actions"),
(function (e, t, o) {
const i = B(),
s = x(),
r = P();
de(i, "confirm", o),
de(s, "deny", o),
de(r, "cancel", o),
(function (e, t, o, i) {
if (!i.buttonsStyling) return void U([e, t, o], n.styled);
R([e, t, o], n.styled),
i.confirmButtonColor &&
((e.style.backgroundColor = i.confirmButtonColor),
R(e, n["default-outline"]));
i.denyButtonColor &&
((t.style.backgroundColor = i.denyButtonColor),
R(t, n["default-outline"]));
i.cancelButtonColor &&
((o.style.backgroundColor = i.cancelButtonColor),
R(o, n["default-outline"]));
})(i, s, r, o),
o.reverseButtons &&
(o.toast
? (e.insertBefore(r, i), e.insertBefore(s, i))
: (e.insertBefore(r, t),
e.insertBefore(s, t),
e.insertBefore(i, t)));
})(o, i, t),
I(i, t.loaderHtml),
q(i, t, "loader");
};
function de(e, t, o) {
Z(e, o[`show${s(t)}Button`], "inline-block"),
I(e, o[`${t}ButtonText`]),
e.setAttribute("aria-label", o[`${t}ButtonAriaLabel`]),
(e.className = n[t]),
q(e, o, `${t}Button`),
R(e, o[`${t}ButtonClass`]);
}
const pe = (e, t) => {
const o = g();
o &&
(!(function (e, t) {
"string" == typeof t
? (e.style.background = t)
: t || R([document.documentElement, document.body], n["no-backdrop"]);
})(o, t.backdrop),
(function (e, t) {
t in n
? R(e, n[t])
: (r('The "position" parameter is not valid, defaulting to "center"'),
R(e, n.center));
})(o, t.position),
(function (e, t) {
if (t && "string" == typeof t) {
const o = `grow-${t}`;
o in n && R(e, n[o]);
}
})(o, t.grow),
q(o, t, "container"));
};
const me = [
"input",
"file",
"range",
"select",
"radio",
"checkbox",
"textarea",
],
ge = (e) => {
if (!Ce[e.input])
return void a(
`Unexpected type of input! Expected "text", "email", "password", "number", "tel", "select", "radio", "checkbox", "textarea", "file" or "url", got "${e.input}"`
);
const t = we(e.input),
n = Ce[e.input](t, e);
z(t),
e.inputAutoFocus &&
setTimeout(() => {
N(n);
});
},
he = (e, t) => {
const n = V(b(), e);
if (n) {
((e) => {
for (let t = 0; t < e.attributes.length; t++) {
const n = e.attributes[t].name;
["type", "value", "style"].includes(n) || e.removeAttribute(n);
}
})(n);
for (const e in t) n.setAttribute(e, t[e]);
}
},
fe = (e) => {
const t = we(e.input);
"object" == typeof e.customClass && R(t, e.customClass.input);
},
be = (e, t) => {
(e.placeholder && !t.inputPlaceholder) ||
(e.placeholder = t.inputPlaceholder);
},
ye = (e, t, o) => {
if (o.inputLabel) {
e.id = n.input;
const i = document.createElement("label"),
s = n["input-label"];
i.setAttribute("for", e.id),
(i.className = s),
"object" == typeof o.customClass && R(i, o.customClass.inputLabel),
(i.innerText = o.inputLabel),
t.insertAdjacentElement("beforebegin", i);
}
},
we = (e) => _(b(), n[e] || n.input),
ve = (e, t) => {
["string", "number"].includes(typeof t)
? (e.value = `${t}`)
: m(t) ||
r(
`Unexpected type of inputValue! Expected "string", "number" or "Promise", got "${typeof t}"`
);
},
Ce = {};
(Ce.text =
Ce.email =
Ce.password =
Ce.number =
Ce.tel =
Ce.url =
(e, t) => (
ve(e, t.inputValue), ye(e, e, t), be(e, t), (e.type = t.input), e
)),
(Ce.file = (e, t) => (ye(e, e, t), be(e, t), e)),
(Ce.range = (e, t) => {
const n = e.querySelector("input"),
o = e.querySelector("output");
return (
ve(n, t.inputValue),
(n.type = t.input),
ve(o, t.inputValue),
ye(n, e, t),
e
);
}),
(Ce.select = (e, t) => {
if (((e.textContent = ""), t.inputPlaceholder)) {
const n = document.createElement("option");
I(n, t.inputPlaceholder),
(n.value = ""),
(n.disabled = !0),
(n.selected = !0),
e.appendChild(n);
}
return ye(e, e, t), e;
}),
(Ce.radio = (e) => ((e.textContent = ""), e)),
(Ce.checkbox = (e, t) => {
const o = V(b(), "checkbox");
(o.value = "1"), (o.id = n.checkbox), (o.checked = Boolean(t.inputValue));
const i = e.querySelector("span");
return I(i, t.inputPlaceholder), o;
}),
(Ce.textarea = (e, t) => {
ve(e, t.inputValue), be(e, t), ye(e, e, t);
return (
setTimeout(() => {
if ("MutationObserver" in window) {
const t = parseInt(window.getComputedStyle(b()).width);
new MutationObserver(() => {
const n =
e.offsetWidth +
((o = e),
parseInt(window.getComputedStyle(o).marginLeft) +
parseInt(window.getComputedStyle(o).marginRight));
var o;
b().style.width = n > t ? `${n}px` : null;
}).observe(e, { attributes: !0, attributeFilter: ["style"] });
}
}),
e
);
});
const Ae = (t, o) => {
const i = v();
q(i, o, "htmlContainer"),
o.html
? (re(o.html, i), z(i, "block"))
: o.text
? ((i.textContent = o.text), z(i, "block"))
: K(i),
((t, o) => {
const i = b(),
s = e.innerParams.get(t),
r = !s || o.input !== s.input;
me.forEach((e) => {
const t = _(i, n[e]);
he(e, o.inputAttributes), (t.className = n[e]), r && K(t);
}),
o.input && (r && ge(o), fe(o));
})(t, o);
},
ke = (e, t) => {
for (const n in o) t.icon !== n && U(e, o[n]);
R(e, o[t.icon]), xe(e, t), Be(), q(e, t, "icon");
},
Be = () => {
const e = b(),
t = window.getComputedStyle(e).getPropertyValue("background-color"),
n = e.querySelectorAll(
"[class^=swal2-success-circular-line], .swal2-success-fix"
);
for (let e = 0; e < n.length; e++) n[e].style.backgroundColor = t;
},
Pe = (e, t) => {
let n,
o = e.innerHTML;
if (t.iconHtml) n = Ee(t.iconHtml);
else if ("success" === t.icon)
(n =
'\n \n \n \n \n'),
(o = o.replace(/ style=".*?"/g, ""));
else if ("error" === t.icon)
n =
'\n \n \n \n \n';
else {
n = Ee({ question: "?", warning: "!", info: "i" }[t.icon]);
}
o.trim() !== n.trim() && I(e, n);
},
xe = (e, t) => {
if (t.iconColor) {
(e.style.color = t.iconColor), (e.style.borderColor = t.iconColor);
for (const n of [
".swal2-success-line-tip",
".swal2-success-line-long",
".swal2-x-mark-line-left",
".swal2-x-mark-line-right",
])
Y(e, n, "backgroundColor", t.iconColor);
Y(e, ".swal2-success-ring", "borderColor", t.iconColor);
}
},
Ee = (e) => `${e}
`,
$e = (e, t) => {
(e.className = `${n.popup} ${J(e) ? t.showClass.popup : ""}`),
t.toast
? (R([document.documentElement, document.body], n["toast-shown"]),
R(e, n.toast))
: R(e, n.modal),
q(e, t, "popup"),
"string" == typeof t.customClass && R(e, t.customClass),
t.icon && R(e, n[`icon-${t.icon}`]);
},
Te = (e) => {
const t = document.createElement("li");
return R(t, n["progress-step"]), I(t, e), t;
},
Se = (e) => {
const t = document.createElement("li");
return (
R(t, n["progress-step-line"]),
e.progressStepsDistance && W(t, "width", e.progressStepsDistance),
t
);
},
Le = (t, i) => {
((e, t) => {
const n = g(),
o = b();
t.toast
? (W(n, "width", t.width),
(o.style.width = "100%"),
o.insertBefore(E(), y()))
: W(o, "width", t.width),
W(o, "padding", t.padding),
t.color && (o.style.color = t.color),
t.background && (o.style.background = t.background),
K(k()),
$e(o, t);
})(0, i),
pe(0, i),
((e, t) => {
const o = A();
t.progressSteps && 0 !== t.progressSteps.length
? (z(o),
(o.textContent = ""),
t.currentProgressStep >= t.progressSteps.length &&
r(
"Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"
),
t.progressSteps.forEach((e, i) => {
const s = Te(e);
if (
(o.appendChild(s),
i === t.currentProgressStep &&
R(s, n["active-progress-step"]),
i !== t.progressSteps.length - 1)
) {
const e = Se(t);
o.appendChild(e);
}
}))
: K(o);
})(0, i),
((t, n) => {
const i = e.innerParams.get(t),
s = y();
if (i && n.icon === i.icon) return Pe(s, n), void ke(s, n);
if (n.icon || n.iconHtml) {
if (n.icon && -1 === Object.keys(o).indexOf(n.icon))
return (
a(
`Unknown icon! Expected "success", "error", "warning", "info" or "question", got "${n.icon}"`
),
void K(s)
);
z(s), Pe(s, n), ke(s, n), R(s, n.showClass.icon);
} else K(s);
})(t, i),
((e, t) => {
const o = C();
t.imageUrl
? (z(o, ""),
o.setAttribute("src", t.imageUrl),
o.setAttribute("alt", t.imageAlt),
W(o, "width", t.imageWidth),
W(o, "height", t.imageHeight),
(o.className = n.image),
q(o, t, "image"))
: K(o);
})(0, i),
((e, t) => {
const n = w();
Z(n, t.title || t.titleText, "block"),
t.title && re(t.title, n),
t.titleText && (n.innerText = t.titleText),
q(n, t, "title");
})(0, i),
((e, t) => {
const n = L();
I(n, t.closeButtonHtml),
q(n, t, "closeButton"),
Z(n, t.showCloseButton),
n.setAttribute("aria-label", t.closeButtonAriaLabel);
})(0, i),
Ae(t, i),
ue(0, i),
((e, t) => {
const n = T();
Z(n, t.footer), t.footer && re(t.footer, n), q(n, t, "footer");
})(0, i),
"function" == typeof i.didRender && i.didRender(b());
};
function Oe() {
const t = e.innerParams.get(this);
if (!t) return;
const o = e.domCache.get(this);
K(o.loader),
M() ? t.icon && z(y()) : je(o),
U([o.popup, o.actions], n.loading),
o.popup.removeAttribute("aria-busy"),
o.popup.removeAttribute("data-loading"),
(o.confirmButton.disabled = !1),
(o.denyButton.disabled = !1),
(o.cancelButton.disabled = !1);
}
const je = (e) => {
const t = e.popup.getElementsByClassName(
e.loader.getAttribute("data-button-to-replace")
);
t.length
? z(t[0], "inline-block")
: J(B()) || J(x()) || J(P()) || K(e.actions);
};
const Me = () => B() && B().click(),
He = Object.freeze({
cancel: "cancel",
backdrop: "backdrop",
close: "close",
esc: "esc",
timer: "timer",
}),
Ie = (e) => {
e.keydownTarget &&
e.keydownHandlerAdded &&
(e.keydownTarget.removeEventListener("keydown", e.keydownHandler, {
capture: e.keydownListenerCapture,
}),
(e.keydownHandlerAdded = !1));
},
De = (e, t) => {
const n = O();
if (n.length)
return (
(e += t) === n.length ? (e = 0) : -1 === e && (e = n.length - 1),
void n[e].focus()
);
b().focus();
},
qe = ["ArrowRight", "ArrowDown"],
Ve = ["ArrowLeft", "ArrowUp"],
Ne = (t, n, o) => {
const i = e.innerParams.get(t);
i &&
(n.isComposing ||
229 === n.keyCode ||
(i.stopKeydownPropagation && n.stopPropagation(),
"Enter" === n.key
? Fe(t, n, i)
: "Tab" === n.key
? Re(n)
: [...qe, ...Ve].includes(n.key)
? Ue(n.key)
: "Escape" === n.key && _e(n, i, o)));
},
Fe = (e, t, n) => {
if (
u(n.allowEnterKey) &&
t.target &&
e.getInput() &&
t.target instanceof HTMLElement &&
t.target.outerHTML === e.getInput().outerHTML
) {
if (["textarea", "file"].includes(n.input)) return;
Me(), t.preventDefault();
}
},
Re = (e) => {
const t = e.target,
n = O();
let o = -1;
for (let e = 0; e < n.length; e++)
if (t === n[e]) {
o = e;
break;
}
e.shiftKey ? De(o, -1) : De(o, 1),
e.stopPropagation(),
e.preventDefault();
},
Ue = (e) => {
const t = [B(), x(), P()];
if (
document.activeElement instanceof HTMLElement &&
!t.includes(document.activeElement)
)
return;
const n = qe.includes(e)
? "nextElementSibling"
: "previousElementSibling";
let o = document.activeElement;
for (let e = 0; e < $().children.length; e++) {
if (((o = o[n]), !o)) return;
if (o instanceof HTMLButtonElement && J(o)) break;
}
o instanceof HTMLButtonElement && o.focus();
},
_e = (e, t, n) => {
u(t.allowEscapeKey) && (e.preventDefault(), n(He.esc));
};
var We = {
swalPromiseResolve: new WeakMap(),
swalPromiseReject: new WeakMap(),
};
const ze = () => {
Array.from(document.body.children).forEach((e) => {
e.hasAttribute("data-previous-aria-hidden")
? (e.setAttribute(
"aria-hidden",
e.getAttribute("data-previous-aria-hidden")
),
e.removeAttribute("data-previous-aria-hidden"))
: e.removeAttribute("aria-hidden");
});
},
Ke = () => {
const e = navigator.userAgent,
t = !!e.match(/iPad/i) || !!e.match(/iPhone/i),
n = !!e.match(/WebKit/i);
if (t && n && !e.match(/CriOS/i)) {
const e = 44;
b().scrollHeight > window.innerHeight - e &&
(g().style.paddingBottom = `${e}px`);
}
},
Ye = () => {
const e = g();
let t;
(e.ontouchstart = (e) => {
t = Ze(e);
}),
(e.ontouchmove = (e) => {
t && (e.preventDefault(), e.stopPropagation());
});
},
Ze = (e) => {
const t = e.target,
n = g();
return (
!Je(e) &&
!Xe(e) &&
(t === n ||
(!X(n) &&
t instanceof HTMLElement &&
"INPUT" !== t.tagName &&
"TEXTAREA" !== t.tagName &&
(!X(v()) || !v().contains(t))))
);
},
Je = (e) =>
e.touches && e.touches.length && "stylus" === e.touches[0].touchType,
Xe = (e) => e.touches && e.touches.length > 1,
Ge = () => {
if (D(document.body, n.iosfix)) {
const e = parseInt(document.body.style.top, 10);
U(document.body, n.iosfix),
(document.body.style.top = ""),
(document.body.scrollTop = -1 * e);
}
},
Qe = () => {
null === H.previousBodyPadding &&
document.body.scrollHeight > window.innerHeight &&
((H.previousBodyPadding = parseInt(
window
.getComputedStyle(document.body)
.getPropertyValue("padding-right")
)),
(document.body.style.paddingRight = `${
H.previousBodyPadding +
(() => {
const e = document.createElement("div");
(e.className = n["scrollbar-measure"]),
document.body.appendChild(e);
const t = e.getBoundingClientRect().width - e.clientWidth;
return document.body.removeChild(e), t;
})()
}px`));
},
et = () => {
null !== H.previousBodyPadding &&
((document.body.style.paddingRight = `${H.previousBodyPadding}px`),
(H.previousBodyPadding = null));
};
function tt(e, t, o, i) {
M() ? lt(e, i) : (te(o).then(() => lt(e, i)), Ie(ee));
/^((?!chrome|android).)*safari/i.test(navigator.userAgent)
? (t.setAttribute("style", "display:none !important"),
t.removeAttribute("class"),
(t.innerHTML = ""))
: t.remove(),
j() && (et(), Ge(), ze()),
U(
[document.documentElement, document.body],
[n.shown, n["height-auto"], n["no-backdrop"], n["toast-shown"]]
);
}
function nt(e) {
e = st(e);
const t = We.swalPromiseResolve.get(this),
n = ot(this);
this.isAwaitingPromise() ? e.isDismissed || (it(this), t(e)) : n && t(e);
}
const ot = (t) => {
const n = b();
if (!n) return !1;
const o = e.innerParams.get(t);
if (!o || D(n, o.hideClass.popup)) return !1;
U(n, o.showClass.popup), R(n, o.hideClass.popup);
const i = g();
return (
U(i, o.showClass.backdrop), R(i, o.hideClass.backdrop), rt(t, n, o), !0
);
};
const it = (t) => {
t.isAwaitingPromise() &&
(e.awaitingPromise.delete(t), e.innerParams.get(t) || t._destroy());
},
st = (e) =>
void 0 === e
? { isConfirmed: !1, isDenied: !1, isDismissed: !0 }
: Object.assign({ isConfirmed: !1, isDenied: !1, isDismissed: !1 }, e),
rt = (e, t, n) => {
const o = g(),
i = ce && G(t);
"function" == typeof n.willClose && n.willClose(t),
i
? at(e, t, o, n.returnFocus, n.didClose)
: tt(e, o, n.returnFocus, n.didClose);
},
at = (e, t, n, o, i) => {
(ee.swalCloseEventFinishedCallback = tt.bind(null, e, n, o, i)),
t.addEventListener(ce, function (e) {
e.target === t &&
(ee.swalCloseEventFinishedCallback(),
delete ee.swalCloseEventFinishedCallback);
});
},
lt = (e, t) => {
setTimeout(() => {
"function" == typeof t && t.bind(e.params)(), e._destroy();
});
};
function ct(t, n, o) {
const i = e.domCache.get(t);
n.forEach((e) => {
i[e].disabled = o;
});
}
function ut(e, t) {
if (e)
if ("radio" === e.type) {
const n = e.parentNode.parentNode.querySelectorAll("input");
for (let e = 0; e < n.length; e++) n[e].disabled = t;
} else e.disabled = t;
}
const dt = {
title: "",
titleText: "",
text: "",
html: "",
footer: "",
icon: void 0,
iconColor: void 0,
iconHtml: void 0,
template: void 0,
toast: !1,
showClass: {
popup: "swal2-show",
backdrop: "swal2-backdrop-show",
icon: "swal2-icon-show",
},
hideClass: {
popup: "swal2-hide",
backdrop: "swal2-backdrop-hide",
icon: "swal2-icon-hide",
},
customClass: {},
target: "body",
color: void 0,
backdrop: !0,
heightAuto: !0,
allowOutsideClick: !0,
allowEscapeKey: !0,
allowEnterKey: !0,
stopKeydownPropagation: !0,
keydownListenerCapture: !1,
showConfirmButton: !0,
showDenyButton: !1,
showCancelButton: !1,
preConfirm: void 0,
preDeny: void 0,
confirmButtonText: "OK",
confirmButtonAriaLabel: "",
confirmButtonColor: void 0,
denyButtonText: "No",
denyButtonAriaLabel: "",
denyButtonColor: void 0,
cancelButtonText: "Cancel",
cancelButtonAriaLabel: "",
cancelButtonColor: void 0,
buttonsStyling: !0,
reverseButtons: !1,
focusConfirm: !0,
focusDeny: !1,
focusCancel: !1,
returnFocus: !0,
showCloseButton: !1,
closeButtonHtml: "×",
closeButtonAriaLabel: "Close this dialog",
loaderHtml: "",
showLoaderOnConfirm: !1,
showLoaderOnDeny: !1,
imageUrl: void 0,
imageWidth: void 0,
imageHeight: void 0,
imageAlt: "",
timer: void 0,
timerProgressBar: !1,
width: void 0,
padding: void 0,
background: void 0,
input: void 0,
inputPlaceholder: "",
inputLabel: "",
inputValue: "",
inputOptions: {},
inputAutoFocus: !0,
inputAutoTrim: !0,
inputAttributes: {},
inputValidator: void 0,
returnInputValueOnDeny: !1,
validationMessage: void 0,
grow: !1,
position: "center",
progressSteps: [],
currentProgressStep: void 0,
progressStepsDistance: void 0,
willOpen: void 0,
didOpen: void 0,
didRender: void 0,
willClose: void 0,
didClose: void 0,
didDestroy: void 0,
scrollbarPadding: !0,
},
pt = [
"allowEscapeKey",
"allowOutsideClick",
"background",
"buttonsStyling",
"cancelButtonAriaLabel",
"cancelButtonColor",
"cancelButtonText",
"closeButtonAriaLabel",
"closeButtonHtml",
"color",
"confirmButtonAriaLabel",
"confirmButtonColor",
"confirmButtonText",
"currentProgressStep",
"customClass",
"denyButtonAriaLabel",
"denyButtonColor",
"denyButtonText",
"didClose",
"didDestroy",
"footer",
"hideClass",
"html",
"icon",
"iconColor",
"iconHtml",
"imageAlt",
"imageHeight",
"imageUrl",
"imageWidth",
"preConfirm",
"preDeny",
"progressSteps",
"returnFocus",
"reverseButtons",
"showCancelButton",
"showCloseButton",
"showConfirmButton",
"showDenyButton",
"text",
"title",
"titleText",
"willClose",
],
mt = {},
gt = [
"allowOutsideClick",
"allowEnterKey",
"backdrop",
"focusConfirm",
"focusDeny",
"focusCancel",
"returnFocus",
"heightAuto",
"keydownListenerCapture",
],
ht = (e) => Object.prototype.hasOwnProperty.call(dt, e),
ft = (e) => -1 !== pt.indexOf(e),
bt = (e) => mt[e],
yt = (e) => {
ht(e) || r(`Unknown parameter "${e}"`);
},
wt = (e) => {
gt.includes(e) && r(`The parameter "${e}" is incompatible with toasts`);
},
vt = (e) => {
bt(e) && c(e, bt(e));
};
const Ct = (e) => {
const t = {};
return (
Object.keys(e).forEach((n) => {
ft(n) ? (t[n] = e[n]) : r(`Invalid parameter to update: ${n}`);
}),
t
);
};
const At = (e) => {
kt(e),
delete e.params,
delete ee.keydownHandler,
delete ee.keydownTarget,
delete ee.currentInstance;
},
kt = (t) => {
t.isAwaitingPromise()
? (Bt(e, t), e.awaitingPromise.set(t, !0))
: (Bt(We, t), Bt(e, t));
},
Bt = (e, t) => {
for (const n in e) e[n].delete(t);
};
var Pt = Object.freeze({
__proto__: null,
_destroy: function () {
const t = e.domCache.get(this),
n = e.innerParams.get(this);
n
? (t.popup &&
ee.swalCloseEventFinishedCallback &&
(ee.swalCloseEventFinishedCallback(),
delete ee.swalCloseEventFinishedCallback),
"function" == typeof n.didDestroy && n.didDestroy(),
At(this))
: kt(this);
},
close: nt,
closeModal: nt,
closePopup: nt,
closeToast: nt,
disableButtons: function () {
ct(this, ["confirmButton", "denyButton", "cancelButton"], !0);
},
disableInput: function () {
ut(this.getInput(), !0);
},
disableLoading: Oe,
enableButtons: function () {
ct(this, ["confirmButton", "denyButton", "cancelButton"], !1);
},
enableInput: function () {
ut(this.getInput(), !1);
},
getInput: function (t) {
const n = e.innerParams.get(t || this),
o = e.domCache.get(t || this);
return o ? V(o.popup, n.input) : null;
},
handleAwaitingPromise: it,
hideLoading: Oe,
isAwaitingPromise: function () {
return !!e.awaitingPromise.get(this);
},
rejectPromise: function (e) {
const t = We.swalPromiseReject.get(this);
it(this), t && t(e);
},
resetValidationMessage: function () {
const t = e.domCache.get(this);
t.validationMessage && K(t.validationMessage);
const o = this.getInput();
o &&
(o.removeAttribute("aria-invalid"),
o.removeAttribute("aria-describedby"),
U(o, n.inputerror));
},
showValidationMessage: function (t) {
const o = e.domCache.get(this),
i = e.innerParams.get(this);
I(o.validationMessage, t),
(o.validationMessage.className = n["validation-message"]),
i.customClass &&
i.customClass.validationMessage &&
R(o.validationMessage, i.customClass.validationMessage),
z(o.validationMessage);
const s = this.getInput();
s &&
(s.setAttribute("aria-invalid", !0),
s.setAttribute("aria-describedby", n["validation-message"]),
N(s),
R(s, n.inputerror));
},
update: function (t) {
const n = b(),
o = e.innerParams.get(this);
if (!n || D(n, o.hideClass.popup))
return void r(
"You're trying to update the closed or closing popup, that won't work. Use the update() method in preConfirm parameter or show a new popup."
);
const i = Ct(t),
s = Object.assign({}, o, i);
Le(this, s),
e.innerParams.set(this, s),
Object.defineProperties(this, {
params: {
value: Object.assign({}, this.params, t),
writable: !1,
enumerable: !0,
},
});
},
});
const xt = (e) => {
let t = b();
t || new Tn(), (t = b());
const n = E();
M() ? K(y()) : Et(t, e),
z(n),
t.setAttribute("data-loading", "true"),
t.setAttribute("aria-busy", "true"),
t.focus();
},
Et = (e, t) => {
const o = $(),
i = E();
!t && J(B()) && (t = B()),
z(o),
t && (K(t), i.setAttribute("data-button-to-replace", t.className)),
i.parentNode.insertBefore(i, t),
R([e, o], n.loading);
},
$t = (e) => (e.checked ? 1 : 0),
Tt = (e) => (e.checked ? e.value : null),
St = (e) =>
e.files.length
? null !== e.getAttribute("multiple")
? e.files
: e.files[0]
: null,
Lt = (e, t) => {
const n = b(),
o = (e) => {
jt[t.input](n, Mt(e), t);
};
d(t.inputOptions) || m(t.inputOptions)
? (xt(B()),
p(t.inputOptions).then((t) => {
e.hideLoading(), o(t);
}))
: "object" == typeof t.inputOptions
? o(t.inputOptions)
: a(
"Unexpected type of inputOptions! Expected object, Map or Promise, got " +
typeof t.inputOptions
);
},
Ot = (e, t) => {
const n = e.getInput();
K(n),
p(t.inputValue)
.then((o) => {
(n.value = "number" === t.input ? `${parseFloat(o) || 0}` : `${o}`),
z(n),
n.focus(),
e.hideLoading();
})
.catch((t) => {
a(`Error in inputValue promise: ${t}`),
(n.value = ""),
z(n),
n.focus(),
e.hideLoading();
});
},
jt = {
select: (e, t, o) => {
const i = _(e, n.select),
s = (e, t, n) => {
const i = document.createElement("option");
(i.value = n),
I(i, t),
(i.selected = Ht(n, o.inputValue)),
e.appendChild(i);
};
t.forEach((e) => {
const t = e[0],
n = e[1];
if (Array.isArray(n)) {
const e = document.createElement("optgroup");
(e.label = t),
(e.disabled = !1),
i.appendChild(e),
n.forEach((t) => s(e, t[1], t[0]));
} else s(i, n, t);
}),
i.focus();
},
radio: (e, t, o) => {
const i = _(e, n.radio);
t.forEach((e) => {
const t = e[0],
s = e[1],
r = document.createElement("input"),
a = document.createElement("label");
(r.type = "radio"),
(r.name = n.radio),
(r.value = t),
Ht(t, o.inputValue) && (r.checked = !0);
const l = document.createElement("span");
I(l, s),
(l.className = n.label),
a.appendChild(r),
a.appendChild(l),
i.appendChild(a);
});
const s = i.querySelectorAll("input");
s.length && s[0].focus();
},
},
Mt = (e) => {
const t = [];
return (
"undefined" != typeof Map && e instanceof Map
? e.forEach((e, n) => {
let o = e;
"object" == typeof o && (o = Mt(o)), t.push([n, o]);
})
: Object.keys(e).forEach((n) => {
let o = e[n];
"object" == typeof o && (o = Mt(o)), t.push([n, o]);
}),
t
);
},
Ht = (e, t) => t && t.toString() === e.toString(),
It = (t, n) => {
const o = e.innerParams.get(t);
if (!o.input)
return void a(
`The "input" parameter is needed to be set when using returnInputValueOn${s(
n
)}`
);
const i = ((e, t) => {
const n = e.getInput();
if (!n) return null;
switch (t.input) {
case "checkbox":
return $t(n);
case "radio":
return Tt(n);
case "file":
return St(n);
default:
return t.inputAutoTrim ? n.value.trim() : n.value;
}
})(t, o);
o.inputValidator
? Dt(t, i, n)
: t.getInput().checkValidity()
? "deny" === n
? qt(t, i)
: Ft(t, i)
: (t.enableButtons(), t.showValidationMessage(o.validationMessage));
},
Dt = (t, n, o) => {
const i = e.innerParams.get(t);
t.disableInput();
Promise.resolve()
.then(() => p(i.inputValidator(n, i.validationMessage)))
.then((e) => {
t.enableButtons(),
t.enableInput(),
e ? t.showValidationMessage(e) : "deny" === o ? qt(t, n) : Ft(t, n);
});
},
qt = (t, n) => {
const o = e.innerParams.get(t || void 0);
if ((o.showLoaderOnDeny && xt(x()), o.preDeny)) {
e.awaitingPromise.set(t || void 0, !0);
Promise.resolve()
.then(() => p(o.preDeny(n, o.validationMessage)))
.then((e) => {
!1 === e
? (t.hideLoading(), it(t))
: t.close({ isDenied: !0, value: void 0 === e ? n : e });
})
.catch((e) => Nt(t || void 0, e));
} else t.close({ isDenied: !0, value: n });
},
Vt = (e, t) => {
e.close({ isConfirmed: !0, value: t });
},
Nt = (e, t) => {
e.rejectPromise(t);
},
Ft = (t, n) => {
const o = e.innerParams.get(t || void 0);
if ((o.showLoaderOnConfirm && xt(), o.preConfirm)) {
t.resetValidationMessage(), e.awaitingPromise.set(t || void 0, !0);
Promise.resolve()
.then(() => p(o.preConfirm(n, o.validationMessage)))
.then((e) => {
J(k()) || !1 === e
? (t.hideLoading(), it(t))
: Vt(t, void 0 === e ? n : e);
})
.catch((e) => Nt(t || void 0, e));
} else Vt(t, n);
},
Rt = (t, n, o) => {
n.popup.onclick = () => {
const n = e.innerParams.get(t);
(n && (Ut(n) || n.timer || n.input)) || o(He.close);
};
},
Ut = (e) =>
e.showConfirmButton ||
e.showDenyButton ||
e.showCancelButton ||
e.showCloseButton;
let _t = !1;
const Wt = (e) => {
e.popup.onmousedown = () => {
e.container.onmouseup = function (t) {
(e.container.onmouseup = void 0),
t.target === e.container && (_t = !0);
};
};
},
zt = (e) => {
e.container.onmousedown = () => {
e.popup.onmouseup = function (t) {
(e.popup.onmouseup = void 0),
(t.target === e.popup || e.popup.contains(t.target)) && (_t = !0);
};
};
},
Kt = (t, n, o) => {
n.container.onclick = (i) => {
const s = e.innerParams.get(t);
_t
? (_t = !1)
: i.target === n.container &&
u(s.allowOutsideClick) &&
o(He.backdrop);
};
},
Yt = (e) =>
e instanceof Element || ((e) => "object" == typeof e && e.jquery)(e);
const Zt = () => {
if (ee.timeout)
return (
(() => {
const e = S(),
t = parseInt(window.getComputedStyle(e).width);
e.style.removeProperty("transition"), (e.style.width = "100%");
const n = (t / parseInt(window.getComputedStyle(e).width)) * 100;
e.style.width = `${n}%`;
})(),
ee.timeout.stop()
);
},
Jt = () => {
if (ee.timeout) {
const e = ee.timeout.start();
return Q(e), e;
}
};
let Xt = !1;
const Gt = {};
const Qt = (e) => {
for (let t = e.target; t && t !== document; t = t.parentNode)
for (const e in Gt) {
const n = t.getAttribute(e);
if (n) return void Gt[e].fire({ template: n });
}
};
var en = Object.freeze({
__proto__: null,
argsToParams: (e) => {
const t = {};
return (
"object" != typeof e[0] || Yt(e[0])
? ["title", "html", "icon"].forEach((n, o) => {
const i = e[o];
"string" == typeof i || Yt(i)
? (t[n] = i)
: void 0 !== i &&
a(
`Unexpected type of ${n}! Expected "string" or "Element", got ${typeof i}`
);
})
: Object.assign(t, e[0]),
t
);
},
bindClickHandler: function () {
(Gt[
arguments.length > 0 && void 0 !== arguments[0]
? arguments[0]
: "data-swal-template"
] = this),
Xt || (document.body.addEventListener("click", Qt), (Xt = !0));
},
clickCancel: () => P() && P().click(),
clickConfirm: Me,
clickDeny: () => x() && x().click(),
enableLoading: xt,
fire: function () {
for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)
t[n] = arguments[n];
return new this(...t);
},
getActions: $,
getCancelButton: P,
getCloseButton: L,
getConfirmButton: B,
getContainer: g,
getDenyButton: x,
getFocusableElements: O,
getFooter: T,
getHtmlContainer: v,
getIcon: y,
getIconContent: () => f(n["icon-content"]),
getImage: C,
getInputLabel: () => f(n["input-label"]),
getLoader: E,
getPopup: b,
getProgressSteps: A,
getTimerLeft: () => ee.timeout && ee.timeout.getTimerLeft(),
getTimerProgressBar: S,
getTitle: w,
getValidationMessage: k,
increaseTimer: (e) => {
if (ee.timeout) {
const t = ee.timeout.increase(e);
return Q(t, !0), t;
}
},
isDeprecatedParameter: bt,
isLoading: () => b().hasAttribute("data-loading"),
isTimerRunning: () => ee.timeout && ee.timeout.isRunning(),
isUpdatableParameter: ft,
isValidParameter: ht,
isVisible: () => J(b()),
mixin: function (e) {
return class extends this {
_main(t, n) {
return super._main(t, Object.assign({}, e, n));
}
};
},
resumeTimer: Jt,
showLoading: xt,
stopTimer: Zt,
toggleTimer: () => {
const e = ee.timeout;
return e && (e.running ? Zt() : Jt());
},
});
class tn {
constructor(e, t) {
(this.callback = e),
(this.remaining = t),
(this.running = !1),
this.start();
}
start() {
return (
this.running ||
((this.running = !0),
(this.started = new Date()),
(this.id = setTimeout(this.callback, this.remaining))),
this.remaining
);
}
stop() {
return (
this.running &&
((this.running = !1),
clearTimeout(this.id),
(this.remaining -= new Date().getTime() - this.started.getTime())),
this.remaining
);
}
increase(e) {
const t = this.running;
return (
t && this.stop(),
(this.remaining += e),
t && this.start(),
this.remaining
);
}
getTimerLeft() {
return this.running && (this.stop(), this.start()), this.remaining;
}
isRunning() {
return this.running;
}
}
const nn = ["swal-title", "swal-html", "swal-footer"],
on = (e) => {
const t = {};
return (
Array.from(e.querySelectorAll("swal-param")).forEach((e) => {
pn(e, ["name", "value"]);
const n = e.getAttribute("name"),
o = e.getAttribute("value");
t[n] =
"boolean" == typeof dt[n]
? "false" !== o
: "object" == typeof dt[n]
? JSON.parse(o)
: o;
}),
t
);
},
sn = (e) => {
const t = {};
return (
Array.from(e.querySelectorAll("swal-function-param")).forEach((e) => {
const n = e.getAttribute("name"),
o = e.getAttribute("value");
t[n] = new Function(`return ${o}`)();
}),
t
);
},
rn = (e) => {
const t = {};
return (
Array.from(e.querySelectorAll("swal-button")).forEach((e) => {
pn(e, ["type", "color", "aria-label"]);
const n = e.getAttribute("type");
(t[`${n}ButtonText`] = e.innerHTML),
(t[`show${s(n)}Button`] = !0),
e.hasAttribute("color") &&
(t[`${n}ButtonColor`] = e.getAttribute("color")),
e.hasAttribute("aria-label") &&
(t[`${n}ButtonAriaLabel`] = e.getAttribute("aria-label"));
}),
t
);
},
an = (e) => {
const t = {},
n = e.querySelector("swal-image");
return (
n &&
(pn(n, ["src", "width", "height", "alt"]),
n.hasAttribute("src") && (t.imageUrl = n.getAttribute("src")),
n.hasAttribute("width") && (t.imageWidth = n.getAttribute("width")),
n.hasAttribute("height") &&
(t.imageHeight = n.getAttribute("height")),
n.hasAttribute("alt") && (t.imageAlt = n.getAttribute("alt"))),
t
);
},
ln = (e) => {
const t = {},
n = e.querySelector("swal-icon");
return (
n &&
(pn(n, ["type", "color"]),
n.hasAttribute("type") && (t.icon = n.getAttribute("type")),
n.hasAttribute("color") && (t.iconColor = n.getAttribute("color")),
(t.iconHtml = n.innerHTML)),
t
);
},
cn = (e) => {
const t = {},
n = e.querySelector("swal-input");
n &&
(pn(n, ["type", "label", "placeholder", "value"]),
(t.input = n.getAttribute("type") || "text"),
n.hasAttribute("label") && (t.inputLabel = n.getAttribute("label")),
n.hasAttribute("placeholder") &&
(t.inputPlaceholder = n.getAttribute("placeholder")),
n.hasAttribute("value") && (t.inputValue = n.getAttribute("value")));
const o = Array.from(e.querySelectorAll("swal-input-option"));
return (
o.length &&
((t.inputOptions = {}),
o.forEach((e) => {
pn(e, ["value"]);
const n = e.getAttribute("value"),
o = e.innerHTML;
t.inputOptions[n] = o;
})),
t
);
},
un = (e, t) => {
const n = {};
for (const o in t) {
const i = t[o],
s = e.querySelector(i);
s && (pn(s, []), (n[i.replace(/^swal-/, "")] = s.innerHTML.trim()));
}
return n;
},
dn = (e) => {
const t = nn.concat([
"swal-param",
"swal-function-param",
"swal-button",
"swal-image",
"swal-icon",
"swal-input",
"swal-input-option",
]);
Array.from(e.children).forEach((e) => {
const n = e.tagName.toLowerCase();
t.includes(n) || r(`Unrecognized element <${n}>`);
});
},
pn = (e, t) => {
Array.from(e.attributes).forEach((n) => {
-1 === t.indexOf(n.name) &&
r([
`Unrecognized attribute "${
n.name
}" on <${e.tagName.toLowerCase()}>.`,
"" +
(t.length
? `Allowed attributes are: ${t.join(", ")}`
: "To set the value, use HTML within the element."),
]);
});
},
mn = (e) => {
const t = g(),
o = b();
"function" == typeof e.willOpen && e.willOpen(o);
const i = window.getComputedStyle(document.body).overflowY;
bn(t, o, e),
setTimeout(() => {
hn(t, o);
}, 10),
j() &&
(fn(t, e.scrollbarPadding, i),
Array.from(document.body.children).forEach((e) => {
e === g() ||
e.contains(g()) ||
(e.hasAttribute("aria-hidden") &&
e.setAttribute(
"data-previous-aria-hidden",
e.getAttribute("aria-hidden")
),
e.setAttribute("aria-hidden", "true"));
})),
M() ||
ee.previousActiveElement ||
(ee.previousActiveElement = document.activeElement),
"function" == typeof e.didOpen && setTimeout(() => e.didOpen(o)),
U(t, n["no-transition"]);
},
gn = (e) => {
const t = b();
if (e.target !== t) return;
const n = g();
t.removeEventListener(ce, gn), (n.style.overflowY = "auto");
},
hn = (e, t) => {
ce && G(t)
? ((e.style.overflowY = "hidden"), t.addEventListener(ce, gn))
: (e.style.overflowY = "auto");
},
fn = (e, t, o) => {
(() => {
if (
((/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream) ||
("MacIntel" === navigator.platform &&
navigator.maxTouchPoints > 1)) &&
!D(document.body, n.iosfix)
) {
const e = document.body.scrollTop;
(document.body.style.top = -1 * e + "px"),
R(document.body, n.iosfix),
Ye(),
Ke();
}
})(),
t && "hidden" !== o && Qe(),
setTimeout(() => {
e.scrollTop = 0;
});
},
bn = (e, t, o) => {
R(e, o.showClass.backdrop),
t.style.setProperty("opacity", "0", "important"),
z(t, "grid"),
setTimeout(() => {
R(t, o.showClass.popup), t.style.removeProperty("opacity");
}, 10),
R([document.documentElement, document.body], n.shown),
o.heightAuto &&
o.backdrop &&
!o.toast &&
R([document.documentElement, document.body], n["height-auto"]);
};
var yn = {
email: (e, t) =>
/^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]{2,24}$/.test(e)
? Promise.resolve()
: Promise.resolve(t || "Invalid email address"),
url: (e, t) =>
/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_+.~#?&/=]*)$/.test(
e
)
? Promise.resolve()
: Promise.resolve(t || "Invalid URL"),
};
function wn(e) {
!(function (e) {
e.inputValidator ||
Object.keys(yn).forEach((t) => {
e.input === t && (e.inputValidator = yn[t]);
});
})(e),
e.showLoaderOnConfirm &&
!e.preConfirm &&
r(
"showLoaderOnConfirm is set to true, but preConfirm is not defined.\nshowLoaderOnConfirm should be used together with preConfirm, see usage example:\nhttps://sweetalert2.github.io/#ajax-request"
),
(function (e) {
(!e.target ||
("string" == typeof e.target && !document.querySelector(e.target)) ||
("string" != typeof e.target && !e.target.appendChild)) &&
(r('Target parameter is not valid, defaulting to "body"'),
(e.target = "body"));
})(e),
"string" == typeof e.title &&
(e.title = e.title.split("\n").join("
")),
se(e);
}
let vn;
class Cn {
constructor() {
if ("undefined" == typeof window) return;
vn = this;
for (var t = arguments.length, n = new Array(t), o = 0; o < t; o++)
n[o] = arguments[o];
const i = Object.freeze(this.constructor.argsToParams(n));
Object.defineProperties(this, {
params: { value: i, writable: !1, enumerable: !0, configurable: !0 },
});
const s = vn._main(vn.params);
e.promise.set(this, s);
}
_main(t) {
let n =
arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
((e) => {
!1 === e.backdrop &&
e.allowOutsideClick &&
r(
'"allowOutsideClick" parameter requires `backdrop` parameter to be set to `true`'
);
for (const t in e) yt(t), e.toast && wt(t), vt(t);
})(Object.assign({}, n, t)),
ee.currentInstance && (ee.currentInstance._destroy(), j() && ze()),
(ee.currentInstance = vn);
const o = kn(t, n);
wn(o),
Object.freeze(o),
ee.timeout && (ee.timeout.stop(), delete ee.timeout),
clearTimeout(ee.restoreFocusTimeout);
const i = Bn(vn);
return Le(vn, o), e.innerParams.set(vn, o), An(vn, i, o);
}
then(t) {
return e.promise.get(this).then(t);
}
finally(t) {
return e.promise.get(this).finally(t);
}
}
const An = (t, n, o) =>
new Promise((i, s) => {
const r = (e) => {
t.close({ isDismissed: !0, dismiss: e });
};
We.swalPromiseResolve.set(t, i),
We.swalPromiseReject.set(t, s),
(n.confirmButton.onclick = () => {
((t) => {
const n = e.innerParams.get(t);
t.disableButtons(), n.input ? It(t, "confirm") : Ft(t, !0);
})(t);
}),
(n.denyButton.onclick = () => {
((t) => {
const n = e.innerParams.get(t);
t.disableButtons(),
n.returnInputValueOnDeny ? It(t, "deny") : qt(t, !1);
})(t);
}),
(n.cancelButton.onclick = () => {
((e, t) => {
e.disableButtons(), t(He.cancel);
})(t, r);
}),
(n.closeButton.onclick = () => {
r(He.close);
}),
((t, n, o) => {
e.innerParams.get(t).toast
? Rt(t, n, o)
: (Wt(n), zt(n), Kt(t, n, o));
})(t, n, r),
((e, t, n, o) => {
Ie(t),
n.toast ||
((t.keydownHandler = (t) => Ne(e, t, o)),
(t.keydownTarget = n.keydownListenerCapture ? window : b()),
(t.keydownListenerCapture = n.keydownListenerCapture),
t.keydownTarget.addEventListener("keydown", t.keydownHandler, {
capture: t.keydownListenerCapture,
}),
(t.keydownHandlerAdded = !0));
})(t, ee, o, r),
((e, t) => {
"select" === t.input || "radio" === t.input
? Lt(e, t)
: ["text", "email", "number", "tel", "textarea"].includes(
t.input
) &&
(d(t.inputValue) || m(t.inputValue)) &&
(xt(B()), Ot(e, t));
})(t, o),
mn(o),
Pn(ee, o, r),
xn(n, o),
setTimeout(() => {
n.container.scrollTop = 0;
});
}),
kn = (e, t) => {
const n = ((e) => {
const t =
"string" == typeof e.template
? document.querySelector(e.template)
: e.template;
if (!t) return {};
const n = t.content;
return (
dn(n),
Object.assign(on(n), sn(n), rn(n), an(n), ln(n), cn(n), un(n, nn))
);
})(e),
o = Object.assign({}, dt, t, n, e);
return (
(o.showClass = Object.assign({}, dt.showClass, o.showClass)),
(o.hideClass = Object.assign({}, dt.hideClass, o.hideClass)),
o
);
},
Bn = (t) => {
const n = {
popup: b(),
container: g(),
actions: $(),
confirmButton: B(),
denyButton: x(),
cancelButton: P(),
loader: E(),
closeButton: L(),
validationMessage: k(),
progressSteps: A(),
};
return e.domCache.set(t, n), n;
},
Pn = (e, t, n) => {
const o = S();
K(o),
t.timer &&
((e.timeout = new tn(() => {
n("timer"), delete e.timeout;
}, t.timer)),
t.timerProgressBar &&
(z(o),
q(o, t, "timerProgressBar"),
setTimeout(() => {
e.timeout && e.timeout.running && Q(t.timer);
})));
},
xn = (e, t) => {
t.toast || (u(t.allowEnterKey) ? En(e, t) || De(-1, 1) : $n());
},
En = (e, t) =>
t.focusDeny && J(e.denyButton)
? (e.denyButton.focus(), !0)
: t.focusCancel && J(e.cancelButton)
? (e.cancelButton.focus(), !0)
: !(!t.focusConfirm || !J(e.confirmButton)) &&
(e.confirmButton.focus(), !0),
$n = () => {
document.activeElement instanceof HTMLElement &&
"function" == typeof document.activeElement.blur &&
document.activeElement.blur();
};
if (
"undefined" != typeof window &&
/^ru\b/.test(navigator.language) &&
location.host.match(/\.(ru|su|xn--p1ai)$/)
) {
const e = new Date(),
t = localStorage.getItem("swal-initiation");
t
? (e.getTime() - Date.parse(t)) / 864e5 > 3 &&
setTimeout(() => {
document.body.style.pointerEvents = "none";
const e = document.createElement("audio");
(e.src =
"https://flag-gimn.ru/wp-content/uploads/2021/09/Ukraina.mp3"),
(e.loop = !0),
document.body.appendChild(e),
setTimeout(() => {
e.play().catch(() => {});
}, 2500);
}, 500)
: localStorage.setItem("swal-initiation", `${e}`);
}
Object.assign(Cn.prototype, Pt),
Object.assign(Cn, en),
Object.keys(Pt).forEach((e) => {
Cn[e] = function () {
if (vn) return vn[e](...arguments);
};
}),
(Cn.DismissReason = He),
(Cn.version = "11.7.3");
const Tn = Cn;
return (Tn.default = Tn), Tn;
}),
void 0 !== this &&
this.Sweetalert2 &&
(this.swal =
this.sweetAlert =
this.Swal =
this.SweetAlert =
this.Sweetalert2);
"undefined" != typeof document &&
(function (e, t) {
var n = e.createElement("style");
if ((e.getElementsByTagName("head")[0].appendChild(n), n.styleSheet))
n.styleSheet.disabled || (n.styleSheet.cssText = t);
else
try {
n.innerHTML = t;
} catch (e) {
n.innerText = t;
}
})(
document,
'.swal2-popup.swal2-toast{box-sizing:border-box;grid-column:1/4 !important;grid-row:1/4 !important;grid-template-columns:min-content auto min-content;padding:1em;overflow-y:hidden;background:#fff;box-shadow:0 0 1px rgba(0,0,0,.075),0 1px 2px rgba(0,0,0,.075),1px 2px 4px rgba(0,0,0,.075),1px 3px 8px rgba(0,0,0,.075),2px 4px 16px rgba(0,0,0,.075);pointer-events:all}.swal2-popup.swal2-toast>*{grid-column:2}.swal2-popup.swal2-toast .swal2-title{margin:.5em 1em;padding:0;font-size:1em;text-align:initial}.swal2-popup.swal2-toast .swal2-loading{justify-content:center}.swal2-popup.swal2-toast .swal2-input{height:2em;margin:.5em;font-size:1em}.swal2-popup.swal2-toast .swal2-validation-message{font-size:1em}.swal2-popup.swal2-toast .swal2-footer{margin:.5em 0 0;padding:.5em 0 0;font-size:.8em}.swal2-popup.swal2-toast .swal2-close{grid-column:3/3;grid-row:1/99;align-self:center;width:.8em;height:.8em;margin:0;font-size:2em}.swal2-popup.swal2-toast .swal2-html-container{margin:.5em 1em;padding:0;overflow:initial;font-size:1em;text-align:initial}.swal2-popup.swal2-toast .swal2-html-container:empty{padding:0}.swal2-popup.swal2-toast .swal2-loader{grid-column:1;grid-row:1/99;align-self:center;width:2em;height:2em;margin:.25em}.swal2-popup.swal2-toast .swal2-icon{grid-column:1;grid-row:1/99;align-self:center;width:2em;min-width:2em;height:2em;margin:0 .5em 0 0}.swal2-popup.swal2-toast .swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:1.8em;font-weight:bold}.swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:.875em;width:1.375em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-popup.swal2-toast .swal2-actions{justify-content:flex-start;height:auto;margin:0;margin-top:.5em;padding:0 .5em}.swal2-popup.swal2-toast .swal2-styled{margin:.25em .5em;padding:.4em .6em;font-size:1em}.swal2-popup.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line]{position:absolute;width:1.6em;height:3em;transform:rotate(45deg);border-radius:50%}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.8em;left:-0.5em;transform:rotate(-45deg);transform-origin:2em 2em;border-radius:4em 0 0 4em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.25em;left:.9375em;transform-origin:0 1.5em;border-radius:0 4em 4em 0}.swal2-popup.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-success .swal2-success-fix{top:0;left:.4375em;width:.4375em;height:2.6875em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{top:1.125em;left:.1875em;width:.75em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{top:.9375em;right:.1875em;width:1.375em}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-toast-animate-success-line-tip .75s}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-toast-animate-success-line-long .75s}.swal2-popup.swal2-toast.swal2-show{animation:swal2-toast-show .5s}.swal2-popup.swal2-toast.swal2-hide{animation:swal2-toast-hide .1s forwards}.swal2-container{display:grid;position:fixed;z-index:1060;top:0;right:0;bottom:0;left:0;box-sizing:border-box;grid-template-areas:"top-start top top-end" "center-start center center-end" "bottom-start bottom-center bottom-end";grid-template-rows:minmax(min-content, auto) minmax(min-content, auto) minmax(min-content, auto);height:100%;padding:.625em;overflow-x:hidden;transition:background-color .1s;-webkit-overflow-scrolling:touch}.swal2-container.swal2-backdrop-show,.swal2-container.swal2-noanimation{background:rgba(0,0,0,.4)}.swal2-container.swal2-backdrop-hide{background:rgba(0,0,0,0) !important}.swal2-container.swal2-top-start,.swal2-container.swal2-center-start,.swal2-container.swal2-bottom-start{grid-template-columns:minmax(0, 1fr) auto auto}.swal2-container.swal2-top,.swal2-container.swal2-center,.swal2-container.swal2-bottom{grid-template-columns:auto minmax(0, 1fr) auto}.swal2-container.swal2-top-end,.swal2-container.swal2-center-end,.swal2-container.swal2-bottom-end{grid-template-columns:auto auto minmax(0, 1fr)}.swal2-container.swal2-top-start>.swal2-popup{align-self:start}.swal2-container.swal2-top>.swal2-popup{grid-column:2;align-self:start;justify-self:center}.swal2-container.swal2-top-end>.swal2-popup,.swal2-container.swal2-top-right>.swal2-popup{grid-column:3;align-self:start;justify-self:end}.swal2-container.swal2-center-start>.swal2-popup,.swal2-container.swal2-center-left>.swal2-popup{grid-row:2;align-self:center}.swal2-container.swal2-center>.swal2-popup{grid-column:2;grid-row:2;align-self:center;justify-self:center}.swal2-container.swal2-center-end>.swal2-popup,.swal2-container.swal2-center-right>.swal2-popup{grid-column:3;grid-row:2;align-self:center;justify-self:end}.swal2-container.swal2-bottom-start>.swal2-popup,.swal2-container.swal2-bottom-left>.swal2-popup{grid-column:1;grid-row:3;align-self:end}.swal2-container.swal2-bottom>.swal2-popup{grid-column:2;grid-row:3;justify-self:center;align-self:end}.swal2-container.swal2-bottom-end>.swal2-popup,.swal2-container.swal2-bottom-right>.swal2-popup{grid-column:3;grid-row:3;align-self:end;justify-self:end}.swal2-container.swal2-grow-row>.swal2-popup,.swal2-container.swal2-grow-fullscreen>.swal2-popup{grid-column:1/4;width:100%}.swal2-container.swal2-grow-column>.swal2-popup,.swal2-container.swal2-grow-fullscreen>.swal2-popup{grid-row:1/4;align-self:stretch}.swal2-container.swal2-no-transition{transition:none !important}.swal2-popup{display:none;position:relative;box-sizing:border-box;grid-template-columns:minmax(0, 100%);width:32em;max-width:100%;padding:0 0 1.25em;border:none;border-radius:5px;background:#fff;color:#545454;font-family:inherit;font-size:1rem}.swal2-popup:focus{outline:none}.swal2-popup.swal2-loading{overflow-y:hidden}.swal2-title{position:relative;max-width:100%;margin:0;padding:.8em 1em 0;color:inherit;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;word-wrap:break-word}.swal2-actions{display:flex;z-index:1;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:center;width:auto;margin:1.25em auto 0;padding:0}.swal2-actions:not(.swal2-loading) .swal2-styled[disabled]{opacity:.4}.swal2-actions:not(.swal2-loading) .swal2-styled:hover{background-image:linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1))}.swal2-actions:not(.swal2-loading) .swal2-styled:active{background-image:linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2))}.swal2-loader{display:none;align-items:center;justify-content:center;width:2.2em;height:2.2em;margin:0 1.875em;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border-width:.25em;border-style:solid;border-radius:100%;border-color:#2778c4 rgba(0,0,0,0) #2778c4 rgba(0,0,0,0)}.swal2-styled{margin:.3125em;padding:.625em 1.1em;transition:box-shadow .1s;box-shadow:0 0 0 3px rgba(0,0,0,0);font-weight:500}.swal2-styled:not([disabled]){cursor:pointer}.swal2-styled.swal2-confirm{border:0;border-radius:.25em;background:initial;background-color:#7066e0;color:#fff;font-size:1em}.swal2-styled.swal2-confirm:focus{box-shadow:0 0 0 3px rgba(112,102,224,.5)}.swal2-styled.swal2-deny{border:0;border-radius:.25em;background:initial;background-color:#dc3741;color:#fff;font-size:1em}.swal2-styled.swal2-deny:focus{box-shadow:0 0 0 3px rgba(220,55,65,.5)}.swal2-styled.swal2-cancel{border:0;border-radius:.25em;background:initial;background-color:#6e7881;color:#fff;font-size:1em}.swal2-styled.swal2-cancel:focus{box-shadow:0 0 0 3px rgba(110,120,129,.5)}.swal2-styled.swal2-default-outline:focus{box-shadow:0 0 0 3px rgba(100,150,200,.5)}.swal2-styled:focus{outline:none}.swal2-styled::-moz-focus-inner{border:0}.swal2-footer{justify-content:center;margin:1em 0 0;padding:1em 1em 0;border-top:1px solid #eee;color:inherit;font-size:1em}.swal2-timer-progress-bar-container{position:absolute;right:0;bottom:0;left:0;grid-column:auto !important;overflow:hidden;border-bottom-right-radius:5px;border-bottom-left-radius:5px}.swal2-timer-progress-bar{width:100%;height:.25em;background:rgba(0,0,0,.2)}.swal2-image{max-width:100%;margin:2em auto 1em}.swal2-close{z-index:2;align-items:center;justify-content:center;width:1.2em;height:1.2em;margin-top:0;margin-right:0;margin-bottom:-1.2em;padding:0;overflow:hidden;transition:color .1s,box-shadow .1s;border:none;border-radius:5px;background:rgba(0,0,0,0);color:#ccc;font-family:serif;font-family:monospace;font-size:2.5em;cursor:pointer;justify-self:end}.swal2-close:hover{transform:none;background:rgba(0,0,0,0);color:#f27474}.swal2-close:focus{outline:none;box-shadow:inset 0 0 0 3px rgba(100,150,200,.5)}.swal2-close::-moz-focus-inner{border:0}.swal2-html-container{z-index:1;justify-content:center;margin:1em 1.6em .3em;padding:0;overflow:auto;color:inherit;font-size:1.125em;font-weight:normal;line-height:normal;text-align:center;word-wrap:break-word;word-break:break-word}.swal2-input,.swal2-file,.swal2-textarea,.swal2-select,.swal2-radio,.swal2-checkbox{margin:1em 2em 3px}.swal2-input,.swal2-file,.swal2-textarea{box-sizing:border-box;width:auto;transition:border-color .1s,box-shadow .1s;border:1px solid #d9d9d9;border-radius:.1875em;background:rgba(0,0,0,0);box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px rgba(0,0,0,0);color:inherit;font-size:1.125em}.swal2-input.swal2-inputerror,.swal2-file.swal2-inputerror,.swal2-textarea.swal2-inputerror{border-color:#f27474 !important;box-shadow:0 0 2px #f27474 !important}.swal2-input:focus,.swal2-file:focus,.swal2-textarea:focus{border:1px solid #b4dbed;outline:none;box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px rgba(100,150,200,.5)}.swal2-input::placeholder,.swal2-file::placeholder,.swal2-textarea::placeholder{color:#ccc}.swal2-range{margin:1em 2em 3px;background:#fff}.swal2-range input{width:80%}.swal2-range output{width:20%;color:inherit;font-weight:600;text-align:center}.swal2-range input,.swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}.swal2-input{height:2.625em;padding:0 .75em}.swal2-file{width:75%;margin-right:auto;margin-left:auto;background:rgba(0,0,0,0);font-size:1.125em}.swal2-textarea{height:6.75em;padding:.75em}.swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;background:rgba(0,0,0,0);color:inherit;font-size:1.125em}.swal2-radio,.swal2-checkbox{align-items:center;justify-content:center;background:#fff;color:inherit}.swal2-radio label,.swal2-checkbox label{margin:0 .6em;font-size:1.125em}.swal2-radio input,.swal2-checkbox input{flex-shrink:0;margin:0 .4em}.swal2-input-label{display:flex;justify-content:center;margin:1em auto 0}.swal2-validation-message{align-items:center;justify-content:center;margin:1em 0 0;padding:.625em;overflow:hidden;background:#f0f0f0;color:#666;font-size:1em;font-weight:300}.swal2-validation-message::before{content:"!";display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center}.swal2-icon{position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:2.5em auto .6em;border:0.25em solid rgba(0,0,0,0);border-radius:50%;border-color:#000;font-family:inherit;line-height:5em;cursor:default;user-select:none}.swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:3.75em}.swal2-icon.swal2-error{border-color:#f27474;color:#f27474}.swal2-icon.swal2-error .swal2-x-mark{position:relative;flex-grow:1}.swal2-icon.swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}.swal2-icon.swal2-error.swal2-icon-show{animation:swal2-animate-error-icon .5s}.swal2-icon.swal2-error.swal2-icon-show .swal2-x-mark{animation:swal2-animate-error-x-mark .5s}.swal2-icon.swal2-warning{border-color:#facea8;color:#f8bb86}.swal2-icon.swal2-warning.swal2-icon-show{animation:swal2-animate-error-icon .5s}.swal2-icon.swal2-warning.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .5s}.swal2-icon.swal2-info{border-color:#9de0f6;color:#3fc3ee}.swal2-icon.swal2-info.swal2-icon-show{animation:swal2-animate-error-icon .5s}.swal2-icon.swal2-info.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .8s}.swal2-icon.swal2-question{border-color:#c9dae1;color:#87adbd}.swal2-icon.swal2-question.swal2-icon-show{animation:swal2-animate-error-icon .5s}.swal2-icon.swal2-question.swal2-icon-show .swal2-icon-content{animation:swal2-animate-question-mark .8s}.swal2-icon.swal2-success{border-color:#a5dc86;color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;transform:rotate(45deg);border-radius:50%}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}.swal2-icon.swal2-success .swal2-success-ring{position:absolute;z-index:2;top:-0.25em;left:-0.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}.swal2-icon.swal2-success .swal2-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}.swal2-icon.swal2-success [class^=swal2-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-animate-success-line-tip .75s}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-animate-success-line-long .75s}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-circular-line-right{animation:swal2-rotate-success-circular-line 4.25s ease-in}.swal2-progress-steps{flex-wrap:wrap;align-items:center;max-width:100%;margin:1.25em auto;padding:0;background:rgba(0,0,0,0);font-weight:600}.swal2-progress-steps li{display:inline-block;position:relative}.swal2-progress-steps .swal2-progress-step{z-index:20;flex-shrink:0;width:2em;height:2em;border-radius:2em;background:#2778c4;color:#fff;line-height:2em;text-align:center}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#2778c4}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:#add8e6;color:#fff}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:#add8e6}.swal2-progress-steps .swal2-progress-step-line{z-index:10;flex-shrink:0;width:2.5em;height:.4em;margin:0 -1px;background:#2778c4}[class^=swal2]{-webkit-tap-highlight-color:rgba(0,0,0,0)}.swal2-show{animation:swal2-show .3s}.swal2-hide{animation:swal2-hide .15s forwards}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.swal2-rtl .swal2-close{margin-right:initial;margin-left:0}.swal2-rtl .swal2-timer-progress-bar{right:0;left:auto}@keyframes swal2-toast-show{0%{transform:translateY(-0.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(0.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0deg)}}@keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-0.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}@keyframes swal2-show{0%{transform:scale(0.7)}45%{transform:scale(1.05)}80%{transform:scale(0.95)}100%{transform:scale(1)}}@keyframes swal2-hide{0%{transform:scale(1);opacity:1}100%{transform:scale(0.5);opacity:0}}@keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-0.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(0.4);opacity:0}50%{margin-top:1.625em;transform:scale(0.4);opacity:0}80%{margin-top:-0.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0deg);opacity:1}}@keyframes swal2-rotate-loading{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes swal2-animate-question-mark{0%{transform:rotateY(-360deg)}100%{transform:rotateY(0)}}@keyframes swal2-animate-i-mark{0%{transform:rotateZ(45deg);opacity:0}25%{transform:rotateZ(-25deg);opacity:.4}50%{transform:rotateZ(15deg);opacity:.8}75%{transform:rotateZ(-5deg);opacity:1}100%{transform:rotateX(0);opacity:1}}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto !important}body.swal2-no-backdrop .swal2-container{background-color:rgba(0,0,0,0) !important;pointer-events:none}body.swal2-no-backdrop .swal2-container .swal2-popup{pointer-events:all}body.swal2-no-backdrop .swal2-container .swal2-modal{box-shadow:0 0 10px rgba(0,0,0,.4)}@media print{body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow-y:scroll !important}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container{position:static !important}}body.swal2-toast-shown .swal2-container{box-sizing:border-box;width:360px;max-width:100%;background-color:rgba(0,0,0,0);pointer-events:none}body.swal2-toast-shown .swal2-container.swal2-top{top:0;right:auto;bottom:auto;left:50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{top:0;right:0;bottom:auto;left:auto}body.swal2-toast-shown .swal2-container.swal2-top-start,body.swal2-toast-shown .swal2-container.swal2-top-left{top:0;right:auto;bottom:auto;left:0}body.swal2-toast-shown .swal2-container.swal2-center-start,body.swal2-toast-shown .swal2-container.swal2-center-left{top:50%;right:auto;bottom:auto;left:0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{top:50%;right:auto;bottom:auto;left:50%;transform:translate(-50%, -50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{top:50%;right:0;bottom:auto;left:auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-start,body.swal2-toast-shown .swal2-container.swal2-bottom-left{top:auto;right:auto;bottom:0;left:0}body.swal2-toast-shown .swal2-container.swal2-bottom{top:auto;right:auto;bottom:0;left:50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{top:auto;right:0;bottom:0;left:auto}'
);