react-dom-maps
Version:
A React library for integrating Google Maps with customizable components and markers.
1,386 lines • 156 kB
JavaScript
var yo = (a) => {
throw TypeError(a);
};
var No = (a, _, u) => _.has(a) || yo("Cannot " + u);
var En = (a, _, u) => (No(a, _, "read from private field"), u ? u.call(a) : _.get(a)), We = (a, _, u) => _.has(a) ? yo("Cannot add the same private member more than once") : _ instanceof WeakSet ? _.add(a) : _.set(a, u), te = (a, _, u, w) => (No(a, _, "write to private field"), w ? w.call(a, u) : _.set(a, u), u);
import re, { createContext as Rp, useContext as Ap, memo as yp, useState as ki, useRef as Mo, useEffect as Z, useMemo as ut } from "react";
import Np, { createPortal as Sp } from "react-dom";
function Cr(...a) {
const _ = [];
return a.forEach((u) => {
if (u) {
if (typeof u == "string")
_.push(u);
else if (Array.isArray(u))
_.push(Cr(...u));
else if (typeof u == "object")
for (const w in u)
u[w] && _.push(w);
}
}), _.join(" ");
}
function Dp(a = {}) {
const { className: _ } = a, u = document.createElement("div");
return u.style.position = "absolute", _ && (u.className = _), u;
}
const bo = Rp({
map: void 0,
maps: void 0
}), Mp = (a) => /* @__PURE__ */ re.createElement(bo.Provider, { value: { map: a.map, maps: a.maps } }, a.children);
function ft() {
const { map: a, maps: _ } = Ap(bo);
return { map: a, maps: _ };
}
const jp = yp((a) => {
const { api: _, containerRef: u, className: w, style: R, classNames: I } = a;
return /* @__PURE__ */ re.createElement("div", { className: Cr(w), style: R }, /* @__PURE__ */ re.createElement("div", { style: { height: "100%" }, className: Cr(I == null ? void 0 : I.map), ref: u }), _ ? /* @__PURE__ */ re.createElement(Mp, { map: _.map, maps: _.maps }, /* @__PURE__ */ re.createElement("div", { className: Cr(I == null ? void 0 : I.children) }, a.children)) : null);
});
function bp(a, _, u, w) {
function R(I) {
return I instanceof u ? I : new u(function(O) {
O(I);
});
}
return new (u || (u = Promise))(function(I, O) {
function U(C) {
try {
m(w.next(C));
} catch (S) {
O(S);
}
}
function q(C) {
try {
m(w.throw(C));
} catch (S) {
O(S);
}
}
function m(C) {
C.done ? I(C.value) : R(C.value).then(U, q);
}
m((w = w.apply(a, [])).next());
});
}
function Pp(a) {
return a && a.__esModule && Object.prototype.hasOwnProperty.call(a, "default") ? a.default : a;
}
var Bp = function a(_, u) {
if (_ === u) return !0;
if (_ && u && typeof _ == "object" && typeof u == "object") {
if (_.constructor !== u.constructor) return !1;
var w, R, I;
if (Array.isArray(_)) {
if (w = _.length, w != u.length) return !1;
for (R = w; R-- !== 0; )
if (!a(_[R], u[R])) return !1;
return !0;
}
if (_.constructor === RegExp) return _.source === u.source && _.flags === u.flags;
if (_.valueOf !== Object.prototype.valueOf) return _.valueOf() === u.valueOf();
if (_.toString !== Object.prototype.toString) return _.toString() === u.toString();
if (I = Object.keys(_), w = I.length, w !== Object.keys(u).length) return !1;
for (R = w; R-- !== 0; )
if (!Object.prototype.hasOwnProperty.call(u, I[R])) return !1;
for (R = w; R-- !== 0; ) {
var O = I[R];
if (!a(_[O], u[O])) return !1;
}
return !0;
}
return _ !== _ && u !== u;
}, Fp = /* @__PURE__ */ Pp(Bp);
const So = "__googleMapsScriptId";
var it;
(function(a) {
a[a.INITIALIZED = 0] = "INITIALIZED", a[a.LOADING = 1] = "LOADING", a[a.SUCCESS = 2] = "SUCCESS", a[a.FAILURE = 3] = "FAILURE";
})(it || (it = {}));
class Ke {
/**
* Creates an instance of Loader using [[LoaderOptions]]. No defaults are set
* using this library, instead the defaults are set by the Google Maps
* JavaScript API server.
*
* ```
* const loader = Loader({apiKey, version: 'weekly', libraries: ['places']});
* ```
*/
constructor({ apiKey: _, authReferrerPolicy: u, channel: w, client: R, id: I = So, language: O, libraries: U = [], mapIds: q, nonce: m, region: C, retries: S = 3, url: en = "https://maps.googleapis.com/maps/api/js", version: J }) {
if (this.callbacks = [], this.done = !1, this.loading = !1, this.errors = [], this.apiKey = _, this.authReferrerPolicy = u, this.channel = w, this.client = R, this.id = I || So, this.language = O, this.libraries = U, this.mapIds = q, this.nonce = m, this.region = C, this.retries = S, this.url = en, this.version = J, Ke.instance) {
if (!Fp(this.options, Ke.instance.options))
throw new Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(Ke.instance.options)}`);
return Ke.instance;
}
Ke.instance = this;
}
get options() {
return {
version: this.version,
apiKey: this.apiKey,
channel: this.channel,
client: this.client,
id: this.id,
libraries: this.libraries,
language: this.language,
region: this.region,
mapIds: this.mapIds,
nonce: this.nonce,
url: this.url,
authReferrerPolicy: this.authReferrerPolicy
};
}
get status() {
return this.errors.length ? it.FAILURE : this.done ? it.SUCCESS : this.loading ? it.LOADING : it.INITIALIZED;
}
get failed() {
return this.done && !this.loading && this.errors.length >= this.retries + 1;
}
/**
* CreateUrl returns the Google Maps JavaScript API script url given the [[LoaderOptions]].
*
* @ignore
* @deprecated
*/
createUrl() {
let _ = this.url;
return _ += "?callback=__googleMapsCallback&loading=async", this.apiKey && (_ += `&key=${this.apiKey}`), this.channel && (_ += `&channel=${this.channel}`), this.client && (_ += `&client=${this.client}`), this.libraries.length > 0 && (_ += `&libraries=${this.libraries.join(",")}`), this.language && (_ += `&language=${this.language}`), this.region && (_ += `®ion=${this.region}`), this.version && (_ += `&v=${this.version}`), this.mapIds && (_ += `&map_ids=${this.mapIds.join(",")}`), this.authReferrerPolicy && (_ += `&auth_referrer_policy=${this.authReferrerPolicy}`), _;
}
deleteScript() {
const _ = document.getElementById(this.id);
_ && _.remove();
}
/**
* Load the Google Maps JavaScript API script and return a Promise.
* @deprecated, use importLibrary() instead.
*/
load() {
return this.loadPromise();
}
/**
* Load the Google Maps JavaScript API script and return a Promise.
*
* @ignore
* @deprecated, use importLibrary() instead.
*/
loadPromise() {
return new Promise((_, u) => {
this.loadCallback((w) => {
w ? u(w.error) : _(window.google);
});
});
}
importLibrary(_) {
return this.execute(), google.maps.importLibrary(_);
}
/**
* Load the Google Maps JavaScript API script with a callback.
* @deprecated, use importLibrary() instead.
*/
loadCallback(_) {
this.callbacks.push(_), this.execute();
}
/**
* Set the script on document.
*/
setScript() {
var _, u;
if (document.getElementById(this.id)) {
this.callback();
return;
}
const w = {
key: this.apiKey,
channel: this.channel,
client: this.client,
libraries: this.libraries.length && this.libraries,
v: this.version,
mapIds: this.mapIds,
language: this.language,
region: this.region,
authReferrerPolicy: this.authReferrerPolicy
};
Object.keys(w).forEach(
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(I) => !w[I] && delete w[I]
), !((u = (_ = window == null ? void 0 : window.google) === null || _ === void 0 ? void 0 : _.maps) === null || u === void 0) && u.importLibrary || ((I) => {
let O, U, q, m = "The Google Maps JavaScript API", C = "google", S = "importLibrary", en = "__ib__", J = document, k = window;
k = k[C] || (k[C] = {});
const tn = k.maps || (k.maps = {}), Q = /* @__PURE__ */ new Set(), sn = new URLSearchParams(), pn = () => (
// @ts-ignore
O || (O = new Promise((j, an) => bp(this, void 0, void 0, function* () {
var rn;
yield U = J.createElement("script"), U.id = this.id, sn.set("libraries", [...Q] + "");
for (q in I)
sn.set(q.replace(/[A-Z]/g, (Tn) => "_" + Tn[0].toLowerCase()), I[q]);
sn.set("callback", C + ".maps." + en), U.src = this.url + "?" + sn, tn[en] = j, U.onerror = () => O = an(Error(m + " could not load.")), U.nonce = this.nonce || ((rn = J.querySelector("script[nonce]")) === null || rn === void 0 ? void 0 : rn.nonce) || "", J.head.append(U);
})))
);
tn[S] ? console.warn(m + " only loads once. Ignoring:", I) : tn[S] = (j, ...an) => Q.add(j) && pn().then(() => tn[S](j, ...an));
})(w);
const R = this.libraries.map((I) => this.importLibrary(I));
R.length || R.push(this.importLibrary("core")), Promise.all(R).then(() => this.callback(), (I) => {
const O = new ErrorEvent("error", { error: I });
this.loadErrorCallback(O);
});
}
/**
* Reset the loader state.
*/
reset() {
this.deleteScript(), this.done = !1, this.loading = !1, this.errors = [], this.onerrorEvent = null;
}
resetIfRetryingFailed() {
this.failed && this.reset();
}
loadErrorCallback(_) {
if (this.errors.push(_), this.errors.length <= this.retries) {
const u = this.errors.length * Math.pow(2, this.errors.length);
console.error(`Failed to load Google Maps script, retrying in ${u} ms.`), setTimeout(() => {
this.deleteScript(), this.setScript();
}, u);
} else
this.onerrorEvent = _, this.callback();
}
callback() {
this.done = !0, this.loading = !1, this.callbacks.forEach((_) => {
_(this.onerrorEvent);
}), this.callbacks = [];
}
execute() {
if (this.resetIfRetryingFailed(), !this.loading)
if (this.done)
this.callback();
else {
if (window.google && window.google.maps && window.google.maps.version) {
console.warn("Google Maps already loaded outside @googlemaps/js-api-loader. This may result in undesirable behavior as options and script parameters may not match."), this.callback();
return;
}
this.loading = !0, this.setScript();
}
}
}
function Up(a) {
return new Ke(a).load();
}
function nd(a) {
const { loader: _, map: u } = a, [w, R] = ki(), [I, O] = ki(), [U, q] = ki(null), m = Mo(null);
return Z(() => {
O("loading"), Up(_).then((C) => {
if (m.current) {
const S = new C.maps.Map(m.current, {
...u
});
R({ map: S, maps: C.maps }), O("loaded");
} else
throw new Error("mapDiv is required");
}).catch((C) => {
O("error"), q(C);
});
}, [_]), Z(() => {
w != null && w.map && u && w.map.setOptions(u);
}, [w, u]), { api: w, ref: m, stat: I, err: U };
}
var Wp = /* @__PURE__ */ ((a) => (a.TOP_LEFT = "TOP_LEFT", a.TOP_CENTER = "TOP_CENTER", a.TOP_RIGHT = "TOP_RIGHT", a.LEFT_TOP = "LEFT_TOP", a.LEFT_CENTER = "LEFT_CENTER", a.LEFT_BOTTOM = "LEFT_BOTTOM", a.RIGHT_TOP = "RIGHT_TOP", a.RIGHT_CENTER = "RIGHT_CENTER", a.RIGHT_BOTTOM = "RIGHT_BOTTOM", a.BOTTOM_LEFT = "BOTTOM_LEFT", a.BOTTOM_CENTER = "BOTTOM_CENTER", a.BOTTOM_RIGHT = "BOTTOM_RIGHT", a.INLINE_START_BLOCK_START = "INLINE_START_BLOCK_START", a.INLINE_START_BLOCK_CENTER = "INLINE_START_BLOCK_CENTER", a.INLINE_START_BLOCK_END = "INLINE_START_BLOCK_END", a.INLINE_END_BLOCK_START = "INLINE_END_BLOCK_START", a.INLINE_END_BLOCK_CENTER = "INLINE_END_BLOCK_CENTER", a.INLINE_END_BLOCK_END = "INLINE_END_BLOCK_END", a.BLOCK_START_INLINE_START = "BLOCK_START_INLINE_START", a.BLOCK_START_INLINE_CENTER = "BLOCK_START_INLINE_CENTER", a.BLOCK_START_INLINE_END = "BLOCK_START_INLINE_END", a.BLOCK_END_INLINE_START = "BLOCK_END_INLINE_START", a.BLOCK_END_INLINE_CENTER = "BLOCK_END_INLINE_CENTER", a.BLOCK_END_INLINE_END = "BLOCK_END_INLINE_END", a))(Wp || {});
const Kp = {
TOP_LEFT: (a) => a.ControlPosition.TOP_LEFT,
TOP_CENTER: (a) => a.ControlPosition.TOP_CENTER,
TOP_RIGHT: (a) => a.ControlPosition.TOP_RIGHT,
LEFT_TOP: (a) => a.ControlPosition.LEFT_TOP,
LEFT_CENTER: (a) => a.ControlPosition.LEFT_CENTER,
LEFT_BOTTOM: (a) => a.ControlPosition.LEFT_BOTTOM,
RIGHT_TOP: (a) => a.ControlPosition.RIGHT_TOP,
RIGHT_CENTER: (a) => a.ControlPosition.RIGHT_CENTER,
RIGHT_BOTTOM: (a) => a.ControlPosition.RIGHT_BOTTOM,
BOTTOM_LEFT: (a) => a.ControlPosition.BOTTOM_LEFT,
BOTTOM_CENTER: (a) => a.ControlPosition.BOTTOM_CENTER,
BOTTOM_RIGHT: (a) => a.ControlPosition.BOTTOM_RIGHT,
INLINE_START_BLOCK_START: (a) => a.ControlPosition.INLINE_START_BLOCK_START,
INLINE_START_BLOCK_CENTER: (a) => a.ControlPosition.INLINE_START_BLOCK_CENTER,
INLINE_START_BLOCK_END: (a) => a.ControlPosition.INLINE_START_BLOCK_END,
INLINE_END_BLOCK_START: (a) => a.ControlPosition.INLINE_END_BLOCK_START,
INLINE_END_BLOCK_CENTER: (a) => a.ControlPosition.INLINE_END_BLOCK_CENTER,
INLINE_END_BLOCK_END: (a) => a.ControlPosition.INLINE_END_BLOCK_END,
BLOCK_START_INLINE_START: (a) => a.ControlPosition.BLOCK_START_INLINE_START,
BLOCK_START_INLINE_CENTER: (a) => a.ControlPosition.BLOCK_START_INLINE_CENTER,
BLOCK_START_INLINE_END: (a) => a.ControlPosition.BLOCK_START_INLINE_END,
BLOCK_END_INLINE_START: (a) => a.ControlPosition.BLOCK_END_INLINE_START,
BLOCK_END_INLINE_CENTER: (a) => a.ControlPosition.BLOCK_END_INLINE_CENTER,
BLOCK_END_INLINE_END: (a) => a.ControlPosition.BLOCK_END_INLINE_END
};
function Gp(a, _) {
const u = Kp[a];
return u ? u(_ || google.maps) : (_ || google.maps).ControlPosition.TOP_LEFT;
}
const ed = (a) => {
const { id: _, position: u, className: w = "", children: R } = a, { map: I, maps: O } = ft(), U = Mo(document.createElement("div"));
return Z(() => {
const q = Gp(u, O);
return U.current.dataset.id = _, I.controls[q].push(U.current), () => {
I.controls[q].forEach((m, C) => {
m.dataset.id === _ && I.controls[q].removeAt(C);
});
};
}, [_, u, I]), Z(() => {
U.current.className = w;
}, [w]), Sp(R, U.current, _);
};
var Lr = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, Nt = { exports: {} };
/**
* @license
* Lodash <https://lodash.com/>
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
* Released under MIT license <https://lodash.com/license>
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
*/
var Hp = Nt.exports, Do;
function $p() {
return Do || (Do = 1, function(a, _) {
(function() {
var u, w = "4.17.21", R = 200, I = "Unsupported core-js use. Try https://npms.io/search?q=ponyfill.", O = "Expected a function", U = "Invalid `variable` option passed into `_.template`", q = "__lodash_hash_undefined__", m = 500, C = "__lodash_placeholder__", S = 1, en = 2, J = 4, k = 1, tn = 2, Q = 1, sn = 2, pn = 4, j = 8, an = 16, rn = 32, Tn = 64, wn = 128, Mn = 256, kn = 512, z = 30, Xn = "...", Y = 800, P = 16, Ee = 1, Bo = 2, Fo = 3, St = 1 / 0, Ge = 9007199254740991, Uo = 17976931348623157e292, Dt = NaN, ie = 4294967295, Wo = ie - 1, Ko = ie >>> 1, Go = [
["ary", wn],
["bind", Q],
["bindKey", sn],
["curry", j],
["curryRight", an],
["flip", kn],
["partial", rn],
["partialRight", Tn],
["rearg", Mn]
], He = "[object Arguments]", Mt = "[object Array]", Ho = "[object AsyncFunction]", ot = "[object Boolean]", st = "[object Date]", $o = "[object DOMException]", bt = "[object Error]", Pt = "[object Function]", Ji = "[object GeneratorFunction]", Jn = "[object Map]", lt = "[object Number]", qo = "[object Null]", se = "[object Object]", Qi = "[object Promise]", zo = "[object Proxy]", at = "[object RegExp]", Qn = "[object Set]", ct = "[object String]", Bt = "[object Symbol]", Zo = "[object Undefined]", ht = "[object WeakMap]", Yo = "[object WeakSet]", gt = "[object ArrayBuffer]", $e = "[object DataView]", Rr = "[object Float32Array]", Ar = "[object Float64Array]", yr = "[object Int8Array]", Nr = "[object Int16Array]", Sr = "[object Int32Array]", Dr = "[object Uint8Array]", Mr = "[object Uint8ClampedArray]", br = "[object Uint16Array]", Pr = "[object Uint32Array]", ko = /\b__p \+= '';/g, Xo = /\b(__p \+=) '' \+/g, Jo = /(__e\(.*?\)|\b__t\)) \+\n'';/g, Vi = /&(?:amp|lt|gt|quot|#39);/g, ji = /[&<>"']/g, Qo = RegExp(Vi.source), Vo = RegExp(ji.source), jo = /<%-([\s\S]+?)%>/g, ns = /<%([\s\S]+?)%>/g, nu = /<%=([\s\S]+?)%>/g, es = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, ts = /^\w*$/, rs = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, Br = /[\\^$.*+?()[\]{}|]/g, is = RegExp(Br.source), Fr = /^\s+/, us = /\s/, fs = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, os = /\{\n\/\* \[wrapped with (.+)\] \*/, ss = /,? & /, ls = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g, as = /[()=,{}\[\]\/\s]/, cs = /\\(\\)?/g, hs = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g, eu = /\w*$/, gs = /^[-+]0x[0-9a-f]+$/i, _s = /^0b[01]+$/i, ps = /^\[object .+?Constructor\]$/, ds = /^0o[0-7]+$/i, vs = /^(?:0|[1-9]\d*)$/, Es = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g, Ft = /($^)/, Ts = /['\n\r\u2028\u2029\\]/g, Ut = "\\ud800-\\udfff", ws = "\\u0300-\\u036f", Is = "\\ufe20-\\ufe2f", xs = "\\u20d0-\\u20ff", tu = ws + Is + xs, ru = "\\u2700-\\u27bf", iu = "a-z\\xdf-\\xf6\\xf8-\\xff", ms = "\\xac\\xb1\\xd7\\xf7", Os = "\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf", Ls = "\\u2000-\\u206f", Cs = " \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000", uu = "A-Z\\xc0-\\xd6\\xd8-\\xde", fu = "\\ufe0e\\ufe0f", ou = ms + Os + Ls + Cs, Ur = "['’]", Rs = "[" + Ut + "]", su = "[" + ou + "]", Wt = "[" + tu + "]", lu = "\\d+", As = "[" + ru + "]", au = "[" + iu + "]", cu = "[^" + Ut + ou + lu + ru + iu + uu + "]", Wr = "\\ud83c[\\udffb-\\udfff]", ys = "(?:" + Wt + "|" + Wr + ")", hu = "[^" + Ut + "]", Kr = "(?:\\ud83c[\\udde6-\\uddff]){2}", Gr = "[\\ud800-\\udbff][\\udc00-\\udfff]", qe = "[" + uu + "]", gu = "\\u200d", _u = "(?:" + au + "|" + cu + ")", Ns = "(?:" + qe + "|" + cu + ")", pu = "(?:" + Ur + "(?:d|ll|m|re|s|t|ve))?", du = "(?:" + Ur + "(?:D|LL|M|RE|S|T|VE))?", vu = ys + "?", Eu = "[" + fu + "]?", Ss = "(?:" + gu + "(?:" + [hu, Kr, Gr].join("|") + ")" + Eu + vu + ")*", Ds = "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", Ms = "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", Tu = Eu + vu + Ss, bs = "(?:" + [As, Kr, Gr].join("|") + ")" + Tu, Ps = "(?:" + [hu + Wt + "?", Wt, Kr, Gr, Rs].join("|") + ")", Bs = RegExp(Ur, "g"), Fs = RegExp(Wt, "g"), Hr = RegExp(Wr + "(?=" + Wr + ")|" + Ps + Tu, "g"), Us = RegExp([
qe + "?" + au + "+" + pu + "(?=" + [su, qe, "$"].join("|") + ")",
Ns + "+" + du + "(?=" + [su, qe + _u, "$"].join("|") + ")",
qe + "?" + _u + "+" + pu,
qe + "+" + du,
Ms,
Ds,
lu,
bs
].join("|"), "g"), Ws = RegExp("[" + gu + Ut + tu + fu + "]"), Ks = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/, Gs = [
"Array",
"Buffer",
"DataView",
"Date",
"Error",
"Float32Array",
"Float64Array",
"Function",
"Int8Array",
"Int16Array",
"Int32Array",
"Map",
"Math",
"Object",
"Promise",
"RegExp",
"Set",
"String",
"Symbol",
"TypeError",
"Uint8Array",
"Uint8ClampedArray",
"Uint16Array",
"Uint32Array",
"WeakMap",
"_",
"clearTimeout",
"isFinite",
"parseInt",
"setTimeout"
], Hs = -1, on = {};
on[Rr] = on[Ar] = on[yr] = on[Nr] = on[Sr] = on[Dr] = on[Mr] = on[br] = on[Pr] = !0, on[He] = on[Mt] = on[gt] = on[ot] = on[$e] = on[st] = on[bt] = on[Pt] = on[Jn] = on[lt] = on[se] = on[at] = on[Qn] = on[ct] = on[ht] = !1;
var fn = {};
fn[He] = fn[Mt] = fn[gt] = fn[$e] = fn[ot] = fn[st] = fn[Rr] = fn[Ar] = fn[yr] = fn[Nr] = fn[Sr] = fn[Jn] = fn[lt] = fn[se] = fn[at] = fn[Qn] = fn[ct] = fn[Bt] = fn[Dr] = fn[Mr] = fn[br] = fn[Pr] = !0, fn[bt] = fn[Pt] = fn[ht] = !1;
var $s = {
// Latin-1 Supplement block.
À: "A",
Á: "A",
Â: "A",
Ã: "A",
Ä: "A",
Å: "A",
à: "a",
á: "a",
â: "a",
ã: "a",
ä: "a",
å: "a",
Ç: "C",
ç: "c",
Ð: "D",
ð: "d",
È: "E",
É: "E",
Ê: "E",
Ë: "E",
è: "e",
é: "e",
ê: "e",
ë: "e",
Ì: "I",
Í: "I",
Î: "I",
Ï: "I",
ì: "i",
í: "i",
î: "i",
ï: "i",
Ñ: "N",
ñ: "n",
Ò: "O",
Ó: "O",
Ô: "O",
Õ: "O",
Ö: "O",
Ø: "O",
ò: "o",
ó: "o",
ô: "o",
õ: "o",
ö: "o",
ø: "o",
Ù: "U",
Ú: "U",
Û: "U",
Ü: "U",
ù: "u",
ú: "u",
û: "u",
ü: "u",
Ý: "Y",
ý: "y",
ÿ: "y",
Æ: "Ae",
æ: "ae",
Þ: "Th",
þ: "th",
ß: "ss",
// Latin Extended-A block.
Ā: "A",
Ă: "A",
Ą: "A",
ā: "a",
ă: "a",
ą: "a",
Ć: "C",
Ĉ: "C",
Ċ: "C",
Č: "C",
ć: "c",
ĉ: "c",
ċ: "c",
č: "c",
Ď: "D",
Đ: "D",
ď: "d",
đ: "d",
Ē: "E",
Ĕ: "E",
Ė: "E",
Ę: "E",
Ě: "E",
ē: "e",
ĕ: "e",
ė: "e",
ę: "e",
ě: "e",
Ĝ: "G",
Ğ: "G",
Ġ: "G",
Ģ: "G",
ĝ: "g",
ğ: "g",
ġ: "g",
ģ: "g",
Ĥ: "H",
Ħ: "H",
ĥ: "h",
ħ: "h",
Ĩ: "I",
Ī: "I",
Ĭ: "I",
Į: "I",
İ: "I",
ĩ: "i",
ī: "i",
ĭ: "i",
į: "i",
ı: "i",
Ĵ: "J",
ĵ: "j",
Ķ: "K",
ķ: "k",
ĸ: "k",
Ĺ: "L",
Ļ: "L",
Ľ: "L",
Ŀ: "L",
Ł: "L",
ĺ: "l",
ļ: "l",
ľ: "l",
ŀ: "l",
ł: "l",
Ń: "N",
Ņ: "N",
Ň: "N",
Ŋ: "N",
ń: "n",
ņ: "n",
ň: "n",
ŋ: "n",
Ō: "O",
Ŏ: "O",
Ő: "O",
ō: "o",
ŏ: "o",
ő: "o",
Ŕ: "R",
Ŗ: "R",
Ř: "R",
ŕ: "r",
ŗ: "r",
ř: "r",
Ś: "S",
Ŝ: "S",
Ş: "S",
Š: "S",
ś: "s",
ŝ: "s",
ş: "s",
š: "s",
Ţ: "T",
Ť: "T",
Ŧ: "T",
ţ: "t",
ť: "t",
ŧ: "t",
Ũ: "U",
Ū: "U",
Ŭ: "U",
Ů: "U",
Ű: "U",
Ų: "U",
ũ: "u",
ū: "u",
ŭ: "u",
ů: "u",
ű: "u",
ų: "u",
Ŵ: "W",
ŵ: "w",
Ŷ: "Y",
ŷ: "y",
Ÿ: "Y",
Ź: "Z",
Ż: "Z",
Ž: "Z",
ź: "z",
ż: "z",
ž: "z",
IJ: "IJ",
ij: "ij",
Œ: "Oe",
œ: "oe",
ʼn: "'n",
ſ: "s"
}, qs = {
"&": "&",
"<": "<",
">": ">",
'"': """,
"'": "'"
}, zs = {
"&": "&",
"<": "<",
">": ">",
""": '"',
"'": "'"
}, Zs = {
"\\": "\\",
"'": "'",
"\n": "n",
"\r": "r",
"\u2028": "u2028",
"\u2029": "u2029"
}, Ys = parseFloat, ks = parseInt, wu = typeof Lr == "object" && Lr && Lr.Object === Object && Lr, Xs = typeof self == "object" && self && self.Object === Object && self, xn = wu || Xs || Function("return this")(), $r = _ && !_.nodeType && _, Ne = $r && !0 && a && !a.nodeType && a, Iu = Ne && Ne.exports === $r, qr = Iu && wu.process, Kn = function() {
try {
var c = Ne && Ne.require && Ne.require("util").types;
return c || qr && qr.binding && qr.binding("util");
} catch {
}
}(), xu = Kn && Kn.isArrayBuffer, mu = Kn && Kn.isDate, Ou = Kn && Kn.isMap, Lu = Kn && Kn.isRegExp, Cu = Kn && Kn.isSet, Ru = Kn && Kn.isTypedArray;
function bn(c, p, g) {
switch (g.length) {
case 0:
return c.call(p);
case 1:
return c.call(p, g[0]);
case 2:
return c.call(p, g[0], g[1]);
case 3:
return c.call(p, g[0], g[1], g[2]);
}
return c.apply(p, g);
}
function Js(c, p, g, x) {
for (var D = -1, X = c == null ? 0 : c.length; ++D < X; ) {
var dn = c[D];
p(x, dn, g(dn), c);
}
return x;
}
function Gn(c, p) {
for (var g = -1, x = c == null ? 0 : c.length; ++g < x && p(c[g], g, c) !== !1; )
;
return c;
}
function Qs(c, p) {
for (var g = c == null ? 0 : c.length; g-- && p(c[g], g, c) !== !1; )
;
return c;
}
function Au(c, p) {
for (var g = -1, x = c == null ? 0 : c.length; ++g < x; )
if (!p(c[g], g, c))
return !1;
return !0;
}
function Te(c, p) {
for (var g = -1, x = c == null ? 0 : c.length, D = 0, X = []; ++g < x; ) {
var dn = c[g];
p(dn, g, c) && (X[D++] = dn);
}
return X;
}
function Kt(c, p) {
var g = c == null ? 0 : c.length;
return !!g && ze(c, p, 0) > -1;
}
function zr(c, p, g) {
for (var x = -1, D = c == null ? 0 : c.length; ++x < D; )
if (g(p, c[x]))
return !0;
return !1;
}
function ln(c, p) {
for (var g = -1, x = c == null ? 0 : c.length, D = Array(x); ++g < x; )
D[g] = p(c[g], g, c);
return D;
}
function we(c, p) {
for (var g = -1, x = p.length, D = c.length; ++g < x; )
c[D + g] = p[g];
return c;
}
function Zr(c, p, g, x) {
var D = -1, X = c == null ? 0 : c.length;
for (x && X && (g = c[++D]); ++D < X; )
g = p(g, c[D], D, c);
return g;
}
function Vs(c, p, g, x) {
var D = c == null ? 0 : c.length;
for (x && D && (g = c[--D]); D--; )
g = p(g, c[D], D, c);
return g;
}
function Yr(c, p) {
for (var g = -1, x = c == null ? 0 : c.length; ++g < x; )
if (p(c[g], g, c))
return !0;
return !1;
}
var js = kr("length");
function nl(c) {
return c.split("");
}
function el(c) {
return c.match(ls) || [];
}
function yu(c, p, g) {
var x;
return g(c, function(D, X, dn) {
if (p(D, X, dn))
return x = X, !1;
}), x;
}
function Gt(c, p, g, x) {
for (var D = c.length, X = g + (x ? 1 : -1); x ? X-- : ++X < D; )
if (p(c[X], X, c))
return X;
return -1;
}
function ze(c, p, g) {
return p === p ? gl(c, p, g) : Gt(c, Nu, g);
}
function tl(c, p, g, x) {
for (var D = g - 1, X = c.length; ++D < X; )
if (x(c[D], p))
return D;
return -1;
}
function Nu(c) {
return c !== c;
}
function Su(c, p) {
var g = c == null ? 0 : c.length;
return g ? Jr(c, p) / g : Dt;
}
function kr(c) {
return function(p) {
return p == null ? u : p[c];
};
}
function Xr(c) {
return function(p) {
return c == null ? u : c[p];
};
}
function Du(c, p, g, x, D) {
return D(c, function(X, dn, un) {
g = x ? (x = !1, X) : p(g, X, dn, un);
}), g;
}
function rl(c, p) {
var g = c.length;
for (c.sort(p); g--; )
c[g] = c[g].value;
return c;
}
function Jr(c, p) {
for (var g, x = -1, D = c.length; ++x < D; ) {
var X = p(c[x]);
X !== u && (g = g === u ? X : g + X);
}
return g;
}
function Qr(c, p) {
for (var g = -1, x = Array(c); ++g < c; )
x[g] = p(g);
return x;
}
function il(c, p) {
return ln(p, function(g) {
return [g, c[g]];
});
}
function Mu(c) {
return c && c.slice(0, Fu(c) + 1).replace(Fr, "");
}
function Pn(c) {
return function(p) {
return c(p);
};
}
function Vr(c, p) {
return ln(p, function(g) {
return c[g];
});
}
function _t(c, p) {
return c.has(p);
}
function bu(c, p) {
for (var g = -1, x = c.length; ++g < x && ze(p, c[g], 0) > -1; )
;
return g;
}
function Pu(c, p) {
for (var g = c.length; g-- && ze(p, c[g], 0) > -1; )
;
return g;
}
function ul(c, p) {
for (var g = c.length, x = 0; g--; )
c[g] === p && ++x;
return x;
}
var fl = Xr($s), ol = Xr(qs);
function sl(c) {
return "\\" + Zs[c];
}
function ll(c, p) {
return c == null ? u : c[p];
}
function Ze(c) {
return Ws.test(c);
}
function al(c) {
return Ks.test(c);
}
function cl(c) {
for (var p, g = []; !(p = c.next()).done; )
g.push(p.value);
return g;
}
function jr(c) {
var p = -1, g = Array(c.size);
return c.forEach(function(x, D) {
g[++p] = [D, x];
}), g;
}
function Bu(c, p) {
return function(g) {
return c(p(g));
};
}
function Ie(c, p) {
for (var g = -1, x = c.length, D = 0, X = []; ++g < x; ) {
var dn = c[g];
(dn === p || dn === C) && (c[g] = C, X[D++] = g);
}
return X;
}
function Ht(c) {
var p = -1, g = Array(c.size);
return c.forEach(function(x) {
g[++p] = x;
}), g;
}
function hl(c) {
var p = -1, g = Array(c.size);
return c.forEach(function(x) {
g[++p] = [x, x];
}), g;
}
function gl(c, p, g) {
for (var x = g - 1, D = c.length; ++x < D; )
if (c[x] === p)
return x;
return -1;
}
function _l(c, p, g) {
for (var x = g + 1; x--; )
if (c[x] === p)
return x;
return x;
}
function Ye(c) {
return Ze(c) ? dl(c) : js(c);
}
function Vn(c) {
return Ze(c) ? vl(c) : nl(c);
}
function Fu(c) {
for (var p = c.length; p-- && us.test(c.charAt(p)); )
;
return p;
}
var pl = Xr(zs);
function dl(c) {
for (var p = Hr.lastIndex = 0; Hr.test(c); )
++p;
return p;
}
function vl(c) {
return c.match(Hr) || [];
}
function El(c) {
return c.match(Us) || [];
}
var Tl = function c(p) {
p = p == null ? xn : ke.defaults(xn.Object(), p, ke.pick(xn, Gs));
var g = p.Array, x = p.Date, D = p.Error, X = p.Function, dn = p.Math, un = p.Object, ni = p.RegExp, wl = p.String, Hn = p.TypeError, $t = g.prototype, Il = X.prototype, Xe = un.prototype, qt = p["__core-js_shared__"], zt = Il.toString, nn = Xe.hasOwnProperty, xl = 0, Uu = function() {
var n = /[^.]+$/.exec(qt && qt.keys && qt.keys.IE_PROTO || "");
return n ? "Symbol(src)_1." + n : "";
}(), Zt = Xe.toString, ml = zt.call(un), Ol = xn._, Ll = ni(
"^" + zt.call(nn).replace(Br, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
), Yt = Iu ? p.Buffer : u, xe = p.Symbol, kt = p.Uint8Array, Wu = Yt ? Yt.allocUnsafe : u, Xt = Bu(un.getPrototypeOf, un), Ku = un.create, Gu = Xe.propertyIsEnumerable, Jt = $t.splice, Hu = xe ? xe.isConcatSpreadable : u, pt = xe ? xe.iterator : u, Se = xe ? xe.toStringTag : u, Qt = function() {
try {
var n = Be(un, "defineProperty");
return n({}, "", {}), n;
} catch {
}
}(), Cl = p.clearTimeout !== xn.clearTimeout && p.clearTimeout, Rl = x && x.now !== xn.Date.now && x.now, Al = p.setTimeout !== xn.setTimeout && p.setTimeout, Vt = dn.ceil, jt = dn.floor, ei = un.getOwnPropertySymbols, yl = Yt ? Yt.isBuffer : u, $u = p.isFinite, Nl = $t.join, Sl = Bu(un.keys, un), vn = dn.max, On = dn.min, Dl = x.now, Ml = p.parseInt, qu = dn.random, bl = $t.reverse, ti = Be(p, "DataView"), dt = Be(p, "Map"), ri = Be(p, "Promise"), Je = Be(p, "Set"), vt = Be(p, "WeakMap"), Et = Be(un, "create"), nr = vt && new vt(), Qe = {}, Pl = Fe(ti), Bl = Fe(dt), Fl = Fe(ri), Ul = Fe(Je), Wl = Fe(vt), er = xe ? xe.prototype : u, Tt = er ? er.valueOf : u, zu = er ? er.toString : u;
function f(n) {
if (hn(n) && !M(n) && !(n instanceof H)) {
if (n instanceof $n)
return n;
if (nn.call(n, "__wrapped__"))
return Yf(n);
}
return new $n(n);
}
var Ve = /* @__PURE__ */ function() {
function n() {
}
return function(e) {
if (!cn(e))
return {};
if (Ku)
return Ku(e);
n.prototype = e;
var t = new n();
return n.prototype = u, t;
};
}();
function tr() {
}
function $n(n, e) {
this.__wrapped__ = n, this.__actions__ = [], this.__chain__ = !!e, this.__index__ = 0, this.__values__ = u;
}
f.templateSettings = {
/**
* Used to detect `data` property values to be HTML-escaped.
*
* @memberOf _.templateSettings
* @type {RegExp}
*/
escape: jo,
/**
* Used to detect code to be evaluated.
*
* @memberOf _.templateSettings
* @type {RegExp}
*/
evaluate: ns,
/**
* Used to detect `data` property values to inject.
*
* @memberOf _.templateSettings
* @type {RegExp}
*/
interpolate: nu,
/**
* Used to reference the data object in the template text.
*
* @memberOf _.templateSettings
* @type {string}
*/
variable: "",
/**
* Used to import variables into the compiled template.
*
* @memberOf _.templateSettings
* @type {Object}
*/
imports: {
/**
* A reference to the `lodash` function.
*
* @memberOf _.templateSettings.imports
* @type {Function}
*/
_: f
}
}, f.prototype = tr.prototype, f.prototype.constructor = f, $n.prototype = Ve(tr.prototype), $n.prototype.constructor = $n;
function H(n) {
this.__wrapped__ = n, this.__actions__ = [], this.__dir__ = 1, this.__filtered__ = !1, this.__iteratees__ = [], this.__takeCount__ = ie, this.__views__ = [];
}
function Kl() {
var n = new H(this.__wrapped__);
return n.__actions__ = yn(this.__actions__), n.__dir__ = this.__dir__, n.__filtered__ = this.__filtered__, n.__iteratees__ = yn(this.__iteratees__), n.__takeCount__ = this.__takeCount__, n.__views__ = yn(this.__views__), n;
}
function Gl() {
if (this.__filtered__) {
var n = new H(this);
n.__dir__ = -1, n.__filtered__ = !0;
} else
n = this.clone(), n.__dir__ *= -1;
return n;
}
function Hl() {
var n = this.__wrapped__.value(), e = this.__dir__, t = M(n), r = e < 0, i = t ? n.length : 0, o = nc(0, i, this.__views__), s = o.start, l = o.end, h = l - s, d = r ? l : s - 1, v = this.__iteratees__, E = v.length, T = 0, L = On(h, this.__takeCount__);
if (!t || !r && i == h && L == h)
return df(n, this.__actions__);
var y = [];
n:
for (; h-- && T < L; ) {
d += e;
for (var B = -1, N = n[d]; ++B < E; ) {
var K = v[B], $ = K.iteratee, Un = K.type, An = $(N);
if (Un == Bo)
N = An;
else if (!An) {
if (Un == Ee)
continue n;
break n;
}
}
y[T++] = N;
}
return y;
}
H.prototype = Ve(tr.prototype), H.prototype.constructor = H;
function De(n) {
var e = -1, t = n == null ? 0 : n.length;
for (this.clear(); ++e < t; ) {
var r = n[e];
this.set(r[0], r[1]);
}
}
function $l() {
this.__data__ = Et ? Et(null) : {}, this.size = 0;
}
function ql(n) {
var e = this.has(n) && delete this.__data__[n];
return this.size -= e ? 1 : 0, e;
}
function zl(n) {
var e = this.__data__;
if (Et) {
var t = e[n];
return t === q ? u : t;
}
return nn.call(e, n) ? e[n] : u;
}
function Zl(n) {
var e = this.__data__;
return Et ? e[n] !== u : nn.call(e, n);
}
function Yl(n, e) {
var t = this.__data__;
return this.size += this.has(n) ? 0 : 1, t[n] = Et && e === u ? q : e, this;
}
De.prototype.clear = $l, De.prototype.delete = ql, De.prototype.get = zl, De.prototype.has = Zl, De.prototype.set = Yl;
function le(n) {
var e = -1, t = n == null ? 0 : n.length;
for (this.clear(); ++e < t; ) {
var r = n[e];
this.set(r[0], r[1]);
}
}
function kl() {
this.__data__ = [], this.size = 0;
}
function Xl(n) {
var e = this.__data__, t = rr(e, n);
if (t < 0)
return !1;
var r = e.length - 1;
return t == r ? e.pop() : Jt.call(e, t, 1), --this.size, !0;
}
function Jl(n) {
var e = this.__data__, t = rr(e, n);
return t < 0 ? u : e[t][1];
}
function Ql(n) {
return rr(this.__data__, n) > -1;
}
function Vl(n, e) {
var t = this.__data__, r = rr(t, n);
return r < 0 ? (++this.size, t.push([n, e])) : t[r][1] = e, this;
}
le.prototype.clear = kl, le.prototype.delete = Xl, le.prototype.get = Jl, le.prototype.has = Ql, le.prototype.set = Vl;
function ae(n) {
var e = -1, t = n == null ? 0 : n.length;
for (this.clear(); ++e < t; ) {
var r = n[e];
this.set(r[0], r[1]);
}
}
function jl() {
this.size = 0, this.__data__ = {
hash: new De(),
map: new (dt || le)(),
string: new De()
};
}
function na(n) {
var e = pr(this, n).delete(n);
return this.size -= e ? 1 : 0, e;
}
function ea(n) {
return pr(this, n).get(n);
}
function ta(n) {
return pr(this, n).has(n);
}
function ra(n, e) {
var t = pr(this, n), r = t.size;
return t.set(n, e), this.size += t.size == r ? 0 : 1, this;
}
ae.prototype.clear = jl, ae.prototype.delete = na, ae.prototype.get = ea, ae.prototype.has = ta, ae.prototype.set = ra;
function Me(n) {
var e = -1, t = n == null ? 0 : n.length;
for (this.__data__ = new ae(); ++e < t; )
this.add(n[e]);
}
function ia(n) {
return this.__data__.set(n, q), this;
}
function ua(n) {
return this.__data__.has(n);
}
Me.prototype.add = Me.prototype.push = ia, Me.prototype.has = ua;
function jn(n) {
var e = this.__data__ = new le(n);
this.size = e.size;
}
function fa() {
this.__data__ = new le(), this.size = 0;
}
function oa(n) {
var e = this.__data__, t = e.delete(n);
return this.size = e.size, t;
}
function sa(n) {
return this.__data__.get(n);
}
function la(n) {
return this.__data__.has(n);
}
function aa(n, e) {
var t = this.__data__;
if (t instanceof le) {
var r = t.__data__;
if (!dt || r.length < R - 1)
return r.push([n, e]), this.size = ++t.size, this;
t = this.__data__ = new ae(r);
}
return t.set(n, e), this.size = t.size, this;
}
jn.prototype.clear = fa, jn.prototype.delete = oa, jn.prototype.get = sa, jn.prototype.has = la, jn.prototype.set = aa;
function Zu(n, e) {
var t = M(n), r = !t && Ue(n), i = !t && !r && Re(n), o = !t && !r && !i && tt(n), s = t || r || i || o, l = s ? Qr(n.length, wl) : [], h = l.length;
for (var d in n)
(e || nn.call(n, d)) && !(s && // Safari 9 has enumerable `arguments.length` in strict mode.
(d == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
i && (d == "offset" || d == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
o && (d == "buffer" || d == "byteLength" || d == "byteOffset") || // Skip index properties.
_e(d, h))) && l.push(d);
return l;
}
function Yu(n) {
var e = n.length;
return e ? n[_i(0, e - 1)] : u;
}
function ca(n, e) {
return dr(yn(n), be(e, 0, n.length));
}
function ha(n) {
return dr(yn(n));
}
function ii(n, e, t) {
(t !== u && !ne(n[e], t) || t === u && !(e in n)) && ce(n, e, t);
}
function wt(n, e, t) {
var r = n[e];
(!(nn.call(n, e) && ne(r, t)) || t === u && !(e in n)) && ce(n, e, t);
}
function rr(n, e) {
for (var t = n.length; t--; )
if (ne(n[t][0], e))
return t;
return -1;
}
function ga(n, e, t, r) {
return me(n, function(i, o, s) {
e(r, i, t(i), s);
}), r;
}
function ku(n, e) {
return n && fe(e, In(e), n);
}
function _a(n, e) {
return n && fe(e, Sn(e), n);
}
function ce(n, e, t) {
e == "__proto__" && Qt ? Qt(n, e, {
configurable: !0,
enumerable: !0,
value: t,
writable: !0
}) : n[e] = t;
}
function ui(n, e) {
for (var t = -1, r = e.length, i = g(r), o = n == null; ++t < r; )
i[t] = o ? u : Wi(n, e[t]);
return i;
}
function be(n, e, t) {
return n === n && (t !== u && (n = n <= t ? n : t), e !== u && (n = n >= e ? n : e)), n;
}
function qn(n, e, t, r, i, o) {
var s, l = e & S, h = e & en, d = e & J;
if (t && (s = i ? t(n, r, i, o) : t(n)), s !== u)
return s;
if (!cn(n))
return n;
var v = M(n);
if (v) {
if (s = tc(n), !l)
return yn(n, s);
} else {
var E = Ln(n), T = E == Pt || E == Ji;
if (Re(n))
return Tf(n, l);
if (E == se || E == He || T && !i) {
if (s = h || T ? {} : Uf(n), !l)
return h ? za(n, _a(s, n)) : qa(n, ku(s, n));
} else {
if (!fn[E])
return i ? n : {};
s = rc(n, E, l);
}
}
o || (o = new jn());
var L = o.get(n);
if (L)
return L;
o.set(n, s), go(n) ? n.forEach(function(N) {
s.add(qn(N, e, t, N, n, o));
}) : co(n) && n.forEach(function(N, K) {
s.set(K, qn(N, e, t, K, n, o));
});
var y = d ? h ? Li : Oi : h ? Sn : In, B = v ? u : y(n);
return Gn(B || n, function(N, K) {
B && (K = N, N = n[K]), wt(s, K, qn(N, e, t, K, n, o));
}), s;
}
function pa(n) {
var e = In(n);
return function(t) {
return Xu(t, n, e);
};
}
function Xu(n, e, t) {
var r = t.length;
if (n == null)
return !r;
for (n = un(n); r--; ) {
var i = t[r], o = e[i], s = n[i];
if (s === u && !(i in n) || !o(s))
return !1;
}
return !0;
}
function Ju(n, e, t) {
if (typeof n != "function")
throw new Hn(O);
return Rt(function() {
n.apply(u, t);
}, e);
}
function It(n, e, t, r) {
var i = -1, o = Kt, s = !0, l = n.length, h = [], d = e.length;
if (!l)
return h;
t && (e = ln(e, Pn(t))), r ? (o = zr, s = !1) : e.length >= R && (o = _t, s = !1, e = new Me(e));
n:
for (; ++i < l; ) {
var v = n[i], E = t == null ? v : t(v);
if (v = r || v !== 0 ? v : 0, s && E === E) {
for (var T = d; T--; )
if (e[T] === E)
continue n;
h.push(v);
} else o(e, E, r) || h.push(v);
}
return h;
}
var me = Of(ue), Qu = Of(oi, !0);
function da(n, e) {
var t = !0;
return me(n, function(r, i, o) {
return t = !!e(r, i, o), t;
}), t;
}
function ir(n, e, t) {
for (var r = -1, i = n.length; ++r < i; ) {
var o = n[r], s = e(o);
if (s != null && (l === u ? s === s && !Fn(s) : t(s, l)))
var l = s, h = o;
}
return h;
}
function va(n, e, t, r) {
var i = n.length;
for (t = b(t), t < 0 && (t = -t > i ? 0 : i + t), r = r === u || r > i ? i : b(r), r < 0 && (r += i), r = t > r ? 0 : po(r); t < r; )
n[t++] = e;
return n;
}
function Vu(n, e) {
var t = [];
return me(n, function(r, i, o) {
e(r, i, o) && t.push(r);
}), t;
}
function mn(n, e, t, r, i) {
var o = -1, s = n.length;
for (t || (t = uc), i || (i = []); ++o < s; ) {
var l = n[o];
e > 0 && t(l) ? e > 1 ? mn(l, e - 1, t, r, i) : we(i, l) : r || (i[i.length] = l);
}
return i;
}
var fi = Lf(), ju = Lf(!0);
function ue(n, e) {
return n && fi(n, e, In);
}
function oi(n, e) {
return n && ju(n, e, In);
}
function ur(n, e) {
return Te(e, function(t) {
return pe(n[t]);
});
}
function Pe(n, e) {
e = Le(e, n);
for (var t = 0, r = e.length; n != null && t < r; )
n = n[oe(e[t++])];
return t && t == r ? n : u;
}
function nf(n, e, t) {
var r = e(n);
return M(n) ? r : we(r, t(n));
}
function Cn(n) {
return n == null ? n === u ? Zo : qo : Se && Se in un(n) ? ja(n) : hc(n);
}
function si(n, e) {
return n > e;
}
function Ea(n, e) {
return n != null && nn.call(n, e);
}
function Ta(n, e) {
return n != null && e in un(n);
}
function wa(n, e, t) {
return n >= On(e, t) && n < vn(e, t);
}
function li(n, e, t) {
for (var r = t ? zr : Kt, i = n[0].length, o = n.length, s = o, l = g(o), h = 1 / 0, d = []; s--; ) {
var v = n[s];
s && e && (v = ln(v, Pn(e))), h = On(v.length, h), l[s] = !t && (e || i >= 120 && v.length >= 120) ? new Me(s && v) : u;
}
v = n[0];
var E = -1, T = l[0];
n:
for (; ++E < i && d.length < h; ) {
var L = v[E], y = e ? e(L) : L;
if (L = t || L !== 0 ? L : 0, !(T ? _t(T, y) : r(d, y, t))) {
for (s = o; --s; ) {
var B = l[s];
if (!(B ? _t(B, y) : r(n[s], y, t)))
continue n;
}
T && T.push(y), d.push(L);
}
}
return d;
}
function Ia(n, e, t, r) {
return ue(n, function(i, o, s) {
e(r, t(i), o, s);
}), r;
}
function xt(n, e, t) {
e = Le(e, n), n = Hf(n, e);
var r = n == null ? n : n[oe(Zn(e))];
return r == null ? u : bn(r, n, t);
}
function ef(n) {
return hn(n) && Cn(n) == He;
}
function xa(n) {
return hn(n) && Cn(n) == gt;
}
function ma(n) {
return hn(n) && Cn(n) == st;
}
function mt(n, e, t, r, i) {
return n === e ? !0 : n == null || e == null || !hn(n) && !hn(e) ? n !== n && e !== e : Oa(n, e,