{
  "version": 3,
  "sources": ["../../@abi-software/plotvuer/dist/plotvuer.js"],
  "sourcesContent": ["import { getCurrentScope as LR, onScopeDispose as DR, unref as $e, getCurrentInstance as xa, onMounted as Zn, nextTick as ja, watch as _r, ref as Rt, defineComponent as er, openBlock as At, createElementBlock as Xt, createElementVNode as cr, warn as ER, inject as Rr, computed as et, isRef as FR, shallowRef as d3, onBeforeUnmount as mi, onBeforeMount as RR, provide as wa, mergeProps as fs, renderSlot as ur, toRef as Ii, onUnmounted as PR, createBlock as kr, Transition as Ov, withCtx as ir, withDirectives as yo, normalizeClass as Vt, normalizeStyle as Hi, vShow as ju, Fragment as wo, createVNode as Ar, reactive as ts, onActivated as $R, onUpdated as zR, resolveDynamicComponent as bo, createCommentVNode as Fr, cloneVNode as IR, Text as h3, Comment as NR, Teleport as OR, readonly as HR, onDeactivated as BR, toDisplayString as ga, useSlots as jR, withModifiers as pa, toHandlers as UR, withKeys as eu, createTextVNode as rs, toRaw as l1, toRefs as s1, watchEffect as GR, resolveComponent as uo, resolveDirective as VR, toHandlerKey as qR, renderList as xu, vModelText as WR, markRaw as co } from \"vue\";\nfunction ZR(e) {\n  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, \"default\") ? e.default : e;\n}\nvar v3 = { exports: {} }, cn = v3.exports = {}, Ri, Pi;\nfunction N0() {\n  throw new Error(\"setTimeout has not been defined\");\n}\nfunction O0() {\n  throw new Error(\"clearTimeout has not been defined\");\n}\n(function() {\n  try {\n    typeof setTimeout == \"function\" ? Ri = setTimeout : Ri = N0;\n  } catch {\n    Ri = N0;\n  }\n  try {\n    typeof clearTimeout == \"function\" ? Pi = clearTimeout : Pi = O0;\n  } catch {\n    Pi = O0;\n  }\n})();\nfunction p3(e) {\n  if (Ri === setTimeout)\n    return setTimeout(e, 0);\n  if ((Ri === N0 || !Ri) && setTimeout)\n    return Ri = setTimeout, setTimeout(e, 0);\n  try {\n    return Ri(e, 0);\n  } catch {\n    try {\n      return Ri.call(null, e, 0);\n    } catch {\n      return Ri.call(this, e, 0);\n    }\n  }\n}\nfunction YR(e) {\n  if (Pi === clearTimeout)\n    return clearTimeout(e);\n  if ((Pi === O0 || !Pi) && clearTimeout)\n    return Pi = clearTimeout, clearTimeout(e);\n  try {\n    return Pi(e);\n  } catch {\n    try {\n      return Pi.call(null, e);\n    } catch {\n      return Pi.call(this, e);\n    }\n  }\n}\nvar po = [], mu = !1, Ol, Dh = -1;\nfunction XR() {\n  !mu || !Ol || (mu = !1, Ol.length ? po = Ol.concat(po) : Dh = -1, po.length && m3());\n}\nfunction m3() {\n  if (!mu) {\n    var e = p3(XR);\n    mu = !0;\n    for (var t = po.length; t; ) {\n      for (Ol = po, po = []; ++Dh < t; )\n        Ol && Ol[Dh].run();\n      Dh = -1, t = po.length;\n    }\n    Ol = null, mu = !1, YR(e);\n  }\n}\ncn.nextTick = function(e) {\n  var t = new Array(arguments.length - 1);\n  if (arguments.length > 1)\n    for (var r = 1; r < arguments.length; r++)\n      t[r - 1] = arguments[r];\n  po.push(new g3(e, t)), po.length === 1 && !mu && p3(m3);\n};\nfunction g3(e, t) {\n  this.fun = e, this.array = t;\n}\ng3.prototype.run = function() {\n  this.fun.apply(null, this.array);\n};\ncn.title = \"browser\";\ncn.browser = !0;\ncn.env = {};\ncn.argv = [];\ncn.version = \"\";\ncn.versions = {};\nfunction Mo() {\n}\ncn.on = Mo;\ncn.addListener = Mo;\ncn.once = Mo;\ncn.off = Mo;\ncn.removeListener = Mo;\ncn.removeAllListeners = Mo;\ncn.emit = Mo;\ncn.prependListener = Mo;\ncn.prependOnceListener = Mo;\ncn.listeners = function(e) {\n  return [];\n};\ncn.binding = function(e) {\n  throw new Error(\"process.binding is not supported\");\n};\ncn.cwd = function() {\n  return \"/\";\n};\ncn.chdir = function(e) {\n  throw new Error(\"process.chdir is not supported\");\n};\ncn.umask = function() {\n  return 0;\n};\nvar KR = v3.exports;\nconst cs = /* @__PURE__ */ ZR(KR), fo = (e, t, { checkForDefaultPrevented: r = !0 } = {}) => (a) => {\n  const i = e == null ? void 0 : e(a);\n  if (r === !1 || !i)\n    return t == null ? void 0 : t(a);\n}, lu = globalThis || void 0 || self;\nvar Ox;\nconst qn = typeof window < \"u\", JR = (e) => typeof e == \"string\", y3 = () => {\n}, H0 = qn && ((Ox = window == null ? void 0 : window.navigator) == null ? void 0 : Ox.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent);\nfunction b3(e) {\n  return typeof e == \"function\" ? e() : $e(e);\n}\nfunction QR(e) {\n  return e;\n}\nfunction Hv(e) {\n  return LR() ? (DR(e), !0) : !1;\n}\nfunction eP(e, t = !0) {\n  xa() ? Zn(e) : t ? e() : ja(e);\n}\nfunction mo(e) {\n  var t;\n  const r = b3(e);\n  return (t = r == null ? void 0 : r.$el) != null ? t : r;\n}\nconst Bv = qn ? window : void 0;\nfunction ui(...e) {\n  let t, r, n, a;\n  if (JR(e[0]) || Array.isArray(e[0]) ? ([r, n, a] = e, t = Bv) : [t, r, n, a] = e, !t)\n    return y3;\n  Array.isArray(r) || (r = [r]), Array.isArray(n) || (n = [n]);\n  const i = [], o = () => {\n    i.forEach((f) => f()), i.length = 0;\n  }, l = (f, d, h, p) => (f.addEventListener(d, h, p), () => f.removeEventListener(d, h, p)), s = _r(() => [mo(t), b3(a)], ([f, d]) => {\n    o(), f && i.push(...r.flatMap((h) => n.map((p) => l(f, h, p, d))));\n  }, { immediate: !0, flush: \"post\" }), u = () => {\n    s(), o();\n  };\n  return Hv(u), u;\n}\nlet Hx = !1;\nfunction tP(e, t, r = {}) {\n  const { window: n = Bv, ignore: a = [], capture: i = !0, detectIframe: o = !1 } = r;\n  if (!n)\n    return;\n  H0 && !Hx && (Hx = !0, Array.from(n.document.body.children).forEach((h) => h.addEventListener(\"click\", y3)));\n  let l = !0;\n  const s = (h) => a.some((p) => {\n    if (typeof p == \"string\")\n      return Array.from(n.document.querySelectorAll(p)).some((v) => v === h.target || h.composedPath().includes(v));\n    {\n      const v = mo(p);\n      return v && (h.target === v || h.composedPath().includes(v));\n    }\n  }), f = [\n    ui(n, \"click\", (h) => {\n      const p = mo(e);\n      if (!(!p || p === h.target || h.composedPath().includes(p))) {\n        if (h.detail === 0 && (l = !s(h)), !l) {\n          l = !0;\n          return;\n        }\n        t(h);\n      }\n    }, { passive: !0, capture: i }),\n    ui(n, \"pointerdown\", (h) => {\n      const p = mo(e);\n      p && (l = !h.composedPath().includes(p) && !s(h));\n    }, { passive: !0 }),\n    o && ui(n, \"blur\", (h) => {\n      var p;\n      const v = mo(e);\n      ((p = n.document.activeElement) == null ? void 0 : p.tagName) === \"IFRAME\" && !(v != null && v.contains(n.document.activeElement)) && t(h);\n    })\n  ].filter(Boolean);\n  return () => f.forEach((h) => h());\n}\nfunction _3(e, t = !1) {\n  const r = Rt(), n = () => r.value = !!e();\n  return n(), eP(n, t), r;\n}\nconst B0 = typeof globalThis < \"u\" ? globalThis : typeof window < \"u\" ? window : typeof lu < \"u\" ? lu : typeof self < \"u\" ? self : {}, j0 = \"__vueuse_ssr_handlers__\";\nB0[j0] = B0[j0] || {};\nB0[j0];\nvar Bx = Object.getOwnPropertySymbols, rP = Object.prototype.hasOwnProperty, nP = Object.prototype.propertyIsEnumerable, aP = (e, t) => {\n  var r = {};\n  for (var n in e)\n    rP.call(e, n) && t.indexOf(n) < 0 && (r[n] = e[n]);\n  if (e != null && Bx)\n    for (var n of Bx(e))\n      t.indexOf(n) < 0 && nP.call(e, n) && (r[n] = e[n]);\n  return r;\n};\nfunction Wo(e, t, r = {}) {\n  const n = r, { window: a = Bv } = n, i = aP(n, [\"window\"]);\n  let o;\n  const l = _3(() => a && \"ResizeObserver\" in a), s = () => {\n    o && (o.disconnect(), o = void 0);\n  }, u = _r(() => mo(e), (d) => {\n    s(), l.value && a && d && (o = new ResizeObserver(t), o.observe(d, i));\n  }, { immediate: !0, flush: \"post\" }), f = () => {\n    s(), u();\n  };\n  return Hv(f), {\n    isSupported: l,\n    stop: f\n  };\n}\nvar jx = Object.getOwnPropertySymbols, iP = Object.prototype.hasOwnProperty, oP = Object.prototype.propertyIsEnumerable, lP = (e, t) => {\n  var r = {};\n  for (var n in e)\n    iP.call(e, n) && t.indexOf(n) < 0 && (r[n] = e[n]);\n  if (e != null && jx)\n    for (var n of jx(e))\n      t.indexOf(n) < 0 && oP.call(e, n) && (r[n] = e[n]);\n  return r;\n};\nfunction sP(e, t, r = {}) {\n  const n = r, { window: a = Bv } = n, i = lP(n, [\"window\"]);\n  let o;\n  const l = _3(() => a && \"MutationObserver\" in a), s = () => {\n    o && (o.disconnect(), o = void 0);\n  }, u = _r(() => mo(e), (d) => {\n    s(), l.value && a && d && (o = new MutationObserver(t), o.observe(d, i));\n  }, { immediate: !0 }), f = () => {\n    s(), u();\n  };\n  return Hv(f), {\n    isSupported: l,\n    stop: f\n  };\n}\nvar Ux;\n(function(e) {\n  e.UP = \"UP\", e.RIGHT = \"RIGHT\", e.DOWN = \"DOWN\", e.LEFT = \"LEFT\", e.NONE = \"NONE\";\n})(Ux || (Ux = {}));\nvar uP = Object.defineProperty, Gx = Object.getOwnPropertySymbols, fP = Object.prototype.hasOwnProperty, cP = Object.prototype.propertyIsEnumerable, Vx = (e, t, r) => t in e ? uP(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, dP = (e, t) => {\n  for (var r in t || (t = {}))\n    fP.call(t, r) && Vx(e, r, t[r]);\n  if (Gx)\n    for (var r of Gx(t))\n      cP.call(t, r) && Vx(e, r, t[r]);\n  return e;\n};\nconst hP = {\n  easeInSine: [0.12, 0, 0.39, 0],\n  easeOutSine: [0.61, 1, 0.88, 1],\n  easeInOutSine: [0.37, 0, 0.63, 1],\n  easeInQuad: [0.11, 0, 0.5, 0],\n  easeOutQuad: [0.5, 1, 0.89, 1],\n  easeInOutQuad: [0.45, 0, 0.55, 1],\n  easeInCubic: [0.32, 0, 0.67, 0],\n  easeOutCubic: [0.33, 1, 0.68, 1],\n  easeInOutCubic: [0.65, 0, 0.35, 1],\n  easeInQuart: [0.5, 0, 0.75, 0],\n  easeOutQuart: [0.25, 1, 0.5, 1],\n  easeInOutQuart: [0.76, 0, 0.24, 1],\n  easeInQuint: [0.64, 0, 0.78, 0],\n  easeOutQuint: [0.22, 1, 0.36, 1],\n  easeInOutQuint: [0.83, 0, 0.17, 1],\n  easeInExpo: [0.7, 0, 0.84, 0],\n  easeOutExpo: [0.16, 1, 0.3, 1],\n  easeInOutExpo: [0.87, 0, 0.13, 1],\n  easeInCirc: [0.55, 0, 1, 0.45],\n  easeOutCirc: [0, 0.55, 0.45, 1],\n  easeInOutCirc: [0.85, 0, 0.15, 1],\n  easeInBack: [0.36, 0, 0.66, -0.56],\n  easeOutBack: [0.34, 1.56, 0.64, 1],\n  easeInOutBack: [0.68, -0.6, 0.32, 1.6]\n};\ndP({\n  linear: QR\n}, hP);\ncs.env.NODE_ENV !== \"production\" && Object.freeze({});\ncs.env.NODE_ENV !== \"production\" && Object.freeze([]);\nconst Kh = () => {\n}, vP = Object.prototype.hasOwnProperty, qx = (e, t) => vP.call(e, t), Ni = Array.isArray, ua = (e) => typeof e == \"function\", Uu = (e) => typeof e == \"string\", Oi = (e) => e !== null && typeof e == \"object\", pP = Object.prototype.toString, mP = (e) => pP.call(e), Sm = (e) => mP(e).slice(8, -1);\nvar x3 = typeof lu == \"object\" && lu && lu.Object === Object && lu, gP = typeof self == \"object\" && self && self.Object === Object && self, qi = x3 || gP || Function(\"return this\")(), Ui = qi.Symbol, w3 = Object.prototype, yP = w3.hasOwnProperty, bP = w3.toString, pf = Ui ? Ui.toStringTag : void 0;\nfunction _P(e) {\n  var t = yP.call(e, pf), r = e[pf];\n  try {\n    e[pf] = void 0;\n    var n = !0;\n  } catch {\n  }\n  var a = bP.call(e);\n  return n && (t ? e[pf] = r : delete e[pf]), a;\n}\nvar xP = Object.prototype, wP = xP.toString;\nfunction TP(e) {\n  return wP.call(e);\n}\nvar kP = \"[object Null]\", AP = \"[object Undefined]\", Wx = Ui ? Ui.toStringTag : void 0;\nfunction Gu(e) {\n  return e == null ? e === void 0 ? AP : kP : Wx && Wx in Object(e) ? _P(e) : TP(e);\n}\nfunction wu(e) {\n  return e != null && typeof e == \"object\";\n}\nvar MP = \"[object Symbol]\";\nfunction jv(e) {\n  return typeof e == \"symbol\" || wu(e) && Gu(e) == MP;\n}\nfunction SP(e, t) {\n  for (var r = -1, n = e == null ? 0 : e.length, a = Array(n); ++r < n; )\n    a[r] = t(e[r], r, e);\n  return a;\n}\nvar pi = Array.isArray, CP = 1 / 0, Zx = Ui ? Ui.prototype : void 0, Yx = Zx ? Zx.toString : void 0;\nfunction T3(e) {\n  if (typeof e == \"string\")\n    return e;\n  if (pi(e))\n    return SP(e, T3) + \"\";\n  if (jv(e))\n    return Yx ? Yx.call(e) : \"\";\n  var t = e + \"\";\n  return t == \"0\" && 1 / e == -CP ? \"-0\" : t;\n}\nvar LP = /\\s/;\nfunction DP(e) {\n  for (var t = e.length; t-- && LP.test(e.charAt(t)); )\n    ;\n  return t;\n}\nvar EP = /^\\s+/;\nfunction FP(e) {\n  return e && e.slice(0, DP(e) + 1).replace(EP, \"\");\n}\nfunction ll(e) {\n  var t = typeof e;\n  return e != null && (t == \"object\" || t == \"function\");\n}\nvar Xx = NaN, RP = /^[-+]0x[0-9a-f]+$/i, PP = /^0b[01]+$/i, $P = /^0o[0-7]+$/i, zP = parseInt;\nfunction Kx(e) {\n  if (typeof e == \"number\")\n    return e;\n  if (jv(e))\n    return Xx;\n  if (ll(e)) {\n    var t = typeof e.valueOf == \"function\" ? e.valueOf() : e;\n    e = ll(t) ? t + \"\" : t;\n  }\n  if (typeof e != \"string\")\n    return e === 0 ? e : +e;\n  e = FP(e);\n  var r = PP.test(e);\n  return r || $P.test(e) ? zP(e.slice(2), r ? 2 : 8) : RP.test(e) ? Xx : +e;\n}\nfunction k3(e) {\n  return e;\n}\nvar IP = \"[object AsyncFunction]\", NP = \"[object Function]\", OP = \"[object GeneratorFunction]\", HP = \"[object Proxy]\";\nfunction A3(e) {\n  if (!ll(e))\n    return !1;\n  var t = Gu(e);\n  return t == NP || t == OP || t == IP || t == HP;\n}\nvar Cm = qi[\"__core-js_shared__\"], Jx = function() {\n  var e = /[^.]+$/.exec(Cm && Cm.keys && Cm.keys.IE_PROTO || \"\");\n  return e ? \"Symbol(src)_1.\" + e : \"\";\n}();\nfunction BP(e) {\n  return !!Jx && Jx in e;\n}\nvar jP = Function.prototype, UP = jP.toString;\nfunction ds(e) {\n  if (e != null) {\n    try {\n      return UP.call(e);\n    } catch {\n    }\n    try {\n      return e + \"\";\n    } catch {\n    }\n  }\n  return \"\";\n}\nvar GP = /[\\\\^$.*+?()[\\]{}|]/g, VP = /^\\[object .+?Constructor\\]$/, qP = Function.prototype, WP = Object.prototype, ZP = qP.toString, YP = WP.hasOwnProperty, XP = RegExp(\n  \"^\" + ZP.call(YP).replace(GP, \"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, \"$1.*?\") + \"$\"\n);\nfunction KP(e) {\n  if (!ll(e) || BP(e))\n    return !1;\n  var t = A3(e) ? XP : VP;\n  return t.test(ds(e));\n}\nfunction JP(e, t) {\n  return e == null ? void 0 : e[t];\n}\nfunction hs(e, t) {\n  var r = JP(e, t);\n  return KP(r) ? r : void 0;\n}\nvar U0 = hs(qi, \"WeakMap\");\nfunction QP(e, t, r) {\n  switch (r.length) {\n    case 0:\n      return e.call(t);\n    case 1:\n      return e.call(t, r[0]);\n    case 2:\n      return e.call(t, r[0], r[1]);\n    case 3:\n      return e.call(t, r[0], r[1], r[2]);\n  }\n  return e.apply(t, r);\n}\nvar e$ = 800, t$ = 16, r$ = Date.now;\nfunction n$(e) {\n  var t = 0, r = 0;\n  return function() {\n    var n = r$(), a = t$ - (n - r);\n    if (r = n, a > 0) {\n      if (++t >= e$)\n        return arguments[0];\n    } else\n      t = 0;\n    return e.apply(void 0, arguments);\n  };\n}\nfunction a$(e) {\n  return function() {\n    return e;\n  };\n}\nvar Jh = function() {\n  try {\n    var e = hs(Object, \"defineProperty\");\n    return e({}, \"\", {}), e;\n  } catch {\n  }\n}(), i$ = Jh ? function(e, t) {\n  return Jh(e, \"toString\", {\n    configurable: !0,\n    enumerable: !1,\n    value: a$(t),\n    writable: !0\n  });\n} : k3, o$ = n$(i$);\nfunction l$(e, t, r, n) {\n  e.length;\n  for (var a = r + 1; a--; )\n    if (t(e[a], a, e))\n      return a;\n  return -1;\n}\nvar s$ = 9007199254740991, u$ = /^(?:0|[1-9]\\d*)$/;\nfunction u1(e, t) {\n  var r = typeof e;\n  return t = t ?? s$, !!t && (r == \"number\" || r != \"symbol\" && u$.test(e)) && e > -1 && e % 1 == 0 && e < t;\n}\nfunction f$(e, t, r) {\n  t == \"__proto__\" && Jh ? Jh(e, t, {\n    configurable: !0,\n    enumerable: !0,\n    value: r,\n    writable: !0\n  }) : e[t] = r;\n}\nfunction f1(e, t) {\n  return e === t || e !== e && t !== t;\n}\nvar c$ = Object.prototype, d$ = c$.hasOwnProperty;\nfunction h$(e, t, r) {\n  var n = e[t];\n  (!(d$.call(e, t) && f1(n, r)) || r === void 0 && !(t in e)) && f$(e, t, r);\n}\nvar Qx = Math.max;\nfunction v$(e, t, r) {\n  return t = Qx(t === void 0 ? e.length - 1 : t, 0), function() {\n    for (var n = arguments, a = -1, i = Qx(n.length - t, 0), o = Array(i); ++a < i; )\n      o[a] = n[t + a];\n    a = -1;\n    for (var l = Array(t + 1); ++a < t; )\n      l[a] = n[a];\n    return l[t] = r(o), QP(e, this, l);\n  };\n}\nvar p$ = 9007199254740991;\nfunction c1(e) {\n  return typeof e == \"number\" && e > -1 && e % 1 == 0 && e <= p$;\n}\nfunction m$(e) {\n  return e != null && c1(e.length) && !A3(e);\n}\nvar g$ = Object.prototype;\nfunction y$(e) {\n  var t = e && e.constructor, r = typeof t == \"function\" && t.prototype || g$;\n  return e === r;\n}\nfunction b$(e, t) {\n  for (var r = -1, n = Array(e); ++r < e; )\n    n[r] = t(r);\n  return n;\n}\nvar _$ = \"[object Arguments]\";\nfunction ew(e) {\n  return wu(e) && Gu(e) == _$;\n}\nvar M3 = Object.prototype, x$ = M3.hasOwnProperty, w$ = M3.propertyIsEnumerable, d1 = ew(/* @__PURE__ */ function() {\n  return arguments;\n}()) ? ew : function(e) {\n  return wu(e) && x$.call(e, \"callee\") && !w$.call(e, \"callee\");\n};\nfunction T$() {\n  return !1;\n}\nvar S3 = typeof exports == \"object\" && exports && !exports.nodeType && exports, tw = S3 && typeof module == \"object\" && module && !module.nodeType && module, k$ = tw && tw.exports === S3, rw = k$ ? qi.Buffer : void 0, A$ = rw ? rw.isBuffer : void 0, G0 = A$ || T$, M$ = \"[object Arguments]\", S$ = \"[object Array]\", C$ = \"[object Boolean]\", L$ = \"[object Date]\", D$ = \"[object Error]\", E$ = \"[object Function]\", F$ = \"[object Map]\", R$ = \"[object Number]\", P$ = \"[object Object]\", $$ = \"[object RegExp]\", z$ = \"[object Set]\", I$ = \"[object String]\", N$ = \"[object WeakMap]\", O$ = \"[object ArrayBuffer]\", H$ = \"[object DataView]\", B$ = \"[object Float32Array]\", j$ = \"[object Float64Array]\", U$ = \"[object Int8Array]\", G$ = \"[object Int16Array]\", V$ = \"[object Int32Array]\", q$ = \"[object Uint8Array]\", W$ = \"[object Uint8ClampedArray]\", Z$ = \"[object Uint16Array]\", Y$ = \"[object Uint32Array]\", Vr = {};\nVr[B$] = Vr[j$] = Vr[U$] = Vr[G$] = Vr[V$] = Vr[q$] = Vr[W$] = Vr[Z$] = Vr[Y$] = !0;\nVr[M$] = Vr[S$] = Vr[O$] = Vr[C$] = Vr[H$] = Vr[L$] = Vr[D$] = Vr[E$] = Vr[F$] = Vr[R$] = Vr[P$] = Vr[$$] = Vr[z$] = Vr[I$] = Vr[N$] = !1;\nfunction X$(e) {\n  return wu(e) && c1(e.length) && !!Vr[Gu(e)];\n}\nfunction K$(e) {\n  return function(t) {\n    return e(t);\n  };\n}\nvar C3 = typeof exports == \"object\" && exports && !exports.nodeType && exports, Jf = C3 && typeof module == \"object\" && module && !module.nodeType && module, J$ = Jf && Jf.exports === C3, Lm = J$ && x3.process, nw = function() {\n  try {\n    var e = Jf && Jf.require && Jf.require(\"util\").types;\n    return e || Lm && Lm.binding && Lm.binding(\"util\");\n  } catch {\n  }\n}(), aw = nw && nw.isTypedArray, L3 = aw ? K$(aw) : X$, Q$ = Object.prototype, ez = Q$.hasOwnProperty;\nfunction tz(e, t) {\n  var r = pi(e), n = !r && d1(e), a = !r && !n && G0(e), i = !r && !n && !a && L3(e), o = r || n || a || i, l = o ? b$(e.length, String) : [], s = l.length;\n  for (var u in e)\n    ez.call(e, u) && !(o && // Safari 9 has enumerable `arguments.length` in strict mode.\n    (u == \"length\" || // Node.js 0.10 has enumerable non-index properties on buffers.\n    a && (u == \"offset\" || u == \"parent\") || // PhantomJS 2 has enumerable non-index properties on typed arrays.\n    i && (u == \"buffer\" || u == \"byteLength\" || u == \"byteOffset\") || // Skip index properties.\n    u1(u, s))) && l.push(u);\n  return l;\n}\nfunction rz(e, t) {\n  return function(r) {\n    return e(t(r));\n  };\n}\nvar nz = rz(Object.keys, Object), az = Object.prototype, iz = az.hasOwnProperty;\nfunction oz(e) {\n  if (!y$(e))\n    return nz(e);\n  var t = [];\n  for (var r in Object(e))\n    iz.call(e, r) && r != \"constructor\" && t.push(r);\n  return t;\n}\nfunction D3(e) {\n  return m$(e) ? tz(e) : oz(e);\n}\nvar lz = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/, sz = /^\\w*$/;\nfunction h1(e, t) {\n  if (pi(e))\n    return !1;\n  var r = typeof e;\n  return r == \"number\" || r == \"symbol\" || r == \"boolean\" || e == null || jv(e) ? !0 : sz.test(e) || !lz.test(e) || t != null && e in Object(t);\n}\nvar cc = hs(Object, \"create\");\nfunction uz() {\n  this.__data__ = cc ? cc(null) : {}, this.size = 0;\n}\nfunction fz(e) {\n  var t = this.has(e) && delete this.__data__[e];\n  return this.size -= t ? 1 : 0, t;\n}\nvar cz = \"__lodash_hash_undefined__\", dz = Object.prototype, hz = dz.hasOwnProperty;\nfunction vz(e) {\n  var t = this.__data__;\n  if (cc) {\n    var r = t[e];\n    return r === cz ? void 0 : r;\n  }\n  return hz.call(t, e) ? t[e] : void 0;\n}\nvar pz = Object.prototype, mz = pz.hasOwnProperty;\nfunction gz(e) {\n  var t = this.__data__;\n  return cc ? t[e] !== void 0 : mz.call(t, e);\n}\nvar yz = \"__lodash_hash_undefined__\";\nfunction bz(e, t) {\n  var r = this.__data__;\n  return this.size += this.has(e) ? 0 : 1, r[e] = cc && t === void 0 ? yz : t, this;\n}\nfunction ns(e) {\n  var t = -1, r = e == null ? 0 : e.length;\n  for (this.clear(); ++t < r; ) {\n    var n = e[t];\n    this.set(n[0], n[1]);\n  }\n}\nns.prototype.clear = uz;\nns.prototype.delete = fz;\nns.prototype.get = vz;\nns.prototype.has = gz;\nns.prototype.set = bz;\nfunction _z() {\n  this.__data__ = [], this.size = 0;\n}\nfunction Uv(e, t) {\n  for (var r = e.length; r--; )\n    if (f1(e[r][0], t))\n      return r;\n  return -1;\n}\nvar xz = Array.prototype, wz = xz.splice;\nfunction Tz(e) {\n  var t = this.__data__, r = Uv(t, e);\n  if (r < 0)\n    return !1;\n  var n = t.length - 1;\n  return r == n ? t.pop() : wz.call(t, r, 1), --this.size, !0;\n}\nfunction kz(e) {\n  var t = this.__data__, r = Uv(t, e);\n  return r < 0 ? void 0 : t[r][1];\n}\nfunction Az(e) {\n  return Uv(this.__data__, e) > -1;\n}\nfunction Mz(e, t) {\n  var r = this.__data__, n = Uv(r, e);\n  return n < 0 ? (++this.size, r.push([e, t])) : r[n][1] = t, this;\n}\nfunction So(e) {\n  var t = -1, r = e == null ? 0 : e.length;\n  for (this.clear(); ++t < r; ) {\n    var n = e[t];\n    this.set(n[0], n[1]);\n  }\n}\nSo.prototype.clear = _z;\nSo.prototype.delete = Tz;\nSo.prototype.get = kz;\nSo.prototype.has = Az;\nSo.prototype.set = Mz;\nvar dc = hs(qi, \"Map\");\nfunction Sz() {\n  this.size = 0, this.__data__ = {\n    hash: new ns(),\n    map: new (dc || So)(),\n    string: new ns()\n  };\n}\nfunction Cz(e) {\n  var t = typeof e;\n  return t == \"string\" || t == \"number\" || t == \"symbol\" || t == \"boolean\" ? e !== \"__proto__\" : e === null;\n}\nfunction Gv(e, t) {\n  var r = e.__data__;\n  return Cz(t) ? r[typeof t == \"string\" ? \"string\" : \"hash\"] : r.map;\n}\nfunction Lz(e) {\n  var t = Gv(this, e).delete(e);\n  return this.size -= t ? 1 : 0, t;\n}\nfunction Dz(e) {\n  return Gv(this, e).get(e);\n}\nfunction Ez(e) {\n  return Gv(this, e).has(e);\n}\nfunction Fz(e, t) {\n  var r = Gv(this, e), n = r.size;\n  return r.set(e, t), this.size += r.size == n ? 0 : 1, this;\n}\nfunction Co(e) {\n  var t = -1, r = e == null ? 0 : e.length;\n  for (this.clear(); ++t < r; ) {\n    var n = e[t];\n    this.set(n[0], n[1]);\n  }\n}\nCo.prototype.clear = Sz;\nCo.prototype.delete = Lz;\nCo.prototype.get = Dz;\nCo.prototype.has = Ez;\nCo.prototype.set = Fz;\nvar Rz = \"Expected a function\";\nfunction v1(e, t) {\n  if (typeof e != \"function\" || t != null && typeof t != \"function\")\n    throw new TypeError(Rz);\n  var r = function() {\n    var n = arguments, a = t ? t.apply(this, n) : n[0], i = r.cache;\n    if (i.has(a))\n      return i.get(a);\n    var o = e.apply(this, n);\n    return r.cache = i.set(a, o) || i, o;\n  };\n  return r.cache = new (v1.Cache || Co)(), r;\n}\nv1.Cache = Co;\nvar Pz = 500;\nfunction $z(e) {\n  var t = v1(e, function(n) {\n    return r.size === Pz && r.clear(), n;\n  }), r = t.cache;\n  return t;\n}\nvar zz = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g, Iz = /\\\\(\\\\)?/g, Nz = $z(function(e) {\n  var t = [];\n  return e.charCodeAt(0) === 46 && t.push(\"\"), e.replace(zz, function(r, n, a, i) {\n    t.push(a ? i.replace(Iz, \"$1\") : n || r);\n  }), t;\n});\nfunction Oz(e) {\n  return e == null ? \"\" : T3(e);\n}\nfunction Vv(e, t) {\n  return pi(e) ? e : h1(e, t) ? [e] : Nz(Oz(e));\n}\nvar Hz = 1 / 0;\nfunction Bc(e) {\n  if (typeof e == \"string\" || jv(e))\n    return e;\n  var t = e + \"\";\n  return t == \"0\" && 1 / e == -Hz ? \"-0\" : t;\n}\nfunction p1(e, t) {\n  t = Vv(t, e);\n  for (var r = 0, n = t.length; e != null && r < n; )\n    e = e[Bc(t[r++])];\n  return r && r == n ? e : void 0;\n}\nfunction ho(e, t, r) {\n  var n = e == null ? void 0 : p1(e, t);\n  return n === void 0 ? r : n;\n}\nfunction E3(e, t) {\n  for (var r = -1, n = t.length, a = e.length; ++r < n; )\n    e[a + r] = t[r];\n  return e;\n}\nvar iw = Ui ? Ui.isConcatSpreadable : void 0;\nfunction Bz(e) {\n  return pi(e) || d1(e) || !!(iw && e && e[iw]);\n}\nfunction jz(e, t, r, n, a) {\n  var i = -1, o = e.length;\n  for (r || (r = Bz), a || (a = []); ++i < o; ) {\n    var l = e[i];\n    r(l) ? E3(a, l) : a[a.length] = l;\n  }\n  return a;\n}\nfunction Uz(e) {\n  var t = e == null ? 0 : e.length;\n  return t ? jz(e) : [];\n}\nfunction Gz(e) {\n  return o$(v$(e, void 0, Uz), e + \"\");\n}\nfunction zi() {\n  if (!arguments.length)\n    return [];\n  var e = arguments[0];\n  return pi(e) ? e : [e];\n}\nfunction Vz() {\n  this.__data__ = new So(), this.size = 0;\n}\nfunction qz(e) {\n  var t = this.__data__, r = t.delete(e);\n  return this.size = t.size, r;\n}\nfunction Wz(e) {\n  return this.__data__.get(e);\n}\nfunction Zz(e) {\n  return this.__data__.has(e);\n}\nvar Yz = 200;\nfunction Xz(e, t) {\n  var r = this.__data__;\n  if (r instanceof So) {\n    var n = r.__data__;\n    if (!dc || n.length < Yz - 1)\n      return n.push([e, t]), this.size = ++r.size, this;\n    r = this.__data__ = new Co(n);\n  }\n  return r.set(e, t), this.size = r.size, this;\n}\nfunction _o(e) {\n  var t = this.__data__ = new So(e);\n  this.size = t.size;\n}\n_o.prototype.clear = Vz;\n_o.prototype.delete = qz;\n_o.prototype.get = Wz;\n_o.prototype.has = Zz;\n_o.prototype.set = Xz;\nfunction Kz(e, t) {\n  for (var r = -1, n = e == null ? 0 : e.length, a = 0, i = []; ++r < n; ) {\n    var o = e[r];\n    t(o, r, e) && (i[a++] = o);\n  }\n  return i;\n}\nfunction Jz() {\n  return [];\n}\nvar Qz = Object.prototype, eI = Qz.propertyIsEnumerable, ow = Object.getOwnPropertySymbols, tI = ow ? function(e) {\n  return e == null ? [] : (e = Object(e), Kz(ow(e), function(t) {\n    return eI.call(e, t);\n  }));\n} : Jz;\nfunction rI(e, t, r) {\n  var n = t(e);\n  return pi(e) ? n : E3(n, r(e));\n}\nfunction lw(e) {\n  return rI(e, D3, tI);\n}\nvar V0 = hs(qi, \"DataView\"), q0 = hs(qi, \"Promise\"), W0 = hs(qi, \"Set\"), sw = \"[object Map]\", nI = \"[object Object]\", uw = \"[object Promise]\", fw = \"[object Set]\", cw = \"[object WeakMap]\", dw = \"[object DataView]\", aI = ds(V0), iI = ds(dc), oI = ds(q0), lI = ds(W0), sI = ds(U0), Zo = Gu;\n(V0 && Zo(new V0(new ArrayBuffer(1))) != dw || dc && Zo(new dc()) != sw || q0 && Zo(q0.resolve()) != uw || W0 && Zo(new W0()) != fw || U0 && Zo(new U0()) != cw) && (Zo = function(e) {\n  var t = Gu(e), r = t == nI ? e.constructor : void 0, n = r ? ds(r) : \"\";\n  if (n)\n    switch (n) {\n      case aI:\n        return dw;\n      case iI:\n        return sw;\n      case oI:\n        return uw;\n      case lI:\n        return fw;\n      case sI:\n        return cw;\n    }\n  return t;\n});\nvar hw = qi.Uint8Array, uI = \"__lodash_hash_undefined__\";\nfunction fI(e) {\n  return this.__data__.set(e, uI), this;\n}\nfunction cI(e) {\n  return this.__data__.has(e);\n}\nfunction Qh(e) {\n  var t = -1, r = e == null ? 0 : e.length;\n  for (this.__data__ = new Co(); ++t < r; )\n    this.add(e[t]);\n}\nQh.prototype.add = Qh.prototype.push = fI;\nQh.prototype.has = cI;\nfunction dI(e, t) {\n  for (var r = -1, n = e == null ? 0 : e.length; ++r < n; )\n    if (t(e[r], r, e))\n      return !0;\n  return !1;\n}\nfunction hI(e, t) {\n  return e.has(t);\n}\nvar vI = 1, pI = 2;\nfunction F3(e, t, r, n, a, i) {\n  var o = r & vI, l = e.length, s = t.length;\n  if (l != s && !(o && s > l))\n    return !1;\n  var u = i.get(e), f = i.get(t);\n  if (u && f)\n    return u == t && f == e;\n  var d = -1, h = !0, p = r & pI ? new Qh() : void 0;\n  for (i.set(e, t), i.set(t, e); ++d < l; ) {\n    var v = e[d], m = t[d];\n    if (n)\n      var g = o ? n(m, v, d, t, e, i) : n(v, m, d, e, t, i);\n    if (g !== void 0) {\n      if (g)\n        continue;\n      h = !1;\n      break;\n    }\n    if (p) {\n      if (!dI(t, function(y, w) {\n        if (!hI(p, w) && (v === y || a(v, y, r, n, i)))\n          return p.push(w);\n      })) {\n        h = !1;\n        break;\n      }\n    } else if (!(v === m || a(v, m, r, n, i))) {\n      h = !1;\n      break;\n    }\n  }\n  return i.delete(e), i.delete(t), h;\n}\nfunction mI(e) {\n  var t = -1, r = Array(e.size);\n  return e.forEach(function(n, a) {\n    r[++t] = [a, n];\n  }), r;\n}\nfunction gI(e) {\n  var t = -1, r = Array(e.size);\n  return e.forEach(function(n) {\n    r[++t] = n;\n  }), r;\n}\nvar yI = 1, bI = 2, _I = \"[object Boolean]\", xI = \"[object Date]\", wI = \"[object Error]\", TI = \"[object Map]\", kI = \"[object Number]\", AI = \"[object RegExp]\", MI = \"[object Set]\", SI = \"[object String]\", CI = \"[object Symbol]\", LI = \"[object ArrayBuffer]\", DI = \"[object DataView]\", vw = Ui ? Ui.prototype : void 0, Dm = vw ? vw.valueOf : void 0;\nfunction EI(e, t, r, n, a, i, o) {\n  switch (r) {\n    case DI:\n      if (e.byteLength != t.byteLength || e.byteOffset != t.byteOffset)\n        return !1;\n      e = e.buffer, t = t.buffer;\n    case LI:\n      return !(e.byteLength != t.byteLength || !i(new hw(e), new hw(t)));\n    case _I:\n    case xI:\n    case kI:\n      return f1(+e, +t);\n    case wI:\n      return e.name == t.name && e.message == t.message;\n    case AI:\n    case SI:\n      return e == t + \"\";\n    case TI:\n      var l = mI;\n    case MI:\n      var s = n & yI;\n      if (l || (l = gI), e.size != t.size && !s)\n        return !1;\n      var u = o.get(e);\n      if (u)\n        return u == t;\n      n |= bI, o.set(e, t);\n      var f = F3(l(e), l(t), n, a, i, o);\n      return o.delete(e), f;\n    case CI:\n      if (Dm)\n        return Dm.call(e) == Dm.call(t);\n  }\n  return !1;\n}\nvar FI = 1, RI = Object.prototype, PI = RI.hasOwnProperty;\nfunction $I(e, t, r, n, a, i) {\n  var o = r & FI, l = lw(e), s = l.length, u = lw(t), f = u.length;\n  if (s != f && !o)\n    return !1;\n  for (var d = s; d--; ) {\n    var h = l[d];\n    if (!(o ? h in t : PI.call(t, h)))\n      return !1;\n  }\n  var p = i.get(e), v = i.get(t);\n  if (p && v)\n    return p == t && v == e;\n  var m = !0;\n  i.set(e, t), i.set(t, e);\n  for (var g = o; ++d < s; ) {\n    h = l[d];\n    var y = e[h], w = t[h];\n    if (n)\n      var k = o ? n(w, y, h, t, e, i) : n(y, w, h, e, t, i);\n    if (!(k === void 0 ? y === w || a(y, w, r, n, i) : k)) {\n      m = !1;\n      break;\n    }\n    g || (g = h == \"constructor\");\n  }\n  if (m && !g) {\n    var x = e.constructor, _ = t.constructor;\n    x != _ && \"constructor\" in e && \"constructor\" in t && !(typeof x == \"function\" && x instanceof x && typeof _ == \"function\" && _ instanceof _) && (m = !1);\n  }\n  return i.delete(e), i.delete(t), m;\n}\nvar zI = 1, pw = \"[object Arguments]\", mw = \"[object Array]\", Ad = \"[object Object]\", II = Object.prototype, gw = II.hasOwnProperty;\nfunction NI(e, t, r, n, a, i) {\n  var o = pi(e), l = pi(t), s = o ? mw : Zo(e), u = l ? mw : Zo(t);\n  s = s == pw ? Ad : s, u = u == pw ? Ad : u;\n  var f = s == Ad, d = u == Ad, h = s == u;\n  if (h && G0(e)) {\n    if (!G0(t))\n      return !1;\n    o = !0, f = !1;\n  }\n  if (h && !f)\n    return i || (i = new _o()), o || L3(e) ? F3(e, t, r, n, a, i) : EI(e, t, s, r, n, a, i);\n  if (!(r & zI)) {\n    var p = f && gw.call(e, \"__wrapped__\"), v = d && gw.call(t, \"__wrapped__\");\n    if (p || v) {\n      var m = p ? e.value() : e, g = v ? t.value() : t;\n      return i || (i = new _o()), a(m, g, r, n, i);\n    }\n  }\n  return h ? (i || (i = new _o()), $I(e, t, r, n, a, i)) : !1;\n}\nfunction qv(e, t, r, n, a) {\n  return e === t ? !0 : e == null || t == null || !wu(e) && !wu(t) ? e !== e && t !== t : NI(e, t, r, n, qv, a);\n}\nvar OI = 1, HI = 2;\nfunction BI(e, t, r, n) {\n  var a = r.length, i = a;\n  if (e == null)\n    return !i;\n  for (e = Object(e); a--; ) {\n    var o = r[a];\n    if (o[2] ? o[1] !== e[o[0]] : !(o[0] in e))\n      return !1;\n  }\n  for (; ++a < i; ) {\n    o = r[a];\n    var l = o[0], s = e[l], u = o[1];\n    if (o[2]) {\n      if (s === void 0 && !(l in e))\n        return !1;\n    } else {\n      var f = new _o(), d;\n      if (!(d === void 0 ? qv(u, s, OI | HI, n, f) : d))\n        return !1;\n    }\n  }\n  return !0;\n}\nfunction R3(e) {\n  return e === e && !ll(e);\n}\nfunction jI(e) {\n  for (var t = D3(e), r = t.length; r--; ) {\n    var n = t[r], a = e[n];\n    t[r] = [n, a, R3(a)];\n  }\n  return t;\n}\nfunction P3(e, t) {\n  return function(r) {\n    return r == null ? !1 : r[e] === t && (t !== void 0 || e in Object(r));\n  };\n}\nfunction UI(e) {\n  var t = jI(e);\n  return t.length == 1 && t[0][2] ? P3(t[0][0], t[0][1]) : function(r) {\n    return r === e || BI(r, e, t);\n  };\n}\nfunction GI(e, t) {\n  return e != null && t in Object(e);\n}\nfunction VI(e, t, r) {\n  t = Vv(t, e);\n  for (var n = -1, a = t.length, i = !1; ++n < a; ) {\n    var o = Bc(t[n]);\n    if (!(i = e != null && r(e, o)))\n      break;\n    e = e[o];\n  }\n  return i || ++n != a ? i : (a = e == null ? 0 : e.length, !!a && c1(a) && u1(o, a) && (pi(e) || d1(e)));\n}\nfunction $3(e, t) {\n  return e != null && VI(e, t, GI);\n}\nvar qI = 1, WI = 2;\nfunction ZI(e, t) {\n  return h1(e) && R3(t) ? P3(Bc(e), t) : function(r) {\n    var n = ho(r, e);\n    return n === void 0 && n === t ? $3(r, e) : qv(t, n, qI | WI);\n  };\n}\nfunction YI(e) {\n  return function(t) {\n    return t == null ? void 0 : t[e];\n  };\n}\nfunction XI(e) {\n  return function(t) {\n    return p1(t, e);\n  };\n}\nfunction KI(e) {\n  return h1(e) ? YI(Bc(e)) : XI(e);\n}\nfunction JI(e) {\n  return typeof e == \"function\" ? e : e == null ? k3 : typeof e == \"object\" ? pi(e) ? ZI(e[0], e[1]) : UI(e) : KI(e);\n}\nvar Em = function() {\n  return qi.Date.now();\n}, QI = \"Expected a function\", e7 = Math.max, t7 = Math.min;\nfunction r7(e, t, r) {\n  var n, a, i, o, l, s, u = 0, f = !1, d = !1, h = !0;\n  if (typeof e != \"function\")\n    throw new TypeError(QI);\n  t = Kx(t) || 0, ll(r) && (f = !!r.leading, d = \"maxWait\" in r, i = d ? e7(Kx(r.maxWait) || 0, t) : i, h = \"trailing\" in r ? !!r.trailing : h);\n  function p(T) {\n    var S = n, M = a;\n    return n = a = void 0, u = T, o = e.apply(M, S), o;\n  }\n  function v(T) {\n    return u = T, l = setTimeout(y, t), f ? p(T) : o;\n  }\n  function m(T) {\n    var S = T - s, M = T - u, L = t - S;\n    return d ? t7(L, i - M) : L;\n  }\n  function g(T) {\n    var S = T - s, M = T - u;\n    return s === void 0 || S >= t || S < 0 || d && M >= i;\n  }\n  function y() {\n    var T = Em();\n    if (g(T))\n      return w(T);\n    l = setTimeout(y, m(T));\n  }\n  function w(T) {\n    return l = void 0, h && n ? p(T) : (n = a = void 0, o);\n  }\n  function k() {\n    l !== void 0 && clearTimeout(l), u = 0, n = s = a = l = void 0;\n  }\n  function x() {\n    return l === void 0 ? o : w(Em());\n  }\n  function _() {\n    var T = Em(), S = g(T);\n    if (n = arguments, a = this, s = T, S) {\n      if (l === void 0)\n        return v(s);\n      if (d)\n        return clearTimeout(l), l = setTimeout(y, t), p(s);\n    }\n    return l === void 0 && (l = setTimeout(y, t)), o;\n  }\n  return _.cancel = k, _.flush = x, _;\n}\nfunction n7(e, t, r) {\n  var n = e == null ? 0 : e.length;\n  if (!n)\n    return -1;\n  var a = n - 1;\n  return l$(e, JI(t), a);\n}\nfunction Z0(e) {\n  for (var t = -1, r = e == null ? 0 : e.length, n = {}; ++t < r; ) {\n    var a = e[t];\n    n[a[0]] = a[1];\n  }\n  return n;\n}\nfunction Y0(e, t) {\n  return qv(e, t);\n}\nfunction m1(e) {\n  return e == null;\n}\nfunction a7(e) {\n  return e === void 0;\n}\nfunction i7(e, t, r, n) {\n  if (!ll(e))\n    return e;\n  t = Vv(t, e);\n  for (var a = -1, i = t.length, o = i - 1, l = e; l != null && ++a < i; ) {\n    var s = Bc(t[a]), u = r;\n    if (s === \"__proto__\" || s === \"constructor\" || s === \"prototype\")\n      return e;\n    if (a != o) {\n      var f = l[s];\n      u = void 0, u === void 0 && (u = ll(f) ? f : u1(t[a + 1]) ? [] : {});\n    }\n    h$(l, s, u), l = l[s];\n  }\n  return e;\n}\nfunction o7(e, t, r) {\n  for (var n = -1, a = t.length, i = {}; ++n < a; ) {\n    var o = t[n], l = p1(e, o);\n    r(l, o) && i7(i, Vv(o, e), l);\n  }\n  return i;\n}\nfunction l7(e, t) {\n  return o7(e, t, function(r, n) {\n    return $3(e, n);\n  });\n}\nvar s7 = Gz(function(e, t) {\n  return e == null ? {} : l7(e, t);\n});\nconst qf = (e) => e === void 0, g1 = (e) => typeof e == \"boolean\", Ga = (e) => typeof e == \"number\", Vl = (e) => typeof Element > \"u\" ? !1 : e instanceof Element, u7 = (e) => Uu(e) ? !Number.isNaN(Number(e)) : !1, f7 = (e = \"\") => e.replace(/[|\\\\{}()[\\]^$+*?.]/g, \"\\\\$&\").replace(/-/g, \"\\\\x2d\");\nclass z3 extends Error {\n  constructor(t) {\n    super(t), this.name = \"ElementPlusError\";\n  }\n}\nfunction c7(e, t) {\n  throw new z3(`[${e}] ${t}`);\n}\nfunction Gi(e, t) {\n  if (cs.env.NODE_ENV !== \"production\") {\n    const r = Uu(e) ? new z3(`[${e}] ${t}`) : e;\n    console.warn(r);\n  }\n}\nconst d7 = \"utils/dom/style\";\nfunction ev(e, t = \"px\") {\n  if (!e)\n    return \"\";\n  if (Ga(e) || u7(e))\n    return `${e}${t}`;\n  if (Uu(e))\n    return e;\n  Gi(d7, \"binding value must be a string or number\");\n}\nfunction h7(e, t) {\n  if (!qn)\n    return;\n  if (!t) {\n    e.scrollTop = 0;\n    return;\n  }\n  const r = [];\n  let n = t.offsetParent;\n  for (; n !== null && e !== n && e.contains(n); )\n    r.push(n), n = n.offsetParent;\n  const a = t.offsetTop + r.reduce((s, u) => s + u.offsetTop, 0), i = a + t.offsetHeight, o = e.scrollTop, l = o + e.clientHeight;\n  a < o ? e.scrollTop = a : i > l && (e.scrollTop = i - e.clientHeight);\n}\n/*! Element Plus Icons Vue v2.3.1 */\nvar v7 = /* @__PURE__ */ er({\n  name: \"ArrowDown\",\n  __name: \"arrow-down\",\n  setup(e) {\n    return (t, r) => (At(), Xt(\"svg\", {\n      xmlns: \"http://www.w3.org/2000/svg\",\n      viewBox: \"0 0 1024 1024\"\n    }, [\n      cr(\"path\", {\n        fill: \"currentColor\",\n        d: \"M831.872 340.864 512 652.672 192.128 340.864a30.592 30.592 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.592 30.592 0 0 0-42.752 0z\"\n      })\n    ]));\n  }\n}), p7 = v7, m7 = /* @__PURE__ */ er({\n  name: \"ArrowRight\",\n  __name: \"arrow-right\",\n  setup(e) {\n    return (t, r) => (At(), Xt(\"svg\", {\n      xmlns: \"http://www.w3.org/2000/svg\",\n      viewBox: \"0 0 1024 1024\"\n    }, [\n      cr(\"path\", {\n        fill: \"currentColor\",\n        d: \"M340.864 149.312a30.592 30.592 0 0 0 0 42.752L652.736 512 340.864 831.872a30.592 30.592 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z\"\n      })\n    ]));\n  }\n}), g7 = m7, y7 = /* @__PURE__ */ er({\n  name: \"CircleCheck\",\n  __name: \"circle-check\",\n  setup(e) {\n    return (t, r) => (At(), Xt(\"svg\", {\n      xmlns: \"http://www.w3.org/2000/svg\",\n      viewBox: \"0 0 1024 1024\"\n    }, [\n      cr(\"path\", {\n        fill: \"currentColor\",\n        d: \"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896\"\n      }),\n      cr(\"path\", {\n        fill: \"currentColor\",\n        d: \"M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752l265.344-265.408z\"\n      })\n    ]));\n  }\n}), b7 = y7, _7 = /* @__PURE__ */ er({\n  name: \"CircleClose\",\n  __name: \"circle-close\",\n  setup(e) {\n    return (t, r) => (At(), Xt(\"svg\", {\n      xmlns: \"http://www.w3.org/2000/svg\",\n      viewBox: \"0 0 1024 1024\"\n    }, [\n      cr(\"path\", {\n        fill: \"currentColor\",\n        d: \"m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248z\"\n      }),\n      cr(\"path\", {\n        fill: \"currentColor\",\n        d: \"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896\"\n      })\n    ]));\n  }\n}), I3 = _7, x7 = /* @__PURE__ */ er({\n  name: \"Close\",\n  __name: \"close\",\n  setup(e) {\n    return (t, r) => (At(), Xt(\"svg\", {\n      xmlns: \"http://www.w3.org/2000/svg\",\n      viewBox: \"0 0 1024 1024\"\n    }, [\n      cr(\"path\", {\n        fill: \"currentColor\",\n        d: \"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z\"\n      })\n    ]));\n  }\n}), yw = x7, w7 = /* @__PURE__ */ er({\n  name: \"Loading\",\n  __name: \"loading\",\n  setup(e) {\n    return (t, r) => (At(), Xt(\"svg\", {\n      xmlns: \"http://www.w3.org/2000/svg\",\n      viewBox: \"0 0 1024 1024\"\n    }, [\n      cr(\"path\", {\n        fill: \"currentColor\",\n        d: \"M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32m448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32m-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32M195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248zm452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248zM828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0m-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0z\"\n      })\n    ]));\n  }\n}), N3 = w7;\nconst O3 = \"__epPropKey\", dr = (e) => e, T7 = (e) => Oi(e) && !!e[O3], Wv = (e, t) => {\n  if (!Oi(e) || T7(e))\n    return e;\n  const { values: r, required: n, default: a, type: i, validator: o } = e, s = {\n    type: i,\n    required: !!n,\n    validator: r || o ? (u) => {\n      let f = !1, d = [];\n      if (r && (d = Array.from(r), qx(e, \"default\") && d.push(a), f || (f = d.includes(u))), o && (f || (f = o(u))), !f && d.length > 0) {\n        const h = [...new Set(d)].map((p) => JSON.stringify(p)).join(\", \");\n        ER(`Invalid prop: validation failed${t ? ` for prop \"${t}\"` : \"\"}. Expected one of [${h}], got value ${JSON.stringify(u)}.`);\n      }\n      return f;\n    } : void 0,\n    [O3]: !0\n  };\n  return qx(e, \"default\") && (s.default = a), s;\n}, qr = (e) => Z0(Object.entries(e).map(([t, r]) => [\n  t,\n  Wv(r, t)\n])), Tu = dr([\n  String,\n  Object,\n  Function\n]), k7 = {\n  validating: N3,\n  success: b7,\n  error: I3\n}, gi = (e, t) => {\n  if (e.install = (r) => {\n    for (const n of [e, ...Object.values(t ?? {})])\n      r.component(n.name, n);\n  }, t)\n    for (const [r, n] of Object.entries(t))\n      e[r] = n;\n  return e;\n}, A7 = (e, t) => (e.install = (r) => {\n  r.directive(t, e);\n}, e), Zv = (e) => (e.install = Kh, e), hc = {\n  tab: \"Tab\",\n  enter: \"Enter\",\n  space: \"Space\",\n  left: \"ArrowLeft\",\n  up: \"ArrowUp\",\n  right: \"ArrowRight\",\n  down: \"ArrowDown\",\n  esc: \"Escape\",\n  delete: \"Delete\",\n  backspace: \"Backspace\",\n  numpadEnter: \"NumpadEnter\",\n  pageUp: \"PageUp\",\n  pageDown: \"PageDown\",\n  home: \"Home\",\n  end: \"End\"\n}, Ko = \"update:modelValue\", Yv = \"change\", H3 = [\"\", \"default\", \"small\", \"large\"], M7 = (e) => /([\\uAC00-\\uD7AF\\u3130-\\u318F])+/gi.test(e), S7 = (e) => e, C7 = ({ from: e, replacement: t, scope: r, version: n, ref: a, type: i = \"API\" }, o) => {\n  _r(() => $e(o), (l) => {\n    l && Gi(r, `[${i}] ${e} is about to be deprecated in version ${n}, please use ${t} instead.\nFor more detail, please visit: ${a}\n`);\n  }, {\n    immediate: !0\n  });\n};\nvar L7 = {\n  name: \"en\",\n  el: {\n    breadcrumb: {\n      label: \"Breadcrumb\"\n    },\n    colorpicker: {\n      confirm: \"OK\",\n      clear: \"Clear\",\n      defaultLabel: \"color picker\",\n      description: \"current color is {color}. press enter to select a new color.\",\n      alphaLabel: \"pick alpha value\"\n    },\n    datepicker: {\n      now: \"Now\",\n      today: \"Today\",\n      cancel: \"Cancel\",\n      clear: \"Clear\",\n      confirm: \"OK\",\n      dateTablePrompt: \"Use the arrow keys and enter to select the day of the month\",\n      monthTablePrompt: \"Use the arrow keys and enter to select the month\",\n      yearTablePrompt: \"Use the arrow keys and enter to select the year\",\n      selectedDate: \"Selected date\",\n      selectDate: \"Select date\",\n      selectTime: \"Select time\",\n      startDate: \"Start Date\",\n      startTime: \"Start Time\",\n      endDate: \"End Date\",\n      endTime: \"End Time\",\n      prevYear: \"Previous Year\",\n      nextYear: \"Next Year\",\n      prevMonth: \"Previous Month\",\n      nextMonth: \"Next Month\",\n      year: \"\",\n      month1: \"January\",\n      month2: \"February\",\n      month3: \"March\",\n      month4: \"April\",\n      month5: \"May\",\n      month6: \"June\",\n      month7: \"July\",\n      month8: \"August\",\n      month9: \"September\",\n      month10: \"October\",\n      month11: \"November\",\n      month12: \"December\",\n      week: \"week\",\n      weeks: {\n        sun: \"Sun\",\n        mon: \"Mon\",\n        tue: \"Tue\",\n        wed: \"Wed\",\n        thu: \"Thu\",\n        fri: \"Fri\",\n        sat: \"Sat\"\n      },\n      weeksFull: {\n        sun: \"Sunday\",\n        mon: \"Monday\",\n        tue: \"Tuesday\",\n        wed: \"Wednesday\",\n        thu: \"Thursday\",\n        fri: \"Friday\",\n        sat: \"Saturday\"\n      },\n      months: {\n        jan: \"Jan\",\n        feb: \"Feb\",\n        mar: \"Mar\",\n        apr: \"Apr\",\n        may: \"May\",\n        jun: \"Jun\",\n        jul: \"Jul\",\n        aug: \"Aug\",\n        sep: \"Sep\",\n        oct: \"Oct\",\n        nov: \"Nov\",\n        dec: \"Dec\"\n      }\n    },\n    inputNumber: {\n      decrease: \"decrease number\",\n      increase: \"increase number\"\n    },\n    select: {\n      loading: \"Loading\",\n      noMatch: \"No matching data\",\n      noData: \"No data\",\n      placeholder: \"Select\"\n    },\n    mention: {\n      loading: \"Loading\"\n    },\n    dropdown: {\n      toggleDropdown: \"Toggle Dropdown\"\n    },\n    cascader: {\n      noMatch: \"No matching data\",\n      loading: \"Loading\",\n      placeholder: \"Select\",\n      noData: \"No data\"\n    },\n    pagination: {\n      goto: \"Go to\",\n      pagesize: \"/page\",\n      total: \"Total {total}\",\n      pageClassifier: \"\",\n      page: \"Page\",\n      prev: \"Go to previous page\",\n      next: \"Go to next page\",\n      currentPage: \"page {pager}\",\n      prevPages: \"Previous {pager} pages\",\n      nextPages: \"Next {pager} pages\",\n      deprecationWarning: \"Deprecated usages detected, please refer to the el-pagination documentation for more details\"\n    },\n    dialog: {\n      close: \"Close this dialog\"\n    },\n    drawer: {\n      close: \"Close this dialog\"\n    },\n    messagebox: {\n      title: \"Message\",\n      confirm: \"OK\",\n      cancel: \"Cancel\",\n      error: \"Illegal input\",\n      close: \"Close this dialog\"\n    },\n    upload: {\n      deleteTip: \"press delete to remove\",\n      delete: \"Delete\",\n      preview: \"Preview\",\n      continue: \"Continue\"\n    },\n    slider: {\n      defaultLabel: \"slider between {min} and {max}\",\n      defaultRangeStartLabel: \"pick start value\",\n      defaultRangeEndLabel: \"pick end value\"\n    },\n    table: {\n      emptyText: \"No Data\",\n      confirmFilter: \"Confirm\",\n      resetFilter: \"Reset\",\n      clearFilter: \"All\",\n      sumText: \"Sum\"\n    },\n    tour: {\n      next: \"Next\",\n      previous: \"Previous\",\n      finish: \"Finish\"\n    },\n    tree: {\n      emptyText: \"No Data\"\n    },\n    transfer: {\n      noMatch: \"No matching data\",\n      noData: \"No data\",\n      titles: [\"List 1\", \"List 2\"],\n      filterPlaceholder: \"Enter keyword\",\n      noCheckedFormat: \"{total} items\",\n      hasCheckedFormat: \"{checked}/{total} checked\"\n    },\n    image: {\n      error: \"FAILED\"\n    },\n    pageHeader: {\n      title: \"Back\"\n    },\n    popconfirm: {\n      confirmButtonText: \"Yes\",\n      cancelButtonText: \"No\"\n    },\n    carousel: {\n      leftArrow: \"Carousel arrow left\",\n      rightArrow: \"Carousel arrow right\",\n      indicator: \"Carousel switch to index {index}\"\n    }\n  }\n};\nconst D7 = (e) => (t, r) => E7(t, r, $e(e)), E7 = (e, t, r) => ho(r, e, e).replace(/\\{(\\w+)\\}/g, (n, a) => {\n  var i;\n  return `${(i = t == null ? void 0 : t[a]) != null ? i : `{${a}}`}`;\n}), F7 = (e) => {\n  const t = et(() => $e(e).name), r = FR(e) ? e : Rt(e);\n  return {\n    lang: t,\n    locale: r,\n    t: D7(e)\n  };\n}, R7 = Symbol(\"localeContextKey\"), P7 = (e) => {\n  const t = Rr(R7, Rt());\n  return F7(et(() => t.value || L7));\n}, Fm = \"el\", $7 = \"is-\", Cl = (e, t, r, n, a) => {\n  let i = `${e}-${t}`;\n  return r && (i += `-${r}`), n && (i += `__${n}`), a && (i += `--${a}`), i;\n}, z7 = Symbol(\"namespaceContextKey\"), y1 = (e) => {\n  const t = xa() ? Rr(z7, Rt(Fm)) : Rt(Fm);\n  return et(() => $e(t) || Fm);\n}, on = (e, t) => {\n  const r = y1();\n  return {\n    namespace: r,\n    b: (m = \"\") => Cl(r.value, e, m, \"\", \"\"),\n    e: (m) => m ? Cl(r.value, e, \"\", m, \"\") : \"\",\n    m: (m) => m ? Cl(r.value, e, \"\", \"\", m) : \"\",\n    be: (m, g) => m && g ? Cl(r.value, e, m, g, \"\") : \"\",\n    em: (m, g) => m && g ? Cl(r.value, e, \"\", m, g) : \"\",\n    bm: (m, g) => m && g ? Cl(r.value, e, m, \"\", g) : \"\",\n    bem: (m, g, y) => m && g && y ? Cl(r.value, e, m, g, y) : \"\",\n    is: (m, ...g) => {\n      const y = g.length >= 1 ? g[0] : !0;\n      return m && y ? `${$7}${m}` : \"\";\n    },\n    cssVar: (m) => {\n      const g = {};\n      for (const y in m)\n        m[y] && (g[`--${r.value}-${y}`] = m[y]);\n      return g;\n    },\n    cssVarName: (m) => `--${r.value}-${m}`,\n    cssVarBlock: (m) => {\n      const g = {};\n      for (const y in m)\n        m[y] && (g[`--${r.value}-${e}-${y}`] = m[y]);\n      return g;\n    },\n    cssVarBlockName: (m) => `--${r.value}-${e}-${m}`\n  };\n}, I7 = Wv({\n  type: dr(Boolean),\n  default: null\n}), N7 = Wv({\n  type: dr(Function)\n}), O7 = (e) => {\n  const t = `update:${e}`, r = `onUpdate:${e}`, n = [t], a = {\n    [e]: I7,\n    [r]: N7\n  };\n  return {\n    useModelToggle: ({\n      indicator: o,\n      toggleReason: l,\n      shouldHideWhenRouteChanges: s,\n      shouldProceed: u,\n      onShow: f,\n      onHide: d\n    }) => {\n      const h = xa(), { emit: p } = h, v = h.props, m = et(() => ua(v[r])), g = et(() => v[e] === null), y = (S) => {\n        o.value !== !0 && (o.value = !0, l && (l.value = S), ua(f) && f(S));\n      }, w = (S) => {\n        o.value !== !1 && (o.value = !1, l && (l.value = S), ua(d) && d(S));\n      }, k = (S) => {\n        if (v.disabled === !0 || ua(u) && !u())\n          return;\n        const M = m.value && qn;\n        M && p(t, !0), (g.value || !M) && y(S);\n      }, x = (S) => {\n        if (v.disabled === !0 || !qn)\n          return;\n        const M = m.value && qn;\n        M && p(t, !1), (g.value || !M) && w(S);\n      }, _ = (S) => {\n        g1(S) && (v.disabled && S ? m.value && p(t, !1) : o.value !== S && (S ? y() : w()));\n      }, T = () => {\n        o.value ? x() : k();\n      };\n      return _r(() => v[e], _), s && h.appContext.config.globalProperties.$route !== void 0 && _r(() => ({\n        ...h.proxy.$route\n      }), () => {\n        s.value && o.value && x();\n      }), Zn(() => {\n        _(v[e]);\n      }), {\n        hide: x,\n        show: k,\n        toggle: T,\n        hasUpdateHandler: m\n      };\n    },\n    useModelToggleProps: a,\n    useModelToggleEmits: n\n  };\n}, B3 = (e) => {\n  const t = xa();\n  return et(() => {\n    var r, n;\n    return (n = (r = t == null ? void 0 : t.proxy) == null ? void 0 : r.$props) == null ? void 0 : n[e];\n  });\n};\nvar fa = \"top\", Wa = \"bottom\", Za = \"right\", ca = \"left\", b1 = \"auto\", jc = [fa, Wa, Za, ca], ku = \"start\", vc = \"end\", H7 = \"clippingParents\", j3 = \"viewport\", mf = \"popper\", B7 = \"reference\", bw = jc.reduce(function(e, t) {\n  return e.concat([t + \"-\" + ku, t + \"-\" + vc]);\n}, []), Xv = [].concat(jc, [b1]).reduce(function(e, t) {\n  return e.concat([t, t + \"-\" + ku, t + \"-\" + vc]);\n}, []), j7 = \"beforeRead\", U7 = \"read\", G7 = \"afterRead\", V7 = \"beforeMain\", q7 = \"main\", W7 = \"afterMain\", Z7 = \"beforeWrite\", Y7 = \"write\", X7 = \"afterWrite\", K7 = [j7, U7, G7, V7, q7, W7, Z7, Y7, X7];\nfunction Vi(e) {\n  return e ? (e.nodeName || \"\").toLowerCase() : null;\n}\nfunction yi(e) {\n  if (e == null) return window;\n  if (e.toString() !== \"[object Window]\") {\n    var t = e.ownerDocument;\n    return t && t.defaultView || window;\n  }\n  return e;\n}\nfunction Au(e) {\n  var t = yi(e).Element;\n  return e instanceof t || e instanceof Element;\n}\nfunction Va(e) {\n  var t = yi(e).HTMLElement;\n  return e instanceof t || e instanceof HTMLElement;\n}\nfunction _1(e) {\n  if (typeof ShadowRoot > \"u\") return !1;\n  var t = yi(e).ShadowRoot;\n  return e instanceof t || e instanceof ShadowRoot;\n}\nfunction J7(e) {\n  var t = e.state;\n  Object.keys(t.elements).forEach(function(r) {\n    var n = t.styles[r] || {}, a = t.attributes[r] || {}, i = t.elements[r];\n    !Va(i) || !Vi(i) || (Object.assign(i.style, n), Object.keys(a).forEach(function(o) {\n      var l = a[o];\n      l === !1 ? i.removeAttribute(o) : i.setAttribute(o, l === !0 ? \"\" : l);\n    }));\n  });\n}\nfunction Q7(e) {\n  var t = e.state, r = { popper: { position: t.options.strategy, left: \"0\", top: \"0\", margin: \"0\" }, arrow: { position: \"absolute\" }, reference: {} };\n  return Object.assign(t.elements.popper.style, r.popper), t.styles = r, t.elements.arrow && Object.assign(t.elements.arrow.style, r.arrow), function() {\n    Object.keys(t.elements).forEach(function(n) {\n      var a = t.elements[n], i = t.attributes[n] || {}, o = Object.keys(t.styles.hasOwnProperty(n) ? t.styles[n] : r[n]), l = o.reduce(function(s, u) {\n        return s[u] = \"\", s;\n      }, {});\n      !Va(a) || !Vi(a) || (Object.assign(a.style, l), Object.keys(i).forEach(function(s) {\n        a.removeAttribute(s);\n      }));\n    });\n  };\n}\nvar U3 = { name: \"applyStyles\", enabled: !0, phase: \"write\", fn: J7, effect: Q7, requires: [\"computeStyles\"] };\nfunction Bi(e) {\n  return e.split(\"-\")[0];\n}\nvar ql = Math.max, tv = Math.min, Mu = Math.round;\nfunction Su(e, t) {\n  t === void 0 && (t = !1);\n  var r = e.getBoundingClientRect(), n = 1, a = 1;\n  if (Va(e) && t) {\n    var i = e.offsetHeight, o = e.offsetWidth;\n    o > 0 && (n = Mu(r.width) / o || 1), i > 0 && (a = Mu(r.height) / i || 1);\n  }\n  return { width: r.width / n, height: r.height / a, top: r.top / a, right: r.right / n, bottom: r.bottom / a, left: r.left / n, x: r.left / n, y: r.top / a };\n}\nfunction x1(e) {\n  var t = Su(e), r = e.offsetWidth, n = e.offsetHeight;\n  return Math.abs(t.width - r) <= 1 && (r = t.width), Math.abs(t.height - n) <= 1 && (n = t.height), { x: e.offsetLeft, y: e.offsetTop, width: r, height: n };\n}\nfunction G3(e, t) {\n  var r = t.getRootNode && t.getRootNode();\n  if (e.contains(t)) return !0;\n  if (r && _1(r)) {\n    var n = t;\n    do {\n      if (n && e.isSameNode(n)) return !0;\n      n = n.parentNode || n.host;\n    } while (n);\n  }\n  return !1;\n}\nfunction To(e) {\n  return yi(e).getComputedStyle(e);\n}\nfunction e9(e) {\n  return [\"table\", \"td\", \"th\"].indexOf(Vi(e)) >= 0;\n}\nfunction vl(e) {\n  return ((Au(e) ? e.ownerDocument : e.document) || window.document).documentElement;\n}\nfunction Kv(e) {\n  return Vi(e) === \"html\" ? e : e.assignedSlot || e.parentNode || (_1(e) ? e.host : null) || vl(e);\n}\nfunction _w(e) {\n  return !Va(e) || To(e).position === \"fixed\" ? null : e.offsetParent;\n}\nfunction t9(e) {\n  var t = navigator.userAgent.toLowerCase().indexOf(\"firefox\") !== -1, r = navigator.userAgent.indexOf(\"Trident\") !== -1;\n  if (r && Va(e)) {\n    var n = To(e);\n    if (n.position === \"fixed\") return null;\n  }\n  var a = Kv(e);\n  for (_1(a) && (a = a.host); Va(a) && [\"html\", \"body\"].indexOf(Vi(a)) < 0; ) {\n    var i = To(a);\n    if (i.transform !== \"none\" || i.perspective !== \"none\" || i.contain === \"paint\" || [\"transform\", \"perspective\"].indexOf(i.willChange) !== -1 || t && i.willChange === \"filter\" || t && i.filter && i.filter !== \"none\") return a;\n    a = a.parentNode;\n  }\n  return null;\n}\nfunction Uc(e) {\n  for (var t = yi(e), r = _w(e); r && e9(r) && To(r).position === \"static\"; ) r = _w(r);\n  return r && (Vi(r) === \"html\" || Vi(r) === \"body\" && To(r).position === \"static\") ? t : r || t9(e) || t;\n}\nfunction w1(e) {\n  return [\"top\", \"bottom\"].indexOf(e) >= 0 ? \"x\" : \"y\";\n}\nfunction Qf(e, t, r) {\n  return ql(e, tv(t, r));\n}\nfunction r9(e, t, r) {\n  var n = Qf(e, t, r);\n  return n > r ? r : n;\n}\nfunction V3() {\n  return { top: 0, right: 0, bottom: 0, left: 0 };\n}\nfunction q3(e) {\n  return Object.assign({}, V3(), e);\n}\nfunction W3(e, t) {\n  return t.reduce(function(r, n) {\n    return r[n] = e, r;\n  }, {});\n}\nvar n9 = function(e, t) {\n  return e = typeof e == \"function\" ? e(Object.assign({}, t.rects, { placement: t.placement })) : e, q3(typeof e != \"number\" ? e : W3(e, jc));\n};\nfunction a9(e) {\n  var t, r = e.state, n = e.name, a = e.options, i = r.elements.arrow, o = r.modifiersData.popperOffsets, l = Bi(r.placement), s = w1(l), u = [ca, Za].indexOf(l) >= 0, f = u ? \"height\" : \"width\";\n  if (!(!i || !o)) {\n    var d = n9(a.padding, r), h = x1(i), p = s === \"y\" ? fa : ca, v = s === \"y\" ? Wa : Za, m = r.rects.reference[f] + r.rects.reference[s] - o[s] - r.rects.popper[f], g = o[s] - r.rects.reference[s], y = Uc(i), w = y ? s === \"y\" ? y.clientHeight || 0 : y.clientWidth || 0 : 0, k = m / 2 - g / 2, x = d[p], _ = w - h[f] - d[v], T = w / 2 - h[f] / 2 + k, S = Qf(x, T, _), M = s;\n    r.modifiersData[n] = (t = {}, t[M] = S, t.centerOffset = S - T, t);\n  }\n}\nfunction i9(e) {\n  var t = e.state, r = e.options, n = r.element, a = n === void 0 ? \"[data-popper-arrow]\" : n;\n  a != null && (typeof a == \"string\" && (a = t.elements.popper.querySelector(a), !a) || !G3(t.elements.popper, a) || (t.elements.arrow = a));\n}\nvar o9 = { name: \"arrow\", enabled: !0, phase: \"main\", fn: a9, effect: i9, requires: [\"popperOffsets\"], requiresIfExists: [\"preventOverflow\"] };\nfunction Cu(e) {\n  return e.split(\"-\")[1];\n}\nvar l9 = { top: \"auto\", right: \"auto\", bottom: \"auto\", left: \"auto\" };\nfunction s9(e) {\n  var t = e.x, r = e.y, n = window, a = n.devicePixelRatio || 1;\n  return { x: Mu(t * a) / a || 0, y: Mu(r * a) / a || 0 };\n}\nfunction xw(e) {\n  var t, r = e.popper, n = e.popperRect, a = e.placement, i = e.variation, o = e.offsets, l = e.position, s = e.gpuAcceleration, u = e.adaptive, f = e.roundOffsets, d = e.isFixed, h = o.x, p = h === void 0 ? 0 : h, v = o.y, m = v === void 0 ? 0 : v, g = typeof f == \"function\" ? f({ x: p, y: m }) : { x: p, y: m };\n  p = g.x, m = g.y;\n  var y = o.hasOwnProperty(\"x\"), w = o.hasOwnProperty(\"y\"), k = ca, x = fa, _ = window;\n  if (u) {\n    var T = Uc(r), S = \"clientHeight\", M = \"clientWidth\";\n    if (T === yi(r) && (T = vl(r), To(T).position !== \"static\" && l === \"absolute\" && (S = \"scrollHeight\", M = \"scrollWidth\")), T = T, a === fa || (a === ca || a === Za) && i === vc) {\n      x = Wa;\n      var L = d && T === _ && _.visualViewport ? _.visualViewport.height : T[S];\n      m -= L - n.height, m *= s ? 1 : -1;\n    }\n    if (a === ca || (a === fa || a === Wa) && i === vc) {\n      k = Za;\n      var F = d && T === _ && _.visualViewport ? _.visualViewport.width : T[M];\n      p -= F - n.width, p *= s ? 1 : -1;\n    }\n  }\n  var $ = Object.assign({ position: l }, u && l9), I = f === !0 ? s9({ x: p, y: m }) : { x: p, y: m };\n  if (p = I.x, m = I.y, s) {\n    var O;\n    return Object.assign({}, $, (O = {}, O[x] = w ? \"0\" : \"\", O[k] = y ? \"0\" : \"\", O.transform = (_.devicePixelRatio || 1) <= 1 ? \"translate(\" + p + \"px, \" + m + \"px)\" : \"translate3d(\" + p + \"px, \" + m + \"px, 0)\", O));\n  }\n  return Object.assign({}, $, (t = {}, t[x] = w ? m + \"px\" : \"\", t[k] = y ? p + \"px\" : \"\", t.transform = \"\", t));\n}\nfunction u9(e) {\n  var t = e.state, r = e.options, n = r.gpuAcceleration, a = n === void 0 ? !0 : n, i = r.adaptive, o = i === void 0 ? !0 : i, l = r.roundOffsets, s = l === void 0 ? !0 : l, u = { placement: Bi(t.placement), variation: Cu(t.placement), popper: t.elements.popper, popperRect: t.rects.popper, gpuAcceleration: a, isFixed: t.options.strategy === \"fixed\" };\n  t.modifiersData.popperOffsets != null && (t.styles.popper = Object.assign({}, t.styles.popper, xw(Object.assign({}, u, { offsets: t.modifiersData.popperOffsets, position: t.options.strategy, adaptive: o, roundOffsets: s })))), t.modifiersData.arrow != null && (t.styles.arrow = Object.assign({}, t.styles.arrow, xw(Object.assign({}, u, { offsets: t.modifiersData.arrow, position: \"absolute\", adaptive: !1, roundOffsets: s })))), t.attributes.popper = Object.assign({}, t.attributes.popper, { \"data-popper-placement\": t.placement });\n}\nvar Z3 = { name: \"computeStyles\", enabled: !0, phase: \"beforeWrite\", fn: u9, data: {} }, Md = { passive: !0 };\nfunction f9(e) {\n  var t = e.state, r = e.instance, n = e.options, a = n.scroll, i = a === void 0 ? !0 : a, o = n.resize, l = o === void 0 ? !0 : o, s = yi(t.elements.popper), u = [].concat(t.scrollParents.reference, t.scrollParents.popper);\n  return i && u.forEach(function(f) {\n    f.addEventListener(\"scroll\", r.update, Md);\n  }), l && s.addEventListener(\"resize\", r.update, Md), function() {\n    i && u.forEach(function(f) {\n      f.removeEventListener(\"scroll\", r.update, Md);\n    }), l && s.removeEventListener(\"resize\", r.update, Md);\n  };\n}\nvar Y3 = { name: \"eventListeners\", enabled: !0, phase: \"write\", fn: function() {\n}, effect: f9, data: {} }, c9 = { left: \"right\", right: \"left\", bottom: \"top\", top: \"bottom\" };\nfunction Eh(e) {\n  return e.replace(/left|right|bottom|top/g, function(t) {\n    return c9[t];\n  });\n}\nvar d9 = { start: \"end\", end: \"start\" };\nfunction ww(e) {\n  return e.replace(/start|end/g, function(t) {\n    return d9[t];\n  });\n}\nfunction T1(e) {\n  var t = yi(e), r = t.pageXOffset, n = t.pageYOffset;\n  return { scrollLeft: r, scrollTop: n };\n}\nfunction k1(e) {\n  return Su(vl(e)).left + T1(e).scrollLeft;\n}\nfunction h9(e) {\n  var t = yi(e), r = vl(e), n = t.visualViewport, a = r.clientWidth, i = r.clientHeight, o = 0, l = 0;\n  return n && (a = n.width, i = n.height, /^((?!chrome|android).)*safari/i.test(navigator.userAgent) || (o = n.offsetLeft, l = n.offsetTop)), { width: a, height: i, x: o + k1(e), y: l };\n}\nfunction v9(e) {\n  var t, r = vl(e), n = T1(e), a = (t = e.ownerDocument) == null ? void 0 : t.body, i = ql(r.scrollWidth, r.clientWidth, a ? a.scrollWidth : 0, a ? a.clientWidth : 0), o = ql(r.scrollHeight, r.clientHeight, a ? a.scrollHeight : 0, a ? a.clientHeight : 0), l = -n.scrollLeft + k1(e), s = -n.scrollTop;\n  return To(a || r).direction === \"rtl\" && (l += ql(r.clientWidth, a ? a.clientWidth : 0) - i), { width: i, height: o, x: l, y: s };\n}\nfunction A1(e) {\n  var t = To(e), r = t.overflow, n = t.overflowX, a = t.overflowY;\n  return /auto|scroll|overlay|hidden/.test(r + a + n);\n}\nfunction X3(e) {\n  return [\"html\", \"body\", \"#document\"].indexOf(Vi(e)) >= 0 ? e.ownerDocument.body : Va(e) && A1(e) ? e : X3(Kv(e));\n}\nfunction ec(e, t) {\n  var r;\n  t === void 0 && (t = []);\n  var n = X3(e), a = n === ((r = e.ownerDocument) == null ? void 0 : r.body), i = yi(n), o = a ? [i].concat(i.visualViewport || [], A1(n) ? n : []) : n, l = t.concat(o);\n  return a ? l : l.concat(ec(Kv(o)));\n}\nfunction X0(e) {\n  return Object.assign({}, e, { left: e.x, top: e.y, right: e.x + e.width, bottom: e.y + e.height });\n}\nfunction p9(e) {\n  var t = Su(e);\n  return t.top = t.top + e.clientTop, t.left = t.left + e.clientLeft, t.bottom = t.top + e.clientHeight, t.right = t.left + e.clientWidth, t.width = e.clientWidth, t.height = e.clientHeight, t.x = t.left, t.y = t.top, t;\n}\nfunction Tw(e, t) {\n  return t === j3 ? X0(h9(e)) : Au(t) ? p9(t) : X0(v9(vl(e)));\n}\nfunction m9(e) {\n  var t = ec(Kv(e)), r = [\"absolute\", \"fixed\"].indexOf(To(e).position) >= 0, n = r && Va(e) ? Uc(e) : e;\n  return Au(n) ? t.filter(function(a) {\n    return Au(a) && G3(a, n) && Vi(a) !== \"body\";\n  }) : [];\n}\nfunction g9(e, t, r) {\n  var n = t === \"clippingParents\" ? m9(e) : [].concat(t), a = [].concat(n, [r]), i = a[0], o = a.reduce(function(l, s) {\n    var u = Tw(e, s);\n    return l.top = ql(u.top, l.top), l.right = tv(u.right, l.right), l.bottom = tv(u.bottom, l.bottom), l.left = ql(u.left, l.left), l;\n  }, Tw(e, i));\n  return o.width = o.right - o.left, o.height = o.bottom - o.top, o.x = o.left, o.y = o.top, o;\n}\nfunction K3(e) {\n  var t = e.reference, r = e.element, n = e.placement, a = n ? Bi(n) : null, i = n ? Cu(n) : null, o = t.x + t.width / 2 - r.width / 2, l = t.y + t.height / 2 - r.height / 2, s;\n  switch (a) {\n    case fa:\n      s = { x: o, y: t.y - r.height };\n      break;\n    case Wa:\n      s = { x: o, y: t.y + t.height };\n      break;\n    case Za:\n      s = { x: t.x + t.width, y: l };\n      break;\n    case ca:\n      s = { x: t.x - r.width, y: l };\n      break;\n    default:\n      s = { x: t.x, y: t.y };\n  }\n  var u = a ? w1(a) : null;\n  if (u != null) {\n    var f = u === \"y\" ? \"height\" : \"width\";\n    switch (i) {\n      case ku:\n        s[u] = s[u] - (t[f] / 2 - r[f] / 2);\n        break;\n      case vc:\n        s[u] = s[u] + (t[f] / 2 - r[f] / 2);\n        break;\n    }\n  }\n  return s;\n}\nfunction pc(e, t) {\n  t === void 0 && (t = {});\n  var r = t, n = r.placement, a = n === void 0 ? e.placement : n, i = r.boundary, o = i === void 0 ? H7 : i, l = r.rootBoundary, s = l === void 0 ? j3 : l, u = r.elementContext, f = u === void 0 ? mf : u, d = r.altBoundary, h = d === void 0 ? !1 : d, p = r.padding, v = p === void 0 ? 0 : p, m = q3(typeof v != \"number\" ? v : W3(v, jc)), g = f === mf ? B7 : mf, y = e.rects.popper, w = e.elements[h ? g : f], k = g9(Au(w) ? w : w.contextElement || vl(e.elements.popper), o, s), x = Su(e.elements.reference), _ = K3({ reference: x, element: y, strategy: \"absolute\", placement: a }), T = X0(Object.assign({}, y, _)), S = f === mf ? T : x, M = { top: k.top - S.top + m.top, bottom: S.bottom - k.bottom + m.bottom, left: k.left - S.left + m.left, right: S.right - k.right + m.right }, L = e.modifiersData.offset;\n  if (f === mf && L) {\n    var F = L[a];\n    Object.keys(M).forEach(function($) {\n      var I = [Za, Wa].indexOf($) >= 0 ? 1 : -1, O = [fa, Wa].indexOf($) >= 0 ? \"y\" : \"x\";\n      M[$] += F[O] * I;\n    });\n  }\n  return M;\n}\nfunction y9(e, t) {\n  t === void 0 && (t = {});\n  var r = t, n = r.placement, a = r.boundary, i = r.rootBoundary, o = r.padding, l = r.flipVariations, s = r.allowedAutoPlacements, u = s === void 0 ? Xv : s, f = Cu(n), d = f ? l ? bw : bw.filter(function(v) {\n    return Cu(v) === f;\n  }) : jc, h = d.filter(function(v) {\n    return u.indexOf(v) >= 0;\n  });\n  h.length === 0 && (h = d);\n  var p = h.reduce(function(v, m) {\n    return v[m] = pc(e, { placement: m, boundary: a, rootBoundary: i, padding: o })[Bi(m)], v;\n  }, {});\n  return Object.keys(p).sort(function(v, m) {\n    return p[v] - p[m];\n  });\n}\nfunction b9(e) {\n  if (Bi(e) === b1) return [];\n  var t = Eh(e);\n  return [ww(e), t, ww(t)];\n}\nfunction _9(e) {\n  var t = e.state, r = e.options, n = e.name;\n  if (!t.modifiersData[n]._skip) {\n    for (var a = r.mainAxis, i = a === void 0 ? !0 : a, o = r.altAxis, l = o === void 0 ? !0 : o, s = r.fallbackPlacements, u = r.padding, f = r.boundary, d = r.rootBoundary, h = r.altBoundary, p = r.flipVariations, v = p === void 0 ? !0 : p, m = r.allowedAutoPlacements, g = t.options.placement, y = Bi(g), w = y === g, k = s || (w || !v ? [Eh(g)] : b9(g)), x = [g].concat(k).reduce(function(re, ae) {\n      return re.concat(Bi(ae) === b1 ? y9(t, { placement: ae, boundary: f, rootBoundary: d, padding: u, flipVariations: v, allowedAutoPlacements: m }) : ae);\n    }, []), _ = t.rects.reference, T = t.rects.popper, S = /* @__PURE__ */ new Map(), M = !0, L = x[0], F = 0; F < x.length; F++) {\n      var $ = x[F], I = Bi($), O = Cu($) === ku, G = [fa, Wa].indexOf(I) >= 0, K = G ? \"width\" : \"height\", V = pc(t, { placement: $, boundary: f, rootBoundary: d, altBoundary: h, padding: u }), z = G ? O ? Za : ca : O ? Wa : fa;\n      _[K] > T[K] && (z = Eh(z));\n      var P = Eh(z), R = [];\n      if (i && R.push(V[I] <= 0), l && R.push(V[z] <= 0, V[P] <= 0), R.every(function(re) {\n        return re;\n      })) {\n        L = $, M = !1;\n        break;\n      }\n      S.set($, R);\n    }\n    if (M) for (var H = v ? 3 : 1, B = function(re) {\n      var ae = x.find(function(Q) {\n        var ue = S.get(Q);\n        if (ue) return ue.slice(0, re).every(function(j) {\n          return j;\n        });\n      });\n      if (ae) return L = ae, \"break\";\n    }, W = H; W > 0; W--) {\n      var ee = B(W);\n      if (ee === \"break\") break;\n    }\n    t.placement !== L && (t.modifiersData[n]._skip = !0, t.placement = L, t.reset = !0);\n  }\n}\nvar x9 = { name: \"flip\", enabled: !0, phase: \"main\", fn: _9, requiresIfExists: [\"offset\"], data: { _skip: !1 } };\nfunction kw(e, t, r) {\n  return r === void 0 && (r = { x: 0, y: 0 }), { top: e.top - t.height - r.y, right: e.right - t.width + r.x, bottom: e.bottom - t.height + r.y, left: e.left - t.width - r.x };\n}\nfunction Aw(e) {\n  return [fa, Za, Wa, ca].some(function(t) {\n    return e[t] >= 0;\n  });\n}\nfunction w9(e) {\n  var t = e.state, r = e.name, n = t.rects.reference, a = t.rects.popper, i = t.modifiersData.preventOverflow, o = pc(t, { elementContext: \"reference\" }), l = pc(t, { altBoundary: !0 }), s = kw(o, n), u = kw(l, a, i), f = Aw(s), d = Aw(u);\n  t.modifiersData[r] = { referenceClippingOffsets: s, popperEscapeOffsets: u, isReferenceHidden: f, hasPopperEscaped: d }, t.attributes.popper = Object.assign({}, t.attributes.popper, { \"data-popper-reference-hidden\": f, \"data-popper-escaped\": d });\n}\nvar T9 = { name: \"hide\", enabled: !0, phase: \"main\", requiresIfExists: [\"preventOverflow\"], fn: w9 };\nfunction k9(e, t, r) {\n  var n = Bi(e), a = [ca, fa].indexOf(n) >= 0 ? -1 : 1, i = typeof r == \"function\" ? r(Object.assign({}, t, { placement: e })) : r, o = i[0], l = i[1];\n  return o = o || 0, l = (l || 0) * a, [ca, Za].indexOf(n) >= 0 ? { x: l, y: o } : { x: o, y: l };\n}\nfunction A9(e) {\n  var t = e.state, r = e.options, n = e.name, a = r.offset, i = a === void 0 ? [0, 0] : a, o = Xv.reduce(function(f, d) {\n    return f[d] = k9(d, t.rects, i), f;\n  }, {}), l = o[t.placement], s = l.x, u = l.y;\n  t.modifiersData.popperOffsets != null && (t.modifiersData.popperOffsets.x += s, t.modifiersData.popperOffsets.y += u), t.modifiersData[n] = o;\n}\nvar M9 = { name: \"offset\", enabled: !0, phase: \"main\", requires: [\"popperOffsets\"], fn: A9 };\nfunction S9(e) {\n  var t = e.state, r = e.name;\n  t.modifiersData[r] = K3({ reference: t.rects.reference, element: t.rects.popper, strategy: \"absolute\", placement: t.placement });\n}\nvar J3 = { name: \"popperOffsets\", enabled: !0, phase: \"read\", fn: S9, data: {} };\nfunction C9(e) {\n  return e === \"x\" ? \"y\" : \"x\";\n}\nfunction L9(e) {\n  var t = e.state, r = e.options, n = e.name, a = r.mainAxis, i = a === void 0 ? !0 : a, o = r.altAxis, l = o === void 0 ? !1 : o, s = r.boundary, u = r.rootBoundary, f = r.altBoundary, d = r.padding, h = r.tether, p = h === void 0 ? !0 : h, v = r.tetherOffset, m = v === void 0 ? 0 : v, g = pc(t, { boundary: s, rootBoundary: u, padding: d, altBoundary: f }), y = Bi(t.placement), w = Cu(t.placement), k = !w, x = w1(y), _ = C9(x), T = t.modifiersData.popperOffsets, S = t.rects.reference, M = t.rects.popper, L = typeof m == \"function\" ? m(Object.assign({}, t.rects, { placement: t.placement })) : m, F = typeof L == \"number\" ? { mainAxis: L, altAxis: L } : Object.assign({ mainAxis: 0, altAxis: 0 }, L), $ = t.modifiersData.offset ? t.modifiersData.offset[t.placement] : null, I = { x: 0, y: 0 };\n  if (T) {\n    if (i) {\n      var O, G = x === \"y\" ? fa : ca, K = x === \"y\" ? Wa : Za, V = x === \"y\" ? \"height\" : \"width\", z = T[x], P = z + g[G], R = z - g[K], H = p ? -M[V] / 2 : 0, B = w === ku ? S[V] : M[V], W = w === ku ? -M[V] : -S[V], ee = t.elements.arrow, re = p && ee ? x1(ee) : { width: 0, height: 0 }, ae = t.modifiersData[\"arrow#persistent\"] ? t.modifiersData[\"arrow#persistent\"].padding : V3(), Q = ae[G], ue = ae[K], j = Qf(0, S[V], re[V]), U = k ? S[V] / 2 - H - j - Q - F.mainAxis : B - j - Q - F.mainAxis, Z = k ? -S[V] / 2 + H + j + ue + F.mainAxis : W + j + ue + F.mainAxis, le = t.elements.arrow && Uc(t.elements.arrow), J = le ? x === \"y\" ? le.clientTop || 0 : le.clientLeft || 0 : 0, pe = (O = $ == null ? void 0 : $[x]) != null ? O : 0, ge = z + U - pe - J, ve = z + Z - pe, me = Qf(p ? tv(P, ge) : P, z, p ? ql(R, ve) : R);\n      T[x] = me, I[x] = me - z;\n    }\n    if (l) {\n      var Le, ze = x === \"x\" ? fa : ca, Fe = x === \"x\" ? Wa : Za, Oe = T[_], Re = _ === \"y\" ? \"height\" : \"width\", We = Oe + g[ze], Me = Oe - g[Fe], Ve = [fa, ca].indexOf(y) !== -1, qe = (Le = $ == null ? void 0 : $[_]) != null ? Le : 0, Qe = Ve ? We : Oe - S[Re] - M[Re] - qe + F.altAxis, ot = Ve ? Oe + S[Re] + M[Re] - qe - F.altAxis : Me, ht = p && Ve ? r9(Qe, Oe, ot) : Qf(p ? Qe : We, Oe, p ? ot : Me);\n      T[_] = ht, I[_] = ht - Oe;\n    }\n    t.modifiersData[n] = I;\n  }\n}\nvar D9 = { name: \"preventOverflow\", enabled: !0, phase: \"main\", fn: L9, requiresIfExists: [\"offset\"] };\nfunction E9(e) {\n  return { scrollLeft: e.scrollLeft, scrollTop: e.scrollTop };\n}\nfunction F9(e) {\n  return e === yi(e) || !Va(e) ? T1(e) : E9(e);\n}\nfunction R9(e) {\n  var t = e.getBoundingClientRect(), r = Mu(t.width) / e.offsetWidth || 1, n = Mu(t.height) / e.offsetHeight || 1;\n  return r !== 1 || n !== 1;\n}\nfunction P9(e, t, r) {\n  r === void 0 && (r = !1);\n  var n = Va(t), a = Va(t) && R9(t), i = vl(t), o = Su(e, a), l = { scrollLeft: 0, scrollTop: 0 }, s = { x: 0, y: 0 };\n  return (n || !n && !r) && ((Vi(t) !== \"body\" || A1(i)) && (l = F9(t)), Va(t) ? (s = Su(t, !0), s.x += t.clientLeft, s.y += t.clientTop) : i && (s.x = k1(i))), { x: o.left + l.scrollLeft - s.x, y: o.top + l.scrollTop - s.y, width: o.width, height: o.height };\n}\nfunction $9(e) {\n  var t = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Set(), n = [];\n  e.forEach(function(i) {\n    t.set(i.name, i);\n  });\n  function a(i) {\n    r.add(i.name);\n    var o = [].concat(i.requires || [], i.requiresIfExists || []);\n    o.forEach(function(l) {\n      if (!r.has(l)) {\n        var s = t.get(l);\n        s && a(s);\n      }\n    }), n.push(i);\n  }\n  return e.forEach(function(i) {\n    r.has(i.name) || a(i);\n  }), n;\n}\nfunction z9(e) {\n  var t = $9(e);\n  return K7.reduce(function(r, n) {\n    return r.concat(t.filter(function(a) {\n      return a.phase === n;\n    }));\n  }, []);\n}\nfunction I9(e) {\n  var t;\n  return function() {\n    return t || (t = new Promise(function(r) {\n      Promise.resolve().then(function() {\n        t = void 0, r(e());\n      });\n    })), t;\n  };\n}\nfunction N9(e) {\n  var t = e.reduce(function(r, n) {\n    var a = r[n.name];\n    return r[n.name] = a ? Object.assign({}, a, n, { options: Object.assign({}, a.options, n.options), data: Object.assign({}, a.data, n.data) }) : n, r;\n  }, {});\n  return Object.keys(t).map(function(r) {\n    return t[r];\n  });\n}\nvar Mw = { placement: \"bottom\", modifiers: [], strategy: \"absolute\" };\nfunction Sw() {\n  for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++) t[r] = arguments[r];\n  return !t.some(function(n) {\n    return !(n && typeof n.getBoundingClientRect == \"function\");\n  });\n}\nfunction M1(e) {\n  e === void 0 && (e = {});\n  var t = e, r = t.defaultModifiers, n = r === void 0 ? [] : r, a = t.defaultOptions, i = a === void 0 ? Mw : a;\n  return function(o, l, s) {\n    s === void 0 && (s = i);\n    var u = { placement: \"bottom\", orderedModifiers: [], options: Object.assign({}, Mw, i), modifiersData: {}, elements: { reference: o, popper: l }, attributes: {}, styles: {} }, f = [], d = !1, h = { state: u, setOptions: function(m) {\n      var g = typeof m == \"function\" ? m(u.options) : m;\n      v(), u.options = Object.assign({}, i, u.options, g), u.scrollParents = { reference: Au(o) ? ec(o) : o.contextElement ? ec(o.contextElement) : [], popper: ec(l) };\n      var y = z9(N9([].concat(n, u.options.modifiers)));\n      return u.orderedModifiers = y.filter(function(w) {\n        return w.enabled;\n      }), p(), h.update();\n    }, forceUpdate: function() {\n      if (!d) {\n        var m = u.elements, g = m.reference, y = m.popper;\n        if (Sw(g, y)) {\n          u.rects = { reference: P9(g, Uc(y), u.options.strategy === \"fixed\"), popper: x1(y) }, u.reset = !1, u.placement = u.options.placement, u.orderedModifiers.forEach(function(M) {\n            return u.modifiersData[M.name] = Object.assign({}, M.data);\n          });\n          for (var w = 0; w < u.orderedModifiers.length; w++) {\n            if (u.reset === !0) {\n              u.reset = !1, w = -1;\n              continue;\n            }\n            var k = u.orderedModifiers[w], x = k.fn, _ = k.options, T = _ === void 0 ? {} : _, S = k.name;\n            typeof x == \"function\" && (u = x({ state: u, options: T, name: S, instance: h }) || u);\n          }\n        }\n      }\n    }, update: I9(function() {\n      return new Promise(function(m) {\n        h.forceUpdate(), m(u);\n      });\n    }), destroy: function() {\n      v(), d = !0;\n    } };\n    if (!Sw(o, l)) return h;\n    h.setOptions(s).then(function(m) {\n      !d && s.onFirstUpdate && s.onFirstUpdate(m);\n    });\n    function p() {\n      u.orderedModifiers.forEach(function(m) {\n        var g = m.name, y = m.options, w = y === void 0 ? {} : y, k = m.effect;\n        if (typeof k == \"function\") {\n          var x = k({ state: u, name: g, instance: h, options: w }), _ = function() {\n          };\n          f.push(x || _);\n        }\n      });\n    }\n    function v() {\n      f.forEach(function(m) {\n        return m();\n      }), f = [];\n    }\n    return h;\n  };\n}\nM1();\nvar O9 = [Y3, J3, Z3, U3];\nM1({ defaultModifiers: O9 });\nvar H9 = [Y3, J3, Z3, U3, M9, x9, D9, o9, T9], B9 = M1({ defaultModifiers: H9 });\nconst j9 = (e, t, r = {}) => {\n  const n = {\n    name: \"updateState\",\n    enabled: !0,\n    phase: \"write\",\n    fn: ({ state: s }) => {\n      const u = U9(s);\n      Object.assign(o.value, u);\n    },\n    requires: [\"computeStyles\"]\n  }, a = et(() => {\n    const { onFirstUpdate: s, placement: u, strategy: f, modifiers: d } = $e(r);\n    return {\n      onFirstUpdate: s,\n      placement: u || \"bottom\",\n      strategy: f || \"absolute\",\n      modifiers: [\n        ...d || [],\n        n,\n        { name: \"applyStyles\", enabled: !1 }\n      ]\n    };\n  }), i = d3(), o = Rt({\n    styles: {\n      popper: {\n        position: $e(a).strategy,\n        left: \"0\",\n        top: \"0\"\n      },\n      arrow: {\n        position: \"absolute\"\n      }\n    },\n    attributes: {}\n  }), l = () => {\n    i.value && (i.value.destroy(), i.value = void 0);\n  };\n  return _r(a, (s) => {\n    const u = $e(i);\n    u && u.setOptions(s);\n  }, {\n    deep: !0\n  }), _r([e, t], ([s, u]) => {\n    l(), !(!s || !u) && (i.value = B9(s, u, $e(a)));\n  }), mi(() => {\n    l();\n  }), {\n    state: et(() => {\n      var s;\n      return { ...((s = $e(i)) == null ? void 0 : s.state) || {} };\n    }),\n    styles: et(() => $e(o).styles),\n    attributes: et(() => $e(o).attributes),\n    update: () => {\n      var s;\n      return (s = $e(i)) == null ? void 0 : s.update();\n    },\n    forceUpdate: () => {\n      var s;\n      return (s = $e(i)) == null ? void 0 : s.forceUpdate();\n    },\n    instanceRef: et(() => $e(i))\n  };\n};\nfunction U9(e) {\n  const t = Object.keys(e.elements), r = Z0(t.map((a) => [a, e.styles[a] || {}])), n = Z0(t.map((a) => [a, e.attributes[a]]));\n  return {\n    styles: r,\n    attributes: n\n  };\n}\nfunction Cw() {\n  let e;\n  const t = (n, a) => {\n    r(), e = window.setTimeout(n, a);\n  }, r = () => window.clearTimeout(e);\n  return Hv(() => r()), {\n    registerTimeout: t,\n    cancelTimeout: r\n  };\n}\nconst K0 = {\n  prefix: Math.floor(Math.random() * 1e4),\n  current: 0\n}, G9 = Symbol(\"elIdInjection\"), S1 = () => xa() ? Rr(G9, K0) : K0, Jv = (e) => {\n  const t = S1();\n  !qn && t === K0 && Gi(\"IdInjection\", `Looks like you are using server rendering, you must provide a id provider to ensure the hydration process to be succeed\nusage: app.provide(ID_INJECTION_KEY, {\n  prefix: number,\n  current: number,\n})`);\n  const r = y1();\n  return et(() => $e(e) || `${r.value}-id-${t.prefix}-${t.current++}`);\n};\nlet tu = [];\nconst Lw = (e) => {\n  const t = e;\n  t.key === hc.esc && tu.forEach((r) => r(t));\n}, V9 = (e) => {\n  Zn(() => {\n    tu.length === 0 && document.addEventListener(\"keydown\", Lw), qn && tu.push(e);\n  }), mi(() => {\n    tu = tu.filter((t) => t !== e), tu.length === 0 && qn && document.removeEventListener(\"keydown\", Lw);\n  });\n};\nlet Dw;\nconst Q3 = () => {\n  const e = y1(), t = S1(), r = et(() => `${e.value}-popper-container-${t.prefix}`), n = et(() => `#${r.value}`);\n  return {\n    id: r,\n    selector: n\n  };\n}, q9 = (e) => {\n  const t = document.createElement(\"div\");\n  return t.id = e, document.body.appendChild(t), t;\n}, W9 = () => {\n  const { id: e, selector: t } = Q3();\n  return RR(() => {\n    qn && (cs.env.NODE_ENV === \"test\" || !Dw || !document.body.querySelector(t.value)) && (Dw = q9(e.value));\n  }), {\n    id: e,\n    selector: t\n  };\n}, Z9 = qr({\n  showAfter: {\n    type: Number,\n    default: 0\n  },\n  hideAfter: {\n    type: Number,\n    default: 200\n  },\n  autoClose: {\n    type: Number,\n    default: 0\n  }\n}), Y9 = ({\n  showAfter: e,\n  hideAfter: t,\n  autoClose: r,\n  open: n,\n  close: a\n}) => {\n  const { registerTimeout: i } = Cw(), {\n    registerTimeout: o,\n    cancelTimeout: l\n  } = Cw();\n  return {\n    onOpen: (f) => {\n      i(() => {\n        n(f);\n        const d = $e(r);\n        Ga(d) && d > 0 && o(() => {\n          a(f);\n        }, d);\n      }, $e(e));\n    },\n    onClose: (f) => {\n      l(), i(() => {\n        a(f);\n      }, $e(t));\n    }\n  };\n}, e5 = Symbol(\"elForwardRef\"), X9 = (e) => {\n  wa(e5, {\n    setForwardRef: (r) => {\n      e.value = r;\n    }\n  });\n}, K9 = (e) => ({\n  mounted(t) {\n    e(t);\n  },\n  updated(t) {\n    e(t);\n  },\n  unmounted() {\n    e(null);\n  }\n}), Ew = {\n  current: 0\n}, Fw = Rt(0), J9 = 2e3, Rw = Symbol(\"elZIndexContextKey\"), Q9 = Symbol(\"zIndexContextKey\"), eN = (e) => {\n  const t = xa() ? Rr(Rw, Ew) : Ew, r = xa() ? Rr(Q9, void 0) : void 0, n = et(() => {\n    const o = $e(r);\n    return Ga(o) ? o : J9;\n  }), a = et(() => n.value + Fw.value), i = () => (t.current++, Fw.value = t.current, a.value);\n  return !qn && !Rr(Rw) && Gi(\"ZIndexInjection\", `Looks like you are using server rendering, you must provide a z-index provider to ensure the hydration process to be succeed\nusage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`), {\n    initialZIndex: n,\n    currentZIndex: a,\n    nextZIndex: i\n  };\n}, t5 = Wv({\n  type: String,\n  values: H3,\n  required: !1\n}), tN = Symbol(\"size\"), rN = () => {\n  const e = Rr(tN, {});\n  return et(() => $e(e.size) || \"\");\n};\nfunction nN(e, {\n  beforeFocus: t,\n  afterFocus: r,\n  beforeBlur: n,\n  afterBlur: a\n} = {}) {\n  const i = xa(), { emit: o } = i, l = d3(), s = Rt(!1), u = (h) => {\n    ua(t) && t(h) || s.value || (s.value = !0, o(\"focus\", h), r == null || r());\n  }, f = (h) => {\n    var p;\n    ua(n) && n(h) || h.relatedTarget && ((p = l.value) != null && p.contains(h.relatedTarget)) || (s.value = !1, o(\"blur\", h), a == null || a());\n  }, d = () => {\n    var h, p;\n    (h = l.value) != null && h.contains(document.activeElement) && l.value !== document.activeElement || (p = e.value) == null || p.focus();\n  };\n  return _r(l, (h) => {\n    h && h.setAttribute(\"tabindex\", \"-1\");\n  }), ui(l, \"focus\", u, !0), ui(l, \"blur\", f, !0), ui(l, \"click\", d, !0), cs.env.NODE_ENV === \"test\" && Zn(() => {\n    const h = Vl(e.value) ? e.value : document.querySelector(\"input,textarea\");\n    h && (ui(h, \"focus\", u, !0), ui(h, \"blur\", f, !0));\n  }), {\n    isFocused: s,\n    wrapperRef: l,\n    handleFocus: u,\n    handleBlur: f\n  };\n}\nfunction aN({\n  afterComposition: e,\n  emit: t\n}) {\n  const r = Rt(!1), n = (l) => {\n    t == null || t(\"compositionstart\", l), r.value = !0;\n  }, a = (l) => {\n    var s;\n    t == null || t(\"compositionupdate\", l);\n    const u = (s = l.target) == null ? void 0 : s.value, f = u[u.length - 1] || \"\";\n    r.value = !M7(f);\n  }, i = (l) => {\n    t == null || t(\"compositionend\", l), r.value && (r.value = !1, ja(() => e(l)));\n  };\n  return {\n    isComposing: r,\n    handleComposition: (l) => {\n      l.type === \"compositionend\" ? i(l) : a(l);\n    },\n    handleCompositionStart: n,\n    handleCompositionUpdate: a,\n    handleCompositionEnd: i\n  };\n}\nconst iN = Symbol(\"emptyValuesContextKey\"), oN = \"use-empty-values\", lN = [\"\", void 0, null], sN = void 0, uN = qr({\n  emptyValues: Array,\n  valueOnClear: {\n    type: [String, Number, Boolean, Function],\n    default: void 0,\n    validator: (e) => ua(e) ? !e() : !e\n  }\n}), fN = (e, t) => {\n  const r = xa() ? Rr(iN, Rt({})) : Rt({}), n = et(() => e.emptyValues || r.value.emptyValues || lN), a = et(() => ua(e.valueOnClear) ? e.valueOnClear() : e.valueOnClear !== void 0 ? e.valueOnClear : ua(r.value.valueOnClear) ? r.value.valueOnClear() : r.value.valueOnClear !== void 0 ? r.value.valueOnClear : sN), i = (o) => n.value.includes(o);\n  return n.value.includes(a.value) || Gi(oN, \"value-on-clear should be a value of empty-values\"), {\n    emptyValues: n,\n    valueOnClear: a,\n    isEmptyValue: i\n  };\n}, cN = qr({\n  ariaLabel: String,\n  ariaOrientation: {\n    type: String,\n    values: [\"horizontal\", \"vertical\", \"undefined\"]\n  },\n  ariaControls: String\n}), Qv = (e) => s7(cN, e), dN = Symbol(), Pw = Rt();\nfunction hN(e, t = void 0) {\n  const r = xa() ? Rr(dN, Pw) : Pw;\n  return et(() => {\n    var n, a;\n    return (a = (n = r.value) == null ? void 0 : n[e]) != null ? a : t;\n  });\n}\nvar jr = (e, t) => {\n  const r = e.__vccOpts || e;\n  for (const [n, a] of t)\n    r[n] = a;\n  return r;\n};\nconst vN = qr({\n  size: {\n    type: dr([Number, String])\n  },\n  color: {\n    type: String\n  }\n}), pN = er({\n  name: \"ElIcon\",\n  inheritAttrs: !1\n}), mN = /* @__PURE__ */ er({\n  ...pN,\n  props: vN,\n  setup(e) {\n    const t = e, r = on(\"icon\"), n = et(() => {\n      const { size: a, color: i } = t;\n      return !a && !i ? {} : {\n        fontSize: qf(a) ? void 0 : ev(a),\n        \"--color\": i\n      };\n    });\n    return (a, i) => (At(), Xt(\"i\", fs({\n      class: $e(r).b(),\n      style: $e(n)\n    }, a.$attrs), [\n      ur(a.$slots, \"default\")\n    ], 16));\n  }\n});\nvar gN = /* @__PURE__ */ jr(mN, [[\"__file\", \"icon.vue\"]]);\nconst Lu = gi(gN), C1 = Symbol(\"formContextKey\"), rv = Symbol(\"formItemContextKey\"), L1 = (e, t = {}) => {\n  const r = Rt(void 0), n = t.prop ? r : B3(\"size\"), a = t.global ? r : rN(), i = t.form ? { size: void 0 } : Rr(C1, void 0), o = t.formItem ? { size: void 0 } : Rr(rv, void 0);\n  return et(() => n.value || $e(e) || (o == null ? void 0 : o.size) || (i == null ? void 0 : i.size) || a.value || \"\");\n}, r5 = (e) => {\n  const t = B3(\"disabled\"), r = Rr(C1, void 0);\n  return et(() => t.value || $e(e) || (r == null ? void 0 : r.disabled) || !1);\n}, n5 = () => {\n  const e = Rr(C1, void 0), t = Rr(rv, void 0);\n  return {\n    form: e,\n    formItem: t\n  };\n}, yN = (e, {\n  formItemContext: t,\n  disableIdGeneration: r,\n  disableIdManagement: n\n}) => {\n  r || (r = Rt(!1)), n || (n = Rt(!1));\n  const a = Rt();\n  let i;\n  const o = et(() => {\n    var l;\n    return !!(!(e.label || e.ariaLabel) && t && t.inputIds && ((l = t.inputIds) == null ? void 0 : l.length) <= 1);\n  });\n  return Zn(() => {\n    i = _r([Ii(e, \"id\"), r], ([l, s]) => {\n      const u = l ?? (s ? void 0 : Jv().value);\n      u !== a.value && (t != null && t.removeInputId && (a.value && t.removeInputId(a.value), !(n != null && n.value) && !s && u && t.addInputId(u)), a.value = u);\n    }, { immediate: !0 });\n  }), PR(() => {\n    i && i(), t != null && t.removeInputId && a.value && t.removeInputId(a.value);\n  }), {\n    isLabeledByFormItem: o,\n    inputId: a\n  };\n}, Es = 4, bN = {\n  vertical: {\n    offset: \"offsetHeight\",\n    scroll: \"scrollTop\",\n    scrollSize: \"scrollHeight\",\n    size: \"height\",\n    key: \"vertical\",\n    axis: \"Y\",\n    client: \"clientY\",\n    direction: \"top\"\n  },\n  horizontal: {\n    offset: \"offsetWidth\",\n    scroll: \"scrollLeft\",\n    scrollSize: \"scrollWidth\",\n    size: \"width\",\n    key: \"horizontal\",\n    axis: \"X\",\n    client: \"clientX\",\n    direction: \"left\"\n  }\n}, _N = ({\n  move: e,\n  size: t,\n  bar: r\n}) => ({\n  [r.size]: t,\n  transform: `translate${r.axis}(${e}%)`\n}), D1 = Symbol(\"scrollbarContextKey\"), xN = qr({\n  vertical: Boolean,\n  size: String,\n  move: Number,\n  ratio: {\n    type: Number,\n    required: !0\n  },\n  always: Boolean\n}), wN = \"Thumb\", TN = /* @__PURE__ */ er({\n  __name: \"thumb\",\n  props: xN,\n  setup(e) {\n    const t = e, r = Rr(D1), n = on(\"scrollbar\");\n    r || c7(wN, \"can not inject scrollbar context\");\n    const a = Rt(), i = Rt(), o = Rt({}), l = Rt(!1);\n    let s = !1, u = !1, f = qn ? document.onselectstart : null;\n    const d = et(() => bN[t.vertical ? \"vertical\" : \"horizontal\"]), h = et(() => _N({\n      size: t.size,\n      move: t.move,\n      bar: d.value\n    })), p = et(() => a.value[d.value.offset] ** 2 / r.wrapElement[d.value.scrollSize] / t.ratio / i.value[d.value.offset]), v = (T) => {\n      var S;\n      if (T.stopPropagation(), T.ctrlKey || [1, 2].includes(T.button))\n        return;\n      (S = window.getSelection()) == null || S.removeAllRanges(), g(T);\n      const M = T.currentTarget;\n      M && (o.value[d.value.axis] = M[d.value.offset] - (T[d.value.client] - M.getBoundingClientRect()[d.value.direction]));\n    }, m = (T) => {\n      if (!i.value || !a.value || !r.wrapElement)\n        return;\n      const S = Math.abs(T.target.getBoundingClientRect()[d.value.direction] - T[d.value.client]), M = i.value[d.value.offset] / 2, L = (S - M) * 100 * p.value / a.value[d.value.offset];\n      r.wrapElement[d.value.scroll] = L * r.wrapElement[d.value.scrollSize] / 100;\n    }, g = (T) => {\n      T.stopImmediatePropagation(), s = !0, document.addEventListener(\"mousemove\", y), document.addEventListener(\"mouseup\", w), f = document.onselectstart, document.onselectstart = () => !1;\n    }, y = (T) => {\n      if (!a.value || !i.value || s === !1)\n        return;\n      const S = o.value[d.value.axis];\n      if (!S)\n        return;\n      const M = (a.value.getBoundingClientRect()[d.value.direction] - T[d.value.client]) * -1, L = i.value[d.value.offset] - S, F = (M - L) * 100 * p.value / a.value[d.value.offset];\n      r.wrapElement[d.value.scroll] = F * r.wrapElement[d.value.scrollSize] / 100;\n    }, w = () => {\n      s = !1, o.value[d.value.axis] = 0, document.removeEventListener(\"mousemove\", y), document.removeEventListener(\"mouseup\", w), _(), u && (l.value = !1);\n    }, k = () => {\n      u = !1, l.value = !!t.size;\n    }, x = () => {\n      u = !0, l.value = s;\n    };\n    mi(() => {\n      _(), document.removeEventListener(\"mouseup\", w);\n    });\n    const _ = () => {\n      document.onselectstart !== f && (document.onselectstart = f);\n    };\n    return ui(Ii(r, \"scrollbarElement\"), \"mousemove\", k), ui(Ii(r, \"scrollbarElement\"), \"mouseleave\", x), (T, S) => (At(), kr(Ov, {\n      name: $e(n).b(\"fade\"),\n      persisted: \"\"\n    }, {\n      default: ir(() => [\n        yo(cr(\"div\", {\n          ref_key: \"instance\",\n          ref: a,\n          class: Vt([$e(n).e(\"bar\"), $e(n).is($e(d).key)]),\n          onMousedown: m\n        }, [\n          cr(\"div\", {\n            ref_key: \"thumb\",\n            ref: i,\n            class: Vt($e(n).e(\"thumb\")),\n            style: Hi($e(h)),\n            onMousedown: v\n          }, null, 38)\n        ], 34), [\n          [ju, T.always || l.value]\n        ])\n      ]),\n      _: 1\n    }, 8, [\"name\"]));\n  }\n});\nvar $w = /* @__PURE__ */ jr(TN, [[\"__file\", \"thumb.vue\"]]);\nconst kN = qr({\n  always: {\n    type: Boolean,\n    default: !0\n  },\n  minSize: {\n    type: Number,\n    required: !0\n  }\n}), AN = /* @__PURE__ */ er({\n  __name: \"bar\",\n  props: kN,\n  setup(e, { expose: t }) {\n    const r = e, n = Rr(D1), a = Rt(0), i = Rt(0), o = Rt(\"\"), l = Rt(\"\"), s = Rt(1), u = Rt(1);\n    return t({\n      handleScroll: (h) => {\n        if (h) {\n          const p = h.offsetHeight - Es, v = h.offsetWidth - Es;\n          i.value = h.scrollTop * 100 / p * s.value, a.value = h.scrollLeft * 100 / v * u.value;\n        }\n      },\n      update: () => {\n        const h = n == null ? void 0 : n.wrapElement;\n        if (!h)\n          return;\n        const p = h.offsetHeight - Es, v = h.offsetWidth - Es, m = p ** 2 / h.scrollHeight, g = v ** 2 / h.scrollWidth, y = Math.max(m, r.minSize), w = Math.max(g, r.minSize);\n        s.value = m / (p - m) / (y / (p - y)), u.value = g / (v - g) / (w / (v - w)), l.value = y + Es < p ? `${y}px` : \"\", o.value = w + Es < v ? `${w}px` : \"\";\n      }\n    }), (h, p) => (At(), Xt(wo, null, [\n      Ar($w, {\n        move: a.value,\n        ratio: u.value,\n        size: o.value,\n        always: h.always\n      }, null, 8, [\"move\", \"ratio\", \"size\", \"always\"]),\n      Ar($w, {\n        move: i.value,\n        ratio: s.value,\n        size: l.value,\n        vertical: \"\",\n        always: h.always\n      }, null, 8, [\"move\", \"ratio\", \"size\", \"always\"])\n    ], 64));\n  }\n});\nvar MN = /* @__PURE__ */ jr(AN, [[\"__file\", \"bar.vue\"]]);\nconst SN = qr({\n  height: {\n    type: [String, Number],\n    default: \"\"\n  },\n  maxHeight: {\n    type: [String, Number],\n    default: \"\"\n  },\n  native: {\n    type: Boolean,\n    default: !1\n  },\n  wrapStyle: {\n    type: dr([String, Object, Array]),\n    default: \"\"\n  },\n  wrapClass: {\n    type: [String, Array],\n    default: \"\"\n  },\n  viewClass: {\n    type: [String, Array],\n    default: \"\"\n  },\n  viewStyle: {\n    type: [String, Array, Object],\n    default: \"\"\n  },\n  noresize: Boolean,\n  tag: {\n    type: String,\n    default: \"div\"\n  },\n  always: Boolean,\n  minSize: {\n    type: Number,\n    default: 20\n  },\n  tabindex: {\n    type: [String, Number],\n    default: void 0\n  },\n  id: String,\n  role: String,\n  ...Qv([\"ariaLabel\", \"ariaOrientation\"])\n}), CN = {\n  scroll: ({\n    scrollTop: e,\n    scrollLeft: t\n  }) => [e, t].every(Ga)\n}, J0 = \"ElScrollbar\", LN = er({\n  name: J0\n}), DN = /* @__PURE__ */ er({\n  ...LN,\n  props: SN,\n  emits: CN,\n  setup(e, { expose: t, emit: r }) {\n    const n = e, a = on(\"scrollbar\");\n    let i, o, l = 0, s = 0;\n    const u = Rt(), f = Rt(), d = Rt(), h = Rt(), p = et(() => {\n      const _ = {};\n      return n.height && (_.height = ev(n.height)), n.maxHeight && (_.maxHeight = ev(n.maxHeight)), [n.wrapStyle, _];\n    }), v = et(() => [\n      n.wrapClass,\n      a.e(\"wrap\"),\n      { [a.em(\"wrap\", \"hidden-default\")]: !n.native }\n    ]), m = et(() => [a.e(\"view\"), n.viewClass]), g = () => {\n      var _;\n      f.value && ((_ = h.value) == null || _.handleScroll(f.value), l = f.value.scrollTop, s = f.value.scrollLeft, r(\"scroll\", {\n        scrollTop: f.value.scrollTop,\n        scrollLeft: f.value.scrollLeft\n      }));\n    };\n    function y(_, T) {\n      Oi(_) ? f.value.scrollTo(_) : Ga(_) && Ga(T) && f.value.scrollTo(_, T);\n    }\n    const w = (_) => {\n      if (!Ga(_)) {\n        Gi(J0, \"value must be a number\");\n        return;\n      }\n      f.value.scrollTop = _;\n    }, k = (_) => {\n      if (!Ga(_)) {\n        Gi(J0, \"value must be a number\");\n        return;\n      }\n      f.value.scrollLeft = _;\n    }, x = () => {\n      var _;\n      (_ = h.value) == null || _.update();\n    };\n    return _r(() => n.noresize, (_) => {\n      _ ? (i == null || i(), o == null || o()) : ({ stop: i } = Wo(d, x), o = ui(\"resize\", x));\n    }, { immediate: !0 }), _r(() => [n.maxHeight, n.height], () => {\n      n.native || ja(() => {\n        var _;\n        x(), f.value && ((_ = h.value) == null || _.handleScroll(f.value));\n      });\n    }), wa(D1, ts({\n      scrollbarElement: u,\n      wrapElement: f\n    })), $R(() => {\n      f.value && (f.value.scrollTop = l, f.value.scrollLeft = s);\n    }), Zn(() => {\n      n.native || ja(() => {\n        x();\n      });\n    }), zR(() => x()), t({\n      wrapRef: f,\n      update: x,\n      scrollTo: y,\n      setScrollTop: w,\n      setScrollLeft: k,\n      handleScroll: g\n    }), (_, T) => (At(), Xt(\"div\", {\n      ref_key: \"scrollbarRef\",\n      ref: u,\n      class: Vt($e(a).b())\n    }, [\n      cr(\"div\", {\n        ref_key: \"wrapRef\",\n        ref: f,\n        class: Vt($e(v)),\n        style: Hi($e(p)),\n        tabindex: _.tabindex,\n        onScroll: g\n      }, [\n        (At(), kr(bo(_.tag), {\n          id: _.id,\n          ref_key: \"resizeRef\",\n          ref: d,\n          class: Vt($e(m)),\n          style: Hi(_.viewStyle),\n          role: _.role,\n          \"aria-label\": _.ariaLabel,\n          \"aria-orientation\": _.ariaOrientation\n        }, {\n          default: ir(() => [\n            ur(_.$slots, \"default\")\n          ]),\n          _: 3\n        }, 8, [\"id\", \"class\", \"style\", \"role\", \"aria-label\", \"aria-orientation\"]))\n      ], 46, [\"tabindex\"]),\n      _.native ? Fr(\"v-if\", !0) : (At(), kr(MN, {\n        key: 0,\n        ref_key: \"barRef\",\n        ref: h,\n        always: _.always,\n        \"min-size\": _.minSize\n      }, null, 8, [\"always\", \"min-size\"]))\n    ], 2));\n  }\n});\nvar EN = /* @__PURE__ */ jr(DN, [[\"__file\", \"scrollbar.vue\"]]);\nconst FN = gi(EN), E1 = Symbol(\"popper\"), a5 = Symbol(\"popperContent\"), RN = [\n  \"dialog\",\n  \"grid\",\n  \"group\",\n  \"listbox\",\n  \"menu\",\n  \"navigation\",\n  \"tooltip\",\n  \"tree\"\n], i5 = qr({\n  role: {\n    type: String,\n    values: RN,\n    default: \"tooltip\"\n  }\n}), PN = er({\n  name: \"ElPopper\",\n  inheritAttrs: !1\n}), $N = /* @__PURE__ */ er({\n  ...PN,\n  props: i5,\n  setup(e, { expose: t }) {\n    const r = e, n = Rt(), a = Rt(), i = Rt(), o = Rt(), l = et(() => r.role), s = {\n      triggerRef: n,\n      popperInstanceRef: a,\n      contentRef: i,\n      referenceRef: o,\n      role: l\n    };\n    return t(s), wa(E1, s), (u, f) => ur(u.$slots, \"default\");\n  }\n});\nvar zN = /* @__PURE__ */ jr($N, [[\"__file\", \"popper.vue\"]]);\nconst o5 = qr({\n  arrowOffset: {\n    type: Number,\n    default: 5\n  }\n}), IN = er({\n  name: \"ElPopperArrow\",\n  inheritAttrs: !1\n}), NN = /* @__PURE__ */ er({\n  ...IN,\n  props: o5,\n  setup(e, { expose: t }) {\n    const r = e, n = on(\"popper\"), { arrowOffset: a, arrowRef: i, arrowStyle: o } = Rr(a5, void 0);\n    return _r(() => r.arrowOffset, (l) => {\n      a.value = l;\n    }), mi(() => {\n      i.value = void 0;\n    }), t({\n      arrowRef: i\n    }), (l, s) => (At(), Xt(\"span\", {\n      ref_key: \"arrowRef\",\n      ref: i,\n      class: Vt($e(n).e(\"arrow\")),\n      style: Hi($e(o)),\n      \"data-popper-arrow\": \"\"\n    }, null, 6));\n  }\n});\nvar ON = /* @__PURE__ */ jr(NN, [[\"__file\", \"arrow.vue\"]]);\nconst Rm = \"ElOnlyChild\", HN = er({\n  name: Rm,\n  setup(e, {\n    slots: t,\n    attrs: r\n  }) {\n    var n;\n    const a = Rr(e5), i = K9((n = a == null ? void 0 : a.setForwardRef) != null ? n : Kh);\n    return () => {\n      var o;\n      const l = (o = t.default) == null ? void 0 : o.call(t, r);\n      if (!l)\n        return null;\n      if (l.length > 1)\n        return Gi(Rm, \"requires exact only one valid child.\"), null;\n      const s = l5(l);\n      return s ? yo(IR(s, r), [[i]]) : (Gi(Rm, \"no valid child node found\"), null);\n    };\n  }\n});\nfunction l5(e) {\n  if (!e)\n    return null;\n  const t = e;\n  for (const r of t) {\n    if (Oi(r))\n      switch (r.type) {\n        case NR:\n          continue;\n        case h3:\n        case \"svg\":\n          return zw(r);\n        case wo:\n          return l5(r.children);\n        default:\n          return r;\n      }\n    return zw(r);\n  }\n  return null;\n}\nfunction zw(e) {\n  const t = on(\"only-child\");\n  return Ar(\"span\", {\n    class: t.e(\"content\")\n  }, [e]);\n}\nconst s5 = qr({\n  virtualRef: {\n    type: dr(Object)\n  },\n  virtualTriggering: Boolean,\n  onMouseenter: {\n    type: dr(Function)\n  },\n  onMouseleave: {\n    type: dr(Function)\n  },\n  onClick: {\n    type: dr(Function)\n  },\n  onKeydown: {\n    type: dr(Function)\n  },\n  onFocus: {\n    type: dr(Function)\n  },\n  onBlur: {\n    type: dr(Function)\n  },\n  onContextmenu: {\n    type: dr(Function)\n  },\n  id: String,\n  open: Boolean\n}), BN = er({\n  name: \"ElPopperTrigger\",\n  inheritAttrs: !1\n}), jN = /* @__PURE__ */ er({\n  ...BN,\n  props: s5,\n  setup(e, { expose: t }) {\n    const r = e, { role: n, triggerRef: a } = Rr(E1, void 0);\n    X9(a);\n    const i = et(() => l.value ? r.id : void 0), o = et(() => {\n      if (n && n.value === \"tooltip\")\n        return r.open && r.id ? r.id : void 0;\n    }), l = et(() => {\n      if (n && n.value !== \"tooltip\")\n        return n.value;\n    }), s = et(() => l.value ? `${r.open}` : void 0);\n    let u;\n    const f = [\n      \"onMouseenter\",\n      \"onMouseleave\",\n      \"onClick\",\n      \"onKeydown\",\n      \"onFocus\",\n      \"onBlur\",\n      \"onContextmenu\"\n    ];\n    return Zn(() => {\n      _r(() => r.virtualRef, (d) => {\n        d && (a.value = mo(d));\n      }, {\n        immediate: !0\n      }), _r(a, (d, h) => {\n        u == null || u(), u = void 0, Vl(d) && (f.forEach((p) => {\n          var v;\n          const m = r[p];\n          m && (d.addEventListener(p.slice(2).toLowerCase(), m), (v = h == null ? void 0 : h.removeEventListener) == null || v.call(h, p.slice(2).toLowerCase(), m));\n        }), u = _r([i, o, l, s], (p) => {\n          [\n            \"aria-controls\",\n            \"aria-describedby\",\n            \"aria-haspopup\",\n            \"aria-expanded\"\n          ].forEach((v, m) => {\n            m1(p[m]) ? d.removeAttribute(v) : d.setAttribute(v, p[m]);\n          });\n        }, { immediate: !0 })), Vl(h) && [\n          \"aria-controls\",\n          \"aria-describedby\",\n          \"aria-haspopup\",\n          \"aria-expanded\"\n        ].forEach((p) => h.removeAttribute(p));\n      }, {\n        immediate: !0\n      });\n    }), mi(() => {\n      if (u == null || u(), u = void 0, a.value && Vl(a.value)) {\n        const d = a.value;\n        f.forEach((h) => {\n          const p = r[h];\n          p && d.removeEventListener(h.slice(2).toLowerCase(), p);\n        }), a.value = void 0;\n      }\n    }), t({\n      triggerRef: a\n    }), (d, h) => d.virtualTriggering ? Fr(\"v-if\", !0) : (At(), kr($e(HN), fs({ key: 0 }, d.$attrs, {\n      \"aria-controls\": $e(i),\n      \"aria-describedby\": $e(o),\n      \"aria-expanded\": $e(s),\n      \"aria-haspopup\": $e(l)\n    }), {\n      default: ir(() => [\n        ur(d.$slots, \"default\")\n      ]),\n      _: 3\n    }, 16, [\"aria-controls\", \"aria-describedby\", \"aria-expanded\", \"aria-haspopup\"]));\n  }\n});\nvar UN = /* @__PURE__ */ jr(jN, [[\"__file\", \"trigger.vue\"]]);\nconst Pm = \"focus-trap.focus-after-trapped\", $m = \"focus-trap.focus-after-released\", GN = \"focus-trap.focusout-prevented\", Iw = {\n  cancelable: !0,\n  bubbles: !1\n}, VN = {\n  cancelable: !0,\n  bubbles: !1\n}, Nw = \"focusAfterTrapped\", Ow = \"focusAfterReleased\", qN = Symbol(\"elFocusTrap\"), F1 = Rt(), ep = Rt(0), R1 = Rt(0);\nlet Sd = 0;\nconst u5 = (e) => {\n  const t = [], r = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, {\n    acceptNode: (n) => {\n      const a = n.tagName === \"INPUT\" && n.type === \"hidden\";\n      return n.disabled || n.hidden || a ? NodeFilter.FILTER_SKIP : n.tabIndex >= 0 || n === document.activeElement ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n    }\n  });\n  for (; r.nextNode(); )\n    t.push(r.currentNode);\n  return t;\n}, Hw = (e, t) => {\n  for (const r of e)\n    if (!WN(r, t))\n      return r;\n}, WN = (e, t) => {\n  if (cs.env.NODE_ENV === \"test\")\n    return !1;\n  if (getComputedStyle(e).visibility === \"hidden\")\n    return !0;\n  for (; e; ) {\n    if (t && e === t)\n      return !1;\n    if (getComputedStyle(e).display === \"none\")\n      return !0;\n    e = e.parentElement;\n  }\n  return !1;\n}, ZN = (e) => {\n  const t = u5(e), r = Hw(t, e), n = Hw(t.reverse(), e);\n  return [r, n];\n}, YN = (e) => e instanceof HTMLInputElement && \"select\" in e, jo = (e, t) => {\n  if (e && e.focus) {\n    const r = document.activeElement;\n    e.focus({ preventScroll: !0 }), R1.value = window.performance.now(), e !== r && YN(e) && t && e.select();\n  }\n};\nfunction Bw(e, t) {\n  const r = [...e], n = e.indexOf(t);\n  return n !== -1 && r.splice(n, 1), r;\n}\nconst XN = () => {\n  let e = [];\n  return {\n    push: (n) => {\n      const a = e[0];\n      a && n !== a && a.pause(), e = Bw(e, n), e.unshift(n);\n    },\n    remove: (n) => {\n      var a, i;\n      e = Bw(e, n), (i = (a = e[0]) == null ? void 0 : a.resume) == null || i.call(a);\n    }\n  };\n}, KN = (e, t = !1) => {\n  const r = document.activeElement;\n  for (const n of e)\n    if (jo(n, t), document.activeElement !== r)\n      return;\n}, jw = XN(), JN = () => ep.value > R1.value, Cd = () => {\n  F1.value = \"pointer\", ep.value = window.performance.now();\n}, Uw = () => {\n  F1.value = \"keyboard\", ep.value = window.performance.now();\n}, QN = () => (Zn(() => {\n  Sd === 0 && (document.addEventListener(\"mousedown\", Cd), document.addEventListener(\"touchstart\", Cd), document.addEventListener(\"keydown\", Uw)), Sd++;\n}), mi(() => {\n  Sd--, Sd <= 0 && (document.removeEventListener(\"mousedown\", Cd), document.removeEventListener(\"touchstart\", Cd), document.removeEventListener(\"keydown\", Uw));\n}), {\n  focusReason: F1,\n  lastUserFocusTimestamp: ep,\n  lastAutomatedFocusTimestamp: R1\n}), Ld = (e) => new CustomEvent(GN, {\n  ...VN,\n  detail: e\n}), eO = er({\n  name: \"ElFocusTrap\",\n  inheritAttrs: !1,\n  props: {\n    loop: Boolean,\n    trapped: Boolean,\n    focusTrapEl: Object,\n    focusStartEl: {\n      type: [Object, String],\n      default: \"first\"\n    }\n  },\n  emits: [\n    Nw,\n    Ow,\n    \"focusin\",\n    \"focusout\",\n    \"focusout-prevented\",\n    \"release-requested\"\n  ],\n  setup(e, { emit: t }) {\n    const r = Rt();\n    let n, a;\n    const { focusReason: i } = QN();\n    V9((v) => {\n      e.trapped && !o.paused && t(\"release-requested\", v);\n    });\n    const o = {\n      paused: !1,\n      pause() {\n        this.paused = !0;\n      },\n      resume() {\n        this.paused = !1;\n      }\n    }, l = (v) => {\n      if (!e.loop && !e.trapped || o.paused)\n        return;\n      const { key: m, altKey: g, ctrlKey: y, metaKey: w, currentTarget: k, shiftKey: x } = v, { loop: _ } = e, T = m === hc.tab && !g && !y && !w, S = document.activeElement;\n      if (T && S) {\n        const M = k, [L, F] = ZN(M);\n        if (L && F) {\n          if (!x && S === F) {\n            const I = Ld({\n              focusReason: i.value\n            });\n            t(\"focusout-prevented\", I), I.defaultPrevented || (v.preventDefault(), _ && jo(L, !0));\n          } else if (x && [L, M].includes(S)) {\n            const I = Ld({\n              focusReason: i.value\n            });\n            t(\"focusout-prevented\", I), I.defaultPrevented || (v.preventDefault(), _ && jo(F, !0));\n          }\n        } else if (S === M) {\n          const I = Ld({\n            focusReason: i.value\n          });\n          t(\"focusout-prevented\", I), I.defaultPrevented || v.preventDefault();\n        }\n      }\n    };\n    wa(qN, {\n      focusTrapRef: r,\n      onKeydown: l\n    }), _r(() => e.focusTrapEl, (v) => {\n      v && (r.value = v);\n    }, { immediate: !0 }), _r([r], ([v], [m]) => {\n      v && (v.addEventListener(\"keydown\", l), v.addEventListener(\"focusin\", f), v.addEventListener(\"focusout\", d)), m && (m.removeEventListener(\"keydown\", l), m.removeEventListener(\"focusin\", f), m.removeEventListener(\"focusout\", d));\n    });\n    const s = (v) => {\n      t(Nw, v);\n    }, u = (v) => t(Ow, v), f = (v) => {\n      const m = $e(r);\n      if (!m)\n        return;\n      const g = v.target, y = v.relatedTarget, w = g && m.contains(g);\n      e.trapped || y && m.contains(y) || (n = y), w && t(\"focusin\", v), !o.paused && e.trapped && (w ? a = g : jo(a, !0));\n    }, d = (v) => {\n      const m = $e(r);\n      if (!(o.paused || !m))\n        if (e.trapped) {\n          const g = v.relatedTarget;\n          !m1(g) && !m.contains(g) && setTimeout(() => {\n            if (!o.paused && e.trapped) {\n              const y = Ld({\n                focusReason: i.value\n              });\n              t(\"focusout-prevented\", y), y.defaultPrevented || jo(a, !0);\n            }\n          }, 0);\n        } else {\n          const g = v.target;\n          g && m.contains(g) || t(\"focusout\", v);\n        }\n    };\n    async function h() {\n      await ja();\n      const v = $e(r);\n      if (v) {\n        jw.push(o);\n        const m = v.contains(document.activeElement) ? n : document.activeElement;\n        if (n = m, !v.contains(m)) {\n          const y = new Event(Pm, Iw);\n          v.addEventListener(Pm, s), v.dispatchEvent(y), y.defaultPrevented || ja(() => {\n            let w = e.focusStartEl;\n            Uu(w) || (jo(w), document.activeElement !== w && (w = \"first\")), w === \"first\" && KN(u5(v), !0), (document.activeElement === m || w === \"container\") && jo(v);\n          });\n        }\n      }\n    }\n    function p() {\n      const v = $e(r);\n      if (v) {\n        v.removeEventListener(Pm, s);\n        const m = new CustomEvent($m, {\n          ...Iw,\n          detail: {\n            focusReason: i.value\n          }\n        });\n        v.addEventListener($m, u), v.dispatchEvent(m), !m.defaultPrevented && (i.value == \"keyboard\" || !JN() || v.contains(document.activeElement)) && jo(n ?? document.body), v.removeEventListener($m, u), jw.remove(o);\n      }\n    }\n    return Zn(() => {\n      e.trapped && h(), _r(() => e.trapped, (v) => {\n        v ? h() : p();\n      });\n    }), mi(() => {\n      e.trapped && p(), r.value && (r.value.removeEventListener(\"keydown\", l), r.value.removeEventListener(\"focusin\", f), r.value.removeEventListener(\"focusout\", d), r.value = void 0);\n    }), {\n      onKeydown: l\n    };\n  }\n});\nfunction tO(e, t, r, n, a, i) {\n  return ur(e.$slots, \"default\", { handleKeydown: e.onKeydown });\n}\nvar rO = /* @__PURE__ */ jr(eO, [[\"render\", tO], [\"__file\", \"focus-trap.vue\"]]);\nconst nO = [\"fixed\", \"absolute\"], aO = qr({\n  boundariesPadding: {\n    type: Number,\n    default: 0\n  },\n  fallbackPlacements: {\n    type: dr(Array),\n    default: void 0\n  },\n  gpuAcceleration: {\n    type: Boolean,\n    default: !0\n  },\n  offset: {\n    type: Number,\n    default: 12\n  },\n  placement: {\n    type: String,\n    values: Xv,\n    default: \"bottom\"\n  },\n  popperOptions: {\n    type: dr(Object),\n    default: () => ({})\n  },\n  strategy: {\n    type: String,\n    values: nO,\n    default: \"absolute\"\n  }\n}), f5 = qr({\n  ...aO,\n  id: String,\n  style: {\n    type: dr([String, Array, Object])\n  },\n  className: {\n    type: dr([String, Array, Object])\n  },\n  effect: {\n    type: dr(String),\n    default: \"dark\"\n  },\n  visible: Boolean,\n  enterable: {\n    type: Boolean,\n    default: !0\n  },\n  pure: Boolean,\n  focusOnShow: {\n    type: Boolean,\n    default: !1\n  },\n  trapping: {\n    type: Boolean,\n    default: !1\n  },\n  popperClass: {\n    type: dr([String, Array, Object])\n  },\n  popperStyle: {\n    type: dr([String, Array, Object])\n  },\n  referenceEl: {\n    type: dr(Object)\n  },\n  triggerTargetEl: {\n    type: dr(Object)\n  },\n  stopPopperMouseEvent: {\n    type: Boolean,\n    default: !0\n  },\n  virtualTriggering: Boolean,\n  zIndex: Number,\n  ...Qv([\"ariaLabel\"])\n}), iO = {\n  mouseenter: (e) => e instanceof MouseEvent,\n  mouseleave: (e) => e instanceof MouseEvent,\n  focus: () => !0,\n  blur: () => !0,\n  close: () => !0\n}, oO = (e, t = []) => {\n  const { placement: r, strategy: n, popperOptions: a } = e, i = {\n    placement: r,\n    strategy: n,\n    ...a,\n    modifiers: [...sO(e), ...t]\n  };\n  return uO(i, a == null ? void 0 : a.modifiers), i;\n}, lO = (e) => {\n  if (qn)\n    return mo(e);\n};\nfunction sO(e) {\n  const { offset: t, gpuAcceleration: r, fallbackPlacements: n } = e;\n  return [\n    {\n      name: \"offset\",\n      options: {\n        offset: [0, t ?? 12]\n      }\n    },\n    {\n      name: \"preventOverflow\",\n      options: {\n        padding: {\n          top: 2,\n          bottom: 2,\n          left: 5,\n          right: 5\n        }\n      }\n    },\n    {\n      name: \"flip\",\n      options: {\n        padding: 5,\n        fallbackPlacements: n\n      }\n    },\n    {\n      name: \"computeStyles\",\n      options: {\n        gpuAcceleration: r\n      }\n    }\n  ];\n}\nfunction uO(e, t) {\n  t && (e.modifiers = [...e.modifiers, ...t ?? []]);\n}\nconst fO = 0, cO = (e) => {\n  const { popperInstanceRef: t, contentRef: r, triggerRef: n, role: a } = Rr(E1, void 0), i = Rt(), o = Rt(), l = et(() => ({\n    name: \"eventListeners\",\n    enabled: !!e.visible\n  })), s = et(() => {\n    var y;\n    const w = $e(i), k = (y = $e(o)) != null ? y : fO;\n    return {\n      name: \"arrow\",\n      enabled: !a7(w),\n      options: {\n        element: w,\n        padding: k\n      }\n    };\n  }), u = et(() => ({\n    onFirstUpdate: () => {\n      v();\n    },\n    ...oO(e, [\n      $e(s),\n      $e(l)\n    ])\n  })), f = et(() => lO(e.referenceEl) || $e(n)), { attributes: d, state: h, styles: p, update: v, forceUpdate: m, instanceRef: g } = j9(f, r, u);\n  return _r(g, (y) => t.value = y), Zn(() => {\n    _r(() => {\n      var y;\n      return (y = $e(f)) == null ? void 0 : y.getBoundingClientRect();\n    }, () => {\n      v();\n    });\n  }), {\n    attributes: d,\n    arrowRef: i,\n    contentRef: r,\n    instanceRef: g,\n    state: h,\n    styles: p,\n    role: a,\n    forceUpdate: m,\n    update: v\n  };\n}, dO = (e, {\n  attributes: t,\n  styles: r,\n  role: n\n}) => {\n  const { nextZIndex: a } = eN(), i = on(\"popper\"), o = et(() => $e(t).popper), l = Rt(Ga(e.zIndex) ? e.zIndex : a()), s = et(() => [\n    i.b(),\n    i.is(\"pure\", e.pure),\n    i.is(e.effect),\n    e.popperClass\n  ]), u = et(() => [\n    { zIndex: $e(l) },\n    $e(r).popper,\n    e.popperStyle || {}\n  ]), f = et(() => n.value === \"dialog\" ? \"false\" : void 0), d = et(() => $e(r).arrow || {});\n  return {\n    ariaModal: f,\n    arrowStyle: d,\n    contentAttrs: o,\n    contentClass: s,\n    contentStyle: u,\n    contentZIndex: l,\n    updateZIndex: () => {\n      l.value = Ga(e.zIndex) ? e.zIndex : a();\n    }\n  };\n}, hO = (e, t) => {\n  const r = Rt(!1), n = Rt();\n  return {\n    focusStartRef: n,\n    trapped: r,\n    onFocusAfterReleased: (u) => {\n      var f;\n      ((f = u.detail) == null ? void 0 : f.focusReason) !== \"pointer\" && (n.value = \"first\", t(\"blur\"));\n    },\n    onFocusAfterTrapped: () => {\n      t(\"focus\");\n    },\n    onFocusInTrap: (u) => {\n      e.visible && !r.value && (u.target && (n.value = u.target), r.value = !0);\n    },\n    onFocusoutPrevented: (u) => {\n      e.trapping || (u.detail.focusReason === \"pointer\" && u.preventDefault(), r.value = !1);\n    },\n    onReleaseRequested: () => {\n      r.value = !1, t(\"close\");\n    }\n  };\n}, vO = er({\n  name: \"ElPopperContent\"\n}), pO = /* @__PURE__ */ er({\n  ...vO,\n  props: f5,\n  emits: iO,\n  setup(e, { expose: t, emit: r }) {\n    const n = e, {\n      focusStartRef: a,\n      trapped: i,\n      onFocusAfterReleased: o,\n      onFocusAfterTrapped: l,\n      onFocusInTrap: s,\n      onFocusoutPrevented: u,\n      onReleaseRequested: f\n    } = hO(n, r), { attributes: d, arrowRef: h, contentRef: p, styles: v, instanceRef: m, role: g, update: y } = cO(n), {\n      ariaModal: w,\n      arrowStyle: k,\n      contentAttrs: x,\n      contentClass: _,\n      contentStyle: T,\n      updateZIndex: S\n    } = dO(n, {\n      styles: v,\n      attributes: d,\n      role: g\n    }), M = Rr(rv, void 0), L = Rt();\n    wa(a5, {\n      arrowStyle: k,\n      arrowRef: h,\n      arrowOffset: L\n    }), M && wa(rv, {\n      ...M,\n      addInputId: Kh,\n      removeInputId: Kh\n    });\n    let F;\n    const $ = (O = !0) => {\n      y(), O && S();\n    }, I = () => {\n      $(!1), n.visible && n.focusOnShow ? i.value = !0 : n.visible === !1 && (i.value = !1);\n    };\n    return Zn(() => {\n      _r(() => n.triggerTargetEl, (O, G) => {\n        F == null || F(), F = void 0;\n        const K = $e(O || p.value), V = $e(G || p.value);\n        Vl(K) && (F = _r([g, () => n.ariaLabel, w, () => n.id], (z) => {\n          [\"role\", \"aria-label\", \"aria-modal\", \"id\"].forEach((P, R) => {\n            m1(z[R]) ? K.removeAttribute(P) : K.setAttribute(P, z[R]);\n          });\n        }, { immediate: !0 })), V !== K && Vl(V) && [\"role\", \"aria-label\", \"aria-modal\", \"id\"].forEach((z) => {\n          V.removeAttribute(z);\n        });\n      }, { immediate: !0 }), _r(() => n.visible, I, { immediate: !0 });\n    }), mi(() => {\n      F == null || F(), F = void 0;\n    }), t({\n      popperContentRef: p,\n      popperInstanceRef: m,\n      updatePopper: $,\n      contentStyle: T\n    }), (O, G) => (At(), Xt(\"div\", fs({\n      ref_key: \"contentRef\",\n      ref: p\n    }, $e(x), {\n      style: $e(T),\n      class: $e(_),\n      tabindex: \"-1\",\n      onMouseenter: (K) => O.$emit(\"mouseenter\", K),\n      onMouseleave: (K) => O.$emit(\"mouseleave\", K)\n    }), [\n      Ar($e(rO), {\n        trapped: $e(i),\n        \"trap-on-focus-in\": !0,\n        \"focus-trap-el\": $e(p),\n        \"focus-start-el\": $e(a),\n        onFocusAfterTrapped: $e(l),\n        onFocusAfterReleased: $e(o),\n        onFocusin: $e(s),\n        onFocusoutPrevented: $e(u),\n        onReleaseRequested: $e(f)\n      }, {\n        default: ir(() => [\n          ur(O.$slots, \"default\")\n        ]),\n        _: 3\n      }, 8, [\"trapped\", \"focus-trap-el\", \"focus-start-el\", \"onFocusAfterTrapped\", \"onFocusAfterReleased\", \"onFocusin\", \"onFocusoutPrevented\", \"onReleaseRequested\"])\n    ], 16, [\"onMouseenter\", \"onMouseleave\"]));\n  }\n});\nvar mO = /* @__PURE__ */ jr(pO, [[\"__file\", \"content.vue\"]]);\nconst gO = gi(zN), P1 = Symbol(\"elTooltip\"), ma = qr({\n  ...Z9,\n  ...f5,\n  appendTo: {\n    type: dr([String, Object])\n  },\n  content: {\n    type: String,\n    default: \"\"\n  },\n  rawContent: Boolean,\n  persistent: Boolean,\n  visible: {\n    type: dr(Boolean),\n    default: null\n  },\n  transition: String,\n  teleported: {\n    type: Boolean,\n    default: !0\n  },\n  disabled: Boolean,\n  ...Qv([\"ariaLabel\"])\n}), mc = qr({\n  ...s5,\n  disabled: Boolean,\n  trigger: {\n    type: dr([String, Array]),\n    default: \"hover\"\n  },\n  triggerKeys: {\n    type: dr(Array),\n    default: () => [hc.enter, hc.space]\n  }\n}), {\n  useModelToggleProps: yO,\n  useModelToggleEmits: bO,\n  useModelToggle: _O\n} = O7(\"visible\"), xO = qr({\n  ...i5,\n  ...yO,\n  ...ma,\n  ...mc,\n  ...o5,\n  showArrow: {\n    type: Boolean,\n    default: !0\n  }\n}), wO = [\n  ...bO,\n  \"before-show\",\n  \"before-hide\",\n  \"show\",\n  \"hide\",\n  \"open\",\n  \"close\"\n], TO = (e, t) => Ni(e) ? e.includes(t) : e === t, Fs = (e, t, r) => (n) => {\n  TO($e(e), t) && r(n);\n}, kO = er({\n  name: \"ElTooltipTrigger\"\n}), AO = /* @__PURE__ */ er({\n  ...kO,\n  props: mc,\n  setup(e, { expose: t }) {\n    const r = e, n = on(\"tooltip\"), { controlled: a, id: i, open: o, onOpen: l, onClose: s, onToggle: u } = Rr(P1, void 0), f = Rt(null), d = () => {\n      if ($e(a) || r.disabled)\n        return !0;\n    }, h = Ii(r, \"trigger\"), p = fo(d, Fs(h, \"hover\", l)), v = fo(d, Fs(h, \"hover\", s)), m = fo(d, Fs(h, \"click\", (x) => {\n      x.button === 0 && u(x);\n    })), g = fo(d, Fs(h, \"focus\", l)), y = fo(d, Fs(h, \"focus\", s)), w = fo(d, Fs(h, \"contextmenu\", (x) => {\n      x.preventDefault(), u(x);\n    })), k = fo(d, (x) => {\n      const { code: _ } = x;\n      r.triggerKeys.includes(_) && (x.preventDefault(), u(x));\n    });\n    return t({\n      triggerRef: f\n    }), (x, _) => (At(), kr($e(UN), {\n      id: $e(i),\n      \"virtual-ref\": x.virtualRef,\n      open: $e(o),\n      \"virtual-triggering\": x.virtualTriggering,\n      class: Vt($e(n).e(\"trigger\")),\n      onBlur: $e(y),\n      onClick: $e(m),\n      onContextmenu: $e(w),\n      onFocus: $e(g),\n      onMouseenter: $e(p),\n      onMouseleave: $e(v),\n      onKeydown: $e(k)\n    }, {\n      default: ir(() => [\n        ur(x.$slots, \"default\")\n      ]),\n      _: 3\n    }, 8, [\"id\", \"virtual-ref\", \"open\", \"virtual-triggering\", \"class\", \"onBlur\", \"onClick\", \"onContextmenu\", \"onFocus\", \"onMouseenter\", \"onMouseleave\", \"onKeydown\"]));\n  }\n});\nvar MO = /* @__PURE__ */ jr(AO, [[\"__file\", \"trigger.vue\"]]);\nconst SO = qr({\n  to: {\n    type: dr([String, Object]),\n    required: !0\n  },\n  disabled: Boolean\n}), CO = /* @__PURE__ */ er({\n  __name: \"teleport\",\n  props: SO,\n  setup(e) {\n    return (t, r) => t.disabled ? ur(t.$slots, \"default\", { key: 0 }) : (At(), kr(OR, {\n      key: 1,\n      to: t.to\n    }, [\n      ur(t.$slots, \"default\")\n    ], 8, [\"to\"]));\n  }\n});\nvar LO = /* @__PURE__ */ jr(CO, [[\"__file\", \"teleport.vue\"]]);\nconst DO = gi(LO), EO = er({\n  name: \"ElTooltipContent\",\n  inheritAttrs: !1\n}), FO = /* @__PURE__ */ er({\n  ...EO,\n  props: ma,\n  setup(e, { expose: t }) {\n    const r = e, { selector: n } = Q3(), a = on(\"tooltip\"), i = Rt(null);\n    let o;\n    const {\n      controlled: l,\n      id: s,\n      open: u,\n      trigger: f,\n      onClose: d,\n      onOpen: h,\n      onShow: p,\n      onHide: v,\n      onBeforeShow: m,\n      onBeforeHide: g\n    } = Rr(P1, void 0), y = et(() => r.transition || `${a.namespace.value}-fade-in-linear`), w = et(() => cs.env.NODE_ENV === \"test\" ? !0 : r.persistent);\n    mi(() => {\n      o == null || o();\n    });\n    const k = et(() => $e(w) ? !0 : $e(u)), x = et(() => r.disabled ? !1 : $e(u)), _ = et(() => r.appendTo || n.value), T = et(() => {\n      var V;\n      return (V = r.style) != null ? V : {};\n    }), S = Rt(!0), M = () => {\n      v(), S.value = !0;\n    }, L = () => {\n      if ($e(l))\n        return !0;\n    }, F = fo(L, () => {\n      r.enterable && $e(f) === \"hover\" && h();\n    }), $ = fo(L, () => {\n      $e(f) === \"hover\" && d();\n    }), I = () => {\n      var V, z;\n      (z = (V = i.value) == null ? void 0 : V.updatePopper) == null || z.call(V), m == null || m();\n    }, O = () => {\n      g == null || g();\n    }, G = () => {\n      p(), o = tP(et(() => {\n        var V;\n        return (V = i.value) == null ? void 0 : V.popperContentRef;\n      }), () => {\n        if ($e(l))\n          return;\n        $e(f) !== \"hover\" && d();\n      });\n    }, K = () => {\n      r.virtualTriggering || d();\n    };\n    return _r(() => $e(u), (V) => {\n      V ? S.value = !1 : o == null || o();\n    }, {\n      flush: \"post\"\n    }), _r(() => r.content, () => {\n      var V, z;\n      (z = (V = i.value) == null ? void 0 : V.updatePopper) == null || z.call(V);\n    }), t({\n      contentRef: i\n    }), (V, z) => (At(), kr($e(DO), {\n      disabled: !V.teleported,\n      to: $e(_)\n    }, {\n      default: ir(() => [\n        Ar(Ov, {\n          name: $e(y),\n          onAfterLeave: M,\n          onBeforeEnter: I,\n          onAfterEnter: G,\n          onBeforeLeave: O\n        }, {\n          default: ir(() => [\n            $e(k) ? yo((At(), kr($e(mO), fs({\n              key: 0,\n              id: $e(s),\n              ref_key: \"contentRef\",\n              ref: i\n            }, V.$attrs, {\n              \"aria-label\": V.ariaLabel,\n              \"aria-hidden\": S.value,\n              \"boundaries-padding\": V.boundariesPadding,\n              \"fallback-placements\": V.fallbackPlacements,\n              \"gpu-acceleration\": V.gpuAcceleration,\n              offset: V.offset,\n              placement: V.placement,\n              \"popper-options\": V.popperOptions,\n              strategy: V.strategy,\n              effect: V.effect,\n              enterable: V.enterable,\n              pure: V.pure,\n              \"popper-class\": V.popperClass,\n              \"popper-style\": [V.popperStyle, $e(T)],\n              \"reference-el\": V.referenceEl,\n              \"trigger-target-el\": V.triggerTargetEl,\n              visible: $e(x),\n              \"z-index\": V.zIndex,\n              onMouseenter: $e(F),\n              onMouseleave: $e($),\n              onBlur: K,\n              onClose: $e(d)\n            }), {\n              default: ir(() => [\n                ur(V.$slots, \"default\")\n              ]),\n              _: 3\n            }, 16, [\"id\", \"aria-label\", \"aria-hidden\", \"boundaries-padding\", \"fallback-placements\", \"gpu-acceleration\", \"offset\", \"placement\", \"popper-options\", \"strategy\", \"effect\", \"enterable\", \"pure\", \"popper-class\", \"popper-style\", \"reference-el\", \"trigger-target-el\", \"visible\", \"z-index\", \"onMouseenter\", \"onMouseleave\", \"onClose\"])), [\n              [ju, $e(x)]\n            ]) : Fr(\"v-if\", !0)\n          ]),\n          _: 3\n        }, 8, [\"name\"])\n      ]),\n      _: 3\n    }, 8, [\"disabled\", \"to\"]));\n  }\n});\nvar RO = /* @__PURE__ */ jr(FO, [[\"__file\", \"content.vue\"]]);\nconst PO = er({\n  name: \"ElTooltip\"\n}), $O = /* @__PURE__ */ er({\n  ...PO,\n  props: xO,\n  emits: wO,\n  setup(e, { expose: t, emit: r }) {\n    const n = e;\n    W9();\n    const a = Jv(), i = Rt(), o = Rt(), l = () => {\n      var y;\n      const w = $e(i);\n      w && ((y = w.popperInstanceRef) == null || y.update());\n    }, s = Rt(!1), u = Rt(), { show: f, hide: d, hasUpdateHandler: h } = _O({\n      indicator: s,\n      toggleReason: u\n    }), { onOpen: p, onClose: v } = Y9({\n      showAfter: Ii(n, \"showAfter\"),\n      hideAfter: Ii(n, \"hideAfter\"),\n      autoClose: Ii(n, \"autoClose\"),\n      open: f,\n      close: d\n    }), m = et(() => g1(n.visible) && !h.value);\n    wa(P1, {\n      controlled: m,\n      id: a,\n      open: HR(s),\n      trigger: Ii(n, \"trigger\"),\n      onOpen: (y) => {\n        p(y);\n      },\n      onClose: (y) => {\n        v(y);\n      },\n      onToggle: (y) => {\n        $e(s) ? v(y) : p(y);\n      },\n      onShow: () => {\n        r(\"show\", u.value);\n      },\n      onHide: () => {\n        r(\"hide\", u.value);\n      },\n      onBeforeShow: () => {\n        r(\"before-show\", u.value);\n      },\n      onBeforeHide: () => {\n        r(\"before-hide\", u.value);\n      },\n      updatePopper: l\n    }), _r(() => n.disabled, (y) => {\n      y && s.value && (s.value = !1);\n    });\n    const g = (y) => {\n      var w, k;\n      const x = (k = (w = o.value) == null ? void 0 : w.contentRef) == null ? void 0 : k.popperContentRef, _ = (y == null ? void 0 : y.relatedTarget) || document.activeElement;\n      return x && x.contains(_);\n    };\n    return BR(() => s.value && d()), t({\n      popperRef: i,\n      contentRef: o,\n      isFocusInsideContent: g,\n      updatePopper: l,\n      onOpen: p,\n      onClose: v,\n      hide: d\n    }), (y, w) => (At(), kr($e(gO), {\n      ref_key: \"popperRef\",\n      ref: i,\n      role: y.role\n    }, {\n      default: ir(() => [\n        Ar(MO, {\n          disabled: y.disabled,\n          trigger: y.trigger,\n          \"trigger-keys\": y.triggerKeys,\n          \"virtual-ref\": y.virtualRef,\n          \"virtual-triggering\": y.virtualTriggering\n        }, {\n          default: ir(() => [\n            y.$slots.default ? ur(y.$slots, \"default\", { key: 0 }) : Fr(\"v-if\", !0)\n          ]),\n          _: 3\n        }, 8, [\"disabled\", \"trigger\", \"trigger-keys\", \"virtual-ref\", \"virtual-triggering\"]),\n        Ar(RO, {\n          ref_key: \"contentRef\",\n          ref: o,\n          \"aria-label\": y.ariaLabel,\n          \"boundaries-padding\": y.boundariesPadding,\n          content: y.content,\n          disabled: y.disabled,\n          effect: y.effect,\n          enterable: y.enterable,\n          \"fallback-placements\": y.fallbackPlacements,\n          \"hide-after\": y.hideAfter,\n          \"gpu-acceleration\": y.gpuAcceleration,\n          offset: y.offset,\n          persistent: y.persistent,\n          \"popper-class\": y.popperClass,\n          \"popper-style\": y.popperStyle,\n          placement: y.placement,\n          \"popper-options\": y.popperOptions,\n          pure: y.pure,\n          \"raw-content\": y.rawContent,\n          \"reference-el\": y.referenceEl,\n          \"trigger-target-el\": y.triggerTargetEl,\n          \"show-after\": y.showAfter,\n          strategy: y.strategy,\n          teleported: y.teleported,\n          transition: y.transition,\n          \"virtual-triggering\": y.virtualTriggering,\n          \"z-index\": y.zIndex,\n          \"append-to\": y.appendTo\n        }, {\n          default: ir(() => [\n            ur(y.$slots, \"content\", {}, () => [\n              y.rawContent ? (At(), Xt(\"span\", {\n                key: 0,\n                innerHTML: y.content\n              }, null, 8, [\"innerHTML\"])) : (At(), Xt(\"span\", { key: 1 }, ga(y.content), 1))\n            ]),\n            y.showArrow ? (At(), kr($e(ON), {\n              key: 0,\n              \"arrow-offset\": y.arrowOffset\n            }, null, 8, [\"arrow-offset\"])) : Fr(\"v-if\", !0)\n          ]),\n          _: 3\n        }, 8, [\"aria-label\", \"boundaries-padding\", \"content\", \"disabled\", \"effect\", \"enterable\", \"fallback-placements\", \"hide-after\", \"gpu-acceleration\", \"offset\", \"persistent\", \"popper-class\", \"popper-style\", \"placement\", \"popper-options\", \"pure\", \"raw-content\", \"reference-el\", \"trigger-target-el\", \"show-after\", \"strategy\", \"teleported\", \"transition\", \"virtual-triggering\", \"z-index\", \"append-to\"])\n      ]),\n      _: 3\n    }, 8, [\"role\"]));\n  }\n});\nvar zO = /* @__PURE__ */ jr($O, [[\"__file\", \"tooltip.vue\"]]);\nconst c5 = gi(zO), d5 = Symbol(\"buttonGroupContextKey\"), IO = (e, t) => {\n  C7({\n    from: \"type.text\",\n    replacement: \"link\",\n    version: \"3.0.0\",\n    scope: \"props\",\n    ref: \"https://element-plus.org/en-US/component/button.html#button-attributes\"\n  }, et(() => e.type === \"text\"));\n  const r = Rr(d5, void 0), n = hN(\"button\"), { form: a } = n5(), i = L1(et(() => r == null ? void 0 : r.size)), o = r5(), l = Rt(), s = jR(), u = et(() => e.type || (r == null ? void 0 : r.type) || \"\"), f = et(() => {\n    var v, m, g;\n    return (g = (m = e.autoInsertSpace) != null ? m : (v = n.value) == null ? void 0 : v.autoInsertSpace) != null ? g : !1;\n  }), d = et(() => e.tag === \"button\" ? {\n    ariaDisabled: o.value || e.loading,\n    disabled: o.value || e.loading,\n    autofocus: e.autofocus,\n    type: e.nativeType\n  } : {}), h = et(() => {\n    var v;\n    const m = (v = s.default) == null ? void 0 : v.call(s);\n    if (f.value && (m == null ? void 0 : m.length) === 1) {\n      const g = m[0];\n      if ((g == null ? void 0 : g.type) === h3) {\n        const y = g.children;\n        return new RegExp(\"^\\\\p{Unified_Ideograph}{2}$\", \"u\").test(y.trim());\n      }\n    }\n    return !1;\n  });\n  return {\n    _disabled: o,\n    _size: i,\n    _type: u,\n    _ref: l,\n    _props: d,\n    shouldAddSpace: h,\n    handleClick: (v) => {\n      if (o.value || e.loading) {\n        v.stopPropagation();\n        return;\n      }\n      e.nativeType === \"reset\" && (a == null || a.resetFields()), t(\"click\", v);\n    }\n  };\n}, NO = [\n  \"default\",\n  \"primary\",\n  \"success\",\n  \"warning\",\n  \"info\",\n  \"danger\",\n  \"text\",\n  \"\"\n], OO = [\"button\", \"submit\", \"reset\"], Q0 = qr({\n  size: t5,\n  disabled: Boolean,\n  type: {\n    type: String,\n    values: NO,\n    default: \"\"\n  },\n  icon: {\n    type: Tu\n  },\n  nativeType: {\n    type: String,\n    values: OO,\n    default: \"button\"\n  },\n  loading: Boolean,\n  loadingIcon: {\n    type: Tu,\n    default: () => N3\n  },\n  plain: Boolean,\n  text: Boolean,\n  link: Boolean,\n  bg: Boolean,\n  autofocus: Boolean,\n  round: Boolean,\n  circle: Boolean,\n  color: String,\n  dark: Boolean,\n  autoInsertSpace: {\n    type: Boolean,\n    default: void 0\n  },\n  tag: {\n    type: dr([String, Object]),\n    default: \"button\"\n  }\n}), HO = {\n  click: (e) => e instanceof MouseEvent\n};\nfunction En(e, t) {\n  BO(e) && (e = \"100%\");\n  var r = jO(e);\n  return e = t === 360 ? e : Math.min(t, Math.max(0, parseFloat(e))), r && (e = parseInt(String(e * t), 10) / 100), Math.abs(e - t) < 1e-6 ? 1 : (t === 360 ? e = (e < 0 ? e % t + t : e % t) / parseFloat(String(t)) : e = e % t / parseFloat(String(t)), e);\n}\nfunction Dd(e) {\n  return Math.min(1, Math.max(0, e));\n}\nfunction BO(e) {\n  return typeof e == \"string\" && e.indexOf(\".\") !== -1 && parseFloat(e) === 1;\n}\nfunction jO(e) {\n  return typeof e == \"string\" && e.indexOf(\"%\") !== -1;\n}\nfunction h5(e) {\n  return e = parseFloat(e), (isNaN(e) || e < 0 || e > 1) && (e = 1), e;\n}\nfunction Ed(e) {\n  return e <= 1 ? \"\".concat(Number(e) * 100, \"%\") : e;\n}\nfunction Hl(e) {\n  return e.length === 1 ? \"0\" + e : String(e);\n}\nfunction UO(e, t, r) {\n  return {\n    r: En(e, 255) * 255,\n    g: En(t, 255) * 255,\n    b: En(r, 255) * 255\n  };\n}\nfunction Gw(e, t, r) {\n  e = En(e, 255), t = En(t, 255), r = En(r, 255);\n  var n = Math.max(e, t, r), a = Math.min(e, t, r), i = 0, o = 0, l = (n + a) / 2;\n  if (n === a)\n    o = 0, i = 0;\n  else {\n    var s = n - a;\n    switch (o = l > 0.5 ? s / (2 - n - a) : s / (n + a), n) {\n      case e:\n        i = (t - r) / s + (t < r ? 6 : 0);\n        break;\n      case t:\n        i = (r - e) / s + 2;\n        break;\n      case r:\n        i = (e - t) / s + 4;\n        break;\n    }\n    i /= 6;\n  }\n  return { h: i, s: o, l };\n}\nfunction zm(e, t, r) {\n  return r < 0 && (r += 1), r > 1 && (r -= 1), r < 1 / 6 ? e + (t - e) * (6 * r) : r < 1 / 2 ? t : r < 2 / 3 ? e + (t - e) * (2 / 3 - r) * 6 : e;\n}\nfunction GO(e, t, r) {\n  var n, a, i;\n  if (e = En(e, 360), t = En(t, 100), r = En(r, 100), t === 0)\n    a = r, i = r, n = r;\n  else {\n    var o = r < 0.5 ? r * (1 + t) : r + t - r * t, l = 2 * r - o;\n    n = zm(l, o, e + 1 / 3), a = zm(l, o, e), i = zm(l, o, e - 1 / 3);\n  }\n  return { r: n * 255, g: a * 255, b: i * 255 };\n}\nfunction Vw(e, t, r) {\n  e = En(e, 255), t = En(t, 255), r = En(r, 255);\n  var n = Math.max(e, t, r), a = Math.min(e, t, r), i = 0, o = n, l = n - a, s = n === 0 ? 0 : l / n;\n  if (n === a)\n    i = 0;\n  else {\n    switch (n) {\n      case e:\n        i = (t - r) / l + (t < r ? 6 : 0);\n        break;\n      case t:\n        i = (r - e) / l + 2;\n        break;\n      case r:\n        i = (e - t) / l + 4;\n        break;\n    }\n    i /= 6;\n  }\n  return { h: i, s, v: o };\n}\nfunction VO(e, t, r) {\n  e = En(e, 360) * 6, t = En(t, 100), r = En(r, 100);\n  var n = Math.floor(e), a = e - n, i = r * (1 - t), o = r * (1 - a * t), l = r * (1 - (1 - a) * t), s = n % 6, u = [r, o, i, i, l, r][s], f = [l, r, r, o, i, i][s], d = [i, i, l, r, r, o][s];\n  return { r: u * 255, g: f * 255, b: d * 255 };\n}\nfunction qw(e, t, r, n) {\n  var a = [\n    Hl(Math.round(e).toString(16)),\n    Hl(Math.round(t).toString(16)),\n    Hl(Math.round(r).toString(16))\n  ];\n  return n && a[0].startsWith(a[0].charAt(1)) && a[1].startsWith(a[1].charAt(1)) && a[2].startsWith(a[2].charAt(1)) ? a[0].charAt(0) + a[1].charAt(0) + a[2].charAt(0) : a.join(\"\");\n}\nfunction qO(e, t, r, n, a) {\n  var i = [\n    Hl(Math.round(e).toString(16)),\n    Hl(Math.round(t).toString(16)),\n    Hl(Math.round(r).toString(16)),\n    Hl(WO(n))\n  ];\n  return a && i[0].startsWith(i[0].charAt(1)) && i[1].startsWith(i[1].charAt(1)) && i[2].startsWith(i[2].charAt(1)) && i[3].startsWith(i[3].charAt(1)) ? i[0].charAt(0) + i[1].charAt(0) + i[2].charAt(0) + i[3].charAt(0) : i.join(\"\");\n}\nfunction WO(e) {\n  return Math.round(parseFloat(e) * 255).toString(16);\n}\nfunction Ww(e) {\n  return va(e) / 255;\n}\nfunction va(e) {\n  return parseInt(e, 16);\n}\nfunction ZO(e) {\n  return {\n    r: e >> 16,\n    g: (e & 65280) >> 8,\n    b: e & 255\n  };\n}\nvar ey = {\n  aliceblue: \"#f0f8ff\",\n  antiquewhite: \"#faebd7\",\n  aqua: \"#00ffff\",\n  aquamarine: \"#7fffd4\",\n  azure: \"#f0ffff\",\n  beige: \"#f5f5dc\",\n  bisque: \"#ffe4c4\",\n  black: \"#000000\",\n  blanchedalmond: \"#ffebcd\",\n  blue: \"#0000ff\",\n  blueviolet: \"#8a2be2\",\n  brown: \"#a52a2a\",\n  burlywood: \"#deb887\",\n  cadetblue: \"#5f9ea0\",\n  chartreuse: \"#7fff00\",\n  chocolate: \"#d2691e\",\n  coral: \"#ff7f50\",\n  cornflowerblue: \"#6495ed\",\n  cornsilk: \"#fff8dc\",\n  crimson: \"#dc143c\",\n  cyan: \"#00ffff\",\n  darkblue: \"#00008b\",\n  darkcyan: \"#008b8b\",\n  darkgoldenrod: \"#b8860b\",\n  darkgray: \"#a9a9a9\",\n  darkgreen: \"#006400\",\n  darkgrey: \"#a9a9a9\",\n  darkkhaki: \"#bdb76b\",\n  darkmagenta: \"#8b008b\",\n  darkolivegreen: \"#556b2f\",\n  darkorange: \"#ff8c00\",\n  darkorchid: \"#9932cc\",\n  darkred: \"#8b0000\",\n  darksalmon: \"#e9967a\",\n  darkseagreen: \"#8fbc8f\",\n  darkslateblue: \"#483d8b\",\n  darkslategray: \"#2f4f4f\",\n  darkslategrey: \"#2f4f4f\",\n  darkturquoise: \"#00ced1\",\n  darkviolet: \"#9400d3\",\n  deeppink: \"#ff1493\",\n  deepskyblue: \"#00bfff\",\n  dimgray: \"#696969\",\n  dimgrey: \"#696969\",\n  dodgerblue: \"#1e90ff\",\n  firebrick: \"#b22222\",\n  floralwhite: \"#fffaf0\",\n  forestgreen: \"#228b22\",\n  fuchsia: \"#ff00ff\",\n  gainsboro: \"#dcdcdc\",\n  ghostwhite: \"#f8f8ff\",\n  goldenrod: \"#daa520\",\n  gold: \"#ffd700\",\n  gray: \"#808080\",\n  green: \"#008000\",\n  greenyellow: \"#adff2f\",\n  grey: \"#808080\",\n  honeydew: \"#f0fff0\",\n  hotpink: \"#ff69b4\",\n  indianred: \"#cd5c5c\",\n  indigo: \"#4b0082\",\n  ivory: \"#fffff0\",\n  khaki: \"#f0e68c\",\n  lavenderblush: \"#fff0f5\",\n  lavender: \"#e6e6fa\",\n  lawngreen: \"#7cfc00\",\n  lemonchiffon: \"#fffacd\",\n  lightblue: \"#add8e6\",\n  lightcoral: \"#f08080\",\n  lightcyan: \"#e0ffff\",\n  lightgoldenrodyellow: \"#fafad2\",\n  lightgray: \"#d3d3d3\",\n  lightgreen: \"#90ee90\",\n  lightgrey: \"#d3d3d3\",\n  lightpink: \"#ffb6c1\",\n  lightsalmon: \"#ffa07a\",\n  lightseagreen: \"#20b2aa\",\n  lightskyblue: \"#87cefa\",\n  lightslategray: \"#778899\",\n  lightslategrey: \"#778899\",\n  lightsteelblue: \"#b0c4de\",\n  lightyellow: \"#ffffe0\",\n  lime: \"#00ff00\",\n  limegreen: \"#32cd32\",\n  linen: \"#faf0e6\",\n  magenta: \"#ff00ff\",\n  maroon: \"#800000\",\n  mediumaquamarine: \"#66cdaa\",\n  mediumblue: \"#0000cd\",\n  mediumorchid: \"#ba55d3\",\n  mediumpurple: \"#9370db\",\n  mediumseagreen: \"#3cb371\",\n  mediumslateblue: \"#7b68ee\",\n  mediumspringgreen: \"#00fa9a\",\n  mediumturquoise: \"#48d1cc\",\n  mediumvioletred: \"#c71585\",\n  midnightblue: \"#191970\",\n  mintcream: \"#f5fffa\",\n  mistyrose: \"#ffe4e1\",\n  moccasin: \"#ffe4b5\",\n  navajowhite: \"#ffdead\",\n  navy: \"#000080\",\n  oldlace: \"#fdf5e6\",\n  olive: \"#808000\",\n  olivedrab: \"#6b8e23\",\n  orange: \"#ffa500\",\n  orangered: \"#ff4500\",\n  orchid: \"#da70d6\",\n  palegoldenrod: \"#eee8aa\",\n  palegreen: \"#98fb98\",\n  paleturquoise: \"#afeeee\",\n  palevioletred: \"#db7093\",\n  papayawhip: \"#ffefd5\",\n  peachpuff: \"#ffdab9\",\n  peru: \"#cd853f\",\n  pink: \"#ffc0cb\",\n  plum: \"#dda0dd\",\n  powderblue: \"#b0e0e6\",\n  purple: \"#800080\",\n  rebeccapurple: \"#663399\",\n  red: \"#ff0000\",\n  rosybrown: \"#bc8f8f\",\n  royalblue: \"#4169e1\",\n  saddlebrown: \"#8b4513\",\n  salmon: \"#fa8072\",\n  sandybrown: \"#f4a460\",\n  seagreen: \"#2e8b57\",\n  seashell: \"#fff5ee\",\n  sienna: \"#a0522d\",\n  silver: \"#c0c0c0\",\n  skyblue: \"#87ceeb\",\n  slateblue: \"#6a5acd\",\n  slategray: \"#708090\",\n  slategrey: \"#708090\",\n  snow: \"#fffafa\",\n  springgreen: \"#00ff7f\",\n  steelblue: \"#4682b4\",\n  tan: \"#d2b48c\",\n  teal: \"#008080\",\n  thistle: \"#d8bfd8\",\n  tomato: \"#ff6347\",\n  turquoise: \"#40e0d0\",\n  violet: \"#ee82ee\",\n  wheat: \"#f5deb3\",\n  white: \"#ffffff\",\n  whitesmoke: \"#f5f5f5\",\n  yellow: \"#ffff00\",\n  yellowgreen: \"#9acd32\"\n};\nfunction YO(e) {\n  var t = { r: 0, g: 0, b: 0 }, r = 1, n = null, a = null, i = null, o = !1, l = !1;\n  return typeof e == \"string\" && (e = JO(e)), typeof e == \"object\" && (io(e.r) && io(e.g) && io(e.b) ? (t = UO(e.r, e.g, e.b), o = !0, l = String(e.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\") : io(e.h) && io(e.s) && io(e.v) ? (n = Ed(e.s), a = Ed(e.v), t = VO(e.h, n, a), o = !0, l = \"hsv\") : io(e.h) && io(e.s) && io(e.l) && (n = Ed(e.s), i = Ed(e.l), t = GO(e.h, n, i), o = !0, l = \"hsl\"), Object.prototype.hasOwnProperty.call(e, \"a\") && (r = e.a)), r = h5(r), {\n    ok: o,\n    format: e.format || l,\n    r: Math.min(255, Math.max(t.r, 0)),\n    g: Math.min(255, Math.max(t.g, 0)),\n    b: Math.min(255, Math.max(t.b, 0)),\n    a: r\n  };\n}\nvar XO = \"[-\\\\+]?\\\\d+%?\", KO = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\", tl = \"(?:\".concat(KO, \")|(?:\").concat(XO, \")\"), Im = \"[\\\\s|\\\\(]+(\".concat(tl, \")[,|\\\\s]+(\").concat(tl, \")[,|\\\\s]+(\").concat(tl, \")\\\\s*\\\\)?\"), Nm = \"[\\\\s|\\\\(]+(\".concat(tl, \")[,|\\\\s]+(\").concat(tl, \")[,|\\\\s]+(\").concat(tl, \")[,|\\\\s]+(\").concat(tl, \")\\\\s*\\\\)?\"), ai = {\n  CSS_UNIT: new RegExp(tl),\n  rgb: new RegExp(\"rgb\" + Im),\n  rgba: new RegExp(\"rgba\" + Nm),\n  hsl: new RegExp(\"hsl\" + Im),\n  hsla: new RegExp(\"hsla\" + Nm),\n  hsv: new RegExp(\"hsv\" + Im),\n  hsva: new RegExp(\"hsva\" + Nm),\n  hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n  hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n  hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n  hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n};\nfunction JO(e) {\n  if (e = e.trim().toLowerCase(), e.length === 0)\n    return !1;\n  var t = !1;\n  if (ey[e])\n    e = ey[e], t = !0;\n  else if (e === \"transparent\")\n    return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n  var r = ai.rgb.exec(e);\n  return r ? { r: r[1], g: r[2], b: r[3] } : (r = ai.rgba.exec(e), r ? { r: r[1], g: r[2], b: r[3], a: r[4] } : (r = ai.hsl.exec(e), r ? { h: r[1], s: r[2], l: r[3] } : (r = ai.hsla.exec(e), r ? { h: r[1], s: r[2], l: r[3], a: r[4] } : (r = ai.hsv.exec(e), r ? { h: r[1], s: r[2], v: r[3] } : (r = ai.hsva.exec(e), r ? { h: r[1], s: r[2], v: r[3], a: r[4] } : (r = ai.hex8.exec(e), r ? {\n    r: va(r[1]),\n    g: va(r[2]),\n    b: va(r[3]),\n    a: Ww(r[4]),\n    format: t ? \"name\" : \"hex8\"\n  } : (r = ai.hex6.exec(e), r ? {\n    r: va(r[1]),\n    g: va(r[2]),\n    b: va(r[3]),\n    format: t ? \"name\" : \"hex\"\n  } : (r = ai.hex4.exec(e), r ? {\n    r: va(r[1] + r[1]),\n    g: va(r[2] + r[2]),\n    b: va(r[3] + r[3]),\n    a: Ww(r[4] + r[4]),\n    format: t ? \"name\" : \"hex8\"\n  } : (r = ai.hex3.exec(e), r ? {\n    r: va(r[1] + r[1]),\n    g: va(r[2] + r[2]),\n    b: va(r[3] + r[3]),\n    format: t ? \"name\" : \"hex\"\n  } : !1)))))))));\n}\nfunction io(e) {\n  return !!ai.CSS_UNIT.exec(String(e));\n}\nvar QO = (\n  /** @class */\n  function() {\n    function e(t, r) {\n      t === void 0 && (t = \"\"), r === void 0 && (r = {});\n      var n;\n      if (t instanceof e)\n        return t;\n      typeof t == \"number\" && (t = ZO(t)), this.originalInput = t;\n      var a = YO(t);\n      this.originalInput = t, this.r = a.r, this.g = a.g, this.b = a.b, this.a = a.a, this.roundA = Math.round(100 * this.a) / 100, this.format = (n = r.format) !== null && n !== void 0 ? n : a.format, this.gradientType = r.gradientType, this.r < 1 && (this.r = Math.round(this.r)), this.g < 1 && (this.g = Math.round(this.g)), this.b < 1 && (this.b = Math.round(this.b)), this.isValid = a.ok;\n    }\n    return e.prototype.isDark = function() {\n      return this.getBrightness() < 128;\n    }, e.prototype.isLight = function() {\n      return !this.isDark();\n    }, e.prototype.getBrightness = function() {\n      var t = this.toRgb();\n      return (t.r * 299 + t.g * 587 + t.b * 114) / 1e3;\n    }, e.prototype.getLuminance = function() {\n      var t = this.toRgb(), r, n, a, i = t.r / 255, o = t.g / 255, l = t.b / 255;\n      return i <= 0.03928 ? r = i / 12.92 : r = Math.pow((i + 0.055) / 1.055, 2.4), o <= 0.03928 ? n = o / 12.92 : n = Math.pow((o + 0.055) / 1.055, 2.4), l <= 0.03928 ? a = l / 12.92 : a = Math.pow((l + 0.055) / 1.055, 2.4), 0.2126 * r + 0.7152 * n + 0.0722 * a;\n    }, e.prototype.getAlpha = function() {\n      return this.a;\n    }, e.prototype.setAlpha = function(t) {\n      return this.a = h5(t), this.roundA = Math.round(100 * this.a) / 100, this;\n    }, e.prototype.isMonochrome = function() {\n      var t = this.toHsl().s;\n      return t === 0;\n    }, e.prototype.toHsv = function() {\n      var t = Vw(this.r, this.g, this.b);\n      return { h: t.h * 360, s: t.s, v: t.v, a: this.a };\n    }, e.prototype.toHsvString = function() {\n      var t = Vw(this.r, this.g, this.b), r = Math.round(t.h * 360), n = Math.round(t.s * 100), a = Math.round(t.v * 100);\n      return this.a === 1 ? \"hsv(\".concat(r, \", \").concat(n, \"%, \").concat(a, \"%)\") : \"hsva(\".concat(r, \", \").concat(n, \"%, \").concat(a, \"%, \").concat(this.roundA, \")\");\n    }, e.prototype.toHsl = function() {\n      var t = Gw(this.r, this.g, this.b);\n      return { h: t.h * 360, s: t.s, l: t.l, a: this.a };\n    }, e.prototype.toHslString = function() {\n      var t = Gw(this.r, this.g, this.b), r = Math.round(t.h * 360), n = Math.round(t.s * 100), a = Math.round(t.l * 100);\n      return this.a === 1 ? \"hsl(\".concat(r, \", \").concat(n, \"%, \").concat(a, \"%)\") : \"hsla(\".concat(r, \", \").concat(n, \"%, \").concat(a, \"%, \").concat(this.roundA, \")\");\n    }, e.prototype.toHex = function(t) {\n      return t === void 0 && (t = !1), qw(this.r, this.g, this.b, t);\n    }, e.prototype.toHexString = function(t) {\n      return t === void 0 && (t = !1), \"#\" + this.toHex(t);\n    }, e.prototype.toHex8 = function(t) {\n      return t === void 0 && (t = !1), qO(this.r, this.g, this.b, this.a, t);\n    }, e.prototype.toHex8String = function(t) {\n      return t === void 0 && (t = !1), \"#\" + this.toHex8(t);\n    }, e.prototype.toHexShortString = function(t) {\n      return t === void 0 && (t = !1), this.a === 1 ? this.toHexString(t) : this.toHex8String(t);\n    }, e.prototype.toRgb = function() {\n      return {\n        r: Math.round(this.r),\n        g: Math.round(this.g),\n        b: Math.round(this.b),\n        a: this.a\n      };\n    }, e.prototype.toRgbString = function() {\n      var t = Math.round(this.r), r = Math.round(this.g), n = Math.round(this.b);\n      return this.a === 1 ? \"rgb(\".concat(t, \", \").concat(r, \", \").concat(n, \")\") : \"rgba(\".concat(t, \", \").concat(r, \", \").concat(n, \", \").concat(this.roundA, \")\");\n    }, e.prototype.toPercentageRgb = function() {\n      var t = function(r) {\n        return \"\".concat(Math.round(En(r, 255) * 100), \"%\");\n      };\n      return {\n        r: t(this.r),\n        g: t(this.g),\n        b: t(this.b),\n        a: this.a\n      };\n    }, e.prototype.toPercentageRgbString = function() {\n      var t = function(r) {\n        return Math.round(En(r, 255) * 100);\n      };\n      return this.a === 1 ? \"rgb(\".concat(t(this.r), \"%, \").concat(t(this.g), \"%, \").concat(t(this.b), \"%)\") : \"rgba(\".concat(t(this.r), \"%, \").concat(t(this.g), \"%, \").concat(t(this.b), \"%, \").concat(this.roundA, \")\");\n    }, e.prototype.toName = function() {\n      if (this.a === 0)\n        return \"transparent\";\n      if (this.a < 1)\n        return !1;\n      for (var t = \"#\" + qw(this.r, this.g, this.b, !1), r = 0, n = Object.entries(ey); r < n.length; r++) {\n        var a = n[r], i = a[0], o = a[1];\n        if (t === o)\n          return i;\n      }\n      return !1;\n    }, e.prototype.toString = function(t) {\n      var r = !!t;\n      t = t ?? this.format;\n      var n = !1, a = this.a < 1 && this.a >= 0, i = !r && a && (t.startsWith(\"hex\") || t === \"name\");\n      return i ? t === \"name\" && this.a === 0 ? this.toName() : this.toRgbString() : (t === \"rgb\" && (n = this.toRgbString()), t === \"prgb\" && (n = this.toPercentageRgbString()), (t === \"hex\" || t === \"hex6\") && (n = this.toHexString()), t === \"hex3\" && (n = this.toHexString(!0)), t === \"hex4\" && (n = this.toHex8String(!0)), t === \"hex8\" && (n = this.toHex8String()), t === \"name\" && (n = this.toName()), t === \"hsl\" && (n = this.toHslString()), t === \"hsv\" && (n = this.toHsvString()), n || this.toHexString());\n    }, e.prototype.toNumber = function() {\n      return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b);\n    }, e.prototype.clone = function() {\n      return new e(this.toString());\n    }, e.prototype.lighten = function(t) {\n      t === void 0 && (t = 10);\n      var r = this.toHsl();\n      return r.l += t / 100, r.l = Dd(r.l), new e(r);\n    }, e.prototype.brighten = function(t) {\n      t === void 0 && (t = 10);\n      var r = this.toRgb();\n      return r.r = Math.max(0, Math.min(255, r.r - Math.round(255 * -(t / 100)))), r.g = Math.max(0, Math.min(255, r.g - Math.round(255 * -(t / 100)))), r.b = Math.max(0, Math.min(255, r.b - Math.round(255 * -(t / 100)))), new e(r);\n    }, e.prototype.darken = function(t) {\n      t === void 0 && (t = 10);\n      var r = this.toHsl();\n      return r.l -= t / 100, r.l = Dd(r.l), new e(r);\n    }, e.prototype.tint = function(t) {\n      return t === void 0 && (t = 10), this.mix(\"white\", t);\n    }, e.prototype.shade = function(t) {\n      return t === void 0 && (t = 10), this.mix(\"black\", t);\n    }, e.prototype.desaturate = function(t) {\n      t === void 0 && (t = 10);\n      var r = this.toHsl();\n      return r.s -= t / 100, r.s = Dd(r.s), new e(r);\n    }, e.prototype.saturate = function(t) {\n      t === void 0 && (t = 10);\n      var r = this.toHsl();\n      return r.s += t / 100, r.s = Dd(r.s), new e(r);\n    }, e.prototype.greyscale = function() {\n      return this.desaturate(100);\n    }, e.prototype.spin = function(t) {\n      var r = this.toHsl(), n = (r.h + t) % 360;\n      return r.h = n < 0 ? 360 + n : n, new e(r);\n    }, e.prototype.mix = function(t, r) {\n      r === void 0 && (r = 50);\n      var n = this.toRgb(), a = new e(t).toRgb(), i = r / 100, o = {\n        r: (a.r - n.r) * i + n.r,\n        g: (a.g - n.g) * i + n.g,\n        b: (a.b - n.b) * i + n.b,\n        a: (a.a - n.a) * i + n.a\n      };\n      return new e(o);\n    }, e.prototype.analogous = function(t, r) {\n      t === void 0 && (t = 6), r === void 0 && (r = 30);\n      var n = this.toHsl(), a = 360 / r, i = [this];\n      for (n.h = (n.h - (a * t >> 1) + 720) % 360; --t; )\n        n.h = (n.h + a) % 360, i.push(new e(n));\n      return i;\n    }, e.prototype.complement = function() {\n      var t = this.toHsl();\n      return t.h = (t.h + 180) % 360, new e(t);\n    }, e.prototype.monochromatic = function(t) {\n      t === void 0 && (t = 6);\n      for (var r = this.toHsv(), n = r.h, a = r.s, i = r.v, o = [], l = 1 / t; t--; )\n        o.push(new e({ h: n, s: a, v: i })), i = (i + l) % 1;\n      return o;\n    }, e.prototype.splitcomplement = function() {\n      var t = this.toHsl(), r = t.h;\n      return [\n        this,\n        new e({ h: (r + 72) % 360, s: t.s, l: t.l }),\n        new e({ h: (r + 216) % 360, s: t.s, l: t.l })\n      ];\n    }, e.prototype.onBackground = function(t) {\n      var r = this.toRgb(), n = new e(t).toRgb(), a = r.a + n.a * (1 - r.a);\n      return new e({\n        r: (r.r * r.a + n.r * n.a * (1 - r.a)) / a,\n        g: (r.g * r.a + n.g * n.a * (1 - r.a)) / a,\n        b: (r.b * r.a + n.b * n.a * (1 - r.a)) / a,\n        a\n      });\n    }, e.prototype.triad = function() {\n      return this.polyad(3);\n    }, e.prototype.tetrad = function() {\n      return this.polyad(4);\n    }, e.prototype.polyad = function(t) {\n      for (var r = this.toHsl(), n = r.h, a = [this], i = 360 / t, o = 1; o < t; o++)\n        a.push(new e({ h: (n + o * i) % 360, s: r.s, l: r.l }));\n      return a;\n    }, e.prototype.equals = function(t) {\n      return this.toRgbString() === new e(t).toRgbString();\n    }, e;\n  }()\n);\nfunction $o(e, t = 20) {\n  return e.mix(\"#141414\", t).toString();\n}\nfunction eH(e) {\n  const t = r5(), r = on(\"button\");\n  return et(() => {\n    let n = {}, a = e.color;\n    if (a) {\n      const i = a.match(/var\\((.*?)\\)/);\n      i && (a = window.getComputedStyle(window.document.documentElement).getPropertyValue(i[1]));\n      const o = new QO(a), l = e.dark ? o.tint(20).toString() : $o(o, 20);\n      if (e.plain)\n        n = r.cssVarBlock({\n          \"bg-color\": e.dark ? $o(o, 90) : o.tint(90).toString(),\n          \"text-color\": a,\n          \"border-color\": e.dark ? $o(o, 50) : o.tint(50).toString(),\n          \"hover-text-color\": `var(${r.cssVarName(\"color-white\")})`,\n          \"hover-bg-color\": a,\n          \"hover-border-color\": a,\n          \"active-bg-color\": l,\n          \"active-text-color\": `var(${r.cssVarName(\"color-white\")})`,\n          \"active-border-color\": l\n        }), t.value && (n[r.cssVarBlockName(\"disabled-bg-color\")] = e.dark ? $o(o, 90) : o.tint(90).toString(), n[r.cssVarBlockName(\"disabled-text-color\")] = e.dark ? $o(o, 50) : o.tint(50).toString(), n[r.cssVarBlockName(\"disabled-border-color\")] = e.dark ? $o(o, 80) : o.tint(80).toString());\n      else {\n        const s = e.dark ? $o(o, 30) : o.tint(30).toString(), u = o.isDark() ? `var(${r.cssVarName(\"color-white\")})` : `var(${r.cssVarName(\"color-black\")})`;\n        if (n = r.cssVarBlock({\n          \"bg-color\": a,\n          \"text-color\": u,\n          \"border-color\": a,\n          \"hover-bg-color\": s,\n          \"hover-text-color\": u,\n          \"hover-border-color\": s,\n          \"active-bg-color\": l,\n          \"active-border-color\": l\n        }), t.value) {\n          const f = e.dark ? $o(o, 50) : o.tint(50).toString();\n          n[r.cssVarBlockName(\"disabled-bg-color\")] = f, n[r.cssVarBlockName(\"disabled-text-color\")] = e.dark ? \"rgba(255, 255, 255, 0.5)\" : `var(${r.cssVarName(\"color-white\")})`, n[r.cssVarBlockName(\"disabled-border-color\")] = f;\n        }\n      }\n    }\n    return n;\n  });\n}\nconst tH = er({\n  name: \"ElButton\"\n}), rH = /* @__PURE__ */ er({\n  ...tH,\n  props: Q0,\n  emits: HO,\n  setup(e, { expose: t, emit: r }) {\n    const n = e, a = eH(n), i = on(\"button\"), { _ref: o, _size: l, _type: s, _disabled: u, _props: f, shouldAddSpace: d, handleClick: h } = IO(n, r), p = et(() => [\n      i.b(),\n      i.m(s.value),\n      i.m(l.value),\n      i.is(\"disabled\", u.value),\n      i.is(\"loading\", n.loading),\n      i.is(\"plain\", n.plain),\n      i.is(\"round\", n.round),\n      i.is(\"circle\", n.circle),\n      i.is(\"text\", n.text),\n      i.is(\"link\", n.link),\n      i.is(\"has-bg\", n.bg)\n    ]);\n    return t({\n      ref: o,\n      size: l,\n      type: s,\n      disabled: u,\n      shouldAddSpace: d\n    }), (v, m) => (At(), kr(bo(v.tag), fs({\n      ref_key: \"_ref\",\n      ref: o\n    }, $e(f), {\n      class: $e(p),\n      style: $e(a),\n      onClick: $e(h)\n    }), {\n      default: ir(() => [\n        v.loading ? (At(), Xt(wo, { key: 0 }, [\n          v.$slots.loading ? ur(v.$slots, \"loading\", { key: 0 }) : (At(), kr($e(Lu), {\n            key: 1,\n            class: Vt($e(i).is(\"loading\"))\n          }, {\n            default: ir(() => [\n              (At(), kr(bo(v.loadingIcon)))\n            ]),\n            _: 1\n          }, 8, [\"class\"]))\n        ], 64)) : v.icon || v.$slots.icon ? (At(), kr($e(Lu), { key: 1 }, {\n          default: ir(() => [\n            v.icon ? (At(), kr(bo(v.icon), { key: 0 })) : ur(v.$slots, \"icon\", { key: 1 })\n          ]),\n          _: 3\n        })) : Fr(\"v-if\", !0),\n        v.$slots.default ? (At(), Xt(\"span\", {\n          key: 2,\n          class: Vt({ [$e(i).em(\"text\", \"expand\")]: $e(d) })\n        }, [\n          ur(v.$slots, \"default\")\n        ], 2)) : Fr(\"v-if\", !0)\n      ]),\n      _: 3\n    }, 16, [\"class\", \"style\", \"onClick\"]));\n  }\n});\nvar nH = /* @__PURE__ */ jr(rH, [[\"__file\", \"button.vue\"]]);\nconst aH = {\n  size: Q0.size,\n  type: Q0.type\n}, iH = er({\n  name: \"ElButtonGroup\"\n}), oH = /* @__PURE__ */ er({\n  ...iH,\n  props: aH,\n  setup(e) {\n    const t = e;\n    wa(d5, ts({\n      size: Ii(t, \"size\"),\n      type: Ii(t, \"type\")\n    }));\n    const r = on(\"button\");\n    return (n, a) => (At(), Xt(\"div\", {\n      class: Vt($e(r).b(\"group\"))\n    }, [\n      ur(n.$slots, \"default\")\n    ], 2));\n  }\n});\nvar v5 = /* @__PURE__ */ jr(oH, [[\"__file\", \"button-group.vue\"]]);\nconst Gc = gi(nH, {\n  ButtonGroup: v5\n});\nZv(v5);\nvar Wl = typeof globalThis < \"u\" ? globalThis : typeof window < \"u\" ? window : typeof global < \"u\" ? global : typeof self < \"u\" ? self : {};\nfunction Vc(e) {\n  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, \"default\") ? e.default : e;\n}\nfunction tp(e) {\n  if (e.__esModule) return e;\n  var t = e.default;\n  if (typeof t == \"function\") {\n    var r = function n() {\n      return this instanceof n ? Reflect.construct(t, arguments, this.constructor) : t.apply(this, arguments);\n    };\n    r.prototype = t.prototype;\n  } else r = {};\n  return Object.defineProperty(r, \"__esModule\", { value: !0 }), Object.keys(e).forEach(function(n) {\n    var a = Object.getOwnPropertyDescriptor(e, n);\n    Object.defineProperty(r, n, a.get ? a : {\n      enumerable: !0,\n      get: function() {\n        return e[n];\n      }\n    });\n  }), r;\n}\nconst Uo = /* @__PURE__ */ new Map();\nif (qn) {\n  let e;\n  document.addEventListener(\"mousedown\", (t) => e = t), document.addEventListener(\"mouseup\", (t) => {\n    if (e) {\n      for (const r of Uo.values())\n        for (const { documentHandler: n } of r)\n          n(t, e);\n      e = void 0;\n    }\n  });\n}\nfunction Zw(e, t) {\n  let r = [];\n  return Array.isArray(t.arg) ? r = t.arg : Vl(t.arg) && r.push(t.arg), function(n, a) {\n    const i = t.instance.popperRef, o = n.target, l = a == null ? void 0 : a.target, s = !t || !t.instance, u = !o || !l, f = e.contains(o) || e.contains(l), d = e === o, h = r.length && r.some((v) => v == null ? void 0 : v.contains(o)) || r.length && r.includes(l), p = i && (i.contains(o) || i.contains(l));\n    s || u || f || d || h || p || t.value(n, a);\n  };\n}\nconst lH = {\n  beforeMount(e, t) {\n    Uo.has(e) || Uo.set(e, []), Uo.get(e).push({\n      documentHandler: Zw(e, t),\n      bindingFn: t.value\n    });\n  },\n  updated(e, t) {\n    Uo.has(e) || Uo.set(e, []);\n    const r = Uo.get(e), n = r.findIndex((i) => i.bindingFn === t.oldValue), a = {\n      documentHandler: Zw(e, t),\n      bindingFn: t.value\n    };\n    n >= 0 ? r.splice(n, 1, a) : r.push(a);\n  },\n  unmounted(e) {\n    Uo.delete(e);\n  }\n}, ty = qr({\n  type: {\n    type: String,\n    values: [\"primary\", \"success\", \"info\", \"warning\", \"danger\"],\n    default: \"primary\"\n  },\n  closable: Boolean,\n  disableTransitions: Boolean,\n  hit: Boolean,\n  color: String,\n  size: {\n    type: String,\n    values: H3\n  },\n  effect: {\n    type: String,\n    values: [\"dark\", \"light\", \"plain\"],\n    default: \"light\"\n  },\n  round: Boolean\n}), sH = {\n  close: (e) => e instanceof MouseEvent,\n  click: (e) => e instanceof MouseEvent\n}, uH = er({\n  name: \"ElTag\"\n}), fH = /* @__PURE__ */ er({\n  ...uH,\n  props: ty,\n  emits: sH,\n  setup(e, { emit: t }) {\n    const r = e, n = L1(), a = on(\"tag\"), i = et(() => {\n      const { type: u, hit: f, effect: d, closable: h, round: p } = r;\n      return [\n        a.b(),\n        a.is(\"closable\", h),\n        a.m(u || \"primary\"),\n        a.m(n.value),\n        a.m(d),\n        a.is(\"hit\", f),\n        a.is(\"round\", p)\n      ];\n    }), o = (u) => {\n      t(\"close\", u);\n    }, l = (u) => {\n      t(\"click\", u);\n    }, s = (u) => {\n      u.component.subTree.component.bum = null;\n    };\n    return (u, f) => u.disableTransitions ? (At(), Xt(\"span\", {\n      key: 0,\n      class: Vt($e(i)),\n      style: Hi({ backgroundColor: u.color }),\n      onClick: l\n    }, [\n      cr(\"span\", {\n        class: Vt($e(a).e(\"content\"))\n      }, [\n        ur(u.$slots, \"default\")\n      ], 2),\n      u.closable ? (At(), kr($e(Lu), {\n        key: 0,\n        class: Vt($e(a).e(\"close\")),\n        onClick: pa(o, [\"stop\"])\n      }, {\n        default: ir(() => [\n          Ar($e(yw))\n        ]),\n        _: 1\n      }, 8, [\"class\", \"onClick\"])) : Fr(\"v-if\", !0)\n    ], 6)) : (At(), kr(Ov, {\n      key: 1,\n      name: `${$e(a).namespace.value}-zoom-in-center`,\n      appear: \"\",\n      onVnodeMounted: s\n    }, {\n      default: ir(() => [\n        cr(\"span\", {\n          class: Vt($e(i)),\n          style: Hi({ backgroundColor: u.color }),\n          onClick: l\n        }, [\n          cr(\"span\", {\n            class: Vt($e(a).e(\"content\"))\n          }, [\n            ur(u.$slots, \"default\")\n          ], 2),\n          u.closable ? (At(), kr($e(Lu), {\n            key: 0,\n            class: Vt($e(a).e(\"close\")),\n            onClick: pa(o, [\"stop\"])\n          }, {\n            default: ir(() => [\n              Ar($e(yw))\n            ]),\n            _: 1\n          }, 8, [\"class\", \"onClick\"])) : Fr(\"v-if\", !0)\n        ], 6)\n      ]),\n      _: 3\n    }, 8, [\"name\"]));\n  }\n});\nvar cH = /* @__PURE__ */ jr(fH, [[\"__file\", \"tag.vue\"]]);\nconst dH = gi(cH), Yw = (e) => Ga(e) || Uu(e) || Ni(e), hH = qr({\n  accordion: Boolean,\n  modelValue: {\n    type: dr([Array, String, Number]),\n    default: () => S7([])\n  }\n}), vH = {\n  [Ko]: Yw,\n  [Yv]: Yw\n}, p5 = Symbol(\"collapseContextKey\"), pH = (e, t) => {\n  const r = Rt(zi(e.modelValue)), n = (i) => {\n    r.value = i;\n    const o = e.accordion ? r.value[0] : r.value;\n    t(Ko, o), t(Yv, o);\n  }, a = (i) => {\n    if (e.accordion)\n      n([r.value[0] === i ? \"\" : i]);\n    else {\n      const o = [...r.value], l = o.indexOf(i);\n      l > -1 ? o.splice(l, 1) : o.push(i), n(o);\n    }\n  };\n  return _r(() => e.modelValue, () => r.value = zi(e.modelValue), { deep: !0 }), wa(p5, {\n    activeNames: r,\n    handleItemClick: a\n  }), {\n    activeNames: r,\n    setActiveNames: n\n  };\n}, mH = () => {\n  const e = on(\"collapse\");\n  return {\n    rootKls: et(() => e.b())\n  };\n}, gH = er({\n  name: \"ElCollapse\"\n}), yH = /* @__PURE__ */ er({\n  ...gH,\n  props: hH,\n  emits: vH,\n  setup(e, { expose: t, emit: r }) {\n    const n = e, { activeNames: a, setActiveNames: i } = pH(n, r), { rootKls: o } = mH();\n    return t({\n      activeNames: a,\n      setActiveNames: i\n    }), (l, s) => (At(), Xt(\"div\", {\n      class: Vt($e(o))\n    }, [\n      ur(l.$slots, \"default\")\n    ], 2));\n  }\n});\nvar bH = /* @__PURE__ */ jr(yH, [[\"__file\", \"collapse.vue\"]]);\nconst _H = er({\n  name: \"ElCollapseTransition\"\n}), xH = /* @__PURE__ */ er({\n  ..._H,\n  setup(e) {\n    const t = on(\"collapse-transition\"), r = (a) => {\n      a.style.maxHeight = \"\", a.style.overflow = a.dataset.oldOverflow, a.style.paddingTop = a.dataset.oldPaddingTop, a.style.paddingBottom = a.dataset.oldPaddingBottom;\n    }, n = {\n      beforeEnter(a) {\n        a.dataset || (a.dataset = {}), a.dataset.oldPaddingTop = a.style.paddingTop, a.dataset.oldPaddingBottom = a.style.paddingBottom, a.style.height && (a.dataset.elExistsHeight = a.style.height), a.style.maxHeight = 0, a.style.paddingTop = 0, a.style.paddingBottom = 0;\n      },\n      enter(a) {\n        requestAnimationFrame(() => {\n          a.dataset.oldOverflow = a.style.overflow, a.dataset.elExistsHeight ? a.style.maxHeight = a.dataset.elExistsHeight : a.scrollHeight !== 0 ? a.style.maxHeight = `${a.scrollHeight}px` : a.style.maxHeight = 0, a.style.paddingTop = a.dataset.oldPaddingTop, a.style.paddingBottom = a.dataset.oldPaddingBottom, a.style.overflow = \"hidden\";\n        });\n      },\n      afterEnter(a) {\n        a.style.maxHeight = \"\", a.style.overflow = a.dataset.oldOverflow;\n      },\n      enterCancelled(a) {\n        r(a);\n      },\n      beforeLeave(a) {\n        a.dataset || (a.dataset = {}), a.dataset.oldPaddingTop = a.style.paddingTop, a.dataset.oldPaddingBottom = a.style.paddingBottom, a.dataset.oldOverflow = a.style.overflow, a.style.maxHeight = `${a.scrollHeight}px`, a.style.overflow = \"hidden\";\n      },\n      leave(a) {\n        a.scrollHeight !== 0 && (a.style.maxHeight = 0, a.style.paddingTop = 0, a.style.paddingBottom = 0);\n      },\n      afterLeave(a) {\n        r(a);\n      },\n      leaveCancelled(a) {\n        r(a);\n      }\n    };\n    return (a, i) => (At(), kr(Ov, fs({\n      name: $e(t).b()\n    }, UR(n)), {\n      default: ir(() => [\n        ur(a.$slots, \"default\")\n      ]),\n      _: 3\n    }, 16, [\"name\"]));\n  }\n});\nvar wH = /* @__PURE__ */ jr(xH, [[\"__file\", \"collapse-transition.vue\"]]);\nconst TH = gi(wH), kH = qr({\n  title: {\n    type: String,\n    default: \"\"\n  },\n  name: {\n    type: dr([String, Number]),\n    default: void 0\n  },\n  icon: {\n    type: Tu,\n    default: g7\n  },\n  disabled: Boolean\n}), AH = (e) => {\n  const t = Rr(p5), { namespace: r } = on(\"collapse\"), n = Rt(!1), a = Rt(!1), i = S1(), o = et(() => i.current++), l = et(() => {\n    var h;\n    return (h = e.name) != null ? h : `${r.value}-id-${i.prefix}-${$e(o)}`;\n  }), s = et(() => t == null ? void 0 : t.activeNames.value.includes($e(l)));\n  return {\n    focusing: n,\n    id: o,\n    isActive: s,\n    handleFocus: () => {\n      setTimeout(() => {\n        a.value ? a.value = !1 : n.value = !0;\n      }, 50);\n    },\n    handleHeaderClick: () => {\n      e.disabled || (t == null || t.handleItemClick($e(l)), n.value = !1, a.value = !0);\n    },\n    handleEnterClick: () => {\n      t == null || t.handleItemClick($e(l));\n    }\n  };\n}, MH = (e, { focusing: t, isActive: r, id: n }) => {\n  const a = on(\"collapse\"), i = et(() => [\n    a.b(\"item\"),\n    a.is(\"active\", $e(r)),\n    a.is(\"disabled\", e.disabled)\n  ]), o = et(() => [\n    a.be(\"item\", \"header\"),\n    a.is(\"active\", $e(r)),\n    { focusing: $e(t) && !e.disabled }\n  ]), l = et(() => [\n    a.be(\"item\", \"arrow\"),\n    a.is(\"active\", $e(r))\n  ]), s = et(() => a.be(\"item\", \"wrap\")), u = et(() => a.be(\"item\", \"content\")), f = et(() => a.b(`content-${$e(n)}`)), d = et(() => a.b(`head-${$e(n)}`));\n  return {\n    arrowKls: l,\n    headKls: o,\n    rootKls: i,\n    itemWrapperKls: s,\n    itemContentKls: u,\n    scopedContentId: f,\n    scopedHeadId: d\n  };\n}, SH = er({\n  name: \"ElCollapseItem\"\n}), CH = /* @__PURE__ */ er({\n  ...SH,\n  props: kH,\n  setup(e, { expose: t }) {\n    const r = e, {\n      focusing: n,\n      id: a,\n      isActive: i,\n      handleFocus: o,\n      handleHeaderClick: l,\n      handleEnterClick: s\n    } = AH(r), {\n      arrowKls: u,\n      headKls: f,\n      rootKls: d,\n      itemWrapperKls: h,\n      itemContentKls: p,\n      scopedContentId: v,\n      scopedHeadId: m\n    } = MH(r, { focusing: n, isActive: i, id: a });\n    return t({\n      isActive: i\n    }), (g, y) => (At(), Xt(\"div\", {\n      class: Vt($e(d))\n    }, [\n      cr(\"button\", {\n        id: $e(m),\n        class: Vt($e(f)),\n        \"aria-expanded\": $e(i),\n        \"aria-controls\": $e(v),\n        \"aria-describedby\": $e(v),\n        tabindex: g.disabled ? -1 : 0,\n        type: \"button\",\n        onClick: $e(l),\n        onKeydown: eu(pa($e(s), [\"stop\", \"prevent\"]), [\"space\", \"enter\"]),\n        onFocus: $e(o),\n        onBlur: (w) => n.value = !1\n      }, [\n        ur(g.$slots, \"title\", {}, () => [\n          rs(ga(g.title), 1)\n        ]),\n        ur(g.$slots, \"icon\", { isActive: $e(i) }, () => [\n          Ar($e(Lu), {\n            class: Vt($e(u))\n          }, {\n            default: ir(() => [\n              (At(), kr(bo(g.icon)))\n            ]),\n            _: 1\n          }, 8, [\"class\"])\n        ])\n      ], 42, [\"id\", \"aria-expanded\", \"aria-controls\", \"aria-describedby\", \"tabindex\", \"onClick\", \"onKeydown\", \"onFocus\", \"onBlur\"]),\n      Ar($e(TH), null, {\n        default: ir(() => [\n          yo(cr(\"div\", {\n            id: $e(v),\n            role: \"region\",\n            class: Vt($e(h)),\n            \"aria-hidden\": !$e(i),\n            \"aria-labelledby\": $e(m)\n          }, [\n            cr(\"div\", {\n              class: Vt($e(p))\n            }, [\n              ur(g.$slots, \"default\")\n            ], 2)\n          ], 10, [\"id\", \"aria-hidden\", \"aria-labelledby\"]), [\n            [ju, $e(i)]\n          ])\n        ]),\n        _: 3\n      })\n    ], 2));\n  }\n});\nvar m5 = /* @__PURE__ */ jr(CH, [[\"__file\", \"collapse-item.vue\"]]);\nconst g5 = gi(bH, {\n  CollapseItem: m5\n}), y5 = Zv(m5), LH = /* @__PURE__ */ er({\n  inheritAttrs: !1\n});\nfunction DH(e, t, r, n, a, i) {\n  return ur(e.$slots, \"default\");\n}\nvar EH = /* @__PURE__ */ jr(LH, [[\"render\", DH], [\"__file\", \"collection.vue\"]]);\nconst FH = /* @__PURE__ */ er({\n  name: \"ElCollectionItem\",\n  inheritAttrs: !1\n});\nfunction RH(e, t, r, n, a, i) {\n  return ur(e.$slots, \"default\");\n}\nvar PH = /* @__PURE__ */ jr(FH, [[\"render\", RH], [\"__file\", \"collection-item.vue\"]]);\nconst $H = \"data-el-collection-item\", zH = (e) => {\n  const t = `El${e}Collection`, r = `${t}Item`, n = Symbol(t), a = Symbol(r), i = {\n    ...EH,\n    name: t,\n    setup() {\n      const l = Rt(null), s = /* @__PURE__ */ new Map();\n      wa(n, {\n        itemMap: s,\n        getItems: () => {\n          const f = $e(l);\n          if (!f)\n            return [];\n          const d = Array.from(f.querySelectorAll(`[${$H}]`));\n          return [...s.values()].sort((p, v) => d.indexOf(p.ref) - d.indexOf(v.ref));\n        },\n        collectionRef: l\n      });\n    }\n  }, o = {\n    ...PH,\n    name: r,\n    setup(l, { attrs: s }) {\n      const u = Rt(null), f = Rr(n, void 0);\n      wa(a, {\n        collectionItemRef: u\n      }), Zn(() => {\n        const d = $e(u);\n        d && f.itemMap.set(d, {\n          ref: d,\n          ...s\n        });\n      }), mi(() => {\n        const d = $e(u);\n        f.itemMap.delete(d);\n      });\n    }\n  };\n  return {\n    COLLECTION_INJECTION_KEY: n,\n    COLLECTION_ITEM_INJECTION_KEY: a,\n    ElCollection: i,\n    ElCollectionItem: o\n  };\n}, Om = qr({\n  trigger: mc.trigger,\n  effect: {\n    ...ma.effect,\n    default: \"light\"\n  },\n  type: {\n    type: dr(String)\n  },\n  placement: {\n    type: dr(String),\n    default: \"bottom\"\n  },\n  popperOptions: {\n    type: dr(Object),\n    default: () => ({})\n  },\n  id: String,\n  size: {\n    type: String,\n    default: \"\"\n  },\n  splitButton: Boolean,\n  hideOnClick: {\n    type: Boolean,\n    default: !0\n  },\n  loop: {\n    type: Boolean,\n    default: !0\n  },\n  showTimeout: {\n    type: Number,\n    default: 150\n  },\n  hideTimeout: {\n    type: Number,\n    default: 150\n  },\n  tabindex: {\n    type: dr([Number, String]),\n    default: 0\n  },\n  maxHeight: {\n    type: dr([Number, String]),\n    default: \"\"\n  },\n  popperClass: {\n    type: String,\n    default: \"\"\n  },\n  disabled: Boolean,\n  role: {\n    type: String,\n    default: \"menu\"\n  },\n  buttonProps: {\n    type: dr(Object)\n  },\n  teleported: ma.teleported\n});\nqr({\n  command: {\n    type: [Object, String, Number],\n    default: () => ({})\n  },\n  disabled: Boolean,\n  divided: Boolean,\n  textValue: String,\n  icon: {\n    type: Tu\n  }\n});\nqr({\n  onKeydown: { type: dr(Function) }\n});\nzH(\"Dropdown\");\nconst b5 = Symbol(\"ElSelectGroup\"), rp = Symbol(\"ElSelect\");\nfunction IH(e, t) {\n  const r = Rr(rp), n = Rr(b5, { disabled: !1 }), a = et(() => f(zi(r.props.modelValue), e.value)), i = et(() => {\n    var p;\n    if (r.props.multiple) {\n      const v = zi((p = r.props.modelValue) != null ? p : []);\n      return !a.value && v.length >= r.props.multipleLimit && r.props.multipleLimit > 0;\n    } else\n      return !1;\n  }), o = et(() => e.label || (Oi(e.value) ? \"\" : e.value)), l = et(() => e.value || e.label || \"\"), s = et(() => e.disabled || t.groupDisabled || i.value), u = xa(), f = (p = [], v) => {\n    if (Oi(e.value)) {\n      const m = r.props.valueKey;\n      return p && p.some((g) => l1(ho(g, m)) === ho(v, m));\n    } else\n      return p && p.includes(v);\n  }, d = () => {\n    !e.disabled && !n.disabled && (r.states.hoveringIndex = r.optionsArray.indexOf(u.proxy));\n  }, h = (p) => {\n    const v = new RegExp(f7(p), \"i\");\n    t.visible = v.test(o.value) || e.created;\n  };\n  return _r(() => o.value, () => {\n    !e.created && !r.props.remote && r.setSelected();\n  }), _r(() => e.value, (p, v) => {\n    const { remote: m, valueKey: g } = r.props;\n    if (p !== v && (r.onOptionDestroy(v, u.proxy), r.onOptionCreate(u.proxy)), !e.created && !m) {\n      if (g && Oi(p) && Oi(v) && p[g] === v[g])\n        return;\n      r.setSelected();\n    }\n  }), _r(() => n.disabled, () => {\n    t.groupDisabled = n.disabled;\n  }, { immediate: !0 }), {\n    select: r,\n    currentLabel: o,\n    currentValue: l,\n    itemSelected: a,\n    isDisabled: s,\n    hoverItem: d,\n    updateOption: h\n  };\n}\nconst NH = er({\n  name: \"ElOption\",\n  componentName: \"ElOption\",\n  props: {\n    value: {\n      required: !0,\n      type: [String, Number, Boolean, Object]\n    },\n    label: [String, Number],\n    created: Boolean,\n    disabled: Boolean\n  },\n  setup(e) {\n    const t = on(\"select\"), r = Jv(), n = et(() => [\n      t.be(\"dropdown\", \"item\"),\n      t.is(\"disabled\", $e(l)),\n      t.is(\"selected\", $e(o)),\n      t.is(\"hovering\", $e(h))\n    ]), a = ts({\n      index: -1,\n      groupDisabled: !1,\n      visible: !0,\n      hover: !1\n    }), {\n      currentLabel: i,\n      itemSelected: o,\n      isDisabled: l,\n      select: s,\n      hoverItem: u,\n      updateOption: f\n    } = IH(e, a), { visible: d, hover: h } = s1(a), p = xa().proxy;\n    s.onOptionCreate(p), mi(() => {\n      const m = p.value, { selected: g } = s.states, w = (s.props.multiple ? g : [g]).some((k) => k.value === p.value);\n      ja(() => {\n        s.states.cachedOptions.get(m) === p && !w && s.states.cachedOptions.delete(m);\n      }), s.onOptionDestroy(m, p);\n    });\n    function v() {\n      l.value || s.handleOptionSelect(p);\n    }\n    return {\n      ns: t,\n      id: r,\n      containerKls: n,\n      currentLabel: i,\n      itemSelected: o,\n      isDisabled: l,\n      select: s,\n      hoverItem: u,\n      updateOption: f,\n      visible: d,\n      hover: h,\n      selectOptionClick: v,\n      states: a\n    };\n  }\n});\nfunction OH(e, t, r, n, a, i) {\n  return yo((At(), Xt(\"li\", {\n    id: e.id,\n    class: Vt(e.containerKls),\n    role: \"option\",\n    \"aria-disabled\": e.isDisabled || void 0,\n    \"aria-selected\": e.itemSelected,\n    onMouseenter: e.hoverItem,\n    onClick: pa(e.selectOptionClick, [\"stop\"])\n  }, [\n    ur(e.$slots, \"default\", {}, () => [\n      cr(\"span\", null, ga(e.currentLabel), 1)\n    ])\n  ], 42, [\"id\", \"aria-disabled\", \"aria-selected\", \"onMouseenter\", \"onClick\"])), [\n    [ju, e.visible]\n  ]);\n}\nvar $1 = /* @__PURE__ */ jr(NH, [[\"render\", OH], [\"__file\", \"option.vue\"]]);\nconst HH = er({\n  name: \"ElSelectDropdown\",\n  componentName: \"ElSelectDropdown\",\n  setup() {\n    const e = Rr(rp), t = on(\"select\"), r = et(() => e.props.popperClass), n = et(() => e.props.multiple), a = et(() => e.props.fitInputWidth), i = Rt(\"\");\n    function o() {\n      var l;\n      i.value = `${(l = e.selectRef) == null ? void 0 : l.offsetWidth}px`;\n    }\n    return Zn(() => {\n      o(), Wo(e.selectRef, o);\n    }), {\n      ns: t,\n      minWidth: i,\n      popperClass: r,\n      isMultiple: n,\n      isFitInputWidth: a\n    };\n  }\n});\nfunction BH(e, t, r, n, a, i) {\n  return At(), Xt(\"div\", {\n    class: Vt([e.ns.b(\"dropdown\"), e.ns.is(\"multiple\", e.isMultiple), e.popperClass]),\n    style: Hi({ [e.isFitInputWidth ? \"width\" : \"minWidth\"]: e.minWidth })\n  }, [\n    e.$slots.header ? (At(), Xt(\"div\", {\n      key: 0,\n      class: Vt(e.ns.be(\"dropdown\", \"header\"))\n    }, [\n      ur(e.$slots, \"header\")\n    ], 2)) : Fr(\"v-if\", !0),\n    ur(e.$slots, \"default\"),\n    e.$slots.footer ? (At(), Xt(\"div\", {\n      key: 1,\n      class: Vt(e.ns.be(\"dropdown\", \"footer\"))\n    }, [\n      ur(e.$slots, \"footer\")\n    ], 2)) : Fr(\"v-if\", !0)\n  ], 6);\n}\nvar jH = /* @__PURE__ */ jr(HH, [[\"render\", BH], [\"__file\", \"select-dropdown.vue\"]]);\nconst UH = 11, GH = (e, t) => {\n  const { t: r } = P7(), n = Jv(), a = on(\"select\"), i = on(\"input\"), o = ts({\n    inputValue: \"\",\n    options: /* @__PURE__ */ new Map(),\n    cachedOptions: /* @__PURE__ */ new Map(),\n    disabledOptions: /* @__PURE__ */ new Map(),\n    optionValues: [],\n    selected: [],\n    selectionWidth: 0,\n    calculatorWidth: 0,\n    collapseItemWidth: 0,\n    selectedLabel: \"\",\n    hoveringIndex: -1,\n    previousQuery: null,\n    inputHovering: !1,\n    menuVisibleOnFocus: !1,\n    isBeforeHide: !1\n  }), l = Rt(null), s = Rt(null), u = Rt(null), f = Rt(null), d = Rt(null), h = Rt(null), p = Rt(null), v = Rt(null), m = Rt(null), g = Rt(null), y = Rt(null), w = Rt(null), {\n    isComposing: k,\n    handleCompositionStart: x,\n    handleCompositionUpdate: _,\n    handleCompositionEnd: T\n  } = aN({\n    afterComposition: (oe) => ot(oe)\n  }), { wrapperRef: S, isFocused: M } = nN(d, {\n    beforeFocus() {\n      return V.value;\n    },\n    afterFocus() {\n      e.automaticDropdown && !L.value && (L.value = !0, o.menuVisibleOnFocus = !0);\n    },\n    beforeBlur(oe) {\n      var Ce, Be;\n      return ((Ce = u.value) == null ? void 0 : Ce.isFocusInsideContent(oe)) || ((Be = f.value) == null ? void 0 : Be.isFocusInsideContent(oe));\n    },\n    afterBlur() {\n      L.value = !1, o.menuVisibleOnFocus = !1;\n    }\n  }), L = Rt(!1), F = Rt(), { form: $, formItem: I } = n5(), { inputId: O } = yN(e, {\n    formItemContext: I\n  }), { valueOnClear: G, isEmptyValue: K } = fN(e), V = et(() => e.disabled || ($ == null ? void 0 : $.disabled)), z = et(() => Ni(e.modelValue) ? e.modelValue.length > 0 : !K(e.modelValue)), P = et(() => e.clearable && !V.value && o.inputHovering && z.value), R = et(() => e.remote && e.filterable && !e.remoteShowSuffix ? \"\" : e.suffixIcon), H = et(() => a.is(\"reverse\", R.value && L.value)), B = et(() => (I == null ? void 0 : I.validateState) || \"\"), W = et(() => k7[B.value]), ee = et(() => e.remote ? 300 : 0), re = et(() => e.loading ? e.loadingText || r(\"el.select.loading\") : e.remote && !o.inputValue && o.options.size === 0 ? !1 : e.filterable && o.inputValue && o.options.size > 0 && ae.value === 0 ? e.noMatchText || r(\"el.select.noMatch\") : o.options.size === 0 ? e.noDataText || r(\"el.select.noData\") : null), ae = et(() => Q.value.filter((oe) => oe.visible).length), Q = et(() => {\n    const oe = Array.from(o.options.values()), Ce = [];\n    return o.optionValues.forEach((Be) => {\n      const Xe = oe.findIndex((Et) => Et.value === Be);\n      Xe > -1 && Ce.push(oe[Xe]);\n    }), Ce.length >= oe.length ? Ce : oe;\n  }), ue = et(() => Array.from(o.cachedOptions.values())), j = et(() => {\n    const oe = Q.value.filter((Ce) => !Ce.created).some((Ce) => Ce.currentLabel === o.inputValue);\n    return e.filterable && e.allowCreate && o.inputValue !== \"\" && !oe;\n  }), U = () => {\n    e.filterable && ua(e.filterMethod) || e.filterable && e.remote && ua(e.remoteMethod) || Q.value.forEach((oe) => {\n      var Ce;\n      (Ce = oe.updateOption) == null || Ce.call(oe, o.inputValue);\n    });\n  }, Z = L1(), le = et(() => [\"small\"].includes(Z.value) ? \"small\" : \"default\"), J = et({\n    get() {\n      return L.value && re.value !== !1;\n    },\n    set(oe) {\n      L.value = oe;\n    }\n  }), pe = et(() => {\n    if (e.multiple && !qf(e.modelValue))\n      return zi(e.modelValue).length === 0 && !o.inputValue;\n    const oe = Ni(e.modelValue) ? e.modelValue[0] : e.modelValue;\n    return e.filterable || qf(oe) ? !o.inputValue : !0;\n  }), ge = et(() => {\n    var oe;\n    const Ce = (oe = e.placeholder) != null ? oe : r(\"el.select.placeholder\");\n    return e.multiple || !z.value ? Ce : o.selectedLabel;\n  }), ve = et(() => H0 ? null : \"mouseenter\");\n  _r(() => e.modelValue, (oe, Ce) => {\n    e.multiple && e.filterable && !e.reserveKeyword && (o.inputValue = \"\", me(\"\")), ze(), !Y0(oe, Ce) && e.validateEvent && (I == null || I.validate(\"change\").catch((Be) => Gi(Be)));\n  }, {\n    flush: \"post\",\n    deep: !0\n  }), _r(() => L.value, (oe) => {\n    oe ? me(o.inputValue) : (o.inputValue = \"\", o.previousQuery = null, o.isBeforeHide = !0), t(\"visible-change\", oe);\n  }), _r(() => o.options.entries(), () => {\n    var oe;\n    if (!qn)\n      return;\n    const Ce = ((oe = l.value) == null ? void 0 : oe.querySelectorAll(\"input\")) || [];\n    (!e.filterable && !e.defaultFirstOption && !qf(e.modelValue) || !Array.from(Ce).includes(document.activeElement)) && ze(), e.defaultFirstOption && (e.filterable || e.remote) && ae.value && Le();\n  }, {\n    flush: \"post\"\n  }), _r(() => o.hoveringIndex, (oe) => {\n    Ga(oe) && oe > -1 ? F.value = Q.value[oe] || {} : F.value = {}, Q.value.forEach((Ce) => {\n      Ce.hover = F.value === Ce;\n    });\n  }), GR(() => {\n    o.isBeforeHide || U();\n  });\n  const me = (oe) => {\n    o.previousQuery === oe || k.value || (o.previousQuery = oe, e.filterable && ua(e.filterMethod) ? e.filterMethod(oe) : e.filterable && e.remote && ua(e.remoteMethod) && e.remoteMethod(oe), e.defaultFirstOption && (e.filterable || e.remote) && ae.value ? ja(Le) : ja(Oe));\n  }, Le = () => {\n    const oe = Q.value.filter((Xe) => Xe.visible && !Xe.disabled && !Xe.states.groupDisabled), Ce = oe.find((Xe) => Xe.created), Be = oe[0];\n    o.hoveringIndex = tt(Q.value, Ce || Be);\n  }, ze = () => {\n    if (e.multiple)\n      o.selectedLabel = \"\";\n    else {\n      const Ce = Ni(e.modelValue) ? e.modelValue[0] : e.modelValue, Be = Fe(Ce);\n      o.selectedLabel = Be.currentLabel, o.selected = [Be];\n      return;\n    }\n    const oe = [];\n    qf(e.modelValue) || zi(e.modelValue).forEach((Ce) => {\n      oe.push(Fe(Ce));\n    }), o.selected = oe;\n  }, Fe = (oe) => {\n    let Ce;\n    const Be = Sm(oe).toLowerCase() === \"object\", Xe = Sm(oe).toLowerCase() === \"null\", Et = Sm(oe).toLowerCase() === \"undefined\";\n    for (let kt = o.cachedOptions.size - 1; kt >= 0; kt--) {\n      const qt = ue.value[kt];\n      if (Be ? ho(qt.value, e.valueKey) === ho(oe, e.valueKey) : qt.value === oe) {\n        Ce = {\n          value: oe,\n          currentLabel: qt.currentLabel,\n          get isDisabled() {\n            return qt.isDisabled;\n          }\n        };\n        break;\n      }\n    }\n    if (Ce)\n      return Ce;\n    const Pt = Be ? oe.label : !Xe && !Et ? oe : \"\";\n    return {\n      value: oe,\n      currentLabel: Pt\n    };\n  }, Oe = () => {\n    o.hoveringIndex = Q.value.findIndex((oe) => o.selected.some((Ce) => X(Ce) === X(oe)));\n  }, Re = () => {\n    o.selectionWidth = s.value.getBoundingClientRect().width;\n  }, We = () => {\n    o.calculatorWidth = h.value.getBoundingClientRect().width;\n  }, Me = () => {\n    o.collapseItemWidth = y.value.getBoundingClientRect().width;\n  }, Ve = () => {\n    var oe, Ce;\n    (Ce = (oe = u.value) == null ? void 0 : oe.updatePopper) == null || Ce.call(oe);\n  }, qe = () => {\n    var oe, Ce;\n    (Ce = (oe = f.value) == null ? void 0 : oe.updatePopper) == null || Ce.call(oe);\n  }, Qe = () => {\n    o.inputValue.length > 0 && !L.value && (L.value = !0), me(o.inputValue);\n  }, ot = (oe) => {\n    if (o.inputValue = oe.target.value, e.remote)\n      ht();\n    else\n      return Qe();\n  }, ht = r7(() => {\n    Qe();\n  }, ee.value), vt = (oe) => {\n    Y0(e.modelValue, oe) || t(Yv, oe);\n  }, nt = (oe) => n7(oe, (Ce) => !o.disabledOptions.has(Ce)), ft = (oe) => {\n    if (e.multiple && oe.code !== hc.delete && oe.target.value.length <= 0) {\n      const Ce = zi(e.modelValue).slice(), Be = nt(Ce);\n      if (Be < 0)\n        return;\n      const Xe = Ce[Be];\n      Ce.splice(Be, 1), t(Ko, Ce), vt(Ce), t(\"remove-tag\", Xe);\n    }\n  }, Pe = (oe, Ce) => {\n    const Be = o.selected.indexOf(Ce);\n    if (Be > -1 && !V.value) {\n      const Xe = zi(e.modelValue).slice();\n      Xe.splice(Be, 1), t(Ko, Xe), vt(Xe), t(\"remove-tag\", Ce.value);\n    }\n    oe.stopPropagation(), He();\n  }, Ie = (oe) => {\n    oe.stopPropagation();\n    const Ce = e.multiple ? [] : G.value;\n    if (e.multiple)\n      for (const Be of o.selected)\n        Be.isDisabled && Ce.push(Be.value);\n    t(Ko, Ce), vt(Ce), o.hoveringIndex = -1, L.value = !1, t(\"clear\"), He();\n  }, Ne = (oe) => {\n    var Ce;\n    if (e.multiple) {\n      const Be = zi((Ce = e.modelValue) != null ? Ce : []).slice(), Xe = tt(Be, oe.value);\n      Xe > -1 ? Be.splice(Xe, 1) : (e.multipleLimit <= 0 || Be.length < e.multipleLimit) && Be.push(oe.value), t(Ko, Be), vt(Be), oe.created && me(\"\"), e.filterable && !e.reserveKeyword && (o.inputValue = \"\");\n    } else\n      t(Ko, oe.value), vt(oe.value), L.value = !1;\n    He(), !L.value && ja(() => {\n      Je(oe);\n    });\n  }, tt = (oe = [], Ce) => {\n    if (!Oi(Ce))\n      return oe.indexOf(Ce);\n    const Be = e.valueKey;\n    let Xe = -1;\n    return oe.some((Et, Pt) => l1(ho(Et, Be)) === ho(Ce, Be) ? (Xe = Pt, !0) : !1), Xe;\n  }, Je = (oe) => {\n    var Ce, Be, Xe, Et, Pt;\n    const It = Ni(oe) ? oe[0] : oe;\n    let kt = null;\n    if (It != null && It.value) {\n      const qt = Q.value.filter((Ot) => Ot.value === It.value);\n      qt.length > 0 && (kt = qt[0].$el);\n    }\n    if (u.value && kt) {\n      const qt = (Et = (Xe = (Be = (Ce = u.value) == null ? void 0 : Ce.popperRef) == null ? void 0 : Be.contentRef) == null ? void 0 : Xe.querySelector) == null ? void 0 : Et.call(Xe, `.${a.be(\"dropdown\", \"wrap\")}`);\n      qt && h7(qt, kt);\n    }\n    (Pt = w.value) == null || Pt.handleScroll();\n  }, it = (oe) => {\n    o.options.set(oe.value, oe), o.cachedOptions.set(oe.value, oe), oe.disabled && o.disabledOptions.set(oe.value, oe);\n  }, at = (oe, Ce) => {\n    o.options.get(oe) === Ce && o.options.delete(oe);\n  }, Tt = et(() => {\n    var oe, Ce;\n    return (Ce = (oe = u.value) == null ? void 0 : oe.popperRef) == null ? void 0 : Ce.contentRef;\n  }), gt = () => {\n    o.isBeforeHide = !1, ja(() => Je(o.selected));\n  }, He = () => {\n    var oe;\n    (oe = d.value) == null || oe.focus();\n  }, pt = () => {\n    var oe;\n    (oe = d.value) == null || oe.blur();\n  }, bt = (oe) => {\n    Ie(oe);\n  }, Ke = () => {\n    L.value = !1, M.value && pt();\n  }, st = () => {\n    o.inputValue.length > 0 ? o.inputValue = \"\" : L.value = !1;\n  }, rt = () => {\n    V.value || (H0 && (o.inputHovering = !0), o.menuVisibleOnFocus ? o.menuVisibleOnFocus = !1 : L.value = !L.value);\n  }, ct = () => {\n    L.value ? Q.value[o.hoveringIndex] && Ne(Q.value[o.hoveringIndex]) : rt();\n  }, X = (oe) => Oi(oe.value) ? ho(oe.value, e.valueKey) : oe.value, se = et(() => Q.value.filter((oe) => oe.visible).every((oe) => oe.disabled)), ie = et(() => e.multiple ? e.collapseTags ? o.selected.slice(0, e.maxCollapseTags) : o.selected : []), fe = et(() => e.multiple ? e.collapseTags ? o.selected.slice(e.maxCollapseTags) : [] : []), ke = (oe) => {\n    if (!L.value) {\n      L.value = !0;\n      return;\n    }\n    if (!(o.options.size === 0 || o.filteredOptionsCount === 0 || k.value) && !se.value) {\n      oe === \"next\" ? (o.hoveringIndex++, o.hoveringIndex === o.options.size && (o.hoveringIndex = 0)) : oe === \"prev\" && (o.hoveringIndex--, o.hoveringIndex < 0 && (o.hoveringIndex = o.options.size - 1));\n      const Ce = Q.value[o.hoveringIndex];\n      (Ce.disabled === !0 || Ce.states.groupDisabled === !0 || !Ce.visible) && ke(oe), ja(() => Je(F.value));\n    }\n  }, _e = () => {\n    if (!s.value)\n      return 0;\n    const oe = window.getComputedStyle(s.value);\n    return Number.parseFloat(oe.gap || \"6px\");\n  }, Ge = et(() => {\n    const oe = _e();\n    return { maxWidth: `${y.value && e.maxCollapseTags === 1 ? o.selectionWidth - o.collapseItemWidth - oe : o.selectionWidth}px` };\n  }), je = et(() => ({ maxWidth: `${o.selectionWidth}px` })), Ee = et(() => ({\n    width: `${Math.max(o.calculatorWidth, UH)}px`\n  }));\n  return Wo(s, Re), Wo(h, We), Wo(m, Ve), Wo(S, Ve), Wo(g, qe), Wo(y, Me), Zn(() => {\n    ze();\n  }), {\n    inputId: O,\n    contentId: n,\n    nsSelect: a,\n    nsInput: i,\n    states: o,\n    isFocused: M,\n    expanded: L,\n    optionsArray: Q,\n    hoverOption: F,\n    selectSize: Z,\n    filteredOptionsCount: ae,\n    resetCalculatorWidth: We,\n    updateTooltip: Ve,\n    updateTagTooltip: qe,\n    debouncedOnInputChange: ht,\n    onInput: ot,\n    deletePrevTag: ft,\n    deleteTag: Pe,\n    deleteSelected: Ie,\n    handleOptionSelect: Ne,\n    scrollToOption: Je,\n    hasModelValue: z,\n    shouldShowPlaceholder: pe,\n    currentPlaceholder: ge,\n    mouseEnterEventName: ve,\n    showClose: P,\n    iconComponent: R,\n    iconReverse: H,\n    validateState: B,\n    validateIcon: W,\n    showNewOption: j,\n    updateOptions: U,\n    collapseTagSize: le,\n    setSelected: ze,\n    selectDisabled: V,\n    emptyText: re,\n    handleCompositionStart: x,\n    handleCompositionUpdate: _,\n    handleCompositionEnd: T,\n    onOptionCreate: it,\n    onOptionDestroy: at,\n    handleMenuEnter: gt,\n    focus: He,\n    blur: pt,\n    handleClearClick: bt,\n    handleClickOutside: Ke,\n    handleEsc: st,\n    toggleMenu: rt,\n    selectOption: ct,\n    getValueKey: X,\n    navigateOptions: ke,\n    dropdownMenuVisible: J,\n    showTagList: ie,\n    collapseTagList: fe,\n    tagStyle: Ge,\n    collapseTagStyle: je,\n    inputStyle: Ee,\n    popperRef: Tt,\n    inputRef: d,\n    tooltipRef: u,\n    tagTooltipRef: f,\n    calculatorRef: h,\n    prefixRef: p,\n    suffixRef: v,\n    selectRef: l,\n    wrapperRef: S,\n    selectionRef: s,\n    scrollbarRef: w,\n    menuRef: m,\n    tagMenuRef: g,\n    collapseItemRef: y\n  };\n};\nvar VH = er({\n  name: \"ElOptions\",\n  setup(e, { slots: t }) {\n    const r = Rr(rp);\n    let n = [];\n    return () => {\n      var a, i;\n      const o = (a = t.default) == null ? void 0 : a.call(t), l = [];\n      function s(u) {\n        Ni(u) && u.forEach((f) => {\n          var d, h, p, v;\n          const m = (d = (f == null ? void 0 : f.type) || {}) == null ? void 0 : d.name;\n          m === \"ElOptionGroup\" ? s(!Uu(f.children) && !Ni(f.children) && ua((h = f.children) == null ? void 0 : h.default) ? (p = f.children) == null ? void 0 : p.default() : f.children) : m === \"ElOption\" ? l.push((v = f.props) == null ? void 0 : v.value) : Ni(f.children) && s(f.children);\n        });\n      }\n      return o.length && s((i = o[0]) == null ? void 0 : i.children), Y0(l, n) || (n = l, r && (r.states.optionValues = l)), o;\n    };\n  }\n});\nconst qH = qr({\n  name: String,\n  id: String,\n  modelValue: {\n    type: [Array, String, Number, Boolean, Object],\n    default: void 0\n  },\n  autocomplete: {\n    type: String,\n    default: \"off\"\n  },\n  automaticDropdown: Boolean,\n  size: t5,\n  effect: {\n    type: dr(String),\n    default: \"light\"\n  },\n  disabled: Boolean,\n  clearable: Boolean,\n  filterable: Boolean,\n  allowCreate: Boolean,\n  loading: Boolean,\n  popperClass: {\n    type: String,\n    default: \"\"\n  },\n  popperOptions: {\n    type: dr(Object),\n    default: () => ({})\n  },\n  remote: Boolean,\n  loadingText: String,\n  noMatchText: String,\n  noDataText: String,\n  remoteMethod: Function,\n  filterMethod: Function,\n  multiple: Boolean,\n  multipleLimit: {\n    type: Number,\n    default: 0\n  },\n  placeholder: {\n    type: String\n  },\n  defaultFirstOption: Boolean,\n  reserveKeyword: {\n    type: Boolean,\n    default: !0\n  },\n  valueKey: {\n    type: String,\n    default: \"value\"\n  },\n  collapseTags: Boolean,\n  collapseTagsTooltip: Boolean,\n  maxCollapseTags: {\n    type: Number,\n    default: 1\n  },\n  teleported: ma.teleported,\n  persistent: {\n    type: Boolean,\n    default: !0\n  },\n  clearIcon: {\n    type: Tu,\n    default: I3\n  },\n  fitInputWidth: Boolean,\n  suffixIcon: {\n    type: Tu,\n    default: p7\n  },\n  tagType: { ...ty.type, default: \"info\" },\n  tagEffect: { ...ty.effect, default: \"light\" },\n  validateEvent: {\n    type: Boolean,\n    default: !0\n  },\n  remoteShowSuffix: Boolean,\n  placement: {\n    type: dr(String),\n    values: Xv,\n    default: \"bottom-start\"\n  },\n  fallbackPlacements: {\n    type: dr(Array),\n    default: [\"bottom-start\", \"top-start\", \"right\", \"left\"]\n  },\n  appendTo: String,\n  ...uN,\n  ...Qv([\"ariaLabel\"])\n}), Xw = \"ElSelect\", WH = er({\n  name: Xw,\n  componentName: Xw,\n  components: {\n    ElSelectMenu: jH,\n    ElOption: $1,\n    ElOptions: VH,\n    ElTag: dH,\n    ElScrollbar: FN,\n    ElTooltip: c5,\n    ElIcon: Lu\n  },\n  directives: { ClickOutside: lH },\n  props: qH,\n  emits: [\n    Ko,\n    Yv,\n    \"remove-tag\",\n    \"clear\",\n    \"visible-change\",\n    \"focus\",\n    \"blur\"\n  ],\n  setup(e, { emit: t }) {\n    const r = et(() => {\n      const { modelValue: i, multiple: o } = e, l = o ? [] : void 0;\n      return Ni(i) ? o ? i : l : o ? l : i;\n    }), n = ts({\n      ...s1(e),\n      modelValue: r\n    }), a = GH(n, t);\n    return wa(rp, ts({\n      props: n,\n      states: a.states,\n      optionsArray: a.optionsArray,\n      handleOptionSelect: a.handleOptionSelect,\n      onOptionCreate: a.onOptionCreate,\n      onOptionDestroy: a.onOptionDestroy,\n      selectRef: a.selectRef,\n      setSelected: a.setSelected\n    })), {\n      ...a,\n      modelValue: r\n    };\n  }\n});\nfunction ZH(e, t, r, n, a, i) {\n  const o = uo(\"el-tag\"), l = uo(\"el-tooltip\"), s = uo(\"el-icon\"), u = uo(\"el-option\"), f = uo(\"el-options\"), d = uo(\"el-scrollbar\"), h = uo(\"el-select-menu\"), p = VR(\"click-outside\");\n  return yo((At(), Xt(\"div\", {\n    ref: \"selectRef\",\n    class: Vt([e.nsSelect.b(), e.nsSelect.m(e.selectSize)]),\n    [qR(e.mouseEnterEventName)]: (v) => e.states.inputHovering = !0,\n    onMouseleave: (v) => e.states.inputHovering = !1\n  }, [\n    Ar(l, {\n      ref: \"tooltipRef\",\n      visible: e.dropdownMenuVisible,\n      placement: e.placement,\n      teleported: e.teleported,\n      \"popper-class\": [e.nsSelect.e(\"popper\"), e.popperClass],\n      \"popper-options\": e.popperOptions,\n      \"fallback-placements\": e.fallbackPlacements,\n      effect: e.effect,\n      pure: \"\",\n      trigger: \"click\",\n      transition: `${e.nsSelect.namespace.value}-zoom-in-top`,\n      \"stop-popper-mouse-event\": !1,\n      \"gpu-acceleration\": !1,\n      persistent: e.persistent,\n      \"append-to\": e.appendTo,\n      onBeforeShow: e.handleMenuEnter,\n      onHide: (v) => e.states.isBeforeHide = !1\n    }, {\n      default: ir(() => {\n        var v;\n        return [\n          cr(\"div\", {\n            ref: \"wrapperRef\",\n            class: Vt([\n              e.nsSelect.e(\"wrapper\"),\n              e.nsSelect.is(\"focused\", e.isFocused),\n              e.nsSelect.is(\"hovering\", e.states.inputHovering),\n              e.nsSelect.is(\"filterable\", e.filterable),\n              e.nsSelect.is(\"disabled\", e.selectDisabled)\n            ]),\n            onClick: pa(e.toggleMenu, [\"prevent\"])\n          }, [\n            e.$slots.prefix ? (At(), Xt(\"div\", {\n              key: 0,\n              ref: \"prefixRef\",\n              class: Vt(e.nsSelect.e(\"prefix\"))\n            }, [\n              ur(e.$slots, \"prefix\")\n            ], 2)) : Fr(\"v-if\", !0),\n            cr(\"div\", {\n              ref: \"selectionRef\",\n              class: Vt([\n                e.nsSelect.e(\"selection\"),\n                e.nsSelect.is(\"near\", e.multiple && !e.$slots.prefix && !!e.states.selected.length)\n              ])\n            }, [\n              e.multiple ? ur(e.$slots, \"tag\", { key: 0 }, () => [\n                (At(!0), Xt(wo, null, xu(e.showTagList, (m) => (At(), Xt(\"div\", {\n                  key: e.getValueKey(m),\n                  class: Vt(e.nsSelect.e(\"selected-item\"))\n                }, [\n                  Ar(o, {\n                    closable: !e.selectDisabled && !m.isDisabled,\n                    size: e.collapseTagSize,\n                    type: e.tagType,\n                    effect: e.tagEffect,\n                    \"disable-transitions\": \"\",\n                    style: Hi(e.tagStyle),\n                    onClose: (g) => e.deleteTag(g, m)\n                  }, {\n                    default: ir(() => [\n                      cr(\"span\", {\n                        class: Vt(e.nsSelect.e(\"tags-text\"))\n                      }, [\n                        ur(e.$slots, \"label\", {\n                          label: m.currentLabel,\n                          value: m.value\n                        }, () => [\n                          rs(ga(m.currentLabel), 1)\n                        ])\n                      ], 2)\n                    ]),\n                    _: 2\n                  }, 1032, [\"closable\", \"size\", \"type\", \"effect\", \"style\", \"onClose\"])\n                ], 2))), 128)),\n                e.collapseTags && e.states.selected.length > e.maxCollapseTags ? (At(), kr(l, {\n                  key: 0,\n                  ref: \"tagTooltipRef\",\n                  disabled: e.dropdownMenuVisible || !e.collapseTagsTooltip,\n                  \"fallback-placements\": [\"bottom\", \"top\", \"right\", \"left\"],\n                  effect: e.effect,\n                  placement: \"bottom\",\n                  teleported: e.teleported\n                }, {\n                  default: ir(() => [\n                    cr(\"div\", {\n                      ref: \"collapseItemRef\",\n                      class: Vt(e.nsSelect.e(\"selected-item\"))\n                    }, [\n                      Ar(o, {\n                        closable: !1,\n                        size: e.collapseTagSize,\n                        type: e.tagType,\n                        effect: e.tagEffect,\n                        \"disable-transitions\": \"\",\n                        style: Hi(e.collapseTagStyle)\n                      }, {\n                        default: ir(() => [\n                          cr(\"span\", {\n                            class: Vt(e.nsSelect.e(\"tags-text\"))\n                          }, \" + \" + ga(e.states.selected.length - e.maxCollapseTags), 3)\n                        ]),\n                        _: 1\n                      }, 8, [\"size\", \"type\", \"effect\", \"style\"])\n                    ], 2)\n                  ]),\n                  content: ir(() => [\n                    cr(\"div\", {\n                      ref: \"tagMenuRef\",\n                      class: Vt(e.nsSelect.e(\"selection\"))\n                    }, [\n                      (At(!0), Xt(wo, null, xu(e.collapseTagList, (m) => (At(), Xt(\"div\", {\n                        key: e.getValueKey(m),\n                        class: Vt(e.nsSelect.e(\"selected-item\"))\n                      }, [\n                        Ar(o, {\n                          class: \"in-tooltip\",\n                          closable: !e.selectDisabled && !m.isDisabled,\n                          size: e.collapseTagSize,\n                          type: e.tagType,\n                          effect: e.tagEffect,\n                          \"disable-transitions\": \"\",\n                          onClose: (g) => e.deleteTag(g, m)\n                        }, {\n                          default: ir(() => [\n                            cr(\"span\", {\n                              class: Vt(e.nsSelect.e(\"tags-text\"))\n                            }, [\n                              ur(e.$slots, \"label\", {\n                                label: m.currentLabel,\n                                value: m.value\n                              }, () => [\n                                rs(ga(m.currentLabel), 1)\n                              ])\n                            ], 2)\n                          ]),\n                          _: 2\n                        }, 1032, [\"closable\", \"size\", \"type\", \"effect\", \"onClose\"])\n                      ], 2))), 128))\n                    ], 2)\n                  ]),\n                  _: 3\n                }, 8, [\"disabled\", \"effect\", \"teleported\"])) : Fr(\"v-if\", !0)\n              ]) : Fr(\"v-if\", !0),\n              e.selectDisabled ? Fr(\"v-if\", !0) : (At(), Xt(\"div\", {\n                key: 1,\n                class: Vt([\n                  e.nsSelect.e(\"selected-item\"),\n                  e.nsSelect.e(\"input-wrapper\"),\n                  e.nsSelect.is(\"hidden\", !e.filterable)\n                ])\n              }, [\n                yo(cr(\"input\", {\n                  id: e.inputId,\n                  ref: \"inputRef\",\n                  \"onUpdate:modelValue\": (m) => e.states.inputValue = m,\n                  type: \"text\",\n                  name: e.name,\n                  class: Vt([e.nsSelect.e(\"input\"), e.nsSelect.is(e.selectSize)]),\n                  disabled: e.selectDisabled,\n                  autocomplete: e.autocomplete,\n                  style: Hi(e.inputStyle),\n                  role: \"combobox\",\n                  readonly: !e.filterable,\n                  spellcheck: \"false\",\n                  \"aria-activedescendant\": ((v = e.hoverOption) == null ? void 0 : v.id) || \"\",\n                  \"aria-controls\": e.contentId,\n                  \"aria-expanded\": e.dropdownMenuVisible,\n                  \"aria-label\": e.ariaLabel,\n                  \"aria-autocomplete\": \"none\",\n                  \"aria-haspopup\": \"listbox\",\n                  onKeydown: [\n                    eu(pa((m) => e.navigateOptions(\"next\"), [\"stop\", \"prevent\"]), [\"down\"]),\n                    eu(pa((m) => e.navigateOptions(\"prev\"), [\"stop\", \"prevent\"]), [\"up\"]),\n                    eu(pa(e.handleEsc, [\"stop\", \"prevent\"]), [\"esc\"]),\n                    eu(pa(e.selectOption, [\"stop\", \"prevent\"]), [\"enter\"]),\n                    eu(pa(e.deletePrevTag, [\"stop\"]), [\"delete\"])\n                  ],\n                  onCompositionstart: e.handleCompositionStart,\n                  onCompositionupdate: e.handleCompositionUpdate,\n                  onCompositionend: e.handleCompositionEnd,\n                  onInput: e.onInput,\n                  onClick: pa(e.toggleMenu, [\"stop\"])\n                }, null, 46, [\"id\", \"onUpdate:modelValue\", \"name\", \"disabled\", \"autocomplete\", \"readonly\", \"aria-activedescendant\", \"aria-controls\", \"aria-expanded\", \"aria-label\", \"onKeydown\", \"onCompositionstart\", \"onCompositionupdate\", \"onCompositionend\", \"onInput\", \"onClick\"]), [\n                  [WR, e.states.inputValue]\n                ]),\n                e.filterable ? (At(), Xt(\"span\", {\n                  key: 0,\n                  ref: \"calculatorRef\",\n                  \"aria-hidden\": \"true\",\n                  class: Vt(e.nsSelect.e(\"input-calculator\")),\n                  textContent: ga(e.states.inputValue)\n                }, null, 10, [\"textContent\"])) : Fr(\"v-if\", !0)\n              ], 2)),\n              e.shouldShowPlaceholder ? (At(), Xt(\"div\", {\n                key: 2,\n                class: Vt([\n                  e.nsSelect.e(\"selected-item\"),\n                  e.nsSelect.e(\"placeholder\"),\n                  e.nsSelect.is(\"transparent\", !e.hasModelValue || e.expanded && !e.states.inputValue)\n                ])\n              }, [\n                e.hasModelValue ? ur(e.$slots, \"label\", {\n                  key: 0,\n                  label: e.currentPlaceholder,\n                  value: e.modelValue\n                }, () => [\n                  cr(\"span\", null, ga(e.currentPlaceholder), 1)\n                ]) : (At(), Xt(\"span\", { key: 1 }, ga(e.currentPlaceholder), 1))\n              ], 2)) : Fr(\"v-if\", !0)\n            ], 2),\n            cr(\"div\", {\n              ref: \"suffixRef\",\n              class: Vt(e.nsSelect.e(\"suffix\"))\n            }, [\n              e.iconComponent && !e.showClose ? (At(), kr(s, {\n                key: 0,\n                class: Vt([e.nsSelect.e(\"caret\"), e.nsSelect.e(\"icon\"), e.iconReverse])\n              }, {\n                default: ir(() => [\n                  (At(), kr(bo(e.iconComponent)))\n                ]),\n                _: 1\n              }, 8, [\"class\"])) : Fr(\"v-if\", !0),\n              e.showClose && e.clearIcon ? (At(), kr(s, {\n                key: 1,\n                class: Vt([\n                  e.nsSelect.e(\"caret\"),\n                  e.nsSelect.e(\"icon\"),\n                  e.nsSelect.e(\"clear\")\n                ]),\n                onClick: e.handleClearClick\n              }, {\n                default: ir(() => [\n                  (At(), kr(bo(e.clearIcon)))\n                ]),\n                _: 1\n              }, 8, [\"class\", \"onClick\"])) : Fr(\"v-if\", !0),\n              e.validateState && e.validateIcon ? (At(), kr(s, {\n                key: 2,\n                class: Vt([e.nsInput.e(\"icon\"), e.nsInput.e(\"validateIcon\")])\n              }, {\n                default: ir(() => [\n                  (At(), kr(bo(e.validateIcon)))\n                ]),\n                _: 1\n              }, 8, [\"class\"])) : Fr(\"v-if\", !0)\n            ], 2)\n          ], 10, [\"onClick\"])\n        ];\n      }),\n      content: ir(() => [\n        Ar(h, { ref: \"menuRef\" }, {\n          default: ir(() => [\n            e.$slots.header ? (At(), Xt(\"div\", {\n              key: 0,\n              class: Vt(e.nsSelect.be(\"dropdown\", \"header\")),\n              onClick: pa(() => {\n              }, [\"stop\"])\n            }, [\n              ur(e.$slots, \"header\")\n            ], 10, [\"onClick\"])) : Fr(\"v-if\", !0),\n            yo(Ar(d, {\n              id: e.contentId,\n              ref: \"scrollbarRef\",\n              tag: \"ul\",\n              \"wrap-class\": e.nsSelect.be(\"dropdown\", \"wrap\"),\n              \"view-class\": e.nsSelect.be(\"dropdown\", \"list\"),\n              class: Vt([e.nsSelect.is(\"empty\", e.filteredOptionsCount === 0)]),\n              role: \"listbox\",\n              \"aria-label\": e.ariaLabel,\n              \"aria-orientation\": \"vertical\"\n            }, {\n              default: ir(() => [\n                e.showNewOption ? (At(), kr(u, {\n                  key: 0,\n                  value: e.states.inputValue,\n                  created: !0\n                }, null, 8, [\"value\"])) : Fr(\"v-if\", !0),\n                Ar(f, null, {\n                  default: ir(() => [\n                    ur(e.$slots, \"default\")\n                  ]),\n                  _: 3\n                })\n              ]),\n              _: 3\n            }, 8, [\"id\", \"wrap-class\", \"view-class\", \"class\", \"aria-label\"]), [\n              [ju, e.states.options.size > 0 && !e.loading]\n            ]),\n            e.$slots.loading && e.loading ? (At(), Xt(\"div\", {\n              key: 1,\n              class: Vt(e.nsSelect.be(\"dropdown\", \"loading\"))\n            }, [\n              ur(e.$slots, \"loading\")\n            ], 2)) : e.loading || e.filteredOptionsCount === 0 ? (At(), Xt(\"div\", {\n              key: 2,\n              class: Vt(e.nsSelect.be(\"dropdown\", \"empty\"))\n            }, [\n              ur(e.$slots, \"empty\", {}, () => [\n                cr(\"span\", null, ga(e.emptyText), 1)\n              ])\n            ], 2)) : Fr(\"v-if\", !0),\n            e.$slots.footer ? (At(), Xt(\"div\", {\n              key: 3,\n              class: Vt(e.nsSelect.be(\"dropdown\", \"footer\")),\n              onClick: pa(() => {\n              }, [\"stop\"])\n            }, [\n              ur(e.$slots, \"footer\")\n            ], 10, [\"onClick\"])) : Fr(\"v-if\", !0)\n          ]),\n          _: 3\n        }, 512)\n      ]),\n      _: 3\n    }, 8, [\"visible\", \"placement\", \"teleported\", \"popper-class\", \"popper-options\", \"fallback-placements\", \"effect\", \"transition\", \"persistent\", \"append-to\", \"onBeforeShow\", \"onHide\"])\n  ], 16, [\"onMouseleave\"])), [\n    [p, e.handleClickOutside, e.popperRef]\n  ]);\n}\nvar YH = /* @__PURE__ */ jr(WH, [[\"render\", ZH], [\"__file\", \"select.vue\"]]);\nconst XH = er({\n  name: \"ElOptionGroup\",\n  componentName: \"ElOptionGroup\",\n  props: {\n    label: String,\n    disabled: Boolean\n  },\n  setup(e) {\n    const t = on(\"select\"), r = Rt(null), n = xa(), a = Rt([]);\n    wa(b5, ts({\n      ...s1(e)\n    }));\n    const i = et(() => a.value.some((u) => u.visible === !0)), o = (u) => {\n      var f, d;\n      return ((f = u.type) == null ? void 0 : f.name) === \"ElOption\" && !!((d = u.component) != null && d.proxy);\n    }, l = (u) => {\n      const f = zi(u), d = [];\n      return f.forEach((h) => {\n        var p, v;\n        o(h) ? d.push(h.component.proxy) : (p = h.children) != null && p.length ? d.push(...l(h.children)) : (v = h.component) != null && v.subTree && d.push(...l(h.component.subTree));\n      }), d;\n    }, s = () => {\n      a.value = l(n.subTree);\n    };\n    return Zn(() => {\n      s();\n    }), sP(r, s, {\n      attributes: !0,\n      subtree: !0,\n      childList: !0\n    }), {\n      groupRef: r,\n      visible: i,\n      ns: t\n    };\n  }\n});\nfunction KH(e, t, r, n, a, i) {\n  return yo((At(), Xt(\"ul\", {\n    ref: \"groupRef\",\n    class: Vt(e.ns.be(\"group\", \"wrap\"))\n  }, [\n    cr(\"li\", {\n      class: Vt(e.ns.be(\"group\", \"title\"))\n    }, ga(e.label), 3),\n    cr(\"li\", null, [\n      cr(\"ul\", {\n        class: Vt(e.ns.b(\"group\"))\n      }, [\n        ur(e.$slots, \"default\")\n      ], 2)\n    ])\n  ], 2)), [\n    [ju, e.visible]\n  ]);\n}\nvar _5 = /* @__PURE__ */ jr(XH, [[\"render\", KH], [\"__file\", \"option-group.vue\"]]);\nconst Vu = gi(YH, {\n  Option: $1,\n  OptionGroup: _5\n}), qu = Zv($1);\nZv(_5);\nconst JH = qr({\n  trigger: mc.trigger,\n  placement: Om.placement,\n  disabled: mc.disabled,\n  visible: ma.visible,\n  transition: ma.transition,\n  popperOptions: Om.popperOptions,\n  tabindex: Om.tabindex,\n  content: ma.content,\n  popperStyle: ma.popperStyle,\n  popperClass: ma.popperClass,\n  enterable: {\n    ...ma.enterable,\n    default: !0\n  },\n  effect: {\n    ...ma.effect,\n    default: \"light\"\n  },\n  teleported: ma.teleported,\n  title: String,\n  width: {\n    type: [String, Number],\n    default: 150\n  },\n  offset: {\n    type: Number,\n    default: void 0\n  },\n  showAfter: {\n    type: Number,\n    default: 0\n  },\n  hideAfter: {\n    type: Number,\n    default: 200\n  },\n  autoClose: {\n    type: Number,\n    default: 0\n  },\n  showArrow: {\n    type: Boolean,\n    default: !0\n  },\n  persistent: {\n    type: Boolean,\n    default: !0\n  },\n  \"onUpdate:visible\": {\n    type: Function\n  }\n}), QH = {\n  \"update:visible\": (e) => g1(e),\n  \"before-enter\": () => !0,\n  \"before-leave\": () => !0,\n  \"after-enter\": () => !0,\n  \"after-leave\": () => !0\n}, eB = \"onUpdate:visible\", tB = er({\n  name: \"ElPopover\"\n}), rB = /* @__PURE__ */ er({\n  ...tB,\n  props: JH,\n  emits: QH,\n  setup(e, { expose: t, emit: r }) {\n    const n = e, a = et(() => n[eB]), i = on(\"popover\"), o = Rt(), l = et(() => {\n      var g;\n      return (g = $e(o)) == null ? void 0 : g.popperRef;\n    }), s = et(() => [\n      {\n        width: ev(n.width)\n      },\n      n.popperStyle\n    ]), u = et(() => [i.b(), n.popperClass, { [i.m(\"plain\")]: !!n.content }]), f = et(() => n.transition === `${i.namespace.value}-fade-in-linear`), d = () => {\n      var g;\n      (g = o.value) == null || g.hide();\n    }, h = () => {\n      r(\"before-enter\");\n    }, p = () => {\n      r(\"before-leave\");\n    }, v = () => {\n      r(\"after-enter\");\n    }, m = () => {\n      r(\"update:visible\", !1), r(\"after-leave\");\n    };\n    return t({\n      popperRef: l,\n      hide: d\n    }), (g, y) => (At(), kr($e(c5), fs({\n      ref_key: \"tooltipRef\",\n      ref: o\n    }, g.$attrs, {\n      trigger: g.trigger,\n      placement: g.placement,\n      disabled: g.disabled,\n      visible: g.visible,\n      transition: g.transition,\n      \"popper-options\": g.popperOptions,\n      tabindex: g.tabindex,\n      content: g.content,\n      offset: g.offset,\n      \"show-after\": g.showAfter,\n      \"hide-after\": g.hideAfter,\n      \"auto-close\": g.autoClose,\n      \"show-arrow\": g.showArrow,\n      \"aria-label\": g.title,\n      effect: g.effect,\n      enterable: g.enterable,\n      \"popper-class\": $e(u),\n      \"popper-style\": $e(s),\n      teleported: g.teleported,\n      persistent: g.persistent,\n      \"gpu-acceleration\": $e(f),\n      \"onUpdate:visible\": $e(a),\n      onBeforeShow: h,\n      onBeforeHide: p,\n      onShow: v,\n      onHide: m\n    }), {\n      content: ir(() => [\n        g.title ? (At(), Xt(\"div\", {\n          key: 0,\n          class: Vt($e(i).e(\"title\")),\n          role: \"title\"\n        }, ga(g.title), 3)) : Fr(\"v-if\", !0),\n        ur(g.$slots, \"default\", {}, () => [\n          rs(ga(g.content), 1)\n        ])\n      ]),\n      default: ir(() => [\n        g.$slots.reference ? ur(g.$slots, \"reference\", { key: 0 }) : Fr(\"v-if\", !0)\n      ]),\n      _: 3\n    }, 16, [\"trigger\", \"placement\", \"disabled\", \"visible\", \"transition\", \"popper-options\", \"tabindex\", \"content\", \"offset\", \"show-after\", \"hide-after\", \"auto-close\", \"show-arrow\", \"aria-label\", \"effect\", \"enterable\", \"popper-class\", \"popper-style\", \"teleported\", \"persistent\", \"gpu-acceleration\", \"onUpdate:visible\"]));\n  }\n});\nvar nB = /* @__PURE__ */ jr(rB, [[\"__file\", \"popover.vue\"]]);\nconst Kw = (e, t) => {\n  const r = t.arg || t.value, n = r == null ? void 0 : r.popperRef;\n  n && (n.triggerRef = e);\n};\nvar aB = {\n  mounted(e, t) {\n    Kw(e, t);\n  },\n  updated(e, t) {\n    Kw(e, t);\n  }\n};\nconst iB = \"popover\", oB = A7(aB, iB), z1 = gi(nB, {\n  directive: oB\n}), x5 = (e, t) => {\n  const r = e.__vccOpts || e;\n  for (const [n, a] of t)\n    r[n] = a;\n  return r;\n}, lB = [\"xlink:href\"], sB = {\n  __name: \"SvgIcon\",\n  props: {\n    /**\n     * The svg icon to show.\n     */\n    icon: {\n      type: String,\n      required: !0\n    },\n    /**\n     * The option to spin the icon.\n     */\n    spin: {\n      type: Boolean,\n      default: !1\n    }\n  },\n  setup(e) {\n    return (t, r) => (At(), Xt(\"svg\", {\n      class: Vt([\"map-icon\", { \"map-icon-spin\": e.spin }])\n    }, [\n      cr(\"use\", {\n        \"xlink:href\": `#${e.icon}`\n      }, null, 8, lB)\n    ], 2));\n  }\n}, uB = /* @__PURE__ */ x5(sB, [[\"__scopeId\", \"data-v-e172d5ff\"]]), w5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>2horpanel</title>\n    <g id=\"2horpanel\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Group-10-Copy-4\">\n            <g id=\"Group-15-Copy\" fill=\"currentColor\">\n                <circle id=\"Oval-Copy\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n                <text id=\"?\" font-family=\"Asap-Bold, Asap\" font-size=\"16\" font-weight=\"bold\">\n                    <tspan x=\"8.5\" y=\"18\">?</tspan>\n                </text>\n            </g>\n            <rect id=\"Rectangle\" stroke=\"#FFFFFF\" x=\"5\" y=\"7\" width=\"14\" height=\"10\"></rect>\n            <line x1=\"18.5\" y1=\"12\" x2=\"5.5\" y2=\"12\" id=\"Line-10\" stroke=\"#FFFFFF\" stroke-linecap=\"square\"></line>\n        </g>\n    </g>\n</svg>`, T5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>2vertpanel</title>\n    <g id=\"2vertpanel\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Group-10-Copy-3\">\n            <g id=\"Group-15-Copy\" fill=\"currentColor\">\n                <circle id=\"Oval-Copy\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n                <text id=\"?\" font-family=\"Asap-Bold, Asap\" font-size=\"16\" font-weight=\"bold\">\n                    <tspan x=\"8.5\" y=\"18\">?</tspan>\n                </text>\n            </g>\n            <rect id=\"Rectangle\" stroke=\"#FFFFFF\" x=\"5\" y=\"7\" width=\"14\" height=\"10\"></rect>\n            <line x1=\"12\" y1=\"7.5\" x2=\"12\" y2=\"16.5\" id=\"Line-6\" stroke=\"#FFFFFF\" stroke-linecap=\"square\"></line>\n        </g>\n    </g>\n</svg>`, k5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>3panel</title>\n    <g id=\"3panel\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Group-10-Copy\">\n            <g id=\"Group-15-Copy\" fill=\"currentColor\">\n                <circle id=\"Oval-Copy\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n                <text id=\"?\" font-family=\"Asap-Bold, Asap\" font-size=\"16\" font-weight=\"bold\">\n                    <tspan x=\"8.5\" y=\"18\">?</tspan>\n                </text>\n            </g>\n            <rect id=\"Rectangle\" stroke=\"#FFFFFF\" x=\"5\" y=\"7\" width=\"14\" height=\"10\"></rect>\n            <line x1=\"11.5\" y1=\"7.5\" x2=\"11.5\" y2=\"16.5\" id=\"Line-6\" stroke=\"#FFFFFF\" stroke-linecap=\"square\"></line>\n            <line x1=\"18.5\" y1=\"11.5\" x2=\"11.5\" y2=\"11.5\" id=\"Line-10\" stroke=\"#FFFFFF\" stroke-linecap=\"square\"></line>\n        </g>\n    </g>\n</svg>`, A5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>4panel</title>\n    <g id=\"4panel\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Group-10-Copy-2\">\n            <g id=\"Group-15-Copy\" fill=\"currentColor\">\n                <circle id=\"Oval-Copy\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n                <text id=\"?\" font-family=\"Asap-Bold, Asap\" font-size=\"16\" font-weight=\"bold\">\n                    <tspan x=\"8.5\" y=\"18\">?</tspan>\n                </text>\n            </g>\n            <rect id=\"Rectangle\" stroke=\"#FFFFFF\" x=\"5\" y=\"7\" width=\"14\" height=\"10\"></rect>\n            <line x1=\"12\" y1=\"7.5\" x2=\"12\" y2=\"16.5\" id=\"Line-6\" stroke=\"#FFFFFF\" stroke-linecap=\"square\"></line>\n            <line x1=\"18.5\" y1=\"12\" x2=\"5.5\" y2=\"12\" id=\"Line-10\" stroke=\"#FFFFFF\" stroke-linecap=\"square\"></line>\n        </g>\n    </g>\n</svg>`, M5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>2horpanel</title>\n    <g id=\"2horpanel\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Group-10-Copy-4\">\n            <g id=\"Group-15-Copy\" fill=\"currentColor\">\n                <circle id=\"Oval-Copy\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n                <text id=\"?\" font-family=\"Asap-Bold, Asap\" font-size=\"16\" font-weight=\"bold\">\n                    <tspan x=\"8.5\" y=\"18\">?</tspan>\n                </text>\n            </g>\n            <rect id=\"Rectangle\" stroke=\"#FFFFFF\" x=\"5\" y=\"7\" width=\"14\" height=\"10\"></rect>\n            <line x1=\"18.5\" y1=\"12\" x2=\"5.5\" y2=\"12\" id=\"Line-10\" stroke=\"#FFFFFF\" stroke-linecap=\"square\"></line>\n          <line x1=\"12\" y1=\"12.5\" x2=\"12\" y2=\"16.5\" id=\"Line-6\" stroke=\"#FFFFFF\" stroke-linecap=\"square\"></line>\n          <line x1=\"14.5\" y1=\"12\" x2=\"14.5\" y2=\"7\" id=\"Line-6\" stroke=\"#FFFFFF\" stroke-linecap=\"square\"></line>\n          <line x1=\"9.5\" y1=\"12\" x2=\"9.5\" y2=\"7\" id=\"Line-6\" stroke=\"#FFFFFF\" stroke-linecap=\"square\"></line>\n        </g>\n    </g>\n</svg>`, S5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>2horpanel</title>\n    <g id=\"2horpanel\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Group-10-Copy-4\">\n            <g id=\"Group-15-Copy\" fill=\"currentColor\">\n                <circle id=\"Oval-Copy\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n                <text id=\"?\" font-family=\"Asap-Bold, Asap\" font-size=\"16\" font-weight=\"bold\">\n                    <tspan x=\"8.5\" y=\"18\">?</tspan>\n                </text>\n            </g>\n            <rect id=\"Rectangle\" stroke=\"#FFFFFF\" x=\"5\" y=\"7\" width=\"14\" height=\"10\"></rect>\n            <line x1=\"18.5\" y1=\"12\" x2=\"5.5\" y2=\"12\" id=\"Line-10\" stroke=\"#FFFFFF\" stroke-linecap=\"square\"></line>\n          <line x1=\"14.5\" y1=\"16\" x2=\"14.5\" y2=\"7\" id=\"Line-6\" stroke=\"#FFFFFF\" stroke-linecap=\"square\"></line>\n          <line x1=\"9.5\" y1=\"16\" x2=\"9.5\" y2=\"7\" id=\"Line-6\" stroke=\"#FFFFFF\" stroke-linecap=\"square\"></line>\n        </g>\n    </g>\n</svg>`, C5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>4panel</title>\n    <g id=\"4panel\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Group-10-Copy-2\">\n            <g id=\"Group-15-Copy\" fill=\"currentColor\">\n                <circle id=\"Oval-Copy\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n                <text id=\"?\" font-family=\"Asap-Bold, Asap\" font-size=\"16\" font-weight=\"bold\">\n                    <tspan x=\"8.5\" y=\"18\">?</tspan>\n                </text>\n            </g>\n            <rect id=\"Rectangle\" stroke=\"#FFFFFF\" x=\"5\" y=\"7\" width=\"14\" height=\"10\"></rect>\n            <line x1=\"12\" y1=\"7.5\" x2=\"12\" y2=\"16.5\" id=\"Line-6\" stroke=\"#FFFFFF\" stroke-linecap=\"square\"></line>\n            <line x1=\"18.5\" y1=\"10.5\" x2=\"5.5\" y2=\"10.5\" id=\"Line-10\" stroke=\"#FFFFFF\" stroke-linecap=\"square\"></line>\n            <line x1=\"18.5\" y1=\"13.8\" x2=\"5.5\" y2=\"13.8\" id=\"Line-10\" stroke=\"#FFFFFF\" stroke-linecap=\"square\"></line>\n        </g>\n    </g>\n</svg>`, L5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>changeBckgd</title>\n    <g id=\"changeBckgd\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Group-5\">\n            <circle id=\"Oval-Copy\" fill=\"currentColor\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n            <rect id=\"Rectangle\" stroke=\"#FFFFFF\" x=\"7\" y=\"6\" width=\"10\" height=\"7\"></rect>\n            <line x1=\"12\" y1=\"13.5\" x2=\"12\" y2=\"16.5\" id=\"Line-4\" stroke=\"#FFFFFF\" stroke-width=\"2\"></line>\n            <line x1=\"7\" y1=\"16.5\" x2=\"17\" y2=\"16.5\" id=\"Line\" stroke=\"#FFFFFF\" stroke-linecap=\"square\"></line>\n        </g>\n    </g>\n</svg>`, D5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>close no bk</title>\n    <g id=\"close-no-bk\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" stroke-linecap=\"square\">\n        <g id=\"Group-13\" transform=\"translate(12.000000, 12.000000) rotate(-315.000000) translate(-12.000000, -12.000000) translate(5.000000, 5.000000)\" stroke=\"#FFFFFF\" stroke-width=\"2\">\n            <line x1=\"0\" y1=\"7\" x2=\"14\" y2=\"7\" id=\"Line-9\"></line>\n            <line x1=\"7\" y1=\"0\" x2=\"7\" y2=\"14\" id=\"Line-9\"></line>\n        </g>\n    </g>\n</svg>`, E5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>close</title>\n    <g id=\"close\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Group-9\">\n            <g id=\"Group-8\" fill=\"currentColor\">\n                <circle id=\"Oval\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n            </g>\n            <g id=\"Group-13\" transform=\"translate(12.000000, 12.000000) rotate(-315.000000) translate(-12.000000, -12.000000) translate(5.000000, 5.000000)\" stroke=\"#FFFFFF\" stroke-linecap=\"square\" stroke-width=\"2\">\n                <line x1=\"0\" y1=\"7\" x2=\"14\" y2=\"7\" id=\"Line-9\"></line>\n                <line x1=\"7\" y1=\"0\" x2=\"7\" y2=\"14\" id=\"Line-9\"></line>\n            </g>\n        </g>\n    </g>\n</svg>`, F5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>closeFullScreen</title>\n    <g id=\"closeFullScreen\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Group\">\n            <circle id=\"Oval\" fill=\"currentColor\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n            <polyline id=\"Line-5\" stroke=\"#FFFFFF\" stroke-width=\"1.5\" stroke-linecap=\"square\" transform=\"translate(6.750000, 7.750000) rotate(-180.000000) translate(-6.750000, -7.750000) \" points=\"5 9.5 5 6 8.5 6\"></polyline>\n            <polyline id=\"Line-5\" stroke=\"#FFFFFF\" stroke-width=\"1.5\" stroke-linecap=\"square\" transform=\"translate(17.250000, 15.750000) rotate(-360.000000) translate(-17.250000, -15.750000) \" points=\"15.5 17.5 15.5 14 19 14\"></polyline>\n            <polyline id=\"Line-5\" stroke=\"#FFFFFF\" stroke-width=\"1.5\" stroke-linecap=\"square\" transform=\"translate(6.750000, 15.750000) scale(1, -1) rotate(-180.000000) translate(-6.750000, -15.750000) \" points=\"5 17.5 5 14 8.5 14\"></polyline>\n            <polyline id=\"Line-5\" stroke=\"#FFFFFF\" stroke-width=\"1.5\" stroke-linecap=\"square\" transform=\"translate(17.250000, 7.750000) scale(1, -1) rotate(-360.000000) translate(-17.250000, -7.750000) \" points=\"15.5 9.5 15.5 6 19 6\"></polyline>\n        </g>\n    </g>\n</svg>`, R5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"\n    xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>Comment</title>\n    <g id=\"Comment\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <circle id=\"Oval\" fill=\"currentColor\" cx=\"512\" cy=\"512\" r=\"512\"></circle>\n        <path fill=\"#FFFFFF\" transform=\"scale(0.75, 0.75) translate(165, 215)\"\n            d=\"M736 504a56 56 0 1 1 0-112 56 56 0 0 1 0 112m-224 0a56 56 0 1 1 0-112 56 56 0 0 1 0 112m-224 0a56 56 0 1 1 0-112 56 56 0 0 1 0 112M128 128v640h192v160l224-160h352V128z\" />\n    </g>\n</svg>`, P5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"\n    xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>Connection</title>\n    <g id=\"Connection\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <circle id=\"Oval\" fill=\"currentColor\" cx=\"512\" cy=\"512\" r=\"512\"></circle>\n        <path fill=\"#FFFFFF\" transform=\"scale(0.75, 0.75) translate(175, 175)\"\n            d=\"M640 384v64H448a128 128 0 0 0-128 128v128a128 128 0 0 0 128 128h320a128 128 0 0 0 128-128V576a128 128 0 0 0-64-110.848V394.88c74.56 26.368 128 97.472 128 181.056v128a192 192 0 0 1-192 192H448a192 192 0 0 1-192-192V576a192 192 0 0 1 192-192z\" />\n        <path fill=\"#FFFFFF\" transform=\"scale(0.75, 0.75) translate(175, 175)\"\n            d=\"M384 640v-64h192a128 128 0 0 0 128-128V320a128 128 0 0 0-128-128H256a128 128 0 0 0-128 128v128a128 128 0 0 0 64 110.848v70.272A192.064 192.064 0 0 1 64 448V320a192 192 0 0 1 192-192h320a192 192 0 0 1 192 192v128a192 192 0 0 1-192 192z\" />\n    </g>\n</svg>`, $5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>dock</title>\n    <g id=\"dock\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Group-8-Copy-2\">\n            <circle id=\"Oval\" fill=\"currentColor\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n            <g id=\"Group-5\" transform=\"translate(2.972940, 3.512563)\" stroke=\"#FFFFFF\" stroke-linecap=\"square\" stroke-width=\"2\">\n                <line x1=\"10.7289628\" y1=\"7.03553391\" x2=\"14.9716035\" y2=\"2.79289322\" id=\"Line\"></line>\n                <g id=\"Group\" transform=\"translate(14.264497, 3.500000) rotate(-315.000000) translate(-14.264497, -3.500000) translate(11.264497, 2.000000)\">\n                    <line x1=\"2.27373675e-13\" y1=\"2.82842712\" x2=\"2.82842712\" y2=\"0\" id=\"Line\"></line>\n                    <line x1=\"3\" y1=\"0\" x2=\"5.82842712\" y2=\"2.82842712\" id=\"Line\"></line>\n                </g>\n                <line x1=\"7.53553391\" y1=\"10.1584369\" x2=\"3.29289322\" y2=\"14.4010776\" id=\"Line\"></line>\n                <g id=\"Group\" transform=\"translate(4.000000, 13.693971) rotate(-135.000000) translate(-4.000000, -13.693971) translate(1.000000, 12.193971)\">\n                    <line x1=\"2.27373675e-13\" y1=\"2.82842712\" x2=\"2.82842712\" y2=\"0\" id=\"Line\"></line>\n                    <line x1=\"3\" y1=\"0\" x2=\"5.82842712\" y2=\"2.82842712\" id=\"Line\"></line>\n                </g>\n            </g>\n        </g>\n    </g>\n</svg>`, z5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>drawLine</title>\n    <g id=\"drawLine\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <circle id=\"Oval\" fill=\"currentColor\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n        <path fill=\"#FFFFFF\" transform=\"translate(2 2.0625)\" d=\"m13.5 3.5c-1.4 0-2.5 1.1-2.5 2.5 0 .3 0 .6.2.9l-3.8 3.8c-.3-.1-.6-.2-.9-.2-1.4 0-2.5 1.1-2.5 2.5s1.1 2.5 2.5 2.5 2.5-1.1 2.5-2.5c0-.3 0-.6-.2-.9l3.8-3.8c.3.1.6.2.9.2 1.4 0 2.5-1.1 2.5-2.5s-1.1-2.5-2.5-2.5z\" />\n    </g>\n</svg>`, I5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>drawPoint</title>\n    <g id=\"drawPoint\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <circle id=\"Oval\" fill=\"currentColor\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n        <path fill=\"#FFFFFF\" transform=\"translate(1.875 2.5)\" d=\"m10 2c-3.3 0-6 2.7-6 6s6 9 6 9 6-5.7 6-9-2.7-6-6-6zm0 2c2.1 0 3.8 1.7 3.8 3.8 0 1.5-1.8 3.9-2.9 5.2h-1.7c-1.1-1.4-2.9-3.8-2.9-5.2-.1-2.1 1.6-3.8 3.7-3.8z\" />\n    </g>\n</svg>`, N5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>drawPolygon</title>\n    <g id=\"drawPolygon\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <circle id=\"Oval\" fill=\"currentColor\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n        <path fill=\"#FFFFFF\" transform=\"translate(1.875 1.625)\" d=\"m15 12.3v-4.6c.6-.3 1-1 1-1.7 0-1.1-.9-2-2-2-.7 0-1.4.4-1.7 1h-4.6c-.3-.6-1-1-1.7-1-1.1 0-2 .9-2 2 0 .7.4 1.4 1 1.7v4.6c-.6.3-1 1-1 1.7 0 1.1.9 2 2 2 .7 0 1.4-.4 1.7-1h4.6c.3.6 1 1 1.7 1 1.1 0 2-.9 2-2 0-.7-.4-1.4-1-1.7zm-8-.3v-4l1-1h4l1 1v4l-1 1h-4z\" />\n    </g>\n</svg>`, O5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>drawTrash</title>\n    <g id=\"drawTrash\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <circle id=\"Oval\" fill=\"currentColor\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n        <path fill=\"#FFFFFF\" transform=\"translate(2 1.5)\" d=\"M10,3.4 c-0.8,0-1.5,0.5-1.8,1.2H5l-1,1v1h12v-1l-1-1h-3.2C11.5,3.9,10.8,3.4,10,3.4z M5,8v7c0,1,1,2,2,2h6c1,0,2-1,2-2V8h-2v5.5h-1.5V8h-3 v5.5H7V8H5z\" />\n    </g>\n</svg>`, H5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>fitWindow</title>\n    <g id=\"fitWindow\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Group-3\">\n            <g id=\"Group-8-Copy\">\n                <circle id=\"Oval\" fill=\"currentColor\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n                <g id=\"Group\" transform=\"translate(5.000000, 6.000000)\" stroke=\"#FFFFFF\" stroke-linecap=\"square\" stroke-width=\"1.5\">\n                    <polyline id=\"Line-5\" points=\"0 3.5 0 0 4.80123862 0\"></polyline>\n                    <polyline id=\"Line-5\" transform=\"translate(2.400619, 9.750000) scale(1, -1) translate(-2.400619, -9.750000) \" points=\"0 11.5 0 8 4.80123862 8\"></polyline>\n                    <polyline id=\"Line-5\" transform=\"translate(11.600619, 1.750000) scale(1, -1) rotate(-180.000000) translate(-11.600619, -1.750000) \" points=\"9.2 3.5 9.2 0 14.0012386 0\"></polyline>\n                </g>\n            </g>\n            <g id=\"Group-12\" transform=\"translate(9.000000, 8.500000)\" stroke=\"#FFFFFF\" stroke-width=\"2\">\n                <circle id=\"Oval\" cx=\"3.5\" cy=\"3.5\" r=\"3.5\"></circle>\n                <line x1=\"8.75\" y1=\"8.75\" x2=\"6.25\" y2=\"6.25\" id=\"Line-8\" stroke-linecap=\"square\"></line>\n            </g>\n        </g>\n    </g>\n</svg>`, B5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>fullScreen</title>\n    <g id=\"fullScreen\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Group-8-Copy\">\n            <circle id=\"Oval\" fill=\"currentColor\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n            <g id=\"Group\" transform=\"translate(5.000000, 6.000000)\" stroke=\"#FFFFFF\" stroke-linecap=\"square\" stroke-width=\"1.5\">\n                <polyline id=\"Line-5\" points=\"7.68274333e-14 3.5 7.68274333e-14 0 4.80123862 0\"></polyline>\n                <polyline id=\"Line-5\" transform=\"translate(11.600619, 9.750000) rotate(-180.000000) translate(-11.600619, -9.750000) \" points=\"9.2 11.5 9.2 8 14.0012386 8\"></polyline>\n                <polyline id=\"Line-5\" transform=\"translate(2.400619, 9.750000) scale(1, -1) translate(-2.400619, -9.750000) \" points=\"7.68274333e-14 11.5 7.68274333e-14 8 4.80123862 8\"></polyline>\n                <polyline id=\"Line-5\" transform=\"translate(11.600619, 1.750000) scale(1, -1) rotate(-180.000000) translate(-11.600619, -1.750000) \" points=\"9.2 3.5 9.2 0 14.0012386 0\"></polyline>\n            </g>\n        </g>\n    </g>\n</svg>`, j5 = '<svg id=\"icons\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><title>DataPortal-Icons</title><circle cx=\"12\" cy=\"15.824\" r=\"0.753\"/><path d=\"M12,14.256a.75.75,0,0,1-.75-.75v-1c0-.529.419-.818.862-1.124.623-.43,1.138-.83,1.138-1.376A1.209,1.209,0,0,0,12,8.756a1.252,1.252,0,0,0-1.25,1.25.75.75,0,0,1-1.5,0A2.753,2.753,0,0,1,12,7.256a2.721,2.721,0,0,1,2.75,2.75,3.3,3.3,0,0,1-1.786,2.61c-.079.055-.152.1-.214.147v.743A.75.75,0,0,1,12,14.256Z\"/><path d=\"M12,5a7,7,0,1,1-7,7,7.008,7.008,0,0,1,7-7m0-2a9,9,0,1,0,9,9,9,9,0,0,0-9-9Z\"/></svg>', U5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>magnifyingGlass</title>\n    <g id=\"magnifyingGlass\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Group-19-Copy\">\n            <g id=\"Group-13-Copy\">\n                <circle id=\"Oval-Copy-2\" fill=\"currentColor\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n                <g id=\"Group-12\" transform=\"translate(5.000000, 4.000000)\" stroke=\"#FFFFFF\" stroke-width=\"2\">\n                    <circle id=\"Oval\" cx=\"5.5\" cy=\"5.5\" r=\"5.5\"></circle>\n                    <line x1=\"13.5833333\" y1=\"13.5833333\" x2=\"9.41666667\" y2=\"9.41666667\" id=\"Line-8\" stroke-linecap=\"square\"></line>\n                </g>\n            </g>\n        </g>\n    </g>\n</svg>`, G5 = `<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.0\" x=\"0px\" y=\"0px\" viewBox=\"0 0 960 1200\" enable-background=\"new 0 0 960 960\" xml:space=\"preserve\"><g><path fill=\"#000000\" d=\"M670,499.992c0,5.5-4.5,10-10,10H300c-5.516,0-10-4.5-10-10v-40c0-5.5,4.484-10,10-10h360   c5.5,0,10,4.5,10,10V499.992z\"/><path fill=\"#000000\" d=\"M530,649.992c0,5.5-4.5,10-10,10h-80c-5.516,0-10-4.5-10-10v-40c0-5.5,4.484-10,10-10h80   c5.5,0,10,4.5,10,10V649.992z\"/><path fill=\"#000000\" d=\"M780,350.008c0,5.5-4.5,10-10,10H190c-5.516,0-10-4.5-10-10v-40c0-5.516,4.484-10,10-10h580   c5.5,0,10,4.484,10,10V350.008z\"/></g><text x=\"0\" y=\"975\" fill=\"#000000\" font-size=\"5px\" font-weight=\"bold\" font-family=\"'Helvetica Neue', Helvetica, Arial-Unicode, Arial, Sans-serif\">Created by Wahyu Prihantoro</text><text x=\"0\" y=\"980\" fill=\"#000000\" font-size=\"5px\" font-weight=\"bold\" font-family=\"'Helvetica Neue', Helvetica, Arial-Unicode, Arial, Sans-serif\">from the Noun Project</text></svg>`, V5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>openMap</title>\n    <g id=\"openMap\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Group-5-Copy\" fill=\"currentColor\">\n            <circle id=\"Oval-Copy\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n        </g>\n        <rect id=\"Rectangle\" stroke=\"#FFFFFF\" x=\"5\" y=\"10\" width=\"10\" height=\"7\"></rect>\n        <rect id=\"Rectangle-Copy\" stroke=\"#FFFFFF\" x=\"9\" y=\"6\" width=\"10\" height=\"7\"></rect>\n    </g>\n</svg>`, q5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>Artboard Copy 6</title>\n    <g id=\"Artboard-Copy-6\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Group-5-Copy\" fill=\"currentColor\">\n            <circle id=\"Oval-Copy\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n        </g>\n        <line x1=\"9\" y1=\"8\" x2=\"9\" y2=\"16\" id=\"Line-6-Copy-2\" stroke=\"#FFFFFF\" stroke-width=\"2\" stroke-linecap=\"square\"></line>\n        <line x1=\"15\" y1=\"8\" x2=\"15\" y2=\"16\" id=\"Line-6-Copy-3\" stroke=\"#FFFFFF\" stroke-width=\"2\" stroke-linecap=\"square\"></line>\n    </g>\n</svg>`, W5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>permalink</title>\n    <g id=\"permalink\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <circle id=\"Oval\" fill=\"currentColor\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n        <line x1=\"12.5\" y1=\"9\" x2=\"12.5\" y2=\"15\" id=\"Line-6-Copy-2\" stroke=\"#FFFFFF\" stroke-width=\"2\" stroke-linecap=\"square\" transform=\"translate(12.500000, 12.000000) rotate(45.000000) translate(-12.500000, -12.000000) \"></line>\n        <path d=\"M17,13 L17,16.5 C17,18.9852814 14.9852814,21 12.5,21 C10.0147186,21 8,18.9852814 8,16.5 L8,13 L10,13 L10,16.5 C10,17.8807119 11.1192881,19 12.5,19 C13.8254834,19 14.9100387,17.9684641 14.9946823,16.6643757 L15,16.5 L15,13 L17,13 Z M12.5,3 C14.9852814,3 17,5.01471863 17,7.5 L17,11 L15,11 L15,7.5 C15,6.11928813 13.8807119,5 12.5,5 C11.1745166,5 10.0899613,6.03153594 10.0053177,7.33562431 L10,7.5 L10,11 L8,11 L8,7.5 C8,5.01471863 10.0147186,3 12.5,3 Z\" id=\"Combined-Shape\" fill=\"#FFFFFF\" transform=\"translate(12.500000, 12.000000) rotate(45.000000) translate(-12.500000, -12.000000) \"></path>\n    </g>\n</svg>`, Z5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>play</title>\n    <g id=\"play\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Group-9\">\n            <g id=\"Group-5-Copy\" fill=\"currentColor\">\n                <circle id=\"Oval-Copy\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n            </g>\n            <polygon id=\"Triangle\" fill=\"#FFFFFF\" class=\"st0\" transform=\"translate(13.000000, 11.500000) rotate(-270.000000) translate(-13.000000, -11.500000) \" points=\"13 8 19 15 7 15\"></polygon>\n        </g>\n    </g>\n</svg>`, Y5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>resetZoom</title>\n    <g id=\"resetZoom\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Group-13-Copy-2\">\n            <circle id=\"Oval-Copy-2\" fill=\"currentColor\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n            <g id=\"Group-12\" transform=\"translate(5.000000, 4.000000)\" stroke=\"#FFFFFF\" stroke-width=\"2\">\n                <circle id=\"Oval\" cx=\"5.5\" cy=\"5.5\" r=\"5.5\"></circle>\n                <line x1=\"13.5833333\" y1=\"13.5833333\" x2=\"9.41666667\" y2=\"9.41666667\" id=\"Line-8\" stroke-linecap=\"square\"></line>\n            </g>\n            <g id=\"Group-4\" transform=\"translate(7.500000, 7.000000)\">\n                <path d=\"M3,5 C3.83613696,5 4.57640148,4.58952131 5.03027306,3.95908443 C5.19488093,3.73044075 5.32181864,3.47286529 5.40199763,3.19544657 C5.46580562,2.97467142 5.5,2.74132897 5.5,2.5 C5.5,2.26693547 5.46810753,2.04131982 5.40844867,1.82727914 C5.31560782,1.49418996 5.15552386,1.18913241 4.9437468,0.927656488 C4.48541251,0.361762414 3.78495332,0 3,0 C1.61928813,0 0.5,1.11928813 0.5,2.5 C0.5,3.88071187 1.61928813,5 3,5 Z\" id=\"Oval\" stroke=\"#FFFFFF\"></path>\n                <rect id=\"Rectangle\" fill=\"currentColor\" x=\"2.5\" y=\"2\" width=\"4\" height=\"1\"></rect>\n                <line x1=\"5.5\" y1=\"1.5\" x2=\"5.5\" y2=\"0.5\" id=\"Line-7\" stroke=\"#FFFFFF\" stroke-linecap=\"square\"></line>\n                <line x1=\"4.5\" y1=\"1.5\" x2=\"5.5\" y2=\"1.5\" id=\"Line-7\" stroke=\"#FFFFFF\" stroke-linecap=\"square\"></line>\n            </g>\n        </g>\n    </g>\n</svg>`, X5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>singlepanel</title>\n    <g id=\"singlepanel\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Group-10-Copy-5\">\n            <g id=\"Group-15-Copy\" fill=\"currentColor\">\n                <circle id=\"Oval-Copy\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n                <text id=\"?\" font-family=\"Asap-Bold, Asap\" font-size=\"16\" font-weight=\"bold\">\n                    <tspan x=\"8.5\" y=\"18\">?</tspan>\n                </text>\n            </g>\n            <rect id=\"Rectangle\" stroke=\"#FFFFFF\" x=\"5\" y=\"7\" width=\"14\" height=\"10\"></rect>\n        </g>\n    </g>\n</svg>`, K5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>tooltips</title>\n    <g id=\"tooltips\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Group-15\">\n            <circle id=\"Oval-Copy\" fill=\"currentColor\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n            <path d=\"M6,5 L18,5 C19.1045695,5 20,5.8954305 20,7 L20,15.5714286 C20,16.6759981 19.1045695,17.5714286 18,17.5714286 L15.4003471,17.5714286 L15.4003471,17.5714286 L12.8157442,20.271248 C12.4338253,20.6701921 11.8008107,20.6839938 11.4018666,20.3020749 C11.3997428,20.3000417 11.3976279,20.2979991 11.3955221,20.2959473 L8.59934577,17.5714286 L8.59934577,17.5714286 L6,17.5714286 C4.8954305,17.5714286 4,16.6759981 4,15.5714286 L4,7 C4,5.8954305 4.8954305,5 6,5 Z\" id=\"Rectangle\" fill=\"#FFFFFF\"></path>\n            <text id=\"?\" font-family=\"Asap-Bold, Asap\" font-size=\"16\" font-weight=\"bold\" fill=\"currentColor\">\n                <tspan x=\"8.5\" y=\"18\">?</tspan>\n            </text>\n        </g>\n    </g>\n</svg>`, J5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>undock</title>\n    <g id=\"undock\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Group-9\">\n            <circle id=\"Oval\" fill=\"currentColor\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n            <g id=\"Group-5\" transform=\"translate(5.500000, 6.000000)\" stroke=\"#FFFFFF\" stroke-linecap=\"square\" stroke-width=\"2\">\n                <line x1=\"0.728962778\" y1=\"12.0355339\" x2=\"4.97160346\" y2=\"7.79289322\" id=\"Line\"></line>\n                <g id=\"Group\" transform=\"translate(4.264497, 8.500000) rotate(-315.000000) translate(-4.264497, -8.500000) translate(1.264497, 7.000000)\">\n                    <line x1=\"2.27373675e-13\" y1=\"2.82842712\" x2=\"2.82842712\" y2=\"0\" id=\"Line\"></line>\n                    <line x1=\"3\" y1=\"0\" x2=\"5.82842712\" y2=\"2.82842712\" id=\"Line\"></line>\n                </g>\n                <line x1=\"12.5355339\" y1=\"0.158436893\" x2=\"8.29289322\" y2=\"4.40107758\" id=\"Line\"></line>\n                <g id=\"Group\" transform=\"translate(9.000000, 3.693971) rotate(-135.000000) translate(-9.000000, -3.693971) translate(6.000000, 2.193971)\">\n                    <line x1=\"2.27373675e-13\" y1=\"2.82842712\" x2=\"2.82842712\" y2=\"0\" id=\"Line\"></line>\n                    <line x1=\"3\" y1=\"0\" x2=\"5.82842712\" y2=\"2.82842712\" id=\"Line\"></line>\n                </g>\n            </g>\n        </g>\n    </g>\n</svg>`, Q5 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>zoomIn</title>\n    <g id=\"zoomIn\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Group-19-Copy\">\n            <g id=\"Group-13-Copy\">\n                <circle id=\"Oval-Copy-2\" fill=\"currentColor\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n                <g id=\"Group-12\" transform=\"translate(5.000000, 4.000000)\" stroke=\"#FFFFFF\" stroke-width=\"2\">\n                    <circle id=\"Oval\" cx=\"5.5\" cy=\"5.5\" r=\"5.5\"></circle>\n                    <line x1=\"13.5833333\" y1=\"13.5833333\" x2=\"9.41666667\" y2=\"9.41666667\" id=\"Line-8\" stroke-linecap=\"square\"></line>\n                </g>\n            </g>\n            <line x1=\"9\" y1=\"9.5\" x2=\"12\" y2=\"9.5\" id=\"Line-6-Copy-2\" stroke=\"#FFFFFF\" stroke-width=\"2\" stroke-linecap=\"square\"></line>\n            <line x1=\"9\" y1=\"9.5\" x2=\"12\" y2=\"9.5\" id=\"Line-6-Copy-2\" stroke=\"#FFFFFF\" stroke-width=\"2\" stroke-linecap=\"square\" transform=\"translate(10.500000, 9.500000) rotate(90.000000) translate(-10.500000, -9.500000) \"></line>\n        </g>\n    </g>\n</svg>`, eC = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <title>zoomOut</title>\n    <g id=\"zoomOut\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Group-19-Copy-3\">\n            <g id=\"Group-13-Copy\">\n                <circle id=\"Oval-Copy-2\" fill=\"currentColor\" cx=\"12\" cy=\"12\" r=\"12\"></circle>\n                <g id=\"Group-12\" transform=\"translate(5.000000, 4.000000)\" stroke=\"#FFFFFF\" stroke-width=\"2\">\n                    <circle id=\"Oval\" cx=\"5.5\" cy=\"5.5\" r=\"5.5\"></circle>\n                    <line x1=\"13.5833333\" y1=\"13.5833333\" x2=\"9.41666667\" y2=\"9.41666667\" id=\"Line-8\" stroke-linecap=\"square\"></line>\n                </g>\n            </g>\n            <line x1=\"9\" y1=\"9.5\" x2=\"12\" y2=\"9.5\" id=\"Line-6-Copy-2\" stroke=\"#FFFFFF\" stroke-width=\"2\" stroke-linecap=\"square\"></line>\n        </g>\n    </g>\n</svg>`, tC = (e, t, r, n) => {\n  const a = [\"title\", \"desc\", \"defs\", \"style\"], i = [\"width\", \"height\"], o = n || [];\n  let l = document.createElement(\"div\");\n  l.innerHTML = e, a.map((u) => {\n    const f = l.querySelector(u);\n    f && f.remove();\n  }), i.map((u) => {\n    l.querySelector(\"svg\").removeAttribute(u);\n  }), n && o.map((u) => {\n    Object.values(l.querySelectorAll(`[${u}]`)).map((f) => {\n      f.removeAttribute(u);\n    });\n  });\n  const s = l.innerHTML;\n  return l = null, s;\n}, rC = (e) => [\n  // Remove XML stuffs and comments\n  [/<\\?xml[\\s\\S]*?>/gi, \"\"],\n  [/<!doctype[\\s\\S]*?>/gi, \"\"],\n  [/<!--.*-->/gi, \"\"],\n  // SVG XML -> HTML5\n  [/\\<([A-Za-z]+)([^\\>]*)\\/\\>/g, \"<$1$2></$1>\"],\n  // convert self-closing XML SVG nodes to explicitly closed HTML5 SVG nodes\n  [/\\s+/g, \" \"],\n  // replace whitespace sequences with a single space\n  [/\\> \\</g, \"><\"]\n  // remove whitespace between tags\n].reduce((t, r) => \"\".replace.apply(t, r), e).trim(), fB = !0, cB = !0, dB = [\"fill\"], ry = /* @__PURE__ */ Object.assign({\n  \"/assets/icons/2horpanel.svg\": w5,\n  \"/assets/icons/2vertpanel.svg\": T5,\n  \"/assets/icons/3panel.svg\": k5,\n  \"/assets/icons/4panel.svg\": A5,\n  \"/assets/icons/5panel.svg\": M5,\n  \"/assets/icons/6panel.svg\": S5,\n  \"/assets/icons/6panelVertical.svg\": C5,\n  \"/assets/icons/changeBckgd.svg\": L5,\n  \"/assets/icons/close-no-bk.svg\": D5,\n  \"/assets/icons/close.svg\": E5,\n  \"/assets/icons/closeFullScreen.svg\": F5,\n  \"/assets/icons/comment.svg\": R5,\n  \"/assets/icons/connection.svg\": P5,\n  \"/assets/icons/dock.svg\": $5,\n  \"/assets/icons/drawLine.svg\": z5,\n  \"/assets/icons/drawPoint.svg\": I5,\n  \"/assets/icons/drawPolygon.svg\": N5,\n  \"/assets/icons/drawTrash.svg\": O5,\n  \"/assets/icons/fitWindow.svg\": H5,\n  \"/assets/icons/fullScreen.svg\": B5,\n  \"/assets/icons/help.svg\": j5,\n  \"/assets/icons/magnifyingGlass.svg\": U5,\n  \"/assets/icons/noun-filter.svg\": G5,\n  \"/assets/icons/openMap.svg\": V5,\n  \"/assets/icons/pause.svg\": q5,\n  \"/assets/icons/permalink.svg\": W5,\n  \"/assets/icons/play.svg\": Z5,\n  \"/assets/icons/resetZoom.svg\": Y5,\n  \"/assets/icons/singlepanel.svg\": X5,\n  \"/assets/icons/tooltips.svg\": K5,\n  \"/assets/icons/undock.svg\": J5,\n  \"/assets/icons/zoomIn.svg\": Q5,\n  \"/assets/icons/zoomOut.svg\": eC\n}), hB = Object.keys(ry).map((e) => {\n  const t = tC(ry[e], fB, cB, dB), r = e.replace(/^.+\\/(\\w+).svg$/, \"$1\");\n  return rC(t).replace(\"<svg\", `<symbol id=\"${r}\"`).replace(\"svg>\", \"symbol>\");\n});\nhB.join(`\n`);\nconst ny = /* @__PURE__ */ Object.assign({\n  \"/assets/icons/2horpanel.svg\": w5,\n  \"/assets/icons/2vertpanel.svg\": T5,\n  \"/assets/icons/3panel.svg\": k5,\n  \"/assets/icons/4panel.svg\": A5,\n  \"/assets/icons/5panel.svg\": M5,\n  \"/assets/icons/6panel.svg\": S5,\n  \"/assets/icons/6panelVertical.svg\": C5,\n  \"/assets/icons/changeBckgd.svg\": L5,\n  \"/assets/icons/close-no-bk.svg\": D5,\n  \"/assets/icons/close.svg\": E5,\n  \"/assets/icons/closeFullScreen.svg\": F5,\n  \"/assets/icons/comment.svg\": R5,\n  \"/assets/icons/connection.svg\": P5,\n  \"/assets/icons/dock.svg\": $5,\n  \"/assets/icons/drawLine.svg\": z5,\n  \"/assets/icons/drawPoint.svg\": I5,\n  \"/assets/icons/drawPolygon.svg\": N5,\n  \"/assets/icons/drawTrash.svg\": O5,\n  \"/assets/icons/fitWindow.svg\": H5,\n  \"/assets/icons/fullScreen.svg\": B5,\n  \"/assets/icons/help.svg\": j5,\n  \"/assets/icons/magnifyingGlass.svg\": U5,\n  \"/assets/icons/noun-filter.svg\": G5,\n  \"/assets/icons/openMap.svg\": V5,\n  \"/assets/icons/pause.svg\": q5,\n  \"/assets/icons/permalink.svg\": W5,\n  \"/assets/icons/play.svg\": Z5,\n  \"/assets/icons/resetZoom.svg\": Y5,\n  \"/assets/icons/singlepanel.svg\": X5,\n  \"/assets/icons/tooltips.svg\": K5,\n  \"/assets/icons/undock.svg\": J5,\n  \"/assets/icons/zoomIn.svg\": Q5,\n  \"/assets/icons/zoomOut.svg\": eC\n}), vB = Object.keys(ny).map((e) => {\n  const t = tC(ny[e]), r = e.replace(/^.+\\/(\\w+).svg$/, \"$1\");\n  return rC(t).replace(\"<svg\", `<symbol id=\"${r}\"`).replace(\"svg>\", \"symbol>\");\n}), pB = {\n  name: \"MapSvgSpriteColor\",\n  svgContext: ny,\n  svgSprite: vB.join(`\n`)\n  // concatenate all symbols into $options.svgSprite\n}, mB = [\"innerHTML\"];\nfunction gB(e, t, r, n, a, i) {\n  return At(), Xt(\"svg\", {\n    width: \"0\",\n    height: \"0\",\n    style: { display: \"none\" },\n    innerHTML: e.$options.svgSprite\n  }, null, 8, mB);\n}\nconst yB = /* @__PURE__ */ x5(pB, [[\"render\", gB]]), np = (e, t) => {\n  const r = e.__vccOpts || e;\n  for (const [n, a] of t)\n    r[n] = a;\n  return r;\n}, bB = {\n  name: \"PlotControls\",\n  components: {\n    MapSvgSpriteColor: yB,\n    MapSvgIcon: uB,\n    ElSelect: Vu,\n    ElOption: qu,\n    ElCollapse: g5,\n    ElCollapseItem: y5,\n    ElButton: Gc,\n    ElPopover: z1\n  },\n  props: {\n    parentElement: {\n      type: Object,\n      required: !0\n    },\n    controlsEnabled: {\n      type: Boolean,\n      required: !0\n    }\n  },\n  data: function() {\n    return {\n      hoverVisibilities: [{ value: !1 }, { value: !1 }, { value: !1 }, { value: !1 }, { value: !1 }],\n      zoomSelect: [\n        {\n          value: \"1\",\n          label: \"100%\"\n        }\n      ],\n      selectZoom: \"100%\",\n      zoom: 100,\n      maxZoom: 800,\n      zoomInDisabled: !1,\n      zoomOutDisabled: !0\n    };\n  },\n  methods: {\n    // zoomIn: Find and click the plotly modebar 'zoom in'\n    zoomIn: function() {\n      this.zoom += 100, this.parentElement.element.querySelector('a[data-attr=\"zoom\"][data-val=\"in\"]').click(), this.setDisabledButtons(this.zoom), this.updateZoomSelect(this.zoom);\n    },\n    // zoomOut: Find and click the plotly modebar 'zoom out'\n    zoomOut: function() {\n      this.zoom -= 100, this.parentElement.element.querySelector('a[data-attr=\"zoom\"][data-val=\"out\"]').click(), this.setDisabledButtons(this.zoom), this.updateZoomSelect(this.zoom);\n    },\n    // setDisabledButtons(zoomLevel): Disable buttons once they hit max zoom\n    setDisabledButtons(e) {\n      e >= this.maxZoom ? this.zoomInDisabled = !0 : this.zoomInDisabled = !1, e <= 0 ? this.zoomOutDisabled = !0 : this.zoomOutDisabled = !1;\n    },\n    resetView: function() {\n      this.zoom = 100, this.parentElement.element.querySelector('a[data-attr=\"zoom\"][data-val=\"reset\"]').click(), this.setDisabledButtons(this.zoom), this.updateZoomSelect(this.zoom);\n    },\n    percentToNum(e) {\n      return Number(e.slice(0, -1));\n    },\n    selectZoomChange: function(e) {\n      if (e === \"100%\") {\n        this.resetView();\n        return;\n      }\n      let t = this.percentToNum(e), r = Math.round((t - this.zoom) / 100);\n      for (let n = 0; n < Math.abs(r); n++)\n        r > 0 ? this.zoomIn() : this.zoomOut();\n      this.updateZoomSelect(t);\n    },\n    updateZoomSelect(e) {\n      this.selectZoom = String(e) + \"%\";\n    },\n    createZoomPercentages: function() {\n      this.zoomSelect = [];\n      for (let e = 0; e <= this.maxZoom / 100; e++)\n        this.zoomSelect.push({\n          value: e,\n          label: (e + 1) * 100 + \"%\"\n        });\n    },\n    setHelpMode: function(e) {\n      e ? (this.inHelp = !0, this.hoverVisibilities.forEach((t) => {\n        t.value = !0;\n      })) : (this.inHelp = !1, this.hoverVisibilities.forEach((t) => {\n        t.value = !1;\n      }));\n    },\n    showToolitip: function(e) {\n      this.inHelp || (this.hoverVisibilities[e].value = !0, this.tooltipWait = setTimeout(() => {\n        this.hoverVisibilities[e].value = !0;\n      }, 1e3));\n    },\n    hideToolitip: function(e) {\n      this.inHelp || (this.hoverVisibilities[e].value = !1, clearInterval(this.tooltipWait));\n    },\n    handleWheel: function(e) {\n      let t = Math.round(e.deltaY / 7);\n      this.zoom = this.zoom - t, this.updateZoomSelect(this.zoom);\n    }\n  },\n  mounted: function() {\n    this.createZoomPercentages(), setTimeout(() => {\n      this.parentElement.element.addEventListener(\"wheel\", this.handleWheel);\n    }, 1e3);\n  },\n  beforeUnmount: function() {\n    this.parentElement.element.removeEventListener(\"wheel\", this.handleWheel);\n  }\n}, _B = { class: \"container\" };\nfunction xB(e, t, r, n, a, i) {\n  const o = uo(\"map-svg-sprite-color\"), l = uo(\"map-svg-icon\"), s = z1, u = qu, f = Vu;\n  return At(), Xt(\"div\", _B, [\n    Ar(o),\n    cr(\"div\", {\n      ref: \"zoomControls\",\n      class: Vt([{ inactive: !r.controlsEnabled }, \"bottom-right-control\"])\n    }, [\n      Ar(s, {\n        modelValue: e.hoverVisibilities[0].value,\n        \"onUpdate:modelValue\": t[3] || (t[3] = (d) => e.hoverVisibilities[0].value = d),\n        content: \"Zoom in\",\n        placement: \"left\",\n        teleported: !1,\n        trigger: \"manual\",\n        \"popper-class\": \"plot-popper\"\n      }, {\n        reference: ir(() => [\n          Ar(l, {\n            icon: \"zoomIn\",\n            class: \"icon-button zoomIn\",\n            onClick: t[0] || (t[0] = (d) => i.zoomIn()),\n            onMouseover: t[1] || (t[1] = (d) => i.showToolitip(0)),\n            onMouseout: t[2] || (t[2] = (d) => i.hideToolitip(0))\n          })\n        ]),\n        _: 1\n      }, 8, [\"modelValue\"]),\n      Ar(s, {\n        modelValue: e.hoverVisibilities[1].value,\n        \"onUpdate:modelValue\": t[7] || (t[7] = (d) => e.hoverVisibilities[1].value = d),\n        content: \"Zoom out\",\n        placement: \"top-end\",\n        teleported: !1,\n        trigger: \"manual\",\n        \"popper-class\": \"plot-popper popper-zoomout\"\n      }, {\n        reference: ir(() => [\n          Ar(l, {\n            icon: \"zoomOut\",\n            class: \"icon-button zoomOut\",\n            onClick: t[4] || (t[4] = (d) => i.zoomOut()),\n            onMouseover: t[5] || (t[5] = (d) => i.showToolitip(1)),\n            onMouseout: t[6] || (t[6] = (d) => i.hideToolitip(1))\n          })\n        ]),\n        _: 1\n      }, 8, [\"modelValue\"]),\n      Ar(f, {\n        size: \"small\",\n        modelValue: e.selectZoom,\n        \"onUpdate:modelValue\": t[8] || (t[8] = (d) => e.selectZoom = d),\n        placeholder: \"100%\",\n        class: \"zoomSelect\",\n        onChange: i.selectZoomChange\n      }, {\n        default: ir(() => [\n          (At(!0), Xt(wo, null, xu(e.zoomSelect, (d) => (At(), kr(u, {\n            key: d.value,\n            label: d.label,\n            value: d.label\n          }, null, 8, [\"label\", \"value\"]))), 128))\n        ]),\n        _: 1\n      }, 8, [\"modelValue\", \"onChange\"]),\n      Ar(s, {\n        modelValue: e.hoverVisibilities[2].value,\n        \"onUpdate:modelValue\": t[12] || (t[12] = (d) => e.hoverVisibilities[2].value = d),\n        content: \"Reset\",\n        placement: \"top\",\n        teleported: !1,\n        trigger: \"manual\",\n        \"popper-class\": \"plot-popper\"\n      }, {\n        reference: ir(() => [\n          Ar(l, {\n            icon: \"resetZoom\",\n            class: \"icon-button resetView\",\n            onClick: t[9] || (t[9] = (d) => i.resetView()),\n            onMouseover: t[10] || (t[10] = (d) => i.showToolitip(2)),\n            onMouseout: t[11] || (t[11] = (d) => i.hideToolitip(2))\n          })\n        ]),\n        _: 1\n      }, 8, [\"modelValue\"])\n    ], 2)\n  ]);\n}\nconst qc = /* @__PURE__ */ np(bB, [[\"render\", xB], [\"__scopeId\", \"data-v-2ec1d0d2\"]]);\nvar nC = {}, ap = {};\nap.version = \"2.28.0\";\nvar wB = { exports: {} };\n/*! Native Promise Only\n    v0.8.1 (c) Kyle Simpson\n    MIT License: http://getify.mit-license.org\n*/\n(function(e) {\n  (function(r, n, a) {\n    n[r] = n[r] || a(), e.exports && (e.exports = n[r]);\n  })(\"Promise\", Wl, function() {\n    var r, n, a, i = Object.prototype.toString, o = typeof setImmediate < \"u\" ? function(k) {\n      return setImmediate(k);\n    } : setTimeout;\n    try {\n      Object.defineProperty({}, \"x\", {}), r = function(k, x, _, T) {\n        return Object.defineProperty(k, x, {\n          value: _,\n          writable: !0,\n          configurable: T !== !1\n        });\n      };\n    } catch {\n      r = function(x, _, T) {\n        return x[_] = T, x;\n      };\n    }\n    a = /* @__PURE__ */ function() {\n      var k, x, _;\n      function T(S, M) {\n        this.fn = S, this.self = M, this.next = void 0;\n      }\n      return {\n        add: function(M, L) {\n          _ = new T(M, L), x ? x.next = _ : k = _, x = _, _ = void 0;\n        },\n        drain: function() {\n          var M = k;\n          for (k = x = n = void 0; M; )\n            M.fn.call(M.self), M = M.next;\n        }\n      };\n    }();\n    function l(w, k) {\n      a.add(w, k), n || (n = o(a.drain));\n    }\n    function s(w) {\n      var k, x = typeof w;\n      return w != null && (x == \"object\" || x == \"function\") && (k = w.then), typeof k == \"function\" ? k : !1;\n    }\n    function u() {\n      for (var w = 0; w < this.chain.length; w++)\n        f(\n          this,\n          this.state === 1 ? this.chain[w].success : this.chain[w].failure,\n          this.chain[w]\n        );\n      this.chain.length = 0;\n    }\n    function f(w, k, x) {\n      var _, T;\n      try {\n        k === !1 ? x.reject(w.msg) : (k === !0 ? _ = w.msg : _ = k.call(void 0, w.msg), _ === x.promise ? x.reject(TypeError(\"Promise-chain cycle\")) : (T = s(_)) ? T.call(_, x.resolve, x.reject) : x.resolve(_));\n      } catch (S) {\n        x.reject(S);\n      }\n    }\n    function d(w) {\n      var k, x = this;\n      if (!x.triggered) {\n        x.triggered = !0, x.def && (x = x.def);\n        try {\n          (k = s(w)) ? l(function() {\n            var _ = new v(x);\n            try {\n              k.call(\n                w,\n                function() {\n                  d.apply(_, arguments);\n                },\n                function() {\n                  h.apply(_, arguments);\n                }\n              );\n            } catch (T) {\n              h.call(_, T);\n            }\n          }) : (x.msg = w, x.state = 1, x.chain.length > 0 && l(u, x));\n        } catch (_) {\n          h.call(new v(x), _);\n        }\n      }\n    }\n    function h(w) {\n      var k = this;\n      k.triggered || (k.triggered = !0, k.def && (k = k.def), k.msg = w, k.state = 2, k.chain.length > 0 && l(u, k));\n    }\n    function p(w, k, x, _) {\n      for (var T = 0; T < k.length; T++)\n        (function(M) {\n          w.resolve(k[M]).then(\n            function(F) {\n              x(M, F);\n            },\n            _\n          );\n        })(T);\n    }\n    function v(w) {\n      this.def = w, this.triggered = !1;\n    }\n    function m(w) {\n      this.promise = w, this.state = 0, this.triggered = !1, this.chain = [], this.msg = void 0;\n    }\n    function g(w) {\n      if (typeof w != \"function\")\n        throw TypeError(\"Not a function\");\n      if (this.__NPO__ !== 0)\n        throw TypeError(\"Not a promise\");\n      this.__NPO__ = 1;\n      var k = new m(this);\n      this.then = function(_, T) {\n        var S = {\n          success: typeof _ == \"function\" ? _ : !0,\n          failure: typeof T == \"function\" ? T : !1\n        };\n        return S.promise = new this.constructor(function(L, F) {\n          if (typeof L != \"function\" || typeof F != \"function\")\n            throw TypeError(\"Not a function\");\n          S.resolve = L, S.reject = F;\n        }), k.chain.push(S), k.state !== 0 && l(u, k), S.promise;\n      }, this.catch = function(_) {\n        return this.then(void 0, _);\n      };\n      try {\n        w.call(\n          void 0,\n          function(_) {\n            d.call(k, _);\n          },\n          function(_) {\n            h.call(k, _);\n          }\n        );\n      } catch (x) {\n        h.call(k, x);\n      }\n    }\n    var y = r(\n      {},\n      \"constructor\",\n      g,\n      /*configurable=*/\n      !1\n    );\n    return g.prototype = y, r(\n      y,\n      \"__NPO__\",\n      0,\n      /*configurable=*/\n      !1\n    ), r(g, \"resolve\", function(k) {\n      var x = this;\n      return k && typeof k == \"object\" && k.__NPO__ === 1 ? k : new x(function(T, S) {\n        if (typeof T != \"function\" || typeof S != \"function\")\n          throw TypeError(\"Not a function\");\n        T(k);\n      });\n    }), r(g, \"reject\", function(k) {\n      return new this(function(_, T) {\n        if (typeof _ != \"function\" || typeof T != \"function\")\n          throw TypeError(\"Not a function\");\n        T(k);\n      });\n    }), r(g, \"all\", function(k) {\n      var x = this;\n      return i.call(k) != \"[object Array]\" ? x.reject(TypeError(\"Not an array\")) : k.length === 0 ? x.resolve([]) : new x(function(T, S) {\n        if (typeof T != \"function\" || typeof S != \"function\")\n          throw TypeError(\"Not a function\");\n        var M = k.length, L = Array(M), F = 0;\n        p(x, k, function(I, O) {\n          L[I] = O, ++F === M && T(L);\n        }, S);\n      });\n    }), r(g, \"race\", function(k) {\n      var x = this;\n      return i.call(k) != \"[object Array]\" ? x.reject(TypeError(\"Not an array\")) : new x(function(T, S) {\n        if (typeof T != \"function\" || typeof S != \"function\")\n          throw TypeError(\"Not a function\");\n        p(x, k, function(L, F) {\n          T(F);\n        }, S);\n      });\n    }), g;\n  });\n})(wB);\nvar aC = { exports: {} }, iC = { exports: {} };\n(function(e) {\n  (function() {\n    var t = {\n      version: \"3.8.0\"\n    }, r = [].slice, n = function(c) {\n      return r.call(c);\n    }, a = self.document;\n    function i(c) {\n      return c && (c.ownerDocument || c.document || c).documentElement;\n    }\n    function o(c) {\n      return c && (c.ownerDocument && c.ownerDocument.defaultView || c.document && c || c.defaultView);\n    }\n    if (a)\n      try {\n        n(a.documentElement.childNodes)[0].nodeType;\n      } catch {\n        n = function(b) {\n          for (var A = b.length, C = new Array(A); A--; ) C[A] = b[A];\n          return C;\n        };\n      }\n    if (Date.now || (Date.now = function() {\n      return +/* @__PURE__ */ new Date();\n    }), a)\n      try {\n        a.createElement(\"DIV\").style.setProperty(\"opacity\", 0, \"\");\n      } catch {\n        var l = this.Element.prototype, s = l.setAttribute, u = l.setAttributeNS, f = this.CSSStyleDeclaration.prototype, d = f.setProperty;\n        l.setAttribute = function(b, A) {\n          s.call(this, b, A + \"\");\n        }, l.setAttributeNS = function(b, A, C) {\n          u.call(this, b, A, C + \"\");\n        }, f.setProperty = function(b, A, C) {\n          d.call(this, b, A + \"\", C);\n        };\n      }\n    t.ascending = h;\n    function h(c, b) {\n      return c < b ? -1 : c > b ? 1 : c >= b ? 0 : NaN;\n    }\n    t.descending = function(c, b) {\n      return b < c ? -1 : b > c ? 1 : b >= c ? 0 : NaN;\n    }, t.min = function(c, b) {\n      var A = -1, C = c.length, D, E;\n      if (arguments.length === 1) {\n        for (; ++A < C; ) if ((E = c[A]) != null && E >= E) {\n          D = E;\n          break;\n        }\n        for (; ++A < C; ) (E = c[A]) != null && D > E && (D = E);\n      } else {\n        for (; ++A < C; ) if ((E = b.call(c, c[A], A)) != null && E >= E) {\n          D = E;\n          break;\n        }\n        for (; ++A < C; ) (E = b.call(c, c[A], A)) != null && D > E && (D = E);\n      }\n      return D;\n    }, t.max = function(c, b) {\n      var A = -1, C = c.length, D, E;\n      if (arguments.length === 1) {\n        for (; ++A < C; ) if ((E = c[A]) != null && E >= E) {\n          D = E;\n          break;\n        }\n        for (; ++A < C; ) (E = c[A]) != null && E > D && (D = E);\n      } else {\n        for (; ++A < C; ) if ((E = b.call(c, c[A], A)) != null && E >= E) {\n          D = E;\n          break;\n        }\n        for (; ++A < C; ) (E = b.call(c, c[A], A)) != null && E > D && (D = E);\n      }\n      return D;\n    }, t.extent = function(c, b) {\n      var A = -1, C = c.length, D, E, q;\n      if (arguments.length === 1) {\n        for (; ++A < C; ) if ((E = c[A]) != null && E >= E) {\n          D = q = E;\n          break;\n        }\n        for (; ++A < C; ) (E = c[A]) != null && (D > E && (D = E), q < E && (q = E));\n      } else {\n        for (; ++A < C; ) if ((E = b.call(c, c[A], A)) != null && E >= E) {\n          D = q = E;\n          break;\n        }\n        for (; ++A < C; ) (E = b.call(c, c[A], A)) != null && (D > E && (D = E), q < E && (q = E));\n      }\n      return [D, q];\n    };\n    function p(c) {\n      return c === null ? NaN : +c;\n    }\n    function v(c) {\n      return !isNaN(c);\n    }\n    t.sum = function(c, b) {\n      var A = 0, C = c.length, D, E = -1;\n      if (arguments.length === 1)\n        for (; ++E < C; ) v(D = +c[E]) && (A += D);\n      else\n        for (; ++E < C; ) v(D = +b.call(c, c[E], E)) && (A += D);\n      return A;\n    }, t.mean = function(c, b) {\n      var A = 0, C = c.length, D, E = -1, q = C;\n      if (arguments.length === 1)\n        for (; ++E < C; ) v(D = p(c[E])) ? A += D : --q;\n      else\n        for (; ++E < C; ) v(D = p(b.call(c, c[E], E))) ? A += D : --q;\n      if (q) return A / q;\n    }, t.quantile = function(c, b) {\n      var A = (c.length - 1) * b + 1, C = Math.floor(A), D = +c[C - 1], E = A - C;\n      return E ? D + E * (c[C] - D) : D;\n    }, t.median = function(c, b) {\n      var A = [], C = c.length, D, E = -1;\n      if (arguments.length === 1)\n        for (; ++E < C; ) v(D = p(c[E])) && A.push(D);\n      else\n        for (; ++E < C; ) v(D = p(b.call(c, c[E], E))) && A.push(D);\n      if (A.length) return t.quantile(A.sort(h), 0.5);\n    }, t.variance = function(c, b) {\n      var A = c.length, C = 0, D, E, q = 0, N = -1, Y = 0;\n      if (arguments.length === 1)\n        for (; ++N < A; )\n          v(D = p(c[N])) && (E = D - C, C += E / ++Y, q += E * (D - C));\n      else\n        for (; ++N < A; )\n          v(D = p(b.call(c, c[N], N))) && (E = D - C, C += E / ++Y, q += E * (D - C));\n      if (Y > 1) return q / (Y - 1);\n    }, t.deviation = function() {\n      var c = t.variance.apply(this, arguments);\n      return c && Math.sqrt(c);\n    };\n    function m(c) {\n      return {\n        left: function(b, A, C, D) {\n          for (arguments.length < 3 && (C = 0), arguments.length < 4 && (D = b.length); C < D; ) {\n            var E = C + D >>> 1;\n            c(b[E], A) < 0 ? C = E + 1 : D = E;\n          }\n          return C;\n        },\n        right: function(b, A, C, D) {\n          for (arguments.length < 3 && (C = 0), arguments.length < 4 && (D = b.length); C < D; ) {\n            var E = C + D >>> 1;\n            c(b[E], A) > 0 ? D = E : C = E + 1;\n          }\n          return C;\n        }\n      };\n    }\n    var g = m(h);\n    t.bisectLeft = g.left, t.bisect = t.bisectRight = g.right, t.bisector = function(c) {\n      return m(c.length === 1 ? function(b, A) {\n        return h(c(b), A);\n      } : c);\n    }, t.shuffle = function(c, b, A) {\n      (C = arguments.length) < 3 && (A = c.length, C < 2 && (b = 0));\n      for (var C = A - b, D, E; C; )\n        E = Math.random() * C-- | 0, D = c[C + b], c[C + b] = c[E + b], c[E + b] = D;\n      return c;\n    }, t.permute = function(c, b) {\n      for (var A = b.length, C = new Array(A); A--; ) C[A] = c[b[A]];\n      return C;\n    }, t.pairs = function(c) {\n      for (var b = 0, A = c.length - 1, C = c[0], D = new Array(A < 0 ? 0 : A); b < A; ) D[b] = [C, C = c[++b]];\n      return D;\n    }, t.transpose = function(c) {\n      if (!(E = c.length)) return [];\n      for (var b = -1, A = t.min(c, y), C = new Array(A); ++b < A; )\n        for (var D = -1, E, q = C[b] = new Array(E); ++D < E; )\n          q[D] = c[D][b];\n      return C;\n    };\n    function y(c) {\n      return c.length;\n    }\n    t.zip = function() {\n      return t.transpose(arguments);\n    }, t.keys = function(c) {\n      var b = [];\n      for (var A in c) b.push(A);\n      return b;\n    }, t.values = function(c) {\n      var b = [];\n      for (var A in c) b.push(c[A]);\n      return b;\n    }, t.entries = function(c) {\n      var b = [];\n      for (var A in c) b.push({\n        key: A,\n        value: c[A]\n      });\n      return b;\n    }, t.merge = function(c) {\n      for (var b = c.length, A, C = -1, D = 0, E, q; ++C < b; ) D += c[C].length;\n      for (E = new Array(D); --b >= 0; )\n        for (q = c[b], A = q.length; --A >= 0; )\n          E[--D] = q[A];\n      return E;\n    };\n    var w = Math.abs;\n    t.range = function(c, b, A) {\n      if (arguments.length < 3 && (A = 1, arguments.length < 2 && (b = c, c = 0)), (b - c) / A === 1 / 0) throw new Error(\"infinite range\");\n      var C = [], D = k(w(A)), E = -1, q;\n      if (c *= D, b *= D, A *= D, A < 0) for (; (q = c + A * ++E) > b; ) C.push(q / D);\n      else for (; (q = c + A * ++E) < b; ) C.push(q / D);\n      return C;\n    };\n    function k(c) {\n      for (var b = 1; c * b % 1; ) b *= 10;\n      return b;\n    }\n    function x(c, b) {\n      for (var A in b)\n        Object.defineProperty(c.prototype, A, {\n          value: b[A],\n          enumerable: !1\n        });\n    }\n    t.map = function(c, b) {\n      var A = new _();\n      if (c instanceof _)\n        c.forEach(function(N, Y) {\n          A.set(N, Y);\n        });\n      else if (Array.isArray(c)) {\n        var C = -1, D = c.length, E;\n        if (arguments.length === 1) for (; ++C < D; ) A.set(C, c[C]);\n        else for (; ++C < D; ) A.set(b.call(c, E = c[C], C), E);\n      } else\n        for (var q in c) A.set(q, c[q]);\n      return A;\n    };\n    function _() {\n      this._ = /* @__PURE__ */ Object.create(null);\n    }\n    var T = \"__proto__\", S = \"\\0\";\n    x(_, {\n      has: F,\n      get: function(c) {\n        return this._[M(c)];\n      },\n      set: function(c, b) {\n        return this._[M(c)] = b;\n      },\n      remove: $,\n      keys: I,\n      values: function() {\n        var c = [];\n        for (var b in this._) c.push(this._[b]);\n        return c;\n      },\n      entries: function() {\n        var c = [];\n        for (var b in this._) c.push({\n          key: L(b),\n          value: this._[b]\n        });\n        return c;\n      },\n      size: O,\n      empty: G,\n      forEach: function(c) {\n        for (var b in this._) c.call(this, L(b), this._[b]);\n      }\n    });\n    function M(c) {\n      return (c += \"\") === T || c[0] === S ? S + c : c;\n    }\n    function L(c) {\n      return (c += \"\")[0] === S ? c.slice(1) : c;\n    }\n    function F(c) {\n      return M(c) in this._;\n    }\n    function $(c) {\n      return (c = M(c)) in this._ && delete this._[c];\n    }\n    function I() {\n      var c = [];\n      for (var b in this._) c.push(L(b));\n      return c;\n    }\n    function O() {\n      var c = 0;\n      for (var b in this._) ++c;\n      return c;\n    }\n    function G() {\n      for (var c in this._) return !1;\n      return !0;\n    }\n    t.nest = function() {\n      var c = {}, b = [], A = [], C, D;\n      function E(N, Y, te) {\n        if (te >= b.length) return D ? D.call(c, Y) : C ? Y.sort(C) : Y;\n        for (var ne = -1, ce = Y.length, de = b[te++], Te, Ae, he, ye = new _(), be; ++ne < ce; )\n          (be = ye.get(Te = de(Ae = Y[ne]))) ? be.push(Ae) : ye.set(Te, [Ae]);\n        return N ? (Ae = N(), he = function(Se, De) {\n          Ae.set(Se, E(N, De, te));\n        }) : (Ae = {}, he = function(Se, De) {\n          Ae[Se] = E(N, De, te);\n        }), ye.forEach(he), Ae;\n      }\n      function q(N, Y) {\n        if (Y >= b.length) return N;\n        var te = [], ne = A[Y++];\n        return N.forEach(function(ce, de) {\n          te.push({\n            key: ce,\n            values: q(de, Y)\n          });\n        }), ne ? te.sort(function(ce, de) {\n          return ne(ce.key, de.key);\n        }) : te;\n      }\n      return c.map = function(N, Y) {\n        return E(Y, N, 0);\n      }, c.entries = function(N) {\n        return q(E(t.map, N, 0), 0);\n      }, c.key = function(N) {\n        return b.push(N), c;\n      }, c.sortKeys = function(N) {\n        return A[b.length - 1] = N, c;\n      }, c.sortValues = function(N) {\n        return C = N, c;\n      }, c.rollup = function(N) {\n        return D = N, c;\n      }, c;\n    }, t.set = function(c) {\n      var b = new K();\n      if (c) for (var A = 0, C = c.length; A < C; ++A) b.add(c[A]);\n      return b;\n    };\n    function K() {\n      this._ = /* @__PURE__ */ Object.create(null);\n    }\n    x(K, {\n      has: F,\n      add: function(c) {\n        return this._[M(c += \"\")] = !0, c;\n      },\n      remove: $,\n      values: I,\n      size: O,\n      empty: G,\n      forEach: function(c) {\n        for (var b in this._) c.call(this, L(b));\n      }\n    }), t.behavior = {};\n    function V(c) {\n      return c;\n    }\n    t.rebind = function(c, b) {\n      for (var A = 1, C = arguments.length, D; ++A < C; ) c[D = arguments[A]] = z(c, b, b[D]);\n      return c;\n    };\n    function z(c, b, A) {\n      return function() {\n        var C = A.apply(b, arguments);\n        return C === b ? c : C;\n      };\n    }\n    function P(c, b) {\n      if (b in c) return b;\n      b = b.charAt(0).toUpperCase() + b.slice(1);\n      for (var A = 0, C = R.length; A < C; ++A) {\n        var D = R[A] + b;\n        if (D in c) return D;\n      }\n    }\n    var R = [\"webkit\", \"ms\", \"moz\", \"Moz\", \"o\", \"O\"];\n    function H() {\n    }\n    t.dispatch = function() {\n      for (var c = new B(), b = -1, A = arguments.length; ++b < A; ) c[arguments[b]] = W(c);\n      return c;\n    };\n    function B() {\n    }\n    B.prototype.on = function(c, b) {\n      var A = c.indexOf(\".\"), C = \"\";\n      if (A >= 0 && (C = c.slice(A + 1), c = c.slice(0, A)), c) return arguments.length < 2 ? this[c].on(C) : this[c].on(C, b);\n      if (arguments.length === 2) {\n        if (b == null) for (c in this)\n          this.hasOwnProperty(c) && this[c].on(C, null);\n        return this;\n      }\n    };\n    function W(c) {\n      var b = [], A = new _();\n      function C() {\n        for (var D = b, E = -1, q = D.length, N; ++E < q; ) (N = D[E].on) && N.apply(this, arguments);\n        return c;\n      }\n      return C.on = function(D, E) {\n        var q = A.get(D), N;\n        return arguments.length < 2 ? q && q.on : (q && (q.on = null, b = b.slice(0, N = b.indexOf(q)).concat(b.slice(N + 1)), A.remove(D)), E && b.push(A.set(D, {\n          on: E\n        })), c);\n      }, C;\n    }\n    t.event = null;\n    function ee() {\n      t.event.preventDefault();\n    }\n    function re() {\n      for (var c = t.event, b; b = c.sourceEvent; ) c = b;\n      return c;\n    }\n    function ae(c) {\n      for (var b = new B(), A = 0, C = arguments.length; ++A < C; ) b[arguments[A]] = W(b);\n      return b.of = function(D, E) {\n        return function(q) {\n          try {\n            var N = q.sourceEvent = t.event;\n            q.target = c, t.event = q, b[q.type].apply(D, E);\n          } finally {\n            t.event = N;\n          }\n        };\n      }, b;\n    }\n    t.requote = function(c) {\n      return c.replace(Q, \"\\\\$&\");\n    };\n    var Q = /[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g, ue = {}.__proto__ ? function(c, b) {\n      c.__proto__ = b;\n    } : function(c, b) {\n      for (var A in b) c[A] = b[A];\n    };\n    function j(c) {\n      return ue(c, J), c;\n    }\n    var U = function(c, b) {\n      return b.querySelector(c);\n    }, Z = function(c, b) {\n      return b.querySelectorAll(c);\n    }, le = function(c, b) {\n      var A = c.matches || c[P(c, \"matchesSelector\")];\n      return le = function(C, D) {\n        return A.call(C, D);\n      }, le(c, b);\n    };\n    typeof Sizzle == \"function\" && (U = function(c, b) {\n      return Sizzle(c, b)[0] || null;\n    }, Z = Sizzle, le = Sizzle.matchesSelector), t.selection = function() {\n      return t.select(a.documentElement);\n    };\n    var J = t.selection.prototype = [];\n    J.select = function(c) {\n      var b = [], A, C, D, E;\n      c = pe(c);\n      for (var q = -1, N = this.length; ++q < N; ) {\n        b.push(A = []), A.parentNode = (D = this[q]).parentNode;\n        for (var Y = -1, te = D.length; ++Y < te; )\n          (E = D[Y]) ? (A.push(C = c.call(E, E.__data__, Y, q)), C && \"__data__\" in E && (C.__data__ = E.__data__)) : A.push(null);\n      }\n      return j(b);\n    };\n    function pe(c) {\n      return typeof c == \"function\" ? c : function() {\n        return U(c, this);\n      };\n    }\n    J.selectAll = function(c) {\n      var b = [], A, C;\n      c = ge(c);\n      for (var D = -1, E = this.length; ++D < E; )\n        for (var q = this[D], N = -1, Y = q.length; ++N < Y; )\n          (C = q[N]) && (b.push(A = n(c.call(C, C.__data__, N, D))), A.parentNode = C);\n      return j(b);\n    };\n    function ge(c) {\n      return typeof c == \"function\" ? c : function() {\n        return Z(c, this);\n      };\n    }\n    var ve = \"http://www.w3.org/1999/xhtml\", me = {\n      svg: \"http://www.w3.org/2000/svg\",\n      xhtml: ve,\n      xlink: \"http://www.w3.org/1999/xlink\",\n      xml: \"http://www.w3.org/XML/1998/namespace\",\n      xmlns: \"http://www.w3.org/2000/xmlns/\"\n    };\n    t.ns = {\n      prefix: me,\n      qualify: function(c) {\n        var b = c.indexOf(\":\"), A = c;\n        return b >= 0 && (A = c.slice(0, b)) !== \"xmlns\" && (c = c.slice(b + 1)), me.hasOwnProperty(A) ? {\n          space: me[A],\n          local: c\n        } : c;\n      }\n    }, J.attr = function(c, b) {\n      if (arguments.length < 2) {\n        if (typeof c == \"string\") {\n          var A = this.node();\n          return c = t.ns.qualify(c), c.local ? A.getAttributeNS(c.space, c.local) : A.getAttribute(c);\n        }\n        for (b in c) this.each(Le(b, c[b]));\n        return this;\n      }\n      return this.each(Le(c, b));\n    };\n    function Le(c, b) {\n      c = t.ns.qualify(c);\n      function A() {\n        this.removeAttribute(c);\n      }\n      function C() {\n        this.removeAttributeNS(c.space, c.local);\n      }\n      function D() {\n        this.setAttribute(c, b);\n      }\n      function E() {\n        this.setAttributeNS(c.space, c.local, b);\n      }\n      function q() {\n        var Y = b.apply(this, arguments);\n        Y == null ? this.removeAttribute(c) : this.setAttribute(c, Y);\n      }\n      function N() {\n        var Y = b.apply(this, arguments);\n        Y == null ? this.removeAttributeNS(c.space, c.local) : this.setAttributeNS(c.space, c.local, Y);\n      }\n      return b == null ? c.local ? C : A : typeof b == \"function\" ? c.local ? N : q : c.local ? E : D;\n    }\n    function ze(c) {\n      return c.trim().replace(/\\s+/g, \" \");\n    }\n    J.classed = function(c, b) {\n      if (arguments.length < 2) {\n        if (typeof c == \"string\") {\n          var A = this.node(), C = (c = Oe(c)).length, D = -1;\n          if (b = A.classList) {\n            for (; ++D < C; ) if (!b.contains(c[D])) return !1;\n          } else\n            for (b = A.getAttribute(\"class\"); ++D < C; ) if (!Fe(c[D]).test(b)) return !1;\n          return !0;\n        }\n        for (b in c) this.each(Re(b, c[b]));\n        return this;\n      }\n      return this.each(Re(c, b));\n    };\n    function Fe(c) {\n      return new RegExp(\"(?:^|\\\\s+)\" + t.requote(c) + \"(?:\\\\s+|$)\", \"g\");\n    }\n    function Oe(c) {\n      return (c + \"\").trim().split(/^|\\s+/);\n    }\n    function Re(c, b) {\n      c = Oe(c).map(We);\n      var A = c.length;\n      function C() {\n        for (var E = -1; ++E < A; ) c[E](this, b);\n      }\n      function D() {\n        for (var E = -1, q = b.apply(this, arguments); ++E < A; ) c[E](this, q);\n      }\n      return typeof b == \"function\" ? D : C;\n    }\n    function We(c) {\n      var b = Fe(c);\n      return function(A, C) {\n        if (D = A.classList) return C ? D.add(c) : D.remove(c);\n        var D = A.getAttribute(\"class\") || \"\";\n        C ? (b.lastIndex = 0, b.test(D) || A.setAttribute(\"class\", ze(D + \" \" + c))) : A.setAttribute(\"class\", ze(D.replace(b, \" \")));\n      };\n    }\n    J.style = function(c, b, A) {\n      var C = arguments.length;\n      if (C < 3) {\n        if (typeof c != \"string\") {\n          C < 2 && (b = \"\");\n          for (A in c) this.each(Me(A, c[A], b));\n          return this;\n        }\n        if (C < 2) {\n          var D = this.node();\n          return o(D).getComputedStyle(D, null).getPropertyValue(c);\n        }\n        A = \"\";\n      }\n      return this.each(Me(c, b, A));\n    };\n    function Me(c, b, A) {\n      function C() {\n        this.style.removeProperty(c);\n      }\n      function D() {\n        this.style.setProperty(c, b, A);\n      }\n      function E() {\n        var q = b.apply(this, arguments);\n        q == null ? this.style.removeProperty(c) : this.style.setProperty(c, q, A);\n      }\n      return b == null ? C : typeof b == \"function\" ? E : D;\n    }\n    J.property = function(c, b) {\n      if (arguments.length < 2) {\n        if (typeof c == \"string\") return this.node()[c];\n        for (b in c) this.each(Ve(b, c[b]));\n        return this;\n      }\n      return this.each(Ve(c, b));\n    };\n    function Ve(c, b) {\n      function A() {\n        delete this[c];\n      }\n      function C() {\n        this[c] = b;\n      }\n      function D() {\n        var E = b.apply(this, arguments);\n        E == null ? delete this[c] : this[c] = E;\n      }\n      return b == null ? A : typeof b == \"function\" ? D : C;\n    }\n    J.text = function(c) {\n      return arguments.length ? this.each(typeof c == \"function\" ? function() {\n        var b = c.apply(this, arguments);\n        this.textContent = b ?? \"\";\n      } : c == null ? function() {\n        this.textContent = \"\";\n      } : function() {\n        this.textContent = c;\n      }) : this.node().textContent;\n    }, J.html = function(c) {\n      return arguments.length ? this.each(typeof c == \"function\" ? function() {\n        var b = c.apply(this, arguments);\n        this.innerHTML = b ?? \"\";\n      } : c == null ? function() {\n        this.innerHTML = \"\";\n      } : function() {\n        this.innerHTML = c;\n      }) : this.node().innerHTML;\n    }, J.append = function(c) {\n      return c = qe(c), this.select(function() {\n        return this.appendChild(c.apply(this, arguments));\n      });\n    };\n    function qe(c) {\n      function b() {\n        var C = this.ownerDocument, D = this.namespaceURI;\n        return D === ve && C.documentElement.namespaceURI === ve ? C.createElement(c) : C.createElementNS(D, c);\n      }\n      function A() {\n        return this.ownerDocument.createElementNS(c.space, c.local);\n      }\n      return typeof c == \"function\" ? c : (c = t.ns.qualify(c)).local ? A : b;\n    }\n    J.insert = function(c, b) {\n      return c = qe(c), b = pe(b), this.select(function() {\n        return this.insertBefore(c.apply(this, arguments), b.apply(this, arguments) || null);\n      });\n    }, J.remove = function() {\n      return this.each(Qe);\n    };\n    function Qe() {\n      var c = this.parentNode;\n      c && c.removeChild(this);\n    }\n    J.data = function(c, b) {\n      var A = -1, C = this.length, D, E;\n      if (!arguments.length) {\n        for (c = new Array(C = (D = this[0]).length); ++A < C; )\n          (E = D[A]) && (c[A] = E.__data__);\n        return c;\n      }\n      function q(ne, ce) {\n        var de, Te = ne.length, Ae = ce.length, he = Math.min(Te, Ae), ye = new Array(Ae), be = new Array(Ae), Se = new Array(Te), De, we;\n        if (b) {\n          var Ze = new _(), mt = new Array(Te), xt;\n          for (de = -1; ++de < Te; )\n            (De = ne[de]) && (Ze.has(xt = b.call(De, De.__data__, de)) ? Se[de] = De : Ze.set(xt, De), mt[de] = xt);\n          for (de = -1; ++de < Ae; )\n            (De = Ze.get(xt = b.call(ce, we = ce[de], de))) ? De !== !0 && (ye[de] = De, De.__data__ = we) : be[de] = ot(we), Ze.set(xt, !0);\n          for (de = -1; ++de < Te; )\n            de in mt && Ze.get(mt[de]) !== !0 && (Se[de] = ne[de]);\n        } else {\n          for (de = -1; ++de < he; )\n            De = ne[de], we = ce[de], De ? (De.__data__ = we, ye[de] = De) : be[de] = ot(we);\n          for (; de < Ae; ++de)\n            be[de] = ot(ce[de]);\n          for (; de < Te; ++de)\n            Se[de] = ne[de];\n        }\n        be.update = ye, be.parentNode = ye.parentNode = Se.parentNode = ne.parentNode, N.push(be), Y.push(ye), te.push(Se);\n      }\n      var N = ft([]), Y = j([]), te = j([]);\n      if (typeof c == \"function\")\n        for (; ++A < C; )\n          q(D = this[A], c.call(D, D.parentNode.__data__, A));\n      else\n        for (; ++A < C; )\n          q(D = this[A], c);\n      return Y.enter = function() {\n        return N;\n      }, Y.exit = function() {\n        return te;\n      }, Y;\n    };\n    function ot(c) {\n      return {\n        __data__: c\n      };\n    }\n    J.datum = function(c) {\n      return arguments.length ? this.property(\"__data__\", c) : this.property(\"__data__\");\n    }, J.filter = function(c) {\n      var b = [], A, C, D;\n      typeof c != \"function\" && (c = ht(c));\n      for (var E = 0, q = this.length; E < q; E++) {\n        b.push(A = []), A.parentNode = (C = this[E]).parentNode;\n        for (var N = 0, Y = C.length; N < Y; N++)\n          (D = C[N]) && c.call(D, D.__data__, N, E) && A.push(D);\n      }\n      return j(b);\n    };\n    function ht(c) {\n      return function() {\n        return le(this, c);\n      };\n    }\n    J.order = function() {\n      for (var c = -1, b = this.length; ++c < b; )\n        for (var A = this[c], C = A.length - 1, D = A[C], E; --C >= 0; )\n          (E = A[C]) && (D && D !== E.nextSibling && D.parentNode.insertBefore(E, D), D = E);\n      return this;\n    }, J.sort = function(c) {\n      c = vt.apply(this, arguments);\n      for (var b = -1, A = this.length; ++b < A; ) this[b].sort(c);\n      return this.order();\n    };\n    function vt(c) {\n      return arguments.length || (c = h), function(b, A) {\n        return b && A ? c(b.__data__, A.__data__) : !b - !A;\n      };\n    }\n    J.each = function(c) {\n      return nt(this, function(b, A, C) {\n        c.call(b, b.__data__, A, C);\n      });\n    };\n    function nt(c, b) {\n      for (var A = 0, C = c.length; A < C; A++)\n        for (var D = c[A], E = 0, q = D.length, N; E < q; E++)\n          (N = D[E]) && b(N, E, A);\n      return c;\n    }\n    J.call = function(c) {\n      var b = n(arguments);\n      return c.apply(b[0] = this, b), this;\n    }, J.empty = function() {\n      return !this.node();\n    }, J.node = function() {\n      for (var c = 0, b = this.length; c < b; c++)\n        for (var A = this[c], C = 0, D = A.length; C < D; C++) {\n          var E = A[C];\n          if (E) return E;\n        }\n      return null;\n    }, J.size = function() {\n      var c = 0;\n      return nt(this, function() {\n        ++c;\n      }), c;\n    };\n    function ft(c) {\n      return ue(c, Pe), c;\n    }\n    var Pe = [];\n    t.selection.enter = ft, t.selection.enter.prototype = Pe, Pe.append = J.append, Pe.empty = J.empty, Pe.node = J.node, Pe.call = J.call, Pe.size = J.size, Pe.select = function(c) {\n      for (var b = [], A, C, D, E, q, N = -1, Y = this.length; ++N < Y; ) {\n        D = (E = this[N]).update, b.push(A = []), A.parentNode = E.parentNode;\n        for (var te = -1, ne = E.length; ++te < ne; )\n          (q = E[te]) ? (A.push(D[te] = C = c.call(E.parentNode, q.__data__, te, N)), C.__data__ = q.__data__) : A.push(null);\n      }\n      return j(b);\n    }, Pe.insert = function(c, b) {\n      return arguments.length < 2 && (b = Ie(this)), J.insert.call(this, c, b);\n    };\n    function Ie(c) {\n      var b, A;\n      return function(C, D, E) {\n        var q = c[E].update, N = q.length, Y;\n        for (E != A && (A = E, b = 0), D >= b && (b = D + 1); !(Y = q[b]) && ++b < N; ) ;\n        return Y;\n      };\n    }\n    t.select = function(c) {\n      var b;\n      return typeof c == \"string\" ? (b = [U(c, a)], b.parentNode = a.documentElement) : (b = [c], b.parentNode = i(c)), j([b]);\n    }, t.selectAll = function(c) {\n      var b;\n      return typeof c == \"string\" ? (b = n(Z(c, a)), b.parentNode = a.documentElement) : (b = n(c), b.parentNode = null), j([b]);\n    }, J.on = function(c, b, A) {\n      var C = arguments.length;\n      if (C < 3) {\n        if (typeof c != \"string\") {\n          C < 2 && (b = !1);\n          for (A in c) this.each(Ne(A, c[A], b));\n          return this;\n        }\n        if (C < 2) return (C = this.node()[\"__on\" + c]) && C._;\n        A = !1;\n      }\n      return this.each(Ne(c, b, A));\n    };\n    function Ne(c, b, A) {\n      var C = \"__on\" + c, D = c.indexOf(\".\"), E = Je;\n      D > 0 && (c = c.slice(0, D));\n      var q = tt.get(c);\n      q && (c = q, E = it);\n      function N() {\n        var ne = this[C];\n        ne && (this.removeEventListener(c, ne, ne.$), delete this[C]);\n      }\n      function Y() {\n        var ne = E(b, n(arguments));\n        N.call(this), this.addEventListener(c, this[C] = ne, ne.$ = A), ne._ = b;\n      }\n      function te() {\n        var ne = new RegExp(\"^__on([^.]+)\" + t.requote(c) + \"$\"), ce;\n        for (var de in this)\n          if (ce = de.match(ne)) {\n            var Te = this[de];\n            this.removeEventListener(ce[1], Te, Te.$), delete this[de];\n          }\n      }\n      return D ? b ? Y : N : b ? H : te;\n    }\n    var tt = t.map({\n      mouseenter: \"mouseover\",\n      mouseleave: \"mouseout\"\n    });\n    a && tt.forEach(function(c) {\n      \"on\" + c in a && tt.remove(c);\n    });\n    function Je(c, b) {\n      return function(A) {\n        var C = t.event;\n        t.event = A, b[0] = this.__data__;\n        try {\n          c.apply(this, b);\n        } finally {\n          t.event = C;\n        }\n      };\n    }\n    function it(c, b) {\n      var A = Je(c, b);\n      return function(C) {\n        var D = this, E = C.relatedTarget;\n        (!E || E !== D && !(E.compareDocumentPosition(D) & 8)) && A.call(D, C);\n      };\n    }\n    var at, Tt = 0;\n    function gt(c) {\n      var b = \".dragsuppress-\" + ++Tt, A = \"click\" + b, C = t.select(o(c)).on(\"touchmove\" + b, ee).on(\"dragstart\" + b, ee).on(\"selectstart\" + b, ee);\n      if (at == null && (at = \"onselectstart\" in c ? !1 : P(c.style, \"userSelect\")), at) {\n        var D = i(c).style, E = D[at];\n        D[at] = \"none\";\n      }\n      return function(q) {\n        if (C.on(b, null), at && (D[at] = E), q) {\n          var N = function() {\n            C.on(A, null);\n          };\n          C.on(A, function() {\n            ee(), N();\n          }, !0), setTimeout(N, 0);\n        }\n      };\n    }\n    t.mouse = function(c) {\n      return pt(c, re());\n    };\n    var He = this.navigator && /WebKit/.test(this.navigator.userAgent) ? -1 : 0;\n    function pt(c, b) {\n      b.changedTouches && (b = b.changedTouches[0]);\n      var A = c.ownerSVGElement || c;\n      if (A.createSVGPoint) {\n        var C = A.createSVGPoint();\n        if (He < 0) {\n          var D = o(c);\n          if (D.scrollX || D.scrollY) {\n            A = t.select(\"body\").append(\"svg\").style({\n              position: \"absolute\",\n              top: 0,\n              left: 0,\n              margin: 0,\n              padding: 0,\n              border: \"none\"\n            }, \"important\");\n            var E = A[0][0].getScreenCTM();\n            He = !(E.f || E.e), A.remove();\n          }\n        }\n        return He ? (C.x = b.pageX, C.y = b.pageY) : (C.x = b.clientX, C.y = b.clientY), C = C.matrixTransform(c.getScreenCTM().inverse()), [C.x, C.y];\n      }\n      var q = c.getBoundingClientRect();\n      return [b.clientX - q.left - c.clientLeft, b.clientY - q.top - c.clientTop];\n    }\n    t.touch = function(c, b, A) {\n      if (arguments.length < 3 && (A = b, b = re().changedTouches), b) {\n        for (var C = 0, D = b.length, E; C < D; ++C)\n          if ((E = b[C]).identifier === A)\n            return pt(c, E);\n      }\n    }, t.behavior.drag = function() {\n      var c = ae(D, \"drag\", \"dragstart\", \"dragend\"), b = null, A = E(H, t.mouse, o, \"mousemove\", \"mouseup\"), C = E(bt, t.touch, V, \"touchmove\", \"touchend\");\n      function D() {\n        this.on(\"mousedown.drag\", A).on(\"touchstart.drag\", C);\n      }\n      function E(q, N, Y, te, ne) {\n        return function() {\n          var ce = this, de = t.event.target.correspondingElement || t.event.target, Te = ce.parentNode, Ae = c.of(ce, arguments), he = 0, ye = q(), be = \".drag\" + (ye == null ? \"\" : \"-\" + ye), Se, De = t.select(Y(de)).on(te + be, mt).on(ne + be, xt), we = gt(de), Ze = N(Te, ye);\n          b ? (Se = b.apply(ce, arguments), Se = [Se.x - Ze[0], Se.y - Ze[1]]) : Se = [0, 0], Ae({\n            type: \"dragstart\"\n          });\n          function mt() {\n            var yt = N(Te, ye), Lt, Dt;\n            yt && (Lt = yt[0] - Ze[0], Dt = yt[1] - Ze[1], he |= Lt | Dt, Ze = yt, Ae({\n              type: \"drag\",\n              x: yt[0] + Se[0],\n              y: yt[1] + Se[1],\n              dx: Lt,\n              dy: Dt\n            }));\n          }\n          function xt() {\n            N(Te, ye) && (De.on(te + be, null).on(ne + be, null), we(he), Ae({\n              type: \"dragend\"\n            }));\n          }\n        };\n      }\n      return D.origin = function(q) {\n        return arguments.length ? (b = q, D) : b;\n      }, t.rebind(D, c, \"on\");\n    };\n    function bt() {\n      return t.event.changedTouches[0].identifier;\n    }\n    t.touches = function(c, b) {\n      return arguments.length < 2 && (b = re().touches), b ? n(b).map(function(A) {\n        var C = pt(c, A);\n        return C.identifier = A.identifier, C;\n      }) : [];\n    };\n    var Ke = 1e-6, st = Ke * Ke, rt = Math.PI, ct = 2 * rt, X = ct - Ke, se = rt / 2, ie = rt / 180, fe = 180 / rt;\n    function ke(c, b, A) {\n      return (b[0] - c[0]) * (A[1] - c[1]) - (b[1] - c[1]) * (A[0] - c[0]);\n    }\n    function _e(c) {\n      return c > 1 ? se : c < -1 ? -se : Math.asin(c);\n    }\n    function Ge(c) {\n      return ((c = Math.exp(c)) - 1 / c) / 2;\n    }\n    function je(c) {\n      return ((c = Math.exp(c)) + 1 / c) / 2;\n    }\n    function Ee(c) {\n      return ((c = Math.exp(2 * c)) - 1) / (c + 1);\n    }\n    var oe = Math.SQRT2, Ce = 2, Be = 4;\n    t.interpolateZoom = function(c, b) {\n      var A = c[0], C = c[1], D = c[2], E = b[0], q = b[1], N = b[2], Y = E - A, te = q - C, ne = Y * Y + te * te, ce, de;\n      if (ne < st)\n        de = Math.log(N / D) / oe, ce = function(Se) {\n          return [A + Se * Y, C + Se * te, D * Math.exp(oe * Se * de)];\n        };\n      else {\n        var Te = Math.sqrt(ne), Ae = (N * N - D * D + Be * ne) / (2 * D * Ce * Te), he = (N * N - D * D - Be * ne) / (2 * N * Ce * Te), ye = Math.log(Math.sqrt(Ae * Ae + 1) - Ae), be = Math.log(Math.sqrt(he * he + 1) - he);\n        de = (be - ye) / oe, ce = function(Se) {\n          var De = Se * de, we = je(ye), Ze = D / (Ce * Te) * (we * Ee(oe * De + ye) - Ge(ye));\n          return [A + Ze * Y, C + Ze * te, D * we / je(oe * De + ye)];\n        };\n      }\n      return ce.duration = de * 1e3, ce;\n    }, t.behavior.zoom = function() {\n      var c = {\n        x: 0,\n        y: 0,\n        k: 1\n      }, b, A, C, D = [960, 500], E = Xe, q = 250, N = 0, Y = \"mousedown.zoom\", te = \"mousemove.zoom\", ne = \"mouseup.zoom\", ce, de = \"touchstart.zoom\", Te, Ae = ae(De, \"zoomstart\", \"zoom\", \"zoomend\"), he, ye, be, Se;\n      Pt || (Pt = \"onwheel\" in a ? (Et = function() {\n        return -t.event.deltaY * (t.event.deltaMode ? 120 : 1);\n      }, \"wheel\") : \"onmousewheel\" in a ? (Et = function() {\n        return t.event.wheelDelta;\n      }, \"mousewheel\") : (Et = function() {\n        return -t.event.detail;\n      }, \"MozMousePixelScroll\"));\n      function De(dt) {\n        dt.on(Y, Gt).on(Pt + \".zoom\", Yr).on(\"dblclick.zoom\", xr).on(de, gr);\n      }\n      De.event = function(dt) {\n        dt.each(function() {\n          var Zt = Ae.of(this, arguments), Jt = c;\n          Al ? t.select(this).transition().each(\"start.zoom\", function() {\n            c = this.__chart__ || {\n              x: 0,\n              y: 0,\n              k: 1\n            }, Dt(Zt);\n          }).tween(\"zoom:zoom\", function() {\n            var yr = D[0], Gr = D[1], un = A ? A[0] : yr / 2, kn = A ? A[1] : Gr / 2, $n = t.interpolateZoom([(un - c.x) / c.k, (kn - c.y) / c.k, yr / c.k], [(un - Jt.x) / Jt.k, (kn - Jt.y) / Jt.k, yr / Jt.k]);\n            return function(Un) {\n              var zn = $n(Un), Qn = yr / zn[2];\n              this.__chart__ = c = {\n                x: un - zn[0] * Qn,\n                y: kn - zn[1] * Qn,\n                k: Qn\n              }, Wt(Zt);\n            };\n          }).each(\"interrupt.zoom\", function() {\n            Ft(Zt);\n          }).each(\"end.zoom\", function() {\n            Ft(Zt);\n          }) : (this.__chart__ = c, Dt(Zt), Wt(Zt), Ft(Zt));\n        });\n      }, De.translate = function(dt) {\n        return arguments.length ? (c = {\n          x: +dt[0],\n          y: +dt[1],\n          k: c.k\n        }, Lt(), De) : [c.x, c.y];\n      }, De.scale = function(dt) {\n        return arguments.length ? (c = {\n          x: c.x,\n          y: c.y,\n          k: null\n        }, mt(+dt), Lt(), De) : c.k;\n      }, De.scaleExtent = function(dt) {\n        return arguments.length ? (E = dt == null ? Xe : [+dt[0], +dt[1]], De) : E;\n      }, De.center = function(dt) {\n        return arguments.length ? (C = dt && [+dt[0], +dt[1]], De) : C;\n      }, De.size = function(dt) {\n        return arguments.length ? (D = dt && [+dt[0], +dt[1]], De) : D;\n      }, De.duration = function(dt) {\n        return arguments.length ? (q = +dt, De) : q;\n      }, De.x = function(dt) {\n        return arguments.length ? (ye = dt, he = dt.copy(), c = {\n          x: 0,\n          y: 0,\n          k: 1\n        }, De) : ye;\n      }, De.y = function(dt) {\n        return arguments.length ? (Se = dt, be = dt.copy(), c = {\n          x: 0,\n          y: 0,\n          k: 1\n        }, De) : Se;\n      };\n      function we(dt) {\n        return [(dt[0] - c.x) / c.k, (dt[1] - c.y) / c.k];\n      }\n      function Ze(dt) {\n        return [dt[0] * c.k + c.x, dt[1] * c.k + c.y];\n      }\n      function mt(dt) {\n        c.k = Math.max(E[0], Math.min(E[1], dt));\n      }\n      function xt(dt, Zt) {\n        Zt = Ze(Zt), c.x += dt[0] - Zt[0], c.y += dt[1] - Zt[1];\n      }\n      function yt(dt, Zt, Jt, yr) {\n        dt.__chart__ = {\n          x: c.x,\n          y: c.y,\n          k: c.k\n        }, mt(Math.pow(2, yr)), xt(A = Zt, Jt), dt = t.select(dt), q > 0 && (dt = dt.transition().duration(q)), dt.call(De.event);\n      }\n      function Lt() {\n        ye && ye.domain(he.range().map(function(dt) {\n          return (dt - c.x) / c.k;\n        }).map(he.invert)), Se && Se.domain(be.range().map(function(dt) {\n          return (dt - c.y) / c.k;\n        }).map(be.invert));\n      }\n      function Dt(dt) {\n        N++ || dt({\n          type: \"zoomstart\"\n        });\n      }\n      function Wt(dt) {\n        Lt(), dt({\n          type: \"zoom\",\n          scale: c.k,\n          translate: [c.x, c.y]\n        });\n      }\n      function Ft(dt) {\n        --N || (dt({\n          type: \"zoomend\"\n        }), A = null);\n      }\n      function Gt() {\n        var dt = this, Zt = Ae.of(dt, arguments), Jt = 0, yr = t.select(o(dt)).on(te, kn).on(ne, $n), Gr = we(t.mouse(dt)), un = gt(dt);\n        xd.call(dt), Dt(Zt);\n        function kn() {\n          Jt = 1, xt(t.mouse(dt), Gr), Wt(Zt);\n        }\n        function $n() {\n          yr.on(te, null).on(ne, null), un(Jt), Ft(Zt);\n        }\n      }\n      function gr() {\n        var dt = this, Zt = Ae.of(dt, arguments), Jt = {}, yr = 0, Gr, un = \".zoom-\" + t.event.changedTouches[0].identifier, kn = \"touchmove\" + un, $n = \"touchend\" + un, Un = [], zn = t.select(dt), Qn = gt(dt);\n        ea(), Dt(Zt), zn.on(Y, null).on(de, ea);\n        function Cn() {\n          var ei = t.touches(dt);\n          return Gr = c.k, ei.forEach(function(An) {\n            An.identifier in Jt && (Jt[An.identifier] = we(An));\n          }), ei;\n        }\n        function ea() {\n          var ei = t.event.target;\n          t.select(ei).on(kn, Ml).on($n, CR), Un.push(ei);\n          for (var An = t.event.changedTouches, Ca = 0, Ai = An.length; Ca < Ai; ++Ca)\n            Jt[An[Ca].identifier] = null;\n          var La = Cn(), Ds = Date.now();\n          if (La.length === 1) {\n            if (Ds - Te < 500) {\n              var Sl = La[0];\n              yt(dt, Sl, Jt[Sl.identifier], Math.floor(Math.log(c.k) / Math.LN2) + 1), ee();\n            }\n            Te = Ds;\n          } else if (La.length > 1) {\n            var Sl = La[0], Po = La[1], kd = Sl[0] - Po[0], Nx = Sl[1] - Po[1];\n            yr = kd * kd + Nx * Nx;\n          }\n        }\n        function Ml() {\n          var ei = t.touches(dt), An, Ca, Ai, La;\n          xd.call(dt);\n          for (var Ds = 0, Sl = ei.length; Ds < Sl; ++Ds, La = null)\n            if (Ai = ei[Ds], La = Jt[Ai.identifier]) {\n              if (Ca) break;\n              An = Ai, Ca = La;\n            }\n          if (La) {\n            var Po = (Po = Ai[0] - An[0]) * Po + (Po = Ai[1] - An[1]) * Po, kd = yr && Math.sqrt(Po / yr);\n            An = [(An[0] + Ai[0]) / 2, (An[1] + Ai[1]) / 2], Ca = [(Ca[0] + La[0]) / 2, (Ca[1] + La[1]) / 2], mt(kd * Gr);\n          }\n          Te = null, xt(An, Ca), Wt(Zt);\n        }\n        function CR() {\n          if (t.event.touches.length) {\n            for (var ei = t.event.changedTouches, An = 0, Ca = ei.length; An < Ca; ++An)\n              delete Jt[ei[An].identifier];\n            for (var Ai in Jt)\n              return void Cn();\n          }\n          t.selectAll(Un).on(un, null), zn.on(Y, Gt).on(de, gr), Qn(), Ft(Zt);\n        }\n      }\n      function Yr() {\n        var dt = Ae.of(this, arguments);\n        ce ? clearTimeout(ce) : (xd.call(this), b = we(A = C || t.mouse(this)), Dt(dt)), ce = setTimeout(function() {\n          ce = null, Ft(dt);\n        }, 50), ee(), mt(Math.pow(2, Et() * 2e-3) * c.k), xt(A, b), Wt(dt);\n      }\n      function xr() {\n        var dt = t.mouse(this), Zt = Math.log(c.k) / Math.LN2;\n        yt(this, dt, we(dt), t.event.shiftKey ? Math.ceil(Zt) - 1 : Math.floor(Zt) + 1);\n      }\n      return t.rebind(De, Ae, \"on\");\n    };\n    var Xe = [0, 1 / 0], Et, Pt;\n    t.color = It;\n    function It() {\n    }\n    It.prototype.toString = function() {\n      return this.rgb() + \"\";\n    }, t.hsl = kt;\n    function kt(c, b, A) {\n      return this instanceof kt ? (this.h = +c, this.s = +b, void (this.l = +A)) : arguments.length < 2 ? c instanceof kt ? new kt(c.h, c.s, c.l) : Ka(\"\" + c, to, kt) : new kt(c, b, A);\n    }\n    var qt = kt.prototype = new It();\n    qt.brighter = function(c) {\n      return c = Math.pow(0.7, arguments.length ? c : 1), new kt(this.h, this.s, this.l / c);\n    }, qt.darker = function(c) {\n      return c = Math.pow(0.7, arguments.length ? c : 1), new kt(this.h, this.s, c * this.l);\n    }, qt.rgb = function() {\n      return Ot(this.h, this.s, this.l);\n    };\n    function Ot(c, b, A) {\n      var C, D;\n      c = isNaN(c) ? 0 : (c %= 360) < 0 ? c + 360 : c, b = isNaN(b) || b < 0 ? 0 : b > 1 ? 1 : b, A = A < 0 ? 0 : A > 1 ? 1 : A, D = A <= 0.5 ? A * (1 + b) : A + b - A * b, C = 2 * A - D;\n      function E(N) {\n        return N > 360 ? N -= 360 : N < 0 && (N += 360), N < 60 ? C + (D - C) * N / 60 : N < 180 ? D : N < 240 ? C + (D - C) * (240 - N) / 60 : C;\n      }\n      function q(N) {\n        return Math.round(E(N) * 255);\n      }\n      return new Pr(q(c + 120), q(c), q(c - 120));\n    }\n    t.hcl = wt;\n    function wt(c, b, A) {\n      return this instanceof wt ? (this.h = +c, this.c = +b, void (this.l = +A)) : arguments.length < 2 ? c instanceof wt ? new wt(c.h, c.c, c.l) : c instanceof $t ? tr(c.l, c.a, c.b) : tr((c = ln((c = t.rgb(c)).r, c.g, c.b)).l, c.a, c.b) : new wt(c, b, A);\n    }\n    var Yt = wt.prototype = new It();\n    Yt.brighter = function(c) {\n      return new wt(this.h, this.c, Math.min(100, this.l + zt * (arguments.length ? c : 1)));\n    }, Yt.darker = function(c) {\n      return new wt(this.h, this.c, Math.max(0, this.l - zt * (arguments.length ? c : 1)));\n    }, Yt.rgb = function() {\n      return Kt(this.h, this.c, this.l).rgb();\n    };\n    function Kt(c, b, A) {\n      return isNaN(c) && (c = 0), isNaN(b) && (b = 0), new $t(A, Math.cos(c *= ie) * b, Math.sin(c) * b);\n    }\n    t.lab = $t;\n    function $t(c, b, A) {\n      return this instanceof $t ? (this.l = +c, this.a = +b, void (this.b = +A)) : arguments.length < 2 ? c instanceof $t ? new $t(c.l, c.a, c.b) : c instanceof wt ? Kt(c.h, c.c, c.l) : ln((c = Pr(c)).r, c.g, c.b) : new $t(c, b, A);\n    }\n    var zt = 18, Mt = 0.95047, St = 1, Ut = 1.08883, fr = $t.prototype = new It();\n    fr.brighter = function(c) {\n      return new $t(Math.min(100, this.l + zt * (arguments.length ? c : 1)), this.a, this.b);\n    }, fr.darker = function(c) {\n      return new $t(Math.max(0, this.l - zt * (arguments.length ? c : 1)), this.a, this.b);\n    }, fr.rgb = function() {\n      return Ct(this.l, this.a, this.b);\n    };\n    function Ct(c, b, A) {\n      var C = (c + 16) / 116, D = C + b / 500, E = C - A / 200;\n      return D = Ht(D) * Mt, C = Ht(C) * St, E = Ht(E) * Ut, new Pr(ar(3.2404542 * D - 1.5371385 * C - 0.4985314 * E), ar(-0.969266 * D + 1.8760108 * C + 0.041556 * E), ar(0.0556434 * D - 0.2040259 * C + 1.0572252 * E));\n    }\n    function tr(c, b, A) {\n      return c > 0 ? new wt(Math.atan2(A, b) * fe, Math.sqrt(b * b + A * A), c) : new wt(NaN, NaN, c);\n    }\n    function Ht(c) {\n      return c > 0.206893034 ? c * c * c : (c - 4 / 29) / 7.787037;\n    }\n    function $r(c) {\n      return c > 8856e-6 ? Math.pow(c, 1 / 3) : 7.787037 * c + 4 / 29;\n    }\n    function ar(c) {\n      return Math.round(255 * (c <= 304e-5 ? 12.92 * c : 1.055 * Math.pow(c, 1 / 2.4) - 0.055));\n    }\n    t.rgb = Pr;\n    function Pr(c, b, A) {\n      return this instanceof Pr ? (this.r = ~~c, this.g = ~~b, void (this.b = ~~A)) : arguments.length < 2 ? c instanceof Pr ? new Pr(c.r, c.g, c.b) : Ka(\"\" + c, Pr, Ot) : new Pr(c, b, A);\n    }\n    function Ur(c) {\n      return new Pr(c >> 16, c >> 8 & 255, c & 255);\n    }\n    function Pn(c) {\n      return Ur(c) + \"\";\n    }\n    var hn = Pr.prototype = new It();\n    hn.brighter = function(c) {\n      c = Math.pow(0.7, arguments.length ? c : 1);\n      var b = this.r, A = this.g, C = this.b, D = 30;\n      return !b && !A && !C ? new Pr(D, D, D) : (b && b < D && (b = D), A && A < D && (A = D), C && C < D && (C = D), new Pr(Math.min(255, b / c), Math.min(255, A / c), Math.min(255, C / c)));\n    }, hn.darker = function(c) {\n      return c = Math.pow(0.7, arguments.length ? c : 1), new Pr(c * this.r, c * this.g, c * this.b);\n    }, hn.hsl = function() {\n      return to(this.r, this.g, this.b);\n    }, hn.toString = function() {\n      return \"#\" + vn(this.r) + vn(this.g) + vn(this.b);\n    };\n    function vn(c) {\n      return c < 16 ? \"0\" + Math.max(0, c).toString(16) : Math.min(255, c).toString(16);\n    }\n    function Ka(c, b, A) {\n      var C = 0, D = 0, E = 0, q, N, Y;\n      if (q = /([a-z]+)\\((.*)\\)/.exec(c = c.toLowerCase()), q)\n        switch (N = q[2].split(\",\"), q[1]) {\n          case \"hsl\":\n            return A(parseFloat(N[0]), parseFloat(N[1]) / 100, parseFloat(N[2]) / 100);\n          case \"rgb\":\n            return b(ro(N[0]), ro(N[1]), ro(N[2]));\n        }\n      return (Y = ka.get(c)) ? b(Y.r, Y.g, Y.b) : (c != null && c.charAt(0) === \"#\" && !isNaN(Y = parseInt(c.slice(1), 16)) && (c.length === 4 ? (C = (Y & 3840) >> 4, C = C >> 4 | C, D = Y & 240, D = D >> 4 | D, E = Y & 15, E = E << 4 | E) : c.length === 7 && (C = (Y & 16711680) >> 16, D = (Y & 65280) >> 8, E = Y & 255)), b(C, D, E));\n    }\n    function to(c, b, A) {\n      var C = Math.min(c /= 255, b /= 255, A /= 255), D = Math.max(c, b, A), E = D - C, q, N, Y = (D + C) / 2;\n      return E ? (N = Y < 0.5 ? E / (D + C) : E / (2 - D - C), c == D ? q = (b - A) / E + (b < A ? 6 : 0) : b == D ? q = (A - c) / E + 2 : q = (c - b) / E + 4, q *= 60) : (q = NaN, N = Y > 0 && Y < 1 ? 0 : q), new kt(q, N, Y);\n    }\n    function ln(c, b, A) {\n      c = Xn(c), b = Xn(b), A = Xn(A);\n      var C = $r((0.4124564 * c + 0.3575761 * b + 0.1804375 * A) / Mt), D = $r((0.2126729 * c + 0.7151522 * b + 0.072175 * A) / St), E = $r((0.0193339 * c + 0.119192 * b + 0.9503041 * A) / Ut);\n      return $t(116 * D - 16, 500 * (C - D), 200 * (D - E));\n    }\n    function Xn(c) {\n      return (c /= 255) <= 0.04045 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);\n    }\n    function ro(c) {\n      var b = parseFloat(c);\n      return c.charAt(c.length - 1) === \"%\" ? Math.round(b * 2.55) : b;\n    }\n    var ka = t.map({\n      aliceblue: 15792383,\n      antiquewhite: 16444375,\n      aqua: 65535,\n      aquamarine: 8388564,\n      azure: 15794175,\n      beige: 16119260,\n      bisque: 16770244,\n      black: 0,\n      blanchedalmond: 16772045,\n      blue: 255,\n      blueviolet: 9055202,\n      brown: 10824234,\n      burlywood: 14596231,\n      cadetblue: 6266528,\n      chartreuse: 8388352,\n      chocolate: 13789470,\n      coral: 16744272,\n      cornflowerblue: 6591981,\n      cornsilk: 16775388,\n      crimson: 14423100,\n      cyan: 65535,\n      darkblue: 139,\n      darkcyan: 35723,\n      darkgoldenrod: 12092939,\n      darkgray: 11119017,\n      darkgreen: 25600,\n      darkgrey: 11119017,\n      darkkhaki: 12433259,\n      darkmagenta: 9109643,\n      darkolivegreen: 5597999,\n      darkorange: 16747520,\n      darkorchid: 10040012,\n      darkred: 9109504,\n      darksalmon: 15308410,\n      darkseagreen: 9419919,\n      darkslateblue: 4734347,\n      darkslategray: 3100495,\n      darkslategrey: 3100495,\n      darkturquoise: 52945,\n      darkviolet: 9699539,\n      deeppink: 16716947,\n      deepskyblue: 49151,\n      dimgray: 6908265,\n      dimgrey: 6908265,\n      dodgerblue: 2003199,\n      firebrick: 11674146,\n      floralwhite: 16775920,\n      forestgreen: 2263842,\n      fuchsia: 16711935,\n      gainsboro: 14474460,\n      ghostwhite: 16316671,\n      gold: 16766720,\n      goldenrod: 14329120,\n      gray: 8421504,\n      green: 32768,\n      greenyellow: 11403055,\n      grey: 8421504,\n      honeydew: 15794160,\n      hotpink: 16738740,\n      indianred: 13458524,\n      indigo: 4915330,\n      ivory: 16777200,\n      khaki: 15787660,\n      lavender: 15132410,\n      lavenderblush: 16773365,\n      lawngreen: 8190976,\n      lemonchiffon: 16775885,\n      lightblue: 11393254,\n      lightcoral: 15761536,\n      lightcyan: 14745599,\n      lightgoldenrodyellow: 16448210,\n      lightgray: 13882323,\n      lightgreen: 9498256,\n      lightgrey: 13882323,\n      lightpink: 16758465,\n      lightsalmon: 16752762,\n      lightseagreen: 2142890,\n      lightskyblue: 8900346,\n      lightslategray: 7833753,\n      lightslategrey: 7833753,\n      lightsteelblue: 11584734,\n      lightyellow: 16777184,\n      lime: 65280,\n      limegreen: 3329330,\n      linen: 16445670,\n      magenta: 16711935,\n      maroon: 8388608,\n      mediumaquamarine: 6737322,\n      mediumblue: 205,\n      mediumorchid: 12211667,\n      mediumpurple: 9662683,\n      mediumseagreen: 3978097,\n      mediumslateblue: 8087790,\n      mediumspringgreen: 64154,\n      mediumturquoise: 4772300,\n      mediumvioletred: 13047173,\n      midnightblue: 1644912,\n      mintcream: 16121850,\n      mistyrose: 16770273,\n      moccasin: 16770229,\n      navajowhite: 16768685,\n      navy: 128,\n      oldlace: 16643558,\n      olive: 8421376,\n      olivedrab: 7048739,\n      orange: 16753920,\n      orangered: 16729344,\n      orchid: 14315734,\n      palegoldenrod: 15657130,\n      palegreen: 10025880,\n      paleturquoise: 11529966,\n      palevioletred: 14381203,\n      papayawhip: 16773077,\n      peachpuff: 16767673,\n      peru: 13468991,\n      pink: 16761035,\n      plum: 14524637,\n      powderblue: 11591910,\n      purple: 8388736,\n      rebeccapurple: 6697881,\n      red: 16711680,\n      rosybrown: 12357519,\n      royalblue: 4286945,\n      saddlebrown: 9127187,\n      salmon: 16416882,\n      sandybrown: 16032864,\n      seagreen: 3050327,\n      seashell: 16774638,\n      sienna: 10506797,\n      silver: 12632256,\n      skyblue: 8900331,\n      slateblue: 6970061,\n      slategray: 7372944,\n      slategrey: 7372944,\n      snow: 16775930,\n      springgreen: 65407,\n      steelblue: 4620980,\n      tan: 13808780,\n      teal: 32896,\n      thistle: 14204888,\n      tomato: 16737095,\n      turquoise: 4251856,\n      violet: 15631086,\n      wheat: 16113331,\n      white: 16777215,\n      whitesmoke: 16119285,\n      yellow: 16776960,\n      yellowgreen: 10145074\n    });\n    ka.forEach(function(c, b) {\n      ka.set(c, Ur(b));\n    });\n    function mr(c) {\n      return typeof c == \"function\" ? c : function() {\n        return c;\n      };\n    }\n    t.functor = mr, t.xhr = Aa(V);\n    function Aa(c) {\n      return function(b, A, C) {\n        return arguments.length === 2 && typeof A == \"function\" && (C = A, A = null), Ja(b, A, c, C);\n      };\n    }\n    function Ja(c, b, A, C) {\n      var D = {}, E = t.dispatch(\"beforesend\", \"progress\", \"load\", \"error\"), q = {}, N = new XMLHttpRequest(), Y = null;\n      self.XDomainRequest && !(\"withCredentials\" in N) && /^(http(s)?:)?\\/\\//.test(c) && (N = new XDomainRequest()), \"onload\" in N ? N.onload = N.onerror = te : N.onreadystatechange = function() {\n        N.readyState > 3 && te();\n      };\n      function te() {\n        var ne = N.status, ce;\n        if (!ne && zr(N) || ne >= 200 && ne < 300 || ne === 304) {\n          try {\n            ce = A.call(D, N);\n          } catch (de) {\n            E.error.call(D, de);\n            return;\n          }\n          E.load.call(D, ce);\n        } else\n          E.error.call(D, N);\n      }\n      return N.onprogress = function(ne) {\n        var ce = t.event;\n        t.event = ne;\n        try {\n          E.progress.call(D, N);\n        } finally {\n          t.event = ce;\n        }\n      }, D.header = function(ne, ce) {\n        return ne = (ne + \"\").toLowerCase(), arguments.length < 2 ? q[ne] : (ce == null ? delete q[ne] : q[ne] = ce + \"\", D);\n      }, D.mimeType = function(ne) {\n        return arguments.length ? (b = ne == null ? null : ne + \"\", D) : b;\n      }, D.responseType = function(ne) {\n        return arguments.length ? (Y = ne, D) : Y;\n      }, D.response = function(ne) {\n        return A = ne, D;\n      }, [\"get\", \"post\"].forEach(function(ne) {\n        D[ne] = function() {\n          return D.send.apply(D, [ne].concat(n(arguments)));\n        };\n      }), D.send = function(ne, ce, de) {\n        if (arguments.length === 2 && typeof ce == \"function\" && (de = ce, ce = null), N.open(ne, c, !0), b != null && !(\"accept\" in q) && (q.accept = b + \",*/*\"), N.setRequestHeader) for (var Te in q) N.setRequestHeader(Te, q[Te]);\n        return b != null && N.overrideMimeType && N.overrideMimeType(b), Y != null && (N.responseType = Y), de != null && D.on(\"error\", de).on(\"load\", function(Ae) {\n          de(null, Ae);\n        }), E.beforesend.call(D, N), N.send(ce ?? null), D;\n      }, D.abort = function() {\n        return N.abort(), D;\n      }, t.rebind(D, E, \"on\"), C == null ? D : D.get(no(C));\n    }\n    function no(c) {\n      return c.length === 1 ? function(b, A) {\n        c(b == null ? A : null);\n      } : c;\n    }\n    function zr(c) {\n      var b = c.responseType;\n      return b && b !== \"text\" ? c.response : c.responseText;\n    }\n    t.dsv = function(c, b) {\n      var A = new RegExp('[\"' + c + `\n]`), C = c.charCodeAt(0);\n      function D(te, ne, ce) {\n        arguments.length < 3 && (ce = ne, ne = null);\n        var de = Ja(te, b, ne == null ? E : q(ne), ce);\n        return de.row = function(Te) {\n          return arguments.length ? de.response((ne = Te) == null ? E : q(Te)) : ne;\n        }, de;\n      }\n      function E(te) {\n        return D.parse(te.responseText);\n      }\n      function q(te) {\n        return function(ne) {\n          return D.parse(ne.responseText, te);\n        };\n      }\n      D.parse = function(te, ne) {\n        var ce;\n        return D.parseRows(te, function(de, Te) {\n          if (ce) return ce(de, Te - 1);\n          var Ae = function(he) {\n            for (var ye = {}, be = de.length, Se = 0; Se < be; ++Se)\n              ye[de[Se]] = he[Se];\n            return ye;\n          };\n          ce = ne ? function(he, ye) {\n            return ne(Ae(he), ye);\n          } : Ae;\n        });\n      }, D.parseRows = function(te, ne) {\n        var ce = {}, de = {}, Te = [], Ae = te.length, he = 0, ye = 0, be, Se;\n        function De() {\n          if (he >= Ae) return de;\n          if (Se) return Se = !1, ce;\n          var Ze = he;\n          if (te.charCodeAt(Ze) === 34) {\n            for (var mt = Ze; mt++ < Ae; )\n              if (te.charCodeAt(mt) === 34) {\n                if (te.charCodeAt(mt + 1) !== 34) break;\n                ++mt;\n              }\n            he = mt + 2;\n            var xt = te.charCodeAt(mt + 1);\n            return xt === 13 ? (Se = !0, te.charCodeAt(mt + 2) === 10 && ++he) : xt === 10 && (Se = !0), te.slice(Ze + 1, mt).replace(/\"\"/g, '\"');\n          }\n          for (; he < Ae; ) {\n            var xt = te.charCodeAt(he++), yt = 1;\n            if (xt === 10) Se = !0;\n            else if (xt === 13)\n              Se = !0, te.charCodeAt(he) === 10 && (++he, ++yt);\n            else if (xt !== C) continue;\n            return te.slice(Ze, he - yt);\n          }\n          return te.slice(Ze);\n        }\n        for (; (be = De()) !== de; ) {\n          for (var we = []; be !== ce && be !== de; )\n            we.push(be), be = De();\n          ne && (we = ne(we, ye++)) == null || Te.push(we);\n        }\n        return Te;\n      }, D.format = function(te) {\n        if (Array.isArray(te[0])) return D.formatRows(te);\n        var ne = new K(), ce = [];\n        return te.forEach(function(de) {\n          for (var Te in de)\n            ne.has(Te) || ce.push(ne.add(Te));\n        }), [ce.map(Y).join(c)].concat(te.map(function(de) {\n          return ce.map(function(Te) {\n            return Y(de[Te]);\n          }).join(c);\n        })).join(`\n`);\n      }, D.formatRows = function(te) {\n        return te.map(N).join(`\n`);\n      };\n      function N(te) {\n        return te.map(Y).join(c);\n      }\n      function Y(te) {\n        return A.test(te) ? '\"' + te.replace(/\\\"/g, '\"\"') + '\"' : te;\n      }\n      return D;\n    }, t.csv = t.dsv(\",\", \"text/csv\"), t.tsv = t.dsv(\"\t\", \"text/tab-separated-values\");\n    var tn, Kn, Ma, Ti, Jn = this[P(this, \"requestAnimationFrame\")] || function(c) {\n      setTimeout(c, 17);\n    };\n    t.timer = function() {\n      ha.apply(this, arguments);\n    };\n    function ha(c, b, A) {\n      var C = arguments.length;\n      C < 2 && (b = 0), C < 3 && (A = Date.now());\n      var D = A + b, E = {\n        c,\n        t: D,\n        n: null\n      };\n      return Kn ? Kn.n = E : tn = E, Kn = E, Ma || (Ti = clearTimeout(Ti), Ma = 1, Jn(Ts)), E;\n    }\n    function Ts() {\n      var c = od(), b = S_() - c;\n      b > 24 ? (isFinite(b) && (clearTimeout(Ti), Ti = setTimeout(Ts, b)), Ma = 0) : (Ma = 1, Jn(Ts));\n    }\n    t.timer.flush = function() {\n      od(), S_();\n    };\n    function od() {\n      for (var c = Date.now(), b = tn; b; )\n        c >= b.t && b.c(c - b.t) && (b.c = null), b = b.n;\n      return c;\n    }\n    function S_() {\n      for (var c, b = tn, A = 1 / 0; b; )\n        b.c ? (b.t < A && (A = b.t), b = (c = b).n) : b = c ? c.n = b.n : tn = b.n;\n      return Kn = c, A;\n    }\n    t.round = function(c, b) {\n      return b ? Math.round(c * (b = Math.pow(10, b))) / b : Math.round(c);\n    }, t.geom = {};\n    function ks(c) {\n      return c[0];\n    }\n    function of(c) {\n      return c[1];\n    }\n    t.geom.hull = function(c) {\n      var b = ks, A = of;\n      if (arguments.length) return C(c);\n      function C(D) {\n        if (D.length < 3) return [];\n        var E = mr(b), q = mr(A), N, Y = D.length, te = [], ne = [];\n        for (N = 0; N < Y; N++)\n          te.push([+E.call(this, D[N], N), +q.call(this, D[N], N), N]);\n        for (te.sort(F8), N = 0; N < Y; N++) ne.push([te[N][0], -te[N][1]]);\n        var ce = C_(te), de = C_(ne), Te = de[0] === ce[0], Ae = de[de.length - 1] === ce[ce.length - 1], he = [];\n        for (N = ce.length - 1; N >= 0; --N) he.push(D[te[ce[N]][2]]);\n        for (N = +Te; N < de.length - Ae; ++N) he.push(D[te[de[N]][2]]);\n        return he;\n      }\n      return C.x = function(D) {\n        return arguments.length ? (b = D, C) : b;\n      }, C.y = function(D) {\n        return arguments.length ? (A = D, C) : A;\n      }, C;\n    };\n    function C_(c) {\n      for (var b = c.length, A = [0, 1], C = 2, D = 2; D < b; D++) {\n        for (; C > 1 && ke(c[A[C - 2]], c[A[C - 1]], c[D]) <= 0; ) --C;\n        A[C++] = D;\n      }\n      return A.slice(0, C);\n    }\n    function F8(c, b) {\n      return c[0] - b[0] || c[1] - b[1];\n    }\n    t.geom.polygon = function(c) {\n      return ue(c, ld), c;\n    };\n    var ld = t.geom.polygon.prototype = [];\n    ld.area = function() {\n      for (var c = -1, b = this.length, A, C = this[b - 1], D = 0; ++c < b; )\n        A = C, C = this[c], D += A[1] * C[0] - A[0] * C[1];\n      return D * 0.5;\n    }, ld.centroid = function(c) {\n      var b = -1, A = this.length, C = 0, D = 0, E, q = this[A - 1], N;\n      for (arguments.length || (c = -1 / (6 * this.area())); ++b < A; )\n        E = q, q = this[b], N = E[0] * q[1] - q[0] * E[1], C += (E[0] + q[0]) * N, D += (E[1] + q[1]) * N;\n      return [C * c, D * c];\n    }, ld.clip = function(c) {\n      for (var b, A = L_(c), C = -1, D = this.length - L_(this), E, q, N = this[D - 1], Y, te, ne; ++C < D; ) {\n        for (b = c.slice(), c.length = 0, Y = this[C], te = b[(q = b.length - A) - 1], E = -1; ++E < q; )\n          ne = b[E], em(ne, N, Y) ? (em(te, N, Y) || c.push(tm(te, ne, N, Y)), c.push(ne)) : em(te, N, Y) && c.push(tm(te, ne, N, Y)), te = ne;\n        A && c.push(c[0]), N = Y;\n      }\n      return c;\n    };\n    function em(c, b, A) {\n      return (A[0] - b[0]) * (c[1] - b[1]) < (A[1] - b[1]) * (c[0] - b[0]);\n    }\n    function tm(c, b, A, C) {\n      var D = c[0], E = A[0], q = b[0] - D, N = C[0] - E, Y = c[1], te = A[1], ne = b[1] - Y, ce = C[1] - te, de = (N * (Y - te) - ce * (D - E)) / (ce * q - N * ne);\n      return [D + de * q, Y + de * ne];\n    }\n    function L_(c) {\n      var b = c[0], A = c[c.length - 1];\n      return !(b[0] - A[0] || b[1] - A[1]);\n    }\n    var As, Tl, Ms, D_ = [], rm, lf, E_ = [];\n    function R8() {\n      fd(this), this.edge = this.site = this.circle = null;\n    }\n    function F_(c) {\n      var b = D_.pop() || new R8();\n      return b.site = c, b;\n    }\n    function nm(c) {\n      Cs(c), Ms.remove(c), D_.push(c), fd(c);\n    }\n    function P8(c) {\n      var b = c.circle, A = b.x, C = b.cy, D = {\n        x: A,\n        y: C\n      }, E = c.P, q = c.N, N = [c];\n      nm(c);\n      for (var Y = E; Y.circle && w(A - Y.circle.x) < Ke && w(C - Y.circle.cy) < Ke; )\n        E = Y.P, N.unshift(Y), nm(Y), Y = E;\n      N.unshift(Y), Cs(Y);\n      for (var te = q; te.circle && w(A - te.circle.x) < Ke && w(C - te.circle.cy) < Ke; )\n        q = te.N, N.push(te), nm(te), te = q;\n      N.push(te), Cs(te);\n      var ne = N.length, ce;\n      for (ce = 1; ce < ne; ++ce)\n        te = N[ce], Y = N[ce - 1], sd(te.edge, Y.site, te.site, D);\n      Y = N[0], te = N[ne - 1], te.edge = sf(Y.site, te.site, null, D), Ss(Y), Ss(te);\n    }\n    function $8(c) {\n      for (var b = c.x, A = c.y, C, D, E, q, N = Ms._; N; )\n        if (E = R_(N, A) - b, E > Ke) N = N.L;\n        else if (q = b - z8(N, A), q > Ke) {\n          if (!N.R) {\n            C = N;\n            break;\n          }\n          N = N.R;\n        } else {\n          E > -Ke ? (C = N.P, D = N) : q > -Ke ? (C = N, D = N.N) : C = D = N;\n          break;\n        }\n      var Y = F_(c);\n      if (Ms.insert(C, Y), !(!C && !D)) {\n        if (C === D) {\n          Cs(C), D = F_(C.site), Ms.insert(Y, D), Y.edge = D.edge = sf(C.site, Y.site), Ss(C), Ss(D);\n          return;\n        }\n        if (!D) {\n          Y.edge = sf(C.site, Y.site);\n          return;\n        }\n        Cs(C), Cs(D);\n        var te = C.site, ne = te.x, ce = te.y, de = c.x - ne, Te = c.y - ce, Ae = D.site, he = Ae.x - ne, ye = Ae.y - ce, be = 2 * (de * ye - Te * he), Se = de * de + Te * Te, De = he * he + ye * ye, we = {\n          x: (ye * Se - Te * De) / be + ne,\n          y: (de * De - he * Se) / be + ce\n        };\n        sd(D.edge, te, Ae, we), Y.edge = sf(te, c, null, we), D.edge = sf(c, Ae, null, we), Ss(C), Ss(D);\n      }\n    }\n    function R_(c, b) {\n      var A = c.site, C = A.x, D = A.y, E = D - b;\n      if (!E) return C;\n      var q = c.P;\n      if (!q) return -1 / 0;\n      A = q.site;\n      var N = A.x, Y = A.y, te = Y - b;\n      if (!te) return N;\n      var ne = N - C, ce = 1 / E - 1 / te, de = ne / te;\n      return ce ? (-de + Math.sqrt(de * de - 2 * ce * (ne * ne / (-2 * te) - Y + te / 2 + D - E / 2))) / ce + C : (C + N) / 2;\n    }\n    function z8(c, b) {\n      var A = c.N;\n      if (A) return R_(A, b);\n      var C = c.site;\n      return C.y === b ? C.x : 1 / 0;\n    }\n    function P_(c) {\n      this.site = c, this.edges = [];\n    }\n    P_.prototype.prepare = function() {\n      for (var c = this.edges, b = c.length, A; b--; )\n        A = c[b].edge, (!A.b || !A.a) && c.splice(b, 1);\n      return c.sort($_), c.length;\n    };\n    function I8(c) {\n      for (var b = c[0][0], A = c[1][0], C = c[0][1], D = c[1][1], E, q, N, Y, te = Tl, ne = te.length, ce, de, Te, Ae, he, ye; ne--; )\n        if (ce = te[ne], !(!ce || !ce.prepare()))\n          for (Te = ce.edges, Ae = Te.length, de = 0; de < Ae; )\n            ye = Te[de].end(), N = ye.x, Y = ye.y, he = Te[++de % Ae].start(), E = he.x, q = he.y, (w(N - E) > Ke || w(Y - q) > Ke) && (Te.splice(de, 0, new ud(j8(ce.site, ye, w(N - b) < Ke && D - Y > Ke ? {\n              x: b,\n              y: w(E - b) < Ke ? q : D\n            } : w(Y - D) < Ke && A - N > Ke ? {\n              x: w(q - D) < Ke ? E : A,\n              y: D\n            } : w(N - A) < Ke && Y - C > Ke ? {\n              x: A,\n              y: w(E - A) < Ke ? q : C\n            } : w(Y - C) < Ke && N - b > Ke ? {\n              x: w(q - C) < Ke ? E : b,\n              y: C\n            } : null), ce.site, null)), ++Ae);\n    }\n    function $_(c, b) {\n      return b.angle - c.angle;\n    }\n    function N8() {\n      fd(this), this.x = this.y = this.arc = this.site = this.cy = null;\n    }\n    function Ss(c) {\n      var b = c.P, A = c.N;\n      if (!(!b || !A)) {\n        var C = b.site, D = c.site, E = A.site;\n        if (C !== E) {\n          var q = D.x, N = D.y, Y = C.x - q, te = C.y - N, ne = E.x - q, ye = E.y - N, ce = 2 * (Y * ye - te * ne);\n          if (!(ce >= -st)) {\n            var de = Y * Y + te * te, Te = ne * ne + ye * ye, Ae = (ye * de - te * Te) / ce, he = (Y * Te - ne * de) / ce, ye = he + N, be = E_.pop() || new N8();\n            be.arc = c, be.site = D, be.x = Ae + q, be.y = ye + Math.sqrt(Ae * Ae + he * he), be.cy = ye, c.circle = be;\n            for (var Se = null, De = lf._; De; )\n              if (be.y < De.y || be.y === De.y && be.x <= De.x)\n                if (De.L) De = De.L;\n                else {\n                  Se = De.P;\n                  break;\n                }\n              else if (De.R) De = De.R;\n              else {\n                Se = De;\n                break;\n              }\n            lf.insert(Se, be), Se || (rm = be);\n          }\n        }\n      }\n    }\n    function Cs(c) {\n      var b = c.circle;\n      b && (b.P || (rm = b.N), lf.remove(b), E_.push(b), fd(b), c.circle = null);\n    }\n    function O8(c, b, A, C) {\n      return function(D) {\n        var E = D.a, q = D.b, N = E.x, Y = E.y, te = q.x, ne = q.y, ce = 0, de = 1, Te = te - N, Ae = ne - Y, he;\n        if (he = c - N, !(!Te && he > 0)) {\n          if (he /= Te, Te < 0) {\n            if (he < ce) return;\n            he < de && (de = he);\n          } else if (Te > 0) {\n            if (he > de) return;\n            he > ce && (ce = he);\n          }\n          if (he = A - N, !(!Te && he < 0)) {\n            if (he /= Te, Te < 0) {\n              if (he > de) return;\n              he > ce && (ce = he);\n            } else if (Te > 0) {\n              if (he < ce) return;\n              he < de && (de = he);\n            }\n            if (he = b - Y, !(!Ae && he > 0)) {\n              if (he /= Ae, Ae < 0) {\n                if (he < ce) return;\n                he < de && (de = he);\n              } else if (Ae > 0) {\n                if (he > de) return;\n                he > ce && (ce = he);\n              }\n              if (he = C - Y, !(!Ae && he < 0)) {\n                if (he /= Ae, Ae < 0) {\n                  if (he > de) return;\n                  he > ce && (ce = he);\n                } else if (Ae > 0) {\n                  if (he < ce) return;\n                  he < de && (de = he);\n                }\n                return ce > 0 && (D.a = {\n                  x: N + ce * Te,\n                  y: Y + ce * Ae\n                }), de < 1 && (D.b = {\n                  x: N + de * Te,\n                  y: Y + de * Ae\n                }), D;\n              }\n            }\n          }\n        }\n      };\n    }\n    function H8(c) {\n      for (var b = As, A = O8(c[0][0], c[0][1], c[1][0], c[1][1]), C = b.length, D; C--; )\n        D = b[C], (!B8(D, c) || !A(D) || w(D.a.x - D.b.x) < Ke && w(D.a.y - D.b.y) < Ke) && (D.a = D.b = null, b.splice(C, 1));\n    }\n    function B8(c, b) {\n      var A = c.b;\n      if (A) return !0;\n      var C = c.a, D = b[0][0], E = b[1][0], q = b[0][1], N = b[1][1], Y = c.l, te = c.r, ne = Y.x, ce = Y.y, de = te.x, Te = te.y, Ae = (ne + de) / 2, he = (ce + Te) / 2, ye, be;\n      if (Te === ce) {\n        if (Ae < D || Ae >= E) return;\n        if (ne > de) {\n          if (!C) C = {\n            x: Ae,\n            y: q\n          };\n          else if (C.y >= N) return;\n          A = {\n            x: Ae,\n            y: N\n          };\n        } else {\n          if (!C) C = {\n            x: Ae,\n            y: N\n          };\n          else if (C.y < q) return;\n          A = {\n            x: Ae,\n            y: q\n          };\n        }\n      } else if (ye = (ne - de) / (Te - ce), be = he - ye * Ae, ye < -1 || ye > 1)\n        if (ne > de) {\n          if (!C) C = {\n            x: (q - be) / ye,\n            y: q\n          };\n          else if (C.y >= N) return;\n          A = {\n            x: (N - be) / ye,\n            y: N\n          };\n        } else {\n          if (!C) C = {\n            x: (N - be) / ye,\n            y: N\n          };\n          else if (C.y < q) return;\n          A = {\n            x: (q - be) / ye,\n            y: q\n          };\n        }\n      else if (ce < Te) {\n        if (!C) C = {\n          x: D,\n          y: ye * D + be\n        };\n        else if (C.x >= E) return;\n        A = {\n          x: E,\n          y: ye * E + be\n        };\n      } else {\n        if (!C) C = {\n          x: E,\n          y: ye * E + be\n        };\n        else if (C.x < D) return;\n        A = {\n          x: D,\n          y: ye * D + be\n        };\n      }\n      return c.a = C, c.b = A, !0;\n    }\n    function z_(c, b) {\n      this.l = c, this.r = b, this.a = this.b = null;\n    }\n    function sf(c, b, A, C) {\n      var D = new z_(c, b);\n      return As.push(D), A && sd(D, c, b, A), C && sd(D, b, c, C), Tl[c.i].edges.push(new ud(D, c, b)), Tl[b.i].edges.push(new ud(D, b, c)), D;\n    }\n    function j8(c, b, A) {\n      var C = new z_(c, null);\n      return C.a = b, C.b = A, As.push(C), C;\n    }\n    function sd(c, b, A, C) {\n      !c.a && !c.b ? (c.a = C, c.l = b, c.r = A) : c.l === A ? c.b = C : c.a = C;\n    }\n    function ud(c, b, A) {\n      var C = c.a, D = c.b;\n      this.edge = c, this.site = b, this.angle = A ? Math.atan2(A.y - b.y, A.x - b.x) : c.l === b ? Math.atan2(D.x - C.x, C.y - D.y) : Math.atan2(C.x - D.x, D.y - C.y);\n    }\n    ud.prototype = {\n      start: function() {\n        return this.edge.l === this.site ? this.edge.a : this.edge.b;\n      },\n      end: function() {\n        return this.edge.l === this.site ? this.edge.b : this.edge.a;\n      }\n    };\n    function am() {\n      this._ = null;\n    }\n    function fd(c) {\n      c.U = c.C = c.L = c.R = c.P = c.N = null;\n    }\n    am.prototype = {\n      insert: function(c, b) {\n        var A, C, D;\n        if (c) {\n          if (b.P = c, b.N = c.N, c.N && (c.N.P = b), c.N = b, c.R) {\n            for (c = c.R; c.L; ) c = c.L;\n            c.L = b;\n          } else\n            c.R = b;\n          A = c;\n        } else this._ ? (c = I_(this._), b.P = null, b.N = c, c.P = c.L = b, A = c) : (b.P = b.N = null, this._ = b, A = null);\n        for (b.L = b.R = null, b.U = A, b.C = !0, c = b; A && A.C; )\n          C = A.U, A === C.L ? (D = C.R, D && D.C ? (A.C = D.C = !1, C.C = !0, c = C) : (c === A.R && (uf(this, A), c = A, A = c.U), A.C = !1, C.C = !0, ff(this, C))) : (D = C.L, D && D.C ? (A.C = D.C = !1, C.C = !0, c = C) : (c === A.L && (ff(this, A), c = A, A = c.U), A.C = !1, C.C = !0, uf(this, C))), A = c.U;\n        this._.C = !1;\n      },\n      remove: function(c) {\n        c.N && (c.N.P = c.P), c.P && (c.P.N = c.N), c.N = c.P = null;\n        var b = c.U, A, C = c.L, D = c.R, E, q;\n        if (C ? D ? E = I_(D) : E = C : E = D, b ? b.L === c ? b.L = E : b.R = E : this._ = E, C && D ? (q = E.C, E.C = c.C, E.L = C, C.U = E, E !== D ? (b = E.U, E.U = c.U, c = E.R, b.L = c, E.R = D, D.U = E) : (E.U = b, b = E, c = E.R)) : (q = c.C, c = E), c && (c.U = b), !q) {\n          if (c && c.C) {\n            c.C = !1;\n            return;\n          }\n          do {\n            if (c === this._) break;\n            if (c === b.L) {\n              if (A = b.R, A.C && (A.C = !1, b.C = !0, uf(this, b), A = b.R), A.L && A.L.C || A.R && A.R.C) {\n                (!A.R || !A.R.C) && (A.L.C = !1, A.C = !0, ff(this, A), A = b.R), A.C = b.C, b.C = A.R.C = !1, uf(this, b), c = this._;\n                break;\n              }\n            } else if (A = b.L, A.C && (A.C = !1, b.C = !0, ff(this, b), A = b.L), A.L && A.L.C || A.R && A.R.C) {\n              (!A.L || !A.L.C) && (A.R.C = !1, A.C = !0, uf(this, A), A = b.L), A.C = b.C, b.C = A.L.C = !1, ff(this, b), c = this._;\n              break;\n            }\n            A.C = !0, c = b, b = b.U;\n          } while (!c.C);\n          c && (c.C = !1);\n        }\n      }\n    };\n    function uf(c, b) {\n      var A = b, C = b.R, D = A.U;\n      D ? D.L === A ? D.L = C : D.R = C : c._ = C, C.U = D, A.U = C, A.R = C.L, A.R && (A.R.U = A), C.L = A;\n    }\n    function ff(c, b) {\n      var A = b, C = b.L, D = A.U;\n      D ? D.L === A ? D.L = C : D.R = C : c._ = C, C.U = D, A.U = C, A.L = C.R, A.L && (A.L.U = A), C.R = A;\n    }\n    function I_(c) {\n      for (; c.L; ) c = c.L;\n      return c;\n    }\n    function im(c, b) {\n      var A = c.sort(U8).pop(), C, D, E;\n      for (As = [], Tl = new Array(c.length), Ms = new am(), lf = new am(); ; )\n        if (E = rm, A && (!E || A.y < E.y || A.y === E.y && A.x < E.x))\n          (A.x !== C || A.y !== D) && (Tl[A.i] = new P_(A), $8(A), C = A.x, D = A.y), A = c.pop();\n        else if (E)\n          P8(E.arc);\n        else\n          break;\n      b && (H8(b), I8(b));\n      var q = {\n        cells: Tl,\n        edges: As\n      };\n      return Ms = lf = As = Tl = null, q;\n    }\n    function U8(c, b) {\n      return b.y - c.y || b.x - c.x;\n    }\n    t.geom.voronoi = function(c) {\n      var b = ks, A = of, C = b, D = A, E = cd;\n      if (c) return q(c);\n      function q(Y) {\n        var te = new Array(Y.length), ne = E[0][0], ce = E[0][1], de = E[1][0], Te = E[1][1];\n        return im(N(Y), E).cells.forEach(function(Ae, he) {\n          var ye = Ae.edges, be = Ae.site, Se = te[he] = ye.length ? ye.map(function(De) {\n            var we = De.start();\n            return [we.x, we.y];\n          }) : be.x >= ne && be.x <= de && be.y >= ce && be.y <= Te ? [[ne, Te], [de, Te], [de, ce], [ne, ce]] : [];\n          Se.point = Y[he];\n        }), te;\n      }\n      function N(Y) {\n        return Y.map(function(te, ne) {\n          return {\n            x: Math.round(C(te, ne) / Ke) * Ke,\n            y: Math.round(D(te, ne) / Ke) * Ke,\n            i: ne\n          };\n        });\n      }\n      return q.links = function(Y) {\n        return im(N(Y)).edges.filter(function(te) {\n          return te.l && te.r;\n        }).map(function(te) {\n          return {\n            source: Y[te.l.i],\n            target: Y[te.r.i]\n          };\n        });\n      }, q.triangles = function(Y) {\n        var te = [];\n        return im(N(Y)).cells.forEach(function(ne, ce) {\n          for (var de = ne.site, Te = ne.edges.sort($_), Ae = -1, he = Te.length, ye, be = Te[he - 1].edge, Se = be.l === de ? be.r : be.l; ++Ae < he; )\n            ye = Se, be = Te[Ae].edge, Se = be.l === de ? be.r : be.l, ce < ye.i && ce < Se.i && G8(de, ye, Se) < 0 && te.push([Y[ce], Y[ye.i], Y[Se.i]]);\n        }), te;\n      }, q.x = function(Y) {\n        return arguments.length ? (C = mr(b = Y), q) : b;\n      }, q.y = function(Y) {\n        return arguments.length ? (D = mr(A = Y), q) : A;\n      }, q.clipExtent = function(Y) {\n        return arguments.length ? (E = Y ?? cd, q) : E === cd ? null : E;\n      }, q.size = function(Y) {\n        return arguments.length ? q.clipExtent(Y && [[0, 0], Y]) : E === cd ? null : E && E[1];\n      }, q;\n    };\n    var cd = [[-1e6, -1e6], [1e6, 1e6]];\n    function G8(c, b, A) {\n      return (c.x - A.x) * (b.y - c.y) - (c.x - b.x) * (A.y - c.y);\n    }\n    t.geom.delaunay = function(c) {\n      return t.geom.voronoi().triangles(c);\n    }, t.geom.quadtree = function(c, b, A, C, D) {\n      var E = ks, q = of, N;\n      if (N = arguments.length)\n        return E = V8, q = q8, N === 3 && (D = A, C = b, A = b = 0), Y(c);\n      function Y(te) {\n        var ne, ce = mr(E), de = mr(q), Te, Ae, he, ye, be, Se, De, we;\n        if (b != null)\n          be = b, Se = A, De = C, we = D;\n        else if (De = we = -(be = Se = 1 / 0), Te = [], Ae = [], ye = te.length, N) for (he = 0; he < ye; ++he)\n          ne = te[he], ne.x < be && (be = ne.x), ne.y < Se && (Se = ne.y), ne.x > De && (De = ne.x), ne.y > we && (we = ne.y), Te.push(ne.x), Ae.push(ne.y);\n        else for (he = 0; he < ye; ++he) {\n          var Ze = +ce(ne = te[he], he), mt = +de(ne, he);\n          Ze < be && (be = Ze), mt < Se && (Se = mt), Ze > De && (De = Ze), mt > we && (we = mt), Te.push(Ze), Ae.push(mt);\n        }\n        var xt = De - be, yt = we - Se;\n        xt > yt ? we = Se + xt : De = be + yt;\n        function Lt(Ft, Gt, gr, Yr, xr, dt, Zt, Jt) {\n          if (!(isNaN(gr) || isNaN(Yr)))\n            if (Ft.leaf) {\n              var yr = Ft.x, Gr = Ft.y;\n              if (yr != null)\n                if (w(yr - gr) + w(Gr - Yr) < 0.01)\n                  Dt(Ft, Gt, gr, Yr, xr, dt, Zt, Jt);\n                else {\n                  var un = Ft.point;\n                  Ft.x = Ft.y = Ft.point = null, Dt(Ft, un, yr, Gr, xr, dt, Zt, Jt), Dt(Ft, Gt, gr, Yr, xr, dt, Zt, Jt);\n                }\n              else\n                Ft.x = gr, Ft.y = Yr, Ft.point = Gt;\n            } else\n              Dt(Ft, Gt, gr, Yr, xr, dt, Zt, Jt);\n        }\n        function Dt(Ft, Gt, gr, Yr, xr, dt, Zt, Jt) {\n          var yr = (xr + Zt) * 0.5, Gr = (dt + Jt) * 0.5, un = gr >= yr, kn = Yr >= Gr, $n = kn << 1 | un;\n          Ft.leaf = !1, Ft = Ft.nodes[$n] || (Ft.nodes[$n] = N_()), un ? xr = yr : Zt = yr, kn ? dt = Gr : Jt = Gr, Lt(Ft, Gt, gr, Yr, xr, dt, Zt, Jt);\n        }\n        var Wt = N_();\n        if (Wt.add = function(Ft) {\n          Lt(Wt, Ft, +ce(Ft, ++he), +de(Ft, he), be, Se, De, we);\n        }, Wt.visit = function(Ft) {\n          cf(Ft, Wt, be, Se, De, we);\n        }, Wt.find = function(Ft) {\n          return W8(Wt, Ft[0], Ft[1], be, Se, De, we);\n        }, he = -1, b == null) {\n          for (; ++he < ye; )\n            Lt(Wt, te[he], Te[he], Ae[he], be, Se, De, we);\n          --he;\n        } else te.forEach(Wt.add);\n        return Te = Ae = te = ne = null, Wt;\n      }\n      return Y.x = function(te) {\n        return arguments.length ? (E = te, Y) : E;\n      }, Y.y = function(te) {\n        return arguments.length ? (q = te, Y) : q;\n      }, Y.extent = function(te) {\n        return arguments.length ? (te == null ? b = A = C = D = null : (b = +te[0][0], A = +te[0][1], C = +te[1][0], D = +te[1][1]), Y) : b == null ? null : [[b, A], [C, D]];\n      }, Y.size = function(te) {\n        return arguments.length ? (te == null ? b = A = C = D = null : (b = A = 0, C = +te[0], D = +te[1]), Y) : b == null ? null : [C - b, D - A];\n      }, Y;\n    };\n    function V8(c) {\n      return c.x;\n    }\n    function q8(c) {\n      return c.y;\n    }\n    function N_() {\n      return {\n        leaf: !0,\n        nodes: [],\n        point: null,\n        x: null,\n        y: null\n      };\n    }\n    function cf(c, b, A, C, D, E) {\n      if (!c(b, A, C, D, E)) {\n        var q = (A + D) * 0.5, N = (C + E) * 0.5, Y = b.nodes;\n        Y[0] && cf(c, Y[0], A, C, q, N), Y[1] && cf(c, Y[1], q, C, D, N), Y[2] && cf(c, Y[2], A, N, q, E), Y[3] && cf(c, Y[3], q, N, D, E);\n      }\n    }\n    function W8(c, b, A, C, D, E, q) {\n      var N = 1 / 0, Y;\n      return function te(ne, ce, de, Te, Ae) {\n        if (!(ce > E || de > q || Te < C || Ae < D)) {\n          if (he = ne.point) {\n            var he, ye = b - ne.x, be = A - ne.y, Se = ye * ye + be * be;\n            if (Se < N) {\n              var De = Math.sqrt(N = Se);\n              C = b - De, D = A - De, E = b + De, q = A + De, Y = he;\n            }\n          }\n          for (var we = ne.nodes, Ze = (ce + Te) * 0.5, mt = (de + Ae) * 0.5, xt = b >= Ze, yt = A >= mt, Lt = yt << 1 | xt, Dt = Lt + 4; Lt < Dt; ++Lt)\n            if (ne = we[Lt & 3]) switch (Lt & 3) {\n              case 0:\n                te(ne, ce, de, Ze, mt);\n                break;\n              case 1:\n                te(ne, Ze, de, Te, mt);\n                break;\n              case 2:\n                te(ne, ce, mt, Ze, Ae);\n                break;\n              case 3:\n                te(ne, Ze, mt, Te, Ae);\n                break;\n            }\n        }\n      }(c, C, D, E, q), Y;\n    }\n    t.interpolateRgb = om;\n    function om(c, b) {\n      c = t.rgb(c), b = t.rgb(b);\n      var A = c.r, C = c.g, D = c.b, E = b.r - A, q = b.g - C, N = b.b - D;\n      return function(Y) {\n        return \"#\" + vn(Math.round(A + E * Y)) + vn(Math.round(C + q * Y)) + vn(Math.round(D + N * Y));\n      };\n    }\n    t.interpolateObject = O_;\n    function O_(c, b) {\n      var A = {}, C = {}, D;\n      for (D in c)\n        D in b ? A[D] = kl(c[D], b[D]) : C[D] = c[D];\n      for (D in b)\n        D in c || (C[D] = b[D]);\n      return function(E) {\n        for (D in A) C[D] = A[D](E);\n        return C;\n      };\n    }\n    t.interpolateNumber = ao;\n    function ao(c, b) {\n      return c = +c, b = +b, function(A) {\n        return c * (1 - A) + b * A;\n      };\n    }\n    t.interpolateString = H_;\n    function H_(c, b) {\n      var A = lm.lastIndex = sm.lastIndex = 0, C, D, E, q = -1, N = [], Y = [];\n      for (c = c + \"\", b = b + \"\"; (C = lm.exec(c)) && (D = sm.exec(b)); )\n        (E = D.index) > A && (E = b.slice(A, E), N[q] ? N[q] += E : N[++q] = E), (C = C[0]) === (D = D[0]) ? N[q] ? N[q] += D : N[++q] = D : (N[++q] = null, Y.push({\n          i: q,\n          x: ao(C, D)\n        })), A = sm.lastIndex;\n      return A < b.length && (E = b.slice(A), N[q] ? N[q] += E : N[++q] = E), N.length < 2 ? Y[0] ? (b = Y[0].x, function(te) {\n        return b(te) + \"\";\n      }) : function() {\n        return b;\n      } : (b = Y.length, function(te) {\n        for (var ne = 0, ce; ne < b; ++ne) N[(ce = Y[ne]).i] = ce.x(te);\n        return N.join(\"\");\n      });\n    }\n    var lm = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g, sm = new RegExp(lm.source, \"g\");\n    t.interpolate = kl;\n    function kl(c, b) {\n      for (var A = t.interpolators.length, C; --A >= 0 && !(C = t.interpolators[A](c, b)); ) ;\n      return C;\n    }\n    t.interpolators = [function(c, b) {\n      var A = typeof b;\n      return (A === \"string\" ? ka.has(b.toLowerCase()) || /^(#|rgb\\(|hsl\\()/i.test(b) ? om : H_ : b instanceof It ? om : Array.isArray(b) ? dd : A === \"object\" && isNaN(b) ? O_ : ao)(c, b);\n    }], t.interpolateArray = dd;\n    function dd(c, b) {\n      var A = [], C = [], D = c.length, E = b.length, q = Math.min(c.length, b.length), N;\n      for (N = 0; N < q; ++N) A.push(kl(c[N], b[N]));\n      for (; N < D; ++N) C[N] = c[N];\n      for (; N < E; ++N) C[N] = b[N];\n      return function(Y) {\n        for (N = 0; N < q; ++N) C[N] = A[N](Y);\n        return C;\n      };\n    }\n    var B_ = function() {\n      return V;\n    }, Z8 = t.map({\n      linear: B_,\n      poly: eF,\n      quad: function() {\n        return K8;\n      },\n      cubic: function() {\n        return J8;\n      },\n      sin: function() {\n        return tF;\n      },\n      exp: function() {\n        return rF;\n      },\n      circle: function() {\n        return nF;\n      },\n      elastic: aF,\n      back: iF,\n      bounce: function() {\n        return oF;\n      }\n    }), Y8 = t.map({\n      in: V,\n      out: j_,\n      \"in-out\": U_,\n      \"out-in\": function(c) {\n        return U_(j_(c));\n      }\n    });\n    t.ease = function(c) {\n      var b = c.indexOf(\"-\"), A = b >= 0 ? c.slice(0, b) : c, C = b >= 0 ? c.slice(b + 1) : \"in\";\n      return A = Z8.get(A) || B_, C = Y8.get(C) || V, X8(C(A.apply(null, r.call(arguments, 1))));\n    };\n    function X8(c) {\n      return function(b) {\n        return b <= 0 ? 0 : b >= 1 ? 1 : c(b);\n      };\n    }\n    function j_(c) {\n      return function(b) {\n        return 1 - c(1 - b);\n      };\n    }\n    function U_(c) {\n      return function(b) {\n        return 0.5 * (b < 0.5 ? c(2 * b) : 2 - c(2 - 2 * b));\n      };\n    }\n    function K8(c) {\n      return c * c;\n    }\n    function J8(c) {\n      return c * c * c;\n    }\n    function Q8(c) {\n      if (c <= 0) return 0;\n      if (c >= 1) return 1;\n      var b = c * c, A = b * c;\n      return 4 * (c < 0.5 ? A : 3 * (c - b) + A - 0.75);\n    }\n    function eF(c) {\n      return function(b) {\n        return Math.pow(b, c);\n      };\n    }\n    function tF(c) {\n      return 1 - Math.cos(c * se);\n    }\n    function rF(c) {\n      return Math.pow(2, 10 * (c - 1));\n    }\n    function nF(c) {\n      return 1 - Math.sqrt(1 - c * c);\n    }\n    function aF(c, b) {\n      var A;\n      return arguments.length < 2 && (b = 0.45), arguments.length ? A = b / ct * Math.asin(1 / c) : (c = 1, A = b / 4), function(C) {\n        return 1 + c * Math.pow(2, -10 * C) * Math.sin((C - A) * ct / b);\n      };\n    }\n    function iF(c) {\n      return c || (c = 1.70158), function(b) {\n        return b * b * ((c + 1) * b - c);\n      };\n    }\n    function oF(c) {\n      return c < 1 / 2.75 ? 7.5625 * c * c : c < 2 / 2.75 ? 7.5625 * (c -= 1.5 / 2.75) * c + 0.75 : c < 2.5 / 2.75 ? 7.5625 * (c -= 2.25 / 2.75) * c + 0.9375 : 7.5625 * (c -= 2.625 / 2.75) * c + 0.984375;\n    }\n    t.interpolateHcl = lF;\n    function lF(c, b) {\n      c = t.hcl(c), b = t.hcl(b);\n      var A = c.h, C = c.c, D = c.l, E = b.h - A, q = b.c - C, N = b.l - D;\n      return isNaN(q) && (q = 0, C = isNaN(C) ? b.c : C), isNaN(E) ? (E = 0, A = isNaN(A) ? b.h : A) : E > 180 ? E -= 360 : E < -180 && (E += 360), function(Y) {\n        return Kt(A + E * Y, C + q * Y, D + N * Y) + \"\";\n      };\n    }\n    t.interpolateHsl = sF;\n    function sF(c, b) {\n      c = t.hsl(c), b = t.hsl(b);\n      var A = c.h, C = c.s, D = c.l, E = b.h - A, q = b.s - C, N = b.l - D;\n      return isNaN(q) && (q = 0, C = isNaN(C) ? b.s : C), isNaN(E) ? (E = 0, A = isNaN(A) ? b.h : A) : E > 180 ? E -= 360 : E < -180 && (E += 360), function(Y) {\n        return Ot(A + E * Y, C + q * Y, D + N * Y) + \"\";\n      };\n    }\n    t.interpolateLab = uF;\n    function uF(c, b) {\n      c = t.lab(c), b = t.lab(b);\n      var A = c.l, C = c.a, D = c.b, E = b.l - A, q = b.a - C, N = b.b - D;\n      return function(Y) {\n        return Ct(A + E * Y, C + q * Y, D + N * Y) + \"\";\n      };\n    }\n    t.interpolateRound = G_;\n    function G_(c, b) {\n      return b -= c, function(A) {\n        return Math.round(c + b * A);\n      };\n    }\n    t.transform = function(c) {\n      var b = a.createElementNS(t.ns.prefix.svg, \"g\");\n      return (t.transform = function(A) {\n        if (A != null) {\n          b.setAttribute(\"transform\", A);\n          var C = b.transform.baseVal.consolidate();\n        }\n        return new V_(C ? C.matrix : cF);\n      })(c);\n    };\n    function V_(c) {\n      var b = [c.a, c.b], A = [c.c, c.d], C = W_(b), D = q_(b, A), E = W_(fF(A, b, -D)) || 0;\n      b[0] * A[1] < A[0] * b[1] && (b[0] *= -1, b[1] *= -1, C *= -1, D *= -1), this.rotate = (C ? Math.atan2(b[1], b[0]) : Math.atan2(-A[0], A[1])) * fe, this.translate = [c.e, c.f], this.scale = [C, E], this.skew = E ? Math.atan2(D, E) * fe : 0;\n    }\n    V_.prototype.toString = function() {\n      return \"translate(\" + this.translate + \")rotate(\" + this.rotate + \")skewX(\" + this.skew + \")scale(\" + this.scale + \")\";\n    };\n    function q_(c, b) {\n      return c[0] * b[0] + c[1] * b[1];\n    }\n    function W_(c) {\n      var b = Math.sqrt(q_(c, c));\n      return b && (c[0] /= b, c[1] /= b), b;\n    }\n    function fF(c, b, A) {\n      return c[0] += A * b[0], c[1] += A * b[1], c;\n    }\n    var cF = {\n      a: 1,\n      b: 0,\n      c: 0,\n      d: 1,\n      e: 0,\n      f: 0\n    };\n    t.interpolateTransform = Z_;\n    function Ls(c) {\n      return c.length ? c.pop() + \",\" : \"\";\n    }\n    function dF(c, b, A, C) {\n      if (c[0] !== b[0] || c[1] !== b[1]) {\n        var D = A.push(\"translate(\", null, \",\", null, \")\");\n        C.push({\n          i: D - 4,\n          x: ao(c[0], b[0])\n        }, {\n          i: D - 2,\n          x: ao(c[1], b[1])\n        });\n      } else (b[0] || b[1]) && A.push(\"translate(\" + b + \")\");\n    }\n    function hF(c, b, A, C) {\n      c !== b ? (c - b > 180 ? b += 360 : b - c > 180 && (c += 360), C.push({\n        i: A.push(Ls(A) + \"rotate(\", null, \")\") - 2,\n        x: ao(c, b)\n      })) : b && A.push(Ls(A) + \"rotate(\" + b + \")\");\n    }\n    function vF(c, b, A, C) {\n      c !== b ? C.push({\n        i: A.push(Ls(A) + \"skewX(\", null, \")\") - 2,\n        x: ao(c, b)\n      }) : b && A.push(Ls(A) + \"skewX(\" + b + \")\");\n    }\n    function pF(c, b, A, C) {\n      if (c[0] !== b[0] || c[1] !== b[1]) {\n        var D = A.push(Ls(A) + \"scale(\", null, \",\", null, \")\");\n        C.push({\n          i: D - 4,\n          x: ao(c[0], b[0])\n        }, {\n          i: D - 2,\n          x: ao(c[1], b[1])\n        });\n      } else (b[0] !== 1 || b[1] !== 1) && A.push(Ls(A) + \"scale(\" + b + \")\");\n    }\n    function Z_(c, b) {\n      var A = [], C = [];\n      return c = t.transform(c), b = t.transform(b), dF(c.translate, b.translate, A, C), hF(c.rotate, b.rotate, A, C), vF(c.skew, b.skew, A, C), pF(c.scale, b.scale, A, C), c = b = null, function(D) {\n        for (var E = -1, q = C.length, N; ++E < q; ) A[(N = C[E]).i] = N.x(D);\n        return A.join(\"\");\n      };\n    }\n    function mF(c, b) {\n      return b = (b -= c = +c) || 1 / b, function(A) {\n        return (A - c) / b;\n      };\n    }\n    function gF(c, b) {\n      return b = (b -= c = +c) || 1 / b, function(A) {\n        return Math.max(0, Math.min(1, (A - c) / b));\n      };\n    }\n    t.layout = {}, t.layout.bundle = function() {\n      return function(c) {\n        for (var b = [], A = -1, C = c.length; ++A < C; ) b.push(yF(c[A]));\n        return b;\n      };\n    };\n    function yF(c) {\n      for (var b = c.source, A = c.target, C = bF(b, A), D = [b]; b !== C; )\n        b = b.parent, D.push(b);\n      for (var E = D.length; A !== C; )\n        D.splice(E, 0, A), A = A.parent;\n      return D;\n    }\n    function Y_(c) {\n      for (var b = [], A = c.parent; A != null; )\n        b.push(c), c = A, A = A.parent;\n      return b.push(c), b;\n    }\n    function bF(c, b) {\n      if (c === b) return c;\n      for (var A = Y_(c), C = Y_(b), D = A.pop(), E = C.pop(), q = null; D === E; )\n        q = D, D = A.pop(), E = C.pop();\n      return q;\n    }\n    t.layout.chord = function() {\n      var c = {}, b, A, C, D, E = 0, q, N, Y;\n      function te() {\n        var ce = {}, de = [], Te = t.range(D), Ae = [], he, ye, be, Se, De;\n        for (b = [], A = [], he = 0, Se = -1; ++Se < D; ) {\n          for (ye = 0, De = -1; ++De < D; )\n            ye += C[Se][De];\n          de.push(ye), Ae.push(t.range(D)), he += ye;\n        }\n        for (q && Te.sort(function(Wt, Ft) {\n          return q(de[Wt], de[Ft]);\n        }), N && Ae.forEach(function(Wt, Ft) {\n          Wt.sort(function(Gt, gr) {\n            return N(C[Ft][Gt], C[Ft][gr]);\n          });\n        }), he = (ct - E * D) / he, ye = 0, Se = -1; ++Se < D; ) {\n          for (be = ye, De = -1; ++De < D; ) {\n            var we = Te[Se], Ze = Ae[we][De], mt = C[we][Ze], xt = ye, yt = ye += mt * he;\n            ce[we + \"-\" + Ze] = {\n              index: we,\n              subindex: Ze,\n              startAngle: xt,\n              endAngle: yt,\n              value: mt\n            };\n          }\n          A[we] = {\n            index: we,\n            startAngle: be,\n            endAngle: ye,\n            value: de[we]\n          }, ye += E;\n        }\n        for (Se = -1; ++Se < D; )\n          for (De = Se - 1; ++De < D; ) {\n            var Lt = ce[Se + \"-\" + De], Dt = ce[De + \"-\" + Se];\n            (Lt.value || Dt.value) && b.push(Lt.value < Dt.value ? {\n              source: Dt,\n              target: Lt\n            } : {\n              source: Lt,\n              target: Dt\n            });\n          }\n        Y && ne();\n      }\n      function ne() {\n        b.sort(function(ce, de) {\n          return Y((ce.source.value + ce.target.value) / 2, (de.source.value + de.target.value) / 2);\n        });\n      }\n      return c.matrix = function(ce) {\n        return arguments.length ? (D = (C = ce) && C.length, b = A = null, c) : C;\n      }, c.padding = function(ce) {\n        return arguments.length ? (E = ce, b = A = null, c) : E;\n      }, c.sortGroups = function(ce) {\n        return arguments.length ? (q = ce, b = A = null, c) : q;\n      }, c.sortSubgroups = function(ce) {\n        return arguments.length ? (N = ce, b = null, c) : N;\n      }, c.sortChords = function(ce) {\n        return arguments.length ? (Y = ce, b && ne(), c) : Y;\n      }, c.chords = function() {\n        return b || te(), b;\n      }, c.groups = function() {\n        return A || te(), A;\n      }, c;\n    }, t.layout.force = function() {\n      var c = {}, b = t.dispatch(\"start\", \"tick\", \"end\"), A, C = [1, 1], D, E, q = 0.9, N = kF, Y = AF, te = -30, ne = MF, ce = 0.1, de = 0.64, Te = [], Ae = [], he, ye, be;\n      function Se(we) {\n        return function(Ze, mt, xt, yt) {\n          if (Ze.point !== we) {\n            var Lt = Ze.cx - we.x, Dt = Ze.cy - we.y, Wt = yt - mt, Ft = Lt * Lt + Dt * Dt;\n            if (Wt * Wt / de < Ft) {\n              if (Ft < ne) {\n                var Gt = Ze.charge / Ft;\n                we.px -= Lt * Gt, we.py -= Dt * Gt;\n              }\n              return !0;\n            }\n            if (Ze.point && Ft && Ft < ne) {\n              var Gt = Ze.pointCharge / Ft;\n              we.px -= Lt * Gt, we.py -= Dt * Gt;\n            }\n          }\n          return !Ze.charge;\n        };\n      }\n      c.tick = function() {\n        if ((E *= 0.99) < 5e-3)\n          return A = null, b.end({\n            type: \"end\",\n            alpha: E = 0\n          }), !0;\n        var we = Te.length, Ze = Ae.length, mt, xt, yt, Lt, Dt, Wt, Ft, Gt, gr;\n        for (xt = 0; xt < Ze; ++xt)\n          yt = Ae[xt], Lt = yt.source, Dt = yt.target, Gt = Dt.x - Lt.x, gr = Dt.y - Lt.y, (Wt = Gt * Gt + gr * gr) && (Wt = E * ye[xt] * ((Wt = Math.sqrt(Wt)) - he[xt]) / Wt, Gt *= Wt, gr *= Wt, Dt.x -= Gt * (Ft = Lt.weight + Dt.weight ? Lt.weight / (Lt.weight + Dt.weight) : 0.5), Dt.y -= gr * Ft, Lt.x += Gt * (Ft = 1 - Ft), Lt.y += gr * Ft);\n        if ((Ft = E * ce) && (Gt = C[0] / 2, gr = C[1] / 2, xt = -1, Ft))\n          for (; ++xt < we; )\n            yt = Te[xt], yt.x += (Gt - yt.x) * Ft, yt.y += (gr - yt.y) * Ft;\n        if (te)\n          for (X_(mt = t.geom.quadtree(Te), E, be), xt = -1; ++xt < we; )\n            (yt = Te[xt]).fixed || mt.visit(Se(yt));\n        for (xt = -1; ++xt < we; )\n          yt = Te[xt], yt.fixed ? (yt.x = yt.px, yt.y = yt.py) : (yt.x -= (yt.px - (yt.px = yt.x)) * q, yt.y -= (yt.py - (yt.py = yt.y)) * q);\n        b.tick({\n          type: \"tick\",\n          alpha: E\n        });\n      }, c.nodes = function(we) {\n        return arguments.length ? (Te = we, c) : Te;\n      }, c.links = function(we) {\n        return arguments.length ? (Ae = we, c) : Ae;\n      }, c.size = function(we) {\n        return arguments.length ? (C = we, c) : C;\n      }, c.linkDistance = function(we) {\n        return arguments.length ? (N = typeof we == \"function\" ? we : +we, c) : N;\n      }, c.distance = c.linkDistance, c.linkStrength = function(we) {\n        return arguments.length ? (Y = typeof we == \"function\" ? we : +we, c) : Y;\n      }, c.friction = function(we) {\n        return arguments.length ? (q = +we, c) : q;\n      }, c.charge = function(we) {\n        return arguments.length ? (te = typeof we == \"function\" ? we : +we, c) : te;\n      }, c.chargeDistance = function(we) {\n        return arguments.length ? (ne = we * we, c) : Math.sqrt(ne);\n      }, c.gravity = function(we) {\n        return arguments.length ? (ce = +we, c) : ce;\n      }, c.theta = function(we) {\n        return arguments.length ? (de = we * we, c) : Math.sqrt(de);\n      }, c.alpha = function(we) {\n        return arguments.length ? (we = +we, E ? we > 0 ? E = we : (A.c = null, A.t = NaN, A = null, b.end({\n          type: \"end\",\n          alpha: E = 0\n        })) : we > 0 && (b.start({\n          type: \"start\",\n          alpha: E = we\n        }), A = ha(c.tick)), c) : E;\n      }, c.start = function() {\n        var we, Ze = Te.length, mt = Ae.length, xt = C[0], yt = C[1], Lt, Dt;\n        for (we = 0; we < Ze; ++we)\n          (Dt = Te[we]).index = we, Dt.weight = 0;\n        for (we = 0; we < mt; ++we)\n          Dt = Ae[we], typeof Dt.source == \"number\" && (Dt.source = Te[Dt.source]), typeof Dt.target == \"number\" && (Dt.target = Te[Dt.target]), ++Dt.source.weight, ++Dt.target.weight;\n        for (we = 0; we < Ze; ++we)\n          Dt = Te[we], isNaN(Dt.x) && (Dt.x = Wt(\"x\", xt)), isNaN(Dt.y) && (Dt.y = Wt(\"y\", yt)), isNaN(Dt.px) && (Dt.px = Dt.x), isNaN(Dt.py) && (Dt.py = Dt.y);\n        if (he = [], typeof N == \"function\") for (we = 0; we < mt; ++we) he[we] = +N.call(this, Ae[we], we);\n        else for (we = 0; we < mt; ++we) he[we] = N;\n        if (ye = [], typeof Y == \"function\") for (we = 0; we < mt; ++we) ye[we] = +Y.call(this, Ae[we], we);\n        else for (we = 0; we < mt; ++we) ye[we] = Y;\n        if (be = [], typeof te == \"function\") for (we = 0; we < Ze; ++we) be[we] = +te.call(this, Te[we], we);\n        else for (we = 0; we < Ze; ++we) be[we] = te;\n        function Wt(Ft, Gt) {\n          if (!Lt) {\n            for (Lt = new Array(Ze), xr = 0; xr < Ze; ++xr)\n              Lt[xr] = [];\n            for (xr = 0; xr < mt; ++xr) {\n              var gr = Ae[xr];\n              Lt[gr.source.index].push(gr.target), Lt[gr.target.index].push(gr.source);\n            }\n          }\n          for (var Yr = Lt[we], xr = -1, dt = Yr.length, Zt; ++xr < dt; ) if (!isNaN(Zt = Yr[xr][Ft])) return Zt;\n          return Math.random() * Gt;\n        }\n        return c.resume();\n      }, c.resume = function() {\n        return c.alpha(0.1);\n      }, c.stop = function() {\n        return c.alpha(0);\n      }, c.drag = function() {\n        if (D || (D = t.behavior.drag().origin(V).on(\"dragstart.force\", _F).on(\"drag.force\", De).on(\"dragend.force\", xF)), !arguments.length) return D;\n        this.on(\"mouseover.force\", wF).on(\"mouseout.force\", TF).call(D);\n      };\n      function De(we) {\n        we.px = t.event.x, we.py = t.event.y, c.resume();\n      }\n      return t.rebind(c, b, \"on\");\n    };\n    function _F(c) {\n      c.fixed |= 2;\n    }\n    function xF(c) {\n      c.fixed &= -7;\n    }\n    function wF(c) {\n      c.fixed |= 4, c.px = c.x, c.py = c.y;\n    }\n    function TF(c) {\n      c.fixed &= -5;\n    }\n    function X_(c, b, A) {\n      var C = 0, D = 0;\n      if (c.charge = 0, !c.leaf)\n        for (var E = c.nodes, q = E.length, N = -1, Y; ++N < q; )\n          Y = E[N], Y != null && (X_(Y, b, A), c.charge += Y.charge, C += Y.charge * Y.cx, D += Y.charge * Y.cy);\n      if (c.point) {\n        c.leaf || (c.point.x += Math.random() - 0.5, c.point.y += Math.random() - 0.5);\n        var te = b * A[c.point.index];\n        c.charge += c.pointCharge = te, C += te * c.point.x, D += te * c.point.y;\n      }\n      c.cx = C / c.charge, c.cy = D / c.charge;\n    }\n    var kF = 20, AF = 1, MF = 1 / 0;\n    t.layout.hierarchy = function() {\n      var c = LF, b = SF, A = CF;\n      function C(D) {\n        var E = [D], q = [], N;\n        for (D.depth = 0; (N = E.pop()) != null; )\n          if (q.push(N), (te = b.call(C, N, N.depth)) && (Y = te.length)) {\n            for (var Y, te, ne; --Y >= 0; )\n              E.push(ne = te[Y]), ne.parent = N, ne.depth = N.depth + 1;\n            A && (N.value = 0), N.children = te;\n          } else\n            A && (N.value = +A.call(C, N, N.depth) || 0), delete N.children;\n        return ki(D, function(ce) {\n          var de, Te;\n          c && (de = ce.children) && de.sort(c), A && (Te = ce.parent) && (Te.value += ce.value);\n        }), q;\n      }\n      return C.sort = function(D) {\n        return arguments.length ? (c = D, C) : c;\n      }, C.children = function(D) {\n        return arguments.length ? (b = D, C) : b;\n      }, C.value = function(D) {\n        return arguments.length ? (A = D, C) : A;\n      }, C.revalue = function(D) {\n        return A && (hf(D, function(E) {\n          E.children && (E.value = 0);\n        }), ki(D, function(E) {\n          var q;\n          E.children || (E.value = +A.call(C, E, E.depth) || 0), (q = E.parent) && (q.value += E.value);\n        })), D;\n      }, C;\n    };\n    function df(c, b) {\n      return t.rebind(c, b, \"sort\", \"children\", \"value\"), c.nodes = c, c.links = DF, c;\n    }\n    function hf(c, b) {\n      for (var A = [c]; (c = A.pop()) != null; )\n        if (b(c), (D = c.children) && (C = D.length))\n          for (var C, D; --C >= 0; ) A.push(D[C]);\n    }\n    function ki(c, b) {\n      for (var A = [c], C = []; (c = A.pop()) != null; )\n        if (C.push(c), (q = c.children) && (E = q.length))\n          for (var D = -1, E, q; ++D < E; ) A.push(q[D]);\n      for (; (c = C.pop()) != null; )\n        b(c);\n    }\n    function SF(c) {\n      return c.children;\n    }\n    function CF(c) {\n      return c.value;\n    }\n    function LF(c, b) {\n      return b.value - c.value;\n    }\n    function DF(c) {\n      return t.merge(c.map(function(b) {\n        return (b.children || []).map(function(A) {\n          return {\n            source: b,\n            target: A\n          };\n        });\n      }));\n    }\n    t.layout.partition = function() {\n      var c = t.layout.hierarchy(), b = [1, 1];\n      function A(E, q, N, Y) {\n        var te = E.children;\n        if (E.x = q, E.y = E.depth * Y, E.dx = N, E.dy = Y, te && (ce = te.length)) {\n          var ne = -1, ce, de, Te;\n          for (N = E.value ? N / E.value : 0; ++ne < ce; )\n            A(de = te[ne], q, Te = de.value * N, Y), q += Te;\n        }\n      }\n      function C(E) {\n        var q = E.children, N = 0;\n        if (q && (te = q.length))\n          for (var Y = -1, te; ++Y < te; ) N = Math.max(N, C(q[Y]));\n        return 1 + N;\n      }\n      function D(E, q) {\n        var N = c.call(this, E, q);\n        return A(N[0], 0, b[0], b[1] / C(N[0])), N;\n      }\n      return D.size = function(E) {\n        return arguments.length ? (b = E, D) : b;\n      }, df(D, c);\n    }, t.layout.pie = function() {\n      var c = Number, b = K_, A = 0, C = ct, D = 0;\n      function E(q) {\n        var N = q.length, Y = q.map(function(Se, De) {\n          return +c.call(E, Se, De);\n        }), te = +(typeof A == \"function\" ? A.apply(this, arguments) : A), ne = (typeof C == \"function\" ? C.apply(this, arguments) : C) - te, ce = Math.min(Math.abs(ne) / N, +(typeof D == \"function\" ? D.apply(this, arguments) : D)), de = ce * (ne < 0 ? -1 : 1), Te = t.sum(Y), Ae = Te ? (ne - N * de) / Te : 0, he = t.range(N), ye = [], be;\n        return b != null && he.sort(b === K_ ? function(Se, De) {\n          return Y[De] - Y[Se];\n        } : function(Se, De) {\n          return b(q[Se], q[De]);\n        }), he.forEach(function(Se) {\n          ye[Se] = {\n            data: q[Se],\n            value: be = Y[Se],\n            startAngle: te,\n            endAngle: te += be * Ae + de,\n            padAngle: ce\n          };\n        }), ye;\n      }\n      return E.value = function(q) {\n        return arguments.length ? (c = q, E) : c;\n      }, E.sort = function(q) {\n        return arguments.length ? (b = q, E) : b;\n      }, E.startAngle = function(q) {\n        return arguments.length ? (A = q, E) : A;\n      }, E.endAngle = function(q) {\n        return arguments.length ? (C = q, E) : C;\n      }, E.padAngle = function(q) {\n        return arguments.length ? (D = q, E) : D;\n      }, E;\n    };\n    var K_ = {};\n    t.layout.stack = function() {\n      var c = V, b = um, A = fm, C = RF, D = EF, E = FF;\n      function q(N, Y) {\n        if (!(Ae = N.length)) return N;\n        var te = N.map(function(Se, De) {\n          return c.call(q, Se, De);\n        }), ne = te.map(function(Se) {\n          return Se.map(function(De, we) {\n            return [D.call(q, De, we), E.call(q, De, we)];\n          });\n        }), ce = b.call(q, ne, Y);\n        te = t.permute(te, ce), ne = t.permute(ne, ce);\n        var de = A.call(q, ne, Y), Te = te[0].length, Ae, he, ye, be;\n        for (ye = 0; ye < Te; ++ye)\n          for (C.call(q, te[0][ye], be = de[ye], ne[0][ye][1]), he = 1; he < Ae; ++he)\n            C.call(q, te[he][ye], be += ne[he - 1][ye][1], ne[he][ye][1]);\n        return N;\n      }\n      return q.values = function(N) {\n        return arguments.length ? (c = N, q) : c;\n      }, q.order = function(N) {\n        return arguments.length ? (b = typeof N == \"function\" ? N : PF.get(N) || um, q) : b;\n      }, q.offset = function(N) {\n        return arguments.length ? (A = typeof N == \"function\" ? N : $F.get(N) || fm, q) : A;\n      }, q.x = function(N) {\n        return arguments.length ? (D = N, q) : D;\n      }, q.y = function(N) {\n        return arguments.length ? (E = N, q) : E;\n      }, q.out = function(N) {\n        return arguments.length ? (C = N, q) : C;\n      }, q;\n    };\n    function EF(c) {\n      return c.x;\n    }\n    function FF(c) {\n      return c.y;\n    }\n    function RF(c, b, A) {\n      c.y0 = b, c.y = A;\n    }\n    var PF = t.map({\n      \"inside-out\": function(c) {\n        var b = c.length, A, C, D = c.map(zF), E = c.map(IF), q = t.range(b).sort(function(ce, de) {\n          return D[ce] - D[de];\n        }), N = 0, Y = 0, te = [], ne = [];\n        for (A = 0; A < b; ++A)\n          C = q[A], N < Y ? (N += E[C], te.push(C)) : (Y += E[C], ne.push(C));\n        return ne.reverse().concat(te);\n      },\n      reverse: function(c) {\n        return t.range(c.length).reverse();\n      },\n      default: um\n    }), $F = t.map({\n      silhouette: function(c) {\n        var b = c.length, A = c[0].length, C = [], D = 0, E, q, N, Y = [];\n        for (q = 0; q < A; ++q) {\n          for (E = 0, N = 0; E < b; E++) N += c[E][q][1];\n          N > D && (D = N), C.push(N);\n        }\n        for (q = 0; q < A; ++q)\n          Y[q] = (D - C[q]) / 2;\n        return Y;\n      },\n      wiggle: function(c) {\n        var b = c.length, A = c[0], C = A.length, D, E, q, N, Y, te, ne, ce, de, Te = [];\n        for (Te[0] = ce = de = 0, E = 1; E < C; ++E) {\n          for (D = 0, N = 0; D < b; ++D) N += c[D][E][1];\n          for (D = 0, Y = 0, ne = A[E][0] - A[E - 1][0]; D < b; ++D) {\n            for (q = 0, te = (c[D][E][1] - c[D][E - 1][1]) / (2 * ne); q < D; ++q)\n              te += (c[q][E][1] - c[q][E - 1][1]) / ne;\n            Y += te * c[D][E][1];\n          }\n          Te[E] = ce -= N ? Y / N * ne : 0, ce < de && (de = ce);\n        }\n        for (E = 0; E < C; ++E) Te[E] -= de;\n        return Te;\n      },\n      expand: function(c) {\n        var b = c.length, A = c[0].length, C = 1 / b, D, E, q, N = [];\n        for (E = 0; E < A; ++E) {\n          for (D = 0, q = 0; D < b; D++) q += c[D][E][1];\n          if (q) for (D = 0; D < b; D++) c[D][E][1] /= q;\n          else for (D = 0; D < b; D++) c[D][E][1] = C;\n        }\n        for (E = 0; E < A; ++E) N[E] = 0;\n        return N;\n      },\n      zero: fm\n    });\n    function um(c) {\n      return t.range(c.length);\n    }\n    function fm(c) {\n      for (var b = -1, A = c[0].length, C = []; ++b < A; ) C[b] = 0;\n      return C;\n    }\n    function zF(c) {\n      for (var b = 1, A = 0, C = c[0][1], D, E = c.length; b < E; ++b)\n        (D = c[b][1]) > C && (A = b, C = D);\n      return A;\n    }\n    function IF(c) {\n      return c.reduce(NF, 0);\n    }\n    function NF(c, b) {\n      return c + b[1];\n    }\n    t.layout.histogram = function() {\n      var c = !0, b = Number, A = HF, C = OF;\n      function D(E, de) {\n        for (var N = [], Y = E.map(b, this), te = A.call(this, Y, de), ne = C.call(this, te, Y, de), ce, de = -1, Te = Y.length, Ae = ne.length - 1, he = c ? 1 : 1 / Te, ye; ++de < Ae; )\n          ce = N[de] = [], ce.dx = ne[de + 1] - (ce.x = ne[de]), ce.y = 0;\n        if (Ae > 0)\n          for (de = -1; ++de < Te; )\n            ye = Y[de], ye >= te[0] && ye <= te[1] && (ce = N[t.bisect(ne, ye, 1, Ae) - 1], ce.y += he, ce.push(E[de]));\n        return N;\n      }\n      return D.value = function(E) {\n        return arguments.length ? (b = E, D) : b;\n      }, D.range = function(E) {\n        return arguments.length ? (A = mr(E), D) : A;\n      }, D.bins = function(E) {\n        return arguments.length ? (C = typeof E == \"number\" ? function(q) {\n          return J_(q, E);\n        } : mr(E), D) : C;\n      }, D.frequency = function(E) {\n        return arguments.length ? (c = !!E, D) : c;\n      }, D;\n    };\n    function OF(c, b) {\n      return J_(c, Math.ceil(Math.log(b.length) / Math.LN2 + 1));\n    }\n    function J_(c, b) {\n      for (var A = -1, C = +c[0], D = (c[1] - C) / b, E = []; ++A <= b; ) E[A] = D * A + C;\n      return E;\n    }\n    function HF(c) {\n      return [t.min(c), t.max(c)];\n    }\n    t.layout.pack = function() {\n      var c = t.layout.hierarchy().sort(BF), b = 0, A = [1, 1], C;\n      function D(E, q) {\n        var N = c.call(this, E, q), Y = N[0], te = A[0], ne = A[1], ce = C == null ? Math.sqrt : typeof C == \"function\" ? C : function() {\n          return C;\n        };\n        if (Y.x = Y.y = 0, ki(Y, function(Te) {\n          Te.r = +ce(Te.value);\n        }), ki(Y, tx), b) {\n          var de = b * (C ? 1 : Math.max(2 * Y.r / te, 2 * Y.r / ne)) / 2;\n          ki(Y, function(Te) {\n            Te.r += de;\n          }), ki(Y, tx), ki(Y, function(Te) {\n            Te.r -= de;\n          });\n        }\n        return rx(Y, te / 2, ne / 2, C ? 1 : 1 / Math.max(2 * Y.r / te, 2 * Y.r / ne)), N;\n      }\n      return D.size = function(E) {\n        return arguments.length ? (A = E, D) : A;\n      }, D.radius = function(E) {\n        return arguments.length ? (C = E == null || typeof E == \"function\" ? E : +E, D) : C;\n      }, D.padding = function(E) {\n        return arguments.length ? (b = +E, D) : b;\n      }, df(D, c);\n    };\n    function BF(c, b) {\n      return c.value - b.value;\n    }\n    function cm(c, b) {\n      var A = c._pack_next;\n      c._pack_next = b, b._pack_prev = c, b._pack_next = A, A._pack_prev = b;\n    }\n    function Q_(c, b) {\n      c._pack_next = b, b._pack_prev = c;\n    }\n    function ex(c, b) {\n      var A = b.x - c.x, C = b.y - c.y, D = c.r + b.r;\n      return 0.999 * D * D > A * A + C * C;\n    }\n    function tx(c) {\n      if (!(b = c.children) || !(de = b.length)) return;\n      var b, A = 1 / 0, C = -1 / 0, D = 1 / 0, E = -1 / 0, q, N, Y, te, ne, ce, de;\n      function Te(we) {\n        A = Math.min(we.x - we.r, A), C = Math.max(we.x + we.r, C), D = Math.min(we.y - we.r, D), E = Math.max(we.y + we.r, E);\n      }\n      if (b.forEach(jF), q = b[0], q.x = -q.r, q.y = 0, Te(q), de > 1 && (N = b[1], N.x = N.r, N.y = 0, Te(N), de > 2))\n        for (Y = b[2], nx(q, N, Y), Te(Y), cm(q, Y), q._pack_prev = Y, cm(Y, N), N = q._pack_next, te = 3; te < de; te++) {\n          nx(q, N, Y = b[te]);\n          var Ae = 0, he = 1, ye = 1;\n          for (ne = N._pack_next; ne !== N; ne = ne._pack_next, he++)\n            if (ex(ne, Y)) {\n              Ae = 1;\n              break;\n            }\n          if (Ae == 1)\n            for (ce = q._pack_prev; ce !== ne._pack_prev && !ex(ce, Y); ce = ce._pack_prev, ye++)\n              ;\n          Ae ? (he < ye || he == ye && N.r < q.r ? Q_(q, N = ne) : Q_(q = ce, N), te--) : (cm(q, Y), N = Y, Te(Y));\n        }\n      var be = (A + C) / 2, Se = (D + E) / 2, De = 0;\n      for (te = 0; te < de; te++)\n        Y = b[te], Y.x -= be, Y.y -= Se, De = Math.max(De, Y.r + Math.sqrt(Y.x * Y.x + Y.y * Y.y));\n      c.r = De, b.forEach(UF);\n    }\n    function jF(c) {\n      c._pack_next = c._pack_prev = c;\n    }\n    function UF(c) {\n      delete c._pack_next, delete c._pack_prev;\n    }\n    function rx(c, b, A, C) {\n      var D = c.children;\n      if (c.x = b += C * c.x, c.y = A += C * c.y, c.r *= C, D)\n        for (var E = -1, q = D.length; ++E < q; ) rx(D[E], b, A, C);\n    }\n    function nx(c, b, A) {\n      var C = c.r + A.r, D = b.x - c.x, E = b.y - c.y;\n      if (C && (D || E)) {\n        var q = b.r + A.r, N = D * D + E * E;\n        q *= q, C *= C;\n        var Y = 0.5 + (C - q) / (2 * N), te = Math.sqrt(Math.max(0, 2 * q * (C + N) - (C -= N) * C - q * q)) / (2 * N);\n        A.x = c.x + Y * D + te * E, A.y = c.y + Y * E - te * D;\n      } else\n        A.x = c.x + C, A.y = c.y;\n    }\n    t.layout.tree = function() {\n      var c = t.layout.hierarchy().sort(null).value(null), b = ax, A = [1, 1], C = null;\n      function D(ne, ce) {\n        var de = c.call(this, ne, ce), Te = de[0], Ae = E(Te);\n        if (ki(Ae, q), Ae.parent.m = -Ae.z, hf(Ae, N), C) hf(Te, te);\n        else {\n          var he = Te, ye = Te, be = Te;\n          hf(Te, function(Ze) {\n            Ze.x < he.x && (he = Ze), Ze.x > ye.x && (ye = Ze), Ze.depth > be.depth && (be = Ze);\n          });\n          var Se = b(he, ye) / 2 - he.x, De = A[0] / (ye.x + b(ye, he) / 2 + Se), we = A[1] / (be.depth || 1);\n          hf(Te, function(Ze) {\n            Ze.x = (Ze.x + Se) * De, Ze.y = Ze.depth * we;\n          });\n        }\n        return de;\n      }\n      function E(ne) {\n        for (var ce = {\n          A: null,\n          children: [ne]\n        }, de = [ce], Te; (Te = de.pop()) != null; )\n          for (var Ae = Te.children, he, ye = 0, be = Ae.length; ye < be; ++ye)\n            de.push((Ae[ye] = he = {\n              _: Ae[ye],\n              parent: Te,\n              children: (he = Ae[ye].children) && he.slice() || [],\n              A: null,\n              a: null,\n              z: 0,\n              m: 0,\n              c: 0,\n              s: 0,\n              t: null,\n              i: ye\n            }).a = he);\n        return ce.children[0];\n      }\n      function q(ne) {\n        var ce = ne.children, de = ne.parent.children, Te = ne.i ? de[ne.i - 1] : null;\n        if (ce.length) {\n          VF(ne);\n          var Ae = (ce[0].z + ce[ce.length - 1].z) / 2;\n          Te ? (ne.z = Te.z + b(ne._, Te._), ne.m = ne.z - Ae) : ne.z = Ae;\n        } else Te && (ne.z = Te.z + b(ne._, Te._));\n        ne.parent.A = Y(ne, Te, ne.parent.A || de[0]);\n      }\n      function N(ne) {\n        ne._.x = ne.z + ne.parent.m, ne.m += ne.parent.m;\n      }\n      function Y(ne, ce, de) {\n        if (ce) {\n          for (var Te = ne, Ae = ne, he = ce, ye = Te.parent.children[0], be = Te.m, Se = Ae.m, De = he.m, we = ye.m, Ze; he = hm(he), Te = dm(Te), he && Te; )\n            ye = dm(ye), Ae = hm(Ae), Ae.a = ne, Ze = he.z + De - Te.z - be + b(he._, Te._), Ze > 0 && (GF(qF(he, ne, de), ne, Ze), be += Ze, Se += Ze), De += he.m, be += Te.m, we += ye.m, Se += Ae.m;\n          he && !hm(Ae) && (Ae.t = he, Ae.m += De - Se), Te && !dm(ye) && (ye.t = Te, ye.m += be - we, de = ne);\n        }\n        return de;\n      }\n      function te(ne) {\n        ne.x *= A[0], ne.y = ne.depth * A[1];\n      }\n      return D.separation = function(ne) {\n        return arguments.length ? (b = ne, D) : b;\n      }, D.size = function(ne) {\n        return arguments.length ? (C = (A = ne) == null ? te : null, D) : C ? null : A;\n      }, D.nodeSize = function(ne) {\n        return arguments.length ? (C = (A = ne) == null ? null : te, D) : C ? A : null;\n      }, df(D, c);\n    };\n    function ax(c, b) {\n      return c.parent == b.parent ? 1 : 2;\n    }\n    function dm(c) {\n      var b = c.children;\n      return b.length ? b[0] : c.t;\n    }\n    function hm(c) {\n      var b = c.children, A;\n      return (A = b.length) ? b[A - 1] : c.t;\n    }\n    function GF(c, b, A) {\n      var C = A / (b.i - c.i);\n      b.c -= C, b.s += A, c.c += C, b.z += A, b.m += A;\n    }\n    function VF(c) {\n      for (var b = 0, A = 0, C = c.children, D = C.length, E; --D >= 0; )\n        E = C[D], E.z += b, E.m += b, b += E.s + (A += E.c);\n    }\n    function qF(c, b, A) {\n      return c.a.parent === b.parent ? c.a : A;\n    }\n    t.layout.cluster = function() {\n      var c = t.layout.hierarchy().sort(null).value(null), b = ax, A = [1, 1], C = !1;\n      function D(E, q) {\n        var N = c.call(this, E, q), Y = N[0], te, ne = 0;\n        ki(Y, function(he) {\n          var ye = he.children;\n          ye && ye.length ? (he.x = ZF(ye), he.y = WF(ye)) : (he.x = te ? ne += b(he, te) : 0, he.y = 0, te = he);\n        });\n        var ce = ix(Y), de = ox(Y), Te = ce.x - b(ce, de) / 2, Ae = de.x + b(de, ce) / 2;\n        return ki(Y, C ? function(he) {\n          he.x = (he.x - Y.x) * A[0], he.y = (Y.y - he.y) * A[1];\n        } : function(he) {\n          he.x = (he.x - Te) / (Ae - Te) * A[0], he.y = (1 - (Y.y ? he.y / Y.y : 1)) * A[1];\n        }), N;\n      }\n      return D.separation = function(E) {\n        return arguments.length ? (b = E, D) : b;\n      }, D.size = function(E) {\n        return arguments.length ? (C = (A = E) == null, D) : C ? null : A;\n      }, D.nodeSize = function(E) {\n        return arguments.length ? (C = (A = E) != null, D) : C ? A : null;\n      }, df(D, c);\n    };\n    function WF(c) {\n      return 1 + t.max(c, function(b) {\n        return b.y;\n      });\n    }\n    function ZF(c) {\n      return c.reduce(function(b, A) {\n        return b + A.x;\n      }, 0) / c.length;\n    }\n    function ix(c) {\n      var b = c.children;\n      return b && b.length ? ix(b[0]) : c;\n    }\n    function ox(c) {\n      var b = c.children, A;\n      return b && (A = b.length) ? ox(b[A - 1]) : c;\n    }\n    t.layout.treemap = function() {\n      var c = t.layout.hierarchy(), b = Math.round, A = [1, 1], C = null, D = vm, E = !1, q, N = \"squarify\", Y = 0.5 * (1 + Math.sqrt(5));\n      function te(he, ye) {\n        for (var be = -1, Se = he.length, De, we; ++be < Se; )\n          we = (De = he[be]).value * (ye < 0 ? 0 : ye), De.area = isNaN(we) || we <= 0 ? 0 : we;\n      }\n      function ne(he) {\n        var ye = he.children;\n        if (ye && ye.length) {\n          var be = D(he), Se = [], De = ye.slice(), we, Ze = 1 / 0, mt, xt = N === \"slice\" ? be.dx : N === \"dice\" ? be.dy : N === \"slice-dice\" ? he.depth & 1 ? be.dy : be.dx : Math.min(be.dx, be.dy), yt;\n          for (te(De, be.dx * be.dy / he.value), Se.area = 0; (yt = De.length) > 0; )\n            Se.push(we = De[yt - 1]), Se.area += we.area, N !== \"squarify\" || (mt = de(Se, xt)) <= Ze ? (De.pop(), Ze = mt) : (Se.area -= Se.pop().area, Te(Se, xt, be, !1), xt = Math.min(be.dx, be.dy), Se.length = Se.area = 0, Ze = 1 / 0);\n          Se.length && (Te(Se, xt, be, !0), Se.length = Se.area = 0), ye.forEach(ne);\n        }\n      }\n      function ce(he) {\n        var ye = he.children;\n        if (ye && ye.length) {\n          var be = D(he), Se = ye.slice(), De, we = [];\n          for (te(Se, be.dx * be.dy / he.value), we.area = 0; De = Se.pop(); )\n            we.push(De), we.area += De.area, De.z != null && (Te(we, De.z ? be.dx : be.dy, be, !Se.length), we.length = we.area = 0);\n          ye.forEach(ce);\n        }\n      }\n      function de(he, ye) {\n        for (var be = he.area, Se, De = 0, we = 1 / 0, Ze = -1, mt = he.length; ++Ze < mt; )\n          (Se = he[Ze].area) && (Se < we && (we = Se), Se > De && (De = Se));\n        return be *= be, ye *= ye, be ? Math.max(ye * De * Y / be, be / (ye * we * Y)) : 1 / 0;\n      }\n      function Te(he, ye, be, Se) {\n        var De = -1, we = he.length, Ze = be.x, mt = be.y, xt = ye ? b(he.area / ye) : 0, yt;\n        if (ye == be.dx) {\n          for ((Se || xt > be.dy) && (xt = be.dy); ++De < we; )\n            yt = he[De], yt.x = Ze, yt.y = mt, yt.dy = xt, Ze += yt.dx = Math.min(be.x + be.dx - Ze, xt ? b(yt.area / xt) : 0);\n          yt.z = !0, yt.dx += be.x + be.dx - Ze, be.y += xt, be.dy -= xt;\n        } else {\n          for ((Se || xt > be.dx) && (xt = be.dx); ++De < we; )\n            yt = he[De], yt.x = Ze, yt.y = mt, yt.dx = xt, mt += yt.dy = Math.min(be.y + be.dy - mt, xt ? b(yt.area / xt) : 0);\n          yt.z = !1, yt.dy += be.y + be.dy - mt, be.x += xt, be.dx -= xt;\n        }\n      }\n      function Ae(he) {\n        var ye = q || c(he), be = ye[0];\n        return be.x = be.y = 0, be.value ? (be.dx = A[0], be.dy = A[1]) : be.dx = be.dy = 0, q && c.revalue(be), te([be], be.dx * be.dy / be.value), (q ? ce : ne)(be), E && (q = ye), ye;\n      }\n      return Ae.size = function(he) {\n        return arguments.length ? (A = he, Ae) : A;\n      }, Ae.padding = function(he) {\n        if (!arguments.length) return C;\n        function ye(De) {\n          var we = he.call(Ae, De, De.depth);\n          return we == null ? vm(De) : lx(De, typeof we == \"number\" ? [we, we, we, we] : we);\n        }\n        function be(De) {\n          return lx(De, he);\n        }\n        var Se;\n        return D = (C = he) == null ? vm : (Se = typeof he) == \"function\" ? ye : (Se === \"number\" && (he = [he, he, he, he]), be), Ae;\n      }, Ae.round = function(he) {\n        return arguments.length ? (b = he ? Math.round : Number, Ae) : b != Number;\n      }, Ae.sticky = function(he) {\n        return arguments.length ? (E = he, q = null, Ae) : E;\n      }, Ae.ratio = function(he) {\n        return arguments.length ? (Y = he, Ae) : Y;\n      }, Ae.mode = function(he) {\n        return arguments.length ? (N = he + \"\", Ae) : N;\n      }, df(Ae, c);\n    };\n    function vm(c) {\n      return {\n        x: c.x,\n        y: c.y,\n        dx: c.dx,\n        dy: c.dy\n      };\n    }\n    function lx(c, b) {\n      var A = c.x + b[3], C = c.y + b[0], D = c.dx - b[1] - b[3], E = c.dy - b[0] - b[2];\n      return D < 0 && (A += D / 2, D = 0), E < 0 && (C += E / 2, E = 0), {\n        x: A,\n        y: C,\n        dx: D,\n        dy: E\n      };\n    }\n    t.random = {\n      normal: function(c, b) {\n        var A = arguments.length;\n        return A < 2 && (b = 1), A < 1 && (c = 0), function() {\n          var C, D, E;\n          do\n            C = Math.random() * 2 - 1, D = Math.random() * 2 - 1, E = C * C + D * D;\n          while (!E || E > 1);\n          return c + b * C * Math.sqrt(-2 * Math.log(E) / E);\n        };\n      },\n      logNormal: function() {\n        var c = t.random.normal.apply(t, arguments);\n        return function() {\n          return Math.exp(c());\n        };\n      },\n      bates: function(c) {\n        var b = t.random.irwinHall(c);\n        return function() {\n          return b() / c;\n        };\n      },\n      irwinHall: function(c) {\n        return function() {\n          for (var b = 0, A = 0; A < c; A++) b += Math.random();\n          return b;\n        };\n      }\n    }, t.scale = {};\n    function hd(c) {\n      var b = c[0], A = c[c.length - 1];\n      return b < A ? [b, A] : [A, b];\n    }\n    function vd(c) {\n      return c.rangeExtent ? c.rangeExtent() : hd(c.range());\n    }\n    function YF(c, b, A, C) {\n      var D = A(c[0], c[1]), E = C(b[0], b[1]);\n      return function(q) {\n        return E(D(q));\n      };\n    }\n    function pm(c, b) {\n      var A = 0, C = c.length - 1, D = c[A], E = c[C], q;\n      return E < D && (q = A, A = C, C = q, q = D, D = E, E = q), c[A] = b.floor(D), c[C] = b.ceil(E), c;\n    }\n    function sx(c) {\n      return c ? {\n        floor: function(b) {\n          return Math.floor(b / c) * c;\n        },\n        ceil: function(b) {\n          return Math.ceil(b / c) * c;\n        }\n      } : XF;\n    }\n    var XF = {\n      floor: V,\n      ceil: V\n    };\n    function KF(c, b, A, C) {\n      var D = [], E = [], q = 0, N = Math.min(c.length, b.length) - 1;\n      for (c[N] < c[0] && (c = c.slice().reverse(), b = b.slice().reverse()); ++q <= N; )\n        D.push(A(c[q - 1], c[q])), E.push(C(b[q - 1], b[q]));\n      return function(Y) {\n        var te = t.bisect(c, Y, 1, N) - 1;\n        return E[te](D[te](Y));\n      };\n    }\n    t.scale.linear = function() {\n      return ux([0, 1], [0, 1], kl, !1);\n    };\n    function ux(c, b, A, C) {\n      var D, E;\n      function q() {\n        var Y = Math.min(c.length, b.length) > 2 ? KF : YF, te = C ? gF : mF;\n        return D = Y(c, b, te, A), E = Y(b, c, te, kl), N;\n      }\n      function N(Y) {\n        return D(Y);\n      }\n      return N.invert = function(Y) {\n        return E(Y);\n      }, N.domain = function(Y) {\n        return arguments.length ? (c = Y.map(Number), q()) : c;\n      }, N.range = function(Y) {\n        return arguments.length ? (b = Y, q()) : b;\n      }, N.rangeRound = function(Y) {\n        return N.range(Y).interpolate(G_);\n      }, N.clamp = function(Y) {\n        return arguments.length ? (C = Y, q()) : C;\n      }, N.interpolate = function(Y) {\n        return arguments.length ? (A = Y, q()) : A;\n      }, N.ticks = function(Y) {\n        return gm(c, Y);\n      }, N.tickFormat = function(Y, te) {\n        return d3_scale_linearTickFormat(c, Y, te);\n      }, N.nice = function(Y) {\n        return cx(c, Y), q();\n      }, N.copy = function() {\n        return ux(c, b, A, C);\n      }, q();\n    }\n    function fx(c, b) {\n      return t.rebind(c, b, \"range\", \"rangeRound\", \"interpolate\", \"clamp\");\n    }\n    function cx(c, b) {\n      return pm(c, sx(mm(c, b)[2])), pm(c, sx(mm(c, b)[2])), c;\n    }\n    function mm(c, b) {\n      b == null && (b = 10);\n      var A = hd(c), C = A[1] - A[0], D = Math.pow(10, Math.floor(Math.log(C / b) / Math.LN10)), E = b / C * D;\n      return E <= 0.15 ? D *= 10 : E <= 0.35 ? D *= 5 : E <= 0.75 && (D *= 2), A[0] = Math.ceil(A[0] / D) * D, A[1] = Math.floor(A[1] / D) * D + D * 0.5, A[2] = D, A;\n    }\n    function gm(c, b) {\n      return t.range.apply(t, mm(c, b));\n    }\n    t.scale.log = function() {\n      return dx(t.scale.linear().domain([0, 1]), 10, !0, [1, 10]);\n    };\n    function dx(c, b, A, C) {\n      function D(N) {\n        return (A ? Math.log(N < 0 ? 0 : N) : -Math.log(N > 0 ? 0 : -N)) / Math.log(b);\n      }\n      function E(N) {\n        return A ? Math.pow(b, N) : -Math.pow(b, -N);\n      }\n      function q(N) {\n        return c(D(N));\n      }\n      return q.invert = function(N) {\n        return E(c.invert(N));\n      }, q.domain = function(N) {\n        return arguments.length ? (A = N[0] >= 0, c.domain((C = N.map(Number)).map(D)), q) : C;\n      }, q.base = function(N) {\n        return arguments.length ? (b = +N, c.domain(C.map(D)), q) : b;\n      }, q.nice = function() {\n        var N = pm(C.map(D), A ? Math : JF);\n        return c.domain(N), C = N.map(E), q;\n      }, q.ticks = function() {\n        var N = hd(C), Y = [], te = N[0], ne = N[1], ce = Math.floor(D(te)), de = Math.ceil(D(ne)), Te = b % 1 ? 2 : b;\n        if (isFinite(de - ce)) {\n          if (A) {\n            for (; ce < de; ce++) for (var Ae = 1; Ae < Te; Ae++) Y.push(E(ce) * Ae);\n            Y.push(E(ce));\n          } else\n            for (Y.push(E(ce)); ce++ < de; ) for (var Ae = Te - 1; Ae > 0; Ae--) Y.push(E(ce) * Ae);\n          for (ce = 0; Y[ce] < te; ce++)\n            ;\n          for (de = Y.length; Y[de - 1] > ne; de--)\n            ;\n          Y = Y.slice(ce, de);\n        }\n        return Y;\n      }, q.copy = function() {\n        return dx(c.copy(), b, A, C);\n      }, fx(q, c);\n    }\n    var JF = {\n      floor: function(c) {\n        return -Math.ceil(-c);\n      },\n      ceil: function(c) {\n        return -Math.floor(-c);\n      }\n    };\n    t.scale.pow = function() {\n      return hx(t.scale.linear(), 1, [0, 1]);\n    };\n    function hx(c, b, A) {\n      var C = pd(b), D = pd(1 / b);\n      function E(q) {\n        return c(C(q));\n      }\n      return E.invert = function(q) {\n        return D(c.invert(q));\n      }, E.domain = function(q) {\n        return arguments.length ? (c.domain((A = q.map(Number)).map(C)), E) : A;\n      }, E.ticks = function(q) {\n        return gm(A, q);\n      }, E.tickFormat = function(q, N) {\n        return d3_scale_linearTickFormat(A, q, N);\n      }, E.nice = function(q) {\n        return E.domain(cx(A, q));\n      }, E.exponent = function(q) {\n        return arguments.length ? (C = pd(b = q), D = pd(1 / b), c.domain(A.map(C)), E) : b;\n      }, E.copy = function() {\n        return hx(c.copy(), b, A);\n      }, fx(E, c);\n    }\n    function pd(c) {\n      return function(b) {\n        return b < 0 ? -Math.pow(-b, c) : Math.pow(b, c);\n      };\n    }\n    t.scale.sqrt = function() {\n      return t.scale.pow().exponent(0.5);\n    }, t.scale.ordinal = function() {\n      return vx([], {\n        t: \"range\",\n        a: [[]]\n      });\n    };\n    function vx(c, b) {\n      var A, C, D;\n      function E(N) {\n        return C[((A.get(N) || (b.t === \"range\" ? A.set(N, c.push(N)) : NaN)) - 1) % C.length];\n      }\n      function q(N, Y) {\n        return t.range(c.length).map(function(te) {\n          return N + Y * te;\n        });\n      }\n      return E.domain = function(N) {\n        if (!arguments.length) return c;\n        c = [], A = new _();\n        for (var Y = -1, te = N.length, ne; ++Y < te; ) A.has(ne = N[Y]) || A.set(ne, c.push(ne));\n        return E[b.t].apply(E, b.a);\n      }, E.range = function(N) {\n        return arguments.length ? (C = N, D = 0, b = {\n          t: \"range\",\n          a: arguments\n        }, E) : C;\n      }, E.rangePoints = function(N, Y) {\n        arguments.length < 2 && (Y = 0);\n        var te = N[0], ne = N[1], ce = c.length < 2 ? (te = (te + ne) / 2, 0) : (ne - te) / (c.length - 1 + Y);\n        return C = q(te + ce * Y / 2, ce), D = 0, b = {\n          t: \"rangePoints\",\n          a: arguments\n        }, E;\n      }, E.rangeRoundPoints = function(N, Y) {\n        arguments.length < 2 && (Y = 0);\n        var te = N[0], ne = N[1], ce = c.length < 2 ? (te = ne = Math.round((te + ne) / 2), 0) : (ne - te) / (c.length - 1 + Y) | 0;\n        return C = q(te + Math.round(ce * Y / 2 + (ne - te - (c.length - 1 + Y) * ce) / 2), ce), D = 0, b = {\n          t: \"rangeRoundPoints\",\n          a: arguments\n        }, E;\n      }, E.rangeBands = function(N, Y, te) {\n        arguments.length < 2 && (Y = 0), arguments.length < 3 && (te = Y);\n        var ne = N[1] < N[0], ce = N[ne - 0], de = N[1 - ne], Te = (de - ce) / (c.length - Y + 2 * te);\n        return C = q(ce + Te * te, Te), ne && C.reverse(), D = Te * (1 - Y), b = {\n          t: \"rangeBands\",\n          a: arguments\n        }, E;\n      }, E.rangeRoundBands = function(N, Y, te) {\n        arguments.length < 2 && (Y = 0), arguments.length < 3 && (te = Y);\n        var ne = N[1] < N[0], ce = N[ne - 0], de = N[1 - ne], Te = Math.floor((de - ce) / (c.length - Y + 2 * te));\n        return C = q(ce + Math.round((de - ce - (c.length - Y) * Te) / 2), Te), ne && C.reverse(), D = Math.round(Te * (1 - Y)), b = {\n          t: \"rangeRoundBands\",\n          a: arguments\n        }, E;\n      }, E.rangeBand = function() {\n        return D;\n      }, E.rangeExtent = function() {\n        return hd(b.a[0]);\n      }, E.copy = function() {\n        return vx(c, b);\n      }, E.domain(c);\n    }\n    t.scale.category10 = function() {\n      return t.scale.ordinal().range(QF);\n    }, t.scale.category20 = function() {\n      return t.scale.ordinal().range(eR);\n    }, t.scale.category20b = function() {\n      return t.scale.ordinal().range(tR);\n    }, t.scale.category20c = function() {\n      return t.scale.ordinal().range(rR);\n    };\n    var QF = [2062260, 16744206, 2924588, 14034728, 9725885, 9197131, 14907330, 8355711, 12369186, 1556175].map(Pn), eR = [2062260, 11454440, 16744206, 16759672, 2924588, 10018698, 14034728, 16750742, 9725885, 12955861, 9197131, 12885140, 14907330, 16234194, 8355711, 13092807, 12369186, 14408589, 1556175, 10410725].map(Pn), tR = [3750777, 5395619, 7040719, 10264286, 6519097, 9216594, 11915115, 13556636, 9202993, 12426809, 15186514, 15190932, 8666169, 11356490, 14049643, 15177372, 8077683, 10834324, 13528509, 14589654].map(Pn), rR = [3244733, 7057110, 10406625, 13032431, 15095053, 16616764, 16625259, 16634018, 3253076, 7652470, 10607003, 13101504, 7695281, 10394312, 12369372, 14342891, 6513507, 9868950, 12434877, 14277081].map(Pn);\n    t.scale.quantile = function() {\n      return px([], []);\n    };\n    function px(c, b) {\n      var A;\n      function C() {\n        var E = 0, q = b.length;\n        for (A = []; ++E < q; ) A[E - 1] = t.quantile(c, E / q);\n        return D;\n      }\n      function D(E) {\n        if (!isNaN(E = +E)) return b[t.bisect(A, E)];\n      }\n      return D.domain = function(E) {\n        return arguments.length ? (c = E.map(p).filter(v).sort(h), C()) : c;\n      }, D.range = function(E) {\n        return arguments.length ? (b = E, C()) : b;\n      }, D.quantiles = function() {\n        return A;\n      }, D.invertExtent = function(E) {\n        return E = b.indexOf(E), E < 0 ? [NaN, NaN] : [E > 0 ? A[E - 1] : c[0], E < A.length ? A[E] : c[c.length - 1]];\n      }, D.copy = function() {\n        return px(c, b);\n      }, C();\n    }\n    t.scale.quantize = function() {\n      return mx(0, 1, [0, 1]);\n    };\n    function mx(c, b, A) {\n      var C, D;\n      function E(N) {\n        return A[Math.max(0, Math.min(D, Math.floor(C * (N - c))))];\n      }\n      function q() {\n        return C = A.length / (b - c), D = A.length - 1, E;\n      }\n      return E.domain = function(N) {\n        return arguments.length ? (c = +N[0], b = +N[N.length - 1], q()) : [c, b];\n      }, E.range = function(N) {\n        return arguments.length ? (A = N, q()) : A;\n      }, E.invertExtent = function(N) {\n        return N = A.indexOf(N), N = N < 0 ? NaN : N / C + c, [N, N + 1 / C];\n      }, E.copy = function() {\n        return mx(c, b, A);\n      }, q();\n    }\n    t.scale.threshold = function() {\n      return gx([0.5], [0, 1]);\n    };\n    function gx(c, b) {\n      function A(C) {\n        if (C <= C) return b[t.bisect(c, C)];\n      }\n      return A.domain = function(C) {\n        return arguments.length ? (c = C, A) : c;\n      }, A.range = function(C) {\n        return arguments.length ? (b = C, A) : b;\n      }, A.invertExtent = function(C) {\n        return C = b.indexOf(C), [c[C - 1], c[C]];\n      }, A.copy = function() {\n        return gx(c, b);\n      }, A;\n    }\n    t.scale.identity = function() {\n      return yx([0, 1]);\n    };\n    function yx(c) {\n      function b(A) {\n        return +A;\n      }\n      return b.invert = b, b.domain = b.range = function(A) {\n        return arguments.length ? (c = A.map(b), b) : c;\n      }, b.ticks = function(A) {\n        return gm(c, A);\n      }, b.tickFormat = function(A, C) {\n        return d3_scale_linearTickFormat(c, A, C);\n      }, b.copy = function() {\n        return yx(c);\n      }, b;\n    }\n    t.svg = {};\n    function nR() {\n      return 0;\n    }\n    t.svg.arc = function() {\n      var c = aR, b = iR, A = nR, C = md, D = bx, E = _x, q = oR;\n      function N() {\n        var te = Math.max(0, +c.apply(this, arguments)), ne = Math.max(0, +b.apply(this, arguments)), ce = D.apply(this, arguments) - se, de = E.apply(this, arguments) - se, Te = Math.abs(de - ce), Ae = ce > de ? 0 : 1;\n        if (ne < te && (he = ne, ne = te, te = he), Te >= X) return Y(ne, Ae) + (te ? Y(te, 1 - Ae) : \"\") + \"Z\";\n        var he, ye, be, Se, De = 0, we = 0, Ze, mt, xt, yt, Lt, Dt, Wt, Ft, Gt = [];\n        if ((Se = (+q.apply(this, arguments) || 0) / 2) && (be = C === md ? Math.sqrt(te * te + ne * ne) : +C.apply(this, arguments), Ae || (we *= -1), ne && (we = _e(be / ne * Math.sin(Se))), te && (De = _e(be / te * Math.sin(Se)))), ne) {\n          Ze = ne * Math.cos(ce + we), mt = ne * Math.sin(ce + we), xt = ne * Math.cos(de - we), yt = ne * Math.sin(de - we);\n          var gr = Math.abs(de - ce - 2 * we) <= rt ? 0 : 1;\n          if (we && gd(Ze, mt, xt, yt) === Ae ^ gr) {\n            var Yr = (ce + de) / 2;\n            Ze = ne * Math.cos(Yr), mt = ne * Math.sin(Yr), xt = yt = null;\n          }\n        } else\n          Ze = mt = 0;\n        if (te) {\n          Lt = te * Math.cos(de - De), Dt = te * Math.sin(de - De), Wt = te * Math.cos(ce + De), Ft = te * Math.sin(ce + De);\n          var xr = Math.abs(ce - de + 2 * De) <= rt ? 0 : 1;\n          if (De && gd(Lt, Dt, Wt, Ft) === 1 - Ae ^ xr) {\n            var dt = (ce + de) / 2;\n            Lt = te * Math.cos(dt), Dt = te * Math.sin(dt), Wt = Ft = null;\n          }\n        } else\n          Lt = Dt = 0;\n        if (Te > Ke && (he = Math.min(Math.abs(ne - te) / 2, +A.apply(this, arguments))) > 1e-3) {\n          ye = te < ne ^ Ae ? 0 : 1;\n          var Zt = he, Jt = he;\n          if (Te < rt) {\n            var yr = Wt == null ? [Lt, Dt] : xt == null ? [Ze, mt] : tm([Ze, mt], [Wt, Ft], [xt, yt], [Lt, Dt]), Gr = Ze - yr[0], un = mt - yr[1], kn = xt - yr[0], $n = yt - yr[1], Un = 1 / Math.sin(Math.acos((Gr * kn + un * $n) / (Math.sqrt(Gr * Gr + un * un) * Math.sqrt(kn * kn + $n * $n))) / 2), zn = Math.sqrt(yr[0] * yr[0] + yr[1] * yr[1]);\n            Jt = Math.min(he, (te - zn) / (Un - 1)), Zt = Math.min(he, (ne - zn) / (Un + 1));\n          }\n          if (xt != null) {\n            var Qn = yd(Wt == null ? [Lt, Dt] : [Wt, Ft], [Ze, mt], ne, Zt, Ae), Cn = yd([xt, yt], [Lt, Dt], ne, Zt, Ae);\n            he === Zt ? Gt.push(\"M\", Qn[0], \"A\", Zt, \",\", Zt, \" 0 0,\", ye, \" \", Qn[1], \"A\", ne, \",\", ne, \" 0 \", 1 - Ae ^ gd(Qn[1][0], Qn[1][1], Cn[1][0], Cn[1][1]), \",\", Ae, \" \", Cn[1], \"A\", Zt, \",\", Zt, \" 0 0,\", ye, \" \", Cn[0]) : Gt.push(\"M\", Qn[0], \"A\", Zt, \",\", Zt, \" 0 1,\", ye, \" \", Cn[0]);\n          } else\n            Gt.push(\"M\", Ze, \",\", mt);\n          if (Wt != null) {\n            var ea = yd([Ze, mt], [Wt, Ft], te, -Jt, Ae), Ml = yd([Lt, Dt], xt == null ? [Ze, mt] : [xt, yt], te, -Jt, Ae);\n            he === Jt ? Gt.push(\"L\", Ml[0], \"A\", Jt, \",\", Jt, \" 0 0,\", ye, \" \", Ml[1], \"A\", te, \",\", te, \" 0 \", Ae ^ gd(Ml[1][0], Ml[1][1], ea[1][0], ea[1][1]), \",\", 1 - Ae, \" \", ea[1], \"A\", Jt, \",\", Jt, \" 0 0,\", ye, \" \", ea[0]) : Gt.push(\"L\", Ml[0], \"A\", Jt, \",\", Jt, \" 0 0,\", ye, \" \", ea[0]);\n          } else\n            Gt.push(\"L\", Lt, \",\", Dt);\n        } else\n          Gt.push(\"M\", Ze, \",\", mt), xt != null && Gt.push(\"A\", ne, \",\", ne, \" 0 \", gr, \",\", Ae, \" \", xt, \",\", yt), Gt.push(\"L\", Lt, \",\", Dt), Wt != null && Gt.push(\"A\", te, \",\", te, \" 0 \", xr, \",\", 1 - Ae, \" \", Wt, \",\", Ft);\n        return Gt.push(\"Z\"), Gt.join(\"\");\n      }\n      function Y(te, ne) {\n        return \"M0,\" + te + \"A\" + te + \",\" + te + \" 0 1,\" + ne + \" 0,\" + -te + \"A\" + te + \",\" + te + \" 0 1,\" + ne + \" 0,\" + te;\n      }\n      return N.innerRadius = function(te) {\n        return arguments.length ? (c = mr(te), N) : c;\n      }, N.outerRadius = function(te) {\n        return arguments.length ? (b = mr(te), N) : b;\n      }, N.cornerRadius = function(te) {\n        return arguments.length ? (A = mr(te), N) : A;\n      }, N.padRadius = function(te) {\n        return arguments.length ? (C = te == md ? md : mr(te), N) : C;\n      }, N.startAngle = function(te) {\n        return arguments.length ? (D = mr(te), N) : D;\n      }, N.endAngle = function(te) {\n        return arguments.length ? (E = mr(te), N) : E;\n      }, N.padAngle = function(te) {\n        return arguments.length ? (q = mr(te), N) : q;\n      }, N.centroid = function() {\n        var te = (+c.apply(this, arguments) + +b.apply(this, arguments)) / 2, ne = (+D.apply(this, arguments) + +E.apply(this, arguments)) / 2 - se;\n        return [Math.cos(ne) * te, Math.sin(ne) * te];\n      }, N;\n    };\n    var md = \"auto\";\n    function aR(c) {\n      return c.innerRadius;\n    }\n    function iR(c) {\n      return c.outerRadius;\n    }\n    function bx(c) {\n      return c.startAngle;\n    }\n    function _x(c) {\n      return c.endAngle;\n    }\n    function oR(c) {\n      return c && c.padAngle;\n    }\n    function gd(c, b, A, C) {\n      return (c - A) * b - (b - C) * c > 0 ? 0 : 1;\n    }\n    function yd(c, b, A, C, D) {\n      var E = c[0] - b[0], q = c[1] - b[1], N = (D ? C : -C) / Math.sqrt(E * E + q * q), Y = N * q, te = -N * E, ne = c[0] + Y, ce = c[1] + te, de = b[0] + Y, Te = b[1] + te, Ae = (ne + de) / 2, he = (ce + Te) / 2, ye = de - ne, be = Te - ce, Se = ye * ye + be * be, De = A - C, we = ne * Te - de * ce, Ze = (be < 0 ? -1 : 1) * Math.sqrt(Math.max(0, De * De * Se - we * we)), mt = (we * be - ye * Ze) / Se, xt = (-we * ye - be * Ze) / Se, yt = (we * be + ye * Ze) / Se, Lt = (-we * ye + be * Ze) / Se, Dt = mt - Ae, Wt = xt - he, Ft = yt - Ae, Gt = Lt - he;\n      return Dt * Dt + Wt * Wt > Ft * Ft + Gt * Gt && (mt = yt, xt = Lt), [[mt - Y, xt - te], [mt * A / De, xt * A / De]];\n    }\n    function xx() {\n      return !0;\n    }\n    function wx(c) {\n      var b = ks, A = of, C = xx, D = Qa, E = D.key, q = 0.7;\n      function N(Y) {\n        var te = [], ne = [], ce = -1, de = Y.length, Te, Ae = mr(b), he = mr(A);\n        function ye() {\n          te.push(\"M\", D(c(ne), q));\n        }\n        for (; ++ce < de; )\n          C.call(this, Te = Y[ce], ce) ? ne.push([+Ae.call(this, Te, ce), +he.call(this, Te, ce)]) : ne.length && (ye(), ne = []);\n        return ne.length && ye(), te.length ? te.join(\"\") : null;\n      }\n      return N.x = function(Y) {\n        return arguments.length ? (b = Y, N) : b;\n      }, N.y = function(Y) {\n        return arguments.length ? (A = Y, N) : A;\n      }, N.defined = function(Y) {\n        return arguments.length ? (C = Y, N) : C;\n      }, N.interpolate = function(Y) {\n        return arguments.length ? (typeof Y == \"function\" ? E = D = Y : E = (D = ym.get(Y) || Qa).key, N) : E;\n      }, N.tension = function(Y) {\n        return arguments.length ? (q = Y, N) : q;\n      }, N;\n    }\n    t.svg.line = function() {\n      return wx(V);\n    };\n    var ym = t.map({\n      linear: Qa,\n      \"linear-closed\": Tx,\n      step: lR,\n      \"step-before\": bm,\n      \"step-after\": _m,\n      basis: kx,\n      \"basis-open\": cR,\n      \"basis-closed\": dR,\n      bundle: hR,\n      cardinal: fR,\n      \"cardinal-open\": sR,\n      \"cardinal-closed\": uR,\n      monotone: mR\n    });\n    ym.forEach(function(c, b) {\n      b.key = c, b.closed = /-closed$/.test(c);\n    });\n    function Qa(c) {\n      return c.length > 1 ? c.join(\"L\") : c + \"Z\";\n    }\n    function Tx(c) {\n      return c.join(\"L\") + \"Z\";\n    }\n    function lR(c) {\n      for (var b = 0, A = c.length, C = c[0], D = [C[0], \",\", C[1]]; ++b < A; ) D.push(\"H\", (C[0] + (C = c[b])[0]) / 2, \"V\", C[1]);\n      return A > 1 && D.push(\"H\", C[0]), D.join(\"\");\n    }\n    function bm(c) {\n      for (var b = 0, A = c.length, C = c[0], D = [C[0], \",\", C[1]]; ++b < A; ) D.push(\"V\", (C = c[b])[1], \"H\", C[0]);\n      return D.join(\"\");\n    }\n    function _m(c) {\n      for (var b = 0, A = c.length, C = c[0], D = [C[0], \",\", C[1]]; ++b < A; ) D.push(\"H\", (C = c[b])[0], \"V\", C[1]);\n      return D.join(\"\");\n    }\n    function sR(c, b) {\n      return c.length < 4 ? Qa(c) : c[1] + bd(c.slice(1, -1), xm(c, b));\n    }\n    function uR(c, b) {\n      return c.length < 3 ? Tx(c) : c[0] + bd((c.push(c[0]), c), xm([c[c.length - 2]].concat(c, [c[1]]), b));\n    }\n    function fR(c, b) {\n      return c.length < 3 ? Qa(c) : c[0] + bd(c, xm(c, b));\n    }\n    function bd(c, b) {\n      if (b.length < 1 || c.length != b.length && c.length != b.length + 2)\n        return Qa(c);\n      var A = c.length != b.length, C = \"\", D = c[0], E = c[1], q = b[0], N = q, Y = 1;\n      if (A && (C += \"Q\" + (E[0] - q[0] * 2 / 3) + \",\" + (E[1] - q[1] * 2 / 3) + \",\" + E[0] + \",\" + E[1], D = c[1], Y = 2), b.length > 1) {\n        N = b[1], E = c[Y], Y++, C += \"C\" + (D[0] + q[0]) + \",\" + (D[1] + q[1]) + \",\" + (E[0] - N[0]) + \",\" + (E[1] - N[1]) + \",\" + E[0] + \",\" + E[1];\n        for (var te = 2; te < b.length; te++, Y++)\n          E = c[Y], N = b[te], C += \"S\" + (E[0] - N[0]) + \",\" + (E[1] - N[1]) + \",\" + E[0] + \",\" + E[1];\n      }\n      if (A) {\n        var ne = c[Y];\n        C += \"Q\" + (E[0] + N[0] * 2 / 3) + \",\" + (E[1] + N[1] * 2 / 3) + \",\" + ne[0] + \",\" + ne[1];\n      }\n      return C;\n    }\n    function xm(c, b) {\n      for (var A = [], C = (1 - b) / 2, D, E = c[0], q = c[1], N = 1, Y = c.length; ++N < Y; )\n        D = E, E = q, q = c[N], A.push([C * (q[0] - D[0]), C * (q[1] - D[1])]);\n      return A;\n    }\n    function kx(c) {\n      if (c.length < 3) return Qa(c);\n      var b = 1, A = c.length, C = c[0], D = C[0], E = C[1], q = [D, D, D, (C = c[1])[0]], N = [E, E, E, C[1]], Y = [D, \",\", E, \"L\", Sa(Ro, q), \",\", Sa(Ro, N)];\n      for (c.push(c[A - 1]); ++b <= A; )\n        C = c[b], q.shift(), q.push(C[0]), N.shift(), N.push(C[1]), wm(Y, q, N);\n      return c.pop(), Y.push(\"L\", C), Y.join(\"\");\n    }\n    function cR(c) {\n      if (c.length < 4) return Qa(c);\n      for (var b = [], A = -1, C = c.length, D, E = [0], q = [0]; ++A < 3; )\n        D = c[A], E.push(D[0]), q.push(D[1]);\n      for (b.push(Sa(Ro, E) + \",\" + Sa(Ro, q)), --A; ++A < C; )\n        D = c[A], E.shift(), E.push(D[0]), q.shift(), q.push(D[1]), wm(b, E, q);\n      return b.join(\"\");\n    }\n    function dR(c) {\n      for (var b, A = -1, C = c.length, D = C + 4, E, q = [], N = []; ++A < 4; )\n        E = c[A % C], q.push(E[0]), N.push(E[1]);\n      for (b = [Sa(Ro, q), \",\", Sa(Ro, N)], --A; ++A < D; )\n        E = c[A % C], q.shift(), q.push(E[0]), N.shift(), N.push(E[1]), wm(b, q, N);\n      return b.join(\"\");\n    }\n    function hR(c, b) {\n      var A = c.length - 1;\n      if (A)\n        for (var C = c[0][0], D = c[0][1], E = c[A][0] - C, q = c[A][1] - D, N = -1, Y, te; ++N <= A; )\n          Y = c[N], te = N / A, Y[0] = b * Y[0] + (1 - b) * (C + te * E), Y[1] = b * Y[1] + (1 - b) * (D + te * q);\n      return kx(c);\n    }\n    function Sa(c, b) {\n      return c[0] * b[0] + c[1] * b[1] + c[2] * b[2] + c[3] * b[3];\n    }\n    var Ax = [0, 2 / 3, 1 / 3, 0], Mx = [0, 1 / 3, 2 / 3, 0], Ro = [0, 1 / 6, 2 / 3, 1 / 6];\n    function wm(c, b, A) {\n      c.push(\"C\", Sa(Ax, b), \",\", Sa(Ax, A), \",\", Sa(Mx, b), \",\", Sa(Mx, A), \",\", Sa(Ro, b), \",\", Sa(Ro, A));\n    }\n    function Tm(c, b) {\n      return (b[1] - c[1]) / (b[0] - c[0]);\n    }\n    function vR(c) {\n      for (var b = 0, A = c.length - 1, C = [], D = c[0], E = c[1], q = C[0] = Tm(D, E); ++b < A; )\n        C[b] = (q + (q = Tm(D = E, E = c[b + 1]))) / 2;\n      return C[b] = q, C;\n    }\n    function pR(c) {\n      for (var b = [], A, C, D, E, q = vR(c), N = -1, Y = c.length - 1; ++N < Y; )\n        A = Tm(c[N], c[N + 1]), w(A) < Ke ? q[N] = q[N + 1] = 0 : (C = q[N] / A, D = q[N + 1] / A, E = C * C + D * D, E > 9 && (E = A * 3 / Math.sqrt(E), q[N] = E * C, q[N + 1] = E * D));\n      for (N = -1; ++N <= Y; )\n        E = (c[Math.min(Y, N + 1)][0] - c[Math.max(0, N - 1)][0]) / (6 * (1 + q[N] * q[N])), b.push([E || 0, q[N] * E || 0]);\n      return b;\n    }\n    function mR(c) {\n      return c.length < 3 ? Qa(c) : c[0] + bd(c, pR(c));\n    }\n    t.svg.line.radial = function() {\n      var c = wx(Sx);\n      return c.radius = c.x, delete c.x, c.angle = c.y, delete c.y, c;\n    };\n    function Sx(c) {\n      for (var b, A = -1, C = c.length, D, E; ++A < C; )\n        b = c[A], D = b[0], E = b[1] - se, b[0] = D * Math.cos(E), b[1] = D * Math.sin(E);\n      return c;\n    }\n    function Cx(c) {\n      var b = ks, A = ks, C = 0, D = of, E = xx, q = Qa, N = q.key, Y = q, te = \"L\", ne = 0.7;\n      function ce(de) {\n        var Te = [], Ae = [], he = [], ye = -1, be = de.length, Se, De = mr(b), we = mr(C), Ze = b === A ? function() {\n          return xt;\n        } : mr(A), mt = C === D ? function() {\n          return yt;\n        } : mr(D), xt, yt;\n        function Lt() {\n          Te.push(\"M\", q(c(he), ne), te, Y(c(Ae.reverse()), ne), \"Z\");\n        }\n        for (; ++ye < be; )\n          E.call(this, Se = de[ye], ye) ? (Ae.push([xt = +De.call(this, Se, ye), yt = +we.call(this, Se, ye)]), he.push([+Ze.call(this, Se, ye), +mt.call(this, Se, ye)])) : Ae.length && (Lt(), Ae = [], he = []);\n        return Ae.length && Lt(), Te.length ? Te.join(\"\") : null;\n      }\n      return ce.x = function(de) {\n        return arguments.length ? (b = A = de, ce) : A;\n      }, ce.x0 = function(de) {\n        return arguments.length ? (b = de, ce) : b;\n      }, ce.x1 = function(de) {\n        return arguments.length ? (A = de, ce) : A;\n      }, ce.y = function(de) {\n        return arguments.length ? (C = D = de, ce) : D;\n      }, ce.y0 = function(de) {\n        return arguments.length ? (C = de, ce) : C;\n      }, ce.y1 = function(de) {\n        return arguments.length ? (D = de, ce) : D;\n      }, ce.defined = function(de) {\n        return arguments.length ? (E = de, ce) : E;\n      }, ce.interpolate = function(de) {\n        return arguments.length ? (typeof de == \"function\" ? N = q = de : N = (q = ym.get(de) || Qa).key, Y = q.reverse || q, te = q.closed ? \"M\" : \"L\", ce) : N;\n      }, ce.tension = function(de) {\n        return arguments.length ? (ne = de, ce) : ne;\n      }, ce;\n    }\n    bm.reverse = _m, _m.reverse = bm, t.svg.area = function() {\n      return Cx(V);\n    }, t.svg.area.radial = function() {\n      var c = Cx(Sx);\n      return c.radius = c.x, delete c.x, c.innerRadius = c.x0, delete c.x0, c.outerRadius = c.x1, delete c.x1, c.angle = c.y, delete c.y, c.startAngle = c.y0, delete c.y0, c.endAngle = c.y1, delete c.y1, c;\n    };\n    function Lx(c) {\n      return c.source;\n    }\n    function Dx(c) {\n      return c.target;\n    }\n    t.svg.chord = function() {\n      var c = Lx, b = Dx, A = gR, C = bx, D = _x;\n      function E(ne, ce) {\n        var de = q(this, c, ne, ce), Te = q(this, b, ne, ce);\n        return \"M\" + de.p0 + Y(de.r, de.p1, de.a1 - de.a0) + (N(de, Te) ? te(de.r, de.p1, de.r, de.p0) : te(de.r, de.p1, Te.r, Te.p0) + Y(Te.r, Te.p1, Te.a1 - Te.a0) + te(Te.r, Te.p1, de.r, de.p0)) + \"Z\";\n      }\n      function q(ne, ce, de, Te) {\n        var Ae = ce.call(ne, de, Te), he = A.call(ne, Ae, Te), ye = C.call(ne, Ae, Te) - se, be = D.call(ne, Ae, Te) - se;\n        return {\n          r: he,\n          a0: ye,\n          a1: be,\n          p0: [he * Math.cos(ye), he * Math.sin(ye)],\n          p1: [he * Math.cos(be), he * Math.sin(be)]\n        };\n      }\n      function N(ne, ce) {\n        return ne.a0 == ce.a0 && ne.a1 == ce.a1;\n      }\n      function Y(ne, ce, de) {\n        return \"A\" + ne + \",\" + ne + \" 0 \" + +(de > rt) + \",1 \" + ce;\n      }\n      function te(ne, ce, de, Te) {\n        return \"Q 0,0 \" + Te;\n      }\n      return E.radius = function(ne) {\n        return arguments.length ? (A = mr(ne), E) : A;\n      }, E.source = function(ne) {\n        return arguments.length ? (c = mr(ne), E) : c;\n      }, E.target = function(ne) {\n        return arguments.length ? (b = mr(ne), E) : b;\n      }, E.startAngle = function(ne) {\n        return arguments.length ? (C = mr(ne), E) : C;\n      }, E.endAngle = function(ne) {\n        return arguments.length ? (D = mr(ne), E) : D;\n      }, E;\n    };\n    function gR(c) {\n      return c.radius;\n    }\n    t.svg.diagonal = function() {\n      var c = Lx, b = Dx, A = Ex;\n      function C(D, E) {\n        var q = c.call(this, D, E), N = b.call(this, D, E), Y = (q.y + N.y) / 2, te = [q, {\n          x: q.x,\n          y: Y\n        }, {\n          x: N.x,\n          y: Y\n        }, N];\n        return te = te.map(A), \"M\" + te[0] + \"C\" + te[1] + \" \" + te[2] + \" \" + te[3];\n      }\n      return C.source = function(D) {\n        return arguments.length ? (c = mr(D), C) : c;\n      }, C.target = function(D) {\n        return arguments.length ? (b = mr(D), C) : b;\n      }, C.projection = function(D) {\n        return arguments.length ? (A = D, C) : A;\n      }, C;\n    };\n    function Ex(c) {\n      return [c.x, c.y];\n    }\n    t.svg.diagonal.radial = function() {\n      var c = t.svg.diagonal(), b = Ex, A = c.projection;\n      return c.projection = function(C) {\n        return arguments.length ? A(yR(b = C)) : b;\n      }, c;\n    };\n    function yR(c) {\n      return function() {\n        var b = c.apply(this, arguments), A = b[0], C = b[1] - se;\n        return [A * Math.cos(C), A * Math.sin(C)];\n      };\n    }\n    t.svg.symbol = function() {\n      var c = _R, b = bR;\n      function A(C, D) {\n        return (Rx.get(c.call(this, C, D)) || Fx)(b.call(this, C, D));\n      }\n      return A.type = function(C) {\n        return arguments.length ? (c = mr(C), A) : c;\n      }, A.size = function(C) {\n        return arguments.length ? (b = mr(C), A) : b;\n      }, A;\n    };\n    function bR() {\n      return 64;\n    }\n    function _R() {\n      return \"circle\";\n    }\n    function Fx(c) {\n      var b = Math.sqrt(c / rt);\n      return \"M0,\" + b + \"A\" + b + \",\" + b + \" 0 1,1 0,\" + -b + \"A\" + b + \",\" + b + \" 0 1,1 0,\" + b + \"Z\";\n    }\n    var Rx = t.map({\n      circle: Fx,\n      cross: function(c) {\n        var b = Math.sqrt(c / 5) / 2;\n        return \"M\" + -3 * b + \",\" + -b + \"H\" + -b + \"V\" + -3 * b + \"H\" + b + \"V\" + -b + \"H\" + 3 * b + \"V\" + b + \"H\" + b + \"V\" + 3 * b + \"H\" + -b + \"V\" + b + \"H\" + -3 * b + \"Z\";\n      },\n      diamond: function(c) {\n        var b = Math.sqrt(c / (2 * Px)), A = b * Px;\n        return \"M0,\" + -b + \"L\" + A + \",0 0,\" + b + \" \" + -A + \",0Z\";\n      },\n      square: function(c) {\n        var b = Math.sqrt(c) / 2;\n        return \"M\" + -b + \",\" + -b + \"L\" + b + \",\" + -b + \" \" + b + \",\" + b + \" \" + -b + \",\" + b + \"Z\";\n      },\n      \"triangle-down\": function(c) {\n        var b = Math.sqrt(c / _d), A = b * _d / 2;\n        return \"M0,\" + A + \"L\" + b + \",\" + -A + \" \" + -b + \",\" + -A + \"Z\";\n      },\n      \"triangle-up\": function(c) {\n        var b = Math.sqrt(c / _d), A = b * _d / 2;\n        return \"M0,\" + -A + \"L\" + b + \",\" + A + \" \" + -b + \",\" + A + \"Z\";\n      }\n    });\n    t.svg.symbolTypes = Rx.keys();\n    var _d = Math.sqrt(3), Px = Math.tan(30 * ie);\n    J.transition = function(c) {\n      for (var b = Al || ++zx, A = Am(c), C = [], D, E, q = wd || {\n        time: Date.now(),\n        ease: Q8,\n        delay: 0,\n        duration: 250\n      }, N = -1, Y = this.length; ++N < Y; ) {\n        C.push(D = []);\n        for (var te = this[N], ne = -1, ce = te.length; ++ne < ce; )\n          (E = te[ne]) && Td(E, ne, A, b, q), D.push(E);\n      }\n      return vf(C, A, b);\n    }, J.interrupt = function(c) {\n      return this.each(c == null ? xd : $x(Am(c)));\n    };\n    var xd = $x(Am());\n    function $x(c) {\n      return function() {\n        var b, A, C;\n        (b = this[c]) && (C = b[A = b.active]) && (C.timer.c = null, C.timer.t = NaN, --b.count ? delete b[A] : delete this[c], b.active += 0.5, C.event && C.event.interrupt.call(this, this.__data__, C.index));\n      };\n    }\n    function vf(c, b, A) {\n      return ue(c, sn), c.namespace = b, c.id = A, c;\n    }\n    var sn = [], zx = 0, Al, wd;\n    sn.call = J.call, sn.empty = J.empty, sn.node = J.node, sn.size = J.size, t.transition = function(c, b) {\n      return c && c.transition ? Al ? c.transition(b) : c : t.selection().transition(c);\n    }, t.transition.prototype = sn, sn.select = function(c) {\n      var b = this.id, A = this.namespace, C = [], D, E, q;\n      c = pe(c);\n      for (var N = -1, Y = this.length; ++N < Y; ) {\n        C.push(D = []);\n        for (var te = this[N], ne = -1, ce = te.length; ++ne < ce; )\n          (q = te[ne]) && (E = c.call(q, q.__data__, ne, N)) ? (\"__data__\" in q && (E.__data__ = q.__data__), Td(E, ne, A, b, q[A][b]), D.push(E)) : D.push(null);\n      }\n      return vf(C, A, b);\n    }, sn.selectAll = function(c) {\n      var b = this.id, A = this.namespace, C = [], D, E, q, N, Y;\n      c = ge(c);\n      for (var te = -1, ne = this.length; ++te < ne; )\n        for (var ce = this[te], de = -1, Te = ce.length; ++de < Te; )\n          if (q = ce[de]) {\n            Y = q[A][b], E = c.call(q, q.__data__, de, te), C.push(D = []);\n            for (var Ae = -1, he = E.length; ++Ae < he; )\n              (N = E[Ae]) && Td(N, Ae, A, b, Y), D.push(N);\n          }\n      return vf(C, A, b);\n    }, sn.filter = function(c) {\n      var b = [], A, C, D;\n      typeof c != \"function\" && (c = ht(c));\n      for (var E = 0, q = this.length; E < q; E++) {\n        b.push(A = []);\n        for (var C = this[E], N = 0, Y = C.length; N < Y; N++)\n          (D = C[N]) && c.call(D, D.__data__, N, E) && A.push(D);\n      }\n      return vf(b, this.namespace, this.id);\n    }, sn.tween = function(c, b) {\n      var A = this.id, C = this.namespace;\n      return arguments.length < 2 ? this.node()[C][A].tween.get(c) : nt(this, b == null ? function(D) {\n        D[C][A].tween.remove(c);\n      } : function(D) {\n        D[C][A].tween.set(c, b);\n      });\n    };\n    function km(c, b, A, C) {\n      var D = c.id, E = c.namespace;\n      return nt(c, typeof A == \"function\" ? function(q, N, Y) {\n        q[E][D].tween.set(b, C(A.call(q, q.__data__, N, Y)));\n      } : (A = C(A), function(q) {\n        q[E][D].tween.set(b, A);\n      }));\n    }\n    sn.attr = function(c, b) {\n      if (arguments.length < 2) {\n        for (b in c) this.attr(b, c[b]);\n        return this;\n      }\n      var A = c == \"transform\" ? Z_ : kl, C = t.ns.qualify(c);\n      function D() {\n        this.removeAttribute(C);\n      }\n      function E() {\n        this.removeAttributeNS(C.space, C.local);\n      }\n      function q(Y) {\n        return Y == null ? D : (Y += \"\", function() {\n          var te = this.getAttribute(C), ne;\n          return te !== Y && (ne = A(te, Y), function(ce) {\n            this.setAttribute(C, ne(ce));\n          });\n        });\n      }\n      function N(Y) {\n        return Y == null ? E : (Y += \"\", function() {\n          var te = this.getAttributeNS(C.space, C.local), ne;\n          return te !== Y && (ne = A(te, Y), function(ce) {\n            this.setAttributeNS(C.space, C.local, ne(ce));\n          });\n        });\n      }\n      return km(this, \"attr.\" + c, b, C.local ? N : q);\n    }, sn.attrTween = function(c, b) {\n      var A = t.ns.qualify(c);\n      function C(E, q) {\n        var N = b.call(this, E, q, this.getAttribute(A));\n        return N && function(Y) {\n          this.setAttribute(A, N(Y));\n        };\n      }\n      function D(E, q) {\n        var N = b.call(this, E, q, this.getAttributeNS(A.space, A.local));\n        return N && function(Y) {\n          this.setAttributeNS(A.space, A.local, N(Y));\n        };\n      }\n      return this.tween(\"attr.\" + c, A.local ? D : C);\n    }, sn.style = function(c, b, A) {\n      var C = arguments.length;\n      if (C < 3) {\n        if (typeof c != \"string\") {\n          C < 2 && (b = \"\");\n          for (A in c) this.style(A, c[A], b);\n          return this;\n        }\n        A = \"\";\n      }\n      function D() {\n        this.style.removeProperty(c);\n      }\n      function E(q) {\n        return q == null ? D : (q += \"\", function() {\n          var N = o(this).getComputedStyle(this, null).getPropertyValue(c), Y;\n          return N !== q && (Y = kl(N, q), function(te) {\n            this.style.setProperty(c, Y(te), A);\n          });\n        });\n      }\n      return km(this, \"style.\" + c, b, E);\n    }, sn.styleTween = function(c, b, A) {\n      arguments.length < 3 && (A = \"\");\n      function C(D, E) {\n        var q = b.call(this, D, E, o(this).getComputedStyle(this, null).getPropertyValue(c));\n        return q && function(N) {\n          this.style.setProperty(c, q(N), A);\n        };\n      }\n      return this.tween(\"style.\" + c, C);\n    }, sn.text = function(c) {\n      return km(this, \"text\", c, xR);\n    };\n    function xR(c) {\n      return c == null && (c = \"\"), function() {\n        this.textContent = c;\n      };\n    }\n    sn.remove = function() {\n      var c = this.namespace;\n      return this.each(\"end.transition\", function() {\n        var b;\n        this[c].count < 2 && (b = this.parentNode) && b.removeChild(this);\n      });\n    }, sn.ease = function(c) {\n      var b = this.id, A = this.namespace;\n      return arguments.length < 1 ? this.node()[A][b].ease : (typeof c != \"function\" && (c = t.ease.apply(t, arguments)), nt(this, function(C) {\n        C[A][b].ease = c;\n      }));\n    }, sn.delay = function(c) {\n      var b = this.id, A = this.namespace;\n      return arguments.length < 1 ? this.node()[A][b].delay : nt(this, typeof c == \"function\" ? function(C, D, E) {\n        C[A][b].delay = +c.call(C, C.__data__, D, E);\n      } : (c = +c, function(C) {\n        C[A][b].delay = c;\n      }));\n    }, sn.duration = function(c) {\n      var b = this.id, A = this.namespace;\n      return arguments.length < 1 ? this.node()[A][b].duration : nt(this, typeof c == \"function\" ? function(C, D, E) {\n        C[A][b].duration = Math.max(1, c.call(C, C.__data__, D, E));\n      } : (c = Math.max(1, c), function(C) {\n        C[A][b].duration = c;\n      }));\n    }, sn.each = function(c, b) {\n      var A = this.id, C = this.namespace;\n      if (arguments.length < 2) {\n        var D = wd, E = Al;\n        try {\n          Al = A, nt(this, function(q, N, Y) {\n            wd = q[C][A], c.call(q, q.__data__, N, Y);\n          });\n        } finally {\n          wd = D, Al = E;\n        }\n      } else\n        nt(this, function(q) {\n          var N = q[C][A];\n          (N.event || (N.event = t.dispatch(\"start\", \"end\", \"interrupt\"))).on(c, b);\n        });\n      return this;\n    }, sn.transition = function() {\n      for (var c = this.id, b = ++zx, A = this.namespace, C = [], D, E, q, N, Y = 0, te = this.length; Y < te; Y++) {\n        C.push(D = []);\n        for (var E = this[Y], ne = 0, ce = E.length; ne < ce; ne++)\n          (q = E[ne]) && (N = q[A][c], Td(q, ne, A, b, {\n            time: N.time,\n            ease: N.ease,\n            delay: N.delay + N.duration,\n            duration: N.duration\n          })), D.push(q);\n      }\n      return vf(C, A, b);\n    };\n    function Am(c) {\n      return c == null ? \"__transition__\" : \"__transition_\" + c + \"__\";\n    }\n    function Td(c, b, A, C, D) {\n      var E = c[A] || (c[A] = {\n        active: 0,\n        count: 0\n      }), q = E[C], N, Y, te, ne, ce;\n      function de(he) {\n        var ye = q.delay;\n        if (Y.t = ye + N, ye <= he) return Te(he - ye);\n        Y.c = Te;\n      }\n      function Te(he) {\n        var ye = E.active, be = E[ye];\n        be && (be.timer.c = null, be.timer.t = NaN, --E.count, delete E[ye], be.event && be.event.interrupt.call(c, c.__data__, be.index));\n        for (var Se in E)\n          if (+Se < C) {\n            var De = E[Se];\n            De.timer.c = null, De.timer.t = NaN, --E.count, delete E[Se];\n          }\n        Y.c = Ae, ha(function() {\n          return Y.c && Ae(he || 1) && (Y.c = null, Y.t = NaN), 1;\n        }, 0, N), E.active = C, q.event && q.event.start.call(c, c.__data__, b), ce = [], q.tween.forEach(function(we, Ze) {\n          (Ze = Ze.call(c, c.__data__, b)) && ce.push(Ze);\n        }), ne = q.ease, te = q.duration;\n      }\n      function Ae(he) {\n        for (var ye = he / te, be = ne(ye), Se = ce.length; Se > 0; )\n          ce[--Se].call(c, be);\n        if (ye >= 1)\n          return q.event && q.event.end.call(c, c.__data__, b), --E.count ? delete E[C] : delete c[A], 1;\n      }\n      q || (N = D.time, Y = ha(de, 0, N), q = E[C] = {\n        tween: new _(),\n        time: N,\n        timer: Y,\n        delay: D.delay,\n        duration: D.duration,\n        ease: D.ease,\n        index: b\n      }, D = null, ++E.count);\n    }\n    t.svg.axis = function() {\n      var c = t.scale.linear(), b = Ix, A = 6, C = 6, D = 3, E = [10], q = null, N;\n      function Y(te) {\n        te.each(function() {\n          var ne = t.select(this), ce = this.__chart__ || c, de = this.__chart__ = c.copy(), Te = q ?? (de.ticks ? de.ticks.apply(de, E) : de.domain()), Ae = N ?? (de.tickFormat ? de.tickFormat.apply(de, E) : V), he = ne.selectAll(\".tick\").data(Te, de), ye = he.enter().insert(\"g\", \".domain\").attr(\"class\", \"tick\").style(\"opacity\", Ke), be = t.transition(he.exit()).style(\"opacity\", Ke).remove(), Se = t.transition(he.order()).style(\"opacity\", 1), De = Math.max(A, 0) + D, we, Ze = vd(de), mt = ne.selectAll(\".domain\").data([0]), xt = (mt.enter().append(\"path\").attr(\"class\", \"domain\"), t.transition(mt));\n          ye.append(\"line\"), ye.append(\"text\");\n          var yt = ye.select(\"line\"), Lt = Se.select(\"line\"), Dt = he.select(\"text\").text(Ae), Wt = ye.select(\"text\"), Ft = Se.select(\"text\"), Gt = b === \"top\" || b === \"left\" ? -1 : 1, gr, Yr, xr, dt;\n          if (b === \"bottom\" || b === \"top\" ? (we = TR, gr = \"x\", xr = \"y\", Yr = \"x2\", dt = \"y2\", Dt.attr(\"dy\", Gt < 0 ? \"0em\" : \".71em\").style(\"text-anchor\", \"middle\"), xt.attr(\"d\", \"M\" + Ze[0] + \",\" + Gt * C + \"V0H\" + Ze[1] + \"V\" + Gt * C)) : (we = kR, gr = \"y\", xr = \"x\", Yr = \"y2\", dt = \"x2\", Dt.attr(\"dy\", \".32em\").style(\"text-anchor\", Gt < 0 ? \"end\" : \"start\"), xt.attr(\"d\", \"M\" + Gt * C + \",\" + Ze[0] + \"H0V\" + Ze[1] + \"H\" + Gt * C)), yt.attr(dt, Gt * A), Wt.attr(xr, Gt * De), Lt.attr(Yr, 0).attr(dt, Gt * A), Ft.attr(gr, 0).attr(xr, Gt * De), de.rangeBand) {\n            var Zt = de, Jt = Zt.rangeBand() / 2;\n            ce = de = function(yr) {\n              return Zt(yr) + Jt;\n            };\n          } else ce.rangeBand ? ce = de : be.call(we, de, ce);\n          ye.call(we, ce, de), Se.call(we, de, de);\n        });\n      }\n      return Y.scale = function(te) {\n        return arguments.length ? (c = te, Y) : c;\n      }, Y.orient = function(te) {\n        return arguments.length ? (b = te in wR ? te + \"\" : Ix, Y) : b;\n      }, Y.ticks = function() {\n        return arguments.length ? (E = n(arguments), Y) : E;\n      }, Y.tickValues = function(te) {\n        return arguments.length ? (q = te, Y) : q;\n      }, Y.tickFormat = function(te) {\n        return arguments.length ? (N = te, Y) : N;\n      }, Y.tickSize = function(te) {\n        var ne = arguments.length;\n        return ne ? (A = +te, C = +arguments[ne - 1], Y) : A;\n      }, Y.innerTickSize = function(te) {\n        return arguments.length ? (A = +te, Y) : A;\n      }, Y.outerTickSize = function(te) {\n        return arguments.length ? (C = +te, Y) : C;\n      }, Y.tickPadding = function(te) {\n        return arguments.length ? (D = +te, Y) : D;\n      }, Y.tickSubdivide = function() {\n        return arguments.length && Y;\n      }, Y;\n    };\n    var Ix = \"bottom\", wR = {\n      top: 1,\n      right: 1,\n      bottom: 1,\n      left: 1\n    };\n    function TR(c, b, A) {\n      c.attr(\"transform\", function(C) {\n        var D = b(C);\n        return \"translate(\" + (isFinite(D) ? D : A(C)) + \",0)\";\n      });\n    }\n    function kR(c, b, A) {\n      c.attr(\"transform\", function(C) {\n        var D = b(C);\n        return \"translate(0,\" + (isFinite(D) ? D : A(C)) + \")\";\n      });\n    }\n    t.svg.brush = function() {\n      var c = ae(ne, \"brushstart\", \"brush\", \"brushend\"), b = null, A = null, C = [0, 0], D = [0, 0], E, q, N = !0, Y = !0, te = Mm[0];\n      function ne(he) {\n        he.each(function() {\n          var ye = t.select(this).style(\"pointer-events\", \"all\").style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\").on(\"mousedown.brush\", Ae).on(\"touchstart.brush\", Ae), be = ye.selectAll(\".background\").data([0]);\n          be.enter().append(\"rect\").attr(\"class\", \"background\").style(\"visibility\", \"hidden\").style(\"cursor\", \"crosshair\"), ye.selectAll(\".extent\").data([0]).enter().append(\"rect\").attr(\"class\", \"extent\").style(\"cursor\", \"move\");\n          var Se = ye.selectAll(\".resize\").data(te, V);\n          Se.exit().remove(), Se.enter().append(\"g\").attr(\"class\", function(mt) {\n            return \"resize \" + mt;\n          }).style(\"cursor\", function(mt) {\n            return AR[mt];\n          }).append(\"rect\").attr(\"x\", function(mt) {\n            return /[ew]$/.test(mt) ? -3 : null;\n          }).attr(\"y\", function(mt) {\n            return /^[ns]/.test(mt) ? -3 : null;\n          }).attr(\"width\", 6).attr(\"height\", 6).style(\"visibility\", \"hidden\"), Se.style(\"display\", ne.empty() ? \"none\" : null);\n          var De = t.transition(ye), we = t.transition(be), Ze;\n          b && (Ze = vd(b), we.attr(\"x\", Ze[0]).attr(\"width\", Ze[1] - Ze[0]), de(De)), A && (Ze = vd(A), we.attr(\"y\", Ze[0]).attr(\"height\", Ze[1] - Ze[0]), Te(De)), ce(De);\n        });\n      }\n      ne.event = function(he) {\n        he.each(function() {\n          var ye = c.of(this, arguments), be = {\n            x: C,\n            y: D,\n            i: E,\n            j: q\n          }, Se = this.__chart__ || be;\n          this.__chart__ = be, Al ? t.select(this).transition().each(\"start.brush\", function() {\n            E = Se.i, q = Se.j, C = Se.x, D = Se.y, ye({\n              type: \"brushstart\"\n            });\n          }).tween(\"brush:brush\", function() {\n            var De = dd(C, be.x), we = dd(D, be.y);\n            return E = q = null, function(Ze) {\n              C = be.x = De(Ze), D = be.y = we(Ze), ye({\n                type: \"brush\",\n                mode: \"resize\"\n              });\n            };\n          }).each(\"end.brush\", function() {\n            E = be.i, q = be.j, ye({\n              type: \"brush\",\n              mode: \"resize\"\n            }), ye({\n              type: \"brushend\"\n            });\n          }) : (ye({\n            type: \"brushstart\"\n          }), ye({\n            type: \"brush\",\n            mode: \"resize\"\n          }), ye({\n            type: \"brushend\"\n          }));\n        });\n      };\n      function ce(he) {\n        he.selectAll(\".resize\").attr(\"transform\", function(ye) {\n          return \"translate(\" + C[+/e$/.test(ye)] + \",\" + D[+/^s/.test(ye)] + \")\";\n        });\n      }\n      function de(he) {\n        he.select(\".extent\").attr(\"x\", C[0]), he.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\", C[1] - C[0]);\n      }\n      function Te(he) {\n        he.select(\".extent\").attr(\"y\", D[0]), he.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\", D[1] - D[0]);\n      }\n      function Ae() {\n        var he = this, ye = t.select(t.event.target), be = c.of(he, arguments), Se = t.select(he), De = ye.datum(), we = !/^(n|s)$/.test(De) && b, Ze = !/^(e|w)$/.test(De) && A, mt = ye.classed(\"extent\"), xt = gt(he), yt, Lt = t.mouse(he), Dt, Wt = t.select(o(he)).on(\"keydown.brush\", gr).on(\"keyup.brush\", Yr);\n        if (t.event.changedTouches ? Wt.on(\"touchmove.brush\", xr).on(\"touchend.brush\", Zt) : Wt.on(\"mousemove.brush\", xr).on(\"mouseup.brush\", Zt), Se.interrupt().selectAll(\"*\").interrupt(), mt)\n          Lt[0] = C[0] - Lt[0], Lt[1] = D[0] - Lt[1];\n        else if (De) {\n          var Ft = +/w$/.test(De), Gt = +/^n/.test(De);\n          Dt = [C[1 - Ft] - Lt[0], D[1 - Gt] - Lt[1]], Lt[0] = C[Ft], Lt[1] = D[Gt];\n        } else t.event.altKey && (yt = Lt.slice());\n        Se.style(\"pointer-events\", \"none\").selectAll(\".resize\").style(\"display\", null), t.select(\"body\").style(\"cursor\", ye.style(\"cursor\")), be({\n          type: \"brushstart\"\n        }), xr();\n        function gr() {\n          t.event.keyCode == 32 && (mt || (yt = null, Lt[0] -= C[1], Lt[1] -= D[1], mt = 2), ee());\n        }\n        function Yr() {\n          t.event.keyCode == 32 && mt == 2 && (Lt[0] += C[1], Lt[1] += D[1], mt = 0, ee());\n        }\n        function xr() {\n          var Jt = t.mouse(he), yr = !1;\n          Dt && (Jt[0] += Dt[0], Jt[1] += Dt[1]), mt || (t.event.altKey ? (yt || (yt = [(C[0] + C[1]) / 2, (D[0] + D[1]) / 2]), Lt[0] = C[+(Jt[0] < yt[0])], Lt[1] = D[+(Jt[1] < yt[1])]) : yt = null), we && dt(Jt, b, 0) && (de(Se), yr = !0), Ze && dt(Jt, A, 1) && (Te(Se), yr = !0), yr && (ce(Se), be({\n            type: \"brush\",\n            mode: mt ? \"move\" : \"resize\"\n          }));\n        }\n        function dt(Jt, yr, Gr) {\n          var un = vd(yr), kn = un[0], $n = un[1], Un = Lt[Gr], zn = Gr ? D : C, Qn = zn[1] - zn[0], Cn, ea;\n          if (mt && (kn -= Un, $n -= Qn + Un), Cn = (Gr ? Y : N) ? Math.max(kn, Math.min($n, Jt[Gr])) : Jt[Gr], mt ? ea = (Cn += Un) + Qn : (yt && (Un = Math.max(kn, Math.min($n, 2 * yt[Gr] - Cn))), Un < Cn ? (ea = Cn, Cn = Un) : ea = Un), zn[0] != Cn || zn[1] != ea)\n            return Gr ? q = null : E = null, zn[0] = Cn, zn[1] = ea, !0;\n        }\n        function Zt() {\n          xr(), Se.style(\"pointer-events\", \"all\").selectAll(\".resize\").style(\"display\", ne.empty() ? \"none\" : null), t.select(\"body\").style(\"cursor\", null), Wt.on(\"mousemove.brush\", null).on(\"mouseup.brush\", null).on(\"touchmove.brush\", null).on(\"touchend.brush\", null).on(\"keydown.brush\", null).on(\"keyup.brush\", null), xt(), be({\n            type: \"brushend\"\n          });\n        }\n      }\n      return ne.x = function(he) {\n        return arguments.length ? (b = he, te = Mm[!b << 1 | !A], ne) : b;\n      }, ne.y = function(he) {\n        return arguments.length ? (A = he, te = Mm[!b << 1 | !A], ne) : A;\n      }, ne.clamp = function(he) {\n        return arguments.length ? (b && A ? (N = !!he[0], Y = !!he[1]) : b ? N = !!he : A && (Y = !!he), ne) : b && A ? [N, Y] : b ? N : A ? Y : null;\n      }, ne.extent = function(he) {\n        var ye, be, Se, De, we;\n        return arguments.length ? (b && (ye = he[0], be = he[1], A && (ye = ye[0], be = be[0]), E = [ye, be], b.invert && (ye = b(ye), be = b(be)), be < ye && (we = ye, ye = be, be = we), (ye != C[0] || be != C[1]) && (C = [ye, be])), A && (Se = he[0], De = he[1], b && (Se = Se[1], De = De[1]), q = [Se, De], A.invert && (Se = A(Se), De = A(De)), De < Se && (we = Se, Se = De, De = we), (Se != D[0] || De != D[1]) && (D = [Se, De])), ne) : (b && (E ? (ye = E[0], be = E[1]) : (ye = C[0], be = C[1], b.invert && (ye = b.invert(ye), be = b.invert(be)), be < ye && (we = ye, ye = be, be = we))), A && (q ? (Se = q[0], De = q[1]) : (Se = D[0], De = D[1], A.invert && (Se = A.invert(Se), De = A.invert(De)), De < Se && (we = Se, Se = De, De = we))), b && A ? [[ye, Se], [be, De]] : b ? [ye, be] : A && [Se, De]);\n      }, ne.clear = function() {\n        return ne.empty() || (C = [0, 0], D = [0, 0], E = q = null), ne;\n      }, ne.empty = function() {\n        return !!b && C[0] == C[1] || !!A && D[0] == D[1];\n      }, t.rebind(ne, c, \"on\");\n    };\n    var AR = {\n      n: \"ns-resize\",\n      e: \"ew-resize\",\n      s: \"ns-resize\",\n      w: \"ew-resize\",\n      nw: \"nwse-resize\",\n      ne: \"nesw-resize\",\n      se: \"nwse-resize\",\n      sw: \"nesw-resize\"\n    }, Mm = [[\"n\", \"e\", \"s\", \"w\", \"nw\", \"ne\", \"se\", \"sw\"], [\"e\", \"w\"], [\"n\", \"s\"], []];\n    t.text = Aa(function(c) {\n      return c.responseText;\n    }), t.json = function(c, b) {\n      return Ja(c, \"application/json\", MR, b);\n    };\n    function MR(c) {\n      return JSON.parse(c.responseText);\n    }\n    t.html = function(c, b) {\n      return Ja(c, \"text/html\", SR, b);\n    };\n    function SR(c) {\n      var b = a.createRange();\n      return b.selectNode(a.body), b.createContextualFragment(c.responseText);\n    }\n    t.xml = Aa(function(c) {\n      return c.responseXML;\n    }), e.exports ? e.exports = t : this.d3 = t;\n  }).apply(self);\n})(iC);\nvar lr = iC.exports, Hm = /* @__PURE__ */ new Date(), Bm = /* @__PURE__ */ new Date();\nfunction wn(e, t, r, n) {\n  function a(i) {\n    return e(i = arguments.length === 0 ? /* @__PURE__ */ new Date() : /* @__PURE__ */ new Date(+i)), i;\n  }\n  return a.floor = function(i) {\n    return e(i = /* @__PURE__ */ new Date(+i)), i;\n  }, a.ceil = function(i) {\n    return e(i = new Date(i - 1)), t(i, 1), e(i), i;\n  }, a.round = function(i) {\n    var o = a(i), l = a.ceil(i);\n    return i - o < l - i ? o : l;\n  }, a.offset = function(i, o) {\n    return t(i = /* @__PURE__ */ new Date(+i), o == null ? 1 : Math.floor(o)), i;\n  }, a.range = function(i, o, l) {\n    var s = [], u;\n    if (i = a.ceil(i), l = l == null ? 1 : Math.floor(l), !(i < o) || !(l > 0)) return s;\n    do\n      s.push(u = /* @__PURE__ */ new Date(+i)), t(i, l), e(i);\n    while (u < i && i < o);\n    return s;\n  }, a.filter = function(i) {\n    return wn(function(o) {\n      if (o >= o) for (; e(o), !i(o); ) o.setTime(o - 1);\n    }, function(o, l) {\n      if (o >= o)\n        if (l < 0) for (; ++l <= 0; )\n          for (; t(o, -1), !i(o); )\n            ;\n        else for (; --l >= 0; )\n          for (; t(o, 1), !i(o); )\n            ;\n    });\n  }, r && (a.count = function(i, o) {\n    return Hm.setTime(+i), Bm.setTime(+o), e(Hm), e(Bm), Math.floor(r(Hm, Bm));\n  }, a.every = function(i) {\n    return i = Math.floor(i), !isFinite(i) || !(i > 0) ? null : i > 1 ? a.filter(n ? function(o) {\n      return n(o) % i === 0;\n    } : function(o) {\n      return a.count(0, o) % i === 0;\n    }) : a;\n  }), a;\n}\nvar gc = wn(function() {\n}, function(e, t) {\n  e.setTime(+e + t);\n}, function(e, t) {\n  return t - e;\n});\ngc.every = function(e) {\n  return e = Math.floor(e), !isFinite(e) || !(e > 0) ? null : e > 1 ? wn(function(t) {\n    t.setTime(Math.floor(t / e) * e);\n  }, function(t, r) {\n    t.setTime(+t + r * e);\n  }, function(t, r) {\n    return (r - t) / e;\n  }) : gc;\n};\nvar Jw = gc.range, nv = 1e3, as = 6e4, av = 36e5, oC = 864e5, lC = 6048e5, ay = wn(function(e) {\n  e.setTime(e - e.getMilliseconds());\n}, function(e, t) {\n  e.setTime(+e + t * nv);\n}, function(e, t) {\n  return (t - e) / nv;\n}, function(e) {\n  return e.getUTCSeconds();\n}), Qw = ay.range, sC = wn(function(e) {\n  e.setTime(e - e.getMilliseconds() - e.getSeconds() * nv);\n}, function(e, t) {\n  e.setTime(+e + t * as);\n}, function(e, t) {\n  return (t - e) / as;\n}, function(e) {\n  return e.getMinutes();\n}), TB = sC.range, uC = wn(function(e) {\n  e.setTime(e - e.getMilliseconds() - e.getSeconds() * nv - e.getMinutes() * as);\n}, function(e, t) {\n  e.setTime(+e + t * av);\n}, function(e, t) {\n  return (t - e) / av;\n}, function(e) {\n  return e.getHours();\n}), kB = uC.range, ip = wn(function(e) {\n  e.setHours(0, 0, 0, 0);\n}, function(e, t) {\n  e.setDate(e.getDate() + t);\n}, function(e, t) {\n  return (t - e - (t.getTimezoneOffset() - e.getTimezoneOffset()) * as) / oC;\n}, function(e) {\n  return e.getDate() - 1;\n}), AB = ip.range;\nfunction vs(e) {\n  return wn(function(t) {\n    t.setDate(t.getDate() - (t.getDay() + 7 - e) % 7), t.setHours(0, 0, 0, 0);\n  }, function(t, r) {\n    t.setDate(t.getDate() + r * 7);\n  }, function(t, r) {\n    return (r - t - (r.getTimezoneOffset() - t.getTimezoneOffset()) * as) / lC;\n  });\n}\nvar iv = vs(0), yc = vs(1), fC = vs(2), cC = vs(3), is = vs(4), dC = vs(5), hC = vs(6), e2 = iv.range, MB = yc.range, SB = fC.range, CB = cC.range, LB = is.range, DB = dC.range, EB = hC.range, vC = wn(function(e) {\n  e.setDate(1), e.setHours(0, 0, 0, 0);\n}, function(e, t) {\n  e.setMonth(e.getMonth() + t);\n}, function(e, t) {\n  return t.getMonth() - e.getMonth() + (t.getFullYear() - e.getFullYear()) * 12;\n}, function(e) {\n  return e.getMonth();\n}), FB = vC.range, sl = wn(function(e) {\n  e.setMonth(0, 1), e.setHours(0, 0, 0, 0);\n}, function(e, t) {\n  e.setFullYear(e.getFullYear() + t);\n}, function(e, t) {\n  return t.getFullYear() - e.getFullYear();\n}, function(e) {\n  return e.getFullYear();\n});\nsl.every = function(e) {\n  return !isFinite(e = Math.floor(e)) || !(e > 0) ? null : wn(function(t) {\n    t.setFullYear(Math.floor(t.getFullYear() / e) * e), t.setMonth(0, 1), t.setHours(0, 0, 0, 0);\n  }, function(t, r) {\n    t.setFullYear(t.getFullYear() + r * e);\n  });\n};\nvar RB = sl.range, pC = wn(function(e) {\n  e.setUTCSeconds(0, 0);\n}, function(e, t) {\n  e.setTime(+e + t * as);\n}, function(e, t) {\n  return (t - e) / as;\n}, function(e) {\n  return e.getUTCMinutes();\n}), PB = pC.range, mC = wn(function(e) {\n  e.setUTCMinutes(0, 0, 0);\n}, function(e, t) {\n  e.setTime(+e + t * av);\n}, function(e, t) {\n  return (t - e) / av;\n}, function(e) {\n  return e.getUTCHours();\n}), $B = mC.range, op = wn(function(e) {\n  e.setUTCHours(0, 0, 0, 0);\n}, function(e, t) {\n  e.setUTCDate(e.getUTCDate() + t);\n}, function(e, t) {\n  return (t - e) / oC;\n}, function(e) {\n  return e.getUTCDate() - 1;\n}), zB = op.range;\nfunction ps(e) {\n  return wn(function(t) {\n    t.setUTCDate(t.getUTCDate() - (t.getUTCDay() + 7 - e) % 7), t.setUTCHours(0, 0, 0, 0);\n  }, function(t, r) {\n    t.setUTCDate(t.getUTCDate() + r * 7);\n  }, function(t, r) {\n    return (r - t) / lC;\n  });\n}\nvar ov = ps(0), bc = ps(1), gC = ps(2), yC = ps(3), os = ps(4), bC = ps(5), _C = ps(6), t2 = ov.range, IB = bc.range, NB = gC.range, OB = yC.range, HB = os.range, BB = bC.range, jB = _C.range, xC = wn(function(e) {\n  e.setUTCDate(1), e.setUTCHours(0, 0, 0, 0);\n}, function(e, t) {\n  e.setUTCMonth(e.getUTCMonth() + t);\n}, function(e, t) {\n  return t.getUTCMonth() - e.getUTCMonth() + (t.getUTCFullYear() - e.getUTCFullYear()) * 12;\n}, function(e) {\n  return e.getUTCMonth();\n}), UB = xC.range, ul = wn(function(e) {\n  e.setUTCMonth(0, 1), e.setUTCHours(0, 0, 0, 0);\n}, function(e, t) {\n  e.setUTCFullYear(e.getUTCFullYear() + t);\n}, function(e, t) {\n  return t.getUTCFullYear() - e.getUTCFullYear();\n}, function(e) {\n  return e.getUTCFullYear();\n});\nul.every = function(e) {\n  return !isFinite(e = Math.floor(e)) || !(e > 0) ? null : wn(function(t) {\n    t.setUTCFullYear(Math.floor(t.getUTCFullYear() / e) * e), t.setUTCMonth(0, 1), t.setUTCHours(0, 0, 0, 0);\n  }, function(t, r) {\n    t.setUTCFullYear(t.getUTCFullYear() + r * e);\n  });\n};\nvar GB = ul.range;\nconst VB = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n  __proto__: null,\n  timeDay: ip,\n  timeDays: AB,\n  timeFriday: dC,\n  timeFridays: DB,\n  timeHour: uC,\n  timeHours: kB,\n  timeInterval: wn,\n  timeMillisecond: gc,\n  timeMilliseconds: Jw,\n  timeMinute: sC,\n  timeMinutes: TB,\n  timeMonday: yc,\n  timeMondays: MB,\n  timeMonth: vC,\n  timeMonths: FB,\n  timeSaturday: hC,\n  timeSaturdays: EB,\n  timeSecond: ay,\n  timeSeconds: Qw,\n  timeSunday: iv,\n  timeSundays: e2,\n  timeThursday: is,\n  timeThursdays: LB,\n  timeTuesday: fC,\n  timeTuesdays: SB,\n  timeWednesday: cC,\n  timeWednesdays: CB,\n  timeWeek: iv,\n  timeWeeks: e2,\n  timeYear: sl,\n  timeYears: RB,\n  utcDay: op,\n  utcDays: zB,\n  utcFriday: bC,\n  utcFridays: BB,\n  utcHour: mC,\n  utcHours: $B,\n  utcMillisecond: gc,\n  utcMilliseconds: Jw,\n  utcMinute: pC,\n  utcMinutes: PB,\n  utcMonday: bc,\n  utcMondays: IB,\n  utcMonth: xC,\n  utcMonths: UB,\n  utcSaturday: _C,\n  utcSaturdays: jB,\n  utcSecond: ay,\n  utcSeconds: Qw,\n  utcSunday: ov,\n  utcSundays: t2,\n  utcThursday: os,\n  utcThursdays: HB,\n  utcTuesday: gC,\n  utcTuesdays: NB,\n  utcWednesday: yC,\n  utcWednesdays: OB,\n  utcWeek: ov,\n  utcWeeks: t2,\n  utcYear: ul,\n  utcYears: GB\n}, Symbol.toStringTag, { value: \"Module\" }));\nfunction jm(e) {\n  if (0 <= e.y && e.y < 100) {\n    var t = new Date(-1, e.m, e.d, e.H, e.M, e.S, e.L);\n    return t.setFullYear(e.y), t;\n  }\n  return new Date(e.y, e.m, e.d, e.H, e.M, e.S, e.L);\n}\nfunction Um(e) {\n  if (0 <= e.y && e.y < 100) {\n    var t = new Date(Date.UTC(-1, e.m, e.d, e.H, e.M, e.S, e.L));\n    return t.setUTCFullYear(e.y), t;\n  }\n  return new Date(Date.UTC(e.y, e.m, e.d, e.H, e.M, e.S, e.L));\n}\nfunction gf(e, t, r) {\n  return { y: e, m: t, d: r, H: 0, M: 0, S: 0, L: 0 };\n}\nfunction wC(e) {\n  var t = e.dateTime, r = e.date, n = e.time, a = e.periods, i = e.days, o = e.shortDays, l = e.months, s = e.shortMonths, u = yf(a), f = bf(a), d = yf(i), h = bf(i), p = yf(o), v = bf(o), m = yf(l), g = bf(l), y = yf(s), w = bf(s), k = {\n    a: z,\n    A: P,\n    b: R,\n    B: H,\n    c: null,\n    d: l2,\n    e: l2,\n    f: vj,\n    g: kj,\n    G: Mj,\n    H: cj,\n    I: dj,\n    j: hj,\n    L: TC,\n    m: pj,\n    M: mj,\n    p: B,\n    q: W,\n    Q: f2,\n    s: c2,\n    S: gj,\n    u: yj,\n    U: bj,\n    V: _j,\n    w: xj,\n    W: wj,\n    x: null,\n    X: null,\n    y: Tj,\n    Y: Aj,\n    Z: Sj,\n    \"%\": u2\n  }, x = {\n    a: ee,\n    A: re,\n    b: ae,\n    B: Q,\n    c: null,\n    d: s2,\n    e: s2,\n    f: Ej,\n    g: Bj,\n    G: Uj,\n    H: Cj,\n    I: Lj,\n    j: Dj,\n    L: AC,\n    m: Fj,\n    M: Rj,\n    p: ue,\n    q: j,\n    Q: f2,\n    s: c2,\n    S: Pj,\n    u: $j,\n    U: zj,\n    V: Ij,\n    w: Nj,\n    W: Oj,\n    x: null,\n    X: null,\n    y: Hj,\n    Y: jj,\n    Z: Gj,\n    \"%\": u2\n  }, _ = {\n    a: F,\n    A: $,\n    b: I,\n    B: O,\n    c: G,\n    d: i2,\n    e: i2,\n    f: lj,\n    g: a2,\n    G: n2,\n    H: o2,\n    I: o2,\n    j: nj,\n    L: oj,\n    m: rj,\n    M: aj,\n    p: L,\n    q: tj,\n    Q: uj,\n    s: fj,\n    S: ij,\n    u: XB,\n    U: KB,\n    V: JB,\n    w: YB,\n    W: QB,\n    x: K,\n    X: V,\n    y: a2,\n    Y: n2,\n    Z: ej,\n    \"%\": sj\n  };\n  k.x = T(r, k), k.X = T(n, k), k.c = T(t, k), x.x = T(r, x), x.X = T(n, x), x.c = T(t, x);\n  function T(U, Z) {\n    return function(le) {\n      var J = [], pe = -1, ge = 0, ve = U.length, me, Le, ze;\n      for (le instanceof Date || (le = /* @__PURE__ */ new Date(+le)); ++pe < ve; )\n        U.charCodeAt(pe) === 37 && (J.push(U.slice(ge, pe)), (Le = r2[me = U.charAt(++pe)]) != null ? me = U.charAt(++pe) : Le = me === \"e\" ? \" \" : \"0\", (ze = Z[me]) && (me = ze(le, Le)), J.push(me), ge = pe + 1);\n      return J.push(U.slice(ge, pe)), J.join(\"\");\n    };\n  }\n  function S(U, Z) {\n    return function(le) {\n      var J = gf(1900, void 0, 1), pe = M(J, U, le += \"\", 0), ge, ve;\n      if (pe != le.length) return null;\n      if (\"Q\" in J) return new Date(J.Q);\n      if (\"s\" in J) return new Date(J.s * 1e3 + (\"L\" in J ? J.L : 0));\n      if (Z && !(\"Z\" in J) && (J.Z = 0), \"p\" in J && (J.H = J.H % 12 + J.p * 12), J.m === void 0 && (J.m = \"q\" in J ? J.q : 0), \"V\" in J) {\n        if (J.V < 1 || J.V > 53) return null;\n        \"w\" in J || (J.w = 1), \"Z\" in J ? (ge = Um(gf(J.y, 0, 1)), ve = ge.getUTCDay(), ge = ve > 4 || ve === 0 ? bc.ceil(ge) : bc(ge), ge = op.offset(ge, (J.V - 1) * 7), J.y = ge.getUTCFullYear(), J.m = ge.getUTCMonth(), J.d = ge.getUTCDate() + (J.w + 6) % 7) : (ge = jm(gf(J.y, 0, 1)), ve = ge.getDay(), ge = ve > 4 || ve === 0 ? yc.ceil(ge) : yc(ge), ge = ip.offset(ge, (J.V - 1) * 7), J.y = ge.getFullYear(), J.m = ge.getMonth(), J.d = ge.getDate() + (J.w + 6) % 7);\n      } else (\"W\" in J || \"U\" in J) && (\"w\" in J || (J.w = \"u\" in J ? J.u % 7 : \"W\" in J ? 1 : 0), ve = \"Z\" in J ? Um(gf(J.y, 0, 1)).getUTCDay() : jm(gf(J.y, 0, 1)).getDay(), J.m = 0, J.d = \"W\" in J ? (J.w + 6) % 7 + J.W * 7 - (ve + 5) % 7 : J.w + J.U * 7 - (ve + 6) % 7);\n      return \"Z\" in J ? (J.H += J.Z / 100 | 0, J.M += J.Z % 100, Um(J)) : jm(J);\n    };\n  }\n  function M(U, Z, le, J) {\n    for (var pe = 0, ge = Z.length, ve = le.length, me, Le; pe < ge; ) {\n      if (J >= ve) return -1;\n      if (me = Z.charCodeAt(pe++), me === 37) {\n        if (me = Z.charAt(pe++), Le = _[me in r2 ? Z.charAt(pe++) : me], !Le || (J = Le(U, le, J)) < 0) return -1;\n      } else if (me != le.charCodeAt(J++))\n        return -1;\n    }\n    return J;\n  }\n  function L(U, Z, le) {\n    var J = u.exec(Z.slice(le));\n    return J ? (U.p = f[J[0].toLowerCase()], le + J[0].length) : -1;\n  }\n  function F(U, Z, le) {\n    var J = p.exec(Z.slice(le));\n    return J ? (U.w = v[J[0].toLowerCase()], le + J[0].length) : -1;\n  }\n  function $(U, Z, le) {\n    var J = d.exec(Z.slice(le));\n    return J ? (U.w = h[J[0].toLowerCase()], le + J[0].length) : -1;\n  }\n  function I(U, Z, le) {\n    var J = y.exec(Z.slice(le));\n    return J ? (U.m = w[J[0].toLowerCase()], le + J[0].length) : -1;\n  }\n  function O(U, Z, le) {\n    var J = m.exec(Z.slice(le));\n    return J ? (U.m = g[J[0].toLowerCase()], le + J[0].length) : -1;\n  }\n  function G(U, Z, le) {\n    return M(U, t, Z, le);\n  }\n  function K(U, Z, le) {\n    return M(U, r, Z, le);\n  }\n  function V(U, Z, le) {\n    return M(U, n, Z, le);\n  }\n  function z(U) {\n    return o[U.getDay()];\n  }\n  function P(U) {\n    return i[U.getDay()];\n  }\n  function R(U) {\n    return s[U.getMonth()];\n  }\n  function H(U) {\n    return l[U.getMonth()];\n  }\n  function B(U) {\n    return a[+(U.getHours() >= 12)];\n  }\n  function W(U) {\n    return 1 + ~~(U.getMonth() / 3);\n  }\n  function ee(U) {\n    return o[U.getUTCDay()];\n  }\n  function re(U) {\n    return i[U.getUTCDay()];\n  }\n  function ae(U) {\n    return s[U.getUTCMonth()];\n  }\n  function Q(U) {\n    return l[U.getUTCMonth()];\n  }\n  function ue(U) {\n    return a[+(U.getUTCHours() >= 12)];\n  }\n  function j(U) {\n    return 1 + ~~(U.getUTCMonth() / 3);\n  }\n  return {\n    format: function(U) {\n      var Z = T(U += \"\", k);\n      return Z.toString = function() {\n        return U;\n      }, Z;\n    },\n    parse: function(U) {\n      var Z = S(U += \"\", !1);\n      return Z.toString = function() {\n        return U;\n      }, Z;\n    },\n    utcFormat: function(U) {\n      var Z = T(U += \"\", x);\n      return Z.toString = function() {\n        return U;\n      }, Z;\n    },\n    utcParse: function(U) {\n      var Z = S(U += \"\", !0);\n      return Z.toString = function() {\n        return U;\n      }, Z;\n    }\n  };\n}\nvar r2 = { \"-\": \"\", _: \" \", 0: \"0\" }, Sn = /^\\s*\\d+/, qB = /^%/, WB = /[\\\\^$*+?|[\\]().{}]/g;\nfunction Lr(e, t, r) {\n  var n = e < 0 ? \"-\" : \"\", a = (n ? -e : e) + \"\", i = a.length;\n  return n + (i < r ? new Array(r - i + 1).join(t) + a : a);\n}\nfunction ZB(e) {\n  return e.replace(WB, \"\\\\$&\");\n}\nfunction yf(e) {\n  return new RegExp(\"^(?:\" + e.map(ZB).join(\"|\") + \")\", \"i\");\n}\nfunction bf(e) {\n  for (var t = {}, r = -1, n = e.length; ++r < n; ) t[e[r].toLowerCase()] = r;\n  return t;\n}\nfunction YB(e, t, r) {\n  var n = Sn.exec(t.slice(r, r + 1));\n  return n ? (e.w = +n[0], r + n[0].length) : -1;\n}\nfunction XB(e, t, r) {\n  var n = Sn.exec(t.slice(r, r + 1));\n  return n ? (e.u = +n[0], r + n[0].length) : -1;\n}\nfunction KB(e, t, r) {\n  var n = Sn.exec(t.slice(r, r + 2));\n  return n ? (e.U = +n[0], r + n[0].length) : -1;\n}\nfunction JB(e, t, r) {\n  var n = Sn.exec(t.slice(r, r + 2));\n  return n ? (e.V = +n[0], r + n[0].length) : -1;\n}\nfunction QB(e, t, r) {\n  var n = Sn.exec(t.slice(r, r + 2));\n  return n ? (e.W = +n[0], r + n[0].length) : -1;\n}\nfunction n2(e, t, r) {\n  var n = Sn.exec(t.slice(r, r + 4));\n  return n ? (e.y = +n[0], r + n[0].length) : -1;\n}\nfunction a2(e, t, r) {\n  var n = Sn.exec(t.slice(r, r + 2));\n  return n ? (e.y = +n[0] + (+n[0] > 68 ? 1900 : 2e3), r + n[0].length) : -1;\n}\nfunction ej(e, t, r) {\n  var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(t.slice(r, r + 6));\n  return n ? (e.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), r + n[0].length) : -1;\n}\nfunction tj(e, t, r) {\n  var n = Sn.exec(t.slice(r, r + 1));\n  return n ? (e.q = n[0] * 3 - 3, r + n[0].length) : -1;\n}\nfunction rj(e, t, r) {\n  var n = Sn.exec(t.slice(r, r + 2));\n  return n ? (e.m = n[0] - 1, r + n[0].length) : -1;\n}\nfunction i2(e, t, r) {\n  var n = Sn.exec(t.slice(r, r + 2));\n  return n ? (e.d = +n[0], r + n[0].length) : -1;\n}\nfunction nj(e, t, r) {\n  var n = Sn.exec(t.slice(r, r + 3));\n  return n ? (e.m = 0, e.d = +n[0], r + n[0].length) : -1;\n}\nfunction o2(e, t, r) {\n  var n = Sn.exec(t.slice(r, r + 2));\n  return n ? (e.H = +n[0], r + n[0].length) : -1;\n}\nfunction aj(e, t, r) {\n  var n = Sn.exec(t.slice(r, r + 2));\n  return n ? (e.M = +n[0], r + n[0].length) : -1;\n}\nfunction ij(e, t, r) {\n  var n = Sn.exec(t.slice(r, r + 2));\n  return n ? (e.S = +n[0], r + n[0].length) : -1;\n}\nfunction oj(e, t, r) {\n  var n = Sn.exec(t.slice(r, r + 3));\n  return n ? (e.L = +n[0], r + n[0].length) : -1;\n}\nfunction lj(e, t, r) {\n  var n = Sn.exec(t.slice(r, r + 6));\n  return n ? (e.L = Math.floor(n[0] / 1e3), r + n[0].length) : -1;\n}\nfunction sj(e, t, r) {\n  var n = qB.exec(t.slice(r, r + 1));\n  return n ? r + n[0].length : -1;\n}\nfunction uj(e, t, r) {\n  var n = Sn.exec(t.slice(r));\n  return n ? (e.Q = +n[0], r + n[0].length) : -1;\n}\nfunction fj(e, t, r) {\n  var n = Sn.exec(t.slice(r));\n  return n ? (e.s = +n[0], r + n[0].length) : -1;\n}\nfunction l2(e, t) {\n  return Lr(e.getDate(), t, 2);\n}\nfunction cj(e, t) {\n  return Lr(e.getHours(), t, 2);\n}\nfunction dj(e, t) {\n  return Lr(e.getHours() % 12 || 12, t, 2);\n}\nfunction hj(e, t) {\n  return Lr(1 + ip.count(sl(e), e), t, 3);\n}\nfunction TC(e, t) {\n  return Lr(e.getMilliseconds(), t, 3);\n}\nfunction vj(e, t) {\n  return TC(e, t) + \"000\";\n}\nfunction pj(e, t) {\n  return Lr(e.getMonth() + 1, t, 2);\n}\nfunction mj(e, t) {\n  return Lr(e.getMinutes(), t, 2);\n}\nfunction gj(e, t) {\n  return Lr(e.getSeconds(), t, 2);\n}\nfunction yj(e) {\n  var t = e.getDay();\n  return t === 0 ? 7 : t;\n}\nfunction bj(e, t) {\n  return Lr(iv.count(sl(e) - 1, e), t, 2);\n}\nfunction kC(e) {\n  var t = e.getDay();\n  return t >= 4 || t === 0 ? is(e) : is.ceil(e);\n}\nfunction _j(e, t) {\n  return e = kC(e), Lr(is.count(sl(e), e) + (sl(e).getDay() === 4), t, 2);\n}\nfunction xj(e) {\n  return e.getDay();\n}\nfunction wj(e, t) {\n  return Lr(yc.count(sl(e) - 1, e), t, 2);\n}\nfunction Tj(e, t) {\n  return Lr(e.getFullYear() % 100, t, 2);\n}\nfunction kj(e, t) {\n  return e = kC(e), Lr(e.getFullYear() % 100, t, 2);\n}\nfunction Aj(e, t) {\n  return Lr(e.getFullYear() % 1e4, t, 4);\n}\nfunction Mj(e, t) {\n  var r = e.getDay();\n  return e = r >= 4 || r === 0 ? is(e) : is.ceil(e), Lr(e.getFullYear() % 1e4, t, 4);\n}\nfunction Sj(e) {\n  var t = e.getTimezoneOffset();\n  return (t > 0 ? \"-\" : (t *= -1, \"+\")) + Lr(t / 60 | 0, \"0\", 2) + Lr(t % 60, \"0\", 2);\n}\nfunction s2(e, t) {\n  return Lr(e.getUTCDate(), t, 2);\n}\nfunction Cj(e, t) {\n  return Lr(e.getUTCHours(), t, 2);\n}\nfunction Lj(e, t) {\n  return Lr(e.getUTCHours() % 12 || 12, t, 2);\n}\nfunction Dj(e, t) {\n  return Lr(1 + op.count(ul(e), e), t, 3);\n}\nfunction AC(e, t) {\n  return Lr(e.getUTCMilliseconds(), t, 3);\n}\nfunction Ej(e, t) {\n  return AC(e, t) + \"000\";\n}\nfunction Fj(e, t) {\n  return Lr(e.getUTCMonth() + 1, t, 2);\n}\nfunction Rj(e, t) {\n  return Lr(e.getUTCMinutes(), t, 2);\n}\nfunction Pj(e, t) {\n  return Lr(e.getUTCSeconds(), t, 2);\n}\nfunction $j(e) {\n  var t = e.getUTCDay();\n  return t === 0 ? 7 : t;\n}\nfunction zj(e, t) {\n  return Lr(ov.count(ul(e) - 1, e), t, 2);\n}\nfunction MC(e) {\n  var t = e.getUTCDay();\n  return t >= 4 || t === 0 ? os(e) : os.ceil(e);\n}\nfunction Ij(e, t) {\n  return e = MC(e), Lr(os.count(ul(e), e) + (ul(e).getUTCDay() === 4), t, 2);\n}\nfunction Nj(e) {\n  return e.getUTCDay();\n}\nfunction Oj(e, t) {\n  return Lr(bc.count(ul(e) - 1, e), t, 2);\n}\nfunction Hj(e, t) {\n  return Lr(e.getUTCFullYear() % 100, t, 2);\n}\nfunction Bj(e, t) {\n  return e = MC(e), Lr(e.getUTCFullYear() % 100, t, 2);\n}\nfunction jj(e, t) {\n  return Lr(e.getUTCFullYear() % 1e4, t, 4);\n}\nfunction Uj(e, t) {\n  var r = e.getUTCDay();\n  return e = r >= 4 || r === 0 ? os(e) : os.ceil(e), Lr(e.getUTCFullYear() % 1e4, t, 4);\n}\nfunction Gj() {\n  return \"+0000\";\n}\nfunction u2() {\n  return \"%\";\n}\nfunction f2(e) {\n  return +e;\n}\nfunction c2(e) {\n  return Math.floor(+e / 1e3);\n}\nvar Rs, SC, CC, I1, N1;\nLC({\n  dateTime: \"%x, %X\",\n  date: \"%-m/%-d/%Y\",\n  time: \"%-I:%M:%S %p\",\n  periods: [\"AM\", \"PM\"],\n  days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n  shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n  months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n  shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\nfunction LC(e) {\n  return Rs = wC(e), SC = Rs.format, CC = Rs.parse, I1 = Rs.utcFormat, N1 = Rs.utcParse, Rs;\n}\nvar DC = \"%Y-%m-%dT%H:%M:%S.%LZ\";\nfunction Vj(e) {\n  return e.toISOString();\n}\nvar qj = Date.prototype.toISOString ? Vj : I1(DC);\nfunction Wj(e) {\n  var t = new Date(e);\n  return isNaN(t) ? null : t;\n}\nvar Zj = +/* @__PURE__ */ new Date(\"2000-01-01T00:00:00.000Z\") ? Wj : N1(DC);\nconst Yj = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n  __proto__: null,\n  isoFormat: qj,\n  isoParse: Zj,\n  get timeFormat() {\n    return SC;\n  },\n  timeFormatDefaultLocale: LC,\n  timeFormatLocale: wC,\n  get timeParse() {\n    return CC;\n  },\n  get utcFormat() {\n    return I1;\n  },\n  get utcParse() {\n    return N1;\n  }\n}, Symbol.toStringTag, { value: \"Module\" })), _c = /* @__PURE__ */ tp(Yj);\nfunction Xj(e) {\n  return Math.abs(e = Math.round(e)) >= 1e21 ? e.toLocaleString(\"en\").replace(/,/g, \"\") : e.toString(10);\n}\nfunction lv(e, t) {\n  if ((r = (e = t ? e.toExponential(t - 1) : e.toExponential()).indexOf(\"e\")) < 0) return null;\n  var r, n = e.slice(0, r);\n  return [\n    n.length > 1 ? n[0] + n.slice(2) : n,\n    +e.slice(r + 1)\n  ];\n}\nfunction Du(e) {\n  return e = lv(Math.abs(e)), e ? e[1] : NaN;\n}\nfunction Kj(e, t) {\n  return function(r, n) {\n    for (var a = r.length, i = [], o = 0, l = e[0], s = 0; a > 0 && l > 0 && (s + l + 1 > n && (l = Math.max(1, n - s)), i.push(r.substring(a -= l, a + l)), !((s += l + 1) > n)); )\n      l = e[o = (o + 1) % e.length];\n    return i.reverse().join(t);\n  };\n}\nfunction Jj(e) {\n  return function(t) {\n    return t.replace(/[0-9]/g, function(r) {\n      return e[+r];\n    });\n  };\n}\nvar Qj = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\nfunction sv(e) {\n  if (!(t = Qj.exec(e))) throw new Error(\"invalid format: \" + e);\n  var t;\n  return new lp({\n    fill: t[1],\n    align: t[2],\n    sign: t[3],\n    symbol: t[4],\n    zero: t[5],\n    width: t[6],\n    comma: t[7],\n    precision: t[8] && t[8].slice(1),\n    trim: t[9],\n    type: t[10]\n  });\n}\nsv.prototype = lp.prototype;\nfunction lp(e) {\n  this.fill = e.fill === void 0 ? \" \" : e.fill + \"\", this.align = e.align === void 0 ? \">\" : e.align + \"\", this.sign = e.sign === void 0 ? \"-\" : e.sign + \"\", this.symbol = e.symbol === void 0 ? \"\" : e.symbol + \"\", this.zero = !!e.zero, this.width = e.width === void 0 ? void 0 : +e.width, this.comma = !!e.comma, this.precision = e.precision === void 0 ? void 0 : +e.precision, this.trim = !!e.trim, this.type = e.type === void 0 ? \"\" : e.type + \"\";\n}\nlp.prototype.toString = function() {\n  return this.fill + this.align + this.sign + this.symbol + (this.zero ? \"0\" : \"\") + (this.width === void 0 ? \"\" : Math.max(1, this.width | 0)) + (this.comma ? \",\" : \"\") + (this.precision === void 0 ? \"\" : \".\" + Math.max(0, this.precision | 0)) + (this.trim ? \"~\" : \"\") + this.type;\n};\nfunction eU(e) {\n  e: for (var t = e.length, r = 1, n = -1, a; r < t; ++r)\n    switch (e[r]) {\n      case \".\":\n        n = a = r;\n        break;\n      case \"0\":\n        n === 0 && (n = r), a = r;\n        break;\n      default:\n        if (!+e[r]) break e;\n        n > 0 && (n = 0);\n        break;\n    }\n  return n > 0 ? e.slice(0, n) + e.slice(a + 1) : e;\n}\nvar EC;\nfunction tU(e, t) {\n  var r = lv(e, t);\n  if (!r) return e + \"\";\n  var n = r[0], a = r[1], i = a - (EC = Math.max(-8, Math.min(8, Math.floor(a / 3))) * 3) + 1, o = n.length;\n  return i === o ? n : i > o ? n + new Array(i - o + 1).join(\"0\") : i > 0 ? n.slice(0, i) + \".\" + n.slice(i) : \"0.\" + new Array(1 - i).join(\"0\") + lv(e, Math.max(0, t + i - 1))[0];\n}\nfunction d2(e, t) {\n  var r = lv(e, t);\n  if (!r) return e + \"\";\n  var n = r[0], a = r[1];\n  return a < 0 ? \"0.\" + new Array(-a).join(\"0\") + n : n.length > a + 1 ? n.slice(0, a + 1) + \".\" + n.slice(a + 1) : n + new Array(a - n.length + 2).join(\"0\");\n}\nconst h2 = {\n  \"%\": function(e, t) {\n    return (e * 100).toFixed(t);\n  },\n  b: function(e) {\n    return Math.round(e).toString(2);\n  },\n  c: function(e) {\n    return e + \"\";\n  },\n  d: Xj,\n  e: function(e, t) {\n    return e.toExponential(t);\n  },\n  f: function(e, t) {\n    return e.toFixed(t);\n  },\n  g: function(e, t) {\n    return e.toPrecision(t);\n  },\n  o: function(e) {\n    return Math.round(e).toString(8);\n  },\n  p: function(e, t) {\n    return d2(e * 100, t);\n  },\n  r: d2,\n  s: tU,\n  X: function(e) {\n    return Math.round(e).toString(16).toUpperCase();\n  },\n  x: function(e) {\n    return Math.round(e).toString(16);\n  }\n};\nfunction v2(e) {\n  return e;\n}\nvar p2 = Array.prototype.map, m2 = [\"y\", \"z\", \"a\", \"f\", \"p\", \"n\", \"µ\", \"m\", \"\", \"k\", \"M\", \"G\", \"T\", \"P\", \"E\", \"Z\", \"Y\"];\nfunction FC(e) {\n  var t = e.grouping === void 0 || e.thousands === void 0 ? v2 : Kj(p2.call(e.grouping, Number), e.thousands + \"\"), r = e.currency === void 0 ? \"\" : e.currency[0] + \"\", n = e.currency === void 0 ? \"\" : e.currency[1] + \"\", a = e.decimal === void 0 ? \".\" : e.decimal + \"\", i = e.numerals === void 0 ? v2 : Jj(p2.call(e.numerals, String)), o = e.percent === void 0 ? \"%\" : e.percent + \"\", l = e.minus === void 0 ? \"-\" : e.minus + \"\", s = e.nan === void 0 ? \"NaN\" : e.nan + \"\";\n  function u(d) {\n    d = sv(d);\n    var h = d.fill, p = d.align, v = d.sign, m = d.symbol, g = d.zero, y = d.width, w = d.comma, k = d.precision, x = d.trim, _ = d.type;\n    _ === \"n\" ? (w = !0, _ = \"g\") : h2[_] || (k === void 0 && (k = 12), x = !0, _ = \"g\"), (g || h === \"0\" && p === \"=\") && (g = !0, h = \"0\", p = \"=\");\n    var T = m === \"$\" ? r : m === \"#\" && /[boxX]/.test(_) ? \"0\" + _.toLowerCase() : \"\", S = m === \"$\" ? n : /[%p]/.test(_) ? o : \"\", M = h2[_], L = /[defgprs%]/.test(_);\n    k = k === void 0 ? 6 : /[gprs]/.test(_) ? Math.max(1, Math.min(21, k)) : Math.max(0, Math.min(20, k));\n    function F($) {\n      var I = T, O = S, G, K, V;\n      if (_ === \"c\")\n        O = M($) + O, $ = \"\";\n      else {\n        $ = +$;\n        var z = $ < 0 || 1 / $ < 0;\n        if ($ = isNaN($) ? s : M(Math.abs($), k), x && ($ = eU($)), z && +$ == 0 && v !== \"+\" && (z = !1), I = (z ? v === \"(\" ? v : l : v === \"-\" || v === \"(\" ? \"\" : v) + I, O = (_ === \"s\" ? m2[8 + EC / 3] : \"\") + O + (z && v === \"(\" ? \")\" : \"\"), L) {\n          for (G = -1, K = $.length; ++G < K; )\n            if (V = $.charCodeAt(G), 48 > V || V > 57) {\n              O = (V === 46 ? a + $.slice(G + 1) : $.slice(G)) + O, $ = $.slice(0, G);\n              break;\n            }\n        }\n      }\n      w && !g && ($ = t($, 1 / 0));\n      var P = I.length + $.length + O.length, R = P < y ? new Array(y - P + 1).join(h) : \"\";\n      switch (w && g && ($ = t(R + $, R.length ? y - O.length : 1 / 0), R = \"\"), p) {\n        case \"<\":\n          $ = I + $ + O + R;\n          break;\n        case \"=\":\n          $ = I + R + $ + O;\n          break;\n        case \"^\":\n          $ = R.slice(0, P = R.length >> 1) + I + $ + O + R.slice(P);\n          break;\n        default:\n          $ = R + I + $ + O;\n          break;\n      }\n      return i($);\n    }\n    return F.toString = function() {\n      return d + \"\";\n    }, F;\n  }\n  function f(d, h) {\n    var p = u((d = sv(d), d.type = \"f\", d)), v = Math.max(-8, Math.min(8, Math.floor(Du(h) / 3))) * 3, m = Math.pow(10, -v), g = m2[8 + v / 3];\n    return function(y) {\n      return p(m * y) + g;\n    };\n  }\n  return {\n    format: u,\n    formatPrefix: f\n  };\n}\nvar Fd, RC, PC;\n$C({\n  decimal: \".\",\n  thousands: \",\",\n  grouping: [3],\n  currency: [\"$\", \"\"],\n  minus: \"-\"\n});\nfunction $C(e) {\n  return Fd = FC(e), RC = Fd.format, PC = Fd.formatPrefix, Fd;\n}\nfunction rU(e) {\n  return Math.max(0, -Du(Math.abs(e)));\n}\nfunction nU(e, t) {\n  return Math.max(0, Math.max(-8, Math.min(8, Math.floor(Du(t) / 3))) * 3 - Du(Math.abs(e)));\n}\nfunction aU(e, t) {\n  return e = Math.abs(e), t = Math.abs(t) - e, Math.max(0, Du(t) - Du(e)) + 1;\n}\nconst iU = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n  __proto__: null,\n  FormatSpecifier: lp,\n  get format() {\n    return RC;\n  },\n  formatDefaultLocale: $C,\n  formatLocale: FC,\n  get formatPrefix() {\n    return PC;\n  },\n  formatSpecifier: sv,\n  precisionFixed: rU,\n  precisionPrefix: nU,\n  precisionRound: aU\n}, Symbol.toStringTag, { value: \"Module\" })), zC = /* @__PURE__ */ tp(iU);\nvar oU = function(e) {\n  for (var t = e.length, r, n = 0; n < t; n++)\n    if (r = e.charCodeAt(n), (r < 9 || r > 13) && r !== 32 && r !== 133 && r !== 160 && r !== 5760 && r !== 6158 && (r < 8192 || r > 8205) && r !== 8232 && r !== 8233 && r !== 8239 && r !== 8287 && r !== 8288 && r !== 12288 && r !== 65279)\n      return !1;\n  return !0;\n}, lU = oU, sr = function(e) {\n  var t = typeof e;\n  if (t === \"string\") {\n    var r = e;\n    if (e = +e, e === 0 && lU(r)) return !1;\n  } else if (t !== \"number\") return !1;\n  return e - e < 1;\n}, Qr = {\n  /**\n   * Standardize all missing data in calcdata to use undefined\n   * never null or NaN.\n   * That way we can use !==undefined, or !== BADNUM,\n   * to test for real data\n   */\n  BADNUM: void 0,\n  /*\n   * Limit certain operations to well below floating point max value\n   * to avoid glitches: Make sure that even when you multiply it by the\n   * number of pixels on a giant screen it still works\n   */\n  FP_SAFE: Number.MAX_VALUE * 1e-4,\n  /*\n   * conversion of date units to milliseconds\n   * year and month constants are marked \"AVG\"\n   * to remind us that not all years and months\n   * have the same length\n   */\n  ONEMAXYEAR: 316224e5,\n  // 366 * ONEDAY\n  ONEAVGYEAR: 315576e5,\n  // 365.25 days\n  ONEMINYEAR: 31536e6,\n  // 365 * ONEDAY\n  ONEMAXQUARTER: 79488e5,\n  // 92 * ONEDAY\n  ONEAVGQUARTER: 78894e5,\n  // 1/4 of ONEAVGYEAR\n  ONEMINQUARTER: 76896e5,\n  // 89 * ONEDAY\n  ONEMAXMONTH: 26784e5,\n  // 31 * ONEDAY\n  ONEAVGMONTH: 26298e5,\n  // 1/12 of ONEAVGYEAR\n  ONEMINMONTH: 24192e5,\n  // 28 * ONEDAY\n  ONEWEEK: 6048e5,\n  // 7 * ONEDAY\n  ONEDAY: 864e5,\n  // 24 * ONEHOUR\n  ONEHOUR: 36e5,\n  ONEMIN: 6e4,\n  ONESEC: 1e3,\n  /*\n   * For fast conversion btwn world calendars and epoch ms, the Julian Day Number\n   * of the unix epoch. From calendars.instance().newDate(1970, 1, 1).toJD()\n   */\n  EPOCHJD: 24405875e-1,\n  /*\n   * Are two values nearly equal? Compare to 1PPM\n   */\n  ALMOST_EQUAL: 1 - 1e-6,\n  /*\n   * If we're asked to clip a non-positive log value, how far off-screen\n   * do we put it?\n   */\n  LOG_CLIP: 10,\n  /*\n   * not a number, but for displaying numbers: the \"minus sign\" symbol is\n   * wider than the regular ascii dash \"-\"\n   */\n  MINUS_SIGN: \"−\"\n}, an = {}, su = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\", Wf = typeof Uint8Array > \"u\" ? [] : new Uint8Array(256);\nfor (var Rd = 0; Rd < su.length; Rd++)\n  Wf[su.charCodeAt(Rd)] = Rd;\nvar sU = function(e) {\n  var t = new Uint8Array(e), r, n = t.length, a = \"\";\n  for (r = 0; r < n; r += 3)\n    a += su[t[r] >> 2], a += su[(t[r] & 3) << 4 | t[r + 1] >> 4], a += su[(t[r + 1] & 15) << 2 | t[r + 2] >> 6], a += su[t[r + 2] & 63];\n  return n % 3 === 2 ? a = a.substring(0, a.length - 1) + \"=\" : n % 3 === 1 && (a = a.substring(0, a.length - 2) + \"==\"), a;\n}, uU = function(e) {\n  var t = e.length * 0.75, r = e.length, n, a = 0, i, o, l, s;\n  e[e.length - 1] === \"=\" && (t--, e[e.length - 2] === \"=\" && t--);\n  var u = new ArrayBuffer(t), f = new Uint8Array(u);\n  for (n = 0; n < r; n += 4)\n    i = Wf[e.charCodeAt(n)], o = Wf[e.charCodeAt(n + 1)], l = Wf[e.charCodeAt(n + 2)], s = Wf[e.charCodeAt(n + 3)], f[a++] = i << 2 | o >> 4, f[a++] = (o & 15) << 4 | l >> 2, f[a++] = (l & 3) << 6 | s & 63;\n  return u;\n};\nconst fU = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n  __proto__: null,\n  decode: uU,\n  encode: sU\n}, Symbol.toStringTag, { value: \"Module\" })), IC = /* @__PURE__ */ tp(fU);\nvar ms = function(t) {\n  return window && window.process && window.process.versions ? Object.prototype.toString.call(t) === \"[object Object]\" : Object.prototype.toString.call(t) === \"[object Object]\" && Object.getPrototypeOf(t).hasOwnProperty(\"hasOwnProperty\");\n}, cU = IC.decode, dU = ms, O1 = Array.isArray, hU = ArrayBuffer, vU = DataView;\nfunction NC(e) {\n  return hU.isView(e) && !(e instanceof vU);\n}\nan.isTypedArray = NC;\nfunction uv(e) {\n  return O1(e) || NC(e);\n}\nan.isArrayOrTypedArray = uv;\nfunction pU(e) {\n  return !uv(e[0]);\n}\nan.isArray1D = pU;\nan.ensureArray = function(e, t) {\n  return O1(e) || (e = []), e.length = t, e;\n};\nvar xn = {\n  u1c: typeof Uint8ClampedArray > \"u\" ? void 0 : Uint8ClampedArray,\n  // not supported in numpy?\n  i1: typeof Int8Array > \"u\" ? void 0 : Int8Array,\n  u1: typeof Uint8Array > \"u\" ? void 0 : Uint8Array,\n  i2: typeof Int16Array > \"u\" ? void 0 : Int16Array,\n  u2: typeof Uint16Array > \"u\" ? void 0 : Uint16Array,\n  i4: typeof Int32Array > \"u\" ? void 0 : Int32Array,\n  u4: typeof Uint32Array > \"u\" ? void 0 : Uint32Array,\n  f4: typeof Float32Array > \"u\" ? void 0 : Float32Array,\n  f8: typeof Float64Array > \"u\" ? void 0 : Float64Array\n  /* TODO: potentially add Big Int\n  \n      i8: typeof BigInt64Array === 'undefined' ? undefined :\n                 BigInt64Array,\n  \n      u8: typeof BigUint64Array === 'undefined' ? undefined :\n                 BigUint64Array,\n      */\n};\nxn.uint8c = xn.u1c;\nxn.uint8 = xn.u1;\nxn.int8 = xn.i1;\nxn.uint16 = xn.u2;\nxn.int16 = xn.i2;\nxn.uint32 = xn.u4;\nxn.int32 = xn.i4;\nxn.float32 = xn.f4;\nxn.float64 = xn.f8;\nfunction H1(e) {\n  return e.constructor === ArrayBuffer;\n}\nan.isArrayBuffer = H1;\nan.decodeTypedArraySpec = function(e) {\n  var t = [], r = mU(e), n = r.dtype, a = xn[n];\n  if (!a) throw new Error('Error in dtype: \"' + n + '\"');\n  var i = a.BYTES_PER_ELEMENT, o = r.bdata;\n  H1(o) || (o = cU(o));\n  var l = r.shape === void 0 ? (\n    // detect 1-d length\n    [o.byteLength / i]\n  ) : (\n    // convert number to string and split to array\n    (\"\" + r.shape).split(\",\")\n  );\n  l.reverse();\n  var s = l.length, u, f, d = +l[0], h = i * d, p = 0;\n  if (s === 1)\n    t = new a(o);\n  else if (s === 2)\n    for (u = +l[1], f = 0; f < u; f++)\n      t[f] = new a(o, p, d), p += h;\n  else if (s === 3) {\n    u = +l[1];\n    for (var v = +l[2], m = 0; m < v; m++)\n      for (t[m] = [], f = 0; f < u; f++)\n        t[m][f] = new a(o, p, d), p += h;\n  } else\n    throw new Error(\"ndim: \" + s + 'is not supported with the shape:\"' + r.shape + '\"');\n  return t.bdata = r.bdata, t.dtype = r.dtype, t.shape = l.reverse().join(\",\"), e._inputArray = t, t;\n};\nan.isTypedArraySpec = function(e) {\n  return dU(e) && e.hasOwnProperty(\"dtype\") && typeof e.dtype == \"string\" && e.hasOwnProperty(\"bdata\") && (typeof e.bdata == \"string\" || H1(e.bdata)) && (e.shape === void 0 || e.hasOwnProperty(\"shape\") && (typeof e.shape == \"string\" || typeof e.shape == \"number\"));\n};\nfunction mU(e) {\n  return {\n    bdata: e.bdata,\n    dtype: e.dtype,\n    shape: e.shape\n  };\n}\nan.concat = function() {\n  var e = [], t = !0, r = 0, n, a, i, o, l, s, u, f;\n  for (i = 0; i < arguments.length; i++)\n    o = arguments[i], s = o.length, s && (a ? e.push(o) : (a = o, l = s), O1(o) ? n = !1 : (t = !1, r ? n !== o.constructor && (n = !1) : n = o.constructor), r += s);\n  if (!r) return [];\n  if (!e.length) return a;\n  if (t) return a.concat.apply(a, e);\n  if (n) {\n    for (u = new n(r), u.set(a), i = 0; i < e.length; i++)\n      o = e[i], u.set(o, l), l += o.length;\n    return u;\n  }\n  for (u = new Array(r), f = 0; f < a.length; f++) u[f] = a[f];\n  for (i = 0; i < e.length; i++) {\n    for (o = e[i], f = 0; f < o.length; f++) u[l + f] = o[f];\n    l += f;\n  }\n  return u;\n};\nan.maxRowLength = function(e) {\n  return OC(e, Math.max, 0);\n};\nan.minRowLength = function(e) {\n  return OC(e, Math.min, 1 / 0);\n};\nfunction OC(e, t, r) {\n  if (uv(e))\n    if (uv(e[0])) {\n      for (var n = r, a = 0; a < e.length; a++)\n        n = t(n, e[a].length);\n      return n;\n    } else\n      return e.length;\n  return 0;\n}\nvar HC = sr, B1 = an.isArrayOrTypedArray, j1 = function(t, r) {\n  if (HC(r)) r = String(r);\n  else if (typeof r != \"string\" || r.substr(r.length - 4) === \"[-1]\")\n    throw \"bad property string\";\n  var n = r.split(\".\"), a, i, o, l;\n  for (l = 0; l < n.length; l++)\n    if (String(n[l]).slice(0, 2) === \"__\")\n      throw \"bad property string\";\n  for (l = 0; l < n.length; ) {\n    if (a = String(n[l]).match(/^([^\\[\\]]*)((\\[\\-?[0-9]*\\])+)$/), a) {\n      if (a[1]) n[l] = a[1];\n      else if (l === 0) n.splice(0, 1);\n      else throw \"bad property string\";\n      for (i = a[2].substr(1, a[2].length - 2).split(\"][\"), o = 0; o < i.length; o++)\n        l++, n.splice(l, 0, Number(i[o]));\n    }\n    l++;\n  }\n  return typeof t != \"object\" ? _U(t, r, n) : {\n    set: jC(t, n, r),\n    get: BC(t, n),\n    astr: r,\n    parts: n,\n    obj: t\n  };\n};\nfunction BC(e, t) {\n  return function() {\n    var r = e, n, a, i, o, l;\n    for (o = 0; o < t.length - 1; o++) {\n      if (n = t[o], n === -1) {\n        for (a = !0, i = [], l = 0; l < r.length; l++)\n          i[l] = BC(r[l], t.slice(o + 1))(), i[l] !== i[0] && (a = !1);\n        return a ? i[0] : i;\n      }\n      if (typeof n == \"number\" && !B1(r) || (r = r[n], typeof r != \"object\" || r === null))\n        return;\n    }\n    if (!(typeof r != \"object\" || r === null) && (i = r[t[o]], i !== null))\n      return i;\n  };\n}\nvar gU = /(^|\\.)args\\[/;\nfunction iy(e, t) {\n  return e === void 0 || e === null && !t.match(gU);\n}\nfunction jC(e, t, r) {\n  return function(n) {\n    var a = e, i = \"\", o = iy(n, r), l, s;\n    for (s = 0; s < t.length - 1; s++) {\n      if (l = t[s], typeof l == \"number\" && !B1(a))\n        throw \"array index but container is not an array\";\n      if (l === -1) {\n        if (o = !bU(a, t.slice(s + 1), n, r), o) break;\n        return;\n      }\n      if (!UC(a, l, t[s + 1], o))\n        break;\n      if (a = a[l], typeof a != \"object\" || a === null)\n        throw \"container is not an object\";\n      i = yU(i, l);\n    }\n    if (o) {\n      if (s === t.length - 1 && (delete a[t[s]], Array.isArray(a) && +t[s] === a.length - 1))\n        for (; a.length && a[a.length - 1] === void 0; )\n          a.pop();\n    } else a[t[s]] = n;\n  };\n}\nfunction yU(e, t) {\n  var r = t;\n  return HC(t) ? r = \"[\" + t + \"]\" : e && (r = \".\" + t), e + r;\n}\nfunction bU(e, t, r, n) {\n  var a = B1(r), i = !0, o = r, l = n.replace(\"-1\", 0), s = a ? !1 : iy(r, l), u = t[0], f;\n  for (f = 0; f < e.length; f++)\n    l = n.replace(\"-1\", f), a && (o = r[f % r.length], s = iy(o, l)), s && (i = !1), UC(e, f, u, s) && jC(e[f], t, n.replace(\"-1\", f))(o);\n  return i;\n}\nfunction UC(e, t, r, n) {\n  if (e[t] === void 0) {\n    if (n) return !1;\n    typeof r == \"number\" ? e[t] = [] : e[t] = {};\n  }\n  return !0;\n}\nfunction _U(e, t, r) {\n  return {\n    set: function() {\n      throw \"bad container\";\n    },\n    get: function() {\n    },\n    astr: t,\n    parts: r,\n    obj: e\n  };\n}\nvar Ps = j1, xU = /^\\w*$/, wU = 0, g2 = 1, Pd = 2, y2 = 3, Ll = 4, TU = function(t, r, n, a) {\n  n = n || \"name\", a = a || \"value\";\n  var i, o, l, s = {};\n  r && r.length ? (l = Ps(t, r), o = l.get()) : o = t, r = r || \"\";\n  var u = {};\n  if (o)\n    for (i = 0; i < o.length; i++)\n      u[o[i][n]] = i;\n  var f = xU.test(a), d = {\n    set: function(h, p) {\n      var v = p === null ? Ll : wU;\n      if (!o) {\n        if (!l || v === Ll) return;\n        o = [], l.set(o);\n      }\n      var m = u[h];\n      if (m === void 0) {\n        if (v === Ll) return;\n        v = v | y2, m = o.length, u[h] = m;\n      } else p !== (f ? o[m][a] : Ps(o[m], a).get()) && (v = v | Pd);\n      var g = o[m] = o[m] || {};\n      return g[n] = h, f ? g[a] = p : Ps(g, a).set(p), p !== null && (v = v & ~Ll), s[m] = s[m] | v, d;\n    },\n    get: function(h) {\n      if (o) {\n        var p = u[h];\n        if (p !== void 0)\n          return f ? o[p][a] : Ps(o[p], a).get();\n      }\n    },\n    rename: function(h, p) {\n      var v = u[h];\n      return v === void 0 || (s[v] = s[v] | g2, u[p] = v, delete u[h], o[v][n] = p), d;\n    },\n    remove: function(h) {\n      var p = u[h];\n      if (p === void 0) return d;\n      var v = o[p];\n      if (Object.keys(v).length > 2)\n        return s[p] = s[p] | Pd, d.set(h, null);\n      if (f) {\n        for (i = p; i < o.length; i++)\n          s[i] = s[i] | y2;\n        for (i = p; i < o.length; i++)\n          u[o[i][n]]--;\n        o.splice(p, 1), delete u[h];\n      } else\n        Ps(v, a).set(null), s[p] = s[p] | Pd | Ll;\n      return d;\n    },\n    constructUpdate: function() {\n      for (var h, p, v = {}, m = Object.keys(s), g = 0; g < m.length; g++)\n        p = m[g], h = r + \"[\" + p + \"]\", o[p] ? (s[p] & g2 && (v[h + \".\" + n] = o[p][n]), s[p] & Pd && (f ? v[h + \".\" + a] = s[p] & Ll ? null : o[p][a] : v[h + \".\" + a] = s[p] & Ll ? null : Ps(o[p], a).get())) : v[h] = null;\n      return v;\n    }\n  };\n  return d;\n}, kU = /^(.*)(\\.[^\\.\\[\\]]+|\\[\\d\\])$/, AU = /^[^\\.\\[\\]]+$/, MU = function(e, t) {\n  for (; t; ) {\n    var r = e.match(kU);\n    if (r) e = r[1];\n    else if (e.match(AU)) e = \"\";\n    else throw new Error(\"bad relativeAttr call:\" + [e, t]);\n    if (t.charAt(0) === \"^\") t = t.slice(1);\n    else break;\n  }\n  return e && t.charAt(0) !== \"[\" ? e + \".\" + t : e + t;\n}, SU = sr, U1 = function(t, r) {\n  if (t > 0) return Math.log(t) / Math.LN10;\n  var n = Math.log(Math.min(r[0], r[1])) / Math.LN10;\n  return SU(n) || (n = Math.log(Math.max(r[0], r[1])) / Math.LN10 - 6), n;\n}, b2 = an.isArrayOrTypedArray, _f = ms, CU = function e(t, r) {\n  for (var n in r) {\n    var a = r[n], i = t[n];\n    if (i !== a)\n      if (n.charAt(0) === \"_\" || typeof a == \"function\") {\n        if (n in t) continue;\n        t[n] = a;\n      } else if (b2(a) && b2(i) && _f(a[0])) {\n        if (n === \"customdata\" || n === \"ids\") continue;\n        for (var o = Math.min(a.length, i.length), l = 0; l < o; l++)\n          i[l] !== a[l] && _f(a[l]) && _f(i[l]) && e(i[l], a[l]);\n      } else _f(a) && _f(i) && (e(i, a), Object.keys(i).length || delete t[n]);\n  }\n};\nfunction LU(e, t) {\n  var r = e % t;\n  return r < 0 ? r + t : r;\n}\nfunction DU(e, t) {\n  return Math.abs(e) > t / 2 ? e - Math.round(e / t) * t : e;\n}\nvar Wc = {\n  mod: LU,\n  modHalf: DU\n}, GC = {}, VC = { exports: {} };\n(function(e, t) {\n  (function(r, n) {\n    e.exports = n();\n  })(Wl, function() {\n    function r(j) {\n      \"@babel/helpers - typeof\";\n      return r = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(U) {\n        return typeof U;\n      } : function(U) {\n        return U && typeof Symbol == \"function\" && U.constructor === Symbol && U !== Symbol.prototype ? \"symbol\" : typeof U;\n      }, r(j);\n    }\n    var n = /^\\s+/, a = /\\s+$/;\n    function i(j, U) {\n      if (j = j || \"\", U = U || {}, j instanceof i)\n        return j;\n      if (!(this instanceof i))\n        return new i(j, U);\n      var Z = o(j);\n      this._originalInput = j, this._r = Z.r, this._g = Z.g, this._b = Z.b, this._a = Z.a, this._roundA = Math.round(100 * this._a) / 100, this._format = U.format || Z.format, this._gradientType = U.gradientType, this._r < 1 && (this._r = Math.round(this._r)), this._g < 1 && (this._g = Math.round(this._g)), this._b < 1 && (this._b = Math.round(this._b)), this._ok = Z.ok;\n    }\n    i.prototype = {\n      isDark: function() {\n        return this.getBrightness() < 128;\n      },\n      isLight: function() {\n        return !this.isDark();\n      },\n      isValid: function() {\n        return this._ok;\n      },\n      getOriginalInput: function() {\n        return this._originalInput;\n      },\n      getFormat: function() {\n        return this._format;\n      },\n      getAlpha: function() {\n        return this._a;\n      },\n      getBrightness: function() {\n        var U = this.toRgb();\n        return (U.r * 299 + U.g * 587 + U.b * 114) / 1e3;\n      },\n      getLuminance: function() {\n        var U = this.toRgb(), Z, le, J, pe, ge, ve;\n        return Z = U.r / 255, le = U.g / 255, J = U.b / 255, Z <= 0.03928 ? pe = Z / 12.92 : pe = Math.pow((Z + 0.055) / 1.055, 2.4), le <= 0.03928 ? ge = le / 12.92 : ge = Math.pow((le + 0.055) / 1.055, 2.4), J <= 0.03928 ? ve = J / 12.92 : ve = Math.pow((J + 0.055) / 1.055, 2.4), 0.2126 * pe + 0.7152 * ge + 0.0722 * ve;\n      },\n      setAlpha: function(U) {\n        return this._a = G(U), this._roundA = Math.round(100 * this._a) / 100, this;\n      },\n      toHsv: function() {\n        var U = f(this._r, this._g, this._b);\n        return {\n          h: U.h * 360,\n          s: U.s,\n          v: U.v,\n          a: this._a\n        };\n      },\n      toHsvString: function() {\n        var U = f(this._r, this._g, this._b), Z = Math.round(U.h * 360), le = Math.round(U.s * 100), J = Math.round(U.v * 100);\n        return this._a == 1 ? \"hsv(\" + Z + \", \" + le + \"%, \" + J + \"%)\" : \"hsva(\" + Z + \", \" + le + \"%, \" + J + \"%, \" + this._roundA + \")\";\n      },\n      toHsl: function() {\n        var U = s(this._r, this._g, this._b);\n        return {\n          h: U.h * 360,\n          s: U.s,\n          l: U.l,\n          a: this._a\n        };\n      },\n      toHslString: function() {\n        var U = s(this._r, this._g, this._b), Z = Math.round(U.h * 360), le = Math.round(U.s * 100), J = Math.round(U.l * 100);\n        return this._a == 1 ? \"hsl(\" + Z + \", \" + le + \"%, \" + J + \"%)\" : \"hsla(\" + Z + \", \" + le + \"%, \" + J + \"%, \" + this._roundA + \")\";\n      },\n      toHex: function(U) {\n        return h(this._r, this._g, this._b, U);\n      },\n      toHexString: function(U) {\n        return \"#\" + this.toHex(U);\n      },\n      toHex8: function(U) {\n        return p(this._r, this._g, this._b, this._a, U);\n      },\n      toHex8String: function(U) {\n        return \"#\" + this.toHex8(U);\n      },\n      toRgb: function() {\n        return {\n          r: Math.round(this._r),\n          g: Math.round(this._g),\n          b: Math.round(this._b),\n          a: this._a\n        };\n      },\n      toRgbString: function() {\n        return this._a == 1 ? \"rgb(\" + Math.round(this._r) + \", \" + Math.round(this._g) + \", \" + Math.round(this._b) + \")\" : \"rgba(\" + Math.round(this._r) + \", \" + Math.round(this._g) + \", \" + Math.round(this._b) + \", \" + this._roundA + \")\";\n      },\n      toPercentageRgb: function() {\n        return {\n          r: Math.round(K(this._r, 255) * 100) + \"%\",\n          g: Math.round(K(this._g, 255) * 100) + \"%\",\n          b: Math.round(K(this._b, 255) * 100) + \"%\",\n          a: this._a\n        };\n      },\n      toPercentageRgbString: function() {\n        return this._a == 1 ? \"rgb(\" + Math.round(K(this._r, 255) * 100) + \"%, \" + Math.round(K(this._g, 255) * 100) + \"%, \" + Math.round(K(this._b, 255) * 100) + \"%)\" : \"rgba(\" + Math.round(K(this._r, 255) * 100) + \"%, \" + Math.round(K(this._g, 255) * 100) + \"%, \" + Math.round(K(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n      },\n      toName: function() {\n        return this._a === 0 ? \"transparent\" : this._a < 1 ? !1 : I[h(this._r, this._g, this._b, !0)] || !1;\n      },\n      toFilter: function(U) {\n        var Z = \"#\" + v(this._r, this._g, this._b, this._a), le = Z, J = this._gradientType ? \"GradientType = 1, \" : \"\";\n        if (U) {\n          var pe = i(U);\n          le = \"#\" + v(pe._r, pe._g, pe._b, pe._a);\n        }\n        return \"progid:DXImageTransform.Microsoft.gradient(\" + J + \"startColorstr=\" + Z + \",endColorstr=\" + le + \")\";\n      },\n      toString: function(U) {\n        var Z = !!U;\n        U = U || this._format;\n        var le = !1, J = this._a < 1 && this._a >= 0, pe = !Z && J && (U === \"hex\" || U === \"hex6\" || U === \"hex3\" || U === \"hex4\" || U === \"hex8\" || U === \"name\");\n        return pe ? U === \"name\" && this._a === 0 ? this.toName() : this.toRgbString() : (U === \"rgb\" && (le = this.toRgbString()), U === \"prgb\" && (le = this.toPercentageRgbString()), (U === \"hex\" || U === \"hex6\") && (le = this.toHexString()), U === \"hex3\" && (le = this.toHexString(!0)), U === \"hex4\" && (le = this.toHex8String(!0)), U === \"hex8\" && (le = this.toHex8String()), U === \"name\" && (le = this.toName()), U === \"hsl\" && (le = this.toHslString()), U === \"hsv\" && (le = this.toHsvString()), le || this.toHexString());\n      },\n      clone: function() {\n        return i(this.toString());\n      },\n      _applyModification: function(U, Z) {\n        var le = U.apply(null, [this].concat([].slice.call(Z)));\n        return this._r = le._r, this._g = le._g, this._b = le._b, this.setAlpha(le._a), this;\n      },\n      lighten: function() {\n        return this._applyModification(w, arguments);\n      },\n      brighten: function() {\n        return this._applyModification(k, arguments);\n      },\n      darken: function() {\n        return this._applyModification(x, arguments);\n      },\n      desaturate: function() {\n        return this._applyModification(m, arguments);\n      },\n      saturate: function() {\n        return this._applyModification(g, arguments);\n      },\n      greyscale: function() {\n        return this._applyModification(y, arguments);\n      },\n      spin: function() {\n        return this._applyModification(_, arguments);\n      },\n      _applyCombination: function(U, Z) {\n        return U.apply(null, [this].concat([].slice.call(Z)));\n      },\n      analogous: function() {\n        return this._applyCombination(L, arguments);\n      },\n      complement: function() {\n        return this._applyCombination(T, arguments);\n      },\n      monochromatic: function() {\n        return this._applyCombination(F, arguments);\n      },\n      splitcomplement: function() {\n        return this._applyCombination(M, arguments);\n      },\n      // Disabled until https://github.com/bgrins/TinyColor/issues/254\n      // polyad: function (number) {\n      //   return this._applyCombination(polyad, [number]);\n      // },\n      triad: function() {\n        return this._applyCombination(S, [3]);\n      },\n      tetrad: function() {\n        return this._applyCombination(S, [4]);\n      }\n    }, i.fromRatio = function(j, U) {\n      if (r(j) == \"object\") {\n        var Z = {};\n        for (var le in j)\n          j.hasOwnProperty(le) && (le === \"a\" ? Z[le] = j[le] : Z[le] = B(j[le]));\n        j = Z;\n      }\n      return i(j, U);\n    };\n    function o(j) {\n      var U = {\n        r: 0,\n        g: 0,\n        b: 0\n      }, Z = 1, le = null, J = null, pe = null, ge = !1, ve = !1;\n      return typeof j == \"string\" && (j = Q(j)), r(j) == \"object\" && (ae(j.r) && ae(j.g) && ae(j.b) ? (U = l(j.r, j.g, j.b), ge = !0, ve = String(j.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\") : ae(j.h) && ae(j.s) && ae(j.v) ? (le = B(j.s), J = B(j.v), U = d(j.h, le, J), ge = !0, ve = \"hsv\") : ae(j.h) && ae(j.s) && ae(j.l) && (le = B(j.s), pe = B(j.l), U = u(j.h, le, pe), ge = !0, ve = \"hsl\"), j.hasOwnProperty(\"a\") && (Z = j.a)), Z = G(Z), {\n        ok: ge,\n        format: j.format || ve,\n        r: Math.min(255, Math.max(U.r, 0)),\n        g: Math.min(255, Math.max(U.g, 0)),\n        b: Math.min(255, Math.max(U.b, 0)),\n        a: Z\n      };\n    }\n    function l(j, U, Z) {\n      return {\n        r: K(j, 255) * 255,\n        g: K(U, 255) * 255,\n        b: K(Z, 255) * 255\n      };\n    }\n    function s(j, U, Z) {\n      j = K(j, 255), U = K(U, 255), Z = K(Z, 255);\n      var le = Math.max(j, U, Z), J = Math.min(j, U, Z), pe, ge, ve = (le + J) / 2;\n      if (le == J)\n        pe = ge = 0;\n      else {\n        var me = le - J;\n        switch (ge = ve > 0.5 ? me / (2 - le - J) : me / (le + J), le) {\n          case j:\n            pe = (U - Z) / me + (U < Z ? 6 : 0);\n            break;\n          case U:\n            pe = (Z - j) / me + 2;\n            break;\n          case Z:\n            pe = (j - U) / me + 4;\n            break;\n        }\n        pe /= 6;\n      }\n      return {\n        h: pe,\n        s: ge,\n        l: ve\n      };\n    }\n    function u(j, U, Z) {\n      var le, J, pe;\n      j = K(j, 360), U = K(U, 100), Z = K(Z, 100);\n      function ge(Le, ze, Fe) {\n        return Fe < 0 && (Fe += 1), Fe > 1 && (Fe -= 1), Fe < 1 / 6 ? Le + (ze - Le) * 6 * Fe : Fe < 1 / 2 ? ze : Fe < 2 / 3 ? Le + (ze - Le) * (2 / 3 - Fe) * 6 : Le;\n      }\n      if (U === 0)\n        le = J = pe = Z;\n      else {\n        var ve = Z < 0.5 ? Z * (1 + U) : Z + U - Z * U, me = 2 * Z - ve;\n        le = ge(me, ve, j + 1 / 3), J = ge(me, ve, j), pe = ge(me, ve, j - 1 / 3);\n      }\n      return {\n        r: le * 255,\n        g: J * 255,\n        b: pe * 255\n      };\n    }\n    function f(j, U, Z) {\n      j = K(j, 255), U = K(U, 255), Z = K(Z, 255);\n      var le = Math.max(j, U, Z), J = Math.min(j, U, Z), pe, ge, ve = le, me = le - J;\n      if (ge = le === 0 ? 0 : me / le, le == J)\n        pe = 0;\n      else {\n        switch (le) {\n          case j:\n            pe = (U - Z) / me + (U < Z ? 6 : 0);\n            break;\n          case U:\n            pe = (Z - j) / me + 2;\n            break;\n          case Z:\n            pe = (j - U) / me + 4;\n            break;\n        }\n        pe /= 6;\n      }\n      return {\n        h: pe,\n        s: ge,\n        v: ve\n      };\n    }\n    function d(j, U, Z) {\n      j = K(j, 360) * 6, U = K(U, 100), Z = K(Z, 100);\n      var le = Math.floor(j), J = j - le, pe = Z * (1 - U), ge = Z * (1 - J * U), ve = Z * (1 - (1 - J) * U), me = le % 6, Le = [Z, ge, pe, pe, ve, Z][me], ze = [ve, Z, Z, ge, pe, pe][me], Fe = [pe, pe, ve, Z, Z, ge][me];\n      return {\n        r: Le * 255,\n        g: ze * 255,\n        b: Fe * 255\n      };\n    }\n    function h(j, U, Z, le) {\n      var J = [H(Math.round(j).toString(16)), H(Math.round(U).toString(16)), H(Math.round(Z).toString(16))];\n      return le && J[0].charAt(0) == J[0].charAt(1) && J[1].charAt(0) == J[1].charAt(1) && J[2].charAt(0) == J[2].charAt(1) ? J[0].charAt(0) + J[1].charAt(0) + J[2].charAt(0) : J.join(\"\");\n    }\n    function p(j, U, Z, le, J) {\n      var pe = [H(Math.round(j).toString(16)), H(Math.round(U).toString(16)), H(Math.round(Z).toString(16)), H(W(le))];\n      return J && pe[0].charAt(0) == pe[0].charAt(1) && pe[1].charAt(0) == pe[1].charAt(1) && pe[2].charAt(0) == pe[2].charAt(1) && pe[3].charAt(0) == pe[3].charAt(1) ? pe[0].charAt(0) + pe[1].charAt(0) + pe[2].charAt(0) + pe[3].charAt(0) : pe.join(\"\");\n    }\n    function v(j, U, Z, le) {\n      var J = [H(W(le)), H(Math.round(j).toString(16)), H(Math.round(U).toString(16)), H(Math.round(Z).toString(16))];\n      return J.join(\"\");\n    }\n    i.equals = function(j, U) {\n      return !j || !U ? !1 : i(j).toRgbString() == i(U).toRgbString();\n    }, i.random = function() {\n      return i.fromRatio({\n        r: Math.random(),\n        g: Math.random(),\n        b: Math.random()\n      });\n    };\n    function m(j, U) {\n      U = U === 0 ? 0 : U || 10;\n      var Z = i(j).toHsl();\n      return Z.s -= U / 100, Z.s = V(Z.s), i(Z);\n    }\n    function g(j, U) {\n      U = U === 0 ? 0 : U || 10;\n      var Z = i(j).toHsl();\n      return Z.s += U / 100, Z.s = V(Z.s), i(Z);\n    }\n    function y(j) {\n      return i(j).desaturate(100);\n    }\n    function w(j, U) {\n      U = U === 0 ? 0 : U || 10;\n      var Z = i(j).toHsl();\n      return Z.l += U / 100, Z.l = V(Z.l), i(Z);\n    }\n    function k(j, U) {\n      U = U === 0 ? 0 : U || 10;\n      var Z = i(j).toRgb();\n      return Z.r = Math.max(0, Math.min(255, Z.r - Math.round(255 * -(U / 100)))), Z.g = Math.max(0, Math.min(255, Z.g - Math.round(255 * -(U / 100)))), Z.b = Math.max(0, Math.min(255, Z.b - Math.round(255 * -(U / 100)))), i(Z);\n    }\n    function x(j, U) {\n      U = U === 0 ? 0 : U || 10;\n      var Z = i(j).toHsl();\n      return Z.l -= U / 100, Z.l = V(Z.l), i(Z);\n    }\n    function _(j, U) {\n      var Z = i(j).toHsl(), le = (Z.h + U) % 360;\n      return Z.h = le < 0 ? 360 + le : le, i(Z);\n    }\n    function T(j) {\n      var U = i(j).toHsl();\n      return U.h = (U.h + 180) % 360, i(U);\n    }\n    function S(j, U) {\n      if (isNaN(U) || U <= 0)\n        throw new Error(\"Argument to polyad must be a positive number\");\n      for (var Z = i(j).toHsl(), le = [i(j)], J = 360 / U, pe = 1; pe < U; pe++)\n        le.push(i({\n          h: (Z.h + pe * J) % 360,\n          s: Z.s,\n          l: Z.l\n        }));\n      return le;\n    }\n    function M(j) {\n      var U = i(j).toHsl(), Z = U.h;\n      return [i(j), i({\n        h: (Z + 72) % 360,\n        s: U.s,\n        l: U.l\n      }), i({\n        h: (Z + 216) % 360,\n        s: U.s,\n        l: U.l\n      })];\n    }\n    function L(j, U, Z) {\n      U = U || 6, Z = Z || 30;\n      var le = i(j).toHsl(), J = 360 / Z, pe = [i(j)];\n      for (le.h = (le.h - (J * U >> 1) + 720) % 360; --U; )\n        le.h = (le.h + J) % 360, pe.push(i(le));\n      return pe;\n    }\n    function F(j, U) {\n      U = U || 6;\n      for (var Z = i(j).toHsv(), le = Z.h, J = Z.s, pe = Z.v, ge = [], ve = 1 / U; U--; )\n        ge.push(i({\n          h: le,\n          s: J,\n          v: pe\n        })), pe = (pe + ve) % 1;\n      return ge;\n    }\n    i.mix = function(j, U, Z) {\n      Z = Z === 0 ? 0 : Z || 50;\n      var le = i(j).toRgb(), J = i(U).toRgb(), pe = Z / 100, ge = {\n        r: (J.r - le.r) * pe + le.r,\n        g: (J.g - le.g) * pe + le.g,\n        b: (J.b - le.b) * pe + le.b,\n        a: (J.a - le.a) * pe + le.a\n      };\n      return i(ge);\n    }, i.readability = function(j, U) {\n      var Z = i(j), le = i(U);\n      return (Math.max(Z.getLuminance(), le.getLuminance()) + 0.05) / (Math.min(Z.getLuminance(), le.getLuminance()) + 0.05);\n    }, i.isReadable = function(j, U, Z) {\n      var le = i.readability(j, U), J, pe;\n      switch (pe = !1, J = ue(Z), J.level + J.size) {\n        case \"AAsmall\":\n        case \"AAAlarge\":\n          pe = le >= 4.5;\n          break;\n        case \"AAlarge\":\n          pe = le >= 3;\n          break;\n        case \"AAAsmall\":\n          pe = le >= 7;\n          break;\n      }\n      return pe;\n    }, i.mostReadable = function(j, U, Z) {\n      var le = null, J = 0, pe, ge, ve, me;\n      Z = Z || {}, ge = Z.includeFallbackColors, ve = Z.level, me = Z.size;\n      for (var Le = 0; Le < U.length; Le++)\n        pe = i.readability(j, U[Le]), pe > J && (J = pe, le = i(U[Le]));\n      return i.isReadable(j, le, {\n        level: ve,\n        size: me\n      }) || !ge ? le : (Z.includeFallbackColors = !1, i.mostReadable(j, [\"#fff\", \"#000\"], Z));\n    };\n    var $ = i.names = {\n      aliceblue: \"f0f8ff\",\n      antiquewhite: \"faebd7\",\n      aqua: \"0ff\",\n      aquamarine: \"7fffd4\",\n      azure: \"f0ffff\",\n      beige: \"f5f5dc\",\n      bisque: \"ffe4c4\",\n      black: \"000\",\n      blanchedalmond: \"ffebcd\",\n      blue: \"00f\",\n      blueviolet: \"8a2be2\",\n      brown: \"a52a2a\",\n      burlywood: \"deb887\",\n      burntsienna: \"ea7e5d\",\n      cadetblue: \"5f9ea0\",\n      chartreuse: \"7fff00\",\n      chocolate: \"d2691e\",\n      coral: \"ff7f50\",\n      cornflowerblue: \"6495ed\",\n      cornsilk: \"fff8dc\",\n      crimson: \"dc143c\",\n      cyan: \"0ff\",\n      darkblue: \"00008b\",\n      darkcyan: \"008b8b\",\n      darkgoldenrod: \"b8860b\",\n      darkgray: \"a9a9a9\",\n      darkgreen: \"006400\",\n      darkgrey: \"a9a9a9\",\n      darkkhaki: \"bdb76b\",\n      darkmagenta: \"8b008b\",\n      darkolivegreen: \"556b2f\",\n      darkorange: \"ff8c00\",\n      darkorchid: \"9932cc\",\n      darkred: \"8b0000\",\n      darksalmon: \"e9967a\",\n      darkseagreen: \"8fbc8f\",\n      darkslateblue: \"483d8b\",\n      darkslategray: \"2f4f4f\",\n      darkslategrey: \"2f4f4f\",\n      darkturquoise: \"00ced1\",\n      darkviolet: \"9400d3\",\n      deeppink: \"ff1493\",\n      deepskyblue: \"00bfff\",\n      dimgray: \"696969\",\n      dimgrey: \"696969\",\n      dodgerblue: \"1e90ff\",\n      firebrick: \"b22222\",\n      floralwhite: \"fffaf0\",\n      forestgreen: \"228b22\",\n      fuchsia: \"f0f\",\n      gainsboro: \"dcdcdc\",\n      ghostwhite: \"f8f8ff\",\n      gold: \"ffd700\",\n      goldenrod: \"daa520\",\n      gray: \"808080\",\n      green: \"008000\",\n      greenyellow: \"adff2f\",\n      grey: \"808080\",\n      honeydew: \"f0fff0\",\n      hotpink: \"ff69b4\",\n      indianred: \"cd5c5c\",\n      indigo: \"4b0082\",\n      ivory: \"fffff0\",\n      khaki: \"f0e68c\",\n      lavender: \"e6e6fa\",\n      lavenderblush: \"fff0f5\",\n      lawngreen: \"7cfc00\",\n      lemonchiffon: \"fffacd\",\n      lightblue: \"add8e6\",\n      lightcoral: \"f08080\",\n      lightcyan: \"e0ffff\",\n      lightgoldenrodyellow: \"fafad2\",\n      lightgray: \"d3d3d3\",\n      lightgreen: \"90ee90\",\n      lightgrey: \"d3d3d3\",\n      lightpink: \"ffb6c1\",\n      lightsalmon: \"ffa07a\",\n      lightseagreen: \"20b2aa\",\n      lightskyblue: \"87cefa\",\n      lightslategray: \"789\",\n      lightslategrey: \"789\",\n      lightsteelblue: \"b0c4de\",\n      lightyellow: \"ffffe0\",\n      lime: \"0f0\",\n      limegreen: \"32cd32\",\n      linen: \"faf0e6\",\n      magenta: \"f0f\",\n      maroon: \"800000\",\n      mediumaquamarine: \"66cdaa\",\n      mediumblue: \"0000cd\",\n      mediumorchid: \"ba55d3\",\n      mediumpurple: \"9370db\",\n      mediumseagreen: \"3cb371\",\n      mediumslateblue: \"7b68ee\",\n      mediumspringgreen: \"00fa9a\",\n      mediumturquoise: \"48d1cc\",\n      mediumvioletred: \"c71585\",\n      midnightblue: \"191970\",\n      mintcream: \"f5fffa\",\n      mistyrose: \"ffe4e1\",\n      moccasin: \"ffe4b5\",\n      navajowhite: \"ffdead\",\n      navy: \"000080\",\n      oldlace: \"fdf5e6\",\n      olive: \"808000\",\n      olivedrab: \"6b8e23\",\n      orange: \"ffa500\",\n      orangered: \"ff4500\",\n      orchid: \"da70d6\",\n      palegoldenrod: \"eee8aa\",\n      palegreen: \"98fb98\",\n      paleturquoise: \"afeeee\",\n      palevioletred: \"db7093\",\n      papayawhip: \"ffefd5\",\n      peachpuff: \"ffdab9\",\n      peru: \"cd853f\",\n      pink: \"ffc0cb\",\n      plum: \"dda0dd\",\n      powderblue: \"b0e0e6\",\n      purple: \"800080\",\n      rebeccapurple: \"663399\",\n      red: \"f00\",\n      rosybrown: \"bc8f8f\",\n      royalblue: \"4169e1\",\n      saddlebrown: \"8b4513\",\n      salmon: \"fa8072\",\n      sandybrown: \"f4a460\",\n      seagreen: \"2e8b57\",\n      seashell: \"fff5ee\",\n      sienna: \"a0522d\",\n      silver: \"c0c0c0\",\n      skyblue: \"87ceeb\",\n      slateblue: \"6a5acd\",\n      slategray: \"708090\",\n      slategrey: \"708090\",\n      snow: \"fffafa\",\n      springgreen: \"00ff7f\",\n      steelblue: \"4682b4\",\n      tan: \"d2b48c\",\n      teal: \"008080\",\n      thistle: \"d8bfd8\",\n      tomato: \"ff6347\",\n      turquoise: \"40e0d0\",\n      violet: \"ee82ee\",\n      wheat: \"f5deb3\",\n      white: \"fff\",\n      whitesmoke: \"f5f5f5\",\n      yellow: \"ff0\",\n      yellowgreen: \"9acd32\"\n    }, I = i.hexNames = O($);\n    function O(j) {\n      var U = {};\n      for (var Z in j)\n        j.hasOwnProperty(Z) && (U[j[Z]] = Z);\n      return U;\n    }\n    function G(j) {\n      return j = parseFloat(j), (isNaN(j) || j < 0 || j > 1) && (j = 1), j;\n    }\n    function K(j, U) {\n      P(j) && (j = \"100%\");\n      var Z = R(j);\n      return j = Math.min(U, Math.max(0, parseFloat(j))), Z && (j = parseInt(j * U, 10) / 100), Math.abs(j - U) < 1e-6 ? 1 : j % U / parseFloat(U);\n    }\n    function V(j) {\n      return Math.min(1, Math.max(0, j));\n    }\n    function z(j) {\n      return parseInt(j, 16);\n    }\n    function P(j) {\n      return typeof j == \"string\" && j.indexOf(\".\") != -1 && parseFloat(j) === 1;\n    }\n    function R(j) {\n      return typeof j == \"string\" && j.indexOf(\"%\") != -1;\n    }\n    function H(j) {\n      return j.length == 1 ? \"0\" + j : \"\" + j;\n    }\n    function B(j) {\n      return j <= 1 && (j = j * 100 + \"%\"), j;\n    }\n    function W(j) {\n      return Math.round(parseFloat(j) * 255).toString(16);\n    }\n    function ee(j) {\n      return z(j) / 255;\n    }\n    var re = function() {\n      var j = \"[-\\\\+]?\\\\d+%?\", U = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\", Z = \"(?:\" + U + \")|(?:\" + j + \")\", le = \"[\\\\s|\\\\(]+(\" + Z + \")[,|\\\\s]+(\" + Z + \")[,|\\\\s]+(\" + Z + \")\\\\s*\\\\)?\", J = \"[\\\\s|\\\\(]+(\" + Z + \")[,|\\\\s]+(\" + Z + \")[,|\\\\s]+(\" + Z + \")[,|\\\\s]+(\" + Z + \")\\\\s*\\\\)?\";\n      return {\n        CSS_UNIT: new RegExp(Z),\n        rgb: new RegExp(\"rgb\" + le),\n        rgba: new RegExp(\"rgba\" + J),\n        hsl: new RegExp(\"hsl\" + le),\n        hsla: new RegExp(\"hsla\" + J),\n        hsv: new RegExp(\"hsv\" + le),\n        hsva: new RegExp(\"hsva\" + J),\n        hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n        hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n        hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n        hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n      };\n    }();\n    function ae(j) {\n      return !!re.CSS_UNIT.exec(j);\n    }\n    function Q(j) {\n      j = j.replace(n, \"\").replace(a, \"\").toLowerCase();\n      var U = !1;\n      if ($[j])\n        j = $[j], U = !0;\n      else if (j == \"transparent\")\n        return {\n          r: 0,\n          g: 0,\n          b: 0,\n          a: 0,\n          format: \"name\"\n        };\n      var Z;\n      return (Z = re.rgb.exec(j)) ? {\n        r: Z[1],\n        g: Z[2],\n        b: Z[3]\n      } : (Z = re.rgba.exec(j)) ? {\n        r: Z[1],\n        g: Z[2],\n        b: Z[3],\n        a: Z[4]\n      } : (Z = re.hsl.exec(j)) ? {\n        h: Z[1],\n        s: Z[2],\n        l: Z[3]\n      } : (Z = re.hsla.exec(j)) ? {\n        h: Z[1],\n        s: Z[2],\n        l: Z[3],\n        a: Z[4]\n      } : (Z = re.hsv.exec(j)) ? {\n        h: Z[1],\n        s: Z[2],\n        v: Z[3]\n      } : (Z = re.hsva.exec(j)) ? {\n        h: Z[1],\n        s: Z[2],\n        v: Z[3],\n        a: Z[4]\n      } : (Z = re.hex8.exec(j)) ? {\n        r: z(Z[1]),\n        g: z(Z[2]),\n        b: z(Z[3]),\n        a: ee(Z[4]),\n        format: U ? \"name\" : \"hex8\"\n      } : (Z = re.hex6.exec(j)) ? {\n        r: z(Z[1]),\n        g: z(Z[2]),\n        b: z(Z[3]),\n        format: U ? \"name\" : \"hex\"\n      } : (Z = re.hex4.exec(j)) ? {\n        r: z(Z[1] + \"\" + Z[1]),\n        g: z(Z[2] + \"\" + Z[2]),\n        b: z(Z[3] + \"\" + Z[3]),\n        a: ee(Z[4] + \"\" + Z[4]),\n        format: U ? \"name\" : \"hex8\"\n      } : (Z = re.hex3.exec(j)) ? {\n        r: z(Z[1] + \"\" + Z[1]),\n        g: z(Z[2] + \"\" + Z[2]),\n        b: z(Z[3] + \"\" + Z[3]),\n        format: U ? \"name\" : \"hex\"\n      } : !1;\n    }\n    function ue(j) {\n      var U, Z;\n      return j = j || {\n        level: \"AA\",\n        size: \"small\"\n      }, U = (j.level || \"AA\").toUpperCase(), Z = (j.size || \"small\").toLowerCase(), U !== \"AA\" && U !== \"AAA\" && (U = \"AA\"), Z !== \"small\" && Z !== \"large\" && (Z = \"small\"), {\n        level: U,\n        size: Z\n      };\n    }\n    return i;\n  });\n})(VC);\nvar bi = VC.exports, Fn = function(e) {\n  var t = e.editType, r = e.colorEditType;\n  r === void 0 && (r = t);\n  var n = {\n    family: {\n      valType: \"string\",\n      noBlank: !0,\n      strict: !0,\n      editType: t,\n      description: [\n        \"HTML font family - the typeface that will be applied by the web browser.\",\n        \"The web browser will only be able to apply a font if it is available on the system\",\n        \"which it operates. Provide multiple font families, separated by commas, to indicate\",\n        \"the preference in which to apply fonts if they aren't available on the system.\",\n        \"The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server,\",\n        \"where only a select number of\",\n        \"fonts are installed and supported.\",\n        \"These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*,\",\n        \"*Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*,\",\n        \"*PT Sans Narrow*, *Raleway*, *Times New Roman*.\"\n      ].join(\" \")\n    },\n    size: {\n      valType: \"number\",\n      min: 1,\n      editType: t\n    },\n    color: {\n      valType: \"color\",\n      editType: r\n    },\n    editType: t,\n    // blank strings so compress_attributes can remove\n    // TODO - that's uber hacky... better solution?\n    description: \"\" + (e.description || \"\")\n  };\n  return e.autoSize && (n.size.dflt = \"auto\"), e.autoColor && (n.color.dflt = \"auto\"), e.arrayOk && (n.family.arrayOk = !0, n.size.arrayOk = !0, n.color.arrayOk = !0), n;\n}, sp = {\n  // hover labels for multiple horizontal bars get tilted by this angle\n  YANGLE: 60,\n  // size and display constants for hover text\n  // pixel size of hover arrows\n  HOVERARROWSIZE: 6,\n  // pixels padding around text\n  HOVERTEXTPAD: 3,\n  // hover font\n  HOVERFONTSIZE: 13,\n  HOVERFONT: \"Arial, sans-serif\",\n  // minimum time (msec) between hover calls\n  HOVERMINTIME: 50,\n  // ID suffix (with fullLayout._uid) for hover events in the throttle cache\n  HOVERID: \"-hover\"\n}, qC = sp, WC = Fn, G1 = WC({\n  editType: \"none\",\n  description: \"Sets the default hover label font used by all traces on the graph.\"\n});\nG1.family.dflt = qC.HOVERFONT;\nG1.size.dflt = qC.HOVERFONTSIZE;\nvar Zc = {\n  clickmode: {\n    valType: \"flaglist\",\n    flags: [\"event\", \"select\"],\n    dflt: \"event\",\n    editType: \"plot\",\n    extras: [\"none\"],\n    description: [\n      \"Determines the mode of single click interactions.\",\n      \"*event* is the default value and emits the `plotly_click`\",\n      \"event. In addition this mode emits the `plotly_selected` event\",\n      \"in drag modes *lasso* and *select*, but with no event data attached\",\n      \"(kept for compatibility reasons).\",\n      \"The *select* flag enables selecting single\",\n      \"data points via click. This mode also supports persistent selections,\",\n      \"meaning that pressing Shift while clicking, adds to / subtracts from an\",\n      \"existing selection. *select* with `hovermode`: *x* can be confusing, consider\",\n      \"explicitly setting `hovermode`: *closest* when using this feature.\",\n      \"Selection events are sent accordingly as long as *event* flag is set as well.\",\n      \"When the *event* flag is missing, `plotly_click` and `plotly_selected`\",\n      \"events are not fired.\"\n    ].join(\" \")\n  },\n  dragmode: {\n    valType: \"enumerated\",\n    values: [\n      \"zoom\",\n      \"pan\",\n      \"select\",\n      \"lasso\",\n      \"drawclosedpath\",\n      \"drawopenpath\",\n      \"drawline\",\n      \"drawrect\",\n      \"drawcircle\",\n      \"orbit\",\n      \"turntable\",\n      !1\n    ],\n    dflt: \"zoom\",\n    editType: \"modebar\",\n    description: [\n      \"Determines the mode of drag interactions.\",\n      \"*select* and *lasso* apply only to scatter traces with\",\n      \"markers or text. *orbit* and *turntable* apply only to\",\n      \"3D scenes.\"\n    ].join(\" \")\n  },\n  hovermode: {\n    valType: \"enumerated\",\n    values: [\"x\", \"y\", \"closest\", !1, \"x unified\", \"y unified\"],\n    dflt: \"closest\",\n    editType: \"modebar\",\n    description: [\n      \"Determines the mode of hover interactions.\",\n      \"If *closest*, a single hoverlabel will appear\",\n      \"for the *closest* point within the `hoverdistance`.\",\n      \"If *x* (or *y*), multiple hoverlabels will appear for multiple points\",\n      \"at the *closest* x- (or y-) coordinate within the `hoverdistance`,\",\n      \"with the caveat that no more than one hoverlabel will appear per trace.\",\n      \"If *x unified* (or *y unified*), a single hoverlabel will appear\",\n      \"multiple points at the closest x- (or y-) coordinate within the `hoverdistance`\",\n      \"with the caveat that no more than one hoverlabel will appear per trace.\",\n      \"In this mode, spikelines are enabled by default perpendicular to the specified axis.\",\n      \"If false, hover interactions are disabled.\"\n    ].join(\" \")\n  },\n  hoverdistance: {\n    valType: \"integer\",\n    min: -1,\n    dflt: 20,\n    editType: \"none\",\n    description: [\n      \"Sets the default distance (in pixels) to look for data\",\n      \"to add hover labels (-1 means no cutoff, 0 means no looking for data).\",\n      \"This is only a real distance for hovering on point-like objects,\",\n      \"like scatter points. For area-like objects (bars, scatter fills, etc)\",\n      \"hovering is on inside the area and off outside, but these objects\",\n      \"will not supersede hover on point-like objects in case of conflict.\"\n    ].join(\" \")\n  },\n  spikedistance: {\n    valType: \"integer\",\n    min: -1,\n    dflt: -1,\n    editType: \"none\",\n    description: [\n      \"Sets the default distance (in pixels) to look for data to draw\",\n      \"spikelines to (-1 means no cutoff, 0 means no looking for data).\",\n      \"As with hoverdistance, distance does not apply to area-like objects.\",\n      \"In addition, some objects can be hovered on but will not generate\",\n      \"spikelines, such as scatter fills.\"\n    ].join(\" \")\n  },\n  hoverlabel: {\n    bgcolor: {\n      valType: \"color\",\n      editType: \"none\",\n      description: [\n        \"Sets the background color of all hover labels on graph\"\n      ].join(\" \")\n    },\n    bordercolor: {\n      valType: \"color\",\n      editType: \"none\",\n      description: [\n        \"Sets the border color of all hover labels on graph.\"\n      ].join(\" \")\n    },\n    font: G1,\n    grouptitlefont: WC({\n      editType: \"none\",\n      description: [\n        \"Sets the font for group titles in hover (unified modes).\",\n        \"Defaults to `hoverlabel.font`.\"\n      ].join(\" \")\n    }),\n    align: {\n      valType: \"enumerated\",\n      values: [\"left\", \"right\", \"auto\"],\n      dflt: \"auto\",\n      editType: \"none\",\n      description: [\n        \"Sets the horizontal alignment of the text content within hover label box.\",\n        \"Has an effect only if the hover label text spans more two or more lines\"\n      ].join(\" \")\n    },\n    namelength: {\n      valType: \"integer\",\n      min: -1,\n      dflt: 15,\n      editType: \"none\",\n      description: [\n        \"Sets the default length (in number of characters) of the trace name in\",\n        \"the hover labels for all traces. -1 shows the whole name\",\n        \"regardless of length. 0-3 shows the first 0-3 characters, and\",\n        \"an integer >3 will show the whole name if it is less than that\",\n        \"many characters, but if it is longer, will truncate to\",\n        \"`namelength - 3` characters and add an ellipsis.\"\n      ].join(\" \")\n    },\n    editType: \"none\"\n  },\n  selectdirection: {\n    valType: \"enumerated\",\n    values: [\"h\", \"v\", \"d\", \"any\"],\n    dflt: \"any\",\n    description: [\n      \"When `dragmode` is set to *select*, this limits the selection of the drag to\",\n      \"horizontal, vertical or diagonal. *h* only allows horizontal selection,\",\n      \"*v* only vertical, *d* only diagonal and *any* sets no limit.\"\n    ].join(\" \"),\n    editType: \"none\"\n  }\n}, en = {}, _2 = ms, xf = Array.isArray;\nfunction EU(e, t) {\n  var r, n;\n  for (r = 0; r < e.length; r++) {\n    if (n = e[r], n !== null && typeof n == \"object\")\n      return !1;\n    n !== void 0 && (t[r] = n);\n  }\n  return !0;\n}\nen.extendFlat = function() {\n  return Yc(arguments, !1, !1, !1);\n};\nen.extendDeep = function() {\n  return Yc(arguments, !0, !1, !1);\n};\nen.extendDeepAll = function() {\n  return Yc(arguments, !0, !0, !1);\n};\nen.extendDeepNoArrays = function() {\n  return Yc(arguments, !0, !1, !0);\n};\nfunction Yc(e, t, r, n) {\n  var a = e[0], i = e.length, o, l, s, u, f, d, h;\n  if (i === 2 && xf(a) && xf(e[1]) && a.length === 0) {\n    if (h = EU(e[1], a), h)\n      return a;\n    a.splice(0, a.length);\n  }\n  for (var p = 1; p < i; p++) {\n    o = e[p];\n    for (l in o)\n      s = a[l], u = o[l], n && xf(u) ? a[l] = u : t && u && (_2(u) || (f = xf(u))) ? (f ? (f = !1, d = s && xf(s) ? s : []) : d = s && _2(s) ? s : {}, a[l] = Yc([d, u], t, r, n)) : (typeof u < \"u\" || r) && (a[l] = u);\n  }\n  return a;\n}\nvar FU = Fn, $d = Zc.hoverlabel, zd = en.extendFlat, V1 = {\n  hoverlabel: {\n    bgcolor: zd({}, $d.bgcolor, {\n      arrayOk: !0,\n      description: \"Sets the background color of the hover labels for this trace\"\n    }),\n    bordercolor: zd({}, $d.bordercolor, {\n      arrayOk: !0,\n      description: \"Sets the border color of the hover labels for this trace.\"\n    }),\n    font: FU({\n      arrayOk: !0,\n      editType: \"none\",\n      description: \"Sets the font used in hover labels.\"\n    }),\n    align: zd({}, $d.align, { arrayOk: !0 }),\n    namelength: zd({}, $d.namelength, { arrayOk: !0 }),\n    editType: \"none\"\n  }\n}, RU = Fn, PU = V1, Wi = {\n  type: {\n    valType: \"enumerated\",\n    values: [],\n    // listed dynamically\n    dflt: \"scatter\",\n    editType: \"calc+clearAxisTypes\",\n    _noTemplating: !0\n    // we handle this at a higher level\n  },\n  visible: {\n    valType: \"enumerated\",\n    values: [!0, !1, \"legendonly\"],\n    dflt: !0,\n    editType: \"calc\",\n    description: [\n      \"Determines whether or not this trace is visible.\",\n      \"If *legendonly*, the trace is not drawn,\",\n      \"but can appear as a legend item\",\n      \"(provided that the legend itself is visible).\"\n    ].join(\" \")\n  },\n  showlegend: {\n    valType: \"boolean\",\n    dflt: !0,\n    editType: \"style\",\n    description: [\n      \"Determines whether or not an item corresponding to this\",\n      \"trace is shown in the legend.\"\n    ].join(\" \")\n  },\n  legend: {\n    valType: \"subplotid\",\n    dflt: \"legend\",\n    editType: \"style\",\n    description: [\n      \"Sets the reference to a legend to show this trace in.\",\n      \"References to these legends are *legend*, *legend2*, *legend3*, etc.\",\n      \"Settings for these legends are set in the layout, under\",\n      \"`layout.legend`, `layout.legend2`, etc.\"\n    ].join(\" \")\n  },\n  legendgroup: {\n    valType: \"string\",\n    dflt: \"\",\n    editType: \"style\",\n    description: [\n      \"Sets the legend group for this trace.\",\n      \"Traces and shapes part of the same legend group hide/show at the same time\",\n      \"when toggling legend items.\"\n    ].join(\" \")\n  },\n  legendgrouptitle: {\n    text: {\n      valType: \"string\",\n      dflt: \"\",\n      editType: \"style\",\n      description: [\n        \"Sets the title of the legend group.\"\n      ].join(\" \")\n    },\n    font: RU({\n      editType: \"style\",\n      description: [\n        \"Sets this legend group's title font.\"\n      ].join(\" \")\n    }),\n    editType: \"style\"\n  },\n  legendrank: {\n    valType: \"number\",\n    dflt: 1e3,\n    editType: \"style\",\n    description: [\n      \"Sets the legend rank for this trace.\",\n      \"Items and groups with smaller ranks are presented on top/left side while\",\n      \"with *reversed* `legend.traceorder` they are on bottom/right side.\",\n      \"The default legendrank is 1000,\",\n      \"so that you can use ranks less than 1000 to place certain items before all unranked items,\",\n      \"and ranks greater than 1000 to go after all unranked items.\",\n      \"When having unranked or equal rank items shapes would be displayed after traces\",\n      \"i.e. according to their order in data and layout.\"\n    ].join(\" \")\n  },\n  legendwidth: {\n    valType: \"number\",\n    min: 0,\n    editType: \"style\",\n    description: \"Sets the width (in px or fraction) of the legend for this trace.\"\n  },\n  opacity: {\n    valType: \"number\",\n    min: 0,\n    max: 1,\n    dflt: 1,\n    editType: \"style\",\n    description: \"Sets the opacity of the trace.\"\n  },\n  name: {\n    valType: \"string\",\n    editType: \"style\",\n    description: [\n      \"Sets the trace name.\",\n      \"The trace name appears as the legend item and on hover.\"\n    ].join(\" \")\n  },\n  uid: {\n    valType: \"string\",\n    editType: \"plot\",\n    anim: !0,\n    description: [\n      \"Assign an id to this trace,\",\n      \"Use this to provide object constancy between traces during animations\",\n      \"and transitions.\"\n    ].join(\" \")\n  },\n  ids: {\n    valType: \"data_array\",\n    editType: \"calc\",\n    anim: !0,\n    description: [\n      \"Assigns id labels to each datum.\",\n      \"These ids for object constancy of data points during animation.\",\n      \"Should be an array of strings, not numbers or any other type.\"\n    ].join(\" \")\n  },\n  customdata: {\n    valType: \"data_array\",\n    editType: \"calc\",\n    description: [\n      \"Assigns extra data each datum.\",\n      \"This may be useful when listening to hover, click and selection events.\",\n      \"Note that, *scatter* traces also appends customdata items in the markers\",\n      \"DOM elements\"\n    ].join(\" \")\n  },\n  meta: {\n    valType: \"any\",\n    arrayOk: !0,\n    editType: \"plot\",\n    description: [\n      \"Assigns extra meta information associated with this trace\",\n      \"that can be used in various text attributes.\",\n      \"Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text`\",\n      \"`rangeselector`, `updatemenues` and `sliders` `label` text\",\n      \"all support `meta`.\",\n      \"To access the trace `meta` values in an attribute in the same trace, simply use\",\n      \"`%{meta[i]}` where `i` is the index or key of the `meta`\",\n      \"item in question.\",\n      \"To access trace `meta` in layout attributes, use\",\n      \"`%{data[n[.meta[i]}` where `i` is the index or key of the `meta`\",\n      \"and `n` is the trace index.\"\n    ].join(\" \")\n  },\n  // N.B. these cannot be 'data_array' as they do not have the same length as\n  // other data arrays and arrayOk attributes in general\n  //\n  // Maybe add another valType:\n  // https://github.com/plotly/plotly.js/issues/1894\n  selectedpoints: {\n    valType: \"any\",\n    editType: \"calc\",\n    description: [\n      \"Array containing integer indices of selected points.\",\n      \"Has an effect only for traces that support selections.\",\n      \"Note that an empty array means an empty selection where the `unselected`\",\n      \"are turned on for all points, whereas, any other non-array values means no\",\n      \"selection all where the `selected` and `unselected` styles have no effect.\"\n    ].join(\" \")\n  },\n  hoverinfo: {\n    valType: \"flaglist\",\n    flags: [\"x\", \"y\", \"z\", \"text\", \"name\"],\n    extras: [\"all\", \"none\", \"skip\"],\n    arrayOk: !0,\n    dflt: \"all\",\n    editType: \"none\",\n    description: [\n      \"Determines which trace information appear on hover.\",\n      \"If `none` or `skip` are set, no information is displayed upon hovering.\",\n      \"But, if `none` is set, click and hover events are still fired.\"\n    ].join(\" \")\n  },\n  hoverlabel: PU.hoverlabel,\n  stream: {\n    token: {\n      valType: \"string\",\n      noBlank: !0,\n      strict: !0,\n      editType: \"calc\",\n      description: [\n        \"The stream id number links a data trace on a plot with a stream.\",\n        \"See https://chart-studio.plotly.com/settings for more details.\"\n      ].join(\" \")\n    },\n    maxpoints: {\n      valType: \"number\",\n      min: 0,\n      max: 1e4,\n      dflt: 500,\n      editType: \"calc\",\n      description: [\n        \"Sets the maximum number of points to keep on the plots from an\",\n        \"incoming stream.\",\n        \"If `maxpoints` is set to *50*, only the newest 50 points will\",\n        \"be displayed on the plot.\"\n      ].join(\" \")\n    },\n    editType: \"calc\"\n  },\n  transforms: {\n    _isLinkedToArray: \"transform\",\n    editType: \"calc\",\n    description: [\n      \"WARNING: All transforms are deprecated and may be removed from the API in next major version.\",\n      \"An array of operations that manipulate the trace data,\",\n      \"for example filtering or sorting the data arrays.\"\n    ].join(\" \")\n  },\n  uirevision: {\n    valType: \"any\",\n    editType: \"none\",\n    description: [\n      \"Controls persistence of some user-driven changes to the trace:\",\n      \"`constraintrange` in `parcoords` traces, as well as some\",\n      \"`editable: true` modifications such as `name` and `colorbar.title`.\",\n      \"Defaults to `layout.uirevision`.\",\n      \"Note that other user-driven trace attribute changes are controlled\",\n      \"by `layout` attributes:\",\n      \"`trace.visible` is controlled by `layout.legend.uirevision`,\",\n      \"`selectedpoints` is controlled by `layout.selectionrevision`,\",\n      \"and `colorbar.(x|y)` (accessible with `config: {editable: true}`)\",\n      \"is controlled by `layout.editrevision`.\",\n      \"Trace changes are tracked by `uid`, which only falls back on trace\",\n      \"index if no `uid` is provided. So if your app can add/remove traces\",\n      \"before the end of the `data` array, such that the same trace has a\",\n      \"different index, you can still preserve user-driven changes if you\",\n      \"give each trace a `uid` that stays with it as it moves.\"\n    ].join(\" \")\n  }\n}, $U = bi, up = {\n  Greys: [\n    [0, \"rgb(0,0,0)\"],\n    [1, \"rgb(255,255,255)\"]\n  ],\n  YlGnBu: [\n    [0, \"rgb(8,29,88)\"],\n    [0.125, \"rgb(37,52,148)\"],\n    [0.25, \"rgb(34,94,168)\"],\n    [0.375, \"rgb(29,145,192)\"],\n    [0.5, \"rgb(65,182,196)\"],\n    [0.625, \"rgb(127,205,187)\"],\n    [0.75, \"rgb(199,233,180)\"],\n    [0.875, \"rgb(237,248,217)\"],\n    [1, \"rgb(255,255,217)\"]\n  ],\n  Greens: [\n    [0, \"rgb(0,68,27)\"],\n    [0.125, \"rgb(0,109,44)\"],\n    [0.25, \"rgb(35,139,69)\"],\n    [0.375, \"rgb(65,171,93)\"],\n    [0.5, \"rgb(116,196,118)\"],\n    [0.625, \"rgb(161,217,155)\"],\n    [0.75, \"rgb(199,233,192)\"],\n    [0.875, \"rgb(229,245,224)\"],\n    [1, \"rgb(247,252,245)\"]\n  ],\n  YlOrRd: [\n    [0, \"rgb(128,0,38)\"],\n    [0.125, \"rgb(189,0,38)\"],\n    [0.25, \"rgb(227,26,28)\"],\n    [0.375, \"rgb(252,78,42)\"],\n    [0.5, \"rgb(253,141,60)\"],\n    [0.625, \"rgb(254,178,76)\"],\n    [0.75, \"rgb(254,217,118)\"],\n    [0.875, \"rgb(255,237,160)\"],\n    [1, \"rgb(255,255,204)\"]\n  ],\n  Bluered: [\n    [0, \"rgb(0,0,255)\"],\n    [1, \"rgb(255,0,0)\"]\n  ],\n  // modified RdBu based on\n  // http://www.kennethmoreland.com/color-maps/\n  RdBu: [\n    [0, \"rgb(5,10,172)\"],\n    [0.35, \"rgb(106,137,247)\"],\n    [0.5, \"rgb(190,190,190)\"],\n    [0.6, \"rgb(220,170,132)\"],\n    [0.7, \"rgb(230,145,90)\"],\n    [1, \"rgb(178,10,28)\"]\n  ],\n  // Scale for non-negative numeric values\n  Reds: [\n    [0, \"rgb(220,220,220)\"],\n    [0.2, \"rgb(245,195,157)\"],\n    [0.4, \"rgb(245,160,105)\"],\n    [1, \"rgb(178,10,28)\"]\n  ],\n  // Scale for non-positive numeric values\n  Blues: [\n    [0, \"rgb(5,10,172)\"],\n    [0.35, \"rgb(40,60,190)\"],\n    [0.5, \"rgb(70,100,245)\"],\n    [0.6, \"rgb(90,120,245)\"],\n    [0.7, \"rgb(106,137,247)\"],\n    [1, \"rgb(220,220,220)\"]\n  ],\n  Picnic: [\n    [0, \"rgb(0,0,255)\"],\n    [0.1, \"rgb(51,153,255)\"],\n    [0.2, \"rgb(102,204,255)\"],\n    [0.3, \"rgb(153,204,255)\"],\n    [0.4, \"rgb(204,204,255)\"],\n    [0.5, \"rgb(255,255,255)\"],\n    [0.6, \"rgb(255,204,255)\"],\n    [0.7, \"rgb(255,153,255)\"],\n    [0.8, \"rgb(255,102,204)\"],\n    [0.9, \"rgb(255,102,102)\"],\n    [1, \"rgb(255,0,0)\"]\n  ],\n  Rainbow: [\n    [0, \"rgb(150,0,90)\"],\n    [0.125, \"rgb(0,0,200)\"],\n    [0.25, \"rgb(0,25,255)\"],\n    [0.375, \"rgb(0,152,255)\"],\n    [0.5, \"rgb(44,255,150)\"],\n    [0.625, \"rgb(151,255,0)\"],\n    [0.75, \"rgb(255,234,0)\"],\n    [0.875, \"rgb(255,111,0)\"],\n    [1, \"rgb(255,0,0)\"]\n  ],\n  Portland: [\n    [0, \"rgb(12,51,131)\"],\n    [0.25, \"rgb(10,136,186)\"],\n    [0.5, \"rgb(242,211,56)\"],\n    [0.75, \"rgb(242,143,56)\"],\n    [1, \"rgb(217,30,30)\"]\n  ],\n  Jet: [\n    [0, \"rgb(0,0,131)\"],\n    [0.125, \"rgb(0,60,170)\"],\n    [0.375, \"rgb(5,255,255)\"],\n    [0.625, \"rgb(255,255,0)\"],\n    [0.875, \"rgb(250,0,0)\"],\n    [1, \"rgb(128,0,0)\"]\n  ],\n  Hot: [\n    [0, \"rgb(0,0,0)\"],\n    [0.3, \"rgb(230,0,0)\"],\n    [0.6, \"rgb(255,210,0)\"],\n    [1, \"rgb(255,255,255)\"]\n  ],\n  Blackbody: [\n    [0, \"rgb(0,0,0)\"],\n    [0.2, \"rgb(230,0,0)\"],\n    [0.4, \"rgb(230,210,0)\"],\n    [0.7, \"rgb(255,255,255)\"],\n    [1, \"rgb(160,200,255)\"]\n  ],\n  Earth: [\n    [0, \"rgb(0,0,130)\"],\n    [0.1, \"rgb(0,180,180)\"],\n    [0.2, \"rgb(40,210,40)\"],\n    [0.4, \"rgb(230,230,50)\"],\n    [0.6, \"rgb(120,70,20)\"],\n    [1, \"rgb(255,255,255)\"]\n  ],\n  Electric: [\n    [0, \"rgb(0,0,0)\"],\n    [0.15, \"rgb(30,0,100)\"],\n    [0.4, \"rgb(120,0,100)\"],\n    [0.6, \"rgb(160,90,0)\"],\n    [0.8, \"rgb(230,200,0)\"],\n    [1, \"rgb(255,250,220)\"]\n  ],\n  Viridis: [\n    [0, \"#440154\"],\n    [0.06274509803921569, \"#48186a\"],\n    [0.12549019607843137, \"#472d7b\"],\n    [0.18823529411764706, \"#424086\"],\n    [0.25098039215686274, \"#3b528b\"],\n    [0.3137254901960784, \"#33638d\"],\n    [0.3764705882352941, \"#2c728e\"],\n    [0.4392156862745098, \"#26828e\"],\n    [0.5019607843137255, \"#21918c\"],\n    [0.5647058823529412, \"#1fa088\"],\n    [0.6274509803921569, \"#28ae80\"],\n    [0.6901960784313725, \"#3fbc73\"],\n    [0.7529411764705882, \"#5ec962\"],\n    [0.8156862745098039, \"#84d44b\"],\n    [0.8784313725490196, \"#addc30\"],\n    [0.9411764705882353, \"#d8e219\"],\n    [1, \"#fde725\"]\n  ],\n  Cividis: [\n    [0, \"rgb(0,32,76)\"],\n    [0.058824, \"rgb(0,42,102)\"],\n    [0.117647, \"rgb(0,52,110)\"],\n    [0.176471, \"rgb(39,63,108)\"],\n    [0.235294, \"rgb(60,74,107)\"],\n    [0.294118, \"rgb(76,85,107)\"],\n    [0.352941, \"rgb(91,95,109)\"],\n    [0.411765, \"rgb(104,106,112)\"],\n    [0.470588, \"rgb(117,117,117)\"],\n    [0.529412, \"rgb(131,129,120)\"],\n    [0.588235, \"rgb(146,140,120)\"],\n    [0.647059, \"rgb(161,152,118)\"],\n    [0.705882, \"rgb(176,165,114)\"],\n    [0.764706, \"rgb(192,177,109)\"],\n    [0.823529, \"rgb(209,191,102)\"],\n    [0.882353, \"rgb(225,204,92)\"],\n    [0.941176, \"rgb(243,219,79)\"],\n    [1, \"rgb(255,233,69)\"]\n  ]\n}, ZC = up.RdBu;\nfunction zU(e, t) {\n  if (t || (t = ZC), !e) return t;\n  function r() {\n    try {\n      e = up[e] || JSON.parse(e);\n    } catch {\n      e = t;\n    }\n  }\n  return typeof e == \"string\" && (r(), typeof e == \"string\" && r()), YC(e) ? e : t;\n}\nfunction YC(e) {\n  var t = 0;\n  if (!Array.isArray(e) || e.length < 2 || !e[0] || !e[e.length - 1] || +e[0][0] != 0 || +e[e.length - 1][0] != 1) return !1;\n  for (var r = 0; r < e.length; r++) {\n    var n = e[r];\n    if (n.length !== 2 || +n[0] < t || !$U(n[1]).isValid())\n      return !1;\n    t = +n[0];\n  }\n  return !0;\n}\nfunction IU(e) {\n  return up[e] !== void 0 ? !0 : YC(e);\n}\nvar Wu = {\n  scales: up,\n  defaultScale: ZC,\n  get: zU,\n  isValid: IU\n}, XC = { exports: {} }, da = {};\nda.defaults = [\n  \"#1f77b4\",\n  // muted blue\n  \"#ff7f0e\",\n  // safety orange\n  \"#2ca02c\",\n  // cooked asparagus green\n  \"#d62728\",\n  // brick red\n  \"#9467bd\",\n  // muted purple\n  \"#8c564b\",\n  // chestnut brown\n  \"#e377c2\",\n  // raspberry yogurt pink\n  \"#7f7f7f\",\n  // middle gray\n  \"#bcbd22\",\n  // curry yellow-green\n  \"#17becf\"\n  // blue-teal\n];\nda.defaultLine = \"#444\";\nda.lightLine = \"#eee\";\nda.background = \"#fff\";\nda.borderLine = \"#BEC8D9\";\nda.lightFraction = 100 * 10 / 11;\nvar hi = bi, NU = sr, OU = an.isTypedArray, _n = XC.exports = {}, fp = da;\n_n.defaults = fp.defaults;\nvar HU = _n.defaultLine = fp.defaultLine;\n_n.lightLine = fp.lightLine;\nvar oy = _n.background = fp.background;\n_n.tinyRGB = function(e) {\n  var t = e.toRgb();\n  return \"rgb(\" + Math.round(t.r) + \", \" + Math.round(t.g) + \", \" + Math.round(t.b) + \")\";\n};\n_n.rgb = function(e) {\n  return _n.tinyRGB(hi(e));\n};\n_n.opacity = function(e) {\n  return e ? hi(e).getAlpha() : 0;\n};\n_n.addOpacity = function(e, t) {\n  var r = hi(e).toRgb();\n  return \"rgba(\" + Math.round(r.r) + \", \" + Math.round(r.g) + \", \" + Math.round(r.b) + \", \" + t + \")\";\n};\n_n.combine = function(e, t) {\n  var r = hi(e).toRgb();\n  if (r.a === 1) return hi(e).toRgbString();\n  var n = hi(t || oy).toRgb(), a = n.a === 1 ? n : {\n    r: 255 * (1 - n.a) + n.r * n.a,\n    g: 255 * (1 - n.a) + n.g * n.a,\n    b: 255 * (1 - n.a) + n.b * n.a\n  }, i = {\n    r: a.r * (1 - r.a) + r.r * r.a,\n    g: a.g * (1 - r.a) + r.g * r.a,\n    b: a.b * (1 - r.a) + r.b * r.a\n  };\n  return hi(i).toRgbString();\n};\n_n.contrast = function(e, t, r) {\n  var n = hi(e);\n  n.getAlpha() !== 1 && (n = hi(_n.combine(e, oy)));\n  var a = n.isDark() ? t ? n.lighten(t) : oy : r ? n.darken(r) : HU;\n  return a.toString();\n};\n_n.stroke = function(e, t) {\n  var r = hi(t);\n  e.style({ stroke: _n.tinyRGB(r), \"stroke-opacity\": r.getAlpha() });\n};\n_n.fill = function(e, t) {\n  var r = hi(t);\n  e.style({\n    fill: _n.tinyRGB(r),\n    \"fill-opacity\": r.getAlpha()\n  });\n};\n_n.clean = function(e) {\n  if (!(!e || typeof e != \"object\")) {\n    var t = Object.keys(e), r, n, a, i;\n    for (r = 0; r < t.length; r++)\n      if (a = t[r], i = e[a], a.substr(a.length - 5) === \"color\")\n        if (Array.isArray(i))\n          for (n = 0; n < i.length; n++) i[n] = Gm(i[n]);\n        else e[a] = Gm(i);\n      else if (a.substr(a.length - 10) === \"colorscale\" && Array.isArray(i))\n        for (n = 0; n < i.length; n++)\n          Array.isArray(i[n]) && (i[n][1] = Gm(i[n][1]));\n      else if (Array.isArray(i)) {\n        var o = i[0];\n        if (!Array.isArray(o) && o && typeof o == \"object\")\n          for (n = 0; n < i.length; n++) _n.clean(i[n]);\n      } else i && typeof i == \"object\" && !OU(i) && _n.clean(i);\n  }\n};\nfunction Gm(e) {\n  if (NU(e) || typeof e != \"string\") return e;\n  var t = e.trim();\n  if (t.substr(0, 3) !== \"rgb\") return e;\n  var r = t.match(/^rgba?\\s*\\(([^()]*)\\)$/);\n  if (!r) return e;\n  var n = r[1].trim().split(/\\s*[\\s,]\\s*/), a = t.charAt(3) === \"a\" && n.length === 4;\n  if (!a && n.length !== 3) return e;\n  for (var i = 0; i < n.length; i++) {\n    if (!n[i].length || (n[i] = Number(n[i]), !(n[i] >= 0)))\n      return e;\n    if (i === 3)\n      n[i] > 1 && (n[i] = 1);\n    else if (n[i] >= 1)\n      return e;\n  }\n  var o = Math.round(n[0] * 255) + \", \" + Math.round(n[1] * 255) + \", \" + Math.round(n[2] * 255);\n  return a ? \"rgba(\" + o + \", \" + n[3] + \")\" : \"rgb(\" + o + \")\";\n}\nvar nr = XC.exports, q1 = {\n  /**\n   * Timing information for interactive elements\n   */\n  SHOW_PLACEHOLDER: 100,\n  HIDE_PLACEHOLDER: 1e3,\n  // opacity dimming fraction for points that are not in selection\n  DESELECTDIM: 0.2\n}, Zu = {};\nZu.counter = function(e, t, r, n) {\n  var a = (t || \"\") + (r ? \"\" : \"$\"), i = n === !1 ? \"\" : \"^\";\n  return e === \"xy\" ? new RegExp(i + \"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?\" + a) : new RegExp(i + e + \"([2-9]|[1-9][0-9]+)?\" + a);\n};\n(function(e) {\n  var t = sr, r = bi, n = Wi, a = Wu, i = nr, o = q1.DESELECTDIM, l = j1, s = Zu.counter, u = Wc.modHalf, f = an.isArrayOrTypedArray, d = an.isTypedArraySpec, h = an.decodeTypedArraySpec;\n  e.valObjectMeta = {\n    data_array: {\n      // You can use *dflt=[] to force said array to exist though.\n      description: [\n        \"An {array} of data.\",\n        \"The value must represent an {array} or it will be ignored,\",\n        \"but this array can be provided in several forms:\",\n        \"(1) a regular {array} object\",\n        \"(2) a typed array (e.g. Float32Array)\",\n        \"(3) an object with keys dtype, bdata, and optionally shape.\",\n        \"In this 3rd form, dtype is one of\",\n        \"*f8*, *f4*.\",\n        \"*i4*, *u4*,\",\n        \"*i2*, *u2*,\",\n        \"*i1*, *u1* or *u1c* for Uint8ClampedArray.\",\n        \"In addition to shorthand `dtype` above one could also use the following forms:\",\n        \"*float64*, *float32*,\",\n        \"*int32*, *uint32*,\",\n        \"*int16*, *uint16*,\",\n        \"*int8*, *uint8* or *uint8c* for Uint8ClampedArray.\",\n        \"`bdata` is either a base64-encoded string or the ArrayBuffer of\",\n        \"an integer or float typed array.\",\n        \"For either multi-dimensional arrays you must also\",\n        \"provide its dimensions separated by comma via `shape`.\",\n        \"For example using `dtype`: *f4* and `shape`: *5,100* you can\",\n        \"declare a 2-D array that has 5 rows and 100 columns\",\n        \"containing float32 values i.e. 4 bits per value.\",\n        \"`shape` is optional for one dimensional arrays.\"\n      ].join(\" \"),\n      requiredOpts: [],\n      otherOpts: [\"dflt\"],\n      coerceFunction: function(v, m, g) {\n        m.set(\n          f(v) ? v : d(v) ? h(v) : g\n        );\n      }\n    },\n    enumerated: {\n      description: [\n        \"Enumerated value type. The available values are listed\",\n        \"in `values`.\"\n      ].join(\" \"),\n      requiredOpts: [\"values\"],\n      otherOpts: [\"dflt\", \"coerceNumber\", \"arrayOk\"],\n      coerceFunction: function(v, m, g, y) {\n        y.coerceNumber && (v = +v), y.values.indexOf(v) === -1 ? m.set(g) : m.set(v);\n      },\n      validateFunction: function(v, m) {\n        m.coerceNumber && (v = +v);\n        for (var g = m.values, y = 0; y < g.length; y++) {\n          var w = String(g[y]);\n          if (w.charAt(0) === \"/\" && w.charAt(w.length - 1) === \"/\") {\n            var k = new RegExp(w.substr(1, w.length - 2));\n            if (k.test(v)) return !0;\n          } else if (v === g[y]) return !0;\n        }\n        return !1;\n      }\n    },\n    boolean: {\n      description: \"A boolean (true/false) value.\",\n      requiredOpts: [],\n      otherOpts: [\"dflt\"],\n      coerceFunction: function(v, m, g) {\n        v === !0 || v === !1 ? m.set(v) : m.set(g);\n      }\n    },\n    number: {\n      description: [\n        \"A number or a numeric value\",\n        \"(e.g. a number inside a string).\",\n        \"When applicable, values greater (less) than `max` (`min`)\",\n        \"are coerced to the `dflt`.\"\n      ].join(\" \"),\n      requiredOpts: [],\n      otherOpts: [\"dflt\", \"min\", \"max\", \"arrayOk\"],\n      coerceFunction: function(v, m, g, y) {\n        !t(v) || y.min !== void 0 && v < y.min || y.max !== void 0 && v > y.max ? m.set(g) : m.set(+v);\n      }\n    },\n    integer: {\n      description: [\n        \"An integer or an integer inside a string.\",\n        \"When applicable, values greater (less) than `max` (`min`)\",\n        \"are coerced to the `dflt`.\"\n      ].join(\" \"),\n      requiredOpts: [],\n      otherOpts: [\"dflt\", \"min\", \"max\", \"arrayOk\"],\n      coerceFunction: function(v, m, g, y) {\n        v % 1 || !t(v) || y.min !== void 0 && v < y.min || y.max !== void 0 && v > y.max ? m.set(g) : m.set(+v);\n      }\n    },\n    string: {\n      description: [\n        \"A string value.\",\n        \"Numbers are converted to strings except for attributes with\",\n        \"`strict` set to true.\"\n      ].join(\" \"),\n      requiredOpts: [],\n      // TODO 'values shouldn't be in there (edge case: 'dash' in Scatter)\n      otherOpts: [\"dflt\", \"noBlank\", \"strict\", \"arrayOk\", \"values\"],\n      coerceFunction: function(v, m, g, y) {\n        if (typeof v != \"string\") {\n          var w = typeof v == \"number\";\n          y.strict === !0 || !w ? m.set(g) : m.set(String(v));\n        } else y.noBlank && !v ? m.set(g) : m.set(v);\n      }\n    },\n    color: {\n      description: [\n        \"A string describing color.\",\n        \"Supported formats:\",\n        \"- hex (e.g. '#d3d3d3')\",\n        \"- rgb (e.g. 'rgb(255, 0, 0)')\",\n        \"- rgba (e.g. 'rgb(255, 0, 0, 0.5)')\",\n        \"- hsl (e.g. 'hsl(0, 100%, 50%)')\",\n        \"- hsv (e.g. 'hsv(0, 100%, 100%)')\",\n        \"- named colors (full list: http://www.w3.org/TR/css3-color/#svg-color)\"\n      ].join(\" \"),\n      requiredOpts: [],\n      otherOpts: [\"dflt\", \"arrayOk\"],\n      coerceFunction: function(v, m, g) {\n        r(v).isValid() ? m.set(v) : m.set(g);\n      }\n    },\n    colorlist: {\n      description: [\n        \"A list of colors.\",\n        \"Must be an {array} containing valid colors.\"\n      ].join(\" \"),\n      requiredOpts: [],\n      otherOpts: [\"dflt\"],\n      coerceFunction: function(v, m, g) {\n        function y(w) {\n          return r(w).isValid();\n        }\n        !Array.isArray(v) || !v.length ? m.set(g) : v.every(y) ? m.set(v) : m.set(g);\n      }\n    },\n    colorscale: {\n      description: [\n        \"A Plotly colorscale either picked by a name:\",\n        \"(any of\",\n        Object.keys(a.scales).join(\", \"),\n        \")\",\n        \"customized as an {array} of 2-element {arrays} where\",\n        \"the first element is the normalized color level value\",\n        \"(starting at *0* and ending at *1*),\",\n        \"and the second item is a valid color string.\"\n      ].join(\" \"),\n      requiredOpts: [],\n      otherOpts: [\"dflt\"],\n      coerceFunction: function(v, m, g) {\n        m.set(a.get(v, g));\n      }\n    },\n    angle: {\n      description: [\n        \"A number (in degree) between -180 and 180.\"\n      ].join(\" \"),\n      requiredOpts: [],\n      otherOpts: [\"dflt\", \"arrayOk\"],\n      coerceFunction: function(v, m, g) {\n        v === \"auto\" ? m.set(\"auto\") : t(v) ? m.set(u(+v, 360)) : m.set(g);\n      }\n    },\n    subplotid: {\n      description: [\n        \"An id string of a subplot type (given by dflt), optionally\",\n        \"followed by an integer >1. e.g. if dflt='geo', we can have\",\n        \"'geo', 'geo2', 'geo3', ...\"\n      ].join(\" \"),\n      requiredOpts: [\"dflt\"],\n      otherOpts: [\"regex\"],\n      coerceFunction: function(v, m, g, y) {\n        var w = y.regex || s(g);\n        if (typeof v == \"string\" && w.test(v)) {\n          m.set(v);\n          return;\n        }\n        m.set(g);\n      },\n      validateFunction: function(v, m) {\n        var g = m.dflt;\n        return v === g ? !0 : typeof v != \"string\" ? !1 : !!s(g).test(v);\n      }\n    },\n    flaglist: {\n      description: [\n        \"A string representing a combination of flags\",\n        \"(order does not matter here).\",\n        \"Combine any of the available `flags` with *+*.\",\n        \"(e.g. ('lines+markers')).\",\n        \"Values in `extras` cannot be combined.\"\n      ].join(\" \"),\n      requiredOpts: [\"flags\"],\n      otherOpts: [\"dflt\", \"extras\", \"arrayOk\"],\n      coerceFunction: function(v, m, g, y) {\n        if ((y.extras || []).indexOf(v) !== -1) {\n          m.set(v);\n          return;\n        }\n        if (typeof v != \"string\") {\n          m.set(g);\n          return;\n        }\n        for (var w = v.split(\"+\"), k = 0; k < w.length; ) {\n          var x = w[k];\n          y.flags.indexOf(x) === -1 || w.indexOf(x) < k ? w.splice(k, 1) : k++;\n        }\n        w.length ? m.set(w.join(\"+\")) : m.set(g);\n      }\n    },\n    any: {\n      description: \"Any type.\",\n      requiredOpts: [],\n      otherOpts: [\"dflt\", \"values\", \"arrayOk\"],\n      coerceFunction: function(v, m, g) {\n        v === void 0 ? m.set(g) : m.set(\n          d(v) ? h(v) : v\n        );\n      }\n    },\n    info_array: {\n      description: [\n        \"An {array} of plot information.\"\n      ].join(\" \"),\n      requiredOpts: [\"items\"],\n      // set `dimensions=2` for a 2D array or '1-2' for either\n      // `items` may be a single object instead of an array, in which case\n      // `freeLength` must be true.\n      // if `dimensions='1-2'` and items is a 1D array, then the value can\n      // either be a matching 1D array or an array of such matching 1D arrays\n      otherOpts: [\"dflt\", \"freeLength\", \"dimensions\"],\n      coerceFunction: function(v, m, g, y) {\n        function w(V, z, P) {\n          var R, H = { set: function(B) {\n            R = B;\n          } };\n          return P === void 0 && (P = z.dflt), e.valObjectMeta[z.valType].coerceFunction(V, H, P, z), R;\n        }\n        if (d(v) && (v = h(v)), !f(v)) {\n          m.set(g);\n          return;\n        }\n        var k = y.dimensions === 2 || y.dimensions === \"1-2\" && Array.isArray(v) && f(v[0]), x = y.items, _ = [], T = Array.isArray(x), S = T && k && f(x[0]), M = k && T && !S, L = T && !M ? x.length : v.length, F, $, I, O, G, K;\n        if (g = Array.isArray(g) ? g : [], k)\n          for (F = 0; F < L; F++)\n            for (_[F] = [], I = f(v[F]) ? v[F] : [], M ? G = x.length : T ? G = x[F].length : G = I.length, $ = 0; $ < G; $++)\n              M ? O = x[$] : T ? O = x[F][$] : O = x, K = w(I[$], O, (g[F] || [])[$]), K !== void 0 && (_[F][$] = K);\n        else\n          for (F = 0; F < L; F++)\n            K = w(v[F], T ? x[F] : x, g[F]), K !== void 0 && (_[F] = K);\n        m.set(_);\n      },\n      validateFunction: function(v, m) {\n        if (!f(v)) return !1;\n        var g = m.items, y = Array.isArray(g), w = m.dimensions === 2;\n        if (!m.freeLength && v.length !== g.length) return !1;\n        for (var k = 0; k < v.length; k++)\n          if (w) {\n            if (!f(v[k]) || !m.freeLength && v[k].length !== g[k].length)\n              return !1;\n            for (var x = 0; x < v[k].length; x++)\n              if (!p(v[k][x], y ? g[k][x] : g))\n                return !1;\n          } else if (!p(v[k], y ? g[k] : g)) return !1;\n        return !0;\n      }\n    }\n  }, e.coerce = function(v, m, g, y, w) {\n    var k = l(g, y).get(), x = l(v, y), _ = l(m, y), T = x.get(), S = m._template;\n    if (T === void 0 && S && (T = l(S, y).get(), S = 0), w === void 0 && (w = k.dflt), k.arrayOk) {\n      if (f(T))\n        return _.set(T), T;\n      if (d(T))\n        return T = h(T), _.set(T), T;\n    }\n    var M = e.valObjectMeta[k.valType].coerceFunction;\n    M(T, _, w, k);\n    var L = _.get();\n    return S && L === w && !p(T, k) && (T = l(S, y).get(), M(T, _, w, k), L = _.get()), L;\n  }, e.coerce2 = function(v, m, g, y, w) {\n    var k = l(v, y), x = e.coerce(v, m, g, y, w), _ = k.get();\n    return _ != null ? x : !1;\n  }, e.coerceFont = function(v, m, g) {\n    var y = {};\n    return g = g || {}, y.family = v(m + \".family\", g.family), y.size = v(m + \".size\", g.size), y.color = v(m + \".color\", g.color), y;\n  }, e.coercePattern = function(v, m, g, y) {\n    var w = v(m + \".shape\");\n    if (w) {\n      v(m + \".solidity\"), v(m + \".size\");\n      var k = v(m + \".fillmode\"), x = k === \"overlay\";\n      if (!y) {\n        var _ = v(\n          m + \".bgcolor\",\n          x ? g : void 0\n        );\n        v(\n          m + \".fgcolor\",\n          x ? i.contrast(_) : g\n        );\n      }\n      v(\n        m + \".fgopacity\",\n        x ? 0.5 : 1\n      );\n    }\n  }, e.coerceHoverinfo = function(v, m, g) {\n    var y = m._module.attributes, w = y.hoverinfo ? y : n, k = w.hoverinfo, x;\n    if (g._dataLength === 1) {\n      var _ = k.dflt === \"all\" ? k.flags.slice() : k.dflt.split(\"+\");\n      _.splice(_.indexOf(\"name\"), 1), x = _.join(\"+\");\n    }\n    return e.coerce(v, m, w, \"hoverinfo\", x);\n  }, e.coerceSelectionMarkerOpacity = function(v, m) {\n    if (v.marker) {\n      var g = v.marker.opacity;\n      if (g !== void 0) {\n        var y, w;\n        !f(g) && !v.selected && !v.unselected && (y = g, w = o * g), m(\"selected.marker.opacity\", y), m(\"unselected.marker.opacity\", w);\n      }\n    }\n  };\n  function p(v, m) {\n    var g = e.valObjectMeta[m.valType];\n    if (m.arrayOk && f(v)) return !0;\n    if (g.validateFunction)\n      return g.validateFunction(v, m);\n    var y = {}, w = y, k = { set: function(x) {\n      w = x;\n    } };\n    return g.coerceFunction(v, k, y, m), w !== y;\n  }\n  e.validate = p;\n})(GC);\nvar KC = {}, JC = { exports: {} }, QC = {\n  staticPlot: {\n    valType: \"boolean\",\n    dflt: !1,\n    description: [\n      \"Determines whether the graphs are interactive or not.\",\n      \"If *false*, no interactivity, for export or image generation.\"\n    ].join(\" \")\n  },\n  typesetMath: {\n    valType: \"boolean\",\n    dflt: !0,\n    description: [\n      \"Determines whether math should be typeset or not,\",\n      \"when MathJax (either v2 or v3) is present on the page.\"\n    ].join(\" \")\n  },\n  plotlyServerURL: {\n    valType: \"string\",\n    dflt: \"\",\n    description: [\n      \"When set it determines base URL for\",\n      \"the 'Edit in Chart Studio' `showEditInChartStudio`/`showSendToCloud` mode bar button\",\n      \"and the showLink/sendData on-graph link.\",\n      \"To enable sending your data to Chart Studio Cloud, you need to\",\n      \"set both `plotlyServerURL` to 'https://chart-studio.plotly.com' and\",\n      \"also set `showSendToCloud` to true.\"\n    ].join(\" \")\n  },\n  editable: {\n    valType: \"boolean\",\n    dflt: !1,\n    description: [\n      \"Determines whether the graph is editable or not.\",\n      \"Sets all pieces of `edits`\",\n      \"unless a separate `edits` config item overrides individual parts.\"\n    ].join(\" \")\n  },\n  edits: {\n    annotationPosition: {\n      valType: \"boolean\",\n      dflt: !1,\n      description: [\n        \"Determines if the main anchor of the annotation is editable.\",\n        \"The main anchor corresponds to the\",\n        \"text (if no arrow) or the arrow (which drags the whole thing leaving\",\n        \"the arrow length & direction unchanged).\"\n      ].join(\" \")\n    },\n    annotationTail: {\n      valType: \"boolean\",\n      dflt: !1,\n      description: [\n        \"Has only an effect for annotations with arrows.\",\n        \"Enables changing the length and direction of the arrow.\"\n      ].join(\" \")\n    },\n    annotationText: {\n      valType: \"boolean\",\n      dflt: !1,\n      description: \"Enables editing annotation text.\"\n    },\n    axisTitleText: {\n      valType: \"boolean\",\n      dflt: !1,\n      description: \"Enables editing axis title text.\"\n    },\n    colorbarPosition: {\n      valType: \"boolean\",\n      dflt: !1,\n      description: \"Enables moving colorbars.\"\n    },\n    colorbarTitleText: {\n      valType: \"boolean\",\n      dflt: !1,\n      description: \"Enables editing colorbar title text.\"\n    },\n    legendPosition: {\n      valType: \"boolean\",\n      dflt: !1,\n      description: \"Enables moving the legend.\"\n    },\n    legendText: {\n      valType: \"boolean\",\n      dflt: !1,\n      description: \"Enables editing the trace name fields from the legend\"\n    },\n    shapePosition: {\n      valType: \"boolean\",\n      dflt: !1,\n      description: \"Enables moving shapes.\"\n    },\n    titleText: {\n      valType: \"boolean\",\n      dflt: !1,\n      description: \"Enables editing the global layout title.\"\n    }\n  },\n  editSelection: {\n    valType: \"boolean\",\n    dflt: !0,\n    description: \"Enables moving selections.\"\n  },\n  autosizable: {\n    valType: \"boolean\",\n    dflt: !1,\n    description: [\n      \"Determines whether the graphs are plotted with respect to\",\n      \"layout.autosize:true and infer its container size.\"\n    ].join(\" \")\n  },\n  responsive: {\n    valType: \"boolean\",\n    dflt: !1,\n    description: [\n      \"Determines whether to change the layout size when window is resized.\",\n      \"In v3, this option will be removed and will always be true.\"\n    ].join(\" \")\n  },\n  fillFrame: {\n    valType: \"boolean\",\n    dflt: !1,\n    description: [\n      \"When `layout.autosize` is turned on, determines whether the graph\",\n      \"fills the container (the default) or the screen (if set to *true*).\"\n    ].join(\" \")\n  },\n  frameMargins: {\n    valType: \"number\",\n    dflt: 0,\n    min: 0,\n    max: 0.5,\n    description: [\n      \"When `layout.autosize` is turned on, set the frame margins\",\n      \"in fraction of the graph size.\"\n    ].join(\" \")\n  },\n  scrollZoom: {\n    valType: \"flaglist\",\n    flags: [\"cartesian\", \"gl3d\", \"geo\", \"mapbox\"],\n    extras: [!0, !1],\n    dflt: \"gl3d+geo+mapbox\",\n    description: [\n      \"Determines whether mouse wheel or two-finger scroll zooms is enable.\",\n      \"Turned on by default for gl3d, geo and mapbox subplots\",\n      \"(as these subplot types do not have zoombox via pan),\",\n      \"but turned off by default for cartesian subplots.\",\n      \"Set `scrollZoom` to *false* to disable scrolling for all subplots.\"\n    ].join(\" \")\n  },\n  doubleClick: {\n    valType: \"enumerated\",\n    values: [!1, \"reset\", \"autosize\", \"reset+autosize\"],\n    dflt: \"reset+autosize\",\n    description: [\n      \"Sets the double click interaction mode.\",\n      \"Has an effect only in cartesian plots.\",\n      \"If *false*, double click is disable.\",\n      \"If *reset*, double click resets the axis ranges to their initial values.\",\n      \"If *autosize*, double click set the axis ranges to their autorange values.\",\n      \"If *reset+autosize*, the odd double clicks resets the axis ranges\",\n      \"to their initial values and even double clicks set the axis ranges\",\n      \"to their autorange values.\"\n    ].join(\" \")\n  },\n  doubleClickDelay: {\n    valType: \"number\",\n    dflt: 300,\n    min: 0,\n    description: [\n      \"Sets the delay for registering a double-click in ms.\",\n      \"This is the time interval (in ms) between first mousedown and\",\n      \"2nd mouseup to constitute a double-click.\",\n      \"This setting propagates to all on-subplot double clicks\",\n      \"(except for geo and mapbox) and on-legend double clicks.\"\n    ].join(\" \")\n  },\n  showAxisDragHandles: {\n    valType: \"boolean\",\n    dflt: !0,\n    description: [\n      \"Set to *false* to omit cartesian axis pan/zoom drag handles.\"\n    ].join(\" \")\n  },\n  showAxisRangeEntryBoxes: {\n    valType: \"boolean\",\n    dflt: !0,\n    description: [\n      \"Set to *false* to omit direct range entry at the pan/zoom drag points,\",\n      \"note that `showAxisDragHandles` must be enabled to have an effect.\"\n    ].join(\" \")\n  },\n  showTips: {\n    valType: \"boolean\",\n    dflt: !0,\n    description: [\n      \"Determines whether or not tips are shown while interacting\",\n      \"with the resulting graphs.\"\n    ].join(\" \")\n  },\n  showLink: {\n    valType: \"boolean\",\n    dflt: !1,\n    description: [\n      \"Determines whether a link to Chart Studio Cloud is displayed\",\n      \"at the bottom right corner of resulting graphs.\",\n      \"Use with `sendData` and `linkText`.\"\n    ].join(\" \")\n  },\n  linkText: {\n    valType: \"string\",\n    dflt: \"Edit chart\",\n    noBlank: !0,\n    description: [\n      \"Sets the text appearing in the `showLink` link.\"\n    ].join(\" \")\n  },\n  sendData: {\n    valType: \"boolean\",\n    dflt: !0,\n    description: [\n      \"If *showLink* is true, does it contain data\",\n      \"just link to a Chart Studio Cloud file?\"\n    ].join(\" \")\n  },\n  showSources: {\n    valType: \"any\",\n    dflt: !1,\n    description: [\n      \"Adds a source-displaying function to show sources on\",\n      \"the resulting graphs.\"\n    ].join(\" \")\n  },\n  displayModeBar: {\n    valType: \"enumerated\",\n    values: [\"hover\", !0, !1],\n    dflt: \"hover\",\n    description: [\n      \"Determines the mode bar display mode.\",\n      \"If *true*, the mode bar is always visible.\",\n      \"If *false*, the mode bar is always hidden.\",\n      \"If *hover*, the mode bar is visible while the mouse cursor\",\n      \"is on the graph container.\"\n    ].join(\" \")\n  },\n  showSendToCloud: {\n    valType: \"boolean\",\n    dflt: !1,\n    description: [\n      'Should we include a ModeBar button, labeled \"Edit in Chart Studio\",',\n      \"that sends this chart to chart-studio.plotly.com (formerly plot.ly) or another plotly server\",\n      \"as specified by `plotlyServerURL` for editing, export, etc? Prior to version 1.43.0\",\n      \"this button was included by default, now it is opt-in using this flag.\",\n      \"Note that this button can (depending on `plotlyServerURL` being set) send your data\",\n      \"to an external server. However that server does not persist your data\",\n      'until you arrive at the Chart Studio and explicitly click \"Save\".'\n    ].join(\" \")\n  },\n  showEditInChartStudio: {\n    valType: \"boolean\",\n    dflt: !1,\n    description: [\n      \"Same as `showSendToCloud`, but use a pencil icon instead of a floppy-disk.\",\n      \"Note that if both `showSendToCloud` and `showEditInChartStudio` are turned,\",\n      \"only `showEditInChartStudio` will be honored.\"\n    ].join(\" \")\n  },\n  modeBarButtonsToRemove: {\n    valType: \"any\",\n    dflt: [],\n    description: [\n      \"Remove mode bar buttons by name.\",\n      \"See ./components/modebar/buttons.js for the list of names.\"\n    ].join(\" \")\n  },\n  modeBarButtonsToAdd: {\n    valType: \"any\",\n    dflt: [],\n    description: [\n      \"Add mode bar button using config objects\",\n      \"See ./components/modebar/buttons.js for list of arguments.\",\n      \"To enable predefined modebar buttons e.g. shape drawing, hover and spikelines,\",\n      \"simply provide their string name(s). This could include:\",\n      \"*v1hovermode*, *hoverclosest*, *hovercompare*, *togglehover*, *togglespikelines*,\",\n      \"*drawline*, *drawopenpath*, *drawclosedpath*, *drawcircle*, *drawrect* and *eraseshape*.\",\n      \"Please note that these predefined buttons will only be shown if they are compatible\",\n      \"with all trace types used in a graph.\"\n    ].join(\" \")\n  },\n  modeBarButtons: {\n    valType: \"any\",\n    dflt: !1,\n    description: [\n      \"Define fully custom mode bar buttons as nested array,\",\n      \"where the outer arrays represents button groups, and\",\n      \"the inner arrays have buttons config objects or names of default buttons\",\n      \"See ./components/modebar/buttons.js for more info.\"\n    ].join(\" \")\n  },\n  toImageButtonOptions: {\n    valType: \"any\",\n    dflt: {},\n    description: [\n      \"Statically override options for toImage modebar button\",\n      \"allowed keys are format, filename, width, height, scale\",\n      \"see ../components/modebar/buttons.js\"\n    ].join(\" \")\n  },\n  displaylogo: {\n    valType: \"boolean\",\n    dflt: !0,\n    description: [\n      \"Determines whether or not the plotly logo is displayed\",\n      \"on the end of the mode bar.\"\n    ].join(\" \")\n  },\n  watermark: {\n    valType: \"boolean\",\n    dflt: !1,\n    description: \"watermark the images with the company's logo\"\n  },\n  plotGlPixelRatio: {\n    valType: \"number\",\n    dflt: 2,\n    min: 1,\n    max: 4,\n    description: [\n      \"Set the pixel ratio during WebGL image export.\",\n      \"This config option was formerly named `plot3dPixelRatio`\",\n      \"which is now deprecated.\"\n    ].join(\" \")\n  },\n  setBackground: {\n    valType: \"any\",\n    dflt: \"transparent\",\n    description: [\n      \"Set function to add the background color (i.e. `layout.paper_color`)\",\n      \"to a different container.\",\n      \"This function take the graph div as first argument and the current background\",\n      \"color as second argument.\",\n      \"Alternatively, set to string *opaque* to ensure there is white behind it.\"\n    ].join(\" \")\n  },\n  topojsonURL: {\n    valType: \"string\",\n    noBlank: !0,\n    dflt: \"https://cdn.plot.ly/\",\n    description: [\n      \"Set the URL to topojson used in geo charts.\",\n      \"By default, the topojson files are fetched from cdn.plot.ly.\",\n      \"For example, set this option to:\",\n      \"<path-to-plotly.js>/dist/topojson/\",\n      \"to render geographical feature using the topojson files\",\n      \"that ship with the plotly.js module.\"\n    ].join(\" \")\n  },\n  mapboxAccessToken: {\n    valType: \"string\",\n    dflt: null,\n    description: [\n      \"Mapbox access token (required to plot mapbox trace types)\",\n      \"If using an Mapbox Atlas server, set this option to ''\",\n      \"so that plotly.js won't attempt to authenticate to the public Mapbox server.\"\n    ].join(\" \")\n  },\n  logging: {\n    valType: \"integer\",\n    min: 0,\n    max: 2,\n    dflt: 1,\n    description: [\n      \"Turn all console logging on or off (errors will be thrown)\",\n      \"This should ONLY be set via Plotly.setPlotConfig\",\n      \"Available levels:\",\n      \"0: no logs\",\n      \"1: warnings and errors, but not informational messages\",\n      \"2: verbose logs\"\n    ].join(\" \")\n  },\n  notifyOnLogging: {\n    valType: \"integer\",\n    min: 0,\n    max: 2,\n    dflt: 0,\n    description: [\n      \"Set on-graph logging (notifier) level\",\n      \"This should ONLY be set via Plotly.setPlotConfig\",\n      \"Available levels:\",\n      \"0: no on-graph logs\",\n      \"1: warnings and errors, but not informational messages\",\n      \"2: verbose logs\"\n    ].join(\" \")\n  },\n  queueLength: {\n    valType: \"integer\",\n    min: 0,\n    dflt: 0,\n    description: \"Sets the length of the undo/redo queue.\"\n  },\n  globalTransforms: {\n    valType: \"any\",\n    dflt: [],\n    description: [\n      \"Set global transform to be applied to all traces with no\",\n      \"specification needed\"\n    ].join(\" \")\n  },\n  locale: {\n    valType: \"string\",\n    dflt: \"en-US\",\n    description: [\n      \"Which localization should we use?\",\n      \"Should be a string like 'en' or 'en-US'.\"\n    ].join(\" \")\n  },\n  locales: {\n    valType: \"any\",\n    dflt: {},\n    description: [\n      \"Localization definitions\",\n      \"Locales can be provided either here (specific to one chart) or globally\",\n      \"by registering them as modules.\",\n      \"Should be an object of objects {locale: {dictionary: {...}, format: {...}}}\",\n      \"{\",\n      \"  da: {\",\n      \"      dictionary: {'Reset axes': 'Nulstil aksler', ...},\",\n      \"      format: {months: [...], shortMonths: [...]}\",\n      \"  },\",\n      \"  ...\",\n      \"}\",\n      \"All parts are optional. When looking for translation or format fields, we\",\n      \"look first for an exact match in a config locale, then in a registered\",\n      \"module. If those fail, we strip off any regionalization ('en-US' -> 'en')\",\n      \"and try each (config, registry) again. The final fallback for translation\",\n      \"is untranslated (which is US English) and for formats is the base English\",\n      \"(the only consequence being the last fallback date format %x is DD/MM/YYYY\",\n      \"instead of MM/DD/YYYY). Currently `grouping` and `currency` are ignored\",\n      \"for our automatic number formatting, but can be used in custom formats.\"\n    ].join(\" \")\n  }\n}, eL = {};\nfunction tL(e, t) {\n  for (var r in e) {\n    var n = e[r];\n    n.valType ? t[r] = n.dflt : (t[r] || (t[r] = {}), tL(n, t[r]));\n  }\n}\ntL(QC, eL);\nvar Yu = {\n  configAttributes: QC,\n  dfltConfig: eL\n}, Vm = lr, BU = sr, wf = [], rL = function(e, t) {\n  if (wf.indexOf(e) !== -1) return;\n  wf.push(e);\n  var r = 1e3;\n  BU(t) ? r = t : t === \"long\" && (r = 3e3);\n  var n = Vm.select(\"body\").selectAll(\".plotly-notifier\").data([0]);\n  n.enter().append(\"div\").classed(\"plotly-notifier\", !0);\n  var a = n.selectAll(\".notifier-note\").data(wf);\n  function i(o) {\n    o.duration(700).style(\"opacity\", 0).each(\"end\", function(l) {\n      var s = wf.indexOf(l);\n      s !== -1 && wf.splice(s, 1), Vm.select(this).remove();\n    });\n  }\n  a.enter().append(\"div\").classed(\"notifier-note\", !0).style(\"opacity\", 0).each(function(o) {\n    var l = Vm.select(this);\n    l.append(\"button\").classed(\"notifier-close\", !0).html(\"&times;\").on(\"click\", function() {\n      l.transition().call(i);\n    });\n    for (var s = l.append(\"p\"), u = o.split(/<br\\s*\\/?>/g), f = 0; f < u.length; f++)\n      f && s.append(\"br\"), s.append(\"span\").text(u[f]);\n    t === \"stick\" ? l.transition().duration(350).style(\"opacity\", 1) : l.transition().duration(700).style(\"opacity\", 1).transition().delay(r).call(i);\n  });\n}, Eu = Yu.dfltConfig, W1 = rL, Z1 = JC.exports = {};\nZ1.log = function() {\n  var e;\n  if (Eu.logging > 1) {\n    var t = [\"LOG:\"];\n    for (e = 0; e < arguments.length; e++)\n      t.push(arguments[e]);\n    console.trace.apply(console, t);\n  }\n  if (Eu.notifyOnLogging > 1) {\n    var r = [];\n    for (e = 0; e < arguments.length; e++)\n      r.push(arguments[e]);\n    W1(r.join(\"<br>\"), \"long\");\n  }\n};\nZ1.warn = function() {\n  var e;\n  if (Eu.logging > 0) {\n    var t = [\"WARN:\"];\n    for (e = 0; e < arguments.length; e++)\n      t.push(arguments[e]);\n    console.trace.apply(console, t);\n  }\n  if (Eu.notifyOnLogging > 0) {\n    var r = [];\n    for (e = 0; e < arguments.length; e++)\n      r.push(arguments[e]);\n    W1(r.join(\"<br>\"), \"stick\");\n  }\n};\nZ1.error = function() {\n  var e;\n  if (Eu.logging > 0) {\n    var t = [\"ERROR:\"];\n    for (e = 0; e < arguments.length; e++)\n      t.push(arguments[e]);\n    console.error.apply(console, t);\n  }\n  if (Eu.notifyOnLogging > 0) {\n    var r = [];\n    for (e = 0; e < arguments.length; e++)\n      r.push(arguments[e]);\n    W1(r.join(\"<br>\"), \"stick\");\n  }\n};\nvar Xu = JC.exports, Nt = {}, Y1 = function() {\n}, nL = function(t, r) {\n  if (r instanceof RegExp) {\n    for (var n = r.toString(), a = 0; a < t.length; a++)\n      if (t[a] instanceof RegExp && t[a].toString() === n)\n        return t;\n    t.push(r);\n  } else (r || r === 0) && t.indexOf(r) === -1 && t.push(r);\n  return t;\n}, cp = {}, jU = UU;\nfunction UU() {\n  var e = new Float32Array(16);\n  return e[0] = 1, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[5] = 1, e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[10] = 1, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e;\n}\nvar GU = VU;\nfunction VU(e) {\n  var t = new Float32Array(16);\n  return t[0] = e[0], t[1] = e[1], t[2] = e[2], t[3] = e[3], t[4] = e[4], t[5] = e[5], t[6] = e[6], t[7] = e[7], t[8] = e[8], t[9] = e[9], t[10] = e[10], t[11] = e[11], t[12] = e[12], t[13] = e[13], t[14] = e[14], t[15] = e[15], t;\n}\nvar qU = WU;\nfunction WU(e, t) {\n  return e[0] = t[0], e[1] = t[1], e[2] = t[2], e[3] = t[3], e[4] = t[4], e[5] = t[5], e[6] = t[6], e[7] = t[7], e[8] = t[8], e[9] = t[9], e[10] = t[10], e[11] = t[11], e[12] = t[12], e[13] = t[13], e[14] = t[14], e[15] = t[15], e;\n}\nvar aL = ZU;\nfunction ZU(e) {\n  return e[0] = 1, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[5] = 1, e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[10] = 1, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e;\n}\nvar YU = XU;\nfunction XU(e, t) {\n  if (e === t) {\n    var r = t[1], n = t[2], a = t[3], i = t[6], o = t[7], l = t[11];\n    e[1] = t[4], e[2] = t[8], e[3] = t[12], e[4] = r, e[6] = t[9], e[7] = t[13], e[8] = n, e[9] = i, e[11] = t[14], e[12] = a, e[13] = o, e[14] = l;\n  } else\n    e[0] = t[0], e[1] = t[4], e[2] = t[8], e[3] = t[12], e[4] = t[1], e[5] = t[5], e[6] = t[9], e[7] = t[13], e[8] = t[2], e[9] = t[6], e[10] = t[10], e[11] = t[14], e[12] = t[3], e[13] = t[7], e[14] = t[11], e[15] = t[15];\n  return e;\n}\nvar KU = JU;\nfunction JU(e, t) {\n  var r = t[0], n = t[1], a = t[2], i = t[3], o = t[4], l = t[5], s = t[6], u = t[7], f = t[8], d = t[9], h = t[10], p = t[11], v = t[12], m = t[13], g = t[14], y = t[15], w = r * l - n * o, k = r * s - a * o, x = r * u - i * o, _ = n * s - a * l, T = n * u - i * l, S = a * u - i * s, M = f * m - d * v, L = f * g - h * v, F = f * y - p * v, $ = d * g - h * m, I = d * y - p * m, O = h * y - p * g, G = w * O - k * I + x * $ + _ * F - T * L + S * M;\n  return G ? (G = 1 / G, e[0] = (l * O - s * I + u * $) * G, e[1] = (a * I - n * O - i * $) * G, e[2] = (m * S - g * T + y * _) * G, e[3] = (h * T - d * S - p * _) * G, e[4] = (s * F - o * O - u * L) * G, e[5] = (r * O - a * F + i * L) * G, e[6] = (g * x - v * S - y * k) * G, e[7] = (f * S - h * x + p * k) * G, e[8] = (o * I - l * F + u * M) * G, e[9] = (n * F - r * I - i * M) * G, e[10] = (v * T - m * x + y * w) * G, e[11] = (d * x - f * T - p * w) * G, e[12] = (l * L - o * $ - s * M) * G, e[13] = (r * $ - n * L + a * M) * G, e[14] = (m * k - v * _ - g * w) * G, e[15] = (f * _ - d * k + h * w) * G, e) : null;\n}\nvar QU = eG;\nfunction eG(e, t) {\n  var r = t[0], n = t[1], a = t[2], i = t[3], o = t[4], l = t[5], s = t[6], u = t[7], f = t[8], d = t[9], h = t[10], p = t[11], v = t[12], m = t[13], g = t[14], y = t[15];\n  return e[0] = l * (h * y - p * g) - d * (s * y - u * g) + m * (s * p - u * h), e[1] = -(n * (h * y - p * g) - d * (a * y - i * g) + m * (a * p - i * h)), e[2] = n * (s * y - u * g) - l * (a * y - i * g) + m * (a * u - i * s), e[3] = -(n * (s * p - u * h) - l * (a * p - i * h) + d * (a * u - i * s)), e[4] = -(o * (h * y - p * g) - f * (s * y - u * g) + v * (s * p - u * h)), e[5] = r * (h * y - p * g) - f * (a * y - i * g) + v * (a * p - i * h), e[6] = -(r * (s * y - u * g) - o * (a * y - i * g) + v * (a * u - i * s)), e[7] = r * (s * p - u * h) - o * (a * p - i * h) + f * (a * u - i * s), e[8] = o * (d * y - p * m) - f * (l * y - u * m) + v * (l * p - u * d), e[9] = -(r * (d * y - p * m) - f * (n * y - i * m) + v * (n * p - i * d)), e[10] = r * (l * y - u * m) - o * (n * y - i * m) + v * (n * u - i * l), e[11] = -(r * (l * p - u * d) - o * (n * p - i * d) + f * (n * u - i * l)), e[12] = -(o * (d * g - h * m) - f * (l * g - s * m) + v * (l * h - s * d)), e[13] = r * (d * g - h * m) - f * (n * g - a * m) + v * (n * h - a * d), e[14] = -(r * (l * g - s * m) - o * (n * g - a * m) + v * (n * s - a * l)), e[15] = r * (l * h - s * d) - o * (n * h - a * d) + f * (n * s - a * l), e;\n}\nvar tG = rG;\nfunction rG(e) {\n  var t = e[0], r = e[1], n = e[2], a = e[3], i = e[4], o = e[5], l = e[6], s = e[7], u = e[8], f = e[9], d = e[10], h = e[11], p = e[12], v = e[13], m = e[14], g = e[15], y = t * o - r * i, w = t * l - n * i, k = t * s - a * i, x = r * l - n * o, _ = r * s - a * o, T = n * s - a * l, S = u * v - f * p, M = u * m - d * p, L = u * g - h * p, F = f * m - d * v, $ = f * g - h * v, I = d * g - h * m;\n  return y * I - w * $ + k * F + x * L - _ * M + T * S;\n}\nvar nG = aG;\nfunction aG(e, t, r) {\n  var n = t[0], a = t[1], i = t[2], o = t[3], l = t[4], s = t[5], u = t[6], f = t[7], d = t[8], h = t[9], p = t[10], v = t[11], m = t[12], g = t[13], y = t[14], w = t[15], k = r[0], x = r[1], _ = r[2], T = r[3];\n  return e[0] = k * n + x * l + _ * d + T * m, e[1] = k * a + x * s + _ * h + T * g, e[2] = k * i + x * u + _ * p + T * y, e[3] = k * o + x * f + _ * v + T * w, k = r[4], x = r[5], _ = r[6], T = r[7], e[4] = k * n + x * l + _ * d + T * m, e[5] = k * a + x * s + _ * h + T * g, e[6] = k * i + x * u + _ * p + T * y, e[7] = k * o + x * f + _ * v + T * w, k = r[8], x = r[9], _ = r[10], T = r[11], e[8] = k * n + x * l + _ * d + T * m, e[9] = k * a + x * s + _ * h + T * g, e[10] = k * i + x * u + _ * p + T * y, e[11] = k * o + x * f + _ * v + T * w, k = r[12], x = r[13], _ = r[14], T = r[15], e[12] = k * n + x * l + _ * d + T * m, e[13] = k * a + x * s + _ * h + T * g, e[14] = k * i + x * u + _ * p + T * y, e[15] = k * o + x * f + _ * v + T * w, e;\n}\nvar iG = oG;\nfunction oG(e, t, r) {\n  var n = r[0], a = r[1], i = r[2], o, l, s, u, f, d, h, p, v, m, g, y;\n  return t === e ? (e[12] = t[0] * n + t[4] * a + t[8] * i + t[12], e[13] = t[1] * n + t[5] * a + t[9] * i + t[13], e[14] = t[2] * n + t[6] * a + t[10] * i + t[14], e[15] = t[3] * n + t[7] * a + t[11] * i + t[15]) : (o = t[0], l = t[1], s = t[2], u = t[3], f = t[4], d = t[5], h = t[6], p = t[7], v = t[8], m = t[9], g = t[10], y = t[11], e[0] = o, e[1] = l, e[2] = s, e[3] = u, e[4] = f, e[5] = d, e[6] = h, e[7] = p, e[8] = v, e[9] = m, e[10] = g, e[11] = y, e[12] = o * n + f * a + v * i + t[12], e[13] = l * n + d * a + m * i + t[13], e[14] = s * n + h * a + g * i + t[14], e[15] = u * n + p * a + y * i + t[15]), e;\n}\nvar lG = sG;\nfunction sG(e, t, r) {\n  var n = r[0], a = r[1], i = r[2];\n  return e[0] = t[0] * n, e[1] = t[1] * n, e[2] = t[2] * n, e[3] = t[3] * n, e[4] = t[4] * a, e[5] = t[5] * a, e[6] = t[6] * a, e[7] = t[7] * a, e[8] = t[8] * i, e[9] = t[9] * i, e[10] = t[10] * i, e[11] = t[11] * i, e[12] = t[12], e[13] = t[13], e[14] = t[14], e[15] = t[15], e;\n}\nvar uG = fG;\nfunction fG(e, t, r, n) {\n  var a = n[0], i = n[1], o = n[2], l = Math.sqrt(a * a + i * i + o * o), s, u, f, d, h, p, v, m, g, y, w, k, x, _, T, S, M, L, F, $, I, O, G, K;\n  return Math.abs(l) < 1e-6 ? null : (l = 1 / l, a *= l, i *= l, o *= l, s = Math.sin(r), u = Math.cos(r), f = 1 - u, d = t[0], h = t[1], p = t[2], v = t[3], m = t[4], g = t[5], y = t[6], w = t[7], k = t[8], x = t[9], _ = t[10], T = t[11], S = a * a * f + u, M = i * a * f + o * s, L = o * a * f - i * s, F = a * i * f - o * s, $ = i * i * f + u, I = o * i * f + a * s, O = a * o * f + i * s, G = i * o * f - a * s, K = o * o * f + u, e[0] = d * S + m * M + k * L, e[1] = h * S + g * M + x * L, e[2] = p * S + y * M + _ * L, e[3] = v * S + w * M + T * L, e[4] = d * F + m * $ + k * I, e[5] = h * F + g * $ + x * I, e[6] = p * F + y * $ + _ * I, e[7] = v * F + w * $ + T * I, e[8] = d * O + m * G + k * K, e[9] = h * O + g * G + x * K, e[10] = p * O + y * G + _ * K, e[11] = v * O + w * G + T * K, t !== e && (e[12] = t[12], e[13] = t[13], e[14] = t[14], e[15] = t[15]), e);\n}\nvar cG = dG;\nfunction dG(e, t, r) {\n  var n = Math.sin(r), a = Math.cos(r), i = t[4], o = t[5], l = t[6], s = t[7], u = t[8], f = t[9], d = t[10], h = t[11];\n  return t !== e && (e[0] = t[0], e[1] = t[1], e[2] = t[2], e[3] = t[3], e[12] = t[12], e[13] = t[13], e[14] = t[14], e[15] = t[15]), e[4] = i * a + u * n, e[5] = o * a + f * n, e[6] = l * a + d * n, e[7] = s * a + h * n, e[8] = u * a - i * n, e[9] = f * a - o * n, e[10] = d * a - l * n, e[11] = h * a - s * n, e;\n}\nvar hG = vG;\nfunction vG(e, t, r) {\n  var n = Math.sin(r), a = Math.cos(r), i = t[0], o = t[1], l = t[2], s = t[3], u = t[8], f = t[9], d = t[10], h = t[11];\n  return t !== e && (e[4] = t[4], e[5] = t[5], e[6] = t[6], e[7] = t[7], e[12] = t[12], e[13] = t[13], e[14] = t[14], e[15] = t[15]), e[0] = i * a - u * n, e[1] = o * a - f * n, e[2] = l * a - d * n, e[3] = s * a - h * n, e[8] = i * n + u * a, e[9] = o * n + f * a, e[10] = l * n + d * a, e[11] = s * n + h * a, e;\n}\nvar pG = mG;\nfunction mG(e, t, r) {\n  var n = Math.sin(r), a = Math.cos(r), i = t[0], o = t[1], l = t[2], s = t[3], u = t[4], f = t[5], d = t[6], h = t[7];\n  return t !== e && (e[8] = t[8], e[9] = t[9], e[10] = t[10], e[11] = t[11], e[12] = t[12], e[13] = t[13], e[14] = t[14], e[15] = t[15]), e[0] = i * a + u * n, e[1] = o * a + f * n, e[2] = l * a + d * n, e[3] = s * a + h * n, e[4] = u * a - i * n, e[5] = f * a - o * n, e[6] = d * a - l * n, e[7] = h * a - s * n, e;\n}\nvar gG = yG;\nfunction yG(e, t, r) {\n  var n, a, i, o = r[0], l = r[1], s = r[2], u = Math.sqrt(o * o + l * l + s * s);\n  return Math.abs(u) < 1e-6 ? null : (u = 1 / u, o *= u, l *= u, s *= u, n = Math.sin(t), a = Math.cos(t), i = 1 - a, e[0] = o * o * i + a, e[1] = l * o * i + s * n, e[2] = s * o * i - l * n, e[3] = 0, e[4] = o * l * i - s * n, e[5] = l * l * i + a, e[6] = s * l * i + o * n, e[7] = 0, e[8] = o * s * i + l * n, e[9] = l * s * i - o * n, e[10] = s * s * i + a, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e);\n}\nvar bG = _G;\nfunction _G(e, t, r) {\n  var n = t[0], a = t[1], i = t[2], o = t[3], l = n + n, s = a + a, u = i + i, f = n * l, d = n * s, h = n * u, p = a * s, v = a * u, m = i * u, g = o * l, y = o * s, w = o * u;\n  return e[0] = 1 - (p + m), e[1] = d + w, e[2] = h - y, e[3] = 0, e[4] = d - w, e[5] = 1 - (f + m), e[6] = v + g, e[7] = 0, e[8] = h + y, e[9] = v - g, e[10] = 1 - (f + p), e[11] = 0, e[12] = r[0], e[13] = r[1], e[14] = r[2], e[15] = 1, e;\n}\nvar xG = wG;\nfunction wG(e, t) {\n  return e[0] = t[0], e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[5] = t[1], e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[10] = t[2], e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e;\n}\nvar TG = kG;\nfunction kG(e, t) {\n  return e[0] = 1, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[5] = 1, e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[10] = 1, e[11] = 0, e[12] = t[0], e[13] = t[1], e[14] = t[2], e[15] = 1, e;\n}\nvar AG = MG;\nfunction MG(e, t) {\n  var r = Math.sin(t), n = Math.cos(t);\n  return e[0] = 1, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[5] = n, e[6] = r, e[7] = 0, e[8] = 0, e[9] = -r, e[10] = n, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e;\n}\nvar SG = CG;\nfunction CG(e, t) {\n  var r = Math.sin(t), n = Math.cos(t);\n  return e[0] = n, e[1] = 0, e[2] = -r, e[3] = 0, e[4] = 0, e[5] = 1, e[6] = 0, e[7] = 0, e[8] = r, e[9] = 0, e[10] = n, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e;\n}\nvar LG = DG;\nfunction DG(e, t) {\n  var r = Math.sin(t), n = Math.cos(t);\n  return e[0] = n, e[1] = r, e[2] = 0, e[3] = 0, e[4] = -r, e[5] = n, e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[10] = 1, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e;\n}\nvar iL = EG;\nfunction EG(e, t) {\n  var r = t[0], n = t[1], a = t[2], i = t[3], o = r + r, l = n + n, s = a + a, u = r * o, f = n * o, d = n * l, h = a * o, p = a * l, v = a * s, m = i * o, g = i * l, y = i * s;\n  return e[0] = 1 - d - v, e[1] = f + y, e[2] = h - g, e[3] = 0, e[4] = f - y, e[5] = 1 - u - v, e[6] = p + m, e[7] = 0, e[8] = h + g, e[9] = p - m, e[10] = 1 - u - d, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e;\n}\nvar FG = RG;\nfunction RG(e, t, r, n, a, i, o) {\n  var l = 1 / (r - t), s = 1 / (a - n), u = 1 / (i - o);\n  return e[0] = i * 2 * l, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[5] = i * 2 * s, e[6] = 0, e[7] = 0, e[8] = (r + t) * l, e[9] = (a + n) * s, e[10] = (o + i) * u, e[11] = -1, e[12] = 0, e[13] = 0, e[14] = o * i * 2 * u, e[15] = 0, e;\n}\nvar PG = $G;\nfunction $G(e, t, r, n, a) {\n  var i = 1 / Math.tan(t / 2), o = 1 / (n - a);\n  return e[0] = i / r, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[5] = i, e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[10] = (a + n) * o, e[11] = -1, e[12] = 0, e[13] = 0, e[14] = 2 * a * n * o, e[15] = 0, e;\n}\nvar zG = IG;\nfunction IG(e, t, r, n) {\n  var a = Math.tan(t.upDegrees * Math.PI / 180), i = Math.tan(t.downDegrees * Math.PI / 180), o = Math.tan(t.leftDegrees * Math.PI / 180), l = Math.tan(t.rightDegrees * Math.PI / 180), s = 2 / (o + l), u = 2 / (a + i);\n  return e[0] = s, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[5] = u, e[6] = 0, e[7] = 0, e[8] = -((o - l) * s * 0.5), e[9] = (a - i) * u * 0.5, e[10] = n / (r - n), e[11] = -1, e[12] = 0, e[13] = 0, e[14] = n * r / (r - n), e[15] = 0, e;\n}\nvar NG = OG;\nfunction OG(e, t, r, n, a, i, o) {\n  var l = 1 / (t - r), s = 1 / (n - a), u = 1 / (i - o);\n  return e[0] = -2 * l, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[5] = -2 * s, e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[10] = 2 * u, e[11] = 0, e[12] = (t + r) * l, e[13] = (a + n) * s, e[14] = (o + i) * u, e[15] = 1, e;\n}\nvar HG = aL, BG = jG;\nfunction jG(e, t, r, n) {\n  var a, i, o, l, s, u, f, d, h, p, v = t[0], m = t[1], g = t[2], y = n[0], w = n[1], k = n[2], x = r[0], _ = r[1], T = r[2];\n  return Math.abs(v - x) < 1e-6 && Math.abs(m - _) < 1e-6 && Math.abs(g - T) < 1e-6 ? HG(e) : (f = v - x, d = m - _, h = g - T, p = 1 / Math.sqrt(f * f + d * d + h * h), f *= p, d *= p, h *= p, a = w * h - k * d, i = k * f - y * h, o = y * d - w * f, p = Math.sqrt(a * a + i * i + o * o), p ? (p = 1 / p, a *= p, i *= p, o *= p) : (a = 0, i = 0, o = 0), l = d * o - h * i, s = h * a - f * o, u = f * i - d * a, p = Math.sqrt(l * l + s * s + u * u), p ? (p = 1 / p, l *= p, s *= p, u *= p) : (l = 0, s = 0, u = 0), e[0] = a, e[1] = l, e[2] = f, e[3] = 0, e[4] = i, e[5] = s, e[6] = d, e[7] = 0, e[8] = o, e[9] = u, e[10] = h, e[11] = 0, e[12] = -(a * v + i * m + o * g), e[13] = -(l * v + s * m + u * g), e[14] = -(f * v + d * m + h * g), e[15] = 1, e);\n}\nvar UG = GG;\nfunction GG(e) {\n  return \"mat4(\" + e[0] + \", \" + e[1] + \", \" + e[2] + \", \" + e[3] + \", \" + e[4] + \", \" + e[5] + \", \" + e[6] + \", \" + e[7] + \", \" + e[8] + \", \" + e[9] + \", \" + e[10] + \", \" + e[11] + \", \" + e[12] + \", \" + e[13] + \", \" + e[14] + \", \" + e[15] + \")\";\n}\nvar oL = {\n  create: jU,\n  clone: GU,\n  copy: qU,\n  identity: aL,\n  transpose: YU,\n  invert: KU,\n  adjoint: QU,\n  determinant: tG,\n  multiply: nG,\n  translate: iG,\n  scale: lG,\n  rotate: uG,\n  rotateX: cG,\n  rotateY: hG,\n  rotateZ: pG,\n  fromRotation: gG,\n  fromRotationTranslation: bG,\n  fromScaling: xG,\n  fromTranslation: TG,\n  fromXRotation: AG,\n  fromYRotation: SG,\n  fromZRotation: LG,\n  fromQuat: iL,\n  frustum: FG,\n  perspective: PG,\n  perspectiveFromFieldOfView: zG,\n  ortho: NG,\n  lookAt: BG,\n  str: UG\n};\n(function(e) {\n  var t = oL;\n  e.init2dArray = function(r, n) {\n    for (var a = new Array(r), i = 0; i < r; i++) a[i] = new Array(n);\n    return a;\n  }, e.transposeRagged = function(r) {\n    var n = 0, a = r.length, i, o;\n    for (i = 0; i < a; i++) n = Math.max(n, r[i].length);\n    var l = new Array(n);\n    for (i = 0; i < n; i++)\n      for (l[i] = new Array(a), o = 0; o < a; o++) l[i][o] = r[o][i];\n    return l;\n  }, e.dot = function(r, n) {\n    if (!(r.length && n.length) || r.length !== n.length) return null;\n    var a = r.length, i, o;\n    if (r[0].length)\n      for (i = new Array(a), o = 0; o < a; o++) i[o] = e.dot(r[o], n);\n    else if (n[0].length) {\n      var l = e.transposeRagged(n);\n      for (i = new Array(l.length), o = 0; o < l.length; o++) i[o] = e.dot(r, l[o]);\n    } else\n      for (i = 0, o = 0; o < a; o++) i += r[o] * n[o];\n    return i;\n  }, e.translationMatrix = function(r, n) {\n    return [[1, 0, r], [0, 1, n], [0, 0, 1]];\n  }, e.rotationMatrix = function(r) {\n    var n = r * Math.PI / 180;\n    return [\n      [Math.cos(n), -Math.sin(n), 0],\n      [Math.sin(n), Math.cos(n), 0],\n      [0, 0, 1]\n    ];\n  }, e.rotationXYMatrix = function(r, n, a) {\n    return e.dot(\n      e.dot(\n        e.translationMatrix(n, a),\n        e.rotationMatrix(r)\n      ),\n      e.translationMatrix(-n, -a)\n    );\n  }, e.apply3DTransform = function(r) {\n    return function() {\n      var n = arguments, a = arguments.length === 1 ? n[0] : [n[0], n[1], n[2] || 0];\n      return e.dot(r, [a[0], a[1], a[2], 1]).slice(0, 3);\n    };\n  }, e.apply2DTransform = function(r) {\n    return function() {\n      var n = arguments;\n      n.length === 3 && (n = n[0]);\n      var a = arguments.length === 1 ? n[0] : [n[0], n[1]];\n      return e.dot(r, [a[0], a[1], 1]).slice(0, 2);\n    };\n  }, e.apply2DTransform2 = function(r) {\n    var n = e.apply2DTransform(r);\n    return function(a) {\n      return n(a.slice(0, 2)).concat(n(a.slice(2, 4)));\n    };\n  }, e.convertCssMatrix = function(r) {\n    if (r) {\n      var n = r.length;\n      if (n === 16) return r;\n      if (n === 6)\n        return [\n          r[0],\n          r[1],\n          0,\n          0,\n          r[2],\n          r[3],\n          0,\n          0,\n          0,\n          0,\n          1,\n          0,\n          r[4],\n          r[5],\n          0,\n          1\n        ];\n    }\n    return [\n      1,\n      0,\n      0,\n      0,\n      0,\n      1,\n      0,\n      0,\n      0,\n      0,\n      1,\n      0,\n      0,\n      0,\n      0,\n      1\n    ];\n  }, e.inverseTransformMatrix = function(r) {\n    var n = [];\n    return t.invert(n, r), [\n      [n[0], n[1], n[2], n[3]],\n      [n[4], n[5], n[6], n[7]],\n      [n[8], n[9], n[10], n[11]],\n      [n[12], n[13], n[14], n[15]]\n    ];\n  };\n})(cp);\nvar VG = lr, qG = Xu, WG = cp, ZG = oL;\nfunction YG(e) {\n  var t;\n  if (typeof e == \"string\") {\n    if (t = document.getElementById(e), t === null)\n      throw new Error(\"No DOM element with id '\" + e + \"' exists on the page.\");\n    return t;\n  } else if (e == null)\n    throw new Error(\"DOM element provided is null or undefined\");\n  return e;\n}\nfunction XG(e) {\n  var t = VG.select(e);\n  return t.node() instanceof HTMLElement && t.size() && t.classed(\"js-plotly-plot\");\n}\nfunction lL(e) {\n  var t = e && e.parentNode;\n  t && t.removeChild(e);\n}\nfunction KG(e, t) {\n  sL(\"global\", e, t);\n}\nfunction sL(e, t, r) {\n  var n = \"plotly.js-style-\" + e, a = document.getElementById(n);\n  a || (a = document.createElement(\"style\"), a.setAttribute(\"id\", n), a.appendChild(document.createTextNode(\"\")), document.head.appendChild(a));\n  var i = a.sheet;\n  i.insertRule ? i.insertRule(t + \"{\" + r + \"}\", 0) : i.addRule ? i.addRule(t, r, 0) : qG.warn(\"addStyleRule failed\");\n}\nfunction JG(e) {\n  var t = \"plotly.js-style-\" + e, r = document.getElementById(t);\n  r && lL(r);\n}\nfunction QG(e) {\n  var t = fL(e), r = [\n    1,\n    0,\n    0,\n    0,\n    0,\n    1,\n    0,\n    0,\n    0,\n    0,\n    1,\n    0,\n    0,\n    0,\n    0,\n    1\n  ];\n  return t.forEach(function(n) {\n    var a = uL(n);\n    if (a) {\n      var i = WG.convertCssMatrix(a);\n      r = ZG.multiply(r, r, i);\n    }\n  }), r;\n}\nfunction uL(e) {\n  var t = window.getComputedStyle(e, null), r = t.getPropertyValue(\"-webkit-transform\") || t.getPropertyValue(\"-moz-transform\") || t.getPropertyValue(\"-ms-transform\") || t.getPropertyValue(\"-o-transform\") || t.getPropertyValue(\"transform\");\n  return r === \"none\" ? null : r.replace(\"matrix\", \"\").replace(\"3d\", \"\").slice(1, -1).split(\",\").map(function(n) {\n    return +n;\n  });\n}\nfunction fL(e) {\n  for (var t = []; eV(e); )\n    t.push(e), e = e.parentNode;\n  return t;\n}\nfunction eV(e) {\n  return e && (e instanceof Element || e instanceof HTMLElement);\n}\nfunction tV(e, t) {\n  return e && t && e.top === t.top && e.left === t.left && e.right === t.right && e.bottom === t.bottom;\n}\nvar dp = {\n  getGraphDiv: YG,\n  isPlotDiv: XG,\n  removeElement: lL,\n  addStyleRule: KG,\n  addRelatedStyleRule: sL,\n  deleteRelatedStyleRule: JG,\n  getFullTransformMatrix: QG,\n  getElementTransformMatrix: uL,\n  getElementAndAncestors: fL,\n  equalDomRects: tV\n}, hp = {\n  mode: {\n    valType: \"enumerated\",\n    dflt: \"afterall\",\n    values: [\"immediate\", \"next\", \"afterall\"],\n    description: [\n      \"Describes how a new animate call interacts with currently-running\",\n      \"animations. If `immediate`, current animations are interrupted and\",\n      \"the new animation is started. If `next`, the current frame is allowed\",\n      \"to complete, after which the new animation is started. If `afterall`\",\n      \"all existing frames are animated to completion before the new animation\",\n      \"is started.\"\n    ].join(\" \")\n  },\n  direction: {\n    valType: \"enumerated\",\n    values: [\"forward\", \"reverse\"],\n    dflt: \"forward\",\n    description: [\n      \"The direction in which to play the frames triggered by the animation call\"\n    ].join(\" \")\n  },\n  fromcurrent: {\n    valType: \"boolean\",\n    dflt: !1,\n    description: [\n      \"Play frames starting at the current frame instead of the beginning.\"\n    ].join(\" \")\n  },\n  frame: {\n    duration: {\n      valType: \"number\",\n      min: 0,\n      dflt: 500,\n      description: [\n        \"The duration in milliseconds of each frame. If greater than the frame\",\n        \"duration, it will be limited to the frame duration.\"\n      ].join(\" \")\n    },\n    redraw: {\n      valType: \"boolean\",\n      dflt: !0,\n      description: [\n        \"Redraw the plot at completion of the transition. This is desirable\",\n        \"for transitions that include properties that cannot be transitioned,\",\n        \"but may significantly slow down updates that do not require a full\",\n        \"redraw of the plot\"\n      ].join(\" \")\n    }\n  },\n  transition: {\n    duration: {\n      valType: \"number\",\n      min: 0,\n      dflt: 500,\n      editType: \"none\",\n      description: [\n        \"The duration of the transition, in milliseconds. If equal to zero,\",\n        \"updates are synchronous.\"\n      ].join(\" \")\n    },\n    easing: {\n      valType: \"enumerated\",\n      dflt: \"cubic-in-out\",\n      values: [\n        \"linear\",\n        \"quad\",\n        \"cubic\",\n        \"sin\",\n        \"exp\",\n        \"circle\",\n        \"elastic\",\n        \"back\",\n        \"bounce\",\n        \"linear-in\",\n        \"quad-in\",\n        \"cubic-in\",\n        \"sin-in\",\n        \"exp-in\",\n        \"circle-in\",\n        \"elastic-in\",\n        \"back-in\",\n        \"bounce-in\",\n        \"linear-out\",\n        \"quad-out\",\n        \"cubic-out\",\n        \"sin-out\",\n        \"exp-out\",\n        \"circle-out\",\n        \"elastic-out\",\n        \"back-out\",\n        \"bounce-out\",\n        \"linear-in-out\",\n        \"quad-in-out\",\n        \"cubic-in-out\",\n        \"sin-in-out\",\n        \"exp-in-out\",\n        \"circle-in-out\",\n        \"elastic-in-out\",\n        \"back-in-out\",\n        \"bounce-in-out\"\n      ],\n      editType: \"none\",\n      description: \"The easing function used for the transition\"\n    },\n    ordering: {\n      valType: \"enumerated\",\n      values: [\"layout first\", \"traces first\"],\n      dflt: \"layout first\",\n      editType: \"none\",\n      description: [\n        \"Determines whether the figure's layout or traces smoothly transitions\",\n        \"during updates that make both traces and layout change.\"\n      ].join(\" \")\n    }\n  }\n}, cL = en.extendFlat, rV = ms, dL = {\n  valType: \"flaglist\",\n  extras: [\"none\"],\n  flags: [\"calc\", \"clearAxisTypes\", \"plot\", \"style\", \"markerSize\", \"colorbars\"],\n  description: [\n    \"trace attributes should include an `editType` string matching this flaglist.\",\n    \"*calc* is the most extensive: a full (re)plot starting by clearing `gd.calcdata`\",\n    \"to force it to be regenerated\",\n    \"*clearAxisTypes* resets the types of the axes this trace is on, because new data could\",\n    \"cause the automatic axis type detection to change. Log type will not be cleared, as that\",\n    \"is never automatically chosen so must have been user-specified.\",\n    \"*plot* (re)plots but without first clearing `gd.calcdata`.\",\n    \"*style* only calls `module.style` (or module.editStyle) for all trace modules and redraws the legend.\",\n    \"*markerSize* is like *style*, but propagate axis-range changes due to scatter `marker.size`\",\n    \"*colorbars* only redraws colorbars.\"\n  ].join(\" \")\n}, hL = {\n  valType: \"flaglist\",\n  extras: [\"none\"],\n  flags: [\n    \"calc\",\n    \"plot\",\n    \"legend\",\n    \"ticks\",\n    \"axrange\",\n    \"layoutstyle\",\n    \"modebar\",\n    \"camera\",\n    \"arraydraw\",\n    \"colorbars\"\n  ],\n  description: [\n    \"layout attributes should include an `editType` string matching this flaglist.\",\n    \"*calc* is the most extensive: a full (re)plot starting by clearing `gd.calcdata`\",\n    \"to force it to be regenerated\",\n    \"*plot* (re)plots but without first clearing `gd.calcdata`.\",\n    \"*legend* only redraws the legend.\",\n    \"*ticks* only redraws axis ticks, labels, and gridlines.\",\n    \"*axrange* minimal sequence when updating axis ranges.\",\n    \"*layoutstyle* reapplies global and SVG cartesian axis styles.\",\n    \"*modebar* just updates the modebar.\",\n    \"*camera* just updates the camera settings for gl3d scenes.\",\n    \"*arraydraw* allows component arrays to invoke the redraw routines just for the\",\n    \"component(s) that changed.\",\n    \"*colorbars* only redraws colorbars.\"\n  ].join(\" \")\n}, nV = dL.flags.slice().concat([\"fullReplot\"]), aV = hL.flags.slice().concat(\"layoutReplot\"), Lo = {\n  traces: dL,\n  layout: hL,\n  /*\n   * default (all false) edit flags for restyle (traces)\n   * creates a new object each call, so the caller can mutate freely\n   */\n  traceFlags: function() {\n    return x2(nV);\n  },\n  /*\n   * default (all false) edit flags for relayout\n   * creates a new object each call, so the caller can mutate freely\n   */\n  layoutFlags: function() {\n    return x2(aV);\n  },\n  /*\n   * update `flags` with the `editType` values found in `attr`\n   */\n  update: function(e, t) {\n    var r = t.editType;\n    if (r && r !== \"none\")\n      for (var n = r.split(\"+\"), a = 0; a < n.length; a++)\n        e[n[a]] = !0;\n  },\n  overrideAll: vL\n};\nfunction x2(e) {\n  for (var t = {}, r = 0; r < e.length; r++) t[e[r]] = !1;\n  return t;\n}\nfunction vL(e, t, r) {\n  var n = cL({}, e);\n  for (var a in n) {\n    var i = n[a];\n    rV(i) && (n[a] = pL(i, t, r, a));\n  }\n  return r === \"from-root\" && (n.editType = t), n;\n}\nfunction pL(e, t, r, n) {\n  if (e.valType) {\n    var a = cL({}, e);\n    if (a.editType = t, Array.isArray(e.items)) {\n      a.items = new Array(e.items.length);\n      for (var i = 0; i < e.items.length; i++)\n        a.items[i] = pL(e.items[i], t);\n    }\n    return a;\n  } else\n    return vL(\n      e,\n      t,\n      n.charAt(0) === \"_\" ? \"nested\" : \"from-root\"\n    );\n}\nvar Zi = {};\nZi.dash = {\n  valType: \"string\",\n  // string type usually doesn't take values... this one should really be\n  // a special type or at least a special coercion function, from the GUI\n  // you only get these values but elsewhere the user can supply a list of\n  // dash lengths in px, and it will be honored\n  values: [\"solid\", \"dot\", \"dash\", \"longdash\", \"dashdot\", \"longdashdot\"],\n  dflt: \"solid\",\n  editType: \"style\",\n  description: [\n    \"Sets the dash style of lines. Set to a dash type string\",\n    \"(*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*)\",\n    \"or a dash length list in px (eg *5px,10px,2px,2px*).\"\n  ].join(\" \")\n};\nZi.pattern = {\n  shape: {\n    valType: \"enumerated\",\n    values: [\"\", \"/\", \"\\\\\", \"x\", \"-\", \"|\", \"+\", \".\"],\n    dflt: \"\",\n    arrayOk: !0,\n    editType: \"style\",\n    description: [\n      \"Sets the shape of the pattern fill.\",\n      \"By default, no pattern is used for filling the area.\"\n    ].join(\" \")\n  },\n  fillmode: {\n    valType: \"enumerated\",\n    values: [\"replace\", \"overlay\"],\n    dflt: \"replace\",\n    editType: \"style\",\n    description: [\n      \"Determines whether `marker.color` should be used\",\n      \"as a default to `bgcolor` or a `fgcolor`.\"\n    ].join(\" \")\n  },\n  bgcolor: {\n    valType: \"color\",\n    arrayOk: !0,\n    editType: \"style\",\n    description: [\n      \"When there is no colorscale sets the color of background pattern fill.\",\n      \"Defaults to a `marker.color` background when `fillmode` is *overlay*.\",\n      \"Otherwise, defaults to a transparent background.\"\n    ].join(\" \")\n  },\n  fgcolor: {\n    valType: \"color\",\n    arrayOk: !0,\n    editType: \"style\",\n    description: [\n      \"When there is no colorscale sets the color of foreground pattern fill.\",\n      \"Defaults to a `marker.color` background when `fillmode` is *replace*.\",\n      \"Otherwise, defaults to dark grey or white\",\n      \"to increase contrast with the `bgcolor`.\"\n    ].join(\" \")\n  },\n  fgopacity: {\n    valType: \"number\",\n    editType: \"style\",\n    min: 0,\n    max: 1,\n    description: [\n      \"Sets the opacity of the foreground pattern fill.\",\n      \"Defaults to a 0.5 when `fillmode` is *overlay*.\",\n      \"Otherwise, defaults to 1.\"\n    ].join(\" \")\n  },\n  size: {\n    valType: \"number\",\n    min: 0,\n    dflt: 8,\n    arrayOk: !0,\n    editType: \"style\",\n    description: [\n      \"Sets the size of unit squares of the pattern fill in pixels,\",\n      \"which corresponds to the interval of repetition of the pattern.\"\n    ].join(\" \")\n  },\n  solidity: {\n    valType: \"number\",\n    min: 0,\n    max: 1,\n    dflt: 0.3,\n    arrayOk: !0,\n    editType: \"style\",\n    description: [\n      \"Sets the solidity of the pattern fill.\",\n      \"Solidity is roughly the fraction of the area filled by the pattern.\",\n      \"Solidity of 0 shows only the background color without pattern\",\n      \"and solidty of 1 shows only the foreground color without pattern.\"\n    ].join(\" \")\n  },\n  editType: \"style\",\n  description: [\n    \"Sets the pattern within the marker.\"\n  ].join(\" \")\n};\nvar _i = {}, mL = {\n  FORMAT_LINK: \"https://github.com/d3/d3-format/tree/v1.4.5#d3-format\",\n  DATE_FORMAT_LINK: \"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format\"\n}, gL = mL, yL = gL.FORMAT_LINK, bL = gL.DATE_FORMAT_LINK;\nfunction _L(e) {\n  var t = e && e.supportOther;\n  return [\n    \"Variables are inserted using %{variable},\",\n    'for example \"y: %{y}\"' + (t ? \" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown.\" : \".\"),\n    `Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\".`,\n    yL,\n    \"for details on the formatting syntax.\",\n    `Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\".`,\n    bL,\n    \"for details on the date formatting syntax.\"\n  ].join(\" \");\n}\nfunction iV() {\n  return [\n    \"Variables are inserted using %{variable},\",\n    'for example \"x0: %{x0}\".',\n    `Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{x0:$.2f}\". See`,\n    yL,\n    \"for details on the formatting syntax.\",\n    `Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{x0|%m %b %Y}\". See`,\n    bL,\n    \"for details on the date formatting syntax.\",\n    \"A single multiplication or division operation may be applied to numeric variables, and combined with\",\n    'd3 number formatting, for example \"Length in cm: %{x0*2.54}\", \"%{slope*60:.1f} meters per second.\"',\n    \"For log axes, variable values are given in log units.\",\n    \"For date axes, x/y coordinate variables and center variables use datetimes, while all other variable values use values in ms.\"\n  ].join(\" \");\n}\nfunction X1(e) {\n  var t = e.description ? \" \" + e.description : \"\", r = e.keys || [];\n  if (r.length > 0) {\n    for (var n = [], a = 0; a < r.length; a++)\n      n[a] = \"`\" + r[a] + \"`\";\n    t = t + \"Finally, the template string has access to \", r.length === 1 ? t = t + \"variable \" + n[0] : t = t + \"variables \" + n.slice(0, -1).join(\", \") + \" and \" + n.slice(-1) + \".\";\n  }\n  return t;\n}\n_i.hovertemplateAttrs = function(e, t) {\n  e = e || {}, t = t || {};\n  var r = X1(t), n = {\n    valType: \"string\",\n    dflt: \"\",\n    editType: e.editType || \"none\",\n    description: [\n      \"Template string used for rendering the information that appear on hover box.\",\n      \"Note that this will override `hoverinfo`.\",\n      _L({ supportOther: !0 }),\n      \"The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data.\",\n      \"Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.\",\n      r,\n      'Anything contained in tag `<extra>` is displayed in the secondary box, for example \"<extra>{fullData.name}</extra>\".',\n      \"To hide the secondary box completely, use an empty tag `<extra></extra>`.\"\n    ].join(\" \")\n  };\n  return e.arrayOk !== !1 && (n.arrayOk = !0), n;\n};\n_i.texttemplateAttrs = function(e, t) {\n  e = e || {}, t = t || {};\n  var r = X1(t), n = {\n    valType: \"string\",\n    dflt: \"\",\n    editType: e.editType || \"calc\",\n    description: [\n      \"Template string used for rendering the information text that appear on points.\",\n      \"Note that this will override `textinfo`.\",\n      _L(),\n      \"Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.\",\n      r\n    ].join(\" \")\n  };\n  return e.arrayOk !== !1 && (n.arrayOk = !0), n;\n};\n_i.shapeTexttemplateAttrs = function(e, t) {\n  e = e || {}, t = t || {};\n  var r = e.newshape ? \"new \" : \"\", n = X1(t), a = {\n    valType: \"string\",\n    dflt: \"\",\n    editType: e.editType || \"arraydraw\",\n    description: [\n      \"Template string used for rendering the \" + r + \"shape's label.\",\n      \"Note that this will override `text`.\",\n      iV(),\n      n\n    ].join(\" \")\n  };\n  return a;\n};\nfunction fl(e, t) {\n  return t ? t.d2l(e) : e;\n}\nfunction xL(e, t) {\n  return t ? t.l2d(e) : e;\n}\nfunction oV(e) {\n  return e.x0;\n}\nfunction lV(e) {\n  return e.x1;\n}\nfunction sV(e) {\n  return e.y0;\n}\nfunction uV(e) {\n  return e.y1;\n}\nfunction vp(e, t) {\n  return fl(e.x1, t) - fl(e.x0, t);\n}\nfunction pp(e, t, r) {\n  return fl(e.y1, r) - fl(e.y0, r);\n}\nfunction fV(e, t) {\n  return Math.abs(vp(e, t));\n}\nfunction cV(e, t, r) {\n  return Math.abs(pp(e, t, r));\n}\nfunction dV(e, t, r) {\n  return e.type !== \"line\" ? void 0 : Math.sqrt(\n    Math.pow(vp(e, t), 2) + Math.pow(pp(e, t, r), 2)\n  );\n}\nfunction hV(e, t) {\n  return xL((fl(e.x1, t) + fl(e.x0, t)) / 2, t);\n}\nfunction vV(e, t, r) {\n  return xL((fl(e.y1, r) + fl(e.y0, r)) / 2, r);\n}\nfunction pV(e, t, r) {\n  return e.type !== \"line\" ? void 0 : pp(e, t, r) / vp(e, t);\n}\nvar K1 = {\n  x0: oV,\n  x1: lV,\n  y0: sV,\n  y1: uV,\n  slope: pV,\n  dx: vp,\n  dy: pp,\n  width: fV,\n  height: cV,\n  length: dV,\n  xcenter: hV,\n  ycenter: vV\n}, mV = Lo.overrideAll, Dl = Wi, w2 = Fn, gV = Zi.dash, zo = en.extendFlat, yV = _i.shapeTexttemplateAttrs, bV = K1, _V = mV({\n  newshape: {\n    visible: zo({}, Dl.visible, {\n      description: [\n        \"Determines whether or not new shape is visible.\",\n        \"If *legendonly*, the shape is not drawn,\",\n        \"but can appear as a legend item\",\n        \"(provided that the legend itself is visible).\"\n      ].join(\" \")\n    }),\n    showlegend: {\n      valType: \"boolean\",\n      dflt: !1,\n      description: [\n        \"Determines whether or not new\",\n        \"shape is shown in the legend.\"\n      ].join(\" \")\n    },\n    legend: zo({}, Dl.legend, {\n      description: [\n        \"Sets the reference to a legend to show new shape in.\",\n        \"References to these legends are *legend*, *legend2*, *legend3*, etc.\",\n        \"Settings for these legends are set in the layout, under\",\n        \"`layout.legend`, `layout.legend2`, etc.\"\n      ].join(\" \")\n    }),\n    legendgroup: zo({}, Dl.legendgroup, {\n      description: [\n        \"Sets the legend group for new shape.\",\n        \"Traces and shapes part of the same legend group hide/show at the same time\",\n        \"when toggling legend items.\"\n      ].join(\" \")\n    }),\n    legendgrouptitle: {\n      text: zo({}, Dl.legendgrouptitle.text, {}),\n      font: w2({\n        description: [\n          \"Sets this legend group's title font.\"\n        ].join(\" \")\n      })\n    },\n    legendrank: zo({}, Dl.legendrank, {\n      description: [\n        \"Sets the legend rank for new shape.\",\n        \"Items and groups with smaller ranks are presented on top/left side while\",\n        \"with *reversed* `legend.traceorder` they are on bottom/right side.\",\n        \"The default legendrank is 1000,\",\n        \"so that you can use ranks less than 1000 to place certain items before all unranked items,\",\n        \"and ranks greater than 1000 to go after all unranked items.\"\n      ].join(\" \")\n    }),\n    legendwidth: zo({}, Dl.legendwidth, {\n      description: \"Sets the width (in px or fraction) of the legend for new shape.\"\n    }),\n    line: {\n      color: {\n        valType: \"color\",\n        description: [\n          \"Sets the line color.\",\n          \"By default uses either dark grey or white\",\n          \"to increase contrast with background color.\"\n        ].join(\" \")\n      },\n      width: {\n        valType: \"number\",\n        min: 0,\n        dflt: 4,\n        description: \"Sets the line width (in px).\"\n      },\n      dash: zo({}, gV, {\n        dflt: \"solid\"\n      })\n    },\n    fillcolor: {\n      valType: \"color\",\n      dflt: \"rgba(0,0,0,0)\",\n      description: [\n        \"Sets the color filling new shapes' interior.\",\n        \"Please note that if using a fillcolor with alpha greater than half,\",\n        \"drag inside the active shape starts moving the shape underneath,\",\n        \"otherwise a new shape could be started over.\"\n      ].join(\" \")\n    },\n    fillrule: {\n      valType: \"enumerated\",\n      values: [\"evenodd\", \"nonzero\"],\n      dflt: \"evenodd\",\n      description: [\n        \"Determines the path's interior.\",\n        \"For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule\"\n      ].join(\" \")\n    },\n    opacity: {\n      valType: \"number\",\n      min: 0,\n      max: 1,\n      dflt: 1,\n      description: \"Sets the opacity of new shapes.\"\n    },\n    layer: {\n      valType: \"enumerated\",\n      values: [\"below\", \"above\"],\n      dflt: \"above\",\n      description: \"Specifies whether new shapes are drawn below or above traces.\"\n    },\n    drawdirection: {\n      valType: \"enumerated\",\n      values: [\"ortho\", \"horizontal\", \"vertical\", \"diagonal\"],\n      dflt: \"diagonal\",\n      description: [\n        \"When `dragmode` is set to *drawrect*, *drawline* or *drawcircle*\",\n        \"this limits the drag to be horizontal, vertical or diagonal.\",\n        \"Using *diagonal* there is no limit e.g. in drawing lines in any direction.\",\n        \"*ortho* limits the draw to be either horizontal or vertical.\",\n        \"*horizontal* allows horizontal extend.\",\n        \"*vertical* allows vertical extend.\"\n      ].join(\" \")\n    },\n    name: zo({}, Dl.name, {\n      description: [\n        \"Sets new shape name.\",\n        \"The name appears as the legend item.\"\n      ].join(\" \")\n    }),\n    label: {\n      text: {\n        valType: \"string\",\n        dflt: \"\",\n        description: [\n          \"Sets the text to display with the new shape.\",\n          \"It is also used for legend item if `name` is not provided.\"\n        ].join(\" \")\n      },\n      texttemplate: yV({ newshape: !0 }, { keys: Object.keys(bV) }),\n      font: w2({\n        description: \"Sets the new shape label text font.\"\n      }),\n      textposition: {\n        valType: \"enumerated\",\n        values: [\n          \"top left\",\n          \"top center\",\n          \"top right\",\n          \"middle left\",\n          \"middle center\",\n          \"middle right\",\n          \"bottom left\",\n          \"bottom center\",\n          \"bottom right\",\n          \"start\",\n          \"middle\",\n          \"end\"\n        ],\n        description: [\n          \"Sets the position of the label text relative to the new shape.\",\n          \"Supported values for rectangles, circles and paths are\",\n          \"*top left*, *top center*, *top right*, *middle left*,\",\n          \"*middle center*, *middle right*, *bottom left*, *bottom center*,\",\n          \"and *bottom right*.\",\n          \"Supported values for lines are *start*, *middle*, and *end*.\",\n          \"Default: *middle center* for rectangles, circles, and paths; *middle* for lines.\"\n        ].join(\" \")\n      },\n      textangle: {\n        valType: \"angle\",\n        dflt: \"auto\",\n        description: [\n          \"Sets the angle at which the label text is drawn\",\n          \"with respect to the horizontal. For lines, angle *auto*\",\n          \"is the same angle as the line. For all other shapes,\",\n          \"angle *auto* is horizontal.\"\n        ].join(\" \")\n      },\n      xanchor: {\n        valType: \"enumerated\",\n        values: [\"auto\", \"left\", \"center\", \"right\"],\n        dflt: \"auto\",\n        description: [\n          \"Sets the label's horizontal position anchor\",\n          \"This anchor binds the specified `textposition` to the *left*, *center*\",\n          \"or *right* of the label text.\",\n          \"For example, if `textposition` is set to *top right* and\",\n          \"`xanchor` to *right* then the right-most portion of the\",\n          \"label text lines up with the right-most edge of the\",\n          \"new shape.\"\n        ].join(\" \")\n      },\n      yanchor: {\n        valType: \"enumerated\",\n        values: [\"top\", \"middle\", \"bottom\"],\n        description: [\n          \"Sets the label's vertical position anchor\",\n          \"This anchor binds the specified `textposition` to the *top*, *middle*\",\n          \"or *bottom* of the label text.\",\n          \"For example, if `textposition` is set to *top right* and\",\n          \"`yanchor` to *top* then the top-most portion of the\",\n          \"label text lines up with the top-most edge of the\",\n          \"new shape.\"\n        ].join(\" \")\n      },\n      padding: {\n        valType: \"number\",\n        dflt: 3,\n        min: 0,\n        description: \"Sets padding (in px) between edge of label and edge of new shape.\"\n      }\n    }\n  },\n  activeshape: {\n    fillcolor: {\n      valType: \"color\",\n      dflt: \"rgb(255,0,255)\",\n      description: \"Sets the color filling the active shape' interior.\"\n    },\n    opacity: {\n      valType: \"number\",\n      min: 0,\n      max: 1,\n      dflt: 0.5,\n      description: \"Sets the opacity of the active shape.\"\n    }\n  }\n}, \"none\", \"from-root\"), xV = Zi.dash, wV = en.extendFlat, TV = {\n  newselection: {\n    mode: {\n      valType: \"enumerated\",\n      values: [\"immediate\", \"gradual\"],\n      dflt: \"immediate\",\n      editType: \"none\",\n      description: [\n        \"Describes how a new selection is created.\",\n        \"If `immediate`, a new selection is created after first mouse up.\",\n        \"If `gradual`, a new selection is not created after first mouse.\",\n        \"By adding to and subtracting from the initial selection,\",\n        \"this option allows declaring extra outlines of the selection.\"\n      ].join(\" \")\n    },\n    line: {\n      color: {\n        valType: \"color\",\n        editType: \"none\",\n        description: [\n          \"Sets the line color.\",\n          \"By default uses either dark grey or white\",\n          \"to increase contrast with background color.\"\n        ].join(\" \")\n      },\n      width: {\n        valType: \"number\",\n        min: 1,\n        dflt: 1,\n        editType: \"none\",\n        description: \"Sets the line width (in px).\"\n      },\n      dash: wV({}, xV, {\n        dflt: \"dot\",\n        editType: \"none\"\n      }),\n      editType: \"none\"\n    },\n    // no drawdirection here noting that layout.selectdirection is used instead.\n    editType: \"none\"\n  },\n  activeselection: {\n    fillcolor: {\n      valType: \"color\",\n      dflt: \"rgba(0,0,0,0)\",\n      editType: \"none\",\n      description: \"Sets the color filling the active selection' interior.\"\n    },\n    opacity: {\n      valType: \"number\",\n      min: 0,\n      max: 1,\n      dflt: 0.5,\n      editType: \"none\",\n      description: \"Sets the opacity of the active selection.\"\n    },\n    editType: \"none\"\n  }\n}, J1 = function(e) {\n  var t = e.editType;\n  return {\n    t: {\n      valType: \"number\",\n      dflt: 0,\n      editType: t,\n      description: \"The amount of padding (in px) along the top of the component.\"\n    },\n    r: {\n      valType: \"number\",\n      dflt: 0,\n      editType: t,\n      description: \"The amount of padding (in px) on the right side of the component.\"\n    },\n    b: {\n      valType: \"number\",\n      dflt: 0,\n      editType: t,\n      description: \"The amount of padding (in px) along the bottom of the component.\"\n    },\n    l: {\n      valType: \"number\",\n      dflt: 0,\n      editType: t,\n      description: \"The amount of padding (in px) on the left side of the component.\"\n    },\n    editType: t\n  };\n}, ly = Fn, kV = hp, Fh = da, T2 = _V, k2 = TV, AV = J1, A2 = en.extendFlat, mp = ly({\n  editType: \"calc\",\n  description: [\n    \"Sets the global font.\",\n    \"Note that fonts used in traces and other\",\n    \"layout components inherit from the global font.\"\n  ].join(\" \")\n});\nmp.family.dflt = '\"Open Sans\", verdana, arial, sans-serif';\nmp.size.dflt = 12;\nmp.color.dflt = Fh.defaultLine;\nvar Xc = {\n  font: mp,\n  title: {\n    text: {\n      valType: \"string\",\n      editType: \"layoutstyle\",\n      description: [\n        \"Sets the plot's title.\",\n        \"Note that before the existence of `title.text`, the title's\",\n        \"contents used to be defined as the `title` attribute itself.\",\n        \"This behavior has been deprecated.\"\n      ].join(\" \")\n    },\n    font: ly({\n      editType: \"layoutstyle\",\n      description: [\n        \"Sets the title font.\",\n        \"Note that the title's font used to be customized\",\n        \"by the now deprecated `titlefont` attribute.\"\n      ].join(\" \")\n    }),\n    xref: {\n      valType: \"enumerated\",\n      dflt: \"container\",\n      values: [\"container\", \"paper\"],\n      editType: \"layoutstyle\",\n      description: [\n        \"Sets the container `x` refers to.\",\n        \"*container* spans the entire `width` of the plot.\",\n        \"*paper* refers to the width of the plotting area only.\"\n      ].join(\" \")\n    },\n    yref: {\n      valType: \"enumerated\",\n      dflt: \"container\",\n      values: [\"container\", \"paper\"],\n      editType: \"layoutstyle\",\n      description: [\n        \"Sets the container `y` refers to.\",\n        \"*container* spans the entire `height` of the plot.\",\n        \"*paper* refers to the height of the plotting area only.\"\n      ].join(\" \")\n    },\n    x: {\n      valType: \"number\",\n      min: 0,\n      max: 1,\n      dflt: 0.5,\n      editType: \"layoutstyle\",\n      description: [\n        \"Sets the x position with respect to `xref` in normalized\",\n        \"coordinates from *0* (left) to *1* (right).\"\n      ].join(\" \")\n    },\n    y: {\n      valType: \"number\",\n      min: 0,\n      max: 1,\n      dflt: \"auto\",\n      editType: \"layoutstyle\",\n      description: [\n        \"Sets the y position with respect to `yref` in normalized\",\n        \"coordinates from *0* (bottom) to *1* (top).\",\n        \"*auto* places the baseline of the title onto the\",\n        \"vertical center of the top margin.\"\n      ].join(\" \")\n    },\n    xanchor: {\n      valType: \"enumerated\",\n      dflt: \"auto\",\n      values: [\"auto\", \"left\", \"center\", \"right\"],\n      editType: \"layoutstyle\",\n      description: [\n        \"Sets the title's horizontal alignment with respect to its x position.\",\n        \"*left* means that the title starts at x,\",\n        \"*right* means that the title ends at x\",\n        \"and *center* means that the title's center is at x.\",\n        \"*auto* divides `xref` by three and calculates the `xanchor`\",\n        \"value automatically based on the value of `x`.\"\n      ].join(\" \")\n    },\n    yanchor: {\n      valType: \"enumerated\",\n      dflt: \"auto\",\n      values: [\"auto\", \"top\", \"middle\", \"bottom\"],\n      editType: \"layoutstyle\",\n      description: [\n        \"Sets the title's vertical alignment with respect to its y position.\",\n        \"*top* means that the title's cap line is at y,\",\n        \"*bottom* means that the title's baseline is at y\",\n        \"and *middle* means that the title's midline is at y.\",\n        \"*auto* divides `yref` by three and calculates the `yanchor`\",\n        \"value automatically based on the value of `y`.\"\n      ].join(\" \")\n    },\n    pad: A2(AV({ editType: \"layoutstyle\" }), {\n      description: [\n        \"Sets the padding of the title.\",\n        \"Each padding value only applies when the corresponding\",\n        \"`xanchor`/`yanchor` value is set accordingly. E.g. for left\",\n        \"padding to take effect, `xanchor` must be set to *left*.\",\n        \"The same rule applies if `xanchor`/`yanchor` is determined automatically.\",\n        \"Padding is muted if the respective anchor value is *middle*/*center*.\"\n      ].join(\" \")\n    }),\n    automargin: {\n      valType: \"boolean\",\n      dflt: !1,\n      editType: \"plot\",\n      description: [\n        \"Determines whether the title can automatically push the figure margins.\",\n        \"If `yref='paper'` then the margin will expand to ensure that the title doesn’t\",\n        \"overlap with the edges of the container. If `yref='container'` then the margins\",\n        \"will ensure that the title doesn’t overlap with the plot area, tick labels,\",\n        \"and axis titles. If `automargin=true` and the margins need to be expanded,\",\n        \"then y will be set to a default 1 and yanchor will be set to an appropriate\",\n        \"default to ensure that minimal margin space is needed. Note that when `yref='paper'`,\",\n        \"only 1 or 0 are allowed y values. Invalid values will be reset to the default 1.\"\n      ].join(\" \")\n    },\n    editType: \"layoutstyle\"\n  },\n  uniformtext: {\n    mode: {\n      valType: \"enumerated\",\n      values: [!1, \"hide\", \"show\"],\n      dflt: !1,\n      editType: \"plot\",\n      description: [\n        \"Determines how the font size for various text\",\n        \"elements are uniformed between each trace type.\",\n        \"If the computed text sizes were smaller than\",\n        \"the minimum size defined by `uniformtext.minsize`\",\n        \"using *hide* option hides the text; and\",\n        \"using *show* option shows the text without further downscaling.\",\n        \"Please note that if the size defined by `minsize` is greater than\",\n        \"the font size defined by trace, then the `minsize` is used.\"\n      ].join(\" \")\n    },\n    minsize: {\n      valType: \"number\",\n      min: 0,\n      dflt: 0,\n      editType: \"plot\",\n      description: [\n        \"Sets the minimum text size between traces of the same type.\"\n      ].join(\" \")\n    },\n    editType: \"plot\"\n  },\n  autosize: {\n    valType: \"boolean\",\n    dflt: !1,\n    // autosize, width, and height get special editType treatment in _relayout\n    // so we can handle noop resizes more efficiently\n    editType: \"none\",\n    description: [\n      \"Determines whether or not a layout width or height\",\n      \"that has been left undefined by the user\",\n      \"is initialized on each relayout.\",\n      \"Note that, regardless of this attribute,\",\n      \"an undefined layout width or height\",\n      \"is always initialized on the first call to plot.\"\n    ].join(\" \")\n  },\n  width: {\n    valType: \"number\",\n    min: 10,\n    dflt: 700,\n    editType: \"plot\",\n    description: [\n      \"Sets the plot's width (in px).\"\n    ].join(\" \")\n  },\n  height: {\n    valType: \"number\",\n    min: 10,\n    dflt: 450,\n    editType: \"plot\",\n    description: [\n      \"Sets the plot's height (in px).\"\n    ].join(\" \")\n  },\n  minreducedwidth: {\n    valType: \"number\",\n    min: 2,\n    dflt: 64,\n    editType: \"plot\",\n    description: \"Minimum width of the plot with margin.automargin applied (in px)\"\n  },\n  minreducedheight: {\n    valType: \"number\",\n    min: 2,\n    dflt: 64,\n    editType: \"plot\",\n    description: \"Minimum height of the plot with margin.automargin applied (in px)\"\n  },\n  margin: {\n    l: {\n      valType: \"number\",\n      min: 0,\n      dflt: 80,\n      editType: \"plot\",\n      description: \"Sets the left margin (in px).\"\n    },\n    r: {\n      valType: \"number\",\n      min: 0,\n      dflt: 80,\n      editType: \"plot\",\n      description: \"Sets the right margin (in px).\"\n    },\n    t: {\n      valType: \"number\",\n      min: 0,\n      dflt: 100,\n      editType: \"plot\",\n      description: \"Sets the top margin (in px).\"\n    },\n    b: {\n      valType: \"number\",\n      min: 0,\n      dflt: 80,\n      editType: \"plot\",\n      description: \"Sets the bottom margin (in px).\"\n    },\n    pad: {\n      valType: \"number\",\n      min: 0,\n      dflt: 0,\n      editType: \"plot\",\n      description: [\n        \"Sets the amount of padding (in px)\",\n        \"between the plotting area and the axis lines\"\n      ].join(\" \")\n    },\n    autoexpand: {\n      valType: \"boolean\",\n      dflt: !0,\n      editType: \"plot\",\n      description: [\n        \"Turns on/off margin expansion computations.\",\n        \"Legends, colorbars, updatemenus, sliders, axis rangeselector and rangeslider\",\n        \"are allowed to push the margins by defaults.\"\n      ].join(\" \")\n    },\n    editType: \"plot\"\n  },\n  computed: {\n    valType: \"any\",\n    editType: \"none\",\n    description: [\n      \"Placeholder for exporting automargin-impacting values namely\",\n      \"`margin.t`, `margin.b`, `margin.l` and `margin.r` in *full-json* mode.\"\n    ].join(\" \")\n  },\n  paper_bgcolor: {\n    valType: \"color\",\n    dflt: Fh.background,\n    editType: \"plot\",\n    description: \"Sets the background color of the paper where the graph is drawn.\"\n  },\n  plot_bgcolor: {\n    // defined here, but set in cartesian.supplyLayoutDefaults\n    // because it needs to know if there are (2D) axes or not\n    valType: \"color\",\n    dflt: Fh.background,\n    editType: \"layoutstyle\",\n    description: [\n      \"Sets the background color of the plotting area in-between x and y axes.\"\n    ].join(\" \")\n  },\n  autotypenumbers: {\n    valType: \"enumerated\",\n    values: [\"convert types\", \"strict\"],\n    dflt: \"convert types\",\n    editType: \"calc\",\n    description: [\n      \"Using *strict* a numeric string in trace data is not converted to a number.\",\n      \"Using *convert types* a numeric string in trace data may be\",\n      \"treated as a number during automatic axis `type` detection.\",\n      \"This is the default value; however it could be overridden for individual axes.\"\n    ].join(\" \")\n  },\n  separators: {\n    valType: \"string\",\n    editType: \"plot\",\n    description: [\n      \"Sets the decimal and thousand separators.\",\n      \"For example, *. * puts a '.' before decimals and a space\",\n      \"between thousands. In English locales, dflt is *.,* but\",\n      \"other locales may alter this default.\"\n    ].join(\" \")\n  },\n  hidesources: {\n    valType: \"boolean\",\n    dflt: !1,\n    editType: \"plot\",\n    description: [\n      \"Determines whether or not a text link citing the data source is\",\n      \"placed at the bottom-right cored of the figure.\",\n      \"Has only an effect only on graphs that have been generated via\",\n      \"forked graphs from the Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise).\"\n    ].join(\" \")\n  },\n  showlegend: {\n    // handled in legend.supplyLayoutDefaults\n    // but included here because it's not in the legend object\n    valType: \"boolean\",\n    editType: \"legend\",\n    description: [\n      \"Determines whether or not a legend is drawn.\",\n      \"Default is `true` if there is a trace to show and any of these:\",\n      \"a) Two or more traces would by default be shown in the legend.\",\n      \"b) One pie trace is shown in the legend.\",\n      \"c) One trace is explicitly given with `showlegend: true`.\"\n    ].join(\" \")\n  },\n  colorway: {\n    valType: \"colorlist\",\n    dflt: Fh.defaults,\n    editType: \"calc\",\n    description: \"Sets the default trace colors.\"\n  },\n  datarevision: {\n    valType: \"any\",\n    editType: \"calc\",\n    description: [\n      \"If provided, a changed value tells `Plotly.react` that\",\n      \"one or more data arrays has changed. This way you can modify\",\n      \"arrays in-place rather than making a complete new copy for an\",\n      \"incremental change.\",\n      \"If NOT provided, `Plotly.react` assumes that data arrays are\",\n      \"being treated as immutable, thus any data array with a\",\n      \"different identity from its predecessor contains new data.\"\n    ].join(\" \")\n  },\n  uirevision: {\n    valType: \"any\",\n    editType: \"none\",\n    description: [\n      \"Used to allow user interactions with the plot to persist after\",\n      \"`Plotly.react` calls that are unaware of these interactions.\",\n      \"If `uirevision` is omitted, or if it is given and it changed from\",\n      \"the previous `Plotly.react` call, the exact new figure is used.\",\n      \"If `uirevision` is truthy and did NOT change, any attribute\",\n      \"that has been affected by user interactions and did not receive a\",\n      \"different value in the new figure will keep the interaction value.\",\n      \"`layout.uirevision` attribute serves as the default for\",\n      \"`uirevision` attributes in various sub-containers. For finer\",\n      \"control you can set these sub-attributes directly. For example,\",\n      \"if your app separately controls the data on the x and y axes you\",\n      \"might set `xaxis.uirevision=*time*` and `yaxis.uirevision=*cost*`.\",\n      \"Then if only the y data is changed, you can update\",\n      \"`yaxis.uirevision=*quantity*` and the y axis range will reset but\",\n      \"the x axis range will retain any user-driven zoom.\"\n    ].join(\" \")\n  },\n  editrevision: {\n    valType: \"any\",\n    editType: \"none\",\n    description: [\n      \"Controls persistence of user-driven changes in `editable: true`\",\n      \"configuration, other than trace names and axis titles.\",\n      \"Defaults to `layout.uirevision`.\"\n    ].join(\" \")\n  },\n  selectionrevision: {\n    valType: \"any\",\n    editType: \"none\",\n    description: [\n      \"Controls persistence of user-driven changes in selected points\",\n      \"from all traces.\"\n    ].join(\" \")\n  },\n  template: {\n    valType: \"any\",\n    editType: \"calc\",\n    description: [\n      \"Default attributes to be applied to the plot. Templates can be\",\n      \"created from existing plots using `Plotly.makeTemplate`, or\",\n      \"created manually. They should be objects with format:\",\n      \"`{layout: layoutTemplate, data: {[type]: [traceTemplate, ...]}, ...}`\",\n      \"`layoutTemplate` and `traceTemplate` are objects matching the\",\n      \"attribute structure of `layout` and a data trace. \",\n      \"Trace templates are applied cyclically to traces of each type.\",\n      \"Container arrays (eg `annotations`) have special handling:\",\n      \"An object ending in `defaults` (eg `annotationdefaults`) is applied\",\n      \"to each array item. But if an item has a `templateitemname` key\",\n      \"we look in the template array for an item with matching `name` and\",\n      \"apply that instead. If no matching `name` is found we mark the item\",\n      \"invisible. Any named template item not referenced is appended to\",\n      \"the end of the array, so you can use this for a watermark annotation\",\n      \"or a logo image, for example. To omit one of these items on the plot,\",\n      \"make an item with matching `templateitemname` and `visible: false`.\"\n    ].join(\" \")\n  },\n  newshape: T2.newshape,\n  activeshape: T2.activeshape,\n  newselection: k2.newselection,\n  activeselection: k2.activeselection,\n  meta: {\n    valType: \"any\",\n    arrayOk: !0,\n    editType: \"plot\",\n    description: [\n      \"Assigns extra meta information that can be used in various `text` attributes.\",\n      \"Attributes such as the graph, axis and colorbar `title.text`, annotation `text`\",\n      \"`trace.name` in legend items, `rangeselector`, `updatemenus` and `sliders` `label` text\",\n      \"all support `meta`. One can access `meta` fields using template strings:\",\n      \"`%{meta[i]}` where `i` is the index of the `meta`\",\n      \"item in question.\",\n      \"`meta` can also be an object for example `{key: value}` which can be accessed\",\n      \"%{meta[key]}.\"\n    ].join(\" \")\n  },\n  transition: A2({}, kV.transition, {\n    description: [\n      \"Sets transition options used during Plotly.react updates.\"\n    ].join(\" \"),\n    editType: \"none\"\n  }),\n  _deprecated: {\n    title: {\n      valType: \"string\",\n      editType: \"layoutstyle\",\n      description: [\n        \"Value of `title` is no longer a simple *string* but a set of sub-attributes.\",\n        \"To set the contents of the title, please use `title.text` now.\"\n      ].join(\" \")\n    },\n    titlefont: ly({\n      editType: \"layoutstyle\",\n      description: [\n        \"Former `titlefont` is now the sub-attribute `font` of `title`.\",\n        \"To customize title font properties, please use `title.font` now.\"\n      ].join(\" \")\n    })\n  }\n};\n(function(e) {\n  var t = Xu, r = Y1, n = nL, a = ms, i = dp.addStyleRule, o = en, l = Wi, s = Xc, u = o.extendFlat, f = o.extendDeepAll;\n  e.modules = {}, e.allCategories = {}, e.allTypes = [], e.subplotsRegistry = {}, e.transformsRegistry = {}, e.componentsRegistry = {}, e.layoutArrayContainers = [], e.layoutArrayRegexes = [], e.traceLayoutAttributes = {}, e.localeRegistry = {}, e.apiMethodRegistry = {}, e.collectableSubplotTypes = null, e.register = function(T) {\n    if (e.collectableSubplotTypes = null, T)\n      T && !Array.isArray(T) && (T = [T]);\n    else throw new Error(\"No argument passed to Plotly.register.\");\n    for (var S = 0; S < T.length; S++) {\n      var M = T[S];\n      if (!M)\n        throw new Error(\"Invalid module was attempted to be registered!\");\n      switch (M.moduleType) {\n        case \"trace\":\n          d(M);\n          break;\n        case \"transform\":\n          v(M);\n          break;\n        case \"component\":\n          p(M);\n          break;\n        case \"locale\":\n          m(M);\n          break;\n        case \"apiMethod\":\n          var L = M.name;\n          e.apiMethodRegistry[L] = M.fn;\n          break;\n        default:\n          throw new Error(\"Invalid module was attempted to be registered!\");\n      }\n    }\n  }, e.getModule = function(_) {\n    var T = e.modules[x(_)];\n    return T ? T._module : !1;\n  }, e.traceIs = function(_, T) {\n    if (_ = x(_), _ === \"various\") return !1;\n    var S = e.modules[_];\n    return S || (_ && t.log(\"Unrecognized trace type \" + _ + \".\"), S = e.modules[l.type.dflt]), !!S.categories[T];\n  }, e.getTransformIndices = function(_, T) {\n    for (var S = [], M = _.transforms || [], L = 0; L < M.length; L++)\n      M[L].type === T && S.push(L);\n    return S;\n  }, e.hasTransform = function(_, T) {\n    for (var S = _.transforms || [], M = 0; M < S.length; M++)\n      if (S[M].type === T)\n        return !0;\n    return !1;\n  }, e.getComponentMethod = function(_, T) {\n    var S = e.componentsRegistry[_];\n    return S && S[T] || r;\n  }, e.call = function() {\n    var _ = arguments[0], T = [].slice.call(arguments, 1);\n    return e.apiMethodRegistry[_].apply(null, T);\n  };\n  function d(_) {\n    var T = _.name, S = _.categories, M = _.meta;\n    if (e.modules[T]) {\n      t.log(\"Type \" + T + \" already registered\");\n      return;\n    }\n    e.subplotsRegistry[_.basePlotModule.name] || h(_.basePlotModule);\n    for (var L = {}, F = 0; F < S.length; F++)\n      L[S[F]] = !0, e.allCategories[S[F]] = !0;\n    e.modules[T] = {\n      _module: _,\n      categories: L\n    }, M && Object.keys(M).length && (e.modules[T].meta = M), e.allTypes.push(T);\n    for (var $ in e.componentsRegistry)\n      y($, T);\n    _.layoutAttributes && u(e.traceLayoutAttributes, _.layoutAttributes);\n    var I = _.basePlotModule, O = I.name;\n    if (O === \"mapbox\") {\n      var G = I.constants.styleRules;\n      for (var K in G)\n        i(\".js-plotly-plot .plotly .mapboxgl-\" + K, G[K]);\n    }\n    (O === \"geo\" || O === \"mapbox\") && window.PlotlyGeoAssets === void 0 && (window.PlotlyGeoAssets = { topojson: {} });\n  }\n  function h(_) {\n    var T = _.name;\n    if (e.subplotsRegistry[T]) {\n      t.log(\"Plot type \" + T + \" already registered.\");\n      return;\n    }\n    g(_), e.subplotsRegistry[T] = _;\n    for (var S in e.componentsRegistry)\n      k(S, _.name);\n  }\n  function p(_) {\n    if (typeof _.name != \"string\")\n      throw new Error(\"Component module *name* must be a string.\");\n    var T = _.name;\n    e.componentsRegistry[T] = _, _.layoutAttributes && (_.layoutAttributes._isLinkedToArray && n(e.layoutArrayContainers, T), g(_));\n    for (var S in e.modules)\n      y(T, S);\n    for (var M in e.subplotsRegistry)\n      k(T, M);\n    for (var L in e.transformsRegistry)\n      w(T, L);\n    _.schema && _.schema.layout && f(s, _.schema.layout);\n  }\n  function v(_) {\n    if (typeof _.name != \"string\")\n      throw new Error(\"Transform module *name* must be a string.\");\n    var T = \"Transform module \" + _.name, S = typeof _.transform == \"function\", M = typeof _.calcTransform == \"function\";\n    if (!S && !M)\n      throw new Error(T + \" is missing a *transform* or *calcTransform* method.\");\n    S && M && t.log([\n      T + \" has both a *transform* and *calcTransform* methods.\",\n      \"Please note that all *transform* methods are executed\",\n      \"before all *calcTransform* methods.\"\n    ].join(\" \")), a(_.attributes) || t.log(T + \" registered without an *attributes* object.\"), typeof _.supplyDefaults != \"function\" && t.log(T + \" registered without a *supplyDefaults* method.\"), e.transformsRegistry[_.name] = _;\n    for (var L in e.componentsRegistry)\n      w(L, _.name);\n  }\n  function m(_) {\n    var T = _.name, S = T.split(\"-\")[0], M = _.dictionary, L = _.format, F = M && Object.keys(M).length, $ = L && Object.keys(L).length, I = e.localeRegistry, O = I[T];\n    if (O || (I[T] = O = {}), S !== T) {\n      var G = I[S];\n      G || (I[S] = G = {}), F && G.dictionary === O.dictionary && (G.dictionary = M), $ && G.format === O.format && (G.format = L);\n    }\n    F && (O.dictionary = M), $ && (O.format = L);\n  }\n  function g(_) {\n    if (_.layoutAttributes) {\n      var T = _.layoutAttributes._arrayAttrRegexps;\n      if (T)\n        for (var S = 0; S < T.length; S++)\n          n(e.layoutArrayRegexes, T[S]);\n    }\n  }\n  function y(_, T) {\n    var S = e.componentsRegistry[_].schema;\n    if (!(!S || !S.traces)) {\n      var M = S.traces[T];\n      M && f(e.modules[T]._module.attributes, M);\n    }\n  }\n  function w(_, T) {\n    var S = e.componentsRegistry[_].schema;\n    if (!(!S || !S.transforms)) {\n      var M = S.transforms[T];\n      M && f(e.transformsRegistry[T].attributes, M);\n    }\n  }\n  function k(_, T) {\n    var S = e.componentsRegistry[_].schema;\n    if (!(!S || !S.subplots)) {\n      var M = e.subplotsRegistry[T], L = M.layoutAttributes, F = M.attr === \"subplot\" ? M.name : M.attr;\n      Array.isArray(F) && (F = F[0]);\n      var $ = S.subplots[F];\n      L && $ && f(L, $);\n    }\n  }\n  function x(_) {\n    return typeof _ == \"object\" && (_ = _.type), _;\n  }\n})(Nt);\n(function(e) {\n  var t = _c.timeFormat, r = sr, n = Xu, a = Wc.mod, i = Qr, o = i.BADNUM, l = i.ONEDAY, s = i.ONEHOUR, u = i.ONEMIN, f = i.ONESEC, d = i.EPOCHJD, h = Nt, p = _c.utcFormat, v = /^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\d)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d(:?\\d\\d)?)?)?)?)?)?\\s*$/m, m = /^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\di?)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d(:?\\d\\d)?)?)?)?)?)?\\s*$/m, g = (/* @__PURE__ */ new Date()).getFullYear() - 70;\n  function y(z) {\n    return z && h.componentsRegistry.calendars && typeof z == \"string\" && z !== \"gregorian\";\n  }\n  e.dateTick0 = function(z, P) {\n    var R = w(z, !!P);\n    if (P < 2) return R;\n    var H = e.dateTime2ms(R, z);\n    return H += l * (P - 1), e.ms2DateTime(H, 0, z);\n  };\n  function w(z, P) {\n    return y(z) ? P ? h.getComponentMethod(\"calendars\", \"CANONICAL_SUNDAY\")[z] : h.getComponentMethod(\"calendars\", \"CANONICAL_TICK\")[z] : P ? \"2000-01-02\" : \"2000-01-01\";\n  }\n  e.dfltRange = function(z) {\n    return y(z) ? h.getComponentMethod(\"calendars\", \"DFLTRANGE\")[z] : [\"2000-01-01\", \"2001-01-01\"];\n  }, e.isJSDate = function(z) {\n    return typeof z == \"object\" && z !== null && typeof z.getTime == \"function\";\n  };\n  var k, x;\n  e.dateTime2ms = function(z, P) {\n    if (e.isJSDate(z)) {\n      var R = z.getTimezoneOffset() * u, H = (z.getUTCMinutes() - z.getMinutes()) * u + (z.getUTCSeconds() - z.getSeconds()) * f + (z.getUTCMilliseconds() - z.getMilliseconds());\n      if (H) {\n        var B = 3 * u;\n        R = R - B / 2 + a(H - R + B / 2, B);\n      }\n      return z = Number(z) - R, z >= k && z <= x ? z : o;\n    }\n    if (typeof z != \"string\" && typeof z != \"number\") return o;\n    z = String(z);\n    var W = y(P), ee = z.charAt(0);\n    W && (ee === \"G\" || ee === \"g\") && (z = z.substr(1), P = \"\");\n    var re = W && P.substr(0, 7) === \"chinese\", ae = z.match(re ? m : v);\n    if (!ae) return o;\n    var Q = ae[1], ue = ae[3] || \"1\", j = Number(ae[5] || 1), U = Number(ae[7] || 0), Z = Number(ae[9] || 0), le = Number(ae[11] || 0);\n    if (W) {\n      if (Q.length === 2) return o;\n      Q = Number(Q);\n      var J;\n      try {\n        var pe = h.getComponentMethod(\"calendars\", \"getCal\")(P);\n        if (re) {\n          var ge = ue.charAt(ue.length - 1) === \"i\";\n          ue = parseInt(ue, 10), J = pe.newDate(Q, pe.toMonthIndex(Q, ue, ge), j);\n        } else\n          J = pe.newDate(Q, Number(ue), j);\n      } catch {\n        return o;\n      }\n      return J ? (J.toJD() - d) * l + U * s + Z * u + le * f : o;\n    }\n    Q.length === 2 ? Q = (Number(Q) + 2e3 - g) % 100 + g : Q = Number(Q), ue -= 1;\n    var ve = new Date(Date.UTC(2e3, ue, j, U, Z));\n    return ve.setUTCFullYear(Q), ve.getUTCMonth() !== ue || ve.getUTCDate() !== j ? o : ve.getTime() + le * f;\n  }, k = e.MIN_MS = e.dateTime2ms(\"-9999\"), x = e.MAX_MS = e.dateTime2ms(\"9999-12-31 23:59:59.9999\"), e.isDateTime = function(z, P) {\n    return e.dateTime2ms(z, P) !== o;\n  };\n  function _(z, P) {\n    return String(z + Math.pow(10, P)).substr(1);\n  }\n  var T = 90 * l, S = 3 * s, M = 5 * u;\n  e.ms2DateTime = function(z, P, R) {\n    if (typeof z != \"number\" || !(z >= k && z <= x)) return o;\n    P || (P = 0);\n    var H = Math.floor(a(z + 0.05, 1) * 10), B = Math.round(z - H / 10), W, ee, re, ae, Q, ue;\n    if (y(R)) {\n      var j = Math.floor(B / l) + d, U = Math.floor(a(z, l));\n      try {\n        W = h.getComponentMethod(\"calendars\", \"getCal\")(R).fromJD(j).formatDate(\"yyyy-mm-dd\");\n      } catch {\n        W = p(\"G%Y-%m-%d\")(new Date(B));\n      }\n      if (W.charAt(0) === \"-\")\n        for (; W.length < 11; ) W = \"-0\" + W.substr(1);\n      else\n        for (; W.length < 10; ) W = \"0\" + W;\n      ee = P < T ? Math.floor(U / s) : 0, re = P < T ? Math.floor(U % s / u) : 0, ae = P < S ? Math.floor(U % u / f) : 0, Q = P < M ? U % f * 10 + H : 0;\n    } else\n      ue = new Date(B), W = p(\"%Y-%m-%d\")(ue), ee = P < T ? ue.getUTCHours() : 0, re = P < T ? ue.getUTCMinutes() : 0, ae = P < S ? ue.getUTCSeconds() : 0, Q = P < M ? ue.getUTCMilliseconds() * 10 + H : 0;\n    return L(W, ee, re, ae, Q);\n  }, e.ms2DateTimeLocal = function(z) {\n    if (!(z >= k + l && z <= x - l)) return o;\n    var P = Math.floor(a(z + 0.05, 1) * 10), R = new Date(Math.round(z - P / 10)), H = t(\"%Y-%m-%d\")(R), B = R.getHours(), W = R.getMinutes(), ee = R.getSeconds(), re = R.getUTCMilliseconds() * 10 + P;\n    return L(H, B, W, ee, re);\n  };\n  function L(z, P, R, H, B) {\n    if ((P || R || H || B) && (z += \" \" + _(P, 2) + \":\" + _(R, 2), (H || B) && (z += \":\" + _(H, 2), B))) {\n      for (var W = 4; B % 10 === 0; )\n        W -= 1, B /= 10;\n      z += \".\" + _(B, W);\n    }\n    return z;\n  }\n  e.cleanDate = function(z, P, R) {\n    if (z === o) return P;\n    if (e.isJSDate(z) || typeof z == \"number\" && isFinite(z)) {\n      if (y(R))\n        return n.error(\"JS Dates and milliseconds are incompatible with world calendars\", z), P;\n      if (z = e.ms2DateTimeLocal(+z), !z && P !== void 0) return P;\n    } else if (!e.isDateTime(z, R))\n      return n.error(\"unrecognized date\", z), P;\n    return z;\n  };\n  var F = /%\\d?f/g, $ = /%h/g, I = {\n    1: \"1\",\n    2: \"1\",\n    3: \"2\",\n    4: \"2\"\n  };\n  function O(z, P, R, H) {\n    z = z.replace(F, function(W) {\n      var ee = Math.min(+W.charAt(1) || 6, 6), re = (P / 1e3 % 1 + 2).toFixed(ee).substr(2).replace(/0+$/, \"\") || \"0\";\n      return re;\n    });\n    var B = new Date(Math.floor(P + 0.05));\n    if (z = z.replace($, function() {\n      return I[R(\"%q\")(B)];\n    }), y(H))\n      try {\n        z = h.getComponentMethod(\"calendars\", \"worldCalFmt\")(z, P, H);\n      } catch {\n        return \"Invalid\";\n      }\n    return R(z)(B);\n  }\n  var G = [59, 59.9, 59.99, 59.999, 59.9999];\n  function K(z, P) {\n    var R = a(z + 0.05, l), H = _(Math.floor(R / s), 2) + \":\" + _(a(Math.floor(R / u), 60), 2);\n    if (P !== \"M\") {\n      r(P) || (P = 0);\n      var B = Math.min(a(z / f, 60), G[P]), W = (100 + B).toFixed(P).substr(1);\n      P > 0 && (W = W.replace(/0+$/, \"\").replace(/[\\.]$/, \"\")), H += \":\" + W;\n    }\n    return H;\n  }\n  e.formatDate = function(z, P, R, H, B, W) {\n    if (B = y(B) && B, !P)\n      if (R === \"y\") P = W.year;\n      else if (R === \"m\") P = W.month;\n      else if (R === \"d\")\n        P = W.dayMonth + `\n` + W.year;\n      else\n        return K(z, R) + `\n` + O(W.dayMonthYear, z, H, B);\n    return O(P, z, H, B);\n  };\n  var V = 3 * l;\n  e.incrementMonth = function(z, P, R) {\n    R = y(R) && R;\n    var H = a(z, l);\n    if (z = Math.round(z - H), R)\n      try {\n        var B = Math.round(z / l) + d, W = h.getComponentMethod(\"calendars\", \"getCal\")(R), ee = W.fromJD(B);\n        return P % 12 ? W.add(ee, P, \"m\") : W.add(ee, P / 12, \"y\"), (ee.toJD() - d) * l + H;\n      } catch {\n        n.error(\"invalid ms \" + z + \" in calendar \" + R);\n      }\n    var re = new Date(z + V);\n    return re.setUTCMonth(re.getUTCMonth() + P) + H - V;\n  }, e.findExactDates = function(z, P) {\n    for (var R = 0, H = 0, B = 0, W = 0, ee, re, ae = y(P) && h.getComponentMethod(\"calendars\", \"getCal\")(P), Q = 0; Q < z.length; Q++) {\n      if (re = z[Q], !r(re)) {\n        W++;\n        continue;\n      }\n      if (!(re % l))\n        if (ae)\n          try {\n            ee = ae.fromJD(re / l + d), ee.day() === 1 ? ee.month() === 1 ? R++ : H++ : B++;\n          } catch {\n          }\n        else\n          ee = new Date(re), ee.getUTCDate() === 1 ? ee.getUTCMonth() === 0 ? R++ : H++ : B++;\n    }\n    H += R, B += H;\n    var ue = z.length - W;\n    return {\n      exactYears: R / ue,\n      exactMonths: H / ue,\n      exactDays: B / ue\n    };\n  };\n})(KC);\nvar Q1 = {}, wL = function(t) {\n  return t;\n};\n(function(e) {\n  var t = sr, r = Xu, n = wL, a = Qr.BADNUM, i = 1e-9;\n  e.findBin = function(f, d, h) {\n    if (t(d.start))\n      return h ? Math.ceil((f - d.start) / d.size - i) - 1 : Math.floor((f - d.start) / d.size + i);\n    var p = 0, v = d.length, m = 0, g = v > 1 ? (d[v - 1] - d[0]) / (v - 1) : 1, y, w;\n    for (g >= 0 ? w = h ? o : l : w = h ? u : s, f += g * i * (h ? -1 : 1) * (g >= 0 ? 1 : -1); p < v && m++ < 100; )\n      y = Math.floor((p + v) / 2), w(d[y], f) ? p = y + 1 : v = y;\n    return m > 90 && r.log(\"Long binary search...\"), p - 1;\n  };\n  function o(f, d) {\n    return f < d;\n  }\n  function l(f, d) {\n    return f <= d;\n  }\n  function s(f, d) {\n    return f > d;\n  }\n  function u(f, d) {\n    return f >= d;\n  }\n  e.sorterAsc = function(f, d) {\n    return f - d;\n  }, e.sorterDes = function(f, d) {\n    return d - f;\n  }, e.distinctVals = function(f) {\n    var d = f.slice();\n    d.sort(e.sorterAsc);\n    var h;\n    for (h = d.length - 1; h > -1 && d[h] === a; h--)\n      ;\n    for (var p = d[h] - d[0] || 1, v = p / (h || 1) / 1e4, m = [], g, y = 0; y <= h; y++) {\n      var w = d[y], k = w - g;\n      g === void 0 ? (m.push(w), g = w) : k > v && (p = Math.min(p, k), m.push(w), g = w);\n    }\n    return { vals: m, minDiff: p };\n  }, e.roundUp = function(f, d, h) {\n    for (var p = 0, v = d.length - 1, m, g = 0, y = h ? 0 : 1, w = h ? 1 : 0, k = h ? Math.ceil : Math.floor; p < v && g++ < 100; )\n      m = k((p + v) / 2), d[m] <= f ? p = m + y : v = m - w;\n    return d[p];\n  }, e.sort = function(f, d) {\n    for (var h = 0, p = 0, v = 1; v < f.length; v++) {\n      var m = d(f[v], f[v - 1]);\n      if (m < 0 ? h = 1 : m > 0 && (p = 1), h && p) return f.sort(d);\n    }\n    return p ? f : f.reverse();\n  }, e.findIndexOfMin = function(f, d) {\n    d = d || n;\n    for (var h = 1 / 0, p, v = 0; v < f.length; v++) {\n      var m = d(f[v]);\n      m < h && (h = m, p = v);\n    }\n    return p;\n  };\n})(Q1);\nvar TL = function(t) {\n  return Object.keys(t).sort();\n}, kL = {};\n(function(e) {\n  var t = sr, r = an.isArrayOrTypedArray;\n  e.aggNums = function(n, a, i, o) {\n    var l, s;\n    if ((!o || o > i.length) && (o = i.length), t(a) || (a = !1), r(i[0])) {\n      for (s = new Array(o), l = 0; l < o; l++) s[l] = e.aggNums(n, a, i[l]);\n      i = s;\n    }\n    for (l = 0; l < o; l++)\n      t(a) ? t(i[l]) && (a = n(+a, +i[l])) : a = i[l];\n    return a;\n  }, e.len = function(n) {\n    return e.aggNums(function(a) {\n      return a + 1;\n    }, 0, n);\n  }, e.mean = function(n, a) {\n    return a || (a = e.len(n)), e.aggNums(function(i, o) {\n      return i + o;\n    }, 0, n) / a;\n  }, e.midRange = function(n) {\n    if (!(n === void 0 || n.length === 0))\n      return (e.aggNums(Math.max, null, n) + e.aggNums(Math.min, null, n)) / 2;\n  }, e.variance = function(n, a, i) {\n    return a || (a = e.len(n)), t(i) || (i = e.mean(n, a)), e.aggNums(function(o, l) {\n      return o + Math.pow(l - i, 2);\n    }, 0, n) / a;\n  }, e.stdev = function(n, a, i) {\n    return Math.sqrt(e.variance(n, a, i));\n  }, e.median = function(n) {\n    var a = n.slice().sort();\n    return e.interp(a, 0.5);\n  }, e.interp = function(n, a) {\n    if (!t(a)) throw \"n should be a finite number\";\n    if (a = a * n.length - 0.5, a < 0) return n[0];\n    if (a > n.length - 1) return n[n.length - 1];\n    var i = a % 1;\n    return i * n[Math.ceil(a)] + (1 - i) * n[Math.floor(a)];\n  };\n})(kL);\nvar AL = Wc, qm = AL.mod, MV = AL.modHalf, xc = Math.PI, Jo = 2 * xc;\nfunction SV(e) {\n  return e / 180 * xc;\n}\nfunction CV(e) {\n  return e / xc * 180;\n}\nfunction eb(e) {\n  return Math.abs(e[1] - e[0]) > Jo - 1e-14;\n}\nfunction ML(e, t) {\n  return MV(t - e, Jo);\n}\nfunction LV(e, t) {\n  return Math.abs(ML(e, t));\n}\nfunction SL(e, t) {\n  if (eb(t)) return !0;\n  var r, n;\n  t[0] < t[1] ? (r = t[0], n = t[1]) : (r = t[1], n = t[0]), r = qm(r, Jo), n = qm(n, Jo), r > n && (n += Jo);\n  var a = qm(e, Jo), i = a + Jo;\n  return a >= r && a <= n || i >= r && i <= n;\n}\nfunction DV(e, t, r, n) {\n  if (!SL(t, n)) return !1;\n  var a, i;\n  return r[0] < r[1] ? (a = r[0], i = r[1]) : (a = r[1], i = r[0]), e >= a && e <= i;\n}\nfunction tb(e, t, r, n, a, i, o) {\n  a = a || 0, i = i || 0;\n  var l = eb([r, n]), s, u, f, d, h;\n  l ? (s = 0, u = xc, f = Jo) : r < n ? (s = r, f = n) : (s = n, f = r), e < t ? (d = e, h = t) : (d = t, h = e);\n  function p(y, w) {\n    return [y * Math.cos(w) + a, i - y * Math.sin(w)];\n  }\n  var v = Math.abs(f - s) <= xc ? 0 : 1;\n  function m(y, w, k) {\n    return \"A\" + [y, y] + \" \" + [0, v, k] + \" \" + p(y, w);\n  }\n  var g;\n  return l ? d === null ? g = \"M\" + p(h, s) + m(h, u, 0) + m(h, f, 0) + \"Z\" : g = \"M\" + p(d, s) + m(d, u, 0) + m(d, f, 0) + \"ZM\" + p(h, s) + m(h, u, 1) + m(h, f, 1) + \"Z\" : d === null ? (g = \"M\" + p(h, s) + m(h, f, 0), o && (g += \"L0,0Z\")) : g = \"M\" + p(d, s) + \"L\" + p(h, s) + m(h, f, 0) + \"L\" + p(d, f) + m(d, s, 1) + \"Z\", g;\n}\nfunction EV(e, t, r, n, a) {\n  return tb(null, e, t, r, n, a, 0);\n}\nfunction FV(e, t, r, n, a) {\n  return tb(null, e, t, r, n, a, 1);\n}\nfunction RV(e, t, r, n, a, i) {\n  return tb(e, t, r, n, a, i, 1);\n}\nvar PV = {\n  deg2rad: SV,\n  rad2deg: CV,\n  angleDelta: ML,\n  angleDist: LV,\n  isFullCircle: eb,\n  isAngleInsideSector: SL,\n  isPtInsideSector: DV,\n  pathArc: EV,\n  pathSector: FV,\n  pathAnnulus: RV\n}, gs = {};\ngs.isLeftAnchor = function(t) {\n  return t.xanchor === \"left\" || t.xanchor === \"auto\" && t.x <= 1 / 3;\n};\ngs.isCenterAnchor = function(t) {\n  return t.xanchor === \"center\" || t.xanchor === \"auto\" && t.x > 1 / 3 && t.x < 2 / 3;\n};\ngs.isRightAnchor = function(t) {\n  return t.xanchor === \"right\" || t.xanchor === \"auto\" && t.x >= 2 / 3;\n};\ngs.isTopAnchor = function(t) {\n  return t.yanchor === \"top\" || t.yanchor === \"auto\" && t.y >= 2 / 3;\n};\ngs.isMiddleAnchor = function(t) {\n  return t.yanchor === \"middle\" || t.yanchor === \"auto\" && t.y > 1 / 3 && t.y < 2 / 3;\n};\ngs.isBottomAnchor = function(t) {\n  return t.yanchor === \"bottom\" || t.yanchor === \"auto\" && t.y <= 1 / 3;\n};\nvar ys = {}, Wm = Wc.mod;\nys.segmentsIntersect = CL;\nfunction CL(e, t, r, n, a, i, o, l) {\n  var s = r - e, u = a - e, f = o - a, d = n - t, h = i - t, p = l - i, v = s * p - f * d;\n  if (v === 0) return null;\n  var m = (u * p - f * h) / v, g = (u * d - s * h) / v;\n  return g < 0 || g > 1 || m < 0 || m > 1 ? null : { x: e + s * m, y: t + d * m };\n}\nys.segmentDistance = function(t, r, n, a, i, o, l, s) {\n  if (CL(t, r, n, a, i, o, l, s)) return 0;\n  var u = n - t, f = a - r, d = l - i, h = s - o, p = u * u + f * f, v = d * d + h * h, m = Math.min(\n    Id(u, f, p, i - t, o - r),\n    Id(u, f, p, l - t, s - r),\n    Id(d, h, v, t - i, r - o),\n    Id(d, h, v, n - i, a - o)\n  );\n  return Math.sqrt(m);\n};\nfunction Id(e, t, r, n, a) {\n  var i = n * e + a * t;\n  if (i < 0)\n    return n * n + a * a;\n  if (i > r) {\n    var o = n - e, l = a - t;\n    return o * o + l * l;\n  } else {\n    var s = n * t - a * e;\n    return s * s / r;\n  }\n}\nvar Nd, sy, M2;\nys.getTextLocation = function(t, r, n, a) {\n  if ((t !== sy || a !== M2) && (Nd = {}, sy = t, M2 = a), Nd[n])\n    return Nd[n];\n  var i = t.getPointAtLength(Wm(n - a / 2, r)), o = t.getPointAtLength(Wm(n + a / 2, r)), l = Math.atan((o.y - i.y) / (o.x - i.x)), s = t.getPointAtLength(Wm(n, r)), u = (s.x * 4 + i.x + o.x) / 6, f = (s.y * 4 + i.y + o.y) / 6, d = { x: u, y: f, theta: l };\n  return Nd[n] = d, d;\n};\nys.clearLocationCache = function() {\n  sy = null;\n};\nys.getVisibleSegment = function(t, r, n) {\n  var a = r.left, i = r.right, o = r.top, l = r.bottom, s = 0, u = t.getTotalLength(), f = u, d, h;\n  function p(m) {\n    var g = t.getPointAtLength(m);\n    m === 0 ? d = g : m === u && (h = g);\n    var y = g.x < a ? a - g.x : g.x > i ? g.x - i : 0, w = g.y < o ? o - g.y : g.y > l ? g.y - l : 0;\n    return Math.sqrt(y * y + w * w);\n  }\n  for (var v = p(s); v; ) {\n    if (s += v + n, s > f) return;\n    v = p(s);\n  }\n  for (v = p(f); v; ) {\n    if (f -= v + n, s > f) return;\n    v = p(f);\n  }\n  return {\n    min: s,\n    max: f,\n    len: f - s,\n    total: u,\n    isClosed: s === 0 && f === u && Math.abs(d.x - h.x) < 0.1 && Math.abs(d.y - h.y) < 0.1\n  };\n};\nys.findPointOnPath = function(t, r, n, a) {\n  a = a || {};\n  for (var i = a.pathLength || t.getTotalLength(), o = a.tolerance || 1e-3, l = a.iterationLimit || 30, s = t.getPointAtLength(0)[n] > t.getPointAtLength(i)[n] ? -1 : 1, u = 0, f = 0, d = i, h, p, v; u < l; ) {\n    if (h = (f + d) / 2, p = t.getPointAtLength(h), v = p[n] - r, Math.abs(v) < o)\n      return p;\n    s * v > 0 ? d = h : f = h, u++;\n  }\n  return p;\n};\nvar gp = {};\n(function(e) {\n  var t = {};\n  e.throttle = function(a, i, o) {\n    var l = t[a], s = Date.now();\n    if (!l) {\n      for (var u in t)\n        t[u].ts < s - 6e4 && delete t[u];\n      l = t[a] = { ts: 0, timer: null };\n    }\n    r(l);\n    function f() {\n      o(), l.ts = Date.now(), l.onDone && (l.onDone(), l.onDone = null);\n    }\n    if (s > l.ts + i) {\n      f();\n      return;\n    }\n    l.timer = setTimeout(function() {\n      f(), l.timer = null;\n    }, i);\n  }, e.done = function(n) {\n    var a = t[n];\n    return !a || !a.timer ? Promise.resolve() : new Promise(function(i) {\n      var o = a.onDone;\n      a.onDone = function() {\n        o && o(), i(), a.onDone = null;\n      };\n    });\n  }, e.clear = function(n) {\n    if (n)\n      r(t[n]), delete t[n];\n    else\n      for (var a in t) e.clear(a);\n  };\n  function r(n) {\n    n && n.timer !== null && (clearTimeout(n.timer), n.timer = null);\n  }\n})(gp);\nvar $V = function(t) {\n  t._responsiveChartHandler && (window.removeEventListener(\"resize\", t._responsiveChartHandler), delete t._responsiveChartHandler);\n}, yp = { exports: {} };\nyp.exports = rb;\nyp.exports.isMobile = rb;\nyp.exports.default = rb;\nconst zV = /(android|bb\\d+|meego).+mobile|armv7l|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i, IV = /CrOS/, NV = /android|ipad|playbook|silk/i;\nfunction rb(e) {\n  e || (e = {});\n  let t = e.ua;\n  if (!t && typeof navigator < \"u\" && (t = navigator.userAgent), t && t.headers && typeof t.headers[\"user-agent\"] == \"string\" && (t = t.headers[\"user-agent\"]), typeof t != \"string\") return !1;\n  let r = zV.test(t) && !IV.test(t) || !!e.tablet && NV.test(t);\n  return !r && e.tablet && e.featureDetect && navigator && navigator.maxTouchPoints > 1 && t.indexOf(\"Macintosh\") !== -1 && t.indexOf(\"Safari\") !== -1 && (r = !0), r;\n}\nvar OV = yp.exports, HV = sr, BV = OV, jV = function(t) {\n  var r;\n  if (t && t.hasOwnProperty(\"userAgent\") ? r = t.userAgent : r = UV(), typeof r != \"string\") return !0;\n  var n = BV({\n    ua: { headers: { \"user-agent\": r } },\n    tablet: !0,\n    featureDetect: !1\n  });\n  if (!n)\n    for (var a = r.split(\" \"), i = 1; i < a.length; i++) {\n      var o = a[i];\n      if (o.indexOf(\"Safari\") !== -1)\n        for (var l = i - 1; l > -1; l--) {\n          var s = a[l];\n          if (s.substr(0, 8) === \"Version/\") {\n            var u = s.substr(8).split(\".\")[0];\n            if (HV(u) && (u = +u), u >= 13) return !0;\n          }\n        }\n    }\n  return n;\n};\nfunction UV() {\n  var e;\n  return typeof navigator < \"u\" && (e = navigator.userAgent), e && e.headers && typeof e.headers[\"user-agent\"] == \"string\" && (e = e.headers[\"user-agent\"]), e;\n}\nvar GV = lr, VV = function(t, r, n) {\n  var a = t.selectAll(\"g.\" + n.replace(/\\s/g, \".\")).data(r, function(o) {\n    return o[0].trace.uid;\n  });\n  a.exit().remove(), a.enter().append(\"g\").attr(\"class\", n), a.order();\n  var i = t.classed(\"rangeplot\") ? \"nodeRangePlot3\" : \"node3\";\n  return a.each(function(o) {\n    o[0][i] = GV.select(this);\n  }), a;\n}, qV = Nt, WV = function(t, r) {\n  for (var n = t._context.locale, a = 0; a < 2; a++) {\n    for (var i = t._context.locales, o = 0; o < 2; o++) {\n      var l = (i[n] || {}).dictionary;\n      if (l) {\n        var s = l[r];\n        if (s) return s;\n      }\n      i = qV.localeRegistry;\n    }\n    var u = n.split(\"-\")[0];\n    if (u === n) break;\n    n = u;\n  }\n  return r;\n}, ZV = function(t) {\n  for (var r = {}, n = [], a = 0, i = 0; i < t.length; i++) {\n    var o = t[i];\n    r[o] !== 1 && (r[o] = 1, n[a++] = o);\n  }\n  return n;\n}, YV = function(t) {\n  for (var r = JV(t) ? KV : XV, n = [], a = 0; a < t.length; a++) {\n    var i = t[a];\n    r(i) && n.push(i);\n  }\n  return n;\n};\nfunction XV(e) {\n  return e.visible === !0;\n}\nfunction KV(e) {\n  var t = e[0].trace;\n  return t.visible === !0 && t._length !== 0;\n}\nfunction JV(e) {\n  return Array.isArray(e) && Array.isArray(e[0]) && e[0][0] && e[0][0].trace;\n}\nvar QV = function(t, r) {\n  if (!r) return t;\n  var n = 1 / Math.abs(r), a = n > 1 ? (n * t + n * r) / n : t + r, i = String(a).length;\n  if (i > 16) {\n    var o = String(r).length, l = String(t).length;\n    if (i >= l + o) {\n      var s = parseFloat(a).toPrecision(12);\n      s.indexOf(\"e+\") === -1 && (a = +s);\n    }\n  }\n  return a;\n}, eq = sr, tq = Qr.BADNUM, rq = /^['\"%,$#\\s']+|[, ]|['\"%,$#\\s']+$/g, nq = function(t) {\n  return typeof t == \"string\" && (t = t.replace(rq, \"\")), eq(t) ? Number(t) : tq;\n}, Zf = lr, aq = _c.utcFormat, iq = zC.format, LL = sr, DL = Qr, EL = DL.FP_SAFE, oq = -EL, S2 = DL.BADNUM, xe = aC.exports = {};\nxe.adjustFormat = function(t) {\n  return !t || /^\\d[.]\\df/.test(t) || /[.]\\d%/.test(t) ? t : t === \"0.f\" ? \"~f\" : /^\\d%/.test(t) ? \"~%\" : /^\\ds/.test(t) ? \"~s\" : !/^[~,.0$]/.test(t) && /[&fps]/.test(t) ? \"~\" + t : t;\n};\nvar C2 = {};\nxe.warnBadFormat = function(e) {\n  var t = String(e);\n  C2[t] || (C2[t] = 1, xe.warn('encountered bad format: \"' + t + '\"'));\n};\nxe.noFormat = function(e) {\n  return String(e);\n};\nxe.numberFormat = function(e) {\n  var t;\n  try {\n    t = iq(xe.adjustFormat(e));\n  } catch {\n    return xe.warnBadFormat(e), xe.noFormat;\n  }\n  return t;\n};\nxe.nestedProperty = j1;\nxe.keyedContainer = TU;\nxe.relativeAttr = MU;\nxe.isPlainObject = ms;\nxe.toLogRange = U1;\nxe.relinkPrivateKeys = CU;\nvar pl = an;\nxe.isArrayBuffer = pl.isArrayBuffer;\nxe.isTypedArray = pl.isTypedArray;\nxe.isArrayOrTypedArray = pl.isArrayOrTypedArray;\nxe.isArray1D = pl.isArray1D;\nxe.ensureArray = pl.ensureArray;\nxe.concat = pl.concat;\nxe.maxRowLength = pl.maxRowLength;\nxe.minRowLength = pl.minRowLength;\nvar FL = Wc;\nxe.mod = FL.mod;\nxe.modHalf = FL.modHalf;\nvar ml = GC;\nxe.valObjectMeta = ml.valObjectMeta;\nxe.coerce = ml.coerce;\nxe.coerce2 = ml.coerce2;\nxe.coerceFont = ml.coerceFont;\nxe.coercePattern = ml.coercePattern;\nxe.coerceHoverinfo = ml.coerceHoverinfo;\nxe.coerceSelectionMarkerOpacity = ml.coerceSelectionMarkerOpacity;\nxe.validate = ml.validate;\nvar Ta = KC;\nxe.dateTime2ms = Ta.dateTime2ms;\nxe.isDateTime = Ta.isDateTime;\nxe.ms2DateTime = Ta.ms2DateTime;\nxe.ms2DateTimeLocal = Ta.ms2DateTimeLocal;\nxe.cleanDate = Ta.cleanDate;\nxe.isJSDate = Ta.isJSDate;\nxe.formatDate = Ta.formatDate;\nxe.incrementMonth = Ta.incrementMonth;\nxe.dateTick0 = Ta.dateTick0;\nxe.dfltRange = Ta.dfltRange;\nxe.findExactDates = Ta.findExactDates;\nxe.MIN_MS = Ta.MIN_MS;\nxe.MAX_MS = Ta.MAX_MS;\nvar bs = Q1;\nxe.findBin = bs.findBin;\nxe.sorterAsc = bs.sorterAsc;\nxe.sorterDes = bs.sorterDes;\nxe.distinctVals = bs.distinctVals;\nxe.roundUp = bs.roundUp;\nxe.sort = bs.sort;\nxe.findIndexOfMin = bs.findIndexOfMin;\nxe.sortObjectKeys = TL;\nvar gl = kL;\nxe.aggNums = gl.aggNums;\nxe.len = gl.len;\nxe.mean = gl.mean;\nxe.median = gl.median;\nxe.midRange = gl.midRange;\nxe.variance = gl.variance;\nxe.stdev = gl.stdev;\nxe.interp = gl.interp;\nvar xi = cp;\nxe.init2dArray = xi.init2dArray;\nxe.transposeRagged = xi.transposeRagged;\nxe.dot = xi.dot;\nxe.translationMatrix = xi.translationMatrix;\nxe.rotationMatrix = xi.rotationMatrix;\nxe.rotationXYMatrix = xi.rotationXYMatrix;\nxe.apply3DTransform = xi.apply3DTransform;\nxe.apply2DTransform = xi.apply2DTransform;\nxe.apply2DTransform2 = xi.apply2DTransform2;\nxe.convertCssMatrix = xi.convertCssMatrix;\nxe.inverseTransformMatrix = xi.inverseTransformMatrix;\nvar Yi = PV;\nxe.deg2rad = Yi.deg2rad;\nxe.rad2deg = Yi.rad2deg;\nxe.angleDelta = Yi.angleDelta;\nxe.angleDist = Yi.angleDist;\nxe.isFullCircle = Yi.isFullCircle;\nxe.isAngleInsideSector = Yi.isAngleInsideSector;\nxe.isPtInsideSector = Yi.isPtInsideSector;\nxe.pathArc = Yi.pathArc;\nxe.pathSector = Yi.pathSector;\nxe.pathAnnulus = Yi.pathAnnulus;\nvar Ku = gs;\nxe.isLeftAnchor = Ku.isLeftAnchor;\nxe.isCenterAnchor = Ku.isCenterAnchor;\nxe.isRightAnchor = Ku.isRightAnchor;\nxe.isTopAnchor = Ku.isTopAnchor;\nxe.isMiddleAnchor = Ku.isMiddleAnchor;\nxe.isBottomAnchor = Ku.isBottomAnchor;\nvar Ju = ys;\nxe.segmentsIntersect = Ju.segmentsIntersect;\nxe.segmentDistance = Ju.segmentDistance;\nxe.getTextLocation = Ju.getTextLocation;\nxe.clearLocationCache = Ju.clearLocationCache;\nxe.getVisibleSegment = Ju.getVisibleSegment;\nxe.findPointOnPath = Ju.findPointOnPath;\nvar bp = en;\nxe.extendFlat = bp.extendFlat;\nxe.extendDeep = bp.extendDeep;\nxe.extendDeepAll = bp.extendDeepAll;\nxe.extendDeepNoArrays = bp.extendDeepNoArrays;\nvar nb = Xu;\nxe.log = nb.log;\nxe.warn = nb.warn;\nxe.error = nb.error;\nvar lq = Zu;\nxe.counterRegex = lq.counter;\nvar ab = gp;\nxe.throttle = ab.throttle;\nxe.throttleDone = ab.done;\nxe.clearThrottle = ab.clear;\nvar Xi = dp;\nxe.getGraphDiv = Xi.getGraphDiv;\nxe.isPlotDiv = Xi.isPlotDiv;\nxe.removeElement = Xi.removeElement;\nxe.addStyleRule = Xi.addStyleRule;\nxe.addRelatedStyleRule = Xi.addRelatedStyleRule;\nxe.deleteRelatedStyleRule = Xi.deleteRelatedStyleRule;\nxe.getFullTransformMatrix = Xi.getFullTransformMatrix;\nxe.getElementTransformMatrix = Xi.getElementTransformMatrix;\nxe.getElementAndAncestors = Xi.getElementAndAncestors;\nxe.equalDomRects = Xi.equalDomRects;\nxe.clearResponsive = $V;\nxe.preserveDrawingBuffer = jV;\nxe.makeTraceGroups = VV;\nxe._ = WV;\nxe.notifier = rL;\nxe.filterUnique = ZV;\nxe.filterVisible = YV;\nxe.pushUnique = nL;\nxe.increment = QV;\nxe.cleanNumber = nq;\nxe.ensureNumber = function(t) {\n  return LL(t) ? (t = Number(t), t > EL || t < oq ? S2 : t) : S2;\n};\nxe.isIndex = function(e, t) {\n  return t !== void 0 && e >= t ? !1 : LL(e) && e >= 0 && e % 1 === 0;\n};\nxe.noop = Y1;\nxe.identity = wL;\nxe.repeat = function(e, t) {\n  for (var r = new Array(t), n = 0; n < t; n++)\n    r[n] = e;\n  return r;\n};\nxe.swapAttrs = function(e, t, r, n) {\n  r || (r = \"x\"), n || (n = \"y\");\n  for (var a = 0; a < t.length; a++) {\n    var i = t[a], o = xe.nestedProperty(e, i.replace(\"?\", r)), l = xe.nestedProperty(e, i.replace(\"?\", n)), s = o.get();\n    o.set(l.get()), l.set(s);\n  }\n};\nxe.raiseToTop = function(t) {\n  t.parentNode.appendChild(t);\n};\nxe.cancelTransition = function(e) {\n  return e.transition().duration(0);\n};\nxe.constrain = function(e, t, r) {\n  return t > r ? Math.max(r, Math.min(t, e)) : Math.max(t, Math.min(r, e));\n};\nxe.bBoxIntersect = function(e, t, r) {\n  return r = r || 0, e.left <= t.right + r && t.left <= e.right + r && e.top <= t.bottom + r && t.top <= e.bottom + r;\n};\nxe.simpleMap = function(e, t, r, n, a) {\n  for (var i = e.length, o = new Array(i), l = 0; l < i; l++) o[l] = t(e[l], r, n, a);\n  return o;\n};\nxe.randstr = function e(t, r, n, a) {\n  if (n || (n = 16), r === void 0 && (r = 24), r <= 0) return \"0\";\n  var i = Math.log(Math.pow(2, r)) / Math.log(n), o = \"\", l, s, u;\n  for (l = 2; i === 1 / 0; l *= 2)\n    i = Math.log(Math.pow(2, r / l)) / Math.log(n) * l;\n  var f = i - Math.floor(i);\n  for (l = 0; l < Math.floor(i); l++)\n    u = Math.floor(Math.random() * n).toString(n), o = u + o;\n  f && (s = Math.pow(n, f), u = Math.floor(Math.random() * s).toString(n), o = u + o);\n  var d = parseInt(o, n);\n  return t && t[o] || d !== 1 / 0 && d >= Math.pow(2, r) ? a > 10 ? (xe.warn(\"randstr failed uniqueness\"), o) : e(t, r, n, (a || 0) + 1) : o;\n};\nxe.OptionControl = function(e, t) {\n  e || (e = {}), t || (t = \"opt\");\n  var r = {};\n  return r.optionList = [], r._newoption = function(n) {\n    n[t] = e, r[n.name] = n, r.optionList.push(n);\n  }, r[\"_\" + t] = e, r;\n};\nxe.smooth = function(e, t) {\n  if (t = Math.round(t) || 0, t < 2) return e;\n  var r = e.length, n = 2 * r, a = 2 * t - 1, i = new Array(a), o = new Array(r), l, s, u, f;\n  for (l = 0; l < a; l++)\n    i[l] = (1 - Math.cos(Math.PI * (l + 1) / t)) / (2 * t);\n  for (l = 0; l < r; l++) {\n    for (f = 0, s = 0; s < a; s++)\n      u = l + s + 1 - t, u < -r ? u -= n * Math.round(u / n) : u >= n && (u -= n * Math.floor(u / n)), u < 0 ? u = -1 - u : u >= r && (u = n - 1 - u), f += e[u] * i[s];\n    o[l] = f;\n  }\n  return o;\n};\nxe.syncOrAsync = function(e, t, r) {\n  var n, a;\n  function i() {\n    return xe.syncOrAsync(e, t, r);\n  }\n  for (; e.length; )\n    if (a = e.splice(0, 1)[0], n = a(t), n && n.then)\n      return n.then(i);\n  return r && r(t);\n};\nxe.stripTrailingSlash = function(e) {\n  return e.substr(-1) === \"/\" ? e.substr(0, e.length - 1) : e;\n};\nxe.noneOrAll = function(e, t, r) {\n  if (e) {\n    var n = !1, a = !0, i, o;\n    for (i = 0; i < r.length; i++)\n      o = e[r[i]], o != null ? n = !0 : a = !1;\n    if (n && !a)\n      for (i = 0; i < r.length; i++)\n        e[r[i]] = t[r[i]];\n  }\n};\nxe.mergeArray = function(e, t, r, n) {\n  var a = typeof n == \"function\";\n  if (xe.isArrayOrTypedArray(e))\n    for (var i = Math.min(e.length, t.length), o = 0; o < i; o++) {\n      var l = e[o];\n      t[o][r] = a ? n(l) : l;\n    }\n};\nxe.mergeArrayCastPositive = function(e, t, r) {\n  return xe.mergeArray(e, t, r, function(n) {\n    var a = +n;\n    return isFinite(a) && a > 0 ? a : 0;\n  });\n};\nxe.fillArray = function(e, t, r, n) {\n  if (n = n || xe.identity, xe.isArrayOrTypedArray(e))\n    for (var a = 0; a < t.length; a++)\n      t[a][r] = n(e[a]);\n};\nxe.castOption = function(e, t, r, n) {\n  n = n || xe.identity;\n  var a = xe.nestedProperty(e, r).get();\n  return xe.isArrayOrTypedArray(a) ? Array.isArray(t) && xe.isArrayOrTypedArray(a[t[0]]) ? n(a[t[0]][t[1]]) : n(a[t]) : a;\n};\nxe.extractOption = function(e, t, r, n) {\n  if (r in e) return e[r];\n  var a = xe.nestedProperty(t, n).get();\n  if (!Array.isArray(a)) return a;\n};\nfunction RL(e) {\n  var t = {};\n  for (var r in e)\n    for (var n = e[r], a = 0; a < n.length; a++)\n      t[n[a]] = +r;\n  return t;\n}\nxe.tagSelected = function(e, t, r) {\n  var n = t.selectedpoints, a = t._indexToPoints, i;\n  a && (i = RL(a));\n  function o(d) {\n    return d !== void 0 && d < e.length;\n  }\n  for (var l = 0; l < n.length; l++) {\n    var s = n[l];\n    if (xe.isIndex(s) || xe.isArrayOrTypedArray(s) && xe.isIndex(s[0]) && xe.isIndex(s[1])) {\n      var u = i ? i[s] : s, f = r ? r[u] : u;\n      o(f) && (e[f].selected = 1);\n    }\n  }\n};\nxe.selIndices2selPoints = function(e) {\n  var t = e.selectedpoints, r = e._indexToPoints;\n  if (r) {\n    for (var n = RL(r), a = [], i = 0; i < t.length; i++) {\n      var o = t[i];\n      if (xe.isIndex(o)) {\n        var l = n[o];\n        xe.isIndex(l) && a.push(l);\n      }\n    }\n    return a;\n  } else\n    return t;\n};\nxe.getTargetArray = function(e, t) {\n  var r = t.target;\n  if (typeof r == \"string\" && r) {\n    var n = xe.nestedProperty(e, r).get();\n    return xe.isArrayOrTypedArray(n) ? n : !1;\n  } else if (xe.isArrayOrTypedArray(r))\n    return r;\n  return !1;\n};\nfunction PL(e, t, r) {\n  var n = {};\n  typeof t != \"object\" && (t = {});\n  var a = r === \"pieLike\" ? -1 : 3, i = Object.keys(e), o, l, s;\n  for (o = 0; o < i.length; o++)\n    l = i[o], s = e[l], !(l.charAt(0) === \"_\" || typeof s == \"function\") && (l === \"module\" ? n[l] = s : Array.isArray(s) ? l === \"colorscale\" || a === -1 ? n[l] = s.slice() : n[l] = s.slice(0, a) : xe.isTypedArray(s) ? a === -1 ? n[l] = s.subarray() : n[l] = s.subarray(0, a) : s && typeof s == \"object\" ? n[l] = PL(e[l], t[l], r) : n[l] = s);\n  for (i = Object.keys(t), o = 0; o < i.length; o++)\n    l = i[o], s = t[l], (typeof s != \"object\" || !(l in n) || typeof n[l] != \"object\") && (n[l] = s);\n  return n;\n}\nxe.minExtend = PL;\nxe.titleCase = function(e) {\n  return e.charAt(0).toUpperCase() + e.substr(1);\n};\nxe.containsAny = function(e, t) {\n  for (var r = 0; r < t.length; r++)\n    if (e.indexOf(t[r]) !== -1) return !0;\n  return !1;\n};\nxe.isIE = function() {\n  return typeof window.navigator.msSaveBlob < \"u\";\n};\nvar sq = /Version\\/[\\d\\.]+.*Safari/;\nxe.isSafari = function() {\n  return sq.test(window.navigator.userAgent);\n};\nvar uq = /iPad|iPhone|iPod/;\nxe.isIOS = function() {\n  return uq.test(window.navigator.userAgent);\n};\nvar fq = /Firefox\\/(\\d+)\\.\\d+/;\nxe.getFirefoxVersion = function() {\n  var e = fq.exec(window.navigator.userAgent);\n  if (e && e.length === 2) {\n    var t = parseInt(e[1]);\n    if (!isNaN(t))\n      return t;\n  }\n  return null;\n};\nxe.isD3Selection = function(e) {\n  return e instanceof Zf.selection;\n};\nxe.ensureSingle = function(e, t, r, n) {\n  var a = e.select(t + (r ? \".\" + r : \"\"));\n  if (a.size()) return a;\n  var i = e.append(t);\n  return r && i.classed(r, !0), n && i.call(n), i;\n};\nxe.ensureSingleById = function(e, t, r, n) {\n  var a = e.select(t + \"#\" + r);\n  if (a.size()) return a;\n  var i = e.append(t).attr(\"id\", r);\n  return n && i.call(n), i;\n};\nxe.objectFromPath = function(e, t) {\n  for (var r = e.split(\".\"), n, a = n = {}, i = 0; i < r.length; i++) {\n    var o = r[i], l = null, s = r[i].match(/(.*)\\[([0-9]+)\\]/);\n    s ? (o = s[1], l = s[2], n = n[o] = [], i === r.length - 1 ? n[l] = t : n[l] = {}, n = n[l]) : (i === r.length - 1 ? n[o] = t : n[o] = {}, n = n[o]);\n  }\n  return a;\n};\nvar cq = /^([^\\[\\.]+)\\.(.+)?/, dq = /^([^\\.]+)\\[([0-9]+)\\](\\.)?(.+)?/;\nfunction Od(e) {\n  return e.slice(0, 2) === \"__\";\n}\nxe.expandObjectPaths = function(e) {\n  var t, r, n, a, i, o, l;\n  if (typeof e == \"object\" && !Array.isArray(e)) {\n    for (r in e)\n      if (e.hasOwnProperty(r))\n        if (t = r.match(cq)) {\n          if (a = e[r], n = t[1], Od(n)) continue;\n          delete e[r], e[n] = xe.extendDeepNoArrays(e[n] || {}, xe.objectFromPath(r, xe.expandObjectPaths(a))[n]);\n        } else if (t = r.match(dq)) {\n          if (a = e[r], n = t[1], Od(n)) continue;\n          if (i = parseInt(t[2]), delete e[r], e[n] = e[n] || [], t[3] === \".\")\n            l = t[4], o = e[n][i] = e[n][i] || {}, xe.extendDeepNoArrays(o, xe.objectFromPath(l, xe.expandObjectPaths(a)));\n          else {\n            if (Od(n)) continue;\n            e[n][i] = xe.expandObjectPaths(a);\n          }\n        } else {\n          if (Od(r)) continue;\n          e[r] = xe.expandObjectPaths(e[r]);\n        }\n  }\n  return e;\n};\nxe.numSeparate = function(e, t, r) {\n  if (r || (r = !1), typeof t != \"string\" || t.length === 0)\n    throw new Error(\"Separator string required for formatting!\");\n  typeof e == \"number\" && (e = String(e));\n  var n = /(\\d+)(\\d{3})/, a = t.charAt(0), i = t.charAt(1), o = e.split(\".\"), l = o[0], s = o.length > 1 ? a + o[1] : \"\";\n  if (i && (o.length > 1 || l.length > 4 || r))\n    for (; n.test(l); )\n      l = l.replace(n, \"$1\" + i + \"$2\");\n  return l + s;\n};\nxe.TEMPLATE_STRING_REGEX = /%{([^\\s%{}:]*)([:|\\|][^}]*)?}/g;\nvar $L = /^\\w*$/;\nxe.templateString = function(e, t) {\n  var r = {};\n  return e.replace(xe.TEMPLATE_STRING_REGEX, function(n, a) {\n    var i;\n    return $L.test(a) ? i = t[a] : (r[a] = r[a] || xe.nestedProperty(t, a).get, i = r[a]()), xe.isValidTextValue(i) ? i : \"\";\n  });\n};\nvar hq = {\n  max: 10,\n  count: 0,\n  name: \"hovertemplate\"\n};\nxe.hovertemplateString = function() {\n  return ib.apply(hq, arguments);\n};\nvar vq = {\n  max: 10,\n  count: 0,\n  name: \"texttemplate\"\n};\nxe.texttemplateString = function() {\n  return ib.apply(vq, arguments);\n};\nvar pq = /^(\\S+)([\\*\\/])(-?\\d+(\\.\\d+)?)$/;\nfunction mq(e) {\n  var t = e.match(pq);\n  return t ? { key: t[1], op: t[2], number: Number(t[3]) } : { key: e, op: null, number: null };\n}\nvar gq = {\n  max: 10,\n  count: 0,\n  name: \"texttemplate\",\n  parseMultDiv: !0\n};\nxe.texttemplateStringForShapes = function() {\n  return ib.apply(gq, arguments);\n};\nvar L2 = /^[:|\\|]/;\nfunction ib(e, t, r) {\n  var n = this, a = arguments;\n  t || (t = {});\n  var i = {};\n  return e.replace(xe.TEMPLATE_STRING_REGEX, function(o, l, s) {\n    var u = l === \"xother\" || l === \"yother\", f = l === \"_xother\" || l === \"_yother\", d = l === \"_xother_\" || l === \"_yother_\", h = l === \"xother_\" || l === \"yother_\", p = u || f || h || d, v = l;\n    (f || d) && (v = v.substring(1)), (h || d) && (v = v.substring(0, v.length - 1));\n    var m = null, g = null;\n    if (n.parseMultDiv) {\n      var y = mq(v);\n      v = y.key, m = y.op, g = y.number;\n    }\n    var w;\n    if (p) {\n      if (w = t[v], w === void 0) return \"\";\n    } else {\n      var k, x;\n      for (x = 3; x < a.length; x++)\n        if (k = a[x], !!k) {\n          if (k.hasOwnProperty(v)) {\n            w = k[v];\n            break;\n          }\n          if ($L.test(v) || (w = xe.nestedProperty(k, v).get(), w = i[v] || xe.nestedProperty(k, v).get(), w && (i[v] = w)), w !== void 0) break;\n        }\n    }\n    if (w !== void 0 && (m === \"*\" && (w *= g), m === \"/\" && (w /= g)), w === void 0 && n)\n      return n.count < n.max && (xe.warn(\"Variable '\" + v + \"' in \" + n.name + \" could not be found!\"), w = o), n.count === n.max && xe.warn(\"Too many \" + n.name + \" warnings - additional warnings will be suppressed\"), n.count++, o;\n    if (s) {\n      var _;\n      if (s[0] === \":\" && (_ = r ? r.numberFormat : xe.numberFormat, w = _(s.replace(L2, \"\"))(w)), s[0] === \"|\") {\n        _ = r ? r.timeFormat : aq;\n        var T = xe.dateTime2ms(w);\n        w = xe.formatDate(T, s.replace(L2, \"\"), !1, _);\n      }\n    } else {\n      var S = v + \"Label\";\n      t.hasOwnProperty(S) && (w = t[S]);\n    }\n    return p && (w = \"(\" + w + \")\", (f || d) && (w = \" \" + w), (h || d) && (w = w + \" \")), w;\n  });\n}\nvar Hd = 48, D2 = 57;\nxe.subplotSort = function(e, t) {\n  for (var r = Math.min(e.length, t.length) + 1, n = 0, a = 0, i = 0; i < r; i++) {\n    var o = e.charCodeAt(i) || 0, l = t.charCodeAt(i) || 0, s = o >= Hd && o <= D2, u = l >= Hd && l <= D2;\n    if (s && (n = 10 * n + o - Hd), u && (a = 10 * a + l - Hd), !s || !u) {\n      if (n !== a) return n - a;\n      if (o !== l) return o - l;\n    }\n  }\n  return a - n;\n};\nvar ru = 2e9;\nxe.seedPseudoRandom = function() {\n  ru = 2e9;\n};\nxe.pseudoRandom = function() {\n  var e = ru;\n  return ru = (69069 * ru + 1) % 4294967296, Math.abs(ru - e) < 429496729 ? xe.pseudoRandom() : ru / 4294967296;\n};\nxe.fillText = function(e, t, r) {\n  var n = Array.isArray(r) ? function(o) {\n    r.push(o);\n  } : function(o) {\n    r.text = o;\n  }, a = xe.extractOption(e, t, \"htx\", \"hovertext\");\n  if (xe.isValidTextValue(a)) return n(a);\n  var i = xe.extractOption(e, t, \"tx\", \"text\");\n  if (xe.isValidTextValue(i)) return n(i);\n};\nxe.isValidTextValue = function(e) {\n  return e || e === 0;\n};\nxe.formatPercent = function(e, t) {\n  t = t || 0;\n  for (var r = (Math.round(100 * e * Math.pow(10, t)) * Math.pow(0.1, t)).toFixed(t) + \"%\", n = 0; n < t; n++)\n    r.indexOf(\".\") !== -1 && (r = r.replace(\"0%\", \"%\"), r = r.replace(\".%\", \"%\"));\n  return r;\n};\nxe.isHidden = function(e) {\n  var t = window.getComputedStyle(e).display;\n  return !t || t === \"none\";\n};\nxe.strTranslate = function(e, t) {\n  return e || t ? \"translate(\" + e + \",\" + t + \")\" : \"\";\n};\nxe.strRotate = function(e) {\n  return e ? \"rotate(\" + e + \")\" : \"\";\n};\nxe.strScale = function(e) {\n  return e !== 1 ? \"scale(\" + e + \")\" : \"\";\n};\nxe.getTextTransform = function(e) {\n  var t = e.noCenter, r = e.textX, n = e.textY, a = e.targetX, i = e.targetY, o = e.anchorX || 0, l = e.anchorY || 0, s = e.rotate, u = e.scale;\n  return u ? u > 1 && (u = 1) : u = 0, xe.strTranslate(\n    a - u * (r + o),\n    i - u * (n + l)\n  ) + xe.strScale(u) + (s ? \"rotate(\" + s + (t ? \"\" : \" \" + r + \" \" + n) + \")\" : \"\");\n};\nxe.setTransormAndDisplay = function(e, t) {\n  e.attr(\"transform\", xe.getTextTransform(t)), e.style(\"display\", t.scale ? null : \"none\");\n};\nxe.ensureUniformFontSize = function(e, t) {\n  var r = xe.extendFlat({}, t);\n  return r.size = Math.max(\n    t.size,\n    e._fullLayout.uniformtext.minsize || 0\n  ), r;\n};\nxe.join2 = function(e, t, r) {\n  var n = e.length;\n  return n > 1 ? e.slice(0, -1).join(t) + r + e[n - 1] : e.join(t);\n};\nxe.bigFont = function(e) {\n  return Math.round(1.2 * e);\n};\nvar E2 = xe.getFirefoxVersion(), yq = E2 !== null && E2 < 86;\nxe.getPositionFromD3Event = function() {\n  return yq ? [\n    Zf.event.layerX,\n    Zf.event.layerY\n  ] : [\n    Zf.event.offsetX,\n    Zf.event.offsetY\n  ];\n};\nvar Ue = aC.exports, bq = Ue, F2 = {\n  \"X,X div\": 'direction:ltr;font-family:\"Open Sans\",verdana,arial,sans-serif;margin:0;padding:0;',\n  \"X input,X button\": 'font-family:\"Open Sans\",verdana,arial,sans-serif;',\n  \"X input:focus,X button:focus\": \"outline:none;\",\n  \"X a\": \"text-decoration:none;\",\n  \"X a:hover\": \"text-decoration:none;\",\n  \"X .crisp\": \"shape-rendering:crispEdges;\",\n  \"X .user-select-none\": \"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;\",\n  \"X svg\": \"overflow:hidden;\",\n  \"X svg a\": \"fill:#447adb;\",\n  \"X svg a:hover\": \"fill:#3c6dc5;\",\n  \"X .main-svg\": \"position:absolute;top:0;left:0;pointer-events:none;\",\n  \"X .main-svg .draglayer\": \"pointer-events:all;\",\n  \"X .cursor-default\": \"cursor:default;\",\n  \"X .cursor-pointer\": \"cursor:pointer;\",\n  \"X .cursor-crosshair\": \"cursor:crosshair;\",\n  \"X .cursor-move\": \"cursor:move;\",\n  \"X .cursor-col-resize\": \"cursor:col-resize;\",\n  \"X .cursor-row-resize\": \"cursor:row-resize;\",\n  \"X .cursor-ns-resize\": \"cursor:ns-resize;\",\n  \"X .cursor-ew-resize\": \"cursor:ew-resize;\",\n  \"X .cursor-sw-resize\": \"cursor:sw-resize;\",\n  \"X .cursor-s-resize\": \"cursor:s-resize;\",\n  \"X .cursor-se-resize\": \"cursor:se-resize;\",\n  \"X .cursor-w-resize\": \"cursor:w-resize;\",\n  \"X .cursor-e-resize\": \"cursor:e-resize;\",\n  \"X .cursor-nw-resize\": \"cursor:nw-resize;\",\n  \"X .cursor-n-resize\": \"cursor:n-resize;\",\n  \"X .cursor-ne-resize\": \"cursor:ne-resize;\",\n  \"X .cursor-grab\": \"cursor:-webkit-grab;cursor:grab;\",\n  \"X .modebar\": \"position:absolute;top:2px;right:2px;\",\n  \"X .ease-bg\": \"-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;\",\n  \"X .modebar--hover>:not(.watermark)\": \"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;\",\n  \"X:hover .modebar--hover .modebar-group\": \"opacity:1;\",\n  \"X .modebar-group\": \"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;\",\n  \"X .modebar-btn\": \"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;\",\n  \"X .modebar-btn svg\": \"position:relative;top:2px;\",\n  \"X .modebar.vertical\": \"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;\",\n  \"X .modebar.vertical svg\": \"top:-1px;\",\n  \"X .modebar.vertical .modebar-group\": \"display:block;float:none;padding-left:0px;padding-bottom:8px;\",\n  \"X .modebar.vertical .modebar-group .modebar-btn\": \"display:block;text-align:center;\",\n  \"X [data-title]:before,X [data-title]:after\": \"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;\",\n  \"X [data-title]:hover:before,X [data-title]:hover:after\": \"display:block;opacity:1;\",\n  \"X [data-title]:before\": 'content:\"\";position:absolute;background:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',\n  \"X [data-title]:after\": \"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;\",\n  \"X .vertical [data-title]:before,X .vertical [data-title]:after\": \"top:0%;right:200%;\",\n  \"X .vertical [data-title]:before\": \"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;\",\n  Y: 'font-family:\"Open Sans\",verdana,arial,sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;',\n  \"Y p\": \"margin:0;\",\n  \"Y .notifier-note\": \"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;\",\n  \"Y .notifier-close\": \"color:#fff;opacity:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;\",\n  \"Y .notifier-close:hover\": \"color:#444;text-decoration:none;cursor:pointer;\"\n};\nfor (var R2 in F2) {\n  var _q = R2.replace(/^,/, \" ,\").replace(/X/g, \".js-plotly-plot .plotly\").replace(/Y/g, \".plotly-notifier\");\n  bq.addStyleRule(_q, F2[R2]);\n}\nvar Or = {}, ob = {}, xq = !0, wq = xq, uy;\ntypeof Wl.matchMedia == \"function\" ? uy = !Wl.matchMedia(\"(hover: none)\").matches : uy = wq;\nvar zL = uy, lb = { exports: {} }, gu = typeof Reflect == \"object\" ? Reflect : null, P2 = gu && typeof gu.apply == \"function\" ? gu.apply : function(t, r, n) {\n  return Function.prototype.apply.call(t, r, n);\n}, Rh;\ngu && typeof gu.ownKeys == \"function\" ? Rh = gu.ownKeys : Object.getOwnPropertySymbols ? Rh = function(t) {\n  return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t));\n} : Rh = function(t) {\n  return Object.getOwnPropertyNames(t);\n};\nfunction Tq(e) {\n  console && console.warn && console.warn(e);\n}\nvar IL = Number.isNaN || function(t) {\n  return t !== t;\n};\nfunction Nr() {\n  Nr.init.call(this);\n}\nlb.exports = Nr;\nlb.exports.once = Sq;\nNr.EventEmitter = Nr;\nNr.prototype._events = void 0;\nNr.prototype._eventsCount = 0;\nNr.prototype._maxListeners = void 0;\nvar $2 = 10;\nfunction _p(e) {\n  if (typeof e != \"function\")\n    throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof e);\n}\nObject.defineProperty(Nr, \"defaultMaxListeners\", {\n  enumerable: !0,\n  get: function() {\n    return $2;\n  },\n  set: function(e) {\n    if (typeof e != \"number\" || e < 0 || IL(e))\n      throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + e + \".\");\n    $2 = e;\n  }\n});\nNr.init = function() {\n  (this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) && (this._events = /* @__PURE__ */ Object.create(null), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0;\n};\nNr.prototype.setMaxListeners = function(t) {\n  if (typeof t != \"number\" || t < 0 || IL(t))\n    throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + t + \".\");\n  return this._maxListeners = t, this;\n};\nfunction NL(e) {\n  return e._maxListeners === void 0 ? Nr.defaultMaxListeners : e._maxListeners;\n}\nNr.prototype.getMaxListeners = function() {\n  return NL(this);\n};\nNr.prototype.emit = function(t) {\n  for (var r = [], n = 1; n < arguments.length; n++) r.push(arguments[n]);\n  var a = t === \"error\", i = this._events;\n  if (i !== void 0)\n    a = a && i.error === void 0;\n  else if (!a)\n    return !1;\n  if (a) {\n    var o;\n    if (r.length > 0 && (o = r[0]), o instanceof Error)\n      throw o;\n    var l = new Error(\"Unhandled error.\" + (o ? \" (\" + o.message + \")\" : \"\"));\n    throw l.context = o, l;\n  }\n  var s = i[t];\n  if (s === void 0)\n    return !1;\n  if (typeof s == \"function\")\n    P2(s, this, r);\n  else\n    for (var u = s.length, f = UL(s, u), n = 0; n < u; ++n)\n      P2(f[n], this, r);\n  return !0;\n};\nfunction OL(e, t, r, n) {\n  var a, i, o;\n  if (_p(r), i = e._events, i === void 0 ? (i = e._events = /* @__PURE__ */ Object.create(null), e._eventsCount = 0) : (i.newListener !== void 0 && (e.emit(\n    \"newListener\",\n    t,\n    r.listener ? r.listener : r\n  ), i = e._events), o = i[t]), o === void 0)\n    o = i[t] = r, ++e._eventsCount;\n  else if (typeof o == \"function\" ? o = i[t] = n ? [r, o] : [o, r] : n ? o.unshift(r) : o.push(r), a = NL(e), a > 0 && o.length > a && !o.warned) {\n    o.warned = !0;\n    var l = new Error(\"Possible EventEmitter memory leak detected. \" + o.length + \" \" + String(t) + \" listeners added. Use emitter.setMaxListeners() to increase limit\");\n    l.name = \"MaxListenersExceededWarning\", l.emitter = e, l.type = t, l.count = o.length, Tq(l);\n  }\n  return e;\n}\nNr.prototype.addListener = function(t, r) {\n  return OL(this, t, r, !1);\n};\nNr.prototype.on = Nr.prototype.addListener;\nNr.prototype.prependListener = function(t, r) {\n  return OL(this, t, r, !0);\n};\nfunction kq() {\n  if (!this.fired)\n    return this.target.removeListener(this.type, this.wrapFn), this.fired = !0, arguments.length === 0 ? this.listener.call(this.target) : this.listener.apply(this.target, arguments);\n}\nfunction HL(e, t, r) {\n  var n = { fired: !1, wrapFn: void 0, target: e, type: t, listener: r }, a = kq.bind(n);\n  return a.listener = r, n.wrapFn = a, a;\n}\nNr.prototype.once = function(t, r) {\n  return _p(r), this.on(t, HL(this, t, r)), this;\n};\nNr.prototype.prependOnceListener = function(t, r) {\n  return _p(r), this.prependListener(t, HL(this, t, r)), this;\n};\nNr.prototype.removeListener = function(t, r) {\n  var n, a, i, o, l;\n  if (_p(r), a = this._events, a === void 0)\n    return this;\n  if (n = a[t], n === void 0)\n    return this;\n  if (n === r || n.listener === r)\n    --this._eventsCount === 0 ? this._events = /* @__PURE__ */ Object.create(null) : (delete a[t], a.removeListener && this.emit(\"removeListener\", t, n.listener || r));\n  else if (typeof n != \"function\") {\n    for (i = -1, o = n.length - 1; o >= 0; o--)\n      if (n[o] === r || n[o].listener === r) {\n        l = n[o].listener, i = o;\n        break;\n      }\n    if (i < 0)\n      return this;\n    i === 0 ? n.shift() : Aq(n, i), n.length === 1 && (a[t] = n[0]), a.removeListener !== void 0 && this.emit(\"removeListener\", t, l || r);\n  }\n  return this;\n};\nNr.prototype.off = Nr.prototype.removeListener;\nNr.prototype.removeAllListeners = function(t) {\n  var r, n, a;\n  if (n = this._events, n === void 0)\n    return this;\n  if (n.removeListener === void 0)\n    return arguments.length === 0 ? (this._events = /* @__PURE__ */ Object.create(null), this._eventsCount = 0) : n[t] !== void 0 && (--this._eventsCount === 0 ? this._events = /* @__PURE__ */ Object.create(null) : delete n[t]), this;\n  if (arguments.length === 0) {\n    var i = Object.keys(n), o;\n    for (a = 0; a < i.length; ++a)\n      o = i[a], o !== \"removeListener\" && this.removeAllListeners(o);\n    return this.removeAllListeners(\"removeListener\"), this._events = /* @__PURE__ */ Object.create(null), this._eventsCount = 0, this;\n  }\n  if (r = n[t], typeof r == \"function\")\n    this.removeListener(t, r);\n  else if (r !== void 0)\n    for (a = r.length - 1; a >= 0; a--)\n      this.removeListener(t, r[a]);\n  return this;\n};\nfunction BL(e, t, r) {\n  var n = e._events;\n  if (n === void 0)\n    return [];\n  var a = n[t];\n  return a === void 0 ? [] : typeof a == \"function\" ? r ? [a.listener || a] : [a] : r ? Mq(a) : UL(a, a.length);\n}\nNr.prototype.listeners = function(t) {\n  return BL(this, t, !0);\n};\nNr.prototype.rawListeners = function(t) {\n  return BL(this, t, !1);\n};\nNr.listenerCount = function(e, t) {\n  return typeof e.listenerCount == \"function\" ? e.listenerCount(t) : jL.call(e, t);\n};\nNr.prototype.listenerCount = jL;\nfunction jL(e) {\n  var t = this._events;\n  if (t !== void 0) {\n    var r = t[e];\n    if (typeof r == \"function\")\n      return 1;\n    if (r !== void 0)\n      return r.length;\n  }\n  return 0;\n}\nNr.prototype.eventNames = function() {\n  return this._eventsCount > 0 ? Rh(this._events) : [];\n};\nfunction UL(e, t) {\n  for (var r = new Array(t), n = 0; n < t; ++n)\n    r[n] = e[n];\n  return r;\n}\nfunction Aq(e, t) {\n  for (; t + 1 < e.length; t++)\n    e[t] = e[t + 1];\n  e.pop();\n}\nfunction Mq(e) {\n  for (var t = new Array(e.length), r = 0; r < t.length; ++r)\n    t[r] = e[r].listener || e[r];\n  return t;\n}\nfunction Sq(e, t) {\n  return new Promise(function(r, n) {\n    function a(o) {\n      e.removeListener(t, i), n(o);\n    }\n    function i() {\n      typeof e.removeListener == \"function\" && e.removeListener(\"error\", a), r([].slice.call(arguments));\n    }\n    GL(e, t, i, { once: !0 }), t !== \"error\" && Cq(e, a, { once: !0 });\n  });\n}\nfunction Cq(e, t, r) {\n  typeof e.on == \"function\" && GL(e, \"error\", t, r);\n}\nfunction GL(e, t, r, n) {\n  if (typeof e.on == \"function\")\n    n.once ? e.once(t, r) : e.on(t, r);\n  else if (typeof e.addEventListener == \"function\")\n    e.addEventListener(t, function a(i) {\n      n.once && e.removeEventListener(t, a), r(i);\n    });\n  else\n    throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof e);\n}\nvar sb = lb.exports, Zm = sb.EventEmitter, Lq = {\n  init: function(e) {\n    if (e._ev instanceof Zm) return e;\n    var t = new Zm(), r = new Zm();\n    return e._ev = t, e._internalEv = r, e.on = t.on.bind(t), e.once = t.once.bind(t), e.removeListener = t.removeListener.bind(t), e.removeAllListeners = t.removeAllListeners.bind(t), e._internalOn = r.on.bind(r), e._internalOnce = r.once.bind(r), e._removeInternalListener = r.removeListener.bind(r), e._removeAllInternalListeners = r.removeAllListeners.bind(r), e.emit = function(n, a) {\n      typeof jQuery < \"u\" && jQuery(e).trigger(n, a), t.emit(n, a), r.emit(n, a);\n    }, e;\n  },\n  /*\n   * This function behaves like jQuery's triggerHandler. It calls\n   * all handlers for a particular event and returns the return value\n   * of the LAST handler. This function also triggers jQuery's\n   * triggerHandler for backwards compatibility.\n   */\n  triggerHandler: function(e, t, r) {\n    var n, a;\n    typeof jQuery < \"u\" && (n = jQuery(e).triggerHandler(t, r));\n    var i = e._ev;\n    if (!i) return n;\n    var o = i._events[t];\n    if (!o) return n;\n    function l(u) {\n      if (u.listener) {\n        if (i.removeListener(t, u.listener), !u.fired)\n          return u.fired = !0, u.listener.apply(i, [r]);\n      } else\n        return u.apply(i, [r]);\n    }\n    o = Array.isArray(o) ? o : [o];\n    var s;\n    for (s = 0; s < o.length - 1; s++)\n      l(o[s]);\n    return a = l(o[s]), n !== void 0 ? n : a;\n  },\n  purge: function(e) {\n    return delete e._ev, delete e.on, delete e.once, delete e.removeListener, delete e.removeAllListeners, delete e.emit, delete e._ev, delete e._internalEv, delete e._internalOn, delete e._internalOnce, delete e._removeInternalListener, delete e._removeAllInternalListeners, e;\n  }\n}, xp = Lq, z2 = Ue, Dq = Yu.dfltConfig;\nfunction Eq(e, t) {\n  for (var r = [], n, a = 0; a < t.length; a++)\n    n = t[a], n === e ? r[a] = n : typeof n == \"object\" ? r[a] = Array.isArray(n) ? z2.extendDeep([], n) : z2.extendDeepAll({}, n) : r[a] = n;\n  return r;\n}\nvar ko = {};\nko.add = function(e, t, r, n, a) {\n  var i, o;\n  if (e.undoQueue = e.undoQueue || { index: 0, queue: [], sequence: !1 }, o = e.undoQueue.index, e.autoplay) {\n    e.undoQueue.inSequence || (e.autoplay = !1);\n    return;\n  }\n  !e.undoQueue.sequence || e.undoQueue.beginSequence ? (i = { undo: { calls: [], args: [] }, redo: { calls: [], args: [] } }, e.undoQueue.queue.splice(o, e.undoQueue.queue.length - o, i), e.undoQueue.index += 1) : i = e.undoQueue.queue[o - 1], e.undoQueue.beginSequence = !1, i && (i.undo.calls.unshift(t), i.undo.args.unshift(r), i.redo.calls.push(n), i.redo.args.push(a)), e.undoQueue.queue.length > Dq.queueLength && (e.undoQueue.queue.shift(), e.undoQueue.index--);\n};\nko.startSequence = function(e) {\n  e.undoQueue = e.undoQueue || { index: 0, queue: [], sequence: !1 }, e.undoQueue.sequence = !0, e.undoQueue.beginSequence = !0;\n};\nko.stopSequence = function(e) {\n  e.undoQueue = e.undoQueue || { index: 0, queue: [], sequence: !1 }, e.undoQueue.sequence = !1, e.undoQueue.beginSequence = !1;\n};\nko.undo = function(t) {\n  var r, n;\n  if (!(t.undoQueue === void 0 || isNaN(t.undoQueue.index) || t.undoQueue.index <= 0)) {\n    for (t.undoQueue.index--, r = t.undoQueue.queue[t.undoQueue.index], t.undoQueue.inSequence = !0, n = 0; n < r.undo.calls.length; n++)\n      ko.plotDo(t, r.undo.calls[n], r.undo.args[n]);\n    t.undoQueue.inSequence = !1, t.autoplay = !1;\n  }\n};\nko.redo = function(t) {\n  var r, n;\n  if (!(t.undoQueue === void 0 || isNaN(t.undoQueue.index) || t.undoQueue.index >= t.undoQueue.queue.length)) {\n    for (r = t.undoQueue.queue[t.undoQueue.index], t.undoQueue.inSequence = !0, n = 0; n < r.redo.calls.length; n++)\n      ko.plotDo(t, r.redo.calls[n], r.redo.args[n]);\n    t.undoQueue.inSequence = !1, t.autoplay = !1, t.undoQueue.index++;\n  }\n};\nko.plotDo = function(e, t, r) {\n  e.autoplay = !0, r = Eq(e, r), t.apply(null, r);\n};\nvar Fq = ko, Qu = {}, VL = {\n  _isLinkedToArray: \"frames_entry\",\n  group: {\n    valType: \"string\",\n    description: [\n      \"An identifier that specifies the group to which the frame belongs,\",\n      \"used by animate to select a subset of frames.\"\n    ].join(\" \")\n  },\n  name: {\n    valType: \"string\",\n    description: \"A label by which to identify the frame\"\n  },\n  traces: {\n    valType: \"any\",\n    description: [\n      \"A list of trace indices that identify the respective traces in the\",\n      \"data attribute\"\n    ].join(\" \")\n  },\n  baseframe: {\n    valType: \"string\",\n    description: [\n      \"The name of the frame into which this frame's properties are merged\",\n      \"before applying. This is used to unify properties and avoid needing\",\n      \"to specify the same values for the same properties in multiple frames.\"\n    ].join(\" \")\n  },\n  data: {\n    valType: \"any\",\n    description: [\n      \"A list of traces this frame modifies. The format is identical to the\",\n      \"normal trace definition.\"\n    ].join(\" \")\n  },\n  layout: {\n    valType: \"any\",\n    description: [\n      \"Layout properties which this frame modifies. The format is identical\",\n      \"to the normal layout definition.\"\n    ].join(\" \")\n  }\n};\n(function(e) {\n  var t = Nt, r = Ue, n = Wi, a = Xc, i = VL, o = hp, l = Yu.configAttributes, s = Lo, u = r.extendDeepAll, f = r.isPlainObject, d = r.isArrayOrTypedArray, h = r.nestedProperty, p = r.valObjectMeta, v = \"_isSubplotObj\", m = \"_isLinkedToArray\", g = \"_arrayAttrRegexps\", y = \"_deprecated\", w = [v, m, g, y];\n  e.IS_SUBPLOT_OBJ = v, e.IS_LINKED_TO_ARRAY = m, e.DEPRECATED = y, e.UNDERSCORE_ATTRS = w, e.get = function() {\n    var V = {};\n    t.allTypes.forEach(function(P) {\n      V[P] = T(P);\n    });\n    var z = {};\n    return Object.keys(t.transformsRegistry).forEach(function(P) {\n      z[P] = M(P);\n    }), {\n      defs: {\n        valObjects: p,\n        metaKeys: w.concat([\"description\", \"role\", \"editType\", \"impliedEdits\"]),\n        editType: {\n          traces: s.traces,\n          layout: s.layout\n        },\n        impliedEdits: {\n          description: [\n            \"Sometimes when an attribute is changed, other attributes\",\n            \"must be altered as well in order to achieve the intended\",\n            \"result. For example, when `range` is specified, it is\",\n            \"important to set `autorange` to `false` or the new `range`\",\n            \"value would be lost in the redraw. `impliedEdits` is the\",\n            \"mechanism to do this: `impliedEdits: {autorange: false}`.\",\n            \"Each key is a relative paths to the attribute string to\",\n            \"change, using *^* to ascend into the parent container,\",\n            \"for example `range[0]` has `impliedEdits: {*^autorange*: false}`.\",\n            \"A value of `undefined` means that the attribute will not be\",\n            \"changed, but its previous value should be recorded in case\",\n            \"we want to reverse this change later. For example, `autorange`\",\n            \"has `impliedEdits: {*range[0]*: undefined, *range[1]*:undefined}\",\n            \"because the range will likely be changed by redraw.\"\n          ].join(\" \")\n        }\n      },\n      traces: V,\n      layout: S(),\n      transforms: z,\n      frames: L(),\n      animation: F(o),\n      config: F(l)\n    };\n  }, e.crawl = function(V, z, P, R) {\n    var H = P || 0;\n    R = R || \"\", Object.keys(V).forEach(function(B) {\n      var W = V[B];\n      if (w.indexOf(B) === -1) {\n        var ee = (R ? R + \".\" : \"\") + B;\n        z(W, B, V, H, ee), !e.isValObject(W) && f(W) && B !== \"impliedEdits\" && e.crawl(W, z, H + 1, ee);\n      }\n    });\n  }, e.isValObject = function(V) {\n    return V && V.valType !== void 0;\n  }, e.findArrayAttributes = function(V) {\n    var z = [], P = [], R = [], H, B;\n    function W(j, U, Z, le) {\n      P = P.slice(0, le).concat([U]), R = R.slice(0, le).concat([j && j._isLinkedToArray]);\n      var J = j && (j.valType === \"data_array\" || j.arrayOk === !0) && !(P[le - 1] === \"colorbar\" && (U === \"ticktext\" || U === \"tickvals\"));\n      J && ee(H, 0, \"\");\n    }\n    function ee(j, U, Z) {\n      var le = j[P[U]], J = Z + P[U];\n      if (U === P.length - 1)\n        d(le) && z.push(B + J);\n      else if (R[U]) {\n        if (Array.isArray(le))\n          for (var pe = 0; pe < le.length; pe++)\n            f(le[pe]) && ee(le[pe], U + 1, J + \"[\" + pe + \"].\");\n      } else f(le) && ee(le, U + 1, J + \".\");\n    }\n    H = V, B = \"\", e.crawl(n, W), V._module && V._module.attributes && e.crawl(V._module.attributes, W);\n    var re = V.transforms;\n    if (re)\n      for (var ae = 0; ae < re.length; ae++) {\n        var Q = re[ae], ue = Q._module;\n        ue && (B = \"transforms[\" + ae + \"].\", H = Q, e.crawl(ue.attributes, W));\n      }\n    return z;\n  }, e.getTraceValObject = function(V, z) {\n    var P = z[0], R = 1, H, B;\n    if (P === \"transforms\") {\n      if (z.length === 1)\n        return n.transforms;\n      var W = V.transforms;\n      if (!Array.isArray(W) || !W.length) return !1;\n      var ee = z[1];\n      if (!_(ee) || ee >= W.length)\n        return !1;\n      H = (t.transformsRegistry[W[ee].type] || {}).attributes, B = H && H[z[2]], R = 3;\n    } else {\n      var re = V._module;\n      if (re || (re = (t.modules[V.type || n.type.dflt] || {})._module), !re) return !1;\n      if (H = re.attributes, B = H && H[P], !B) {\n        var ae = re.basePlotModule;\n        ae && ae.attributes && (B = ae.attributes[P]);\n      }\n      B || (B = n[P]);\n    }\n    return x(B, z, R);\n  }, e.getLayoutValObject = function(V, z) {\n    var P = k(V, z[0]);\n    return x(P, z, 1);\n  };\n  function k(V, z) {\n    var P, R, H, B, W = V._basePlotModules;\n    if (W) {\n      var ee;\n      for (P = 0; P < W.length; P++) {\n        if (H = W[P], H.attrRegex && H.attrRegex.test(z)) {\n          if (H.layoutAttrOverrides) return H.layoutAttrOverrides;\n          !ee && H.layoutAttributes && (ee = H.layoutAttributes);\n        }\n        var re = H.baseLayoutAttrOverrides;\n        if (re && z in re) return re[z];\n      }\n      if (ee) return ee;\n    }\n    var ae = V._modules;\n    if (ae) {\n      for (P = 0; P < ae.length; P++)\n        if (B = ae[P].layoutAttributes, B && z in B)\n          return B[z];\n    }\n    for (R in t.componentsRegistry) {\n      if (H = t.componentsRegistry[R], H.name === \"colorscale\" && z.indexOf(\"coloraxis\") === 0)\n        return H.layoutAttributes[z];\n      if (!H.schema && z === H.name)\n        return H.layoutAttributes;\n    }\n    return z in a ? a[z] : !1;\n  }\n  function x(V, z, P) {\n    if (!V) return !1;\n    if (V._isLinkedToArray) {\n      if (_(z[P])) P++;\n      else if (P < z.length) return !1;\n    }\n    for (; P < z.length; P++) {\n      var R = V[z[P]];\n      if (f(R)) V = R;\n      else break;\n      if (P === z.length - 1) break;\n      if (V._isLinkedToArray) {\n        if (P++, !_(z[P])) return !1;\n      } else if (V.valType === \"info_array\") {\n        P++;\n        var H = z[P];\n        if (!_(H)) return !1;\n        var B = V.items;\n        if (Array.isArray(B)) {\n          if (H >= B.length) return !1;\n          if (V.dimensions === 2) {\n            if (P++, z.length === P) return V;\n            var W = z[P];\n            if (!_(W)) return !1;\n            V = B[H][W];\n          } else V = B[H];\n        } else\n          V = B;\n      }\n    }\n    return V;\n  }\n  function _(V) {\n    return V === Math.round(V) && V >= 0;\n  }\n  function T(V) {\n    var z, P;\n    z = t.modules[V]._module, P = z.basePlotModule;\n    var R = {};\n    R.type = null;\n    var H = u({}, n), B = u({}, z.attributes);\n    e.crawl(B, function(re, ae, Q, ue, j) {\n      h(H, j).set(void 0), re === void 0 && h(B, j).set(void 0);\n    }), u(R, H), t.traceIs(V, \"noOpacity\") && delete R.opacity, t.traceIs(V, \"showLegend\") || (delete R.showlegend, delete R.legendgroup), t.traceIs(V, \"noHover\") && (delete R.hoverinfo, delete R.hoverlabel), z.selectPoints || delete R.selectedpoints, u(R, B), P.attributes && u(R, P.attributes), R.type = V;\n    var W = {\n      meta: z.meta || {},\n      categories: z.categories || {},\n      animatable: !!z.animatable,\n      type: V,\n      attributes: F(R)\n    };\n    if (z.layoutAttributes) {\n      var ee = {};\n      u(ee, z.layoutAttributes), W.layoutAttributes = F(ee);\n    }\n    return z.animatable || e.crawl(W, function(re) {\n      e.isValObject(re) && \"anim\" in re && delete re.anim;\n    }), W;\n  }\n  function S() {\n    var V = {}, z, P;\n    u(V, a);\n    for (z in t.subplotsRegistry)\n      if (P = t.subplotsRegistry[z], !!P.layoutAttributes)\n        if (Array.isArray(P.attr))\n          for (var R = 0; R < P.attr.length; R++)\n            G(V, P, P.attr[R]);\n        else {\n          var H = P.attr === \"subplot\" ? P.name : P.attr;\n          G(V, P, H);\n        }\n    for (z in t.componentsRegistry) {\n      P = t.componentsRegistry[z];\n      var B = P.schema;\n      if (B && (B.subplots || B.layout)) {\n        var W = B.subplots;\n        if (W && W.xaxis && !W.yaxis)\n          for (var ee in W.xaxis)\n            delete V.yaxis[ee];\n        delete V.xaxis.shift, delete V.xaxis.autoshift;\n      } else P.name === \"colorscale\" ? u(V, P.layoutAttributes) : P.layoutAttributes && K(V, P.layoutAttributes, P.name);\n    }\n    return {\n      layoutAttributes: F(V)\n    };\n  }\n  function M(V) {\n    var z = t.transformsRegistry[V], P = u({}, z.attributes);\n    return Object.keys(t.componentsRegistry).forEach(function(R) {\n      var H = t.componentsRegistry[R];\n      H.schema && H.schema.transforms && H.schema.transforms[V] && Object.keys(H.schema.transforms[V]).forEach(function(B) {\n        K(P, H.schema.transforms[V][B], B);\n      });\n    }), {\n      attributes: F(P)\n    };\n  }\n  function L() {\n    var V = {\n      frames: u({}, i)\n    };\n    return F(V), V.frames;\n  }\n  function F(V) {\n    return $(V), I(V), O(V), V;\n  }\n  function $(V) {\n    function z(R) {\n      return {\n        valType: \"string\",\n        description: \"Sets the source reference on Chart Studio Cloud for `\" + R + \"`.\",\n        editType: \"none\"\n      };\n    }\n    function P(R, H, B) {\n      e.isValObject(R) ? (R.arrayOk === !0 || R.valType === \"data_array\") && (B[H + \"src\"] = z(H)) : f(R) && (R.role = \"object\");\n    }\n    e.crawl(V, P);\n  }\n  function I(V) {\n    function z(P, R, H) {\n      if (P) {\n        var B = P[m];\n        B && (delete P[m], H[R] = { items: {} }, H[R].items[B] = P, H[R].role = \"object\");\n      }\n    }\n    e.crawl(V, z);\n  }\n  function O(V) {\n    function z(P) {\n      for (var R in P)\n        if (f(P[R]))\n          z(P[R]);\n        else if (Array.isArray(P[R]))\n          for (var H = 0; H < P[R].length; H++)\n            z(P[R][H]);\n        else\n          P[R] instanceof RegExp && (P[R] = P[R].toString());\n    }\n    z(V);\n  }\n  function G(V, z, P) {\n    var R = h(V, P), H = u({}, z.layoutAttributes);\n    H[v] = !0, R.set(H);\n  }\n  function K(V, z, P) {\n    var R = h(V, P);\n    R.set(u(R.get() || {}, z));\n  }\n})(Qu);\nvar qL = { exports: {} }, Mr = {}, yu = Ue, Rq = Wi, rl = \"templateitemname\", fy = {\n  name: {\n    valType: \"string\",\n    editType: \"none\",\n    description: [\n      \"When used in a template, named items are created in the output figure\",\n      \"in addition to any items the figure already has in this array.\",\n      \"You can modify these items in the output figure by making your own\",\n      \"item with `templateitemname` matching this `name`\",\n      \"alongside your modifications (including `visible: false` or\",\n      \"`enabled: false` to hide it).\",\n      \"Has no effect outside of a template.\"\n    ].join(\" \")\n  }\n};\nfy[rl] = {\n  valType: \"string\",\n  editType: \"calc\",\n  description: [\n    \"Used to refer to a named item in this array in the template. Named\",\n    \"items from the template will be created even without a matching item\",\n    \"in the input figure, but you can modify one by making an item with\",\n    \"`templateitemname` matching its `name`, alongside your modifications\",\n    \"(including `visible: false` or `enabled: false` to hide it).\",\n    \"If there is no template or no matching item, this item will be\",\n    \"hidden unless you explicitly show it with `visible: true`.\"\n  ].join(\" \")\n};\nMr.templatedArray = function(e, t) {\n  return t._isLinkedToArray = e, t.name = fy.name, t[rl] = fy[rl], t;\n};\nMr.traceTemplater = function(e) {\n  var t = {}, r, n;\n  for (r in e)\n    n = e[r], Array.isArray(n) && n.length && (t[r] = 0);\n  function a(i) {\n    r = yu.coerce(i, {}, Rq, \"type\");\n    var o = { type: r, _template: null };\n    if (r in t) {\n      n = e[r];\n      var l = t[r] % n.length;\n      t[r]++, o._template = n[l];\n    }\n    return o;\n  }\n  return {\n    newTrace: a\n    // TODO: function to figure out what's left & what didn't work\n  };\n};\nMr.newContainer = function(e, t, r) {\n  var n = e._template, a = n && (n[t] || r && n[r]);\n  yu.isPlainObject(a) || (a = null);\n  var i = e[t] = { _template: a };\n  return i;\n};\nMr.arrayTemplater = function(e, t, r) {\n  var n = e._template, a = n && n[WL(t)], i = n && n[t];\n  (!Array.isArray(i) || !i.length) && (i = []);\n  var o = {};\n  function l(u) {\n    var f = { name: u.name, _input: u }, d = f[rl] = u[rl];\n    if (!I2(d))\n      return f._template = a, f;\n    for (var h = 0; h < i.length; h++) {\n      var p = i[h];\n      if (p.name === d)\n        return o[d] = 1, f._template = p, f;\n    }\n    return f[r] = u[r] || !1, f._template = !1, f;\n  }\n  function s() {\n    for (var u = [], f = 0; f < i.length; f++) {\n      var d = i[f], h = d.name;\n      if (I2(h) && !o[h]) {\n        var p = {\n          _template: d,\n          name: h,\n          _input: { _templateitemname: h }\n        };\n        p[rl] = d[rl], u.push(p), o[h] = 1;\n      }\n    }\n    return u;\n  }\n  return {\n    newItem: l,\n    defaultItems: s\n  };\n};\nfunction I2(e) {\n  return e && typeof e == \"string\";\n}\nfunction WL(e) {\n  var t = e.length - 1;\n  return e.charAt(t) !== \"s\" && yu.warn(\"bad argument to arrayDefaultKey: \" + e), e.substr(0, e.length - 1) + \"defaults\";\n}\nMr.arrayDefaultKey = WL;\nMr.arrayEditor = function(e, t, r) {\n  var n = (yu.nestedProperty(e, t).get() || []).length, a = r._index, i = a >= n && (r._input || {})._templateitemname;\n  i && (a = n);\n  var o = t + \"[\" + a + \"]\", l;\n  function s() {\n    l = {}, i && (l[o] = {}, l[o][rl] = i);\n  }\n  s();\n  function u(p, v) {\n    l[p] = v;\n  }\n  function f(p, v) {\n    i ? yu.nestedProperty(l[o], p).set(v) : l[o + \".\" + p] = v;\n  }\n  function d() {\n    var p = l;\n    return s(), p;\n  }\n  function h(p, v) {\n    p && f(p, v);\n    var m = d();\n    for (var g in m)\n      yu.nestedProperty(e, g).set(m[g]);\n  }\n  return {\n    modifyBase: u,\n    modifyItem: f,\n    getUpdateObj: d,\n    applyUpdate: h\n  };\n};\nvar gn = {}, Tf = Zu.counter, Yn = {\n  idRegex: {\n    x: Tf(\"x\", \"( domain)?\"),\n    y: Tf(\"y\", \"( domain)?\")\n  },\n  attrRegex: Tf(\"[xy]axis\"),\n  // axis match regular expression\n  xAxisMatch: Tf(\"xaxis\"),\n  yAxisMatch: Tf(\"yaxis\"),\n  // pattern matching axis ids and names\n  // note that this is more permissive than counterRegex, as\n  // id2name, name2id, and cleanId accept \"x1\" etc\n  AX_ID_PATTERN: /^[xyz][0-9]*( domain)?$/,\n  AX_NAME_PATTERN: /^[xyz]axis[0-9]*$/,\n  // and for 2D subplots\n  SUBPLOT_PATTERN: /^x([0-9]*)y([0-9]*)$/,\n  HOUR_PATTERN: \"hour\",\n  WEEKDAY_PATTERN: \"day of week\",\n  // pixels to move mouse before you stop clamping to starting point\n  MINDRAG: 8,\n  // smallest dimension allowed for a zoombox\n  MINZOOM: 20,\n  // width of axis drag regions\n  DRAGGERSIZE: 20,\n  // delay before a redraw (relayout) after smooth panning and zooming\n  REDRAWDELAY: 50,\n  // last resort axis ranges for x and y axes if we have no data\n  DFLTRANGEX: [-1, 6],\n  DFLTRANGEY: [-1, 4],\n  // Layers to keep trace types in the right order\n  // N.B. each  'unique' plot method must have its own layer\n  traceLayerClasses: [\n    \"imagelayer\",\n    \"heatmaplayer\",\n    \"contourcarpetlayer\",\n    \"contourlayer\",\n    \"funnellayer\",\n    \"waterfalllayer\",\n    \"barlayer\",\n    \"carpetlayer\",\n    \"violinlayer\",\n    \"boxlayer\",\n    \"ohlclayer\",\n    \"scattercarpetlayer\",\n    \"scatterlayer\"\n  ],\n  clipOnAxisFalseQuery: [\n    \".scatterlayer\",\n    \".barlayer\",\n    \".funnellayer\",\n    \".waterfalllayer\"\n  ],\n  layerValue2layerClass: {\n    \"above traces\": \"above\",\n    \"below traces\": \"below\"\n  }\n};\n(function(e) {\n  var t = Nt, r = Yn;\n  e.id2name = function(i) {\n    if (!(typeof i != \"string\" || !i.match(r.AX_ID_PATTERN))) {\n      var o = i.split(\" \")[0].substr(1);\n      return o === \"1\" && (o = \"\"), i.charAt(0) + \"axis\" + o;\n    }\n  }, e.name2id = function(i) {\n    if (i.match(r.AX_NAME_PATTERN)) {\n      var o = i.substr(5);\n      return o === \"1\" && (o = \"\"), i.charAt(0) + o;\n    }\n  }, e.cleanId = function(i, o, l) {\n    var s = /( domain)$/.test(i);\n    if (!(typeof i != \"string\" || !i.match(r.AX_ID_PATTERN)) && !(o && i.charAt(0) !== o) && !(s && !l)) {\n      var u = i.split(\" \")[0].substr(1).replace(/^0+/, \"\");\n      return u === \"1\" && (u = \"\"), i.charAt(0) + u + (s && l ? \" domain\" : \"\");\n    }\n  }, e.list = function(a, i, o) {\n    var l = a._fullLayout;\n    if (!l) return [];\n    var s = e.listIds(a, i), u = new Array(s.length), f;\n    for (f = 0; f < s.length; f++) {\n      var d = s[f];\n      u[f] = l[d.charAt(0) + \"axis\" + d.substr(1)];\n    }\n    if (!o) {\n      var h = l._subplots.gl3d || [];\n      for (f = 0; f < h.length; f++) {\n        var p = l[h[f]];\n        i ? u.push(p[i + \"axis\"]) : u.push(p.xaxis, p.yaxis, p.zaxis);\n      }\n    }\n    return u;\n  }, e.listIds = function(a, i) {\n    var o = a._fullLayout;\n    if (!o) return [];\n    var l = o._subplots;\n    return i ? l[i + \"axis\"] : l.xaxis.concat(l.yaxis);\n  }, e.getFromId = function(a, i, o) {\n    var l = a._fullLayout;\n    return i = i === void 0 || typeof i != \"string\" ? i : i.replace(\" domain\", \"\"), o === \"x\" ? i = i.replace(/y[0-9]*/, \"\") : o === \"y\" && (i = i.replace(/x[0-9]*/, \"\")), l[e.id2name(i)];\n  }, e.getFromTrace = function(a, i, o) {\n    var l = a._fullLayout, s = null;\n    if (t.traceIs(i, \"gl3d\")) {\n      var u = i.scene;\n      u.substr(0, 5) === \"scene\" && (s = l[u][o + \"axis\"]);\n    } else\n      s = e.getFromId(a, i[o + \"axis\"] || o);\n    return s;\n  }, e.idSort = function(a, i) {\n    var o = a.charAt(0), l = i.charAt(0);\n    return o !== l ? o > l ? 1 : -1 : +(a.substr(1) || 1) - +(i.substr(1) || 1);\n  }, e.ref2id = function(a) {\n    return /^[xyz]/.test(a) ? a.split(\" \")[0] : !1;\n  };\n  function n(a, i) {\n    if (i && i.length) {\n      for (var o = 0; o < i.length; o++)\n        if (i[o][a]) return !0;\n    }\n    return !1;\n  }\n  e.isLinked = function(a, i) {\n    return n(i, a._axisMatchGroups) || n(i, a._axisConstraintGroups);\n  };\n})(gn);\nfunction Pq(e) {\n  var t = e._fullLayout._zoomlayer;\n  t && t.selectAll(\".outline-controllers\").remove();\n}\nfunction $q(e) {\n  var t = e._fullLayout._zoomlayer;\n  t && t.selectAll(\".select-outline\").remove(), e._fullLayout._outlining = !1;\n}\nvar _s = {\n  clearOutlineControllers: Pq,\n  clearOutline: $q\n}, ub = {\n  scattermode: {\n    valType: \"enumerated\",\n    values: [\"group\", \"overlay\"],\n    dflt: \"overlay\",\n    editType: \"calc\",\n    description: [\n      \"Determines how scatter points at the same location coordinate\",\n      \"are displayed on the graph.\",\n      \"With *group*, the scatter points are plotted next to one another\",\n      \"centered around the shared location.\",\n      \"With *overlay*, the scatter points are plotted over one another,\",\n      \"you might need to reduce *opacity* to see multiple scatter points.\"\n    ].join(\" \")\n  },\n  scattergap: {\n    valType: \"number\",\n    min: 0,\n    max: 1,\n    editType: \"calc\",\n    description: [\n      \"Sets the gap (in plot fraction) between scatter points of\",\n      \"adjacent location coordinates.\",\n      \"Defaults to `bargap`.\"\n    ].join(\" \")\n  }\n}, Kc = {}, tc = Nt, zq = Yn.SUBPLOT_PATTERN;\nKc.getSubplotCalcData = function(e, t, r) {\n  var n = tc.subplotsRegistry[t];\n  if (!n) return [];\n  for (var a = n.attr, i = [], o = 0; o < e.length; o++) {\n    var l = e[o], s = l[0].trace;\n    s[a] === r && i.push(l);\n  }\n  return i;\n};\nKc.getModuleCalcData = function(e, t) {\n  var r = [], n = [], a;\n  if (typeof t == \"string\" ? a = tc.getModule(t).plot : typeof t == \"function\" ? a = t : a = t.plot, !a)\n    return [r, e];\n  for (var i = 0; i < e.length; i++) {\n    var o = e[i], l = o[0].trace;\n    l.visible !== !0 || l._length === 0 || (l._module && l._module.plot === a ? r.push(o) : n.push(o));\n  }\n  return [r, n];\n};\nKc.getSubplotData = function(t, r, n) {\n  if (!tc.subplotsRegistry[r]) return [];\n  var a = tc.subplotsRegistry[r].attr, i = [], o, l, s;\n  if (r === \"gl2d\") {\n    var u = n.match(zq);\n    l = \"x\" + u[1], s = \"y\" + u[2];\n  }\n  for (var f = 0; f < t.length; f++)\n    o = t[f], r === \"gl2d\" && tc.traceIs(o, \"gl2d\") ? o[a[0]] === l && o[a[1]] === s && i.push(o) : o[a] === n && i.push(o);\n  return i;\n};\nvar Ym = {}, N2;\nfunction Iq() {\n  return N2 || (N2 = 1, function(e) {\n    var t = Nt, r = Ue;\n    e.manageCommandObserver = function(s, u, f, d) {\n      var h = {}, p = !0;\n      u && u._commandObserver && (h = u._commandObserver), h.cache || (h.cache = {}), h.lookupTable = {};\n      var v = e.hasSimpleAPICommandBindings(s, f, h.lookupTable);\n      if (u && u._commandObserver) {\n        if (v)\n          return h;\n        if (u._commandObserver.remove)\n          return u._commandObserver.remove(), u._commandObserver = null, h;\n      }\n      if (v) {\n        n(s, v, h.cache), h.check = function() {\n          if (p) {\n            var w = n(s, v, h.cache);\n            return w.changed && d && h.lookupTable[w.value] !== void 0 && (h.disable(), Promise.resolve(d({\n              value: w.value,\n              type: v.type,\n              prop: v.prop,\n              traces: v.traces,\n              index: h.lookupTable[w.value]\n            })).then(h.enable, h.enable)), w.changed;\n          }\n        };\n        for (var m = [\n          \"plotly_relayout\",\n          \"plotly_redraw\",\n          \"plotly_restyle\",\n          \"plotly_update\",\n          \"plotly_animatingframe\",\n          \"plotly_afterplot\"\n        ], g = 0; g < m.length; g++)\n          s._internalOn(m[g], h.check);\n        h.remove = function() {\n          for (var y = 0; y < m.length; y++)\n            s._removeInternalListener(m[y], h.check);\n        };\n      } else\n        r.log(\"Unable to automatically bind plot updates to API command\"), h.lookupTable = {}, h.remove = function() {\n        };\n      return h.disable = function() {\n        p = !1;\n      }, h.enable = function() {\n        p = !0;\n      }, u && (u._commandObserver = h), h;\n    }, e.hasSimpleAPICommandBindings = function(s, u, f) {\n      var d, h = u.length, p;\n      for (d = 0; d < h; d++) {\n        var v, m = u[d], g = m.method, y = m.args;\n        if (Array.isArray(y) || (y = []), !g)\n          return !1;\n        var w = e.computeAPICommandBindings(s, g, y);\n        if (w.length !== 1)\n          return !1;\n        if (!p)\n          p = w[0], Array.isArray(p.traces) && p.traces.sort();\n        else {\n          if (v = w[0], v.type !== p.type || v.prop !== p.prop)\n            return !1;\n          if (Array.isArray(p.traces))\n            if (Array.isArray(v.traces)) {\n              v.traces.sort();\n              for (var k = 0; k < p.traces.length; k++)\n                if (p.traces[k] !== v.traces[k])\n                  return !1;\n            } else\n              return !1;\n          else if (v.prop !== p.prop)\n            return !1;\n        }\n        v = w[0];\n        var x = v.value;\n        if (Array.isArray(x))\n          if (x.length === 1)\n            x = x[0];\n          else\n            return !1;\n        f && (f[x] = d);\n      }\n      return p;\n    };\n    function n(s, u, f) {\n      var d, h, p, v = !1;\n      if (u.type === \"data\")\n        d = s._fullData[u.traces !== null ? u.traces[0] : 0];\n      else if (u.type === \"layout\")\n        d = s._fullLayout;\n      else\n        return !1;\n      return h = r.nestedProperty(d, u.prop).get(), p = f[u.type] = f[u.type] || {}, p.hasOwnProperty(u.prop) && p[u.prop] !== h && (v = !0), p[u.prop] = h, {\n        changed: v,\n        value: h\n      };\n    }\n    e.executeAPICommand = function(s, u, f) {\n      if (u === \"skip\") return Promise.resolve();\n      var d = t.apiMethodRegistry[u], h = [s];\n      Array.isArray(f) || (f = []);\n      for (var p = 0; p < f.length; p++)\n        h.push(f[p]);\n      return d.apply(null, h).catch(function(v) {\n        return r.warn(\"API call to Plotly.\" + u + \" rejected.\", v), Promise.reject(v);\n      });\n    }, e.computeAPICommandBindings = function(s, u, f) {\n      var d;\n      switch (Array.isArray(f) || (f = []), u) {\n        case \"restyle\":\n          d = o(s, f);\n          break;\n        case \"relayout\":\n          d = i(s, f);\n          break;\n        case \"update\":\n          d = o(s, [f[0], f[2]]).concat(i(s, [f[1]]));\n          break;\n        case \"animate\":\n          d = a(s, f);\n          break;\n        default:\n          d = [];\n      }\n      return d;\n    };\n    function a(s, u) {\n      return Array.isArray(u[0]) && u[0].length === 1 && [\"string\", \"number\"].indexOf(typeof u[0][0]) !== -1 ? [{ type: \"layout\", prop: \"_currentFrame\", value: u[0][0].toString() }] : [];\n    }\n    function i(s, u) {\n      var f = [], d = u[0], h = {};\n      if (typeof d == \"string\")\n        h[d] = u[1];\n      else if (r.isPlainObject(d))\n        h = d;\n      else\n        return f;\n      return l(h, function(p, v, m) {\n        f.push({ type: \"layout\", prop: p, value: m });\n      }, \"\", 0), f;\n    }\n    function o(s, u) {\n      var f, d, h, p, v = [];\n      if (d = u[0], h = u[1], f = u[2], p = {}, typeof d == \"string\")\n        p[d] = h;\n      else if (r.isPlainObject(d))\n        p = d, f === void 0 && (f = h);\n      else\n        return v;\n      return f === void 0 && (f = null), l(p, function(m, g, y) {\n        var w, k;\n        if (Array.isArray(y)) {\n          k = y.slice();\n          var x = Math.min(k.length, s.data.length);\n          f && (x = Math.min(x, f.length)), w = [];\n          for (var _ = 0; _ < x; _++)\n            w[_] = f ? f[_] : _;\n        } else\n          k = y, w = f ? f.slice() : null;\n        if (w === null)\n          Array.isArray(k) && (k = k[0]);\n        else if (Array.isArray(w)) {\n          if (!Array.isArray(k)) {\n            var T = k;\n            k = [];\n            for (var S = 0; S < w.length; S++)\n              k[S] = T;\n          }\n          k.length = Math.min(w.length, k.length);\n        }\n        v.push({\n          type: \"data\",\n          prop: m,\n          traces: w,\n          value: k\n        });\n      }, \"\", 0), v;\n    }\n    function l(s, u, f, d) {\n      Object.keys(s).forEach(function(h) {\n        var p = s[h];\n        if (h[0] !== \"_\") {\n          var v = f + (d > 0 ? \".\" : \"\") + h;\n          r.isPlainObject(p) ? l(p, u, v, d + 1) : u(v, h, p);\n        }\n      });\n    }\n  }(Ym)), Ym;\n}\nvar ZL = lr, Nq = _c.timeFormatLocale, Oq = zC.formatLocale, rc = sr, Hq = IC, hr = Nt, YL = Qu, Bq = Mr, _t = Ue, XL = nr, O2 = Qr.BADNUM, oa = gn, jq = _s.clearOutline, Uq = ub, fb = hp, Gq = VL, Vq = Kc.getModuleCalcData, cy = _t.relinkPrivateKeys, $s = _t._, lt = qL.exports = {};\n_t.extendFlat(lt, hr);\nlt.attributes = Wi;\nlt.attributes.type.values = lt.allTypes;\nlt.fontAttrs = Fn;\nlt.layoutAttributes = Xc;\nlt.fontWeight = \"normal\";\nvar wp = lt.transformsRegistry, Tp = Iq();\nlt.executeAPICommand = Tp.executeAPICommand;\nlt.computeAPICommandBindings = Tp.computeAPICommandBindings;\nlt.manageCommandObserver = Tp.manageCommandObserver;\nlt.hasSimpleAPICommandBindings = Tp.hasSimpleAPICommandBindings;\nlt.redrawText = function(e) {\n  return e = _t.getGraphDiv(e), new Promise(function(t) {\n    setTimeout(function() {\n      e._fullLayout && (hr.getComponentMethod(\"annotations\", \"draw\")(e), hr.getComponentMethod(\"legend\", \"draw\")(e), hr.getComponentMethod(\"colorbar\", \"draw\")(e), t(lt.previousPromises(e)));\n    }, 300);\n  });\n};\nlt.resize = function(e) {\n  e = _t.getGraphDiv(e);\n  var t, r = new Promise(function(n, a) {\n    (!e || _t.isHidden(e)) && a(new Error(\"Resize must be passed a displayed plot div element.\")), e._redrawTimer && clearTimeout(e._redrawTimer), e._resolveResize && (t = e._resolveResize), e._resolveResize = n, e._redrawTimer = setTimeout(function() {\n      if (!e.layout || e.layout.width && e.layout.height || _t.isHidden(e)) {\n        n(e);\n        return;\n      }\n      delete e.layout.width, delete e.layout.height;\n      var i = e.changed;\n      e.autoplay = !0, hr.call(\"relayout\", e, { autosize: !0 }).then(function() {\n        e.changed = i, e._resolveResize === n && (delete e._resolveResize, n(e));\n      });\n    }, 100);\n  });\n  return t && t(r), r;\n};\nlt.previousPromises = function(e) {\n  if ((e._promises || []).length)\n    return Promise.all(e._promises).then(function() {\n      e._promises = [];\n    });\n};\nlt.addLinks = function(e) {\n  if (!(!e._context.showLink && !e._context.showSources)) {\n    var t = e._fullLayout, r = _t.ensureSingle(t._paper, \"text\", \"js-plot-link-container\", function(s) {\n      s.style({\n        \"font-family\": '\"Open Sans\", Arial, sans-serif',\n        \"font-size\": \"12px\",\n        fill: XL.defaultLine,\n        \"pointer-events\": \"all\"\n      }).each(function() {\n        var u = ZL.select(this);\n        u.append(\"tspan\").classed(\"js-link-to-tool\", !0), u.append(\"tspan\").classed(\"js-link-spacer\", !0), u.append(\"tspan\").classed(\"js-sourcelinks\", !0);\n      });\n    }), n = r.node(), a = { y: t._paper.attr(\"height\") - 9 };\n    document.body.contains(n) && n.getComputedTextLength() >= t.width - 20 ? (a[\"text-anchor\"] = \"start\", a.x = 5) : (a[\"text-anchor\"] = \"end\", a.x = t._paper.attr(\"width\") - 7), r.attr(a);\n    var i = r.select(\".js-link-to-tool\"), o = r.select(\".js-link-spacer\"), l = r.select(\".js-sourcelinks\");\n    e._context.showSources && e._context.showSources(e), e._context.showLink && qq(e, i), o.text(i.text() && l.text() ? \" - \" : \"\");\n  }\n};\nfunction qq(e, t) {\n  t.text(\"\");\n  var r = t.append(\"a\").attr({\n    \"xlink:xlink:href\": \"#\",\n    class: \"link--impt link--embedview\",\n    \"font-weight\": \"bold\"\n  }).text(e._context.linkText + \" »\");\n  if (e._context.sendData)\n    r.on(\"click\", function() {\n      lt.sendDataToCloud(e);\n    });\n  else {\n    var n = window.location.pathname.split(\"/\"), a = window.location.search;\n    r.attr({\n      \"xlink:xlink:show\": \"new\",\n      \"xlink:xlink:href\": \"/\" + n[2].split(\".\")[0] + \"/\" + n[1] + a\n    });\n  }\n}\nlt.sendDataToCloud = function(e) {\n  var t = (window.PLOTLYENV || {}).BASE_URL || e._context.plotlyServerURL;\n  if (t) {\n    e.emit(\"plotly_beforeexport\");\n    var r = ZL.select(e).append(\"div\").attr(\"id\", \"hiddenform\").style(\"display\", \"none\"), n = r.append(\"form\").attr({\n      action: t + \"/external\",\n      method: \"post\",\n      target: \"_blank\"\n    }), a = n.append(\"input\").attr({\n      type: \"text\",\n      name: \"data\"\n    });\n    return a.node().value = lt.graphJson(e, !1, \"keepdata\"), n.node().submit(), r.remove(), e.emit(\"plotly_afterexport\"), !1;\n  }\n};\nvar Wq = [\n  \"days\",\n  \"shortDays\",\n  \"months\",\n  \"shortMonths\",\n  \"periods\",\n  \"dateTime\",\n  \"date\",\n  \"time\",\n  \"decimal\",\n  \"thousands\",\n  \"grouping\",\n  \"currency\"\n], Zq = [\n  \"year\",\n  \"month\",\n  \"dayMonth\",\n  \"dayMonthYear\"\n];\nlt.supplyDefaults = function(e, t) {\n  var r = t && t.skipUpdateCalc, n = e._fullLayout || {};\n  if (n._skipDefaults) {\n    delete n._skipDefaults;\n    return;\n  }\n  var a = e._fullLayout = {}, i = e.layout || {}, o = e._fullData || [], l = e._fullData = [], s = e.data || [], u = e.calcdata || [], f = e._context || {}, d;\n  e._transitionData || lt.createTransitionData(e), a._dfltTitle = {\n    plot: $s(e, \"Click to enter Plot title\"),\n    x: $s(e, \"Click to enter X axis title\"),\n    y: $s(e, \"Click to enter Y axis title\"),\n    colorbar: $s(e, \"Click to enter Colorscale title\"),\n    annotation: $s(e, \"new text\")\n  }, a._traceWord = $s(e, \"trace\");\n  var h = H2(e, Wq);\n  if (a._mapboxAccessToken = f.mapboxAccessToken, n._initialAutoSizeIsDone) {\n    var p = n.width, v = n.height;\n    lt.supplyLayoutGlobalDefaults(i, a, h), i.width || (a.width = p), i.height || (a.height = v), lt.sanitizeMargins(a);\n  } else {\n    lt.supplyLayoutGlobalDefaults(i, a, h);\n    var m = !i.width || !i.height, g = a.autosize, y = f.autosizable, w = m && (g || y);\n    w ? lt.plotAutoSize(e, i, a) : m && lt.sanitizeMargins(a), !g && m && (i.width = a.width, i.height = a.height);\n  }\n  a._d3locale = Kq(h, a.separators), a._extraFormat = H2(e, Zq), a._initialAutoSizeIsDone = !0, a._dataLength = s.length, a._modules = [], a._visibleModules = [], a._basePlotModules = [];\n  var k = a._subplots = Xq(), x = a._splomAxes = { x: {}, y: {} }, _ = a._splomSubplots = {};\n  a._splomGridDflt = {}, a._scatterStackOpts = {}, a._firstScatter = {}, a._alignmentOpts = {}, a._colorAxes = {}, a._requestRangeslider = {}, a._traceUids = Yq(o, s), a._globalTransforms = (e._context || {}).globalTransforms, lt.supplyDataDefaults(s, l, i, a);\n  var T = Object.keys(x.x), S = Object.keys(x.y);\n  if (T.length > 1 && S.length > 1) {\n    for (hr.getComponentMethod(\"grid\", \"sizeDefaults\")(i, a), d = 0; d < T.length; d++)\n      _t.pushUnique(k.xaxis, T[d]);\n    for (d = 0; d < S.length; d++)\n      _t.pushUnique(k.yaxis, S[d]);\n    for (var M in _)\n      _t.pushUnique(k.cartesian, M);\n  }\n  if (a._has = lt._hasPlotType.bind(a), o.length === l.length)\n    for (d = 0; d < l.length; d++)\n      cy(l[d], o[d]);\n  lt.supplyLayoutModuleDefaults(i, a, l, e._transitionData);\n  var L = a._visibleModules, F = [];\n  for (d = 0; d < L.length; d++) {\n    var $ = L[d].crossTraceDefaults;\n    $ && _t.pushUnique(F, $);\n  }\n  for (d = 0; d < F.length; d++)\n    F[d](l, a);\n  a._hasOnlyLargeSploms = a._basePlotModules.length === 1 && a._basePlotModules[0].name === \"splom\" && T.length > 15 && S.length > 15 && a.shapes.length === 0 && a.images.length === 0, lt.linkSubplots(l, a, o, n), lt.cleanPlot(l, a, o, n);\n  var I = !!(n._has && n._has(\"gl2d\")), O = !!(a._has && a._has(\"gl2d\")), G = !!(n._has && n._has(\"cartesian\")), K = !!(a._has && a._has(\"cartesian\")), V = G || I, z = K || O;\n  V && !z ? n._bgLayer.remove() : z && !V && (a._shouldCreateBgLayer = !0), n._zoomlayer && !e._dragging && jq({\n    // mock old gd\n    _fullLayout: n\n  }), Jq(l, a), cy(a, n), hr.getComponentMethod(\"colorscale\", \"crossTraceDefaults\")(l, a), a._preGUI || (a._preGUI = {}), a._tracePreGUI || (a._tracePreGUI = {});\n  var P = a._tracePreGUI, R = {}, H;\n  for (H in P) R[H] = \"old\";\n  for (d = 0; d < l.length; d++)\n    H = l[d]._fullInput.uid, R[H] || (P[H] = {}), R[H] = \"new\";\n  for (H in R)\n    R[H] === \"old\" && delete P[H];\n  JL(a), hr.getComponentMethod(\"rangeslider\", \"makeData\")(a), !r && u.length === l.length && lt.supplyDefaultsUpdateCalc(u, l);\n};\nlt.supplyDefaultsUpdateCalc = function(e, t) {\n  for (var r = 0; r < t.length; r++) {\n    var n = t[r], a = (e[r] || [])[0];\n    if (a && a.trace) {\n      var i = a.trace;\n      if (i._hasCalcTransform) {\n        var o = i._arrayAttrs, l, s, u;\n        for (l = 0; l < o.length; l++)\n          s = o[l], u = _t.nestedProperty(i, s).get().slice(), _t.nestedProperty(n, s).set(u);\n      }\n      a.trace = n;\n    }\n  }\n};\nfunction Yq(e, t) {\n  var r = t.length, n = [], a, i;\n  for (a = 0; a < e.length; a++) {\n    var o = e[a]._fullInput;\n    o !== i && n.push(o), i = o;\n  }\n  var l = n.length, s = new Array(r), u = {};\n  function f(p, v) {\n    s[v] = p, u[p] = 1;\n  }\n  function d(p, v) {\n    if (p && typeof p == \"string\" && !u[p])\n      return f(p, v), !0;\n  }\n  for (a = 0; a < r; a++) {\n    var h = t[a].uid;\n    typeof h == \"number\" && (h = String(h)), !d(h, a) && (a < l && d(n[a].uid, a) || f(_t.randstr(u), a));\n  }\n  return s;\n}\nfunction Xq() {\n  var e = hr.collectableSubplotTypes, t = {}, r, n;\n  if (!e) {\n    e = [];\n    var a = hr.subplotsRegistry;\n    for (var i in a) {\n      var o = a[i], l = o.attr;\n      if (l && (e.push(i), Array.isArray(l)))\n        for (n = 0; n < l.length; n++)\n          _t.pushUnique(e, l[n]);\n    }\n  }\n  for (r = 0; r < e.length; r++)\n    t[e[r]] = [];\n  return t;\n}\nfunction H2(e, t) {\n  var r = e._context.locale;\n  r || (r = \"en-US\");\n  var n = !1, a = {};\n  function i(d) {\n    for (var h = !0, p = 0; p < t.length; p++) {\n      var v = t[p];\n      a[v] || (d[v] ? a[v] = d[v] : h = !1);\n    }\n    h && (n = !0);\n  }\n  for (var o = 0; o < 2; o++) {\n    for (var l = e._context.locales, s = 0; s < 2; s++) {\n      var u = (l[r] || {}).format;\n      if (u && (i(u), n))\n        break;\n      l = hr.localeRegistry;\n    }\n    var f = r.split(\"-\")[0];\n    if (n || f === r) break;\n    r = f;\n  }\n  return n || i(hr.localeRegistry.en.format), a;\n}\nfunction Kq(e, t) {\n  return e.decimal = t.charAt(0), e.thousands = t.charAt(1), {\n    numberFormat: function(r) {\n      try {\n        r = Oq(e).format(\n          _t.adjustFormat(r)\n        );\n      } catch {\n        return _t.warnBadFormat(r), _t.noFormat;\n      }\n      return r;\n    },\n    timeFormat: Nq(e).utcFormat\n  };\n}\nfunction Jq(e, t) {\n  var r, n = [];\n  t.meta && (r = t._meta = {\n    meta: t.meta,\n    layout: { meta: t.meta }\n  });\n  for (var a = 0; a < e.length; a++) {\n    var i = e[a];\n    i.meta ? n[i.index] = i._meta = { meta: i.meta } : t.meta && (i._meta = { meta: t.meta }), t.meta && (i._meta.layout = { meta: t.meta });\n  }\n  n.length && (r || (r = t._meta = {}), r.data = n);\n}\nlt.createTransitionData = function(e) {\n  e._transitionData || (e._transitionData = {}), e._transitionData._frames || (e._transitionData._frames = []), e._transitionData._frameHash || (e._transitionData._frameHash = {}), e._transitionData._counter || (e._transitionData._counter = 0), e._transitionData._interruptCallbacks || (e._transitionData._interruptCallbacks = []);\n};\nlt._hasPlotType = function(e) {\n  var t, r = this._basePlotModules || [];\n  for (t = 0; t < r.length; t++)\n    if (r[t].name === e) return !0;\n  var n = this._modules || [];\n  for (t = 0; t < n.length; t++) {\n    var a = n[t].name;\n    if (a === e) return !0;\n    var i = hr.modules[a];\n    if (i && i.categories[e]) return !0;\n  }\n  return !1;\n};\nlt.cleanPlot = function(e, t, r, n) {\n  var a, i, o = n._basePlotModules || [];\n  for (a = 0; a < o.length; a++) {\n    var l = o[a];\n    l.clean && l.clean(e, t, r, n);\n  }\n  var s = n._has && n._has(\"gl\"), u = t._has && t._has(\"gl\");\n  s && !u && n._glcontainer !== void 0 && (n._glcontainer.selectAll(\".gl-canvas\").remove(), n._glcontainer.selectAll(\".no-webgl\").remove(), n._glcanvas = null);\n  var f = !!n._infolayer;\n  e:\n    for (a = 0; a < r.length; a++) {\n      var d = r[a], h = d.uid;\n      for (i = 0; i < e.length; i++) {\n        var p = e[i];\n        if (h === p.uid) continue e;\n      }\n      f && n._infolayer.select(\".cb\" + h).remove();\n    }\n};\nlt.linkSubplots = function(e, t, r, n) {\n  var a, i, o = n._plots || {}, l = t._plots = {}, s = t._subplots, u = {\n    _fullData: e,\n    _fullLayout: t\n  }, f = s.cartesian.concat(s.gl2d || []);\n  for (a = 0; a < f.length; a++) {\n    var d = f[a], h = o[d], p = oa.getFromId(u, d, \"x\"), v = oa.getFromId(u, d, \"y\"), m;\n    for (h ? m = l[d] = h : (m = l[d] = {}, m.id = d), p._counterAxes.push(v._id), v._counterAxes.push(p._id), p._subplotsWith.push(d), v._subplotsWith.push(d), m.xaxis = p, m.yaxis = v, m._hasClipOnAxisFalse = !1, i = 0; i < e.length; i++) {\n      var g = e[i];\n      if (g.xaxis === m.xaxis._id && g.yaxis === m.yaxis._id && g.cliponaxis === !1) {\n        m._hasClipOnAxisFalse = !0;\n        break;\n      }\n    }\n  }\n  var y = oa.list(u, null, !0), w;\n  for (a = 0; a < y.length; a++) {\n    w = y[a];\n    var k = null;\n    w.overlaying && (k = oa.getFromId(u, w.overlaying), k && k.overlaying && (w.overlaying = !1, k = null)), w._mainAxis = k || w, k && (w.domain = k.domain.slice()), w._anchorAxis = w.anchor === \"free\" ? null : oa.getFromId(u, w.anchor);\n  }\n  for (a = 0; a < y.length; a++)\n    if (w = y[a], w._counterAxes.sort(oa.idSort), w._subplotsWith.sort(_t.subplotSort), w._mainSubplot = Qq(w, t), w._counterAxes.length && (w.spikemode && w.spikemode.indexOf(\"across\") !== -1 || w.automargin && w.mirror && w.anchor !== \"free\" || hr.getComponentMethod(\"rangeslider\", \"isVisible\")(w))) {\n      var x = 1, _ = 0;\n      for (i = 0; i < w._counterAxes.length; i++) {\n        var T = oa.getFromId(u, w._counterAxes[i]);\n        x = Math.min(x, T.domain[0]), _ = Math.max(_, T.domain[1]);\n      }\n      x < _ && (w._counterDomainMin = x, w._counterDomainMax = _);\n    }\n};\nfunction Qq(e, t) {\n  var r = { _fullLayout: t }, n = e._id.charAt(0) === \"x\", a = e._mainAxis._anchorAxis, i = \"\", o = \"\", l = \"\";\n  if (a && (l = a._mainAxis._id, i = n ? e._id + l : l + e._id), !i || !t._plots[i]) {\n    i = \"\";\n    for (var s = e._counterAxes, u = 0; u < s.length; u++) {\n      var f = s[u], d = n ? e._id + f : f + e._id;\n      o || (o = d);\n      var h = oa.getFromId(r, f);\n      if (l && h.overlaying === l) {\n        i = d;\n        break;\n      }\n    }\n  }\n  return i || o;\n}\nlt.clearExpandedTraceDefaultColors = function(e) {\n  var t, r, n;\n  function a(o, l, s, u) {\n    r[u] = l, r.length = u + 1, o.valType === \"color\" && o.dflt === void 0 && t.push(r.join(\".\"));\n  }\n  for (r = [], t = e._module._colorAttrs, t || (e._module._colorAttrs = t = [], YL.crawl(\n    e._module.attributes,\n    a\n  )), n = 0; n < t.length; n++) {\n    var i = _t.nestedProperty(e, \"_input.\" + t[n]);\n    i.get() || _t.nestedProperty(e, t[n]).set(null);\n  }\n};\nlt.supplyDataDefaults = function(e, t, r, n) {\n  var a = n._modules, i = n._visibleModules, o = n._basePlotModules, l = 0, s = 0, u, f, d;\n  n._transformModules = [];\n  function h(S) {\n    t.push(S);\n    var M = S._module;\n    M && (_t.pushUnique(a, M), S.visible === !0 && _t.pushUnique(i, M), _t.pushUnique(o, S._module.basePlotModule), l++, S._input.visible !== !1 && s++);\n  }\n  var p = {}, v = [], m = (r.template || {}).data || {}, g = Bq.traceTemplater(m);\n  for (u = 0; u < e.length; u++) {\n    if (d = e[u], f = g.newTrace(d), f.uid = n._traceUids[u], lt.supplyTraceDefaults(d, f, s, n, u), f.index = u, f._input = d, f._expandedIndex = l, f.transforms && f.transforms.length)\n      for (var y = d.visible !== !1 && f.visible === !1, w = eW(f, t, r, n), k = 0; k < w.length; k++) {\n        var x = w[k], _ = {\n          _template: f._template,\n          type: f.type,\n          // set uid using parent uid and expanded index\n          // to promote consistency between update calls\n          uid: f.uid + k\n        };\n        y && x.visible === !1 && delete x.visible, lt.supplyTraceDefaults(x, _, l, n, u), cy(_, x), _.index = u, _._input = d, _._fullInput = f, _._expandedIndex = l, _._expandedInput = x, h(_);\n      }\n    else\n      f._fullInput = f, f._expandedInput = f, h(f);\n    hr.traceIs(f, \"carpetAxis\") && (p[f.carpet] = f), hr.traceIs(f, \"carpetDependent\") && v.push(u);\n  }\n  for (u = 0; u < v.length; u++)\n    if (f = t[v[u]], !!f.visible) {\n      var T = p[f.carpet];\n      if (f._carpet = T, !T || !T.visible) {\n        f.visible = !1;\n        continue;\n      }\n      f.xaxis = T.xaxis, f.yaxis = T.yaxis;\n    }\n};\nlt.supplyAnimationDefaults = function(e) {\n  e = e || {};\n  var t, r = {};\n  function n(a, i) {\n    return _t.coerce(e || {}, r, fb, a, i);\n  }\n  if (n(\"mode\"), n(\"direction\"), n(\"fromcurrent\"), Array.isArray(e.frame))\n    for (r.frame = [], t = 0; t < e.frame.length; t++)\n      r.frame[t] = lt.supplyAnimationFrameDefaults(e.frame[t] || {});\n  else\n    r.frame = lt.supplyAnimationFrameDefaults(e.frame || {});\n  if (Array.isArray(e.transition))\n    for (r.transition = [], t = 0; t < e.transition.length; t++)\n      r.transition[t] = lt.supplyAnimationTransitionDefaults(e.transition[t] || {});\n  else\n    r.transition = lt.supplyAnimationTransitionDefaults(e.transition || {});\n  return r;\n};\nlt.supplyAnimationFrameDefaults = function(e) {\n  var t = {};\n  function r(n, a) {\n    return _t.coerce(e || {}, t, fb.frame, n, a);\n  }\n  return r(\"duration\"), r(\"redraw\"), t;\n};\nlt.supplyAnimationTransitionDefaults = function(e) {\n  var t = {};\n  function r(n, a) {\n    return _t.coerce(e || {}, t, fb.transition, n, a);\n  }\n  return r(\"duration\"), r(\"easing\"), t;\n};\nlt.supplyFrameDefaults = function(e) {\n  var t = {};\n  function r(n, a) {\n    return _t.coerce(e, t, Gq, n, a);\n  }\n  return r(\"group\"), r(\"name\"), r(\"traces\"), r(\"baseframe\"), r(\"data\"), r(\"layout\"), t;\n};\nlt.supplyTraceDefaults = function(e, t, r, n, a) {\n  var i = n.colorway || XL.defaults, o = i[r % i.length], l;\n  function s(k, x) {\n    return _t.coerce(e, t, lt.attributes, k, x);\n  }\n  var u = s(\"visible\");\n  s(\"type\"), s(\"name\", n._traceWord + \" \" + a), s(\"uirevision\", n.uirevision);\n  var f = lt.getModule(t);\n  if (t._module = f, f) {\n    var d = f.basePlotModule, h = d.attr, p = d.attributes;\n    if (h && p) {\n      var v = n._subplots, m = \"\";\n      if (u || d.name !== \"gl2d\") {\n        if (Array.isArray(h))\n          for (l = 0; l < h.length; l++) {\n            var g = h[l], y = _t.coerce(e, t, p, g);\n            v[g] && _t.pushUnique(v[g], y), m += y;\n          }\n        else\n          m = _t.coerce(e, t, p, h);\n        v[d.name] && _t.pushUnique(v[d.name], m);\n      }\n    }\n  }\n  if (u) {\n    if (s(\"customdata\"), s(\"ids\"), s(\"meta\"), hr.traceIs(t, \"showLegend\") ? (_t.coerce(\n      e,\n      t,\n      f.attributes.showlegend ? f.attributes : lt.attributes,\n      \"showlegend\"\n    ), s(\"legend\"), s(\"legendwidth\"), s(\"legendgroup\"), s(\"legendgrouptitle.text\"), s(\"legendrank\"), t._dfltShowLegend = !0) : t._dfltShowLegend = !1, f && f.supplyDefaults(e, t, o, n), hr.traceIs(t, \"noOpacity\") || s(\"opacity\"), hr.traceIs(t, \"notLegendIsolatable\") && (t.visible = !!t.visible), hr.traceIs(t, \"noHover\") || (t.hovertemplate || _t.coerceHoverinfo(e, t, n), t.type !== \"parcats\" && hr.getComponentMethod(\"fx\", \"supplyDefaults\")(e, t, o, n)), f && f.selectPoints) {\n      var w = s(\"selectedpoints\");\n      _t.isTypedArray(w) && (t.selectedpoints = Array.from(w));\n    }\n    lt.supplyTransformDefaults(e, t, n);\n  }\n  return t;\n};\nfunction KL(e) {\n  var t = e.transforms;\n  if (Array.isArray(t) && t.length)\n    for (var r = 0; r < t.length; r++) {\n      var n = t[r], a = n._module || wp[n.type];\n      if (a && a.makesData) return !0;\n    }\n  return !1;\n}\nlt.hasMakesDataTransform = KL;\nlt.supplyTransformDefaults = function(e, t, r) {\n  if (t._length || KL(e)) {\n    var n = r._globalTransforms || [], a = r._transformModules || [];\n    if (!(!Array.isArray(e.transforms) && n.length === 0))\n      for (var i = e.transforms || [], o = n.concat(i), l = t.transforms = [], s = 0; s < o.length; s++) {\n        var u = o[s], f = u.type, d = wp[f], h, p = !(u._module && u._module === d), v = d && typeof d.transform == \"function\";\n        d || _t.warn(\"Unrecognized transform type \" + f + \".\"), d && d.supplyDefaults && (p || v) ? (h = d.supplyDefaults(u, t, r, e), h.type = f, h._module = d, _t.pushUnique(a, d)) : h = _t.extendFlat({}, u), l.push(h);\n      }\n  }\n};\nfunction eW(e, t, r, n) {\n  for (var a = e.transforms, i = [e], o = 0; o < a.length; o++) {\n    var l = a[o], s = wp[l.type];\n    s && s.transform && (i = s.transform(i, {\n      transform: l,\n      fullTrace: e,\n      fullData: t,\n      layout: r,\n      fullLayout: n,\n      transformIndex: o\n    }));\n  }\n  return i;\n}\nlt.supplyLayoutGlobalDefaults = function(e, t, r) {\n  function n(d, h) {\n    return _t.coerce(e, t, lt.layoutAttributes, d, h);\n  }\n  var a = e.template;\n  _t.isPlainObject(a) && (t.template = a, t._template = a.layout, t._dataTemplate = a.data), n(\"autotypenumbers\");\n  var i = _t.coerceFont(n, \"font\"), o = i.size;\n  _t.coerceFont(n, \"title.font\", _t.extendFlat({}, i, {\n    size: Math.round(o * 1.4)\n  })), n(\"title.text\", t._dfltTitle.plot), n(\"title.xref\");\n  var l = n(\"title.yref\");\n  n(\"title.pad.t\"), n(\"title.pad.r\"), n(\"title.pad.b\"), n(\"title.pad.l\");\n  var s = n(\"title.automargin\");\n  n(\"title.x\"), n(\"title.xanchor\"), n(\"title.y\"), n(\"title.yanchor\"), s && (l === \"paper\" && (t.title.y !== 0 && (t.title.y = 1), t.title.yanchor === \"auto\" && (t.title.yanchor = t.title.y === 0 ? \"top\" : \"bottom\")), l === \"container\" && (t.title.y === \"auto\" && (t.title.y = 1), t.title.yanchor === \"auto\" && (t.title.yanchor = t.title.y < 0.5 ? \"bottom\" : \"top\")));\n  var u = n(\"uniformtext.mode\");\n  u && n(\"uniformtext.minsize\"), n(\"autosize\", !(e.width && e.height)), n(\"width\"), n(\"height\"), n(\"minreducedwidth\"), n(\"minreducedheight\"), n(\"margin.l\"), n(\"margin.r\"), n(\"margin.t\"), n(\"margin.b\"), n(\"margin.pad\"), n(\"margin.autoexpand\"), e.width && e.height && lt.sanitizeMargins(t), hr.getComponentMethod(\"grid\", \"sizeDefaults\")(e, t), n(\"paper_bgcolor\"), n(\"separators\", r.decimal + r.thousands), n(\"hidesources\"), n(\"colorway\"), n(\"datarevision\");\n  var f = n(\"uirevision\");\n  n(\"editrevision\", f), n(\"selectionrevision\", f), hr.getComponentMethod(\n    \"modebar\",\n    \"supplyLayoutDefaults\"\n  )(e, t), hr.getComponentMethod(\n    \"shapes\",\n    \"supplyDrawNewShapeDefaults\"\n  )(e, t, n), hr.getComponentMethod(\n    \"selections\",\n    \"supplyDrawNewSelectionDefaults\"\n  )(e, t, n), n(\"meta\"), _t.isPlainObject(e.transition) && (n(\"transition.duration\"), n(\"transition.easing\"), n(\"transition.ordering\")), hr.getComponentMethod(\n    \"calendars\",\n    \"handleDefaults\"\n  )(e, t, \"calendar\"), hr.getComponentMethod(\n    \"fx\",\n    \"supplyLayoutGlobalDefaults\"\n  )(e, t, n), _t.coerce(e, t, Uq, \"scattermode\");\n};\nfunction Bd(e) {\n  return typeof e == \"string\" && e.substr(e.length - 2) === \"px\" && parseFloat(e);\n}\nlt.plotAutoSize = function(t, r, n) {\n  var a = t._context || {}, i = a.frameMargins, o, l, s = _t.isPlotDiv(t);\n  if (s && t.emit(\"plotly_autosize\"), a.fillFrame)\n    o = window.innerWidth, l = window.innerHeight, document.body.style.overflow = \"hidden\";\n  else {\n    var u = s ? window.getComputedStyle(t) : {};\n    if (o = Bd(u.width) || Bd(u.maxWidth) || n.width, l = Bd(u.height) || Bd(u.maxHeight) || n.height, rc(i) && i > 0) {\n      var f = 1 - 2 * i;\n      o = Math.round(f * o), l = Math.round(f * l);\n    }\n  }\n  var d = lt.layoutAttributes.width.min, h = lt.layoutAttributes.height.min;\n  o < d && (o = d), l < h && (l = h);\n  var p = !r.width && Math.abs(n.width - o) > 1, v = !r.height && Math.abs(n.height - l) > 1;\n  (v || p) && (p && (n.width = o), v && (n.height = l)), t._initialAutoSize || (t._initialAutoSize = { width: o, height: l }), lt.sanitizeMargins(n);\n};\nlt.supplyLayoutModuleDefaults = function(e, t, r, n) {\n  var a = hr.componentsRegistry, i = t._basePlotModules, o, l, s, u = hr.subplotsRegistry.cartesian;\n  for (o in a)\n    s = a[o], s.includeBasePlot && s.includeBasePlot(e, t);\n  i.length || i.push(u), t._has(\"cartesian\") && (hr.getComponentMethod(\"grid\", \"contentDefaults\")(e, t), u.finalizeSubplots(e, t));\n  for (var f in t._subplots)\n    t._subplots[f].sort(_t.subplotSort);\n  for (l = 0; l < i.length; l++)\n    s = i[l], s.supplyLayoutDefaults && s.supplyLayoutDefaults(e, t, r);\n  var d = t._modules;\n  for (l = 0; l < d.length; l++)\n    s = d[l], s.supplyLayoutDefaults && s.supplyLayoutDefaults(e, t, r);\n  var h = t._transformModules;\n  for (l = 0; l < h.length; l++)\n    s = h[l], s.supplyLayoutDefaults && s.supplyLayoutDefaults(e, t, r, n);\n  for (o in a)\n    s = a[o], s.supplyLayoutDefaults && s.supplyLayoutDefaults(e, t, r);\n};\nlt.purge = function(e) {\n  var t = e._fullLayout || {};\n  t._glcontainer !== void 0 && (t._glcontainer.selectAll(\".gl-canvas\").remove(), t._glcontainer.remove(), t._glcanvas = null), t._modeBar && t._modeBar.destroy(), e._transitionData && (e._transitionData._interruptCallbacks && (e._transitionData._interruptCallbacks.length = 0), e._transitionData._animationRaf && window.cancelAnimationFrame(e._transitionData._animationRaf)), _t.clearThrottle(), _t.clearResponsive(e), delete e.data, delete e.layout, delete e._fullData, delete e._fullLayout, delete e.calcdata, delete e.empty, delete e.fid, delete e.undoqueue, delete e.undonum, delete e.autoplay, delete e.changed, delete e._promises, delete e._redrawTimer, delete e._hmlumcount, delete e._hmpixcount, delete e._transitionData, delete e._transitioning, delete e._initialAutoSize, delete e._transitioningWithDuration, delete e._dragging, delete e._dragged, delete e._dragdata, delete e._hoverdata, delete e._snapshotInProgress, delete e._editing, delete e._mouseDownTime, delete e._legendMouseDownTime, e.removeAllListeners && e.removeAllListeners();\n};\nlt.style = function(e) {\n  var t = e._fullLayout._visibleModules, r = [], n;\n  for (n = 0; n < t.length; n++) {\n    var a = t[n];\n    a.style && _t.pushUnique(r, a.style);\n  }\n  for (n = 0; n < r.length; n++)\n    r[n](e);\n};\nlt.sanitizeMargins = function(e) {\n  if (!(!e || !e.margin)) {\n    var t = e.width, r = e.height, n = e.margin, a = t - (n.l + n.r), i = r - (n.t + n.b), o;\n    a < 0 && (o = (t - 1) / (n.l + n.r), n.l = Math.floor(o * n.l), n.r = Math.floor(o * n.r)), i < 0 && (o = (r - 1) / (n.t + n.b), n.t = Math.floor(o * n.t), n.b = Math.floor(o * n.b));\n  }\n};\nlt.clearAutoMarginIds = function(e) {\n  e._fullLayout._pushmarginIds = {};\n};\nlt.allowAutoMargin = function(e, t) {\n  e._fullLayout._pushmarginIds[t] = 1;\n};\nfunction JL(e) {\n  var t = e.margin;\n  if (!e._size) {\n    var r = e._size = {\n      l: Math.round(t.l),\n      r: Math.round(t.r),\n      t: Math.round(t.t),\n      b: Math.round(t.b),\n      p: Math.round(t.pad)\n    };\n    r.w = Math.round(e.width) - r.l - r.r, r.h = Math.round(e.height) - r.t - r.b;\n  }\n  e._pushmargin || (e._pushmargin = {}), e._pushmarginIds || (e._pushmarginIds = {}), e._reservedMargin || (e._reservedMargin = {});\n}\nvar QL = 2, e4 = 2;\nlt.autoMargin = function(e, t, r) {\n  var n = e._fullLayout, a = n.width, i = n.height, o = n.margin, l = n.minreducedwidth, s = n.minreducedheight, u = _t.constrain(\n    a - o.l - o.r,\n    QL,\n    l\n  ), f = _t.constrain(\n    i - o.t - o.b,\n    e4,\n    s\n  ), d = Math.max(0, a - u), h = Math.max(0, i - f), p = n._pushmargin, v = n._pushmarginIds;\n  if (o.autoexpand !== !1) {\n    if (!r)\n      delete p[t], delete v[t];\n    else {\n      var m = r.pad;\n      if (m === void 0 && (m = Math.min(12, o.l, o.r, o.t, o.b)), d) {\n        var g = (r.l + r.r) / d;\n        g > 1 && (r.l /= g, r.r /= g);\n      }\n      if (h) {\n        var y = (r.t + r.b) / h;\n        y > 1 && (r.t /= y, r.b /= y);\n      }\n      var w = r.xl !== void 0 ? r.xl : r.x, k = r.xr !== void 0 ? r.xr : r.x, x = r.yt !== void 0 ? r.yt : r.y, _ = r.yb !== void 0 ? r.yb : r.y;\n      p[t] = {\n        l: { val: w, size: r.l + m },\n        r: { val: k, size: r.r + m },\n        b: { val: _, size: r.b + m },\n        t: { val: x, size: r.t + m }\n      }, v[t] = 1;\n    }\n    if (!n._replotting)\n      return lt.doAutoMargin(e);\n  }\n};\nfunction tW(e) {\n  if (\"_redrawFromAutoMarginCount\" in e._fullLayout)\n    return !1;\n  var t = oa.list(e, \"\", !0);\n  for (var r in t)\n    if (t[r].autoshift || t[r].shift) return !0;\n  return !1;\n}\nlt.doAutoMargin = function(e) {\n  var t = e._fullLayout, r = t.width, n = t.height;\n  t._size || (t._size = {}), JL(t);\n  var a = t._size, i = t.margin, o = { t: 0, b: 0, l: 0, r: 0 }, l = _t.extendFlat({}, a), s = i.l, u = i.r, f = i.t, d = i.b, h = t._pushmargin, p = t._pushmarginIds, v = t.minreducedwidth, m = t.minreducedheight;\n  if (i.autoexpand !== !1) {\n    for (var g in h)\n      p[g] || delete h[g];\n    var y = e._fullLayout._reservedMargin;\n    for (var w in y)\n      for (var k in y[w]) {\n        var x = y[w][k];\n        o[k] = Math.max(o[k], x);\n      }\n    h.base = {\n      l: { val: 0, size: s },\n      r: { val: 1, size: u },\n      t: { val: 1, size: f },\n      b: { val: 0, size: d }\n    };\n    for (var _ in o) {\n      var T = 0;\n      for (var S in h)\n        S !== \"base\" && rc(h[S][_].size) && (T = h[S][_].size > T ? h[S][_].size : T);\n      var M = Math.max(0, i[_] - T);\n      o[_] = Math.max(0, o[_] - M);\n    }\n    for (var L in h) {\n      var F = h[L].l || {}, $ = h[L].b || {}, I = F.val, O = F.size, G = $.val, K = $.size, V = r - o.r - o.l, z = n - o.t - o.b;\n      for (var P in h) {\n        if (rc(O) && h[P].r) {\n          var R = h[P].r.val, H = h[P].r.size;\n          if (R > I) {\n            var B = (O * R + (H - V) * I) / (R - I), W = (H * (1 - I) + (O - V) * (1 - R)) / (R - I);\n            B + W > s + u && (s = B, u = W);\n          }\n        }\n        if (rc(K) && h[P].t) {\n          var ee = h[P].t.val, re = h[P].t.size;\n          if (ee > G) {\n            var ae = (K * ee + (re - z) * G) / (ee - G), Q = (re * (1 - G) + (K - z) * (1 - ee)) / (ee - G);\n            ae + Q > d + f && (d = ae, f = Q);\n          }\n        }\n      }\n    }\n  }\n  var ue = _t.constrain(\n    r - i.l - i.r,\n    QL,\n    v\n  ), j = _t.constrain(\n    n - i.t - i.b,\n    e4,\n    m\n  ), U = Math.max(0, r - ue), Z = Math.max(0, n - j);\n  if (U) {\n    var le = (s + u) / U;\n    le > 1 && (s /= le, u /= le);\n  }\n  if (Z) {\n    var J = (d + f) / Z;\n    J > 1 && (d /= J, f /= J);\n  }\n  if (a.l = Math.round(s) + o.l, a.r = Math.round(u) + o.r, a.t = Math.round(f) + o.t, a.b = Math.round(d) + o.b, a.p = Math.round(i.pad), a.w = Math.round(r) - a.l - a.r, a.h = Math.round(n) - a.t - a.b, !t._replotting && (lt.didMarginChange(l, a) || tW(e))) {\n    \"_redrawFromAutoMarginCount\" in t ? t._redrawFromAutoMarginCount++ : t._redrawFromAutoMarginCount = 1;\n    var pe = 3 * (1 + Object.keys(p).length);\n    if (t._redrawFromAutoMarginCount < pe)\n      return hr.call(\"_doPlot\", e);\n    t._size = l, _t.warn(\"Too many auto-margin redraws.\");\n  }\n  rW(e);\n};\nfunction rW(e) {\n  var t = oa.list(e, \"\", !0);\n  [\n    \"_adjustTickLabelsOverflow\",\n    \"_hideCounterAxisInsideTickLabels\"\n  ].forEach(function(r) {\n    for (var n = 0; n < t.length; n++) {\n      var a = t[n][r];\n      a && a();\n    }\n  });\n}\nvar B2 = [\"l\", \"r\", \"t\", \"b\", \"p\", \"w\", \"h\"];\nlt.didMarginChange = function(e, t) {\n  for (var r = 0; r < B2.length; r++) {\n    var n = B2[r], a = e[n], i = t[n];\n    if (!rc(a) || Math.abs(i - a) > 1)\n      return !0;\n  }\n  return !1;\n};\nlt.graphJson = function(e, t, r, n, a, i) {\n  (a && t && !e._fullData || a && !t && !e._fullLayout) && lt.supplyDefaults(e);\n  var o = a ? e._fullData : e.data, l = a ? e._fullLayout : e.layout, s = (e._transitionData || {})._frames;\n  function u(h, p) {\n    if (typeof h == \"function\")\n      return p ? \"_function_\" : null;\n    if (_t.isPlainObject(h)) {\n      var v = {}, m;\n      return Object.keys(h).sort().forEach(function(k) {\n        if ([\"_\", \"[\"].indexOf(k.charAt(0)) === -1) {\n          if (typeof h[k] == \"function\") {\n            p && (v[k] = \"_function\");\n            return;\n          }\n          if (r === \"keepdata\") {\n            if (k.substr(k.length - 3) === \"src\")\n              return;\n          } else if (r === \"keepstream\") {\n            if (m = h[k + \"src\"], typeof m == \"string\" && m.indexOf(\":\") > 0 && !_t.isPlainObject(h.stream))\n              return;\n          } else if (r !== \"keepall\" && (m = h[k + \"src\"], typeof m == \"string\" && m.indexOf(\":\") > 0))\n            return;\n          v[k] = u(h[k], p);\n        }\n      }), v;\n    }\n    var g = Array.isArray(h), y = _t.isTypedArray(h);\n    if ((g || y) && h.dtype && h.shape) {\n      var w = h.bdata;\n      return u({\n        dtype: h.dtype,\n        shape: h.shape,\n        bdata: (\n          // case of ArrayBuffer\n          _t.isArrayBuffer(w) ? Hq.encode(w) : (\n            // case of b64 string\n            w\n          )\n        )\n      }, p);\n    }\n    return g ? h.map(function(k) {\n      return u(k, p);\n    }) : y ? _t.simpleMap(h, _t.identity) : _t.isJSDate(h) ? _t.ms2DateTimeLocal(+h) : h;\n  }\n  var f = {\n    data: (o || []).map(function(h) {\n      var p = u(h);\n      return t && delete p.fit, p;\n    })\n  };\n  if (!t && (f.layout = u(l), a)) {\n    var d = l._size;\n    f.layout.computed = {\n      margin: {\n        b: d.b,\n        l: d.l,\n        r: d.r,\n        t: d.t\n      }\n    };\n  }\n  return s && (f.frames = u(s)), i && (f.config = u(e._context, !0)), n === \"object\" ? f : JSON.stringify(f);\n};\nlt.modifyFrames = function(e, t) {\n  var r, n, a, i = e._transitionData._frames, o = e._transitionData._frameHash;\n  for (r = 0; r < t.length; r++)\n    switch (n = t[r], n.type) {\n      case \"replace\":\n        a = n.value;\n        var l = (i[n.index] || {}).name, s = a.name;\n        i[n.index] = o[s] = a, s !== l && (delete o[l], o[s] = a);\n        break;\n      case \"insert\":\n        a = n.value, o[a.name] = a, i.splice(n.index, 0, a);\n        break;\n      case \"delete\":\n        a = i[n.index], delete o[a.name], i.splice(n.index, 1);\n        break;\n    }\n  return Promise.resolve();\n};\nlt.computeFrame = function(e, t) {\n  var r = e._transitionData._frameHash, n, a, i, o;\n  if (!t)\n    throw new Error(\"computeFrame must be given a string frame name\");\n  var l = r[t.toString()];\n  if (!l)\n    return !1;\n  for (var s = [l], u = [l.name]; l.baseframe && (l = r[l.baseframe.toString()]) && u.indexOf(l.name) === -1; )\n    s.push(l), u.push(l.name);\n  for (var f = {}; l = s.pop(); )\n    if (l.layout && (f.layout = lt.extendLayout(f.layout, l.layout)), l.data) {\n      if (f.data || (f.data = []), a = l.traces, !a)\n        for (a = [], n = 0; n < l.data.length; n++)\n          a[n] = n;\n      for (f.traces || (f.traces = []), n = 0; n < l.data.length; n++)\n        i = a[n], i != null && (o = f.traces.indexOf(i), o === -1 && (o = f.data.length, f.traces[o] = i), f.data[o] = lt.extendTrace(f.data[o], l.data[n]));\n    }\n  return f;\n};\nlt.recomputeFrameHash = function(e) {\n  for (var t = e._transitionData._frameHash = {}, r = e._transitionData._frames, n = 0; n < r.length; n++) {\n    var a = r[n];\n    a && a.name && (t[a.name] = a);\n  }\n};\nlt.extendObjectWithContainers = function(e, t, r) {\n  var n, a, i, o, l, s, u, f, d = _t.extendDeepNoArrays({}, t || {}), h = _t.expandObjectPaths(d), p = {};\n  if (r && r.length)\n    for (i = 0; i < r.length; i++)\n      n = _t.nestedProperty(h, r[i]), a = n.get(), a === void 0 ? _t.nestedProperty(p, r[i]).set(null) : (n.set(null), _t.nestedProperty(p, r[i]).set(a));\n  if (e = _t.extendDeepNoArrays(e || {}, h), r && r.length) {\n    for (i = 0; i < r.length; i++)\n      if (l = _t.nestedProperty(p, r[i]), u = l.get(), !!u) {\n        for (s = _t.nestedProperty(e, r[i]), f = s.get(), Array.isArray(f) || (f = [], s.set(f)), o = 0; o < u.length; o++) {\n          var v = u[o];\n          v === null ? f[o] = null : f[o] = lt.extendObjectWithContainers(f[o], v);\n        }\n        s.set(f);\n      }\n  }\n  return e;\n};\nlt.dataArrayContainers = [\"transforms\", \"dimensions\"];\nlt.layoutArrayContainers = hr.layoutArrayContainers;\nlt.extendTrace = function(e, t) {\n  return lt.extendObjectWithContainers(e, t, lt.dataArrayContainers);\n};\nlt.extendLayout = function(e, t) {\n  return lt.extendObjectWithContainers(e, t, lt.layoutArrayContainers);\n};\nlt.transition = function(e, t, r, n, a, i) {\n  var o = { redraw: a.redraw }, l = {}, s = [];\n  return o.prepareFn = function() {\n    for (var u = Array.isArray(t) ? t.length : 0, f = n.slice(0, u), d = 0; d < f.length; d++) {\n      var h = f[d], p = e._fullData[h], v = p._module;\n      if (v) {\n        if (v.animatable) {\n          var m = v.basePlotModule.name;\n          l[m] || (l[m] = []), l[m].push(h);\n        }\n        e.data[f[d]] = lt.extendTrace(e.data[f[d]], t[d]);\n      }\n    }\n    var g = _t.expandObjectPaths(_t.extendDeepNoArrays({}, r)), y = /^[xy]axis[0-9]*$/;\n    for (var w in g)\n      y.test(w) && delete g[w].range;\n    lt.extendLayout(e.layout, g), delete e.calcdata, lt.supplyDefaults(e), lt.doCalcdata(e);\n    var k = _t.expandObjectPaths(r);\n    if (k) {\n      var x = e._fullLayout._plots;\n      for (var _ in x) {\n        var T = x[_], S = T.xaxis, M = T.yaxis, L = S.range.slice(), F = M.range.slice(), $ = null, I = null, O = null, G = null;\n        Array.isArray(k[S._name + \".range\"]) ? $ = k[S._name + \".range\"].slice() : Array.isArray((k[S._name] || {}).range) && ($ = k[S._name].range.slice()), Array.isArray(k[M._name + \".range\"]) ? I = k[M._name + \".range\"].slice() : Array.isArray((k[M._name] || {}).range) && (I = k[M._name].range.slice()), L && $ && (S.r2l(L[0]) !== S.r2l($[0]) || S.r2l(L[1]) !== S.r2l($[1])) && (O = { xr0: L, xr1: $ }), F && I && (M.r2l(F[0]) !== M.r2l(I[0]) || M.r2l(F[1]) !== M.r2l(I[1])) && (G = { yr0: F, yr1: I }), (O || G) && s.push(_t.extendFlat({ plotinfo: T }, O, G));\n      }\n    }\n    return Promise.resolve();\n  }, o.runFn = function(u) {\n    var f, d = e._fullLayout._basePlotModules, h = s.length, p;\n    if (r)\n      for (p = 0; p < d.length; p++)\n        d[p].transitionAxes && d[p].transitionAxes(e, s, i, u);\n    h ? (f = _t.extendFlat({}, i), f.duration = 0, delete l.cartesian) : f = i;\n    for (var v in l) {\n      var m = l[v], g = e._fullData[m[0]]._module;\n      g.basePlotModule.plot(e, m, f, u);\n    }\n  }, t4(e, i, o);\n};\nlt.transitionFromReact = function(e, t, r, n) {\n  var a = e._fullLayout, i = a.transition, o = {}, l = [];\n  return o.prepareFn = function() {\n    var s = a._plots;\n    o.redraw = !1, t.anim === \"some\" && (o.redraw = !0), r.anim === \"some\" && (o.redraw = !0);\n    for (var u in s) {\n      var f = s[u], d = f.xaxis, h = f.yaxis, p = n[d._name].range.slice(), v = n[h._name].range.slice(), m = d.range.slice(), g = h.range.slice();\n      d.setScale(), h.setScale();\n      var y = null, w = null;\n      (d.r2l(p[0]) !== d.r2l(m[0]) || d.r2l(p[1]) !== d.r2l(m[1])) && (y = { xr0: p, xr1: m }), (h.r2l(v[0]) !== h.r2l(g[0]) || h.r2l(v[1]) !== h.r2l(g[1])) && (w = { yr0: v, yr1: g }), (y || w) && l.push(_t.extendFlat({ plotinfo: f }, y, w));\n    }\n    return Promise.resolve();\n  }, o.runFn = function(s) {\n    for (var u = e._fullData, f = e._fullLayout, d = f._basePlotModules, h, p, v, m = [], g = 0; g < u.length; g++)\n      m.push(g);\n    function y() {\n      if (e._fullLayout)\n        for (var k = 0; k < d.length; k++)\n          d[k].transitionAxes && d[k].transitionAxes(e, l, h, s);\n    }\n    function w() {\n      if (e._fullLayout)\n        for (var k = 0; k < d.length; k++)\n          d[k].plot(e, v, p, s);\n    }\n    l.length && t.anim ? i.ordering === \"traces first\" ? (h = _t.extendFlat({}, i, { duration: 0 }), v = m, p = i, setTimeout(y, i.duration), w()) : (h = i, v = null, p = _t.extendFlat({}, i, { duration: 0 }), setTimeout(w, h.duration), y()) : l.length ? (h = i, y()) : t.anim && (v = m, p = i, w());\n  }, t4(e, i, o);\n};\nfunction t4(e, t, r) {\n  var n = !1;\n  function a(d) {\n    var h = Promise.resolve();\n    if (!d) return h;\n    for (; d.length; )\n      h = h.then(d.shift());\n    return h;\n  }\n  function i(d) {\n    if (d)\n      for (; d.length; )\n        d.shift();\n  }\n  function o() {\n    return e.emit(\"plotly_transitioning\", []), new Promise(function(d) {\n      e._transitioning = !0, t.duration > 0 && (e._transitioningWithDuration = !0), e._transitionData._interruptCallbacks.push(function() {\n        n = !0;\n      }), r.redraw && e._transitionData._interruptCallbacks.push(function() {\n        return hr.call(\"redraw\", e);\n      }), e._transitionData._interruptCallbacks.push(function() {\n        e.emit(\"plotly_transitioninterrupted\", []);\n      });\n      var h = 0, p = 0;\n      function v() {\n        return h++, function() {\n          p++, !n && p === h && l(d);\n        };\n      }\n      r.runFn(v), setTimeout(v());\n    });\n  }\n  function l(d) {\n    if (e._transitionData)\n      return i(e._transitionData._interruptCallbacks), Promise.resolve().then(function() {\n        if (r.redraw)\n          return hr.call(\"redraw\", e);\n      }).then(function() {\n        e._transitioning = !1, e._transitioningWithDuration = !1, e.emit(\"plotly_transitioned\", []);\n      }).then(d);\n  }\n  function s() {\n    if (e._transitionData)\n      return e._transitioning = !1, a(e._transitionData._interruptCallbacks);\n  }\n  var u = [\n    lt.previousPromises,\n    s,\n    r.prepareFn,\n    lt.rehover,\n    lt.reselect,\n    o\n  ], f = _t.syncOrAsync(u, e);\n  return (!f || !f.then) && (f = Promise.resolve()), f.then(function() {\n    return e;\n  });\n}\nlt.doCalcdata = function(e, t) {\n  var r = oa.list(e), n = e._fullData, a = e._fullLayout, i, o, l, s, u = new Array(n.length), f = (e.calcdata || []).slice();\n  for (e.calcdata = u, a._numBoxes = 0, a._numViolins = 0, a._violinScaleGroupStats = {}, e._hmpixcount = 0, e._hmlumcount = 0, a._piecolormap = {}, a._sunburstcolormap = {}, a._treemapcolormap = {}, a._iciclecolormap = {}, a._funnelareacolormap = {}, l = 0; l < n.length; l++)\n    if (Array.isArray(t) && t.indexOf(l) === -1) {\n      u[l] = f[l];\n      continue;\n    }\n  for (l = 0; l < n.length; l++)\n    i = n[l], i._arrayAttrs = YL.findArrayAttributes(i), i._extremes = {};\n  var d = a._subplots.polar || [];\n  for (l = 0; l < d.length; l++)\n    r.push(\n      a[d[l]].radialaxis,\n      a[d[l]].angularaxis\n    );\n  for (var h in a._colorAxes) {\n    var p = a[h];\n    p.cauto !== !1 && (delete p.cmin, delete p.cmax);\n  }\n  var v = !1;\n  function m(w) {\n    if (i = n[w], o = i._module, i.visible === !0 && i.transforms) {\n      if (o && o.calc) {\n        var k = o.calc(e, i);\n        k[0] && k[0].t && k[0].t._scene && delete k[0].t._scene.dirty;\n      }\n      for (s = 0; s < i.transforms.length; s++) {\n        var x = i.transforms[s];\n        o = wp[x.type], o && o.calcTransform && (i._hasCalcTransform = !0, v = !0, o.calcTransform(e, i, x));\n      }\n    }\n  }\n  function g(w, k) {\n    if (i = n[w], o = i._module, !!o.isContainer === k) {\n      var x = [];\n      if (i.visible === !0 && i._length !== 0) {\n        delete i._indexToPoints;\n        var _ = i.transforms || [];\n        for (s = _.length - 1; s >= 0; s--)\n          if (_[s].enabled) {\n            i._indexToPoints = _[s]._indexToPoints;\n            break;\n          }\n        o && o.calc && (x = o.calc(e, i));\n      }\n      (!Array.isArray(x) || !x[0]) && (x = [{ x: O2, y: O2 }]), x[0].t || (x[0].t = {}), x[0].trace = i, u[w] = x;\n    }\n  }\n  for (j2(r, n, a), l = 0; l < n.length; l++) g(l, !0);\n  for (l = 0; l < n.length; l++) m(l);\n  for (v && j2(r, n, a), l = 0; l < n.length; l++) g(l, !0);\n  for (l = 0; l < n.length; l++) g(l, !1);\n  U2(e);\n  var y = aW(r, e);\n  if (y.length) {\n    for (a._numBoxes = 0, a._numViolins = 0, l = 0; l < y.length; l++) g(y[l], !0);\n    for (l = 0; l < y.length; l++) g(y[l], !1);\n    U2(e);\n  }\n  hr.getComponentMethod(\"fx\", \"calc\")(e), hr.getComponentMethod(\"errorbars\", \"calc\")(e);\n};\nvar nW = /(total|sum|min|max|mean|median) (ascending|descending)/;\nfunction aW(e, t) {\n  var r = [], n, a, i, o, l;\n  function s(P, R, H) {\n    var B = R._id.charAt(0);\n    if (P === \"histogram2dcontour\") {\n      var W = R._counterAxes[0], ee = oa.getFromId(t, W), re = B === \"x\" || W === \"x\" && ee.type === \"category\", ae = B === \"y\" || W === \"y\" && ee.type === \"category\";\n      return function(Q, ue) {\n        return Q === 0 || ue === 0 || re && Q === H[ue].length - 1 || ae && ue === H.length - 1 ? -1 : (B === \"y\" ? ue : Q) - 1;\n      };\n    } else\n      return function(Q, ue) {\n        return B === \"y\" ? ue : Q;\n      };\n  }\n  var u = {\n    min: function(P) {\n      return _t.aggNums(Math.min, null, P);\n    },\n    max: function(P) {\n      return _t.aggNums(Math.max, null, P);\n    },\n    sum: function(P) {\n      return _t.aggNums(function(R, H) {\n        return R + H;\n      }, null, P);\n    },\n    total: function(P) {\n      return _t.aggNums(function(R, H) {\n        return R + H;\n      }, null, P);\n    },\n    mean: function(P) {\n      return _t.mean(P);\n    },\n    median: function(P) {\n      return _t.median(P);\n    }\n  };\n  function f(P, R) {\n    return P[1] - R[1];\n  }\n  function d(P, R) {\n    return R[1] - P[1];\n  }\n  for (n = 0; n < e.length; n++) {\n    var h = e[n];\n    if (h.type === \"category\") {\n      var p = h.categoryorder.match(nW);\n      if (p) {\n        var v = p[1], m = p[2], g = h._id.charAt(0), y = g === \"x\", w = [];\n        for (a = 0; a < h._categories.length; a++)\n          w.push([h._categories[a], []]);\n        for (a = 0; a < h._traceIndices.length; a++) {\n          var k = h._traceIndices[a], x = t._fullData[k];\n          if (x.visible === !0) {\n            var _ = x.type;\n            hr.traceIs(x, \"histogram\") && (delete x._xautoBinFinished, delete x._yautoBinFinished);\n            var T = _ === \"splom\", S = _ === \"scattergl\", M = t.calcdata[k];\n            for (i = 0; i < M.length; i++) {\n              var L = M[i], F, $;\n              if (T) {\n                var I = x._axesDim[h._id];\n                if (!y) {\n                  var O = x._diag[I][0];\n                  O && (h = t._fullLayout[oa.id2name(O)]);\n                }\n                var G = L.trace.dimensions[I].values;\n                for (o = 0; o < G.length; o++)\n                  for (F = h._categoriesMap[G[o]], l = 0; l < L.trace.dimensions.length; l++)\n                    if (l !== I) {\n                      var K = L.trace.dimensions[l];\n                      w[F][1].push(K.values[o]);\n                    }\n              } else if (S) {\n                for (o = 0; o < L.t.x.length; o++)\n                  y ? (F = L.t.x[o], $ = L.t.y[o]) : (F = L.t.y[o], $ = L.t.x[o]), w[F][1].push($);\n                L.t && L.t._scene && delete L.t._scene.dirty;\n              } else if (L.hasOwnProperty(\"z\")) {\n                $ = L.z;\n                var V = s(x.type, h, $);\n                for (o = 0; o < $.length; o++)\n                  for (l = 0; l < $[o].length; l++)\n                    F = V(l, o), F + 1 && w[F][1].push($[o][l]);\n              } else\n                for (F = L.p, F === void 0 && (F = L[g]), $ = L.s, $ === void 0 && ($ = L.v), $ === void 0 && ($ = y ? L.y : L.x), Array.isArray($) || ($ === void 0 ? $ = [] : $ = [$]), o = 0; o < $.length; o++)\n                  w[F][1].push($[o]);\n            }\n          }\n        }\n        h._categoriesValue = w;\n        var z = [];\n        for (a = 0; a < w.length; a++)\n          z.push([\n            w[a][0],\n            u[v](w[a][1])\n          ]);\n        z.sort(m === \"descending\" ? d : f), h._categoriesAggregatedValue = z, h._initialCategories = z.map(function(P) {\n          return P[0];\n        }), r = r.concat(h.sortByInitialCategories());\n      }\n    }\n  }\n  return r;\n}\nfunction j2(e, t, r) {\n  var n = {};\n  function a(s) {\n    s.clearCalc(), s.type === \"multicategory\" && s.setupMultiCategory(t), n[s._id] = 1;\n  }\n  _t.simpleMap(e, a);\n  for (var i = r._axisMatchGroups || [], o = 0; o < i.length; o++)\n    for (var l in i[o])\n      n[l] || a(r[oa.id2name(l)]);\n}\nfunction U2(e) {\n  var t = e._fullLayout, r = t._visibleModules, n = {}, a, i, o;\n  for (i = 0; i < r.length; i++) {\n    var l = r[i], s = l.crossTraceCalc;\n    if (s) {\n      var u = l.basePlotModule.name;\n      n[u] ? _t.pushUnique(n[u], s) : n[u] = [s];\n    }\n  }\n  for (o in n) {\n    var f = n[o], d = t._subplots[o];\n    if (Array.isArray(d))\n      for (a = 0; a < d.length; a++) {\n        var h = d[a], p = o === \"cartesian\" ? t._plots[h] : t[h];\n        for (i = 0; i < f.length; i++)\n          f[i](e, p, h);\n      }\n    else\n      for (i = 0; i < f.length; i++)\n        f[i](e);\n  }\n}\nlt.rehover = function(e) {\n  e._fullLayout._rehover && e._fullLayout._rehover();\n};\nlt.redrag = function(e) {\n  e._fullLayout._redrag && e._fullLayout._redrag();\n};\nlt.reselect = function(e) {\n  var t = e._fullLayout, r = (e.layout || {}).selections, n = t._previousSelections;\n  t._previousSelections = r;\n  var a = t._reselect || JSON.stringify(r) !== JSON.stringify(n);\n  hr.getComponentMethod(\"selections\", \"reselect\")(e, a);\n};\nlt.generalUpdatePerTraceModule = function(e, t, r, n) {\n  var a = t.traceHash, i = {}, o;\n  for (o = 0; o < r.length; o++) {\n    var l = r[o], s = l[0].trace;\n    s.visible && (i[s.type] = i[s.type] || [], i[s.type].push(l));\n  }\n  for (var u in a)\n    if (!i[u]) {\n      var f = a[u][0], d = f[0].trace;\n      d.visible = !1, i[u] = [f];\n    }\n  for (var h in i) {\n    var p = i[h], v = p[0][0].trace._module;\n    v.plot(e, t, _t.filterVisible(p), n);\n  }\n  t.traceHash = i;\n};\nlt.plotBasePlot = function(e, t, r, n, a) {\n  var i = hr.getModule(e), o = Vq(t.calcdata, i)[0];\n  i.plot(t, o, n, a);\n};\nlt.cleanBasePlot = function(e, t, r, n, a) {\n  var i = a._has && a._has(e), o = r._has && r._has(e);\n  i && !o && a[\"_\" + e + \"layer\"].selectAll(\"g.trace\").remove();\n};\nvar Tn = qL.exports, r4 = { exports: {} }, Rn = {}, yl = {};\n(function(e) {\n  e.xmlns = \"http://www.w3.org/2000/xmlns/\", e.svg = \"http://www.w3.org/2000/svg\", e.xlink = \"http://www.w3.org/1999/xlink\", e.svgAttrs = {\n    xmlns: e.svg,\n    \"xmlns:xlink\": e.xlink\n  };\n})(yl);\nvar On = {\n  // from bottom left: this is the origin of our paper-reference\n  // positioning system\n  FROM_BL: {\n    left: 0,\n    center: 0.5,\n    right: 1,\n    bottom: 0,\n    middle: 0.5,\n    top: 1\n  },\n  // from top left: this is the screen pixel positioning origin\n  FROM_TL: {\n    left: 0,\n    center: 0.5,\n    right: 1,\n    bottom: 1,\n    middle: 0.5,\n    top: 0\n  },\n  // from bottom right: sometimes you just need the opposite of ^^\n  FROM_BR: {\n    left: 1,\n    center: 0.5,\n    right: 0,\n    bottom: 0,\n    middle: 0.5,\n    top: 1\n  },\n  // multiple of fontSize to get the vertical offset between lines\n  LINE_SPACING: 1.3,\n  // multiple of fontSize to shift from the baseline\n  // to the cap (captical letter) line\n  // (to use when we don't calculate this shift from Drawing.bBox)\n  // This is an approximation since in reality cap height can differ\n  // from font to font. However, according to Wikipedia\n  //   an \"average\" font might have a cap height of 70% of the em\n  // https://en.wikipedia.org/wiki/Em_(typography)#History\n  CAP_SHIFT: 0.7,\n  // half the cap height (distance between baseline and cap line)\n  // of an \"average\" font (for more info see above).\n  MID_SHIFT: 0.35,\n  OPPOSITE_SIDE: {\n    left: \"right\",\n    right: \"left\",\n    top: \"bottom\",\n    bottom: \"top\"\n  }\n};\n(function(e) {\n  var t = lr, r = Ue, n = r.strTranslate, a = yl, i = On.LINE_SPACING, o = /([^$]*)([$]+[^$]*[$]+)([^$]*)/;\n  e.convertToTspans = function(R, H, B) {\n    var W = R.text(), ee = !R.attr(\"data-notex\") && H && H._context.typesetMath && typeof MathJax < \"u\" && W.match(o), re = t.select(R.node().parentNode);\n    if (re.empty()) return;\n    var ae = R.attr(\"class\") ? R.attr(\"class\").split(\" \")[0] : \"text\";\n    ae += \"-math\", re.selectAll(\"svg.\" + ae).remove(), re.selectAll(\"g.\" + ae + \"-group\").remove(), R.style(\"display\", null).attr({\n      // some callers use data-unformatted *from the <text> element* in 'cancel'\n      // so we need it here even if we're going to turn it into math\n      // these two (plus style and text-anchor attributes) form the key we're\n      // going to use for Drawing.bBox\n      \"data-unformatted\": W,\n      \"data-math\": \"N\"\n    });\n    function Q() {\n      re.empty() || (ae = R.attr(\"class\") + \"-math\", re.select(\"svg.\" + ae).remove()), R.text(\"\").style(\"white-space\", \"pre\");\n      var ue = K(R.node(), W);\n      ue && R.style(\"pointer-events\", \"all\"), e.positionText(R), B && B.call(R);\n    }\n    return ee ? (H && H._promises || []).push(new Promise(function(ue) {\n      R.style(\"display\", \"none\");\n      var j = parseInt(R.node().style.fontSize, 10), U = { fontSize: j };\n      d(ee[2], U, function(Z, le, J) {\n        re.selectAll(\"svg.\" + ae).remove(), re.selectAll(\"g.\" + ae + \"-group\").remove();\n        var pe = Z && Z.select(\"svg\");\n        if (!pe || !pe.node()) {\n          Q(), ue();\n          return;\n        }\n        var ge = re.append(\"g\").classed(ae + \"-group\", !0).attr({\n          \"pointer-events\": \"none\",\n          \"data-unformatted\": W,\n          \"data-math\": \"Y\"\n        });\n        ge.node().appendChild(pe.node()), le && le.node() && pe.node().insertBefore(\n          le.node().cloneNode(!0),\n          pe.node().firstChild\n        );\n        var ve = J.width, me = J.height;\n        pe.attr({\n          class: ae,\n          height: me,\n          preserveAspectRatio: \"xMinYMin meet\"\n        }).style({ overflow: \"visible\", \"pointer-events\": \"none\" });\n        var Le = R.node().style.fill || \"black\", ze = pe.select(\"g\");\n        ze.attr({ fill: Le, stroke: Le });\n        var Fe = ze.node().getBoundingClientRect(), Oe = Fe.width, Re = Fe.height;\n        (Oe > ve || Re > me) && (pe.style(\"overflow\", \"hidden\"), Fe = pe.node().getBoundingClientRect(), Oe = Fe.width, Re = Fe.height);\n        var We = +R.attr(\"x\"), Me = +R.attr(\"y\"), Ve = j || R.node().getBoundingClientRect().height, qe = -Ve / 4;\n        if (ae[0] === \"y\")\n          ge.attr({\n            transform: \"rotate(\" + [-90, We, Me] + \")\" + n(-Oe / 2, qe - Re / 2)\n          });\n        else if (ae[0] === \"l\")\n          Me = qe - Re / 2;\n        else if (ae[0] === \"a\" && ae.indexOf(\"atitle\") !== 0)\n          We = 0, Me = qe;\n        else {\n          var Qe = R.attr(\"text-anchor\");\n          We = We - Oe * (Qe === \"middle\" ? 0.5 : Qe === \"end\" ? 1 : 0), Me = Me + qe - Re / 2;\n        }\n        pe.attr({\n          x: We,\n          y: Me\n        }), B && B.call(R, ge), ue(ge);\n      });\n    })) : Q(), R;\n  };\n  var l = /(<|&lt;|&#60;)/g, s = /(>|&gt;|&#62;)/g;\n  function u(R) {\n    return R.replace(l, \"\\\\lt \").replace(s, \"\\\\gt \");\n  }\n  var f = [[\"$\", \"$\"], [\"\\\\(\", \"\\\\)\"]];\n  function d(R, H, B) {\n    var W = parseInt(\n      (MathJax.version || \"\").split(\".\")[0]\n    );\n    if (W !== 2 && W !== 3) {\n      r.warn(\"No MathJax version:\", MathJax.version);\n      return;\n    }\n    var ee, re, ae, Q, ue = function() {\n      return re = r.extendDeepAll({}, MathJax.Hub.config), ae = MathJax.Hub.processSectionDelay, MathJax.Hub.processSectionDelay !== void 0 && (MathJax.Hub.processSectionDelay = 0), MathJax.Hub.Config({\n        messageStyle: \"none\",\n        tex2jax: {\n          inlineMath: f\n        },\n        displayAlign: \"left\"\n      });\n    }, j = function() {\n      re = r.extendDeepAll({}, MathJax.config), MathJax.config.tex || (MathJax.config.tex = {}), MathJax.config.tex.inlineMath = f;\n    }, U = function() {\n      if (ee = MathJax.Hub.config.menuSettings.renderer, ee !== \"SVG\")\n        return MathJax.Hub.setRenderer(\"SVG\");\n    }, Z = function() {\n      ee = MathJax.config.startup.output, ee !== \"svg\" && (MathJax.config.startup.output = \"svg\");\n    }, le = function() {\n      var Le = \"math-output-\" + r.randstr({}, 64);\n      Q = t.select(\"body\").append(\"div\").attr({ id: Le }).style({\n        visibility: \"hidden\",\n        position: \"absolute\",\n        \"font-size\": H.fontSize + \"px\"\n      }).text(u(R));\n      var ze = Q.node();\n      return W === 2 ? MathJax.Hub.Typeset(ze) : MathJax.typeset([ze]);\n    }, J = function() {\n      var Le = Q.select(\n        W === 2 ? \".MathJax_SVG\" : \".MathJax\"\n      ), ze = !Le.empty() && Q.select(\"svg\").node();\n      if (!ze)\n        r.log(\"There was an error in the tex syntax.\", R), B();\n      else {\n        var Fe = ze.getBoundingClientRect(), Oe;\n        W === 2 ? Oe = t.select(\"body\").select(\"#MathJax_SVG_glyphs\") : Oe = Le.select(\"defs\"), B(Le, Oe, Fe);\n      }\n      Q.remove();\n    }, pe = function() {\n      if (ee !== \"SVG\")\n        return MathJax.Hub.setRenderer(ee);\n    }, ge = function() {\n      ee !== \"svg\" && (MathJax.config.startup.output = ee);\n    }, ve = function() {\n      return ae !== void 0 && (MathJax.Hub.processSectionDelay = ae), MathJax.Hub.Config(re);\n    }, me = function() {\n      MathJax.config = re;\n    };\n    W === 2 ? MathJax.Hub.Queue(\n      ue,\n      U,\n      le,\n      J,\n      pe,\n      ve\n    ) : W === 3 && (j(), Z(), MathJax.startup.defaultReady(), MathJax.startup.promise.then(function() {\n      le(), J(), ge(), me();\n    }));\n  }\n  var h = {\n    // would like to use baseline-shift for sub/sup but FF doesn't support it\n    // so we need to use dy along with the uber hacky shift-back-to\n    // baseline below\n    sup: \"font-size:70%\",\n    sub: \"font-size:70%\",\n    b: \"font-weight:bold\",\n    i: \"font-style:italic\",\n    a: \"cursor:pointer\",\n    span: \"\",\n    em: \"font-style:italic;font-weight:bold\"\n  }, p = {\n    sub: \"0.3em\",\n    sup: \"-0.6em\"\n  }, v = {\n    sub: \"-0.21em\",\n    sup: \"0.42em\"\n  }, m = \"​\", g = [\"http:\", \"https:\", \"mailto:\", \"\", void 0, \":\"], y = e.NEWLINES = /(\\r\\n?|\\n)/g, w = /(<[^<>]*>)/, k = /<(\\/?)([^ >]*)(\\s+(.*))?>/i, x = /<br(\\s+.*)?>/i;\n  e.BR_TAG_ALL = /<br(\\s+.*)?>/gi;\n  var _ = /(^|[\\s\"'])style\\s*=\\s*(\"([^\"]*);?\"|'([^']*);?')/i, T = /(^|[\\s\"'])href\\s*=\\s*(\"([^\"]*)\"|'([^']*)')/i, S = /(^|[\\s\"'])target\\s*=\\s*(\"([^\"\\s]*)\"|'([^'\\s]*)')/i, M = /(^|[\\s\"'])popup\\s*=\\s*(\"([\\w=,]*)\"|'([\\w=,]*)')/i;\n  function L(R, H) {\n    if (!R) return null;\n    var B = R.match(H), W = B && (B[3] || B[4]);\n    return W && O(W);\n  }\n  var F = /(^|;)\\s*color:/;\n  e.plainText = function(R, H) {\n    H = H || {};\n    for (var B = H.len !== void 0 && H.len !== -1 ? H.len : 1 / 0, W = H.allowedTags !== void 0 ? H.allowedTags : [\"br\"], ee = \"...\", re = ee.length, ae = R.split(w), Q = [], ue = \"\", j = 0, U = 0; U < ae.length; U++) {\n      var Z = ae[U], le = Z.match(k), J = le && le[2].toLowerCase();\n      if (J)\n        W.indexOf(J) !== -1 && (Q.push(Z), ue = J);\n      else {\n        var pe = Z.length;\n        if (j + pe < B)\n          Q.push(Z), j += pe;\n        else if (j < B) {\n          var ge = B - j;\n          ue && (ue !== \"br\" || ge <= re || pe <= re) && Q.pop(), B > re ? Q.push(Z.substr(0, ge - re) + ee) : Q.push(Z.substr(0, ge));\n          break;\n        }\n        ue = \"\";\n      }\n    }\n    return Q.join(\"\");\n  };\n  var $ = {\n    mu: \"μ\",\n    amp: \"&\",\n    lt: \"<\",\n    gt: \">\",\n    nbsp: \" \",\n    times: \"×\",\n    plusmn: \"±\",\n    deg: \"°\"\n  }, I = /&(#\\d+|#x[\\da-fA-F]+|[a-z]+);/g;\n  function O(R) {\n    return R.replace(I, function(H, B) {\n      var W;\n      return B.charAt(0) === \"#\" ? W = G(\n        B.charAt(1) === \"x\" ? parseInt(B.substr(2), 16) : parseInt(B.substr(1), 10)\n      ) : W = $[B], W || H;\n    });\n  }\n  e.convertEntities = O;\n  function G(R) {\n    if (!(R > 1114111)) {\n      var H = String.fromCodePoint;\n      if (H) return H(R);\n      var B = String.fromCharCode;\n      return R <= 65535 ? B(R) : B(\n        (R >> 10) + 55232,\n        R % 1024 + 56320\n      );\n    }\n  }\n  function K(R, H) {\n    H = H.replace(y, \" \");\n    var B = !1, W = [], ee, re = -1;\n    function ae() {\n      re++;\n      var Re = document.createElementNS(a.svg, \"tspan\");\n      t.select(Re).attr({\n        class: \"line\",\n        dy: re * i + \"em\"\n      }), R.appendChild(Re), ee = Re;\n      var We = W;\n      if (W = [{ node: Re }], We.length > 1)\n        for (var Me = 1; Me < We.length; Me++)\n          Q(We[Me]);\n    }\n    function Q(Re) {\n      var We = Re.type, Me = {}, Ve;\n      if (We === \"a\") {\n        Ve = \"a\";\n        var qe = Re.target, Qe = Re.href, ot = Re.popup;\n        Qe && (Me = {\n          \"xlink:xlink:show\": qe === \"_blank\" || qe.charAt(0) !== \"_\" ? \"new\" : \"replace\",\n          target: qe,\n          \"xlink:xlink:href\": Qe\n        }, ot && (Me.onclick = 'window.open(this.href.baseVal,this.target.baseVal,\"' + ot + '\");return false;'));\n      } else Ve = \"tspan\";\n      Re.style && (Me.style = Re.style);\n      var ht = document.createElementNS(a.svg, Ve);\n      if (We === \"sup\" || We === \"sub\") {\n        ue(ee, m), ee.appendChild(ht);\n        var vt = document.createElementNS(a.svg, \"tspan\");\n        ue(vt, m), t.select(vt).attr(\"dy\", v[We]), Me.dy = p[We], ee.appendChild(ht), ee.appendChild(vt);\n      } else\n        ee.appendChild(ht);\n      t.select(ht).attr(Me), ee = Re.node = ht, W.push(Re);\n    }\n    function ue(Re, We) {\n      Re.appendChild(document.createTextNode(We));\n    }\n    function j(Re) {\n      if (W.length === 1) {\n        r.log(\"Ignoring unexpected end tag </\" + Re + \">.\", H);\n        return;\n      }\n      var We = W.pop();\n      Re !== We.type && r.log(\"Start tag <\" + We.type + \"> doesnt match end tag <\" + Re + \">. Pretending it did match.\", H), ee = W[W.length - 1].node;\n    }\n    var U = x.test(H);\n    U ? ae() : (ee = R, W = [{ node: R }]);\n    for (var Z = H.split(w), le = 0; le < Z.length; le++) {\n      var J = Z[le], pe = J.match(k), ge = pe && pe[2].toLowerCase(), ve = h[ge];\n      if (ge === \"br\")\n        ae();\n      else if (ve === void 0)\n        ue(ee, O(J));\n      else if (pe[1])\n        j(ge);\n      else {\n        var me = pe[4], Le = { type: ge }, ze = L(me, _);\n        if (ze ? (ze = ze.replace(F, \"$1 fill:\"), ve && (ze += \";\" + ve)) : ve && (ze = ve), ze && (Le.style = ze), ge === \"a\") {\n          B = !0;\n          var Fe = L(me, T);\n          if (Fe) {\n            var Oe = V(Fe);\n            Oe && (Le.href = Oe, Le.target = L(me, S) || \"_blank\", Le.popup = L(me, M));\n          }\n        }\n        Q(Le);\n      }\n    }\n    return B;\n  }\n  function V(R) {\n    var H = encodeURI(decodeURI(R)), B = document.createElement(\"a\"), W = document.createElement(\"a\");\n    B.href = R, W.href = H;\n    var ee = B.protocol, re = W.protocol;\n    return g.indexOf(ee) !== -1 && g.indexOf(re) !== -1 ? H : \"\";\n  }\n  e.sanitizeHTML = function(H) {\n    H = H.replace(y, \" \");\n    for (var B = document.createElement(\"p\"), W = B, ee = [], re = H.split(w), ae = 0; ae < re.length; ae++) {\n      var Q = re[ae], ue = Q.match(k), j = ue && ue[2].toLowerCase();\n      if (j in h)\n        if (ue[1])\n          ee.length && (W = ee.pop());\n        else {\n          var U = ue[4], Z = L(U, _), le = Z ? { style: Z } : {};\n          if (j === \"a\") {\n            var J = L(U, T);\n            if (J) {\n              var pe = V(J);\n              if (pe) {\n                le.href = pe;\n                var ge = L(U, S);\n                ge && (le.target = ge);\n              }\n            }\n          }\n          var ve = document.createElement(j);\n          W.appendChild(ve), t.select(ve).attr(le), W = ve, ee.push(ve);\n        }\n      else\n        W.appendChild(\n          document.createTextNode(O(Q))\n        );\n    }\n    var me = \"innerHTML\";\n    return B[me];\n  }, e.lineCount = function(H) {\n    return H.selectAll(\"tspan.line\").size() || 1;\n  }, e.positionText = function(H, B, W) {\n    return H.each(function() {\n      var ee = t.select(this);\n      function re(ue, j) {\n        return j === void 0 ? (j = ee.attr(ue), j === null && (ee.attr(ue, 0), j = 0)) : ee.attr(ue, j), j;\n      }\n      var ae = re(\"x\", B), Q = re(\"y\", W);\n      this.nodeName === \"text\" && ee.selectAll(\"tspan.line\").attr({ x: ae, y: Q });\n    });\n  };\n  function z(R, H, B) {\n    var W = B.horizontalAlign, ee = B.verticalAlign || \"top\", re = R.node().getBoundingClientRect(), ae = H.node().getBoundingClientRect(), Q, ue, j;\n    return ee === \"bottom\" ? ue = function() {\n      return re.bottom - Q.height;\n    } : ee === \"middle\" ? ue = function() {\n      return re.top + (re.height - Q.height) / 2;\n    } : ue = function() {\n      return re.top;\n    }, W === \"right\" ? j = function() {\n      return re.right - Q.width;\n    } : W === \"center\" ? j = function() {\n      return re.left + (re.width - Q.width) / 2;\n    } : j = function() {\n      return re.left;\n    }, function() {\n      Q = this.node().getBoundingClientRect();\n      var U = j() - ae.left, Z = ue() - ae.top, le = B.gd || {};\n      if (B.gd) {\n        le._fullLayout._calcInverseTransform(le);\n        var J = r.apply3DTransform(le._fullLayout._invTransform)(U, Z);\n        U = J[0], Z = J[1];\n      }\n      return this.style({\n        top: Z + \"px\",\n        left: U + \"px\",\n        \"z-index\": 1e3\n      }), this;\n    };\n  }\n  var P = \"1px \";\n  e.makeTextShadow = function(R) {\n    var H = P, B = P, W = P;\n    return H + B + W + R + \", -\" + H + \"-\" + B + W + R + \", \" + H + \"-\" + B + W + R + \", -\" + H + B + W + R;\n  }, e.makeEditable = function(R, H) {\n    var B = H.gd, W = H.delegate, ee = t.dispatch(\"edit\", \"input\", \"cancel\"), re = W || R;\n    if (R.style({ \"pointer-events\": W ? \"none\" : \"all\" }), R.size() !== 1) throw new Error(\"boo\");\n    function ae() {\n      ue(), R.style({ opacity: 0 });\n      var j = re.attr(\"class\"), U;\n      j ? U = \".\" + j.split(\" \")[0] + \"-math-group\" : U = \"[class*=-math-group]\", U && t.select(R.node().parentNode).select(U).style({ opacity: 0 });\n    }\n    function Q(j) {\n      var U = j.node(), Z = document.createRange();\n      Z.selectNodeContents(U);\n      var le = window.getSelection();\n      le.removeAllRanges(), le.addRange(Z), U.focus();\n    }\n    function ue() {\n      var j = t.select(B), U = j.select(\".svg-container\"), Z = U.append(\"div\"), le = R.node().style, J = parseFloat(le.fontSize || 12), pe = H.text;\n      pe === void 0 && (pe = R.attr(\"data-unformatted\")), Z.classed(\"plugin-editable editable\", !0).style({\n        position: \"absolute\",\n        \"font-family\": le.fontFamily || \"Arial\",\n        \"font-size\": J,\n        color: H.fill || le.fill || \"black\",\n        opacity: 1,\n        \"background-color\": H.background || \"transparent\",\n        outline: \"#ffffff33 1px solid\",\n        margin: [-J / 8 + 1, 0, 0, -1].join(\"px \") + \"px\",\n        padding: \"0\",\n        \"box-sizing\": \"border-box\"\n      }).attr({ contenteditable: !0 }).text(pe).call(z(R, U, H)).on(\"blur\", function() {\n        B._editing = !1, R.text(this.textContent).style({ opacity: 1 });\n        var ge = t.select(this).attr(\"class\"), ve;\n        ge ? ve = \".\" + ge.split(\" \")[0] + \"-math-group\" : ve = \"[class*=-math-group]\", ve && t.select(R.node().parentNode).select(ve).style({ opacity: 0 });\n        var me = this.textContent;\n        t.select(this).transition().duration(0).remove(), t.select(document).on(\"mouseup\", null), ee.edit.call(R, me);\n      }).on(\"focus\", function() {\n        var ge = this;\n        B._editing = !0, t.select(document).on(\"mouseup\", function() {\n          if (t.event.target === ge) return !1;\n          document.activeElement === Z.node() && Z.node().blur();\n        });\n      }).on(\"keyup\", function() {\n        t.event.which === 27 ? (B._editing = !1, R.style({ opacity: 1 }), t.select(this).style({ opacity: 0 }).on(\"blur\", function() {\n          return !1;\n        }).transition().remove(), ee.cancel.call(R, this.textContent)) : (ee.input.call(R, this.textContent), t.select(this).call(z(R, U, H)));\n      }).on(\"keydown\", function() {\n        t.event.which === 13 && this.blur();\n      }).call(Q);\n    }\n    return H.immediate ? ae() : re.on(\"click\", ae), t.rebind(R, ee, \"on\");\n  };\n})(Rn);\nvar n4 = { exports: {} }, iW = lr, Ph = bi, nc = sr, jd = Ue, G2 = nr, oW = Wu.isValid;\nfunction lW(e, t, r) {\n  var n = t ? jd.nestedProperty(e, t).get() || {} : e, a = n[r || \"color\"];\n  a && a._inputArray && (a = a._inputArray);\n  var i = !1;\n  if (jd.isArrayOrTypedArray(a)) {\n    for (var o = 0; o < a.length; o++)\n      if (nc(a[o])) {\n        i = !0;\n        break;\n      }\n  }\n  return jd.isPlainObject(n) && (i || n.showscale === !0 || nc(n.cmin) && nc(n.cmax) || oW(n.colorscale) || jd.isPlainObject(n.colorbar));\n}\nvar V2 = [\"showscale\", \"autocolorscale\", \"colorscale\", \"reversescale\", \"colorbar\"], kf = [\"min\", \"max\", \"mid\", \"auto\"];\nfunction a4(e) {\n  var t = e._colorAx, r = t || e, n = {}, a, i, o;\n  for (i = 0; i < V2.length; i++)\n    o = V2[i], n[o] = r[o];\n  if (t)\n    for (a = \"c\", i = 0; i < kf.length; i++)\n      o = kf[i], n[o] = r[\"c\" + o];\n  else {\n    var l;\n    for (i = 0; i < kf.length; i++) {\n      if (o = kf[i], l = \"c\" + o, l in r) {\n        n[o] = r[l];\n        continue;\n      }\n      l = \"z\" + o, l in r && (n[o] = r[l]);\n    }\n    a = l.charAt(0);\n  }\n  return n._sync = function(s, u) {\n    var f = kf.indexOf(s) !== -1 ? a + s : s;\n    r[f] = r[\"_\" + f] = u;\n  }, n;\n}\nfunction i4(e) {\n  for (var t = a4(e), r = t.min, n = t.max, a = t.reversescale ? o4(t.colorscale) : t.colorscale, i = a.length, o = new Array(i), l = new Array(i), s = 0; s < i; s++) {\n    var u = a[s];\n    o[s] = r + u[0] * (n - r), l[s] = u[1];\n  }\n  return { domain: o, range: l };\n}\nfunction o4(e) {\n  for (var t = e.length, r = new Array(t), n = t - 1, a = 0; n >= 0; n--, a++) {\n    var i = e[n];\n    r[a] = [1 - i[0], i[1]];\n  }\n  return r;\n}\nfunction l4(e, t) {\n  t = t || {};\n  for (var r = e.domain, n = e.range, a = n.length, i = new Array(a), o = 0; o < a; o++) {\n    var l = Ph(n[o]).toRgb();\n    i[o] = [l.r, l.g, l.b, l.a];\n  }\n  var s = iW.scale.linear().domain(r).range(i).clamp(!0), u = t.noNumericCheck, f = t.returnArray, d;\n  return u && f ? d = s : u ? d = function(h) {\n    return q2(s(h));\n  } : f ? d = function(h) {\n    return nc(h) ? s(h) : Ph(h).isValid() ? h : G2.defaultLine;\n  } : d = function(h) {\n    return nc(h) ? q2(s(h)) : Ph(h).isValid() ? h : G2.defaultLine;\n  }, d.domain = s.domain, d.range = function() {\n    return n;\n  }, d;\n}\nfunction sW(e, t) {\n  return l4(i4(e), t);\n}\nfunction q2(e) {\n  var t = {\n    r: e[0],\n    g: e[1],\n    b: e[2],\n    a: e[3]\n  };\n  return Ph(t).toRgbString();\n}\nvar wi = {\n  hasColorscale: lW,\n  extractOpts: a4,\n  extractScale: i4,\n  flipScale: o4,\n  makeColorScaleFunc: l4,\n  makeColorScaleFuncFromTrace: sW\n}, s4 = mL, uW = s4.FORMAT_LINK, fW = s4.DATE_FORMAT_LINK;\nfunction cW(e, t) {\n  return {\n    valType: \"string\",\n    dflt: \"\",\n    editType: \"none\",\n    description: (t ? cb : u4)(\"hover text\", e) + [\n      \"By default the values are formatted using \" + (t ? \"generic number format\" : \"`\" + e + \"axis.hoverformat`\") + \".\"\n    ].join(\" \")\n  };\n}\nfunction cb(e, t) {\n  return [\n    \"Sets the \" + e + \" formatting rule\" + (t ? \"for `\" + t + \"` \" : \"\"),\n    \"using d3 formatting mini-languages\",\n    \"which are very similar to those in Python. For numbers, see: \" + uW + \".\"\n  ].join(\" \");\n}\nfunction u4(e, t) {\n  return cb(e, t) + [\n    \" And for dates see: \" + fW + \".\",\n    \"We add two items to d3's date formatter:\",\n    \"*%h* for half of the year as a decimal number as well as\",\n    \"*%{n}f* for fractional seconds\",\n    \"with n digits. For example, *2016-10-13 09:15:23.456* with tickformat\",\n    \"*%H~%M~%S.%2f* would display *09~15~23.46*\"\n  ].join(\" \");\n}\nvar kp = {\n  axisHoverFormat: cW,\n  descriptionOnlyNumbers: cb,\n  descriptionWithDates: u4\n}, Xm = Fn, uu = da, f4 = Zi.dash, db = en.extendFlat, W2 = Mr.templatedArray, Z2 = kp.descriptionWithDates, dW = Qr.ONEDAY, Fi = Yn, Km = Fi.HOUR_PATTERN, Jm = Fi.WEEKDAY_PATTERN, $h = {\n  valType: \"enumerated\",\n  values: [\"auto\", \"linear\", \"array\"],\n  editType: \"ticks\",\n  impliedEdits: { tick0: void 0, dtick: void 0 },\n  description: [\n    \"Sets the tick mode for this axis.\",\n    \"If *auto*, the number of ticks is set via `nticks`.\",\n    \"If *linear*, the placement of the ticks is determined by\",\n    \"a starting position `tick0` and a tick step `dtick`\",\n    \"(*linear* is the default value if `tick0` and `dtick` are provided).\",\n    \"If *array*, the placement of the ticks is set via `tickvals`\",\n    \"and the tick text is `ticktext`.\",\n    \"(*array* is the default value if `tickvals` is provided).\"\n  ].join(\" \")\n}, hW = db({}, $h, {\n  values: $h.values.slice().concat([\"sync\"]),\n  description: [\n    $h.description,\n    \"If *sync*, the number of ticks will sync with the overlayed axis\",\n    \"set by `overlaying` property.\"\n  ].join(\" \")\n});\nfunction Y2(e) {\n  return {\n    valType: \"integer\",\n    min: 0,\n    dflt: e ? 5 : 0,\n    editType: \"ticks\",\n    description: [\n      \"Specifies the maximum number of ticks for the particular axis.\",\n      \"The actual number of ticks will be chosen automatically to be\",\n      \"less than or equal to `nticks`.\",\n      \"Has an effect only if `tickmode` is set to *auto*.\"\n    ].join(\" \")\n  };\n}\nvar X2 = {\n  valType: \"any\",\n  editType: \"ticks\",\n  impliedEdits: { tickmode: \"linear\" },\n  description: [\n    \"Sets the placement of the first tick on this axis.\",\n    \"Use with `dtick`.\",\n    \"If the axis `type` is *log*, then you must take the log of your starting tick\",\n    \"(e.g. to set the starting tick to 100, set the `tick0` to 2)\",\n    \"except when `dtick`=*L<f>* (see `dtick` for more info).\",\n    \"If the axis `type` is *date*, it should be a date string, like date data.\",\n    \"If the axis `type` is *category*, it should be a number, using the scale where\",\n    \"each category is assigned a serial number from zero in the order it appears.\"\n  ].join(\" \")\n}, K2 = {\n  valType: \"any\",\n  editType: \"ticks\",\n  impliedEdits: { tickmode: \"linear\" },\n  description: [\n    \"Sets the step in-between ticks on this axis. Use with `tick0`.\",\n    \"Must be a positive number, or special strings available to *log* and *date* axes.\",\n    \"If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n\",\n    \"is the tick number. For example,\",\n    \"to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1.\",\n    \"To set tick marks at 1, 100, 10000, ... set dtick to 2.\",\n    \"To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433.\",\n    \"*log* has several special values; *L<f>*, where `f` is a positive number,\",\n    \"gives ticks linearly spaced in value (but not position).\",\n    \"For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc.\",\n    \"To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5).\",\n    \"`tick0` is ignored for *D1* and *D2*.\",\n    \"If the axis `type` is *date*, then you must convert the time to milliseconds.\",\n    \"For example, to set the interval between ticks to one day,\",\n    \"set `dtick` to 86400000.0.\",\n    \"*date* also has special values *M<n>* gives ticks spaced by a number of months.\",\n    \"`n` must be a positive integer.\",\n    \"To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*.\",\n    \"To set ticks every 4 years, set `dtick` to *M48*\"\n  ].join(\" \")\n}, J2 = {\n  valType: \"data_array\",\n  editType: \"ticks\",\n  description: [\n    \"Sets the values at which ticks on this axis appear.\",\n    \"Only has an effect if `tickmode` is set to *array*.\",\n    \"Used with `ticktext`.\"\n  ].join(\" \")\n}, Q2 = {\n  valType: \"enumerated\",\n  values: [\"outside\", \"inside\", \"\"],\n  editType: \"ticks\",\n  description: [\n    \"Determines whether ticks are drawn or not.\",\n    \"If **, this axis' ticks are not drawn.\",\n    \"If *outside* (*inside*), this axis' are drawn outside (inside)\",\n    \"the axis lines.\"\n  ].join(\" \")\n};\nfunction eT(e) {\n  var t = {\n    valType: \"number\",\n    min: 0,\n    editType: \"ticks\",\n    description: \"Sets the tick length (in px).\"\n  };\n  return e || (t.dflt = 5), t;\n}\nfunction tT(e) {\n  var t = {\n    valType: \"number\",\n    min: 0,\n    editType: \"ticks\",\n    description: \"Sets the tick width (in px).\"\n  };\n  return e || (t.dflt = 1), t;\n}\nvar rT = {\n  valType: \"color\",\n  dflt: uu.defaultLine,\n  editType: \"ticks\",\n  description: \"Sets the tick color.\"\n}, nT = {\n  valType: \"color\",\n  dflt: uu.lightLine,\n  editType: \"ticks\",\n  description: \"Sets the color of the grid lines.\"\n};\nfunction aT(e) {\n  var t = {\n    valType: \"number\",\n    min: 0,\n    editType: \"ticks\",\n    description: \"Sets the width (in px) of the grid lines.\"\n  };\n  return e || (t.dflt = 1), t;\n}\nvar iT = db({}, f4, { editType: \"ticks\" }), oT = {\n  valType: \"boolean\",\n  editType: \"ticks\",\n  description: [\n    \"Determines whether or not grid lines are drawn.\",\n    \"If *true*, the grid lines are drawn at every tick mark.\"\n  ].join(\" \")\n}, Ki = {\n  visible: {\n    valType: \"boolean\",\n    editType: \"plot\",\n    description: [\n      \"A single toggle to hide the axis while preserving interaction like dragging.\",\n      \"Default is true when a cheater plot is present on the axis, otherwise\",\n      \"false\"\n    ].join(\" \")\n  },\n  color: {\n    valType: \"color\",\n    dflt: uu.defaultLine,\n    editType: \"ticks\",\n    description: [\n      \"Sets default for all colors associated with this axis\",\n      \"all at once: line, font, tick, and grid colors.\",\n      \"Grid color is lightened by blending this with the plot background\",\n      \"Individual pieces can override this.\"\n    ].join(\" \")\n  },\n  title: {\n    text: {\n      valType: \"string\",\n      editType: \"ticks\",\n      description: [\n        \"Sets the title of this axis.\",\n        \"Note that before the existence of `title.text`, the title's\",\n        \"contents used to be defined as the `title` attribute itself.\",\n        \"This behavior has been deprecated.\"\n      ].join(\" \")\n    },\n    font: Xm({\n      editType: \"ticks\",\n      description: [\n        \"Sets this axis' title font.\",\n        \"Note that the title's font used to be customized\",\n        \"by the now deprecated `titlefont` attribute.\"\n      ].join(\" \")\n    }),\n    standoff: {\n      valType: \"number\",\n      min: 0,\n      editType: \"ticks\",\n      description: [\n        \"Sets the standoff distance (in px) between the axis labels and the title text\",\n        \"The default value is a function of the axis tick labels, the title `font.size`\",\n        \"and the axis `linewidth`.\",\n        \"Note that the axis title position is always constrained within the margins,\",\n        \"so the actual standoff distance is always less than the set or default value.\",\n        \"By setting `standoff` and turning on `automargin`, plotly.js will push the\",\n        \"margins to fit the axis title at given standoff distance.\"\n      ].join(\" \")\n    },\n    editType: \"ticks\"\n  },\n  type: {\n    valType: \"enumerated\",\n    // '-' means we haven't yet run autotype or couldn't find any data\n    // it gets turned into linear in gd._fullLayout but not copied back\n    // to gd.data like the others are.\n    values: [\"-\", \"linear\", \"log\", \"date\", \"category\", \"multicategory\"],\n    dflt: \"-\",\n    editType: \"calc\",\n    // we forget when an axis has been autotyped, just writing the auto\n    // value back to the input - so it doesn't make sense to template this.\n    // Note: we do NOT prohibit this in `coerce`, so if someone enters a\n    // type in the template explicitly it will be honored as the default.\n    _noTemplating: !0,\n    description: [\n      \"Sets the axis type.\",\n      \"By default, plotly attempts to determined the axis type\",\n      \"by looking into the data of the traces that referenced\",\n      \"the axis in question.\"\n    ].join(\" \")\n  },\n  autotypenumbers: {\n    valType: \"enumerated\",\n    values: [\"convert types\", \"strict\"],\n    dflt: \"convert types\",\n    editType: \"calc\",\n    description: [\n      \"Using *strict* a numeric string in trace data is not converted to a number.\",\n      \"Using *convert types* a numeric string in trace data may be\",\n      \"treated as a number during automatic axis `type` detection.\",\n      \"Defaults to layout.autotypenumbers.\"\n    ].join(\" \")\n  },\n  autorange: {\n    valType: \"enumerated\",\n    values: [!0, !1, \"reversed\", \"min reversed\", \"max reversed\", \"min\", \"max\"],\n    dflt: !0,\n    editType: \"axrange\",\n    impliedEdits: { \"range[0]\": void 0, \"range[1]\": void 0 },\n    description: [\n      \"Determines whether or not the range of this axis is\",\n      \"computed in relation to the input data.\",\n      \"See `rangemode` for more info.\",\n      \"If `range` is provided and it has a value for both the\",\n      \"lower and upper bound, `autorange` is set to *false*.\",\n      \"Using *min* applies autorange only to set the minimum.\",\n      \"Using *max* applies autorange only to set the maximum.\",\n      \"Using *min reversed* applies autorange only to set the minimum on a reversed axis.\",\n      \"Using *max reversed* applies autorange only to set the maximum on a reversed axis.\",\n      \"Using *reversed* applies autorange on both ends and reverses the axis direction.\"\n    ].join(\" \")\n  },\n  autorangeoptions: {\n    minallowed: {\n      valType: \"any\",\n      editType: \"plot\",\n      impliedEdits: { \"range[0]\": void 0, \"range[1]\": void 0 },\n      description: [\n        \"Use this value exactly as autorange minimum.\"\n      ].join(\" \")\n    },\n    maxallowed: {\n      valType: \"any\",\n      editType: \"plot\",\n      impliedEdits: { \"range[0]\": void 0, \"range[1]\": void 0 },\n      description: [\n        \"Use this value exactly as autorange maximum.\"\n      ].join(\" \")\n    },\n    clipmin: {\n      valType: \"any\",\n      editType: \"plot\",\n      impliedEdits: { \"range[0]\": void 0, \"range[1]\": void 0 },\n      description: [\n        \"Clip autorange minimum if it goes beyond this value.\",\n        \"Has no effect when `autorangeoptions.minallowed` is provided.\"\n      ].join(\" \")\n    },\n    clipmax: {\n      valType: \"any\",\n      editType: \"plot\",\n      impliedEdits: { \"range[0]\": void 0, \"range[1]\": void 0 },\n      description: [\n        \"Clip autorange maximum if it goes beyond this value.\",\n        \"Has no effect when `autorangeoptions.maxallowed` is provided.\"\n      ].join(\" \")\n    },\n    include: {\n      valType: \"any\",\n      arrayOk: !0,\n      editType: \"plot\",\n      impliedEdits: { \"range[0]\": void 0, \"range[1]\": void 0 },\n      description: [\n        \"Ensure this value is included in autorange.\"\n      ].join(\" \")\n    },\n    editType: \"plot\"\n  },\n  rangemode: {\n    valType: \"enumerated\",\n    values: [\"normal\", \"tozero\", \"nonnegative\"],\n    dflt: \"normal\",\n    editType: \"plot\",\n    description: [\n      \"If *normal*, the range is computed in relation to the extrema\",\n      \"of the input data.\",\n      \"If *tozero*`, the range extends to 0,\",\n      \"regardless of the input data\",\n      \"If *nonnegative*, the range is non-negative,\",\n      \"regardless of the input data.\",\n      \"Applies only to linear axes.\"\n    ].join(\" \")\n  },\n  range: {\n    valType: \"info_array\",\n    items: [\n      { valType: \"any\", editType: \"axrange\", impliedEdits: { \"^autorange\": !1 }, anim: !0 },\n      { valType: \"any\", editType: \"axrange\", impliedEdits: { \"^autorange\": !1 }, anim: !0 }\n    ],\n    editType: \"axrange\",\n    impliedEdits: { autorange: !1 },\n    anim: !0,\n    description: [\n      \"Sets the range of this axis.\",\n      \"If the axis `type` is *log*, then you must take the log of your\",\n      \"desired range (e.g. to set the range from 1 to 100,\",\n      \"set the range from 0 to 2).\",\n      \"If the axis `type` is *date*, it should be date strings,\",\n      \"like date data, though Date objects and unix milliseconds\",\n      \"will be accepted and converted to strings.\",\n      \"If the axis `type` is *category*, it should be numbers,\",\n      \"using the scale where each category is assigned a serial\",\n      \"number from zero in the order it appears.\",\n      \"Leaving either or both elements `null` impacts the default `autorange`.\"\n    ].join(\" \")\n  },\n  minallowed: {\n    valType: \"any\",\n    editType: \"plot\",\n    impliedEdits: { \"^autorange\": !1 },\n    description: [\n      \"Determines the minimum range of this axis.\"\n    ].join(\" \")\n  },\n  maxallowed: {\n    valType: \"any\",\n    editType: \"plot\",\n    impliedEdits: { \"^autorange\": !1 },\n    description: [\n      \"Determines the maximum range of this axis.\"\n    ].join(\" \")\n  },\n  fixedrange: {\n    valType: \"boolean\",\n    dflt: !1,\n    editType: \"calc\",\n    description: [\n      \"Determines whether or not this axis is zoom-able.\",\n      \"If true, then zoom is disabled.\"\n    ].join(\" \")\n  },\n  insiderange: {\n    valType: \"info_array\",\n    items: [\n      { valType: \"any\", editType: \"plot\" },\n      { valType: \"any\", editType: \"plot\" }\n    ],\n    editType: \"plot\",\n    description: [\n      \"Could be used to set the desired inside range of this axis\",\n      \"(excluding the labels) when `ticklabelposition` of\",\n      \"the anchored axis has *inside*.\",\n      \"Not implemented for axes with `type` *log*.\",\n      \"This would be ignored when `range` is provided.\"\n    ].join(\" \")\n  },\n  // scaleanchor: not used directly, just put here for reference\n  // values are any opposite-letter axis id, or `false`.\n  scaleanchor: {\n    valType: \"enumerated\",\n    values: [\n      Fi.idRegex.x.toString(),\n      Fi.idRegex.y.toString(),\n      !1\n    ],\n    editType: \"plot\",\n    description: [\n      \"If set to another axis id (e.g. `x2`, `y`), the range of this axis\",\n      \"changes together with the range of the corresponding axis\",\n      \"such that the scale of pixels per unit is in a constant ratio.\",\n      \"Both axes are still zoomable, but when you zoom one, the other will\",\n      \"zoom the same amount, keeping a fixed midpoint.\",\n      \"`constrain` and `constraintoward` determine how we enforce the constraint.\",\n      \"You can chain these, ie `yaxis: {scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}`\",\n      \"but you can only link axes of the same `type`.\",\n      \"The linked axis can have the opposite letter (to constrain the aspect ratio)\",\n      \"or the same letter (to match scales across subplots).\",\n      \"Loops (`yaxis: {scaleanchor: *x*}, xaxis: {scaleanchor: *y*}` or longer) are redundant\",\n      \"and the last constraint encountered will be ignored to avoid possible\",\n      \"inconsistent constraints via `scaleratio`.\",\n      \"Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint\",\n      \"is currently forbidden.\",\n      \"Setting `false` allows to remove a default constraint (occasionally,\",\n      \"you may need to prevent a default `scaleanchor` constraint from\",\n      'being applied, eg. when having an image trace `yaxis: {scaleanchor: \"x\"}`',\n      \"is set automatically in order for pixels to be rendered as squares,\",\n      \"setting `yaxis: {scaleanchor: false}` allows to remove the constraint).\"\n    ].join(\" \")\n  },\n  scaleratio: {\n    valType: \"number\",\n    min: 0,\n    dflt: 1,\n    editType: \"plot\",\n    description: [\n      \"If this axis is linked to another by `scaleanchor`, this determines the pixel\",\n      \"to unit scale ratio. For example, if this value is 10, then every unit on\",\n      \"this axis spans 10 times the number of pixels as a unit on the linked axis.\",\n      \"Use this for example to create an elevation profile where the vertical scale\",\n      \"is exaggerated a fixed amount with respect to the horizontal.\"\n    ].join(\" \")\n  },\n  constrain: {\n    valType: \"enumerated\",\n    values: [\"range\", \"domain\"],\n    editType: \"plot\",\n    description: [\n      \"If this axis needs to be compressed (either due to its own `scaleanchor` and\",\n      \"`scaleratio` or those of the other axis), determines how that happens:\",\n      \"by increasing the *range*, or by decreasing the *domain*.\",\n      \"Default is *domain* for axes containing image traces, *range* otherwise.\"\n    ].join(\" \")\n  },\n  // constraintoward: not used directly, just put here for reference\n  constraintoward: {\n    valType: \"enumerated\",\n    values: [\"left\", \"center\", \"right\", \"top\", \"middle\", \"bottom\"],\n    editType: \"plot\",\n    description: [\n      \"If this axis needs to be compressed (either due to its own `scaleanchor` and\",\n      \"`scaleratio` or those of the other axis), determines which direction we push\",\n      \"the originally specified plot area. Options are *left*, *center* (default),\",\n      \"and *right* for x axes, and *top*, *middle* (default), and *bottom* for y axes.\"\n    ].join(\" \")\n  },\n  matches: {\n    valType: \"enumerated\",\n    values: [\n      Fi.idRegex.x.toString(),\n      Fi.idRegex.y.toString()\n    ],\n    editType: \"calc\",\n    description: [\n      \"If set to another axis id (e.g. `x2`, `y`), the range of this axis\",\n      \"will match the range of the corresponding axis in data-coordinates space.\",\n      \"Moreover, matching axes share auto-range values, category lists and\",\n      \"histogram auto-bins.\",\n      \"Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint\",\n      \"is currently forbidden.\",\n      \"Moreover, note that matching axes must have the same `type`.\"\n    ].join(\" \")\n  },\n  rangebreaks: W2(\"rangebreak\", {\n    enabled: {\n      valType: \"boolean\",\n      dflt: !0,\n      editType: \"calc\",\n      description: [\n        \"Determines whether this axis rangebreak is enabled or disabled.\",\n        \"Please note that `rangebreaks` only work for *date* axis type.\"\n      ].join(\" \")\n    },\n    bounds: {\n      valType: \"info_array\",\n      items: [\n        { valType: \"any\", editType: \"calc\" },\n        { valType: \"any\", editType: \"calc\" }\n      ],\n      editType: \"calc\",\n      description: [\n        \"Sets the lower and upper bounds of this axis rangebreak.\",\n        \"Can be used with `pattern`.\"\n      ].join(\" \")\n    },\n    pattern: {\n      valType: \"enumerated\",\n      values: [Jm, Km, \"\"],\n      editType: \"calc\",\n      description: [\n        \"Determines a pattern on the time line that generates breaks.\",\n        \"If *\" + Jm + \"* - days of the week in English e.g. 'Sunday' or `sun`\",\n        \"(matching is case-insensitive and considers only the first three characters),\",\n        \"as well as Sunday-based integers between 0 and 6.\",\n        \"If *\" + Km + \"* - hour (24-hour clock) as decimal numbers between 0 and 24.\",\n        \"for more info.\",\n        \"Examples:\",\n        \"- { pattern: '\" + Jm + \"', bounds: [6, 1] }\",\n        \" or simply { bounds: ['sat', 'mon'] }\",\n        \"  breaks from Saturday to Monday (i.e. skips the weekends).\",\n        \"- { pattern: '\" + Km + \"', bounds: [17, 8] }\",\n        \"  breaks from 5pm to 8am (i.e. skips non-work hours).\"\n      ].join(\" \")\n    },\n    values: {\n      valType: \"info_array\",\n      freeLength: !0,\n      editType: \"calc\",\n      items: {\n        valType: \"any\",\n        editType: \"calc\"\n      },\n      description: [\n        \"Sets the coordinate values corresponding to the rangebreaks.\",\n        \"An alternative to `bounds`.\",\n        \"Use `dvalue` to set the size of the values along the axis.\"\n      ].join(\" \")\n    },\n    dvalue: {\n      // TODO could become 'any' to add support for 'months', 'years'\n      valType: \"number\",\n      editType: \"calc\",\n      min: 0,\n      dflt: dW,\n      description: [\n        \"Sets the size of each `values` item.\",\n        \"The default is one day in milliseconds.\"\n      ].join(\" \")\n    },\n    /*\n    gap: {\n        valType: 'number',\n        min: 0,\n        dflt: 0, // for *date* axes, maybe something else for *linear*\n        editType: 'calc',\n        description: [\n            'Sets the gap distance between the start and the end of this rangebreak.',\n            'Use with `gapmode` to set the unit of measurement.'\n        ].join(' ')\n    },\n    gapmode: {\n        valType: 'enumerated',\n        values: ['pixels', 'fraction'],\n        dflt: 'pixels',\n        editType: 'calc',\n        description: [\n            'Determines if the `gap` value corresponds to a pixel length',\n            'or a fraction of the plot area.'\n        ].join(' ')\n    },\n    */\n    // To complete https://github.com/plotly/plotly.js/issues/4210\n    // we additionally need `gap` and make this work on *linear*, and\n    // possibly all other cartesian axis types. We possibly would also need\n    // some style attributes controlling the zig-zag on the corresponding\n    // axis.\n    editType: \"calc\"\n  }),\n  // ticks\n  tickmode: hW,\n  nticks: Y2(),\n  tick0: X2,\n  dtick: K2,\n  ticklabelstep: {\n    valType: \"integer\",\n    min: 1,\n    dflt: 1,\n    editType: \"ticks\",\n    description: [\n      \"Sets the spacing between tick labels as compared to the spacing between ticks.\",\n      \"A value of 1 (default) means each tick gets a label.\",\n      \"A value of 2 means shows every 2nd label.\",\n      \"A larger value n means only every nth tick is labeled.\",\n      \"`tick0` determines which labels are shown.\",\n      \"Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.\"\n    ].join(\" \")\n  },\n  tickvals: J2,\n  ticktext: {\n    valType: \"data_array\",\n    editType: \"ticks\",\n    description: [\n      \"Sets the text displayed at the ticks position via `tickvals`.\",\n      \"Only has an effect if `tickmode` is set to *array*.\",\n      \"Used with `tickvals`.\"\n    ].join(\" \")\n  },\n  ticks: Q2,\n  tickson: {\n    valType: \"enumerated\",\n    values: [\"labels\", \"boundaries\"],\n    dflt: \"labels\",\n    editType: \"ticks\",\n    description: [\n      \"Determines where ticks and grid lines are drawn with respect to their\",\n      \"corresponding tick labels.\",\n      \"Only has an effect for axes of `type` *category* or *multicategory*.\",\n      \"When set to *boundaries*, ticks and grid lines are drawn half a category\",\n      \"to the left/bottom of labels.\"\n    ].join(\" \")\n  },\n  ticklabelmode: {\n    valType: \"enumerated\",\n    values: [\"instant\", \"period\"],\n    dflt: \"instant\",\n    editType: \"ticks\",\n    description: [\n      \"Determines where tick labels are drawn with respect to their\",\n      \"corresponding ticks and grid lines.\",\n      \"Only has an effect for axes of `type` *date*\",\n      \"When set to *period*, tick labels are drawn in the middle of the period\",\n      \"between ticks.\"\n    ].join(\" \")\n  },\n  // ticklabelposition: not used directly, as values depend on direction (similar to side)\n  // left/right options are for x axes, and top/bottom options are for y axes\n  ticklabelposition: {\n    valType: \"enumerated\",\n    values: [\n      \"outside\",\n      \"inside\",\n      \"outside top\",\n      \"inside top\",\n      \"outside left\",\n      \"inside left\",\n      \"outside right\",\n      \"inside right\",\n      \"outside bottom\",\n      \"inside bottom\"\n    ],\n    dflt: \"outside\",\n    editType: \"calc\",\n    description: [\n      \"Determines where tick labels are drawn with respect to the axis\",\n      \"Please note that\",\n      \"top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*.\",\n      \"Similarly\",\n      \"left or right has no effect on y axes or when `ticklabelmode` is set to *period*.\",\n      \"Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*.\",\n      \"When used on axes linked by `matches` or `scaleanchor`,\",\n      \"no extra padding for inside labels would be added by autorange,\",\n      \"so that the scales could match.\"\n    ].join(\" \")\n  },\n  ticklabeloverflow: {\n    valType: \"enumerated\",\n    values: [\n      \"allow\",\n      \"hide past div\",\n      \"hide past domain\"\n    ],\n    editType: \"calc\",\n    description: [\n      \"Determines how we handle tick labels that would overflow either the graph div or the domain of the axis.\",\n      \"The default value for inside tick labels is *hide past domain*.\",\n      \"Otherwise on *category* and *multicategory* axes the default is *allow*.\",\n      \"In other cases the default is *hide past div*.\"\n    ].join(\" \")\n  },\n  mirror: {\n    valType: \"enumerated\",\n    values: [!0, \"ticks\", !1, \"all\", \"allticks\"],\n    dflt: !1,\n    editType: \"ticks+layoutstyle\",\n    description: [\n      \"Determines if the axis lines or/and ticks are mirrored to\",\n      \"the opposite side of the plotting area.\",\n      \"If *true*, the axis lines are mirrored.\",\n      \"If *ticks*, the axis lines and ticks are mirrored.\",\n      \"If *false*, mirroring is disable.\",\n      \"If *all*, axis lines are mirrored on all shared-axes subplots.\",\n      \"If *allticks*, axis lines and ticks are mirrored\",\n      \"on all shared-axes subplots.\"\n    ].join(\" \")\n  },\n  ticklen: eT(),\n  tickwidth: tT(),\n  tickcolor: rT,\n  showticklabels: {\n    valType: \"boolean\",\n    dflt: !0,\n    editType: \"ticks\",\n    description: \"Determines whether or not the tick labels are drawn.\"\n  },\n  labelalias: {\n    valType: \"any\",\n    dflt: !1,\n    editType: \"ticks\",\n    description: [\n      \"Replacement text for specific tick or hover labels.\",\n      \"For example using {US: 'USA', CA: 'Canada'} changes US to USA\",\n      \"and CA to Canada. The labels we would have shown must match\",\n      \"the keys exactly, after adding any tickprefix or ticksuffix.\",\n      \"For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash.\",\n      \"That means you need to use −1 instead of -1.\",\n      \"labelalias can be used with any axis type, and both keys (if needed)\",\n      \"and values (if desired) can include html-like tags or MathJax.\"\n    ].join(\" \")\n  },\n  automargin: {\n    valType: \"flaglist\",\n    flags: [\"height\", \"width\", \"left\", \"right\", \"top\", \"bottom\"],\n    extras: [!0, !1],\n    dflt: !1,\n    editType: \"ticks\",\n    description: [\n      \"Determines whether long tick labels automatically grow the figure\",\n      \"margins.\"\n    ].join(\" \")\n  },\n  showspikes: {\n    valType: \"boolean\",\n    dflt: !1,\n    editType: \"modebar\",\n    description: [\n      \"Determines whether or not spikes (aka droplines) are drawn for this axis.\",\n      \"Note: This only takes affect when hovermode = closest\"\n    ].join(\" \")\n  },\n  spikecolor: {\n    valType: \"color\",\n    dflt: null,\n    editType: \"none\",\n    description: \"Sets the spike color. If undefined, will use the series color\"\n  },\n  spikethickness: {\n    valType: \"number\",\n    dflt: 3,\n    editType: \"none\",\n    description: \"Sets the width (in px) of the zero line.\"\n  },\n  spikedash: db({}, f4, { dflt: \"dash\", editType: \"none\" }),\n  spikemode: {\n    valType: \"flaglist\",\n    flags: [\"toaxis\", \"across\", \"marker\"],\n    dflt: \"toaxis\",\n    editType: \"none\",\n    description: [\n      \"Determines the drawing mode for the spike line\",\n      \"If *toaxis*, the line is drawn from the data point to the axis the \",\n      \"series is plotted on.\",\n      \"If *across*, the line is drawn across the entire plot area, and\",\n      \"supercedes *toaxis*.\",\n      \"If *marker*, then a marker dot is drawn on the axis the series is\",\n      \"plotted on\"\n    ].join(\" \")\n  },\n  spikesnap: {\n    valType: \"enumerated\",\n    values: [\"data\", \"cursor\", \"hovered data\"],\n    dflt: \"hovered data\",\n    editType: \"none\",\n    description: \"Determines whether spikelines are stuck to the cursor or to the closest datapoints.\"\n  },\n  tickfont: Xm({\n    editType: \"ticks\",\n    description: \"Sets the tick font.\"\n  }),\n  tickangle: {\n    valType: \"angle\",\n    dflt: \"auto\",\n    editType: \"ticks\",\n    description: [\n      \"Sets the angle of the tick labels with respect to the horizontal.\",\n      \"For example, a `tickangle` of -90 draws the tick labels\",\n      \"vertically.\"\n    ].join(\" \")\n  },\n  tickprefix: {\n    valType: \"string\",\n    dflt: \"\",\n    editType: \"ticks\",\n    description: \"Sets a tick label prefix.\"\n  },\n  showtickprefix: {\n    valType: \"enumerated\",\n    values: [\"all\", \"first\", \"last\", \"none\"],\n    dflt: \"all\",\n    editType: \"ticks\",\n    description: [\n      \"If *all*, all tick labels are displayed with a prefix.\",\n      \"If *first*, only the first tick is displayed with a prefix.\",\n      \"If *last*, only the last tick is displayed with a suffix.\",\n      \"If *none*, tick prefixes are hidden.\"\n    ].join(\" \")\n  },\n  ticksuffix: {\n    valType: \"string\",\n    dflt: \"\",\n    editType: \"ticks\",\n    description: \"Sets a tick label suffix.\"\n  },\n  showticksuffix: {\n    valType: \"enumerated\",\n    values: [\"all\", \"first\", \"last\", \"none\"],\n    dflt: \"all\",\n    editType: \"ticks\",\n    description: \"Same as `showtickprefix` but for tick suffixes.\"\n  },\n  showexponent: {\n    valType: \"enumerated\",\n    values: [\"all\", \"first\", \"last\", \"none\"],\n    dflt: \"all\",\n    editType: \"ticks\",\n    description: [\n      \"If *all*, all exponents are shown besides their significands.\",\n      \"If *first*, only the exponent of the first tick is shown.\",\n      \"If *last*, only the exponent of the last tick is shown.\",\n      \"If *none*, no exponents appear.\"\n    ].join(\" \")\n  },\n  exponentformat: {\n    valType: \"enumerated\",\n    values: [\"none\", \"e\", \"E\", \"power\", \"SI\", \"B\"],\n    dflt: \"B\",\n    editType: \"ticks\",\n    description: [\n      \"Determines a formatting rule for the tick exponents.\",\n      \"For example, consider the number 1,000,000,000.\",\n      \"If *none*, it appears as 1,000,000,000.\",\n      \"If *e*, 1e+9.\",\n      \"If *E*, 1E+9.\",\n      \"If *power*, 1x10^9 (with 9 in a super script).\",\n      \"If *SI*, 1G.\",\n      \"If *B*, 1B.\"\n    ].join(\" \")\n  },\n  minexponent: {\n    valType: \"number\",\n    dflt: 3,\n    min: 0,\n    editType: \"ticks\",\n    description: [\n      \"Hide SI prefix for 10^n if |n| is below this number.\",\n      \"This only has an effect when `tickformat` is *SI* or *B*.\"\n    ].join(\" \")\n  },\n  separatethousands: {\n    valType: \"boolean\",\n    dflt: !1,\n    editType: \"ticks\",\n    description: [\n      'If \"true\", even 4-digit integers are separated'\n    ].join(\" \")\n  },\n  tickformat: {\n    valType: \"string\",\n    dflt: \"\",\n    editType: \"ticks\",\n    description: Z2(\"tick label\")\n  },\n  tickformatstops: W2(\"tickformatstop\", {\n    enabled: {\n      valType: \"boolean\",\n      dflt: !0,\n      editType: \"ticks\",\n      description: [\n        \"Determines whether or not this stop is used.\",\n        \"If `false`, this stop is ignored even within its `dtickrange`.\"\n      ].join(\" \")\n    },\n    dtickrange: {\n      valType: \"info_array\",\n      items: [\n        { valType: \"any\", editType: \"ticks\" },\n        { valType: \"any\", editType: \"ticks\" }\n      ],\n      editType: \"ticks\",\n      description: [\n        \"range [*min*, *max*], where *min*, *max* - dtick values\",\n        \"which describe some zoom level, it is possible to omit *min*\",\n        \"or *max* value by passing *null*\"\n      ].join(\" \")\n    },\n    value: {\n      valType: \"string\",\n      dflt: \"\",\n      editType: \"ticks\",\n      description: [\n        \"string - dtickformat for described zoom level, the same as *tickformat*\"\n      ].join(\" \")\n    },\n    editType: \"ticks\"\n  }),\n  hoverformat: {\n    valType: \"string\",\n    dflt: \"\",\n    editType: \"none\",\n    description: Z2(\"hover text\")\n  },\n  // lines and grids\n  showline: {\n    valType: \"boolean\",\n    dflt: !1,\n    editType: \"ticks+layoutstyle\",\n    description: [\n      \"Determines whether or not a line bounding this axis is drawn.\"\n    ].join(\" \")\n  },\n  linecolor: {\n    valType: \"color\",\n    dflt: uu.defaultLine,\n    editType: \"layoutstyle\",\n    description: \"Sets the axis line color.\"\n  },\n  linewidth: {\n    valType: \"number\",\n    min: 0,\n    dflt: 1,\n    editType: \"ticks+layoutstyle\",\n    description: \"Sets the width (in px) of the axis line.\"\n  },\n  showgrid: oT,\n  gridcolor: nT,\n  gridwidth: aT(),\n  griddash: iT,\n  zeroline: {\n    valType: \"boolean\",\n    editType: \"ticks\",\n    description: [\n      \"Determines whether or not a line is drawn at along the 0 value\",\n      \"of this axis.\",\n      \"If *true*, the zero line is drawn on top of the grid lines.\"\n    ].join(\" \")\n  },\n  zerolinecolor: {\n    valType: \"color\",\n    dflt: uu.defaultLine,\n    editType: \"ticks\",\n    description: \"Sets the line color of the zero line.\"\n  },\n  zerolinewidth: {\n    valType: \"number\",\n    dflt: 1,\n    editType: \"ticks\",\n    description: \"Sets the width (in px) of the zero line.\"\n  },\n  showdividers: {\n    valType: \"boolean\",\n    dflt: !0,\n    editType: \"ticks\",\n    description: [\n      \"Determines whether or not a dividers are drawn\",\n      \"between the category levels of this axis.\",\n      \"Only has an effect on *multicategory* axes.\"\n    ].join(\" \")\n  },\n  dividercolor: {\n    valType: \"color\",\n    dflt: uu.defaultLine,\n    editType: \"ticks\",\n    description: [\n      \"Sets the color of the dividers\",\n      \"Only has an effect on *multicategory* axes.\"\n    ].join(\" \")\n  },\n  dividerwidth: {\n    valType: \"number\",\n    dflt: 1,\n    editType: \"ticks\",\n    description: [\n      \"Sets the width (in px) of the dividers\",\n      \"Only has an effect on *multicategory* axes.\"\n    ].join(\" \")\n  },\n  // TODO dividerlen: that would override \"to label base\" length?\n  // positioning attributes\n  // anchor: not used directly, just put here for reference\n  // values are any opposite-letter axis id\n  anchor: {\n    valType: \"enumerated\",\n    values: [\n      \"free\",\n      Fi.idRegex.x.toString(),\n      Fi.idRegex.y.toString()\n    ],\n    editType: \"plot\",\n    description: [\n      \"If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to\",\n      \"the corresponding opposite-letter axis.\",\n      \"If set to *free*, this axis' position is determined by `position`.\"\n    ].join(\" \")\n  },\n  // side: not used directly, as values depend on direction\n  // values are top, bottom for x axes, and left, right for y\n  side: {\n    valType: \"enumerated\",\n    values: [\"top\", \"bottom\", \"left\", \"right\"],\n    editType: \"plot\",\n    description: [\n      \"Determines whether a x (y) axis is positioned\",\n      \"at the *bottom* (*left*) or *top* (*right*)\",\n      \"of the plotting area.\"\n    ].join(\" \")\n  },\n  // overlaying: not used directly, just put here for reference\n  // values are false and any other same-letter axis id that's not\n  // itself overlaying anything\n  overlaying: {\n    valType: \"enumerated\",\n    values: [\n      \"free\",\n      Fi.idRegex.x.toString(),\n      Fi.idRegex.y.toString()\n    ],\n    editType: \"plot\",\n    description: [\n      \"If set a same-letter axis id, this axis is overlaid on top of\",\n      \"the corresponding same-letter axis, with traces and axes visible for both\",\n      \"axes.\",\n      \"If *false*, this axis does not overlay any same-letter axes.\",\n      \"In this case, for axes with overlapping domains only the highest-numbered\",\n      \"axis will be visible.\"\n    ].join(\" \")\n  },\n  minor: {\n    tickmode: $h,\n    nticks: Y2(\"minor\"),\n    tick0: X2,\n    dtick: K2,\n    tickvals: J2,\n    ticks: Q2,\n    ticklen: eT(\"minor\"),\n    tickwidth: tT(\"minor\"),\n    tickcolor: rT,\n    gridcolor: nT,\n    gridwidth: aT(\"minor\"),\n    griddash: iT,\n    showgrid: oT,\n    editType: \"ticks\"\n  },\n  layer: {\n    valType: \"enumerated\",\n    values: [\"above traces\", \"below traces\"],\n    dflt: \"above traces\",\n    editType: \"plot\",\n    description: [\n      \"Sets the layer on which this axis is displayed.\",\n      \"If *above traces*, this axis is displayed above all the subplot's traces\",\n      \"If *below traces*, this axis is displayed below all the subplot's traces,\",\n      \"but above the grid lines.\",\n      \"Useful when used together with scatter-like traces with `cliponaxis`\",\n      \"set to *false* to show markers and/or text nodes above this axis.\"\n    ].join(\" \")\n  },\n  domain: {\n    valType: \"info_array\",\n    items: [\n      { valType: \"number\", min: 0, max: 1, editType: \"plot\" },\n      { valType: \"number\", min: 0, max: 1, editType: \"plot\" }\n    ],\n    dflt: [0, 1],\n    editType: \"plot\",\n    description: [\n      \"Sets the domain of this axis (in plot fraction).\"\n    ].join(\" \")\n  },\n  position: {\n    valType: \"number\",\n    min: 0,\n    max: 1,\n    dflt: 0,\n    editType: \"plot\",\n    description: [\n      \"Sets the position of this axis in the plotting space\",\n      \"(in normalized coordinates).\",\n      \"Only has an effect if `anchor` is set to *free*.\"\n    ].join(\" \")\n  },\n  autoshift: {\n    valType: \"boolean\",\n    dflt: !1,\n    editType: \"plot\",\n    description: [\n      \"Automatically reposition the axis to avoid\",\n      \"overlap with other axes with the same `overlaying` value.\",\n      \"This repositioning will account for any `shift` amount applied to other\",\n      \"axes on the same side with `autoshift` is set to true.\",\n      \"Only has an effect if `anchor` is set to *free*.\"\n    ].join(\" \")\n  },\n  shift: {\n    valType: \"number\",\n    editType: \"plot\",\n    description: [\n      \"Moves the axis a given number of pixels from where it would have been otherwise.\",\n      \"Accepts both positive and negative values, which will shift the axis either right\",\n      \"or left, respectively.\",\n      \"If `autoshift` is set to true, then this defaults to a padding of -3 if `side` is set to *left*.\",\n      \"and defaults to +3 if `side` is set to *right*. Defaults to 0 if `autoshift` is set to false.\",\n      \"Only has an effect if `anchor` is set to *free*.\"\n    ].join(\" \")\n  },\n  categoryorder: {\n    valType: \"enumerated\",\n    values: [\n      \"trace\",\n      \"category ascending\",\n      \"category descending\",\n      \"array\",\n      \"total ascending\",\n      \"total descending\",\n      \"min ascending\",\n      \"min descending\",\n      \"max ascending\",\n      \"max descending\",\n      \"sum ascending\",\n      \"sum descending\",\n      \"mean ascending\",\n      \"mean descending\",\n      \"median ascending\",\n      \"median descending\"\n    ],\n    dflt: \"trace\",\n    editType: \"calc\",\n    description: [\n      \"Specifies the ordering logic for the case of categorical variables.\",\n      \"By default, plotly uses *trace*, which specifies the order that is present in the data supplied.\",\n      \"Set `categoryorder` to *category ascending* or *category descending* if order should be determined by\",\n      \"the alphanumerical order of the category names.\",\n      \"Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category\",\n      \"is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to\",\n      \"the *trace* mode. The unspecified categories will follow the categories in `categoryarray`.\",\n      \"Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the\",\n      \"numerical order of the values.\",\n      \"Similarly, the order can be determined by the min, max, sum, mean or median of all the values.\"\n    ].join(\" \")\n  },\n  categoryarray: {\n    valType: \"data_array\",\n    editType: \"calc\",\n    description: [\n      \"Sets the order in which categories on this axis appear.\",\n      \"Only has an effect if `categoryorder` is set to *array*.\",\n      \"Used with `categoryorder`.\"\n    ].join(\" \")\n  },\n  uirevision: {\n    valType: \"any\",\n    editType: \"none\",\n    description: [\n      \"Controls persistence of user-driven changes in axis `range`,\",\n      \"`autorange`, and `title` if in `editable: true` configuration.\",\n      \"Defaults to `layout.uirevision`.\"\n    ].join(\" \")\n  },\n  editType: \"calc\",\n  _deprecated: {\n    autotick: {\n      valType: \"boolean\",\n      editType: \"ticks\",\n      description: [\n        \"Obsolete.\",\n        \"Set `tickmode` to *auto* for old `autotick` *true* behavior.\",\n        \"Set `tickmode` to *linear* for `autotick` *false*.\"\n      ].join(\" \")\n    },\n    title: {\n      valType: \"string\",\n      editType: \"ticks\",\n      description: [\n        \"Value of `title` is no longer a simple *string* but a set of sub-attributes.\",\n        \"To set the axis' title, please use `title.text` now.\"\n      ].join(\" \")\n    },\n    titlefont: Xm({\n      editType: \"ticks\",\n      description: [\n        \"Former `titlefont` is now the sub-attribute `font` of `title`.\",\n        \"To customize title font properties, please use `title.font` now.\"\n      ].join(\" \")\n    })\n  }\n}, Ir = Ki, Qm = Fn, lT = en.extendFlat, vW = Lo.overrideAll, hb = vW({\n  orientation: {\n    valType: \"enumerated\",\n    values: [\"h\", \"v\"],\n    dflt: \"v\",\n    description: \"Sets the orientation of the colorbar.\"\n  },\n  thicknessmode: {\n    valType: \"enumerated\",\n    values: [\"fraction\", \"pixels\"],\n    dflt: \"pixels\",\n    description: [\n      \"Determines whether this color bar's thickness\",\n      \"(i.e. the measure in the constant color direction)\",\n      \"is set in units of plot *fraction* or in *pixels*.\",\n      \"Use `thickness` to set the value.\"\n    ].join(\" \")\n  },\n  thickness: {\n    valType: \"number\",\n    min: 0,\n    dflt: 30,\n    description: [\n      \"Sets the thickness of the color bar\",\n      \"This measure excludes the size of the padding, ticks and labels.\"\n    ].join(\" \")\n  },\n  lenmode: {\n    valType: \"enumerated\",\n    values: [\"fraction\", \"pixels\"],\n    dflt: \"fraction\",\n    description: [\n      \"Determines whether this color bar's length\",\n      \"(i.e. the measure in the color variation direction)\",\n      \"is set in units of plot *fraction* or in *pixels.\",\n      \"Use `len` to set the value.\"\n    ].join(\" \")\n  },\n  len: {\n    valType: \"number\",\n    min: 0,\n    dflt: 1,\n    description: [\n      \"Sets the length of the color bar\",\n      \"This measure excludes the padding of both ends.\",\n      \"That is, the color bar length is this length minus the\",\n      \"padding on both ends.\"\n    ].join(\" \")\n  },\n  x: {\n    valType: \"number\",\n    description: [\n      \"Sets the x position with respect to `xref` of the color bar (in plot fraction).\",\n      \"When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and\",\n      \"0.5 when `orientation` is *h*.\",\n      \"When `xref` is *container*, defaults to *1* when `orientation` is *v* and\",\n      \"0.5 when `orientation` is *h*.\",\n      \"Must be between *0* and *1* if `xref` is *container*\",\n      \"and between *-2* and *3* if `xref` is *paper*.\"\n    ].join(\" \")\n  },\n  xref: {\n    valType: \"enumerated\",\n    dflt: \"paper\",\n    values: [\"container\", \"paper\"],\n    editType: \"layoutstyle\",\n    description: [\n      \"Sets the container `x` refers to.\",\n      \"*container* spans the entire `width` of the plot.\",\n      \"*paper* refers to the width of the plotting area only.\"\n    ].join(\" \")\n  },\n  xanchor: {\n    valType: \"enumerated\",\n    values: [\"left\", \"center\", \"right\"],\n    description: [\n      \"Sets this color bar's horizontal position anchor.\",\n      \"This anchor binds the `x` position to the *left*, *center*\",\n      \"or *right* of the color bar.\",\n      \"Defaults to *left* when `orientation` is *v* and\",\n      \"*center* when `orientation` is *h*.\"\n    ].join(\" \")\n  },\n  xpad: {\n    valType: \"number\",\n    min: 0,\n    dflt: 10,\n    description: \"Sets the amount of padding (in px) along the x direction.\"\n  },\n  y: {\n    valType: \"number\",\n    description: [\n      \"Sets the y position with respect to `yref` of the color bar (in plot fraction).\",\n      \"When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and\",\n      \"1.02 when `orientation` is *h*.\",\n      \"When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and\",\n      \"1 when `orientation` is *h*.\",\n      \"Must be between *0* and *1* if `yref` is *container*\",\n      \"and between *-2* and *3* if `yref` is *paper*.\"\n    ].join(\" \")\n  },\n  yref: {\n    valType: \"enumerated\",\n    dflt: \"paper\",\n    values: [\"container\", \"paper\"],\n    editType: \"layoutstyle\",\n    description: [\n      \"Sets the container `y` refers to.\",\n      \"*container* spans the entire `height` of the plot.\",\n      \"*paper* refers to the height of the plotting area only.\"\n    ].join(\" \")\n  },\n  yanchor: {\n    valType: \"enumerated\",\n    values: [\"top\", \"middle\", \"bottom\"],\n    description: [\n      \"Sets this color bar's vertical position anchor\",\n      \"This anchor binds the `y` position to the *top*, *middle*\",\n      \"or *bottom* of the color bar.\",\n      \"Defaults to *middle* when `orientation` is *v* and\",\n      \"*bottom* when `orientation` is *h*.\"\n    ].join(\" \")\n  },\n  ypad: {\n    valType: \"number\",\n    min: 0,\n    dflt: 10,\n    description: \"Sets the amount of padding (in px) along the y direction.\"\n  },\n  // a possible line around the bar itself\n  outlinecolor: Ir.linecolor,\n  outlinewidth: Ir.linewidth,\n  // Should outlinewidth have {dflt: 0} ?\n  // another possible line outside the padding and tick labels\n  bordercolor: Ir.linecolor,\n  borderwidth: {\n    valType: \"number\",\n    min: 0,\n    dflt: 0,\n    description: [\n      \"Sets the width (in px) or the border enclosing this color bar.\"\n    ].join(\" \")\n  },\n  bgcolor: {\n    valType: \"color\",\n    dflt: \"rgba(0,0,0,0)\",\n    description: \"Sets the color of padded area.\"\n  },\n  // tick and title properties named and function exactly as in axes\n  tickmode: Ir.minor.tickmode,\n  nticks: Ir.nticks,\n  tick0: Ir.tick0,\n  dtick: Ir.dtick,\n  tickvals: Ir.tickvals,\n  ticktext: Ir.ticktext,\n  ticks: lT({}, Ir.ticks, { dflt: \"\" }),\n  ticklabeloverflow: lT({}, Ir.ticklabeloverflow, {\n    description: [\n      \"Determines how we handle tick labels that would overflow either the graph div or the domain of the axis.\",\n      \"The default value for inside tick labels is *hide past domain*.\",\n      \"In other cases the default is *hide past div*.\"\n    ].join(\" \")\n  }),\n  // ticklabelposition: not used directly, as values depend on orientation\n  // left/right options are for x axes, and top/bottom options are for y axes\n  ticklabelposition: {\n    valType: \"enumerated\",\n    values: [\n      \"outside\",\n      \"inside\",\n      \"outside top\",\n      \"inside top\",\n      \"outside left\",\n      \"inside left\",\n      \"outside right\",\n      \"inside right\",\n      \"outside bottom\",\n      \"inside bottom\"\n    ],\n    dflt: \"outside\",\n    description: [\n      \"Determines where tick labels are drawn relative to the ticks.\",\n      \"Left and right options are used when `orientation` is *h*,\",\n      \"top and bottom when `orientation` is *v*.\"\n    ].join(\" \")\n  },\n  ticklen: Ir.ticklen,\n  tickwidth: Ir.tickwidth,\n  tickcolor: Ir.tickcolor,\n  ticklabelstep: Ir.ticklabelstep,\n  showticklabels: Ir.showticklabels,\n  labelalias: Ir.labelalias,\n  tickfont: Qm({\n    description: \"Sets the color bar's tick label font\"\n  }),\n  tickangle: Ir.tickangle,\n  tickformat: Ir.tickformat,\n  tickformatstops: Ir.tickformatstops,\n  tickprefix: Ir.tickprefix,\n  showtickprefix: Ir.showtickprefix,\n  ticksuffix: Ir.ticksuffix,\n  showticksuffix: Ir.showticksuffix,\n  separatethousands: Ir.separatethousands,\n  exponentformat: Ir.exponentformat,\n  minexponent: Ir.minexponent,\n  showexponent: Ir.showexponent,\n  title: {\n    text: {\n      valType: \"string\",\n      description: [\n        \"Sets the title of the color bar.\",\n        \"Note that before the existence of `title.text`, the title's\",\n        \"contents used to be defined as the `title` attribute itself.\",\n        \"This behavior has been deprecated.\"\n      ].join(\" \")\n    },\n    font: Qm({\n      description: [\n        \"Sets this color bar's title font.\",\n        \"Note that the title's font used to be set\",\n        \"by the now deprecated `titlefont` attribute.\"\n      ].join(\" \")\n    }),\n    side: {\n      valType: \"enumerated\",\n      values: [\"right\", \"top\", \"bottom\"],\n      description: [\n        \"Determines the location of color bar's title\",\n        \"with respect to the color bar.\",\n        \"Defaults to *top* when `orientation` if *v* and \",\n        \"defaults to *right* when `orientation` if *h*.\",\n        \"Note that the title's location used to be set\",\n        \"by the now deprecated `titleside` attribute.\"\n      ].join(\" \")\n    }\n  },\n  _deprecated: {\n    title: {\n      valType: \"string\",\n      description: [\n        \"Deprecated in favor of color bar's `title.text`.\",\n        \"Note that value of color bar's `title` is no longer a simple\",\n        \"*string* but a set of sub-attributes.\"\n      ].join(\" \")\n    },\n    titlefont: Qm({\n      description: \"Deprecated in favor of color bar's `title.font`.\"\n    }),\n    titleside: {\n      valType: \"enumerated\",\n      values: [\"right\", \"top\", \"bottom\"],\n      dflt: \"top\",\n      description: \"Deprecated in favor of color bar's `title.side`.\"\n    }\n  }\n}, \"colorbars\", \"from-root\"), pW = hb, mW = Zu.counter, gW = TL, c4 = Wu.scales, yW = gW(c4);\nfunction Af(e) {\n  return \"`\" + e + \"`\";\n}\nvar Jc = function(t, r) {\n  t = t || \"\", r = r || {};\n  var n = r.cLetter || \"c\", a = \"onlyIfNumerical\" in r ? r.onlyIfNumerical : !!t, i = \"noScale\" in r ? r.noScale : t === \"marker.line\", o = \"showScaleDflt\" in r ? r.showScaleDflt : n === \"z\", l = typeof r.colorscaleDflt == \"string\" ? c4[r.colorscaleDflt] : null, s = r.editTypeOverride || \"\", u = t ? t + \".\" : \"\", f, d;\n  \"colorAttr\" in r ? (f = r.colorAttr, d = r.colorAttr) : (f = { z: \"z\", c: \"color\" }[n], d = \"in \" + Af(u + f));\n  var h = a ? \" Has an effect only if \" + d + \" is set to a numerical array.\" : \"\", p = n + \"auto\", v = n + \"min\", m = n + \"max\", g = n + \"mid\", y = Af(u + p), w = Af(u + v), k = Af(u + m), x = w + \" and \" + k, _ = {};\n  _[v] = _[m] = void 0;\n  var T = {};\n  T[p] = !1;\n  var S = {};\n  return f === \"color\" && (S.color = {\n    valType: \"color\",\n    arrayOk: !0,\n    editType: s || \"style\",\n    description: [\n      \"Sets the\",\n      t,\n      \"color.\",\n      \"It accepts either a specific color\",\n      \"or an array of numbers that are mapped to the colorscale\",\n      \"relative to the max and min values of the array or relative to\",\n      x,\n      \"if set.\"\n    ].join(\" \")\n  }, r.anim && (S.color.anim = !0)), S[p] = {\n    valType: \"boolean\",\n    dflt: !0,\n    editType: \"calc\",\n    impliedEdits: _,\n    description: [\n      \"Determines whether or not the color domain is computed\",\n      \"with respect to the input data (here \" + d + \") or the bounds set in\",\n      x + h,\n      \"Defaults to `false` when\",\n      x,\n      \"are set by the user.\"\n    ].join(\" \")\n  }, S[v] = {\n    valType: \"number\",\n    dflt: null,\n    editType: s || \"plot\",\n    impliedEdits: T,\n    description: [\n      \"Sets the lower bound of the color domain.\" + h,\n      \"Value should have the same units as\",\n      d,\n      \"and if set,\",\n      k,\n      \"must be set as well.\"\n    ].join(\" \")\n  }, S[m] = {\n    valType: \"number\",\n    dflt: null,\n    editType: s || \"plot\",\n    impliedEdits: T,\n    description: [\n      \"Sets the upper bound of the color domain.\" + h,\n      \"Value should have the same units as\",\n      d,\n      \"and if set,\",\n      w,\n      \"must be set as well.\"\n    ].join(\" \")\n  }, S[g] = {\n    valType: \"number\",\n    dflt: null,\n    editType: \"calc\",\n    impliedEdits: _,\n    description: [\n      \"Sets the mid-point of the color domain by scaling\",\n      w,\n      \"and/or\",\n      k,\n      \"to be equidistant to this point.\" + h,\n      \"Value should have the same units as\",\n      d + \".\",\n      \"Has no effect when\",\n      y,\n      \"is `false`.\"\n    ].join(\" \")\n  }, S.colorscale = {\n    valType: \"colorscale\",\n    editType: \"calc\",\n    dflt: l,\n    impliedEdits: { autocolorscale: !1 },\n    description: [\n      \"Sets the colorscale.\" + h,\n      \"The colorscale must be an array containing\",\n      \"arrays mapping a normalized value to an\",\n      \"rgb, rgba, hex, hsl, hsv, or named color string.\",\n      \"At minimum, a mapping for the lowest (0) and highest (1)\",\n      \"values are required. For example,\",\n      \"`[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`.\",\n      \"To control the bounds of the colorscale in color space,\",\n      \"use\",\n      x + \".\",\n      \"Alternatively, `colorscale` may be a palette name string\",\n      \"of the following list: \" + yW + \".\"\n    ].join(\" \")\n  }, S.autocolorscale = {\n    valType: \"boolean\",\n    // gets overrode in 'heatmap' & 'surface' for backwards comp.\n    dflt: r.autoColorDflt !== !1,\n    editType: \"calc\",\n    impliedEdits: { colorscale: void 0 },\n    description: [\n      \"Determines whether the colorscale is a default palette (`autocolorscale: true`)\",\n      \"or the palette determined by\",\n      Af(u + \"colorscale\") + \".\" + h,\n      \"In case `colorscale` is unspecified or `autocolorscale` is true, the default\",\n      \"palette will be chosen according to whether numbers in the `color` array are\",\n      \"all positive, all negative or mixed.\"\n    ].join(\" \")\n  }, S.reversescale = {\n    valType: \"boolean\",\n    dflt: !1,\n    editType: \"plot\",\n    description: [\n      \"Reverses the color mapping if true.\" + h,\n      \"If true,\",\n      w,\n      \"will correspond to the last color\",\n      \"in the array and\",\n      k,\n      \"will correspond to the first color.\"\n    ].join(\" \")\n  }, i || (S.showscale = {\n    valType: \"boolean\",\n    dflt: o,\n    editType: \"calc\",\n    description: [\n      \"Determines whether or not a colorbar is displayed for this trace.\" + h\n    ].join(\" \")\n  }, S.colorbar = pW), r.noColorAxis || (S.coloraxis = {\n    valType: \"subplotid\",\n    regex: mW(\"coloraxis\"),\n    dflt: null,\n    editType: \"calc\",\n    description: [\n      \"Sets a reference to a shared color axis.\",\n      \"References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc.\",\n      \"Settings for these shared color axes are set in the layout, under\",\n      \"`layout.coloraxis`, `layout.coloraxis2`, etc.\",\n      \"Note that multiple color scales can be linked to the same color axis.\"\n    ].join(\" \")\n  }), S;\n}, bW = en.extendFlat, _W = Jc, eg = Wu.scales, tg = \"Note that `autocolorscale` must be true for this attribute to work.\", d4 = {\n  editType: \"calc\",\n  colorscale: {\n    editType: \"calc\",\n    sequential: {\n      valType: \"colorscale\",\n      dflt: eg.Reds,\n      editType: \"calc\",\n      description: [\n        \"Sets the default sequential colorscale for positive values.\",\n        tg\n      ].join(\" \")\n    },\n    sequentialminus: {\n      valType: \"colorscale\",\n      dflt: eg.Blues,\n      editType: \"calc\",\n      description: [\n        \"Sets the default sequential colorscale for negative values.\",\n        tg\n      ].join(\" \")\n    },\n    diverging: {\n      valType: \"colorscale\",\n      dflt: eg.RdBu,\n      editType: \"calc\",\n      description: [\n        \"Sets the default diverging colorscale.\",\n        tg\n      ].join(\" \")\n    }\n  },\n  coloraxis: bW({\n    // not really a 'subplot' attribute container,\n    // but this is the flag we use to denote attributes that\n    // support yaxis, yaxis2, yaxis3, ... counters\n    _isSubplotObj: !0,\n    editType: \"calc\",\n    description: [\n      \"\"\n    ].join(\" \")\n  }, _W(\"\", {\n    colorAttr: \"corresponding trace color array(s)\",\n    noColorAxis: !0,\n    showScaleDflt: !0\n  }))\n}, xW = Ue, h4 = function(t) {\n  return xW.isPlainObject(t.colorbar);\n}, Ap = {}, dy = sr, sT = Ue, v4 = Qr, wW = v4.ONEDAY, TW = v4.ONEWEEK;\nAp.dtick = function(e, t) {\n  var r = t === \"log\", n = t === \"date\", a = t === \"category\", i = n ? wW : 1;\n  if (!e) return i;\n  if (dy(e))\n    return e = Number(e), e <= 0 ? i : a ? Math.max(1, Math.round(e)) : n ? Math.max(0.1, e) : e;\n  if (typeof e != \"string\" || !(n || r))\n    return i;\n  var o = e.charAt(0), l = e.substr(1);\n  return l = dy(l) ? Number(l) : 0, l <= 0 || !// \"M<n>\" gives ticks every (integer) n months\n  (n && o === \"M\" && l === Math.round(l) || // \"L<f>\" gives ticks linearly spaced in data (not in position) every (float) f\n  r && o === \"L\" || // \"D1\" gives powers of 10 with all small digits between, \"D2\" gives only 2 and 5\n  r && o === \"D\" && (l === 1 || l === 2)) ? i : e;\n};\nAp.tick0 = function(e, t, r, n) {\n  if (t === \"date\")\n    return sT.cleanDate(\n      e,\n      sT.dateTick0(r, n % TW === 0 ? 1 : 0)\n    );\n  if (!(n === \"D1\" || n === \"D2\"))\n    return dy(e) ? Number(e) : 0;\n};\nvar uT = Ap, kW = Ue.isArrayOrTypedArray, AW = an.isTypedArraySpec, MW = an.decodeTypedArraySpec, p4 = function(t, r, n, a, i) {\n  i || (i = {});\n  var o = i.isMinor, l = o ? t.minor || {} : t, s = o ? r.minor : r, u = o ? \"minor.\" : \"\";\n  function f(w) {\n    var k = l[w];\n    return AW(k) && (k = MW(k)), k !== void 0 ? k : (s._template || {})[w];\n  }\n  var d = f(\"tick0\"), h = f(\"dtick\"), p = f(\"tickvals\"), v = kW(p) ? \"array\" : h ? \"linear\" : \"auto\", m = n(u + \"tickmode\", v);\n  if (m === \"auto\" || m === \"sync\")\n    n(u + \"nticks\");\n  else if (m === \"linear\") {\n    var g = s.dtick = uT.dtick(\n      h,\n      a\n    );\n    s.tick0 = uT.tick0(\n      d,\n      a,\n      r.calendar,\n      g\n    );\n  } else if (a !== \"multicategory\") {\n    var y = n(u + \"tickvals\");\n    y === void 0 ? s.tickmode = \"auto\" : o || n(\"ticktext\");\n  }\n}, rg = Ue, fT = Ki, m4 = function(t, r, n, a) {\n  var i = a.isMinor, o = i ? t.minor || {} : t, l = i ? r.minor : r, s = i ? fT.minor : fT, u = i ? \"minor.\" : \"\", f = rg.coerce2(o, l, s, \"ticklen\", i ? (r.ticklen || 5) * 0.6 : void 0), d = rg.coerce2(o, l, s, \"tickwidth\", i ? r.tickwidth || 1 : void 0), h = rg.coerce2(o, l, s, \"tickcolor\", (i ? r.tickcolor : void 0) || l.color), p = n(u + \"ticks\", !i && a.outerTicks || f || d || h ? \"outside\" : \"\");\n  p || (delete l.ticklen, delete l.tickwidth, delete l.tickcolor);\n}, g4 = function(t) {\n  var r = [\"showexponent\", \"showtickprefix\", \"showticksuffix\"], n = r.filter(function(i) {\n    return t[i] !== void 0;\n  }), a = function(i) {\n    return t[i] === t[n[0]];\n  };\n  if (n.every(a) || n.length === 1)\n    return t[n[0]];\n}, Ud = Ue, SW = Mr, Ji = function(t, r, n) {\n  var a = n.name, i = n.inclusionAttr || \"visible\", o = r[a], l = Ud.isArrayOrTypedArray(t[a]) ? t[a] : [], s = r[a] = [], u = SW.arrayTemplater(r, a, i), f, d;\n  for (f = 0; f < l.length; f++) {\n    var h = l[f];\n    Ud.isPlainObject(h) ? d = u.newItem(h) : (d = u.newItem({}), d[i] = !1), d._index = f, d[i] !== !1 && n.handleItemDefaults(h, d, r, n), s.push(d);\n  }\n  var p = u.defaultItems();\n  for (f = 0; f < p.length; f++)\n    d = p[f], d._index = s.length, n.handleItemDefaults({}, d, r, n, {}), s.push(d);\n  if (Ud.isArrayOrTypedArray(o)) {\n    var v = Math.min(o.length, s.length);\n    for (f = 0; f < v; f++)\n      Ud.relinkPrivateKeys(s[f], o[f]);\n  }\n  return s;\n}, hy = Ue, CW = nr.contrast, y4 = Ki, LW = g4, DW = Ji, b4 = function(t, r, n, a, i) {\n  i || (i = {});\n  var o = n(\"labelalias\");\n  hy.isPlainObject(o) || delete r.labelalias;\n  var l = LW(t), s = n(\"showticklabels\");\n  if (s) {\n    var u = i.font || {}, f = r.color, d = r.ticklabelposition || \"\", h = d.indexOf(\"inside\") !== -1 ? CW(i.bgColor) : (\n      // as with titlefont.color, inherit axis.color only if one was\n      // explicitly provided\n      f && f !== y4.color.dflt ? f : u.color\n    );\n    if (hy.coerceFont(n, \"tickfont\", {\n      family: u.family,\n      size: u.size,\n      color: h\n    }), !i.noTicklabelstep && a !== \"multicategory\" && a !== \"log\" && n(\"ticklabelstep\"), i.noAng || n(\"tickangle\"), a !== \"category\") {\n      var p = n(\"tickformat\");\n      DW(t, r, {\n        name: \"tickformatstops\",\n        inclusionAttr: \"enabled\",\n        handleItemDefaults: EW\n      }), r.tickformatstops.length || delete r.tickformatstops, !i.noExp && !p && a !== \"date\" && (n(\"showexponent\", l), n(\"exponentformat\"), n(\"minexponent\"), n(\"separatethousands\"));\n    }\n  }\n};\nfunction EW(e, t) {\n  function r(a, i) {\n    return hy.coerce(e, t, y4.tickformatstops, a, i);\n  }\n  var n = r(\"enabled\");\n  n && (r(\"dtickrange\"), r(\"value\"));\n}\nvar FW = g4, _4 = function(t, r, n, a, i) {\n  i || (i = {});\n  var o = i.tickSuffixDflt, l = FW(t), s = n(\"tickprefix\");\n  s && n(\"showtickprefix\", l);\n  var u = n(\"ticksuffix\", o);\n  u && n(\"showticksuffix\", l);\n}, Io = Ue, RW = Mr, PW = p4, $W = m4, zW = b4, IW = _4, NW = hb, x4 = function(t, r, n) {\n  var a = RW.newContainer(r, \"colorbar\"), i = t.colorbar || {};\n  function o($, I) {\n    return Io.coerce(i, a, NW, $, I);\n  }\n  var l = n.margin || { t: 0, b: 0, l: 0, r: 0 }, s = n.width - l.l - l.r, u = n.height - l.t - l.b, f = o(\"orientation\"), d = f === \"v\", h = o(\"thicknessmode\");\n  o(\n    \"thickness\",\n    h === \"fraction\" ? 30 / (d ? s : u) : 30\n  );\n  var p = o(\"lenmode\");\n  o(\n    \"len\",\n    p === \"fraction\" ? 1 : d ? u : s\n  );\n  var v = o(\"yref\"), m = o(\"xref\"), g = v === \"paper\", y = m === \"paper\", w, k, x, _ = \"left\";\n  d ? (x = \"middle\", _ = y ? \"left\" : \"right\", w = y ? 1.02 : 1, k = 0.5) : (x = g ? \"bottom\" : \"top\", _ = \"center\", w = 0.5, k = g ? 1.02 : 1), Io.coerce(i, a, {\n    x: {\n      valType: \"number\",\n      min: y ? -2 : 0,\n      max: y ? 3 : 1,\n      dflt: w\n    }\n  }, \"x\"), Io.coerce(i, a, {\n    y: {\n      valType: \"number\",\n      min: g ? -2 : 0,\n      max: g ? 3 : 1,\n      dflt: k\n    }\n  }, \"y\"), o(\"xanchor\", _), o(\"xpad\"), o(\"yanchor\", x), o(\"ypad\"), Io.noneOrAll(i, a, [\"x\", \"y\"]), o(\"outlinecolor\"), o(\"outlinewidth\"), o(\"bordercolor\"), o(\"borderwidth\"), o(\"bgcolor\");\n  var T = Io.coerce(i, a, {\n    ticklabelposition: {\n      valType: \"enumerated\",\n      dflt: \"outside\",\n      values: d ? [\n        \"outside\",\n        \"inside\",\n        \"outside top\",\n        \"inside top\",\n        \"outside bottom\",\n        \"inside bottom\"\n      ] : [\n        \"outside\",\n        \"inside\",\n        \"outside left\",\n        \"inside left\",\n        \"outside right\",\n        \"inside right\"\n      ]\n    }\n  }, \"ticklabelposition\");\n  o(\"ticklabeloverflow\", T.indexOf(\"inside\") !== -1 ? \"hide past domain\" : \"hide past div\"), PW(i, a, o, \"linear\");\n  var S = n.font, M = { outerTicks: !1, font: S };\n  T.indexOf(\"inside\") !== -1 && (M.bgColor = \"black\"), IW(i, a, o, \"linear\", M), zW(i, a, o, \"linear\", M), $W(i, a, o, \"linear\"), o(\"title.text\", n._dfltTitle.colorbar);\n  var L = a.showticklabels ? a.tickfont : S, F = Io.extendFlat({}, L, {\n    color: S.color,\n    size: Io.bigFont(L.size)\n  });\n  Io.coerceFont(o, \"title.font\", F), o(\"title.side\", d ? \"top\" : \"right\");\n}, cT = sr, vy = Ue, OW = h4, HW = x4, dT = Wu.isValid, BW = Nt.traceIs;\nfunction ng(e, t) {\n  var r = t.slice(0, t.length - 1);\n  return t ? vy.nestedProperty(e, r).get() || {} : e;\n}\nvar ef = function e(t, r, n, a, i) {\n  var o = i.prefix, l = i.cLetter, s = \"_module\" in r, u = ng(t, o), f = ng(r, o), d = ng(r._template || {}, o) || {}, h = function() {\n    return delete t.coloraxis, delete r.coloraxis, e(t, r, n, a, i);\n  };\n  if (s) {\n    var p = n._colorAxes || {}, v = a(o + \"coloraxis\");\n    if (v) {\n      var m = BW(r, \"contour\") && vy.nestedProperty(r, \"contours.coloring\").get() || \"heatmap\", g = p[v];\n      g ? (g[2].push(h), g[0] !== m && (g[0] = !1, vy.warn([\n        \"Ignoring coloraxis:\",\n        v,\n        \"setting\",\n        \"as it is linked to incompatible colorscales.\"\n      ].join(\" \")))) : p[v] = [m, r, [h]];\n      return;\n    }\n  }\n  var y = u[l + \"min\"], w = u[l + \"max\"], k = cT(y) && cT(w) && y < w, x = a(o + l + \"auto\", !k);\n  x ? a(o + l + \"mid\") : (a(o + l + \"min\"), a(o + l + \"max\"));\n  var _ = u.colorscale, T = d.colorscale, S;\n  if (_ !== void 0 && (S = !dT(_)), T !== void 0 && (S = !dT(T)), a(o + \"autocolorscale\", S), a(o + \"colorscale\"), a(o + \"reversescale\"), o !== \"marker.line.\") {\n    var M;\n    o && s && (M = OW(u));\n    var L = a(o + \"showscale\", M);\n    L && (o && d && (f._template = d), HW(u, f, n));\n  }\n}, hT = Ue, jW = Mr, vT = d4, UW = ef, GW = function(t, r) {\n  function n(d, h) {\n    return hT.coerce(t, r, vT, d, h);\n  }\n  n(\"colorscale.sequential\"), n(\"colorscale.sequentialminus\"), n(\"colorscale.diverging\");\n  var a = r._colorAxes, i, o;\n  function l(d, h) {\n    return hT.coerce(i, o, vT.coloraxis, d, h);\n  }\n  for (var s in a) {\n    var u = a[s];\n    if (u[0])\n      i = t[s] || {}, o = jW.newContainer(r, s, \"coloraxis\"), o._name = s, UW(i, o, r, l, { prefix: \"\", cLetter: \"c\" });\n    else {\n      for (var f = 0; f < u[2].length; f++)\n        u[2][f]();\n      delete r._colorAxes[s];\n    }\n  }\n}, VW = Ue, qW = wi.hasColorscale, WW = wi.extractOpts, ZW = function(t, r) {\n  function n(f, d) {\n    var h = f[\"_\" + d];\n    h !== void 0 && (f[d] = h);\n  }\n  function a(f, d) {\n    var h = d.container ? VW.nestedProperty(f, d.container).get() : f;\n    if (h)\n      if (h.coloraxis)\n        h._colorAx = r[h.coloraxis];\n      else {\n        var p = WW(h), v = p.auto;\n        (v || p.min === void 0) && n(h, d.min), (v || p.max === void 0) && n(h, d.max), p.autocolorscale && n(h, \"colorscale\");\n      }\n  }\n  for (var i = 0; i < t.length; i++) {\n    var o = t[i], l = o._module.colorbar;\n    if (l)\n      if (Array.isArray(l))\n        for (var s = 0; s < l.length; s++)\n          a(o, l[s]);\n      else\n        a(o, l);\n    qW(o, \"marker.line\") && a(o, {\n      container: \"marker.line\",\n      min: \"cmin\",\n      max: \"cmax\"\n    });\n  }\n  for (var u in r._colorAxes)\n    a(r[u], { min: \"cmin\", max: \"cmax\" });\n}, pT = sr, ag = Ue, YW = wi.extractOpts, Mp = function(t, r, n) {\n  var a = t._fullLayout, i = n.vals, o = n.containerStr, l = o ? ag.nestedProperty(r, o).get() : r, s = YW(l), u = s.auto !== !1, f = s.min, d = s.max, h = s.mid, p = function() {\n    return ag.aggNums(Math.min, null, i);\n  }, v = function() {\n    return ag.aggNums(Math.max, null, i);\n  };\n  if (f === void 0 ? f = p() : u && (l._colorAx && pT(f) ? f = Math.min(f, p()) : f = p()), d === void 0 ? d = v() : u && (l._colorAx && pT(d) ? d = Math.max(d, v()) : d = v()), u && h !== void 0 && (d - h > h - f ? f = h - (d - h) : d - h < h - f && (d = h + (h - f))), f === d && (f -= 0.5, d += 0.5), s._sync(\"min\", f), s._sync(\"max\", d), s.autocolorscale) {\n    var m;\n    f * d < 0 ? m = a.colorscale.diverging : f >= 0 ? m = a.colorscale.sequential : m = a.colorscale.sequentialminus, s._sync(\"colorscale\", m);\n  }\n}, Gd = Wu, zs = wi, Qc = {\n  moduleType: \"component\",\n  name: \"colorscale\",\n  attributes: Jc,\n  layoutAttributes: d4,\n  supplyLayoutDefaults: GW,\n  handleDefaults: ef,\n  crossTraceDefaults: ZW,\n  calc: Mp,\n  // ./scales.js is required in lib/coerce.js ;\n  // it needs to be a separate module to avoid a circular dependency\n  scales: Gd.scales,\n  defaultScale: Gd.defaultScale,\n  getScale: Gd.get,\n  isValidScale: Gd.isValid,\n  hasColorscale: zs.hasColorscale,\n  extractOpts: zs.extractOpts,\n  extractScale: zs.extractScale,\n  flipScale: zs.flipScale,\n  makeColorScaleFunc: zs.makeColorScaleFunc,\n  makeColorScaleFuncFromTrace: zs.makeColorScaleFuncFromTrace\n}, mT = Ue, XW = an.isTypedArraySpec, Ya = {\n  hasLines: function(e) {\n    return e.visible && e.mode && e.mode.indexOf(\"lines\") !== -1;\n  },\n  hasMarkers: function(e) {\n    return e.visible && (e.mode && e.mode.indexOf(\"markers\") !== -1 || // until splom implements 'mode'\n    e.type === \"splom\");\n  },\n  hasText: function(e) {\n    return e.visible && e.mode && e.mode.indexOf(\"text\") !== -1;\n  },\n  isBubble: function(e) {\n    var t = e.marker;\n    return mT.isPlainObject(t) && (mT.isArrayOrTypedArray(t.size) || XW(t.size));\n  }\n}, KW = sr, JW = function(t, r) {\n  r || (r = 2);\n  var n = t.marker, a = n.sizeref || 1, i = n.sizemin || 0, o = n.sizemode === \"area\" ? function(l) {\n    return Math.sqrt(l / a);\n  } : function(l) {\n    return l / a;\n  };\n  return function(l) {\n    var s = o(l / r);\n    return KW(s) && s > 0 ? Math.max(s, i) : 0;\n  };\n}, Do = {};\n(function(e) {\n  var t = Ue;\n  e.getSubplot = function(l) {\n    return l.subplot || l.xaxis + l.yaxis || l.geo;\n  }, e.isTraceInSubplots = function(l, s) {\n    if (l.type === \"splom\") {\n      for (var u = l.xaxes || [], f = l.yaxes || [], d = 0; d < u.length; d++)\n        for (var h = 0; h < f.length; h++)\n          if (s.indexOf(u[d] + f[h]) !== -1)\n            return !0;\n      return !1;\n    }\n    return s.indexOf(e.getSubplot(l)) !== -1;\n  }, e.flat = function(l, s) {\n    for (var u = new Array(l.length), f = 0; f < l.length; f++)\n      u[f] = s;\n    return u;\n  }, e.p2c = function(l, s) {\n    for (var u = new Array(l.length), f = 0; f < l.length; f++)\n      u[f] = l[f].p2c(s);\n    return u;\n  }, e.getDistanceFunction = function(l, s, u, f) {\n    return l === \"closest\" ? f || e.quadrature(s, u) : l.charAt(0) === \"x\" ? s : u;\n  }, e.getClosest = function(l, s, u) {\n    if (u.index !== !1)\n      u.index >= 0 && u.index < l.length ? u.distance = 0 : u.index = !1;\n    else\n      for (var f = 0; f < l.length; f++) {\n        var d = s(l[f]);\n        d <= u.distance && (u.index = f, u.distance = d);\n      }\n    return u;\n  }, e.inbox = function(l, s, u) {\n    return l * s < 0 || l === 0 ? u : 1 / 0;\n  }, e.quadrature = function(l, s) {\n    return function(u) {\n      var f = l(u), d = s(u);\n      return Math.sqrt(f * f + d * d);\n    };\n  }, e.makeEventData = function(l, s, u) {\n    var f = \"index\" in l ? l.index : l.pointNumber, d = {\n      data: s._input,\n      fullData: s,\n      curveNumber: s.index,\n      pointNumber: f\n    };\n    if (s._indexToPoints) {\n      var h = s._indexToPoints[f];\n      h.length === 1 ? d.pointIndex = h[0] : d.pointIndices = h;\n    } else\n      d.pointIndex = f;\n    return s._module.eventData ? d = s._module.eventData(d, l, s, u, f) : (\"xVal\" in l ? d.x = l.xVal : \"x\" in l && (d.x = l.x), \"yVal\" in l ? d.y = l.yVal : \"y\" in l && (d.y = l.y), l.xa && (d.xaxis = l.xa), l.ya && (d.yaxis = l.ya), l.zLabelVal !== void 0 && (d.z = l.zLabelVal)), e.appendArrayPointValue(d, s, f), d;\n  }, e.appendArrayPointValue = function(l, s, u) {\n    var f = s._arrayAttrs;\n    if (f)\n      for (var d = 0; d < f.length; d++) {\n        var h = f[d], p = n(h);\n        if (l[p] === void 0) {\n          var v = t.nestedProperty(s, h).get(), m = a(v, u);\n          m !== void 0 && (l[p] = m);\n        }\n      }\n  }, e.appendArrayMultiPointValues = function(l, s, u) {\n    var f = s._arrayAttrs;\n    if (f)\n      for (var d = 0; d < f.length; d++) {\n        var h = f[d], p = n(h);\n        if (l[p] === void 0) {\n          for (var v = t.nestedProperty(s, h).get(), m = new Array(u.length), g = 0; g < u.length; g++)\n            m[g] = a(v, u[g]);\n          l[p] = m;\n        }\n      }\n  };\n  var r = {\n    ids: \"id\",\n    locations: \"location\",\n    labels: \"label\",\n    values: \"value\",\n    \"marker.colors\": \"color\",\n    parents: \"parent\"\n  };\n  function n(l) {\n    return r[l] || l;\n  }\n  function a(l, s) {\n    if (Array.isArray(s)) {\n      if (Array.isArray(l) && Array.isArray(l[s[0]]))\n        return l[s[0]][s[1]];\n    } else\n      return l[s];\n  }\n  var i = {\n    x: !0,\n    y: !0\n  }, o = {\n    \"x unified\": !0,\n    \"y unified\": !0\n  };\n  e.isUnifiedHover = function(l) {\n    return typeof l != \"string\" ? !1 : !!o[l];\n  }, e.isXYhover = function(l) {\n    return typeof l != \"string\" ? !1 : !!i[l];\n  };\n})(Do);\nvar w4 = eZ, ig = { a: 7, c: 6, h: 1, l: 2, m: 2, q: 4, s: 4, t: 2, v: 1, z: 0 }, QW = /([astvzqmhlc])([^astvzqmhlc]*)/ig;\nfunction eZ(e) {\n  var t = [];\n  return e.replace(QW, function(r, n, a) {\n    var i = n.toLowerCase();\n    for (a = rZ(a), i == \"m\" && a.length > 2 && (t.push([n].concat(a.splice(0, 2))), i = \"l\", n = n == \"m\" ? \"l\" : \"L\"); ; ) {\n      if (a.length == ig[i])\n        return a.unshift(n), t.push(a);\n      if (a.length < ig[i]) throw new Error(\"malformed path data\");\n      t.push([n].concat(a.splice(0, ig[i])));\n    }\n  }), t;\n}\nvar tZ = /-?[0-9]*\\.?[0-9]+(?:e[-+]?\\d+)?/ig;\nfunction rZ(e) {\n  var t = e.match(tZ);\n  return t ? t.map(Number) : [];\n}\nvar og, gT;\nfunction nZ() {\n  if (gT) return og;\n  gT = 1;\n  var e = w4, t = lr.round, r = \"M0,0Z\", n = Math.sqrt(2), a = Math.sqrt(3), i = Math.PI, o = Math.cos, l = Math.sin;\n  og = {\n    circle: {\n      n: 0,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v, 2), w = \"M\" + y + \",0A\" + y + \",\" + y + \" 0 1,1 0,-\" + y + \"A\" + y + \",\" + y + \" 0 0,1 \" + y + \",0Z\";\n        return g ? p(m, g, w) : w;\n      }\n    },\n    square: {\n      n: 1,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v, 2);\n        return p(m, g, \"M\" + y + \",\" + y + \"H-\" + y + \"V-\" + y + \"H\" + y + \"Z\");\n      }\n    },\n    diamond: {\n      n: 2,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 1.3, 2);\n        return p(m, g, \"M\" + y + \",0L0,\" + y + \"L-\" + y + \",0L0,-\" + y + \"Z\");\n      }\n    },\n    cross: {\n      n: 3,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 0.4, 2), w = t(v * 1.2, 2);\n        return p(m, g, \"M\" + w + \",\" + y + \"H\" + y + \"V\" + w + \"H-\" + y + \"V\" + y + \"H-\" + w + \"V-\" + y + \"H-\" + y + \"V-\" + w + \"H\" + y + \"V-\" + y + \"H\" + w + \"Z\");\n      }\n    },\n    x: {\n      n: 4,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 0.8 / n, 2), w = \"l\" + y + \",\" + y, k = \"l\" + y + \",-\" + y, x = \"l-\" + y + \",-\" + y, _ = \"l-\" + y + \",\" + y;\n        return p(m, g, \"M0,\" + y + w + k + x + k + x + _ + x + _ + w + _ + w + \"Z\");\n      }\n    },\n    \"triangle-up\": {\n      n: 5,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 2 / a, 2), w = t(v / 2, 2), k = t(v, 2);\n        return p(m, g, \"M-\" + y + \",\" + w + \"H\" + y + \"L0,-\" + k + \"Z\");\n      }\n    },\n    \"triangle-down\": {\n      n: 6,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 2 / a, 2), w = t(v / 2, 2), k = t(v, 2);\n        return p(m, g, \"M-\" + y + \",-\" + w + \"H\" + y + \"L0,\" + k + \"Z\");\n      }\n    },\n    \"triangle-left\": {\n      n: 7,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 2 / a, 2), w = t(v / 2, 2), k = t(v, 2);\n        return p(m, g, \"M\" + w + \",-\" + y + \"V\" + y + \"L-\" + k + \",0Z\");\n      }\n    },\n    \"triangle-right\": {\n      n: 8,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 2 / a, 2), w = t(v / 2, 2), k = t(v, 2);\n        return p(m, g, \"M-\" + w + \",-\" + y + \"V\" + y + \"L\" + k + \",0Z\");\n      }\n    },\n    \"triangle-ne\": {\n      n: 9,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 0.6, 2), w = t(v * 1.2, 2);\n        return p(m, g, \"M-\" + w + \",-\" + y + \"H\" + y + \"V\" + w + \"Z\");\n      }\n    },\n    \"triangle-se\": {\n      n: 10,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 0.6, 2), w = t(v * 1.2, 2);\n        return p(m, g, \"M\" + y + \",-\" + w + \"V\" + y + \"H-\" + w + \"Z\");\n      }\n    },\n    \"triangle-sw\": {\n      n: 11,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 0.6, 2), w = t(v * 1.2, 2);\n        return p(m, g, \"M\" + w + \",\" + y + \"H-\" + y + \"V-\" + w + \"Z\");\n      }\n    },\n    \"triangle-nw\": {\n      n: 12,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 0.6, 2), w = t(v * 1.2, 2);\n        return p(m, g, \"M-\" + y + \",\" + w + \"V-\" + y + \"H\" + w + \"Z\");\n      }\n    },\n    pentagon: {\n      n: 13,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 0.951, 2), w = t(v * 0.588, 2), k = t(-v, 2), x = t(v * -0.309, 2), _ = t(v * 0.809, 2);\n        return p(m, g, \"M\" + y + \",\" + x + \"L\" + w + \",\" + _ + \"H-\" + w + \"L-\" + y + \",\" + x + \"L0,\" + k + \"Z\");\n      }\n    },\n    hexagon: {\n      n: 14,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v, 2), w = t(v / 2, 2), k = t(v * a / 2, 2);\n        return p(m, g, \"M\" + k + \",-\" + w + \"V\" + w + \"L0,\" + y + \"L-\" + k + \",\" + w + \"V-\" + w + \"L0,-\" + y + \"Z\");\n      }\n    },\n    hexagon2: {\n      n: 15,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v, 2), w = t(v / 2, 2), k = t(v * a / 2, 2);\n        return p(m, g, \"M-\" + w + \",\" + k + \"H\" + w + \"L\" + y + \",0L\" + w + \",-\" + k + \"H-\" + w + \"L-\" + y + \",0Z\");\n      }\n    },\n    octagon: {\n      n: 16,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 0.924, 2), w = t(v * 0.383, 2);\n        return p(m, g, \"M-\" + w + \",-\" + y + \"H\" + w + \"L\" + y + \",-\" + w + \"V\" + w + \"L\" + w + \",\" + y + \"H-\" + w + \"L-\" + y + \",\" + w + \"V-\" + w + \"Z\");\n      }\n    },\n    star: {\n      n: 17,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = v * 1.4, w = t(y * 0.225, 2), k = t(y * 0.951, 2), x = t(y * 0.363, 2), _ = t(y * 0.588, 2), T = t(-y, 2), S = t(y * -0.309, 2), M = t(y * 0.118, 2), L = t(y * 0.809, 2), F = t(y * 0.382, 2);\n        return p(m, g, \"M\" + w + \",\" + S + \"H\" + k + \"L\" + x + \",\" + M + \"L\" + _ + \",\" + L + \"L0,\" + F + \"L-\" + _ + \",\" + L + \"L-\" + x + \",\" + M + \"L-\" + k + \",\" + S + \"H-\" + w + \"L0,\" + T + \"Z\");\n      }\n    },\n    hexagram: {\n      n: 18,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 0.66, 2), w = t(v * 0.38, 2), k = t(v * 0.76, 2);\n        return p(m, g, \"M-\" + k + \",0l-\" + w + \",-\" + y + \"h\" + k + \"l\" + w + \",-\" + y + \"l\" + w + \",\" + y + \"h\" + k + \"l-\" + w + \",\" + y + \"l\" + w + \",\" + y + \"h-\" + k + \"l-\" + w + \",\" + y + \"l-\" + w + \",-\" + y + \"h-\" + k + \"Z\");\n      }\n    },\n    \"star-triangle-up\": {\n      n: 19,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * a * 0.8, 2), w = t(v * 0.8, 2), k = t(v * 1.6, 2), x = t(v * 4, 2), _ = \"A \" + x + \",\" + x + \" 0 0 1 \";\n        return p(m, g, \"M-\" + y + \",\" + w + _ + y + \",\" + w + _ + \"0,-\" + k + _ + \"-\" + y + \",\" + w + \"Z\");\n      }\n    },\n    \"star-triangle-down\": {\n      n: 20,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * a * 0.8, 2), w = t(v * 0.8, 2), k = t(v * 1.6, 2), x = t(v * 4, 2), _ = \"A \" + x + \",\" + x + \" 0 0 1 \";\n        return p(m, g, \"M\" + y + \",-\" + w + _ + \"-\" + y + \",-\" + w + _ + \"0,\" + k + _ + y + \",-\" + w + \"Z\");\n      }\n    },\n    \"star-square\": {\n      n: 21,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 1.1, 2), w = t(v * 2, 2), k = \"A \" + w + \",\" + w + \" 0 0 1 \";\n        return p(m, g, \"M-\" + y + \",-\" + y + k + \"-\" + y + \",\" + y + k + y + \",\" + y + k + y + \",-\" + y + k + \"-\" + y + \",-\" + y + \"Z\");\n      }\n    },\n    \"star-diamond\": {\n      n: 22,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 1.4, 2), w = t(v * 1.9, 2), k = \"A \" + w + \",\" + w + \" 0 0 1 \";\n        return p(m, g, \"M-\" + y + \",0\" + k + \"0,\" + y + k + y + \",0\" + k + \"0,-\" + y + k + \"-\" + y + \",0Z\");\n      }\n    },\n    \"diamond-tall\": {\n      n: 23,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 0.7, 2), w = t(v * 1.4, 2);\n        return p(m, g, \"M0,\" + w + \"L\" + y + \",0L0,-\" + w + \"L-\" + y + \",0Z\");\n      }\n    },\n    \"diamond-wide\": {\n      n: 24,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 1.4, 2), w = t(v * 0.7, 2);\n        return p(m, g, \"M0,\" + w + \"L\" + y + \",0L0,-\" + w + \"L-\" + y + \",0Z\");\n      }\n    },\n    hourglass: {\n      n: 25,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v, 2);\n        return p(m, g, \"M\" + y + \",\" + y + \"H-\" + y + \"L\" + y + \",-\" + y + \"H-\" + y + \"Z\");\n      },\n      noDot: !0\n    },\n    bowtie: {\n      n: 26,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v, 2);\n        return p(m, g, \"M\" + y + \",\" + y + \"V-\" + y + \"L-\" + y + \",\" + y + \"V-\" + y + \"Z\");\n      },\n      noDot: !0\n    },\n    \"circle-cross\": {\n      n: 27,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v, 2);\n        return p(m, g, \"M0,\" + y + \"V-\" + y + \"M\" + y + \",0H-\" + y + \"M\" + y + \",0A\" + y + \",\" + y + \" 0 1,1 0,-\" + y + \"A\" + y + \",\" + y + \" 0 0,1 \" + y + \",0Z\");\n      },\n      needLine: !0,\n      noDot: !0\n    },\n    \"circle-x\": {\n      n: 28,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v, 2), w = t(v / n, 2);\n        return p(m, g, \"M\" + w + \",\" + w + \"L-\" + w + \",-\" + w + \"M\" + w + \",-\" + w + \"L-\" + w + \",\" + w + \"M\" + y + \",0A\" + y + \",\" + y + \" 0 1,1 0,-\" + y + \"A\" + y + \",\" + y + \" 0 0,1 \" + y + \",0Z\");\n      },\n      needLine: !0,\n      noDot: !0\n    },\n    \"square-cross\": {\n      n: 29,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v, 2);\n        return p(m, g, \"M0,\" + y + \"V-\" + y + \"M\" + y + \",0H-\" + y + \"M\" + y + \",\" + y + \"H-\" + y + \"V-\" + y + \"H\" + y + \"Z\");\n      },\n      needLine: !0,\n      noDot: !0\n    },\n    \"square-x\": {\n      n: 30,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v, 2);\n        return p(m, g, \"M\" + y + \",\" + y + \"L-\" + y + \",-\" + y + \"M\" + y + \",-\" + y + \"L-\" + y + \",\" + y + \"M\" + y + \",\" + y + \"H-\" + y + \"V-\" + y + \"H\" + y + \"Z\");\n      },\n      needLine: !0,\n      noDot: !0\n    },\n    \"diamond-cross\": {\n      n: 31,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 1.3, 2);\n        return p(m, g, \"M\" + y + \",0L0,\" + y + \"L-\" + y + \",0L0,-\" + y + \"ZM0,-\" + y + \"V\" + y + \"M-\" + y + \",0H\" + y);\n      },\n      needLine: !0,\n      noDot: !0\n    },\n    \"diamond-x\": {\n      n: 32,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 1.3, 2), w = t(v * 0.65, 2);\n        return p(m, g, \"M\" + y + \",0L0,\" + y + \"L-\" + y + \",0L0,-\" + y + \"ZM-\" + w + \",-\" + w + \"L\" + w + \",\" + w + \"M-\" + w + \",\" + w + \"L\" + w + \",-\" + w);\n      },\n      needLine: !0,\n      noDot: !0\n    },\n    \"cross-thin\": {\n      n: 33,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 1.4, 2);\n        return p(m, g, \"M0,\" + y + \"V-\" + y + \"M\" + y + \",0H-\" + y);\n      },\n      needLine: !0,\n      noDot: !0,\n      noFill: !0\n    },\n    \"x-thin\": {\n      n: 34,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v, 2);\n        return p(m, g, \"M\" + y + \",\" + y + \"L-\" + y + \",-\" + y + \"M\" + y + \",-\" + y + \"L-\" + y + \",\" + y);\n      },\n      needLine: !0,\n      noDot: !0,\n      noFill: !0\n    },\n    asterisk: {\n      n: 35,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 1.2, 2), w = t(v * 0.85, 2);\n        return p(m, g, \"M0,\" + y + \"V-\" + y + \"M\" + y + \",0H-\" + y + \"M\" + w + \",\" + w + \"L-\" + w + \",-\" + w + \"M\" + w + \",-\" + w + \"L-\" + w + \",\" + w);\n      },\n      needLine: !0,\n      noDot: !0,\n      noFill: !0\n    },\n    hash: {\n      n: 36,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v / 2, 2), w = t(v, 2);\n        return p(m, g, \"M\" + y + \",\" + w + \"V-\" + w + \"M\" + (y - w) + \",-\" + w + \"V\" + w + \"M\" + w + \",\" + y + \"H-\" + w + \"M-\" + w + \",\" + (y - w) + \"H\" + w);\n      },\n      needLine: !0,\n      noFill: !0\n    },\n    \"y-up\": {\n      n: 37,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 1.2, 2), w = t(v * 1.6, 2), k = t(v * 0.8, 2);\n        return p(m, g, \"M-\" + y + \",\" + k + \"L0,0M\" + y + \",\" + k + \"L0,0M0,-\" + w + \"L0,0\");\n      },\n      needLine: !0,\n      noDot: !0,\n      noFill: !0\n    },\n    \"y-down\": {\n      n: 38,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 1.2, 2), w = t(v * 1.6, 2), k = t(v * 0.8, 2);\n        return p(m, g, \"M-\" + y + \",-\" + k + \"L0,0M\" + y + \",-\" + k + \"L0,0M0,\" + w + \"L0,0\");\n      },\n      needLine: !0,\n      noDot: !0,\n      noFill: !0\n    },\n    \"y-left\": {\n      n: 39,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 1.2, 2), w = t(v * 1.6, 2), k = t(v * 0.8, 2);\n        return p(m, g, \"M\" + k + \",\" + y + \"L0,0M\" + k + \",-\" + y + \"L0,0M-\" + w + \",0L0,0\");\n      },\n      needLine: !0,\n      noDot: !0,\n      noFill: !0\n    },\n    \"y-right\": {\n      n: 40,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 1.2, 2), w = t(v * 1.6, 2), k = t(v * 0.8, 2);\n        return p(m, g, \"M-\" + k + \",\" + y + \"L0,0M-\" + k + \",-\" + y + \"L0,0M\" + w + \",0L0,0\");\n      },\n      needLine: !0,\n      noDot: !0,\n      noFill: !0\n    },\n    \"line-ew\": {\n      n: 41,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 1.4, 2);\n        return p(m, g, \"M\" + y + \",0H-\" + y);\n      },\n      needLine: !0,\n      noDot: !0,\n      noFill: !0\n    },\n    \"line-ns\": {\n      n: 42,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 1.4, 2);\n        return p(m, g, \"M0,\" + y + \"V-\" + y);\n      },\n      needLine: !0,\n      noDot: !0,\n      noFill: !0\n    },\n    \"line-ne\": {\n      n: 43,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v, 2);\n        return p(m, g, \"M\" + y + \",-\" + y + \"L-\" + y + \",\" + y);\n      },\n      needLine: !0,\n      noDot: !0,\n      noFill: !0\n    },\n    \"line-nw\": {\n      n: 44,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v, 2);\n        return p(m, g, \"M\" + y + \",\" + y + \"L-\" + y + \",-\" + y);\n      },\n      needLine: !0,\n      noDot: !0,\n      noFill: !0\n    },\n    \"arrow-up\": {\n      n: 45,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v, 2), w = t(v * 2, 2);\n        return p(m, g, \"M0,0L-\" + y + \",\" + w + \"H\" + y + \"Z\");\n      },\n      backoff: 1,\n      noDot: !0\n    },\n    \"arrow-down\": {\n      n: 46,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v, 2), w = t(v * 2, 2);\n        return p(m, g, \"M0,0L-\" + y + \",-\" + w + \"H\" + y + \"Z\");\n      },\n      noDot: !0\n    },\n    \"arrow-left\": {\n      n: 47,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 2, 2), w = t(v, 2);\n        return p(m, g, \"M0,0L\" + y + \",-\" + w + \"V\" + w + \"Z\");\n      },\n      noDot: !0\n    },\n    \"arrow-right\": {\n      n: 48,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 2, 2), w = t(v, 2);\n        return p(m, g, \"M0,0L-\" + y + \",-\" + w + \"V\" + w + \"Z\");\n      },\n      noDot: !0\n    },\n    \"arrow-bar-up\": {\n      n: 49,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v, 2), w = t(v * 2, 2);\n        return p(m, g, \"M-\" + y + \",0H\" + y + \"M0,0L-\" + y + \",\" + w + \"H\" + y + \"Z\");\n      },\n      backoff: 1,\n      needLine: !0,\n      noDot: !0\n    },\n    \"arrow-bar-down\": {\n      n: 50,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v, 2), w = t(v * 2, 2);\n        return p(m, g, \"M-\" + y + \",0H\" + y + \"M0,0L-\" + y + \",-\" + w + \"H\" + y + \"Z\");\n      },\n      needLine: !0,\n      noDot: !0\n    },\n    \"arrow-bar-left\": {\n      n: 51,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 2, 2), w = t(v, 2);\n        return p(m, g, \"M0,-\" + w + \"V\" + w + \"M0,0L\" + y + \",-\" + w + \"V\" + w + \"Z\");\n      },\n      needLine: !0,\n      noDot: !0\n    },\n    \"arrow-bar-right\": {\n      n: 52,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = t(v * 2, 2), w = t(v, 2);\n        return p(m, g, \"M0,-\" + w + \"V\" + w + \"M0,0L-\" + y + \",-\" + w + \"V\" + w + \"Z\");\n      },\n      needLine: !0,\n      noDot: !0\n    },\n    arrow: {\n      n: 53,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = i / 2.5, w = 2 * v * o(y), k = 2 * v * l(y);\n        return p(\n          m,\n          g,\n          \"M0,0L\" + -w + \",\" + k + \"L\" + w + \",\" + k + \"Z\"\n        );\n      },\n      backoff: 0.9,\n      noDot: !0\n    },\n    \"arrow-wide\": {\n      n: 54,\n      f: function(v, m, g) {\n        if (s(m)) return r;\n        var y = i / 4, w = 2 * v * o(y), k = 2 * v * l(y);\n        return p(\n          m,\n          g,\n          \"M0,0L\" + -w + \",\" + k + \"A \" + 2 * v + \",\" + 2 * v + \" 0 0 1 \" + w + \",\" + k + \"Z\"\n        );\n      },\n      backoff: 0.4,\n      noDot: !0\n    }\n  };\n  function s(v) {\n    return v === null;\n  }\n  var u, f, d, h;\n  function p(v, m, g) {\n    if ((!v || v % 360 === 0) && !m) return g;\n    if (d === v && h === m && u === g) return f;\n    d = v, h = m, u = g;\n    function y(G, K) {\n      var V = o(G), z = l(G), P = K[0], R = K[1] + (m || 0);\n      return [\n        P * V - R * z,\n        P * z + R * V\n      ];\n    }\n    for (var w = v / 180 * i, k = 0, x = 0, _ = e(g), T = \"\", S = 0; S < _.length; S++) {\n      var M = _[S], L = M[0], F = k, $ = x;\n      if (L === \"M\" || L === \"L\")\n        k = +M[1], x = +M[2];\n      else if (L === \"m\" || L === \"l\")\n        k += +M[1], x += +M[2];\n      else if (L === \"H\")\n        k = +M[1];\n      else if (L === \"h\")\n        k += +M[1];\n      else if (L === \"V\")\n        x = +M[1];\n      else if (L === \"v\")\n        x += +M[1];\n      else if (L === \"A\") {\n        k = +M[1], x = +M[2];\n        var I = y(w, [+M[6], +M[7]]);\n        M[6] = I[0], M[7] = I[1], M[3] = +M[3] + v;\n      }\n      (L === \"H\" || L === \"V\") && (L = \"L\"), (L === \"h\" || L === \"v\") && (L = \"l\"), (L === \"m\" || L === \"l\") && (k -= F, x -= $);\n      var O = y(w, [k, x]);\n      (L === \"H\" || L === \"V\") && (L = \"L\"), (L === \"M\" || L === \"L\" || L === \"m\" || L === \"l\") && (M[1] = O[0], M[2] = O[1]), M[0] = L, T += M[0] + M.slice(1).join(\",\");\n    }\n    return f = T, T;\n  }\n  return og;\n}\nvar mn = lr, Tr = Ue, aZ = Tr.numberFormat, ls = sr, py = bi, Sp = Nt, Dn = nr, iZ = Qc, wc = Tr.strTranslate, vb = Rn, oZ = yl, lZ = On, sZ = lZ.LINE_SPACING, T4 = q1.DESELECTDIM, uZ = Ya, fZ = JW, cZ = Do.appendArrayPointValue, ut = n4.exports = {};\nut.font = function(e, t, r, n) {\n  Tr.isPlainObject(t) && (n = t.color, r = t.size, t = t.family), t && e.style(\"font-family\", t), r + 1 && e.style(\"font-size\", r + \"px\"), n && e.call(Dn.fill, n);\n};\nut.setPosition = function(e, t, r) {\n  e.attr(\"x\", t).attr(\"y\", r);\n};\nut.setSize = function(e, t, r) {\n  e.attr(\"width\", t).attr(\"height\", r);\n};\nut.setRect = function(e, t, r, n, a) {\n  e.call(ut.setPosition, t, r).call(ut.setSize, n, a);\n};\nut.translatePoint = function(e, t, r, n) {\n  var a = r.c2p(e.x), i = n.c2p(e.y);\n  if (ls(a) && ls(i) && t.node())\n    t.node().nodeName === \"text\" ? t.attr(\"x\", a).attr(\"y\", i) : t.attr(\"transform\", wc(a, i));\n  else\n    return !1;\n  return !0;\n};\nut.translatePoints = function(e, t, r) {\n  e.each(function(n) {\n    var a = mn.select(this);\n    ut.translatePoint(n, a, t, r);\n  });\n};\nut.hideOutsideRangePoint = function(e, t, r, n, a, i) {\n  t.attr(\n    \"display\",\n    r.isPtWithinRange(e, a) && n.isPtWithinRange(e, i) ? null : \"none\"\n  );\n};\nut.hideOutsideRangePoints = function(e, t) {\n  if (t._hasClipOnAxisFalse) {\n    var r = t.xaxis, n = t.yaxis;\n    e.each(function(a) {\n      var i = a[0].trace, o = i.xcalendar, l = i.ycalendar, s = Sp.traceIs(i, \"bar-like\") ? \".bartext\" : \".point,.textpoint\";\n      e.selectAll(s).each(function(u) {\n        ut.hideOutsideRangePoint(u, mn.select(this), r, n, o, l);\n      });\n    });\n  }\n};\nut.crispRound = function(e, t, r) {\n  return !t || !ls(t) ? r || 0 : e._context.staticPlot ? t : t < 1 ? 1 : Math.round(t);\n};\nut.singleLineStyle = function(e, t, r, n, a) {\n  t.style(\"fill\", \"none\");\n  var i = (((e || [])[0] || {}).trace || {}).line || {}, o = r || i.width || 0, l = a || i.dash || \"\";\n  Dn.stroke(t, n || i.color), ut.dashLine(t, l, o);\n};\nut.lineGroupStyle = function(e, t, r, n) {\n  e.style(\"fill\", \"none\").each(function(a) {\n    var i = (((a || [])[0] || {}).trace || {}).line || {}, o = t || i.width || 0, l = n || i.dash || \"\";\n    mn.select(this).call(Dn.stroke, r || i.color).call(ut.dashLine, l, o);\n  });\n};\nut.dashLine = function(e, t, r) {\n  r = +r || 0, t = ut.dashStyle(t, r), e.style({\n    \"stroke-dasharray\": t,\n    \"stroke-width\": r + \"px\"\n  });\n};\nut.dashStyle = function(e, t) {\n  t = +t || 1;\n  var r = Math.max(t, 3);\n  return e === \"solid\" ? e = \"\" : e === \"dot\" ? e = r + \"px,\" + r + \"px\" : e === \"dash\" ? e = 3 * r + \"px,\" + 3 * r + \"px\" : e === \"longdash\" ? e = 5 * r + \"px,\" + 5 * r + \"px\" : e === \"dashdot\" ? e = 3 * r + \"px,\" + r + \"px,\" + r + \"px,\" + r + \"px\" : e === \"longdashdot\" && (e = 5 * r + \"px,\" + 2 * r + \"px,\" + r + \"px,\" + 2 * r + \"px\"), e;\n};\nfunction k4(e, t, r) {\n  var n = t.fillpattern, a = n && ut.getPatternAttr(n.shape, 0, \"\");\n  if (a) {\n    var i = ut.getPatternAttr(n.bgcolor, 0, null), o = ut.getPatternAttr(n.fgcolor, 0, null), l = n.fgopacity, s = ut.getPatternAttr(n.size, 0, 8), u = ut.getPatternAttr(n.solidity, 0, 0.3), f = t.uid;\n    ut.pattern(\n      e,\n      \"point\",\n      r,\n      f,\n      a,\n      s,\n      u,\n      void 0,\n      n.fillmode,\n      i,\n      o,\n      l\n    );\n  } else t.fillcolor && e.call(Dn.fill, t.fillcolor);\n}\nut.singleFillStyle = function(e, t) {\n  var r = mn.select(e.node()), n = r.data(), a = ((n[0] || [])[0] || {}).trace || {};\n  k4(e, a, t);\n};\nut.fillGroupStyle = function(e, t) {\n  e.style(\"stroke-width\", 0).each(function(r) {\n    var n = mn.select(this);\n    r[0].trace && k4(n, r[0].trace, t);\n  });\n};\nvar yT = nZ();\nut.symbolNames = [];\nut.symbolFuncs = [];\nut.symbolBackOffs = [];\nut.symbolNeedLines = {};\nut.symbolNoDot = {};\nut.symbolNoFill = {};\nut.symbolList = [];\nObject.keys(yT).forEach(function(e) {\n  var t = yT[e], r = t.n;\n  ut.symbolList.push(\n    r,\n    String(r),\n    e,\n    r + 100,\n    String(r + 100),\n    e + \"-open\"\n  ), ut.symbolNames[r] = e, ut.symbolFuncs[r] = t.f, ut.symbolBackOffs[r] = t.backoff || 0, t.needLine && (ut.symbolNeedLines[r] = !0), t.noDot ? ut.symbolNoDot[r] = !0 : ut.symbolList.push(\n    r + 200,\n    String(r + 200),\n    e + \"-dot\",\n    r + 300,\n    String(r + 300),\n    e + \"-open-dot\"\n  ), t.noFill && (ut.symbolNoFill[r] = !0);\n});\nvar dZ = ut.symbolNames.length, hZ = \"M0,0.5L0.5,0L0,-0.5L-0.5,0Z\";\nut.symbolNumber = function(e) {\n  if (ls(e))\n    e = +e;\n  else if (typeof e == \"string\") {\n    var t = 0;\n    e.indexOf(\"-open\") > 0 && (t = 100, e = e.replace(\"-open\", \"\")), e.indexOf(\"-dot\") > 0 && (t += 200, e = e.replace(\"-dot\", \"\")), e = ut.symbolNames.indexOf(e), e >= 0 && (e += t);\n  }\n  return e % 100 >= dZ || e >= 400 ? 0 : Math.floor(Math.max(e, 0));\n};\nfunction A4(e, t, r, n) {\n  var a = e % 100;\n  return ut.symbolFuncs[a](t, r, n) + (e >= 200 ? hZ : \"\");\n}\nvar bT = { x1: 1, x2: 0, y1: 0, y2: 0 }, _T = { x1: 0, x2: 0, y1: 1, y2: 0 }, xT = aZ(\"~f\"), M4 = {\n  radial: { node: \"radialGradient\" },\n  radialreversed: { node: \"radialGradient\", reversed: !0 },\n  horizontal: { node: \"linearGradient\", attrs: bT },\n  horizontalreversed: { node: \"linearGradient\", attrs: bT, reversed: !0 },\n  vertical: { node: \"linearGradient\", attrs: _T },\n  verticalreversed: { node: \"linearGradient\", attrs: _T, reversed: !0 }\n};\nut.gradient = function(e, t, r, n, a, i) {\n  for (var o = a.length, l = M4[n], s = new Array(o), u = 0; u < o; u++)\n    l.reversed ? s[o - 1 - u] = [xT((1 - a[u][0]) * 100), a[u][1]] : s[u] = [xT(a[u][0] * 100), a[u][1]];\n  var f = t._fullLayout, d = \"g\" + f._uid + \"-\" + r, h = f._defs.select(\".gradients\").selectAll(\"#\" + d).data([n + s.join(\";\")], Tr.identity);\n  h.exit().remove(), h.enter().append(l.node).each(function() {\n    var p = mn.select(this);\n    l.attrs && p.attr(l.attrs), p.attr(\"id\", d);\n    var v = p.selectAll(\"stop\").data(s);\n    v.exit().remove(), v.enter().append(\"stop\"), v.each(function(m) {\n      var g = py(m[1]);\n      mn.select(this).attr({\n        offset: m[0] + \"%\",\n        \"stop-color\": Dn.tinyRGB(g),\n        \"stop-opacity\": g.getAlpha()\n      });\n    });\n  }), e.style(i, pb(d, t)).style(i + \"-opacity\", null), e.classed(\"gradient_filled\", !0);\n};\nut.pattern = function(e, t, r, n, a, i, o, l, s, u, f, d) {\n  var h = t === \"legend\";\n  l && (s === \"overlay\" ? (u = l, f = Dn.contrast(u)) : (u = void 0, f = l));\n  var p = r._fullLayout, v = \"p\" + p._uid + \"-\" + n, m, g, y = function(O, G, K, V, z) {\n    return V + (z - V) * (O - G) / (K - G);\n  }, w, k, x, _, T = {}, S = py(f), M = Dn.tinyRGB(S), L = S.getAlpha(), F = d * L;\n  switch (a) {\n    case \"/\":\n      m = i * Math.sqrt(2), g = i * Math.sqrt(2), w = \"M-\" + m / 4 + \",\" + g / 4 + \"l\" + m / 2 + \",-\" + g / 2 + \"M0,\" + g + \"L\" + m + \",0M\" + m / 4 * 3 + \",\" + g / 4 * 5 + \"l\" + m / 2 + \",-\" + g / 2, k = o * i, _ = \"path\", T = {\n        d: w,\n        opacity: F,\n        stroke: M,\n        \"stroke-width\": k + \"px\"\n      };\n      break;\n    case \"\\\\\":\n      m = i * Math.sqrt(2), g = i * Math.sqrt(2), w = \"M\" + m / 4 * 3 + \",-\" + g / 4 + \"l\" + m / 2 + \",\" + g / 2 + \"M0,0L\" + m + \",\" + g + \"M-\" + m / 4 + \",\" + g / 4 * 3 + \"l\" + m / 2 + \",\" + g / 2, k = o * i, _ = \"path\", T = {\n        d: w,\n        opacity: F,\n        stroke: M,\n        \"stroke-width\": k + \"px\"\n      };\n      break;\n    case \"x\":\n      m = i * Math.sqrt(2), g = i * Math.sqrt(2), w = \"M-\" + m / 4 + \",\" + g / 4 + \"l\" + m / 2 + \",-\" + g / 2 + \"M0,\" + g + \"L\" + m + \",0M\" + m / 4 * 3 + \",\" + g / 4 * 5 + \"l\" + m / 2 + \",-\" + g / 2 + \"M\" + m / 4 * 3 + \",-\" + g / 4 + \"l\" + m / 2 + \",\" + g / 2 + \"M0,0L\" + m + \",\" + g + \"M-\" + m / 4 + \",\" + g / 4 * 3 + \"l\" + m / 2 + \",\" + g / 2, k = i - i * Math.sqrt(1 - o), _ = \"path\", T = {\n        d: w,\n        opacity: F,\n        stroke: M,\n        \"stroke-width\": k + \"px\"\n      };\n      break;\n    case \"|\":\n      m = i, g = i, _ = \"path\", w = \"M\" + m / 2 + \",0L\" + m / 2 + \",\" + g, k = o * i, _ = \"path\", T = {\n        d: w,\n        opacity: F,\n        stroke: M,\n        \"stroke-width\": k + \"px\"\n      };\n      break;\n    case \"-\":\n      m = i, g = i, _ = \"path\", w = \"M0,\" + g / 2 + \"L\" + m + \",\" + g / 2, k = o * i, _ = \"path\", T = {\n        d: w,\n        opacity: F,\n        stroke: M,\n        \"stroke-width\": k + \"px\"\n      };\n      break;\n    case \"+\":\n      m = i, g = i, _ = \"path\", w = \"M\" + m / 2 + \",0L\" + m / 2 + \",\" + g + \"M0,\" + g / 2 + \"L\" + m + \",\" + g / 2, k = i - i * Math.sqrt(1 - o), _ = \"path\", T = {\n        d: w,\n        opacity: F,\n        stroke: M,\n        \"stroke-width\": k + \"px\"\n      };\n      break;\n    case \".\":\n      m = i, g = i, o < Math.PI / 4 ? x = Math.sqrt(o * i * i / Math.PI) : x = y(o, Math.PI / 4, 1, i / 2, i / Math.sqrt(2)), _ = \"circle\", T = {\n        cx: m / 2,\n        cy: g / 2,\n        r: x,\n        opacity: F,\n        fill: M\n      };\n      break;\n  }\n  var $ = [\n    a || \"noSh\",\n    u || \"noBg\",\n    f || \"noFg\",\n    i,\n    o\n  ].join(\";\"), I = p._defs.select(\".patterns\").selectAll(\"#\" + v).data([$], Tr.identity);\n  I.exit().remove(), I.enter().append(\"pattern\").each(function() {\n    var O = mn.select(this);\n    if (O.attr({\n      id: v,\n      width: m + \"px\",\n      height: g + \"px\",\n      patternUnits: \"userSpaceOnUse\",\n      // for legends scale down patterns just a bit so that default size (i.e 8) nicely fit in small icons\n      patternTransform: h ? \"scale(0.8)\" : \"\"\n    }), u) {\n      var G = py(u), K = Dn.tinyRGB(G), V = G.getAlpha(), z = O.selectAll(\"rect\").data([0]);\n      z.exit().remove(), z.enter().append(\"rect\").attr({\n        width: m + \"px\",\n        height: g + \"px\",\n        fill: K,\n        \"fill-opacity\": V\n      });\n    }\n    var P = O.selectAll(_).data([0]);\n    P.exit().remove(), P.enter().append(_).attr(T);\n  }), e.style(\"fill\", pb(v, r)).style(\"fill-opacity\", null), e.classed(\"pattern_filled\", !0);\n};\nut.initGradients = function(e) {\n  var t = e._fullLayout, r = Tr.ensureSingle(t._defs, \"g\", \"gradients\");\n  r.selectAll(\"linearGradient,radialGradient\").remove(), mn.select(e).selectAll(\".gradient_filled\").classed(\"gradient_filled\", !1);\n};\nut.initPatterns = function(e) {\n  var t = e._fullLayout, r = Tr.ensureSingle(t._defs, \"g\", \"patterns\");\n  r.selectAll(\"pattern\").remove(), mn.select(e).selectAll(\".pattern_filled\").classed(\"pattern_filled\", !1);\n};\nut.getPatternAttr = function(e, t, r) {\n  return e && Tr.isArrayOrTypedArray(e) ? t < e.length ? e[t] : r : e;\n};\nut.pointStyle = function(e, t, r, n) {\n  if (e.size()) {\n    var a = ut.makePointStyleFns(t);\n    e.each(function(i) {\n      ut.singlePointStyle(i, mn.select(this), t, a, r, n);\n    });\n  }\n};\nut.singlePointStyle = function(e, t, r, n, a, i) {\n  var o = r.marker, l = o.line;\n  if (i && i.i >= 0 && e.i === void 0 && (e.i = i.i), t.style(\n    \"opacity\",\n    n.selectedOpacityFn ? n.selectedOpacityFn(e) : e.mo === void 0 ? o.opacity : e.mo\n  ), n.ms2mrc) {\n    var s;\n    e.ms === \"various\" || o.size === \"various\" ? s = 3 : s = n.ms2mrc(e.ms), e.mrc = s, n.selectedSizeFn && (s = e.mrc = n.selectedSizeFn(e));\n    var u = ut.symbolNumber(e.mx || o.symbol) || 0;\n    e.om = u % 200 >= 100;\n    var f = gb(e, r), d = mb(e, r);\n    t.attr(\"d\", A4(u, s, f, d));\n  }\n  var h = !1, p, v, m;\n  if (e.so)\n    m = l.outlierwidth, v = l.outliercolor, p = o.outliercolor;\n  else {\n    var g = (l || {}).width;\n    m = (e.mlw + 1 || g + 1 || // TODO: we need the latter for legends... can we get rid of it?\n    (e.trace ? (e.trace.marker.line || {}).width : 0) + 1) - 1 || 0, \"mlc\" in e ? v = e.mlcc = n.lineScale(e.mlc) : Tr.isArrayOrTypedArray(l.color) ? v = Dn.defaultLine : v = l.color, Tr.isArrayOrTypedArray(o.color) && (p = Dn.defaultLine, h = !0), \"mc\" in e ? p = e.mcc = n.markerScale(e.mc) : p = o.color || o.colors || \"rgba(0,0,0,0)\", n.selectedColorFn && (p = n.selectedColorFn(e));\n  }\n  if (e.om)\n    t.call(Dn.stroke, p).style({\n      \"stroke-width\": (m || 1) + \"px\",\n      fill: \"none\"\n    });\n  else {\n    t.style(\"stroke-width\", (e.isBlank ? 0 : m) + \"px\");\n    var y = o.gradient, w = e.mgt;\n    w ? h = !0 : w = y && y.type, Tr.isArrayOrTypedArray(w) && (w = w[0], M4[w] || (w = 0));\n    var k = o.pattern, x = k && ut.getPatternAttr(k.shape, e.i, \"\");\n    if (w && w !== \"none\") {\n      var _ = e.mgc;\n      _ ? h = !0 : _ = y.color;\n      var T = r.uid;\n      h && (T += \"-\" + e.i), ut.gradient(\n        t,\n        a,\n        T,\n        w,\n        [[0, _], [1, p]],\n        \"fill\"\n      );\n    } else if (x) {\n      var S = !1, M = k.fgcolor;\n      !M && i && i.color && (M = i.color, S = !0);\n      var L = ut.getPatternAttr(M, e.i, i && i.color || null), F = ut.getPatternAttr(k.bgcolor, e.i, null), $ = k.fgopacity, I = ut.getPatternAttr(k.size, e.i, 8), O = ut.getPatternAttr(k.solidity, e.i, 0.3);\n      S = S || e.mcc || Tr.isArrayOrTypedArray(k.shape) || Tr.isArrayOrTypedArray(k.bgcolor) || Tr.isArrayOrTypedArray(k.fgcolor) || Tr.isArrayOrTypedArray(k.size) || Tr.isArrayOrTypedArray(k.solidity);\n      var G = r.uid;\n      S && (G += \"-\" + e.i), ut.pattern(\n        t,\n        \"point\",\n        a,\n        G,\n        x,\n        I,\n        O,\n        e.mcc,\n        k.fillmode,\n        F,\n        L,\n        $\n      );\n    } else\n      Tr.isArrayOrTypedArray(p) ? Dn.fill(t, p[e.i]) : Dn.fill(t, p);\n    m && Dn.stroke(t, v);\n  }\n};\nut.makePointStyleFns = function(e) {\n  var t = {}, r = e.marker;\n  return t.markerScale = ut.tryColorscale(r, \"\"), t.lineScale = ut.tryColorscale(r, \"line\"), Sp.traceIs(e, \"symbols\") && (t.ms2mrc = uZ.isBubble(e) ? fZ(e) : function() {\n    return (r.size || 6) / 2;\n  }), e.selectedpoints && Tr.extendFlat(t, ut.makeSelectedPointStyleFns(e)), t;\n};\nut.makeSelectedPointStyleFns = function(e) {\n  var t = {}, r = e.selected || {}, n = e.unselected || {}, a = e.marker || {}, i = r.marker || {}, o = n.marker || {}, l = a.opacity, s = i.opacity, u = o.opacity, f = s !== void 0, d = u !== void 0;\n  (Tr.isArrayOrTypedArray(l) || f || d) && (t.selectedOpacityFn = function(x) {\n    var _ = x.mo === void 0 ? a.opacity : x.mo;\n    return x.selected ? f ? s : _ : d ? u : T4 * _;\n  });\n  var h = a.color, p = i.color, v = o.color;\n  (p || v) && (t.selectedColorFn = function(x) {\n    var _ = x.mcc || h;\n    return x.selected ? p || _ : v || _;\n  });\n  var m = a.size, g = i.size, y = o.size, w = g !== void 0, k = y !== void 0;\n  return Sp.traceIs(e, \"symbols\") && (w || k) && (t.selectedSizeFn = function(x) {\n    var _ = x.mrc || m / 2;\n    return x.selected ? w ? g / 2 : _ : k ? y / 2 : _;\n  }), t;\n};\nut.makeSelectedTextStyleFns = function(e) {\n  var t = {}, r = e.selected || {}, n = e.unselected || {}, a = e.textfont || {}, i = r.textfont || {}, o = n.textfont || {}, l = a.color, s = i.color, u = o.color;\n  return t.selectedTextColorFn = function(f) {\n    var d = f.tc || l;\n    return f.selected ? s || d : u || (s ? d : Dn.addOpacity(d, T4));\n  }, t;\n};\nut.selectedPointStyle = function(e, t) {\n  if (!(!e.size() || !t.selectedpoints)) {\n    var r = ut.makeSelectedPointStyleFns(t), n = t.marker || {}, a = [];\n    r.selectedOpacityFn && a.push(function(i, o) {\n      i.style(\"opacity\", r.selectedOpacityFn(o));\n    }), r.selectedColorFn && a.push(function(i, o) {\n      Dn.fill(i, r.selectedColorFn(o));\n    }), r.selectedSizeFn && a.push(function(i, o) {\n      var l = o.mx || n.symbol || 0, s = r.selectedSizeFn(o);\n      i.attr(\"d\", A4(ut.symbolNumber(l), s, gb(o, t), mb(o, t))), o.mrc2 = s;\n    }), a.length && e.each(function(i) {\n      for (var o = mn.select(this), l = 0; l < a.length; l++)\n        a[l](o, i);\n    });\n  }\n};\nut.tryColorscale = function(e, t) {\n  var r = t ? Tr.nestedProperty(e, t).get() : e;\n  if (r) {\n    var n = r.color;\n    if ((r.colorscale || r._colorAx) && Tr.isArrayOrTypedArray(n))\n      return iZ.makeColorScaleFuncFromTrace(r);\n  }\n  return Tr.identity;\n};\nvar lg = {\n  start: 1,\n  end: -1,\n  middle: 0,\n  bottom: 1,\n  top: -1\n};\nfunction S4(e, t, r, n, a) {\n  var i = mn.select(e.node().parentNode), o = t.indexOf(\"top\") !== -1 ? \"top\" : t.indexOf(\"bottom\") !== -1 ? \"bottom\" : \"middle\", l = t.indexOf(\"left\") !== -1 ? \"end\" : t.indexOf(\"right\") !== -1 ? \"start\" : \"middle\", s = n ? n / 0.8 + 1 : 0, u = (vb.lineCount(e) - 1) * sZ + 1, f = lg[l] * s, d = r * 0.75 + lg[o] * s + (lg[o] - 1) * u * r / 2;\n  e.attr(\"text-anchor\", l), a || i.attr(\"transform\", wc(f, d));\n}\nfunction C4(e, t) {\n  var r = e.ts || t.textfont.size;\n  return ls(r) && r > 0 ? r : 0;\n}\nut.textPointStyle = function(e, t, r) {\n  if (e.size()) {\n    var n;\n    if (t.selectedpoints) {\n      var a = ut.makeSelectedTextStyleFns(t);\n      n = a.selectedTextColorFn;\n    }\n    var i = t.texttemplate, o = r._fullLayout;\n    e.each(function(l) {\n      var s = mn.select(this), u = i ? Tr.extractOption(l, t, \"txt\", \"texttemplate\") : Tr.extractOption(l, t, \"tx\", \"text\");\n      if (!u && u !== 0) {\n        s.remove();\n        return;\n      }\n      if (i) {\n        var f = t._module.formatLabels, d = f ? f(l, t, o) : {}, h = {};\n        cZ(h, t, l.i);\n        var p = t._meta || {};\n        u = Tr.texttemplateString(u, d, o._d3locale, h, l, p);\n      }\n      var v = l.tp || t.textposition, m = C4(l, t), g = n ? n(l) : l.tc || t.textfont.color;\n      s.call(\n        ut.font,\n        l.tf || t.textfont.family,\n        m,\n        g\n      ).text(u).call(vb.convertToTspans, r).call(S4, v, m, l.mrc);\n    });\n  }\n};\nut.selectedTextStyle = function(e, t) {\n  if (!(!e.size() || !t.selectedpoints)) {\n    var r = ut.makeSelectedTextStyleFns(t);\n    e.each(function(n) {\n      var a = mn.select(this), i = r.selectedTextColorFn(n), o = n.tp || t.textposition, l = C4(n, t);\n      Dn.fill(a, i);\n      var s = Sp.traceIs(t, \"bar-like\");\n      S4(a, o, l, n.mrc2 || n.mrc, s);\n    });\n  }\n};\nvar wT = 0.5;\nut.smoothopen = function(e, t) {\n  if (e.length < 3)\n    return \"M\" + e.join(\"L\");\n  var r = \"M\" + e[0], n = [], a;\n  for (a = 1; a < e.length - 1; a++)\n    n.push(zh(e[a - 1], e[a], e[a + 1], t));\n  for (r += \"Q\" + n[0][0] + \" \" + e[1], a = 2; a < e.length - 1; a++)\n    r += \"C\" + n[a - 2][1] + \" \" + n[a - 1][0] + \" \" + e[a];\n  return r += \"Q\" + n[e.length - 3][1] + \" \" + e[e.length - 1], r;\n};\nut.smoothclosed = function(e, t) {\n  if (e.length < 3)\n    return \"M\" + e.join(\"L\") + \"Z\";\n  var r = \"M\" + e[0], n = e.length - 1, a = [zh(e[n], e[0], e[1], t)], i;\n  for (i = 1; i < n; i++)\n    a.push(zh(e[i - 1], e[i], e[i + 1], t));\n  for (a.push(\n    zh(e[n - 1], e[n], e[0], t)\n  ), i = 1; i <= n; i++)\n    r += \"C\" + a[i - 1][1] + \" \" + a[i][0] + \" \" + e[i];\n  return r += \"C\" + a[n][1] + \" \" + a[0][0] + \" \" + e[0] + \"Z\", r;\n};\nvar L4, D4;\nfunction fu(e, t, r) {\n  return r && (e = E4(e)), t ? Yl(e[1]) : Zl(e[0]);\n}\nfunction Zl(e) {\n  var t = mn.round(e, 2);\n  return L4 = t, t;\n}\nfunction Yl(e) {\n  var t = mn.round(e, 2);\n  return D4 = t, t;\n}\nfunction zh(e, t, r, n) {\n  var a = e[0] - t[0], i = e[1] - t[1], o = r[0] - t[0], l = r[1] - t[1], s = Math.pow(a * a + i * i, wT / 2), u = Math.pow(o * o + l * l, wT / 2), f = (u * u * a - s * s * o) * n, d = (u * u * i - s * s * l) * n, h = 3 * u * (s + u), p = 3 * s * (s + u);\n  return [\n    [\n      Zl(t[0] + (h && f / h)),\n      Yl(t[1] + (h && d / h))\n    ],\n    [\n      Zl(t[0] - (p && f / p)),\n      Yl(t[1] - (p && d / p))\n    ]\n  ];\n}\nvar vZ = {\n  hv: function(e, t, r) {\n    return \"H\" + Zl(t[0]) + \"V\" + fu(t, 1, r);\n  },\n  vh: function(e, t, r) {\n    return \"V\" + Yl(t[1]) + \"H\" + fu(t, 0, r);\n  },\n  hvh: function(e, t, r) {\n    return \"H\" + Zl((e[0] + t[0]) / 2) + \"V\" + Yl(t[1]) + \"H\" + fu(t, 0, r);\n  },\n  vhv: function(e, t, r) {\n    return \"V\" + Yl((e[1] + t[1]) / 2) + \"H\" + Zl(t[0]) + \"V\" + fu(t, 1, r);\n  }\n}, pZ = function(e, t, r) {\n  return \"L\" + fu(t, 0, r) + \",\" + fu(t, 1, r);\n};\nut.steps = function(e) {\n  var t = vZ[e] || pZ;\n  return function(r) {\n    for (var n = \"M\" + Zl(r[0][0]) + \",\" + Yl(r[0][1]), a = r.length, i = 1; i < a; i++)\n      n += t(r[i - 1], r[i], i === a - 1);\n    return n;\n  };\n};\nfunction E4(e, t) {\n  var r = e.backoff, n = e.trace, a = e.d, i = e.i;\n  if (r && n && n.marker && n.marker.angle % 360 === 0 && n.line && n.line.shape !== \"spline\") {\n    var o = Tr.isArrayOrTypedArray(r), l = e, s = t ? t[0] : L4 || 0, u = t ? t[1] : D4 || 0, f = l[0], d = l[1], h = f - s, p = d - u, v = Math.atan2(p, h), m = o ? r[i] : r;\n    if (m === \"auto\") {\n      var g = l.i;\n      n.type === \"scatter\" && g--;\n      var y = l.marker, w = y.symbol;\n      Tr.isArrayOrTypedArray(w) && (w = w[g]);\n      var k = y.size;\n      Tr.isArrayOrTypedArray(k) && (k = k[g]), m = y ? ut.symbolBackOffs[ut.symbolNumber(w)] * k : 0, m += ut.getMarkerStandoff(a[g], n) || 0;\n    }\n    var x = f - m * Math.cos(v), _ = d - m * Math.sin(v);\n    (x <= f && x >= s || x >= f && x <= s) && (_ <= d && _ >= u || _ >= d && _ <= u) && (e = [x, _]);\n  }\n  return e;\n}\nut.applyBackoff = E4;\nut.makeTester = function() {\n  var e = Tr.ensureSingleById(mn.select(\"body\"), \"svg\", \"js-plotly-tester\", function(r) {\n    r.attr(oZ.svgAttrs).style({\n      position: \"absolute\",\n      left: \"-10000px\",\n      top: \"-10000px\",\n      width: \"9000px\",\n      height: \"9000px\",\n      \"z-index\": \"1\"\n    });\n  }), t = Tr.ensureSingle(e, \"path\", \"js-reference-point\", function(r) {\n    r.attr(\"d\", \"M0,0H1V1H0Z\").style({\n      \"stroke-width\": 0,\n      fill: \"black\"\n    });\n  });\n  ut.tester = e, ut.testref = t;\n};\nut.savedBBoxes = {};\nvar sg = 0, mZ = 1e4;\nut.bBox = function(e, t, r) {\n  r || (r = TT(e));\n  var n;\n  if (r) {\n    if (n = ut.savedBBoxes[r], n) return Tr.extendFlat({}, n);\n  } else if (e.childNodes.length === 1) {\n    var a = e.childNodes[0];\n    if (r = TT(a), r) {\n      var i = +a.getAttribute(\"x\") || 0, o = +a.getAttribute(\"y\") || 0, l = a.getAttribute(\"transform\");\n      if (!l) {\n        var s = ut.bBox(a, !1, r);\n        return i && (s.left += i, s.right += i), o && (s.top += o, s.bottom += o), s;\n      }\n      if (r += \"~\" + i + \"~\" + o + \"~\" + l, n = ut.savedBBoxes[r], n) return Tr.extendFlat({}, n);\n    }\n  }\n  var u, f;\n  t ? u = e : (f = ut.tester.node(), u = e.cloneNode(!0), f.appendChild(u)), mn.select(u).attr(\"transform\", null).call(vb.positionText, 0, 0);\n  var d = u.getBoundingClientRect(), h = ut.testref.node().getBoundingClientRect();\n  t || f.removeChild(u);\n  var p = {\n    height: d.height,\n    width: d.width,\n    left: d.left - h.left,\n    top: d.top - h.top,\n    right: d.right - h.left,\n    bottom: d.bottom - h.top\n  };\n  return sg >= mZ && (ut.savedBBoxes = {}, sg = 0), r && (ut.savedBBoxes[r] = p), sg++, Tr.extendFlat({}, p);\n};\nfunction TT(e) {\n  var t = e.getAttribute(\"data-unformatted\");\n  if (t !== null)\n    return t + e.getAttribute(\"data-math\") + e.getAttribute(\"text-anchor\") + e.getAttribute(\"style\");\n}\nut.setClipUrl = function(e, t, r) {\n  e.attr(\"clip-path\", pb(t, r));\n};\nfunction pb(e, t) {\n  if (!e) return null;\n  var r = t._context, n = r._exportedPlot ? \"\" : r._baseUrl || \"\";\n  return n ? \"url('\" + n + \"#\" + e + \"')\" : \"url(#\" + e + \")\";\n}\nut.getTranslate = function(e) {\n  var t = /.*\\btranslate\\((-?\\d*\\.?\\d*)[^-\\d]*(-?\\d*\\.?\\d*)[^\\d].*/, r = e.attr ? \"attr\" : \"getAttribute\", n = e[r](\"transform\") || \"\", a = n.replace(t, function(i, o, l) {\n    return [o, l].join(\" \");\n  }).split(\" \");\n  return {\n    x: +a[0] || 0,\n    y: +a[1] || 0\n  };\n};\nut.setTranslate = function(e, t, r) {\n  var n = /(\\btranslate\\(.*?\\);?)/, a = e.attr ? \"attr\" : \"getAttribute\", i = e.attr ? \"attr\" : \"setAttribute\", o = e[a](\"transform\") || \"\";\n  return t = t || 0, r = r || 0, o = o.replace(n, \"\").trim(), o += wc(t, r), o = o.trim(), e[i](\"transform\", o), o;\n};\nut.getScale = function(e) {\n  var t = /.*\\bscale\\((\\d*\\.?\\d*)[^\\d]*(\\d*\\.?\\d*)[^\\d].*/, r = e.attr ? \"attr\" : \"getAttribute\", n = e[r](\"transform\") || \"\", a = n.replace(t, function(i, o, l) {\n    return [o, l].join(\" \");\n  }).split(\" \");\n  return {\n    x: +a[0] || 1,\n    y: +a[1] || 1\n  };\n};\nut.setScale = function(e, t, r) {\n  var n = /(\\bscale\\(.*?\\);?)/, a = e.attr ? \"attr\" : \"getAttribute\", i = e.attr ? \"attr\" : \"setAttribute\", o = e[a](\"transform\") || \"\";\n  return t = t || 1, r = r || 1, o = o.replace(n, \"\").trim(), o += \"scale(\" + t + \",\" + r + \")\", o = o.trim(), e[i](\"transform\", o), o;\n};\nvar gZ = /\\s*sc.*/;\nut.setPointGroupScale = function(e, t, r) {\n  if (t = t || 1, r = r || 1, !!e) {\n    var n = t === 1 && r === 1 ? \"\" : \"scale(\" + t + \",\" + r + \")\";\n    e.each(function() {\n      var a = (this.getAttribute(\"transform\") || \"\").replace(gZ, \"\");\n      a += n, a = a.trim(), this.setAttribute(\"transform\", a);\n    });\n  }\n};\nvar yZ = /translate\\([^)]*\\)\\s*$/;\nut.setTextPointsScale = function(e, t, r) {\n  e && e.each(function() {\n    var n, a = mn.select(this), i = a.select(\"text\");\n    if (i.node()) {\n      var o = parseFloat(i.attr(\"x\") || 0), l = parseFloat(i.attr(\"y\") || 0), s = (a.attr(\"transform\") || \"\").match(yZ);\n      t === 1 && r === 1 ? n = [] : n = [\n        wc(o, l),\n        \"scale(\" + t + \",\" + r + \")\",\n        wc(-o, -l)\n      ], s && n.push(s), a.attr(\"transform\", n.join(\"\"));\n    }\n  });\n};\nfunction mb(e, t) {\n  var r;\n  return e && (r = e.mf), r === void 0 && (r = t.marker && t.marker.standoff || 0), !t._geo && !t._xA ? -r : r;\n}\nut.getMarkerStandoff = mb;\nvar Mf = Math.atan2, Il = Math.cos, cu = Math.sin;\nfunction kT(e, t) {\n  var r = t[0], n = t[1];\n  return [\n    r * Il(e) - n * cu(e),\n    r * cu(e) + n * Il(e)\n  ];\n}\nvar AT, MT, ST, CT, ug, fg;\nfunction gb(e, t) {\n  var r = e.ma;\n  r === void 0 && (r = t.marker.angle, (!r || Tr.isArrayOrTypedArray(r)) && (r = 0));\n  var n, a, i = t.marker.angleref;\n  if (i === \"previous\" || i === \"north\") {\n    if (t._geo) {\n      var o = t._geo.project(e.lonlat);\n      n = o[0], a = o[1];\n    } else {\n      var l = t._xA, s = t._yA;\n      if (l && s)\n        n = l.c2p(e.x), a = s.c2p(e.y);\n      else\n        return 90;\n    }\n    if (t._geo) {\n      var u = e.lonlat[0], f = e.lonlat[1], d = t._geo.project([\n        u,\n        f + 1e-5\n        // epsilon\n      ]), h = t._geo.project([\n        u + 1e-5,\n        // epsilon\n        f\n      ]), p = Mf(\n        h[1] - a,\n        h[0] - n\n      ), v = Mf(\n        d[1] - a,\n        d[0] - n\n      ), m;\n      if (i === \"north\")\n        m = r / 180 * Math.PI;\n      else if (i === \"previous\") {\n        var g = u / 180 * Math.PI, y = f / 180 * Math.PI, w = AT / 180 * Math.PI, k = MT / 180 * Math.PI, x = w - g, _ = Il(k) * cu(x), T = cu(k) * Il(y) - Il(k) * cu(y) * Il(x);\n        m = -Mf(\n          _,\n          T\n        ) - Math.PI, AT = u, MT = f;\n      }\n      var S = kT(p, [Il(m), 0]), M = kT(v, [cu(m), 0]);\n      r = Mf(\n        S[1] + M[1],\n        S[0] + M[0]\n      ) / Math.PI * 180, i === \"previous\" && !(fg === t.uid && e.i === ug + 1) && (r = null);\n    }\n    if (i === \"previous\" && !t._geo)\n      if (fg === t.uid && e.i === ug + 1 && ls(n) && ls(a)) {\n        var L = n - ST, F = a - CT, $ = t.line && t.line.shape || \"\", I = $.slice($.length - 1);\n        I === \"h\" && (F = 0), I === \"v\" && (L = 0), r += Mf(F, L) / Math.PI * 180 + 90;\n      } else\n        r = null;\n  }\n  return ST = n, CT = a, ug = e.i, fg = t.uid, r;\n}\nut.getMarkerAngle = gb;\nvar Sr = n4.exports, Vd = lr, bZ = sr, LT = Tn, DT = Nt, nu = Ue, ET = nu.strTranslate, FT = Sr, RT = nr, cg = Rn, PT = q1, _Z = On.OPPOSITE_SIDE, $T = / [XY][0-9]* /;\nfunction xZ(e, t, r) {\n  var n = r.propContainer, a = r.propName, i = r.placeholder, o = r.traceIndex, l = r.avoid || {}, s = r.attributes, u = r.transform, f = r.containerGroup, d = e._fullLayout, h = 1, p = !1, v = n.title, m = (v && v.text ? v.text : \"\").trim(), g = v && v.font ? v.font : {}, y = g.family, w = g.size, k = g.color, x;\n  a === \"title.text\" ? x = \"titleText\" : a.indexOf(\"axis\") !== -1 ? x = \"axisTitleText\" : a.indexOf(\"colorbar\" !== -1) && (x = \"colorbarTitleText\");\n  var _ = e._context.edits[x];\n  m === \"\" ? h = 0 : m.replace($T, \" % \") === i.replace($T, \" % \") && (h = 0.2, p = !0, _ || (m = \"\")), r._meta ? m = nu.templateString(m, r._meta) : d._meta && (m = nu.templateString(m, d._meta));\n  var T = m || _, S;\n  f || (f = nu.ensureSingle(d._infolayer, \"g\", \"g-\" + t), S = d._hColorbarMoveTitle);\n  var M = f.selectAll(\"text\").data(T ? [0] : []);\n  if (M.enter().append(\"text\"), M.text(m).attr(\"class\", t), M.exit().remove(), !T) return f;\n  function L(O) {\n    nu.syncOrAsync([F, $], O);\n  }\n  function F(O) {\n    var G;\n    return !u && S && (u = {}), u ? (G = \"\", u.rotate && (G += \"rotate(\" + [u.rotate, s.x, s.y] + \")\"), (u.offset || S) && (G += ET(0, (u.offset || 0) - (S || 0)))) : G = null, O.attr(\"transform\", G), O.style({\n      \"font-family\": y,\n      \"font-size\": Vd.round(w, 2) + \"px\",\n      fill: RT.rgb(k),\n      opacity: h * RT.opacity(k),\n      \"font-weight\": LT.fontWeight\n    }).attr(s).call(cg.convertToTspans, e), LT.previousPromises(e);\n  }\n  function $(O) {\n    var G = Vd.select(O.node().parentNode);\n    if (l && l.selection && l.side && m) {\n      G.attr(\"transform\", null);\n      var K = _Z[l.side], V = l.side === \"left\" || l.side === \"top\" ? -1 : 1, z = bZ(l.pad) ? l.pad : 2, P = FT.bBox(G.node()), R = { t: 0, b: 0, l: 0, r: 0 }, H = e._fullLayout._reservedMargin;\n      for (var B in H)\n        for (var W in H[B]) {\n          var ee = H[B][W];\n          R[W] = Math.max(R[W], ee);\n        }\n      var re = {\n        left: R.l,\n        top: R.t,\n        right: d.width - R.r,\n        bottom: d.height - R.b\n      }, ae = l.maxShift || V * (re[l.side] - P[l.side]), Q = 0;\n      if (ae < 0)\n        Q = ae;\n      else {\n        var ue = l.offsetLeft || 0, j = l.offsetTop || 0;\n        P.left -= ue, P.right -= ue, P.top -= j, P.bottom -= j, l.selection.each(function() {\n          var Z = FT.bBox(this);\n          nu.bBoxIntersect(P, Z, z) && (Q = Math.max(Q, V * (Z[l.side] - P[K]) + z));\n        }), Q = Math.min(ae, Q), n._titleScoot = Math.abs(Q);\n      }\n      if (Q > 0 || ae < 0) {\n        var U = {\n          left: [-Q, 0],\n          right: [Q, 0],\n          top: [0, -Q],\n          bottom: [0, Q]\n        }[l.side];\n        G.attr(\"transform\", ET(U[0], U[1]));\n      }\n    }\n  }\n  M.call(L);\n  function I() {\n    h = 0, p = !0, M.text(i).on(\"mouseover.opacity\", function() {\n      Vd.select(this).transition().duration(PT.SHOW_PLACEHOLDER).style(\"opacity\", 1);\n    }).on(\"mouseout.opacity\", function() {\n      Vd.select(this).transition().duration(PT.HIDE_PLACEHOLDER).style(\"opacity\", 0);\n    });\n  }\n  return _ && (m ? M.on(\".opacity\", null) : I(), M.call(cg.makeEditable, { gd: e }).on(\"edit\", function(O) {\n    o !== void 0 ? DT.call(\"_guiRestyle\", e, a, O, o) : DT.call(\"_guiRelayout\", e, a, O);\n  }).on(\"cancel\", function() {\n    this.text(this.attr(\"data-unformatted\")).call(L);\n  }).on(\"input\", function(O) {\n    this.text(O || \" \").call(cg.positionText, s.x, s.y);\n  })), M.classed(\"js-placeholder\", p), f;\n}\nvar Cp = {\n  draw: xZ\n}, wZ = lr, TZ = _c.utcFormat, Dr = Ue, kZ = Dr.numberFormat, Mi = sr, No = Dr.cleanNumber, AZ = Dr.ms2DateTime, zT = Dr.dateTime2ms, Si = Dr.ensureNumber, IT = Dr.isArrayOrTypedArray, bl = Qr, qd = bl.FP_SAFE, ti = bl.BADNUM, MZ = bl.LOG_CLIP, SZ = bl.ONEWEEK, Wd = bl.ONEDAY, Zd = bl.ONEHOUR, NT = bl.ONEMIN, OT = bl.ONESEC, Yd = gn, fv = Yn, Xd = fv.HOUR_PATTERN, Kd = fv.WEEKDAY_PATTERN;\nfunction Sf(e) {\n  return Math.pow(10, e);\n}\nfunction dg(e) {\n  return e != null;\n}\nvar yb = function(t, r) {\n  r = r || {};\n  var n = t._id || \"x\", a = n.charAt(0);\n  function i(x, _) {\n    if (x > 0) return Math.log(x) / Math.LN10;\n    if (x <= 0 && _ && t.range && t.range.length === 2) {\n      var T = t.range[0], S = t.range[1];\n      return 0.5 * (T + S - 2 * MZ * Math.abs(T - S));\n    } else return ti;\n  }\n  function o(x, _, T, S) {\n    if ((S || {}).msUTC && Mi(x))\n      return +x;\n    var M = zT(x, T || t.calendar);\n    if (M === ti)\n      if (Mi(x)) {\n        x = +x;\n        var L = Math.floor(Dr.mod(x + 0.05, 1) * 10), F = Math.round(x - L / 10);\n        M = zT(new Date(F)) + L / 10;\n      } else return ti;\n    return M;\n  }\n  function l(x, _, T) {\n    return AZ(x, _, T || t.calendar);\n  }\n  function s(x) {\n    return t._categories[Math.round(x)];\n  }\n  function u(x) {\n    if (dg(x)) {\n      if (t._categoriesMap === void 0 && (t._categoriesMap = {}), t._categoriesMap[x] !== void 0)\n        return t._categoriesMap[x];\n      t._categories.push(typeof x == \"number\" ? String(x) : x);\n      var _ = t._categories.length - 1;\n      return t._categoriesMap[x] = _, _;\n    }\n    return ti;\n  }\n  function f(x, _) {\n    for (var T = new Array(_), S = 0; S < _; S++) {\n      var M = (x[0] || [])[S], L = (x[1] || [])[S];\n      T[S] = d([M, L]);\n    }\n    return T;\n  }\n  function d(x) {\n    if (t._categoriesMap)\n      return t._categoriesMap[x];\n  }\n  function h(x) {\n    var _ = d(x);\n    if (_ !== void 0) return _;\n    if (Mi(x)) return +x;\n  }\n  function p(x) {\n    return Mi(x) ? +x : d(x);\n  }\n  function v(x, _, T) {\n    return wZ.round(T + _ * x, 2);\n  }\n  function m(x, _, T) {\n    return (x - T) / _;\n  }\n  var g = function(_) {\n    return Mi(_) ? v(_, t._m, t._b) : ti;\n  }, y = function(x) {\n    return m(x, t._m, t._b);\n  };\n  if (t.rangebreaks) {\n    var w = a === \"y\";\n    g = function(x) {\n      if (!Mi(x)) return ti;\n      var _ = t._rangebreaks.length;\n      if (!_) return v(x, t._m, t._b);\n      var T = w;\n      t.range[0] > t.range[1] && (T = !T);\n      for (var S = T ? -1 : 1, M = S * x, L = 0, F = 0; F < _; F++) {\n        var $ = S * t._rangebreaks[F].min, I = S * t._rangebreaks[F].max;\n        if (M < $) break;\n        if (M > I) L = F + 1;\n        else {\n          L = M < ($ + I) / 2 ? F : F + 1;\n          break;\n        }\n      }\n      var O = t._B[L] || 0;\n      return isFinite(O) ? v(x, t._m2, O) : 0;\n    }, y = function(x) {\n      var _ = t._rangebreaks.length;\n      if (!_) return m(x, t._m, t._b);\n      for (var T = 0, S = 0; S < _ && !(x < t._rangebreaks[S].pmin); S++)\n        x > t._rangebreaks[S].pmax && (T = S + 1);\n      return m(x, t._m2, t._B[T]);\n    };\n  }\n  t.c2l = t.type === \"log\" ? i : Si, t.l2c = t.type === \"log\" ? Sf : Si, t.l2p = g, t.p2l = y, t.c2p = t.type === \"log\" ? function(x, _) {\n    return g(i(x, _));\n  } : g, t.p2c = t.type === \"log\" ? function(x) {\n    return Sf(y(x));\n  } : y, [\"linear\", \"-\"].indexOf(t.type) !== -1 ? (t.d2r = t.r2d = t.d2c = t.r2c = t.d2l = t.r2l = No, t.c2d = t.c2r = t.l2d = t.l2r = Si, t.d2p = t.r2p = function(x) {\n    return t.l2p(No(x));\n  }, t.p2d = t.p2r = y, t.cleanPos = Si) : t.type === \"log\" ? (t.d2r = t.d2l = function(x, _) {\n    return i(No(x), _);\n  }, t.r2d = t.r2c = function(x) {\n    return Sf(No(x));\n  }, t.d2c = t.r2l = No, t.c2d = t.l2r = Si, t.c2r = i, t.l2d = Sf, t.d2p = function(x, _) {\n    return t.l2p(t.d2r(x, _));\n  }, t.p2d = function(x) {\n    return Sf(y(x));\n  }, t.r2p = function(x) {\n    return t.l2p(No(x));\n  }, t.p2r = y, t.cleanPos = Si) : t.type === \"date\" ? (t.d2r = t.r2d = Dr.identity, t.d2c = t.r2c = t.d2l = t.r2l = o, t.c2d = t.c2r = t.l2d = t.l2r = l, t.d2p = t.r2p = function(x, _, T) {\n    return t.l2p(o(x, 0, T));\n  }, t.p2d = t.p2r = function(x, _, T) {\n    return l(y(x), _, T);\n  }, t.cleanPos = function(x) {\n    return Dr.cleanDate(x, ti, t.calendar);\n  }) : t.type === \"category\" ? (t.d2c = t.d2l = u, t.r2d = t.c2d = t.l2d = s, t.d2r = t.d2l_noadd = h, t.r2c = function(x) {\n    var _ = p(x);\n    return _ !== void 0 ? _ : t.fraction2r(0.5);\n  }, t.l2r = t.c2r = Si, t.r2l = p, t.d2p = function(x) {\n    return t.l2p(t.r2c(x));\n  }, t.p2d = function(x) {\n    return s(y(x));\n  }, t.r2p = t.d2p, t.p2r = y, t.cleanPos = function(x) {\n    return typeof x == \"string\" && x !== \"\" ? x : Si(x);\n  }) : t.type === \"multicategory\" && (t.r2d = t.c2d = t.l2d = s, t.d2r = t.d2l_noadd = h, t.r2c = function(x) {\n    var _ = h(x);\n    return _ !== void 0 ? _ : t.fraction2r(0.5);\n  }, t.r2c_just_indices = d, t.l2r = t.c2r = Si, t.r2l = h, t.d2p = function(x) {\n    return t.l2p(t.r2c(x));\n  }, t.p2d = function(x) {\n    return s(y(x));\n  }, t.r2p = t.d2p, t.p2r = y, t.cleanPos = function(x) {\n    return Array.isArray(x) || typeof x == \"string\" && x !== \"\" ? x : Si(x);\n  }, t.setupMultiCategory = function(x) {\n    var _ = t._traceIndices, T, S, M = t._matchGroup;\n    if (M && t._categories.length === 0) {\n      for (var L in M)\n        if (L !== n) {\n          var F = r[Yd.id2name(L)];\n          _ = _.concat(F._traceIndices);\n        }\n    }\n    var $ = [[0, {}], [0, {}]], I = [];\n    for (T = 0; T < _.length; T++) {\n      var O = x[_[T]];\n      if (a in O) {\n        var G = O[a], K = O._length || Dr.minRowLength(G);\n        if (IT(G[0]) && IT(G[1]))\n          for (S = 0; S < K; S++) {\n            var V = G[0][S], z = G[1][S];\n            dg(V) && dg(z) && (I.push([V, z]), V in $[0][1] || ($[0][1][V] = $[0][0]++), z in $[1][1] || ($[1][1][z] = $[1][0]++));\n          }\n      }\n    }\n    for (I.sort(function(P, R) {\n      var H = $[0][1], B = H[P[0]] - H[R[0]];\n      if (B) return B;\n      var W = $[1][1];\n      return W[P[1]] - W[R[1]];\n    }), T = 0; T < I.length; T++)\n      u(I[T]);\n  }), t.fraction2r = function(x) {\n    var _ = t.r2l(t.range[0]), T = t.r2l(t.range[1]);\n    return t.l2r(_ + x * (T - _));\n  }, t.r2fraction = function(x) {\n    var _ = t.r2l(t.range[0]), T = t.r2l(t.range[1]);\n    return (t.r2l(x) - _) / (T - _);\n  }, t.limitRange = function(x) {\n    var _ = t.minallowed, T = t.maxallowed;\n    if (!(_ === void 0 && T === void 0)) {\n      x || (x = \"range\");\n      var S = Dr.nestedProperty(t, x).get(), M = Dr.simpleMap(S, t.r2l), L = M[1] < M[0];\n      L && M.reverse();\n      var F = Dr.simpleMap([_, T], t.r2l);\n      if (_ !== void 0 && M[0] < F[0] && (S[L ? 1 : 0] = _), T !== void 0 && M[1] > F[1] && (S[L ? 0 : 1] = T), S[0] === S[1]) {\n        var $ = t.l2r(_), I = t.l2r(T);\n        if (_ !== void 0) {\n          var O = $ + 1;\n          T !== void 0 && (O = Math.min(O, I)), S[L ? 1 : 0] = O;\n        }\n        if (T !== void 0) {\n          var G = I + 1;\n          _ !== void 0 && (G = Math.max(G, $)), S[L ? 0 : 1] = G;\n        }\n      }\n    }\n  }, t.cleanRange = function(x, _) {\n    t._cleanRange(x, _), t.limitRange(x);\n  }, t._cleanRange = function(x, _) {\n    _ || (_ = {}), x || (x = \"range\");\n    var T = Dr.nestedProperty(t, x).get(), S, M;\n    if (t.type === \"date\" ? M = Dr.dfltRange(t.calendar) : a === \"y\" ? M = fv.DFLTRANGEY : t._name === \"realaxis\" ? M = [0, 1] : M = _.dfltRange || fv.DFLTRANGEX, M = M.slice(), (t.rangemode === \"tozero\" || t.rangemode === \"nonnegative\") && (M[0] = 0), !T || T.length !== 2) {\n      Dr.nestedProperty(t, x).set(M);\n      return;\n    }\n    var L = T[0] === null, F = T[1] === null;\n    for (t.type === \"date\" && !t.autorange && (T[0] = Dr.cleanDate(T[0], ti, t.calendar), T[1] = Dr.cleanDate(T[1], ti, t.calendar)), S = 0; S < 2; S++)\n      if (t.type === \"date\") {\n        if (!Dr.isDateTime(T[S], t.calendar)) {\n          t[x] = M;\n          break;\n        }\n        if (t.r2l(T[0]) === t.r2l(T[1])) {\n          var $ = Dr.constrain(\n            t.r2l(T[0]),\n            Dr.MIN_MS + 1e3,\n            Dr.MAX_MS - 1e3\n          );\n          T[0] = t.l2r($ - 1e3), T[1] = t.l2r($ + 1e3);\n          break;\n        }\n      } else {\n        if (!Mi(T[S]))\n          if (!(L || F) && Mi(T[1 - S]))\n            T[S] = T[1 - S] * (S ? 10 : 0.1);\n          else {\n            t[x] = M;\n            break;\n          }\n        if (T[S] < -qd ? T[S] = -qd : T[S] > qd && (T[S] = qd), T[0] === T[1]) {\n          var I = Math.max(1, Math.abs(T[0] * 1e-6));\n          T[0] -= I, T[1] += I;\n        }\n      }\n  }, t.setScale = function(x) {\n    var _ = r._size;\n    if (t.overlaying) {\n      var T = Yd.getFromId({ _fullLayout: r }, t.overlaying);\n      t.domain = T.domain;\n    }\n    var S = x && t._r ? \"_r\" : \"range\", M = t.calendar;\n    t.cleanRange(S);\n    var L = t.r2l(t[S][0], M), F = t.r2l(t[S][1], M), $ = a === \"y\";\n    if ($ ? (t._offset = _.t + (1 - t.domain[1]) * _.h, t._length = _.h * (t.domain[1] - t.domain[0]), t._m = t._length / (L - F), t._b = -t._m * F) : (t._offset = _.l + t.domain[0] * _.w, t._length = _.w * (t.domain[1] - t.domain[0]), t._m = t._length / (F - L), t._b = -t._m * L), t._rangebreaks = [], t._lBreaks = 0, t._m2 = 0, t._B = [], t.rangebreaks) {\n      var I, O;\n      if (t._rangebreaks = t.locateBreaks(\n        Math.min(L, F),\n        Math.max(L, F)\n      ), t._rangebreaks.length) {\n        for (I = 0; I < t._rangebreaks.length; I++)\n          O = t._rangebreaks[I], t._lBreaks += Math.abs(O.max - O.min);\n        var G = $;\n        L > F && (G = !G), G && t._rangebreaks.reverse();\n        var K = G ? -1 : 1;\n        for (t._m2 = K * t._length / (Math.abs(F - L) - t._lBreaks), t._B.push(-t._m2 * ($ ? F : L)), I = 0; I < t._rangebreaks.length; I++)\n          O = t._rangebreaks[I], t._B.push(\n            t._B[t._B.length - 1] - K * t._m2 * (O.max - O.min)\n          );\n        for (I = 0; I < t._rangebreaks.length; I++)\n          O = t._rangebreaks[I], O.pmin = g(O.min), O.pmax = g(O.max);\n      }\n    }\n    if (!isFinite(t._m) || !isFinite(t._b) || t._length < 0)\n      throw r._replotting = !1, new Error(\"Something went wrong with axis scaling\");\n  }, t.maskBreaks = function(x) {\n    var _ = t.rangebreaks || [], T, S, M, L, F;\n    _._cachedPatterns || (_._cachedPatterns = _.map(function(H) {\n      return H.enabled && H.bounds ? Dr.simpleMap(\n        H.bounds,\n        H.pattern ? No : t.d2c\n        // case of pattern: ''\n      ) : null;\n    })), _._cachedValues || (_._cachedValues = _.map(function(H) {\n      return H.enabled && H.values ? Dr.simpleMap(H.values, t.d2c).sort(Dr.sorterAsc) : null;\n    }));\n    for (var $ = 0; $ < _.length; $++) {\n      var I = _[$];\n      if (I.enabled) {\n        if (I.bounds) {\n          var O = I.pattern;\n          switch (T = _._cachedPatterns[$], S = T[0], M = T[1], O) {\n            case Kd:\n              F = new Date(x), L = F.getUTCDay(), S > M && (M += 7, L < S && (L += 7));\n              break;\n            case Xd:\n              F = new Date(x);\n              var G = F.getUTCHours(), K = F.getUTCMinutes(), V = F.getUTCSeconds(), z = F.getUTCMilliseconds();\n              L = G + (K / 60 + V / 3600 + z / 36e5), S > M && (M += 24, L < S && (L += 24));\n              break;\n            case \"\":\n              L = x;\n              break;\n          }\n          if (L >= S && L < M) return ti;\n        } else\n          for (var P = _._cachedValues[$], R = 0; R < P.length; R++)\n            if (S = P[R], M = S + I.dvalue, x >= S && x < M) return ti;\n      }\n    }\n    return x;\n  }, t.locateBreaks = function(x, _) {\n    var T, S, M, L, F = [];\n    if (!t.rangebreaks) return F;\n    var $ = t.rangebreaks.slice().sort(function(W, ee) {\n      return W.pattern === Kd && ee.pattern === Xd ? -1 : ee.pattern === Kd && W.pattern === Xd ? 1 : 0;\n    }), I = function(W, ee) {\n      if (W = Dr.constrain(W, x, _), ee = Dr.constrain(ee, x, _), W !== ee) {\n        for (var re = !0, ae = 0; ae < F.length; ae++) {\n          var Q = F[ae];\n          W < Q.max && ee >= Q.min && (W < Q.min && (Q.min = W), ee > Q.max && (Q.max = ee), re = !1);\n        }\n        re && F.push({ min: W, max: ee });\n      }\n    };\n    for (T = 0; T < $.length; T++) {\n      var O = $[T];\n      if (O.enabled)\n        if (O.bounds) {\n          var G = x, K = _;\n          O.pattern && (G = Math.floor(G)), S = Dr.simpleMap(O.bounds, O.pattern ? No : t.r2l), M = S[0], L = S[1];\n          var V = new Date(G), z, P;\n          switch (O.pattern) {\n            case Kd:\n              P = SZ, z = ((L < M ? 7 : 0) + (L - M)) * Wd, G += M * Wd - (V.getUTCDay() * Wd + V.getUTCHours() * Zd + V.getUTCMinutes() * NT + V.getUTCSeconds() * OT + V.getUTCMilliseconds());\n              break;\n            case Xd:\n              P = Wd, z = ((L < M ? 24 : 0) + (L - M)) * Zd, G += M * Zd - (V.getUTCHours() * Zd + V.getUTCMinutes() * NT + V.getUTCSeconds() * OT + V.getUTCMilliseconds());\n              break;\n            default:\n              G = Math.min(S[0], S[1]), K = Math.max(S[0], S[1]), P = K - G, z = P;\n          }\n          for (var R = G; R < K; R += P)\n            I(R, R + z);\n        } else\n          for (var H = Dr.simpleMap(O.values, t.d2c), B = 0; B < H.length; B++)\n            M = H[B], L = M + O.dvalue, I(M, L);\n    }\n    return F.sort(function(W, ee) {\n      return W.min - ee.min;\n    }), F;\n  }, t.makeCalcdata = function(x, _, T) {\n    var S, M, L, F, $ = t.type, I = $ === \"date\" && x[_ + \"calendar\"];\n    if (_ in x) {\n      if (S = x[_], F = x._length || Dr.minRowLength(S), Dr.isTypedArray(S) && ($ === \"linear\" || $ === \"log\")) {\n        if (F === S.length)\n          return S;\n        if (S.subarray)\n          return S.subarray(0, F);\n      }\n      if ($ === \"multicategory\")\n        return f(S, F);\n      for (M = new Array(F), L = 0; L < F; L++)\n        M[L] = t.d2c(S[L], 0, I, T);\n    } else {\n      var O = _ + \"0\" in x ? t.d2c(x[_ + \"0\"], 0, I) : 0, G = x[\"d\" + _] ? Number(x[\"d\" + _]) : 1;\n      for (S = x[{ x: \"y\", y: \"x\" }[_]], F = x._length || S.length, M = new Array(F), L = 0; L < F; L++)\n        M[L] = O + L * G;\n    }\n    if (t.rangebreaks)\n      for (L = 0; L < F; L++)\n        M[L] = t.maskBreaks(M[L]);\n    return M;\n  }, t.isValidRange = function(x, _) {\n    return Array.isArray(x) && x.length === 2 && (_ && x[0] === null || Mi(t.r2l(x[0]))) && (_ && x[1] === null || Mi(t.r2l(x[1])));\n  }, t.getAutorangeDflt = function(x, _) {\n    var T = !t.isValidRange(x, \"nullOk\");\n    return T && _ && _.reverseDflt ? T = \"reversed\" : x && (x[0] === null && x[1] === null ? T = !0 : x[0] === null && x[1] !== null ? T = \"min\" : x[0] !== null && x[1] === null && (T = \"max\")), T;\n  }, t.isReversed = function() {\n    var x = t.autorange;\n    return x === \"reversed\" || x === \"min reversed\" || x === \"max reversed\";\n  }, t.isPtWithinRange = function(x, _) {\n    var T = t.c2l(x[a], null, _), S = t.r2l(t.range[0]), M = t.r2l(t.range[1]);\n    return S < M ? S <= T && T <= M : M <= T && T <= S;\n  }, t._emptyCategories = function() {\n    t._categories = [], t._categoriesMap = {};\n  }, t.clearCalc = function() {\n    var x = t._matchGroup;\n    if (x) {\n      var _ = null, T = null;\n      for (var S in x) {\n        var M = r[Yd.id2name(S)];\n        if (M._categories) {\n          _ = M._categories, T = M._categoriesMap;\n          break;\n        }\n      }\n      _ && T ? (t._categories = _, t._categoriesMap = T) : t._emptyCategories();\n    } else\n      t._emptyCategories();\n    if (t._initialCategories)\n      for (var L = 0; L < t._initialCategories.length; L++)\n        u(t._initialCategories[L]);\n  }, t.sortByInitialCategories = function() {\n    var x = [];\n    if (t._emptyCategories(), t._initialCategories)\n      for (var _ = 0; _ < t._initialCategories.length; _++)\n        u(t._initialCategories[_]);\n    x = x.concat(t._traceIndices);\n    var T = t._matchGroup;\n    for (var S in T)\n      if (n !== S) {\n        var M = r[Yd.id2name(S)];\n        M._categories = t._categories, M._categoriesMap = t._categoriesMap, x = x.concat(M._traceIndices);\n      }\n    return x;\n  };\n  var k = r._d3locale;\n  t.type === \"date\" && (t._dateFormat = k ? k.timeFormat : TZ, t._extraFormat = r._extraFormat), t._separators = r.separators, t._numFormat = k ? k.numberFormat : kZ, delete t._minDtick, delete t._forceTick0;\n}, F4 = sr, bb = Ue, CZ = Qr.BADNUM, cv = bb.isArrayOrTypedArray, LZ = bb.isDateTime, DZ = bb.cleanNumber, R4 = Math.round, P4 = function(t, r, n) {\n  var a = t, i = n.noMultiCategory;\n  if (cv(a) && !a.length) return \"-\";\n  if (!i && $Z(a)) return \"multicategory\";\n  if (i && Array.isArray(a[0])) {\n    for (var o = [], l = 0; l < a.length; l++)\n      if (cv(a[l]))\n        for (var s = 0; s < a[l].length; s++)\n          o.push(a[l][s]);\n    a = o;\n  }\n  if (RZ(a, r)) return \"date\";\n  var u = n.autotypenumbers !== \"strict\";\n  return PZ(a, u) ? \"category\" : FZ(a, u) ? \"linear\" : \"-\";\n};\nfunction EZ(e, t) {\n  return t ? F4(e) : typeof e == \"number\";\n}\nfunction FZ(e, t) {\n  for (var r = e.length, n = 0; n < r; n++)\n    if (EZ(e[n], t)) return !0;\n  return !1;\n}\nfunction RZ(e, t) {\n  for (var r = e.length, n = $4(r), a = 0, i = 0, o = {}, l = 0; l < r; l += n) {\n    var s = R4(l), u = e[s], f = String(u);\n    o[f] || (o[f] = 1, LZ(u, t) && a++, F4(u) && i++);\n  }\n  return a > i * 2;\n}\nfunction $4(e) {\n  return Math.max(1, (e - 1) / 1e3);\n}\nfunction PZ(e, t) {\n  for (var r = e.length, n = $4(r), a = 0, i = 0, o = {}, l = 0; l < r; l += n) {\n    var s = R4(l), u = e[s], f = String(u);\n    if (!o[f]) {\n      o[f] = 1;\n      var d = typeof u;\n      d === \"boolean\" ? i++ : (t ? DZ(u) !== CZ : d === \"number\") ? a++ : d === \"string\" && i++;\n    }\n  }\n  return i > a * 2;\n}\nfunction $Z(e) {\n  return cv(e[0]) && cv(e[1]);\n}\nvar zZ = lr, z4 = sr, il = Ue, Ih = Qr.FP_SAFE, IZ = Nt, NZ = Sr, I4 = gn, OZ = I4.getFromId, HZ = I4.isLinked, Lp = {\n  applyAutorangeOptions: O4,\n  getAutoRange: my,\n  makePadFn: gy,\n  doAutoRange: jZ,\n  findExtremes: UZ,\n  concatExtremes: _b\n};\nfunction my(e, t) {\n  var r, n, a = [], i = e._fullLayout, o = gy(i, t, 0), l = gy(i, t, 1), s = _b(e, t), u = s.min, f = s.max;\n  if (u.length === 0 || f.length === 0)\n    return il.simpleMap(t.range, t.r2l);\n  var d = u[0].val, h = f[0].val;\n  for (r = 1; r < u.length && d === h; r++)\n    d = Math.min(d, u[r].val);\n  for (r = 1; r < f.length && d === h; r++)\n    h = Math.max(h, f[r].val);\n  var p = t.autorange, v = p === \"reversed\" || p === \"min reversed\" || p === \"max reversed\";\n  if (!v && t.range) {\n    var m = il.simpleMap(t.range, t.r2l);\n    v = m[1] < m[0];\n  }\n  t.autorange === \"reversed\" && (t.autorange = !0);\n  var g = t.rangemode, y = g === \"tozero\", w = g === \"nonnegative\", k = t._length, x = k / 10, _ = 0, T, S, M, L, F, $;\n  for (r = 0; r < u.length; r++)\n    for (T = u[r], n = 0; n < f.length; n++)\n      S = f[n], $ = S.val - T.val - HT(t, T.val, S.val), $ > 0 && (F = k - o(T) - l(S), F > x ? $ / F > _ && (M = T, L = S, _ = $ / F) : $ / k > _ && (M = { val: T.val, nopad: 1 }, L = { val: S.val, nopad: 1 }, _ = $ / k));\n  function I(z, P) {\n    return Math.max(z, l(P));\n  }\n  if (d === h) {\n    var O = d - 1, G = d + 1;\n    if (y)\n      if (d === 0)\n        a = [0, 1];\n      else {\n        var K = (d > 0 ? f : u).reduce(I, 0), V = d / (1 - Math.min(0.5, K / k));\n        a = d > 0 ? [0, V] : [V, 0];\n      }\n    else w ? a = [Math.max(0, O), Math.max(1, G)] : a = [O, G];\n  } else\n    y ? (M.val >= 0 && (M = { val: 0, nopad: 1 }), L.val <= 0 && (L = { val: 0, nopad: 1 })) : w && (M.val - _ * o(M) < 0 && (M = { val: 0, nopad: 1 }), L.val <= 0 && (L = { val: 1, nopad: 1 })), _ = (L.val - M.val - HT(t, T.val, S.val)) / (k - o(M) - l(L)), a = [\n      M.val - _ * o(M),\n      L.val + _ * l(L)\n    ];\n  return a = O4(a, t), t.limitRange && t.limitRange(), v && a.reverse(), il.simpleMap(a, t.l2r || Number);\n}\nfunction HT(e, t, r) {\n  var n = 0;\n  if (e.rangebreaks)\n    for (var a = e.locateBreaks(t, r), i = 0; i < a.length; i++) {\n      var o = a[i];\n      n += o.max - o.min;\n    }\n  return n;\n}\nfunction gy(e, t, r) {\n  var n = 0.05 * t._length, a = t._anchorAxis || {};\n  if ((t.ticklabelposition || \"\").indexOf(\"inside\") !== -1 || (a.ticklabelposition || \"\").indexOf(\"inside\") !== -1) {\n    var i = t.isReversed();\n    if (!i) {\n      var o = il.simpleMap(t.range, t.r2l);\n      i = o[1] < o[0];\n    }\n    i && (r = !r);\n  }\n  var l = 0;\n  return HZ(e, t._id) || (l = BZ(e, t, r)), n = Math.max(l, n), t.constrain === \"domain\" && t._inputDomain && (n *= (t._inputDomain[1] - t._inputDomain[0]) / (t.domain[1] - t.domain[0])), function(u) {\n    return u.nopad ? 0 : u.pad + (u.extrapad ? n : l);\n  };\n}\nvar BT = 3;\nfunction BZ(e, t, r) {\n  var n = 0, a = t._id.charAt(0) === \"x\";\n  for (var i in e._plots) {\n    var o = e._plots[i];\n    if (!(t._id !== o.xaxis._id && t._id !== o.yaxis._id)) {\n      var l = (a ? o.yaxis : o.xaxis) || {};\n      if ((l.ticklabelposition || \"\").indexOf(\"inside\") !== -1 && (!r && (l.side === \"left\" || l.side === \"bottom\") || r && (l.side === \"top\" || l.side === \"right\"))) {\n        if (l._vals) {\n          var s = il.deg2rad(l._tickAngles[l._id + \"tick\"] || 0), u = Math.abs(Math.cos(s)), f = Math.abs(Math.sin(s));\n          if (!l._vals[0].bb) {\n            var d = l._id + \"tick\", h = l._selections[d];\n            h.each(function(w) {\n              var k = zZ.select(this), x = k.select(\".text-math-group\");\n              x.empty() && (w.bb = NZ.bBox(k.node()));\n            });\n          }\n          for (var p = 0; p < l._vals.length; p++) {\n            var v = l._vals[p], m = v.bb;\n            if (m) {\n              var g = 2 * BT + m.width, y = 2 * BT + m.height;\n              n = Math.max(\n                n,\n                a ? Math.max(g * u, y * f) : Math.max(y * u, g * f)\n              );\n            }\n          }\n        }\n        l.ticks === \"inside\" && l.ticklabelposition === \"inside\" && (n += l.ticklen || 0);\n      }\n    }\n  }\n  return n;\n}\nfunction _b(e, t, r) {\n  var n = t._id, a = e._fullData, i = e._fullLayout, o = [], l = [], s, u, f;\n  function d(g, y) {\n    for (s = 0; s < y.length; s++) {\n      var w = g[y[s]], k = (w._extremes || {})[n];\n      if (w.visible === !0 && k) {\n        for (u = 0; u < k.min.length; u++)\n          f = k.min[u], yy(o, f.val, f.pad, { extrapad: f.extrapad });\n        for (u = 0; u < k.max.length; u++)\n          f = k.max[u], by(l, f.val, f.pad, { extrapad: f.extrapad });\n      }\n    }\n  }\n  if (d(a, t._traceIndices), d(i.annotations || [], t._annIndices || []), d(i.shapes || [], t._shapeIndices || []), t._matchGroup && !r) {\n    for (var h in t._matchGroup)\n      if (h !== t._id) {\n        var p = OZ(e, h), v = _b(e, p, !0), m = t._length / p._length;\n        for (u = 0; u < v.min.length; u++)\n          f = v.min[u], yy(o, f.val, f.pad * m, { extrapad: f.extrapad });\n        for (u = 0; u < v.max.length; u++)\n          f = v.max[u], by(l, f.val, f.pad * m, { extrapad: f.extrapad });\n      }\n  }\n  return { min: o, max: l };\n}\nfunction jZ(e, t, r) {\n  if (t.setScale(), t.autorange) {\n    t.range = r ? r.slice() : my(e, t), t._r = t.range.slice(), t._rl = il.simpleMap(t._r, t.r2l);\n    var n = t._input, a = {};\n    a[t._attr + \".range\"] = t.range, a[t._attr + \".autorange\"] = t.autorange, IZ.call(\"_storeDirectGUIEdit\", e.layout, e._fullLayout._preGUI, a), n.range = t.range.slice(), n.autorange = t.autorange;\n  }\n  var i = t._anchorAxis;\n  if (i && i.rangeslider) {\n    var o = i.rangeslider[t._name];\n    o && o.rangemode === \"auto\" && (o.range = my(e, t)), i._input.rangeslider[t._name] = il.extendFlat({}, o);\n  }\n}\nfunction UZ(e, t, r) {\n  r || (r = {}), e._m || e.setScale();\n  var n = [], a = [], i = t.length, o = r.padded || !1, l = r.tozero && (e.type === \"linear\" || e.type === \"-\"), s = e.type === \"log\", u = !1, f = r.vpadLinearized || !1, d, h, p, v, m, g, y, w, k;\n  function x(I) {\n    if (Array.isArray(I))\n      return u = !0, function(G) {\n        return Math.max(Number(I[G] || 0), 0);\n      };\n    var O = Math.max(Number(I || 0), 0);\n    return function() {\n      return O;\n    };\n  }\n  var _ = x((e._m > 0 ? r.ppadplus : r.ppadminus) || r.ppad || 0), T = x((e._m > 0 ? r.ppadminus : r.ppadplus) || r.ppad || 0), S = x(r.vpadplus || r.vpad), M = x(r.vpadminus || r.vpad);\n  if (!u) {\n    if (w = 1 / 0, k = -1 / 0, s)\n      for (d = 0; d < i; d++)\n        h = t[d], h < w && h > 0 && (w = h), h > k && h < Ih && (k = h);\n    else\n      for (d = 0; d < i; d++)\n        h = t[d], h < w && h > -Ih && (w = h), h > k && h < Ih && (k = h);\n    t = [w, k], i = 2;\n  }\n  var L = { tozero: l, extrapad: o };\n  function F(I) {\n    p = t[I], z4(p) && (g = _(I), y = T(I), f ? (v = e.c2l(p) - M(I), m = e.c2l(p) + S(I)) : (w = p - M(I), k = p + S(I), s && w < k / 10 && (w = k / 10), v = e.c2l(w), m = e.c2l(k)), l && (v = Math.min(0, v), m = Math.max(0, m)), jT(v) && yy(n, v, y, L), jT(m) && by(a, m, g, L));\n  }\n  var $ = Math.min(6, i);\n  for (d = 0; d < $; d++) F(d);\n  for (d = i - 1; d >= $; d--) F(d);\n  return {\n    min: n,\n    max: a,\n    opts: r\n  };\n}\nfunction yy(e, t, r, n) {\n  N4(e, t, r, n, GZ);\n}\nfunction by(e, t, r, n) {\n  N4(e, t, r, n, VZ);\n}\nfunction N4(e, t, r, n, a) {\n  for (var i = n.tozero, o = n.extrapad, l = !0, s = 0; s < e.length && l; s++) {\n    var u = e[s];\n    if (a(u.val, t) && u.pad >= r && (u.extrapad || !o)) {\n      l = !1;\n      break;\n    } else a(t, u.val) && u.pad <= r && (o || !u.extrapad) && (e.splice(s, 1), s--);\n  }\n  if (l) {\n    var f = i && t === 0;\n    e.push({\n      val: t,\n      pad: f ? 0 : r,\n      extrapad: f ? !1 : o\n    });\n  }\n}\nfunction jT(e) {\n  return z4(e) && Math.abs(e) < Ih;\n}\nfunction GZ(e, t) {\n  return e <= t;\n}\nfunction VZ(e, t) {\n  return e >= t;\n}\nfunction qZ(e, t) {\n  var r = t.autorangeoptions;\n  return r && r.minallowed !== void 0 && dv(t, r.minallowed, r.maxallowed) ? r.minallowed : r && r.clipmin !== void 0 && dv(t, r.clipmin, r.clipmax) ? Math.max(e, t.d2l(r.clipmin)) : e;\n}\nfunction WZ(e, t) {\n  var r = t.autorangeoptions;\n  return r && r.maxallowed !== void 0 && dv(t, r.minallowed, r.maxallowed) ? r.maxallowed : r && r.clipmax !== void 0 && dv(t, r.clipmin, r.clipmax) ? Math.min(e, t.d2l(r.clipmax)) : e;\n}\nfunction dv(e, t, r) {\n  return t !== void 0 && r !== void 0 ? (t = e.d2l(t), r = e.d2l(r), t < r) : !0;\n}\nfunction O4(e, t) {\n  if (!t || !t.autorangeoptions) return e;\n  var r = e[0], n = e[1], a = t.autorangeoptions.include;\n  if (a !== void 0) {\n    var i = t.d2l(r), o = t.d2l(n);\n    il.isArrayOrTypedArray(a) || (a = [a]);\n    for (var l = 0; l < a.length; l++) {\n      var s = t.d2l(a[l]);\n      i >= s && (i = s, r = s), o <= s && (o = s, n = s);\n    }\n  }\n  return r = qZ(r, t), n = WZ(n, t), [r, n];\n}\nvar Na = lr, Jr = sr, bu = Tn, Tc = Nt, jt = Ue, Fu = jt.strTranslate, Yf = Rn, ZZ = Cp, kc = nr, ya = Sr, YZ = Ki, UT = Ap, Hn = Qr, XZ = Hn.ONEMAXYEAR, hv = Hn.ONEAVGYEAR, _y = Hn.ONEMINYEAR, KZ = Hn.ONEMAXQUARTER, xy = Hn.ONEAVGQUARTER, wy = Hn.ONEMINQUARTER, JZ = Hn.ONEMAXMONTH, Ru = Hn.ONEAVGMONTH, Ty = Hn.ONEMINMONTH, Ua = Hn.ONEWEEK, Wn = Hn.ONEDAY, Xl = Wn / 2, xo = Hn.ONEHOUR, vv = Hn.ONEMIN, ky = Hn.ONESEC, Kl = Hn.MINUS_SIGN, Dp = Hn.BADNUM, Ay = { K: \"zeroline\" }, My = { K: \"gridline\", L: \"path\" }, Sy = { K: \"minor-gridline\", L: \"path\" }, H4 = { K: \"tick\", L: \"path\" }, GT = { K: \"tick\", L: \"text\" }, VT = {\n  width: [\"x\", \"r\", \"l\", \"xl\", \"xr\"],\n  height: [\"y\", \"t\", \"b\", \"yt\", \"yb\"],\n  right: [\"r\", \"xr\"],\n  left: [\"l\", \"xl\"],\n  top: [\"t\", \"yt\"],\n  bottom: [\"b\", \"yb\"]\n}, Ep = On, Jd = Ep.MID_SHIFT, Jl = Ep.CAP_SHIFT, pv = Ep.LINE_SPACING, QZ = Ep.OPPOSITE_SIDE, mv = 3, Ye = r4.exports = {};\nYe.setConvert = yb;\nvar eY = P4, Eo = gn, tY = Eo.idSort, rY = Eo.isLinked;\nYe.id2name = Eo.id2name;\nYe.name2id = Eo.name2id;\nYe.cleanId = Eo.cleanId;\nYe.list = Eo.list;\nYe.listIds = Eo.listIds;\nYe.getFromId = Eo.getFromId;\nYe.getFromTrace = Eo.getFromTrace;\nvar B4 = Lp;\nYe.getAutoRange = B4.getAutoRange;\nYe.findExtremes = B4.findExtremes;\nvar nY = 1e-4;\nfunction xb(e) {\n  var t = (e[1] - e[0]) * nY;\n  return [\n    e[0] - t,\n    e[1] + t\n  ];\n}\nYe.coerceRef = function(e, t, r, n, a, i) {\n  var o = n.charAt(n.length - 1), l = r._fullLayout._subplots[o + \"axis\"], s = n + \"ref\", u = {};\n  return a || (a = l[0] || (typeof i == \"string\" ? i : i[0])), i || (i = a), l = l.concat(l.map(function(f) {\n    return f + \" domain\";\n  })), u[s] = {\n    valType: \"enumerated\",\n    values: l.concat(i ? typeof i == \"string\" ? [i] : i : []),\n    dflt: a\n  }, jt.coerce(e, t, u, s);\n};\nYe.getRefType = function(e) {\n  return e === void 0 ? e : e === \"paper\" ? \"paper\" : e === \"pixel\" ? \"pixel\" : /( domain)$/.test(e) ? \"domain\" : \"range\";\n};\nYe.coercePosition = function(e, t, r, n, a, i) {\n  var o, l, s = Ye.getRefType(n);\n  if (s !== \"range\")\n    o = jt.ensureNumber, l = r(a, i);\n  else {\n    var u = Ye.getFromId(t, n);\n    i = u.fraction2r(i), l = r(a, i), o = u.cleanPos;\n  }\n  e[a] = o(l);\n};\nYe.cleanPosition = function(e, t, r) {\n  var n = r === \"paper\" || r === \"pixel\" ? jt.ensureNumber : Ye.getFromId(t, r).cleanPos;\n  return n(e);\n};\nYe.redrawComponents = function(e, t) {\n  t = t || Ye.listIds(e);\n  var r = e._fullLayout;\n  function n(a, i, o, l) {\n    for (var s = Tc.getComponentMethod(a, i), u = {}, f = 0; f < t.length; f++)\n      for (var d = r[Ye.id2name(t[f])], h = d[o], p = 0; p < h.length; p++) {\n        var v = h[p];\n        if (!u[v] && (s(e, v), u[v] = 1, l))\n          return;\n      }\n  }\n  n(\"annotations\", \"drawOne\", \"_annIndices\"), n(\"shapes\", \"drawOne\", \"_shapeIndices\"), n(\"images\", \"draw\", \"_imgIndices\", !0), n(\"selections\", \"drawOne\", \"_selectionIndices\");\n};\nvar aY = Ye.getDataConversions = function(e, t, r, n) {\n  var a, i = r === \"x\" || r === \"y\" || r === \"z\" ? r : n;\n  if (jt.isArrayOrTypedArray(i)) {\n    if (a = {\n      type: eY(n, void 0, {\n        autotypenumbers: e._fullLayout.autotypenumbers\n      }),\n      _categories: []\n    }, Ye.setConvert(a), a.type === \"category\")\n      for (var o = 0; o < n.length; o++)\n        a.d2c(n[o]);\n  } else\n    a = Ye.getFromTrace(e, t, i);\n  return a ? { d2c: a.d2c, c2d: a.c2d } : i === \"ids\" ? { d2c: WT, c2d: WT } : { d2c: qT, c2d: qT };\n};\nfunction qT(e) {\n  return +e;\n}\nfunction WT(e) {\n  return String(e);\n}\nYe.getDataToCoordFunc = function(e, t, r, n) {\n  return aY(e, t, r, n).d2c;\n};\nYe.counterLetter = function(e) {\n  var t = e.charAt(0);\n  if (t === \"x\") return \"y\";\n  if (t === \"y\") return \"x\";\n};\nYe.minDtick = function(e, t, r, n) {\n  [\"log\", \"category\", \"multicategory\"].indexOf(e.type) !== -1 || !n ? e._minDtick = 0 : e._minDtick === void 0 ? (e._minDtick = t, e._forceTick0 = r) : e._minDtick && ((e._minDtick / t + 1e-6) % 1 < 2e-6 && // existing minDtick is an integer multiple of newDiff\n  // (within rounding err)\n  // and forceTick0 can be shifted to newFirst\n  ((r - e._forceTick0) / t % 1 + 1.000001) % 1 < 2e-6 ? (e._minDtick = t, e._forceTick0 = r) : ((t / e._minDtick + 1e-6) % 1 > 2e-6 || // if the converse is true (newDiff is a multiple of minDtick and\n  // newFirst can be shifted to forceTick0) then do nothing - same\n  // forcing stands. Otherwise, cancel forced minimum\n  ((r - e._forceTick0) / e._minDtick % 1 + 1.000001) % 1 > 2e-6) && (e._minDtick = 0));\n};\nYe.saveRangeInitial = function(e, t) {\n  for (var r = Ye.list(e, \"\", !0), n = !1, a = 0; a < r.length; a++) {\n    var i = r[a], o = i._rangeInitial0 === void 0 && i._rangeInitial1 === void 0, l = o || i.range[0] !== i._rangeInitial0 || i.range[1] !== i._rangeInitial1, s = i.autorange;\n    (o && s !== !0 || t && l) && (i._rangeInitial0 = s === \"min\" || s === \"max reversed\" ? void 0 : i.range[0], i._rangeInitial1 = s === \"max\" || s === \"min reversed\" ? void 0 : i.range[1], i._autorangeInitial = s, n = !0);\n  }\n  return n;\n};\nYe.saveShowSpikeInitial = function(e, t) {\n  for (var r = Ye.list(e, \"\", !0), n = !1, a = \"on\", i = 0; i < r.length; i++) {\n    var o = r[i], l = o._showSpikeInitial === void 0, s = l || o.showspikes !== o._showspikes;\n    (l || t && s) && (o._showSpikeInitial = o.showspikes, n = !0), a === \"on\" && !o.showspikes && (a = \"off\");\n  }\n  return e._fullLayout._cartesianSpikesEnabled = a, n;\n};\nYe.autoBin = function(e, t, r, n, a, i) {\n  var o = jt.aggNums(Math.min, null, e), l = jt.aggNums(Math.max, null, e);\n  if (t.type === \"category\" || t.type === \"multicategory\")\n    return {\n      start: o - 0.5,\n      end: l + 0.5,\n      size: Math.max(1, Math.round(i) || 1),\n      _dataSpan: l - o\n    };\n  a || (a = t.calendar);\n  var s;\n  if (t.type === \"log\" ? s = {\n    type: \"linear\",\n    range: [o, l]\n  } : s = {\n    type: t.type,\n    range: jt.simpleMap([o, l], t.c2r, 0, a),\n    calendar: a\n  }, Ye.setConvert(s), i = i && UT.dtick(i, s.type), i)\n    s.dtick = i, s.tick0 = UT.tick0(void 0, s.type, a);\n  else {\n    var u;\n    if (r) u = (l - o) / r;\n    else {\n      var f = jt.distinctVals(e), d = Math.pow(10, Math.floor(\n        Math.log(f.minDiff) / Math.LN10\n      )), h = d * jt.roundUp(\n        f.minDiff / d,\n        [0.9, 1.9, 4.9, 9.9],\n        !0\n      );\n      u = Math.max(h, 2 * jt.stdev(e) / Math.pow(e.length, n ? 0.25 : 0.4)), Jr(u) || (u = 1);\n    }\n    Ye.autoTicks(s, u);\n  }\n  var p = s.dtick, v = Ye.tickIncrement(\n    Ye.tickFirst(s),\n    p,\n    \"reverse\",\n    a\n  ), m, g;\n  if (typeof p == \"number\")\n    v = iY(v, e, s, o, l), g = 1 + Math.floor((l - v) / p), m = v + g * p;\n  else\n    for (s.dtick.charAt(0) === \"M\" && (v = oY(v, e, p, o, a)), m = v, g = 0; m <= l; )\n      m = Ye.tickIncrement(m, p, !1, a), g++;\n  return {\n    start: t.c2r(v, 0, a),\n    end: t.c2r(m, 0, a),\n    size: p,\n    _dataSpan: l - o\n  };\n};\nfunction iY(e, t, r, n, a) {\n  var i = 0, o = 0, l = 0, s = 0;\n  function u(p) {\n    return (1 + (p - e) * 100 / r.dtick) % 100 < 2;\n  }\n  for (var f = 0; f < t.length; f++)\n    t[f] % 1 === 0 ? l++ : Jr(t[f]) || s++, u(t[f]) && i++, u(t[f] + r.dtick / 2) && o++;\n  var d = t.length - s;\n  if (l === d && r.type !== \"date\")\n    r.dtick < 1 ? e = n - 0.5 * r.dtick : (e -= 0.5, e + r.dtick < n && (e += r.dtick));\n  else if (o < d * 0.1 && (i > d * 0.3 || u(n) || u(a))) {\n    var h = r.dtick / 2;\n    e += e + h < n ? h : -h;\n  }\n  return e;\n}\nfunction oY(e, t, r, n, a) {\n  var i = jt.findExactDates(t, a), o = 0.8;\n  if (i.exactDays > o) {\n    var l = Number(r.substr(1));\n    i.exactYears > o && l % 12 === 0 ? e = Ye.tickIncrement(e, \"M6\", \"reverse\") + Wn * 1.5 : i.exactMonths > o ? e = Ye.tickIncrement(e, \"M1\", \"reverse\") + Wn * 15.5 : e -= Xl;\n    var s = Ye.tickIncrement(e, r);\n    if (s <= n) return s;\n  }\n  return e;\n}\nYe.prepMinorTicks = function(e, t, r) {\n  if (!t.minor.dtick) {\n    delete e.dtick;\n    var n = t.dtick && Jr(t._tmin), a;\n    if (n) {\n      var i = Ye.tickIncrement(t._tmin, t.dtick, !0);\n      a = [t._tmin, i * 0.99 + t._tmin * 0.01];\n    } else {\n      var o = jt.simpleMap(t.range, t.r2l);\n      a = [o[0], 0.8 * o[0] + 0.2 * o[1]];\n    }\n    if (e.range = jt.simpleMap(a, t.l2r), e._isMinor = !0, Ye.prepTicks(e, r), n) {\n      var l = Jr(t.dtick), s = Jr(e.dtick), u = l ? t.dtick : +t.dtick.substring(1), f = s ? e.dtick : +e.dtick.substring(1);\n      l && s ? hg(u, f) ? u === 2 * Ua && f === 2 * Wn && (e.dtick = Ua) : u === 2 * Ua && f === 3 * Wn ? e.dtick = Ua : u === Ua && !(t._input.minor || {}).nticks ? e.dtick = Wn : ZT(u / f, 2.5) ? e.dtick = u / 2 : e.dtick = u : String(t.dtick).charAt(0) === \"M\" ? s ? e.dtick = \"M1\" : hg(u, f) ? u >= 12 && f === 2 && (e.dtick = \"M3\") : e.dtick = t.dtick : String(e.dtick).charAt(0) === \"L\" ? String(t.dtick).charAt(0) === \"L\" ? hg(u, f) || (e.dtick = ZT(u / f, 2.5) ? t.dtick / 2 : t.dtick) : e.dtick = \"D1\" : e.dtick === \"D2\" && +t.dtick > 1 && (e.dtick = 1);\n    }\n    e.range = t.range;\n  }\n  t.minor._tick0Init === void 0 && (e.tick0 = t.tick0);\n};\nfunction hg(e, t) {\n  return Math.abs((e / t + 0.5) % 1 - 0.5) < 1e-3;\n}\nfunction ZT(e, t) {\n  return Math.abs(e / t - 1) < 1e-3;\n}\nYe.prepTicks = function(e, t) {\n  var r = jt.simpleMap(e.range, e.r2l, void 0, void 0, t);\n  if (e.tickmode === \"auto\" || !e.dtick) {\n    var n = e.nticks, a;\n    n || (e.type === \"category\" || e.type === \"multicategory\" ? (a = e.tickfont ? jt.bigFont(e.tickfont.size || 12) : 15, n = e._length / a) : (a = e._id.charAt(0) === \"y\" ? 40 : 80, n = jt.constrain(e._length / a, 4, 9) + 1), e._name === \"radialaxis\" && (n *= 2)), e.minor && e.minor.tickmode !== \"array\" || e.tickmode === \"array\" && (n *= 100), e._roughDTick = Math.abs(r[1] - r[0]) / n, Ye.autoTicks(e, e._roughDTick), e._minDtick > 0 && e.dtick < e._minDtick * 2 && (e.dtick = e._minDtick, e.tick0 = e.l2r(e._forceTick0));\n  }\n  e.ticklabelmode === \"period\" && lY(e), e.tick0 || (e.tick0 = e.type === \"date\" ? \"2000-01-01\" : 0), e.type === \"date\" && e.dtick < 0.1 && (e.dtick = 0.1), V4(e);\n};\nfunction vg(e) {\n  return +e.substring(1);\n}\nfunction lY(e) {\n  var t;\n  function r() {\n    return !(Jr(e.dtick) || e.dtick.charAt(0) !== \"M\");\n  }\n  var n = r(), a = Ye.getTickFormat(e);\n  if (a) {\n    var i = e._dtickInit !== e.dtick;\n    /%[fLQsSMX]/.test(a) || (/%[HI]/.test(a) ? (t = xo, i && !n && e.dtick < xo && (e.dtick = xo)) : /%p/.test(a) ? (t = Xl, i && !n && e.dtick < Xl && (e.dtick = Xl)) : /%[Aadejuwx]/.test(a) ? (t = Wn, i && !n && e.dtick < Wn && (e.dtick = Wn)) : /%[UVW]/.test(a) ? (t = Ua, i && !n && e.dtick < Ua && (e.dtick = Ua)) : /%[Bbm]/.test(a) ? (t = Ru, i && (n ? vg(e.dtick) < 1 : e.dtick < Ty) && (e.dtick = \"M1\")) : /%[q]/.test(a) ? (t = xy, i && (n ? vg(e.dtick) < 3 : e.dtick < wy) && (e.dtick = \"M3\")) : /%[Yy]/.test(a) && (t = hv, i && (n ? vg(e.dtick) < 12 : e.dtick < _y) && (e.dtick = \"M12\")));\n  }\n  n = r(), n && e.tick0 === e._dowTick0 && (e.tick0 = e._rawTick0), e._definedDelta = t;\n}\nfunction sY(e, t, r) {\n  for (var n = 0; n < e.length; n++) {\n    var a = e[n].value, i = n, o = n + 1;\n    n < e.length - 1 ? (i = n, o = n + 1) : n > 0 ? (i = n - 1, o = n) : (i = n, o = n);\n    var l = e[i].value, s = e[o].value, u = Math.abs(s - l), f = r || u, d = 0;\n    f >= _y ? u >= _y && u <= XZ ? d = u : d = hv : r === xy && f >= wy ? u >= wy && u <= KZ ? d = u : d = xy : f >= Ty ? u >= Ty && u <= JZ ? d = u : d = Ru : r === Ua && f >= Ua ? d = Ua : f >= Wn ? d = Wn : r === Xl && f >= Xl ? d = Xl : r === xo && f >= xo && (d = xo);\n    var h;\n    d >= u && (d = u, h = !0);\n    var p = a + d;\n    if (t.rangebreaks && d > 0) {\n      for (var v = 84, m = 0, g = 0; g < v; g++) {\n        var y = (g + 0.5) / v;\n        t.maskBreaks(a * (1 - y) + y * p) !== Dp && m++;\n      }\n      d *= m / v, d || (e[n].drop = !0), h && u > Ua && (d = u);\n    }\n    (d > 0 || // not instant\n    n === 0) && (e[n].periodX = a + d / 2);\n  }\n}\nYe.calcTicks = function(t, r) {\n  for (var n = t.type, a = t.calendar, i = t.ticklabelstep, o = t.ticklabelmode === \"period\", l = jt.simpleMap(t.range, t.r2l, void 0, void 0, r), s = l[1] < l[0], u = Math.min(l[0], l[1]), f = Math.max(l[0], l[1]), d = Math.max(1e3, t._length || 0), h = [], p = [], v = [], m = [], g = t.minor && (t.minor.ticks || t.minor.showgrid), y = 1; y >= (g ? 0 : 1); y--) {\n    var w = !y;\n    y ? (t._dtickInit = t.dtick, t._tick0Init = t.tick0) : (t.minor._dtickInit = t.minor.dtick, t.minor._tick0Init = t.minor.tick0);\n    var k = y ? t : jt.extendFlat({}, t, t.minor);\n    if (w ? Ye.prepMinorTicks(k, t, r) : Ye.prepTicks(k, r), k.tickmode === \"array\") {\n      y ? (v = [], h = YT(t, !w)) : (m = [], p = YT(t, !w));\n      continue;\n    }\n    if (k.tickmode === \"sync\") {\n      v = [], h = uY(t);\n      continue;\n    }\n    var x = xb(l), _ = x[0], T = x[1], S = Jr(k.dtick), M = n === \"log\" && !(S || k.dtick.charAt(0) === \"L\"), L = Ye.tickFirst(k, r);\n    if (y) {\n      if (t._tmin = L, L < _ !== s) break;\n      (n === \"category\" || n === \"multicategory\") && (T = s ? Math.max(-0.5, T) : Math.min(t._categories.length - 0.5, T));\n    }\n    var F = null, $ = L, I;\n    if (y) {\n      var O;\n      S ? O = t.dtick : n === \"date\" ? typeof t.dtick == \"string\" && t.dtick.charAt(0) === \"M\" && (O = Ru * t.dtick.substring(1)) : O = t._roughDTick, I = Math.round((t.r2l($) - t.r2l(t.tick0)) / O) - 1;\n    }\n    var G = k.dtick;\n    for (k.rangebreaks && k._tick0Init !== k.tick0 && ($ = pg($, t), s || ($ = Ye.tickIncrement($, G, !s, a))), y && o && ($ = Ye.tickIncrement($, G, !s, a), I--); s ? $ >= T : $ <= T; $ = Ye.tickIncrement(\n      $,\n      G,\n      s,\n      a\n    )) {\n      if (y && I++, k.rangebreaks && !s) {\n        if ($ < _) continue;\n        if (k.maskBreaks($) === Dp && pg($, k) >= f) break;\n      }\n      if (v.length > d || $ === F) break;\n      F = $;\n      var K = { value: $ };\n      y ? (M && $ !== ($ | 0) && (K.simpleLabel = !0), i > 1 && I % i && (K.skipLabel = !0), v.push(K)) : (K.minor = !0, m.push(K));\n    }\n  }\n  if (g) {\n    var V = t.minor.ticks === \"inside\" && t.ticks === \"outside\" || t.minor.ticks === \"outside\" && t.ticks === \"inside\";\n    if (!V) {\n      for (var z = v.map(function(ve) {\n        return ve.value;\n      }), P = [], R = 0; R < m.length; R++) {\n        var H = m[R], B = H.value;\n        if (z.indexOf(B) === -1) {\n          for (var W = !1, ee = 0; !W && ee < v.length; ee++)\n            // add 10e6 to eliminate problematic digits\n            1e7 + v[ee].value === 1e7 + B && (W = !0);\n          W || P.push(H);\n        }\n      }\n      m = P;\n    }\n  }\n  o && sY(v, t, t._definedDelta);\n  var re;\n  if (t.rangebreaks) {\n    var ae = t._id.charAt(0) === \"y\", Q = 1;\n    t.tickmode === \"auto\" && (Q = t.tickfont ? t.tickfont.size : 12);\n    var ue = NaN;\n    for (re = v.length - 1; re > -1; re--) {\n      if (v[re].drop) {\n        v.splice(re, 1);\n        continue;\n      }\n      v[re].value = pg(v[re].value, t);\n      var j = t.c2p(v[re].value);\n      (ae ? ue > j - Q : ue < j + Q) ? v.splice(s ? re + 1 : re, 1) : ue = j;\n    }\n  }\n  Ab(t) && Math.abs(l[1] - l[0]) === 360 && v.pop(), t._tmax = (v[v.length - 1] || {}).value, t._prevDateHead = \"\", t._inCalcTicks = !0;\n  var U, Z = function(ve) {\n    ve.text = \"\", t._prevDateHead = U;\n  };\n  v = v.concat(m);\n  var le, J;\n  for (re = 0; re < v.length; re++) {\n    var pe = v[re].minor, ge = v[re].value;\n    pe ? p.push({\n      x: ge,\n      minor: !0\n    }) : (U = t._prevDateHead, le = Ye.tickText(\n      t,\n      ge,\n      !1,\n      // hover\n      v[re].simpleLabel\n      // noSuffixPrefix\n    ), J = v[re].periodX, J !== void 0 && (le.periodX = J, (J > f || J < u) && (J > f && (le.periodX = f), J < u && (le.periodX = u), Z(le))), v[re].skipLabel && Z(le), h.push(le));\n  }\n  return h = h.concat(p), t._inCalcTicks = !1, o && h.length && (h[0].noTick = !0), h;\n};\nfunction j4(e, t) {\n  return e.rangebreaks && (t = t.filter(function(r) {\n    return e.maskBreaks(r.x) !== Dp;\n  })), t;\n}\nfunction uY(e) {\n  var t = e._mainAxis, r = [];\n  if (t._vals) {\n    for (var n = 0; n < t._vals.length; n++)\n      if (!t._vals[n].noTick) {\n        var a = t.l2p(t._vals[n].x), i = e.p2l(a), o = Ye.tickText(e, i);\n        t._vals[n].minor && (o.minor = !0, o.text = \"\"), r.push(o);\n      }\n  }\n  return r = j4(e, r), r;\n}\nfunction YT(e, t) {\n  var r = jt.simpleMap(e.range, e.r2l), n = xb(r), a = Math.min(n[0], n[1]), i = Math.max(n[0], n[1]), o = e.type === \"category\" ? e.d2l_noadd : e.d2l;\n  e.type === \"log\" && String(e.dtick).charAt(0) !== \"L\" && (e.dtick = \"L\" + Math.pow(10, Math.floor(Math.min(e.range[0], e.range[1])) - 1));\n  for (var l = [], s = 0; s <= 1; s++)\n    if (!(t !== void 0 && (t && s || t === !1 && !s)) && !(s && !e.minor)) {\n      var u = s ? e.minor.tickvals : e.tickvals, f = s ? [] : e.ticktext;\n      if (u) {\n        jt.isArrayOrTypedArray(f) || (f = []);\n        for (var d = 0; d < u.length; d++) {\n          var h = o(u[d]);\n          if (h > a && h < i) {\n            var p = f[d] === void 0 ? Ye.tickText(e, h) : wb(e, h, String(f[d]));\n            s && (p.minor = !0, p.text = \"\"), l.push(p);\n          }\n        }\n      }\n    }\n  return l = j4(e, l), l;\n}\nvar Qd = [2, 5, 10], XT = [1, 2, 3, 6, 12], KT = [1, 2, 5, 10, 15, 30], fY = [1, 2, 3, 7, 14], U4 = [-0.046, 0, 0.301, 0.477, 0.602, 0.699, 0.778, 0.845, 0.903, 0.954, 1], G4 = [-0.301, 0, 0.301, 0.699, 1], cY = [15, 30, 45, 90, 180];\nfunction Ci(e, t, r) {\n  return t * jt.roundUp(e / t, r);\n}\nYe.autoTicks = function(e, t, r) {\n  var n;\n  function a(d) {\n    return Math.pow(d, Math.floor(Math.log(t) / Math.LN10));\n  }\n  if (e.type === \"date\") {\n    e.tick0 = jt.dateTick0(e.calendar, 0);\n    var i = 2 * t;\n    if (i > hv)\n      t /= hv, n = a(10), e.dtick = \"M\" + 12 * Ci(t, n, Qd);\n    else if (i > Ru)\n      t /= Ru, e.dtick = \"M\" + Ci(t, 1, XT);\n    else if (i > Wn) {\n      if (e.dtick = Ci(t, Wn, e._hasDayOfWeekBreaks ? [1, 2, 7, 14] : fY), !r) {\n        var o = Ye.getTickFormat(e), l = e.ticklabelmode === \"period\";\n        l && (e._rawTick0 = e.tick0), /%[uVW]/.test(o) ? e.tick0 = jt.dateTick0(e.calendar, 2) : e.tick0 = jt.dateTick0(e.calendar, 1), l && (e._dowTick0 = e.tick0);\n      }\n    } else i > xo ? e.dtick = Ci(t, xo, XT) : i > vv ? e.dtick = Ci(t, vv, KT) : i > ky ? e.dtick = Ci(t, ky, KT) : (n = a(10), e.dtick = Ci(t, n, Qd));\n  } else if (e.type === \"log\") {\n    e.tick0 = 0;\n    var s = jt.simpleMap(e.range, e.r2l);\n    if (e._isMinor && (t *= 1.5), t > 0.7)\n      e.dtick = Math.ceil(t);\n    else if (Math.abs(s[1] - s[0]) < 1) {\n      var u = 1.5 * Math.abs((s[1] - s[0]) / t);\n      t = Math.abs(Math.pow(10, s[1]) - Math.pow(10, s[0])) / u, n = a(10), e.dtick = \"L\" + Ci(t, n, Qd);\n    } else\n      e.dtick = t > 0.3 ? \"D2\" : \"D1\";\n  } else e.type === \"category\" || e.type === \"multicategory\" ? (e.tick0 = 0, e.dtick = Math.ceil(Math.max(t, 1))) : Ab(e) ? (e.tick0 = 0, n = 1, e.dtick = Ci(t, n, cY)) : (e.tick0 = 0, n = a(10), e.dtick = Ci(t, n, Qd));\n  if (e.dtick === 0 && (e.dtick = 1), !Jr(e.dtick) && typeof e.dtick != \"string\") {\n    var f = e.dtick;\n    throw e.dtick = 1, \"ax.dtick error: \" + String(f);\n  }\n};\nfunction V4(e) {\n  var t = e.dtick;\n  if (e._tickexponent = 0, !Jr(t) && typeof t != \"string\" && (t = 1), (e.type === \"category\" || e.type === \"multicategory\") && (e._tickround = null), e.type === \"date\") {\n    var r = e.r2l(e.tick0), n = e.l2r(r).replace(/(^-|i)/g, \"\"), a = n.length;\n    if (String(t).charAt(0) === \"M\")\n      a > 10 || n.substr(5) !== \"01-01\" ? e._tickround = \"d\" : e._tickround = +t.substr(1) % 12 === 0 ? \"y\" : \"m\";\n    else if (t >= Wn && a <= 10 || t >= Wn * 15) e._tickround = \"d\";\n    else if (t >= vv && a <= 16 || t >= xo) e._tickround = \"M\";\n    else if (t >= ky && a <= 19 || t >= vv) e._tickround = \"S\";\n    else {\n      var i = e.l2r(r + t).replace(/^-/, \"\").length;\n      e._tickround = Math.max(a, i) - 20, e._tickround < 0 && (e._tickround = 4);\n    }\n  } else if (Jr(t) || t.charAt(0) === \"L\") {\n    var o = e.range.map(e.r2d || Number);\n    Jr(t) || (t = Number(t.substr(1))), e._tickround = 2 - Math.floor(Math.log(t) / Math.LN10 + 0.01);\n    var l = Math.max(Math.abs(o[0]), Math.abs(o[1])), s = Math.floor(Math.log(l) / Math.LN10 + 0.01), u = e.minexponent === void 0 ? 3 : e.minexponent;\n    Math.abs(s) > u && (gv(e.exponentformat) && !Tb(s) ? e._tickexponent = 3 * Math.round((s - 1) / 3) : e._tickexponent = s);\n  } else\n    e._tickround = null;\n}\nYe.tickIncrement = function(e, t, r, n) {\n  var a = r ? -1 : 1;\n  if (Jr(t)) return jt.increment(e, a * t);\n  var i = t.charAt(0), o = a * Number(t.substr(1));\n  if (i === \"M\") return jt.incrementMonth(e, o, n);\n  if (i === \"L\") return Math.log(Math.pow(10, e) + o) / Math.LN10;\n  if (i === \"D\") {\n    var l = t === \"D2\" ? G4 : U4, s = e + a * 0.01, u = jt.roundUp(jt.mod(s, 1), l, r);\n    return Math.floor(s) + Math.log(Na.round(Math.pow(10, u), 1)) / Math.LN10;\n  }\n  throw \"unrecognized dtick \" + String(t);\n};\nYe.tickFirst = function(e, t) {\n  var r = e.r2l || Number, n = jt.simpleMap(e.range, r, void 0, void 0, t), a = n[1] < n[0], i = a ? Math.floor : Math.ceil, o = xb(n)[0], l = e.dtick, s = r(e.tick0);\n  if (Jr(l)) {\n    var u = i((o - s) / l) * l + s;\n    return (e.type === \"category\" || e.type === \"multicategory\") && (u = jt.constrain(u, 0, e._categories.length - 1)), u;\n  }\n  var f = l.charAt(0), d = Number(l.substr(1));\n  if (f === \"M\") {\n    for (var h = 0, p = s, v, m, g; h < 10; ) {\n      if (v = Ye.tickIncrement(p, l, a, e.calendar), (v - o) * (p - o) <= 0)\n        return a ? Math.min(p, v) : Math.max(p, v);\n      m = (o - (p + v) / 2) / (v - p), g = f + (Math.abs(Math.round(m)) || 1) * d, p = Ye.tickIncrement(p, g, m < 0 ? !a : a, e.calendar), h++;\n    }\n    return jt.error(\"tickFirst did not converge\", e), p;\n  } else {\n    if (f === \"L\")\n      return Math.log(i(\n        (Math.pow(10, o) - s) / d\n      ) * d + s) / Math.LN10;\n    if (f === \"D\") {\n      var y = l === \"D2\" ? G4 : U4, w = jt.roundUp(jt.mod(o, 1), y, a);\n      return Math.floor(o) + Math.log(Na.round(Math.pow(10, w), 1)) / Math.LN10;\n    } else throw \"unrecognized dtick \" + String(l);\n  }\n};\nYe.tickText = function(e, t, r, n) {\n  var a = wb(e, t), i = e.tickmode === \"array\", o = r || i, l = e.type, s = l === \"category\" ? e.d2l_noadd : e.d2l, u;\n  if (i && jt.isArrayOrTypedArray(e.ticktext)) {\n    var f = jt.simpleMap(e.range, e.r2l), d = (Math.abs(f[1] - f[0]) - (e._lBreaks || 0)) / 1e4;\n    for (u = 0; u < e.ticktext.length && !(Math.abs(t - s(e.tickvals[u])) < d); u++)\n      ;\n    if (u < e.ticktext.length)\n      return a.text = String(e.ticktext[u]), a;\n  }\n  function h(g) {\n    if (g === void 0) return !0;\n    if (r) return g === \"none\";\n    var y = {\n      first: e._tmin,\n      last: e._tmax\n    }[g];\n    return g !== \"all\" && t !== y;\n  }\n  var p = r ? \"never\" : e.exponentformat !== \"none\" && h(e.showexponent) ? \"hide\" : \"\";\n  if (l === \"date\" ? dY(e, a, r, o) : l === \"log\" ? hY(e, a, r, o, p) : l === \"category\" ? vY(e, a) : l === \"multicategory\" ? pY(e, a, r) : Ab(e) ? gY(e, a, r, o, p) : mY(e, a, r, o, p), n || (e.tickprefix && !h(e.showtickprefix) && (a.text = e.tickprefix + a.text), e.ticksuffix && !h(e.showticksuffix) && (a.text += e.ticksuffix)), e.labelalias && e.labelalias.hasOwnProperty(a.text)) {\n    var v = e.labelalias[a.text];\n    typeof v == \"string\" && (a.text = v);\n  }\n  if (e.tickson === \"boundaries\" || e.showdividers) {\n    var m = function(g) {\n      var y = e.l2p(g);\n      return y >= 0 && y <= e._length ? g : null;\n    };\n    a.xbnd = [\n      m(a.x - 0.5),\n      m(a.x + e.dtick - 0.5)\n    ];\n  }\n  return a;\n};\nYe.hoverLabelText = function(e, t, r) {\n  r && (e = jt.extendFlat({}, e, { hoverformat: r }));\n  var n = jt.isArrayOrTypedArray(t) ? t[0] : t, a = jt.isArrayOrTypedArray(t) ? t[1] : void 0;\n  if (a !== void 0 && a !== n)\n    return Ye.hoverLabelText(e, n, r) + \" - \" + Ye.hoverLabelText(e, a, r);\n  var i = e.type === \"log\" && n <= 0, o = Ye.tickText(e, e.c2l(i ? -n : n), \"hover\").text;\n  return i ? n === 0 ? \"0\" : Kl + o : o;\n};\nfunction wb(e, t, r) {\n  var n = e.tickfont || {};\n  return {\n    x: t,\n    dx: 0,\n    dy: 0,\n    text: r || \"\",\n    fontSize: n.size,\n    font: n.family,\n    fontColor: n.color\n  };\n}\nfunction dY(e, t, r, n) {\n  var a = e._tickround, i = r && e.hoverformat || Ye.getTickFormat(e);\n  n = !i && n, n && (Jr(a) ? a = 4 : a = { y: \"m\", m: \"d\", d: \"M\", M: \"S\", S: 4 }[a]);\n  var o = jt.formatDate(t.x, i, a, e._dateFormat, e.calendar, e._extraFormat), l, s = o.indexOf(`\n`);\n  if (s !== -1 && (l = o.substr(s + 1), o = o.substr(0, s)), n && (l !== void 0 && (o === \"00:00:00\" || o === \"00:00\") ? (o = l, l = \"\") : o.length === 8 && (o = o.replace(/:00$/, \"\"))), l)\n    if (r)\n      a === \"d\" ? o += \", \" + l : o = l + (o ? \", \" + o : \"\");\n    else if (!e._inCalcTicks || e._prevDateHead !== l)\n      e._prevDateHead = l, o += \"<br>\" + l;\n    else {\n      var u = Mc(e), f = e._trueSide || e.side;\n      (!u && f === \"top\" || u && f === \"bottom\") && (o += \"<br> \");\n    }\n  t.text = o;\n}\nfunction hY(e, t, r, n, a) {\n  var i = e.dtick, o = t.x, l = e.tickformat, s = typeof i == \"string\" && i.charAt(0);\n  if (a === \"never\" && (a = \"\"), n && s !== \"L\" && (i = \"L3\", s = \"L\"), l || s === \"L\")\n    t.text = Ac(Math.pow(10, o), e, a, n);\n  else if (Jr(i) || s === \"D\" && jt.mod(o + 0.01, 1) < 0.1) {\n    var u = Math.round(o), f = Math.abs(u), d = e.exponentformat;\n    d === \"power\" || gv(d) && Tb(u) ? (u === 0 ? t.text = 1 : u === 1 ? t.text = \"10\" : t.text = \"10<sup>\" + (u > 1 ? \"\" : Kl) + f + \"</sup>\", t.fontSize *= 1.25) : (d === \"e\" || d === \"E\") && f > 2 ? t.text = \"1\" + d + (u > 0 ? \"+\" : Kl) + f : (t.text = Ac(Math.pow(10, o), e, \"\", \"fakehover\"), i === \"D1\" && e._id.charAt(0) === \"y\" && (t.dy -= t.fontSize / 6));\n  } else if (s === \"D\")\n    t.text = String(Math.round(Math.pow(10, jt.mod(o, 1)))), t.fontSize *= 0.75;\n  else throw \"unrecognized dtick \" + String(i);\n  if (e.dtick === \"D1\") {\n    var h = String(t.text).charAt(0);\n    (h === \"0\" || h === \"1\") && (e._id.charAt(0) === \"y\" ? t.dx -= t.fontSize / 4 : (t.dy += t.fontSize / 2, t.dx += (e.range[1] > e.range[0] ? 1 : -1) * t.fontSize * (o < 0 ? 0.5 : 0.25)));\n  }\n}\nfunction vY(e, t) {\n  var r = e._categories[Math.round(t.x)];\n  r === void 0 && (r = \"\"), t.text = String(r);\n}\nfunction pY(e, t, r) {\n  var n = Math.round(t.x), a = e._categories[n] || [], i = a[1] === void 0 ? \"\" : String(a[1]), o = a[0] === void 0 ? \"\" : String(a[0]);\n  r ? t.text = o + \" - \" + i : (t.text = i, t.text2 = o);\n}\nfunction mY(e, t, r, n, a) {\n  a === \"never\" ? a = \"\" : e.showexponent === \"all\" && Math.abs(t.x / e.dtick) < 1e-6 && (a = \"hide\"), t.text = Ac(t.x, e, a, n);\n}\nfunction gY(e, t, r, n, a) {\n  if (e.thetaunit === \"radians\" && !r) {\n    var i = t.x / 180;\n    if (i === 0)\n      t.text = \"0\";\n    else {\n      var o = yY(i);\n      if (o[1] >= 100)\n        t.text = Ac(jt.deg2rad(t.x), e, a, n);\n      else {\n        var l = t.x < 0;\n        o[1] === 1 ? o[0] === 1 ? t.text = \"π\" : t.text = o[0] + \"π\" : t.text = [\n          \"<sup>\",\n          o[0],\n          \"</sup>\",\n          \"⁄\",\n          \"<sub>\",\n          o[1],\n          \"</sub>\",\n          \"π\"\n        ].join(\"\"), l && (t.text = Kl + t.text);\n      }\n    }\n  } else\n    t.text = Ac(t.x, e, a, n);\n}\nfunction yY(e) {\n  function t(l, s) {\n    return Math.abs(l - s) <= 1e-6;\n  }\n  function r(l, s) {\n    return t(s, 0) ? l : r(s, l % s);\n  }\n  function n(l) {\n    for (var s = 1; !t(Math.round(l * s) / s, l); )\n      s *= 10;\n    return s;\n  }\n  var a = n(e), i = e * a, o = Math.abs(r(i, a));\n  return [\n    // numerator\n    Math.round(i / o),\n    // denominator\n    Math.round(a / o)\n  ];\n}\nvar bY = [\"f\", \"p\", \"n\", \"μ\", \"m\", \"\", \"k\", \"M\", \"G\", \"T\"];\nfunction gv(e) {\n  return e === \"SI\" || e === \"B\";\n}\nfunction Tb(e) {\n  return e > 14 || e < -15;\n}\nfunction Ac(e, t, r, n) {\n  var a = e < 0, i = t._tickround, o = r || t.exponentformat || \"B\", l = t._tickexponent, s = Ye.getTickFormat(t), u = t.separatethousands;\n  if (n) {\n    var f = {\n      exponentformat: o,\n      minexponent: t.minexponent,\n      dtick: t.showexponent === \"none\" ? t.dtick : Jr(e) && Math.abs(e) || 1,\n      // if not showing any exponents, don't change the exponent\n      // from what we calculate\n      range: t.showexponent === \"none\" ? t.range.map(t.r2d) : [0, e || 1]\n    };\n    V4(f), i = (Number(f._tickround) || 0) + 4, l = f._tickexponent, t.hoverformat && (s = t.hoverformat);\n  }\n  if (s) return t._numFormat(s)(e).replace(/-/g, Kl);\n  var d = Math.pow(10, -i) / 2;\n  if (o === \"none\" && (l = 0), e = Math.abs(e), e < d)\n    e = \"0\", a = !1;\n  else {\n    if (e += d, l && (e *= Math.pow(10, -l), i += l), i === 0) e = String(Math.floor(e));\n    else if (i < 0) {\n      e = String(Math.round(e)), e = e.substr(0, e.length + i);\n      for (var h = i; h < 0; h++) e += \"0\";\n    } else {\n      e = String(e);\n      var p = e.indexOf(\".\") + 1;\n      p && (e = e.substr(0, p + i).replace(/\\.?0+$/, \"\"));\n    }\n    e = jt.numSeparate(e, t._separators, u);\n  }\n  if (l && o !== \"hide\") {\n    gv(o) && Tb(l) && (o = \"power\");\n    var v;\n    l < 0 ? v = Kl + -l : o !== \"power\" ? v = \"+\" + l : v = String(l), o === \"e\" || o === \"E\" ? e += o + v : o === \"power\" ? e += \"×10<sup>\" + v + \"</sup>\" : o === \"B\" && l === 9 ? e += \"B\" : gv(o) && (e += bY[l / 3 + 5]);\n  }\n  return a ? Kl + e : e;\n}\nYe.getTickFormat = function(e) {\n  var t;\n  function r(s) {\n    return typeof s != \"string\" ? s : Number(s.replace(\"M\", \"\")) * Ru;\n  }\n  function n(s, u) {\n    var f = [\"L\", \"D\"];\n    if (typeof s == typeof u) {\n      if (typeof s == \"number\")\n        return s - u;\n      var d = f.indexOf(s.charAt(0)), h = f.indexOf(u.charAt(0));\n      return d === h ? Number(s.replace(/(L|D)/g, \"\")) - Number(u.replace(/(L|D)/g, \"\")) : d - h;\n    } else\n      return typeof s == \"number\" ? 1 : -1;\n  }\n  function a(s, u, f) {\n    var d = f || function(v) {\n      return v;\n    }, h = u[0], p = u[1];\n    return (!h && typeof h != \"number\" || d(h) <= d(s)) && (!p && typeof p != \"number\" || d(p) >= d(s));\n  }\n  function i(s, u) {\n    var f = u[0] === null, d = u[1] === null, h = n(s, u[0]) >= 0, p = n(s, u[1]) <= 0;\n    return (f || h) && (d || p);\n  }\n  var o, l;\n  if (e.tickformatstops && e.tickformatstops.length > 0)\n    switch (e.type) {\n      case \"date\":\n      case \"linear\": {\n        for (t = 0; t < e.tickformatstops.length; t++)\n          if (l = e.tickformatstops[t], l.enabled && a(e.dtick, l.dtickrange, r)) {\n            o = l;\n            break;\n          }\n        break;\n      }\n      case \"log\": {\n        for (t = 0; t < e.tickformatstops.length; t++)\n          if (l = e.tickformatstops[t], l.enabled && i(e.dtick, l.dtickrange)) {\n            o = l;\n            break;\n          }\n        break;\n      }\n    }\n  return o ? o.value : e.tickformat;\n};\nYe.getSubplots = function(e, t) {\n  var r = e._fullLayout._subplots, n = r.cartesian.concat(r.gl2d || []), a = t ? Ye.findSubplotsWithAxis(n, t) : n;\n  return a.sort(function(i, o) {\n    var l = i.substr(1).split(\"y\"), s = o.substr(1).split(\"y\");\n    return l[0] === s[0] ? +l[1] - +s[1] : +l[0] - +s[0];\n  }), a;\n};\nYe.findSubplotsWithAxis = function(e, t) {\n  for (var r = new RegExp(\n    t._id.charAt(0) === \"x\" ? \"^\" + t._id + \"y\" : t._id + \"$\"\n  ), n = [], a = 0; a < e.length; a++) {\n    var i = e[a];\n    r.test(i) && n.push(i);\n  }\n  return n;\n};\nYe.makeClipPaths = function(e) {\n  var t = e._fullLayout;\n  if (!t._hasOnlyLargeSploms) {\n    var r = { _offset: 0, _length: t.width, _id: \"\" }, n = { _offset: 0, _length: t.height, _id: \"\" }, a = Ye.list(e, \"x\", !0), i = Ye.list(e, \"y\", !0), o = [], l, s;\n    for (l = 0; l < a.length; l++)\n      for (o.push({ x: a[l], y: n }), s = 0; s < i.length; s++)\n        l === 0 && o.push({ x: r, y: i[s] }), o.push({ x: a[l], y: i[s] });\n    var u = t._clips.selectAll(\".axesclip\").data(o, function(f) {\n      return f.x._id + f.y._id;\n    });\n    u.enter().append(\"clipPath\").classed(\"axesclip\", !0).attr(\"id\", function(f) {\n      return \"clip\" + t._uid + f.x._id + f.y._id;\n    }).append(\"rect\"), u.exit().remove(), u.each(function(f) {\n      Na.select(this).select(\"rect\").attr({\n        x: f.x._offset || 0,\n        y: f.y._offset || 0,\n        width: f.x._length || 1,\n        height: f.y._length || 1\n      });\n    });\n  }\n};\nYe.draw = function(e, t, r) {\n  var n = e._fullLayout;\n  t === \"redraw\" && n._paper.selectAll(\"g.subplot\").each(function(s) {\n    var u = s[0], f = n._plots[u];\n    if (f) {\n      var d = f.xaxis, h = f.yaxis;\n      f.xaxislayer.selectAll(\".\" + d._id + \"tick\").remove(), f.yaxislayer.selectAll(\".\" + h._id + \"tick\").remove(), f.xaxislayer.selectAll(\".\" + d._id + \"tick2\").remove(), f.yaxislayer.selectAll(\".\" + h._id + \"tick2\").remove(), f.xaxislayer.selectAll(\".\" + d._id + \"divider\").remove(), f.yaxislayer.selectAll(\".\" + h._id + \"divider\").remove(), f.minorGridlayer && f.minorGridlayer.selectAll(\"path\").remove(), f.gridlayer && f.gridlayer.selectAll(\"path\").remove(), f.zerolinelayer && f.zerolinelayer.selectAll(\"path\").remove(), n._infolayer.select(\".g-\" + d._id + \"title\").remove(), n._infolayer.select(\".g-\" + h._id + \"title\").remove();\n    }\n  });\n  var a = !t || t === \"redraw\" ? Ye.listIds(e) : t, i = Ye.list(e), o = i.filter(function(s) {\n    return s.autoshift;\n  }).map(function(s) {\n    return s.overlaying;\n  });\n  a.map(function(s) {\n    var u = Ye.getFromId(e, s);\n    if (u.tickmode === \"sync\" && u.overlaying) {\n      var f = a.findIndex(function(d) {\n        return d === u.overlaying;\n      });\n      f >= 0 && a.unshift(a.splice(f, 1).shift());\n    }\n  });\n  var l = { false: { left: 0, right: 0 } };\n  return jt.syncOrAsync(a.map(function(s) {\n    return function() {\n      if (s) {\n        var u = Ye.getFromId(e, s);\n        r || (r = {}), r.axShifts = l, r.overlayingShiftedAx = o;\n        var f = Ye.drawOne(e, u, r);\n        return u._shiftPusher && Ey(u, u._fullDepth || 0, l, !0), u._r = u.range.slice(), u._rl = jt.simpleMap(u._r, u.r2l), f;\n      }\n    };\n  }));\n};\nYe.drawOne = function(e, t, r) {\n  r = r || {};\n  var n = r.axShifts || {}, a = r.overlayingShiftedAx || [], i, o, l;\n  t.setScale();\n  var s = e._fullLayout, u = t._id, f = u.charAt(0), d = Ye.counterLetter(u), h = s._plots[t._mainSubplot];\n  if (!h) return;\n  if (t._shiftPusher = t.autoshift || a.indexOf(t._id) !== -1 || a.indexOf(t.overlaying) !== -1, t._shiftPusher & t.anchor === \"free\") {\n    var p = t.linewidth / 2 || 0;\n    t.ticks === \"inside\" && (p += t.ticklen), Ey(t, p, n, !0), Ey(t, t.shift || 0, n, !1);\n  }\n  (r.skipTitle !== !0 || t._shift === void 0) && (t._shift = FY(t, n));\n  var v = h[f + \"axislayer\"], m = t._mainLinePosition, g = m += t._shift, y = t._mainMirrorPosition, w = t._vals = Ye.calcTicks(t), k = [t.mirror, g, y].join(\"_\");\n  for (i = 0; i < w.length; i++)\n    w[i].axInfo = k;\n  t._selections = {}, t._tickAngles && (t._prevTickAngles = t._tickAngles), t._tickAngles = {}, t._depth = null;\n  var x = {};\n  function _(Fe) {\n    var Oe = u + (Fe || \"tick\");\n    return x[Oe] || (x[Oe] = TY(t, Oe)), x[Oe];\n  }\n  if (t.visible) {\n    var T = Ye.makeTransTickFn(t), S = Ye.makeTransTickLabelFn(t), M, L, F = t.ticks === \"inside\", $ = t.ticks === \"outside\";\n    if (t.tickson === \"boundaries\") {\n      var I = _Y(t, w);\n      L = Ye.clipEnds(t, I), M = F ? L : I;\n    } else\n      L = Ye.clipEnds(t, w), M = F && t.ticklabelmode !== \"period\" ? L : w;\n    var O = t._gridVals = L, G = wY(t, w);\n    if (!s._hasOnlyLargeSploms) {\n      var K = t._subplotsWith, V = {};\n      for (i = 0; i < K.length; i++) {\n        o = K[i], l = s._plots[o];\n        var z = l[d + \"axis\"], P = z._mainAxis._id;\n        if (!V[P]) {\n          V[P] = 1;\n          var R = f === \"x\" ? \"M0,\" + z._offset + \"v\" + z._length : \"M\" + z._offset + \",0h\" + z._length;\n          Ye.drawGrid(e, t, {\n            vals: O,\n            counterAxis: z,\n            layer: l.gridlayer.select(\".\" + u),\n            minorLayer: l.minorGridlayer.select(\".\" + u),\n            path: R,\n            transFn: T\n          }), Ye.drawZeroLine(e, t, {\n            counterAxis: z,\n            layer: l.zerolinelayer,\n            path: R,\n            transFn: T\n          });\n        }\n      }\n    }\n    var H, B = Ye.getTickSigns(t), W = Ye.getTickSigns(t, \"minor\");\n    if (t.ticks || t.minor && t.minor.ticks) {\n      var ee = Ye.makeTickPath(t, g, B[2]), re = Ye.makeTickPath(t, g, W[2], { minor: !0 }), ae, Q, ue, j;\n      if (t._anchorAxis && t.mirror && t.mirror !== !0 ? (ae = Ye.makeTickPath(t, y, B[3]), Q = Ye.makeTickPath(t, y, W[3], { minor: !0 }), ue = ee + ae, j = re + Q) : (ae = \"\", Q = \"\", ue = ee, j = re), t.showdividers && $ && t.tickson === \"boundaries\") {\n        var U = {};\n        for (i = 0; i < G.length; i++)\n          U[G[i].x] = 1;\n        H = function(Fe) {\n          return U[Fe.x] ? ae : ue;\n        };\n      } else\n        H = function(Fe) {\n          return Fe.minor ? j : ue;\n        };\n    }\n    if (Ye.drawTicks(e, t, {\n      vals: M,\n      layer: v,\n      path: H,\n      transFn: T\n    }), t.mirror === \"allticks\") {\n      var Z = Object.keys(t._linepositions || {});\n      for (i = 0; i < Z.length; i++) {\n        o = Z[i], l = s._plots[o];\n        var le = t._linepositions[o] || [], J = le[0], pe = le[1], ge = le[2], ve = Ye.makeTickPath(\n          t,\n          J,\n          ge ? B[0] : W[0],\n          { minor: ge }\n        ) + Ye.makeTickPath(\n          t,\n          pe,\n          ge ? B[1] : W[1],\n          { minor: ge }\n        );\n        Ye.drawTicks(e, t, {\n          vals: M,\n          layer: l[f + \"axislayer\"],\n          path: ve,\n          transFn: T\n        });\n      }\n    }\n    var me = [];\n    if (me.push(function() {\n      return Ye.drawLabels(e, t, {\n        vals: w,\n        layer: v,\n        plotinfo: l,\n        transFn: S,\n        labelFns: Ye.makeLabelFns(t, g)\n      });\n    }), t.type === \"multicategory\") {\n      var Le = { x: 2, y: 10 }[f];\n      me.push(function() {\n        var Fe = { x: \"height\", y: \"width\" }[f], Oe = _()[Fe] + Le + (t._tickAngles[u + \"tick\"] ? t.tickfont.size * pv : 0);\n        return Ye.drawLabels(e, t, {\n          vals: xY(t, w),\n          layer: v,\n          cls: u + \"tick2\",\n          repositionOnUpdate: !0,\n          secondary: !0,\n          transFn: T,\n          labelFns: Ye.makeLabelFns(t, g + Oe * B[4])\n        });\n      }), me.push(function() {\n        return t._depth = B[4] * (_(\"tick2\")[t.side] - g), AY(e, t, {\n          vals: G,\n          layer: v,\n          path: Ye.makeTickPath(t, g, B[4], { len: t._depth }),\n          transFn: T\n        });\n      });\n    } else t.title.hasOwnProperty(\"standoff\") && me.push(function() {\n      t._depth = B[4] * (_()[t.side] - g);\n    });\n    var ze = Tc.getComponentMethod(\"rangeslider\", \"isVisible\")(t);\n    return !r.skipTitle && !(ze && t.side === \"bottom\") && me.push(function() {\n      return MY(e, t);\n    }), me.push(function() {\n      var Fe = t.side.charAt(0), Oe = QZ[t.side].charAt(0), Re = Ye.getPxPosition(e, t), We = $ ? t.ticklen : 0, Me, Ve, qe, Qe;\n      (t.automargin || ze || t._shiftPusher) && (t.type === \"multicategory\" ? Me = _(\"tick2\") : (Me = _(), f === \"x\" && Fe === \"b\" && (t._depth = Math.max(Me.width > 0 ? Me.bottom - Re : 0, We))));\n      var ot = 0, ht = 0;\n      if (t._shiftPusher && (ot = Math.max(\n        We,\n        Me.height > 0 ? Fe === \"l\" ? Re - Me.left : Me.right - Re : 0\n      ), t.title.text !== s._dfltTitle[f] && (ht = (t._titleStandoff || 0) + (t._titleScoot || 0), Fe === \"l\" && (ht += Ly(t))), t._fullDepth = Math.max(ot, ht)), t.automargin) {\n        Ve = { x: 0, y: 0, r: 0, l: 0, t: 0, b: 0 };\n        var vt = [0, 1], nt = typeof t._shift == \"number\" ? t._shift : 0;\n        if (f === \"x\") {\n          if (Fe === \"b\" ? Ve[Fe] = t._depth : (Ve[Fe] = t._depth = Math.max(Me.width > 0 ? Re - Me.top : 0, We), vt.reverse()), Me.width > 0) {\n            var ft = Me.right - (t._offset + t._length);\n            ft > 0 && (Ve.xr = 1, Ve.r = ft);\n            var Pe = t._offset - Me.left;\n            Pe > 0 && (Ve.xl = 0, Ve.l = Pe);\n          }\n        } else if (Fe === \"l\" ? (t._depth = Math.max(Me.height > 0 ? Re - Me.left : 0, We), Ve[Fe] = t._depth - nt) : (t._depth = Math.max(Me.height > 0 ? Me.right - Re : 0, We), Ve[Fe] = t._depth + nt, vt.reverse()), Me.height > 0) {\n          var Ie = Me.bottom - (t._offset + t._length);\n          Ie > 0 && (Ve.yb = 0, Ve.b = Ie);\n          var Ne = t._offset - Me.top;\n          Ne > 0 && (Ve.yt = 1, Ve.t = Ne);\n        }\n        Ve[d] = t.anchor === \"free\" ? t.position : t._anchorAxis.domain[vt[0]], t.title.text !== s._dfltTitle[f] && (Ve[Fe] += Ly(t) + (t.title.standoff || 0)), t.mirror && t.anchor !== \"free\" && (qe = { x: 0, y: 0, r: 0, l: 0, t: 0, b: 0 }, qe[Oe] = t.linewidth, t.mirror && t.mirror !== !0 && (qe[Oe] += We), t.mirror === !0 || t.mirror === \"ticks\" ? qe[d] = t._anchorAxis.domain[vt[1]] : (t.mirror === \"all\" || t.mirror === \"allticks\") && (qe[d] = [t._counterDomainMin, t._counterDomainMax][vt[1]]));\n      }\n      ze && (Qe = Tc.getComponentMethod(\"rangeslider\", \"autoMarginOpts\")(e, t)), typeof t.automargin == \"string\" && (JT(Ve, t.automargin), JT(qe, t.automargin)), bu.autoMargin(e, kb(t), Ve), bu.autoMargin(e, W4(t), qe), bu.autoMargin(e, Z4(t), Qe);\n    }), jt.syncOrAsync(me);\n  }\n};\nfunction JT(e, t) {\n  if (e) {\n    var r = Object.keys(VT).reduce(function(n, a) {\n      return t.indexOf(a) !== -1 && VT[a].forEach(function(i) {\n        n[i] = 1;\n      }), n;\n    }, {});\n    Object.keys(e).forEach(function(n) {\n      r[n] || (n.length === 1 ? e[n] = 0 : delete e[n]);\n    });\n  }\n}\nfunction _Y(e, t) {\n  var r = [], n, a = function(i, o) {\n    var l = i.xbnd[o];\n    l !== null && r.push(jt.extendFlat({}, i, { x: l }));\n  };\n  if (t.length) {\n    for (n = 0; n < t.length; n++)\n      a(t[n], 0);\n    a(t[n - 1], 1);\n  }\n  return r;\n}\nfunction xY(e, t) {\n  for (var r = [], n = {}, a = 0; a < t.length; a++) {\n    var i = t[a];\n    n[i.text2] ? n[i.text2].push(i.x) : n[i.text2] = [i.x];\n  }\n  for (var o in n)\n    r.push(wb(e, jt.interp(n[o], 0.5), o));\n  return r;\n}\nfunction wY(e, t) {\n  var r = [], n, a, i = t.length && t[t.length - 1].x < t[0].x, o = function(s, u) {\n    var f = s.xbnd[u];\n    f !== null && r.push(jt.extendFlat({}, s, { x: f }));\n  };\n  if (e.showdividers && t.length) {\n    for (n = 0; n < t.length; n++) {\n      var l = t[n];\n      l.text2 !== a && o(l, i ? 1 : 0), a = l.text2;\n    }\n    o(t[n - 1], i ? 0 : 1);\n  }\n  return r;\n}\nfunction TY(e, t) {\n  var r, n, a, i;\n  return e._selections[t].size() ? (r = 1 / 0, n = -1 / 0, a = 1 / 0, i = -1 / 0, e._selections[t].each(function() {\n    var o = Dy(this), l = ya.bBox(o.node().parentNode);\n    r = Math.min(r, l.top), n = Math.max(n, l.bottom), a = Math.min(a, l.left), i = Math.max(i, l.right);\n  })) : (r = 0, n = 0, a = 0, i = 0), {\n    top: r,\n    bottom: n,\n    left: a,\n    right: i,\n    height: n - r,\n    width: i - a\n  };\n}\nYe.getTickSigns = function(e, t) {\n  var r = e._id.charAt(0), n = { x: \"top\", y: \"right\" }[r], a = e.side === n ? 1 : -1, i = [-1, 1, a, -a], o = t ? (e.minor || {}).ticks : e.ticks;\n  return o !== \"inside\" == (r === \"x\") && (i = i.map(function(l) {\n    return -l;\n  })), e.side && i.push({ l: -1, t: -1, r: 1, b: 1 }[e.side.charAt(0)]), i;\n};\nYe.makeTransTickFn = function(e) {\n  return e._id.charAt(0) === \"x\" ? function(t) {\n    return Fu(e._offset + e.l2p(t.x), 0);\n  } : function(t) {\n    return Fu(0, e._offset + e.l2p(t.x));\n  };\n};\nYe.makeTransTickLabelFn = function(e) {\n  var t = kY(e), r = t[0], n = t[1];\n  return e._id.charAt(0) === \"x\" ? function(a) {\n    return Fu(\n      r + e._offset + e.l2p(Cy(a)),\n      n\n    );\n  } : function(a) {\n    return Fu(\n      n,\n      r + e._offset + e.l2p(Cy(a))\n    );\n  };\n};\nfunction Cy(e) {\n  return e.periodX !== void 0 ? e.periodX : e.x;\n}\nfunction kY(e) {\n  var t = e.ticklabelposition || \"\", r = function(p) {\n    return t.indexOf(p) !== -1;\n  }, n = r(\"top\"), a = r(\"left\"), i = r(\"right\"), o = r(\"bottom\"), l = r(\"inside\"), s = o || a || n || i;\n  if (!s && !l) return [0, 0];\n  var u = e.side, f = s ? (e.tickwidth || 0) / 2 : 0, d = mv, h = e.tickfont ? e.tickfont.size : 12;\n  return (o || n) && (f += h * Jl, d += (e.linewidth || 0) / 2), (a || i) && (f += (e.linewidth || 0) / 2, d += mv), l && u === \"top\" && (d -= h * (1 - Jl)), (a || n) && (f = -f), (u === \"bottom\" || u === \"right\") && (d = -d), [\n    s ? f : 0,\n    l ? d : 0\n  ];\n}\nYe.makeTickPath = function(e, t, r, n) {\n  n || (n = {});\n  var a = n.minor;\n  if (a && !e.minor) return \"\";\n  var i = n.len !== void 0 ? n.len : a ? e.minor.ticklen : e.ticklen, o = e._id.charAt(0), l = (e.linewidth || 1) / 2;\n  return o === \"x\" ? \"M0,\" + (t + l * r) + \"v\" + i * r : \"M\" + (t + l * r) + \",0h\" + i * r;\n};\nYe.makeLabelFns = function(e, t, r) {\n  var n = e.ticklabelposition || \"\", a = function(I) {\n    return n.indexOf(I) !== -1;\n  }, i = a(\"top\"), o = a(\"left\"), l = a(\"right\"), s = a(\"bottom\"), u = s || o || i || l, f = a(\"inside\"), d = n === \"inside\" && e.ticks === \"inside\" || !f && e.ticks === \"outside\" && e.tickson !== \"boundaries\", h = 0, p = 0, v = d ? e.ticklen : 0;\n  if (f ? v *= -1 : u && (v = 0), d && (h += v, r)) {\n    var m = jt.deg2rad(r);\n    h = v * Math.cos(m) + 1, p = v * Math.sin(m);\n  }\n  e.showticklabels && (d || e.showline) && (h += 0.2 * e.tickfont.size), h += (e.linewidth || 1) / 2 * (f ? -1 : 1);\n  var g = {\n    labelStandoff: h,\n    labelShift: p\n  }, y, w, k, x, _ = 0, T = e.side, S = e._id.charAt(0), M = e.tickangle, L;\n  if (S === \"x\")\n    L = !f && T === \"bottom\" || f && T === \"top\", x = L ? 1 : -1, f && (x *= -1), y = p * x, w = t + h * x, k = L ? 1 : -0.2, Math.abs(M) === 90 && (f ? k += Jd : M === -90 && T === \"bottom\" ? k = Jl : M === 90 && T === \"top\" ? k = Jd : k = 0.5, _ = Jd / 2 * (M / 90)), g.xFn = function(I) {\n      return I.dx + y + _ * I.fontSize;\n    }, g.yFn = function(I) {\n      return I.dy + w + I.fontSize * k;\n    }, g.anchorFn = function(I, O) {\n      if (u) {\n        if (o) return \"end\";\n        if (l) return \"start\";\n      }\n      return !Jr(O) || O === 0 || O === 180 ? \"middle\" : O * x < 0 !== f ? \"end\" : \"start\";\n    }, g.heightFn = function(I, O, G) {\n      return O < -60 || O > 60 ? -0.5 * G : e.side === \"top\" !== f ? -G : 0;\n    };\n  else if (S === \"y\") {\n    if (L = !f && T === \"left\" || f && T === \"right\", x = L ? 1 : -1, f && (x *= -1), y = h, w = p * x, k = 0, !f && Math.abs(M) === 90 && (M === -90 && T === \"left\" || M === 90 && T === \"right\" ? k = Jl : k = 0.5), f) {\n      var F = Jr(M) ? +M : 0;\n      if (F !== 0) {\n        var $ = jt.deg2rad(F);\n        _ = Math.abs(Math.sin($)) * Jl * x, k = 0;\n      }\n    }\n    g.xFn = function(I) {\n      return I.dx + t - (y + I.fontSize * k) * x + _ * I.fontSize;\n    }, g.yFn = function(I) {\n      return I.dy + w + I.fontSize * Jd;\n    }, g.anchorFn = function(I, O) {\n      return Jr(O) && Math.abs(O) === 90 ? \"middle\" : L ? \"end\" : \"start\";\n    }, g.heightFn = function(I, O, G) {\n      return e.side === \"right\" && (O *= -1), O < -30 ? -G : O < 30 ? -0.5 * G : 0;\n    };\n  }\n  return g;\n};\nfunction Fp(e) {\n  return [e.text, e.x, e.axInfo, e.font, e.fontSize, e.fontColor].join(\"_\");\n}\nYe.drawTicks = function(e, t, r) {\n  r = r || {};\n  var n = t._id + \"tick\", a = [].concat(\n    t.minor && t.minor.ticks ? (\n      // minor vals\n      r.vals.filter(function(o) {\n        return o.minor && !o.noTick;\n      })\n    ) : []\n  ).concat(\n    t.ticks ? (\n      // major vals\n      r.vals.filter(function(o) {\n        return !o.minor && !o.noTick;\n      })\n    ) : []\n  ), i = r.layer.selectAll(\"path.\" + n).data(a, Fp);\n  i.exit().remove(), i.enter().append(\"path\").classed(n, 1).classed(\"ticks\", 1).classed(\"crisp\", r.crisp !== !1).each(function(o) {\n    return kc.stroke(Na.select(this), o.minor ? t.minor.tickcolor : t.tickcolor);\n  }).style(\"stroke-width\", function(o) {\n    return ya.crispRound(\n      e,\n      o.minor ? t.minor.tickwidth : t.tickwidth,\n      1\n    ) + \"px\";\n  }).attr(\"d\", r.path).style(\"display\", null), Rp(t, [H4]), i.attr(\"transform\", r.transFn);\n};\nYe.drawGrid = function(e, t, r) {\n  if (r = r || {}, t.tickmode !== \"sync\") {\n    var n = t._id + \"grid\", a = t.minor && t.minor.showgrid, i = a ? r.vals.filter(function(y) {\n      return y.minor;\n    }) : [], o = t.showgrid ? r.vals.filter(function(y) {\n      return !y.minor;\n    }) : [], l = r.counterAxis;\n    if (l && Ye.shouldShowZeroLine(e, t, l))\n      for (var s = t.tickmode === \"array\", u = 0; u < o.length; u++) {\n        var f = o[u].x;\n        if (s ? !f : Math.abs(f) < t.dtick / 100)\n          if (o = o.slice(0, u).concat(o.slice(u + 1)), s) u--;\n          else break;\n      }\n    t._gw = ya.crispRound(e, t.gridwidth, 1);\n    for (var d = a ? ya.crispRound(e, t.minor.gridwidth, 1) : 0, h = r.layer, p = r.minorLayer, v = 1; v >= 0; v--) {\n      var m = v ? h : p;\n      if (m) {\n        var g = m.selectAll(\"path.\" + n).data(v ? o : i, Fp);\n        g.exit().remove(), g.enter().append(\"path\").classed(n, 1).classed(\"crisp\", r.crisp !== !1), g.attr(\"transform\", r.transFn).attr(\"d\", r.path).each(function(y) {\n          return kc.stroke(\n            Na.select(this),\n            y.minor ? t.minor.gridcolor : t.gridcolor || \"#ddd\"\n          );\n        }).style(\"stroke-dasharray\", function(y) {\n          return ya.dashStyle(\n            y.minor ? t.minor.griddash : t.griddash,\n            y.minor ? t.minor.gridwidth : t.gridwidth\n          );\n        }).style(\"stroke-width\", function(y) {\n          return (y.minor ? d : t._gw) + \"px\";\n        }).style(\"display\", null), typeof r.path == \"function\" && g.attr(\"d\", r.path);\n      }\n    }\n    Rp(t, [My, Sy]);\n  }\n};\nYe.drawZeroLine = function(e, t, r) {\n  r = r || r;\n  var n = t._id + \"zl\", a = Ye.shouldShowZeroLine(e, t, r.counterAxis), i = r.layer.selectAll(\"path.\" + n).data(a ? [{ x: 0, id: t._id }] : []);\n  i.exit().remove(), i.enter().append(\"path\").classed(n, 1).classed(\"zl\", 1).classed(\"crisp\", r.crisp !== !1).each(function() {\n    r.layer.selectAll(\"path\").sort(function(o, l) {\n      return tY(o.id, l.id);\n    });\n  }), i.attr(\"transform\", r.transFn).attr(\"d\", r.path).call(kc.stroke, t.zerolinecolor || kc.defaultLine).style(\"stroke-width\", ya.crispRound(e, t.zerolinewidth, t._gw || 1) + \"px\").style(\"display\", null), Rp(t, [Ay]);\n};\nYe.drawLabels = function(e, t, r) {\n  r = r || {};\n  var n = e._fullLayout, a = t._id, i = a.charAt(0), o = r.cls || a + \"tick\", l = r.vals.filter(function(G) {\n    return G.text;\n  }), s = r.labelFns, u = r.secondary ? 0 : t.tickangle, f = (t._prevTickAngles || {})[o], d = r.layer.selectAll(\"g.\" + o).data(t.showticklabels ? l : [], Fp), h = [];\n  d.enter().append(\"g\").classed(o, 1).append(\"text\").attr(\"text-anchor\", \"middle\").each(function(G) {\n    var K = Na.select(this), V = e._promises.length;\n    K.call(Yf.positionText, s.xFn(G), s.yFn(G)).call(ya.font, G.font, G.fontSize, G.fontColor).text(G.text).call(Yf.convertToTspans, e), e._promises[V] ? h.push(e._promises.pop().then(function() {\n      p(K, u);\n    })) : p(K, u);\n  }), Rp(t, [GT]), d.exit().remove(), r.repositionOnUpdate && d.each(function(G) {\n    Na.select(this).select(\"text\").call(Yf.positionText, s.xFn(G), s.yFn(G));\n  });\n  function p(G, K) {\n    G.each(function(V) {\n      var z = Na.select(this), P = z.select(\".text-math-group\"), R = s.anchorFn(V, K), H = r.transFn.call(z.node(), V) + (Jr(K) && +K != 0 ? \" rotate(\" + K + \",\" + s.xFn(V) + \",\" + (s.yFn(V) - V.fontSize / 2) + \")\" : \"\"), B = Yf.lineCount(z), W = pv * V.fontSize, ee = s.heightFn(V, Jr(K) ? +K : 0, (B - 1) * W);\n      if (ee && (H += Fu(0, ee)), P.empty()) {\n        var re = z.select(\"text\");\n        re.attr({\n          transform: H,\n          \"text-anchor\": R\n        }), re.style(\"opacity\", 1), t._adjustTickLabelsOverflow && t._adjustTickLabelsOverflow();\n      } else {\n        var ae = ya.bBox(P.node()).width, Q = ae * { end: -0.5, start: 0.5 }[R];\n        P.attr(\"transform\", H + Fu(Q, 0));\n      }\n    });\n  }\n  t._adjustTickLabelsOverflow = function() {\n    var G = t.ticklabeloverflow;\n    if (!(!G || G === \"allow\")) {\n      var K = G.indexOf(\"hide\") !== -1, V = t._id.charAt(0) === \"x\", z = 0, P = V ? e._fullLayout.width : e._fullLayout.height;\n      if (G.indexOf(\"domain\") !== -1) {\n        var R = jt.simpleMap(t.range, t.r2l);\n        z = t.l2p(R[0]) + t._offset, P = t.l2p(R[1]) + t._offset;\n      }\n      var H = Math.min(z, P), B = Math.max(z, P), W = t.side, ee = 1 / 0, re = -1 / 0;\n      d.each(function(j) {\n        var U = Na.select(this), Z = U.select(\".text-math-group\");\n        if (Z.empty()) {\n          var le = ya.bBox(U.node()), J = 0;\n          V ? (le.right > B || le.left < H) && (J = 1) : (le.bottom > B || le.top + (t.tickangle ? 0 : j.fontSize / 4) < H) && (J = 1);\n          var pe = U.select(\"text\");\n          J ? K && pe.style(\"opacity\", 0) : (pe.style(\"opacity\", 1), W === \"bottom\" || W === \"right\" ? ee = Math.min(ee, V ? le.top : le.left) : ee = -1 / 0, W === \"top\" || W === \"left\" ? re = Math.max(re, V ? le.bottom : le.right) : re = 1 / 0);\n        }\n      });\n      for (var ae in n._plots) {\n        var Q = n._plots[ae];\n        if (!(t._id !== Q.xaxis._id && t._id !== Q.yaxis._id)) {\n          var ue = V ? Q.yaxis : Q.xaxis;\n          ue && (ue[\"_visibleLabelMin_\" + t._id] = ee, ue[\"_visibleLabelMax_\" + t._id] = re);\n        }\n      }\n    }\n  }, t._hideCounterAxisInsideTickLabels = function(G) {\n    var K = t._id.charAt(0) === \"x\", V = [];\n    for (var z in n._plots) {\n      var P = n._plots[z];\n      t._id !== P.xaxis._id && t._id !== P.yaxis._id || V.push(K ? P.yaxis : P.xaxis);\n    }\n    V.forEach(function(R, H) {\n      R && Mc(R) && (G || [\n        Ay,\n        Sy,\n        My,\n        H4,\n        GT\n      ]).forEach(function(B) {\n        var W = B.K === \"tick\" && B.L === \"text\" && t.ticklabelmode === \"period\", ee = n._plots[t._mainSubplot], re;\n        B.K === Ay.K ? re = ee.zerolinelayer.selectAll(\".\" + t._id + \"zl\") : B.K === Sy.K ? re = ee.minorGridlayer.selectAll(\".\" + t._id) : B.K === My.K ? re = ee.gridlayer.selectAll(\".\" + t._id) : re = ee[t._id.charAt(0) + \"axislayer\"], re.each(function() {\n          var ae = Na.select(this);\n          B.L && (ae = ae.selectAll(B.L)), ae.each(function(Q) {\n            var ue = t.l2p(\n              W ? Cy(Q) : Q.x\n            ) + t._offset, j = Na.select(this);\n            ue < t[\"_visibleLabelMax_\" + R._id] && ue > t[\"_visibleLabelMin_\" + R._id] ? j.style(\"display\", \"none\") : B.K === \"tick\" && !H && j.style(\"display\", null);\n          });\n        });\n      });\n    });\n  }, p(d, f + 1 ? f : u);\n  function v() {\n    return h.length && Promise.all(h);\n  }\n  var m = null;\n  function g() {\n    if (p(d, u), l.length && i === \"x\" && !Jr(u) && (t.type !== \"log\" || String(t.dtick).charAt(0) !== \"D\")) {\n      m = 0;\n      var G = 0, K = [], V;\n      if (d.each(function(le) {\n        G = Math.max(G, le.fontSize);\n        var J = t.l2p(le.x), pe = Dy(this), ge = ya.bBox(pe.node());\n        K.push({\n          // ignore about y, just deal with x overlaps\n          top: 0,\n          bottom: 10,\n          height: 10,\n          left: J - ge.width / 2,\n          // impose a 2px gap\n          right: J + ge.width / 2 + 2,\n          width: ge.width + 2\n        });\n      }), (t.tickson === \"boundaries\" || t.showdividers) && !r.secondary) {\n        var z = 2;\n        for (t.ticks && (z += t.tickwidth / 2), V = 0; V < K.length; V++) {\n          var P = l[V].xbnd, R = K[V];\n          if (P[0] !== null && R.left - t.l2p(P[0]) < z || P[1] !== null && t.l2p(P[1]) - R.right < z) {\n            m = 90;\n            break;\n          }\n        }\n      } else {\n        var H = l.length, B = Math.abs((l[H - 1].x - l[0].x) * t._m) / (H - 1), W = t.ticklabelposition || \"\", ee = function(le) {\n          return W.indexOf(le) !== -1;\n        }, re = ee(\"top\"), ae = ee(\"left\"), Q = ee(\"right\"), ue = ee(\"bottom\"), j = ue || ae || re || Q, U = j ? (t.tickwidth || 0) + 2 * mv : 0, Z = B < G * 2.5 || t.type === \"multicategory\" || t._name === \"realaxis\";\n        for (V = 0; V < K.length - 1; V++)\n          if (jt.bBoxIntersect(K[V], K[V + 1], U)) {\n            m = Z ? 90 : 30;\n            break;\n          }\n      }\n      m && p(d, m);\n    }\n  }\n  t._selections && (t._selections[o] = d);\n  var y = [v];\n  t.automargin && n._redrawFromAutoMarginCount && f === 90 ? (m = 90, y.push(function() {\n    p(d, f);\n  })) : y.push(g), t._tickAngles && y.push(function() {\n    t._tickAngles[o] = m === null ? Jr(u) ? u : 0 : m;\n  });\n  var w = function() {\n    var G = 0, K = 0;\n    return d.each(function(V, z) {\n      var P = Dy(this), R = P.select(\".text-math-group\");\n      if (R.empty()) {\n        var H;\n        t._vals[z] && (H = t._vals[z].bb || ya.bBox(P.node()), t._vals[z].bb = H), G = Math.max(G, H.width), K = Math.max(K, H.height);\n      }\n    }), {\n      labelsMaxW: G,\n      labelsMaxH: K\n    };\n  }, k = t._anchorAxis;\n  if (k && (k.autorange || k.insiderange) && Mc(t) && !rY(n, t._id) && (n._insideTickLabelsUpdaterange || (n._insideTickLabelsUpdaterange = {}), k.autorange && (n._insideTickLabelsUpdaterange[k._name + \".autorange\"] = k.autorange, y.push(w)), k.insiderange)) {\n    var x = w(), _ = t._id.charAt(0) === \"y\" ? x.labelsMaxW : x.labelsMaxH;\n    _ += 2 * mv, t.ticklabelposition === \"inside\" && (_ += t.ticklen || 0);\n    var T = t.side === \"right\" || t.side === \"top\" ? 1 : -1, S = T === 1 ? 1 : 0, M = T === 1 ? 0 : 1, L = [];\n    L[M] = k.range[M];\n    var F = k.d2p(k.range[S]), $ = k.d2p(k.range[M]), I = Math.abs($ - F);\n    I - _ > 0 ? (I -= _, _ *= 1 + _ / I) : _ = 0, t._id.charAt(0) !== \"y\" && (_ = -_), L[S] = k.p2d(\n      k.d2p(k.range[S]) + T * _\n    ), k.autorange === \"min\" || k.autorange === \"max reversed\" ? (L[0] = null, k._rangeInitial0 = void 0, k._rangeInitial1 = void 0) : (k.autorange === \"max\" || k.autorange === \"min reversed\") && (L[1] = null, k._rangeInitial0 = void 0, k._rangeInitial1 = void 0), n._insideTickLabelsUpdaterange[k._name + \".range\"] = L;\n  }\n  var O = jt.syncOrAsync(y);\n  return O && O.then && e._promises.push(O), O;\n};\nfunction AY(e, t, r) {\n  var n = t._id + \"divider\", a = r.vals, i = r.layer.selectAll(\"path.\" + n).data(a, Fp);\n  i.exit().remove(), i.enter().insert(\"path\", \":first-child\").classed(n, 1).classed(\"crisp\", 1).call(kc.stroke, t.dividercolor).style(\"stroke-width\", ya.crispRound(e, t.dividerwidth, 1) + \"px\"), i.attr(\"transform\", r.transFn).attr(\"d\", r.path);\n}\nYe.getPxPosition = function(e, t) {\n  var r = e._fullLayout._size, n = t._id.charAt(0), a = t.side, i;\n  if (t.anchor !== \"free\" ? i = t._anchorAxis : n === \"x\" ? i = {\n    _offset: r.t + (1 - (t.position || 0)) * r.h,\n    _length: 0\n  } : n === \"y\" && (i = {\n    _offset: r.l + (t.position || 0) * r.w + t._shift,\n    _length: 0\n  }), a === \"top\" || a === \"left\")\n    return i._offset;\n  if (a === \"bottom\" || a === \"right\")\n    return i._offset + i._length;\n};\nfunction Ly(e) {\n  var t = e.title.font.size, r = (e.title.text.match(Yf.BR_TAG_ALL) || []).length;\n  return e.title.hasOwnProperty(\"standoff\") ? r ? t * (Jl + r * pv) : t * Jl : r ? t * (r + 1) * pv : t;\n}\nfunction MY(e, t) {\n  var r = e._fullLayout, n = t._id, a = n.charAt(0), i = t.title.font.size, o;\n  if (t.title.hasOwnProperty(\"standoff\"))\n    o = t._depth + t.title.standoff + Ly(t);\n  else {\n    var l = Mc(t);\n    if (t.type === \"multicategory\")\n      o = t._depth;\n    else {\n      var s = 1.5 * i;\n      l && (s = 0.5 * i, t.ticks === \"outside\" && (s += t.ticklen)), o = 10 + s + (t.linewidth ? t.linewidth - 1 : 0);\n    }\n    l || (a === \"x\" ? o += t.side === \"top\" ? i * (t.showticklabels ? 1 : 0) : i * (t.showticklabels ? 1.5 : 0.5) : o += t.side === \"right\" ? i * (t.showticklabels ? 1 : 0.5) : i * (t.showticklabels ? 0.5 : 0));\n  }\n  var u = Ye.getPxPosition(e, t), f, d, h;\n  a === \"x\" ? (d = t._offset + t._length / 2, h = t.side === \"top\" ? u - o : u + o) : (h = t._offset + t._length / 2, d = t.side === \"right\" ? u + o : u - o, f = { rotate: \"-90\", offset: 0 });\n  var p;\n  if (t.type !== \"multicategory\") {\n    var v = t._selections[t._id + \"tick\"];\n    if (p = {\n      selection: v,\n      side: t.side\n    }, v && v.node() && v.node().parentNode) {\n      var m = ya.getTranslate(v.node().parentNode);\n      p.offsetLeft = m.x, p.offsetTop = m.y;\n    }\n    t.title.hasOwnProperty(\"standoff\") && (p.pad = 0);\n  }\n  return t._titleStandoff = o, ZZ.draw(e, n + \"title\", {\n    propContainer: t,\n    propName: t._name + \".title.text\",\n    placeholder: r._dfltTitle[a],\n    avoid: p,\n    transform: f,\n    attributes: { x: d, y: h, \"text-anchor\": \"middle\" }\n  });\n}\nYe.shouldShowZeroLine = function(e, t, r) {\n  var n = jt.simpleMap(t.range, t.r2l);\n  return n[0] * n[1] <= 0 && t.zeroline && (t.type === \"linear\" || t.type === \"-\") && !(t.rangebreaks && t.maskBreaks(0) === Dp) && (q4(t, 0) || !SY(e, t, r, n) || CY(e, t));\n};\nYe.clipEnds = function(e, t) {\n  return t.filter(function(r) {\n    return q4(e, r.x);\n  });\n};\nfunction q4(e, t) {\n  var r = e.l2p(t);\n  return r > 1 && r < e._length - 1;\n}\nfunction SY(e, t, r, n) {\n  var a = r._mainAxis;\n  if (!a) return;\n  var i = e._fullLayout, o = t._id.charAt(0), l = Ye.counterLetter(t._id), s = t._offset + (Math.abs(n[0]) < Math.abs(n[1]) == (o === \"x\") ? 0 : t._length);\n  function u(v) {\n    if (!v.showline || !v.linewidth) return !1;\n    var m = Math.max((v.linewidth + t.zerolinewidth) / 2, 1);\n    function g(k) {\n      return typeof k == \"number\" && Math.abs(k - s) < m;\n    }\n    if (g(v._mainLinePosition) || g(v._mainMirrorPosition))\n      return !0;\n    var y = v._linepositions || {};\n    for (var w in y)\n      if (g(y[w][0]) || g(y[w][1]))\n        return !0;\n  }\n  var f = i._plots[r._mainSubplot];\n  if (!(f.mainplotinfo || f).overlays.length)\n    return u(r);\n  for (var d = Ye.list(e, l), h = 0; h < d.length; h++) {\n    var p = d[h];\n    if (p._mainAxis === a && u(p))\n      return !0;\n  }\n}\nfunction CY(e, t) {\n  for (var r = e._fullData, n = t._mainSubplot, a = t._id.charAt(0), i = 0; i < r.length; i++) {\n    var o = r[i];\n    if (o.visible === !0 && o.xaxis + o.yaxis === n && (Tc.traceIs(o, \"bar-like\") && o.orientation === { x: \"h\", y: \"v\" }[a] || o.fill && o.fill.charAt(o.fill.length - 1) === a))\n      return !0;\n  }\n  return !1;\n}\nfunction Dy(e) {\n  var t = Na.select(e), r = t.select(\".text-math-group\");\n  return r.empty() ? t.select(\"text\") : r;\n}\nYe.allowAutoMargin = function(e) {\n  for (var t = Ye.list(e, \"\", !0), r = 0; r < t.length; r++) {\n    var n = t[r];\n    n.automargin && (bu.allowAutoMargin(e, kb(n)), n.mirror && bu.allowAutoMargin(e, W4(n))), Tc.getComponentMethod(\"rangeslider\", \"isVisible\")(n) && bu.allowAutoMargin(e, Z4(n));\n  }\n};\nfunction kb(e) {\n  return e._id + \".automargin\";\n}\nfunction W4(e) {\n  return kb(e) + \".mirror\";\n}\nfunction Z4(e) {\n  return e._id + \".rangeslider\";\n}\nYe.swap = function(e, t) {\n  for (var r = LY(e, t), n = 0; n < r.length; n++)\n    DY(e, r[n].x, r[n].y);\n};\nfunction LY(e, t) {\n  var r = [], n, a;\n  for (n = 0; n < t.length; n++) {\n    var i = [], o = e._fullData[t[n]].xaxis, l = e._fullData[t[n]].yaxis;\n    if (!(!o || !l)) {\n      for (a = 0; a < r.length; a++)\n        (r[a].x.indexOf(o) !== -1 || r[a].y.indexOf(l) !== -1) && i.push(a);\n      if (!i.length) {\n        r.push({ x: [o], y: [l] });\n        continue;\n      }\n      var s = r[i[0]], u;\n      if (i.length > 1)\n        for (a = 1; a < i.length; a++)\n          u = r[i[a]], eh(s.x, u.x), eh(s.y, u.y);\n      eh(s.x, [o]), eh(s.y, [l]);\n    }\n  }\n  return r;\n}\nfunction eh(e, t) {\n  for (var r = 0; r < t.length; r++)\n    e.indexOf(t[r]) === -1 && e.push(t[r]);\n}\nfunction DY(e, t, r) {\n  var n = [], a = [], i = e.layout, o, l;\n  for (o = 0; o < t.length; o++) n.push(Ye.getFromId(e, t[o]));\n  for (o = 0; o < r.length; o++) a.push(Ye.getFromId(e, r[o]));\n  var s = Object.keys(YZ), u = [\n    \"anchor\",\n    \"domain\",\n    \"overlaying\",\n    \"position\",\n    \"side\",\n    \"tickangle\",\n    \"editType\"\n  ], f = [\"linear\", \"log\"];\n  for (o = 0; o < s.length; o++) {\n    var d = s[o], h = n[0][d], p = a[0][d], v = !0, m = !1, g = !1;\n    if (!(d.charAt(0) === \"_\" || typeof h == \"function\" || u.indexOf(d) !== -1)) {\n      for (l = 1; l < n.length && v; l++) {\n        var y = n[l][d];\n        d === \"type\" && f.indexOf(h) !== -1 && f.indexOf(y) !== -1 && h !== y ? m = !0 : y !== h && (v = !1);\n      }\n      for (l = 1; l < a.length && v; l++) {\n        var w = a[l][d];\n        d === \"type\" && f.indexOf(p) !== -1 && f.indexOf(w) !== -1 && p !== w ? g = !0 : a[l][d] !== p && (v = !1);\n      }\n      v && (m && (i[n[0]._name].type = \"linear\"), g && (i[a[0]._name].type = \"linear\"), EY(i, d, n, a, e._fullLayout._dfltTitle));\n    }\n  }\n  for (o = 0; o < e._fullLayout.annotations.length; o++) {\n    var k = e._fullLayout.annotations[o];\n    t.indexOf(k.xref) !== -1 && r.indexOf(k.yref) !== -1 && jt.swapAttrs(i.annotations[o], [\"?\"]);\n  }\n}\nfunction EY(e, t, r, n, a) {\n  var i = jt.nestedProperty, o = i(e[r[0]._name], t).get(), l = i(e[n[0]._name], t).get(), s;\n  for (t === \"title\" && (o && o.text === a.x && (o.text = a.y), l && l.text === a.y && (l.text = a.x)), s = 0; s < r.length; s++)\n    i(e, r[s]._name + \".\" + t).set(l);\n  for (s = 0; s < n.length; s++)\n    i(e, n[s]._name + \".\" + t).set(o);\n}\nfunction Ab(e) {\n  return e._id === \"angularaxis\";\n}\nfunction pg(e, t) {\n  for (var r = t._rangebreaks.length, n = 0; n < r; n++) {\n    var a = t._rangebreaks[n];\n    if (e >= a.min && e < a.max)\n      return a.max;\n  }\n  return e;\n}\nfunction Mc(e) {\n  return (e.ticklabelposition || \"\").indexOf(\"inside\") !== -1;\n}\nfunction Rp(e, t) {\n  Mc(e._anchorAxis || {}) && e._hideCounterAxisInsideTickLabels && e._hideCounterAxisInsideTickLabels(t);\n}\nfunction Ey(e, t, r, n) {\n  var a = e.anchor !== \"free\" && (e.overlaying === void 0 || e.overlaying === !1) ? e._id : e.overlaying, i;\n  n ? i = e.side === \"right\" ? t : -t : i = t, a in r || (r[a] = {}), e.side in r[a] || (r[a][e.side] = 0), r[a][e.side] += i;\n}\nfunction FY(e, t) {\n  return e.autoshift ? t[e.overlaying][e.side] : e.shift || 0;\n}\nvar Cr = r4.exports, RY = function(t, r, n) {\n  var a, i;\n  if (n) {\n    var o = r === \"reversed\" || r === \"min reversed\" || r === \"max reversed\";\n    a = n[o ? 1 : 0], i = n[o ? 0 : 1];\n  }\n  var l = t(\"autorangeoptions.minallowed\", i === null ? a : void 0), s = t(\"autorangeoptions.maxallowed\", a === null ? i : void 0);\n  l === void 0 && t(\"autorangeoptions.clipmin\"), s === void 0 && t(\"autorangeoptions.clipmax\"), t(\"autorangeoptions.include\");\n}, PY = RY, Y4 = function(t, r, n, a) {\n  var i = r._template || {}, o = r.type || i.type || \"-\";\n  n(\"minallowed\"), n(\"maxallowed\");\n  var l = n(\"range\");\n  if (!l) {\n    var s;\n    !a.noInsiderange && o !== \"log\" && (s = n(\"insiderange\"), s && (s[0] === null || s[1] === null) && (r.insiderange = !1, s = void 0), s && (l = n(\"range\", s)));\n  }\n  var u = r.getAutorangeDflt(l, a), f = n(\"autorange\", u), d;\n  l && (l[0] === null && l[1] === null || (l[0] === null || l[1] === null) && (f === \"reversed\" || f === !0) || l[0] !== null && (f === \"min\" || f === \"max reversed\") || l[1] !== null && (f === \"max\" || f === \"min reversed\")) && (l = void 0, delete r.range, r.autorange = !0, d = !0), d || (u = r.getAutorangeDflt(l, a), f = n(\"autorange\", u)), f && (PY(n, f, l), (o === \"linear\" || o === \"-\") && n(\"rangemode\")), r.cleanRange();\n}, Mb = {}, X4 = { exports: {} }, $Y = { left: 0, top: 0 }, zY = IY;\nfunction IY(e, t, r) {\n  t = t || e.currentTarget || e.srcElement, Array.isArray(r) || (r = [0, 0]);\n  var n = e.clientX || 0, a = e.clientY || 0, i = NY(t);\n  return r[0] = n - i.left, r[1] = a - i.top, r;\n}\nfunction NY(e) {\n  return e === window || e === document || e === document.body ? $Y : e.getBoundingClientRect();\n}\nfunction OY() {\n  var e = !1;\n  try {\n    var t = Object.defineProperty({}, \"passive\", {\n      get: function() {\n        e = !0;\n      }\n    });\n    window.addEventListener(\"test\", null, t), window.removeEventListener(\"test\", null, t);\n  } catch {\n    e = !1;\n  }\n  return e;\n}\nvar K4 = OY(), HY = function(t, r, n, a, i) {\n  var o = (t - n) / (a - n), l = o + r / (a - n), s = (o + l) / 2;\n  return i === \"left\" || i === \"bottom\" ? o : i === \"center\" || i === \"middle\" ? s : i === \"right\" || i === \"top\" ? l : o < 2 / 3 - s ? o : l > 4 / 3 - s ? l : s;\n}, QT = Ue, BY = [\n  [\"sw-resize\", \"s-resize\", \"se-resize\"],\n  [\"w-resize\", \"move\", \"e-resize\"],\n  [\"nw-resize\", \"n-resize\", \"ne-resize\"]\n], jY = function(t, r, n, a) {\n  return n === \"left\" ? t = 0 : n === \"center\" ? t = 1 : n === \"right\" ? t = 2 : t = QT.constrain(Math.floor(t * 3), 0, 2), a === \"bottom\" ? r = 0 : a === \"middle\" ? r = 1 : a === \"top\" ? r = 2 : r = QT.constrain(Math.floor(r * 3), 0, 2), BY[r][t];\n}, J4 = { exports: {} }, UY = xp, GY = gp, VY = dp.getGraphDiv, qY = sp, Fy = J4.exports = {};\nFy.wrapped = function(e, t, r) {\n  e = VY(e), e._fullLayout && GY.clear(e._fullLayout._uid + qY.HOVERID), Fy.raw(e, t, r);\n};\nFy.raw = function(t, r) {\n  var n = t._fullLayout, a = t._hoverdata;\n  r || (r = {}), !(r.target && !t._dragged && UY.triggerHandler(t, \"plotly_beforehover\", r) === !1) && (n._hoverlayer.selectAll(\"g\").remove(), n._hoverlayer.selectAll(\"line\").remove(), n._hoverlayer.selectAll(\"circle\").remove(), t._hoverdata = void 0, r.target && a && t.emit(\"plotly_unhover\", {\n    event: r,\n    points: a\n  }));\n};\nvar WY = J4.exports, ZY = zY, mg = zL, YY = K4, XY = Ue.removeElement, KY = Yn, ss = X4.exports = {};\nss.align = HY;\nss.getCursor = jY;\nvar Q4 = WY;\nss.unhover = Q4.wrapped;\nss.unhoverRaw = Q4.raw;\nss.init = function(t) {\n  var r = t.gd, n = 1, a = r._context.doubleClickDelay, i = t.element, o, l, s, u, f, d, h, p;\n  r._mouseDownTime || (r._mouseDownTime = 0), i.style.pointerEvents = \"all\", i.onmousedown = g, YY ? (i._ontouchstart && i.removeEventListener(\"touchstart\", i._ontouchstart), i._ontouchstart = g, i.addEventListener(\"touchstart\", g, { passive: !1 })) : i.ontouchstart = g;\n  function v(k, x, _) {\n    return Math.abs(k) < _ && (k = 0), Math.abs(x) < _ && (x = 0), [k, x];\n  }\n  var m = t.clampFn || v;\n  function g(k) {\n    r._dragged = !1, r._dragging = !0;\n    var x = gg(k);\n    o = x[0], l = x[1], h = k.target, d = k, p = k.buttons === 2 || k.ctrlKey, typeof k.clientX > \"u\" && typeof k.clientY > \"u\" && (k.clientX = o, k.clientY = l), s = (/* @__PURE__ */ new Date()).getTime(), s - r._mouseDownTime < a ? n += 1 : (n = 1, r._mouseDownTime = s), t.prepFn && t.prepFn(k, o, l), mg && !p ? (f = eD(), f.style.cursor = window.getComputedStyle(i).cursor) : mg || (f = document, u = window.getComputedStyle(document.documentElement).cursor, document.documentElement.style.cursor = window.getComputedStyle(i).cursor), document.addEventListener(\"mouseup\", w), document.addEventListener(\"touchend\", w), t.dragmode !== !1 && (k.preventDefault(), document.addEventListener(\"mousemove\", y), document.addEventListener(\"touchmove\", y, { passive: !1 }));\n  }\n  function y(k) {\n    k.preventDefault();\n    var x = gg(k), _ = t.minDrag || KY.MINDRAG, T = m(x[0] - o, x[1] - l, _), S = T[0], M = T[1];\n    (S || M) && (r._dragged = !0, ss.unhover(r, k)), r._dragged && t.moveFn && !p && (r._dragdata = {\n      element: i,\n      dx: S,\n      dy: M\n    }, t.moveFn(S, M));\n  }\n  function w(k) {\n    if (delete r._dragdata, t.dragmode !== !1 && (k.preventDefault(), document.removeEventListener(\"mousemove\", y), document.removeEventListener(\"touchmove\", y)), document.removeEventListener(\"mouseup\", w), document.removeEventListener(\"touchend\", w), mg ? XY(f) : u && (f.documentElement.style.cursor = u, u = null), !r._dragging) {\n      r._dragged = !1;\n      return;\n    }\n    if (r._dragging = !1, (/* @__PURE__ */ new Date()).getTime() - r._mouseDownTime > a && (n = Math.max(n - 1, 1)), r._dragged)\n      t.doneFn && t.doneFn();\n    else if (t.clickFn && t.clickFn(n, d), !p) {\n      var x;\n      try {\n        x = new MouseEvent(\"click\", k);\n      } catch {\n        var _ = gg(k);\n        x = document.createEvent(\"MouseEvents\"), x.initMouseEvent(\n          \"click\",\n          k.bubbles,\n          k.cancelable,\n          k.view,\n          k.detail,\n          k.screenX,\n          k.screenY,\n          _[0],\n          _[1],\n          k.ctrlKey,\n          k.altKey,\n          k.shiftKey,\n          k.metaKey,\n          k.button,\n          k.relatedTarget\n        );\n      }\n      h.dispatchEvent(x);\n    }\n    r._dragging = !1, r._dragged = !1;\n  }\n};\nfunction eD() {\n  var e = document.createElement(\"div\");\n  e.className = \"dragcover\";\n  var t = e.style;\n  return t.position = \"fixed\", t.left = 0, t.right = 0, t.top = 0, t.bottom = 0, t.zIndex = 999999999, t.background = \"none\", document.body.appendChild(e), e;\n}\nss.coverSlip = eD;\nfunction gg(e) {\n  return ZY(\n    e.changedTouches ? e.changedTouches[0] : e,\n    document.body\n  );\n}\nvar Qi = X4.exports, Pp = {}, xs = function(t, r) {\n  (t.attr(\"class\") || \"\").split(\" \").forEach(function(n) {\n    n.indexOf(\"cursor-\") === 0 && t.classed(n, !1);\n  }), r && t.classed(\"cursor-\" + r, !0);\n}, yg = xs, Cf = \"data-savedcursor\", ek = \"!!\", JY = function(t, r) {\n  var n = t.attr(Cf);\n  if (r) {\n    if (!n) {\n      for (var a = (t.attr(\"class\") || \"\").split(\" \"), i = 0; i < a.length; i++) {\n        var o = a[i];\n        o.indexOf(\"cursor-\") === 0 && t.attr(Cf, o.substr(7)).classed(o, !1);\n      }\n      t.attr(Cf) || t.attr(Cf, ek);\n    }\n    yg(t, r);\n  } else n && (t.attr(Cf, null), n === ek ? yg(t) : yg(t, n));\n}, bg = Fn, QY = da, tD = {\n  // not really a 'subplot' attribute container,\n  // but this is the flag we use to denote attributes that\n  // support yaxis, yaxis2, yaxis3, ... counters\n  _isSubplotObj: !0,\n  visible: {\n    valType: \"boolean\",\n    dflt: !0,\n    editType: \"legend\",\n    description: [\n      \"Determines whether or not this legend is visible.\"\n    ].join(\" \")\n  },\n  bgcolor: {\n    valType: \"color\",\n    editType: \"legend\",\n    description: [\n      \"Sets the legend background color.\",\n      \"Defaults to `layout.paper_bgcolor`.\"\n    ].join(\" \")\n  },\n  bordercolor: {\n    valType: \"color\",\n    dflt: QY.defaultLine,\n    editType: \"legend\",\n    description: \"Sets the color of the border enclosing the legend.\"\n  },\n  borderwidth: {\n    valType: \"number\",\n    min: 0,\n    dflt: 0,\n    editType: \"legend\",\n    description: \"Sets the width (in px) of the border enclosing the legend.\"\n  },\n  font: bg({\n    editType: \"legend\",\n    description: \"Sets the font used to text the legend items.\"\n  }),\n  grouptitlefont: bg({\n    editType: \"legend\",\n    description: [\n      \"Sets the font for group titles in legend.\",\n      \"Defaults to `legend.font` with its size increased about 10%.\"\n    ].join(\" \")\n  }),\n  orientation: {\n    valType: \"enumerated\",\n    values: [\"v\", \"h\"],\n    dflt: \"v\",\n    editType: \"legend\",\n    description: \"Sets the orientation of the legend.\"\n  },\n  traceorder: {\n    valType: \"flaglist\",\n    flags: [\"reversed\", \"grouped\"],\n    extras: [\"normal\"],\n    editType: \"legend\",\n    description: [\n      \"Determines the order at which the legend items are displayed.\",\n      \"If *normal*, the items are displayed top-to-bottom in the same\",\n      \"order as the input data.\",\n      \"If *reversed*, the items are displayed in the opposite order\",\n      \"as *normal*.\",\n      \"If *grouped*, the items are displayed in groups\",\n      \"(when a trace `legendgroup` is provided).\",\n      \"if *grouped+reversed*, the items are displayed in the opposite order\",\n      \"as *grouped*.\"\n    ].join(\" \")\n  },\n  tracegroupgap: {\n    valType: \"number\",\n    min: 0,\n    dflt: 10,\n    editType: \"legend\",\n    description: [\n      \"Sets the amount of vertical space (in px) between legend groups.\"\n    ].join(\" \")\n  },\n  entrywidth: {\n    valType: \"number\",\n    min: 0,\n    editType: \"legend\",\n    description: [\n      \"Sets the width (in px or fraction) of the legend.\",\n      \"Use 0 to size the entry based on the text width,\",\n      \"when `entrywidthmode` is set to *pixels*.\"\n    ].join(\" \")\n  },\n  entrywidthmode: {\n    valType: \"enumerated\",\n    values: [\"fraction\", \"pixels\"],\n    dflt: \"pixels\",\n    editType: \"legend\",\n    description: \"Determines what entrywidth means.\"\n  },\n  itemsizing: {\n    valType: \"enumerated\",\n    values: [\"trace\", \"constant\"],\n    dflt: \"trace\",\n    editType: \"legend\",\n    description: [\n      \"Determines if the legend items symbols scale with their corresponding *trace* attributes\",\n      \"or remain *constant* independent of the symbol size on the graph.\"\n    ].join(\" \")\n  },\n  itemwidth: {\n    valType: \"number\",\n    min: 30,\n    dflt: 30,\n    editType: \"legend\",\n    description: \"Sets the width (in px) of the legend item symbols (the part other than the title.text).\"\n  },\n  itemclick: {\n    valType: \"enumerated\",\n    values: [\"toggle\", \"toggleothers\", !1],\n    dflt: \"toggle\",\n    editType: \"legend\",\n    description: [\n      \"Determines the behavior on legend item click.\",\n      \"*toggle* toggles the visibility of the item clicked on the graph.\",\n      \"*toggleothers* makes the clicked item the sole visible item on the graph.\",\n      \"*false* disables legend item click interactions.\"\n    ].join(\" \")\n  },\n  itemdoubleclick: {\n    valType: \"enumerated\",\n    values: [\"toggle\", \"toggleothers\", !1],\n    dflt: \"toggleothers\",\n    editType: \"legend\",\n    description: [\n      \"Determines the behavior on legend item double-click.\",\n      \"*toggle* toggles the visibility of the item clicked on the graph.\",\n      \"*toggleothers* makes the clicked item the sole visible item on the graph.\",\n      \"*false* disables legend item double-click interactions.\"\n    ].join(\" \")\n  },\n  groupclick: {\n    valType: \"enumerated\",\n    values: [\"toggleitem\", \"togglegroup\"],\n    dflt: \"togglegroup\",\n    editType: \"legend\",\n    description: [\n      \"Determines the behavior on legend group item click.\",\n      \"*toggleitem* toggles the visibility of the individual item clicked on the graph.\",\n      \"*togglegroup* toggles the visibility of all items in the same legendgroup as the item clicked on the graph.\"\n    ].join(\" \")\n  },\n  x: {\n    valType: \"number\",\n    editType: \"legend\",\n    description: [\n      \"Sets the x position with respect to `xref` (in normalized coordinates) of the legend.\",\n      \"When `xref` is *paper*, defaults to *1.02* for vertical legends and\",\n      \"defaults to *0* for horizontal legends.\",\n      \"When `xref` is *container*, defaults to *1* for vertical legends and\",\n      \"defaults to *0* for horizontal legends.\",\n      \"Must be between *0* and *1* if `xref` is *container*.\",\n      \"and between *-2* and *3* if `xref` is *paper*.\"\n    ].join(\" \")\n  },\n  xref: {\n    valType: \"enumerated\",\n    dflt: \"paper\",\n    values: [\"container\", \"paper\"],\n    editType: \"layoutstyle\",\n    description: [\n      \"Sets the container `x` refers to.\",\n      \"*container* spans the entire `width` of the plot.\",\n      \"*paper* refers to the width of the plotting area only.\"\n    ].join(\" \")\n  },\n  xanchor: {\n    valType: \"enumerated\",\n    values: [\"auto\", \"left\", \"center\", \"right\"],\n    dflt: \"left\",\n    editType: \"legend\",\n    description: [\n      \"Sets the legend's horizontal position anchor.\",\n      \"This anchor binds the `x` position to the *left*, *center*\",\n      \"or *right* of the legend.\",\n      \"Value *auto* anchors legends to the right for `x` values greater than or equal to 2/3,\",\n      \"anchors legends to the left for `x` values less than or equal to 1/3 and\",\n      \"anchors legends with respect to their center otherwise.\"\n    ].join(\" \")\n  },\n  y: {\n    valType: \"number\",\n    editType: \"legend\",\n    description: [\n      \"Sets the y position with respect to `yref` (in normalized coordinates) of the legend.\",\n      \"When `yref` is *paper*, defaults to *1* for vertical legends,\",\n      \"defaults to *-0.1* for horizontal legends on graphs w/o range sliders and\",\n      \"defaults to *1.1* for horizontal legends on graph with one or multiple range sliders.\",\n      \"When `yref` is *container*, defaults to *1*.\",\n      \"Must be between *0* and *1* if `yref` is *container*\",\n      \"and between *-2* and *3* if `yref` is *paper*.\"\n    ].join(\" \")\n  },\n  yref: {\n    valType: \"enumerated\",\n    dflt: \"paper\",\n    values: [\"container\", \"paper\"],\n    editType: \"layoutstyle\",\n    description: [\n      \"Sets the container `y` refers to.\",\n      \"*container* spans the entire `height` of the plot.\",\n      \"*paper* refers to the height of the plotting area only.\"\n    ].join(\" \")\n  },\n  yanchor: {\n    valType: \"enumerated\",\n    values: [\"auto\", \"top\", \"middle\", \"bottom\"],\n    editType: \"legend\",\n    description: [\n      \"Sets the legend's vertical position anchor\",\n      \"This anchor binds the `y` position to the *top*, *middle*\",\n      \"or *bottom* of the legend.\",\n      \"Value *auto* anchors legends at their bottom for `y` values less than or equal to 1/3,\",\n      \"anchors legends to at their top for `y` values greater than or equal to 2/3 and\",\n      \"anchors legends with respect to their middle otherwise.\"\n    ].join(\" \")\n  },\n  uirevision: {\n    valType: \"any\",\n    editType: \"none\",\n    description: [\n      \"Controls persistence of legend-driven changes in trace and pie label\",\n      \"visibility. Defaults to `layout.uirevision`.\"\n    ].join(\" \")\n  },\n  valign: {\n    valType: \"enumerated\",\n    values: [\"top\", \"middle\", \"bottom\"],\n    dflt: \"middle\",\n    editType: \"legend\",\n    description: [\n      \"Sets the vertical alignment of the symbols with respect to their associated text.\"\n    ].join(\" \")\n  },\n  title: {\n    text: {\n      valType: \"string\",\n      dflt: \"\",\n      editType: \"legend\",\n      description: [\n        \"Sets the title of the legend.\"\n      ].join(\" \")\n    },\n    font: bg({\n      editType: \"legend\",\n      description: [\n        \"Sets this legend's title font.\",\n        \"Defaults to `legend.font` with its size increased about 20%.\"\n      ].join(\" \")\n    }),\n    side: {\n      valType: \"enumerated\",\n      values: [\"top\", \"left\", \"top left\", \"top center\", \"top right\"],\n      editType: \"legend\",\n      description: [\n        \"Determines the location of legend's title\",\n        \"with respect to the legend items.\",\n        \"Defaulted to *top* with `orientation` is *h*.\",\n        \"Defaulted to *left* with `orientation` is *v*.\",\n        \"The *top left* options could be used to expand\",\n        \"top center and top right are for horizontal alignment\",\n        \"legend area in both x and y sides.\"\n      ].join(\" \")\n    },\n    editType: \"legend\"\n  },\n  editType: \"legend\"\n}, tf = {};\ntf.isGrouped = function(t) {\n  return (t.traceorder || \"\").indexOf(\"grouped\") !== -1;\n};\ntf.isVertical = function(t) {\n  return t.orientation !== \"h\";\n};\ntf.isReversed = function(t) {\n  return (t.traceorder || \"\").indexOf(\"reversed\") !== -1;\n};\nvar _g = Nt, ra = Ue, eX = Mr, tX = Wi, rX = tD, nX = Xc, xg = tf;\nfunction aX(e, t, r, n) {\n  var a = t[e] || {}, i = eX.newContainer(r, e);\n  function o(z, P) {\n    return ra.coerce(a, i, rX, z, P);\n  }\n  var l = ra.coerceFont(o, \"font\", r.font);\n  o(\"bgcolor\", r.paper_bgcolor), o(\"bordercolor\");\n  var s = o(\"visible\");\n  if (s) {\n    for (var u, f = function(z, P) {\n      var R = u._input, H = u;\n      return ra.coerce(R, H, tX, z, P);\n    }, d = r.font || {}, h = ra.coerceFont(o, \"grouptitlefont\", ra.extendFlat({}, d, {\n      size: Math.round(d.size * 1.1)\n    })), p = 0, v = !1, m = \"normal\", g = (r.shapes || []).filter(function(z) {\n      return z.showlegend;\n    }), y = n.concat(g).filter(function(z) {\n      return e === (z.legend || \"legend\");\n    }), w = 0; w < y.length; w++)\n      if (u = y[w], !!u.visible) {\n        var k = u._isShape;\n        (u.showlegend || u._dfltShowLegend && !(u._module && u._module.attributes && u._module.attributes.showlegend && u._module.attributes.showlegend.dflt === !1)) && (p++, u.showlegend && (v = !0, (!k && _g.traceIs(u, \"pie-like\") || u._input.showlegend === !0) && p++), ra.coerceFont(f, \"legendgrouptitle.font\", h)), (!k && _g.traceIs(u, \"bar\") && r.barmode === \"stack\" || [\"tonextx\", \"tonexty\"].indexOf(u.fill) !== -1) && (m = xg.isGrouped({ traceorder: m }) ? \"grouped+reversed\" : \"reversed\"), u.legendgroup !== void 0 && u.legendgroup !== \"\" && (m = xg.isReversed({ traceorder: m }) ? \"reversed+grouped\" : \"grouped\");\n      }\n    var x = ra.coerce(\n      t,\n      r,\n      nX,\n      \"showlegend\",\n      v && p > (e === \"legend\" ? 1 : 0)\n    );\n    if (x === !1 && (r[e] = void 0), !(x === !1 && !a.uirevision) && (o(\"uirevision\", r.uirevision), x !== !1)) {\n      o(\"borderwidth\");\n      var _ = o(\"orientation\"), T = o(\"yref\"), S = o(\"xref\"), M = _ === \"h\", L = T === \"paper\", F = S === \"paper\", $, I, O, G = \"left\";\n      M ? ($ = 0, _g.getComponentMethod(\"rangeslider\", \"isVisible\")(t.xaxis) ? L ? (I = 1.1, O = \"bottom\") : (I = 1, O = \"top\") : L ? (I = -0.1, O = \"top\") : (I = 0, O = \"bottom\")) : (I = 1, O = \"auto\", F ? $ = 1.02 : ($ = 1, G = \"right\")), ra.coerce(a, i, {\n        x: {\n          valType: \"number\",\n          editType: \"legend\",\n          min: F ? -2 : 0,\n          max: F ? 3 : 1,\n          dflt: $\n        }\n      }, \"x\"), ra.coerce(a, i, {\n        y: {\n          valType: \"number\",\n          editType: \"legend\",\n          min: L ? -2 : 0,\n          max: L ? 3 : 1,\n          dflt: I\n        }\n      }, \"y\"), o(\"traceorder\", m), xg.isGrouped(r[e]) && o(\"tracegroupgap\"), o(\"entrywidth\"), o(\"entrywidthmode\"), o(\"itemsizing\"), o(\"itemwidth\"), o(\"itemclick\"), o(\"itemdoubleclick\"), o(\"groupclick\"), o(\"xanchor\", G), o(\"yanchor\", O), o(\"valign\"), ra.noneOrAll(a, i, [\"x\", \"y\"]);\n      var K = o(\"title.text\");\n      if (K) {\n        o(\"title.side\", M ? \"left\" : \"top\");\n        var V = ra.extendFlat({}, l, {\n          size: ra.bigFont(l.size)\n        });\n        ra.coerceFont(o, \"title.font\", V);\n      }\n    }\n  }\n}\nvar rD = function(t, r, n) {\n  var a, i = n.slice(), o = r.shapes;\n  if (o)\n    for (a = 0; a < o.length; a++) {\n      var l = o[a];\n      if (l.showlegend) {\n        var s = {\n          _input: l._input,\n          visible: l.visible,\n          showlegend: l.showlegend,\n          legend: l.legend\n        };\n        i.push(s);\n      }\n    }\n  var u = [\"legend\"];\n  for (a = 0; a < i.length; a++)\n    ra.pushUnique(u, i[a].legend);\n  for (r._legends = [], a = 0; a < u.length; a++) {\n    var f = u[a];\n    aX(f, t, r, i), r[f] && r[f].visible && (r[f]._id = f), r._legends.push(f);\n  }\n}, Oo = Nt, Nh = Ue, iX = Nh.pushUnique, wg = !0, oX = function(t, r, n) {\n  var a = r._fullLayout;\n  if (r._dragged || r._editing) return;\n  var i = a.legend.itemclick, o = a.legend.itemdoubleclick, l = a.legend.groupclick;\n  n === 1 && i === \"toggle\" && o === \"toggleothers\" && wg && r.data && r._context.showTips && Nh.notifier(Nh._(r, \"Double-click on legend to isolate one trace\"), \"long\"), wg = !1;\n  var s;\n  if (n === 1 ? s = i : n === 2 && (s = o), !s) return;\n  var u = l === \"togglegroup\", f = a.hiddenlabels ? a.hiddenlabels.slice() : [], d = t.data()[0][0];\n  if (d.groupTitle && d.noClick) return;\n  var h = r._fullData, p = (a.shapes || []).filter(function(Re) {\n    return Re.showlegend;\n  }), v = h.concat(p), m = d.trace;\n  m._isShape && (m = m._fullInput);\n  var g = m.legendgroup, y, w, k, x, _, T, S = {}, M = [], L = [], F = [];\n  function $(Re, We) {\n    var Me = M.indexOf(Re), Ve = S.visible;\n    return Ve || (Ve = S.visible = []), M.indexOf(Re) === -1 && (M.push(Re), Me = M.length - 1), Ve[Me] = We, Me;\n  }\n  var I = (a.shapes || []).map(function(Re) {\n    return Re._input;\n  }), O = !1;\n  function G(Re, We) {\n    I[Re].visible = We, O = !0;\n  }\n  function K(Re, We) {\n    if (!(d.groupTitle && !u)) {\n      var Me = Re._fullInput || Re, Ve = Me._isShape, qe = Me.index;\n      if (qe === void 0 && (qe = Me._index), Oo.hasTransform(Me, \"groupby\")) {\n        var Qe = L[qe];\n        if (!Qe) {\n          var ot = Oo.getTransformIndices(Me, \"groupby\"), ht = ot[ot.length - 1];\n          Qe = Nh.keyedContainer(Me, \"transforms[\" + ht + \"].styles\", \"target\", \"value.visible\"), L[qe] = Qe;\n        }\n        var vt = Qe.get(Re._group);\n        vt === void 0 && (vt = !0), vt !== !1 && Qe.set(Re._group, We), F[qe] = $(qe, Me.visible !== !1);\n      } else {\n        var nt = Me.visible === !1 ? !1 : We;\n        Ve ? G(qe, nt) : $(qe, nt);\n      }\n    }\n  }\n  var V = m.legend, z = m._fullInput, P = z && z._isShape;\n  if (!P && Oo.traceIs(m, \"pie-like\")) {\n    var R = d.label, H = f.indexOf(R);\n    if (s === \"toggle\")\n      H === -1 ? f.push(R) : f.splice(H, 1);\n    else if (s === \"toggleothers\") {\n      var B = H !== -1, W = [];\n      for (y = 0; y < r.calcdata.length; y++) {\n        var ee = r.calcdata[y];\n        for (w = 0; w < ee.length; w++) {\n          var re = ee[w], ae = re.label;\n          V === ee[0].trace.legend && R !== ae && (f.indexOf(ae) === -1 && (B = !0), iX(f, ae), W.push(ae));\n        }\n      }\n      if (!B)\n        for (var Q = 0; Q < W.length; Q++) {\n          var ue = f.indexOf(W[Q]);\n          ue !== -1 && f.splice(ue, 1);\n        }\n    }\n    Oo.call(\"_guiRelayout\", r, \"hiddenlabels\", f);\n  } else {\n    var j = g && g.length, U = [], Z;\n    if (j)\n      for (y = 0; y < v.length; y++)\n        Z = v[y], Z.visible && Z.legendgroup === g && U.push(y);\n    if (s === \"toggle\") {\n      var le;\n      switch (m.visible) {\n        case !0:\n          le = \"legendonly\";\n          break;\n        case !1:\n          le = !1;\n          break;\n        case \"legendonly\":\n          le = !0;\n          break;\n      }\n      if (j)\n        if (u)\n          for (y = 0; y < v.length; y++) {\n            var J = v[y];\n            J.visible !== !1 && J.legendgroup === g && K(J, le);\n          }\n        else\n          K(m, le);\n      else\n        K(m, le);\n    } else if (s === \"toggleothers\") {\n      var pe, ge, ve, me, Le, ze = !0;\n      for (y = 0; y < v.length; y++)\n        if (Le = v[y], pe = Le === m, ve = Le.showlegend !== !0, !(pe || ve) && (ge = j && Le.legendgroup === g, !ge && Le.legend === V && Le.visible === !0 && !Oo.traceIs(Le, \"notLegendIsolatable\"))) {\n          ze = !1;\n          break;\n        }\n      for (y = 0; y < v.length; y++)\n        if (Le = v[y], !(Le.visible === !1 || Le.legend !== V) && !Oo.traceIs(Le, \"notLegendIsolatable\"))\n          switch (m.visible) {\n            case \"legendonly\":\n              K(Le, !0);\n              break;\n            case !0:\n              me = ze ? !0 : \"legendonly\", pe = Le === m, ve = Le.showlegend !== !0 && !Le.legendgroup, ge = pe || j && Le.legendgroup === g, K(Le, ge || ve ? !0 : me);\n              break;\n          }\n    }\n    for (y = 0; y < L.length; y++)\n      if (k = L[y], !!k) {\n        var Fe = k.constructUpdate(), Oe = Object.keys(Fe);\n        for (w = 0; w < Oe.length; w++)\n          x = Oe[w], T = S[x] = S[x] || [], T[F[y]] = Fe[x];\n      }\n    for (_ = Object.keys(S), y = 0; y < _.length; y++)\n      for (x = _[y], w = 0; w < M.length; w++)\n        S[x].hasOwnProperty(w) || (S[x][w] = void 0);\n    O ? Oo.call(\"_guiUpdate\", r, S, { shapes: I }, M) : Oo.call(\"_guiRestyle\", r, S, M);\n  }\n}, nD = {\n  scrollBarWidth: 6,\n  scrollBarMinHeight: 20,\n  scrollBarColor: \"#808BA4\",\n  scrollBarMargin: 4,\n  scrollBarEnterAttrs: { rx: 20, ry: 3, width: 0, height: 0 },\n  // number of px between legend title and (left) side of legend (always in x direction and from inner border)\n  titlePad: 2,\n  // number of px between each legend item (x and/or y direction)\n  itemGap: 5\n}, tk = Nt, Tg = tf, lX = function(t, r, n) {\n  var a = r._inHover, i = Tg.isGrouped(r), o = Tg.isReversed(r), l = {}, s = [], u = !1, f = {}, d = 0, h = 0, p, v;\n  function m(z, P, R) {\n    if (r.visible !== !1 && !(n && z !== r._id))\n      if (P === \"\" || !Tg.isGrouped(r)) {\n        var H = \"~~i\" + d;\n        s.push(H), l[H] = [R], d++;\n      } else s.indexOf(P) === -1 ? (s.push(P), u = !0, l[P] = [R]) : l[P].push(R);\n  }\n  for (p = 0; p < t.length; p++) {\n    var g = t[p], y = g[0], w = y.trace, k = w.legend, x = w.legendgroup;\n    if (!(!a && (!w.visible || !w.showlegend)))\n      if (tk.traceIs(w, \"pie-like\"))\n        for (f[x] || (f[x] = {}), v = 0; v < g.length; v++) {\n          var _ = g[v].label;\n          f[x][_] || (m(k, x, {\n            label: _,\n            color: g[v].color,\n            i: g[v].i,\n            trace: w,\n            pts: g[v].pts\n          }), f[x][_] = !0, h = Math.max(h, (_ || \"\").length));\n        }\n      else\n        m(k, x, y), h = Math.max(h, (w.name || \"\").length);\n  }\n  if (!s.length) return [];\n  var T = !u || !i, S = [];\n  for (p = 0; p < s.length; p++) {\n    var M = l[s[p]];\n    T ? S.push(M[0]) : S.push(M);\n  }\n  for (T && (S = [S]), p = 0; p < S.length; p++) {\n    var L = 1 / 0;\n    for (v = 0; v < S[p].length; v++) {\n      var F = S[p][v].trace.legendrank;\n      L > F && (L = F);\n    }\n    S[p][0]._groupMinRank = L, S[p][0]._preGroupSort = p;\n  }\n  var $ = function(z, P) {\n    return z[0]._groupMinRank - P[0]._groupMinRank || z[0]._preGroupSort - P[0]._preGroupSort;\n  }, I = function(z, P) {\n    return z.trace.legendrank - P.trace.legendrank || z._preSort - P._preSort;\n  };\n  for (S.forEach(function(z, P) {\n    z[0]._preGroupSort = P;\n  }), S.sort($), p = 0; p < S.length; p++) {\n    S[p].forEach(function(z, P) {\n      z._preSort = P;\n    }), S[p].sort(I);\n    var O = S[p][0].trace, G = null;\n    for (v = 0; v < S[p].length; v++) {\n      var K = S[p][v].trace.legendgrouptitle;\n      if (K && K.text) {\n        G = K, a && (K.font = r._groupTitleFont);\n        break;\n      }\n    }\n    if (o && S[p].reverse(), G) {\n      var V = !1;\n      for (v = 0; v < S[p].length; v++)\n        if (tk.traceIs(S[p][v].trace, \"pie-like\")) {\n          V = !0;\n          break;\n        }\n      S[p].unshift({\n        i: -1,\n        groupTitle: G,\n        noClick: V,\n        trace: {\n          showlegend: O.showlegend,\n          legendgroup: O.legendgroup,\n          visible: r.groupclick === \"toggleitem\" ? !0 : O.visible\n        }\n      });\n    }\n    for (v = 0; v < S[p].length; v++)\n      S[p][v] = [\n        S[p][v]\n      ];\n  }\n  return r._lgroupsLength = S.length, r._maxNameLength = h, S;\n}, Sb = {};\n(function(e) {\n  var t = Ue;\n  function r(n) {\n    return n.indexOf(\"e\") !== -1 ? n.replace(/[.]?0+e/, \"e\") : n.indexOf(\".\") !== -1 ? n.replace(/[.]?0+$/, \"\") : n;\n  }\n  e.formatPiePercent = function(a, i) {\n    var o = r((a * 100).toPrecision(3));\n    return t.numSeparate(o, i) + \"%\";\n  }, e.formatPieValue = function(a, i) {\n    var o = r(a.toPrecision(10));\n    return t.numSeparate(o, i);\n  }, e.getFirstFilled = function(a, i) {\n    if (t.isArrayOrTypedArray(a))\n      for (var o = 0; o < i.length; o++) {\n        var l = a[i[o]];\n        if (l || l === 0 || l === \"\") return l;\n      }\n  }, e.castOption = function(a, i) {\n    if (t.isArrayOrTypedArray(a)) return e.getFirstFilled(a, i);\n    if (a) return a;\n  }, e.getRotationAngle = function(n) {\n    return (n === \"auto\" ? 0 : n) * Math.PI / 180;\n  };\n})(Sb);\nvar sX = Sr, uX = nr, fX = function(t, r, n, a) {\n  var i = n.marker.pattern;\n  i && i.shape ? sX.pointStyle(t, n, a, r) : uX.fill(t, r.color);\n}, rk = nr, nk = Sb.castOption, cX = fX, dX = function(t, r, n, a) {\n  var i = n.marker.line, o = nk(i.color, r.pts) || rk.defaultLine, l = nk(i.width, r.pts) || 0;\n  t.call(cX, r, n, a).style(\"stroke-width\", l).call(rk.stroke, o);\n}, In = lr, kg = Nt, Ln = Ue, ak = Ln.strTranslate, Gn = Sr, Da = nr, Ag = wi.extractOpts, yv = Ya, hX = dX, vX = Sb.castOption, pX = nD, ik = 12, ok = 5, El = 2, mX = 10, Is = 5, aD = function(t, r, n) {\n  var a = r._fullLayout;\n  n || (n = a.legend);\n  var i = n.itemsizing === \"constant\", o = n.itemwidth, l = (o + pX.itemGap * 2) / 2, s = ak(l, 0), u = function(S, M, L, F) {\n    var $;\n    if (S + 1)\n      $ = S;\n    else if (M && M.width > 0)\n      $ = M.width;\n    else\n      return 0;\n    return i ? F : Math.min($, L);\n  };\n  t.each(function(S) {\n    var M = In.select(this), L = Ln.ensureSingle(M, \"g\", \"layers\");\n    L.style(\"opacity\", S[0].trace.opacity);\n    var F = n.valign, $ = S[0].lineHeight, I = S[0].height;\n    if (F === \"middle\" || !$ || !I)\n      L.attr(\"transform\", null);\n    else {\n      var O = { top: 1, bottom: -1 }[F], G = O * (0.5 * ($ - I + 3));\n      L.attr(\"transform\", ak(0, G));\n    }\n    var K = L.selectAll(\"g.legendfill\").data([S]);\n    K.enter().append(\"g\").classed(\"legendfill\", !0);\n    var V = L.selectAll(\"g.legendlines\").data([S]);\n    V.enter().append(\"g\").classed(\"legendlines\", !0);\n    var z = L.selectAll(\"g.legendsymbols\").data([S]);\n    z.enter().append(\"g\").classed(\"legendsymbols\", !0), z.selectAll(\"g.legendpoints\").data([S]).enter().append(\"g\").classed(\"legendpoints\", !0);\n  }).each(T).each(h).each(v).each(p).each(g).each(x).each(k).each(f).each(d).each(y).each(w);\n  function f(S) {\n    var M = lk(S), L = M.showFill, F = M.showLine, $ = M.showGradientLine, I = M.showGradientFill, O = M.anyFill, G = M.anyLine, K = S[0], V = K.trace, z, P, R = Ag(V), H = R.colorscale, B = R.reversescale, W = function(U) {\n      if (U.size())\n        if (L)\n          Gn.fillGroupStyle(U, r);\n        else {\n          var Z = \"legendfill-\" + V.uid;\n          Gn.gradient(\n            U,\n            r,\n            Z,\n            Mg(B),\n            H,\n            \"fill\"\n          );\n        }\n    }, ee = function(U) {\n      if (U.size()) {\n        var Z = \"legendline-\" + V.uid;\n        Gn.lineGroupStyle(U), Gn.gradient(\n          U,\n          r,\n          Z,\n          Mg(B),\n          H,\n          \"stroke\"\n        );\n      }\n    }, re = yv.hasMarkers(V) || !O ? \"M5,0\" : (\n      // with a line leave it slightly below center, to leave room for the\n      // line thickness and because the line is usually more prominent\n      G ? \"M5,-2\" : \"M5,-3\"\n    ), ae = In.select(this), Q = ae.select(\".legendfill\").selectAll(\"path\").data(L || I ? [S] : []);\n    if (Q.enter().append(\"path\").classed(\"js-fill\", !0), Q.exit().remove(), Q.attr(\"d\", re + \"h\" + o + \"v6h-\" + o + \"z\").call(W), F || $) {\n      var ue = u(void 0, V.line, mX, ok);\n      P = Ln.minExtend(V, { line: { width: ue } }), z = [Ln.minExtend(K, { trace: P })];\n    }\n    var j = ae.select(\".legendlines\").selectAll(\"path\").data(F || $ ? [z] : []);\n    j.enter().append(\"path\").classed(\"js-line\", !0), j.exit().remove(), j.attr(\"d\", re + ($ ? \"l\" + o + \",0.0001\" : \"h\" + o)).call(F ? Gn.lineGroupStyle : ee);\n  }\n  function d(S) {\n    var M = lk(S), L = M.anyFill, F = M.anyLine, $ = M.showLine, I = M.showMarker, O = S[0], G = O.trace, K = !I && !F && !L && yv.hasText(G), V, z;\n    function P(Q, ue, j, U) {\n      var Z = Ln.nestedProperty(G, Q).get(), le = Ln.isArrayOrTypedArray(Z) && ue ? ue(Z) : Z;\n      if (i && le && U !== void 0 && (le = U), j) {\n        if (le < j[0]) return j[0];\n        if (le > j[1]) return j[1];\n      }\n      return le;\n    }\n    function R(Q) {\n      return O._distinct && O.index && Q[O.index] ? Q[O.index] : Q[0];\n    }\n    if (I || K || $) {\n      var H = {}, B = {};\n      if (I) {\n        H.mc = P(\"marker.color\", R), H.mx = P(\"marker.symbol\", R), H.mo = P(\"marker.opacity\", Ln.mean, [0.2, 1]), H.mlc = P(\"marker.line.color\", R), H.mlw = P(\"marker.line.width\", Ln.mean, [0, 5], El), B.marker = {\n          sizeref: 1,\n          sizemin: 1,\n          sizemode: \"diameter\"\n        };\n        var W = P(\"marker.size\", Ln.mean, [2, 16], ik);\n        H.ms = W, B.marker.size = W;\n      }\n      $ && (B.line = {\n        width: P(\"line.width\", R, [0, 10], ok)\n      }), K && (H.tx = \"Aa\", H.tp = P(\"textposition\", R), H.ts = 10, H.tc = P(\"textfont.color\", R), H.tf = P(\"textfont.family\", R)), V = [Ln.minExtend(O, H)], z = Ln.minExtend(G, B), z.selectedpoints = null, z.texttemplate = null;\n    }\n    var ee = In.select(this).select(\"g.legendpoints\"), re = ee.selectAll(\"path.scatterpts\").data(I ? V : []);\n    re.enter().insert(\"path\", \":first-child\").classed(\"scatterpts\", !0).attr(\"transform\", s), re.exit().remove(), re.call(Gn.pointStyle, z, r), I && (V[0].mrc = 3);\n    var ae = ee.selectAll(\"g.pointtext\").data(K ? V : []);\n    ae.enter().append(\"g\").classed(\"pointtext\", !0).append(\"text\").attr(\"transform\", s), ae.exit().remove(), ae.selectAll(\"text\").call(Gn.textPointStyle, z, r);\n  }\n  function h(S) {\n    var M = S[0].trace, L = M.type === \"waterfall\";\n    if (S[0]._distinct && L) {\n      var F = S[0].trace[S[0].dir].marker;\n      return S[0].mc = F.color, S[0].mlw = F.line.width, S[0].mlc = F.line.color, m(S, this, \"waterfall\");\n    }\n    var $ = [];\n    M.visible && L && ($ = S[0].hasTotals ? [[\"increasing\", \"M-6,-6V6H0Z\"], [\"totals\", \"M6,6H0L-6,-6H-0Z\"], [\"decreasing\", \"M6,6V-6H0Z\"]] : [[\"increasing\", \"M-6,-6V6H6Z\"], [\"decreasing\", \"M6,6V-6H-6Z\"]]);\n    var I = In.select(this).select(\"g.legendpoints\").selectAll(\"path.legendwaterfall\").data($);\n    I.enter().append(\"path\").classed(\"legendwaterfall\", !0).attr(\"transform\", s).style(\"stroke-miterlimit\", 1), I.exit().remove(), I.each(function(O) {\n      var G = In.select(this), K = M[O[0]].marker, V = u(void 0, K.line, Is, El);\n      G.attr(\"d\", O[1]).style(\"stroke-width\", V + \"px\").call(Da.fill, K.color), V && G.call(Da.stroke, K.line.color);\n    });\n  }\n  function p(S) {\n    m(S, this);\n  }\n  function v(S) {\n    m(S, this, \"funnel\");\n  }\n  function m(S, M, L) {\n    var F = S[0].trace, $ = F.marker || {}, I = $.line || {}, O = L ? F.visible && F.type === L : kg.traceIs(F, \"bar\"), G = In.select(M).select(\"g.legendpoints\").selectAll(\"path.legend\" + L).data(O ? [S] : []);\n    G.enter().append(\"path\").classed(\"legend\" + L, !0).attr(\"d\", \"M6,6H-6V-6H6Z\").attr(\"transform\", s), G.exit().remove(), G.each(function(K) {\n      var V = In.select(this), z = K[0], P = u(z.mlw, $.line, Is, El);\n      V.style(\"stroke-width\", P + \"px\");\n      var R = z.mcc;\n      if (!n._inHover && \"mc\" in z) {\n        var H = Ag($), B = H.mid;\n        B === void 0 && (B = (H.max + H.min) / 2), R = Gn.tryColorscale($, \"\")(B);\n      }\n      var W = R || z.mc || $.color, ee = $.pattern, re = ee && Gn.getPatternAttr(ee.shape, 0, \"\");\n      if (re) {\n        var ae = Gn.getPatternAttr(ee.bgcolor, 0, null), Q = Gn.getPatternAttr(ee.fgcolor, 0, null), ue = ee.fgopacity, j = sk(ee.size, 8, 10), U = sk(ee.solidity, 0.5, 1), Z = \"legend-\" + F.uid;\n        V.call(\n          Gn.pattern,\n          \"legend\",\n          r,\n          Z,\n          re,\n          j,\n          U,\n          R,\n          ee.fillmode,\n          ae,\n          Q,\n          ue\n        );\n      } else\n        V.call(Da.fill, W);\n      P && Da.stroke(V, z.mlc || I.color);\n    });\n  }\n  function g(S) {\n    var M = S[0].trace, L = In.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbox\").data(M.visible && kg.traceIs(M, \"box-violin\") ? [S] : []);\n    L.enter().append(\"path\").classed(\"legendbox\", !0).attr(\"d\", \"M6,6H-6V-6H6Z\").attr(\"transform\", s), L.exit().remove(), L.each(function() {\n      var F = In.select(this);\n      if ((M.boxpoints === \"all\" || M.points === \"all\") && Da.opacity(M.fillcolor) === 0 && Da.opacity((M.line || {}).color) === 0) {\n        var $ = Ln.minExtend(M, {\n          marker: {\n            size: i ? ik : Ln.constrain(M.marker.size, 2, 16),\n            sizeref: 1,\n            sizemin: 1,\n            sizemode: \"diameter\"\n          }\n        });\n        L.call(Gn.pointStyle, $, r);\n      } else {\n        var I = u(void 0, M.line, Is, El);\n        F.style(\"stroke-width\", I + \"px\").call(Da.fill, M.fillcolor), I && Da.stroke(F, M.line.color);\n      }\n    });\n  }\n  function y(S) {\n    var M = S[0].trace, L = In.select(this).select(\"g.legendpoints\").selectAll(\"path.legendcandle\").data(M.visible && M.type === \"candlestick\" ? [S, S] : []);\n    L.enter().append(\"path\").classed(\"legendcandle\", !0).attr(\"d\", function(F, $) {\n      return $ ? \"M-15,0H-8M-8,6V-6H8Z\" : \"M15,0H8M8,-6V6H-8Z\";\n    }).attr(\"transform\", s).style(\"stroke-miterlimit\", 1), L.exit().remove(), L.each(function(F, $) {\n      var I = In.select(this), O = M[$ ? \"increasing\" : \"decreasing\"], G = u(void 0, O.line, Is, El);\n      I.style(\"stroke-width\", G + \"px\").call(Da.fill, O.fillcolor), G && Da.stroke(I, O.line.color);\n    });\n  }\n  function w(S) {\n    var M = S[0].trace, L = In.select(this).select(\"g.legendpoints\").selectAll(\"path.legendohlc\").data(M.visible && M.type === \"ohlc\" ? [S, S] : []);\n    L.enter().append(\"path\").classed(\"legendohlc\", !0).attr(\"d\", function(F, $) {\n      return $ ? \"M-15,0H0M-8,-6V0\" : \"M15,0H0M8,6V0\";\n    }).attr(\"transform\", s).style(\"stroke-miterlimit\", 1), L.exit().remove(), L.each(function(F, $) {\n      var I = In.select(this), O = M[$ ? \"increasing\" : \"decreasing\"], G = u(void 0, O.line, Is, El);\n      I.style(\"fill\", \"none\").call(Gn.dashLine, O.line.dash, G), G && Da.stroke(I, O.line.color);\n    });\n  }\n  function k(S) {\n    _(S, this, \"pie\");\n  }\n  function x(S) {\n    _(S, this, \"funnelarea\");\n  }\n  function _(S, M, L) {\n    var F = S[0], $ = F.trace, I = L ? $.visible && $.type === L : kg.traceIs($, L), O = In.select(M).select(\"g.legendpoints\").selectAll(\"path.legend\" + L).data(I ? [S] : []);\n    if (O.enter().append(\"path\").classed(\"legend\" + L, !0).attr(\"d\", \"M6,6H-6V-6H6Z\").attr(\"transform\", s), O.exit().remove(), O.size()) {\n      var G = $.marker || {}, K = u(vX(G.line.width, F.pts), G.line, Is, El), V = \"pieLike\", z = Ln.minExtend($, { marker: { line: { width: K } } }, V), P = Ln.minExtend(F, { trace: z }, V);\n      hX(O, P, z, r);\n    }\n  }\n  function T(S) {\n    var M = S[0].trace, L, F = [];\n    if (M.visible)\n      switch (M.type) {\n        case \"histogram2d\":\n        case \"heatmap\":\n          F = [\n            [\"M-15,-2V4H15V-2Z\"]\n            // similar to contour\n          ], L = !0;\n          break;\n        case \"choropleth\":\n        case \"choroplethmapbox\":\n          F = [\n            [\"M-6,-6V6H6V-6Z\"]\n          ], L = !0;\n          break;\n        case \"densitymapbox\":\n          F = [\n            [\"M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0\"]\n          ], L = \"radial\";\n          break;\n        case \"cone\":\n          F = [\n            [\"M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z\"],\n            [\"M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z\"],\n            [\"M-6,-2 A2,2 0 0,0 -6,2 L6,0Z\"]\n          ], L = !1;\n          break;\n        case \"streamtube\":\n          F = [\n            [\"M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z\"],\n            [\"M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z\"],\n            [\"M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z\"]\n          ], L = !1;\n          break;\n        case \"surface\":\n          F = [\n            [\"M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z\"],\n            [\"M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z\"]\n          ], L = !0;\n          break;\n        case \"mesh3d\":\n          F = [\n            [\"M-6,6H0L-6,-6Z\"],\n            [\"M6,6H0L6,-6Z\"],\n            [\"M-6,-6H6L0,6Z\"]\n          ], L = !1;\n          break;\n        case \"volume\":\n          F = [\n            [\"M-6,6H0L-6,-6Z\"],\n            [\"M6,6H0L6,-6Z\"],\n            [\"M-6,-6H6L0,6Z\"]\n          ], L = !0;\n          break;\n        case \"isosurface\":\n          F = [\n            [\"M-6,6H0L-6,-6Z\"],\n            [\"M6,6H0L6,-6Z\"],\n            [\"M-6,-6 A12,24 0 0,0 6,-6 L0,6Z\"]\n          ], L = !1;\n          break;\n      }\n    var $ = In.select(this).select(\"g.legendpoints\").selectAll(\"path.legend3dandfriends\").data(F);\n    $.enter().append(\"path\").classed(\"legend3dandfriends\", !0).attr(\"transform\", s).style(\"stroke-miterlimit\", 1), $.exit().remove(), $.each(function(I, O) {\n      var G = In.select(this), K = Ag(M), V = K.colorscale, z = K.reversescale, P = function(W) {\n        if (W.size()) {\n          var ee = \"legendfill-\" + M.uid;\n          Gn.gradient(\n            W,\n            r,\n            ee,\n            Mg(z, L === \"radial\"),\n            V,\n            \"fill\"\n          );\n        }\n      }, R;\n      if (V) {\n        if (!L) {\n          var B = V.length;\n          R = O === 0 ? V[z ? B - 1 : 0][1] : (\n            // minimum\n            O === 1 ? V[z ? 0 : B - 1][1] : (\n              // maximum\n              V[Math.floor((B - 1) / 2)][1]\n            )\n          );\n        }\n      } else {\n        var H = M.vertexcolor || M.facecolor || M.color;\n        R = Ln.isArrayOrTypedArray(H) ? H[O] || H[0] : H;\n      }\n      G.attr(\"d\", I[0]), R ? G.call(Da.fill, R) : G.call(P);\n    });\n  }\n};\nfunction Mg(e, t) {\n  var r = t ? \"radial\" : \"horizontal\";\n  return r + (e ? \"\" : \"reversed\");\n}\nfunction lk(e) {\n  var t = e[0].trace, r = t.contours, n = yv.hasLines(t), a = yv.hasMarkers(t), i = t.visible && t.fill && t.fill !== \"none\", o = !1, l = !1;\n  if (r) {\n    var s = r.coloring;\n    s === \"lines\" ? o = !0 : n = s === \"none\" || s === \"heatmap\" || r.showlines, r.type === \"constraint\" ? i = r._operation !== \"=\" : (s === \"fill\" || s === \"heatmap\") && (l = !0);\n  }\n  return {\n    showMarker: a,\n    showLine: n,\n    showFill: i,\n    showGradientLine: o,\n    showGradientFill: l,\n    anyLine: n || o,\n    anyFill: i || l\n  };\n}\nfunction sk(e, t, r) {\n  return e && Ln.isArrayOrTypedArray(e) ? t : e > r ? r : e;\n}\nvar aa = lr, Xr = Ue, Ry = Tn, Qo = Nt, uk = xp, Sg = Qi, nn = Sr, Oh = nr, Ql = Rn, fk = oX, fn = nD, Cb = On, iD = Cb.LINE_SPACING, du = Cb.FROM_TL, ck = Cb.FROM_BR, dk = lX, gX = aD, hk = tf, au = 1, yX = /^legend[0-9]*$/, oD = function(t, r) {\n  if (r)\n    vk(t, r);\n  else {\n    var n = t._fullLayout, a = n._legends, i = n._infolayer.selectAll('[class^=\"legend\"]');\n    i.each(function() {\n      var u = aa.select(this), f = u.attr(\"class\"), d = f.split(\" \")[0];\n      d.match(yX) && a.indexOf(d) === -1 && u.remove();\n    });\n    for (var o = 0; o < a.length; o++) {\n      var l = a[o], s = t._fullLayout[l];\n      vk(t, s);\n    }\n  }\n};\nfunction bX(e, t, r) {\n  if (!(t.title.side !== \"top center\" && t.title.side !== \"top right\")) {\n    var n = t.title.font, a = n.size * iD, i = 0, o = e.node(), l = nn.bBox(o).width;\n    t.title.side === \"top center\" ? i = 0.5 * (t._width - 2 * r - 2 * fn.titlePad - l) : t.title.side === \"top right\" && (i = t._width - 2 * r - 2 * fn.titlePad - l), Ql.positionText(\n      e,\n      r + fn.titlePad + i,\n      r + a\n    );\n  }\n}\nfunction vk(e, t) {\n  var r = t || {}, n = e._fullLayout, a = $p(r), i, o, l = r._inHover;\n  if (l ? (o = r.layer, i = \"hover\") : (o = n._infolayer, i = a), !!o) {\n    i += n._uid, e._legendMouseDownTime || (e._legendMouseDownTime = 0);\n    var s;\n    if (l) {\n      if (!r.entries) return;\n      s = dk(r.entries, r);\n    } else {\n      for (var u = (e.calcdata || []).slice(), f = n.shapes, d = 0; d < f.length; d++) {\n        var h = f[d];\n        if (h.showlegend) {\n          var p = {\n            _isShape: !0,\n            _fullInput: h,\n            index: h._index,\n            name: h.name || h.label.text || \"shape \" + h._index,\n            legend: h.legend,\n            legendgroup: h.legendgroup,\n            legendgrouptitle: h.legendgrouptitle,\n            legendrank: h.legendrank,\n            legendwidth: h.legendwidth,\n            showlegend: h.showlegend,\n            visible: h.visible,\n            opacity: h.opacity,\n            mode: h.type === \"line\" ? \"lines\" : \"markers\",\n            line: h.line,\n            marker: {\n              line: h.line,\n              color: h.fillcolor,\n              size: 12,\n              symbol: h.type === \"rect\" ? \"square\" : h.type === \"circle\" ? \"circle\" : (\n                // case of path\n                \"hexagon2\"\n              )\n            }\n          };\n          u.push([{ trace: p }]);\n        }\n      }\n      s = n.showlegend && dk(u, r, n._legends.length > 1);\n    }\n    var v = n.hiddenlabels || [];\n    if (!l && (!n.showlegend || !s.length))\n      return o.selectAll(\".\" + a).remove(), n._topdefs.select(\"#\" + i).remove(), Ry.autoMargin(e, a);\n    var m = Xr.ensureSingle(o, \"g\", a, function(M) {\n      l || M.attr(\"pointer-events\", \"all\");\n    }), g = Xr.ensureSingleById(n._topdefs, \"clipPath\", i, function(M) {\n      M.append(\"rect\");\n    }), y = Xr.ensureSingle(m, \"rect\", \"bg\", function(M) {\n      M.attr(\"shape-rendering\", \"crispEdges\");\n    });\n    y.call(Oh.stroke, r.bordercolor).call(Oh.fill, r.bgcolor).style(\"stroke-width\", r.borderwidth + \"px\");\n    var w = Xr.ensureSingle(m, \"g\", \"scrollbox\"), k = r.title;\n    r._titleWidth = 0, r._titleHeight = 0;\n    var x;\n    k.text ? (x = Xr.ensureSingle(w, \"text\", a + \"titletext\"), x.attr(\"text-anchor\", \"start\").call(nn.font, k.font).text(k.text), Hh(x, w, e, r, au)) : w.selectAll(\".\" + a + \"titletext\").remove();\n    var _ = Xr.ensureSingle(m, \"rect\", \"scrollbar\", function(M) {\n      M.attr(fn.scrollBarEnterAttrs).call(Oh.fill, fn.scrollBarColor);\n    }), T = w.selectAll(\"g.groups\").data(s);\n    T.enter().append(\"g\").attr(\"class\", \"groups\"), T.exit().remove();\n    var S = T.selectAll(\"g.traces\").data(Xr.identity);\n    S.enter().append(\"g\").attr(\"class\", \"traces\"), S.exit().remove(), S.style(\"opacity\", function(M) {\n      var L = M[0].trace;\n      return Qo.traceIs(L, \"pie-like\") ? v.indexOf(M[0].label) !== -1 ? 0.5 : 1 : L.visible === \"legendonly\" ? 0.5 : 1;\n    }).each(function() {\n      aa.select(this).call(_X, e, r);\n    }).call(gX, e, r).each(function() {\n      l || aa.select(this).call(xX, e, a);\n    }), Xr.syncOrAsync([\n      Ry.previousPromises,\n      function() {\n        return kX(e, T, S, r);\n      },\n      function() {\n        var M = n._size, L = r.borderwidth, F = r.xref === \"paper\", $ = r.yref === \"paper\";\n        if (k.text && bX(x, r, L), !l) {\n          var I, O;\n          F ? I = M.l + M.w * r.x - du[bv(r)] * r._width : I = n.width * r.x - du[bv(r)] * r._width, $ ? O = M.t + M.h * (1 - r.y) - du[_v(r)] * r._effHeight : O = n.height * (1 - r.y) - du[_v(r)] * r._effHeight;\n          var G = AX(e, a, I, O);\n          if (G) return;\n          if (n.margin.autoexpand) {\n            var K = I, V = O;\n            I = F ? Xr.constrain(I, 0, n.width - r._width) : K, O = $ ? Xr.constrain(O, 0, n.height - r._effHeight) : V, I !== K && Xr.log(\"Constrain \" + a + \".x to make legend fit inside graph\"), O !== V && Xr.log(\"Constrain \" + a + \".y to make legend fit inside graph\");\n          }\n          nn.setTranslate(m, I, O);\n        }\n        if (_.on(\".drag\", null), m.on(\"wheel\", null), l || r._height <= r._maxHeight || e._context.staticPlot) {\n          var z = r._effHeight;\n          l && (z = r._height), y.attr({\n            width: r._width - L,\n            height: z - L,\n            x: L / 2,\n            y: L / 2\n          }), nn.setTranslate(w, 0, 0), g.select(\"rect\").attr({\n            width: r._width - 2 * L,\n            height: z - 2 * L,\n            x: L,\n            y: L\n          }), nn.setClipUrl(w, i, e), nn.setRect(_, 0, 0, 0, 0), delete r._scrollY;\n        } else {\n          var P = Math.max(\n            fn.scrollBarMinHeight,\n            r._effHeight * r._effHeight / r._height\n          ), R = r._effHeight - P - 2 * fn.scrollBarMargin, H = r._height - r._effHeight, B = R / H, W = Math.min(r._scrollY || 0, H);\n          y.attr({\n            width: r._width - 2 * L + fn.scrollBarWidth + fn.scrollBarMargin,\n            height: r._effHeight - L,\n            x: L / 2,\n            y: L / 2\n          }), g.select(\"rect\").attr({\n            width: r._width - 2 * L + fn.scrollBarWidth + fn.scrollBarMargin,\n            height: r._effHeight - 2 * L,\n            x: L,\n            y: L + W\n          }), nn.setClipUrl(w, i, e), Z(W, P, B), m.on(\"wheel\", function() {\n            W = Xr.constrain(\n              r._scrollY + aa.event.deltaY / R * H,\n              0,\n              H\n            ), Z(W, P, B), W !== 0 && W !== H && aa.event.preventDefault();\n          });\n          var ee, re, ae, Q = function(ve, me, Le) {\n            var ze = (Le - me) / B + ve;\n            return Xr.constrain(ze, 0, H);\n          }, ue = function(ve, me, Le) {\n            var ze = (me - Le) / B + ve;\n            return Xr.constrain(ze, 0, H);\n          }, j = aa.behavior.drag().on(\"dragstart\", function() {\n            var ve = aa.event.sourceEvent;\n            ve.type === \"touchstart\" ? ee = ve.changedTouches[0].clientY : ee = ve.clientY, ae = W;\n          }).on(\"drag\", function() {\n            var ve = aa.event.sourceEvent;\n            ve.buttons === 2 || ve.ctrlKey || (ve.type === \"touchmove\" ? re = ve.changedTouches[0].clientY : re = ve.clientY, W = Q(ae, ee, re), Z(W, P, B));\n          });\n          _.call(j);\n          var U = aa.behavior.drag().on(\"dragstart\", function() {\n            var ve = aa.event.sourceEvent;\n            ve.type === \"touchstart\" && (ee = ve.changedTouches[0].clientY, ae = W);\n          }).on(\"drag\", function() {\n            var ve = aa.event.sourceEvent;\n            ve.type === \"touchmove\" && (re = ve.changedTouches[0].clientY, W = ue(ae, ee, re), Z(W, P, B));\n          });\n          w.call(U);\n        }\n        function Z(ve, me, Le) {\n          r._scrollY = e._fullLayout[a]._scrollY = ve, nn.setTranslate(w, 0, -ve), nn.setRect(\n            _,\n            r._width,\n            fn.scrollBarMargin + ve * Le,\n            fn.scrollBarWidth,\n            me\n          ), g.select(\"rect\").attr(\"y\", L + ve);\n        }\n        if (e._context.edits.legendPosition) {\n          var le, J, pe, ge;\n          m.classed(\"cursor-move\", !0), Sg.init({\n            element: m.node(),\n            gd: e,\n            prepFn: function() {\n              var ve = nn.getTranslate(m);\n              pe = ve.x, ge = ve.y;\n            },\n            moveFn: function(ve, me) {\n              var Le = pe + ve, ze = ge + me;\n              nn.setTranslate(m, Le, ze), le = Sg.align(Le, r._width, M.l, M.l + M.w, r.xanchor), J = Sg.align(ze + r._height, -r._height, M.t + M.h, M.t, r.yanchor);\n            },\n            doneFn: function() {\n              if (le !== void 0 && J !== void 0) {\n                var ve = {};\n                ve[a + \".x\"] = le, ve[a + \".y\"] = J, Qo.call(\"_guiRelayout\", e, ve);\n              }\n            },\n            clickFn: function(ve, me) {\n              var Le = o.selectAll(\"g.traces\").filter(function() {\n                var ze = this.getBoundingClientRect();\n                return me.clientX >= ze.left && me.clientX <= ze.right && me.clientY >= ze.top && me.clientY <= ze.bottom;\n              });\n              Le.size() > 0 && lD(e, m, Le, ve, me);\n            }\n          });\n        }\n      }\n    ], e);\n  }\n}\nfunction th(e, t, r) {\n  var n = e[0], a = n.width, i = t.entrywidthmode, o = n.trace.legendwidth || t.entrywidth;\n  return i === \"fraction\" ? t._maxWidth * o : r + (o || a);\n}\nfunction lD(e, t, r, n, a) {\n  var i = r.data()[0][0].trace, o = {\n    event: a,\n    node: r.node(),\n    curveNumber: i.index,\n    expandedIndex: i._expandedIndex,\n    data: e.data,\n    layout: e.layout,\n    frames: e._transitionData._frames,\n    config: e._context,\n    fullData: e._fullData,\n    fullLayout: e._fullLayout\n  };\n  i._group && (o.group = i._group), Qo.traceIs(i, \"pie-like\") && (o.label = r.datum()[0].label);\n  var l = uk.triggerHandler(e, \"plotly_legendclick\", o);\n  if (n === 1) {\n    if (l === !1) return;\n    t._clickTimeout = setTimeout(function() {\n      e._fullLayout && fk(r, e, n);\n    }, e._context.doubleClickDelay);\n  } else if (n === 2) {\n    t._clickTimeout && clearTimeout(t._clickTimeout), e._legendMouseDownTime = 0;\n    var s = uk.triggerHandler(e, \"plotly_legenddoubleclick\", o);\n    s !== !1 && l !== !1 && fk(r, e, n);\n  }\n}\nfunction _X(e, t, r) {\n  var n = $p(r), a = e.data()[0][0], i = a.trace, o = Qo.traceIs(i, \"pie-like\"), l = !r._inHover && t._context.edits.legendText && !o, s = r._maxNameLength, u, f;\n  a.groupTitle ? (u = a.groupTitle.text, f = a.groupTitle.font) : (f = r.font, r.entries ? u = a.text : (u = o ? a.label : i.name, i._meta && (u = Xr.templateString(u, i._meta))));\n  var d = Xr.ensureSingle(e, \"text\", n + \"text\");\n  d.attr(\"text-anchor\", \"start\").call(nn.font, f).text(l ? pk(u, s) : u);\n  var h = r.itemwidth + fn.itemGap * 2;\n  Ql.positionText(d, h, 0), l ? d.call(Ql.makeEditable, { gd: t, text: u }).call(Hh, e, t, r).on(\"edit\", function(p) {\n    this.text(pk(p, s)).call(Hh, e, t, r);\n    var v = a.trace._fullInput || {}, m = {};\n    if (Qo.hasTransform(v, \"groupby\")) {\n      var g = Qo.getTransformIndices(v, \"groupby\"), y = g[g.length - 1], w = Xr.keyedContainer(v, \"transforms[\" + y + \"].styles\", \"target\", \"value.name\");\n      w.set(a.trace._group, p), m = w.constructUpdate();\n    } else\n      m.name = p;\n    return v._isShape ? Qo.call(\"_guiRelayout\", t, \"shapes[\" + i.index + \"].name\", m.name) : Qo.call(\"_guiRestyle\", t, m, i.index);\n  }) : Hh(d, e, t, r);\n}\nfunction pk(e, t) {\n  var r = Math.max(4, t);\n  if (e && e.trim().length >= r / 2) return e;\n  e = e || \"\";\n  for (var n = r - e.length; n > 0; n--) e += \" \";\n  return e;\n}\nfunction xX(e, t, r) {\n  var n = t._context.doubleClickDelay, a, i = 1, o = Xr.ensureSingle(e, \"rect\", r + \"toggle\", function(l) {\n    t._context.staticPlot || l.style(\"cursor\", \"pointer\").attr(\"pointer-events\", \"all\"), l.call(Oh.fill, \"rgba(0,0,0,0)\");\n  });\n  t._context.staticPlot || (o.on(\"mousedown\", function() {\n    a = (/* @__PURE__ */ new Date()).getTime(), a - t._legendMouseDownTime < n ? i += 1 : (i = 1, t._legendMouseDownTime = a);\n  }), o.on(\"mouseup\", function() {\n    if (!(t._dragged || t._editing)) {\n      var l = t._fullLayout[r];\n      (/* @__PURE__ */ new Date()).getTime() - t._legendMouseDownTime > n && (i = Math.max(i - 1, 1)), lD(t, l, e, i, aa.event);\n    }\n  }));\n}\nfunction Hh(e, t, r, n, a) {\n  n._inHover && e.attr(\"data-notex\", !0), Ql.convertToTspans(e, r, function() {\n    wX(t, r, n, a);\n  });\n}\nfunction wX(e, t, r, n) {\n  var a = e.data()[0][0];\n  if (!r._inHover && a && !a.trace.showlegend) {\n    e.remove();\n    return;\n  }\n  var i = e.select(\"g[class*=math-group]\"), o = i.node(), l = $p(r);\n  r || (r = t._fullLayout[l]);\n  var s = r.borderwidth, u;\n  n === au ? u = r.title.font : a.groupTitle ? u = a.groupTitle.font : u = r.font;\n  var f = u.size * iD, d, h;\n  if (o) {\n    var p = nn.bBox(o);\n    d = p.height, h = p.width, n === au ? nn.setTranslate(i, s, s + d * 0.75) : nn.setTranslate(i, 0, d * 0.25);\n  } else {\n    var v = \".\" + l + (n === au ? \"title\" : \"\") + \"text\", m = e.select(v), g = Ql.lineCount(m), y = m.node();\n    if (d = f * g, h = y ? nn.bBox(y).width : 0, n === au)\n      r.title.side === \"left\" && (h += fn.itemGap * 2), Ql.positionText(\n        m,\n        s + fn.titlePad,\n        s + f\n      );\n    else {\n      var w = fn.itemGap * 2 + r.itemwidth;\n      a.groupTitle && (w = fn.itemGap, h -= r.itemwidth), Ql.positionText(\n        m,\n        w,\n        -f * ((g - 1) / 2 - 0.3)\n      );\n    }\n  }\n  n === au ? (r._titleWidth = h, r._titleHeight = d) : (a.lineHeight = f, a.height = Math.max(d, 16) + 3, a.width = h);\n}\nfunction TX(e) {\n  var t = 0, r = 0, n = e.title.side;\n  return n && (n.indexOf(\"left\") !== -1 && (t = e._titleWidth), n.indexOf(\"top\") !== -1 && (r = e._titleHeight)), [t, r];\n}\nfunction kX(e, t, r, n) {\n  var a = e._fullLayout, i = $p(n);\n  n || (n = a[i]);\n  var o = a._size, l = hk.isVertical(n), s = hk.isGrouped(n), u = n.entrywidthmode === \"fraction\", f = n.borderwidth, d = 2 * f, h = fn.itemGap, p = n.itemwidth + h * 2, v = 2 * (f + h), m = _v(n), g = n.y < 0 || n.y === 0 && m === \"top\", y = n.y > 1 || n.y === 1 && m === \"bottom\", w = n.tracegroupgap, k = {};\n  n._maxHeight = Math.max(\n    g || y ? a.height / 2 : o.h,\n    30\n  );\n  var x = 0;\n  n._width = 0, n._height = 0;\n  var _ = TX(n);\n  if (l)\n    r.each(function(ae) {\n      var Q = ae[0].height;\n      nn.setTranslate(\n        this,\n        f + _[0],\n        f + _[1] + n._height + Q / 2 + h\n      ), n._height += Q, n._width = Math.max(n._width, ae[0].width);\n    }), x = p + n._width, n._width += h + p + d, n._height += v, s && (t.each(function(ae, Q) {\n      nn.setTranslate(this, 0, Q * n.tracegroupgap);\n    }), n._height += (n._lgroupsLength - 1) * n.tracegroupgap);\n  else {\n    var T = bv(n), S = n.x < 0 || n.x === 0 && T === \"right\", M = n.x > 1 || n.x === 1 && T === \"left\", L = y || g, F = a.width / 2;\n    n._maxWidth = Math.max(\n      S ? L && T === \"left\" ? o.l + o.w : F : M ? L && T === \"right\" ? o.r + o.w : F : o.w,\n      2 * p\n    );\n    var $ = 0, I = 0;\n    r.each(function(ae) {\n      var Q = th(ae, n, p);\n      $ = Math.max($, Q), I += Q;\n    }), x = null;\n    var O = 0;\n    if (s) {\n      var G = 0, K = 0, V = 0;\n      t.each(function() {\n        var ae = 0, Q = 0;\n        aa.select(this).selectAll(\"g.traces\").each(function(j) {\n          var U = th(j, n, p), Z = j[0].height;\n          nn.setTranslate(\n            this,\n            _[0],\n            _[1] + f + h + Z / 2 + Q\n          ), Q += Z, ae = Math.max(ae, U), k[j[0].trace.legendgroup] = ae;\n        });\n        var ue = ae + h;\n        // not on the first column already\n        K > 0 && // goes beyound limit\n        ue + f + K > n._maxWidth ? (O = Math.max(O, K), K = 0, V += G + w, G = Q) : G = Math.max(G, Q), nn.setTranslate(this, K, V), K += ue;\n      }), n._width = Math.max(O, K) + f, n._height = V + G + v;\n    } else {\n      var z = r.size(), P = I + d + (z - 1) * h < n._maxWidth, R = 0, H = 0, B = 0, W = 0;\n      r.each(function(ae) {\n        var Q = ae[0].height, ue = th(ae, n, p), j = P ? ue : $;\n        u || (j += h), j + f + H - h >= n._maxWidth && (O = Math.max(O, W), H = 0, B += R, n._height += R, R = 0), nn.setTranslate(\n          this,\n          _[0] + f + H,\n          _[1] + f + B + Q / 2 + h\n        ), W = H + ue + h, H += j, R = Math.max(R, Q);\n      }), P ? (n._width = H + d, n._height = R + v) : (n._width = Math.max(O, W) + d, n._height += R + v);\n    }\n  }\n  n._width = Math.ceil(\n    Math.max(\n      n._width + _[0],\n      n._titleWidth + 2 * (f + fn.titlePad)\n    )\n  ), n._height = Math.ceil(\n    Math.max(\n      n._height + _[1],\n      n._titleHeight + 2 * (f + fn.itemGap)\n    )\n  ), n._effHeight = Math.min(n._height, n._maxHeight);\n  var ee = e._context.edits, re = ee.legendText || ee.legendPosition;\n  r.each(function(ae) {\n    var Q = aa.select(this).select(\".\" + i + \"toggle\"), ue = ae[0].height, j = ae[0].trace.legendgroup, U = th(ae, n, p);\n    s && j !== \"\" && (U = k[j]);\n    var Z = re ? p : x || U;\n    !l && !u && (Z += h / 2), nn.setRect(Q, 0, -ue / 2, Z, ue);\n  });\n}\nfunction AX(e, t, r, n) {\n  var a = e._fullLayout, i = a[t], o = bv(i), l = _v(i), s = i.xref === \"paper\", u = i.yref === \"paper\";\n  e._fullLayout._reservedMargin[t] = {};\n  var f = i.y < 0.5 ? \"b\" : \"t\", d = i.x < 0.5 ? \"l\" : \"r\", h = {\n    r: a.width - r,\n    l: r + i._width,\n    b: a.height - n,\n    t: n + i._effHeight\n  };\n  if (s && u)\n    return Ry.autoMargin(e, t, {\n      x: i.x,\n      y: i.y,\n      l: i._width * du[o],\n      r: i._width * ck[o],\n      b: i._effHeight * ck[l],\n      t: i._effHeight * du[l]\n    });\n  s ? e._fullLayout._reservedMargin[t][f] = h[f] : u || i.orientation === \"v\" ? e._fullLayout._reservedMargin[t][d] = h[d] : e._fullLayout._reservedMargin[t][f] = h[f];\n}\nfunction bv(e) {\n  return Xr.isRightAnchor(e) ? \"right\" : Xr.isCenterAnchor(e) ? \"center\" : \"left\";\n}\nfunction _v(e) {\n  return Xr.isBottomAnchor(e) ? \"bottom\" : Xr.isMiddleAnchor(e) ? \"middle\" : \"top\";\n}\nfunction $p(e) {\n  return e._id || \"legend\";\n}\nvar Bl = lr, so = sr, mk = bi, Kr = Ue, Cg = Kr.strTranslate, MX = Kr.strRotate, SX = xp, Ra = Rn, CX = JY, $i = Sr, pn = nr, rh = Qi, Yo = Cr, Pu = Nt, ii = Do, us = sp, LX = rD, DX = oD, sD = us.YANGLE, Lb = Math.PI * sD / 180, EX = 1 / Math.sin(Lb), FX = Math.cos(Lb), RX = Math.sin(Lb), br = us.HOVERARROWSIZE, rr = us.HOVERTEXTPAD, gk = {\n  box: !0,\n  ohlc: !0,\n  violin: !0,\n  candlestick: !0\n}, PX = {\n  scatter: !0,\n  scattergl: !0,\n  splom: !0\n};\nPp.hover = function(t, r, n, a) {\n  t = Kr.getGraphDiv(t);\n  var i = r.target;\n  Kr.throttle(\n    t._fullLayout._uid + us.HOVERID,\n    us.HOVERMINTIME,\n    function() {\n      $X(t, r, n, a, i);\n    }\n  );\n};\nPp.loneHover = function(t, r) {\n  var n = !0;\n  Array.isArray(t) || (n = !1, t = [t]);\n  var a = r.gd, i = hD(a), o = vD(a), l = t.map(function(g) {\n    var y = g._x0 || g.x0 || g.x || 0, w = g._x1 || g.x1 || g.x || 0, k = g._y0 || g.y0 || g.y || 0, x = g._y1 || g.y1 || g.y || 0, _ = g.eventData;\n    if (_) {\n      var T = Math.min(y, w), S = Math.max(y, w), M = Math.min(k, x), L = Math.max(k, x), F = g.trace;\n      if (Pu.traceIs(F, \"gl3d\")) {\n        var $ = a._fullLayout[F.scene]._scene.container, I = $.offsetLeft, O = $.offsetTop;\n        T += I, S += I, M += O, L += O;\n      }\n      _.bbox = {\n        x0: T + o,\n        x1: S + o,\n        y0: M + i,\n        y1: L + i\n      }, r.inOut_bbox && r.inOut_bbox.push(_.bbox);\n    } else\n      _ = !1;\n    return {\n      color: g.color || pn.defaultLine,\n      x0: g.x0 || g.x || 0,\n      x1: g.x1 || g.x || 0,\n      y0: g.y0 || g.y || 0,\n      y1: g.y1 || g.y || 0,\n      xLabel: g.xLabel,\n      yLabel: g.yLabel,\n      zLabel: g.zLabel,\n      text: g.text,\n      name: g.name,\n      idealAlign: g.idealAlign,\n      // optional extra bits of styling\n      borderColor: g.borderColor,\n      fontFamily: g.fontFamily,\n      fontSize: g.fontSize,\n      fontColor: g.fontColor,\n      nameLength: g.nameLength,\n      textAlign: g.textAlign,\n      // filler to make createHoverText happy\n      trace: g.trace || {\n        index: 0,\n        hoverinfo: \"\"\n      },\n      xa: { _offset: 0 },\n      ya: { _offset: 0 },\n      index: 0,\n      hovertemplate: g.hovertemplate || !1,\n      hovertemplateLabels: g.hovertemplateLabels || !1,\n      eventData: _\n    };\n  }), s = !1, u = fD(l, {\n    gd: a,\n    hovermode: \"closest\",\n    rotateLabels: s,\n    bgColor: r.bgColor || pn.background,\n    container: Bl.select(r.container),\n    outerContainer: r.outerContainer || r.container\n  }), f = u.hoverLabels, d = 5, h = 0, p = 0;\n  f.sort(function(g, y) {\n    return g.y0 - y.y0;\n  }).each(function(g, y) {\n    var w = g.y0 - g.by / 2;\n    w - d < h ? g.offset = h - w + d : g.offset = 0, h = w + g.by + g.offset, y === r.anchorIndex && (p = g.offset);\n  }).each(function(g) {\n    g.offset -= p;\n  });\n  var v = a._fullLayout._invScaleX, m = a._fullLayout._invScaleY;\n  return dD(f, s, v, m), n ? f : f.node();\n};\nfunction $X(e, t, r, n, a) {\n  r || (r = \"xy\");\n  var i = Array.isArray(r) ? r : [r], o = e._fullLayout, l = o._plots || [], s = l[r], u = o._has(\"cartesian\");\n  if (s) {\n    var f = s.overlays.map(function(ie) {\n      return ie.id;\n    });\n    i = i.concat(f);\n  }\n  for (var d = i.length, h = new Array(d), p = new Array(d), v = !1, m = 0; m < d; m++) {\n    var g = i[m];\n    if (l[g])\n      v = !0, h[m] = l[g].xaxis, p[m] = l[g].yaxis;\n    else if (o[g] && o[g]._subplot) {\n      var y = o[g]._subplot;\n      h[m] = y.xaxis, p[m] = y.yaxis;\n    } else {\n      Kr.warn(\"Unrecognized subplot: \" + g);\n      return;\n    }\n  }\n  var w = t.hovermode || o.hovermode;\n  if (w && !v && (w = \"closest\"), [\"x\", \"y\", \"closest\", \"x unified\", \"y unified\"].indexOf(w) === -1 || !e.calcdata || e.querySelector(\".zoombox\") || e._dragging)\n    return rh.unhoverRaw(e, t);\n  var k = o.hoverdistance;\n  k === -1 && (k = 1 / 0);\n  var x = o.spikedistance;\n  x === -1 && (x = 1 / 0);\n  var _ = [], T = [], S, M, L, F, $, I, O, G, K, V, z, P, R, H = {\n    hLinePoint: null,\n    vLinePoint: null\n  }, B = !1;\n  if (Array.isArray(t))\n    for (w = \"array\", L = 0; L < t.length; L++)\n      $ = e.calcdata[t[L].curveNumber || 0], $ && (I = $[0].trace, $[0].trace.hoverinfo !== \"skip\" && (T.push($), I.orientation === \"h\" && (B = !0)));\n  else {\n    for (F = 0; F < e.calcdata.length; F++)\n      $ = e.calcdata[F], I = $[0].trace, I.hoverinfo !== \"skip\" && ii.isTraceInSubplots(I, i) && (T.push($), I.orientation === \"h\" && (B = !0));\n    var W = !a, ee, re;\n    if (W)\n      \"xpx\" in t ? ee = t.xpx : ee = h[0]._length / 2, \"ypx\" in t ? re = t.ypx : re = p[0]._length / 2;\n    else {\n      if (SX.triggerHandler(e, \"plotly_beforehover\", t) === !1)\n        return;\n      var ae = a.getBoundingClientRect();\n      ee = t.clientX - ae.left, re = t.clientY - ae.top, o._calcInverseTransform(e);\n      var Q = Kr.apply3DTransform(o._invTransform)(ee, re);\n      if (ee = Q[0], re = Q[1], ee < 0 || ee > h[0]._length || re < 0 || re > p[0]._length)\n        return rh.unhoverRaw(e, t);\n    }\n    if (t.pointerX = ee + h[0]._offset, t.pointerY = re + p[0]._offset, \"xval\" in t ? S = ii.flat(i, t.xval) : S = ii.p2c(h, ee), \"yval\" in t ? M = ii.flat(i, t.yval) : M = ii.p2c(p, re), !so(S[0]) || !so(M[0]))\n      return Kr.warn(\"Fx.hover failed\", t, e), rh.unhoverRaw(e, t);\n  }\n  var ue = 1 / 0;\n  function j(ie, fe) {\n    for (F = 0; F < T.length; F++)\n      if ($ = T[F], !(!$ || !$[0] || !$[0].trace) && (I = $[0].trace, !(I.visible !== !0 || I._length === 0) && [\"carpet\", \"contourcarpet\"].indexOf(I._module.name) === -1)) {\n        if (I.type === \"splom\" ? (G = 0, O = i[G]) : (O = ii.getSubplot(I), G = i.indexOf(O)), K = w, ii.isUnifiedHover(K) && (K = K.charAt(0)), P = {\n          // trace properties\n          cd: $,\n          trace: I,\n          xa: h[G],\n          ya: p[G],\n          // max distances for hover and spikes - for points that want to show but do not\n          // want to override other points, set distance/spikeDistance equal to max*Distance\n          // and it will not get filtered out but it will be guaranteed to have a greater\n          // distance than any point that calculated a real distance.\n          maxHoverDistance: k,\n          maxSpikeDistance: x,\n          // point properties - override all of these\n          index: !1,\n          // point index in trace - only used by plotly.js hoverdata consumers\n          distance: Math.min(ue, k),\n          // pixel distance or pseudo-distance\n          // distance/pseudo-distance for spikes. This distance should always be calculated\n          // as if in \"closest\" mode, and should only be set if this point should\n          // generate a spike.\n          spikeDistance: 1 / 0,\n          // in some cases the spikes have different positioning from the hover label\n          // they don't need x0/x1, just one position\n          xSpike: void 0,\n          ySpike: void 0,\n          // where and how to display the hover label\n          color: pn.defaultLine,\n          // trace color\n          name: I.name,\n          x0: void 0,\n          x1: void 0,\n          y0: void 0,\n          y1: void 0,\n          xLabelVal: void 0,\n          yLabelVal: void 0,\n          zLabelVal: void 0,\n          text: void 0\n        }, o[O] && (P.subplot = o[O]._subplot), o._splomScenes && o._splomScenes[I.uid] && (P.scene = o._splomScenes[I.uid]), R = _.length, K === \"array\") {\n          var ke = t[F];\n          \"pointNumber\" in ke ? (P.index = ke.pointNumber, K = \"closest\") : (K = \"\", \"xval\" in ke && (V = ke.xval, K = \"x\"), \"yval\" in ke && (z = ke.yval, K = K ? \"closest\" : \"y\"));\n        } else ie !== void 0 && fe !== void 0 ? (V = ie, z = fe) : (V = S[G], z = M[G]);\n        if (k !== 0)\n          if (I._module && I._module.hoverPoints) {\n            var _e = I._module.hoverPoints(P, V, z, K, {\n              finiteRange: !0,\n              hoverLayer: o._hoverlayer\n            });\n            if (_e)\n              for (var Ge, je = 0; je < _e.length; je++)\n                Ge = _e[je], so(Ge.x0) && so(Ge.y0) && _.push(OX(Ge, w));\n          } else\n            Kr.log(\"Unrecognized trace type in hover:\", I);\n        if (w === \"closest\" && _.length > R && (_.splice(0, R), ue = _[0].distance), u && x !== 0 && _.length === 0) {\n          P.distance = x, P.index = !1;\n          var Ee = I._module.hoverPoints(P, V, z, \"closest\", {\n            hoverLayer: o._hoverlayer\n          });\n          if (Ee && (Ee = Ee.filter(function(Pt) {\n            return Pt.spikeDistance <= x;\n          })), Ee && Ee.length) {\n            var oe, Ce = Ee.filter(function(Pt) {\n              return Pt.xa.showspikes && Pt.xa.spikesnap !== \"hovered data\";\n            });\n            if (Ce.length) {\n              var Be = Ce[0];\n              so(Be.x0) && so(Be.y0) && (oe = Z(Be), (!H.vLinePoint || H.vLinePoint.spikeDistance > oe.spikeDistance) && (H.vLinePoint = oe));\n            }\n            var Xe = Ee.filter(function(Pt) {\n              return Pt.ya.showspikes && Pt.ya.spikesnap !== \"hovered data\";\n            });\n            if (Xe.length) {\n              var Et = Xe[0];\n              so(Et.x0) && so(Et.y0) && (oe = Z(Et), (!H.hLinePoint || H.hLinePoint.spikeDistance > oe.spikeDistance) && (H.hLinePoint = oe));\n            }\n          }\n        }\n      }\n  }\n  j();\n  function U(ie, fe, ke) {\n    for (var _e = null, Ge = 1 / 0, je, Ee = 0; Ee < ie.length; Ee++)\n      je = ie[Ee].spikeDistance, ke && Ee === 0 && (je = -1 / 0), je <= Ge && je <= fe && (_e = ie[Ee], Ge = je);\n    return _e;\n  }\n  function Z(ie) {\n    return ie ? {\n      xa: ie.xa,\n      ya: ie.ya,\n      x: ie.xSpike !== void 0 ? ie.xSpike : (ie.x0 + ie.x1) / 2,\n      y: ie.ySpike !== void 0 ? ie.ySpike : (ie.y0 + ie.y1) / 2,\n      distance: ie.distance,\n      spikeDistance: ie.spikeDistance,\n      curveNumber: ie.trace.index,\n      color: ie.color,\n      pointNumber: ie.index\n    } : null;\n  }\n  var le = {\n    fullLayout: o,\n    container: o._hoverlayer,\n    event: t\n  };\n  e._spikepoints;\n  var J = {\n    vLinePoint: H.vLinePoint,\n    hLinePoint: H.hLinePoint\n  };\n  e._spikepoints = J;\n  var pe = function() {\n    _.sort(function(ie, fe) {\n      return ie.distance - fe.distance;\n    }), _ = BX(_, w);\n  };\n  pe();\n  var ge = w.charAt(0), ve = (ge === \"x\" || ge === \"y\") && _[0] && PX[_[0].trace.type];\n  if (u && x !== 0 && _.length !== 0) {\n    var me = _.filter(function(ie) {\n      return ie.ya.showspikes;\n    }), Le = U(me, x, ve);\n    H.hLinePoint = Z(Le);\n    var ze = _.filter(function(ie) {\n      return ie.xa.showspikes;\n    }), Fe = U(ze, x, ve);\n    H.vLinePoint = Z(Fe);\n  }\n  if (_.length === 0) {\n    var Oe = rh.unhoverRaw(e, t);\n    return u && (H.hLinePoint !== null || H.vLinePoint !== null) && _k() && bk(e, H, le), Oe;\n  }\n  if (u && _k() && bk(e, H, le), ii.isXYhover(K) && _[0].length !== 0 && _[0].trace.type !== \"splom\") {\n    var Re = _[0];\n    gk[Re.trace.type] ? _ = _.filter(function(ie) {\n      return ie.trace.index === Re.trace.index;\n    }) : _ = [Re];\n    var We = _.length, Me = wk(\"x\", Re, o), Ve = wk(\"y\", Re, o);\n    j(Me, Ve);\n    var qe = [], Qe = {}, ot = 0, ht = function(ie) {\n      var fe = gk[ie.trace.type] ? uD(ie) : ie.trace.index;\n      if (!Qe[fe])\n        ot++, Qe[fe] = ot, qe.push(ie);\n      else {\n        var ke = Qe[fe] - 1, _e = qe[ke];\n        ke > 0 && Math.abs(ie.distance) < Math.abs(_e.distance) && (qe[ke] = ie);\n      }\n    }, vt;\n    for (vt = 0; vt < We; vt++)\n      ht(_[vt]);\n    for (vt = _.length - 1; vt > We - 1; vt--)\n      ht(_[vt]);\n    _ = qe, pe();\n  }\n  var nt = e._hoverdata, ft = [], Pe = hD(e), Ie = vD(e);\n  for (L = 0; L < _.length; L++) {\n    var Ne = _[L], tt = ii.makeEventData(Ne, Ne.trace, Ne.cd);\n    if (Ne.hovertemplate !== !1) {\n      var Je = !1;\n      Ne.cd[Ne.index] && Ne.cd[Ne.index].ht && (Je = Ne.cd[Ne.index].ht), Ne.hovertemplate = Je || Ne.trace.hovertemplate || !1;\n    }\n    if (Ne.xa && Ne.ya) {\n      var it = Ne.x0 + Ne.xa._offset, at = Ne.x1 + Ne.xa._offset, Tt = Ne.y0 + Ne.ya._offset, gt = Ne.y1 + Ne.ya._offset, He = Math.min(it, at), pt = Math.max(it, at), bt = Math.min(Tt, gt), Ke = Math.max(Tt, gt);\n      tt.bbox = {\n        x0: He + Ie,\n        x1: pt + Ie,\n        y0: bt + Pe,\n        y1: Ke + Pe\n      };\n    }\n    Ne.eventData = [tt], ft.push(tt);\n  }\n  e._hoverdata = ft;\n  var st = w === \"y\" && (T.length > 1 || _.length > 1) || w === \"closest\" && B && _.length > 1, rt = pn.combine(\n    o.plot_bgcolor || pn.background,\n    o.paper_bgcolor\n  ), ct = fD(_, {\n    gd: e,\n    hovermode: w,\n    rotateLabels: st,\n    bgColor: rt,\n    container: o._hoverlayer,\n    outerContainer: o._paper.node(),\n    commonLabelOpts: o.hoverlabel,\n    hoverdistance: o.hoverdistance\n  }), X = ct.hoverLabels;\n  if (ii.isUnifiedHover(w) || (IX(X, st, o, ct.commonLabelBoundingBox), dD(X, st, o._invScaleX, o._invScaleY)), a && a.tagName) {\n    var se = Pu.getComponentMethod(\"annotations\", \"hasClickToShow\")(e, ft);\n    CX(Bl.select(a), se ? \"pointer\" : \"\");\n  }\n  !a || n || !HX(e, t, nt) || (nt && e.emit(\"plotly_unhover\", {\n    event: t,\n    points: nt\n  }), e.emit(\"plotly_hover\", {\n    event: t,\n    points: e._hoverdata,\n    xaxes: h,\n    yaxes: p,\n    xvals: S,\n    yvals: M\n  }));\n}\nfunction uD(e) {\n  return [e.trace.index, e.index, e.x0, e.y0, e.name, e.attr, e.xa ? e.xa._id : \"\", e.ya ? e.ya._id : \"\"].join(\",\");\n}\nvar zX = /<extra>([\\s\\S]*)<\\/extra>/;\nfunction fD(e, t) {\n  var r = t.gd, n = r._fullLayout, a = t.hovermode, i = t.rotateLabels, o = t.bgColor, l = t.container, s = t.outerContainer, u = t.commonLabelOpts || {};\n  if (e.length === 0) return [[]];\n  var f = t.fontFamily || us.HOVERFONT, d = t.fontSize || us.HOVERFONTSIZE, h = e[0], p = h.xa, v = h.ya, m = a.charAt(0), g = m + \"Label\", y = h[g];\n  if (y === void 0 && p.type === \"multicategory\")\n    for (var w = 0; w < e.length && (y = e[w][g], y === void 0); w++)\n      ;\n  var k = Ns(r, s), x = k.top, _ = k.width, T = k.height, S = y !== void 0 && h.distance <= t.hoverdistance && (a === \"x\" || a === \"y\");\n  if (S) {\n    var M = !0, L, F;\n    for (L = 0; L < e.length; L++)\n      if (M && e[L].zLabel === void 0 && (M = !1), F = e[L].hoverinfo || e[L].trace.hoverinfo, F) {\n        var $ = Array.isArray(F) ? F : F.split(\"+\");\n        if ($.indexOf(\"all\") === -1 && $.indexOf(a) === -1) {\n          S = !1;\n          break;\n        }\n      }\n    M && (S = !1);\n  }\n  var I = l.selectAll(\"g.axistext\").data(S ? [0] : []);\n  I.enter().append(\"g\").classed(\"axistext\", !0), I.exit().remove();\n  var O = {\n    minX: 0,\n    maxX: 0,\n    minY: 0,\n    maxY: 0\n  };\n  if (I.each(function() {\n    var Me = Bl.select(this), Ve = Kr.ensureSingle(Me, \"path\", \"\", function(Ke) {\n      Ke.style({ \"stroke-width\": \"1px\" });\n    }), qe = Kr.ensureSingle(Me, \"text\", \"\", function(Ke) {\n      Ke.attr(\"data-notex\", 1);\n    }), Qe = u.bgcolor || pn.defaultLine, ot = u.bordercolor || pn.contrast(Qe), ht = pn.contrast(Qe), vt = {\n      family: u.font.family || f,\n      size: u.font.size || d,\n      color: u.font.color || ht\n    };\n    Ve.style({\n      fill: Qe,\n      stroke: ot\n    }), qe.text(y).call($i.font, vt).call(Ra.positionText, 0, 0).call(Ra.convertToTspans, r), Me.attr(\"transform\", \"\");\n    var nt = Ns(r, qe.node()), ft, Pe;\n    if (a === \"x\") {\n      var Ie = p.side === \"top\" ? \"-\" : \"\";\n      qe.attr(\"text-anchor\", \"middle\").call(Ra.positionText, 0, p.side === \"top\" ? x - nt.bottom - br - rr : x - nt.top + br + rr), ft = p._offset + (h.x0 + h.x1) / 2, Pe = v._offset + (p.side === \"top\" ? 0 : v._length);\n      var Ne = nt.width / 2 + rr;\n      ft < Ne ? (ft = Ne, Ve.attr(\"d\", \"M-\" + (Ne - br) + \",0L-\" + (Ne - br * 2) + \",\" + Ie + br + \"H\" + Ne + \"v\" + Ie + (rr * 2 + nt.height) + \"H-\" + Ne + \"V\" + Ie + br + \"Z\")) : ft > n.width - Ne ? (ft = n.width - Ne, Ve.attr(\"d\", \"M\" + (Ne - br) + \",0L\" + Ne + \",\" + Ie + br + \"v\" + Ie + (rr * 2 + nt.height) + \"H-\" + Ne + \"V\" + Ie + br + \"H\" + (Ne - br * 2) + \"Z\")) : Ve.attr(\"d\", \"M0,0L\" + br + \",\" + Ie + br + \"H\" + Ne + \"v\" + Ie + (rr * 2 + nt.height) + \"H-\" + Ne + \"V\" + Ie + br + \"H-\" + br + \"Z\"), O.minX = ft - Ne, O.maxX = ft + Ne, p.side === \"top\" ? (O.minY = Pe - (rr * 2 + nt.height), O.maxY = Pe - rr) : (O.minY = Pe + rr, O.maxY = Pe + (rr * 2 + nt.height));\n    } else {\n      var tt, Je, it;\n      v.side === \"right\" ? (tt = \"start\", Je = 1, it = \"\", ft = p._offset + p._length) : (tt = \"end\", Je = -1, it = \"-\", ft = p._offset), Pe = v._offset + (h.y0 + h.y1) / 2, qe.attr(\"text-anchor\", tt), Ve.attr(\"d\", \"M0,0L\" + it + br + \",\" + br + \"V\" + (rr + nt.height / 2) + \"h\" + it + (rr * 2 + nt.width) + \"V-\" + (rr + nt.height / 2) + \"H\" + it + br + \"V-\" + br + \"Z\"), O.minY = Pe - (rr + nt.height / 2), O.maxY = Pe + (rr + nt.height / 2), v.side === \"right\" ? (O.minX = ft + br, O.maxX = ft + br + (rr * 2 + nt.width)) : (O.minX = ft - br - (rr * 2 + nt.width), O.maxX = ft - br);\n      var at = nt.height / 2, Tt = x - nt.top - at, gt = \"clip\" + n._uid + \"commonlabel\" + v._id, He;\n      if (ft < nt.width + 2 * rr + br) {\n        He = \"M-\" + (br + rr) + \"-\" + at + \"h-\" + (nt.width - rr) + \"V\" + at + \"h\" + (nt.width - rr) + \"Z\";\n        var pt = nt.width - ft + rr;\n        Ra.positionText(qe, pt, Tt), tt === \"end\" && qe.selectAll(\"tspan\").each(function() {\n          var Ke = Bl.select(this), st = $i.tester.append(\"text\").text(Ke.text()).call($i.font, vt), rt = Ns(r, st.node());\n          Math.round(rt.width) < Math.round(nt.width) && Ke.attr(\"x\", pt - rt.width), st.remove();\n        });\n      } else\n        Ra.positionText(qe, Je * (rr + br), Tt), He = null;\n      var bt = n._topclips.selectAll(\"#\" + gt).data(He ? [0] : []);\n      bt.enter().append(\"clipPath\").attr(\"id\", gt).append(\"path\"), bt.exit().remove(), bt.select(\"path\").attr(\"d\", He), $i.setClipUrl(qe, He ? gt : null, r);\n    }\n    Me.attr(\"transform\", Cg(ft, Pe));\n  }), ii.isUnifiedHover(a)) {\n    l.selectAll(\"g.hovertext\").remove();\n    var G = e.filter(function(Me) {\n      return Me.hoverinfo !== \"none\";\n    });\n    if (G.length === 0) return [];\n    var K = n.hoverlabel, V = K.font, z = {\n      showlegend: !0,\n      legend: {\n        title: { text: y, font: V },\n        font: V,\n        bgcolor: K.bgcolor,\n        bordercolor: K.bordercolor,\n        borderwidth: 1,\n        tracegroupgap: 7,\n        traceorder: n.legend ? n.legend.traceorder : void 0,\n        orientation: \"v\"\n      }\n    }, P = {\n      font: V\n    };\n    LX(z, P, r._fullData);\n    var R = P.legend;\n    R.entries = [];\n    for (var H = 0; H < G.length; H++) {\n      var B = G[H];\n      if (B.hoverinfo !== \"none\") {\n        var W = yk(B, !0, a, n, y), ee = W[0], re = W[1];\n        B.name = re, re !== \"\" ? B.text = re + \" : \" + ee : B.text = ee;\n        var ae = B.cd[B.index];\n        ae && (ae.mc && (B.mc = ae.mc), ae.mcc && (B.mc = ae.mcc), ae.mlc && (B.mlc = ae.mlc), ae.mlcc && (B.mlc = ae.mlcc), ae.mlw && (B.mlw = ae.mlw), ae.mrc && (B.mrc = ae.mrc), ae.dir && (B.dir = ae.dir)), B._distinct = !0, R.entries.push([B]);\n      }\n    }\n    R.entries.sort(function(Me, Ve) {\n      return Me[0].trace.index - Ve[0].trace.index;\n    }), R.layer = l, R._inHover = !0, R._groupTitleFont = K.grouptitlefont, DX(r, R);\n    var Q = l.select(\"g.legend\"), ue = Ns(r, Q.node()), j = ue.width + 2 * rr, U = ue.height + 2 * rr, Z = G[0], le = (Z.x0 + Z.x1) / 2, J = (Z.y0 + Z.y1) / 2, pe = !(Pu.traceIs(Z.trace, \"bar-like\") || Pu.traceIs(Z.trace, \"box-violin\")), ge, ve;\n    m === \"y\" ? pe ? (ve = J - rr, ge = J + rr) : (ve = Math.min.apply(null, G.map(function(Me) {\n      return Math.min(Me.y0, Me.y1);\n    })), ge = Math.max.apply(null, G.map(function(Me) {\n      return Math.max(Me.y0, Me.y1);\n    }))) : ve = ge = Kr.mean(G.map(function(Me) {\n      return (Me.y0 + Me.y1) / 2;\n    })) - U / 2;\n    var me, Le;\n    m === \"x\" ? pe ? (me = le + rr, Le = le - rr) : (me = Math.max.apply(null, G.map(function(Me) {\n      return Math.max(Me.x0, Me.x1);\n    })), Le = Math.min.apply(null, G.map(function(Me) {\n      return Math.min(Me.x0, Me.x1);\n    }))) : me = Le = Kr.mean(G.map(function(Me) {\n      return (Me.x0 + Me.x1) / 2;\n    })) - j / 2;\n    var ze = p._offset, Fe = v._offset;\n    ge += Fe, me += ze, Le += ze - j, ve += Fe - U;\n    var Oe, Re;\n    return me + j < _ && me >= 0 ? Oe = me : Le + j < _ && Le >= 0 ? Oe = Le : ze + j < _ ? Oe = ze : me - le < le - Le + j ? Oe = _ - j : Oe = 0, Oe += rr, ge + U < T && ge >= 0 ? Re = ge : ve + U < T && ve >= 0 ? Re = ve : Fe + U < T ? Re = Fe : ge - J < J - ve + U ? Re = T - U : Re = 0, Re += rr, Q.attr(\"transform\", Cg(Oe - 1, Re - 1)), Q;\n  }\n  var We = l.selectAll(\"g.hovertext\").data(e, function(Me) {\n    return uD(Me);\n  });\n  return We.enter().append(\"g\").classed(\"hovertext\", !0).each(function() {\n    var Me = Bl.select(this);\n    Me.append(\"rect\").call(pn.fill, pn.addOpacity(o, 0.8)), Me.append(\"text\").classed(\"name\", !0), Me.append(\"path\").style(\"stroke-width\", \"1px\"), Me.append(\"text\").classed(\"nums\", !0).call($i.font, f, d);\n  }), We.exit().remove(), We.each(function(Me) {\n    var Ve = Bl.select(this).attr(\"transform\", \"\"), qe = Me.color;\n    Array.isArray(qe) && (qe = qe[Me.eventData[0].pointNumber]);\n    var Qe = Me.bgcolor || qe, ot = pn.combine(\n      pn.opacity(Qe) ? Qe : pn.defaultLine,\n      o\n    ), ht = pn.combine(\n      pn.opacity(qe) ? qe : pn.defaultLine,\n      o\n    ), vt = Me.borderColor || pn.contrast(ot), nt = yk(Me, S, a, n, y, Ve), ft = nt[0], Pe = nt[1], Ie = Ve.select(\"text.nums\").call(\n      $i.font,\n      Me.fontFamily || f,\n      Me.fontSize || d,\n      Me.fontColor || vt\n    ).text(ft).attr(\"data-notex\", 1).call(Ra.positionText, 0, 0).call(Ra.convertToTspans, r), Ne = Ve.select(\"text.name\"), tt = 0, Je = 0;\n    if (Pe && Pe !== ft) {\n      Ne.call(\n        $i.font,\n        Me.fontFamily || f,\n        Me.fontSize || d,\n        ht\n      ).text(Pe).attr(\"data-notex\", 1).call(Ra.positionText, 0, 0).call(Ra.convertToTspans, r);\n      var it = Ns(r, Ne.node());\n      tt = it.width + 2 * rr, Je = it.height + 2 * rr;\n    } else\n      Ne.remove(), Ve.select(\"rect\").remove();\n    Ve.select(\"path\").style({\n      fill: ot,\n      stroke: vt\n    });\n    var at = Me.xa._offset + (Me.x0 + Me.x1) / 2, Tt = Me.ya._offset + (Me.y0 + Me.y1) / 2, gt = Math.abs(Me.x1 - Me.x0), He = Math.abs(Me.y1 - Me.y0), pt = Ns(r, Ie.node()), bt = pt.width / n._invScaleX, Ke = pt.height / n._invScaleY;\n    Me.ty0 = (x - pt.top) / n._invScaleY, Me.bx = bt + 2 * rr, Me.by = Math.max(Ke + 2 * rr, Je), Me.anchor = \"start\", Me.txwidth = bt, Me.tx2width = tt, Me.offset = 0;\n    var st = (bt + br + rr + tt) * n._invScaleX, rt, ct;\n    if (i)\n      Me.pos = at, rt = Tt + He / 2 + st <= T, ct = Tt - He / 2 - st >= 0, (Me.idealAlign === \"top\" || !rt) && ct ? (Tt -= He / 2, Me.anchor = \"end\") : rt ? (Tt += He / 2, Me.anchor = \"start\") : Me.anchor = \"middle\", Me.crossPos = Tt;\n    else {\n      if (Me.pos = Tt, rt = at + gt / 2 + st <= _, ct = at - gt / 2 - st >= 0, (Me.idealAlign === \"left\" || !rt) && ct)\n        at -= gt / 2, Me.anchor = \"end\";\n      else if (rt)\n        at += gt / 2, Me.anchor = \"start\";\n      else {\n        Me.anchor = \"middle\";\n        var X = st / 2, se = at + X - _, ie = at - X;\n        se > 0 && (at -= se), ie < 0 && (at += -ie);\n      }\n      Me.crossPos = at;\n    }\n    Ie.attr(\"text-anchor\", Me.anchor), tt && Ne.attr(\"text-anchor\", Me.anchor), Ve.attr(\"transform\", Cg(at, Tt) + (i ? MX(sD) : \"\"));\n  }), {\n    hoverLabels: We,\n    commonLabelBoundingBox: O\n  };\n}\nfunction yk(e, t, r, n, a, i) {\n  var o = \"\", l = \"\";\n  e.nameOverride !== void 0 && (e.name = e.nameOverride), e.name && (e.trace._meta && (e.name = Kr.templateString(e.name, e.trace._meta)), o = xk(e.name, e.nameLength));\n  var s = r.charAt(0), u = s === \"x\" ? \"y\" : \"x\";\n  e.zLabel !== void 0 ? (e.xLabel !== void 0 && (l += \"x: \" + e.xLabel + \"<br>\"), e.yLabel !== void 0 && (l += \"y: \" + e.yLabel + \"<br>\"), e.trace.type !== \"choropleth\" && e.trace.type !== \"choroplethmapbox\" && (l += (l ? \"z: \" : \"\") + e.zLabel)) : t && e[s + \"Label\"] === a ? l = e[u + \"Label\"] || \"\" : e.xLabel === void 0 ? e.yLabel !== void 0 && e.trace.type !== \"scattercarpet\" && (l = e.yLabel) : e.yLabel === void 0 ? l = e.xLabel : l = \"(\" + e.xLabel + \", \" + e.yLabel + \")\", (e.text || e.text === 0) && !Array.isArray(e.text) && (l += (l ? \"<br>\" : \"\") + e.text), e.extraText !== void 0 && (l += (l ? \"<br>\" : \"\") + e.extraText), i && l === \"\" && !e.hovertemplate && (o === \"\" && i.remove(), l = o);\n  var f = e.hovertemplate || !1;\n  if (f) {\n    var d = e.hovertemplateLabels || e;\n    e[s + \"Label\"] !== a && (d[s + \"other\"] = d[s + \"Val\"], d[s + \"otherLabel\"] = d[s + \"Label\"]), l = Kr.hovertemplateString(\n      f,\n      d,\n      n._d3locale,\n      e.eventData[0] || {},\n      e.trace._meta\n    ), l = l.replace(zX, function(h, p) {\n      return o = xk(p, e.nameLength), \"\";\n    });\n  }\n  return [l, o];\n}\nfunction IX(e, t, r, n) {\n  var a = t ? \"xa\" : \"ya\", i = t ? \"ya\" : \"xa\", o = 0, l = 1, s = e.size(), u = new Array(s), f = 0, d = n.minX, h = n.maxX, p = n.minY, v = n.maxY, m = function(V) {\n    return V * r._invScaleX;\n  }, g = function(V) {\n    return V * r._invScaleY;\n  };\n  e.each(function(V) {\n    var z = V[a], P = V[i], R = z._id.charAt(0) === \"x\", H = z.range;\n    f === 0 && H && H[0] > H[1] !== R && (l = -1);\n    var B = 0, W = R ? r.width : r.height;\n    if (r.hovermode === \"x\" || r.hovermode === \"y\") {\n      var ee = cD(V, t), re = V.anchor, ae = re === \"end\" ? -1 : 1, Q, ue;\n      if (re === \"middle\")\n        Q = V.crossPos + (R ? g(ee.y - V.by / 2) : m(V.bx / 2 + V.tx2width / 2)), ue = Q + (R ? g(V.by) : m(V.bx));\n      else if (R)\n        Q = V.crossPos + g(br + ee.y) - g(V.by / 2 - br), ue = Q + g(V.by);\n      else {\n        var j = m(ae * br + ee.x), U = j + m(ae * V.bx);\n        Q = V.crossPos + Math.min(j, U), ue = V.crossPos + Math.max(j, U);\n      }\n      R ? p !== void 0 && v !== void 0 && Math.min(ue, v) - Math.max(Q, p) > 1 && (P.side === \"left\" ? (B = P._mainLinePosition, W = r.width) : W = P._mainLinePosition) : d !== void 0 && h !== void 0 && Math.min(ue, h) - Math.max(Q, d) > 1 && (P.side === \"top\" ? (B = P._mainLinePosition, W = r.height) : W = P._mainLinePosition);\n    }\n    u[f++] = [{\n      datum: V,\n      traceIndex: V.trace.index,\n      dp: 0,\n      pos: V.pos,\n      posref: V.posref,\n      size: V.by * (R ? EX : 1) / 2,\n      pmin: B,\n      pmax: W\n    }];\n  }), u.sort(function(V, z) {\n    return V[0].posref - z[0].posref || // for equal positions, sort trace indices increasing or decreasing\n    // depending on whether the axis is reversed or not... so stacked\n    // traces will generally keep their order even if one trace adds\n    // nothing to the stack.\n    l * (z[0].traceIndex - V[0].traceIndex);\n  });\n  var y, w, k, x, _, T, S;\n  function M(V) {\n    var z = V[0], P = V[V.length - 1];\n    if (w = z.pmin - z.pos - z.dp + z.size, k = P.pos + P.dp + P.size - z.pmax, w > 0.01) {\n      for (_ = V.length - 1; _ >= 0; _--) V[_].dp += w;\n      y = !1;\n    }\n    if (!(k < 0.01)) {\n      if (w < -0.01) {\n        for (_ = V.length - 1; _ >= 0; _--) V[_].dp -= k;\n        y = !1;\n      }\n      if (y) {\n        var R = 0;\n        for (x = 0; x < V.length; x++)\n          T = V[x], T.pos + T.dp + T.size > z.pmax && R++;\n        for (x = V.length - 1; x >= 0 && !(R <= 0); x--)\n          T = V[x], T.pos > z.pmax - 1 && (T.del = !0, R--);\n        for (x = 0; x < V.length && !(R <= 0); x++)\n          if (T = V[x], T.pos < z.pmin + 1)\n            for (T.del = !0, R--, k = T.size * 2, _ = V.length - 1; _ >= 0; _--) V[_].dp -= k;\n        for (x = V.length - 1; x >= 0 && !(R <= 0); x--)\n          T = V[x], T.pos + T.dp + T.size > z.pmax && (T.del = !0, R--);\n      }\n    }\n  }\n  for (; !y && o <= s; ) {\n    for (o++, y = !0, x = 0; x < u.length - 1; ) {\n      var L = u[x], F = u[x + 1], $ = L[L.length - 1], I = F[0];\n      if (w = $.pos + $.dp + $.size - I.pos - I.dp + I.size, w > 0.01 && $.pmin === I.pmin && $.pmax === I.pmax) {\n        for (_ = F.length - 1; _ >= 0; _--) F[_].dp += w;\n        for (L.push.apply(L, F), u.splice(x + 1, 1), S = 0, _ = L.length - 1; _ >= 0; _--) S += L[_].dp;\n        for (k = S / L.length, _ = L.length - 1; _ >= 0; _--) L[_].dp -= k;\n        y = !1;\n      } else x++;\n    }\n    u.forEach(M);\n  }\n  for (x = u.length - 1; x >= 0; x--) {\n    var O = u[x];\n    for (_ = O.length - 1; _ >= 0; _--) {\n      var G = O[_], K = G.datum;\n      K.offset = G.dp, K.del = G.del;\n    }\n  }\n}\nfunction cD(e, t) {\n  var r = 0, n = e.offset;\n  return t && (n *= -RX, r = e.offset * FX), {\n    x: r,\n    y: n\n  };\n}\nfunction NX(e) {\n  var t = { start: 1, end: -1, middle: 0 }[e.anchor], r = t * (br + rr), n = r + t * (e.txwidth + rr), a = e.anchor === \"middle\";\n  return a && (r -= e.tx2width / 2, n += e.txwidth / 2 + rr), {\n    alignShift: t,\n    textShiftX: r,\n    text2ShiftX: n\n  };\n}\nfunction dD(e, t, r, n) {\n  var a = function(o) {\n    return o * r;\n  }, i = function(o) {\n    return o * n;\n  };\n  e.each(function(o) {\n    var l = Bl.select(this);\n    if (o.del) return l.remove();\n    var s = l.select(\"text.nums\"), u = o.anchor, f = u === \"end\" ? -1 : 1, d = NX(o), h = cD(o, t), p = h.x, v = h.y, m = u === \"middle\";\n    l.select(\"path\").attr(\"d\", m ? (\n      // middle aligned: rect centered on data\n      \"M-\" + a(o.bx / 2 + o.tx2width / 2) + \",\" + i(v - o.by / 2) + \"h\" + a(o.bx) + \"v\" + i(o.by) + \"h-\" + a(o.bx) + \"Z\"\n    ) : (\n      // left or right aligned: side rect with arrow to data\n      \"M0,0L\" + a(f * br + p) + \",\" + i(br + v) + \"v\" + i(o.by / 2 - br) + \"h\" + a(f * o.bx) + \"v-\" + i(o.by) + \"H\" + a(f * br + p) + \"V\" + i(v - br) + \"Z\"\n    ));\n    var g = p + d.textShiftX, y = v + o.ty0 - o.by / 2 + rr, w = o.textAlign || \"auto\";\n    w !== \"auto\" && (w === \"left\" && u !== \"start\" ? (s.attr(\"text-anchor\", \"start\"), g = m ? -o.bx / 2 - o.tx2width / 2 + rr : -o.bx - rr) : w === \"right\" && u !== \"end\" && (s.attr(\"text-anchor\", \"end\"), g = m ? o.bx / 2 - o.tx2width / 2 - rr : o.bx + rr)), s.call(Ra.positionText, a(g), i(y)), o.tx2width && (l.select(\"text.name\").call(\n      Ra.positionText,\n      a(d.text2ShiftX + d.alignShift * rr + p),\n      i(v + o.ty0 - o.by / 2 + rr)\n    ), l.select(\"rect\").call(\n      $i.setRect,\n      a(d.text2ShiftX + (d.alignShift - 1) * o.tx2width / 2 + p),\n      i(v - o.by / 2 - 1),\n      a(o.tx2width),\n      i(o.by + 2)\n    ));\n  });\n}\nfunction OX(e, t) {\n  var r = e.index, n = e.trace || {}, a = e.cd[0], i = e.cd[r] || {};\n  function o(h) {\n    return h || so(h) && h === 0;\n  }\n  var l = Array.isArray(r) ? function(h, p) {\n    var v = Kr.castOption(a, r, h);\n    return o(v) ? v : Kr.extractOption({}, n, \"\", p);\n  } : function(h, p) {\n    return Kr.extractOption(i, n, h, p);\n  };\n  function s(h, p, v) {\n    var m = l(p, v);\n    o(m) && (e[h] = m);\n  }\n  if (s(\"hoverinfo\", \"hi\", \"hoverinfo\"), s(\"bgcolor\", \"hbg\", \"hoverlabel.bgcolor\"), s(\"borderColor\", \"hbc\", \"hoverlabel.bordercolor\"), s(\"fontFamily\", \"htf\", \"hoverlabel.font.family\"), s(\"fontSize\", \"hts\", \"hoverlabel.font.size\"), s(\"fontColor\", \"htc\", \"hoverlabel.font.color\"), s(\"nameLength\", \"hnl\", \"hoverlabel.namelength\"), s(\"textAlign\", \"hta\", \"hoverlabel.align\"), e.posref = t === \"y\" || t === \"closest\" && n.orientation === \"h\" ? e.xa._offset + (e.x0 + e.x1) / 2 : e.ya._offset + (e.y0 + e.y1) / 2, e.x0 = Kr.constrain(e.x0, 0, e.xa._length), e.x1 = Kr.constrain(e.x1, 0, e.xa._length), e.y0 = Kr.constrain(e.y0, 0, e.ya._length), e.y1 = Kr.constrain(e.y1, 0, e.ya._length), e.xLabelVal !== void 0 && (e.xLabel = \"xLabel\" in e ? e.xLabel : Yo.hoverLabelText(e.xa, e.xLabelVal, n.xhoverformat), e.xVal = e.xa.c2d(e.xLabelVal)), e.yLabelVal !== void 0 && (e.yLabel = \"yLabel\" in e ? e.yLabel : Yo.hoverLabelText(e.ya, e.yLabelVal, n.yhoverformat), e.yVal = e.ya.c2d(e.yLabelVal)), e.zLabelVal !== void 0 && e.zLabel === void 0 && (e.zLabel = String(e.zLabelVal)), !isNaN(e.xerr) && !(e.xa.type === \"log\" && e.xerr <= 0)) {\n    var u = Yo.tickText(e.xa, e.xa.c2l(e.xerr), \"hover\").text;\n    e.xerrneg !== void 0 ? e.xLabel += \" +\" + u + \" / -\" + Yo.tickText(e.xa, e.xa.c2l(e.xerrneg), \"hover\").text : e.xLabel += \" ± \" + u, t === \"x\" && (e.distance += 1);\n  }\n  if (!isNaN(e.yerr) && !(e.ya.type === \"log\" && e.yerr <= 0)) {\n    var f = Yo.tickText(e.ya, e.ya.c2l(e.yerr), \"hover\").text;\n    e.yerrneg !== void 0 ? e.yLabel += \" +\" + f + \" / -\" + Yo.tickText(e.ya, e.ya.c2l(e.yerrneg), \"hover\").text : e.yLabel += \" ± \" + f, t === \"y\" && (e.distance += 1);\n  }\n  var d = e.hoverinfo || e.trace.hoverinfo;\n  return d && d !== \"all\" && (d = Array.isArray(d) ? d : d.split(\"+\"), d.indexOf(\"x\") === -1 && (e.xLabel = void 0), d.indexOf(\"y\") === -1 && (e.yLabel = void 0), d.indexOf(\"z\") === -1 && (e.zLabel = void 0), d.indexOf(\"text\") === -1 && (e.text = void 0), d.indexOf(\"name\") === -1 && (e.name = void 0)), e;\n}\nfunction bk(e, t, r) {\n  var n = r.container, a = r.fullLayout, i = a._size, o = r.event, l = !!t.hLinePoint, s = !!t.vLinePoint, u, f;\n  if (n.selectAll(\".spikeline\").remove(), !!(s || l)) {\n    var d = pn.combine(a.plot_bgcolor, a.paper_bgcolor);\n    if (l) {\n      var h = t.hLinePoint, p, v;\n      u = h && h.xa, f = h && h.ya;\n      var m = f.spikesnap;\n      m === \"cursor\" ? (p = o.pointerX, v = o.pointerY) : (p = u._offset + h.x, v = f._offset + h.y);\n      var g = mk.readability(h.color, d) < 1.5 ? pn.contrast(d) : h.color, y = f.spikemode, w = f.spikethickness, k = f.spikecolor || g, x = Yo.getPxPosition(e, f), _, T;\n      if (y.indexOf(\"toaxis\") !== -1 || y.indexOf(\"across\") !== -1) {\n        if (y.indexOf(\"toaxis\") !== -1 && (_ = x, T = p), y.indexOf(\"across\") !== -1) {\n          var S = f._counterDomainMin, M = f._counterDomainMax;\n          f.anchor === \"free\" && (S = Math.min(S, f.position), M = Math.max(M, f.position)), _ = i.l + S * i.w, T = i.l + M * i.w;\n        }\n        n.insert(\"line\", \":first-child\").attr({\n          x1: _,\n          x2: T,\n          y1: v,\n          y2: v,\n          \"stroke-width\": w,\n          stroke: k,\n          \"stroke-dasharray\": $i.dashStyle(f.spikedash, w)\n        }).classed(\"spikeline\", !0).classed(\"crisp\", !0), n.insert(\"line\", \":first-child\").attr({\n          x1: _,\n          x2: T,\n          y1: v,\n          y2: v,\n          \"stroke-width\": w + 2,\n          stroke: d\n        }).classed(\"spikeline\", !0).classed(\"crisp\", !0);\n      }\n      y.indexOf(\"marker\") !== -1 && n.insert(\"circle\", \":first-child\").attr({\n        cx: x + (f.side !== \"right\" ? w : -w),\n        cy: v,\n        r: w,\n        fill: k\n      }).classed(\"spikeline\", !0);\n    }\n    if (s) {\n      var L = t.vLinePoint, F, $;\n      u = L && L.xa, f = L && L.ya;\n      var I = u.spikesnap;\n      I === \"cursor\" ? (F = o.pointerX, $ = o.pointerY) : (F = u._offset + L.x, $ = f._offset + L.y);\n      var O = mk.readability(L.color, d) < 1.5 ? pn.contrast(d) : L.color, G = u.spikemode, K = u.spikethickness, V = u.spikecolor || O, z = Yo.getPxPosition(e, u), P, R;\n      if (G.indexOf(\"toaxis\") !== -1 || G.indexOf(\"across\") !== -1) {\n        if (G.indexOf(\"toaxis\") !== -1 && (P = z, R = $), G.indexOf(\"across\") !== -1) {\n          var H = u._counterDomainMin, B = u._counterDomainMax;\n          u.anchor === \"free\" && (H = Math.min(H, u.position), B = Math.max(B, u.position)), P = i.t + (1 - B) * i.h, R = i.t + (1 - H) * i.h;\n        }\n        n.insert(\"line\", \":first-child\").attr({\n          x1: F,\n          x2: F,\n          y1: P,\n          y2: R,\n          \"stroke-width\": K,\n          stroke: V,\n          \"stroke-dasharray\": $i.dashStyle(u.spikedash, K)\n        }).classed(\"spikeline\", !0).classed(\"crisp\", !0), n.insert(\"line\", \":first-child\").attr({\n          x1: F,\n          x2: F,\n          y1: P,\n          y2: R,\n          \"stroke-width\": K + 2,\n          stroke: d\n        }).classed(\"spikeline\", !0).classed(\"crisp\", !0);\n      }\n      G.indexOf(\"marker\") !== -1 && n.insert(\"circle\", \":first-child\").attr({\n        cx: F,\n        cy: z - (u.side !== \"top\" ? K : -K),\n        r: K,\n        fill: V\n      }).classed(\"spikeline\", !0);\n    }\n  }\n}\nfunction HX(e, t, r) {\n  if (!r || r.length !== e._hoverdata.length) return !0;\n  for (var n = r.length - 1; n >= 0; n--) {\n    var a = r[n], i = e._hoverdata[n];\n    if (a.curveNumber !== i.curveNumber || String(a.pointNumber) !== String(i.pointNumber) || String(a.pointNumbers) !== String(i.pointNumbers))\n      return !0;\n  }\n  return !1;\n}\nfunction _k(e, t) {\n  return !0;\n}\nfunction xk(e, t) {\n  return Ra.plainText(e || \"\", {\n    len: t,\n    allowedTags: [\"br\", \"sub\", \"sup\", \"b\", \"i\", \"em\"]\n  });\n}\nfunction BX(e, t) {\n  for (var r = t.charAt(0), n = [], a = [], i = [], o = 0; o < e.length; o++) {\n    var l = e[o];\n    Pu.traceIs(l.trace, \"bar-like\") || Pu.traceIs(l.trace, \"box-violin\") ? i.push(l) : l.trace[r + \"period\"] ? a.push(l) : n.push(l);\n  }\n  return n.concat(a).concat(i);\n}\nfunction wk(e, t, r) {\n  var n = t[e + \"a\"], a = t[e + \"Val\"], i = t.cd[0];\n  if (n.type === \"category\" || n.type === \"multicategory\") a = n._categoriesMap[a];\n  else if (n.type === \"date\") {\n    var o = t.trace[e + \"periodalignment\"];\n    if (o) {\n      var l = t.cd[t.index], s = l[e + \"Start\"];\n      s === void 0 && (s = l[e]);\n      var u = l[e + \"End\"];\n      u === void 0 && (u = l[e]);\n      var f = u - s;\n      o === \"end\" ? a += f : o === \"middle\" && (a += f / 2);\n    }\n    a = n.d2c(a);\n  }\n  return i && i.t && i.t.posLetter === n._id && (r.boxmode === \"group\" || r.violinmode === \"group\") && (a += i.t.dPos), a;\n}\nfunction hD(e) {\n  return e.offsetTop + e.clientTop;\n}\nfunction vD(e) {\n  return e.offsetLeft + e.clientLeft;\n}\nfunction Ns(e, t) {\n  var r = e._fullLayout, n = t.getBoundingClientRect(), a = n.left, i = n.top, o = a + n.width, l = i + n.height, s = Kr.apply3DTransform(r._invTransform)(a, i), u = Kr.apply3DTransform(r._invTransform)(o, l), f = s[0], d = s[1], h = u[0], p = u[1];\n  return {\n    x: f,\n    y: d,\n    width: h - f,\n    height: p - d,\n    top: Math.min(d, p),\n    left: Math.min(f, h),\n    right: Math.max(f, h),\n    bottom: Math.max(d, p)\n  };\n}\nvar jX = Ue, UX = nr, GX = Do.isUnifiedHover, Db = function(t, r, n, a) {\n  a = a || {};\n  var i = r.legend;\n  function o(l) {\n    a.font[l] || (a.font[l] = i ? r.legend.font[l] : r.font[l]);\n  }\n  r && GX(r.hovermode) && (a.font || (a.font = {}), o(\"size\"), o(\"family\"), o(\"color\"), i ? (a.bgcolor || (a.bgcolor = UX.combine(r.legend.bgcolor, r.paper_bgcolor)), a.bordercolor || (a.bordercolor = r.legend.bordercolor)) : a.bgcolor || (a.bgcolor = r.paper_bgcolor)), n(\"hoverlabel.bgcolor\", a.bgcolor), n(\"hoverlabel.bordercolor\", a.bordercolor), n(\"hoverlabel.namelength\", a.namelength), jX.coerceFont(n, \"hoverlabel.font\", a.font), n(\"hoverlabel.align\", a.align);\n}, VX = Ue, qX = Db, WX = Zc, ZX = function(t, r) {\n  function n(a, i) {\n    return VX.coerce(t, r, WX, a, i);\n  }\n  qX(t, r, n);\n}, Tk = Ue, YX = V1, XX = Db, KX = function(t, r, n, a) {\n  function i(l, s) {\n    return Tk.coerce(t, r, YX, l, s);\n  }\n  var o = Tk.extendFlat({}, a.hoverlabel);\n  r.hovertemplate && (o.namelength = -1), XX(t, r, i, o);\n}, JX = Ue, QX = Zc, pD = function(t, r) {\n  function n(a, i) {\n    return r[a] !== void 0 ? r[a] : JX.coerce(t, r, QX, a, i);\n  }\n  return n(\"clickmode\"), n(\"hovermode\");\n}, kk = Ue, eK = Zc, tK = pD, rK = Db, nK = function(t, r) {\n  function n(u, f) {\n    return kk.coerce(t, r, eK, u, f);\n  }\n  var a = tK(t, r);\n  a && (n(\"hoverdistance\"), n(\"spikedistance\"));\n  var i = n(\"dragmode\");\n  i === \"select\" && n(\"selectdirection\");\n  var o = r._has(\"mapbox\"), l = r._has(\"geo\"), s = r._basePlotModules.length;\n  r.dragmode === \"zoom\" && ((o || l) && s === 1 || o && l && s === 2) && (r.dragmode = \"pan\"), rK(t, r, n), kk.coerceFont(n, \"hoverlabel.grouptitlefont\", r.hoverlabel.font);\n}, Py = Ue, Ak = Nt, aK = function(t) {\n  var r = t.calcdata, n = t._fullLayout;\n  function a(u) {\n    return function(f) {\n      return Py.coerceHoverinfo({ hoverinfo: f }, { _module: u._module }, n);\n    };\n  }\n  for (var i = 0; i < r.length; i++) {\n    var o = r[i], l = o[0].trace;\n    if (!Ak.traceIs(l, \"pie-like\")) {\n      var s = Ak.traceIs(l, \"2dMap\") ? iK : Py.fillArray;\n      s(l.hoverinfo, o, \"hi\", a(l)), l.hovertemplate && s(l.hovertemplate, o, \"ht\"), l.hoverlabel && (s(l.hoverlabel.bgcolor, o, \"hbg\"), s(l.hoverlabel.bordercolor, o, \"hbc\"), s(l.hoverlabel.font.size, o, \"hts\"), s(l.hoverlabel.font.color, o, \"htc\"), s(l.hoverlabel.font.family, o, \"htf\"), s(l.hoverlabel.namelength, o, \"hnl\"), s(l.hoverlabel.align, o, \"hta\"));\n    }\n  }\n};\nfunction iK(e, t, r, n) {\n  n = n || Py.identity, Array.isArray(e) && (t[0][r] = n(e));\n}\nvar oK = Nt, lK = Pp.hover, sK = function(t, r, n) {\n  var a = oK.getComponentMethod(\"annotations\", \"onClick\")(t, t._hoverdata);\n  n !== void 0 && lK(t, r, n, !0);\n  function i() {\n    t.emit(\"plotly_click\", { points: t._hoverdata, event: r });\n  }\n  t._hoverdata && r && r.target && (a && a.then ? a.then(i) : i(), r.stopImmediatePropagation && r.stopImmediatePropagation());\n}, uK = lr, xv = Ue, fK = Qi, Lf = Do, Mk = Zc, Sk = Pp, Ao = {\n  moduleType: \"component\",\n  name: \"fx\",\n  constants: sp,\n  schema: {\n    layout: Mk\n  },\n  attributes: V1,\n  layoutAttributes: Mk,\n  supplyLayoutGlobalDefaults: ZX,\n  supplyDefaults: KX,\n  supplyLayoutDefaults: nK,\n  calc: aK,\n  getDistanceFunction: Lf.getDistanceFunction,\n  getClosest: Lf.getClosest,\n  inbox: Lf.inbox,\n  quadrature: Lf.quadrature,\n  appendArrayPointValue: Lf.appendArrayPointValue,\n  castHoverOption: dK,\n  castHoverinfo: hK,\n  hover: Sk.hover,\n  unhover: fK.unhover,\n  loneHover: Sk.loneHover,\n  loneUnhover: cK,\n  click: sK\n};\nfunction cK(e) {\n  var t = xv.isD3Selection(e) ? e : uK.select(e);\n  t.selectAll(\"g.hovertext\").remove(), t.selectAll(\".spikeline\").remove();\n}\nfunction dK(e, t, r) {\n  return xv.castOption(e, t, \"hoverlabel.\" + r);\n}\nfunction hK(e, t, r) {\n  function n(a) {\n    return xv.coerceHoverinfo({ hoverinfo: a }, { _module: e._module }, t);\n  }\n  return xv.castOption(e, r, \"hoverinfo\", n);\n}\nvar rf = {};\n(function(e) {\n  e.selectMode = function(t) {\n    return t === \"lasso\" || t === \"select\";\n  }, e.drawMode = function(t) {\n    return t === \"drawclosedpath\" || t === \"drawopenpath\" || t === \"drawline\" || t === \"drawrect\" || t === \"drawcircle\";\n  }, e.openMode = function(t) {\n    return t === \"drawline\" || t === \"drawopenpath\";\n  }, e.rectMode = function(t) {\n    return t === \"select\" || t === \"drawline\" || t === \"drawrect\" || t === \"drawcircle\";\n  }, e.freeMode = function(t) {\n    return t === \"lasso\" || t === \"drawclosedpath\" || t === \"drawopenpath\";\n  }, e.selectingOrDrawing = function(t) {\n    return e.freeMode(t) || e.rectMode(t);\n  };\n})(rf);\nvar Eb = function(t) {\n  var r = t._fullLayout;\n  r._glcanvas && r._glcanvas.size() && r._glcanvas.each(function(n) {\n    n.regl && n.regl.clear({ color: !0, depth: !0 });\n  });\n}, zp = {}, mD = { exports: {} }, Fb = {\n  undo: {\n    width: 857.1,\n    height: 1e3,\n    path: \"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z\",\n    transform: \"matrix(1 0 0 -1 0 850)\"\n  },\n  home: {\n    width: 928.6,\n    height: 1e3,\n    path: \"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z\",\n    transform: \"matrix(1 0 0 -1 0 850)\"\n  },\n  \"camera-retro\": {\n    width: 1e3,\n    height: 1e3,\n    path: \"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z\",\n    transform: \"matrix(1 0 0 -1 0 850)\"\n  },\n  zoombox: {\n    width: 1e3,\n    height: 1e3,\n    path: \"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z\",\n    transform: \"matrix(1 0 0 -1 0 850)\"\n  },\n  pan: {\n    width: 1e3,\n    height: 1e3,\n    path: \"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z\",\n    transform: \"matrix(1 0 0 -1 0 850)\"\n  },\n  zoom_plus: {\n    width: 875,\n    height: 1e3,\n    path: \"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z\",\n    transform: \"matrix(1 0 0 -1 0 850)\"\n  },\n  zoom_minus: {\n    width: 875,\n    height: 1e3,\n    path: \"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z\",\n    transform: \"matrix(1 0 0 -1 0 850)\"\n  },\n  autoscale: {\n    width: 1e3,\n    height: 1e3,\n    path: \"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z\",\n    transform: \"matrix(1 0 0 -1 0 850)\"\n  },\n  tooltip_basic: {\n    width: 1500,\n    height: 1e3,\n    path: \"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z\",\n    transform: \"matrix(1 0 0 -1 0 850)\"\n  },\n  tooltip_compare: {\n    width: 1125,\n    height: 1e3,\n    path: \"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z\",\n    transform: \"matrix(1 0 0 -1 0 850)\"\n  },\n  plotlylogo: {\n    width: 1542,\n    height: 1e3,\n    path: \"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z\",\n    transform: \"matrix(1 0 0 -1 0 850)\"\n  },\n  \"z-axis\": {\n    width: 1e3,\n    height: 1e3,\n    path: \"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z\",\n    transform: \"matrix(1 0 0 -1 0 850)\"\n  },\n  \"3d_rotate\": {\n    width: 1e3,\n    height: 1e3,\n    path: \"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z\",\n    transform: \"matrix(1 0 0 -1 0 850)\"\n  },\n  camera: {\n    width: 1e3,\n    height: 1e3,\n    path: \"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z\",\n    transform: \"matrix(1 0 0 -1 0 850)\"\n  },\n  movie: {\n    width: 1e3,\n    height: 1e3,\n    path: \"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z\",\n    transform: \"matrix(1 0 0 -1 0 850)\"\n  },\n  question: {\n    width: 857.1,\n    height: 1e3,\n    path: \"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z\",\n    transform: \"matrix(1 0 0 -1 0 850)\"\n  },\n  disk: {\n    width: 857.1,\n    height: 1e3,\n    path: \"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z\",\n    transform: \"matrix(1 0 0 -1 0 850)\"\n  },\n  drawopenpath: {\n    width: 70,\n    height: 70,\n    path: \"M33.21,85.65a7.31,7.31,0,0,1-2.59-.48c-8.16-3.11-9.27-19.8-9.88-41.3-.1-3.58-.19-6.68-.35-9-.15-2.1-.67-3.48-1.43-3.79-2.13-.88-7.91,2.32-12,5.86L3,32.38c1.87-1.64,11.55-9.66,18.27-6.9,2.13.87,4.75,3.14,5.17,9,.17,2.43.26,5.59.36,9.25a224.17,224.17,0,0,0,1.5,23.4c1.54,10.76,4,12.22,4.48,12.4.84.32,2.79-.46,5.76-3.59L43,80.07C41.53,81.57,37.68,85.64,33.21,85.65ZM74.81,69a11.34,11.34,0,0,0,6.09-6.72L87.26,44.5,74.72,32,56.9,38.35c-2.37.86-5.57,3.42-6.61,6L38.65,72.14l8.42,8.43ZM55,46.27a7.91,7.91,0,0,1,3.64-3.17l14.8-5.3,8,8L76.11,60.6l-.06.19a6.37,6.37,0,0,1-3,3.43L48.25,74.59,44.62,71Zm16.57,7.82A6.9,6.9,0,1,0,64.64,61,6.91,6.91,0,0,0,71.54,54.09Zm-4.05,0a2.85,2.85,0,1,1-2.85-2.85A2.86,2.86,0,0,1,67.49,54.09Zm-4.13,5.22L60.5,56.45,44.26,72.7l2.86,2.86ZM97.83,35.67,84.14,22l-8.57,8.57L89.26,44.24Zm-13.69-8,8,8-2.85,2.85-8-8Z\",\n    transform: \"matrix(1 0 0 1 -15 -15)\"\n  },\n  drawclosedpath: {\n    width: 90,\n    height: 90,\n    path: \"M88.41,21.12a26.56,26.56,0,0,0-36.18,0l-2.07,2-2.07-2a26.57,26.57,0,0,0-36.18,0,23.74,23.74,0,0,0,0,34.8L48,90.12a3.22,3.22,0,0,0,4.42,0l36-34.21a23.73,23.73,0,0,0,0-34.79ZM84,51.24,50.16,83.35,16.35,51.25a17.28,17.28,0,0,1,0-25.47,20,20,0,0,1,27.3,0l4.29,4.07a3.23,3.23,0,0,0,4.44,0l4.29-4.07a20,20,0,0,1,27.3,0,17.27,17.27,0,0,1,0,25.46ZM66.76,47.68h-33v6.91h33ZM53.35,35H46.44V68h6.91Z\",\n    transform: \"matrix(1 0 0 1 -5 -5)\"\n  },\n  lasso: {\n    width: 1031,\n    height: 1e3,\n    path: \"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z\",\n    transform: \"matrix(1 0 0 -1 0 850)\"\n  },\n  selectbox: {\n    width: 1e3,\n    height: 1e3,\n    path: \"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z\",\n    transform: \"matrix(1 0 0 -1 0 850)\"\n  },\n  drawline: {\n    width: 70,\n    height: 70,\n    path: \"M60.64,62.3a11.29,11.29,0,0,0,6.09-6.72l6.35-17.72L60.54,25.31l-17.82,6.4c-2.36.86-5.57,3.41-6.6,6L24.48,65.5l8.42,8.42ZM40.79,39.63a7.89,7.89,0,0,1,3.65-3.17l14.79-5.31,8,8L61.94,54l-.06.19a6.44,6.44,0,0,1-3,3.43L34.07,68l-3.62-3.63Zm16.57,7.81a6.9,6.9,0,1,0-6.89,6.9A6.9,6.9,0,0,0,57.36,47.44Zm-4,0a2.86,2.86,0,1,1-2.85-2.85A2.86,2.86,0,0,1,53.32,47.44Zm-4.13,5.22L46.33,49.8,30.08,66.05l2.86,2.86ZM83.65,29,70,15.34,61.4,23.9,75.09,37.59ZM70,21.06l8,8-2.84,2.85-8-8ZM87,80.49H10.67V87H87Z\",\n    transform: \"matrix(1 0 0 1 -15 -15)\"\n  },\n  drawrect: {\n    width: 80,\n    height: 80,\n    path: \"M78,22V79H21V22H78m9-9H12V88H87V13ZM68,46.22H31V54H68ZM53,32H45.22V69H53Z\",\n    transform: \"matrix(1 0 0 1 -10 -10)\"\n  },\n  drawcircle: {\n    width: 80,\n    height: 80,\n    path: \"M50,84.72C26.84,84.72,8,69.28,8,50.3S26.84,15.87,50,15.87,92,31.31,92,50.3,73.16,84.72,50,84.72Zm0-60.59c-18.6,0-33.74,11.74-33.74,26.17S31.4,76.46,50,76.46,83.74,64.72,83.74,50.3,68.6,24.13,50,24.13Zm17.15,22h-34v7.11h34Zm-13.8-13H46.24v34h7.11Z\",\n    transform: \"matrix(1 0 0 1 -10 -10)\"\n  },\n  eraseshape: {\n    width: 80,\n    height: 80,\n    path: \"M82.77,78H31.85L6,49.57,31.85,21.14H82.77a8.72,8.72,0,0,1,8.65,8.77V69.24A8.72,8.72,0,0,1,82.77,78ZM35.46,69.84H82.77a.57.57,0,0,0,.49-.6V29.91a.57.57,0,0,0-.49-.61H35.46L17,49.57Zm32.68-34.7-24,24,5,5,24-24Zm-19,.53-5,5,24,24,5-5Z\",\n    transform: \"matrix(1 0 0 1 -10 -10)\"\n  },\n  spikeline: {\n    width: 1e3,\n    height: 1e3,\n    path: \"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z\",\n    transform: \"matrix(1.5 0 0 -1.5 0 850)\"\n  },\n  pencil: {\n    width: 1792,\n    height: 1792,\n    path: \"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z\",\n    transform: \"matrix(1 0 0 1 0 1)\"\n  },\n  newplotlylogo: {\n    name: \"newplotlylogo\",\n    svg: [\n      \"<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 132'>\",\n      \"<defs>\",\n      \" <style>\",\n      \"  .cls-0{fill:#000;}\",\n      \"  .cls-1{fill:#FFF;}\",\n      \"  .cls-2{fill:#F26;}\",\n      \"  .cls-3{fill:#D69;}\",\n      \"  .cls-4{fill:#BAC;}\",\n      \"  .cls-5{fill:#9EF;}\",\n      \" </style>\",\n      \"</defs>\",\n      \" <title>plotly-logomark</title>\",\n      \" <g id='symbol'>\",\n      \"  <rect class='cls-0' x='0' y='0' width='132' height='132' rx='18' ry='18'/>\",\n      \"  <circle class='cls-5' cx='102' cy='30' r='6'/>\",\n      \"  <circle class='cls-4' cx='78' cy='30' r='6'/>\",\n      \"  <circle class='cls-4' cx='78' cy='54' r='6'/>\",\n      \"  <circle class='cls-3' cx='54' cy='30' r='6'/>\",\n      \"  <circle class='cls-2' cx='30' cy='30' r='6'/>\",\n      \"  <circle class='cls-2' cx='30' cy='54' r='6'/>\",\n      \"  <path class='cls-1' d='M30,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,30,72Z'/>\",\n      \"  <path class='cls-1' d='M78,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,78,72Z'/>\",\n      \"  <path class='cls-1' d='M54,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,54,48Z'/>\",\n      \"  <path class='cls-1' d='M102,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,102,48Z'/>\",\n      \" </g>\",\n      \"</svg>\"\n    ].join(\"\")\n  }\n}, _l = {}, nh = 32, Rb = {\n  CIRCLE_SIDES: nh,\n  i000: 0,\n  i090: nh / 4,\n  i180: nh / 2,\n  i270: nh / 4 * 3,\n  cos45: Math.cos(Math.PI / 4),\n  sin45: Math.sin(Math.PI / 4),\n  SQRT2: Math.sqrt(2)\n}, vK = Ue.strTranslate;\nfunction gD(e, t) {\n  switch (e.type) {\n    case \"log\":\n      return e.p2d(t);\n    case \"date\":\n      return e.p2r(t, 0, e.calendar);\n    default:\n      return e.p2r(t);\n  }\n}\nfunction pK(e, t) {\n  switch (e.type) {\n    case \"log\":\n      return e.d2p(t);\n    case \"date\":\n      return e.r2p(t, 0, e.calendar);\n    default:\n      return e.r2p(t);\n  }\n}\nfunction mK(e) {\n  var t = e._id.charAt(0) === \"y\" ? 1 : 0;\n  return function(r) {\n    return gD(e, r[t]);\n  };\n}\nfunction gK(e) {\n  return vK(\n    e.xaxis._offset,\n    e.yaxis._offset\n  );\n}\nvar Pb = {\n  p2r: gD,\n  r2p: pK,\n  axValue: mK,\n  getTransform: gK\n};\n(function(e) {\n  var t = w4, r = Rb, n = r.CIRCLE_SIDES, a = r.SQRT2, i = Pb, o = i.p2r, l = i.r2p, s = [0, 3, 4, 5, 6, 1, 2], u = [0, 3, 4, 1, 2];\n  e.writePaths = function(h) {\n    var p = h.length;\n    if (!p) return \"M0,0Z\";\n    for (var v = \"\", m = 0; m < p; m++)\n      for (var g = h[m].length, y = 0; y < g; y++) {\n        var w = h[m][y][0];\n        if (w === \"Z\")\n          v += \"Z\";\n        else\n          for (var k = h[m][y].length, x = 0; x < k; x++) {\n            var _ = x;\n            w === \"Q\" || w === \"S\" ? _ = u[x] : w === \"C\" && (_ = s[x]), v += h[m][y][_], x > 0 && x < k - 1 && (v += \",\");\n          }\n      }\n    return v;\n  }, e.readPaths = function(h, p, v, m) {\n    var g = t(h), y = [], w = -1, k = function() {\n      w++, y[w] = [];\n    }, x, _ = 0, T = 0, S, M, L = function() {\n      S = _, M = T;\n    };\n    L();\n    for (var F = 0; F < g.length; F++) {\n      var $ = [], I, O, G, K, V = g[F][0], z = V;\n      switch (V) {\n        case \"M\":\n          k(), _ = +g[F][1], T = +g[F][2], $.push([z, _, T]), L();\n          break;\n        case \"Q\":\n        case \"S\":\n          I = +g[F][1], G = +g[F][2], _ = +g[F][3], T = +g[F][4], $.push([z, _, T, I, G]);\n          break;\n        case \"C\":\n          I = +g[F][1], G = +g[F][2], O = +g[F][3], K = +g[F][4], _ = +g[F][5], T = +g[F][6], $.push([z, _, T, I, G, O, K]);\n          break;\n        case \"T\":\n        case \"L\":\n          _ = +g[F][1], T = +g[F][2], $.push([z, _, T]);\n          break;\n        case \"H\":\n          z = \"L\", _ = +g[F][1], $.push([z, _, T]);\n          break;\n        case \"V\":\n          z = \"L\", T = +g[F][1], $.push([z, _, T]);\n          break;\n        case \"A\":\n          z = \"L\";\n          var P = +g[F][1], R = +g[F][2];\n          +g[F][4] || (P = -P, R = -R);\n          var H = _ - P, B = T;\n          for (x = 1; x <= n / 2; x++) {\n            var W = 2 * Math.PI * x / n;\n            $.push([\n              z,\n              H + P * Math.cos(W),\n              B + R * Math.sin(W)\n            ]);\n          }\n          break;\n        case \"Z\":\n          (_ !== S || T !== M) && (_ = S, T = M, $.push([z, _, T]));\n          break;\n      }\n      for (var ee = (v || {}).domain, re = p._fullLayout._size, ae = v && v.xsizemode === \"pixel\", Q = v && v.ysizemode === \"pixel\", ue = m === !1, j = 0; j < $.length; j++) {\n        for (x = 0; x + 2 < 7; x += 2) {\n          var U = $[j][x + 1], Z = $[j][x + 2];\n          U === void 0 || Z === void 0 || (_ = U, T = Z, v && (v.xaxis && v.xaxis.p2r ? (ue && (U -= v.xaxis._offset), ae ? U = l(v.xaxis, v.xanchor) + U : U = o(v.xaxis, U)) : (ue && (U -= re.l), ee ? U = ee.x[0] + U / re.w : U = U / re.w), v.yaxis && v.yaxis.p2r ? (ue && (Z -= v.yaxis._offset), Q ? Z = l(v.yaxis, v.yanchor) - Z : Z = o(v.yaxis, Z)) : (ue && (Z -= re.t), ee ? Z = ee.y[1] - Z / re.h : Z = 1 - Z / re.h)), $[j][x + 1] = U, $[j][x + 2] = Z);\n        }\n        y[w].push(\n          $[j].slice()\n        );\n      }\n    }\n    return y;\n  };\n  function f(h, p) {\n    return Math.abs(h - p) <= 1e-6;\n  }\n  function d(h, p) {\n    var v = p[1] - h[1], m = p[2] - h[2];\n    return Math.sqrt(\n      v * v + m * m\n    );\n  }\n  e.pointsOnRectangle = function(h) {\n    var p = h.length;\n    if (p !== 5) return !1;\n    for (var v = 1; v < 3; v++) {\n      var m = h[0][v] - h[1][v], g = h[3][v] - h[2][v];\n      if (!f(m, g)) return !1;\n      var y = h[0][v] - h[3][v], w = h[1][v] - h[2][v];\n      if (!f(y, w)) return !1;\n    }\n    return !f(h[0][1], h[1][1]) && !f(h[0][1], h[3][1]) ? !1 : !!(d(h[0], h[1]) * d(h[0], h[3]));\n  }, e.pointsOnEllipse = function(h) {\n    var p = h.length;\n    if (p !== n + 1) return !1;\n    p = n;\n    for (var v = 0; v < p; v++) {\n      var m = (p * 2 - v) % p, g = (p / 2 + m) % p, y = (p / 2 + v) % p;\n      if (!f(\n        d(h[v], h[y]),\n        d(h[m], h[g])\n      )) return !1;\n    }\n    return !0;\n  }, e.handleEllipse = function(h, p, v) {\n    if (!h) return [p, v];\n    var m = e.ellipseOver({\n      x0: p[0],\n      y0: p[1],\n      x1: v[0],\n      y1: v[1]\n    }), g = (m.x1 + m.x0) / 2, y = (m.y1 + m.y0) / 2, w = (m.x1 - m.x0) / 2, k = (m.y1 - m.y0) / 2;\n    w || (w = k = k / a), k || (k = w = w / a);\n    for (var x = [], _ = 0; _ < n; _++) {\n      var T = _ * 2 * Math.PI / n;\n      x.push([\n        g + w * Math.cos(T),\n        y + k * Math.sin(T)\n      ]);\n    }\n    return x;\n  }, e.ellipseOver = function(h) {\n    var p = h.x0, v = h.y0, m = h.x1, g = h.y1, y = m - p, w = g - v;\n    p -= y, v -= w;\n    var k = (p + m) / 2, x = (v + g) / 2, _ = a;\n    return y *= _, w *= _, {\n      x0: k - y,\n      y0: x - w,\n      x1: k + y,\n      y1: x + w\n    };\n  }, e.fixDatesForPaths = function(h, p, v) {\n    var m = p.type === \"date\", g = v.type === \"date\";\n    if (!m && !g) return h;\n    for (var y = 0; y < h.length; y++)\n      for (var w = 0; w < h[y].length; w++)\n        for (var k = 0; k + 2 < h[y][w].length; k += 2)\n          m && (h[y][w][k + 1] = h[y][w][k + 1].replace(\" \", \"_\")), g && (h[y][w][k + 2] = h[y][w][k + 2].replace(\" \", \"_\"));\n    return h;\n  };\n})(_l);\nvar yD = rf, yK = yD.drawMode, bK = yD.openMode, nf = Rb, Ck = nf.i000, Lk = nf.i090, Dk = nf.i180, Ek = nf.i270, _K = nf.cos45, xK = nf.sin45, bD = Pb, ah = bD.p2r, Ho = bD.r2p, wK = _s, TK = wK.clearOutline, Ip = _l, kK = Ip.readPaths, AK = Ip.writePaths, MK = Ip.ellipseOver, SK = Ip.fixDatesForPaths;\nfunction CK(e, t) {\n  if (e.length) {\n    var r = e[0][0];\n    if (r) {\n      var n = t.gd, a = t.isActiveShape, i = t.dragmode, o = (n.layout || {}).shapes || [];\n      if (!yK(i) && a !== void 0) {\n        var l = n._fullLayout._activeShapeIndex;\n        if (l < o.length)\n          switch (n._fullLayout.shapes[l].type) {\n            case \"rect\":\n              i = \"drawrect\";\n              break;\n            case \"circle\":\n              i = \"drawcircle\";\n              break;\n            case \"line\":\n              i = \"drawline\";\n              break;\n            case \"path\":\n              var s = o[l].path || \"\";\n              s[s.length - 1] === \"Z\" ? i = \"drawclosedpath\" : i = \"drawopenpath\";\n              break;\n          }\n      }\n      var u = _D(e, t, i);\n      TK(n);\n      for (var f = t.editHelpers, d = (f || {}).modifyItem, h = [], p = 0; p < o.length; p++) {\n        var v = n._fullLayout.shapes[p];\n        if (h[p] = v._input, a !== void 0 && p === n._fullLayout._activeShapeIndex) {\n          var m = u;\n          switch (v.type) {\n            case \"line\":\n            case \"rect\":\n            case \"circle\":\n              d(\"x0\", m.x0), d(\"x1\", m.x1), d(\"y0\", m.y0), d(\"y1\", m.y1);\n              break;\n            case \"path\":\n              d(\"path\", m.path);\n              break;\n          }\n        }\n      }\n      return a === void 0 ? (h.push(u), h) : f ? f.getUpdateObj() : {};\n    }\n  }\n}\nfunction _D(e, t, r) {\n  var n = e[0][0], a = t.gd, i = n.getAttribute(\"d\"), o = a._fullLayout.newshape, l = t.plotinfo, s = t.isActiveShape, u = l.xaxis, f = l.yaxis, d = !!l.domain || !l.xaxis, h = !!l.domain || !l.yaxis, p = bK(r), v = kK(i, a, l, s), m = {\n    editable: !0,\n    visible: o.visible,\n    name: o.name,\n    showlegend: o.showlegend,\n    legend: o.legend,\n    legendwidth: o.legendwidth,\n    legendgroup: o.legendgroup,\n    legendgrouptitle: {\n      text: o.legendgrouptitle.text,\n      font: o.legendgrouptitle.font\n    },\n    legendrank: o.legendrank,\n    label: o.label,\n    xref: d ? \"paper\" : u._id,\n    yref: h ? \"paper\" : f._id,\n    layer: o.layer,\n    opacity: o.opacity,\n    line: {\n      color: o.line.color,\n      width: o.line.width,\n      dash: o.line.dash\n    }\n  };\n  p || (m.fillcolor = o.fillcolor, m.fillrule = o.fillrule);\n  var g;\n  if (v.length === 1 && (g = v[0]), g && g.length === 5 && // ensure we only have 4 corners for a rect\n  r === \"drawrect\")\n    m.type = \"rect\", m.x0 = g[0][1], m.y0 = g[0][2], m.x1 = g[2][1], m.y1 = g[2][2];\n  else if (g && r === \"drawline\")\n    m.type = \"line\", m.x0 = g[0][1], m.y0 = g[0][2], m.x1 = g[1][1], m.y1 = g[1][2];\n  else if (g && r === \"drawcircle\") {\n    m.type = \"circle\";\n    var y = g[Ck][1], w = g[Lk][1], k = g[Dk][1], x = g[Ek][1], _ = g[Ck][2], T = g[Lk][2], S = g[Dk][2], M = g[Ek][2], L = l.xaxis && (l.xaxis.type === \"date\" || l.xaxis.type === \"log\"), F = l.yaxis && (l.yaxis.type === \"date\" || l.yaxis.type === \"log\");\n    L && (y = Ho(l.xaxis, y), w = Ho(l.xaxis, w), k = Ho(l.xaxis, k), x = Ho(l.xaxis, x)), F && (_ = Ho(l.yaxis, _), T = Ho(l.yaxis, T), S = Ho(l.yaxis, S), M = Ho(l.yaxis, M));\n    var $ = (w + x) / 2, I = (_ + S) / 2, O = (x - w + k - y) / 2, G = (M - T + S - _) / 2, K = MK({\n      x0: $,\n      y0: I,\n      x1: $ + O * _K,\n      y1: I + G * xK\n    });\n    L && (K.x0 = ah(l.xaxis, K.x0), K.x1 = ah(l.xaxis, K.x1)), F && (K.y0 = ah(l.yaxis, K.y0), K.y1 = ah(l.yaxis, K.y1)), m.x0 = K.x0, m.y0 = K.y0, m.x1 = K.x1, m.y1 = K.y1;\n  } else\n    m.type = \"path\", u && f && SK(v, u, f), m.path = AK(v), g = null;\n  return m;\n}\nvar $b = {\n  newShapes: CK,\n  createShapeObj: _D\n}, LK = rf, DK = LK.selectMode, EK = _s, FK = EK.clearOutline, zb = _l, RK = zb.readPaths, PK = zb.writePaths, $K = zb.fixDatesForPaths, xD = function(t, r) {\n  if (t.length) {\n    var n = t[0][0];\n    if (n) {\n      var a = n.getAttribute(\"d\"), i = r.gd, o = i._fullLayout.newselection, l = r.plotinfo, s = l.xaxis, u = l.yaxis, f = r.isActiveSelection, d = r.dragmode, h = (i.layout || {}).selections || [];\n      if (!DK(d) && f !== void 0) {\n        var p = i._fullLayout._activeSelectionIndex;\n        if (p < h.length)\n          switch (i._fullLayout.selections[p].type) {\n            case \"rect\":\n              d = \"select\";\n              break;\n            case \"path\":\n              d = \"lasso\";\n              break;\n          }\n      }\n      var v = RK(a, i, l, f), m = {\n        xref: s._id,\n        yref: u._id,\n        opacity: o.opacity,\n        line: {\n          color: o.line.color,\n          width: o.line.width,\n          dash: o.line.dash\n        }\n      }, g;\n      v.length === 1 && (g = v[0]), g && g.length === 5 && // ensure we only have 4 corners for a rect\n      d === \"select\" ? (m.type = \"rect\", m.x0 = g[0][1], m.y0 = g[0][2], m.x1 = g[2][1], m.y1 = g[2][2]) : (m.type = \"path\", s && u && $K(v, s, u), m.path = PK(v), g = null), FK(i);\n      for (var y = r.editHelpers, w = (y || {}).modifyItem, k = [], x = 0; x < h.length; x++) {\n        var _ = i._fullLayout.selections[x];\n        if (!_) {\n          k[x] = _;\n          continue;\n        }\n        if (k[x] = _._input, f !== void 0 && x === i._fullLayout._activeSelectionIndex) {\n          var T = m;\n          switch (_.type) {\n            case \"rect\":\n              w(\"x0\", T.x0), w(\"x1\", T.x1), w(\"y0\", T.y0), w(\"y1\", T.y1);\n              break;\n            case \"path\":\n              w(\"path\", T.path);\n              break;\n          }\n        }\n      }\n      return f === void 0 ? (k.push(m), k) : y ? y.getUpdateObj() : {};\n    }\n  }\n}, xl = {}, Np = {\n  segmentRE: /[MLHVQCTSZ][^MLHVQCTSZ]*/g,\n  paramRE: /[^\\s,]+/g,\n  // which numbers in each path segment are x (or y) values\n  // drawn is which param is a drawn point, as opposed to a\n  // control point (which doesn't count toward autorange.\n  // TODO: this means curved paths could extend beyond the\n  // autorange bounds. This is a bit tricky to get right\n  // unless we revert to bounding boxes, but perhaps there's\n  // a calculation we could do...)\n  paramIsX: {\n    M: { 0: !0, drawn: 0 },\n    L: { 0: !0, drawn: 0 },\n    H: { 0: !0, drawn: 0 },\n    V: {},\n    Q: { 0: !0, 2: !0, drawn: 2 },\n    C: { 0: !0, 2: !0, 4: !0, drawn: 4 },\n    T: { 0: !0, drawn: 0 },\n    S: { 0: !0, 2: !0, drawn: 2 },\n    // A: {0: true, 5: true},\n    Z: {}\n  },\n  paramIsY: {\n    M: { 1: !0, drawn: 1 },\n    L: { 1: !0, drawn: 1 },\n    H: {},\n    V: { 0: !0, drawn: 0 },\n    Q: { 1: !0, 3: !0, drawn: 3 },\n    C: { 1: !0, 3: !0, 5: !0, drawn: 5 },\n    T: { 1: !0, drawn: 1 },\n    S: { 1: !0, 3: !0, drawn: 5 },\n    // A: {1: true, 6: true},\n    Z: {}\n  },\n  numParams: {\n    M: 2,\n    L: 2,\n    H: 1,\n    V: 1,\n    Q: 4,\n    C: 6,\n    T: 2,\n    S: 4,\n    // A: 7,\n    Z: 0\n  }\n};\n(function(e) {\n  var t = Np, r = Ue, n = Cr;\n  e.rangeToShapePosition = function(i) {\n    return i.type === \"log\" ? i.r2d : function(o) {\n      return o;\n    };\n  }, e.shapePositionToRange = function(i) {\n    return i.type === \"log\" ? i.d2r : function(o) {\n      return o;\n    };\n  }, e.decodeDate = function(i) {\n    return function(o) {\n      return o.replace && (o = o.replace(\"_\", \" \")), i(o);\n    };\n  }, e.encodeDate = function(i) {\n    return function(o) {\n      return i(o).replace(\" \", \"_\");\n    };\n  }, e.extractPathCoords = function(i, o, l) {\n    var s = [], u = i.match(t.segmentRE);\n    return u.forEach(function(f) {\n      var d = o[f.charAt(0)].drawn;\n      if (d !== void 0) {\n        var h = f.substr(1).match(t.paramRE);\n        if (!(!h || h.length < d)) {\n          var p = h[d], v = l ? p : r.cleanNumber(p);\n          s.push(v);\n        }\n      }\n    }), s;\n  }, e.getDataToPixel = function(i, o, l, s) {\n    var u = i._fullLayout._size, f;\n    if (o)\n      if (s === \"domain\")\n        f = function(h) {\n          return o._length * (l ? 1 - h : h) + o._offset;\n        };\n      else {\n        var d = e.shapePositionToRange(o);\n        f = function(h) {\n          return o._offset + o.r2p(d(h, !0));\n        }, o.type === \"date\" && (f = e.decodeDate(f));\n      }\n    else l ? f = function(h) {\n      return u.t + u.h * (1 - h);\n    } : f = function(h) {\n      return u.l + u.w * h;\n    };\n    return f;\n  }, e.getPixelToData = function(i, o, l, s) {\n    var u = i._fullLayout._size, f;\n    if (o)\n      if (s === \"domain\")\n        f = function(h) {\n          var p = (h - o._offset) / o._length;\n          return l ? 1 - p : p;\n        };\n      else {\n        var d = e.rangeToShapePosition(o);\n        f = function(h) {\n          return d(o.p2r(h - o._offset));\n        };\n      }\n    else l ? f = function(h) {\n      return 1 - (h - u.t) / u.h;\n    } : f = function(h) {\n      return (h - u.l) / u.w;\n    };\n    return f;\n  }, e.roundPositionForSharpStrokeRendering = function(i, o) {\n    var l = Math.round(o % 2) === 1, s = Math.round(i);\n    return l ? s + 0.5 : s;\n  }, e.makeShapesOptionsAndPlotinfo = function(i, o) {\n    var l = i._fullLayout.shapes[o] || {}, s = i._fullLayout._plots[l.xref + l.yref], u = !!s;\n    return u ? s._hadPlotinfo = !0 : (s = {}, l.xref && l.xref !== \"paper\" && (s.xaxis = i._fullLayout[l.xref + \"axis\"]), l.yref && l.yref !== \"paper\" && (s.yaxis = i._fullLayout[l.yref + \"axis\"])), s.xsizemode = l.xsizemode, s.ysizemode = l.ysizemode, s.xanchor = l.xanchor, s.yanchor = l.yanchor, {\n      options: l,\n      plotinfo: s\n    };\n  }, e.makeSelectionsOptionsAndPlotinfo = function(i, o) {\n    var l = i._fullLayout.selections[o] || {}, s = i._fullLayout._plots[l.xref + l.yref], u = !!s;\n    return u ? s._hadPlotinfo = !0 : (s = {}, l.xref && (s.xaxis = i._fullLayout[l.xref + \"axis\"]), l.yref && (s.yaxis = i._fullLayout[l.yref + \"axis\"])), {\n      options: l,\n      plotinfo: s\n    };\n  }, e.getPathString = function(i, o) {\n    var l = o.type, s = n.getRefType(o.xref), u = n.getRefType(o.yref), f = n.getFromId(i, o.xref), d = n.getFromId(i, o.yref), h = i._fullLayout._size, p, v, m, g, y, w, k, x;\n    if (f ? s === \"domain\" ? v = function(G) {\n      return f._offset + f._length * G;\n    } : (p = e.shapePositionToRange(f), v = function(G) {\n      return f._offset + f.r2p(p(G, !0));\n    }) : v = function(G) {\n      return h.l + h.w * G;\n    }, d ? u === \"domain\" ? g = function(G) {\n      return d._offset + d._length * (1 - G);\n    } : (m = e.shapePositionToRange(d), g = function(G) {\n      return d._offset + d.r2p(m(G, !0));\n    }) : g = function(G) {\n      return h.t + h.h * (1 - G);\n    }, l === \"path\")\n      return f && f.type === \"date\" && (v = e.decodeDate(v)), d && d.type === \"date\" && (g = e.decodeDate(g)), a(o, v, g);\n    if (o.xsizemode === \"pixel\") {\n      var _ = v(o.xanchor);\n      y = _ + o.x0, w = _ + o.x1;\n    } else\n      y = v(o.x0), w = v(o.x1);\n    if (o.ysizemode === \"pixel\") {\n      var T = g(o.yanchor);\n      k = T - o.y0, x = T - o.y1;\n    } else\n      k = g(o.y0), x = g(o.y1);\n    if (l === \"line\") return \"M\" + y + \",\" + k + \"L\" + w + \",\" + x;\n    if (l === \"rect\") return \"M\" + y + \",\" + k + \"H\" + w + \"V\" + x + \"H\" + y + \"Z\";\n    var S = (y + w) / 2, M = (k + x) / 2, L = Math.abs(S - y), F = Math.abs(M - k), $ = \"A\" + L + \",\" + F, I = S + L + \",\" + M, O = S + \",\" + (M - F);\n    return \"M\" + I + $ + \" 0 1,1 \" + O + $ + \" 0 0,1 \" + I + \"Z\";\n  };\n  function a(i, o, l) {\n    var s = i.path, u = i.xsizemode, f = i.ysizemode, d = i.xanchor, h = i.yanchor;\n    return s.replace(t.segmentRE, function(p) {\n      var v = 0, m = p.charAt(0), g = t.paramIsX[m], y = t.paramIsY[m], w = t.numParams[m], k = p.substr(1).replace(t.paramRE, function(x) {\n        return g[v] ? u === \"pixel\" ? x = o(d) + Number(x) : x = o(x) : y[v] && (f === \"pixel\" ? x = l(h) - Number(x) : x = l(x)), v++, v > w && (x = \"X\"), x;\n      });\n      return v > w && (k = k.replace(/[\\s,]*X.*/, \"\"), r.log(\"Ignoring extra params in segment \" + p)), m + k;\n    });\n  }\n})(xl);\nvar zK = Ue, Os = Cr, Fk = Rn, Rk = Sr, IK = _l.readPaths, $y = xl, NK = $y.getPathString, Pk = K1, OK = On.FROM_TL, wD = function(t, r, n, a) {\n  if (a.selectAll(\".shape-label\").remove(), !!(n.label.text || n.label.texttemplate)) {\n    var i;\n    if (n.label.texttemplate) {\n      var o = {};\n      if (n.type !== \"path\") {\n        var l = Os.getFromId(t, n.xref), s = Os.getFromId(t, n.yref);\n        for (var u in Pk) {\n          var f = Pk[u](n, l, s);\n          f !== void 0 && (o[u] = f);\n        }\n      }\n      i = zK.texttemplateStringForShapes(\n        n.label.texttemplate,\n        {},\n        t._fullLayout._d3locale,\n        o\n      );\n    } else\n      i = n.label.text;\n    var d = {\n      \"data-index\": r\n    }, h = n.label.font, p = {\n      \"data-notex\": 1\n    }, v = a.append(\"g\").attr(d).classed(\"shape-label\", !0), m = v.append(\"text\").attr(p).classed(\"shape-label-text\", !0).text(i), g, y, w, k;\n    if (n.path) {\n      var x = NK(t, n), _ = IK(x, t);\n      g = 1 / 0, w = 1 / 0, y = -1 / 0, k = -1 / 0;\n      for (var T = 0; T < _.length; T++)\n        for (var S = 0; S < _[T].length; S++)\n          for (var M = _[T][S], L = 1; L < M.length; L += 2) {\n            var F = M[L], $ = M[L + 1];\n            g = Math.min(g, F), y = Math.max(y, F), w = Math.min(w, $), k = Math.max(k, $);\n          }\n    } else {\n      var I = Os.getFromId(t, n.xref), O = Os.getRefType(n.xref), G = Os.getFromId(t, n.yref), K = Os.getRefType(n.yref), V = $y.getDataToPixel(t, I, !1, O), z = $y.getDataToPixel(t, G, !0, K);\n      g = V(n.x0), y = V(n.x1), w = z(n.y0), k = z(n.y1);\n    }\n    var P = n.label.textangle;\n    P === \"auto\" && (n.type === \"line\" ? P = HK(g, w, y, k) : P = 0), m.call(function(re) {\n      return re.call(Rk.font, h).attr({}), Fk.convertToTspans(re, t), re;\n    });\n    var R = Rk.bBox(m.node()), H = BK(g, w, y, k, n, P, R), B = H.textx, W = H.texty, ee = H.xanchor;\n    m.attr({\n      \"text-anchor\": {\n        left: \"start\",\n        center: \"middle\",\n        right: \"end\"\n      }[ee],\n      y: W,\n      x: B,\n      transform: \"rotate(\" + P + \",\" + B + \",\" + W + \")\"\n    }).call(Fk.positionText, B, W);\n  }\n};\nfunction HK(e, t, r, n) {\n  var a, i;\n  return i = Math.abs(r - e), r >= e ? a = t - n : a = n - t, -180 / Math.PI * Math.atan2(a, i);\n}\nfunction BK(e, t, r, n, a, i, o) {\n  var l = a.label.textposition, s = a.label.textangle, u = a.label.padding, f = a.type, d = Math.PI / 180 * i, h = Math.sin(d), p = Math.cos(d), v = a.label.xanchor, m = a.label.yanchor, g, y, w, k;\n  if (f === \"line\") {\n    l === \"start\" ? (g = e, y = t) : l === \"end\" ? (g = r, y = n) : (g = (e + r) / 2, y = (t + n) / 2), v === \"auto\" && (l === \"start\" ? s === \"auto\" ? r > e ? v = \"left\" : r < e ? v = \"right\" : v = \"center\" : r > e ? v = \"right\" : r < e ? v = \"left\" : v = \"center\" : l === \"end\" ? s === \"auto\" ? r > e ? v = \"right\" : r < e ? v = \"left\" : v = \"center\" : r > e ? v = \"left\" : r < e ? v = \"right\" : v = \"center\" : v = \"center\");\n    var x = { left: 1, center: 0, right: -1 }, _ = { bottom: -1, middle: 0, top: 1 };\n    if (s === \"auto\") {\n      var T = _[m];\n      w = -u * h * T, k = u * p * T;\n    } else {\n      var S = x[v], M = _[m];\n      w = u * S, k = u * M;\n    }\n    g = g + w, y = y + k;\n  } else\n    w = u + 3, l.indexOf(\"right\") !== -1 ? (g = Math.max(e, r) - w, v === \"auto\" && (v = \"right\")) : l.indexOf(\"left\") !== -1 ? (g = Math.min(e, r) + w, v === \"auto\" && (v = \"left\")) : (g = (e + r) / 2, v === \"auto\" && (v = \"center\")), l.indexOf(\"top\") !== -1 ? y = Math.min(t, n) : l.indexOf(\"bottom\") !== -1 ? y = Math.max(t, n) : y = (t + n) / 2, k = u, m === \"bottom\" ? y = y - k : m === \"top\" && (y = y + k);\n  var L = OK[m], F = a.label.font.size, $ = o.height, I = ($ * L - F) * h, O = -($ * L - F) * p;\n  return { textx: g + I, texty: y + O, xanchor: v };\n}\nvar jK = Ue, UK = jK.strTranslate, $k = Qi, TD = rf, GK = TD.drawMode, kD = TD.selectMode, AD = Nt, zk = nr, Op = Rb, VK = Op.i000, qK = Op.i090, WK = Op.i180, ZK = Op.i270, YK = _s, MD = YK.clearOutlineControllers, Ib = _l, ih = Ib.pointsOnRectangle, Lg = Ib.pointsOnEllipse, XK = Ib.writePaths, KK = $b.newShapes, JK = $b.createShapeObj, QK = xD, eJ = wD, Nb = function e(t, r, n, a) {\n  a || (a = 0);\n  var i = n.gd;\n  function o() {\n    e(t, r, n, a++), (Lg(t[0]) || n.hasText) && l({ redrawing: !0 });\n  }\n  function l(z) {\n    var P = {};\n    n.isActiveShape !== void 0 && (n.isActiveShape = !1, P = KK(r, n)), n.isActiveSelection !== void 0 && (n.isActiveSelection = !1, P = QK(r, n), i._fullLayout._reselect = !0), Object.keys(P).length && AD.call((z || {}).redrawing ? \"relayout\" : \"_guiRelayout\", i, P);\n  }\n  var s = i._fullLayout, u = s._zoomlayer, f = n.dragmode, d = GK(f), h = kD(f);\n  (d || h) && (i._fullLayout._outlining = !0), MD(i), r.attr(\"d\", XK(t));\n  var p, v, m, g, y;\n  if (!a && (n.isActiveShape || n.isActiveSelection)) {\n    y = tJ([], t);\n    var w = u.append(\"g\").attr(\"class\", \"outline-controllers\");\n    F(w), V();\n  }\n  if (d && n.hasText) {\n    var k = u.select(\".label-temp\"), x = JK(r, n, n.dragmode);\n    eJ(i, \"label-temp\", x, k);\n  }\n  function _(z) {\n    m = +z.srcElement.getAttribute(\"data-i\"), g = +z.srcElement.getAttribute(\"data-j\"), p[m][g].moveFn = T;\n  }\n  function T(z, P) {\n    if (t.length) {\n      var R = y[m][g][1], H = y[m][g][2], B = t[m], W = B.length;\n      if (ih(B)) {\n        var ee = z, re = P;\n        if (n.isActiveSelection) {\n          var ae = Ik(B, g);\n          ae[1] === B[g][1] ? re = 0 : ee = 0;\n        }\n        for (var Q = 0; Q < W; Q++)\n          if (Q !== g) {\n            var ue = B[Q];\n            ue[1] === B[g][1] && (ue[1] = R + ee), ue[2] === B[g][2] && (ue[2] = H + re);\n          }\n        if (B[g][1] = R + ee, B[g][2] = H + re, !ih(B))\n          for (var j = 0; j < W; j++)\n            for (var U = 0; U < B[j].length; U++)\n              B[j][U] = y[m][j][U];\n      } else\n        B[g][1] = R + z, B[g][2] = H + P;\n      o();\n    }\n  }\n  function S() {\n    l();\n  }\n  function M() {\n    if (t.length && t[m] && t[m].length) {\n      for (var z = [], P = 0; P < t[m].length; P++)\n        P !== g && z.push(\n          t[m][P]\n        );\n      z.length > 1 && !(z.length === 2 && z[1][0] === \"Z\") && (g === 0 && (z[0][0] = \"M\"), t[m] = z, o(), l());\n    }\n  }\n  function L(z, P) {\n    if (z === 2) {\n      m = +P.srcElement.getAttribute(\"data-i\"), g = +P.srcElement.getAttribute(\"data-j\");\n      var R = t[m];\n      !ih(R) && !Lg(R) && M();\n    }\n  }\n  function F(z) {\n    p = [];\n    for (var P = 0; P < t.length; P++) {\n      var R = t[P], H = ih(R), B = !H && Lg(R);\n      p[P] = [];\n      for (var W = R.length, ee = 0; ee < W; ee++)\n        if (R[ee][0] !== \"Z\" && !(B && ee !== VK && ee !== qK && ee !== WK && ee !== ZK)) {\n          var re = H && n.isActiveSelection, ae;\n          re && (ae = Ik(R, ee));\n          var Q = R[ee][1], ue = R[ee][2], j = z.append(re ? \"rect\" : \"circle\").attr(\"data-i\", P).attr(\"data-j\", ee).style({\n            fill: zk.background,\n            stroke: zk.defaultLine,\n            \"stroke-width\": 1,\n            \"shape-rendering\": \"crispEdges\"\n          });\n          if (re) {\n            var U = ae[1] - Q, Z = ae[2] - ue, le = Z ? 5 : Math.max(Math.min(25, Math.abs(U) - 5), 5), J = U ? 5 : Math.max(Math.min(25, Math.abs(Z) - 5), 5);\n            j.classed(Z ? \"cursor-ew-resize\" : \"cursor-ns-resize\", !0).attr(\"width\", le).attr(\"height\", J).attr(\"x\", Q - le / 2).attr(\"y\", ue - J / 2).attr(\"transform\", UK(U / 2, Z / 2));\n          } else\n            j.classed(\"cursor-grab\", !0).attr(\"r\", 5).attr(\"cx\", Q).attr(\"cy\", ue);\n          p[P][ee] = {\n            element: j.node(),\n            gd: i,\n            prepFn: _,\n            doneFn: S,\n            clickFn: L\n          }, $k.init(p[P][ee]);\n        }\n    }\n  }\n  function $(z, P) {\n    if (t.length)\n      for (var R = 0; R < t.length; R++)\n        for (var H = 0; H < t[R].length; H++)\n          for (var B = 0; B + 2 < t[R][H].length; B += 2)\n            t[R][H][B + 1] = y[R][H][B + 1] + z, t[R][H][B + 2] = y[R][H][B + 2] + P;\n  }\n  function I(z, P) {\n    $(z, P), o();\n  }\n  function O(z) {\n    m = +z.srcElement.getAttribute(\"data-i\"), m || (m = 0), v[m].moveFn = I;\n  }\n  function G() {\n    l();\n  }\n  function K(z) {\n    z === 2 && rJ(i);\n  }\n  function V() {\n    if (v = [], !!t.length) {\n      var z = 0;\n      v[z] = {\n        element: r[0][0],\n        gd: i,\n        prepFn: O,\n        doneFn: G,\n        clickFn: K\n      }, $k.init(v[z]);\n    }\n  }\n};\nfunction tJ(e, t) {\n  for (var r = 0; r < t.length; r++) {\n    var n = t[r];\n    e[r] = [];\n    for (var a = 0; a < n.length; a++) {\n      e[r][a] = [];\n      for (var i = 0; i < n[a].length; i++)\n        e[r][a][i] = n[a][i];\n    }\n  }\n  return e;\n}\nfunction Ik(e, t) {\n  var r = e[t][1], n = e[t][2], a = e.length, i, o, l;\n  return i = (t + 1) % a, o = e[i][1], l = e[i][2], o === r && l === n && (i = (t + 2) % a, o = e[i][1], l = e[i][2]), [i, o, l];\n}\nfunction rJ(e) {\n  if (kD(e._fullLayout.dragmode)) {\n    MD(e);\n    var t = e._fullLayout._activeSelectionIndex, r = (e.layout || {}).selections || [];\n    if (t < r.length) {\n      for (var n = [], a = 0; a < r.length; a++)\n        a !== t && n.push(r[a]);\n      delete e._fullLayout._activeSelectionIndex;\n      var i = e._fullLayout.selections[t];\n      e._fullLayout._deselect = {\n        xref: i.xref,\n        yref: i.yref\n      }, AD.call(\"_guiRelayout\", e, {\n        selections: n\n      });\n    }\n  }\n}\nvar nJ = lr, SD = Nt, Nk = Ue, Hs = Cr, aJ = _l.readPaths, iJ = Nb, wv = wD, CD = _s.clearOutlineControllers, Dg = nr, Ob = Sr, oJ = Mr.arrayEditor, Ok = Qi, Hk = xs, Nl = Np, na = xl, zy = na.getPathString, Hb = {\n  draw: Bb,\n  drawOne: LD,\n  eraseActiveShape: uJ,\n  drawLabel: wv\n};\nfunction Bb(e) {\n  var t = e._fullLayout;\n  t._shapeUpperLayer.selectAll(\"path\").remove(), t._shapeLowerLayer.selectAll(\"path\").remove(), t._shapeUpperLayer.selectAll(\"text\").remove(), t._shapeLowerLayer.selectAll(\"text\").remove();\n  for (var r in t._plots) {\n    var n = t._plots[r].shapelayer;\n    n && (n.selectAll(\"path\").remove(), n.selectAll(\"text\").remove());\n  }\n  for (var a = 0; a < t.shapes.length; a++)\n    t.shapes[a].visible === !0 && LD(e, a);\n}\nfunction oh(e) {\n  return !!e._fullLayout._outlining;\n}\nfunction Hp(e) {\n  return !e._context.edits.shapePosition;\n}\nfunction LD(e, t) {\n  e._fullLayout._paperdiv.selectAll('.shapelayer [data-index=\"' + t + '\"]').remove();\n  var r = na.makeShapesOptionsAndPlotinfo(e, t), n = r.options, a = r.plotinfo;\n  if (!n._input || n.visible !== !0) return;\n  if (n.layer !== \"below\")\n    o(e._fullLayout._shapeUpperLayer);\n  else if (n.xref === \"paper\" || n.yref === \"paper\")\n    o(e._fullLayout._shapeLowerLayer);\n  else if (a._hadPlotinfo) {\n    var i = a.mainplotinfo || a;\n    o(i.shapelayer);\n  } else\n    o(e._fullLayout._shapeLowerLayer);\n  function o(l) {\n    var s = zy(e, n), u = {\n      \"data-index\": t,\n      \"fill-rule\": n.fillrule,\n      d: s\n    }, f = n.opacity, d = n.fillcolor, h = n.line.width ? n.line.color : \"rgba(0,0,0,0)\", p = n.line.width, v = n.line.dash;\n    !p && n.editable === !0 && (p = 5, v = \"solid\");\n    var m = s[s.length - 1] !== \"Z\", g = Hp(e) && n.editable && e._fullLayout._activeShapeIndex === t;\n    g && (d = m ? \"rgba(0,0,0,0)\" : e._fullLayout.activeshape.fillcolor, f = e._fullLayout.activeshape.opacity);\n    var y = l.append(\"g\").classed(\"shape-group\", !0).attr({ \"data-index\": t }), w = y.append(\"path\").attr(u).style(\"opacity\", f).call(Dg.stroke, h).call(Dg.fill, d).call(Ob.dashLine, v, p);\n    DD(y, e, n), wv(e, t, n, y);\n    var k;\n    if ((g || e._context.edits.shapePosition) && (k = oJ(e.layout, \"shapes\", n)), g) {\n      w.style({\n        cursor: \"move\"\n      });\n      var x = {\n        element: w.node(),\n        plotinfo: a,\n        gd: e,\n        editHelpers: k,\n        hasText: n.label.text || n.label.texttemplate,\n        isActiveShape: !0\n        // i.e. to enable controllers\n      }, _ = aJ(s, e);\n      iJ(_, w, x);\n    } else\n      e._context.edits.shapePosition ? lJ(e, w, n, t, l, k) : n.editable === !0 && w.style(\n        \"pointer-events\",\n        m || Dg.opacity(d) * f <= 0.5 ? \"stroke\" : \"all\"\n      );\n    w.node().addEventListener(\"click\", function() {\n      return sJ(e, w);\n    });\n  }\n}\nfunction DD(e, t, r) {\n  var n = (r.xref + r.yref).replace(/paper/g, \"\").replace(/[xyz][1-9]* *domain/g, \"\");\n  Ob.setClipUrl(\n    e,\n    n ? \"clip\" + t._fullLayout._uid + n : null,\n    t\n  );\n}\nfunction lJ(e, t, r, n, a, i) {\n  var o = 10, l = 10, s = r.xsizemode === \"pixel\", u = r.ysizemode === \"pixel\", f = r.type === \"line\", d = r.type === \"path\", h = i.modifyItem, p, v, m, g, y, w, k, x, _, T, S, M, L, F, $, I = nJ.select(t.node().parentNode), O = Hs.getFromId(e, r.xref), G = Hs.getRefType(r.xref), K = Hs.getFromId(e, r.yref), V = Hs.getRefType(r.yref), z = na.getDataToPixel(e, O, !1, G), P = na.getDataToPixel(e, K, !0, V), R = na.getPixelToData(e, O, !1, G), H = na.getPixelToData(e, K, !0, V), B = re(), W = {\n    element: B.node(),\n    gd: e,\n    prepFn: ue,\n    doneFn: j,\n    clickFn: U\n  }, ee;\n  Ok.init(W), B.node().onmousemove = Q;\n  function re() {\n    return f ? ae() : t;\n  }\n  function ae() {\n    var ve = 10, me = Math.max(r.line.width, ve), Le = a.append(\"g\").attr(\"data-index\", n).attr(\"drag-helper\", !0);\n    Le.append(\"path\").attr(\"d\", t.attr(\"d\")).style({\n      cursor: \"move\",\n      \"stroke-width\": me,\n      \"stroke-opacity\": \"0\"\n      // ensure not visible\n    });\n    var ze = {\n      \"fill-opacity\": \"0\"\n      // ensure not visible\n    }, Fe = Math.max(me / 2, ve);\n    return Le.append(\"circle\").attr({\n      \"data-line-point\": \"start-point\",\n      cx: s ? z(r.xanchor) + r.x0 : z(r.x0),\n      cy: u ? P(r.yanchor) - r.y0 : P(r.y0),\n      r: Fe\n    }).style(ze).classed(\"cursor-grab\", !0), Le.append(\"circle\").attr({\n      \"data-line-point\": \"end-point\",\n      cx: s ? z(r.xanchor) + r.x1 : z(r.x1),\n      cy: u ? P(r.yanchor) - r.y1 : P(r.y1),\n      r: Fe\n    }).style(ze).classed(\"cursor-grab\", !0), Le;\n  }\n  function Q(ve) {\n    if (oh(e)) {\n      ee = null;\n      return;\n    }\n    if (f)\n      ve.target.tagName === \"path\" ? ee = \"move\" : ee = ve.target.attributes[\"data-line-point\"].value === \"start-point\" ? \"resize-over-start-point\" : \"resize-over-end-point\";\n    else {\n      var me = W.element.getBoundingClientRect(), Le = me.right - me.left, ze = me.bottom - me.top, Fe = ve.clientX - me.left, Oe = ve.clientY - me.top, Re = !d && Le > o && ze > l && !ve.shiftKey ? Ok.getCursor(Fe / Le, 1 - Oe / ze) : \"move\";\n      Hk(t, Re), ee = Re.split(\"-\")[0];\n    }\n  }\n  function ue(ve) {\n    oh(e) || (s && (y = z(r.xanchor)), u && (w = P(r.yanchor)), r.type === \"path\" ? $ = r.path : (p = s ? r.x0 : z(r.x0), v = u ? r.y0 : P(r.y0), m = s ? r.x1 : z(r.x1), g = u ? r.y1 : P(r.y1)), p < m ? (_ = p, L = \"x0\", T = m, F = \"x1\") : (_ = m, L = \"x1\", T = p, F = \"x0\"), !u && v < g || u && v > g ? (k = v, S = \"y0\", x = g, M = \"y1\") : (k = g, S = \"y1\", x = v, M = \"y0\"), Q(ve), J(a, r), ge(t, r, e), W.moveFn = ee === \"move\" ? Z : le, W.altKey = ve.altKey);\n  }\n  function j() {\n    oh(e) || (Hk(t), pe(a), DD(t, e, r), SD.call(\"_guiRelayout\", e, i.getUpdateObj()));\n  }\n  function U() {\n    oh(e) || pe(a);\n  }\n  function Z(ve, me) {\n    if (r.type === \"path\") {\n      var Le = function(Oe) {\n        return Oe;\n      }, ze = Le, Fe = Le;\n      s ? h(\"xanchor\", r.xanchor = R(y + ve)) : (ze = function(Re) {\n        return R(z(Re) + ve);\n      }, O && O.type === \"date\" && (ze = na.encodeDate(ze))), u ? h(\"yanchor\", r.yanchor = H(w + me)) : (Fe = function(Re) {\n        return H(P(Re) + me);\n      }, K && K.type === \"date\" && (Fe = na.encodeDate(Fe))), h(\"path\", r.path = Bk($, ze, Fe));\n    } else\n      s ? h(\"xanchor\", r.xanchor = R(y + ve)) : (h(\"x0\", r.x0 = R(p + ve)), h(\"x1\", r.x1 = R(m + ve))), u ? h(\"yanchor\", r.yanchor = H(w + me)) : (h(\"y0\", r.y0 = H(v + me)), h(\"y1\", r.y1 = H(g + me)));\n    t.attr(\"d\", zy(e, r)), J(a, r), wv(e, n, r, I);\n  }\n  function le(ve, me) {\n    if (d) {\n      var Le = function(Ie) {\n        return Ie;\n      }, ze = Le, Fe = Le;\n      s ? h(\"xanchor\", r.xanchor = R(y + ve)) : (ze = function(Ne) {\n        return R(z(Ne) + ve);\n      }, O && O.type === \"date\" && (ze = na.encodeDate(ze))), u ? h(\"yanchor\", r.yanchor = H(w + me)) : (Fe = function(Ne) {\n        return H(P(Ne) + me);\n      }, K && K.type === \"date\" && (Fe = na.encodeDate(Fe))), h(\"path\", r.path = Bk($, ze, Fe));\n    } else if (f) {\n      if (ee === \"resize-over-start-point\") {\n        var Oe = p + ve, Re = u ? v - me : v + me;\n        h(\"x0\", r.x0 = s ? Oe : R(Oe)), h(\"y0\", r.y0 = u ? Re : H(Re));\n      } else if (ee === \"resize-over-end-point\") {\n        var We = m + ve, Me = u ? g - me : g + me;\n        h(\"x1\", r.x1 = s ? We : R(We)), h(\"y1\", r.y1 = u ? Me : H(Me));\n      }\n    } else {\n      var Ve = function(Ie) {\n        return ee.indexOf(Ie) !== -1;\n      }, qe = Ve(\"n\"), Qe = Ve(\"s\"), ot = Ve(\"w\"), ht = Ve(\"e\"), vt = qe ? k + me : k, nt = Qe ? x + me : x, ft = ot ? _ + ve : _, Pe = ht ? T + ve : T;\n      u && (qe && (vt = k - me), Qe && (nt = x - me)), (!u && nt - vt > l || u && vt - nt > l) && (h(S, r[S] = u ? vt : H(vt)), h(M, r[M] = u ? nt : H(nt))), Pe - ft > o && (h(L, r[L] = s ? ft : R(ft)), h(F, r[F] = s ? Pe : R(Pe)));\n    }\n    t.attr(\"d\", zy(e, r)), J(a, r), wv(e, n, r, I);\n  }\n  function J(ve, me) {\n    (s || u) && Le();\n    function Le() {\n      var ze = me.type !== \"path\", Fe = ve.selectAll(\".visual-cue\").data([0]), Oe = 1;\n      Fe.enter().append(\"path\").attr({\n        fill: \"#fff\",\n        \"fill-rule\": \"evenodd\",\n        stroke: \"#000\",\n        \"stroke-width\": Oe\n      }).classed(\"visual-cue\", !0);\n      var Re = z(\n        s ? me.xanchor : Nk.midRange(\n          ze ? [me.x0, me.x1] : na.extractPathCoords(me.path, Nl.paramIsX)\n        )\n      ), We = P(\n        u ? me.yanchor : Nk.midRange(\n          ze ? [me.y0, me.y1] : na.extractPathCoords(me.path, Nl.paramIsY)\n        )\n      );\n      if (Re = na.roundPositionForSharpStrokeRendering(Re, Oe), We = na.roundPositionForSharpStrokeRendering(We, Oe), s && u) {\n        var Me = \"M\" + (Re - 1 - Oe) + \",\" + (We - 1 - Oe) + \"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z\";\n        Fe.attr(\"d\", Me);\n      } else if (s) {\n        var Ve = \"M\" + (Re - 1 - Oe) + \",\" + (We - 9 - Oe) + \"v18 h2 v-18 Z\";\n        Fe.attr(\"d\", Ve);\n      } else {\n        var qe = \"M\" + (Re - 9 - Oe) + \",\" + (We - 1 - Oe) + \"h18 v2 h-18 Z\";\n        Fe.attr(\"d\", qe);\n      }\n    }\n  }\n  function pe(ve) {\n    ve.selectAll(\".visual-cue\").remove();\n  }\n  function ge(ve, me, Le) {\n    var ze = me.xref, Fe = me.yref, Oe = Hs.getFromId(Le, ze), Re = Hs.getFromId(Le, Fe), We = \"\";\n    ze !== \"paper\" && !Oe.autorange && (We += ze), Fe !== \"paper\" && !Re.autorange && (We += Fe), Ob.setClipUrl(\n      ve,\n      We ? \"clip\" + Le._fullLayout._uid + We : null,\n      Le\n    );\n  }\n}\nfunction Bk(e, t, r) {\n  return e.replace(Nl.segmentRE, function(n) {\n    var a = 0, i = n.charAt(0), o = Nl.paramIsX[i], l = Nl.paramIsY[i], s = Nl.numParams[i], u = n.substr(1).replace(Nl.paramRE, function(f) {\n      return a >= s || (o[a] ? f = t(f) : l[a] && (f = r(f)), a++), f;\n    });\n    return i + u;\n  });\n}\nfunction sJ(e, t) {\n  if (Hp(e)) {\n    var r = t.node(), n = +r.getAttribute(\"data-index\");\n    if (n >= 0) {\n      if (n === e._fullLayout._activeShapeIndex) {\n        jk(e);\n        return;\n      }\n      e._fullLayout._activeShapeIndex = n, e._fullLayout._deactivateShape = jk, Bb(e);\n    }\n  }\n}\nfunction jk(e) {\n  if (Hp(e)) {\n    var t = e._fullLayout._activeShapeIndex;\n    t >= 0 && (CD(e), delete e._fullLayout._activeShapeIndex, Bb(e));\n  }\n}\nfunction uJ(e) {\n  if (Hp(e)) {\n    CD(e);\n    var t = e._fullLayout._activeShapeIndex, r = (e.layout || {}).shapes || [];\n    if (t < r.length) {\n      for (var n = [], a = 0; a < r.length; a++)\n        a !== t && n.push(r[a]);\n      return delete e._fullLayout._activeShapeIndex, SD.call(\"_guiRelayout\", e, {\n        shapes: n\n      });\n    }\n  }\n}\nvar Xa = Nt, ED = Tn, FD = gn, vr = Fb, fJ = Hb.eraseActiveShape, iu = Ue, or = iu._, pr = mD.exports = {};\npr.toImage = {\n  name: \"toImage\",\n  title: function(e) {\n    var t = e._context.toImageButtonOptions || {}, r = t.format || \"png\";\n    return r === \"png\" ? or(e, \"Download plot as a png\") : (\n      // legacy text\n      or(e, \"Download plot\")\n    );\n  },\n  icon: vr.camera,\n  click: function(e) {\n    var t = e._context.toImageButtonOptions, r = { format: t.format || \"png\" };\n    iu.notifier(or(e, \"Taking snapshot - this may take a few seconds\"), \"long\"), r.format !== \"svg\" && iu.isIE() && (iu.notifier(or(e, \"IE only supports svg.  Changing format to svg.\"), \"long\"), r.format = \"svg\"), [\"filename\", \"width\", \"height\", \"scale\"].forEach(function(n) {\n      n in t && (r[n] = t[n]);\n    }), Xa.call(\"downloadImage\", e, r).then(function(n) {\n      iu.notifier(or(e, \"Snapshot succeeded\") + \" - \" + n, \"long\");\n    }).catch(function() {\n      iu.notifier(or(e, \"Sorry, there was a problem downloading your snapshot!\"), \"long\");\n    });\n  }\n};\npr.sendDataToCloud = {\n  name: \"sendDataToCloud\",\n  title: function(e) {\n    return or(e, \"Edit in Chart Studio\");\n  },\n  icon: vr.disk,\n  click: function(e) {\n    ED.sendDataToCloud(e);\n  }\n};\npr.editInChartStudio = {\n  name: \"editInChartStudio\",\n  title: function(e) {\n    return or(e, \"Edit in Chart Studio\");\n  },\n  icon: vr.pencil,\n  click: function(e) {\n    ED.sendDataToCloud(e);\n  }\n};\npr.zoom2d = {\n  name: \"zoom2d\",\n  _cat: \"zoom\",\n  title: function(e) {\n    return or(e, \"Zoom\");\n  },\n  attr: \"dragmode\",\n  val: \"zoom\",\n  icon: vr.zoombox,\n  click: Bn\n};\npr.pan2d = {\n  name: \"pan2d\",\n  _cat: \"pan\",\n  title: function(e) {\n    return or(e, \"Pan\");\n  },\n  attr: \"dragmode\",\n  val: \"pan\",\n  icon: vr.pan,\n  click: Bn\n};\npr.select2d = {\n  name: \"select2d\",\n  _cat: \"select\",\n  title: function(e) {\n    return or(e, \"Box Select\");\n  },\n  attr: \"dragmode\",\n  val: \"select\",\n  icon: vr.selectbox,\n  click: Bn\n};\npr.lasso2d = {\n  name: \"lasso2d\",\n  _cat: \"lasso\",\n  title: function(e) {\n    return or(e, \"Lasso Select\");\n  },\n  attr: \"dragmode\",\n  val: \"lasso\",\n  icon: vr.lasso,\n  click: Bn\n};\npr.drawclosedpath = {\n  name: \"drawclosedpath\",\n  title: function(e) {\n    return or(e, \"Draw closed freeform\");\n  },\n  attr: \"dragmode\",\n  val: \"drawclosedpath\",\n  icon: vr.drawclosedpath,\n  click: Bn\n};\npr.drawopenpath = {\n  name: \"drawopenpath\",\n  title: function(e) {\n    return or(e, \"Draw open freeform\");\n  },\n  attr: \"dragmode\",\n  val: \"drawopenpath\",\n  icon: vr.drawopenpath,\n  click: Bn\n};\npr.drawline = {\n  name: \"drawline\",\n  title: function(e) {\n    return or(e, \"Draw line\");\n  },\n  attr: \"dragmode\",\n  val: \"drawline\",\n  icon: vr.drawline,\n  click: Bn\n};\npr.drawrect = {\n  name: \"drawrect\",\n  title: function(e) {\n    return or(e, \"Draw rectangle\");\n  },\n  attr: \"dragmode\",\n  val: \"drawrect\",\n  icon: vr.drawrect,\n  click: Bn\n};\npr.drawcircle = {\n  name: \"drawcircle\",\n  title: function(e) {\n    return or(e, \"Draw circle\");\n  },\n  attr: \"dragmode\",\n  val: \"drawcircle\",\n  icon: vr.drawcircle,\n  click: Bn\n};\npr.eraseshape = {\n  name: \"eraseshape\",\n  title: function(e) {\n    return or(e, \"Erase active shape\");\n  },\n  icon: vr.eraseshape,\n  click: fJ\n};\npr.zoomIn2d = {\n  name: \"zoomIn2d\",\n  _cat: \"zoomin\",\n  title: function(e) {\n    return or(e, \"Zoom in\");\n  },\n  attr: \"zoom\",\n  val: \"in\",\n  icon: vr.zoom_plus,\n  click: Bn\n};\npr.zoomOut2d = {\n  name: \"zoomOut2d\",\n  _cat: \"zoomout\",\n  title: function(e) {\n    return or(e, \"Zoom out\");\n  },\n  attr: \"zoom\",\n  val: \"out\",\n  icon: vr.zoom_minus,\n  click: Bn\n};\npr.autoScale2d = {\n  name: \"autoScale2d\",\n  _cat: \"autoscale\",\n  title: function(e) {\n    return or(e, \"Autoscale\");\n  },\n  attr: \"zoom\",\n  val: \"auto\",\n  icon: vr.autoscale,\n  click: Bn\n};\npr.resetScale2d = {\n  name: \"resetScale2d\",\n  _cat: \"resetscale\",\n  title: function(e) {\n    return or(e, \"Reset axes\");\n  },\n  attr: \"zoom\",\n  val: \"reset\",\n  icon: vr.home,\n  click: Bn\n};\npr.hoverClosestCartesian = {\n  name: \"hoverClosestCartesian\",\n  _cat: \"hoverclosest\",\n  title: function(e) {\n    return or(e, \"Show closest data on hover\");\n  },\n  attr: \"hovermode\",\n  val: \"closest\",\n  icon: vr.tooltip_basic,\n  gravity: \"ne\",\n  click: Bn\n};\npr.hoverCompareCartesian = {\n  name: \"hoverCompareCartesian\",\n  _cat: \"hoverCompare\",\n  title: function(e) {\n    return or(e, \"Compare data on hover\");\n  },\n  attr: \"hovermode\",\n  val: function(e) {\n    return e._fullLayout._isHoriz ? \"y\" : \"x\";\n  },\n  icon: vr.tooltip_compare,\n  gravity: \"ne\",\n  click: Bn\n};\nfunction Bn(e, t) {\n  var r = t.currentTarget, n = r.getAttribute(\"data-attr\"), a = r.getAttribute(\"data-val\") || !0, i = e._fullLayout, o = {}, l = FD.list(e, null, !0), s = i._cartesianSpikesEnabled, u, f;\n  if (n === \"zoom\") {\n    var d = a === \"in\" ? 0.5 : 2, h = (1 + d) / 2, p = (1 - d) / 2, v;\n    for (f = 0; f < l.length; f++)\n      if (u = l[f], !u.fixedrange)\n        if (v = u._name, a === \"auto\")\n          o[v + \".autorange\"] = !0;\n        else if (a === \"reset\")\n          u._rangeInitial0 === void 0 && u._rangeInitial1 === void 0 ? o[v + \".autorange\"] = !0 : u._rangeInitial0 === void 0 ? (o[v + \".autorange\"] = u._autorangeInitial, o[v + \".range\"] = [null, u._rangeInitial1]) : u._rangeInitial1 === void 0 ? (o[v + \".range\"] = [u._rangeInitial0, null], o[v + \".autorange\"] = u._autorangeInitial) : o[v + \".range\"] = [u._rangeInitial0, u._rangeInitial1], u._showSpikeInitial !== void 0 && (o[v + \".showspikes\"] = u._showSpikeInitial, s === \"on\" && !u._showSpikeInitial && (s = \"off\"));\n        else {\n          var m = [\n            u.r2l(u.range[0]),\n            u.r2l(u.range[1])\n          ], g = [\n            h * m[0] + p * m[1],\n            h * m[1] + p * m[0]\n          ];\n          o[v + \".range[0]\"] = u.l2r(g[0]), o[v + \".range[1]\"] = u.l2r(g[1]);\n        }\n  } else\n    n === \"hovermode\" && (a === \"x\" || a === \"y\") && (a = i._isHoriz ? \"y\" : \"x\", r.setAttribute(\"data-val\", a)), o[n] = a;\n  i._cartesianSpikesEnabled = s, Xa.call(\"_guiRelayout\", e, o);\n}\npr.zoom3d = {\n  name: \"zoom3d\",\n  _cat: \"zoom\",\n  title: function(e) {\n    return or(e, \"Zoom\");\n  },\n  attr: \"scene.dragmode\",\n  val: \"zoom\",\n  icon: vr.zoombox,\n  click: Bp\n};\npr.pan3d = {\n  name: \"pan3d\",\n  _cat: \"pan\",\n  title: function(e) {\n    return or(e, \"Pan\");\n  },\n  attr: \"scene.dragmode\",\n  val: \"pan\",\n  icon: vr.pan,\n  click: Bp\n};\npr.orbitRotation = {\n  name: \"orbitRotation\",\n  title: function(e) {\n    return or(e, \"Orbital rotation\");\n  },\n  attr: \"scene.dragmode\",\n  val: \"orbit\",\n  icon: vr[\"3d_rotate\"],\n  click: Bp\n};\npr.tableRotation = {\n  name: \"tableRotation\",\n  title: function(e) {\n    return or(e, \"Turntable rotation\");\n  },\n  attr: \"scene.dragmode\",\n  val: \"turntable\",\n  icon: vr[\"z-axis\"],\n  click: Bp\n};\nfunction Bp(e, t) {\n  for (var r = t.currentTarget, n = r.getAttribute(\"data-attr\"), a = r.getAttribute(\"data-val\") || !0, i = e._fullLayout._subplots.gl3d || [], o = {}, l = n.split(\".\"), s = 0; s < i.length; s++)\n    o[i[s] + \".\" + l[1]] = a;\n  var u = a === \"pan\" ? a : \"zoom\";\n  o.dragmode = u, Xa.call(\"_guiRelayout\", e, o);\n}\npr.resetCameraDefault3d = {\n  name: \"resetCameraDefault3d\",\n  _cat: \"resetCameraDefault\",\n  title: function(e) {\n    return or(e, \"Reset camera to default\");\n  },\n  attr: \"resetDefault\",\n  icon: vr.home,\n  click: jb\n};\npr.resetCameraLastSave3d = {\n  name: \"resetCameraLastSave3d\",\n  _cat: \"resetCameraLastSave\",\n  title: function(e) {\n    return or(e, \"Reset camera to last save\");\n  },\n  attr: \"resetLastSave\",\n  icon: vr.movie,\n  click: jb\n};\nfunction jb(e, t) {\n  for (var r = t.currentTarget, n = r.getAttribute(\"data-attr\"), a = n === \"resetLastSave\", i = n === \"resetDefault\", o = e._fullLayout, l = o._subplots.gl3d || [], s = {}, u = 0; u < l.length; u++) {\n    var f = l[u], d = f + \".camera\", h = f + \".aspectratio\", p = f + \".aspectmode\", v = o[f]._scene, m;\n    a ? (s[d + \".up\"] = v.viewInitial.up, s[d + \".eye\"] = v.viewInitial.eye, s[d + \".center\"] = v.viewInitial.center, m = !0) : i && (s[d + \".up\"] = null, s[d + \".eye\"] = null, s[d + \".center\"] = null, m = !0), m && (s[h + \".x\"] = v.viewInitial.aspectratio.x, s[h + \".y\"] = v.viewInitial.aspectratio.y, s[h + \".z\"] = v.viewInitial.aspectratio.z, s[p] = v.viewInitial.aspectmode);\n  }\n  Xa.call(\"_guiRelayout\", e, s);\n}\npr.hoverClosest3d = {\n  name: \"hoverClosest3d\",\n  _cat: \"hoverclosest\",\n  title: function(e) {\n    return or(e, \"Toggle show closest data on hover\");\n  },\n  attr: \"hovermode\",\n  val: null,\n  toggle: !0,\n  icon: vr.tooltip_basic,\n  gravity: \"ne\",\n  click: cJ\n};\nfunction RD(e, t) {\n  var r = t.currentTarget, n = r._previousVal, a = e._fullLayout, i = a._subplots.gl3d || [], o = [\"xaxis\", \"yaxis\", \"zaxis\"], l = {}, s = {};\n  if (n)\n    s = n, r._previousVal = null;\n  else {\n    for (var u = 0; u < i.length; u++) {\n      var f = i[u], d = a[f], h = f + \".hovermode\";\n      l[h] = d.hovermode, s[h] = !1;\n      for (var p = 0; p < 3; p++) {\n        var v = o[p], m = f + \".\" + v + \".showspikes\";\n        s[m] = !1, l[m] = d[v].showspikes;\n      }\n    }\n    r._previousVal = l;\n  }\n  return s;\n}\nfunction cJ(e, t) {\n  var r = RD(e, t);\n  Xa.call(\"_guiRelayout\", e, r);\n}\npr.zoomInGeo = {\n  name: \"zoomInGeo\",\n  _cat: \"zoomin\",\n  title: function(e) {\n    return or(e, \"Zoom in\");\n  },\n  attr: \"zoom\",\n  val: \"in\",\n  icon: vr.zoom_plus,\n  click: Ub\n};\npr.zoomOutGeo = {\n  name: \"zoomOutGeo\",\n  _cat: \"zoomout\",\n  title: function(e) {\n    return or(e, \"Zoom out\");\n  },\n  attr: \"zoom\",\n  val: \"out\",\n  icon: vr.zoom_minus,\n  click: Ub\n};\npr.resetGeo = {\n  name: \"resetGeo\",\n  _cat: \"reset\",\n  title: function(e) {\n    return or(e, \"Reset\");\n  },\n  attr: \"reset\",\n  val: null,\n  icon: vr.autoscale,\n  click: Ub\n};\npr.hoverClosestGeo = {\n  name: \"hoverClosestGeo\",\n  _cat: \"hoverclosest\",\n  title: function(e) {\n    return or(e, \"Toggle show closest data on hover\");\n  },\n  attr: \"hovermode\",\n  val: null,\n  toggle: !0,\n  icon: vr.tooltip_basic,\n  gravity: \"ne\",\n  click: Gb\n};\nfunction Ub(e, t) {\n  for (var r = t.currentTarget, n = r.getAttribute(\"data-attr\"), a = r.getAttribute(\"data-val\") || !0, i = e._fullLayout, o = i._subplots.geo || [], l = 0; l < o.length; l++) {\n    var s = o[l], u = i[s];\n    if (n === \"zoom\") {\n      var f = u.projection.scale, d = a === \"in\" ? 2 * f : 0.5 * f;\n      Xa.call(\"_guiRelayout\", e, s + \".projection.scale\", d);\n    }\n  }\n  n === \"reset\" && Tv(e, \"geo\");\n}\npr.hoverClosestGl2d = {\n  name: \"hoverClosestGl2d\",\n  _cat: \"hoverclosest\",\n  title: function(e) {\n    return or(e, \"Toggle show closest data on hover\");\n  },\n  attr: \"hovermode\",\n  val: null,\n  toggle: !0,\n  icon: vr.tooltip_basic,\n  gravity: \"ne\",\n  click: Gb\n};\npr.hoverClosestPie = {\n  name: \"hoverClosestPie\",\n  _cat: \"hoverclosest\",\n  title: function(e) {\n    return or(e, \"Toggle show closest data on hover\");\n  },\n  attr: \"hovermode\",\n  val: \"closest\",\n  icon: vr.tooltip_basic,\n  gravity: \"ne\",\n  click: Gb\n};\nfunction PD(e) {\n  var t = e._fullLayout;\n  return t.hovermode ? !1 : t._has(\"cartesian\") ? t._isHoriz ? \"y\" : \"x\" : \"closest\";\n}\nfunction Gb(e) {\n  var t = PD(e);\n  Xa.call(\"_guiRelayout\", e, \"hovermode\", t);\n}\npr.resetViewSankey = {\n  name: \"resetSankeyGroup\",\n  title: function(e) {\n    return or(e, \"Reset view\");\n  },\n  icon: vr.home,\n  click: function(e) {\n    for (var t = {\n      \"node.groups\": [],\n      \"node.x\": [],\n      \"node.y\": []\n    }, r = 0; r < e._fullData.length; r++) {\n      var n = e._fullData[r]._viewInitial;\n      t[\"node.groups\"].push(n.node.groups.slice()), t[\"node.x\"].push(n.node.x.slice()), t[\"node.y\"].push(n.node.y.slice());\n    }\n    Xa.call(\"restyle\", e, t);\n  }\n};\npr.toggleHover = {\n  name: \"toggleHover\",\n  title: function(e) {\n    return or(e, \"Toggle show closest data on hover\");\n  },\n  attr: \"hovermode\",\n  val: null,\n  toggle: !0,\n  icon: vr.tooltip_basic,\n  gravity: \"ne\",\n  click: function(e, t) {\n    var r = RD(e, t);\n    r.hovermode = PD(e), Xa.call(\"_guiRelayout\", e, r);\n  }\n};\npr.resetViews = {\n  name: \"resetViews\",\n  title: function(e) {\n    return or(e, \"Reset views\");\n  },\n  icon: vr.home,\n  click: function(e, t) {\n    var r = t.currentTarget;\n    r.setAttribute(\"data-attr\", \"zoom\"), r.setAttribute(\"data-val\", \"reset\"), Bn(e, t), r.setAttribute(\"data-attr\", \"resetLastSave\"), jb(e, t), Tv(e, \"geo\"), Tv(e, \"mapbox\");\n  }\n};\npr.toggleSpikelines = {\n  name: \"toggleSpikelines\",\n  title: function(e) {\n    return or(e, \"Toggle Spike Lines\");\n  },\n  icon: vr.spikeline,\n  attr: \"_cartesianSpikesEnabled\",\n  val: \"on\",\n  click: function(e) {\n    var t = e._fullLayout, r = t._cartesianSpikesEnabled;\n    t._cartesianSpikesEnabled = r === \"on\" ? \"off\" : \"on\", Xa.call(\"_guiRelayout\", e, dJ(e));\n  }\n};\nfunction dJ(e) {\n  for (var t = e._fullLayout, r = t._cartesianSpikesEnabled === \"on\", n = FD.list(e, null, !0), a = {}, i = 0; i < n.length; i++) {\n    var o = n[i];\n    a[o._name + \".showspikes\"] = r ? !0 : o._showSpikeInitial;\n  }\n  return a;\n}\npr.resetViewMapbox = {\n  name: \"resetViewMapbox\",\n  _cat: \"resetView\",\n  title: function(e) {\n    return or(e, \"Reset view\");\n  },\n  attr: \"reset\",\n  icon: vr.home,\n  click: function(e) {\n    Tv(e, \"mapbox\");\n  }\n};\npr.zoomInMapbox = {\n  name: \"zoomInMapbox\",\n  _cat: \"zoomin\",\n  title: function(e) {\n    return or(e, \"Zoom in\");\n  },\n  attr: \"zoom\",\n  val: \"in\",\n  icon: vr.zoom_plus,\n  click: $D\n};\npr.zoomOutMapbox = {\n  name: \"zoomOutMapbox\",\n  _cat: \"zoomout\",\n  title: function(e) {\n    return or(e, \"Zoom out\");\n  },\n  attr: \"zoom\",\n  val: \"out\",\n  icon: vr.zoom_minus,\n  click: $D\n};\nfunction $D(e, t) {\n  for (var r = t.currentTarget, n = r.getAttribute(\"data-val\"), a = e._fullLayout, i = a._subplots.mapbox || [], o = 1.05, l = {}, s = 0; s < i.length; s++) {\n    var u = i[s], f = a[u].zoom, d = n === \"in\" ? o * f : f / o;\n    l[u + \".zoom\"] = d;\n  }\n  Xa.call(\"_guiRelayout\", e, l);\n}\nfunction Tv(e, t) {\n  for (var r = e._fullLayout, n = r._subplots[t] || [], a = {}, i = 0; i < n.length; i++)\n    for (var o = n[i], l = r[o]._subplot, s = l.viewInitial, u = Object.keys(s), f = 0; f < u.length; f++) {\n      var d = u[f];\n      a[o + \".\" + d] = s[d];\n    }\n  Xa.call(\"_guiRelayout\", e, a);\n}\nvar zD = mD.exports, ID = zD, hJ = Object.keys(ID), ND = [\n  \"drawline\",\n  \"drawopenpath\",\n  \"drawclosedpath\",\n  \"drawcircle\",\n  \"drawrect\",\n  \"eraseshape\"\n], OD = [\n  \"v1hovermode\",\n  \"hoverclosest\",\n  \"hovercompare\",\n  \"togglehover\",\n  \"togglespikelines\"\n].concat(ND), hu = [], vJ = function(e) {\n  if (OD.indexOf(e._cat || e.name) === -1) {\n    var t = e.name, r = (e._cat || e.name).toLowerCase();\n    hu.indexOf(t) === -1 && hu.push(t), hu.indexOf(r) === -1 && hu.push(r);\n  }\n};\nhJ.forEach(function(e) {\n  vJ(ID[e]);\n});\nhu.sort();\nvar HD = {\n  DRAW_MODES: ND,\n  backButtons: OD,\n  foreButtons: hu\n}, Uk = HD, BD = {\n  editType: \"modebar\",\n  orientation: {\n    valType: \"enumerated\",\n    values: [\"v\", \"h\"],\n    dflt: \"h\",\n    editType: \"modebar\",\n    description: \"Sets the orientation of the modebar.\"\n  },\n  bgcolor: {\n    valType: \"color\",\n    editType: \"modebar\",\n    description: \"Sets the background color of the modebar.\"\n  },\n  color: {\n    valType: \"color\",\n    editType: \"modebar\",\n    description: \"Sets the color of the icons in the modebar.\"\n  },\n  activecolor: {\n    valType: \"color\",\n    editType: \"modebar\",\n    description: \"Sets the color of the active or hovered on icons in the modebar.\"\n  },\n  uirevision: {\n    valType: \"any\",\n    editType: \"none\",\n    description: [\n      \"Controls persistence of user-driven changes related to the modebar,\",\n      \"including `hovermode`, `dragmode`, and `showspikes` at both the\",\n      \"root level and inside subplots. Defaults to `layout.uirevision`.\"\n    ].join(\" \")\n  },\n  add: {\n    valType: \"string\",\n    arrayOk: !0,\n    dflt: \"\",\n    editType: \"modebar\",\n    description: [\n      \"Determines which predefined modebar buttons to add.\",\n      \"Please note that these buttons will only be shown if they are\",\n      \"compatible with all trace types used in a graph.\",\n      \"Similar to `config.modeBarButtonsToAdd` option.\",\n      \"This may include *\" + Uk.backButtons.join(\"*, *\") + \"*.\"\n    ].join(\" \")\n  },\n  remove: {\n    valType: \"string\",\n    arrayOk: !0,\n    dflt: \"\",\n    editType: \"modebar\",\n    description: [\n      \"Determines which predefined modebar buttons to remove.\",\n      \"Similar to `config.modeBarButtonsToRemove` option.\",\n      \"This may include *\" + Uk.foreButtons.join(\"*, *\") + \"*.\"\n    ].join(\" \")\n  }\n}, pJ = Ue, Df = nr, mJ = Mr, gJ = BD, yJ = function(t, r) {\n  var n = t.modebar || {}, a = mJ.newContainer(r, \"modebar\");\n  function i(l, s) {\n    return pJ.coerce(n, a, gJ, l, s);\n  }\n  i(\"orientation\"), i(\"bgcolor\", Df.addOpacity(r.paper_bgcolor, 0.5));\n  var o = Df.contrast(Df.rgb(r.modebar.bgcolor));\n  i(\"color\", Df.addOpacity(o, 0.3)), i(\"activecolor\", Df.addOpacity(o, 0.7)), i(\"uirevision\", r.uirevision), i(\"add\"), i(\"remove\");\n}, Vb = lr, bJ = sr, vo = Ue, jD = Fb, _J = ap.version, xJ = new DOMParser();\nfunction UD(e) {\n  this.container = e.container, this.element = document.createElement(\"div\"), this.update(e.graphInfo, e.buttons), this.container.appendChild(this.element);\n}\nvar eo = UD.prototype;\neo.update = function(e, t) {\n  this.graphInfo = e;\n  var r = this.graphInfo._context, n = this.graphInfo._fullLayout, a = \"modebar-\" + n._uid;\n  this.element.setAttribute(\"id\", a), this._uid = a, this.element.className = \"modebar\", r.displayModeBar === \"hover\" && (this.element.className += \" modebar--hover ease-bg\"), n.modebar.orientation === \"v\" && (this.element.className += \" vertical\", t = t.reverse());\n  var i = n.modebar, o = r.displayModeBar === \"hover\" ? \".js-plotly-plot .plotly:hover \" : \"\";\n  vo.deleteRelatedStyleRule(a), vo.addRelatedStyleRule(a, o + \"#\" + a + \" .modebar-group\", \"background-color: \" + i.bgcolor), vo.addRelatedStyleRule(a, \"#\" + a + \" .modebar-btn .icon path\", \"fill: \" + i.color), vo.addRelatedStyleRule(a, \"#\" + a + \" .modebar-btn:hover .icon path\", \"fill: \" + i.activecolor), vo.addRelatedStyleRule(a, \"#\" + a + \" .modebar-btn.active .icon path\", \"fill: \" + i.activecolor);\n  var l = !this.hasButtons(t), s = this.hasLogo !== r.displaylogo, u = this.locale !== r.locale;\n  if (this.locale = r.locale, (l || s || u) && (this.removeAllButtons(), this.updateButtons(t), r.watermark || r.displaylogo)) {\n    var f = this.getLogo();\n    r.watermark && (f.className = f.className + \" watermark\"), n.modebar.orientation === \"v\" ? this.element.insertBefore(f, this.element.childNodes[0]) : this.element.appendChild(f), this.hasLogo = !0;\n  }\n  this.updateActiveButton();\n};\neo.updateButtons = function(e) {\n  var t = this;\n  this.buttons = e, this.buttonElements = [], this.buttonsNames = [], this.buttons.forEach(function(r) {\n    var n = t.createGroup();\n    r.forEach(function(a) {\n      var i = a.name;\n      if (!i)\n        throw new Error(\"must provide button 'name' in button config\");\n      if (t.buttonsNames.indexOf(i) !== -1)\n        throw new Error(\"button name '\" + i + \"' is taken\");\n      t.buttonsNames.push(i);\n      var o = t.createButton(a);\n      t.buttonElements.push(o), n.appendChild(o);\n    }), t.element.appendChild(n);\n  });\n};\neo.createGroup = function() {\n  var e = document.createElement(\"div\");\n  return e.className = \"modebar-group\", e;\n};\neo.createButton = function(e) {\n  var t = this, r = document.createElement(\"a\");\n  r.setAttribute(\"rel\", \"tooltip\"), r.className = \"modebar-btn\";\n  var n = e.title;\n  n === void 0 ? n = e.name : typeof n == \"function\" && (n = n(this.graphInfo)), (n || n === 0) && r.setAttribute(\"data-title\", n), e.attr !== void 0 && r.setAttribute(\"data-attr\", e.attr);\n  var a = e.val;\n  a !== void 0 && (typeof a == \"function\" && (a = a(this.graphInfo)), r.setAttribute(\"data-val\", a));\n  var i = e.click;\n  if (typeof i != \"function\")\n    throw new Error(\"must provide button 'click' function in button config\");\n  r.addEventListener(\"click\", function(l) {\n    e.click(t.graphInfo, l), t.updateActiveButton(l.currentTarget);\n  }), r.setAttribute(\"data-toggle\", e.toggle || !1), e.toggle && Vb.select(r).classed(\"active\", !0);\n  var o = e.icon;\n  return typeof o == \"function\" ? r.appendChild(o()) : r.appendChild(this.createIcon(o || jD.question)), r.setAttribute(\"data-gravity\", e.gravity || \"n\"), r;\n};\neo.createIcon = function(e) {\n  var t = bJ(e.height) ? Number(e.height) : e.ascent - e.descent, r = \"http://www.w3.org/2000/svg\", n;\n  if (e.path) {\n    n = document.createElementNS(r, \"svg\"), n.setAttribute(\"viewBox\", [0, 0, e.width, t].join(\" \")), n.setAttribute(\"class\", \"icon\");\n    var a = document.createElementNS(r, \"path\");\n    a.setAttribute(\"d\", e.path), e.transform ? a.setAttribute(\"transform\", e.transform) : e.ascent !== void 0 && a.setAttribute(\"transform\", \"matrix(1 0 0 -1 0 \" + e.ascent + \")\"), n.appendChild(a);\n  }\n  if (e.svg) {\n    var i = xJ.parseFromString(e.svg, \"application/xml\");\n    n = i.childNodes[0];\n  }\n  return n.setAttribute(\"height\", \"1em\"), n.setAttribute(\"width\", \"1em\"), n;\n};\neo.updateActiveButton = function(e) {\n  var t = this.graphInfo._fullLayout, r = e !== void 0 ? e.getAttribute(\"data-attr\") : null;\n  this.buttonElements.forEach(function(n) {\n    var a = n.getAttribute(\"data-val\") || !0, i = n.getAttribute(\"data-attr\"), o = n.getAttribute(\"data-toggle\") === \"true\", l = Vb.select(n);\n    if (o)\n      i === r && l.classed(\"active\", !l.classed(\"active\"));\n    else {\n      var s = i === null ? i : vo.nestedProperty(t, i).get();\n      l.classed(\"active\", s === a);\n    }\n  });\n};\neo.hasButtons = function(e) {\n  var t = this.buttons;\n  if (!t || e.length !== t.length) return !1;\n  for (var r = 0; r < e.length; ++r) {\n    if (e[r].length !== t[r].length) return !1;\n    for (var n = 0; n < e[r].length; n++)\n      if (e[r][n].name !== t[r][n].name) return !1;\n  }\n  return !0;\n};\nfunction wJ(e) {\n  return e + \" (v\" + _J + \")\";\n}\neo.getLogo = function() {\n  var e = this.createGroup(), t = document.createElement(\"a\");\n  return t.href = \"https://plotly.com/\", t.target = \"_blank\", t.setAttribute(\"data-title\", wJ(vo._(this.graphInfo, \"Produced with Plotly.js\"))), t.className = \"modebar-btn plotlyjsicon modebar-btn--logo\", t.appendChild(this.createIcon(jD.newplotlylogo)), e.appendChild(t), e;\n};\neo.removeAllButtons = function() {\n  for (; this.element.firstChild; )\n    this.element.removeChild(this.element.firstChild);\n  this.hasLogo = !1;\n};\neo.destroy = function() {\n  vo.removeElement(this.container.querySelector(\".modebar\")), vo.deleteRelatedStyleRule(this._uid);\n};\nfunction TJ(e, t) {\n  var r = e._fullLayout, n = new UD({\n    graphInfo: e,\n    container: r._modebardiv.node(),\n    buttons: t\n  });\n  return r._privateplot && Vb.select(n.element).append(\"span\").classed(\"badge-private float--left\", !0).text(\"PRIVATE\"), n;\n}\nvar kJ = TJ, AJ = gn, Gk = Ya, Iy = Nt, MJ = Do.isUnifiedHover, SJ = kJ, kv = zD, CJ = HD.DRAW_MODES, LJ = Ue.extendDeep, DJ = function(t) {\n  var r = t._fullLayout, n = t._context, a = r._modeBar;\n  if (!n.displayModeBar && !n.watermark) {\n    a && (a.destroy(), delete r._modeBar);\n    return;\n  }\n  if (!Array.isArray(n.modeBarButtonsToRemove))\n    throw new Error([\n      \"*modeBarButtonsToRemove* configuration options\",\n      \"must be an array.\"\n    ].join(\" \"));\n  if (!Array.isArray(n.modeBarButtonsToAdd))\n    throw new Error([\n      \"*modeBarButtonsToAdd* configuration options\",\n      \"must be an array.\"\n    ].join(\" \"));\n  var i = n.modeBarButtons, o;\n  Array.isArray(i) && i.length ? o = zJ(i) : !n.displayModeBar && n.watermark ? o = [] : o = EJ(t), a ? a.update(t, o) : r._modeBar = SJ(t, o);\n};\nfunction EJ(e) {\n  var t = e._fullLayout, r = e._fullData, n = e._context;\n  function a(P, R) {\n    if (typeof R == \"string\") {\n      if (R.toLowerCase() === P.toLowerCase()) return !0;\n    } else {\n      var H = R.name, B = R._cat || R.name;\n      if (H === P || B === P.toLowerCase()) return !0;\n    }\n    return !1;\n  }\n  var i = t.modebar.add;\n  typeof i == \"string\" && (i = [i]);\n  var o = t.modebar.remove;\n  typeof o == \"string\" && (o = [o]);\n  var l = n.modeBarButtonsToAdd.concat(\n    i.filter(function(P) {\n      for (var R = 0; R < n.modeBarButtonsToRemove.length; R++)\n        if (a(P, n.modeBarButtonsToRemove[R])) return !1;\n      return !0;\n    })\n  ), s = n.modeBarButtonsToRemove.concat(\n    o.filter(function(P) {\n      for (var R = 0; R < n.modeBarButtonsToAdd.length; R++)\n        if (a(P, n.modeBarButtonsToAdd[R])) return !1;\n      return !0;\n    })\n  ), u = t._has(\"cartesian\"), f = t._has(\"gl3d\"), d = t._has(\"geo\"), h = t._has(\"pie\"), p = t._has(\"funnelarea\"), v = t._has(\"gl2d\"), m = t._has(\"ternary\"), g = t._has(\"mapbox\"), y = t._has(\"polar\"), w = t._has(\"smith\"), k = t._has(\"sankey\"), x = FJ(t), _ = MJ(t.hovermode), T = [];\n  function S(P) {\n    if (P.length) {\n      for (var R = [], H = 0; H < P.length; H++) {\n        for (var B = P[H], W = kv[B], ee = W.name.toLowerCase(), re = (W._cat || W.name).toLowerCase(), ae = !1, Q = 0; Q < s.length; Q++) {\n          var ue = s[Q].toLowerCase();\n          if (ue === ee || ue === re) {\n            ae = !0;\n            break;\n          }\n        }\n        ae || R.push(kv[B]);\n      }\n      T.push(R);\n    }\n  }\n  var M = [\"toImage\"];\n  n.showEditInChartStudio ? M.push(\"editInChartStudio\") : n.showSendToCloud && M.push(\"sendDataToCloud\"), S(M);\n  var L = [], F = [], $ = [], I = [];\n  (u || v || h || p || m) + d + f + g + y + w > 1 ? (F = [\"toggleHover\"], $ = [\"resetViews\"]) : d ? (L = [\"zoomInGeo\", \"zoomOutGeo\"], F = [\"hoverClosestGeo\"], $ = [\"resetGeo\"]) : f ? (F = [\"hoverClosest3d\"], $ = [\"resetCameraDefault3d\", \"resetCameraLastSave3d\"]) : g ? (L = [\"zoomInMapbox\", \"zoomOutMapbox\"], F = [\"toggleHover\"], $ = [\"resetViewMapbox\"]) : v ? F = [\"hoverClosestGl2d\"] : h ? F = [\"hoverClosestPie\"] : k ? (F = [\"hoverClosestCartesian\", \"hoverCompareCartesian\"], $ = [\"resetViewSankey\"]) : F = [\"toggleHover\"], u && (F = [\"toggleSpikelines\", \"hoverClosestCartesian\", \"hoverCompareCartesian\"]), (PJ(r) || _) && (F = []), (u || v) && !x && (L = [\"zoomIn2d\", \"zoomOut2d\", \"autoScale2d\"], $[0] !== \"resetViews\" && ($ = [\"resetScale2d\"])), f ? I = [\"zoom3d\", \"pan3d\", \"orbitRotation\", \"tableRotation\"] : (u || v) && !x || m ? I = [\"zoom2d\", \"pan2d\"] : g || d ? I = [\"pan2d\"] : y && (I = [\"zoom2d\"]), RJ(r) && I.push(\"select2d\", \"lasso2d\");\n  var O = [], G = function(P) {\n    O.indexOf(P) === -1 && F.indexOf(P) !== -1 && O.push(P);\n  };\n  if (Array.isArray(l)) {\n    for (var K = [], V = 0; V < l.length; V++) {\n      var z = l[V];\n      typeof z == \"string\" ? (z = z.toLowerCase(), CJ.indexOf(z) !== -1 ? (t._has(\"mapbox\") || // draw shapes in paper coordinate (could be improved in future to support data coordinate, when there is no pitch)\n      t._has(\"cartesian\")) && I.push(z) : z === \"togglespikelines\" ? G(\"toggleSpikelines\") : z === \"togglehover\" ? G(\"toggleHover\") : z === \"hovercompare\" ? G(\"hoverCompareCartesian\") : z === \"hoverclosest\" ? (G(\"hoverClosestCartesian\"), G(\"hoverClosestGeo\"), G(\"hoverClosest3d\"), G(\"hoverClosestGl2d\"), G(\"hoverClosestPie\")) : z === \"v1hovermode\" && (G(\"toggleHover\"), G(\"hoverClosestCartesian\"), G(\"hoverCompareCartesian\"), G(\"hoverClosestGeo\"), G(\"hoverClosest3d\"), G(\"hoverClosestGl2d\"), G(\"hoverClosestPie\"))) : K.push(z);\n    }\n    l = K;\n  }\n  return S(I), S(L.concat($)), S(O), $J(T, l);\n}\nfunction FJ(e) {\n  for (var t = AJ.list({ _fullLayout: e }, null, !0), r = 0; r < t.length; r++)\n    if (!t[r].fixedrange)\n      return !1;\n  return !0;\n}\nfunction RJ(e) {\n  for (var t = !1, r = 0; r < e.length && !t; r++) {\n    var n = e[r];\n    !n._module || !n._module.selectPoints || (Iy.traceIs(n, \"scatter-like\") ? (Gk.hasMarkers(n) || Gk.hasText(n)) && (t = !0) : Iy.traceIs(n, \"box-violin\") ? (n.boxpoints === \"all\" || n.points === \"all\") && (t = !0) : t = !0);\n  }\n  return t;\n}\nfunction PJ(e) {\n  for (var t = 0; t < e.length; t++)\n    if (!Iy.traceIs(e[t], \"noHover\")) return !1;\n  return !0;\n}\nfunction $J(e, t) {\n  if (t.length)\n    if (Array.isArray(t[0]))\n      for (var r = 0; r < t.length; r++)\n        e.push(t[r]);\n    else e.push(t);\n  return e;\n}\nfunction zJ(e) {\n  for (var t = LJ([], e), r = 0; r < t.length; r++)\n    for (var n = t[r], a = 0; a < n.length; a++) {\n      var i = n[a];\n      if (typeof i == \"string\")\n        if (kv[i] !== void 0)\n          t[r][a] = kv[i];\n        else\n          throw new Error([\n            \"*modeBarButtons* configuration options\",\n            \"invalid button name\"\n          ].join(\" \"));\n    }\n  return t;\n}\nvar GD = {\n  moduleType: \"component\",\n  name: \"modebar\",\n  layoutAttributes: BD,\n  supplyLayoutDefaults: yJ,\n  manage: DJ\n}, wl = {}, IJ = On.FROM_BL, VD = function(t, r, n) {\n  n === void 0 && (n = IJ[t.constraintoward || \"center\"]);\n  var a = [t.r2l(t.range[0]), t.r2l(t.range[1])], i = a[0] + (a[1] - a[0]) * n;\n  t.range = t._input.range = [\n    t.l2r(i + (a[0] - i) * r),\n    t.l2r(i + (a[1] - i) * r)\n  ], t.setScale();\n}, zl = Ue, Eg = Lp, li = gn.id2name, NJ = Ki, Vk = VD, OJ = yb, HJ = Qr.ALMOST_EQUAL, BJ = On.FROM_BL;\nwl.handleDefaults = function(e, t, r) {\n  var n = r.axIds, a = r.axHasImage, i = t._axisConstraintGroups = [], o = t._axisMatchGroups = [], l, s, u, f, d, h, p, v;\n  for (l = 0; l < n.length; l++)\n    f = li(n[l]), d = e[f], h = t[f], jJ(d, h, {\n      axIds: n,\n      layoutOut: t,\n      hasImage: a[f]\n    });\n  function m(M, L) {\n    for (l = 0; l < M.length; l++) {\n      s = M[l];\n      for (u in s)\n        t[li(u)][L] = s;\n    }\n  }\n  for (m(o, \"_matchGroup\"), l = 0; l < i.length; l++) {\n    s = i[l];\n    for (u in s)\n      if (h = t[li(u)], h.fixedrange) {\n        for (var g in s) {\n          var y = li(g);\n          (e[y] || {}).fixedrange === !1 && zl.warn(\n            \"fixedrange was specified as false for axis \" + y + \" but was overridden because another axis in its constraint group has fixedrange true\"\n          ), t[y].fixedrange = !0;\n        }\n        break;\n      }\n  }\n  for (l = 0; l < i.length; ) {\n    s = i[l];\n    for (u in s) {\n      h = t[li(u)], h._matchGroup && Object.keys(h._matchGroup).length === Object.keys(s).length && (i.splice(l, 1), l--);\n      break;\n    }\n    l++;\n  }\n  m(i, \"_constraintGroup\");\n  var w = [\n    \"constrain\",\n    \"range\",\n    \"autorange\",\n    \"rangemode\",\n    \"rangebreaks\",\n    \"categoryorder\",\n    \"categoryarray\"\n  ], k = !1, x = !1;\n  function _() {\n    v = h[p], p === \"rangebreaks\" && (x = h._hasDayOfWeekBreaks);\n  }\n  for (l = 0; l < o.length; l++) {\n    s = o[l];\n    for (var T = 0; T < w.length; T++) {\n      p = w[T], v = null;\n      var S;\n      for (u in s)\n        if (f = li(u), d = e[f], h = t[f], p in h) {\n          if (!h.matches && (S = h, p in d)) {\n            _();\n            break;\n          }\n          v === null && p in d && _();\n        }\n      if (p === \"range\" && v && d.range && d.range.length === 2 && d.range[0] !== null && d.range[1] !== null && (k = !0), p === \"autorange\" && v === null && k && (v = !1), v === null && p in S && (v = S[p]), v !== null)\n        for (u in s)\n          h = t[li(u)], h[p] = p === \"range\" ? v.slice() : v, p === \"rangebreaks\" && (h._hasDayOfWeekBreaks = x, OJ(h, t));\n    }\n  }\n};\nfunction jJ(e, t, r) {\n  var n = r.axIds, a = r.layoutOut, i = r.hasImage, o = a._axisConstraintGroups, l = a._axisMatchGroups, s = t._id, u = s.charAt(0), f = ((a._splomAxes || {})[u] || {})[s] || {}, d = t._id, h = d.charAt(0) === \"x\";\n  t._matchGroup = null, t._constraintGroup = null;\n  function p(I, O) {\n    return zl.coerce(e, t, NJ, I, O);\n  }\n  p(\"constrain\", i ? \"domain\" : \"range\"), zl.coerce(e, t, {\n    constraintoward: {\n      valType: \"enumerated\",\n      values: h ? [\"left\", \"center\", \"right\"] : [\"bottom\", \"middle\", \"top\"],\n      dflt: h ? \"center\" : \"middle\"\n    }\n  }, \"constraintoward\");\n  var v = t.type, m, g, y = [];\n  for (m = 0; m < n.length; m++)\n    if (g = n[m], g !== d) {\n      var w = a[li(g)];\n      w.type === v && y.push(g);\n    }\n  var k = qD(o, d);\n  if (k) {\n    var x = [];\n    for (m = 0; m < y.length; m++)\n      g = y[m], k[g] || x.push(g);\n    y = x;\n  }\n  var _ = y.length, T, S;\n  _ && (e.matches || f.matches) && (T = zl.coerce(e, t, {\n    matches: {\n      valType: \"enumerated\",\n      values: y,\n      dflt: y.indexOf(f.matches) !== -1 ? f.matches : void 0\n    }\n  }, \"matches\"));\n  var M = i && !h ? t.anchor : void 0;\n  if (_ && !T && (e.scaleanchor || M) && (S = zl.coerce(e, t, {\n    scaleanchor: {\n      valType: \"enumerated\",\n      values: y.concat([!1])\n    }\n  }, \"scaleanchor\", M)), T) {\n    t._matchGroup = Fg(l, d, T, 1);\n    var L = a[li(T)], F = qk(a, t) / qk(a, L);\n    h !== (T.charAt(0) === \"x\") && (F = (h ? \"x\" : \"y\") + F), Fg(o, d, T, F);\n  } else e.matches && n.indexOf(e.matches) !== -1 && zl.warn(\"ignored \" + t._name + '.matches: \"' + e.matches + '\" to avoid an infinite loop');\n  if (S) {\n    var $ = p(\"scaleratio\");\n    $ || ($ = t.scaleratio = 1), Fg(o, d, S, $);\n  } else e.scaleanchor && n.indexOf(e.scaleanchor) !== -1 && zl.warn(\"ignored \" + t._name + '.scaleanchor: \"' + e.scaleanchor + '\" to avoid either an infinite loop and possibly inconsistent scaleratios, or because this axis declares a *matches* constraint.');\n}\nfunction qk(e, t) {\n  var r = t.domain;\n  return r || (r = e[li(t.overlaying)].domain), r[1] - r[0];\n}\nfunction qD(e, t) {\n  for (var r = 0; r < e.length; r++)\n    if (e[r][t])\n      return e[r];\n  return null;\n}\nfunction Fg(e, t, r, n) {\n  var a, i, o, l, s, u = qD(e, t);\n  u === null ? (u = {}, u[t] = 1, s = e.length, e.push(u)) : s = e.indexOf(u);\n  var f = Object.keys(u);\n  for (a = 0; a < e.length; a++)\n    if (o = e[a], a !== s && o[r]) {\n      var d = o[r];\n      for (i = 0; i < f.length; i++)\n        l = f[i], o[l] = Rg(d, Rg(n, u[l]));\n      e.splice(s, 1);\n      return;\n    }\n  if (n !== 1)\n    for (i = 0; i < f.length; i++) {\n      var h = f[i];\n      u[h] = Rg(n, u[h]);\n    }\n  u[r] = 1;\n}\nfunction Rg(e, t) {\n  var r = \"\", n = \"\", a, i;\n  typeof e == \"string\" && (r = e.match(/^[xy]*/)[0], a = r.length, e = +e.substr(a)), typeof t == \"string\" && (n = t.match(/^[xy]*/)[0], i = n.length, t = +t.substr(i));\n  var o = e * t;\n  return !a && !i ? o : !a || !i || r.charAt(0) === n.charAt(0) ? r + n + e * t : a === i ? o : (a > i ? r.substr(i) : n.substr(a)) + o;\n}\nfunction UJ(e, t) {\n  for (var r = t._size, n = r.h / r.w, a = {}, i = Object.keys(e), o = 0; o < i.length; o++) {\n    var l = i[o], s = e[l];\n    if (typeof s == \"string\") {\n      var u = s.match(/^[xy]*/)[0], f = u.length;\n      s = +s.substr(f);\n      for (var d = u.charAt(0) === \"y\" ? n : 1 / n, h = 0; h < f; h++)\n        s *= d;\n    }\n    a[l] = s;\n  }\n  return a;\n}\nwl.enforce = function(t) {\n  var r = t._fullLayout, n = r._axisConstraintGroups || [], a, i, o, l, s, u, f, d;\n  for (a = 0; a < n.length; a++) {\n    o = UJ(n[a], r);\n    var h = Object.keys(o), p = 1 / 0, v = 0, m = 1 / 0, g = {}, y = {}, w = !1;\n    for (i = 0; i < h.length; i++)\n      l = h[i], y[l] = s = r[li(l)], s._inputDomain ? s.domain = s._inputDomain.slice() : s._inputDomain = s.domain.slice(), s._inputRange || (s._inputRange = s.range.slice()), s.setScale(), g[l] = u = Math.abs(s._m) / o[l], p = Math.min(p, u), (s.constrain === \"domain\" || !s._constraintShrinkable) && (m = Math.min(m, u)), delete s._constraintShrinkable, v = Math.max(v, u), s.constrain === \"domain\" && (w = !0);\n    if (!(p > HJ * v && !w)) {\n      for (i = 0; i < h.length; i++)\n        if (l = h[i], u = g[l], s = y[l], f = s.constrain, u !== m || f === \"domain\")\n          if (d = u / m, f === \"range\")\n            Vk(s, d);\n          else {\n            var k = s._inputDomain, x = (s.domain[1] - s.domain[0]) / (k[1] - k[0]), _ = (s.r2l(s.range[1]) - s.r2l(s.range[0])) / (s.r2l(s._inputRange[1]) - s.r2l(s._inputRange[0]));\n            if (d /= x, d * _ < 1) {\n              s.domain = s._input.domain = k.slice(), Vk(s, d);\n              continue;\n            }\n            if (_ < 1 && (s.range = s._input.range = s._inputRange.slice(), d *= _), s.autorange) {\n              var T = s.r2l(s.range[0]), S = s.r2l(s.range[1]), M = (T + S) / 2, L = M, F = M, $ = Math.abs(S - M), I = M - $ * d * 1.0001, O = M + $ * d * 1.0001, G = Eg.makePadFn(r, s, 0), K = Eg.makePadFn(r, s, 1);\n              Wk(s, d);\n              var V = Math.abs(s._m), z = Eg.concatExtremes(t, s), P = z.min, R = z.max, H, B;\n              for (B = 0; B < P.length; B++)\n                H = P[B].val - G(P[B]) / V, H > I && H < L && (L = H);\n              for (B = 0; B < R.length; B++)\n                H = R[B].val + K(R[B]) / V, H < O && H > F && (F = H);\n              var W = (F - L) / (2 * $);\n              d /= W, L = s.l2r(L), F = s.l2r(F), s.range = s._input.range = T < S ? [L, F] : [F, L];\n            }\n            Wk(s, d);\n          }\n    }\n  }\n};\nwl.getAxisGroup = function(t, r) {\n  for (var n = t._axisMatchGroups, a = 0; a < n.length; a++) {\n    var i = n[a];\n    if (i[r]) return \"g\" + a;\n  }\n  return r;\n};\nwl.clean = function(t, r) {\n  if (r._inputDomain) {\n    for (var n = !1, a = r._id, i = t._fullLayout._axisConstraintGroups, o = 0; o < i.length; o++)\n      if (i[o][a]) {\n        n = !0;\n        break;\n      }\n    (!n || r.constrain !== \"domain\") && (r._input.domain = r.domain = r._inputDomain, delete r._inputDomain);\n  }\n};\nfunction Wk(e, t) {\n  var r = e._inputDomain, n = BJ[e.constraintoward], a = r[0] + (r[1] - r[0]) * n;\n  e.domain = e._input.domain = [\n    a + (r[0] - a) / t,\n    a + (r[1] - a) / t\n  ], e.setScale();\n}\n(function(e) {\n  var t = lr, r = Nt, n = Tn, a = Ue, i = Rn, o = Eb, l = nr, s = Sr, u = Cp, f = GD, d = Cr, h = On, p = wl, v = p.enforce, m = p.clean, g = Lp.doAutoRange, y = \"start\", w = \"middle\", k = \"end\";\n  e.layoutStyles = function(P) {\n    return a.syncOrAsync([n.doAutoMargin, _], P);\n  };\n  function x(P, R, H) {\n    for (var B = 0; B < H.length; B++) {\n      var W = H[B][0], ee = H[B][1];\n      if (!(W[0] >= P[1] || W[1] <= P[0]) && ee[0] < R[1] && ee[1] > R[0])\n        return !0;\n    }\n    return !1;\n  }\n  function _(P) {\n    var R = P._fullLayout, H = R._size, B = H.p, W = d.list(P, \"\", !0), ee, re, ae, Q, ue, j;\n    if (R._paperdiv.style({\n      width: P._context.responsive && R.autosize && !P._context._hasZeroWidth && !P.layout.width ? \"100%\" : R.width + \"px\",\n      height: P._context.responsive && R.autosize && !P._context._hasZeroHeight && !P.layout.height ? \"100%\" : R.height + \"px\"\n    }).selectAll(\".main-svg\").call(s.setSize, R.width, R.height), P._context.setBackground(P, R.paper_bgcolor), e.drawMainTitle(P), f.manage(P), !R._has(\"cartesian\"))\n      return n.previousPromises(P);\n    function U(st, rt, ct) {\n      var X = st._lw / 2;\n      if (st._id.charAt(0) === \"x\") {\n        if (rt) {\n          if (ct === \"top\") return rt._offset - B - X;\n        } else return H.t + H.h * (1 - (st.position || 0)) + X % 1;\n        return rt._offset + rt._length + B + X;\n      }\n      if (rt) {\n        if (ct === \"right\") return rt._offset + rt._length + B + X;\n      } else return H.l + H.w * (st.position || 0) + X % 1;\n      return rt._offset - B - X;\n    }\n    for (ee = 0; ee < W.length; ee++) {\n      Q = W[ee];\n      var Z = Q._anchorAxis;\n      Q._linepositions = {}, Q._lw = s.crispRound(P, Q.linewidth, 1), Q._mainLinePosition = U(Q, Z, Q.side), Q._mainMirrorPosition = Q.mirror && Z ? U(\n        Q,\n        Z,\n        h.OPPOSITE_SIDE[Q.side]\n      ) : null;\n    }\n    var le = [], J = [], pe = [], ge = l.opacity(R.paper_bgcolor) === 1 && l.opacity(R.plot_bgcolor) === 1 && R.paper_bgcolor === R.plot_bgcolor;\n    for (re in R._plots)\n      if (ae = R._plots[re], ae.mainplot)\n        ae.bg && ae.bg.remove(), ae.bg = void 0;\n      else {\n        var ve = ae.xaxis.domain, me = ae.yaxis.domain, Le = ae.plotgroup;\n        if (x(ve, me, pe)) {\n          var ze = Le.node(), Fe = ae.bg = a.ensureSingle(Le, \"rect\", \"bg\");\n          ze.insertBefore(Fe.node(), ze.childNodes[0]), J.push(re);\n        } else\n          Le.select(\"rect.bg\").remove(), pe.push([ve, me]), ge || (le.push(re), J.push(re));\n      }\n    var Oe = R._bgLayer.selectAll(\".bg\").data(le);\n    for (Oe.enter().append(\"rect\").classed(\"bg\", !0), Oe.exit().remove(), Oe.each(function(st) {\n      R._plots[st].bg = t.select(this);\n    }), ee = 0; ee < J.length; ee++)\n      ae = R._plots[J[ee]], ue = ae.xaxis, j = ae.yaxis, ae.bg && ue._offset !== void 0 && j._offset !== void 0 && ae.bg.call(\n        s.setRect,\n        ue._offset - B,\n        j._offset - B,\n        ue._length + 2 * B,\n        j._length + 2 * B\n      ).call(l.fill, R.plot_bgcolor).style(\"stroke-width\", 0);\n    if (!R._hasOnlyLargeSploms)\n      for (re in R._plots) {\n        ae = R._plots[re], ue = ae.xaxis, j = ae.yaxis;\n        var Re = ae.clipId = \"clip\" + R._uid + re + \"plot\", We = a.ensureSingleById(R._clips, \"clipPath\", Re, function(st) {\n          st.classed(\"plotclip\", !0).append(\"rect\");\n        });\n        ae.clipRect = We.select(\"rect\").attr({\n          width: ue._length,\n          height: j._length\n        }), s.setTranslate(ae.plot, ue._offset, j._offset);\n        var Me, Ve;\n        ae._hasClipOnAxisFalse ? (Me = null, Ve = Re) : (Me = Re, Ve = null), s.setClipUrl(ae.plot, Me, P), ae.layerClipId = Ve;\n      }\n    var qe, Qe, ot, ht, vt, nt, ft, Pe, Ie, Ne, tt, Je, it;\n    function at(st) {\n      return \"M\" + qe + \",\" + st + \"H\" + Qe;\n    }\n    function Tt(st) {\n      return \"M\" + ue._offset + \",\" + st + \"h\" + ue._length;\n    }\n    function gt(st) {\n      return \"M\" + st + \",\" + Pe + \"V\" + ft;\n    }\n    function He(st) {\n      return j._shift !== void 0 && (st += j._shift), \"M\" + st + \",\" + j._offset + \"v\" + j._length;\n    }\n    function pt(st, rt, ct) {\n      if (!st.showline || re !== st._mainSubplot) return \"\";\n      if (!st._anchorAxis) return ct(st._mainLinePosition);\n      var X = rt(st._mainLinePosition);\n      return st.mirror && (X += rt(st._mainMirrorPosition)), X;\n    }\n    for (re in R._plots) {\n      ae = R._plots[re], ue = ae.xaxis, j = ae.yaxis;\n      var bt = \"M0,0\";\n      T(ue, re) && (vt = M(ue, \"left\", j, W), qe = ue._offset - (vt ? B + vt : 0), nt = M(ue, \"right\", j, W), Qe = ue._offset + ue._length + (nt ? B + nt : 0), ot = U(ue, j, \"bottom\"), ht = U(ue, j, \"top\"), it = !ue._anchorAxis || re !== ue._mainSubplot, it && (ue.mirror === \"allticks\" || ue.mirror === \"all\") && (ue._linepositions[re] = [ot, ht]), bt = pt(ue, at, Tt), it && ue.showline && (ue.mirror === \"all\" || ue.mirror === \"allticks\") && (bt += at(ot) + at(ht)), ae.xlines.style(\"stroke-width\", ue._lw + \"px\").call(l.stroke, ue.showline ? ue.linecolor : \"rgba(0,0,0,0)\")), ae.xlines.attr(\"d\", bt);\n      var Ke = \"M0,0\";\n      T(j, re) && (tt = M(j, \"bottom\", ue, W), ft = j._offset + j._length + (tt ? B : 0), Je = M(j, \"top\", ue, W), Pe = j._offset - (Je ? B : 0), Ie = U(j, ue, \"left\"), Ne = U(j, ue, \"right\"), it = !j._anchorAxis || re !== j._mainSubplot, it && (j.mirror === \"allticks\" || j.mirror === \"all\") && (j._linepositions[re] = [Ie, Ne]), Ke = pt(j, gt, He), it && j.showline && (j.mirror === \"all\" || j.mirror === \"allticks\") && (Ke += gt(Ie) + gt(Ne)), ae.ylines.style(\"stroke-width\", j._lw + \"px\").call(l.stroke, j.showline ? j.linecolor : \"rgba(0,0,0,0)\")), ae.ylines.attr(\"d\", Ke);\n    }\n    return d.makeClipPaths(P), n.previousPromises(P);\n  }\n  function T(P, R) {\n    return (P.ticks || P.showline) && (R === P._mainSubplot || P.mirror === \"all\" || P.mirror === \"allticks\");\n  }\n  function S(P, R, H) {\n    if (!H.showline || !H._lw) return !1;\n    if (H.mirror === \"all\" || H.mirror === \"allticks\") return !0;\n    var B = H._anchorAxis;\n    if (!B) return !1;\n    var W = h.FROM_BL[R];\n    return H.side === R ? B.domain[W] === P.domain[W] : H.mirror && B.domain[1 - W] === P.domain[1 - W];\n  }\n  function M(P, R, H, B) {\n    if (S(P, R, H))\n      return H._lw;\n    for (var W = 0; W < B.length; W++) {\n      var ee = B[W];\n      if (ee._mainAxis === H._mainAxis && S(P, R, ee))\n        return ee._lw;\n    }\n    return 0;\n  }\n  e.drawMainTitle = function(P) {\n    var R = P._fullLayout.title, H = P._fullLayout, B = V(H), W = z(H), ee = G(H, W), re = O(H, B);\n    if (u.draw(P, \"gtitle\", {\n      propContainer: H,\n      propName: \"title.text\",\n      placeholder: H._dfltTitle.plot,\n      attributes: {\n        x: re,\n        y: ee,\n        \"text-anchor\": B,\n        dy: W\n      }\n    }), R.text && R.automargin) {\n      var ae = t.selectAll(\".gtitle\"), Q = s.bBox(ae.node()).height, ue = $(P, R, Q);\n      if (ue > 0) {\n        I(P, ee, ue, Q), ae.attr({\n          x: re,\n          y: ee,\n          \"text-anchor\": B,\n          dy: K(R.yanchor)\n        }).call(i.positionText, re, ee);\n        var j = (R.text.match(i.BR_TAG_ALL) || []).length;\n        if (j) {\n          var U = h.LINE_SPACING * j + h.MID_SHIFT;\n          R.y === 0 && (U = -U), ae.selectAll(\".line\").each(function() {\n            var Z = +this.getAttribute(\"dy\").slice(0, -2) - U + \"em\";\n            this.setAttribute(\"dy\", Z);\n          });\n        }\n      }\n    }\n  };\n  function L(P, R, H, B, W) {\n    var ee = R.yref === \"paper\" ? P._fullLayout._size.h : P._fullLayout.height, re = a.isTopAnchor(R) ? B : B - W, ae = H === \"b\" ? ee - re : re;\n    return a.isTopAnchor(R) && H === \"t\" || a.isBottomAnchor(R) && H === \"b\" ? !1 : ae < W;\n  }\n  function F(P, R, H, B, W) {\n    var ee = 0;\n    return H === \"middle\" && (ee += W / 2), P === \"t\" ? (H === \"top\" && (ee += W), ee += B - R * B) : (H === \"bottom\" && (ee += W), ee += R * B), ee;\n  }\n  function $(P, R, H) {\n    var B = R.y, W = R.yanchor, ee = B > 0.5 ? \"t\" : \"b\", re = P._fullLayout.margin[ee], ae = 0;\n    return R.yref === \"paper\" ? ae = H + R.pad.t + R.pad.b : R.yref === \"container\" && (ae = F(ee, B, W, P._fullLayout.height, H) + R.pad.t + R.pad.b), ae > re ? ae : 0;\n  }\n  function I(P, R, H, B) {\n    var W = \"title.automargin\", ee = P._fullLayout.title, re = ee.y > 0.5 ? \"t\" : \"b\", ae = {\n      x: ee.x,\n      y: ee.y,\n      t: 0,\n      b: 0\n    }, Q = {};\n    ee.yref === \"paper\" && L(P, ee, re, R, B) ? ae[re] = H : ee.yref === \"container\" && (Q[re] = H, P._fullLayout._reservedMargin[W] = Q), n.allowAutoMargin(P, W), n.autoMargin(P, W, ae);\n  }\n  function O(P, R) {\n    var H = P.title, B = P._size, W = 0;\n    switch (R === y ? W = H.pad.l : R === k && (W = -H.pad.r), H.xref) {\n      case \"paper\":\n        return B.l + B.w * H.x + W;\n      case \"container\":\n      default:\n        return P.width * H.x + W;\n    }\n  }\n  function G(P, R) {\n    var H = P.title, B = P._size, W = 0;\n    if (R === \"0em\" || !R ? W = -H.pad.b : R === h.CAP_SHIFT + \"em\" && (W = H.pad.t), H.y === \"auto\")\n      return B.t / 2;\n    switch (H.yref) {\n      case \"paper\":\n        return B.t + B.h - B.h * H.y + W;\n      case \"container\":\n      default:\n        return P.height - P.height * H.y + W;\n    }\n  }\n  function K(P) {\n    return P === \"top\" ? h.CAP_SHIFT + 0.3 + \"em\" : P === \"bottom\" ? \"-0.3em\" : h.MID_SHIFT + \"em\";\n  }\n  function V(P) {\n    var R = P.title, H = w;\n    return a.isRightAnchor(R) ? H = k : a.isLeftAnchor(R) && (H = y), H;\n  }\n  function z(P) {\n    var R = P.title, H = \"0em\";\n    return a.isTopAnchor(R) ? H = h.CAP_SHIFT + \"em\" : a.isMiddleAnchor(R) && (H = h.MID_SHIFT + \"em\"), H;\n  }\n  e.doTraceStyle = function(P) {\n    var R = P.calcdata, H = [], B;\n    for (B = 0; B < R.length; B++) {\n      var W = R[B], ee = W[0] || {}, re = ee.trace || {}, ae = re._module || {}, Q = ae.arraysToCalcdata;\n      Q && Q(W, re);\n      var ue = ae.editStyle;\n      ue && H.push({ fn: ue, cd0: ee });\n    }\n    if (H.length) {\n      for (B = 0; B < H.length; B++) {\n        var j = H[B];\n        j.fn(P, j.cd0);\n      }\n      o(P), e.redrawReglTraces(P);\n    }\n    return n.style(P), r.getComponentMethod(\"legend\", \"draw\")(P), n.previousPromises(P);\n  }, e.doColorBars = function(P) {\n    return r.getComponentMethod(\"colorbar\", \"draw\")(P), n.previousPromises(P);\n  }, e.layoutReplot = function(P) {\n    var R = P.layout;\n    return P.layout = void 0, r.call(\"_doPlot\", P, \"\", R);\n  }, e.doLegend = function(P) {\n    return r.getComponentMethod(\"legend\", \"draw\")(P), n.previousPromises(P);\n  }, e.doTicksRelayout = function(P) {\n    return d.draw(P, \"redraw\"), P._fullLayout._hasOnlyLargeSploms && (r.subplotsRegistry.splom.updateGrid(P), o(P), e.redrawReglTraces(P)), e.drawMainTitle(P), n.previousPromises(P);\n  }, e.doModeBar = function(P) {\n    var R = P._fullLayout;\n    f.manage(P);\n    for (var H = 0; H < R._basePlotModules.length; H++) {\n      var B = R._basePlotModules[H].updateFx;\n      B && B(P);\n    }\n    return n.previousPromises(P);\n  }, e.doCamera = function(P) {\n    for (var R = P._fullLayout, H = R._subplots.gl3d, B = 0; B < H.length; B++) {\n      var W = R[H[B]], ee = W._scene;\n      ee.setViewport(W);\n    }\n  }, e.drawData = function(P) {\n    var R = P._fullLayout;\n    o(P);\n    for (var H = R._basePlotModules, B = 0; B < H.length; B++)\n      H[B].plot(P);\n    return e.redrawReglTraces(P), n.style(P), r.getComponentMethod(\"selections\", \"draw\")(P), r.getComponentMethod(\"shapes\", \"draw\")(P), r.getComponentMethod(\"annotations\", \"draw\")(P), r.getComponentMethod(\"images\", \"draw\")(P), R._replotting = !1, n.previousPromises(P);\n  }, e.redrawReglTraces = function(P) {\n    var R = P._fullLayout;\n    if (R._has(\"regl\")) {\n      var H = P._fullData, B = [], W = [], ee, re;\n      for (R._hasOnlyLargeSploms && R._splomGrid.draw(), ee = 0; ee < H.length; ee++) {\n        var ae = H[ee];\n        ae.visible === !0 && ae._length !== 0 && (ae.type === \"splom\" ? R._splomScenes[ae.uid].draw() : ae.type === \"scattergl\" ? a.pushUnique(B, ae.xaxis + ae.yaxis) : ae.type === \"scatterpolargl\" && a.pushUnique(W, ae.subplot));\n      }\n      for (ee = 0; ee < B.length; ee++)\n        re = R._plots[B[ee]], re._scene && re._scene.draw();\n      for (ee = 0; ee < W.length; ee++)\n        re = R[W[ee]]._subplot, re._scene && re._scene.draw();\n    }\n  }, e.doAutoRangeAndConstraints = function(P) {\n    for (var R = d.list(P, \"\", !0), H, B = {}, W = 0; W < R.length; W++)\n      if (H = R[W], !B[H._id]) {\n        B[H._id] = 1, m(P, H), g(P, H);\n        var ee = H._matchGroup;\n        if (ee)\n          for (var re in ee) {\n            var ae = d.getFromId(P, re);\n            g(P, ae, H.range), B[re] = 1;\n          }\n      }\n    v(P);\n  }, e.finalDraw = function(P) {\n    r.getComponentMethod(\"rangeslider\", \"draw\")(P), r.getComponentMethod(\"rangeselector\", \"draw\")(P);\n  }, e.drawMarginPushers = function(P) {\n    r.getComponentMethod(\"legend\", \"draw\")(P), r.getComponentMethod(\"rangeselector\", \"draw\")(P), r.getComponentMethod(\"sliders\", \"draw\")(P), r.getComponentMethod(\"updatemenus\", \"draw\")(P), r.getComponentMethod(\"colorbar\", \"draw\")(P);\n  };\n})(zp);\nvar GJ = _l.readPaths, VJ = Nb, WD = _s.clearOutlineControllers, Pg = nr, ZD = Sr, qJ = Mr.arrayEditor, YD = xl, WJ = YD.getPathString, XD = {\n  draw: jp,\n  drawOne: KD,\n  activateLastSelection: XJ\n};\nfunction jp(e) {\n  var t = e._fullLayout;\n  WD(e), t._selectionLayer.selectAll(\"path\").remove();\n  for (var r in t._plots) {\n    var n = t._plots[r].selectionLayer;\n    n && n.selectAll(\"path\").remove();\n  }\n  for (var a = 0; a < t.selections.length; a++)\n    KD(e, a);\n}\nfunction Up(e) {\n  return e._context.editSelection;\n}\nfunction KD(e, t) {\n  e._fullLayout._paperdiv.selectAll('.selectionlayer [data-index=\"' + t + '\"]').remove();\n  var r = YD.makeSelectionsOptionsAndPlotinfo(e, t), n = r.options, a = r.plotinfo;\n  if (!n._input) return;\n  i(e._fullLayout._selectionLayer);\n  function i(o) {\n    var l = WJ(e, n), s = {\n      \"data-index\": t,\n      \"fill-rule\": \"evenodd\",\n      d: l\n    }, u = n.opacity, f = \"rgba(0,0,0,0)\", d = n.line.color || Pg.contrast(e._fullLayout.plot_bgcolor), h = n.line.width, p = n.line.dash;\n    h || (h = 5, p = \"solid\");\n    var v = Up(e) && e._fullLayout._activeSelectionIndex === t;\n    v && (f = e._fullLayout.activeselection.fillcolor, u = e._fullLayout.activeselection.opacity);\n    for (var m = [], g = 1; g >= 0; g--) {\n      var y = o.append(\"path\").attr(s).style(\"opacity\", g ? 0.1 : u).call(Pg.stroke, d).call(Pg.fill, f).call(\n        ZD.dashLine,\n        g ? \"solid\" : p,\n        g ? 4 + h : h\n      );\n      if (ZJ(y, e, n), v) {\n        var w = qJ(e.layout, \"selections\", n);\n        y.style({\n          cursor: \"move\"\n        });\n        var k = {\n          element: y.node(),\n          plotinfo: a,\n          gd: e,\n          editHelpers: w,\n          isActiveSelection: !0\n          // i.e. to enable controllers\n        }, x = GJ(l, e);\n        VJ(x, y, k);\n      } else\n        y.style(\"pointer-events\", g ? \"all\" : \"none\");\n      m[g] = y;\n    }\n    var _ = m[0], T = m[1];\n    T.node().addEventListener(\"click\", function() {\n      return YJ(e, _);\n    });\n  }\n}\nfunction ZJ(e, t, r) {\n  var n = r.xref + r.yref;\n  ZD.setClipUrl(\n    e,\n    \"clip\" + t._fullLayout._uid + n,\n    t\n  );\n}\nfunction YJ(e, t) {\n  if (Up(e)) {\n    var r = t.node(), n = +r.getAttribute(\"data-index\");\n    if (n >= 0) {\n      if (n === e._fullLayout._activeSelectionIndex) {\n        Ny(e);\n        return;\n      }\n      e._fullLayout._activeSelectionIndex = n, e._fullLayout._deactivateSelection = Ny, jp(e);\n    }\n  }\n}\nfunction XJ(e) {\n  if (Up(e)) {\n    var t = e._fullLayout.selections.length - 1;\n    e._fullLayout._activeSelectionIndex = t, e._fullLayout._deactivateSelection = Ny, jp(e);\n  }\n}\nfunction Ny(e) {\n  if (Up(e)) {\n    var t = e._fullLayout._activeSelectionIndex;\n    t >= 0 && (WD(e), delete e._fullLayout._activeSelectionIndex, jp(e));\n  }\n}\nfunction KJ() {\n  var e, t = 0, r = !1;\n  function n(a, i) {\n    return e.list.push({\n      type: a,\n      data: i ? JSON.parse(JSON.stringify(i)) : void 0\n    }), e;\n  }\n  return e = {\n    list: [],\n    segmentId: function() {\n      return t++;\n    },\n    checkIntersection: function(a, i) {\n      return n(\"check\", { seg1: a, seg2: i });\n    },\n    segmentChop: function(a, i) {\n      return n(\"div_seg\", { seg: a, pt: i }), n(\"chop\", { seg: a, pt: i });\n    },\n    statusRemove: function(a) {\n      return n(\"pop_seg\", { seg: a });\n    },\n    segmentUpdate: function(a) {\n      return n(\"seg_update\", { seg: a });\n    },\n    segmentNew: function(a, i) {\n      return n(\"new_seg\", { seg: a, primary: i });\n    },\n    segmentRemove: function(a) {\n      return n(\"rem_seg\", { seg: a });\n    },\n    tempStatus: function(a, i, o) {\n      return n(\"temp_status\", { seg: a, above: i, below: o });\n    },\n    rewind: function(a) {\n      return n(\"rewind\", { seg: a });\n    },\n    status: function(a, i, o) {\n      return n(\"status\", { seg: a, above: i, below: o });\n    },\n    vert: function(a) {\n      return a === r ? e : (r = a, n(\"vert\", { x: a }));\n    },\n    log: function(a) {\n      return typeof a != \"string\" && (a = JSON.stringify(a, !1, \"  \")), n(\"log\", { txt: a });\n    },\n    reset: function() {\n      return n(\"reset\");\n    },\n    selected: function(a) {\n      return n(\"selected\", { segs: a });\n    },\n    chainStart: function(a) {\n      return n(\"chain_start\", { seg: a });\n    },\n    chainRemoveHead: function(a, i) {\n      return n(\"chain_rem_head\", { index: a, pt: i });\n    },\n    chainRemoveTail: function(a, i) {\n      return n(\"chain_rem_tail\", { index: a, pt: i });\n    },\n    chainNew: function(a, i) {\n      return n(\"chain_new\", { pt1: a, pt2: i });\n    },\n    chainMatch: function(a) {\n      return n(\"chain_match\", { index: a });\n    },\n    chainClose: function(a) {\n      return n(\"chain_close\", { index: a });\n    },\n    chainAddHead: function(a, i) {\n      return n(\"chain_add_head\", { index: a, pt: i });\n    },\n    chainAddTail: function(a, i) {\n      return n(\"chain_add_tail\", { index: a, pt: i });\n    },\n    chainConnect: function(a, i) {\n      return n(\"chain_con\", { index1: a, index2: i });\n    },\n    chainReverse: function(a) {\n      return n(\"chain_rev\", { index: a });\n    },\n    chainJoin: function(a, i) {\n      return n(\"chain_join\", { index1: a, index2: i });\n    },\n    done: function() {\n      return n(\"done\");\n    }\n  }, e;\n}\nvar JJ = KJ;\nfunction QJ(e) {\n  typeof e != \"number\" && (e = 1e-10);\n  var t = {\n    epsilon: function(r) {\n      return typeof r == \"number\" && (e = r), e;\n    },\n    pointAboveOrOnLine: function(r, n, a) {\n      var i = n[0], o = n[1], l = a[0], s = a[1], u = r[0], f = r[1];\n      return (l - i) * (f - o) - (s - o) * (u - i) >= -e;\n    },\n    pointBetween: function(r, n, a) {\n      var i = r[1] - n[1], o = a[0] - n[0], l = r[0] - n[0], s = a[1] - n[1], u = l * o + i * s;\n      if (u < e)\n        return !1;\n      var f = o * o + s * s;\n      return !(u - f > -e);\n    },\n    pointsSameX: function(r, n) {\n      return Math.abs(r[0] - n[0]) < e;\n    },\n    pointsSameY: function(r, n) {\n      return Math.abs(r[1] - n[1]) < e;\n    },\n    pointsSame: function(r, n) {\n      return t.pointsSameX(r, n) && t.pointsSameY(r, n);\n    },\n    pointsCompare: function(r, n) {\n      return t.pointsSameX(r, n) ? t.pointsSameY(r, n) ? 0 : r[1] < n[1] ? -1 : 1 : r[0] < n[0] ? -1 : 1;\n    },\n    pointsCollinear: function(r, n, a) {\n      var i = r[0] - n[0], o = r[1] - n[1], l = n[0] - a[0], s = n[1] - a[1];\n      return Math.abs(i * s - l * o) < e;\n    },\n    linesIntersect: function(r, n, a, i) {\n      var o = n[0] - r[0], l = n[1] - r[1], s = i[0] - a[0], u = i[1] - a[1], f = o * u - l * s;\n      if (Math.abs(f) < e)\n        return !1;\n      var d = r[0] - a[0], h = r[1] - a[1], p = (s * h - u * d) / f, v = (o * h - l * d) / f, m = {\n        alongA: 0,\n        alongB: 0,\n        pt: [\n          r[0] + p * o,\n          r[1] + p * l\n        ]\n      };\n      return p <= -e ? m.alongA = -2 : p < e ? m.alongA = -1 : p - 1 <= -e ? m.alongA = 0 : p - 1 < e ? m.alongA = 1 : m.alongA = 2, v <= -e ? m.alongB = -2 : v < e ? m.alongB = -1 : v - 1 <= -e ? m.alongB = 0 : v - 1 < e ? m.alongB = 1 : m.alongB = 2, m;\n    },\n    pointInsideRegion: function(r, n) {\n      for (var a = r[0], i = r[1], o = n[n.length - 1][0], l = n[n.length - 1][1], s = !1, u = 0; u < n.length; u++) {\n        var f = n[u][0], d = n[u][1];\n        d - i > e != l - i > e && (o - f) * (i - d) / (l - d) + f - a > e && (s = !s), o = f, l = d;\n      }\n      return s;\n    }\n  };\n  return t;\n}\nvar eQ = QJ, tQ = {\n  create: function() {\n    var e = {\n      root: { root: !0, next: null },\n      exists: function(t) {\n        return !(t === null || t === e.root);\n      },\n      isEmpty: function() {\n        return e.root.next === null;\n      },\n      getHead: function() {\n        return e.root.next;\n      },\n      insertBefore: function(t, r) {\n        for (var n = e.root, a = e.root.next; a !== null; ) {\n          if (r(a)) {\n            t.prev = a.prev, t.next = a, a.prev.next = t, a.prev = t;\n            return;\n          }\n          n = a, a = a.next;\n        }\n        n.next = t, t.prev = n, t.next = null;\n      },\n      findTransition: function(t) {\n        for (var r = e.root, n = e.root.next; n !== null && !t(n); )\n          r = n, n = n.next;\n        return {\n          before: r === e.root ? null : r,\n          after: n,\n          insert: function(a) {\n            return a.prev = r, a.next = n, r.next = a, n !== null && (n.prev = a), a;\n          }\n        };\n      }\n    };\n    return e;\n  },\n  node: function(e) {\n    return e.prev = null, e.next = null, e.remove = function() {\n      e.prev.next = e.next, e.next && (e.next.prev = e.prev), e.prev = null, e.next = null;\n    }, e;\n  }\n}, rQ = tQ, Ef = rQ;\nfunction nQ(e, t, r) {\n  function n(v, m) {\n    return {\n      id: r ? r.segmentId() : -1,\n      start: v,\n      end: m,\n      myFill: {\n        above: null,\n        // is there fill above us?\n        below: null\n        // is there fill below us?\n      },\n      otherFill: null\n    };\n  }\n  function a(v, m, g) {\n    return {\n      id: r ? r.segmentId() : -1,\n      start: v,\n      end: m,\n      myFill: {\n        above: g.myFill.above,\n        below: g.myFill.below\n      },\n      otherFill: null\n    };\n  }\n  var i = Ef.create();\n  function o(v, m, g, y, w, k) {\n    var x = t.pointsCompare(m, w);\n    return x !== 0 ? x : t.pointsSame(g, k) ? 0 : v !== y ? v ? 1 : -1 : t.pointAboveOrOnLine(\n      g,\n      y ? w : k,\n      // order matters\n      y ? k : w\n    ) ? 1 : -1;\n  }\n  function l(v, m) {\n    i.insertBefore(v, function(g) {\n      var y = o(\n        v.isStart,\n        v.pt,\n        m,\n        g.isStart,\n        g.pt,\n        g.other.pt\n      );\n      return y < 0;\n    });\n  }\n  function s(v, m) {\n    var g = Ef.node({\n      isStart: !0,\n      pt: v.start,\n      seg: v,\n      primary: m,\n      other: null,\n      status: null\n    });\n    return l(g, v.end), g;\n  }\n  function u(v, m, g) {\n    var y = Ef.node({\n      isStart: !1,\n      pt: m.end,\n      seg: m,\n      primary: g,\n      other: v,\n      status: null\n    });\n    v.other = y, l(y, v.pt);\n  }\n  function f(v, m) {\n    var g = s(v, m);\n    return u(g, v, m), g;\n  }\n  function d(v, m) {\n    r && r.segmentChop(v.seg, m), v.other.remove(), v.seg.end = m, v.other.pt = m, l(v.other, v.pt);\n  }\n  function h(v, m) {\n    var g = a(m, v.seg.end, v.seg);\n    return d(v, m), f(g, v.primary);\n  }\n  function p(v, m) {\n    var g = Ef.create();\n    function y(G, K) {\n      var V = G.seg.start, z = G.seg.end, P = K.seg.start, R = K.seg.end;\n      return t.pointsCollinear(V, P, R) ? t.pointsCollinear(z, P, R) || t.pointAboveOrOnLine(z, P, R) ? 1 : -1 : t.pointAboveOrOnLine(V, P, R) ? 1 : -1;\n    }\n    function w(G) {\n      return g.findTransition(function(K) {\n        var V = y(G, K.ev);\n        return V > 0;\n      });\n    }\n    function k(G, K) {\n      var V = G.seg, z = K.seg, P = V.start, R = V.end, H = z.start, B = z.end;\n      r && r.checkIntersection(V, z);\n      var W = t.linesIntersect(P, R, H, B);\n      if (W === !1) {\n        if (!t.pointsCollinear(P, R, H) || t.pointsSame(P, B) || t.pointsSame(R, H))\n          return !1;\n        var ee = t.pointsSame(P, H), re = t.pointsSame(R, B);\n        if (ee && re)\n          return K;\n        var ae = !ee && t.pointBetween(P, H, B), Q = !re && t.pointBetween(R, H, B);\n        if (ee)\n          return Q ? h(K, R) : h(G, B), K;\n        ae && (re || (Q ? h(K, R) : h(G, B)), h(K, P));\n      } else\n        W.alongA === 0 && (W.alongB === -1 ? h(G, H) : W.alongB === 0 ? h(G, W.pt) : W.alongB === 1 && h(G, B)), W.alongB === 0 && (W.alongA === -1 ? h(K, P) : W.alongA === 0 ? h(K, W.pt) : W.alongA === 1 && h(K, R));\n      return !1;\n    }\n    for (var x = []; !i.isEmpty(); ) {\n      var _ = i.getHead();\n      if (r && r.vert(_.pt[0]), _.isStart) {\n        let G = function() {\n          if (S) {\n            var K = k(_, S);\n            if (K)\n              return K;\n          }\n          return M ? k(_, M) : !1;\n        };\n        r && r.segmentNew(_.seg, _.primary);\n        var T = w(_), S = T.before ? T.before.ev : null, M = T.after ? T.after.ev : null;\n        r && r.tempStatus(\n          _.seg,\n          S ? S.seg : !1,\n          M ? M.seg : !1\n        );\n        var L = G();\n        if (L) {\n          if (e) {\n            var F;\n            _.seg.myFill.below === null ? F = !0 : F = _.seg.myFill.above !== _.seg.myFill.below, F && (L.seg.myFill.above = !L.seg.myFill.above);\n          } else\n            L.seg.otherFill = _.seg.myFill;\n          r && r.segmentUpdate(L.seg), _.other.remove(), _.remove();\n        }\n        if (i.getHead() !== _) {\n          r && r.rewind(_.seg);\n          continue;\n        }\n        if (e) {\n          var F;\n          _.seg.myFill.below === null ? F = !0 : F = _.seg.myFill.above !== _.seg.myFill.below, M ? _.seg.myFill.below = M.seg.myFill.above : _.seg.myFill.below = v, F ? _.seg.myFill.above = !_.seg.myFill.below : _.seg.myFill.above = _.seg.myFill.below;\n        } else if (_.seg.otherFill === null) {\n          var $;\n          M ? _.primary === M.primary ? $ = M.seg.otherFill.above : $ = M.seg.myFill.above : $ = _.primary ? m : v, _.seg.otherFill = {\n            above: $,\n            below: $\n          };\n        }\n        r && r.status(\n          _.seg,\n          S ? S.seg : !1,\n          M ? M.seg : !1\n        ), _.other.status = T.insert(Ef.node({ ev: _ }));\n      } else {\n        var I = _.status;\n        if (I === null)\n          throw new Error(\"PolyBool: Zero-length segment detected; your epsilon is probably too small or too large\");\n        if (g.exists(I.prev) && g.exists(I.next) && k(I.prev.ev, I.next.ev), r && r.statusRemove(I.ev.seg), I.remove(), !_.primary) {\n          var O = _.seg.myFill;\n          _.seg.myFill = _.seg.otherFill, _.seg.otherFill = O;\n        }\n        x.push(_.seg);\n      }\n      i.getHead().remove();\n    }\n    return r && r.done(), x;\n  }\n  return e ? {\n    addRegion: function(v) {\n      for (var m, g = v[v.length - 1], y = 0; y < v.length; y++) {\n        m = g, g = v[y];\n        var w = t.pointsCompare(m, g);\n        w !== 0 && f(\n          n(\n            w < 0 ? m : g,\n            w < 0 ? g : m\n          ),\n          !0\n        );\n      }\n    },\n    calculate: function(v) {\n      return p(v, !1);\n    }\n  } : {\n    calculate: function(v, m, g, y) {\n      return v.forEach(function(w) {\n        f(a(w.start, w.end, w), !0);\n      }), g.forEach(function(w) {\n        f(a(w.start, w.end, w), !1);\n      }), p(m, y);\n    }\n  };\n}\nvar aQ = nQ;\nfunction iQ(e, t, r) {\n  var n = [], a = [];\n  return e.forEach(function(i) {\n    var o = i.start, l = i.end;\n    if (t.pointsSame(o, l)) {\n      console.warn(\"PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large\");\n      return;\n    }\n    r && r.chainStart(i);\n    var s = {\n      index: 0,\n      matches_head: !1,\n      matches_pt1: !1\n    }, u = {\n      index: 0,\n      matches_head: !1,\n      matches_pt1: !1\n    }, f = s;\n    function d(I, O, G) {\n      return f.index = I, f.matches_head = O, f.matches_pt1 = G, f === s ? (f = u, !1) : (f = null, !0);\n    }\n    for (var h = 0; h < n.length; h++) {\n      var p = n[h], v = p[0];\n      p[1];\n      var m = p[p.length - 1];\n      if (p[p.length - 2], t.pointsSame(v, o)) {\n        if (d(h, !0, !0))\n          break;\n      } else if (t.pointsSame(v, l)) {\n        if (d(h, !0, !1))\n          break;\n      } else if (t.pointsSame(m, o)) {\n        if (d(h, !1, !0))\n          break;\n      } else if (t.pointsSame(m, l) && d(h, !1, !1))\n        break;\n    }\n    if (f === s) {\n      n.push([o, l]), r && r.chainNew(o, l);\n      return;\n    }\n    if (f === u) {\n      r && r.chainMatch(s.index);\n      var g = s.index, y = s.matches_pt1 ? l : o, w = s.matches_head, p = n[g], k = w ? p[0] : p[p.length - 1], x = w ? p[1] : p[p.length - 2], _ = w ? p[p.length - 1] : p[0], T = w ? p[p.length - 2] : p[1];\n      if (t.pointsCollinear(x, k, y) && (w ? (r && r.chainRemoveHead(s.index, y), p.shift()) : (r && r.chainRemoveTail(s.index, y), p.pop()), k = x), t.pointsSame(_, y)) {\n        n.splice(g, 1), t.pointsCollinear(T, _, k) && (w ? (r && r.chainRemoveTail(s.index, k), p.pop()) : (r && r.chainRemoveHead(s.index, k), p.shift())), r && r.chainClose(s.index), a.push(p);\n        return;\n      }\n      w ? (r && r.chainAddHead(s.index, y), p.unshift(y)) : (r && r.chainAddTail(s.index, y), p.push(y));\n      return;\n    }\n    function S(I) {\n      r && r.chainReverse(I), n[I].reverse();\n    }\n    function M(I, O) {\n      var G = n[I], K = n[O], V = G[G.length - 1], z = G[G.length - 2], P = K[0], R = K[1];\n      t.pointsCollinear(z, V, P) && (r && r.chainRemoveTail(I, V), G.pop(), V = z), t.pointsCollinear(V, P, R) && (r && r.chainRemoveHead(O, P), K.shift()), r && r.chainJoin(I, O), n[I] = G.concat(K), n.splice(O, 1);\n    }\n    var L = s.index, F = u.index;\n    r && r.chainConnect(L, F);\n    var $ = n[L].length < n[F].length;\n    s.matches_head ? u.matches_head ? $ ? (S(L), M(L, F)) : (S(F), M(F, L)) : M(F, L) : u.matches_head ? M(L, F) : $ ? (S(L), M(F, L)) : (S(F), M(L, F));\n  }), a;\n}\nvar oQ = iQ;\nfunction Ff(e, t, r) {\n  var n = [];\n  return e.forEach(function(a) {\n    var i = (a.myFill.above ? 8 : 0) + (a.myFill.below ? 4 : 0) + (a.otherFill && a.otherFill.above ? 2 : 0) + (a.otherFill && a.otherFill.below ? 1 : 0);\n    t[i] !== 0 && n.push({\n      id: r ? r.segmentId() : -1,\n      start: a.start,\n      end: a.end,\n      myFill: {\n        above: t[i] === 1,\n        // 1 if filled above\n        below: t[i] === 2\n        // 2 if filled below\n      },\n      otherFill: null\n    });\n  }), r && r.selected(n), n;\n}\nvar lQ = {\n  union: function(e, t) {\n    return Ff(e, [\n      0,\n      2,\n      1,\n      0,\n      2,\n      2,\n      0,\n      0,\n      1,\n      0,\n      1,\n      0,\n      0,\n      0,\n      0,\n      0\n    ], t);\n  },\n  intersect: function(e, t) {\n    return Ff(e, [\n      0,\n      0,\n      0,\n      0,\n      0,\n      2,\n      0,\n      2,\n      0,\n      0,\n      1,\n      1,\n      0,\n      2,\n      1,\n      0\n    ], t);\n  },\n  difference: function(e, t) {\n    return Ff(e, [\n      0,\n      0,\n      0,\n      0,\n      2,\n      0,\n      2,\n      0,\n      1,\n      1,\n      0,\n      0,\n      0,\n      1,\n      2,\n      0\n    ], t);\n  },\n  differenceRev: function(e, t) {\n    return Ff(e, [\n      0,\n      2,\n      1,\n      0,\n      0,\n      0,\n      1,\n      1,\n      0,\n      2,\n      0,\n      2,\n      0,\n      0,\n      0,\n      0\n    ], t);\n  },\n  xor: function(e, t) {\n    return Ff(e, [\n      0,\n      2,\n      1,\n      0,\n      2,\n      0,\n      0,\n      1,\n      1,\n      0,\n      0,\n      2,\n      0,\n      1,\n      2,\n      0\n    ], t);\n  }\n}, sQ = lQ, uQ = {\n  // convert a GeoJSON object to a PolyBool polygon\n  toPolygon: function(e, t) {\n    function r(i) {\n      if (i.length <= 0)\n        return e.segments({ inverted: !1, regions: [] });\n      function o(u) {\n        var f = u.slice(0, u.length - 1);\n        return e.segments({ inverted: !1, regions: [f] });\n      }\n      for (var l = o(i[0]), s = 1; s < i.length; s++)\n        l = e.selectDifference(e.combine(l, o(i[s])));\n      return l;\n    }\n    if (t.type === \"Polygon\")\n      return e.polygon(r(t.coordinates));\n    if (t.type === \"MultiPolygon\") {\n      for (var n = e.segments({ inverted: !1, regions: [] }), a = 0; a < t.coordinates.length; a++)\n        n = e.selectUnion(e.combine(n, r(t.coordinates[a])));\n      return e.polygon(n);\n    }\n    throw new Error(\"PolyBool: Cannot convert GeoJSON object to PolyBool polygon\");\n  },\n  // convert a PolyBool polygon to a GeoJSON object\n  fromPolygon: function(e, t, r) {\n    r = e.polygon(e.segments(r));\n    function n(p, v) {\n      return t.pointInsideRegion([\n        (p[0][0] + p[1][0]) * 0.5,\n        (p[0][1] + p[1][1]) * 0.5\n      ], v);\n    }\n    function a(p) {\n      return {\n        region: p,\n        children: []\n      };\n    }\n    var i = a(null);\n    function o(p, v) {\n      for (var m = 0; m < p.children.length; m++) {\n        var g = p.children[m];\n        if (n(v, g.region)) {\n          o(g, v);\n          return;\n        }\n      }\n      for (var y = a(v), m = 0; m < p.children.length; m++) {\n        var g = p.children[m];\n        n(g.region, v) && (y.children.push(g), p.children.splice(m, 1), m--);\n      }\n      p.children.push(y);\n    }\n    for (var l = 0; l < r.regions.length; l++) {\n      var s = r.regions[l];\n      s.length < 3 || o(i, s);\n    }\n    function u(p, v) {\n      for (var m = 0, g = p[p.length - 1][0], y = p[p.length - 1][1], w = [], k = 0; k < p.length; k++) {\n        var x = p[k][0], _ = p[k][1];\n        w.push([x, _]), m += _ * g - x * y, g = x, y = _;\n      }\n      var T = m < 0;\n      return T !== v && w.reverse(), w.push([w[0][0], w[0][1]]), w;\n    }\n    var f = [];\n    function d(p) {\n      var v = [u(p.region, !1)];\n      f.push(v);\n      for (var m = 0; m < p.children.length; m++)\n        v.push(h(p.children[m]));\n    }\n    function h(p) {\n      for (var v = 0; v < p.children.length; v++)\n        d(p.children[v]);\n      return u(p.region, !0);\n    }\n    for (var l = 0; l < i.children.length; l++)\n      d(i.children[l]);\n    return f.length <= 0 ? { type: \"Polygon\", coordinates: [] } : f.length == 1 ? { type: \"Polygon\", coordinates: f[0] } : {\n      // otherwise, use a GeoJSON MultiPolygon\n      type: \"MultiPolygon\",\n      coordinates: f\n    };\n  }\n}, fQ = uQ;\n/*\n * @copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc\n * @license MIT\n * @preserve Project Home: https://github.com/voidqk/polybooljs\n */\nvar cQ = JJ, dQ = eQ, Zk = aQ, hQ = oQ, Rf = sQ, Yk = fQ, Ea = !1, Pf = dQ(), ia;\nia = {\n  // getter/setter for buildLog\n  buildLog: function(e) {\n    return e === !0 ? Ea = cQ() : e === !1 && (Ea = !1), Ea === !1 ? !1 : Ea.list;\n  },\n  // getter/setter for epsilon\n  epsilon: function(e) {\n    return Pf.epsilon(e);\n  },\n  // core API\n  segments: function(e) {\n    var t = Zk(!0, Pf, Ea);\n    return e.regions.forEach(t.addRegion), {\n      segments: t.calculate(e.inverted),\n      inverted: e.inverted\n    };\n  },\n  combine: function(e, t) {\n    var r = Zk(!1, Pf, Ea);\n    return {\n      combined: r.calculate(\n        e.segments,\n        e.inverted,\n        t.segments,\n        t.inverted\n      ),\n      inverted1: e.inverted,\n      inverted2: t.inverted\n    };\n  },\n  selectUnion: function(e) {\n    return {\n      segments: Rf.union(e.combined, Ea),\n      inverted: e.inverted1 || e.inverted2\n    };\n  },\n  selectIntersect: function(e) {\n    return {\n      segments: Rf.intersect(e.combined, Ea),\n      inverted: e.inverted1 && e.inverted2\n    };\n  },\n  selectDifference: function(e) {\n    return {\n      segments: Rf.difference(e.combined, Ea),\n      inverted: e.inverted1 && !e.inverted2\n    };\n  },\n  selectDifferenceRev: function(e) {\n    return {\n      segments: Rf.differenceRev(e.combined, Ea),\n      inverted: !e.inverted1 && e.inverted2\n    };\n  },\n  selectXor: function(e) {\n    return {\n      segments: Rf.xor(e.combined, Ea),\n      inverted: e.inverted1 !== e.inverted2\n    };\n  },\n  polygon: function(e) {\n    return {\n      regions: hQ(e.segments, Pf, Ea),\n      inverted: e.inverted\n    };\n  },\n  // GeoJSON converters\n  polygonFromGeoJSON: function(e) {\n    return Yk.toPolygon(ia, e);\n  },\n  polygonToGeoJSON: function(e) {\n    return Yk.fromPolygon(ia, Pf, e);\n  },\n  // helper functions for common operations\n  union: function(e, t) {\n    return $f(e, t, ia.selectUnion);\n  },\n  intersect: function(e, t) {\n    return $f(e, t, ia.selectIntersect);\n  },\n  difference: function(e, t) {\n    return $f(e, t, ia.selectDifference);\n  },\n  differenceRev: function(e, t) {\n    return $f(e, t, ia.selectDifferenceRev);\n  },\n  xor: function(e, t) {\n    return $f(e, t, ia.selectXor);\n  }\n};\nfunction $f(e, t, r) {\n  var n = ia.segments(e), a = ia.segments(t), i = ia.combine(n, a), o = r(i);\n  return ia.polygon(o);\n}\ntypeof window == \"object\" && (window.PolyBool = ia);\nvar vQ = ia, pQ = function(t, r, n, a) {\n  var i = t[0], o = t[1], l = !1;\n  n === void 0 && (n = 0), a === void 0 && (a = r.length);\n  for (var s = a - n, u = 0, f = s - 1; u < s; f = u++) {\n    var d = r[u + n][0], h = r[u + n][1], p = r[f + n][0], v = r[f + n][1], m = h > o != v > o && i < (p - d) * (o - h) / (v - h) + d;\n    m && (l = !l);\n  }\n  return l;\n}, JD = { exports: {} }, $g = cp.dot, lh = Qr.BADNUM, Av = JD.exports = {};\nAv.tester = function(t) {\n  var r = t.slice(), n = r[0][0], a = n, i = r[0][1], o = i, l;\n  for ((r[r.length - 1][0] !== r[0][0] || r[r.length - 1][1] !== r[0][1]) && r.push(r[0]), l = 1; l < r.length; l++)\n    n = Math.min(n, r[l][0]), a = Math.max(a, r[l][0]), i = Math.min(i, r[l][1]), o = Math.max(o, r[l][1]);\n  var s = !1, u;\n  r.length === 5 && (r[0][0] === r[1][0] ? r[2][0] === r[3][0] && r[0][1] === r[3][1] && r[1][1] === r[2][1] && (s = !0, u = function(v) {\n    return v[0] === r[0][0];\n  }) : r[0][1] === r[1][1] && r[2][1] === r[3][1] && r[0][0] === r[3][0] && r[1][0] === r[2][0] && (s = !0, u = function(v) {\n    return v[1] === r[0][1];\n  }));\n  function f(v, m) {\n    var g = v[0], y = v[1];\n    return !(g === lh || g < n || g > a || y === lh || y < i || y > o || m && u(v));\n  }\n  function d(v, m) {\n    var g = v[0], y = v[1];\n    if (g === lh || g < n || g > a || y === lh || y < i || y > o)\n      return !1;\n    var w = r.length, k = r[0][0], x = r[0][1], _ = 0, T, S, M, L, F;\n    for (T = 1; T < w; T++)\n      if (S = k, M = x, k = r[T][0], x = r[T][1], L = Math.min(S, k), !(g < L || g > Math.max(S, k) || y > Math.max(M, x)))\n        if (y < Math.min(M, x))\n          g !== L && _++;\n        else {\n          if (k === S ? F = y : F = M + (g - S) * (x - M) / (k - S), y === F)\n            return !(T === 1 && m);\n          y <= F && g !== L && _++;\n        }\n    return _ % 2 === 1;\n  }\n  var h = !0, p = r[0];\n  for (l = 1; l < r.length; l++)\n    if (p[0] !== r[l][0] || p[1] !== r[l][1]) {\n      h = !1;\n      break;\n    }\n  return {\n    xmin: n,\n    xmax: a,\n    ymin: i,\n    ymax: o,\n    pts: r,\n    contains: s ? f : d,\n    isRect: s,\n    degenerate: h\n  };\n};\nAv.isSegmentBent = function(t, r, n, a) {\n  var i = t[r], o = [t[n][0] - i[0], t[n][1] - i[1]], l = $g(o, o), s = Math.sqrt(l), u = [-o[1] / s, o[0] / s], f, d, h;\n  for (f = r + 1; f < n; f++)\n    if (d = [t[f][0] - i[0], t[f][1] - i[1]], h = $g(d, o), h < 0 || h > l || Math.abs($g(d, u)) > a) return !0;\n  return !1;\n};\nAv.filter = function(t, r) {\n  var n = [t[0]], a = 0, i = 0;\n  function o(s) {\n    t.push(s);\n    var u = n.length, f = a;\n    n.splice(i + 1);\n    for (var d = f + 1; d < t.length; d++)\n      (d === t.length - 1 || Av.isSegmentBent(t, f, d + 1, r)) && (n.push(t[d]), n.length < u - 2 && (a = d, i = n.length - 1), f = d);\n  }\n  if (t.length > 1) {\n    var l = t.pop();\n    o(l);\n  }\n  return {\n    addPt: o,\n    raw: t,\n    filtered: n\n  };\n};\nvar QD = JD.exports, mQ = {\n  // max pixels off straight before a lasso select line counts as bent\n  BENDPX: 1.5,\n  // smallest dimension allowed for a select box\n  MINSELECT: 12,\n  // throttling limit (ms) for selectPoints calls\n  SELECTDELAY: 100,\n  // cache ID suffix for throttle\n  SELECTID: \"-select\"\n}, Xk = vQ, gQ = pQ, Sc = Nt, yQ = Sr.dashStyle, zf = nr, bQ = Ao, _Q = Do.makeEventData, ed = rf, xQ = ed.freeMode, wQ = ed.rectMode, Cc = ed.drawMode, qb = ed.openMode, Wb = ed.selectMode, Kk = xl, Jk = Np, eE = Nb, tE = _s.clearOutline, rE = _l, zg = rE.handleEllipse, TQ = rE.readPaths, kQ = $b.newShapes, AQ = xD, MQ = XD.activateLastSelection, Bh = Ue, SQ = Bh.sorterAsc, nE = QD, If = gp, Oa = gn.getFromId, CQ = Eb, LQ = zp.redrawReglTraces, jh = mQ, Li = jh.MINSELECT, DQ = nE.filter, Zb = nE.tester, Yb = Pb, Qk = Yb.p2r, EQ = Yb.axValue, FQ = Yb.getTransform;\nfunction Xb(e) {\n  return e.subplot !== void 0;\n}\nfunction RQ(e, t, r, n, a) {\n  var i = !Xb(n), o = xQ(a), l = wQ(a), s = qb(a), u = Cc(a), f = Wb(a), d = a === \"drawline\", h = a === \"drawcircle\", p = d || h, v = n.gd, m = v._fullLayout, g = f && m.newselection.mode === \"immediate\" && i, y = m._zoomlayer, w = n.element.getBoundingClientRect(), k = n.plotinfo, x = FQ(k), _ = t - w.left, T = r - w.top;\n  m._calcInverseTransform(v);\n  var S = Bh.apply3DTransform(m._invTransform)(_, T);\n  _ = S[0], T = S[1];\n  var M = m._invScaleX, L = m._invScaleY, F = _, $ = T, I = \"M\" + _ + \",\" + T, O = n.xaxes[0], G = n.yaxes[0], K = O._length, V = G._length, z = e.altKey && !(Cc(a) && s), P, R, H, B, W, ee, re;\n  iE(e, v, n), o && (P = DQ([[_, T]], jh.BENDPX));\n  var ae = y.selectAll(\"path.select-outline-\" + k.id).data([1]), Q = u ? m.newshape : m.newselection;\n  u && (n.hasText = Q.label.text || Q.label.texttemplate);\n  var ue = u && !s ? Q.fillcolor : \"rgba(0,0,0,0)\", j = Q.line.color || (i ? zf.contrast(v._fullLayout.plot_bgcolor) : \"#7f7f7f\");\n  ae.enter().append(\"path\").attr(\"class\", \"select-outline select-outline-\" + k.id).style({\n    opacity: u ? Q.opacity / 2 : 1,\n    \"stroke-dasharray\": yQ(Q.line.dash, Q.line.width),\n    \"stroke-width\": Q.line.width + \"px\",\n    \"shape-rendering\": \"crispEdges\"\n  }).call(zf.stroke, j).call(zf.fill, ue).attr(\"fill-rule\", \"evenodd\").classed(\"cursor-move\", !!u).attr(\"transform\", x).attr(\"d\", I + \"Z\");\n  var U = y.append(\"path\").attr(\"class\", \"zoombox-corners\").style({\n    fill: zf.background,\n    stroke: zf.defaultLine,\n    \"stroke-width\": 1\n  }).attr(\"transform\", x).attr(\"d\", \"M0,0Z\");\n  if (u && n.hasText) {\n    var Z = y.select(\".label-temp\");\n    Z.empty() && (Z = y.append(\"g\").classed(\"label-temp\", !0).classed(\"select-outline\", !0).style({ opacity: 0.8 }));\n  }\n  var le = m._uid + jh.SELECTID, J = [], pe = Gp(\n    v,\n    n.xaxes,\n    n.yaxes,\n    n.subplot\n  );\n  g && !e.shiftKey && (n._clearSubplotSelections = function() {\n    if (i) {\n      var ve = O._id, me = G._id;\n      fE(v, ve, me, pe);\n      for (var Le = (v.layout || {}).selections || [], ze = [], Fe = !1, Oe = 0; Oe < Le.length; Oe++) {\n        var Re = m.selections[Oe];\n        Re.xref !== ve || Re.yref !== me ? ze.push(Le[Oe]) : Fe = !0;\n      }\n      Fe && (v._fullLayout._noEmitSelectedAtStart = !0, Sc.call(\"_guiRelayout\", v, {\n        selections: ze\n      }));\n    }\n  });\n  var ge = WQ(n);\n  n.moveFn = function(ve, me) {\n    n._clearSubplotSelections && (n._clearSubplotSelections(), n._clearSubplotSelections = void 0), F = Math.max(0, Math.min(K, M * ve + _)), $ = Math.max(0, Math.min(V, L * me + T));\n    var Le = Math.abs(F - _), ze = Math.abs($ - T);\n    if (l) {\n      var Fe, Oe, Re;\n      if (f) {\n        var We = m.selectdirection;\n        switch (We === \"any\" ? ze < Math.min(Le * 0.6, Li) ? Fe = \"h\" : Le < Math.min(ze * 0.6, Li) ? Fe = \"v\" : Fe = \"d\" : Fe = We, Fe) {\n          case \"h\":\n            Oe = h ? V / 2 : 0, Re = V;\n            break;\n          case \"v\":\n            Oe = h ? K / 2 : 0, Re = K;\n            break;\n        }\n      }\n      if (u)\n        switch (m.newshape.drawdirection) {\n          case \"vertical\":\n            Fe = \"h\", Oe = h ? V / 2 : 0, Re = V;\n            break;\n          case \"horizontal\":\n            Fe = \"v\", Oe = h ? K / 2 : 0, Re = K;\n            break;\n          case \"ortho\":\n            Le < ze ? (Fe = \"h\", Oe = T, Re = $) : (Fe = \"v\", Oe = _, Re = F);\n            break;\n          default:\n            Fe = \"d\";\n        }\n      Fe === \"h\" ? (B = p ? zg(h, [F, Oe], [F, Re]) : (\n        // using x1 instead of x0 allows adjusting the line while drawing\n        [[_, Oe], [_, Re], [F, Re], [F, Oe]]\n      ), B.xmin = p ? F : Math.min(_, F), B.xmax = p ? F : Math.max(_, F), B.ymin = Math.min(Oe, Re), B.ymax = Math.max(Oe, Re), U.attr(\"d\", \"M\" + B.xmin + \",\" + (T - Li) + \"h-4v\" + 2 * Li + \"h4ZM\" + (B.xmax - 1) + \",\" + (T - Li) + \"h4v\" + 2 * Li + \"h-4Z\")) : Fe === \"v\" ? (B = p ? zg(h, [Oe, $], [Re, $]) : (\n        // using y1 instead of y0 allows adjusting the line while drawing\n        [[Oe, T], [Oe, $], [Re, $], [Re, T]]\n      ), B.xmin = Math.min(Oe, Re), B.xmax = Math.max(Oe, Re), B.ymin = p ? $ : Math.min(T, $), B.ymax = p ? $ : Math.max(T, $), U.attr(\"d\", \"M\" + (_ - Li) + \",\" + B.ymin + \"v-4h\" + 2 * Li + \"v4ZM\" + (_ - Li) + \",\" + (B.ymax - 1) + \"v4h\" + 2 * Li + \"v-4Z\")) : Fe === \"d\" && (B = p ? zg(h, [_, T], [F, $]) : [[_, T], [_, $], [F, $], [F, T]], B.xmin = Math.min(_, F), B.xmax = Math.max(_, F), B.ymin = Math.min(T, $), B.ymax = Math.max(T, $), U.attr(\"d\", \"M0,0Z\"));\n    } else o && (P.addPt([F, $]), B = P.filtered);\n    if (n.selectionDefs && n.selectionDefs.length ? (H = oE(n.mergedPolygons, B, z), B.subtract = z, R = Kb(n.selectionDefs.concat([B]))) : (H = [B], R = Zb(B)), eE(sE(H, s), ae, n), f) {\n      var Me = Oy(v, !1), Ve = Me.eventData ? Me.eventData.points.slice() : [];\n      Me = Oy(v, !1, R, pe, n), R = Me.selectionTesters, re = Me.eventData;\n      var qe;\n      P ? qe = P.filtered : qe = cE(H), If.throttle(\n        le,\n        jh.SELECTDELAY,\n        function() {\n          J = uE(R, pe);\n          for (var Qe = J.slice(), ot = 0; ot < Ve.length; ot++) {\n            for (var ht = Ve[ot], vt = !1, nt = 0; nt < Qe.length; nt++)\n              if (Qe[nt].curveNumber === ht.curveNumber && Qe[nt].pointNumber === ht.pointNumber) {\n                vt = !0;\n                break;\n              }\n            vt || Qe.push(ht);\n          }\n          Qe.length && (re || (re = {}), re.points = Qe), ge(re, qe), ZQ(v, re);\n        }\n      );\n    }\n  }, n.clickFn = function(ve, me) {\n    if (U.remove(), v._fullLayout._activeShapeIndex >= 0) {\n      v._fullLayout._deactivateShape(v);\n      return;\n    }\n    if (!u) {\n      var Le = m.clickmode;\n      If.done(le).then(function() {\n        if (If.clear(le), ve === 2) {\n          for (ae.remove(), W = 0; W < pe.length; W++)\n            ee = pe[W], ee._module.selectPoints(ee, !1);\n          if (Dc(v, pe), Lc(n), Qb(v), pe.length) {\n            var ze = pe[0].xaxis, Fe = pe[0].yaxis;\n            if (ze && Fe) {\n              for (var Oe = [], Re = v._fullLayout.selections, We = 0; We < Re.length; We++) {\n                var Me = Re[We];\n                Me && (Me.xref !== ze._id || Me.yref !== Fe._id) && Oe.push(Me);\n              }\n              Oe.length < Re.length && (v._fullLayout._noEmitSelectedAtStart = !0, Sc.call(\"_guiRelayout\", v, {\n                selections: Oe\n              }));\n            }\n          }\n        } else\n          Le.indexOf(\"select\") > -1 && aE(\n            me,\n            v,\n            n.xaxes,\n            n.yaxes,\n            n.subplot,\n            n,\n            ae\n          ), Le === \"event\" && Ec(v, void 0);\n        bQ.click(v, me, k.id);\n      }).catch(Bh.error);\n    }\n  }, n.doneFn = function() {\n    U.remove(), If.done(le).then(function() {\n      If.clear(le), !g && B && n.selectionDefs && (B.subtract = z, n.selectionDefs.push(B), n.mergedPolygons.length = 0, [].push.apply(n.mergedPolygons, H)), (g || u) && Lc(n, g), n.doneFnCompleted && n.doneFnCompleted(J), f && Ec(v, re);\n    }).catch(Bh.error);\n  };\n}\nfunction aE(e, t, r, n, a, i, o) {\n  var l = t._hoverdata, s = t._fullLayout, u = s.clickmode, f = u.indexOf(\"event\") > -1, d = [], h, p, v, m, g, y, w, k, x, _;\n  if (NQ(l)) {\n    iE(e, t, i), h = Gp(t, r, n, a);\n    var T = OQ(l, h), S = T.pointNumbers.length > 0;\n    if (S ? HQ(h, T) : BQ(h) && (w = tA(T))) {\n      for (o && o.remove(), _ = 0; _ < h.length; _++)\n        p = h[_], p._module.selectPoints(p, !1);\n      Dc(t, h), Lc(i), f && Qb(t);\n    } else {\n      k = e.shiftKey && (w !== void 0 ? w : tA(T)), v = PQ(T.pointNumber, T.searchInfo, k);\n      var M = i.selectionDefs.concat([v]);\n      for (m = Kb(M), _ = 0; _ < h.length; _++)\n        if (g = h[_]._module.selectPoints(h[_], m), y = lE(g, h[_]), d.length)\n          for (var L = 0; L < y.length; L++)\n            d.push(y[L]);\n        else d = y;\n      if (x = { points: d }, Dc(t, h, x), v && i && i.selectionDefs.push(v), o) {\n        var F = i.mergedPolygons, $ = qb(i.dragmode);\n        eE(sE(F, $), o, i);\n      }\n      f && Ec(t, x);\n    }\n  }\n}\nfunction PQ(e, t, r) {\n  return {\n    pointNumber: e,\n    searchInfo: t,\n    subtract: !!r\n  };\n}\nfunction Ig(e) {\n  return \"pointNumber\" in e && \"searchInfo\" in e;\n}\nfunction $Q(e) {\n  return {\n    xmin: 0,\n    xmax: 0,\n    ymin: 0,\n    ymax: 0,\n    pts: [],\n    contains: function(t, r, n, a) {\n      var i = e.searchInfo.cd[0].trace._expandedIndex, o = a.cd[0].trace._expandedIndex;\n      return o === i && n === e.pointNumber;\n    },\n    isRect: !1,\n    degenerate: !1,\n    subtract: !!e.subtract\n  };\n}\nfunction Kb(e) {\n  if (!e.length) return;\n  for (var t = [], r = Ig(e[0]) ? 0 : e[0][0][0], n = r, a = Ig(e[0]) ? 0 : e[0][0][1], i = a, o = 0; o < e.length; o++)\n    if (Ig(e[o]))\n      t.push($Q(e[o]));\n    else {\n      var l = Zb(e[o]);\n      l.subtract = !!e[o].subtract, t.push(l), r = Math.min(r, l.xmin), n = Math.max(n, l.xmax), a = Math.min(a, l.ymin), i = Math.max(i, l.ymax);\n    }\n  function s(u, f, d, h) {\n    for (var p = !1, v = 0; v < t.length; v++)\n      t[v].contains(u, f, d, h) && (p = !t[v].subtract);\n    return p;\n  }\n  return {\n    xmin: r,\n    xmax: n,\n    ymin: a,\n    ymax: i,\n    pts: [],\n    contains: s,\n    isRect: !1,\n    degenerate: !1\n  };\n}\nfunction iE(e, t, r) {\n  var n = t._fullLayout, a = r.plotinfo, i = r.dragmode, o = n._lastSelectedSubplot && n._lastSelectedSubplot === a.id, l = (e.shiftKey || e.altKey) && !(Cc(i) && qb(i));\n  o && l && a.selection && a.selection.selectionDefs && !r.selectionDefs ? (r.selectionDefs = a.selection.selectionDefs, r.mergedPolygons = a.selection.mergedPolygons) : (!l || !a.selection) && Lc(r), o || (tE(t), n._lastSelectedSubplot = a.id);\n}\nfunction zQ(e) {\n  return e._fullLayout._activeShapeIndex >= 0;\n}\nfunction IQ(e) {\n  return e._fullLayout._activeSelectionIndex >= 0;\n}\nfunction Lc(e, t) {\n  var r = e.dragmode, n = e.plotinfo, a = e.gd;\n  zQ(a) && a._fullLayout._deactivateShape(a), IQ(a) && a._fullLayout._deactivateSelection(a);\n  var i = a._fullLayout, o = i._zoomlayer, l = Cc(r), s = Wb(r);\n  if (l || s) {\n    var u = o.selectAll(\".select-outline-\" + n.id);\n    if (u && a._fullLayout._outlining) {\n      var f;\n      l && (f = kQ(u, e)), f && Sc.call(\"_guiRelayout\", a, {\n        shapes: f\n      });\n      var d;\n      s && !Xb(e) && (d = AQ(u, e)), d && (a._fullLayout._noEmitSelectedAtStart = !0, Sc.call(\"_guiRelayout\", a, {\n        selections: d\n      }).then(function() {\n        t && MQ(a);\n      })), a._fullLayout._outlining = !1;\n    }\n  }\n  n.selection = {}, n.selection.selectionDefs = e.selectionDefs = [], n.selection.mergedPolygons = e.mergedPolygons = [];\n}\nfunction eA(e) {\n  return e._id;\n}\nfunction Gp(e, t, r, n) {\n  if (!e.calcdata) return [];\n  var a = [], i = t.map(eA), o = r.map(eA), l, s, u;\n  for (u = 0; u < e.calcdata.length; u++)\n    if (l = e.calcdata[u], s = l[0].trace, !(s.visible !== !0 || !s._module || !s._module.selectPoints))\n      if (Xb({ subplot: n }) && (s.subplot === n || s.geo === n))\n        a.push(sh(s._module, l, t[0], r[0]));\n      else if (s.type === \"splom\") {\n        if (s._xaxes[i[0]] && s._yaxes[o[0]]) {\n          var f = sh(s._module, l, t[0], r[0]);\n          f.scene = e._fullLayout._splomScenes[s.uid], a.push(f);\n        }\n      } else if (s.type === \"sankey\") {\n        var d = sh(s._module, l, t[0], r[0]);\n        a.push(d);\n      } else {\n        if (i.indexOf(s.xaxis) === -1 || o.indexOf(s.yaxis) === -1) continue;\n        a.push(sh(\n          s._module,\n          l,\n          Oa(e, s.xaxis),\n          Oa(e, s.yaxis)\n        ));\n      }\n  return a;\n}\nfunction sh(e, t, r, n) {\n  return {\n    _module: e,\n    cd: t,\n    xaxis: r,\n    yaxis: n\n  };\n}\nfunction NQ(e) {\n  return e && Array.isArray(e) && e[0].hoverOnBox !== !0;\n}\nfunction OQ(e, t) {\n  var r = e[0], n = -1, a = [], i, o;\n  for (o = 0; o < t.length; o++)\n    if (i = t[o], r.fullData._expandedIndex === i.cd[0].trace._expandedIndex) {\n      if (r.hoverOnBox === !0)\n        break;\n      r.pointNumber !== void 0 ? n = r.pointNumber : r.binNumber !== void 0 && (n = r.binNumber, a = r.pointNumbers);\n      break;\n    }\n  return {\n    pointNumber: n,\n    pointNumbers: a,\n    searchInfo: i\n  };\n}\nfunction tA(e) {\n  var t = e.searchInfo.cd[0].trace, r = e.pointNumber, n = e.pointNumbers, a = n.length > 0, i = a ? n[0] : r;\n  return t.selectedpoints ? t.selectedpoints.indexOf(i) > -1 : !1;\n}\nfunction HQ(e, t) {\n  var r = [], n, a, i, o;\n  for (o = 0; o < e.length; o++)\n    n = e[o], n.cd[0].trace.selectedpoints && n.cd[0].trace.selectedpoints.length > 0 && r.push(n);\n  if (r.length === 1 && (i = r[0] === t.searchInfo, i && (a = t.searchInfo.cd[0].trace, a.selectedpoints.length === t.pointNumbers.length))) {\n    for (o = 0; o < t.pointNumbers.length; o++)\n      if (a.selectedpoints.indexOf(t.pointNumbers[o]) < 0)\n        return !1;\n    return !0;\n  }\n  return !1;\n}\nfunction BQ(e) {\n  var t = 0, r, n, a;\n  for (a = 0; a < e.length; a++)\n    if (r = e[a], n = r.cd[0].trace, n.selectedpoints && (n.selectedpoints.length > 1 || (t += n.selectedpoints.length, t > 1)))\n      return !1;\n  return t === 1;\n}\nfunction Dc(e, t, r) {\n  var n;\n  for (n = 0; n < t.length; n++) {\n    var a = t[n].cd[0].trace._fullInput, i = e._fullLayout._tracePreGUI[a.uid] || {};\n    i.selectedpoints === void 0 && (i.selectedpoints = a._input.selectedpoints || null);\n  }\n  var o;\n  if (r) {\n    var l = r.points || [];\n    for (n = 0; n < t.length; n++)\n      o = t[n].cd[0].trace, o._input.selectedpoints = o._fullInput.selectedpoints = [], o._fullInput !== o && (o.selectedpoints = []);\n    for (var s = 0; s < l.length; s++) {\n      var u = l[s], f = u.data, d = u.fullData, h = u.pointIndex, p = u.pointIndices;\n      p ? ([].push.apply(f.selectedpoints, p), o._fullInput !== o && [].push.apply(d.selectedpoints, p)) : (f.selectedpoints.push(h), o._fullInput !== o && d.selectedpoints.push(h));\n    }\n  } else\n    for (n = 0; n < t.length; n++)\n      o = t[n].cd[0].trace, delete o.selectedpoints, delete o._input.selectedpoints, o._fullInput !== o && delete o._fullInput.selectedpoints;\n  jQ(e, t);\n}\nfunction jQ(e, t) {\n  for (var r = !1, n = 0; n < t.length; n++) {\n    var a = t[n], i = a.cd;\n    Sc.traceIs(i[0].trace, \"regl\") && (r = !0);\n    var o = a._module, l = o.styleOnSelect || o.style;\n    l && (l(e, i, i[0].node3), i[0].nodeRangePlot3 && l(e, i, i[0].nodeRangePlot3));\n  }\n  r && (CQ(e), LQ(e));\n}\nfunction oE(e, t, r) {\n  for (var n = r ? Xk.difference : Xk.union, a = n({\n    regions: e\n  }, {\n    regions: [t]\n  }), i = a.regions.reverse(), o = 0; o < i.length; o++) {\n    var l = i[o];\n    l.subtract = Jb(l, i.slice(0, o));\n  }\n  return i;\n}\nfunction lE(e, t) {\n  if (Array.isArray(e))\n    for (var r = t.cd, n = t.cd[0].trace, a = 0; a < e.length; a++)\n      e[a] = _Q(e[a], n, r);\n  return e;\n}\nfunction sE(e, t) {\n  for (var r = [], n = 0; n < e.length; n++) {\n    r[n] = [];\n    for (var a = 0; a < e[n].length; a++) {\n      r[n][a] = [], r[n][a][0] = a ? \"L\" : \"M\";\n      for (var i = 0; i < e[n][a].length; i++)\n        r[n][a].push(\n          e[n][a][i]\n        );\n    }\n    t || r[n].push([\n      \"Z\",\n      r[n][0][1],\n      // initial x\n      r[n][0][2]\n      // initial y\n    ]);\n  }\n  return r;\n}\nfunction uE(e, t) {\n  for (var r = [], n, a, i = 0; i < t.length; i++) {\n    var o = t[i];\n    a = o._module.selectPoints(o, e), n = lE(a, o), r = r.concat(n);\n  }\n  return r;\n}\nfunction Oy(e, t, r, n, a) {\n  var i = !!n, o, l, s;\n  a && (o = a.plotinfo, l = a.xaxes[0]._id, s = a.yaxes[0]._id);\n  var u = [], f = [], d = rA(e), h = e._fullLayout;\n  if (o) {\n    var p = h._zoomlayer, v = h.dragmode, m = Cc(v), g = Wb(v);\n    if (m || g) {\n      var y = Oa(e, l, \"x\"), w = Oa(e, s, \"y\");\n      if (y && w) {\n        var k = p.selectAll(\".select-outline-\" + o.id);\n        if (k && e._fullLayout._outlining && k.length) {\n          for (var x = k[0][0], _ = x.getAttribute(\"d\"), T = TQ(_, e, o), S = [], M = 0; M < T.length; M++) {\n            for (var L = T[M], F = [], $ = 0; $ < L.length; $++)\n              F.push([\n                Xo(y, L[$][1]),\n                Xo(w, L[$][2])\n              ]);\n            F.xref = l, F.yref = s, F.subtract = Jb(F, S), S.push(F);\n          }\n          d = d.concat(S);\n        }\n      }\n    }\n  }\n  var I = l && s ? [l + s] : h._subplots.cartesian;\n  UQ(e);\n  for (var O = {}, G = 0; G < I.length; G++) {\n    var K = I[G], V = K.indexOf(\"y\"), z = K.slice(0, V), P = K.slice(V), R = l && s ? r : void 0;\n    if (R = VQ(d, z, P, R), R) {\n      var H = n;\n      if (!i) {\n        var B = Oa(e, z, \"x\"), W = Oa(e, P, \"y\");\n        H = Gp(\n          e,\n          [B],\n          [W],\n          K\n        );\n        for (var ee = 0; ee < H.length; ee++) {\n          var re = H[ee], ae = re.cd[0], Q = ae.trace;\n          if (re._module.name === \"scattergl\" && !ae.t.xpx) {\n            var ue = Q.x, j = Q.y, U = Q._length;\n            ae.t.xpx = [], ae.t.ypx = [];\n            for (var Z = 0; Z < U; Z++)\n              ae.t.xpx[Z] = B.c2p(ue[Z]), ae.t.ypx[Z] = W.c2p(j[Z]);\n          }\n          re._module.name === \"splom\" && (O[Q.uid] || (O[Q.uid] = !0));\n        }\n      }\n      var le = uE(R, H);\n      u = u.concat(le), f = f.concat(H);\n    }\n  }\n  var J = { points: u };\n  Dc(e, f, J);\n  var pe = h.clickmode, ge = pe.indexOf(\"event\") > -1 && t;\n  if (!o && // get called from plot_api & plots\n  t) {\n    var ve = rA(e, !0);\n    if (ve.length) {\n      var me = ve[0].xref, Le = ve[0].yref;\n      if (me && Le) {\n        var ze = cE(ve), Fe = dE([\n          Oa(e, me, \"x\"),\n          Oa(e, Le, \"y\")\n        ]);\n        Fe(J, ze);\n      }\n    }\n    e._fullLayout._noEmitSelectedAtStart ? e._fullLayout._noEmitSelectedAtStart = !1 : ge && Ec(e, J), h._reselect = !1;\n  }\n  if (!o && // get called from plot_api & plots\n  h._deselect) {\n    var Oe = h._deselect;\n    l = Oe.xref, s = Oe.yref, GQ(l, s, f) || fE(e, l, s, n), ge && (J.points.length ? Ec(e, J) : Qb(e)), h._deselect = !1;\n  }\n  return {\n    eventData: J,\n    selectionTesters: r\n  };\n}\nfunction UQ(e) {\n  var t = e.calcdata;\n  if (t)\n    for (var r = 0; r < t.length; r++) {\n      var n = t[r][0], a = n.trace, i = e._fullLayout._splomScenes;\n      if (i) {\n        var o = i[a.uid];\n        o && (o.selectBatch = []);\n      }\n    }\n}\nfunction GQ(e, t, r) {\n  for (var n = 0; n < r.length; n++) {\n    var a = r[n];\n    if (a.xaxis && a.xaxis._id === e && a.yaxis && a.yaxis._id === t)\n      return !0;\n  }\n  return !1;\n}\nfunction fE(e, t, r, n) {\n  n = Gp(\n    e,\n    [Oa(e, t, \"x\")],\n    [Oa(e, r, \"y\")],\n    t + r\n  );\n  for (var a = 0; a < n.length; a++) {\n    var i = n[a];\n    i._module.selectPoints(i, !1);\n  }\n  Dc(e, n);\n}\nfunction VQ(e, t, r, n) {\n  for (var a, i = 0; i < e.length; i++) {\n    var o = e[i];\n    if (!(t !== o.xref || r !== o.yref))\n      if (a) {\n        var l = !!o.subtract;\n        a = oE(a, o, l), n = Kb(a);\n      } else\n        a = [o], n = Zb(o);\n  }\n  return n;\n}\nfunction rA(e, t) {\n  for (var r = [], n = e._fullLayout, a = n.selections, i = a.length, o = 0; o < i; o++)\n    if (!(t && o !== n._activeSelectionIndex)) {\n      var l = a[o];\n      if (l) {\n        var s = l.xref, u = l.yref, f = Oa(e, s, \"x\"), d = Oa(e, u, \"y\"), h, p, v, m, g;\n        if (l.type === \"rect\") {\n          g = [];\n          var y = Xo(f, l.x0), w = Xo(f, l.x1), k = Xo(d, l.y0), x = Xo(d, l.y1);\n          g = [[y, k], [y, x], [w, x], [w, k]], h = Math.min(y, w), p = Math.max(y, w), v = Math.min(k, x), m = Math.max(k, x), g.xmin = h, g.xmax = p, g.ymin = v, g.ymax = m, g.xref = s, g.yref = u, g.subtract = !1, g.isRect = !0, r.push(g);\n        } else if (l.type === \"path\")\n          for (var _ = l.path.split(\"Z\"), T = [], S = 0; S < _.length; S++) {\n            var M = _[S];\n            if (M) {\n              M += \"Z\";\n              var L = Kk.extractPathCoords(M, Jk.paramIsX, \"raw\"), F = Kk.extractPathCoords(M, Jk.paramIsY, \"raw\");\n              h = 1 / 0, p = -1 / 0, v = 1 / 0, m = -1 / 0, g = [];\n              for (var $ = 0; $ < L.length; $++) {\n                var I = Xo(f, L[$]), O = Xo(d, F[$]);\n                g.push([I, O]), h = Math.min(I, h), p = Math.max(I, p), v = Math.min(O, v), m = Math.max(O, m);\n              }\n              g.xmin = h, g.xmax = p, g.ymin = v, g.ymax = m, g.xref = s, g.yref = u, g.subtract = Jb(g, T), T.push(g), r.push(g);\n            }\n          }\n      }\n    }\n  return r;\n}\nfunction Jb(e, t) {\n  for (var r = !1, n = 0; n < t.length; n++)\n    for (var a = t[n], i = 0; i < e.length; i++)\n      if (gQ(e[i], a)) {\n        r = !r;\n        break;\n      }\n  return r;\n}\nfunction Xo(e, t) {\n  return e.type === \"date\" && (t = t.replace(\"_\", \" \")), e.type === \"log\" ? e.c2p(t) : e.r2p(t, null, e.calendar);\n}\nfunction cE(e) {\n  for (var t = e.length, r = [], n = 0; n < t; n++) {\n    var a = e[n];\n    r = r.concat(a), r = r.concat([a[0]]);\n  }\n  return qQ(r);\n}\nfunction qQ(e) {\n  return e.isRect = e.length === 5 && e[0][0] === e[4][0] && e[0][1] === e[4][1] && e[0][0] === e[1][0] && e[2][0] === e[3][0] && e[0][1] === e[3][1] && e[1][1] === e[2][1] || e[0][1] === e[1][1] && e[2][1] === e[3][1] && e[0][0] === e[3][0] && e[1][0] === e[2][0], e.isRect && (e.xmin = Math.min(e[0][0], e[2][0]), e.xmax = Math.max(e[0][0], e[2][0]), e.ymin = Math.min(e[0][1], e[2][1]), e.ymax = Math.max(e[0][1], e[2][1])), e;\n}\nfunction dE(e) {\n  return function(t, r) {\n    for (var n, a, i = 0; i < e.length; i++) {\n      var o = e[i], l = o._id, s = l.charAt(0);\n      if (r.isRect) {\n        n || (n = {});\n        var u = r[s + \"min\"], f = r[s + \"max\"];\n        u !== void 0 && f !== void 0 && (n[l] = [\n          Qk(o, u),\n          Qk(o, f)\n        ].sort(SQ));\n      } else\n        a || (a = {}), a[l] = r.map(EQ(o));\n    }\n    n && (t.range = n), a && (t.lassoPoints = a);\n  };\n}\nfunction WQ(e) {\n  var t = e.plotinfo;\n  return t.fillRangeItems || // allow subplots (i.e. geo, mapbox, sankey) to override fillRangeItems routine\n  dE(e.xaxes.concat(e.yaxes));\n}\nfunction ZQ(e, t) {\n  e.emit(\"plotly_selecting\", t);\n}\nfunction Ec(e, t) {\n  t && (t.selections = (e.layout || {}).selections || []), e.emit(\"plotly_selected\", t);\n}\nfunction Qb(e) {\n  e.emit(\"plotly_deselect\", null);\n}\nvar YQ = {\n  reselect: Oy,\n  prepSelect: RQ,\n  clearOutline: tE,\n  clearSelectionsCache: Lc,\n  selectOnClick: aE\n}, hE = [\n  // no arrow\n  {\n    path: \"\",\n    backoff: 0\n  },\n  // wide with flat back\n  {\n    path: \"M-2.4,-3V3L0.6,0Z\",\n    backoff: 0.6\n  },\n  // narrower with flat back\n  {\n    path: \"M-3.7,-2.5V2.5L1.3,0Z\",\n    backoff: 1.3\n  },\n  // barbed\n  {\n    path: \"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z\",\n    backoff: 1.55\n  },\n  // wide line-drawn\n  {\n    path: \"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z\",\n    backoff: 1.6\n  },\n  // narrower line-drawn\n  {\n    path: \"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z\",\n    backoff: 2\n  },\n  // circle\n  {\n    path: \"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\",\n    backoff: 0,\n    noRotate: !0\n  },\n  // square\n  {\n    path: \"M2,2V-2H-2V2Z\",\n    backoff: 0,\n    noRotate: !0\n  }\n], Vp = {\n  axisRefDescription: function(e, t, r) {\n    return [\n      \"If set to a\",\n      e,\n      \"axis id (e.g. *\" + e + \"* or\",\n      \"*\" + e + \"2*), the `\" + e + \"` position refers to a\",\n      e,\n      \"coordinate. If set to *paper*, the `\" + e + \"`\",\n      \"position refers to the distance from the\",\n      t,\n      \"of the plotting\",\n      \"area in normalized coordinates where *0* (*1*) corresponds to the\",\n      t,\n      \"(\" + r + \"). If set to a\",\n      e,\n      \"axis ID followed by\",\n      \"*domain* (separated by a space), the position behaves like for\",\n      \"*paper*, but refers to the distance in fractions of the domain\",\n      \"length from the\",\n      t,\n      \"of the domain of that axis: e.g.,\",\n      \"*\" + e + \"2 domain* refers to the domain of the second\",\n      e,\n      \" axis and a\",\n      e,\n      \"position of 0.5 refers to the\",\n      \"point between the\",\n      t,\n      \"and the\",\n      r,\n      \"of the domain of the\",\n      \"second\",\n      e,\n      \"axis.\"\n    ].join(\" \");\n  }\n}, nA = hE, aA = Fn, uh = Yn, XQ = Mr.templatedArray, fh = Vp;\nfunction iA(e) {\n  return [\n    \"In order for absolute positioning of the arrow to work, *a\" + e + \"ref* must be exactly the same as *\" + e + \"ref*, otherwise *a\" + e + \"ref* will revert to *pixel* (explained next).\",\n    \"For relative positioning, *a\" + e + \"ref* can be set to *pixel*,\",\n    \"in which case the *a\" + e + \"* value is specified in pixels\",\n    \"relative to *\" + e + \"*.\",\n    \"Absolute positioning is useful\",\n    \"for trendline annotations which should continue to indicate\",\n    \"the correct trend when zoomed. Relative positioning is useful\",\n    \"for specifying the text offset for an annotated point.\"\n  ].join(\" \");\n}\nfunction oA(e, t, r) {\n  return [\n    \"Sets the\",\n    e,\n    \"component of the arrow tail about the arrow head.\",\n    \"If `a\" + e + \"ref` is `pixel`, a positive (negative)\",\n    \"component corresponds to an arrow pointing\",\n    \"from\",\n    r,\n    \"to\",\n    t,\n    \"(\" + t,\n    \"to\",\n    r + \").\",\n    \"If `a\" + e + \"ref` is not `pixel` and is exactly the same as `\" + e + \"ref`,\",\n    \"this is an absolute value on that axis,\",\n    \"like `\" + e + \"`, specified in the same coordinates as `\" + e + \"ref`.\"\n  ].join(\" \");\n}\nvar td = XQ(\"annotation\", {\n  visible: {\n    valType: \"boolean\",\n    dflt: !0,\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Determines whether or not this annotation is visible.\"\n    ].join(\" \")\n  },\n  text: {\n    valType: \"string\",\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Sets the text associated with this annotation.\",\n      \"Plotly uses a subset of HTML tags to do things like\",\n      \"newline (<br>), bold (<b></b>), italics (<i></i>),\",\n      \"hyperlinks (<a href='...'></a>). Tags <em>, <sup>, <sub>\",\n      \"<span> are also supported.\"\n    ].join(\" \")\n  },\n  textangle: {\n    valType: \"angle\",\n    dflt: 0,\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Sets the angle at which the `text` is drawn\",\n      \"with respect to the horizontal.\"\n    ].join(\" \")\n  },\n  font: aA({\n    editType: \"calc+arraydraw\",\n    colorEditType: \"arraydraw\",\n    description: \"Sets the annotation text font.\"\n  }),\n  width: {\n    valType: \"number\",\n    min: 1,\n    dflt: null,\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Sets an explicit width for the text box. null (default) lets the\",\n      \"text set the box width. Wider text will be clipped.\",\n      \"There is no automatic wrapping; use <br> to start a new line.\"\n    ].join(\" \")\n  },\n  height: {\n    valType: \"number\",\n    min: 1,\n    dflt: null,\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Sets an explicit height for the text box. null (default) lets the\",\n      \"text set the box height. Taller text will be clipped.\"\n    ].join(\" \")\n  },\n  opacity: {\n    valType: \"number\",\n    min: 0,\n    max: 1,\n    dflt: 1,\n    editType: \"arraydraw\",\n    description: \"Sets the opacity of the annotation (text + arrow).\"\n  },\n  align: {\n    valType: \"enumerated\",\n    values: [\"left\", \"center\", \"right\"],\n    dflt: \"center\",\n    editType: \"arraydraw\",\n    description: [\n      \"Sets the horizontal alignment of the `text` within the box.\",\n      \"Has an effect only if `text` spans two or more lines\",\n      \"(i.e. `text` contains one or more <br> HTML tags) or if an\",\n      \"explicit width is set to override the text width.\"\n    ].join(\" \")\n  },\n  valign: {\n    valType: \"enumerated\",\n    values: [\"top\", \"middle\", \"bottom\"],\n    dflt: \"middle\",\n    editType: \"arraydraw\",\n    description: [\n      \"Sets the vertical alignment of the `text` within the box.\",\n      \"Has an effect only if an explicit height is set to override\",\n      \"the text height.\"\n    ].join(\" \")\n  },\n  bgcolor: {\n    valType: \"color\",\n    dflt: \"rgba(0,0,0,0)\",\n    editType: \"arraydraw\",\n    description: \"Sets the background color of the annotation.\"\n  },\n  bordercolor: {\n    valType: \"color\",\n    dflt: \"rgba(0,0,0,0)\",\n    editType: \"arraydraw\",\n    description: [\n      \"Sets the color of the border enclosing the annotation `text`.\"\n    ].join(\" \")\n  },\n  borderpad: {\n    valType: \"number\",\n    min: 0,\n    dflt: 1,\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Sets the padding (in px) between the `text`\",\n      \"and the enclosing border.\"\n    ].join(\" \")\n  },\n  borderwidth: {\n    valType: \"number\",\n    min: 0,\n    dflt: 1,\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Sets the width (in px) of the border enclosing\",\n      \"the annotation `text`.\"\n    ].join(\" \")\n  },\n  // arrow\n  showarrow: {\n    valType: \"boolean\",\n    dflt: !0,\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Determines whether or not the annotation is drawn with an arrow.\",\n      \"If *true*, `text` is placed near the arrow's tail.\",\n      \"If *false*, `text` lines up with the `x` and `y` provided.\"\n    ].join(\" \")\n  },\n  arrowcolor: {\n    valType: \"color\",\n    editType: \"arraydraw\",\n    description: \"Sets the color of the annotation arrow.\"\n  },\n  arrowhead: {\n    valType: \"integer\",\n    min: 0,\n    max: nA.length,\n    dflt: 1,\n    editType: \"arraydraw\",\n    description: \"Sets the end annotation arrow head style.\"\n  },\n  startarrowhead: {\n    valType: \"integer\",\n    min: 0,\n    max: nA.length,\n    dflt: 1,\n    editType: \"arraydraw\",\n    description: \"Sets the start annotation arrow head style.\"\n  },\n  arrowside: {\n    valType: \"flaglist\",\n    flags: [\"end\", \"start\"],\n    extras: [\"none\"],\n    dflt: \"end\",\n    editType: \"arraydraw\",\n    description: \"Sets the annotation arrow head position.\"\n  },\n  arrowsize: {\n    valType: \"number\",\n    min: 0.3,\n    dflt: 1,\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Sets the size of the end annotation arrow head, relative to `arrowwidth`.\",\n      \"A value of 1 (default) gives a head about 3x as wide as the line.\"\n    ].join(\" \")\n  },\n  startarrowsize: {\n    valType: \"number\",\n    min: 0.3,\n    dflt: 1,\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Sets the size of the start annotation arrow head, relative to `arrowwidth`.\",\n      \"A value of 1 (default) gives a head about 3x as wide as the line.\"\n    ].join(\" \")\n  },\n  arrowwidth: {\n    valType: \"number\",\n    min: 0.1,\n    editType: \"calc+arraydraw\",\n    description: \"Sets the width (in px) of annotation arrow line.\"\n  },\n  standoff: {\n    valType: \"number\",\n    min: 0,\n    dflt: 0,\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Sets a distance, in pixels, to move the end arrowhead away from the\",\n      \"position it is pointing at, for example to point at the edge of\",\n      \"a marker independent of zoom. Note that this shortens the arrow\",\n      \"from the `ax` / `ay` vector, in contrast to `xshift` / `yshift`\",\n      \"which moves everything by this amount.\"\n    ].join(\" \")\n  },\n  startstandoff: {\n    valType: \"number\",\n    min: 0,\n    dflt: 0,\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Sets a distance, in pixels, to move the start arrowhead away from the\",\n      \"position it is pointing at, for example to point at the edge of\",\n      \"a marker independent of zoom. Note that this shortens the arrow\",\n      \"from the `ax` / `ay` vector, in contrast to `xshift` / `yshift`\",\n      \"which moves everything by this amount.\"\n    ].join(\" \")\n  },\n  ax: {\n    valType: \"any\",\n    editType: \"calc+arraydraw\",\n    description: [\n      oA(\"x\", \"left\", \"right\")\n    ].join(\" \")\n  },\n  ay: {\n    valType: \"any\",\n    editType: \"calc+arraydraw\",\n    description: [\n      oA(\"y\", \"top\", \"bottom\")\n    ].join(\" \")\n  },\n  axref: {\n    valType: \"enumerated\",\n    dflt: \"pixel\",\n    values: [\n      \"pixel\",\n      uh.idRegex.x.toString()\n    ],\n    editType: \"calc\",\n    description: [\n      \"Indicates in what coordinates the tail of the\",\n      \"annotation (ax,ay) is specified.\",\n      fh.axisRefDescription(\"x\", \"left\", \"right\"),\n      iA(\"x\")\n    ].join(\" \")\n  },\n  ayref: {\n    valType: \"enumerated\",\n    dflt: \"pixel\",\n    values: [\n      \"pixel\",\n      uh.idRegex.y.toString()\n    ],\n    editType: \"calc\",\n    description: [\n      \"Indicates in what coordinates the tail of the\",\n      \"annotation (ax,ay) is specified.\",\n      fh.axisRefDescription(\"y\", \"bottom\", \"top\"),\n      iA(\"y\")\n    ].join(\" \")\n  },\n  // positioning\n  xref: {\n    valType: \"enumerated\",\n    values: [\n      \"paper\",\n      uh.idRegex.x.toString()\n    ],\n    editType: \"calc\",\n    description: [\n      \"Sets the annotation's x coordinate axis.\",\n      fh.axisRefDescription(\"x\", \"left\", \"right\")\n    ].join(\" \")\n  },\n  x: {\n    valType: \"any\",\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Sets the annotation's x position.\",\n      \"If the axis `type` is *log*, then you must take the\",\n      \"log of your desired range.\",\n      \"If the axis `type` is *date*, it should be date strings,\",\n      \"like date data, though Date objects and unix milliseconds\",\n      \"will be accepted and converted to strings.\",\n      \"If the axis `type` is *category*, it should be numbers,\",\n      \"using the scale where each category is assigned a serial\",\n      \"number from zero in the order it appears.\"\n    ].join(\" \")\n  },\n  xanchor: {\n    valType: \"enumerated\",\n    values: [\"auto\", \"left\", \"center\", \"right\"],\n    dflt: \"auto\",\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Sets the text box's horizontal position anchor\",\n      \"This anchor binds the `x` position to the *left*, *center*\",\n      \"or *right* of the annotation.\",\n      \"For example, if `x` is set to 1, `xref` to *paper* and\",\n      \"`xanchor` to *right* then the right-most portion of the\",\n      \"annotation lines up with the right-most edge of the\",\n      \"plotting area.\",\n      \"If *auto*, the anchor is equivalent to *center* for\",\n      \"data-referenced annotations or if there is an arrow,\",\n      \"whereas for paper-referenced with no arrow, the anchor picked\",\n      \"corresponds to the closest side.\"\n    ].join(\" \")\n  },\n  xshift: {\n    valType: \"number\",\n    dflt: 0,\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Shifts the position of the whole annotation and arrow to the\",\n      \"right (positive) or left (negative) by this many pixels.\"\n    ].join(\" \")\n  },\n  yref: {\n    valType: \"enumerated\",\n    values: [\n      \"paper\",\n      uh.idRegex.y.toString()\n    ],\n    editType: \"calc\",\n    description: [\n      \"Sets the annotation's y coordinate axis.\",\n      fh.axisRefDescription(\"y\", \"bottom\", \"top\")\n    ].join(\" \")\n  },\n  y: {\n    valType: \"any\",\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Sets the annotation's y position.\",\n      \"If the axis `type` is *log*, then you must take the\",\n      \"log of your desired range.\",\n      \"If the axis `type` is *date*, it should be date strings,\",\n      \"like date data, though Date objects and unix milliseconds\",\n      \"will be accepted and converted to strings.\",\n      \"If the axis `type` is *category*, it should be numbers,\",\n      \"using the scale where each category is assigned a serial\",\n      \"number from zero in the order it appears.\"\n    ].join(\" \")\n  },\n  yanchor: {\n    valType: \"enumerated\",\n    values: [\"auto\", \"top\", \"middle\", \"bottom\"],\n    dflt: \"auto\",\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Sets the text box's vertical position anchor\",\n      \"This anchor binds the `y` position to the *top*, *middle*\",\n      \"or *bottom* of the annotation.\",\n      \"For example, if `y` is set to 1, `yref` to *paper* and\",\n      \"`yanchor` to *top* then the top-most portion of the\",\n      \"annotation lines up with the top-most edge of the\",\n      \"plotting area.\",\n      \"If *auto*, the anchor is equivalent to *middle* for\",\n      \"data-referenced annotations or if there is an arrow,\",\n      \"whereas for paper-referenced with no arrow, the anchor picked\",\n      \"corresponds to the closest side.\"\n    ].join(\" \")\n  },\n  yshift: {\n    valType: \"number\",\n    dflt: 0,\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Shifts the position of the whole annotation and arrow up\",\n      \"(positive) or down (negative) by this many pixels.\"\n    ].join(\" \")\n  },\n  clicktoshow: {\n    valType: \"enumerated\",\n    values: [!1, \"onoff\", \"onout\"],\n    dflt: !1,\n    editType: \"arraydraw\",\n    description: [\n      \"Makes this annotation respond to clicks on the plot.\",\n      \"If you click a data point that exactly matches the `x` and `y`\",\n      \"values of this annotation, and it is hidden (visible: false),\",\n      \"it will appear. In *onoff* mode, you must click the same point\",\n      \"again to make it disappear, so if you click multiple points,\",\n      \"you can show multiple annotations. In *onout* mode, a click\",\n      \"anywhere else in the plot (on another data point or not) will\",\n      \"hide this annotation.\",\n      \"If you need to show/hide this annotation in response to different\",\n      \"`x` or `y` values, you can set `xclick` and/or `yclick`. This is\",\n      \"useful for example to label the side of a bar. To label markers\",\n      \"though, `standoff` is preferred over `xclick` and `yclick`.\"\n    ].join(\" \")\n  },\n  xclick: {\n    valType: \"any\",\n    editType: \"arraydraw\",\n    description: [\n      \"Toggle this annotation when clicking a data point whose `x` value\",\n      \"is `xclick` rather than the annotation's `x` value.\"\n    ].join(\" \")\n  },\n  yclick: {\n    valType: \"any\",\n    editType: \"arraydraw\",\n    description: [\n      \"Toggle this annotation when clicking a data point whose `y` value\",\n      \"is `yclick` rather than the annotation's `y` value.\"\n    ].join(\" \")\n  },\n  hovertext: {\n    valType: \"string\",\n    editType: \"arraydraw\",\n    description: [\n      \"Sets text to appear when hovering over this annotation.\",\n      \"If omitted or blank, no hover label will appear.\"\n    ].join(\" \")\n  },\n  hoverlabel: {\n    bgcolor: {\n      valType: \"color\",\n      editType: \"arraydraw\",\n      description: [\n        \"Sets the background color of the hover label.\",\n        \"By default uses the annotation's `bgcolor` made opaque,\",\n        \"or white if it was transparent.\"\n      ].join(\" \")\n    },\n    bordercolor: {\n      valType: \"color\",\n      editType: \"arraydraw\",\n      description: [\n        \"Sets the border color of the hover label.\",\n        \"By default uses either dark grey or white, for maximum\",\n        \"contrast with `hoverlabel.bgcolor`.\"\n      ].join(\" \")\n    },\n    font: aA({\n      editType: \"arraydraw\",\n      description: [\n        \"Sets the hover label text font.\",\n        \"By default uses the global hover font and size,\",\n        \"with color from `hoverlabel.bordercolor`.\"\n      ].join(\" \")\n    }),\n    editType: \"arraydraw\"\n  },\n  captureevents: {\n    valType: \"boolean\",\n    editType: \"arraydraw\",\n    description: [\n      \"Determines whether the annotation text box captures mouse move\",\n      \"and click events, or allows those events to pass through to data\",\n      \"points in the plot that may be behind the annotation. By default\",\n      \"`captureevents` is *false* unless `hovertext` is provided.\",\n      \"If you use the event `plotly_clickannotation` without `hovertext`\",\n      \"you must explicitly enable `captureevents`.\"\n    ].join(\" \")\n  },\n  editType: \"calc\",\n  _deprecated: {\n    ref: {\n      valType: \"string\",\n      editType: \"calc\",\n      description: [\n        \"Obsolete. Set `xref` and `yref` separately instead.\"\n      ].join(\" \")\n    }\n  }\n}), e_ = {\n  PTS_LINESONLY: 20,\n  // fixed parameters of clustering and clipping algorithms\n  // fraction of clustering tolerance \"so close we don't even consider it a new point\"\n  minTolerance: 0.2,\n  // how fast does clustering tolerance increase as you get away from the visible region\n  toleranceGrowth: 10,\n  // number of viewport sizes away from the visible region\n  // at which we clip all lines to the perimeter\n  maxScreensAway: 20,\n  eventDataKeys: []\n}, lA = kp.axisHoverFormat, KQ = _i.texttemplateAttrs, JQ = _i.hovertemplateAttrs, sA = Jc, QQ = Fn, eee = Zi.dash, tee = Zi.pattern, ree = Sr, uA = e_, Ng = en.extendFlat;\nfunction fA(e) {\n  return {\n    valType: \"any\",\n    dflt: 0,\n    editType: \"calc\",\n    description: [\n      \"Only relevant when the axis `type` is *date*.\",\n      \"Sets the period positioning in milliseconds or *M<n>* on the \" + e + \" axis.\",\n      \"Special values in the form of *M<n>* could be used to declare\",\n      \"the number of months. In this case `n` must be a positive integer.\"\n    ].join(\" \")\n  };\n}\nfunction cA(e) {\n  return {\n    valType: \"any\",\n    editType: \"calc\",\n    description: [\n      \"Only relevant when the axis `type` is *date*.\",\n      \"Sets the base for period positioning in milliseconds or date string on the \" + e + \" axis.\",\n      \"When `\" + e + \"period` is round number of weeks,\",\n      \"the `\" + e + \"period0` by default would be on a Sunday i.e. 2000-01-02,\",\n      \"otherwise it would be at 2000-01-01.\"\n    ].join(\" \")\n  };\n}\nfunction dA(e) {\n  return {\n    valType: \"enumerated\",\n    values: [\n      \"start\",\n      \"middle\",\n      \"end\"\n    ],\n    dflt: \"middle\",\n    editType: \"calc\",\n    description: [\n      \"Only relevant when the axis `type` is *date*.\",\n      \"Sets the alignment of data points on the \" + e + \" axis.\"\n    ].join(\" \")\n  };\n}\nvar ws = {\n  x: {\n    valType: \"data_array\",\n    editType: \"calc+clearAxisTypes\",\n    anim: !0,\n    description: \"Sets the x coordinates.\"\n  },\n  x0: {\n    valType: \"any\",\n    dflt: 0,\n    editType: \"calc+clearAxisTypes\",\n    anim: !0,\n    description: [\n      \"Alternate to `x`.\",\n      \"Builds a linear space of x coordinates.\",\n      \"Use with `dx`\",\n      \"where `x0` is the starting coordinate and `dx` the step.\"\n    ].join(\" \")\n  },\n  dx: {\n    valType: \"number\",\n    dflt: 1,\n    editType: \"calc\",\n    anim: !0,\n    description: [\n      \"Sets the x coordinate step.\",\n      \"See `x0` for more info.\"\n    ].join(\" \")\n  },\n  y: {\n    valType: \"data_array\",\n    editType: \"calc+clearAxisTypes\",\n    anim: !0,\n    description: \"Sets the y coordinates.\"\n  },\n  y0: {\n    valType: \"any\",\n    dflt: 0,\n    editType: \"calc+clearAxisTypes\",\n    anim: !0,\n    description: [\n      \"Alternate to `y`.\",\n      \"Builds a linear space of y coordinates.\",\n      \"Use with `dy`\",\n      \"where `y0` is the starting coordinate and `dy` the step.\"\n    ].join(\" \")\n  },\n  dy: {\n    valType: \"number\",\n    dflt: 1,\n    editType: \"calc\",\n    anim: !0,\n    description: [\n      \"Sets the y coordinate step.\",\n      \"See `y0` for more info.\"\n    ].join(\" \")\n  },\n  xperiod: fA(\"x\"),\n  yperiod: fA(\"y\"),\n  xperiod0: cA(\"x0\"),\n  yperiod0: cA(\"y0\"),\n  xperiodalignment: dA(\"x\"),\n  yperiodalignment: dA(\"y\"),\n  xhoverformat: lA(\"x\"),\n  yhoverformat: lA(\"y\"),\n  offsetgroup: {\n    valType: \"string\",\n    dflt: \"\",\n    editType: \"calc\",\n    description: [\n      \"Set several traces linked to the same position axis\",\n      \"or matching axes to the same\",\n      \"offsetgroup where bars of the same position coordinate will line up.\"\n    ].join(\" \")\n  },\n  alignmentgroup: {\n    valType: \"string\",\n    dflt: \"\",\n    editType: \"calc\",\n    description: [\n      \"Set several traces linked to the same position axis\",\n      \"or matching axes to the same\",\n      \"alignmentgroup. This controls whether bars compute their positional\",\n      \"range dependently or independently.\"\n    ].join(\" \")\n  },\n  stackgroup: {\n    valType: \"string\",\n    dflt: \"\",\n    editType: \"calc\",\n    description: [\n      \"Set several scatter traces (on the same subplot) to the same\",\n      \"stackgroup in order to add their y values (or their x values if\",\n      \"`orientation` is *h*). If blank or omitted this trace will not be\",\n      \"stacked. Stacking also turns `fill` on by default, using *tonexty*\",\n      \"(*tonextx*) if `orientation` is *h* (*v*) and sets the default\",\n      \"`mode` to *lines* irrespective of point count.\",\n      \"You can only stack on a numeric (linear or log) axis.\",\n      \"Traces in a `stackgroup` will only fill to (or be filled to) other\",\n      \"traces in the same group. With multiple `stackgroup`s or some\",\n      \"traces stacked and some not, if fill-linked traces are not already\",\n      \"consecutive, the later ones will be pushed down in the drawing order.\"\n    ].join(\" \")\n  },\n  orientation: {\n    valType: \"enumerated\",\n    values: [\"v\", \"h\"],\n    editType: \"calc\",\n    description: [\n      \"Only relevant in the following cases:\",\n      \"1. when `scattermode` is set to *group*.\",\n      \"2. when `stackgroup` is used, and only the first\",\n      \"`orientation` found in the `stackgroup` will be used - including\",\n      \"if `visible` is *legendonly* but not if it is `false`. Sets the\",\n      \"stacking direction. With *v* (*h*), the y (x) values of subsequent\",\n      \"traces are added. Also affects the default value of `fill`.\"\n    ].join(\" \")\n  },\n  groupnorm: {\n    valType: \"enumerated\",\n    values: [\"\", \"fraction\", \"percent\"],\n    dflt: \"\",\n    editType: \"calc\",\n    description: [\n      \"Only relevant when `stackgroup` is used, and only the first\",\n      \"`groupnorm` found in the `stackgroup` will be used - including\",\n      \"if `visible` is *legendonly* but not if it is `false`.\",\n      \"Sets the normalization for the sum of this `stackgroup`.\",\n      \"With *fraction*, the value of each trace at each location is\",\n      \"divided by the sum of all trace values at that location.\",\n      \"*percent* is the same but multiplied by 100 to show percentages.\",\n      \"If there are multiple subplots, or multiple `stackgroup`s on one\",\n      \"subplot, each will be normalized within its own set.\"\n    ].join(\" \")\n  },\n  stackgaps: {\n    valType: \"enumerated\",\n    values: [\"infer zero\", \"interpolate\"],\n    dflt: \"infer zero\",\n    editType: \"calc\",\n    description: [\n      \"Only relevant when `stackgroup` is used, and only the first\",\n      \"`stackgaps` found in the `stackgroup` will be used - including\",\n      \"if `visible` is *legendonly* but not if it is `false`.\",\n      \"Determines how we handle locations at which other traces in this\",\n      \"group have data but this one does not.\",\n      \"With *infer zero* we insert a zero at these locations.\",\n      \"With *interpolate* we linearly interpolate between existing\",\n      \"values, and extrapolate a constant beyond the existing values.\"\n      // TODO - implement interrupt mode\n      // '*interrupt* omits this trace from the stack at this location by',\n      // 'dropping abruptly, midway between the existing and missing locations.'\n    ].join(\" \")\n  },\n  text: {\n    valType: \"string\",\n    dflt: \"\",\n    arrayOk: !0,\n    editType: \"calc\",\n    description: [\n      \"Sets text elements associated with each (x,y) pair.\",\n      \"If a single string, the same string appears over\",\n      \"all the data points.\",\n      \"If an array of string, the items are mapped in order to the\",\n      \"this trace's (x,y) coordinates.\",\n      \"If trace `hoverinfo` contains a *text* flag and *hovertext* is not set,\",\n      \"these elements will be seen in the hover labels.\"\n    ].join(\" \")\n  },\n  texttemplate: KQ({}, {}),\n  hovertext: {\n    valType: \"string\",\n    dflt: \"\",\n    arrayOk: !0,\n    editType: \"style\",\n    description: [\n      \"Sets hover text elements associated with each (x,y) pair.\",\n      \"If a single string, the same string appears over\",\n      \"all the data points.\",\n      \"If an array of string, the items are mapped in order to the\",\n      \"this trace's (x,y) coordinates.\",\n      \"To be seen, trace `hoverinfo` must contain a *text* flag.\"\n    ].join(\" \")\n  },\n  mode: {\n    valType: \"flaglist\",\n    flags: [\"lines\", \"markers\", \"text\"],\n    extras: [\"none\"],\n    editType: \"calc\",\n    description: [\n      \"Determines the drawing mode for this scatter trace.\",\n      \"If the provided `mode` includes *text* then the `text` elements\",\n      \"appear at the coordinates. Otherwise, the `text` elements\",\n      \"appear on hover.\",\n      \"If there are less than \" + uA.PTS_LINESONLY + \" points\",\n      \"and the trace is not stacked\",\n      \"then the default is *lines+markers*. Otherwise, *lines*.\"\n    ].join(\" \")\n  },\n  hoveron: {\n    valType: \"flaglist\",\n    flags: [\"points\", \"fills\"],\n    editType: \"style\",\n    description: [\n      \"Do the hover effects highlight individual points (markers or\",\n      \"line points) or do they highlight filled regions?\",\n      \"If the fill is *toself* or *tonext* and there are no markers\",\n      \"or text, then the default is *fills*, otherwise it is *points*.\"\n    ].join(\" \")\n  },\n  hovertemplate: JQ({}, {\n    keys: uA.eventDataKeys\n  }),\n  line: {\n    color: {\n      valType: \"color\",\n      editType: \"style\",\n      anim: !0,\n      description: \"Sets the line color.\"\n    },\n    width: {\n      valType: \"number\",\n      min: 0,\n      dflt: 2,\n      editType: \"style\",\n      anim: !0,\n      description: \"Sets the line width (in px).\"\n    },\n    shape: {\n      valType: \"enumerated\",\n      values: [\"linear\", \"spline\", \"hv\", \"vh\", \"hvh\", \"vhv\"],\n      dflt: \"linear\",\n      editType: \"plot\",\n      description: [\n        \"Determines the line shape.\",\n        \"With *spline* the lines are drawn using spline interpolation.\",\n        \"The other available values correspond to step-wise line shapes.\"\n      ].join(\" \")\n    },\n    smoothing: {\n      valType: \"number\",\n      min: 0,\n      max: 1.3,\n      dflt: 1,\n      editType: \"plot\",\n      description: [\n        \"Has an effect only if `shape` is set to *spline*\",\n        \"Sets the amount of smoothing.\",\n        \"*0* corresponds to no smoothing (equivalent to a *linear* shape).\"\n      ].join(\" \")\n    },\n    dash: Ng({}, eee, { editType: \"style\" }),\n    backoff: {\n      // we want to have a similar option for the start of the line\n      valType: \"number\",\n      min: 0,\n      dflt: \"auto\",\n      arrayOk: !0,\n      editType: \"plot\",\n      description: [\n        \"Sets the line back off from the end point of the nth line segment (in px).\",\n        \"This option is useful e.g. to avoid overlap with arrowhead markers.\",\n        \"With *auto* the lines would trim before markers if `marker.angleref` is set to *previous*.\"\n      ].join(\" \")\n    },\n    simplify: {\n      valType: \"boolean\",\n      dflt: !0,\n      editType: \"plot\",\n      description: [\n        \"Simplifies lines by removing nearly-collinear points. When transitioning\",\n        \"lines, it may be desirable to disable this so that the number of points\",\n        \"along the resulting SVG path is unaffected.\"\n      ].join(\" \")\n    },\n    editType: \"plot\"\n  },\n  connectgaps: {\n    valType: \"boolean\",\n    dflt: !1,\n    editType: \"calc\",\n    description: [\n      \"Determines whether or not gaps\",\n      \"(i.e. {nan} or missing values)\",\n      \"in the provided data arrays are connected.\"\n    ].join(\" \")\n  },\n  cliponaxis: {\n    valType: \"boolean\",\n    dflt: !0,\n    editType: \"plot\",\n    description: [\n      \"Determines whether or not markers and text nodes\",\n      \"are clipped about the subplot axes.\",\n      \"To show markers and text nodes above axis lines and tick labels,\",\n      \"make sure to set `xaxis.layer` and `yaxis.layer` to *below traces*.\"\n    ].join(\" \")\n  },\n  fill: {\n    valType: \"enumerated\",\n    values: [\"none\", \"tozeroy\", \"tozerox\", \"tonexty\", \"tonextx\", \"toself\", \"tonext\"],\n    editType: \"calc\",\n    description: [\n      \"Sets the area to fill with a solid color.\",\n      \"Defaults to *none* unless this trace is stacked, then it gets\",\n      \"*tonexty* (*tonextx*) if `orientation` is *v* (*h*)\",\n      \"Use with `fillcolor` if not *none*.\",\n      \"*tozerox* and *tozeroy* fill to x=0 and y=0 respectively.\",\n      \"*tonextx* and *tonexty* fill between the endpoints of this\",\n      \"trace and the endpoints of the trace before it, connecting those\",\n      \"endpoints with straight lines (to make a stacked area graph);\",\n      \"if there is no trace before it, they behave like *tozerox* and\",\n      \"*tozeroy*.\",\n      \"*toself* connects the endpoints of the trace (or each segment\",\n      \"of the trace if it has gaps) into a closed shape.\",\n      \"*tonext* fills the space between two traces if one completely\",\n      \"encloses the other (eg consecutive contour lines), and behaves like\",\n      \"*toself* if there is no trace before it. *tonext* should not be\",\n      \"used if one trace does not enclose the other.\",\n      \"Traces in a `stackgroup` will only fill to (or be filled to) other\",\n      \"traces in the same group. With multiple `stackgroup`s or some\",\n      \"traces stacked and some not, if fill-linked traces are not already\",\n      \"consecutive, the later ones will be pushed down in the drawing order.\"\n    ].join(\" \")\n  },\n  fillcolor: {\n    valType: \"color\",\n    editType: \"style\",\n    anim: !0,\n    description: [\n      \"Sets the fill color.\",\n      \"Defaults to a half-transparent variant of the line color,\",\n      \"marker color, or marker line color, whichever is available.\"\n    ].join(\" \")\n  },\n  fillpattern: tee,\n  marker: Ng(\n    {\n      symbol: {\n        valType: \"enumerated\",\n        values: ree.symbolList,\n        dflt: \"circle\",\n        arrayOk: !0,\n        editType: \"style\",\n        description: [\n          \"Sets the marker symbol type.\",\n          \"Adding 100 is equivalent to appending *-open* to a symbol name.\",\n          \"Adding 200 is equivalent to appending *-dot* to a symbol name.\",\n          \"Adding 300 is equivalent to appending *-open-dot*\",\n          \"or *dot-open* to a symbol name.\"\n        ].join(\" \")\n      },\n      opacity: {\n        valType: \"number\",\n        min: 0,\n        max: 1,\n        arrayOk: !0,\n        editType: \"style\",\n        anim: !0,\n        description: \"Sets the marker opacity.\"\n      },\n      angle: {\n        valType: \"angle\",\n        dflt: 0,\n        arrayOk: !0,\n        editType: \"plot\",\n        anim: !1,\n        // TODO: possibly set to true in future\n        description: [\n          \"Sets the marker angle in respect to `angleref`.\"\n        ].join(\" \")\n      },\n      angleref: {\n        valType: \"enumerated\",\n        values: [\"previous\", \"up\"],\n        dflt: \"up\",\n        editType: \"plot\",\n        anim: !1,\n        description: [\n          \"Sets the reference for marker angle.\",\n          \"With *previous*, angle 0 points along the line from the previous point to this one.\",\n          \"With *up*, angle 0 points toward the top of the screen.\"\n        ].join(\" \")\n      },\n      standoff: {\n        valType: \"number\",\n        min: 0,\n        dflt: 0,\n        arrayOk: !0,\n        editType: \"plot\",\n        anim: !0,\n        description: [\n          \"Moves the marker away from the data point in the direction of `angle` (in px).\",\n          \"This can be useful for example if you have another marker at this\",\n          \"location and you want to point an arrowhead marker at it.\"\n        ].join(\" \")\n      },\n      size: {\n        valType: \"number\",\n        min: 0,\n        dflt: 6,\n        arrayOk: !0,\n        editType: \"calc\",\n        anim: !0,\n        description: \"Sets the marker size (in px).\"\n      },\n      maxdisplayed: {\n        valType: \"number\",\n        min: 0,\n        dflt: 0,\n        editType: \"plot\",\n        description: [\n          \"Sets a maximum number of points to be drawn on the graph.\",\n          \"*0* corresponds to no limit.\"\n        ].join(\" \")\n      },\n      sizeref: {\n        valType: \"number\",\n        dflt: 1,\n        editType: \"calc\",\n        description: [\n          \"Has an effect only if `marker.size` is set to a numerical array.\",\n          \"Sets the scale factor used to determine the rendered size of\",\n          \"marker points. Use with `sizemin` and `sizemode`.\"\n        ].join(\" \")\n      },\n      sizemin: {\n        valType: \"number\",\n        min: 0,\n        dflt: 0,\n        editType: \"calc\",\n        description: [\n          \"Has an effect only if `marker.size` is set to a numerical array.\",\n          \"Sets the minimum size (in px) of the rendered marker points.\"\n        ].join(\" \")\n      },\n      sizemode: {\n        valType: \"enumerated\",\n        values: [\"diameter\", \"area\"],\n        dflt: \"diameter\",\n        editType: \"calc\",\n        description: [\n          \"Has an effect only if `marker.size` is set to a numerical array.\",\n          \"Sets the rule for which the data in `size` is converted\",\n          \"to pixels.\"\n        ].join(\" \")\n      },\n      line: Ng(\n        {\n          width: {\n            valType: \"number\",\n            min: 0,\n            arrayOk: !0,\n            editType: \"style\",\n            anim: !0,\n            description: \"Sets the width (in px) of the lines bounding the marker points.\"\n          },\n          editType: \"calc\"\n        },\n        sA(\"marker.line\", { anim: !0 })\n      ),\n      gradient: {\n        type: {\n          valType: \"enumerated\",\n          values: [\"radial\", \"horizontal\", \"vertical\", \"none\"],\n          arrayOk: !0,\n          dflt: \"none\",\n          editType: \"calc\",\n          description: [\n            \"Sets the type of gradient used to fill the markers\"\n          ].join(\" \")\n        },\n        color: {\n          valType: \"color\",\n          arrayOk: !0,\n          editType: \"calc\",\n          description: [\n            \"Sets the final color of the gradient fill:\",\n            \"the center color for radial, the right for horizontal,\",\n            \"or the bottom for vertical.\"\n          ].join(\" \")\n        },\n        editType: \"calc\"\n      },\n      editType: \"calc\"\n    },\n    sA(\"marker\", { anim: !0 })\n  ),\n  selected: {\n    marker: {\n      opacity: {\n        valType: \"number\",\n        min: 0,\n        max: 1,\n        editType: \"style\",\n        description: \"Sets the marker opacity of selected points.\"\n      },\n      color: {\n        valType: \"color\",\n        editType: \"style\",\n        description: \"Sets the marker color of selected points.\"\n      },\n      size: {\n        valType: \"number\",\n        min: 0,\n        editType: \"style\",\n        description: \"Sets the marker size of selected points.\"\n      },\n      editType: \"style\"\n    },\n    textfont: {\n      color: {\n        valType: \"color\",\n        editType: \"style\",\n        description: \"Sets the text font color of selected points.\"\n      },\n      editType: \"style\"\n    },\n    editType: \"style\"\n  },\n  unselected: {\n    marker: {\n      opacity: {\n        valType: \"number\",\n        min: 0,\n        max: 1,\n        editType: \"style\",\n        description: \"Sets the marker opacity of unselected points, applied only when a selection exists.\"\n      },\n      color: {\n        valType: \"color\",\n        editType: \"style\",\n        description: \"Sets the marker color of unselected points, applied only when a selection exists.\"\n      },\n      size: {\n        valType: \"number\",\n        min: 0,\n        editType: \"style\",\n        description: \"Sets the marker size of unselected points, applied only when a selection exists.\"\n      },\n      editType: \"style\"\n    },\n    textfont: {\n      color: {\n        valType: \"color\",\n        editType: \"style\",\n        description: \"Sets the text font color of unselected points, applied only when a selection exists.\"\n      },\n      editType: \"style\"\n    },\n    editType: \"style\"\n  },\n  textposition: {\n    valType: \"enumerated\",\n    values: [\n      \"top left\",\n      \"top center\",\n      \"top right\",\n      \"middle left\",\n      \"middle center\",\n      \"middle right\",\n      \"bottom left\",\n      \"bottom center\",\n      \"bottom right\"\n    ],\n    dflt: \"middle center\",\n    arrayOk: !0,\n    editType: \"calc\",\n    description: [\n      \"Sets the positions of the `text` elements\",\n      \"with respects to the (x,y) coordinates.\"\n    ].join(\" \")\n  },\n  textfont: QQ({\n    editType: \"calc\",\n    colorEditType: \"style\",\n    arrayOk: !0,\n    description: \"Sets the text font.\"\n  })\n}, hA = td, vA = ws.line, nee = Zi.dash, ch = en.extendFlat, aee = Lo.overrideAll, iee = Mr.templatedArray, pA = Vp, vE = aee(iee(\"selection\", {\n  type: {\n    valType: \"enumerated\",\n    values: [\"rect\", \"path\"],\n    description: [\n      \"Specifies the selection type to be drawn.\",\n      \"If *rect*, a rectangle is drawn linking\",\n      \"(`x0`,`y0`), (`x1`,`y0`), (`x1`,`y1`) and (`x0`,`y1`).\",\n      \"If *path*, draw a custom SVG path using `path`.\"\n    ].join(\" \")\n  },\n  xref: ch({}, hA.xref, {\n    description: [\n      \"Sets the selection's x coordinate axis.\",\n      pA.axisRefDescription(\"x\", \"left\", \"right\")\n    ].join(\" \")\n  }),\n  yref: ch({}, hA.yref, {\n    description: [\n      \"Sets the selection's x coordinate axis.\",\n      pA.axisRefDescription(\"y\", \"bottom\", \"top\")\n    ].join(\" \")\n  }),\n  x0: {\n    valType: \"any\",\n    description: \"Sets the selection's starting x position.\"\n  },\n  x1: {\n    valType: \"any\",\n    description: \"Sets the selection's end x position.\"\n  },\n  y0: {\n    valType: \"any\",\n    description: \"Sets the selection's starting y position.\"\n  },\n  y1: {\n    valType: \"any\",\n    description: \"Sets the selection's end y position.\"\n  },\n  path: {\n    valType: \"string\",\n    editType: \"arraydraw\",\n    description: [\n      \"For `type` *path* - a valid SVG path similar to `shapes.path` in data coordinates.\",\n      \"Allowed segments are: M, L and Z.\"\n    ].join(\" \")\n  },\n  opacity: {\n    valType: \"number\",\n    min: 0,\n    max: 1,\n    dflt: 0.7,\n    editType: \"arraydraw\",\n    description: \"Sets the opacity of the selection.\"\n  },\n  line: {\n    color: vA.color,\n    width: ch({}, vA.width, {\n      min: 1,\n      dflt: 1\n    }),\n    dash: ch({}, nee, {\n      dflt: \"dot\"\n    })\n  }\n}), \"arraydraw\", \"from-root\"), mA = Ue, dh = Cr, oee = Ji, lee = vE, gA = xl, see = function(t, r) {\n  oee(t, r, {\n    name: \"selections\",\n    handleItemDefaults: uee\n  });\n  for (var n = r.selections, a = 0; a < n.length; a++) {\n    var i = n[a];\n    i && i.path === void 0 && (i.x0 === void 0 || i.x1 === void 0 || i.y0 === void 0 || i.y1 === void 0) && (r.selections[a] = null);\n  }\n};\nfunction uee(e, t, r) {\n  function n(T, S) {\n    return mA.coerce(e, t, lee, T, S);\n  }\n  var a = n(\"path\"), i = a ? \"path\" : \"rect\", o = n(\"type\", i), l = o !== \"path\";\n  l && delete t.path, n(\"opacity\"), n(\"line.color\"), n(\"line.width\"), n(\"line.dash\");\n  for (var s = [\"x\", \"y\"], u = 0; u < 2; u++) {\n    var f = s[u], d = { _fullLayout: r }, h, p, v, m = dh.coerceRef(e, t, d, f);\n    if (h = dh.getFromId(d, m), h._selectionIndices.push(t._index), v = gA.rangeToShapePosition(h), p = gA.shapePositionToRange(h), l) {\n      var g = f + \"0\", y = f + \"1\", w = e[g], k = e[y];\n      e[g] = p(e[g], !0), e[y] = p(e[y], !0), dh.coercePosition(t, d, n, m, g), dh.coercePosition(t, d, n, m, y);\n      var x = t[g], _ = t[y];\n      x !== void 0 && _ !== void 0 && (t[g] = v(x), t[y] = v(_), e[g] = w, e[y] = k);\n    }\n  }\n  l && mA.noneOrAll(e, t, [\"x0\", \"x1\", \"y0\", \"y1\"]);\n}\nvar fee = function(t, r, n) {\n  n(\"newselection.mode\");\n  var a = n(\"newselection.line.width\");\n  a && (n(\"newselection.line.color\"), n(\"newselection.line.dash\")), n(\"activeselection.fillcolor\"), n(\"activeselection.opacity\");\n}, cee = Nt, yA = Ue, bA = gn, qp = function(t) {\n  return function(n, a) {\n    var i = n[t];\n    if (Array.isArray(i))\n      for (var o = cee.subplotsRegistry.cartesian, l = o.idRegex, s = a._subplots, u = s.xaxis, f = s.yaxis, d = s.cartesian, h = a._has(\"cartesian\") || a._has(\"gl2d\"), p = 0; p < i.length; p++) {\n        var v = i[p];\n        if (yA.isPlainObject(v)) {\n          var m = bA.cleanId(v.xref, \"x\", !1), g = bA.cleanId(v.yref, \"y\", !1), y = l.x.test(m), w = l.y.test(g);\n          if (y || w) {\n            h || yA.pushUnique(a._basePlotModules, o);\n            var k = !1;\n            y && u.indexOf(m) === -1 && (u.push(m), k = !0), w && f.indexOf(g) === -1 && (f.push(g), k = !0), k && y && w && d.push(m + g);\n          }\n        }\n      }\n  };\n}, _A = XD, Nf = YQ, rd = {\n  moduleType: \"component\",\n  name: \"selections\",\n  layoutAttributes: vE,\n  supplyLayoutDefaults: see,\n  supplyDrawNewSelectionDefaults: fee,\n  includeBasePlot: qp(\"selections\"),\n  draw: _A.draw,\n  drawOne: _A.drawOne,\n  reselect: Nf.reselect,\n  prepSelect: Nf.prepSelect,\n  clearOutline: Nf.clearOutline,\n  clearSelectionsCache: Nf.clearSelectionsCache,\n  selectOnClick: Nf.selectOnClick\n}, t_ = lr, Ha = Ue, xA = Ha.numberFormat, dee = bi, hee = K4, hh = Nt, pE = Ha.strTranslate, vee = Rn, wA = nr, Go = Sr, pee = Ao, TA = Cr, mee = xs, gee = Qi, mE = rf, vh = mE.selectingOrDrawing, yee = mE.freeMode, bee = On.FROM_TL, _ee = Eb, xee = zp.redrawReglTraces, wee = Tn, Hy = gn.getFromId, Tee = rd.prepSelect, kee = rd.clearOutline, Aee = rd.selectOnClick, Og = VD, r_ = Yn, kA = r_.MINDRAG, Vn = r_.MINZOOM, AA = !0;\nfunction Mee(e, t, r, n, a, i, o, l) {\n  var s = e._fullLayout._zoomlayer, u = o + l === \"nsew\", f = (o + l).length === 1, d, h, p, v, m, g, y, w, k, x, _, T, S, M, L, F, $, I, O, G, K, V, z;\n  r += t.yaxis._shift;\n  function P() {\n    if (d = t.xaxis, h = t.yaxis, k = d._length, x = h._length, y = d._offset, w = h._offset, p = {}, p[d._id] = d, v = {}, v[h._id] = h, o && l)\n      for (var Pe = t.overlays, Ie = 0; Ie < Pe.length; Ie++) {\n        var Ne = Pe[Ie].xaxis;\n        p[Ne._id] = Ne;\n        var tt = Pe[Ie].yaxis;\n        v[tt._id] = tt;\n      }\n    m = LA(p), g = LA(v), S = MA(m, l), M = MA(g, o), L = !M && !S, T = CA(e, e._fullLayout._axisMatchGroups, p, v), _ = CA(e, e._fullLayout._axisConstraintGroups, p, v, T);\n    var Je = _.isSubplotConstrained || T.isSubplotConstrained;\n    F = l || Je, $ = o || Je;\n    var it = e._fullLayout;\n    I = it._has(\"scattergl\"), O = it._has(\"splom\"), G = it._has(\"svg\");\n  }\n  P();\n  var R = Lee(M + S, e._fullLayout.dragmode, u), H = yE(t, o + l + \"drag\", R, r, n, a, i);\n  if (L && !u)\n    return H.onmousedown = null, H.style.pointerEvents = \"none\", H;\n  var B = {\n    element: H,\n    gd: e,\n    plotinfo: t\n  };\n  B.prepFn = function(Pe, Ie, Ne) {\n    var tt = B.dragmode, Je = e._fullLayout.dragmode;\n    Je !== tt && (B.dragmode = Je), P(), V = e._fullLayout._invScaleX, z = e._fullLayout._invScaleY, L || (u ? Pe.shiftKey ? Je === \"pan\" ? Je = \"zoom\" : vh(Je) || (Je = \"pan\") : Pe.ctrlKey && (Je = \"pan\") : Je = \"pan\"), yee(Je) ? B.minDrag = 1 : B.minDrag = void 0, vh(Je) ? (B.xaxes = m, B.yaxes = g, Tee(Pe, Ie, Ne, B, Je)) : (B.clickFn = ee, vh(tt) && W(), L || (Je === \"zoom\" ? (B.moveFn = ve, B.doneFn = Le, B.minDrag = 1, ge(Pe, Ie, Ne)) : Je === \"pan\" && (B.moveFn = Me, B.doneFn = ot))), e._fullLayout._redrag = function() {\n      var it = e._dragdata;\n      if (it && it.element === H) {\n        var at = e._fullLayout.dragmode;\n        vh(at) || (P(), ht([0, 0, k, x]), B.moveFn(it.dx, it.dy));\n      }\n    };\n  };\n  function W() {\n    B.plotinfo.selection = !1, kee(e);\n  }\n  function ee(Pe, Ie) {\n    var Ne = B.gd;\n    if (Ne._fullLayout._activeShapeIndex >= 0) {\n      Ne._fullLayout._deactivateShape(Ne);\n      return;\n    }\n    var tt = Ne._fullLayout.clickmode;\n    if (jy(Ne), Pe === 2 && !f && Qe(), u)\n      tt.indexOf(\"select\") > -1 && Aee(Ie, Ne, m, g, t.id, B), tt.indexOf(\"event\") > -1 && pee.click(Ne, Ie, t.id);\n    else if (Pe === 1 && f) {\n      var Je = o ? h : d, it = o === \"s\" || l === \"w\" ? 0 : 1, at = Je._name + \".range[\" + it + \"]\", Tt = See(Je, it), gt = \"left\", He = \"middle\";\n      if (Je.fixedrange) return;\n      o ? (He = o === \"n\" ? \"top\" : \"bottom\", Je.side === \"right\" && (gt = \"right\")) : l === \"e\" && (gt = \"right\"), Ne._context.showAxisRangeEntryBoxes && t_.select(H).call(vee.makeEditable, {\n        gd: Ne,\n        immediate: !0,\n        background: Ne._fullLayout.paper_bgcolor,\n        text: String(Tt),\n        fill: Je.tickfont ? Je.tickfont.color : \"#444\",\n        horizontalAlign: gt,\n        verticalAlign: He\n      }).on(\"edit\", function(pt) {\n        var bt = Je.d2r(pt);\n        bt !== void 0 && hh.call(\"_guiRelayout\", Ne, at, bt);\n      });\n    }\n  }\n  gee.init(B);\n  var re, ae, Q, ue, j, U, Z, le, J, pe;\n  function ge(Pe, Ie, Ne) {\n    var tt = H.getBoundingClientRect();\n    re = Ie - tt.left, ae = Ne - tt.top, e._fullLayout._calcInverseTransform(e);\n    var Je = Ha.apply3DTransform(e._fullLayout._invTransform)(re, ae);\n    re = Je[0], ae = Je[1], Q = { l: re, r: re, w: 0, t: ae, b: ae, h: 0 }, ue = e._hmpixcount ? e._hmlumcount / e._hmpixcount : dee(e._fullLayout.plot_bgcolor).getLuminance(), j = \"M0,0H\" + k + \"V\" + x + \"H0V0\", U = !1, Z = \"xy\", pe = !1, le = bE(s, ue, y, w, j), J = _E(s, y, w);\n  }\n  function ve(Pe, Ie) {\n    if (e._transitioningWithDuration)\n      return !1;\n    var Ne = Math.max(0, Math.min(k, V * Pe + re)), tt = Math.max(0, Math.min(x, z * Ie + ae)), Je = Math.abs(Ne - re), it = Math.abs(tt - ae);\n    Q.l = Math.min(re, Ne), Q.r = Math.max(re, Ne), Q.t = Math.min(ae, tt), Q.b = Math.max(ae, tt);\n    function at() {\n      Z = \"\", Q.r = Q.l, Q.t = Q.b, J.attr(\"d\", \"M0,0Z\");\n    }\n    if (_.isSubplotConstrained)\n      Je > Vn || it > Vn ? (Z = \"xy\", Je / k > it / x ? (it = Je * x / k, ae > tt ? Q.t = ae - it : Q.b = ae + it) : (Je = it * k / x, re > Ne ? Q.l = re - Je : Q.r = re + Je), J.attr(\"d\", Uh(Q))) : at();\n    else if (T.isSubplotConstrained)\n      if (Je > Vn || it > Vn) {\n        Z = \"xy\";\n        var Tt = Math.min(Q.l / k, (x - Q.b) / x), gt = Math.max(Q.r / k, (x - Q.t) / x);\n        Q.l = Tt * k, Q.r = gt * k, Q.b = (1 - Tt) * x, Q.t = (1 - gt) * x, J.attr(\"d\", Uh(Q));\n      } else\n        at();\n    else !M || it < Math.min(Math.max(Je * 0.6, kA), Vn) ? Je < kA || !S ? at() : (Q.t = 0, Q.b = x, Z = \"x\", J.attr(\"d\", Dee(Q, ae))) : !S || Je < Math.min(it * 0.6, Vn) ? (Q.l = 0, Q.r = k, Z = \"y\", J.attr(\"d\", Eee(Q, re))) : (Z = \"xy\", J.attr(\"d\", Uh(Q)));\n    Q.w = Q.r - Q.l, Q.h = Q.b - Q.t, Z && (pe = !0), e._dragged = pe, xE(le, J, Q, j, U, ue), me(), e.emit(\"plotly_relayouting\", K), U = !0;\n  }\n  function me() {\n    K = {}, (Z === \"xy\" || Z === \"x\") && (By(m, Q.l / k, Q.r / k, K, _.xaxes), Ve(\"x\", K)), (Z === \"xy\" || Z === \"y\") && (By(g, (x - Q.b) / x, (x - Q.t) / x, K, _.yaxes), Ve(\"y\", K));\n  }\n  function Le() {\n    me(), jy(e), ot(), TE(e);\n  }\n  var ze = [0, 0, k, x], Fe = null, Oe = r_.REDRAWDELAY, Re = t.mainplot ? e._fullLayout._plots[t.mainplot] : t;\n  function We(Pe) {\n    if (!e._context._scrollZoom.cartesian && !e._fullLayout._enablescrollzoom)\n      return;\n    if (W(), e._transitioningWithDuration) {\n      Pe.preventDefault(), Pe.stopPropagation();\n      return;\n    }\n    P(), clearTimeout(Fe);\n    var Ie = -Pe.deltaY;\n    if (isFinite(Ie) || (Ie = Pe.wheelDelta / 10), !isFinite(Ie)) {\n      Ha.log(\"Did not find wheel motion attributes: \", Pe);\n      return;\n    }\n    var Ne = Math.exp(-Math.min(Math.max(Ie, -20), 20) / 200), tt = Re.draglayer.select(\".nsewdrag\").node().getBoundingClientRect(), Je = (Pe.clientX - tt.left) / tt.width, it = (tt.bottom - Pe.clientY) / tt.height, at;\n    function Tt(gt, He, pt) {\n      if (gt.fixedrange) return;\n      var bt = Ha.simpleMap(gt.range, gt.r2l), Ke = bt[0] + (bt[1] - bt[0]) * He;\n      function st(rt) {\n        return gt.l2r(Ke + (rt - Ke) * pt);\n      }\n      gt.range = bt.map(st);\n    }\n    if (F) {\n      for (l || (Je = 0.5), at = 0; at < m.length; at++)\n        Tt(m[at], Je, Ne);\n      Ve(\"x\"), ze[2] *= Ne, ze[0] += ze[2] * Je * (1 / Ne - 1);\n    }\n    if ($) {\n      for (o || (it = 0.5), at = 0; at < g.length; at++)\n        Tt(g[at], it, Ne);\n      Ve(\"y\"), ze[3] *= Ne, ze[1] += ze[3] * (1 - it) * (1 / Ne - 1);\n    }\n    ht(ze), qe(), e.emit(\"plotly_relayouting\", K), Fe = setTimeout(function() {\n      e._fullLayout && (ze = [0, 0, k, x], ot());\n    }, Oe), Pe.preventDefault();\n  }\n  o.length * l.length !== 1 && kE(H, We);\n  function Me(Pe, Ie) {\n    if (Pe = Pe * V, Ie = Ie * z, e._transitioningWithDuration)\n      return;\n    if (e._fullLayout._replotting = !0, S === \"ew\" || M === \"ns\") {\n      var Ne = S ? -Pe : 0, tt = M ? -Ie : 0;\n      if (T.isSubplotConstrained) {\n        if (S && M) {\n          var Je = (Pe / k - Ie / x) / 2;\n          Pe = Je * k, Ie = -Je * x, Ne = -Pe, tt = -Ie;\n        }\n        M ? Ne = -tt * k / x : tt = -Ne * x / k;\n      }\n      S && (SA(m, Pe), Ve(\"x\")), M && (SA(g, Ie), Ve(\"y\")), ht([Ne, tt, k, x]), qe(), e.emit(\"plotly_relayouting\", K);\n      return;\n    }\n    function it(st, rt, ct) {\n      for (var X = 1 - rt, se, ie, fe = 0; fe < st.length; fe++) {\n        var ke = st[fe];\n        if (!ke.fixedrange) {\n          se = ke, ie = ke._rl[X] + (ke._rl[rt] - ke._rl[X]) / Cee(ct / ke._length);\n          var _e = ke.l2r(ie);\n          _e !== !1 && _e !== void 0 && (ke.range[rt] = _e);\n        }\n      }\n      return se._length * (se._rl[rt] - ie) / (se._rl[rt] - se._rl[X]);\n    }\n    var at = S === \"w\" == (M === \"n\") ? 1 : -1;\n    if (S && M && (_.isSubplotConstrained || T.isSubplotConstrained)) {\n      var Tt = (Pe / k + at * Ie / x) / 2;\n      Pe = Tt * k, Ie = at * Tt * x;\n    }\n    var gt, He;\n    if (S === \"w\" ? Pe = it(m, 0, Pe) : S === \"e\" ? Pe = it(m, 1, -Pe) : S || (Pe = 0), M === \"n\" ? Ie = it(g, 1, Ie) : M === \"s\" ? Ie = it(g, 0, -Ie) : M || (Ie = 0), gt = S === \"w\" ? Pe : 0, He = M === \"n\" ? Ie : 0, _.isSubplotConstrained && !T.isSubplotConstrained || // NW or SE on matching axes - create a symmetric zoom\n    T.isSubplotConstrained && S && M && at > 0) {\n      var pt;\n      if (T.isSubplotConstrained || !S && M.length === 1) {\n        for (pt = 0; pt < m.length; pt++)\n          m[pt].range = m[pt]._r.slice(), Og(m[pt], 1 - Ie / x);\n        Pe = Ie * k / x, gt = Pe / 2;\n      }\n      if (T.isSubplotConstrained || !M && S.length === 1) {\n        for (pt = 0; pt < g.length; pt++)\n          g[pt].range = g[pt]._r.slice(), Og(g[pt], 1 - Pe / k);\n        Ie = Pe * x / k, He = Ie / 2;\n      }\n    }\n    (!T.isSubplotConstrained || !M) && Ve(\"x\"), (!T.isSubplotConstrained || !S) && Ve(\"y\");\n    var bt = k - Pe, Ke = x - Ie;\n    T.isSubplotConstrained && !(S && M) && (S ? (He = gt ? 0 : Pe * x / k, Ke = bt * x / k) : (gt = He ? 0 : Ie * k / x, bt = Ke * k / x)), ht([gt, He, bt, Ke]), qe(), e.emit(\"plotly_relayouting\", K);\n  }\n  function Ve(Pe, Ie) {\n    for (var Ne = T.isSubplotConstrained ? { x: g, y: m }[Pe] : T[Pe + \"axes\"], tt = T.isSubplotConstrained ? { x: m, y: g }[Pe] : [], Je = 0; Je < Ne.length; Je++) {\n      var it = Ne[Je], at = it._id, Tt = T.xLinks[at] || T.yLinks[at], gt = tt[0] || p[Tt] || v[Tt];\n      gt && (Ie ? (Ie[it._name + \".range[0]\"] = Ie[gt._name + \".range[0]\"], Ie[it._name + \".range[1]\"] = Ie[gt._name + \".range[1]\"]) : it.range = gt.range.slice());\n    }\n  }\n  function qe() {\n    var Pe = [], Ie;\n    function Ne(at) {\n      for (Ie = 0; Ie < at.length; Ie++)\n        at[Ie].fixedrange || Pe.push(at[Ie]._id);\n    }\n    function tt(at, Tt) {\n      for (Ie = 0; Ie < at.length; Ie++) {\n        var gt = at[Ie], He = gt[Tt];\n        !gt.fixedrange && He.tickmode === \"sync\" && Pe.push(He._id);\n      }\n    }\n    for (F && (Ne(m), Ne(_.xaxes), Ne(T.xaxes), tt(t.overlays, \"xaxis\")), $ && (Ne(g), Ne(_.yaxes), Ne(T.yaxes), tt(t.overlays, \"yaxis\")), K = {}, Ie = 0; Ie < Pe.length; Ie++) {\n      var Je = Pe[Ie], it = Hy(e, Je);\n      TA.drawOne(e, it, { skipTitle: !0 }), K[it._name + \".range[0]\"] = it.range[0], K[it._name + \".range[1]\"] = it.range[1];\n    }\n    TA.redrawComponents(e, Pe);\n  }\n  function Qe() {\n    if (!e._transitioningWithDuration) {\n      var Pe = e._context.doubleClick, Ie = [];\n      S && (Ie = Ie.concat(m)), M && (Ie = Ie.concat(g)), T.xaxes && (Ie = Ie.concat(T.xaxes)), T.yaxes && (Ie = Ie.concat(T.yaxes));\n      var Ne = {}, tt, Je;\n      if (Pe === \"reset+autosize\")\n        for (Pe = \"autosize\", Je = 0; Je < Ie.length; Je++) {\n          tt = Ie[Je];\n          var it = tt._rangeInitial0, at = tt._rangeInitial1, Tt = it !== void 0 || at !== void 0;\n          if (Tt && (it !== void 0 && it !== tt.range[0] || at !== void 0 && at !== tt.range[1]) || !Tt && tt.autorange !== !0) {\n            Pe = \"reset\";\n            break;\n          }\n        }\n      if (Pe === \"autosize\")\n        for (Je = 0; Je < Ie.length; Je++)\n          tt = Ie[Je], tt.fixedrange || (Ne[tt._name + \".autorange\"] = !0);\n      else if (Pe === \"reset\") {\n        for ((S || _.isSubplotConstrained) && (Ie = Ie.concat(_.xaxes)), M && !_.isSubplotConstrained && (Ie = Ie.concat(_.yaxes)), _.isSubplotConstrained && (S ? M || (Ie = Ie.concat(g)) : Ie = Ie.concat(m)), Je = 0; Je < Ie.length; Je++)\n          if (tt = Ie[Je], !tt.fixedrange) {\n            var gt = tt._name, He = tt._autorangeInitial;\n            tt._rangeInitial0 === void 0 && tt._rangeInitial1 === void 0 ? Ne[gt + \".autorange\"] = !0 : tt._rangeInitial0 === void 0 ? (Ne[gt + \".autorange\"] = He, Ne[gt + \".range\"] = [null, tt._rangeInitial1]) : tt._rangeInitial1 === void 0 ? (Ne[gt + \".range\"] = [tt._rangeInitial0, null], Ne[gt + \".autorange\"] = He) : Ne[gt + \".range\"] = [tt._rangeInitial0, tt._rangeInitial1];\n          }\n      }\n      e.emit(\"plotly_doubleclick\", null), hh.call(\"_guiRelayout\", e, Ne);\n    }\n  }\n  function ot() {\n    ht([0, 0, k, x]), Ha.syncOrAsync([\n      wee.previousPromises,\n      function() {\n        e._fullLayout._replotting = !1, hh.call(\"_guiRelayout\", e, K);\n      }\n    ], e);\n  }\n  function ht(Pe) {\n    var Ie = e._fullLayout, Ne = Ie._plots, tt = Ie._subplots.cartesian, Je, it, at, Tt;\n    if (O && hh.subplotsRegistry.splom.drag(e), I) {\n      for (Je = 0; Je < tt.length; Je++)\n        if (it = Ne[tt[Je]], at = it.xaxis, Tt = it.yaxis, it._scene) {\n          var gt = Ha.simpleMap(at.range, at.r2l), He = Ha.simpleMap(Tt.range, Tt.r2l);\n          at.limitRange && at.limitRange(), Tt.limitRange && Tt.limitRange(), gt = at.range, He = Tt.range, it._scene.update({ range: [gt[0], He[0], gt[1], He[1]] });\n        }\n    }\n    if ((O || I) && (_ee(e), xee(e)), G) {\n      var pt = Pe[2] / d._length, bt = Pe[3] / h._length;\n      for (Je = 0; Je < tt.length; Je++) {\n        it = Ne[tt[Je]], at = it.xaxis, Tt = it.yaxis;\n        var Ke = (F || T.isSubplotConstrained) && !at.fixedrange && p[at._id], st = ($ || T.isSubplotConstrained) && !Tt.fixedrange && v[Tt._id], rt, ct, X, se;\n        if (Ke ? (rt = pt, X = l || T.isSubplotConstrained ? Pe[0] : ft(at, rt)) : T.xaHash[at._id] ? (rt = pt, X = Pe[0] * at._length / d._length) : T.yaHash[at._id] ? (rt = bt, X = M === \"ns\" ? -Pe[1] * at._length / h._length : ft(at, rt, { n: \"top\", s: \"bottom\" }[M])) : (rt = vt(at, pt, bt), X = nt(at, rt)), rt > 1 && (at.maxallowed !== void 0 && F === (at.range[0] < at.range[1] ? \"e\" : \"w\") || at.minallowed !== void 0 && F === (at.range[0] < at.range[1] ? \"w\" : \"e\")) && (rt = 1, X = 0), st ? (ct = bt, se = o || T.isSubplotConstrained ? Pe[1] : ft(Tt, ct)) : T.yaHash[Tt._id] ? (ct = bt, se = Pe[1] * Tt._length / h._length) : T.xaHash[Tt._id] ? (ct = pt, se = S === \"ew\" ? -Pe[0] * Tt._length / d._length : ft(Tt, ct, { e: \"right\", w: \"left\" }[S])) : (ct = vt(Tt, pt, bt), se = nt(Tt, ct)), ct > 1 && (Tt.maxallowed !== void 0 && $ === (Tt.range[0] < Tt.range[1] ? \"n\" : \"s\") || Tt.minallowed !== void 0 && $ === (Tt.range[0] < Tt.range[1] ? \"s\" : \"n\")) && (ct = 1, se = 0), !(!rt && !ct)) {\n          rt || (rt = 1), ct || (ct = 1);\n          var ie = at._offset - X / rt, fe = Tt._offset - se / ct;\n          it.clipRect.call(Go.setTranslate, X, se).call(Go.setScale, rt, ct), it.plot.call(Go.setTranslate, ie, fe).call(Go.setScale, 1 / rt, 1 / ct), (rt !== it.xScaleFactor || ct !== it.yScaleFactor) && (Go.setPointGroupScale(it.zoomScalePts, rt, ct), Go.setTextPointsScale(it.zoomScaleTxt, rt, ct)), Go.hideOutsideRangePoints(it.clipOnAxisFalseTraces, it), it.xScaleFactor = rt, it.yScaleFactor = ct;\n        }\n      }\n    }\n  }\n  function vt(Pe, Ie, Ne) {\n    return Pe.fixedrange ? 0 : F && _.xaHash[Pe._id] ? Ie : $ && (_.isSubplotConstrained ? _.xaHash : _.yaHash)[Pe._id] ? Ne : 0;\n  }\n  function nt(Pe, Ie) {\n    return Ie ? (Pe.range = Pe._r.slice(), Og(Pe, Ie), ft(Pe, Ie)) : 0;\n  }\n  function ft(Pe, Ie, Ne) {\n    return Pe._length * (1 - Ie) * bee[Ne || Pe.constraintoward || \"middle\"];\n  }\n  return H;\n}\nfunction gE(e, t, r, n) {\n  var a = Ha.ensureSingle(e.draglayer, t, r, function(i) {\n    i.classed(\"drag\", !0).style({ fill: \"transparent\", \"stroke-width\": 0 }).attr(\"data-subplot\", e.id);\n  });\n  return a.call(mee, n), a.node();\n}\nfunction yE(e, t, r, n, a, i, o) {\n  var l = gE(e, \"rect\", t, r);\n  return t_.select(l).call(Go.setRect, n, a, i, o), l;\n}\nfunction MA(e, t) {\n  for (var r = 0; r < e.length; r++)\n    if (!e[r].fixedrange) return t;\n  return \"\";\n}\nfunction See(e, t) {\n  var r = e.range[t], n = Math.abs(r - e.range[1 - t]), a;\n  return e.type === \"date\" ? r : e.type === \"log\" ? (a = Math.ceil(Math.max(0, -Math.log(n) / Math.LN10)) + 3, xA(\".\" + a + \"g\")(Math.pow(10, r))) : (a = Math.floor(Math.log(Math.abs(r)) / Math.LN10) - Math.floor(Math.log(n) / Math.LN10) + 4, xA(\".\" + String(a) + \"g\")(r));\n}\nfunction By(e, t, r, n, a) {\n  for (var i = 0; i < e.length; i++) {\n    var o = e[i];\n    if (!o.fixedrange)\n      if (o.rangebreaks) {\n        var l = o._id.charAt(0) === \"y\", s = l ? 1 - t : t, u = l ? 1 - r : r;\n        n[o._name + \".range[0]\"] = o.l2r(o.p2l(s * o._length)), n[o._name + \".range[1]\"] = o.l2r(o.p2l(u * o._length));\n      } else {\n        var f = o._rl[0], d = o._rl[1] - f;\n        n[o._name + \".range[0]\"] = o.l2r(f + d * t), n[o._name + \".range[1]\"] = o.l2r(f + d * r);\n      }\n  }\n  if (a && a.length) {\n    var h = (t + (1 - r)) / 2;\n    By(a, h, 1 - h, n, []);\n  }\n}\nfunction SA(e, t) {\n  for (var r = 0; r < e.length; r++) {\n    var n = e[r];\n    if (!n.fixedrange) {\n      if (n.rangebreaks) {\n        var a = 0, i = n._length, o = n.p2l(a + t) - n.p2l(a), l = n.p2l(i + t) - n.p2l(i), s = (o + l) / 2;\n        n.range = [\n          n.l2r(n._rl[0] - s),\n          n.l2r(n._rl[1] - s)\n        ];\n      } else\n        n.range = [\n          n.l2r(n._rl[0] - t / n._m),\n          n.l2r(n._rl[1] - t / n._m)\n        ];\n      n.limitRange && n.limitRange();\n    }\n  }\n}\nfunction Cee(e) {\n  return 1 - (e >= 0 ? Math.min(e, 0.9) : 1 / (1 / Math.max(e, -0.3) + 3.222));\n}\nfunction Lee(e, t, r) {\n  return e ? e === \"nsew\" ? r ? \"\" : t === \"pan\" ? \"move\" : \"crosshair\" : e.toLowerCase() + \"-resize\" : \"pointer\";\n}\nfunction bE(e, t, r, n, a) {\n  return e.append(\"path\").attr(\"class\", \"zoombox\").style({\n    fill: t > 0.2 ? \"rgba(0,0,0,0)\" : \"rgba(255,255,255,0)\",\n    \"stroke-width\": 0\n  }).attr(\"transform\", pE(r, n)).attr(\"d\", a + \"Z\");\n}\nfunction _E(e, t, r) {\n  return e.append(\"path\").attr(\"class\", \"zoombox-corners\").style({\n    fill: wA.background,\n    stroke: wA.defaultLine,\n    \"stroke-width\": 1,\n    opacity: 0\n  }).attr(\"transform\", pE(t, r)).attr(\"d\", \"M0,0Z\");\n}\nfunction xE(e, t, r, n, a, i) {\n  e.attr(\n    \"d\",\n    n + \"M\" + r.l + \",\" + r.t + \"v\" + r.h + \"h\" + r.w + \"v-\" + r.h + \"h-\" + r.w + \"Z\"\n  ), wE(e, t, a, i);\n}\nfunction wE(e, t, r, n) {\n  r || (e.transition().style(\"fill\", n > 0.2 ? \"rgba(0,0,0,0.4)\" : \"rgba(255,255,255,0.3)\").duration(200), t.transition().style(\"opacity\", 1).duration(200));\n}\nfunction jy(e) {\n  t_.select(e).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove();\n}\nfunction TE(e) {\n  AA && e.data && e._context.showTips && (Ha.notifier(Ha._(e, \"Double-click to zoom back out\"), \"long\"), AA = !1);\n}\nfunction Dee(e, t) {\n  return \"M\" + (e.l - 0.5) + \",\" + (t - Vn - 0.5) + \"h-3v\" + (2 * Vn + 1) + \"h3ZM\" + (e.r + 0.5) + \",\" + (t - Vn - 0.5) + \"h3v\" + (2 * Vn + 1) + \"h-3Z\";\n}\nfunction Eee(e, t) {\n  return \"M\" + (t - Vn - 0.5) + \",\" + (e.t - 0.5) + \"v-3h\" + (2 * Vn + 1) + \"v3ZM\" + (t - Vn - 0.5) + \",\" + (e.b + 0.5) + \"v3h\" + (2 * Vn + 1) + \"v-3Z\";\n}\nfunction Uh(e) {\n  var t = Math.floor(Math.min(e.b - e.t, e.r - e.l, Vn) / 2);\n  return \"M\" + (e.l - 3.5) + \",\" + (e.t - 0.5 + t) + \"h3v\" + -t + \"h\" + t + \"v-3h-\" + (t + 3) + \"ZM\" + (e.r + 3.5) + \",\" + (e.t - 0.5 + t) + \"h-3v\" + -t + \"h\" + -t + \"v-3h\" + (t + 3) + \"ZM\" + (e.r + 3.5) + \",\" + (e.b + 0.5 - t) + \"h-3v\" + t + \"h\" + -t + \"v3h\" + (t + 3) + \"ZM\" + (e.l - 3.5) + \",\" + (e.b + 0.5 - t) + \"h3v\" + t + \"h\" + t + \"v3h-\" + (t + 3) + \"Z\";\n}\nfunction CA(e, t, r, n, a) {\n  for (var i = !1, o = {}, l = {}, s, u, f, d, h = (a || {}).xaHash, p = (a || {}).yaHash, v = 0; v < t.length; v++) {\n    var m = t[v];\n    for (s in r)\n      if (m[s]) {\n        for (f in m)\n          !(a && (h[f] || p[f])) && !(f.charAt(0) === \"x\" ? r : n)[f] && (o[f] = s);\n        for (u in n)\n          !(a && (h[u] || p[u])) && m[u] && (i = !0);\n      }\n    for (u in n)\n      if (m[u])\n        for (d in m)\n          !(a && (h[d] || p[d])) && !(d.charAt(0) === \"x\" ? r : n)[d] && (l[d] = u);\n  }\n  i && (Ha.extendFlat(o, l), l = {});\n  var g = {}, y = [];\n  for (f in o) {\n    var w = Hy(e, f);\n    y.push(w), g[w._id] = w;\n  }\n  var k = {}, x = [];\n  for (d in l) {\n    var _ = Hy(e, d);\n    x.push(_), k[_._id] = _;\n  }\n  return {\n    xaHash: g,\n    yaHash: k,\n    xaxes: y,\n    yaxes: x,\n    xLinks: o,\n    yLinks: l,\n    isSubplotConstrained: i\n  };\n}\nfunction kE(e, t) {\n  if (!hee)\n    e.onwheel !== void 0 ? e.onwheel = t : e.onmousewheel !== void 0 ? e.onmousewheel = t : e.isAddedWheelEvent || (e.isAddedWheelEvent = !0, e.addEventListener(\"wheel\", t, { passive: !1 }));\n  else {\n    var r = e.onwheel !== void 0 ? \"wheel\" : \"mousewheel\";\n    e._onwheel && e.removeEventListener(r, e._onwheel), e._onwheel = t, e.addEventListener(r, t, { passive: !1 });\n  }\n}\nfunction LA(e) {\n  var t = [];\n  for (var r in e) t.push(e[r]);\n  return t;\n}\nvar Fee = {\n  makeDragBox: Mee,\n  makeDragger: gE,\n  makeRectDragger: yE,\n  makeZoombox: bE,\n  makeCorners: _E,\n  updateZoombox: xE,\n  xyCorners: Uh,\n  transitionZoombox: wE,\n  removeZoombox: jy,\n  showDoubleClickNotifier: TE,\n  attachWheelEventHandler: kE\n};\n(function(e) {\n  var t = lr, r = Ao, n = Qi, a = xs, i = Fee.makeDragBox, o = Yn.DRAGGERSIZE;\n  e.initInteractions = function(s) {\n    var u = s._fullLayout;\n    if (s._context.staticPlot) {\n      t.select(s).selectAll(\".drag\").remove();\n      return;\n    }\n    if (!(!u._has(\"cartesian\") && !u._has(\"splom\"))) {\n      var f = Object.keys(u._plots || {}).sort(function(h, p) {\n        if ((u._plots[h].mainplot && !0) === (u._plots[p].mainplot && !0)) {\n          var v = h.split(\"y\"), m = p.split(\"y\");\n          return v[0] === m[0] ? Number(v[1] || 1) - Number(m[1] || 1) : Number(v[0] || 1) - Number(m[0] || 1);\n        }\n        return u._plots[h].mainplot ? 1 : -1;\n      });\n      f.forEach(function(h) {\n        var p = u._plots[h], v = p.xaxis, m = p.yaxis;\n        if (!p.mainplot) {\n          var g = i(\n            s,\n            p,\n            v._offset,\n            m._offset,\n            v._length,\n            m._length,\n            \"ns\",\n            \"ew\"\n          );\n          g.onmousemove = function(k) {\n            s._fullLayout._rehover = function() {\n              s._fullLayout._hoversubplot === h && s._fullLayout._plots[h] && r.hover(s, k, h);\n            }, r.hover(s, k, h), s._fullLayout._lasthover = g, s._fullLayout._hoversubplot = h;\n          }, g.onmouseout = function(k) {\n            s._dragging || (s._fullLayout._hoversubplot = null, n.unhover(s, k));\n          }, s._context.showAxisDragHandles && (i(\n            s,\n            p,\n            v._offset - o,\n            m._offset - o,\n            o,\n            o,\n            \"n\",\n            \"w\"\n          ), i(\n            s,\n            p,\n            v._offset + v._length,\n            m._offset - o,\n            o,\n            o,\n            \"n\",\n            \"e\"\n          ), i(\n            s,\n            p,\n            v._offset - o,\n            m._offset + m._length,\n            o,\n            o,\n            \"s\",\n            \"w\"\n          ), i(\n            s,\n            p,\n            v._offset + v._length,\n            m._offset + m._length,\n            o,\n            o,\n            \"s\",\n            \"e\"\n          ));\n        }\n        if (s._context.showAxisDragHandles) {\n          if (h === v._mainSubplot) {\n            var y = v._mainLinePosition;\n            v.side === \"top\" && (y -= o), i(\n              s,\n              p,\n              v._offset + v._length * 0.1,\n              y,\n              v._length * 0.8,\n              o,\n              \"\",\n              \"ew\"\n            ), i(\n              s,\n              p,\n              v._offset,\n              y,\n              v._length * 0.1,\n              o,\n              \"\",\n              \"w\"\n            ), i(\n              s,\n              p,\n              v._offset + v._length * 0.9,\n              y,\n              v._length * 0.1,\n              o,\n              \"\",\n              \"e\"\n            );\n          }\n          if (h === m._mainSubplot) {\n            var w = m._mainLinePosition;\n            m.side !== \"right\" && (w -= o), i(\n              s,\n              p,\n              w,\n              m._offset + m._length * 0.1,\n              o,\n              m._length * 0.8,\n              \"ns\",\n              \"\"\n            ), i(\n              s,\n              p,\n              w,\n              m._offset + m._length * 0.9,\n              o,\n              m._length * 0.1,\n              \"s\",\n              \"\"\n            ), i(\n              s,\n              p,\n              w,\n              m._offset,\n              o,\n              m._length * 0.1,\n              \"n\",\n              \"\"\n            );\n          }\n        }\n      });\n      var d = u._hoverlayer.node();\n      d.onmousemove = function(h) {\n        h.target = s._fullLayout._lasthover, r.hover(s, h, u._hoversubplot);\n      }, d.onclick = function(h) {\n        h.target = s._fullLayout._lasthover, r.click(s, h);\n      }, d.onmousedown = function(h) {\n        s._fullLayout._lasthover.onmousedown(h);\n      }, e.updateFx(s);\n    }\n  }, e.updateFx = function(l) {\n    var s = l._fullLayout, u = s.dragmode === \"pan\" ? \"move\" : \"crosshair\";\n    a(s._draggers, u);\n  };\n})(Mb);\nvar nd = {}, DA = Nt, Ree = function(t) {\n  for (var r = DA.layoutArrayContainers, n = DA.layoutArrayRegexes, a = t.split(\"[\")[0], i, o, l = 0; l < n.length; l++)\n    if (o = t.match(n[l]), o && o.index === 0) {\n      i = o[0];\n      break;\n    }\n  if (i || (i = r[r.indexOf(a)]), !i) return !1;\n  var s = t.substr(i.length);\n  return s ? (o = s.match(/^\\[(0|[1-9][0-9]*)\\](\\.(.+))?$/), o ? { array: i, index: Number(o[1]), property: o[3] || \"\" } : !1) : { array: i, index: \"\", property: \"\" };\n}, Pee = ms, Hg = Y1, Of = Xu, $ee = Q1.sorterAsc, Bg = Nt;\nnd.containerArrayMatch = Ree;\nvar zee = nd.isAddVal = function(t) {\n  return t === \"add\" || Pee(t);\n}, EA = nd.isRemoveVal = function(t) {\n  return t === null || t === \"remove\";\n};\nnd.applyContainerArrayChanges = function(t, r, n, a, i) {\n  var o = r.astr, l = Bg.getComponentMethod(o, \"supplyLayoutDefaults\"), s = Bg.getComponentMethod(o, \"draw\"), u = Bg.getComponentMethod(o, \"drawOne\"), f = a.replot || a.recalc || l === Hg || s === Hg, d = t.layout, h = t._fullLayout;\n  if (n[\"\"]) {\n    Object.keys(n).length > 1 && Of.warn(\n      \"Full array edits are incompatible with other edits\",\n      o\n    );\n    var p = n[\"\"][\"\"];\n    if (EA(p)) r.set(null);\n    else if (Array.isArray(p)) r.set(p);\n    else\n      return Of.warn(\"Unrecognized full array edit value\", o, p), !0;\n    return f ? !1 : (l(d, h), s(t), !0);\n  }\n  var v = Object.keys(n).map(Number).sort($ee), m = r.get(), g = m || [], y = i(h, o).get(), w = [], k = -1, x = g.length, _, T, S, M, L, F, $, I;\n  for (_ = 0; _ < v.length; _++) {\n    if (S = v[_], M = n[S], L = Object.keys(M), F = M[\"\"], $ = zee(F), S < 0 || S > g.length - ($ ? 0 : 1)) {\n      Of.warn(\"index out of range\", o, S);\n      continue;\n    }\n    if (F !== void 0)\n      L.length > 1 && Of.warn(\n        \"Insertion & removal are incompatible with edits to the same index.\",\n        o,\n        S\n      ), EA(F) ? w.push(S) : $ ? (F === \"add\" && (F = {}), g.splice(S, 0, F), y && y.splice(S, 0, {})) : Of.warn(\n        \"Unrecognized full object edit value\",\n        o,\n        S,\n        F\n      ), k === -1 && (k = S);\n    else\n      for (T = 0; T < L.length; T++)\n        I = o + \"[\" + S + \"].\", i(g[S], L[T], I).set(M[L[T]]);\n  }\n  for (_ = w.length - 1; _ >= 0; _--)\n    g.splice(w[_], 1), y && y.splice(w[_], 1);\n  if (g.length ? m || r.set(g) : r.set(null), f) return !1;\n  if (l(d, h), u !== Hg) {\n    var O;\n    if (k === -1)\n      O = v;\n    else {\n      for (x = Math.max(g.length, x), O = [], _ = 0; _ < v.length && (S = v[_], !(S >= k)); _++)\n        O.push(S);\n      for (_ = k; _ < x; _++)\n        O.push(_);\n    }\n    for (_ = 0; _ < O.length; _++)\n      u(t, O[_]);\n  } else s(t);\n  return !0;\n};\nvar AE = {};\n(function(e) {\n  var t = sr, r = iL, n = Nt, a = Ue, i = Tn, o = gn, l = nr, s = o.cleanId, u = o.getFromTrace, f = n.traceIs;\n  e.clearPromiseQueue = function(x) {\n    Array.isArray(x._promises) && x._promises.length > 0 && a.log(\"Clearing previous rejected promises from queue.\"), x._promises = [];\n  }, e.cleanLayout = function(x) {\n    var _, T;\n    x || (x = {}), x.xaxis1 && (x.xaxis || (x.xaxis = x.xaxis1), delete x.xaxis1), x.yaxis1 && (x.yaxis || (x.yaxis = x.yaxis1), delete x.yaxis1), x.scene1 && (x.scene || (x.scene = x.scene1), delete x.scene1);\n    var S = (i.subplotsRegistry.cartesian || {}).attrRegex, M = (i.subplotsRegistry.polar || {}).attrRegex, L = (i.subplotsRegistry.ternary || {}).attrRegex, F = (i.subplotsRegistry.gl3d || {}).attrRegex, $ = Object.keys(x);\n    for (_ = 0; _ < $.length; _++) {\n      var I = $[_];\n      if (S && S.test(I)) {\n        var O = x[I];\n        O.anchor && O.anchor !== \"free\" && (O.anchor = s(O.anchor)), O.overlaying && (O.overlaying = s(O.overlaying)), O.type || (O.isdate ? O.type = \"date\" : O.islog ? O.type = \"log\" : O.isdate === !1 && O.islog === !1 && (O.type = \"linear\")), (O.autorange === \"withzero\" || O.autorange === \"tozero\") && (O.autorange = !0, O.rangemode = \"tozero\"), O.insiderange && delete O.range, delete O.islog, delete O.isdate, delete O.categories, g(O, \"domain\") && delete O.domain, O.autotick !== void 0 && (O.tickmode === void 0 && (O.tickmode = O.autotick ? \"auto\" : \"linear\"), delete O.autotick), h(O);\n      } else if (M && M.test(I)) {\n        var G = x[I];\n        h(G.radialaxis);\n      } else if (L && L.test(I)) {\n        var K = x[I];\n        h(K.aaxis), h(K.baxis), h(K.caxis);\n      } else if (F && F.test(I)) {\n        var V = x[I], z = V.cameraposition;\n        if (Array.isArray(z) && z[0].length === 4) {\n          var P = z[0], R = z[1], H = z[2], B = r([], P), W = [];\n          for (T = 0; T < 3; ++T)\n            W[T] = R[T] + H * B[2 + 4 * T];\n          V.camera = {\n            eye: { x: W[0], y: W[1], z: W[2] },\n            center: { x: R[0], y: R[1], z: R[2] },\n            up: { x: 0, y: 0, z: 1 }\n            // we just ignore calculating camera z up in this case\n          }, delete V.cameraposition;\n        }\n        h(V.xaxis), h(V.yaxis), h(V.zaxis);\n      }\n    }\n    var ee = Array.isArray(x.annotations) ? x.annotations.length : 0;\n    for (_ = 0; _ < ee; _++) {\n      var re = x.annotations[_];\n      a.isPlainObject(re) && (re.ref && (re.ref === \"paper\" ? (re.xref = \"paper\", re.yref = \"paper\") : re.ref === \"data\" && (re.xref = \"x\", re.yref = \"y\"), delete re.ref), d(re, \"xref\"), d(re, \"yref\"));\n    }\n    var ae = Array.isArray(x.shapes) ? x.shapes.length : 0;\n    for (_ = 0; _ < ae; _++) {\n      var Q = x.shapes[_];\n      a.isPlainObject(Q) && (d(Q, \"xref\"), d(Q, \"yref\"));\n    }\n    var ue = Array.isArray(x.images) ? x.images.length : 0;\n    for (_ = 0; _ < ue; _++) {\n      var j = x.images[_];\n      a.isPlainObject(j) && (d(j, \"xref\"), d(j, \"yref\"));\n    }\n    var U = x.legend;\n    return U && (U.x > 3 ? (U.x = 1.02, U.xanchor = \"left\") : U.x < -2 && (U.x = -0.02, U.xanchor = \"right\"), U.y > 3 ? (U.y = 1.02, U.yanchor = \"bottom\") : U.y < -2 && (U.y = -0.02, U.yanchor = \"top\")), h(x), x.dragmode === \"rotate\" && (x.dragmode = \"orbit\"), l.clean(x), x.template && x.template.layout && e.cleanLayout(x.template.layout), x;\n  };\n  function d(x, _) {\n    var T = x[_], S = _.charAt(0);\n    T && T !== \"paper\" && (x[_] = s(T, S, !0));\n  }\n  function h(x) {\n    x && ((typeof x.title == \"string\" || typeof x.title == \"number\") && (x.title = {\n      text: x.title\n    }), _(\"titlefont\", \"font\"), _(\"titleposition\", \"position\"), _(\"titleside\", \"side\"), _(\"titleoffset\", \"offset\"));\n    function _(T, S) {\n      var M = x[T], L = x.title && x.title[S];\n      M && !L && (x.title || (x.title = {}), x.title[S] = x[T], delete x[T]);\n    }\n  }\n  e.cleanData = function(x) {\n    for (var _ = 0; _ < x.length; _++) {\n      var T = x[_], S;\n      if (T.type === \"histogramy\" && \"xbins\" in T && !(\"ybins\" in T) && (T.ybins = T.xbins, delete T.xbins), T.error_y && \"opacity\" in T.error_y) {\n        var M = l.defaults, L = T.error_y.color || (f(T, \"bar\") ? l.defaultLine : M[_ % M.length]);\n        T.error_y.color = l.addOpacity(\n          l.rgb(L),\n          l.opacity(L) * T.error_y.opacity\n        ), delete T.error_y.opacity;\n      }\n      if (\"bardir\" in T && (T.bardir === \"h\" && (f(T, \"bar\") || T.type.substr(0, 9) === \"histogram\") && (T.orientation = \"h\", e.swapXYData(T)), delete T.bardir), T.type === \"histogramy\" && e.swapXYData(T), (T.type === \"histogramx\" || T.type === \"histogramy\") && (T.type = \"histogram\"), \"scl\" in T && !(\"colorscale\" in T) && (T.colorscale = T.scl, delete T.scl), \"reversescl\" in T && !(\"reversescale\" in T) && (T.reversescale = T.reversescl, delete T.reversescl), T.xaxis && (T.xaxis = s(T.xaxis, \"x\")), T.yaxis && (T.yaxis = s(T.yaxis, \"y\")), f(T, \"gl3d\") && T.scene && (T.scene = i.subplotsRegistry.gl3d.cleanId(T.scene)), !f(T, \"pie-like\") && !f(T, \"bar-like\"))\n        if (Array.isArray(T.textposition))\n          for (S = 0; S < T.textposition.length; S++)\n            T.textposition[S] = m(T.textposition[S]);\n        else T.textposition && (T.textposition = m(T.textposition));\n      var F = n.getModule(T);\n      if (F && F.colorbar) {\n        var $ = F.colorbar.container, I = $ ? T[$] : T;\n        I && I.colorscale && (I.colorscale === \"YIGnBu\" && (I.colorscale = \"YlGnBu\"), I.colorscale === \"YIOrRd\" && (I.colorscale = \"YlOrRd\"));\n      }\n      if (T.type === \"surface\" && a.isPlainObject(T.contours)) {\n        var O = [\"x\", \"y\", \"z\"];\n        for (S = 0; S < O.length; S++) {\n          var G = T.contours[O[S]];\n          a.isPlainObject(G) && (G.highlightColor && (G.highlightcolor = G.highlightColor, delete G.highlightColor), G.highlightWidth && (G.highlightwidth = G.highlightWidth, delete G.highlightWidth));\n        }\n      }\n      if (T.type === \"candlestick\" || T.type === \"ohlc\") {\n        var K = (T.increasing || {}).showlegend !== !1, V = (T.decreasing || {}).showlegend !== !1, z = p(T.increasing), P = p(T.decreasing);\n        if (z !== !1 && P !== !1) {\n          var R = v(\n            z,\n            P,\n            K,\n            V\n          );\n          R && (T.name = R);\n        } else (z || P) && !T.name && (T.name = z || P);\n      }\n      if (Array.isArray(T.transforms)) {\n        var H = T.transforms;\n        for (S = 0; S < H.length; S++) {\n          var B = H[S];\n          if (a.isPlainObject(B))\n            switch (B.type) {\n              case \"filter\":\n                B.filtersrc && (B.target = B.filtersrc, delete B.filtersrc), B.calendar && (B.valuecalendar || (B.valuecalendar = B.calendar), delete B.calendar);\n                break;\n              case \"groupby\":\n                if (B.styles = B.styles || B.style, B.styles && !Array.isArray(B.styles)) {\n                  var W = B.styles, ee = Object.keys(W);\n                  B.styles = [];\n                  for (var re = 0; re < ee.length; re++)\n                    B.styles.push({\n                      target: ee[re],\n                      value: W[ee[re]]\n                    });\n                }\n                break;\n            }\n        }\n      }\n      g(T, \"line\") && delete T.line, \"marker\" in T && (g(T.marker, \"line\") && delete T.marker.line, g(T, \"marker\") && delete T.marker), l.clean(T), T.autobinx && (delete T.autobinx, delete T.xbins), T.autobiny && (delete T.autobiny, delete T.ybins), h(T), T.colorbar && h(T.colorbar), T.marker && T.marker.colorbar && h(T.marker.colorbar), T.line && T.line.colorbar && h(T.line.colorbar), T.aaxis && h(T.aaxis), T.baxis && h(T.baxis);\n    }\n  };\n  function p(x) {\n    if (!a.isPlainObject(x)) return !1;\n    var _ = x.name;\n    return delete x.name, delete x.showlegend, (typeof _ == \"string\" || typeof _ == \"number\") && String(_);\n  }\n  function v(x, _, T, S) {\n    if (T && !S) return x;\n    if (S && !T || !x.trim()) return _;\n    if (!_.trim()) return x;\n    var M = Math.min(x.length, _.length), L;\n    for (L = 0; L < M && x.charAt(L) === _.charAt(L); L++)\n      ;\n    var F = x.substr(0, L);\n    return F.trim();\n  }\n  function m(x) {\n    var _ = \"middle\", T = \"center\";\n    return typeof x == \"string\" && (x.indexOf(\"top\") !== -1 ? _ = \"top\" : x.indexOf(\"bottom\") !== -1 && (_ = \"bottom\"), x.indexOf(\"left\") !== -1 ? T = \"left\" : x.indexOf(\"right\") !== -1 && (T = \"right\")), _ + \" \" + T;\n  }\n  function g(x, _) {\n    return _ in x && typeof x[_] == \"object\" && Object.keys(x[_]).length === 0;\n  }\n  e.swapXYData = function(x) {\n    var _;\n    if (a.swapAttrs(x, [\"?\", \"?0\", \"d?\", \"?bins\", \"nbins?\", \"autobin?\", \"?src\", \"error_?\"]), Array.isArray(x.z) && Array.isArray(x.z[0]) && (x.transpose ? delete x.transpose : x.transpose = !0), x.error_x && x.error_y) {\n      var T = x.error_y, S = \"copy_ystyle\" in T ? T.copy_ystyle : !(T.color || T.thickness || T.width);\n      a.swapAttrs(x, [\"error_?.copy_ystyle\"]), S && a.swapAttrs(x, [\"error_?.color\", \"error_?.thickness\", \"error_?.width\"]);\n    }\n    if (typeof x.hoverinfo == \"string\") {\n      var M = x.hoverinfo.split(\"+\");\n      for (_ = 0; _ < M.length; _++)\n        M[_] === \"x\" ? M[_] = \"y\" : M[_] === \"y\" && (M[_] = \"x\");\n      x.hoverinfo = M.join(\"+\");\n    }\n  }, e.coerceTraceIndices = function(x, _) {\n    if (t(_))\n      return [_];\n    if (!Array.isArray(_) || !_.length)\n      return x.data.map(function(M, L) {\n        return L;\n      });\n    if (Array.isArray(_)) {\n      for (var T = [], S = 0; S < _.length; S++)\n        a.isIndex(_[S], x.data.length) ? T.push(_[S]) : a.warn(\"trace index (\", _[S], \") is not a number or is out of bounds\");\n      return T;\n    }\n    return _;\n  }, e.manageArrayContainers = function(x, _, T) {\n    var S = x.obj, M = x.parts, L = M.length, F = M[L - 1], $ = t(F);\n    if ($ && _ === null) {\n      var I = M.slice(0, L - 1).join(\".\"), O = a.nestedProperty(S, I).get();\n      O.splice(F, 1);\n    } else $ && x.get() === void 0 && x.get() === void 0 && (T[x.astr] = null), x.set(_);\n  };\n  var y = /(\\.[^\\[\\]\\.]+|\\[[^\\[\\]\\.]+\\])$/;\n  function w(x) {\n    var _ = x.search(y);\n    if (_ > 0) return x.substr(0, _);\n  }\n  e.hasParent = function(x, _) {\n    for (var T = w(_); T; ) {\n      if (T in x) return !0;\n      T = w(T);\n    }\n    return !1;\n  };\n  var k = [\"x\", \"y\", \"z\"];\n  e.clearAxisTypes = function(x, _, T) {\n    for (var S = 0; S < _.length; S++)\n      for (var M = x._fullData[S], L = 0; L < 3; L++) {\n        var F = u(x, M, k[L]);\n        if (F && F.type !== \"log\") {\n          var $ = F._name, I = F._id.substr(1);\n          if (I.substr(0, 5) === \"scene\") {\n            if (T[I] !== void 0) continue;\n            $ = I + \".\" + $;\n          }\n          var O = $ + \".type\";\n          T[$] === void 0 && T[O] === void 0 && a.nestedProperty(x.layout, O).set(null);\n        }\n      }\n  };\n})(AE);\n(function(e) {\n  var t = lr, r = sr, n = zL, a = Ue, i = a.nestedProperty, o = xp, l = Fq, s = Nt, u = Qu, f = Tn, d = Cr, h = Y4, p = Ki, v = Sr, m = nr, g = Mb.initInteractions, y = yl, w = rd.clearOutline, k = Yu.dfltConfig, x = nd, _ = AE, T = zp, S = Lo, M = Yn.AX_NAME_PATTERN, L = 0, F = 5;\n  function $(X, se, ie, fe) {\n    var ke;\n    if (X = a.getGraphDiv(X), o.init(X), a.isPlainObject(se)) {\n      var _e = se;\n      se = _e.data, ie = _e.layout, fe = _e.config, ke = _e.frames;\n    }\n    var Ge = o.triggerHandler(X, \"plotly_beforeplot\", [se, ie, fe]);\n    if (Ge === !1) return Promise.reject();\n    !se && !ie && !a.isPlotDiv(X) && a.warn(\"Calling _doPlot as if redrawing but this container doesn't yet have a plot.\", X);\n    function je() {\n      if (ke)\n        return e.addFrames(X, ke);\n    }\n    V(X, fe), ie || (ie = {}), t.select(X).classed(\"js-plotly-plot\", !0), v.makeTester(), Array.isArray(X._promises) || (X._promises = []);\n    var Ee = (X.data || []).length === 0 && Array.isArray(se);\n    Array.isArray(se) && (_.cleanData(se), Ee ? X.data = se : X.data.push.apply(X.data, se), X.empty = !1), (!X.layout || Ee) && (X.layout = _.cleanLayout(ie)), f.supplyDefaults(X);\n    var oe = X._fullLayout, Ce = oe._has(\"cartesian\");\n    oe._replotting = !0, (Ee || oe._shouldCreateBgLayer) && (ct(X), oe._shouldCreateBgLayer && delete oe._shouldCreateBgLayer), v.initGradients(X), v.initPatterns(X), Ee && d.saveShowSpikeInitial(X);\n    var Be = !X.calcdata || X.calcdata.length !== (X._fullData || []).length;\n    Be && f.doCalcdata(X);\n    for (var Xe = 0; Xe < X.calcdata.length; Xe++)\n      X.calcdata[Xe][0].trace = X._fullData[Xe];\n    X._context.responsive ? X._responsiveChartHandler || (X._responsiveChartHandler = function() {\n      a.isHidden(X) || f.resize(X);\n    }, window.addEventListener(\"resize\", X._responsiveChartHandler)) : a.clearResponsive(X);\n    var Et = a.extendFlat({}, oe._size), Pt = 0;\n    function It() {\n      for (var zt = oe._basePlotModules, Mt = 0; Mt < zt.length; Mt++)\n        zt[Mt].drawFramework && zt[Mt].drawFramework(X);\n      !oe._glcanvas && oe._has(\"gl\") && (oe._glcanvas = oe._glcontainer.selectAll(\".gl-canvas\").data([{\n        key: \"contextLayer\",\n        context: !0,\n        pick: !1\n      }, {\n        key: \"focusLayer\",\n        context: !1,\n        pick: !1\n      }, {\n        key: \"pickLayer\",\n        context: !1,\n        pick: !0\n      }], function(Ct) {\n        return Ct.key;\n      }), oe._glcanvas.enter().append(\"canvas\").attr(\"class\", function(Ct) {\n        return \"gl-canvas gl-canvas-\" + Ct.key.replace(\"Layer\", \"\");\n      }).style({\n        position: \"absolute\",\n        top: 0,\n        left: 0,\n        overflow: \"visible\",\n        \"pointer-events\": \"none\"\n      }));\n      var St = X._context.plotGlPixelRatio;\n      if (oe._glcanvas) {\n        oe._glcanvas.attr(\"width\", oe.width * St).attr(\"height\", oe.height * St).style(\"width\", oe.width + \"px\").style(\"height\", oe.height + \"px\");\n        var Ut = oe._glcanvas.data()[0].regl;\n        if (Ut && (Math.floor(oe.width * St) !== Ut._gl.drawingBufferWidth || Math.floor(oe.height * St) !== Ut._gl.drawingBufferHeight)) {\n          var fr = \"WebGL context buffer and canvas dimensions do not match due to browser/WebGL bug.\";\n          if (Pt)\n            a.error(fr);\n          else\n            return a.log(fr + \" Clearing graph and plotting again.\"), f.cleanPlot([], {}, X._fullData, oe), f.supplyDefaults(X), oe = X._fullLayout, f.doCalcdata(X), Pt++, It();\n        }\n      }\n      return oe.modebar.orientation === \"h\" ? oe._modebardiv.style(\"height\", null).style(\"width\", \"100%\") : oe._modebardiv.style(\"width\", null).style(\"height\", oe.height + \"px\"), f.previousPromises(X);\n    }\n    function kt() {\n      if (f.clearAutoMarginIds(X), T.drawMarginPushers(X), d.allowAutoMargin(X), X._fullLayout.title.text && X._fullLayout.title.automargin && f.allowAutoMargin(X, \"title.automargin\"), oe._has(\"pie\"))\n        for (var zt = X._fullData, Mt = 0; Mt < zt.length; Mt++) {\n          var St = zt[Mt];\n          St.type === \"pie\" && St.automargin && f.allowAutoMargin(X, \"pie.\" + St.uid + \".automargin\");\n        }\n      return f.doAutoMargin(X), f.previousPromises(X);\n    }\n    function qt() {\n      if (f.didMarginChange(Et, oe._size))\n        return a.syncOrAsync([\n          kt,\n          T.layoutStyles\n        ], X);\n    }\n    function Ot() {\n      if (!Be) {\n        wt();\n        return;\n      }\n      return a.syncOrAsync([\n        s.getComponentMethod(\"shapes\", \"calcAutorange\"),\n        s.getComponentMethod(\"annotations\", \"calcAutorange\"),\n        wt\n      ], X);\n    }\n    function wt() {\n      X._transitioning || (T.doAutoRangeAndConstraints(X), Ee && d.saveRangeInitial(X), s.getComponentMethod(\"rangeslider\", \"calcAutorange\")(X));\n    }\n    function Yt() {\n      return d.draw(X, Ee ? \"\" : \"redraw\");\n    }\n    var Kt = [\n      f.previousPromises,\n      je,\n      It,\n      kt,\n      qt\n    ];\n    Ce && Kt.push(Ot), Kt.push(T.layoutStyles), Ce && Kt.push(\n      Yt,\n      function(Mt) {\n        var St = Mt._fullLayout._insideTickLabelsUpdaterange;\n        if (St)\n          return Mt._fullLayout._insideTickLabelsUpdaterange = void 0, Fe(Mt, St).then(function() {\n            d.saveRangeInitial(Mt, !0);\n          });\n      }\n    ), Kt.push(\n      T.drawData,\n      T.finalDraw,\n      g,\n      f.addLinks,\n      f.rehover,\n      f.redrag,\n      f.reselect,\n      // TODO: doAutoMargin is only needed here for axis automargin, which\n      // happens outside of marginPushers where all the other automargins are\n      // calculated. Would be much better to separate margin calculations from\n      // component drawing - see https://github.com/plotly/plotly.js/issues/2704\n      f.doAutoMargin,\n      f.previousPromises\n    );\n    var $t = a.syncOrAsync(Kt, X);\n    return (!$t || !$t.then) && ($t = Promise.resolve()), $t.then(function() {\n      return I(X), X;\n    });\n  }\n  function I(X) {\n    var se = X._fullLayout;\n    se._redrawFromAutoMarginCount ? se._redrawFromAutoMarginCount-- : X.emit(\"plotly_afterplot\");\n  }\n  function O(X) {\n    return a.extendFlat(k, X);\n  }\n  function G(X, se) {\n    try {\n      X._fullLayout._paper.style(\"background\", se);\n    } catch (ie) {\n      a.error(ie);\n    }\n  }\n  function K(X, se) {\n    var ie = m.combine(se, \"white\");\n    G(X, ie);\n  }\n  function V(X, se) {\n    if (!X._context) {\n      X._context = a.extendDeep({}, k);\n      var ie = t.select(\"base\");\n      X._context._baseUrl = ie.size() && ie.attr(\"href\") ? window.location.href.split(\"#\")[0] : \"\";\n    }\n    var fe = X._context, ke, _e, Ge;\n    if (se) {\n      for (_e = Object.keys(se), ke = 0; ke < _e.length; ke++)\n        Ge = _e[ke], !(Ge === \"editable\" || Ge === \"edits\") && Ge in fe && (Ge === \"setBackground\" && se[Ge] === \"opaque\" ? fe[Ge] = K : fe[Ge] = se[Ge]);\n      se.plot3dPixelRatio && !fe.plotGlPixelRatio && (fe.plotGlPixelRatio = fe.plot3dPixelRatio);\n      var je = se.editable;\n      if (je !== void 0)\n        for (fe.editable = je, _e = Object.keys(fe.edits), ke = 0; ke < _e.length; ke++)\n          fe.edits[_e[ke]] = je;\n      if (se.edits)\n        for (_e = Object.keys(se.edits), ke = 0; ke < _e.length; ke++)\n          Ge = _e[ke], Ge in fe.edits && (fe.edits[Ge] = se.edits[Ge]);\n      fe._exportedPlot = se._exportedPlot;\n    }\n    fe.staticPlot && (fe.editable = !1, fe.edits = {}, fe.autosizable = !1, fe.scrollZoom = !1, fe.doubleClick = !1, fe.showTips = !1, fe.showLink = !1, fe.displayModeBar = !1), fe.displayModeBar === \"hover\" && !n && (fe.displayModeBar = !0), (fe.setBackground === \"transparent\" || typeof fe.setBackground != \"function\") && (fe.setBackground = G), fe._hasZeroHeight = fe._hasZeroHeight || X.clientHeight === 0, fe._hasZeroWidth = fe._hasZeroWidth || X.clientWidth === 0;\n    var Ee = fe.scrollZoom, oe = fe._scrollZoom = {};\n    if (Ee === !0)\n      oe.cartesian = 1, oe.gl3d = 1, oe.geo = 1, oe.mapbox = 1;\n    else if (typeof Ee == \"string\") {\n      var Ce = Ee.split(\"+\");\n      for (ke = 0; ke < Ce.length; ke++)\n        oe[Ce[ke]] = 1;\n    } else Ee !== !1 && (oe.gl3d = 1, oe.geo = 1, oe.mapbox = 1);\n  }\n  function z(X) {\n    if (X = a.getGraphDiv(X), !a.isPlotDiv(X))\n      throw new Error(\"This element is not a Plotly plot: \" + X);\n    return _.cleanData(X.data), _.cleanLayout(X.layout), X.calcdata = void 0, e._doPlot(X).then(function() {\n      return X.emit(\"plotly_redraw\"), X;\n    });\n  }\n  function P(X, se, ie, fe) {\n    return X = a.getGraphDiv(X), f.cleanPlot([], {}, X._fullData || [], X._fullLayout || {}), f.purge(X), e._doPlot(X, se, ie, fe);\n  }\n  function R(X, se) {\n    var ie = se + 1, fe = [], ke, _e;\n    for (ke = 0; ke < X.length; ke++)\n      _e = X[ke], _e < 0 ? fe.push(ie + _e) : fe.push(_e);\n    return fe;\n  }\n  function H(X, se, ie) {\n    var fe, ke;\n    for (fe = 0; fe < se.length; fe++) {\n      if (ke = se[fe], ke !== parseInt(ke, 10))\n        throw new Error(\"all values in \" + ie + \" must be integers\");\n      if (ke >= X.data.length || ke < -X.data.length)\n        throw new Error(ie + \" must be valid indices for gd.data.\");\n      if (se.indexOf(ke, fe + 1) > -1 || ke >= 0 && se.indexOf(-X.data.length + ke) > -1 || ke < 0 && se.indexOf(X.data.length + ke) > -1)\n        throw new Error(\"each index in \" + ie + \" must be unique.\");\n    }\n  }\n  function B(X, se, ie) {\n    if (!Array.isArray(X.data))\n      throw new Error(\"gd.data must be an array.\");\n    if (typeof se > \"u\")\n      throw new Error(\"currentIndices is a required argument.\");\n    if (Array.isArray(se) || (se = [se]), H(X, se, \"currentIndices\"), typeof ie < \"u\" && !Array.isArray(ie) && (ie = [ie]), typeof ie < \"u\" && H(X, ie, \"newIndices\"), typeof ie < \"u\" && se.length !== ie.length)\n      throw new Error(\"current and new indices must be of equal length.\");\n  }\n  function W(X, se, ie) {\n    var fe, ke;\n    if (!Array.isArray(X.data))\n      throw new Error(\"gd.data must be an array.\");\n    if (typeof se > \"u\")\n      throw new Error(\"traces must be defined.\");\n    for (Array.isArray(se) || (se = [se]), fe = 0; fe < se.length; fe++)\n      if (ke = se[fe], typeof ke != \"object\" || Array.isArray(ke) || ke === null)\n        throw new Error(\"all values in traces array must be non-array objects\");\n    if (typeof ie < \"u\" && !Array.isArray(ie) && (ie = [ie]), typeof ie < \"u\" && ie.length !== se.length)\n      throw new Error(\n        \"if indices is specified, traces.length must equal indices.length\"\n      );\n  }\n  function ee(X, se, ie, fe) {\n    var ke = a.isPlainObject(fe);\n    if (!Array.isArray(X.data))\n      throw new Error(\"gd.data must be an array\");\n    if (!a.isPlainObject(se))\n      throw new Error(\"update must be a key:value object\");\n    if (typeof ie > \"u\")\n      throw new Error(\"indices must be an integer or array of integers\");\n    H(X, ie, \"indices\");\n    for (var _e in se) {\n      if (!Array.isArray(se[_e]) || se[_e].length !== ie.length)\n        throw new Error(\"attribute \" + _e + \" must be an array of length equal to indices array length\");\n      if (ke && (!(_e in fe) || !Array.isArray(fe[_e]) || fe[_e].length !== se[_e].length))\n        throw new Error(\"when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object\");\n    }\n  }\n  function re(X, se, ie, fe) {\n    var ke = a.isPlainObject(fe), _e = [], Ge, je, Ee, oe, Ce;\n    Array.isArray(ie) || (ie = [ie]), ie = R(ie, X.data.length - 1);\n    for (var Be in se)\n      for (var Xe = 0; Xe < ie.length; Xe++) {\n        if (Ge = X.data[ie[Xe]], Ee = i(Ge, Be), je = Ee.get(), oe = se[Be][Xe], !a.isArrayOrTypedArray(oe))\n          throw new Error(\"attribute: \" + Be + \" index: \" + Xe + \" must be an array\");\n        if (!a.isArrayOrTypedArray(je))\n          throw new Error(\"cannot extend missing or non-array attribute: \" + Be);\n        if (je.constructor !== oe.constructor)\n          throw new Error(\"cannot extend array with an array of a different type: \" + Be);\n        Ce = ke ? fe[Be][Xe] : fe, r(Ce) || (Ce = -1), _e.push({\n          prop: Ee,\n          target: je,\n          insert: oe,\n          maxp: Math.floor(Ce)\n        });\n      }\n    return _e;\n  }\n  function ae(X, se, ie, fe, ke) {\n    ee(X, se, ie, fe);\n    for (var _e = re(X, se, ie, fe), Ge = {}, je = {}, Ee = 0; Ee < _e.length; Ee++) {\n      var oe = _e[Ee].prop, Ce = _e[Ee].maxp, Be = ke(_e[Ee].target, _e[Ee].insert, Ce);\n      oe.set(Be[0]), Array.isArray(Ge[oe.astr]) || (Ge[oe.astr] = []), Ge[oe.astr].push(Be[1]), Array.isArray(je[oe.astr]) || (je[oe.astr] = []), je[oe.astr].push(_e[Ee].target.length);\n    }\n    return { update: Ge, maxPoints: je };\n  }\n  function Q(X, se) {\n    var ie = new X.constructor(X.length + se.length);\n    return ie.set(X), ie.set(se, X.length), ie;\n  }\n  function ue(X, se, ie, fe) {\n    X = a.getGraphDiv(X);\n    function ke(Ee, oe, Ce) {\n      var Be, Xe;\n      if (a.isTypedArray(Ee))\n        if (Ce < 0) {\n          var Et = new Ee.constructor(0), Pt = Q(Ee, oe);\n          Ce < 0 ? (Be = Pt, Xe = Et) : (Be = Et, Xe = Pt);\n        } else if (Be = new Ee.constructor(Ce), Xe = new Ee.constructor(Ee.length + oe.length - Ce), Ce === oe.length)\n          Be.set(oe), Xe.set(Ee);\n        else if (Ce < oe.length) {\n          var It = oe.length - Ce;\n          Be.set(oe.subarray(It)), Xe.set(Ee), Xe.set(oe.subarray(0, It), Ee.length);\n        } else {\n          var kt = Ce - oe.length, qt = Ee.length - kt;\n          Be.set(Ee.subarray(qt)), Be.set(oe, kt), Xe.set(Ee.subarray(0, qt));\n        }\n      else\n        Be = Ee.concat(oe), Xe = Ce >= 0 && Ce < Be.length ? Be.splice(0, Be.length - Ce) : [];\n      return [Be, Xe];\n    }\n    var _e = ae(X, se, ie, fe, ke), Ge = e.redraw(X), je = [X, _e.update, ie, _e.maxPoints];\n    return l.add(X, e.prependTraces, je, ue, arguments), Ge;\n  }\n  function j(X, se, ie, fe) {\n    X = a.getGraphDiv(X);\n    function ke(Ee, oe, Ce) {\n      var Be, Xe;\n      if (a.isTypedArray(Ee))\n        if (Ce <= 0) {\n          var Et = new Ee.constructor(0), Pt = Q(oe, Ee);\n          Ce < 0 ? (Be = Pt, Xe = Et) : (Be = Et, Xe = Pt);\n        } else if (Be = new Ee.constructor(Ce), Xe = new Ee.constructor(Ee.length + oe.length - Ce), Ce === oe.length)\n          Be.set(oe), Xe.set(Ee);\n        else if (Ce < oe.length) {\n          var It = oe.length - Ce;\n          Be.set(oe.subarray(0, It)), Xe.set(oe.subarray(It)), Xe.set(Ee, It);\n        } else {\n          var kt = Ce - oe.length;\n          Be.set(oe), Be.set(Ee.subarray(0, kt), oe.length), Xe.set(Ee.subarray(kt));\n        }\n      else\n        Be = oe.concat(Ee), Xe = Ce >= 0 && Ce < Be.length ? Be.splice(Ce, Be.length) : [];\n      return [Be, Xe];\n    }\n    var _e = ae(X, se, ie, fe, ke), Ge = e.redraw(X), je = [X, _e.update, ie, _e.maxPoints];\n    return l.add(X, e.extendTraces, je, j, arguments), Ge;\n  }\n  function U(X, se, ie) {\n    X = a.getGraphDiv(X);\n    var fe = [], ke = e.deleteTraces, _e = U, Ge = [X, fe], je = [X, se], Ee, oe;\n    for (W(X, se, ie), Array.isArray(se) || (se = [se]), se = se.map(function(Ce) {\n      return a.extendFlat({}, Ce);\n    }), _.cleanData(se), Ee = 0; Ee < se.length; Ee++)\n      X.data.push(se[Ee]);\n    for (Ee = 0; Ee < se.length; Ee++)\n      fe.push(-se.length + Ee);\n    if (typeof ie > \"u\")\n      return oe = e.redraw(X), l.add(X, ke, Ge, _e, je), oe;\n    Array.isArray(ie) || (ie = [ie]);\n    try {\n      B(X, fe, ie);\n    } catch (Ce) {\n      throw X.data.splice(X.data.length - se.length, se.length), Ce;\n    }\n    return l.startSequence(X), l.add(X, ke, Ge, _e, je), oe = e.moveTraces(X, fe, ie), l.stopSequence(X), oe;\n  }\n  function Z(X, se) {\n    X = a.getGraphDiv(X);\n    var ie = [], fe = e.addTraces, ke = Z, _e = [X, ie, se], Ge = [X, se], je, Ee;\n    if (typeof se > \"u\")\n      throw new Error(\"indices must be an integer or array of integers.\");\n    for (Array.isArray(se) || (se = [se]), H(X, se, \"indices\"), se = R(se, X.data.length - 1), se.sort(a.sorterDes), je = 0; je < se.length; je += 1)\n      Ee = X.data.splice(se[je], 1)[0], ie.push(Ee);\n    var oe = e.redraw(X);\n    return l.add(X, fe, _e, ke, Ge), oe;\n  }\n  function le(X, se, ie) {\n    X = a.getGraphDiv(X);\n    var fe = [], ke = [], _e = le, Ge = le, je = [X, ie, se], Ee = [X, se, ie], oe;\n    if (B(X, se, ie), se = Array.isArray(se) ? se : [se], typeof ie > \"u\")\n      for (ie = [], oe = 0; oe < se.length; oe++)\n        ie.push(-se.length + oe);\n    for (ie = Array.isArray(ie) ? ie : [ie], se = R(se, X.data.length - 1), ie = R(ie, X.data.length - 1), oe = 0; oe < X.data.length; oe++)\n      se.indexOf(oe) === -1 && fe.push(X.data[oe]);\n    for (oe = 0; oe < se.length; oe++)\n      ke.push({ newIndex: ie[oe], trace: X.data[se[oe]] });\n    for (ke.sort(function(Be, Xe) {\n      return Be.newIndex - Xe.newIndex;\n    }), oe = 0; oe < ke.length; oe += 1)\n      fe.splice(ke[oe].newIndex, 0, ke[oe].trace);\n    X.data = fe;\n    var Ce = e.redraw(X);\n    return l.add(X, _e, je, Ge, Ee), Ce;\n  }\n  function J(X, se, ie, fe) {\n    X = a.getGraphDiv(X), _.clearPromiseQueue(X);\n    var ke = {};\n    if (typeof se == \"string\") ke[se] = ie;\n    else if (a.isPlainObject(se))\n      ke = a.extendFlat({}, se), fe === void 0 && (fe = ie);\n    else\n      return a.warn(\"Restyle fail.\", se, ie, fe), Promise.reject();\n    Object.keys(ke).length && (X.changed = !0);\n    var _e = _.coerceTraceIndices(X, fe), Ge = Le(X, ke, _e), je = Ge.flags;\n    je.calc && (X.calcdata = void 0), je.clearAxisTypes && _.clearAxisTypes(X, _e, {});\n    var Ee = [];\n    je.fullReplot ? Ee.push(e._doPlot) : (Ee.push(f.previousPromises), f.supplyDefaults(X), je.markerSize && (f.doCalcdata(X), Re(Ee)), je.style && Ee.push(T.doTraceStyle), je.colorbars && Ee.push(T.doColorBars), Ee.push(I)), Ee.push(\n      f.rehover,\n      f.redrag,\n      f.reselect\n    ), l.add(\n      X,\n      J,\n      [X, Ge.undoit, Ge.traces],\n      J,\n      [X, Ge.redoit, Ge.traces]\n    );\n    var oe = a.syncOrAsync(Ee, X);\n    return (!oe || !oe.then) && (oe = Promise.resolve()), oe.then(function() {\n      return X.emit(\"plotly_restyle\", Ge.eventData), X;\n    });\n  }\n  function pe(X) {\n    return X === void 0 ? null : X;\n  }\n  function ge(X, se) {\n    return se ? function(ie, fe, ke) {\n      var _e = i(ie, fe), Ge = _e.set;\n      return _e.set = function(je) {\n        var Ee = (ke || \"\") + fe;\n        ve(Ee, _e.get(), je, X), Ge(je);\n      }, _e;\n    } : i;\n  }\n  function ve(X, se, ie, fe) {\n    if (Array.isArray(se) || Array.isArray(ie))\n      for (var ke = Array.isArray(se) ? se : [], _e = Array.isArray(ie) ? ie : [], Ge = Math.max(ke.length, _e.length), je = 0; je < Ge; je++)\n        ve(X + \"[\" + je + \"]\", ke[je], _e[je], fe);\n    else if (a.isPlainObject(se) || a.isPlainObject(ie)) {\n      var Ee = a.isPlainObject(se) ? se : {}, oe = a.isPlainObject(ie) ? ie : {}, Ce = a.extendFlat({}, Ee, oe);\n      for (var Be in Ce)\n        ve(X + \".\" + Be, Ee[Be], oe[Be], fe);\n    } else fe[X] === void 0 && (fe[X] = pe(se));\n  }\n  function me(X, se, ie) {\n    for (var fe in ie) {\n      var ke = i(X, fe);\n      ve(fe, ke.get(), ie[fe], se);\n    }\n  }\n  function Le(X, se, ie) {\n    var fe = X._fullLayout, ke = X._fullData, _e = X.data, Ge = fe._guiEditing, je = ge(fe._preGUI, Ge), Ee = a.extendDeepAll({}, se), oe;\n    ze(se);\n    var Ce = S.traceFlags(), Be = {}, Xe = {}, Et;\n    function Pt() {\n      return ie.map(function() {\n      });\n    }\n    function It(zr) {\n      var tn = d.id2name(zr);\n      Et.indexOf(tn) === -1 && Et.push(tn);\n    }\n    function kt(zr) {\n      return \"LAYOUT\" + zr + \".autorange\";\n    }\n    function qt(zr) {\n      return \"LAYOUT\" + zr + \".range\";\n    }\n    function Ot(zr) {\n      for (var tn = zr; tn < ke.length; tn++)\n        if (ke[tn]._input === _e[zr]) return ke[tn];\n    }\n    function wt(zr, tn, Kn) {\n      if (Array.isArray(zr)) {\n        zr.forEach(function(ha) {\n          wt(ha, tn, Kn);\n        });\n        return;\n      }\n      if (!(zr in se || _.hasParent(se, zr))) {\n        var Ma;\n        if (zr.substr(0, 6) === \"LAYOUT\")\n          Ma = je(X.layout, zr.replace(\"LAYOUT\", \"\"));\n        else {\n          var Ti = ie[Kn], Jn = fe._tracePreGUI[Ot(Ti)._fullInput.uid];\n          Ma = ge(Jn, Ge)(_e[Ti], zr);\n        }\n        zr in Xe || (Xe[zr] = Pt()), Xe[zr][Kn] === void 0 && (Xe[zr][Kn] = pe(Ma.get())), tn !== void 0 && Ma.set(tn);\n      }\n    }\n    function Yt(zr) {\n      return function(tn) {\n        return ke[tn][zr];\n      };\n    }\n    function Kt(zr) {\n      return function(tn, Kn) {\n        return tn === !1 ? ke[ie[Kn]][zr] : null;\n      };\n    }\n    for (var $t in se) {\n      if (_.hasParent(se, $t))\n        throw new Error(\"cannot set \" + $t + \" and a parent attribute simultaneously\");\n      var zt = se[$t], Mt, St, Ut, fr, Ct, tr;\n      if (($t === \"autobinx\" || $t === \"autobiny\") && ($t = $t.charAt($t.length - 1) + \"bins\", Array.isArray(zt) ? zt = zt.map(Kt($t)) : zt === !1 ? zt = ie.map(Yt($t)) : zt = null), Be[$t] = zt, $t.substr(0, 6) === \"LAYOUT\") {\n        Ut = je(X.layout, $t.replace(\"LAYOUT\", \"\")), Xe[$t] = [pe(Ut.get())], Ut.set(Array.isArray(zt) ? zt[0] : zt), Ce.calc = !0;\n        continue;\n      }\n      for (Xe[$t] = Pt(), oe = 0; oe < ie.length; oe++) {\n        Mt = _e[ie[oe]], St = Ot(ie[oe]);\n        var Ht = fe._tracePreGUI[St._fullInput.uid];\n        if (Ut = ge(Ht, Ge)(Mt, $t), fr = Ut.get(), Ct = Array.isArray(zt) ? zt[oe % zt.length] : zt, Ct !== void 0) {\n          var $r = Ut.parts[Ut.parts.length - 1], ar = $t.substr(0, $t.length - $r.length - 1), Pr = ar ? ar + \".\" : \"\", Ur = ar ? i(St, ar).get() : St;\n          if (tr = u.getTraceValObject(St, Ut.parts), tr && tr.impliedEdits && Ct !== null)\n            for (var Pn in tr.impliedEdits)\n              wt(a.relativeAttr($t, Pn), tr.impliedEdits[Pn], oe);\n          else if (($r === \"thicknessmode\" || $r === \"lenmode\") && fr !== Ct && (Ct === \"fraction\" || Ct === \"pixels\") && Ur) {\n            var hn = fe._size, vn = Ur.orient, Ka = vn === \"top\" || vn === \"bottom\";\n            if ($r === \"thicknessmode\") {\n              var to = Ka ? hn.h : hn.w;\n              wt(Pr + \"thickness\", Ur.thickness * (Ct === \"fraction\" ? 1 / to : to), oe);\n            } else {\n              var ln = Ka ? hn.w : hn.h;\n              wt(Pr + \"len\", Ur.len * (Ct === \"fraction\" ? 1 / ln : ln), oe);\n            }\n          } else if ($t === \"type\" && (Ct === \"pie\" != (fr === \"pie\") || Ct === \"funnelarea\" != (fr === \"funnelarea\"))) {\n            var Xn = \"x\", ro = \"y\";\n            (Ct === \"bar\" || fr === \"bar\") && Mt.orientation === \"h\" && (Xn = \"y\", ro = \"x\"), a.swapAttrs(Mt, [\"?\", \"?src\"], \"labels\", Xn), a.swapAttrs(Mt, [\"d?\", \"?0\"], \"label\", Xn), a.swapAttrs(Mt, [\"?\", \"?src\"], \"values\", ro), fr === \"pie\" || fr === \"funnelarea\" ? (i(Mt, \"marker.color\").set(i(Mt, \"marker.colors\").get()), fe._pielayer.selectAll(\"g.trace\").remove()) : s.traceIs(Mt, \"cartesian\") && i(Mt, \"marker.colors\").set(i(Mt, \"marker.color\").get());\n          }\n          Xe[$t][oe] = pe(fr);\n          var ka = [\n            \"swapxy\",\n            \"swapxyaxes\",\n            \"orientation\",\n            \"orientationaxes\"\n          ];\n          if (ka.indexOf($t) !== -1) {\n            if ($t === \"orientation\") {\n              Ut.set(Ct);\n              var mr = Mt.x && !Mt.y ? \"h\" : \"v\";\n              if ((Ut.get() || mr) === St.orientation)\n                continue;\n            } else $t === \"orientationaxes\" && (Mt.orientation = { v: \"h\", h: \"v\" }[St.orientation]);\n            _.swapXYData(Mt), Ce.calc = Ce.clearAxisTypes = !0;\n          } else f.dataArrayContainers.indexOf(Ut.parts[0]) !== -1 ? (_.manageArrayContainers(Ut, Ct, Xe), Ce.calc = !0) : (tr ? tr.arrayOk && !s.traceIs(St, \"regl\") && (a.isArrayOrTypedArray(Ct) || a.isArrayOrTypedArray(fr)) ? Ce.calc = !0 : S.update(Ce, tr) : Ce.calc = !0, Ut.set(Ct));\n        }\n      }\n      if ([\"swapxyaxes\", \"orientationaxes\"].indexOf($t) !== -1 && d.swap(X, ie), $t === \"orientationaxes\") {\n        var Aa = i(X.layout, \"hovermode\"), Ja = Aa.get();\n        Ja === \"x\" ? Aa.set(\"y\") : Ja === \"y\" ? Aa.set(\"x\") : Ja === \"x unified\" ? Aa.set(\"y unified\") : Ja === \"y unified\" && Aa.set(\"x unified\");\n      }\n      if ([\"orientation\", \"type\"].indexOf($t) !== -1) {\n        for (Et = [], oe = 0; oe < ie.length; oe++) {\n          var no = _e[ie[oe]];\n          s.traceIs(no, \"cartesian\") && (It(no.xaxis || \"x\"), It(no.yaxis || \"y\"));\n        }\n        wt(Et.map(kt), !0, 0), wt(Et.map(qt), [0, 1], 0);\n      }\n    }\n    return (Ce.calc || Ce.plot) && (Ce.fullReplot = !0), {\n      flags: Ce,\n      undoit: Xe,\n      redoit: Be,\n      traces: ie,\n      eventData: a.extendDeepNoArrays([], [Ee, ie])\n    };\n  }\n  function ze(X) {\n    var se = a.counterRegex(\"axis\", \".title\", !1, !1), ie = /colorbar\\.title$/, fe = Object.keys(X), ke, _e, Ge;\n    for (ke = 0; ke < fe.length; ke++)\n      _e = fe[ke], Ge = X[_e], (_e === \"title\" || se.test(_e) || ie.test(_e)) && (typeof Ge == \"string\" || typeof Ge == \"number\") ? je(_e, _e.replace(\"title\", \"title.text\")) : _e.indexOf(\"titlefont\") > -1 && _e.indexOf(\"grouptitlefont\") === -1 ? je(_e, _e.replace(\"titlefont\", \"title.font\")) : _e.indexOf(\"titleposition\") > -1 ? je(_e, _e.replace(\"titleposition\", \"title.position\")) : _e.indexOf(\"titleside\") > -1 ? je(_e, _e.replace(\"titleside\", \"title.side\")) : _e.indexOf(\"titleoffset\") > -1 && je(_e, _e.replace(\"titleoffset\", \"title.offset\"));\n    function je(Ee, oe) {\n      X[oe] = X[Ee], delete X[Ee];\n    }\n  }\n  function Fe(X, se, ie) {\n    X = a.getGraphDiv(X), _.clearPromiseQueue(X);\n    var fe = {};\n    if (typeof se == \"string\")\n      fe[se] = ie;\n    else if (a.isPlainObject(se))\n      fe = a.extendFlat({}, se);\n    else\n      return a.warn(\"Relayout fail.\", se, ie), Promise.reject();\n    Object.keys(fe).length && (X.changed = !0);\n    var ke = qe(X, fe), _e = ke.flags;\n    _e.calc && (X.calcdata = void 0);\n    var Ge = [f.previousPromises];\n    _e.layoutReplot ? Ge.push(T.layoutReplot) : Object.keys(fe).length && (Oe(X, _e, ke) || f.supplyDefaults(X), _e.legend && Ge.push(T.doLegend), _e.layoutstyle && Ge.push(T.layoutStyles), _e.axrange && Re(Ge, ke.rangesAltered), _e.ticks && Ge.push(T.doTicksRelayout), _e.modebar && Ge.push(T.doModeBar), _e.camera && Ge.push(T.doCamera), _e.colorbars && Ge.push(T.doColorBars), Ge.push(I)), Ge.push(\n      f.rehover,\n      f.redrag,\n      f.reselect\n    ), l.add(\n      X,\n      Fe,\n      [X, ke.undoit],\n      Fe,\n      [X, ke.redoit]\n    );\n    var je = a.syncOrAsync(Ge, X);\n    return (!je || !je.then) && (je = Promise.resolve(X)), je.then(function() {\n      return X.emit(\"plotly_relayout\", ke.eventData), X;\n    });\n  }\n  function Oe(X, se, ie) {\n    var fe = X._fullLayout;\n    if (!se.axrange) return !1;\n    for (var ke in se)\n      if (ke !== \"axrange\" && se[ke]) return !1;\n    var _e, Ge, je = function(Et, Pt) {\n      return a.coerce(_e, Ge, p, Et, Pt);\n    }, Ee = {};\n    for (var oe in ie.rangesAltered) {\n      var Ce = d.id2name(oe);\n      if (_e = X.layout[Ce], Ge = fe[Ce], h(_e, Ge, je, Ee), Ge._matchGroup) {\n        for (var Be in Ge._matchGroup)\n          if (Be !== oe) {\n            var Xe = fe[d.id2name(Be)];\n            Xe.autorange = Ge.autorange, Xe.range = Ge.range.slice(), Xe._input.range = Ge.range.slice();\n          }\n      }\n    }\n    return !0;\n  }\n  function Re(X, se) {\n    var ie = se ? function(fe) {\n      var ke = [], _e = !0;\n      for (var Ge in se) {\n        var je = d.getFromId(fe, Ge);\n        if (ke.push(Ge), (je.ticklabelposition || \"\").indexOf(\"inside\") !== -1 && je._anchorAxis && ke.push(je._anchorAxis._id), je._matchGroup)\n          for (var Ee in je._matchGroup)\n            se[Ee] || ke.push(Ee);\n      }\n      return d.draw(fe, ke, { skipTitle: _e });\n    } : function(fe) {\n      return d.draw(fe, \"redraw\");\n    };\n    X.push(\n      w,\n      T.doAutoRangeAndConstraints,\n      ie,\n      T.drawData,\n      T.finalDraw\n    );\n  }\n  var We = /^[xyz]axis[0-9]*\\.range(\\[[0|1]\\])?$/, Me = /^[xyz]axis[0-9]*\\.autorange$/, Ve = /^[xyz]axis[0-9]*\\.domain(\\[[0|1]\\])?$/;\n  function qe(X, se) {\n    var ie = X.layout, fe = X._fullLayout, ke = fe._guiEditing, _e = ge(fe._preGUI, ke), Ge = Object.keys(se), je = d.list(X), Ee = a.extendDeepAll({}, se), oe = {}, Ce, Be, Xe;\n    for (ze(se), Ge = Object.keys(se), Be = 0; Be < Ge.length; Be++)\n      if (Ge[Be].indexOf(\"allaxes\") === 0) {\n        for (Xe = 0; Xe < je.length; Xe++) {\n          var Et = je[Xe]._id.substr(1), Pt = Et.indexOf(\"scene\") !== -1 ? Et + \".\" : \"\", It = Ge[Be].replace(\"allaxes\", Pt + je[Xe]._name);\n          se[It] || (se[It] = se[Ge[Be]]);\n        }\n        delete se[Ge[Be]];\n      }\n    var kt = S.layoutFlags(), qt = {}, Ot = {};\n    function wt(Jn, ha) {\n      if (Array.isArray(Jn)) {\n        Jn.forEach(function(od) {\n          wt(od, ha);\n        });\n        return;\n      }\n      if (!(Jn in se || _.hasParent(se, Jn))) {\n        var Ts = _e(ie, Jn);\n        Jn in Ot || (Ot[Jn] = pe(Ts.get())), ha !== void 0 && Ts.set(ha);\n      }\n    }\n    var Yt = {}, Kt;\n    function $t(Jn) {\n      var ha = d.name2id(Jn.split(\".\")[0]);\n      return Yt[ha] = 1, ha;\n    }\n    for (var zt in se) {\n      if (_.hasParent(se, zt))\n        throw new Error(\"cannot set \" + zt + \" and a parent attribute simultaneously\");\n      for (var Mt = _e(ie, zt), St = se[zt], Ut = Mt.parts.length, fr = Ut - 1; fr > 0 && typeof Mt.parts[fr] != \"string\"; ) fr--;\n      var Ct = Mt.parts[fr], tr = Mt.parts[fr - 1] + \".\" + Ct, Ht = Mt.parts.slice(0, fr).join(\".\"), $r = i(X.layout, Ht).get(), ar = i(fe, Ht).get(), Pr = Mt.get();\n      if (St !== void 0) {\n        qt[zt] = St, Ot[zt] = Ct === \"reverse\" ? St : pe(Pr);\n        var Ur = u.getLayoutValObject(fe, Mt.parts);\n        if (Ur && Ur.impliedEdits && St !== null)\n          for (var Pn in Ur.impliedEdits)\n            wt(a.relativeAttr(zt, Pn), Ur.impliedEdits[Pn]);\n        if ([\"width\", \"height\"].indexOf(zt) !== -1)\n          if (St) {\n            wt(\"autosize\", null);\n            var hn = zt === \"height\" ? \"width\" : \"height\";\n            wt(hn, fe[hn]);\n          } else\n            fe[zt] = X._initialAutoSize[zt];\n        else if (zt === \"autosize\")\n          wt(\"width\", St ? null : fe.width), wt(\"height\", St ? null : fe.height);\n        else if (tr.match(We))\n          $t(tr), i(fe, Ht + \"._inputRange\").set(null);\n        else if (tr.match(Me)) {\n          $t(tr), i(fe, Ht + \"._inputRange\").set(null);\n          var vn = i(fe, Ht).get();\n          vn._inputDomain && (vn._input.domain = vn._inputDomain.slice());\n        } else tr.match(Ve) && i(fe, Ht + \"._inputDomain\").set(null);\n        if (Ct === \"type\") {\n          Kt = $r;\n          var Ka = ar.type === \"linear\" && St === \"log\", to = ar.type === \"log\" && St === \"linear\";\n          if (Ka || to) {\n            if (!Kt || !Kt.range)\n              wt(Ht + \".autorange\", !0);\n            else if (ar.autorange)\n              Ka && (Kt.range = Kt.range[1] > Kt.range[0] ? [1, 2] : [2, 1]);\n            else {\n              var ln = Kt.range[0], Xn = Kt.range[1];\n              Ka ? (ln <= 0 && Xn <= 0 && wt(Ht + \".autorange\", !0), ln <= 0 ? ln = Xn / 1e6 : Xn <= 0 && (Xn = ln / 1e6), wt(Ht + \".range[0]\", Math.log(ln) / Math.LN10), wt(Ht + \".range[1]\", Math.log(Xn) / Math.LN10)) : (wt(Ht + \".range[0]\", Math.pow(10, ln)), wt(Ht + \".range[1]\", Math.pow(10, Xn)));\n            }\n            Array.isArray(fe._subplots.polar) && fe._subplots.polar.length && fe[Mt.parts[0]] && Mt.parts[1] === \"radialaxis\" && delete fe[Mt.parts[0]]._subplot.viewInitial[\"radialaxis.range\"], s.getComponentMethod(\"annotations\", \"convertCoords\")(X, ar, St, wt), s.getComponentMethod(\"images\", \"convertCoords\")(X, ar, St, wt);\n          } else\n            wt(Ht + \".autorange\", !0), wt(Ht + \".range\", null);\n          i(fe, Ht + \"._inputRange\").set(null);\n        } else if (Ct.match(M)) {\n          var ro = i(fe, zt).get(), ka = (St || {}).type;\n          (!ka || ka === \"-\") && (ka = \"linear\"), s.getComponentMethod(\"annotations\", \"convertCoords\")(X, ro, ka, wt), s.getComponentMethod(\"images\", \"convertCoords\")(X, ro, ka, wt);\n        }\n        var mr = x.containerArrayMatch(zt);\n        if (mr) {\n          Ce = mr.array, Be = mr.index;\n          var Aa = mr.property, Ja = Ur || { editType: \"calc\" };\n          Be !== \"\" && Aa === \"\" && (x.isAddVal(St) ? Ot[zt] = null : x.isRemoveVal(St) ? Ot[zt] = (i(ie, Ce).get() || [])[Be] : a.warn(\"unrecognized full object value\", se)), S.update(kt, Ja), oe[Ce] || (oe[Ce] = {});\n          var no = oe[Ce][Be];\n          no || (no = oe[Ce][Be] = {}), no[Aa] = St, delete se[zt];\n        } else Ct === \"reverse\" ? ($r.range ? $r.range.reverse() : (wt(Ht + \".autorange\", !0), $r.range = [1, 0]), ar.autorange ? kt.calc = !0 : kt.plot = !0) : (zt === \"dragmode\" && (St === !1 && Pr !== !1 || St !== !1 && Pr === !1) || fe._has(\"scatter-like\") && fe._has(\"regl\") && zt === \"dragmode\" && (St === \"lasso\" || St === \"select\") && !(Pr === \"lasso\" || Pr === \"select\") || fe._has(\"gl2d\") ? kt.plot = !0 : Ur ? S.update(kt, Ur) : kt.calc = !0, Mt.set(St));\n      }\n    }\n    for (Ce in oe) {\n      var zr = x.applyContainerArrayChanges(\n        X,\n        _e(ie, Ce),\n        oe[Ce],\n        kt,\n        _e\n      );\n      zr || (kt.plot = !0);\n    }\n    for (var tn in Yt) {\n      Kt = d.getFromId(X, tn);\n      var Kn = Kt && Kt._constraintGroup;\n      if (Kn) {\n        kt.calc = !0;\n        for (var Ma in Kn)\n          Yt[Ma] || (d.getFromId(X, Ma)._constraintShrinkable = !0);\n      }\n    }\n    (Qe(X) || se.height || se.width) && (kt.plot = !0);\n    var Ti = fe.shapes;\n    for (Be = 0; Be < Ti.length; Be++)\n      if (Ti[Be].showlegend) {\n        kt.calc = !0;\n        break;\n      }\n    return (kt.plot || kt.calc) && (kt.layoutReplot = !0), {\n      flags: kt,\n      rangesAltered: Yt,\n      undoit: Ot,\n      redoit: qt,\n      eventData: Ee\n    };\n  }\n  function Qe(X) {\n    var se = X._fullLayout, ie = se.width, fe = se.height;\n    return X.layout.autosize && f.plotAutoSize(X, X.layout, se), se.width !== ie || se.height !== fe;\n  }\n  function ot(X, se, ie, fe) {\n    X = a.getGraphDiv(X), _.clearPromiseQueue(X), a.isPlainObject(se) || (se = {}), a.isPlainObject(ie) || (ie = {}), Object.keys(se).length && (X.changed = !0), Object.keys(ie).length && (X.changed = !0);\n    var ke = _.coerceTraceIndices(X, fe), _e = Le(X, a.extendFlat({}, se), ke), Ge = _e.flags, je = qe(X, a.extendFlat({}, ie)), Ee = je.flags;\n    (Ge.calc || Ee.calc) && (X.calcdata = void 0), Ge.clearAxisTypes && _.clearAxisTypes(X, ke, ie);\n    var oe = [];\n    Ee.layoutReplot ? oe.push(T.layoutReplot) : Ge.fullReplot ? oe.push(e._doPlot) : (oe.push(f.previousPromises), Oe(X, Ee, je) || f.supplyDefaults(X), Ge.style && oe.push(T.doTraceStyle), (Ge.colorbars || Ee.colorbars) && oe.push(T.doColorBars), Ee.legend && oe.push(T.doLegend), Ee.layoutstyle && oe.push(T.layoutStyles), Ee.axrange && Re(oe, je.rangesAltered), Ee.ticks && oe.push(T.doTicksRelayout), Ee.modebar && oe.push(T.doModeBar), Ee.camera && oe.push(T.doCamera), oe.push(I)), oe.push(\n      f.rehover,\n      f.redrag,\n      f.reselect\n    ), l.add(\n      X,\n      ot,\n      [X, _e.undoit, je.undoit, _e.traces],\n      ot,\n      [X, _e.redoit, je.redoit, _e.traces]\n    );\n    var Ce = a.syncOrAsync(oe, X);\n    return (!Ce || !Ce.then) && (Ce = Promise.resolve(X)), Ce.then(function() {\n      return X.emit(\"plotly_update\", {\n        data: _e.eventData,\n        layout: je.eventData\n      }), X;\n    });\n  }\n  function ht(X) {\n    return function(ie) {\n      ie._fullLayout._guiEditing = !0;\n      var fe = X.apply(null, arguments);\n      return ie._fullLayout._guiEditing = !1, fe;\n    };\n  }\n  var vt = [\n    { pattern: /^hiddenlabels/, attr: \"legend.uirevision\" },\n    { pattern: /^((x|y)axis\\d*)\\.((auto)?range|title\\.text)/ },\n    // showspikes and modes include those nested inside scenes\n    { pattern: /axis\\d*\\.showspikes$/, attr: \"modebar.uirevision\" },\n    { pattern: /(hover|drag)mode$/, attr: \"modebar.uirevision\" },\n    { pattern: /^(scene\\d*)\\.camera/ },\n    { pattern: /^(geo\\d*)\\.(projection|center|fitbounds)/ },\n    { pattern: /^(ternary\\d*\\.[abc]axis)\\.(min|title\\.text)$/ },\n    { pattern: /^(polar\\d*\\.radialaxis)\\.((auto)?range|angle|title\\.text)/ },\n    { pattern: /^(polar\\d*\\.angularaxis)\\.rotation/ },\n    { pattern: /^(mapbox\\d*)\\.(center|zoom|bearing|pitch)/ },\n    { pattern: /^legend\\.(x|y)$/, attr: \"editrevision\" },\n    { pattern: /^(shapes|annotations)/, attr: \"editrevision\" },\n    { pattern: /^title\\.text$/, attr: \"editrevision\" }\n  ], nt = [\n    { pattern: /^selectedpoints$/, attr: \"selectionrevision\" },\n    // \"visible\" includes trace.transforms[i].styles[j].value.visible\n    { pattern: /(^|value\\.)visible$/, attr: \"legend.uirevision\" },\n    { pattern: /^dimensions\\[\\d+\\]\\.constraintrange/ },\n    { pattern: /^node\\.(x|y|groups)/ },\n    // for Sankey nodes\n    { pattern: /^level$/ },\n    // for Sunburst, Treemap and Icicle traces\n    // below this you must be in editable: true mode\n    // TODO: I still put name and title with `trace.uirevision`\n    // reasonable or should these be `editrevision`?\n    // Also applies to axis titles up in the layout section\n    // \"name\" also includes transform.styles\n    { pattern: /(^|value\\.)name$/ },\n    // including nested colorbar attributes (ie marker.colorbar)\n    { pattern: /colorbar\\.title\\.text$/ },\n    { pattern: /colorbar\\.(x|y)$/, attr: \"editrevision\" }\n  ];\n  function ft(X, se) {\n    for (var ie = 0; ie < se.length; ie++) {\n      var fe = se[ie], ke = X.match(fe.pattern);\n      if (ke) {\n        var _e = ke[1] || \"\";\n        return { head: _e, tail: X.substr(_e.length + 1), attr: fe.attr };\n      }\n    }\n  }\n  function Pe(X, se) {\n    var ie = i(se, X).get();\n    if (ie !== void 0) return ie;\n    var fe = X.split(\".\");\n    for (fe.pop(); fe.length > 1; )\n      if (fe.pop(), ie = i(se, fe.join(\".\") + \".uirevision\").get(), ie !== void 0) return ie;\n    return se.uirevision;\n  }\n  function Ie(X, se) {\n    for (var ie = 0; ie < se.length; ie++)\n      if (se[ie]._fullInput.uid === X) return ie;\n    return -1;\n  }\n  function Ne(X, se, ie) {\n    for (var fe = 0; fe < se.length; fe++)\n      if (se[fe].uid === X) return fe;\n    return !se[ie] || se[ie].uid ? -1 : ie;\n  }\n  function tt(X, se) {\n    var ie = a.isPlainObject(X), fe = Array.isArray(X);\n    return ie || fe ? (ie && a.isPlainObject(se) || fe && Array.isArray(se)) && JSON.stringify(X) === JSON.stringify(se) : X === se;\n  }\n  function Je(X, se, ie, fe) {\n    var ke = fe._preGUI, _e, Ge, je, Ee, oe, Ce, Be, Xe, Et, Pt, It = [], kt = {}, qt = {};\n    for (_e in ke) {\n      if (oe = ft(_e, vt), oe) {\n        if (Et = oe.head, Pt = oe.tail, Ge = oe.attr || Et + \".uirevision\", je = i(fe, Ge).get(), Ee = je && Pe(Ge, se), Ee && Ee === je) {\n          if (Ce = ke[_e], Ce === null && (Ce = void 0), Be = i(se, _e), Xe = Be.get(), tt(Xe, Ce)) {\n            Xe === void 0 && Pt === \"autorange\" && It.push(Et), Be.set(pe(i(fe, _e).get()));\n            continue;\n          } else if (Pt === \"autorange\" || Pt.substr(0, 6) === \"range[\") {\n            var Ot = ke[Et + \".range[0]\"], wt = ke[Et + \".range[1]\"], Yt = ke[Et + \".autorange\"];\n            if (Yt || Yt === null && Ot === null && wt === null) {\n              if (!(Et in kt)) {\n                var Kt = i(se, Et).get();\n                kt[Et] = Kt && (Kt.autorange || Kt.autorange !== !1 && (!Kt.range || Kt.range.length !== 2));\n              }\n              if (kt[Et]) {\n                Be.set(pe(i(fe, _e).get()));\n                continue;\n              }\n            }\n          }\n        }\n      } else\n        a.warn(\"unrecognized GUI edit: \" + _e);\n      delete ke[_e], oe && oe.tail.substr(0, 6) === \"range[\" && (qt[oe.head] = 1);\n    }\n    for (var $t = 0; $t < It.length; $t++) {\n      var zt = It[$t];\n      if (qt[zt]) {\n        var Mt = i(se, zt).get();\n        Mt && delete Mt.autorange;\n      }\n    }\n    var St = fe._tracePreGUI;\n    for (var Ut in St) {\n      var fr = St[Ut], Ct = null, tr;\n      for (_e in fr) {\n        if (!Ct) {\n          var Ht = Ie(Ut, ie);\n          if (Ht < 0) {\n            delete St[Ut];\n            break;\n          }\n          var $r = ie[Ht];\n          tr = $r._fullInput;\n          var ar = Ne(Ut, X, tr.index);\n          if (ar < 0) {\n            delete St[Ut];\n            break;\n          }\n          Ct = X[ar];\n        }\n        if (oe = ft(_e, nt), oe) {\n          if (oe.attr ? (je = i(fe, oe.attr).get(), Ee = je && Pe(oe.attr, se)) : (je = tr.uirevision, Ee = Ct.uirevision, Ee === void 0 && (Ee = se.uirevision)), Ee && Ee === je && (Ce = fr[_e], Ce === null && (Ce = void 0), Be = i(Ct, _e), Xe = Be.get(), tt(Xe, Ce))) {\n            Be.set(pe(i(tr, _e).get()));\n            continue;\n          }\n        } else\n          a.warn(\"unrecognized GUI edit: \" + _e + \" in trace uid \" + Ut);\n        delete fr[_e];\n      }\n    }\n  }\n  function it(X, se, ie, fe) {\n    var ke, _e;\n    function Ge() {\n      return e.addFrames(X, ke);\n    }\n    X = a.getGraphDiv(X), _.clearPromiseQueue(X);\n    var je = X._fullData, Ee = X._fullLayout;\n    if (!a.isPlotDiv(X) || !je || !Ee)\n      _e = e.newPlot(X, se, ie, fe);\n    else {\n      if (a.isPlainObject(se)) {\n        var oe = se;\n        se = oe.data, ie = oe.layout, fe = oe.config, ke = oe.frames;\n      }\n      var Ce = !1;\n      if (fe) {\n        var Be = a.extendDeep({}, X._context);\n        X._context = void 0, V(X, fe), Ce = He(Be, X._context);\n      }\n      X.data = se || [], _.cleanData(X.data), X.layout = ie || {}, _.cleanLayout(X.layout), Je(X.data, X.layout, je, Ee), f.supplyDefaults(X, { skipUpdateCalc: !0 });\n      var Xe = X._fullData, Et = X._fullLayout, Pt = Et.datarevision === void 0, It = Et.transition, kt = Tt(X, Ee, Et, Pt, It), qt = kt.newDataRevision, Ot = at(X, je, Xe, Pt, It, qt);\n      if (Qe(X) && (kt.layoutReplot = !0), Ot.calc || kt.calc) {\n        X.calcdata = void 0;\n        for (var wt = Object.getOwnPropertyNames(Et), Yt = 0; Yt < wt.length; Yt++) {\n          var Kt = wt[Yt], $t = Kt.substring(0, 5);\n          if ($t === \"xaxis\" || $t === \"yaxis\") {\n            var zt = Et[Kt]._emptyCategories;\n            zt && zt();\n          }\n        }\n      } else\n        f.supplyDefaultsUpdateCalc(X.calcdata, Xe);\n      var Mt = [];\n      if (ke && (X._transitionData = {}, f.createTransitionData(X), Mt.push(Ge)), Et.transition && !Ce && (Ot.anim || kt.anim))\n        kt.ticks && Mt.push(T.doTicksRelayout), f.doCalcdata(X), T.doAutoRangeAndConstraints(X), Mt.push(function() {\n          return f.transitionFromReact(X, Ot, kt, Ee);\n        });\n      else if (Ot.fullReplot || kt.layoutReplot || Ce)\n        X._fullLayout._skipDefaults = !0, Mt.push(e._doPlot);\n      else {\n        for (var St in kt.arrays) {\n          var Ut = kt.arrays[St];\n          if (Ut.length) {\n            var fr = s.getComponentMethod(St, \"drawOne\");\n            if (fr !== a.noop)\n              for (var Ct = 0; Ct < Ut.length; Ct++)\n                fr(X, Ut[Ct]);\n            else {\n              var tr = s.getComponentMethod(St, \"draw\");\n              if (tr === a.noop)\n                throw new Error(\"cannot draw components: \" + St);\n              tr(X);\n            }\n          }\n        }\n        Mt.push(f.previousPromises), Ot.style && Mt.push(T.doTraceStyle), (Ot.colorbars || kt.colorbars) && Mt.push(T.doColorBars), kt.legend && Mt.push(T.doLegend), kt.layoutstyle && Mt.push(T.layoutStyles), kt.axrange && Re(Mt), kt.ticks && Mt.push(T.doTicksRelayout), kt.modebar && Mt.push(T.doModeBar), kt.camera && Mt.push(T.doCamera), Mt.push(I);\n      }\n      Mt.push(\n        f.rehover,\n        f.redrag,\n        f.reselect\n      ), _e = a.syncOrAsync(Mt, X), (!_e || !_e.then) && (_e = Promise.resolve(X));\n    }\n    return _e.then(function() {\n      return X.emit(\"plotly_react\", {\n        data: se,\n        layout: ie\n      }), X;\n    });\n  }\n  function at(X, se, ie, fe, ke, _e) {\n    var Ge = se.length === ie.length;\n    if (!ke && !Ge)\n      return {\n        fullReplot: !0,\n        calc: !0\n      };\n    var je = S.traceFlags();\n    je.arrays = {}, je.nChanges = 0, je.nChangesAnim = 0;\n    var Ee, oe;\n    function Ce(Et) {\n      var Pt = u.getTraceValObject(oe, Et);\n      return !oe._module.animatable && Pt.anim && (Pt.anim = !1), Pt;\n    }\n    var Be = {\n      getValObject: Ce,\n      flags: je,\n      immutable: fe,\n      transition: ke,\n      newDataRevision: _e,\n      gd: X\n    }, Xe = {};\n    for (Ee = 0; Ee < se.length; Ee++)\n      if (ie[Ee]) {\n        if (oe = ie[Ee]._fullInput, f.hasMakesDataTransform(oe) && (oe = ie[Ee]), Xe[oe.uid]) continue;\n        Xe[oe.uid] = 1, gt(se[Ee]._fullInput, oe, [], Be);\n      }\n    return (je.calc || je.plot) && (je.fullReplot = !0), ke && je.nChanges && je.nChangesAnim && (je.anim = je.nChanges === je.nChangesAnim && Ge ? \"all\" : \"some\"), je;\n  }\n  function Tt(X, se, ie, fe, ke) {\n    var _e = S.layoutFlags();\n    _e.arrays = {}, _e.rangesAltered = {}, _e.nChanges = 0, _e.nChangesAnim = 0;\n    function Ge(Ee) {\n      return u.getLayoutValObject(ie, Ee);\n    }\n    var je = {\n      getValObject: Ge,\n      flags: _e,\n      immutable: fe,\n      transition: ke,\n      gd: X\n    };\n    return gt(se, ie, [], je), (_e.plot || _e.calc) && (_e.layoutReplot = !0), ke && _e.nChanges && _e.nChangesAnim && (_e.anim = _e.nChanges === _e.nChangesAnim ? \"all\" : \"some\"), _e;\n  }\n  function gt(X, se, ie, fe) {\n    var ke, _e, Ge, je = fe.getValObject, Ee = fe.flags, oe = fe.immutable, Ce = fe.inArray, Be = fe.arrayIndex;\n    function Xe() {\n      var Ht = ke.editType;\n      if (Ce && Ht.indexOf(\"arraydraw\") !== -1) {\n        a.pushUnique(Ee.arrays[Ce], Be);\n        return;\n      }\n      S.update(Ee, ke), Ht !== \"none\" && Ee.nChanges++, fe.transition && ke.anim && Ee.nChangesAnim++, (We.test(Ge) || Me.test(Ge)) && (Ee.rangesAltered[ie[0]] = 1), Ve.test(Ge) && i(se, \"_inputDomain\").set(null), _e === \"datarevision\" && (Ee.newDataRevision = 1);\n    }\n    function Et(Ht) {\n      return Ht.valType === \"data_array\" || Ht.arrayOk;\n    }\n    for (_e in X) {\n      if (Ee.calc && !fe.transition) return;\n      var Pt = X[_e], It = se[_e], kt = ie.concat(_e);\n      if (Ge = kt.join(\".\"), !(_e.charAt(0) === \"_\" || typeof Pt == \"function\" || Pt === It)) {\n        if ((_e === \"tick0\" || _e === \"dtick\") && ie[0] !== \"geo\") {\n          var qt = se.tickmode;\n          if (qt === \"auto\" || qt === \"array\" || !qt) continue;\n        }\n        if (!(_e === \"range\" && se.autorange) && !((_e === \"zmin\" || _e === \"zmax\") && se.type === \"contourcarpet\") && (ke = je(kt), !!ke && !(ke._compareAsJSON && JSON.stringify(Pt) === JSON.stringify(It)))) {\n          var Ot = ke.valType, wt, Yt = Et(ke), Kt = Array.isArray(Pt), $t = Array.isArray(It);\n          if (Kt && $t) {\n            var zt = \"_input_\" + _e, Mt = X[zt], St = se[zt];\n            if (Array.isArray(Mt) && Mt === St) continue;\n          }\n          if (It === void 0)\n            Yt && Kt ? Ee.calc = !0 : Xe();\n          else if (ke._isLinkedToArray) {\n            var Ut = [], fr = !1;\n            Ce || (Ee.arrays[_e] = Ut);\n            var Ct = Math.min(Pt.length, It.length), tr = Math.max(Pt.length, It.length);\n            if (Ct !== tr)\n              if (ke.editType === \"arraydraw\")\n                fr = !0;\n              else {\n                Xe();\n                continue;\n              }\n            for (wt = 0; wt < Ct; wt++)\n              gt(\n                Pt[wt],\n                It[wt],\n                kt.concat(wt),\n                // add array indices, but not if we're already in an array\n                a.extendFlat({ inArray: _e, arrayIndex: wt }, fe)\n              );\n            if (fr)\n              for (wt = Ct; wt < tr; wt++)\n                Ut.push(wt);\n          } else !Ot && a.isPlainObject(Pt) ? gt(Pt, It, kt, fe) : Yt ? Kt && $t ? (oe && (Ee.calc = !0), (oe || fe.newDataRevision) && Xe()) : Kt !== $t ? Ee.calc = !0 : Xe() : Kt && $t ? (Pt.length !== It.length || String(Pt) !== String(It)) && Xe() : Xe();\n        }\n      }\n    }\n    for (_e in se)\n      if (!(_e in X || _e.charAt(0) === \"_\" || typeof se[_e] == \"function\"))\n        if (ke = je(ie.concat(_e)), Et(ke) && Array.isArray(se[_e])) {\n          Ee.calc = !0;\n          return;\n        } else Xe();\n  }\n  function He(X, se) {\n    var ie;\n    for (ie in X)\n      if (ie.charAt(0) !== \"_\") {\n        var fe = X[ie], ke = se[ie];\n        if (fe !== ke)\n          if (a.isPlainObject(fe) && a.isPlainObject(ke)) {\n            if (He(fe, ke))\n              return !0;\n          } else if (Array.isArray(fe) && Array.isArray(ke)) {\n            if (fe.length !== ke.length)\n              return !0;\n            for (var _e = 0; _e < fe.length; _e++)\n              if (fe[_e] !== ke[_e])\n                if (a.isPlainObject(fe[_e]) && a.isPlainObject(ke[_e])) {\n                  if (He(fe[_e], ke[_e]))\n                    return !0;\n                } else\n                  return !0;\n          } else\n            return !0;\n      }\n  }\n  function pt(X, se, ie) {\n    if (X = a.getGraphDiv(X), !a.isPlotDiv(X))\n      throw new Error(\n        \"This element is not a Plotly plot: \" + X + \". It's likely that you've failed to create a plot before animating it. For more details, see https://plotly.com/javascript/animations/\"\n      );\n    var fe = X._transitionData;\n    fe._frameQueue || (fe._frameQueue = []), ie = f.supplyAnimationDefaults(ie);\n    var ke = ie.transition, _e = ie.frame;\n    fe._frameWaitingCnt === void 0 && (fe._frameWaitingCnt = 0);\n    function Ge(oe) {\n      return Array.isArray(ke) ? oe >= ke.length ? ke[0] : ke[oe] : ke;\n    }\n    function je(oe) {\n      return Array.isArray(_e) ? oe >= _e.length ? _e[0] : _e[oe] : _e;\n    }\n    function Ee(oe, Ce) {\n      var Be = 0;\n      return function() {\n        if (oe && ++Be === Ce)\n          return oe();\n      };\n    }\n    return new Promise(function(oe, Ce) {\n      function Be() {\n        if (fe._frameQueue.length !== 0) {\n          for (; fe._frameQueue.length; ) {\n            var Ct = fe._frameQueue.pop();\n            Ct.onInterrupt && Ct.onInterrupt();\n          }\n          X.emit(\"plotly_animationinterrupted\", []);\n        }\n      }\n      function Xe(Ct) {\n        if (Ct.length !== 0) {\n          for (var tr = 0; tr < Ct.length; tr++) {\n            var Ht;\n            Ct[tr].type === \"byname\" ? Ht = f.computeFrame(X, Ct[tr].name) : Ht = Ct[tr].data;\n            var $r = je(tr), ar = Ge(tr);\n            ar.duration = Math.min(ar.duration, $r.duration);\n            var Pr = {\n              frame: Ht,\n              name: Ct[tr].name,\n              frameOpts: $r,\n              transitionOpts: ar\n            };\n            tr === Ct.length - 1 && (Pr.onComplete = Ee(oe, 2), Pr.onInterrupt = Ce), fe._frameQueue.push(Pr);\n          }\n          ie.mode === \"immediate\" && (fe._lastFrameAt = -1 / 0), fe._animationRaf || It();\n        }\n      }\n      function Et() {\n        X.emit(\"plotly_animated\"), window.cancelAnimationFrame(fe._animationRaf), fe._animationRaf = null;\n      }\n      function Pt() {\n        fe._currentFrame && fe._currentFrame.onComplete && fe._currentFrame.onComplete();\n        var Ct = fe._currentFrame = fe._frameQueue.shift();\n        if (Ct) {\n          var tr = Ct.name ? Ct.name.toString() : null;\n          X._fullLayout._currentFrame = tr, fe._lastFrameAt = Date.now(), fe._timeToNext = Ct.frameOpts.duration, f.transition(\n            X,\n            Ct.frame.data,\n            Ct.frame.layout,\n            _.coerceTraceIndices(X, Ct.frame.traces),\n            Ct.frameOpts,\n            Ct.transitionOpts\n          ).then(function() {\n            Ct.onComplete && Ct.onComplete();\n          }), X.emit(\"plotly_animatingframe\", {\n            name: tr,\n            frame: Ct.frame,\n            animation: {\n              frame: Ct.frameOpts,\n              transition: Ct.transitionOpts\n            }\n          });\n        } else\n          Et();\n      }\n      function It() {\n        X.emit(\"plotly_animating\"), fe._lastFrameAt = -1 / 0, fe._timeToNext = 0, fe._runningTransitions = 0, fe._currentFrame = null;\n        var Ct = function() {\n          fe._animationRaf = window.requestAnimationFrame(Ct), Date.now() - fe._lastFrameAt > fe._timeToNext && Pt();\n        };\n        Ct();\n      }\n      var kt = 0;\n      function qt(Ct) {\n        return Array.isArray(ke) ? kt >= ke.length ? Ct.transitionOpts = ke[kt] : Ct.transitionOpts = ke[0] : Ct.transitionOpts = ke, kt++, Ct;\n      }\n      var Ot, wt, Yt = [], Kt = se == null, $t = Array.isArray(se), zt = !Kt && !$t && a.isPlainObject(se);\n      if (zt)\n        Yt.push({\n          type: \"object\",\n          data: qt(a.extendFlat({}, se))\n        });\n      else if (Kt || [\"string\", \"number\"].indexOf(typeof se) !== -1)\n        for (Ot = 0; Ot < fe._frames.length; Ot++)\n          wt = fe._frames[Ot], wt && (Kt || String(wt.group) === String(se)) && Yt.push({\n            type: \"byname\",\n            name: String(wt.name),\n            data: qt({ name: wt.name })\n          });\n      else if ($t)\n        for (Ot = 0; Ot < se.length; Ot++) {\n          var Mt = se[Ot];\n          [\"number\", \"string\"].indexOf(typeof Mt) !== -1 ? (Mt = String(Mt), Yt.push({\n            type: \"byname\",\n            name: Mt,\n            data: qt({ name: Mt })\n          })) : a.isPlainObject(Mt) && Yt.push({\n            type: \"object\",\n            data: qt(a.extendFlat({}, Mt))\n          });\n        }\n      for (Ot = 0; Ot < Yt.length; Ot++)\n        if (wt = Yt[Ot], wt.type === \"byname\" && !fe._frameHash[wt.data.name]) {\n          a.warn('animate failure: frame not found: \"' + wt.data.name + '\"'), Ce();\n          return;\n        }\n      [\"next\", \"immediate\"].indexOf(ie.mode) !== -1 && Be(), ie.direction === \"reverse\" && Yt.reverse();\n      var St = X._fullLayout._currentFrame;\n      if (St && ie.fromcurrent) {\n        var Ut = -1;\n        for (Ot = 0; Ot < Yt.length; Ot++)\n          if (wt = Yt[Ot], wt.type === \"byname\" && wt.name === St) {\n            Ut = Ot;\n            break;\n          }\n        if (Ut > 0 && Ut < Yt.length - 1) {\n          var fr = [];\n          for (Ot = 0; Ot < Yt.length; Ot++)\n            wt = Yt[Ot], (Yt[Ot].type !== \"byname\" || Ot > Ut) && fr.push(wt);\n          Yt = fr;\n        }\n      }\n      Yt.length > 0 ? Xe(Yt) : (X.emit(\"plotly_animated\"), oe());\n    });\n  }\n  function bt(X, se, ie) {\n    if (X = a.getGraphDiv(X), se == null)\n      return Promise.resolve();\n    if (!a.isPlotDiv(X))\n      throw new Error(\n        \"This element is not a Plotly plot: \" + X + \". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/\"\n      );\n    var fe, ke, _e, Ge, je = X._transitionData._frames, Ee = X._transitionData._frameHash;\n    if (!Array.isArray(se))\n      throw new Error(\"addFrames failure: frameList must be an Array of frame definitions\" + se);\n    var oe = je.length + se.length * 2, Ce = [], Be = {};\n    for (fe = se.length - 1; fe >= 0; fe--)\n      if (a.isPlainObject(se[fe])) {\n        var Xe = se[fe].name, Et = (Ee[Xe] || Be[Xe] || {}).name, Pt = se[fe].name, It = Ee[Et] || Be[Et];\n        Et && Pt && typeof Pt == \"number\" && It && L < F && (L++, a.warn('addFrames: overwriting frame \"' + (Ee[Et] || Be[Et]).name + '\" with a frame whose name of type \"number\" also equates to \"' + Et + '\". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'), L === F && a.warn(\"addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.\")), Be[Xe] = { name: Xe }, Ce.push({\n          frame: f.supplyFrameDefaults(se[fe]),\n          index: ie && ie[fe] !== void 0 && ie[fe] !== null ? ie[fe] : oe + fe\n        });\n      }\n    Ce.sort(function(zt, Mt) {\n      return zt.index > Mt.index ? -1 : zt.index < Mt.index ? 1 : 0;\n    });\n    var kt = [], qt = [], Ot = je.length;\n    for (fe = Ce.length - 1; fe >= 0; fe--) {\n      if (ke = Ce[fe].frame, typeof ke.name == \"number\" && a.warn(\"Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings\"), !ke.name)\n        for (; Ee[ke.name = \"frame \" + X._transitionData._counter++]; ) ;\n      if (Ee[ke.name]) {\n        for (_e = 0; _e < je.length && (je[_e] || {}).name !== ke.name; _e++)\n          ;\n        kt.push({ type: \"replace\", index: _e, value: ke }), qt.unshift({ type: \"replace\", index: _e, value: je[_e] });\n      } else\n        Ge = Math.max(0, Math.min(Ce[fe].index, Ot)), kt.push({ type: \"insert\", index: Ge, value: ke }), qt.unshift({ type: \"delete\", index: Ge }), Ot++;\n    }\n    var wt = f.modifyFrames, Yt = f.modifyFrames, Kt = [X, qt], $t = [X, kt];\n    return l && l.add(X, wt, Kt, Yt, $t), f.modifyFrames(X, kt);\n  }\n  function Ke(X, se) {\n    if (X = a.getGraphDiv(X), !a.isPlotDiv(X))\n      throw new Error(\"This element is not a Plotly plot: \" + X);\n    var ie, fe, ke = X._transitionData._frames, _e = [], Ge = [];\n    if (!se)\n      for (se = [], ie = 0; ie < ke.length; ie++)\n        se.push(ie);\n    for (se = se.slice(), se.sort(), ie = se.length - 1; ie >= 0; ie--)\n      fe = se[ie], _e.push({ type: \"delete\", index: fe }), Ge.unshift({ type: \"insert\", index: fe, value: ke[fe] });\n    var je = f.modifyFrames, Ee = f.modifyFrames, oe = [X, Ge], Ce = [X, _e];\n    return l && l.add(X, je, oe, Ee, Ce), f.modifyFrames(X, _e);\n  }\n  function st(X) {\n    X = a.getGraphDiv(X);\n    var se = X._fullLayout || {}, ie = X._fullData || [];\n    return f.cleanPlot([], {}, ie, se), f.purge(X), o.purge(X), se._container && se._container.remove(), delete X._context, X;\n  }\n  function rt(X) {\n    var se = X._fullLayout, ie = X.getBoundingClientRect();\n    if (!a.equalDomRects(ie, se._lastBBox)) {\n      var fe = se._invTransform = a.inverseTransformMatrix(a.getFullTransformMatrix(X));\n      se._invScaleX = Math.sqrt(fe[0][0] * fe[0][0] + fe[0][1] * fe[0][1] + fe[0][2] * fe[0][2]), se._invScaleY = Math.sqrt(fe[1][0] * fe[1][0] + fe[1][1] * fe[1][1] + fe[1][2] * fe[1][2]), se._lastBBox = ie;\n    }\n  }\n  function ct(X) {\n    var se = t.select(X), ie = X._fullLayout;\n    if (ie._calcInverseTransform = rt, ie._calcInverseTransform(X), ie._container = se.selectAll(\".plot-container\").data([0]), ie._container.enter().insert(\"div\", \":first-child\").classed(\"plot-container\", !0).classed(\"plotly\", !0), ie._paperdiv = ie._container.selectAll(\".svg-container\").data([0]), ie._paperdiv.enter().append(\"div\").classed(\"user-select-none\", !0).classed(\"svg-container\", !0).style(\"position\", \"relative\"), ie._glcontainer = ie._paperdiv.selectAll(\".gl-container\").data([{}]), ie._glcontainer.enter().append(\"div\").classed(\"gl-container\", !0), ie._paperdiv.selectAll(\".main-svg\").remove(), ie._paperdiv.select(\".modebar-container\").remove(), ie._paper = ie._paperdiv.insert(\"svg\", \":first-child\").classed(\"main-svg\", !0), ie._toppaper = ie._paperdiv.append(\"svg\").classed(\"main-svg\", !0), ie._modebardiv = ie._paperdiv.append(\"div\"), delete ie._modeBar, ie._hoverpaper = ie._paperdiv.append(\"svg\").classed(\"main-svg\", !0), !ie._uid) {\n      var fe = {};\n      t.selectAll(\"defs\").each(function() {\n        this.id && (fe[this.id.split(\"-\")[1]] = 1);\n      }), ie._uid = a.randstr(fe);\n    }\n    ie._paperdiv.selectAll(\".main-svg\").attr(y.svgAttrs), ie._defs = ie._paper.append(\"defs\").attr(\"id\", \"defs-\" + ie._uid), ie._clips = ie._defs.append(\"g\").classed(\"clips\", !0), ie._topdefs = ie._toppaper.append(\"defs\").attr(\"id\", \"topdefs-\" + ie._uid), ie._topclips = ie._topdefs.append(\"g\").classed(\"clips\", !0), ie._bgLayer = ie._paper.append(\"g\").classed(\"bglayer\", !0), ie._draggers = ie._paper.append(\"g\").classed(\"draglayer\", !0);\n    var ke = ie._paper.append(\"g\").classed(\"layer-below\", !0);\n    ie._imageLowerLayer = ke.append(\"g\").classed(\"imagelayer\", !0), ie._shapeLowerLayer = ke.append(\"g\").classed(\"shapelayer\", !0), ie._cartesianlayer = ie._paper.append(\"g\").classed(\"cartesianlayer\", !0), ie._polarlayer = ie._paper.append(\"g\").classed(\"polarlayer\", !0), ie._smithlayer = ie._paper.append(\"g\").classed(\"smithlayer\", !0), ie._ternarylayer = ie._paper.append(\"g\").classed(\"ternarylayer\", !0), ie._geolayer = ie._paper.append(\"g\").classed(\"geolayer\", !0), ie._funnelarealayer = ie._paper.append(\"g\").classed(\"funnelarealayer\", !0), ie._pielayer = ie._paper.append(\"g\").classed(\"pielayer\", !0), ie._iciclelayer = ie._paper.append(\"g\").classed(\"iciclelayer\", !0), ie._treemaplayer = ie._paper.append(\"g\").classed(\"treemaplayer\", !0), ie._sunburstlayer = ie._paper.append(\"g\").classed(\"sunburstlayer\", !0), ie._indicatorlayer = ie._toppaper.append(\"g\").classed(\"indicatorlayer\", !0), ie._glimages = ie._paper.append(\"g\").classed(\"glimages\", !0);\n    var _e = ie._toppaper.append(\"g\").classed(\"layer-above\", !0);\n    ie._imageUpperLayer = _e.append(\"g\").classed(\"imagelayer\", !0), ie._shapeUpperLayer = _e.append(\"g\").classed(\"shapelayer\", !0), ie._selectionLayer = ie._toppaper.append(\"g\").classed(\"selectionlayer\", !0), ie._infolayer = ie._toppaper.append(\"g\").classed(\"infolayer\", !0), ie._menulayer = ie._toppaper.append(\"g\").classed(\"menulayer\", !0), ie._zoomlayer = ie._toppaper.append(\"g\").classed(\"zoomlayer\", !0), ie._hoverlayer = ie._hoverpaper.append(\"g\").classed(\"hoverlayer\", !0), ie._modebardiv.classed(\"modebar-container\", !0).style(\"position\", \"absolute\").style(\"top\", \"0px\").style(\"right\", \"0px\"), X.emit(\"plotly_framework\");\n  }\n  e.animate = pt, e.addFrames = bt, e.deleteFrames = Ke, e.addTraces = U, e.deleteTraces = Z, e.extendTraces = ue, e.moveTraces = le, e.prependTraces = j, e.newPlot = P, e._doPlot = $, e.purge = st, e.react = it, e.redraw = z, e.relayout = Fe, e.restyle = J, e.setPlotConfig = O, e.update = ot, e._guiRelayout = ht(Fe), e._guiRestyle = ht(J), e._guiUpdate = ht(ot), e._storeDirectGUIEdit = me;\n})(ob);\nvar jn = {}, Iee = Nt;\njn.getDelay = function(e) {\n  return e._has && (e._has(\"gl3d\") || e._has(\"gl2d\") || e._has(\"mapbox\")) ? 500 : 0;\n};\njn.getRedrawFunc = function(e) {\n  return function() {\n    Iee.getComponentMethod(\"colorbar\", \"draw\")(e);\n  };\n};\njn.encodeSVG = function(e) {\n  return \"data:image/svg+xml,\" + encodeURIComponent(e);\n};\njn.encodeJSON = function(e) {\n  return \"data:application/json,\" + encodeURIComponent(e);\n};\nvar ME = window.URL || window.webkitURL;\njn.createObjectURL = function(e) {\n  return ME.createObjectURL(e);\n};\njn.revokeObjectURL = function(e) {\n  return ME.revokeObjectURL(e);\n};\njn.createBlob = function(e, t) {\n  if (t === \"svg\")\n    return new window.Blob([e], { type: \"image/svg+xml;charset=utf-8\" });\n  if (t === \"full-json\")\n    return new window.Blob([e], { type: \"application/json;charset=utf-8\" });\n  var r = Nee(window.atob(e));\n  return new window.Blob([r], { type: \"image/\" + t });\n};\njn.octetStream = function(e) {\n  document.location.href = \"data:application/octet-stream\" + e;\n};\nfunction Nee(e) {\n  for (var t = e.length, r = new ArrayBuffer(t), n = new Uint8Array(r), a = 0; a < t; a++)\n    n[a] = e.charCodeAt(a);\n  return r;\n}\njn.IMAGE_URL_PREFIX = /^data:image\\/\\w+;base64,/;\njn.MSG_IE_BAD_FORMAT = \"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\";\nvar Uy = lr, Oee = Ue, Hee = Sr, Bee = nr, ph = yl, jg = /\"/g, ac = \"TOBESTRIPPED\", jee = new RegExp('(\"' + ac + \")|(\" + ac + '\")', \"g\");\nfunction Uee(e) {\n  var t = Uy.select(\"body\").append(\"div\").style({ display: \"none\" }).html(\"\"), r = e.replace(/(&[^;]*;)/gi, function(n) {\n    return n === \"&lt;\" ? \"&#60;\" : n === \"&rt;\" ? \"&#62;\" : n.indexOf(\"<\") !== -1 || n.indexOf(\">\") !== -1 ? \"\" : t.html(n).text();\n  });\n  return t.remove(), r;\n}\nfunction Gee(e) {\n  return e.replace(/&(?!\\w+;|\\#[0-9]+;| \\#x[0-9A-F]+;)/g, \"&amp;\");\n}\nvar n_ = function(t, r, n) {\n  var a = t._fullLayout, i = a._paper, o = a._toppaper, l = a.width, s = a.height, u;\n  i.insert(\"rect\", \":first-child\").call(Hee.setRect, 0, 0, l, s).call(Bee.fill, a.paper_bgcolor);\n  var f = a._basePlotModules || [];\n  for (u = 0; u < f.length; u++) {\n    var d = f[u];\n    d.toSVG && d.toSVG(t);\n  }\n  if (o) {\n    var h = o.node().childNodes, p = Array.prototype.slice.call(h);\n    for (u = 0; u < p.length; u++) {\n      var v = p[u];\n      v.childNodes.length && i.node().appendChild(v);\n    }\n  }\n  a._draggers && a._draggers.remove(), i.node().style.background = \"\", i.selectAll(\"text\").attr({ \"data-unformatted\": null, \"data-math\": null }).each(function() {\n    var g = Uy.select(this);\n    if (this.style.visibility === \"hidden\" || this.style.display === \"none\") {\n      g.remove();\n      return;\n    } else\n      g.style({ visibility: null, display: null });\n    var y = this.style.fontFamily;\n    y && y.indexOf('\"') !== -1 && g.style(\"font-family\", y.replace(jg, ac));\n  }), i.selectAll(\".gradient_filled,.pattern_filled\").each(function() {\n    var g = Uy.select(this), y = this.style.fill;\n    y && y.indexOf(\"url(\") !== -1 && g.style(\"fill\", y.replace(jg, ac));\n    var w = this.style.stroke;\n    w && w.indexOf(\"url(\") !== -1 && g.style(\"stroke\", w.replace(jg, ac));\n  }), (r === \"pdf\" || r === \"eps\") && i.selectAll(\"#MathJax_SVG_glyphs path\").attr(\"stroke-width\", 0), i.node().setAttributeNS(ph.xmlns, \"xmlns\", ph.svg), i.node().setAttributeNS(ph.xmlns, \"xmlns:xlink\", ph.xlink), r === \"svg\" && n && (i.attr(\"width\", n * l), i.attr(\"height\", n * s), i.attr(\"viewBox\", \"0 0 \" + l + \" \" + s));\n  var m = new window.XMLSerializer().serializeToString(i.node());\n  return m = Uee(m), m = Gee(m), m = m.replace(jee, \"'\"), Oee.isIE() && (m = m.replace(/\"/gi, \"'\"), m = m.replace(/(\\('#)([^']*)('\\))/gi, '(\"#$2\")'), m = m.replace(/(\\\\')/gi, '\"')), m;\n}, FA = Ue, Vee = sb.EventEmitter, Bs = jn;\nfunction qee(e) {\n  var t = e.emitter || new Vee(), r = new Promise(function(n, a) {\n    var i = window.Image, o = e.svg, l = e.format || \"png\";\n    if (FA.isIE() && l !== \"svg\") {\n      var s = new Error(Bs.MSG_IE_BAD_FORMAT);\n      return a(s), e.promise ? r : t.emit(\"error\", s);\n    }\n    var u = e.canvas, f = e.scale || 1, d = e.width || 300, h = e.height || 150, p = f * d, v = f * h, m = u.getContext(\"2d\", { willReadFrequently: !0 }), g = new i(), y, w;\n    l === \"svg\" || FA.isSafari() ? w = Bs.encodeSVG(o) : (y = Bs.createBlob(o, \"svg\"), w = Bs.createObjectURL(y)), u.width = p, u.height = v, g.onload = function() {\n      var k;\n      switch (y = null, Bs.revokeObjectURL(w), l !== \"svg\" && m.drawImage(g, 0, 0, p, v), l) {\n        case \"jpeg\":\n          k = u.toDataURL(\"image/jpeg\");\n          break;\n        case \"png\":\n          k = u.toDataURL(\"image/png\");\n          break;\n        case \"webp\":\n          k = u.toDataURL(\"image/webp\");\n          break;\n        case \"svg\":\n          k = w;\n          break;\n        default:\n          var x = \"Image format is not jpeg, png, svg or webp.\";\n          if (a(new Error(x)), !e.promise)\n            return t.emit(\"error\", x);\n      }\n      n(k), e.promise || t.emit(\"success\", k);\n    }, g.onerror = function(k) {\n      if (y = null, Bs.revokeObjectURL(w), a(k), !e.promise)\n        return t.emit(\"error\", k);\n    }, g.src = w;\n  });\n  return e.promise ? r : t;\n}\nvar a_ = qee, RA = sr, PA = ob, Wee = Tn, Di = Ue, Hf = jn, Zee = n_, Yee = a_, Xee = ap.version, Ug = {\n  format: {\n    valType: \"enumerated\",\n    values: [\"png\", \"jpeg\", \"webp\", \"svg\", \"full-json\"],\n    dflt: \"png\",\n    description: \"Sets the format of exported image.\"\n  },\n  width: {\n    valType: \"number\",\n    min: 1,\n    description: [\n      \"Sets the exported image width.\",\n      \"Defaults to the value found in `layout.width`\",\n      \"If set to *null*, the exported image width will match the current graph width.\"\n    ].join(\" \")\n  },\n  height: {\n    valType: \"number\",\n    min: 1,\n    description: [\n      \"Sets the exported image height.\",\n      \"Defaults to the value found in `layout.height`\",\n      \"If set to *null*, the exported image height will match the current graph height.\"\n    ].join(\" \")\n  },\n  scale: {\n    valType: \"number\",\n    min: 0,\n    dflt: 1,\n    description: [\n      \"Sets a scaling for the generated image.\",\n      \"If set, all features of a graphs (e.g. text, line width)\",\n      \"are scaled, unlike simply setting\",\n      \"a bigger *width* and *height*.\"\n    ].join(\" \")\n  },\n  setBackground: {\n    valType: \"any\",\n    dflt: !1,\n    description: [\n      \"Sets the image background mode.\",\n      \"By default, the image background is determined by `layout.paper_bgcolor`,\",\n      \"the *transparent* mode.\",\n      \"One might consider setting `setBackground` to *opaque*\",\n      \"when exporting a *jpeg* image as JPEGs do not support opacity.\"\n    ].join(\" \")\n  },\n  imageDataOnly: {\n    valType: \"boolean\",\n    dflt: !1,\n    description: [\n      \"Determines whether or not the return value is prefixed by\",\n      \"the image format's corresponding 'data:image;' spec.\"\n    ].join(\" \")\n  }\n};\nfunction Kee(e, t) {\n  t = t || {};\n  var r, n, a, i;\n  Di.isPlainObject(e) ? (r = e.data || [], n = e.layout || {}, a = e.config || {}, i = {}) : (e = Di.getGraphDiv(e), r = Di.extendDeep([], e.data), n = Di.extendDeep({}, e.layout), a = e._context, i = e._fullLayout || {});\n  function o(T) {\n    return !(T in t) || Di.validate(t[T], Ug[T]);\n  }\n  if (!o(\"width\") && t.width !== null || !o(\"height\") && t.height !== null)\n    throw new Error(\"Height and width should be pixel values.\");\n  if (!o(\"format\"))\n    throw new Error(\"Export format is not \" + Di.join2(Ug.format.values, \", \", \" or \") + \".\");\n  var l = {};\n  function s(T, S) {\n    return Di.coerce(t, l, Ug, T, S);\n  }\n  var u = s(\"format\"), f = s(\"width\"), d = s(\"height\"), h = s(\"scale\"), p = s(\"setBackground\"), v = s(\"imageDataOnly\"), m = document.createElement(\"div\");\n  m.style.position = \"absolute\", m.style.left = \"-5000px\", document.body.appendChild(m);\n  var g = Di.extendFlat({}, n);\n  f ? g.width = f : t.width === null && RA(i.width) && (g.width = i.width), d ? g.height = d : t.height === null && RA(i.height) && (g.height = i.height);\n  var y = Di.extendFlat({}, a, {\n    _exportedPlot: !0,\n    staticPlot: !0,\n    setBackground: p\n  }), w = Hf.getRedrawFunc(m);\n  function k() {\n    return new Promise(function(T) {\n      setTimeout(T, Hf.getDelay(m._fullLayout));\n    });\n  }\n  function x() {\n    return new Promise(function(T, S) {\n      var M = Zee(m, u, h), L = m._fullLayout.width, F = m._fullLayout.height;\n      function $() {\n        PA.purge(m), document.body.removeChild(m);\n      }\n      if (u === \"full-json\") {\n        var I = Wee.graphJson(m, !1, \"keepdata\", \"object\", !0, !0);\n        return I.version = Xee, I = JSON.stringify(I), $(), T(v ? I : Hf.encodeJSON(I));\n      }\n      if ($(), u === \"svg\")\n        return T(v ? M : Hf.encodeSVG(M));\n      var O = document.createElement(\"canvas\");\n      O.id = Di.randstr(), Yee({\n        format: u,\n        width: L,\n        height: F,\n        scale: h,\n        canvas: O,\n        svg: M,\n        // ask svgToImg to return a Promise\n        //  rather than EventEmitter\n        //  leave EventEmitter for backward\n        //  compatibility\n        promise: !0\n      }).then(T).catch(S);\n    });\n  }\n  function _(T) {\n    return v ? T.replace(Hf.IMAGE_URL_PREFIX, \"\") : T;\n  }\n  return new Promise(function(T, S) {\n    PA.newPlot(m, r, g, y).then(w).then(k).then(x).then(function(M) {\n      T(_(M));\n    }).catch(function(M) {\n      S(M);\n    });\n  });\n}\nvar SE = Kee, qa = Ue, Jee = Tn, Qee = Qu, ete = Yu.dfltConfig, Pa = qa.isPlainObject, ol = Array.isArray, $A = qa.isArrayOrTypedArray, tte = function(t, r) {\n  t === void 0 && (t = []), r === void 0 && (r = {});\n  var n = Qee.get(), a = [], i = { _context: qa.extendFlat({}, ete) }, o, l;\n  ol(t) ? (i.data = qa.extendDeep([], t), o = t) : (i.data = [], o = [], a.push(rn(\"array\", \"data\"))), Pa(r) ? (i.layout = qa.extendDeep({}, r), l = r) : (i.layout = {}, l = {}, arguments.length > 1 && a.push(rn(\"object\", \"layout\"))), Jee.supplyDefaults(i);\n  for (var s = i._fullData, u = o.length, f = 0; f < u; f++) {\n    var d = o[f], h = [\"data\", f];\n    if (!Pa(d)) {\n      a.push(rn(\"object\", h));\n      continue;\n    }\n    var p = s[f], v = p.type, m = n.traces[v].attributes;\n    m.type = {\n      valType: \"enumerated\",\n      values: [v]\n    }, p.visible === !1 && d.visible !== !1 && a.push(rn(\"invisible\", h)), ic(d, p, m, a, h);\n    var g = d.transforms, y = p.transforms;\n    if (g) {\n      ol(g) || a.push(rn(\"array\", h, [\"transforms\"])), h.push(\"transforms\");\n      for (var w = 0; w < g.length; w++) {\n        var k = [\"transforms\", w], x = g[w].type;\n        if (!Pa(g[w])) {\n          a.push(rn(\"object\", h, k));\n          continue;\n        }\n        var _ = n.transforms[x] ? n.transforms[x].attributes : {};\n        _.type = {\n          valType: \"enumerated\",\n          values: Object.keys(n.transforms)\n        }, ic(g[w], y[w], _, a, h, k);\n      }\n    }\n  }\n  var T = i._fullLayout, S = rte(n, s);\n  return ic(l, T, S, a, \"layout\"), a.length === 0 ? void 0 : a;\n};\nfunction ic(e, t, r, n, a, i) {\n  i = i || [];\n  for (var o = Object.keys(e), l = 0; l < o.length; l++) {\n    var s = o[l];\n    if (s !== \"transforms\") {\n      var u = i.slice();\n      u.push(s);\n      var f = e[s], d = t[s], h = ite(r, s), p = (h || {}).valType, v = p === \"info_array\", m = p === \"colorscale\", g = (h || {}).items;\n      if (!ate(r, s))\n        n.push(rn(\"schema\", a, u));\n      else if (Pa(f) && Pa(d) && p !== \"any\")\n        ic(f, d, h, n, a, u);\n      else if (v && ol(f)) {\n        f.length > d.length && n.push(rn(\"unused\", a, u.concat(d.length)));\n        var y = d.length, w = Array.isArray(g);\n        w && (y = Math.min(y, g.length));\n        var k, x, _, T, S;\n        if (h.dimensions === 2)\n          for (x = 0; x < y; x++)\n            if (ol(f[x])) {\n              f[x].length > d[x].length && n.push(rn(\"unused\", a, u.concat(x, d[x].length)));\n              var M = d[x].length;\n              for (k = 0; k < (w ? Math.min(M, g[x].length) : M); k++)\n                _ = w ? g[x][k] : g, T = f[x][k], S = d[x][k], qa.validate(T, _) ? S !== T && S !== +T && n.push(rn(\"dynamic\", a, u.concat(x, k), T, S)) : n.push(rn(\"value\", a, u.concat(x, k), T));\n            } else\n              n.push(rn(\"array\", a, u.concat(x), f[x]));\n        else\n          for (x = 0; x < y; x++)\n            _ = w ? g[x] : g, T = f[x], S = d[x], qa.validate(T, _) ? S !== T && S !== +T && n.push(rn(\"dynamic\", a, u.concat(x), T, S)) : n.push(rn(\"value\", a, u.concat(x), T));\n      } else if (h.items && !v && ol(f)) {\n        var L = g[Object.keys(g)[0]], F = [], $, I;\n        for ($ = 0; $ < d.length; $++) {\n          var O = d[$]._index || $;\n          if (I = u.slice(), I.push(O), Pa(f[O]) && Pa(d[$])) {\n            F.push(O);\n            var G = f[O], K = d[$];\n            Pa(G) && G.visible !== !1 && K.visible === !1 ? n.push(rn(\"invisible\", a, I)) : ic(G, K, L, n, a, I);\n          }\n        }\n        for ($ = 0; $ < f.length; $++)\n          I = u.slice(), I.push($), Pa(f[$]) ? F.indexOf($) === -1 && n.push(rn(\"unused\", a, I)) : n.push(rn(\"object\", a, I, f[$]));\n      } else !Pa(f) && Pa(d) ? n.push(rn(\"object\", a, u, f)) : !$A(f) && $A(d) && !v && !m ? n.push(rn(\"array\", a, u, f)) : s in t ? qa.validate(f, h) ? h.valType === \"enumerated\" && (h.coerceNumber && f !== +d || f !== d) && n.push(rn(\"dynamic\", a, u, f, d)) : n.push(rn(\"value\", a, u, f)) : n.push(rn(\"unused\", a, u, f));\n    }\n  }\n  return n;\n}\nfunction rte(e, t) {\n  for (var r = e.layout.layoutAttributes, n = 0; n < t.length; n++) {\n    var a = t[n], i = e.traces[a.type], o = i.layoutAttributes;\n    o && (a.subplot ? qa.extendFlat(r[i.attributes.subplot.dflt], o) : qa.extendFlat(r, o));\n  }\n  return r;\n}\nvar nte = {\n  object: function(e, t) {\n    var r;\n    return e === \"layout\" && t === \"\" ? r = \"The layout argument\" : e[0] === \"data\" && t === \"\" ? r = \"Trace \" + e[1] + \" in the data argument\" : r = Fl(e) + \"key \" + t, r + \" must be linked to an object container\";\n  },\n  array: function(e, t) {\n    var r;\n    return e === \"data\" ? r = \"The data argument\" : r = Fl(e) + \"key \" + t, r + \" must be linked to an array container\";\n  },\n  schema: function(e, t) {\n    return Fl(e) + \"key \" + t + \" is not part of the schema\";\n  },\n  unused: function(e, t, r) {\n    var n = Pa(r) ? \"container\" : \"key\";\n    return Fl(e) + n + \" \" + t + \" did not get coerced\";\n  },\n  dynamic: function(e, t, r, n) {\n    return [\n      Fl(e) + \"key\",\n      t,\n      \"(set to '\" + r + \"')\",\n      \"got reset to\",\n      \"'\" + n + \"'\",\n      \"during defaults.\"\n    ].join(\" \");\n  },\n  invisible: function(e, t) {\n    return (t ? Fl(e) + \"item \" + t : \"Trace \" + e[1]) + \" got defaulted to be not visible\";\n  },\n  value: function(e, t, r) {\n    return [\n      Fl(e) + \"key \" + t,\n      \"is set to an invalid value (\" + r + \")\"\n    ].join(\" \");\n  }\n};\nfunction Fl(e) {\n  return ol(e) ? \"In data trace \" + e[1] + \", \" : \"In \" + e + \", \";\n}\nfunction rn(e, t, r, n, a) {\n  r = r || \"\";\n  var i, o;\n  ol(t) ? (i = t[0], o = t[1]) : (i = t, o = null);\n  var l = lte(r), s = nte[e](t, l, n, a);\n  return qa.log(s), {\n    code: e,\n    container: i,\n    trace: o,\n    path: r,\n    astr: l,\n    msg: s\n  };\n}\nfunction ate(e, t) {\n  var r = CE(t), n = r.keyMinusId, a = r.id;\n  return n in e && e[n]._isSubplotObj && a ? !0 : t in e;\n}\nfunction ite(e, t) {\n  if (t in e) return e[t];\n  var r = CE(t);\n  return e[r.keyMinusId];\n}\nvar ote = qa.counterRegex(\"([a-z]+)\");\nfunction CE(e) {\n  var t = e.match(ote);\n  return {\n    keyMinusId: t && t[1],\n    id: t && t[2]\n  };\n}\nfunction lte(e) {\n  if (!ol(e)) return String(e);\n  for (var t = \"\", r = 0; r < e.length; r++) {\n    var n = e[r];\n    typeof n == \"number\" ? t = t.substr(0, t.length - 1) + \"[\" + n + \"]\" : t += n, r < e.length - 1 && (t += \".\");\n  }\n  return t;\n}\nvar zA = Ue, Bf = jn;\nfunction ste(e, t, r) {\n  var n = document.createElement(\"a\"), a = \"download\" in n, i = new Promise(function(o, l) {\n    var s, u;\n    if (zA.isIE())\n      return s = Bf.createBlob(e, \"svg\"), window.navigator.msSaveBlob(s, t), s = null, o(t);\n    if (a)\n      return s = Bf.createBlob(e, r), u = Bf.createObjectURL(s), n.href = u, n.download = t, document.body.appendChild(n), n.click(), document.body.removeChild(n), Bf.revokeObjectURL(u), s = null, o(t);\n    if (zA.isSafari()) {\n      var f = r === \"svg\" ? \",\" : \";base64,\";\n      return Bf.octetStream(f + encodeURIComponent(e)), o(t);\n    }\n    l(new Error(\"download error\"));\n  });\n  return i;\n}\nvar ute = ste, Gg = Ue, fte = SE, cte = ute, dte = jn;\nfunction hte(e, t) {\n  var r;\n  return Gg.isPlainObject(e) || (r = Gg.getGraphDiv(e)), t = t || {}, t.format = t.format || \"png\", t.width = t.width || null, t.height = t.height || null, t.imageDataOnly = !0, new Promise(function(n, a) {\n    r && r._snapshotInProgress && a(new Error(\"Snapshotting already in progress.\")), Gg.isIE() && t.format !== \"svg\" && a(new Error(dte.MSG_IE_BAD_FORMAT)), r && (r._snapshotInProgress = !0);\n    var i = fte(e, t), o = t.filename || e.fn || \"newplot\";\n    o += \".\" + t.format.replace(\"-\", \".\"), i.then(function(l) {\n      return r && (r._snapshotInProgress = !1), cte(l, o, t.format);\n    }).then(function(l) {\n      n(l);\n    }).catch(function(l) {\n      r && (r._snapshotInProgress = !1), a(l);\n    });\n  });\n}\nvar LE = hte, i_ = {}, la = Ue, sa = la.isPlainObject, DE = Qu, EE = Tn, vte = Wi, FE = Mr, RE = Yu.dfltConfig;\ni_.makeTemplate = function(e) {\n  e = la.isPlainObject(e) ? e : la.getGraphDiv(e), e = la.extendDeep({ _context: RE }, { data: e.data, layout: e.layout }), EE.supplyDefaults(e);\n  var t = e.data || [], r = e.layout || {};\n  r._basePlotModules = e._fullLayout._basePlotModules, r._modules = e._fullLayout._modules;\n  var n = {\n    data: {},\n    layout: {}\n  };\n  t.forEach(function(p) {\n    var v = {};\n    oc(p, v, mte.bind(null, p));\n    var m = la.coerce(p, {}, vte, \"type\"), g = n.data[m];\n    g || (g = n.data[m] = []), g.push(v);\n  }), oc(r, n.layout, pte.bind(null, r)), delete n.layout.template;\n  var a = r.template;\n  if (sa(a)) {\n    var i = a.layout, o, l, s, u, f, d;\n    sa(i) && Mv(i, n.layout);\n    var h = a.data;\n    if (sa(h)) {\n      for (l in n.data)\n        if (s = h[l], Array.isArray(s)) {\n          for (f = n.data[l], d = f.length, u = s.length, o = 0; o < d; o++)\n            Mv(s[o % u], f[o]);\n          for (o = d; o < u; o++)\n            f.push(la.extendDeep({}, s[o]));\n        }\n      for (l in h)\n        l in n.data || (n.data[l] = la.extendDeep([], h[l]));\n    }\n  }\n  return n;\n};\nfunction Mv(e, t) {\n  e = la.extendDeep({}, e);\n  var r = Object.keys(e).sort(), n, a;\n  function i(f, d, h) {\n    if (sa(d) && sa(f))\n      Mv(f, d);\n    else if (Array.isArray(d) && Array.isArray(f)) {\n      var p = FE.arrayTemplater({ _template: e }, h);\n      for (a = 0; a < d.length; a++) {\n        var v = d[a], m = p.newItem(v)._template;\n        m && Mv(m, v);\n      }\n      var g = p.defaultItems();\n      for (a = 0; a < g.length; a++) d.push(g[a]._template);\n      for (a = 0; a < d.length; a++) delete d[a].templateitemname;\n    }\n  }\n  for (n = 0; n < r.length; n++) {\n    var o = r[n], l = e[o];\n    if (o in t ? i(l, t[o], o) : t[o] = l, Sv(o) === o)\n      for (var s in t) {\n        var u = Sv(s);\n        s !== u && u === o && !(s in e) && i(l, t[s], o);\n      }\n  }\n}\nfunction Sv(e) {\n  return e.replace(/[0-9]+$/, \"\");\n}\nfunction oc(e, t, r, n, a) {\n  var i = a && r(a);\n  for (var o in e) {\n    var l = e[o], s = $a(e, o, n), u = $a(e, o, a), f = r(u);\n    if (!f) {\n      var d = Sv(o);\n      d !== o && (u = $a(e, d, a), f = r(u));\n    }\n    if (!(i && i === f) && !(!f || f._noTemplating || f.valType === \"data_array\" || f.arrayOk && Array.isArray(l)))\n      if (!f.valType && sa(l))\n        oc(l, t, r, s, u);\n      else if (f._isLinkedToArray && Array.isArray(l))\n        for (var h = !1, p = 0, v = {}, m = 0; m < l.length; m++) {\n          var g = l[m];\n          if (sa(g)) {\n            var y = g.name;\n            if (y)\n              v[y] || (oc(\n                g,\n                t,\n                r,\n                $a(l, p, s),\n                $a(l, p, u)\n              ), p++, v[y] = 1);\n            else if (!h) {\n              var w = FE.arrayDefaultKey(o), k = $a(e, w, n), x = $a(l, p, s);\n              oc(\n                g,\n                t,\n                r,\n                x,\n                $a(l, p, u)\n              );\n              var _ = la.nestedProperty(t, x), T = la.nestedProperty(t, k);\n              T.set(_.get()), _.set(null), h = !0;\n            }\n          }\n        }\n      else {\n        var S = la.nestedProperty(t, s);\n        S.set(l);\n      }\n  }\n}\nfunction pte(e, t) {\n  return DE.getLayoutValObject(\n    e,\n    la.nestedProperty({}, t).parts\n  );\n}\nfunction mte(e, t) {\n  return DE.getTraceValObject(\n    e,\n    la.nestedProperty({}, t).parts\n  );\n}\nfunction $a(e, t, r) {\n  var n;\n  return r ? Array.isArray(e) ? n = r + \"[\" + t + \"]\" : n = r + \".\" + t : n = t, n;\n}\ni_.validateTemplate = function(e, t) {\n  var r = la.extendDeep({}, {\n    _context: RE,\n    data: e.data,\n    layout: e.layout\n  }), n = r.layout || {};\n  sa(t) || (t = n.template || {});\n  var a = t.layout, i = t.data, o = [];\n  r.layout = n, r.layout.template = t, EE.supplyDefaults(r);\n  var l = r._fullLayout, s = r._fullData, u = {};\n  function f(k, x) {\n    for (var _ in k)\n      if (_.charAt(0) !== \"_\" && sa(k[_])) {\n        var T = Sv(_), S = [], M;\n        for (M = 0; M < x.length; M++)\n          S.push($a(k, _, x[M])), T !== _ && S.push($a(k, T, x[M]));\n        for (M = 0; M < S.length; M++)\n          u[S[M]] = 1;\n        f(k[_], S);\n      }\n  }\n  function d(k, x) {\n    for (var _ in k)\n      if (_.indexOf(\"defaults\") === -1 && sa(k[_])) {\n        var T = $a(k, _, x);\n        u[T] ? d(k[_], T) : o.push({ code: \"unused\", path: T });\n      }\n  }\n  if (sa(a) ? (f(l, [\"layout\"]), d(a, \"layout\")) : o.push({ code: \"layout\" }), !sa(i))\n    o.push({ code: \"data\" });\n  else {\n    for (var h = {}, p, v = 0; v < s.length; v++) {\n      var m = s[v];\n      p = m.type, h[p] = (h[p] || 0) + 1, m._fullInput._template || o.push({\n        code: \"missing\",\n        index: m._fullInput.index,\n        traceType: p\n      });\n    }\n    for (p in i) {\n      var g = i[p].length, y = h[p] || 0;\n      g > y ? o.push({\n        code: \"unused\",\n        traceType: p,\n        templateCount: g,\n        dataCount: y\n      }) : y > g && o.push({\n        code: \"reused\",\n        traceType: p,\n        templateCount: g,\n        dataCount: y\n      });\n    }\n  }\n  function w(k, x) {\n    for (var _ in k)\n      if (_.charAt(0) !== \"_\") {\n        var T = k[_], S = $a(k, _, x);\n        sa(T) ? (Array.isArray(k) && T._template === !1 && T.templateitemname && o.push({\n          code: \"missing\",\n          path: S,\n          templateitemname: T.templateitemname\n        }), w(T, S)) : Array.isArray(T) && gte(T) && w(T, S);\n      }\n  }\n  if (w({ data: s, layout: l }, \"\"), o.length) return o.map(yte);\n};\nfunction gte(e) {\n  for (var t = 0; t < e.length; t++)\n    if (sa(e[t])) return !0;\n}\nfunction yte(e) {\n  var t;\n  switch (e.code) {\n    case \"data\":\n      t = \"The template has no key data.\";\n      break;\n    case \"layout\":\n      t = \"The template has no key layout.\";\n      break;\n    case \"missing\":\n      e.path ? t = \"There are no templates for item \" + e.path + \" with name \" + e.templateitemname : t = \"There are no templates for trace \" + e.index + \", of type \" + e.traceType + \".\";\n      break;\n    case \"unused\":\n      e.path ? t = \"The template item at \" + e.path + \" was not used in constructing the plot.\" : e.dataCount ? t = \"Some of the templates of type \" + e.traceType + \" were not used. The template has \" + e.templateCount + \" traces, the data only has \" + e.dataCount + \" of this type.\" : t = \"The template has \" + e.templateCount + \" traces of type \" + e.traceType + \" but there are none in the data.\";\n      break;\n    case \"reused\":\n      t = \"Some of the templates of type \" + e.traceType + \" were used more than once. The template has \" + e.templateCount + \" traces, the data has \" + e.dataCount + \" of this type.\";\n      break;\n  }\n  return e.msg = t, e;\n}\nvar dn = ob;\nOr._doPlot = dn._doPlot;\nOr.newPlot = dn.newPlot;\nOr.restyle = dn.restyle;\nOr.relayout = dn.relayout;\nOr.redraw = dn.redraw;\nOr.update = dn.update;\nOr._guiRestyle = dn._guiRestyle;\nOr._guiRelayout = dn._guiRelayout;\nOr._guiUpdate = dn._guiUpdate;\nOr._storeDirectGUIEdit = dn._storeDirectGUIEdit;\nOr.react = dn.react;\nOr.extendTraces = dn.extendTraces;\nOr.prependTraces = dn.prependTraces;\nOr.addTraces = dn.addTraces;\nOr.deleteTraces = dn.deleteTraces;\nOr.moveTraces = dn.moveTraces;\nOr.purge = dn.purge;\nOr.addFrames = dn.addFrames;\nOr.deleteFrames = dn.deleteFrames;\nOr.animate = dn.animate;\nOr.setPlotConfig = dn.setPlotConfig;\nvar bte = dp.getGraphDiv, _te = Hb.eraseActiveShape;\nOr.deleteActiveShape = function(e) {\n  return _te(bte(e));\n};\nOr.toImage = SE;\nOr.validate = tte;\nOr.downloadImage = LE;\nvar PE = i_;\nOr.makeTemplate = PE.makeTemplate;\nOr.validateTemplate = PE.validateTemplate;\nvar Vg = Ue, xte = Nt, $E = function(t, r, n, a) {\n  var i = a(\"x\"), o = a(\"y\"), l, s = xte.getComponentMethod(\"calendars\", \"handleTraceDefaults\");\n  if (s(t, r, [\"x\", \"y\"], n), i) {\n    var u = Vg.minRowLength(i);\n    o ? l = Math.min(u, Vg.minRowLength(o)) : (l = u, a(\"y0\"), a(\"dy\"));\n  } else {\n    if (!o) return 0;\n    l = Vg.minRowLength(o), a(\"x0\"), a(\"dx\");\n  }\n  return r._length = l, l;\n}, IA = Ue.dateTick0, wte = Qr, Tte = wte.ONEWEEK;\nfunction NA(e, t) {\n  return e % Tte === 0 ? IA(t, 1) : IA(t, 0);\n}\nvar o_ = function(t, r, n, a, i) {\n  if (i || (i = {\n    x: !0,\n    y: !0\n  }), i.x) {\n    var o = a(\"xperiod\");\n    o && (a(\"xperiod0\", NA(o, r.xcalendar)), a(\"xperiodalignment\"));\n  }\n  if (i.y) {\n    var l = a(\"yperiod\");\n    l && (a(\"yperiod0\", NA(l, r.ycalendar)), a(\"yperiodalignment\"));\n  }\n}, OA = [\"orientation\", \"groupnorm\", \"stackgaps\"], kte = function(t, r, n, a) {\n  var i = n._scatterStackOpts, o = a(\"stackgroup\");\n  if (o) {\n    var l = r.xaxis + r.yaxis, s = i[l];\n    s || (s = i[l] = {});\n    var u = s[o], f = !1;\n    u ? u.traces.push(r) : (u = s[o] = {\n      // keep track of trace indices for use during stacking calculations\n      // this will be filled in during `calc` and used during `crossTraceCalc`\n      // so it's OK if we don't recreate it during a non-calc edit\n      traceIndices: [],\n      // Hold on to the whole set of prior traces\n      // First one is most important, so we can clear defaults\n      // there if we find explicit values only in later traces.\n      // We're only going to *use* the values stored in groupOpts,\n      // but for the editor and validate we want things self-consistent\n      // The full set of traces is used only to fix `fill` default if\n      // we find `orientation: 'h'` beyond the first trace\n      traces: [r]\n    }, f = !0);\n    for (var d = {\n      orientation: r.x && !r.y ? \"h\" : \"v\"\n    }, h = 0; h < OA.length; h++) {\n      var p = OA[h], v = p + \"Found\";\n      if (!u[v]) {\n        var m = t[p] !== void 0, g = p === \"orientation\";\n        if ((m || f) && (u[p] = a(p, d[p]), g && (u.fillDflt = u[p] === \"h\" ? \"tonextx\" : \"tonexty\"), m && (u[v] = !0, !f && (delete u.traces[0][p], g))))\n          for (var y = 0; y < u.traces.length - 1; y++) {\n            var w = u.traces[y];\n            w._input.fill !== w.fill && (w.fill = u.fillDflt);\n          }\n      }\n    }\n    return u;\n  }\n}, HA = nr, BA = wi.hasColorscale, jA = ef, Ate = Ya, Mte = function(t, r, n, a, i, o) {\n  var l = Ate.isBubble(t), s = (t.line || {}).color, u;\n  if (o = o || {}, s && (n = s), i(\"marker.symbol\"), i(\"marker.opacity\", l ? 0.7 : 1), i(\"marker.size\"), o.noAngle || (i(\"marker.angle\"), o.noAngleRef || i(\"marker.angleref\"), o.noStandOff || i(\"marker.standoff\")), i(\"marker.color\", n), BA(t, \"marker\") && jA(t, r, a, i, { prefix: \"marker.\", cLetter: \"c\" }), o.noSelect || (i(\"selected.marker.color\"), i(\"unselected.marker.color\"), i(\"selected.marker.size\"), i(\"unselected.marker.size\")), o.noLine || (s && !Array.isArray(s) && r.marker.color !== s ? u = s : l ? u = HA.background : u = HA.defaultLine, i(\"marker.line.color\", u), BA(t, \"marker.line\") && jA(t, r, a, i, { prefix: \"marker.line.\", cLetter: \"c\" }), i(\"marker.line.width\", l ? 1 : 0)), l && (i(\"marker.sizeref\"), i(\"marker.sizemin\"), i(\"marker.sizemode\")), o.gradient) {\n    var f = i(\"marker.gradient.type\");\n    f !== \"none\" && i(\"marker.gradient.color\");\n  }\n}, Ste = Ue.isArrayOrTypedArray, Cte = wi.hasColorscale, Lte = ef, Dte = function(t, r, n, a, i, o) {\n  o || (o = {});\n  var l = (t.marker || {}).color;\n  if (l && l._inputArray && (l = l._inputArray), i(\"line.color\", n), Cte(t, \"line\"))\n    Lte(t, r, a, i, { prefix: \"line.\", cLetter: \"c\" });\n  else {\n    var s = (Ste(l) ? !1 : l) || n;\n    i(\"line.color\", s);\n  }\n  i(\"line.width\"), o.noDash || i(\"line.dash\"), o.backoff && i(\"line.backoff\");\n}, Ete = function(t, r, n) {\n  var a = n(\"line.shape\");\n  a === \"spline\" && n(\"line.smoothing\");\n}, Fte = Ue, Rte = function(e, t, r, n, a) {\n  a = a || {}, n(\"textposition\"), Fte.coerceFont(n, \"textfont\", a.font || r.font), a.noSelect || (n(\"selected.textfont.color\"), n(\"unselected.textfont.color\"));\n}, Pte = nr, UA = Ue.isArrayOrTypedArray, $te = function(t, r, n, a) {\n  var i = !1;\n  if (r.marker) {\n    var o = r.marker.color, l = (r.marker.line || {}).color;\n    o && !UA(o) ? i = o : l && !UA(l) && (i = l);\n  }\n  a(\"fillcolor\", Pte.addOpacity(\n    (r.line || {}).color || i || n,\n    0.5\n  ));\n}, GA = Ue, zte = Nt, Ite = ws, Nte = e_, js = Ya, Ote = $E, Hte = o_, Bte = kte, jte = Mte, Ute = Dte, VA = Ete, Gte = Rte, Vte = $te, qte = Ue.coercePattern, Wte = function(t, r, n, a) {\n  function i(p, v) {\n    return GA.coerce(t, r, Ite, p, v);\n  }\n  var o = Ote(t, r, a, i);\n  if (o || (r.visible = !1), !!r.visible) {\n    Hte(t, r, a, i), i(\"xhoverformat\"), i(\"yhoverformat\");\n    var l = Bte(t, r, a, i);\n    a.scattermode === \"group\" && r.orientation === void 0 && i(\"orientation\", \"v\");\n    var s = !l && o < Nte.PTS_LINESONLY ? \"lines+markers\" : \"lines\";\n    i(\"text\"), i(\"hovertext\"), i(\"mode\", s), js.hasMarkers(r) && jte(t, r, n, a, i, { gradient: !0 }), js.hasLines(r) && (Ute(t, r, n, a, i, { backoff: !0 }), VA(t, r, i), i(\"connectgaps\"), i(\"line.simplify\")), js.hasText(r) && (i(\"texttemplate\"), Gte(t, r, a, i));\n    var u = [];\n    (js.hasMarkers(r) || js.hasText(r)) && (i(\"cliponaxis\"), i(\"marker.maxdisplayed\"), u.push(\"points\")), i(\"fill\", l ? l.fillDflt : \"none\"), r.fill !== \"none\" && (Vte(t, r, n, i), js.hasLines(r) || VA(t, r, i), qte(i, \"fillpattern\", r.fillcolor, !1));\n    var f = (r.line || {}).color, d = (r.marker || {}).color;\n    (r.fill === \"tonext\" || r.fill === \"toself\") && u.push(\"fills\"), i(\"hoveron\", u.join(\"+\") || \"points\"), r.hoveron !== \"fills\" && i(\"hovertemplate\");\n    var h = zte.getComponentMethod(\"errorbars\", \"supplyDefaults\");\n    h(t, r, f || d || n, { axis: \"y\" }), h(t, r, f || d || n, { axis: \"x\", inherit: \"y\" }), GA.coerceSelectionMarkerOpacity(r, i);\n  }\n}, Zte = wl.getAxisGroup, zE = function(t, r, n, a) {\n  var i = r.orientation, o = r[{ v: \"x\", h: \"y\" }[i] + \"axis\"], l = Zte(n, o) + i, s = n._alignmentOpts || {}, u = a(\"alignmentgroup\"), f = s[l];\n  f || (f = s[l] = {});\n  var d = f[u];\n  d ? d.traces.push(r) : d = f[u] = {\n    traces: [r],\n    alignmentIndex: Object.keys(f).length,\n    offsetGroups: {}\n  };\n  var h = a(\"offsetgroup\"), p = d.offsetGroups, v = p[h];\n  h && (v || (v = p[h] = {\n    offsetIndex: Object.keys(p).length\n  }), r._offsetIndex = v.offsetIndex);\n}, Yte = Ue, Xte = zE, Kte = ws, Jte = function(t, r) {\n  var n, a, i;\n  function o(d) {\n    return Yte.coerce(a._input, a, Kte, d);\n  }\n  if (r.scattermode === \"group\")\n    for (i = 0; i < t.length; i++)\n      a = t[i], a.type === \"scatter\" && (n = a._input, Xte(n, a, r, o));\n  for (i = 0; i < t.length; i++) {\n    var l = t[i];\n    if (l.type === \"scatter\") {\n      var s = l.fill;\n      if (!(s === \"none\" || s === \"toself\") && (l.opacity = void 0, s === \"tonexty\" || s === \"tonextx\"))\n        for (var u = i - 1; u >= 0; u--) {\n          var f = t[u];\n          if (f.type === \"scatter\" && f.xaxis === l.xaxis && f.yaxis === l.yaxis) {\n            f.opacity = void 0;\n            break;\n          }\n        }\n    }\n  }\n}, Qte = Ue, ere = ub, tre = function(e, t) {\n  function r(a, i) {\n    return Qte.coerce(e, t, ere, a, i);\n  }\n  var n = t.barmode === \"group\";\n  t.scattermode === \"group\" && r(\"scattergap\", n ? t.bargap : 0.2);\n}, rre = sr, IE = Ue, nre = IE.dateTime2ms, mh = IE.incrementMonth, are = Qr, ire = are.ONEAVGMONTH, Wp = function(t, r, n, a) {\n  if (r.type !== \"date\") return { vals: a };\n  var i = t[n + \"periodalignment\"];\n  if (!i) return { vals: a };\n  var o = t[n + \"period\"], l;\n  if (rre(o)) {\n    if (o = +o, o <= 0) return { vals: a };\n  } else if (typeof o == \"string\" && o.charAt(0) === \"M\") {\n    var s = +o.substring(1);\n    if (s > 0 && Math.round(s) === s)\n      l = s;\n    else return { vals: a };\n  }\n  for (var u = r.calendar, f = i === \"start\", d = i === \"end\", h = t[n + \"period0\"], p = nre(h, u) || 0, v = [], m = [], g = [], y = a.length, w = 0; w < y; w++) {\n    var k = a[w], x, _, T;\n    if (l) {\n      for (x = Math.round((k - p) / (l * ire)), T = mh(p, l * x, u); T > k; )\n        T = mh(T, -l, u);\n      for (; T <= k; )\n        T = mh(T, l, u);\n      _ = mh(T, -l, u);\n    } else {\n      for (x = Math.round((k - p) / o), T = p + x * o; T > k; )\n        T -= o;\n      for (; T <= k; )\n        T += o;\n      _ = T - o;\n    }\n    v[w] = f ? _ : d ? T : (_ + T) / 2, m[w] = _, g[w] = T;\n  }\n  return {\n    vals: v,\n    starts: m,\n    ends: g\n  };\n}, qg = wi.hasColorscale, Wg = Mp, qA = Ya, ore = function(t, r) {\n  qA.hasLines(r) && qg(r, \"line\") && Wg(t, r, {\n    vals: r.line.color,\n    containerStr: \"line\",\n    cLetter: \"c\"\n  }), qA.hasMarkers(r) && (qg(r, \"marker\") && Wg(t, r, {\n    vals: r.marker.color,\n    containerStr: \"marker\",\n    cLetter: \"c\"\n  }), qg(r, \"marker.line\") && Wg(t, r, {\n    vals: r.marker.line.color,\n    containerStr: \"marker.line\",\n    cLetter: \"c\"\n  }));\n}, Mn = Ue, NE = function(t, r) {\n  for (var n = 0; n < t.length; n++) t[n].i = n;\n  Mn.mergeArray(r.text, t, \"tx\"), Mn.mergeArray(r.texttemplate, t, \"txt\"), Mn.mergeArray(r.hovertext, t, \"htx\"), Mn.mergeArray(r.customdata, t, \"data\"), Mn.mergeArray(r.textposition, t, \"tp\"), r.textfont && (Mn.mergeArrayCastPositive(r.textfont.size, t, \"ts\"), Mn.mergeArray(r.textfont.color, t, \"tc\"), Mn.mergeArray(r.textfont.family, t, \"tf\"));\n  var a = r.marker;\n  if (a) {\n    Mn.mergeArrayCastPositive(a.size, t, \"ms\"), Mn.mergeArrayCastPositive(a.opacity, t, \"mo\"), Mn.mergeArray(a.symbol, t, \"mx\"), Mn.mergeArray(a.angle, t, \"ma\"), Mn.mergeArray(a.standoff, t, \"mf\"), Mn.mergeArray(a.color, t, \"mc\");\n    var i = a.line;\n    a.line && (Mn.mergeArray(i.color, t, \"mlc\"), Mn.mergeArrayCastPositive(i.width, t, \"mlw\"));\n    var o = a.gradient;\n    o && o.type !== \"none\" && (Mn.mergeArray(o.type, t, \"mgt\"), Mn.mergeArray(o.color, t, \"mgc\"));\n  }\n}, WA = Ue, OE = function(t, r) {\n  WA.isArrayOrTypedArray(r.selectedpoints) && WA.tagSelected(t, r);\n}, ZA = sr, Gy = Ue, Fc = Cr, YA = Wp, Zg = Qr.BADNUM, Vy = Ya, lre = ore, sre = NE, ure = OE;\nfunction fre(e, t) {\n  var r = e._fullLayout, n = t._xA = Fc.getFromId(e, t.xaxis || \"x\", \"x\"), a = t._yA = Fc.getFromId(e, t.yaxis || \"y\", \"y\"), i = n.makeCalcdata(t, \"x\"), o = a.makeCalcdata(t, \"y\"), l = YA(t, n, \"x\", i), s = YA(t, a, \"y\", o), u = l.vals, f = s.vals, d = t._length, h = new Array(d), p = t.ids, v = l_(t, r, n, a), m = !1, g, y, w, k, x, _;\n  jE(r, t);\n  var T = \"x\", S = \"y\", M;\n  if (v)\n    Gy.pushUnique(v.traceIndices, t._expandedIndex), g = v.orientation === \"v\", g ? (S = \"s\", M = \"x\") : (T = \"s\", M = \"y\"), x = v.stackgaps === \"interpolate\";\n  else {\n    var L = BE(t, d);\n    HE(e, t, n, a, u, f, L);\n  }\n  var F = !!t.xperiodalignment, $ = !!t.yperiodalignment;\n  for (y = 0; y < d; y++) {\n    var I = h[y] = {}, O = ZA(u[y]), G = ZA(f[y]);\n    O && G ? (I[T] = u[y], I[S] = f[y], F && (I.orig_x = i[y], I.xEnd = l.ends[y], I.xStart = l.starts[y]), $ && (I.orig_y = o[y], I.yEnd = s.ends[y], I.yStart = s.starts[y])) : v && (g ? O : G) ? (I[M] = g ? u[y] : f[y], I.gap = !0, x ? (I.s = Zg, m = !0) : I.s = 0) : I[T] = I[S] = Zg, p && (I.id = String(p[y]));\n  }\n  if (sre(h, t), lre(e, t), ure(h, t), v) {\n    for (y = 0; y < h.length; )\n      h[y][M] === Zg ? h.splice(y, 1) : y++;\n    if (Gy.sort(h, function(P, R) {\n      return P[M] - R[M] || P.i - R.i;\n    }), m) {\n      for (y = 0; y < h.length - 1 && h[y].gap; )\n        y++;\n      for (_ = h[y].s, _ || (_ = h[y].s = 0), w = 0; w < y; w++)\n        h[w].s = _;\n      for (k = h.length - 1; k > y && h[k].gap; )\n        k--;\n      for (_ = h[k].s, w = h.length - 1; w > k; w--)\n        h[w].s = _;\n      for (; y < k; )\n        if (y++, h[y].gap) {\n          for (w = y + 1; h[w].gap; )\n            w++;\n          for (var K = h[y - 1][M], V = h[y - 1].s, z = (h[w].s - V) / (h[w][M] - K); y < w; )\n            h[y].s = V + (h[y][M] - K) * z, y++;\n        }\n    }\n  }\n  return h;\n}\nfunction HE(e, t, r, n, a, i, o) {\n  var l = t._length, s = e._fullLayout, u = r._id, f = n._id, d = s._firstScatter[UE(t)] === t.uid, h = (l_(t, s, r, n) || {}).orientation, p = t.fill;\n  r._minDtick = 0, n._minDtick = 0;\n  var v = { padded: !0 }, m = { padded: !0 };\n  o && (v.ppad = m.ppad = o);\n  var g = l < 2 || a[0] !== a[l - 1] || i[0] !== i[l - 1];\n  g && (p === \"tozerox\" || p === \"tonextx\" && (d || h === \"h\")) ? v.tozero = !0 : !(t.error_y || {}).visible && // if no error bars, markers or text, or fill to y=0 remove x padding\n  (p === \"tonexty\" || p === \"tozeroy\" || !Vy.hasMarkers(t) && !Vy.hasText(t)) && (v.padded = !1, v.ppad = 0), g && (p === \"tozeroy\" || p === \"tonexty\" && (d || h === \"v\")) ? m.tozero = !0 : (p === \"tonextx\" || p === \"tozerox\") && (m.padded = !1), u && (t._extremes[u] = Fc.findExtremes(r, a, v)), f && (t._extremes[f] = Fc.findExtremes(n, i, m));\n}\nfunction BE(e, t) {\n  if (Vy.hasMarkers(e)) {\n    var r = e.marker, n = 1.6 * (e.marker.sizeref || 1), a;\n    if (e.marker.sizemode === \"area\" ? a = function(u) {\n      return Math.max(Math.sqrt((u || 0) / n), 3);\n    } : a = function(u) {\n      return Math.max((u || 0) / n, 3);\n    }, Gy.isArrayOrTypedArray(r.size)) {\n      var i = { type: \"linear\" };\n      Fc.setConvert(i);\n      for (var o = i.makeCalcdata(e.marker, \"size\"), l = new Array(t), s = 0; s < t; s++)\n        l[s] = a(o[s]);\n      return l;\n    } else\n      return a(r.size);\n  }\n}\nfunction jE(e, t) {\n  var r = UE(t), n = e._firstScatter;\n  n[r] || (n[r] = t.uid);\n}\nfunction UE(e) {\n  var t = e.stackgroup;\n  return e.xaxis + e.yaxis + e.type + (t ? \"-\" + t : \"\");\n}\nfunction l_(e, t, r, n) {\n  var a = e.stackgroup;\n  if (a) {\n    var i = t._scatterStackOpts[r._id + n._id][a], o = i.orientation === \"v\" ? n : r;\n    if (o.type === \"linear\" || o.type === \"log\") return i;\n  }\n}\nvar GE = {\n  calc: fre,\n  calcMarkerSize: BE,\n  calcAxisExpansion: HE,\n  setFirstScatter: jE,\n  getStackOpts: l_\n}, cre = Zp, dre = Ue.distinctVals;\nfunction Zp(e, t) {\n  this.traces = e, this.sepNegVal = t.sepNegVal, this.overlapNoMerge = t.overlapNoMerge;\n  for (var r = 1 / 0, n = t.posAxis._id.charAt(0), a = [], i = 0; i < e.length; i++) {\n    for (var o = e[i], l = 0; l < o.length; l++) {\n      var s = o[l], u = s.p;\n      u === void 0 && (u = s[n]), u !== void 0 && a.push(u);\n    }\n    o[0] && o[0].width1 && (r = Math.min(o[0].width1, r));\n  }\n  this.positions = a;\n  var f = dre(a);\n  this.distinctPositions = f.vals, f.vals.length === 1 && r !== 1 / 0 ? this.minDiff = r : this.minDiff = Math.min(f.minDiff, r);\n  var d = (t.posAxis || {}).type;\n  (d === \"category\" || d === \"multicategory\") && (this.minDiff = 1), this.binWidth = this.minDiff, this.bins = {};\n}\nZp.prototype.put = function(t, r) {\n  var n = this.getLabel(t, r), a = this.bins[n] || 0;\n  return this.bins[n] = a + r, a;\n};\nZp.prototype.get = function(t, r) {\n  var n = this.getLabel(t, r);\n  return this.bins[n] || 0;\n};\nZp.prototype.getLabel = function(t, r) {\n  var n = r < 0 && this.sepNegVal ? \"v\" : \"^\", a = this.overlapNoMerge ? t : Math.round(t / this.binWidth);\n  return n + a;\n};\nvar cl = sr, dl = Ue.isArrayOrTypedArray, $u = Qr.BADNUM, hre = Nt, Rc = Cr, vre = wl.getAxisGroup, Yp = cre;\nfunction pre(e, t) {\n  for (var r = t.xaxis, n = t.yaxis, a = e._fullLayout, i = e._fullData, o = e.calcdata, l = [], s = [], u = 0; u < i.length; u++) {\n    var f = i[u];\n    if (f.visible === !0 && hre.traceIs(f, \"bar\") && f.xaxis === r._id && f.yaxis === n._id && (f.orientation === \"h\" ? l.push(o[u]) : s.push(o[u]), f._computePh))\n      for (var d = e.calcdata[u], h = 0; h < d.length; h++)\n        typeof d[h].ph0 == \"function\" && (d[h].ph0 = d[h].ph0()), typeof d[h].ph1 == \"function\" && (d[h].ph1 = d[h].ph1());\n  }\n  var p = {\n    xCat: r.type === \"category\" || r.type === \"multicategory\",\n    yCat: n.type === \"category\" || n.type === \"multicategory\",\n    mode: a.barmode,\n    norm: a.barnorm,\n    gap: a.bargap,\n    groupgap: a.bargroupgap\n  };\n  qy(e, r, n, s, p), qy(e, n, r, l, p);\n}\nfunction qy(e, t, r, n, a) {\n  if (n.length) {\n    var i, o, l, s, u;\n    switch (mre(r, n), a.mode) {\n      case \"overlay\":\n        Yg(t, r, n, a);\n        break;\n      case \"group\":\n        for (i = [], o = [], l = 0; l < n.length; l++)\n          s = n[l], u = s[0].trace, u.offset === void 0 ? o.push(s) : i.push(s);\n        o.length && gre(e, t, r, o, a), i.length && Yg(t, r, i, a);\n        break;\n      case \"stack\":\n      case \"relative\":\n        for (i = [], o = [], l = 0; l < n.length; l++)\n          s = n[l], u = s[0].trace, u.base === void 0 ? o.push(s) : i.push(s);\n        o.length && yre(e, t, r, o, a), i.length && Yg(t, r, i, a);\n        break;\n    }\n    wre(n, t);\n  }\n}\nfunction mre(e, t) {\n  var r, n;\n  for (r = 0; r < t.length; r++) {\n    var a = t[r], i = a[0].trace, o = i.type === \"funnel\" ? i._base : i.base, l, s = i.orientation === \"h\" ? i.xcalendar : i.ycalendar, u = e.type === \"category\" || e.type === \"multicategory\" ? function() {\n      return null;\n    } : e.d2c;\n    if (dl(o)) {\n      for (n = 0; n < Math.min(o.length, a.length); n++)\n        l = u(o[n], 0, s), cl(l) ? (a[n].b = +l, a[n].hasB = 1) : a[n].b = 0;\n      for (; n < a.length; n++)\n        a[n].b = 0;\n    } else {\n      l = u(o, 0, s);\n      var f = cl(l);\n      for (l = f ? l : 0, n = 0; n < a.length; n++)\n        a[n].b = l, f && (a[n].hasB = 1);\n    }\n  }\n}\nfunction Yg(e, t, r, n) {\n  for (var a = 0; a < r.length; a++) {\n    var i = r[a], o = new Yp([i], {\n      posAxis: e,\n      sepNegVal: !1,\n      overlapNoMerge: !n.norm\n    });\n    VE(e, o, n), n.norm ? (XE(o), s_(t, o, n)) : YE(t, o);\n  }\n}\nfunction gre(e, t, r, n, a) {\n  var i = new Yp(n, {\n    posAxis: t,\n    sepNegVal: !1,\n    overlapNoMerge: !a.norm\n  });\n  bre(e, t, i, a), xre(i, t), a.norm ? (XE(i), s_(r, i, a)) : YE(r, i);\n}\nfunction yre(e, t, r, n, a) {\n  var i = new Yp(n, {\n    posAxis: t,\n    sepNegVal: a.mode === \"relative\",\n    overlapNoMerge: !(a.norm || a.mode === \"stack\" || a.mode === \"relative\")\n  });\n  VE(t, i, a), _re(r, i, a);\n  for (var o = 0; o < n.length; o++)\n    for (var l = n[o], s = 0; s < l.length; s++) {\n      var u = l[s];\n      if (u.s !== $u) {\n        var f = u.b + u.s === i.get(u.p, u.s);\n        f && (u._outmost = !0);\n      }\n    }\n  a.norm && s_(r, i, a);\n}\nfunction VE(e, t, r) {\n  for (var n = t.minDiff, a = t.traces, i = n * (1 - r.gap), o = i, l = o * (1 - (r.groupgap || 0)), s = -l / 2, u = 0; u < a.length; u++) {\n    var f = a[u], d = f[0].t;\n    d.barwidth = l, d.poffset = s, d.bargroupwidth = i, d.bardelta = n;\n  }\n  t.binWidth = a[0][0].t.barwidth / 100, qE(t), WE(e, t), ZE(e, t);\n}\nfunction bre(e, t, r, n) {\n  for (var a = e._fullLayout, i = r.positions, o = r.distinctPositions, l = r.minDiff, s = r.traces, u = s.length, f = i.length !== o.length, d = l * (1 - n.gap), h = vre(a, t._id) + s[0][0].trace.orientation, p = a._alignmentOpts[h] || {}, v = 0; v < u; v++) {\n    var m = s[v], g = m[0].trace, y = p[g.alignmentgroup] || {}, w = Object.keys(y.offsetGroups || {}).length, k;\n    w ? k = d / w : k = f ? d / u : d;\n    var x = k * (1 - (n.groupgap || 0)), _;\n    w ? _ = ((2 * g._offsetIndex + 1 - w) * k - x) / 2 : _ = f ? ((2 * v + 1 - u) * k - x) / 2 : -x / 2;\n    var T = m[0].t;\n    T.barwidth = x, T.poffset = _, T.bargroupwidth = d, T.bardelta = l;\n  }\n  r.binWidth = s[0][0].t.barwidth / 100, qE(r), WE(t, r), ZE(t, r, f);\n}\nfunction qE(e) {\n  var t = e.traces, r, n;\n  for (r = 0; r < t.length; r++) {\n    var a = t[r], i = a[0], o = i.trace, l = i.t, s = o._offset || o.offset, u = l.poffset, f;\n    if (dl(s)) {\n      for (f = Array.prototype.slice.call(s, 0, a.length), n = 0; n < f.length; n++)\n        cl(f[n]) || (f[n] = u);\n      for (n = f.length; n < a.length; n++)\n        f.push(u);\n      l.poffset = f;\n    } else s !== void 0 && (l.poffset = s);\n    var d = o._width || o.width, h = l.barwidth;\n    if (dl(d)) {\n      var p = Array.prototype.slice.call(d, 0, a.length);\n      for (n = 0; n < p.length; n++)\n        cl(p[n]) || (p[n] = h);\n      for (n = p.length; n < a.length; n++)\n        p.push(h);\n      if (l.barwidth = p, s === void 0) {\n        for (f = [], n = 0; n < a.length; n++)\n          f.push(\n            u + (h - p[n]) / 2\n          );\n        l.poffset = f;\n      }\n    } else d !== void 0 && (l.barwidth = d, s === void 0 && (l.poffset = u + (h - d) / 2));\n  }\n}\nfunction WE(e, t) {\n  for (var r = t.traces, n = ad(e), a = 0; a < r.length; a++)\n    for (var i = r[a], o = i[0].t, l = o.poffset, s = dl(l), u = o.barwidth, f = dl(u), d = 0; d < i.length; d++) {\n      var h = i[d], p = h.w = f ? u[d] : u;\n      h.p === void 0 && (h.p = h[n], h[\"orig_\" + n] = h[n]);\n      var v = (s ? l[d] : l) + p / 2;\n      h[n] = h.p + v;\n    }\n}\nfunction ZE(e, t, r) {\n  var n = t.traces, a = t.minDiff, i = a / 2;\n  Rc.minDtick(e, t.minDiff, t.distinctPositions[0], r);\n  for (var o = 0; o < n.length; o++) {\n    var l = n[o], s = l[0], u = s.trace, f = [], d, h, p, v;\n    for (v = 0; v < l.length; v++)\n      d = l[v], h = d.p - i, p = d.p + i, f.push(h, p);\n    if (u.width || u.offset) {\n      var m = s.t, g = m.poffset, y = m.barwidth, w = dl(g), k = dl(y);\n      for (v = 0; v < l.length; v++) {\n        d = l[v];\n        var x = w ? g[v] : g, _ = k ? y[v] : y;\n        h = d.p + x, p = h + _, f.push(h, p);\n      }\n    }\n    u._extremes[e._id] = Rc.findExtremes(e, f, { padded: !1 });\n  }\n}\nfunction YE(e, t) {\n  for (var r = t.traces, n = ad(e), a = 0; a < r.length; a++) {\n    for (var i = r[a], o = i[0].trace, l = o.type === \"scatter\", s = o.orientation === \"v\", u = [], f = !1, d = 0; d < i.length; d++) {\n      var h = i[d], p = l ? 0 : h.b, v = l ? s ? h.y : h.x : p + h.s;\n      h[n] = v, u.push(v), h.hasB && u.push(p), (!h.hasB || !h.b) && (f = !0);\n    }\n    o._extremes[e._id] = Rc.findExtremes(e, u, {\n      tozero: f,\n      padded: !0\n    });\n  }\n}\nfunction _re(e, t, r) {\n  var n = ad(e), a = t.traces, i, o, l, s, u, f;\n  for (s = 0; s < a.length; s++)\n    if (i = a[s], o = i[0].trace, o.type === \"funnel\")\n      for (u = 0; u < i.length; u++)\n        f = i[u], f.s !== $u && t.put(f.p, -0.5 * f.s);\n  for (s = 0; s < a.length; s++) {\n    i = a[s], o = i[0].trace, l = o.type === \"funnel\";\n    var d = [];\n    for (u = 0; u < i.length; u++)\n      if (f = i[u], f.s !== $u) {\n        var h;\n        l ? h = f.s : h = f.s + f.b;\n        var p = t.put(f.p, h), v = p + h;\n        f.b = p, f[n] = v, r.norm || (d.push(v), f.hasB && d.push(p));\n      }\n    r.norm || (o._extremes[e._id] = Rc.findExtremes(e, d, {\n      // N.B. we don't stack base with 'base',\n      // so set tozero:true always!\n      tozero: !0,\n      padded: !0\n    }));\n  }\n}\nfunction XE(e) {\n  for (var t = e.traces, r = 0; r < t.length; r++)\n    for (var n = t[r], a = 0; a < n.length; a++) {\n      var i = n[a];\n      i.s !== $u && e.put(i.p, i.b + i.s);\n    }\n}\nfunction xre(e, t) {\n  for (var r = e.traces, n = 0; n < r.length; n++) {\n    var a = r[n], i = a[0].trace;\n    if (i.base === void 0)\n      for (var o = new Yp([a], {\n        posAxis: t,\n        sepNegVal: !0,\n        overlapNoMerge: !0\n      }), l = 0; l < a.length; l++) {\n        var s = a[l];\n        if (s.p !== $u) {\n          var u = o.put(s.p, s.b + s.s);\n          u && (s.b = u);\n        }\n      }\n  }\n}\nfunction s_(e, t, r) {\n  var n = t.traces, a = ad(e), i = r.norm === \"fraction\" ? 1 : 100, o = i / 1e9, l = e.l2c(e.c2l(0)), s = r.mode === \"stack\" ? i : l;\n  function u(_) {\n    return cl(e.c2l(_)) && (_ < l - o || _ > s + o || !cl(l));\n  }\n  for (var f = 0; f < n.length; f++) {\n    for (var d = n[f], h = d[0].trace, p = [], v = !1, m = !1, g = 0; g < d.length; g++) {\n      var y = d[g];\n      if (y.s !== $u) {\n        var w = Math.abs(i / t.get(y.p, y.s));\n        y.b *= w, y.s *= w;\n        var k = y.b, x = k + y.s;\n        y[a] = x, p.push(x), m = m || u(x), y.hasB && (p.push(k), m = m || u(k)), (!y.hasB || !y.b) && (v = !0);\n      }\n    }\n    h._extremes[e._id] = Rc.findExtremes(e, p, {\n      tozero: v,\n      padded: m\n    });\n  }\n}\nfunction wre(e, t) {\n  var r = ad(t), n = {}, a, i, o, l = 1 / 0, s = -1 / 0;\n  for (a = 0; a < e.length; a++)\n    for (o = e[a], i = 0; i < o.length; i++) {\n      var u = o[i].p;\n      cl(u) && (l = Math.min(l, u), s = Math.max(s, u));\n    }\n  var f = 1e4 / (s - l), d = n.round = function(w) {\n    return String(Math.round(f * (w - l)));\n  };\n  for (a = 0; a < e.length; a++) {\n    o = e[a], o[0].t.extents = n;\n    var h = o[0].t.poffset, p = dl(h);\n    for (i = 0; i < o.length; i++) {\n      var v = o[i], m = v[r] - v.w / 2;\n      if (cl(m)) {\n        var g = v[r] + v.w / 2, y = d(v.p);\n        n[y] ? n[y] = [Math.min(m, n[y][0]), Math.max(g, n[y][1])] : n[y] = [m, g];\n      }\n      v.p0 = v.p + (p ? h[i] : h), v.p1 = v.p0 + v.w, v.s0 = v.b, v.s1 = v.s0 + v.s;\n    }\n  }\n}\nfunction ad(e) {\n  return e._id.charAt(0);\n}\nvar KE = {\n  crossTraceCalc: pre,\n  setGroupPositions: qy\n}, XA = GE, KA = KE.setGroupPositions;\nfunction Tre(e, t) {\n  for (var r = t.xaxis, n = t.yaxis, a = e._fullLayout, i = e._fullData, o = e.calcdata, l = [], s = [], u = 0; u < i.length; u++) {\n    var f = i[u];\n    f.visible === !0 && f.type === \"scatter\" && f.xaxis === r._id && f.yaxis === n._id && (f.orientation === \"h\" ? l.push(o[u]) : f.orientation === \"v\" && s.push(o[u]));\n  }\n  var d = {\n    mode: a.scattermode,\n    gap: a.scattergap\n  };\n  KA(e, r, n, s, d), KA(e, n, r, l, d);\n}\nvar kre = function(t, r) {\n  t._fullLayout.scattermode === \"group\" && Tre(t, r);\n  var n = r.xaxis, a = r.yaxis, i = n._id + a._id, o = t._fullLayout._scatterStackOpts[i];\n  if (o) {\n    var l = t.calcdata, s, u, f, d, h, p, v, m, g, y, w, k, x, _, T;\n    for (var S in o) {\n      y = o[S];\n      var M = y.traceIndices;\n      if (M.length) {\n        for (w = y.stackgaps === \"interpolate\", k = y.groupnorm, y.orientation === \"v\" ? (x = \"x\", _ = \"y\") : (x = \"y\", _ = \"x\"), T = new Array(M.length), s = 0; s < T.length; s++)\n          T[s] = !1;\n        p = l[M[0]];\n        var L = new Array(p.length);\n        for (s = 0; s < p.length; s++)\n          L[s] = p[s][x];\n        for (s = 1; s < M.length; s++) {\n          for (h = l[M[s]], u = f = 0; u < h.length; u++) {\n            for (v = h[u][x]; v > L[f] && f < L.length; f++)\n              Xg(h, u, L[f], s, T, w, x), u++;\n            if (v !== L[f]) {\n              for (d = 0; d < s; d++)\n                Xg(l[M[d]], f, v, d, T, w, x);\n              L.splice(f, 0, v);\n            }\n            f++;\n          }\n          for (; f < L.length; f++)\n            Xg(h, u, L[f], s, T, w, x), u++;\n        }\n        var F = L.length;\n        for (u = 0; u < p.length; u++) {\n          for (m = p[u][_] = p[u].s, s = 1; s < M.length; s++)\n            h = l[M[s]], h[0].trace._rawLength = h[0].trace._length, h[0].trace._length = F, m += h[u].s, h[u][_] = m;\n          if (k)\n            for (g = (k === \"fraction\" ? m : m / 100) || 1, s = 0; s < M.length; s++) {\n              var $ = l[M[s]][u];\n              $[_] /= g, $.sNorm = $.s / g;\n            }\n        }\n        for (s = 0; s < M.length; s++) {\n          h = l[M[s]];\n          var I = h[0].trace, O = XA.calcMarkerSize(I, I._rawLength), G = Array.isArray(O);\n          if (O && T[s] || G) {\n            var K = O;\n            for (O = new Array(F), u = 0; u < F; u++)\n              O[u] = h[u].gap ? 0 : G ? K[h[u].i] : K;\n          }\n          var V = new Array(F), z = new Array(F);\n          for (u = 0; u < F; u++)\n            V[u] = h[u].x, z[u] = h[u].y;\n          XA.calcAxisExpansion(t, I, n, a, V, z, O), h[0].t.orientation = y.orientation;\n        }\n      }\n    }\n  }\n};\nfunction Xg(e, t, r, n, a, i, o) {\n  a[n] = !0;\n  var l = {\n    i: null,\n    gap: !0,\n    s: 0\n  };\n  if (l[o] = r, e.splice(t, 0, l), t && r === e[t - 1][o]) {\n    var s = e[t - 1];\n    l.s = s.s, l.i = s.i, l.gap = s.gap;\n  } else i && (l.s = Are(e, t, r, o));\n  t || (e[0].t = e[1].t, e[0].trace = e[1].trace, delete e[1].t, delete e[1].trace);\n}\nfunction Are(e, t, r, n) {\n  var a = e[t - 1], i = e[t + 1];\n  return i ? a ? a.s + (i.s - a.s) * (r - a[n]) / (i[n] - a[n]) : i.s : a.s;\n}\nvar Mre = Sr, JE = Qr, jf = JE.BADNUM, QE = JE.LOG_CLIP, JA = QE + 0.5, QA = QE - 0.5, Cv = Ue, Sre = Cv.segmentsIntersect, eM = Cv.constrain, Kg = e_, Cre = function(t, r) {\n  var n = r.trace || {}, a = r.xaxis, i = r.yaxis, o = a.type === \"log\", l = i.type === \"log\", s = a._length, u = i._length, f = r.backoff, d = n.marker, h = r.connectGaps, p = r.baseTolerance, v = r.shape, m = v === \"linear\", g = n.fill && n.fill !== \"none\", y = [], w = Kg.minTolerance, k = t.length, x = new Array(k), _ = 0, T, S, M, L, F, $, I, O, G, K, V, z, P, R, H, B;\n  function W(He) {\n    var pt = t[He];\n    if (!pt) return !1;\n    var bt = r.linearized ? a.l2p(pt.x) : a.c2p(pt.x), Ke = r.linearized ? i.l2p(pt.y) : i.c2p(pt.y);\n    if (bt === jf) {\n      if (o && (bt = a.c2p(pt.x, !0)), bt === jf) return !1;\n      l && Ke === jf && (bt *= Math.abs(a._m * u * (a._m > 0 ? JA : QA) / (i._m * s * (i._m > 0 ? JA : QA)))), bt *= 1e3;\n    }\n    if (Ke === jf) {\n      if (l && (Ke = i.c2p(pt.y, !0)), Ke === jf) return !1;\n      Ke *= 1e3;\n    }\n    return [bt, Ke];\n  }\n  function ee(He, pt, bt, Ke) {\n    var st = bt - He, rt = Ke - pt, ct = 0.5 - He, X = 0.5 - pt, se = st * st + rt * rt, ie = st * ct + rt * X;\n    if (ie > 0 && ie < se) {\n      var fe = ct * rt - X * st;\n      if (fe * fe < se) return !0;\n    }\n  }\n  var re, ae;\n  function Q(He, pt) {\n    var bt = He[0] / s, Ke = He[1] / u, st = Math.max(0, -bt, bt - 1, -Ke, Ke - 1);\n    return st && re !== void 0 && ee(bt, Ke, re, ae) && (st = 0), st && pt && ee(bt, Ke, pt[0] / s, pt[1] / u) && (st = 0), (1 + Kg.toleranceGrowth * st) * p;\n  }\n  function ue(He, pt) {\n    var bt = He[0] - pt[0], Ke = He[1] - pt[1];\n    return Math.sqrt(bt * bt + Ke * Ke);\n  }\n  var j = Kg.maxScreensAway, U = -s * j, Z = s * (1 + j), le = -u * j, J = u * (1 + j), pe = [\n    [U, le, Z, le],\n    [Z, le, Z, J],\n    [Z, J, U, J],\n    [U, J, U, le]\n  ], ge, ve, me, Le, ze, Fe;\n  function Oe(He, pt) {\n    for (var bt = [], Ke = 0, st = 0; st < 4; st++) {\n      var rt = pe[st], ct = Sre(\n        He[0],\n        He[1],\n        pt[0],\n        pt[1],\n        rt[0],\n        rt[1],\n        rt[2],\n        rt[3]\n      );\n      ct && (!Ke || Math.abs(ct.x - bt[0][0]) > 1 || Math.abs(ct.y - bt[0][1]) > 1) && (ct = [ct.x, ct.y], Ke && ue(ct, He) < ue(bt[0], He) ? bt.unshift(ct) : bt.push(ct), Ke++);\n    }\n    return bt;\n  }\n  function Re(He) {\n    if (He[0] < U || He[0] > Z || He[1] < le || He[1] > J)\n      return [eM(He[0], U, Z), eM(He[1], le, J)];\n  }\n  function We(He, pt) {\n    if (He[0] === pt[0] && (He[0] === U || He[0] === Z) || He[1] === pt[1] && (He[1] === le || He[1] === J)) return !0;\n  }\n  function Me(He, pt) {\n    var bt = [], Ke = Re(He), st = Re(pt);\n    return Ke && st && We(Ke, st) || (Ke && bt.push(Ke), st && bt.push(st)), bt;\n  }\n  function Ve(He, pt, bt) {\n    return function(Ke, st) {\n      var rt = Re(Ke), ct = Re(st), X = [];\n      if (rt && ct && We(rt, ct)) return X;\n      rt && X.push(rt), ct && X.push(ct);\n      var se = 2 * Cv.constrain((Ke[He] + st[He]) / 2, pt, bt) - ((rt || Ke)[He] + (ct || st)[He]);\n      if (se) {\n        var ie;\n        rt && ct ? ie = se > 0 == rt[He] > ct[He] ? rt : ct : ie = rt || ct, ie[He] += se;\n      }\n      return X;\n    };\n  }\n  var qe;\n  v === \"linear\" || v === \"spline\" ? qe = Oe : v === \"hv\" || v === \"vh\" ? qe = Me : v === \"hvh\" ? qe = Ve(0, U, Z) : v === \"vhv\" && (qe = Ve(1, le, J));\n  function Qe(He, pt) {\n    var bt = pt[0] - He[0], Ke = (pt[1] - He[1]) / bt, st = (He[1] * pt[0] - pt[1] * He[0]) / bt;\n    return st > 0 ? [Ke > 0 ? U : Z, J] : [Ke > 0 ? Z : U, le];\n  }\n  function ot(He) {\n    var pt = He[0], bt = He[1], Ke = pt === x[_ - 1][0], st = bt === x[_ - 1][1];\n    if (!(Ke && st))\n      if (_ > 1) {\n        var rt = pt === x[_ - 2][0], ct = bt === x[_ - 2][1];\n        Ke && (pt === U || pt === Z) && rt ? ct ? _-- : x[_ - 1] = He : st && (bt === le || bt === J) && ct ? rt ? _-- : x[_ - 1] = He : x[_++] = He;\n      } else x[_++] = He;\n  }\n  function ht(He) {\n    x[_ - 1][0] !== He[0] && x[_ - 1][1] !== He[1] && ot([me, Le]), ot(He), ze = null, me = Le = 0;\n  }\n  var vt = Cv.isArrayOrTypedArray(d);\n  function nt(He) {\n    if (He && f && (He.i = T, He.d = t, He.trace = n, He.marker = vt ? d[He.i] : d, He.backoff = f), re = He[0] / s, ae = He[1] / u, ge = He[0] < U ? U : He[0] > Z ? Z : 0, ve = He[1] < le ? le : He[1] > J ? J : 0, ge || ve) {\n      if (!_)\n        x[_++] = [ge || He[0], ve || He[1]];\n      else if (ze) {\n        var pt = qe(ze, He);\n        pt.length > 1 && (ht(pt[0]), x[_++] = pt[1]);\n      } else\n        Fe = qe(x[_ - 1], He)[0], x[_++] = Fe;\n      var bt = x[_ - 1];\n      ge && ve && (bt[0] !== ge || bt[1] !== ve) ? (ze && (me !== ge && Le !== ve ? ot(me && Le ? Qe(ze, He) : [me || ge, Le || ve]) : me && Le && ot([me, Le])), ot([ge, ve])) : me - ge && Le - ve && ot([ge || me, ve || Le]), ze = He, me = ge, Le = ve;\n    } else\n      ze && ht(qe(ze, He)[0]), x[_++] = He;\n  }\n  for (T = 0; T < k; T++)\n    if (S = W(T), !!S) {\n      for (_ = 0, ze = null, nt(S), T++; T < k; T++) {\n        if (L = W(T), !L) {\n          if (h) continue;\n          break;\n        }\n        if (!m || !r.simplify) {\n          nt(L);\n          continue;\n        }\n        var ft = W(T + 1);\n        if (K = ue(L, S), !(!(g && (_ === 0 || _ === k - 1)) && K < Q(L, ft) * w)) {\n          for (O = [\n            (L[0] - S[0]) / K,\n            (L[1] - S[1]) / K\n          ], F = S, V = K, z = R = H = 0, I = !1, M = L, T++; T < t.length; T++) {\n            if ($ = ft, ft = W(T + 1), !$) {\n              if (h) continue;\n              break;\n            }\n            if (G = [\n              $[0] - S[0],\n              $[1] - S[1]\n            ], B = G[0] * O[1] - G[1] * O[0], R = Math.min(R, B), H = Math.max(H, B), H - R > Q($, ft)) break;\n            M = $, P = G[0] * O[0] + G[1] * O[1], P > V ? (V = P, L = $, I = !1) : P < z && (z = P, F = $, I = !0);\n          }\n          if (I ? (nt(L), M !== F && nt(F)) : (F !== S && nt(F), M !== L && nt(L)), nt(M), T >= t.length || !$) break;\n          nt($), S = $;\n        }\n      }\n      ze && ot([me || ze[0], Le || ze[1]]), y.push(x.slice(0, _));\n    }\n  var Pe = v.slice(v.length - 1);\n  if (f && Pe !== \"h\" && Pe !== \"v\") {\n    for (var Ie = !1, Ne = -1, tt = [], Je = 0; Je < y.length; Je++)\n      for (var it = 0; it < y[Je].length - 1; it++) {\n        var at = y[Je][it], Tt = y[Je][it + 1], gt = Mre.applyBackoff(Tt, at);\n        (gt[0] !== Tt[0] || gt[1] !== Tt[1]) && (Ie = !0), tt[Ne + 1] || (Ne++, tt[Ne] = [\n          at,\n          [gt[0], gt[1]]\n        ]);\n      }\n    return Ie ? tt : y;\n  }\n  return y;\n}, tM = { tonextx: 1, tonexty: 1, tonext: 1 }, Lre = function(t, r, n) {\n  var a, i, o, l, s, u = {}, f = !1, d = -1, h = 0, p = -1;\n  for (i = 0; i < n.length; i++)\n    a = n[i][0].trace, o = a.stackgroup || \"\", o ? o in u ? s = u[o] : (s = u[o] = h, h++) : a.fill in tM && p >= 0 ? s = p : (s = p = h, h++), s < d && (f = !0), a._groupIndex = d = s;\n  var v = n.slice();\n  f && v.sort(function(g, y) {\n    var w = g[0].trace, k = y[0].trace;\n    return w._groupIndex - k._groupIndex || w.index - k.index;\n  });\n  var m = {};\n  for (i = 0; i < v.length; i++)\n    a = v[i][0].trace, o = a.stackgroup || \"\", a.visible === !0 ? (a._nexttrace = null, a.fill in tM && (l = m[o], a._prevtrace = l || null, l && (l._nexttrace = a)), a._ownfill = a.fill && (a.fill.substr(0, 6) === \"tozero\" || a.fill === \"toself\" || a.fill.substr(0, 2) === \"to\" && !a._prevtrace), m[o] = a) : a._prevtrace = a._nexttrace = a._ownfill = null;\n  return v;\n}, si = lr, Dre = Nt, Pc = Ue, vu = Pc.ensureSingle, e6 = Pc.identity, Wr = Sr, pu = Ya, Ere = Cre, Fre = Lre, Rre = QD.tester, Pre = function(t, r, n, a, i, o) {\n  var l, s, u = !i, f = !!i && i.duration > 0, d = Fre(t, r, n);\n  if (l = a.selectAll(\"g.trace\").data(d, function(p) {\n    return p[0].trace.uid;\n  }), l.enter().append(\"g\").attr(\"class\", function(p) {\n    return \"trace scatter trace\" + p[0].trace.uid;\n  }).style(\"stroke-miterlimit\", 2), l.order(), $re(t, l, r), f) {\n    o && (s = o());\n    var h = si.transition().duration(i.duration).ease(i.easing).each(\"end\", function() {\n      s && s();\n    }).each(\"interrupt\", function() {\n      s && s();\n    });\n    h.each(function() {\n      a.selectAll(\"g.trace\").each(function(p, v) {\n        rM(t, v, r, p, d, this, i);\n      });\n    });\n  } else\n    l.each(function(p, v) {\n      rM(t, v, r, p, d, this, i);\n    });\n  u && l.exit().remove(), a.selectAll(\"path:not([d])\").remove();\n};\nfunction $re(e, t, r) {\n  t.each(function(n) {\n    var a = vu(si.select(this), \"g\", \"fills\");\n    Wr.setClipUrl(a, r.layerClipId, e);\n    var i = n[0].trace, o = [];\n    i._ownfill && o.push(\"_ownFill\"), i._nexttrace && o.push(\"_nextFill\");\n    var l = a.selectAll(\"g\").data(o, e6);\n    l.enter().append(\"g\"), l.exit().each(function(s) {\n      i[s] = null;\n    }).remove(), l.order().each(function(s) {\n      i[s] = vu(si.select(this), \"path\", \"js-fill\");\n    });\n  });\n}\nfunction rM(e, t, r, n, a, i, o) {\n  var l = e._context.staticPlot, s;\n  zre(e, t, r, n, a);\n  var u = !!o && o.duration > 0;\n  function f(ge) {\n    return u ? ge.transition() : ge;\n  }\n  var d = r.xaxis, h = r.yaxis, p = n[0].trace, v = p.line, m = si.select(i), g = vu(m, \"g\", \"errorbars\"), y = vu(m, \"g\", \"lines\"), w = vu(m, \"g\", \"points\"), k = vu(m, \"g\", \"text\");\n  if (Dre.getComponentMethod(\"errorbars\", \"plot\")(e, g, r, o), p.visible !== !0) return;\n  f(m).style(\"opacity\", p.opacity);\n  var x, _, T = p.fill.charAt(p.fill.length - 1);\n  T !== \"x\" && T !== \"y\" && (T = \"\"), n[0][r.isRangePlot ? \"nodeRangePlot3\" : \"node3\"] = m;\n  var S = \"\", M = [], L = p._prevtrace;\n  L && (S = L._prevRevpath || \"\", _ = L._nextFill, M = L._polygons);\n  var F, $, I = \"\", O = \"\", G, K, V, z, P, R, H, B = [], W = Pc.noop;\n  if (x = p._ownFill, pu.hasLines(p) || p.fill !== \"none\") {\n    for (_ && _.datum(n), [\"hv\", \"vh\", \"hvh\", \"vhv\"].indexOf(v.shape) !== -1 ? (G = Wr.steps(v.shape), K = Wr.steps(\n      v.shape.split(\"\").reverse().join(\"\")\n    )) : v.shape === \"spline\" ? G = K = function(ge) {\n      var ve = ge[ge.length - 1];\n      return ge.length > 1 && ge[0][0] === ve[0] && ge[0][1] === ve[1] ? Wr.smoothclosed(ge.slice(1), v.smoothing) : Wr.smoothopen(ge, v.smoothing);\n    } : G = K = function(ge) {\n      return \"M\" + ge.join(\"L\");\n    }, V = function(ge) {\n      return K(ge.reverse());\n    }, B = Ere(n, {\n      xaxis: d,\n      yaxis: h,\n      trace: p,\n      connectGaps: p.connectgaps,\n      baseTolerance: Math.max(v.width || 1, 3) / 4,\n      shape: v.shape,\n      backoff: v.backoff,\n      simplify: v.simplify,\n      fill: p.fill\n    }), H = p._polygons = new Array(B.length), s = 0; s < B.length; s++)\n      p._polygons[s] = Rre(B[s]);\n    B.length && (z = B[0][0], P = B[B.length - 1], R = P[P.length - 1]), W = function(ge) {\n      return function(ve) {\n        if (F = G(ve), $ = V(ve), I ? T ? (I += \"L\" + F.substr(1), O = $ + (\"L\" + O.substr(1))) : (I += \"Z\" + F, O = $ + \"Z\" + O) : (I = F, O = $), pu.hasLines(p)) {\n          var me = si.select(this);\n          if (me.datum(n), ge)\n            f(me.style(\"opacity\", 0).attr(\"d\", F).call(Wr.lineGroupStyle)).style(\"opacity\", 1);\n          else {\n            var Le = f(me);\n            Le.attr(\"d\", F), Wr.singleLineStyle(n, Le);\n          }\n        }\n      };\n    };\n  }\n  var ee = y.selectAll(\".js-line\").data(B);\n  f(ee.exit()).style(\"opacity\", 0).remove(), ee.each(W(!1)), ee.enter().append(\"path\").classed(\"js-line\", !0).style(\"vector-effect\", l ? \"none\" : \"non-scaling-stroke\").call(Wr.lineGroupStyle).each(W(!0)), Wr.setClipUrl(ee, r.layerClipId, e);\n  function re(ge) {\n    f(ge).attr(\"d\", \"M0,0Z\");\n  }\n  B.length ? (x ? (x.datum(n), z && R && (T ? (T === \"y\" ? z[1] = R[1] = h.c2p(0, !0) : T === \"x\" && (z[0] = R[0] = d.c2p(0, !0)), f(x).attr(\"d\", \"M\" + R + \"L\" + z + \"L\" + I.substr(1)).call(Wr.singleFillStyle, e)) : f(x).attr(\"d\", I + \"Z\").call(Wr.singleFillStyle, e))) : _ && (p.fill.substr(0, 6) === \"tonext\" && I && S ? (p.fill === \"tonext\" ? f(_).attr(\"d\", I + \"Z\" + S + \"Z\").call(Wr.singleFillStyle, e) : f(_).attr(\"d\", I + \"L\" + S.substr(1) + \"Z\").call(Wr.singleFillStyle, e), p._polygons = p._polygons.concat(M)) : (re(_), p._polygons = null)), p._prevRevpath = O, p._prevPolygons = H) : (x ? re(x) : _ && re(_), p._polygons = p._prevRevpath = p._prevPolygons = null);\n  function ae(ge) {\n    return ge.filter(function(ve) {\n      return !ve.gap && ve.vis;\n    });\n  }\n  function Q(ge) {\n    return ge.filter(function(ve) {\n      return ve.vis;\n    });\n  }\n  function ue(ge) {\n    return ge.filter(function(ve) {\n      return !ve.gap;\n    });\n  }\n  function j(ge) {\n    return ge.id;\n  }\n  function U(ge) {\n    if (ge.ids)\n      return j;\n  }\n  function Z() {\n    return !1;\n  }\n  function le(ge, ve, me) {\n    var Le, ze, Fe, Oe = me[0].trace, Re = pu.hasMarkers(Oe), We = pu.hasText(Oe), Me = U(Oe), Ve = Z, qe = Z;\n    if (Re || We) {\n      var Qe = e6, ot = Oe.stackgroup, ht = ot && e._fullLayout._scatterStackOpts[d._id + h._id][ot].stackgaps === \"infer zero\";\n      Oe.marker.maxdisplayed || Oe._needsCull ? Qe = ht ? Q : ae : ot && !ht && (Qe = ue), Re && (Ve = Qe), We && (qe = Qe);\n    }\n    ze = ge.selectAll(\"path.point\"), Le = ze.data(Ve, Me);\n    var vt = Le.enter().append(\"path\").classed(\"point\", !0);\n    u && vt.call(Wr.pointStyle, Oe, e).call(Wr.translatePoints, d, h).style(\"opacity\", 0).transition().style(\"opacity\", 1), Le.order();\n    var nt;\n    Re && (nt = Wr.makePointStyleFns(Oe)), Le.each(function(ft) {\n      var Pe = si.select(this), Ie = f(Pe);\n      Fe = Wr.translatePoint(ft, Ie, d, h), Fe ? (Wr.singlePointStyle(ft, Ie, Oe, nt, e), r.layerClipId && Wr.hideOutsideRangePoint(ft, Ie, d, h, Oe.xcalendar, Oe.ycalendar), Oe.customdata && Pe.classed(\"plotly-customdata\", ft.data !== null && ft.data !== void 0)) : Ie.remove();\n    }), u ? Le.exit().transition().style(\"opacity\", 0).remove() : Le.exit().remove(), ze = ve.selectAll(\"g\"), Le = ze.data(qe, Me), Le.enter().append(\"g\").classed(\"textpoint\", !0).append(\"text\"), Le.order(), Le.each(function(ft) {\n      var Pe = si.select(this), Ie = f(Pe.select(\"text\"));\n      Fe = Wr.translatePoint(ft, Ie, d, h), Fe ? r.layerClipId && Wr.hideOutsideRangePoint(ft, Pe, d, h, Oe.xcalendar, Oe.ycalendar) : Pe.remove();\n    }), Le.selectAll(\"text\").call(Wr.textPointStyle, Oe, e).each(function(ft) {\n      var Pe = d.c2p(ft.x), Ie = h.c2p(ft.y);\n      si.select(this).selectAll(\"tspan.line\").each(function() {\n        f(si.select(this)).attr({ x: Pe, y: Ie });\n      });\n    }), Le.exit().remove();\n  }\n  w.datum(n), k.datum(n), le(w, k, n);\n  var J = p.cliponaxis === !1, pe = J ? null : r.layerClipId;\n  Wr.setClipUrl(w, pe, e), Wr.setClipUrl(k, pe, e);\n}\nfunction zre(e, t, r, n, a) {\n  var i = r.xaxis, o = r.yaxis, l = si.extent(Pc.simpleMap(i.range, i.r2c)), s = si.extent(Pc.simpleMap(o.range, o.r2c)), u = n[0].trace;\n  if (pu.hasMarkers(u)) {\n    var f = u.marker.maxdisplayed;\n    if (f !== 0) {\n      var d = n.filter(function(m) {\n        return m.x >= l[0] && m.x <= l[1] && m.y >= s[0] && m.y <= s[1];\n      }), h = Math.ceil(d.length / f), p = 0;\n      a.forEach(function(m, g) {\n        var y = m[0].trace;\n        pu.hasMarkers(y) && y.marker.maxdisplayed > 0 && g < t && p++;\n      });\n      var v = Math.round(p * h / 3 + Math.floor(p / 3) * h / 7.1);\n      n.forEach(function(m) {\n        delete m.vis;\n      }), d.forEach(function(m, g) {\n        Math.round((g + v) % h) === 0 && (m.vis = !0);\n      });\n    }\n  }\n}\nvar t6 = {\n  container: \"marker\",\n  min: \"cmin\",\n  max: \"cmax\"\n}, gh = Cr, r6 = function(t, r, n) {\n  var a = {}, i = { _fullLayout: n }, o = gh.getFromTrace(i, r, \"x\"), l = gh.getFromTrace(i, r, \"y\"), s = t.orig_x;\n  s === void 0 && (s = t.x);\n  var u = t.orig_y;\n  return u === void 0 && (u = t.y), a.xLabel = gh.tickText(o, o.c2l(s), !0).text, a.yLabel = gh.tickText(l, l.c2l(u), !0).text, a;\n}, Jg = lr, zu = Sr, Ire = Nt;\nfunction Nre(e) {\n  var t = Jg.select(e).selectAll(\"g.trace.scatter\");\n  t.style(\"opacity\", function(r) {\n    return r[0].trace.opacity;\n  }), t.selectAll(\"g.points\").each(function(r) {\n    var n = Jg.select(this), a = r.trace || r[0].trace;\n    u_(n, a, e);\n  }), t.selectAll(\"g.text\").each(function(r) {\n    var n = Jg.select(this), a = r.trace || r[0].trace;\n    f_(n, a, e);\n  }), t.selectAll(\"g.trace path.js-line\").call(zu.lineGroupStyle), t.selectAll(\"g.trace path.js-fill\").call(zu.fillGroupStyle, e), Ire.getComponentMethod(\"errorbars\", \"style\")(t);\n}\nfunction u_(e, t, r) {\n  zu.pointStyle(e.selectAll(\"path.point\"), t, r);\n}\nfunction f_(e, t, r) {\n  zu.textPointStyle(e.selectAll(\"text\"), t, r);\n}\nfunction Ore(e, t, r) {\n  var n = t[0].trace;\n  n.selectedpoints ? (zu.selectedPointStyle(r.selectAll(\"path.point\"), n), zu.selectedTextStyle(r.selectAll(\"text\"), n)) : (u_(r, n, e), f_(r, n, e));\n}\nvar nM = {\n  style: Nre,\n  stylePoints: u_,\n  styleText: f_,\n  styleOnSelect: Ore\n}, Us = nr, Hre = Ya, Bre = function(t, r) {\n  var n, a;\n  if (t.mode === \"lines\")\n    return n = t.line.color, n && Us.opacity(n) ? n : t.fillcolor;\n  if (t.mode === \"none\")\n    return t.fill ? t.fillcolor : \"\";\n  var i = r.mcc || (t.marker || {}).color, o = r.mlcc || ((t.marker || {}).line || {}).color;\n  return a = i && Us.opacity(i) ? i : o && Us.opacity(o) && (r.mlw || ((t.marker || {}).line || {}).width) ? o : \"\", a ? Us.opacity(a) < 0.3 ? Us.addOpacity(a, 0.3) : a : (n = (t.line || {}).color, n && Us.opacity(n) && Hre.hasLines(t) && t.line.width ? n : t.fillcolor);\n}, Gh = Ue, aM = Ao, jre = Nt, Ure = Bre, Qg = nr, Gre = Gh.fillText, Vre = function(t, r, n, a) {\n  var i = t.cd, o = i[0].trace, l = t.xa, s = t.ya, u = l.c2p(r), f = s.c2p(n), d = [u, f], h = o.hoveron || \"\", p = o.mode.indexOf(\"markers\") !== -1 ? 3 : 0.5, v = !!o.xperiodalignment, m = !!o.yperiodalignment;\n  if (h.indexOf(\"points\") !== -1) {\n    var g = function(Z) {\n      if (v) {\n        var le = l.c2p(Z.xStart), J = l.c2p(Z.xEnd);\n        return u >= Math.min(le, J) && u <= Math.max(le, J) ? 0 : 1 / 0;\n      }\n      var pe = Math.max(3, Z.mrc || 0), ge = 1 - 1 / pe, ve = Math.abs(l.c2p(Z.x) - u);\n      return ve < pe ? ge * ve / pe : ve - pe + ge;\n    }, y = function(Z) {\n      if (m) {\n        var le = s.c2p(Z.yStart), J = s.c2p(Z.yEnd);\n        return f >= Math.min(le, J) && f <= Math.max(le, J) ? 0 : 1 / 0;\n      }\n      var pe = Math.max(3, Z.mrc || 0), ge = 1 - 1 / pe, ve = Math.abs(s.c2p(Z.y) - f);\n      return ve < pe ? ge * ve / pe : ve - pe + ge;\n    }, w = function(Z) {\n      var le = Math.max(p, Z.mrc || 0), J = l.c2p(Z.x) - u, pe = s.c2p(Z.y) - f;\n      return Math.max(Math.sqrt(J * J + pe * pe) - le, 1 - p / le);\n    }, k = aM.getDistanceFunction(a, g, y, w);\n    if (aM.getClosest(i, k, t), t.index !== !1) {\n      var x = i[t.index], _ = l.c2p(x.x, !0), T = s.c2p(x.y, !0), S = x.mrc || 1;\n      t.index = x.i;\n      var M = i[0].t.orientation, L = M && (x.sNorm || x.s), F = M === \"h\" ? L : x.orig_x !== void 0 ? x.orig_x : x.x, $ = M === \"v\" ? L : x.orig_y !== void 0 ? x.orig_y : x.y;\n      return Gh.extendFlat(t, {\n        color: Ure(o, x),\n        x0: _ - S,\n        x1: _ + S,\n        xLabelVal: F,\n        y0: T - S,\n        y1: T + S,\n        yLabelVal: $,\n        spikeDistance: w(x),\n        hovertemplate: o.hovertemplate\n      }), Gre(x, o, t), jre.getComponentMethod(\"errorbars\", \"hoverInfo\")(x, o, t), [t];\n    }\n  }\n  if (h.indexOf(\"fills\") !== -1 && o._polygons) {\n    var I = o._polygons, O = [], G = !1, K = 1 / 0, V = -1 / 0, z = 1 / 0, P = -1 / 0, R, H, B, W, ee, re, ae, Q, ue;\n    for (R = 0; R < I.length; R++)\n      B = I[R], B.contains(d) && (G = !G, O.push(B), z = Math.min(z, B.ymin), P = Math.max(P, B.ymax));\n    if (G) {\n      z = Math.max(z, 0), P = Math.min(P, s._length);\n      var j = (z + P) / 2;\n      for (R = 0; R < O.length; R++)\n        for (W = O[R].pts, H = 1; H < W.length; H++)\n          Q = W[H - 1][1], ue = W[H][1], Q > j != ue >= j && (re = W[H - 1][0], ae = W[H][0], ue - Q && (ee = re + (ae - re) * (j - Q) / (ue - Q), K = Math.min(K, ee), V = Math.max(V, ee)));\n      K = Math.max(K, 0), V = Math.min(V, l._length);\n      var U = Qg.defaultLine;\n      return Qg.opacity(o.fillcolor) ? U = o.fillcolor : Qg.opacity((o.line || {}).color) && (U = o.line.color), Gh.extendFlat(t, {\n        // never let a 2D override 1D type as closest point\n        // also: no spikeDistance, it's not allowed for fills\n        distance: t.maxHoverDistance,\n        x0: K,\n        x1: V,\n        y0: j,\n        y1: j,\n        color: U,\n        hovertemplate: !1\n      }), delete t.index, o.text && !Gh.isArrayOrTypedArray(o.text) ? t.text = String(o.text) : t.text = o.name, [t];\n    }\n  }\n}, iM = Ya, qre = function(t, r) {\n  var n = t.cd, a = t.xaxis, i = t.yaxis, o = [], l = n[0].trace, s, u, f, d, h = !iM.hasMarkers(l) && !iM.hasText(l);\n  if (h) return [];\n  if (r === !1)\n    for (s = 0; s < n.length; s++)\n      n[s].selected = 0;\n  else\n    for (s = 0; s < n.length; s++)\n      u = n[s], f = a.c2p(u.x), d = i.c2p(u.y), u.i !== null && r.contains([f, d], !1, s, t) ? (o.push({\n        pointNumber: u.i,\n        x: a.c2d(u.x),\n        y: i.c2d(u.y)\n      }), u.selected = 1) : u.selected = 0;\n  return o;\n}, yn = {}, e0, oM;\nfunction Wre() {\n  return oM || (oM = 1, e0 = {\n    xaxis: {\n      valType: \"subplotid\",\n      dflt: \"x\",\n      editType: \"calc+clearAxisTypes\",\n      description: [\n        \"Sets a reference between this trace's x coordinates and\",\n        \"a 2D cartesian x axis.\",\n        \"If *x* (the default value), the x coordinates refer to\",\n        \"`layout.xaxis`.\",\n        \"If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.\"\n      ].join(\" \")\n    },\n    yaxis: {\n      valType: \"subplotid\",\n      dflt: \"y\",\n      editType: \"calc+clearAxisTypes\",\n      description: [\n        \"Sets a reference between this trace's y coordinates and\",\n        \"a 2D cartesian y axis.\",\n        \"If *y* (the default value), the y coordinates refer to\",\n        \"`layout.yaxis`.\",\n        \"If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.\"\n      ].join(\" \")\n    }\n  }), e0;\n}\nvar t0, lM;\nfunction Zre() {\n  if (lM) return t0;\n  lM = 1;\n  var e = Nt.traceIs, t = P4;\n  t0 = function(l, s, u, f) {\n    u(\"autotypenumbers\", f.autotypenumbersDflt);\n    var d = u(\"type\", (f.splomStash || {}).type);\n    d === \"-\" && (r(s, f.data), s.type === \"-\" ? s.type = \"linear\" : l.type = s.type);\n  };\n  function r(o, l) {\n    if (o.type === \"-\") {\n      var s = o._id, u = s.charAt(0), f;\n      s.indexOf(\"scene\") !== -1 && (s = u);\n      var d = n(l, s, u);\n      if (d) {\n        if (d.type === \"histogram\" && u === { v: \"y\", h: \"x\" }[d.orientation || \"v\"]) {\n          o.type = \"linear\";\n          return;\n        }\n        var h = u + \"calendar\", p = d[h], v = { noMultiCategory: !e(d, \"cartesian\") || e(d, \"noMultiCategory\") };\n        if (d.type === \"box\" && d._hasPreCompStats && u === { h: \"x\", v: \"y\" }[d.orientation || \"v\"] && (v.noMultiCategory = !0), v.autotypenumbers = o.autotypenumbers, i(d, u)) {\n          var m = a(d), g = [];\n          for (f = 0; f < l.length; f++) {\n            var y = l[f];\n            !e(y, \"box-violin\") || (y[u + \"axis\"] || u) !== s || (y[m] !== void 0 ? g.push(y[m][0]) : y.name !== void 0 ? g.push(y.name) : g.push(\"text\"), y[h] !== p && (p = void 0));\n          }\n          o.type = t(g, p, v);\n        } else if (d.type === \"splom\") {\n          var w = d.dimensions, k = w[d._axesDim[s]];\n          k.visible && (o.type = t(k.values, p, v));\n        } else\n          o.type = t(d[u] || [d[u + \"0\"]], p, v);\n      }\n    }\n  }\n  function n(o, l, s) {\n    for (var u = 0; u < o.length; u++) {\n      var f = o[u];\n      if (f.type === \"splom\" && f._length > 0 && (f[\"_\" + s + \"axes\"] || {})[l])\n        return f;\n      if ((f[s + \"axis\"] || s) === l) {\n        if (i(f, s))\n          return f;\n        if ((f[s] || []).length || f[s + \"0\"])\n          return f;\n      }\n    }\n  }\n  function a(o) {\n    return { v: \"x\", h: \"y\" }[o.orientation || \"v\"];\n  }\n  function i(o, l) {\n    var s = a(o), u = e(o, \"box-violin\"), f = e(o._fullInput || {}, \"candlestick\");\n    return u && !f && l === s && o[s] === void 0 && o[s + \"0\"] === void 0;\n  }\n  return t0;\n}\nvar Yre = an.isTypedArraySpec;\nfunction Xre(e, t) {\n  var r = t.dataAttr || e._id.charAt(0), n = {}, a, i, o;\n  if (t.axData)\n    a = t.axData;\n  else\n    for (a = [], i = 0; i < t.data.length; i++) {\n      var l = t.data[i];\n      l[r + \"axis\"] === e._id && a.push(l);\n    }\n  for (i = 0; i < a.length; i++) {\n    var s = a[i][r];\n    for (o = 0; o < s.length; o++) {\n      var u = s[o];\n      u != null && (n[u] = 1);\n    }\n  }\n  return Object.keys(n);\n}\nvar Kre = function(t, r, n, a) {\n  if (r.type === \"category\") {\n    var i = t.categoryarray, o = Array.isArray(i) && i.length > 0 || Yre(i), l;\n    o && (l = \"array\");\n    var s = n(\"categoryorder\", l), u;\n    s === \"array\" && (u = n(\"categoryarray\")), !o && s === \"array\" && (s = r.categoryorder = \"trace\"), s === \"trace\" ? r._initialCategories = [] : s === \"array\" ? r._initialCategories = u.slice() : (u = Xre(r, a).sort(), s === \"category ascending\" ? r._initialCategories = u : s === \"category descending\" && (r._initialCategories = u.reverse()));\n  }\n}, sM = bi.mix, Jre = da, Qre = Ue, ene = function(t, r, n, a) {\n  a = a || {};\n  var i = a.dfltColor;\n  function o(S, M) {\n    return Qre.coerce2(t, r, a.attributes, S, M);\n  }\n  var l = o(\"linecolor\", i), s = o(\"linewidth\"), u = n(\"showline\", a.showLine || !!l || !!s);\n  u || (delete r.linecolor, delete r.linewidth);\n  var f = sM(i, a.bgColor, a.blend || Jre.lightFraction).toRgbString(), d = o(\"gridcolor\", f), h = o(\"gridwidth\"), p = o(\"griddash\"), v = n(\n    \"showgrid\",\n    a.showGrid || !!d || !!h || !!p\n  );\n  if (v || (delete r.gridcolor, delete r.gridwidth, delete r.griddash), a.hasMinor) {\n    var m = sM(r.gridcolor, a.bgColor, 67).toRgbString(), g = o(\"minor.gridcolor\", m), y = o(\"minor.gridwidth\", r.gridwidth || 1), w = o(\"minor.griddash\", r.griddash || \"solid\"), k = n(\n      \"minor.showgrid\",\n      !!g || !!y || !!w\n    );\n    k || (delete r.minor.gridcolor, delete r.minor.gridwidth, delete r.minor.griddash);\n  }\n  if (!a.noZeroLine) {\n    var x = o(\"zerolinecolor\", i), _ = o(\"zerolinewidth\"), T = n(\"zeroline\", a.showGrid || !!x || !!_);\n    T || (delete r.zerolinecolor, delete r.zerolinewidth);\n  }\n}, uM = sr, tne = Nt, Xf = Ue, rne = Mr, nne = Ji, Wy = Ki, fM = p4, cM = m4, ane = b4, ine = _4, one = Kre, lne = ene, sne = Y4, dM = yb, Vh = Yn.WEEKDAY_PATTERN, une = Yn.HOUR_PATTERN, n6 = function(t, r, n, a, i) {\n  var o = a.letter, l = a.font || {}, s = a.splomStash || {}, u = n(\"visible\", !a.visibleDflt), f = r._template || {}, d = r.type || f.type || \"-\", h;\n  if (d === \"date\") {\n    var p = tne.getComponentMethod(\"calendars\", \"handleDefaults\");\n    p(t, r, \"calendar\", a.calendar), a.noTicklabelmode || (h = n(\"ticklabelmode\"));\n  }\n  var v = \"\";\n  (!a.noTicklabelposition || d === \"multicategory\") && (v = Xf.coerce(t, r, {\n    ticklabelposition: {\n      valType: \"enumerated\",\n      dflt: \"outside\",\n      values: h === \"period\" ? [\"outside\", \"inside\"] : o === \"x\" ? [\n        \"outside\",\n        \"inside\",\n        \"outside left\",\n        \"inside left\",\n        \"outside right\",\n        \"inside right\"\n      ] : [\n        \"outside\",\n        \"inside\",\n        \"outside top\",\n        \"inside top\",\n        \"outside bottom\",\n        \"inside bottom\"\n      ]\n    }\n  }, \"ticklabelposition\")), a.noTicklabeloverflow || n(\n    \"ticklabeloverflow\",\n    v.indexOf(\"inside\") !== -1 ? \"hide past domain\" : d === \"category\" || d === \"multicategory\" ? \"allow\" : \"hide past div\"\n  ), dM(r, i), sne(t, r, n, a), one(t, r, n, a), d !== \"category\" && !a.noHover && n(\"hoverformat\");\n  var m = n(\"color\"), g = m !== Wy.color.dflt ? m : l.color, y = s.label || i._dfltTitle[o];\n  if (ine(t, r, n, d, a), !u) return r;\n  n(\"title.text\", y), Xf.coerceFont(n, \"title.font\", {\n    family: l.family,\n    size: Xf.bigFont(l.size),\n    color: g\n  }), fM(t, r, n, d);\n  var w = a.hasMinor;\n  if (w && (rne.newContainer(r, \"minor\"), fM(t, r, n, d, { isMinor: !0 })), ane(t, r, n, d, a), cM(t, r, n, a), w) {\n    var k = a.isMinor;\n    a.isMinor = !0, cM(t, r, n, a), a.isMinor = k;\n  }\n  lne(t, r, n, {\n    dfltColor: m,\n    bgColor: a.bgColor,\n    showGrid: a.showGrid,\n    hasMinor: w,\n    attributes: Wy\n  }), w && !r.minor.ticks && !r.minor.showgrid && delete r.minor, (r.showline || r.ticks) && n(\"mirror\");\n  var x = d === \"multicategory\";\n  if (!a.noTickson && (d === \"category\" || x) && (r.ticks || r.showgrid)) {\n    var _;\n    x && (_ = \"boundaries\");\n    var T = n(\"tickson\", _);\n    T === \"boundaries\" && delete r.ticklabelposition;\n  }\n  if (x) {\n    var S = n(\"showdividers\");\n    S && (n(\"dividercolor\"), n(\"dividerwidth\"));\n  }\n  if (d === \"date\")\n    if (nne(t, r, {\n      name: \"rangebreaks\",\n      inclusionAttr: \"enabled\",\n      handleItemDefaults: fne\n    }), !r.rangebreaks.length)\n      delete r.rangebreaks;\n    else {\n      for (var M = 0; M < r.rangebreaks.length; M++)\n        if (r.rangebreaks[M].pattern === Vh) {\n          r._hasDayOfWeekBreaks = !0;\n          break;\n        }\n      if (dM(r, i), i._has(\"scattergl\") || i._has(\"splom\"))\n        for (var L = 0; L < a.data.length; L++) {\n          var F = a.data[L];\n          (F.type === \"scattergl\" || F.type === \"splom\") && (F.visible = !1, Xf.warn(F.type + \" traces do not work on axes with rangebreaks. Setting trace \" + F.index + \" to `visible: false`.\"));\n        }\n    }\n  return r;\n};\nfunction fne(e, t, r) {\n  function n(h, p) {\n    return Xf.coerce(e, t, Wy.rangebreaks, h, p);\n  }\n  var a = n(\"enabled\");\n  if (a) {\n    var i = n(\"bounds\");\n    if (i && i.length >= 2) {\n      var o = \"\", l, s;\n      if (i.length === 2) {\n        for (l = 0; l < 2; l++)\n          if (s = hM(i[l]), s) {\n            o = Vh;\n            break;\n          }\n      }\n      var u = n(\"pattern\", o);\n      if (u === Vh)\n        for (l = 0; l < 2; l++)\n          s = hM(i[l]), s && (t.bounds[l] = i[l] = s - 1);\n      if (u)\n        for (l = 0; l < 2; l++)\n          switch (s = i[l], u) {\n            case Vh:\n              if (!uM(s)) {\n                t.enabled = !1;\n                return;\n              }\n              if (s = +s, s !== Math.floor(s) || // don't accept fractional days for mow\n              s < 0 || s >= 7) {\n                t.enabled = !1;\n                return;\n              }\n              t.bounds[l] = i[l] = s;\n              break;\n            case une:\n              if (!uM(s)) {\n                t.enabled = !1;\n                return;\n              }\n              if (s = +s, s < 0 || s > 24) {\n                t.enabled = !1;\n                return;\n              }\n              t.bounds[l] = i[l] = s;\n              break;\n          }\n      if (r.autorange === !1) {\n        var f = r.range;\n        if (f[0] < f[1]) {\n          if (i[0] < f[0] && i[1] > f[1]) {\n            t.enabled = !1;\n            return;\n          }\n        } else if (i[0] > f[0] && i[1] < f[1]) {\n          t.enabled = !1;\n          return;\n        }\n      }\n    } else {\n      var d = n(\"values\");\n      if (d && d.length)\n        n(\"dvalue\");\n      else {\n        t.enabled = !1;\n        return;\n      }\n    }\n  }\n}\nvar cne = {\n  sun: 1,\n  mon: 2,\n  tue: 3,\n  wed: 4,\n  thu: 5,\n  fri: 6,\n  sat: 7\n};\nfunction hM(e) {\n  if (typeof e == \"string\")\n    return cne[e.substr(0, 3).toLowerCase()];\n}\nvar dne = sr, yh = Ue, a6 = function(t, r, n, a) {\n  var i = a.counterAxes || [], o = a.overlayableAxes || [], l = a.letter, s = a.grid, u = a.overlayingDomain, f, d, h, p, v, m;\n  s && (d = s._domains[l][s._axisMap[r._id]], f = s._anchors[r._id], d && (h = s[l + \"side\"].split(\" \")[0], p = s.domain[l][h === \"right\" || h === \"top\" ? 1 : 0])), d = d || [0, 1], f = f || (dne(t.position) ? \"free\" : i[0] || \"free\"), h = h || (l === \"x\" ? \"bottom\" : \"left\"), p = p || 0, v = 0, m = !1;\n  var g = yh.coerce(t, r, {\n    anchor: {\n      valType: \"enumerated\",\n      values: [\"free\"].concat(i),\n      dflt: f\n    }\n  }, \"anchor\"), y = yh.coerce(t, r, {\n    side: {\n      valType: \"enumerated\",\n      values: l === \"x\" ? [\"bottom\", \"top\"] : [\"left\", \"right\"],\n      dflt: h\n    }\n  }, \"side\");\n  if (g === \"free\") {\n    if (l === \"y\") {\n      var w = n(\"autoshift\");\n      w && (p = y === \"left\" ? u[0] : u[1], m = r.automargin ? r.automargin : !0, v = y === \"left\" ? -3 : 3), n(\"shift\", v);\n    }\n    n(\"position\", p);\n  }\n  n(\"automargin\", m);\n  var k = !1;\n  if (o.length && (k = yh.coerce(t, r, {\n    overlaying: {\n      valType: \"enumerated\",\n      values: [!1].concat(o),\n      dflt: !1\n    }\n  }, \"overlaying\")), !k) {\n    var x = n(\"domain\", d);\n    x[0] > x[1] - 1 / 4096 && (r.domain = d), yh.noneOrAll(t.domain, r.domain, d), r.tickmode === \"sync\" && (r.tickmode = \"auto\");\n  }\n  return n(\"layer\"), r;\n}, r0, vM;\nfunction hne() {\n  if (vM) return r0;\n  vM = 1;\n  var e = Ue, t = nr, r = Do.isUnifiedHover, n = pD, a = Mr, i = Xc, o = Ki, l = Zre(), s = n6, u = wl, f = a6, d = gn, h = d.id2name, p = d.name2id, v = Yn.AX_ID_PATTERN, m = Nt, g = m.traceIs, y = m.getComponentMethod;\n  function w(k, x, _) {\n    Array.isArray(k[x]) ? k[x].push(_) : k[x] = [_];\n  }\n  return r0 = function(x, _, T) {\n    var S = _.autotypenumbers, M = {}, L = {}, F = {}, $ = {}, I = {}, O = {}, G = {}, K = {}, V = {}, z = {}, P, R;\n    for (P = 0; P < T.length; P++) {\n      var H = T[P];\n      if (!(!g(H, \"cartesian\") && !g(H, \"gl2d\"))) {\n        var B;\n        if (H.xaxis)\n          B = h(H.xaxis), w(M, B, H);\n        else if (H.xaxes)\n          for (R = 0; R < H.xaxes.length; R++)\n            w(M, h(H.xaxes[R]), H);\n        var W;\n        if (H.yaxis)\n          W = h(H.yaxis), w(M, W, H);\n        else if (H.yaxes)\n          for (R = 0; R < H.yaxes.length; R++)\n            w(M, h(H.yaxes[R]), H);\n        if (H.type === \"funnel\" ? H.orientation === \"h\" ? (B && (L[B] = !0), W && (G[W] = !0)) : W && (F[W] = !0) : H.type === \"image\" ? (W && (K[W] = !0), B && (K[B] = !0)) : (W && (I[W] = !0, O[W] = !0), (!g(H, \"carpet\") || H.type === \"carpet\" && !H._cheater) && B && ($[B] = !0)), H.type === \"carpet\" && H._cheater && B && (L[B] = !0), g(H, \"2dMap\") && (V[B] = !0, V[W] = !0), g(H, \"oriented\")) {\n          var ee = H.orientation === \"h\" ? W : B;\n          z[ee] = !0;\n        }\n      }\n    }\n    var re = _._subplots, ae = re.xaxis, Q = re.yaxis, ue = e.simpleMap(ae, h), j = e.simpleMap(Q, h), U = ue.concat(j), Z = t.background;\n    ae.length && Q.length && (Z = e.coerce(x, _, i, \"plot_bgcolor\"));\n    var le = t.combine(Z, _.paper_bgcolor), J, pe, ge, ve, me;\n    function Le() {\n      var ct = M[J] || [];\n      me._traceIndices = ct.map(function(X) {\n        return X._expandedIndex;\n      }), me._annIndices = [], me._shapeIndices = [], me._selectionIndices = [], me._imgIndices = [], me._subplotsWith = [], me._counterAxes = [], me._name = me._attr = J, me._id = pe;\n    }\n    function ze(ct, X) {\n      return e.coerce(ve, me, o, ct, X);\n    }\n    function Fe(ct, X) {\n      return e.coerce2(ve, me, o, ct, X);\n    }\n    function Oe(ct) {\n      return ct === \"x\" ? Q : ae;\n    }\n    function Re(ct, X) {\n      for (var se = ct === \"x\" ? ue : j, ie = [], fe = 0; fe < se.length; fe++) {\n        var ke = se[fe];\n        ke !== X && !(x[ke] || {}).overlaying && ie.push(p(ke));\n      }\n      return ie;\n    }\n    var We = { x: Oe(\"x\"), y: Oe(\"y\") }, Me = We.x.concat(We.y), Ve = {}, qe = [];\n    function Qe() {\n      var ct = ve.matches;\n      v.test(ct) && Me.indexOf(ct) === -1 && (Ve[ct] = ve.type, qe = Object.keys(Ve));\n    }\n    var ot = n(x, _), ht = r(ot);\n    for (P = 0; P < U.length; P++) {\n      J = U[P], pe = p(J), ge = J.charAt(0), e.isPlainObject(x[J]) || (x[J] = {}), ve = x[J], me = a.newContainer(_, J, ge + \"axis\"), Le();\n      var vt = ge === \"x\" && !$[J] && L[J] || ge === \"y\" && !I[J] && F[J], nt = ge === \"y\" && (!O[J] && G[J] || K[J]), ft = {\n        hasMinor: !0,\n        letter: ge,\n        font: _.font,\n        outerTicks: V[J],\n        showGrid: !z[J],\n        data: M[J] || [],\n        bgColor: le,\n        calendar: _.calendar,\n        automargin: !0,\n        visibleDflt: vt,\n        reverseDflt: nt,\n        autotypenumbersDflt: S,\n        splomStash: ((_._splomAxes || {})[ge] || {})[pe]\n      };\n      ze(\"uirevision\", _.uirevision), l(ve, me, ze, ft), s(ve, me, ze, ft, _);\n      var Pe = ht && ge === ot.charAt(0), Ie = Fe(\"spikecolor\", ht ? me.color : void 0), Ne = Fe(\"spikethickness\", ht ? 1.5 : void 0), tt = Fe(\"spikedash\", ht ? \"dot\" : void 0), Je = Fe(\"spikemode\", ht ? \"across\" : void 0), it = Fe(\"spikesnap\"), at = ze(\"showspikes\", !!Pe || !!Ie || !!Ne || !!tt || !!Je || !!it);\n      at || (delete me.spikecolor, delete me.spikethickness, delete me.spikedash, delete me.spikemode, delete me.spikesnap);\n      var Tt = h(ve.overlaying), gt = [0, 1];\n      if (_[Tt] !== void 0) {\n        var He = h(_[Tt].anchor);\n        _[He] !== void 0 && (gt = _[He].domain);\n      }\n      f(ve, me, ze, {\n        letter: ge,\n        counterAxes: We[ge],\n        overlayableAxes: Re(ge, J),\n        grid: _.grid,\n        overlayingDomain: gt\n      }), ze(\"title.standoff\"), Qe(), me._input = ve;\n    }\n    for (P = 0; P < qe.length; ) {\n      pe = qe[P++], J = h(pe), ge = J.charAt(0), e.isPlainObject(x[J]) || (x[J] = {}), ve = x[J], me = a.newContainer(_, J, ge + \"axis\"), Le();\n      var pt = {\n        letter: ge,\n        font: _.font,\n        outerTicks: V[J],\n        showGrid: !z[J],\n        data: [],\n        bgColor: le,\n        calendar: _.calendar,\n        automargin: !0,\n        visibleDflt: !1,\n        reverseDflt: !1,\n        autotypenumbersDflt: S,\n        splomStash: ((_._splomAxes || {})[ge] || {})[pe]\n      };\n      ze(\"uirevision\", _.uirevision), me.type = Ve[pe] || \"linear\", s(ve, me, ze, pt, _), f(ve, me, ze, {\n        letter: ge,\n        counterAxes: We[ge],\n        overlayableAxes: Re(ge, J),\n        grid: _.grid\n      }), ze(\"fixedrange\"), Qe(), me._input = ve;\n    }\n    var bt = y(\"rangeslider\", \"handleDefaults\"), Ke = y(\"rangeselector\", \"handleDefaults\");\n    for (P = 0; P < ue.length; P++)\n      J = ue[P], ve = x[J], me = _[J], bt(x, _, J), me.type === \"date\" && Ke(\n        ve,\n        me,\n        _,\n        j,\n        me.calendar\n      ), ze(\"fixedrange\");\n    for (P = 0; P < j.length; P++) {\n      J = j[P], ve = x[J], me = _[J];\n      var st = _[h(me.anchor)], rt = y(\"rangeslider\", \"isVisible\")(st);\n      ze(\"fixedrange\", rt);\n    }\n    u.handleDefaults(x, _, {\n      axIds: Me.concat(qe).sort(d.idSort),\n      axHasImage: K\n    });\n  }, r0;\n}\nvar n0, pM;\nfunction vne() {\n  if (pM) return n0;\n  pM = 1;\n  var e = lr, t = Nt, r = Ue, n = Sr, a = Cr;\n  return n0 = function(o, l, s, u) {\n    var f = o._fullLayout;\n    if (l.length === 0) {\n      a.redrawComponents(o);\n      return;\n    }\n    function d(_) {\n      var T = _.xaxis, S = _.yaxis;\n      f._defs.select(\"#\" + _.clipId + \"> rect\").call(n.setTranslate, 0, 0).call(n.setScale, 1, 1), _.plot.call(n.setTranslate, T._offset, S._offset).call(n.setScale, 1, 1);\n      var M = _.plot.selectAll(\".scatterlayer .trace\");\n      M.selectAll(\".point\").call(n.setPointGroupScale, 1, 1), M.selectAll(\".textpoint\").call(n.setTextPointsScale, 1, 1), M.call(n.hideOutsideRangePoints, _);\n    }\n    function h(_, T) {\n      var S = _.plotinfo, M = S.xaxis, L = S.yaxis, F = M._length, $ = L._length, I = !!_.xr1, O = !!_.yr1, G = [];\n      if (I) {\n        var K = r.simpleMap(_.xr0, M.r2l), V = r.simpleMap(_.xr1, M.r2l), z = K[1] - K[0], P = V[1] - V[0];\n        G[0] = (K[0] * (1 - T) + T * V[0] - K[0]) / (K[1] - K[0]) * F, G[2] = F * (1 - T + T * P / z), M.range[0] = M.l2r(K[0] * (1 - T) + T * V[0]), M.range[1] = M.l2r(K[1] * (1 - T) + T * V[1]);\n      } else\n        G[0] = 0, G[2] = F;\n      if (O) {\n        var R = r.simpleMap(_.yr0, L.r2l), H = r.simpleMap(_.yr1, L.r2l), B = R[1] - R[0], W = H[1] - H[0];\n        G[1] = (R[1] * (1 - T) + T * H[1] - R[1]) / (R[0] - R[1]) * $, G[3] = $ * (1 - T + T * W / B), L.range[0] = M.l2r(R[0] * (1 - T) + T * H[0]), L.range[1] = L.l2r(R[1] * (1 - T) + T * H[1]);\n      } else\n        G[1] = 0, G[3] = $;\n      a.drawOne(o, M, { skipTitle: !0 }), a.drawOne(o, L, { skipTitle: !0 }), a.redrawComponents(o, [M._id, L._id]);\n      var ee = I ? F / G[2] : 1, re = O ? $ / G[3] : 1, ae = I ? G[0] : 0, Q = O ? G[1] : 0, ue = I ? G[0] / G[2] * F : 0, j = O ? G[1] / G[3] * $ : 0, U = M._offset - ue, Z = L._offset - j;\n      S.clipRect.call(n.setTranslate, ae, Q).call(n.setScale, 1 / ee, 1 / re), S.plot.call(n.setTranslate, U, Z).call(n.setScale, ee, re), n.setPointGroupScale(S.zoomScalePts, 1 / ee, 1 / re), n.setTextPointsScale(S.zoomScaleTxt, 1 / ee, 1 / re);\n    }\n    var p;\n    u && (p = u());\n    function v() {\n      for (var _ = {}, T = 0; T < l.length; T++) {\n        var S = l[T], M = S.plotinfo.xaxis, L = S.plotinfo.yaxis;\n        S.xr1 && (_[M._name + \".range\"] = S.xr1.slice()), S.yr1 && (_[L._name + \".range\"] = S.yr1.slice());\n      }\n      return p && p(), t.call(\"relayout\", o, _).then(function() {\n        for (var F = 0; F < l.length; F++)\n          d(l[F].plotinfo);\n      });\n    }\n    function m() {\n      for (var _ = {}, T = 0; T < l.length; T++) {\n        var S = l[T], M = S.plotinfo.xaxis, L = S.plotinfo.yaxis;\n        S.xr0 && (_[M._name + \".range\"] = S.xr0.slice()), S.yr0 && (_[L._name + \".range\"] = S.yr0.slice());\n      }\n      return t.call(\"relayout\", o, _).then(function() {\n        for (var F = 0; F < l.length; F++)\n          d(l[F].plotinfo);\n      });\n    }\n    var g, y, w, k = e.ease(s.easing);\n    o._transitionData._interruptCallbacks.push(function() {\n      return window.cancelAnimationFrame(w), w = null, m();\n    });\n    function x() {\n      y = Date.now();\n      for (var _ = Math.min(1, (y - g) / s.duration), T = k(_), S = 0; S < l.length; S++)\n        h(l[S], T);\n      y - g > s.duration ? (v(), w = window.cancelAnimationFrame(x)) : w = window.requestAnimationFrame(x);\n    }\n    return g = Date.now(), w = window.requestAnimationFrame(x), Promise.resolve();\n  }, n0;\n}\nvar Xp = lr, mM = Nt, Lv = Ue, pne = Tn, mne = Sr, gM = Kc.getModuleCalcData, nl = gn, ji = Yn, gne = yl, wr = Lv.ensureSingle;\nfunction bh(e, t, r) {\n  return Lv.ensureSingle(e, t, r, function(n) {\n    n.datum(r);\n  });\n}\nyn.name = \"cartesian\";\nyn.attr = [\"xaxis\", \"yaxis\"];\nyn.idRoot = [\"x\", \"y\"];\nyn.idRegex = ji.idRegex;\nyn.attrRegex = ji.attrRegex;\nyn.attributes = Wre();\nyn.layoutAttributes = Ki;\nyn.supplyLayoutDefaults = hne();\nyn.transitionAxes = vne();\nyn.finalizeSubplots = function(e, t) {\n  var r = t._subplots, n = r.xaxis, a = r.yaxis, i = r.cartesian, o = i.concat(r.gl2d || []), l = {}, s = {}, u, f, d;\n  for (u = 0; u < o.length; u++) {\n    var h = o[u].split(\"y\");\n    l[h[0]] = 1, s[\"y\" + h[1]] = 1;\n  }\n  for (u = 0; u < n.length; u++)\n    f = n[u], l[f] || (d = (e[nl.id2name(f)] || {}).anchor, ji.idRegex.y.test(d) || (d = \"y\"), i.push(f + d), o.push(f + d), s[d] || (s[d] = 1, Lv.pushUnique(a, d)));\n  for (u = 0; u < a.length; u++)\n    d = a[u], s[d] || (f = (e[nl.id2name(d)] || {}).anchor, ji.idRegex.x.test(f) || (f = \"x\"), i.push(f + d), o.push(f + d), l[f] || (l[f] = 1, Lv.pushUnique(n, f)));\n  if (!o.length) {\n    f = \"\", d = \"\";\n    for (var p in e)\n      if (ji.attrRegex.test(p)) {\n        var v = p.charAt(0);\n        v === \"x\" ? (!f || +p.substr(5) < +f.substr(5)) && (f = p) : (!d || +p.substr(5) < +d.substr(5)) && (d = p);\n      }\n    f = f ? nl.name2id(f) : \"x\", d = d ? nl.name2id(d) : \"y\", n.push(f), a.push(d), i.push(f + d);\n  }\n};\nyn.plot = function(e, t, r, n) {\n  var a = e._fullLayout, i = a._subplots.cartesian, o = e.calcdata, l;\n  if (!Array.isArray(t))\n    for (t = [], l = 0; l < o.length; l++) t.push(l);\n  for (l = 0; l < i.length; l++) {\n    for (var s = i[l], u = a._plots[s], f = [], d, h = 0; h < o.length; h++) {\n      var p = o[h], v = p[0].trace;\n      v.xaxis + v.yaxis === s && ((t.indexOf(v.index) !== -1 || v.carpet) && (d && d[0].trace.xaxis + d[0].trace.yaxis === s && [\"tonextx\", \"tonexty\", \"tonext\"].indexOf(v.fill) !== -1 && f.indexOf(d) === -1 && f.push(d), f.push(p)), d = p);\n    }\n    i6(e, u, f, r, n);\n  }\n};\nfunction i6(e, t, r, n, a) {\n  for (var i = ji.traceLayerClasses, o = e._fullLayout, l = o._modules, s, u, f, d = [], h = [], p = 0; p < l.length; p++) {\n    s = l[p];\n    var v = s.name, m = mM.modules[v].categories;\n    if (m.svg) {\n      var g = s.layerName || v + \"layer\", y = s.plot;\n      u = gM(r, y), f = u[0], r = u[1], f.length && d.push({\n        i: i.indexOf(g),\n        className: g,\n        plotMethod: y,\n        cdModule: f\n      }), m.zoomScale && h.push(\".\" + g);\n    }\n  }\n  d.sort(function(x, _) {\n    return x.i - _.i;\n  });\n  var w = t.plot.selectAll(\"g.mlayer\").data(d, function(x) {\n    return x.className;\n  });\n  if (w.enter().append(\"g\").attr(\"class\", function(x) {\n    return x.className;\n  }).classed(\"mlayer\", !0).classed(\"rangeplot\", t.isRangePlot), w.exit().remove(), w.order(), w.each(function(x) {\n    var _ = Xp.select(this), T = x.className;\n    x.plotMethod(\n      e,\n      t,\n      x.cdModule,\n      _,\n      n,\n      a\n    ), ji.clipOnAxisFalseQuery.indexOf(\".\" + T) === -1 && mne.setClipUrl(_, t.layerClipId, e);\n  }), o._has(\"scattergl\") && (s = mM.getModule(\"scattergl\"), f = gM(r, s)[0], s.plot(e, t, f)), !e._context.staticPlot && (t._hasClipOnAxisFalse && (t.clipOnAxisFalseTraces = t.plot.selectAll(ji.clipOnAxisFalseQuery.join(\",\")).selectAll(\".trace\")), h.length)) {\n    var k = t.plot.selectAll(h.join(\",\")).selectAll(\".trace\");\n    t.zoomScalePts = k.selectAll(\"path.point\"), t.zoomScaleTxt = k.selectAll(\".textpoint\");\n  }\n}\nyn.clean = function(e, t, r, n) {\n  var a = n._plots || {}, i = t._plots || {}, o = n._subplots || {}, l, s, u;\n  if (n._hasOnlyLargeSploms && !t._hasOnlyLargeSploms)\n    for (u in a)\n      l = a[u], l.plotgroup && l.plotgroup.remove();\n  var f = n._has && n._has(\"gl\"), d = t._has && t._has(\"gl\");\n  if (f && !d)\n    for (u in a)\n      l = a[u], l._scene && l._scene.destroy();\n  if (o.xaxis && o.yaxis) {\n    var h = nl.listIds({ _fullLayout: n });\n    for (s = 0; s < h.length; s++) {\n      var p = h[s];\n      t[nl.id2name(p)] || n._infolayer.selectAll(\".g-\" + p + \"title\").remove();\n    }\n  }\n  var v = n._has && n._has(\"cartesian\"), m = t._has && t._has(\"cartesian\");\n  if (v && !m)\n    l6(n._cartesianlayer.selectAll(\".subplot\"), n), n._defs.selectAll(\".axesclip\").remove(), delete n._axisConstraintGroups, delete n._axisMatchGroups;\n  else if (o.cartesian)\n    for (s = 0; s < o.cartesian.length; s++) {\n      var g = o.cartesian[s];\n      if (!i[g]) {\n        var y = \".\" + g + \",.\" + g + \"-x,.\" + g + \"-y\";\n        n._cartesianlayer.selectAll(y).remove(), s6(g, n);\n      }\n    }\n};\nyn.drawFramework = function(e) {\n  var t = e._fullLayout, r = yne(e), n = t._cartesianlayer.selectAll(\".subplot\").data(r, String);\n  n.enter().append(\"g\").attr(\"class\", function(a) {\n    return \"subplot \" + a[0];\n  }), n.order(), n.exit().call(l6, t), n.each(function(a) {\n    var i = a[0], o = t._plots[i];\n    o.plotgroup = Xp.select(this), o6(e, o), o.draglayer = wr(t._draggers, \"g\", i);\n  });\n};\nyn.rangePlot = function(e, t, r) {\n  o6(e, t), i6(e, t, r), pne.style(e);\n};\nfunction yne(e) {\n  var t = e._fullLayout, r = t._subplots.cartesian, n = r.length, a, i, o, l, s, u, f = [], d = [];\n  for (a = 0; a < n; a++) {\n    o = r[a], l = t._plots[o], s = l.xaxis, u = l.yaxis;\n    var h = s._mainAxis, p = u._mainAxis, v = h._id + p._id, m = t._plots[v];\n    l.overlays = [], v !== o && m ? (l.mainplot = v, l.mainplotinfo = m, d.push(o)) : (l.mainplot = void 0, l.mainplotinfo = void 0, f.push(o));\n  }\n  for (a = 0; a < d.length; a++)\n    o = d[a], l = t._plots[o], l.mainplotinfo.overlays.push(l);\n  var g = f.concat(d), y = new Array(n);\n  for (a = 0; a < n; a++) {\n    o = g[a], l = t._plots[o], s = l.xaxis, u = l.yaxis;\n    var w = [o, s.layer, u.layer, s.overlaying || \"\", u.overlaying || \"\"];\n    for (i = 0; i < l.overlays.length; i++)\n      w.push(l.overlays[i].id);\n    y[a] = w;\n  }\n  return y;\n}\nfunction o6(e, t) {\n  var r = t.plotgroup, n = t.id, a = ji.layerValue2layerClass[t.xaxis.layer], i = ji.layerValue2layerClass[t.yaxis.layer], o = e._fullLayout._hasOnlyLargeSploms;\n  if (t.mainplot) {\n    var s = t.mainplotinfo, u = s.plotgroup, f = n + \"-x\", d = n + \"-y\";\n    t.minorGridlayer = s.minorGridlayer, t.gridlayer = s.gridlayer, t.zerolinelayer = s.zerolinelayer, wr(s.overlinesBelow, \"path\", f), wr(s.overlinesBelow, \"path\", d), wr(s.overaxesBelow, \"g\", f), wr(s.overaxesBelow, \"g\", d), t.plot = wr(s.overplot, \"g\", n), wr(s.overlinesAbove, \"path\", f), wr(s.overlinesAbove, \"path\", d), wr(s.overaxesAbove, \"g\", f), wr(s.overaxesAbove, \"g\", d), t.xlines = u.select(\".overlines-\" + a).select(\".\" + f), t.ylines = u.select(\".overlines-\" + i).select(\".\" + d), t.xaxislayer = u.select(\".overaxes-\" + a).select(\".\" + f), t.yaxislayer = u.select(\".overaxes-\" + i).select(\".\" + d);\n  } else if (o)\n    t.xlines = wr(r, \"path\", \"xlines-above\"), t.ylines = wr(r, \"path\", \"ylines-above\"), t.xaxislayer = wr(r, \"g\", \"xaxislayer-above\"), t.yaxislayer = wr(r, \"g\", \"yaxislayer-above\");\n  else {\n    var l = wr(r, \"g\", \"layer-subplot\");\n    t.shapelayer = wr(l, \"g\", \"shapelayer\"), t.imagelayer = wr(l, \"g\", \"imagelayer\"), t.minorGridlayer = wr(r, \"g\", \"minor-gridlayer\"), t.gridlayer = wr(r, \"g\", \"gridlayer\"), t.zerolinelayer = wr(r, \"g\", \"zerolinelayer\"), wr(r, \"path\", \"xlines-below\"), wr(r, \"path\", \"ylines-below\"), t.overlinesBelow = wr(r, \"g\", \"overlines-below\"), wr(r, \"g\", \"xaxislayer-below\"), wr(r, \"g\", \"yaxislayer-below\"), t.overaxesBelow = wr(r, \"g\", \"overaxes-below\"), t.plot = wr(r, \"g\", \"plot\"), t.overplot = wr(r, \"g\", \"overplot\"), t.xlines = wr(r, \"path\", \"xlines-above\"), t.ylines = wr(r, \"path\", \"ylines-above\"), t.overlinesAbove = wr(r, \"g\", \"overlines-above\"), wr(r, \"g\", \"xaxislayer-above\"), wr(r, \"g\", \"yaxislayer-above\"), t.overaxesAbove = wr(r, \"g\", \"overaxes-above\"), t.xlines = r.select(\".xlines-\" + a), t.ylines = r.select(\".ylines-\" + i), t.xaxislayer = r.select(\".xaxislayer-\" + a), t.yaxislayer = r.select(\".yaxislayer-\" + i);\n  }\n  o || (bh(t.minorGridlayer, \"g\", t.xaxis._id), bh(t.minorGridlayer, \"g\", t.yaxis._id), t.minorGridlayer.selectAll(\"g\").map(function(h) {\n    return h[0];\n  }).sort(nl.idSort), bh(t.gridlayer, \"g\", t.xaxis._id), bh(t.gridlayer, \"g\", t.yaxis._id), t.gridlayer.selectAll(\"g\").map(function(h) {\n    return h[0];\n  }).sort(nl.idSort)), t.xlines.style(\"fill\", \"none\").classed(\"crisp\", !0), t.ylines.style(\"fill\", \"none\").classed(\"crisp\", !0);\n}\nfunction l6(e, t) {\n  if (e) {\n    var r = {};\n    e.each(function(s) {\n      var u = s[0], f = Xp.select(this);\n      f.remove(), s6(u, t), r[u] = !0;\n    });\n    for (var n in t._plots)\n      for (var a = t._plots[n], i = a.overlays || [], o = 0; o < i.length; o++) {\n        var l = i[o];\n        r[l.id] && l.plot.selectAll(\".trace\").remove();\n      }\n  }\n}\nfunction s6(e, t) {\n  t._draggers.selectAll(\"g.\" + e).remove(), t._defs.select(\"#clip\" + t._uid + e + \"plot\").remove();\n}\nyn.toSVG = function(e) {\n  var t = e._fullLayout._glimages, r = Xp.select(e).selectAll(\".svg-container\"), n = r.filter(function(i, o) {\n    return o === r.size() - 1;\n  }).selectAll(\".gl-canvas-context, .gl-canvas-focus\");\n  function a() {\n    var i = this, o = i.toDataURL(\"image/png\"), l = t.append(\"svg:image\");\n    l.attr({\n      xmlns: gne.svg,\n      \"xlink:href\": o,\n      preserveAspectRatio: \"none\",\n      x: 0,\n      y: 0,\n      width: i.style.width,\n      height: i.style.height\n    });\n  }\n  n.each(a);\n};\nyn.updateFx = Mb.updateFx;\nvar _h = Ya, u6 = {\n  hasLines: _h.hasLines,\n  hasMarkers: _h.hasMarkers,\n  hasText: _h.hasText,\n  isBubble: _h.isBubble,\n  attributes: ws,\n  layoutAttributes: ub,\n  supplyDefaults: Wte,\n  crossTraceDefaults: Jte,\n  supplyLayoutDefaults: tre,\n  calc: GE.calc,\n  crossTraceCalc: kre,\n  arraysToCalcdata: NE,\n  plot: Pre,\n  colorbar: t6,\n  formatLabels: r6,\n  style: nM.style,\n  styleOnSelect: nM.styleOnSelect,\n  hoverPoints: Vre,\n  selectPoints: qre,\n  animatable: !0,\n  moduleType: \"trace\",\n  name: \"scatter\",\n  basePlotModule: yn,\n  categories: [\n    \"cartesian\",\n    \"svg\",\n    \"symbols\",\n    \"errorBarsOK\",\n    \"showLegend\",\n    \"scatter-like\",\n    \"zoomScale\"\n  ],\n  meta: {\n    description: [\n      \"The scatter trace type encompasses line charts, scatter charts, text charts, and bubble charts.\",\n      \"The data visualized as scatter point or lines is set in `x` and `y`.\",\n      \"Text (appearing either on the chart or on hover only) is via `text`.\",\n      \"Bubble charts are achieved by setting `marker.size` and/or `marker.color`\",\n      \"to numerical arrays.\"\n    ].join(\" \")\n  }\n}, bne = lr, _ne = nr, yM = hE, c_ = Ue, xne = c_.strScale, wne = c_.strRotate, Tne = c_.strTranslate, kne = function(t, r, n) {\n  var a = t.node(), i = yM[n.arrowhead || 0], o = yM[n.startarrowhead || 0], l = (n.arrowwidth || 1) * (n.arrowsize || 1), s = (n.arrowwidth || 1) * (n.startarrowsize || 1), u = r.indexOf(\"start\") >= 0, f = r.indexOf(\"end\") >= 0, d = i.backoff * l + n.standoff, h = o.backoff * s + n.startstandoff, p, v, m, g;\n  if (a.nodeName === \"line\") {\n    p = { x: +t.attr(\"x1\"), y: +t.attr(\"y1\") }, v = { x: +t.attr(\"x2\"), y: +t.attr(\"y2\") };\n    var y = p.x - v.x, w = p.y - v.y;\n    if (m = Math.atan2(w, y), g = m + Math.PI, d && h && d + h > Math.sqrt(y * y + w * w)) {\n      G();\n      return;\n    }\n    if (d) {\n      if (d * d > y * y + w * w) {\n        G();\n        return;\n      }\n      var k = d * Math.cos(m), x = d * Math.sin(m);\n      v.x += k, v.y += x, t.attr({ x2: v.x, y2: v.y });\n    }\n    if (h) {\n      if (h * h > y * y + w * w) {\n        G();\n        return;\n      }\n      var _ = h * Math.cos(m), T = h * Math.sin(m);\n      p.x -= _, p.y -= T, t.attr({ x1: p.x, y1: p.y });\n    }\n  } else if (a.nodeName === \"path\") {\n    var S = a.getTotalLength(), M = \"\";\n    if (S < d + h) {\n      G();\n      return;\n    }\n    var L = a.getPointAtLength(0), F = a.getPointAtLength(0.1);\n    m = Math.atan2(L.y - F.y, L.x - F.x), p = a.getPointAtLength(Math.min(h, S)), M = \"0px,\" + h + \"px,\";\n    var $ = a.getPointAtLength(S), I = a.getPointAtLength(S - 0.1);\n    g = Math.atan2($.y - I.y, $.x - I.x), v = a.getPointAtLength(Math.max(0, S - d));\n    var O = M ? h + d : d;\n    M += S - O + \"px,\" + S + \"px\", t.style(\"stroke-dasharray\", M);\n  }\n  function G() {\n    t.style(\"stroke-dasharray\", \"0px,100px\");\n  }\n  function K(V, z, P, R) {\n    V.path && (V.noRotate && (P = 0), bne.select(a.parentNode).append(\"path\").attr({\n      class: t.attr(\"class\"),\n      d: V.path,\n      transform: Tne(z.x, z.y) + wne(P * 180 / Math.PI) + xne(R)\n    }).style({\n      fill: _ne.rgb(n.arrowcolor),\n      \"stroke-width\": 0\n    }));\n  }\n  u && K(o, p, m, s), f && K(i, v, g, l);\n}, bM = lr, a0 = Nt, Ane = Tn, Vo = Ue, i0 = Vo.strTranslate, $c = Cr, Rl = nr, oo = Sr, _M = Ao, o0 = Rn, l0 = xs, Uf = Qi, Mne = Mr.arrayEditor, Sne = kne, d_ = {\n  draw: Cne,\n  drawOne: f6,\n  drawRaw: c6\n};\nfunction Cne(e) {\n  var t = e._fullLayout;\n  t._infolayer.selectAll(\".annotation\").remove();\n  for (var r = 0; r < t.annotations.length; r++)\n    t.annotations[r].visible && f6(e, r);\n  return Ane.previousPromises(e);\n}\nfunction f6(e, t) {\n  var r = e._fullLayout, n = r.annotations[t] || {}, a = $c.getFromId(e, n.xref), i = $c.getFromId(e, n.yref);\n  a && a.setScale(), i && i.setScale(), c6(e, n, t, !1, a, i);\n}\nfunction Bo(e, t, r, n, a) {\n  var i = a[r], o = a[r + \"ref\"], l = r.indexOf(\"y\") !== -1, s = $c.getRefType(o) === \"domain\", u = l ? n.h : n.w;\n  return e ? s ? i + (l ? -t : t) / e._length : e.p2r(e.r2p(i) + t) : i + (l ? -t : t) / u;\n}\nfunction c6(e, t, r, n, a, i) {\n  var o = e._fullLayout, l = e._fullLayout._size, s = e._context.edits, u, f;\n  n ? (u = \"annotation-\" + n, f = n + \".annotations\") : (u = \"annotation\", f = \"annotations\");\n  var d = Mne(e.layout, f, t), h = d.modifyBase, p = d.modifyItem, v = d.getUpdateObj;\n  o._infolayer.selectAll(\".\" + u + '[data-index=\"' + r + '\"]').remove();\n  var m = \"clip\" + o._uid + \"_ann\" + r;\n  if (!t._input || t.visible === !1) {\n    bM.selectAll(\"#\" + m).remove();\n    return;\n  }\n  var g = { x: {}, y: {} }, y = +t.textangle || 0, w = o._infolayer.append(\"g\").classed(u, !0).attr(\"data-index\", String(r)).style(\"opacity\", t.opacity), k = w.append(\"g\").classed(\"annotation-text-g\", !0), x = s[t.showarrow ? \"annotationTail\" : \"annotationPosition\"], _ = t.captureevents || s.annotationText || x;\n  function T(R) {\n    var H = {\n      index: r,\n      annotation: t._input,\n      fullAnnotation: t,\n      event: R\n    };\n    return n && (H.subplotId = n), H;\n  }\n  var S = k.append(\"g\").style(\"pointer-events\", _ ? \"all\" : null).call(l0, \"pointer\").on(\"click\", function() {\n    e._dragging = !1, e.emit(\"plotly_clickannotation\", T(bM.event));\n  });\n  t.hovertext && S.on(\"mouseover\", function() {\n    var R = t.hoverlabel, H = R.font, B = this.getBoundingClientRect(), W = e.getBoundingClientRect();\n    _M.loneHover({\n      x0: B.left - W.left,\n      x1: B.right - W.left,\n      y: (B.top + B.bottom) / 2 - W.top,\n      text: t.hovertext,\n      color: R.bgcolor,\n      borderColor: R.bordercolor,\n      fontFamily: H.family,\n      fontSize: H.size,\n      fontColor: H.color\n    }, {\n      container: o._hoverlayer.node(),\n      outerContainer: o._paper.node(),\n      gd: e\n    });\n  }).on(\"mouseout\", function() {\n    _M.loneUnhover(o._hoverlayer.node());\n  });\n  var M = t.borderwidth, L = t.borderpad, F = M + L, $ = S.append(\"rect\").attr(\"class\", \"bg\").style(\"stroke-width\", M + \"px\").call(Rl.stroke, t.bordercolor).call(Rl.fill, t.bgcolor), I = t.width || t.height, O = o._topclips.selectAll(\"#\" + m).data(I ? [0] : []);\n  O.enter().append(\"clipPath\").classed(\"annclip\", !0).attr(\"id\", m).append(\"rect\"), O.exit().remove();\n  var G = t.font, K = o._meta ? Vo.templateString(t.text, o._meta) : t.text, V = S.append(\"text\").classed(\"annotation-text\", !0).text(K);\n  function z(R) {\n    return R.call(oo.font, G).attr({\n      \"text-anchor\": {\n        left: \"start\",\n        right: \"end\"\n      }[t.align] || \"middle\"\n    }), o0.convertToTspans(R, e, P), R;\n  }\n  function P() {\n    var R = V.selectAll(\"a\");\n    if (R.size() === 1 && R.text() === V.text()) {\n      var H = S.insert(\"a\", \":first-child\").attr({\n        \"xlink:xlink:href\": R.attr(\"xlink:href\"),\n        \"xlink:xlink:show\": R.attr(\"xlink:show\")\n      }).style({ cursor: \"pointer\" });\n      H.node().appendChild($.node());\n    }\n    var B = S.select(\".annotation-text-math-group\"), W = !B.empty(), ee = oo.bBox(\n      (W ? B : V).node()\n    ), re = ee.width, ae = ee.height, Q = t.width || re, ue = t.height || ae, j = Math.round(Q + 2 * F), U = Math.round(ue + 2 * F);\n    function Z(Ke, st) {\n      return st === \"auto\" && (Ke < 1 / 3 ? st = \"left\" : Ke > 2 / 3 ? st = \"right\" : st = \"center\"), {\n        center: 0,\n        middle: 0,\n        left: 0.5,\n        bottom: -0.5,\n        right: -0.5,\n        top: 0.5\n      }[st];\n    }\n    for (var le = !1, J = [\"x\", \"y\"], pe = 0; pe < J.length; pe++) {\n      var ge = J[pe], ve = t[ge + \"ref\"] || ge, me = t[\"a\" + ge + \"ref\"], Le = { x: a, y: i }[ge], ze = (y + (ge === \"x\" ? 0 : -90)) * Math.PI / 180, Fe = j * Math.cos(ze), Oe = U * Math.sin(ze), Re = Math.abs(Fe) + Math.abs(Oe), We = t[ge + \"anchor\"], Me = t[ge + \"shift\"] * (ge === \"x\" ? 1 : -1), Ve = g[ge], qe, Qe, ot, ht, vt, nt = $c.getRefType(ve);\n      if (Le && nt !== \"domain\") {\n        var ft = Le.r2fraction(t[ge]);\n        (ft < 0 || ft > 1) && (me === ve ? (ft = Le.r2fraction(t[\"a\" + ge]), (ft < 0 || ft > 1) && (le = !0)) : le = !0), qe = Le._offset + Le.r2p(t[ge]), ht = 0.5;\n      } else {\n        var Pe = nt === \"domain\";\n        ge === \"x\" ? (ot = t[ge], qe = Pe ? Le._offset + Le._length * ot : qe = l.l + l.w * ot) : (ot = 1 - t[ge], qe = Pe ? Le._offset + Le._length * ot : qe = l.t + l.h * ot), ht = t.showarrow ? 0.5 : ot;\n      }\n      if (t.showarrow) {\n        Ve.head = qe;\n        var Ie = t[\"a\" + ge];\n        if (vt = Fe * Z(0.5, t.xanchor) - Oe * Z(0.5, t.yanchor), me === ve) {\n          var Ne = $c.getRefType(me);\n          Ne === \"domain\" ? (ge === \"y\" && (Ie = 1 - Ie), Ve.tail = Le._offset + Le._length * Ie) : Ne === \"paper\" ? ge === \"y\" ? (Ie = 1 - Ie, Ve.tail = l.t + l.h * Ie) : Ve.tail = l.l + l.w * Ie : Ve.tail = Le._offset + Le.r2p(Ie), Qe = vt;\n        } else\n          Ve.tail = qe + Ie, Qe = vt + Ie;\n        Ve.text = Ve.tail + vt;\n        var tt = o[ge === \"x\" ? \"width\" : \"height\"];\n        if (ve === \"paper\" && (Ve.head = Vo.constrain(Ve.head, 1, tt - 1)), me === \"pixel\") {\n          var Je = -Math.max(Ve.tail - 3, Ve.text), it = Math.min(Ve.tail + 3, Ve.text) - tt;\n          Je > 0 ? (Ve.tail += Je, Ve.text += Je) : it > 0 && (Ve.tail -= it, Ve.text -= it);\n        }\n        Ve.tail += Me, Ve.head += Me;\n      } else\n        vt = Re * Z(ht, We), Qe = vt, Ve.text = qe + vt;\n      Ve.text += Me, vt += Me, Qe += Me, t[\"_\" + ge + \"padplus\"] = Re / 2 + Qe, t[\"_\" + ge + \"padminus\"] = Re / 2 - Qe, t[\"_\" + ge + \"size\"] = Re, t[\"_\" + ge + \"shift\"] = vt;\n    }\n    if (le) {\n      S.remove();\n      return;\n    }\n    var at = 0, Tt = 0;\n    if (t.align !== \"left\" && (at = (Q - re) * (t.align === \"center\" ? 0.5 : 1)), t.valign !== \"top\" && (Tt = (ue - ae) * (t.valign === \"middle\" ? 0.5 : 1)), W)\n      B.select(\"svg\").attr({\n        x: F + at - 1,\n        y: F + Tt\n      }).call(oo.setClipUrl, I ? m : null, e);\n    else {\n      var gt = F + Tt - ee.top, He = F + at - ee.left;\n      V.call(o0.positionText, He, gt).call(oo.setClipUrl, I ? m : null, e);\n    }\n    O.select(\"rect\").call(\n      oo.setRect,\n      F,\n      F,\n      Q,\n      ue\n    ), $.call(\n      oo.setRect,\n      M / 2,\n      M / 2,\n      j - M,\n      U - M\n    ), S.call(\n      oo.setTranslate,\n      Math.round(g.x.text - j / 2),\n      Math.round(g.y.text - U / 2)\n    ), k.attr({ transform: \"rotate(\" + y + \",\" + g.x.text + \",\" + g.y.text + \")\" });\n    var pt = function(Ke, st) {\n      w.selectAll(\".annotation-arrow-g\").remove();\n      var rt = g.x.head, ct = g.y.head, X = g.x.tail + Ke, se = g.y.tail + st, ie = g.x.text + Ke, fe = g.y.text + st, ke = Vo.rotationXYMatrix(y, ie, fe), _e = Vo.apply2DTransform(ke), Ge = Vo.apply2DTransform2(ke), je = +$.attr(\"width\"), Ee = +$.attr(\"height\"), oe = ie - 0.5 * je, Ce = oe + je, Be = fe - 0.5 * Ee, Xe = Be + Ee, Et = [\n        [oe, Be, oe, Xe],\n        [oe, Xe, Ce, Xe],\n        [Ce, Xe, Ce, Be],\n        [Ce, Be, oe, Be]\n      ].map(Ge);\n      if (!Et.reduce(function(St, Ut) {\n        return St ^ !!Vo.segmentsIntersect(\n          rt,\n          ct,\n          rt + 1e6,\n          ct + 1e6,\n          Ut[0],\n          Ut[1],\n          Ut[2],\n          Ut[3]\n        );\n      }, !1)) {\n        Et.forEach(function(St) {\n          var Ut = Vo.segmentsIntersect(\n            X,\n            se,\n            rt,\n            ct,\n            St[0],\n            St[1],\n            St[2],\n            St[3]\n          );\n          Ut && (X = Ut.x, se = Ut.y);\n        });\n        var Pt = t.arrowwidth, It = t.arrowcolor, kt = t.arrowside, qt = w.append(\"g\").style({ opacity: Rl.opacity(It) }).classed(\"annotation-arrow-g\", !0), Ot = qt.append(\"path\").attr(\"d\", \"M\" + X + \",\" + se + \"L\" + rt + \",\" + ct).style(\"stroke-width\", Pt + \"px\").call(Rl.stroke, Rl.rgb(It));\n        if (Sne(Ot, kt, t), s.annotationPosition && Ot.node().parentNode && !n) {\n          var wt = rt, Yt = ct;\n          if (t.standoff) {\n            var Kt = Math.sqrt(Math.pow(rt - X, 2) + Math.pow(ct - se, 2));\n            wt += t.standoff * (X - rt) / Kt, Yt += t.standoff * (se - ct) / Kt;\n          }\n          var $t = qt.append(\"path\").classed(\"annotation-arrow\", !0).classed(\"anndrag\", !0).classed(\"cursor-move\", !0).attr({\n            d: \"M3,3H-3V-3H3ZM0,0L\" + (X - wt) + \",\" + (se - Yt),\n            transform: i0(wt, Yt)\n          }).style(\"stroke-width\", Pt + 6 + \"px\").call(Rl.stroke, \"rgba(0,0,0,0)\").call(Rl.fill, \"rgba(0,0,0,0)\"), zt, Mt;\n          Uf.init({\n            element: $t.node(),\n            gd: e,\n            prepFn: function() {\n              var St = oo.getTranslate(S);\n              zt = St.x, Mt = St.y, a && a.autorange && h(a._name + \".autorange\", !0), i && i.autorange && h(i._name + \".autorange\", !0);\n            },\n            moveFn: function(St, Ut) {\n              var fr = _e(zt, Mt), Ct = fr[0] + St, tr = fr[1] + Ut;\n              S.call(oo.setTranslate, Ct, tr), p(\n                \"x\",\n                Bo(a, St, \"x\", l, t)\n              ), p(\n                \"y\",\n                Bo(i, Ut, \"y\", l, t)\n              ), t.axref === t.xref && p(\"ax\", Bo(a, St, \"ax\", l, t)), t.ayref === t.yref && p(\"ay\", Bo(i, Ut, \"ay\", l, t)), qt.attr(\"transform\", i0(St, Ut)), k.attr({\n                transform: \"rotate(\" + y + \",\" + Ct + \",\" + tr + \")\"\n              });\n            },\n            doneFn: function() {\n              a0.call(\"_guiRelayout\", e, v());\n              var St = document.querySelector(\".js-notes-box-panel\");\n              St && St.redraw(St.selectedObj);\n            }\n          });\n        }\n      }\n    };\n    if (t.showarrow && pt(0, 0), x) {\n      var bt;\n      Uf.init({\n        element: S.node(),\n        gd: e,\n        prepFn: function() {\n          bt = k.attr(\"transform\");\n        },\n        moveFn: function(Ke, st) {\n          var rt = \"pointer\";\n          if (t.showarrow)\n            t.axref === t.xref ? p(\"ax\", Bo(a, Ke, \"ax\", l, t)) : p(\"ax\", t.ax + Ke), t.ayref === t.yref ? p(\"ay\", Bo(i, st, \"ay\", l.w, t)) : p(\"ay\", t.ay + st), pt(Ke, st);\n          else {\n            if (n)\n              return;\n            var ct, X;\n            if (a)\n              ct = Bo(a, Ke, \"x\", l, t);\n            else {\n              var se = t._xsize / l.w, ie = t.x + (t._xshift - t.xshift) / l.w - se / 2;\n              ct = Uf.align(\n                ie + Ke / l.w,\n                se,\n                0,\n                1,\n                t.xanchor\n              );\n            }\n            if (i)\n              X = Bo(i, st, \"y\", l, t);\n            else {\n              var fe = t._ysize / l.h, ke = t.y - (t._yshift + t.yshift) / l.h - fe / 2;\n              X = Uf.align(\n                ke - st / l.h,\n                fe,\n                0,\n                1,\n                t.yanchor\n              );\n            }\n            p(\"x\", ct), p(\"y\", X), (!a || !i) && (rt = Uf.getCursor(\n              a ? 0.5 : ct,\n              i ? 0.5 : X,\n              t.xanchor,\n              t.yanchor\n            ));\n          }\n          k.attr({\n            transform: i0(Ke, st) + bt\n          }), l0(S, rt);\n        },\n        clickFn: function(Ke, st) {\n          t.captureevents && e.emit(\"plotly_clickannotation\", T(st));\n        },\n        doneFn: function() {\n          l0(S), a0.call(\"_guiRelayout\", e, v());\n          var Ke = document.querySelector(\".js-notes-box-panel\");\n          Ke && Ke.redraw(Ke.selectedObj);\n        }\n      });\n    }\n  }\n  s.annotationText ? V.call(o0.makeEditable, { delegate: S, gd: e }).call(z).on(\"edit\", function(R) {\n    t.text = R, this.call(z), p(\"text\", R), a && a.autorange && h(a._name + \".autorange\", !0), i && i.autorange && h(i._name + \".autorange\", !0), a0.call(\"_guiRelayout\", e, v());\n  }) : V.call(z);\n}\nvar xM = Ue, Lne = Nt, wM = Mr.arrayEditor, Dne = {\n  hasClickToShow: Ene,\n  onClick: Fne\n};\nfunction Ene(e, t) {\n  var r = d6(e, t);\n  return r.on.length > 0 || r.explicitOff.length > 0;\n}\nfunction Fne(e, t) {\n  var r = d6(e, t), n = r.on, a = r.off.concat(r.explicitOff), i = {}, o = e._fullLayout.annotations, l, s;\n  if (n.length || a.length) {\n    for (l = 0; l < n.length; l++)\n      s = wM(e.layout, \"annotations\", o[n[l]]), s.modifyItem(\"visible\", !0), xM.extendFlat(i, s.getUpdateObj());\n    for (l = 0; l < a.length; l++)\n      s = wM(e.layout, \"annotations\", o[a[l]]), s.modifyItem(\"visible\", !1), xM.extendFlat(i, s.getUpdateObj());\n    return Lne.call(\"update\", e, {}, i);\n  }\n}\nfunction d6(e, t) {\n  var r = e._fullLayout.annotations, n = [], a = [], i = [], o = (t || []).length, l, s, u, f, d, h, p, v;\n  for (l = 0; l < r.length; l++)\n    if (u = r[l], f = u.clicktoshow, f) {\n      for (s = 0; s < o; s++)\n        if (d = t[s], h = d.xaxis, p = d.yaxis, h._id === u.xref && p._id === u.yref && h.d2r(d.x) === TM(u._xclick, h) && p.d2r(d.y) === TM(u._yclick, p)) {\n          u.visible ? f === \"onout\" ? v = a : v = i : v = n, v.push(l);\n          break;\n        }\n      s === o && u.visible && f === \"onout\" && a.push(l);\n    }\n  return { on: n, off: a, explicitOff: i };\n}\nfunction TM(e, t) {\n  return t.type === \"log\" ? t.l2r(e) : t.d2r(e);\n}\nvar kM = Ue, Gs = nr, h6 = function(t, r, n, a) {\n  a(\"opacity\");\n  var i = a(\"bgcolor\"), o = a(\"bordercolor\"), l = Gs.opacity(o);\n  a(\"borderpad\");\n  var s = a(\"borderwidth\"), u = a(\"showarrow\");\n  a(\"text\", u ? \" \" : n._dfltTitle.annotation), a(\"textangle\"), kM.coerceFont(a, \"font\", n.font), a(\"width\"), a(\"align\");\n  var f = a(\"height\");\n  if (f && a(\"valign\"), u) {\n    var d = a(\"arrowside\"), h, p;\n    d.indexOf(\"end\") !== -1 && (h = a(\"arrowhead\"), p = a(\"arrowsize\")), d.indexOf(\"start\") !== -1 && (a(\"startarrowhead\", h), a(\"startarrowsize\", p)), a(\"arrowcolor\", l ? r.bordercolor : Gs.defaultLine), a(\"arrowwidth\", (l && s || 1) * 2), a(\"standoff\"), a(\"startstandoff\");\n  }\n  var v = a(\"hovertext\"), m = n.hoverlabel || {};\n  if (v) {\n    var g = a(\n      \"hoverlabel.bgcolor\",\n      m.bgcolor || (Gs.opacity(i) ? Gs.rgb(i) : Gs.defaultLine)\n    ), y = a(\n      \"hoverlabel.bordercolor\",\n      m.bordercolor || Gs.contrast(g)\n    );\n    kM.coerceFont(a, \"hoverlabel.font\", {\n      family: m.font.family,\n      size: m.font.size,\n      color: m.font.color || y\n    });\n  }\n  a(\"captureevents\", !!v);\n}, s0 = Ue, Pl = Cr, Rne = Ji, Pne = h6, $ne = td, zne = function(t, r) {\n  Rne(t, r, {\n    name: \"annotations\",\n    handleItemDefaults: Ine\n  });\n};\nfunction Ine(e, t, r) {\n  function n(k, x) {\n    return s0.coerce(e, t, $ne, k, x);\n  }\n  var a = n(\"visible\"), i = n(\"clicktoshow\");\n  if (a || i) {\n    Pne(e, t, r, n);\n    for (var o = t.showarrow, l = [\"x\", \"y\"], s = [-10, -30], u = { _fullLayout: r }, f = 0; f < 2; f++) {\n      var d = l[f], h = Pl.coerceRef(e, t, u, d, \"\", \"paper\");\n      if (h !== \"paper\") {\n        var p = Pl.getFromId(u, h);\n        p._annIndices.push(t._index);\n      }\n      if (Pl.coercePosition(t, u, n, h, d, 0.5), o) {\n        var v = \"a\" + d, m = Pl.coerceRef(\n          e,\n          t,\n          u,\n          v,\n          \"pixel\",\n          [\"pixel\", \"paper\"]\n        );\n        m !== \"pixel\" && m !== h && (m = t[v] = \"pixel\");\n        var g = m === \"pixel\" ? s[f] : 0.4;\n        Pl.coercePosition(t, u, n, m, v, g);\n      }\n      n(d + \"anchor\"), n(d + \"shift\");\n    }\n    if (s0.noneOrAll(e, t, [\"x\", \"y\"]), o && s0.noneOrAll(e, t, [\"ax\", \"ay\"]), i) {\n      var y = n(\"xclick\"), w = n(\"yclick\");\n      t._xclick = y === void 0 ? t.x : Pl.cleanPosition(y, u, t.xref), t._yclick = w === void 0 ? t.y : Pl.cleanPosition(w, u, t.yref);\n    }\n  }\n}\nvar Zy = Ue, jl = Cr, Nne = d_.draw, One = function(t) {\n  var r = t._fullLayout, n = Zy.filterVisible(r.annotations);\n  if (n.length && t._fullData.length)\n    return Zy.syncOrAsync([Nne, Hne], t);\n};\nfunction Hne(e) {\n  var t = e._fullLayout;\n  Zy.filterVisible(t.annotations).forEach(function(r) {\n    var n = jl.getFromId(e, r.xref), a = jl.getFromId(e, r.yref), i = jl.getRefType(r.xref), o = jl.getRefType(r.yref);\n    r._extremes = {}, i === \"range\" && AM(r, n), o === \"range\" && AM(r, a);\n  });\n}\nfunction AM(e, t) {\n  var r = t._id, n = r.charAt(0), a = e[n], i = e[\"a\" + n], o = e[n + \"ref\"], l = e[\"a\" + n + \"ref\"], s = e[\"_\" + n + \"padplus\"], u = e[\"_\" + n + \"padminus\"], f = { x: 1, y: -1 }[n] * e[n + \"shift\"], d = 3 * e.arrowsize * e.arrowwidth || 0, h = d + f, p = d - f, v = 3 * e.startarrowsize * e.arrowwidth || 0, m = v + f, g = v - f, y;\n  if (l === o) {\n    var w = jl.findExtremes(t, [t.r2c(a)], {\n      ppadplus: h,\n      ppadminus: p\n    }), k = jl.findExtremes(t, [t.r2c(i)], {\n      ppadplus: Math.max(s, m),\n      ppadminus: Math.max(u, g)\n    });\n    y = {\n      min: [w.min[0], k.min[0]],\n      max: [w.max[0], k.max[0]]\n    };\n  } else\n    m = i ? m + i : m, g = i ? g - i : g, y = jl.findExtremes(t, [t.r2c(a)], {\n      ppadplus: Math.max(s, h, m),\n      ppadminus: Math.max(u, p, g)\n    });\n  e._extremes[r] = y;\n}\nvar Bne = sr, jne = U1, Une = function(t, r, n, a) {\n  r = r || {};\n  var i = n === \"log\" && r.type === \"linear\", o = n === \"linear\" && r.type === \"log\";\n  if (!(i || o)) return;\n  var l = t._fullLayout.annotations, s = r._id.charAt(0), u, f;\n  function d(p) {\n    var v = u[p], m = null;\n    i ? m = jne(v, r.range) : m = Math.pow(10, v), Bne(m) || (m = null), a(f + p, m);\n  }\n  for (var h = 0; h < l.length; h++)\n    u = l[h], f = \"annotations[\" + h + \"].\", u[s + \"ref\"] === r._id && d(s), u[\"a\" + s + \"ref\"] === r._id && d(\"a\" + s);\n}, u0 = d_, MM = Dne, Gne = {\n  moduleType: \"component\",\n  name: \"annotations\",\n  layoutAttributes: td,\n  supplyLayoutDefaults: zne,\n  includeBasePlot: qp(\"annotations\"),\n  calcAutorange: One,\n  draw: u0.draw,\n  drawOne: u0.drawOne,\n  drawRaw: u0.drawRaw,\n  hasClickToShow: MM.hasClickToShow,\n  onClick: MM.onClick,\n  convertCoords: Une\n}, Er = td, Vne = Lo.overrideAll, qne = Mr.templatedArray, Yy = Vne(qne(\"annotation\", {\n  visible: Er.visible,\n  x: {\n    valType: \"any\",\n    description: [\n      \"Sets the annotation's x position.\"\n    ].join(\" \")\n  },\n  y: {\n    valType: \"any\",\n    description: [\n      \"Sets the annotation's y position.\"\n    ].join(\" \")\n  },\n  z: {\n    valType: \"any\",\n    description: [\n      \"Sets the annotation's z position.\"\n    ].join(\" \")\n  },\n  ax: {\n    valType: \"number\",\n    description: [\n      \"Sets the x component of the arrow tail about the arrow head (in pixels).\"\n    ].join(\" \")\n  },\n  ay: {\n    valType: \"number\",\n    description: [\n      \"Sets the y component of the arrow tail about the arrow head (in pixels).\"\n    ].join(\" \")\n  },\n  xanchor: Er.xanchor,\n  xshift: Er.xshift,\n  yanchor: Er.yanchor,\n  yshift: Er.yshift,\n  text: Er.text,\n  textangle: Er.textangle,\n  font: Er.font,\n  width: Er.width,\n  height: Er.height,\n  opacity: Er.opacity,\n  align: Er.align,\n  valign: Er.valign,\n  bgcolor: Er.bgcolor,\n  bordercolor: Er.bordercolor,\n  borderpad: Er.borderpad,\n  borderwidth: Er.borderwidth,\n  showarrow: Er.showarrow,\n  arrowcolor: Er.arrowcolor,\n  arrowhead: Er.arrowhead,\n  startarrowhead: Er.startarrowhead,\n  arrowside: Er.arrowside,\n  arrowsize: Er.arrowsize,\n  startarrowsize: Er.startarrowsize,\n  arrowwidth: Er.arrowwidth,\n  standoff: Er.standoff,\n  startstandoff: Er.startstandoff,\n  hovertext: Er.hovertext,\n  hoverlabel: Er.hoverlabel,\n  captureevents: Er.captureevents\n  // maybes later?\n  // clicktoshow: annAttrs.clicktoshow,\n  // xclick: annAttrs.xclick,\n  // yclick: annAttrs.yclick,\n  // not needed!\n  // axref: 'pixel'\n  // ayref: 'pixel'\n  // xref: 'x'\n  // yref: 'y\n  // zref: 'z'\n}), \"calc\", \"from-root\"), f0 = Ue, Wne = Cr, Zne = Ji, Yne = h6, Xne = Yy, Kne = function(t, r, n) {\n  Zne(t, r, {\n    name: \"annotations\",\n    handleItemDefaults: Jne,\n    fullLayout: n.fullLayout\n  });\n};\nfunction Jne(e, t, r, n) {\n  function a(l, s) {\n    return f0.coerce(e, t, Xne, l, s);\n  }\n  function i(l) {\n    var s = l + \"axis\", u = { _fullLayout: {} };\n    return u._fullLayout[s] = r[s], Wne.coercePosition(t, u, a, l, l, 0.5);\n  }\n  var o = a(\"visible\");\n  o && (Yne(e, t, n.fullLayout, a), i(\"x\"), i(\"y\"), i(\"z\"), f0.noneOrAll(e, t, [\"x\", \"y\", \"z\"]), t.xref = \"x\", t.yref = \"y\", t.zref = \"z\", a(\"xanchor\"), a(\"yanchor\"), a(\"xshift\"), a(\"yshift\"), t.showarrow && (t.axref = \"pixel\", t.ayref = \"pixel\", a(\"ax\", -10), a(\"ay\", -30), f0.noneOrAll(e, t, [\"ax\", \"ay\"])));\n}\nvar SM = Ue, CM = Cr, Qne = function(t) {\n  for (var r = t.fullSceneLayout, n = r.annotations, a = 0; a < n.length; a++)\n    eae(n[a], t);\n  t.fullLayout._infolayer.selectAll(\".annotation-\" + t.id).remove();\n};\nfunction eae(e, t) {\n  var r = t.fullSceneLayout, n = r.domain, a = t.fullLayout._size, i = {\n    // this gets fill in on render\n    pdata: null,\n    // to get setConvert to not execute cleanly\n    type: \"linear\",\n    // don't try to update them on `editable: true`\n    autorange: !1,\n    // set infinite range so that annotation draw routine\n    // does not try to remove 'outside-range' annotations,\n    // this case is handled in the render loop\n    range: [-1 / 0, 1 / 0]\n  };\n  e._xa = {}, SM.extendFlat(e._xa, i), CM.setConvert(e._xa), e._xa._offset = a.l + n.x[0] * a.w, e._xa.l2p = function() {\n    return 0.5 * (1 + e._pdata[0] / e._pdata[3]) * a.w * (n.x[1] - n.x[0]);\n  }, e._ya = {}, SM.extendFlat(e._ya, i), CM.setConvert(e._ya), e._ya._offset = a.t + (1 - n.y[1]) * a.h, e._ya.l2p = function() {\n    return 0.5 * (1 - e._pdata[1] / e._pdata[3]) * a.h * (n.y[1] - n.y[0]);\n  };\n}\nfunction c0(e, t) {\n  var r = [0, 0, 0, 0], n, a;\n  for (n = 0; n < 4; ++n)\n    for (a = 0; a < 4; ++a)\n      r[a] += e[4 * n + a] * t[n];\n  return r;\n}\nfunction tae(e, t) {\n  var r = c0(\n    e.projection,\n    c0(\n      e.view,\n      c0(e.model, [t[0], t[1], t[2], 1])\n    )\n  );\n  return r;\n}\nvar rae = tae, nae = d_.drawRaw, aae = rae, iae = [\"x\", \"y\", \"z\"], oae = function(t) {\n  for (var r = t.fullSceneLayout, n = t.dataScale, a = r.annotations, i = 0; i < a.length; i++) {\n    for (var o = a[i], l = !1, s = 0; s < 3; s++) {\n      var u = iae[s], f = o[u], d = r[u + \"axis\"], h = d.r2fraction(f);\n      if (h < 0 || h > 1) {\n        l = !0;\n        break;\n      }\n    }\n    l ? t.fullLayout._infolayer.select(\".annotation-\" + t.id + '[data-index=\"' + i + '\"]').remove() : (o._pdata = aae(t.glplot.cameraParams, [\n      r.xaxis.r2l(o.x) * n[0],\n      r.yaxis.r2l(o.y) * n[1],\n      r.zaxis.r2l(o.z) * n[2]\n    ]), nae(t.graphDiv, o, i, t.id, o._xa, o._ya));\n  }\n}, lae = Nt, LM = Ue, sae = {\n  moduleType: \"component\",\n  name: \"annotations3d\",\n  schema: {\n    subplots: {\n      scene: { annotations: Yy }\n    }\n  },\n  layoutAttributes: Yy,\n  handleDefaults: Kne,\n  includeBasePlot: uae,\n  convert: Qne,\n  draw: oae\n};\nfunction uae(e, t) {\n  var r = lae.subplotsRegistry.gl3d;\n  if (r)\n    for (var n = r.attrRegex, a = Object.keys(e), i = 0; i < a.length; i++) {\n      var o = a[i];\n      n.test(o) && (e[o].annotations || []).length && (LM.pushUnique(t._basePlotModules, r), LM.pushUnique(t._subplots.gl3d, o));\n    }\n}\nvar DM = td, EM = Fn, FM = ws.line, fae = Zi.dash, ri = en.extendFlat, cae = Mr.templatedArray, RM = Vp, Vs = Wi, dae = _i.shapeTexttemplateAttrs, hae = K1, v6 = cae(\"shape\", {\n  visible: ri({}, Vs.visible, {\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Determines whether or not this shape is visible.\",\n      \"If *legendonly*, the shape is not drawn,\",\n      \"but can appear as a legend item\",\n      \"(provided that the legend itself is visible).\"\n    ].join(\" \")\n  }),\n  showlegend: {\n    valType: \"boolean\",\n    dflt: !1,\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Determines whether or not this\",\n      \"shape is shown in the legend.\"\n    ].join(\" \")\n  },\n  legend: ri({}, Vs.legend, {\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Sets the reference to a legend to show this shape in.\",\n      \"References to these legends are *legend*, *legend2*, *legend3*, etc.\",\n      \"Settings for these legends are set in the layout, under\",\n      \"`layout.legend`, `layout.legend2`, etc.\"\n    ].join(\" \")\n  }),\n  legendgroup: ri({}, Vs.legendgroup, {\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Sets the legend group for this shape.\",\n      \"Traces and shapes part of the same legend group hide/show at the same time\",\n      \"when toggling legend items.\"\n    ].join(\" \")\n  }),\n  legendgrouptitle: {\n    text: ri({}, Vs.legendgrouptitle.text, {\n      editType: \"calc+arraydraw\"\n    }),\n    font: EM({\n      editType: \"calc+arraydraw\",\n      description: [\n        \"Sets this legend group's title font.\"\n      ].join(\" \")\n    }),\n    editType: \"calc+arraydraw\"\n  },\n  legendrank: ri({}, Vs.legendrank, {\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Sets the legend rank for this shape.\",\n      \"Items and groups with smaller ranks are presented on top/left side while\",\n      \"with *reversed* `legend.traceorder` they are on bottom/right side.\",\n      \"The default legendrank is 1000,\",\n      \"so that you can use ranks less than 1000 to place certain items before all unranked items,\",\n      \"and ranks greater than 1000 to go after all unranked items.\",\n      \"When having unranked or equal rank items shapes would be displayed after traces\",\n      \"i.e. according to their order in data and layout.\"\n    ].join(\" \")\n  }),\n  legendwidth: ri({}, Vs.legendwidth, {\n    editType: \"calc+arraydraw\",\n    description: \"Sets the width (in px or fraction) of the legend for this shape.\"\n  }),\n  type: {\n    valType: \"enumerated\",\n    values: [\"circle\", \"rect\", \"path\", \"line\"],\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Specifies the shape type to be drawn.\",\n      \"If *line*, a line is drawn from (`x0`,`y0`) to (`x1`,`y1`)\",\n      \"with respect to the axes' sizing mode.\",\n      \"If *circle*, a circle is drawn from\",\n      \"((`x0`+`x1`)/2, (`y0`+`y1`)/2))\",\n      \"with radius\",\n      \"(|(`x0`+`x1`)/2 - `x0`|, |(`y0`+`y1`)/2 -`y0`)|)\",\n      \"with respect to the axes' sizing mode.\",\n      \"If *rect*, a rectangle is drawn linking\",\n      \"(`x0`,`y0`), (`x1`,`y0`), (`x1`,`y1`), (`x0`,`y1`), (`x0`,`y0`)\",\n      \"with respect to the axes' sizing mode.\",\n      \"If *path*, draw a custom SVG path using `path`.\",\n      \"with respect to the axes' sizing mode.\"\n    ].join(\" \")\n  },\n  layer: {\n    valType: \"enumerated\",\n    values: [\"below\", \"above\"],\n    dflt: \"above\",\n    editType: \"arraydraw\",\n    description: \"Specifies whether shapes are drawn below or above traces.\"\n  },\n  xref: ri({}, DM.xref, {\n    description: [\n      \"Sets the shape's x coordinate axis.\",\n      RM.axisRefDescription(\"x\", \"left\", \"right\")\n    ].join(\" \")\n  }),\n  xsizemode: {\n    valType: \"enumerated\",\n    values: [\"scaled\", \"pixel\"],\n    dflt: \"scaled\",\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Sets the shapes's sizing mode along the x axis.\",\n      \"If set to *scaled*, `x0`, `x1` and x coordinates within `path` refer to\",\n      \"data values on the x axis or a fraction of the plot area's width\",\n      \"(`xref` set to *paper*).\",\n      \"If set to *pixel*, `xanchor` specifies the x position in terms\",\n      \"of data or plot fraction but `x0`, `x1` and x coordinates within `path`\",\n      \"are pixels relative to `xanchor`. This way, the shape can have\",\n      \"a fixed width while maintaining a position relative to data or\",\n      \"plot fraction.\"\n    ].join(\" \")\n  },\n  xanchor: {\n    valType: \"any\",\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Only relevant in conjunction with `xsizemode` set to *pixel*.\",\n      \"Specifies the anchor point on the x axis to which `x0`, `x1`\",\n      \"and x coordinates within `path` are relative to.\",\n      \"E.g. useful to attach a pixel sized shape to a certain data value.\",\n      \"No effect when `xsizemode` not set to *pixel*.\"\n    ].join(\" \")\n  },\n  x0: {\n    valType: \"any\",\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Sets the shape's starting x position.\",\n      \"See `type` and `xsizemode` for more info.\"\n    ].join(\" \")\n  },\n  x1: {\n    valType: \"any\",\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Sets the shape's end x position.\",\n      \"See `type` and `xsizemode` for more info.\"\n    ].join(\" \")\n  },\n  yref: ri({}, DM.yref, {\n    description: [\n      \"Sets the shape's y coordinate axis.\",\n      RM.axisRefDescription(\"y\", \"bottom\", \"top\")\n    ].join(\" \")\n  }),\n  ysizemode: {\n    valType: \"enumerated\",\n    values: [\"scaled\", \"pixel\"],\n    dflt: \"scaled\",\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Sets the shapes's sizing mode along the y axis.\",\n      \"If set to *scaled*, `y0`, `y1` and y coordinates within `path` refer to\",\n      \"data values on the y axis or a fraction of the plot area's height\",\n      \"(`yref` set to *paper*).\",\n      \"If set to *pixel*, `yanchor` specifies the y position in terms\",\n      \"of data or plot fraction but `y0`, `y1` and y coordinates within `path`\",\n      \"are pixels relative to `yanchor`. This way, the shape can have\",\n      \"a fixed height while maintaining a position relative to data or\",\n      \"plot fraction.\"\n    ].join(\" \")\n  },\n  yanchor: {\n    valType: \"any\",\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Only relevant in conjunction with `ysizemode` set to *pixel*.\",\n      \"Specifies the anchor point on the y axis to which `y0`, `y1`\",\n      \"and y coordinates within `path` are relative to.\",\n      \"E.g. useful to attach a pixel sized shape to a certain data value.\",\n      \"No effect when `ysizemode` not set to *pixel*.\"\n    ].join(\" \")\n  },\n  y0: {\n    valType: \"any\",\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Sets the shape's starting y position.\",\n      \"See `type` and `ysizemode` for more info.\"\n    ].join(\" \")\n  },\n  y1: {\n    valType: \"any\",\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Sets the shape's end y position.\",\n      \"See `type` and `ysizemode` for more info.\"\n    ].join(\" \")\n  },\n  path: {\n    valType: \"string\",\n    editType: \"calc+arraydraw\",\n    description: [\n      \"For `type` *path* - a valid SVG path with the pixel values\",\n      \"replaced by data values in `xsizemode`/`ysizemode` being *scaled*\",\n      \"and taken unmodified as pixels relative to `xanchor` and `yanchor`\",\n      \"in case of *pixel* size mode.\",\n      \"There are a few restrictions / quirks\",\n      \"only absolute instructions, not relative. So the allowed segments\",\n      \"are: M, L, H, V, Q, C, T, S, and Z\",\n      \"arcs (A) are not allowed because radius rx and ry are relative.\",\n      \"In the future we could consider supporting relative commands,\",\n      \"but we would have to decide on how to handle date and log axes.\",\n      \"Note that even as is, Q and C Bezier paths that are smooth on\",\n      \"linear axes may not be smooth on log, and vice versa.\",\n      'no chained \"polybezier\" commands - specify the segment type for',\n      \"each one.\",\n      \"On category axes, values are numbers scaled to the serial numbers\",\n      \"of categories because using the categories themselves there would\",\n      \"be no way to describe fractional positions\",\n      \"On data axes: because space and T are both normal components of path\",\n      \"strings, we can't use either to separate date from time parts.\",\n      \"Therefore we'll use underscore for this purpose:\",\n      \"2015-02-21_13:45:56.789\"\n    ].join(\" \")\n  },\n  opacity: {\n    valType: \"number\",\n    min: 0,\n    max: 1,\n    dflt: 1,\n    editType: \"arraydraw\",\n    description: \"Sets the opacity of the shape.\"\n  },\n  line: {\n    color: ri({}, FM.color, { editType: \"arraydraw\" }),\n    width: ri({}, FM.width, { editType: \"calc+arraydraw\" }),\n    dash: ri({}, fae, { editType: \"arraydraw\" }),\n    editType: \"calc+arraydraw\"\n  },\n  fillcolor: {\n    valType: \"color\",\n    dflt: \"rgba(0,0,0,0)\",\n    editType: \"arraydraw\",\n    description: [\n      \"Sets the color filling the shape's interior. Only applies to closed shapes.\"\n    ].join(\" \")\n  },\n  fillrule: {\n    valType: \"enumerated\",\n    values: [\"evenodd\", \"nonzero\"],\n    dflt: \"evenodd\",\n    editType: \"arraydraw\",\n    description: [\n      \"Determines which regions of complex paths constitute the interior.\",\n      \"For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule\"\n    ].join(\" \")\n  },\n  editable: {\n    valType: \"boolean\",\n    dflt: !1,\n    editType: \"calc+arraydraw\",\n    description: [\n      \"Determines whether the shape could be activated for edit or not.\",\n      \"Has no effect when the older editable shapes mode is enabled via\",\n      \"`config.editable` or `config.edits.shapePosition`.\"\n    ].join(\" \")\n  },\n  label: {\n    text: {\n      valType: \"string\",\n      dflt: \"\",\n      editType: \"arraydraw\",\n      description: [\n        \"Sets the text to display with shape.\",\n        \"It is also used for legend item if `name` is not provided.\"\n      ].join(\" \")\n    },\n    texttemplate: dae({}, { keys: Object.keys(hae) }),\n    font: EM({\n      editType: \"calc+arraydraw\",\n      colorEditType: \"arraydraw\",\n      description: \"Sets the shape label text font.\"\n    }),\n    textposition: {\n      valType: \"enumerated\",\n      values: [\n        \"top left\",\n        \"top center\",\n        \"top right\",\n        \"middle left\",\n        \"middle center\",\n        \"middle right\",\n        \"bottom left\",\n        \"bottom center\",\n        \"bottom right\",\n        \"start\",\n        \"middle\",\n        \"end\"\n      ],\n      editType: \"arraydraw\",\n      description: [\n        \"Sets the position of the label text relative to the shape.\",\n        \"Supported values for rectangles, circles and paths are\",\n        \"*top left*, *top center*, *top right*, *middle left*,\",\n        \"*middle center*, *middle right*, *bottom left*, *bottom center*,\",\n        \"and *bottom right*.\",\n        \"Supported values for lines are *start*, *middle*, and *end*.\",\n        \"Default: *middle center* for rectangles, circles, and paths; *middle* for lines.\"\n      ].join(\" \")\n    },\n    textangle: {\n      valType: \"angle\",\n      dflt: \"auto\",\n      editType: \"calc+arraydraw\",\n      description: [\n        \"Sets the angle at which the label text is drawn\",\n        \"with respect to the horizontal. For lines, angle *auto*\",\n        \"is the same angle as the line. For all other shapes,\",\n        \"angle *auto* is horizontal.\"\n      ].join(\" \")\n    },\n    xanchor: {\n      valType: \"enumerated\",\n      values: [\"auto\", \"left\", \"center\", \"right\"],\n      dflt: \"auto\",\n      editType: \"calc+arraydraw\",\n      description: [\n        \"Sets the label's horizontal position anchor\",\n        \"This anchor binds the specified `textposition` to the *left*, *center*\",\n        \"or *right* of the label text.\",\n        \"For example, if `textposition` is set to *top right* and\",\n        \"`xanchor` to *right* then the right-most portion of the\",\n        \"label text lines up with the right-most edge of the\",\n        \"shape.\"\n      ].join(\" \")\n    },\n    yanchor: {\n      valType: \"enumerated\",\n      values: [\"top\", \"middle\", \"bottom\"],\n      editType: \"calc+arraydraw\",\n      description: [\n        \"Sets the label's vertical position anchor\",\n        \"This anchor binds the specified `textposition` to the *top*, *middle*\",\n        \"or *bottom* of the label text.\",\n        \"For example, if `textposition` is set to *top right* and\",\n        \"`yanchor` to *top* then the top-most portion of the\",\n        \"label text lines up with the top-most edge of the\",\n        \"shape.\"\n      ].join(\" \")\n    },\n    padding: {\n      valType: \"number\",\n      dflt: 3,\n      min: 0,\n      editType: \"arraydraw\",\n      description: \"Sets padding (in px) between edge of label and edge of shape.\"\n    },\n    editType: \"arraydraw\"\n  },\n  editType: \"arraydraw\"\n}), Gf = Ue, qs = Cr, vae = Ji, pae = v6, PM = xl, mae = function(t, r) {\n  vae(t, r, {\n    name: \"shapes\",\n    handleItemDefaults: yae\n  });\n};\nfunction gae(e, t) {\n  return e ? \"bottom\" : t.indexOf(\"top\") !== -1 ? \"top\" : t.indexOf(\"bottom\") !== -1 ? \"bottom\" : \"middle\";\n}\nfunction yae(e, t, r) {\n  function n(R, H) {\n    return Gf.coerce(e, t, pae, R, H);\n  }\n  t._isShape = !0;\n  var a = n(\"visible\");\n  if (a) {\n    var i = n(\"showlegend\");\n    i && (n(\"legend\"), n(\"legendwidth\"), n(\"legendgroup\"), n(\"legendgrouptitle.text\"), Gf.coerceFont(n, \"legendgrouptitle.font\"), n(\"legendrank\"));\n    var o = n(\"path\"), l = o ? \"path\" : \"rect\", s = n(\"type\", l), u = s !== \"path\";\n    u && delete t.path, n(\"editable\"), n(\"layer\"), n(\"opacity\"), n(\"fillcolor\"), n(\"fillrule\");\n    var f = n(\"line.width\");\n    f && (n(\"line.color\"), n(\"line.dash\"));\n    for (var d = n(\"xsizemode\"), h = n(\"ysizemode\"), p = [\"x\", \"y\"], v = 0; v < 2; v++) {\n      var m = p[v], g = m + \"anchor\", y = m === \"x\" ? d : h, w = { _fullLayout: r }, k, x, _, T = qs.coerceRef(\n        e,\n        t,\n        w,\n        m,\n        void 0,\n        \"paper\"\n      ), S = qs.getRefType(T);\n      if (S === \"range\" ? (k = qs.getFromId(w, T), k._shapeIndices.push(t._index), _ = PM.rangeToShapePosition(k), x = PM.shapePositionToRange(k)) : x = _ = Gf.identity, u) {\n        var M = 0.25, L = 0.75, F = m + \"0\", $ = m + \"1\", I = e[F], O = e[$];\n        e[F] = x(e[F], !0), e[$] = x(e[$], !0), y === \"pixel\" ? (n(F, 0), n($, 10)) : (qs.coercePosition(t, w, n, T, F, M), qs.coercePosition(t, w, n, T, $, L)), t[F] = _(t[F]), t[$] = _(t[$]), e[F] = I, e[$] = O;\n      }\n      if (y === \"pixel\") {\n        var G = e[g];\n        e[g] = x(e[g], !0), qs.coercePosition(t, w, n, T, g, 0.25), t[g] = _(t[g]), e[g] = G;\n      }\n    }\n    u && Gf.noneOrAll(e, t, [\"x0\", \"x1\", \"y0\", \"y1\"]);\n    var K = s === \"line\", V, z;\n    if (u && (V = n(\"label.texttemplate\")), V || (z = n(\"label.text\")), z || V) {\n      n(\"label.textangle\");\n      var P = n(\"label.textposition\", K ? \"middle\" : \"middle center\");\n      n(\"label.xanchor\"), n(\"label.yanchor\", gae(K, P)), n(\"label.padding\"), Gf.coerceFont(n, \"label.font\", r.font);\n    }\n  }\n}\nvar bae = nr, $M = Ue;\nfunction _ae(e, t) {\n  return e ? \"bottom\" : t.indexOf(\"top\") !== -1 ? \"top\" : t.indexOf(\"bottom\") !== -1 ? \"bottom\" : \"middle\";\n}\nvar xae = function(t, r, n) {\n  n(\"newshape.visible\"), n(\"newshape.name\"), n(\"newshape.showlegend\"), n(\"newshape.legend\"), n(\"newshape.legendwidth\"), n(\"newshape.legendgroup\"), n(\"newshape.legendgrouptitle.text\"), $M.coerceFont(n, \"newshape.legendgrouptitle.font\"), n(\"newshape.legendrank\"), n(\"newshape.drawdirection\"), n(\"newshape.layer\"), n(\"newshape.fillcolor\"), n(\"newshape.fillrule\"), n(\"newshape.opacity\");\n  var a = n(\"newshape.line.width\");\n  if (a) {\n    var i = (t || {}).plot_bgcolor || \"#FFF\";\n    n(\"newshape.line.color\", bae.contrast(i)), n(\"newshape.line.dash\");\n  }\n  var o = t.dragmode === \"drawline\", l = n(\"newshape.label.text\"), s = n(\"newshape.label.texttemplate\");\n  if (l || s) {\n    n(\"newshape.label.textangle\");\n    var u = n(\"newshape.label.textposition\", o ? \"middle\" : \"middle center\");\n    n(\"newshape.label.xanchor\"), n(\"newshape.label.yanchor\", _ae(o, u)), n(\"newshape.label.padding\"), $M.coerceFont(n, \"newshape.label.font\", r.font);\n  }\n  n(\"activeshape.fillcolor\"), n(\"activeshape.opacity\");\n}, Xy = Ue, Ws = Cr, Iu = Np, p6 = xl, wae = function(t) {\n  var r = t._fullLayout, n = Xy.filterVisible(r.shapes);\n  if (!(!n.length || !t._fullData.length))\n    for (var a = 0; a < n.length; a++) {\n      var i = n[a];\n      i._extremes = {};\n      var o, l, s = Ws.getRefType(i.xref), u = Ws.getRefType(i.yref);\n      if (i.xref !== \"paper\" && s !== \"domain\") {\n        var f = i.xsizemode === \"pixel\" ? i.xanchor : i.x0, d = i.xsizemode === \"pixel\" ? i.xanchor : i.x1;\n        o = Ws.getFromId(t, i.xref), l = zM(o, f, d, i.path, Iu.paramIsX), l && (i._extremes[o._id] = Ws.findExtremes(o, l, Tae(i)));\n      }\n      if (i.yref !== \"paper\" && u !== \"domain\") {\n        var h = i.ysizemode === \"pixel\" ? i.yanchor : i.y0, p = i.ysizemode === \"pixel\" ? i.yanchor : i.y1;\n        o = Ws.getFromId(t, i.yref), l = zM(o, h, p, i.path, Iu.paramIsY), l && (i._extremes[o._id] = Ws.findExtremes(o, l, kae(i)));\n      }\n    }\n};\nfunction Tae(e) {\n  return m6(e.line.width, e.xsizemode, e.x0, e.x1, e.path, !1);\n}\nfunction kae(e) {\n  return m6(e.line.width, e.ysizemode, e.y0, e.y1, e.path, !0);\n}\nfunction m6(e, t, r, n, a, i) {\n  var o = e / 2, l = i;\n  if (t === \"pixel\") {\n    var s = a ? p6.extractPathCoords(a, i ? Iu.paramIsY : Iu.paramIsX) : [r, n], u = Xy.aggNums(Math.max, null, s), f = Xy.aggNums(Math.min, null, s), d = f < 0 ? Math.abs(f) + o : o, h = u > 0 ? u + o : o;\n    return {\n      ppad: o,\n      ppadplus: l ? d : h,\n      ppadminus: l ? h : d\n    };\n  } else\n    return { ppad: o };\n}\nfunction zM(e, t, r, n, a) {\n  var i = e.type === \"category\" || e.type === \"multicategory\" ? e.r2c : e.d2c;\n  if (t !== void 0) return [i(t), i(r)];\n  if (n) {\n    var o = 1 / 0, l = -1 / 0, s = n.match(Iu.segmentRE), u, f, d, h, p;\n    for (e.type === \"date\" && (i = p6.decodeDate(i)), u = 0; u < s.length; u++)\n      f = s[u], d = a[f.charAt(0)].drawn, d !== void 0 && (h = s[u].substr(1).match(Iu.paramRE), !(!h || h.length < d) && (p = i(h[d]), p < o && (o = p), p > l && (l = p)));\n    if (l >= o) return [o, l];\n  }\n}\nvar IM = Hb, Aae = {\n  moduleType: \"component\",\n  name: \"shapes\",\n  layoutAttributes: v6,\n  supplyLayoutDefaults: mae,\n  supplyDrawNewShapeDefaults: xae,\n  includeBasePlot: qp(\"shapes\"),\n  calcAutorange: wae,\n  draw: IM.draw,\n  drawOne: IM.drawOne\n}, NM = Yn, Mae = Mr.templatedArray, OM = Vp, g6 = Mae(\"image\", {\n  visible: {\n    valType: \"boolean\",\n    dflt: !0,\n    editType: \"arraydraw\",\n    description: [\n      \"Determines whether or not this image is visible.\"\n    ].join(\" \")\n  },\n  source: {\n    valType: \"string\",\n    editType: \"arraydraw\",\n    description: [\n      \"Specifies the URL of the image to be used.\",\n      \"The URL must be accessible from the domain where the\",\n      \"plot code is run, and can be either relative or absolute.\"\n    ].join(\" \")\n  },\n  layer: {\n    valType: \"enumerated\",\n    values: [\"below\", \"above\"],\n    dflt: \"above\",\n    editType: \"arraydraw\",\n    description: [\n      \"Specifies whether images are drawn below or above traces.\",\n      \"When `xref` and `yref` are both set to `paper`,\",\n      \"image is drawn below the entire plot area.\"\n    ].join(\" \")\n  },\n  sizex: {\n    valType: \"number\",\n    dflt: 0,\n    editType: \"arraydraw\",\n    description: [\n      \"Sets the image container size horizontally.\",\n      \"The image will be sized based on the `position` value.\",\n      \"When `xref` is set to `paper`, units are sized relative\",\n      \"to the plot width.\",\n      \"When `xref` ends with ` domain`, units are sized relative\",\n      \"to the axis width.\"\n    ].join(\" \")\n  },\n  sizey: {\n    valType: \"number\",\n    dflt: 0,\n    editType: \"arraydraw\",\n    description: [\n      \"Sets the image container size vertically.\",\n      \"The image will be sized based on the `position` value.\",\n      \"When `yref` is set to `paper`, units are sized relative\",\n      \"to the plot height.\",\n      \"When `yref` ends with ` domain`, units are sized relative\",\n      \"to the axis height.\"\n    ].join(\" \")\n  },\n  sizing: {\n    valType: \"enumerated\",\n    values: [\"fill\", \"contain\", \"stretch\"],\n    dflt: \"contain\",\n    editType: \"arraydraw\",\n    description: [\n      \"Specifies which dimension of the image to constrain.\"\n    ].join(\" \")\n  },\n  opacity: {\n    valType: \"number\",\n    min: 0,\n    max: 1,\n    dflt: 1,\n    editType: \"arraydraw\",\n    description: \"Sets the opacity of the image.\"\n  },\n  x: {\n    valType: \"any\",\n    dflt: 0,\n    editType: \"arraydraw\",\n    description: [\n      \"Sets the image's x position.\",\n      \"When `xref` is set to `paper`, units are sized relative\",\n      \"to the plot height.\",\n      \"See `xref` for more info\"\n    ].join(\" \")\n  },\n  y: {\n    valType: \"any\",\n    dflt: 0,\n    editType: \"arraydraw\",\n    description: [\n      \"Sets the image's y position.\",\n      \"When `yref` is set to `paper`, units are sized relative\",\n      \"to the plot height.\",\n      \"See `yref` for more info\"\n    ].join(\" \")\n  },\n  xanchor: {\n    valType: \"enumerated\",\n    values: [\"left\", \"center\", \"right\"],\n    dflt: \"left\",\n    editType: \"arraydraw\",\n    description: \"Sets the anchor for the x position\"\n  },\n  yanchor: {\n    valType: \"enumerated\",\n    values: [\"top\", \"middle\", \"bottom\"],\n    dflt: \"top\",\n    editType: \"arraydraw\",\n    description: \"Sets the anchor for the y position.\"\n  },\n  xref: {\n    valType: \"enumerated\",\n    values: [\n      \"paper\",\n      NM.idRegex.x.toString()\n    ],\n    dflt: \"paper\",\n    editType: \"arraydraw\",\n    description: [\n      \"Sets the images's x coordinate axis.\",\n      OM.axisRefDescription(\"x\", \"left\", \"right\")\n    ].join(\" \")\n  },\n  yref: {\n    valType: \"enumerated\",\n    values: [\n      \"paper\",\n      NM.idRegex.y.toString()\n    ],\n    dflt: \"paper\",\n    editType: \"arraydraw\",\n    description: [\n      \"Sets the images's y coordinate axis.\",\n      OM.axisRefDescription(\"y\", \"bottom\", \"top\")\n    ].join(\" \")\n  },\n  editType: \"arraydraw\"\n}), Sae = Ue, d0 = Cr, Cae = Ji, Lae = g6, Dae = \"images\", Eae = function(t, r) {\n  var n = {\n    name: Dae,\n    handleItemDefaults: Fae\n  };\n  Cae(t, r, n);\n};\nfunction Fae(e, t, r) {\n  function n(h, p) {\n    return Sae.coerce(e, t, Lae, h, p);\n  }\n  var a = n(\"source\"), i = n(\"visible\", !!a);\n  if (!i) return t;\n  n(\"layer\"), n(\"xanchor\"), n(\"yanchor\"), n(\"sizex\"), n(\"sizey\"), n(\"sizing\"), n(\"opacity\");\n  for (var o = { _fullLayout: r }, l = [\"x\", \"y\"], s = 0; s < 2; s++) {\n    var u = l[s], f = d0.coerceRef(e, t, o, u, \"paper\", void 0);\n    if (f !== \"paper\") {\n      var d = d0.getFromId(o, f);\n      d._imgIndices.push(t._index);\n    }\n    d0.coercePosition(t, o, n, f, u, 0);\n  }\n  return t;\n}\nvar HM = lr, Rae = Sr, Zs = Cr, BM = gn, Pae = yl, $ae = function(t) {\n  var r = t._fullLayout, n = [], a = {}, i = [], o, l;\n  for (l = 0; l < r.images.length; l++) {\n    var s = r.images[l];\n    if (s.visible)\n      if (s.layer === \"below\" && s.xref !== \"paper\" && s.yref !== \"paper\") {\n        o = BM.ref2id(s.xref) + BM.ref2id(s.yref);\n        var u = r._plots[o];\n        if (!u) {\n          i.push(s);\n          continue;\n        }\n        u.mainplot && (o = u.mainplot.id), a[o] || (a[o] = []), a[o].push(s);\n      } else s.layer === \"above\" ? n.push(s) : i.push(s);\n  }\n  var f = {\n    x: {\n      left: { sizing: \"xMin\", offset: 0 },\n      center: { sizing: \"xMid\", offset: -1 / 2 },\n      right: { sizing: \"xMax\", offset: -1 }\n    },\n    y: {\n      top: { sizing: \"YMin\", offset: 0 },\n      middle: { sizing: \"YMid\", offset: -1 / 2 },\n      bottom: { sizing: \"YMax\", offset: -1 }\n    }\n  };\n  function d(w) {\n    var k = HM.select(this);\n    if (this._imgSrc !== w.source)\n      if (k.attr(\"xmlns\", Pae.svg), w.source && w.source.slice(0, 5) === \"data:\")\n        k.attr(\"xlink:href\", w.source), this._imgSrc = w.source;\n      else {\n        var x = new Promise((function(_) {\n          var T = new Image();\n          this.img = T, T.setAttribute(\"crossOrigin\", \"anonymous\"), T.onerror = S, T.onload = function() {\n            var M = document.createElement(\"canvas\");\n            M.width = this.width, M.height = this.height;\n            var L = M.getContext(\"2d\", { willReadFrequently: !0 });\n            L.drawImage(this, 0, 0);\n            var F = M.toDataURL(\"image/png\");\n            k.attr(\"xlink:href\", F), _();\n          }, k.on(\"error\", S), T.src = w.source, this._imgSrc = w.source;\n          function S() {\n            k.remove(), _();\n          }\n        }).bind(this));\n        t._promises.push(x);\n      }\n  }\n  function h(w) {\n    var k = HM.select(this), x = Zs.getFromId(t, w.xref), _ = Zs.getFromId(t, w.yref), T = Zs.getRefType(w.xref) === \"domain\", S = Zs.getRefType(w.yref) === \"domain\", M = r._size, L, F;\n    x !== void 0 ? L = typeof w.xref == \"string\" && T ? x._length * w.sizex : Math.abs(x.l2p(w.sizex) - x.l2p(0)) : L = w.sizex * M.w, _ !== void 0 ? F = typeof w.yref == \"string\" && S ? _._length * w.sizey : Math.abs(_.l2p(w.sizey) - _.l2p(0)) : F = w.sizey * M.h;\n    var $ = L * f.x[w.xanchor].offset, I = F * f.y[w.yanchor].offset, O = f.x[w.xanchor].sizing + f.y[w.yanchor].sizing, G, K;\n    switch (x !== void 0 ? G = typeof w.xref == \"string\" && T ? x._length * w.x + x._offset : x.r2p(w.x) + x._offset : G = w.x * M.w + M.l, G += $, _ !== void 0 ? K = typeof w.yref == \"string\" && S ? (\n      // consistent with \"paper\" yref value, where positive values\n      // move up the page\n      _._length * (1 - w.y) + _._offset\n    ) : _.r2p(w.y) + _._offset : K = M.h - w.y * M.h + M.t, K += I, w.sizing) {\n      case \"fill\":\n        O += \" slice\";\n        break;\n      case \"stretch\":\n        O = \"none\";\n        break;\n    }\n    k.attr({\n      x: G,\n      y: K,\n      width: L,\n      height: F,\n      preserveAspectRatio: O,\n      opacity: w.opacity\n    });\n    var V = x && Zs.getRefType(w.xref) !== \"domain\" ? x._id : \"\", z = _ && Zs.getRefType(w.yref) !== \"domain\" ? _._id : \"\", P = V + z;\n    Rae.setClipUrl(\n      k,\n      P ? \"clip\" + r._uid + P : null,\n      t\n    );\n  }\n  var p = r._imageLowerLayer.selectAll(\"image\").data(i), v = r._imageUpperLayer.selectAll(\"image\").data(n);\n  p.enter().append(\"image\"), v.enter().append(\"image\"), p.exit().remove(), v.exit().remove(), p.each(function(w) {\n    d.bind(this)(w), h.bind(this)(w);\n  }), v.each(function(w) {\n    d.bind(this)(w), h.bind(this)(w);\n  });\n  var m = Object.keys(r._plots);\n  for (l = 0; l < m.length; l++) {\n    o = m[l];\n    var g = r._plots[o];\n    if (g.imagelayer) {\n      var y = g.imagelayer.selectAll(\"image\").data(a[o] || []);\n      y.enter().append(\"image\"), y.exit().remove(), y.each(function(w) {\n        d.bind(this)(w), h.bind(this)(w);\n      });\n    }\n  }\n}, jM = sr, zae = U1, Iae = function(t, r, n, a) {\n  r = r || {};\n  var i = n === \"log\" && r.type === \"linear\", o = n === \"linear\" && r.type === \"log\";\n  if (i || o) {\n    for (var l = t._fullLayout.images, s = r._id.charAt(0), u, f, d = 0; d < l.length; d++)\n      if (u = l[d], f = \"images[\" + d + \"].\", u[s + \"ref\"] === r._id) {\n        var h = u[s], p = u[\"size\" + s], v = null, m = null;\n        if (i) {\n          v = zae(h, r.range);\n          var g = p / Math.pow(10, v) / 2;\n          m = 2 * Math.log(g + Math.sqrt(1 + g * g)) / Math.LN10;\n        } else\n          v = Math.pow(10, h), m = v * (Math.pow(10, p / 2) - Math.pow(10, -p / 2));\n        jM(v) ? jM(m) || (m = null) : (v = null, m = null), a(f + s, v), a(f + \"size\" + s, m);\n      }\n  }\n}, Nae = {\n  moduleType: \"component\",\n  name: \"images\",\n  layoutAttributes: g6,\n  supplyLayoutDefaults: Eae,\n  includeBasePlot: qp(\"images\"),\n  draw: $ae,\n  convertCoords: Iae\n}, h_ = {\n  // layout attribute name\n  name: \"updatemenus\",\n  // class names\n  containerClassName: \"updatemenu-container\",\n  headerGroupClassName: \"updatemenu-header-group\",\n  headerClassName: \"updatemenu-header\",\n  headerArrowClassName: \"updatemenu-header-arrow\",\n  dropdownButtonGroupClassName: \"updatemenu-dropdown-button-group\",\n  dropdownButtonClassName: \"updatemenu-dropdown-button\",\n  buttonClassName: \"updatemenu-button\",\n  itemRectClassName: \"updatemenu-item-rect\",\n  itemTextClassName: \"updatemenu-item-text\",\n  // DOM attribute name in button group keeping track\n  // of active update menu\n  menuIndexAttrName: \"updatemenu-active-index\",\n  // id root pass to Plots.autoMargin\n  autoMarginIdRoot: \"updatemenu-\",\n  // options when 'active: -1'\n  blankHeaderOpts: { label: \"  \" },\n  // min item width / height\n  minWidth: 30,\n  minHeight: 30,\n  // padding around item text\n  textPadX: 24,\n  arrowPadX: 16,\n  // item rect radii\n  rx: 2,\n  ry: 2,\n  // item  text x offset off left edge\n  textOffsetX: 12,\n  // item  text y offset (w.r.t. middle)\n  textOffsetY: 3,\n  // arrow offset off right edge\n  arrowOffsetX: 4,\n  // gap between header and buttons\n  gapButtonHeader: 5,\n  // gap between between buttons\n  gapButton: 2,\n  // color given to active buttons\n  activeColor: \"#F4FAFF\",\n  // color given to hovered buttons\n  hoverColor: \"#F4FAFF\",\n  // symbol for menu open arrow\n  arrowSymbol: {\n    left: \"◄\",\n    right: \"►\",\n    up: \"▲\",\n    down: \"▼\"\n  }\n}, Oae = Fn, Hae = da, Bae = en.extendFlat, jae = Lo.overrideAll, Uae = J1, y6 = Mr.templatedArray, Gae = y6(\"button\", {\n  visible: {\n    valType: \"boolean\",\n    description: \"Determines whether or not this button is visible.\"\n  },\n  method: {\n    valType: \"enumerated\",\n    values: [\"restyle\", \"relayout\", \"animate\", \"update\", \"skip\"],\n    dflt: \"restyle\",\n    description: [\n      \"Sets the Plotly method to be called on click.\",\n      \"If the `skip` method is used, the API updatemenu will function as normal\",\n      \"but will perform no API calls and will not bind automatically to state\",\n      \"updates. This may be used to create a component interface and attach to\",\n      \"updatemenu events manually via JavaScript.\"\n    ].join(\" \")\n  },\n  args: {\n    valType: \"info_array\",\n    freeLength: !0,\n    items: [\n      { valType: \"any\" },\n      { valType: \"any\" },\n      { valType: \"any\" }\n    ],\n    description: [\n      \"Sets the arguments values to be passed to the Plotly\",\n      \"method set in `method` on click.\"\n    ].join(\" \")\n  },\n  args2: {\n    valType: \"info_array\",\n    freeLength: !0,\n    items: [\n      { valType: \"any\" },\n      { valType: \"any\" },\n      { valType: \"any\" }\n    ],\n    description: [\n      \"Sets a 2nd set of `args`,\",\n      \"these arguments values are passed to the Plotly\",\n      \"method set in `method` when clicking this button while in the active state.\",\n      \"Use this to create toggle buttons.\"\n    ].join(\" \")\n  },\n  label: {\n    valType: \"string\",\n    dflt: \"\",\n    description: \"Sets the text label to appear on the button.\"\n  },\n  execute: {\n    valType: \"boolean\",\n    dflt: !0,\n    description: [\n      \"When true, the API method is executed. When false, all other behaviors are the same\",\n      \"and command execution is skipped. This may be useful when hooking into, for example,\",\n      \"the `plotly_buttonclicked` method and executing the API command manually without losing\",\n      \"the benefit of the updatemenu automatically binding to the state of the plot through the\",\n      \"specification of `method` and `args`.\"\n    ].join(\" \")\n  }\n}), b6 = jae(y6(\"updatemenu\", {\n  _arrayAttrRegexps: [/^updatemenus\\[(0|[1-9][0-9]+)\\]\\.buttons/],\n  visible: {\n    valType: \"boolean\",\n    description: [\n      \"Determines whether or not the update menu is visible.\"\n    ].join(\" \")\n  },\n  type: {\n    valType: \"enumerated\",\n    values: [\"dropdown\", \"buttons\"],\n    dflt: \"dropdown\",\n    description: [\n      \"Determines whether the buttons are accessible via a dropdown menu\",\n      \"or whether the buttons are stacked horizontally or vertically\"\n    ].join(\" \")\n  },\n  direction: {\n    valType: \"enumerated\",\n    values: [\"left\", \"right\", \"up\", \"down\"],\n    dflt: \"down\",\n    description: [\n      \"Determines the direction in which the buttons are laid out, whether\",\n      \"in a dropdown menu or a row/column of buttons. For `left` and `up`,\",\n      \"the buttons will still appear in left-to-right or top-to-bottom order\",\n      \"respectively.\"\n    ].join(\" \")\n  },\n  active: {\n    valType: \"integer\",\n    min: -1,\n    dflt: 0,\n    description: [\n      \"Determines which button (by index starting from 0) is\",\n      \"considered active.\"\n    ].join(\" \")\n  },\n  showactive: {\n    valType: \"boolean\",\n    dflt: !0,\n    description: \"Highlights active dropdown item or active button if true.\"\n  },\n  buttons: Gae,\n  x: {\n    valType: \"number\",\n    min: -2,\n    max: 3,\n    dflt: -0.05,\n    description: \"Sets the x position (in normalized coordinates) of the update menu.\"\n  },\n  xanchor: {\n    valType: \"enumerated\",\n    values: [\"auto\", \"left\", \"center\", \"right\"],\n    dflt: \"right\",\n    description: [\n      \"Sets the update menu's horizontal position anchor.\",\n      \"This anchor binds the `x` position to the *left*, *center*\",\n      \"or *right* of the range selector.\"\n    ].join(\" \")\n  },\n  y: {\n    valType: \"number\",\n    min: -2,\n    max: 3,\n    dflt: 1,\n    description: \"Sets the y position (in normalized coordinates) of the update menu.\"\n  },\n  yanchor: {\n    valType: \"enumerated\",\n    values: [\"auto\", \"top\", \"middle\", \"bottom\"],\n    dflt: \"top\",\n    description: [\n      \"Sets the update menu's vertical position anchor\",\n      \"This anchor binds the `y` position to the *top*, *middle*\",\n      \"or *bottom* of the range selector.\"\n    ].join(\" \")\n  },\n  pad: Bae(Uae({ editType: \"arraydraw\" }), {\n    description: \"Sets the padding around the buttons or dropdown menu.\"\n  }),\n  font: Oae({\n    description: \"Sets the font of the update menu button text.\"\n  }),\n  bgcolor: {\n    valType: \"color\",\n    description: \"Sets the background color of the update menu buttons.\"\n  },\n  bordercolor: {\n    valType: \"color\",\n    dflt: Hae.borderLine,\n    description: \"Sets the color of the border enclosing the update menu.\"\n  },\n  borderwidth: {\n    valType: \"number\",\n    min: 0,\n    dflt: 1,\n    editType: \"arraydraw\",\n    description: \"Sets the width (in px) of the border enclosing the update menu.\"\n  }\n}), \"arraydraw\", \"from-root\"), qh = Ue, _6 = Ji, x6 = b6, Vae = h_, qae = Vae.name, Wae = x6.buttons, Zae = function(t, r) {\n  var n = {\n    name: qae,\n    handleItemDefaults: Yae\n  };\n  _6(t, r, n);\n};\nfunction Yae(e, t, r) {\n  function n(o, l) {\n    return qh.coerce(e, t, x6, o, l);\n  }\n  var a = _6(e, t, {\n    name: \"buttons\",\n    handleItemDefaults: Xae\n  }), i = n(\"visible\", a.length > 0);\n  i && (n(\"active\"), n(\"direction\"), n(\"type\"), n(\"showactive\"), n(\"x\"), n(\"y\"), qh.noneOrAll(e, t, [\"x\", \"y\"]), n(\"xanchor\"), n(\"yanchor\"), n(\"pad.t\"), n(\"pad.r\"), n(\"pad.b\"), n(\"pad.l\"), qh.coerceFont(n, \"font\", r.font), n(\"bgcolor\", r.paper_bgcolor), n(\"bordercolor\"), n(\"borderwidth\"));\n}\nfunction Xae(e, t) {\n  function r(a, i) {\n    return qh.coerce(e, t, Wae, a, i);\n  }\n  var n = r(\n    \"visible\",\n    e.method === \"skip\" || Array.isArray(e.args)\n  );\n  n && (r(\"method\"), r(\"args\"), r(\"args2\"), r(\"label\"), r(\"execute\"));\n}\nvar Kae = Br, fi = lr, UM = nr, _u = Sr, Dv = Ue;\nfunction Br(e, t, r) {\n  this.gd = e, this.container = t, this.id = r, this.position = null, this.translateX = null, this.translateY = null, this.hbar = null, this.vbar = null, this.bg = this.container.selectAll(\"rect.scrollbox-bg\").data([0]), this.bg.exit().on(\".drag\", null).on(\"wheel\", null).remove(), this.bg.enter().append(\"rect\").classed(\"scrollbox-bg\", !0).style(\"pointer-events\", \"all\").attr({\n    opacity: 0,\n    x: 0,\n    y: 0,\n    width: 0,\n    height: 0\n  });\n}\nBr.barWidth = 2;\nBr.barLength = 20;\nBr.barRadius = 2;\nBr.barPad = 1;\nBr.barColor = \"#808BA4\";\nBr.prototype.enable = function(t, r, n) {\n  var a = this.gd._fullLayout, i = a.width, o = a.height;\n  this.position = t;\n  var l = this.position.l, s = this.position.w, u = this.position.t, f = this.position.h, d = this.position.direction, h = d === \"down\", p = d === \"left\", v = d === \"right\", m = d === \"up\", g = s, y = f, w, k, x, _;\n  !h && !p && !v && !m && (this.position.direction = \"down\", h = !0);\n  var T = h || m;\n  T ? (w = l, k = w + g, h ? (x = u, _ = Math.min(x + y, o), y = _ - x) : (_ = u + y, x = Math.max(_ - y, 0), y = _ - x)) : (x = u, _ = x + y, p ? (k = l + g, w = Math.max(k - g, 0), g = k - w) : (w = l, k = Math.min(w + g, i), g = k - w)), this._box = {\n    l: w,\n    t: x,\n    w: g,\n    h: y\n  };\n  var S = s > g, M = Br.barLength + 2 * Br.barPad, L = Br.barWidth + 2 * Br.barPad, F = l, $ = u + f;\n  $ + L > o && ($ = o - L);\n  var I = this.container.selectAll(\"rect.scrollbar-horizontal\").data(\n    S ? [0] : []\n  );\n  I.exit().on(\".drag\", null).remove(), I.enter().append(\"rect\").classed(\"scrollbar-horizontal\", !0).call(UM.fill, Br.barColor), S ? (this.hbar = I.attr({\n    rx: Br.barRadius,\n    ry: Br.barRadius,\n    x: F,\n    y: $,\n    width: M,\n    height: L\n  }), this._hbarXMin = F + M / 2, this._hbarTranslateMax = g - M) : (delete this.hbar, delete this._hbarXMin, delete this._hbarTranslateMax);\n  var O = f > y, G = Br.barWidth + 2 * Br.barPad, K = Br.barLength + 2 * Br.barPad, V = l + s, z = u;\n  V + G > i && (V = i - G);\n  var P = this.container.selectAll(\"rect.scrollbar-vertical\").data(\n    O ? [0] : []\n  );\n  P.exit().on(\".drag\", null).remove(), P.enter().append(\"rect\").classed(\"scrollbar-vertical\", !0).call(UM.fill, Br.barColor), O ? (this.vbar = P.attr({\n    rx: Br.barRadius,\n    ry: Br.barRadius,\n    x: V,\n    y: z,\n    width: G,\n    height: K\n  }), this._vbarYMin = z + K / 2, this._vbarTranslateMax = y - K) : (delete this.vbar, delete this._vbarYMin, delete this._vbarTranslateMax);\n  var R = this.id, H = w - 0.5, B = O ? k + G + 0.5 : k + 0.5, W = x - 0.5, ee = S ? _ + L + 0.5 : _ + 0.5, re = a._topdefs.selectAll(\"#\" + R).data(S || O ? [0] : []);\n  if (re.exit().remove(), re.enter().append(\"clipPath\").attr(\"id\", R).append(\"rect\"), S || O ? (this._clipRect = re.select(\"rect\").attr({\n    x: Math.floor(H),\n    y: Math.floor(W),\n    width: Math.ceil(B) - Math.floor(H),\n    height: Math.ceil(ee) - Math.floor(W)\n  }), this.container.call(_u.setClipUrl, R, this.gd), this.bg.attr({\n    x: l,\n    y: u,\n    width: s,\n    height: f\n  })) : (this.bg.attr({\n    width: 0,\n    height: 0\n  }), this.container.on(\"wheel\", null).on(\".drag\", null).call(_u.setClipUrl, null), delete this._clipRect), S || O) {\n    var ae = fi.behavior.drag().on(\"dragstart\", function() {\n      fi.event.sourceEvent.preventDefault();\n    }).on(\"drag\", this._onBoxDrag.bind(this));\n    this.container.on(\"wheel\", null).on(\"wheel\", this._onBoxWheel.bind(this)).on(\".drag\", null).call(ae);\n    var Q = fi.behavior.drag().on(\"dragstart\", function() {\n      fi.event.sourceEvent.preventDefault(), fi.event.sourceEvent.stopPropagation();\n    }).on(\"drag\", this._onBarDrag.bind(this));\n    S && this.hbar.on(\".drag\", null).call(Q), O && this.vbar.on(\".drag\", null).call(Q);\n  }\n  this.setTranslate(r, n);\n};\nBr.prototype.disable = function() {\n  (this.hbar || this.vbar) && (this.bg.attr({\n    width: 0,\n    height: 0\n  }), this.container.on(\"wheel\", null).on(\".drag\", null).call(_u.setClipUrl, null), delete this._clipRect), this.hbar && (this.hbar.on(\".drag\", null), this.hbar.remove(), delete this.hbar, delete this._hbarXMin, delete this._hbarTranslateMax), this.vbar && (this.vbar.on(\".drag\", null), this.vbar.remove(), delete this.vbar, delete this._vbarYMin, delete this._vbarTranslateMax);\n};\nBr.prototype._onBoxDrag = function() {\n  var t = this.translateX, r = this.translateY;\n  this.hbar && (t -= fi.event.dx), this.vbar && (r -= fi.event.dy), this.setTranslate(t, r);\n};\nBr.prototype._onBoxWheel = function() {\n  var t = this.translateX, r = this.translateY;\n  this.hbar && (t += fi.event.deltaY), this.vbar && (r += fi.event.deltaY), this.setTranslate(t, r);\n};\nBr.prototype._onBarDrag = function() {\n  var t = this.translateX, r = this.translateY;\n  if (this.hbar) {\n    var n = t + this._hbarXMin, a = n + this._hbarTranslateMax, i = Dv.constrain(fi.event.x, n, a), o = (i - n) / (a - n), l = this.position.w - this._box.w;\n    t = o * l;\n  }\n  if (this.vbar) {\n    var s = r + this._vbarYMin, u = s + this._vbarTranslateMax, f = Dv.constrain(fi.event.y, s, u), d = (f - s) / (u - s), h = this.position.h - this._box.h;\n    r = d * h;\n  }\n  this.setTranslate(t, r);\n};\nBr.prototype.setTranslate = function(t, r) {\n  var n = this.position.w - this._box.w, a = this.position.h - this._box.h;\n  if (t = Dv.constrain(t || 0, 0, n), r = Dv.constrain(r || 0, 0, a), this.translateX = t, this.translateY = r, this.container.call(\n    _u.setTranslate,\n    this._box.l - this.position.l - t,\n    this._box.t - this.position.t - r\n  ), this._clipRect && this._clipRect.attr({\n    x: Math.floor(this.position.l + t - 0.5),\n    y: Math.floor(this.position.t + r - 0.5)\n  }), this.hbar) {\n    var i = t / n;\n    this.hbar.call(\n      _u.setTranslate,\n      t + i * this._hbarTranslateMax,\n      r\n    );\n  }\n  if (this.vbar) {\n    var o = r / a;\n    this.vbar.call(\n      _u.setTranslate,\n      t,\n      r + o * this._vbarTranslateMax\n    );\n  }\n};\nvar Nu = lr, zc = Tn, Ic = nr, Ou = Sr, ba = Ue, Ev = Rn, Jae = Mr.arrayEditor, w6 = On.LINE_SPACING, Bt = h_, Qae = Kae, eie = function(t) {\n  var r = t._fullLayout, n = ba.filterVisible(r[Bt.name]);\n  function a(h) {\n    zc.autoMargin(t, S6(h));\n  }\n  var i = r._menulayer.selectAll(\"g.\" + Bt.containerClassName).data(n.length > 0 ? [0] : []);\n  if (i.enter().append(\"g\").classed(Bt.containerClassName, !0).style(\"cursor\", \"pointer\"), i.exit().each(function() {\n    Nu.select(this).selectAll(\"g.\" + Bt.headerGroupClassName).each(a);\n  }).remove(), n.length !== 0) {\n    var o = i.selectAll(\"g.\" + Bt.headerGroupClassName).data(n, tie);\n    o.enter().append(\"g\").classed(Bt.headerGroupClassName, !0);\n    for (var l = ba.ensureSingle(i, \"g\", Bt.dropdownButtonGroupClassName, function(h) {\n      h.style(\"pointer-events\", \"all\");\n    }), s = 0; s < n.length; s++) {\n      var u = n[s];\n      lie(t, u);\n    }\n    var f = \"updatemenus\" + r._uid, d = new Qae(t, l, f);\n    o.enter().size() && (l.node().parentNode.appendChild(l.node()), l.call(Jy)), o.exit().each(function(h) {\n      l.call(Jy), a(h);\n    }).remove(), o.each(function(h) {\n      var p = Nu.select(this), v = h.type === \"dropdown\" ? l : null;\n      zc.manageCommandObserver(t, h, h.buttons, function(m) {\n        Ky(t, h, h.buttons[m.index], p, v, d, m.index, !0);\n      }), h.type === \"dropdown\" ? (k6(t, p, l, d, h), T6(l, h) && Nc(t, p, l, d, h)) : Nc(t, p, null, null, h);\n    });\n  }\n};\nfunction tie(e) {\n  return e._index;\n}\nfunction rie(e) {\n  return +e.attr(Bt.menuIndexAttrName) == -1;\n}\nfunction T6(e, t) {\n  return +e.attr(Bt.menuIndexAttrName) === t._index;\n}\nfunction Ky(e, t, r, n, a, i, o, l) {\n  t.active = o, Jae(e.layout, Bt.name, t).applyUpdate(\"active\", o), t.type === \"buttons\" ? Nc(e, n, null, null, t) : t.type === \"dropdown\" && (a.attr(Bt.menuIndexAttrName, \"-1\"), k6(e, n, a, i, t), l || Nc(e, n, a, i, t));\n}\nfunction k6(e, t, r, n, a) {\n  var i = ba.ensureSingle(t, \"g\", Bt.headerClassName, function(h) {\n    h.style(\"pointer-events\", \"all\");\n  }), o = a._dims, l = a.active, s = a.buttons[l] || Bt.blankHeaderOpts, u = { y: a.pad.t, yPad: 0, x: a.pad.l, xPad: 0, index: 0 }, f = {\n    width: o.headerWidth,\n    height: o.headerHeight\n  };\n  i.call(v_, a, s, e).call(C6, a, u, f);\n  var d = ba.ensureSingle(t, \"text\", Bt.headerArrowClassName, function(h) {\n    h.attr(\"text-anchor\", \"end\").call(Ou.font, a.font).text(Bt.arrowSymbol[a.direction]);\n  });\n  d.attr({\n    x: o.headerWidth - Bt.arrowOffsetX + a.pad.l,\n    y: o.headerHeight / 2 + Bt.textOffsetY + a.pad.t\n  }), i.on(\"click\", function() {\n    r.call(\n      Jy,\n      String(T6(r, a) ? -1 : a._index)\n    ), Nc(e, t, r, n, a);\n  }), i.on(\"mouseover\", function() {\n    i.call(A6);\n  }), i.on(\"mouseout\", function() {\n    i.call(M6, a);\n  }), Ou.setTranslate(t, o.lx, o.ly);\n}\nfunction Nc(e, t, r, n, a) {\n  r || (r = t, r.attr(\"pointer-events\", \"all\"));\n  var i = !rie(r) || a.type === \"buttons\" ? a.buttons : [], o = a.type === \"dropdown\" ? Bt.dropdownButtonClassName : Bt.buttonClassName, l = r.selectAll(\"g.\" + o).data(ba.filterVisible(i)), s = l.enter().append(\"g\").classed(o, !0), u = l.exit();\n  a.type === \"dropdown\" ? (s.attr(\"opacity\", \"0\").transition().attr(\"opacity\", \"1\"), u.transition().attr(\"opacity\", \"0\").remove()) : u.remove();\n  var f = 0, d = 0, h = a._dims, p = [\"up\", \"down\"].indexOf(a.direction) !== -1;\n  a.type === \"dropdown\" && (p ? d = h.headerHeight + Bt.gapButtonHeader : f = h.headerWidth + Bt.gapButtonHeader), a.type === \"dropdown\" && a.direction === \"up\" && (d = -Bt.gapButtonHeader + Bt.gapButton - h.openHeight), a.type === \"dropdown\" && a.direction === \"left\" && (f = -Bt.gapButtonHeader + Bt.gapButton - h.openWidth);\n  var v = {\n    x: h.lx + f + a.pad.l,\n    y: h.ly + d + a.pad.t,\n    yPad: Bt.gapButton,\n    xPad: Bt.gapButton,\n    index: 0\n  }, m = {\n    l: v.x + a.borderwidth,\n    t: v.y + a.borderwidth\n  };\n  l.each(function(g, y) {\n    var w = Nu.select(this);\n    w.call(v_, a, g, e).call(C6, a, v), w.on(\"click\", function() {\n      Nu.event.defaultPrevented || (g.execute && (g.args2 && a.active === y ? (Ky(e, a, g, t, r, n, -1), zc.executeAPICommand(e, g.method, g.args2)) : (Ky(e, a, g, t, r, n, y), zc.executeAPICommand(e, g.method, g.args))), e.emit(\"plotly_buttonclicked\", { menu: a, button: g, active: a.active }));\n    }), w.on(\"mouseover\", function() {\n      w.call(A6);\n    }), w.on(\"mouseout\", function() {\n      w.call(M6, a), l.call(GM, a);\n    });\n  }), l.call(GM, a), p ? (m.w = Math.max(h.openWidth, h.headerWidth), m.h = v.y - m.t) : (m.w = v.x - m.l, m.h = Math.max(h.openHeight, h.headerHeight)), m.direction = a.direction, n && (l.size() ? nie(e, t, r, n, a, m) : aie(n));\n}\nfunction nie(e, t, r, n, a, i) {\n  var o = a.direction, l = o === \"up\" || o === \"down\", s = a._dims, u = a.active, f, d, h;\n  if (l)\n    for (d = 0, h = 0; h < u; h++)\n      d += s.heights[h] + Bt.gapButton;\n  else\n    for (f = 0, h = 0; h < u; h++)\n      f += s.widths[h] + Bt.gapButton;\n  n.enable(i, f, d), n.hbar && n.hbar.attr(\"opacity\", \"0\").transition().attr(\"opacity\", \"1\"), n.vbar && n.vbar.attr(\"opacity\", \"0\").transition().attr(\"opacity\", \"1\");\n}\nfunction aie(e) {\n  var t = !!e.hbar, r = !!e.vbar;\n  t && e.hbar.transition().attr(\"opacity\", \"0\").each(\"end\", function() {\n    t = !1, r || e.disable();\n  }), r && e.vbar.transition().attr(\"opacity\", \"0\").each(\"end\", function() {\n    r = !1, t || e.disable();\n  });\n}\nfunction v_(e, t, r, n) {\n  e.call(iie, t).call(oie, t, r, n);\n}\nfunction iie(e, t) {\n  var r = ba.ensureSingle(e, \"rect\", Bt.itemRectClassName, function(n) {\n    n.attr({\n      rx: Bt.rx,\n      ry: Bt.ry,\n      \"shape-rendering\": \"crispEdges\"\n    });\n  });\n  r.call(Ic.stroke, t.bordercolor).call(Ic.fill, t.bgcolor).style(\"stroke-width\", t.borderwidth + \"px\");\n}\nfunction oie(e, t, r, n) {\n  var a = ba.ensureSingle(e, \"text\", Bt.itemTextClassName, function(l) {\n    l.attr({\n      \"text-anchor\": \"start\",\n      \"data-notex\": 1\n    });\n  }), i = r.label, o = n._fullLayout._meta;\n  o && (i = ba.templateString(i, o)), a.call(Ou.font, t.font).text(i).call(Ev.convertToTspans, n);\n}\nfunction GM(e, t) {\n  var r = t.active;\n  e.each(function(n, a) {\n    var i = Nu.select(this);\n    a === r && t.showactive && i.select(\"rect.\" + Bt.itemRectClassName).call(Ic.fill, Bt.activeColor);\n  });\n}\nfunction A6(e) {\n  e.select(\"rect.\" + Bt.itemRectClassName).call(Ic.fill, Bt.hoverColor);\n}\nfunction M6(e, t) {\n  e.select(\"rect.\" + Bt.itemRectClassName).call(Ic.fill, t.bgcolor);\n}\nfunction lie(e, t) {\n  var r = t._dims = {\n    width1: 0,\n    height1: 0,\n    heights: [],\n    widths: [],\n    totalWidth: 0,\n    totalHeight: 0,\n    openWidth: 0,\n    openHeight: 0,\n    lx: 0,\n    ly: 0\n  }, n = Ou.tester.selectAll(\"g.\" + Bt.dropdownButtonClassName).data(ba.filterVisible(t.buttons));\n  n.enter().append(\"g\").classed(Bt.dropdownButtonClassName, !0);\n  var a = [\"up\", \"down\"].indexOf(t.direction) !== -1;\n  n.each(function(f, d) {\n    var h = Nu.select(this);\n    h.call(v_, t, f, e);\n    var p = h.select(\".\" + Bt.itemTextClassName), v = p.node() && Ou.bBox(p.node()).width, m = Math.max(v + Bt.textPadX, Bt.minWidth), g = t.font.size * w6, y = Ev.lineCount(p), w = Math.max(g * y, Bt.minHeight) + Bt.textOffsetY;\n    w = Math.ceil(w), m = Math.ceil(m), r.widths[d] = m, r.heights[d] = w, r.height1 = Math.max(r.height1, w), r.width1 = Math.max(r.width1, m), a ? (r.totalWidth = Math.max(r.totalWidth, m), r.openWidth = r.totalWidth, r.totalHeight += w + Bt.gapButton, r.openHeight += w + Bt.gapButton) : (r.totalWidth += m + Bt.gapButton, r.openWidth += m + Bt.gapButton, r.totalHeight = Math.max(r.totalHeight, w), r.openHeight = r.totalHeight);\n  }), a ? r.totalHeight -= Bt.gapButton : r.totalWidth -= Bt.gapButton, r.headerWidth = r.width1 + Bt.arrowPadX, r.headerHeight = r.height1, t.type === \"dropdown\" && (a ? (r.width1 += Bt.arrowPadX, r.totalHeight = r.height1) : r.totalWidth = r.width1, r.totalWidth += Bt.arrowPadX), n.remove();\n  var i = r.totalWidth + t.pad.l + t.pad.r, o = r.totalHeight + t.pad.t + t.pad.b, l = e._fullLayout._size;\n  r.lx = l.l + l.w * t.x, r.ly = l.t + l.h * (1 - t.y);\n  var s = \"left\";\n  ba.isRightAnchor(t) && (r.lx -= i, s = \"right\"), ba.isCenterAnchor(t) && (r.lx -= i / 2, s = \"center\");\n  var u = \"top\";\n  ba.isBottomAnchor(t) && (r.ly -= o, u = \"bottom\"), ba.isMiddleAnchor(t) && (r.ly -= o / 2, u = \"middle\"), r.totalWidth = Math.ceil(r.totalWidth), r.totalHeight = Math.ceil(r.totalHeight), r.lx = Math.round(r.lx), r.ly = Math.round(r.ly), zc.autoMargin(e, S6(t), {\n    x: t.x,\n    y: t.y,\n    l: i * ({ right: 1, center: 0.5 }[s] || 0),\n    r: i * ({ left: 1, center: 0.5 }[s] || 0),\n    b: o * ({ top: 1, middle: 0.5 }[u] || 0),\n    t: o * ({ bottom: 1, middle: 0.5 }[u] || 0)\n  });\n}\nfunction S6(e) {\n  return Bt.autoMarginIdRoot + e._index;\n}\nfunction C6(e, t, r, n) {\n  n = n || {};\n  var a = e.select(\".\" + Bt.itemRectClassName), i = e.select(\".\" + Bt.itemTextClassName), o = t.borderwidth, l = r.index, s = t._dims;\n  Ou.setTranslate(e, o + r.x, o + r.y);\n  var u = [\"up\", \"down\"].indexOf(t.direction) !== -1, f = n.height || (u ? s.heights[l] : s.height1);\n  a.attr({\n    x: 0,\n    y: 0,\n    width: n.width || (u ? s.width1 : s.widths[l]),\n    height: f\n  });\n  var d = t.font.size * w6, h = Ev.lineCount(i), p = (h - 1) * d / 2;\n  Ev.positionText(\n    i,\n    Bt.textOffsetX,\n    f / 2 - p + Bt.textOffsetY\n  ), u ? r.y += s.heights[l] + r.yPad : r.x += s.widths[l] + r.xPad, r.index++;\n}\nfunction Jy(e, t) {\n  e.attr(Bt.menuIndexAttrName, t || \"-1\").selectAll(\"g.\" + Bt.dropdownButtonClassName).remove();\n}\nvar sie = h_, uie = {\n  moduleType: \"component\",\n  name: sie.name,\n  layoutAttributes: b6,\n  supplyLayoutDefaults: Zae,\n  draw: eie\n}, Kp = {\n  // layout attribute name\n  name: \"sliders\",\n  // class names\n  containerClassName: \"slider-container\",\n  groupClassName: \"slider-group\",\n  inputAreaClass: \"slider-input-area\",\n  railRectClass: \"slider-rail-rect\",\n  railTouchRectClass: \"slider-rail-touch-rect\",\n  gripRectClass: \"slider-grip-rect\",\n  tickRectClass: \"slider-tick-rect\",\n  inputProxyClass: \"slider-input-proxy\",\n  labelsClass: \"slider-labels\",\n  labelGroupClass: \"slider-label-group\",\n  labelClass: \"slider-label\",\n  currentValueClass: \"slider-current-value\",\n  railHeight: 5,\n  // DOM attribute name in button group keeping track\n  // of active update menu\n  menuIndexAttrName: \"slider-active-index\",\n  // id root pass to Plots.autoMargin\n  autoMarginIdRoot: \"slider-\",\n  // min item width / height\n  minWidth: 30,\n  minHeight: 30,\n  // padding around item text\n  textPadX: 40,\n  // arrow offset off right edge\n  arrowOffsetX: 4,\n  railRadius: 2,\n  railWidth: 5,\n  railBorder: 4,\n  railBorderWidth: 1,\n  railBorderColor: \"#bec8d9\",\n  railBgColor: \"#f8fafc\",\n  // The distance of the rail from the edge of the touchable area\n  // Slightly less than the step inset because of the curved edges\n  // of the rail\n  railInset: 8,\n  // The distance from the extremal tick marks to the edge of the\n  // touchable area. This is basically the same as the grip radius,\n  // but for other styles it wouldn't really need to be.\n  stepInset: 10,\n  gripRadius: 10,\n  gripWidth: 20,\n  gripHeight: 20,\n  gripBorder: 20,\n  gripBorderWidth: 1,\n  gripBorderColor: \"#bec8d9\",\n  gripBgColor: \"#f6f8fa\",\n  gripBgActiveColor: \"#dbdde0\",\n  labelPadding: 8,\n  labelOffset: 0,\n  tickWidth: 1,\n  tickColor: \"#333\",\n  tickOffset: 25,\n  tickLength: 7,\n  minorTickOffset: 25,\n  minorTickColor: \"#333\",\n  minorTickLength: 4,\n  // Extra space below the current value label:\n  currentValuePadding: 8,\n  currentValueInset: 0\n}, VM = Fn, fie = J1, cie = en.extendDeepAll, die = Lo.overrideAll, hie = hp, L6 = Mr.templatedArray, $l = Kp, vie = L6(\"step\", {\n  visible: {\n    valType: \"boolean\",\n    dflt: !0,\n    description: [\n      \"Determines whether or not this step is included in the slider.\"\n    ].join(\" \")\n  },\n  method: {\n    valType: \"enumerated\",\n    values: [\"restyle\", \"relayout\", \"animate\", \"update\", \"skip\"],\n    dflt: \"restyle\",\n    description: [\n      \"Sets the Plotly method to be called when the slider value is changed.\",\n      \"If the `skip` method is used, the API slider will function as normal\",\n      \"but will perform no API calls and will not bind automatically to state\",\n      \"updates. This may be used to create a component interface and attach to\",\n      \"slider events manually via JavaScript.\"\n    ].join(\" \")\n  },\n  args: {\n    valType: \"info_array\",\n    freeLength: !0,\n    items: [\n      { valType: \"any\" },\n      { valType: \"any\" },\n      { valType: \"any\" }\n    ],\n    description: [\n      \"Sets the arguments values to be passed to the Plotly\",\n      \"method set in `method` on slide.\"\n    ].join(\" \")\n  },\n  label: {\n    valType: \"string\",\n    description: \"Sets the text label to appear on the slider\"\n  },\n  value: {\n    valType: \"string\",\n    description: [\n      \"Sets the value of the slider step, used to refer to the step programatically.\",\n      \"Defaults to the slider label if not provided.\"\n    ].join(\" \")\n  },\n  execute: {\n    valType: \"boolean\",\n    dflt: !0,\n    description: [\n      \"When true, the API method is executed. When false, all other behaviors are the same\",\n      \"and command execution is skipped. This may be useful when hooking into, for example,\",\n      \"the `plotly_sliderchange` method and executing the API command manually without losing\",\n      \"the benefit of the slider automatically binding to the state of the plot through the\",\n      \"specification of `method` and `args`.\"\n    ].join(\" \")\n  }\n}), D6 = die(L6(\"slider\", {\n  visible: {\n    valType: \"boolean\",\n    dflt: !0,\n    description: [\n      \"Determines whether or not the slider is visible.\"\n    ].join(\" \")\n  },\n  active: {\n    valType: \"number\",\n    min: 0,\n    dflt: 0,\n    description: [\n      \"Determines which button (by index starting from 0) is\",\n      \"considered active.\"\n    ].join(\" \")\n  },\n  steps: vie,\n  lenmode: {\n    valType: \"enumerated\",\n    values: [\"fraction\", \"pixels\"],\n    dflt: \"fraction\",\n    description: [\n      \"Determines whether this slider length\",\n      \"is set in units of plot *fraction* or in *pixels.\",\n      \"Use `len` to set the value.\"\n    ].join(\" \")\n  },\n  len: {\n    valType: \"number\",\n    min: 0,\n    dflt: 1,\n    description: [\n      \"Sets the length of the slider\",\n      \"This measure excludes the padding of both ends.\",\n      \"That is, the slider's length is this length minus the\",\n      \"padding on both ends.\"\n    ].join(\" \")\n  },\n  x: {\n    valType: \"number\",\n    min: -2,\n    max: 3,\n    dflt: 0,\n    description: \"Sets the x position (in normalized coordinates) of the slider.\"\n  },\n  pad: cie(fie({ editType: \"arraydraw\" }), {\n    description: \"Set the padding of the slider component along each side.\"\n  }, { t: { dflt: 20 } }),\n  xanchor: {\n    valType: \"enumerated\",\n    values: [\"auto\", \"left\", \"center\", \"right\"],\n    dflt: \"left\",\n    description: [\n      \"Sets the slider's horizontal position anchor.\",\n      \"This anchor binds the `x` position to the *left*, *center*\",\n      \"or *right* of the range selector.\"\n    ].join(\" \")\n  },\n  y: {\n    valType: \"number\",\n    min: -2,\n    max: 3,\n    dflt: 0,\n    description: \"Sets the y position (in normalized coordinates) of the slider.\"\n  },\n  yanchor: {\n    valType: \"enumerated\",\n    values: [\"auto\", \"top\", \"middle\", \"bottom\"],\n    dflt: \"top\",\n    description: [\n      \"Sets the slider's vertical position anchor\",\n      \"This anchor binds the `y` position to the *top*, *middle*\",\n      \"or *bottom* of the range selector.\"\n    ].join(\" \")\n  },\n  transition: {\n    duration: {\n      valType: \"number\",\n      min: 0,\n      dflt: 150,\n      description: \"Sets the duration of the slider transition\"\n    },\n    easing: {\n      valType: \"enumerated\",\n      values: hie.transition.easing.values,\n      dflt: \"cubic-in-out\",\n      description: \"Sets the easing function of the slider transition\"\n    }\n  },\n  currentvalue: {\n    visible: {\n      valType: \"boolean\",\n      dflt: !0,\n      description: [\n        \"Shows the currently-selected value above the slider.\"\n      ].join(\" \")\n    },\n    xanchor: {\n      valType: \"enumerated\",\n      values: [\"left\", \"center\", \"right\"],\n      dflt: \"left\",\n      description: [\n        \"The alignment of the value readout relative to the length of the slider.\"\n      ].join(\" \")\n    },\n    offset: {\n      valType: \"number\",\n      dflt: 10,\n      description: [\n        \"The amount of space, in pixels, between the current value label\",\n        \"and the slider.\"\n      ].join(\" \")\n    },\n    prefix: {\n      valType: \"string\",\n      description: \"When currentvalue.visible is true, this sets the prefix of the label.\"\n    },\n    suffix: {\n      valType: \"string\",\n      description: \"When currentvalue.visible is true, this sets the suffix of the label.\"\n    },\n    font: VM({\n      description: \"Sets the font of the current value label text.\"\n    })\n  },\n  font: VM({\n    description: \"Sets the font of the slider step labels.\"\n  }),\n  activebgcolor: {\n    valType: \"color\",\n    dflt: $l.gripBgActiveColor,\n    description: [\n      \"Sets the background color of the slider grip\",\n      \"while dragging.\"\n    ].join(\" \")\n  },\n  bgcolor: {\n    valType: \"color\",\n    dflt: $l.railBgColor,\n    description: \"Sets the background color of the slider.\"\n  },\n  bordercolor: {\n    valType: \"color\",\n    dflt: $l.railBorderColor,\n    description: \"Sets the color of the border enclosing the slider.\"\n  },\n  borderwidth: {\n    valType: \"number\",\n    min: 0,\n    dflt: $l.railBorderWidth,\n    description: \"Sets the width (in px) of the border enclosing the slider.\"\n  },\n  ticklen: {\n    valType: \"number\",\n    min: 0,\n    dflt: $l.tickLength,\n    description: \"Sets the length in pixels of step tick marks\"\n  },\n  tickcolor: {\n    valType: \"color\",\n    dflt: $l.tickColor,\n    description: \"Sets the color of the border enclosing the slider.\"\n  },\n  tickwidth: {\n    valType: \"number\",\n    min: 0,\n    dflt: 1,\n    description: \"Sets the tick width (in px).\"\n  },\n  minorticklen: {\n    valType: \"number\",\n    min: 0,\n    dflt: $l.minorTickLength,\n    description: \"Sets the length in pixels of minor step tick marks\"\n  }\n}), \"arraydraw\", \"from-root\"), ou = Ue, E6 = Ji, F6 = D6, pie = Kp, mie = pie.name, gie = F6.steps, yie = function(t, r) {\n  E6(t, r, {\n    name: mie,\n    handleItemDefaults: bie\n  });\n};\nfunction bie(e, t, r) {\n  function n(d, h) {\n    return ou.coerce(e, t, F6, d, h);\n  }\n  for (var a = E6(e, t, {\n    name: \"steps\",\n    handleItemDefaults: _ie\n  }), i = 0, o = 0; o < a.length; o++)\n    a[o].visible && i++;\n  var l;\n  if (i < 2 ? l = t.visible = !1 : l = n(\"visible\"), !!l) {\n    t._stepCount = i;\n    var s = t._visibleSteps = ou.filterVisible(a), u = n(\"active\");\n    (a[u] || {}).visible || (t.active = s[0]._index), n(\"x\"), n(\"y\"), ou.noneOrAll(e, t, [\"x\", \"y\"]), n(\"xanchor\"), n(\"yanchor\"), n(\"len\"), n(\"lenmode\"), n(\"pad.t\"), n(\"pad.r\"), n(\"pad.b\"), n(\"pad.l\"), ou.coerceFont(n, \"font\", r.font);\n    var f = n(\"currentvalue.visible\");\n    f && (n(\"currentvalue.xanchor\"), n(\"currentvalue.prefix\"), n(\"currentvalue.suffix\"), n(\"currentvalue.offset\"), ou.coerceFont(n, \"currentvalue.font\", t.font)), n(\"transition.duration\"), n(\"transition.easing\"), n(\"bgcolor\"), n(\"activebgcolor\"), n(\"bordercolor\"), n(\"borderwidth\"), n(\"ticklen\"), n(\"tickwidth\"), n(\"tickcolor\"), n(\"minorticklen\");\n  }\n}\nfunction _ie(e, t) {\n  function r(i, o) {\n    return ou.coerce(e, t, gie, i, o);\n  }\n  var n;\n  if (e.method !== \"skip\" && !Array.isArray(e.args) ? n = t.visible = !1 : n = r(\"visible\"), n) {\n    r(\"method\"), r(\"args\");\n    var a = r(\"label\", \"step-\" + t._index);\n    r(\"value\", a), r(\"execute\");\n  }\n}\nvar ci = lr, Fv = Tn, hl = nr, vi = Sr, _a = Ue, xie = _a.strTranslate, lc = Rn, wie = Mr.arrayEditor, Qt = Kp, p_ = On, R6 = p_.LINE_SPACING, h0 = p_.FROM_TL, v0 = p_.FROM_BR, Tie = function(t) {\n  var r = t._context.staticPlot, n = t._fullLayout, a = kie(n, t), i = n._infolayer.selectAll(\"g.\" + Qt.containerClassName).data(a.length > 0 ? [0] : []);\n  i.enter().append(\"g\").classed(Qt.containerClassName, !0).style(\"cursor\", r ? null : \"ew-resize\");\n  function o(f) {\n    f._commandObserver && (f._commandObserver.remove(), delete f._commandObserver), Fv.autoMargin(t, P6(f));\n  }\n  if (i.exit().each(function() {\n    ci.select(this).selectAll(\"g.\" + Qt.groupClassName).each(o);\n  }).remove(), a.length !== 0) {\n    var l = i.selectAll(\"g.\" + Qt.groupClassName).data(a, Aie);\n    l.enter().append(\"g\").classed(Qt.groupClassName, !0), l.exit().each(o).remove();\n    for (var s = 0; s < a.length; s++) {\n      var u = a[s];\n      Mie(t, u);\n    }\n    l.each(function(f) {\n      var d = ci.select(this);\n      Eie(f), Fv.manageCommandObserver(t, f, f._visibleSteps, function(h) {\n        var p = d.data()[0];\n        p.active !== h.index && (p._dragging || z6(t, d, p, h.index, !1, !0));\n      }), Sie(t, ci.select(this), f);\n    });\n  }\n};\nfunction P6(e) {\n  return Qt.autoMarginIdRoot + e._index;\n}\nfunction kie(e, t) {\n  for (var r = e[Qt.name], n = [], a = 0; a < r.length; a++) {\n    var i = r[a];\n    i.visible && (i._gd = t, n.push(i));\n  }\n  return n;\n}\nfunction Aie(e) {\n  return e._index;\n}\nfunction Mie(e, t) {\n  var r = vi.tester.selectAll(\"g.\" + Qt.labelGroupClass).data(t._visibleSteps);\n  r.enter().append(\"g\").classed(Qt.labelGroupClass, !0);\n  var n = 0, a = 0;\n  r.each(function(v) {\n    var m = ci.select(this), g = $6(m, { step: v }, t), y = g.node();\n    if (y) {\n      var w = vi.bBox(y);\n      a = Math.max(a, w.height), n = Math.max(n, w.width);\n    }\n  }), r.remove();\n  var i = t._dims = {};\n  i.inputAreaWidth = Math.max(\n    Qt.railWidth,\n    Qt.gripHeight\n  );\n  var o = e._fullLayout._size;\n  i.lx = o.l + o.w * t.x, i.ly = o.t + o.h * (1 - t.y), t.lenmode === \"fraction\" ? i.outerLength = Math.round(o.w * t.len) : i.outerLength = t.len, i.inputAreaStart = 0, i.inputAreaLength = Math.round(i.outerLength - t.pad.l - t.pad.r);\n  var l = i.inputAreaLength - 2 * Qt.stepInset, s = l / (t._stepCount - 1), u = n + Qt.labelPadding;\n  if (i.labelStride = Math.max(1, Math.ceil(u / s)), i.labelHeight = a, i.currentValueMaxWidth = 0, i.currentValueHeight = 0, i.currentValueTotalHeight = 0, i.currentValueMaxLines = 1, t.currentvalue.visible) {\n    var f = vi.tester.append(\"g\");\n    r.each(function(v) {\n      var m = Rv(f, t, v.label), g = m.node() && vi.bBox(m.node()) || { width: 0, height: 0 }, y = lc.lineCount(m);\n      i.currentValueMaxWidth = Math.max(i.currentValueMaxWidth, Math.ceil(g.width)), i.currentValueHeight = Math.max(i.currentValueHeight, Math.ceil(g.height)), i.currentValueMaxLines = Math.max(i.currentValueMaxLines, y);\n    }), i.currentValueTotalHeight = i.currentValueHeight + t.currentvalue.offset, f.remove();\n  }\n  i.height = i.currentValueTotalHeight + Qt.tickOffset + t.ticklen + Qt.labelOffset + i.labelHeight + t.pad.t + t.pad.b;\n  var d = \"left\";\n  _a.isRightAnchor(t) && (i.lx -= i.outerLength, d = \"right\"), _a.isCenterAnchor(t) && (i.lx -= i.outerLength / 2, d = \"center\");\n  var h = \"top\";\n  _a.isBottomAnchor(t) && (i.ly -= i.height, h = \"bottom\"), _a.isMiddleAnchor(t) && (i.ly -= i.height / 2, h = \"middle\"), i.outerLength = Math.ceil(i.outerLength), i.height = Math.ceil(i.height), i.lx = Math.round(i.lx), i.ly = Math.round(i.ly);\n  var p = {\n    y: t.y,\n    b: i.height * v0[h],\n    t: i.height * h0[h]\n  };\n  t.lenmode === \"fraction\" ? (p.l = 0, p.xl = t.x - t.len * h0[d], p.r = 0, p.xr = t.x + t.len * v0[d]) : (p.x = t.x, p.l = i.outerLength * h0[d], p.r = i.outerLength * v0[d]), Fv.autoMargin(e, P6(t), p);\n}\nfunction Sie(e, t, r) {\n  (r.steps[r.active] || {}).visible || (r.active = r._visibleSteps[0]._index), t.call(Rv, r).call(Rie, r).call(Lie, r).call(Die, r).call(Fie, e, r).call(Cie, e, r);\n  var n = r._dims;\n  vi.setTranslate(t, n.lx + r.pad.l, n.ly + r.pad.t), t.call(N6, r, !1), t.call(Rv, r);\n}\nfunction Rv(e, t, r) {\n  if (t.currentvalue.visible) {\n    var n = t._dims, a, i;\n    switch (t.currentvalue.xanchor) {\n      case \"right\":\n        a = n.inputAreaLength - Qt.currentValueInset - n.currentValueMaxWidth, i = \"left\";\n        break;\n      case \"center\":\n        a = n.inputAreaLength * 0.5, i = \"middle\";\n        break;\n      default:\n        a = Qt.currentValueInset, i = \"left\";\n    }\n    var o = _a.ensureSingle(e, \"text\", Qt.labelClass, function(h) {\n      h.attr({\n        \"text-anchor\": i,\n        \"data-notex\": 1\n      });\n    }), l = t.currentvalue.prefix ? t.currentvalue.prefix : \"\";\n    if (typeof r == \"string\")\n      l += r;\n    else {\n      var s = t.steps[t.active].label, u = t._gd._fullLayout._meta;\n      u && (s = _a.templateString(s, u)), l += s;\n    }\n    t.currentvalue.suffix && (l += t.currentvalue.suffix), o.call(vi.font, t.currentvalue.font).text(l).call(lc.convertToTspans, t._gd);\n    var f = lc.lineCount(o), d = (n.currentValueMaxLines + 1 - f) * t.currentvalue.font.size * R6;\n    return lc.positionText(o, a, d), o;\n  }\n}\nfunction Cie(e, t, r) {\n  var n = _a.ensureSingle(e, \"rect\", Qt.gripRectClass, function(a) {\n    a.call(I6, t, e, r).style(\"pointer-events\", \"all\");\n  });\n  n.attr({\n    width: Qt.gripWidth,\n    height: Qt.gripHeight,\n    rx: Qt.gripRadius,\n    ry: Qt.gripRadius\n  }).call(hl.stroke, r.bordercolor).call(hl.fill, r.bgcolor).style(\"stroke-width\", r.borderwidth + \"px\");\n}\nfunction $6(e, t, r) {\n  var n = _a.ensureSingle(e, \"text\", Qt.labelClass, function(o) {\n    o.attr({\n      \"text-anchor\": \"middle\",\n      \"data-notex\": 1\n    });\n  }), a = t.step.label, i = r._gd._fullLayout._meta;\n  return i && (a = _a.templateString(a, i)), n.call(vi.font, r.font).text(a).call(lc.convertToTspans, r._gd), n;\n}\nfunction Lie(e, t) {\n  var r = _a.ensureSingle(e, \"g\", Qt.labelsClass), n = t._dims, a = r.selectAll(\"g.\" + Qt.labelGroupClass).data(n.labelSteps);\n  a.enter().append(\"g\").classed(Qt.labelGroupClass, !0), a.exit().remove(), a.each(function(i) {\n    var o = ci.select(this);\n    o.call($6, i, t), vi.setTranslate(\n      o,\n      m_(t, i.fraction),\n      Qt.tickOffset + t.ticklen + // position is the baseline of the top line of text only, even\n      // if the label spans multiple lines\n      t.font.size * R6 + Qt.labelOffset + n.currentValueTotalHeight\n    );\n  });\n}\nfunction qM(e, t, r, n, a) {\n  var i = Math.round(n * (r._stepCount - 1)), o = r._visibleSteps[i]._index;\n  o !== r.active && z6(e, t, r, o, !0, a);\n}\nfunction z6(e, t, r, n, a, i) {\n  var o = r.active;\n  r.active = n, wie(e.layout, Qt.name, r).applyUpdate(\"active\", n);\n  var l = r.steps[r.active];\n  t.call(N6, r, i), t.call(Rv, r), e.emit(\"plotly_sliderchange\", {\n    slider: r,\n    step: r.steps[r.active],\n    interaction: a,\n    previousActive: o\n  }), l && l.method && a && (t._nextMethod ? (t._nextMethod.step = l, t._nextMethod.doCallback = a, t._nextMethod.doTransition = i) : (t._nextMethod = { step: l, doCallback: a, doTransition: i }, t._nextMethodRaf = window.requestAnimationFrame(function() {\n    var s = t._nextMethod.step;\n    s.method && (s.execute && Fv.executeAPICommand(e, s.method, s.args), t._nextMethod = null, t._nextMethodRaf = null);\n  })));\n}\nfunction I6(e, t, r) {\n  if (t._context.staticPlot) return;\n  var n = r.node(), a = ci.select(t);\n  function i() {\n    return r.data()[0];\n  }\n  function o() {\n    var l = i();\n    t.emit(\"plotly_sliderstart\", { slider: l });\n    var s = r.select(\".\" + Qt.gripRectClass);\n    ci.event.stopPropagation(), ci.event.preventDefault(), s.call(hl.fill, l.activebgcolor);\n    var u = WM(l, ci.mouse(n)[0]);\n    qM(t, r, l, u, !0), l._dragging = !0;\n    function f() {\n      var h = i(), p = WM(h, ci.mouse(n)[0]);\n      qM(t, r, h, p, !1);\n    }\n    a.on(\"mousemove\", f), a.on(\"touchmove\", f);\n    function d() {\n      var h = i();\n      h._dragging = !1, s.call(hl.fill, h.bgcolor), a.on(\"mouseup\", null), a.on(\"mousemove\", null), a.on(\"touchend\", null), a.on(\"touchmove\", null), t.emit(\"plotly_sliderend\", {\n        slider: h,\n        step: h.steps[h.active]\n      });\n    }\n    a.on(\"mouseup\", d), a.on(\"touchend\", d);\n  }\n  e.on(\"mousedown\", o), e.on(\"touchstart\", o);\n}\nfunction Die(e, t) {\n  var r = e.selectAll(\"rect.\" + Qt.tickRectClass).data(t._visibleSteps), n = t._dims;\n  r.enter().append(\"rect\").classed(Qt.tickRectClass, !0), r.exit().remove(), r.attr({\n    width: t.tickwidth + \"px\",\n    \"shape-rendering\": \"crispEdges\"\n  }), r.each(function(a, i) {\n    var o = i % n.labelStride === 0, l = ci.select(this);\n    l.attr({ height: o ? t.ticklen : t.minorticklen }).call(hl.fill, t.tickcolor), vi.setTranslate(\n      l,\n      m_(t, i / (t._stepCount - 1)) - 0.5 * t.tickwidth,\n      (o ? Qt.tickOffset : Qt.minorTickOffset) + n.currentValueTotalHeight\n    );\n  });\n}\nfunction Eie(e) {\n  var t = e._dims;\n  t.labelSteps = [];\n  for (var r = e._stepCount, n = 0; n < r; n += t.labelStride)\n    t.labelSteps.push({\n      fraction: n / (r - 1),\n      step: e._visibleSteps[n]\n    });\n}\nfunction N6(e, t, r) {\n  for (var n = e.select(\"rect.\" + Qt.gripRectClass), a = 0, i = 0; i < t._stepCount; i++)\n    if (t._visibleSteps[i]._index === t.active) {\n      a = i;\n      break;\n    }\n  var o = m_(t, a / (t._stepCount - 1));\n  if (!t._invokingCommand) {\n    var l = n;\n    r && t.transition.duration > 0 && (l = l.transition().duration(t.transition.duration).ease(t.transition.easing)), l.attr(\"transform\", xie(o - Qt.gripWidth * 0.5, t._dims.currentValueTotalHeight));\n  }\n}\nfunction m_(e, t) {\n  var r = e._dims;\n  return r.inputAreaStart + Qt.stepInset + (r.inputAreaLength - 2 * Qt.stepInset) * Math.min(1, Math.max(0, t));\n}\nfunction WM(e, t) {\n  var r = e._dims;\n  return Math.min(1, Math.max(0, (t - Qt.stepInset - r.inputAreaStart) / (r.inputAreaLength - 2 * Qt.stepInset - 2 * r.inputAreaStart)));\n}\nfunction Fie(e, t, r) {\n  var n = r._dims, a = _a.ensureSingle(e, \"rect\", Qt.railTouchRectClass, function(i) {\n    i.call(I6, t, e, r).style(\"pointer-events\", \"all\");\n  });\n  a.attr({\n    width: n.inputAreaLength,\n    height: Math.max(n.inputAreaWidth, Qt.tickOffset + r.ticklen + n.labelHeight)\n  }).call(hl.fill, r.bgcolor).attr(\"opacity\", 0), vi.setTranslate(a, 0, n.currentValueTotalHeight);\n}\nfunction Rie(e, t) {\n  var r = t._dims, n = r.inputAreaLength - Qt.railInset * 2, a = _a.ensureSingle(e, \"rect\", Qt.railRectClass);\n  a.attr({\n    width: n,\n    height: Qt.railWidth,\n    rx: Qt.railRadius,\n    ry: Qt.railRadius,\n    \"shape-rendering\": \"crispEdges\"\n  }).call(hl.stroke, t.bordercolor).call(hl.fill, t.bgcolor).style(\"stroke-width\", t.borderwidth + \"px\"), vi.setTranslate(\n    a,\n    Qt.railInset,\n    (r.inputAreaWidth - Qt.railWidth) * 0.5 + r.currentValueTotalHeight\n  );\n}\nvar Pie = Kp, $ie = {\n  moduleType: \"component\",\n  name: Pie.name,\n  layoutAttributes: D6,\n  supplyLayoutDefaults: yie,\n  draw: Tie\n}, ZM = da, g_ = {\n  bgcolor: {\n    valType: \"color\",\n    dflt: ZM.background,\n    editType: \"plot\",\n    description: \"Sets the background color of the range slider.\"\n  },\n  bordercolor: {\n    valType: \"color\",\n    dflt: ZM.defaultLine,\n    editType: \"plot\",\n    description: \"Sets the border color of the range slider.\"\n  },\n  borderwidth: {\n    valType: \"integer\",\n    dflt: 0,\n    min: 0,\n    editType: \"plot\",\n    description: \"Sets the border width of the range slider.\"\n  },\n  autorange: {\n    valType: \"boolean\",\n    dflt: !0,\n    editType: \"calc\",\n    impliedEdits: { \"range[0]\": void 0, \"range[1]\": void 0 },\n    description: [\n      \"Determines whether or not the range slider range is\",\n      \"computed in relation to the input data.\",\n      \"If `range` is provided, then `autorange` is set to *false*.\"\n    ].join(\" \")\n  },\n  range: {\n    valType: \"info_array\",\n    items: [\n      { valType: \"any\", editType: \"calc\", impliedEdits: { \"^autorange\": !1 } },\n      { valType: \"any\", editType: \"calc\", impliedEdits: { \"^autorange\": !1 } }\n    ],\n    editType: \"calc\",\n    impliedEdits: { autorange: !1 },\n    description: [\n      \"Sets the range of the range slider.\",\n      \"If not set, defaults to the full xaxis range.\",\n      \"If the axis `type` is *log*, then you must take the\",\n      \"log of your desired range.\",\n      \"If the axis `type` is *date*, it should be date strings,\",\n      \"like date data, though Date objects and unix milliseconds\",\n      \"will be accepted and converted to strings.\",\n      \"If the axis `type` is *category*, it should be numbers,\",\n      \"using the scale where each category is assigned a serial\",\n      \"number from zero in the order it appears.\"\n    ].join(\" \")\n  },\n  thickness: {\n    valType: \"number\",\n    dflt: 0.15,\n    min: 0,\n    max: 1,\n    editType: \"plot\",\n    description: [\n      \"The height of the range slider as a fraction of the\",\n      \"total plot area height.\"\n    ].join(\" \")\n  },\n  visible: {\n    valType: \"boolean\",\n    dflt: !0,\n    editType: \"calc\",\n    description: [\n      \"Determines whether or not the range slider will be visible.\",\n      \"If visible, perpendicular axes will be set to `fixedrange`\"\n    ].join(\" \")\n  },\n  editType: \"calc\"\n}, O6 = {\n  // not really a 'subplot' attribute container,\n  // but this is the flag we use to denote attributes that\n  // support yaxis, yaxis2, yaxis3, ... counters\n  _isSubplotObj: !0,\n  rangemode: {\n    valType: \"enumerated\",\n    values: [\"auto\", \"fixed\", \"match\"],\n    dflt: \"match\",\n    editType: \"calc\",\n    description: [\n      \"Determines whether or not the range of this axis in\",\n      \"the rangeslider use the same value than in the main plot\",\n      \"when zooming in/out.\",\n      \"If *auto*, the autorange will be used.\",\n      \"If *fixed*, the `range` is used.\",\n      \"If *match*, the current range of the corresponding y-axis on the main subplot is used.\"\n    ].join(\" \")\n  },\n  range: {\n    valType: \"info_array\",\n    items: [\n      { valType: \"any\", editType: \"plot\" },\n      { valType: \"any\", editType: \"plot\" }\n    ],\n    editType: \"plot\",\n    description: [\n      \"Sets the range of this axis for the rangeslider.\"\n    ].join(\" \")\n  },\n  editType: \"calc\"\n}, Jp = {}, y_ = {\n  // attribute container name\n  name: \"rangeslider\",\n  // class names\n  containerClassName: \"rangeslider-container\",\n  bgClassName: \"rangeslider-bg\",\n  rangePlotClassName: \"rangeslider-rangeplot\",\n  maskMinClassName: \"rangeslider-mask-min\",\n  maskMaxClassName: \"rangeslider-mask-max\",\n  slideBoxClassName: \"rangeslider-slidebox\",\n  grabberMinClassName: \"rangeslider-grabber-min\",\n  grabAreaMinClassName: \"rangeslider-grabarea-min\",\n  handleMinClassName: \"rangeslider-handle-min\",\n  grabberMaxClassName: \"rangeslider-grabber-max\",\n  grabAreaMaxClassName: \"rangeslider-grabarea-max\",\n  handleMaxClassName: \"rangeslider-handle-max\",\n  maskMinOppAxisClassName: \"rangeslider-mask-min-opp-axis\",\n  maskMaxOppAxisClassName: \"rangeslider-mask-max-opp-axis\",\n  // style constants\n  maskColor: \"rgba(0,0,0,0.4)\",\n  maskOppAxisColor: \"rgba(0,0,0,0.2)\",\n  slideBoxFill: \"transparent\",\n  slideBoxCursor: \"ew-resize\",\n  grabAreaFill: \"transparent\",\n  grabAreaCursor: \"col-resize\",\n  grabAreaWidth: 10,\n  handleWidth: 4,\n  handleRadius: 1,\n  handleStrokeWidth: 1,\n  extraPad: 15\n}, zie = gn, Iie = Rn, H6 = y_, Nie = On.LINE_SPACING, Pv = H6.name;\nfunction B6(e) {\n  var t = e && e[Pv];\n  return t && t.visible;\n}\nJp.isVisible = B6;\nJp.makeData = function(e) {\n  var t = zie.list({ _fullLayout: e }, \"x\", !0), r = e.margin, n = [];\n  if (!e._has(\"gl2d\"))\n    for (var a = 0; a < t.length; a++) {\n      var i = t[a];\n      if (B6(i)) {\n        n.push(i);\n        var o = i[Pv];\n        o._id = Pv + i._id, o._height = (e.height - r.b - r.t) * o.thickness, o._offsetShift = Math.floor(o.borderwidth / 2);\n      }\n    }\n  e._rangeSliderData = n;\n};\nJp.autoMarginOpts = function(e, t) {\n  var r = e._fullLayout, n = t[Pv], a = t._id.charAt(0), i = 0, o = 0;\n  if (t.side === \"bottom\" && (i = t._depth, t.title.text !== r._dfltTitle[a])) {\n    o = 1.5 * t.title.font.size + 10 + n._offsetShift;\n    var l = (t.title.text.match(Iie.BR_TAG_ALL) || []).length;\n    o += l * t.title.font.size * Nie;\n  }\n  return {\n    x: 0,\n    y: t._counterDomainMin,\n    l: 0,\n    r: 0,\n    t: 0,\n    b: n._height + i + Math.max(r.margin.b, o),\n    pad: H6.extraPad + n._offsetShift * 2\n  };\n};\nvar p0, YM;\nfunction Oie() {\n  if (YM) return p0;\n  YM = 1;\n  var e = Ue, t = Mr, r = gn, n = g_, a = O6;\n  return p0 = function(o, l, s) {\n    var u = o[s], f = l[s];\n    if (!(u.rangeslider || l._requestRangeslider[f._id])) return;\n    e.isPlainObject(u.rangeslider) || (u.rangeslider = {});\n    var d = u.rangeslider, h = t.newContainer(f, \"rangeslider\");\n    function p(F, $) {\n      return e.coerce(d, h, n, F, $);\n    }\n    var v, m;\n    function g(F, $) {\n      return e.coerce(v, m, a, F, $);\n    }\n    var y = p(\"visible\");\n    if (y) {\n      p(\"bgcolor\", l.plot_bgcolor), p(\"bordercolor\"), p(\"borderwidth\"), p(\"thickness\"), p(\"autorange\", !f.isValidRange(d.range)), p(\"range\");\n      var w = l._subplots;\n      if (w)\n        for (var k = w.cartesian.filter(function(F) {\n          return F.substr(0, F.indexOf(\"y\")) === r.name2id(s);\n        }).map(function(F) {\n          return F.substr(F.indexOf(\"y\"), F.length);\n        }), x = e.simpleMap(k, r.id2name), _ = 0; _ < x.length; _++) {\n          var T = x[_];\n          v = d[T] || {}, m = t.newContainer(h, T, \"yaxis\");\n          var S = l[T], M;\n          v.range && S.isValidRange(v.range) && (M = \"fixed\");\n          var L = g(\"rangemode\", M);\n          L !== \"match\" && g(\"range\", S.range.slice());\n        }\n      h._input = d;\n    }\n  }, p0;\n}\nvar m0, XM;\nfunction Hie() {\n  if (XM) return m0;\n  XM = 1;\n  var e = gn.list, t = Lp.getAutoRange, r = y_;\n  return m0 = function(a) {\n    for (var i = e(a, \"x\", !0), o = 0; o < i.length; o++) {\n      var l = i[o], s = l[r.name];\n      s && s.visible && s.autorange && (s._input.autorange = !0, s._input.range = s.range = t(a, l));\n    }\n  }, m0;\n}\nvar g0, KM;\nfunction Bie() {\n  if (KM) return g0;\n  KM = 1;\n  var e = lr, t = Nt, r = Tn, n = Ue, a = n.strTranslate, i = Sr, o = nr, l = Cp, s = yn, u = gn, f = Qi, d = xs, h = y_;\n  g0 = function(M) {\n    for (var L = M._fullLayout, F = L._rangeSliderData, $ = 0; $ < F.length; $++) {\n      var I = F[$][h.name];\n      I._clipId = I._id + \"-\" + L._uid;\n    }\n    function O(K) {\n      return K._name;\n    }\n    var G = L._infolayer.selectAll(\"g.\" + h.containerClassName).data(F, O);\n    G.exit().each(function(K) {\n      var V = K[h.name];\n      L._topdefs.select(\"#\" + V._clipId).remove();\n    }).remove(), F.length !== 0 && (G.enter().append(\"g\").classed(h.containerClassName, !0).attr(\"pointer-events\", \"all\"), G.each(function(K) {\n      var V = e.select(this), z = K[h.name], P = L[u.id2name(K.anchor)], R = z[u.id2name(K.anchor)];\n      if (z.range) {\n        var H = n.simpleMap(z.range, K.r2l), B = n.simpleMap(K.range, K.r2l), W;\n        B[0] < B[1] ? W = [\n          Math.min(H[0], B[0]),\n          Math.max(H[1], B[1])\n        ] : W = [\n          Math.max(H[0], B[0]),\n          Math.min(H[1], B[1])\n        ], z.range = z._input.range = n.simpleMap(W, K.l2r);\n      }\n      K.cleanRange(\"rangeslider.range\");\n      var ee = L._size, re = K.domain;\n      z._width = ee.w * (re[1] - re[0]);\n      var ae = Math.round(ee.l + ee.w * re[0]), Q = Math.round(\n        ee.t + ee.h * (1 - K._counterDomainMin) + (K.side === \"bottom\" ? K._depth : 0) + z._offsetShift + h.extraPad\n      );\n      V.attr(\"transform\", a(ae, Q)), z._rl = n.simpleMap(z.range, K.r2l);\n      var ue = z._rl[0], j = z._rl[1], U = j - ue;\n      if (z.p2d = function(Fe) {\n        return Fe / z._width * U + ue;\n      }, z.d2p = function(Fe) {\n        return (Fe - ue) / U * z._width;\n      }, K.rangebreaks) {\n        var Z = K.locateBreaks(ue, j);\n        if (Z.length) {\n          var le, J, pe = 0;\n          for (le = 0; le < Z.length; le++)\n            J = Z[le], pe += J.max - J.min;\n          var ge = z._width / (j - ue - pe), ve = [-ge * ue];\n          for (le = 0; le < Z.length; le++)\n            J = Z[le], ve.push(ve[ve.length - 1] - ge * (J.max - J.min));\n          for (z.d2p = function(Fe) {\n            for (var Oe = ve[0], Re = 0; Re < Z.length; Re++) {\n              var We = Z[Re];\n              if (Fe >= We.max) Oe = ve[Re + 1];\n              else if (Fe < We.min) break;\n            }\n            return Oe + ge * Fe;\n          }, le = 0; le < Z.length; le++)\n            J = Z[le], J.pmin = z.d2p(J.min), J.pmax = z.d2p(J.max);\n          z.p2d = function(Fe) {\n            for (var Oe = ve[0], Re = 0; Re < Z.length; Re++) {\n              var We = Z[Re];\n              if (Fe >= We.pmax) Oe = ve[Re + 1];\n              else if (Fe < We.pmin) break;\n            }\n            return (Fe - Oe) / ge;\n          };\n        }\n      }\n      if (R.rangemode !== \"match\") {\n        var me = P.r2l(R.range[0]), Le = P.r2l(R.range[1]), ze = Le - me;\n        z.d2pOppAxis = function(Fe) {\n          return (Fe - me) / ze * z._height;\n        };\n      }\n      V.call(y, M, K, z).call(w, M, K, z).call(k, M, K, z).call(_, M, K, z, R).call(T, M, K, z).call(S, M, K, z), v(V, M, K, z), g(V, M, K, z, P, R), K.side === \"bottom\" && l.draw(M, K._id + \"title\", {\n        propContainer: K,\n        propName: K._name + \".title\",\n        placeholder: L._dfltTitle.x,\n        attributes: {\n          x: K._offset + K._length / 2,\n          y: Q + z._height + z._offsetShift + 10 + 1.5 * K.title.font.size,\n          \"text-anchor\": \"middle\"\n        }\n      });\n    }));\n  };\n  function p(M) {\n    return typeof M.clientX == \"number\" ? M.clientX : M.touches && M.touches.length > 0 ? M.touches[0].clientX : 0;\n  }\n  function v(M, L, F, $) {\n    if (L._context.staticPlot) return;\n    var I = M.select(\"rect.\" + h.slideBoxClassName).node(), O = M.select(\"rect.\" + h.grabAreaMinClassName).node(), G = M.select(\"rect.\" + h.grabAreaMaxClassName).node();\n    function K() {\n      var V = e.event, z = V.target, P = p(V), R = P - M.node().getBoundingClientRect().left, H = $.d2p(F._rl[0]), B = $.d2p(F._rl[1]), W = f.coverSlip();\n      this.addEventListener(\"touchmove\", ee), this.addEventListener(\"touchend\", re), W.addEventListener(\"mousemove\", ee), W.addEventListener(\"mouseup\", re);\n      function ee(ae) {\n        var Q = p(ae), ue = +Q - P, j, U, Z;\n        switch (z) {\n          case I:\n            if (Z = \"ew-resize\", H + ue > F._length || B + ue < 0)\n              return;\n            j = H + ue, U = B + ue;\n            break;\n          case O:\n            if (Z = \"col-resize\", H + ue > F._length)\n              return;\n            j = H + ue, U = B;\n            break;\n          case G:\n            if (Z = \"col-resize\", B + ue < 0)\n              return;\n            j = H, U = B + ue;\n            break;\n          default:\n            Z = \"ew-resize\", j = R, U = R + ue;\n            break;\n        }\n        if (U < j) {\n          var le = U;\n          U = j, j = le;\n        }\n        $._pixelMin = j, $._pixelMax = U, d(e.select(W), Z), m(M, L, F, $);\n      }\n      function re() {\n        W.removeEventListener(\"mousemove\", ee), W.removeEventListener(\"mouseup\", re), this.removeEventListener(\"touchmove\", ee), this.removeEventListener(\"touchend\", re), n.removeElement(W);\n      }\n    }\n    M.on(\"mousedown\", K), M.on(\"touchstart\", K);\n  }\n  function m(M, L, F, $) {\n    function I(K) {\n      return F.l2r(n.constrain(K, $._rl[0], $._rl[1]));\n    }\n    var O = I($.p2d($._pixelMin)), G = I($.p2d($._pixelMax));\n    window.requestAnimationFrame(function() {\n      t.call(\"_guiRelayout\", L, F._name + \".range\", [O, G]);\n    });\n  }\n  function g(M, L, F, $, I, O) {\n    var G = h.handleWidth / 2;\n    function K(ae) {\n      return n.constrain(ae, 0, $._width);\n    }\n    function V(ae) {\n      return n.constrain(ae, 0, $._height);\n    }\n    function z(ae) {\n      return n.constrain(ae, -G, $._width + G);\n    }\n    var P = K($.d2p(F._rl[0])), R = K($.d2p(F._rl[1]));\n    if (M.select(\"rect.\" + h.slideBoxClassName).attr(\"x\", P).attr(\"width\", R - P), M.select(\"rect.\" + h.maskMinClassName).attr(\"width\", P), M.select(\"rect.\" + h.maskMaxClassName).attr(\"x\", R).attr(\"width\", $._width - R), O.rangemode !== \"match\") {\n      var H = $._height - V($.d2pOppAxis(I._rl[1])), B = $._height - V($.d2pOppAxis(I._rl[0]));\n      M.select(\"rect.\" + h.maskMinOppAxisClassName).attr(\"x\", P).attr(\"height\", H).attr(\"width\", R - P), M.select(\"rect.\" + h.maskMaxOppAxisClassName).attr(\"x\", P).attr(\"y\", B).attr(\"height\", $._height - B).attr(\"width\", R - P), M.select(\"rect.\" + h.slideBoxClassName).attr(\"y\", H).attr(\"height\", B - H);\n    }\n    var W = 0.5, ee = Math.round(z(P - G)) - W, re = Math.round(z(R - G)) + W;\n    M.select(\"g.\" + h.grabberMinClassName).attr(\"transform\", a(ee, W)), M.select(\"g.\" + h.grabberMaxClassName).attr(\"transform\", a(re, W));\n  }\n  function y(M, L, F, $) {\n    var I = n.ensureSingle(M, \"rect\", h.bgClassName, function(V) {\n      V.attr({\n        x: 0,\n        y: 0,\n        \"shape-rendering\": \"crispEdges\"\n      });\n    }), O = $.borderwidth % 2 === 0 ? $.borderwidth : $.borderwidth - 1, G = -$._offsetShift, K = i.crispRound(L, $.borderwidth);\n    I.attr({\n      width: $._width + O,\n      height: $._height + O,\n      transform: a(G, G),\n      \"stroke-width\": K\n    }).call(o.stroke, $.bordercolor).call(o.fill, $.bgcolor);\n  }\n  function w(M, L, F, $) {\n    var I = L._fullLayout, O = n.ensureSingleById(I._topdefs, \"clipPath\", $._clipId, function(G) {\n      G.append(\"rect\").attr({ x: 0, y: 0 });\n    });\n    O.select(\"rect\").attr({\n      width: $._width,\n      height: $._height\n    });\n  }\n  function k(M, L, F, $) {\n    var I = L.calcdata, O = M.selectAll(\"g.\" + h.rangePlotClassName).data(F._subplotsWith, n.identity);\n    O.enter().append(\"g\").attr(\"class\", function(K) {\n      return h.rangePlotClassName + \" \" + K;\n    }).call(i.setClipUrl, $._clipId, L), O.order(), O.exit().remove();\n    var G;\n    O.each(function(K, V) {\n      var z = e.select(this), P = V === 0, R = u.getFromId(L, K, \"y\"), H = R._name, B = $[H], W = {\n        data: [],\n        layout: {\n          xaxis: {\n            type: F.type,\n            domain: [0, 1],\n            range: $.range.slice(),\n            calendar: F.calendar\n          },\n          width: $._width,\n          height: $._height,\n          margin: { t: 0, b: 0, l: 0, r: 0 }\n        },\n        _context: L._context\n      };\n      F.rangebreaks && (W.layout.xaxis.rangebreaks = F.rangebreaks), W.layout[H] = {\n        type: R.type,\n        domain: [0, 1],\n        range: B.rangemode !== \"match\" ? B.range.slice() : R.range.slice(),\n        calendar: R.calendar\n      }, R.rangebreaks && (W.layout[H].rangebreaks = R.rangebreaks), r.supplyDefaults(W);\n      var ee = W._fullLayout.xaxis, re = W._fullLayout[H];\n      ee.clearCalc(), ee.setScale(), re.clearCalc(), re.setScale();\n      var ae = {\n        id: K,\n        plotgroup: z,\n        xaxis: ee,\n        yaxis: re,\n        isRangePlot: !0\n      };\n      P ? G = ae : (ae.mainplot = \"xy\", ae.mainplotinfo = G), s.rangePlot(L, ae, x(I, K));\n    });\n  }\n  function x(M, L) {\n    for (var F = [], $ = 0; $ < M.length; $++) {\n      var I = M[$], O = I[0].trace;\n      O.xaxis + O.yaxis === L && F.push(I);\n    }\n    return F;\n  }\n  function _(M, L, F, $, I) {\n    var O = n.ensureSingle(M, \"rect\", h.maskMinClassName, function(z) {\n      z.attr({\n        x: 0,\n        y: 0,\n        \"shape-rendering\": \"crispEdges\"\n      });\n    });\n    O.attr(\"height\", $._height).call(o.fill, h.maskColor);\n    var G = n.ensureSingle(M, \"rect\", h.maskMaxClassName, function(z) {\n      z.attr({\n        y: 0,\n        \"shape-rendering\": \"crispEdges\"\n      });\n    });\n    if (G.attr(\"height\", $._height).call(o.fill, h.maskColor), I.rangemode !== \"match\") {\n      var K = n.ensureSingle(M, \"rect\", h.maskMinOppAxisClassName, function(z) {\n        z.attr({\n          y: 0,\n          \"shape-rendering\": \"crispEdges\"\n        });\n      });\n      K.attr(\"width\", $._width).call(o.fill, h.maskOppAxisColor);\n      var V = n.ensureSingle(M, \"rect\", h.maskMaxOppAxisClassName, function(z) {\n        z.attr({\n          y: 0,\n          \"shape-rendering\": \"crispEdges\"\n        });\n      });\n      V.attr(\"width\", $._width).style(\"border-top\", h.maskOppBorder).call(o.fill, h.maskOppAxisColor);\n    }\n  }\n  function T(M, L, F, $) {\n    if (!L._context.staticPlot) {\n      var I = n.ensureSingle(M, \"rect\", h.slideBoxClassName, function(O) {\n        O.attr({\n          y: 0,\n          cursor: h.slideBoxCursor,\n          \"shape-rendering\": \"crispEdges\"\n        });\n      });\n      I.attr({\n        height: $._height,\n        fill: h.slideBoxFill\n      });\n    }\n  }\n  function S(M, L, F, $) {\n    var I = n.ensureSingle(M, \"g\", h.grabberMinClassName), O = n.ensureSingle(M, \"g\", h.grabberMaxClassName), G = {\n      x: 0,\n      width: h.handleWidth,\n      rx: h.handleRadius,\n      fill: o.background,\n      stroke: o.defaultLine,\n      \"stroke-width\": h.handleStrokeWidth,\n      \"shape-rendering\": \"crispEdges\"\n    }, K = {\n      y: Math.round($._height / 4),\n      height: Math.round($._height / 2)\n    }, V = n.ensureSingle(I, \"rect\", h.handleMinClassName, function(B) {\n      B.attr(G);\n    });\n    V.attr(K);\n    var z = n.ensureSingle(O, \"rect\", h.handleMaxClassName, function(B) {\n      B.attr(G);\n    });\n    z.attr(K);\n    var P = {\n      width: h.grabAreaWidth,\n      x: 0,\n      y: 0,\n      fill: h.grabAreaFill,\n      cursor: L._context.staticPlot ? void 0 : h.grabAreaCursor\n    }, R = n.ensureSingle(I, \"rect\", h.grabAreaMinClassName, function(B) {\n      B.attr(P);\n    });\n    R.attr(\"height\", $._height);\n    var H = n.ensureSingle(O, \"rect\", h.grabAreaMaxClassName, function(B) {\n      B.attr(P);\n    });\n    H.attr(\"height\", $._height);\n  }\n  return g0;\n}\nvar jie = Ue, Uie = g_, Gie = O6, y0 = Jp, Vie = {\n  moduleType: \"component\",\n  name: \"rangeslider\",\n  schema: {\n    subplots: {\n      xaxis: {\n        rangeslider: jie.extendFlat({}, Uie, {\n          yaxis: Gie\n        })\n      }\n    }\n  },\n  layoutAttributes: g_,\n  handleDefaults: Oie(),\n  calcAutorange: Hie(),\n  draw: Bie(),\n  isVisible: y0.isVisible,\n  makeData: y0.makeData,\n  autoMarginOpts: y0.autoMarginOpts\n}, qie = Fn, JM = da, Wie = Mr.templatedArray, Zie = Wie(\"button\", {\n  visible: {\n    valType: \"boolean\",\n    dflt: !0,\n    editType: \"plot\",\n    description: \"Determines whether or not this button is visible.\"\n  },\n  step: {\n    valType: \"enumerated\",\n    values: [\"month\", \"year\", \"day\", \"hour\", \"minute\", \"second\", \"all\"],\n    dflt: \"month\",\n    editType: \"plot\",\n    description: [\n      \"The unit of measurement that the `count` value will set the range by.\"\n    ].join(\" \")\n  },\n  stepmode: {\n    valType: \"enumerated\",\n    values: [\"backward\", \"todate\"],\n    dflt: \"backward\",\n    editType: \"plot\",\n    description: [\n      \"Sets the range update mode.\",\n      \"If *backward*, the range update shifts the start of range\",\n      \"back *count* times *step* milliseconds.\",\n      \"If *todate*, the range update shifts the start of range\",\n      \"back to the first timestamp from *count* times\",\n      \"*step* milliseconds back.\",\n      \"For example, with `step` set to *year* and `count` set to *1*\",\n      \"the range update shifts the start of the range back to\",\n      \"January 01 of the current year.\",\n      \"Month and year *todate* are currently available only\",\n      \"for the built-in (Gregorian) calendar.\"\n    ].join(\" \")\n  },\n  count: {\n    valType: \"number\",\n    min: 0,\n    dflt: 1,\n    editType: \"plot\",\n    description: [\n      \"Sets the number of steps to take to update the range.\",\n      \"Use with `step` to specify the update interval.\"\n    ].join(\" \")\n  },\n  label: {\n    valType: \"string\",\n    editType: \"plot\",\n    description: \"Sets the text label to appear on the button.\"\n  },\n  editType: \"plot\",\n  description: [\n    \"Sets the specifications for each buttons.\",\n    \"By default, a range selector comes with no buttons.\"\n  ].join(\" \")\n}), Qy = {\n  visible: {\n    valType: \"boolean\",\n    editType: \"plot\",\n    description: [\n      \"Determines whether or not this range selector is visible.\",\n      \"Note that range selectors are only available for x axes of\",\n      \"`type` set to or auto-typed to *date*.\"\n    ].join(\" \")\n  },\n  buttons: Zie,\n  x: {\n    valType: \"number\",\n    min: -2,\n    max: 3,\n    editType: \"plot\",\n    description: \"Sets the x position (in normalized coordinates) of the range selector.\"\n  },\n  xanchor: {\n    valType: \"enumerated\",\n    values: [\"auto\", \"left\", \"center\", \"right\"],\n    dflt: \"left\",\n    editType: \"plot\",\n    description: [\n      \"Sets the range selector's horizontal position anchor.\",\n      \"This anchor binds the `x` position to the *left*, *center*\",\n      \"or *right* of the range selector.\"\n    ].join(\" \")\n  },\n  y: {\n    valType: \"number\",\n    min: -2,\n    max: 3,\n    editType: \"plot\",\n    description: \"Sets the y position (in normalized coordinates) of the range selector.\"\n  },\n  yanchor: {\n    valType: \"enumerated\",\n    values: [\"auto\", \"top\", \"middle\", \"bottom\"],\n    dflt: \"bottom\",\n    editType: \"plot\",\n    description: [\n      \"Sets the range selector's vertical position anchor\",\n      \"This anchor binds the `y` position to the *top*, *middle*\",\n      \"or *bottom* of the range selector.\"\n    ].join(\" \")\n  },\n  font: qie({\n    editType: \"plot\",\n    description: \"Sets the font of the range selector button text.\"\n  }),\n  bgcolor: {\n    valType: \"color\",\n    dflt: JM.lightLine,\n    editType: \"plot\",\n    description: \"Sets the background color of the range selector buttons.\"\n  },\n  activecolor: {\n    valType: \"color\",\n    editType: \"plot\",\n    description: \"Sets the background color of the active range selector button.\"\n  },\n  bordercolor: {\n    valType: \"color\",\n    dflt: JM.defaultLine,\n    editType: \"plot\",\n    description: \"Sets the color of the border enclosing the range selector.\"\n  },\n  borderwidth: {\n    valType: \"number\",\n    min: 0,\n    dflt: 0,\n    editType: \"plot\",\n    description: \"Sets the width (in px) of the border enclosing the range selector.\"\n  },\n  editType: \"plot\"\n}, j6 = {\n  // 'y' position pad above counter axis domain\n  yPad: 0.02,\n  // minimum button width (regardless of text size)\n  minButtonWidth: 30,\n  // buttons rect radii\n  rx: 3,\n  ry: 3,\n  // light fraction used to compute the 'activecolor' default\n  lightAmount: 25,\n  darkAmount: 10\n}, Wh = Ue, Yie = nr, Xie = Mr, Kie = Ji, U6 = Qy, e1 = j6, Jie = function(t, r, n, a, i) {\n  var o = t.rangeselector || {}, l = Xie.newContainer(r, \"rangeselector\");\n  function s(p, v) {\n    return Wh.coerce(o, l, U6, p, v);\n  }\n  var u = Kie(o, l, {\n    name: \"buttons\",\n    handleItemDefaults: Qie,\n    calendar: i\n  }), f = s(\"visible\", u.length > 0);\n  if (f) {\n    var d = eoe(r, n, a);\n    s(\"x\", d[0]), s(\"y\", d[1]), Wh.noneOrAll(t, r, [\"x\", \"y\"]), s(\"xanchor\"), s(\"yanchor\"), Wh.coerceFont(s, \"font\", n.font);\n    var h = s(\"bgcolor\");\n    s(\"activecolor\", Yie.contrast(h, e1.lightAmount, e1.darkAmount)), s(\"bordercolor\"), s(\"borderwidth\");\n  }\n};\nfunction Qie(e, t, r, n) {\n  var a = n.calendar;\n  function i(s, u) {\n    return Wh.coerce(e, t, U6.buttons, s, u);\n  }\n  var o = i(\"visible\");\n  if (o) {\n    var l = i(\"step\");\n    l !== \"all\" && (a && a !== \"gregorian\" && (l === \"month\" || l === \"year\") ? t.stepmode = \"backward\" : i(\"stepmode\"), i(\"count\")), i(\"label\");\n  }\n}\nfunction eoe(e, t, r) {\n  for (var n = r.filter(function(l) {\n    return t[l].anchor === e._id;\n  }), a = 0, i = 0; i < n.length; i++) {\n    var o = t[n[i]].domain;\n    o && (a = Math.max(o[1], a));\n  }\n  return [e.domain[0], a + e1.yPad];\n}\nconst toe = /* @__PURE__ */ tp(VB);\nvar roe = toe, noe = Ue.titleCase, aoe = function(t, r) {\n  var n = t._name, a = {};\n  if (r.step === \"all\")\n    a[n + \".autorange\"] = !0;\n  else {\n    var i = ioe(t, r);\n    a[n + \".range[0]\"] = i[0], a[n + \".range[1]\"] = i[1];\n  }\n  return a;\n};\nfunction ioe(e, t) {\n  var r = e.range, n = new Date(e.r2l(r[1])), a = t.step, i = roe[\"utc\" + noe(a)], o = t.count, l;\n  switch (t.stepmode) {\n    case \"backward\":\n      l = e.l2r(+i.offset(n, -o));\n      break;\n    case \"todate\":\n      var s = i.offset(n, -o);\n      l = e.l2r(+i.ceil(s));\n      break;\n  }\n  var u = r[1];\n  return [l, u];\n}\nvar $v = lr, ooe = Nt, loe = Tn, QM = nr, G6 = Sr, go = Ue, eS = go.strTranslate, Zh = Rn, soe = gn, b_ = On, tS = b_.LINE_SPACING, rS = b_.FROM_TL, nS = b_.FROM_BR, t1 = j6, uoe = aoe, foe = function(t) {\n  var r = t._fullLayout, n = r._infolayer.selectAll(\".rangeselector\").data(coe(t), doe);\n  n.enter().append(\"g\").classed(\"rangeselector\", !0), n.exit().remove(), n.style({\n    cursor: \"pointer\",\n    \"pointer-events\": \"all\"\n  }), n.each(function(a) {\n    var i = $v.select(this), o = a, l = o.rangeselector, s = i.selectAll(\"g.button\").data(go.filterVisible(l.buttons));\n    s.enter().append(\"g\").classed(\"button\", !0), s.exit().remove(), s.each(function(u) {\n      var f = $v.select(this), d = uoe(o, u);\n      u._isActive = hoe(o, u, d), f.call(b0, l, u), f.call(poe, l, u, t), f.on(\"click\", function() {\n        t._dragged || ooe.call(\"_guiRelayout\", t, d);\n      }), f.on(\"mouseover\", function() {\n        u._isHovered = !0, f.call(b0, l, u);\n      }), f.on(\"mouseout\", function() {\n        u._isHovered = !1, f.call(b0, l, u);\n      });\n    }), goe(t, s, l, o._name, i);\n  });\n};\nfunction coe(e) {\n  for (var t = soe.list(e, \"x\", !0), r = [], n = 0; n < t.length; n++) {\n    var a = t[n];\n    a.rangeselector && a.rangeselector.visible && r.push(a);\n  }\n  return r;\n}\nfunction doe(e) {\n  return e._id;\n}\nfunction hoe(e, t, r) {\n  if (t.step === \"all\")\n    return e.autorange === !0;\n  var n = Object.keys(r);\n  return e.range[0] === r[n[0]] && e.range[1] === r[n[1]];\n}\nfunction b0(e, t, r) {\n  var n = go.ensureSingle(e, \"rect\", \"selector-rect\", function(a) {\n    a.attr(\"shape-rendering\", \"crispEdges\");\n  });\n  n.attr({\n    rx: t1.rx,\n    ry: t1.ry\n  }), n.call(QM.stroke, t.bordercolor).call(QM.fill, voe(t, r)).style(\"stroke-width\", t.borderwidth + \"px\");\n}\nfunction voe(e, t) {\n  return t._isActive || t._isHovered ? e.activecolor : e.bgcolor;\n}\nfunction poe(e, t, r, n) {\n  function a(o) {\n    Zh.convertToTspans(o, n);\n  }\n  var i = go.ensureSingle(e, \"text\", \"selector-text\", function(o) {\n    o.attr(\"text-anchor\", \"middle\");\n  });\n  i.call(G6.font, t.font).text(moe(r, n._fullLayout._meta)).call(a);\n}\nfunction moe(e, t) {\n  return e.label ? t ? go.templateString(e.label, t) : e.label : e.step === \"all\" ? \"all\" : e.count + e.step.charAt(0);\n}\nfunction goe(e, t, r, n, a) {\n  var i = 0, o = 0, l = r.borderwidth;\n  t.each(function() {\n    var p = $v.select(this), v = p.select(\".selector-text\"), m = r.font.size * tS, g = Math.max(m * Zh.lineCount(v), 16) + 3;\n    o = Math.max(o, g);\n  }), t.each(function() {\n    var p = $v.select(this), v = p.select(\".selector-rect\"), m = p.select(\".selector-text\"), g = m.node() && G6.bBox(m.node()).width, y = r.font.size * tS, w = Zh.lineCount(m), k = Math.max(g + 10, t1.minButtonWidth);\n    p.attr(\"transform\", eS(l + i, l)), v.attr({\n      x: 0,\n      y: 0,\n      width: k,\n      height: o\n    }), Zh.positionText(\n      m,\n      k / 2,\n      o / 2 - (w - 1) * y / 2 + 3\n    ), i += k + 5;\n  });\n  var s = e._fullLayout._size, u = s.l + s.w * r.x, f = s.t + s.h * (1 - r.y), d = \"left\";\n  go.isRightAnchor(r) && (u -= i, d = \"right\"), go.isCenterAnchor(r) && (u -= i / 2, d = \"center\");\n  var h = \"top\";\n  go.isBottomAnchor(r) && (f -= o, h = \"bottom\"), go.isMiddleAnchor(r) && (f -= o / 2, h = \"middle\"), i = Math.ceil(i), o = Math.ceil(o), u = Math.round(u), f = Math.round(f), loe.autoMargin(e, n + \"-range-selector\", {\n    x: r.x,\n    y: r.y,\n    l: i * rS[d],\n    r: i * nS[d],\n    b: o * nS[h],\n    t: o * rS[h]\n  }), a.attr(\"transform\", eS(u, f));\n}\nvar yoe = {\n  moduleType: \"component\",\n  name: \"rangeselector\",\n  schema: {\n    subplots: {\n      xaxis: { rangeselector: Qy }\n    }\n  },\n  layoutAttributes: Qy,\n  handleDefaults: Jie,\n  draw: foe\n}, __ = {}, aS = en.extendFlat;\n__.attributes = function(e, t) {\n  e = e || {}, t = t || {};\n  var r = {\n    valType: \"info_array\",\n    editType: e.editType,\n    items: [\n      { valType: \"number\", min: 0, max: 1, editType: e.editType },\n      { valType: \"number\", min: 0, max: 1, editType: e.editType }\n    ],\n    dflt: [0, 1]\n  }, n = e.name ? e.name + \" \" : \"\", a = e.trace ? \"trace \" : \"subplot \", i = t.description ? \" \" + t.description : \"\", o = {\n    x: aS({}, r, {\n      description: [\n        \"Sets the horizontal domain of this \",\n        n,\n        a,\n        \"(in plot fraction).\",\n        i\n      ].join(\"\")\n    }),\n    y: aS({}, r, {\n      description: [\n        \"Sets the vertical domain of this \",\n        n,\n        a,\n        \"(in plot fraction).\",\n        i\n      ].join(\"\")\n    }),\n    editType: e.editType\n  };\n  return e.noGridCell || (o.row = {\n    valType: \"integer\",\n    min: 0,\n    dflt: 0,\n    editType: e.editType,\n    description: [\n      \"If there is a layout grid, use the domain \",\n      \"for this row in the grid for this \",\n      n,\n      a,\n      \".\",\n      i\n    ].join(\"\")\n  }, o.column = {\n    valType: \"integer\",\n    min: 0,\n    dflt: 0,\n    editType: e.editType,\n    description: [\n      \"If there is a layout grid, use the domain \",\n      \"for this column in the grid for this \",\n      n,\n      a,\n      \".\",\n      i\n    ].join(\"\")\n  }), o;\n};\n__.defaults = function(e, t, r, n) {\n  var a = n && n.x || [0, 1], i = n && n.y || [0, 1], o = t.grid;\n  if (o) {\n    var l = r(\"domain.column\");\n    l !== void 0 && (l < o.columns ? a = o._domains.x[l] : delete e.domain.column);\n    var s = r(\"domain.row\");\n    s !== void 0 && (s < o.rows ? i = o._domains.y[s] : delete e.domain.row);\n  }\n  var u = r(\"domain.x\", a), f = r(\"domain.y\", i);\n  u[0] < u[1] || (e.domain.x = a.slice()), f[0] < f[1] || (e.domain.y = i.slice());\n};\nvar boe = Ue, _oe = Zu.counter, xoe = __.attributes, iS = Yn.idRegex, woe = Mr, r1 = {\n  rows: {\n    valType: \"integer\",\n    min: 1,\n    editType: \"plot\",\n    description: [\n      \"The number of rows in the grid. If you provide a 2D `subplots`\",\n      \"array or a `yaxes` array, its length is used as the default.\",\n      \"But it's also possible to have a different length, if you\",\n      \"want to leave a row at the end for non-cartesian subplots.\"\n    ].join(\" \")\n  },\n  roworder: {\n    valType: \"enumerated\",\n    values: [\"top to bottom\", \"bottom to top\"],\n    dflt: \"top to bottom\",\n    editType: \"plot\",\n    description: [\n      \"Is the first row the top or the bottom? Note that columns\",\n      \"are always enumerated from left to right.\"\n    ].join(\" \")\n  },\n  columns: {\n    valType: \"integer\",\n    min: 1,\n    editType: \"plot\",\n    description: [\n      \"The number of columns in the grid. If you provide a 2D `subplots`\",\n      \"array, the length of its longest row is used as the default.\",\n      \"If you give an `xaxes` array, its length is used as the default.\",\n      \"But it's also possible to have a different length, if you\",\n      \"want to leave a row at the end for non-cartesian subplots.\"\n    ].join(\" \")\n  },\n  subplots: {\n    valType: \"info_array\",\n    freeLength: !0,\n    dimensions: 2,\n    items: { valType: \"enumerated\", values: [_oe(\"xy\").toString(), \"\"], editType: \"plot\" },\n    editType: \"plot\",\n    description: [\n      \"Used for freeform grids, where some axes may be shared across subplots\",\n      \"but others are not. Each entry should be a cartesian subplot id, like\",\n      \"*xy* or *x3y2*, or ** to leave that cell empty. You may reuse x axes\",\n      \"within the same column, and y axes within the same row.\",\n      \"Non-cartesian subplots and traces that support `domain` can place themselves\",\n      \"in this grid separately using the `gridcell` attribute.\"\n    ].join(\" \")\n  },\n  xaxes: {\n    valType: \"info_array\",\n    freeLength: !0,\n    items: { valType: \"enumerated\", values: [iS.x.toString(), \"\"], editType: \"plot\" },\n    editType: \"plot\",\n    description: [\n      \"Used with `yaxes` when the x and y axes are shared across columns and rows.\",\n      \"Each entry should be an x axis id like *x*, *x2*, etc., or ** to\",\n      \"not put an x axis in that column. Entries other than ** must be unique.\",\n      \"Ignored if `subplots` is present. If missing but `yaxes` is present,\",\n      \"will generate consecutive IDs.\"\n    ].join(\" \")\n  },\n  yaxes: {\n    valType: \"info_array\",\n    freeLength: !0,\n    items: { valType: \"enumerated\", values: [iS.y.toString(), \"\"], editType: \"plot\" },\n    editType: \"plot\",\n    description: [\n      \"Used with `yaxes` when the x and y axes are shared across columns and rows.\",\n      \"Each entry should be an y axis id like *y*, *y2*, etc., or ** to\",\n      \"not put a y axis in that row. Entries other than ** must be unique.\",\n      \"Ignored if `subplots` is present. If missing but `xaxes` is present,\",\n      \"will generate consecutive IDs.\"\n    ].join(\" \")\n  },\n  pattern: {\n    valType: \"enumerated\",\n    values: [\"independent\", \"coupled\"],\n    dflt: \"coupled\",\n    editType: \"plot\",\n    description: [\n      \"If no `subplots`, `xaxes`, or `yaxes` are given but we do have `rows` and `columns`,\",\n      \"we can generate defaults using consecutive axis IDs, in two ways:\",\n      \"*coupled* gives one x axis per column and one y axis per row.\",\n      \"*independent* uses a new xy pair for each cell, left-to-right across each row\",\n      \"then iterating rows according to `roworder`.\"\n    ].join(\" \")\n  },\n  xgap: {\n    valType: \"number\",\n    min: 0,\n    max: 1,\n    editType: \"plot\",\n    description: [\n      \"Horizontal space between grid cells, expressed as a fraction\",\n      \"of the total width available to one cell. Defaults to 0.1\",\n      \"for coupled-axes grids and 0.2 for independent grids.\"\n    ].join(\" \")\n  },\n  ygap: {\n    valType: \"number\",\n    min: 0,\n    max: 1,\n    editType: \"plot\",\n    description: [\n      \"Vertical space between grid cells, expressed as a fraction\",\n      \"of the total height available to one cell. Defaults to 0.1\",\n      \"for coupled-axes grids and 0.3 for independent grids.\"\n    ].join(\" \")\n  },\n  domain: xoe({ name: \"grid\", editType: \"plot\", noGridCell: !0 }, {\n    description: [\n      \"The first and last cells end exactly at the domain\",\n      \"edges, with no grout around the edges.\"\n    ].join(\" \")\n  }),\n  xside: {\n    valType: \"enumerated\",\n    values: [\"bottom\", \"bottom plot\", \"top plot\", \"top\"],\n    dflt: \"bottom plot\",\n    editType: \"plot\",\n    description: [\n      \"Sets where the x axis labels and titles go. *bottom* means\",\n      \"the very bottom of the grid. *bottom plot* is the lowest plot\",\n      \"that each x axis is used in. *top* and *top plot* are similar.\"\n    ].join(\" \")\n  },\n  yside: {\n    valType: \"enumerated\",\n    values: [\"left\", \"left plot\", \"right plot\", \"right\"],\n    dflt: \"left plot\",\n    editType: \"plot\",\n    description: [\n      \"Sets where the y axis labels and titles go. *left* means\",\n      \"the very left edge of the grid. *left plot* is the leftmost plot\",\n      \"that each y axis is used in. *right* and *right plot* are similar.\"\n    ].join(\" \")\n  },\n  editType: \"plot\"\n};\nfunction zv(e, t, r) {\n  var n = t[r + \"axes\"], a = Object.keys((e._splomAxes || {})[r] || {});\n  if (Array.isArray(n)) return n;\n  if (a.length) return a;\n}\nfunction Toe(e, t) {\n  var r = e.grid || {}, n = zv(t, r, \"x\"), a = zv(t, r, \"y\");\n  if (!e.grid && !n && !a) return;\n  var i = Array.isArray(r.subplots) && Array.isArray(r.subplots[0]), o = Array.isArray(n), l = Array.isArray(a), s = o && n !== r.xaxes && l && a !== r.yaxes, u, f;\n  i ? (u = r.subplots.length, f = r.subplots[0].length) : (l && (u = a.length), o && (f = n.length));\n  var d = woe.newContainer(t, \"grid\");\n  function h(T, S) {\n    return boe.coerce(r, d, r1, T, S);\n  }\n  var p = h(\"rows\", u), v = h(\"columns\", f);\n  if (!(p * v > 1)) {\n    delete t.grid;\n    return;\n  }\n  if (!i && !o && !l) {\n    var m = h(\"pattern\") === \"independent\";\n    m && (i = !0);\n  }\n  d._hasSubplotGrid = i;\n  var g = h(\"roworder\"), y = g === \"top to bottom\", w = i ? 0.2 : 0.1, k = i ? 0.3 : 0.1, x, _;\n  s && t._splomGridDflt && (x = t._splomGridDflt.xside, _ = t._splomGridDflt.yside), d._domains = {\n    x: oS(\"x\", h, w, x, v),\n    y: oS(\"y\", h, k, _, p, y)\n  };\n}\nfunction oS(e, t, r, n, a, i) {\n  var o = t(e + \"gap\", r), l = t(\"domain.\" + e);\n  t(e + \"side\", n);\n  for (var s = new Array(a), u = l[0], f = (l[1] - u) / (a - o), d = f * (1 - o), h = 0; h < a; h++) {\n    var p = u + f * h;\n    s[i ? a - 1 - h : h] = [p, p + d];\n  }\n  return s;\n}\nfunction koe(e, t) {\n  var r = t.grid;\n  if (!(!r || !r._domains)) {\n    var n = e.grid || {}, a = t._subplots, i = r._hasSubplotGrid, o = r.rows, l = r.columns, s = r.pattern === \"independent\", u, f, d, h, p, v, m, g = r._axisMap = {};\n    if (i) {\n      var y = n.subplots || [];\n      v = r.subplots = new Array(o);\n      var w = 1;\n      for (u = 0; u < o; u++) {\n        var k = v[u] = new Array(l), x = y[u] || [];\n        for (f = 0; f < l; f++)\n          if (s ? (p = w === 1 ? \"xy\" : \"x\" + w + \"y\" + w, w++) : p = x[f], k[f] = \"\", a.cartesian.indexOf(p) !== -1) {\n            if (m = p.indexOf(\"y\"), d = p.slice(0, m), h = p.slice(m), g[d] !== void 0 && g[d] !== f || g[h] !== void 0 && g[h] !== u)\n              continue;\n            k[f] = p, g[d] = f, g[h] = u;\n          }\n      }\n    } else {\n      var _ = zv(t, n, \"x\"), T = zv(t, n, \"y\");\n      r.xaxes = lS(_, a.xaxis, l, g, \"x\"), r.yaxes = lS(T, a.yaxis, o, g, \"y\");\n    }\n    var S = r._anchors = {}, M = r.roworder === \"top to bottom\";\n    for (var L in g) {\n      var F = L.charAt(0), $ = r[F + \"side\"], I, O, G;\n      if ($.length < 8)\n        S[L] = \"free\";\n      else if (F === \"x\") {\n        if ($.charAt(0) === \"t\" === M ? (I = 0, O = 1, G = o) : (I = o - 1, O = -1, G = -1), i) {\n          var K = g[L];\n          for (u = I; u !== G; u += O)\n            if (p = v[u][K], !!p && (m = p.indexOf(\"y\"), p.slice(0, m) === L)) {\n              S[L] = p.slice(m);\n              break;\n            }\n        } else\n          for (u = I; u !== G; u += O)\n            if (h = r.yaxes[u], a.cartesian.indexOf(L + h) !== -1) {\n              S[L] = h;\n              break;\n            }\n      } else if ($.charAt(0) === \"l\" ? (I = 0, O = 1, G = l) : (I = l - 1, O = -1, G = -1), i) {\n        var V = g[L];\n        for (u = I; u !== G; u += O)\n          if (p = v[V][u], !!p && (m = p.indexOf(\"y\"), p.slice(m) === L)) {\n            S[L] = p.slice(0, m);\n            break;\n          }\n      } else\n        for (u = I; u !== G; u += O)\n          if (d = r.xaxes[u], a.cartesian.indexOf(d + L) !== -1) {\n            S[L] = d;\n            break;\n          }\n    }\n  }\n}\nfunction lS(e, t, r, n, a) {\n  var i = new Array(r), o;\n  function l(s, u) {\n    t.indexOf(u) !== -1 && n[u] === void 0 ? (i[s] = u, n[u] = s) : i[s] = \"\";\n  }\n  if (Array.isArray(e))\n    for (o = 0; o < r; o++)\n      l(o, e[o]);\n  else\n    for (l(0, a), o = 1; o < r; o++)\n      l(o, a + (o + 1));\n  return i;\n}\nvar Aoe = {\n  moduleType: \"component\",\n  name: \"grid\",\n  schema: {\n    layout: { grid: r1 }\n  },\n  layoutAttributes: r1,\n  sizeDefaults: Toe,\n  contentDefaults: koe\n}, V6 = {\n  visible: {\n    valType: \"boolean\",\n    editType: \"calc\",\n    description: [\n      \"Determines whether or not this set of error bars is visible.\"\n    ].join(\" \")\n  },\n  type: {\n    valType: \"enumerated\",\n    values: [\"percent\", \"constant\", \"sqrt\", \"data\"],\n    editType: \"calc\",\n    description: [\n      \"Determines the rule used to generate the error bars.\",\n      \"If *constant`, the bar lengths are of a constant value.\",\n      \"Set this constant in `value`.\",\n      \"If *percent*, the bar lengths correspond to a percentage of\",\n      \"underlying data. Set this percentage in `value`.\",\n      \"If *sqrt*, the bar lengths correspond to the square of the\",\n      \"underlying data.\",\n      \"If *data*, the bar lengths are set with data set `array`.\"\n    ].join(\" \")\n  },\n  symmetric: {\n    valType: \"boolean\",\n    editType: \"calc\",\n    description: [\n      \"Determines whether or not the error bars have the same length\",\n      \"in both direction\",\n      \"(top/bottom for vertical bars, left/right for horizontal bars.\"\n    ].join(\" \")\n  },\n  array: {\n    valType: \"data_array\",\n    editType: \"calc\",\n    description: [\n      \"Sets the data corresponding the length of each error bar.\",\n      \"Values are plotted relative to the underlying data.\"\n    ].join(\" \")\n  },\n  arrayminus: {\n    valType: \"data_array\",\n    editType: \"calc\",\n    description: [\n      \"Sets the data corresponding the length of each error bar in the\",\n      \"bottom (left) direction for vertical (horizontal) bars\",\n      \"Values are plotted relative to the underlying data.\"\n    ].join(\" \")\n  },\n  value: {\n    valType: \"number\",\n    min: 0,\n    dflt: 10,\n    editType: \"calc\",\n    description: [\n      \"Sets the value of either the percentage\",\n      \"(if `type` is set to *percent*) or the constant\",\n      \"(if `type` is set to *constant*) corresponding to the lengths of\",\n      \"the error bars.\"\n    ].join(\" \")\n  },\n  valueminus: {\n    valType: \"number\",\n    min: 0,\n    dflt: 10,\n    editType: \"calc\",\n    description: [\n      \"Sets the value of either the percentage\",\n      \"(if `type` is set to *percent*) or the constant\",\n      \"(if `type` is set to *constant*) corresponding to the lengths of\",\n      \"the error bars in the\",\n      \"bottom (left) direction for vertical (horizontal) bars\"\n    ].join(\" \")\n  },\n  traceref: {\n    valType: \"integer\",\n    min: 0,\n    dflt: 0,\n    editType: \"style\"\n  },\n  tracerefminus: {\n    valType: \"integer\",\n    min: 0,\n    dflt: 0,\n    editType: \"style\"\n  },\n  copy_ystyle: {\n    valType: \"boolean\",\n    editType: \"plot\"\n  },\n  copy_zstyle: {\n    valType: \"boolean\",\n    editType: \"style\"\n  },\n  color: {\n    valType: \"color\",\n    editType: \"style\",\n    description: \"Sets the stoke color of the error bars.\"\n  },\n  thickness: {\n    valType: \"number\",\n    min: 0,\n    dflt: 2,\n    editType: \"style\",\n    description: \"Sets the thickness (in px) of the error bars.\"\n  },\n  width: {\n    valType: \"number\",\n    min: 0,\n    editType: \"plot\",\n    description: [\n      \"Sets the width (in px) of the cross-bar at both ends\",\n      \"of the error bars.\"\n    ].join(\" \")\n  },\n  editType: \"calc\",\n  _deprecated: {\n    opacity: {\n      valType: \"number\",\n      editType: \"style\",\n      description: [\n        \"Obsolete.\",\n        \"Use the alpha channel in error bar `color` to set the opacity.\"\n      ].join(\" \")\n    }\n  }\n}, _0, sS;\nfunction Moe() {\n  if (sS) return _0;\n  sS = 1;\n  var e = sr, t = Nt, r = Ue, n = Mr, a = V6;\n  return _0 = function(i, o, l, s) {\n    var u = \"error_\" + s.axis, f = n.newContainer(o, u), d = i[u] || {};\n    function h(k, x) {\n      return r.coerce(d, f, a, k, x);\n    }\n    var p = d.array !== void 0 || d.value !== void 0 || d.type === \"sqrt\", v = h(\"visible\", p);\n    if (v !== !1) {\n      var m = h(\"type\", \"array\" in d ? \"data\" : \"percent\"), g = !0;\n      m !== \"sqrt\" && (g = h(\n        \"symmetric\",\n        !((m === \"data\" ? \"arrayminus\" : \"valueminus\") in d)\n      )), m === \"data\" ? (h(\"array\"), h(\"traceref\"), g || (h(\"arrayminus\"), h(\"tracerefminus\"))) : (m === \"percent\" || m === \"constant\") && (h(\"value\"), g || h(\"valueminus\"));\n      var y = \"copy_\" + s.inherit + \"style\";\n      if (s.inherit) {\n        var w = o[\"error_\" + s.inherit];\n        (w || {}).visible && h(y, !(d.color || e(d.thickness) || e(d.width)));\n      }\n      (!s.inherit || !f[y]) && (h(\"color\", l), h(\"thickness\"), h(\"width\", t.traceIs(o, \"gl3d\") ? 0 : 4));\n    }\n  }, _0;\n}\nvar x0, uS;\nfunction q6() {\n  if (uS) return x0;\n  uS = 1, x0 = function(r) {\n    var n = r.type, a = r.symmetric;\n    if (n === \"data\") {\n      var i = r.array || [];\n      if (a)\n        return function(f, d) {\n          var h = +i[d];\n          return [h, h];\n        };\n      var o = r.arrayminus || [];\n      return function(f, d) {\n        var h = +i[d], p = +o[d];\n        return !isNaN(h) || !isNaN(p) ? [p || 0, h || 0] : [NaN, NaN];\n      };\n    } else {\n      var l = e(n, r.value), s = e(n, r.valueminus);\n      return a || r.valueminus === void 0 ? function(f) {\n        var d = l(f);\n        return [d, d];\n      } : function(f) {\n        return [\n          s(f),\n          l(f)\n        ];\n      };\n    }\n  };\n  function e(t, r) {\n    if (t === \"percent\")\n      return function(n) {\n        return Math.abs(n * r / 100);\n      };\n    if (t === \"constant\")\n      return function() {\n        return Math.abs(r);\n      };\n    if (t === \"sqrt\")\n      return function(n) {\n        return Math.sqrt(Math.abs(n));\n      };\n  }\n  return x0;\n}\nvar w0, fS;\nfunction Soe() {\n  if (fS) return w0;\n  fS = 1;\n  var e = sr, t = Nt, r = Cr, n = Ue, a = q6();\n  w0 = function(l) {\n    for (var s = l.calcdata, u = 0; u < s.length; u++) {\n      var f = s[u], d = f[0].trace;\n      if (d.visible === !0 && t.traceIs(d, \"errorBarsOK\")) {\n        var h = r.getFromId(l, d.xaxis), p = r.getFromId(l, d.yaxis);\n        i(f, d, h, \"x\"), i(f, d, p, \"y\");\n      }\n    }\n  };\n  function i(o, l, s, u) {\n    var f = l[\"error_\" + u] || {}, d = f.visible && [\"linear\", \"log\"].indexOf(s.type) !== -1, h = [];\n    if (d) {\n      for (var p = a(f), v = 0; v < o.length; v++) {\n        var m = o[v], g = m.i;\n        if (g === void 0) g = v;\n        else if (g === null) continue;\n        var y = m[u];\n        if (e(s.c2l(y))) {\n          var w = p(y, g);\n          if (e(w[0]) && e(w[1])) {\n            var k = m[u + \"s\"] = y - w[0], x = m[u + \"h\"] = y + w[1];\n            h.push(k, x);\n          }\n        }\n      }\n      var _ = s._id, T = l._extremes[_], S = r.findExtremes(\n        s,\n        h,\n        n.extendFlat({ tozero: T.opts.tozero }, { padded: !0 })\n      );\n      T.min = T.min.concat(S.min), T.max = T.max.concat(S.max);\n    }\n  }\n  return w0;\n}\nvar T0, cS;\nfunction Coe() {\n  if (cS) return T0;\n  cS = 1;\n  var e = lr, t = sr, r = Sr, n = Ya;\n  T0 = function(o, l, s, u) {\n    var f, d = s.xaxis, h = s.yaxis, p = u && u.duration > 0, v = o._context.staticPlot;\n    l.each(function(m) {\n      var g = m[0].trace, y = g.error_x || {}, w = g.error_y || {}, k;\n      g.ids && (k = function(S) {\n        return S.id;\n      });\n      var x = n.hasMarkers(g) && g.marker.maxdisplayed > 0;\n      !w.visible && !y.visible && (m = []);\n      var _ = e.select(this).selectAll(\"g.errorbar\").data(m, k);\n      if (_.exit().remove(), !!m.length) {\n        y.visible || _.selectAll(\"path.xerror\").remove(), w.visible || _.selectAll(\"path.yerror\").remove(), _.style(\"opacity\", 1);\n        var T = _.enter().append(\"g\").classed(\"errorbar\", !0);\n        p && T.style(\"opacity\", 0).transition().duration(u.duration).style(\"opacity\", 1), r.setClipUrl(_, s.layerClipId, o), _.each(function(S) {\n          var M = e.select(this), L = a(S, d, h);\n          if (!(x && !S.vis)) {\n            var F, $ = M.select(\"path.yerror\");\n            if (w.visible && t(L.x) && t(L.yh) && t(L.ys)) {\n              var I = w.width;\n              F = \"M\" + (L.x - I) + \",\" + L.yh + \"h\" + 2 * I + // hat\n              \"m-\" + I + \",0V\" + L.ys, L.noYS || (F += \"m-\" + I + \",0h\" + 2 * I), f = !$.size(), f ? $ = M.append(\"path\").style(\"vector-effect\", v ? \"none\" : \"non-scaling-stroke\").classed(\"yerror\", !0) : p && ($ = $.transition().duration(u.duration).ease(u.easing)), $.attr(\"d\", F);\n            } else $.remove();\n            var O = M.select(\"path.xerror\");\n            if (y.visible && t(L.y) && t(L.xh) && t(L.xs)) {\n              var G = (y.copy_ystyle ? w : y).width;\n              F = \"M\" + L.xh + \",\" + (L.y - G) + \"v\" + 2 * G + // hat\n              \"m0,-\" + G + \"H\" + L.xs, L.noXS || (F += \"m0,-\" + G + \"v\" + 2 * G), f = !O.size(), f ? O = M.append(\"path\").style(\"vector-effect\", v ? \"none\" : \"non-scaling-stroke\").classed(\"xerror\", !0) : p && (O = O.transition().duration(u.duration).ease(u.easing)), O.attr(\"d\", F);\n            } else O.remove();\n          }\n        });\n      }\n    });\n  };\n  function a(i, o, l) {\n    var s = {\n      x: o.c2p(i.x),\n      y: l.c2p(i.y)\n    };\n    return i.yh !== void 0 && (s.yh = l.c2p(i.yh), s.ys = l.c2p(i.ys), t(s.ys) || (s.noYS = !0, s.ys = l.c2p(i.ys, !0))), i.xh !== void 0 && (s.xh = o.c2p(i.xh), s.xs = o.c2p(i.xs), t(s.xs) || (s.noXS = !0, s.xs = o.c2p(i.xs, !0))), s;\n  }\n  return T0;\n}\nvar k0, dS;\nfunction Loe() {\n  if (dS) return k0;\n  dS = 1;\n  var e = lr, t = nr;\n  return k0 = function(n) {\n    n.each(function(a) {\n      var i = a[0].trace, o = i.error_y || {}, l = i.error_x || {}, s = e.select(this);\n      s.selectAll(\"path.yerror\").style(\"stroke-width\", o.thickness + \"px\").call(t.stroke, o.color), l.copy_ystyle && (l = o), s.selectAll(\"path.xerror\").style(\"stroke-width\", l.thickness + \"px\").call(t.stroke, l.color);\n    });\n  }, k0;\n}\nvar sc = Ue, hS = Lo.overrideAll, uc = V6, Ul = {\n  error_x: sc.extendFlat({}, uc),\n  error_y: sc.extendFlat({}, uc)\n};\ndelete Ul.error_x.copy_zstyle;\ndelete Ul.error_y.copy_zstyle;\ndelete Ul.error_y.copy_ystyle;\nvar id = {\n  error_x: sc.extendFlat({}, uc),\n  error_y: sc.extendFlat({}, uc),\n  error_z: sc.extendFlat({}, uc)\n};\ndelete id.error_x.copy_ystyle;\ndelete id.error_y.copy_ystyle;\ndelete id.error_z.copy_ystyle;\ndelete id.error_z.copy_zstyle;\nvar Doe = {\n  moduleType: \"component\",\n  name: \"errorbars\",\n  schema: {\n    traces: {\n      scatter: Ul,\n      bar: Ul,\n      histogram: Ul,\n      scatter3d: hS(id, \"calc\", \"nested\"),\n      scattergl: hS(Ul, \"calc\", \"nested\")\n    }\n  },\n  supplyDefaults: Moe(),\n  calc: Soe(),\n  makeComputeError: q6(),\n  plot: Coe(),\n  style: Loe(),\n  hoverInfo: Eoe\n};\nfunction Eoe(e, t, r) {\n  (t.error_y || {}).visible && (r.yerr = e.yh - e.y, t.error_y.symmetric || (r.yerrneg = e.y - e.ys)), (t.error_x || {}).visible && (r.xerr = e.xh - e.x, t.error_x.symmetric || (r.xerrneg = e.x - e.xs));\n}\nvar Foe = {\n  cn: {\n    colorbar: \"colorbar\",\n    cbbg: \"cbbg\",\n    cbfill: \"cbfill\",\n    cbfills: \"cbfills\",\n    cbline: \"cbline\",\n    cblines: \"cblines\",\n    cbaxis: \"cbaxis\",\n    cbtitleunshift: \"cbtitleunshift\",\n    cbtitle: \"cbtitle\",\n    cboutline: \"cboutline\",\n    crisp: \"crisp\",\n    jsPlaceholder: \"js-placeholder\"\n  }\n}, qo = lr, A0 = bi, Yh = Tn, vS = Nt, lo = Cr, xh = Qi, Ba = Ue, oi = Ba.strTranslate, W6 = en.extendFlat, M0 = xs, ni = Sr, S0 = nr, Roe = Cp, Poe = Rn, $oe = wi.flipScale, zoe = n6, Ioe = a6, Noe = Ki, x_ = On, pS = x_.LINE_SPACING, mS = x_.FROM_TL, gS = x_.FROM_BR, Hr = Foe.cn;\nfunction Ooe(e) {\n  var t = e._fullLayout, r = t._infolayer.selectAll(\"g.\" + Hr.colorbar).data(Hoe(e), function(n) {\n    return n._id;\n  });\n  r.enter().append(\"g\").attr(\"class\", function(n) {\n    return n._id;\n  }).classed(Hr.colorbar, !0), r.each(function(n) {\n    var a = qo.select(this);\n    Ba.ensureSingle(a, \"rect\", Hr.cbbg), Ba.ensureSingle(a, \"g\", Hr.cbfills), Ba.ensureSingle(a, \"g\", Hr.cblines), Ba.ensureSingle(a, \"g\", Hr.cbaxis, function(o) {\n      o.classed(Hr.crisp, !0);\n    }), Ba.ensureSingle(a, \"g\", Hr.cbtitleunshift, function(o) {\n      o.append(\"g\").classed(Hr.cbtitle, !0);\n    }), Ba.ensureSingle(a, \"rect\", Hr.cboutline);\n    var i = Boe(a, n, e);\n    i && i.then && (e._promises || []).push(i), e._context.edits.colorbarPosition && joe(a, n, e);\n  }), r.exit().each(function(n) {\n    Yh.autoMargin(e, n._id);\n  }).remove(), r.order();\n}\nfunction Hoe(e) {\n  var t = e._fullLayout, r = e.calcdata, n = [], a, i, o, l;\n  function s(k) {\n    return W6(k, {\n      // fillcolor can be a d3 scale, domain is z values, range is colors\n      // or leave it out for no fill,\n      // or set to a string constant for single-color fill\n      _fillcolor: null,\n      // line.color has the same options as fillcolor\n      _line: { color: null, width: null, dash: null },\n      // levels of lines to draw.\n      // note that this DOES NOT determine the extent of the bar\n      // that's given by the domain of fillcolor\n      // (or line.color if no fillcolor domain)\n      _levels: { start: null, end: null, size: null },\n      // separate fill levels (for example, heatmap coloring of a\n      // contour map) if this is omitted, fillcolors will be\n      // evaluated halfway between levels\n      _filllevels: null,\n      // for continuous colorscales: fill with a gradient instead of explicit levels\n      // value should be the colorscale [[0, c0], [v1, c1], ..., [1, cEnd]]\n      _fillgradient: null,\n      // when using a gradient, we need the data range specified separately\n      _zrange: null\n    });\n  }\n  function u() {\n    typeof l.calc == \"function\" ? l.calc(e, o, a) : (a._fillgradient = i.reversescale ? $oe(i.colorscale) : i.colorscale, a._zrange = [i[l.min], i[l.max]]);\n  }\n  for (var f = 0; f < r.length; f++) {\n    var d = r[f];\n    if (o = d[0].trace, !!o._module) {\n      var h = o._module.colorbar;\n      if (o.visible === !0 && h)\n        for (var p = Array.isArray(h), v = p ? h : [h], m = 0; m < v.length; m++) {\n          l = v[m];\n          var g = l.container;\n          i = g ? o[g] : o, i && i.showscale && (a = s(i.colorbar), a._id = \"cb\" + o.uid + (p && g ? \"-\" + g : \"\"), a._traceIndex = o.index, a._propPrefix = (g ? g + \".\" : \"\") + \"colorbar.\", a._meta = o._meta, u(), n.push(a));\n        }\n    }\n  }\n  for (var y in t._colorAxes)\n    if (i = t[y], i.showscale) {\n      var w = t._colorAxes[y];\n      a = s(i.colorbar), a._id = \"cb\" + y, a._propPrefix = y + \".colorbar.\", a._meta = t._meta, l = { min: \"cmin\", max: \"cmax\" }, w[0] !== \"heatmap\" && (o = w[1], l.calc = o._module.colorbar.calc), u(), n.push(a);\n    }\n  return n;\n}\nfunction Boe(e, t, r) {\n  var n = t.orientation === \"v\", a = t.len, i = t.lenmode, o = t.thickness, l = t.thicknessmode, s = t.outlinewidth, u = t.borderwidth, f = t.bgcolor, d = t.xanchor, h = t.yanchor, p = t.xpad, v = t.ypad, m = t.x, g = n ? t.y : 1 - t.y, y = t.yref === \"paper\", w = t.xref === \"paper\", k = r._fullLayout, x = k._size, _ = t._fillcolor, T = t._line, S = t.title, M = S.side, L = t._zrange || qo.extent((typeof _ == \"function\" ? _ : T.color).domain()), F = typeof T.color == \"function\" ? T.color : function() {\n    return T.color;\n  }, $ = typeof _ == \"function\" ? _ : function() {\n    return _;\n  }, I = t._levels, O = Uoe(r, t, L), G = O.fill, K = O.line, V = Math.round(o * (l === \"fraction\" ? n ? x.w : x.h : 1)), z = V / (n ? x.w : x.h), P = Math.round(a * (i === \"fraction\" ? n ? x.h : x.w : 1)), R = P / (n ? x.h : x.w), H = w ? x.w : r._fullLayout.width, B = y ? x.h : r._fullLayout.height, W = Math.round(\n    n ? m * H + p : g * B + v\n  ), ee = { center: 0.5, right: 1 }[d] || 0, re = { top: 1, middle: 0.5 }[h] || 0, ae = n ? m - ee * z : g - re * z, Q = n ? g - re * R : m - ee * R, ue = Math.round(\n    n ? B * (1 - Q) : H * Q\n  );\n  t._lenFrac = R, t._thickFrac = z, t._uFrac = ae, t._vFrac = Q;\n  var j = t._axis = Goe(r, t, L);\n  j.position = z + (n ? m + p / x.w : g + v / x.h);\n  var U = [\"top\", \"bottom\"].indexOf(M) !== -1;\n  if (n && U && (j.title.side = M, j.titlex = m + p / x.w, j.titley = Q + (S.side === \"top\" ? R - v / x.h : v / x.h)), !n && !U && (j.title.side = M, j.titley = g + v / x.h, j.titlex = Q + p / x.w), T.color && t.tickmode === \"auto\") {\n    j.tickmode = \"linear\", j.tick0 = I.start;\n    var Z = I.size, le = Ba.constrain(P / 50, 4, 15) + 1, J = (L[1] - L[0]) / ((t.nticks || le) * Z);\n    if (J > 1) {\n      var pe = Math.pow(10, Math.floor(Math.log(J) / Math.LN10));\n      Z *= pe * Ba.roundUp(J / pe, [2, 5, 10]), (Math.abs(I.start) / I.size + 1e-6) % 1 < 2e-6 && (j.tick0 = 0);\n    }\n    j.dtick = Z;\n  }\n  j.domain = n ? [\n    Q + v / x.h,\n    Q + R - v / x.h\n  ] : [\n    Q + p / x.w,\n    Q + R - p / x.w\n  ], j.setScale(), e.attr(\"transform\", oi(Math.round(x.l), Math.round(x.t)));\n  var ge = e.select(\".\" + Hr.cbtitleunshift).attr(\"transform\", oi(-Math.round(x.l), -Math.round(x.t))), ve = j.ticklabelposition, me = j.title.font.size, Le = e.select(\".\" + Hr.cbaxis), ze, Fe = 0, Oe = 0;\n  function Re(Qe, ot) {\n    var ht = {\n      propContainer: j,\n      propName: t._propPrefix + \"title\",\n      traceIndex: t._traceIndex,\n      _meta: t._meta,\n      placeholder: k._dfltTitle.colorbar,\n      containerGroup: e.select(\".\" + Hr.cbtitle)\n    }, vt = Qe.charAt(0) === \"h\" ? Qe.substr(1) : \"h\" + Qe;\n    e.selectAll(\".\" + vt + \",.\" + vt + \"-math-group\").remove(), Roe.draw(r, Qe, W6(ht, ot || {}));\n  }\n  function We() {\n    if (n && U || !n && !U) {\n      var Qe, ot;\n      M === \"top\" && (Qe = p + x.l + H * m, ot = v + x.t + B * (1 - Q - R) + 3 + me * 0.75), M === \"bottom\" && (Qe = p + x.l + H * m, ot = v + x.t + B * (1 - Q) - 3 - me * 0.25), M === \"right\" && (ot = v + x.t + B * g + 3 + me * 0.75, Qe = p + x.l + H * Q), Re(j._id + \"title\", {\n        attributes: { x: Qe, y: ot, \"text-anchor\": n ? \"start\" : \"middle\" }\n      });\n    }\n  }\n  function Me() {\n    if (n && !U || !n && U) {\n      var Qe = j.position || 0, ot = j._offset + j._length / 2, ht, vt;\n      if (M === \"right\")\n        vt = ot, ht = x.l + H * Qe + 10 + me * (j.showticklabels ? 1 : 0.5);\n      else if (ht = ot, M === \"bottom\" && (vt = x.t + B * Qe + 10 + (ve.indexOf(\"inside\") === -1 ? j.tickfont.size : 0) + (j.ticks !== \"intside\" && t.ticklen || 0)), M === \"top\") {\n        var nt = S.text.split(\"<br>\").length;\n        vt = x.t + B * Qe + 10 - V - pS * me * nt;\n      }\n      Re((n ? (\n        // the 'h' + is a hack to get around the fact that\n        // convertToTspans rotates any 'y...' class by 90 degrees.\n        // TODO: find a better way to control this.\n        \"h\"\n      ) : \"v\") + j._id + \"title\", {\n        avoid: {\n          selection: qo.select(r).selectAll(\"g.\" + j._id + \"tick\"),\n          side: M,\n          offsetTop: n ? 0 : x.t,\n          offsetLeft: n ? x.l : 0,\n          maxShift: n ? k.width : k.height\n        },\n        attributes: { x: ht, y: vt, \"text-anchor\": \"middle\" },\n        transform: { rotate: n ? -90 : 0, offset: 0 }\n      });\n    }\n  }\n  function Ve() {\n    if (!n && !U || n && U) {\n      var Qe = e.select(\".\" + Hr.cbtitle), ot = Qe.select(\"text\"), ht = [-s / 2, s / 2], vt = Qe.select(\".h\" + j._id + \"title-math-group\").node(), nt = 15.6;\n      ot.node() && (nt = parseInt(ot.node().style.fontSize, 10) * pS);\n      var ft;\n      if (vt ? (ft = ni.bBox(vt), Oe = ft.width, Fe = ft.height, Fe > nt && (ht[1] -= (Fe - nt) / 2)) : ot.node() && !ot.classed(Hr.jsPlaceholder) && (ft = ni.bBox(ot.node()), Oe = ft.width, Fe = ft.height), n) {\n        if (Fe) {\n          if (Fe += 5, M === \"top\")\n            j.domain[1] -= Fe / x.h, ht[1] *= -1;\n          else {\n            j.domain[0] += Fe / x.h;\n            var Pe = Poe.lineCount(ot);\n            ht[1] += (1 - Pe) * nt;\n          }\n          Qe.attr(\"transform\", oi(ht[0], ht[1])), j.setScale();\n        }\n      } else\n        Oe && (M === \"right\" && (j.domain[0] += (Oe + me / 2) / x.w), Qe.attr(\"transform\", oi(ht[0], ht[1])), j.setScale());\n    }\n    e.selectAll(\".\" + Hr.cbfills + \",.\" + Hr.cblines).attr(\n      \"transform\",\n      n ? oi(0, Math.round(x.h * (1 - j.domain[1]))) : oi(Math.round(x.w * j.domain[0]), 0)\n    ), Le.attr(\n      \"transform\",\n      n ? oi(0, Math.round(-x.t)) : oi(Math.round(-x.l), 0)\n    );\n    var Ie = e.select(\".\" + Hr.cbfills).selectAll(\"rect.\" + Hr.cbfill).attr(\"style\", \"\").data(G);\n    Ie.enter().append(\"rect\").classed(Hr.cbfill, !0).attr(\"style\", \"\"), Ie.exit().remove();\n    var Ne = L.map(j.c2p).map(Math.round).sort(function(Tt, gt) {\n      return Tt - gt;\n    });\n    Ie.each(function(Tt, gt) {\n      var He = [\n        gt === 0 ? L[0] : (G[gt] + G[gt - 1]) / 2,\n        gt === G.length - 1 ? L[1] : (G[gt] + G[gt + 1]) / 2\n      ].map(j.c2p).map(Math.round);\n      n && (He[1] = Ba.constrain(He[1] + (He[1] > He[0]) ? 1 : -1, Ne[0], Ne[1]));\n      var pt = qo.select(this).attr(n ? \"x\" : \"y\", W).attr(n ? \"y\" : \"x\", qo.min(He)).attr(n ? \"width\" : \"height\", Math.max(V, 2)).attr(n ? \"height\" : \"width\", Math.max(qo.max(He) - qo.min(He), 2));\n      if (t._fillgradient)\n        ni.gradient(pt, r, t._id, n ? \"vertical\" : \"horizontalreversed\", t._fillgradient, \"fill\");\n      else {\n        var bt = $(Tt).replace(\"e-\", \"\");\n        pt.attr(\"fill\", A0(bt).toHexString());\n      }\n    });\n    var tt = e.select(\".\" + Hr.cblines).selectAll(\"path.\" + Hr.cbline).data(T.color && T.width ? K : []);\n    tt.enter().append(\"path\").classed(Hr.cbline, !0), tt.exit().remove(), tt.each(function(Tt) {\n      var gt = W, He = Math.round(j.c2p(Tt)) + T.width / 2 % 1;\n      qo.select(this).attr(\n        \"d\",\n        \"M\" + (n ? gt + \",\" + He : He + \",\" + gt) + (n ? \"h\" : \"v\") + V\n      ).call(ni.lineGroupStyle, T.width, F(Tt), T.dash);\n    }), Le.selectAll(\"g.\" + j._id + \"tick,path\").remove();\n    var Je = W + V + (s || 0) / 2 - (t.ticks === \"outside\" ? 1 : 0), it = lo.calcTicks(j), at = lo.getTickSigns(j)[2];\n    return lo.drawTicks(r, j, {\n      vals: j.ticks === \"inside\" ? lo.clipEnds(j, it) : it,\n      layer: Le,\n      path: lo.makeTickPath(j, Je, at),\n      transFn: lo.makeTransTickFn(j)\n    }), lo.drawLabels(r, j, {\n      vals: it,\n      layer: Le,\n      transFn: lo.makeTransTickLabelFn(j),\n      labelFns: lo.makeLabelFns(j, Je)\n    });\n  }\n  function qe() {\n    var Qe, ot = V + s / 2;\n    ve.indexOf(\"inside\") === -1 && (Qe = ni.bBox(Le.node()), ot += n ? Qe.width : Qe.height), ze = ge.select(\"text\");\n    var ht = 0, vt = n && M === \"top\", nt = !n && M === \"right\", ft = 0;\n    if (ze.node() && !ze.classed(Hr.jsPlaceholder)) {\n      var Pe, Ie = ge.select(\".h\" + j._id + \"title-math-group\").node();\n      Ie && (n && U || !n && !U) ? (Qe = ni.bBox(Ie), ht = Qe.width, Pe = Qe.height) : (Qe = ni.bBox(ge.node()), ht = Qe.right - x.l - (n ? W : ue), Pe = Qe.bottom - x.t - (n ? ue : W), !n && M === \"top\" && (ot += Qe.height, ft = Qe.height)), nt && (ze.attr(\"transform\", oi(ht / 2 + me / 2, 0)), ht *= 2), ot = Math.max(\n        ot,\n        n ? ht : Pe\n      );\n    }\n    var Ne = (n ? p : v) * 2 + ot + u + s / 2, tt = 0;\n    !n && S.text && h === \"bottom\" && g <= 0 && (tt = Ne / 2, Ne += tt, ft += tt), k._hColorbarMoveTitle = tt, k._hColorbarMoveCBTitle = ft;\n    var Je = u + s, it = (n ? W : ue) - Je / 2 - (n ? p : 0), at = (n ? ue : W) - (n ? P : v + ft - tt);\n    e.select(\".\" + Hr.cbbg).attr(\"x\", it).attr(\"y\", at).attr(n ? \"width\" : \"height\", Math.max(Ne - tt, 2)).attr(n ? \"height\" : \"width\", Math.max(P + Je, 2)).call(S0.fill, f).call(S0.stroke, t.bordercolor).style(\"stroke-width\", u);\n    var Tt = nt ? Math.max(ht - 10, 0) : 0;\n    e.selectAll(\".\" + Hr.cboutline).attr(\"x\", (n ? W : ue + p) + Tt).attr(\"y\", (n ? ue + v - P : W) + (vt ? Fe : 0)).attr(n ? \"width\" : \"height\", Math.max(V, 2)).attr(n ? \"height\" : \"width\", Math.max(P - (n ? 2 * v + Fe : 2 * p + Tt), 2)).call(S0.stroke, t.outlinecolor).style({\n      fill: \"none\",\n      \"stroke-width\": s\n    });\n    var gt = n ? ee * Ne : 0, He = n ? 0 : (1 - re) * Ne - ft;\n    if (gt = w ? x.l - gt : -gt, He = y ? x.t - He : -He, e.attr(\"transform\", oi(\n      gt,\n      He\n    )), !n && (u || A0(f).getAlpha() && !A0.equals(k.paper_bgcolor, f))) {\n      var pt = Le.selectAll(\"text\"), bt = pt[0].length, Ke = e.select(\".\" + Hr.cbbg).node(), st = ni.bBox(Ke), rt = ni.getTranslate(e), ct = 2;\n      pt.each(function(oe, Ce) {\n        var Be = 0, Xe = bt - 1;\n        if (Ce === Be || Ce === Xe) {\n          var Et = ni.bBox(this), Pt = ni.getTranslate(this), It;\n          if (Ce === Xe) {\n            var kt = Et.right + Pt.x, qt = st.right + rt.x + ue - u - ct + m;\n            It = qt - kt, It > 0 && (It = 0);\n          } else if (Ce === Be) {\n            var Ot = Et.left + Pt.x, wt = st.left + rt.x + ue + u + ct;\n            It = wt - Ot, It < 0 && (It = 0);\n          }\n          It && (bt < 3 ? this.setAttribute(\n            \"transform\",\n            \"translate(\" + It + \",0) \" + this.getAttribute(\"transform\")\n          ) : this.setAttribute(\"visibility\", \"hidden\"));\n        }\n      });\n    }\n    var X = {}, se = mS[d], ie = gS[d], fe = mS[h], ke = gS[h], _e = Ne - V;\n    n ? (i === \"pixels\" ? (X.y = g, X.t = P * fe, X.b = P * ke) : (X.t = X.b = 0, X.yt = g + a * fe, X.yb = g - a * ke), l === \"pixels\" ? (X.x = m, X.l = Ne * se, X.r = Ne * ie) : (X.l = _e * se, X.r = _e * ie, X.xl = m - o * se, X.xr = m + o * ie)) : (i === \"pixels\" ? (X.x = m, X.l = P * se, X.r = P * ie) : (X.l = X.r = 0, X.xl = m + a * se, X.xr = m - a * ie), l === \"pixels\" ? (X.y = 1 - g, X.t = Ne * fe, X.b = Ne * ke) : (X.t = _e * fe, X.b = _e * ke, X.yt = g - o * fe, X.yb = g + o * ke));\n    var Ge = t.y < 0.5 ? \"b\" : \"t\", je = t.x < 0.5 ? \"l\" : \"r\";\n    r._fullLayout._reservedMargin[t._id] = {};\n    var Ee = {\n      r: k.width - it - gt,\n      l: it + X.r,\n      b: k.height - at - He,\n      t: at + X.b\n    };\n    w && y ? Yh.autoMargin(r, t._id, X) : w ? r._fullLayout._reservedMargin[t._id][Ge] = Ee[Ge] : y || n ? r._fullLayout._reservedMargin[t._id][je] = Ee[je] : r._fullLayout._reservedMargin[t._id][Ge] = Ee[Ge];\n  }\n  return Ba.syncOrAsync([\n    Yh.previousPromises,\n    We,\n    Ve,\n    Me,\n    Yh.previousPromises,\n    qe\n  ], r);\n}\nfunction joe(e, t, r) {\n  var n = t.orientation === \"v\", a = r._fullLayout, i = a._size, o, l, s;\n  xh.init({\n    element: e.node(),\n    gd: r,\n    prepFn: function() {\n      o = e.attr(\"transform\"), M0(e);\n    },\n    moveFn: function(u, f) {\n      e.attr(\"transform\", o + oi(u, f)), l = xh.align(\n        (n ? t._uFrac : t._vFrac) + u / i.w,\n        n ? t._thickFrac : t._lenFrac,\n        0,\n        1,\n        t.xanchor\n      ), s = xh.align(\n        (n ? t._vFrac : 1 - t._uFrac) - f / i.h,\n        n ? t._lenFrac : t._thickFrac,\n        0,\n        1,\n        t.yanchor\n      );\n      var d = xh.getCursor(l, s, t.xanchor, t.yanchor);\n      M0(e, d);\n    },\n    doneFn: function() {\n      if (M0(e), l !== void 0 && s !== void 0) {\n        var u = {};\n        u[t._propPrefix + \"x\"] = l, u[t._propPrefix + \"y\"] = s, t._traceIndex !== void 0 ? vS.call(\"_guiRestyle\", r, u, t._traceIndex) : vS.call(\"_guiRelayout\", r, u);\n      }\n    }\n  });\n}\nfunction Uoe(e, t, r) {\n  var n = t._levels, a = [], i = [], o, l, s = n.end + n.size / 100, u = n.size, f = 1.001 * r[0] - 1e-3 * r[1], d = 1.001 * r[1] - 1e-3 * r[0];\n  for (l = 0; l < 1e5 && (o = n.start + l * u, !(u > 0 ? o >= s : o <= s)); l++)\n    o > f && o < d && a.push(o);\n  if (t._fillgradient)\n    i = [0];\n  else if (typeof t._fillcolor == \"function\") {\n    var h = t._filllevels;\n    if (h)\n      for (s = h.end + h.size / 100, u = h.size, l = 0; l < 1e5 && (o = h.start + l * u, !(u > 0 ? o >= s : o <= s)); l++)\n        o > r[0] && o < r[1] && i.push(o);\n    else\n      i = a.map(function(p) {\n        return p - n.size / 2;\n      }), i.push(i[i.length - 1] + n.size);\n  } else t._fillcolor && typeof t._fillcolor == \"string\" && (i = [0]);\n  return n.size < 0 && (a.reverse(), i.reverse()), { line: a, fill: i };\n}\nfunction Goe(e, t, r) {\n  var n = e._fullLayout, a = t.orientation === \"v\", i = {\n    type: \"linear\",\n    range: r,\n    tickmode: t.tickmode,\n    nticks: t.nticks,\n    tick0: t.tick0,\n    dtick: t.dtick,\n    tickvals: t.tickvals,\n    ticktext: t.ticktext,\n    ticks: t.ticks,\n    ticklen: t.ticklen,\n    tickwidth: t.tickwidth,\n    tickcolor: t.tickcolor,\n    showticklabels: t.showticklabels,\n    labelalias: t.labelalias,\n    ticklabelposition: t.ticklabelposition,\n    ticklabeloverflow: t.ticklabeloverflow,\n    ticklabelstep: t.ticklabelstep,\n    tickfont: t.tickfont,\n    tickangle: t.tickangle,\n    tickformat: t.tickformat,\n    exponentformat: t.exponentformat,\n    minexponent: t.minexponent,\n    separatethousands: t.separatethousands,\n    showexponent: t.showexponent,\n    showtickprefix: t.showtickprefix,\n    tickprefix: t.tickprefix,\n    showticksuffix: t.showticksuffix,\n    ticksuffix: t.ticksuffix,\n    title: t.title,\n    showline: !0,\n    anchor: \"free\",\n    side: a ? \"right\" : \"bottom\",\n    position: 1\n  }, o = a ? \"y\" : \"x\", l = {\n    type: \"linear\",\n    _id: o + t._id\n  }, s = {\n    letter: o,\n    font: n.font,\n    noHover: !0,\n    noTickson: !0,\n    noTicklabelmode: !0,\n    noInsideRange: !0,\n    calendar: n.calendar\n    // not really necessary (yet?)\n  };\n  function u(f, d) {\n    return Ba.coerce(i, l, Noe, f, d);\n  }\n  return zoe(i, l, u, s, n), Ioe(i, l, u, s), l;\n}\nvar Voe = {\n  draw: Ooe\n}, qoe = {\n  moduleType: \"component\",\n  name: \"colorbar\",\n  attributes: hb,\n  supplyDefaults: x4,\n  draw: Voe.draw,\n  hasColorbar: h4\n}, Woe = {\n  moduleType: \"component\",\n  name: \"legend\",\n  layoutAttributes: tD,\n  supplyLayoutDefaults: rD,\n  draw: oD,\n  style: aD\n}, Zoe = {\n  moduleType: \"locale\",\n  name: \"en\",\n  dictionary: {\n    \"Click to enter Colorscale title\": \"Click to enter Colourscale title\"\n  },\n  format: {\n    days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n    shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n    months: [\n      \"January\",\n      \"February\",\n      \"March\",\n      \"April\",\n      \"May\",\n      \"June\",\n      \"July\",\n      \"August\",\n      \"September\",\n      \"October\",\n      \"November\",\n      \"December\"\n    ],\n    shortMonths: [\n      \"Jan\",\n      \"Feb\",\n      \"Mar\",\n      \"Apr\",\n      \"May\",\n      \"Jun\",\n      \"Jul\",\n      \"Aug\",\n      \"Sep\",\n      \"Oct\",\n      \"Nov\",\n      \"Dec\"\n    ],\n    periods: [\"AM\", \"PM\"],\n    dateTime: \"%a %b %e %X %Y\",\n    date: \"%d/%m/%Y\",\n    time: \"%H:%M:%S\",\n    decimal: \".\",\n    thousands: \",\",\n    grouping: [3],\n    currency: [\"$\", \"\"],\n    year: \"%Y\",\n    month: \"%b %Y\",\n    dayMonth: \"%b %-d\",\n    dayMonthYear: \"%b %-d, %Y\"\n  }\n}, Yoe = {\n  moduleType: \"locale\",\n  name: \"en-US\",\n  dictionary: {\n    \"Click to enter Colorscale title\": \"Click to enter Colorscale title\"\n  },\n  format: {\n    date: \"%m/%d/%Y\"\n  }\n}, Xoe = Nt, Z6 = Ue, C0 = Z6.extendFlat, yS = Z6.extendDeep;\nfunction bS(e) {\n  var t;\n  switch (e) {\n    case \"themes__thumb\":\n      t = {\n        autosize: !0,\n        width: 150,\n        height: 150,\n        title: { text: \"\" },\n        showlegend: !1,\n        margin: { l: 5, r: 5, t: 5, b: 5, pad: 0 },\n        annotations: []\n      };\n      break;\n    case \"thumbnail\":\n      t = {\n        title: { text: \"\" },\n        hidesources: !0,\n        showlegend: !1,\n        borderwidth: 0,\n        bordercolor: \"\",\n        margin: { l: 1, r: 1, t: 1, b: 1, pad: 0 },\n        annotations: []\n      };\n      break;\n    default:\n      t = {};\n  }\n  return t;\n}\nfunction Koe(e) {\n  var t = [\"xaxis\", \"yaxis\", \"zaxis\"];\n  return t.indexOf(e.slice(0, 5)) > -1;\n}\nvar Y6 = function(t, r) {\n  var n, a = t.data, i = t.layout, o = yS([], a), l = yS({}, i, bS(r.tileClass)), s = t._context || {};\n  if (r.width && (l.width = r.width), r.height && (l.height = r.height), r.tileClass === \"thumbnail\" || r.tileClass === \"themes__thumb\") {\n    l.annotations = [];\n    var u = Object.keys(l);\n    for (n = 0; n < u.length; n++)\n      Koe(u[n]) && (l[u[n]].title = { text: \"\" });\n    for (n = 0; n < o.length; n++) {\n      var f = o[n];\n      f.showscale = !1, f.marker && (f.marker.showscale = !1), Xoe.traceIs(f, \"pie-like\") && (f.textposition = \"none\");\n    }\n  }\n  if (Array.isArray(r.annotations))\n    for (n = 0; n < r.annotations.length; n++)\n      l.annotations.push(r.annotations[n]);\n  var d = Object.keys(l).filter(function(g) {\n    return g.match(/^scene\\d*$/);\n  });\n  if (d.length) {\n    var h = {};\n    for (r.tileClass === \"thumbnail\" && (h = {\n      title: { text: \"\" },\n      showaxeslabels: !1,\n      showticklabels: !1,\n      linetickenable: !1\n    }), n = 0; n < d.length; n++) {\n      var p = l[d[n]];\n      p.xaxis || (p.xaxis = {}), p.yaxis || (p.yaxis = {}), p.zaxis || (p.zaxis = {}), C0(p.xaxis, h), C0(p.yaxis, h), C0(p.zaxis, h), p._scene = null;\n    }\n  }\n  var v = document.createElement(\"div\");\n  r.tileClass && (v.className = r.tileClass);\n  var m = {\n    gd: v,\n    td: v,\n    // for external (image server) compatibility\n    layout: l,\n    data: o,\n    config: {\n      staticPlot: r.staticPlot === void 0 ? !0 : r.staticPlot,\n      plotGlPixelRatio: r.plotGlPixelRatio === void 0 ? 2 : r.plotGlPixelRatio,\n      displaylogo: r.displaylogo || !1,\n      showLink: r.showLink || !1,\n      showTips: r.showTips || !1,\n      mapboxAccessToken: s.mapboxAccessToken\n    }\n  };\n  return r.setBackground !== \"transparent\" && (m.config.setBackground = r.setBackground || \"opaque\"), m.gd.defaultLayout = bS(r.tileClass), m;\n}, Joe = sb.EventEmitter, Qoe = Nt, ele = Ue, _S = jn, tle = Y6, rle = n_, nle = a_;\nfunction ale(e, t) {\n  var r = new Joe(), n = tle(e, { format: \"png\" }), a = n.gd;\n  a.style.position = \"absolute\", a.style.left = \"-5000px\", document.body.appendChild(a);\n  function i() {\n    var l = _S.getDelay(a._fullLayout);\n    setTimeout(function() {\n      var s = rle(a), u = document.createElement(\"canvas\");\n      u.id = ele.randstr(), r = nle({\n        format: t.format,\n        width: a._fullLayout.width,\n        height: a._fullLayout.height,\n        canvas: u,\n        emitter: r,\n        svg: s\n      }), r.clean = function() {\n        a && document.body.removeChild(a);\n      };\n    }, l);\n  }\n  var o = _S.getRedrawFunc(a);\n  return Qoe.call(\"_doPlot\", a, n.data, n.layout, n.config).then(o).then(i).catch(function(l) {\n    r.emit(\"error\", l);\n  }), r;\n}\nvar ile = ale, xS = jn, ole = {\n  getDelay: xS.getDelay,\n  getRedrawFunc: xS.getRedrawFunc,\n  clone: Y6,\n  toSVG: n_,\n  svgToImg: a_,\n  toImage: ile,\n  downloadImage: LE\n}, lle = ole;\n(function(e) {\n  e.version = ap.version;\n  for (var t = Nt, r = e.register = t.register, n = Or, a = Object.keys(n), i = 0; i < a.length; i++) {\n    var o = a[i];\n    o.charAt(0) !== \"_\" && (e[o] = n[o]), r({\n      moduleType: \"apiMethod\",\n      name: o,\n      fn: n[o]\n    });\n  }\n  r(u6), r([\n    Gne,\n    sae,\n    rd,\n    Aae,\n    Nae,\n    uie,\n    $ie,\n    Vie,\n    yoe,\n    Aoe,\n    Doe,\n    Qc,\n    qoe,\n    Woe,\n    // legend needs to come after shape | legend defaults depends on shapes\n    Ao,\n    // fx needs to come after legend | unified hover defaults depends on legends\n    GD\n  ]), r([\n    Zoe,\n    Yoe\n  ]), window.PlotlyLocales && Array.isArray(window.PlotlyLocales) && (r(window.PlotlyLocales), delete window.PlotlyLocales), e.Icons = Fb;\n  var l = Ao, s = Tn;\n  e.Plots = {\n    resize: s.resize,\n    graphJson: s.graphJson,\n    sendDataToCloud: s.sendDataToCloud\n  }, e.Fx = {\n    hover: l.hover,\n    unhover: l.unhover,\n    loneHover: l.loneHover,\n    loneUnhover: l.loneUnhover\n  }, e.Snapshot = lle, e.PlotSchema = Qu;\n})(nC);\nvar sle = nC;\nconst Oc = /* @__PURE__ */ Vc(sle);\nvar ule = u6;\nconst fle = /* @__PURE__ */ Vc(ule);\nvar X6 = {\n  // padding in pixels around text\n  TEXTPAD: 3,\n  // 'value' and 'label' are not really necessary for bar traces,\n  // but they were made available to `texttemplate` (maybe by accident)\n  // via tokens `%{value}` and `%{label}` starting in 1.50.0,\n  // so let's include them in the event data also.\n  eventDataKeys: [\"value\", \"label\"]\n}, Zr = ws, wS = kp.axisHoverFormat, cle = _i.hovertemplateAttrs, dle = _i.texttemplateAttrs, K6 = Jc, hle = Fn, TS = X6, vle = Zi.pattern, Gl = en.extendFlat, L0 = hle({\n  editType: \"calc\",\n  arrayOk: !0,\n  colorEditType: \"style\",\n  description: \"\"\n}), ple = Zr.marker, mle = ple.line, gle = Gl(\n  {},\n  mle.width,\n  { dflt: 0 }\n), yle = Gl({\n  width: gle,\n  editType: \"calc\"\n}, K6(\"marker.line\")), ble = Gl({\n  line: yle,\n  editType: \"calc\"\n}, K6(\"marker\"), {\n  opacity: {\n    valType: \"number\",\n    arrayOk: !0,\n    dflt: 1,\n    min: 0,\n    max: 1,\n    editType: \"style\",\n    description: \"Sets the opacity of the bars.\"\n  },\n  pattern: vle\n}), Qp = {\n  x: Zr.x,\n  x0: Zr.x0,\n  dx: Zr.dx,\n  y: Zr.y,\n  y0: Zr.y0,\n  dy: Zr.dy,\n  xperiod: Zr.xperiod,\n  yperiod: Zr.yperiod,\n  xperiod0: Zr.xperiod0,\n  yperiod0: Zr.yperiod0,\n  xperiodalignment: Zr.xperiodalignment,\n  yperiodalignment: Zr.yperiodalignment,\n  xhoverformat: wS(\"x\"),\n  yhoverformat: wS(\"y\"),\n  text: Zr.text,\n  texttemplate: dle({ editType: \"plot\" }, {\n    keys: TS.eventDataKeys\n  }),\n  hovertext: Zr.hovertext,\n  hovertemplate: cle({}, {\n    keys: TS.eventDataKeys\n  }),\n  textposition: {\n    valType: \"enumerated\",\n    values: [\"inside\", \"outside\", \"auto\", \"none\"],\n    dflt: \"auto\",\n    arrayOk: !0,\n    editType: \"calc\",\n    description: [\n      \"Specifies the location of the `text`.\",\n      \"*inside* positions `text` inside, next to the bar end\",\n      \"(rotated and scaled if needed).\",\n      \"*outside* positions `text` outside, next to the bar end\",\n      \"(scaled if needed), unless there is another bar stacked on\",\n      \"this one, then the text gets pushed inside.\",\n      \"*auto* tries to position `text` inside the bar, but if\",\n      \"the bar is too small and no bar is stacked on this one\",\n      \"the text is moved outside.\",\n      \"If *none*, no text appears.\"\n    ].join(\" \")\n  },\n  insidetextanchor: {\n    valType: \"enumerated\",\n    values: [\"end\", \"middle\", \"start\"],\n    dflt: \"end\",\n    editType: \"plot\",\n    description: [\n      \"Determines if texts are kept at center or start/end points in `textposition` *inside* mode.\"\n    ].join(\" \")\n  },\n  textangle: {\n    valType: \"angle\",\n    dflt: \"auto\",\n    editType: \"plot\",\n    description: [\n      \"Sets the angle of the tick labels with respect to the bar.\",\n      \"For example, a `tickangle` of -90 draws the tick labels\",\n      \"vertically. With *auto* the texts may automatically be\",\n      \"rotated to fit with the maximum size in bars.\"\n    ].join(\" \")\n  },\n  textfont: Gl({}, L0, {\n    description: \"Sets the font used for `text`.\"\n  }),\n  insidetextfont: Gl({}, L0, {\n    description: \"Sets the font used for `text` lying inside the bar.\"\n  }),\n  outsidetextfont: Gl({}, L0, {\n    description: \"Sets the font used for `text` lying outside the bar.\"\n  }),\n  constraintext: {\n    valType: \"enumerated\",\n    values: [\"inside\", \"outside\", \"both\", \"none\"],\n    dflt: \"both\",\n    editType: \"calc\",\n    description: [\n      \"Constrain the size of text inside or outside a bar to be no\",\n      \"larger than the bar itself.\"\n    ].join(\" \")\n  },\n  cliponaxis: Gl({}, Zr.cliponaxis, {\n    description: [\n      \"Determines whether the text nodes\",\n      \"are clipped about the subplot axes.\",\n      \"To show the text nodes above axis lines and tick labels,\",\n      \"make sure to set `xaxis.layer` and `yaxis.layer` to *below traces*.\"\n    ].join(\" \")\n  }),\n  orientation: {\n    valType: \"enumerated\",\n    values: [\"v\", \"h\"],\n    editType: \"calc+clearAxisTypes\",\n    description: [\n      \"Sets the orientation of the bars.\",\n      \"With *v* (*h*), the value of the each bar spans\",\n      \"along the vertical (horizontal).\"\n    ].join(\" \")\n  },\n  base: {\n    valType: \"any\",\n    dflt: null,\n    arrayOk: !0,\n    editType: \"calc\",\n    description: [\n      \"Sets where the bar base is drawn (in position axis units).\",\n      \"In *stack* or *relative* barmode,\",\n      \"traces that set *base* will be excluded\",\n      \"and drawn in *overlay* mode instead.\"\n    ].join(\" \")\n  },\n  offset: {\n    valType: \"number\",\n    dflt: null,\n    arrayOk: !0,\n    editType: \"calc\",\n    description: [\n      \"Shifts the position where the bar is drawn\",\n      \"(in position axis units).\",\n      \"In *group* barmode,\",\n      \"traces that set *offset* will be excluded\",\n      \"and drawn in *overlay* mode instead.\"\n    ].join(\" \")\n  },\n  width: {\n    valType: \"number\",\n    dflt: null,\n    min: 0,\n    arrayOk: !0,\n    editType: \"calc\",\n    description: [\n      \"Sets the bar width (in position axis units).\"\n    ].join(\" \")\n  },\n  marker: ble,\n  offsetgroup: Zr.offsetgroup,\n  alignmentgroup: Zr.alignmentgroup,\n  selected: {\n    marker: {\n      opacity: Zr.selected.marker.opacity,\n      color: Zr.selected.marker.color,\n      editType: \"style\"\n    },\n    textfont: Zr.selected.textfont,\n    editType: \"style\"\n  },\n  unselected: {\n    marker: {\n      opacity: Zr.unselected.marker.opacity,\n      color: Zr.unselected.marker.color,\n      editType: \"style\"\n    },\n    textfont: Zr.unselected.textfont,\n    editType: \"style\"\n  },\n  _deprecated: {\n    bardir: {\n      valType: \"enumerated\",\n      editType: \"calc\",\n      values: [\"v\", \"h\"],\n      description: \"Renamed to `orientation`.\"\n    }\n  }\n}, J6 = {\n  barmode: {\n    valType: \"enumerated\",\n    values: [\"stack\", \"group\", \"overlay\", \"relative\"],\n    dflt: \"group\",\n    editType: \"calc\",\n    description: [\n      \"Determines how bars at the same location coordinate\",\n      \"are displayed on the graph.\",\n      \"With *stack*, the bars are stacked on top of one another\",\n      \"With *relative*, the bars are stacked on top of one another,\",\n      \"with negative values below the axis, positive values above\",\n      \"With *group*, the bars are plotted next to one another\",\n      \"centered around the shared location.\",\n      \"With *overlay*, the bars are plotted over one another,\",\n      \"you might need to reduce *opacity* to see multiple bars.\"\n    ].join(\" \")\n  },\n  barnorm: {\n    valType: \"enumerated\",\n    values: [\"\", \"fraction\", \"percent\"],\n    dflt: \"\",\n    editType: \"calc\",\n    description: [\n      \"Sets the normalization for bar traces on the graph.\",\n      \"With *fraction*, the value of each bar is divided by the sum of all\",\n      \"values at that location coordinate.\",\n      \"*percent* is the same but multiplied by 100 to show percentages.\"\n    ].join(\" \")\n  },\n  bargap: {\n    valType: \"number\",\n    min: 0,\n    max: 1,\n    editType: \"calc\",\n    description: [\n      \"Sets the gap (in plot fraction) between bars of\",\n      \"adjacent location coordinates.\"\n    ].join(\" \")\n  },\n  bargroupgap: {\n    valType: \"number\",\n    min: 0,\n    max: 1,\n    dflt: 0,\n    editType: \"calc\",\n    description: [\n      \"Sets the gap (in plot fraction) between bars of\",\n      \"the same location coordinate.\"\n    ].join(\" \")\n  }\n}, _le = nr, kS = wi.hasColorscale, AS = ef, xle = Ue.coercePattern, wle = function(t, r, n, a, i) {\n  var o = n(\"marker.color\", a), l = kS(t, \"marker\");\n  l && AS(\n    t,\n    r,\n    i,\n    n,\n    { prefix: \"marker.\", cLetter: \"c\" }\n  ), n(\"marker.line.color\", _le.defaultLine), kS(t, \"marker.line\") && AS(\n    t,\n    r,\n    i,\n    n,\n    { prefix: \"marker.line.\", cLetter: \"c\" }\n  ), n(\"marker.line.width\"), n(\"marker.opacity\"), xle(n, \"marker.pattern\", o, l), n(\"selected.marker.color\"), n(\"unselected.marker.color\");\n}, Hu = Ue, MS = nr, Tle = Nt, kle = $E, Ale = o_, Mle = wle, Sle = zE, Q6 = Qp, wh = Hu.coerceFont;\nfunction Cle(e, t, r, n) {\n  function a(u, f) {\n    return Hu.coerce(e, t, Q6, u, f);\n  }\n  var i = kle(e, t, n, a);\n  if (!i) {\n    t.visible = !1;\n    return;\n  }\n  Ale(e, t, n, a), a(\"xhoverformat\"), a(\"yhoverformat\"), a(\"orientation\", t.x && !t.y ? \"h\" : \"v\"), a(\"base\"), a(\"offset\"), a(\"width\"), a(\"text\"), a(\"hovertext\"), a(\"hovertemplate\");\n  var o = a(\"textposition\");\n  e8(e, t, n, a, o, {\n    moduleHasSelected: !0,\n    moduleHasUnselected: !0,\n    moduleHasConstrain: !0,\n    moduleHasCliponaxis: !0,\n    moduleHasTextangle: !0,\n    moduleHasInsideanchor: !0\n  }), Mle(e, t, a, r, n);\n  var l = (t.marker.line || {}).color, s = Tle.getComponentMethod(\"errorbars\", \"supplyDefaults\");\n  s(e, t, l || MS.defaultLine, { axis: \"y\" }), s(e, t, l || MS.defaultLine, { axis: \"x\", inherit: \"y\" }), Hu.coerceSelectionMarkerOpacity(t, a);\n}\nfunction Lle(e, t) {\n  var r, n;\n  function a(o) {\n    return Hu.coerce(n._input, n, Q6, o);\n  }\n  if (t.barmode === \"group\")\n    for (var i = 0; i < e.length; i++)\n      n = e[i], n.type === \"bar\" && (r = n._input, Sle(r, n, t, a));\n}\nfunction e8(e, t, r, n, a, i) {\n  i = i || {};\n  var o = i.moduleHasSelected !== !1, l = i.moduleHasUnselected !== !1, s = i.moduleHasConstrain !== !1, u = i.moduleHasCliponaxis !== !1, f = i.moduleHasTextangle !== !1, d = i.moduleHasInsideanchor !== !1, h = !!i.hasPathbar, p = Array.isArray(a) || a === \"auto\", v = p || a === \"inside\", m = p || a === \"outside\";\n  if (v || m) {\n    var g = wh(n, \"textfont\", r.font), y = Hu.extendFlat({}, g), w = e.textfont && e.textfont.color, k = !w;\n    if (k && delete y.color, wh(n, \"insidetextfont\", y), h) {\n      var x = Hu.extendFlat({}, g);\n      k && delete x.color, wh(n, \"pathbar.textfont\", x);\n    }\n    m && wh(n, \"outsidetextfont\", g), o && n(\"selected.textfont.color\"), l && n(\"unselected.textfont.color\"), s && n(\"constraintext\"), u && n(\"cliponaxis\"), f && n(\"textangle\"), n(\"texttemplate\");\n  }\n  v && d && n(\"insidetextanchor\");\n}\nvar SS = {\n  supplyDefaults: Cle,\n  crossTraceDefaults: Lle,\n  handleText: e8\n}, Dle = Nt, Ele = Cr, Fle = Ue, Rle = J6, Ple = function(e, t, r) {\n  function n(p, v) {\n    return Fle.coerce(e, t, Rle, p, v);\n  }\n  for (var a = !1, i = !1, o = !1, l = {}, s = n(\"barmode\"), u = 0; u < r.length; u++) {\n    var f = r[u];\n    if (Dle.traceIs(f, \"bar\") && f.visible) a = !0;\n    else continue;\n    if (s === \"group\") {\n      var d = f.xaxis + f.yaxis;\n      l[d] && (o = !0), l[d] = !0;\n    }\n    if (f.visible && f.type === \"histogram\") {\n      var h = Ele.getFromId(\n        { _fullLayout: t },\n        f[f.orientation === \"v\" ? \"xaxis\" : \"yaxis\"]\n      );\n      h.type !== \"category\" && (i = !0);\n    }\n  }\n  if (!a) {\n    delete t.barmode;\n    return;\n  }\n  s !== \"overlay\" && n(\"barnorm\"), n(\"bargap\", i && !o ? 0 : 0.2), n(\"bargroupgap\");\n}, Ys = Ue, w_ = function(t, r) {\n  for (var n = 0; n < t.length; n++) t[n].i = n;\n  Ys.mergeArray(r.text, t, \"tx\"), Ys.mergeArray(r.hovertext, t, \"htx\");\n  var a = r.marker;\n  if (a) {\n    Ys.mergeArray(a.opacity, t, \"mo\", !0), Ys.mergeArray(a.color, t, \"mc\");\n    var i = a.line;\n    i && (Ys.mergeArray(i.color, t, \"mlc\"), Ys.mergeArrayCastPositive(i.width, t, \"mlw\"));\n  }\n}, CS = Cr, LS = Wp, DS = wi.hasColorscale, ES = Mp, $le = w_, zle = OE, Ile = function(t, r) {\n  var n = CS.getFromId(t, r.xaxis || \"x\"), a = CS.getFromId(t, r.yaxis || \"y\"), i, o, l, s, u, f, d = {\n    msUTC: !!(r.base || r.base === 0)\n  };\n  r.orientation === \"h\" ? (i = n.makeCalcdata(r, \"x\", d), l = a.makeCalcdata(r, \"y\"), s = LS(r, a, \"y\", l), u = !!r.yperiodalignment, f = \"y\") : (i = a.makeCalcdata(r, \"y\", d), l = n.makeCalcdata(r, \"x\"), s = LS(r, n, \"x\", l), u = !!r.xperiodalignment, f = \"x\"), o = s.vals;\n  for (var h = Math.min(o.length, i.length), p = new Array(h), v = 0; v < h; v++)\n    p[v] = { p: o[v], s: i[v] }, u && (p[v].orig_p = l[v], p[v][f + \"End\"] = s.ends[v], p[v][f + \"Start\"] = s.starts[v]), r.ids && (p[v].id = String(r.ids[v]));\n  return DS(r, \"marker\") && ES(t, r, {\n    vals: r.marker.color,\n    containerStr: \"marker\",\n    cLetter: \"c\"\n  }), DS(r, \"marker.line\") && ES(t, r, {\n    vals: r.marker.line.color,\n    containerStr: \"marker.line\",\n    cLetter: \"c\"\n  }), $le(p, r), zle(p, r), p;\n}, Nle = lr, Ole = Ue;\nfunction Hle(e, t, r) {\n  var n = e._fullLayout, a = n[\"_\" + r + \"Text_minsize\"];\n  if (a) {\n    var i = n.uniformtext.mode === \"hide\", o;\n    switch (r) {\n      case \"funnelarea\":\n      case \"pie\":\n      case \"sunburst\":\n        o = \"g.slice\";\n        break;\n      case \"treemap\":\n      case \"icicle\":\n        o = \"g.slice, g.pathbar\";\n        break;\n      default:\n        o = \"g.points > g.point\";\n    }\n    t.selectAll(o).each(function(l) {\n      var s = l.transform;\n      if (s) {\n        s.scale = i && s.hide ? 0 : a / s.fontSize;\n        var u = Nle.select(this).select(\"text\");\n        Ole.setTransormAndDisplay(u, s);\n      }\n    });\n  }\n}\nfunction Ble(e, t, r) {\n  if (r.uniformtext.mode) {\n    var n = t8(e), a = r.uniformtext.minsize, i = t.scale * t.fontSize;\n    t.hide = i < a, r[n] = r[n] || 1 / 0, t.hide || (r[n] = Math.min(\n      r[n],\n      Math.max(i, a)\n    ));\n  }\n}\nfunction jle(e, t) {\n  var r = t8(e);\n  t[r] = void 0;\n}\nfunction t8(e) {\n  return \"_\" + e + \"Text_minsize\";\n}\nvar r8 = {\n  recordMinTextSize: Ble,\n  clearMinTextSize: jle,\n  resizeText: Hle\n}, Fo = {}, Ule = sr, Gle = bi, n8 = Ue.isArrayOrTypedArray;\nFo.coerceString = function(e, t, r) {\n  if (typeof t == \"string\") {\n    if (t || !e.noBlank) return t;\n  } else if ((typeof t == \"number\" || t === !0) && !e.strict)\n    return String(t);\n  return r !== void 0 ? r : e.dflt;\n};\nFo.coerceNumber = function(e, t, r) {\n  if (Ule(t)) {\n    t = +t;\n    var n = e.min, a = e.max, i = n !== void 0 && t < n || a !== void 0 && t > a;\n    if (!i) return t;\n  }\n  return r !== void 0 ? r : e.dflt;\n};\nFo.coerceColor = function(e, t, r) {\n  return Gle(t).isValid() ? t : r !== void 0 ? r : e.dflt;\n};\nFo.coerceEnumerated = function(e, t, r) {\n  return e.coerceNumber && (t = +t), e.values.indexOf(t) !== -1 ? t : r !== void 0 ? r : e.dflt;\n};\nFo.getValue = function(e, t) {\n  var r;\n  return n8(e) ? t < e.length && (r = e[t]) : r = e, r;\n};\nFo.getLineWidth = function(e, t) {\n  var r = 0 < t.mlw ? t.mlw : n8(e.marker.line.width) ? 0 : e.marker.line.width;\n  return r;\n};\nvar fc = lr, Vle = nr, Hc = Sr, a8 = Ue, i8 = Nt, o8 = r8.resizeText, T_ = Qp, qle = T_.textfont, Wle = T_.insidetextfont, Zle = T_.outsidetextfont, Xs = Fo;\nfunction Yle(e) {\n  var t = fc.select(e).selectAll(\"g.barlayer\").selectAll(\"g.trace\");\n  o8(e, t, \"bar\");\n  var r = t.size(), n = e._fullLayout;\n  t.style(\"opacity\", function(a) {\n    return a[0].trace.opacity;\n  }).each(function(a) {\n    (n.barmode === \"stack\" && r > 1 || n.bargap === 0 && n.bargroupgap === 0 && !a[0].trace.marker.line.width) && fc.select(this).attr(\"shape-rendering\", \"crispEdges\");\n  }), t.selectAll(\"g.points\").each(function(a) {\n    var i = fc.select(this), o = a[0].trace;\n    l8(i, o, e);\n  }), i8.getComponentMethod(\"errorbars\", \"style\")(t);\n}\nfunction l8(e, t, r) {\n  Hc.pointStyle(e.selectAll(\"path\"), t, r), s8(e, t, r);\n}\nfunction s8(e, t, r) {\n  e.selectAll(\"text\").each(function(n) {\n    var a = fc.select(this), i = a8.ensureUniformFontSize(r, u8(a, n, t, r));\n    Hc.font(a, i);\n  });\n}\nfunction Xle(e, t, r) {\n  var n = t[0].trace;\n  n.selectedpoints ? Kle(r, n, e) : (l8(r, n, e), i8.getComponentMethod(\"errorbars\", \"style\")(r));\n}\nfunction Kle(e, t, r) {\n  Hc.selectedPointStyle(e.selectAll(\"path\"), t), Jle(e.selectAll(\"text\"), t, r);\n}\nfunction Jle(e, t, r) {\n  e.each(function(n) {\n    var a = fc.select(this), i;\n    if (n.selected) {\n      i = a8.ensureUniformFontSize(r, u8(a, n, t, r));\n      var o = t.selected.textfont && t.selected.textfont.color;\n      o && (i.color = o), Hc.font(a, i);\n    } else\n      Hc.selectedTextStyle(a, t);\n  });\n}\nfunction u8(e, t, r, n) {\n  var a = n._fullLayout.font, i = r.textfont;\n  if (e.classed(\"bartext-inside\")) {\n    var o = h8(t, r);\n    i = c8(r, t.i, a, o);\n  } else e.classed(\"bartext-outside\") && (i = d8(r, t.i, a));\n  return i;\n}\nfunction f8(e, t, r) {\n  return k_(\n    qle,\n    e.textfont,\n    t,\n    r\n  );\n}\nfunction c8(e, t, r, n) {\n  var a = f8(e, t, r), i = e._input.textfont === void 0 || e._input.textfont.color === void 0 || Array.isArray(e.textfont.color) && e.textfont.color[t] === void 0;\n  return i && (a = {\n    color: Vle.contrast(n),\n    family: a.family,\n    size: a.size\n  }), k_(\n    Wle,\n    e.insidetextfont,\n    t,\n    a\n  );\n}\nfunction d8(e, t, r) {\n  var n = f8(e, t, r);\n  return k_(\n    Zle,\n    e.outsidetextfont,\n    t,\n    n\n  );\n}\nfunction k_(e, t, r, n) {\n  t = t || {};\n  var a = Xs.getValue(t.family, r), i = Xs.getValue(t.size, r), o = Xs.getValue(t.color, r);\n  return {\n    family: Xs.coerceString(\n      e.family,\n      a,\n      n.family\n    ),\n    size: Xs.coerceNumber(\n      e.size,\n      i,\n      n.size\n    ),\n    color: Xs.coerceColor(\n      e.color,\n      o,\n      n.color\n    )\n  };\n}\nfunction h8(e, t) {\n  return t.type === \"waterfall\" ? t[e.dir].marker.color : e.mcc || e.mc || t.marker.color;\n}\nvar n1 = {\n  style: Yle,\n  styleTextPoints: s8,\n  styleOnSelect: Xle,\n  getInsideTextFont: c8,\n  getOutsideTextFont: d8,\n  getBarColor: h8,\n  resizeText: o8\n}, Th = lr, kh = sr, bn = Ue, Qle = Rn, ese = nr, el = Sr, tse = Nt, Iv = Cr.tickText, v8 = r8, rse = v8.recordMinTextSize, nse = v8.clearMinTextSize, D0 = n1, Bu = Fo, ase = X6, p8 = Qp, ise = p8.text, ose = p8.textposition, lse = Do.appendArrayPointValue, di = ase.TEXTPAD;\nfunction sse(e) {\n  return e.id;\n}\nfunction use(e) {\n  if (e.ids)\n    return sse;\n}\nfunction al(e, t) {\n  return e < t ? 1 : -1;\n}\nfunction fse(e, t, r, n) {\n  var a = [], i = [], o = n ? t : r, l = n ? r : t;\n  return a[0] = o.c2p(e.s0, !0), i[0] = l.c2p(e.p0, !0), a[1] = o.c2p(e.s1, !0), i[1] = l.c2p(e.p1, !0), n ? [a, i] : [i, a];\n}\nfunction m8(e, t, r, n) {\n  if (!t.uniformtext.mode && g8(r)) {\n    var a;\n    return n && (a = n()), e.transition().duration(r.duration).ease(r.easing).each(\"end\", function() {\n      a && a();\n    }).each(\"interrupt\", function() {\n      a && a();\n    });\n  } else\n    return e;\n}\nfunction g8(e) {\n  return e && e.duration > 0;\n}\nfunction cse(e, t, r, n, a, i) {\n  var o = t.xaxis, l = t.yaxis, s = e._fullLayout, u = e._context.staticPlot;\n  a || (a = {\n    mode: s.barmode,\n    norm: s.barmode,\n    gap: s.bargap,\n    groupgap: s.bargroupgap\n  }, nse(\"bar\", s));\n  var f = bn.makeTraceGroups(n, r, \"trace bars\").each(function(d) {\n    var h = Th.select(this), p = d[0].trace, v = p.type === \"waterfall\", m = p.type === \"funnel\", g = p.type === \"bar\", y = g || m, w = 0;\n    v && p.connector.visible && p.connector.mode === \"between\" && (w = p.connector.line.width / 2);\n    var k = p.orientation === \"h\", x = g8(a), _ = bn.ensureSingle(h, \"g\", \"points\"), T = use(p), S = _.selectAll(\"g.point\").data(bn.identity, T);\n    S.enter().append(\"g\").classed(\"point\", !0), S.exit().remove(), S.each(function(L, F) {\n      var $ = Th.select(this), I = fse(L, o, l, k), O = I[0][0], G = I[0][1], K = I[1][0], V = I[1][1], z = (k ? G - O : V - K) === 0;\n      z && y && Bu.getLineWidth(p, L) && (z = !1), z || (z = !kh(O) || !kh(G) || !kh(K) || !kh(V)), L.isBlank = z, z && (k ? G = O : V = K), w && !z && (k ? (O -= al(O, G) * w, G += al(O, G) * w) : (K -= al(K, V) * w, V += al(K, V) * w));\n      var P, R;\n      if (p.type === \"waterfall\") {\n        if (!z) {\n          var H = p[L.dir].marker;\n          P = H.line.width, R = H.color;\n        }\n      } else\n        P = Bu.getLineWidth(p, L), R = L.mc || p.marker.color;\n      function B(ue) {\n        var j = Th.round(P / 2 % 1, 2);\n        return a.gap === 0 && a.groupgap === 0 ? Th.round(Math.round(ue) - j, 2) : ue;\n      }\n      function W(ue, j, U) {\n        return U && ue === j ? ue : Math.abs(ue - j) >= 2 ? B(ue) : (\n          // but if it's very thin, expand it so it's\n          // necessarily visible, even if it might overlap\n          // its neighbor\n          ue > j ? Math.ceil(ue) : Math.floor(ue)\n        );\n      }\n      if (!e._context.staticPlot) {\n        var ee = ese.opacity(R), re = ee < 1 || P > 0.01 ? B : W;\n        O = re(O, G, k), G = re(G, O, k), K = re(K, V, !k), V = re(V, K, !k);\n      }\n      var ae = m8(bn.ensureSingle($, \"path\"), s, a, i);\n      if (ae.style(\"vector-effect\", u ? \"none\" : \"non-scaling-stroke\").attr(\"d\", isNaN((G - O) * (V - K)) || z && e._context.staticPlot ? \"M0,0Z\" : \"M\" + O + \",\" + K + \"V\" + V + \"H\" + G + \"V\" + K + \"Z\").call(el.setClipUrl, t.layerClipId, e), !s.uniformtext.mode && x) {\n        var Q = el.makePointStyleFns(p);\n        el.singlePointStyle(L, ae, p, Q, e);\n      }\n      dse(e, t, $, d, F, O, G, K, V, a, i), t.layerClipId && el.hideOutsideRangePoint(L, $.select(\"text\"), o, l, p.xcalendar, p.ycalendar);\n    });\n    var M = p.cliponaxis === !1;\n    el.setClipUrl(h, M ? null : t.layerClipId, e);\n  });\n  tse.getComponentMethod(\"errorbars\", \"plot\")(e, f, t, a);\n}\nfunction dse(e, t, r, n, a, i, o, l, s, u, f) {\n  var d = t.xaxis, h = t.yaxis, p = e._fullLayout, v;\n  function m(ue, j, U) {\n    var Z = bn.ensureSingle(ue, \"text\").text(j).attr({\n      class: \"bartext bartext-\" + v,\n      \"text-anchor\": \"middle\",\n      // prohibit tex interpretation until we can handle\n      // tex and regular text together\n      \"data-notex\": 1\n    }).call(el.font, U).call(Qle.convertToTspans, e);\n    return Z;\n  }\n  var g = n[0].trace, y = g.orientation === \"h\", w = vse(p, n, a, d, h);\n  v = pse(g, a);\n  var k = u.mode === \"stack\" || u.mode === \"relative\", x = n[a], _ = !k || x._outmost;\n  if (!w || v === \"none\" || (x.isBlank || i === o || l === s) && (v === \"auto\" || v === \"inside\")) {\n    r.select(\"text\").remove();\n    return;\n  }\n  var T = p.font, S = D0.getBarColor(n[a], g), M = D0.getInsideTextFont(g, a, T, S), L = D0.getOutsideTextFont(g, a, T), F = r.datum();\n  y ? d.type === \"log\" && F.s0 <= 0 && (d.range[0] < d.range[1] ? i = 0 : i = d._length) : h.type === \"log\" && F.s0 <= 0 && (h.range[0] < h.range[1] ? l = h._length : l = 0);\n  var $ = Math.abs(o - i) - 2 * di, I = Math.abs(s - l) - 2 * di, O, G, K, V, z;\n  if (v === \"outside\" && !_ && !x.hasB && (v = \"inside\"), v === \"auto\")\n    if (_) {\n      v = \"inside\", z = bn.ensureUniformFontSize(e, M), O = m(r, w, z), G = el.bBox(O.node()), K = G.width, V = G.height;\n      var P = K > 0 && V > 0, R = K <= $ && V <= I, H = K <= I && V <= $, B = y ? $ >= K * (I / V) : I >= V * ($ / K);\n      P && (R || H || B) ? v = \"inside\" : (v = \"outside\", O.remove(), O = null);\n    } else\n      v = \"inside\";\n  if (!O) {\n    z = bn.ensureUniformFontSize(e, v === \"outside\" ? L : M), O = m(r, w, z);\n    var W = O.attr(\"transform\");\n    if (O.attr(\"transform\", \"\"), G = el.bBox(O.node()), K = G.width, V = G.height, O.attr(\"transform\", W), K <= 0 || V <= 0) {\n      O.remove();\n      return;\n    }\n  }\n  var ee = g.textangle, re, ae;\n  v === \"outside\" ? (ae = g.constraintext === \"both\" || g.constraintext === \"outside\", re = hse(i, o, l, s, G, {\n    isHorizontal: y,\n    constrained: ae,\n    angle: ee\n  })) : (ae = g.constraintext === \"both\" || g.constraintext === \"inside\", re = _8(i, o, l, s, G, {\n    isHorizontal: y,\n    constrained: ae,\n    angle: ee,\n    anchor: g.insidetextanchor\n  })), re.fontSize = z.size, rse(g.type === \"histogram\" ? \"bar\" : g.type, re, p), x.transform = re;\n  var Q = m8(O, p, u, f);\n  bn.setTransormAndDisplay(Q, re);\n}\nfunction y8(e) {\n  return e === \"auto\" ? 0 : e;\n}\nfunction b8(e, t) {\n  var r = Math.PI / 180 * t, n = Math.abs(Math.sin(r)), a = Math.abs(Math.cos(r));\n  return {\n    x: e.width * a + e.height * n,\n    y: e.width * n + e.height * a\n  };\n}\nfunction _8(e, t, r, n, a, i) {\n  var o = !!i.isHorizontal, l = !!i.constrained, s = i.angle || 0, u = i.anchor || \"end\", f = u === \"end\", d = u === \"start\", h = i.leftToRight || 0, p = (h + 1) / 2, v = 1 - p, m = a.width, g = a.height, y = Math.abs(t - e), w = Math.abs(n - r), k = y > 2 * di && w > 2 * di ? di : 0;\n  y -= 2 * k, w -= 2 * k;\n  var x = y8(s);\n  s === \"auto\" && !(m <= y && g <= w) && (m > y || g > w) && (!(m > w || g > y) || m < g != y < w) && (x += 90);\n  var _ = b8(a, x), T = 1;\n  l && (T = Math.min(\n    1,\n    y / _.x,\n    w / _.y\n  ));\n  var S = a.left * v + a.right * p, M = (a.top + a.bottom) / 2, L = (e + di) * v + (t - di) * p, F = (r + n) / 2, $ = 0, I = 0;\n  if (d || f) {\n    var O = (o ? _.x : _.y) / 2, G = o ? al(e, t) : al(r, n);\n    o ? d ? (L = e + G * k, $ = -G * O) : (L = t - G * k, $ = G * O) : d ? (F = r + G * k, I = -G * O) : (F = n - G * k, I = G * O);\n  }\n  return {\n    textX: S,\n    textY: M,\n    targetX: L,\n    targetY: F,\n    anchorX: $,\n    anchorY: I,\n    scale: T,\n    rotate: x\n  };\n}\nfunction hse(e, t, r, n, a, i) {\n  var o = !!i.isHorizontal, l = !!i.constrained, s = i.angle || 0, u = a.width, f = a.height, d = Math.abs(t - e), h = Math.abs(n - r), p;\n  o ? p = h > 2 * di ? di : 0 : p = d > 2 * di ? di : 0;\n  var v = 1;\n  l && (v = o ? Math.min(1, h / f) : Math.min(1, d / u));\n  var m = y8(s), g = b8(a, m), y = (o ? g.x : g.y) / 2, w = (a.left + a.right) / 2, k = (a.top + a.bottom) / 2, x = (e + t) / 2, _ = (r + n) / 2, T = 0, S = 0, M = o ? al(t, e) : al(r, n);\n  return o ? (x = t - M * p, T = M * y) : (_ = n + M * p, S = -M * y), {\n    textX: w,\n    textY: k,\n    targetX: x,\n    targetY: _,\n    anchorX: T,\n    anchorY: S,\n    scale: v,\n    rotate: m\n  };\n}\nfunction vse(e, t, r, n, a) {\n  var i = t[0].trace, o = i.texttemplate, l;\n  return o ? l = mse(e, t, r, n, a) : i.textinfo ? l = gse(t, r, n, a) : l = Bu.getValue(i.text, r), Bu.coerceString(ise, l);\n}\nfunction pse(e, t) {\n  var r = Bu.getValue(e.textposition, t);\n  return Bu.coerceEnumerated(ose, r);\n}\nfunction mse(e, t, r, n, a) {\n  var i = t[0].trace, o = bn.castOption(i, r, \"texttemplate\");\n  if (!o) return \"\";\n  var l = i.type === \"histogram\", s = i.type === \"waterfall\", u = i.type === \"funnel\", f = i.orientation === \"h\", d, h, p, v;\n  f ? (d = \"y\", h = a, p = \"x\", v = n) : (d = \"x\", h = n, p = \"y\", v = a);\n  function m(T) {\n    return Iv(h, h.c2l(T), !0).text;\n  }\n  function g(T) {\n    return Iv(v, v.c2l(T), !0).text;\n  }\n  var y = t[r], w = {};\n  w.label = y.p, w.labelLabel = w[d + \"Label\"] = m(y.p);\n  var k = bn.castOption(i, y.i, \"text\");\n  (k === 0 || k) && (w.text = k), w.value = y.s, w.valueLabel = w[p + \"Label\"] = g(y.s);\n  var x = {};\n  lse(x, i, y.i), (l || x.x === void 0) && (x.x = f ? w.value : w.label), (l || x.y === void 0) && (x.y = f ? w.label : w.value), (l || x.xLabel === void 0) && (x.xLabel = f ? w.valueLabel : w.labelLabel), (l || x.yLabel === void 0) && (x.yLabel = f ? w.labelLabel : w.valueLabel), s && (w.delta = +y.rawS || y.s, w.deltaLabel = g(w.delta), w.final = y.v, w.finalLabel = g(w.final), w.initial = w.final - w.delta, w.initialLabel = g(w.initial)), u && (w.value = y.s, w.valueLabel = g(w.value), w.percentInitial = y.begR, w.percentInitialLabel = bn.formatPercent(y.begR), w.percentPrevious = y.difR, w.percentPreviousLabel = bn.formatPercent(y.difR), w.percentTotal = y.sumR, w.percenTotalLabel = bn.formatPercent(y.sumR));\n  var _ = bn.castOption(i, y.i, \"customdata\");\n  return _ && (w.customdata = _), bn.texttemplateString(o, w, e._d3locale, x, w, i._meta || {});\n}\nfunction gse(e, t, r, n) {\n  var a = e[0].trace, i = a.orientation === \"h\", o = a.type === \"waterfall\", l = a.type === \"funnel\";\n  function s(_) {\n    var T = i ? n : r;\n    return Iv(T, _, !0).text;\n  }\n  function u(_) {\n    var T = i ? r : n;\n    return Iv(T, +_, !0).text;\n  }\n  var f = a.textinfo, d = e[t], h = f.split(\"+\"), p = [], v, m = function(_) {\n    return h.indexOf(_) !== -1;\n  };\n  if (m(\"label\") && p.push(s(e[t].p)), m(\"text\") && (v = bn.castOption(a, d.i, \"text\"), (v === 0 || v) && p.push(v)), o) {\n    var g = +d.rawS || d.s, y = d.v, w = y - g;\n    m(\"initial\") && p.push(u(w)), m(\"delta\") && p.push(u(g)), m(\"final\") && p.push(u(y));\n  }\n  if (l) {\n    m(\"value\") && p.push(u(d.s));\n    var k = 0;\n    m(\"percent initial\") && k++, m(\"percent previous\") && k++, m(\"percent total\") && k++;\n    var x = k > 1;\n    m(\"percent initial\") && (v = bn.formatPercent(d.begR), x && (v += \" of initial\"), p.push(v)), m(\"percent previous\") && (v = bn.formatPercent(d.difR), x && (v += \" of previous\"), p.push(v)), m(\"percent total\") && (v = bn.formatPercent(d.sumR), x && (v += \" of total\"), p.push(v));\n  }\n  return p.join(\"<br>\");\n}\nvar yse = {\n  plot: cse,\n  toMoveInsideBar: _8\n}, Vf = Ao, bse = Nt, FS = nr, _se = Ue.fillText, xse = Fo.getLineWidth, E0 = Cr.hoverLabelText, wse = Qr.BADNUM;\nfunction Tse(e, t, r, n, a) {\n  var i = x8(e, t, r, n, a);\n  if (i) {\n    var o = i.cd, l = o[0].trace, s = o[i.index];\n    return i.color = w8(l, s), bse.getComponentMethod(\"errorbars\", \"hoverInfo\")(s, l, i), [i];\n  }\n}\nfunction x8(e, t, r, n, a) {\n  var i = e.cd, o = i[0].trace, l = i[0].t, s = n === \"closest\", u = o.type === \"waterfall\", f = e.maxHoverDistance, d = e.maxSpikeDistance, h, p, v, m, g, y, w;\n  o.orientation === \"h\" ? (h = r, p = t, v = \"y\", m = \"x\", g = K, y = I) : (h = t, p = r, v = \"x\", m = \"y\", y = K, g = I);\n  var k = o[v + \"period\"], x = s || k;\n  function _(Q) {\n    return S(Q, -1);\n  }\n  function T(Q) {\n    return S(Q, 1);\n  }\n  function S(Q, ue) {\n    var j = Q.w;\n    return Q[v] + ue * j / 2;\n  }\n  function M(Q) {\n    return Q[v + \"End\"] - Q[v + \"Start\"];\n  }\n  var L = s ? _ : k ? function(Q) {\n    return Q.p - M(Q) / 2;\n  } : function(Q) {\n    return Math.min(_(Q), Q.p - l.bardelta / 2);\n  }, F = s ? T : k ? function(Q) {\n    return Q.p + M(Q) / 2;\n  } : function(Q) {\n    return Math.max(T(Q), Q.p + l.bardelta / 2);\n  };\n  function $(Q, ue, j) {\n    return a.finiteRange && (j = 0), Vf.inbox(\n      Q - h,\n      ue - h,\n      j + Math.min(1, Math.abs(ue - Q) / w) - 1\n    );\n  }\n  function I(Q) {\n    return $(L(Q), F(Q), f);\n  }\n  function O(Q) {\n    return $(_(Q), T(Q), d);\n  }\n  function G(Q) {\n    var ue = Q[m];\n    if (u) {\n      var j = Math.abs(Q.rawS) || 0;\n      p > 0 ? ue += j : p < 0 && (ue -= j);\n    }\n    return ue;\n  }\n  function K(Q) {\n    var ue = p, j = Q.b, U = G(Q);\n    return Vf.inbox(j - ue, U - ue, f + (U - ue) / (U - j) - 1);\n  }\n  function V(Q) {\n    var ue = p, j = Q.b, U = G(Q);\n    return Vf.inbox(j - ue, U - ue, d + (U - ue) / (U - j) - 1);\n  }\n  var z = e[v + \"a\"], P = e[m + \"a\"];\n  w = Math.abs(z.r2c(z.range[1]) - z.r2c(z.range[0]));\n  function R(Q) {\n    return (g(Q) + y(Q)) / 2;\n  }\n  var H = Vf.getDistanceFunction(n, g, y, R);\n  if (Vf.getClosest(i, H, e), e.index !== !1 && i[e.index].p !== wse) {\n    x || (L = function(Q) {\n      return Math.min(_(Q), Q.p - l.bargroupwidth / 2);\n    }, F = function(Q) {\n      return Math.max(T(Q), Q.p + l.bargroupwidth / 2);\n    });\n    var B = e.index, W = i[B], ee = o.base ? W.b + W.s : W.s;\n    e[m + \"0\"] = e[m + \"1\"] = P.c2p(W[m], !0), e[m + \"LabelVal\"] = ee;\n    var re = l.extents[l.extents.round(W.p)];\n    e[v + \"0\"] = z.c2p(s ? L(W) : re[0], !0), e[v + \"1\"] = z.c2p(s ? F(W) : re[1], !0);\n    var ae = W.orig_p !== void 0;\n    return e[v + \"LabelVal\"] = ae ? W.orig_p : W.p, e.labelLabel = E0(z, e[v + \"LabelVal\"], o[v + \"hoverformat\"]), e.valueLabel = E0(P, e[m + \"LabelVal\"], o[m + \"hoverformat\"]), e.baseLabel = E0(P, W.b, o[m + \"hoverformat\"]), e.spikeDistance = (V(W) + O(W)) / 2, e[v + \"Spike\"] = z.c2p(W.p, !0), _se(W, o, e), e.hovertemplate = o.hovertemplate, e;\n  }\n}\nfunction w8(e, t) {\n  var r = t.mcc || e.marker.color, n = t.mlcc || e.marker.line.color, a = xse(e, t);\n  if (FS.opacity(r)) return r;\n  if (FS.opacity(n) && a) return n;\n}\nvar kse = {\n  hoverPoints: Tse,\n  hoverOnBars: x8,\n  getTraceColor: w8\n}, Ase = function(t, r, n) {\n  return t.x = \"xVal\" in r ? r.xVal : r.x, t.y = \"yVal\" in r ? r.yVal : r.y, r.xa && (t.xaxis = r.xa), r.ya && (t.yaxis = r.ya), n.orientation === \"h\" ? (t.label = t.y, t.value = t.x) : (t.label = t.x, t.value = t.y), t;\n}, Mse = function(t, r) {\n  var n = t.cd, a = t.xaxis, i = t.yaxis, o = n[0].trace, l = o.type === \"funnel\", s = o.orientation === \"h\", u = [], f;\n  if (r === !1)\n    for (f = 0; f < n.length; f++)\n      n[f].selected = 0;\n  else\n    for (f = 0; f < n.length; f++) {\n      var d = n[f], h = \"ct\" in d ? d.ct : Sse(d, a, i, s, l);\n      r.contains(h, !1, f, t) ? (u.push({\n        pointNumber: f,\n        x: a.c2d(d.x),\n        y: i.c2d(d.y)\n      }), d.selected = 1) : d.selected = 0;\n    }\n  return u;\n};\nfunction Sse(e, t, r, n, a) {\n  var i = t.c2p(n ? e.s0 : e.p0, !0), o = t.c2p(n ? e.s1 : e.p1, !0), l = r.c2p(n ? e.p0 : e.s0, !0), s = r.c2p(n ? e.p1 : e.s1, !0);\n  return a ? [(i + o) / 2, (l + s) / 2] : n ? [o, (l + s) / 2] : [(i + o) / 2, s];\n}\nvar Cse = {\n  attributes: Qp,\n  layoutAttributes: J6,\n  supplyDefaults: SS.supplyDefaults,\n  crossTraceDefaults: SS.crossTraceDefaults,\n  supplyLayoutDefaults: Ple,\n  calc: Ile,\n  crossTraceCalc: KE.crossTraceCalc,\n  colorbar: t6,\n  arraysToCalcdata: w_,\n  plot: yse.plot,\n  style: n1.style,\n  styleOnSelect: n1.styleOnSelect,\n  hoverPoints: kse.hoverPoints,\n  eventData: Ase,\n  selectPoints: Mse,\n  moduleType: \"trace\",\n  name: \"bar\",\n  basePlotModule: yn,\n  categories: [\"bar-like\", \"cartesian\", \"svg\", \"bar\", \"oriented\", \"errorBarsOK\", \"showLegend\", \"zoomScale\"],\n  animatable: !0,\n  meta: {\n    description: [\n      \"The data visualized by the span of the bars is set in `y`\",\n      \"if `orientation` is set to *v* (the default)\",\n      \"and the labels are set in `x`.\",\n      \"By setting `orientation` to *h*, the roles are interchanged.\"\n    ].join(\" \")\n  }\n}, Lse = Cse;\nconst Dse = /* @__PURE__ */ Vc(Lse);\nvar Fa = ws, Ese = Wi, Fse = Fn, F0 = kp.axisHoverFormat, Rse = _i.hovertemplateAttrs, Pse = _i.texttemplateAttrs, $se = Jc, ta = en.extendFlat, T8 = ta(\n  {\n    z: {\n      valType: \"data_array\",\n      editType: \"calc\",\n      description: \"Sets the z data.\"\n    },\n    x: ta({}, Fa.x, { impliedEdits: { xtype: \"array\" } }),\n    x0: ta({}, Fa.x0, { impliedEdits: { xtype: \"scaled\" } }),\n    dx: ta({}, Fa.dx, { impliedEdits: { xtype: \"scaled\" } }),\n    y: ta({}, Fa.y, { impliedEdits: { ytype: \"array\" } }),\n    y0: ta({}, Fa.y0, { impliedEdits: { ytype: \"scaled\" } }),\n    dy: ta({}, Fa.dy, { impliedEdits: { ytype: \"scaled\" } }),\n    xperiod: ta({}, Fa.xperiod, { impliedEdits: { xtype: \"scaled\" } }),\n    yperiod: ta({}, Fa.yperiod, { impliedEdits: { ytype: \"scaled\" } }),\n    xperiod0: ta({}, Fa.xperiod0, { impliedEdits: { xtype: \"scaled\" } }),\n    yperiod0: ta({}, Fa.yperiod0, { impliedEdits: { ytype: \"scaled\" } }),\n    xperiodalignment: ta({}, Fa.xperiodalignment, { impliedEdits: { xtype: \"scaled\" } }),\n    yperiodalignment: ta({}, Fa.yperiodalignment, { impliedEdits: { ytype: \"scaled\" } }),\n    text: {\n      valType: \"data_array\",\n      editType: \"calc\",\n      description: \"Sets the text elements associated with each z value.\"\n    },\n    hovertext: {\n      valType: \"data_array\",\n      editType: \"calc\",\n      description: \"Same as `text`.\"\n    },\n    transpose: {\n      valType: \"boolean\",\n      dflt: !1,\n      editType: \"calc\",\n      description: \"Transposes the z data.\"\n    },\n    xtype: {\n      valType: \"enumerated\",\n      values: [\"array\", \"scaled\"],\n      editType: \"calc+clearAxisTypes\",\n      description: [\n        \"If *array*, the heatmap's x coordinates are given by *x*\",\n        \"(the default behavior when `x` is provided).\",\n        \"If *scaled*, the heatmap's x coordinates are given by *x0* and *dx*\",\n        \"(the default behavior when `x` is not provided).\"\n      ].join(\" \")\n    },\n    ytype: {\n      valType: \"enumerated\",\n      values: [\"array\", \"scaled\"],\n      editType: \"calc+clearAxisTypes\",\n      description: [\n        \"If *array*, the heatmap's y coordinates are given by *y*\",\n        \"(the default behavior when `y` is provided)\",\n        \"If *scaled*, the heatmap's y coordinates are given by *y0* and *dy*\",\n        \"(the default behavior when `y` is not provided)\"\n      ].join(\" \")\n    },\n    zsmooth: {\n      valType: \"enumerated\",\n      values: [\"fast\", \"best\", !1],\n      dflt: !1,\n      editType: \"calc\",\n      description: [\n        \"Picks a smoothing algorithm use to smooth `z` data.\"\n      ].join(\" \")\n    },\n    hoverongaps: {\n      valType: \"boolean\",\n      dflt: !0,\n      editType: \"none\",\n      description: [\n        \"Determines whether or not gaps\",\n        \"(i.e. {nan} or missing values)\",\n        \"in the `z` data have hover labels associated with them.\"\n      ].join(\" \")\n    },\n    connectgaps: {\n      valType: \"boolean\",\n      editType: \"calc\",\n      description: [\n        \"Determines whether or not gaps\",\n        \"(i.e. {nan} or missing values)\",\n        \"in the `z` data are filled in.\",\n        \"It is defaulted to true if `z` is a\",\n        \"one dimensional array and `zsmooth` is not false;\",\n        \"otherwise it is defaulted to false.\"\n      ].join(\" \")\n    },\n    xgap: {\n      valType: \"number\",\n      dflt: 0,\n      min: 0,\n      editType: \"plot\",\n      description: \"Sets the horizontal gap (in pixels) between bricks.\"\n    },\n    ygap: {\n      valType: \"number\",\n      dflt: 0,\n      min: 0,\n      editType: \"plot\",\n      description: \"Sets the vertical gap (in pixels) between bricks.\"\n    },\n    xhoverformat: F0(\"x\"),\n    yhoverformat: F0(\"y\"),\n    zhoverformat: F0(\"z\", 1),\n    hovertemplate: Rse(),\n    texttemplate: Pse({\n      arrayOk: !1,\n      editType: \"plot\"\n    }, {\n      keys: [\"x\", \"y\", \"z\", \"text\"]\n    }),\n    textfont: Fse({\n      editType: \"plot\",\n      autoSize: !0,\n      autoColor: !0,\n      colorEditType: \"style\",\n      description: \"Sets the text font.\"\n    }),\n    showlegend: ta({}, Ese.showlegend, { dflt: !1 })\n  },\n  {\n    transforms: void 0\n  },\n  $se(\"\", { cLetter: \"z\", autoColorDflt: !1 })\n), zse = sr, Xh = Ue, Ise = Nt, Nse = function(t, r, n, a, i, o) {\n  var l = n(\"z\");\n  i = i || \"x\", o = o || \"y\";\n  var s, u;\n  if (l === void 0 || !l.length) return 0;\n  if (Xh.isArray1D(l)) {\n    s = n(i), u = n(o);\n    var f = Xh.minRowLength(s), d = Xh.minRowLength(u);\n    if (f === 0 || d === 0) return 0;\n    r._length = Math.min(f, d, l.length);\n  } else {\n    if (s = RS(i, n), u = RS(o, n), !Ose(l)) return 0;\n    n(\"transpose\"), r._length = null;\n  }\n  if (t.type === \"heatmapgl\") return !0;\n  var h = Ise.getComponentMethod(\"calendars\", \"handleTraceDefaults\");\n  return h(t, r, [i, o], a), !0;\n};\nfunction RS(e, t) {\n  var r = t(e), n = r ? t(e + \"type\", \"array\") : \"scaled\";\n  return n === \"scaled\" && (t(e + \"0\"), t(\"d\" + e)), r;\n}\nfunction Ose(e) {\n  for (var t = !0, r = !1, n = !1, a, i = 0; i < e.length; i++) {\n    if (a = e[i], !Xh.isArrayOrTypedArray(a)) {\n      t = !1;\n      break;\n    }\n    a.length > 0 && (r = !0);\n    for (var o = 0; o < a.length; o++)\n      if (zse(a[o])) {\n        n = !0;\n        break;\n      }\n  }\n  return t && r && n;\n}\nvar PS = Ue, Hse = function(t, r) {\n  t(\"texttemplate\");\n  var n = PS.extendFlat({}, r.font, {\n    color: \"auto\",\n    size: \"auto\"\n  });\n  PS.coerceFont(t, \"textfont\", n);\n}, Bse = function(t, r, n) {\n  var a = n(\"zsmooth\");\n  a === !1 && (n(\"xgap\"), n(\"ygap\")), n(\"zhoverformat\");\n}, $S = Ue, jse = Nse, Use = Hse, Gse = o_, Vse = Bse, qse = ef, Wse = T8, Zse = function(t, r, n, a) {\n  function i(l, s) {\n    return $S.coerce(t, r, Wse, l, s);\n  }\n  var o = jse(t, r, i, a);\n  if (!o) {\n    r.visible = !1;\n    return;\n  }\n  Gse(t, r, a, i), i(\"xhoverformat\"), i(\"yhoverformat\"), i(\"text\"), i(\"hovertext\"), i(\"hovertemplate\"), Use(i, a), Vse(t, r, i), i(\"hoverongaps\"), i(\"connectgaps\", $S.isArray1D(r.z) && r.zsmooth !== !1), qse(t, r, a, i, { prefix: \"\", cLetter: \"z\" });\n}, Ks = sr, k8 = {\n  count: function(e, t, r) {\n    return r[e]++, 1;\n  },\n  sum: function(e, t, r, n) {\n    var a = n[t];\n    return Ks(a) ? (a = Number(a), r[e] += a, a) : 0;\n  },\n  avg: function(e, t, r, n, a) {\n    var i = n[t];\n    return Ks(i) && (i = Number(i), r[e] += i, a[e]++), 0;\n  },\n  min: function(e, t, r, n) {\n    var a = n[t];\n    if (Ks(a))\n      if (a = Number(a), Ks(r[e])) {\n        if (r[e] > a) {\n          var i = a - r[e];\n          return r[e] = a, i;\n        }\n      } else return r[e] = a, a;\n    return 0;\n  },\n  max: function(e, t, r, n) {\n    var a = n[t];\n    if (Ks(a))\n      if (a = Number(a), Ks(r[e])) {\n        if (r[e] < a) {\n          var i = a - r[e];\n          return r[e] = a, i;\n        }\n      } else return r[e] = a, a;\n    return 0;\n  }\n}, A8 = {\n  percent: function(e, t) {\n    for (var r = e.length, n = 100 / t, a = 0; a < r; a++) e[a] *= n;\n  },\n  probability: function(e, t) {\n    for (var r = e.length, n = 0; n < r; n++) e[n] /= t;\n  },\n  density: function(e, t, r, n) {\n    var a = e.length;\n    n = n || 1;\n    for (var i = 0; i < a; i++) e[i] *= r[i] * n;\n  },\n  \"probability density\": function(e, t, r, n) {\n    var a = e.length;\n    n && (t /= n);\n    for (var i = 0; i < a; i++) e[i] *= r[i] / t;\n  }\n}, M8 = function(t, r) {\n  for (var n = t.length, a = 0, i = 0; i < n; i++)\n    r[i] ? (t[i] /= r[i], a += t[i]) : t[i] = null;\n  return a;\n}, af = Qr, es = af.ONEAVGYEAR, zS = af.ONEAVGMONTH, Nv = af.ONEDAY, IS = af.ONEHOUR, NS = af.ONEMIN, OS = af.ONESEC, HS = Cr.tickIncrement, S8 = function(t, r, n, a, i) {\n  var o = -1.1 * r, l = -0.1 * r, s = t - l, u = n[0], f = n[1], d = Math.min(\n    Ah(u + l, u + s, a, i),\n    Ah(f + l, f + s, a, i)\n  ), h = Math.min(\n    Ah(u + o, u + l, a, i),\n    Ah(f + o, f + l, a, i)\n  ), p, v;\n  if (d > h && h < Math.abs(f - u) / 4e3 ? (p = d, v = !1) : (p = Math.min(d, h), v = !0), a.type === \"date\" && p > Nv) {\n    var m = p === es ? 1 : 6, g = p === es ? \"M12\" : \"M1\";\n    return function(y, w) {\n      var k = a.c2d(y, es, i), x = k.indexOf(\"-\", m);\n      x > 0 && (k = k.substr(0, x));\n      var _ = a.d2c(k, 0, i);\n      if (_ < y) {\n        var T = HS(_, g, !1, i);\n        (_ + T) / 2 < y + t && (_ = T);\n      }\n      return w && v ? HS(_, g, !0, i) : _;\n    };\n  }\n  return function(y, w) {\n    var k = p * Math.round(y / p);\n    return k + p / 10 < y && k + p * 0.9 < y + t && (k += p), w && v && (k -= p), k;\n  };\n};\nfunction Ah(e, t, r, n) {\n  if (e * t <= 0) return 1 / 0;\n  for (var a = Math.abs(t - e), i = r.type === \"date\", o = BS(a, i), l = 0; l < 10; l++) {\n    var s = BS(o * 80, i);\n    if (o === s) break;\n    if (Yse(s, e, t, i, r, n)) o = s;\n    else break;\n  }\n  return o;\n}\nfunction BS(e, t) {\n  return t && e > OS ? e > Nv ? e > es * 1.1 ? es : e > zS * 1.1 ? zS : Nv : e > IS ? IS : e > NS ? NS : OS : Math.pow(10, Math.floor(Math.log(e) / Math.LN10));\n}\nfunction Yse(e, t, r, n, a, i) {\n  if (n && e > Nv) {\n    var o = jS(t, a, i), l = jS(r, a, i), s = e === es ? 0 : 1;\n    return o[s] !== l[s];\n  }\n  return Math.floor(r / e) - Math.floor(t / e) > 0.1;\n}\nfunction jS(e, t, r) {\n  var n = t.c2d(e, es, r).split(\"-\");\n  return n[0] === \"\" && (n.unshift(), n[0] = \"-\" + n[0]), n;\n}\nvar a1 = sr, Nn = Ue, US = Nt, za = Cr, Xse = w_, GS = k8, Kse = A8, Jse = M8, Qse = S8;\nfunction eue(e, t) {\n  var r = [], n = [], a = t.orientation === \"h\", i = za.getFromId(e, a ? t.yaxis : t.xaxis), o = a ? \"y\" : \"x\", l = { x: \"y\", y: \"x\" }[o], s = t[o + \"calendar\"], u = t.cumulative, f, d = A_(e, t, i, o), h = d[0], p = d[1], v = typeof h.size == \"string\", m = [], g = v ? m : h, y = [], w = [], k = [], x = 0, _ = t.histnorm, T = t.histfunc, S = _.indexOf(\"density\") !== -1, M, L, F;\n  u.enabled && S && (_ = _.replace(/ ?density$/, \"\"), S = !1);\n  var $ = T === \"max\" || T === \"min\", I = $ ? null : 0, O = GS.count, G = Kse[_], K = !1, V = function(J) {\n    return i.r2c(J, 0, s);\n  }, z;\n  for (Nn.isArrayOrTypedArray(t[l]) && T !== \"count\" && (z = t[l], K = T === \"avg\", O = GS[T]), f = V(h.start), L = V(h.end) + (f - za.tickIncrement(f, h.size, !1, s)) / 1e6; f < L && r.length < 1e6 && (M = za.tickIncrement(f, h.size, !1, s), r.push((f + M) / 2), n.push(I), k.push([]), m.push(f), S && y.push(1 / (M - f)), K && w.push(0), !(M <= f)); )\n    f = M;\n  m.push(f), !v && i.type === \"date\" && (g = {\n    start: V(g.start),\n    end: V(g.end),\n    size: g.size\n  }), e._fullLayout._roundFnOpts || (e._fullLayout._roundFnOpts = {});\n  var P = t[\"_\" + o + \"bingroup\"], R = { leftGap: 1 / 0, rightGap: 1 / 0 };\n  P && (e._fullLayout._roundFnOpts[P] || (e._fullLayout._roundFnOpts[P] = R), R = e._fullLayout._roundFnOpts[P]);\n  var H = n.length, B = !0, W = R.leftGap, ee = R.rightGap, re = {};\n  for (f = 0; f < p.length; f++) {\n    var ae = p[f];\n    F = Nn.findBin(ae, g), F >= 0 && F < H && (x += O(F, f, n, z, w), B && k[F].length && ae !== p[k[F][0]] && (B = !1), k[F].push(f), re[f] = F, W = Math.min(W, ae - m[F]), ee = Math.min(ee, m[F + 1] - ae));\n  }\n  R.leftGap = W, R.rightGap = ee;\n  var Q;\n  B || (Q = function(J, pe) {\n    return function() {\n      var ge = e._fullLayout._roundFnOpts[P];\n      return Qse(\n        ge.leftGap,\n        ge.rightGap,\n        m,\n        i,\n        s\n      )(J, pe);\n    };\n  }), K && (x = Jse(n, w)), G && G(n, x, y), u.enabled && nue(n, u.direction, u.currentbin);\n  var ue = Math.min(r.length, n.length), j = [], U = 0, Z = ue - 1;\n  for (f = 0; f < ue; f++)\n    if (n[f]) {\n      U = f;\n      break;\n    }\n  for (f = ue - 1; f >= U; f--)\n    if (n[f]) {\n      Z = f;\n      break;\n    }\n  for (f = U; f <= Z; f++)\n    if (a1(r[f]) && a1(n[f])) {\n      var le = {\n        p: r[f],\n        s: n[f],\n        b: 0\n      };\n      u.enabled || (le.pts = k[f], B ? le.ph0 = le.ph1 = k[f].length ? p[k[f][0]] : r[f] : (t._computePh = !0, le.ph0 = Q(m[f]), le.ph1 = Q(m[f + 1], !0))), j.push(le);\n    }\n  return j.length === 1 && (j[0].width1 = za.tickIncrement(j[0].p, h.size, !1, s) - j[0].p), Xse(j, t), Nn.isArrayOrTypedArray(t.selectedpoints) && Nn.tagSelected(j, t, re), j;\n}\nfunction A_(e, t, r, n, a) {\n  var i = n + \"bins\", o = e._fullLayout, l = t[\"_\" + n + \"bingroup\"], s = o._histogramBinOpts[l], u = o.barmode === \"overlay\", f, d, h, p, v, m, g, y = function(ae) {\n    return r.r2c(ae, 0, p);\n  }, w = function(ae) {\n    return r.c2r(ae, 0, p);\n  }, k = r.type === \"date\" ? function(ae) {\n    return ae || ae === 0 ? Nn.cleanDate(ae, null, p) : null;\n  } : function(ae) {\n    return a1(ae) ? Number(ae) : null;\n  };\n  function x(ae, Q, ue) {\n    Q[ae + \"Found\"] ? (Q[ae] = k(Q[ae]), Q[ae] === null && (Q[ae] = ue[ae])) : (m[ae] = Q[ae] = ue[ae], Nn.nestedProperty(d[0], i + \".\" + ae).set(ue[ae]));\n  }\n  if (t[\"_\" + n + \"autoBinFinished\"])\n    delete t[\"_\" + n + \"autoBinFinished\"];\n  else {\n    d = s.traces;\n    var _ = [], T = !0, S = !1, M = !1;\n    for (f = 0; f < d.length; f++)\n      if (h = d[f], h.visible) {\n        var L = s.dirs[f];\n        v = h[\"_\" + L + \"pos0\"] = r.makeCalcdata(h, L), _ = Nn.concat(_, v), delete h[\"_\" + n + \"autoBinFinished\"], t.visible === !0 && (T ? T = !1 : (delete h._autoBin, h[\"_\" + n + \"autoBinFinished\"] = 1), US.traceIs(h, \"2dMap\") && (S = !0), h.type === \"histogram2dcontour\" && (M = !0));\n      }\n    p = d[0][n + \"calendar\"];\n    var F = za.autoBin(_, r, s.nbins, S, p, s.sizeFound && s.size), $ = d[0]._autoBin = {};\n    if (m = $[s.dirs[0]] = {}, M && (s.size || (F.start = w(za.tickIncrement(\n      y(F.start),\n      F.size,\n      !0,\n      p\n    ))), s.end === void 0 && (F.end = w(za.tickIncrement(\n      y(F.end),\n      F.size,\n      !1,\n      p\n    )))), u && !US.traceIs(t, \"2dMap\") && F._dataSpan === 0 && r.type !== \"category\" && r.type !== \"multicategory\" && t.bingroup === \"\" && typeof t.xbins > \"u\") {\n      if (a) return [F, v, !0];\n      F = tue(e, t, r, n, i);\n    }\n    g = h.cumulative || {}, g.enabled && g.currentbin !== \"include\" && (g.direction === \"decreasing\" ? F.start = w(za.tickIncrement(\n      y(F.start),\n      F.size,\n      !0,\n      p\n    )) : F.end = w(za.tickIncrement(\n      y(F.end),\n      F.size,\n      !1,\n      p\n    ))), s.size = F.size, s.sizeFound || (m.size = F.size, Nn.nestedProperty(d[0], i + \".size\").set(F.size)), x(\"start\", s, F), x(\"end\", s, F);\n  }\n  v = t[\"_\" + n + \"pos0\"], delete t[\"_\" + n + \"pos0\"];\n  var I = t._input[i] || {}, O = Nn.extendFlat({}, s), G = s.start, K = r.r2l(I.start), V = K !== void 0;\n  if ((s.startFound || V) && K !== r.r2l(G)) {\n    var z = V ? K : Nn.aggNums(Math.min, null, v), P = {\n      type: r.type === \"category\" || r.type === \"multicategory\" ? \"linear\" : r.type,\n      r2l: r.r2l,\n      dtick: s.size,\n      tick0: G,\n      calendar: p,\n      range: [z, za.tickIncrement(z, s.size, !1, p)].map(r.l2r)\n    }, R = za.tickFirst(P);\n    R > r.r2l(z) && (R = za.tickIncrement(R, s.size, !0, p)), O.start = r.l2r(R), V || Nn.nestedProperty(t, i + \".start\").set(O.start);\n  }\n  var H = s.end, B = r.r2l(I.end), W = B !== void 0;\n  if ((s.endFound || W) && B !== r.r2l(H)) {\n    var ee = W ? B : Nn.aggNums(Math.max, null, v);\n    O.end = r.l2r(ee), W || Nn.nestedProperty(t, i + \".start\").set(O.end);\n  }\n  var re = \"autobin\" + n;\n  return t._input[re] === !1 && (t._input[i] = Nn.extendFlat({}, t[i] || {}), delete t._input[re], delete t[re]), [O, v];\n}\nfunction tue(e, t, r, n, a) {\n  var i = e._fullLayout, o = rue(e, t), l = !1, s = 1 / 0, u = [t], f, d, h;\n  for (f = 0; f < o.length; f++)\n    if (d = o[f], d === t)\n      l = !0;\n    else if (!l)\n      h = i._histogramBinOpts[d[\"_\" + n + \"bingroup\"]], s = Math.min(s, h.size || d[a].size);\n    else {\n      var p = A_(e, d, r, n, !0), v = p[0], m = p[2];\n      d[\"_\" + n + \"autoBinFinished\"] = 1, d[\"_\" + n + \"pos0\"] = p[1], m ? u.push(d) : s = Math.min(s, v.size);\n    }\n  var g = new Array(u.length);\n  for (f = 0; f < u.length; f++)\n    for (var y = u[f][\"_\" + n + \"pos0\"], w = 0; w < y.length; w++)\n      if (y[w] !== void 0) {\n        g[f] = y[w];\n        break;\n      }\n  for (isFinite(s) || (s = Nn.distinctVals(g).minDiff), f = 0; f < u.length; f++) {\n    d = u[f];\n    var k = d[n + \"calendar\"], x = {\n      start: r.c2r(g[f] - s / 2, 0, k),\n      end: r.c2r(g[f] + s / 2, 0, k),\n      size: s\n    };\n    d._input[a] = d[a] = x, h = i._histogramBinOpts[d[\"_\" + n + \"bingroup\"]], h && Nn.extendFlat(h, x);\n  }\n  return t[a];\n}\nfunction rue(e, t) {\n  for (var r = t.xaxis, n = t.yaxis, a = t.orientation, i = [], o = e._fullData, l = 0; l < o.length; l++) {\n    var s = o[l];\n    s.type === \"histogram\" && s.visible === !0 && s.orientation === a && s.xaxis === r && s.yaxis === n && i.push(s);\n  }\n  return i;\n}\nfunction nue(e, t, r) {\n  var n, a, i;\n  function o(s) {\n    i = e[s], e[s] /= 2;\n  }\n  function l(s) {\n    a = e[s], e[s] = i + a / 2, i += a;\n  }\n  if (r === \"half\")\n    if (t === \"increasing\")\n      for (o(0), n = 1; n < e.length; n++)\n        l(n);\n    else\n      for (o(e.length - 1), n = e.length - 2; n >= 0; n--)\n        l(n);\n  else if (t === \"increasing\") {\n    for (n = 1; n < e.length; n++)\n      e[n] += e[n - 1];\n    r === \"exclude\" && (e.unshift(0), e.pop());\n  } else {\n    for (n = e.length - 2; n >= 0; n--)\n      e[n] += e[n + 1];\n    r === \"exclude\" && (e.push(0), e.shift());\n  }\n}\nvar aue = {\n  calc: eue,\n  calcAllAutoBins: A_\n}, VS = Ue, Js = Cr, qS = k8, iue = A8, oue = M8, lue = S8, WS = aue.calcAllAutoBins, sue = function(t, r) {\n  var n = Js.getFromId(t, r.xaxis), a = Js.getFromId(t, r.yaxis), i = r.xcalendar, o = r.ycalendar, l = function(Pe) {\n    return n.r2c(Pe, 0, i);\n  }, s = function(Pe) {\n    return a.r2c(Pe, 0, o);\n  }, u = function(Pe) {\n    return n.c2r(Pe, 0, i);\n  }, f = function(Pe) {\n    return a.c2r(Pe, 0, o);\n  }, d, h, p, v, m = WS(t, r, n, \"x\"), g = m[0], y = m[1], w = WS(t, r, a, \"y\"), k = w[0], x = w[1], _ = r._length;\n  y.length > _ && y.splice(_, y.length - _), x.length > _ && x.splice(_, x.length - _);\n  var T = [], S = [], M = [], L = typeof g.size == \"string\", F = typeof k.size == \"string\", $ = [], I = [], O = L ? $ : g, G = F ? I : k, K = 0, V = [], z = [], P = r.histnorm, R = r.histfunc, H = P.indexOf(\"density\") !== -1, B = R === \"max\" || R === \"min\", W = B ? null : 0, ee = qS.count, re = iue[P], ae = !1, Q = [], ue = [], j = \"z\" in r ? r.z : \"marker\" in r && Array.isArray(r.marker.color) ? r.marker.color : \"\";\n  j && R !== \"count\" && (ae = R === \"avg\", ee = qS[R]);\n  var U = g.size, Z = l(g.start), le = l(g.end) + (Z - Js.tickIncrement(Z, U, !1, i)) / 1e6;\n  for (d = Z; d < le; d = Js.tickIncrement(d, U, !1, i))\n    S.push(W), $.push(d), ae && M.push(0);\n  $.push(d);\n  var J = S.length, pe = (d - Z) / J, ge = u(Z + pe / 2), ve = k.size, me = s(k.start), Le = s(k.end) + (me - Js.tickIncrement(me, ve, !1, o)) / 1e6;\n  for (d = me; d < Le; d = Js.tickIncrement(d, ve, !1, o)) {\n    T.push(S.slice()), I.push(d);\n    var ze = new Array(J);\n    for (h = 0; h < J; h++) ze[h] = [];\n    z.push(ze), ae && V.push(M.slice());\n  }\n  I.push(d);\n  var Fe = T.length, Oe = (d - me) / Fe, Re = f(me + Oe / 2);\n  H && (Q = ZS(S.length, O, pe, L), ue = ZS(T.length, G, Oe, F)), !L && n.type === \"date\" && (O = YS(l, O)), !F && a.type === \"date\" && (G = YS(s, G));\n  var We = !0, Me = !0, Ve = new Array(J), qe = new Array(Fe), Qe = 1 / 0, ot = 1 / 0, ht = 1 / 0, vt = 1 / 0;\n  for (d = 0; d < _; d++) {\n    var nt = y[d], ft = x[d];\n    p = VS.findBin(nt, O), v = VS.findBin(ft, G), p >= 0 && p < J && v >= 0 && v < Fe && (K += ee(p, d, T[v], j, V[v]), z[v][p].push(d), We && (Ve[p] === void 0 ? Ve[p] = nt : Ve[p] !== nt && (We = !1)), Me && (qe[v] === void 0 ? qe[v] = ft : qe[v] !== ft && (Me = !1)), Qe = Math.min(Qe, nt - $[p]), ot = Math.min(ot, $[p + 1] - nt), ht = Math.min(ht, ft - I[v]), vt = Math.min(vt, I[v + 1] - ft));\n  }\n  if (ae)\n    for (v = 0; v < Fe; v++) K += oue(T[v], V[v]);\n  if (re)\n    for (v = 0; v < Fe; v++) re(T[v], K, Q, ue[v]);\n  return {\n    x: y,\n    xRanges: XS($, We && Ve, Qe, ot, n, i),\n    x0: ge,\n    dx: pe,\n    y: x,\n    yRanges: XS(I, Me && qe, ht, vt, a, o),\n    y0: Re,\n    dy: Oe,\n    z: T,\n    pts: z\n  };\n};\nfunction ZS(e, t, r, n) {\n  var a = new Array(e), i;\n  if (n)\n    for (i = 0; i < e; i++) a[i] = 1 / (t[i + 1] - t[i]);\n  else {\n    var o = 1 / r;\n    for (i = 0; i < e; i++) a[i] = o;\n  }\n  return a;\n}\nfunction YS(e, t) {\n  return {\n    start: e(t.start),\n    end: e(t.end),\n    size: t.size\n  };\n}\nfunction XS(e, t, r, n, a, i) {\n  var o, l = e.length - 1, s = new Array(l), u = lue(r, n, e, a, i);\n  for (o = 0; o < l; o++) {\n    var f = (t || [])[o];\n    s[o] = f === void 0 ? [u(e[o]), u(e[o + 1], !0)] : [f, f];\n  }\n  return s;\n}\nvar Ei = Ue, KS = Qr.BADNUM, JS = Wp, uue = function(t, r, n, a, i, o) {\n  var l = t._length, s = r.makeCalcdata(t, a), u = n.makeCalcdata(t, i);\n  s = JS(t, r, a, s).vals, u = JS(t, n, i, u).vals;\n  var f = t.text, d = f !== void 0 && Ei.isArray1D(f), h = t.hovertext, p = h !== void 0 && Ei.isArray1D(h), v, m, g = Ei.distinctVals(s), y = g.vals, w = Ei.distinctVals(u), k = w.vals, x = [], _, T, S = k.length, M = y.length;\n  for (v = 0; v < o.length; v++)\n    x[v] = Ei.init2dArray(S, M);\n  d && (_ = Ei.init2dArray(S, M)), p && (T = Ei.init2dArray(S, M));\n  var L = Ei.init2dArray(S, M);\n  for (v = 0; v < l; v++)\n    if (s[v] !== KS && u[v] !== KS) {\n      var F = Ei.findBin(s[v] + g.minDiff / 2, y), $ = Ei.findBin(u[v] + w.minDiff / 2, k);\n      for (m = 0; m < o.length; m++) {\n        var I = o[m], O = t[I], G = x[m];\n        G[$][F] = O[v], L[$][F] = v;\n      }\n      d && (_[$][F] = f[v]), p && (T[$][F] = h[v]);\n    }\n  for (t[\"_\" + a] = y, t[\"_\" + i] = k, m = 0; m < o.length; m++)\n    t[\"_\" + o[m]] = x[m];\n  d && (t._text = _), p && (t._hovertext = T), r && r.type === \"category\" && (t[\"_\" + a + \"CategoryMap\"] = y.map(function(K) {\n    return r._categories[K];\n  })), n && n.type === \"category\" && (t[\"_\" + i + \"CategoryMap\"] = k.map(function(K) {\n    return n._categories[K];\n  })), t._after2before = L;\n}, fue = sr, cue = Ue, Mh = Qr.BADNUM, due = function(t, r, n, a) {\n  var i, o, l, s, u, f;\n  function d(y) {\n    if (fue(y))\n      return +y;\n  }\n  if (r && r.transpose) {\n    for (i = 0, u = 0; u < t.length; u++) i = Math.max(i, t[u].length);\n    if (i === 0) return !1;\n    l = function(y) {\n      return y.length;\n    }, s = function(y, w, k) {\n      return (y[k] || [])[w];\n    };\n  } else\n    i = t.length, l = function(y, w) {\n      return y[w].length;\n    }, s = function(y, w, k) {\n      return (y[w] || [])[k];\n    };\n  var h = function(y, w, k) {\n    return w === Mh || k === Mh ? Mh : s(y, w, k);\n  };\n  function p(y) {\n    if (r && r.type !== \"carpet\" && r.type !== \"contourcarpet\" && y && y.type === \"category\" && r[\"_\" + y._id.charAt(0)].length) {\n      var w = y._id.charAt(0), k = {}, x = r[\"_\" + w + \"CategoryMap\"] || r[w];\n      for (u = 0; u < x.length; u++)\n        k[x[u]] = u;\n      return function(_) {\n        var T = k[y._categories[_]];\n        return T + 1 ? T : Mh;\n      };\n    } else\n      return cue.identity;\n  }\n  var v = p(n), m = p(a);\n  a && a.type === \"category\" && (i = a._categories.length);\n  var g = new Array(i);\n  for (u = 0; u < i; u++)\n    for (n && n.type === \"category\" ? o = n._categories.length : o = l(t, u), g[u] = new Array(o), f = 0; f < o; f++) g[u][f] = d(h(t, m(u), v(f)));\n  return g;\n}, hue = Ue, QS = 0.01, vue = [[-1, 0], [1, 0], [0, -1], [0, 1]];\nfunction pue(e) {\n  return 0.5 - 0.25 * Math.min(1, e * 0.5);\n}\nvar mue = function(t, r) {\n  var n = 1, a;\n  for (e3(t, r), a = 0; a < r.length && !(r[a][2] < 4); a++)\n    ;\n  for (r = r.slice(a), a = 0; a < 100 && n > QS; a++)\n    n = e3(\n      t,\n      r,\n      pue(n)\n    );\n  return n > QS && hue.log(\"interp2d didn't converge quickly\", n), t;\n};\nfunction e3(e, t, r) {\n  var n = 0, a, i, o, l, s, u, f, d, h, p, v, m, g;\n  for (l = 0; l < t.length; l++) {\n    for (a = t[l], i = a[0], o = a[1], v = e[i][o], p = 0, h = 0, s = 0; s < 4; s++)\n      u = vue[s], f = e[i + u[0]], f && (d = f[o + u[1]], d !== void 0 && (p === 0 ? m = g = d : (m = Math.min(m, d), g = Math.max(g, d)), h++, p += d));\n    if (h === 0)\n      throw \"iterateInterp2d order is wrong: no defined neighbors\";\n    e[i][o] = p / h, v === void 0 ? h < 4 && (n = 1) : (e[i][o] = (1 + r) * e[i][o] - r * v, g > m && (n = Math.max(\n      n,\n      Math.abs(e[i][o] - v) / (g - m)\n    )));\n  }\n  return n;\n}\nvar gue = Ue.maxRowLength, yue = function(t) {\n  var r = [], n = {}, a = [], i = t[0], o = [], l = [0, 0, 0], s = gue(t), u, f, d, h, p, v, m, g;\n  for (f = 0; f < t.length; f++)\n    for (u = o, o = i, i = t[f + 1] || [], d = 0; d < s; d++)\n      o[d] === void 0 && (v = (o[d - 1] !== void 0 ? 1 : 0) + (o[d + 1] !== void 0 ? 1 : 0) + (u[d] !== void 0 ? 1 : 0) + (i[d] !== void 0 ? 1 : 0), v ? (f === 0 && v++, d === 0 && v++, f === t.length - 1 && v++, d === o.length - 1 && v++, v < 4 && (n[[f, d]] = [f, d, v]), r.push([f, d, v])) : a.push([f, d]));\n  for (; a.length; ) {\n    for (m = {}, g = !1, p = a.length - 1; p >= 0; p--)\n      h = a[p], f = h[0], d = h[1], v = ((n[[f - 1, d]] || l)[2] + (n[[f + 1, d]] || l)[2] + (n[[f, d - 1]] || l)[2] + (n[[f, d + 1]] || l)[2]) / 20, v && (m[h] = [f, d, v], a.splice(p, 1), g = !0);\n    if (!g)\n      throw \"findEmpties iterated with no new neighbors\";\n    for (h in m)\n      n[h] = m[h], r.push(m[h]);\n  }\n  return r.sort(function(y, w) {\n    return w[2] - y[2];\n  });\n}, R0 = Nt, t3 = Ue.isArrayOrTypedArray, bue = function(t, r, n, a, i, o) {\n  var l = [], s = R0.traceIs(t, \"contour\"), u = R0.traceIs(t, \"histogram\"), f = R0.traceIs(t, \"gl2d\"), d, h, p, v = t3(r) && r.length > 1;\n  if (v && !u && o.type !== \"category\") {\n    var m = r.length;\n    if (m <= i) {\n      if (s || f) l = Array.from(r).slice(0, i);\n      else if (i === 1)\n        l = [r[0] - 0.5, r[0] + 0.5];\n      else {\n        for (l = [1.5 * r[0] - 0.5 * r[1]], p = 1; p < m; p++)\n          l.push((r[p - 1] + r[p]) * 0.5);\n        l.push(1.5 * r[m - 1] - 0.5 * r[m - 2]);\n      }\n      if (m < i) {\n        var g = l[l.length - 1], y = g - l[l.length - 2];\n        for (p = m; p < i; p++)\n          g += y, l.push(g);\n      }\n    } else\n      return s ? r.slice(0, i) : (\n        // we must be strict for contours\n        r.slice(0, i + 1)\n      );\n  } else {\n    var w = t[o._id.charAt(0) + \"calendar\"];\n    if (u)\n      d = o.r2c(n, 0, w);\n    else if (t3(r) && r.length === 1)\n      d = r[0];\n    else if (n === void 0)\n      d = 0;\n    else {\n      var k = o.type === \"log\" ? o.d2c : o.r2c;\n      d = k(n, 0, w);\n    }\n    for (h = a || 1, p = s || f ? 0 : -0.5; p < i; p++)\n      l.push(d + h * p);\n  }\n  return l;\n}, P0 = Nt, $0 = Ue, Sh = Cr, r3 = Wp, _ue = sue, xue = Mp, wue = uue, Tue = due, kue = mue, Aue = yue, Ch = bue, i1 = Qr.BADNUM, Mue = function(t, r) {\n  var n = Sh.getFromId(t, r.xaxis || \"x\"), a = Sh.getFromId(t, r.yaxis || \"y\"), i = P0.traceIs(r, \"contour\"), o = P0.traceIs(r, \"histogram\"), l = P0.traceIs(r, \"gl2d\"), s = i ? \"best\" : r.zsmooth, u, f, d, h, p, v, m, g, y, w, k;\n  if (n._minDtick = 0, a._minDtick = 0, o)\n    k = _ue(t, r), h = k.orig_x, u = k.x, f = k.x0, d = k.dx, g = k.orig_y, p = k.y, v = k.y0, m = k.dy, y = k.z;\n  else {\n    var x = r.z;\n    $0.isArray1D(x) ? (wue(r, n, a, \"x\", \"y\", [\"z\"]), u = r._x, p = r._y, x = r._z) : (h = r.x ? n.makeCalcdata(r, \"x\") : [], g = r.y ? a.makeCalcdata(r, \"y\") : [], u = r3(r, n, \"x\", h).vals, p = r3(r, a, \"y\", g).vals, r._x = u, r._y = p), f = r.x0, d = r.dx, v = r.y0, m = r.dy, y = Tue(x, r, n, a);\n  }\n  (n.rangebreaks || a.rangebreaks) && (y = Sue(u, p, y), o || (u = n3(u), p = n3(p), r._x = u, r._y = p)), !o && (i || r.connectgaps) && (r._emptypoints = Aue(y), kue(y, r._emptypoints));\n  function _(G) {\n    s = r._input.zsmooth = r.zsmooth = !1, $0.warn('cannot use zsmooth: \"fast\": ' + G);\n  }\n  function T(G) {\n    if (G.length > 1) {\n      var K = (G[G.length - 1] - G[0]) / (G.length - 1), V = Math.abs(K / 100);\n      for (w = 0; w < G.length - 1; w++)\n        if (Math.abs(G[w + 1] - G[w] - K) > V)\n          return !1;\n    }\n    return !0;\n  }\n  r._islinear = !1, n.type === \"log\" || a.type === \"log\" ? s === \"fast\" && _(\"log axis found\") : T(u) ? T(p) ? r._islinear = !0 : s === \"fast\" && _(\"y scale is not linear\") : s === \"fast\" && _(\"x scale is not linear\");\n  var S = $0.maxRowLength(y), M = r.xtype === \"scaled\" ? \"\" : u, L = Ch(r, M, f, d, S, n), F = r.ytype === \"scaled\" ? \"\" : p, $ = Ch(r, F, v, m, y.length, a);\n  l || (r._extremes[n._id] = Sh.findExtremes(n, L), r._extremes[a._id] = Sh.findExtremes(a, $));\n  var I = {\n    x: L,\n    y: $,\n    z: y,\n    text: r._text || r.text,\n    hovertext: r._hovertext || r.hovertext\n  };\n  if (r.xperiodalignment && h && (I.orig_x = h), r.yperiodalignment && g && (I.orig_y = g), M && M.length === L.length - 1 && (I.xCenter = M), F && F.length === $.length - 1 && (I.yCenter = F), o && (I.xRanges = k.xRanges, I.yRanges = k.yRanges, I.pts = k.pts), i || xue(t, r, { vals: y, cLetter: \"z\" }), i && r.contours && r.contours.coloring === \"heatmap\") {\n    var O = {\n      type: r.type === \"contour\" ? \"heatmap\" : \"histogram2d\",\n      xcalendar: r.xcalendar,\n      ycalendar: r.ycalendar\n    };\n    I.xfill = Ch(O, M, f, d, S, n), I.yfill = Ch(O, F, v, m, y.length, a);\n  }\n  return [I];\n};\nfunction n3(e) {\n  for (var t = [], r = e.length, n = 0; n < r; n++) {\n    var a = e[n];\n    a !== i1 && t.push(a);\n  }\n  return t;\n}\nfunction Sue(e, t, r) {\n  for (var n = [], a = -1, i = 0; i < r.length; i++)\n    if (t[i] !== i1) {\n      a++, n[a] = [];\n      for (var o = 0; o < r[i].length; o++)\n        e[o] !== i1 && n[a].push(r[i][o]);\n    }\n  return n;\n}\nvar M_ = {};\n(function(e) {\n  e.CSS_DECLARATIONS = [\n    [\"image-rendering\", \"optimizeSpeed\"],\n    [\"image-rendering\", \"-moz-crisp-edges\"],\n    [\"image-rendering\", \"-o-crisp-edges\"],\n    [\"image-rendering\", \"-webkit-optimize-contrast\"],\n    [\"image-rendering\", \"optimize-contrast\"],\n    [\"image-rendering\", \"crisp-edges\"],\n    [\"image-rendering\", \"pixelated\"]\n  ], e.STYLE = e.CSS_DECLARATIONS.map(function(t) {\n    return t.join(\": \") + \"; \";\n  }).join(\"\");\n})(M_);\nvar a3 = M_, Cue = Sr, z0 = Ue, Qs = null;\nfunction Lue() {\n  if (Qs !== null)\n    return Qs;\n  Qs = !1;\n  var e = z0.isIE() || z0.isSafari() || z0.isIOS();\n  if (window.navigator.userAgent && !e) {\n    var t = Array.from(a3.CSS_DECLARATIONS).reverse(), r = window.CSS && window.CSS.supports || window.supportsCSS;\n    if (typeof r == \"function\")\n      Qs = t.some(function(o) {\n        return r.apply(null, o);\n      });\n    else {\n      var n = Cue.tester.append(\"image\").attr(\"style\", a3.STYLE), a = window.getComputedStyle(n.node()), i = a.imageRendering;\n      Qs = t.some(function(o) {\n        var l = o[1];\n        return i === l || i === l.toLowerCase();\n      }), n.remove();\n    }\n  }\n  return Qs;\n}\nvar Due = Lue, i3 = lr, Eue = bi, Fue = Nt, Rue = Sr, Pue = Cr, Ia = Ue, o3 = Rn, $ue = r6, zue = nr, Iue = Qc.extractOpts, Nue = Qc.makeColorScaleFuncFromTrace, Oue = yl, Hue = On, I0 = Hue.LINE_SPACING, Bue = Due, jue = M_.STYLE, C8 = \"heatmap-label\";\nfunction L8(e) {\n  return e.selectAll(\"g.\" + C8);\n}\nfunction l3(e) {\n  L8(e).remove();\n}\nvar Uue = function(e, t, r, n) {\n  var a = t.xaxis, i = t.yaxis;\n  Ia.makeTraceGroups(n, r, \"hm\").each(function(o) {\n    var l = i3.select(this), s = o[0], u = s.trace, f = u.xgap || 0, d = u.ygap || 0, h = s.z, p = s.x, v = s.y, m = s.xCenter, g = s.yCenter, y = Fue.traceIs(u, \"contour\"), w = y ? \"best\" : u.zsmooth, k = h.length, x = Ia.maxRowLength(h), _ = !1, T = !1, S, M, L, F, $, I, O, G;\n    for (I = 0; S === void 0 && I < p.length - 1; )\n      S = a.c2p(p[I]), I++;\n    for (I = p.length - 1; M === void 0 && I > 0; )\n      M = a.c2p(p[I]), I--;\n    for (M < S && (L = M, M = S, S = L, _ = !0), I = 0; F === void 0 && I < v.length - 1; )\n      F = i.c2p(v[I]), I++;\n    for (I = v.length - 1; $ === void 0 && I > 0; )\n      $ = i.c2p(v[I]), I--;\n    $ < F && (L = F, F = $, $ = L, T = !0), y && (m = p, g = v, p = s.xfill, v = s.yfill);\n    var K = \"default\";\n    if (w ? K = w === \"best\" ? \"smooth\" : \"fast\" : u._islinear && f === 0 && d === 0 && Bue() && (K = \"fast\"), K !== \"fast\") {\n      var V = w === \"best\" ? 0 : 0.5;\n      S = Math.max(-V * a._length, S), M = Math.min((1 + V) * a._length, M), F = Math.max(-V * i._length, F), $ = Math.min((1 + V) * i._length, $);\n    }\n    var z = Math.round(M - S), P = Math.round($ - F), R = S >= a._length || M <= 0 || F >= i._length || $ <= 0;\n    if (R) {\n      var H = l.selectAll(\"image\").data([]);\n      H.exit().remove(), l3(l);\n      return;\n    }\n    var B, W;\n    K === \"fast\" ? (B = x, W = k) : (B = z, W = P);\n    var ee = document.createElement(\"canvas\");\n    ee.width = B, ee.height = W;\n    var re = ee.getContext(\"2d\", { willReadFrequently: !0 }), ae = Nue(u, { noNumericCheck: !0, returnArray: !0 }), Q, ue;\n    K === \"fast\" ? (Q = _ ? function(Ht) {\n      return x - 1 - Ht;\n    } : Ia.identity, ue = T ? function(Ht) {\n      return k - 1 - Ht;\n    } : Ia.identity) : (Q = function(Ht) {\n      return Ia.constrain(\n        Math.round(a.c2p(p[Ht]) - S),\n        0,\n        z\n      );\n    }, ue = function(Ht) {\n      return Ia.constrain(\n        Math.round(i.c2p(v[Ht]) - F),\n        0,\n        P\n      );\n    });\n    var j = ue(0), U = [j, j], Z = _ ? 0 : 1, le = T ? 0 : 1, J = 0, pe = 0, ge = 0, ve = 0, me, Le, ze, Fe, Oe;\n    function Re(Ht, $r) {\n      if (Ht !== void 0) {\n        var ar = ae(Ht);\n        return ar[0] = Math.round(ar[0]), ar[1] = Math.round(ar[1]), ar[2] = Math.round(ar[2]), J += $r, pe += ar[0] * $r, ge += ar[1] * $r, ve += ar[2] * $r, ar;\n      }\n      return [0, 0, 0, 0];\n    }\n    function We(Ht, $r, ar, Pr) {\n      var Ur = Ht[ar.bin0];\n      if (Ur === void 0) return Re(void 0, 1);\n      var Pn = Ht[ar.bin1], hn = $r[ar.bin0], vn = $r[ar.bin1], Ka = Pn - Ur || 0, to = hn - Ur || 0, ln;\n      return Pn === void 0 ? vn === void 0 ? ln = 0 : hn === void 0 ? ln = 2 * (vn - Ur) : ln = (2 * vn - hn - Ur) * 2 / 3 : vn === void 0 ? hn === void 0 ? ln = 0 : ln = (2 * Ur - Pn - hn) * 2 / 3 : hn === void 0 ? ln = (2 * vn - Pn - Ur) * 2 / 3 : ln = vn + Ur - Pn - hn, Re(Ur + ar.frac * Ka + Pr.frac * (to + ar.frac * ln));\n    }\n    if (K !== \"default\") {\n      var Me = 0, Ve;\n      try {\n        Ve = new Uint8Array(B * W * 4);\n      } catch {\n        Ve = new Array(B * W * 4);\n      }\n      if (K === \"smooth\") {\n        var qe = m || p, Qe = g || v, ot = new Array(qe.length), ht = new Array(Qe.length), vt = new Array(z), nt = m ? u3 : s3, ft = g ? u3 : s3, Pe, Ie, Ne;\n        for (I = 0; I < qe.length; I++) ot[I] = Math.round(a.c2p(qe[I]) - S);\n        for (I = 0; I < Qe.length; I++) ht[I] = Math.round(i.c2p(Qe[I]) - F);\n        for (I = 0; I < z; I++) vt[I] = nt(I, ot);\n        for (O = 0; O < P; O++)\n          for (Pe = ft(O, ht), Ie = h[Pe.bin0], Ne = h[Pe.bin1], I = 0; I < z; I++, Me += 4)\n            Oe = We(Ie, Ne, vt[I], Pe), f3(Ve, Me, Oe);\n      } else\n        for (O = 0; O < k; O++)\n          for (Fe = h[O], U = ue(O), I = 0; I < x; I++)\n            Oe = Re(Fe[I], 1), Me = (U * x + Q(I)) * 4, f3(Ve, Me, Oe);\n      var tt = re.createImageData(B, W);\n      try {\n        tt.data.set(Ve);\n      } catch {\n        var Je = tt.data, it = Je.length;\n        for (O = 0; O < it; O++)\n          Je[O] = Ve[O];\n      }\n      re.putImageData(tt, 0, 0);\n    } else {\n      var at = Math.floor(f / 2), Tt = Math.floor(d / 2);\n      for (O = 0; O < k; O++)\n        if (Fe = h[O], U.reverse(), U[le] = ue(O + 1), !(U[0] === U[1] || U[0] === void 0 || U[1] === void 0))\n          for (Le = Q(0), me = [Le, Le], I = 0; I < x; I++)\n            me.reverse(), me[Z] = Q(I + 1), !(me[0] === me[1] || me[0] === void 0 || me[1] === void 0) && (ze = Fe[I], Oe = Re(ze, (me[1] - me[0]) * (U[1] - U[0])), re.fillStyle = \"rgba(\" + Oe.join(\",\") + \")\", re.fillRect(\n              me[0] + at,\n              U[0] + Tt,\n              me[1] - me[0] - f,\n              U[1] - U[0] - d\n            ));\n    }\n    pe = Math.round(pe / J), ge = Math.round(ge / J), ve = Math.round(ve / J);\n    var gt = Eue(\"rgb(\" + pe + \",\" + ge + \",\" + ve + \")\");\n    e._hmpixcount = (e._hmpixcount || 0) + J, e._hmlumcount = (e._hmlumcount || 0) + J * gt.getLuminance();\n    var He = l.selectAll(\"image\").data(o);\n    He.enter().append(\"svg:image\").attr({\n      xmlns: Oue.svg,\n      preserveAspectRatio: \"none\"\n    }), He.attr({\n      height: P,\n      width: z,\n      x: S,\n      y: F,\n      \"xlink:href\": ee.toDataURL(\"image/png\")\n    }), K === \"fast\" && !w && He.attr(\"style\", jue), l3(l);\n    var pt = u.texttemplate;\n    if (pt) {\n      var bt = Iue(u), Ke = {\n        type: \"linear\",\n        range: [bt.min, bt.max],\n        _separators: a._separators,\n        _numFormat: a._numFormat\n      }, st = u.type === \"histogram2dcontour\", rt = u.type === \"contour\", ct = rt ? 1 : 0, X = rt ? k - 1 : k, se = rt ? 1 : 0, ie = rt ? x - 1 : x, fe = [];\n      for (I = ct; I < X; I++) {\n        var ke;\n        if (rt)\n          ke = s.y[I];\n        else if (st) {\n          if (I === 0 || I === k - 1) continue;\n          ke = s.y[I];\n        } else if (s.yCenter)\n          ke = s.yCenter[I];\n        else {\n          if (I + 1 === k && s.y[I + 1] === void 0) continue;\n          ke = (s.y[I] + s.y[I + 1]) / 2;\n        }\n        var _e = Math.round(i.c2p(ke));\n        if (!(0 > _e || _e > i._length))\n          for (O = se; O < ie; O++) {\n            var Ge;\n            if (rt)\n              Ge = s.x[O];\n            else if (st) {\n              if (O === 0 || O === x - 1) continue;\n              Ge = s.x[O];\n            } else if (s.xCenter)\n              Ge = s.xCenter[O];\n            else {\n              if (O + 1 === x && s.x[O + 1] === void 0) continue;\n              Ge = (s.x[O] + s.x[O + 1]) / 2;\n            }\n            var je = Math.round(a.c2p(Ge));\n            if (!(0 > je || je > a._length)) {\n              var Ee = $ue({\n                x: Ge,\n                y: ke\n              }, u, e._fullLayout);\n              Ee.x = Ge, Ee.y = ke;\n              var oe = s.z[I][O];\n              oe === void 0 ? (Ee.z = \"\", Ee.zLabel = \"\") : (Ee.z = oe, Ee.zLabel = Pue.tickText(Ke, oe, \"hover\").text);\n              var Ce = s.text && s.text[I] && s.text[I][O];\n              (Ce === void 0 || Ce === !1) && (Ce = \"\"), Ee.text = Ce;\n              var Be = Ia.texttemplateString(pt, Ee, e._fullLayout._d3locale, Ee, u._meta || {});\n              if (Be) {\n                var Xe = Be.split(\"<br>\"), Et = Xe.length, Pt = 0;\n                for (G = 0; G < Et; G++)\n                  Pt = Math.max(Pt, Xe[G].length);\n                fe.push({\n                  l: Et,\n                  // number of lines\n                  c: Pt,\n                  // maximum number of chars in a line\n                  t: Be,\n                  // text\n                  x: je,\n                  y: _e,\n                  z: oe\n                });\n              }\n            }\n          }\n      }\n      var It = u.textfont, kt = It.family, qt = It.size, Ot = e._fullLayout.font.size;\n      if (!qt || qt === \"auto\") {\n        var wt = 1 / 0, Yt = 1 / 0, Kt = 0, $t = 0;\n        for (G = 0; G < fe.length; G++) {\n          var zt = fe[G];\n          if (Kt = Math.max(Kt, zt.l), $t = Math.max($t, zt.c), G < fe.length - 1) {\n            var Mt = fe[G + 1], St = Math.abs(Mt.x - zt.x), Ut = Math.abs(Mt.y - zt.y);\n            St && (wt = Math.min(wt, St)), Ut && (Yt = Math.min(Yt, Ut));\n          }\n        }\n        !isFinite(wt) || !isFinite(Yt) ? qt = Ot : (wt -= f, Yt -= d, wt /= $t, Yt /= Kt, wt /= I0 / 2, Yt /= I0, qt = Math.min(\n          Math.floor(wt),\n          Math.floor(Yt),\n          Ot\n        ));\n      }\n      if (qt <= 0 || !isFinite(qt)) return;\n      var fr = function(Ht) {\n        return Ht.x;\n      }, Ct = function(Ht) {\n        return Ht.y - qt * (Ht.l * I0 / 2 - 1);\n      }, tr = L8(l).data(fe);\n      tr.enter().append(\"g\").classed(C8, 1).append(\"text\").attr(\"text-anchor\", \"middle\").each(function(Ht) {\n        var $r = i3.select(this), ar = It.color;\n        (!ar || ar === \"auto\") && (ar = zue.contrast(\n          \"rgba(\" + ae(Ht.z).join() + \")\"\n        )), $r.attr(\"data-notex\", 1).call(o3.positionText, fr(Ht), Ct(Ht)).call(Rue.font, kt, qt, ar).text(Ht.t).call(o3.convertToTspans, e);\n      });\n    }\n  });\n};\nfunction s3(e, t) {\n  var r = t.length - 2, n = Ia.constrain(Ia.findBin(e, t), 0, r), a = t[n], i = t[n + 1], o = Ia.constrain(n + (e - a) / (i - a) - 0.5, 0, r), l = Math.round(o), s = Math.abs(o - l);\n  return !o || o === r || !s ? {\n    bin0: l,\n    bin1: l,\n    frac: 0\n  } : {\n    bin0: l,\n    frac: s,\n    bin1: Math.round(l + s / (o - l))\n  };\n}\nfunction u3(e, t) {\n  var r = t.length - 1, n = Ia.constrain(Ia.findBin(e, t), 0, r), a = t[n], i = t[n + 1], o = (e - a) / (i - a) || 0;\n  return o <= 0 ? {\n    bin0: n,\n    bin1: n,\n    frac: 0\n  } : o < 0.5 ? {\n    bin0: n,\n    bin1: n + 1,\n    frac: o\n  } : {\n    bin0: n + 1,\n    bin1: n,\n    frac: 1 - o\n  };\n}\nfunction f3(e, t, r) {\n  e[t] = r[0], e[t + 1] = r[1], e[t + 2] = r[2], e[t + 3] = Math.round(r[3] * 255);\n}\nvar Gue = {\n  min: \"zmin\",\n  max: \"zmax\"\n}, Vue = lr, que = function(t) {\n  Vue.select(t).selectAll(\".hm image\").style(\"opacity\", function(r) {\n    return r.trace.opacity;\n  });\n}, c3 = Ao, Kf = Ue, Lh = Kf.isArrayOrTypedArray, Wue = Cr, Zue = Qc.extractOpts, Yue = function(t, r, n, a, i) {\n  i || (i = {});\n  var o = i.isContour, l = t.cd[0], s = l.trace, u = t.xa, f = t.ya, d = l.x, h = l.y, p = l.z, v = l.xCenter, m = l.yCenter, g = l.zmask, y = s.zhoverformat, w = d, k = h, x, _, T, S;\n  if (t.index !== !1) {\n    try {\n      T = Math.round(t.index[1]), S = Math.round(t.index[0]);\n    } catch {\n      Kf.error(\"Error hovering on heatmap, pointNumber must be [row,col], found:\", t.index);\n      return;\n    }\n    if (T < 0 || T >= p[0].length || S < 0 || S > p.length)\n      return;\n  } else {\n    if (c3.inbox(r - d[0], r - d[d.length - 1], 0) > 0 || c3.inbox(n - h[0], n - h[h.length - 1], 0) > 0)\n      return;\n    if (o) {\n      var M;\n      for (w = [2 * d[0] - d[1]], M = 1; M < d.length; M++)\n        w.push((d[M] + d[M - 1]) / 2);\n      for (w.push([2 * d[d.length - 1] - d[d.length - 2]]), k = [2 * h[0] - h[1]], M = 1; M < h.length; M++)\n        k.push((h[M] + h[M - 1]) / 2);\n      k.push([2 * h[h.length - 1] - h[h.length - 2]]);\n    }\n    T = Math.max(0, Math.min(w.length - 2, Kf.findBin(r, w))), S = Math.max(0, Math.min(k.length - 2, Kf.findBin(n, k)));\n  }\n  var L = u.c2p(d[T]), F = u.c2p(d[T + 1]), $ = f.c2p(h[S]), I = f.c2p(h[S + 1]), O, G;\n  o ? (O = l.orig_x || d, G = l.orig_y || h, F = L, x = O[T], I = $, _ = G[S]) : (O = l.orig_x || v || d, G = l.orig_y || m || h, x = v ? O[T] : (O[T] + O[T + 1]) / 2, _ = m ? G[S] : (G[S] + G[S + 1]) / 2, u && u.type === \"category\" && (x = d[T]), f && f.type === \"category\" && (_ = h[S]), s.zsmooth && (L = F = u.c2p(x), $ = I = f.c2p(_)));\n  var K = p[S][T];\n  if (g && !g[S][T] && (K = void 0), !(K === void 0 && !s.hoverongaps)) {\n    var V;\n    Lh(l.hovertext) && Lh(l.hovertext[S]) ? V = l.hovertext[S][T] : Lh(l.text) && Lh(l.text[S]) && (V = l.text[S][T]);\n    var z = Zue(s), P = {\n      type: \"linear\",\n      range: [z.min, z.max],\n      hoverformat: y,\n      _separators: u._separators,\n      _numFormat: u._numFormat\n    }, R = Wue.tickText(P, K, \"hover\").text;\n    return [Kf.extendFlat(t, {\n      index: s._after2before ? s._after2before[S][T] : [S, T],\n      // never let a 2D override 1D type as closest point\n      distance: t.maxHoverDistance,\n      spikeDistance: t.maxSpikeDistance,\n      x0: L,\n      x1: F,\n      y0: $,\n      y1: I,\n      xLabelVal: x,\n      yLabelVal: _,\n      zLabelVal: K,\n      zLabel: R,\n      text: V\n    })];\n  }\n}, Xue = {\n  attributes: T8,\n  supplyDefaults: Zse,\n  calc: Mue,\n  plot: Uue,\n  colorbar: Gue,\n  style: que,\n  hoverPoints: Yue,\n  moduleType: \"trace\",\n  name: \"heatmap\",\n  basePlotModule: yn,\n  categories: [\"cartesian\", \"svg\", \"2dMap\", \"showLegend\"],\n  meta: {\n    description: [\n      \"The data that describes the heatmap value-to-color mapping\",\n      \"is set in `z`.\",\n      \"Data in `z` can either be a {2D array} of values (ragged or not)\",\n      \"or a 1D array of values.\",\n      \"In the case where `z` is a {2D array},\",\n      \"say that `z` has N rows and M columns.\",\n      \"Then, by default, the resulting heatmap will have N partitions along\",\n      \"the y axis and M partitions along the x axis.\",\n      \"In other words, the i-th row/ j-th column cell in `z`\",\n      \"is mapped to the i-th partition of the y axis\",\n      \"(starting from the bottom of the plot) and the j-th partition\",\n      \"of the x-axis (starting from the left of the plot).\",\n      \"This behavior can be flipped by using `transpose`.\",\n      \"Moreover, `x` (`y`) can be provided with M or M+1 (N or N+1) elements.\",\n      \"If M (N), then the coordinates correspond to the center of the\",\n      \"heatmap cells and the cells have equal width.\",\n      \"If M+1 (N+1), then the coordinates correspond to the edges of the\",\n      \"heatmap cells.\",\n      \"In the case where `z` is a 1D {array}, the x and y coordinates must be\",\n      \"provided in `x` and `y` respectively to form data triplets.\"\n    ].join(\" \")\n  }\n}, Kue = Xue;\nconst Jue = /* @__PURE__ */ Vc(Kue);\nOc.register([fle, Dse, Jue]);\nvar D8 = { exports: {} };\n/* @license\nPapa Parse\nv5.4.1\nhttps://github.com/mholt/PapaParse\nLicense: MIT\n*/\n(function(e, t) {\n  (function(r, n) {\n    e.exports = n();\n  })(Wl, function r() {\n    var n = typeof self < \"u\" ? self : typeof window < \"u\" ? window : n !== void 0 ? n : {}, a = !n.document && !!n.postMessage, i = n.IS_PAPA_WORKER || !1, o = {}, l = 0, s = { parse: function(M, L) {\n      var F = (L = L || {}).dynamicTyping || !1;\n      if (S(F) && (L.dynamicTypingFunction = F, F = {}), L.dynamicTyping = F, L.transform = !!S(L.transform) && L.transform, L.worker && s.WORKERS_SUPPORTED) {\n        var $ = function() {\n          if (!s.WORKERS_SUPPORTED) return !1;\n          var O = (K = n.URL || n.webkitURL || null, V = r.toString(), s.BLOB_URL || (s.BLOB_URL = K.createObjectURL(new Blob([\"var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; \", \"(\", V, \")();\"], { type: \"text/javascript\" })))), G = new n.Worker(O), K, V;\n          return G.onmessage = w, G.id = l++, o[G.id] = G;\n        }();\n        return $.userStep = L.step, $.userChunk = L.chunk, $.userComplete = L.complete, $.userError = L.error, L.step = S(L.step), L.chunk = S(L.chunk), L.complete = S(L.complete), L.error = S(L.error), delete L.worker, void $.postMessage({ input: M, config: L, workerId: $.id });\n      }\n      var I = null;\n      return s.NODE_STREAM_INPUT, typeof M == \"string\" ? (M = function(O) {\n        return O.charCodeAt(0) === 65279 ? O.slice(1) : O;\n      }(M), I = L.download ? new d(L) : new p(L)) : M.readable === !0 && S(M.read) && S(M.on) ? I = new v(L) : (n.File && M instanceof File || M instanceof Object) && (I = new h(L)), I.stream(M);\n    }, unparse: function(M, L) {\n      var F = !1, $ = !0, I = \",\", O = `\\r\n`, G = '\"', K = G + G, V = !1, z = null, P = !1;\n      (function() {\n        if (typeof L == \"object\") {\n          if (typeof L.delimiter != \"string\" || s.BAD_DELIMITERS.filter(function(W) {\n            return L.delimiter.indexOf(W) !== -1;\n          }).length || (I = L.delimiter), (typeof L.quotes == \"boolean\" || typeof L.quotes == \"function\" || Array.isArray(L.quotes)) && (F = L.quotes), typeof L.skipEmptyLines != \"boolean\" && typeof L.skipEmptyLines != \"string\" || (V = L.skipEmptyLines), typeof L.newline == \"string\" && (O = L.newline), typeof L.quoteChar == \"string\" && (G = L.quoteChar), typeof L.header == \"boolean\" && ($ = L.header), Array.isArray(L.columns)) {\n            if (L.columns.length === 0) throw new Error(\"Option columns is empty\");\n            z = L.columns;\n          }\n          L.escapeChar !== void 0 && (K = L.escapeChar + G), (typeof L.escapeFormulae == \"boolean\" || L.escapeFormulae instanceof RegExp) && (P = L.escapeFormulae instanceof RegExp ? L.escapeFormulae : /^[=+\\-@\\t\\r].*$/);\n        }\n      })();\n      var R = new RegExp(g(G), \"g\");\n      if (typeof M == \"string\" && (M = JSON.parse(M)), Array.isArray(M)) {\n        if (!M.length || Array.isArray(M[0])) return H(null, M, V);\n        if (typeof M[0] == \"object\") return H(z || Object.keys(M[0]), M, V);\n      } else if (typeof M == \"object\") return typeof M.data == \"string\" && (M.data = JSON.parse(M.data)), Array.isArray(M.data) && (M.fields || (M.fields = M.meta && M.meta.fields || z), M.fields || (M.fields = Array.isArray(M.data[0]) ? M.fields : typeof M.data[0] == \"object\" ? Object.keys(M.data[0]) : []), Array.isArray(M.data[0]) || typeof M.data[0] == \"object\" || (M.data = [M.data])), H(M.fields || [], M.data || [], V);\n      throw new Error(\"Unable to serialize unrecognized input\");\n      function H(W, ee, re) {\n        var ae = \"\";\n        typeof W == \"string\" && (W = JSON.parse(W)), typeof ee == \"string\" && (ee = JSON.parse(ee));\n        var Q = Array.isArray(W) && 0 < W.length, ue = !Array.isArray(ee[0]);\n        if (Q && $) {\n          for (var j = 0; j < W.length; j++) 0 < j && (ae += I), ae += B(W[j], j);\n          0 < ee.length && (ae += O);\n        }\n        for (var U = 0; U < ee.length; U++) {\n          var Z = Q ? W.length : ee[U].length, le = !1, J = Q ? Object.keys(ee[U]).length === 0 : ee[U].length === 0;\n          if (re && !Q && (le = re === \"greedy\" ? ee[U].join(\"\").trim() === \"\" : ee[U].length === 1 && ee[U][0].length === 0), re === \"greedy\" && Q) {\n            for (var pe = [], ge = 0; ge < Z; ge++) {\n              var ve = ue ? W[ge] : ge;\n              pe.push(ee[U][ve]);\n            }\n            le = pe.join(\"\").trim() === \"\";\n          }\n          if (!le) {\n            for (var me = 0; me < Z; me++) {\n              0 < me && !J && (ae += I);\n              var Le = Q && ue ? W[me] : me;\n              ae += B(ee[U][Le], me);\n            }\n            U < ee.length - 1 && (!re || 0 < Z && !J) && (ae += O);\n          }\n        }\n        return ae;\n      }\n      function B(W, ee) {\n        if (W == null) return \"\";\n        if (W.constructor === Date) return JSON.stringify(W).slice(1, 25);\n        var re = !1;\n        P && typeof W == \"string\" && P.test(W) && (W = \"'\" + W, re = !0);\n        var ae = W.toString().replace(R, K);\n        return (re = re || F === !0 || typeof F == \"function\" && F(W, ee) || Array.isArray(F) && F[ee] || function(Q, ue) {\n          for (var j = 0; j < ue.length; j++) if (-1 < Q.indexOf(ue[j])) return !0;\n          return !1;\n        }(ae, s.BAD_DELIMITERS) || -1 < ae.indexOf(I) || ae.charAt(0) === \" \" || ae.charAt(ae.length - 1) === \" \") ? G + ae + G : ae;\n      }\n    } };\n    if (s.RECORD_SEP = \"\u001E\", s.UNIT_SEP = \"\u001F\", s.BYTE_ORDER_MARK = \"\\uFEFF\", s.BAD_DELIMITERS = [\"\\r\", `\n`, '\"', s.BYTE_ORDER_MARK], s.WORKERS_SUPPORTED = !a && !!n.Worker, s.NODE_STREAM_INPUT = 1, s.LocalChunkSize = 10485760, s.RemoteChunkSize = 5242880, s.DefaultDelimiter = \",\", s.Parser = y, s.ParserHandle = m, s.NetworkStreamer = d, s.FileStreamer = h, s.StringStreamer = p, s.ReadableStreamStreamer = v, n.jQuery) {\n      var u = n.jQuery;\n      u.fn.parse = function(M) {\n        var L = M.config || {}, F = [];\n        return this.each(function(O) {\n          if (!(u(this).prop(\"tagName\").toUpperCase() === \"INPUT\" && u(this).attr(\"type\").toLowerCase() === \"file\" && n.FileReader) || !this.files || this.files.length === 0) return !0;\n          for (var G = 0; G < this.files.length; G++) F.push({ file: this.files[G], inputElem: this, instanceConfig: u.extend({}, L) });\n        }), $(), this;\n        function $() {\n          if (F.length !== 0) {\n            var O, G, K, V, z = F[0];\n            if (S(M.before)) {\n              var P = M.before(z.file, z.inputElem);\n              if (typeof P == \"object\") {\n                if (P.action === \"abort\") return O = \"AbortError\", G = z.file, K = z.inputElem, V = P.reason, void (S(M.error) && M.error({ name: O }, G, K, V));\n                if (P.action === \"skip\") return void I();\n                typeof P.config == \"object\" && (z.instanceConfig = u.extend(z.instanceConfig, P.config));\n              } else if (P === \"skip\") return void I();\n            }\n            var R = z.instanceConfig.complete;\n            z.instanceConfig.complete = function(H) {\n              S(R) && R(H, z.file, z.inputElem), I();\n            }, s.parse(z.file, z.instanceConfig);\n          } else S(M.complete) && M.complete();\n        }\n        function I() {\n          F.splice(0, 1), $();\n        }\n      };\n    }\n    function f(M) {\n      this._handle = null, this._finished = !1, this._completed = !1, this._halted = !1, this._input = null, this._baseIndex = 0, this._partialLine = \"\", this._rowCount = 0, this._start = 0, this._nextChunk = null, this.isFirstChunk = !0, this._completeResults = { data: [], errors: [], meta: {} }, (function(L) {\n        var F = _(L);\n        F.chunkSize = parseInt(F.chunkSize), L.step || L.chunk || (F.chunkSize = null), this._handle = new m(F), (this._handle.streamer = this)._config = F;\n      }).call(this, M), this.parseChunk = function(L, F) {\n        if (this.isFirstChunk && S(this._config.beforeFirstChunk)) {\n          var $ = this._config.beforeFirstChunk(L);\n          $ !== void 0 && (L = $);\n        }\n        this.isFirstChunk = !1, this._halted = !1;\n        var I = this._partialLine + L;\n        this._partialLine = \"\";\n        var O = this._handle.parse(I, this._baseIndex, !this._finished);\n        if (!this._handle.paused() && !this._handle.aborted()) {\n          var G = O.meta.cursor;\n          this._finished || (this._partialLine = I.substring(G - this._baseIndex), this._baseIndex = G), O && O.data && (this._rowCount += O.data.length);\n          var K = this._finished || this._config.preview && this._rowCount >= this._config.preview;\n          if (i) n.postMessage({ results: O, workerId: s.WORKER_ID, finished: K });\n          else if (S(this._config.chunk) && !F) {\n            if (this._config.chunk(O, this._handle), this._handle.paused() || this._handle.aborted()) return void (this._halted = !0);\n            O = void 0, this._completeResults = void 0;\n          }\n          return this._config.step || this._config.chunk || (this._completeResults.data = this._completeResults.data.concat(O.data), this._completeResults.errors = this._completeResults.errors.concat(O.errors), this._completeResults.meta = O.meta), this._completed || !K || !S(this._config.complete) || O && O.meta.aborted || (this._config.complete(this._completeResults, this._input), this._completed = !0), K || O && O.meta.paused || this._nextChunk(), O;\n        }\n        this._halted = !0;\n      }, this._sendError = function(L) {\n        S(this._config.error) ? this._config.error(L) : i && this._config.error && n.postMessage({ workerId: s.WORKER_ID, error: L, finished: !1 });\n      };\n    }\n    function d(M) {\n      var L;\n      (M = M || {}).chunkSize || (M.chunkSize = s.RemoteChunkSize), f.call(this, M), this._nextChunk = a ? function() {\n        this._readChunk(), this._chunkLoaded();\n      } : function() {\n        this._readChunk();\n      }, this.stream = function(F) {\n        this._input = F, this._nextChunk();\n      }, this._readChunk = function() {\n        if (this._finished) this._chunkLoaded();\n        else {\n          if (L = new XMLHttpRequest(), this._config.withCredentials && (L.withCredentials = this._config.withCredentials), a || (L.onload = T(this._chunkLoaded, this), L.onerror = T(this._chunkError, this)), L.open(this._config.downloadRequestBody ? \"POST\" : \"GET\", this._input, !a), this._config.downloadRequestHeaders) {\n            var F = this._config.downloadRequestHeaders;\n            for (var $ in F) L.setRequestHeader($, F[$]);\n          }\n          if (this._config.chunkSize) {\n            var I = this._start + this._config.chunkSize - 1;\n            L.setRequestHeader(\"Range\", \"bytes=\" + this._start + \"-\" + I);\n          }\n          try {\n            L.send(this._config.downloadRequestBody);\n          } catch (O) {\n            this._chunkError(O.message);\n          }\n          a && L.status === 0 && this._chunkError();\n        }\n      }, this._chunkLoaded = function() {\n        L.readyState === 4 && (L.status < 200 || 400 <= L.status ? this._chunkError() : (this._start += this._config.chunkSize ? this._config.chunkSize : L.responseText.length, this._finished = !this._config.chunkSize || this._start >= function(F) {\n          var $ = F.getResponseHeader(\"Content-Range\");\n          return $ === null ? -1 : parseInt($.substring($.lastIndexOf(\"/\") + 1));\n        }(L), this.parseChunk(L.responseText)));\n      }, this._chunkError = function(F) {\n        var $ = L.statusText || F;\n        this._sendError(new Error($));\n      };\n    }\n    function h(M) {\n      var L, F;\n      (M = M || {}).chunkSize || (M.chunkSize = s.LocalChunkSize), f.call(this, M);\n      var $ = typeof FileReader < \"u\";\n      this.stream = function(I) {\n        this._input = I, F = I.slice || I.webkitSlice || I.mozSlice, $ ? ((L = new FileReader()).onload = T(this._chunkLoaded, this), L.onerror = T(this._chunkError, this)) : L = new FileReaderSync(), this._nextChunk();\n      }, this._nextChunk = function() {\n        this._finished || this._config.preview && !(this._rowCount < this._config.preview) || this._readChunk();\n      }, this._readChunk = function() {\n        var I = this._input;\n        if (this._config.chunkSize) {\n          var O = Math.min(this._start + this._config.chunkSize, this._input.size);\n          I = F.call(I, this._start, O);\n        }\n        var G = L.readAsText(I, this._config.encoding);\n        $ || this._chunkLoaded({ target: { result: G } });\n      }, this._chunkLoaded = function(I) {\n        this._start += this._config.chunkSize, this._finished = !this._config.chunkSize || this._start >= this._input.size, this.parseChunk(I.target.result);\n      }, this._chunkError = function() {\n        this._sendError(L.error);\n      };\n    }\n    function p(M) {\n      var L;\n      f.call(this, M = M || {}), this.stream = function(F) {\n        return L = F, this._nextChunk();\n      }, this._nextChunk = function() {\n        if (!this._finished) {\n          var F, $ = this._config.chunkSize;\n          return $ ? (F = L.substring(0, $), L = L.substring($)) : (F = L, L = \"\"), this._finished = !L, this.parseChunk(F);\n        }\n      };\n    }\n    function v(M) {\n      f.call(this, M = M || {});\n      var L = [], F = !0, $ = !1;\n      this.pause = function() {\n        f.prototype.pause.apply(this, arguments), this._input.pause();\n      }, this.resume = function() {\n        f.prototype.resume.apply(this, arguments), this._input.resume();\n      }, this.stream = function(I) {\n        this._input = I, this._input.on(\"data\", this._streamData), this._input.on(\"end\", this._streamEnd), this._input.on(\"error\", this._streamError);\n      }, this._checkIsFinished = function() {\n        $ && L.length === 1 && (this._finished = !0);\n      }, this._nextChunk = function() {\n        this._checkIsFinished(), L.length ? this.parseChunk(L.shift()) : F = !0;\n      }, this._streamData = T(function(I) {\n        try {\n          L.push(typeof I == \"string\" ? I : I.toString(this._config.encoding)), F && (F = !1, this._checkIsFinished(), this.parseChunk(L.shift()));\n        } catch (O) {\n          this._streamError(O);\n        }\n      }, this), this._streamError = T(function(I) {\n        this._streamCleanUp(), this._sendError(I);\n      }, this), this._streamEnd = T(function() {\n        this._streamCleanUp(), $ = !0, this._streamData(\"\");\n      }, this), this._streamCleanUp = T(function() {\n        this._input.removeListener(\"data\", this._streamData), this._input.removeListener(\"end\", this._streamEnd), this._input.removeListener(\"error\", this._streamError);\n      }, this);\n    }\n    function m(M) {\n      var L, F, $, I = Math.pow(2, 53), O = -I, G = /^\\s*-?(\\d+\\.?|\\.\\d+|\\d+\\.\\d+)([eE][-+]?\\d+)?\\s*$/, K = /^((\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z)))$/, V = this, z = 0, P = 0, R = !1, H = !1, B = [], W = { data: [], errors: [], meta: {} };\n      if (S(M.step)) {\n        var ee = M.step;\n        M.step = function(U) {\n          if (W = U, Q()) ae();\n          else {\n            if (ae(), W.data.length === 0) return;\n            z += U.data.length, M.preview && z > M.preview ? F.abort() : (W.data = W.data[0], ee(W, V));\n          }\n        };\n      }\n      function re(U) {\n        return M.skipEmptyLines === \"greedy\" ? U.join(\"\").trim() === \"\" : U.length === 1 && U[0].length === 0;\n      }\n      function ae() {\n        return W && $ && (j(\"Delimiter\", \"UndetectableDelimiter\", \"Unable to auto-detect delimiting character; defaulted to '\" + s.DefaultDelimiter + \"'\"), $ = !1), M.skipEmptyLines && (W.data = W.data.filter(function(U) {\n          return !re(U);\n        })), Q() && function() {\n          if (!W) return;\n          function U(le, J) {\n            S(M.transformHeader) && (le = M.transformHeader(le, J)), B.push(le);\n          }\n          if (Array.isArray(W.data[0])) {\n            for (var Z = 0; Q() && Z < W.data.length; Z++) W.data[Z].forEach(U);\n            W.data.splice(0, 1);\n          } else W.data.forEach(U);\n        }(), function() {\n          if (!W || !M.header && !M.dynamicTyping && !M.transform) return W;\n          function U(le, J) {\n            var pe, ge = M.header ? {} : [];\n            for (pe = 0; pe < le.length; pe++) {\n              var ve = pe, me = le[pe];\n              M.header && (ve = pe >= B.length ? \"__parsed_extra\" : B[pe]), M.transform && (me = M.transform(me, ve)), me = ue(ve, me), ve === \"__parsed_extra\" ? (ge[ve] = ge[ve] || [], ge[ve].push(me)) : ge[ve] = me;\n            }\n            return M.header && (pe > B.length ? j(\"FieldMismatch\", \"TooManyFields\", \"Too many fields: expected \" + B.length + \" fields but parsed \" + pe, P + J) : pe < B.length && j(\"FieldMismatch\", \"TooFewFields\", \"Too few fields: expected \" + B.length + \" fields but parsed \" + pe, P + J)), ge;\n          }\n          var Z = 1;\n          return !W.data.length || Array.isArray(W.data[0]) ? (W.data = W.data.map(U), Z = W.data.length) : W.data = U(W.data, 0), M.header && W.meta && (W.meta.fields = B), P += Z, W;\n        }();\n      }\n      function Q() {\n        return M.header && B.length === 0;\n      }\n      function ue(U, Z) {\n        return le = U, M.dynamicTypingFunction && M.dynamicTyping[le] === void 0 && (M.dynamicTyping[le] = M.dynamicTypingFunction(le)), (M.dynamicTyping[le] || M.dynamicTyping) === !0 ? Z === \"true\" || Z === \"TRUE\" || Z !== \"false\" && Z !== \"FALSE\" && (function(J) {\n          if (G.test(J)) {\n            var pe = parseFloat(J);\n            if (O < pe && pe < I) return !0;\n          }\n          return !1;\n        }(Z) ? parseFloat(Z) : K.test(Z) ? new Date(Z) : Z === \"\" ? null : Z) : Z;\n        var le;\n      }\n      function j(U, Z, le, J) {\n        var pe = { type: U, code: Z, message: le };\n        J !== void 0 && (pe.row = J), W.errors.push(pe);\n      }\n      this.parse = function(U, Z, le) {\n        var J = M.quoteChar || '\"';\n        if (M.newline || (M.newline = function(ve, me) {\n          ve = ve.substring(0, 1048576);\n          var Le = new RegExp(g(me) + \"([^]*?)\" + g(me), \"gm\"), ze = (ve = ve.replace(Le, \"\")).split(\"\\r\"), Fe = ve.split(`\n`), Oe = 1 < Fe.length && Fe[0].length < ze[0].length;\n          if (ze.length === 1 || Oe) return `\n`;\n          for (var Re = 0, We = 0; We < ze.length; We++) ze[We][0] === `\n` && Re++;\n          return Re >= ze.length / 2 ? `\\r\n` : \"\\r\";\n        }(U, J)), $ = !1, M.delimiter) S(M.delimiter) && (M.delimiter = M.delimiter(U), W.meta.delimiter = M.delimiter);\n        else {\n          var pe = function(ve, me, Le, ze, Fe) {\n            var Oe, Re, We, Me;\n            Fe = Fe || [\",\", \"\t\", \"|\", \";\", s.RECORD_SEP, s.UNIT_SEP];\n            for (var Ve = 0; Ve < Fe.length; Ve++) {\n              var qe = Fe[Ve], Qe = 0, ot = 0, ht = 0;\n              We = void 0;\n              for (var vt = new y({ comments: ze, delimiter: qe, newline: me, preview: 10 }).parse(ve), nt = 0; nt < vt.data.length; nt++) if (Le && re(vt.data[nt])) ht++;\n              else {\n                var ft = vt.data[nt].length;\n                ot += ft, We !== void 0 ? 0 < ft && (Qe += Math.abs(ft - We), We = ft) : We = ft;\n              }\n              0 < vt.data.length && (ot /= vt.data.length - ht), (Re === void 0 || Qe <= Re) && (Me === void 0 || Me < ot) && 1.99 < ot && (Re = Qe, Oe = qe, Me = ot);\n            }\n            return { successful: !!(M.delimiter = Oe), bestDelimiter: Oe };\n          }(U, M.newline, M.skipEmptyLines, M.comments, M.delimitersToGuess);\n          pe.successful ? M.delimiter = pe.bestDelimiter : ($ = !0, M.delimiter = s.DefaultDelimiter), W.meta.delimiter = M.delimiter;\n        }\n        var ge = _(M);\n        return M.preview && M.header && ge.preview++, L = U, F = new y(ge), W = F.parse(L, Z, le), ae(), R ? { meta: { paused: !0 } } : W || { meta: { paused: !1 } };\n      }, this.paused = function() {\n        return R;\n      }, this.pause = function() {\n        R = !0, F.abort(), L = S(M.chunk) ? \"\" : L.substring(F.getCharIndex());\n      }, this.resume = function() {\n        V.streamer._halted ? (R = !1, V.streamer.parseChunk(L, !0)) : setTimeout(V.resume, 3);\n      }, this.aborted = function() {\n        return H;\n      }, this.abort = function() {\n        H = !0, F.abort(), W.meta.aborted = !0, S(M.complete) && M.complete(W), L = \"\";\n      };\n    }\n    function g(M) {\n      return M.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n    }\n    function y(M) {\n      var L, F = (M = M || {}).delimiter, $ = M.newline, I = M.comments, O = M.step, G = M.preview, K = M.fastMode, V = L = M.quoteChar === void 0 || M.quoteChar === null ? '\"' : M.quoteChar;\n      if (M.escapeChar !== void 0 && (V = M.escapeChar), (typeof F != \"string\" || -1 < s.BAD_DELIMITERS.indexOf(F)) && (F = \",\"), I === F) throw new Error(\"Comment character same as delimiter\");\n      I === !0 ? I = \"#\" : (typeof I != \"string\" || -1 < s.BAD_DELIMITERS.indexOf(I)) && (I = !1), $ !== `\n` && $ !== \"\\r\" && $ !== `\\r\n` && ($ = `\n`);\n      var z = 0, P = !1;\n      this.parse = function(R, H, B) {\n        if (typeof R != \"string\") throw new Error(\"Input must be a string\");\n        var W = R.length, ee = F.length, re = $.length, ae = I.length, Q = S(O), ue = [], j = [], U = [], Z = z = 0;\n        if (!R) return Pe();\n        if (M.header && !H) {\n          var le = R.split($)[0].split(F), J = [], pe = {}, ge = !1;\n          for (var ve in le) {\n            var me = le[ve];\n            S(M.transformHeader) && (me = M.transformHeader(me, ve));\n            var Le = me, ze = pe[me] || 0;\n            for (0 < ze && (ge = !0, Le = me + \"_\" + ze), pe[me] = ze + 1; J.includes(Le); ) Le = Le + \"_\" + ze;\n            J.push(Le);\n          }\n          if (ge) {\n            var Fe = R.split($);\n            Fe[0] = J.join(F), R = Fe.join($);\n          }\n        }\n        if (K || K !== !1 && R.indexOf(L) === -1) {\n          for (var Oe = R.split($), Re = 0; Re < Oe.length; Re++) {\n            if (U = Oe[Re], z += U.length, Re !== Oe.length - 1) z += $.length;\n            else if (B) return Pe();\n            if (!I || U.substring(0, ae) !== I) {\n              if (Q) {\n                if (ue = [], ht(U.split(F)), Ie(), P) return Pe();\n              } else ht(U.split(F));\n              if (G && G <= Re) return ue = ue.slice(0, G), Pe(!0);\n            }\n          }\n          return Pe();\n        }\n        for (var We = R.indexOf(F, z), Me = R.indexOf($, z), Ve = new RegExp(g(V) + g(L), \"g\"), qe = R.indexOf(L, z); ; ) if (R[z] !== L) if (I && U.length === 0 && R.substring(z, z + ae) === I) {\n          if (Me === -1) return Pe();\n          z = Me + re, Me = R.indexOf($, z), We = R.indexOf(F, z);\n        } else if (We !== -1 && (We < Me || Me === -1)) U.push(R.substring(z, We)), z = We + ee, We = R.indexOf(F, z);\n        else {\n          if (Me === -1) break;\n          if (U.push(R.substring(z, Me)), ft(Me + re), Q && (Ie(), P)) return Pe();\n          if (G && ue.length >= G) return Pe(!0);\n        }\n        else for (qe = z, z++; ; ) {\n          if ((qe = R.indexOf(L, qe + 1)) === -1) return B || j.push({ type: \"Quotes\", code: \"MissingQuotes\", message: \"Quoted field unterminated\", row: ue.length, index: z }), nt();\n          if (qe === W - 1) return nt(R.substring(z, qe).replace(Ve, L));\n          if (L !== V || R[qe + 1] !== V) {\n            if (L === V || qe === 0 || R[qe - 1] !== V) {\n              We !== -1 && We < qe + 1 && (We = R.indexOf(F, qe + 1)), Me !== -1 && Me < qe + 1 && (Me = R.indexOf($, qe + 1));\n              var Qe = vt(Me === -1 ? We : Math.min(We, Me));\n              if (R.substr(qe + 1 + Qe, ee) === F) {\n                U.push(R.substring(z, qe).replace(Ve, L)), R[z = qe + 1 + Qe + ee] !== L && (qe = R.indexOf(L, z)), We = R.indexOf(F, z), Me = R.indexOf($, z);\n                break;\n              }\n              var ot = vt(Me);\n              if (R.substring(qe + 1 + ot, qe + 1 + ot + re) === $) {\n                if (U.push(R.substring(z, qe).replace(Ve, L)), ft(qe + 1 + ot + re), We = R.indexOf(F, z), qe = R.indexOf(L, z), Q && (Ie(), P)) return Pe();\n                if (G && ue.length >= G) return Pe(!0);\n                break;\n              }\n              j.push({ type: \"Quotes\", code: \"InvalidQuotes\", message: \"Trailing quote on quoted field is malformed\", row: ue.length, index: z }), qe++;\n            }\n          } else qe++;\n        }\n        return nt();\n        function ht(Ne) {\n          ue.push(Ne), Z = z;\n        }\n        function vt(Ne) {\n          var tt = 0;\n          if (Ne !== -1) {\n            var Je = R.substring(qe + 1, Ne);\n            Je && Je.trim() === \"\" && (tt = Je.length);\n          }\n          return tt;\n        }\n        function nt(Ne) {\n          return B || (Ne === void 0 && (Ne = R.substring(z)), U.push(Ne), z = W, ht(U), Q && Ie()), Pe();\n        }\n        function ft(Ne) {\n          z = Ne, ht(U), U = [], Me = R.indexOf($, z);\n        }\n        function Pe(Ne) {\n          return { data: ue, errors: j, meta: { delimiter: F, linebreak: $, aborted: P, truncated: !!Ne, cursor: Z + (H || 0) } };\n        }\n        function Ie() {\n          O(Pe()), ue = [], j = [];\n        }\n      }, this.abort = function() {\n        P = !0;\n      }, this.getCharIndex = function() {\n        return z;\n      };\n    }\n    function w(M) {\n      var L = M.data, F = o[L.workerId], $ = !1;\n      if (L.error) F.userError(L.error, L.file);\n      else if (L.results && L.results.data) {\n        var I = { abort: function() {\n          $ = !0, k(L.workerId, { data: [], errors: [], meta: { aborted: !0 } });\n        }, pause: x, resume: x };\n        if (S(F.userStep)) {\n          for (var O = 0; O < L.results.data.length && (F.userStep({ data: L.results.data[O], errors: L.results.errors, meta: L.results.meta }, I), !$); O++) ;\n          delete L.results;\n        } else S(F.userChunk) && (F.userChunk(L.results, I, L.file), delete L.results);\n      }\n      L.finished && !$ && k(L.workerId, L.results);\n    }\n    function k(M, L) {\n      var F = o[M];\n      S(F.userComplete) && F.userComplete(L), F.terminate(), delete o[M];\n    }\n    function x() {\n      throw new Error(\"Not implemented.\");\n    }\n    function _(M) {\n      if (typeof M != \"object\" || M === null) return M;\n      var L = Array.isArray(M) ? [] : {};\n      for (var F in M) L[F] = _(M[F]);\n      return L;\n    }\n    function T(M, L) {\n      return function() {\n        M.apply(L, arguments);\n      };\n    }\n    function S(M) {\n      return typeof M == \"function\";\n    }\n    return i && (n.onmessage = function(M) {\n      var L = M.data;\n      if (s.WORKER_ID === void 0 && L && (s.WORKER_ID = L.workerId), typeof L.input == \"string\") n.postMessage({ workerId: s.WORKER_ID, results: s.parse(L.input, L.config), finished: !0 });\n      else if (n.File && L.input instanceof File || L.input instanceof Object) {\n        var F = s.parse(L.input, L.config);\n        F && n.postMessage({ workerId: s.WORKER_ID, results: F, finished: !0 });\n      }\n    }), (d.prototype = Object.create(f.prototype)).constructor = d, (h.prototype = Object.create(f.prototype)).constructor = h, (p.prototype = Object.create(p.prototype)).constructor = p, (v.prototype = Object.create(f.prototype)).constructor = v, s;\n  });\n})(D8);\nvar Que = D8.exports;\nconst efe = /* @__PURE__ */ Vc(Que), tfe = (e, t) => efe.parse(e, { download: !0, complete: t }), o1 = {\n  loadFile: tfe\n}, E8 = {\n  components: { PlotControls: qc },\n  props: {\n    metadata: {\n      type: Object,\n      required: !0\n    },\n    sourceData: {\n      type: Object,\n      required: !0\n    },\n    plotLayout: {\n      type: Object,\n      required: !0\n    },\n    supplementalData: {\n      type: Array,\n      required: !0\n    },\n    version: {\n      type: String,\n      required: !0\n    },\n    selectorUi: {\n      type: Boolean,\n      default: !0\n    }\n  },\n  data: function() {\n    return {\n      layout: {\n        paper_bgcolor: \"rgba(0,0,0,0)\",\n        plot_bgcolor: \"rgba(0,0,0,0)\",\n        autosize: !0,\n        margin: {\n          t: 25,\n          l: 55,\n          r: 55,\n          b: 90,\n          pad: 4\n        }\n      },\n      loading: !1,\n      options: {\n        responsive: !0,\n        scrollZoom: !0\n      }\n    };\n  },\n  computed: {\n    title() {\n      return this.sourceData.url.split(\"\\\\\").pop().split(\"/\").pop().split(\".\")[0];\n    }\n  }\n}, rfe = {\n  name: \"TimeseriesPlot\",\n  components: { PlotControls: qc, ElSelect: Vu, ElButton: Gc, ElOption: qu },\n  mixins: [E8],\n  data: function() {\n    return {\n      dataValues: co([]),\n      filterX: [],\n      parsedData: null,\n      time: co([]),\n      traceData: null,\n      traceNames: [],\n      xAxisLabel: \"time\"\n    };\n  },\n  computed: {\n    fullMetadata() {\n      let e = JSON.parse(JSON.stringify(this.metadata));\n      return e[\"y-axes-columns\"] || (e[\"y-axes-columns\"] = []), e[\"x-axis-column\"] || (e[\"x-axis-column\"] = 0), e[\"no-header\"] || (e[\"no-header\"] = !1), e[\"row-major\"] || (e[\"row-major\"] = !1), e;\n    }\n  },\n  watch: {\n    sourceData: function() {\n      this.loadData(this.sourceData);\n    }\n  },\n  mounted: function() {\n    this.loadData(this.sourceData);\n  },\n  methods: {\n    loadData(e) {\n      e.url ? (this.loading = !0, o1.loadFile(e.url, this.dataReady)) : Oc.react(this.$refs.plotlyplot, this.sourceData.data, this.plotLayout ? this.plotLayout : this.layout, this.options);\n    },\n    dataReady(e) {\n      const t = Date.now();\n      this.fullMetadata[\"no-header\"] && o1.loadFile(this.supplementalData[0].url, this.headerDataReady), this.loading = !1, this.parsedData = co(e), this.findYaxesCols(), this.populateTime(), this.populateDataValues(), this.fullMetadata[\"no-header\"] || (this.populateXaxisLabel(), this.populateTraceNames()), this.createPlot(this.time, this.xAxisLabel, this.dataValues, this.traceNames), console.log(Date.now() - t);\n    },\n    headerDataReady(e) {\n      this.traceData = co(e), this.populateXaxisLabel(), this.populateTraceNames(), this.loading || this.createPlot(this.time, this.xAxisLabel, this.dataValues, this.traceNames);\n    },\n    filterPlot() {\n      let e = this.filterX;\n      if (e.length === 0) {\n        this.createPlot(this.time, this.xAxisLabel, this.dataValues, this.traceNames);\n        return;\n      }\n      let t = [];\n      for (let a of e)\n        t.push(this.fullMetadata[\"y-axes-columns\"][this.traceNames.indexOf(a)]);\n      let r = this.parsedData.data;\n      this.fullMetadata[\"no-header\"] || (r = r.slice(1));\n      let n = [];\n      for (let a of t) {\n        const i = r.map((o) => o[a]);\n        n.push(i);\n      }\n      this.createPlot(this.time, this.xAxisLabel, n, e);\n    },\n    createPlot(e, t, r, n) {\n      let a = [];\n      for (let s = 0; s < r.length; s++)\n        a.push({\n          type: \"scatter\",\n          mode: \"lines\",\n          name: n[s],\n          x: e,\n          y: r[s]\n        });\n      let i = this.plotLayout ? this.plotLayout : this.layout, o = { title: { text: this.title }, xaxis: { title: { text: t } } }, l = { ...l1(i), ...o };\n      Oc.react(this.$refs.plotlyplot, a, l, this.options);\n    },\n    findYaxesCols() {\n      if (this.fullMetadata[\"y-axes-columns\"].length === 0) {\n        let e = Array(this.parsedData.data[0].length).keys();\n        e.shift(), e.shift(), this.fullMetadata[\"y-axes-columns\"] = e;\n      }\n    },\n    populateXaxisLabel() {\n      this.fullMetadata[\"no-header\"] ? this.xAxisLabel = this.traceData.data[0][this.fullMetadata[\"x-axis-column\"]] : this.xAxisLabel = this.parsedData.data[0][this.fullMetadata[\"x-axis-column\"]];\n    },\n    populateTraceNames() {\n      if (this.fullMetadata[\"no-header\"]) {\n        this.traceNames.splice(0, this.traceNames.length);\n        for (let e of this.fullMetadata[\"y-axes-columns\"])\n          this.traceNames.push(this.traceData.data[0][e]);\n        this.$set(this.traceNames, 0, this.traceNames[0]);\n      } else {\n        this.traceNames = [];\n        for (let e of this.fullMetadata[\"y-axes-columns\"])\n          this.traceNames.push(this.parsedData.data[0][e]);\n      }\n    },\n    populateTime() {\n      const e = this;\n      let t = this.parsedData.data;\n      this.fullMetadata[\"no-header\"] || (t = t.slice(1)), this.time = co(t.map(function(r) {\n        return r[e.fullMetadata[\"x-axis-column\"]];\n      }));\n    },\n    populateDataValues() {\n      let e = this.parsedData.data;\n      this.fullMetadata[\"no-header\"] || (e = e.slice(1));\n      let t = [];\n      for (let r of this.fullMetadata[\"y-axes-columns\"]) {\n        const n = e.map((a) => a[r]);\n        t.push(n);\n      }\n      this.dataValues = co(t);\n    }\n  }\n}, nfe = {\n  ref: \"plotContainer\",\n  class: \"container\"\n}, afe = {\n  ref: \"plotlyplot\",\n  class: \"vue-plotly\"\n};\nfunction ife(e, t, r, n, a, i) {\n  const o = qu, l = Vu, s = Gc, u = qc;\n  return At(), Xt(\"div\", nfe, [\n    cr(\"div\", afe, null, 512),\n    e.selectorUi ? (At(), Xt(\"div\", {\n      key: 0,\n      class: Vt([\"chooser-container\", { inactive: e.loading }])\n    }, [\n      cr(\"span\", null, [\n        Ar(l, {\n          ref: \"selectBox\",\n          modelValue: e.filterX,\n          \"onUpdate:modelValue\": t[0] || (t[0] = (f) => e.filterX = f),\n          class: \"channel-select\",\n          size: \"large\",\n          multiple: \"\",\n          filterable: \"\",\n          \"collapse-tags\": \"\",\n          \"default-first-option\": \"\",\n          teleported: !1,\n          placeholder: \"select\"\n        }, {\n          default: ir(() => [\n            (At(!0), Xt(wo, null, xu(e.traceNames, (f) => (At(), kr(o, {\n              key: f,\n              label: f,\n              value: f\n            }, null, 8, [\"label\", \"value\"]))), 128))\n          ]),\n          _: 1\n        }, 8, [\"modelValue\"])\n      ]),\n      cr(\"span\", null, [\n        Ar(s, {\n          class: \"view-heatmap-button\",\n          onClick: i.filterPlot\n        }, {\n          default: ir(() => [\n            rs(\"Filter plot\")\n          ]),\n          _: 1\n        }, 8, [\"onClick\"])\n      ])\n    ], 2)) : Fr(\"\", !0),\n    Ar(u, {\n      ref: \"controls\",\n      \"parent-element\": { element: e.$refs.plotContainer },\n      \"controls-enabled\": !e.loading\n    }, null, 8, [\"parent-element\", \"controls-enabled\"])\n  ], 512);\n}\nconst ofe = /* @__PURE__ */ np(rfe, [[\"render\", ife], [\"__scopeId\", \"data-v-ab61b52c\"]]), lfe = {\n  name: \"HeatmapPlot\",\n  components: {\n    PlotControls: qc,\n    ElSelect: Vu,\n    ElOption: qu,\n    ElCollapse: g5,\n    ElCollapseItem: y5,\n    ElButton: Gc,\n    ElPopover: z1\n  },\n  mixins: [E8],\n  data: function() {\n    return {\n      columnHeaders: [],\n      rowHeaders: [],\n      dataValues: co([]),\n      filterX: [],\n      filterY: [],\n      loading: !1,\n      logScale: !1,\n      logDataValues: co([])\n    };\n  },\n  computed: {\n    fullMetadata() {\n      let e = JSON.parse(JSON.stringify(this.metadata));\n      return e.columnHeaderSize || (e.columnHeaderSize = 1), e.columnHeaderIndex || (e.columnHeaderIndex = 0), e.rowHeaderSize || (e.rowHeaderSize = 1), e.rowHeaderIndex || (e.rowHeaderIndex = 0), e;\n    },\n    logScaleEnabled() {\n      return !!JSON.parse(JSON.stringify(this.metadata)).logScale;\n    },\n    plotTitle() {\n      return this.logScale ? this.title + \" (Log scale)\" : this.title;\n    }\n  },\n  watch: {\n    sourceData: function() {\n      this.loadData(this.sourceData);\n    }\n  },\n  mounted: function() {\n    this.loadData(this.sourceData);\n  },\n  methods: {\n    loadData(e) {\n      e.url ? (this.loading = !0, o1.loadFile(e.url, this.dataReady)) : Oc.react(this.$refs.plotlyplot, this.sourceData.data, this.sourceData.layout ? this.sourceData.layout : this.layout, this.options);\n    },\n    dataReady(e) {\n      this.loading = !1;\n      const t = e;\n      this.populateColumnHeaders(t), this.populateRowHeaders(t), this.populateDataValues(t), this.logScaleEnabled ? (this.logValues(), this.logScale = !0, this.createPlot(this.columnHeaders, this.rowHeaders, this.logDataValues, \"heatmap\")) : this.createPlot(this.columnHeaders, this.rowHeaders, this.dataValues, \"heatmap\");\n    },\n    logValues() {\n      this.dataValues.forEach((e, t) => {\n        this.logDataValues.push([]), e.forEach((r) => {\n          this.logDataValues[t].push(Math.log10(r));\n        });\n      });\n    },\n    logToggle() {\n      this.logScale ? (this.logScale = !1, this.createPlot(this.columnHeaders, this.rowHeaders, this.dataValues, \"heatmap\")) : (this.logScale = !0, this.createPlot(this.columnHeaders, this.rowHeaders, this.logDataValues, \"heatmap\"));\n    },\n    filterPlot() {\n      let e = this.filterX, t = this.filterY;\n      if (e.length === 0 && t.length === 0) {\n        this.createPlot(this.columnHeaders, this.rowHeaders, this.dataValues, \"heatmap\");\n        return;\n      }\n      e.length === 0 && (e = this.columnHeaders), t.length === 0 && (t = this.rowHeaders);\n      let r = [];\n      for (let i of e)\n        r.push(this.columnHeaders.indexOf(i));\n      let n = [];\n      for (let i of t)\n        n.push(this.rowHeaders.indexOf(i));\n      let a = [];\n      for (let i of r) {\n        const o = this.dataValues.map((s) => s[i]);\n        let l = [];\n        for (let s of n)\n          l.push(o[s]);\n        a.push(l);\n      }\n      a = a[0].map((i, o) => a.map((l) => l[o])), this.createPlot(e, t, a, \"heatmap\");\n    },\n    createPlot(e, t, r, n) {\n      var a = [\n        {\n          x: e,\n          y: t,\n          z: r,\n          type: n\n        }\n      ];\n      const i = { title: { text: this.plotTitle } };\n      Oc.react(this.$refs.plotlyplot, a, { ...this.layout, ...i, ...this.plotLayout }, this.options);\n    },\n    populateColumnHeaders(e) {\n      let r = [...e.data[this.fullMetadata.columnHeaderIndex]];\n      this.columnHeaders = r.slice(this.fullMetadata.rowHeaderSize);\n    },\n    populateRowHeaders(e) {\n      const r = e.data.map((n) => n[this.fullMetadata.rowHeaderIndex]);\n      this.rowHeaders = r.slice(this.fullMetadata.columnHeaderSize);\n    },\n    populateDataValues(e) {\n      const r = e.data.slice(this.fullMetadata.columnHeaderSize);\n      this.dataValues = co(r.map((n) => n.slice(this.fullMetadata.rowHeaderSize)));\n    }\n  }\n}, sfe = {\n  ref: \"plotContainer\",\n  class: \"container\"\n}, ufe = {\n  ref: \"plotlyplot\",\n  class: \"vue-plotly\"\n}, ffe = { key: 0 };\nfunction cfe(e, t, r, n, a, i) {\n  const o = qu, l = Vu, s = Gc, u = qc;\n  return At(), Xt(\"div\", sfe, [\n    cr(\"div\", ufe, null, 512),\n    e.selectorUi ? (At(), Xt(\"div\", {\n      key: 0,\n      class: Vt([\"chooser-container\", { inactive: e.loading }])\n    }, [\n      cr(\"span\", null, [\n        Ar(l, {\n          modelValue: e.filterX,\n          \"onUpdate:modelValue\": t[0] || (t[0] = (f) => e.filterX = f),\n          class: \"channel-select\",\n          multiple: \"\",\n          filterable: \"\",\n          \"collapse-tags\": \"\",\n          \"default-first-option\": \"\",\n          placeholder: \"select\"\n        }, {\n          default: ir(() => [\n            (At(!0), Xt(wo, null, xu(e.columnHeaders, (f) => (At(), kr(o, {\n              key: f,\n              label: f,\n              value: f\n            }, null, 8, [\"label\", \"value\"]))), 128))\n          ]),\n          _: 1\n        }, 8, [\"modelValue\"])\n      ]),\n      cr(\"span\", null, [\n        Ar(l, {\n          modelValue: e.filterY,\n          \"onUpdate:modelValue\": t[1] || (t[1] = (f) => e.filterY = f),\n          class: \"channel-select\",\n          multiple: \"\",\n          filterable: \"\",\n          \"collapse-tags\": \"\",\n          \"default-first-option\": \"\",\n          placeholder: \"select\"\n        }, {\n          default: ir(() => [\n            (At(!0), Xt(wo, null, xu(e.rowHeaders, (f) => (At(), kr(o, {\n              key: f,\n              label: f,\n              value: f\n            }, null, 8, [\"label\", \"value\"]))), 128))\n          ]),\n          _: 1\n        }, 8, [\"modelValue\"])\n      ]),\n      cr(\"span\", null, [\n        Ar(s, {\n          class: \"view-heatmap-button\",\n          onClick: i.filterPlot\n        }, {\n          default: ir(() => [\n            rs(\"Filter plot\")\n          ]),\n          _: 1\n        }, 8, [\"onClick\"])\n      ]),\n      i.logScaleEnabled ? (At(), Xt(\"span\", ffe, [\n        Ar(s, {\n          class: \"view-heatmap-button\",\n          onClick: i.logToggle\n        }, {\n          default: ir(() => [\n            rs(\"Toggle log\")\n          ]),\n          _: 1\n        }, 8, [\"onClick\"])\n      ])) : Fr(\"\", !0)\n    ], 2)) : Fr(\"\", !0),\n    Ar(u, {\n      \"parent-element\": { element: e.$refs.plotContainer },\n      \"controls-enabled\": !e.loading\n    }, null, 8, [\"parent-element\", \"controls-enabled\"])\n  ], 512);\n}\nconst dfe = /* @__PURE__ */ np(lfe, [[\"render\", cfe], [\"__scopeId\", \"data-v-e71fb8c3\"]]), hfe = [\"1.2.0\", \"1.1.0\"], vfe = {\n  name: \"PlotVuer\",\n  components: {\n    TimeseriesPlot: ofe,\n    HeatmapPlot: dfe\n  },\n  props: {\n    /**\n     * The object with `url` property\n     * where the `url` is the source url to load the data.\n     */\n    dataSource: {\n      type: Object,\n      required: !0,\n      default: () => {\n      }\n    },\n    /**\n     * The metadata object\n     * with `version`, `type`, and `attrs` properties.\n     */\n    metadata: {\n      type: Object,\n      required: !0,\n      validator: function(e) {\n        return hfe.includes(e.version) && e.type === \"plot\";\n      }\n    },\n    /**\n     * The plotLayout for UI.\n     */\n    plotLayout: {\n      type: Object,\n      /**\n       * `{\n       * paper_bgcolor: 'rgba(0,0,0,0)',\n          plot_bgcolor: 'rgba(0,0,0,0)',\n          autosize: true,\n          margin: {\n            t: 25,\n            l: 55,\n            r: 55,\n            b: 90,\n            pad: 4\n          },\n          loading: false,\n          options: {\n            responsive: true,\n            scrollZoom: true\n          }\n       * }`\n       */\n      default: () => ({\n        paper_bgcolor: \"rgba(0,0,0,0)\",\n        plot_bgcolor: \"rgba(0,0,0,0)\",\n        autosize: !0,\n        margin: {\n          t: 25,\n          l: 55,\n          r: 55,\n          b: 90,\n          pad: 4\n        },\n        loading: !1,\n        options: {\n          responsive: !0,\n          scrollZoom: !0\n        }\n      })\n    },\n    /**\n     * The supplemental data to load.\n     */\n    supplementalData: {\n      type: Array,\n      default: () => []\n    },\n    /**\n     * The option to choose helpMode.\n     */\n    helpMode: {\n      type: Boolean,\n      default: !1\n    },\n    /**\n     * The option to show the selector UI.\n     */\n    selectorUi: {\n      type: Boolean,\n      default: !0\n    }\n  },\n  computed: {\n    plotType: function() {\n      return this.metadata.attrs.style + \"-plot\";\n    },\n    layout: function() {\n      return this.metadata ? this.metadata.attrs ? this.metadata.attrs.layout ? this.metadata.attrs.layout : this.plotLayout : this.plotLayout : this.plotLayout;\n    }\n  }\n}, pfe = { class: \"plotvuer_parent\" };\nfunction mfe(e, t, r, n, a, i) {\n  return At(), Xt(\"div\", pfe, [\n    i.plotType != \"-plot\" ? (At(), kr(bo(i.plotType), {\n      key: 0,\n      sourceData: r.dataSource,\n      plotLayout: i.layout,\n      version: r.metadata.version,\n      metadata: r.metadata.attrs,\n      selectorUi: r.selectorUi,\n      supplementalData: r.supplementalData\n    }, null, 8, [\"sourceData\", \"plotLayout\", \"version\", \"metadata\", \"selectorUi\", \"supplementalData\"])) : Fr(\"\", !0)\n  ]);\n}\nconst yfe = /* @__PURE__ */ np(vfe, [[\"render\", mfe], [\"__scopeId\", \"data-v-72189ced\"]]);\nexport {\n  yfe as PlotVuer\n};\n"],
  "mappings": "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AE,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;AAC9b,SAAO,KAAK,IAAI,IAAI,GAAGA,IAAE,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,EAAE,KAAK,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",
  "names": ["e", "e6", "e8", "e3"]
}